From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR01-DB5-obe.outbound.protection.outlook.com (mail-db5eur01on2050.outbound.protection.outlook.com [40.107.15.50]) by sourceware.org (Postfix) with ESMTPS id E53613857345 for ; Thu, 3 Aug 2023 08:12:08 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org E53613857345 Authentication-Results: sourceware.org; dmarc=pass (p=quarantine dis=none) header.from=suse.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=suse.com ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Rm8y3OOMEb8GE3ksQ2yAxYnYw8ye30Tb9Ba1sVnnH9DP4lN+uAYsdYi3OvpHVhouNTYPdxTTYtsT+5GZZO/jZenp2CCFB33U8a8lq7OqTzRQt7DPn8LkEAd8y1C5FXlTdeWxHzvxVRZ344G9cODORr8cqI2gyil++GdGLub4P/0XrH42qBdYDSWHPuuElKbepK/qXFqbFP+JVL9PKXlvWb1I80L3VmmJP9IIS//lRBSJUMFYIGTJqc99ksR2i8mUg3DPUiLKcfeLuU7mFpVNdh3t1dUVooRiSQ6o64Zsf77z8oa+TNWfg1rcFglxdgNQE3e1vyz6EqHsI5q2dZ3QFw== 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=q97dgJcKaznDaiT0AcgXdXUVvbNbn77jPctO9i1S91I=; b=eqeJzTaFoYzBAKzcGl+iRqn3NaMZfYIJltHvoC+3QvDLIkjIanQj0FSgifn7rxBBvZb0eaQSGRKXdf/llawVno3klMKHbattJ2bbpKJD2I6+SGzYydM3yDft7qOY49OQr3teDkkql/57a8ALIDS90Lji71YEDV9+RYh+7ezTgMnac3P1/NEai1jcedUaQdWKq64hkKGGav01oLqjGYN6PgFnRjV6h0PuKsd1mQh1i6KJwGH8ssXrBKT0aCYrxpavbPlniGUz6gUzP3sAPhttPebYrzdQMW+cxOl0EhU3aASIqWbTnr3SXDrdJZAMUGExT28NGHxR6js+l++Me8d1hQ== 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 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=q97dgJcKaznDaiT0AcgXdXUVvbNbn77jPctO9i1S91I=; b=QijRds5+bf951iKOdgyK/RhxIcBtvnMLs10qhD3S51VEM8gWkzsEra7kzopf7oxzi20+Z3saqNCac9O3eTvn/l24N8TJ7aTG2Hj25UGPX8R7QFfO1wZ6IeWUvZt9nk9EeSGbM7SLhzBEMpzOOL6iuYf4IKdTsPVXd/EAlbanT8yRDFisfq6ZhgDGVN06sjWKaPqIs9XsQDCPlYaLYYWBlLNvyoVg05aov5kDLblxYuS+WJqNV8nx4OoSkbnlBn6jVPBY8QQKwghv/5XoEe2zyDkhjZCPvT9Vj090laRGdqOXZvJCLD9qG0qKl2PuEqDU1VSfvc2YOo+1sBvZ/K9zJQ== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=suse.com; Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23) by VE1PR04MB7359.eurprd04.prod.outlook.com (2603:10a6:800:1a0::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6631.47; Thu, 3 Aug 2023 08:12:07 +0000 Received: from DU2PR04MB8790.eurprd04.prod.outlook.com ([fe80::e5cf:5743:ab60:b14e]) by DU2PR04MB8790.eurprd04.prod.outlook.com ([fe80::e5cf:5743:ab60:b14e%5]) with mapi id 15.20.6631.046; Thu, 3 Aug 2023 08:12:07 +0000 Message-ID: <5a5fae9d-e240-c808-702b-93871e39be47@suse.com> Date: Thu, 3 Aug 2023 10:12:04 +0200 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.13.1 Subject: [PATCH 05/10] x86: replace/correct bogus "prefix_extra" Content-Language: en-US From: Jan Beulich To: "gcc-patches@gcc.gnu.org" Cc: Uros Bizjak , Hongtao Liu , Jan Hubicka , Kirill Yukhin References: <9bef986f-7441-c4a9-5bfd-7bbed0a3d950@suse.com> In-Reply-To: <9bef986f-7441-c4a9-5bfd-7bbed0a3d950@suse.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-ClientProxiedBy: FR0P281CA0236.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:b2::8) To DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|VE1PR04MB7359:EE_ X-MS-Office365-Filtering-Correlation-Id: 1da7d35b-4ffc-4afa-f63b-08db93f953ea X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: ShBe5If0N20gl5LKRds2ZodGBjAY8Hz4aLWncb11cr2MVt0NLeRBcJnkj7mxx10AMyt9jM0GrdrdjJQCPJCO1HehAG4qhlxfHB5ooUlXf0x6mg7AItJppx2bTiS64stMA5vYA6H2V+eThtuSQR7d+fxrHNDfBIlu6ADQOuLUO02b5cKVJG3RpsrSdBlgjUai+1E3KeLcWfeEIB8lQHadnQh/bD8q1KpGDF7TLLQE09jwgIUwbpNBQ1vHPsYRMkMiZmn7TUC6GD4GIZzv4W2/JMb+RO89mZA2moTeCV1QepVM65H+4czfid0Aa4FdcpQjEDItp44/fdaxpv3Oewf7mKkjF/Pyc2YFtFy2qZDRnU9c7Tae/QtaMCS6MtyNRTE4hnv3I3Gp2zyX4PRmepJ2V99lCHJHQBXbjSzpi/Z3NiKM63jYhr/b3ALzQqtcBPrB8u2DrJtCrznfQjp7zdrmc5wWexHCQYrKDz+J9BS2WcL/lgHWA9HauChpjcvL6N47iRA0vycQPGwQkd1LGwPhXQGG19tLRy1pDpPTwMAOKkOdPU+KEH8ZppRnVv0nasSz05vgKC9ZS/drFynWMUXNMm56GbqC+fWWydkNZ/Ngd0qGeaVHEbqJ3xGk18XjpJL4kmuCi30Q9XlcMrPc3+HTHg== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(396003)(376002)(346002)(136003)(366004)(39860400002)(451199021)(41300700001)(66556008)(316002)(2906002)(4326008)(6916009)(66946007)(66476007)(8936002)(8676002)(5660300002)(38100700002)(26005)(36756003)(186003)(6506007)(86362001)(2616005)(31696002)(6512007)(478600001)(54906003)(6486002)(6666004)(31686004)(66899021)(43740500002)(45980500001);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?RHp0aHVIOU9vVlVyTkxPNXY1OHRHYTdMcEYyQnlPbndBdjNwaWRlaTVETkZa?= =?utf-8?B?Q0srUzdFd1lhNEcxSWJtWXA1dU4vZ3lwQVJNcjJjazZoUnNzVHVpWDFsWGhG?= =?utf-8?B?U2NrUkdMZVZMNk1TdW9lZjBzVC9NeGxlNTlnYmxPWWt5M1l6L2pkRTN1NC9W?= =?utf-8?B?aDE1TGd5N2hHbUx5VlkxWG9aMTdnUkdBcHN6dnBPaG9Jb1R2VTdJSzV1ZHpj?= =?utf-8?B?V1ZhTksxaXVnMDNoZDRHRHJBNnlMcU56OVFnWXRuSXRXMGQvc0UxTFhNd1FG?= =?utf-8?B?NWdONzZMWlFkWWJOdlV1S2VGdysrNjdkZ0FPNDcweEk1cW1oWHR2NWJrSEVt?= =?utf-8?B?SGpvV0V3SENDU3NNcFpxQVlaRnFrN3oyNld3MVpJLzdSVUNWcFhvRFExRXZC?= =?utf-8?B?cDB3T29hMFg4TmlMVWdvcHpXNEtyOVNsdEIzMUNISFlSSXdLT3F2NnMrbHdM?= =?utf-8?B?eitzd2tGSGVIQjlEZ0QrRXNzbVVQakx0dURQemxIY0NYWHJWZnQyYkg4NEQv?= =?utf-8?B?QmZxMGdmNXlYRVRxdUVncDBSdUIvMFdJamxuTjNaeXgraVpTY285ZElZSFBy?= =?utf-8?B?TlNlMittTjhacGpXMG9TcFFsVmZIeUFXaXV2R3UxejAvS3N2Vk85NDQ4SFE5?= =?utf-8?B?alAzMkV0ekpVVXNoL2g3TlJPSFI0RFRiWUwybEZTT0dLbTFIMFdEenZDMlpy?= =?utf-8?B?YWZURkd0THYwanRqRDlPYmd2Vy9CcVZDTjE4aExwNDF4cW03M2dNbCtZK0pG?= =?utf-8?B?NVdqaGhadEUxM253d1JjU1NSY1p2SHN0NS9LdGs5ZCtSU3hCc2NRaEFHSFBW?= =?utf-8?B?enU4QkIzR0hOZUJsY3VybjdFUlllR1gvTTBVY2hOTVdqUWlPaHM3TlJuQm1r?= =?utf-8?B?QVBmMFZlNXB2MFkzaVFRRjBVS1ZzVEd6UGhlYkNLRkNhUEtZd0ZCbVFxM2Qw?= =?utf-8?B?N1I2S3AxZDZjWmpDRkVQUnNVT3NGV2E3UFdIWUZjcVpheklrNmRMSGZ3Tmdl?= =?utf-8?B?UjJrS0EzSGxYN1F2L3RGZTJsZk9DNWtJV1VCSjI1aXA5bCt2R0xIbFJ4d082?= =?utf-8?B?NTFrWDE1bFJZQkdFeDJJN1BUbW5PRldxVmJzUnpBbm1hejJ6Q1Y5bFRjL0E0?= =?utf-8?B?MEpSVmVNNjRsbkRIMUdweGROSUZlenJtNE13bnhlWEsyeGhOUTB3Mjk1TDhN?= =?utf-8?B?SEI4THdoU2NtSHcyQUhabHJJQWN5aDI2V3RzZzh0S1VqakhIK0M2Mlc5ZVBq?= =?utf-8?B?RksrMXRDTnhMMEIwWDRHVEs5aWZwZ1lZcXQxdkFoOUxkNVN0cnorcmxHT2ph?= =?utf-8?B?UlQ0RVF0UWFjUE15bnRnSFg3blBTT0VJbzFkek9RMnZ4Q3dXalFzNlBuS0Yw?= =?utf-8?B?aWlXMTZ1MXpDa05Za2twcVpMTU01SU9seE1FdEprSVVPNzFaYVAxa3EvNUJW?= =?utf-8?B?ejBJNzd1OXVhOVZNZEgwdTBkT0g1eElMSm5laW5tWFJLUkdHOFp6S2hCZ1RT?= =?utf-8?B?QlhidEdXUTVQaWNwamg5Y2dER3FOQzlqMDl5SktqRy9EM1UrL1MrcEV5djJ2?= =?utf-8?B?c3RVRHBmU0tCQit6KzBDNXRnZXRxazJXQnVrdjNBbDdSR2JTTEhkWFdxWE8x?= =?utf-8?B?dVVRM3crM0NuSnhWdmF1L2UyTUpZRjdCOURxTWdoMkh4Q3VBazRpZ2ErcGF4?= =?utf-8?B?VllVa3h4ME9Zallqc0JzRmVBMndDQmlOWDNjakQ1SDNndUVmcy9BeVJjSnZG?= =?utf-8?B?d04wRTNlZXExOVZlQ1AycDh2V1NuMUJDVzI2bDJMb1RGWVZ1b3hUSGI5a2dm?= =?utf-8?B?MDBoN3FzWkRaVzdZNndUelZDa0F0K1RMUFZ6YUwxWnZ3bnhCZFNrREZRNmVm?= =?utf-8?B?RkhFcmkyeXdDdGpJZVdsb3lkNTZjZFg2TnR5dWpoNWczdFVYNjFYeFBGaS9r?= =?utf-8?B?aEhUQm15RjYvMyswdUd3cUFYdEJVRmMzWnQvZ201ZXdDQW5OdHpZdTJsVmJR?= =?utf-8?B?STZZdlVDdWRkbVBpaFVFL1pxMWd6M3p3NjY2VFRtbW9RZDlhU3UyOFFTRUI4?= =?utf-8?B?aWVpRVZiSkFDTXYyWjYzVWVNTHNPVWFBbjFTTHN1Ykw2SjNJaU1XbnBwMVVy?= =?utf-8?Q?OJyZh75k2Vyv4E7mV90vH/g2A?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 1da7d35b-4ffc-4afa-f63b-08db93f953ea X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Aug 2023 08:12:06.9391 (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: S4mGbgv/WCRzZV8gI6ZTqIiEFbj+oMHjuMWzrQQRHSiavOfLiMtRSVaVzdQuB2sypfNtLvqNRYTwQP9D86pcyQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VE1PR04MB7359 X-Spam-Status: No, score=-3027.1 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,SPF_HELO_PASS,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 List-Id: In the rdrand and rdseed cases "prefix_0f" is meant instead. For mmx_floatv2siv2sf2 1 is correct only for the first alternative. For the integer min/max cases 1 uniformly applies to legacy and VEX encodings (the UB and SW variants are dealt with separately anyway). Same for {,V}MOVNTDQA. Unlike {,V}PEXTRW, which has two encoding forms, {,V}PINSRW only has a single form in 0f space. (In *vec_extract note that the dropped part if the condition also referenced non-existing alternative 2.) Of the integer compare insns, only the 64-bit element forms are encoded in 0f38 space. gcc/ * config/i386/i386.md (@rdrand): Add "prefix_0f". Drop "prefix_extra". (@rdseed): Likewise. * config/i386/mmx.md (3 [smaxmin and umaxmin cases]): Adjust "prefix_extra". * config/i386/sse.md (@vec_set_0): Likewise. (*sse4_1_3): Likewise. (*avx2_eq3): Likewise. (avx2_gt3): Likewise. (_pinsr): Likewise. (*vec_extract): Likewise. (_movntdqa): Likewise. --- a/gcc/config/i386/i386.md +++ b/gcc/config/i386/i386.md @@ -25943,7 +25943,7 @@ "TARGET_RDRND" "rdrand\t%0" [(set_attr "type" "other") - (set_attr "prefix_extra" "1")]) + (set_attr "prefix_0f" "1")]) (define_insn "@rdseed" [(set (match_operand:SWI248 0 "register_operand" "=r") @@ -25953,7 +25953,7 @@ "TARGET_RDSEED" "rdseed\t%0" [(set_attr "type" "other") - (set_attr "prefix_extra" "1")]) + (set_attr "prefix_0f" "1")]) (define_expand "pause" [(set (match_dup 0) --- a/gcc/config/i386/mmx.md +++ b/gcc/config/i386/mmx.md @@ -2483,7 +2483,7 @@ vp\t{%2, %1, %0|%0, %1, %2}" [(set_attr "isa" "noavx,noavx,avx") (set_attr "type" "sseiadd") - (set_attr "prefix_extra" "1,1,*") + (set_attr "prefix_extra" "1") (set_attr "prefix" "orig,orig,vex") (set_attr "mode" "TI")]) @@ -2532,7 +2532,7 @@ vpb\t{%2, %1, %0|%0, %1, %2}" [(set_attr "isa" "noavx,noavx,avx") (set_attr "type" "sseiadd") - (set_attr "prefix_extra" "1,1,*") + (set_attr "prefix_extra" "1") (set_attr "prefix" "orig,orig,vex") (set_attr "mode" "TI")]) @@ -2561,7 +2561,7 @@ vp\t{%2, %1, %0|%0, %1, %2}" [(set_attr "isa" "noavx,noavx,avx") (set_attr "type" "sseiadd") - (set_attr "prefix_extra" "1,1,*") + (set_attr "prefix_extra" "1") (set_attr "prefix" "orig,orig,vex") (set_attr "mode" "TI")]) @@ -2623,7 +2623,7 @@ vpw\t{%2, %1, %0|%0, %1, %2}" [(set_attr "isa" "noavx,noavx,avx") (set_attr "type" "sseiadd") - (set_attr "prefix_extra" "1,1,*") + (set_attr "prefix_extra" "1") (set_attr "prefix" "orig,orig,vex") (set_attr "mode" "TI")]) --- a/gcc/config/i386/sse.md +++ b/gcc/config/i386/sse.md @@ -11064,7 +11064,7 @@ (const_string "1") (const_string "*"))) (set (attr "prefix_extra") - (if_then_else (eq_attr "alternative" "5,6,7,8,9") + (if_then_else (eq_attr "alternative" "5,6,9") (const_string "1") (const_string "*"))) (set (attr "length_immediate") @@ -16779,7 +16779,7 @@ vp\t{%2, %1, %0|%0, %1, %2}" [(set_attr "isa" "noavx,noavx,avx") (set_attr "type" "sseiadd") - (set_attr "prefix_extra" "1,1,*") + (set_attr "prefix_extra" "1") (set_attr "prefix" "orig,orig,vex") (set_attr "mode" "TI")]) @@ -16813,7 +16813,10 @@ "TARGET_AVX2 && !(MEM_P (operands[1]) && MEM_P (operands[2]))" "vpcmpeq\t{%2, %1, %0|%0, %1, %2}" [(set_attr "type" "ssecmp") - (set_attr "prefix_extra" "1") + (set (attr "prefix_extra") + (if_then_else (eq (const_string "mode") (const_string "V4DImode")) + (const_string "1") + (const_string "*"))) (set_attr "prefix" "vex") (set_attr "mode" "OI")]) @@ -17048,7 +17051,10 @@ "TARGET_AVX2" "vpcmpgt\t{%2, %1, %0|%0, %1, %2}" [(set_attr "type" "ssecmp") - (set_attr "prefix_extra" "1") + (set (attr "prefix_extra") + (if_then_else (eq (const_string "mode") (const_string "V4DImode")) + (const_string "1") + (const_string "*"))) (set_attr "prefix" "vex") (set_attr "mode" "OI")]) @@ -18843,7 +18849,7 @@ (const_string "*"))) (set (attr "prefix_extra") (if_then_else - (and (not (match_test "TARGET_AVX")) + (ior (eq_attr "prefix" "evex") (match_test "GET_MODE_NUNITS (mode) == 8")) (const_string "*") (const_string "1"))) @@ -20004,8 +20010,7 @@ (set_attr "prefix_data16" "1") (set (attr "prefix_extra") (if_then_else - (and (eq_attr "alternative" "0,2") - (eq (const_string "mode") (const_string "V8HImode"))) + (eq (const_string "mode") (const_string "V8HImode")) (const_string "*") (const_string "1"))) (set_attr "length_immediate" "1") @@ -22349,7 +22354,7 @@ "%vmovntdqa\t{%1, %0|%0, %1}" [(set_attr "isa" "noavx,noavx,avx") (set_attr "type" "ssemov") - (set_attr "prefix_extra" "1,1,*") + (set_attr "prefix_extra" "1") (set_attr "prefix" "orig,orig,maybe_evex") (set_attr "mode" "")])