llvm.org GIT mirror llvm / a0a5173
AVX-512: Added all AVX-512 forms of Vector Convert for Float/Double/Int/Long types. In this patch I have only encoding. Intrinsics and DAG lowering will be in the next patch. I temporary removed the old intrinsics test (just to split this patch). Half types are not covered here. Differential Revision: http://reviews.llvm.org/D11134 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@242023 91177308-0d34-0410-b5e6-96231b3b80d8 Elena Demikhovsky 4 years ago
11 changed file(s) with 3140 addition(s) and 219 deletion(s). Raw diff Collapse all Expand all
727727 /// which do not reference a specific memory location should be less than
728728 /// this value. Those that do must not be less than this value, and can
729729 /// be used with SelectionDAG::getMemIntrinsicNode.
730 static const int FIRST_TARGET_MEMORY_OPCODE = BUILTIN_OP_END+200;
730 static const int FIRST_TARGET_MEMORY_OPCODE = BUILTIN_OP_END+300;
731731
732732 //===--------------------------------------------------------------------===//
733733 /// MemIndexedMode enum - This enum defines the load / store indexed
1889818898 case X86ISD::VFPEXT: return "X86ISD::VFPEXT";
1889918899 case X86ISD::VFPROUND: return "X86ISD::VFPROUND";
1890018900 case X86ISD::CVTDQ2PD: return "X86ISD::CVTDQ2PD";
18901 case X86ISD::CVTUDQ2PD: return "X86ISD::CVTUDQ2PD";
1890118902 case X86ISD::VSHLDQ: return "X86ISD::VSHLDQ";
1890218903 case X86ISD::VSRLDQ: return "X86ISD::VSRLDQ";
1890318904 case X86ISD::VSHL: return "X86ISD::VSHL";
1901719018 case X86ISD::MULHRS: return "X86ISD::MULHRS";
1901819019 case X86ISD::SINT_TO_FP_RND: return "X86ISD::SINT_TO_FP_RND";
1901919020 case X86ISD::UINT_TO_FP_RND: return "X86ISD::UINT_TO_FP_RND";
19021 case X86ISD::FP_TO_SINT_RND: return "X86ISD::FP_TO_SINT_RND";
19022 case X86ISD::FP_TO_UINT_RND: return "X86ISD::FP_TO_UINT_RND";
1902019023 }
1902119024 return nullptr;
1902219025 }
291291 // Vector FP round.
292292 VFPROUND,
293293
294 // Vector signed integer to double.
295 CVTDQ2PD,
294 // Vector signed/unsigned integer to double.
295 CVTDQ2PD, CVTUDQ2PD,
296296
297297 // 128-bit vector logical left / right shift
298298 VSHLDQ, VSRLDQ,
427427 //with rounding mode
428428 SINT_TO_FP_RND,
429429 UINT_TO_FP_RND,
430
431 // Vector float/double to signed/unsigned integer.
432 FP_TO_SINT_RND, FP_TO_UINT_RND,
430433 // Save xmm argument registers to the stack, according to %al. An operator
431434 // is needed so that this can be expanded with control flow.
432435 VASTART_SAVE_XMM_REGS,
43994399 def : Pat<(f64 (sint_to_fp GR64:$src)),
44004400 (VCVTSI642SDZrr (f64 (IMPLICIT_DEF)), GR64:$src)>;
44014401
4402 defm VCVTUSI2SSZ : avx512_vcvtsi_common<0x7B, X86SuintToFpRnd, GR32,
4402 defm VCVTUSI2SSZ : avx512_vcvtsi_common<0x7B, X86UintToFpRnd, GR32,
44034403 v4f32x_info, i32mem, loadi32,
44044404 "cvtusi2ss{l}">, XS, EVEX_CD8<32, CD8VT1>;
4405 defm VCVTUSI642SSZ : avx512_vcvtsi_common<0x7B, X86SuintToFpRnd, GR64,
4405 defm VCVTUSI642SSZ : avx512_vcvtsi_common<0x7B, X86UintToFpRnd, GR64,
44064406 v4f32x_info, i64mem, loadi64, "cvtusi2ss{q}">,
44074407 XS, VEX_W, EVEX_CD8<64, CD8VT1>;
4408 defm VCVTUSI2SDZ : avx512_vcvtsi<0x7B, X86SuintToFpRnd, GR32, v2f64x_info,
4408 defm VCVTUSI2SDZ : avx512_vcvtsi<0x7B, X86UintToFpRnd, GR32, v2f64x_info,
44094409 i32mem, loadi32, "cvtusi2sd{l}">,
44104410 XD, VEX_LIG, EVEX_CD8<32, CD8VT1>;
4411 defm VCVTUSI642SDZ : avx512_vcvtsi_common<0x7B, X86SuintToFpRnd, GR64,
4411 defm VCVTUSI642SDZ : avx512_vcvtsi_common<0x7B, X86UintToFpRnd, GR64,
44124412 v2f64x_info, i64mem, loadi64, "cvtusi2sd{q}">,
44134413 XD, VEX_W, EVEX_CD8<64, CD8VT1>;
44144414
46094609 def : Pat<(f32 (fround FR64X:$src)), (VCVTSD2SSZrr FR64X:$src, FR64X:$src)>,
46104610 Requires<[HasAVX512]>;
46114611
4612 multiclass avx512_vcvt_fp_with_rc opc, string asm, RegisterClass SrcRC,
4613 RegisterClass DstRC, SDNode OpNode, PatFrag mem_frag,
4614 X86MemOperand x86memop, ValueType OpVT, ValueType InVT,
4615 Domain d> {
4616 let hasSideEffects = 0 in {
4617 def rr : AVX512PI
4618 !strconcat(asm,"\t{$src, $dst|$dst, $src}"),
4619 [(set DstRC:$dst,
4620 (OpVT (OpNode (InVT SrcRC:$src))))], d>, EVEX;
4621 def rrb : AVX512PI
4622 !strconcat(asm,"\t{$rc, $src, $dst|$dst, $src, $rc}"),
4623 [], d>, EVEX, EVEX_B, EVEX_RC;
4624 let mayLoad = 1 in
4625 def rm : AVX512PI
4626 !strconcat(asm,"\t{$src, $dst|$dst, $src}"),
4627 [(set DstRC:$dst,
4628 (OpVT (OpNode (InVT (bitconvert (mem_frag addr:$src))))))], d>, EVEX;
4629 } // hasSideEffects = 0
4630 }
4631
4632 multiclass avx512_vcvt_fp opc, string asm, RegisterClass SrcRC,
4633 RegisterClass DstRC, SDNode OpNode, PatFrag mem_frag,
4634 X86MemOperand x86memop, ValueType OpVT, ValueType InVT,
4635 Domain d> {
4636 let hasSideEffects = 0 in {
4637 def rr : AVX512PI
4638 !strconcat(asm,"\t{$src, $dst|$dst, $src}"),
4639 [(set DstRC:$dst,
4640 (OpVT (OpNode (InVT SrcRC:$src))))], d>, EVEX;
4641 let mayLoad = 1 in
4642 def rm : AVX512PI
4643 !strconcat(asm,"\t{$src, $dst|$dst, $src}"),
4644 [(set DstRC:$dst,
4645 (OpVT (OpNode (InVT (bitconvert (mem_frag addr:$src))))))], d>, EVEX;
4646 } // hasSideEffects = 0
4647 }
4648
4649 defm VCVTPD2PSZ : avx512_vcvt_fp_with_rc<0x5A, "vcvtpd2ps", VR512, VR256X, fround,
4650 loadv8f64, f512mem, v8f32, v8f64,
4651 SSEPackedSingle>, EVEX_V512, VEX_W, PD,
4652 EVEX_CD8<64, CD8VF>;
4653
4654 defm VCVTPS2PDZ : avx512_vcvt_fp<0x5A, "vcvtps2pd", VR256X, VR512, fextend,
4655 loadv4f64, f256mem, v8f64, v8f32,
4656 SSEPackedDouble>, EVEX_V512, PS,
4657 EVEX_CD8<32, CD8VH>;
4612 //===----------------------------------------------------------------------===//
4613 // AVX-512 Vector convert from signed/unsigned integer to float/double
4614 // and from float/double to signed/unsigned integer
4615 //===----------------------------------------------------------------------===//
4616
4617 multiclass avx512_vcvt_fp opc, string OpcodeStr, X86VectorVTInfo _,
4618 X86VectorVTInfo _Src, SDNode OpNode,
4619 string Broadcast = _.BroadcastStr,
4620 string Alias = ""> {
4621
4622 defm rr : AVX512_maskable
4623 (ins _Src.RC:$src), OpcodeStr, "$src", "$src",
4624 (_.VT (OpNode (_Src.VT _Src.RC:$src)))>, EVEX;
4625
4626 defm rm : AVX512_maskable
4627 (ins _Src.MemOp:$src), OpcodeStr#Alias, "$src", "$src",
4628 (_.VT (OpNode (_Src.VT
4629 (bitconvert (_Src.LdFrag addr:$src)))))>, EVEX;
4630
4631 defm rmb : AVX512_maskable
4632 (ins _Src.MemOp:$src), OpcodeStr,
4633 "${src}"##Broadcast, "${src}"##Broadcast,
4634 (_.VT (OpNode (_Src.VT
4635 (X86VBroadcast (_Src.ScalarLdFrag addr:$src)))
4636 ))>, EVEX, EVEX_B;
4637 }
4638 // Coversion with SAE - suppress all exceptions
4639 multiclass avx512_vcvt_fp_sae opc, string OpcodeStr, X86VectorVTInfo _,
4640 X86VectorVTInfo _Src, SDNode OpNodeRnd> {
4641 defm rrb : AVX512_maskable
4642 (ins _Src.RC:$src), OpcodeStr,
4643 "{sae}, $src", "$src, {sae}",
4644 (_.VT (OpNodeRnd (_Src.VT _Src.RC:$src),
4645 (i32 FROUND_NO_EXC)))>,
4646 EVEX, EVEX_B;
4647 }
4648
4649 // Conversion with rounding control (RC)
4650 multiclass avx512_vcvt_fp_rc opc, string OpcodeStr, X86VectorVTInfo _,
4651 X86VectorVTInfo _Src, SDNode OpNodeRnd> {
4652 defm rrb : AVX512_maskable
4653 (ins _Src.RC:$src, AVX512RC:$rc), OpcodeStr,
4654 "$rc, $src", "$src, $rc",
4655 (_.VT (OpNodeRnd (_Src.VT _Src.RC:$src), (i32 imm:$rc)))>,
4656 EVEX, EVEX_B, EVEX_RC;
4657 }
4658
4659 // Extend Float to Double
4660 multiclass avx512_cvtps2pd opc, string OpcodeStr> {
4661 let Predicates = [HasAVX512] in {
4662 defm Z : avx512_vcvt_fp,
4663 avx512_vcvt_fp_sae
4664 X86vfpextRnd>, EVEX_V512;
4665 }
4666 let Predicates = [HasVLX] in {
4667 defm Z128 : avx512_vcvt_fp
4668 X86vfpext, "{1to2}">, EVEX_V128;
4669 defm Z256 : avx512_vcvt_fp,
4670 EVEX_V256;
4671 }
4672 }
4673
4674 // Truncate Double to Float
4675 multiclass avx512_cvtpd2ps opc, string OpcodeStr> {
4676 let Predicates = [HasAVX512] in {
4677 defm Z : avx512_vcvt_fp,
4678 avx512_vcvt_fp_rc
4679 X86vfproundRnd>, EVEX_V512;
4680 }
4681 let Predicates = [HasVLX] in {
4682 defm Z128 : avx512_vcvt_fp
4683 X86vfpround, "{1to2}", "{x}">, EVEX_V128;
4684 defm Z256 : avx512_vcvt_fp
4685 "{1to4}", "{y}">, EVEX_V256;
4686 }
4687 }
4688
4689 defm VCVTPD2PS : avx512_cvtpd2ps<0x5A, "vcvtpd2ps">,
4690 VEX_W, PD, EVEX_CD8<64, CD8VF>;
4691 defm VCVTPS2PD : avx512_cvtps2pd<0x5A, "vcvtps2pd">,
4692 PS, EVEX_CD8<32, CD8VH>;
4693
46584694 def : Pat<(v8f64 (extloadv8f32 addr:$src)),
46594695 (VCVTPS2PDZrm addr:$src)>;
46604696
4661 def : Pat<(v8f32 (int_x86_avx512_mask_cvtpd2ps_512 (v8f64 VR512:$src),
4662 (bc_v8f32(v8i32 immAllZerosV)), (i8 -1), (i32 FROUND_CURRENT))),
4663 (VCVTPD2PSZrr VR512:$src)>;
4664
4665 def : Pat<(v8f32 (int_x86_avx512_mask_cvtpd2ps_512 (v8f64 VR512:$src),
4666 (bc_v8f32(v8i32 immAllZerosV)), (i8 -1), imm:$rc)),
4667 (VCVTPD2PSZrrb VR512:$src, imm:$rc)>;
4668
4669 //===----------------------------------------------------------------------===//
4670 // AVX-512 Vector convert from sign integer to float/double
4671 //===----------------------------------------------------------------------===//
4672
4673 defm VCVTDQ2PSZ : avx512_vcvt_fp_with_rc<0x5B, "vcvtdq2ps", VR512, VR512, sint_to_fp,
4674 loadv8i64, i512mem, v16f32, v16i32,
4675 SSEPackedSingle>, EVEX_V512, PS,
4676 EVEX_CD8<32, CD8VF>;
4677
4678 defm VCVTDQ2PDZ : avx512_vcvt_fp<0xE6, "vcvtdq2pd", VR256X, VR512, sint_to_fp,
4679 loadv4i64, i256mem, v8f64, v8i32,
4680 SSEPackedDouble>, EVEX_V512, XS,
4697 let Predicates = [HasVLX] in {
4698 def : Pat<(v4f64 (extloadv4f32 addr:$src)),
4699 (VCVTPS2PDZ256rm addr:$src)>;
4700 }
4701
4702 // Convert Signed/Unsigned Doubleword to Double
4703 multiclass avx512_cvtdq2pd opc, string OpcodeStr, SDNode OpNode,
4704 SDNode OpNode128> {
4705 // No rounding in this op
4706 let Predicates = [HasAVX512] in
4707 defm Z : avx512_vcvt_fp,
4708 EVEX_V512;
4709
4710 let Predicates = [HasVLX] in {
4711 defm Z128 : avx512_vcvt_fp
4712 OpNode128, "{1to2}">, EVEX_V128;
4713 defm Z256 : avx512_vcvt_fp,
4714 EVEX_V256;
4715 }
4716 }
4717
4718 // Convert Signed/Unsigned Doubleword to Float
4719 multiclass avx512_cvtdq2ps opc, string OpcodeStr, SDNode OpNode,
4720 SDNode OpNodeRnd> {
4721 let Predicates = [HasAVX512] in
4722 defm Z : avx512_vcvt_fp,
4723 avx512_vcvt_fp_rc
4724 OpNodeRnd>, EVEX_V512;
4725
4726 let Predicates = [HasVLX] in {
4727 defm Z128 : avx512_vcvt_fp,
4728 EVEX_V128;
4729 defm Z256 : avx512_vcvt_fp,
4730 EVEX_V256;
4731 }
4732 }
4733
4734 // Convert Float to Signed/Unsigned Doubleword with truncation
4735 multiclass avx512_cvttps2dq opc, string OpcodeStr,
4736 SDNode OpNode, SDNode OpNodeRnd> {
4737 let Predicates = [HasAVX512] in {
4738 defm Z : avx512_vcvt_fp,
4739 avx512_vcvt_fp_sae
4740 OpNodeRnd>, EVEX_V512;
4741 }
4742 let Predicates = [HasVLX] in {
4743 defm Z128 : avx512_vcvt_fp,
4744 EVEX_V128;
4745 defm Z256 : avx512_vcvt_fp,
4746 EVEX_V256;
4747 }
4748 }
4749
4750 // Convert Float to Signed/Unsigned Doubleword
4751 multiclass avx512_cvtps2dq opc, string OpcodeStr,
4752 SDNode OpNode, SDNode OpNodeRnd> {
4753 let Predicates = [HasAVX512] in {
4754 defm Z : avx512_vcvt_fp,
4755 avx512_vcvt_fp_rc
4756 OpNodeRnd>, EVEX_V512;
4757 }
4758 let Predicates = [HasVLX] in {
4759 defm Z128 : avx512_vcvt_fp,
4760 EVEX_V128;
4761 defm Z256 : avx512_vcvt_fp,
4762 EVEX_V256;
4763 }
4764 }
4765
4766 // Convert Double to Signed/Unsigned Doubleword with truncation
4767 multiclass avx512_cvttpd2dq opc, string OpcodeStr,
4768 SDNode OpNode, SDNode OpNodeRnd> {
4769 let Predicates = [HasAVX512] in {
4770 defm Z : avx512_vcvt_fp,
4771 avx512_vcvt_fp_sae
4772 OpNodeRnd>, EVEX_V512;
4773 }
4774 let Predicates = [HasVLX] in {
4775 // we need "x"/"y" suffixes in order to distinguish between 128 and 256
4776 // memory forms of these instructions in Asm Parcer. They have the same
4777 // dest type - 'v4i32x_info'. We also specify the broadcast string explicitly
4778 // due to the same reason.
4779 defm Z128 : avx512_vcvt_fp
4780 "{1to2}", "{x}">, EVEX_V128;
4781 defm Z256 : avx512_vcvt_fp
4782 "{1to4}", "{y}">, EVEX_V256;
4783 }
4784 }
4785
4786 // Convert Double to Signed/Unsigned Doubleword
4787 multiclass avx512_cvtpd2dq opc, string OpcodeStr,
4788 SDNode OpNode, SDNode OpNodeRnd> {
4789 let Predicates = [HasAVX512] in {
4790 defm Z : avx512_vcvt_fp,
4791 avx512_vcvt_fp_rc
4792 OpNodeRnd>, EVEX_V512;
4793 }
4794 let Predicates = [HasVLX] in {
4795 // we need "x"/"y" suffixes in order to distinguish between 128 and 256
4796 // memory forms of these instructions in Asm Parcer. They have the same
4797 // dest type - 'v4i32x_info'. We also specify the broadcast string explicitly
4798 // due to the same reason.
4799 defm Z128 : avx512_vcvt_fp
4800 "{1to2}", "{x}">, EVEX_V128;
4801 defm Z256 : avx512_vcvt_fp
4802 "{1to4}", "{y}">, EVEX_V256;
4803 }
4804 }
4805
4806 // Convert Double to Signed/Unsigned Quardword
4807 multiclass avx512_cvtpd2qq opc, string OpcodeStr,
4808 SDNode OpNode, SDNode OpNodeRnd> {
4809 let Predicates = [HasDQI] in {
4810 defm Z : avx512_vcvt_fp,
4811 avx512_vcvt_fp_rc
4812 OpNodeRnd>, EVEX_V512;
4813 }
4814 let Predicates = [HasDQI, HasVLX] in {
4815 defm Z128 : avx512_vcvt_fp,
4816 EVEX_V128;
4817 defm Z256 : avx512_vcvt_fp,
4818 EVEX_V256;
4819 }
4820 }
4821
4822 // Convert Double to Signed/Unsigned Quardword with truncation
4823 multiclass avx512_cvttpd2qq opc, string OpcodeStr,
4824 SDNode OpNode, SDNode OpNodeRnd> {
4825 let Predicates = [HasDQI] in {
4826 defm Z : avx512_vcvt_fp,
4827 avx512_vcvt_fp_sae
4828 OpNodeRnd>, EVEX_V512;
4829 }
4830 let Predicates = [HasDQI, HasVLX] in {
4831 defm Z128 : avx512_vcvt_fp,
4832 EVEX_V128;
4833 defm Z256 : avx512_vcvt_fp,
4834 EVEX_V256;
4835 }
4836 }
4837
4838 // Convert Signed/Unsigned Quardword to Double
4839 multiclass avx512_cvtqq2pd opc, string OpcodeStr,
4840 SDNode OpNode, SDNode OpNodeRnd> {
4841 let Predicates = [HasDQI] in {
4842 defm Z : avx512_vcvt_fp,
4843 avx512_vcvt_fp_rc
4844 OpNodeRnd>, EVEX_V512;
4845 }
4846 let Predicates = [HasDQI, HasVLX] in {
4847 defm Z128 : avx512_vcvt_fp,
4848 EVEX_V128;
4849 defm Z256 : avx512_vcvt_fp,
4850 EVEX_V256;
4851 }
4852 }
4853
4854 // Convert Float to Signed/Unsigned Quardword
4855 multiclass avx512_cvtps2qq opc, string OpcodeStr,
4856 SDNode OpNode, SDNode OpNodeRnd> {
4857 let Predicates = [HasDQI] in {
4858 defm Z : avx512_vcvt_fp,
4859 avx512_vcvt_fp_rc
4860 OpNodeRnd>, EVEX_V512;
4861 }
4862 let Predicates = [HasDQI, HasVLX] in {
4863 // Explicitly specified broadcast string, since we take only 2 elements
4864 // from v4f32x_info source
4865 defm Z128 : avx512_vcvt_fp
4866 "{1to2}">, EVEX_V128;
4867 defm Z256 : avx512_vcvt_fp,
4868 EVEX_V256;
4869 }
4870 }
4871
4872 // Convert Float to Signed/Unsigned Quardword with truncation
4873 multiclass avx512_cvttps2qq opc, string OpcodeStr,
4874 SDNode OpNode, SDNode OpNodeRnd> {
4875 let Predicates = [HasDQI] in {
4876 defm Z : avx512_vcvt_fp,
4877 avx512_vcvt_fp_sae
4878 OpNodeRnd>, EVEX_V512;
4879 }
4880 let Predicates = [HasDQI, HasVLX] in {
4881 // Explicitly specified broadcast string, since we take only 2 elements
4882 // from v4f32x_info source
4883 defm Z128 : avx512_vcvt_fp
4884 "{1to2}">, EVEX_V128;
4885 defm Z256 : avx512_vcvt_fp,
4886 EVEX_V256;
4887 }
4888 }
4889
4890 // Convert Signed/Unsigned Quardword to Float
4891 multiclass avx512_cvtqq2ps opc, string OpcodeStr,
4892 SDNode OpNode, SDNode OpNodeRnd> {
4893 let Predicates = [HasDQI] in {
4894 defm Z : avx512_vcvt_fp,
4895 avx512_vcvt_fp_rc
4896 OpNodeRnd>, EVEX_V512;
4897 }
4898 let Predicates = [HasDQI, HasVLX] in {
4899 // we need "x"/"y" suffixes in order to distinguish between 128 and 256
4900 // memory forms of these instructions in Asm Parcer. They have the same
4901 // dest type - 'v4i32x_info'. We also specify the broadcast string explicitly
4902 // due to the same reason.
4903 defm Z128 : avx512_vcvt_fp
4904 "{1to2}", "{x}">, EVEX_V128;
4905 defm Z256 : avx512_vcvt_fp
4906 "{1to4}", "{y}">, EVEX_V256;
4907 }
4908 }
4909
4910 defm VCVTDQ2PD : avx512_cvtdq2pd<0xE6, "vcvtdq2pd", sint_to_fp, X86cvtdq2pd>, XS,
46814911 EVEX_CD8<32, CD8VH>;
46824912
4683 defm VCVTTPS2DQZ : avx512_vcvt_fp<0x5B, "vcvttps2dq", VR512, VR512, fp_to_sint,
4684 loadv16f32, f512mem, v16i32, v16f32,
4685 SSEPackedSingle>, EVEX_V512, XS,
4913 defm VCVTDQ2PS : avx512_cvtdq2ps<0x5B, "vcvtdq2ps", sint_to_fp,
4914 X86VSintToFpRnd>,
4915 PS, EVEX_CD8<32, CD8VF>;
4916
4917 defm VCVTTPS2DQ : avx512_cvttps2dq<0x5B, "vcvttps2dq", fp_to_sint,
4918 X86VFpToSintRnd>,
4919 XS, EVEX_CD8<32, CD8VF>;
4920
4921 defm VCVTTPD2DQ : avx512_cvttpd2dq<0xE6, "vcvttpd2dq", fp_to_sint,
4922 X86VFpToSintRnd>,
4923 PD, VEX_W, EVEX_CD8<64, CD8VF>;
4924
4925 defm VCVTTPS2UDQ : avx512_cvttps2dq<0x78, "vcvttps2udq", fp_to_uint,
4926 X86VFpToUintRnd>, PS,
46864927 EVEX_CD8<32, CD8VF>;
46874928
4688 defm VCVTTPD2DQZ : avx512_vcvt_fp<0xE6, "vcvttpd2dq", VR512, VR256X, fp_to_sint,
4689 loadv8f64, f512mem, v8i32, v8f64,
4690 SSEPackedDouble>, EVEX_V512, PD, VEX_W,
4929 defm VCVTTPD2UDQ : avx512_cvttpd2dq<0x78, "vcvttpd2udq", fp_to_uint,
4930 X86VFpToUintRnd>, PS, VEX_W,
46914931 EVEX_CD8<64, CD8VF>;
46924932
4693 defm VCVTTPS2UDQZ : avx512_vcvt_fp<0x78, "vcvttps2udq", VR512, VR512, fp_to_uint,
4694 loadv16f32, f512mem, v16i32, v16f32,
4695 SSEPackedSingle>, EVEX_V512, PS,
4933 defm VCVTUDQ2PD : avx512_cvtdq2pd<0x7A, "vcvtudq2pd", uint_to_fp, X86cvtudq2pd>,
4934 XS, EVEX_CD8<32, CD8VH>;
4935
4936 defm VCVTUDQ2PS : avx512_cvtdq2ps<0x7A, "vcvtudq2ps", uint_to_fp,
4937 X86VUintToFpRnd>, XD,
46964938 EVEX_CD8<32, CD8VF>;
46974939
4698 // cvttps2udq (src, 0, mask-all-ones, sae-current)
4699 def : Pat<(v16i32 (int_x86_avx512_mask_cvttps2udq_512 (v16f32 VR512:$src),
4700 (v16i32 immAllZerosV), (i16 -1), FROUND_CURRENT)),
4701 (VCVTTPS2UDQZrr VR512:$src)>;
4702
4703 defm VCVTTPD2UDQZ : avx512_vcvt_fp<0x78, "vcvttpd2udq", VR512, VR256X, fp_to_uint,
4704 loadv8f64, f512mem, v8i32, v8f64,
4705 SSEPackedDouble>, EVEX_V512, PS, VEX_W,
4940 defm VCVTPS2DQ : avx512_cvtps2dq<0x5B, "vcvtps2dq", X86cvtps2Int,
4941 X86cvtps2IntRnd>, PD, EVEX_CD8<32, CD8VF>;
4942
4943 defm VCVTPD2DQ : avx512_cvtpd2dq<0xE6, "vcvtpd2dq", X86cvtpd2Int,
4944 X86cvtpd2IntRnd>, XD, VEX_W,
47064945 EVEX_CD8<64, CD8VF>;
47074946
4708 // cvttpd2udq (src, 0, mask-all-ones, sae-current)
4709 def : Pat<(v8i32 (int_x86_avx512_mask_cvttpd2udq_512 (v8f64 VR512:$src),
4710 (v8i32 immAllZerosV), (i8 -1), FROUND_CURRENT)),
4711 (VCVTTPD2UDQZrr VR512:$src)>;
4712
4713 defm VCVTUDQ2PDZ : avx512_vcvt_fp<0x7A, "vcvtudq2pd", VR256X, VR512, uint_to_fp,
4714 loadv4i64, f256mem, v8f64, v8i32,
4715 SSEPackedDouble>, EVEX_V512, XS,
4716 EVEX_CD8<32, CD8VH>;
4717
4718 defm VCVTUDQ2PSZ : avx512_vcvt_fp_with_rc<0x7A, "vcvtudq2ps", VR512, VR512, uint_to_fp,
4719 loadv16i32, f512mem, v16f32, v16i32,
4720 SSEPackedSingle>, EVEX_V512, XD,
4721 EVEX_CD8<32, CD8VF>;
4722
4947 defm VCVTPS2UDQ : avx512_cvtps2dq<0x79, "vcvtps2udq", X86cvtps2UInt,
4948 X86cvtps2UIntRnd>,
4949 PS, EVEX_CD8<32, CD8VF>;
4950 defm VCVTPD2UDQ : avx512_cvtpd2dq<0x79, "vcvtpd2udq", X86cvtpd2UInt,
4951 X86cvtpd2UIntRnd>, VEX_W,
4952 PS, EVEX_CD8<64, CD8VF>;
4953
4954 defm VCVTPD2QQ : avx512_cvtpd2qq<0x7B, "vcvtpd2qq", X86cvtpd2Int,
4955 X86cvtpd2IntRnd>, VEX_W,
4956 PD, EVEX_CD8<64, CD8VF>;
4957
4958 defm VCVTPS2QQ : avx512_cvtps2qq<0x7B, "vcvtps2qq", X86cvtps2Int,
4959 X86cvtps2IntRnd>, PD, EVEX_CD8<32, CD8VH>;
4960
4961 defm VCVTPD2UQQ : avx512_cvtpd2qq<0x79, "vcvtpd2uqq", X86cvtpd2UInt,
4962 X86cvtpd2UIntRnd>, VEX_W,
4963 PD, EVEX_CD8<64, CD8VF>;
4964
4965 defm VCVTPS2UQQ : avx512_cvtps2qq<0x79, "vcvtps2uqq", X86cvtps2UInt,
4966 X86cvtps2UIntRnd>, PD, EVEX_CD8<32, CD8VH>;
4967
4968 defm VCVTTPD2QQ : avx512_cvttpd2qq<0x7A, "vcvttpd2qq", fp_to_sint,
4969 X86VFpToSlongRnd>, VEX_W,
4970 PD, EVEX_CD8<64, CD8VF>;
4971
4972 defm VCVTTPS2QQ : avx512_cvttps2qq<0x7A, "vcvttps2qq", fp_to_sint,
4973 X86VFpToSlongRnd>, PD, EVEX_CD8<32, CD8VH>;
4974
4975 defm VCVTTPD2UQQ : avx512_cvttpd2qq<0x78, "vcvttpd2uqq", fp_to_uint,
4976 X86VFpToUlongRnd>, VEX_W,
4977 PD, EVEX_CD8<64, CD8VF>;
4978
4979 defm VCVTTPS2UQQ : avx512_cvttps2qq<0x78, "vcvttps2uqq", fp_to_uint,
4980 X86VFpToUlongRnd>, PD, EVEX_CD8<32, CD8VH>;
4981
4982 defm VCVTQQ2PD : avx512_cvtqq2pd<0xE6, "vcvtqq2pd", sint_to_fp,
4983 X86VSlongToFpRnd>, VEX_W, XS, EVEX_CD8<64, CD8VF>;
4984
4985 defm VCVTUQQ2PD : avx512_cvtqq2pd<0x7A, "vcvtuqq2pd", uint_to_fp,
4986 X86VUlongToFpRnd>, VEX_W, XS, EVEX_CD8<64, CD8VF>;
4987
4988 defm VCVTQQ2PS : avx512_cvtqq2ps<0x5B, "vcvtqq2ps", sint_to_fp,
4989 X86VSlongToFpRnd>, VEX_W, PS, EVEX_CD8<64, CD8VF>;
4990
4991 defm VCVTUQQ2PS : avx512_cvtqq2ps<0x7A, "vcvtuqq2ps", uint_to_fp,
4992 X86VUlongToFpRnd>, VEX_W, XD, EVEX_CD8<64, CD8VF>;
4993
4994 let Predicates = [NoVLX] in {
47234995 def : Pat<(v8i32 (fp_to_uint (v8f32 VR256X:$src1))),
47244996 (EXTRACT_SUBREG (v16i32 (VCVTTPS2UDQZrr
47254997 (v16f32 (SUBREG_TO_REG (i32 0), VR256X:$src1, sub_ymm)))), sub_ymm)>;
47395011 def : Pat<(v4f64 (uint_to_fp (v4i32 VR128X:$src1))),
47405012 (EXTRACT_SUBREG (v8f64 (VCVTUDQ2PDZrr
47415013 (v8i32 (SUBREG_TO_REG (i32 0), VR128X:$src1, sub_xmm)))), sub_ymm)>;
4742
4743 def : Pat<(v16f32 (int_x86_avx512_mask_cvtdq2ps_512 (v16i32 VR512:$src),
4744 (bc_v16f32 (v16i32 immAllZerosV)), (i16 -1), imm:$rc)),
4745 (VCVTDQ2PSZrrb VR512:$src, imm:$rc)>;
4746 def : Pat<(v8f64 (int_x86_avx512_mask_cvtdq2pd_512 (v8i32 VR256X:$src),
4747 (bc_v8f64 (v16i32 immAllZerosV)), (i8 -1))),
4748 (VCVTDQ2PDZrr VR256X:$src)>;
4749 def : Pat<(v16f32 (int_x86_avx512_mask_cvtudq2ps_512 (v16i32 VR512:$src),
4750 (bc_v16f32 (v16i32 immAllZerosV)), (i16 -1), imm:$rc)),
4751 (VCVTUDQ2PSZrrb VR512:$src, imm:$rc)>;
4752 def : Pat<(v8f64 (int_x86_avx512_mask_cvtudq2pd_512 (v8i32 VR256X:$src),
4753 (bc_v8f64 (v16i32 immAllZerosV)), (i8 -1))),
4754 (VCVTUDQ2PDZrr VR256X:$src)>;
4755
4756 multiclass avx512_vcvt_fp2int opc, string asm, RegisterClass SrcRC,
4757 RegisterClass DstRC, PatFrag mem_frag,
4758 X86MemOperand x86memop, Domain d> {
4759 let hasSideEffects = 0 in {
4760 def rr : AVX512PI
4761 !strconcat(asm,"\t{$src, $dst|$dst, $src}"),
4762 [], d>, EVEX;
4763 def rrb : AVX512PI
4764 !strconcat(asm,"\t{$rc, $src, $dst|$dst, $src, $rc}"),
4765 [], d>, EVEX, EVEX_B, EVEX_RC;
4766 let mayLoad = 1 in
4767 def rm : AVX512PI
4768 !strconcat(asm,"\t{$src, $dst|$dst, $src}"),
4769 [], d>, EVEX;
4770 } // hasSideEffects = 0
4771 }
4772
4773 defm VCVTPS2DQZ : avx512_vcvt_fp2int<0x5B, "vcvtps2dq", VR512, VR512,
4774 loadv16f32, f512mem, SSEPackedSingle>, PD,
4775 EVEX_V512, EVEX_CD8<32, CD8VF>;
4776 defm VCVTPD2DQZ : avx512_vcvt_fp2int<0xE6, "vcvtpd2dq", VR512, VR256X,
4777 loadv8f64, f512mem, SSEPackedDouble>, XD, VEX_W,
4778 EVEX_V512, EVEX_CD8<64, CD8VF>;
4779
4780 def : Pat <(v16i32 (int_x86_avx512_mask_cvtps2dq_512 (v16f32 VR512:$src),
4781 (v16i32 immAllZerosV), (i16 -1), imm:$rc)),
4782 (VCVTPS2DQZrrb VR512:$src, imm:$rc)>;
4783
4784 def : Pat <(v8i32 (int_x86_avx512_mask_cvtpd2dq_512 (v8f64 VR512:$src),
4785 (v8i32 immAllZerosV), (i8 -1), imm:$rc)),
4786 (VCVTPD2DQZrrb VR512:$src, imm:$rc)>;
4787
4788 defm VCVTPS2UDQZ : avx512_vcvt_fp2int<0x79, "vcvtps2udq", VR512, VR512,
4789 loadv16f32, f512mem, SSEPackedSingle>,
4790 PS, EVEX_V512, EVEX_CD8<32, CD8VF>;
4791 defm VCVTPD2UDQZ : avx512_vcvt_fp2int<0x79, "vcvtpd2udq", VR512, VR256X,
4792 loadv8f64, f512mem, SSEPackedDouble>, VEX_W,
4793 PS, EVEX_V512, EVEX_CD8<64, CD8VF>;
4794
4795 def : Pat <(v16i32 (int_x86_avx512_mask_cvtps2udq_512 (v16f32 VR512:$src),
4796 (v16i32 immAllZerosV), (i16 -1), imm:$rc)),
4797 (VCVTPS2UDQZrrb VR512:$src, imm:$rc)>;
4798
4799 def : Pat <(v8i32 (int_x86_avx512_mask_cvtpd2udq_512 (v8f64 VR512:$src),
4800 (v8i32 immAllZerosV), (i8 -1), imm:$rc)),
4801 (VCVTPD2UDQZrrb VR512:$src, imm:$rc)>;
5014 }
48025015
48035016 let Predicates = [HasAVX512] in {
48045017 def : Pat<(v8f32 (fround (loadv8f64 addr:$src))),
6767 def X86cmps : SDNode<"X86ISD::FSETCC", SDTX86Cmps>;
6868 //def X86cmpsd : SDNode<"X86ISD::FSETCCsd", SDTX86Cmpsd>;
6969 def X86cvtdq2pd: SDNode<"X86ISD::CVTDQ2PD",
70 SDTypeProfile<1, 1, [SDTCisVT<0, v2f64>,
71 SDTCisVT<1, v4i32>]>>;
72 def X86cvtudq2pd: SDNode<"X86ISD::CVTUDQ2PD",
7073 SDTypeProfile<1, 1, [SDTCisVT<0, v2f64>,
7174 SDTCisVT<1, v4i32>]>>;
7275 def X86pshufb : SDNode<"X86ISD::PSHUFB",
360363 def SDTintToFPRound: SDTypeProfile<1, 3, [SDTCisVec<0>, SDTCisFP<0>,
361364 SDTCisSameAs<0,1>, SDTCisInt<2>, SDTCisInt<3>]>;
362365
363 def X86SintToFpRnd : SDNode<"X86ISD::SINT_TO_FP_RND", SDTintToFPRound>;
364 def X86SuintToFpRnd : SDNode<"X86ISD::UINT_TO_FP_RND", SDTintToFPRound>;
366 def SDTDoubleToInt: SDTypeProfile<1, 1, [SDTCisVec<0>, SDTCisVec<1>,
367 SDTCisInt<0>, SDTCVecEltisVT<1, f64>]>;
368 def SDTFloatToInt: SDTypeProfile<1, 1, [SDTCisVec<0>, SDTCisVec<1>,
369 SDTCisInt<0>, SDTCVecEltisVT<1, f32>]>;
370
371 def SDTDoubleToIntRnd: SDTypeProfile<1, 2, [SDTCisVec<0>, SDTCisVec<1>,
372 SDTCisInt<0>, SDTCVecEltisVT<1, f64>]>;
373 def SDTFloatToIntRnd: SDTypeProfile<1, 2, [SDTCisVec<0>, SDTCisVec<1>,
374 SDTCisInt<0>, SDTCVecEltisVT<1, f32>]>;
375
376 def SDTVintToFPRound: SDTypeProfile<1, 2, [SDTCisVec<0>, SDTCisVec<1>,
377 SDTCisFP<0>, SDTCVecEltisVT<1, i32>,
378 SDTCisInt<2>]>;
379 def SDTVlongToFPRound: SDTypeProfile<1, 2, [SDTCisVec<0>, SDTCisVec<1>,
380 SDTCisFP<0>, SDTCVecEltisVT<1, i64>,
381 SDTCisInt<2>]>;
382
383 def SDTVFPToIntRound: SDTypeProfile<1, 2, [SDTCisVec<0>, SDTCisVec<1>,
384 SDTCisFP<1>, SDTCVecEltisVT<0, i32>,
385 SDTCisInt<2>]>;
386 def SDTVFPToLongRound: SDTypeProfile<1, 2, [SDTCisVec<0>, SDTCisVec<1>,
387 SDTCisFP<1>, SDTCVecEltisVT<0, i64>,
388 SDTCisInt<2>]>;
389
390 // Scalar
391 def X86SintToFpRnd : SDNode<"X86ISD::SINT_TO_FP_RND", SDTintToFPRound>;
392 def X86UintToFpRnd : SDNode<"X86ISD::UINT_TO_FP_RND", SDTintToFPRound>;
393
394 // Vector with rounding mode
395
396 // cvtt fp-to-int staff
397 def X86VFpToSintRnd : SDNode<"ISD::FP_TO_SINT", SDTVFPToIntRound>;
398 def X86VFpToUintRnd : SDNode<"ISD::FP_TO_UINT", SDTVFPToIntRound>;
399 def X86VFpToSlongRnd : SDNode<"ISD::FP_TO_SINT", SDTVFPToLongRound>;
400 def X86VFpToUlongRnd : SDNode<"ISD::FP_TO_UINT", SDTVFPToLongRound>;
401
402 def X86VSintToFpRnd : SDNode<"ISD::SINT_TO_FP", SDTVintToFPRound>;
403 def X86VUintToFpRnd : SDNode<"ISD::UINT_TO_FP", SDTVintToFPRound>;
404 def X86VSlongToFpRnd : SDNode<"ISD::SINT_TO_FP", SDTVlongToFPRound>;
405 def X86VUlongToFpRnd : SDNode<"ISD::UINT_TO_FP", SDTVlongToFPRound>;
406
407 // cvt fp-to-int staff
408 def X86cvtps2IntRnd : SDNode<"X86ISD::FP_TO_SINT_RND", SDTFloatToIntRnd>;
409 def X86cvtps2UIntRnd : SDNode<"X86ISD::FP_TO_UINT_RND", SDTFloatToIntRnd>;
410 def X86cvtpd2IntRnd : SDNode<"X86ISD::FP_TO_SINT_RND", SDTDoubleToIntRnd>;
411 def X86cvtpd2UIntRnd : SDNode<"X86ISD::FP_TO_UINT_RND", SDTDoubleToIntRnd>;
412
413 // Vector without rounding mode
414 def X86cvtps2Int : SDNode<"X86ISD::FP_TO_SINT_RND", SDTFloatToInt>;
415 def X86cvtps2UInt : SDNode<"X86ISD::FP_TO_UINT_RND", SDTFloatToInt>;
416 def X86cvtpd2Int : SDNode<"X86ISD::FP_TO_SINT_RND", SDTDoubleToInt>;
417 def X86cvtpd2UInt : SDNode<"X86ISD::FP_TO_UINT_RND", SDTDoubleToInt>;
418
419 def X86vfpextRnd : SDNode<"X86ISD::VFPEXT",
420 SDTypeProfile<1, 2, [SDTCisVec<0>, SDTCisVec<1>,
421 SDTCisFP<0>, SDTCisFP<1>,
422 SDTCisOpSmallerThanOp<1, 0>,
423 SDTCisInt<2>]>>;
424 def X86vfproundRnd: SDNode<"X86ISD::VFPROUND",
425 SDTypeProfile<1, 2, [SDTCisVec<0>, SDTCisVec<1>,
426 SDTCisFP<0>, SDTCisFP<1>,
427 SDTCVecEltisVT<0, f32>,
428 SDTCVecEltisVT<1, f64>,
429 SDTCisInt<2>]>>;
365430
366431 //===----------------------------------------------------------------------===//
367432 // SSE Complex Patterns
405405 }
406406 declare <8 x i64> @llvm.x86.avx512.mask.blend.q.512(<8 x i64>, <8 x i64>, i8) nounwind readonly
407407
408 define <8 x i32> @test_cvtpd2udq(<8 x double> %a) {
409 ;CHECK: vcvtpd2udq {ru-sae}{{.*}}encoding: [0x62,0xf1,0xfc,0x58,0x79,0xc0]
410 %res = call <8 x i32> @llvm.x86.avx512.mask.cvtpd2udq.512(<8 x double> %a, <8 x i32>zeroinitializer, i8 -1, i32 2)
411 ret <8 x i32>%res
412 }
413 declare <8 x i32> @llvm.x86.avx512.mask.cvtpd2udq.512(<8 x double>, <8 x i32>, i8, i32)
414
415 define <16 x i32> @test_cvtps2udq(<16 x float> %a) {
416 ;CHECK: vcvtps2udq {rd-sae}{{.*}}encoding: [0x62,0xf1,0x7c,0x38,0x79,0xc0]
417 %res = call <16 x i32> @llvm.x86.avx512.mask.cvtps2udq.512(<16 x float> %a, <16 x i32>zeroinitializer, i16 -1, i32 1)
418 ret <16 x i32>%res
419 }
420 declare <16 x i32> @llvm.x86.avx512.mask.cvtps2udq.512(<16 x float>, <16 x i32>, i16, i32)
421
422408 define i16 @test_cmpps(<16 x float> %a, <16 x float> %b) {
423409 ;CHECK: vcmpleps {sae}{{.*}}encoding: [0x62,0xf1,0x7c,0x18,0xc2,0xc1,0x02]
424410 %res = call i16 @llvm.x86.avx512.mask.cmp.ps.512(<16 x float> %a, <16 x float> %b, i32 2, i16 -1, i32 8)
433419 }
434420 declare i8 @llvm.x86.avx512.mask.cmp.pd.512(<8 x double> , <8 x double> , i32, i8, i32)
435421
436 ; cvt intrinsics
437 define <16 x float> @test_cvtdq2ps(<16 x i32> %a) {
438 ;CHECK: vcvtdq2ps {rd-sae}{{.*}}encoding: [0x62,0xf1,0x7c,0x38,0x5b,0xc0]
439 %res = call <16 x float> @llvm.x86.avx512.mask.cvtdq2ps.512(<16 x i32> %a, <16 x float>zeroinitializer, i16 -1, i32 1)
440 ret <16 x float>%res
441 }
442 declare <16 x float> @llvm.x86.avx512.mask.cvtdq2ps.512(<16 x i32>, <16 x float>, i16, i32)
443
444 define <16 x float> @test_cvtudq2ps(<16 x i32> %a) {
445 ;CHECK: vcvtudq2ps {rd-sae}{{.*}}encoding: [0x62,0xf1,0x7f,0x38,0x7a,0xc0]
446 %res = call <16 x float> @llvm.x86.avx512.mask.cvtudq2ps.512(<16 x i32> %a, <16 x float>zeroinitializer, i16 -1, i32 1)
447 ret <16 x float>%res
448 }
449 declare <16 x float> @llvm.x86.avx512.mask.cvtudq2ps.512(<16 x i32>, <16 x float>, i16, i32)
450
451 define <8 x double> @test_cvtdq2pd(<8 x i32> %a) {
452 ;CHECK: vcvtdq2pd {{.*}}encoding: [0x62,0xf1,0x7e,0x48,0xe6,0xc0]
453 %res = call <8 x double> @llvm.x86.avx512.mask.cvtdq2pd.512(<8 x i32> %a, <8 x double>zeroinitializer, i8 -1)
454 ret <8 x double>%res
455 }
456 declare <8 x double> @llvm.x86.avx512.mask.cvtdq2pd.512(<8 x i32>, <8 x double>, i8)
457
458 define <8 x double> @test_cvtudq2pd(<8 x i32> %a) {
459 ;CHECK: vcvtudq2pd {{.*}}encoding: [0x62,0xf1,0x7e,0x48,0x7a,0xc0]
460 %res = call <8 x double> @llvm.x86.avx512.mask.cvtudq2pd.512(<8 x i32> %a, <8 x double>zeroinitializer, i8 -1)
461 ret <8 x double>%res
462 }
463 declare <8 x double> @llvm.x86.avx512.mask.cvtudq2pd.512(<8 x i32>, <8 x double>, i8)
464
465422 ; fp min - max
466423 define <8 x double> @test_vmaxpd(<8 x double> %a0, <8 x double> %a1) {
467424 ; CHECK: vmaxpd
480437 }
481438 declare <8 x double> @llvm.x86.avx512.mask.min.pd.512(<8 x double>, <8 x double>,
482439 <8 x double>, i8, i32)
483
484 define <8 x float> @test_cvtpd2ps(<8 x double> %a) {
485 ;CHECK: vcvtpd2ps {rd-sae}{{.*}}encoding: [0x62,0xf1,0xfd,0x38,0x5a,0xc0]
486 %res = call <8 x float> @llvm.x86.avx512.mask.cvtpd2ps.512(<8 x double> %a, <8 x float>zeroinitializer, i8 -1, i32 1)
487 ret <8 x float>%res
488 }
489 declare <8 x float> @llvm.x86.avx512.mask.cvtpd2ps.512(<8 x double>, <8 x float>, i8, i32)
490440
491441 declare <16 x i32> @llvm.x86.avx512.mask.pabs.d.512(<16 x i32>, <16 x i32>, i16)
492442
1271312713 // CHECK: encoding: [0x62,0xe2,0x4d,0x58,0x2c,0x9a,0xfc,0xfd,0xff,0xff]
1271412714 vscalefps -516(%rdx){1to16}, %zmm6, %zmm19
1271512715
12716 // CHECK: vcvtps2pd %ymm6, %zmm13
12717 // CHECK: encoding: [0x62,0x71,0x7c,0x48,0x5a,0xee]
12718 vcvtps2pd %ymm6, %zmm13
12719
12720 // CHECK: vcvtps2pd %ymm6, %zmm13 {%k3}
12721 // CHECK: encoding: [0x62,0x71,0x7c,0x4b,0x5a,0xee]
12722 vcvtps2pd %ymm6, %zmm13 {%k3}
12723
12724 // CHECK: vcvtps2pd %ymm6, %zmm13 {%k3} {z}
12725 // CHECK: encoding: [0x62,0x71,0x7c,0xcb,0x5a,0xee]
12726 vcvtps2pd %ymm6, %zmm13 {%k3} {z}
12727
12728 // CHECK: vcvtps2pd {sae}, %ymm6, %zmm13
12729 // CHECK: encoding: [0x62,0x71,0x7c,0x18,0x5a,0xee]
12730 vcvtps2pd {sae}, %ymm6, %zmm13
12731
12732 // CHECK: vcvtps2pd (%rcx), %zmm13
12733 // CHECK: encoding: [0x62,0x71,0x7c,0x48,0x5a,0x29]
12734 vcvtps2pd (%rcx), %zmm13
12735
12736 // CHECK: vcvtps2pd 291(%rax,%r14,8), %zmm13
12737 // CHECK: encoding: [0x62,0x31,0x7c,0x48,0x5a,0xac,0xf0,0x23,0x01,0x00,0x00]
12738 vcvtps2pd 291(%rax,%r14,8), %zmm13
12739
12740 // CHECK: vcvtps2pd (%rcx){1to8}, %zmm13
12741 // CHECK: encoding: [0x62,0x71,0x7c,0x58,0x5a,0x29]
12742 vcvtps2pd (%rcx){1to8}, %zmm13
12743
12744 // CHECK: vcvtps2pd 4064(%rdx), %zmm13
12745 // CHECK: encoding: [0x62,0x71,0x7c,0x48,0x5a,0x6a,0x7f]
12746 vcvtps2pd 4064(%rdx), %zmm13
12747
12748 // CHECK: vcvtps2pd 4096(%rdx), %zmm13
12749 // CHECK: encoding: [0x62,0x71,0x7c,0x48,0x5a,0xaa,0x00,0x10,0x00,0x00]
12750 vcvtps2pd 4096(%rdx), %zmm13
12751
12752 // CHECK: vcvtps2pd -4096(%rdx), %zmm13
12753 // CHECK: encoding: [0x62,0x71,0x7c,0x48,0x5a,0x6a,0x80]
12754 vcvtps2pd -4096(%rdx), %zmm13
12755
12756 // CHECK: vcvtps2pd -4128(%rdx), %zmm13
12757 // CHECK: encoding: [0x62,0x71,0x7c,0x48,0x5a,0xaa,0xe0,0xef,0xff,0xff]
12758 vcvtps2pd -4128(%rdx), %zmm13
12759
12760 // CHECK: vcvtps2pd 508(%rdx){1to8}, %zmm13
12761 // CHECK: encoding: [0x62,0x71,0x7c,0x58,0x5a,0x6a,0x7f]
12762 vcvtps2pd 508(%rdx){1to8}, %zmm13
12763
12764 // CHECK: vcvtps2pd 512(%rdx){1to8}, %zmm13
12765 // CHECK: encoding: [0x62,0x71,0x7c,0x58,0x5a,0xaa,0x00,0x02,0x00,0x00]
12766 vcvtps2pd 512(%rdx){1to8}, %zmm13
12767
12768 // CHECK: vcvtps2pd -512(%rdx){1to8}, %zmm13
12769 // CHECK: encoding: [0x62,0x71,0x7c,0x58,0x5a,0x6a,0x80]
12770 vcvtps2pd -512(%rdx){1to8}, %zmm13
12771
12772 // CHECK: vcvtps2pd -516(%rdx){1to8}, %zmm13
12773 // CHECK: encoding: [0x62,0x71,0x7c,0x58,0x5a,0xaa,0xfc,0xfd,0xff,0xff]
12774 vcvtps2pd -516(%rdx){1to8}, %zmm13
12775
12776 // CHECK: vcvtpd2ps %zmm23, %ymm5
12777 // CHECK: encoding: [0x62,0xb1,0xfd,0x48,0x5a,0xef]
12778 vcvtpd2ps %zmm23, %ymm5
12779
12780 // CHECK: vcvtpd2ps %zmm23, %ymm5 {%k5}
12781 // CHECK: encoding: [0x62,0xb1,0xfd,0x4d,0x5a,0xef]
12782 vcvtpd2ps %zmm23, %ymm5 {%k5}
12783
12784 // CHECK: vcvtpd2ps %zmm23, %ymm5 {%k5} {z}
12785 // CHECK: encoding: [0x62,0xb1,0xfd,0xcd,0x5a,0xef]
12786 vcvtpd2ps %zmm23, %ymm5 {%k5} {z}
12787
12788 // CHECK: vcvtpd2ps {rn-sae}, %zmm23, %ymm5
12789 // CHECK: encoding: [0x62,0xb1,0xfd,0x18,0x5a,0xef]
12790 vcvtpd2ps {rn-sae}, %zmm23, %ymm5
12791
12792 // CHECK: vcvtpd2ps {ru-sae}, %zmm23, %ymm5
12793 // CHECK: encoding: [0x62,0xb1,0xfd,0x58,0x5a,0xef]
12794 vcvtpd2ps {ru-sae}, %zmm23, %ymm5
12795
12796 // CHECK: vcvtpd2ps {rd-sae}, %zmm23, %ymm5
12797 // CHECK: encoding: [0x62,0xb1,0xfd,0x38,0x5a,0xef]
12798 vcvtpd2ps {rd-sae}, %zmm23, %ymm5
12799
12800 // CHECK: vcvtpd2ps {rz-sae}, %zmm23, %ymm5
12801 // CHECK: encoding: [0x62,0xb1,0xfd,0x78,0x5a,0xef]
12802 vcvtpd2ps {rz-sae}, %zmm23, %ymm5
12803
12804 // CHECK: vcvtpd2ps (%rcx), %ymm5
12805 // CHECK: encoding: [0x62,0xf1,0xfd,0x48,0x5a,0x29]
12806 vcvtpd2ps (%rcx), %ymm5
12807
12808 // CHECK: vcvtpd2ps 291(%rax,%r14,8), %ymm5
12809 // CHECK: encoding: [0x62,0xb1,0xfd,0x48,0x5a,0xac,0xf0,0x23,0x01,0x00,0x00]
12810 vcvtpd2ps 291(%rax,%r14,8), %ymm5
12811
12812 // CHECK: vcvtpd2ps (%rcx){1to8}, %ymm5
12813 // CHECK: encoding: [0x62,0xf1,0xfd,0x58,0x5a,0x29]
12814 vcvtpd2ps (%rcx){1to8}, %ymm5
12815
12816 // CHECK: vcvtpd2ps 8128(%rdx), %ymm5
12817 // CHECK: encoding: [0x62,0xf1,0xfd,0x48,0x5a,0x6a,0x7f]
12818 vcvtpd2ps 8128(%rdx), %ymm5
12819
12820 // CHECK: vcvtpd2ps 8192(%rdx), %ymm5
12821 // CHECK: encoding: [0x62,0xf1,0xfd,0x48,0x5a,0xaa,0x00,0x20,0x00,0x00]
12822 vcvtpd2ps 8192(%rdx), %ymm5
12823
12824 // CHECK: vcvtpd2ps -8192(%rdx), %ymm5
12825 // CHECK: encoding: [0x62,0xf1,0xfd,0x48,0x5a,0x6a,0x80]
12826 vcvtpd2ps -8192(%rdx), %ymm5
12827
12828 // CHECK: vcvtpd2ps -8256(%rdx), %ymm5
12829 // CHECK: encoding: [0x62,0xf1,0xfd,0x48,0x5a,0xaa,0xc0,0xdf,0xff,0xff]
12830 vcvtpd2ps -8256(%rdx), %ymm5
12831
12832 // CHECK: vcvtpd2ps 1016(%rdx){1to8}, %ymm5
12833 // CHECK: encoding: [0x62,0xf1,0xfd,0x58,0x5a,0x6a,0x7f]
12834 vcvtpd2ps 1016(%rdx){1to8}, %ymm5
12835
12836 // CHECK: vcvtpd2ps 1024(%rdx){1to8}, %ymm5
12837 // CHECK: encoding: [0x62,0xf1,0xfd,0x58,0x5a,0xaa,0x00,0x04,0x00,0x00]
12838 vcvtpd2ps 1024(%rdx){1to8}, %ymm5
12839
12840 // CHECK: vcvtpd2ps -1024(%rdx){1to8}, %ymm5
12841 // CHECK: encoding: [0x62,0xf1,0xfd,0x58,0x5a,0x6a,0x80]
12842 vcvtpd2ps -1024(%rdx){1to8}, %ymm5
12843
12844 // CHECK: vcvtpd2ps -1032(%rdx){1to8}, %ymm5
12845 // CHECK: encoding: [0x62,0xf1,0xfd,0x58,0x5a,0xaa,0xf8,0xfb,0xff,0xff]
12846 vcvtpd2ps -1032(%rdx){1to8}, %ymm5
12847
1271612848 // CHECK: vfmadd132ss %xmm22, %xmm17, %xmm30
1271712849 // CHECK: encoding: [0x62,0x22,0x75,0x00,0x99,0xf6]
1271812850 vfmadd132ss %xmm22, %xmm17, %xmm30
13891389 // CHECK: vrangess $123, -516(%rdx), %xmm24, %xmm25
13901390 // CHECK: encoding: [0x62,0x63,0x3d,0x00,0x51,0x8a,0xfc,0xfd,0xff,0xff,0x7b]
13911391 vrangess $0x7b,-516(%rdx), %xmm24, %xmm25
1392
1393 // CHECK: vcvtpd2qq %zmm29, %zmm18
1394 // CHECK: encoding: [0x62,0x81,0xfd,0x48,0x7b,0xd5]
1395 vcvtpd2qq %zmm29, %zmm18
1396
1397 // CHECK: vcvtpd2qq %zmm29, %zmm18 {%k6}
1398 // CHECK: encoding: [0x62,0x81,0xfd,0x4e,0x7b,0xd5]
1399 vcvtpd2qq %zmm29, %zmm18 {%k6}
1400
1401 // CHECK: vcvtpd2qq %zmm29, %zmm18 {%k6} {z}
1402 // CHECK: encoding: [0x62,0x81,0xfd,0xce,0x7b,0xd5]
1403 vcvtpd2qq %zmm29, %zmm18 {%k6} {z}
1404
1405 // CHECK: vcvtpd2qq {rn-sae}, %zmm29, %zmm18
1406 // CHECK: encoding: [0x62,0x81,0xfd,0x18,0x7b,0xd5]
1407 vcvtpd2qq {rn-sae}, %zmm29, %zmm18
1408
1409 // CHECK: vcvtpd2qq {ru-sae}, %zmm29, %zmm18
1410 // CHECK: encoding: [0x62,0x81,0xfd,0x58,0x7b,0xd5]
1411 vcvtpd2qq {ru-sae}, %zmm29, %zmm18
1412
1413 // CHECK: vcvtpd2qq {rd-sae}, %zmm29, %zmm18
1414 // CHECK: encoding: [0x62,0x81,0xfd,0x38,0x7b,0xd5]
1415 vcvtpd2qq {rd-sae}, %zmm29, %zmm18
1416
1417 // CHECK: vcvtpd2qq {rz-sae}, %zmm29, %zmm18
1418 // CHECK: encoding: [0x62,0x81,0xfd,0x78,0x7b,0xd5]
1419 vcvtpd2qq {rz-sae}, %zmm29, %zmm18
1420
1421 // CHECK: vcvtpd2qq (%rcx), %zmm18
1422 // CHECK: encoding: [0x62,0xe1,0xfd,0x48,0x7b,0x11]
1423 vcvtpd2qq (%rcx), %zmm18
1424
1425 // CHECK: vcvtpd2qq 291(%rax,%r14,8), %zmm18
1426 // CHECK: encoding: [0x62,0xa1,0xfd,0x48,0x7b,0x94,0xf0,0x23,0x01,0x00,0x00]
1427 vcvtpd2qq 291(%rax,%r14,8), %zmm18
1428
1429 // CHECK: vcvtpd2qq (%rcx){1to8}, %zmm18
1430 // CHECK: encoding: [0x62,0xe1,0xfd,0x58,0x7b,0x11]
1431 vcvtpd2qq (%rcx){1to8}, %zmm18
1432
1433 // CHECK: vcvtpd2qq 8128(%rdx), %zmm18
1434 // CHECK: encoding: [0x62,0xe1,0xfd,0x48,0x7b,0x52,0x7f]
1435 vcvtpd2qq 8128(%rdx), %zmm18
1436
1437 // CHECK: vcvtpd2qq 8192(%rdx), %zmm18
1438 // CHECK: encoding: [0x62,0xe1,0xfd,0x48,0x7b,0x92,0x00,0x20,0x00,0x00]
1439 vcvtpd2qq 8192(%rdx), %zmm18
1440
1441 // CHECK: vcvtpd2qq -8192(%rdx), %zmm18
1442 // CHECK: encoding: [0x62,0xe1,0xfd,0x48,0x7b,0x52,0x80]
1443 vcvtpd2qq -8192(%rdx), %zmm18
1444
1445 // CHECK: vcvtpd2qq -8256(%rdx), %zmm18
1446 // CHECK: encoding: [0x62,0xe1,0xfd,0x48,0x7b,0x92,0xc0,0xdf,0xff,0xff]
1447 vcvtpd2qq -8256(%rdx), %zmm18
1448
1449 // CHECK: vcvtpd2qq 1016(%rdx){1to8}, %zmm18
1450 // CHECK: encoding: [0x62,0xe1,0xfd,0x58,0x7b,0x52,0x7f]
1451 vcvtpd2qq 1016(%rdx){1to8}, %zmm18
1452
1453 // CHECK: vcvtpd2qq 1024(%rdx){1to8}, %zmm18
1454 // CHECK: encoding: [0x62,0xe1,0xfd,0x58,0x7b,0x92,0x00,0x04,0x00,0x00]
1455 vcvtpd2qq 1024(%rdx){1to8}, %zmm18
1456
1457 // CHECK: vcvtpd2qq -1024(%rdx){1to8}, %zmm18
1458 // CHECK: encoding: [0x62,0xe1,0xfd,0x58,0x7b,0x52,0x80]
1459 vcvtpd2qq -1024(%rdx){1to8}, %zmm18
1460
1461 // CHECK: vcvtpd2qq -1032(%rdx){1to8}, %zmm18
1462 // CHECK: encoding: [0x62,0xe1,0xfd,0x58,0x7b,0x92,0xf8,0xfb,0xff,0xff]
1463 vcvtpd2qq -1032(%rdx){1to8}, %zmm18
1464
1465 // CHECK: vcvtpd2uqq %zmm21, %zmm22
1466 // CHECK: encoding: [0x62,0xa1,0xfd,0x48,0x79,0xf5]
1467 vcvtpd2uqq %zmm21, %zmm22
1468
1469 // CHECK: vcvtpd2uqq %zmm21, %zmm22 {%k5}
1470 // CHECK: encoding: [0x62,0xa1,0xfd,0x4d,0x79,0xf5]
1471 vcvtpd2uqq %zmm21, %zmm22 {%k5}
1472
1473 // CHECK: vcvtpd2uqq %zmm21, %zmm22 {%k5} {z}
1474 // CHECK: encoding: [0x62,0xa1,0xfd,0xcd,0x79,0xf5]
1475 vcvtpd2uqq %zmm21, %zmm22 {%k5} {z}
1476
1477 // CHECK: vcvtpd2uqq {rn-sae}, %zmm21, %zmm22
1478 // CHECK: encoding: [0x62,0xa1,0xfd,0x18,0x79,0xf5]
1479 vcvtpd2uqq {rn-sae}, %zmm21, %zmm22
1480
1481 // CHECK: vcvtpd2uqq {ru-sae}, %zmm21, %zmm22
1482 // CHECK: encoding: [0x62,0xa1,0xfd,0x58,0x79,0xf5]
1483 vcvtpd2uqq {ru-sae}, %zmm21, %zmm22
1484
1485 // CHECK: vcvtpd2uqq {rd-sae}, %zmm21, %zmm22
1486 // CHECK: encoding: [0x62,0xa1,0xfd,0x38,0x79,0xf5]
1487 vcvtpd2uqq {rd-sae}, %zmm21, %zmm22
1488
1489 // CHECK: vcvtpd2uqq {rz-sae}, %zmm21, %zmm22
1490 // CHECK: encoding: [0x62,0xa1,0xfd,0x78,0x79,0xf5]
1491 vcvtpd2uqq {rz-sae}, %zmm21, %zmm22
1492
1493 // CHECK: vcvtpd2uqq (%rcx), %zmm22
1494 // CHECK: encoding: [0x62,0xe1,0xfd,0x48,0x79,0x31]
1495 vcvtpd2uqq (%rcx), %zmm22
1496
1497 // CHECK: vcvtpd2uqq 291(%rax,%r14,8), %zmm22
1498 // CHECK: encoding: [0x62,0xa1,0xfd,0x48,0x79,0xb4,0xf0,0x23,0x01,0x00,0x00]
1499 vcvtpd2uqq 291(%rax,%r14,8), %zmm22
1500
1501 // CHECK: vcvtpd2uqq (%rcx){1to8}, %zmm22
1502 // CHECK: encoding: [0x62,0xe1,0xfd,0x58,0x79,0x31]
1503 vcvtpd2uqq (%rcx){1to8}, %zmm22
1504
1505 // CHECK: vcvtpd2uqq 8128(%rdx), %zmm22
1506 // CHECK: encoding: [0x62,0xe1,0xfd,0x48,0x79,0x72,0x7f]
1507 vcvtpd2uqq 8128(%rdx), %zmm22
1508
1509 // CHECK: vcvtpd2uqq 8192(%rdx), %zmm22
1510 // CHECK: encoding: [0x62,0xe1,0xfd,0x48,0x79,0xb2,0x00,0x20,0x00,0x00]
1511 vcvtpd2uqq 8192(%rdx), %zmm22
1512
1513 // CHECK: vcvtpd2uqq -8192(%rdx), %zmm22
1514 // CHECK: encoding: [0x62,0xe1,0xfd,0x48,0x79,0x72,0x80]
1515 vcvtpd2uqq -8192(%rdx), %zmm22
1516
1517 // CHECK: vcvtpd2uqq -8256(%rdx), %zmm22
1518 // CHECK: encoding: [0x62,0xe1,0xfd,0x48,0x79,0xb2,0xc0,0xdf,0xff,0xff]
1519 vcvtpd2uqq -8256(%rdx), %zmm22
1520
1521 // CHECK: vcvtpd2uqq 1016(%rdx){1to8}, %zmm22
1522 // CHECK: encoding: [0x62,0xe1,0xfd,0x58,0x79,0x72,0x7f]
1523 vcvtpd2uqq 1016(%rdx){1to8}, %zmm22
1524
1525 // CHECK: vcvtpd2uqq 1024(%rdx){1to8}, %zmm22
1526 // CHECK: encoding: [0x62,0xe1,0xfd,0x58,0x79,0xb2,0x00,0x04,0x00,0x00]
1527 vcvtpd2uqq 1024(%rdx){1to8}, %zmm22
1528
1529 // CHECK: vcvtpd2uqq -1024(%rdx){1to8}, %zmm22
1530 // CHECK: encoding: [0x62,0xe1,0xfd,0x58,0x79,0x72,0x80]
1531 vcvtpd2uqq -1024(%rdx){1to8}, %zmm22
1532
1533 // CHECK: vcvtpd2uqq -1032(%rdx){1to8}, %zmm22
1534 // CHECK: encoding: [0x62,0xe1,0xfd,0x58,0x79,0xb2,0xf8,0xfb,0xff,0xff]
1535 vcvtpd2uqq -1032(%rdx){1to8}, %zmm22
1536
1537 // CHECK: vcvtps2qq %ymm18, %zmm20
1538 // CHECK: encoding: [0x62,0xa1,0x7d,0x48,0x7b,0xe2]
1539 vcvtps2qq %ymm18, %zmm20
1540
1541 // CHECK: vcvtps2qq %ymm18, %zmm20 {%k2}
1542 // CHECK: encoding: [0x62,0xa1,0x7d,0x4a,0x7b,0xe2]
1543 vcvtps2qq %ymm18, %zmm20 {%k2}
1544
1545 // CHECK: vcvtps2qq %ymm18, %zmm20 {%k2} {z}
1546 // CHECK: encoding: [0x62,0xa1,0x7d,0xca,0x7b,0xe2]
1547 vcvtps2qq %ymm18, %zmm20 {%k2} {z}
1548
1549 // CHECK: vcvtps2qq {rn-sae}, %ymm18, %zmm20
1550 // CHECK: encoding: [0x62,0xa1,0x7d,0x18,0x7b,0xe2]
1551 vcvtps2qq {rn-sae}, %ymm18, %zmm20
1552
1553 // CHECK: vcvtps2qq {ru-sae}, %ymm18, %zmm20
1554 // CHECK: encoding: [0x62,0xa1,0x7d,0x58,0x7b,0xe2]
1555 vcvtps2qq {ru-sae}, %ymm18, %zmm20
1556
1557 // CHECK: vcvtps2qq {rd-sae}, %ymm18, %zmm20
1558 // CHECK: encoding: [0x62,0xa1,0x7d,0x38,0x7b,0xe2]
1559 vcvtps2qq {rd-sae}, %ymm18, %zmm20
1560
1561 // CHECK: vcvtps2qq {rz-sae}, %ymm18, %zmm20
1562 // CHECK: encoding: [0x62,0xa1,0x7d,0x78,0x7b,0xe2]
1563 vcvtps2qq {rz-sae}, %ymm18, %zmm20
1564
1565 // CHECK: vcvtps2qq (%rcx), %zmm20
1566 // CHECK: encoding: [0x62,0xe1,0x7d,0x48,0x7b,0x21]
1567 vcvtps2qq (%rcx), %zmm20
1568
1569 // CHECK: vcvtps2qq 291(%rax,%r14,8), %zmm20
1570 // CHECK: encoding: [0x62,0xa1,0x7d,0x48,0x7b,0xa4,0xf0,0x23,0x01,0x00,0x00]
1571 vcvtps2qq 291(%rax,%r14,8), %zmm20
1572
1573 // CHECK: vcvtps2qq (%rcx){1to8}, %zmm20
1574 // CHECK: encoding: [0x62,0xe1,0x7d,0x58,0x7b,0x21]
1575 vcvtps2qq (%rcx){1to8}, %zmm20
1576
1577 // CHECK: vcvtps2qq 4064(%rdx), %zmm20
1578 // CHECK: encoding: [0x62,0xe1,0x7d,0x48,0x7b,0x62,0x7f]
1579 vcvtps2qq 4064(%rdx), %zmm20
1580
1581 // CHECK: vcvtps2qq 4096(%rdx), %zmm20
1582 // CHECK: encoding: [0x62,0xe1,0x7d,0x48,0x7b,0xa2,0x00,0x10,0x00,0x00]
1583 vcvtps2qq 4096(%rdx), %zmm20
1584
1585 // CHECK: vcvtps2qq -4096(%rdx), %zmm20
1586 // CHECK: encoding: [0x62,0xe1,0x7d,0x48,0x7b,0x62,0x80]
1587 vcvtps2qq -4096(%rdx), %zmm20
1588
1589 // CHECK: vcvtps2qq -4128(%rdx), %zmm20
1590 // CHECK: encoding: [0x62,0xe1,0x7d,0x48,0x7b,0xa2,0xe0,0xef,0xff,0xff]
1591 vcvtps2qq -4128(%rdx), %zmm20
1592
1593 // CHECK: vcvtps2qq 508(%rdx){1to8}, %zmm20
1594 // CHECK: encoding: [0x62,0xe1,0x7d,0x58,0x7b,0x62,0x7f]
1595 vcvtps2qq 508(%rdx){1to8}, %zmm20
1596
1597 // CHECK: vcvtps2qq 512(%rdx){1to8}, %zmm20
1598 // CHECK: encoding: [0x62,0xe1,0x7d,0x58,0x7b,0xa2,0x00,0x02,0x00,0x00]
1599 vcvtps2qq 512(%rdx){1to8}, %zmm20
1600
1601 // CHECK: vcvtps2qq -512(%rdx){1to8}, %zmm20
1602 // CHECK: encoding: [0x62,0xe1,0x7d,0x58,0x7b,0x62,0x80]
1603 vcvtps2qq -512(%rdx){1to8}, %zmm20
1604
1605 // CHECK: vcvtps2qq -516(%rdx){1to8}, %zmm20
1606 // CHECK: encoding: [0x62,0xe1,0x7d,0x58,0x7b,0xa2,0xfc,0xfd,0xff,0xff]
1607 vcvtps2qq -516(%rdx){1to8}, %zmm20
1608
1609 // CHECK: vcvtps2uqq %ymm27, %zmm25
1610 // CHECK: encoding: [0x62,0x01,0x7d,0x48,0x79,0xcb]
1611 vcvtps2uqq %ymm27, %zmm25
1612
1613 // CHECK: vcvtps2uqq %ymm27, %zmm25 {%k5}
1614 // CHECK: encoding: [0x62,0x01,0x7d,0x4d,0x79,0xcb]
1615 vcvtps2uqq %ymm27, %zmm25 {%k5}
1616
1617 // CHECK: vcvtps2uqq %ymm27, %zmm25 {%k5} {z}
1618 // CHECK: encoding: [0x62,0x01,0x7d,0xcd,0x79,0xcb]
1619 vcvtps2uqq %ymm27, %zmm25 {%k5} {z}
1620
1621 // CHECK: vcvtps2uqq {rn-sae}, %ymm27, %zmm25
1622 // CHECK: encoding: [0x62,0x01,0x7d,0x18,0x79,0xcb]
1623 vcvtps2uqq {rn-sae}, %ymm27, %zmm25
1624
1625 // CHECK: vcvtps2uqq {ru-sae}, %ymm27, %zmm25
1626 // CHECK: encoding: [0x62,0x01,0x7d,0x58,0x79,0xcb]
1627 vcvtps2uqq {ru-sae}, %ymm27, %zmm25
1628
1629 // CHECK: vcvtps2uqq {rd-sae}, %ymm27, %zmm25
1630 // CHECK: encoding: [0x62,0x01,0x7d,0x38,0x79,0xcb]
1631 vcvtps2uqq {rd-sae}, %ymm27, %zmm25
1632
1633 // CHECK: vcvtps2uqq {rz-sae}, %ymm27, %zmm25
1634 // CHECK: encoding: [0x62,0x01,0x7d,0x78,0x79,0xcb]
1635 vcvtps2uqq {rz-sae}, %ymm27, %zmm25
1636
1637 // CHECK: vcvtps2uqq (%rcx), %zmm25
1638 // CHECK: encoding: [0x62,0x61,0x7d,0x48,0x79,0x09]
1639 vcvtps2uqq (%rcx), %zmm25
1640
1641 // CHECK: vcvtps2uqq 291(%rax,%r14,8), %zmm25
1642 // CHECK: encoding: [0x62,0x21,0x7d,0x48,0x79,0x8c,0xf0,0x23,0x01,0x00,0x00]
1643 vcvtps2uqq 291(%rax,%r14,8), %zmm25
1644
1645 // CHECK: vcvtps2uqq (%rcx){1to8}, %zmm25
1646 // CHECK: encoding: [0x62,0x61,0x7d,0x58,0x79,0x09]
1647 vcvtps2uqq (%rcx){1to8}, %zmm25
1648
1649 // CHECK: vcvtps2uqq 4064(%rdx), %zmm25
1650 // CHECK: encoding: [0x62,0x61,0x7d,0x48,0x79,0x4a,0x7f]
1651 vcvtps2uqq 4064(%rdx), %zmm25
1652
1653 // CHECK: vcvtps2uqq 4096(%rdx), %zmm25
1654 // CHECK: encoding: [0x62,0x61,0x7d,0x48,0x79,0x8a,0x00,0x10,0x00,0x00]
1655 vcvtps2uqq 4096(%rdx), %zmm25
1656
1657 // CHECK: vcvtps2uqq -4096(%rdx), %zmm25
1658 // CHECK: encoding: [0x62,0x61,0x7d,0x48,0x79,0x4a,0x80]
1659 vcvtps2uqq -4096(%rdx), %zmm25
1660
1661 // CHECK: vcvtps2uqq -4128(%rdx), %zmm25
1662 // CHECK: encoding: [0x62,0x61,0x7d,0x48,0x79,0x8a,0xe0,0xef,0xff,0xff]
1663 vcvtps2uqq -4128(%rdx), %zmm25
1664
1665 // CHECK: vcvtps2uqq 508(%rdx){1to8}, %zmm25
1666 // CHECK: encoding: [0x62,0x61,0x7d,0x58,0x79,0x4a,0x7f]
1667 vcvtps2uqq 508(%rdx){1to8}, %zmm25
1668
1669 // CHECK: vcvtps2uqq 512(%rdx){1to8}, %zmm25
1670 // CHECK: encoding: [0x62,0x61,0x7d,0x58,0x79,0x8a,0x00,0x02,0x00,0x00]
1671 vcvtps2uqq 512(%rdx){1to8}, %zmm25
1672
1673 // CHECK: vcvtps2uqq -512(%rdx){1to8}, %zmm25
1674 // CHECK: encoding: [0x62,0x61,0x7d,0x58,0x79,0x4a,0x80]
1675 vcvtps2uqq -512(%rdx){1to8}, %zmm25
1676
1677 // CHECK: vcvtps2uqq -516(%rdx){1to8}, %zmm25
1678 // CHECK: encoding: [0x62,0x61,0x7d,0x58,0x79,0x8a,0xfc,0xfd,0xff,0xff]
1679 vcvtps2uqq -516(%rdx){1to8}, %zmm25
1680
1681 // CHECK: vcvtqq2pd %zmm25, %zmm17
1682 // CHECK: encoding: [0x62,0x81,0xfe,0x48,0xe6,0xc9]
1683 vcvtqq2pd %zmm25, %zmm17
1684
1685 // CHECK: vcvtqq2pd %zmm25, %zmm17 {%k4}
1686 // CHECK: encoding: [0x62,0x81,0xfe,0x4c,0xe6,0xc9]
1687 vcvtqq2pd %zmm25, %zmm17 {%k4}
1688
1689 // CHECK: vcvtqq2pd %zmm25, %zmm17 {%k4} {z}
1690 // CHECK: encoding: [0x62,0x81,0xfe,0xcc,0xe6,0xc9]
1691 vcvtqq2pd %zmm25, %zmm17 {%k4} {z}
1692
1693 // CHECK: vcvtqq2pd {rn-sae}, %zmm25, %zmm17
1694 // CHECK: encoding: [0x62,0x81,0xfe,0x18,0xe6,0xc9]
1695 vcvtqq2pd {rn-sae}, %zmm25, %zmm17
1696
1697 // CHECK: vcvtqq2pd {ru-sae}, %zmm25, %zmm17
1698 // CHECK: encoding: [0x62,0x81,0xfe,0x58,0xe6,0xc9]
1699 vcvtqq2pd {ru-sae}, %zmm25, %zmm17
1700
1701 // CHECK: vcvtqq2pd {rd-sae}, %zmm25, %zmm17
1702 // CHECK: encoding: [0x62,0x81,0xfe,0x38,0xe6,0xc9]
1703 vcvtqq2pd {rd-sae}, %zmm25, %zmm17
1704
1705 // CHECK: vcvtqq2pd {rz-sae}, %zmm25, %zmm17
1706 // CHECK: encoding: [0x62,0x81,0xfe,0x78,0xe6,0xc9]
1707 vcvtqq2pd {rz-sae}, %zmm25, %zmm17
1708
1709 // CHECK: vcvtqq2pd (%rcx), %zmm17
1710 // CHECK: encoding: [0x62,0xe1,0xfe,0x48,0xe6,0x09]
1711 vcvtqq2pd (%rcx), %zmm17
1712
1713 // CHECK: vcvtqq2pd 291(%rax,%r14,8), %zmm17
1714 // CHECK: encoding: [0x62,0xa1,0xfe,0x48,0xe6,0x8c,0xf0,0x23,0x01,0x00,0x00]
1715 vcvtqq2pd 291(%rax,%r14,8), %zmm17
1716
1717 // CHECK: vcvtqq2pd (%rcx){1to8}, %zmm17
1718 // CHECK: encoding: [0x62,0xe1,0xfe,0x58,0xe6,0x09]
1719 vcvtqq2pd (%rcx){1to8}, %zmm17
1720
1721 // CHECK: vcvtqq2pd 8128(%rdx), %zmm17
1722 // CHECK: encoding: [0x62,0xe1,0xfe,0x48,0xe6,0x4a,0x7f]
1723 vcvtqq2pd 8128(%rdx), %zmm17
1724
1725 // CHECK: vcvtqq2pd 8192(%rdx), %zmm17
1726 // CHECK: encoding: [0x62,0xe1,0xfe,0x48,0xe6,0x8a,0x00,0x20,0x00,0x00]
1727 vcvtqq2pd 8192(%rdx), %zmm17
1728
1729 // CHECK: vcvtqq2pd -8192(%rdx), %zmm17
1730 // CHECK: encoding: [0x62,0xe1,0xfe,0x48,0xe6,0x4a,0x80]
1731 vcvtqq2pd -8192(%rdx), %zmm17
1732
1733 // CHECK: vcvtqq2pd -8256(%rdx), %zmm17
1734 // CHECK: encoding: [0x62,0xe1,0xfe,0x48,0xe6,0x8a,0xc0,0xdf,0xff,0xff]
1735 vcvtqq2pd -8256(%rdx), %zmm17
1736
1737 // CHECK: vcvtqq2pd 1016(%rdx){1to8}, %zmm17
1738 // CHECK: encoding: [0x62,0xe1,0xfe,0x58,0xe6,0x4a,0x7f]
1739 vcvtqq2pd 1016(%rdx){1to8}, %zmm17
1740
1741 // CHECK: vcvtqq2pd 1024(%rdx){1to8}, %zmm17
1742 // CHECK: encoding: [0x62,0xe1,0xfe,0x58,0xe6,0x8a,0x00,0x04,0x00,0x00]
1743 vcvtqq2pd 1024(%rdx){1to8}, %zmm17
1744
1745 // CHECK: vcvtqq2pd -1024(%rdx){1to8}, %zmm17
1746 // CHECK: encoding: [0x62,0xe1,0xfe,0x58,0xe6,0x4a,0x80]
1747 vcvtqq2pd -1024(%rdx){1to8}, %zmm17
1748
1749 // CHECK: vcvtqq2pd -1032(%rdx){1to8}, %zmm17
1750 // CHECK: encoding: [0x62,0xe1,0xfe,0x58,0xe6,0x8a,0xf8,0xfb,0xff,0xff]
1751 vcvtqq2pd -1032(%rdx){1to8}, %zmm17
1752
1753 // CHECK: vcvtqq2ps %zmm27, %ymm20
1754 // CHECK: encoding: [0x62,0x81,0xfc,0x48,0x5b,0xe3]
1755 vcvtqq2ps %zmm27, %ymm20
1756
1757 // CHECK: vcvtqq2ps %zmm27, %ymm20 {%k5}
1758 // CHECK: encoding: [0x62,0x81,0xfc,0x4d,0x5b,0xe3]
1759 vcvtqq2ps %zmm27, %ymm20 {%k5}
1760
1761 // CHECK: vcvtqq2ps %zmm27, %ymm20 {%k5} {z}
1762 // CHECK: encoding: [0x62,0x81,0xfc,0xcd,0x5b,0xe3]
1763 vcvtqq2ps %zmm27, %ymm20 {%k5} {z}
1764
1765 // CHECK: vcvtqq2ps {rn-sae}, %zmm27, %ymm20
1766 // CHECK: encoding: [0x62,0x81,0xfc,0x18,0x5b,0xe3]
1767 vcvtqq2ps {rn-sae}, %zmm27, %ymm20
1768
1769 // CHECK: vcvtqq2ps {ru-sae}, %zmm27, %ymm20
1770 // CHECK: encoding: [0x62,0x81,0xfc,0x58,0x5b,0xe3]
1771 vcvtqq2ps {ru-sae}, %zmm27, %ymm20
1772
1773 // CHECK: vcvtqq2ps {rd-sae}, %zmm27, %ymm20
1774 // CHECK: encoding: [0x62,0x81,0xfc,0x38,0x5b,0xe3]
1775 vcvtqq2ps {rd-sae}, %zmm27, %ymm20
1776
1777 // CHECK: vcvtqq2ps {rz-sae}, %zmm27, %ymm20
1778 // CHECK: encoding: [0x62,0x81,0xfc,0x78,0x5b,0xe3]
1779 vcvtqq2ps {rz-sae}, %zmm27, %ymm20
1780
1781 // CHECK: vcvtqq2ps (%rcx), %ymm20
1782 // CHECK: encoding: [0x62,0xe1,0xfc,0x48,0x5b,0x21]
1783 vcvtqq2ps (%rcx), %ymm20
1784
1785 // CHECK: vcvtqq2ps 291(%rax,%r14,8), %ymm20
1786 // CHECK: encoding: [0x62,0xa1,0xfc,0x48,0x5b,0xa4,0xf0,0x23,0x01,0x00,0x00]
1787 vcvtqq2ps 291(%rax,%r14,8), %ymm20
1788
1789 // CHECK: vcvtqq2ps (%rcx){1to8}, %ymm20
1790 // CHECK: encoding: [0x62,0xe1,0xfc,0x58,0x5b,0x21]
1791 vcvtqq2ps (%rcx){1to8}, %ymm20
1792
1793 // CHECK: vcvtqq2ps 8128(%rdx), %ymm20
1794 // CHECK: encoding: [0x62,0xe1,0xfc,0x48,0x5b,0x62,0x7f]
1795 vcvtqq2ps 8128(%rdx), %ymm20
1796
1797 // CHECK: vcvtqq2ps 8192(%rdx), %ymm20
1798 // CHECK: encoding: [0x62,0xe1,0xfc,0x48,0x5b,0xa2,0x00,0x20,0x00,0x00]
1799 vcvtqq2ps 8192(%rdx), %ymm20
1800
1801 // CHECK: vcvtqq2ps -8192(%rdx), %ymm20
1802 // CHECK: encoding: [0x62,0xe1,0xfc,0x48,0x5b,0x62,0x80]
1803 vcvtqq2ps -8192(%rdx), %ymm20
1804
1805 // CHECK: vcvtqq2ps -8256(%rdx), %ymm20
1806 // CHECK: encoding: [0x62,0xe1,0xfc,0x48,0x5b,0xa2,0xc0,0xdf,0xff,0xff]
1807 vcvtqq2ps -8256(%rdx), %ymm20
1808
1809 // CHECK: vcvtqq2ps 1016(%rdx){1to8}, %ymm20
1810 // CHECK: encoding: [0x62,0xe1,0xfc,0x58,0x5b,0x62,0x7f]
1811 vcvtqq2ps 1016(%rdx){1to8}, %ymm20
1812
1813 // CHECK: vcvtqq2ps 1024(%rdx){1to8}, %ymm20
1814 // CHECK: encoding: [0x62,0xe1,0xfc,0x58,0x5b,0xa2,0x00,0x04,0x00,0x00]
1815 vcvtqq2ps 1024(%rdx){1to8}, %ymm20
1816
1817 // CHECK: vcvtqq2ps -1024(%rdx){1to8}, %ymm20
1818 // CHECK: encoding: [0x62,0xe1,0xfc,0x58,0x5b,0x62,0x80]
1819 vcvtqq2ps -1024(%rdx){1to8}, %ymm20
1820
1821 // CHECK: vcvtqq2ps -1032(%rdx){1to8}, %ymm20
1822 // CHECK: encoding: [0x62,0xe1,0xfc,0x58,0x5b,0xa2,0xf8,0xfb,0xff,0xff]
1823 vcvtqq2ps -1032(%rdx){1to8}, %ymm20
1824
1825 // CHECK: vcvtuqq2pd %zmm29, %zmm21
1826 // CHECK: encoding: [0x62,0x81,0xfe,0x48,0x7a,0xed]
1827 vcvtuqq2pd %zmm29, %zmm21
1828
1829 // CHECK: vcvtuqq2pd %zmm29, %zmm21 {%k6}
1830 // CHECK: encoding: [0x62,0x81,0xfe,0x4e,0x7a,0xed]
1831 vcvtuqq2pd %zmm29, %zmm21 {%k6}
1832
1833 // CHECK: vcvtuqq2pd %zmm29, %zmm21 {%k6} {z}
1834 // CHECK: encoding: [0x62,0x81,0xfe,0xce,0x7a,0xed]
1835 vcvtuqq2pd %zmm29, %zmm21 {%k6} {z}
1836
1837 // CHECK: vcvtuqq2pd {rn-sae}, %zmm29, %zmm21
1838 // CHECK: encoding: [0x62,0x81,0xfe,0x18,0x7a,0xed]
1839 vcvtuqq2pd {rn-sae}, %zmm29, %zmm21
1840
1841 // CHECK: vcvtuqq2pd {ru-sae}, %zmm29, %zmm21
1842 // CHECK: encoding: [0x62,0x81,0xfe,0x58,0x7a,0xed]
1843 vcvtuqq2pd {ru-sae}, %zmm29, %zmm21
1844
1845 // CHECK: vcvtuqq2pd {rd-sae}, %zmm29, %zmm21
1846 // CHECK: encoding: [0x62,0x81,0xfe,0x38,0x7a,0xed]
1847 vcvtuqq2pd {rd-sae}, %zmm29, %zmm21
1848
1849 // CHECK: vcvtuqq2pd {rz-sae}, %zmm29, %zmm21
1850 // CHECK: encoding: [0x62,0x81,0xfe,0x78,0x7a,0xed]
1851 vcvtuqq2pd {rz-sae}, %zmm29, %zmm21
1852
1853 // CHECK: vcvtuqq2pd (%rcx), %zmm21
1854 // CHECK: encoding: [0x62,0xe1,0xfe,0x48,0x7a,0x29]
1855 vcvtuqq2pd (%rcx), %zmm21
1856
1857 // CHECK: vcvtuqq2pd 291(%rax,%r14,8), %zmm21
1858 // CHECK: encoding: [0x62,0xa1,0xfe,0x48,0x7a,0xac,0xf0,0x23,0x01,0x00,0x00]
1859 vcvtuqq2pd 291(%rax,%r14,8), %zmm21
1860
1861 // CHECK: vcvtuqq2pd (%rcx){1to8}, %zmm21
1862 // CHECK: encoding: [0x62,0xe1,0xfe,0x58,0x7a,0x29]
1863 vcvtuqq2pd (%rcx){1to8}, %zmm21
1864
1865 // CHECK: vcvtuqq2pd 8128(%rdx), %zmm21
1866 // CHECK: encoding: [0x62,0xe1,0xfe,0x48,0x7a,0x6a,0x7f]
1867 vcvtuqq2pd 8128(%rdx), %zmm21
1868
1869 // CHECK: vcvtuqq2pd 8192(%rdx), %zmm21
1870 // CHECK: encoding: [0x62,0xe1,0xfe,0x48,0x7a,0xaa,0x00,0x20,0x00,0x00]
1871 vcvtuqq2pd 8192(%rdx), %zmm21
1872
1873 // CHECK: vcvtuqq2pd -8192(%rdx), %zmm21
1874 // CHECK: encoding: [0x62,0xe1,0xfe,0x48,0x7a,0x6a,0x80]
1875 vcvtuqq2pd -8192(%rdx), %zmm21
1876
1877 // CHECK: vcvtuqq2pd -8256(%rdx), %zmm21
1878 // CHECK: encoding: [0x62,0xe1,0xfe,0x48,0x7a,0xaa,0xc0,0xdf,0xff,0xff]
1879 vcvtuqq2pd -8256(%rdx), %zmm21
1880
1881 // CHECK: vcvtuqq2pd 1016(%rdx){1to8}, %zmm21
1882 // CHECK: encoding: [0x62,0xe1,0xfe,0x58,0x7a,0x6a,0x7f]
1883 vcvtuqq2pd 1016(%rdx){1to8}, %zmm21
1884
1885 // CHECK: vcvtuqq2pd 1024(%rdx){1to8}, %zmm21
1886 // CHECK: encoding: [0x62,0xe1,0xfe,0x58,0x7a,0xaa,0x00,0x04,0x00,0x00]
1887 vcvtuqq2pd 1024(%rdx){1to8}, %zmm21
1888
1889 // CHECK: vcvtuqq2pd -1024(%rdx){1to8}, %zmm21
1890 // CHECK: encoding: [0x62,0xe1,0xfe,0x58,0x7a,0x6a,0x80]
1891 vcvtuqq2pd -1024(%rdx){1to8}, %zmm21
1892
1893 // CHECK: vcvtuqq2pd -1032(%rdx){1to8}, %zmm21
1894 // CHECK: encoding: [0x62,0xe1,0xfe,0x58,0x7a,0xaa,0xf8,0xfb,0xff,0xff]
1895 vcvtuqq2pd -1032(%rdx){1to8}, %zmm21
1896
1897 // CHECK: vcvtuqq2ps %zmm21, %ymm18
1898 // CHECK: encoding: [0x62,0xa1,0xff,0x48,0x7a,0xd5]
1899 vcvtuqq2ps %zmm21, %ymm18
1900
1901 // CHECK: vcvtuqq2ps %zmm21, %ymm18 {%k2}
1902 // CHECK: encoding: [0x62,0xa1,0xff,0x4a,0x7a,0xd5]
1903 vcvtuqq2ps %zmm21, %ymm18 {%k2}
1904
1905 // CHECK: vcvtuqq2ps %zmm21, %ymm18 {%k2} {z}
1906 // CHECK: encoding: [0x62,0xa1,0xff,0xca,0x7a,0xd5]
1907 vcvtuqq2ps %zmm21, %ymm18 {%k2} {z}
1908
22062206 // CHECK: vrangeps $123, -516(%rdx){1to8}, %ymm23, %ymm24
22072207 // CHECK: encoding: [0x62,0x63,0x45,0x30,0x50,0x82,0xfc,0xfd,0xff,0xff,0x7b]
22082208 vrangeps $0x7b,-516(%rdx){1to8}, %ymm23, %ymm24
2209
2210 // CHECK: vcvtpd2qq %xmm22, %xmm24
2211 // CHECK: encoding: [0x62,0x21,0xfd,0x08,0x7b,0xc6]
2212 vcvtpd2qq %xmm22, %xmm24
2213
2214 // CHECK: vcvtpd2qq %xmm22, %xmm24 {%k6}
2215 // CHECK: encoding: [0x62,0x21,0xfd,0x0e,0x7b,0xc6]
2216 vcvtpd2qq %xmm22, %xmm24 {%k6}
2217
2218 // CHECK: vcvtpd2qq %xmm22, %xmm24 {%k6} {z}
2219 // CHECK: encoding: [0x62,0x21,0xfd,0x8e,0x7b,0xc6]
2220 vcvtpd2qq %xmm22, %xmm24 {%k6} {z}
2221
2222 // CHECK: vcvtpd2qq (%rcx), %xmm24
2223 // CHECK: encoding: [0x62,0x61,0xfd,0x08,0x7b,0x01]
2224 vcvtpd2qq (%rcx), %xmm24
2225
2226 // CHECK: vcvtpd2qq 291(%rax,%r14,8), %xmm24
2227 // CHECK: encoding: [0x62,0x21,0xfd,0x08,0x7b,0x84,0xf0,0x23,0x01,0x00,0x00]
2228 vcvtpd2qq 291(%rax,%r14,8), %xmm24
2229
2230 // CHECK: vcvtpd2qq (%rcx){1to2}, %xmm24
2231 // CHECK: encoding: [0x62,0x61,0xfd,0x18,0x7b,0x01]
2232 vcvtpd2qq (%rcx){1to2}, %xmm24
2233
2234 // CHECK: vcvtpd2qq 2032(%rdx), %xmm24
2235 // CHECK: encoding: [0x62,0x61,0xfd,0x08,0x7b,0x42,0x7f]
2236 vcvtpd2qq 2032(%rdx), %xmm24
2237
2238 // CHECK: vcvtpd2qq 2048(%rdx), %xmm24
2239 // CHECK: encoding: [0x62,0x61,0xfd,0x08,0x7b,0x82,0x00,0x08,0x00,0x00]
2240 vcvtpd2qq 2048(%rdx), %xmm24
2241
2242 // CHECK: vcvtpd2qq -2048(%rdx), %xmm24
2243 // CHECK: encoding: [0x62,0x61,0xfd,0x08,0x7b,0x42,0x80]
2244 vcvtpd2qq -2048(%rdx), %xmm24
2245
2246 // CHECK: vcvtpd2qq -2064(%rdx), %xmm24
2247 // CHECK: encoding: [0x62,0x61,0xfd,0x08,0x7b,0x82,0xf0,0xf7,0xff,0xff]
2248 vcvtpd2qq -2064(%rdx), %xmm24
2249
2250 // CHECK: vcvtpd2qq 1016(%rdx){1to2}, %xmm24
2251 // CHECK: encoding: [0x62,0x61,0xfd,0x18,0x7b,0x42,0x7f]
2252 vcvtpd2qq 1016(%rdx){1to2}, %xmm24
2253
2254 // CHECK: vcvtpd2qq 1024(%rdx){1to2}, %xmm24
2255 // CHECK: encoding: [0x62,0x61,0xfd,0x18,0x7b,0x82,0x00,0x04,0x00,0x00]
2256 vcvtpd2qq 1024(%rdx){1to2}, %xmm24
2257
2258 // CHECK: vcvtpd2qq -1024(%rdx){1to2}, %xmm24
2259 // CHECK: encoding: [0x62,0x61,0xfd,0x18,0x7b,0x42,0x80]
2260 vcvtpd2qq -1024(%rdx){1to2}, %xmm24
2261
2262 // CHECK: vcvtpd2qq -1032(%rdx){1to2}, %xmm24
2263 // CHECK: encoding: [0x62,0x61,0xfd,0x18,0x7b,0x82,0xf8,0xfb,0xff,0xff]
2264 vcvtpd2qq -1032(%rdx){1to2}, %xmm24
2265
2266 // CHECK: vcvtpd2qq %ymm27, %ymm24
2267 // CHECK: encoding: [0x62,0x01,0xfd,0x28,0x7b,0xc3]
2268 vcvtpd2qq %ymm27, %ymm24
2269
2270 // CHECK: vcvtpd2qq %ymm27, %ymm24 {%k7}
2271 // CHECK: encoding: [0x62,0x01,0xfd,0x2f,0x7b,0xc3]
2272 vcvtpd2qq %ymm27, %ymm24 {%k7}
2273
2274 // CHECK: vcvtpd2qq %ymm27, %ymm24 {%k7} {z}
2275 // CHECK: encoding: [0x62,0x01,0xfd,0xaf,0x7b,0xc3]
2276 vcvtpd2qq %ymm27, %ymm24 {%k7} {z}
2277
2278 // CHECK: vcvtpd2qq (%rcx), %ymm24
2279 // CHECK: encoding: [0x62,0x61,0xfd,0x28,0x7b,0x01]
2280 vcvtpd2qq (%rcx), %ymm24
2281
2282 // CHECK: vcvtpd2qq 291(%rax,%r14,8), %ymm24
2283 // CHECK: encoding: [0x62,0x21,0xfd,0x28,0x7b,0x84,0xf0,0x23,0x01,0x00,0x00]
2284 vcvtpd2qq 291(%rax,%r14,8), %ymm24
2285
2286 // CHECK: vcvtpd2qq (%rcx){1to4}, %ymm24
2287 // CHECK: encoding: [0x62,0x61,0xfd,0x38,0x7b,0x01]
2288 vcvtpd2qq (%rcx){1to4}, %ymm24
2289
2290 // CHECK: vcvtpd2qq 4064(%rdx), %ymm24
2291 // CHECK: encoding: [0x62,0x61,0xfd,0x28,0x7b,0x42,0x7f]
2292 vcvtpd2qq 4064(%rdx), %ymm24
2293
2294 // CHECK: vcvtpd2qq 4096(%rdx), %ymm24
2295 // CHECK: encoding: [0x62,0x61,0xfd,0x28,0x7b,0x82,0x00,0x10,0x00,0x00]
2296 vcvtpd2qq 4096(%rdx), %ymm24
2297
2298 // CHECK: vcvtpd2qq -4096(%rdx), %ymm24
2299 // CHECK: encoding: [0x62,0x61,0xfd,0x28,0x7b,0x42,0x80]
2300 vcvtpd2qq -4096(%rdx), %ymm24
2301
2302 // CHECK: vcvtpd2qq -4128(%rdx), %ymm24
2303 // CHECK: encoding: [0x62,0x61,0xfd,0x28,0x7b,0x82,0xe0,0xef,0xff,0xff]
2304 vcvtpd2qq -4128(%rdx), %ymm24
2305
2306 // CHECK: vcvtpd2qq 1016(%rdx){1to4}, %ymm24
2307 // CHECK: encoding: [0x62,0x61,0xfd,0x38,0x7b,0x42,0x7f]
2308 vcvtpd2qq 1016(%rdx){1to4}, %ymm24
2309
2310 // CHECK: vcvtpd2qq 1024(%rdx){1to4}, %ymm24
2311 // CHECK: encoding: [0x62,0x61,0xfd,0x38,0x7b,0x82,0x00,0x04,0x00,0x00]
2312 vcvtpd2qq 1024(%rdx){1to4}, %ymm24
2313
2314 // CHECK: vcvtpd2qq -1024(%rdx){1to4}, %ymm24
2315 // CHECK: encoding: [0x62,0x61,0xfd,0x38,0x7b,0x42,0x80]
2316 vcvtpd2qq -1024(%rdx){1to4}, %ymm24
2317
2318 // CHECK: vcvtpd2qq -1032(%rdx){1to4}, %ymm24
2319 // CHECK: encoding: [0x62,0x61,0xfd,0x38,0x7b,0x82,0xf8,0xfb,0xff,0xff]
2320 vcvtpd2qq -1032(%rdx){1to4}, %ymm24
2321
2322 // CHECK: vcvtpd2uqq %xmm20, %xmm22
2323 // CHECK: encoding: [0x62,0xa1,0xfd,0x08,0x79,0xf4]
2324 vcvtpd2uqq %xmm20, %xmm22
2325
2326 // CHECK: vcvtpd2uqq %xmm20, %xmm22 {%k3}
2327 // CHECK: encoding: [0x62,0xa1,0xfd,0x0b,0x79,0xf4]
2328 vcvtpd2uqq %xmm20, %xmm22 {%k3}
2329
2330 // CHECK: vcvtpd2uqq %xmm20, %xmm22 {%k3} {z}
2331 // CHECK: encoding: [0x62,0xa1,0xfd,0x8b,0x79,0xf4]
2332 vcvtpd2uqq %xmm20, %xmm22 {%k3} {z}
2333
2334 // CHECK: vcvtpd2uqq (%rcx), %xmm22
2335 // CHECK: encoding: [0x62,0xe1,0xfd,0x08,0x79,0x31]
2336 vcvtpd2uqq (%rcx), %xmm22
2337
2338 // CHECK: vcvtpd2uqq 291(%rax,%r14,8), %xmm22
2339 // CHECK: encoding: [0x62,0xa1,0xfd,0x08,0x79,0xb4,0xf0,0x23,0x01,0x00,0x00]
2340 vcvtpd2uqq 291(%rax,%r14,8), %xmm22
2341
2342 // CHECK: vcvtpd2uqq (%rcx){1to2}, %xmm22
2343 // CHECK: encoding: [0x62,0xe1,0xfd,0x18,0x79,0x31]
2344 vcvtpd2uqq (%rcx){1to2}, %xmm22
2345
2346 // CHECK: vcvtpd2uqq 2032(%rdx), %xmm22
2347 // CHECK: encoding: [0x62,0xe1,0xfd,0x08,0x79,0x72,0x7f]
2348 vcvtpd2uqq 2032(%rdx), %xmm22
2349
2350 // CHECK: vcvtpd2uqq 2048(%rdx), %xmm22
2351 // CHECK: encoding: [0x62,0xe1,0xfd,0x08,0x79,0xb2,0x00,0x08,0x00,0x00]
2352 vcvtpd2uqq 2048(%rdx), %xmm22
2353
2354 // CHECK: vcvtpd2uqq -2048(%rdx), %xmm22
2355 // CHECK: encoding: [0x62,0xe1,0xfd,0x08,0x79,0x72,0x80]
2356 vcvtpd2uqq -2048(%rdx), %xmm22
2357
2358 // CHECK: vcvtpd2uqq -2064(%rdx), %xmm22
2359 // CHECK: encoding: [0x62,0xe1,0xfd,0x08,0x79,0xb2,0xf0,0xf7,0xff,0xff]
2360 vcvtpd2uqq -2064(%rdx), %xmm22
2361
2362 // CHECK: vcvtpd2uqq 1016(%rdx){1to2}, %xmm22
2363 // CHECK: encoding: [0x62,0xe1,0xfd,0x18,0x79,0x72,0x7f]
2364 vcvtpd2uqq 1016(%rdx){1to2}, %xmm22
2365
2366 // CHECK: vcvtpd2uqq 1024(%rdx){1to2}, %xmm22
2367 // CHECK: encoding: [0x62,0xe1,0xfd,0x18,0x79,0xb2,0x00,0x04,0x00,0x00]
2368 vcvtpd2uqq 1024(%rdx){1to2}, %xmm22
2369
2370 // CHECK: vcvtpd2uqq -1024(%rdx){1to2}, %xmm22
2371 // CHECK: encoding: [0x62,0xe1,0xfd,0x18,0x79,0x72,0x80]
2372 vcvtpd2uqq -1024(%rdx){1to2}, %xmm22
2373
2374 // CHECK: vcvtpd2uqq -1032(%rdx){1to2}, %xmm22
2375 // CHECK: encoding: [0x62,0xe1,0xfd,0x18,0x79,0xb2,0xf8,0xfb,0xff,0xff]
2376 vcvtpd2uqq -1032(%rdx){1to2}, %xmm22
2377
2378 // CHECK: vcvtpd2uqq %ymm24, %ymm21
2379 // CHECK: encoding: [0x62,0x81,0xfd,0x28,0x79,0xe8]
2380 vcvtpd2uqq %ymm24, %ymm21
2381
2382 // CHECK: vcvtpd2uqq %ymm24, %ymm21 {%k6}
2383 // CHECK: encoding: [0x62,0x81,0xfd,0x2e,0x79,0xe8]
2384 vcvtpd2uqq %ymm24, %ymm21 {%k6}
2385
2386 // CHECK: vcvtpd2uqq %ymm24, %ymm21 {%k6} {z}
2387 // CHECK: encoding: [0x62,0x81,0xfd,0xae,0x79,0xe8]
2388 vcvtpd2uqq %ymm24, %ymm21 {%k6} {z}
2389
2390 // CHECK: vcvtpd2uqq (%rcx), %ymm21
2391 // CHECK: encoding: [0x62,0xe1,0xfd,0x28,0x79,0x29]
2392 vcvtpd2uqq (%rcx), %ymm21
2393
2394 // CHECK: vcvtpd2uqq 291(%rax,%r14,8), %ymm21
2395 // CHECK: encoding: [0x62,0xa1,0xfd,0x28,0x79,0xac,0xf0,0x23,0x01,0x00,0x00]
2396 vcvtpd2uqq 291(%rax,%r14,8), %ymm21
2397
2398 // CHECK: vcvtpd2uqq (%rcx){1to4}, %ymm21
2399 // CHECK: encoding: [0x62,0xe1,0xfd,0x38,0x79,0x29]
2400 vcvtpd2uqq (%rcx){1to4}, %ymm21
2401
2402 // CHECK: vcvtpd2uqq 4064(%rdx), %ymm21
2403 // CHECK: encoding: [0x62,0xe1,0xfd,0x28,0x79,0x6a,0x7f]
2404 vcvtpd2uqq 4064(%rdx), %ymm21
2405
2406 // CHECK: vcvtpd2uqq 4096(%rdx), %ymm21
2407 // CHECK: encoding: [0x62,0xe1,0xfd,0x28,0x79,0xaa,0x00,0x10,0x00,0x00]
2408 vcvtpd2uqq 4096(%rdx), %ymm21
2409
2410 // CHECK: vcvtpd2uqq -4096(%rdx), %ymm21
2411 // CHECK: encoding: [0x62,0xe1,0xfd,0x28,0x79,0x6a,0x80]
2412 vcvtpd2uqq -4096(%rdx), %ymm21
2413
2414 // CHECK: vcvtpd2uqq -4128(%rdx), %ymm21
2415 // CHECK: encoding: [0x62,0xe1,0xfd,0x28,0x79,0xaa,0xe0,0xef,0xff,0xff]
2416 vcvtpd2uqq -4128(%rdx), %ymm21
2417
2418 // CHECK: vcvtpd2uqq 1016(%rdx){1to4}, %ymm21
2419 // CHECK: encoding: [0x62,0xe1,0xfd,0x38,0x79,0x6a,0x7f]
2420 vcvtpd2uqq 1016(%rdx){1to4}, %ymm21
2421
2422 // CHECK: vcvtpd2uqq 1024(%rdx){1to4}, %ymm21
2423 // CHECK: encoding: [0x62,0xe1,0xfd,0x38,0x79,0xaa,0x00,0x04,0x00,0x00]
2424 vcvtpd2uqq 1024(%rdx){1to4}, %ymm21
2425
2426 // CHECK: vcvtpd2uqq -1024(%rdx){1to4}, %ymm21
2427 // CHECK: encoding: [0x62,0xe1,0xfd,0x38,0x79,0x6a,0x80]
2428 vcvtpd2uqq -1024(%rdx){1to4}, %ymm21
2429
2430 // CHECK: vcvtpd2uqq -1032(%rdx){1to4}, %ymm21
2431 // CHECK: encoding: [0x62,0xe1,0xfd,0x38,0x79,0xaa,0xf8,0xfb,0xff,0xff]
2432 vcvtpd2uqq -1032(%rdx){1to4}, %ymm21
2433
2434 // CHECK: vcvtps2qq %xmm28, %xmm17
2435 // CHECK: encoding: [0x62,0x81,0x7d,0x08,0x7b,0xcc]
2436 vcvtps2qq %xmm28, %xmm17
2437
2438 // CHECK: vcvtps2qq %xmm28, %xmm17 {%k4}
2439 // CHECK: encoding: [0x62,0x81,0x7d,0x0c,0x7b,0xcc]
2440 vcvtps2qq %xmm28, %xmm17 {%k4}
2441
2442 // CHECK: vcvtps2qq %xmm28, %xmm17 {%k4} {z}
2443 // CHECK: encoding: [0x62,0x81,0x7d,0x8c,0x7b,0xcc]
2444 vcvtps2qq %xmm28, %xmm17 {%k4} {z}
2445
2446 // CHECK: vcvtps2qq (%rcx), %xmm17
2447 // CHECK: encoding: [0x62,0xe1,0x7d,0x08,0x7b,0x09]
2448 vcvtps2qq (%rcx), %xmm17
2449
2450 // CHECK: vcvtps2qq 291(%rax,%r14,8), %xmm17
2451 // CHECK: encoding: [0x62,0xa1,0x7d,0x08,0x7b,0x8c,0xf0,0x23,0x01,0x00,0x00]
2452 vcvtps2qq 291(%rax,%r14,8), %xmm17
2453
2454 // CHECK: vcvtps2qq (%rcx){1to2}, %xmm17
2455 // CHECK: encoding: [0x62,0xe1,0x7d,0x18,0x7b,0x09]
2456 vcvtps2qq (%rcx){1to2}, %xmm17
2457
2458 // CHECK: vcvtps2qq 1016(%rdx), %xmm17
2459 // CHECK: encoding: [0x62,0xe1,0x7d,0x08,0x7b,0x4a,0x7f]
2460 vcvtps2qq 1016(%rdx), %xmm17
2461
2462 // CHECK: vcvtps2qq 1024(%rdx), %xmm17
2463 // CHECK: encoding: [0x62,0xe1,0x7d,0x08,0x7b,0x8a,0x00,0x04,0x00,0x00]
2464 vcvtps2qq 1024(%rdx), %xmm17
2465
2466 // CHECK: vcvtps2qq -1024(%rdx), %xmm17
2467 // CHECK: encoding: [0x62,0xe1,0x7d,0x08,0x7b,0x4a,0x80]
2468 vcvtps2qq -1024(%rdx), %xmm17
2469
2470 // CHECK: vcvtps2qq -1032(%rdx), %xmm17
2471 // CHECK: encoding: [0x62,0xe1,0x7d,0x08,0x7b,0x8a,0xf8,0xfb,0xff,0xff]
2472 vcvtps2qq -1032(%rdx), %xmm17
2473
2474 // CHECK: vcvtps2qq 508(%rdx){1to2}, %xmm17
2475 // CHECK: encoding: [0x62,0xe1,0x7d,0x18,0x7b,0x4a,0x7f]
2476 vcvtps2qq 508(%rdx){1to2}, %xmm17
2477
2478 // CHECK: vcvtps2qq 512(%rdx){1to2}, %xmm17
2479 // CHECK: encoding: [0x62,0xe1,0x7d,0x18,0x7b,0x8a,0x00,0x02,0x00,0x00]
2480 vcvtps2qq 512(%rdx){1to2}, %xmm17
2481
2482 // CHECK: vcvtps2qq -512(%rdx){1to2}, %xmm17
2483 // CHECK: encoding: [0x62,0xe1,0x7d,0x18,0x7b,0x4a,0x80]
2484 vcvtps2qq -512(%rdx){1to2}, %xmm17
2485
2486 // CHECK: vcvtps2qq -516(%rdx){1to2}, %xmm17
2487 // CHECK: encoding: [0x62,0xe1,0x7d,0x18,0x7b,0x8a,0xfc,0xfd,0xff,0xff]
2488 vcvtps2qq -516(%rdx){1to2}, %xmm17
2489
2490 // CHECK: vcvtps2qq %xmm27, %ymm25
2491 // CHECK: encoding: [0x62,0x01,0x7d,0x28,0x7b,0xcb]
2492 vcvtps2qq %xmm27, %ymm25
2493
2494 // CHECK: vcvtps2qq %xmm27, %ymm25 {%k7}
2495 // CHECK: encoding: [0x62,0x01,0x7d,0x2f,0x7b,0xcb]
2496 vcvtps2qq %xmm27, %ymm25 {%k7}
2497
2498 // CHECK: vcvtps2qq %xmm27, %ymm25 {%k7} {z}
2499 // CHECK: encoding: [0x62,0x01,0x7d,0xaf,0x7b,0xcb]
2500 vcvtps2qq %xmm27, %ymm25 {%k7} {z}
2501
2502 // CHECK: vcvtps2qq (%rcx), %ymm25
2503 // CHECK: encoding: [0x62,0x61,0x7d,0x28,0x7b,0x09]
2504 vcvtps2qq (%rcx), %ymm25
2505
2506 // CHECK: vcvtps2qq 291(%rax,%r14,8), %ymm25
2507 // CHECK: encoding: [0x62,0x21,0x7d,0x28,0x7b,0x8c,0xf0,0x23,0x01,0x00,0x00]
2508 vcvtps2qq 291(%rax,%r14,8), %ymm25
2509
2510 // CHECK: vcvtps2qq (%rcx){1to4}, %ymm25
2511 // CHECK: encoding: [0x62,0x61,0x7d,0x38,0x7b,0x09]
2512 vcvtps2qq (%rcx){1to4}, %ymm25
2513
2514 // CHECK: vcvtps2qq 2032(%rdx), %ymm25
2515 // CHECK: encoding: [0x62,0x61,0x7d,0x28,0x7b,0x4a,0x7f]
2516 vcvtps2qq 2032(%rdx), %ymm25
2517
2518 // CHECK: vcvtps2qq 2048(%rdx), %ymm25
2519 // CHECK: encoding: [0x62,0x61,0x7d,0x28,0x7b,0x8a,0x00,0x08,0x00,0x00]
2520 vcvtps2qq 2048(%rdx), %ymm25
2521
2522 // CHECK: vcvtps2qq -2048(%rdx), %ymm25
2523 // CHECK: encoding: [0x62,0x61,0x7d,0x28,0x7b,0x4a,0x80]
2524 vcvtps2qq -2048(%rdx), %ymm25
2525
2526 // CHECK: vcvtps2qq -2064(%rdx), %ymm25
2527 // CHECK: encoding: [0x62,0x61,0x7d,0x28,0x7b,0x8a,0xf0,0xf7,0xff,0xff]
2528 vcvtps2qq -2064(%rdx), %ymm25
2529
2530 // CHECK: vcvtps2qq 508(%rdx){1to4}, %ymm25
2531 // CHECK: encoding: [0x62,0x61,0x7d,0x38,0x7b,0x4a,0x7f]
2532 vcvtps2qq 508(%rdx){1to4}, %ymm25
2533
2534 // CHECK: vcvtps2qq 512(%rdx){1to4}, %ymm25
2535 // CHECK: encoding: [0x62,0x61,0x7d,0x38,0x7b,0x8a,0x00,0x02,0x00,0x00]
2536 vcvtps2qq 512(%rdx){1to4}, %ymm25
2537
2538 // CHECK: vcvtps2qq -512(%rdx){1to4}, %ymm25
2539 // CHECK: encoding: [0x62,0x61,0x7d,0x38,0x7b,0x4a,0x80]
2540 vcvtps2qq -512(%rdx){1to4}, %ymm25
2541
2542 // CHECK: vcvtps2qq -516(%rdx){1to4}, %ymm25
2543 // CHECK: encoding: [0x62,0x61,0x7d,0x38,0x7b,0x8a,0xfc,0xfd,0xff,0xff]
2544 vcvtps2qq -516(%rdx){1to4}, %ymm25
2545
2546 // CHECK: vcvtps2uqq %xmm29, %xmm29
2547 // CHECK: encoding: [0x62,0x01,0x7d,0x08,0x79,0xed]
2548 vcvtps2uqq %xmm29, %xmm29
2549
2550 // CHECK: vcvtps2uqq %xmm29, %xmm29 {%k1}
2551 // CHECK: encoding: [0x62,0x01,0x7d,0x09,0x79,0xed]
2552 vcvtps2uqq %xmm29, %xmm29 {%k1}
2553
2554 // CHECK: vcvtps2uqq %xmm29, %xmm29 {%k1} {z}
2555 // CHECK: encoding: [0x62,0x01,0x7d,0x89,0x79,0xed]
2556 vcvtps2uqq %xmm29, %xmm29 {%k1} {z}
2557
2558 // CHECK: vcvtps2uqq (%rcx), %xmm29
2559 // CHECK: encoding: [0x62,0x61,0x7d,0x08,0x79,0x29]
2560 vcvtps2uqq (%rcx), %xmm29
2561
2562 // CHECK: vcvtps2uqq 291(%rax,%r14,8), %xmm29
2563 // CHECK: encoding: [0x62,0x21,0x7d,0x08,0x79,0xac,0xf0,0x23,0x01,0x00,0x00]
2564 vcvtps2uqq 291(%rax,%r14,8), %xmm29
2565
2566 // CHECK: vcvtps2uqq (%rcx){1to2}, %xmm29
2567 // CHECK: encoding: [0x62,0x61,0x7d,0x18,0x79,0x29]
2568 vcvtps2uqq (%rcx){1to2}, %xmm29
2569
2570 // CHECK: vcvtps2uqq 1016(%rdx), %xmm29
2571 // CHECK: encoding: [0x62,0x61,0x7d,0x08,0x79,0x6a,0x7f]
2572 vcvtps2uqq 1016(%rdx), %xmm29
2573
2574 // CHECK: vcvtps2uqq 1024(%rdx), %xmm29
2575 // CHECK: encoding: [0x62,0x61,0x7d,0x08,0x79,0xaa,0x00,0x04,0x00,0x00]
2576 vcvtps2uqq 1024(%rdx), %xmm29
2577
2578 // CHECK: vcvtps2uqq -1024(%rdx), %xmm29
2579 // CHECK: encoding: [0x62,0x61,0x7d,0x08,0x79,0x6a,0x80]
2580 vcvtps2uqq -1024(%rdx), %xmm29
2581
2582 // CHECK: vcvtps2uqq -1032(%rdx), %xmm29
2583 // CHECK: encoding: [0x62,0x61,0x7d,0x08,0x79,0xaa,0xf8,0xfb,0xff,0xff]
2584 vcvtps2uqq -1032(%rdx), %xmm29
2585
2586 // CHECK: vcvtps2uqq 508(%rdx){1to2}, %xmm29
2587 // CHECK: encoding: [0x62,0x61,0x7d,0x18,0x79,0x6a,0x7f]
2588 vcvtps2uqq 508(%rdx){1to2}, %xmm29
2589
2590 // CHECK: vcvtps2uqq 512(%rdx){1to2}, %xmm29
2591 // CHECK: encoding: [0x62,0x61,0x7d,0x18,0x79,0xaa,0x00,0x02,0x00,0x00]
2592 vcvtps2uqq 512(%rdx){1to2}, %xmm29
2593
2594 // CHECK: vcvtps2uqq -512(%rdx){1to2}, %xmm29
2595 // CHECK: encoding: [0x62,0x61,0x7d,0x18,0x79,0x6a,0x80]
2596 vcvtps2uqq -512(%rdx){1to2}, %xmm29
2597
2598 // CHECK: vcvtps2uqq -516(%rdx){1to2}, %xmm29
2599 // CHECK: encoding: [0x62,0x61,0x7d,0x18,0x79,0xaa,0xfc,0xfd,0xff,0xff]
2600 vcvtps2uqq -516(%rdx){1to2}, %xmm29
2601
2602 // CHECK: vcvtps2uqq %xmm19, %ymm23
2603 // CHECK: encoding: [0x62,0xa1,0x7d,0x28,0x79,0xfb]
2604 vcvtps2uqq %xmm19, %ymm23
2605
2606 // CHECK: vcvtps2uqq %xmm19, %ymm23 {%k2}
2607 // CHECK: encoding: [0x62,0xa1,0x7d,0x2a,0x79,0xfb]
2608 vcvtps2uqq %xmm19, %ymm23 {%k2}
2609
2610 // CHECK: vcvtps2uqq %xmm19, %ymm23 {%k2} {z}
2611 // CHECK: encoding: [0x62,0xa1,0x7d,0xaa,0x79,0xfb]
2612 vcvtps2uqq %xmm19, %ymm23 {%k2} {z}
2613
2614 // CHECK: vcvtps2uqq (%rcx), %ymm23
2615 // CHECK: encoding: [0x62,0xe1,0x7d,0x28,0x79,0x39]
2616 vcvtps2uqq (%rcx), %ymm23
2617
2618 // CHECK: vcvtps2uqq 291(%rax,%r14,8), %ymm23
2619 // CHECK: encoding: [0x62,0xa1,0x7d,0x28,0x79,0xbc,0xf0,0x23,0x01,0x00,0x00]
2620 vcvtps2uqq 291(%rax,%r14,8), %ymm23
2621
2622 // CHECK: vcvtps2uqq (%rcx){1to4}, %ymm23
2623 // CHECK: encoding: [0x62,0xe1,0x7d,0x38,0x79,0x39]
2624 vcvtps2uqq (%rcx){1to4}, %ymm23
2625
2626 // CHECK: vcvtps2uqq 2032(%rdx), %ymm23
2627 // CHECK: encoding: [0x62,0xe1,0x7d,0x28,0x79,0x7a,0x7f]
2628 vcvtps2uqq 2032(%rdx), %ymm23
2629
2630 // CHECK: vcvtps2uqq 2048(%rdx), %ymm23
2631 // CHECK: encoding: [0x62,0xe1,0x7d,0x28,0x79,0xba,0x00,0x08,0x00,0x00]
2632 vcvtps2uqq 2048(%rdx), %ymm23
2633
2634 // CHECK: vcvtps2uqq -2048(%rdx), %ymm23
2635 // CHECK: encoding: [0x62,0xe1,0x7d,0x28,0x79,0x7a,0x80]
2636 vcvtps2uqq -2048(%rdx), %ymm23
2637
2638 // CHECK: vcvtps2uqq -2064(%rdx), %ymm23
2639 // CHECK: encoding: [0x62,0xe1,0x7d,0x28,0x79,0xba,0xf0,0xf7,0xff,0xff]
2640 vcvtps2uqq -2064(%rdx), %ymm23
2641
2642 // CHECK: vcvtps2uqq 508(%rdx){1to4}, %ymm23
2643 // CHECK: encoding: [0x62,0xe1,0x7d,0x38,0x79,0x7a,0x7f]
2644 vcvtps2uqq 508(%rdx){1to4}, %ymm23
2645
2646 // CHECK: vcvtps2uqq 512(%rdx){1to4}, %ymm23
2647 // CHECK: encoding: [0x62,0xe1,0x7d,0x38,0x79,0xba,0x00,0x02,0x00,0x00]
2648 vcvtps2uqq 512(%rdx){1to4}, %ymm23
2649
2650 // CHECK: vcvtps2uqq -512(%rdx){1to4}, %ymm23
2651 // CHECK: encoding: [0x62,0xe1,0x7d,0x38,0x79,0x7a,0x80]
2652 vcvtps2uqq -512(%rdx){1to4}, %ymm23
2653
2654 // CHECK: vcvtps2uqq -516(%rdx){1to4}, %ymm23
2655 // CHECK: encoding: [0x62,0xe1,0x7d,0x38,0x79,0xba,0xfc,0xfd,0xff,0xff]
2656 vcvtps2uqq -516(%rdx){1to4}, %ymm23
2657
2658 // CHECK: vcvtqq2pd %xmm29, %xmm22
2659 // CHECK: encoding: [0x62,0x81,0xfe,0x08,0xe6,0xf5]
2660 vcvtqq2pd %xmm29, %xmm22
2661
2662 // CHECK: vcvtqq2pd %xmm29, %xmm22 {%k7}
2663 // CHECK: encoding: [0x62,0x81,0xfe,0x0f,0xe6,0xf5]
2664 vcvtqq2pd %xmm29, %xmm22 {%k7}
2665
2666 // CHECK: vcvtqq2pd %xmm29, %xmm22 {%k7} {z}
2667 // CHECK: encoding: [0x62,0x81,0xfe,0x8f,0xe6,0xf5]
2668 vcvtqq2pd %xmm29, %xmm22 {%k7} {z}
2669
2670 // CHECK: vcvtqq2pd (%rcx), %xmm22
2671 // CHECK: encoding: [0x62,0xe1,0xfe,0x08,0xe6,0x31]
2672 vcvtqq2pd (%rcx), %xmm22
2673
2674 // CHECK: vcvtqq2pd 291(%rax,%r14,8), %xmm22
2675 // CHECK: encoding: [0x62,0xa1,0xfe,0x08,0xe6,0xb4,0xf0,0x23,0x01,0x00,0x00]
2676 vcvtqq2pd 291(%rax,%r14,8), %xmm22
2677
2678 // CHECK: vcvtqq2pd (%rcx){1to2}, %xmm22
2679 // CHECK: encoding: [0x62,0xe1,0xfe,0x18,0xe6,0x31]
2680 vcvtqq2pd (%rcx){1to2}, %xmm22
2681
2682 // CHECK: vcvtqq2pd 2032(%rdx), %xmm22
2683 // CHECK: encoding: [0x62,0xe1,0xfe,0x08,0xe6,0x72,0x7f]
2684 vcvtqq2pd 2032(%rdx), %xmm22
2685
2686 // CHECK: vcvtqq2pd 2048(%rdx), %xmm22
2687 // CHECK: encoding: [0x62,0xe1,0xfe,0x08,0xe6,0xb2,0x00,0x08,0x00,0x00]
2688 vcvtqq2pd 2048(%rdx), %xmm22
2689
2690 // CHECK: vcvtqq2pd -2048(%rdx), %xmm22
2691 // CHECK: encoding: [0x62,0xe1,0xfe,0x08,0xe6,0x72,0x80]
2692 vcvtqq2pd -2048(%rdx), %xmm22
2693
2694 // CHECK: vcvtqq2pd -2064(%rdx), %xmm22
2695 // CHECK: encoding: [0x62,0xe1,0xfe,0x08,0xe6,0xb2,0xf0,0xf7,0xff,0xff]
2696 vcvtqq2pd -2064(%rdx), %xmm22
2697
2698 // CHECK: vcvtqq2pd 1016(%rdx){1to2}, %xmm22
2699 // CHECK: encoding: [0x62,0xe1,0xfe,0x18,0xe6,0x72,0x7f]
2700 vcvtqq2pd 1016(%rdx){1to2}, %xmm22
2701
2702 // CHECK: vcvtqq2pd 1024(%rdx){1to2}, %xmm22
2703 // CHECK: encoding: [0x62,0xe1,0xfe,0x18,0xe6,0xb2,0x00,0x04,0x00,0x00]
2704 vcvtqq2pd 1024(%rdx){1to2}, %xmm22
2705
2706 // CHECK: vcvtqq2pd -1024(%rdx){1to2}, %xmm22
2707 // CHECK: encoding: [0x62,0xe1,0xfe,0x18,0xe6,0x72,0x80]
2708 vcvtqq2pd -1024(%rdx){1to2}, %xmm22
2709
2710 // CHECK: vcvtqq2pd -1032(%rdx){1to2}, %xmm22
2711 // CHECK: encoding: [0x62,0xe1,0xfe,0x18,0xe6,0xb2,0xf8,0xfb,0xff,0xff]
2712 vcvtqq2pd -1032(%rdx){1to2}, %xmm22
2713
2714 // CHECK: vcvtqq2pd %ymm20, %ymm21
2715 // CHECK: encoding: [0x62,0xa1,0xfe,0x28,0xe6,0xec]
2716 vcvtqq2pd %ymm20, %ymm21
2717
2718 // CHECK: vcvtqq2pd %ymm20, %ymm21 {%k5}
2719 // CHECK: encoding: [0x62,0xa1,0xfe,0x2d,0xe6,0xec]
2720 vcvtqq2pd %ymm20, %ymm21 {%k5}
2721
2722 // CHECK: vcvtqq2pd %ymm20, %ymm21 {%k5} {z}
2723 // CHECK: encoding: [0x62,0xa1,0xfe,0xad,0xe6,0xec]
2724 vcvtqq2pd %ymm20, %ymm21 {%k5} {z}
2725
2726 // CHECK: vcvtqq2pd (%rcx), %ymm21
2727 // CHECK: encoding: [0x62,0xe1,0xfe,0x28,0xe6,0x29]
2728 vcvtqq2pd (%rcx), %ymm21
2729
2730 // CHECK: vcvtqq2pd 291(%rax,%r14,8), %ymm21
2731 // CHECK: encoding: [0x62,0xa1,0xfe,0x28,0xe6,0xac,0xf0,0x23,0x01,0x00,0x00]
2732 vcvtqq2pd 291(%rax,%r14,8), %ymm21
2733
2734 // CHECK: vcvtqq2pd (%rcx){1to4}, %ymm21
2735 // CHECK: encoding: [0x62,0xe1,0xfe,0x38,0xe6,0x29]
2736 vcvtqq2pd (%rcx){1to4}, %ymm21
2737
2738 // CHECK: vcvtqq2pd 4064(%rdx), %ymm21
2739 // CHECK: encoding: [0x62,0xe1,0xfe,0x28,0xe6,0x6a,0x7f]
2740 vcvtqq2pd 4064(%rdx), %ymm21
2741
2742 // CHECK: vcvtqq2pd 4096(%rdx), %ymm21
2743 // CHECK: encoding: [0x62,0xe1,0xfe,0x28,0xe6,0xaa,0x00,0x10,0x00,0x00]
2744 vcvtqq2pd 4096(%rdx), %ymm21
2745
2746 // CHECK: vcvtqq2pd -4096(%rdx), %ymm21
2747 // CHECK: encoding: [0x62,0xe1,0xfe,0x28,0xe6,0x6a,0x80]
2748 vcvtqq2pd -4096(%rdx), %ymm21
2749
2750 // CHECK: vcvtqq2pd -4128(%rdx), %ymm21
2751 // CHECK: encoding: [0x62,0xe1,0xfe,0x28,0xe6,0xaa,0xe0,0xef,0xff,0xff]
2752 vcvtqq2pd -4128(%rdx), %ymm21
2753
2754 // CHECK: vcvtqq2pd 1016(%rdx){1to4}, %ymm21
2755 // CHECK: encoding: [0x62,0xe1,0xfe,0x38,0xe6,0x6a,0x7f]
2756 vcvtqq2pd 1016(%rdx){1to4}, %ymm21
2757
2758 // CHECK: vcvtqq2pd 1024(%rdx){1to4}, %ymm21
2759 // CHECK: encoding: [0x62,0xe1,0xfe,0x38,0xe6,0xaa,0x00,0x04,0x00,0x00]
2760 vcvtqq2pd 1024(%rdx){1to4}, %ymm21
2761
2762 // CHECK: vcvtqq2pd -1024(%rdx){1to4}, %ymm21
2763 // CHECK: encoding: [0x62,0xe1,0xfe,0x38,0xe6,0x6a,0x80]
2764 vcvtqq2pd -1024(%rdx){1to4}, %ymm21
2765
2766 // CHECK: vcvtqq2pd -1032(%rdx){1to4}, %ymm21
2767 // CHECK: encoding: [0x62,0xe1,0xfe,0x38,0xe6,0xaa,0xf8,0xfb,0xff,0xff]
2768 vcvtqq2pd -1032(%rdx){1to4}, %ymm21
2769
2770 // CHECK: vcvtqq2ps %xmm28, %xmm25
2771 // CHECK: encoding: [0x62,0x01,0xfc,0x08,0x5b,0xcc]
2772 vcvtqq2ps %xmm28, %xmm25
2773
2774 // CHECK: vcvtqq2ps %xmm28, %xmm25 {%k6}
2775 // CHECK: encoding: [0x62,0x01,0xfc,0x0e,0x5b,0xcc]
2776 vcvtqq2ps %xmm28, %xmm25 {%k6}
2777
2778 // CHECK: vcvtqq2ps %xmm28, %xmm25 {%k6} {z}
2779 // CHECK: encoding: [0x62,0x01,0xfc,0x8e,0x5b,0xcc]
2780 vcvtqq2ps %xmm28, %xmm25 {%k6} {z}
2781
2782 // CHECK: vcvtqq2psx (%rcx), %xmm25
2783 // CHECK: encoding: [0x62,0x61,0xfc,0x08,0x5b,0x09]
2784 vcvtqq2psx (%rcx), %xmm25
2785
2786 // CHECK: vcvtqq2psx 291(%rax,%r14,8), %xmm25
2787 // CHECK: encoding: [0x62,0x21,0xfc,0x08,0x5b,0x8c,0xf0,0x23,0x01,0x00,0x00]
2788 vcvtqq2psx 291(%rax,%r14,8), %xmm25
2789
2790 // CHECK: vcvtqq2ps (%rcx){1to2}, %xmm25
2791 // CHECK: encoding: [0x62,0x61,0xfc,0x18,0x5b,0x09]
2792 vcvtqq2ps (%rcx){1to2}, %xmm25
2793
2794 // CHECK: vcvtqq2psx 2032(%rdx), %xmm25
2795 // CHECK: encoding: [0x62,0x61,0xfc,0x08,0x5b,0x4a,0x7f]
2796 vcvtqq2psx 2032(%rdx), %xmm25
2797
2798 // CHECK: vcvtqq2psx 2048(%rdx), %xmm25
2799 // CHECK: encoding: [0x62,0x61,0xfc,0x08,0x5b,0x8a,0x00,0x08,0x00,0x00]
2800 vcvtqq2psx 2048(%rdx), %xmm25
2801
2802 // CHECK: vcvtqq2psx -2048(%rdx), %xmm25
2803 // CHECK: encoding: [0x62,0x61,0xfc,0x08,0x5b,0x4a,0x80]
2804 vcvtqq2psx -2048(%rdx), %xmm25
2805
2806 // CHECK: vcvtqq2psx -2064(%rdx), %xmm25
2807 // CHECK: encoding: [0x62,0x61,0xfc,0x08,0x5b,0x8a,0xf0,0xf7,0xff,0xff]
2808 vcvtqq2psx -2064(%rdx), %xmm25
2809
2810 // CHECK: vcvtqq2ps 1016(%rdx){1to2}, %xmm25
2811 // CHECK: encoding: [0x62,0x61,0xfc,0x18,0x5b,0x4a,0x7f]
2812 vcvtqq2ps 1016(%rdx){1to2}, %xmm25
2813
2814 // CHECK: vcvtqq2ps 1024(%rdx){1to2}, %xmm25
2815 // CHECK: encoding: [0x62,0x61,0xfc,0x18,0x5b,0x8a,0x00,0x04,0x00,0x00]
2816 vcvtqq2ps 1024(%rdx){1to2}, %xmm25
2817
2818 // CHECK: vcvtqq2ps -1024(%rdx){1to2}, %xmm25
2819 // CHECK: encoding: [0x62,0x61,0xfc,0x18,0x5b,0x4a,0x80]
2820 vcvtqq2ps -1024(%rdx){1to2}, %xmm25
2821
2822 // CHECK: vcvtqq2ps -1032(%rdx){1to2}, %xmm25
2823 // CHECK: encoding: [0x62,0x61,0xfc,0x18,0x5b,0x8a,0xf8,0xfb,0xff,0xff]
2824 vcvtqq2ps -1032(%rdx){1to2}, %xmm25
2825
2826 // CHECK: vcvtqq2ps %ymm22, %xmm27
2827 // CHECK: encoding: [0x62,0x21,0xfc,0x28,0x5b,0xde]
2828 vcvtqq2ps %ymm22, %xmm27
2829
2830 // CHECK: vcvtqq2ps %ymm22, %xmm27 {%k3}
2831 // CHECK: encoding: [0x62,0x21,0xfc,0x2b,0x5b,0xde]
2832 vcvtqq2ps %ymm22, %xmm27 {%k3}
2833
2834 // CHECK: vcvtqq2ps %ymm22, %xmm27 {%k3} {z}
2835 // CHECK: encoding: [0x62,0x21,0xfc,0xab,0x5b,0xde]
2836 vcvtqq2ps %ymm22, %xmm27 {%k3} {z}
2837
2838 // CHECK: vcvtqq2psy (%rcx), %xmm27
2839 // CHECK: encoding: [0x62,0x61,0xfc,0x28,0x5b,0x19]
2840 vcvtqq2psy (%rcx), %xmm27
2841
2842 // CHECK: vcvtqq2psy 291(%rax,%r14,8), %xmm27
2843 // CHECK: encoding: [0x62,0x21,0xfc,0x28,0x5b,0x9c,0xf0,0x23,0x01,0x00,0x00]
2844 vcvtqq2psy 291(%rax,%r14,8), %xmm27
2845
2846 // CHECK: vcvtqq2ps (%rcx){1to4}, %xmm27
2847 // CHECK: encoding: [0x62,0x61,0xfc,0x38,0x5b,0x19]
2848 vcvtqq2ps (%rcx){1to4}, %xmm27
2849
2850 // CHECK: vcvtqq2psy 4064(%rdx), %xmm27
2851 // CHECK: encoding: [0x62,0x61,0xfc,0x28,0x5b,0x5a,0x7f]
2852 vcvtqq2psy 4064(%rdx), %xmm27
2853
2854 // CHECK: vcvtqq2psy 4096(%rdx), %xmm27
2855 // CHECK: encoding: [0x62,0x61,0xfc,0x28,0x5b,0x9a,0x00,0x10,0x00,0x00]
2856 vcvtqq2psy 4096(%rdx), %xmm27
2857
2858 // CHECK: vcvtqq2psy -4096(%rdx), %xmm27
2859 // CHECK: encoding: [0x62,0x61,0xfc,0x28,0x5b,0x5a,0x80]
2860 vcvtqq2psy -4096(%rdx), %xmm27
2861
2862 // CHECK: vcvtqq2psy -4128(%rdx), %xmm27
2863 // CHECK: encoding: [0x62,0x61,0xfc,0x28,0x5b,0x9a,0xe0,0xef,0xff,0xff]
2864 vcvtqq2psy -4128(%rdx), %xmm27
2865
2866 // CHECK: vcvtqq2ps 1016(%rdx){1to4}, %xmm27
2867 // CHECK: encoding: [0x62,0x61,0xfc,0x38,0x5b,0x5a,0x7f]
2868 vcvtqq2ps 1016(%rdx){1to4}, %xmm27
2869
2870 // CHECK: vcvtqq2ps 1024(%rdx){1to4}, %xmm27
2871 // CHECK: encoding: [0x62,0x61,0xfc,0x38,0x5b,0x9a,0x00,0x04,0x00,0x00]
2872 vcvtqq2ps 1024(%rdx){1to4}, %xmm27
2873
2874 // CHECK: vcvtqq2ps -1024(%rdx){1to4}, %xmm27
2875 // CHECK: encoding: [0x62,0x61,0xfc,0x38,0x5b,0x5a,0x80]
2876 vcvtqq2ps -1024(%rdx){1to4}, %xmm27
2877
2878 // CHECK: vcvtqq2ps -1032(%rdx){1to4}, %xmm27
2879 // CHECK: encoding: [0x62,0x61,0xfc,0x38,0x5b,0x9a,0xf8,0xfb,0xff,0xff]
2880 vcvtqq2ps -1032(%rdx){1to4}, %xmm27
2881
2882 // CHECK: vcvtuqq2pd %xmm20, %xmm19
2883 // CHECK: encoding: [0x62,0xa1,0xfe,0x08,0x7a,0xdc]
2884 vcvtuqq2pd %xmm20, %xmm19
2885
2886 // CHECK: vcvtuqq2pd %xmm20, %xmm19 {%k3}
2887 // CHECK: encoding: [0x62,0xa1,0xfe,0x0b,0x7a,0xdc]
2888 vcvtuqq2pd %xmm20, %xmm19 {%k3}
2889
2890 // CHECK: vcvtuqq2pd %xmm20, %xmm19 {%k3} {z}
2891 // CHECK: encoding: [0x62,0xa1,0xfe,0x8b,0x7a,0xdc]
2892 vcvtuqq2pd %xmm20, %xmm19 {%k3} {z}
2893
2894 // CHECK: vcvtuqq2pd (%rcx), %xmm19
2895 // CHECK: encoding: [0x62,0xe1,0xfe,0x08,0x7a,0x19]
2896 vcvtuqq2pd (%rcx), %xmm19
2897
2898 // CHECK: vcvtuqq2pd 291(%rax,%r14,8), %xmm19
2899 // CHECK: encoding: [0x62,0xa1,0xfe,0x08,0x7a,0x9c,0xf0,0x23,0x01,0x00,0x00]
2900 vcvtuqq2pd 291(%rax,%r14,8), %xmm19
2901
2902 // CHECK: vcvtuqq2pd (%rcx){1to2}, %xmm19
2903 // CHECK: encoding: [0x62,0xe1,0xfe,0x18,0x7a,0x19]
2904 vcvtuqq2pd (%rcx){1to2}, %xmm19
2905
2906 // CHECK: vcvtuqq2pd 2032(%rdx), %xmm19
2907 // CHECK: encoding: [0x62,0xe1,0xfe,0x08,0x7a,0x5a,0x7f]
2908 vcvtuqq2pd 2032(%rdx), %xmm19
2909
2910 // CHECK: vcvtuqq2pd 2048(%rdx), %xmm19
2911 // CHECK: encoding: [0x62,0xe1,0xfe,0x08,0x7a,0x9a,0x00,0x08,0x00,0x00]
2912 vcvtuqq2pd 2048(%rdx), %xmm19
2913
2914 // CHECK: vcvtuqq2pd -2048(%rdx), %xmm19
2915 // CHECK: encoding: [0x62,0xe1,0xfe,0x08,0x7a,0x5a,0x80]
2916 vcvtuqq2pd -2048(%rdx), %xmm19
2917
2918 // CHECK: vcvtuqq2pd -2064(%rdx), %xmm19
2919 // CHECK: encoding: [0x62,0xe1,0xfe,0x08,0x7a,0x9a,0xf0,0xf7,0xff,0xff]
2920 vcvtuqq2pd -2064(%rdx), %xmm19
2921
2922 // CHECK: vcvtuqq2pd 1016(%rdx){1to2}, %xmm19
2923 // CHECK: encoding: [0x62,0xe1,0xfe,0x18,0x7a,0x5a,0x7f]
2924 vcvtuqq2pd 1016(%rdx){1to2}, %xmm19
2925
2926 // CHECK: vcvtuqq2pd 1024(%rdx){1to2}, %xmm19
2927 // CHECK: encoding: [0x62,0xe1,0xfe,0x18,0x7a,0x9a,0x00,0x04,0x00,0x00]
2928 vcvtuqq2pd 1024(%rdx){1to2}, %xmm19
2929
2930 // CHECK: vcvtuqq2pd -1024(%rdx){1to2}, %xmm19
2931 // CHECK: encoding: [0x62,0xe1,0xfe,0x18,0x7a,0x5a,0x80]
2932 vcvtuqq2pd -1024(%rdx){1to2}, %xmm19
2933
2934 // CHECK: vcvtuqq2pd -1032(%rdx){1to2}, %xmm19
2935 // CHECK: encoding: [0x62,0xe1,0xfe,0x18,0x7a,0x9a,0xf8,0xfb,0xff,0xff]
2936 vcvtuqq2pd -1032(%rdx){1to2}, %xmm19
2937
2938 // CHECK: vcvtuqq2pd %ymm26, %ymm28
2939 // CHECK: encoding: [0x62,0x01,0xfe,0x28,0x7a,0xe2]
2940 vcvtuqq2pd %ymm26, %ymm28
2941
2942 // CHECK: vcvtuqq2pd %ymm26, %ymm28 {%k4}
2943 // CHECK: encoding: [0x62,0x01,0xfe,0x2c,0x7a,0xe2]
2944 vcvtuqq2pd %ymm26, %ymm28 {%k4}
2945
2946 // CHECK: vcvtuqq2pd %ymm26, %ymm28 {%k4} {z}
2947 // CHECK: encoding: [0x62,0x01,0xfe,0xac,0x7a,0xe2]
2948 vcvtuqq2pd %ymm26, %ymm28 {%k4} {z}
2949
2950 // CHECK: vcvtuqq2pd (%rcx), %ymm28
2951 // CHECK: encoding: [0x62,0x61,0xfe,0x28,0x7a,0x21]
2952 vcvtuqq2pd (%rcx), %ymm28
2953
2954 // CHECK: vcvtuqq2pd 291(%rax,%r14,8), %ymm28
2955 // CHECK: encoding: [0x62,0x21,0xfe,0x28,0x7a,0xa4,0xf0,0x23,0x01,0x00,0x00]
2956 vcvtuqq2pd 291(%rax,%r14,8), %ymm28
2957
2958 // CHECK: vcvtuqq2pd (%rcx){1to4}, %ymm28
2959 // CHECK: encoding: [0x62,0x61,0xfe,0x38,0x7a,0x21]
2960 vcvtuqq2pd (%rcx){1to4}, %ymm28
2961
2962 // CHECK: vcvtuqq2pd 4064(%rdx), %ymm28
2963 // CHECK: encoding: [0x62,0x61,0xfe,0x28,0x7a,0x62,0x7f]
2964 vcvtuqq2pd 4064(%rdx), %ymm28
2965
2966 // CHECK: vcvtuqq2pd 4096(%rdx), %ymm28
2967 // CHECK: encoding: [0x62,0x61,0xfe,0x28,0x7a,0xa2,0x00,0x10,0x00,0x00]
2968 vcvtuqq2pd 4096(%rdx), %ymm28
2969
2970 // CHECK: vcvtuqq2pd -4096(%rdx), %ymm28
2971 // CHECK: encoding: [0x62,0x61,0xfe,0x28,0x7a,0x62,0x80]
2972 vcvtuqq2pd -4096(%rdx), %ymm28
2973
2974 // CHECK: vcvtuqq2pd -4128(%rdx), %ymm28
2975 // CHECK: encoding: [0x62,0x61,0xfe,0x28,0x7a,0xa2,0xe0,0xef,0xff,0xff]
2976 vcvtuqq2pd -4128(%rdx), %ymm28
2977
2978 // CHECK: vcvtuqq2pd 1016(%rdx){1to4}, %ymm28
2979 // CHECK: encoding: [0x62,0x61,0xfe,0x38,0x7a,0x62,0x7f]
2980 vcvtuqq2pd 1016(%rdx){1to4}, %ymm28
2981
2982 // CHECK: vcvtuqq2pd 1024(%rdx){1to4}, %ymm28
2983 // CHECK: encoding: [0x62,0x61,0xfe,0x38,0x7a,0xa2,0x00,0x04,0x00,0x00]
2984 vcvtuqq2pd 1024(%rdx){1to4}, %ymm28
2985
2986 // CHECK: vcvtuqq2pd -1024(%rdx){1to4}, %ymm28
2987 // CHECK: encoding: [0x62,0x61,0xfe,0x38,0x7a,0x62,0x80]
2988 vcvtuqq2pd -1024(%rdx){1to4}, %ymm28
2989
2990 // CHECK: vcvtuqq2pd -1032(%rdx){1to4}, %ymm28
2991 // CHECK: encoding: [0x62,0x61,0xfe,0x38,0x7a,0xa2,0xf8,0xfb,0xff,0xff]
2992 vcvtuqq2pd -1032(%rdx){1to4}, %ymm28
2993
2994 // CHECK: vcvtuqq2ps %xmm27, %xmm21
2995 // CHECK: encoding: [0x62,0x81,0xff,0x08,0x7a,0xeb]
2996 vcvtuqq2ps %xmm27, %xmm21
2997
2998 // CHECK: vcvtuqq2ps %xmm27, %xmm21 {%k7}
2999 // CHECK: encoding: [0x62,0x81,0xff,0x0f,0x7a,0xeb]
3000 vcvtuqq2ps %xmm27, %xmm21 {%k7}
3001
3002 // CHECK: vcvtuqq2ps %xmm27, %xmm21 {%k7} {z}
3003 // CHECK: encoding: [0x62,0x81,0xff,0x8f,0x7a,0xeb]
3004 vcvtuqq2ps %xmm27, %xmm21 {%k7} {z}
3005
3006 // CHECK: vcvtuqq2psx (%rcx), %xmm21
3007 // CHECK: encoding: [0x62,0xe1,0xff,0x08,0x7a,0x29]
3008 vcvtuqq2psx (%rcx), %xmm21
3009
3010 // CHECK: vcvtuqq2psx 291(%rax,%r14,8), %xmm21
3011 // CHECK: encoding: [0x62,0xa1,0xff,0x08,0x7a,0xac,0xf0,0x23,0x01,0x00,0x00]
3012 vcvtuqq2psx 291(%rax,%r14,8), %xmm21
3013
3014 // CHECK: vcvtuqq2ps (%rcx){1to2}, %xmm21
3015 // CHECK: encoding: [0x62,0xe1,0xff,0x18,0x7a,0x29]
3016 vcvtuqq2ps (%rcx){1to2}, %xmm21
3017
3018 // CHECK: vcvtuqq2psx 2032(%rdx), %xmm21
3019 // CHECK: encoding: [0x62,0xe1,0xff,0x08,0x7a,0x6a,0x7f]
3020 vcvtuqq2psx 2032(%rdx), %xmm21
3021
3022 // CHECK: vcvtuqq2psx 2048(%rdx), %xmm21
3023 // CHECK: encoding: [0x62,0xe1,0xff,0x08,0x7a,0xaa,0x00,0x08,0x00,0x00]
3024 vcvtuqq2psx 2048(%rdx), %xmm21
3025
3026 // CHECK: vcvtuqq2psx -2048(%rdx), %xmm21
3027 // CHECK: encoding: [0x62,0xe1,0xff,0x08,0x7a,0x6a,0x80]
3028 vcvtuqq2psx -2048(%rdx), %xmm21
3029
3030 // CHECK: vcvtuqq2psx -2064(%rdx), %xmm21
3031 // CHECK: encoding: [0x62,0xe1,0xff,0x08,0x7a,0xaa,0xf0,0xf7,0xff,0xff]
3032 vcvtuqq2psx -2064(%rdx), %xmm21
3033
3034 // CHECK: vcvtuqq2ps 1016(%rdx){1to2}, %xmm21
3035 // CHECK: encoding: [0x62,0xe1,0xff,0x18,0x7a,0x6a,0x7f]
3036 vcvtuqq2ps 1016(%rdx){1to2}, %xmm21
3037
3038 // CHECK: vcvtuqq2ps 1024(%rdx){1to2}, %xmm21
3039 // CHECK: encoding: [0x62,0xe1,0xff,0x18,0x7a,0xaa,0x00,0x04,0x00,0x00]
3040 vcvtuqq2ps 1024(%rdx){1to2}, %xmm21
3041
3042 // CHECK: vcvtuqq2ps -1024(%rdx){1to2}, %xmm21
3043 // CHECK: encoding: [0x62,0xe1,0xff,0x18,0x7a,0x6a,0x80]
3044 vcvtuqq2ps -1024(%rdx){1to2}, %xmm21
3045
3046 // CHECK: vcvtuqq2ps -1032(%rdx){1to2}, %xmm21
3047 // CHECK: encoding: [0x62,0xe1,0xff,0x18,0x7a,0xaa,0xf8,0xfb,0xff,0xff]
3048 vcvtuqq2ps -1032(%rdx){1to2}, %xmm21
3049
3050 // CHECK: vcvtuqq2ps %ymm24, %xmm28
3051 // CHECK: encoding: [0x62,0x01,0xff,0x28,0x7a,0xe0]
3052 vcvtuqq2ps %ymm24, %xmm28
3053
3054 // CHECK: vcvtuqq2ps %ymm24, %xmm28 {%k3}
3055 // CHECK: encoding: [0x62,0x01,0xff,0x2b,0x7a,0xe0]
3056 vcvtuqq2ps %ymm24, %xmm28 {%k3}
3057
3058 // CHECK: vcvtuqq2ps %ymm24, %xmm28 {%k3} {z}
3059 // CHECK: encoding: [0x62,0x01,0xff,0xab,0x7a,0xe0]
3060 vcvtuqq2ps %ymm24, %xmm28 {%k3} {z}
3061
3062 // CHECK: vcvtuqq2psy (%rcx), %xmm28
3063 // CHECK: encoding: [0x62,0x61,0xff,0x28,0x7a,0x21]
3064 vcvtuqq2psy (%rcx), %xmm28
3065
3066 // CHECK: vcvtuqq2psy 291(%rax,%r14,8), %xmm28
3067 // CHECK: encoding: [0x62,0x21,0xff,0x28,0x7a,0xa4,0xf0,0x23,0x01,0x00,0x00]
3068 vcvtuqq2psy 291(%rax,%r14,8), %xmm28
3069
3070 // CHECK: vcvtuqq2ps (%rcx){1to4}, %xmm28
3071 // CHECK: encoding: [0x62,0x61,0xff,0x38,0x7a,0x21]
3072 vcvtuqq2ps (%rcx){1to4}, %xmm28
3073
3074 // CHECK: vcvtuqq2psy 4064(%rdx), %xmm28
3075 // CHECK: encoding: [0x62,0x61,0xff,0x28,0x7a,0x62,0x7f]
3076 vcvtuqq2psy 4064(%rdx), %xmm28
3077
3078 // CHECK: vcvtuqq2psy 4096(%rdx), %xmm28
3079 // CHECK: encoding: [0x62,0x61,0xff,0x28,0x7a,0xa2,0x00,0x10,0x00,0x00]
3080 vcvtuqq2psy 4096(%rdx), %xmm28
3081
3082 // CHECK: vcvtuqq2psy -4096(%rdx), %xmm28
3083 // CHECK: encoding: [0x62,0x61,0xff,0x28,0x7a,0x62,0x80]
3084 vcvtuqq2psy -4096(%rdx), %xmm28
3085
3086 // CHECK: vcvtuqq2psy -4128(%rdx), %xmm28
3087 // CHECK: encoding: [0x62,0x61,0xff,0x28,0x7a,0xa2,0xe0,0xef,0xff,0xff]
3088 vcvtuqq2psy -4128(%rdx), %xmm28
3089
3090 // CHECK: vcvtuqq2ps 1016(%rdx){1to4}, %xmm28
3091 // CHECK: encoding: [0x62,0x61,0xff,0x38,0x7a,0x62,0x7f]
3092 vcvtuqq2ps 1016(%rdx){1to4}, %xmm28
3093
3094 // CHECK: vcvtuqq2ps 1024(%rdx){1to4}, %xmm28
3095 // CHECK: encoding: [0x62,0x61,0xff,0x38,0x7a,0xa2,0x00,0x04,0x00,0x00]
3096 vcvtuqq2ps 1024(%rdx){1to4}, %xmm28
3097
3098 // CHECK: vcvtuqq2ps -1024(%rdx){1to4}, %xmm28
3099 // CHECK: encoding: [0x62,0x61,0xff,0x38,0x7a,0x62,0x80]
3100 vcvtuqq2ps -1024(%rdx){1to4}, %xmm28
3101
3102 // CHECK: vcvtuqq2ps -1032(%rdx){1to4}, %xmm28
3103 // CHECK: encoding: [0x62,0x61,0xff,0x38,0x7a,0xa2,0xf8,0xfb,0xff,0xff]
3104 vcvtuqq2ps -1032(%rdx){1to4}, %xmm28
3105
1628316283 // CHECK: vscalefps -516(%rdx){1to8}, %ymm22, %ymm25
1628416284 // CHECK: encoding: [0x62,0x62,0x4d,0x30,0x2c,0x8a,0xfc,0xfd,0xff,0xff]
1628516285 vscalefps -516(%rdx){1to8}, %ymm22, %ymm25
16286
16287 // CHECK: vcvtps2pd %xmm27, %xmm20
16288 // CHECK: encoding: [0x62,0x81,0x7c,0x08,0x5a,0xe3]
16289 vcvtps2pd %xmm27, %xmm20
16290
16291 // CHECK: vcvtps2pd %xmm27, %xmm20 {%k3}
16292 // CHECK: encoding: [0x62,0x81,0x7c,0x0b,0x5a,0xe3]
16293 vcvtps2pd %xmm27, %xmm20 {%k3}
16294
16295 // CHECK: vcvtps2pd %xmm27, %xmm20 {%k3} {z}
16296 // CHECK: encoding: [0x62,0x81,0x7c,0x8b,0x5a,0xe3]
16297 vcvtps2pd %xmm27, %xmm20 {%k3} {z}
16298
16299 // CHECK: vcvtps2pd (%rcx), %xmm20
16300 // CHECK: encoding: [0x62,0xe1,0x7c,0x08,0x5a,0x21]
16301 vcvtps2pd (%rcx), %xmm20
16302
16303 // CHECK: vcvtps2pd 291(%rax,%r14,8), %xmm20
16304 // CHECK: encoding: [0x62,0xa1,0x7c,0x08,0x5a,0xa4,0xf0,0x23,0x01,0x00,0x00]
16305 vcvtps2pd 291(%rax,%r14,8), %xmm20
16306
16307 // CHECK: vcvtps2pd (%rcx){1to2}, %xmm20
16308 // CHECK: encoding: [0x62,0xe1,0x7c,0x18,0x5a,0x21]
16309 vcvtps2pd (%rcx){1to2}, %xmm20
16310
16311 // CHECK: vcvtps2pd 1016(%rdx), %xmm20
16312 // CHECK: encoding: [0x62,0xe1,0x7c,0x08,0x5a,0x62,0x7f]
16313 vcvtps2pd 1016(%rdx), %xmm20
16314
16315 // CHECK: vcvtps2pd 1024(%rdx), %xmm20
16316 // CHECK: encoding: [0x62,0xe1,0x7c,0x08,0x5a,0xa2,0x00,0x04,0x00,0x00]
16317 vcvtps2pd 1024(%rdx), %xmm20
16318
16319 // CHECK: vcvtps2pd -1024(%rdx), %xmm20
16320 // CHECK: encoding: [0x62,0xe1,0x7c,0x08,0x5a,0x62,0x80]
16321 vcvtps2pd -1024(%rdx), %xmm20
16322
16323 // CHECK: vcvtps2pd -1032(%rdx), %xmm20
16324 // CHECK: encoding: [0x62,0xe1,0x7c,0x08,0x5a,0xa2,0xf8,0xfb,0xff,0xff]
16325 vcvtps2pd -1032(%rdx), %xmm20
16326
16327 // CHECK: vcvtps2pd 508(%rdx){1to2}, %xmm20
16328 // CHECK: encoding: [0x62,0xe1,0x7c,0x18,0x5a,0x62,0x7f]
16329 vcvtps2pd 508(%rdx){1to2}, %xmm20
16330
16331 // CHECK: vcvtps2pd 512(%rdx){1to2}, %xmm20
16332 // CHECK: encoding: [0x62,0xe1,0x7c,0x18,0x5a,0xa2,0x00,0x02,0x00,0x00]
16333 vcvtps2pd 512(%rdx){1to2}, %xmm20
16334
16335 // CHECK: vcvtps2pd -512(%rdx){1to2}, %xmm20
16336 // CHECK: encoding: [0x62,0xe1,0x7c,0x18,0x5a,0x62,0x80]
16337 vcvtps2pd -512(%rdx){1to2}, %xmm20
16338
16339 // CHECK: vcvtps2pd -516(%rdx){1to2}, %xmm20
16340 // CHECK: encoding: [0x62,0xe1,0x7c,0x18,0x5a,0xa2,0xfc,0xfd,0xff,0xff]
16341 vcvtps2pd -516(%rdx){1to2}, %xmm20
16342
16343 // CHECK: vcvtps2pd %xmm18, %ymm22
16344 // CHECK: encoding: [0x62,0xa1,0x7c,0x28,0x5a,0xf2]
16345 vcvtps2pd %xmm18, %ymm22
16346
16347 // CHECK: vcvtps2pd %xmm18, %ymm22 {%k2}
16348 // CHECK: encoding: [0x62,0xa1,0x7c,0x2a,0x5a,0xf2]
16349 vcvtps2pd %xmm18, %ymm22 {%k2}
16350
16351 // CHECK: vcvtps2pd %xmm18, %ymm22 {%k2} {z}
16352 // CHECK: encoding: [0x62,0xa1,0x7c,0xaa,0x5a,0xf2]
16353 vcvtps2pd %xmm18, %ymm22 {%k2} {z}
16354
16355 // CHECK: vcvtps2pd (%rcx), %ymm22
16356 // CHECK: encoding: [0x62,0xe1,0x7c,0x28,0x5a,0x31]
16357 vcvtps2pd (%rcx), %ymm22
16358
16359 // CHECK: vcvtps2pd 291(%rax,%r14,8), %ymm22
16360 // CHECK: encoding: [0x62,0xa1,0x7c,0x28,0x5a,0xb4,0xf0,0x23,0x01,0x00,0x00]
16361 vcvtps2pd 291(%rax,%r14,8), %ymm22
16362
16363 // CHECK: vcvtps2pd (%rcx){1to4}, %ymm22
16364 // CHECK: encoding: [0x62,0xe1,0x7c,0x38,0x5a,0x31]
16365 vcvtps2pd (%rcx){1to4}, %ymm22
16366
16367 // CHECK: vcvtps2pd 2032(%rdx), %ymm22
16368 // CHECK: encoding: [0x62,0xe1,0x7c,0x28,0x5a,0x72,0x7f]
16369 vcvtps2pd 2032(%rdx), %ymm22
16370
16371 // CHECK: vcvtps2pd 2048(%rdx), %ymm22
16372 // CHECK: encoding: [0x62,0xe1,0x7c,0x28,0x5a,0xb2,0x00,0x08,0x00,0x00]
16373 vcvtps2pd 2048(%rdx), %ymm22
16374
16375 // CHECK: vcvtps2pd -2048(%rdx), %ymm22
16376 // CHECK: encoding: [0x62,0xe1,0x7c,0x28,0x5a,0x72,0x80]
16377 vcvtps2pd -2048(%rdx), %ymm22
16378
16379 // CHECK: vcvtps2pd -2064(%rdx), %ymm22
16380 // CHECK: encoding: [0x62,0xe1,0x7c,0x28,0x5a,0xb2,0xf0,0xf7,0xff,0xff]
16381 vcvtps2pd -2064(%rdx), %ymm22
16382
16383 // CHECK: vcvtps2pd 508(%rdx){1to4}, %ymm22
16384 // CHECK: encoding: [0x62,0xe1,0x7c,0x38,0x5a,0x72,0x7f]
16385 vcvtps2pd 508(%rdx){1to4}, %ymm22
16386
16387 // CHECK: vcvtps2pd 512(%rdx){1to4}, %ymm22
16388 // CHECK: encoding: [0x62,0xe1,0x7c,0x38,0x5a,0xb2,0x00,0x02,0x00,0x00]
16389 vcvtps2pd 512(%rdx){1to4}, %ymm22
16390
16391 // CHECK: vcvtps2pd -512(%rdx){1to4}, %ymm22
16392 // CHECK: encoding: [0x62,0xe1,0x7c,0x38,0x5a,0x72,0x80]
16393 vcvtps2pd -512(%rdx){1to4}, %ymm22
16394
16395 // CHECK: vcvtps2pd -516(%rdx){1to4}, %ymm22
16396 // CHECK: encoding: [0x62,0xe1,0x7c,0x38,0x5a,0xb2,0xfc,0xfd,0xff,0xff]
16397 vcvtps2pd -516(%rdx){1to4}, %ymm22
16398
16399 // CHECK: vcvtpd2ps %xmm27, %xmm27
16400 // CHECK: encoding: [0x62,0x01,0xfd,0x08,0x5a,0xdb]
16401 vcvtpd2ps %xmm27, %xmm27
16402
16403 // CHECK: vcvtpd2ps %xmm27, %xmm27 {%k7}
16404 // CHECK: encoding: [0x62,0x01,0xfd,0x0f,0x5a,0xdb]
16405 vcvtpd2ps %xmm27, %xmm27 {%k7}
16406
16407 // CHECK: vcvtpd2ps %xmm27, %xmm27 {%k7} {z}
16408 // CHECK: encoding: [0x62,0x01,0xfd,0x8f,0x5a,0xdb]
16409 vcvtpd2ps %xmm27, %xmm27 {%k7} {z}
16410
16411 // CHECK: vcvtpd2psx (%rcx), %xmm27
16412 // CHECK: encoding: [0x62,0x61,0xfd,0x08,0x5a,0x19]
16413 vcvtpd2psx (%rcx), %xmm27
16414
16415 // CHECK: vcvtpd2psx 291(%rax,%r14,8), %xmm27
16416 // CHECK: encoding: [0x62,0x21,0xfd,0x08,0x5a,0x9c,0xf0,0x23,0x01,0x00,0x00]
16417 vcvtpd2psx 291(%rax,%r14,8), %xmm27
16418
16419 // CHECK: vcvtpd2ps (%rcx){1to2}, %xmm27
16420 // CHECK: encoding: [0x62,0x61,0xfd,0x18,0x5a,0x19]
16421 vcvtpd2ps (%rcx){1to2}, %xmm27
16422
16423 // CHECK: vcvtpd2psx 2032(%rdx), %xmm27
16424 // CHECK: encoding: [0x62,0x61,0xfd,0x08,0x5a,0x5a,0x7f]
16425 vcvtpd2psx 2032(%rdx), %xmm27
16426
16427 // CHECK: vcvtpd2psx 2048(%rdx), %xmm27
16428 // CHECK: encoding: [0x62,0x61,0xfd,0x08,0x5a,0x9a,0x00,0x08,0x00,0x00]
16429 vcvtpd2psx 2048(%rdx), %xmm27
16430
16431 // CHECK: vcvtpd2psx -2048(%rdx), %xmm27
16432 // CHECK: encoding: [0x62,0x61,0xfd,0x08,0x5a,0x5a,0x80]
16433 vcvtpd2psx -2048(%rdx), %xmm27
16434
16435 // CHECK: vcvtpd2psx -2064(%rdx), %xmm27
16436 // CHECK: encoding: [0x62,0x61,0xfd,0x08,0x5a,0x9a,0xf0,0xf7,0xff,0xff]
16437 vcvtpd2psx -2064(%rdx), %xmm27
16438
16439 // CHECK: vcvtpd2ps 1016(%rdx){1to2}, %xmm27
16440 // CHECK: encoding: [0x62,0x61,0xfd,0x18,0x5a,0x5a,0x7f]
16441 vcvtpd2ps 1016(%rdx){1to2}, %xmm27
16442
16443 // CHECK: vcvtpd2ps 1024(%rdx){1to2}, %xmm27
16444 // CHECK: encoding: [0x62,0x61,0xfd,0x18,0x5a,0x9a,0x00,0x04,0x00,0x00]
16445 vcvtpd2ps 1024(%rdx){1to2}, %xmm27
16446
16447 // CHECK: vcvtpd2ps -1024(%rdx){1to2}, %xmm27
16448 // CHECK: encoding: [0x62,0x61,0xfd,0x18,0x5a,0x5a,0x80]
16449 vcvtpd2ps -1024(%rdx){1to2}, %xmm27
16450
16451 // CHECK: vcvtpd2ps -1032(%rdx){1to2}, %xmm27
16452 // CHECK: encoding: [0x62,0x61,0xfd,0x18,0x5a,0x9a,0xf8,0xfb,0xff,0xff]
16453 vcvtpd2ps -1032(%rdx){1to2}, %xmm27
16454
16455 // CHECK: vcvtpd2ps %ymm20, %xmm20
16456 // CHECK: encoding: [0x62,0xa1,0xfd,0x28,0x5a,0xe4]
16457 vcvtpd2ps %ymm20, %xmm20
16458
16459 // CHECK: vcvtpd2ps %ymm20, %xmm20 {%k6}
16460 // CHECK: encoding: [0x62,0xa1,0xfd,0x2e,0x5a,0xe4]
16461 vcvtpd2ps %ymm20, %xmm20 {%k6}
16462
16463 // CHECK: vcvtpd2ps %ymm20, %xmm20 {%k6} {z}
16464 // CHECK: encoding: [0x62,0xa1,0xfd,0xae,0x5a,0xe4]
16465 vcvtpd2ps %ymm20, %xmm20 {%k6} {z}
16466
16467 // CHECK: vcvtpd2psy (%rcx), %xmm20
16468 // CHECK: encoding: [0x62,0xe1,0xfd,0x28,0x5a,0x21]
16469 vcvtpd2psy (%rcx), %xmm20
16470
16471 // CHECK: vcvtpd2psy 291(%rax,%r14,8), %xmm20
16472 // CHECK: encoding: [0x62,0xa1,0xfd,0x28,0x5a,0xa4,0xf0,0x23,0x01,0x00,0x00]
16473 vcvtpd2psy 291(%rax,%r14,8), %xmm20
16474
16475 // CHECK: vcvtpd2ps (%rcx){1to4}, %xmm20
16476 // CHECK: encoding: [0x62,0xe1,0xfd,0x38,0x5a,0x21]
16477 vcvtpd2ps (%rcx){1to4}, %xmm20
16478
16479 // CHECK: vcvtpd2psy 4064(%rdx), %xmm20
16480 // CHECK: encoding: [0x62,0xe1,0xfd,0x28,0x5a,0x62,0x7f]
16481 vcvtpd2psy 4064(%rdx), %xmm20
16482
16483 // CHECK: vcvtpd2psy 4096(%rdx), %xmm20
16484 // CHECK: encoding: [0x62,0xe1,0xfd,0x28,0x5a,0xa2,0x00,0x10,0x00,0x00]
16485 vcvtpd2psy 4096(%rdx), %xmm20
16486
16487 // CHECK: vcvtpd2psy -4096(%rdx), %xmm20
16488 // CHECK: encoding: [0x62,0xe1,0xfd,0x28,0x5a,0x62,0x80]
16489 vcvtpd2psy -4096(%rdx), %xmm20
16490
16491 // CHECK: vcvtpd2psy -4128(%rdx), %xmm20
16492 // CHECK: encoding: [0x62,0xe1,0xfd,0x28,0x5a,0xa2,0xe0,0xef,0xff,0xff]
16493 vcvtpd2psy -4128(%rdx), %xmm20
16494
16495 // CHECK: vcvtpd2ps 1016(%rdx){1to4}, %xmm20
16496 // CHECK: encoding: [0x62,0xe1,0xfd,0x38,0x5a,0x62,0x7f]
16497 vcvtpd2ps 1016(%rdx){1to4}, %xmm20
16498
16499 // CHECK: vcvtpd2ps 1024(%rdx){1to4}, %xmm20
16500 // CHECK: encoding: [0x62,0xe1,0xfd,0x38,0x5a,0xa2,0x00,0x04,0x00,0x00]
16501 vcvtpd2ps 1024(%rdx){1to4}, %xmm20
16502
16503 // CHECK: vcvtpd2ps -1024(%rdx){1to4}, %xmm20
16504 // CHECK: encoding: [0x62,0xe1,0xfd,0x38,0x5a,0x62,0x80]
16505 vcvtpd2ps -1024(%rdx){1to4}, %xmm20
16506
16507 // CHECK: vcvtpd2ps -1032(%rdx){1to4}, %xmm20
16508 // CHECK: encoding: [0x62,0xe1,0xfd,0x38,0x5a,0xa2,0xf8,0xfb,0xff,0xff]
16509 vcvtpd2ps -1032(%rdx){1to4}, %xmm20
16510
16511 // CHECK: vcvtpd2udq %xmm22, %xmm28
16512 // CHECK: encoding: [0x62,0x21,0xfc,0x08,0x79,0xe6]
16513 vcvtpd2udq %xmm22, %xmm28
16514
16515 // CHECK: vcvtpd2udq %xmm22, %xmm28 {%k3}
16516 // CHECK: encoding: [0x62,0x21,0xfc,0x0b,0x79,0xe6]
16517 vcvtpd2udq %xmm22, %xmm28 {%k3}
16518
16519 // CHECK: vcvtpd2udq %xmm22, %xmm28 {%k3} {z}
16520 // CHECK: encoding: [0x62,0x21,0xfc,0x8b,0x79,0xe6]
16521 vcvtpd2udq %xmm22, %xmm28 {%k3} {z}
16522
16523 // CHECK: vcvtpd2udqx (%rcx), %xmm28
16524 // CHECK: encoding: [0x62,0x61,0xfc,0x08,0x79,0x21]
16525 vcvtpd2udqx (%rcx), %xmm28
16526
16527 // CHECK: vcvtpd2udqx 291(%rax,%r14,8), %xmm28
16528 // CHECK: encoding: [0x62,0x21,0xfc,0x08,0x79,0xa4,0xf0,0x23,0x01,0x00,0x00]
16529 vcvtpd2udqx 291(%rax,%r14,8), %xmm28
16530
16531 // CHECK: vcvtpd2udq (%rcx){1to2}, %xmm28
16532 // CHECK: encoding: [0x62,0x61,0xfc,0x18,0x79,0x21]
16533 vcvtpd2udq (%rcx){1to2}, %xmm28
16534
16535 // CHECK: vcvtpd2udqx 2032(%rdx), %xmm28
16536 // CHECK: encoding: [0x62,0x61,0xfc,0x08,0x79,0x62,0x7f]
16537 vcvtpd2udqx 2032(%rdx), %xmm28
16538
16539 // CHECK: vcvtpd2udqx 2048(%rdx), %xmm28
16540 // CHECK: encoding: [0x62,0x61,0xfc,0x08,0x79,0xa2,0x00,0x08,0x00,0x00]
16541 vcvtpd2udqx 2048(%rdx), %xmm28
16542
16543 // CHECK: vcvtpd2udqx -2048(%rdx), %xmm28
16544 // CHECK: encoding: [0x62,0x61,0xfc,0x08,0x79,0x62,0x80]
16545 vcvtpd2udqx -2048(%rdx), %xmm28
16546
16547 // CHECK: vcvtpd2udqx -2064(%rdx), %xmm28
16548 // CHECK: encoding: [0x62,0x61,0xfc,0x08,0x79,0xa2,0xf0,0xf7,0xff,0xff]
16549 vcvtpd2udqx -2064(%rdx), %xmm28
16550
16551 // CHECK: vcvtpd2udq 1016(%rdx){1to2}, %xmm28
16552 // CHECK: encoding: [0x62,0x61,0xfc,0x18,0x79,0x62,0x7f]
16553 vcvtpd2udq 1016(%rdx){1to2}, %xmm28
16554
16555 // CHECK: vcvtpd2udq 1024(%rdx){1to2}, %xmm28
16556 // CHECK: encoding: [0x62,0x61,0xfc,0x18,0x79,0xa2,0x00,0x04,0x00,0x00]
16557 vcvtpd2udq 1024(%rdx){1to2}, %xmm28
16558
16559 // CHECK: vcvtpd2udq -1024(%rdx){1to2}, %xmm28
16560 // CHECK: encoding: [0x62,0x61,0xfc,0x18,0x79,0x62,0x80]
16561 vcvtpd2udq -1024(%rdx){1to2}, %xmm28
16562
16563 // CHECK: vcvtpd2udq -1032(%rdx){1to2}, %xmm28
16564 // CHECK: encoding: [0x62,0x61,0xfc,0x18,0x79,0xa2,0xf8,0xfb,0xff,0xff]
16565 vcvtpd2udq -1032(%rdx){1to2}, %xmm28
16566
16567 // CHECK: vcvtpd2udq %ymm20, %xmm21
16568 // CHECK: encoding: [0x62,0xa1,0xfc,0x28,0x79,0xec]
16569 vcvtpd2udq %ymm20, %xmm21
16570
16571 // CHECK: vcvtpd2udq %ymm20, %xmm21 {%k2}
16572 // CHECK: encoding: [0x62,0xa1,0xfc,0x2a,0x79,0xec]
16573 vcvtpd2udq %ymm20, %xmm21 {%k2}
16574
16575 // CHECK: vcvtpd2udq %ymm20, %xmm21 {%k2} {z}
16576 // CHECK: encoding: [0x62,0xa1,0xfc,0xaa,0x79,0xec]
16577 vcvtpd2udq %ymm20, %xmm21 {%k2} {z}
16578
16579 // CHECK: vcvtpd2udqy (%rcx), %xmm21
16580 // CHECK: encoding: [0x62,0xe1,0xfc,0x28,0x79,0x29]
16581 vcvtpd2udqy (%rcx), %xmm21
16582
16583 // CHECK: vcvtpd2udqy 291(%rax,%r14,8), %xmm21
16584 // CHECK: encoding: [0x62,0xa1,0xfc,0x28,0x79,0xac,0xf0,0x23,0x01,0x00,0x00]
16585 vcvtpd2udqy 291(%rax,%r14,8), %xmm21
16586
16587 // CHECK: vcvtpd2udq (%rcx){1to4}, %xmm21
16588 // CHECK: encoding: [0x62,0xe1,0xfc,0x38,0x79,0x29]
16589 vcvtpd2udq (%rcx){1to4}, %xmm21
16590
16591 // CHECK: vcvtpd2udqy 4064(%rdx), %xmm21
16592 // CHECK: encoding: [0x62,0xe1,0xfc,0x28,0x79,0x6a,0x7f]
16593 vcvtpd2udqy 4064(%rdx), %xmm21
16594
16595 // CHECK: vcvtpd2udqy 4096(%rdx), %xmm21
16596 // CHECK: encoding: [0x62,0xe1,0xfc,0x28,0x79,0xaa,0x00,0x10,0x00,0x00]
16597 vcvtpd2udqy 4096(%rdx), %xmm21
16598
16599 // CHECK: vcvtpd2udqy -4096(%rdx), %xmm21
16600 // CHECK: encoding: [0x62,0xe1,0xfc,0x28,0x79,0x6a,0x80]
16601 vcvtpd2udqy -4096(%rdx), %xmm21
16602
16603 // CHECK: vcvtpd2udqy -4128(%rdx), %xmm21
16604 // CHECK: encoding: [0x62,0xe1,0xfc,0x28,0x79,0xaa,0xe0,0xef,0xff,0xff]
16605 vcvtpd2udqy -4128(%rdx), %xmm21
16606
16607 // CHECK: vcvtpd2udq 1016(%rdx){1to4}, %xmm21
16608 // CHECK: encoding: [0x62,0xe1,0xfc,0x38,0x79,0x6a,0x7f]
16609 vcvtpd2udq 1016(%rdx){1to4}, %xmm21
16610
16611 // CHECK: vcvtpd2udq 1024(%rdx){1to4}, %xmm21
16612 // CHECK: encoding: [0x62,0xe1,0xfc,0x38,0x79,0xaa,0x00,0x04,0x00,0x00]
16613 vcvtpd2udq 1024(%rdx){1to4}, %xmm21
16614
16615 // CHECK: vcvtpd2udq -1024(%rdx){1to4}, %xmm21
16616 // CHECK: encoding: [0x62,0xe1,0xfc,0x38,0x79,0x6a,0x80]
16617 vcvtpd2udq -1024(%rdx){1to4}, %xmm21
16618
16619 // CHECK: vcvtpd2udq -1032(%rdx){1to4}, %xmm21
16620 // CHECK: encoding: [0x62,0xe1,0xfc,0x38,0x79,0xaa,0xf8,0xfb,0xff,0xff]
16621 vcvtpd2udq -1032(%rdx){1to4}, %xmm21
16622 // CHECK: vcvtps2udq %xmm19, %xmm30
16623 // CHECK: encoding: [0x62,0x21,0x7c,0x08,0x79,0xf3]
16624 vcvtps2udq %xmm19, %xmm30
16625
16626 // CHECK: vcvtps2udq %xmm19, %xmm30 {%k3}
16627 // CHECK: encoding: [0x62,0x21,0x7c,0x0b,0x79,0xf3]
16628 vcvtps2udq %xmm19, %xmm30 {%k3}
16629
16630 // CHECK: vcvtps2udq %xmm19, %xmm30 {%k3} {z}
16631 // CHECK: encoding: [0x62,0x21,0x7c,0x8b,0x79,0xf3]
16632 vcvtps2udq %xmm19, %xmm30 {%k3} {z}
16633
16634 // CHECK: vcvtps2udq (%rcx), %xmm30
16635 // CHECK: encoding: [0x62,0x61,0x7c,0x08,0x79,0x31]
16636 vcvtps2udq (%rcx), %xmm30
16637
16638 // CHECK: vcvtps2udq 291(%rax,%r14,8), %xmm30
16639 // CHECK: encoding: [0x62,0x21,0x7c,0x08,0x79,0xb4,0xf0,0x23,0x01,0x00,0x00]
16640 vcvtps2udq 291(%rax,%r14,8), %xmm30
16641
16642 // CHECK: vcvtps2udq (%rcx){1to4}, %xmm30
16643 // CHECK: encoding: [0x62,0x61,0x7c,0x18,0x79,0x31]
16644 vcvtps2udq (%rcx){1to4}, %xmm30
16645
16646 // CHECK: vcvtps2udq 2032(%rdx), %xmm30
16647 // CHECK: encoding: [0x62,0x61,0x7c,0x08,0x79,0x72,0x7f]
16648 vcvtps2udq 2032(%rdx), %xmm30
16649
16650 // CHECK: vcvtps2udq 2048(%rdx), %xmm30
16651 // CHECK: encoding: [0x62,0x61,0x7c,0x08,0x79,0xb2,0x00,0x08,0x00,0x00]
16652 vcvtps2udq 2048(%rdx), %xmm30
16653
16654 // CHECK: vcvtps2udq -2048(%rdx), %xmm30
16655 // CHECK: encoding: [0x62,0x61,0x7c,0x08,0x79,0x72,0x80]
16656 vcvtps2udq -2048(%rdx), %xmm30
16657
16658 // CHECK: vcvtps2udq -2064(%rdx), %xmm30
16659 // CHECK: encoding: [0x62,0x61,0x7c,0x08,0x79,0xb2,0xf0,0xf7,0xff,0xff]
16660 vcvtps2udq -2064(%rdx), %xmm30
16661
16662 // CHECK: vcvtps2udq 508(%rdx){1to4}, %xmm30
16663 // CHECK: encoding: [0x62,0x61,0x7c,0x18,0x79,0x72,0x7f]
16664 vcvtps2udq 508(%rdx){1to4}, %xmm30
16665
16666 // CHECK: vcvtps2udq 512(%rdx){1to4}, %xmm30
16667 // CHECK: encoding: [0x62,0x61,0x7c,0x18,0x79,0xb2,0x00,0x02,0x00,0x00]
16668 vcvtps2udq 512(%rdx){1to4}, %xmm30
16669
16670 // CHECK: vcvtps2udq -512(%rdx){1to4}, %xmm30
16671 // CHECK: encoding: [0x62,0x61,0x7c,0x18,0x79,0x72,0x80]
16672 vcvtps2udq -512(%rdx){1to4}, %xmm30
16673
16674 // CHECK: vcvtps2udq -516(%rdx){1to4}, %xmm30
16675 // CHECK: encoding: [0x62,0x61,0x7c,0x18,0x79,0xb2,0xfc,0xfd,0xff,0xff]
16676 vcvtps2udq -516(%rdx){1to4}, %xmm30
16677
16678 // CHECK: vcvtps2udq %ymm23, %ymm25
16679 // CHECK: encoding: [0x62,0x21,0x7c,0x28,0x79,0xcf]
16680 vcvtps2udq %ymm23, %ymm25
16681
16682 // CHECK: vcvtps2udq %ymm23, %ymm25 {%k4}
16683 // CHECK: encoding: [0x62,0x21,0x7c,0x2c,0x79,0xcf]
16684 vcvtps2udq %ymm23, %ymm25 {%k4}
16685
16686 // CHECK: vcvtps2udq %ymm23, %ymm25 {%k4} {z}
16687 // CHECK: encoding: [0x62,0x21,0x7c,0xac,0x79,0xcf]
16688 vcvtps2udq %ymm23, %ymm25 {%k4} {z}
16689
16690 // CHECK: vcvtps2udq (%rcx), %ymm25
16691 // CHECK: encoding: [0x62,0x61,0x7c,0x28,0x79,0x09]
16692 vcvtps2udq (%rcx), %ymm25
16693
16694 // CHECK: vcvtps2udq 291(%rax,%r14,8), %ymm25
16695 // CHECK: encoding: [0x62,0x21,0x7c,0x28,0x79,0x8c,0xf0,0x23,0x01,0x00,0x00]
16696 vcvtps2udq 291(%rax,%r14,8), %ymm25
16697
16698 // CHECK: vcvtps2udq (%rcx){1to8}, %ymm25
16699 // CHECK: encoding: [0x62,0x61,0x7c,0x38,0x79,0x09]
16700 vcvtps2udq (%rcx){1to8}, %ymm25
16701
16702 // CHECK: vcvtps2udq 4064(%rdx), %ymm25
16703 // CHECK: encoding: [0x62,0x61,0x7c,0x28,0x79,0x4a,0x7f]
16704 vcvtps2udq 4064(%rdx), %ymm25
16705
16706 // CHECK: vcvtps2udq 4096(%rdx), %ymm25
16707 // CHECK: encoding: [0x62,0x61,0x7c,0x28,0x79,0x8a,0x00,0x10,0x00,0x00]
16708 vcvtps2udq 4096(%rdx), %ymm25
16709
16710 // CHECK: vcvtps2udq -4096(%rdx), %ymm25
16711 // CHECK: encoding: [0x62,0x61,0x7c,0x28,0x79,0x4a,0x80]
16712 vcvtps2udq -4096(%rdx), %ymm25
16713
16714 // CHECK: vcvtps2udq -4128(%rdx), %ymm25
16715 // CHECK: encoding: [0x62,0x61,0x7c,0x28,0x79,0x8a,0xe0,0xef,0xff,0xff]
16716 vcvtps2udq -4128(%rdx), %ymm25
16717
16718 // CHECK: vcvtps2udq 508(%rdx){1to8}, %ymm25
16719 // CHECK: encoding: [0x62,0x61,0x7c,0x38,0x79,0x4a,0x7f]
16720 vcvtps2udq 508(%rdx){1to8}, %ymm25
16721
16722 // CHECK: vcvtps2udq 512(%rdx){1to8}, %ymm25
16723 // CHECK: encoding: [0x62,0x61,0x7c,0x38,0x79,0x8a,0x00,0x02,0x00,0x00]
16724 vcvtps2udq 512(%rdx){1to8}, %ymm25
16725
16726 // CHECK: vcvtps2udq -512(%rdx){1to8}, %ymm25
16727 // CHECK: encoding: [0x62,0x61,0x7c,0x38,0x79,0x4a,0x80]
16728 vcvtps2udq -512(%rdx){1to8}, %ymm25
16729
16730 // CHECK: vcvtps2udq -516(%rdx){1to8}, %ymm25
16731 // CHECK: encoding: [0x62,0x61,0x7c,0x38,0x79,0x8a,0xfc,0xfd,0xff,0xff]
16732 vcvtps2udq -516(%rdx){1to8}, %ymm25
16733
16734 // CHECK: vcvttpd2dq %xmm23, %xmm29
16735 // CHECK: encoding: [0x62,0x21,0xfd,0x08,0xe6,0xef]
16736 vcvttpd2dq %xmm23, %xmm29
16737
16738 // CHECK: vcvttpd2dq %xmm23, %xmm29 {%k6}
16739 // CHECK: encoding: [0x62,0x21,0xfd,0x0e,0xe6,0xef]
16740 vcvttpd2dq %xmm23, %xmm29 {%k6}
16741
16742 // CHECK: vcvttpd2dq %xmm23, %xmm29 {%k6} {z}
16743 // CHECK: encoding: [0x62,0x21,0xfd,0x8e,0xe6,0xef]
16744 vcvttpd2dq %xmm23, %xmm29 {%k6} {z}
16745
16746 // CHECK: vcvttpd2dqx (%rcx), %xmm29
16747 // CHECK: encoding: [0x62,0x61,0xfd,0x08,0xe6,0x29]
16748 vcvttpd2dqx (%rcx), %xmm29
16749
16750 // CHECK: vcvttpd2dqx 291(%rax,%r14,8), %xmm29
16751 // CHECK: encoding: [0x62,0x21,0xfd,0x08,0xe6,0xac,0xf0,0x23,0x01,0x00,0x00]
16752 vcvttpd2dqx 291(%rax,%r14,8), %xmm29
16753
16754 // CHECK: vcvttpd2dq (%rcx){1to2}, %xmm29
16755 // CHECK: encoding: [0x62,0x61,0xfd,0x18,0xe6,0x29]
16756 vcvttpd2dq (%rcx){1to2}, %xmm29
16757
16758 // CHECK: vcvttpd2dqx 2032(%rdx), %xmm29
16759 // CHECK: encoding: [0x62,0x61,0xfd,0x08,0xe6,0x6a,0x7f]
16760 vcvttpd2dqx 2032(%rdx), %xmm29
16761
16762 // CHECK: vcvttpd2dqx 2048(%rdx), %xmm29
16763 // CHECK: encoding: [0x62,0x61,0xfd,0x08,0xe6,0xaa,0x00,0x08,0x00,0x00]
16764 vcvttpd2dqx 2048(%rdx), %xmm29
16765
16766 // CHECK: vcvttpd2dqx -2048(%rdx), %xmm29
16767 // CHECK: encoding: [0x62,0x61,0xfd,0x08,0xe6,0x6a,0x80]
16768 vcvttpd2dqx -2048(%rdx), %xmm29
16769
16770 // CHECK: vcvttpd2dqx -2064(%rdx), %xmm29
16771 // CHECK: encoding: [0x62,0x61,0xfd,0x08,0xe6,0xaa,0xf0,0xf7,0xff,0xff]
16772 vcvttpd2dqx -2064(%rdx), %xmm29
16773
16774 // CHECK: vcvttpd2dq 1016(%rdx){1to2}, %xmm29
16775 // CHECK: encoding: [0x62,0x61,0xfd,0x18,0xe6,0x6a,0x7f]
16776 vcvttpd2dq 1016(%rdx){1to2}, %xmm29
16777
16778 // CHECK: vcvttpd2dq 1024(%rdx){1to2}, %xmm29
16779 // CHECK: encoding: [0x62,0x61,0xfd,0x18,0xe6,0xaa,0x00,0x04,0x00,0x00]
16780 vcvttpd2dq 1024(%rdx){1to2}, %xmm29
16781
16782 // CHECK: vcvttpd2dq -1024(%rdx){1to2}, %xmm29
16783 // CHECK: encoding: [0x62,0x61,0xfd,0x18,0xe6,0x6a,0x80]
16784 vcvttpd2dq -1024(%rdx){1to2}, %xmm29
16785
16786 // CHECK: vcvttpd2dq -1032(%rdx){1to2}, %xmm29
16787 // CHECK: encoding: [0x62,0x61,0xfd,0x18,0xe6,0xaa,0xf8,0xfb,0xff,0xff]
16788 vcvttpd2dq -1032(%rdx){1to2}, %xmm29
16789
16790 // CHECK: vcvttpd2dq %ymm29, %xmm30
16791 // CHECK: encoding: [0x62,0x01,0xfd,0x28,0xe6,0xf5]
16792 vcvttpd2dq %ymm29, %xmm30
16793
16794 // CHECK: vcvttpd2dq %ymm29, %xmm30 {%k6}
16795 // CHECK: encoding: [0x62,0x01,0xfd,0x2e,0xe6,0xf5]
16796 vcvttpd2dq %ymm29, %xmm30 {%k6}
16797
16798 // CHECK: vcvttpd2dq %ymm29, %xmm30 {%k6} {z}
16799 // CHECK: encoding: [0x62,0x01,0xfd,0xae,0xe6,0xf5]
16800 vcvttpd2dq %ymm29, %xmm30 {%k6} {z}
16801
16802 // CHECK: vcvttpd2dqy (%rcx), %xmm30
16803 // CHECK: encoding: [0x62,0x61,0xfd,0x28,0xe6,0x31]
16804 vcvttpd2dqy (%rcx), %xmm30
16805
16806 // CHECK: vcvttpd2dqy 291(%rax,%r14,8), %xmm30
16807 // CHECK: encoding: [0x62,0x21,0xfd,0x28,0xe6,0xb4,0xf0,0x23,0x01,0x00,0x00]
16808 vcvttpd2dqy 291(%rax,%r14,8), %xmm30
16809
16810 // CHECK: vcvttpd2dq (%rcx){1to4}, %xmm30
16811 // CHECK: encoding: [0x62,0x61,0xfd,0x38,0xe6,0x31]
16812 vcvttpd2dq (%rcx){1to4}, %xmm30
16813
16814 // CHECK: vcvttpd2dqy 4064(%rdx), %xmm30
16815 // CHECK: encoding: [0x62,0x61,0xfd,0x28,0xe6,0x72,0x7f]
16816 vcvttpd2dqy 4064(%rdx), %xmm30
16817
16818 // CHECK: vcvttpd2dqy 4096(%rdx), %xmm30
16819 // CHECK: encoding: [0x62,0x61,0xfd,0x28,0xe6,0xb2,0x00,0x10,0x00,0x00]
16820 vcvttpd2dqy 4096(%rdx), %xmm30
16821
16822 // CHECK: vcvttpd2dqy -4096(%rdx), %xmm30
16823 // CHECK: encoding: [0x62,0x61,0xfd,0x28,0xe6,0x72,0x80]
16824 vcvttpd2dqy -4096(%rdx), %xmm30
16825
16826 // CHECK: vcvttpd2dqy -4128(%rdx), %xmm30
16827 // CHECK: encoding: [0x62,0x61,0xfd,0x28,0xe6,0xb2,0xe0,0xef,0xff,0xff]
16828 vcvttpd2dqy -4128(%rdx), %xmm30
16829
16830 // CHECK: vcvttpd2dq 1016(%rdx){1to4}, %xmm30
16831 // CHECK: encoding: [0x62,0x61,0xfd,0x38,0xe6,0x72,0x7f]
16832 vcvttpd2dq 1016(%rdx){1to4}, %xmm30
16833
16834 // CHECK: vcvttpd2dq 1024(%rdx){1to4}, %xmm30
16835 // CHECK: encoding: [0x62,0x61,0xfd,0x38,0xe6,0xb2,0x00,0x04,0x00,0x00]
16836 vcvttpd2dq 1024(%rdx){1to4}, %xmm30
16837
16838 // CHECK: vcvttpd2dq -1024(%rdx){1to4}, %xmm30
16839 // CHECK: encoding: [0x62,0x61,0xfd,0x38,0xe6,0x72,0x80]
16840 vcvttpd2dq -1024(%rdx){1to4}, %xmm30
16841
16842 // CHECK: vcvttpd2dq -1032(%rdx){1to4}, %xmm30
16843 // CHECK: encoding: [0x62,0x61,0xfd,0x38,0xe6,0xb2,0xf8,0xfb,0xff,0xff]
16844 vcvttpd2dq -1032(%rdx){1to4}, %xmm30
16845
16846 // CHECK: vcvttps2dq %xmm22, %xmm17
16847 // CHECK: encoding: [0x62,0xa1,0x7e,0x08,0x5b,0xce]
16848 vcvttps2dq %xmm22, %xmm17
16849
16850 // CHECK: vcvttps2dq %xmm22, %xmm17 {%k4}
16851 // CHECK: encoding: [0x62,0xa1,0x7e,0x0c,0x5b,0xce]
16852 vcvttps2dq %xmm22, %xmm17 {%k4}
16853
16854 // CHECK: vcvttps2dq %xmm22, %xmm17 {%k4} {z}
16855 // CHECK: encoding: [0x62,0xa1,0x7e,0x8c,0x5b,0xce]
16856 vcvttps2dq %xmm22, %xmm17 {%k4} {z}
16857
16858 // CHECK: vcvttps2dq (%rcx), %xmm17
16859 // CHECK: encoding: [0x62,0xe1,0x7e,0x08,0x5b,0x09]
16860 vcvttps2dq (%rcx), %xmm17
16861
16862 // CHECK: vcvttps2dq 291(%rax,%r14,8), %xmm17
16863 // CHECK: encoding: [0x62,0xa1,0x7e,0x08,0x5b,0x8c,0xf0,0x23,0x01,0x00,0x00]
16864 vcvttps2dq 291(%rax,%r14,8), %xmm17
16865
16866 // CHECK: vcvttps2dq (%rcx){1to4}, %xmm17
16867 // CHECK: encoding: [0x62,0xe1,0x7e,0x18,0x5b,0x09]
16868 vcvttps2dq (%rcx){1to4}, %xmm17
16869
16870 // CHECK: vcvttps2dq 2032(%rdx), %xmm17
16871 // CHECK: encoding: [0x62,0xe1,0x7e,0x08,0x5b,0x4a,0x7f]
16872 vcvttps2dq 2032(%rdx), %xmm17
16873
16874 // CHECK: vcvttps2dq 2048(%rdx), %xmm17
16875 // CHECK: encoding: [0x62,0xe1,0x7e,0x08,0x5b,0x8a,0x00,0x08,0x00,0x00]
16876 vcvttps2dq 2048(%rdx), %xmm17
16877
16878 // CHECK: vcvttps2dq -2048(%rdx), %xmm17
16879 // CHECK: encoding: [0x62,0xe1,0x7e,0x08,0x5b,0x4a,0x80]
16880 vcvttps2dq -2048(%rdx), %xmm17
16881
16882 // CHECK: vcvttps2dq -2064(%rdx), %xmm17
16883 // CHECK: encoding: [0x62,0xe1,0x7e,0x08,0x5b,0x8a,0xf0,0xf7,0xff,0xff]
16884 vcvttps2dq -2064(%rdx), %xmm17
16885
16886 // CHECK: vcvttps2dq 508(%rdx){1to4}, %xmm17
16887 // CHECK: encoding: [0x62,0xe1,0x7e,0x18,0x5b,0x4a,0x7f]
16888 vcvttps2dq 508(%rdx){1to4}, %xmm17
16889
16890 // CHECK: vcvttps2dq 512(%rdx){1to4}, %xmm17
16891 // CHECK: encoding: [0x62,0xe1,0x7e,0x18,0x5b,0x8a,0x00,0x02,0x00,0x00]
16892 vcvttps2dq 512(%rdx){1to4}, %xmm17
16893
16894 // CHECK: vcvttps2dq -512(%rdx){1to4}, %xmm17
16895 // CHECK: encoding: [0x62,0xe1,0x7e,0x18,0x5b,0x4a,0x80]
16896 vcvttps2dq -512(%rdx){1to4}, %xmm17
16897
16898 // CHECK: vcvttps2dq -516(%rdx){1to4}, %xmm17
16899 // CHECK: encoding: [0x62,0xe1,0x7e,0x18,0x5b,0x8a,0xfc,0xfd,0xff,0xff]
16900 vcvttps2dq -516(%rdx){1to4}, %xmm17
16901
16902 // CHECK: vcvttps2dq %ymm28, %ymm25
16903 // CHECK: encoding: [0x62,0x01,0x7e,0x28,0x5b,0xcc]
16904 vcvttps2dq %ymm28, %ymm25
16905
16906 // CHECK: vcvttps2dq %ymm28, %ymm25 {%k2}
16907 // CHECK: encoding: [0x62,0x01,0x7e,0x2a,0x5b,0xcc]
16908 vcvttps2dq %ymm28, %ymm25 {%k2}
16909
16910 // CHECK: vcvttps2dq %ymm28, %ymm25 {%k2} {z}
16911 // CHECK: encoding: [0x62,0x01,0x7e,0xaa,0x5b,0xcc]
16912 vcvttps2dq %ymm28, %ymm25 {%k2} {z}
16913
16914 // CHECK: vcvttps2dq (%rcx), %ymm25
16915 // CHECK: encoding: [0x62,0x61,0x7e,0x28,0x5b,0x09]
16916 vcvttps2dq (%rcx), %ymm25
16917
16918 // CHECK: vcvttps2dq 291(%rax,%r14,8), %ymm25
16919 // CHECK: encoding: [0x62,0x21,0x7e,0x28,0x5b,0x8c,0xf0,0x23,0x01,0x00,0x00]
16920 vcvttps2dq 291(%rax,%r14,8), %ymm25
16921
16922 // CHECK: vcvttps2dq (%rcx){1to8}, %ymm25
16923 // CHECK: encoding: [0x62,0x61,0x7e,0x38,0x5b,0x09]
16924 vcvttps2dq (%rcx){1to8}, %ymm25
16925
16926 // CHECK: vcvttps2dq 4064(%rdx), %ymm25
16927 // CHECK: encoding: [0x62,0x61,0x7e,0x28,0x5b,0x4a,0x7f]
16928 vcvttps2dq 4064(%rdx), %ymm25
16929
16930 // CHECK: vcvttps2dq 4096(%rdx), %ymm25
16931 // CHECK: encoding: [0x62,0x61,0x7e,0x28,0x5b,0x8a,0x00,0x10,0x00,0x00]
16932 vcvttps2dq 4096(%rdx), %ymm25
16933
16934 // CHECK: vcvttps2dq -4096(%rdx), %ymm25
16935 // CHECK: encoding: [0x62,0x61,0x7e,0x28,0x5b,0x4a,0x80]
16936 vcvttps2dq -4096(%rdx), %ymm25
16937
16938 // CHECK: vcvttps2dq -4128(%rdx), %ymm25
16939 // CHECK: encoding: [0x62,0x61,0x7e,0x28,0x5b,0x8a,0xe0,0xef,0xff,0xff]
16940 vcvttps2dq -4128(%rdx), %ymm25
16941
16942 // CHECK: vcvttps2dq 508(%rdx){1to8}, %ymm25
16943 // CHECK: encoding: [0x62,0x61,0x7e,0x38,0x5b,0x4a,0x7f]
16944 vcvttps2dq 508(%rdx){1to8}, %ymm25
16945
16946 // CHECK: vcvttps2dq 512(%rdx){1to8}, %ymm25
16947 // CHECK: encoding: [0x62,0x61,0x7e,0x38,0x5b,0x8a,0x00,0x02,0x00,0x00]
16948 vcvttps2dq 512(%rdx){1to8}, %ymm25
16949
16950 // CHECK: vcvttps2dq -512(%rdx){1to8}, %ymm25
16951 // CHECK: encoding: [0x62,0x61,0x7e,0x38,0x5b,0x4a,0x80]
16952 vcvttps2dq -512(%rdx){1to8}, %ymm25
16953
16954 // CHECK: vcvttps2dq -516(%rdx){1to8}, %ymm25
16955 // CHECK: encoding: [0x62,0x61,0x7e,0x38,0x5b,0x8a,0xfc,0xfd,0xff,0xff]
16956 vcvttps2dq -516(%rdx){1to8}, %ymm25
16957
16958 // CHECK: vcvtudq2pd %xmm19, %xmm25
16959 // CHECK: encoding: [0x62,0x21,0x7e,0x08,0x7a,0xcb]
16960 vcvtudq2pd %xmm19, %xmm25
16961
16962 // CHECK: vcvtudq2pd %xmm19, %xmm25 {%k4}
16963 // CHECK: encoding: [0x62,0x21,0x7e,0x0c,0x7a,0xcb]
16964 vcvtudq2pd %xmm19, %xmm25 {%k4}
16965
16966 // CHECK: vcvtudq2pd %xmm19, %xmm25 {%k4} {z}
16967 // CHECK: encoding: [0x62,0x21,0x7e,0x8c,0x7a,0xcb]
16968 vcvtudq2pd %xmm19, %xmm25 {%k4} {z}
16969
16970 // CHECK: vcvtudq2pd (%rcx), %xmm25
16971 // CHECK: encoding: [0x62,0x61,0x7e,0x08,0x7a,0x09]
16972 vcvtudq2pd (%rcx), %xmm25
16973
16974 // CHECK: vcvtudq2pd 291(%rax,%r14,8), %xmm25
16975 // CHECK: encoding: [0x62,0x21,0x7e,0x08,0x7a,0x8c,0xf0,0x23,0x01,0x00,0x00]
16976 vcvtudq2pd 291(%rax,%r14,8), %xmm25
16977
16978 // CHECK: vcvtudq2pd (%rcx){1to2}, %xmm25
16979 // CHECK: encoding: [0x62,0x61,0x7e,0x18,0x7a,0x09]
16980 vcvtudq2pd (%rcx){1to2}, %xmm25
16981
16982 // CHECK: vcvtudq2pd 1016(%rdx), %xmm25
16983 // CHECK: encoding: [0x62,0x61,0x7e,0x08,0x7a,0x4a,0x7f]
16984 vcvtudq2pd 1016(%rdx), %xmm25
16985
16986 // CHECK: vcvtudq2pd 1024(%rdx), %xmm25
16987 // CHECK: encoding: [0x62,0x61,0x7e,0x08,0x7a,0x8a,0x00,0x04,0x00,0x00]
16988 vcvtudq2pd 1024(%rdx), %xmm25
16989
16990 // CHECK: vcvtudq2pd -1024(%rdx), %xmm25
16991 // CHECK: encoding: [0x62,0x61,0x7e,0x08,0x7a,0x4a,0x80]
16992 vcvtudq2pd -1024(%rdx), %xmm25
16993
16994 // CHECK: vcvtudq2pd -1032(%rdx), %xmm25
16995 // CHECK: encoding: [0x62,0x61,0x7e,0x08,0x7a,0x8a,0xf8,0xfb,0xff,0xff]
16996 vcvtudq2pd -1032(%rdx), %xmm25
16997
16998 // CHECK: vcvtudq2pd 508(%rdx){1to2}, %xmm25
16999 // CHECK: encoding: [0x62,0x61,0x7e,0x18,0x7a,0x4a,0x7f]
17000 vcvtudq2pd 508(%rdx){1to2}, %xmm25
17001
17002 // CHECK: vcvtudq2pd 512(%rdx){1to2}, %xmm25
17003 // CHECK: encoding: [0x62,0x61,0x7e,0x18,0x7a,0x8a,0x00,0x02,0x00,0x00]
17004 vcvtudq2pd 512(%rdx){1to2}, %xmm25
17005
17006 // CHECK: vcvtudq2pd -512(%rdx){1to2}, %xmm25
17007 // CHECK: encoding: [0x62,0x61,0x7e,0x18,0x7a,0x4a,0x80]
17008 vcvtudq2pd -512(%rdx){1to2}, %xmm25
17009
17010 // CHECK: vcvtudq2pd -516(%rdx){1to2}, %xmm25
17011 // CHECK: encoding: [0x62,0x61,0x7e,0x18,0x7a,0x8a,0xfc,0xfd,0xff,0xff]
17012 vcvtudq2pd -516(%rdx){1to2}, %xmm25
17013
17014 // CHECK: vcvtudq2pd %xmm20, %ymm25
17015 // CHECK: encoding: [0x62,0x21,0x7e,0x28,0x7a,0xcc]
17016 vcvtudq2pd %xmm20, %ymm25
17017
17018 // CHECK: vcvtudq2pd %xmm20, %ymm25 {%k6}
17019 // CHECK: encoding: [0x62,0x21,0x7e,0x2e,0x7a,0xcc]
17020 vcvtudq2pd %xmm20, %ymm25 {%k6}
17021
17022 // CHECK: vcvtudq2pd %xmm20, %ymm25 {%k6} {z}
17023 // CHECK: encoding: [0x62,0x21,0x7e,0xae,0x7a,0xcc]
17024 vcvtudq2pd %xmm20, %ymm25 {%k6} {z}
17025
17026 // CHECK: vcvtudq2pd (%rcx), %ymm25
17027 // CHECK: encoding: [0x62,0x61,0x7e,0x28,0x7a,0x09]
17028 vcvtudq2pd (%rcx), %ymm25
17029
17030 // CHECK: vcvtudq2pd 291(%rax,%r14,8), %ymm25
17031 // CHECK: encoding: [0x62,0x21,0x7e,0x28,0x7a,0x8c,0xf0,0x23,0x01,0x00,0x00]
17032 vcvtudq2pd 291(%rax,%r14,8), %ymm25
17033
17034 // CHECK: vcvtudq2pd (%rcx){1to4}, %ymm25
17035 // CHECK: encoding: [0x62,0x61,0x7e,0x38,0x7a,0x09]
17036 vcvtudq2pd (%rcx){1to4}, %ymm25
17037
17038 // CHECK: vcvtudq2pd 2032(%rdx), %ymm25
17039 // CHECK: encoding: [0x62,0x61,0x7e,0x28,0x7a,0x4a,0x7f]
17040 vcvtudq2pd 2032(%rdx), %ymm25
17041
17042 // CHECK: vcvtudq2pd 2048(%rdx), %ymm25
17043 // CHECK: encoding: [0x62,0x61,0x7e,0x28,0x7a,0x8a,0x00,0x08,0x00,0x00]
17044 vcvtudq2pd 2048(%rdx), %ymm25
17045
17046 // CHECK: vcvtudq2pd -2048(%rdx), %ymm25
17047 // CHECK: encoding: [0x62,0x61,0x7e,0x28,0x7a,0x4a,0x80]
17048 vcvtudq2pd -2048(%rdx), %ymm25
17049
17050 // CHECK: vcvtudq2pd -2064(%rdx), %ymm25
17051 // CHECK: encoding: [0x62,0x61,0x7e,0x28,0x7a,0x8a,0xf0,0xf7,0xff,0xff]
17052 vcvtudq2pd -2064(%rdx), %ymm25
17053
17054 // CHECK: vcvtudq2pd 508(%rdx){1to4}, %ymm25
17055 // CHECK: encoding: [0x62,0x61,0x7e,0x38,0x7a,0x4a,0x7f]
17056 vcvtudq2pd 508(%rdx){1to4}, %ymm25
17057
17058 // CHECK: vcvtudq2pd 512(%rdx){1to4}, %ymm25
17059 // CHECK: encoding: [0x62,0x61,0x7e,0x38,0x7a,0x8a,0x00,0x02,0x00,0x00]
17060 vcvtudq2pd 512(%rdx){1to4}, %ymm25
17061
17062 // CHECK: vcvtudq2pd -512(%rdx){1to4}, %ymm25
17063 // CHECK: encoding: [0x62,0x61,0x7e,0x38,0x7a,0x4a,0x80]
17064 vcvtudq2pd -512(%rdx){1to4}, %ymm25
17065
17066 // CHECK: vcvtudq2pd -516(%rdx){1to4}, %ymm25
17067 // CHECK: encoding: [0x62,0x61,0x7e,0x38,0x7a,0x8a,0xfc,0xfd,0xff,0xff]
17068 vcvtudq2pd -516(%rdx){1to4}, %ymm25
17069
17070 // CHECK: vcvtudq2ps %xmm23, %xmm23
17071 // CHECK: encoding: [0x62,0xa1,0x7f,0x08,0x7a,0xff]
17072 vcvtudq2ps %xmm23, %xmm23
17073
17074 // CHECK: vcvtudq2ps %xmm23, %xmm23 {%k1}
17075 // CHECK: encoding: [0x62,0xa1,0x7f,0x09,0x7a,0xff]
17076 vcvtudq2ps %xmm23, %xmm23 {%k1}
17077
17078 // CHECK: vcvtudq2ps %xmm23, %xmm23 {%k1} {z}
17079 // CHECK: encoding: [0x62,0xa1,0x7f,0x89,0x7a,0xff]
17080 vcvtudq2ps %xmm23, %xmm23 {%k1} {z}
17081
17082 // CHECK: vcvtudq2ps (%rcx), %xmm23
17083 // CHECK: encoding: [0x62,0xe1,0x7f,0x08,0x7a,0x39]
17084 vcvtudq2ps (%rcx), %xmm23
17085
17086 // CHECK: vcvtudq2ps 291(%rax,%r14,8), %xmm23
17087 // CHECK: encoding: [0x62,0xa1,0x7f,0x08,0x7a,0xbc,0xf0,0x23,0x01,0x00,0x00]
17088 vcvtudq2ps 291(%rax,%r14,8), %xmm23
17089
17090 // CHECK: vcvtudq2ps (%rcx){1to4}, %xmm23
17091 // CHECK: encoding: [0x62,0xe1,0x7f,0x18,0x7a,0x39]
17092 vcvtudq2ps (%rcx){1to4}, %xmm23
17093
17094 // CHECK: vcvtudq2ps 2032(%rdx), %xmm23
17095 // CHECK: encoding: [0x62,0xe1,0x7f,0x08,0x7a,0x7a,0x7f]
17096 vcvtudq2ps 2032(%rdx), %xmm23
17097
17098 // CHECK: vcvtudq2ps 2048(%rdx), %xmm23
17099 // CHECK: encoding: [0x62,0xe1,0x7f,0x08,0x7a,0xba,0x00,0x08,0x00,0x00]
17100 vcvtudq2ps 2048(%rdx), %xmm23
17101
17102 // CHECK: vcvtudq2ps -2048(%rdx), %xmm23
17103 // CHECK: encoding: [0x62,0xe1,0x7f,0x08,0x7a,0x7a,0x80]
17104 vcvtudq2ps -2048(%rdx), %xmm23
17105
17106 // CHECK: vcvtudq2ps -2064(%rdx), %xmm23
17107 // CHECK: encoding: [0x62,0xe1,0x7f,0x08,0x7a,0xba,0xf0,0xf7,0xff,0xff]
17108 vcvtudq2ps -2064(%rdx), %xmm23
17109
17110 // CHECK: vcvtudq2ps 508(%rdx){1to4}, %xmm23
17111 // CHECK: encoding: [0x62,0xe1,0x7f,0x18,0x7a,0x7a,0x7f]
17112 vcvtudq2ps 508(%rdx){1to4}, %xmm23
17113
17114 // CHECK: vcvtudq2ps 512(%rdx){1to4}, %xmm23
17115 // CHECK: encoding: [0x62,0xe1,0x7f,0x18,0x7a,0xba,0x00,0x02,0x00,0x00]
17116 vcvtudq2ps 512(%rdx){1to4}, %xmm23
17117
17118 // CHECK: vcvtudq2ps -512(%rdx){1to4}, %xmm23
17119 // CHECK: encoding: [0x62,0xe1,0x7f,0x18,0x7a,0x7a,0x80]
17120 vcvtudq2ps -512(%rdx){1to4}, %xmm23
17121
17122 // CHECK: vcvtudq2ps -516(%rdx){1to4}, %xmm23
17123 // CHECK: encoding: [0x62,0xe1,0x7f,0x18,0x7a,0xba,0xfc,0xfd,0xff,0xff]
17124 vcvtudq2ps -516(%rdx){1to4}, %xmm23
17125
17126 // CHECK: vcvtudq2ps %ymm25, %ymm23
17127 // CHECK: encoding: [0x62,0x81,0x7f,0x28,0x7a,0xf9]
17128 vcvtudq2ps %ymm25, %ymm23
17129
17130 // CHECK: vcvtudq2ps %ymm25, %ymm23 {%k3}
17131 // CHECK: encoding: [0x62,0x81,0x7f,0x2b,0x7a,0xf9]
17132 vcvtudq2ps %ymm25, %ymm23 {%k3}
17133
17134 // CHECK: vcvtudq2ps %ymm25, %ymm23 {%k3} {z}
17135 // CHECK: encoding: [0x62,0x81,0x7f,0xab,0x7a,0xf9]
17136 vcvtudq2ps %ymm25, %ymm23 {%k3} {z}
17137
17138 // CHECK: vcvtudq2ps (%rcx), %ymm23
17139 // CHECK: encoding: [0x62,0xe1,0x7f,0x28,0x7a,0x39]
17140 vcvtudq2ps (%rcx), %ymm23
17141
17142 // CHECK: vcvtudq2ps 291(%rax,%r14,8), %ymm23
17143 // CHECK: encoding: [0x62,0xa1,0x7f,0x28,0x7a,0xbc,0xf0,0x23,0x01,0x00,0x00]
17144 vcvtudq2ps 291(%rax,%r14,8), %ymm23
17145
17146 // CHECK: vcvtudq2ps (%rcx){1to8}, %ymm23
17147 // CHECK: encoding: [0x62,0xe1,0x7f,0x38,0x7a,0x39]
17148 vcvtudq2ps (%rcx){1to8}, %ymm23
17149
17150 // CHECK: vcvtudq2ps 4064(%rdx), %ymm23
17151 // CHECK: encoding: [0x62,0xe1,0x7f,0x28,0x7a,0x7a,0x7f]
17152 vcvtudq2ps 4064(%rdx), %ymm23
17153
17154 // CHECK: vcvtudq2ps 4096(%rdx), %ymm23
17155 // CHECK: encoding: [0x62,0xe1,0x7f,0x28,0x7a,0xba,0x00,0x10,0x00,0x00]
17156 vcvtudq2ps 4096(%rdx), %ymm23
17157
17158 // CHECK: vcvtudq2ps -4096(%rdx), %ymm23
17159 // CHECK: encoding: [0x62,0xe1,0x7f,0x28,0x7a,0x7a,0x80]
17160 vcvtudq2ps -4096(%rdx), %ymm23
17161
17162 // CHECK: vcvtudq2ps -4128(%rdx), %ymm23
17163 // CHECK: encoding: [0x62,0xe1,0x7f,0x28,0x7a,0xba,0xe0,0xef,0xff,0xff]
17164 vcvtudq2ps -4128(%rdx), %ymm23
17165
17166 // CHECK: vcvtudq2ps 508(%rdx){1to8}, %ymm23
17167 // CHECK: encoding: [0x62,0xe1,0x7f,0x38,0x7a,0x7a,0x7f]
17168 vcvtudq2ps 508(%rdx){1to8}, %ymm23
17169
17170 // CHECK: vcvtudq2ps 512(%rdx){1to8}, %ymm23
17171 // CHECK: encoding: [0x62,0xe1,0x7f,0x38,0x7a,0xba,0x00,0x02,0x00,0x00]
17172 vcvtudq2ps 512(%rdx){1to8}, %ymm23
17173
17174 // CHECK: vcvtudq2ps -512(%rdx){1to8}, %ymm23
17175 // CHECK: encoding: [0x62,0xe1,0x7f,0x38,0x7a,0x7a,0x80]
17176 vcvtudq2ps -512(%rdx){1to8}, %ymm23
17177
17178 // CHECK: vcvtudq2ps -516(%rdx){1to8}, %ymm23
17179 // CHECK: encoding: [0x62,0xe1,0x7f,0x38,0x7a,0xba,0xfc,0xfd,0xff,0xff]
17180 vcvtudq2ps -516(%rdx){1to8}, %ymm23
17181
17182 // CHECK: vcvtdq2pd %xmm21, %xmm20
17183 // CHECK: encoding: [0x62,0xa1,0x7e,0x08,0xe6,0xe5]
17184 vcvtdq2pd %xmm21, %xmm20
17185
17186 // CHECK: vcvtdq2pd %xmm21, %xmm20 {%k5}
17187 // CHECK: encoding: [0x62,0xa1,0x7e,0x0d,0xe6,0xe5]
17188 vcvtdq2pd %xmm21, %xmm20 {%k5}
17189
17190 // CHECK: vcvtdq2pd %xmm21, %xmm20 {%k5} {z}
17191 // CHECK: encoding: [0x62,0xa1,0x7e,0x8d,0xe6,0xe5]
17192 vcvtdq2pd %xmm21, %xmm20 {%k5} {z}
17193
17194 // CHECK: vcvtdq2pd (%rcx), %xmm20
17195 // CHECK: encoding: [0x62,0xe1,0x7e,0x08,0xe6,0x21]
17196 vcvtdq2pd (%rcx), %xmm20
17197
17198 // CHECK: vcvtdq2pd 291(%rax,%r14,8), %xmm20
17199 // CHECK: encoding: [0x62,0xa1,0x7e,0x08,0xe6,0xa4,0xf0,0x23,0x01,0x00,0x00]
17200 vcvtdq2pd 291(%rax,%r14,8), %xmm20
17201
17202 // CHECK: vcvtdq2pd (%rcx){1to2}, %xmm20
17203 // CHECK: encoding: [0x62,0xe1,0x7e,0x18,0xe6,0x21]
17204 vcvtdq2pd (%rcx){1to2}, %xmm20
17205
17206 // CHECK: vcvtdq2pd 1016(%rdx), %xmm20
17207 // CHECK: encoding: [0x62,0xe1,0x7e,0x08,0xe6,0x62,0x7f]
17208 vcvtdq2pd 1016(%rdx), %xmm20
17209
17210 // CHECK: vcvtdq2pd 1024(%rdx), %xmm20
17211 // CHECK: encoding: [0x62,0xe1,0x7e,0x08,0xe6,0xa2,0x00,0x04,0x00,0x00]
17212 vcvtdq2pd 1024(%rdx), %xmm20
17213
17214 // CHECK: vcvtdq2pd -1024(%rdx), %xmm20
17215 // CHECK: encoding: [0x62,0xe1,0x7e,0x08,0xe6,0x62,0x80]
17216 vcvtdq2pd -1024(%rdx), %xmm20
17217
17218 // CHECK: vcvtdq2pd -1032(%rdx), %xmm20
17219 // CHECK: encoding: [0x62,0xe1,0x7e,0x08,0xe6,0xa2,0xf8,0xfb,0xff,0xff]
17220 vcvtdq2pd -1032(%rdx), %xmm20
17221
17222 // CHECK: vcvtdq2pd 508(%rdx){1to2}, %xmm20
17223 // CHECK: encoding: [0x62,0xe1,0x7e,0x18,0xe6,0x62,0x7f]
17224 vcvtdq2pd 508(%rdx){1to2}, %xmm20
17225
17226 // CHECK: vcvtdq2pd 512(%rdx){1to2}, %xmm20
17227 // CHECK: encoding: [0x62,0xe1,0x7e,0x18,0xe6,0xa2,0x00,0x02,0x00,0x00]
17228 vcvtdq2pd 512(%rdx){1to2}, %xmm20
17229
17230 // CHECK: vcvtdq2pd -512(%rdx){1to2}, %xmm20
17231 // CHECK: encoding: [0x62,0xe1,0x7e,0x18,0xe6,0x62,0x80]
17232 vcvtdq2pd -512(%rdx){1to2}, %xmm20
17233
17234 // CHECK: vcvtdq2pd -516(%rdx){1to2}, %xmm20
17235 // CHECK: encoding: [0x62,0xe1,0x7e,0x18,0xe6,0xa2,0xfc,0xfd,0xff,0xff]
17236 vcvtdq2pd -516(%rdx){1to2}, %xmm20
17237
17238 // CHECK: vcvtdq2pd %xmm23, %ymm28
17239 // CHECK: encoding: [0x62,0x21,0x7e,0x28,0xe6,0xe7]
17240 vcvtdq2pd %xmm23, %ymm28
17241
17242 // CHECK: vcvtdq2pd %xmm23, %ymm28 {%k2}
17243 // CHECK: encoding: [0x62,0x21,0x7e,0x2a,0xe6,0xe7]
17244 vcvtdq2pd %xmm23, %ymm28 {%k2}
17245
17246 // CHECK: vcvtdq2pd %xmm23, %ymm28 {%k2} {z}
17247 // CHECK: encoding: [0x62,0x21,0x7e,0xaa,0xe6,0xe7]
17248 vcvtdq2pd %xmm23, %ymm28 {%k2} {z}
17249
17250 // CHECK: vcvtdq2pd (%rcx), %ymm28
17251 // CHECK: encoding: [0x62,0x61,0x7e,0x28,0xe6,0x21]
17252 vcvtdq2pd (%rcx), %ymm28
17253
17254 // CHECK: vcvtdq2pd 291(%rax,%r14,8), %ymm28
17255 // CHECK: encoding: [0x62,0x21,0x7e,0x28,0xe6,0xa4,0xf0,0x23,0x01,0x00,0x00]
17256 vcvtdq2pd 291(%rax,%r14,8), %ymm28
17257
17258 // CHECK: vcvtdq2pd (%rcx){1to4}, %ymm28
17259 // CHECK: encoding: [0x62,0x61,0x7e,0x38,0xe6,0x21]
17260 vcvtdq2pd (%rcx){1to4}, %ymm28
17261
17262 // CHECK: vcvtdq2pd 2032(%rdx), %ymm28
17263 // CHECK: encoding: [0x62,0x61,0x7e,0x28,0xe6,0x62,0x7f]
17264 vcvtdq2pd 2032(%rdx), %ymm28
17265
17266 // CHECK: vcvtdq2pd 2048(%rdx), %ymm28
17267 // CHECK: encoding: [0x62,0x61,0x7e,0x28,0xe6,0xa2,0x00,0x08,0x00,0x00]
17268 vcvtdq2pd 2048(%rdx), %ymm28
17269
17270 // CHECK: vcvtdq2pd -2048(%rdx), %ymm28
17271 // CHECK: encoding: [0x62,0x61,0x7e,0x28,0xe6,0x62,0x80]
17272 vcvtdq2pd -2048(%rdx), %ymm28
17273
17274 // CHECK: vcvtdq2pd -2064(%rdx), %ymm28
17275 // CHECK: encoding: [0x62,0x61,0x7e,0x28,0xe6,0xa2,0xf0,0xf7,0xff,0xff]
17276 vcvtdq2pd -2064(%rdx), %ymm28
17277
17278 // CHECK: vcvtdq2pd 508(%rdx){1to4}, %ymm28
17279 // CHECK: encoding: [0x62,0x61,0x7e,0x38,0xe6,0x62,0x7f]
17280 vcvtdq2pd 508(%rdx){1to4}, %ymm28
17281
17282 // CHECK: vcvtdq2pd 512(%rdx){1to4}, %ymm28
17283 // CHECK: encoding: [0x62,0x61,0x7e,0x38,0xe6,0xa2,0x00,0x02,0x00,0x00]
17284 vcvtdq2pd 512(%rdx){1to4}, %ymm28
17285
17286 // CHECK: vcvtdq2pd -512(%rdx){1to4}, %ymm28
17287 // CHECK: encoding: [0x62,0x61,0x7e,0x38,0xe6,0x62,0x80]
17288 vcvtdq2pd -512(%rdx){1to4}, %ymm28
17289
17290 // CHECK: vcvtdq2pd -516(%rdx){1to4}, %ymm28
17291 // CHECK: encoding: [0x62,0x61,0x7e,0x38,0xe6,0xa2,0xfc,0xfd,0xff,0xff]
17292 vcvtdq2pd -516(%rdx){1to4}, %ymm28
17293
17294 // CHECK: vcvtdq2ps %xmm22, %xmm28
17295 // CHECK: encoding: [0x62,0x21,0x7c,0x08,0x5b,0xe6]
17296 vcvtdq2ps %xmm22, %xmm28
17297
17298 // CHECK: vcvtdq2ps %xmm22, %xmm28 {%k1}
17299 // CHECK: encoding: [0x62,0x21,0x7c,0x09,0x5b,0xe6]
17300 vcvtdq2ps %xmm22, %xmm28 {%k1}
17301
17302 // CHECK: vcvtdq2ps %xmm22, %xmm28 {%k1} {z}
17303 // CHECK: encoding: [0x62,0x21,0x7c,0x89,0x5b,0xe6]
17304 vcvtdq2ps %xmm22, %xmm28 {%k1} {z}
17305
17306 // CHECK: vcvtdq2ps (%rcx), %xmm28
17307 // CHECK: encoding: [0x62,0x61,0x7c,0x08,0x5b,0x21]
17308 vcvtdq2ps (%rcx), %xmm28
17309
17310 // CHECK: vcvtdq2ps 291(%rax,%r14,8), %xmm28
17311 // CHECK: encoding: [0x62,0x21,0x7c,0x08,0x5b,0xa4,0xf0,0x23,0x01,0x00,0x00]
17312 vcvtdq2ps 291(%rax,%r14,8), %xmm28
17313
17314 // CHECK: vcvtdq2ps (%rcx){1to4}, %xmm28
17315 // CHECK: encoding: [0x62,0x61,0x7c,0x18,0x5b,0x21]
17316 vcvtdq2ps (%rcx){1to4}, %xmm28
17317
17318 // CHECK: vcvtdq2ps 2032(%rdx), %xmm28
17319 // CHECK: encoding: [0x62,0x61,0x7c,0x08,0x5b,0x62,0x7f]
17320 vcvtdq2ps 2032(%rdx), %xmm28
17321
17322 // CHECK: vcvtdq2ps 2048(%rdx), %xmm28
17323 // CHECK: encoding: [0x62,0x61,0x7c,0x08,0x5b,0xa2,0x00,0x08,0x00,0x00]
17324 vcvtdq2ps 2048(%rdx), %xmm28
17325
17326 // CHECK: vcvtdq2ps -2048(%rdx), %xmm28
17327 // CHECK: encoding: [0x62,0x61,0x7c,0x08,0x5b,0x62,0x80]
17328 vcvtdq2ps -2048(%rdx), %xmm28
17329
17330 // CHECK: vcvtdq2ps -2064(%rdx), %xmm28
17331 // CHECK: encoding: [0x62,0x61,0x7c,0x08,0x5b,0xa2,0xf0,0xf7,0xff,0xff]
17332 vcvtdq2ps -2064(%rdx), %xmm28
17333
17334 // CHECK: vcvtdq2ps 508(%rdx){1to4}, %xmm28
17335 // CHECK: encoding: [0x62,0x61,0x7c,0x18,0x5b,0x62,0x7f]