From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by sourceware.org (Postfix) with ESMTPS id BD44B385743D for ; Thu, 9 Sep 2021 21:37:06 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org BD44B385743D Received: from pps.filterd (m0246630.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.16.1.2/8.16.1.2) with SMTP id 189LTQY8030150 for ; Thu, 9 Sep 2021 21:37:06 GMT Received: from userp3020.oracle.com (userp3020.oracle.com [156.151.31.79]) by mx0b-00069f02.pphosted.com with ESMTP id 3ayf8aa5nh-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Thu, 09 Sep 2021 21:37:06 +0000 Received: from pps.filterd (userp3020.oracle.com [127.0.0.1]) by userp3020.oracle.com (8.16.0.42/8.16.0.42) with SMTP id 189LYsts025355 for ; Thu, 9 Sep 2021 21:37:04 GMT Received: from nam12-mw2-obe.outbound.protection.outlook.com (mail-mw2nam12lp2042.outbound.protection.outlook.com [104.47.66.42]) by userp3020.oracle.com with ESMTP id 3axst62f03-3 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Thu, 09 Sep 2021 21:37:04 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=GBviMEw0b72WS08Lre9vOYcdHheNoyx2l58nXzdpAsq7h673E4Vpy96lWibGvo926kwYNUaLFgcCoNi7hRtuHtieN6jLDHprof1O05BtGSyXerVwm/jkYYJbrYFjfCNC4m2Opc0E/djPY9koNSRcOHJ627Jp34sZNBwtF//jmdp8hu0KJmKBuT3X/CzmYuMA0zF1Gs2ZDhFPMdcglqqct+xCMn3S7mC5HonQgcItt56OFFExHS48IqBWTags5tGAA6O3PDiBpLzwuyog6Sb74AMASoG8hDgVBGSptRDdnTNZK57dEFd0pWSJ6lr7jexNXUhRftjs5klKyS2DLA7Myw== 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=t7kpsn0euIkba8fxlN/qtXapYX33jMrJYnV0OqzBPCw=; b=Hd3kqEBpKs3PvKwHf4Ft7tw0Ly/ZyxKTTrObKcJvNInm2Y0u/GNRIHl1Td0AghzjqpSUpQxc1dOL0gY06Xb67OgSffEravvdD8tNLC8yeztO3aU8VbVplrqwNitqrgmajIuopa+IVDOqqGBX7+g+anUSoKXd4rYkOeS1jr1+cCsux07Zud4Tsqmc5Tn6qnzjBac3Rsqkjkdku9eMoXLFozMyLuIvPvnDCedyD4ZeSJtEUGClc9y0+PNZEioNXcwa8h/U5hCKUvbIy75rlJMR8EYUfEN9bcO5KI7o/+bRUCJAPWtEiKyR0L7nZ0i44y87p/+wZF5nOYhpQduFoIGyIg== 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 SN6PR10MB2607.namprd10.prod.outlook.com (2603:10b6:805:4e::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4500.17; Thu, 9 Sep 2021 21:37:02 +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:37:02 +0000 From: David Faust To: gcc-patches@gcc.gnu.org Subject: [PATCH 2/3] bpf testsuite: add tests for new feature options Date: Thu, 9 Sep 2021 14:36:44 -0700 Message-Id: <20210909213645.11605-3-david.faust@oracle.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20210909213645.11605-1-david.faust@oracle.com> References: <20210909213645.11605-1-david.faust@oracle.com> Content-Transfer-Encoding: 8bit Content-Type: text/plain X-ClientProxiedBy: SN4PR0401CA0042.namprd04.prod.outlook.com (2603:10b6:803:2a::28) 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 SN4PR0401CA0042.namprd04.prod.outlook.com (2603:10b6:803:2a::28) 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:37:02 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: b9084a63-b490-4008-fcfb-08d973d9f635 X-MS-TrafficTypeDiagnostic: SN6PR10MB2607: X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:416; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 4ycZLumBmtZwerDdJonJpxRr6mg5D4OfBLOw3YFO5M23SV65bsmKBtqy7pYwkpaXDTZOm30x17GhGQlpkmDwt7bwjuIa8jI2UQNHHzqo7bk1dDwJwu3OKi5IEl3DyWzk3FzwIaAIT8qRXZWF9ZKsOT4hN0W9c9liCBlr0VEn/IlOPn45cPEJlkC3GsstRVc09W6TqL/9p98OCgEp4Mx6u+logWuSqjR8HJsSkIf9DSJGA4+iOL+x5JEOnrapX4KTCVs2S4Gdx3YIhurFPmb9nrXKpMx7x/bEgb3mNhXyQ0+aVIjxrJLhLpYBu+Bz4NO2AywTH/AXWnVPd47nIYgONi7YrW52Bx2Pat7fzJee+iwxdaOZIFYxw2orqjeypvCxtEeI6NOyZp8b8x48PXs3itudUGeJDyplhgzTCcd6vuKiLANVRJR7eQ/XxYvPHOIcbFqSiNvHyoS+eopAZbKwldVobP5iE8FvtOle51iL0pPEjtuHG2N3sFJKxHXVy4ykVSiA58/sfx9AZWkJZ81XvlzzrpvP+qDQLTTtPi4j+o+WXsO6DN3kooJhhBh2xWxhD+Q2P1kOzKwpSR+9Ui/7zG73IGHCr7nUOgbDG5edm5OEXmpXVwzh02dd2lKCeHMnUWc2aiCFXr2eCLSBmwwBe07zosVSPdmpetMUtJneGw//ObGdj6Czb2fopgXDUZFHyDNYbSInicCdEzIxS0TR8aUnlkiDqLKx/B1l8DVPXC6oIDofz1okpzN5klJ8ecPhp4R+UG60o5bTaCDPeLT6xA== 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:(39860400002)(396003)(346002)(376002)(136003)(366004)(2616005)(36756003)(316002)(86362001)(6666004)(52116002)(7696005)(478600001)(66946007)(66476007)(8676002)(38100700002)(8936002)(2906002)(44832011)(1076003)(186003)(5660300002)(6916009)(66556008)(6486002); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?BEYACm2zKhdUP6jjd6tuSxPbxgWyhkTac7mFnPhs/xHHGPmLLWla56HacM/P?= =?us-ascii?Q?HOcil9ESVASr+c4pgSFUQl4kbMCKcCuuaY9BW6TpTd9hmKX8n3oD38TAduL6?= =?us-ascii?Q?f+8tEJwGdMm5kxGRNsfFlpSdL5lLzKvqLCVS1UydnSjpNyXR8SlbBUyq1i5k?= =?us-ascii?Q?cTLJTXfmJgZ+LkYFXBPdWC2ABSGd+ka6yN2sJ6tGkNrbyRhC3hZ9ULmhTZ68?= =?us-ascii?Q?vZMoEVwgfdyayWLevoiqweYH75s5oXcfatIpZEt1DIPKyeAlYoP9lEY1wjEz?= =?us-ascii?Q?M5+jbvNrY0V/lWwueQDQ+Ksxik5lZNjkWyi5a3esPXBeDb3lUEVVL3HNpvVj?= =?us-ascii?Q?EyUnTGHY1fF4PMrHplIeukuIpxAEgrkTbzM7Xb/8dYJWhrlLTF3qGqQtGxKh?= =?us-ascii?Q?cNnTYLBIu2VUBAAjKh2NPwf1TyEAC7uvdTFEpmpfYCcnVAB3yK2KA7yVzuXb?= =?us-ascii?Q?c8SWDpRsXOlyHmWpj1ufzn7fcP0bDNMf+C2WMx07+7MjTi2TjNJK4pQds92c?= =?us-ascii?Q?0IMEzQQ5AOtoT/ybI1aVX03htUL3sanGmhe1UaMlTd1R1yJ9rEkuBXv0gfyx?= =?us-ascii?Q?VOBQWmtFIEs9EsGcJN8vr9w9x6/bCmiGow9WOqz7LSiEHtd2ZI0w2+kZfyKl?= =?us-ascii?Q?XUc50WMUeNAbNN6cTU9so+bMIjcuq7Ect7KirwMku39vZiJJvOJY81kJURcU?= =?us-ascii?Q?YmYwFZ0AEQ48/57RK/xDLBwrrWpiH6vJsu51bJMdXKqd+liWqr8GOB/XNv+t?= =?us-ascii?Q?4+5DG3S836U+ux7qNrzeeMjc3KCCPVITH+iuvb8rkpHEaXhI24Xz1SNXNEKv?= =?us-ascii?Q?JwULGsQ6ZXYVbFbL7lutYoKpyHBxoSekvkecwGOgZFHmem4AkxXh0xmKzfTq?= =?us-ascii?Q?fQShKRIkqWzVZS5A/ssH21lLfHyP7AYOo28snDtpsLNL4VzuhOfXRO2bm0Kd?= =?us-ascii?Q?aCTVNCt5KkCO0aA3Q6wmau+yoXKi1LDdQDmNmoZzL+jxlFDvRYiq7JaB+7ie?= =?us-ascii?Q?EGjZxCZkCRs7L2kd8TobFHig+Y4wAkwfXwBxLVD7NS9XB00jiEhzWm1R1Yah?= =?us-ascii?Q?Cr1rAXMchn3sJEhx6Mb36ZGM4kVPh5+pqeV9v+vxGad9MYaLZWDJFfvKXXJo?= =?us-ascii?Q?kZL+pU3vbpgW8rIRRvVez86Dwmyhx2TPK6kxUWa9Y7rKvfxPihFeIm9YrpBI?= =?us-ascii?Q?KKVqPhdH3kd6WAV75B9ZnB+n6ZbFPHp+Y4wBrt2xHNuDGrA7dmzs+2EQqFtl?= =?us-ascii?Q?29aDIBMveiez4/p07ws7Lc+OghrXZx6/aT2ty6VSXGBthcrJNKvk6VNDhHCD?= =?us-ascii?Q?fWPCpj5Ld46Ckd2uxFOlbKASvgEQJeUANsdOFrpyO1lP3Q=3D=3D?= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: b9084a63-b490-4008-fcfb-08d973d9f635 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:37:02.6731 (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: PYBu4tcs0gKBt6K1G6/QSXNfT+ZsQeqsfwQ3TzohkaCS56jMZA/RwKwbnu9DKO35O62hqckND813ls0Pgfrnwg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN6PR10MB2607 X-Proofpoint-Virus-Version: vendor=nai engine=6300 definitions=10102 signatures=668682 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 phishscore=0 bulkscore=0 mlxlogscore=999 malwarescore=0 spamscore=0 mlxscore=0 suspectscore=0 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2109030001 definitions=main-2109090132 X-Proofpoint-ORIG-GUID: iJgEnoz2DIeokWr1eLDMpkrIvttA5oWo X-Proofpoint-GUID: iJgEnoz2DIeokWr1eLDMpkrIvttA5oWo X-Spam-Status: No, score=-13.3 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, KAM_SHORT, 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-List-Received-Date: Thu, 09 Sep 2021 21:37:08 -0000 This commit adds tests for the new -mjmpext, -mjmp32 and -malu32 feature options in the BPF backend. gcc/testsuite/ChangeLog: * gcc.target/bpf/alu-1.c: New test. * gcc.target/bpf/jmp-1.c: New test. --- gcc/testsuite/gcc.target/bpf/alu-1.c | 56 +++++++++++++++++++++++++++ gcc/testsuite/gcc.target/bpf/jmp-1.c | 57 ++++++++++++++++++++++++++++ 2 files changed, 113 insertions(+) create mode 100644 gcc/testsuite/gcc.target/bpf/alu-1.c create mode 100644 gcc/testsuite/gcc.target/bpf/jmp-1.c diff --git a/gcc/testsuite/gcc.target/bpf/alu-1.c b/gcc/testsuite/gcc.target/bpf/alu-1.c new file mode 100644 index 00000000000..98149305e82 --- /dev/null +++ b/gcc/testsuite/gcc.target/bpf/alu-1.c @@ -0,0 +1,56 @@ +/* Ensure 32-bit ALU instructions are not generated if -malu32 is + not enabled. */ + +/* { dg-do compile } */ +/* { dg-options "-mno-alu32" } */ + +int foo (int a, int b) +{ + a += 1; + b += a; + b -= 5; + a -= a; + + a *= 2; + b *= a; + + a |= 0xfafa; + b |= a; + b &= 0x00ffff00; + b &= a; + + a <<= 2; + b <<= a; + b >>= 5; + a >>= b; + + int c = a; + int d = 5; + + d ^= a; + c ^= 0xe5e5e5e5; + c = -c; + + unsigned int x = a; + unsigned int y = b; + x /= 3; + y /= x; + x %= 4; + y %= x; + + return a + b - c + d - x + y; +} + +/* { dg-final { scan-assembler-times "mov32\t0" 0 } } */ +/* { dg-final { scan-assembler-times "add32\t0" 0 } } */ +/* { dg-final { scan-assembler-times "sub32\t0" 0 } } */ +/* { dg-final { scan-assembler-times "mul32\t0" 0 } } */ +/* { dg-final { scan-assembler-times "div32\t0" 0 } } */ +/* { dg-final { scan-assembler-times "mod32\t0" 0 } } */ +/* { dg-final { scan-assembler-times "neg32\t0" 0 } } */ +/* { dg-final { scan-assembler-times "and32\t0" 0 } } */ +/* { dg-final { scan-assembler-times "or32\t0" 0 } } */ +/* { dg-final { scan-assembler-times "xor32\t0" 0 } } */ +/* { dg-final { scan-assembler-times "rsh32\t0" 0 } } */ +/* { dg-final { scan-assembler-times "lsh32\t0" 0 } } */ +/* { dg-final { scan-assembler-times "arsh32\t0" 0 } } */ diff --git a/gcc/testsuite/gcc.target/bpf/jmp-1.c b/gcc/testsuite/gcc.target/bpf/jmp-1.c new file mode 100644 index 00000000000..eaf825395ef --- /dev/null +++ b/gcc/testsuite/gcc.target/bpf/jmp-1.c @@ -0,0 +1,57 @@ +/* Ensure jlt, jslt, jle and jsle instructions are not generated if + -mjmpext is not enabled, and no 32-bit jump instructions are generated + if -mjmp32 is not enabled. */ + +/* { dg-do compile } */ +/* { dg-options "-mno-jmpext -mno-jmp32" } */ + +int foo (int a, int b) +{ + if (a == 1) + b += 1; + if (a != 3) + b += 2; + if (a > 5) + b += 3; + if (a >= 7) + b += 4; + if (a < 9) + b += 5; + if (a <= 10) + b += 6; + + return a + b; +} + +unsigned int bar (unsigned int a, unsigned int b) +{ + if (a == 1) + b += 1; + if (a != 3) + b += 2; + if (a > 5) + b += 3; + if (a >= 7) + b += 4; + if (a < 9) + b += 5; + if (a <= 10) + b += 6; + + return a + b; +} + +/* { dg-final { scan-assembler-times "jlt\t0" 0 } } */ +/* { dg-final { scan-assembler-times "jslt\t0" 0 } } */ +/* { dg-final { scan-assembler-times "jle\t0" 0 } } */ +/* { dg-final { scan-assembler-times "jsle\t0" 0 } } */ +/* { dg-final { scan-assembler-times "jeq32\t0" 0 } } */ +/* { dg-final { scan-assembler-times "jne32\t0" 0 } } */ +/* { dg-final { scan-assembler-times "jlt32\t0" 0 } } */ +/* { dg-final { scan-assembler-times "jgt32\t0" 0 } } */ +/* { dg-final { scan-assembler-times "jle32\t0" 0 } } */ +/* { dg-final { scan-assembler-times "jge32\t0" 0 } } */ +/* { dg-final { scan-assembler-times "jslt32\t0" 0 } } */ +/* { dg-final { scan-assembler-times "jsgt32\t0" 0 } } */ +/* { dg-final { scan-assembler-times "jsle32\t0" 0 } } */ +/* { dg-final { scan-assembler-times "jsge32\t0" 0 } } */ -- 2.33.0