From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR02-VI1-obe.outbound.protection.outlook.com (mail-vi1eur02on2075.outbound.protection.outlook.com [40.107.241.75]) by sourceware.org (Postfix) with ESMTPS id 263423858C53 for ; Fri, 14 Jul 2023 09:42:16 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 263423858C53 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=LQqf7ambjbEeAcrNTHp42Uac3mlu7IOVVr4UgkzvwcI0ReLJfEk5tm9k7/TA98gLmzGJHo0DcEJWfENs5ZpIu2wxTjjBuUVK7LaXHA+19hanRxmx06Ftjh0L1urACBDeLup8Pk3TrZkJm/igCveh6KZ+U6lKy1xHSpohVKhKUY02ZfCBB1I6V5TEknRewNEFjtAKNx891DIE8ituSEhD9yz2jPxU6CTr7zAmk79OjgtBDxO93kJUdFJTNJBDXYFhpQCMy7xezxoDG7LTS/HeCvYcAkZLbTaPRJb1BOtEHa6yVX38QEfMY/Rs7wU94JGcM8z71b7hl1q6gIMdJoGgxg== 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=coD9S7+wt0k4FDwT6DtnEIJg0FcURtWPZ0H+pcMySKI=; b=S9gEcVb35AK+3NB5ydDOTv5FcnE4Z7GlTxaRlj2B6OxacHY+tWRlgb3OI6KUZyBVaprXH92VhNSiwh5tYFPVHDb5ddXSdEzXz+q4YwfYhsXnOFv1xP04WZoaYLWmUxoJ1MbTP6d7AwypBjmX4/99NMqYulGi0/eUeuVzhSe1+ozf4P0fVZpcVcalNUAzDFQawakgHJu+OwnpO+J38On1xqXmDRGwCjc1XXIvNiiUHH9Zsy/X++bPi0jk54GQ+ndk8Yhn8JoDsUWa2z6tAsZCwr1zJtUYjSpFsd2/CsTOl/R5lOT6g6iKRuqY9nBFeQducw/XUr6uggAd+TDuY/S6ug== 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=coD9S7+wt0k4FDwT6DtnEIJg0FcURtWPZ0H+pcMySKI=; b=g6P66MtOyoNtVQJLyurh02upL82I0OrPz40m06aIVA066JU7spIa+pVCxVc8H3Y7YGupXi0Hqs72FPbwGbKS6fOgEEUaW8e6RKkjmssGpyT/Ns0bBuDrZIXrKgvqRTwuE9i4ULh35tMz0hGzbP92ZH3OoXZckc+dikQd6VuLjiR7t8uZjW+gl+1nTXDII4Im2f7oUzILaqPWid9EFQiZ6JBr0ULavfLrhQi6hX2zpcB6ETvz5mCbVRci6/1Weq54RbldAvqMMIg4fbdnTOo1wk0SMZYnTFPuOSsBI690vR30vXrRpY/SAkgaRo5Xdq4fRyIR/AfDDD8n9M5PH4k+jQ== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=suse.com; Received: from AS8PR04MB8788.eurprd04.prod.outlook.com (2603:10a6:20b:42f::21) by AM9PR04MB8810.eurprd04.prod.outlook.com (2603:10a6:20b:409::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6565.17; Fri, 14 Jul 2023 09:42:13 +0000 Received: from AS8PR04MB8788.eurprd04.prod.outlook.com ([fe80::cbc0:69aa:c9a2:198e]) by AS8PR04MB8788.eurprd04.prod.outlook.com ([fe80::cbc0:69aa:c9a2:198e%7]) with mapi id 15.20.6565.016; Fri, 14 Jul 2023 09:42:13 +0000 Message-ID: Date: Fri, 14 Jul 2023 11:42:11 +0200 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.13.0 Content-Language: en-US To: "gcc-patches@gcc.gnu.org" Cc: Hongtao Liu , Kirill Yukhin From: Jan Beulich Subject: [PATCH] x86: avoid maybe_gen_...() Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-ClientProxiedBy: FR0P281CA0246.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:af::11) To AS8PR04MB8788.eurprd04.prod.outlook.com (2603:10a6:20b:42f::21) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AS8PR04MB8788:EE_|AM9PR04MB8810:EE_ X-MS-Office365-Filtering-Correlation-Id: 1a9fbb26-a251-4eb3-2e16-08db844e9a42 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 2ptS64EXSysKFs8igDFAZsrH1rdbHTIgXLY8HXyzzmruXBDi5q9br7qa7TBPsfu2u85SPXYm7ucLNQb3h4oG+aetaVoddGGYVPxRRiU/HJWqOI7xFo/u4qCcSMj+WL681jgvsNcm+4/lS95p3jSyUABMzVR238j0rvBn19zoWq2VPY8uHYksySXYf7WnNHnqhz5gZLlEJQYntMSrCGUswC/s2o54Ov6IyQp3LTdSKdPaqRbZe62kOD/bqpvezM/9a/HhcO7SBIRlwRuOLVUQneN3tLhzbr4bZzi8Iy3ZuuUANB/c2uoT8u501Y1bVSy2+4dtdGrMjd3s8HoejYajlEcKR5BQ7Fhb609/AXQ/Vkkuzx3gB5UJKGZq/iBzhS1OXQ3r83Az4VIAjUGaOTOwag15gRFM3YjQtag4Oy/JsF+GUzKYL71HGYWrApfuqCbwWk2PiD6rM1msfAwqETB71VqGtwWsAVwbVjgkywM3CkduR46WiSpZTfDezoM+PDj768tCaN9gwESg7SoiKiwzZfDQDMyg5/3t3hjqMThWV6SFU1CDJoPPPvja9/tVoak+Nbm9Un3lE/YATsDLWSKClr3PhjbRFRMgCTD0xJVu2Qq8wDGpyJ1pzsYdWx9nOsOp/LsyGjBeGxTFHBm/GbHXzg== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR04MB8788.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(39860400002)(136003)(396003)(366004)(376002)(346002)(451199021)(6916009)(2616005)(6506007)(54906003)(66476007)(38100700002)(66946007)(4326008)(66556008)(478600001)(6512007)(86362001)(36756003)(6486002)(186003)(26005)(31696002)(8676002)(8936002)(5660300002)(31686004)(316002)(2906002)(41300700001)(83380400001)(45980500001)(43740500002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?VmhDdWlSbnhxSDBCalJteWxwQm03Y1hVcjZmSGsyc2VldnB6d2ZqWjRwVk1i?= =?utf-8?B?UXJoTC8wL0RLdXdYYlpwZEdWdHQ0RkV2eHA3YnljUlFZV04valBibXQ1ZTBF?= =?utf-8?B?S3ZHSUh1NU1hcnNyNUhXVkppdjJTNEdrclVvUGt2Q0JPMFpEY0hhYU1MR2Zq?= =?utf-8?B?UjhGd2pWbWthdG93TGM0c0NBRGxRZlZhaTFCVTVZR1dkcStsRUJ2dUhEd21o?= =?utf-8?B?Szg2T1pkR2J5VllqYWoxSCtob1h4Um5IUWc1N1hxTC9LQjJ3Y05WUU9BVVlv?= =?utf-8?B?YW1qMTFaNDl6T3dReDI4MkJ2TkRkMVh5MmQydWRJZmZJV1NwbkNIN1FjaGpq?= =?utf-8?B?QXM0MG0vaUdWb3cvV00vOG40K3UvVUlRT1U2SVE0Vko1cHBjN3NuYndMTUUx?= =?utf-8?B?VFRKOHVOUER0VS9VY0dDbTZqM2N3VHkyRTZGMVRDRVo4Z0xBQk1vOVAxUFlW?= =?utf-8?B?eUxXNDErdEFKTDdFaUZPWVRhSzBKeGI3Ni9ZY2d5OTFVcmhmelY5UVFoNDN5?= =?utf-8?B?SDl0Nzl1d3RXUHBmbUh4RkVmOG9KWGtKZnM2ZDdxcjUrTGc0WTJ1aFZGK3B1?= =?utf-8?B?SDhPYktwbEd4TGFmSXR1eTBQd09oQVV3KzNHeUpEZ1lFNFpYUlNLOTVnbk1i?= =?utf-8?B?Y3pWOFhWc1ovVEhxR29IY1VYcno3bWJ6eGhKbzBBbmZHd3ZKZnZ0b2hEMVFY?= =?utf-8?B?SmJtM2pvOVNhdmtmZER1ZWxYZ3pvY1NYMkVnZ2JrN2xrVmdzN2FjbVRtcTRV?= =?utf-8?B?dDRwOVozclZNcXdWSG5Jb09jejhRbUVpWXcyeFlsUXdXVGRNQzJsZC9VY1VI?= =?utf-8?B?bHNTQXBLMURQVkYwc050Q2ovSlZ6TUk5NEY2UmcvMnl5VkUveStTeVhWMjMw?= =?utf-8?B?VDFZbXZFZVhZMStmbkVHY2d4ejFNY3I3UlRQcUdTZmUzT2k2UmtNZVdXOWdy?= =?utf-8?B?bmtkWllDWWlsS3prZlRtYlNkVExwZ1dmMnhkQTJhR0hpM1BEbDJPR1VpcXBX?= =?utf-8?B?Y3BEZlladHBQRlgyZDZKN09ZZGRwT3pXQ3BQdmd4UU9yc1pSNlRSRVlNZHhm?= =?utf-8?B?c1ozM3h4TjRvS2FmVEJybmdlUGxDTEp3U0t4TFkraUpqSUo4aDhncnlOa2ZI?= =?utf-8?B?VUZSYk5qUUJDUEtTSVhRSlg0bXpvY29iWTZGYlV4RXRUVUUzbTE0VGwwa3BH?= =?utf-8?B?K2IreVpTekgzd21SdjhmMitkdE9MYWpkNU4zN09nNk5xT2trRk9YVVg3Sklh?= =?utf-8?B?NVRjVmIvN0owYVFINmFrUkRBUVgwQ1J2RHRVS3drRnNFcHAyK0ZaemROeHJD?= =?utf-8?B?WEdZYmVMQlRUL0xRQ2xlQURCTEx1dmJaNDFodkhETFpYb1BRR1VuNFdqTHRC?= =?utf-8?B?UEVUYlVENHhMNkpDaFNBWjZtZzBscU9RWWdudXlKTEt2bDZzWkZLbk45cXRh?= =?utf-8?B?TzhBeDhkNkRhaHlyakxTTlM4Z0VobG5zdHlvKzRNZ0k4d1FvV2xhbXUvZGht?= =?utf-8?B?dldTOUxOUW1nRzZvK0ZqN0tzakxmUmhDa1FpcElaMy8rbUtqVG1IZUJBNlVM?= =?utf-8?B?bDhlL1JLdVBnN1k4UDBvK2xmZXFnNTVWc0oveFNKb043OGZWbXFJaU1lNE5P?= =?utf-8?B?TWhoWmRZSUNuZ1JxNXpuT2JYN0g3b3FsblhZWEg1VVlhTFB1czYyTDdLeXds?= =?utf-8?B?SnMzMExGU2ttSVByS1VzZ1Y3bDRGQ3p6VnJCYnVvMGJoQit6R3ZCaTJTdEN3?= =?utf-8?B?cGxQOTVkNlJVdkNqM292RFhRb1gvUU5NWkJCb1JmZ3gxdGUwc1ltWGNsVXNj?= =?utf-8?B?MHpqa3RIWWJSYlZ1NDArUUdLNXBHWXVOaWhGbFdXU0FNVlROU3RiNEo1M0sx?= =?utf-8?B?UTY4RmUwSncwYkNnNWJUaHpod3FZR09CcDZuY2RYRTUyRUJsMEhZeGM4b29k?= =?utf-8?B?aENEc2RYTjZBWW85b3JwRGpZNWpqYm0xa3BqZk9YYTl1cGZNdUJBZ2NXMmJE?= =?utf-8?B?R1RDYmRDSmtIaFpEeFJteTFGcm5hT2JPMllzbkpCR1FOR3d3eVp5bXVuK3dZ?= =?utf-8?B?eWE0NzA5NEQ3eGZOQ1VEaHJicmh1ME45bVFGb0h1blhVY2IxM2ZpMWoySlZ3?= =?utf-8?Q?/W6rsW1SqNATpoLZZ64H2mdGu?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 1a9fbb26-a251-4eb3-2e16-08db844e9a42 X-MS-Exchange-CrossTenant-AuthSource: AS8PR04MB8788.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Jul 2023 09:42:13.4025 (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: tvP3AHiFkgiMjBnDGvlr4yO9EfzMNFR3nqHo4tQFV55x/oAuv9QO8ilGG8Pl6kVMvyHi9z7JYOA6Xor6i3L3AQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB8810 X-Spam-Status: No, score=-3027.2 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 (however unlikely) event that no insn can be found for the requested mode, using maybe_gen_...() without (really) checking its result for being a null rtx would lead to silent bad code generation. gcc/ * config/i386/i386-expand.cc (ix86_expand_vector_init_duplicate): Use gen_vec_set_0. (ix86_expand_vector_extract): Use gen_vec_extract_lo / gen_vec_extract_hi. (expand_vec_perm_broadcast_1): Use gen_vec_interleave_high / gen_vec_interleave_low. Rename local variable. --- a/gcc/config/i386/i386-expand.cc +++ b/gcc/config/i386/i386-expand.cc @@ -15456,8 +15456,7 @@ ix86_expand_vector_init_duplicate (bool { tmp1 = force_reg (GET_MODE_INNER (mode), val); tmp2 = gen_reg_rtx (mode); - emit_insn (maybe_gen_vec_set_0 (mode, tmp2, - CONST0_RTX (mode), tmp1)); + emit_insn (gen_vec_set_0 (mode, tmp2, CONST0_RTX (mode), tmp1)); tmp1 = gen_lowpart (mode, tmp2); } else @@ -17419,9 +17418,9 @@ ix86_expand_vector_extract (bool mmx_ok, ? gen_reg_rtx (V16HFmode) : gen_reg_rtx (V16BFmode)); if (elt < 16) - emit_insn (maybe_gen_vec_extract_lo (mode, tmp, vec)); + emit_insn (gen_vec_extract_lo (mode, tmp, vec)); else - emit_insn (maybe_gen_vec_extract_hi (mode, tmp, vec)); + emit_insn (gen_vec_extract_hi (mode, tmp, vec)); ix86_expand_vector_extract (false, target, tmp, elt & 15); return; } @@ -17435,9 +17434,9 @@ ix86_expand_vector_extract (bool mmx_ok, ? gen_reg_rtx (V8HFmode) : gen_reg_rtx (V8BFmode)); if (elt < 8) - emit_insn (maybe_gen_vec_extract_lo (mode, tmp, vec)); + emit_insn (gen_vec_extract_lo (mode, tmp, vec)); else - emit_insn (maybe_gen_vec_extract_hi (mode, tmp, vec)); + emit_insn (gen_vec_extract_hi (mode, tmp, vec)); ix86_expand_vector_extract (false, target, tmp, elt & 7); return; } @@ -22501,18 +22500,18 @@ expand_vec_perm_broadcast_1 (struct expa if (d->testing_p) return true; - rtx (*maybe_gen) (machine_mode, int, rtx, rtx, rtx); + rtx (*gen_interleave) (machine_mode, int, rtx, rtx, rtx); if (elt >= nelt2) { - maybe_gen = maybe_gen_vec_interleave_high; + gen_interleave = gen_vec_interleave_high; elt -= nelt2; } else - maybe_gen = maybe_gen_vec_interleave_low; + gen_interleave = gen_vec_interleave_low; nelt2 /= 2; dest = gen_reg_rtx (vmode); - emit_insn (maybe_gen (vmode, 1, dest, op0, op0)); + emit_insn (gen_interleave (vmode, 1, dest, op0, op0)); vmode = V4SImode; op0 = gen_lowpart (vmode, dest);