From patchwork Fri Jan 12 12:40:42 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jan Beulich X-Patchwork-Id: 187722 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:693c:2614:b0:101:6a76:bbe3 with SMTP id mm20csp143837dyc; Fri, 12 Jan 2024 04:40:57 -0800 (PST) X-Google-Smtp-Source: AGHT+IExRAW2Hs8nFd8sLWg+HF1GB5wF4jlGzSVu9hSw+AkX/H/qYmNfg0RJLIZst5/aDj5IpYuy X-Received: by 2002:a05:6214:4a03:b0:681:2205:8001 with SMTP id pg3-20020a0562144a0300b0068122058001mr1376042qvb.4.1705063257514; Fri, 12 Jan 2024 04:40:57 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1705063257; cv=pass; d=google.com; s=arc-20160816; b=QICZXmsYHeoPyeNYVs0CDJCPa4dFOjvzJnaKwQ4Y0JOhXPLurraPfzV2YO2l8VNvm7 n/aHllbxfyuuwa9rTpi1JCOAuX31w4EK5J9CxdC1i02EGlLo1JuesFi6kENjBD/ezTcI 9v33X0fTufdCVywDBROEPauLWo6YU4/ETYbvh3u02a7qSpT8Vwc1hI81IOdncb4XAHjo 7dxqyN2IEIMKz3XCzbPo3RD2VLEtumo/Xjq0aNRrmsshz9iPgLCFhhG+7EEnAxxSKvEf scA4mKGP/489Ehq7+FBhOHfdRAXENWxBWtj6T/xcu+WGWg3YmJjwcbcqFbrBke+5Hlxu QU8Q== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :autocrypt:subject:from:cc:to:content-language:user-agent :mime-version:date:message-id:dkim-signature:arc-filter:dmarc-filter :delivered-to; bh=+NTF2AEKqMHEsKz6qETlu2Od2iICv24/AglWdFdvtOk=; fh=24X6hlU0UhbZQHNOqh8YQIYTDnXatlwwuUDYC/9uKjo=; b=DpsvT7Ko9jHZqyPNyoEZ0cSYHJhAEDgQsivCHbz3jFI6KO3Jq6jzQFgmhKoKyId0lE ukNyUeiDL7kA/slBW5d8C1AUjOyBTZr/0MOI9qrjeijqh72TXuXtibmJj1oQoVjGjuog KA3eue9lETTkdU3MnYvpdIzew4XTM58W4PlPZsD7dzX9UN7bZuUc4hvlatT5Fu1TdkO3 G94LMSficSCOJB/ysBqVbDAqyrpmfTkIN3j78ydwKFtDzcjMNxmlNg5xfEz6ec443BsL WKH8LlWa7/dxnPk0dSabN8TPpe2iwHNUztX9nxZkI3w0FY8urMTuABxy8JfkqKB41cPy 59KQ== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@suse.com header.s=google header.b=QIeIFkjl; arc=pass (i=1); spf=pass (google.com: domain of binutils-bounces+ouuuleilei=gmail.com@sourceware.org designates 8.43.85.97 as permitted sender) smtp.mailfrom="binutils-bounces+ouuuleilei=gmail.com@sourceware.org"; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=suse.com Received: from server2.sourceware.org (server2.sourceware.org. [8.43.85.97]) by mx.google.com with ESMTPS id s15-20020a05620a29cf00b007832806595esi3012474qkp.307.2024.01.12.04.40.57 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 12 Jan 2024 04:40:57 -0800 (PST) Received-SPF: pass (google.com: domain of binutils-bounces+ouuuleilei=gmail.com@sourceware.org designates 8.43.85.97 as permitted sender) client-ip=8.43.85.97; Authentication-Results: mx.google.com; dkim=pass header.i=@suse.com header.s=google header.b=QIeIFkjl; arc=pass (i=1); spf=pass (google.com: domain of binutils-bounces+ouuuleilei=gmail.com@sourceware.org designates 8.43.85.97 as permitted sender) smtp.mailfrom="binutils-bounces+ouuuleilei=gmail.com@sourceware.org"; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=suse.com Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id A4F9E385829B for ; Fri, 12 Jan 2024 12:40:56 +0000 (GMT) X-Original-To: binutils@sourceware.org Delivered-To: binutils@sourceware.org Received: from mail-wm1-x329.google.com (mail-wm1-x329.google.com [IPv6:2a00:1450:4864:20::329]) by sourceware.org (Postfix) with ESMTPS id A52F53858C60 for ; Fri, 12 Jan 2024 12:40:44 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org A52F53858C60 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-Filter: OpenARC Filter v1.0.0 sourceware.org A52F53858C60 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=2a00:1450:4864:20::329 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1705063247; cv=none; b=t2/QrI3Jis78si/hYExzxSsCJrb030yqjn/T4ej5jjtjjsIDbj/s6TyujbGsVZ+uJPFCAvm1IOPsNqGRuyWetTCxM1Gm/F9a/smWMFDdMZkBa2nohp/WfQhVm/shiENEfZ+FWwodyFwGOswH914ltjP6GvU1sxYZq0etGRnYf3c= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1705063247; c=relaxed/simple; bh=URX/KbeOcXvbuGWdo3Y/0nBMvcw5cyCqjzClIy2BH/E=; h=DKIM-Signature:Message-ID:Date:MIME-Version:To:From:Subject; b=aAj640IeLY+PwH5vMpJyst/UCxZKndg2ba77kCSp6Bi/RlKR8LFrQXr7Nsc+WnIBMyAf+u51pls7Ig+SHzcTCmreK1NELbFNg20g2Nfkgbbh+1vDcQwqxV+v2acYiypSysVscIYktY9bOzqmfcVNH8MaXyH5jPl7/h9DQbEUJ98= ARC-Authentication-Results: i=1; server2.sourceware.org Received: by mail-wm1-x329.google.com with SMTP id 5b1f17b1804b1-40e67e90d04so2937935e9.1 for ; Fri, 12 Jan 2024 04:40:44 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=google; t=1705063243; x=1705668043; darn=sourceware.org; h=content-transfer-encoding:autocrypt:subject:from:cc:to :content-language:user-agent:mime-version:date:message-id:from:to:cc :subject:date:message-id:reply-to; bh=+NTF2AEKqMHEsKz6qETlu2Od2iICv24/AglWdFdvtOk=; b=QIeIFkjlmiOJWMs50ZuIiWPw1X7Ri5U5UkiuLV7m55mhDMdKTxqAhPi8+6a7f6yumK UurPd7MN2xjNml/joGJHdj6uz+XxgfMi589dMV1Lmriin489YksprhQuXV3sBO7PT51t HHX34+Qj94AnfU2btV+hRIa2sKEdxZ4Ao6iizaJLH1l2KWQ4nNa5g8VA4U1pFlaXzWRb HhgW4g3YniiJQNvbhz3WDLYbea1UMqg3Jrtk3lW1uw0XLOBrXO1jJhji1lio1uowJ8R0 a58k0SD6+c+JhUuZnqmPT6HvKfSKn6yIMN7Qh8YB8VTvRKZMYMfkjEpyuORWmuYTQJyf f3sQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1705063243; x=1705668043; h=content-transfer-encoding:autocrypt:subject:from:cc:to :content-language:user-agent:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=+NTF2AEKqMHEsKz6qETlu2Od2iICv24/AglWdFdvtOk=; b=ANtLn2Hg02BoN3BmTSuhv+jNqrqIzEP3nalIBop8vtWb2gE98WCl1P1xHWd31FLYnb leRm8T3QXwmjH72/VLqR/d5D6kj1h9utJimQL9PfPP61GZod+0fYAh8GhVevR8dr8zoO TuDhavLK7DMm/pAEIZ4YAXkLaGIvzJgQAWfzdNiPi/9yjuDF43h+eabtFlLU1+EfqLzT FCW19AIuduGoNg72WYnpNB+L5Pbsfu4K45dD4qJ1gy5vFasf/wY7SL1TVVkyaa99J6BN JT5tabbUi92c5PBhhyPOdeei1kezsM2qrWNKzuFueJf+X7GE7xk/j5esZ1tQgjP/uUyP 3m9A== X-Gm-Message-State: AOJu0Ywkhm119taAvnYnN+Fqu0NsvIyPG8T9B/75hN5LjqUVGJZAoQqZ cwqr1dRSkt25/TTaFduXX8KBibDzgavEj+Xs5EVBvYG8dw== X-Received: by 2002:a05:600c:43c9:b0:40e:597a:a94d with SMTP id f9-20020a05600c43c900b0040e597aa94dmr703313wmn.129.1705063243390; Fri, 12 Jan 2024 04:40:43 -0800 (PST) Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de. [37.24.206.209]) by smtp.gmail.com with ESMTPSA id d14-20020a05600c34ce00b0040e60c00d2csm5579840wmq.12.2024.01.12.04.40.42 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 12 Jan 2024 04:40:43 -0800 (PST) Message-ID: <69368b49-2578-450a-bc03-4e9032fa2dd9@suse.com> Date: Fri, 12 Jan 2024 13:40:42 +0100 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Content-Language: en-US To: Binutils Cc: Lili Cui , "H.J. Lu" From: Jan Beulich Subject: [PATCH] x86/APX: VROUND{P,S}{S,D} can generally be encoded Autocrypt: addr=jbeulich@suse.com; keydata= xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A nAuWpQkjM1ASeQwSHEeAWPgskBQL X-Spam-Status: No, score=-3025.8 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, RCVD_IN_DNSWL_NONE, 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: binutils@sourceware.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Binutils mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: binutils-bounces+ouuuleilei=gmail.com@sourceware.org X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1787888409949985397 X-GMAIL-MSGID: 1787888409949985397 VRNDSCALE{P,S}{S,D} is the AVX512 generalization of these AVX insns. As long as the immediate has the top 4 bits clear, they are equivalent to the earlier VEX-encoded insns, and hence can be used to permit use of eGPR-s in the memory operand. Since this is the normal way of using these insns, also alter the resulting diagnostic to complain about the immediate, not the eGPR use. --- a/gas/config/tc-i386.c +++ b/gas/config/tc-i386.c @@ -7068,7 +7068,8 @@ check_VecOperands (const insn_template * } /* Check the special Imm4 cases; must be the first operand. */ - if (is_cpu (t, CpuXOP) && t->operands == 5) + if ((is_cpu (t, CpuXOP) && t->operands == 5) + || (is_cpu (t, CpuAPX_F) && t->opcode_space == SPACE_0F3A)) { if (i.op[0].imms->X_op != O_constant || !fits_in_imm4 (i.op[0].imms->X_add_number)) @@ -7078,7 +7079,8 @@ check_VecOperands (const insn_template * } /* Turn off Imm so that update_imm won't complain. */ - operand_type_set (&i.types[0], 0); + if (t->operands == 5) + operand_type_set (&i.types[0], 0); } /* Check vector Disp8 operand. */ --- a/gas/testsuite/gas/i386/x86-64-apx-egpr-inval.l +++ b/gas/testsuite/gas/i386/x86-64-apx-egpr-inval.l @@ -187,10 +187,10 @@ .*:195: Error: extended GPR cannot be used as base/index for `vrcpps' .*:196: Error: extended GPR cannot be used as base/index for `vrcpps' .*:197: Error: extended GPR cannot be used as base/index for `vrcpss' -.*:198: Error: extended GPR cannot be used as base/index for `vroundpd' -.*:199: Error: extended GPR cannot be used as base/index for `vroundps' -.*:200: Error: extended GPR cannot be used as base/index for `vroundsd' -.*:201: Error: extended GPR cannot be used as base/index for `vroundss' +.*:198: Error: .* 4 bits for `vroundpd' +.*:199: Error: .* 4 bits for `vroundps' +.*:200: Error: .* 4 bits for `vroundsd' +.*:201: Error: .* 4 bits for `vroundss' .*:202: Error: extended GPR cannot be used as base/index for `vrsqrtps' .*:203: Error: extended GPR cannot be used as base/index for `vrsqrtps' .*:204: Error: extended GPR cannot be used as base/index for `vrsqrtss' --- a/gas/testsuite/gas/i386/x86-64-apx-egpr-inval.s +++ b/gas/testsuite/gas/i386/x86-64-apx-egpr-inval.s @@ -195,10 +195,10 @@ vrcpps (%r27),%xmm6 vrcpps (%r27),%ymm6 vrcpss (%r27),%xmm6,%xmm6 - vroundpd $1,(%r24),%xmm6 - vroundps $2,(%r24),%xmm6 - vroundsd $3,(%r24),%xmm6,%xmm3 - vroundss $4,(%r24),%xmm6,%xmm3 + vroundpd $0x11,(%r24),%xmm6 + vroundps $0x22,(%r24),%xmm6 + vroundsd $0x33,(%r24),%xmm6,%xmm3 + vroundss $0x44,(%r24),%xmm6,%xmm3 vrsqrtps (%r27),%xmm6 vrsqrtps (%r27),%ymm6 vrsqrtss (%r27),%xmm6,%xmm6 --- a/gas/testsuite/gas/i386/x86-64-apx-evex-promoted-intel.d +++ b/gas/testsuite/gas/i386/x86-64-apx-evex-promoted-intel.d @@ -158,6 +158,10 @@ Disassembly of section \.text: [ ]*[a-f0-9]+:[ ]*62 da 7f 08 4b b4 87 23 01 00 00[ ]+tileloadd tmm6,\[r31\+rax\*4\+0x123\] [ ]*[a-f0-9]+:[ ]*62 da 7d 08 4b b4 87 23 01 00 00[ ]+tileloaddt1 tmm6,\[r31\+rax\*4\+0x123\] [ ]*[a-f0-9]+:[ ]*62 da 7e 08 4b b4 87 23 01 00 00[ ]+tilestored[ ]+\[r31\+rax\*4\+0x123\],tmm6 +[ ]*[a-f0-9]+:[ ]*62 db fd 08 09 30 01[ ]+vrndscalepd xmm6,XMMWORD PTR \[r24\],(0x)?1 +[ ]*[a-f0-9]+:[ ]*62 db 7d 08 08 30 02[ ]+vrndscaleps xmm6,XMMWORD PTR \[r24\],(0x)?2 +[ ]*[a-f0-9]+:[ ]*62 db cd 08 0b 18 03[ ]+vrndscalesd xmm3,xmm6,QWORD PTR \[r24\],(0x)?3 +[ ]*[a-f0-9]+:[ ]*62 db 4d 08 0a 18 04[ ]+vrndscaless xmm3,xmm6,DWORD PTR \[r24\],(0x)?4 [ ]*[a-f0-9]+:[ ]*62 4c 7c 08 66 8c 87 23 01 00 00[ ]+wrssd[ ]+\[r31\+rax\*4\+0x123\],r25d [ ]*[a-f0-9]+:[ ]*62 4c fc 08 66 bc 87 23 01 00 00[ ]+wrssq[ ]+\[r31\+rax\*4\+0x123\],r31 [ ]*[a-f0-9]+:[ ]*62 4c 7d 08 65 8c 87 23 01 00 00[ ]+wrussd[ ]+\[r31\+rax\*4\+0x123\],r25d --- a/gas/testsuite/gas/i386/x86-64-apx-evex-promoted.d +++ b/gas/testsuite/gas/i386/x86-64-apx-evex-promoted.d @@ -158,6 +158,10 @@ Disassembly of section \.text: [ ]*[a-f0-9]+:[ ]*62 da 7f 08 4b b4 87 23 01 00 00[ ]+tileloadd[ ]+0x123\(%r31,%rax,4\),%tmm6 [ ]*[a-f0-9]+:[ ]*62 da 7d 08 4b b4 87 23 01 00 00[ ]+tileloaddt1[ ]+0x123\(%r31,%rax,4\),%tmm6 [ ]*[a-f0-9]+:[ ]*62 da 7e 08 4b b4 87 23 01 00 00[ ]+tilestored[ ]+%tmm6,0x123\(%r31,%rax,4\) +[ ]*[a-f0-9]+:[ ]*62 db fd 08 09 30 01[ ]+vrndscalepd \$0x1,\(%r24\),%xmm6 +[ ]*[a-f0-9]+:[ ]*62 db 7d 08 08 30 02[ ]+vrndscaleps \$0x2,\(%r24\),%xmm6 +[ ]*[a-f0-9]+:[ ]*62 db cd 08 0b 18 03[ ]+vrndscalesd \$0x3,\(%r24\),%xmm6,%xmm3 +[ ]*[a-f0-9]+:[ ]*62 db 4d 08 0a 18 04[ ]+vrndscaless \$0x4,\(%r24\),%xmm6,%xmm3 [ ]*[a-f0-9]+:[ ]*62 4c 7c 08 66 8c 87 23 01 00 00[ ]+wrssd[ ]+%r25d,0x123\(%r31,%rax,4\) [ ]*[a-f0-9]+:[ ]*62 4c fc 08 66 bc 87 23 01 00 00[ ]+wrssq[ ]+%r31,0x123\(%r31,%rax,4\) [ ]*[a-f0-9]+:[ ]*62 4c 7d 08 65 8c 87 23 01 00 00[ ]+wrussd[ ]+%r25d,0x123\(%r31,%rax,4\) --- a/gas/testsuite/gas/i386/x86-64-apx-evex-promoted.s +++ b/gas/testsuite/gas/i386/x86-64-apx-evex-promoted.s @@ -152,6 +152,10 @@ _start: tileloadd 0x123(%r31,%rax,4),%tmm6 tileloaddt1 0x123(%r31,%rax,4),%tmm6 tilestored %tmm6,0x123(%r31,%rax,4) + vroundpd $1,(%r24),%xmm6 + vroundps $2,(%r24),%xmm6 + vroundsd $3,(%r24),%xmm6,%xmm3 + vroundss $4,(%r24),%xmm6,%xmm3 wrssd %r25d,0x123(%r31,%rax,4) wrssq %r31,0x123(%r31,%rax,4) wrussd %r25d,0x123(%r31,%rax,4) --- a/opcodes/i386-opc.tbl +++ b/opcodes/i386-opc.tbl @@ -1793,6 +1793,10 @@ vrcpps, 0x53, AVX, Modrm|Vex|Space0F|Vex vrcpss, 0xf353, AVX, Modrm|Vex=3|Space0F|VexVVVV|VexWIG|NoSuf, { Dword|Unspecified|BaseIndex|RegXMM, RegXMM, RegXMM } vroundp, 0x6608 | , AVX, Modrm|Vex|Space0F3A|VexWIG|CheckOperandSize|NoSuf, { Imm8, Unspecified|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM } vrounds, 0x660a | , AVX, Modrm|VexLIG|Space0F3A|VexVVVV|VexWIG|NoSuf, { Imm8, |Unspecified|BaseIndex|RegXMM, RegXMM, RegXMM } +// These are really clones of VRNDSCALE{P,S}{S,D}, with broadcast, masking, SAE, +// 512-bit operand size, and register sources dropped. +vroundp, 0x6608 | , APX_F, Modrm|Space0F3A||Disp8ShiftVL|CheckOperandSize|NoSuf, { Imm8, Xmmword|Ymmword|Unspecified|BaseIndex, RegXMM|RegYMM } +vrounds, 0x660a | , APX_F, Modrm|EVexLIG|Space0F3A|VexVVVV||Disp8MemShift|NoSuf, { Imm8, |Unspecified|BaseIndex, RegXMM, RegXMM } vrsqrtps, 0x52, AVX, Modrm|Vex|Space0F|VexWIG|CheckOperandSize|NoSuf, { Unspecified|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM } vrsqrtss, 0xf352, AVX, Modrm|Vex=3|Space0F|VexVVVV|VexWIG|NoSuf, { Dword|Unspecified|BaseIndex|RegXMM, RegXMM, RegXMM } vshufp, 0xc6, AVX, Modrm|Vex|Space0F|VexVVVV|VexWIG|CheckOperandSize|NoSuf, { Imm8|Imm8S, Unspecified|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM }