<div dir="ltr">Hi Adam,<br><div class="gmail_extra"><br><br><div class="gmail_quote">2014-08-05 0:47 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>
On Aug 4, 2014, at 7:35 AM, Robert Khasanov <<a href="mailto:rob.khasanov@gmail.com">rob.khasanov@gmail.com</a>> wrote:<br>
<br>
> Author: rkhasanov<br>
> Date: Mon Aug  4 09:35:15 2014<br>
> New Revision: 214719<br>
><br>
> URL: <a href="http://llvm.org/viewvc/llvm-project?rev=214719&view=rev" target="_blank">http://llvm.org/viewvc/llvm-project?rev=214719&view=rev</a><br>
> Log:<br>
> [SKX] Enabling load/store instructions: encoding<br>
> Instructions: VMOVAPD, VMOVAPS, VMOVDQA8, VMOVDQA16, VMOVDQA32,VMOVDQA64, VMOVDQU8, VMOVDQU16, VMOVDQU32,VMOVDQU64, VMOVUPD, VMOVUPS,<br>
><br>
> Reviewed by Elena Demikhovsky <<a href="mailto:elena.demikhovsky@intel.com">elena.demikhovsky@intel.com</a>><br>
><br>
<br>
Next time, it would be good if you could describe the approach/design in the commit log.  I think I figured it out this time and like the extra layer of multiclasses (_vl) you’re adding!<br>
<br></blockquote><div><br></div><div>Ok. Next time I will provide more details about patch in commit log.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

I am also staring to gravitate toward adding some helper definitions that would map things like the number of vector elements to the corresponding ValueTypes and RegisterClasses, etc — I think that otherwise we will have things like !cast<RegisterClass>("VK"##vsz256##"WM”) all over the place.  I’ll let you know once I have something more concrete.<br>

<br></blockquote><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">I have one more question below:<br>
<br>
<br>
> Added:<br>
>    llvm/trunk/test/MC/X86/x86-64-avx512bw_vl.s<br>
>    llvm/trunk/test/MC/X86/x86-64-avx512f_vl.s<br>
> Modified:<br>
>    llvm/trunk/lib/Target/X86/X86InstrAVX512.td<br>
>    llvm/trunk/lib/Target/X86/X86InstrFragmentsSIMD.td<br>
>    llvm/trunk/lib/Target/X86/X86InstrInfo.cpp<br>
>    llvm/trunk/test/CodeGen/X86/avx512-vec-cmp.ll<br>
>    llvm/trunk/test/MC/X86/avx512-encodings.s<br>
>    llvm/trunk/test/MC/X86/x86-64-avx512bw.s<br>
>    llvm/trunk/utils/TableGen/X86DisassemblerTables.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=214719&r1=214718&r2=214719&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/X86InstrAVX512.td?rev=214719&r1=214718&r2=214719&view=diff</a><br>

> ==============================================================================<br>
> --- llvm/trunk/lib/Target/X86/X86InstrAVX512.td (original)<br>
> +++ llvm/trunk/lib/Target/X86/X86InstrAVX512.td Mon Aug  4 09:35:15 2014<br>
> @@ -1433,104 +1433,176 @@ def : Pat<(v8i1 (X86vsrli VK8:$src, (i8<br>
> // AVX-512 - Aligned and unaligned load and store<br>
> //<br>
><br>
> -multiclass avx512_load<bits<8> opc, RegisterClass RC, RegisterClass KRC,<br>
> -                            X86MemOperand x86memop, PatFrag ld_frag,<br>
> -                            string asm, Domain d,<br>
> -                            ValueType vt, bit IsReMaterializable = 1> {<br>
> +multiclass avx512_load<bits<8> opc, string OpcodeStr, PatFrag ld_frag,<br>
> +                       RegisterClass KRC, RegisterClass RC,<br>
> +                       ValueType vt, ValueType zvt, X86MemOperand memop,<br>
> +                       Domain d, bit IsReMaterializable = 1> {<br>
> let hasSideEffects = 0 in {<br>
>   def rr : AVX512PI<opc, MRMSrcReg, (outs RC:$dst), (ins RC:$src),<br>
> -              !strconcat(asm, " \t{$src, $dst|$dst, $src}"), [], d>,<br>
> -              EVEX;<br>
> +                    !strconcat(OpcodeStr, "\t{$src, $dst|$dst, $src}"), [],<br>
> +                    d>, EVEX;<br>
>   def rrkz : AVX512PI<opc, MRMSrcReg, (outs RC:$dst), (ins KRC:$mask, RC:$src),<br>
> -               !strconcat(asm,<br>
> -               " \t{$src, ${dst} {${mask}} {z}|${dst} {${mask}} {z}, $src}"),<br>
> -               [], d>, EVEX, EVEX_KZ;<br>
> -  }<br>
> -  let canFoldAsLoad = 1, isReMaterializable = IsReMaterializable in<br>
> -  def rm : AVX512PI<opc, MRMSrcMem, (outs RC:$dst), (ins x86memop:$src),<br>
> -              !strconcat(asm, " \t{$src, $dst|$dst, $src}"),<br>
> -               [(set (vt RC:$dst), (ld_frag addr:$src))], d>, EVEX;<br>
> -  let Constraints = "$src1 = $dst",  hasSideEffects = 0 in {<br>
> -  def rrk : AVX512PI<opc, MRMSrcReg, (outs RC:$dst),<br>
> -                                     (ins RC:$src1, KRC:$mask, RC:$src2),<br>
> -              !strconcat(asm,<br>
> -              " \t{$src2, ${dst} {${mask}}|${dst} {${mask}}, $src2}"), [], d>,<br>
> -              EVEX, EVEX_K;<br>
> -  let mayLoad = 1 in<br>
> -  def rmk : AVX512PI<opc, MRMSrcMem, (outs RC:$dst),<br>
> -                                (ins RC:$src1, KRC:$mask, x86memop:$src2),<br>
> -              !strconcat(asm,<br>
> -              " \t{$src2, ${dst} {${mask}}|${dst} {${mask}}, $src2}"),<br>
> -               [], d>, EVEX, EVEX_K;<br>
> +                      !strconcat(OpcodeStr, "\t{$src, ${dst} {${mask}} {z}|",<br>
> +                       "${dst} {${mask}} {z}, $src}"), [], d>, EVEX, EVEX_KZ;<br>
> +  }<br>
> +  let canFoldAsLoad = 1, isReMaterializable = IsReMaterializable,<br>
> +      SchedRW = [WriteLoad] in<br>
> +  def rm : AVX512PI<opc, MRMSrcMem, (outs RC:$dst), (ins memop:$src),<br>
> +                    !strconcat(OpcodeStr, "\t{$src, $dst|$dst, $src}"),<br>
> +                    [(set RC:$dst, (vt (bitconvert (ld_frag addr:$src))))],<br>
> +                    d>, EVEX;<br>
> +<br>
> +  let AddedComplexity = 20 in {<br>
> +  let Constraints = "$src0 = $dst",  hasSideEffects = 0 in {<br>
> +  let hasSideEffects = 0 in<br>
> +    def rrk : AVX512PI<opc, MRMSrcReg, (outs RC:$dst),<br>
> +                     (ins RC:$src0, KRC:$mask, RC:$src1),<br>
> +                     !strconcat(OpcodeStr, "\t{$src1, ${dst} {${mask}}|",<br>
> +                      "${dst} {${mask}}, $src1}"),<br>
> +                     [(set RC:$dst, (vt (vselect KRC:$mask,<br>
> +                                          (vt RC:$src1),<br>
> +                                          (vt RC:$src0))))],<br>
> +                     d>, EVEX, EVEX_K;<br>
> +  let mayLoad = 1, SchedRW = [WriteLoad] in<br>
> +    def rmk : AVX512PI<opc, MRMSrcMem, (outs RC:$dst),<br>
> +                     (ins RC:$src0, KRC:$mask, memop:$src1),<br>
> +                     !strconcat(OpcodeStr, "\t{$src1, ${dst} {${mask}}|",<br>
> +                      "${dst} {${mask}}, $src1}"),<br>
> +                     [(set RC:$dst, (vt<br>
> +                         (vselect KRC:$mask,<br>
> +                                 (vt (bitconvert (ld_frag addr:$src1))),<br>
> +                                 (vt RC:$src0))))],<br>
> +                     d>, EVEX, EVEX_K;<br>
> +  }<br>
> +  let mayLoad = 1, SchedRW = [WriteLoad] in<br>
> +    def rmkz : AVX512PI<opc, MRMSrcMem, (outs RC:$dst),<br>
> +                      (ins KRC:$mask, memop:$src),<br>
> +                      !strconcat(OpcodeStr, "\t{$src, ${dst} {${mask}} {z}|",<br>
> +                       "${dst} {${mask}} {z}, $src}"),<br>
> +                      [(set RC:$dst, (vt<br>
> +                           (vselect KRC:$mask,<br>
> +                                     (vt (bitconvert (ld_frag addr:$src))),<br>
> +                                     (vt (bitconvert (zvt immAllZerosV))))))],<br>
> +                      d>, EVEX, EVEX_KZ;<br>
>   }<br>
> -  let mayLoad = 1 in<br>
> -  def rmkz : AVX512PI<opc, MRMSrcMem, (outs RC:$dst),<br>
> -                      (ins KRC:$mask, x86memop:$src2),<br>
> -              !strconcat(asm,<br>
> -              " \t{$src2, ${dst} {${mask}} {z}|${dst} {${mask}} {z}, $src2}"),<br>
> -               [], d>, EVEX, EVEX_KZ;<br>
> }<br>
><br>
> -multiclass avx512_store<bits<8> opc, RegisterClass RC, RegisterClass KRC,<br>
> -                            X86MemOperand x86memop, PatFrag store_frag,<br>
> -                            string asm, Domain d, ValueType vt> {<br>
> +multiclass avx512_load_vl<bits<8> opc, string OpcodeStr, string ld_pat,<br>
> +                          string elty, string elsz, string vsz512,<br>
> +                          string vsz256, string vsz128, Domain d,<br>
> +                          Predicate prd, bit IsReMaterializable = 1> {<br>
> +  let Predicates = [prd] in<br>
> +  defm Z : avx512_load<opc, OpcodeStr,<br>
> +                       !cast<PatFrag>(ld_pat##"v"##vsz512##elty##elsz),<br>
> +                       !cast<RegisterClass>("VK"##vsz512##"WM"), VR512,<br>
> +                       !cast<ValueType>("v"##vsz512##elty##elsz), v16i32,<br>
> +                       !cast<X86MemOperand>(elty##"512mem"), d,<br>
> +                       IsReMaterializable>, EVEX_V512;<br>
> +<br>
> +  let Predicates = [prd, HasVLX] in {<br>
> +    defm Z256 : avx512_load<opc, OpcodeStr,<br>
> +                       !cast<PatFrag>(ld_pat##!if(!eq(elty,"f"),<br>
> +                             "v"##vsz256##elty##elsz, "v4i64")),<br>
> +                       !cast<RegisterClass>("VK"##vsz256##"WM"), VR256X,<br>
> +                       !cast<ValueType>("v"##vsz256##elty##elsz), v8i32,<br>
> +                       !cast<X86MemOperand>(elty##"256mem"), d,<br>
> +                       IsReMaterializable>, EVEX_V256;<br>
> +<br>
> +    defm Z128 : avx512_load<opc, OpcodeStr,<br>
> +                       !cast<PatFrag>(ld_pat##!if(!eq(elty,"f"),<br>
> +                             "v"##vsz128##elty##elsz, "v2i64")),<br>
> +                       !cast<RegisterClass>("VK"##vsz128##"WM"), VR128X,<br>
> +                       !cast<ValueType>("v"##vsz128##elty##elsz), v4i32,<br>
> +                       !cast<X86MemOperand>(elty##"128mem"), d,<br>
> +                       IsReMaterializable>, EVEX_V128;<br>
> +  }<br>
> +}<br>
> +<br>
> +<br>
> +multiclass avx512_store<bits<8> opc, string OpcodeStr, PatFrag st_frag,<br>
> +                        ValueType OpVT, RegisterClass KRC, RegisterClass RC,<br>
> +                        X86MemOperand memop, Domain d> {<br>
>   let isAsmParserOnly = 1, hasSideEffects = 0 in {<br>
>   def rr_alt : AVX512PI<opc, MRMDestReg, (outs RC:$dst), (ins RC:$src),<br>
> -              !strconcat(asm, " \t{$src, $dst|$dst, $src}"), [], d>,<br>
> +              !strconcat(OpcodeStr, "\t{$src, $dst|$dst, $src}"), [], d>,<br>
>               EVEX;<br>
>   let Constraints = "$src1 = $dst" in<br>
> -  def alt_rrk : AVX512PI<opc, MRMDestReg, (outs  RC:$dst),<br>
> -                                     (ins RC:$src1, KRC:$mask, RC:$src2),<br>
> -              !strconcat(asm,<br>
> -              " \t{$src2, ${dst} {${mask}}|${dst} {${mask}}, $src2}"), [], d>,<br>
> +  def rrk_alt : AVX512PI<opc, MRMDestReg, (outs  RC:$dst),<br>
> +                                          (ins RC:$src1, KRC:$mask, RC:$src2),<br>
> +              !strconcat(OpcodeStr,<br>
> +              "\t{$src2, ${dst} {${mask}}|${dst} {${mask}}, $src2}"), [], d>,<br>
>               EVEX, EVEX_K;<br>
> -  def alt_rrkz : AVX512PI<opc, MRMDestReg, (outs  RC:$dst),<br>
> +  def rrkz_alt : AVX512PI<opc, MRMDestReg, (outs  RC:$dst),<br>
>                                            (ins KRC:$mask, RC:$src),<br>
> -              !strconcat(asm,<br>
> -              " \t{$src, ${dst} {${mask}} {z}|${dst} {${mask}} {z}, $src}"),<br>
> +              !strconcat(OpcodeStr,<br>
> +              "\t{$src, ${dst} {${mask}} {z}|${dst} {${mask}} {z}, $src}"),<br>
>               [], d>, EVEX, EVEX_KZ;<br>
>   }<br>
>   let mayStore = 1 in {<br>
> -  def mr : AVX512PI<opc, MRMDestMem, (outs), (ins x86memop:$dst, RC:$src),<br>
> -              !strconcat(asm, " \t{$src, $dst|$dst, $src}"),<br>
> -               [(store_frag (vt RC:$src), addr:$dst)], d>, EVEX;<br>
> +  def mr : AVX512PI<opc, MRMDestMem, (outs), (ins memop:$dst, RC:$src),<br>
> +                    !strconcat(OpcodeStr, "\t{$src, $dst|$dst, $src}"),<br>
> +                    [(st_frag (OpVT RC:$src), addr:$dst)], d>, EVEX;<br>
>   def mrk : AVX512PI<opc, MRMDestMem, (outs),<br>
> -                                (ins x86memop:$dst, KRC:$mask, RC:$src),<br>
> -              !strconcat(asm,<br>
> -              " \t{$src, ${dst} {${mask}}|${dst} {${mask}}, $src}"),<br>
> +                                      (ins memop:$dst, KRC:$mask, RC:$src),<br>
> +              !strconcat(OpcodeStr,<br>
> +              "\t{$src, ${dst} {${mask}}|${dst} {${mask}}, $src}"),<br>
>                [], d>, EVEX, EVEX_K;<br>
> -  def mrkz : AVX512PI<opc, MRMDestMem, (outs),<br>
> -                      (ins x86memop:$dst, KRC:$mask, RC:$src),<br>
> -              !strconcat(asm,<br>
> -              " \t{$src, ${dst} {${mask}} {z}|${dst} {${mask}} {z}, $src}"),<br>
> -               [], d>, EVEX, EVEX_KZ;<br>
>   }<br>
> }<br>
><br>
> -defm VMOVAPSZ : avx512_load<0x28, VR512, VK16WM, f512mem, alignedloadv16f32,<br>
> -                              "vmovaps", SSEPackedSingle, v16f32>,<br>
> -                avx512_store<0x29, VR512, VK16WM, f512mem, alignedstore512,<br>
> -                              "vmovaps", SSEPackedSingle, v16f32>,<br>
> -                               PS, EVEX_V512, EVEX_CD8<32, CD8VF>;<br>
> -defm VMOVAPDZ : avx512_load<0x28, VR512, VK8WM, f512mem, alignedloadv8f64,<br>
> -                              "vmovapd", SSEPackedDouble, v8f64>,<br>
> -                avx512_store<0x29, VR512, VK8WM, f512mem, alignedstore512,<br>
> -                              "vmovapd", SSEPackedDouble, v8f64>,<br>
> -                              PD, EVEX_V512, VEX_W,<br>
> -                              EVEX_CD8<64, CD8VF>;<br>
> -defm VMOVUPSZ : avx512_load<0x10, VR512, VK16WM, f512mem, loadv16f32,<br>
> -                              "vmovups", SSEPackedSingle, v16f32>,<br>
> -                avx512_store<0x11, VR512, VK16WM, f512mem, store,<br>
> -                              "vmovups", SSEPackedSingle, v16f32>,<br>
> -                              PS, EVEX_V512, EVEX_CD8<32, CD8VF>;<br>
> -defm VMOVUPDZ : avx512_load<0x10, VR512, VK8WM, f512mem, loadv8f64,<br>
> -                              "vmovupd", SSEPackedDouble, v8f64, 0>,<br>
> -                avx512_store<0x11, VR512, VK8WM, f512mem, store,<br>
> -                              "vmovupd", SSEPackedDouble, v8f64>,<br>
> -                               PD, EVEX_V512, VEX_W,<br>
> -                               EVEX_CD8<64, CD8VF>;<br>
> +<br>
> +multiclass avx512_store_vl<bits<8> opc, string OpcodeStr, string st_pat,<br>
> +                           string st_suff_512, string st_suff_256,<br>
> +                           string st_suff_128, string elty, string elsz,<br>
> +                           string vsz512, string vsz256, string vsz128,<br>
> +                           Domain d, Predicate prd> {<br>
> +  let Predicates = [prd] in<br>
> +  defm Z : avx512_store<opc, OpcodeStr, !cast<PatFrag>(st_pat##st_suff_512),<br>
> +                        !cast<ValueType>("v"##vsz512##elty##elsz),<br>
> +                        !cast<RegisterClass>("VK"##vsz512##"WM"), VR512,<br>
> +                        !cast<X86MemOperand>(elty##"512mem"), d>, EVEX_V512;<br>
> +<br>
> +  let Predicates = [prd, HasVLX] in {<br>
> +    defm Z256 : avx512_store<opc, OpcodeStr, !cast<PatFrag>(st_pat##st_suff_256),<br>
> +                             !cast<ValueType>("v"##vsz256##elty##elsz),<br>
> +                             !cast<RegisterClass>("VK"##vsz256##"WM"), VR256X,<br>
> +                             !cast<X86MemOperand>(elty##"256mem"), d>, EVEX_V256;<br>
> +<br>
> +    defm Z128 : avx512_store<opc, OpcodeStr, !cast<PatFrag>(st_pat##st_suff_128),<br>
> +                             !cast<ValueType>("v"##vsz128##elty##elsz),<br>
> +                             !cast<RegisterClass>("VK"##vsz128##"WM"), VR128X,<br>
> +                             !cast<X86MemOperand>(elty##"128mem"), d>, EVEX_V128;<br>
> +  }<br>
> +}<br>
> +<br>
> +defm VMOVAPS : avx512_load_vl<0x28, "vmovaps", "alignedload", "f", "32",<br>
> +                              "16", "8", "4", SSEPackedSingle, HasAVX512>,<br>
> +               avx512_store_vl<0x29, "vmovaps", "alignedstore",<br>
> +                               "512", "256", "", "f", "32", "16", "8", "4",<br>
> +                               SSEPackedSingle, HasAVX512>,<br>
> +                              PS, EVEX_CD8<32, CD8VF>;<br>
> +<br>
> +defm VMOVAPD : avx512_load_vl<0x28, "vmovapd", "alignedload", "f", "64",<br>
> +                              "8", "4", "2", SSEPackedDouble, HasAVX512>,<br>
> +               avx512_store_vl<0x29, "vmovapd", "alignedstore",<br>
> +                               "512", "256", "", "f", "64", "8", "4", "2",<br>
> +                               SSEPackedDouble, HasAVX512>,<br>
> +                              PD, VEX_W, EVEX_CD8<64, CD8VF>;<br>
> +<br>
> +defm VMOVUPS : avx512_load_vl<0x10, "vmovups", "load", "f", "32",<br>
> +                              "16", "8", "4", SSEPackedSingle, HasAVX512>,<br>
> +               avx512_store_vl<0x11, "vmovups", "store", "", "", "", "f", "32",<br>
> +                              "16", "8", "4", SSEPackedSingle, HasAVX512>,<br>
> +                              PS, EVEX_CD8<32, CD8VF>;<br>
> +<br>
> +defm VMOVUPD : avx512_load_vl<0x10, "vmovupd", "load", "f", "64",<br>
> +                              "8", "4", "2", SSEPackedDouble, HasAVX512, 0>,<br>
> +               avx512_store_vl<0x11, "vmovupd", "store", "", "", "", "f", "64",<br>
> +                              "8", "4", "2", SSEPackedDouble, HasAVX512>,<br>
> +                             PD, VEX_W, EVEX_CD8<64, CD8VF>;<br>
> +<br>
> def: Pat<(v8f64 (int_x86_avx512_mask_loadu_pd_512 addr:$ptr,<br>
> -                 (bc_v8f64 (v16i32 immAllZerosV)), GR8:$mask)),<br>
> +                (bc_v8f64 (v16i32 immAllZerosV)), GR8:$mask)),<br>
>        (VMOVUPDZrmkz (v8i1 (COPY_TO_REGCLASS GR8:$mask, VK8WM)), addr:$ptr)>;<br>
><br>
> def: Pat<(v16f32 (int_x86_avx512_mask_loadu_ps_512 addr:$ptr,<br>
> @@ -1546,75 +1618,80 @@ def: Pat<(int_x86_avx512_mask_storeu_pd_<br>
>          (VMOVUPDZmrk addr:$ptr, (v8i1 (COPY_TO_REGCLASS GR8:$mask, VK8WM)),<br>
>             VR512:$src)>;<br>
><br>
> -defm VMOVDQA32: avx512_load<0x6F, VR512, VK16WM, i512mem, alignedloadv16i32,<br>
> -                              "vmovdqa32", SSEPackedInt, v16i32>,<br>
> -                avx512_store<0x7F, VR512, VK16WM, i512mem, alignedstore512,<br>
> -                              "vmovdqa32", SSEPackedInt, v16i32>,<br>
> -                               PD, EVEX_V512, EVEX_CD8<32, CD8VF>;<br>
> -defm VMOVDQA64: avx512_load<0x6F, VR512, VK8WM, i512mem, alignedloadv8i64,<br>
> -                              "vmovdqa64", SSEPackedInt, v8i64>,<br>
> -                avx512_store<0x7F, VR512, VK8WM, i512mem, alignedstore512,<br>
> -                              "vmovdqa64", SSEPackedInt, v8i64>,<br>
> -                               PD, VEX_W, EVEX_V512, EVEX_CD8<64, CD8VF>;<br>
> -defm VMOVDQU32: avx512_load<0x6F, VR512, VK16WM, i512mem, load,<br>
> -                              "vmovdqu32", SSEPackedInt, v16i32>,<br>
> -                avx512_store<0x7F, VR512, VK16WM, i512mem, store,<br>
> -                              "vmovdqu32", SSEPackedInt, v16i32>,<br>
> -                               XS, EVEX_V512, EVEX_CD8<32, CD8VF>;<br>
> -defm VMOVDQU64: avx512_load<0x6F, VR512, VK8WM, i512mem, load,<br>
> -                              "vmovdqu64", SSEPackedInt, v8i64>,<br>
> -                avx512_store<0x7F, VR512, VK8WM, i512mem, store,<br>
> -                              "vmovdqu64", SSEPackedInt, v8i64>,<br>
> -                               XS, VEX_W, EVEX_V512, EVEX_CD8<64, CD8VF>;<br>
> +defm VMOVDQA32 : avx512_load_vl<0x6F, "vmovdqa32", "alignedload", "i", "32",<br>
> +                                "16", "8", "4", SSEPackedInt, HasAVX512>,<br>
> +                 avx512_store_vl<0x7F, "vmovdqa32", "alignedstore",<br>
> +                                 "512", "256", "", "i", "32", "16", "8", "4",<br>
> +                                 SSEPackedInt, HasAVX512>,<br>
> +                                PD, EVEX_CD8<32, CD8VF>;<br>
> +<br>
> +defm VMOVDQA64 : avx512_load_vl<0x6F, "vmovdqa64", "alignedload", "i", "64",<br>
> +                                "8", "4", "2", SSEPackedInt, HasAVX512>,<br>
> +                 avx512_store_vl<0x7F, "vmovdqa64", "alignedstore",<br>
> +                                 "512", "256", "", "i", "64", "8", "4", "2",<br>
> +                                 SSEPackedInt, HasAVX512>,<br>
> +                                PD, VEX_W, EVEX_CD8<64, CD8VF>;<br>
> +<br>
> +defm VMOVDQU8 : avx512_load_vl<0x6F, "vmovdqu8", "load", "i", "8",<br>
> +                               "64", "32", "16", SSEPackedInt, HasBWI>,<br>
> +                 avx512_store_vl<0x7F, "vmovdqu8", "store", "", "", "",<br>
> +                                 "i", "8", "64", "32", "16", SSEPackedInt,<br>
> +                                 HasBWI>, XD, EVEX_CD8<8, CD8VF>;<br>
> +<br>
> +defm VMOVDQU16 : avx512_load_vl<0x6F, "vmovdqu16", "load", "i", "16",<br>
> +                                "32", "16", "8", SSEPackedInt, HasBWI>,<br>
> +                 avx512_store_vl<0x7F, "vmovdqu16", "store", "", "", "",<br>
> +                                 "i", "16", "32", "16", "8", SSEPackedInt,<br>
> +                                 HasBWI>, XD, VEX_W, EVEX_CD8<16, CD8VF>;<br>
> +<br>
> +defm VMOVDQU32 : avx512_load_vl<0x6F, "vmovdqu32", "load", "i", "32",<br>
> +                                "16", "8", "4", SSEPackedInt, HasAVX512>,<br>
> +                 avx512_store_vl<0x7F, "vmovdqu32", "store", "", "", "",<br>
> +                                 "i", "32", "16", "8", "4", SSEPackedInt,<br>
> +                                 HasAVX512>, XS, EVEX_CD8<32, CD8VF>;<br>
> +<br>
> +defm VMOVDQU64 : avx512_load_vl<0x6F, "vmovdqu64", "load", "i", "64",<br>
> +                                "8", "4", "2", SSEPackedInt, HasAVX512>,<br>
> +                 avx512_store_vl<0x7F, "vmovdqu64", "store", "", "", "",<br>
> +                                 "i", "64", "8", "4", "2", SSEPackedInt,<br>
> +                                 HasAVX512>, XS, VEX_W, EVEX_CD8<64, CD8VF>;<br>
><br>
> def: Pat<(v16i32 (int_x86_avx512_mask_loadu_d_512 addr:$ptr,<br>
>                  (v16i32 immAllZerosV), GR16:$mask)),<br>
> -       (VMOVDQU32rmkz (v16i1 (COPY_TO_REGCLASS GR16:$mask, VK16WM)), addr:$ptr)>;<br>
> +       (VMOVDQU32Zrmkz (v16i1 (COPY_TO_REGCLASS GR16:$mask, VK16WM)), addr:$ptr)>;<br>
><br>
> def: Pat<(v8i64 (int_x86_avx512_mask_loadu_q_512 addr:$ptr,<br>
> -                 (bc_v8i64 (v16i32 immAllZerosV)), GR8:$mask)),<br>
> -       (VMOVDQU64rmkz (v8i1 (COPY_TO_REGCLASS GR8:$mask, VK8WM)), addr:$ptr)>;<br>
> +                (bc_v8i64 (v16i32 immAllZerosV)), GR8:$mask)),<br>
> +       (VMOVDQU64Zrmkz (v8i1 (COPY_TO_REGCLASS GR8:$mask, VK8WM)), addr:$ptr)>;<br>
><br>
> def: Pat<(int_x86_avx512_mask_storeu_d_512 addr:$ptr, (v16i32 VR512:$src),<br>
> -          GR16:$mask),<br>
> -         (VMOVDQU32mrk addr:$ptr, (v16i1 (COPY_TO_REGCLASS GR16:$mask, VK16WM)),<br>
> +            GR16:$mask),<br>
> +         (VMOVDQU32Zmrk addr:$ptr, (v16i1 (COPY_TO_REGCLASS GR16:$mask, VK16WM)),<br>
>             VR512:$src)>;<br>
> def: Pat<(int_x86_avx512_mask_storeu_q_512 addr:$ptr, (v8i64 VR512:$src),<br>
> -          GR8:$mask),<br>
> -         (VMOVDQU64mrk addr:$ptr, (v8i1 (COPY_TO_REGCLASS GR8:$mask, VK8WM)),<br>
> +            GR8:$mask),<br>
> +         (VMOVDQU64Zmrk addr:$ptr, (v8i1 (COPY_TO_REGCLASS GR8:$mask, VK8WM)),<br>
>             VR512:$src)>;<br>
><br>
> let AddedComplexity = 20 in {<br>
> def : Pat<(v8i64 (vselect VK8WM:$mask, (v8i64 VR512:$src),<br>
> -                           (bc_v8i64 (v16i32 immAllZerosV)))),<br>
> -                  (VMOVDQU64rrkz VK8WM:$mask, VR512:$src)>;<br>
> +                          (bc_v8i64 (v16i32 immAllZerosV)))),<br>
> +                  (VMOVDQU64Zrrkz VK8WM:$mask, VR512:$src)>;<br>
><br>
> def : Pat<(v8i64 (vselect VK8WM:$mask, (bc_v8i64 (v16i32 immAllZerosV)),<br>
> -                  (v8i64 VR512:$src))),<br>
> -   (VMOVDQU64rrkz (COPY_TO_REGCLASS (KNOTWrr (COPY_TO_REGCLASS VK8:$mask, VK16)),<br>
> +                          (v8i64 VR512:$src))),<br>
> +   (VMOVDQU64Zrrkz (COPY_TO_REGCLASS (KNOTWrr (COPY_TO_REGCLASS VK8:$mask, VK16)),<br>
>                                               VK8), VR512:$src)>;<br>
><br>
> def : Pat<(v16i32 (vselect VK16WM:$mask, (v16i32 VR512:$src),<br>
>                            (v16i32 immAllZerosV))),<br>
> -                  (VMOVDQU32rrkz VK16WM:$mask, VR512:$src)>;<br>
> +                  (VMOVDQU32Zrrkz VK16WM:$mask, VR512:$src)>;<br>
><br>
> def : Pat<(v16i32 (vselect VK16WM:$mask, (v16i32 immAllZerosV),<br>
> -                   (v16i32 VR512:$src))),<br>
> -   (VMOVDQU32rrkz (KNOTWrr VK16WM:$mask), VR512:$src)>;<br>
> -<br>
> -def : Pat<(v16f32 (vselect VK16WM:$mask, (v16f32 VR512:$src1),<br>
> -                           (v16f32 VR512:$src2))),<br>
> -                  (VMOVUPSZrrk VR512:$src2, VK16WM:$mask, VR512:$src1)>;<br>
> -def : Pat<(v8f64 (vselect VK8WM:$mask, (v8f64 VR512:$src1),<br>
> -                           (v8f64 VR512:$src2))),<br>
> -                  (VMOVUPDZrrk VR512:$src2, VK8WM:$mask, VR512:$src1)>;<br>
> -def : Pat<(v16i32 (vselect VK16WM:$mask, (v16i32 VR512:$src1),<br>
> -                           (v16i32 VR512:$src2))),<br>
> -                  (VMOVDQU32rrk VR512:$src2, VK16WM:$mask, VR512:$src1)>;<br>
> -def : Pat<(v8i64 (vselect VK8WM:$mask, (v8i64 VR512:$src1),<br>
> -                           (v8i64 VR512:$src2))),<br>
> -                  (VMOVDQU64rrk VR512:$src2, VK8WM:$mask, VR512:$src1)>;<br>
> +                           (v16i32 VR512:$src))),<br>
> +                  (VMOVDQU32Zrrkz (KNOTWrr VK16WM:$mask), VR512:$src)>;<br>
> }<br>
> +<br>
> // Move Int Doubleword to Packed Double Int<br>
> //<br>
> def VMOVDI2PDIZrr : AVX512BI<0x6E, MRMSrcReg, (outs VR128X:$dst), (ins GR32:$src),<br>
><br>
> Modified: llvm/trunk/lib/Target/X86/X86InstrFragmentsSIMD.td<br>
> URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/X86InstrFragmentsSIMD.td?rev=214719&r1=214718&r2=214719&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/X86InstrFragmentsSIMD.td?rev=214719&r1=214718&r2=214719&view=diff</a><br>

> ==============================================================================<br>
> --- llvm/trunk/lib/Target/X86/X86InstrFragmentsSIMD.td (original)<br>
> +++ llvm/trunk/lib/Target/X86/X86InstrFragmentsSIMD.td Mon Aug  4 09:35:15 2014<br>
> @@ -311,6 +311,8 @@ def loadv4i64    : PatFrag<(ops node:$pt<br>
> // 512-bit load pattern fragments<br>
> def loadv16f32   : PatFrag<(ops node:$ptr), (v16f32 (load node:$ptr))>;<br>
> def loadv8f64    : PatFrag<(ops node:$ptr), (v8f64 (load node:$ptr))>;<br>
> +def loadv64i8    : PatFrag<(ops node:$ptr), (v64i8 (load node:$ptr))>;<br>
> +def loadv32i16   : PatFrag<(ops node:$ptr), (v32i16 (load node:$ptr))>;<br>
> def loadv16i32   : PatFrag<(ops node:$ptr), (v16i32 (load node:$ptr))>;<br>
> def loadv8i64    : PatFrag<(ops node:$ptr), (v8i64 (load node:$ptr))>;<br>
><br>
><br>
> Modified: llvm/trunk/lib/Target/X86/X86InstrInfo.cpp<br>
> URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/X86InstrInfo.cpp?rev=214719&r1=214718&r2=214719&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/X86InstrInfo.cpp?rev=214719&r1=214718&r2=214719&view=diff</a><br>

> ==============================================================================<br>
> --- llvm/trunk/lib/Target/X86/X86InstrInfo.cpp (original)<br>
> +++ llvm/trunk/lib/Target/X86/X86InstrInfo.cpp Mon Aug  4 09:35:15 2014<br>
> @@ -601,10 +601,10 @@ X86InstrInfo::X86InstrInfo(X86Subtarget<br>
>     // AVX-512 foldable instructions<br>
>     { X86::VMOV64toPQIZrr,  X86::VMOVQI2PQIZrm,       0 },<br>
>     { X86::VMOVDI2SSZrr,    X86::VMOVDI2SSZrm,        0 },<br>
> -    { X86::VMOVDQA32rr,     X86::VMOVDQA32rm,         TB_ALIGN_64 },<br>
> -    { X86::VMOVDQA64rr,     X86::VMOVDQA64rm,         TB_ALIGN_64 },<br>
> -    { X86::VMOVDQU32rr,     X86::VMOVDQU32rm,         0 },<br>
> -    { X86::VMOVDQU64rr,     X86::VMOVDQU64rm,         0 },<br>
> +    { X86::VMOVDQA32Zrr,    X86::VMOVDQA32Zrm,        TB_ALIGN_64 },<br>
> +    { X86::VMOVDQA64Zrr,    X86::VMOVDQA64Zrm,        TB_ALIGN_64 },<br>
> +    { X86::VMOVDQU32Zrr,    X86::VMOVDQU32Zrm,        0 },<br>
> +    { X86::VMOVDQU64Zrr,    X86::VMOVDQU64Zrm,        0 },<br>
>     { X86::VPABSDZrr,       X86::VPABSDZrm,           0 },<br>
>     { X86::VPABSQZrr,       X86::VPABSQZrm,           0 },<br>
><br>
><br>
> Modified: llvm/trunk/test/CodeGen/X86/avx512-vec-cmp.ll<br>
> URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/X86/avx512-vec-cmp.ll?rev=214719&r1=214718&r2=214719&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/X86/avx512-vec-cmp.ll?rev=214719&r1=214718&r2=214719&view=diff</a><br>

> ==============================================================================<br>
> --- llvm/trunk/test/CodeGen/X86/avx512-vec-cmp.ll (original)<br>
> +++ llvm/trunk/test/CodeGen/X86/avx512-vec-cmp.ll Mon Aug  4 09:35:15 2014<br>
> @@ -2,7 +2,7 @@<br>
><br>
> ; CHECK-LABEL: test1<br>
> ; CHECK: vcmpleps<br>
> -; CHECK: vmovups<br>
> +; CHECK: vmovaps<br>
> ; CHECK: ret<br>
> define <16 x float> @test1(<16 x float> %x, <16 x float> %y) nounwind {<br>
>   %mask = fcmp ole <16 x float> %x, %y<br>
> @@ -12,7 +12,7 @@ define <16 x float> @test1(<16 x float><br>
><br>
> ; CHECK-LABEL: test2<br>
> ; CHECK: vcmplepd<br>
> -; CHECK: vmovupd<br>
> +; CHECK: vmovapd<br>
> ; CHECK: ret<br>
> define <8 x double> @test2(<8 x double> %x, <8 x double> %y) nounwind {<br>
>   %mask = fcmp ole <8 x double> %x, %y<br>
> @@ -22,7 +22,7 @@ define <8 x double> @test2(<8 x double><br>
><br>
> ; CHECK-LABEL: test3<br>
> ; CHECK: vpcmpeqd  (%rdi)<br>
> -; CHECK: vmovdqu32<br>
> +; CHECK: vmovdqa32<br>
> ; CHECK: ret<br>
> define <16 x i32> @test3(<16 x i32> %x, <16 x i32> %x1, <16 x i32>* %yp) nounwind {<br>
>   %y = load <16 x i32>* %yp, align 4<br>
> @@ -33,7 +33,7 @@ define <16 x i32> @test3(<16 x i32> %x,<br>
><br>
> ; CHECK-LABEL: @test4_unsigned<br>
> ; CHECK: vpcmpnltud<br>
> -; CHECK: vmovdqu32<br>
> +; CHECK: vmovdqa32<br>
> ; CHECK: ret<br>
> define <16 x i32> @test4_unsigned(<16 x i32> %x, <16 x i32> %y) nounwind {<br>
>   %mask = icmp uge <16 x i32> %x, %y<br>
> @@ -43,7 +43,7 @@ define <16 x i32> @test4_unsigned(<16 x<br>
><br>
> ; CHECK-LABEL: test5<br>
> ; CHECK: vpcmpeqq {{.*}}%k1<br>
> -; CHECK: vmovdqu64 {{.*}}%k1<br>
> +; CHECK: vmovdqa64 {{.*}}%k1<br>
> ; CHECK: ret<br>
> define <8 x i64> @test5(<8 x i64> %x, <8 x i64> %y) nounwind {<br>
>   %mask = icmp eq <8 x i64> %x, %y<br>
> @@ -53,7 +53,7 @@ define <8 x i64> @test5(<8 x i64> %x, <8<br>
><br>
> ; CHECK-LABEL: test6_unsigned<br>
> ; CHECK: vpcmpnleuq {{.*}}%k1<br>
> -; CHECK: vmovdqu64 {{.*}}%k1<br>
> +; CHECK: vmovdqa64 {{.*}}%k1<br>
> ; CHECK: ret<br>
> define <8 x i64> @test6_unsigned(<8 x i64> %x, <8 x i64> %y) nounwind {<br>
>   %mask = icmp ugt <8 x i64> %x, %y<br>
><br>
<br>
Can you please explain these?<br>
<br></blockquote><div><br></div><div>In this patch I added pattern for lowering for aligned loads (see rmk versions in avx512_load multiclass). As aligned load is more preferable than unaligned one they were chosen. </div>
<div>Next patch will include more lowering tests.</div><div><br></div><div>-- Robert</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Thanks,<br>
Adam<br>
<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=214719&r1=214718&r2=214719&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MC/X86/avx512-encodings.s?rev=214719&r1=214718&r2=214719&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  4 09:35:15 2014<br>
> @@ -449,6 +449,294 @@<br>
> // CHECK:  encoding: [0x62,0xf1,0x64,0x58,0x5d,0x9a,0xfc,0xfd,0xff,0xff]<br>
>           vminps -516(%rdx){1to16}, %zmm3, %zmm3<br>
><br>
> +// CHECK: vmovapd %zmm14, %zmm7<br>
> +// CHECK:  encoding: [0x62,0xd1,0xfd,0x48,0x28,0xfe]<br>
> +          vmovapd %zmm14, %zmm7<br>
> +<br>
> +// CHECK: vmovapd %zmm14, %zmm7 {%k5}<br>
> +// CHECK:  encoding: [0x62,0xd1,0xfd,0x4d,0x28,0xfe]<br>
> +          vmovapd %zmm14, %zmm7 {%k5}<br>
> +<br>
> +// CHECK: vmovapd %zmm14, %zmm7 {%k5} {z}<br>
> +// CHECK:  encoding: [0x62,0xd1,0xfd,0xcd,0x28,0xfe]<br>
> +          vmovapd %zmm14, %zmm7 {%k5} {z}<br>
> +<br>
> +// CHECK: vmovapd (%rcx), %zmm7<br>
> +// CHECK:  encoding: [0x62,0xf1,0xfd,0x48,0x28,0x39]<br>
> +          vmovapd (%rcx), %zmm7<br>
> +<br>
> +// CHECK: vmovapd 291(%rax,%r14,8), %zmm7<br>
> +// CHECK:  encoding: [0x62,0xb1,0xfd,0x48,0x28,0xbc,0xf0,0x23,0x01,0x00,0x00]<br>
> +          vmovapd 291(%rax,%r14,8), %zmm7<br>
> +<br>
> +// CHECK: vmovapd 8128(%rdx), %zmm7<br>
> +// CHECK:  encoding: [0x62,0xf1,0xfd,0x48,0x28,0x7a,0x7f]<br>
> +          vmovapd 8128(%rdx), %zmm7<br>
> +<br>
> +// CHECK: vmovapd 8192(%rdx), %zmm7<br>
> +// CHECK:  encoding: [0x62,0xf1,0xfd,0x48,0x28,0xba,0x00,0x20,0x00,0x00]<br>
> +          vmovapd 8192(%rdx), %zmm7<br>
> +<br>
> +// CHECK: vmovapd -8192(%rdx), %zmm7<br>
> +// CHECK:  encoding: [0x62,0xf1,0xfd,0x48,0x28,0x7a,0x80]<br>
> +          vmovapd -8192(%rdx), %zmm7<br>
> +<br>
> +// CHECK: vmovapd -8256(%rdx), %zmm7<br>
> +// CHECK:  encoding: [0x62,0xf1,0xfd,0x48,0x28,0xba,0xc0,0xdf,0xff,0xff]<br>
> +          vmovapd -8256(%rdx), %zmm7<br>
> +<br>
> +// CHECK: vmovaps %zmm9, %zmm5<br>
> +// CHECK:  encoding: [0x62,0xd1,0x7c,0x48,0x28,0xe9]<br>
> +          vmovaps %zmm9, %zmm5<br>
> +<br>
> +// CHECK: vmovaps %zmm9, %zmm5 {%k1}<br>
> +// CHECK:  encoding: [0x62,0xd1,0x7c,0x49,0x28,0xe9]<br>
> +          vmovaps %zmm9, %zmm5 {%k1}<br>
> +<br>
> +// CHECK: vmovaps %zmm9, %zmm5 {%k1} {z}<br>
> +// CHECK:  encoding: [0x62,0xd1,0x7c,0xc9,0x28,0xe9]<br>
> +          vmovaps %zmm9, %zmm5 {%k1} {z}<br>
> +<br>
> +// CHECK: vmovaps (%rcx), %zmm5<br>
> +// CHECK:  encoding: [0x62,0xf1,0x7c,0x48,0x28,0x29]<br>
> +          vmovaps (%rcx), %zmm5<br>
> +<br>
> +// CHECK: vmovaps 291(%rax,%r14,8), %zmm5<br>
> +// CHECK:  encoding: [0x62,0xb1,0x7c,0x48,0x28,0xac,0xf0,0x23,0x01,0x00,0x00]<br>
> +          vmovaps 291(%rax,%r14,8), %zmm5<br>
> +<br>
> +// CHECK: vmovaps 8128(%rdx), %zmm5<br>
> +// CHECK:  encoding: [0x62,0xf1,0x7c,0x48,0x28,0x6a,0x7f]<br>
> +          vmovaps 8128(%rdx), %zmm5<br>
> +<br>
> +// CHECK: vmovaps 8192(%rdx), %zmm5<br>
> +// CHECK:  encoding: [0x62,0xf1,0x7c,0x48,0x28,0xaa,0x00,0x20,0x00,0x00]<br>
> +          vmovaps 8192(%rdx), %zmm5<br>
> +<br>
> +// CHECK: vmovaps -8192(%rdx), %zmm5<br>
> +// CHECK:  encoding: [0x62,0xf1,0x7c,0x48,0x28,0x6a,0x80]<br>
> +          vmovaps -8192(%rdx), %zmm5<br>
> +<br>
> +// CHECK: vmovaps -8256(%rdx), %zmm5<br>
> +// CHECK:  encoding: [0x62,0xf1,0x7c,0x48,0x28,0xaa,0xc0,0xdf,0xff,0xff]<br>
> +          vmovaps -8256(%rdx), %zmm5<br>
> +<br>
> +// CHECK: vmovdqa32 %zmm18, %zmm22<br>
> +// CHECK:  encoding: [0x62,0xa1,0x7d,0x48,0x6f,0xf2]<br>
> +          vmovdqa32 %zmm18, %zmm22<br>
> +<br>
> +// CHECK: vmovdqa32 %zmm18, %zmm22 {%k6}<br>
> +// CHECK:  encoding: [0x62,0xa1,0x7d,0x4e,0x6f,0xf2]<br>
> +          vmovdqa32 %zmm18, %zmm22 {%k6}<br>
> +<br>
> +// CHECK: vmovdqa32 %zmm18, %zmm22 {%k6} {z}<br>
> +// CHECK:  encoding: [0x62,0xa1,0x7d,0xce,0x6f,0xf2]<br>
> +          vmovdqa32 %zmm18, %zmm22 {%k6} {z}<br>
> +<br>
> +// CHECK: vmovdqa32 (%rcx), %zmm22<br>
> +// CHECK:  encoding: [0x62,0xe1,0x7d,0x48,0x6f,0x31]<br>
> +          vmovdqa32 (%rcx), %zmm22<br>
> +<br>
> +// CHECK: vmovdqa32 291(%rax,%r14,8), %zmm22<br>
> +// CHECK:  encoding: [0x62,0xa1,0x7d,0x48,0x6f,0xb4,0xf0,0x23,0x01,0x00,0x00]<br>
> +          vmovdqa32 291(%rax,%r14,8), %zmm22<br>
> +<br>
> +// CHECK: vmovdqa32 8128(%rdx), %zmm22<br>
> +// CHECK:  encoding: [0x62,0xe1,0x7d,0x48,0x6f,0x72,0x7f]<br>
> +          vmovdqa32 8128(%rdx), %zmm22<br>
> +<br>
> +// CHECK: vmovdqa32 8192(%rdx), %zmm22<br>
> +// CHECK:  encoding: [0x62,0xe1,0x7d,0x48,0x6f,0xb2,0x00,0x20,0x00,0x00]<br>
> +          vmovdqa32 8192(%rdx), %zmm22<br>
> +<br>
> +// CHECK: vmovdqa32 -8192(%rdx), %zmm22<br>
> +// CHECK:  encoding: [0x62,0xe1,0x7d,0x48,0x6f,0x72,0x80]<br>
> +          vmovdqa32 -8192(%rdx), %zmm22<br>
> +<br>
> +// CHECK: vmovdqa32 -8256(%rdx), %zmm22<br>
> +// CHECK:  encoding: [0x62,0xe1,0x7d,0x48,0x6f,0xb2,0xc0,0xdf,0xff,0xff]<br>
> +          vmovdqa32 -8256(%rdx), %zmm22<br>
> +<br>
> +// CHECK: vmovdqa64 %zmm12, %zmm22<br>
> +// CHECK:  encoding: [0x62,0xc1,0xfd,0x48,0x6f,0xf4]<br>
> +          vmovdqa64 %zmm12, %zmm22<br>
> +<br>
> +// CHECK: vmovdqa64 %zmm12, %zmm22 {%k5}<br>
> +// CHECK:  encoding: [0x62,0xc1,0xfd,0x4d,0x6f,0xf4]<br>
> +          vmovdqa64 %zmm12, %zmm22 {%k5}<br>
> +<br>
> +// CHECK: vmovdqa64 %zmm12, %zmm22 {%k5} {z}<br>
> +// CHECK:  encoding: [0x62,0xc1,0xfd,0xcd,0x6f,0xf4]<br>
> +          vmovdqa64 %zmm12, %zmm22 {%k5} {z}<br>
> +<br>
> +// CHECK: vmovdqa64 (%rcx), %zmm22<br>
> +// CHECK:  encoding: [0x62,0xe1,0xfd,0x48,0x6f,0x31]<br>
> +          vmovdqa64 (%rcx), %zmm22<br>
> +<br>
> +// CHECK: vmovdqa64 291(%rax,%r14,8), %zmm22<br>
> +// CHECK:  encoding: [0x62,0xa1,0xfd,0x48,0x6f,0xb4,0xf0,0x23,0x01,0x00,0x00]<br>
> +          vmovdqa64 291(%rax,%r14,8), %zmm22<br>
> +<br>
> +// CHECK: vmovdqa64 8128(%rdx), %zmm22<br>
> +// CHECK:  encoding: [0x62,0xe1,0xfd,0x48,0x6f,0x72,0x7f]<br>
> +          vmovdqa64 8128(%rdx), %zmm22<br>
> +<br>
> +// CHECK: vmovdqa64 8192(%rdx), %zmm22<br>
> +// CHECK:  encoding: [0x62,0xe1,0xfd,0x48,0x6f,0xb2,0x00,0x20,0x00,0x00]<br>
> +          vmovdqa64 8192(%rdx), %zmm22<br>
> +<br>
> +// CHECK: vmovdqa64 -8192(%rdx), %zmm22<br>
> +// CHECK:  encoding: [0x62,0xe1,0xfd,0x48,0x6f,0x72,0x80]<br>
> +          vmovdqa64 -8192(%rdx), %zmm22<br>
> +<br>
> +// CHECK: vmovdqa64 -8256(%rdx), %zmm22<br>
> +// CHECK:  encoding: [0x62,0xe1,0xfd,0x48,0x6f,0xb2,0xc0,0xdf,0xff,0xff]<br>
> +          vmovdqa64 -8256(%rdx), %zmm22<br>
> +<br>
> +// CHECK: vmovdqu32 %zmm24, %zmm5<br>
> +// CHECK:  encoding: [0x62,0x91,0x7e,0x48,0x6f,0xe8]<br>
> +          vmovdqu32 %zmm24, %zmm5<br>
> +<br>
> +// CHECK: vmovdqu32 %zmm24, %zmm5 {%k5}<br>
> +// CHECK:  encoding: [0x62,0x91,0x7e,0x4d,0x6f,0xe8]<br>
> +          vmovdqu32 %zmm24, %zmm5 {%k5}<br>
> +<br>
> +// CHECK: vmovdqu32 %zmm24, %zmm5 {%k5} {z}<br>
> +// CHECK:  encoding: [0x62,0x91,0x7e,0xcd,0x6f,0xe8]<br>
> +          vmovdqu32 %zmm24, %zmm5 {%k5} {z}<br>
> +<br>
> +// CHECK: vmovdqu32 (%rcx), %zmm5<br>
> +// CHECK:  encoding: [0x62,0xf1,0x7e,0x48,0x6f,0x29]<br>
> +          vmovdqu32 (%rcx), %zmm5<br>
> +<br>
> +// CHECK: vmovdqu32 291(%rax,%r14,8), %zmm5<br>
> +// CHECK:  encoding: [0x62,0xb1,0x7e,0x48,0x6f,0xac,0xf0,0x23,0x01,0x00,0x00]<br>
> +          vmovdqu32 291(%rax,%r14,8), %zmm5<br>
> +<br>
> +// CHECK: vmovdqu32 8128(%rdx), %zmm5<br>
> +// CHECK:  encoding: [0x62,0xf1,0x7e,0x48,0x6f,0x6a,0x7f]<br>
> +          vmovdqu32 8128(%rdx), %zmm5<br>
> +<br>
> +// CHECK: vmovdqu32 8192(%rdx), %zmm5<br>
> +// CHECK:  encoding: [0x62,0xf1,0x7e,0x48,0x6f,0xaa,0x00,0x20,0x00,0x00]<br>
> +          vmovdqu32 8192(%rdx), %zmm5<br>
> +<br>
> +// CHECK: vmovdqu32 -8192(%rdx), %zmm5<br>
> +// CHECK:  encoding: [0x62,0xf1,0x7e,0x48,0x6f,0x6a,0x80]<br>
> +          vmovdqu32 -8192(%rdx), %zmm5<br>
> +<br>
> +// CHECK: vmovdqu32 -8256(%rdx), %zmm5<br>
> +// CHECK:  encoding: [0x62,0xf1,0x7e,0x48,0x6f,0xaa,0xc0,0xdf,0xff,0xff]<br>
> +          vmovdqu32 -8256(%rdx), %zmm5<br>
> +<br>
> +// CHECK: vmovdqu64 %zmm15, %zmm6<br>
> +// CHECK:  encoding: [0x62,0xd1,0xfe,0x48,0x6f,0xf7]<br>
> +          vmovdqu64 %zmm15, %zmm6<br>
> +<br>
> +// CHECK: vmovdqu64 %zmm15, %zmm6 {%k3}<br>
> +// CHECK:  encoding: [0x62,0xd1,0xfe,0x4b,0x6f,0xf7]<br>
> +          vmovdqu64 %zmm15, %zmm6 {%k3}<br>
> +<br>
> +// CHECK: vmovdqu64 %zmm15, %zmm6 {%k3} {z}<br>
> +// CHECK:  encoding: [0x62,0xd1,0xfe,0xcb,0x6f,0xf7]<br>
> +          vmovdqu64 %zmm15, %zmm6 {%k3} {z}<br>
> +<br>
> +// CHECK: vmovdqu64 (%rcx), %zmm6<br>
> +// CHECK:  encoding: [0x62,0xf1,0xfe,0x48,0x6f,0x31]<br>
> +          vmovdqu64 (%rcx), %zmm6<br>
> +<br>
> +// CHECK: vmovdqu64 291(%rax,%r14,8), %zmm6<br>
> +// CHECK:  encoding: [0x62,0xb1,0xfe,0x48,0x6f,0xb4,0xf0,0x23,0x01,0x00,0x00]<br>
> +          vmovdqu64 291(%rax,%r14,8), %zmm6<br>
> +<br>
> +// CHECK: vmovdqu64 8128(%rdx), %zmm6<br>
> +// CHECK:  encoding: [0x62,0xf1,0xfe,0x48,0x6f,0x72,0x7f]<br>
> +          vmovdqu64 8128(%rdx), %zmm6<br>
> +<br>
> +// CHECK: vmovdqu64 8192(%rdx), %zmm6<br>
> +// CHECK:  encoding: [0x62,0xf1,0xfe,0x48,0x6f,0xb2,0x00,0x20,0x00,0x00]<br>
> +          vmovdqu64 8192(%rdx), %zmm6<br>
> +<br>
> +// CHECK: vmovdqu64 -8192(%rdx), %zmm6<br>
> +// CHECK:  encoding: [0x62,0xf1,0xfe,0x48,0x6f,0x72,0x80]<br>
> +          vmovdqu64 -8192(%rdx), %zmm6<br>
> +<br>
> +// CHECK: vmovdqu64 -8256(%rdx), %zmm6<br>
> +// CHECK:  encoding: [0x62,0xf1,0xfe,0x48,0x6f,0xb2,0xc0,0xdf,0xff,0xff]<br>
> +          vmovdqu64 -8256(%rdx), %zmm6<br>
> +<br>
> +// CHECK: vmovupd %zmm9, %zmm27<br>
> +// CHECK:  encoding: [0x62,0x41,0xfd,0x48,0x10,0xd9]<br>
> +          vmovupd %zmm9, %zmm27<br>
> +<br>
> +// CHECK: vmovupd %zmm9, %zmm27 {%k2}<br>
> +// CHECK:  encoding: [0x62,0x41,0xfd,0x4a,0x10,0xd9]<br>
> +          vmovupd %zmm9, %zmm27 {%k2}<br>
> +<br>
> +// CHECK: vmovupd %zmm9, %zmm27 {%k2} {z}<br>
> +// CHECK:  encoding: [0x62,0x41,0xfd,0xca,0x10,0xd9]<br>
> +          vmovupd %zmm9, %zmm27 {%k2} {z}<br>
> +<br>
> +// CHECK: vmovupd (%rcx), %zmm27<br>
> +// CHECK:  encoding: [0x62,0x61,0xfd,0x48,0x10,0x19]<br>
> +          vmovupd (%rcx), %zmm27<br>
> +<br>
> +// CHECK: vmovupd 291(%rax,%r14,8), %zmm27<br>
> +// CHECK:  encoding: [0x62,0x21,0xfd,0x48,0x10,0x9c,0xf0,0x23,0x01,0x00,0x00]<br>
> +          vmovupd 291(%rax,%r14,8), %zmm27<br>
> +<br>
> +// CHECK: vmovupd 8128(%rdx), %zmm27<br>
> +// CHECK:  encoding: [0x62,0x61,0xfd,0x48,0x10,0x5a,0x7f]<br>
> +          vmovupd 8128(%rdx), %zmm27<br>
> +<br>
> +// CHECK: vmovupd 8192(%rdx), %zmm27<br>
> +// CHECK:  encoding: [0x62,0x61,0xfd,0x48,0x10,0x9a,0x00,0x20,0x00,0x00]<br>
> +          vmovupd 8192(%rdx), %zmm27<br>
> +<br>
> +// CHECK: vmovupd -8192(%rdx), %zmm27<br>
> +// CHECK:  encoding: [0x62,0x61,0xfd,0x48,0x10,0x5a,0x80]<br>
> +          vmovupd -8192(%rdx), %zmm27<br>
> +<br>
> +// CHECK: vmovupd -8256(%rdx), %zmm27<br>
> +// CHECK:  encoding: [0x62,0x61,0xfd,0x48,0x10,0x9a,0xc0,0xdf,0xff,0xff]<br>
> +          vmovupd -8256(%rdx), %zmm27<br>
> +<br>
> +// CHECK: vmovups %zmm22, %zmm22<br>
> +// CHECK:  encoding: [0x62,0xa1,0x7c,0x48,0x10,0xf6]<br>
> +          vmovups %zmm22, %zmm22<br>
> +<br>
> +// CHECK: vmovups %zmm22, %zmm22 {%k3}<br>
> +// CHECK:  encoding: [0x62,0xa1,0x7c,0x4b,0x10,0xf6]<br>
> +          vmovups %zmm22, %zmm22 {%k3}<br>
> +<br>
> +// CHECK: vmovups %zmm22, %zmm22 {%k3} {z}<br>
> +// CHECK:  encoding: [0x62,0xa1,0x7c,0xcb,0x10,0xf6]<br>
> +          vmovups %zmm22, %zmm22 {%k3} {z}<br>
> +<br>
> +// CHECK: vmovups (%rcx), %zmm22<br>
> +// CHECK:  encoding: [0x62,0xe1,0x7c,0x48,0x10,0x31]<br>
> +          vmovups (%rcx), %zmm22<br>
> +<br>
> +// CHECK: vmovups 291(%rax,%r14,8), %zmm22<br>
> +// CHECK:  encoding: [0x62,0xa1,0x7c,0x48,0x10,0xb4,0xf0,0x23,0x01,0x00,0x00]<br>
> +          vmovups 291(%rax,%r14,8), %zmm22<br>
> +<br>
> +// CHECK: vmovups 8128(%rdx), %zmm22<br>
> +// CHECK:  encoding: [0x62,0xe1,0x7c,0x48,0x10,0x72,0x7f]<br>
> +          vmovups 8128(%rdx), %zmm22<br>
> +<br>
> +// CHECK: vmovups 8192(%rdx), %zmm22<br>
> +// CHECK:  encoding: [0x62,0xe1,0x7c,0x48,0x10,0xb2,0x00,0x20,0x00,0x00]<br>
> +          vmovups 8192(%rdx), %zmm22<br>
> +<br>
> +// CHECK: vmovups -8192(%rdx), %zmm22<br>
> +// CHECK:  encoding: [0x62,0xe1,0x7c,0x48,0x10,0x72,0x80]<br>
> +          vmovups -8192(%rdx), %zmm22<br>
> +<br>
> +// CHECK: vmovups -8256(%rdx), %zmm22<br>
> +// CHECK:  encoding: [0x62,0xe1,0x7c,0x48,0x10,0xb2,0xc0,0xdf,0xff,0xff]<br>
> +          vmovups -8256(%rdx), %zmm22<br>
> +<br>
> // CHECK: vmulpd %zmm23, %zmm4, %zmm24<br>
> // CHECK:  encoding: [0x62,0x21,0xdd,0x48,0x59,0xc7]<br>
>           vmulpd %zmm23, %zmm4, %zmm24<br>
> @@ -2557,6 +2845,230 @@<br>
> // CHECK:  encoding: [0xc5,0x78,0x93,0xea]<br>
>           kmovw  %k2, %r13d<br>
><br>
> +// CHECK: vmovapd %zmm18, (%rcx)<br>
> +// CHECK:  encoding: [0x62,0xe1,0xfd,0x48,0x29,0x11]<br>
> +          vmovapd %zmm18, (%rcx)<br>
> +<br>
> +// CHECK: vmovapd %zmm18, (%rcx) {%k6}<br>
> +// CHECK:  encoding: [0x62,0xe1,0xfd,0x4e,0x29,0x11]<br>
> +          vmovapd %zmm18, (%rcx) {%k6}<br>
> +<br>
> +// CHECK: vmovapd %zmm18, 291(%rax,%r14,8)<br>
> +// CHECK:  encoding: [0x62,0xa1,0xfd,0x48,0x29,0x94,0xf0,0x23,0x01,0x00,0x00]<br>
> +          vmovapd %zmm18, 291(%rax,%r14,8)<br>
> +<br>
> +// CHECK: vmovapd %zmm18, 8128(%rdx)<br>
> +// CHECK:  encoding: [0x62,0xe1,0xfd,0x48,0x29,0x52,0x7f]<br>
> +          vmovapd %zmm18, 8128(%rdx)<br>
> +<br>
> +// CHECK: vmovapd %zmm18, 8192(%rdx)<br>
> +// CHECK:  encoding: [0x62,0xe1,0xfd,0x48,0x29,0x92,0x00,0x20,0x00,0x00]<br>
> +          vmovapd %zmm18, 8192(%rdx)<br>
> +<br>
> +// CHECK: vmovapd %zmm18, -8192(%rdx)<br>
> +// CHECK:  encoding: [0x62,0xe1,0xfd,0x48,0x29,0x52,0x80]<br>
> +          vmovapd %zmm18, -8192(%rdx)<br>
> +<br>
> +// CHECK: vmovapd %zmm18, -8256(%rdx)<br>
> +// CHECK:  encoding: [0x62,0xe1,0xfd,0x48,0x29,0x92,0xc0,0xdf,0xff,0xff]<br>
> +          vmovapd %zmm18, -8256(%rdx)<br>
> +<br>
> +// CHECK: vmovaps %zmm9, (%rcx)<br>
> +// CHECK:  encoding: [0x62,0x71,0x7c,0x48,0x29,0x09]<br>
> +          vmovaps %zmm9, (%rcx)<br>
> +<br>
> +// CHECK: vmovaps %zmm9, (%rcx) {%k3}<br>
> +// CHECK:  encoding: [0x62,0x71,0x7c,0x4b,0x29,0x09]<br>
> +          vmovaps %zmm9, (%rcx) {%k3}<br>
> +<br>
> +// CHECK: vmovaps %zmm9, 291(%rax,%r14,8)<br>
> +// CHECK:  encoding: [0x62,0x31,0x7c,0x48,0x29,0x8c,0xf0,0x23,0x01,0x00,0x00]<br>
> +          vmovaps %zmm9, 291(%rax,%r14,8)<br>
> +<br>
> +// CHECK: vmovaps %zmm9, 8128(%rdx)<br>
> +// CHECK:  encoding: [0x62,0x71,0x7c,0x48,0x29,0x4a,0x7f]<br>
> +          vmovaps %zmm9, 8128(%rdx)<br>
> +<br>
> +// CHECK: vmovaps %zmm9, 8192(%rdx)<br>
> +// CHECK:  encoding: [0x62,0x71,0x7c,0x48,0x29,0x8a,0x00,0x20,0x00,0x00]<br>
> +          vmovaps %zmm9, 8192(%rdx)<br>
> +<br>
> +// CHECK: vmovaps %zmm9, -8192(%rdx)<br>
> +// CHECK:  encoding: [0x62,0x71,0x7c,0x48,0x29,0x4a,0x80]<br>
> +          vmovaps %zmm9, -8192(%rdx)<br>
> +<br>
> +// CHECK: vmovaps %zmm9, -8256(%rdx)<br>
> +// CHECK:  encoding: [0x62,0x71,0x7c,0x48,0x29,0x8a,0xc0,0xdf,0xff,0xff]<br>
> +          vmovaps %zmm9, -8256(%rdx)<br>
> +<br>
> +// CHECK: vmovdqa32 %zmm18, (%rcx)<br>
> +// CHECK:  encoding: [0x62,0xe1,0x7d,0x48,0x7f,0x11]<br>
> +          vmovdqa32 %zmm18, (%rcx)<br>
> +<br>
> +// CHECK: vmovdqa32 %zmm18, (%rcx) {%k4}<br>
> +// CHECK:  encoding: [0x62,0xe1,0x7d,0x4c,0x7f,0x11]<br>
> +          vmovdqa32 %zmm18, (%rcx) {%k4}<br>
> +<br>
> +// CHECK: vmovdqa32 %zmm18, 291(%rax,%r14,8)<br>
> +// CHECK:  encoding: [0x62,0xa1,0x7d,0x48,0x7f,0x94,0xf0,0x23,0x01,0x00,0x00]<br>
> +          vmovdqa32 %zmm18, 291(%rax,%r14,8)<br>
> +<br>
> +// CHECK: vmovdqa32 %zmm18, 8128(%rdx)<br>
> +// CHECK:  encoding: [0x62,0xe1,0x7d,0x48,0x7f,0x52,0x7f]<br>
> +          vmovdqa32 %zmm18, 8128(%rdx)<br>
> +<br>
> +// CHECK: vmovdqa32 %zmm18, 8192(%rdx)<br>
> +// CHECK:  encoding: [0x62,0xe1,0x7d,0x48,0x7f,0x92,0x00,0x20,0x00,0x00]<br>
> +          vmovdqa32 %zmm18, 8192(%rdx)<br>
> +<br>
> +// CHECK: vmovdqa32 %zmm18, -8192(%rdx)<br>
> +// CHECK:  encoding: [0x62,0xe1,0x7d,0x48,0x7f,0x52,0x80]<br>
> +          vmovdqa32 %zmm18, -8192(%rdx)<br>
> +<br>
> +// CHECK: vmovdqa32 %zmm18, -8256(%rdx)<br>
> +// CHECK:  encoding: [0x62,0xe1,0x7d,0x48,0x7f,0x92,0xc0,0xdf,0xff,0xff]<br>
> +          vmovdqa32 %zmm18, -8256(%rdx)<br>
> +<br>
> +// CHECK: vmovdqa64 %zmm19, (%rcx)<br>
> +// CHECK:  encoding: [0x62,0xe1,0xfd,0x48,0x7f,0x19]<br>
> +          vmovdqa64 %zmm19, (%rcx)<br>
> +<br>
> +// CHECK: vmovdqa64 %zmm19, (%rcx) {%k5}<br>
> +// CHECK:  encoding: [0x62,0xe1,0xfd,0x4d,0x7f,0x19]<br>
> +          vmovdqa64 %zmm19, (%rcx) {%k5}<br>
> +<br>
> +// CHECK: vmovdqa64 %zmm19, 291(%rax,%r14,8)<br>
> +// CHECK:  encoding: [0x62,0xa1,0xfd,0x48,0x7f,0x9c,0xf0,0x23,0x01,0x00,0x00]<br>
> +          vmovdqa64 %zmm19, 291(%rax,%r14,8)<br>
> +<br>
> +// CHECK: vmovdqa64 %zmm19, 8128(%rdx)<br>
> +// CHECK:  encoding: [0x62,0xe1,0xfd,0x48,0x7f,0x5a,0x7f]<br>
> +          vmovdqa64 %zmm19, 8128(%rdx)<br>
> +<br>
> +// CHECK: vmovdqa64 %zmm19, 8192(%rdx)<br>
> +// CHECK:  encoding: [0x62,0xe1,0xfd,0x48,0x7f,0x9a,0x00,0x20,0x00,0x00]<br>
> +          vmovdqa64 %zmm19, 8192(%rdx)<br>
> +<br>
> +// CHECK: vmovdqa64 %zmm19, -8192(%rdx)<br>
> +// CHECK:  encoding: [0x62,0xe1,0xfd,0x48,0x7f,0x5a,0x80]<br>
> +          vmovdqa64 %zmm19, -8192(%rdx)<br>
> +<br>
> +// CHECK: vmovdqa64 %zmm19, -8256(%rdx)<br>
> +// CHECK:  encoding: [0x62,0xe1,0xfd,0x48,0x7f,0x9a,0xc0,0xdf,0xff,0xff]<br>
> +          vmovdqa64 %zmm19, -8256(%rdx)<br>
> +<br>
> +// CHECK: vmovdqu32 %zmm22, (%rcx)<br>
> +// CHECK:  encoding: [0x62,0xe1,0x7e,0x48,0x7f,0x31]<br>
> +          vmovdqu32 %zmm22, (%rcx)<br>
> +<br>
> +// CHECK: vmovdqu32 %zmm22, (%rcx) {%k1}<br>
> +// CHECK:  encoding: [0x62,0xe1,0x7e,0x49,0x7f,0x31]<br>
> +          vmovdqu32 %zmm22, (%rcx) {%k1}<br>
> +<br>
> +// CHECK: vmovdqu32 %zmm22, 291(%rax,%r14,8)<br>
> +// CHECK:  encoding: [0x62,0xa1,0x7e,0x48,0x7f,0xb4,0xf0,0x23,0x01,0x00,0x00]<br>
> +          vmovdqu32 %zmm22, 291(%rax,%r14,8)<br>
> +<br>
> +// CHECK: vmovdqu32 %zmm22, 8128(%rdx)<br>
> +// CHECK:  encoding: [0x62,0xe1,0x7e,0x48,0x7f,0x72,0x7f]<br>
> +          vmovdqu32 %zmm22, 8128(%rdx)<br>
> +<br>
> +// CHECK: vmovdqu32 %zmm22, 8192(%rdx)<br>
> +// CHECK:  encoding: [0x62,0xe1,0x7e,0x48,0x7f,0xb2,0x00,0x20,0x00,0x00]<br>
> +          vmovdqu32 %zmm22, 8192(%rdx)<br>
> +<br>
> +// CHECK: vmovdqu32 %zmm22, -8192(%rdx)<br>
> +// CHECK:  encoding: [0x62,0xe1,0x7e,0x48,0x7f,0x72,0x80]<br>
> +          vmovdqu32 %zmm22, -8192(%rdx)<br>
> +<br>
> +// CHECK: vmovdqu32 %zmm22, -8256(%rdx)<br>
> +// CHECK:  encoding: [0x62,0xe1,0x7e,0x48,0x7f,0xb2,0xc0,0xdf,0xff,0xff]<br>
> +          vmovdqu32 %zmm22, -8256(%rdx)<br>
> +<br>
> +// CHECK: vmovdqu64 %zmm24, (%rcx)<br>
> +// CHECK:  encoding: [0x62,0x61,0xfe,0x48,0x7f,0x01]<br>
> +          vmovdqu64 %zmm24, (%rcx)<br>
> +<br>
> +// CHECK: vmovdqu64 %zmm24, (%rcx) {%k5}<br>
> +// CHECK:  encoding: [0x62,0x61,0xfe,0x4d,0x7f,0x01]<br>
> +          vmovdqu64 %zmm24, (%rcx) {%k5}<br>
> +<br>
> +// CHECK: vmovdqu64 %zmm24, 291(%rax,%r14,8)<br>
> +// CHECK:  encoding: [0x62,0x21,0xfe,0x48,0x7f,0x84,0xf0,0x23,0x01,0x00,0x00]<br>
> +          vmovdqu64 %zmm24, 291(%rax,%r14,8)<br>
> +<br>
> +// CHECK: vmovdqu64 %zmm24, 8128(%rdx)<br>
> +// CHECK:  encoding: [0x62,0x61,0xfe,0x48,0x7f,0x42,0x7f]<br>
> +          vmovdqu64 %zmm24, 8128(%rdx)<br>
> +<br>
> +// CHECK: vmovdqu64 %zmm24, 8192(%rdx)<br>
> +// CHECK:  encoding: [0x62,0x61,0xfe,0x48,0x7f,0x82,0x00,0x20,0x00,0x00]<br>
> +          vmovdqu64 %zmm24, 8192(%rdx)<br>
> +<br>
> +// CHECK: vmovdqu64 %zmm24, -8192(%rdx)<br>
> +// CHECK:  encoding: [0x62,0x61,0xfe,0x48,0x7f,0x42,0x80]<br>
> +          vmovdqu64 %zmm24, -8192(%rdx)<br>
> +<br>
> +// CHECK: vmovdqu64 %zmm24, -8256(%rdx)<br>
> +// CHECK:  encoding: [0x62,0x61,0xfe,0x48,0x7f,0x82,0xc0,0xdf,0xff,0xff]<br>
> +          vmovdqu64 %zmm24, -8256(%rdx)<br>
> +<br>
> +// CHECK: vmovupd %zmm10, (%rcx)<br>
> +// CHECK:  encoding: [0x62,0x71,0xfd,0x48,0x11,0x11]<br>
> +          vmovupd %zmm10, (%rcx)<br>
> +<br>
> +// CHECK: vmovupd %zmm10, (%rcx) {%k7}<br>
> +// CHECK:  encoding: [0x62,0x71,0xfd,0x4f,0x11,0x11]<br>
> +          vmovupd %zmm10, (%rcx) {%k7}<br>
> +<br>
> +// CHECK: vmovupd %zmm10, 291(%rax,%r14,8)<br>
> +// CHECK:  encoding: [0x62,0x31,0xfd,0x48,0x11,0x94,0xf0,0x23,0x01,0x00,0x00]<br>
> +          vmovupd %zmm10, 291(%rax,%r14,8)<br>
> +<br>
> +// CHECK: vmovupd %zmm10, 8128(%rdx)<br>
> +// CHECK:  encoding: [0x62,0x71,0xfd,0x48,0x11,0x52,0x7f]<br>
> +          vmovupd %zmm10, 8128(%rdx)<br>
> +<br>
> +// CHECK: vmovupd %zmm10, 8192(%rdx)<br>
> +// CHECK:  encoding: [0x62,0x71,0xfd,0x48,0x11,0x92,0x00,0x20,0x00,0x00]<br>
> +          vmovupd %zmm10, 8192(%rdx)<br>
> +<br>
> +// CHECK: vmovupd %zmm10, -8192(%rdx)<br>
> +// CHECK:  encoding: [0x62,0x71,0xfd,0x48,0x11,0x52,0x80]<br>
> +          vmovupd %zmm10, -8192(%rdx)<br>
> +<br>
> +// CHECK: vmovupd %zmm10, -8256(%rdx)<br>
> +// CHECK:  encoding: [0x62,0x71,0xfd,0x48,0x11,0x92,0xc0,0xdf,0xff,0xff]<br>
> +          vmovupd %zmm10, -8256(%rdx)<br>
> +<br>
> +// CHECK: vmovups %zmm24, (%rcx)<br>
> +// CHECK:  encoding: [0x62,0x61,0x7c,0x48,0x11,0x01]<br>
> +          vmovups %zmm24, (%rcx)<br>
> +<br>
> +// CHECK: vmovups %zmm24, (%rcx) {%k7}<br>
> +// CHECK:  encoding: [0x62,0x61,0x7c,0x4f,0x11,0x01]<br>
> +          vmovups %zmm24, (%rcx) {%k7}<br>
> +<br>
> +// CHECK: vmovups %zmm24, 291(%rax,%r14,8)<br>
> +// CHECK:  encoding: [0x62,0x21,0x7c,0x48,0x11,0x84,0xf0,0x23,0x01,0x00,0x00]<br>
> +          vmovups %zmm24, 291(%rax,%r14,8)<br>
> +<br>
> +// CHECK: vmovups %zmm24, 8128(%rdx)<br>
> +// CHECK:  encoding: [0x62,0x61,0x7c,0x48,0x11,0x42,0x7f]<br>
> +          vmovups %zmm24, 8128(%rdx)<br>
> +<br>
> +// CHECK: vmovups %zmm24, 8192(%rdx)<br>
> +// CHECK:  encoding: [0x62,0x61,0x7c,0x48,0x11,0x82,0x00,0x20,0x00,0x00]<br>
> +          vmovups %zmm24, 8192(%rdx)<br>
> +<br>
> +// CHECK: vmovups %zmm24, -8192(%rdx)<br>
> +// CHECK:  encoding: [0x62,0x61,0x7c,0x48,0x11,0x42,0x80]<br>
> +          vmovups %zmm24, -8192(%rdx)<br>
> +<br>
> +// CHECK: vmovups %zmm24, -8256(%rdx)<br>
> +// CHECK:  encoding: [0x62,0x61,0x7c,0x48,0x11,0x82,0xc0,0xdf,0xff,0xff]<br>
> +          vmovups %zmm24, -8256(%rdx)<br>
> +<br>
> // CHECK: vpmovqb %zmm2, %xmm3<br>
> // CHECK:  encoding: [0x62,0xf2,0x7e,0x48,0x32,0xd3]<br>
>           vpmovqb %zmm2, %xmm3<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=214719&r1=214718&r2=214719&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MC/X86/x86-64-avx512bw.s?rev=214719&r1=214718&r2=214719&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  4 09:35:15 2014<br>
> @@ -1,5 +1,77 @@<br>
> // RUN: llvm-mc -triple x86_64-unknown-unknown -mcpu=skx  --show-encoding %s | FileCheck %s<br>
><br>
> +// CHECK: vmovdqu8 %zmm19, %zmm29<br>
> +// CHECK:  encoding: [0x62,0x21,0x7f,0x48,0x6f,0xeb]<br>
> +          vmovdqu8 %zmm19, %zmm29<br>
> +<br>
> +// CHECK: vmovdqu8 %zmm19, %zmm29 {%k7}<br>
> +// CHECK:  encoding: [0x62,0x21,0x7f,0x4f,0x6f,0xeb]<br>
> +          vmovdqu8 %zmm19, %zmm29 {%k7}<br>
> +<br>
> +// CHECK: vmovdqu8 %zmm19, %zmm29 {%k7} {z}<br>
> +// CHECK:  encoding: [0x62,0x21,0x7f,0xcf,0x6f,0xeb]<br>
> +          vmovdqu8 %zmm19, %zmm29 {%k7} {z}<br>
> +<br>
> +// CHECK: vmovdqu8 (%rcx), %zmm29<br>
> +// CHECK:  encoding: [0x62,0x61,0x7f,0x48,0x6f,0x29]<br>
> +          vmovdqu8 (%rcx), %zmm29<br>
> +<br>
> +// CHECK: vmovdqu8 291(%rax,%r14,8), %zmm29<br>
> +// CHECK:  encoding: [0x62,0x21,0x7f,0x48,0x6f,0xac,0xf0,0x23,0x01,0x00,0x00]<br>
> +          vmovdqu8 291(%rax,%r14,8), %zmm29<br>
> +<br>
> +// CHECK: vmovdqu8 8128(%rdx), %zmm29<br>
> +// CHECK:  encoding: [0x62,0x61,0x7f,0x48,0x6f,0x6a,0x7f]<br>
> +          vmovdqu8 8128(%rdx), %zmm29<br>
> +<br>
> +// CHECK: vmovdqu8 8192(%rdx), %zmm29<br>
> +// CHECK:  encoding: [0x62,0x61,0x7f,0x48,0x6f,0xaa,0x00,0x20,0x00,0x00]<br>
> +          vmovdqu8 8192(%rdx), %zmm29<br>
> +<br>
> +// CHECK: vmovdqu8 -8192(%rdx), %zmm29<br>
> +// CHECK:  encoding: [0x62,0x61,0x7f,0x48,0x6f,0x6a,0x80]<br>
> +          vmovdqu8 -8192(%rdx), %zmm29<br>
> +<br>
> +// CHECK: vmovdqu8 -8256(%rdx), %zmm29<br>
> +// CHECK:  encoding: [0x62,0x61,0x7f,0x48,0x6f,0xaa,0xc0,0xdf,0xff,0xff]<br>
> +          vmovdqu8 -8256(%rdx), %zmm29<br>
> +<br>
> +// CHECK: vmovdqu16 %zmm18, %zmm17<br>
> +// CHECK:  encoding: [0x62,0xa1,0xff,0x48,0x6f,0xca]<br>
> +          vmovdqu16 %zmm18, %zmm17<br>
> +<br>
> +// CHECK: vmovdqu16 %zmm18, %zmm17 {%k3}<br>
> +// CHECK:  encoding: [0x62,0xa1,0xff,0x4b,0x6f,0xca]<br>
> +          vmovdqu16 %zmm18, %zmm17 {%k3}<br>
> +<br>
> +// CHECK: vmovdqu16 %zmm18, %zmm17 {%k3} {z}<br>
> +// CHECK:  encoding: [0x62,0xa1,0xff,0xcb,0x6f,0xca]<br>
> +          vmovdqu16 %zmm18, %zmm17 {%k3} {z}<br>
> +<br>
> +// CHECK: vmovdqu16 (%rcx), %zmm17<br>
> +// CHECK:  encoding: [0x62,0xe1,0xff,0x48,0x6f,0x09]<br>
> +          vmovdqu16 (%rcx), %zmm17<br>
> +<br>
> +// CHECK: vmovdqu16 291(%rax,%r14,8), %zmm17<br>
> +// CHECK:  encoding: [0x62,0xa1,0xff,0x48,0x6f,0x8c,0xf0,0x23,0x01,0x00,0x00]<br>
> +          vmovdqu16 291(%rax,%r14,8), %zmm17<br>
> +<br>
> +// CHECK: vmovdqu16 8128(%rdx), %zmm17<br>
> +// CHECK:  encoding: [0x62,0xe1,0xff,0x48,0x6f,0x4a,0x7f]<br>
> +          vmovdqu16 8128(%rdx), %zmm17<br>
> +<br>
> +// CHECK: vmovdqu16 8192(%rdx), %zmm17<br>
> +// CHECK:  encoding: [0x62,0xe1,0xff,0x48,0x6f,0x8a,0x00,0x20,0x00,0x00]<br>
> +          vmovdqu16 8192(%rdx), %zmm17<br>
> +<br>
> +// CHECK: vmovdqu16 -8192(%rdx), %zmm17<br>
> +// CHECK:  encoding: [0x62,0xe1,0xff,0x48,0x6f,0x4a,0x80]<br>
> +          vmovdqu16 -8192(%rdx), %zmm17<br>
> +<br>
> +// CHECK: vmovdqu16 -8256(%rdx), %zmm17<br>
> +// CHECK:  encoding: [0x62,0xe1,0xff,0x48,0x6f,0x8a,0xc0,0xdf,0xff,0xff]<br>
> +          vmovdqu16 -8256(%rdx), %zmm17<br>
> +<br>
> // CHECK: kandq  %k7, %k5, %k5<br>
> // CHECK:  encoding: [0xc4,0xe1,0xd4,0x41,0xef]<br>
>           kandq  %k7, %k5, %k5<br>
> @@ -127,3 +199,59 @@<br>
> // CHECK: kmovd  %k5, %r13d<br>
> // CHECK:  encoding: [0xc5,0x7b,0x93,0xed]<br>
>           kmovd  %k5, %r13d<br>
> +<br>
> +// CHECK: vmovdqu8 %zmm18, (%rcx)<br>
> +// CHECK:  encoding: [0x62,0xe1,0x7f,0x48,0x7f,0x11]<br>
> +          vmovdqu8 %zmm18, (%rcx)<br>
> +<br>
> +// CHECK: vmovdqu8 %zmm18, (%rcx) {%k3}<br>
> +// CHECK:  encoding: [0x62,0xe1,0x7f,0x4b,0x7f,0x11]<br>
> +          vmovdqu8 %zmm18, (%rcx) {%k3}<br>
> +<br>
> +// CHECK: vmovdqu8 %zmm18, 291(%rax,%r14,8)<br>
> +// CHECK:  encoding: [0x62,0xa1,0x7f,0x48,0x7f,0x94,0xf0,0x23,0x01,0x00,0x00]<br>
> +          vmovdqu8 %zmm18, 291(%rax,%r14,8)<br>
> +<br>
> +// CHECK: vmovdqu8 %zmm18, 8128(%rdx)<br>
> +// CHECK:  encoding: [0x62,0xe1,0x7f,0x48,0x7f,0x52,0x7f]<br>
> +          vmovdqu8 %zmm18, 8128(%rdx)<br>
> +<br>
> +// CHECK: vmovdqu8 %zmm18, 8192(%rdx)<br>
> +// CHECK:  encoding: [0x62,0xe1,0x7f,0x48,0x7f,0x92,0x00,0x20,0x00,0x00]<br>
> +          vmovdqu8 %zmm18, 8192(%rdx)<br>
> +<br>
> +// CHECK: vmovdqu8 %zmm18, -8192(%rdx)<br>
> +// CHECK:  encoding: [0x62,0xe1,0x7f,0x48,0x7f,0x52,0x80]<br>
> +          vmovdqu8 %zmm18, -8192(%rdx)<br>
> +<br>
> +// CHECK: vmovdqu8 %zmm18, -8256(%rdx)<br>
> +// CHECK:  encoding: [0x62,0xe1,0x7f,0x48,0x7f,0x92,0xc0,0xdf,0xff,0xff]<br>
> +          vmovdqu8 %zmm18, -8256(%rdx)<br>
> +<br>
> +// CHECK: vmovdqu16 %zmm28, (%rcx)<br>
> +// CHECK:  encoding: [0x62,0x61,0xff,0x48,0x7f,0x21]<br>
> +          vmovdqu16 %zmm28, (%rcx)<br>
> +<br>
> +// CHECK: vmovdqu16 %zmm28, (%rcx) {%k6}<br>
> +// CHECK:  encoding: [0x62,0x61,0xff,0x4e,0x7f,0x21]<br>
> +          vmovdqu16 %zmm28, (%rcx) {%k6}<br>
> +<br>
> +// CHECK: vmovdqu16 %zmm28, 291(%rax,%r14,8)<br>
> +// CHECK:  encoding: [0x62,0x21,0xff,0x48,0x7f,0xa4,0xf0,0x23,0x01,0x00,0x00]<br>
> +          vmovdqu16 %zmm28, 291(%rax,%r14,8)<br>
> +<br>
> +// CHECK: vmovdqu16 %zmm28, 8128(%rdx)<br>
> +// CHECK:  encoding: [0x62,0x61,0xff,0x48,0x7f,0x62,0x7f]<br>
> +          vmovdqu16 %zmm28, 8128(%rdx)<br>
> +<br>
> +// CHECK: vmovdqu16 %zmm28, 8192(%rdx)<br>
> +// CHECK:  encoding: [0x62,0x61,0xff,0x48,0x7f,0xa2,0x00,0x20,0x00,0x00]<br>
> +          vmovdqu16 %zmm28, 8192(%rdx)<br>
> +<br>
> +// CHECK: vmovdqu16 %zmm28, -8192(%rdx)<br>
> +// CHECK:  encoding: [0x62,0x61,0xff,0x48,0x7f,0x62,0x80]<br>
> +          vmovdqu16 %zmm28, -8192(%rdx)<br>
> +<br>
> +// CHECK: vmovdqu16 %zmm28, -8256(%rdx)<br>
> +// CHECK:  encoding: [0x62,0x61,0xff,0x48,0x7f,0xa2,0xc0,0xdf,0xff,0xff]<br>
> +          vmovdqu16 %zmm28, -8256(%rdx)<br>
><br>
> Added: 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=214719&view=auto" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MC/X86/x86-64-avx512bw_vl.s?rev=214719&view=auto</a><br>

> ==============================================================================<br>
> --- llvm/trunk/test/MC/X86/x86-64-avx512bw_vl.s (added)<br>
> +++ llvm/trunk/test/MC/X86/x86-64-avx512bw_vl.s Mon Aug  4 09:35:15 2014<br>
> @@ -0,0 +1,257 @@<br>
> +// RUN: llvm-mc -triple x86_64-unknown-unknown -mcpu=skx  --show-encoding %s | FileCheck %s<br>
> +<br>
> +// CHECK: vmovdqu8 %xmm23, %xmm26<br>
> +// CHECK:  encoding: [0x62,0x21,0x7f,0x08,0x6f,0xd7]<br>
> +          vmovdqu8 %xmm23, %xmm26<br>
> +<br>
> +// CHECK: vmovdqu8 %xmm23, %xmm26 {%k2}<br>
> +// CHECK:  encoding: [0x62,0x21,0x7f,0x0a,0x6f,0xd7]<br>
> +          vmovdqu8 %xmm23, %xmm26 {%k2}<br>
> +<br>
> +// CHECK: vmovdqu8 %xmm23, %xmm26 {%k2} {z}<br>
> +// CHECK:  encoding: [0x62,0x21,0x7f,0x8a,0x6f,0xd7]<br>
> +          vmovdqu8 %xmm23, %xmm26 {%k2} {z}<br>
> +<br>
> +// CHECK: vmovdqu8 (%rcx), %xmm26<br>
> +// CHECK:  encoding: [0x62,0x61,0x7f,0x08,0x6f,0x11]<br>
> +          vmovdqu8 (%rcx), %xmm26<br>
> +<br>
> +// CHECK: vmovdqu8 291(%rax,%r14,8), %xmm26<br>
> +// CHECK:  encoding: [0x62,0x21,0x7f,0x08,0x6f,0x94,0xf0,0x23,0x01,0x00,0x00]<br>
> +          vmovdqu8 291(%rax,%r14,8), %xmm26<br>
> +<br>
> +// CHECK: vmovdqu8 2032(%rdx), %xmm26<br>
> +// CHECK:  encoding: [0x62,0x61,0x7f,0x08,0x6f,0x52,0x7f]<br>
> +          vmovdqu8 2032(%rdx), %xmm26<br>
> +<br>
> +// CHECK: vmovdqu8 2048(%rdx), %xmm26<br>
> +// CHECK:  encoding: [0x62,0x61,0x7f,0x08,0x6f,0x92,0x00,0x08,0x00,0x00]<br>
> +          vmovdqu8 2048(%rdx), %xmm26<br>
> +<br>
> +// CHECK: vmovdqu8 -2048(%rdx), %xmm26<br>
> +// CHECK:  encoding: [0x62,0x61,0x7f,0x08,0x6f,0x52,0x80]<br>
> +          vmovdqu8 -2048(%rdx), %xmm26<br>
> +<br>
> +// CHECK: vmovdqu8 -2064(%rdx), %xmm26<br>
> +// CHECK:  encoding: [0x62,0x61,0x7f,0x08,0x6f,0x92,0xf0,0xf7,0xff,0xff]<br>
> +          vmovdqu8 -2064(%rdx), %xmm26<br>
> +<br>
> +// CHECK: vmovdqu8 %ymm29, %ymm18<br>
> +// CHECK:  encoding: [0x62,0x81,0x7f,0x28,0x6f,0xd5]<br>
> +          vmovdqu8 %ymm29, %ymm18<br>
> +<br>
> +// CHECK: vmovdqu8 %ymm29, %ymm18 {%k7}<br>
> +// CHECK:  encoding: [0x62,0x81,0x7f,0x2f,0x6f,0xd5]<br>
> +          vmovdqu8 %ymm29, %ymm18 {%k7}<br>
> +<br>
> +// CHECK: vmovdqu8 %ymm29, %ymm18 {%k7} {z}<br>
> +// CHECK:  encoding: [0x62,0x81,0x7f,0xaf,0x6f,0xd5]<br>
> +          vmovdqu8 %ymm29, %ymm18 {%k7} {z}<br>
> +<br>
> +// CHECK: vmovdqu8 (%rcx), %ymm18<br>
> +// CHECK:  encoding: [0x62,0xe1,0x7f,0x28,0x6f,0x11]<br>
> +          vmovdqu8 (%rcx), %ymm18<br>
> +<br>
> +// CHECK: vmovdqu8 291(%rax,%r14,8), %ymm18<br>
> +// CHECK:  encoding: [0x62,0xa1,0x7f,0x28,0x6f,0x94,0xf0,0x23,0x01,0x00,0x00]<br>
> +          vmovdqu8 291(%rax,%r14,8), %ymm18<br>
> +<br>
> +// CHECK: vmovdqu8 4064(%rdx), %ymm18<br>
> +// CHECK:  encoding: [0x62,0xe1,0x7f,0x28,0x6f,0x52,0x7f]<br>
> +          vmovdqu8 4064(%rdx), %ymm18<br>
> +<br>
> +// CHECK: vmovdqu8 4096(%rdx), %ymm18<br>
> +// CHECK:  encoding: [0x62,0xe1,0x7f,0x28,0x6f,0x92,0x00,0x10,0x00,0x00]<br>
> +          vmovdqu8 4096(%rdx), %ymm18<br>
> +<br>
> +// CHECK: vmovdqu8 -4096(%rdx), %ymm18<br>
> +// CHECK:  encoding: [0x62,0xe1,0x7f,0x28,0x6f,0x52,0x80]<br>
> +          vmovdqu8 -4096(%rdx), %ymm18<br>
> +<br>
> +// CHECK: vmovdqu8 -4128(%rdx), %ymm18<br>
> +// CHECK:  encoding: [0x62,0xe1,0x7f,0x28,0x6f,0x92,0xe0,0xef,0xff,0xff]<br>
> +          vmovdqu8 -4128(%rdx), %ymm18<br>
> +<br>
> +// CHECK: vmovdqu16 %xmm24, %xmm29<br>
> +// CHECK:  encoding: [0x62,0x01,0xff,0x08,0x6f,0xe8]<br>
> +          vmovdqu16 %xmm24, %xmm29<br>
> +<br>
> +// CHECK: vmovdqu16 %xmm24, %xmm29 {%k6}<br>
> +// CHECK:  encoding: [0x62,0x01,0xff,0x0e,0x6f,0xe8]<br>
> +          vmovdqu16 %xmm24, %xmm29 {%k6}<br>
> +<br>
> +// CHECK: vmovdqu16 %xmm24, %xmm29 {%k6} {z}<br>
> +// CHECK:  encoding: [0x62,0x01,0xff,0x8e,0x6f,0xe8]<br>
> +          vmovdqu16 %xmm24, %xmm29 {%k6} {z}<br>
> +<br>
> +// CHECK: vmovdqu16 (%rcx), %xmm29<br>
> +// CHECK:  encoding: [0x62,0x61,0xff,0x08,0x6f,0x29]<br>
> +          vmovdqu16 (%rcx), %xmm29<br>
> +<br>
> +// CHECK: vmovdqu16 291(%rax,%r14,8), %xmm29<br>
> +// CHECK:  encoding: [0x62,0x21,0xff,0x08,0x6f,0xac,0xf0,0x23,0x01,0x00,0x00]<br>
> +          vmovdqu16 291(%rax,%r14,8), %xmm29<br>
> +<br>
> +// CHECK: vmovdqu16 2032(%rdx), %xmm29<br>
> +// CHECK:  encoding: [0x62,0x61,0xff,0x08,0x6f,0x6a,0x7f]<br>
> +          vmovdqu16 2032(%rdx), %xmm29<br>
> +<br>
> +// CHECK: vmovdqu16 2048(%rdx), %xmm29<br>
> +// CHECK:  encoding: [0x62,0x61,0xff,0x08,0x6f,0xaa,0x00,0x08,0x00,0x00]<br>
> +          vmovdqu16 2048(%rdx), %xmm29<br>
> +<br>
> +// CHECK: vmovdqu16 -2048(%rdx), %xmm29<br>
> +// CHECK:  encoding: [0x62,0x61,0xff,0x08,0x6f,0x6a,0x80]<br>
> +          vmovdqu16 -2048(%rdx), %xmm29<br>
> +<br>
> +// CHECK: vmovdqu16 -2064(%rdx), %xmm29<br>
> +// CHECK:  encoding: [0x62,0x61,0xff,0x08,0x6f,0xaa,0xf0,0xf7,0xff,0xff]<br>
> +          vmovdqu16 -2064(%rdx), %xmm29<br>
> +<br>
> +// CHECK: vmovdqu16 %ymm24, %ymm23<br>
> +// CHECK:  encoding: [0x62,0x81,0xff,0x28,0x6f,0xf8]<br>
> +          vmovdqu16 %ymm24, %ymm23<br>
> +<br>
> +// CHECK: vmovdqu16 %ymm24, %ymm23 {%k3}<br>
> +// CHECK:  encoding: [0x62,0x81,0xff,0x2b,0x6f,0xf8]<br>
> +          vmovdqu16 %ymm24, %ymm23 {%k3}<br>
> +<br>
> +// CHECK: vmovdqu16 %ymm24, %ymm23 {%k3} {z}<br>
> +// CHECK:  encoding: [0x62,0x81,0xff,0xab,0x6f,0xf8]<br>
> +          vmovdqu16 %ymm24, %ymm23 {%k3} {z}<br>
> +<br>
> +// CHECK: vmovdqu16 (%rcx), %ymm23<br>
> +// CHECK:  encoding: [0x62,0xe1,0xff,0x28,0x6f,0x39]<br>
> +          vmovdqu16 (%rcx), %ymm23<br>
> +<br>
> +// CHECK: vmovdqu16 291(%rax,%r14,8), %ymm23<br>
> +// CHECK:  encoding: [0x62,0xa1,0xff,0x28,0x6f,0xbc,0xf0,0x23,0x01,0x00,0x00]<br>
> +          vmovdqu16 291(%rax,%r14,8), %ymm23<br>
> +<br>
> +// CHECK: vmovdqu16 4064(%rdx), %ymm23<br>
> +// CHECK:  encoding: [0x62,0xe1,0xff,0x28,0x6f,0x7a,0x7f]<br>
> +          vmovdqu16 4064(%rdx), %ymm23<br>
> +<br>
> +// CHECK: vmovdqu16 4096(%rdx), %ymm23<br>
> +// CHECK:  encoding: [0x62,0xe1,0xff,0x28,0x6f,0xba,0x00,0x10,0x00,0x00]<br>
> +          vmovdqu16 4096(%rdx), %ymm23<br>
> +<br>
> +// CHECK: vmovdqu16 -4096(%rdx), %ymm23<br>
> +// CHECK:  encoding: [0x62,0xe1,0xff,0x28,0x6f,0x7a,0x80]<br>
> +          vmovdqu16 -4096(%rdx), %ymm23<br>
> +<br>
> +// CHECK: vmovdqu16 -4128(%rdx), %ymm23<br>
> +// CHECK:  encoding: [0x62,0xe1,0xff,0x28,0x6f,0xba,0xe0,0xef,0xff,0xff]<br>
> +          vmovdqu16 -4128(%rdx), %ymm23<br>
> +<br>
> +// CHECK: vmovdqu8 %xmm17, (%rcx)<br>
> +// CHECK:  encoding: [0x62,0xe1,0x7f,0x08,0x7f,0x09]<br>
> +          vmovdqu8 %xmm17, (%rcx)<br>
> +<br>
> +// CHECK: vmovdqu8 %xmm17, (%rcx) {%k4}<br>
> +// CHECK:  encoding: [0x62,0xe1,0x7f,0x0c,0x7f,0x09]<br>
> +          vmovdqu8 %xmm17, (%rcx) {%k4}<br>
> +<br>
> +// CHECK: vmovdqu8 %xmm17, 291(%rax,%r14,8)<br>
> +// CHECK:  encoding: [0x62,0xa1,0x7f,0x08,0x7f,0x8c,0xf0,0x23,0x01,0x00,0x00]<br>
> +          vmovdqu8 %xmm17, 291(%rax,%r14,8)<br>
> +<br>
> +// CHECK: vmovdqu8 %xmm17, 2032(%rdx)<br>
> +// CHECK:  encoding: [0x62,0xe1,0x7f,0x08,0x7f,0x4a,0x7f]<br>
> +          vmovdqu8 %xmm17, 2032(%rdx)<br>
> +<br>
> +// CHECK: vmovdqu8 %xmm17, 2048(%rdx)<br>
> +// CHECK:  encoding: [0x62,0xe1,0x7f,0x08,0x7f,0x8a,0x00,0x08,0x00,0x00]<br>
> +          vmovdqu8 %xmm17, 2048(%rdx)<br>
> +<br>
> +// CHECK: vmovdqu8 %xmm17, -2048(%rdx)<br>
> +// CHECK:  encoding: [0x62,0xe1,0x7f,0x08,0x7f,0x4a,0x80]<br>
> +          vmovdqu8 %xmm17, -2048(%rdx)<br>
> +<br>
> +// CHECK: vmovdqu8 %xmm17, -2064(%rdx)<br>
> +// CHECK:  encoding: [0x62,0xe1,0x7f,0x08,0x7f,0x8a,0xf0,0xf7,0xff,0xff]<br>
> +          vmovdqu8 %xmm17, -2064(%rdx)<br>
> +<br>
> +// CHECK: vmovdqu8 %ymm21, (%rcx)<br>
> +// CHECK:  encoding: [0x62,0xe1,0x7f,0x28,0x7f,0x29]<br>
> +          vmovdqu8 %ymm21, (%rcx)<br>
> +<br>
> +// CHECK: vmovdqu8 %ymm21, (%rcx) {%k1}<br>
> +// CHECK:  encoding: [0x62,0xe1,0x7f,0x29,0x7f,0x29]<br>
> +          vmovdqu8 %ymm21, (%rcx) {%k1}<br>
> +<br>
> +// CHECK: vmovdqu8 %ymm21, 291(%rax,%r14,8)<br>
> +// CHECK:  encoding: [0x62,0xa1,0x7f,0x28,0x7f,0xac,0xf0,0x23,0x01,0x00,0x00]<br>
> +          vmovdqu8 %ymm21, 291(%rax,%r14,8)<br>
> +<br>
> +// CHECK: vmovdqu8 %ymm21, 4064(%rdx)<br>
> +// CHECK:  encoding: [0x62,0xe1,0x7f,0x28,0x7f,0x6a,0x7f]<br>
> +          vmovdqu8 %ymm21, 4064(%rdx)<br>
> +<br>
> +// CHECK: vmovdqu8 %ymm21, 4096(%rdx)<br>
> +// CHECK:  encoding: [0x62,0xe1,0x7f,0x28,0x7f,0xaa,0x00,0x10,0x00,0x00]<br>
> +          vmovdqu8 %ymm21, 4096(%rdx)<br>
> +<br>
> +// CHECK: vmovdqu8 %ymm21, -4096(%rdx)<br>
> +// CHECK:  encoding: [0x62,0xe1,0x7f,0x28,0x7f,0x6a,0x80]<br>
> +          vmovdqu8 %ymm21, -4096(%rdx)<br>
> +<br>
> +// CHECK: vmovdqu8 %ymm21, -4128(%rdx)<br>
> +// CHECK:  encoding: [0x62,0xe1,0x7f,0x28,0x7f,0xaa,0xe0,0xef,0xff,0xff]<br>
> +          vmovdqu8 %ymm21, -4128(%rdx)<br>
> +<br>
> +// CHECK: vmovdqu16 %xmm23, (%rcx)<br>
> +// CHECK:  encoding: [0x62,0xe1,0xff,0x08,0x7f,0x39]<br>
> +          vmovdqu16 %xmm23, (%rcx)<br>
> +<br>
> +// CHECK: vmovdqu16 %xmm23, (%rcx) {%k7}<br>
> +// CHECK:  encoding: [0x62,0xe1,0xff,0x0f,0x7f,0x39]<br>
> +          vmovdqu16 %xmm23, (%rcx) {%k7}<br>
> +<br>
> +// CHECK: vmovdqu16 %xmm23, 291(%rax,%r14,8)<br>
> +// CHECK:  encoding: [0x62,0xa1,0xff,0x08,0x7f,0xbc,0xf0,0x23,0x01,0x00,0x00]<br>
> +          vmovdqu16 %xmm23, 291(%rax,%r14,8)<br>
> +<br>
> +// CHECK: vmovdqu16 %xmm23, 2032(%rdx)<br>
> +// CHECK:  encoding: [0x62,0xe1,0xff,0x08,0x7f,0x7a,0x7f]<br>
> +          vmovdqu16 %xmm23, 2032(%rdx)<br>
> +<br>
> +// CHECK: vmovdqu16 %xmm23, 2048(%rdx)<br>
> +// CHECK:  encoding: [0x62,0xe1,0xff,0x08,0x7f,0xba,0x00,0x08,0x00,0x00]<br>
> +          vmovdqu16 %xmm23, 2048(%rdx)<br>
> +<br>
> +// CHECK: vmovdqu16 %xmm23, -2048(%rdx)<br>
> +// CHECK:  encoding: [0x62,0xe1,0xff,0x08,0x7f,0x7a,0x80]<br>
> +          vmovdqu16 %xmm23, -2048(%rdx)<br>
> +<br>
> +// CHECK: vmovdqu16 %xmm23, -2064(%rdx)<br>
> +// CHECK:  encoding: [0x62,0xe1,0xff,0x08,0x7f,0xba,0xf0,0xf7,0xff,0xff]<br>
> +          vmovdqu16 %xmm23, -2064(%rdx)<br>
> +<br>
> +// CHECK: vmovdqu16 %ymm29, (%rcx)<br>
> +// CHECK:  encoding: [0x62,0x61,0xff,0x28,0x7f,0x29]<br>
> +          vmovdqu16 %ymm29, (%rcx)<br>
> +<br>
> +// CHECK: vmovdqu16 %ymm29, (%rcx) {%k6}<br>
> +// CHECK:  encoding: [0x62,0x61,0xff,0x2e,0x7f,0x29]<br>
> +          vmovdqu16 %ymm29, (%rcx) {%k6}<br>
> +<br>
> +// CHECK: vmovdqu16 %ymm29, 291(%rax,%r14,8)<br>
> +// CHECK:  encoding: [0x62,0x21,0xff,0x28,0x7f,0xac,0xf0,0x23,0x01,0x00,0x00]<br>
> +          vmovdqu16 %ymm29, 291(%rax,%r14,8)<br>
> +<br>
> +// CHECK: vmovdqu16 %ymm29, 4064(%rdx)<br>
> +// CHECK:  encoding: [0x62,0x61,0xff,0x28,0x7f,0x6a,0x7f]<br>
> +          vmovdqu16 %ymm29, 4064(%rdx)<br>
> +<br>
> +// CHECK: vmovdqu16 %ymm29, 4096(%rdx)<br>
> +// CHECK:  encoding: [0x62,0x61,0xff,0x28,0x7f,0xaa,0x00,0x10,0x00,0x00]<br>
> +          vmovdqu16 %ymm29, 4096(%rdx)<br>
> +<br>
> +// CHECK: vmovdqu16 %ymm29, -4096(%rdx)<br>
> +// CHECK:  encoding: [0x62,0x61,0xff,0x28,0x7f,0x6a,0x80]<br>
> +          vmovdqu16 %ymm29, -4096(%rdx)<br>
> +<br>
> +// CHECK: vmovdqu16 %ymm29, -4128(%rdx)<br>
> +// CHECK:  encoding: [0x62,0x61,0xff,0x28,0x7f,0xaa,0xe0,0xef,0xff,0xff]<br>
> +          vmovdqu16 %ymm29, -4128(%rdx)<br>
><br>
> Added: 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=214719&view=auto" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MC/X86/x86-64-avx512f_vl.s?rev=214719&view=auto</a><br>

> ==============================================================================<br>
> --- llvm/trunk/test/MC/X86/x86-64-avx512f_vl.s (added)<br>
> +++ llvm/trunk/test/MC/X86/x86-64-avx512f_vl.s Mon Aug  4 09:35:15 2014<br>
> @@ -0,0 +1,1025 @@<br>
> +// RUN: llvm-mc -triple x86_64-unknown-unknown -mcpu=skx --show-encoding %s | FileCheck %s<br>
> +<br>
> +// CHECK: vmovapd %xmm21, %xmm21<br>
> +// CHECK:  encoding: [0x62,0xa1,0xfd,0x08,0x28,0xed]<br>
> +          vmovapd %xmm21, %xmm21<br>
> +<br>
> +// CHECK: vmovapd %xmm21, %xmm21 {%k3}<br>
> +// CHECK:  encoding: [0x62,0xa1,0xfd,0x0b,0x28,0xed]<br>
> +          vmovapd %xmm21, %xmm21 {%k3}<br>
> +<br>
> +// CHECK: vmovapd %xmm21, %xmm21 {%k3} {z}<br>
> +// CHECK:  encoding: [0x62,0xa1,0xfd,0x8b,0x28,0xed]<br>
> +          vmovapd %xmm21, %xmm21 {%k3} {z}<br>
> +<br>
> +// CHECK: vmovapd (%rcx), %xmm21<br>
> +// CHECK:  encoding: [0x62,0xe1,0xfd,0x08,0x28,0x29]<br>
> +          vmovapd (%rcx), %xmm21<br>
> +<br>
> +// CHECK: vmovapd 291(%rax,%r14,8), %xmm21<br>
> +// CHECK:  encoding: [0x62,0xa1,0xfd,0x08,0x28,0xac,0xf0,0x23,0x01,0x00,0x00]<br>
> +          vmovapd 291(%rax,%r14,8), %xmm21<br>
> +<br>
> +// CHECK: vmovapd 2032(%rdx), %xmm21<br>
> +// CHECK:  encoding: [0x62,0xe1,0xfd,0x08,0x28,0x6a,0x7f]<br>
> +          vmovapd 2032(%rdx), %xmm21<br>
> +<br>
> +// CHECK: vmovapd 2048(%rdx), %xmm21<br>
> +// CHECK:  encoding: [0x62,0xe1,0xfd,0x08,0x28,0xaa,0x00,0x08,0x00,0x00]<br>
> +          vmovapd 2048(%rdx), %xmm21<br>
> +<br>
> +// CHECK: vmovapd -2048(%rdx), %xmm21<br>
> +// CHECK:  encoding: [0x62,0xe1,0xfd,0x08,0x28,0x6a,0x80]<br>
> +          vmovapd -2048(%rdx), %xmm21<br>
> +<br>
> +// CHECK: vmovapd -2064(%rdx), %xmm21<br>
> +// CHECK:  encoding: [0x62,0xe1,0xfd,0x08,0x28,0xaa,0xf0,0xf7,0xff,0xff]<br>
> +          vmovapd -2064(%rdx), %xmm21<br>
> +<br>
> +// CHECK: vmovapd %ymm17, %ymm18<br>
> +// CHECK:  encoding: [0x62,0xa1,0xfd,0x28,0x28,0xd1]<br>
> +          vmovapd %ymm17, %ymm18<br>
> +<br>
> +// CHECK: vmovapd %ymm17, %ymm18 {%k2}<br>
> +// CHECK:  encoding: [0x62,0xa1,0xfd,0x2a,0x28,0xd1]<br>
> +          vmovapd %ymm17, %ymm18 {%k2}<br>
> +<br>
> +// CHECK: vmovapd %ymm17, %ymm18 {%k2} {z}<br>
> +// CHECK:  encoding: [0x62,0xa1,0xfd,0xaa,0x28,0xd1]<br>
> +          vmovapd %ymm17, %ymm18 {%k2} {z}<br>
> +<br>
> +// CHECK: vmovapd (%rcx), %ymm18<br>
> +// CHECK:  encoding: [0x62,0xe1,0xfd,0x28,0x28,0x11]<br>
> +          vmovapd (%rcx), %ymm18<br>
> +<br>
> +// CHECK: vmovapd 291(%rax,%r14,8), %ymm18<br>
> +// CHECK:  encoding: [0x62,0xa1,0xfd,0x28,0x28,0x94,0xf0,0x23,0x01,0x00,0x00]<br>
> +          vmovapd 291(%rax,%r14,8), %ymm18<br>
> +<br>
> +// CHECK: vmovapd 4064(%rdx), %ymm18<br>
> +// CHECK:  encoding: [0x62,0xe1,0xfd,0x28,0x28,0x52,0x7f]<br>
> +          vmovapd 4064(%rdx), %ymm18<br>
> +<br>
> +// CHECK: vmovapd 4096(%rdx), %ymm18<br>
> +// CHECK:  encoding: [0x62,0xe1,0xfd,0x28,0x28,0x92,0x00,0x10,0x00,0x00]<br>
> +          vmovapd 4096(%rdx), %ymm18<br>
> +<br>
> +// CHECK: vmovapd -4096(%rdx), %ymm18<br>
> +// CHECK:  encoding: [0x62,0xe1,0xfd,0x28,0x28,0x52,0x80]<br>
> +          vmovapd -4096(%rdx), %ymm18<br>
> +<br>
> +// CHECK: vmovapd -4128(%rdx), %ymm18<br>
> +// CHECK:  encoding: [0x62,0xe1,0xfd,0x28,0x28,0x92,0xe0,0xef,0xff,0xff]<br>
> +          vmovapd -4128(%rdx), %ymm18<br>
> +<br>
> +// CHECK: vmovaps %xmm29, %xmm22<br>
> +// CHECK:  encoding: [0x62,0x81,0x7c,0x08,0x28,0xf5]<br>
> +          vmovaps %xmm29, %xmm22<br>
> +<br>
> +// CHECK: vmovaps %xmm29, %xmm22 {%k1}<br>
> +// CHECK:  encoding: [0x62,0x81,0x7c,0x09,0x28,0xf5]<br>
> +          vmovaps %xmm29, %xmm22 {%k1}<br>
> +<br>
> +// CHECK: vmovaps %xmm29, %xmm22 {%k1} {z}<br>
> +// CHECK:  encoding: [0x62,0x81,0x7c,0x89,0x28,0xf5]<br>
> +          vmovaps %xmm29, %xmm22 {%k1} {z}<br>
> +<br>
> +// CHECK: vmovaps (%rcx), %xmm22<br>
> +// CHECK:  encoding: [0x62,0xe1,0x7c,0x08,0x28,0x31]<br>
> +          vmovaps (%rcx), %xmm22<br>
> +<br>
> +// CHECK: vmovaps 291(%rax,%r14,8), %xmm22<br>
> +// CHECK:  encoding: [0x62,0xa1,0x7c,0x08,0x28,0xb4,0xf0,0x23,0x01,0x00,0x00]<br>
> +          vmovaps 291(%rax,%r14,8), %xmm22<br>
> +<br>
> +// CHECK: vmovaps 2032(%rdx), %xmm22<br>
> +// CHECK:  encoding: [0x62,0xe1,0x7c,0x08,0x28,0x72,0x7f]<br>
> +          vmovaps 2032(%rdx), %xmm22<br>
> +<br>
> +// CHECK: vmovaps 2048(%rdx), %xmm22<br>
> +// CHECK:  encoding: [0x62,0xe1,0x7c,0x08,0x28,0xb2,0x00,0x08,0x00,0x00]<br>
> +          vmovaps 2048(%rdx), %xmm22<br>
> +<br>
> +// CHECK: vmovaps -2048(%rdx), %xmm22<br>
> +// CHECK:  encoding: [0x62,0xe1,0x7c,0x08,0x28,0x72,0x80]<br>
> +          vmovaps -2048(%rdx), %xmm22<br>
> +<br>
> +// CHECK: vmovaps -2064(%rdx), %xmm22<br>
> +// CHECK:  encoding: [0x62,0xe1,0x7c,0x08,0x28,0xb2,0xf0,0xf7,0xff,0xff]<br>
> +          vmovaps -2064(%rdx), %xmm22<br>
> +<br>
> +// CHECK: vmovaps %ymm28, %ymm25<br>
> +// CHECK:  encoding: [0x62,0x01,0x7c,0x28,0x28,0xcc]<br>
> +          vmovaps %ymm28, %ymm25<br>
> +<br>
> +// CHECK: vmovaps %ymm28, %ymm25 {%k3}<br>
> +// CHECK:  encoding: [0x62,0x01,0x7c,0x2b,0x28,0xcc]<br>
> +          vmovaps %ymm28, %ymm25 {%k3}<br>
> +<br>
> +// CHECK: vmovaps %ymm28, %ymm25 {%k3} {z}<br>
> +// CHECK:  encoding: [0x62,0x01,0x7c,0xab,0x28,0xcc]<br>
> +          vmovaps %ymm28, %ymm25 {%k3} {z}<br>
> +<br>
> +// CHECK: vmovaps (%rcx), %ymm25<br>
> +// CHECK:  encoding: [0x62,0x61,0x7c,0x28,0x28,0x09]<br>
> +          vmovaps (%rcx), %ymm25<br>
> +<br>
> +// CHECK: vmovaps 291(%rax,%r14,8), %ymm25<br>
> +// CHECK:  encoding: [0x62,0x21,0x7c,0x28,0x28,0x8c,0xf0,0x23,0x01,0x00,0x00]<br>
> +          vmovaps 291(%rax,%r14,8), %ymm25<br>
> +<br>
> +// CHECK: vmovaps 4064(%rdx), %ymm25<br>
> +// CHECK:  encoding: [0x62,0x61,0x7c,0x28,0x28,0x4a,0x7f]<br>
> +          vmovaps 4064(%rdx), %ymm25<br>
> +<br>
> +// CHECK: vmovaps 4096(%rdx), %ymm25<br>
> +// CHECK:  encoding: [0x62,0x61,0x7c,0x28,0x28,0x8a,0x00,0x10,0x00,0x00]<br>
> +          vmovaps 4096(%rdx), %ymm25<br>
> +<br>
> +// CHECK: vmovaps -4096(%rdx), %ymm25<br>
> +// CHECK:  encoding: [0x62,0x61,0x7c,0x28,0x28,0x4a,0x80]<br>
> +          vmovaps -4096(%rdx), %ymm25<br>
> +<br>
> +// CHECK: vmovaps -4128(%rdx), %ymm25<br>
> +// CHECK:  encoding: [0x62,0x61,0x7c,0x28,0x28,0x8a,0xe0,0xef,0xff,0xff]<br>
> +          vmovaps -4128(%rdx), %ymm25<br>
> +<br>
> +// CHECK: vmovdqa32 %xmm24, %xmm21<br>
> +// CHECK:  encoding: [0x62,0x81,0x7d,0x08,0x6f,0xe8]<br>
> +          vmovdqa32 %xmm24, %xmm21<br>
> +<br>
> +// CHECK: vmovdqa32 %xmm24, %xmm21 {%k6}<br>
> +// CHECK:  encoding: [0x62,0x81,0x7d,0x0e,0x6f,0xe8]<br>
> +          vmovdqa32 %xmm24, %xmm21 {%k6}<br>
> +<br>
> +// CHECK: vmovdqa32 %xmm24, %xmm21 {%k6} {z}<br>
> +// CHECK:  encoding: [0x62,0x81,0x7d,0x8e,0x6f,0xe8]<br>
> +          vmovdqa32 %xmm24, %xmm21 {%k6} {z}<br>
> +<br>
> +// CHECK: vmovdqa32 (%rcx), %xmm21<br>
> +// CHECK:  encoding: [0x62,0xe1,0x7d,0x08,0x6f,0x29]<br>
> +          vmovdqa32 (%rcx), %xmm21<br>
> +<br>
> +// CHECK: vmovdqa32 291(%rax,%r14,8), %xmm21<br>
> +// CHECK:  encoding: [0x62,0xa1,0x7d,0x08,0x6f,0xac,0xf0,0x23,0x01,0x00,0x00]<br>
> +          vmovdqa32 291(%rax,%r14,8), %xmm21<br>
> +<br>
> +// CHECK: vmovdqa32 2032(%rdx), %xmm21<br>
> +// CHECK:  encoding: [0x62,0xe1,0x7d,0x08,0x6f,0x6a,0x7f]<br>
> +          vmovdqa32 2032(%rdx), %xmm21<br>
> +<br>
> +// CHECK: vmovdqa32 2048(%rdx), %xmm21<br>
> +// CHECK:  encoding: [0x62,0xe1,0x7d,0x08,0x6f,0xaa,0x00,0x08,0x00,0x00]<br>
> +          vmovdqa32 2048(%rdx), %xmm21<br>
> +<br>
> +// CHECK: vmovdqa32 -2048(%rdx), %xmm21<br>
> +// CHECK:  encoding: [0x62,0xe1,0x7d,0x08,0x6f,0x6a,0x80]<br>
> +          vmovdqa32 -2048(%rdx), %xmm21<br>
> +<br>
> +// CHECK: vmovdqa32 -2064(%rdx), %xmm21<br>
> +// CHECK:  encoding: [0x62,0xe1,0x7d,0x08,0x6f,0xaa,0xf0,0xf7,0xff,0xff]<br>
> +          vmovdqa32 -2064(%rdx), %xmm21<br>
> +<br>
> +// CHECK: vmovdqa32 %ymm28, %ymm24<br>
> +// CHECK:  encoding: [0x62,0x01,0x7d,0x28,0x6f,0xc4]<br>
> +          vmovdqa32 %ymm28, %ymm24<br>
> +<br>
> +// CHECK: vmovdqa32 %ymm28, %ymm24 {%k5}<br>
> +// CHECK:  encoding: [0x62,0x01,0x7d,0x2d,0x6f,0xc4]<br>
> +          vmovdqa32 %ymm28, %ymm24 {%k5}<br>
> +<br>
> +// CHECK: vmovdqa32 %ymm28, %ymm24 {%k5} {z}<br>
> +// CHECK:  encoding: [0x62,0x01,0x7d,0xad,0x6f,0xc4]<br>
> +          vmovdqa32 %ymm28, %ymm24 {%k5} {z}<br>
> +<br>
> +// CHECK: vmovdqa32 (%rcx), %ymm24<br>
> +// CHECK:  encoding: [0x62,0x61,0x7d,0x28,0x6f,0x01]<br>
> +          vmovdqa32 (%rcx), %ymm24<br>
> +<br>
> +// CHECK: vmovdqa32 291(%rax,%r14,8), %ymm24<br>
> +// CHECK:  encoding: [0x62,0x21,0x7d,0x28,0x6f,0x84,0xf0,0x23,0x01,0x00,0x00]<br>
> +          vmovdqa32 291(%rax,%r14,8), %ymm24<br>
> +<br>
> +// CHECK: vmovdqa32 4064(%rdx), %ymm24<br>
> +// CHECK:  encoding: [0x62,0x61,0x7d,0x28,0x6f,0x42,0x7f]<br>
> +          vmovdqa32 4064(%rdx), %ymm24<br>
> +<br>
> +// CHECK: vmovdqa32 4096(%rdx), %ymm24<br>
> +// CHECK:  encoding: [0x62,0x61,0x7d,0x28,0x6f,0x82,0x00,0x10,0x00,0x00]<br>
> +          vmovdqa32 4096(%rdx), %ymm24<br>
> +<br>
> +// CHECK: vmovdqa32 -4096(%rdx), %ymm24<br>
> +// CHECK:  encoding: [0x62,0x61,0x7d,0x28,0x6f,0x42,0x80]<br>
> +          vmovdqa32 -4096(%rdx), %ymm24<br>
> +<br>
> +// CHECK: vmovdqa32 -4128(%rdx), %ymm24<br>
> +// CHECK:  encoding: [0x62,0x61,0x7d,0x28,0x6f,0x82,0xe0,0xef,0xff,0xff]<br>
> +          vmovdqa32 -4128(%rdx), %ymm24<br>
> +<br>
> +// CHECK: vmovdqa64 %xmm24, %xmm27<br>
> +// CHECK:  encoding: [0x62,0x01,0xfd,0x08,0x6f,0xd8]<br>
> +          vmovdqa64 %xmm24, %xmm27<br>
> +<br>
> +// CHECK: vmovdqa64 %xmm24, %xmm27 {%k5}<br>
> +// CHECK:  encoding: [0x62,0x01,0xfd,0x0d,0x6f,0xd8]<br>
> +          vmovdqa64 %xmm24, %xmm27 {%k5}<br>
> +<br>
> +// CHECK: vmovdqa64 %xmm24, %xmm27 {%k5} {z}<br>
> +// CHECK:  encoding: [0x62,0x01,0xfd,0x8d,0x6f,0xd8]<br>
> +          vmovdqa64 %xmm24, %xmm27 {%k5} {z}<br>
> +<br>
> +// CHECK: vmovdqa64 (%rcx), %xmm27<br>
> +// CHECK:  encoding: [0x62,0x61,0xfd,0x08,0x6f,0x19]<br>
> +          vmovdqa64 (%rcx), %xmm27<br>
> +<br>
> +// CHECK: vmovdqa64 291(%rax,%r14,8), %xmm27<br>
> +// CHECK:  encoding: [0x62,0x21,0xfd,0x08,0x6f,0x9c,0xf0,0x23,0x01,0x00,0x00]<br>
> +          vmovdqa64 291(%rax,%r14,8), %xmm27<br>
> +<br>
> +// CHECK: vmovdqa64 2032(%rdx), %xmm27<br>
> +// CHECK:  encoding: [0x62,0x61,0xfd,0x08,0x6f,0x5a,0x7f]<br>
> +          vmovdqa64 2032(%rdx), %xmm27<br>
> +<br>
> +// CHECK: vmovdqa64 2048(%rdx), %xmm27<br>
> +// CHECK:  encoding: [0x62,0x61,0xfd,0x08,0x6f,0x9a,0x00,0x08,0x00,0x00]<br>
> +          vmovdqa64 2048(%rdx), %xmm27<br>
> +<br>
> +// CHECK: vmovdqa64 -2048(%rdx), %xmm27<br>
> +// CHECK:  encoding: [0x62,0x61,0xfd,0x08,0x6f,0x5a,0x80]<br>
> +          vmovdqa64 -2048(%rdx), %xmm27<br>
> +<br>
> +// CHECK: vmovdqa64 -2064(%rdx), %xmm27<br>
> +// CHECK:  encoding: [0x62,0x61,0xfd,0x08,0x6f,0x9a,0xf0,0xf7,0xff,0xff]<br>
> +          vmovdqa64 -2064(%rdx), %xmm27<br>
> +<br>
> +// CHECK: vmovdqa64 %ymm29, %ymm30<br>
> +// CHECK:  encoding: [0x62,0x01,0xfd,0x28,0x6f,0xf5]<br>
> +          vmovdqa64 %ymm29, %ymm30<br>
> +<br>
> +// CHECK: vmovdqa64 %ymm29, %ymm30 {%k3}<br>
> +// CHECK:  encoding: [0x62,0x01,0xfd,0x2b,0x6f,0xf5]<br>
> +          vmovdqa64 %ymm29, %ymm30 {%k3}<br>
> +<br>
> +// CHECK: vmovdqa64 %ymm29, %ymm30 {%k3} {z}<br>
> +// CHECK:  encoding: [0x62,0x01,0xfd,0xab,0x6f,0xf5]<br>
> +          vmovdqa64 %ymm29, %ymm30 {%k3} {z}<br>
> +<br>
> +// CHECK: vmovdqa64 (%rcx), %ymm30<br>
> +// CHECK:  encoding: [0x62,0x61,0xfd,0x28,0x6f,0x31]<br>
> +          vmovdqa64 (%rcx), %ymm30<br>
> +<br>
> +// CHECK: vmovdqa64 291(%rax,%r14,8), %ymm30<br>
> +// CHECK:  encoding: [0x62,0x21,0xfd,0x28,0x6f,0xb4,0xf0,0x23,0x01,0x00,0x00]<br>
> +          vmovdqa64 291(%rax,%r14,8), %ymm30<br>
> +<br>
> +// CHECK: vmovdqa64 4064(%rdx), %ymm30<br>
> +// CHECK:  encoding: [0x62,0x61,0xfd,0x28,0x6f,0x72,0x7f]<br>
> +          vmovdqa64 4064(%rdx), %ymm30<br>
> +<br>
> +// CHECK: vmovdqa64 4096(%rdx), %ymm30<br>
> +// CHECK:  encoding: [0x62,0x61,0xfd,0x28,0x6f,0xb2,0x00,0x10,0x00,0x00]<br>
> +          vmovdqa64 4096(%rdx), %ymm30<br>
> +<br>
> +// CHECK: vmovdqa64 -4096(%rdx), %ymm30<br>
> +// CHECK:  encoding: [0x62,0x61,0xfd,0x28,0x6f,0x72,0x80]<br>
> +          vmovdqa64 -4096(%rdx), %ymm30<br>
> +<br>
> +// CHECK: vmovdqa64 -4128(%rdx), %ymm30<br>
> +// CHECK:  encoding: [0x62,0x61,0xfd,0x28,0x6f,0xb2,0xe0,0xef,0xff,0xff]<br>
> +          vmovdqa64 -4128(%rdx), %ymm30<br>
> +<br>
> +// CHECK: vmovdqu32 %xmm19, %xmm29<br>
> +// CHECK:  encoding: [0x62,0x21,0x7e,0x08,0x6f,0xeb]<br>
> +          vmovdqu32 %xmm19, %xmm29<br>
> +<br>
> +// CHECK: vmovdqu32 %xmm19, %xmm29 {%k6}<br>
> +// CHECK:  encoding: [0x62,0x21,0x7e,0x0e,0x6f,0xeb]<br>
> +          vmovdqu32 %xmm19, %xmm29 {%k6}<br>
> +<br>
> +// CHECK: vmovdqu32 %xmm19, %xmm29 {%k6} {z}<br>
> +// CHECK:  encoding: [0x62,0x21,0x7e,0x8e,0x6f,0xeb]<br>
> +          vmovdqu32 %xmm19, %xmm29 {%k6} {z}<br>
> +<br>
> +// CHECK: vmovdqu32 (%rcx), %xmm29<br>
> +// CHECK:  encoding: [0x62,0x61,0x7e,0x08,0x6f,0x29]<br>
> +          vmovdqu32 (%rcx), %xmm29<br>
> +<br>
> +// CHECK: vmovdqu32 291(%rax,%r14,8), %xmm29<br>
> +// CHECK:  encoding: [0x62,0x21,0x7e,0x08,0x6f,0xac,0xf0,0x23,0x01,0x00,0x00]<br>
> +          vmovdqu32 291(%rax,%r14,8), %xmm29<br>
> +<br>
> +// CHECK: vmovdqu32 2032(%rdx), %xmm29<br>
> +// CHECK:  encoding: [0x62,0x61,0x7e,0x08,0x6f,0x6a,0x7f]<br>
> +          vmovdqu32 2032(%rdx), %xmm29<br>
> +<br>
> +// CHECK: vmovdqu32 2048(%rdx), %xmm29<br>
> +// CHECK:  encoding: [0x62,0x61,0x7e,0x08,0x6f,0xaa,0x00,0x08,0x00,0x00]<br>
> +          vmovdqu32 2048(%rdx), %xmm29<br>
> +<br>
> +// CHECK: vmovdqu32 -2048(%rdx), %xmm29<br>
> +// CHECK:  encoding: [0x62,0x61,0x7e,0x08,0x6f,0x6a,0x80]<br>
> +          vmovdqu32 -2048(%rdx), %xmm29<br>
> +<br>
> +// CHECK: vmovdqu32 -2064(%rdx), %xmm29<br>
> +// CHECK:  encoding: [0x62,0x61,0x7e,0x08,0x6f,0xaa,0xf0,0xf7,0xff,0xff]<br>
> +          vmovdqu32 -2064(%rdx), %xmm29<br>
> +<br>
> +// CHECK: vmovdqu32 %ymm18, %ymm17<br>
> +// CHECK:  encoding: [0x62,0xa1,0x7e,0x28,0x6f,0xca]<br>
> +          vmovdqu32 %ymm18, %ymm17<br>
> +<br>
> +// CHECK: vmovdqu32 %ymm18, %ymm17 {%k3}<br>
> +// CHECK:  encoding: [0x62,0xa1,0x7e,0x2b,0x6f,0xca]<br>
> +          vmovdqu32 %ymm18, %ymm17 {%k3}<br>
> +<br>
> +// CHECK: vmovdqu32 %ymm18, %ymm17 {%k3} {z}<br>
> +// CHECK:  encoding: [0x62,0xa1,0x7e,0xab,0x6f,0xca]<br>
> +          vmovdqu32 %ymm18, %ymm17 {%k3} {z}<br>
> +<br>
> +// CHECK: vmovdqu32 (%rcx), %ymm17<br>
> +// CHECK:  encoding: [0x62,0xe1,0x7e,0x28,0x6f,0x09]<br>
> +          vmovdqu32 (%rcx), %ymm17<br>
> +<br>
> +// CHECK: vmovdqu32 291(%rax,%r14,8), %ymm17<br>
> +// CHECK:  encoding: [0x62,0xa1,0x7e,0x28,0x6f,0x8c,0xf0,0x23,0x01,0x00,0x00]<br>
> +          vmovdqu32 291(%rax,%r14,8), %ymm17<br>
> +<br>
> +// CHECK: vmovdqu32 4064(%rdx), %ymm17<br>
> +// CHECK:  encoding: [0x62,0xe1,0x7e,0x28,0x6f,0x4a,0x7f]<br>
> +          vmovdqu32 4064(%rdx), %ymm17<br>
> +<br>
> +// CHECK: vmovdqu32 4096(%rdx), %ymm17<br>
> +// CHECK:  encoding: [0x62,0xe1,0x7e,0x28,0x6f,0x8a,0x00,0x10,0x00,0x00]<br>
> +          vmovdqu32 4096(%rdx), %ymm17<br>
> +<br>
> +// CHECK: vmovdqu32 -4096(%rdx), %ymm17<br>
> +// CHECK:  encoding: [0x62,0xe1,0x7e,0x28,0x6f,0x4a,0x80]<br>
> +          vmovdqu32 -4096(%rdx), %ymm17<br>
> +<br>
> +// CHECK: vmovdqu32 -4128(%rdx), %ymm17<br>
> +// CHECK:  encoding: [0x62,0xe1,0x7e,0x28,0x6f,0x8a,0xe0,0xef,0xff,0xff]<br>
> +          vmovdqu32 -4128(%rdx), %ymm17<br>
> +<br>
> +// CHECK: vmovdqu64 %xmm19, %xmm24<br>
> +// CHECK:  encoding: [0x62,0x21,0xfe,0x08,0x6f,0xc3]<br>
> +          vmovdqu64 %xmm19, %xmm24<br>
> +<br>
> +// CHECK: vmovdqu64 %xmm19, %xmm24 {%k5}<br>
> +// CHECK:  encoding: [0x62,0x21,0xfe,0x0d,0x6f,0xc3]<br>
> +          vmovdqu64 %xmm19, %xmm24 {%k5}<br>
> +<br>
> +// CHECK: vmovdqu64 %xmm19, %xmm24 {%k5} {z}<br>
> +// CHECK:  encoding: [0x62,0x21,0xfe,0x8d,0x6f,0xc3]<br>
> +          vmovdqu64 %xmm19, %xmm24 {%k5} {z}<br>
> +<br>
> +// CHECK: vmovdqu64 (%rcx), %xmm24<br>
> +// CHECK:  encoding: [0x62,0x61,0xfe,0x08,0x6f,0x01]<br>
> +          vmovdqu64 (%rcx), %xmm24<br>
> +<br>
> +// CHECK: vmovdqu64 291(%rax,%r14,8), %xmm24<br>
> +// CHECK:  encoding: [0x62,0x21,0xfe,0x08,0x6f,0x84,0xf0,0x23,0x01,0x00,0x00]<br>
> +          vmovdqu64 291(%rax,%r14,8), %xmm24<br>
> +<br>
> +// CHECK: vmovdqu64 2032(%rdx), %xmm24<br>
> +// CHECK:  encoding: [0x62,0x61,0xfe,0x08,0x6f,0x42,0x7f]<br>
> +          vmovdqu64 2032(%rdx), %xmm24<br>
> +<br>
> +// CHECK: vmovdqu64 2048(%rdx), %xmm24<br>
> +// CHECK:  encoding: [0x62,0x61,0xfe,0x08,0x6f,0x82,0x00,0x08,0x00,0x00]<br>
> +          vmovdqu64 2048(%rdx), %xmm24<br>
> +<br>
> +// CHECK: vmovdqu64 -2048(%rdx), %xmm24<br>
> +// CHECK:  encoding: [0x62,0x61,0xfe,0x08,0x6f,0x42,0x80]<br>
> +          vmovdqu64 -2048(%rdx), %xmm24<br>
> +<br>
> +// CHECK: vmovdqu64 -2064(%rdx), %xmm24<br>
> +// CHECK:  encoding: [0x62,0x61,0xfe,0x08,0x6f,0x82,0xf0,0xf7,0xff,0xff]<br>
> +          vmovdqu64 -2064(%rdx), %xmm24<br>
> +<br>
> +// CHECK: vmovdqu64 %ymm21, %ymm29<br>
> +// CHECK:  encoding: [0x62,0x21,0xfe,0x28,0x6f,0xed]<br>
> +          vmovdqu64 %ymm21, %ymm29<br>
> +<br>
> +// CHECK: vmovdqu64 %ymm21, %ymm29 {%k3}<br>
> +// CHECK:  encoding: [0x62,0x21,0xfe,0x2b,0x6f,0xed]<br>
> +          vmovdqu64 %ymm21, %ymm29 {%k3}<br>
> +<br>
> +// CHECK: vmovdqu64 %ymm21, %ymm29 {%k3} {z}<br>
> +// CHECK:  encoding: [0x62,0x21,0xfe,0xab,0x6f,0xed]<br>
> +          vmovdqu64 %ymm21, %ymm29 {%k3} {z}<br>
> +<br>
> +// CHECK: vmovdqu64 (%rcx), %ymm29<br>
> +// CHECK:  encoding: [0x62,0x61,0xfe,0x28,0x6f,0x29]<br>
> +          vmovdqu64 (%rcx), %ymm29<br>
> +<br>
> +// CHECK: vmovdqu64 291(%rax,%r14,8), %ymm29<br>
> +// CHECK:  encoding: [0x62,0x21,0xfe,0x28,0x6f,0xac,0xf0,0x23,0x01,0x00,0x00]<br>
> +          vmovdqu64 291(%rax,%r14,8), %ymm29<br>
> +<br>
> +// CHECK: vmovdqu64 4064(%rdx), %ymm29<br>
> +// CHECK:  encoding: [0x62,0x61,0xfe,0x28,0x6f,0x6a,0x7f]<br>
> +          vmovdqu64 4064(%rdx), %ymm29<br>
> +<br>
> +// CHECK: vmovdqu64 4096(%rdx), %ymm29<br>
> +// CHECK:  encoding: [0x62,0x61,0xfe,0x28,0x6f,0xaa,0x00,0x10,0x00,0x00]<br>
> +          vmovdqu64 4096(%rdx), %ymm29<br>
> +<br>
> +// CHECK: vmovdqu64 -4096(%rdx), %ymm29<br>
> +// CHECK:  encoding: [0x62,0x61,0xfe,0x28,0x6f,0x6a,0x80]<br>
> +          vmovdqu64 -4096(%rdx), %ymm29<br>
> +<br>
> +// CHECK: vmovdqu64 -4128(%rdx), %ymm29<br>
> +// CHECK:  encoding: [0x62,0x61,0xfe,0x28,0x6f,0xaa,0xe0,0xef,0xff,0xff]<br>
> +          vmovdqu64 -4128(%rdx), %ymm29<br>
> +<br>
> +// CHECK: vmovupd %xmm22, %xmm24<br>
> +// CHECK:  encoding: [0x62,0x21,0xfd,0x08,0x10,0xc6]<br>
> +          vmovupd %xmm22, %xmm24<br>
> +<br>
> +// CHECK: vmovupd %xmm22, %xmm24 {%k6}<br>
> +// CHECK:  encoding: [0x62,0x21,0xfd,0x0e,0x10,0xc6]<br>
> +          vmovupd %xmm22, %xmm24 {%k6}<br>
> +<br>
> +// CHECK: vmovupd %xmm22, %xmm24 {%k6} {z}<br>
> +// CHECK:  encoding: [0x62,0x21,0xfd,0x8e,0x10,0xc6]<br>
> +          vmovupd %xmm22, %xmm24 {%k6} {z}<br>
> +<br>
> +// CHECK: vmovupd (%rcx), %xmm24<br>
> +// CHECK:  encoding: [0x62,0x61,0xfd,0x08,0x10,0x01]<br>
> +          vmovupd (%rcx), %xmm24<br>
> +<br>
> +// CHECK: vmovupd 291(%rax,%r14,8), %xmm24<br>
> +// CHECK:  encoding: [0x62,0x21,0xfd,0x08,0x10,0x84,0xf0,0x23,0x01,0x00,0x00]<br>
> +          vmovupd 291(%rax,%r14,8), %xmm24<br>
> +<br>
> +// CHECK: vmovupd 2032(%rdx), %xmm24<br>
> +// CHECK:  encoding: [0x62,0x61,0xfd,0x08,0x10,0x42,0x7f]<br>
> +          vmovupd 2032(%rdx), %xmm24<br>
> +<br>
> +// CHECK: vmovupd 2048(%rdx), %xmm24<br>
> +// CHECK:  encoding: [0x62,0x61,0xfd,0x08,0x10,0x82,0x00,0x08,0x00,0x00]<br>
> +          vmovupd 2048(%rdx), %xmm24<br>
> +<br>
> +// CHECK: vmovupd -2048(%rdx), %xmm24<br>
> +// CHECK:  encoding: [0x62,0x61,0xfd,0x08,0x10,0x42,0x80]<br>
> +          vmovupd -2048(%rdx), %xmm24<br>
> +<br>
> +// CHECK: vmovupd -2064(%rdx), %xmm24<br>
> +// CHECK:  encoding: [0x62,0x61,0xfd,0x08,0x10,0x82,0xf0,0xf7,0xff,0xff]<br>
> +          vmovupd -2064(%rdx), %xmm24<br>
> +<br>
> +// CHECK: vmovupd %ymm25, %ymm30<br>
> +// CHECK:  encoding: [0x62,0x01,0xfd,0x28,0x10,0xf1]<br>
> +          vmovupd %ymm25, %ymm30<br>
> +<br>
> +// CHECK: vmovupd %ymm25, %ymm30 {%k7}<br>
> +// CHECK:  encoding: [0x62,0x01,0xfd,0x2f,0x10,0xf1]<br>
> +          vmovupd %ymm25, %ymm30 {%k7}<br>
> +<br>
> +// CHECK: vmovupd %ymm25, %ymm30 {%k7} {z}<br>
> +// CHECK:  encoding: [0x62,0x01,0xfd,0xaf,0x10,0xf1]<br>
> +          vmovupd %ymm25, %ymm30 {%k7} {z}<br>
> +<br>
> +// CHECK: vmovupd (%rcx), %ymm30<br>
> +// CHECK:  encoding: [0x62,0x61,0xfd,0x28,0x10,0x31]<br>
> +          vmovupd (%rcx), %ymm30<br>
> +<br>
> +// CHECK: vmovupd 291(%rax,%r14,8), %ymm30<br>
> +// CHECK:  encoding: [0x62,0x21,0xfd,0x28,0x10,0xb4,0xf0,0x23,0x01,0x00,0x00]<br>
> +          vmovupd 291(%rax,%r14,8), %ymm30<br>
> +<br>
> +// CHECK: vmovupd 4064(%rdx), %ymm30<br>
> +// CHECK:  encoding: [0x62,0x61,0xfd,0x28,0x10,0x72,0x7f]<br>
> +          vmovupd 4064(%rdx), %ymm30<br>
> +<br>
> +// CHECK: vmovupd 4096(%rdx), %ymm30<br>
> +// CHECK:  encoding: [0x62,0x61,0xfd,0x28,0x10,0xb2,0x00,0x10,0x00,0x00]<br>
> +          vmovupd 4096(%rdx), %ymm30<br>
> +<br>
> +// CHECK: vmovupd -4096(%rdx), %ymm30<br>
> +// CHECK:  encoding: [0x62,0x61,0xfd,0x28,0x10,0x72,0x80]<br>
> +          vmovupd -4096(%rdx), %ymm30<br>
> +<br>
> +// CHECK: vmovupd -4128(%rdx), %ymm30<br>
> +// CHECK:  encoding: [0x62,0x61,0xfd,0x28,0x10,0xb2,0xe0,0xef,0xff,0xff]<br>
> +          vmovupd -4128(%rdx), %ymm30<br>
> +<br>
> +// CHECK: vmovups %xmm29, %xmm20<br>
> +// CHECK:  encoding: [0x62,0x81,0x7c,0x08,0x10,0xe5]<br>
> +          vmovups %xmm29, %xmm20<br>
> +<br>
> +// CHECK: vmovups %xmm29, %xmm20 {%k6}<br>
> +// CHECK:  encoding: [0x62,0x81,0x7c,0x0e,0x10,0xe5]<br>
> +          vmovups %xmm29, %xmm20 {%k6}<br>
> +<br>
> +// CHECK: vmovups %xmm29, %xmm20 {%k6} {z}<br>
> +// CHECK:  encoding: [0x62,0x81,0x7c,0x8e,0x10,0xe5]<br>
> +          vmovups %xmm29, %xmm20 {%k6} {z}<br>
> +<br>
> +// CHECK: vmovups (%rcx), %xmm20<br>
> +// CHECK:  encoding: [0x62,0xe1,0x7c,0x08,0x10,0x21]<br>
> +          vmovups (%rcx), %xmm20<br>
> +<br>
> +// CHECK: vmovups 291(%rax,%r14,8), %xmm20<br>
> +// CHECK:  encoding: [0x62,0xa1,0x7c,0x08,0x10,0xa4,0xf0,0x23,0x01,0x00,0x00]<br>
> +          vmovups 291(%rax,%r14,8), %xmm20<br>
> +<br>
> +// CHECK: vmovups 2032(%rdx), %xmm20<br>
> +// CHECK:  encoding: [0x62,0xe1,0x7c,0x08,0x10,0x62,0x7f]<br>
> +          vmovups 2032(%rdx), %xmm20<br>
> +<br>
> +// CHECK: vmovups 2048(%rdx), %xmm20<br>
> +// CHECK:  encoding: [0x62,0xe1,0x7c,0x08,0x10,0xa2,0x00,0x08,0x00,0x00]<br>
> +          vmovups 2048(%rdx), %xmm20<br>
> +<br>
> +// CHECK: vmovups -2048(%rdx), %xmm20<br>
> +// CHECK:  encoding: [0x62,0xe1,0x7c,0x08,0x10,0x62,0x80]<br>
> +          vmovups -2048(%rdx), %xmm20<br>
> +<br>
> +// CHECK: vmovups -2064(%rdx), %xmm20<br>
> +// CHECK:  encoding: [0x62,0xe1,0x7c,0x08,0x10,0xa2,0xf0,0xf7,0xff,0xff]<br>
> +          vmovups -2064(%rdx), %xmm20<br>
> +<br>
> +// CHECK: vmovups %ymm26, %ymm21<br>
> +// CHECK:  encoding: [0x62,0x81,0x7c,0x28,0x10,0xea]<br>
> +          vmovups %ymm26, %ymm21<br>
> +<br>
> +// CHECK: vmovups %ymm26, %ymm21 {%k6}<br>
> +// CHECK:  encoding: [0x62,0x81,0x7c,0x2e,0x10,0xea]<br>
> +          vmovups %ymm26, %ymm21 {%k6}<br>
> +<br>
> +// CHECK: vmovups %ymm26, %ymm21 {%k6} {z}<br>
> +// CHECK:  encoding: [0x62,0x81,0x7c,0xae,0x10,0xea]<br>
> +          vmovups %ymm26, %ymm21 {%k6} {z}<br>
> +<br>
> +// CHECK: vmovups (%rcx), %ymm21<br>
> +// CHECK:  encoding: [0x62,0xe1,0x7c,0x28,0x10,0x29]<br>
> +          vmovups (%rcx), %ymm21<br>
> +<br>
> +// CHECK: vmovups 291(%rax,%r14,8), %ymm21<br>
> +// CHECK:  encoding: [0x62,0xa1,0x7c,0x28,0x10,0xac,0xf0,0x23,0x01,0x00,0x00]<br>
> +          vmovups 291(%rax,%r14,8), %ymm21<br>
> +<br>
> +// CHECK: vmovups 4064(%rdx), %ymm21<br>
> +// CHECK:  encoding: [0x62,0xe1,0x7c,0x28,0x10,0x6a,0x7f]<br>
> +          vmovups 4064(%rdx), %ymm21<br>
> +<br>
> +// CHECK: vmovups 4096(%rdx), %ymm21<br>
> +// CHECK:  encoding: [0x62,0xe1,0x7c,0x28,0x10,0xaa,0x00,0x10,0x00,0x00]<br>
> +          vmovups 4096(%rdx), %ymm21<br>
> +<br>
> +// CHECK: vmovups -4096(%rdx), %ymm21<br>
> +// CHECK:  encoding: [0x62,0xe1,0x7c,0x28,0x10,0x6a,0x80]<br>
> +          vmovups -4096(%rdx), %ymm21<br>
> +<br>
> +// CHECK: vmovups -4128(%rdx), %ymm21<br>
> +// CHECK:  encoding: [0x62,0xe1,0x7c,0x28,0x10,0xaa,0xe0,0xef,0xff,0xff]<br>
> +          vmovups -4128(%rdx), %ymm21<br>
> +<br>
> +// CHECK: vmovapd %xmm22, (%rcx)<br>
> +// CHECK:  encoding: [0x62,0xe1,0xfd,0x08,0x29,0x31]<br>
> +          vmovapd %xmm22, (%rcx)<br>
> +<br>
> +// CHECK: vmovapd %xmm22, (%rcx) {%k2}<br>
> +// CHECK:  encoding: [0x62,0xe1,0xfd,0x0a,0x29,0x31]<br>
> +          vmovapd %xmm22, (%rcx) {%k2}<br>
> +<br>
> +// CHECK: vmovapd %xmm22, 291(%rax,%r14,8)<br>
> +// CHECK:  encoding: [0x62,0xa1,0xfd,0x08,0x29,0xb4,0xf0,0x23,0x01,0x00,0x00]<br>
> +          vmovapd %xmm22, 291(%rax,%r14,8)<br>
> +<br>
> +// CHECK: vmovapd %xmm22, 2032(%rdx)<br>
> +// CHECK:  encoding: [0x62,0xe1,0xfd,0x08,0x29,0x72,0x7f]<br>
> +          vmovapd %xmm22, 2032(%rdx)<br>
> +<br>
> +// CHECK: vmovapd %xmm22, 2048(%rdx)<br>
> +// CHECK:  encoding: [0x62,0xe1,0xfd,0x08,0x29,0xb2,0x00,0x08,0x00,0x00]<br>
> +          vmovapd %xmm22, 2048(%rdx)<br>
> +<br>
> +// CHECK: vmovapd %xmm22, -2048(%rdx)<br>
> +// CHECK:  encoding: [0x62,0xe1,0xfd,0x08,0x29,0x72,0x80]<br>
> +          vmovapd %xmm22, -2048(%rdx)<br>
> +<br>
> +// CHECK: vmovapd %xmm22, -2064(%rdx)<br>
> +// CHECK:  encoding: [0x62,0xe1,0xfd,0x08,0x29,0xb2,0xf0,0xf7,0xff,0xff]<br>
> +          vmovapd %xmm22, -2064(%rdx)<br>
> +<br>
> +// CHECK: vmovapd %ymm17, (%rcx)<br>
> +// CHECK:  encoding: [0x62,0xe1,0xfd,0x28,0x29,0x09]<br>
> +          vmovapd %ymm17, (%rcx)<br>
> +<br>
> +// CHECK: vmovapd %ymm17, (%rcx) {%k6}<br>
> +// CHECK:  encoding: [0x62,0xe1,0xfd,0x2e,0x29,0x09]<br>
> +          vmovapd %ymm17, (%rcx) {%k6}<br>
> +<br>
> +// CHECK: vmovapd %ymm17, 291(%rax,%r14,8)<br>
> +// CHECK:  encoding: [0x62,0xa1,0xfd,0x28,0x29,0x8c,0xf0,0x23,0x01,0x00,0x00]<br>
> +          vmovapd %ymm17, 291(%rax,%r14,8)<br>
> +<br>
> +// CHECK: vmovapd %ymm17, 4064(%rdx)<br>
> +// CHECK:  encoding: [0x62,0xe1,0xfd,0x28,0x29,0x4a,0x7f]<br>
> +          vmovapd %ymm17, 4064(%rdx)<br>
> +<br>
> +// CHECK: vmovapd %ymm17, 4096(%rdx)<br>
> +// CHECK:  encoding: [0x62,0xe1,0xfd,0x28,0x29,0x8a,0x00,0x10,0x00,0x00]<br>
> +          vmovapd %ymm17, 4096(%rdx)<br>
> +<br>
> +// CHECK: vmovapd %ymm17, -4096(%rdx)<br>
> +// CHECK:  encoding: [0x62,0xe1,0xfd,0x28,0x29,0x4a,0x80]<br>
> +          vmovapd %ymm17, -4096(%rdx)<br>
> +<br>
> +// CHECK: vmovapd %ymm17, -4128(%rdx)<br>
> +// CHECK:  encoding: [0x62,0xe1,0xfd,0x28,0x29,0x8a,0xe0,0xef,0xff,0xff]<br>
> +          vmovapd %ymm17, -4128(%rdx)<br>
> +<br>
> +// CHECK: vmovaps %xmm29, (%rcx)<br>
> +// CHECK:  encoding: [0x62,0x61,0x7c,0x08,0x29,0x29]<br>
> +          vmovaps %xmm29, (%rcx)<br>
> +<br>
> +// CHECK: vmovaps %xmm29, (%rcx) {%k5}<br>
> +// CHECK:  encoding: [0x62,0x61,0x7c,0x0d,0x29,0x29]<br>
> +          vmovaps %xmm29, (%rcx) {%k5}<br>
> +<br>
> +// CHECK: vmovaps %xmm29, 291(%rax,%r14,8)<br>
> +// CHECK:  encoding: [0x62,0x21,0x7c,0x08,0x29,0xac,0xf0,0x23,0x01,0x00,0x00]<br>
> +          vmovaps %xmm29, 291(%rax,%r14,8)<br>
> +<br>
> +// CHECK: vmovaps %xmm29, 2032(%rdx)<br>
> +// CHECK:  encoding: [0x62,0x61,0x7c,0x08,0x29,0x6a,0x7f]<br>
> +          vmovaps %xmm29, 2032(%rdx)<br>
> +<br>
> +// CHECK: vmovaps %xmm29, 2048(%rdx)<br>
> +// CHECK:  encoding: [0x62,0x61,0x7c,0x08,0x29,0xaa,0x00,0x08,0x00,0x00]<br>
> +          vmovaps %xmm29, 2048(%rdx)<br>
> +<br>
> +// CHECK: vmovaps %xmm29, -2048(%rdx)<br>
> +// CHECK:  encoding: [0x62,0x61,0x7c,0x08,0x29,0x6a,0x80]<br>
> +          vmovaps %xmm29, -2048(%rdx)<br>
> +<br>
> +// CHECK: vmovaps %xmm29, -2064(%rdx)<br>
> +// CHECK:  encoding: [0x62,0x61,0x7c,0x08,0x29,0xaa,0xf0,0xf7,0xff,0xff]<br>
> +          vmovaps %xmm29, -2064(%rdx)<br>
> +<br>
> +// CHECK: vmovaps %ymm28, (%rcx)<br>
> +// CHECK:  encoding: [0x62,0x61,0x7c,0x28,0x29,0x21]<br>
> +          vmovaps %ymm28, (%rcx)<br>
> +<br>
> +// CHECK: vmovaps %ymm28, (%rcx) {%k6}<br>
> +// CHECK:  encoding: [0x62,0x61,0x7c,0x2e,0x29,0x21]<br>
> +          vmovaps %ymm28, (%rcx) {%k6}<br>
> +<br>
> +// CHECK: vmovaps %ymm28, 291(%rax,%r14,8)<br>
> +// CHECK:  encoding: [0x62,0x21,0x7c,0x28,0x29,0xa4,0xf0,0x23,0x01,0x00,0x00]<br>
> +          vmovaps %ymm28, 291(%rax,%r14,8)<br>
> +<br>
> +// CHECK: vmovaps %ymm28, 4064(%rdx)<br>
> +// CHECK:  encoding: [0x62,0x61,0x7c,0x28,0x29,0x62,0x7f]<br>
> +          vmovaps %ymm28, 4064(%rdx)<br>
> +<br>
> +// CHECK: vmovaps %ymm28, 4096(%rdx)<br>
> +// CHECK:  encoding: [0x62,0x61,0x7c,0x28,0x29,0xa2,0x00,0x10,0x00,0x00]<br>
> +          vmovaps %ymm28, 4096(%rdx)<br>
> +<br>
> +// CHECK: vmovaps %ymm28, -4096(%rdx)<br>
> +// CHECK:  encoding: [0x62,0x61,0x7c,0x28,0x29,0x62,0x80]<br>
> +          vmovaps %ymm28, -4096(%rdx)<br>
> +<br>
> +// CHECK: vmovaps %ymm28, -4128(%rdx)<br>
> +// CHECK:  encoding: [0x62,0x61,0x7c,0x28,0x29,0xa2,0xe0,0xef,0xff,0xff]<br>
> +          vmovaps %ymm28, -4128(%rdx)<br>
> +<br>
> +// CHECK: vmovdqa32 %xmm24, (%rcx)<br>
> +// CHECK:  encoding: [0x62,0x61,0x7d,0x08,0x7f,0x01]<br>
> +          vmovdqa32 %xmm24, (%rcx)<br>
> +<br>
> +// CHECK: vmovdqa32 %xmm24, (%rcx) {%k7}<br>
> +// CHECK:  encoding: [0x62,0x61,0x7d,0x0f,0x7f,0x01]<br>
> +          vmovdqa32 %xmm24, (%rcx) {%k7}<br>
> +<br>
> +// CHECK: vmovdqa32 %xmm24, 291(%rax,%r14,8)<br>
> +// CHECK:  encoding: [0x62,0x21,0x7d,0x08,0x7f,0x84,0xf0,0x23,0x01,0x00,0x00]<br>
> +          vmovdqa32 %xmm24, 291(%rax,%r14,8)<br>
> +<br>
> +// CHECK: vmovdqa32 %xmm24, 2032(%rdx)<br>
> +// CHECK:  encoding: [0x62,0x61,0x7d,0x08,0x7f,0x42,0x7f]<br>
> +          vmovdqa32 %xmm24, 2032(%rdx)<br>
> +<br>
> +// CHECK: vmovdqa32 %xmm24, 2048(%rdx)<br>
> +// CHECK:  encoding: [0x62,0x61,0x7d,0x08,0x7f,0x82,0x00,0x08,0x00,0x00]<br>
> +          vmovdqa32 %xmm24, 2048(%rdx)<br>
> +<br>
> +// CHECK: vmovdqa32 %xmm24, -2048(%rdx)<br>
> +// CHECK:  encoding: [0x62,0x61,0x7d,0x08,0x7f,0x42,0x80]<br>
> +          vmovdqa32 %xmm24, -2048(%rdx)<br>
> +<br>
> +// CHECK: vmovdqa32 %xmm24, -2064(%rdx)<br>
> +// CHECK:  encoding: [0x62,0x61,0x7d,0x08,0x7f,0x82,0xf0,0xf7,0xff,0xff]<br>
> +          vmovdqa32 %xmm24, -2064(%rdx)<br>
> +<br>
> +// CHECK: vmovdqa32 %ymm29, (%rcx)<br>
> +// CHECK:  encoding: [0x62,0x61,0x7d,0x28,0x7f,0x29]<br>
> +          vmovdqa32 %ymm29, (%rcx)<br>
> +<br>
> +// CHECK: vmovdqa32 %ymm29, (%rcx) {%k7}<br>
> +// CHECK:  encoding: [0x62,0x61,0x7d,0x2f,0x7f,0x29]<br>
> +          vmovdqa32 %ymm29, (%rcx) {%k7}<br>
> +<br>
> +// CHECK: vmovdqa32 %ymm29, 291(%rax,%r14,8)<br>
> +// CHECK:  encoding: [0x62,0x21,0x7d,0x28,0x7f,0xac,0xf0,0x23,0x01,0x00,0x00]<br>
> +          vmovdqa32 %ymm29, 291(%rax,%r14,8)<br>
> +<br>
> +// CHECK: vmovdqa32 %ymm29, 4064(%rdx)<br>
> +// CHECK:  encoding: [0x62,0x61,0x7d,0x28,0x7f,0x6a,0x7f]<br>
> +          vmovdqa32 %ymm29, 4064(%rdx)<br>
> +<br>
> +// CHECK: vmovdqa32 %ymm29, 4096(%rdx)<br>
> +// CHECK:  encoding: [0x62,0x61,0x7d,0x28,0x7f,0xaa,0x00,0x10,0x00,0x00]<br>
> +          vmovdqa32 %ymm29, 4096(%rdx)<br>
> +<br>
> +// CHECK: vmovdqa32 %ymm29, -4096(%rdx)<br>
> +// CHECK:  encoding: [0x62,0x61,0x7d,0x28,0x7f,0x6a,0x80]<br>
> +          vmovdqa32 %ymm29, -4096(%rdx)<br>
> +<br>
> +// CHECK: vmovdqa32 %ymm29, -4128(%rdx)<br>
> +// CHECK:  encoding: [0x62,0x61,0x7d,0x28,0x7f,0xaa,0xe0,0xef,0xff,0xff]<br>
> +          vmovdqa32 %ymm29, -4128(%rdx)<br>
> +<br>
> +// CHECK: vmovdqa64 %xmm17, (%rcx)<br>
> +// CHECK:  encoding: [0x62,0xe1,0xfd,0x08,0x7f,0x09]<br>
> +          vmovdqa64 %xmm17, (%rcx)<br>
> +<br>
> +// CHECK: vmovdqa64 %xmm17, (%rcx) {%k7}<br>
> +// CHECK:  encoding: [0x62,0xe1,0xfd,0x0f,0x7f,0x09]<br>
> +          vmovdqa64 %xmm17, (%rcx) {%k7}<br>
> +<br>
> +// CHECK: vmovdqa64 %xmm17, 291(%rax,%r14,8)<br>
> +// CHECK:  encoding: [0x62,0xa1,0xfd,0x08,0x7f,0x8c,0xf0,0x23,0x01,0x00,0x00]<br>
> +          vmovdqa64 %xmm17, 291(%rax,%r14,8)<br>
> +<br>
> +// CHECK: vmovdqa64 %xmm17, 2032(%rdx)<br>
> +// CHECK:  encoding: [0x62,0xe1,0xfd,0x08,0x7f,0x4a,0x7f]<br>
> +          vmovdqa64 %xmm17, 2032(%rdx)<br>
> +<br>
> +// CHECK: vmovdqa64 %xmm17, 2048(%rdx)<br>
> +// CHECK:  encoding: [0x62,0xe1,0xfd,0x08,0x7f,0x8a,0x00,0x08,0x00,0x00]<br>
> +          vmovdqa64 %xmm17, 2048(%rdx)<br>
> +<br>
> +// CHECK: vmovdqa64 %xmm17, -2048(%rdx)<br>
> +// CHECK:  encoding: [0x62,0xe1,0xfd,0x08,0x7f,0x4a,0x80]<br>
> +          vmovdqa64 %xmm17, -2048(%rdx)<br>
> +<br>
> +// CHECK: vmovdqa64 %xmm17, -2064(%rdx)<br>
> +// CHECK:  encoding: [0x62,0xe1,0xfd,0x08,0x7f,0x8a,0xf0,0xf7,0xff,0xff]<br>
> +          vmovdqa64 %xmm17, -2064(%rdx)<br>
> +<br>
> +// CHECK: vmovdqa64 %ymm24, (%rcx)<br>
> +// CHECK:  encoding: [0x62,0x61,0xfd,0x28,0x7f,0x01]<br>
> +          vmovdqa64 %ymm24, (%rcx)<br>
> +<br>
> +// CHECK: vmovdqa64 %ymm24, (%rcx) {%k2}<br>
> +// CHECK:  encoding: [0x62,0x61,0xfd,0x2a,0x7f,0x01]<br>
> +          vmovdqa64 %ymm24, (%rcx) {%k2}<br>
> +<br>
> +// CHECK: vmovdqa64 %ymm24, 291(%rax,%r14,8)<br>
> +// CHECK:  encoding: [0x62,0x21,0xfd,0x28,0x7f,0x84,0xf0,0x23,0x01,0x00,0x00]<br>
> +          vmovdqa64 %ymm24, 291(%rax,%r14,8)<br>
> +<br>
> +// CHECK: vmovdqa64 %ymm24, 4064(%rdx)<br>
> +// CHECK:  encoding: [0x62,0x61,0xfd,0x28,0x7f,0x42,0x7f]<br>
> +          vmovdqa64 %ymm24, 4064(%rdx)<br>
> +<br>
> +// CHECK: vmovdqa64 %ymm24, 4096(%rdx)<br>
> +// CHECK:  encoding: [0x62,0x61,0xfd,0x28,0x7f,0x82,0x00,0x10,0x00,0x00]<br>
> +          vmovdqa64 %ymm24, 4096(%rdx)<br>
> +<br>
> +// CHECK: vmovdqa64 %ymm24, -4096(%rdx)<br>
> +// CHECK:  encoding: [0x62,0x61,0xfd,0x28,0x7f,0x42,0x80]<br>
> +          vmovdqa64 %ymm24, -4096(%rdx)<br>
> +<br>
> +// CHECK: vmovdqa64 %ymm24, -4128(%rdx)<br>
> +// CHECK:  encoding: [0x62,0x61,0xfd,0x28,0x7f,0x82,0xe0,0xef,0xff,0xff]<br>
> +          vmovdqa64 %ymm24, -4128(%rdx)<br>
> +<br>
> +// CHECK: vmovdqu32 %xmm17, (%rcx)<br>
> +// CHECK:  encoding: [0x62,0xe1,0x7e,0x08,0x7f,0x09]<br>
> +          vmovdqu32 %xmm17, (%rcx)<br>
> +<br>
> +// CHECK: vmovdqu32 %xmm17, (%rcx) {%k4}<br>
> +// CHECK:  encoding: [0x62,0xe1,0x7e,0x0c,0x7f,0x09]<br>
> +          vmovdqu32 %xmm17, (%rcx) {%k4}<br>
> +<br>
> +// CHECK: vmovdqu32 %xmm17, 291(%rax,%r14,8)<br>
> +// CHECK:  encoding: [0x62,0xa1,0x7e,0x08,0x7f,0x8c,0xf0,0x23,0x01,0x00,0x00]<br>
> +          vmovdqu32 %xmm17, 291(%rax,%r14,8)<br>
> +<br>
> +// CHECK: vmovdqu32 %xmm17, 2032(%rdx)<br>
> +// CHECK:  encoding: [0x62,0xe1,0x7e,0x08,0x7f,0x4a,0x7f]<br>
> +          vmovdqu32 %xmm17, 2032(%rdx)<br>
> +<br>
> +// CHECK: vmovdqu32 %xmm17, 2048(%rdx)<br>
> +// CHECK:  encoding: [0x62,0xe1,0x7e,0x08,0x7f,0x8a,0x00,0x08,0x00,0x00]<br>
> +          vmovdqu32 %xmm17, 2048(%rdx)<br>
> +<br>
> +// CHECK: vmovdqu32 %xmm17, -2048(%rdx)<br>
> +// CHECK:  encoding: [0x62,0xe1,0x7e,0x08,0x7f,0x4a,0x80]<br>
> +          vmovdqu32 %xmm17, -2048(%rdx)<br>
> +<br>
> +// CHECK: vmovdqu32 %xmm17, -2064(%rdx)<br>
> +// CHECK:  encoding: [0x62,0xe1,0x7e,0x08,0x7f,0x8a,0xf0,0xf7,0xff,0xff]<br>
> +          vmovdqu32 %xmm17, -2064(%rdx)<br>
> +<br>
> +// CHECK: vmovdqu32 %ymm20, (%rcx)<br>
> +// CHECK:  encoding: [0x62,0xe1,0x7e,0x28,0x7f,0x21]<br>
> +          vmovdqu32 %ymm20, (%rcx)<br>
> +<br>
> +// CHECK: vmovdqu32 %ymm20, (%rcx) {%k1}<br>
> +// CHECK:  encoding: [0x62,0xe1,0x7e,0x29,0x7f,0x21]<br>
> +          vmovdqu32 %ymm20, (%rcx) {%k1}<br>
> +<br>
> +// CHECK: vmovdqu32 %ymm20, 291(%rax,%r14,8)<br>
> +// CHECK:  encoding: [0x62,0xa1,0x7e,0x28,0x7f,0xa4,0xf0,0x23,0x01,0x00,0x00]<br>
> +          vmovdqu32 %ymm20, 291(%rax,%r14,8)<br>
> +<br>
> +// CHECK: vmovdqu32 %ymm20, 4064(%rdx)<br>
> +// CHECK:  encoding: [0x62,0xe1,0x7e,0x28,0x7f,0x62,0x7f]<br>
> +          vmovdqu32 %ymm20, 4064(%rdx)<br>
> +<br>
> +// CHECK: vmovdqu32 %ymm20, 4096(%rdx)<br>
> +// CHECK:  encoding: [0x62,0xe1,0x7e,0x28,0x7f,0xa2,0x00,0x10,0x00,0x00]<br>
> +          vmovdqu32 %ymm20, 4096(%rdx)<br>
> +<br>
> +// CHECK: vmovdqu32 %ymm20, -4096(%rdx)<br>
> +// CHECK:  encoding: [0x62,0xe1,0x7e,0x28,0x7f,0x62,0x80]<br>
> +          vmovdqu32 %ymm20, -4096(%rdx)<br>
> +<br>
> +// CHECK: vmovdqu32 %ymm20, -4128(%rdx)<br>
> +// CHECK:  encoding: [0x62,0xe1,0x7e,0x28,0x7f,0xa2,0xe0,0xef,0xff,0xff]<br>
> +          vmovdqu32 %ymm20, -4128(%rdx)<br>
> +<br>
> +// CHECK: vmovdqu64 %xmm20, (%rcx)<br>
> +// CHECK:  encoding: [0x62,0xe1,0xfe,0x08,0x7f,0x21]<br>
> +          vmovdqu64 %xmm20, (%rcx)<br>
> +<br>
> +// CHECK: vmovdqu64 %xmm20, (%rcx) {%k6}<br>
> +// CHECK:  encoding: [0x62,0xe1,0xfe,0x0e,0x7f,0x21]<br>
> +          vmovdqu64 %xmm20, (%rcx) {%k6}<br>
> +<br>
> +// CHECK: vmovdqu64 %xmm20, 291(%rax,%r14,8)<br>
> +// CHECK:  encoding: [0x62,0xa1,0xfe,0x08,0x7f,0xa4,0xf0,0x23,0x01,0x00,0x00]<br>
> +          vmovdqu64 %xmm20, 291(%rax,%r14,8)<br>
> +<br>
> +// CHECK: vmovdqu64 %xmm20, 2032(%rdx)<br>
> +// CHECK:  encoding: [0x62,0xe1,0xfe,0x08,0x7f,0x62,0x7f]<br>
> +          vmovdqu64 %xmm20, 2032(%rdx)<br>
> +<br>
> +// CHECK: vmovdqu64 %xmm20, 2048(%rdx)<br>
> +// CHECK:  encoding: [0x62,0xe1,0xfe,0x08,0x7f,0xa2,0x00,0x08,0x00,0x00]<br>
> +          vmovdqu64 %xmm20, 2048(%rdx)<br>
> +<br>
> +// CHECK: vmovdqu64 %xmm20, -2048(%rdx)<br>
> +// CHECK:  encoding: [0x62,0xe1,0xfe,0x08,0x7f,0x62,0x80]<br>
> +          vmovdqu64 %xmm20, -2048(%rdx)<br>
> +<br>
> +// CHECK: vmovdqu64 %xmm20, -2064(%rdx)<br>
> +// CHECK:  encoding: [0x62,0xe1,0xfe,0x08,0x7f,0xa2,0xf0,0xf7,0xff,0xff]<br>
> +          vmovdqu64 %xmm20, -2064(%rdx)<br>
> +<br>
> +// CHECK: vmovdqu64 %ymm19, (%rcx)<br>
> +// CHECK:  encoding: [0x62,0xe1,0xfe,0x28,0x7f,0x19]<br>
> +          vmovdqu64 %ymm19, (%rcx)<br>
> +<br>
> +// CHECK: vmovdqu64 %ymm19, (%rcx) {%k7}<br>
> +// CHECK:  encoding: [0x62,0xe1,0xfe,0x2f,0x7f,0x19]<br>
> +          vmovdqu64 %ymm19, (%rcx) {%k7}<br>
> +<br>
> +// CHECK: vmovdqu64 %ymm19, 291(%rax,%r14,8)<br>
> +// CHECK:  encoding: [0x62,0xa1,0xfe,0x28,0x7f,0x9c,0xf0,0x23,0x01,0x00,0x00]<br>
> +          vmovdqu64 %ymm19, 291(%rax,%r14,8)<br>
> +<br>
> +// CHECK: vmovdqu64 %ymm19, 4064(%rdx)<br>
> +// CHECK:  encoding: [0x62,0xe1,0xfe,0x28,0x7f,0x5a,0x7f]<br>
> +          vmovdqu64 %ymm19, 4064(%rdx)<br>
> +<br>
> +// CHECK: vmovdqu64 %ymm19, 4096(%rdx)<br>
> +// CHECK:  encoding: [0x62,0xe1,0xfe,0x28,0x7f,0x9a,0x00,0x10,0x00,0x00]<br>
> +          vmovdqu64 %ymm19, 4096(%rdx)<br>
> +<br>
> +// CHECK: vmovdqu64 %ymm19, -4096(%rdx)<br>
> +// CHECK:  encoding: [0x62,0xe1,0xfe,0x28,0x7f,0x5a,0x80]<br>
> +          vmovdqu64 %ymm19, -4096(%rdx)<br>
> +<br>
> +// CHECK: vmovdqu64 %ymm19, -4128(%rdx)<br>
> +// CHECK:  encoding: [0x62,0xe1,0xfe,0x28,0x7f,0x9a,0xe0,0xef,0xff,0xff]<br>
> +          vmovdqu64 %ymm19, -4128(%rdx)<br>
> +<br>
> +// CHECK: vmovupd %xmm22, (%rcx)<br>
> +// CHECK:  encoding: [0x62,0xe1,0xfd,0x08,0x11,0x31]<br>
> +          vmovupd %xmm22, (%rcx)<br>
> +<br>
> +// CHECK: vmovupd %xmm22, (%rcx) {%k7}<br>
> +// CHECK:  encoding: [0x62,0xe1,0xfd,0x0f,0x11,0x31]<br>
> +          vmovupd %xmm22, (%rcx) {%k7}<br>
> +<br>
> +// CHECK: vmovupd %xmm22, 291(%rax,%r14,8)<br>
> +// CHECK:  encoding: [0x62,0xa1,0xfd,0x08,0x11,0xb4,0xf0,0x23,0x01,0x00,0x00]<br>
> +          vmovupd %xmm22, 291(%rax,%r14,8)<br>
> +<br>
> +// CHECK: vmovupd %xmm22, 2032(%rdx)<br>
> +// CHECK:  encoding: [0x62,0xe1,0xfd,0x08,0x11,0x72,0x7f]<br>
> +          vmovupd %xmm22, 2032(%rdx)<br>
> +<br>
> +// CHECK: vmovupd %xmm22, 2048(%rdx)<br>
> +// CHECK:  encoding: [0x62,0xe1,0xfd,0x08,0x11,0xb2,0x00,0x08,0x00,0x00]<br>
> +          vmovupd %xmm22, 2048(%rdx)<br>
> +<br>
> +// CHECK: vmovupd %xmm22, -2048(%rdx)<br>
> +// CHECK:  encoding: [0x62,0xe1,0xfd,0x08,0x11,0x72,0x80]<br>
> +          vmovupd %xmm22, -2048(%rdx)<br>
> +<br>
> +// CHECK: vmovupd %xmm22, -2064(%rdx)<br>
> +// CHECK:  encoding: [0x62,0xe1,0xfd,0x08,0x11,0xb2,0xf0,0xf7,0xff,0xff]<br>
> +          vmovupd %xmm22, -2064(%rdx)<br>
> +<br>
> +// CHECK: vmovupd %ymm28, (%rcx)<br>
> +// CHECK:  encoding: [0x62,0x61,0xfd,0x28,0x11,0x21]<br>
> +          vmovupd %ymm28, (%rcx)<br>
> +<br>
> +// CHECK: vmovupd %ymm28, (%rcx) {%k1}<br>
> +// CHECK:  encoding: [0x62,0x61,0xfd,0x29,0x11,0x21]<br>
> +          vmovupd %ymm28, (%rcx) {%k1}<br>
> +<br>
> +// CHECK: vmovupd %ymm28, 291(%rax,%r14,8)<br>
> +// CHECK:  encoding: [0x62,0x21,0xfd,0x28,0x11,0xa4,0xf0,0x23,0x01,0x00,0x00]<br>
> +          vmovupd %ymm28, 291(%rax,%r14,8)<br>
> +<br>
> +// CHECK: vmovupd %ymm28, 4064(%rdx)<br>
> +// CHECK:  encoding: [0x62,0x61,0xfd,0x28,0x11,0x62,0x7f]<br>
> +          vmovupd %ymm28, 4064(%rdx)<br>
> +<br>
> +// CHECK: vmovupd %ymm28, 4096(%rdx)<br>
> +// CHECK:  encoding: [0x62,0x61,0xfd,0x28,0x11,0xa2,0x00,0x10,0x00,0x00]<br>
> +          vmovupd %ymm28, 4096(%rdx)<br>
> +<br>
> +// CHECK: vmovupd %ymm28, -4096(%rdx)<br>
> +// CHECK:  encoding: [0x62,0x61,0xfd,0x28,0x11,0x62,0x80]<br>
> +          vmovupd %ymm28, -4096(%rdx)<br>
> +<br>
> +// CHECK: vmovupd %ymm28, -4128(%rdx)<br>
> +// CHECK:  encoding: [0x62,0x61,0xfd,0x28,0x11,0xa2,0xe0,0xef,0xff,0xff]<br>
> +          vmovupd %ymm28, -4128(%rdx)<br>
> +<br>
> +// CHECK: vmovups %xmm26, (%rcx)<br>
> +// CHECK:  encoding: [0x62,0x61,0x7c,0x08,0x11,0x11]<br>
> +          vmovups %xmm26, (%rcx)<br>
> +<br>
> +// CHECK: vmovups %xmm26, (%rcx) {%k5}<br>
> +// CHECK:  encoding: [0x62,0x61,0x7c,0x0d,0x11,0x11]<br>
> +          vmovups %xmm26, (%rcx) {%k5}<br>
> +<br>
> +// CHECK: vmovups %xmm26, 291(%rax,%r14,8)<br>
> +// CHECK:  encoding: [0x62,0x21,0x7c,0x08,0x11,0x94,0xf0,0x23,0x01,0x00,0x00]<br>
> +          vmovups %xmm26, 291(%rax,%r14,8)<br>
> +<br>
> +// CHECK: vmovups %xmm26, 2032(%rdx)<br>
> +// CHECK:  encoding: [0x62,0x61,0x7c,0x08,0x11,0x52,0x7f]<br>
> +          vmovups %xmm26, 2032(%rdx)<br>
> +<br>
> +// CHECK: vmovups %xmm26, 2048(%rdx)<br>
> +// CHECK:  encoding: [0x62,0x61,0x7c,0x08,0x11,0x92,0x00,0x08,0x00,0x00]<br>
> +          vmovups %xmm26, 2048(%rdx)<br>
> +<br>
> +// CHECK: vmovups %xmm26, -2048(%rdx)<br>
> +// CHECK:  encoding: [0x62,0x61,0x7c,0x08,0x11,0x52,0x80]<br>
> +          vmovups %xmm26, -2048(%rdx)<br>
> +<br>
> +// CHECK: vmovups %xmm26, -2064(%rdx)<br>
> +// CHECK:  encoding: [0x62,0x61,0x7c,0x08,0x11,0x92,0xf0,0xf7,0xff,0xff]<br>
> +          vmovups %xmm26, -2064(%rdx)<br>
> +<br>
> +// CHECK: vmovups %ymm23, (%rcx)<br>
> +// CHECK:  encoding: [0x62,0xe1,0x7c,0x28,0x11,0x39]<br>
> +          vmovups %ymm23, (%rcx)<br>
> +<br>
> +// CHECK: vmovups %ymm23, (%rcx) {%k3}<br>
> +// CHECK:  encoding: [0x62,0xe1,0x7c,0x2b,0x11,0x39]<br>
> +          vmovups %ymm23, (%rcx) {%k3}<br>
> +<br>
> +// CHECK: vmovups %ymm23, 291(%rax,%r14,8)<br>
> +// CHECK:  encoding: [0x62,0xa1,0x7c,0x28,0x11,0xbc,0xf0,0x23,0x01,0x00,0x00]<br>
> +          vmovups %ymm23, 291(%rax,%r14,8)<br>
> +<br>
> +// CHECK: vmovups %ymm23, 4064(%rdx)<br>
> +// CHECK:  encoding: [0x62,0xe1,0x7c,0x28,0x11,0x7a,0x7f]<br>
> +          vmovups %ymm23, 4064(%rdx)<br>
> +<br>
> +// CHECK: vmovups %ymm23, 4096(%rdx)<br>
> +// CHECK:  encoding: [0x62,0xe1,0x7c,0x28,0x11,0xba,0x00,0x10,0x00,0x00]<br>
> +          vmovups %ymm23, 4096(%rdx)<br>
> +<br>
> +// CHECK: vmovups %ymm23, -4096(%rdx)<br>
> +// CHECK:  encoding: [0x62,0xe1,0x7c,0x28,0x11,0x7a,0x80]<br>
> +          vmovups %ymm23, -4096(%rdx)<br>
> +<br>
> +// CHECK: vmovups %ymm23, -4128(%rdx)<br>
> +// CHECK:  encoding: [0x62,0xe1,0x7c,0x28,0x11,0xba,0xe0,0xef,0xff,0xff]<br>
> +          vmovups %ymm23, -4128(%rdx)<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=214719&r1=214718&r2=214719&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/utils/TableGen/X86DisassemblerTables.cpp?rev=214719&r1=214718&r2=214719&view=diff</a><br>

> ==============================================================================<br>
> --- llvm/trunk/utils/TableGen/X86DisassemblerTables.cpp (original)<br>
> +++ llvm/trunk/utils/TableGen/X86DisassemblerTables.cpp Mon Aug  4 09:35:15 2014<br>
> @@ -205,8 +205,19 @@ static inline bool inheritsFrom(Instruct<br>
>   case IC_EVEX_XD_K:<br>
>     return inheritsFrom(child, IC_EVEX_W_XD_K) ||<br>
>            inheritsFrom(child, IC_EVEX_L_W_XD_K);<br>
> +  case IC_EVEX_K_B:<br>
> +  case IC_EVEX_KZ:<br>
> +    return false;<br>
> +  case IC_EVEX_XS_KZ:<br>
> +    return inheritsFrom(child, IC_EVEX_W_XS_KZ) ||<br>
> +           inheritsFrom(child, IC_EVEX_L_W_XS_KZ);<br>
> +  case IC_EVEX_XD_KZ:<br>
> +    return inheritsFrom(child, IC_EVEX_W_XD_KZ) ||<br>
> +           inheritsFrom(child, IC_EVEX_L_W_XD_KZ);<br>
> +  case IC_EVEX_KZ_B:<br>
>   case IC_EVEX_OPSIZE_K:<br>
>   case IC_EVEX_OPSIZE_B:<br>
> +  case IC_EVEX_OPSIZE_KZ:<br>
>     return false;<br>
>   case IC_EVEX_W_K:<br>
>   case IC_EVEX_W_XS_K:<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>
</blockquote></div><br></div></div>