X86VectorVTInfo DstVT, SDNode OpNode,
SDNode OpNodeRnd,
X86FoldableSchedWrite sched, string asm,
- string aliasStr,
- bit CodeGenOnly = 1> {
+ string aliasStr> {
let Predicates = [HasAVX512] in {
def rr_Int : SI<opc, MRMSrcReg, (outs DstVT.RC:$dst), (ins SrcVT.RC:$src),
!strconcat(asm,"\t{$src, $dst|$dst, $src}"),
[(set DstVT.RC:$dst, (OpNodeRnd (SrcVT.VT SrcVT.RC:$src),(i32 timm:$rc)))]>,
EVEX, VEX_LIG, EVEX_B, EVEX_RC,
Sched<[sched]>;
- let isCodeGenOnly = CodeGenOnly, ForceDisassemble = CodeGenOnly in
def rm_Int : SI<opc, MRMSrcMem, (outs DstVT.RC:$dst), (ins SrcVT.IntScalarMemOp:$src),
!strconcat(asm,"\t{$src, $dst|$dst, $src}"),
[(set DstVT.RC:$dst, (OpNode
(!cast<Instruction>(NAME # "rr_Int") DstVT.RC:$dst, SrcVT.RC:$src), 0, "att">;
def : InstAlias<"v" # asm # aliasStr # "\t{$rc, $src, $dst|$dst, $src, $rc}",
(!cast<Instruction>(NAME # "rrb_Int") DstVT.RC:$dst, SrcVT.RC:$src, AVX512RC:$rc), 0, "att">;
-}
-
-multiclass avx512_cvt_s_int_round_aliases<bits<8> opc, X86VectorVTInfo SrcVT,
- X86VectorVTInfo DstVT, SDNode OpNode,
- SDNode OpNodeRnd,
- X86FoldableSchedWrite sched, string asm,
- string aliasStr> :
- avx512_cvt_s_int_round<opc, SrcVT, DstVT, OpNode, OpNodeRnd, sched, asm, aliasStr, 0> {
def : InstAlias<"v" # asm # aliasStr # "\t{$src, $dst|$dst, $src}",
(!cast<Instruction>(NAME # "rm_Int") DstVT.RC:$dst,
SrcVT.IntScalarMemOp:$src), 0, "att">;
defm VCVTSS2SI64Z: avx512_cvt_s_int_round<0x2D, f32x_info, i64x_info, X86cvts2si,
X86cvts2siRnd, WriteCvtSS2I, "cvtss2si", "{q}">,
XS, VEX_W, EVEX_CD8<32, CD8VT1>;
-defm VCVTSS2USIZ: avx512_cvt_s_int_round_aliases<0x79, f32x_info, i32x_info, X86cvts2usi,
+defm VCVTSS2USIZ: avx512_cvt_s_int_round<0x79, f32x_info, i32x_info, X86cvts2usi,
X86cvts2usiRnd, WriteCvtSS2I, "cvtss2usi", "{l}">,
XS, EVEX_CD8<32, CD8VT1>;
-defm VCVTSS2USI64Z: avx512_cvt_s_int_round_aliases<0x79, f32x_info, i64x_info, X86cvts2usi,
+defm VCVTSS2USI64Z: avx512_cvt_s_int_round<0x79, f32x_info, i64x_info, X86cvts2usi,
X86cvts2usiRnd, WriteCvtSS2I, "cvtss2usi", "{q}">,
XS, VEX_W, EVEX_CD8<32, CD8VT1>;
defm VCVTSD2SIZ: avx512_cvt_s_int_round<0x2D, f64x_info, i32x_info, X86cvts2si,
defm VCVTSD2SI64Z: avx512_cvt_s_int_round<0x2D, f64x_info, i64x_info, X86cvts2si,
X86cvts2siRnd, WriteCvtSD2I, "cvtsd2si", "{q}">,
XD, VEX_W, EVEX_CD8<64, CD8VT1>;
-defm VCVTSD2USIZ: avx512_cvt_s_int_round_aliases<0x79, f64x_info, i32x_info, X86cvts2usi,
+defm VCVTSD2USIZ: avx512_cvt_s_int_round<0x79, f64x_info, i32x_info, X86cvts2usi,
X86cvts2usiRnd, WriteCvtSD2I, "cvtsd2usi", "{l}">,
XD, EVEX_CD8<64, CD8VT1>;
-defm VCVTSD2USI64Z: avx512_cvt_s_int_round_aliases<0x79, f64x_info, i64x_info, X86cvts2usi,
+defm VCVTSD2USI64Z: avx512_cvt_s_int_round<0x79, f64x_info, i64x_info, X86cvts2usi,
X86cvts2usiRnd, WriteCvtSD2I, "cvtsd2usi", "{q}">,
XD, VEX_W, EVEX_CD8<64, CD8VT1>;
multiclass avx512_cvt_s_all<bits<8> opc, string asm, X86VectorVTInfo _SrcRC,
X86VectorVTInfo _DstRC, SDNode OpNode,
SDNode OpNodeInt, SDNode OpNodeSAE,
- X86FoldableSchedWrite sched, string aliasStr,
- bit CodeGenOnly = 1>{
+ X86FoldableSchedWrite sched, string aliasStr>{
let Predicates = [HasAVX512] in {
let isCodeGenOnly = 1 in {
def rr : AVX512<opc, MRMSrcReg, (outs _DstRC.RC:$dst), (ins _SrcRC.FRC:$src),
!strconcat(asm,"\t{{sae}, $src, $dst|$dst, $src, {sae}}"),
[(set _DstRC.RC:$dst, (OpNodeSAE (_SrcRC.VT _SrcRC.RC:$src)))]>,
EVEX, VEX_LIG, EVEX_B, Sched<[sched]>;
- let isCodeGenOnly = CodeGenOnly, ForceDisassemble = CodeGenOnly in
def rm_Int : AVX512<opc, MRMSrcMem, (outs _DstRC.RC:$dst),
(ins _SrcRC.IntScalarMemOp:$src),
!strconcat(asm,"\t{$src, $dst|$dst, $src}"),
(!cast<Instruction>(NAME # "rr_Int") _DstRC.RC:$dst, _SrcRC.RC:$src), 0, "att">;
def : InstAlias<asm # aliasStr # "\t{{sae}, $src, $dst|$dst, $src, {sae}}",
(!cast<Instruction>(NAME # "rrb_Int") _DstRC.RC:$dst, _SrcRC.RC:$src), 0, "att">;
-}
-
-multiclass avx512_cvt_s_all_unsigned<bits<8> opc, string asm,
- X86VectorVTInfo _SrcRC,
- X86VectorVTInfo _DstRC, SDNode OpNode,
- SDNode OpNodeInt, SDNode OpNodeSAE,
- X86FoldableSchedWrite sched,
- string aliasStr> :
- avx512_cvt_s_all<opc, asm, _SrcRC, _DstRC, OpNode, OpNodeInt, OpNodeSAE, sched,
- aliasStr, 0> {
def : InstAlias<asm # aliasStr # "\t{$src, $dst|$dst, $src}",
(!cast<Instruction>(NAME # "rm_Int") _DstRC.RC:$dst,
_SrcRC.IntScalarMemOp:$src), 0, "att">;
fp_to_sint, X86cvtts2Int, X86cvtts2IntSAE, WriteCvtSD2I,
"{q}">, VEX_W, XD, EVEX_CD8<64, CD8VT1>;
-defm VCVTTSS2USIZ: avx512_cvt_s_all_unsigned<0x78, "vcvttss2usi", f32x_info, i32x_info,
+defm VCVTTSS2USIZ: avx512_cvt_s_all<0x78, "vcvttss2usi", f32x_info, i32x_info,
fp_to_uint, X86cvtts2UInt, X86cvtts2UIntSAE, WriteCvtSS2I,
"{l}">, XS, EVEX_CD8<32, CD8VT1>;
-defm VCVTTSS2USI64Z: avx512_cvt_s_all_unsigned<0x78, "vcvttss2usi", f32x_info, i64x_info,
+defm VCVTTSS2USI64Z: avx512_cvt_s_all<0x78, "vcvttss2usi", f32x_info, i64x_info,
fp_to_uint, X86cvtts2UInt, X86cvtts2UIntSAE, WriteCvtSS2I,
"{q}">, XS,VEX_W, EVEX_CD8<32, CD8VT1>;
-defm VCVTTSD2USIZ: avx512_cvt_s_all_unsigned<0x78, "vcvttsd2usi", f64x_info, i32x_info,
+defm VCVTTSD2USIZ: avx512_cvt_s_all<0x78, "vcvttsd2usi", f64x_info, i32x_info,
fp_to_uint, X86cvtts2UInt, X86cvtts2UIntSAE, WriteCvtSD2I,
"{l}">, XD, EVEX_CD8<64, CD8VT1>;
-defm VCVTTSD2USI64Z: avx512_cvt_s_all_unsigned<0x78, "vcvttsd2usi", f64x_info, i64x_info,
+defm VCVTTSD2USI64Z: avx512_cvt_s_all<0x78, "vcvttsd2usi", f64x_info, i64x_info,
fp_to_uint, X86cvtts2UInt, X86cvtts2UIntSAE, WriteCvtSD2I,
"{q}">, XD, VEX_W, EVEX_CD8<64, CD8VT1>;
vcomiss %xmm1, %xmm1
// CHECK: vcvtsd2si 485498096, %r13d
-// CHECK: encoding: [0xc5,0x7b,0x2d,0x2c,0x25,0xf0,0x1c,0xf0,0x1c]
-vcvtsd2si 485498096, %r13d
+// CHECK: encoding: [0x62,0x71,0x7f,0x08,0x2d,0x2c,0x25,0xf0,0x1c,0xf0,0x1c]
+{evex} vcvtsd2si 485498096, %r13d
// CHECK: vcvtsd2si 485498096, %r15
-// CHECK: encoding: [0xc4,0x61,0xfb,0x2d,0x3c,0x25,0xf0,0x1c,0xf0,0x1c]
-vcvtsd2si 485498096, %r15
+// CHECK: encoding: [0x62,0x71,0xff,0x08,0x2d,0x3c,0x25,0xf0,0x1c,0xf0,0x1c]
+{evex} vcvtsd2si 485498096, %r15
// CHECK: vcvtsd2si 512(%rdx), %r13d
-// CHECK: encoding: [0xc5,0x7b,0x2d,0xaa,0x00,0x02,0x00,0x00]
-vcvtsd2si 512(%rdx), %r13d
+// CHECK: encoding: [0x62,0x71,0x7f,0x08,0x2d,0x6a,0x40]
+{evex} vcvtsd2si 512(%rdx), %r13d
// CHECK: vcvtsd2si 512(%rdx), %r15
-// CHECK: encoding: [0xc4,0x61,0xfb,0x2d,0xba,0x00,0x02,0x00,0x00]
-vcvtsd2si 512(%rdx), %r15
+// CHECK: encoding: [0x62,0x71,0xff,0x08,0x2d,0x7a,0x40]
+{evex} vcvtsd2si 512(%rdx), %r15
// CHECK: vcvtsd2si 512(%rdx,%rax,4), %r13d
-// CHECK: encoding: [0xc5,0x7b,0x2d,0xac,0x82,0x00,0x02,0x00,0x00]
-vcvtsd2si 512(%rdx,%rax,4), %r13d
+// CHECK: encoding: [0x62,0x71,0x7f,0x08,0x2d,0x6c,0x82,0x40]
+{evex} vcvtsd2si 512(%rdx,%rax,4), %r13d
// CHECK: vcvtsd2si -512(%rdx,%rax,4), %r13d
-// CHECK: encoding: [0xc5,0x7b,0x2d,0xac,0x82,0x00,0xfe,0xff,0xff]
-vcvtsd2si -512(%rdx,%rax,4), %r13d
+// CHECK: encoding: [0x62,0x71,0x7f,0x08,0x2d,0x6c,0x82,0xc0]
+{evex} vcvtsd2si -512(%rdx,%rax,4), %r13d
// CHECK: vcvtsd2si 512(%rdx,%rax,4), %r15
-// CHECK: encoding: [0xc4,0x61,0xfb,0x2d,0xbc,0x82,0x00,0x02,0x00,0x00]
-vcvtsd2si 512(%rdx,%rax,4), %r15
+// CHECK: encoding: [0x62,0x71,0xff,0x08,0x2d,0x7c,0x82,0x40]
+{evex} vcvtsd2si 512(%rdx,%rax,4), %r15
// CHECK: vcvtsd2si -512(%rdx,%rax,4), %r15
-// CHECK: encoding: [0xc4,0x61,0xfb,0x2d,0xbc,0x82,0x00,0xfe,0xff,0xff]
-vcvtsd2si -512(%rdx,%rax,4), %r15
+// CHECK: encoding: [0x62,0x71,0xff,0x08,0x2d,0x7c,0x82,0xc0]
+{evex} vcvtsd2si -512(%rdx,%rax,4), %r15
// CHECK: vcvtsd2si 512(%rdx,%rax), %r13d
-// CHECK: encoding: [0xc5,0x7b,0x2d,0xac,0x02,0x00,0x02,0x00,0x00]
-vcvtsd2si 512(%rdx,%rax), %r13d
+// CHECK: encoding: [0x62,0x71,0x7f,0x08,0x2d,0x6c,0x02,0x40]
+{evex} vcvtsd2si 512(%rdx,%rax), %r13d
// CHECK: vcvtsd2si 512(%rdx,%rax), %r15
-// CHECK: encoding: [0xc4,0x61,0xfb,0x2d,0xbc,0x02,0x00,0x02,0x00,0x00]
-vcvtsd2si 512(%rdx,%rax), %r15
+// CHECK: encoding: [0x62,0x71,0xff,0x08,0x2d,0x7c,0x02,0x40]
+{evex} vcvtsd2si 512(%rdx,%rax), %r15
// CHECK: vcvtsd2si {rd-sae}, %xmm15, %r13d
// CHECK: encoding: [0x62,0x51,0x7f,0x38,0x2d,0xef]
vcvtss2sd %xmm1, %xmm1, %xmm1 {%k2} {z}
// CHECK: vcvtss2si 256(%rdx), %r13d
-// CHECK: encoding: [0xc5,0x7a,0x2d,0xaa,0x00,0x01,0x00,0x00]
-vcvtss2si 256(%rdx), %r13d
+// CHECK: encoding: [0x62,0x71,0x7e,0x08,0x2d,0x6a,0x40]
+{evex} {evex} vcvtss2si 256(%rdx), %r13d
// CHECK: vcvtss2si 256(%rdx), %r15
-// CHECK: encoding: [0xc4,0x61,0xfa,0x2d,0xba,0x00,0x01,0x00,0x00]
-vcvtss2si 256(%rdx), %r15
+// CHECK: encoding: [0x62,0x71,0xfe,0x08,0x2d,0x7a,0x40]
+{evex} vcvtss2si 256(%rdx), %r15
// CHECK: vcvtss2si 256(%rdx,%rax,4), %r13d
-// CHECK: encoding: [0xc5,0x7a,0x2d,0xac,0x82,0x00,0x01,0x00,0x00]
-vcvtss2si 256(%rdx,%rax,4), %r13d
+// CHECK: encoding: [0x62,0x71,0x7e,0x08,0x2d,0x6c,0x82,0x40]
+{evex} vcvtss2si 256(%rdx,%rax,4), %r13d
// CHECK: vcvtss2si -256(%rdx,%rax,4), %r13d
-// CHECK: encoding: [0xc5,0x7a,0x2d,0xac,0x82,0x00,0xff,0xff,0xff]
-vcvtss2si -256(%rdx,%rax,4), %r13d
+// CHECK: encoding: [0x62,0x71,0x7e,0x08,0x2d,0x6c,0x82,0xc0]
+{evex} vcvtss2si -256(%rdx,%rax,4), %r13d
// CHECK: vcvtss2si 256(%rdx,%rax,4), %r15
-// CHECK: encoding: [0xc4,0x61,0xfa,0x2d,0xbc,0x82,0x00,0x01,0x00,0x00]
-vcvtss2si 256(%rdx,%rax,4), %r15
+// CHECK: encoding: [0x62,0x71,0xfe,0x08,0x2d,0x7c,0x82,0x40]
+{evex} vcvtss2si 256(%rdx,%rax,4), %r15
// CHECK: vcvtss2si -256(%rdx,%rax,4), %r15
-// CHECK: encoding: [0xc4,0x61,0xfa,0x2d,0xbc,0x82,0x00,0xff,0xff,0xff]
-vcvtss2si -256(%rdx,%rax,4), %r15
+// CHECK: encoding: [0x62,0x71,0xfe,0x08,0x2d,0x7c,0x82,0xc0]
+{evex} vcvtss2si -256(%rdx,%rax,4), %r15
// CHECK: vcvtss2si 256(%rdx,%rax), %r13d
-// CHECK: encoding: [0xc5,0x7a,0x2d,0xac,0x02,0x00,0x01,0x00,0x00]
-vcvtss2si 256(%rdx,%rax), %r13d
+// CHECK: encoding: [0x62,0x71,0x7e,0x08,0x2d,0x6c,0x02,0x40]
+{evex} vcvtss2si 256(%rdx,%rax), %r13d
// CHECK: vcvtss2si 256(%rdx,%rax), %r15
-// CHECK: encoding: [0xc4,0x61,0xfa,0x2d,0xbc,0x02,0x00,0x01,0x00,0x00]
-vcvtss2si 256(%rdx,%rax), %r15
+// CHECK: encoding: [0x62,0x71,0xfe,0x08,0x2d,0x7c,0x02,0x40]
+{evex} vcvtss2si 256(%rdx,%rax), %r15
// CHECK: vcvtss2si 485498096, %r13d
-// CHECK: encoding: [0xc5,0x7a,0x2d,0x2c,0x25,0xf0,0x1c,0xf0,0x1c]
-vcvtss2si 485498096, %r13d
+// CHECK: encoding: [0x62,0x71,0x7e,0x08,0x2d,0x2c,0x25,0xf0,0x1c,0xf0,0x1c]
+{evex} vcvtss2si 485498096, %r13d
// CHECK: vcvtss2si 485498096, %r15
-// CHECK: encoding: [0xc4,0x61,0xfa,0x2d,0x3c,0x25,0xf0,0x1c,0xf0,0x1c]
-vcvtss2si 485498096, %r15
+// CHECK: encoding: [0x62,0x71,0xfe,0x08,0x2d,0x3c,0x25,0xf0,0x1c,0xf0,0x1c]
+{evex} vcvtss2si 485498096, %r15
// CHECK: vcvtss2si {rd-sae}, %xmm15, %r13d
// CHECK: encoding: [0x62,0x51,0x7e,0x38,0x2d,0xef]
vcvtss2usi %xmm1, %r15
// CHECK: vcvttsd2si 485498096, %r13d
-// CHECK: encoding: [0xc5,0x7b,0x2c,0x2c,0x25,0xf0,0x1c,0xf0,0x1c]
-vcvttsd2si 485498096, %r13d
+// CHECK: encoding: [0x62,0x71,0x7f,0x08,0x2c,0x2c,0x25,0xf0,0x1c,0xf0,0x1c]
+{evex} vcvttsd2si 485498096, %r13d
// CHECK: vcvttsd2si 485498096, %r15
-// CHECK: encoding: [0xc4,0x61,0xfb,0x2c,0x3c,0x25,0xf0,0x1c,0xf0,0x1c]
-vcvttsd2si 485498096, %r15
+// CHECK: encoding: [0x62,0x71,0xff,0x08,0x2c,0x3c,0x25,0xf0,0x1c,0xf0,0x1c]
+{evex} vcvttsd2si 485498096, %r15
// CHECK: vcvttsd2si 512(%rdx), %r13d
-// CHECK: encoding: [0xc5,0x7b,0x2c,0xaa,0x00,0x02,0x00,0x00]
-vcvttsd2si 512(%rdx), %r13d
+// CHECK: encoding: [0x62,0x71,0x7f,0x08,0x2c,0x6a,0x40]
+{evex} vcvttsd2si 512(%rdx), %r13d
// CHECK: vcvttsd2si 512(%rdx), %r15
-// CHECK: encoding: [0xc4,0x61,0xfb,0x2c,0xba,0x00,0x02,0x00,0x00]
-vcvttsd2si 512(%rdx), %r15
+// CHECK: encoding: [0x62,0x71,0xff,0x08,0x2c,0x7a,0x40]
+{evex} vcvttsd2si 512(%rdx), %r15
// CHECK: vcvttsd2si 512(%rdx,%rax,4), %r13d
-// CHECK: encoding: [0xc5,0x7b,0x2c,0xac,0x82,0x00,0x02,0x00,0x00]
-vcvttsd2si 512(%rdx,%rax,4), %r13d
+// CHECK: encoding: [0x62,0x71,0x7f,0x08,0x2c,0x6c,0x82,0x40]
+{evex} vcvttsd2si 512(%rdx,%rax,4), %r13d
// CHECK: vcvttsd2si -512(%rdx,%rax,4), %r13d
-// CHECK: encoding: [0xc5,0x7b,0x2c,0xac,0x82,0x00,0xfe,0xff,0xff]
-vcvttsd2si -512(%rdx,%rax,4), %r13d
+// CHECK: encoding: [0x62,0x71,0x7f,0x08,0x2c,0x6c,0x82,0xc0]
+{evex} vcvttsd2si -512(%rdx,%rax,4), %r13d
// CHECK: vcvttsd2si 512(%rdx,%rax,4), %r15
-// CHECK: encoding: [0xc4,0x61,0xfb,0x2c,0xbc,0x82,0x00,0x02,0x00,0x00]
-vcvttsd2si 512(%rdx,%rax,4), %r15
+// CHECK: encoding: [0x62,0x71,0xff,0x08,0x2c,0x7c,0x82,0x40]
+{evex} vcvttsd2si 512(%rdx,%rax,4), %r15
// CHECK: vcvttsd2si -512(%rdx,%rax,4), %r15
-// CHECK: encoding: [0xc4,0x61,0xfb,0x2c,0xbc,0x82,0x00,0xfe,0xff,0xff]
-vcvttsd2si -512(%rdx,%rax,4), %r15
+// CHECK: encoding: [0x62,0x71,0xff,0x08,0x2c,0x7c,0x82,0xc0]
+{evex} vcvttsd2si -512(%rdx,%rax,4), %r15
// CHECK: vcvttsd2si 512(%rdx,%rax), %r13d
-// CHECK: encoding: [0xc5,0x7b,0x2c,0xac,0x02,0x00,0x02,0x00,0x00]
-vcvttsd2si 512(%rdx,%rax), %r13d
+// CHECK: encoding: [0x62,0x71,0x7f,0x08,0x2c,0x6c,0x02,0x40]
+{evex} vcvttsd2si 512(%rdx,%rax), %r13d
// CHECK: vcvttsd2si 512(%rdx,%rax), %r15
-// CHECK: encoding: [0xc4,0x61,0xfb,0x2c,0xbc,0x02,0x00,0x02,0x00,0x00]
-vcvttsd2si 512(%rdx,%rax), %r15
+// CHECK: encoding: [0x62,0x71,0xff,0x08,0x2c,0x7c,0x02,0x40]
+{evex} vcvttsd2si 512(%rdx,%rax), %r15
// CHECK: vcvttsd2si (%rdx), %r13d
-// CHECK: encoding: [0xc5,0x7b,0x2c,0x2a]
-vcvttsd2si (%rdx), %r13d
+// CHECK: encoding: [0x62,0x71,0x7f,0x08,0x2c,0x2a]
+{evex} vcvttsd2si (%rdx), %r13d
// CHECK: vcvttsd2si (%rdx), %r15
-// CHECK: encoding: [0xc4,0x61,0xfb,0x2c,0x3a]
-vcvttsd2si (%rdx), %r15
+// CHECK: encoding: [0x62,0x71,0xff,0x08,0x2c,0x3a]
+{evex} vcvttsd2si (%rdx), %r15
// CHECK: vcvttsd2si {sae}, %xmm15, %r13d
// CHECK: encoding: [0x62,0x51,0x7f,0x18,0x2c,0xef]
vcvttsd2usi %xmm1, %r15
// CHECK: vcvttss2si 256(%rdx), %r13d
-// CHECK: encoding: [0xc5,0x7a,0x2c,0xaa,0x00,0x01,0x00,0x00]
-vcvttss2si 256(%rdx), %r13d
+// CHECK: encoding: [0x62,0x71,0x7e,0x08,0x2c,0x6a,0x40]
+{evex} vcvttss2si 256(%rdx), %r13d
// CHECK: vcvttss2si 256(%rdx), %r15
-// CHECK: encoding: [0xc4,0x61,0xfa,0x2c,0xba,0x00,0x01,0x00,0x00]
-vcvttss2si 256(%rdx), %r15
+// CHECK: encoding: [0x62,0x71,0xfe,0x08,0x2c,0x7a,0x40]
+{evex} vcvttss2si 256(%rdx), %r15
// CHECK: vcvttss2si 256(%rdx,%rax,4), %r13d
-// CHECK: encoding: [0xc5,0x7a,0x2c,0xac,0x82,0x00,0x01,0x00,0x00]
-vcvttss2si 256(%rdx,%rax,4), %r13d
+// CHECK: encoding: [0x62,0x71,0x7e,0x08,0x2c,0x6c,0x82,0x40]
+{evex} vcvttss2si 256(%rdx,%rax,4), %r13d
// CHECK: vcvttss2si -256(%rdx,%rax,4), %r13d
-// CHECK: encoding: [0xc5,0x7a,0x2c,0xac,0x82,0x00,0xff,0xff,0xff]
-vcvttss2si -256(%rdx,%rax,4), %r13d
+// CHECK: encoding: [0x62,0x71,0x7e,0x08,0x2c,0x6c,0x82,0xc0]
+{evex} vcvttss2si -256(%rdx,%rax,4), %r13d
// CHECK: vcvttss2si 256(%rdx,%rax,4), %r15
-// CHECK: encoding: [0xc4,0x61,0xfa,0x2c,0xbc,0x82,0x00,0x01,0x00,0x00]
-vcvttss2si 256(%rdx,%rax,4), %r15
+// CHECK: encoding: [0x62,0x71,0xfe,0x08,0x2c,0x7c,0x82,0x40]
+{evex} vcvttss2si 256(%rdx,%rax,4), %r15
// CHECK: vcvttss2si -256(%rdx,%rax,4), %r15
-// CHECK: encoding: [0xc4,0x61,0xfa,0x2c,0xbc,0x82,0x00,0xff,0xff,0xff]
-vcvttss2si -256(%rdx,%rax,4), %r15
+// CHECK: encoding: [0x62,0x71,0xfe,0x08,0x2c,0x7c,0x82,0xc0]
+{evex} vcvttss2si -256(%rdx,%rax,4), %r15
// CHECK: vcvttss2si 256(%rdx,%rax), %r13d
-// CHECK: encoding: [0xc5,0x7a,0x2c,0xac,0x02,0x00,0x01,0x00,0x00]
-vcvttss2si 256(%rdx,%rax), %r13d
+// CHECK: encoding: [0x62,0x71,0x7e,0x08,0x2c,0x6c,0x02,0x40]
+{evex} vcvttss2si 256(%rdx,%rax), %r13d
// CHECK: vcvttss2si 256(%rdx,%rax), %r15
-// CHECK: encoding: [0xc4,0x61,0xfa,0x2c,0xbc,0x02,0x00,0x01,0x00,0x00]
-vcvttss2si 256(%rdx,%rax), %r15
+// CHECK: encoding: [0x62,0x71,0xfe,0x08,0x2c,0x7c,0x02,0x40]
+{evex} vcvttss2si 256(%rdx,%rax), %r15
// CHECK: vcvttss2si 485498096, %r13d
-// CHECK: encoding: [0xc5,0x7a,0x2c,0x2c,0x25,0xf0,0x1c,0xf0,0x1c]
-vcvttss2si 485498096, %r13d
+// CHECK: encoding: [0x62,0x71,0x7e,0x08,0x2c,0x2c,0x25,0xf0,0x1c,0xf0,0x1c]
+{evex} vcvttss2si 485498096, %r13d
// CHECK: vcvttss2si 485498096, %r15
-// CHECK: encoding: [0xc4,0x61,0xfa,0x2c,0x3c,0x25,0xf0,0x1c,0xf0,0x1c]
-vcvttss2si 485498096, %r15
+// CHECK: encoding: [0x62,0x71,0xfe,0x08,0x2c,0x3c,0x25,0xf0,0x1c,0xf0,0x1c]
+{evex} vcvttss2si 485498096, %r15
// CHECK: vcvttss2si (%rdx), %r13d
-// CHECK: encoding: [0xc5,0x7a,0x2c,0x2a]
-vcvttss2si (%rdx), %r13d
+// CHECK: encoding: [0x62,0x71,0x7e,0x08,0x2c,0x2a]
+{evex} vcvttss2si (%rdx), %r13d
// CHECK: vcvttss2si (%rdx), %r15
-// CHECK: encoding: [0xc4,0x61,0xfa,0x2c,0x3a]
-vcvttss2si (%rdx), %r15
+// CHECK: encoding: [0x62,0x71,0xfe,0x08,0x2c,0x3a]
+{evex} vcvttss2si (%rdx), %r15
// CHECK: vcvttss2si {sae}, %xmm15, %r13d
// CHECK: encoding: [0x62,0x51,0x7e,0x18,0x2c,0xef]