Message ID | 20d007c8-f703-8fac-6a13-1643af31adc6@suse.com |
---|---|
State | New |
Headers |
Return-Path: <gcc-patches-bounces+patchwork=sourceware.org@gcc.gnu.org> X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 4B75D382CF1A for <patchwork@sourceware.org>; Fri, 27 May 2022 08:28:22 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 4B75D382CF1A DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1653640102; bh=LTgRWqwi5FTy5Voq2ZxtNLHtrbTZPU0Dk3uwhifHGzY=; h=Date:To:Subject:List-Id:List-Unsubscribe:List-Archive:List-Post: List-Help:List-Subscribe:From:Reply-To:Cc:From; b=nVcklHyURib37ZUP7UkeEMZ6yuj0Lj4OreC3iULW+tOnS9YBE2hP7wrROwWrUi3DM a31THUBdgmu8hTUP8qX/jBbhfn3EV9KJxQ8UIYYCudI71UnS55JwmR3mXCqn+hRXWv YoQCzF3RtbyKKVPlGo8MQwqkAxPa8i202IMS/aGM= X-Original-To: gcc-patches@gcc.gnu.org Delivered-To: gcc-patches@gcc.gnu.org Received: from de-smtp-delivery-102.mimecast.com (de-smtp-delivery-102.mimecast.com [194.104.109.102]) by sourceware.org (Postfix) with ESMTPS id 366CA382CF3D for <gcc-patches@gcc.gnu.org>; Fri, 27 May 2022 08:13:35 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 366CA382CF3D Received: from EUR03-AM5-obe.outbound.protection.outlook.com (mail-am5eur03lp2058.outbound.protection.outlook.com [104.47.8.58]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id de-mta-35-SgioV9bkM6m9GdfW4O6xhw-2; Fri, 27 May 2022 10:13:31 +0200 X-MC-Unique: SgioV9bkM6m9GdfW4O6xhw-2 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ik5ru7jd4HJLu4KfnCWqlVf3zqe1jF+w9DRsz/4RK7R9juMTlbcvjrgwiguncr6O0n2DrsgfAiTD76on3uZGP6Deu+o4aDJ6yIrgfF8uR7MB9Zm92S65lDVSk+B5axqKkkVxm9bo25iz7N9yUzGfLYoYCMfiA6UsE2K5lTssRReDaduY3HaaYaF0W981X15deqRjFJlRU7dULzDmnbNHK4Bgg0bvUJhLfr6aVucztBPCCDXk7X3WOue4Rzl234KFx/eu882Hg0ermQN+IcZAlAKHNWAA/aUHk4DbXK9//CYkPz7aN/6aCXs5es1UlPfZvSu7CW42+zYeV8t3a9ElNQ== 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=LTgRWqwi5FTy5Voq2ZxtNLHtrbTZPU0Dk3uwhifHGzY=; b=USGzLSygWaKmyIhpu62p3qYxt9zD2OUt7093zBjg1udnXzTQwd3RPTK0cu1H9aXN5rvQzhUX9SOYgELsf5GDrZo7W0ij7mapL0NScNKdAXFtTH+lxwuexz4161Q2rClRb7pUTPiT1SPs5QErWq5EP9GalrI9en00VfvtwD/gph+TTyUXaUnWdzX07kRjuKb1+30kMMP70inD2T2nmNTeE9OB1FcFEeV44NcXct1wyuX/XSsNjKN4nQA9JljKlwaBwA2iRnDNF3TEcNg9r7Lg9wrUu31eJqnzBqRnlK488+o+c9S8Fh8IgmxmkspnF/Pr1ixX0+Sjdye5eLb8mJNydA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com; dkim=pass header.d=suse.com; arc=none Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25) by AM6PR04MB6744.eurprd04.prod.outlook.com (2603:10a6:20b:f6::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5293.13; Fri, 27 May 2022 08:13:30 +0000 Received: from VE1PR04MB6560.eurprd04.prod.outlook.com ([fe80::dfa:a64a:432f:e26b]) by VE1PR04MB6560.eurprd04.prod.outlook.com ([fe80::dfa:a64a:432f:e26b%7]) with mapi id 15.20.5293.013; Fri, 27 May 2022 08:13:30 +0000 Message-ID: <20d007c8-f703-8fac-6a13-1643af31adc6@suse.com> Date: Fri, 27 May 2022 10:13:28 +0200 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101 Thunderbird/91.9.1 Content-Language: en-US To: "gcc-patches@gcc.gnu.org" <gcc-patches@gcc.gnu.org> Subject: [PATCH] x86: {,v}psadbw have commutative source operands Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-ClientProxiedBy: FR3P281CA0029.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:1c::22) To VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 1e3e14ad-1a77-43b7-aa92-08da3fb8c8c2 X-MS-TrafficTypeDiagnostic: AM6PR04MB6744:EE_ X-Microsoft-Antispam-PRVS: <AM6PR04MB6744C898334BBCD5BB23042BB3D89@AM6PR04MB6744.eurprd04.prod.outlook.com> X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: dwMHAVygTSdzlD2nWwuHeAdd8JtM5t/Mc+Vinmievg0IYyK4XY8TezdHPnOfvs2QV08YsiTSdvv+CDAnr3BR+m0kuFAaOQ5ILMe8pz+3QCYZk4vWuvwZFfmLfkIrvY+JE+qXkQn6AWP73sEN+Ut2Tg3gIVamvLd2CCfV/f/9kDX3PiPfXYVGUB5b5cl9jFHPbOgKiZrzjyMeIpY81wDTaTvxNxGTbs6RpWehI/DMmuH+EjoYC048RsCKivviRjb6Tow02hWfOIxE3BfDW38ctBCxbTurnrcRUqpbAoias/DRSYQH820hBAD5gyJZ2s2Z4Sm0nstSIqw4EckQr9/NjvE8yjlykkCfDdFDGHyllisvdH4/O1N6Ew+mXtMLrUEf+D71S1wPks+ouGy2gZU82eEjACIazxk4o8aQPLfGiLlCvn+fwQ21e4dM/cN+XZfWjvgF6kap4Z4MuYvdxHmTE+H/zAvRVLab98JT1DYh4S2Dv4Z/KWqas4UQLl4hGQircpQNsyLMPiIHv6ZyuRphLkxSZHz+Y6jQ0RjN70ZhiKU3cCg7UFSmjz6Nt3H0RSEQdW7DOIX89uuAkutrFsEGI1BXPdEmdWmi9TXIpzIXckj4eCcokp+VDFmrQebie3CJpGkrXUuyD635meacGUfRqjZA0/0rB/jq8Zug/JGQzxkO2vgURDmUQnl1nlIP6ZPLCYke/XPnZsb5x+Rw0COV+ccyEQk6FIatD3a0VgE/jKtBafxwDhoeC2FFuUezsSG7 X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:VE1PR04MB6560.eurprd04.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230001)(366004)(186003)(6506007)(6512007)(2906002)(86362001)(26005)(2616005)(54906003)(316002)(6916009)(36756003)(38100700002)(508600001)(6486002)(66556008)(66946007)(8676002)(4326008)(66476007)(31686004)(83380400001)(5660300002)(8936002)(31696002)(45980500001)(43740500002); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?RV5rZLTAQ5TuDREmCzlbefU40hQs?= =?utf-8?q?l7Mxb08oiMQ/mcz7GWmlUo53gxZbRWbD7fYvJeO9pWVSG8gAJU+YvWAFrIPEf+iJd?= =?utf-8?q?kESB/Q8/qKG2hjLvq8q0T0Tnhxt+YNX3O95ZLtz5Y69ILwyC+L1DX6S4uUEUAC5m2?= =?utf-8?q?tOe6Cpcxs3jammgaMBHF6lVi/MW0RC/ivWWC0wUGRxPuxc3CDuZhSXnTOj2bKPH48?= =?utf-8?q?BEuzU+kNZkWiVlgXqjnDJBMgwVTLJGAgRz3lvLZE2cUQsQe09h+TisNdOtibblLxU?= =?utf-8?q?SqWLEKBt9Fat6oTIzumXvWZZX26gmGKHiLLA4Y4SvZ0wSlQ2DJXaaxPkBbaRaeHo+?= =?utf-8?q?aB6JSyAPi3Bl0joNNq1SVPLeYpi+v5mgfxelSR5uoFC+0DtjuN33Xut98iJUhiv+5?= =?utf-8?q?IReBAYdGfwsv03FCGl6Qm+jMDemKhDaoyfEQ77Nq0KcmmsVFu9JB61W4gPdHQUGFB?= =?utf-8?q?N9OxqzKAhgXO5bxVpJQtOMSzmFy5yslpFY0BTIJKOVAaSZp+ZMLpUSGQkIX20vKNw?= =?utf-8?q?gE4o0TvIS+EP/+H10EdOHwikLnDjGdUR7BPdmpX/kKHmT4YXVZ4z7GW1U/ZLMe+9N?= =?utf-8?q?clYK2yhcWLJZ6qpG1DZXHqPtdPC9HKrAUuiVV/jwo1c4LUwg50nWNnhEmPDAUuFOl?= =?utf-8?q?1LnTP09Z92FJArhGk08vxbDZRHT84Ym7GOvbxmk4s9sy7aSpmsemNIYiOSznnC2Xu?= =?utf-8?q?R5HZanJs2dq866WIKQXu9e2uIMZkT1vbpBCAuShQbsOvECykce9Za5BIQHt5v6C77?= =?utf-8?q?eJZ12EfkvC0rYar4k49GZA2KcX3u8oTqaJde0wCFGN+lZsfNyOBiJmVq9Y4YlZHkf?= =?utf-8?q?VQn1RDEiCWTFr4vQzCJTYCGT5NcB36HqK+TdY5PjqbPfZwbc9LYoGVP2CiUCm97UB?= =?utf-8?q?K/cRe+oGaR5EM2VxOrxB1OYHRBFZMcipyyKV7Zui0+DIUVj2AAzRDCDrpGqamJ9I+?= =?utf-8?q?d0zuwf47OZs1s/p3VZcIgTLgybuk/gmHWcVjmCQIDBrsDiUODw4OI2GvpS0jS5xAH?= =?utf-8?q?ZJiXnhMU34wpRiRjX2Mn+qm66j/JwSNjYbK1CtgNGxCHbldO7Aa/PiM6ejGpTxw46?= =?utf-8?q?l5bUZQ+0FO+waER3akknd2mfUPV27p8fAAYiu/lFlKs7Xdxw3+AyISHxH+P96l4wG?= =?utf-8?q?LHXJ8Thrpx59Vy+sivetvMQQqmjb6kub8agDrAcXPsBA2LslIDJSz4TE6A58muKB6?= =?utf-8?q?sBV0soQsRzpRUQ3PMh2756K/PrLuYmzhN75KPxLHO3+ca3mweFFTdDoBgRO8gsmCB?= =?utf-8?q?Gg5KGfkjsSldkMcfTyrQy3BoP2G4VeUl8rLJoxvahoNl7h3ESpBHKxia4ENeVzB8y?= =?utf-8?q?cP7Cc6Cn8CDokO5o1wq3pS0cLJ7Z06DK0L6K2qY/B3lJUt5iypW8zqX1s6var27cN?= =?utf-8?q?X11xh5L22elmnnivL0vmduAICDX+6rcuxsuwKw3u20ACyIkcuetAjf/iT2yC8EDqt?= =?utf-8?q?O3gSv0D39AR303iCruZ0HbpJh11tO2jH+LKule6IKkvKFlZm0Gff0uLoiNY7GiWBW?= =?utf-8?q?/m7atP1XV8FOgUOxTk00/WVv//wV1yv/IduQQtud6oR0arXeogDW5g0OH12dyVCiy?= =?utf-8?q?XcW5tISGxtLLAvxVwFpluJoVWS2iBhU6hO0jpk0ywyVQnFCaHrnbosxQ/Jss7GFlI?= =?utf-8?q?rqfCdCeaQtcS97oyXPB7IEsOggQG+dLg=3D=3D?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 1e3e14ad-1a77-43b7-aa92-08da3fb8c8c2 X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 May 2022 08:13:30.2642 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: zpG1s3kNIBPH3k/yFEpXMnOaTocSlhHySUJzYwEevSRh87N+kszokV9p20dPwgd5mUflrmMFABRUtFWx7tHrHQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR04MB6744 X-Spam-Status: No, score=-3031.1 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, RCVD_IN_DNSWL_LOW, SPF_HELO_NONE, SPF_PASS, 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 X-BeenThere: gcc-patches@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-patches mailing list <gcc-patches.gcc.gnu.org> List-Unsubscribe: <https://gcc.gnu.org/mailman/options/gcc-patches>, <mailto:gcc-patches-request@gcc.gnu.org?subject=unsubscribe> List-Archive: <https://gcc.gnu.org/pipermail/gcc-patches/> List-Post: <mailto:gcc-patches@gcc.gnu.org> List-Help: <mailto:gcc-patches-request@gcc.gnu.org?subject=help> List-Subscribe: <https://gcc.gnu.org/mailman/listinfo/gcc-patches>, <mailto:gcc-patches-request@gcc.gnu.org?subject=subscribe> From: Jan Beulich via Gcc-patches <gcc-patches@gcc.gnu.org> Reply-To: Jan Beulich <jbeulich@suse.com> Cc: Hongtao Liu <hongtao.liu@intel.com>, "hubicka@ucw.cz" <hubicka@ucw.cz> Errors-To: gcc-patches-bounces+patchwork=sourceware.org@gcc.gnu.org Sender: "Gcc-patches" <gcc-patches-bounces+patchwork=sourceware.org@gcc.gnu.org> |
Series |
x86: {,v}psadbw have commutative source operands
|
|
Commit Message
Jan Beulich
May 27, 2022, 8:13 a.m. UTC
Like noticed for gas as well (binutils-gdb commit c8cad9d389b7), the "absolute difference" aspect of the insns makes their source operands commutative. gcc/ 2022-05-XX Jan Beulich <jbeulich@suse.com> * config/i386/mmx.md (mmx_psadbw): Mark as commutative. * config/i386/sse.md (<sse2_avx2>_psadbw): Likewise.
Comments
On Fri, May 27, 2022 at 10:13 AM Jan Beulich <jbeulich@suse.com> wrote: > > Like noticed for gas as well (binutils-gdb commit c8cad9d389b7), the > "absolute difference" aspect of the insns makes their source operands > commutative. You will need to expand via ix86_fixup_binary_operands_no_copy, use register_mmxmem_operand on both input operands and use ix86_binary_operator insn constraint. Please see many examples w/ commutative operands throughout .md files. Uros. > gcc/ > 2022-05-XX Jan Beulich <jbeulich@suse.com> > > * config/i386/mmx.md (mmx_psadbw): Mark as commutative. > * config/i386/sse.md (<sse2_avx2>_psadbw): Likewise. > > --- a/gcc/config/i386/mmx.md > +++ b/gcc/config/i386/mmx.md > @@ -4407,7 +4407,7 @@ > > (define_insn "mmx_psadbw" > [(set (match_operand:V1DI 0 "register_operand" "=y,x,Yw") > - (unspec:V1DI [(match_operand:V8QI 1 "register_operand" "0,0,Yw") > + (unspec:V1DI [(match_operand:V8QI 1 "register_operand" "%0,0,Yw") > (match_operand:V8QI 2 "register_mmxmem_operand" "ym,x,Yw")] > UNSPEC_PSADBW))] > "(TARGET_MMX || TARGET_MMX_WITH_SSE) > --- a/gcc/config/i386/sse.md > +++ b/gcc/config/i386/sse.md > @@ -19983,7 +19983,7 @@ > (define_insn "<sse2_avx2>_psadbw" > [(set (match_operand:VI8_AVX2_AVX512BW 0 "register_operand" "=x,YW") > (unspec:VI8_AVX2_AVX512BW > - [(match_operand:<ssebytemode> 1 "register_operand" "0,YW") > + [(match_operand:<ssebytemode> 1 "register_operand" "%0,YW") > (match_operand:<ssebytemode> 2 "vector_operand" "xBm,YWm")] > UNSPEC_PSADBW))] > "TARGET_SSE2" >
On 27.05.2022 11:05, Uros Bizjak wrote: > On Fri, May 27, 2022 at 10:13 AM Jan Beulich <jbeulich@suse.com> wrote: >> >> Like noticed for gas as well (binutils-gdb commit c8cad9d389b7), the >> "absolute difference" aspect of the insns makes their source operands >> commutative. > > You will need to expand via ix86_fixup_binary_operands_no_copy, use > register_mmxmem_operand on both input operands and use > ix86_binary_operator insn constraint. Please see many examples w/ > commutative operands throughout .md files. Hmm, yes, I see. As to the use of ix86_binary_operator_ok(): In particular in sse.md I see many uses of ix86_fixup_binary_operands_no_copy() in expanders where the corresponding insns don't use ix86_binary_operator_ok(), e.g. the immediately preceding uavg. Is there a(n) (anti-)pattern? My simplistic initial version was based on observations while putting together the inverse change for vgf2p8affine{,inv}qb_<mode><mask_name> (commit c0569d342ca4), which aren't commutative. Are you suggesting that the remaining (for indeed being commutative) vgf2p8mulb_<mode><mask_name> also is incomplete, requiring an expander as well? And maybe the same then in <code>v1ti3 for any_logic:V1TI, avx512bw_umulhrswv32hi3<mask_name>, or <sse4_1>_dp<ssemodesuffix><avxsizesuffix> (and likely a few more)? At least a few pmadd* appear to lack commutativity marking altogether. Jan >> --- a/gcc/config/i386/mmx.md >> +++ b/gcc/config/i386/mmx.md >> @@ -4407,7 +4407,7 @@ >> >> (define_insn "mmx_psadbw" >> [(set (match_operand:V1DI 0 "register_operand" "=y,x,Yw") >> - (unspec:V1DI [(match_operand:V8QI 1 "register_operand" "0,0,Yw") >> + (unspec:V1DI [(match_operand:V8QI 1 "register_operand" "%0,0,Yw") >> (match_operand:V8QI 2 "register_mmxmem_operand" "ym,x,Yw")] >> UNSPEC_PSADBW))] >> "(TARGET_MMX || TARGET_MMX_WITH_SSE) >> --- a/gcc/config/i386/sse.md >> +++ b/gcc/config/i386/sse.md >> @@ -19983,7 +19983,7 @@ >> (define_insn "<sse2_avx2>_psadbw" >> [(set (match_operand:VI8_AVX2_AVX512BW 0 "register_operand" "=x,YW") >> (unspec:VI8_AVX2_AVX512BW >> - [(match_operand:<ssebytemode> 1 "register_operand" "0,YW") >> + [(match_operand:<ssebytemode> 1 "register_operand" "%0,YW") >> (match_operand:<ssebytemode> 2 "vector_operand" "xBm,YWm")] >> UNSPEC_PSADBW))] >> "TARGET_SSE2" >> >
On Mon, May 30, 2022 at 9:59 AM Jan Beulich <jbeulich@suse.com> wrote: > > On 27.05.2022 11:05, Uros Bizjak wrote: > > On Fri, May 27, 2022 at 10:13 AM Jan Beulich <jbeulich@suse.com> wrote: > >> > >> Like noticed for gas as well (binutils-gdb commit c8cad9d389b7), the > >> "absolute difference" aspect of the insns makes their source operands > >> commutative. > > > > You will need to expand via ix86_fixup_binary_operands_no_copy, use > > register_mmxmem_operand on both input operands and use > > ix86_binary_operator insn constraint. Please see many examples w/ > > commutative operands throughout .md files. > > Hmm, yes, I see. As to the use of ix86_binary_operator_ok(): In > particular in sse.md I see many uses of > ix86_fixup_binary_operands_no_copy() in expanders where the > corresponding insns don't use ix86_binary_operator_ok(), e.g. the > immediately preceding uavg. Is there a(n) (anti-)pattern? ix86_fixup_binary_operands was historically used with destructive two-operand instructions (where one input operand is tied with output operand). It fixed up expansion to help register allocator a bit, and brought expansion to the form of two-operand instruction, especially with memory and immediate operands. Please note that nowadays RA can fix up the operands by itself, but it is still beneficial to have e.g. memory operation in the right place from the beginning. > My simplistic initial version was based on observations while > putting together the inverse change for > vgf2p8affine{,inv}qb_<mode><mask_name> (commit c0569d342ca4), which > aren't commutative. Are you suggesting that the remaining (for indeed > being commutative) vgf2p8mulb_<mode><mask_name> also is incomplete, > requiring an expander as well? And maybe the same then in > <code>v1ti3 for any_logic:V1TI, avx512bw_umulhrswv32hi3<mask_name>, > or <sse4_1>_dp<ssemodesuffix><avxsizesuffix> (and likely a few more)? > > At least a few pmadd* appear to lack commutativity marking altogether. Yes, sse.md could use some TLC in this area. I remember doing a review of these patterns in i386.md a while ago. Uros. > Jan > > >> --- a/gcc/config/i386/mmx.md > >> +++ b/gcc/config/i386/mmx.md > >> @@ -4407,7 +4407,7 @@ > >> > >> (define_insn "mmx_psadbw" > >> [(set (match_operand:V1DI 0 "register_operand" "=y,x,Yw") > >> - (unspec:V1DI [(match_operand:V8QI 1 "register_operand" "0,0,Yw") > >> + (unspec:V1DI [(match_operand:V8QI 1 "register_operand" "%0,0,Yw") > >> (match_operand:V8QI 2 "register_mmxmem_operand" "ym,x,Yw")] > >> UNSPEC_PSADBW))] > >> "(TARGET_MMX || TARGET_MMX_WITH_SSE) > >> --- a/gcc/config/i386/sse.md > >> +++ b/gcc/config/i386/sse.md > >> @@ -19983,7 +19983,7 @@ > >> (define_insn "<sse2_avx2>_psadbw" > >> [(set (match_operand:VI8_AVX2_AVX512BW 0 "register_operand" "=x,YW") > >> (unspec:VI8_AVX2_AVX512BW > >> - [(match_operand:<ssebytemode> 1 "register_operand" "0,YW") > >> + [(match_operand:<ssebytemode> 1 "register_operand" "%0,YW") > >> (match_operand:<ssebytemode> 2 "vector_operand" "xBm,YWm")] > >> UNSPEC_PSADBW))] > >> "TARGET_SSE2" > >> > > >
--- a/gcc/config/i386/mmx.md +++ b/gcc/config/i386/mmx.md @@ -4407,7 +4407,7 @@ (define_insn "mmx_psadbw" [(set (match_operand:V1DI 0 "register_operand" "=y,x,Yw") - (unspec:V1DI [(match_operand:V8QI 1 "register_operand" "0,0,Yw") + (unspec:V1DI [(match_operand:V8QI 1 "register_operand" "%0,0,Yw") (match_operand:V8QI 2 "register_mmxmem_operand" "ym,x,Yw")] UNSPEC_PSADBW))] "(TARGET_MMX || TARGET_MMX_WITH_SSE) --- a/gcc/config/i386/sse.md +++ b/gcc/config/i386/sse.md @@ -19983,7 +19983,7 @@ (define_insn "<sse2_avx2>_psadbw" [(set (match_operand:VI8_AVX2_AVX512BW 0 "register_operand" "=x,YW") (unspec:VI8_AVX2_AVX512BW - [(match_operand:<ssebytemode> 1 "register_operand" "0,YW") + [(match_operand:<ssebytemode> 1 "register_operand" "%0,YW") (match_operand:<ssebytemode> 2 "vector_operand" "xBm,YWm")] UNSPEC_PSADBW))] "TARGET_SSE2"