From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by sourceware.org (Postfix) with ESMTPS id 53C7A3858D1E for ; Wed, 19 Apr 2023 08:47:11 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 53C7A3858D1E Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=intel.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=intel.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1681894031; x=1713430031; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=ME14zO//5YcCnAF1S0EJhH8Q1qtnLimrdxqZgNne2os=; b=Jh4+vWbV0bknfEEXC2izwHFruHhbeSfycs0FMopYH6p9mdI7T170LHlZ R8wfOFgblmYp8fih2AvEbKhnpTsZm9NJOgPvo8z6zsJi5dapbT+cP6M26 c16qj6r3lSppwykAFqDG6HsANcrLU/QYSmhJN7GytNc2VjuMCjlgGu9TW hfTfM22L+ETQJblWJBajuJmKR6ZsFi/mmL2aZAjMxDizZHBPX48mvRd8H cZve57XsjDsxuzPGnFp8mzC/gy9JfyrUSBCXvFy+Z3SezQBJMLyjDqaHb Ni1Fi6tPQx1UwDHmM+4TNzRz0YZJ7N0h5xj82oUVEZORyOdV3FhqDJV/s g==; X-IronPort-AV: E=McAfee;i="6600,9927,10684"; a="325726066" X-IronPort-AV: E=Sophos;i="5.99,208,1677571200"; d="scan'208";a="325726066" Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by fmsmga107.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 19 Apr 2023 01:47:10 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10684"; a="835212225" X-IronPort-AV: E=Sophos;i="5.99,208,1677571200"; d="scan'208";a="835212225" Received: from fmsmsx603.amr.corp.intel.com ([10.18.126.83]) by fmsmga001.fm.intel.com with ESMTP; 19 Apr 2023 01:47:09 -0700 Received: from fmsmsx612.amr.corp.intel.com (10.18.126.92) by fmsmsx603.amr.corp.intel.com (10.18.126.83) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.23; Wed, 19 Apr 2023 01:47:09 -0700 Received: from fmsmsx602.amr.corp.intel.com (10.18.126.82) by fmsmsx612.amr.corp.intel.com (10.18.126.92) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.23; Wed, 19 Apr 2023 01:47:09 -0700 Received: from fmsedg602.ED.cps.intel.com (10.1.192.136) by fmsmsx602.amr.corp.intel.com (10.18.126.82) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.23 via Frontend Transport; Wed, 19 Apr 2023 01:47:09 -0700 Received: from NAM10-BN7-obe.outbound.protection.outlook.com (104.47.70.108) by edgegateway.intel.com (192.55.55.71) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.23; Wed, 19 Apr 2023 01:47:08 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=PqlfsUK3Rh8+yYNkPXIMAroYLgpi9HoVhWa6KZYDosKfjLOWn5zU77G/gdnp69d5OnrFPzUdOWqeQcUYCDW/yFbf6dqrjYgQoFS6+98sX5kggnW9iJTwVxU+1lrlKB5dNTlAImmQN2UWZf7mW9ycTLr2BOH5I4rTgamI9Wei8Bx2G1dLnuC9hMTVkNcwcxXGME9G470qOH9kstYxMeL3nBQ8HMcPtD4RO76+4SbycQomrGuBYc47fjsl6YW6WobOYyGnhWOzAbd4PnWMFK7pPQsck3q+fXCEmA+y2Bnu/OsyJK1be0VM1wnXaT7NZQlMhk+5R7KI9W+qPcDdDEeS/w== 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:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=XYBlEessWd2mVfEyx7VRH8RbznkN8VMmbUy3EVXlRG4=; b=ebd8tOywX8aa6edD15K2KwO73FEYZ/AZT/8+mZvpSDCwwqyJo3fdKvHaaQA3PKxalFY5+kTebpA27diNnvasmEoT4qnXFN6d/AZDUCJcCoyJKCg9NZv7n3pfmk9FJngojvbID0Cmm3PHf3K8Mzu3NdyEklWQ/F1B/GrjPRykVGon53F/d77qhiUpYdMw2dP7uGm4HkIzFq6g5S0utJj7xrgfzQab9ySTz/6N2Nrrba11Axv/Rp3GC7KlTGh+MjJz7nLtfnYxsqcvar+GmMGeuWh/I7QKaBsJ+8vn3z2vijfzv4wbHDE1efFlzVT7H2YK0oXvF2XfSdEWoVE6vRmSOw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none Received: from MW5PR11MB5908.namprd11.prod.outlook.com (2603:10b6:303:194::10) by PH8PR11MB7069.namprd11.prod.outlook.com (2603:10b6:510:217::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6298.45; Wed, 19 Apr 2023 08:47:06 +0000 Received: from MW5PR11MB5908.namprd11.prod.outlook.com ([fe80::bbc5:f013:1f53:10a9]) by MW5PR11MB5908.namprd11.prod.outlook.com ([fe80::bbc5:f013:1f53:10a9%6]) with mapi id 15.20.6298.045; Wed, 19 Apr 2023 08:47:06 +0000 From: "Li, Pan2" To: Richard Biener CC: "gcc-patches@gcc.gnu.org" , "juzhe.zhong@rivai.ai" , "kito.cheng@sifive.com" , "richard.sandiford@arm.com" , "Wang, Yanzhang" Subject: RE: [PATCH v2] RISC-V: Allow Vector IOR(V1, NOT V1) optimization Thread-Topic: [PATCH v2] RISC-V: Allow Vector IOR(V1, NOT V1) optimization Thread-Index: AQHZcdVuFQDFsqXx0Um5zVl6ZEYotq8yL+aAgAAA38CAACE4wA== Date: Wed, 19 Apr 2023 08:47:06 +0000 Message-ID: References: <20230417145025.2291874-1-pan2.li@intel.com> <20230418090855.3012513-1-pan2.li@intel.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: MW5PR11MB5908:EE_|PH8PR11MB7069:EE_ x-ms-office365-filtering-correlation-id: 4d8a877b-9556-4b83-52a7-08db40b2a77c x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 8nRjLi/FZkAnUOgDcJvZtVc9aSpmoPCWDhhgIDhCizY/+uAClKjZFfKJ0xD3RIlxf2SbWnBHU8KPXa8Nqn+bmRgnSgHUSr0ATRkDiwUjXmfMZ8ibidjFPmvsNtOO9LzbZhyDZTzYv7brBdecrm4jNuZsmJbr4L+I0WpB3JaI9xj5r/CxAwvd/IyHFIoKLbSt75vuP0pTLV4Pqs5kc/eO/nezvg6q3jkeE5Q8M9sVEGE6sbq2tTPoMQvgMBS0q0ycxlJeoFSdGUWXdvhN644gG9DaNbVFOm8B+TjcNyGGj1u5wDffbyzjW0+fHDQbsC2GV9Q//trryu+NMKBV37sKgyaCCkqP19hJX76y/jBdlL9qdDVUf+MyOO2br4pqch3EOK3tkT2Z2U6p2G5gO6TWIxezAnUL+v4lH3H0i+45ep2Pib4eG1seIz78D77+PQWIIqtnX09NgzPjekSjpuSjdlvpvCD7F+/+ROrcALRGAEPtyYGDsgeE7R6qeU/jbnEj9tsbjaA4ciyqjnYjc7VNSyo5ZWhSX3iioA9t8ap4Xpcow309oNFqLnyXL3nDKKXXYN/Az8CRnIY674bfzrWopr2rtToqJF2L+N9MvwvBInY= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MW5PR11MB5908.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(376002)(39860400002)(396003)(136003)(346002)(366004)(451199021)(66476007)(478600001)(71200400001)(38100700002)(8936002)(8676002)(316002)(82960400001)(41300700001)(6916009)(4326008)(55016003)(76116006)(66946007)(66446008)(66556008)(54906003)(122000001)(186003)(2940100002)(107886003)(2906002)(84970400001)(53546011)(38070700005)(26005)(83380400001)(64756008)(9686003)(6506007)(86362001)(33656002)(5660300002)(52536014)(7696005);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?yHtIiZbSht0V7CPo+jho+Esu4th2tAiXO9kQmMcvR2zuCMysyUaf3FHJ90aK?= =?us-ascii?Q?6sRHIVU2v4zBfERFo9n5R0S6/nQvQxJaYkeZBE9dXWKWlKj5jtbLF9dUChqG?= =?us-ascii?Q?tDDJr0FQStwwd0TXutvaUq1EZxw6gV2Udp10uNJHLWI1iOvxeY2z95yS8sbr?= =?us-ascii?Q?kuhYL2HcQJXVJNSctXNYagoJL96IY7fmlR3VJN0Zd7iFdgfbVwEOPjp6f08S?= =?us-ascii?Q?NEe6SZ2T/3HIVmDvno0eeRUnnzMinqH87lCwdDxYDW0Dsz5Z9HDWO5XSHz43?= =?us-ascii?Q?QIMJyVVr6LRJ97KcS4aZxX9UD4gOIZYfAhEhHTUuYat6aZAe5rRS23oOyEMp?= =?us-ascii?Q?5Pjl2k8bJUo1l0tGWRQkhPQQ4Jx64tepA6X62xoUcCdVlJ//hVfJWnTQrHfT?= =?us-ascii?Q?EI2CCbKa1umagRrtoh6hzuGuIW1N26pGgUkBW8Dq+GDEcno7agI6hTRzbwBb?= =?us-ascii?Q?aFMK4Mbd4sgx6PPMjvt9LoBnG8jr8HPZIxDYbmAnYgQMQIkECRNrjFMC4Zvv?= =?us-ascii?Q?JN0LyIKOS2WJUQ/S5QWrfWLntF1yTTwFX4tfPl2mPirxRPWWaDyCUqYBA/pt?= =?us-ascii?Q?1Geptx+FgrzOSkGmOQq+B2ULN+U9QdjHftENuYE9aYE/tGESxfWzurYCB9aK?= =?us-ascii?Q?T4BDJ1op3E2TTxv7obBg+xQy4AJ1SyH6vuvwXiHJdzVaXv7/i//RTlWmVlBl?= =?us-ascii?Q?mPdhzCW8go2WyPbFlhDEQBqij16qyM1X33NcUoaqcQNXWREFFGXuqZJ3C07Q?= =?us-ascii?Q?5i6X2egwSvvoWCLcs8DTvhYzmIeUms2a1s0bJt6406ClI1g37CpsamVrlY70?= =?us-ascii?Q?zYQx+55zkkRgkAaffKu94XPscCSf0M9AO0iq2K56i8bFOYOm6xXmRwTzeDG7?= =?us-ascii?Q?BevgAgh5N4nm03gy4jmo5aZsrej7DeLjEe/pCo/lruHiuU78lbUUxXkztEYS?= =?us-ascii?Q?jWbbglR8i9LjPpDk2CFAikrIT68NyODCnq4jxSajwTi52JTr4xOsPjdDG9tK?= =?us-ascii?Q?vg8mENLkXSNgN7apdHNrmY4ZLXrPJvIleo3h52XkEkx2O++jrxhFkf8Ghx8R?= =?us-ascii?Q?oZnY6eMpeMBmDJGsP+lQ81E7QE66HgqPhILHsQNV7qWqLCD/CvQ/YEnkCa/m?= =?us-ascii?Q?7sflGGMgTGCGjvY45QLBaabe1A+JHKe47VA+dxu82TxlVrQqUQSOn2lgnRYJ?= =?us-ascii?Q?U3ZFE9FaYaXbpEeUYn1CpIVLYHj5Z9pZ0H8MUhnPdL+tzrg4zz7mZo0TB+yY?= =?us-ascii?Q?uyuzlKNB8rpolT/TcwN4SOg8awACOMYEVX9wlcvPLpwox3W1DH4aXIWWyJVI?= =?us-ascii?Q?4yL01uz/phvjT8PGqElGVxxlHaxprRvo1Ls8NaJ59LRdDwW/wRe5jhFcZcVH?= =?us-ascii?Q?TWO0RIVlCs2kvHo3C8YZQfLD6UGkCPf4r6mJDL8aiQlxTwuhSNOdoW3MjWRF?= =?us-ascii?Q?5DZhnE15/1CYTfoXAJ/6ZIlI83k4ructqmIDVMrbcsf/Aux1zIZfpCr487t6?= =?us-ascii?Q?X/FrPl1wMuCLdUqGokHcb+n6qPIWQHLlvs9lkcNjT++hqgFZ00ThHl5NgK9F?= =?us-ascii?Q?xMyqJeivguGNTue2Qqk=3D?= Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MW5PR11MB5908.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 4d8a877b-9556-4b83-52a7-08db40b2a77c X-MS-Exchange-CrossTenant-originalarrivaltime: 19 Apr 2023 08:47:06.1031 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: lsEevokqQ0kDgHzM9EyoUAmURbWnC0tC2DVSLEbFI3B13+N2/r9QV3oWz674fcDYgLySpLLeGk/dpQnj/1ZJLw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH8PR11MB7069 X-OriginatorOrg: intel.com X-Spam-Status: No, score=-12.6 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,GIT_PATCH_0,KAM_SHORT,SPF_HELO_NONE,SPF_NONE,TXREP,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: Hi Richard, Do you have any idea about this? I leverage git gcc-commit-mklog, it will g= enerate something as below. It looks no text after colon. I am not sure if = I need to add something by myself. gcc/ChangeLog: ........* simplify-rtx.cc (simplify_context::simplify_binary_operation_1): = <=3D=3D=3D no text here. gcc/testsuite/ChangeLog: ........* gcc.target/riscv/rvv/base/mask_insn_shortcut.c: = <=3D=3D=3D no text here. ........* gcc.target/riscv/simplify_ior_optimization.c: New test. # Please enter the commit message for your changes. Lines starting # with '#' will be ignored, and an empty message aborts the commit. # # On branch master # Your branch is up to date with 'origin/master'. # # Changes to be committed: #.......modified: gcc/simplify-rtx.cc #.......modified: gcc/testsuite/gcc.target/riscv/rvv/base/mask_insn_short= cut.c #.......new file: gcc/testsuite/gcc.target/riscv/simplify_ior_optimizatio= n.c Pan -----Original Message----- From: Li, Pan2=20 Sent: Wednesday, April 19, 2023 2:47 PM To: Richard Biener Cc: gcc-patches@gcc.gnu.org; juzhe.zhong@rivai.ai; kito.cheng@sifive.com; r= ichard.sandiford@arm.com; Wang, Yanzhang Subject: RE: [PATCH v2] RISC-V: Allow Vector IOR(V1, NOT V1) optimization Oh, I see. The message need to be re-generated. Thank you for pointing out,= will update ASPA. Pan -----Original Message----- From: Richard Biener Sent: Wednesday, April 19, 2023 2:40 PM To: Li, Pan2 Cc: gcc-patches@gcc.gnu.org; juzhe.zhong@rivai.ai; kito.cheng@sifive.com; r= ichard.sandiford@arm.com; Wang, Yanzhang Subject: Re: [PATCH v2] RISC-V: Allow Vector IOR(V1, NOT V1) optimization On Tue, 18 Apr 2023, pan2.li@intel.com wrote: > From: Pan Li >=20 > This patch add the optimization for the vector IOR(V1, NOT V1). Assume=20 > we have below sample code. >=20 > vbool32_t test_shortcut_for_riscv_vmorn_case_5(vbool32_t v1, size_t > vl) { > return __riscv_vmorn_mm_b32(v1, v1, vl); } >=20 > Before this patch: > vsetvli a5,zero,e8,mf4,ta,ma > vlm.v v24,0(a1) > vsetvli zero,a2,e8,mf4,ta,ma > vmorn.mm v24,v24,v24 > vsetvli a5,zero,e8,mf4,ta,ma > vsm.v v24,0(a0) > ret >=20 > After this patch: > vsetvli zero,a2,e8,mf4,ta,ma > vmset.m v24 > vsetvli a5,zero,e8,mf4,ta,ma > vsm.v v24,0(a0) > ret >=20 > Or in RTL's perspective, > from: > (ior:VNx2BI (reg/v:VNx2BI 137 [ v1 ]) (not:VNx2BI (reg/v:VNx2BI 137 [ > v1 ]))) > to: > (const_vector:VNx2BI repeat [ (const_int 1 [0x1]) ]) >=20 > The similar optimization like VMANDN has enabled already. There should=20 > be no difference execpt the operator when compare the VMORN and VMANDN=20 > for such kind of optimization. The patch allows the VECTOR_BOOL=20 > IOR(V1, NOT V1) simplification besides the existing SCALAR_INT mode. >=20 > gcc/ChangeLog: >=20 > * simplify-rtx.cc (simplify_context::simplify_binary_operation_1): This needs some text > gcc/testsuite/ChangeLog: >=20 > * gcc.target/riscv/rvv/base/mask_insn_shortcut.c: Likewise. OK with that fixed. > * gcc.target/riscv/simplify_ior_optimization.c: New test. >=20 > Signed-off-by: Pan Li > --- > gcc/simplify-rtx.cc | 4 +- > .../riscv/rvv/base/mask_insn_shortcut.c | 3 +- > .../riscv/simplify_ior_optimization.c | 50 +++++++++++++++++++ > 3 files changed, 53 insertions(+), 4 deletions(-) create mode 100644=20 > gcc/testsuite/gcc.target/riscv/simplify_ior_optimization.c >=20 > diff --git a/gcc/simplify-rtx.cc b/gcc/simplify-rtx.cc index=20 > ee75079917f..3bc9b2f55ea 100644 > --- a/gcc/simplify-rtx.cc > +++ b/gcc/simplify-rtx.cc > @@ -3332,8 +3332,8 @@ simplify_context::simplify_binary_operation_1 (rtx_= code code, > if (((GET_CODE (op0) =3D=3D NOT && rtx_equal_p (XEXP (op0, 0), op1= )) > || (GET_CODE (op1) =3D=3D NOT && rtx_equal_p (XEXP (op1, 0), op0))) > && ! side_effects_p (op0) > - && SCALAR_INT_MODE_P (mode)) > - return constm1_rtx; > + && GET_MODE_CLASS (mode) !=3D MODE_CC) > + return CONSTM1_RTX (mode); > =20 > /* (ior A C) is C if all bits of A that might be nonzero are on in= C. */ > if (CONST_INT_P (op1) > diff --git > a/gcc/testsuite/gcc.target/riscv/rvv/base/mask_insn_shortcut.c > b/gcc/testsuite/gcc.target/riscv/rvv/base/mask_insn_shortcut.c > index 83cc4a1b5a5..57d0241675a 100644 > --- a/gcc/testsuite/gcc.target/riscv/rvv/base/mask_insn_shortcut.c > +++ b/gcc/testsuite/gcc.target/riscv/rvv/base/mask_insn_shortcut.c > @@ -233,9 +233,8 @@ vbool64_t > test_shortcut_for_riscv_vmxnor_case_6(vbool64_t v1, size_t vl) { > /* { dg-final { scan-assembler-not {vmxor\.mm\s+v[0-9]+,\s*v[0-9]+} }=20 > } */ > /* { dg-final { scan-assembler-not {vmor\.mm\s+v[0-9]+,\s*v[0-9]+} }=20 > } */ > /* { dg-final { scan-assembler-not {vmnor\.mm\s+v[0-9]+,\s*v[0-9]+} }=20 > } */ > -/* { dg-final { scan-assembler-times=20 > {vmorn\.mm\s+v[0-9]+,\s*v[0-9]+,\s*v[0-9]+} 7 } } */ > /* { dg-final { scan-assembler-not {vmxnor\.mm\s+v[0-9]+,\s*v[0-9]+}=20 > } } */ > /* { dg-final { scan-assembler-times {vmclr\.m\s+v[0-9]+} 14 } } */ > -/* { dg-final { scan-assembler-times {vmset\.m\s+v[0-9]+} 7 } } */ > +/* { dg-final { scan-assembler-times {vmset\.m\s+v[0-9]+} 14 } } */ > /* { dg-final { scan-assembler-times {vmmv\.m\s+v[0-9]+,\s*v[0-9]+} > 14 } } */ > /* { dg-final { scan-assembler-times {vmnot\.m\s+v[0-9]+,\s*v[0-9]+} > 14 } } */ diff --git > a/gcc/testsuite/gcc.target/riscv/simplify_ior_optimization.c > b/gcc/testsuite/gcc.target/riscv/simplify_ior_optimization.c > new file mode 100644 > index 00000000000..ec3bd0baf03 > --- /dev/null > +++ b/gcc/testsuite/gcc.target/riscv/simplify_ior_optimization.c > @@ -0,0 +1,50 @@ > +/* { dg-do compile } */ > +/* { dg-options "-march=3Drv64gc -mabi=3Dlp64 -O2" } */ > + > +#include > + > +uint8_t test_simplify_ior_scalar_case_0 (uint8_t a) { > + return a | ~a; > +} > + > +uint16_t test_simplify_ior_scalar_case_1 (uint16_t a) { > + return a | ~a; > +} > + > +uint32_t test_simplify_ior_scalar_case_2 (uint32_t a) { > + return a | ~a; > +} > + > +uint64_t test_simplify_ior_scalar_case_3 (uint64_t a) { > + return a | ~a; > +} > + > +int8_t test_simplify_ior_scalar_case_4 (int8_t a) { > + return a | ~a; > +} > + > +int16_t test_simplify_ior_scalar_case_5 (int16_t a) { > + return a | ~a; > +} > + > +int32_t test_simplify_ior_scalar_case_6 (int32_t a) { > + return a | ~a; > +} > + > +int64_t test_simplify_ior_scalar_case_7 (int64_t a) { > + return a | ~a; > +} > + > +/* { dg-final { scan-assembler-times {li\s+a[0-9]+,\s*-1} 6 } } */ > +/* { dg-final { scan-assembler-times {li\s+a[0-9]+,\s*255} 1 } } */ > +/* { dg-final { scan-assembler-times {li\s+a[0-9]+,\s*65536} 1 } } */ > +/* { dg-final { scan-assembler-not {or\s+a[0-9]+} } } */ > +/* { dg-final { scan-assembler-not {not\s+a[0-9]+} } } */ >=20 -- Richard Biener SUSE Software Solutions Germany GmbH, Frankenstrasse 146, 90461 Nuernberg, = Germany; GF: Ivo Totev, Andrew Myers, Andrew McDonald, Boudien Moerman; HRB= 36809 (AG Nuernberg)