[llvm] r232018 - AVX-512: Added encoding tests for VPROR, VPROL instructions,

Adam Nemet anemet at apple.com
Thu Mar 12 09:51:42 PDT 2015


Thanks ;-)

> On Mar 12, 2015, at 12:28 AM, Elena Demikhovsky <elena.demikhovsky at intel.com> wrote:
> 
> Author: delena
> Date: Thu Mar 12 02:28:41 2015
> New Revision: 232018
> 
> URL: http://llvm.org/viewvc/llvm-project?rev=232018&view=rev
> Log:
> AVX-512: Added encoding tests for VPROR, VPROL instructions,
> fixed opcode.
> 
> Modified:
>    llvm/trunk/lib/Target/X86/X86InstrAVX512.td
>    llvm/trunk/test/MC/X86/x86-64-avx512f_vl.s
> 
> Modified: llvm/trunk/lib/Target/X86/X86InstrAVX512.td
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/X86InstrAVX512.td?rev=232018&r1=232017&r2=232018&view=diff
> ==============================================================================
> --- llvm/trunk/lib/Target/X86/X86InstrAVX512.td (original)
> +++ llvm/trunk/lib/Target/X86/X86InstrAVX512.td Thu Mar 12 02:28:41 2015
> @@ -3562,8 +3562,8 @@ defm VPSLL : avx512_shift_rmi_dq<0x72, 0
> defm VPSRA : avx512_shift_rmi_dq<0x72, 0x73, MRM4r, MRM4m, "vpsra", X86vsrai>,
>              avx512_shift_rmi_w<0x71, MRM4r, MRM4m, "vpsraw", X86vsrai>;
> 
> -defm VPROR : avx512_shift_rmi_dq<0x72, 0x73, MRM0r, MRM0m, "vpror", rotr>;
> -defm VPROL : avx512_shift_rmi_dq<0x72, 0x73, MRM1r, MRM1m, "vprol", rotl>;
> +defm VPROR : avx512_shift_rmi_dq<0x72, 0x72, MRM0r, MRM0m, "vpror", rotr>;
> +defm VPROL : avx512_shift_rmi_dq<0x72, 0x72, MRM1r, MRM1m, "vprol", rotl>;
> 
> defm VPSLL : avx512_shift_types<0xF2, 0xF3, 0xF1, "vpsll", X86vshl>;
> defm VPSRA : avx512_shift_types<0xE2, 0xE2, 0xE1, "vpsra", X86vsra>;
> 
> Modified: llvm/trunk/test/MC/X86/x86-64-avx512f_vl.s
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MC/X86/x86-64-avx512f_vl.s?rev=232018&r1=232017&r2=232018&view=diff
> ==============================================================================
> --- llvm/trunk/test/MC/X86/x86-64-avx512f_vl.s (original)
> +++ llvm/trunk/test/MC/X86/x86-64-avx512f_vl.s Thu Mar 12 02:28:41 2015
> @@ -8027,3 +8027,931 @@ vaddpd  {rz-sae}, %zmm2, %zmm1, %zmm1
> // CHECK: vpsrlq $123, -1032(%rdx){1to4}, %ymm29
> // CHECK:  encoding: [0x62,0xf1,0x95,0x30,0x73,0x92,0xf8,0xfb,0xff,0xff,0x7b]
>           vpsrlq $123, -1032(%rdx){1to4}, %ymm29
> +
> +// CHECK: vprolvd %xmm20, %xmm20, %xmm30
> +// CHECK:  encoding: [0x62,0x22,0x5d,0x00,0x15,0xf4]
> +          vprolvd %xmm20, %xmm20, %xmm30
> +
> +// CHECK: vprolvd %xmm20, %xmm20, %xmm30 {%k2}
> +// CHECK:  encoding: [0x62,0x22,0x5d,0x02,0x15,0xf4]
> +          vprolvd %xmm20, %xmm20, %xmm30 {%k2}
> +
> +// CHECK: vprolvd %xmm20, %xmm20, %xmm30 {%k2} {z}
> +// CHECK:  encoding: [0x62,0x22,0x5d,0x82,0x15,0xf4]
> +          vprolvd %xmm20, %xmm20, %xmm30 {%k2} {z}
> +
> +// CHECK: vprolvd (%rcx), %xmm20, %xmm30
> +// CHECK:  encoding: [0x62,0x62,0x5d,0x00,0x15,0x31]
> +          vprolvd (%rcx), %xmm20, %xmm30
> +
> +// CHECK: vprolvd 291(%rax,%r14,8), %xmm20, %xmm30
> +// CHECK:  encoding: [0x62,0x22,0x5d,0x00,0x15,0xb4,0xf0,0x23,0x01,0x00,0x00]
> +          vprolvd 291(%rax,%r14,8), %xmm20, %xmm30
> +
> +// CHECK: vprolvd (%rcx){1to4}, %xmm20, %xmm30
> +// CHECK:  encoding: [0x62,0x62,0x5d,0x10,0x15,0x31]
> +          vprolvd (%rcx){1to4}, %xmm20, %xmm30
> +
> +// CHECK: vprolvd 2032(%rdx), %xmm20, %xmm30
> +// CHECK:  encoding: [0x62,0x62,0x5d,0x00,0x15,0x72,0x7f]
> +          vprolvd 2032(%rdx), %xmm20, %xmm30
> +
> +// CHECK: vprolvd 2048(%rdx), %xmm20, %xmm30
> +// CHECK:  encoding: [0x62,0x62,0x5d,0x00,0x15,0xb2,0x00,0x08,0x00,0x00]
> +          vprolvd 2048(%rdx), %xmm20, %xmm30
> +
> +// CHECK: vprolvd -2048(%rdx), %xmm20, %xmm30
> +// CHECK:  encoding: [0x62,0x62,0x5d,0x00,0x15,0x72,0x80]
> +          vprolvd -2048(%rdx), %xmm20, %xmm30
> +
> +// CHECK: vprolvd -2064(%rdx), %xmm20, %xmm30
> +// CHECK:  encoding: [0x62,0x62,0x5d,0x00,0x15,0xb2,0xf0,0xf7,0xff,0xff]
> +          vprolvd -2064(%rdx), %xmm20, %xmm30
> +
> +// CHECK: vprolvd 508(%rdx){1to4}, %xmm20, %xmm30
> +// CHECK:  encoding: [0x62,0x62,0x5d,0x10,0x15,0x72,0x7f]
> +          vprolvd 508(%rdx){1to4}, %xmm20, %xmm30
> +
> +// CHECK: vprolvd 512(%rdx){1to4}, %xmm20, %xmm30
> +// CHECK:  encoding: [0x62,0x62,0x5d,0x10,0x15,0xb2,0x00,0x02,0x00,0x00]
> +          vprolvd 512(%rdx){1to4}, %xmm20, %xmm30
> +
> +// CHECK: vprolvd -512(%rdx){1to4}, %xmm20, %xmm30
> +// CHECK:  encoding: [0x62,0x62,0x5d,0x10,0x15,0x72,0x80]
> +          vprolvd -512(%rdx){1to4}, %xmm20, %xmm30
> +
> +// CHECK: vprolvd -516(%rdx){1to4}, %xmm20, %xmm30
> +// CHECK:  encoding: [0x62,0x62,0x5d,0x10,0x15,0xb2,0xfc,0xfd,0xff,0xff]
> +          vprolvd -516(%rdx){1to4}, %xmm20, %xmm30
> +
> +// CHECK: vprolvd %ymm19, %ymm23, %ymm26
> +// CHECK:  encoding: [0x62,0x22,0x45,0x20,0x15,0xd3]
> +          vprolvd %ymm19, %ymm23, %ymm26
> +
> +// CHECK: vprolvd %ymm19, %ymm23, %ymm26 {%k1}
> +// CHECK:  encoding: [0x62,0x22,0x45,0x21,0x15,0xd3]
> +          vprolvd %ymm19, %ymm23, %ymm26 {%k1}
> +
> +// CHECK: vprolvd %ymm19, %ymm23, %ymm26 {%k1} {z}
> +// CHECK:  encoding: [0x62,0x22,0x45,0xa1,0x15,0xd3]
> +          vprolvd %ymm19, %ymm23, %ymm26 {%k1} {z}
> +
> +// CHECK: vprolvd (%rcx), %ymm23, %ymm26
> +// CHECK:  encoding: [0x62,0x62,0x45,0x20,0x15,0x11]
> +          vprolvd (%rcx), %ymm23, %ymm26
> +
> +// CHECK: vprolvd 291(%rax,%r14,8), %ymm23, %ymm26
> +// CHECK:  encoding: [0x62,0x22,0x45,0x20,0x15,0x94,0xf0,0x23,0x01,0x00,0x00]
> +          vprolvd 291(%rax,%r14,8), %ymm23, %ymm26
> +
> +// CHECK: vprolvd (%rcx){1to8}, %ymm23, %ymm26
> +// CHECK:  encoding: [0x62,0x62,0x45,0x30,0x15,0x11]
> +          vprolvd (%rcx){1to8}, %ymm23, %ymm26
> +
> +// CHECK: vprolvd 4064(%rdx), %ymm23, %ymm26
> +// CHECK:  encoding: [0x62,0x62,0x45,0x20,0x15,0x52,0x7f]
> +          vprolvd 4064(%rdx), %ymm23, %ymm26
> +
> +// CHECK: vprolvd 4096(%rdx), %ymm23, %ymm26
> +// CHECK:  encoding: [0x62,0x62,0x45,0x20,0x15,0x92,0x00,0x10,0x00,0x00]
> +          vprolvd 4096(%rdx), %ymm23, %ymm26
> +
> +// CHECK: vprolvd -4096(%rdx), %ymm23, %ymm26
> +// CHECK:  encoding: [0x62,0x62,0x45,0x20,0x15,0x52,0x80]
> +          vprolvd -4096(%rdx), %ymm23, %ymm26
> +
> +// CHECK: vprolvd -4128(%rdx), %ymm23, %ymm26
> +// CHECK:  encoding: [0x62,0x62,0x45,0x20,0x15,0x92,0xe0,0xef,0xff,0xff]
> +          vprolvd -4128(%rdx), %ymm23, %ymm26
> +
> +// CHECK: vprolvd 508(%rdx){1to8}, %ymm23, %ymm26
> +// CHECK:  encoding: [0x62,0x62,0x45,0x30,0x15,0x52,0x7f]
> +          vprolvd 508(%rdx){1to8}, %ymm23, %ymm26
> +
> +// CHECK: vprolvd 512(%rdx){1to8}, %ymm23, %ymm26
> +// CHECK:  encoding: [0x62,0x62,0x45,0x30,0x15,0x92,0x00,0x02,0x00,0x00]
> +          vprolvd 512(%rdx){1to8}, %ymm23, %ymm26
> +
> +// CHECK: vprolvd -512(%rdx){1to8}, %ymm23, %ymm26
> +// CHECK:  encoding: [0x62,0x62,0x45,0x30,0x15,0x52,0x80]
> +          vprolvd -512(%rdx){1to8}, %ymm23, %ymm26
> +
> +// CHECK: vprolvd -516(%rdx){1to8}, %ymm23, %ymm26
> +// CHECK:  encoding: [0x62,0x62,0x45,0x30,0x15,0x92,0xfc,0xfd,0xff,0xff]
> +          vprolvd -516(%rdx){1to8}, %ymm23, %ymm26
> +
> +// CHECK: vprold $171, %xmm23, %xmm18
> +// CHECK:  encoding: [0x62,0xb1,0x6d,0x00,0x72,0xcf,0xab]
> +          vprold $171, %xmm23, %xmm18
> +
> +// CHECK: vprold $171, %xmm23, %xmm18 {%k3}
> +// CHECK:  encoding: [0x62,0xb1,0x6d,0x03,0x72,0xcf,0xab]
> +          vprold $171, %xmm23, %xmm18 {%k3}
> +
> +// CHECK: vprold $171, %xmm23, %xmm18 {%k3} {z}
> +// CHECK:  encoding: [0x62,0xb1,0x6d,0x83,0x72,0xcf,0xab]
> +          vprold $171, %xmm23, %xmm18 {%k3} {z}
> +
> +// CHECK: vprold $123, %xmm23, %xmm18
> +// CHECK:  encoding: [0x62,0xb1,0x6d,0x00,0x72,0xcf,0x7b]
> +          vprold $123, %xmm23, %xmm18
> +
> +// CHECK: vprold $123, (%rcx), %xmm18
> +// CHECK:  encoding: [0x62,0xf1,0x6d,0x00,0x72,0x09,0x7b]
> +          vprold $123, (%rcx), %xmm18
> +
> +// CHECK: vprold $123, 291(%rax,%r14,8), %xmm18
> +// CHECK:  encoding: [0x62,0xb1,0x6d,0x00,0x72,0x8c,0xf0,0x23,0x01,0x00,0x00,0x7b]
> +          vprold $123, 291(%rax,%r14,8), %xmm18
> +
> +// CHECK: vprold $123, (%rcx){1to4}, %xmm18
> +// CHECK:  encoding: [0x62,0xf1,0x6d,0x10,0x72,0x09,0x7b]
> +          vprold $123, (%rcx){1to4}, %xmm18
> +
> +// CHECK: vprold $123, 2032(%rdx), %xmm18
> +// CHECK:  encoding: [0x62,0xf1,0x6d,0x00,0x72,0x4a,0x7f,0x7b]
> +          vprold $123, 2032(%rdx), %xmm18
> +
> +// CHECK: vprold $123, 2048(%rdx), %xmm18
> +// CHECK:  encoding: [0x62,0xf1,0x6d,0x00,0x72,0x8a,0x00,0x08,0x00,0x00,0x7b]
> +          vprold $123, 2048(%rdx), %xmm18
> +
> +// CHECK: vprold $123, -2048(%rdx), %xmm18
> +// CHECK:  encoding: [0x62,0xf1,0x6d,0x00,0x72,0x4a,0x80,0x7b]
> +          vprold $123, -2048(%rdx), %xmm18
> +
> +// CHECK: vprold $123, -2064(%rdx), %xmm18
> +// CHECK:  encoding: [0x62,0xf1,0x6d,0x00,0x72,0x8a,0xf0,0xf7,0xff,0xff,0x7b]
> +          vprold $123, -2064(%rdx), %xmm18
> +
> +// CHECK: vprold $123, 508(%rdx){1to4}, %xmm18
> +// CHECK:  encoding: [0x62,0xf1,0x6d,0x10,0x72,0x4a,0x7f,0x7b]
> +          vprold $123, 508(%rdx){1to4}, %xmm18
> +
> +// CHECK: vprold $123, 512(%rdx){1to4}, %xmm18
> +// CHECK:  encoding: [0x62,0xf1,0x6d,0x10,0x72,0x8a,0x00,0x02,0x00,0x00,0x7b]
> +          vprold $123, 512(%rdx){1to4}, %xmm18
> +
> +// CHECK: vprold $123, -512(%rdx){1to4}, %xmm18
> +// CHECK:  encoding: [0x62,0xf1,0x6d,0x10,0x72,0x4a,0x80,0x7b]
> +          vprold $123, -512(%rdx){1to4}, %xmm18
> +
> +// CHECK: vprold $123, -516(%rdx){1to4}, %xmm18
> +// CHECK:  encoding: [0x62,0xf1,0x6d,0x10,0x72,0x8a,0xfc,0xfd,0xff,0xff,0x7b]
> +          vprold $123, -516(%rdx){1to4}, %xmm18
> +
> +// CHECK: vprold $171, %ymm19, %ymm29
> +// CHECK:  encoding: [0x62,0xb1,0x15,0x20,0x72,0xcb,0xab]
> +          vprold $171, %ymm19, %ymm29
> +
> +// CHECK: vprold $171, %ymm19, %ymm29 {%k1}
> +// CHECK:  encoding: [0x62,0xb1,0x15,0x21,0x72,0xcb,0xab]
> +          vprold $171, %ymm19, %ymm29 {%k1}
> +
> +// CHECK: vprold $171, %ymm19, %ymm29 {%k1} {z}
> +// CHECK:  encoding: [0x62,0xb1,0x15,0xa1,0x72,0xcb,0xab]
> +          vprold $171, %ymm19, %ymm29 {%k1} {z}
> +
> +// CHECK: vprold $123, %ymm19, %ymm29
> +// CHECK:  encoding: [0x62,0xb1,0x15,0x20,0x72,0xcb,0x7b]
> +          vprold $123, %ymm19, %ymm29
> +
> +// CHECK: vprold $123, (%rcx), %ymm29
> +// CHECK:  encoding: [0x62,0xf1,0x15,0x20,0x72,0x09,0x7b]
> +          vprold $123, (%rcx), %ymm29
> +
> +// CHECK: vprold $123, 291(%rax,%r14,8), %ymm29
> +// CHECK:  encoding: [0x62,0xb1,0x15,0x20,0x72,0x8c,0xf0,0x23,0x01,0x00,0x00,0x7b]
> +          vprold $123, 291(%rax,%r14,8), %ymm29
> +
> +// CHECK: vprold $123, (%rcx){1to8}, %ymm29
> +// CHECK:  encoding: [0x62,0xf1,0x15,0x30,0x72,0x09,0x7b]
> +          vprold $123, (%rcx){1to8}, %ymm29
> +
> +// CHECK: vprold $123, 4064(%rdx), %ymm29
> +// CHECK:  encoding: [0x62,0xf1,0x15,0x20,0x72,0x4a,0x7f,0x7b]
> +          vprold $123, 4064(%rdx), %ymm29
> +
> +// CHECK: vprold $123, 4096(%rdx), %ymm29
> +// CHECK:  encoding: [0x62,0xf1,0x15,0x20,0x72,0x8a,0x00,0x10,0x00,0x00,0x7b]
> +          vprold $123, 4096(%rdx), %ymm29
> +
> +// CHECK: vprold $123, -4096(%rdx), %ymm29
> +// CHECK:  encoding: [0x62,0xf1,0x15,0x20,0x72,0x4a,0x80,0x7b]
> +          vprold $123, -4096(%rdx), %ymm29
> +
> +// CHECK: vprold $123, -4128(%rdx), %ymm29
> +// CHECK:  encoding: [0x62,0xf1,0x15,0x20,0x72,0x8a,0xe0,0xef,0xff,0xff,0x7b]
> +          vprold $123, -4128(%rdx), %ymm29
> +
> +// CHECK: vprold $123, 508(%rdx){1to8}, %ymm29
> +// CHECK:  encoding: [0x62,0xf1,0x15,0x30,0x72,0x4a,0x7f,0x7b]
> +          vprold $123, 508(%rdx){1to8}, %ymm29
> +
> +// CHECK: vprold $123, 512(%rdx){1to8}, %ymm29
> +// CHECK:  encoding: [0x62,0xf1,0x15,0x30,0x72,0x8a,0x00,0x02,0x00,0x00,0x7b]
> +          vprold $123, 512(%rdx){1to8}, %ymm29
> +
> +// CHECK: vprold $123, -512(%rdx){1to8}, %ymm29
> +// CHECK:  encoding: [0x62,0xf1,0x15,0x30,0x72,0x4a,0x80,0x7b]
> +          vprold $123, -512(%rdx){1to8}, %ymm29
> +
> +// CHECK: vprold $123, -516(%rdx){1to8}, %ymm29
> +// CHECK:  encoding: [0x62,0xf1,0x15,0x30,0x72,0x8a,0xfc,0xfd,0xff,0xff,0x7b]
> +          vprold $123, -516(%rdx){1to8}, %ymm29
> +
> +// CHECK: vprolvq %xmm17, %xmm22, %xmm25
> +// CHECK:  encoding: [0x62,0x22,0xcd,0x00,0x15,0xc9]
> +          vprolvq %xmm17, %xmm22, %xmm25
> +
> +// CHECK: vprolvq %xmm17, %xmm22, %xmm25 {%k5}
> +// CHECK:  encoding: [0x62,0x22,0xcd,0x05,0x15,0xc9]
> +          vprolvq %xmm17, %xmm22, %xmm25 {%k5}
> +
> +// CHECK: vprolvq %xmm17, %xmm22, %xmm25 {%k5} {z}
> +// CHECK:  encoding: [0x62,0x22,0xcd,0x85,0x15,0xc9]
> +          vprolvq %xmm17, %xmm22, %xmm25 {%k5} {z}
> +
> +// CHECK: vprolvq (%rcx), %xmm22, %xmm25
> +// CHECK:  encoding: [0x62,0x62,0xcd,0x00,0x15,0x09]
> +          vprolvq (%rcx), %xmm22, %xmm25
> +
> +// CHECK: vprolvq 291(%rax,%r14,8), %xmm22, %xmm25
> +// CHECK:  encoding: [0x62,0x22,0xcd,0x00,0x15,0x8c,0xf0,0x23,0x01,0x00,0x00]
> +          vprolvq 291(%rax,%r14,8), %xmm22, %xmm25
> +
> +// CHECK: vprolvq (%rcx){1to2}, %xmm22, %xmm25
> +// CHECK:  encoding: [0x62,0x62,0xcd,0x10,0x15,0x09]
> +          vprolvq (%rcx){1to2}, %xmm22, %xmm25
> +
> +// CHECK: vprolvq 2032(%rdx), %xmm22, %xmm25
> +// CHECK:  encoding: [0x62,0x62,0xcd,0x00,0x15,0x4a,0x7f]
> +          vprolvq 2032(%rdx), %xmm22, %xmm25
> +
> +// CHECK: vprolvq 2048(%rdx), %xmm22, %xmm25
> +// CHECK:  encoding: [0x62,0x62,0xcd,0x00,0x15,0x8a,0x00,0x08,0x00,0x00]
> +          vprolvq 2048(%rdx), %xmm22, %xmm25
> +
> +// CHECK: vprolvq -2048(%rdx), %xmm22, %xmm25
> +// CHECK:  encoding: [0x62,0x62,0xcd,0x00,0x15,0x4a,0x80]
> +          vprolvq -2048(%rdx), %xmm22, %xmm25
> +
> +// CHECK: vprolvq -2064(%rdx), %xmm22, %xmm25
> +// CHECK:  encoding: [0x62,0x62,0xcd,0x00,0x15,0x8a,0xf0,0xf7,0xff,0xff]
> +          vprolvq -2064(%rdx), %xmm22, %xmm25
> +
> +// CHECK: vprolvq 1016(%rdx){1to2}, %xmm22, %xmm25
> +// CHECK:  encoding: [0x62,0x62,0xcd,0x10,0x15,0x4a,0x7f]
> +          vprolvq 1016(%rdx){1to2}, %xmm22, %xmm25
> +
> +// CHECK: vprolvq 1024(%rdx){1to2}, %xmm22, %xmm25
> +// CHECK:  encoding: [0x62,0x62,0xcd,0x10,0x15,0x8a,0x00,0x04,0x00,0x00]
> +          vprolvq 1024(%rdx){1to2}, %xmm22, %xmm25
> +
> +// CHECK: vprolvq -1024(%rdx){1to2}, %xmm22, %xmm25
> +// CHECK:  encoding: [0x62,0x62,0xcd,0x10,0x15,0x4a,0x80]
> +          vprolvq -1024(%rdx){1to2}, %xmm22, %xmm25
> +
> +// CHECK: vprolvq -1032(%rdx){1to2}, %xmm22, %xmm25
> +// CHECK:  encoding: [0x62,0x62,0xcd,0x10,0x15,0x8a,0xf8,0xfb,0xff,0xff]
> +          vprolvq -1032(%rdx){1to2}, %xmm22, %xmm25
> +
> +// CHECK: vprolvq %ymm28, %ymm17, %ymm17
> +// CHECK:  encoding: [0x62,0x82,0xf5,0x20,0x15,0xcc]
> +          vprolvq %ymm28, %ymm17, %ymm17
> +
> +// CHECK: vprolvq %ymm28, %ymm17, %ymm17 {%k3}
> +// CHECK:  encoding: [0x62,0x82,0xf5,0x23,0x15,0xcc]
> +          vprolvq %ymm28, %ymm17, %ymm17 {%k3}
> +
> +// CHECK: vprolvq %ymm28, %ymm17, %ymm17 {%k3} {z}
> +// CHECK:  encoding: [0x62,0x82,0xf5,0xa3,0x15,0xcc]
> +          vprolvq %ymm28, %ymm17, %ymm17 {%k3} {z}
> +
> +// CHECK: vprolvq (%rcx), %ymm17, %ymm17
> +// CHECK:  encoding: [0x62,0xe2,0xf5,0x20,0x15,0x09]
> +          vprolvq (%rcx), %ymm17, %ymm17
> +
> +// CHECK: vprolvq 291(%rax,%r14,8), %ymm17, %ymm17
> +// CHECK:  encoding: [0x62,0xa2,0xf5,0x20,0x15,0x8c,0xf0,0x23,0x01,0x00,0x00]
> +          vprolvq 291(%rax,%r14,8), %ymm17, %ymm17
> +
> +// CHECK: vprolvq (%rcx){1to4}, %ymm17, %ymm17
> +// CHECK:  encoding: [0x62,0xe2,0xf5,0x30,0x15,0x09]
> +          vprolvq (%rcx){1to4}, %ymm17, %ymm17
> +
> +// CHECK: vprolvq 4064(%rdx), %ymm17, %ymm17
> +// CHECK:  encoding: [0x62,0xe2,0xf5,0x20,0x15,0x4a,0x7f]
> +          vprolvq 4064(%rdx), %ymm17, %ymm17
> +
> +// CHECK: vprolvq 4096(%rdx), %ymm17, %ymm17
> +// CHECK:  encoding: [0x62,0xe2,0xf5,0x20,0x15,0x8a,0x00,0x10,0x00,0x00]
> +          vprolvq 4096(%rdx), %ymm17, %ymm17
> +
> +// CHECK: vprolvq -4096(%rdx), %ymm17, %ymm17
> +// CHECK:  encoding: [0x62,0xe2,0xf5,0x20,0x15,0x4a,0x80]
> +          vprolvq -4096(%rdx), %ymm17, %ymm17
> +
> +// CHECK: vprolvq -4128(%rdx), %ymm17, %ymm17
> +// CHECK:  encoding: [0x62,0xe2,0xf5,0x20,0x15,0x8a,0xe0,0xef,0xff,0xff]
> +          vprolvq -4128(%rdx), %ymm17, %ymm17
> +
> +// CHECK: vprolvq 1016(%rdx){1to4}, %ymm17, %ymm17
> +// CHECK:  encoding: [0x62,0xe2,0xf5,0x30,0x15,0x4a,0x7f]
> +          vprolvq 1016(%rdx){1to4}, %ymm17, %ymm17
> +
> +// CHECK: vprolvq 1024(%rdx){1to4}, %ymm17, %ymm17
> +// CHECK:  encoding: [0x62,0xe2,0xf5,0x30,0x15,0x8a,0x00,0x04,0x00,0x00]
> +          vprolvq 1024(%rdx){1to4}, %ymm17, %ymm17
> +
> +// CHECK: vprolvq -1024(%rdx){1to4}, %ymm17, %ymm17
> +// CHECK:  encoding: [0x62,0xe2,0xf5,0x30,0x15,0x4a,0x80]
> +          vprolvq -1024(%rdx){1to4}, %ymm17, %ymm17
> +
> +// CHECK: vprolvq -1032(%rdx){1to4}, %ymm17, %ymm17
> +// CHECK:  encoding: [0x62,0xe2,0xf5,0x30,0x15,0x8a,0xf8,0xfb,0xff,0xff]
> +          vprolvq -1032(%rdx){1to4}, %ymm17, %ymm17
> +
> +// CHECK: vprolq $171, %xmm19, %xmm28
> +// CHECK:  encoding: [0x62,0xb1,0x9d,0x00,0x72,0xcb,0xab]
> +          vprolq $171, %xmm19, %xmm28
> +
> +// CHECK: vprolq $171, %xmm19, %xmm28 {%k2}
> +// CHECK:  encoding: [0x62,0xb1,0x9d,0x02,0x72,0xcb,0xab]
> +          vprolq $171, %xmm19, %xmm28 {%k2}
> +
> +// CHECK: vprolq $171, %xmm19, %xmm28 {%k2} {z}
> +// CHECK:  encoding: [0x62,0xb1,0x9d,0x82,0x72,0xcb,0xab]
> +          vprolq $171, %xmm19, %xmm28 {%k2} {z}
> +
> +// CHECK: vprolq $123, %xmm19, %xmm28
> +// CHECK:  encoding: [0x62,0xb1,0x9d,0x00,0x72,0xcb,0x7b]
> +          vprolq $123, %xmm19, %xmm28
> +
> +// CHECK: vprolq $123, (%rcx), %xmm28
> +// CHECK:  encoding: [0x62,0xf1,0x9d,0x00,0x72,0x09,0x7b]
> +          vprolq $123, (%rcx), %xmm28
> +
> +// CHECK: vprolq $123, 291(%rax,%r14,8), %xmm28
> +// CHECK:  encoding: [0x62,0xb1,0x9d,0x00,0x72,0x8c,0xf0,0x23,0x01,0x00,0x00,0x7b]
> +          vprolq $123, 291(%rax,%r14,8), %xmm28
> +
> +// CHECK: vprolq $123, (%rcx){1to2}, %xmm28
> +// CHECK:  encoding: [0x62,0xf1,0x9d,0x10,0x72,0x09,0x7b]
> +          vprolq $123, (%rcx){1to2}, %xmm28
> +
> +// CHECK: vprolq $123, 2032(%rdx), %xmm28
> +// CHECK:  encoding: [0x62,0xf1,0x9d,0x00,0x72,0x4a,0x7f,0x7b]
> +          vprolq $123, 2032(%rdx), %xmm28
> +
> +// CHECK: vprolq $123, 2048(%rdx), %xmm28
> +// CHECK:  encoding: [0x62,0xf1,0x9d,0x00,0x72,0x8a,0x00,0x08,0x00,0x00,0x7b]
> +          vprolq $123, 2048(%rdx), %xmm28
> +
> +// CHECK: vprolq $123, -2048(%rdx), %xmm28
> +// CHECK:  encoding: [0x62,0xf1,0x9d,0x00,0x72,0x4a,0x80,0x7b]
> +          vprolq $123, -2048(%rdx), %xmm28
> +
> +// CHECK: vprolq $123, -2064(%rdx), %xmm28
> +// CHECK:  encoding: [0x62,0xf1,0x9d,0x00,0x72,0x8a,0xf0,0xf7,0xff,0xff,0x7b]
> +          vprolq $123, -2064(%rdx), %xmm28
> +
> +// CHECK: vprolq $123, 1016(%rdx){1to2}, %xmm28
> +// CHECK:  encoding: [0x62,0xf1,0x9d,0x10,0x72,0x4a,0x7f,0x7b]
> +          vprolq $123, 1016(%rdx){1to2}, %xmm28
> +
> +// CHECK: vprolq $123, 1024(%rdx){1to2}, %xmm28
> +// CHECK:  encoding: [0x62,0xf1,0x9d,0x10,0x72,0x8a,0x00,0x04,0x00,0x00,0x7b]
> +          vprolq $123, 1024(%rdx){1to2}, %xmm28
> +
> +// CHECK: vprolq $123, -1024(%rdx){1to2}, %xmm28
> +// CHECK:  encoding: [0x62,0xf1,0x9d,0x10,0x72,0x4a,0x80,0x7b]
> +          vprolq $123, -1024(%rdx){1to2}, %xmm28
> +
> +// CHECK: vprolq $123, -1032(%rdx){1to2}, %xmm28
> +// CHECK:  encoding: [0x62,0xf1,0x9d,0x10,0x72,0x8a,0xf8,0xfb,0xff,0xff,0x7b]
> +          vprolq $123, -1032(%rdx){1to2}, %xmm28
> +
> +// CHECK: vprolq $171, %ymm24, %ymm25
> +// CHECK:  encoding: [0x62,0x91,0xb5,0x20,0x72,0xc8,0xab]
> +          vprolq $171, %ymm24, %ymm25
> +
> +// CHECK: vprolq $171, %ymm24, %ymm25 {%k5}
> +// CHECK:  encoding: [0x62,0x91,0xb5,0x25,0x72,0xc8,0xab]
> +          vprolq $171, %ymm24, %ymm25 {%k5}
> +
> +// CHECK: vprolq $171, %ymm24, %ymm25 {%k5} {z}
> +// CHECK:  encoding: [0x62,0x91,0xb5,0xa5,0x72,0xc8,0xab]
> +          vprolq $171, %ymm24, %ymm25 {%k5} {z}
> +
> +// CHECK: vprolq $123, %ymm24, %ymm25
> +// CHECK:  encoding: [0x62,0x91,0xb5,0x20,0x72,0xc8,0x7b]
> +          vprolq $123, %ymm24, %ymm25
> +
> +// CHECK: vprolq $123, (%rcx), %ymm25
> +// CHECK:  encoding: [0x62,0xf1,0xb5,0x20,0x72,0x09,0x7b]
> +          vprolq $123, (%rcx), %ymm25
> +
> +// CHECK: vprolq $123, 291(%rax,%r14,8), %ymm25
> +// CHECK:  encoding: [0x62,0xb1,0xb5,0x20,0x72,0x8c,0xf0,0x23,0x01,0x00,0x00,0x7b]
> +          vprolq $123, 291(%rax,%r14,8), %ymm25
> +
> +// CHECK: vprolq $123, (%rcx){1to4}, %ymm25
> +// CHECK:  encoding: [0x62,0xf1,0xb5,0x30,0x72,0x09,0x7b]
> +          vprolq $123, (%rcx){1to4}, %ymm25
> +
> +// CHECK: vprolq $123, 4064(%rdx), %ymm25
> +// CHECK:  encoding: [0x62,0xf1,0xb5,0x20,0x72,0x4a,0x7f,0x7b]
> +          vprolq $123, 4064(%rdx), %ymm25
> +
> +// CHECK: vprolq $123, 4096(%rdx), %ymm25
> +// CHECK:  encoding: [0x62,0xf1,0xb5,0x20,0x72,0x8a,0x00,0x10,0x00,0x00,0x7b]
> +          vprolq $123, 4096(%rdx), %ymm25
> +
> +// CHECK: vprolq $123, -4096(%rdx), %ymm25
> +// CHECK:  encoding: [0x62,0xf1,0xb5,0x20,0x72,0x4a,0x80,0x7b]
> +          vprolq $123, -4096(%rdx), %ymm25
> +
> +// CHECK: vprolq $123, -4128(%rdx), %ymm25
> +// CHECK:  encoding: [0x62,0xf1,0xb5,0x20,0x72,0x8a,0xe0,0xef,0xff,0xff,0x7b]
> +          vprolq $123, -4128(%rdx), %ymm25
> +
> +// CHECK: vprolq $123, 1016(%rdx){1to4}, %ymm25
> +// CHECK:  encoding: [0x62,0xf1,0xb5,0x30,0x72,0x4a,0x7f,0x7b]
> +          vprolq $123, 1016(%rdx){1to4}, %ymm25
> +
> +// CHECK: vprolq $123, 1024(%rdx){1to4}, %ymm25
> +// CHECK:  encoding: [0x62,0xf1,0xb5,0x30,0x72,0x8a,0x00,0x04,0x00,0x00,0x7b]
> +          vprolq $123, 1024(%rdx){1to4}, %ymm25
> +
> +// CHECK: vprolq $123, -1024(%rdx){1to4}, %ymm25
> +// CHECK:  encoding: [0x62,0xf1,0xb5,0x30,0x72,0x4a,0x80,0x7b]
> +          vprolq $123, -1024(%rdx){1to4}, %ymm25
> +
> +// CHECK: vprolq $123, -1032(%rdx){1to4}, %ymm25
> +// CHECK:  encoding: [0x62,0xf1,0xb5,0x30,0x72,0x8a,0xf8,0xfb,0xff,0xff,0x7b]
> +          vprolq $123, -1032(%rdx){1to4}, %ymm25
> +
> +// CHECK: vprorvd %xmm22, %xmm26, %xmm25
> +// CHECK:  encoding: [0x62,0x22,0x2d,0x00,0x14,0xce]
> +          vprorvd %xmm22, %xmm26, %xmm25
> +
> +// CHECK: vprorvd %xmm22, %xmm26, %xmm25 {%k4}
> +// CHECK:  encoding: [0x62,0x22,0x2d,0x04,0x14,0xce]
> +          vprorvd %xmm22, %xmm26, %xmm25 {%k4}
> +
> +// CHECK: vprorvd %xmm22, %xmm26, %xmm25 {%k4} {z}
> +// CHECK:  encoding: [0x62,0x22,0x2d,0x84,0x14,0xce]
> +          vprorvd %xmm22, %xmm26, %xmm25 {%k4} {z}
> +
> +// CHECK: vprorvd (%rcx), %xmm26, %xmm25
> +// CHECK:  encoding: [0x62,0x62,0x2d,0x00,0x14,0x09]
> +          vprorvd (%rcx), %xmm26, %xmm25
> +
> +// CHECK: vprorvd 291(%rax,%r14,8), %xmm26, %xmm25
> +// CHECK:  encoding: [0x62,0x22,0x2d,0x00,0x14,0x8c,0xf0,0x23,0x01,0x00,0x00]
> +          vprorvd 291(%rax,%r14,8), %xmm26, %xmm25
> +
> +// CHECK: vprorvd (%rcx){1to4}, %xmm26, %xmm25
> +// CHECK:  encoding: [0x62,0x62,0x2d,0x10,0x14,0x09]
> +          vprorvd (%rcx){1to4}, %xmm26, %xmm25
> +
> +// CHECK: vprorvd 2032(%rdx), %xmm26, %xmm25
> +// CHECK:  encoding: [0x62,0x62,0x2d,0x00,0x14,0x4a,0x7f]
> +          vprorvd 2032(%rdx), %xmm26, %xmm25
> +
> +// CHECK: vprorvd 2048(%rdx), %xmm26, %xmm25
> +// CHECK:  encoding: [0x62,0x62,0x2d,0x00,0x14,0x8a,0x00,0x08,0x00,0x00]
> +          vprorvd 2048(%rdx), %xmm26, %xmm25
> +
> +// CHECK: vprorvd -2048(%rdx), %xmm26, %xmm25
> +// CHECK:  encoding: [0x62,0x62,0x2d,0x00,0x14,0x4a,0x80]
> +          vprorvd -2048(%rdx), %xmm26, %xmm25
> +
> +// CHECK: vprorvd -2064(%rdx), %xmm26, %xmm25
> +// CHECK:  encoding: [0x62,0x62,0x2d,0x00,0x14,0x8a,0xf0,0xf7,0xff,0xff]
> +          vprorvd -2064(%rdx), %xmm26, %xmm25
> +
> +// CHECK: vprorvd 508(%rdx){1to4}, %xmm26, %xmm25
> +// CHECK:  encoding: [0x62,0x62,0x2d,0x10,0x14,0x4a,0x7f]
> +          vprorvd 508(%rdx){1to4}, %xmm26, %xmm25
> +
> +// CHECK: vprorvd 512(%rdx){1to4}, %xmm26, %xmm25
> +// CHECK:  encoding: [0x62,0x62,0x2d,0x10,0x14,0x8a,0x00,0x02,0x00,0x00]
> +          vprorvd 512(%rdx){1to4}, %xmm26, %xmm25
> +
> +// CHECK: vprorvd -512(%rdx){1to4}, %xmm26, %xmm25
> +// CHECK:  encoding: [0x62,0x62,0x2d,0x10,0x14,0x4a,0x80]
> +          vprorvd -512(%rdx){1to4}, %xmm26, %xmm25
> +
> +// CHECK: vprorvd -516(%rdx){1to4}, %xmm26, %xmm25
> +// CHECK:  encoding: [0x62,0x62,0x2d,0x10,0x14,0x8a,0xfc,0xfd,0xff,0xff]
> +          vprorvd -516(%rdx){1to4}, %xmm26, %xmm25
> +
> +// CHECK: vprorvd %ymm25, %ymm28, %ymm24
> +// CHECK:  encoding: [0x62,0x02,0x1d,0x20,0x14,0xc1]
> +          vprorvd %ymm25, %ymm28, %ymm24
> +
> +// CHECK: vprorvd %ymm25, %ymm28, %ymm24 {%k4}
> +// CHECK:  encoding: [0x62,0x02,0x1d,0x24,0x14,0xc1]
> +          vprorvd %ymm25, %ymm28, %ymm24 {%k4}
> +
> +// CHECK: vprorvd %ymm25, %ymm28, %ymm24 {%k4} {z}
> +// CHECK:  encoding: [0x62,0x02,0x1d,0xa4,0x14,0xc1]
> +          vprorvd %ymm25, %ymm28, %ymm24 {%k4} {z}
> +
> +// CHECK: vprorvd (%rcx), %ymm28, %ymm24
> +// CHECK:  encoding: [0x62,0x62,0x1d,0x20,0x14,0x01]
> +          vprorvd (%rcx), %ymm28, %ymm24
> +
> +// CHECK: vprorvd 291(%rax,%r14,8), %ymm28, %ymm24
> +// CHECK:  encoding: [0x62,0x22,0x1d,0x20,0x14,0x84,0xf0,0x23,0x01,0x00,0x00]
> +          vprorvd 291(%rax,%r14,8), %ymm28, %ymm24
> +
> +// CHECK: vprorvd (%rcx){1to8}, %ymm28, %ymm24
> +// CHECK:  encoding: [0x62,0x62,0x1d,0x30,0x14,0x01]
> +          vprorvd (%rcx){1to8}, %ymm28, %ymm24
> +
> +// CHECK: vprorvd 4064(%rdx), %ymm28, %ymm24
> +// CHECK:  encoding: [0x62,0x62,0x1d,0x20,0x14,0x42,0x7f]
> +          vprorvd 4064(%rdx), %ymm28, %ymm24
> +
> +// CHECK: vprorvd 4096(%rdx), %ymm28, %ymm24
> +// CHECK:  encoding: [0x62,0x62,0x1d,0x20,0x14,0x82,0x00,0x10,0x00,0x00]
> +          vprorvd 4096(%rdx), %ymm28, %ymm24
> +
> +// CHECK: vprorvd -4096(%rdx), %ymm28, %ymm24
> +// CHECK:  encoding: [0x62,0x62,0x1d,0x20,0x14,0x42,0x80]
> +          vprorvd -4096(%rdx), %ymm28, %ymm24
> +
> +// CHECK: vprorvd -4128(%rdx), %ymm28, %ymm24
> +// CHECK:  encoding: [0x62,0x62,0x1d,0x20,0x14,0x82,0xe0,0xef,0xff,0xff]
> +          vprorvd -4128(%rdx), %ymm28, %ymm24
> +
> +// CHECK: vprorvd 508(%rdx){1to8}, %ymm28, %ymm24
> +// CHECK:  encoding: [0x62,0x62,0x1d,0x30,0x14,0x42,0x7f]
> +          vprorvd 508(%rdx){1to8}, %ymm28, %ymm24
> +
> +// CHECK: vprorvd 512(%rdx){1to8}, %ymm28, %ymm24
> +// CHECK:  encoding: [0x62,0x62,0x1d,0x30,0x14,0x82,0x00,0x02,0x00,0x00]
> +          vprorvd 512(%rdx){1to8}, %ymm28, %ymm24
> +
> +// CHECK: vprorvd -512(%rdx){1to8}, %ymm28, %ymm24
> +// CHECK:  encoding: [0x62,0x62,0x1d,0x30,0x14,0x42,0x80]
> +          vprorvd -512(%rdx){1to8}, %ymm28, %ymm24
> +
> +// CHECK: vprorvd -516(%rdx){1to8}, %ymm28, %ymm24
> +// CHECK:  encoding: [0x62,0x62,0x1d,0x30,0x14,0x82,0xfc,0xfd,0xff,0xff]
> +          vprorvd -516(%rdx){1to8}, %ymm28, %ymm24
> +
> +// CHECK: vprord $171, %xmm25, %xmm29
> +// CHECK:  encoding: [0x62,0x91,0x15,0x00,0x72,0xc1,0xab]
> +          vprord $171, %xmm25, %xmm29
> +
> +// CHECK: vprord $171, %xmm25, %xmm29 {%k3}
> +// CHECK:  encoding: [0x62,0x91,0x15,0x03,0x72,0xc1,0xab]
> +          vprord $171, %xmm25, %xmm29 {%k3}
> +
> +// CHECK: vprord $171, %xmm25, %xmm29 {%k3} {z}
> +// CHECK:  encoding: [0x62,0x91,0x15,0x83,0x72,0xc1,0xab]
> +          vprord $171, %xmm25, %xmm29 {%k3} {z}
> +
> +// CHECK: vprord $123, %xmm25, %xmm29
> +// CHECK:  encoding: [0x62,0x91,0x15,0x00,0x72,0xc1,0x7b]
> +          vprord $123, %xmm25, %xmm29
> +
> +// CHECK: vprord $123, (%rcx), %xmm29
> +// CHECK:  encoding: [0x62,0xf1,0x15,0x00,0x72,0x01,0x7b]
> +          vprord $123, (%rcx), %xmm29
> +
> +// CHECK: vprord $123, 291(%rax,%r14,8), %xmm29
> +// CHECK:  encoding: [0x62,0xb1,0x15,0x00,0x72,0x84,0xf0,0x23,0x01,0x00,0x00,0x7b]
> +          vprord $123, 291(%rax,%r14,8), %xmm29
> +
> +// CHECK: vprord $123, (%rcx){1to4}, %xmm29
> +// CHECK:  encoding: [0x62,0xf1,0x15,0x10,0x72,0x01,0x7b]
> +          vprord $123, (%rcx){1to4}, %xmm29
> +
> +// CHECK: vprord $123, 2032(%rdx), %xmm29
> +// CHECK:  encoding: [0x62,0xf1,0x15,0x00,0x72,0x42,0x7f,0x7b]
> +          vprord $123, 2032(%rdx), %xmm29
> +
> +// CHECK: vprord $123, 2048(%rdx), %xmm29
> +// CHECK:  encoding: [0x62,0xf1,0x15,0x00,0x72,0x82,0x00,0x08,0x00,0x00,0x7b]
> +          vprord $123, 2048(%rdx), %xmm29
> +
> +// CHECK: vprord $123, -2048(%rdx), %xmm29
> +// CHECK:  encoding: [0x62,0xf1,0x15,0x00,0x72,0x42,0x80,0x7b]
> +          vprord $123, -2048(%rdx), %xmm29
> +
> +// CHECK: vprord $123, -2064(%rdx), %xmm29
> +// CHECK:  encoding: [0x62,0xf1,0x15,0x00,0x72,0x82,0xf0,0xf7,0xff,0xff,0x7b]
> +          vprord $123, -2064(%rdx), %xmm29
> +
> +// CHECK: vprord $123, 508(%rdx){1to4}, %xmm29
> +// CHECK:  encoding: [0x62,0xf1,0x15,0x10,0x72,0x42,0x7f,0x7b]
> +          vprord $123, 508(%rdx){1to4}, %xmm29
> +
> +// CHECK: vprord $123, 512(%rdx){1to4}, %xmm29
> +// CHECK:  encoding: [0x62,0xf1,0x15,0x10,0x72,0x82,0x00,0x02,0x00,0x00,0x7b]
> +          vprord $123, 512(%rdx){1to4}, %xmm29
> +
> +// CHECK: vprord $123, -512(%rdx){1to4}, %xmm29
> +// CHECK:  encoding: [0x62,0xf1,0x15,0x10,0x72,0x42,0x80,0x7b]
> +          vprord $123, -512(%rdx){1to4}, %xmm29
> +
> +// CHECK: vprord $123, -516(%rdx){1to4}, %xmm29
> +// CHECK:  encoding: [0x62,0xf1,0x15,0x10,0x72,0x82,0xfc,0xfd,0xff,0xff,0x7b]
> +          vprord $123, -516(%rdx){1to4}, %xmm29
> +
> +// CHECK: vprord $171, %ymm29, %ymm30
> +// CHECK:  encoding: [0x62,0x91,0x0d,0x20,0x72,0xc5,0xab]
> +          vprord $171, %ymm29, %ymm30
> +
> +// CHECK: vprord $171, %ymm29, %ymm30 {%k6}
> +// CHECK:  encoding: [0x62,0x91,0x0d,0x26,0x72,0xc5,0xab]
> +          vprord $171, %ymm29, %ymm30 {%k6}
> +
> +// CHECK: vprord $171, %ymm29, %ymm30 {%k6} {z}
> +// CHECK:  encoding: [0x62,0x91,0x0d,0xa6,0x72,0xc5,0xab]
> +          vprord $171, %ymm29, %ymm30 {%k6} {z}
> +
> +// CHECK: vprord $123, %ymm29, %ymm30
> +// CHECK:  encoding: [0x62,0x91,0x0d,0x20,0x72,0xc5,0x7b]
> +          vprord $123, %ymm29, %ymm30
> +
> +// CHECK: vprord $123, (%rcx), %ymm30
> +// CHECK:  encoding: [0x62,0xf1,0x0d,0x20,0x72,0x01,0x7b]
> +          vprord $123, (%rcx), %ymm30
> +
> +// CHECK: vprord $123, 291(%rax,%r14,8), %ymm30
> +// CHECK:  encoding: [0x62,0xb1,0x0d,0x20,0x72,0x84,0xf0,0x23,0x01,0x00,0x00,0x7b]
> +          vprord $123, 291(%rax,%r14,8), %ymm30
> +
> +// CHECK: vprord $123, (%rcx){1to8}, %ymm30
> +// CHECK:  encoding: [0x62,0xf1,0x0d,0x30,0x72,0x01,0x7b]
> +          vprord $123, (%rcx){1to8}, %ymm30
> +
> +// CHECK: vprord $123, 4064(%rdx), %ymm30
> +// CHECK:  encoding: [0x62,0xf1,0x0d,0x20,0x72,0x42,0x7f,0x7b]
> +          vprord $123, 4064(%rdx), %ymm30
> +
> +// CHECK: vprord $123, 4096(%rdx), %ymm30
> +// CHECK:  encoding: [0x62,0xf1,0x0d,0x20,0x72,0x82,0x00,0x10,0x00,0x00,0x7b]
> +          vprord $123, 4096(%rdx), %ymm30
> +
> +// CHECK: vprord $123, -4096(%rdx), %ymm30
> +// CHECK:  encoding: [0x62,0xf1,0x0d,0x20,0x72,0x42,0x80,0x7b]
> +          vprord $123, -4096(%rdx), %ymm30
> +
> +// CHECK: vprord $123, -4128(%rdx), %ymm30
> +// CHECK:  encoding: [0x62,0xf1,0x0d,0x20,0x72,0x82,0xe0,0xef,0xff,0xff,0x7b]
> +          vprord $123, -4128(%rdx), %ymm30
> +
> +// CHECK: vprord $123, 508(%rdx){1to8}, %ymm30
> +// CHECK:  encoding: [0x62,0xf1,0x0d,0x30,0x72,0x42,0x7f,0x7b]
> +          vprord $123, 508(%rdx){1to8}, %ymm30
> +
> +// CHECK: vprord $123, 512(%rdx){1to8}, %ymm30
> +// CHECK:  encoding: [0x62,0xf1,0x0d,0x30,0x72,0x82,0x00,0x02,0x00,0x00,0x7b]
> +          vprord $123, 512(%rdx){1to8}, %ymm30
> +
> +// CHECK: vprord $123, -512(%rdx){1to8}, %ymm30
> +// CHECK:  encoding: [0x62,0xf1,0x0d,0x30,0x72,0x42,0x80,0x7b]
> +          vprord $123, -512(%rdx){1to8}, %ymm30
> +
> +// CHECK: vprord $123, -516(%rdx){1to8}, %ymm30
> +// CHECK:  encoding: [0x62,0xf1,0x0d,0x30,0x72,0x82,0xfc,0xfd,0xff,0xff,0x7b]
> +          vprord $123, -516(%rdx){1to8}, %ymm30
> +
> +// CHECK: vprorvq %xmm24, %xmm21, %xmm26
> +// CHECK:  encoding: [0x62,0x02,0xd5,0x00,0x14,0xd0]
> +          vprorvq %xmm24, %xmm21, %xmm26
> +
> +// CHECK: vprorvq %xmm24, %xmm21, %xmm26 {%k4}
> +// CHECK:  encoding: [0x62,0x02,0xd5,0x04,0x14,0xd0]
> +          vprorvq %xmm24, %xmm21, %xmm26 {%k4}
> +
> +// CHECK: vprorvq %xmm24, %xmm21, %xmm26 {%k4} {z}
> +// CHECK:  encoding: [0x62,0x02,0xd5,0x84,0x14,0xd0]
> +          vprorvq %xmm24, %xmm21, %xmm26 {%k4} {z}
> +
> +// CHECK: vprorvq (%rcx), %xmm21, %xmm26
> +// CHECK:  encoding: [0x62,0x62,0xd5,0x00,0x14,0x11]
> +          vprorvq (%rcx), %xmm21, %xmm26
> +
> +// CHECK: vprorvq 291(%rax,%r14,8), %xmm21, %xmm26
> +// CHECK:  encoding: [0x62,0x22,0xd5,0x00,0x14,0x94,0xf0,0x23,0x01,0x00,0x00]
> +          vprorvq 291(%rax,%r14,8), %xmm21, %xmm26
> +
> +// CHECK: vprorvq (%rcx){1to2}, %xmm21, %xmm26
> +// CHECK:  encoding: [0x62,0x62,0xd5,0x10,0x14,0x11]
> +          vprorvq (%rcx){1to2}, %xmm21, %xmm26
> +
> +// CHECK: vprorvq 2032(%rdx), %xmm21, %xmm26
> +// CHECK:  encoding: [0x62,0x62,0xd5,0x00,0x14,0x52,0x7f]
> +          vprorvq 2032(%rdx), %xmm21, %xmm26
> +
> +// CHECK: vprorvq 2048(%rdx), %xmm21, %xmm26
> +// CHECK:  encoding: [0x62,0x62,0xd5,0x00,0x14,0x92,0x00,0x08,0x00,0x00]
> +          vprorvq 2048(%rdx), %xmm21, %xmm26
> +
> +// CHECK: vprorvq -2048(%rdx), %xmm21, %xmm26
> +// CHECK:  encoding: [0x62,0x62,0xd5,0x00,0x14,0x52,0x80]
> +          vprorvq -2048(%rdx), %xmm21, %xmm26
> +
> +// CHECK: vprorvq -2064(%rdx), %xmm21, %xmm26
> +// CHECK:  encoding: [0x62,0x62,0xd5,0x00,0x14,0x92,0xf0,0xf7,0xff,0xff]
> +          vprorvq -2064(%rdx), %xmm21, %xmm26
> +
> +// CHECK: vprorvq 1016(%rdx){1to2}, %xmm21, %xmm26
> +// CHECK:  encoding: [0x62,0x62,0xd5,0x10,0x14,0x52,0x7f]
> +          vprorvq 1016(%rdx){1to2}, %xmm21, %xmm26
> +
> +// CHECK: vprorvq 1024(%rdx){1to2}, %xmm21, %xmm26
> +// CHECK:  encoding: [0x62,0x62,0xd5,0x10,0x14,0x92,0x00,0x04,0x00,0x00]
> +          vprorvq 1024(%rdx){1to2}, %xmm21, %xmm26
> +
> +// CHECK: vprorvq -1024(%rdx){1to2}, %xmm21, %xmm26
> +// CHECK:  encoding: [0x62,0x62,0xd5,0x10,0x14,0x52,0x80]
> +          vprorvq -1024(%rdx){1to2}, %xmm21, %xmm26
> +
> +// CHECK: vprorvq -1032(%rdx){1to2}, %xmm21, %xmm26
> +// CHECK:  encoding: [0x62,0x62,0xd5,0x10,0x14,0x92,0xf8,0xfb,0xff,0xff]
> +          vprorvq -1032(%rdx){1to2}, %xmm21, %xmm26
> +
> +// CHECK: vprorvq %ymm28, %ymm24, %ymm20
> +// CHECK:  encoding: [0x62,0x82,0xbd,0x20,0x14,0xe4]
> +          vprorvq %ymm28, %ymm24, %ymm20
> +
> +// CHECK: vprorvq %ymm28, %ymm24, %ymm20 {%k7}
> +// CHECK:  encoding: [0x62,0x82,0xbd,0x27,0x14,0xe4]
> +          vprorvq %ymm28, %ymm24, %ymm20 {%k7}
> +
> +// CHECK: vprorvq %ymm28, %ymm24, %ymm20 {%k7} {z}
> +// CHECK:  encoding: [0x62,0x82,0xbd,0xa7,0x14,0xe4]
> +          vprorvq %ymm28, %ymm24, %ymm20 {%k7} {z}
> +
> +// CHECK: vprorvq (%rcx), %ymm24, %ymm20
> +// CHECK:  encoding: [0x62,0xe2,0xbd,0x20,0x14,0x21]
> +          vprorvq (%rcx), %ymm24, %ymm20
> +
> +// CHECK: vprorvq 291(%rax,%r14,8), %ymm24, %ymm20
> +// CHECK:  encoding: [0x62,0xa2,0xbd,0x20,0x14,0xa4,0xf0,0x23,0x01,0x00,0x00]
> +          vprorvq 291(%rax,%r14,8), %ymm24, %ymm20
> +
> +// CHECK: vprorvq (%rcx){1to4}, %ymm24, %ymm20
> +// CHECK:  encoding: [0x62,0xe2,0xbd,0x30,0x14,0x21]
> +          vprorvq (%rcx){1to4}, %ymm24, %ymm20
> +
> +// CHECK: vprorvq 4064(%rdx), %ymm24, %ymm20
> +// CHECK:  encoding: [0x62,0xe2,0xbd,0x20,0x14,0x62,0x7f]
> +          vprorvq 4064(%rdx), %ymm24, %ymm20
> +
> +// CHECK: vprorvq 4096(%rdx), %ymm24, %ymm20
> +// CHECK:  encoding: [0x62,0xe2,0xbd,0x20,0x14,0xa2,0x00,0x10,0x00,0x00]
> +          vprorvq 4096(%rdx), %ymm24, %ymm20
> +
> +// CHECK: vprorvq -4096(%rdx), %ymm24, %ymm20
> +// CHECK:  encoding: [0x62,0xe2,0xbd,0x20,0x14,0x62,0x80]
> +          vprorvq -4096(%rdx), %ymm24, %ymm20
> +
> +// CHECK: vprorvq -4128(%rdx), %ymm24, %ymm20
> +// CHECK:  encoding: [0x62,0xe2,0xbd,0x20,0x14,0xa2,0xe0,0xef,0xff,0xff]
> +          vprorvq -4128(%rdx), %ymm24, %ymm20
> +
> +// CHECK: vprorvq 1016(%rdx){1to4}, %ymm24, %ymm20
> +// CHECK:  encoding: [0x62,0xe2,0xbd,0x30,0x14,0x62,0x7f]
> +          vprorvq 1016(%rdx){1to4}, %ymm24, %ymm20
> +
> +// CHECK: vprorvq 1024(%rdx){1to4}, %ymm24, %ymm20
> +// CHECK:  encoding: [0x62,0xe2,0xbd,0x30,0x14,0xa2,0x00,0x04,0x00,0x00]
> +          vprorvq 1024(%rdx){1to4}, %ymm24, %ymm20
> +
> +// CHECK: vprorvq -1024(%rdx){1to4}, %ymm24, %ymm20
> +// CHECK:  encoding: [0x62,0xe2,0xbd,0x30,0x14,0x62,0x80]
> +          vprorvq -1024(%rdx){1to4}, %ymm24, %ymm20
> +
> +// CHECK: vprorvq -1032(%rdx){1to4}, %ymm24, %ymm20
> +// CHECK:  encoding: [0x62,0xe2,0xbd,0x30,0x14,0xa2,0xf8,0xfb,0xff,0xff]
> +          vprorvq -1032(%rdx){1to4}, %ymm24, %ymm20
> +
> +// CHECK: vprorq $171, %xmm28, %xmm28
> +// CHECK:  encoding: [0x62,0x91,0x9d,0x00,0x72,0xc4,0xab]
> +          vprorq $171, %xmm28, %xmm28
> +
> +// CHECK: vprorq $171, %xmm28, %xmm28 {%k1}
> +// CHECK:  encoding: [0x62,0x91,0x9d,0x01,0x72,0xc4,0xab]
> +          vprorq $171, %xmm28, %xmm28 {%k1}
> +
> +// CHECK: vprorq $171, %xmm28, %xmm28 {%k1} {z}
> +// CHECK:  encoding: [0x62,0x91,0x9d,0x81,0x72,0xc4,0xab]
> +          vprorq $171, %xmm28, %xmm28 {%k1} {z}
> +
> +// CHECK: vprorq $123, %xmm28, %xmm28
> +// CHECK:  encoding: [0x62,0x91,0x9d,0x00,0x72,0xc4,0x7b]
> +          vprorq $123, %xmm28, %xmm28
> +
> +// CHECK: vprorq $123, (%rcx), %xmm28
> +// CHECK:  encoding: [0x62,0xf1,0x9d,0x00,0x72,0x01,0x7b]
> +          vprorq $123, (%rcx), %xmm28
> +
> +// CHECK: vprorq $123, 291(%rax,%r14,8), %xmm28
> +// CHECK:  encoding: [0x62,0xb1,0x9d,0x00,0x72,0x84,0xf0,0x23,0x01,0x00,0x00,0x7b]
> +          vprorq $123, 291(%rax,%r14,8), %xmm28
> +
> +// CHECK: vprorq $123, (%rcx){1to2}, %xmm28
> +// CHECK:  encoding: [0x62,0xf1,0x9d,0x10,0x72,0x01,0x7b]
> +          vprorq $123, (%rcx){1to2}, %xmm28
> +
> +// CHECK: vprorq $123, 2032(%rdx), %xmm28
> +// CHECK:  encoding: [0x62,0xf1,0x9d,0x00,0x72,0x42,0x7f,0x7b]
> +          vprorq $123, 2032(%rdx), %xmm28
> +
> +// CHECK: vprorq $123, 2048(%rdx), %xmm28
> +// CHECK:  encoding: [0x62,0xf1,0x9d,0x00,0x72,0x82,0x00,0x08,0x00,0x00,0x7b]
> +          vprorq $123, 2048(%rdx), %xmm28
> +
> +// CHECK: vprorq $123, -2048(%rdx), %xmm28
> +// CHECK:  encoding: [0x62,0xf1,0x9d,0x00,0x72,0x42,0x80,0x7b]
> +          vprorq $123, -2048(%rdx), %xmm28
> +
> +// CHECK: vprorq $123, -2064(%rdx), %xmm28
> +// CHECK:  encoding: [0x62,0xf1,0x9d,0x00,0x72,0x82,0xf0,0xf7,0xff,0xff,0x7b]
> +          vprorq $123, -2064(%rdx), %xmm28
> +
> +// CHECK: vprorq $123, 1016(%rdx){1to2}, %xmm28
> +// CHECK:  encoding: [0x62,0xf1,0x9d,0x10,0x72,0x42,0x7f,0x7b]
> +          vprorq $123, 1016(%rdx){1to2}, %xmm28
> +
> +// CHECK: vprorq $123, 1024(%rdx){1to2}, %xmm28
> +// CHECK:  encoding: [0x62,0xf1,0x9d,0x10,0x72,0x82,0x00,0x04,0x00,0x00,0x7b]
> +          vprorq $123, 1024(%rdx){1to2}, %xmm28
> +
> +// CHECK: vprorq $123, -1024(%rdx){1to2}, %xmm28
> +// CHECK:  encoding: [0x62,0xf1,0x9d,0x10,0x72,0x42,0x80,0x7b]
> +          vprorq $123, -1024(%rdx){1to2}, %xmm28
> +
> +// CHECK: vprorq $123, -1032(%rdx){1to2}, %xmm28
> +// CHECK:  encoding: [0x62,0xf1,0x9d,0x10,0x72,0x82,0xf8,0xfb,0xff,0xff,0x7b]
> +          vprorq $123, -1032(%rdx){1to2}, %xmm28
> +
> +// CHECK: vprorq $171, %ymm17, %ymm21
> +// CHECK:  encoding: [0x62,0xb1,0xd5,0x20,0x72,0xc1,0xab]
> +          vprorq $171, %ymm17, %ymm21
> +
> +// CHECK: vprorq $171, %ymm17, %ymm21 {%k1}
> +// CHECK:  encoding: [0x62,0xb1,0xd5,0x21,0x72,0xc1,0xab]
> +          vprorq $171, %ymm17, %ymm21 {%k1}
> +
> +// CHECK: vprorq $171, %ymm17, %ymm21 {%k1} {z}
> +// CHECK:  encoding: [0x62,0xb1,0xd5,0xa1,0x72,0xc1,0xab]
> +          vprorq $171, %ymm17, %ymm21 {%k1} {z}
> +
> +// CHECK: vprorq $123, %ymm17, %ymm21
> +// CHECK:  encoding: [0x62,0xb1,0xd5,0x20,0x72,0xc1,0x7b]
> +          vprorq $123, %ymm17, %ymm21
> +
> +// CHECK: vprorq $123, (%rcx), %ymm21
> +// CHECK:  encoding: [0x62,0xf1,0xd5,0x20,0x72,0x01,0x7b]
> +          vprorq $123, (%rcx), %ymm21
> +
> +// CHECK: vprorq $123, 291(%rax,%r14,8), %ymm21
> +// CHECK:  encoding: [0x62,0xb1,0xd5,0x20,0x72,0x84,0xf0,0x23,0x01,0x00,0x00,0x7b]
> +          vprorq $123, 291(%rax,%r14,8), %ymm21
> +
> +// CHECK: vprorq $123, (%rcx){1to4}, %ymm21
> +// CHECK:  encoding: [0x62,0xf1,0xd5,0x30,0x72,0x01,0x7b]
> +          vprorq $123, (%rcx){1to4}, %ymm21
> +
> +// CHECK: vprorq $123, 4064(%rdx), %ymm21
> +// CHECK:  encoding: [0x62,0xf1,0xd5,0x20,0x72,0x42,0x7f,0x7b]
> +          vprorq $123, 4064(%rdx), %ymm21
> +
> +// CHECK: vprorq $123, 4096(%rdx), %ymm21
> +// CHECK:  encoding: [0x62,0xf1,0xd5,0x20,0x72,0x82,0x00,0x10,0x00,0x00,0x7b]
> +          vprorq $123, 4096(%rdx), %ymm21
> +
> +// CHECK: vprorq $123, -4096(%rdx), %ymm21
> +// CHECK:  encoding: [0x62,0xf1,0xd5,0x20,0x72,0x42,0x80,0x7b]
> +          vprorq $123, -4096(%rdx), %ymm21
> +
> +// CHECK: vprorq $123, -4128(%rdx), %ymm21
> +// CHECK:  encoding: [0x62,0xf1,0xd5,0x20,0x72,0x82,0xe0,0xef,0xff,0xff,0x7b]
> +          vprorq $123, -4128(%rdx), %ymm21
> +
> +// CHECK: vprorq $123, 1016(%rdx){1to4}, %ymm21
> +// CHECK:  encoding: [0x62,0xf1,0xd5,0x30,0x72,0x42,0x7f,0x7b]
> +          vprorq $123, 1016(%rdx){1to4}, %ymm21
> +
> +// CHECK: vprorq $123, 1024(%rdx){1to4}, %ymm21
> +// CHECK:  encoding: [0x62,0xf1,0xd5,0x30,0x72,0x82,0x00,0x04,0x00,0x00,0x7b]
> +          vprorq $123, 1024(%rdx){1to4}, %ymm21
> +
> +// CHECK: vprorq $123, -1024(%rdx){1to4}, %ymm21
> +// CHECK:  encoding: [0x62,0xf1,0xd5,0x30,0x72,0x42,0x80,0x7b]
> +          vprorq $123, -1024(%rdx){1to4}, %ymm21
> +
> +// CHECK: vprorq $123, -1032(%rdx){1to4}, %ymm21
> +// CHECK:  encoding: [0x62,0xf1,0xd5,0x30,0x72,0x82,0xf8,0xfb,0xff,0xff,0x7b]
> +          vprorq $123, -1032(%rdx){1to4}, %ymm21
> 
> 
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits





More information about the llvm-commits mailing list