From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR04-DB3-obe.outbound.protection.outlook.com (mail-db3eur04on2072.outbound.protection.outlook.com [40.107.6.72]) by sourceware.org (Postfix) with ESMTPS id 21369383EC4F for ; Fri, 10 Mar 2023 10:27:52 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 21369383EC4F 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=B9jDkVTeY4/w+iwuB9k3dtpCm5CZXnyS9J1DB00ovudqB1IpEqtJcgMSXo07jYnnPr8S7rOSvk4uiY5H/a8o+BtAAvPLGARsiFrYuLgiG8yr6VXtHQwpwnghsJ9fdD10JlP8YPJ/fZnAZH6vG9bxILtYGMOVcdItvngc0tjLI8h8uABCLf3ypsvlL142GGNmwFeNp+XwMiyczt1ylx7cL9TBglMC/PKhKtfPQT2NTUUAKoJ2xJ1uLHQNfXzyfZmdgp+mXYvvjF4NFfJu3iEE8IMHQR0H7YUQO5S+siVSH7SnYZbw+crxs1TWtUm7EhJSuwKsS8o0DX25pE+Fyn9k1A== 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=mf+i9jlLRxSs+OzHC19gg0tHvJYvCODvFt5dfvOeNtY=; b=YUEmRxVQ3oevywVSelscgdyr0prmsOXwaAEN+lHSAZFn9S3v8pvw8bd+4Uq8qAtlW5iexFZJv7Dj+PRnCyL0qvWrn7aIjFPrmKFswcbWZR6Pd6gUMgupDOdKRMAuiL1O8Ej92B25JpAKHmhvL0ZkGAhOISFeICvuKJprvBonYLXHoEfNydqGGDunrUbZd/0DgS7/2AL1WIpKBy8sd0ShdSZV1ih2AakIH60Ve6A5vSOH9zMQkPZRV9GN3PP+rjRWtbs4j0GbE4qvGXjJUQeGJpnVsgD33TRZ6Ffv3uZ0Ijtta0mVIwB5mevCntfXOTsRWzzWMlYZZ/3MPWB7mvRQTg== 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=mf+i9jlLRxSs+OzHC19gg0tHvJYvCODvFt5dfvOeNtY=; b=kI0dIfObaplkjjV0lrvtLQwg/JUrV1brrSMvAW+IqYJg+u1F624MG9xpw1lN6lJSVq8ZeXQatpoTyQw0993CR+MzUMj/olgE3eNsYw1ElXckRhUk0KocWwoTCLIYTdEsgoufpvGRAuJBsel7LtM1Lnyd0SDkjxmWTRGf4w2cWbqOYKtpHO9lHtUB6GJpE+rQwHKVkgPaVG0RfrVWQAGMm0oSGPCQDRTjIfL/nhx8Jv3Klg7AOG9NkvWXkZf91n3e3HcmCO3kNtQVd5Qcw1huvSNXm7pyWxsWgQ6bcwa/+xqm2QaGa+9zXpDCLrl/FIDJtI7WUhn0YlxStXPDAx1WKA== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=suse.com; Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25) by AM0PR04MB7138.eurprd04.prod.outlook.com (2603:10a6:208:19e::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.19; Fri, 10 Mar 2023 10:27:49 +0000 Received: from VE1PR04MB6560.eurprd04.prod.outlook.com ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.019; Fri, 10 Mar 2023 10:27:49 +0000 Message-ID: Date: Fri, 10 Mar 2023 11:27:47 +0100 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.8.0 Subject: [PATCH RFC v2 14/14] x86: .insn example - VEX-encoded instructions of original Xeon Phi Content-Language: en-US To: Binutils Cc: "H.J. Lu" , "Jiang, Haochen" References: From: Jan Beulich In-Reply-To: Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-ClientProxiedBy: FR3P281CA0148.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:95::7) To VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AM0PR04MB7138:EE_ X-MS-Office365-Filtering-Correlation-Id: 90a66f24-5a38-4793-4d56-08db215218f1 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: nlugT7pcLHpzJjXaKZLB3DJoB8ZgbOga9t5v1puh5wGsLEc4FYrJO0Izhyranc/l24JfUlk2m+tHOMX3OSIOHFkQJFhtKnWhZyaWChE912BDQw0oOtYcfx1utSuKEFXET0DWWReSDmiwA8SwrGPHQjy/IwClhsaEHTYtbD99TRd0zHpCLlYfLrfsL6Dvk395C8ow3fHyd3NuQa4vWR1ab8O5coJ9YNPYg0bimKbxa/wA4ZcrSfpQxYiQxwBBj1j3aSe/Nhm2HfIi3I+FYCzNwx9FUyFnTyho33kKhkWsP6NJQLaKg5VQRIVChR8ZtmnXP6Jn8jAhy83TDOrTlTsl2uwqSSLwoQO7QaItMue6NlaikZXkGCIS1LNRojKOxqNQf7AUuNRXezhoPXVXdkTpnyWVYDR7HreXRaeJzg8abeHdjmhZ859P0wIIN9hSsnRfb1kjlLjK7HKmRGDcsEWAa5hEP3QZqp81yKxPiQfwBr4ql5GWCvYGcSy3xh+PDY3PV1OGbxB4j5G8OystSy1HYvkXDlHekaOSSuzKTtaSE6n6gDOtmBtul2PVngJOTz9HsGv/OmGjDh3babhD5WErsq/PTUbRg3T2GJyEaYFJVIy8305AQMX90oBrNv3jTHsSpYZc4zH9CK/LBC3JbiWNkEsEyLlHQPnANNDgWHtXip2gmfwtLhgQF4dg5wnlF8rsVe4LI7VcvSSTTQ9m4LqoxvIkAJ3gp5OxR/sHBPGi5oY= 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:(13230025)(396003)(346002)(39860400002)(376002)(136003)(366004)(451199018)(31686004)(83380400001)(36756003)(6512007)(54906003)(478600001)(316002)(38100700002)(8936002)(6486002)(2616005)(41300700001)(6506007)(26005)(186003)(5660300002)(8676002)(66476007)(66946007)(66556008)(2906002)(6916009)(4326008)(31696002)(86362001)(43740500002)(45980500001);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?MHBkL0Vyd21HQlIra0N2anlWVUhXT0FFdXNEcUt5V1lRNlRiZk1pZFR3UHVD?= =?utf-8?B?dWdZRHRiNFBYOGRCK3pFNEc0ZFh4S0ErUTBVK0pNY0hiRTRGQmVVYkRjUkhi?= =?utf-8?B?dXlPVU9mOVF4OCtvVzh4TVM3ZnV6SWNwUHhSRnBEVU5CcFptdFZHek9FRDZT?= =?utf-8?B?amduYzRYL2hmVDZ1em5rbDN1MElNanNhQWUxcTFvVEpzYjBwS0tPVnhvZ2lX?= =?utf-8?B?TzB6dHpWZGFqMWZSMkJ1b2QxSEdkZFhydTVGbjN6UUMwRnljd3pDaVdEQ1p3?= =?utf-8?B?eFJ5U1Q2ZGRnbyt2cS9BTkVoc2xiSFh1WE5QNDAwUy9EVjJMbHlRcE1nQTFX?= =?utf-8?B?ZlZEV3VsTjhHMDdWblZLV1VCSzEzdzExdDFYckREdjBBSXEyWUdwZjVOTEdy?= =?utf-8?B?alAyMStVTUNCeCtWakJPWWpaakJ1ck1jSWw3WG82Y0NtRjRoNWt3RVZPYkpY?= =?utf-8?B?U09oYlVCcGMwSU5pVWNrTUpob1k3NFczR1Z4T1p4UDlXN1hTVzE1Tk85d05w?= =?utf-8?B?aUdKdzZjRnN1U0NEdnlnV3J6RlVxUm5ZT3BUc243RVoxVEFHeklPRXc2T0tF?= =?utf-8?B?QjFURXZ2MnR3aStOOGlqbkhMS1Y3UWJYRkQ5eE5GWTkrL0dqdHEwUC9PaTR6?= =?utf-8?B?MUU1M0tpaUc0MWNhR3U0OG96ZExZNHpxWCs3RXh6NWMvU3djc3dBSEN4a0Y4?= =?utf-8?B?QnEwR04zNWc1VUcvVEdRNFUvK0VuZU5MQkoxYnBRMkNuQ3hMdHVrRUp3NFF6?= =?utf-8?B?c2FuY2FLRFRlNUh2YjJYbE4yOVh5d2V1clVabXh2MlBPNzl1MnJpM1FtNXpw?= =?utf-8?B?LzNWaVF1N3FFZ1RjbVVNTm9MZTlWY0MxeWJvVUl1emZDd3ZQeVh2bkl2V0w0?= =?utf-8?B?N1dqaHBrVStTdC9JWjRLK1RLaTZUT1N2Qks3QStPVWVCQmpvZDlxU3JGNm9u?= =?utf-8?B?dHBaWHd6a25WbEp6ZnN1ckIrY3FOejV4L3F1Z0NpM3JJdlR3bGVDb29xRi9y?= =?utf-8?B?YW9KU29XMmNHL3V2dzBCUGllMm1YTGZLQ2JOTlo3TDJvYVV0Vm9mdHI2bUdX?= =?utf-8?B?OXpwV0gzMHdnNi9rV3NoOWljeDc2REIyWWk0MHhqZEJTZWFXNkhsMmh5Z20r?= =?utf-8?B?SDFlUVorKzdFemlvRm1yV2JzV2hERUdKRXZnbSt3bm5abTJ3MHoyUG1iOGRz?= =?utf-8?B?U09wczZRZUJlM3NvZDZXQjRjNW8yNVdXbWZxLzBOSDlPQ3FpNkExNmNoL29a?= =?utf-8?B?KzUvajNwY1Q3RTZxSXp3MWFMekdKZWllcjdtRVMwS0xUNkg3NGNpeGREQSsv?= =?utf-8?B?ZkhEa1IrTk9Vc3liQ0pJd3gybll5eHhlRlVPaWY2aFR4czk1cSt2eUZOZ1pX?= =?utf-8?B?bEEwT1lpWlA1V3lkcTBKdDFXOXFSQXVzUVJQckpPcE53STlWK0o1cTY4YXd6?= =?utf-8?B?WTU2QUZmcVdkWlE3RVorM1hzRmZpUlU1Sy9xWEMrSGEydVZrMnlybGVlZGVt?= =?utf-8?B?WUFHQWZBbVl4S3RTUHZ5bnB2cVBvLzBlaHhNM0sramxFUGRpanoxU2tydG9a?= =?utf-8?B?bmpzK3ozTUI0dW9rTk5HMUZ3K2dRSFBvREMyUmk2SHU3VXRScy9xb3V4V1Bl?= =?utf-8?B?S3NNKzZrMk52dUhjdjBaTjAxN1BEY3NJWXlxZk5vSkNlMTMrckNmeVZaS2Zo?= =?utf-8?B?RlhrbkVScC9ERmFiQUxHY1JmMHd3VXQyK25DbWpDc0h6VngrVXM5eWI0ZlNO?= =?utf-8?B?NEpXenR5NFVGYlQ4cjNBR0dOYi9FdHVHQ1VrTTdkbDdGS1dLVE1ZMCtWcmd0?= =?utf-8?B?aTVySjlBbHpIWXJqM0Z3MnFjZ1M4VGFoZkx5V0h2K2pUdjg1dm1XSWdXMWJq?= =?utf-8?B?QXE4bXRzaXgvSFZsSVlOWjY5QzRuUkVCeDVJN1hhQjNFcXJ4d2oxV1czYnZa?= =?utf-8?B?ajVDYUE2K3ZqdUM1UW1kL1NHaFhKZXNKRUIrVFh2YUhPbGFIM2RMVllTbjBS?= =?utf-8?B?MGtKdERNQk8rbWg1eVhBcm1JbU4wY0IrZkQva1JWeCtvWnd0blB6aC95K2NK?= =?utf-8?B?RmduZXBydXI4aVdDeGo1UXFtZlUxMi9md1ZrcEJoUk1zclZIR01sWGJwTmJO?= =?utf-8?Q?XIrk5bP8dUTpuUQqR94UVjP8U?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 90a66f24-5a38-4793-4d56-08db215218f1 X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Mar 2023 10:27:49.3809 (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: pmgr9ctdbp8YQ0EXPsY2eTtkHW9PnMyC1GlMilydUi/WLbOYk6Gt7b69SC45xjfTPgR1Bo/kpYwAxIXkWtoUXA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR04MB7138 X-Spam-Status: No, score=-3028.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 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: While obviously the otherwise unknown to gas MVEX encoded insns cannot be expressed (for now gas simply doesn't know to keep clear the bit distinguishing it from EVEX, and of course Phi-specific operand forms also aren't known to it), the VEX ones can be. Since the disassembler produces utter rubbish, have expectations - at least for the time being - in raw hex dump form. (I've verified with my own disassembler that generated code is correct.) --- RFC: Do we want this as a new testcase? --- v2: Pass --divide. Xfail test for Darwin. --- a/gas/testsuite/gas/i386/i386.exp +++ b/gas/testsuite/gas/i386/i386.exp @@ -875,6 +875,7 @@ if [gas_64_check] then { run_dump_test "x86-64-sysenter-amd" run_list_test "x86-64-sysenter-amd" "-mamd64" run_dump_test "insn-64" + run_dump_test "insn-Phi" run_dump_test "noreg64" run_list_test "noreg64" run_dump_test "noreg64-data16" --- /dev/null +++ b/gas/testsuite/gas/i386/insn-Phi.d @@ -0,0 +1,21 @@ +#as: --divide +#objdump: -sj.text +#name: .insn (Xeon Phi) +#xfail: *-*-darwin* + +.*: +file format .* + +Contents of section .text: + 0000 c5fbae78 40c5faae 7840c4c1 7aaef0c4 .* + 0010 e1faaef1 c4e06074 e7c5d885 e0ffffff .* + 0020 c5f841d1 c5f842d1 c5f843d1 c56895c1 .* + 0030 c5e897f9 c4c3783e d103c5f8 48d1c5f8 .* + 0040 49d1c5f8 90d1c578 93d1c4c1 7892d1c5 .* + 0050 f844d1c5 f845d1c5 f898d1c5 f846d1c5 .* + 0060 f847d1c4 c17abdc8 c461fabd c1c57ab8 .* + 0070 c1c4c1fa b8c8c5fb aef1c4c1 fbaef0c4 .* + 0080 c17abcc8 c461fabc c1c57bbc c1c4c1fb .* + 0090 bcc8c5f8 184f40c4 c1781850 40c4c178 .* + 00a0 185f40c5 f8182d55 ffffffc4 a1781834 .* + 00b0 41c4c178 183c88c5 f81824c5 00000000 .* + 00c0 c5f81840 40.* --- /dev/null +++ b/gas/testsuite/gas/i386/insn-Phi.s @@ -0,0 +1,44 @@ + .text +Phi: + .insn VEX.L0.f2.0f 0xae/7, 0x40(%rax) # clevict0 0x40(%rax) + .insn VEX.L0.f3.0f 0xae/7, 0x40(%rax) # clevict1 0x40(%rax) + .insn VEX.L0.f3.0f 0xae/6, %r8d # delay %r8d + .insn VEX.L0.f3.0f 0xae/6, %rcx # delay %rcx + .insn VEX.L0.W0 0x74, $Phi-1f{:s8}, %k3 # jkzd Phi, %k3 +1: + .insn VEX.L0.0f.W0 0x85, $Phi-2f{:s32}, %k4 # jknzd Phi, %k4 +2: + .insn VEX.L0.0f.W0 0x41, %k1, %k2 # kand %k1, %k2 + .insn VEX.L0.0f.W0 0x42, %k1, %k2 # kandn %k1, %k2 + .insn VEX.L0.0f.W0 0x43, %k1, %k2 # kandnr %k1, %k2 + .insn VEX.L0.0f.W0 0x95, %k1, %k2, %r8 # kconcath %k1, %k2, %r8 + .insn VEX.L0.0f.W0 0x97, %k1, %k2, %rdi # kconcatl %k1, %k2, %rdi + .insn VEX.L0.0f3a.W0 0x3e, $3, %r9, %k2 # kextract $3, %r9, %k2 + .insn VEX.L0.0f.W0 0x48, %k1, %k2 # kmergel1h %k1, %k2 + .insn VEX.L0.0f.W0 0x49, %k1, %k2 # kmergel1l %k1, %k2 + .insn VEX.L0.0f.W0 0x90, %k1, %k2 # kmov %k1, %k2 + .insn VEX.L0.0f.W0 0x93, %k1, %r10d # kmov %k1, %r10d + .insn VEX.L0.0f.W0 0x92, %r9d, %k2 # kmov %r9d, %k2 + .insn VEX.L0.0f.W0 0x44, %k1, %k2 # knot %k1, %k2 + .insn VEX.L0.0f.W0 0x45, %k1, %k2 # kor %k1, %k2 + .insn VEX.L0.0f.W0 0x98, %k1, %k2 # kortest %k1, %k2 + .insn VEX.L0.0f.W0 0x46, %k1, %k2 # kxnor %k1, %k2 + .insn VEX.L0.0f.W0 0x47, %k1, %k2 # kxor %k1, %k2 + .insn VEX.L0.f3.0f 0xbd, %r8d, %ecx # lzcnt %r8d, %ecx + .insn VEX.L0.f3.0f 0xbd, %rcx, %r8 # lzcnt %rcx, %r8 + .insn VEX.L0.f3.0f 0xb8, %ecx, %r8d # popcnt %ecx, %r8d + .insn VEX.L0.f3.0f 0xb8, %r8, %rcx # popcnt %r8, %rcx + .insn VEX.L0.f2.0f 0xae/6, %ecx # spflt %ecx + .insn VEX.L0.f2.0f 0xae/6, %r8 # spflt %r8 + .insn VEX.L0.f3.0f 0xbc, %r8d, %ecx # tzcnt %r8d, %ecx + .insn VEX.L0.f3.0f 0xbc, %rcx, %r8 # tzcnt %rcx, %r8 + .insn VEX.L0.f2.0f 0xbc, %ecx, %r8d # tzcnti %ecx, %r8d + .insn VEX.L0.f2.0f 0xbc, %r8, %rcx # tzcnti %r8, %rcx + .insn VEX.L0.0f 0x18/1, 0x40(%rdi) # vprefetch0 0x40(%rdi) + .insn VEX.L0.0f 0x18/2, 0x40(%r8) # vprefetch1 0x40(%r8) + .insn VEX.L0.0f 0x18/3, 0x40(%r15) # vprefetch2 0x40(%r15) + .insn VEX.L0.0f 0x18/5, Phi(%rip) # vprefetche0 Phi(%rip) + .insn VEX.L0.0f 0x18/6, (%rcx,%r8,2) # vprefetche1 (%rcx,%r8,2) + .insn VEX.L0.0f 0x18/7, (%r8,%rcx,4) # vprefetche2 (%r8,%rcx,4) + .insn VEX.L0.0f 0x18/4, (,%rax,8) # vprefetchenta (,%rax,8) + .insn VEX.L0.0f 0x18/0, 0x40(%rax) # vprefetchnta 0x40(%rax)