<div dir="ltr">Hi Adam,<div><br></div><div>Sorry for delay. I was on vacation too :)</div><div>Thanks for your notice, I commit this in rev218051.</div></div><div class="gmail_extra"><br><div class="gmail_quote">2014-09-03 2:57 GMT+04:00 Adam Nemet <span dir="ltr"><<a href="mailto:anemet@apple.com" target="_blank">anemet@apple.com</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi Robert,<br>
<br>
Sorry about the delay but I was on vacation.  This is really cool.  I just have one suggestion below.<br>
<div><div class="h5"><br>
On Aug 25, 2014, at 7:49 AM, Robert Khasanov <<a href="mailto:rob.khasanov@gmail.com">rob.khasanov@gmail.com</a>> wrote:<br>
<br>
> Author: rkhasanov<br>
> Date: Mon Aug 25 09:49:34 2014<br>
> New Revision: 216383<br>
><br>
> URL: <a href="http://llvm.org/viewvc/llvm-project?rev=216383&view=rev" target="_blank">http://llvm.org/viewvc/llvm-project?rev=216383&view=rev</a><br>
> Log:<br>
> [SKX] avx512_icmp_packed multiclass extension<br>
> Extended avx512_icmp_packed multiclass by masking versions.<br>
> Added avx512_icmp_packed_rmb multiclass for embedded broadcast versions.<br>
> Added corresponding _vl multiclasses.<br>
> Added encoding tests for CPCMP{EQ|GT}* instructions.<br>
> Add more fields for X86VectorVTInfo.<br>
> Added AVX512VLVectorVTInfo that include X86VectorVTInfo for 512/256/128-bit versions<br>
><br>
> Differential Revision: <a href="http://reviews.llvm.org/D5024" target="_blank">http://reviews.llvm.org/D5024</a><br>
><br>
> Modified:<br>
>    llvm/trunk/lib/Target/X86/X86InstrAVX512.td<br>
>    llvm/trunk/test/MC/X86/avx512-encodings.s<br>
>    llvm/trunk/test/MC/X86/x86-64-avx512bw.s<br>
>    llvm/trunk/test/MC/X86/x86-64-avx512bw_vl.s<br>
>    llvm/trunk/test/MC/X86/x86-64-avx512f_vl.s<br>
>    llvm/trunk/utils/TableGen/X86DisassemblerTables.cpp<br>
>    llvm/trunk/utils/TableGen/X86RecognizableInstr.cpp<br>
><br>
> Modified: llvm/trunk/lib/Target/X86/X86InstrAVX512.td<br>
> URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/X86InstrAVX512.td?rev=216383&r1=216382&r2=216383&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/X86InstrAVX512.td?rev=216383&r1=216382&r2=216383&view=diff</a><br>
> ==============================================================================<br>
> --- llvm/trunk/lib/Target/X86/X86InstrAVX512.td (original)<br>
> +++ llvm/trunk/lib/Target/X86/X86InstrAVX512.td Mon Aug 25 09:49:34 2014<br>
> @@ -22,34 +22,83 @@ class X86VectorVTInfo<int NumElts, Value<br>
>   // Suffix used in the instruction mnemonic.<br>
>   string Suffix = suffix;<br>
><br>
> +  string VTName = "v" # NumElts # EltVT;<br>
> +<br>
>   // The vector VT.<br>
> -  ValueType VT = !cast<ValueType>("v" # NumElts # EltVT);<br>
> +  ValueType VT = !cast<ValueType>(VTName);<br>
><br>
>   string EltTypeName = !cast<string>(EltVT);<br>
>   // Size of the element type in bits, e.g. 32 for v16i32.<br>
> -  string EltSize = !subst("i", "", !subst("f", "", EltTypeName));<br>
> +  string EltSizeName = !subst("i", "", !subst("f", "", EltTypeName));<br>
> +  int EltSize = EltVT.Size;<br>
><br>
>   // "i" for integer types and "f" for floating-point types<br>
> -  string TypeVariantName = !subst(EltSize, "", EltTypeName);<br>
> +  string TypeVariantName = !subst(EltSizeName, "", EltTypeName);<br>
><br>
>   // Size of RC in bits, e.g. 512 for VR512.<br>
>   int Size = VT.Size;<br>
><br>
>   // The corresponding memory operand, e.g. i512mem for VR512.<br>
>   X86MemOperand MemOp = !cast<X86MemOperand>(TypeVariantName # Size # "mem");<br>
> +  X86MemOperand ScalarMemOp = !cast<X86MemOperand>(EltVT # "mem");<br>
> +<br>
> +  // Load patterns<br>
> +  // Note: For 128/256-bit integer VT we choose loadv2i64/loadv4i64<br>
> +  //       due to load promotion during legalization<br>
> +  PatFrag LdFrag = !cast<PatFrag>("load" #<br>
> +                                  !if (!eq (TypeVariantName, "i"),<br>
> +                                       !if (!eq (Size, 128), "v2i64",<br>
> +                                       !if (!eq (Size, 256), "v4i64",<br>
> +                                            VTName)), VTName));<br>
> +  PatFrag ScalarLdFrag = !cast<PatFrag>("load" # EltVT);<br>
><br>
>   // The corresponding float type, e.g. v16f32 for v16i32<br>
> -  ValueType FloatVT = !if (!eq(TypeVariantName, "i"),<br>
> -                           !cast<ValueType>("v" # NumElts # "f" # EltSize),<br>
> -                           VT);<br>
> +  // Note: For EltSize < 32, FloatVT is illegal and TableGen<br>
> +  //       fails to compile, so we choose FloatVT = VT<br>
> +  ValueType FloatVT = !cast<ValueType>(<br>
> +                        !if (!eq (!srl(EltSize,5),0),<br>
> +                             VTName,<br>
> +                             !if (!eq(TypeVariantName, "i"),<br>
> +                                  "v" # NumElts # "f" # EltSize,<br>
> +                                  VTName)));<br>
><br>
>   // The string to specify embedded broadcast in assembly.<br>
>   string BroadcastStr = "{1to" # NumElts # "}";<br>
> }<br>
><br>
> +def v64i8_info  : X86VectorVTInfo<64,  i8, VR512, "b">;<br>
> +def v32i16_info : X86VectorVTInfo<32, i16, VR512, "w">;<br>
> def v16i32_info : X86VectorVTInfo<16, i32, VR512, "d">;<br>
> def v8i64_info  : X86VectorVTInfo<8,  i64, VR512, "q">;<br>
><br>
> +// "x" in v32i8x_info means RC = VR256X<br>
> +def v32i8x_info  : X86VectorVTInfo<32,  i8, VR256X, "b">;<br>
> +def v16i16x_info : X86VectorVTInfo<16, i16, VR256X, "w">;<br>
> +def v8i32x_info  : X86VectorVTInfo<8,  i32, VR256X, "d">;<br>
> +def v4i64x_info  : X86VectorVTInfo<4,  i64, VR256X, "q">;<br>
> +<br>
> +def v16i8x_info  : X86VectorVTInfo<16,  i8, VR128X, "b">;<br>
> +def v8i16x_info  : X86VectorVTInfo<8,  i16, VR128X, "w">;<br>
> +def v4i32x_info  : X86VectorVTInfo<4,  i32, VR128X, "d">;<br>
> +def v2i64x_info  : X86VectorVTInfo<2,  i64, VR128X, "q">;<br>
> +<br>
> +class AVX512VLVectorVTInfo<X86VectorVTInfo i512, X86VectorVTInfo i256,<br>
> +                           X86VectorVTInfo i128> {<br>
> +  X86VectorVTInfo info512 = i512;<br>
> +  X86VectorVTInfo info256 = i256;<br>
> +  X86VectorVTInfo info128 = i128;<br>
> +}<br>
> +<br>
> +def avx512vl_i8_info  : AVX512VLVectorVTInfo<v64i8_info, v32i8x_info,<br>
> +                                             v16i8x_info>;<br>
> +def avx512vl_i16_info : AVX512VLVectorVTInfo<v32i16_info, v16i16x_info,<br>
> +                                             v8i16x_info>;<br>
> +def avx512vl_i32_info : AVX512VLVectorVTInfo<v16i32_info, v8i32x_info,<br>
> +                                             v4i32x_info>;<br>
> +def avx512vl_i64_info : AVX512VLVectorVTInfo<v8i64_info, v4i64x_info,<br>
> +                                             v2i64x_info>;<br>
> +<br>
> +<br>
> // Common base class of AVX512_masking and AVX512_masking_3src.<br>
> multiclass AVX512_masking_common<bits<8> O, Format F, dag Outs, dag Ins,<br>
>                                  dag MaskingIns, dag ZeroMaskingIns,<br>
> @@ -971,34 +1020,131 @@ defm VCMPSDZ : avx512_cmp_scalar<FR64X,<br>
>                  XD, VEX_W;<br>
> }<br>
><br>
> -multiclass avx512_icmp_packed<bits<8> opc, string OpcodeStr, RegisterClass KRC,<br>
> -              RegisterClass RC, X86MemOperand x86memop, PatFrag memop_frag,<br>
> -              SDNode OpNode, ValueType vt> {<br>
> +multiclass avx512_icmp_packed<bits<8> opc, string OpcodeStr, SDNode OpNode,<br>
> +              X86VectorVTInfo _> {<br>
>   def rr : AVX512BI<opc, MRMSrcReg,<br>
> -             (outs KRC:$dst), (ins RC:$src1, RC:$src2),<br>
> -             !strconcat(OpcodeStr, " \t{$src2, $src1, $dst|$dst, $src1, $src2}"),<br>
> -             [(set KRC:$dst, (OpNode (vt RC:$src1), (vt RC:$src2)))],<br>
> +             (outs _.KRC:$dst), (ins _.RC:$src1, _.RC:$src2),<br>
> +             !strconcat(OpcodeStr, "\t{$src2, $src1, $dst|$dst, $src1, $src2}"),<br>
> +             [(set _.KRC:$dst, (OpNode (_.VT _.RC:$src1), (_.VT _.RC:$src2)))],<br>
>              IIC_SSE_ALU_F32P_RR>, EVEX_4V;<br>
> +  let mayLoad = 1 in<br>
>   def rm : AVX512BI<opc, MRMSrcMem,<br>
> -             (outs KRC:$dst), (ins RC:$src1, x86memop:$src2),<br>
> -             !strconcat(OpcodeStr, " \t{$src2, $src1, $dst|$dst, $src1, $src2}"),<br>
> -             [(set KRC:$dst, (OpNode (vt RC:$src1), (memop_frag addr:$src2)))],<br>
> +             (outs _.KRC:$dst), (ins _.RC:$src1, _.MemOp:$src2),<br>
> +             !strconcat(OpcodeStr, "\t{$src2, $src1, $dst|$dst, $src1, $src2}"),<br>
> +             [(set _.KRC:$dst, (OpNode (_.VT _.RC:$src1),<br>
> +                                     (_.VT (bitconvert (_.LdFrag addr:$src2)))))],<br>
>              IIC_SSE_ALU_F32P_RM>, EVEX_4V;<br>
> +  def rrk : AVX512BI<opc, MRMSrcReg,<br>
> +              (outs _.KRC:$dst), (ins _.KRCWM:$mask, _.RC:$src1, _.RC:$src2),<br>
> +              !strconcat(OpcodeStr, "\t{$src2, $src1, $dst {${mask}}|",<br>
> +                          "$dst {${mask}}, $src1, $src2}"),<br>
> +              [(set _.KRC:$dst, (and _.KRCWM:$mask,<br>
> +                                   (OpNode (_.VT _.RC:$src1), (_.VT _.RC:$src2))))],<br>
> +              IIC_SSE_ALU_F32P_RR>, EVEX_4V, EVEX_K;<br>
> +  let mayLoad = 1 in<br>
> +  def rmk : AVX512BI<opc, MRMSrcMem,<br>
> +              (outs _.KRC:$dst), (ins _.KRCWM:$mask, _.RC:$src1, _.MemOp:$src2),<br>
> +              !strconcat(OpcodeStr, "\t{$src2, $src1, $dst {${mask}}|",<br>
> +                          "$dst {${mask}}, $src1, $src2}"),<br>
> +              [(set _.KRC:$dst, (and _.KRCWM:$mask,<br>
> +                                   (OpNode (_.VT _.RC:$src1),<br>
> +                                       (_.VT (bitconvert<br>
> +                                              (_.LdFrag addr:$src2))))))],<br>
> +              IIC_SSE_ALU_F32P_RM>, EVEX_4V, EVEX_K;<br>
> +}<br>
> +<br>
> +multiclass avx512_icmp_packed_rmb<bits<8> opc, string OpcodeStr, SDNode OpNode,<br>
> +              X86VectorVTInfo _> {<br>
> +  let mayLoad = 1 in {<br>
> +  def rmb : AVX512BI<opc, MRMSrcMem,<br>
> +              (outs _.KRC:$dst), (ins _.RC:$src1, _.ScalarMemOp:$src2),<br>
> +              !strconcat(OpcodeStr, "\t{${src2}", _.BroadcastStr, ", $src1, $dst",<br>
> +                                    "|$dst, $src1, ${src2}", _.BroadcastStr, "}"),<br>
> +              [(set _.KRC:$dst, (OpNode (_.VT _.RC:$src1),<br>
> +                              (X86VBroadcast (_.ScalarLdFrag addr:$src2))))],<br>
> +              IIC_SSE_ALU_F32P_RM>, EVEX_4V, EVEX_B;<br>
> +  def rmbk : AVX512BI<opc, MRMSrcMem,<br>
> +               (outs _.KRC:$dst), (ins _.KRCWM:$mask, _.RC:$src1,<br>
> +                                       _.ScalarMemOp:$src2),<br>
> +               !strconcat(OpcodeStr,<br>
> +                          "\t{${src2}", _.BroadcastStr, ", $src1, $dst {${mask}}|",<br>
> +                          "$dst {${mask}}, $src1, ${src2}", _.BroadcastStr, "}"),<br>
> +               [(set _.KRC:$dst, (and _.KRCWM:$mask,<br>
> +                                      (OpNode (_.VT _.RC:$src1),<br>
> +                                        (X86VBroadcast<br>
> +                                          (_.ScalarLdFrag addr:$src2)))))],<br>
> +               IIC_SSE_ALU_F32P_RM>, EVEX_4V, EVEX_K, EVEX_B;<br>
> +  }<br>
> +}<br>
> +<br>
> +multiclass avx512_icmp_packed_vl<bits<8> opc, string OpcodeStr, SDNode OpNode,<br>
> +                                 AVX512VLVectorVTInfo VTInfo, Predicate prd> {<br>
> +  let Predicates = [prd] in<br>
> +  defm Z : avx512_icmp_packed<opc, OpcodeStr, OpNode, VTInfo.info512>,<br>
> +           EVEX_V512;<br>
> +<br>
> +  let Predicates = [prd, HasVLX] in {<br>
> +    defm Z256 : avx512_icmp_packed<opc, OpcodeStr, OpNode, VTInfo.info256>,<br>
> +                EVEX_V256;<br>
> +    defm Z128 : avx512_icmp_packed<opc, OpcodeStr, OpNode, VTInfo.info128>,<br>
> +                EVEX_V128;<br>
> +  }<br>
> +}<br>
> +<br>
> +multiclass avx512_icmp_packed_rmb_vl<bits<8> opc, string OpcodeStr,<br>
> +                                  SDNode OpNode, AVX512VLVectorVTInfo VTInfo,<br>
> +                                  Predicate prd> {<br>
> +  let Predicates = [prd] in<br>
> +  defm Z : avx512_icmp_packed_rmb<opc, OpcodeStr, OpNode, VTInfo.info512>,<br>
> +           EVEX_V512;<br>
> +<br>
> +  let Predicates = [prd, HasVLX] in {<br>
> +    defm Z256 : avx512_icmp_packed_rmb<opc, OpcodeStr, OpNode, VTInfo.info256>,<br>
> +                EVEX_V256;<br>
> +    defm Z128 : avx512_icmp_packed_rmb<opc, OpcodeStr, OpNode, VTInfo.info128>,<br>
> +                EVEX_V128;<br>
> +  }<br>
> }<br>
><br>
> -defm VPCMPEQDZ : avx512_icmp_packed<0x76, "vpcmpeqd", VK16, VR512, i512mem,<br>
> -                           memopv16i32, X86pcmpeqm, v16i32>, EVEX_V512,<br>
> -                           EVEX_CD8<32, CD8VF>;<br>
> -defm VPCMPEQQZ : avx512_icmp_packed<0x29, "vpcmpeqq", VK8, VR512, i512mem,<br>
> -                           memopv8i64, X86pcmpeqm, v8i64>, T8PD, EVEX_V512,<br>
> -                           VEX_W, EVEX_CD8<64, CD8VF>;<br>
> -<br>
> -defm VPCMPGTDZ : avx512_icmp_packed<0x66, "vpcmpgtd", VK16, VR512, i512mem,<br>
> -                           memopv16i32, X86pcmpgtm, v16i32>, EVEX_V512,<br>
> -                           EVEX_CD8<32, CD8VF>;<br>
> -defm VPCMPGTQZ : avx512_icmp_packed<0x37, "vpcmpgtq", VK8, VR512, i512mem,<br>
> -                           memopv8i64, X86pcmpgtm, v8i64>, T8PD, EVEX_V512,<br>
> -                           VEX_W, EVEX_CD8<64, CD8VF>;<br>
> +defm VPCMPEQB : avx512_icmp_packed_vl<0x74, "vpcmpeqb", X86pcmpeqm,<br>
> +                      avx512vl_i8_info, HasBWI>,<br>
> +                EVEX_CD8<8, CD8VF>;<br>
> +<br>
> +defm VPCMPEQW : avx512_icmp_packed_vl<0x75, "vpcmpeqw", X86pcmpeqm,<br>
> +                      avx512vl_i16_info, HasBWI>,<br>
> +                EVEX_CD8<16, CD8VF>;<br>
> +<br>
> +defm VPCMPEQD : avx512_icmp_packed_vl<0x76, "vpcmpeqd", X86pcmpeqm,<br>
> +                      avx512vl_i32_info, HasAVX512>,<br>
> +                avx512_icmp_packed_rmb_vl<0x76, "vpcmpeqd", X86pcmpeqm,<br>
> +                      avx512vl_i32_info, HasAVX512>,<br>
> +                EVEX_CD8<32, CD8VF>;<br>
<br>
</div></div>Did you consider deriving ..._packed_rmb from  ..._packed?   Then …_packed_vl would use .._packed and .._packed_rmb_vl would use .._packed_rmb.<br>
<br>
This way you wouldn’t have to pass the same arguments at every instantiation?  It would also be clearer that rmb is the superset of the functionality.  I did something similar with avx512_perm_table_3src deriving it from avx512_perm_3src.<br>
<span class="HOEnZb"><font color="#888888"><br>
Adam<br>
</font></span><div class="HOEnZb"><div class="h5"><br>
> +<br>
> +defm VPCMPEQQ : avx512_icmp_packed_vl<0x29, "vpcmpeqq", X86pcmpeqm,<br>
> +                      avx512vl_i64_info, HasAVX512>,<br>
> +                avx512_icmp_packed_rmb_vl<0x29, "vpcmpeqq", X86pcmpeqm,<br>
> +                      avx512vl_i64_info, HasAVX512>,<br>
> +                T8PD, VEX_W, EVEX_CD8<64, CD8VF>;<br>
> +<br>
> +defm VPCMPGTB : avx512_icmp_packed_vl<0x64, "vpcmpgtb", X86pcmpgtm,<br>
> +                      avx512vl_i8_info, HasBWI>,<br>
> +                EVEX_CD8<8, CD8VF>;<br>
> +<br>
> +defm VPCMPGTW : avx512_icmp_packed_vl<0x65, "vpcmpgtw", X86pcmpgtm,<br>
> +                      avx512vl_i16_info, HasBWI>,<br>
> +                EVEX_CD8<16, CD8VF>;<br>
> +<br>
> +defm VPCMPGTD : avx512_icmp_packed_vl<0x66, "vpcmpgtd", X86pcmpgtm,<br>
> +                      avx512vl_i32_info, HasAVX512>,<br>
> +                avx512_icmp_packed_rmb_vl<0x66, "vpcmpgtd", X86pcmpgtm,<br>
> +                      avx512vl_i32_info, HasAVX512>,<br>
> +                EVEX_CD8<32, CD8VF>;<br>
> +<br>
> +defm VPCMPGTQ : avx512_icmp_packed_vl<0x37, "vpcmpgtq", X86pcmpgtm,<br>
> +                      avx512vl_i64_info, HasAVX512>,<br>
> +                avx512_icmp_packed_rmb_vl<0x37, "vpcmpgtq", X86pcmpgtm,<br>
> +                      avx512vl_i64_info, HasAVX512>,<br>
> +                T8PD, VEX_W, EVEX_CD8<64, CD8VF>;<br>
><br>
> def : Pat<(v8i1 (X86pcmpgtm (v8i32 VR256X:$src1), (v8i32 VR256X:$src2))),<br>
>             (COPY_TO_REGCLASS (VPCMPGTDZrr<br>
><br>
> Modified: llvm/trunk/test/MC/X86/avx512-encodings.s<br>
> URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MC/X86/avx512-encodings.s?rev=216383&r1=216382&r2=216383&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MC/X86/avx512-encodings.s?rev=216383&r1=216382&r2=216383&view=diff</a><br>
> ==============================================================================<br>
> --- llvm/trunk/test/MC/X86/avx512-encodings.s (original)<br>
> +++ llvm/trunk/test/MC/X86/avx512-encodings.s Mon Aug 25 09:49:34 2014<br>
> @@ -1425,6 +1425,214 @@<br>
> // CHECK:  encoding: [0x62,0xe1,0xdd,0x58,0xdb,0x8a,0xf8,0xfb,0xff,0xff]<br>
>           vpandq -1032(%rdx){1to8}, %zmm4, %zmm17<br>
><br>
> +// CHECK: vpcmpeqd %zmm10, %zmm2, %k5<br>
> +// CHECK:  encoding: [0x62,0xd1,0x6d,0x48,0x76,0xea]<br>
> +          vpcmpeqd %zmm10, %zmm2, %k5<br>
> +<br>
> +// CHECK: vpcmpeqd %zmm10, %zmm2, %k5 {%k7}<br>
> +// CHECK:  encoding: [0x62,0xd1,0x6d,0x4f,0x76,0xea]<br>
> +          vpcmpeqd %zmm10, %zmm2, %k5 {%k7}<br>
> +<br>
> +// CHECK: vpcmpeqd (%rcx), %zmm2, %k5<br>
> +// CHECK:  encoding: [0x62,0xf1,0x6d,0x48,0x76,0x29]<br>
> +          vpcmpeqd (%rcx), %zmm2, %k5<br>
> +<br>
> +// CHECK: vpcmpeqd 291(%rax,%r14,8), %zmm2, %k5<br>
> +// CHECK:  encoding: [0x62,0xb1,0x6d,0x48,0x76,0xac,0xf0,0x23,0x01,0x00,0x00]<br>
> +          vpcmpeqd 291(%rax,%r14,8), %zmm2, %k5<br>
> +<br>
> +// CHECK: vpcmpeqd (%rcx){1to16}, %zmm2, %k5<br>
> +// CHECK:  encoding: [0x62,0xf1,0x6d,0x58,0x76,0x29]<br>
> +          vpcmpeqd (%rcx){1to16}, %zmm2, %k5<br>
> +<br>
> +// CHECK: vpcmpeqd 8128(%rdx), %zmm2, %k5<br>
> +// CHECK:  encoding: [0x62,0xf1,0x6d,0x48,0x76,0x6a,0x7f]<br>
> +          vpcmpeqd 8128(%rdx), %zmm2, %k5<br>
> +<br>
> +// CHECK: vpcmpeqd 8192(%rdx), %zmm2, %k5<br>
> +// CHECK:  encoding: [0x62,0xf1,0x6d,0x48,0x76,0xaa,0x00,0x20,0x00,0x00]<br>
> +          vpcmpeqd 8192(%rdx), %zmm2, %k5<br>
> +<br>
> +// CHECK: vpcmpeqd -8192(%rdx), %zmm2, %k5<br>
> +// CHECK:  encoding: [0x62,0xf1,0x6d,0x48,0x76,0x6a,0x80]<br>
> +          vpcmpeqd -8192(%rdx), %zmm2, %k5<br>
> +<br>
> +// CHECK: vpcmpeqd -8256(%rdx), %zmm2, %k5<br>
> +// CHECK:  encoding: [0x62,0xf1,0x6d,0x48,0x76,0xaa,0xc0,0xdf,0xff,0xff]<br>
> +          vpcmpeqd -8256(%rdx), %zmm2, %k5<br>
> +<br>
> +// CHECK: vpcmpeqd 508(%rdx){1to16}, %zmm2, %k5<br>
> +// CHECK:  encoding: [0x62,0xf1,0x6d,0x58,0x76,0x6a,0x7f]<br>
> +          vpcmpeqd 508(%rdx){1to16}, %zmm2, %k5<br>
> +<br>
> +// CHECK: vpcmpeqd 512(%rdx){1to16}, %zmm2, %k5<br>
> +// CHECK:  encoding: [0x62,0xf1,0x6d,0x58,0x76,0xaa,0x00,0x02,0x00,0x00]<br>
> +          vpcmpeqd 512(%rdx){1to16}, %zmm2, %k5<br>
> +<br>
> +// CHECK: vpcmpeqd -512(%rdx){1to16}, %zmm2, %k5<br>
> +// CHECK:  encoding: [0x62,0xf1,0x6d,0x58,0x76,0x6a,0x80]<br>
> +          vpcmpeqd -512(%rdx){1to16}, %zmm2, %k5<br>
> +<br>
> +// CHECK: vpcmpeqd -516(%rdx){1to16}, %zmm2, %k5<br>
> +// CHECK:  encoding: [0x62,0xf1,0x6d,0x58,0x76,0xaa,0xfc,0xfd,0xff,0xff]<br>
> +          vpcmpeqd -516(%rdx){1to16}, %zmm2, %k5<br>
> +<br>
> +// CHECK: vpcmpeqq %zmm2, %zmm22, %k3<br>
> +// CHECK:  encoding: [0x62,0xf2,0xcd,0x40,0x29,0xda]<br>
> +          vpcmpeqq %zmm2, %zmm22, %k3<br>
> +<br>
> +// CHECK: vpcmpeqq %zmm2, %zmm22, %k3 {%k6}<br>
> +// CHECK:  encoding: [0x62,0xf2,0xcd,0x46,0x29,0xda]<br>
> +          vpcmpeqq %zmm2, %zmm22, %k3 {%k6}<br>
> +<br>
> +// CHECK: vpcmpeqq (%rcx), %zmm22, %k3<br>
> +// CHECK:  encoding: [0x62,0xf2,0xcd,0x40,0x29,0x19]<br>
> +          vpcmpeqq (%rcx), %zmm22, %k3<br>
> +<br>
> +// CHECK: vpcmpeqq 291(%rax,%r14,8), %zmm22, %k3<br>
> +// CHECK:  encoding: [0x62,0xb2,0xcd,0x40,0x29,0x9c,0xf0,0x23,0x01,0x00,0x00]<br>
> +          vpcmpeqq 291(%rax,%r14,8), %zmm22, %k3<br>
> +<br>
> +// CHECK: vpcmpeqq (%rcx){1to8}, %zmm22, %k3<br>
> +// CHECK:  encoding: [0x62,0xf2,0xcd,0x50,0x29,0x19]<br>
> +          vpcmpeqq (%rcx){1to8}, %zmm22, %k3<br>
> +<br>
> +// CHECK: vpcmpeqq 8128(%rdx), %zmm22, %k3<br>
> +// CHECK:  encoding: [0x62,0xf2,0xcd,0x40,0x29,0x5a,0x7f]<br>
> +          vpcmpeqq 8128(%rdx), %zmm22, %k3<br>
> +<br>
> +// CHECK: vpcmpeqq 8192(%rdx), %zmm22, %k3<br>
> +// CHECK:  encoding: [0x62,0xf2,0xcd,0x40,0x29,0x9a,0x00,0x20,0x00,0x00]<br>
> +          vpcmpeqq 8192(%rdx), %zmm22, %k3<br>
> +<br>
> +// CHECK: vpcmpeqq -8192(%rdx), %zmm22, %k3<br>
> +// CHECK:  encoding: [0x62,0xf2,0xcd,0x40,0x29,0x5a,0x80]<br>
> +          vpcmpeqq -8192(%rdx), %zmm22, %k3<br>
> +<br>
> +// CHECK: vpcmpeqq -8256(%rdx), %zmm22, %k3<br>
> +// CHECK:  encoding: [0x62,0xf2,0xcd,0x40,0x29,0x9a,0xc0,0xdf,0xff,0xff]<br>
> +          vpcmpeqq -8256(%rdx), %zmm22, %k3<br>
> +<br>
> +// CHECK: vpcmpeqq 1016(%rdx){1to8}, %zmm22, %k3<br>
> +// CHECK:  encoding: [0x62,0xf2,0xcd,0x50,0x29,0x5a,0x7f]<br>
> +          vpcmpeqq 1016(%rdx){1to8}, %zmm22, %k3<br>
> +<br>
> +// CHECK: vpcmpeqq 1024(%rdx){1to8}, %zmm22, %k3<br>
> +// CHECK:  encoding: [0x62,0xf2,0xcd,0x50,0x29,0x9a,0x00,0x04,0x00,0x00]<br>
> +          vpcmpeqq 1024(%rdx){1to8}, %zmm22, %k3<br>
> +<br>
> +// CHECK: vpcmpeqq -1024(%rdx){1to8}, %zmm22, %k3<br>
> +// CHECK:  encoding: [0x62,0xf2,0xcd,0x50,0x29,0x5a,0x80]<br>
> +          vpcmpeqq -1024(%rdx){1to8}, %zmm22, %k3<br>
> +<br>
> +// CHECK: vpcmpeqq -1032(%rdx){1to8}, %zmm22, %k3<br>
> +// CHECK:  encoding: [0x62,0xf2,0xcd,0x50,0x29,0x9a,0xf8,0xfb,0xff,0xff]<br>
> +          vpcmpeqq -1032(%rdx){1to8}, %zmm22, %k3<br>
> +<br>
> +// CHECK: vpcmpgtd %zmm8, %zmm21, %k5<br>
> +// CHECK:  encoding: [0x62,0xd1,0x55,0x40,0x66,0xe8]<br>
> +          vpcmpgtd %zmm8, %zmm21, %k5<br>
> +<br>
> +// CHECK: vpcmpgtd %zmm8, %zmm21, %k5 {%k5}<br>
> +// CHECK:  encoding: [0x62,0xd1,0x55,0x45,0x66,0xe8]<br>
> +          vpcmpgtd %zmm8, %zmm21, %k5 {%k5}<br>
> +<br>
> +// CHECK: vpcmpgtd (%rcx), %zmm21, %k5<br>
> +// CHECK:  encoding: [0x62,0xf1,0x55,0x40,0x66,0x29]<br>
> +          vpcmpgtd (%rcx), %zmm21, %k5<br>
> +<br>
> +// CHECK: vpcmpgtd 291(%rax,%r14,8), %zmm21, %k5<br>
> +// CHECK:  encoding: [0x62,0xb1,0x55,0x40,0x66,0xac,0xf0,0x23,0x01,0x00,0x00]<br>
> +          vpcmpgtd 291(%rax,%r14,8), %zmm21, %k5<br>
> +<br>
> +// CHECK: vpcmpgtd (%rcx){1to16}, %zmm21, %k5<br>
> +// CHECK:  encoding: [0x62,0xf1,0x55,0x50,0x66,0x29]<br>
> +          vpcmpgtd (%rcx){1to16}, %zmm21, %k5<br>
> +<br>
> +// CHECK: vpcmpgtd 8128(%rdx), %zmm21, %k5<br>
> +// CHECK:  encoding: [0x62,0xf1,0x55,0x40,0x66,0x6a,0x7f]<br>
> +          vpcmpgtd 8128(%rdx), %zmm21, %k5<br>
> +<br>
> +// CHECK: vpcmpgtd 8192(%rdx), %zmm21, %k5<br>
> +// CHECK:  encoding: [0x62,0xf1,0x55,0x40,0x66,0xaa,0x00,0x20,0x00,0x00]<br>
> +          vpcmpgtd 8192(%rdx), %zmm21, %k5<br>
> +<br>
> +// CHECK: vpcmpgtd -8192(%rdx), %zmm21, %k5<br>
> +// CHECK:  encoding: [0x62,0xf1,0x55,0x40,0x66,0x6a,0x80]<br>
> +          vpcmpgtd -8192(%rdx), %zmm21, %k5<br>
> +<br>
> +// CHECK: vpcmpgtd -8256(%rdx), %zmm21, %k5<br>
> +// CHECK:  encoding: [0x62,0xf1,0x55,0x40,0x66,0xaa,0xc0,0xdf,0xff,0xff]<br>
> +          vpcmpgtd -8256(%rdx), %zmm21, %k5<br>
> +<br>
> +// CHECK: vpcmpgtd 508(%rdx){1to16}, %zmm21, %k5<br>
> +// CHECK:  encoding: [0x62,0xf1,0x55,0x50,0x66,0x6a,0x7f]<br>
> +          vpcmpgtd 508(%rdx){1to16}, %zmm21, %k5<br>
> +<br>
> +// CHECK: vpcmpgtd 512(%rdx){1to16}, %zmm21, %k5<br>
> +// CHECK:  encoding: [0x62,0xf1,0x55,0x50,0x66,0xaa,0x00,0x02,0x00,0x00]<br>
> +          vpcmpgtd 512(%rdx){1to16}, %zmm21, %k5<br>
> +<br>
> +// CHECK: vpcmpgtd -512(%rdx){1to16}, %zmm21, %k5<br>
> +// CHECK:  encoding: [0x62,0xf1,0x55,0x50,0x66,0x6a,0x80]<br>
> +          vpcmpgtd -512(%rdx){1to16}, %zmm21, %k5<br>
> +<br>
> +// CHECK: vpcmpgtd -516(%rdx){1to16}, %zmm21, %k5<br>
> +// CHECK:  encoding: [0x62,0xf1,0x55,0x50,0x66,0xaa,0xfc,0xfd,0xff,0xff]<br>
> +          vpcmpgtd -516(%rdx){1to16}, %zmm21, %k5<br>
> +<br>
> +// CHECK: vpcmpgtq %zmm17, %zmm20, %k2<br>
> +// CHECK:  encoding: [0x62,0xb2,0xdd,0x40,0x37,0xd1]<br>
> +          vpcmpgtq %zmm17, %zmm20, %k2<br>
> +<br>
> +// CHECK: vpcmpgtq %zmm17, %zmm20, %k2 {%k3}<br>
> +// CHECK:  encoding: [0x62,0xb2,0xdd,0x43,0x37,0xd1]<br>
> +          vpcmpgtq %zmm17, %zmm20, %k2 {%k3}<br>
> +<br>
> +// CHECK: vpcmpgtq (%rcx), %zmm20, %k2<br>
> +// CHECK:  encoding: [0x62,0xf2,0xdd,0x40,0x37,0x11]<br>
> +          vpcmpgtq (%rcx), %zmm20, %k2<br>
> +<br>
> +// CHECK: vpcmpgtq 291(%rax,%r14,8), %zmm20, %k2<br>
> +// CHECK:  encoding: [0x62,0xb2,0xdd,0x40,0x37,0x94,0xf0,0x23,0x01,0x00,0x00]<br>
> +          vpcmpgtq 291(%rax,%r14,8), %zmm20, %k2<br>
> +<br>
> +// CHECK: vpcmpgtq (%rcx){1to8}, %zmm20, %k2<br>
> +// CHECK:  encoding: [0x62,0xf2,0xdd,0x50,0x37,0x11]<br>
> +          vpcmpgtq (%rcx){1to8}, %zmm20, %k2<br>
> +<br>
> +// CHECK: vpcmpgtq 8128(%rdx), %zmm20, %k2<br>
> +// CHECK:  encoding: [0x62,0xf2,0xdd,0x40,0x37,0x52,0x7f]<br>
> +          vpcmpgtq 8128(%rdx), %zmm20, %k2<br>
> +<br>
> +// CHECK: vpcmpgtq 8192(%rdx), %zmm20, %k2<br>
> +// CHECK:  encoding: [0x62,0xf2,0xdd,0x40,0x37,0x92,0x00,0x20,0x00,0x00]<br>
> +          vpcmpgtq 8192(%rdx), %zmm20, %k2<br>
> +<br>
> +// CHECK: vpcmpgtq -8192(%rdx), %zmm20, %k2<br>
> +// CHECK:  encoding: [0x62,0xf2,0xdd,0x40,0x37,0x52,0x80]<br>
> +          vpcmpgtq -8192(%rdx), %zmm20, %k2<br>
> +<br>
> +// CHECK: vpcmpgtq -8256(%rdx), %zmm20, %k2<br>
> +// CHECK:  encoding: [0x62,0xf2,0xdd,0x40,0x37,0x92,0xc0,0xdf,0xff,0xff]<br>
> +          vpcmpgtq -8256(%rdx), %zmm20, %k2<br>
> +<br>
> +// CHECK: vpcmpgtq 1016(%rdx){1to8}, %zmm20, %k2<br>
> +// CHECK:  encoding: [0x62,0xf2,0xdd,0x50,0x37,0x52,0x7f]<br>
> +          vpcmpgtq 1016(%rdx){1to8}, %zmm20, %k2<br>
> +<br>
> +// CHECK: vpcmpgtq 1024(%rdx){1to8}, %zmm20, %k2<br>
> +// CHECK:  encoding: [0x62,0xf2,0xdd,0x50,0x37,0x92,0x00,0x04,0x00,0x00]<br>
> +          vpcmpgtq 1024(%rdx){1to8}, %zmm20, %k2<br>
> +<br>
> +// CHECK: vpcmpgtq -1024(%rdx){1to8}, %zmm20, %k2<br>
> +// CHECK:  encoding: [0x62,0xf2,0xdd,0x50,0x37,0x52,0x80]<br>
> +          vpcmpgtq -1024(%rdx){1to8}, %zmm20, %k2<br>
> +<br>
> +// CHECK: vpcmpgtq -1032(%rdx){1to8}, %zmm20, %k2<br>
> +// CHECK:  encoding: [0x62,0xf2,0xdd,0x50,0x37,0x92,0xf8,0xfb,0xff,0xff]<br>
> +          vpcmpgtq -1032(%rdx){1to8}, %zmm20, %k2<br>
> +<br>
> // CHECK: vpmaxsd %zmm16, %zmm8, %zmm6<br>
> // CHECK:  encoding: [0x62,0xb2,0x3d,0x48,0x3d,0xf0]<br>
>           vpmaxsd %zmm16, %zmm8, %zmm6<br>
><br>
> Modified: llvm/trunk/test/MC/X86/x86-64-avx512bw.s<br>
> URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MC/X86/x86-64-avx512bw.s?rev=216383&r1=216382&r2=216383&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MC/X86/x86-64-avx512bw.s?rev=216383&r1=216382&r2=216383&view=diff</a><br>
> ==============================================================================<br>
> --- llvm/trunk/test/MC/X86/x86-64-avx512bw.s (original)<br>
> +++ llvm/trunk/test/MC/X86/x86-64-avx512bw.s Mon Aug 25 09:49:34 2014<br>
> @@ -1,5 +1,133 @@<br>
> // RUN: llvm-mc -triple x86_64-unknown-unknown -mcpu=skx  --show-encoding %s | FileCheck %s<br>
><br>
> +// CHECK: vpcmpeqb %zmm26, %zmm26, %k4<br>
> +// CHECK:  encoding: [0x62,0x91,0x2d,0x40,0x74,0xe2]<br>
> +          vpcmpeqb %zmm26, %zmm26, %k4<br>
> +<br>
> +// CHECK: vpcmpeqb %zmm26, %zmm26, %k4 {%k6}<br>
> +// CHECK:  encoding: [0x62,0x91,0x2d,0x46,0x74,0xe2]<br>
> +          vpcmpeqb %zmm26, %zmm26, %k4 {%k6}<br>
> +<br>
> +// CHECK: vpcmpeqb (%rcx), %zmm26, %k4<br>
> +// CHECK:  encoding: [0x62,0xf1,0x2d,0x40,0x74,0x21]<br>
> +          vpcmpeqb (%rcx), %zmm26, %k4<br>
> +<br>
> +// CHECK: vpcmpeqb 291(%rax,%r14,8), %zmm26, %k4<br>
> +// CHECK:  encoding: [0x62,0xb1,0x2d,0x40,0x74,0xa4,0xf0,0x23,0x01,0x00,0x00]<br>
> +          vpcmpeqb 291(%rax,%r14,8), %zmm26, %k4<br>
> +<br>
> +// CHECK: vpcmpeqb 8128(%rdx), %zmm26, %k4<br>
> +// CHECK:  encoding: [0x62,0xf1,0x2d,0x40,0x74,0x62,0x7f]<br>
> +          vpcmpeqb 8128(%rdx), %zmm26, %k4<br>
> +<br>
> +// CHECK: vpcmpeqb 8192(%rdx), %zmm26, %k4<br>
> +// CHECK:  encoding: [0x62,0xf1,0x2d,0x40,0x74,0xa2,0x00,0x20,0x00,0x00]<br>
> +          vpcmpeqb 8192(%rdx), %zmm26, %k4<br>
> +<br>
> +// CHECK: vpcmpeqb -8192(%rdx), %zmm26, %k4<br>
> +// CHECK:  encoding: [0x62,0xf1,0x2d,0x40,0x74,0x62,0x80]<br>
> +          vpcmpeqb -8192(%rdx), %zmm26, %k4<br>
> +<br>
> +// CHECK: vpcmpeqb -8256(%rdx), %zmm26, %k4<br>
> +// CHECK:  encoding: [0x62,0xf1,0x2d,0x40,0x74,0xa2,0xc0,0xdf,0xff,0xff]<br>
> +          vpcmpeqb -8256(%rdx), %zmm26, %k4<br>
> +<br>
> +// CHECK: vpcmpeqw %zmm19, %zmm23, %k5<br>
> +// CHECK:  encoding: [0x62,0xb1,0x45,0x40,0x75,0xeb]<br>
> +          vpcmpeqw %zmm19, %zmm23, %k5<br>
> +<br>
> +// CHECK: vpcmpeqw %zmm19, %zmm23, %k5 {%k7}<br>
> +// CHECK:  encoding: [0x62,0xb1,0x45,0x47,0x75,0xeb]<br>
> +          vpcmpeqw %zmm19, %zmm23, %k5 {%k7}<br>
> +<br>
> +// CHECK: vpcmpeqw (%rcx), %zmm23, %k5<br>
> +// CHECK:  encoding: [0x62,0xf1,0x45,0x40,0x75,0x29]<br>
> +          vpcmpeqw (%rcx), %zmm23, %k5<br>
> +<br>
> +// CHECK: vpcmpeqw 291(%rax,%r14,8), %zmm23, %k5<br>
> +// CHECK:  encoding: [0x62,0xb1,0x45,0x40,0x75,0xac,0xf0,0x23,0x01,0x00,0x00]<br>
> +          vpcmpeqw 291(%rax,%r14,8), %zmm23, %k5<br>
> +<br>
> +// CHECK: vpcmpeqw 8128(%rdx), %zmm23, %k5<br>
> +// CHECK:  encoding: [0x62,0xf1,0x45,0x40,0x75,0x6a,0x7f]<br>
> +          vpcmpeqw 8128(%rdx), %zmm23, %k5<br>
> +<br>
> +// CHECK: vpcmpeqw 8192(%rdx), %zmm23, %k5<br>
> +// CHECK:  encoding: [0x62,0xf1,0x45,0x40,0x75,0xaa,0x00,0x20,0x00,0x00]<br>
> +          vpcmpeqw 8192(%rdx), %zmm23, %k5<br>
> +<br>
> +// CHECK: vpcmpeqw -8192(%rdx), %zmm23, %k5<br>
> +// CHECK:  encoding: [0x62,0xf1,0x45,0x40,0x75,0x6a,0x80]<br>
> +          vpcmpeqw -8192(%rdx), %zmm23, %k5<br>
> +<br>
> +// CHECK: vpcmpeqw -8256(%rdx), %zmm23, %k5<br>
> +// CHECK:  encoding: [0x62,0xf1,0x45,0x40,0x75,0xaa,0xc0,0xdf,0xff,0xff]<br>
> +          vpcmpeqw -8256(%rdx), %zmm23, %k5<br>
> +<br>
> +// CHECK: vpcmpgtb %zmm20, %zmm30, %k4<br>
> +// CHECK:  encoding: [0x62,0xb1,0x0d,0x40,0x64,0xe4]<br>
> +          vpcmpgtb %zmm20, %zmm30, %k4<br>
> +<br>
> +// CHECK: vpcmpgtb %zmm20, %zmm30, %k4 {%k1}<br>
> +// CHECK:  encoding: [0x62,0xb1,0x0d,0x41,0x64,0xe4]<br>
> +          vpcmpgtb %zmm20, %zmm30, %k4 {%k1}<br>
> +<br>
> +// CHECK: vpcmpgtb (%rcx), %zmm30, %k4<br>
> +// CHECK:  encoding: [0x62,0xf1,0x0d,0x40,0x64,0x21]<br>
> +          vpcmpgtb (%rcx), %zmm30, %k4<br>
> +<br>
> +// CHECK: vpcmpgtb 291(%rax,%r14,8), %zmm30, %k4<br>
> +// CHECK:  encoding: [0x62,0xb1,0x0d,0x40,0x64,0xa4,0xf0,0x23,0x01,0x00,0x00]<br>
> +          vpcmpgtb 291(%rax,%r14,8), %zmm30, %k4<br>
> +<br>
> +// CHECK: vpcmpgtb 8128(%rdx), %zmm30, %k4<br>
> +// CHECK:  encoding: [0x62,0xf1,0x0d,0x40,0x64,0x62,0x7f]<br>
> +          vpcmpgtb 8128(%rdx), %zmm30, %k4<br>
> +<br>
> +// CHECK: vpcmpgtb 8192(%rdx), %zmm30, %k4<br>
> +// CHECK:  encoding: [0x62,0xf1,0x0d,0x40,0x64,0xa2,0x00,0x20,0x00,0x00]<br>
> +          vpcmpgtb 8192(%rdx), %zmm30, %k4<br>
> +<br>
> +// CHECK: vpcmpgtb -8192(%rdx), %zmm30, %k4<br>
> +// CHECK:  encoding: [0x62,0xf1,0x0d,0x40,0x64,0x62,0x80]<br>
> +          vpcmpgtb -8192(%rdx), %zmm30, %k4<br>
> +<br>
> +// CHECK: vpcmpgtb -8256(%rdx), %zmm30, %k4<br>
> +// CHECK:  encoding: [0x62,0xf1,0x0d,0x40,0x64,0xa2,0xc0,0xdf,0xff,0xff]<br>
> +          vpcmpgtb -8256(%rdx), %zmm30, %k4<br>
> +<br>
> +// CHECK: vpcmpgtw %zmm21, %zmm23, %k5<br>
> +// CHECK:  encoding: [0x62,0xb1,0x45,0x40,0x65,0xed]<br>
> +          vpcmpgtw %zmm21, %zmm23, %k5<br>
> +<br>
> +// CHECK: vpcmpgtw %zmm21, %zmm23, %k5 {%k7}<br>
> +// CHECK:  encoding: [0x62,0xb1,0x45,0x47,0x65,0xed]<br>
> +          vpcmpgtw %zmm21, %zmm23, %k5 {%k7}<br>
> +<br>
> +// CHECK: vpcmpgtw (%rcx), %zmm23, %k5<br>
> +// CHECK:  encoding: [0x62,0xf1,0x45,0x40,0x65,0x29]<br>
> +          vpcmpgtw (%rcx), %zmm23, %k5<br>
> +<br>
> +// CHECK: vpcmpgtw 291(%rax,%r14,8), %zmm23, %k5<br>
> +// CHECK:  encoding: [0x62,0xb1,0x45,0x40,0x65,0xac,0xf0,0x23,0x01,0x00,0x00]<br>
> +          vpcmpgtw 291(%rax,%r14,8), %zmm23, %k5<br>
> +<br>
> +// CHECK: vpcmpgtw 8128(%rdx), %zmm23, %k5<br>
> +// CHECK:  encoding: [0x62,0xf1,0x45,0x40,0x65,0x6a,0x7f]<br>
> +          vpcmpgtw 8128(%rdx), %zmm23, %k5<br>
> +<br>
> +// CHECK: vpcmpgtw 8192(%rdx), %zmm23, %k5<br>
> +// CHECK:  encoding: [0x62,0xf1,0x45,0x40,0x65,0xaa,0x00,0x20,0x00,0x00]<br>
> +          vpcmpgtw 8192(%rdx), %zmm23, %k5<br>
> +<br>
> +// CHECK: vpcmpgtw -8192(%rdx), %zmm23, %k5<br>
> +// CHECK:  encoding: [0x62,0xf1,0x45,0x40,0x65,0x6a,0x80]<br>
> +          vpcmpgtw -8192(%rdx), %zmm23, %k5<br>
> +<br>
> +// CHECK: vpcmpgtw -8256(%rdx), %zmm23, %k5<br>
> +// CHECK:  encoding: [0x62,0xf1,0x45,0x40,0x65,0xaa,0xc0,0xdf,0xff,0xff]<br>
> +          vpcmpgtw -8256(%rdx), %zmm23, %k5<br>
> +<br>
> // CHECK: vmovdqu8 %zmm19, %zmm29<br>
> // CHECK:  encoding: [0x62,0x21,0x7f,0x48,0x6f,0xeb]<br>
>           vmovdqu8 %zmm19, %zmm29<br>
><br>
> Modified: llvm/trunk/test/MC/X86/x86-64-avx512bw_vl.s<br>
> URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MC/X86/x86-64-avx512bw_vl.s?rev=216383&r1=216382&r2=216383&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MC/X86/x86-64-avx512bw_vl.s?rev=216383&r1=216382&r2=216383&view=diff</a><br>
> ==============================================================================<br>
> --- llvm/trunk/test/MC/X86/x86-64-avx512bw_vl.s (original)<br>
> +++ llvm/trunk/test/MC/X86/x86-64-avx512bw_vl.s Mon Aug 25 09:49:34 2014<br>
> @@ -1,5 +1,261 @@<br>
> // RUN: llvm-mc -triple x86_64-unknown-unknown -mcpu=skx  --show-encoding %s | FileCheck %s<br>
><br>
> +// CHECK: vpcmpeqb %xmm21, %xmm21, %k4<br>
> +// CHECK:  encoding: [0x62,0xb1,0x55,0x00,0x74,0xe5]<br>
> +          vpcmpeqb %xmm21, %xmm21, %k4<br>
> +<br>
> +// CHECK: vpcmpeqb %xmm21, %xmm21, %k4 {%k3}<br>
> +// CHECK:  encoding: [0x62,0xb1,0x55,0x03,0x74,0xe5]<br>
> +          vpcmpeqb %xmm21, %xmm21, %k4 {%k3}<br>
> +<br>
> +// CHECK: vpcmpeqb (%rcx), %xmm21, %k4<br>
> +// CHECK:  encoding: [0x62,0xf1,0x55,0x00,0x74,0x21]<br>
> +          vpcmpeqb (%rcx), %xmm21, %k4<br>
> +<br>
> +// CHECK: vpcmpeqb 291(%rax,%r14,8), %xmm21, %k4<br>
> +// CHECK:  encoding: [0x62,0xb1,0x55,0x00,0x74,0xa4,0xf0,0x23,0x01,0x00,0x00]<br>
> +          vpcmpeqb 291(%rax,%r14,8), %xmm21, %k4<br>
> +<br>
> +// CHECK: vpcmpeqb 2032(%rdx), %xmm21, %k4<br>
> +// CHECK:  encoding: [0x62,0xf1,0x55,0x00,0x74,0x62,0x7f]<br>
> +          vpcmpeqb 2032(%rdx), %xmm21, %k4<br>
> +<br>
> +// CHECK: vpcmpeqb 2048(%rdx), %xmm21, %k4<br>
> +// CHECK:  encoding: [0x62,0xf1,0x55,0x00,0x74,0xa2,0x00,0x08,0x00,0x00]<br>
> +          vpcmpeqb 2048(%rdx), %xmm21, %k4<br>
> +<br>
> +// CHECK: vpcmpeqb -2048(%rdx), %xmm21, %k4<br>
> +// CHECK:  encoding: [0x62,0xf1,0x55,0x00,0x74,0x62,0x80]<br>
> +          vpcmpeqb -2048(%rdx), %xmm21, %k4<br>
> +<br>
> +// CHECK: vpcmpeqb -2064(%rdx), %xmm21, %k4<br>
> +// CHECK:  encoding: [0x62,0xf1,0x55,0x00,0x74,0xa2,0xf0,0xf7,0xff,0xff]<br>
> +          vpcmpeqb -2064(%rdx), %xmm21, %k4<br>
> +<br>
> +// CHECK: vpcmpeqb %ymm18, %ymm21, %k4<br>
> +// CHECK:  encoding: [0x62,0xb1,0x55,0x20,0x74,0xe2]<br>
> +          vpcmpeqb %ymm18, %ymm21, %k4<br>
> +<br>
> +// CHECK: vpcmpeqb %ymm18, %ymm21, %k4 {%k1}<br>
> +// CHECK:  encoding: [0x62,0xb1,0x55,0x21,0x74,0xe2]<br>
> +          vpcmpeqb %ymm18, %ymm21, %k4 {%k1}<br>
> +<br>
> +// CHECK: vpcmpeqb (%rcx), %ymm21, %k4<br>
> +// CHECK:  encoding: [0x62,0xf1,0x55,0x20,0x74,0x21]<br>
> +          vpcmpeqb (%rcx), %ymm21, %k4<br>
> +<br>
> +// CHECK: vpcmpeqb 291(%rax,%r14,8), %ymm21, %k4<br>
> +// CHECK:  encoding: [0x62,0xb1,0x55,0x20,0x74,0xa4,0xf0,0x23,0x01,0x00,0x00]<br>
> +          vpcmpeqb 291(%rax,%r14,8), %ymm21, %k4<br>
> +<br>
> +// CHECK: vpcmpeqb 4064(%rdx), %ymm21, %k4<br>
> +// CHECK:  encoding: [0x62,0xf1,0x55,0x20,0x74,0x62,0x7f]<br>
> +          vpcmpeqb 4064(%rdx), %ymm21, %k4<br>
> +<br>
> +// CHECK: vpcmpeqb 4096(%rdx), %ymm21, %k4<br>
> +// CHECK:  encoding: [0x62,0xf1,0x55,0x20,0x74,0xa2,0x00,0x10,0x00,0x00]<br>
> +          vpcmpeqb 4096(%rdx), %ymm21, %k4<br>
> +<br>
> +// CHECK: vpcmpeqb -4096(%rdx), %ymm21, %k4<br>
> +// CHECK:  encoding: [0x62,0xf1,0x55,0x20,0x74,0x62,0x80]<br>
> +          vpcmpeqb -4096(%rdx), %ymm21, %k4<br>
> +<br>
> +// CHECK: vpcmpeqb -4128(%rdx), %ymm21, %k4<br>
> +// CHECK:  encoding: [0x62,0xf1,0x55,0x20,0x74,0xa2,0xe0,0xef,0xff,0xff]<br>
> +          vpcmpeqb -4128(%rdx), %ymm21, %k4<br>
> +<br>
> +// CHECK: vpcmpeqw %xmm27, %xmm30, %k3<br>
> +// CHECK:  encoding: [0x62,0x91,0x0d,0x00,0x75,0xdb]<br>
> +          vpcmpeqw %xmm27, %xmm30, %k3<br>
> +<br>
> +// CHECK: vpcmpeqw %xmm27, %xmm30, %k3 {%k1}<br>
> +// CHECK:  encoding: [0x62,0x91,0x0d,0x01,0x75,0xdb]<br>
> +          vpcmpeqw %xmm27, %xmm30, %k3 {%k1}<br>
> +<br>
> +// CHECK: vpcmpeqw (%rcx), %xmm30, %k3<br>
> +// CHECK:  encoding: [0x62,0xf1,0x0d,0x00,0x75,0x19]<br>
> +          vpcmpeqw (%rcx), %xmm30, %k3<br>
> +<br>
> +// CHECK: vpcmpeqw 291(%rax,%r14,8), %xmm30, %k3<br>
> +// CHECK:  encoding: [0x62,0xb1,0x0d,0x00,0x75,0x9c,0xf0,0x23,0x01,0x00,0x00]<br>
> +          vpcmpeqw 291(%rax,%r14,8), %xmm30, %k3<br>
> +<br>
> +// CHECK: vpcmpeqw 2032(%rdx), %xmm30, %k3<br>
> +// CHECK:  encoding: [0x62,0xf1,0x0d,0x00,0x75,0x5a,0x7f]<br>
> +          vpcmpeqw 2032(%rdx), %xmm30, %k3<br>
> +<br>
> +// CHECK: vpcmpeqw 2048(%rdx), %xmm30, %k3<br>
> +// CHECK:  encoding: [0x62,0xf1,0x0d,0x00,0x75,0x9a,0x00,0x08,0x00,0x00]<br>
> +          vpcmpeqw 2048(%rdx), %xmm30, %k3<br>
> +<br>
> +// CHECK: vpcmpeqw -2048(%rdx), %xmm30, %k3<br>
> +// CHECK:  encoding: [0x62,0xf1,0x0d,0x00,0x75,0x5a,0x80]<br>
> +          vpcmpeqw -2048(%rdx), %xmm30, %k3<br>
> +<br>
> +// CHECK: vpcmpeqw -2064(%rdx), %xmm30, %k3<br>
> +// CHECK:  encoding: [0x62,0xf1,0x0d,0x00,0x75,0x9a,0xf0,0xf7,0xff,0xff]<br>
> +          vpcmpeqw -2064(%rdx), %xmm30, %k3<br>
> +<br>
> +// CHECK: vpcmpeqw %ymm29, %ymm20, %k2<br>
> +// CHECK:  encoding: [0x62,0x91,0x5d,0x20,0x75,0xd5]<br>
> +          vpcmpeqw %ymm29, %ymm20, %k2<br>
> +<br>
> +// CHECK: vpcmpeqw %ymm29, %ymm20, %k2 {%k5}<br>
> +// CHECK:  encoding: [0x62,0x91,0x5d,0x25,0x75,0xd5]<br>
> +          vpcmpeqw %ymm29, %ymm20, %k2 {%k5}<br>
> +<br>
> +// CHECK: vpcmpeqw (%rcx), %ymm20, %k2<br>
> +// CHECK:  encoding: [0x62,0xf1,0x5d,0x20,0x75,0x11]<br>
> +          vpcmpeqw (%rcx), %ymm20, %k2<br>
> +<br>
> +// CHECK: vpcmpeqw 291(%rax,%r14,8), %ymm20, %k2<br>
> +// CHECK:  encoding: [0x62,0xb1,0x5d,0x20,0x75,0x94,0xf0,0x23,0x01,0x00,0x00]<br>
> +          vpcmpeqw 291(%rax,%r14,8), %ymm20, %k2<br>
> +<br>
> +// CHECK: vpcmpeqw 4064(%rdx), %ymm20, %k2<br>
> +// CHECK:  encoding: [0x62,0xf1,0x5d,0x20,0x75,0x52,0x7f]<br>
> +          vpcmpeqw 4064(%rdx), %ymm20, %k2<br>
> +<br>
> +// CHECK: vpcmpeqw 4096(%rdx), %ymm20, %k2<br>
> +// CHECK:  encoding: [0x62,0xf1,0x5d,0x20,0x75,0x92,0x00,0x10,0x00,0x00]<br>
> +          vpcmpeqw 4096(%rdx), %ymm20, %k2<br>
> +<br>
> +// CHECK: vpcmpeqw -4096(%rdx), %ymm20, %k2<br>
> +// CHECK:  encoding: [0x62,0xf1,0x5d,0x20,0x75,0x52,0x80]<br>
> +          vpcmpeqw -4096(%rdx), %ymm20, %k2<br>
> +<br>
> +// CHECK: vpcmpeqw -4128(%rdx), %ymm20, %k2<br>
> +// CHECK:  encoding: [0x62,0xf1,0x5d,0x20,0x75,0x92,0xe0,0xef,0xff,0xff]<br>
> +          vpcmpeqw -4128(%rdx), %ymm20, %k2<br>
> +<br>
> +// CHECK: vpcmpgtb %xmm17, %xmm30, %k3<br>
> +// CHECK:  encoding: [0x62,0xb1,0x0d,0x00,0x64,0xd9]<br>
> +          vpcmpgtb %xmm17, %xmm30, %k3<br>
> +<br>
> +// CHECK: vpcmpgtb %xmm17, %xmm30, %k3 {%k7}<br>
> +// CHECK:  encoding: [0x62,0xb1,0x0d,0x07,0x64,0xd9]<br>
> +          vpcmpgtb %xmm17, %xmm30, %k3 {%k7}<br>
> +<br>
> +// CHECK: vpcmpgtb (%rcx), %xmm30, %k3<br>
> +// CHECK:  encoding: [0x62,0xf1,0x0d,0x00,0x64,0x19]<br>
> +          vpcmpgtb (%rcx), %xmm30, %k3<br>
> +<br>
> +// CHECK: vpcmpgtb 291(%rax,%r14,8), %xmm30, %k3<br>
> +// CHECK:  encoding: [0x62,0xb1,0x0d,0x00,0x64,0x9c,0xf0,0x23,0x01,0x00,0x00]<br>
> +          vpcmpgtb 291(%rax,%r14,8), %xmm30, %k3<br>
> +<br>
> +// CHECK: vpcmpgtb 2032(%rdx), %xmm30, %k3<br>
> +// CHECK:  encoding: [0x62,0xf1,0x0d,0x00,0x64,0x5a,0x7f]<br>
> +          vpcmpgtb 2032(%rdx), %xmm30, %k3<br>
> +<br>
> +// CHECK: vpcmpgtb 2048(%rdx), %xmm30, %k3<br>
> +// CHECK:  encoding: [0x62,0xf1,0x0d,0x00,0x64,0x9a,0x00,0x08,0x00,0x00]<br>
> +          vpcmpgtb 2048(%rdx), %xmm30, %k3<br>
> +<br>
> +// CHECK: vpcmpgtb -2048(%rdx), %xmm30, %k3<br>
> +// CHECK:  encoding: [0x62,0xf1,0x0d,0x00,0x64,0x5a,0x80]<br>
> +          vpcmpgtb -2048(%rdx), %xmm30, %k3<br>
> +<br>
> +// CHECK: vpcmpgtb -2064(%rdx), %xmm30, %k3<br>
> +// CHECK:  encoding: [0x62,0xf1,0x0d,0x00,0x64,0x9a,0xf0,0xf7,0xff,0xff]<br>
> +          vpcmpgtb -2064(%rdx), %xmm30, %k3<br>
> +<br>
> +// CHECK: vpcmpgtb %ymm17, %ymm17, %k2<br>
> +// CHECK:  encoding: [0x62,0xb1,0x75,0x20,0x64,0xd1]<br>
> +          vpcmpgtb %ymm17, %ymm17, %k2<br>
> +<br>
> +// CHECK: vpcmpgtb %ymm17, %ymm17, %k2 {%k4}<br>
> +// CHECK:  encoding: [0x62,0xb1,0x75,0x24,0x64,0xd1]<br>
> +          vpcmpgtb %ymm17, %ymm17, %k2 {%k4}<br>
> +<br>
> +// CHECK: vpcmpgtb (%rcx), %ymm17, %k2<br>
> +// CHECK:  encoding: [0x62,0xf1,0x75,0x20,0x64,0x11]<br>
> +          vpcmpgtb (%rcx), %ymm17, %k2<br>
> +<br>
> +// CHECK: vpcmpgtb 291(%rax,%r14,8), %ymm17, %k2<br>
> +// CHECK:  encoding: [0x62,0xb1,0x75,0x20,0x64,0x94,0xf0,0x23,0x01,0x00,0x00]<br>
> +          vpcmpgtb 291(%rax,%r14,8), %ymm17, %k2<br>
> +<br>
> +// CHECK: vpcmpgtb 4064(%rdx), %ymm17, %k2<br>
> +// CHECK:  encoding: [0x62,0xf1,0x75,0x20,0x64,0x52,0x7f]<br>
> +          vpcmpgtb 4064(%rdx), %ymm17, %k2<br>
> +<br>
> +// CHECK: vpcmpgtb 4096(%rdx), %ymm17, %k2<br>
> +// CHECK:  encoding: [0x62,0xf1,0x75,0x20,0x64,0x92,0x00,0x10,0x00,0x00]<br>
> +          vpcmpgtb 4096(%rdx), %ymm17, %k2<br>
> +<br>
> +// CHECK: vpcmpgtb -4096(%rdx), %ymm17, %k2<br>
> +// CHECK:  encoding: [0x62,0xf1,0x75,0x20,0x64,0x52,0x80]<br>
> +          vpcmpgtb -4096(%rdx), %ymm17, %k2<br>
> +<br>
> +// CHECK: vpcmpgtb -4128(%rdx), %ymm17, %k2<br>
> +// CHECK:  encoding: [0x62,0xf1,0x75,0x20,0x64,0x92,0xe0,0xef,0xff,0xff]<br>
> +          vpcmpgtb -4128(%rdx), %ymm17, %k2<br>
> +<br>
> +// CHECK: vpcmpgtw %xmm22, %xmm28, %k2<br>
> +// CHECK:  encoding: [0x62,0xb1,0x1d,0x00,0x65,0xd6]<br>
> +          vpcmpgtw %xmm22, %xmm28, %k2<br>
> +<br>
> +// CHECK: vpcmpgtw %xmm22, %xmm28, %k2 {%k7}<br>
> +// CHECK:  encoding: [0x62,0xb1,0x1d,0x07,0x65,0xd6]<br>
> +          vpcmpgtw %xmm22, %xmm28, %k2 {%k7}<br>
> +<br>
> +// CHECK: vpcmpgtw (%rcx), %xmm28, %k2<br>
> +// CHECK:  encoding: [0x62,0xf1,0x1d,0x00,0x65,0x11]<br>
> +          vpcmpgtw (%rcx), %xmm28, %k2<br>
> +<br>
> +// CHECK: vpcmpgtw 291(%rax,%r14,8), %xmm28, %k2<br>
> +// CHECK:  encoding: [0x62,0xb1,0x1d,0x00,0x65,0x94,0xf0,0x23,0x01,0x00,0x00]<br>
> +          vpcmpgtw 291(%rax,%r14,8), %xmm28, %k2<br>
> +<br>
> +// CHECK: vpcmpgtw 2032(%rdx), %xmm28, %k2<br>
> +// CHECK:  encoding: [0x62,0xf1,0x1d,0x00,0x65,0x52,0x7f]<br>
> +          vpcmpgtw 2032(%rdx), %xmm28, %k2<br>
> +<br>
> +// CHECK: vpcmpgtw 2048(%rdx), %xmm28, %k2<br>
> +// CHECK:  encoding: [0x62,0xf1,0x1d,0x00,0x65,0x92,0x00,0x08,0x00,0x00]<br>
> +          vpcmpgtw 2048(%rdx), %xmm28, %k2<br>
> +<br>
> +// CHECK: vpcmpgtw -2048(%rdx), %xmm28, %k2<br>
> +// CHECK:  encoding: [0x62,0xf1,0x1d,0x00,0x65,0x52,0x80]<br>
> +          vpcmpgtw -2048(%rdx), %xmm28, %k2<br>
> +<br>
> +// CHECK: vpcmpgtw -2064(%rdx), %xmm28, %k2<br>
> +// CHECK:  encoding: [0x62,0xf1,0x1d,0x00,0x65,0x92,0xf0,0xf7,0xff,0xff]<br>
> +          vpcmpgtw -2064(%rdx), %xmm28, %k2<br>
> +<br>
> +// CHECK: vpcmpgtw %ymm26, %ymm20, %k5<br>
> +// CHECK:  encoding: [0x62,0x91,0x5d,0x20,0x65,0xea]<br>
> +          vpcmpgtw %ymm26, %ymm20, %k5<br>
> +<br>
> +// CHECK: vpcmpgtw %ymm26, %ymm20, %k5 {%k2}<br>
> +// CHECK:  encoding: [0x62,0x91,0x5d,0x22,0x65,0xea]<br>
> +          vpcmpgtw %ymm26, %ymm20, %k5 {%k2}<br>
> +<br>
> +// CHECK: vpcmpgtw (%rcx), %ymm20, %k5<br>
> +// CHECK:  encoding: [0x62,0xf1,0x5d,0x20,0x65,0x29]<br>
> +          vpcmpgtw (%rcx), %ymm20, %k5<br>
> +<br>
> +// CHECK: vpcmpgtw 291(%rax,%r14,8), %ymm20, %k5<br>
> +// CHECK:  encoding: [0x62,0xb1,0x5d,0x20,0x65,0xac,0xf0,0x23,0x01,0x00,0x00]<br>
> +          vpcmpgtw 291(%rax,%r14,8), %ymm20, %k5<br>
> +<br>
> +// CHECK: vpcmpgtw 4064(%rdx), %ymm20, %k5<br>
> +// CHECK:  encoding: [0x62,0xf1,0x5d,0x20,0x65,0x6a,0x7f]<br>
> +          vpcmpgtw 4064(%rdx), %ymm20, %k5<br>
> +<br>
> +// CHECK: vpcmpgtw 4096(%rdx), %ymm20, %k5<br>
> +// CHECK:  encoding: [0x62,0xf1,0x5d,0x20,0x65,0xaa,0x00,0x10,0x00,0x00]<br>
> +          vpcmpgtw 4096(%rdx), %ymm20, %k5<br>
> +<br>
> +// CHECK: vpcmpgtw -4096(%rdx), %ymm20, %k5<br>
> +// CHECK:  encoding: [0x62,0xf1,0x5d,0x20,0x65,0x6a,0x80]<br>
> +          vpcmpgtw -4096(%rdx), %ymm20, %k5<br>
> +<br>
> +// CHECK: vpcmpgtw -4128(%rdx), %ymm20, %k5<br>
> +// CHECK:  encoding: [0x62,0xf1,0x5d,0x20,0x65,0xaa,0xe0,0xef,0xff,0xff]<br>
> +          vpcmpgtw -4128(%rdx), %ymm20, %k5<br>
> +<br>
> // CHECK: vmovdqu8 %xmm23, %xmm26<br>
> // CHECK:  encoding: [0x62,0x21,0x7f,0x08,0x6f,0xd7]<br>
>           vmovdqu8 %xmm23, %xmm26<br>
><br>
> Modified: llvm/trunk/test/MC/X86/x86-64-avx512f_vl.s<br>
> URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MC/X86/x86-64-avx512f_vl.s?rev=216383&r1=216382&r2=216383&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MC/X86/x86-64-avx512f_vl.s?rev=216383&r1=216382&r2=216383&view=diff</a><br>
> ==============================================================================<br>
> --- llvm/trunk/test/MC/X86/x86-64-avx512f_vl.s (original)<br>
> +++ llvm/trunk/test/MC/X86/x86-64-avx512f_vl.s Mon Aug 25 09:49:34 2014<br>
> @@ -768,6 +768,422 @@<br>
> // CHECK:  encoding: [0x62,0xe1,0x7c,0x28,0x10,0xaa,0xe0,0xef,0xff,0xff]<br>
>           vmovups -4128(%rdx), %ymm21<br>
><br>
> +// CHECK: vpcmpeqd %xmm24, %xmm29, %k3<br>
> +// CHECK:  encoding: [0x62,0x91,0x15,0x00,0x76,0xd8]<br>
> +          vpcmpeqd %xmm24, %xmm29, %k3<br>
> +<br>
> +// CHECK: vpcmpeqd %xmm24, %xmm29, %k3 {%k5}<br>
> +// CHECK:  encoding: [0x62,0x91,0x15,0x05,0x76,0xd8]<br>
> +          vpcmpeqd %xmm24, %xmm29, %k3 {%k5}<br>
> +<br>
> +// CHECK: vpcmpeqd (%rcx), %xmm29, %k3<br>
> +// CHECK:  encoding: [0x62,0xf1,0x15,0x00,0x76,0x19]<br>
> +          vpcmpeqd (%rcx), %xmm29, %k3<br>
> +<br>
> +// CHECK: vpcmpeqd 291(%rax,%r14,8), %xmm29, %k3<br>
> +// CHECK:  encoding: [0x62,0xb1,0x15,0x00,0x76,0x9c,0xf0,0x23,0x01,0x00,0x00]<br>
> +          vpcmpeqd 291(%rax,%r14,8), %xmm29, %k3<br>
> +<br>
> +// CHECK: vpcmpeqd (%rcx){1to4}, %xmm29, %k3<br>
> +// CHECK:  encoding: [0x62,0xf1,0x15,0x10,0x76,0x19]<br>
> +          vpcmpeqd (%rcx){1to4}, %xmm29, %k3<br>
> +<br>
> +// CHECK: vpcmpeqd 2032(%rdx), %xmm29, %k3<br>
> +// CHECK:  encoding: [0x62,0xf1,0x15,0x00,0x76,0x5a,0x7f]<br>
> +          vpcmpeqd 2032(%rdx), %xmm29, %k3<br>
> +<br>
> +// CHECK: vpcmpeqd 2048(%rdx), %xmm29, %k3<br>
> +// CHECK:  encoding: [0x62,0xf1,0x15,0x00,0x76,0x9a,0x00,0x08,0x00,0x00]<br>
> +          vpcmpeqd 2048(%rdx), %xmm29, %k3<br>
> +<br>
> +// CHECK: vpcmpeqd -2048(%rdx), %xmm29, %k3<br>
> +// CHECK:  encoding: [0x62,0xf1,0x15,0x00,0x76,0x5a,0x80]<br>
> +          vpcmpeqd -2048(%rdx), %xmm29, %k3<br>
> +<br>
> +// CHECK: vpcmpeqd -2064(%rdx), %xmm29, %k3<br>
> +// CHECK:  encoding: [0x62,0xf1,0x15,0x00,0x76,0x9a,0xf0,0xf7,0xff,0xff]<br>
> +          vpcmpeqd -2064(%rdx), %xmm29, %k3<br>
> +<br>
> +// CHECK: vpcmpeqd 508(%rdx){1to4}, %xmm29, %k3<br>
> +// CHECK:  encoding: [0x62,0xf1,0x15,0x10,0x76,0x5a,0x7f]<br>
> +          vpcmpeqd 508(%rdx){1to4}, %xmm29, %k3<br>
> +<br>
> +// CHECK: vpcmpeqd 512(%rdx){1to4}, %xmm29, %k3<br>
> +// CHECK:  encoding: [0x62,0xf1,0x15,0x10,0x76,0x9a,0x00,0x02,0x00,0x00]<br>
> +          vpcmpeqd 512(%rdx){1to4}, %xmm29, %k3<br>
> +<br>
> +// CHECK: vpcmpeqd -512(%rdx){1to4}, %xmm29, %k3<br>
> +// CHECK:  encoding: [0x62,0xf1,0x15,0x10,0x76,0x5a,0x80]<br>
> +          vpcmpeqd -512(%rdx){1to4}, %xmm29, %k3<br>
> +<br>
> +// CHECK: vpcmpeqd -516(%rdx){1to4}, %xmm29, %k3<br>
> +// CHECK:  encoding: [0x62,0xf1,0x15,0x10,0x76,0x9a,0xfc,0xfd,0xff,0xff]<br>
> +          vpcmpeqd -516(%rdx){1to4}, %xmm29, %k3<br>
> +<br>
> +// CHECK: vpcmpeqd %ymm20, %ymm26, %k5<br>
> +// CHECK:  encoding: [0x62,0xb1,0x2d,0x20,0x76,0xec]<br>
> +          vpcmpeqd %ymm20, %ymm26, %k5<br>
> +<br>
> +// CHECK: vpcmpeqd %ymm20, %ymm26, %k5 {%k5}<br>
> +// CHECK:  encoding: [0x62,0xb1,0x2d,0x25,0x76,0xec]<br>
> +          vpcmpeqd %ymm20, %ymm26, %k5 {%k5}<br>
> +<br>
> +// CHECK: vpcmpeqd (%rcx), %ymm26, %k5<br>
> +// CHECK:  encoding: [0x62,0xf1,0x2d,0x20,0x76,0x29]<br>
> +          vpcmpeqd (%rcx), %ymm26, %k5<br>
> +<br>
> +// CHECK: vpcmpeqd 291(%rax,%r14,8), %ymm26, %k5<br>
> +// CHECK:  encoding: [0x62,0xb1,0x2d,0x20,0x76,0xac,0xf0,0x23,0x01,0x00,0x00]<br>
> +          vpcmpeqd 291(%rax,%r14,8), %ymm26, %k5<br>
> +<br>
> +// CHECK: vpcmpeqd (%rcx){1to8}, %ymm26, %k5<br>
> +// CHECK:  encoding: [0x62,0xf1,0x2d,0x30,0x76,0x29]<br>
> +          vpcmpeqd (%rcx){1to8}, %ymm26, %k5<br>
> +<br>
> +// CHECK: vpcmpeqd 4064(%rdx), %ymm26, %k5<br>
> +// CHECK:  encoding: [0x62,0xf1,0x2d,0x20,0x76,0x6a,0x7f]<br>
> +          vpcmpeqd 4064(%rdx), %ymm26, %k5<br>
> +<br>
> +// CHECK: vpcmpeqd 4096(%rdx), %ymm26, %k5<br>
> +// CHECK:  encoding: [0x62,0xf1,0x2d,0x20,0x76,0xaa,0x00,0x10,0x00,0x00]<br>
> +          vpcmpeqd 4096(%rdx), %ymm26, %k5<br>
> +<br>
> +// CHECK: vpcmpeqd -4096(%rdx), %ymm26, %k5<br>
> +// CHECK:  encoding: [0x62,0xf1,0x2d,0x20,0x76,0x6a,0x80]<br>
> +          vpcmpeqd -4096(%rdx), %ymm26, %k5<br>
> +<br>
> +// CHECK: vpcmpeqd -4128(%rdx), %ymm26, %k5<br>
> +// CHECK:  encoding: [0x62,0xf1,0x2d,0x20,0x76,0xaa,0xe0,0xef,0xff,0xff]<br>
> +          vpcmpeqd -4128(%rdx), %ymm26, %k5<br>
> +<br>
> +// CHECK: vpcmpeqd 508(%rdx){1to8}, %ymm26, %k5<br>
> +// CHECK:  encoding: [0x62,0xf1,0x2d,0x30,0x76,0x6a,0x7f]<br>
> +          vpcmpeqd 508(%rdx){1to8}, %ymm26, %k5<br>
> +<br>
> +// CHECK: vpcmpeqd 512(%rdx){1to8}, %ymm26, %k5<br>
> +// CHECK:  encoding: [0x62,0xf1,0x2d,0x30,0x76,0xaa,0x00,0x02,0x00,0x00]<br>
> +          vpcmpeqd 512(%rdx){1to8}, %ymm26, %k5<br>
> +<br>
> +// CHECK: vpcmpeqd -512(%rdx){1to8}, %ymm26, %k5<br>
> +// CHECK:  encoding: [0x62,0xf1,0x2d,0x30,0x76,0x6a,0x80]<br>
> +          vpcmpeqd -512(%rdx){1to8}, %ymm26, %k5<br>
> +<br>
> +// CHECK: vpcmpeqd -516(%rdx){1to8}, %ymm26, %k5<br>
> +// CHECK:  encoding: [0x62,0xf1,0x2d,0x30,0x76,0xaa,0xfc,0xfd,0xff,0xff]<br>
> +          vpcmpeqd -516(%rdx){1to8}, %ymm26, %k5<br>
> +<br>
> +// CHECK: vpcmpeqq %xmm29, %xmm20, %k3<br>
> +// CHECK:  encoding: [0x62,0x92,0xdd,0x00,0x29,0xdd]<br>
> +          vpcmpeqq %xmm29, %xmm20, %k3<br>
> +<br>
> +// CHECK: vpcmpeqq %xmm29, %xmm20, %k3 {%k3}<br>
> +// CHECK:  encoding: [0x62,0x92,0xdd,0x03,0x29,0xdd]<br>
> +          vpcmpeqq %xmm29, %xmm20, %k3 {%k3}<br>
> +<br>
> +// CHECK: vpcmpeqq (%rcx), %xmm20, %k3<br>
> +// CHECK:  encoding: [0x62,0xf2,0xdd,0x00,0x29,0x19]<br>
> +          vpcmpeqq (%rcx), %xmm20, %k3<br>
> +<br>
> +// CHECK: vpcmpeqq 291(%rax,%r14,8), %xmm20, %k3<br>
> +// CHECK:  encoding: [0x62,0xb2,0xdd,0x00,0x29,0x9c,0xf0,0x23,0x01,0x00,0x00]<br>
> +          vpcmpeqq 291(%rax,%r14,8), %xmm20, %k3<br>
> +<br>
> +// CHECK: vpcmpeqq (%rcx){1to2}, %xmm20, %k3<br>
> +// CHECK:  encoding: [0x62,0xf2,0xdd,0x10,0x29,0x19]<br>
> +          vpcmpeqq (%rcx){1to2}, %xmm20, %k3<br>
> +<br>
> +// CHECK: vpcmpeqq 2032(%rdx), %xmm20, %k3<br>
> +// CHECK:  encoding: [0x62,0xf2,0xdd,0x00,0x29,0x5a,0x7f]<br>
> +          vpcmpeqq 2032(%rdx), %xmm20, %k3<br>
> +<br>
> +// CHECK: vpcmpeqq 2048(%rdx), %xmm20, %k3<br>
> +// CHECK:  encoding: [0x62,0xf2,0xdd,0x00,0x29,0x9a,0x00,0x08,0x00,0x00]<br>
> +          vpcmpeqq 2048(%rdx), %xmm20, %k3<br>
> +<br>
> +// CHECK: vpcmpeqq -2048(%rdx), %xmm20, %k3<br>
> +// CHECK:  encoding: [0x62,0xf2,0xdd,0x00,0x29,0x5a,0x80]<br>
> +          vpcmpeqq -2048(%rdx), %xmm20, %k3<br>
> +<br>
> +// CHECK: vpcmpeqq -2064(%rdx), %xmm20, %k3<br>
> +// CHECK:  encoding: [0x62,0xf2,0xdd,0x00,0x29,0x9a,0xf0,0xf7,0xff,0xff]<br>
> +          vpcmpeqq -2064(%rdx), %xmm20, %k3<br>
> +<br>
> +// CHECK: vpcmpeqq 1016(%rdx){1to2}, %xmm20, %k3<br>
> +// CHECK:  encoding: [0x62,0xf2,0xdd,0x10,0x29,0x5a,0x7f]<br>
> +          vpcmpeqq 1016(%rdx){1to2}, %xmm20, %k3<br>
> +<br>
> +// CHECK: vpcmpeqq 1024(%rdx){1to2}, %xmm20, %k3<br>
> +// CHECK:  encoding: [0x62,0xf2,0xdd,0x10,0x29,0x9a,0x00,0x04,0x00,0x00]<br>
> +          vpcmpeqq 1024(%rdx){1to2}, %xmm20, %k3<br>
> +<br>
> +// CHECK: vpcmpeqq -1024(%rdx){1to2}, %xmm20, %k3<br>
> +// CHECK:  encoding: [0x62,0xf2,0xdd,0x10,0x29,0x5a,0x80]<br>
> +          vpcmpeqq -1024(%rdx){1to2}, %xmm20, %k3<br>
> +<br>
> +// CHECK: vpcmpeqq -1032(%rdx){1to2}, %xmm20, %k3<br>
> +// CHECK:  encoding: [0x62,0xf2,0xdd,0x10,0x29,0x9a,0xf8,0xfb,0xff,0xff]<br>
> +          vpcmpeqq -1032(%rdx){1to2}, %xmm20, %k3<br>
> +<br>
> +// CHECK: vpcmpeqq %ymm23, %ymm30, %k5<br>
> +// CHECK:  encoding: [0x62,0xb2,0x8d,0x20,0x29,0xef]<br>
> +          vpcmpeqq %ymm23, %ymm30, %k5<br>
> +<br>
> +// CHECK: vpcmpeqq %ymm23, %ymm30, %k5 {%k6}<br>
> +// CHECK:  encoding: [0x62,0xb2,0x8d,0x26,0x29,0xef]<br>
> +          vpcmpeqq %ymm23, %ymm30, %k5 {%k6}<br>
> +<br>
> +// CHECK: vpcmpeqq (%rcx), %ymm30, %k5<br>
> +// CHECK:  encoding: [0x62,0xf2,0x8d,0x20,0x29,0x29]<br>
> +          vpcmpeqq (%rcx), %ymm30, %k5<br>
> +<br>
> +// CHECK: vpcmpeqq 291(%rax,%r14,8), %ymm30, %k5<br>
> +// CHECK:  encoding: [0x62,0xb2,0x8d,0x20,0x29,0xac,0xf0,0x23,0x01,0x00,0x00]<br>
> +          vpcmpeqq 291(%rax,%r14,8), %ymm30, %k5<br>
> +<br>
> +// CHECK: vpcmpeqq (%rcx){1to4}, %ymm30, %k5<br>
> +// CHECK:  encoding: [0x62,0xf2,0x8d,0x30,0x29,0x29]<br>
> +          vpcmpeqq (%rcx){1to4}, %ymm30, %k5<br>
> +<br>
> +// CHECK: vpcmpeqq 4064(%rdx), %ymm30, %k5<br>
> +// CHECK:  encoding: [0x62,0xf2,0x8d,0x20,0x29,0x6a,0x7f]<br>
> +          vpcmpeqq 4064(%rdx), %ymm30, %k5<br>
> +<br>
> +// CHECK: vpcmpeqq 4096(%rdx), %ymm30, %k5<br>
> +// CHECK:  encoding: [0x62,0xf2,0x8d,0x20,0x29,0xaa,0x00,0x10,0x00,0x00]<br>
> +          vpcmpeqq 4096(%rdx), %ymm30, %k5<br>
> +<br>
> +// CHECK: vpcmpeqq -4096(%rdx), %ymm30, %k5<br>
> +// CHECK:  encoding: [0x62,0xf2,0x8d,0x20,0x29,0x6a,0x80]<br>
> +          vpcmpeqq -4096(%rdx), %ymm30, %k5<br>
> +<br>
> +// CHECK: vpcmpeqq -4128(%rdx), %ymm30, %k5<br>
> +// CHECK:  encoding: [0x62,0xf2,0x8d,0x20,0x29,0xaa,0xe0,0xef,0xff,0xff]<br>
> +          vpcmpeqq -4128(%rdx), %ymm30, %k5<br>
> +<br>
> +// CHECK: vpcmpeqq 1016(%rdx){1to4}, %ymm30, %k5<br>
> +// CHECK:  encoding: [0x62,0xf2,0x8d,0x30,0x29,0x6a,0x7f]<br>
> +          vpcmpeqq 1016(%rdx){1to4}, %ymm30, %k5<br>
> +<br>
> +// CHECK: vpcmpeqq 1024(%rdx){1to4}, %ymm30, %k5<br>
> +// CHECK:  encoding: [0x62,0xf2,0x8d,0x30,0x29,0xaa,0x00,0x04,0x00,0x00]<br>
> +          vpcmpeqq 1024(%rdx){1to4}, %ymm30, %k5<br>
> +<br>
> +// CHECK: vpcmpeqq -1024(%rdx){1to4}, %ymm30, %k5<br>
> +// CHECK:  encoding: [0x62,0xf2,0x8d,0x30,0x29,0x6a,0x80]<br>
> +          vpcmpeqq -1024(%rdx){1to4}, %ymm30, %k5<br>
> +<br>
> +// CHECK: vpcmpeqq -1032(%rdx){1to4}, %ymm30, %k5<br>
> +// CHECK:  encoding: [0x62,0xf2,0x8d,0x30,0x29,0xaa,0xf8,0xfb,0xff,0xff]<br>
> +          vpcmpeqq -1032(%rdx){1to4}, %ymm30, %k5<br>
> +<br>
> +// CHECK: vpcmpgtd %xmm20, %xmm29, %k4<br>
> +// CHECK:  encoding: [0x62,0xb1,0x15,0x00,0x66,0xe4]<br>
> +          vpcmpgtd %xmm20, %xmm29, %k4<br>
> +<br>
> +// CHECK: vpcmpgtd %xmm20, %xmm29, %k4 {%k2}<br>
> +// CHECK:  encoding: [0x62,0xb1,0x15,0x02,0x66,0xe4]<br>
> +          vpcmpgtd %xmm20, %xmm29, %k4 {%k2}<br>
> +<br>
> +// CHECK: vpcmpgtd (%rcx), %xmm29, %k4<br>
> +// CHECK:  encoding: [0x62,0xf1,0x15,0x00,0x66,0x21]<br>
> +          vpcmpgtd (%rcx), %xmm29, %k4<br>
> +<br>
> +// CHECK: vpcmpgtd 291(%rax,%r14,8), %xmm29, %k4<br>
> +// CHECK:  encoding: [0x62,0xb1,0x15,0x00,0x66,0xa4,0xf0,0x23,0x01,0x00,0x00]<br>
> +          vpcmpgtd 291(%rax,%r14,8), %xmm29, %k4<br>
> +<br>
> +// CHECK: vpcmpgtd (%rcx){1to4}, %xmm29, %k4<br>
> +// CHECK:  encoding: [0x62,0xf1,0x15,0x10,0x66,0x21]<br>
> +          vpcmpgtd (%rcx){1to4}, %xmm29, %k4<br>
> +<br>
> +// CHECK: vpcmpgtd 2032(%rdx), %xmm29, %k4<br>
> +// CHECK:  encoding: [0x62,0xf1,0x15,0x00,0x66,0x62,0x7f]<br>
> +          vpcmpgtd 2032(%rdx), %xmm29, %k4<br>
> +<br>
> +// CHECK: vpcmpgtd 2048(%rdx), %xmm29, %k4<br>
> +// CHECK:  encoding: [0x62,0xf1,0x15,0x00,0x66,0xa2,0x00,0x08,0x00,0x00]<br>
> +          vpcmpgtd 2048(%rdx), %xmm29, %k4<br>
> +<br>
> +// CHECK: vpcmpgtd -2048(%rdx), %xmm29, %k4<br>
> +// CHECK:  encoding: [0x62,0xf1,0x15,0x00,0x66,0x62,0x80]<br>
> +          vpcmpgtd -2048(%rdx), %xmm29, %k4<br>
> +<br>
> +// CHECK: vpcmpgtd -2064(%rdx), %xmm29, %k4<br>
> +// CHECK:  encoding: [0x62,0xf1,0x15,0x00,0x66,0xa2,0xf0,0xf7,0xff,0xff]<br>
> +          vpcmpgtd -2064(%rdx), %xmm29, %k4<br>
> +<br>
> +// CHECK: vpcmpgtd 508(%rdx){1to4}, %xmm29, %k4<br>
> +// CHECK:  encoding: [0x62,0xf1,0x15,0x10,0x66,0x62,0x7f]<br>
> +          vpcmpgtd 508(%rdx){1to4}, %xmm29, %k4<br>
> +<br>
> +// CHECK: vpcmpgtd 512(%rdx){1to4}, %xmm29, %k4<br>
> +// CHECK:  encoding: [0x62,0xf1,0x15,0x10,0x66,0xa2,0x00,0x02,0x00,0x00]<br>
> +          vpcmpgtd 512(%rdx){1to4}, %xmm29, %k4<br>
> +<br>
> +// CHECK: vpcmpgtd -512(%rdx){1to4}, %xmm29, %k4<br>
> +// CHECK:  encoding: [0x62,0xf1,0x15,0x10,0x66,0x62,0x80]<br>
> +          vpcmpgtd -512(%rdx){1to4}, %xmm29, %k4<br>
> +<br>
> +// CHECK: vpcmpgtd -516(%rdx){1to4}, %xmm29, %k4<br>
> +// CHECK:  encoding: [0x62,0xf1,0x15,0x10,0x66,0xa2,0xfc,0xfd,0xff,0xff]<br>
> +          vpcmpgtd -516(%rdx){1to4}, %xmm29, %k4<br>
> +<br>
> +// CHECK: vpcmpgtd %ymm17, %ymm22, %k2<br>
> +// CHECK:  encoding: [0x62,0xb1,0x4d,0x20,0x66,0xd1]<br>
> +          vpcmpgtd %ymm17, %ymm22, %k2<br>
> +<br>
> +// CHECK: vpcmpgtd %ymm17, %ymm22, %k2 {%k1}<br>
> +// CHECK:  encoding: [0x62,0xb1,0x4d,0x21,0x66,0xd1]<br>
> +          vpcmpgtd %ymm17, %ymm22, %k2 {%k1}<br>
> +<br>
> +// CHECK: vpcmpgtd (%rcx), %ymm22, %k2<br>
> +// CHECK:  encoding: [0x62,0xf1,0x4d,0x20,0x66,0x11]<br>
> +          vpcmpgtd (%rcx), %ymm22, %k2<br>
> +<br>
> +// CHECK: vpcmpgtd 291(%rax,%r14,8), %ymm22, %k2<br>
> +// CHECK:  encoding: [0x62,0xb1,0x4d,0x20,0x66,0x94,0xf0,0x23,0x01,0x00,0x00]<br>
> +          vpcmpgtd 291(%rax,%r14,8), %ymm22, %k2<br>
> +<br>
> +// CHECK: vpcmpgtd (%rcx){1to8}, %ymm22, %k2<br>
> +// CHECK:  encoding: [0x62,0xf1,0x4d,0x30,0x66,0x11]<br>
> +          vpcmpgtd (%rcx){1to8}, %ymm22, %k2<br>
> +<br>
> +// CHECK: vpcmpgtd 4064(%rdx), %ymm22, %k2<br>
> +// CHECK:  encoding: [0x62,0xf1,0x4d,0x20,0x66,0x52,0x7f]<br>
> +          vpcmpgtd 4064(%rdx), %ymm22, %k2<br>
> +<br>
> +// CHECK: vpcmpgtd 4096(%rdx), %ymm22, %k2<br>
> +// CHECK:  encoding: [0x62,0xf1,0x4d,0x20,0x66,0x92,0x00,0x10,0x00,0x00]<br>
> +          vpcmpgtd 4096(%rdx), %ymm22, %k2<br>
> +<br>
> +// CHECK: vpcmpgtd -4096(%rdx), %ymm22, %k2<br>
> +// CHECK:  encoding: [0x62,0xf1,0x4d,0x20,0x66,0x52,0x80]<br>
> +          vpcmpgtd -4096(%rdx), %ymm22, %k2<br>
> +<br>
> +// CHECK: vpcmpgtd -4128(%rdx), %ymm22, %k2<br>
> +// CHECK:  encoding: [0x62,0xf1,0x4d,0x20,0x66,0x92,0xe0,0xef,0xff,0xff]<br>
> +          vpcmpgtd -4128(%rdx), %ymm22, %k2<br>
> +<br>
> +// CHECK: vpcmpgtd 508(%rdx){1to8}, %ymm22, %k2<br>
> +// CHECK:  encoding: [0x62,0xf1,0x4d,0x30,0x66,0x52,0x7f]<br>
> +          vpcmpgtd 508(%rdx){1to8}, %ymm22, %k2<br>
> +<br>
> +// CHECK: vpcmpgtd 512(%rdx){1to8}, %ymm22, %k2<br>
> +// CHECK:  encoding: [0x62,0xf1,0x4d,0x30,0x66,0x92,0x00,0x02,0x00,0x00]<br>
> +          vpcmpgtd 512(%rdx){1to8}, %ymm22, %k2<br>
> +<br>
> +// CHECK: vpcmpgtd -512(%rdx){1to8}, %ymm22, %k2<br>
> +// CHECK:  encoding: [0x62,0xf1,0x4d,0x30,0x66,0x52,0x80]<br>
> +          vpcmpgtd -512(%rdx){1to8}, %ymm22, %k2<br>
> +<br>
> +// CHECK: vpcmpgtd -516(%rdx){1to8}, %ymm22, %k2<br>
> +// CHECK:  encoding: [0x62,0xf1,0x4d,0x30,0x66,0x92,0xfc,0xfd,0xff,0xff]<br>
> +          vpcmpgtd -516(%rdx){1to8}, %ymm22, %k2<br>
> +<br>
> +// CHECK: vpcmpgtq %xmm25, %xmm30, %k3<br>
> +// CHECK:  encoding: [0x62,0x92,0x8d,0x00,0x37,0xd9]<br>
> +          vpcmpgtq %xmm25, %xmm30, %k3<br>
> +<br>
> +// CHECK: vpcmpgtq %xmm25, %xmm30, %k3 {%k6}<br>
> +// CHECK:  encoding: [0x62,0x92,0x8d,0x06,0x37,0xd9]<br>
> +          vpcmpgtq %xmm25, %xmm30, %k3 {%k6}<br>
> +<br>
> +// CHECK: vpcmpgtq (%rcx), %xmm30, %k3<br>
> +// CHECK:  encoding: [0x62,0xf2,0x8d,0x00,0x37,0x19]<br>
> +          vpcmpgtq (%rcx), %xmm30, %k3<br>
> +<br>
> +// CHECK: vpcmpgtq 291(%rax,%r14,8), %xmm30, %k3<br>
> +// CHECK:  encoding: [0x62,0xb2,0x8d,0x00,0x37,0x9c,0xf0,0x23,0x01,0x00,0x00]<br>
> +          vpcmpgtq 291(%rax,%r14,8), %xmm30, %k3<br>
> +<br>
> +// CHECK: vpcmpgtq (%rcx){1to2}, %xmm30, %k3<br>
> +// CHECK:  encoding: [0x62,0xf2,0x8d,0x10,0x37,0x19]<br>
> +          vpcmpgtq (%rcx){1to2}, %xmm30, %k3<br>
> +<br>
> +// CHECK: vpcmpgtq 2032(%rdx), %xmm30, %k3<br>
> +// CHECK:  encoding: [0x62,0xf2,0x8d,0x00,0x37,0x5a,0x7f]<br>
> +          vpcmpgtq 2032(%rdx), %xmm30, %k3<br>
> +<br>
> +// CHECK: vpcmpgtq 2048(%rdx), %xmm30, %k3<br>
> +// CHECK:  encoding: [0x62,0xf2,0x8d,0x00,0x37,0x9a,0x00,0x08,0x00,0x00]<br>
> +          vpcmpgtq 2048(%rdx), %xmm30, %k3<br>
> +<br>
> +// CHECK: vpcmpgtq -2048(%rdx), %xmm30, %k3<br>
> +// CHECK:  encoding: [0x62,0xf2,0x8d,0x00,0x37,0x5a,0x80]<br>
> +          vpcmpgtq -2048(%rdx), %xmm30, %k3<br>
> +<br>
> +// CHECK: vpcmpgtq -2064(%rdx), %xmm30, %k3<br>
> +// CHECK:  encoding: [0x62,0xf2,0x8d,0x00,0x37,0x9a,0xf0,0xf7,0xff,0xff]<br>
> +          vpcmpgtq -2064(%rdx), %xmm30, %k3<br>
> +<br>
> +// CHECK: vpcmpgtq 1016(%rdx){1to2}, %xmm30, %k3<br>
> +// CHECK:  encoding: [0x62,0xf2,0x8d,0x10,0x37,0x5a,0x7f]<br>
> +          vpcmpgtq 1016(%rdx){1to2}, %xmm30, %k3<br>
> +<br>
> +// CHECK: vpcmpgtq 1024(%rdx){1to2}, %xmm30, %k3<br>
> +// CHECK:  encoding: [0x62,0xf2,0x8d,0x10,0x37,0x9a,0x00,0x04,0x00,0x00]<br>
> +          vpcmpgtq 1024(%rdx){1to2}, %xmm30, %k3<br>
> +<br>
> +// CHECK: vpcmpgtq -1024(%rdx){1to2}, %xmm30, %k3<br>
> +// CHECK:  encoding: [0x62,0xf2,0x8d,0x10,0x37,0x5a,0x80]<br>
> +          vpcmpgtq -1024(%rdx){1to2}, %xmm30, %k3<br>
> +<br>
> +// CHECK: vpcmpgtq -1032(%rdx){1to2}, %xmm30, %k3<br>
> +// CHECK:  encoding: [0x62,0xf2,0x8d,0x10,0x37,0x9a,0xf8,0xfb,0xff,0xff]<br>
> +          vpcmpgtq -1032(%rdx){1to2}, %xmm30, %k3<br>
> +<br>
> +// CHECK: vpcmpgtq %ymm20, %ymm22, %k2<br>
> +// CHECK:  encoding: [0x62,0xb2,0xcd,0x20,0x37,0xd4]<br>
> +          vpcmpgtq %ymm20, %ymm22, %k2<br>
> +<br>
> +// CHECK: vpcmpgtq %ymm20, %ymm22, %k2 {%k1}<br>
> +// CHECK:  encoding: [0x62,0xb2,0xcd,0x21,0x37,0xd4]<br>
> +          vpcmpgtq %ymm20, %ymm22, %k2 {%k1}<br>
> +<br>
> +// CHECK: vpcmpgtq (%rcx), %ymm22, %k2<br>
> +// CHECK:  encoding: [0x62,0xf2,0xcd,0x20,0x37,0x11]<br>
> +          vpcmpgtq (%rcx), %ymm22, %k2<br>
> +<br>
> +// CHECK: vpcmpgtq 291(%rax,%r14,8), %ymm22, %k2<br>
> +// CHECK:  encoding: [0x62,0xb2,0xcd,0x20,0x37,0x94,0xf0,0x23,0x01,0x00,0x00]<br>
> +          vpcmpgtq 291(%rax,%r14,8), %ymm22, %k2<br>
> +<br>
> +// CHECK: vpcmpgtq (%rcx){1to4}, %ymm22, %k2<br>
> +// CHECK:  encoding: [0x62,0xf2,0xcd,0x30,0x37,0x11]<br>
> +          vpcmpgtq (%rcx){1to4}, %ymm22, %k2<br>
> +<br>
> +// CHECK: vpcmpgtq 4064(%rdx), %ymm22, %k2<br>
> +// CHECK:  encoding: [0x62,0xf2,0xcd,0x20,0x37,0x52,0x7f]<br>
> +          vpcmpgtq 4064(%rdx), %ymm22, %k2<br>
> +<br>
> +// CHECK: vpcmpgtq 4096(%rdx), %ymm22, %k2<br>
> +// CHECK:  encoding: [0x62,0xf2,0xcd,0x20,0x37,0x92,0x00,0x10,0x00,0x00]<br>
> +          vpcmpgtq 4096(%rdx), %ymm22, %k2<br>
> +<br>
> +// CHECK: vpcmpgtq -4096(%rdx), %ymm22, %k2<br>
> +// CHECK:  encoding: [0x62,0xf2,0xcd,0x20,0x37,0x52,0x80]<br>
> +          vpcmpgtq -4096(%rdx), %ymm22, %k2<br>
> +<br>
> +// CHECK: vpcmpgtq -4128(%rdx), %ymm22, %k2<br>
> +// CHECK:  encoding: [0x62,0xf2,0xcd,0x20,0x37,0x92,0xe0,0xef,0xff,0xff]<br>
> +          vpcmpgtq -4128(%rdx), %ymm22, %k2<br>
> +<br>
> +// CHECK: vpcmpgtq 1016(%rdx){1to4}, %ymm22, %k2<br>
> +// CHECK:  encoding: [0x62,0xf2,0xcd,0x30,0x37,0x52,0x7f]<br>
> +          vpcmpgtq 1016(%rdx){1to4}, %ymm22, %k2<br>
> +<br>
> +// CHECK: vpcmpgtq 1024(%rdx){1to4}, %ymm22, %k2<br>
> +// CHECK:  encoding: [0x62,0xf2,0xcd,0x30,0x37,0x92,0x00,0x04,0x00,0x00]<br>
> +          vpcmpgtq 1024(%rdx){1to4}, %ymm22, %k2<br>
> +<br>
> +// CHECK: vpcmpgtq -1024(%rdx){1to4}, %ymm22, %k2<br>
> +// CHECK:  encoding: [0x62,0xf2,0xcd,0x30,0x37,0x52,0x80]<br>
> +          vpcmpgtq -1024(%rdx){1to4}, %ymm22, %k2<br>
> +<br>
> +// CHECK: vpcmpgtq -1032(%rdx){1to4}, %ymm22, %k2<br>
> +// CHECK:  encoding: [0x62,0xf2,0xcd,0x30,0x37,0x92,0xf8,0xfb,0xff,0xff]<br>
> +          vpcmpgtq -1032(%rdx){1to4}, %ymm22, %k2<br>
> +<br>
> // CHECK: vmovapd %xmm22, (%rcx)<br>
> // CHECK:  encoding: [0x62,0xe1,0xfd,0x08,0x29,0x31]<br>
>           vmovapd %xmm22, (%rcx)<br>
><br>
> Modified: llvm/trunk/utils/TableGen/X86DisassemblerTables.cpp<br>
> URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/utils/TableGen/X86DisassemblerTables.cpp?rev=216383&r1=216382&r2=216383&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/utils/TableGen/X86DisassemblerTables.cpp?rev=216383&r1=216382&r2=216383&view=diff</a><br>
> ==============================================================================<br>
> --- llvm/trunk/utils/TableGen/X86DisassemblerTables.cpp (original)<br>
> +++ llvm/trunk/utils/TableGen/X86DisassemblerTables.cpp Mon Aug 25 09:49:34 2014<br>
> @@ -217,6 +217,7 @@ static inline bool inheritsFrom(Instruct<br>
>   case IC_EVEX_KZ_B:<br>
>   case IC_EVEX_OPSIZE_K:<br>
>   case IC_EVEX_OPSIZE_B:<br>
> +  case IC_EVEX_OPSIZE_K_B:<br>
>   case IC_EVEX_OPSIZE_KZ:<br>
>     return false;<br>
>   case IC_EVEX_W_K:<br>
> @@ -224,11 +225,14 @@ static inline bool inheritsFrom(Instruct<br>
>   case IC_EVEX_W_XD_K:<br>
>   case IC_EVEX_W_OPSIZE_K:<br>
>   case IC_EVEX_W_OPSIZE_B:<br>
> +  case IC_EVEX_W_OPSIZE_K_B:<br>
>     return false;<br>
>   case IC_EVEX_L_K:<br>
>   case IC_EVEX_L_XS_K:<br>
>   case IC_EVEX_L_XD_K:<br>
>   case IC_EVEX_L_OPSIZE_K:<br>
> +  case IC_EVEX_L_OPSIZE_B:<br>
> +  case IC_EVEX_L_OPSIZE_K_B:<br>
>     return false;<br>
>   case IC_EVEX_W_KZ:<br>
>   case IC_EVEX_W_XS_KZ:<br>
> @@ -244,6 +248,8 @@ static inline bool inheritsFrom(Instruct<br>
>   case IC_EVEX_L_W_XS_K:<br>
>   case IC_EVEX_L_W_XD_K:<br>
>   case IC_EVEX_L_W_OPSIZE_K:<br>
> +  case IC_EVEX_L_W_OPSIZE_B:<br>
> +  case IC_EVEX_L_W_OPSIZE_K_B:<br>
>   case IC_EVEX_L_W_KZ:<br>
>   case IC_EVEX_L_W_XS_KZ:<br>
>   case IC_EVEX_L_W_XD_KZ:<br>
><br>
> Modified: llvm/trunk/utils/TableGen/X86RecognizableInstr.cpp<br>
> URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/utils/TableGen/X86RecognizableInstr.cpp?rev=216383&r1=216382&r2=216383&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/utils/TableGen/X86RecognizableInstr.cpp?rev=216383&r1=216382&r2=216383&view=diff</a><br>
> ==============================================================================<br>
> --- llvm/trunk/utils/TableGen/X86RecognizableInstr.cpp (original)<br>
> +++ llvm/trunk/utils/TableGen/X86RecognizableInstr.cpp Mon Aug 25 09:49:34 2014<br>
> @@ -1090,6 +1090,8 @@ RecognizableInstr::roRegisterEncodingFro<br>
>   ENCODING("FR32X",           ENCODING_REG)<br>
>   ENCODING("VR512",           ENCODING_REG)<br>
>   ENCODING("VK1",             ENCODING_REG)<br>
> +  ENCODING("VK2",             ENCODING_REG)<br>
> +  ENCODING("VK4",             ENCODING_REG)<br>
>   ENCODING("VK8",             ENCODING_REG)<br>
>   ENCODING("VK16",            ENCODING_REG)<br>
>   ENCODING("VK32",            ENCODING_REG)<br>
><br>
><br>
> _______________________________________________<br>
> llvm-commits mailing list<br>
> <a href="mailto:llvm-commits@cs.uiuc.edu">llvm-commits@cs.uiuc.edu</a><br>
> <a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits</a><br>
<br>
</div></div></blockquote></div><br></div>