From patchwork Thu Sep 9 21:27:43 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: David Faust X-Patchwork-Id: 1526325 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=gcc.gnu.org header.i=@gcc.gnu.org header.a=rsa-sha256 header.s=default header.b=kCd/YbDt; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=gcc.gnu.org (client-ip=8.43.85.97; helo=sourceware.org; envelope-from=gcc-patches-bounces+incoming=patchwork.ozlabs.org@gcc.gnu.org; receiver=) Received: from sourceware.org (server2.sourceware.org [8.43.85.97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 4H5BwT1nmsz9sW8 for ; Fri, 10 Sep 2021 07:29:27 +1000 (AEST) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 79DD2384A898 for ; Thu, 9 Sep 2021 21:29:23 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 79DD2384A898 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1631222963; bh=BxRuIt0wr4ZCey5Mo800s1Kd2UIl9bJZ0aDjxyEmz3A=; h=To:Subject:Date:List-Id:List-Unsubscribe:List-Archive:List-Post: List-Help:List-Subscribe:From:Reply-To:From; b=kCd/YbDt+Rxi6oekfmYOxgqC6d11fEJfD6DsN1qpxrGoNHLCxsa76oohzd/kpk+7f oKLMAJLjQk+olNjM8etjry34PU4N6gxw1WurCkJE0Urr96DsEfIqT7IPAqVQouc69U 73rtME+CFY/PFWBjIgpVe5hB6OOxNZCWpS0v/XBw= X-Original-To: gcc-patches@gcc.gnu.org Delivered-To: gcc-patches@gcc.gnu.org Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by sourceware.org (Postfix) with ESMTPS id C43E13858C2C for ; Thu, 9 Sep 2021 21:28:39 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org C43E13858C2C Received: from pps.filterd (m0246629.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.16.1.2/8.16.1.2) with SMTP id 189K4aFe021486 for ; Thu, 9 Sep 2021 21:28:38 GMT Received: from aserp3030.oracle.com (aserp3030.oracle.com [141.146.126.71]) by mx0b-00069f02.pphosted.com with ESMTP id 3ayfrpt0cp-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Thu, 09 Sep 2021 21:28:38 +0000 Received: from pps.filterd (aserp3030.oracle.com [127.0.0.1]) by aserp3030.oracle.com (8.16.0.42/8.16.0.42) with SMTP id 189LGIh8012277 for ; Thu, 9 Sep 2021 21:28:37 GMT Received: from nam02-dm3-obe.outbound.protection.outlook.com (mail-dm3nam07lp2043.outbound.protection.outlook.com [104.47.56.43]) by aserp3030.oracle.com with ESMTP id 3axcpqtd3d-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Thu, 09 Sep 2021 21:28:37 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=KGYLZSOGGkXR3pCiT0vlA+lHxMFXs9hbPgcT6Aynyv5qQV735uiGT+ApwnjwmrCj99jZBNOe4+aBe8HdvK8UbPYDDDRBqZqeJ7LUF5NqEM7hZJob4ToccnJFGKae0Mu+QypxomktEzS79Fqq7SZTEfKJpcNrehRw9/9jpnGlQtFu3hWnCR+G3hOjELH/cbbu9Rt/UpFFt5Q124DHE+QVcs+QBwqbypp02ejdSzToGZu7GTrlvwIPxZkljuzzWCgjymtGX54tV4kadpaTaq6UYK32HTV4Myy2BufoIK+TINNE4JqeGKVSMY9fHkdR9l8Ua5wAaXVzbnQoWjT0pApbsA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=BxRuIt0wr4ZCey5Mo800s1Kd2UIl9bJZ0aDjxyEmz3A=; b=cjanDRgzCdzDQoAdNRuRdEqtc8E+I7l0cPhoUdgAC+7GvMcHL6jvUtSXjOl3pt7Y4BqCjdbNW3eQfdAjeqFXPeh3uZNCnEdtP2fia9TPjZKamQUhKeqphNq08psHgrfQnThkIIYU5oFmym8mLg4oZUbgIg/3WkpUahyyn0EqVvJIHCDOdOpguxdAegq19AzdqfTZOHZ7lXHjJJt4MqgDvneO56qFjCfFL2ZCsUuhr73tb0V1F3n0iKx4HWacvI9P6JC5GijiTApWw3+8t5Fwzeg0VXd9MSO4XIRQZbw2X/k9s3oTtsLu09BT6POhF0HdtEB7oq3w6UsrZ1Kz4CkkjA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none Received: from SA2PR10MB4458.namprd10.prod.outlook.com (2603:10b6:806:f8::24) by SA2PR10MB4555.namprd10.prod.outlook.com (2603:10b6:806:115::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4500.16; Thu, 9 Sep 2021 21:28:36 +0000 Received: from SA2PR10MB4458.namprd10.prod.outlook.com ([fe80::1493:70de:28e4:3d3e]) by SA2PR10MB4458.namprd10.prod.outlook.com ([fe80::1493:70de:28e4:3d3e%4]) with mapi id 15.20.4500.017; Thu, 9 Sep 2021 21:28:36 +0000 To: gcc-patches@gcc.gnu.org Subject: [PATCH] bpf: correct zero_extend output templates Date: Thu, 9 Sep 2021 14:27:43 -0700 Message-Id: <20210909212743.11186-1-david.faust@oracle.com> X-Mailer: git-send-email 2.31.1 X-ClientProxiedBy: BYAPR06CA0057.namprd06.prod.outlook.com (2603:10b6:a03:14b::34) To SA2PR10MB4458.namprd10.prod.outlook.com (2603:10b6:806:f8::24) MIME-Version: 1.0 Received: from sequence.us.oracle.com (2606:b400:8301:1041::12) by BYAPR06CA0057.namprd06.prod.outlook.com (2603:10b6:a03:14b::34) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4500.14 via Frontend Transport; Thu, 9 Sep 2021 21:28:35 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 74d25495-473f-4d04-3d62-08d973d8c823 X-MS-TrafficTypeDiagnostic: SA2PR10MB4555: X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:7219; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 8XDMTBbcG3I09TwE1NCH/mbiVN6l4S+8IQ7hbhDM2j3jQyeGKeFsoy1VccvDYrczl/MutNbYs4NZdW3U133UYNCS/Z2gys4WNs0puIKh2k3m2ZeEOPfyfxgJxpBeSRB4bGP5GyQcDhI0fzIULoDr5brq8SscoOe7sldkC/f/8+33sIXm40Z0xMZgMd2CTFGTc+JHkmV2CxnMr+joHQ32+YJsE8ml6cOo/8DED4VeDNYMW007Rh4aUQaWFp9aRzza/EUaE0rTjLX2WSgstBTovfAqIhU7nBznE1PcPA/vTLMiHo/sHx2SW/hfWDfo9Th3zCuCcc60X7cdo6y0cI1jMxBdYXJB8g1Om7+PWrZCelK48sdIlrPybLZiZcxHxpfEZX3lQAQqqxxrVZuOYNdLgrlxrQbYow/HeSDFsTilCE/D4CFSu6e/1VuMR4gZk6D5ym1QWY1iC4tg1Ds5UJgSbIg7J/cUugs/rdNNwXYQMxSh0REKJn6o0dMfYHbAVzJRWDeUZvGOS7mIxsz28katGfPMeMzpZsok/S8lw7yNT14P8d/woRS8IQ3EmxS4aDR6gRuDN7NV09GmAoYiWOeMmlKUZwsPmPJOBaaOg0QNYJnv4gZMtXJQUGR8nCmRwPS4OA7qbqMGnszC+6AYdp8Xtg== X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:SA2PR10MB4458.namprd10.prod.outlook.com; PTR:; CAT:NONE; SFS:(366004)(83380400001)(36756003)(44832011)(316002)(52116002)(86362001)(2906002)(38100700002)(6916009)(8936002)(186003)(5660300002)(8676002)(6666004)(508600001)(66476007)(66556008)(7696005)(2616005)(66946007)(1076003)(6486002); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: cZROt0QB5MspnMp7BK3vbA/7R347S+tJTM7/xroIfz2ZU6VjoWZ9B7jKLcibSMk5FzIr4+rIzXcfXmBQmVkX4+X4sSLamZHHCzWqp4+ZgsGNaOjga/dCQEdedLwdP1cEP4M4GU6uk50lD+t++dpsI2A5azPiuDizrs4JX1+RrvqaPHLqxeKvSUVTD99pL3QTiDEF7unS9oupiYF1+s+71+cwGL6lTskSbtZxcURAvw5ZATiUacPZMpT8bu5E/vXz3VD5ut6As2GtfoM0lh2jpOc51zNMwgsZYuJRaoJs3KgOhH1DogWS6PY09Z69ovdjlLsiojKqmy6gv8yBESP+zjOjCKTB372pjtQrUtowgVApyGJuErnB8+KJYzi7VCEZiwvtf2TM8CY+D5aBziO4/RUKStV9ZCld2JETG7BBtWlZgIK4oZcE84vtWsEjUkLjxujBSHizuFIeSe2ApmfkJp2CMnsECqpJ8Ms2td9j8zk2UjQZTnpmQpHf4eAfc8pCMaKqS4D7gYAgmqHWo1t6J8Npt5sv1qTYRosrxCERFiCC1PJ06dZQGVLH0UagLiI138/5LVRPZI0klp8Zkh4ea0xQWzQHzg67ULldPlFkt8/VzVNz+IFrtJL4Ez6apwaLHMr/OuApwo8mJTh10SPQgsmYZOmdm4f3GLQE7ATL3MtZcdmo1XoGtWTk3FaA5IEh1swp/n/wBz5sQazeM3LzBoLNhXnMhCtWYyTgcOP3ehXk7RvBxkluDLOmLhPyNkmjDUSjk2DeRWGo6rLPkvsqUAgdVVKOkY6/YBzS9sAqW4qJJfmsjd+J+GqE1FHYVxBmqpTnmw3/R3l/w2kGnKeM44i3MuBy4WjfF0HunPKBC4ZkHguekpzwqFWXMr9nfMuYU9Ay/Ga3losbnSttmbtCAAbzjfKfkghORdC75FZ7zdvihCVlPFo9fJmRzXtwEMGrxhWs2TwF80c0wZQn4G3gKPvyQX6iIiNyV4f0uTtP/A8u596ZIjLX+Wh3wqMrBmFJ9lQF3cfdxT0tt0ekFkG8+sGZE0mhBYloADpUyfkLN8epFIa0hpOsuVuHGqbl0dogRcDzscdGdK51oZo/sVLpstYCqn+qQlxaCLDnmCjYq8SGJMdzaSRx7LK9xHzvHeUFXLzOO8fExpi9aCR5LqpKkQUFwe1ywrxIG8SMhPwMMbCXckvzM8P/pGNCoNbvkS7c/jdqhi66klsH8d54FSf+TZbewIrKMpM3VOF3dAkDhEfNIlQrcHklRQbrO5vRiJIniAIRgazhZCpIxHmol6uhPcyfGc5LgQtiahd7JZW4sC+7Vgt71aA0+Gjcmt6/BI4dR1jXGPhKt++oOK6F13fMCA== X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 74d25495-473f-4d04-3d62-08d973d8c823 X-MS-Exchange-CrossTenant-AuthSource: SA2PR10MB4458.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Sep 2021 21:28:35.9081 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: xEBf2SA9sizX4OmKdGGdaVSa1TmRSWTzZoTP9yb69A+23B45kYs8mFWEUpBquw+jPkRxW+R3niPHAA3pas3BuQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA2PR10MB4555 X-Proofpoint-Virus-Version: vendor=nai engine=6300 definitions=10102 signatures=668682 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 mlxlogscore=999 bulkscore=0 suspectscore=0 mlxscore=0 phishscore=0 malwarescore=0 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2109030001 definitions=main-2109090131 X-Proofpoint-GUID: HOgV7nT1YQveSPyd3ohRZWApzEq5rEH2 X-Proofpoint-ORIG-GUID: HOgV7nT1YQveSPyd3ohRZWApzEq5rEH2 X-Spam-Status: No, score=-13.7 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, MSGID_FROM_MTA_HEADER, RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H2, SPF_HELO_NONE, SPF_NONE, TXREP autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: gcc-patches@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: David Faust via Gcc-patches From: David Faust Reply-To: David Faust Errors-To: gcc-patches-bounces+incoming=patchwork.ozlabs.org@gcc.gnu.org Sender: "Gcc-patches" The output templates for zero_extendhidi2 and zero_extendqidi2 could lead to incorrect code generation when zero-extending one register into another. This patch adds a new output template to the define_insns to handle such cases and produce correct asm. gcc/ChangeLog: * config/bpf/bpf.md (zero_extendhidi2): Add new output template for register-to-register extensions. (zero_extendqidi2): Likewise. --- gcc/config/bpf/bpf.md | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/gcc/config/bpf/bpf.md b/gcc/config/bpf/bpf.md index 03830cc250e..c51add728ef 100644 --- a/gcc/config/bpf/bpf.md +++ b/gcc/config/bpf/bpf.md @@ -241,22 +241,24 @@ ;; the ldx{bhwdw} instructions to load the values in registers. (define_insn "zero_extendhidi2" - [(set (match_operand:DI 0 "register_operand" "=r,r") - (zero_extend:DI (match_operand:HI 1 "nonimmediate_operand" "r,m")))] + [(set (match_operand:DI 0 "register_operand" "=r,r,r") + (zero_extend:DI (match_operand:HI 1 "nonimmediate_operand" "0,r,m")))] "" "@ and\t%0,0xffff + mov\t%0,%1\;and\t%0,0xffff ldxh\t%0,%1" - [(set_attr "type" "alu,ldx")]) + [(set_attr "type" "alu,alu,ldx")]) (define_insn "zero_extendqidi2" - [(set (match_operand:DI 0 "register_operand" "=r,r") - (zero_extend:DI (match_operand:QI 1 "nonimmediate_operand" "r,m")))] + [(set (match_operand:DI 0 "register_operand" "=r,r,r") + (zero_extend:DI (match_operand:QI 1 "nonimmediate_operand" "0,r,m")))] "" "@ and\t%0,0xff + mov\t%0,%1\;and\t%0,0xff ldxb\t%0,%1" - [(set_attr "type" "alu,ldx")]) + [(set_attr "type" "alu,alu,ldx")]) (define_insn "zero_extendsidi2" [(set (match_operand:DI 0 "register_operand" "=r,r")