diff options
author | Craig Topper <craig.topper@intel.com> | 2019-04-10 01:29:59 +0000 |
---|---|---|
committer | Craig Topper <craig.topper@intel.com> | 2019-04-10 01:29:59 +0000 |
commit | 9ca3a95f79879468e3cb903a3947bcbe017e72ea (patch) | |
tree | 95cbf6da84b15aedf45202ce4f48baa453454e06 /llvm/test/MC | |
parent | 7143224272aa1e0023c6f9e4621bf6eece38249b (diff) | |
download | bcm5719-llvm-9ca3a95f79879468e3cb903a3947bcbe017e72ea.tar.gz bcm5719-llvm-9ca3a95f79879468e3cb903a3947bcbe017e72ea.zip |
[X86] Support the EVEX versions vcvt(t)ss2si and vcvt(t)sd2si with the {evex} pseudo prefix in the assembler.
The EVEX versions are ambiguous with the VEX versions based on operands alone so we had explicitly dropped
them from the AsmMatcher table. Unfortunately, when we add them they incorrectly show in the table before
their VEX counterparts. This is different how the prioritization normally works.
To fix this we have to explicitly reject the instructions unless the {evex} prefix has been seen.
llvm-svn: 358041
Diffstat (limited to 'llvm/test/MC')
-rw-r--r-- | llvm/test/MC/X86/AVX512F_SCALAR-64.s | 176 |
1 files changed, 88 insertions, 88 deletions
diff --git a/llvm/test/MC/X86/AVX512F_SCALAR-64.s b/llvm/test/MC/X86/AVX512F_SCALAR-64.s index b0b1fe5eb21..0b543539e7e 100644 --- a/llvm/test/MC/X86/AVX512F_SCALAR-64.s +++ b/llvm/test/MC/X86/AVX512F_SCALAR-64.s @@ -913,44 +913,44 @@ vcomiss %xmm15, %xmm15 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] @@ -1945,44 +1945,44 @@ vcvtss2sd %xmm1, %xmm1, %xmm1 {%k2} 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] @@ -2201,52 +2201,52 @@ vcvtss2usi %xmm1, %r13d 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] @@ -2361,52 +2361,52 @@ vcvttsd2usi %xmm1, %r13d 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] |