AVX512: Implemented encoding and intrinsics for VGETMANTPD/S , VGETMANTSD/S instructions
[oota-llvm.git] / test / MC / X86 / x86-64-avx512f_vl.s
index ed03f807ee438debe28ef5279508af4079bd359a..15b06290e2282bf85f01cf43712b6649b5c024ae 100644 (file)
@@ -19739,6 +19739,246 @@ vaddpd  {rz-sae}, %zmm2, %zmm1, %zmm1
 // CHECK:  encoding: [0x62,0xe1,0xe5,0x30,0x6d,0xa2,0xf8,0xfb,0xff,0xff]
           vpunpckhqdq -1032(%rdx){1to4}, %ymm19, %ymm20
 
 // CHECK:  encoding: [0x62,0xe1,0xe5,0x30,0x6d,0xa2,0xf8,0xfb,0xff,0xff]
           vpunpckhqdq -1032(%rdx){1to4}, %ymm19, %ymm20
 
+// CHECK: vgetmantps $171, %xmm23, %xmm29
+// CHECK:  encoding: [0x62,0x23,0x7d,0x08,0x26,0xef,0xab]
+          vgetmantps $0xab, %xmm23, %xmm29
+
+// CHECK: vgetmantps $171, %xmm23, %xmm29 {%k5}
+// CHECK:  encoding: [0x62,0x23,0x7d,0x0d,0x26,0xef,0xab]
+          vgetmantps $0xab, %xmm23, %xmm29 {%k5}
+
+// CHECK: vgetmantps $171, %xmm23, %xmm29 {%k5} {z}
+// CHECK:  encoding: [0x62,0x23,0x7d,0x8d,0x26,0xef,0xab]
+          vgetmantps $0xab, %xmm23, %xmm29 {%k5} {z}
+
+// CHECK: vgetmantps $123, %xmm23, %xmm29
+// CHECK:  encoding: [0x62,0x23,0x7d,0x08,0x26,0xef,0x7b]
+          vgetmantps $0x7b, %xmm23, %xmm29
+
+// CHECK: vgetmantps $123, (%rcx), %xmm29
+// CHECK:  encoding: [0x62,0x63,0x7d,0x08,0x26,0x29,0x7b]
+          vgetmantps $0x7b, (%rcx), %xmm29
+
+// CHECK: vgetmantps $123, 291(%rax,%r14,8), %xmm29
+// CHECK:  encoding: [0x62,0x23,0x7d,0x08,0x26,0xac,0xf0,0x23,0x01,0x00,0x00,0x7b]
+          vgetmantps $0x7b, 291(%rax,%r14,8), %xmm29
+
+// CHECK: vgetmantps $123, (%rcx){1to4}, %xmm29
+// CHECK:  encoding: [0x62,0x63,0x7d,0x18,0x26,0x29,0x7b]
+          vgetmantps $0x7b, (%rcx){1to4}, %xmm29
+
+// CHECK: vgetmantps $123, 2032(%rdx), %xmm29
+// CHECK:  encoding: [0x62,0x63,0x7d,0x08,0x26,0x6a,0x7f,0x7b]
+          vgetmantps $0x7b, 2032(%rdx), %xmm29
+
+// CHECK: vgetmantps $123, 2048(%rdx), %xmm29
+// CHECK:  encoding: [0x62,0x63,0x7d,0x08,0x26,0xaa,0x00,0x08,0x00,0x00,0x7b]
+          vgetmantps $0x7b, 2048(%rdx), %xmm29
+
+// CHECK: vgetmantps $123, -2048(%rdx), %xmm29
+// CHECK:  encoding: [0x62,0x63,0x7d,0x08,0x26,0x6a,0x80,0x7b]
+          vgetmantps $0x7b, -2048(%rdx), %xmm29
+
+// CHECK: vgetmantps $123, -2064(%rdx), %xmm29
+// CHECK:  encoding: [0x62,0x63,0x7d,0x08,0x26,0xaa,0xf0,0xf7,0xff,0xff,0x7b]
+          vgetmantps $0x7b, -2064(%rdx), %xmm29
+
+// CHECK: vgetmantps $123, 508(%rdx){1to4}, %xmm29
+// CHECK:  encoding: [0x62,0x63,0x7d,0x18,0x26,0x6a,0x7f,0x7b]
+          vgetmantps $0x7b, 508(%rdx){1to4}, %xmm29
+
+// CHECK: vgetmantps $123, 512(%rdx){1to4}, %xmm29
+// CHECK:  encoding: [0x62,0x63,0x7d,0x18,0x26,0xaa,0x00,0x02,0x00,0x00,0x7b]
+          vgetmantps $0x7b, 512(%rdx){1to4}, %xmm29
+
+// CHECK: vgetmantps $123, -512(%rdx){1to4}, %xmm29
+// CHECK:  encoding: [0x62,0x63,0x7d,0x18,0x26,0x6a,0x80,0x7b]
+          vgetmantps $0x7b, -512(%rdx){1to4}, %xmm29
+
+// CHECK: vgetmantps $123, -516(%rdx){1to4}, %xmm29
+// CHECK:  encoding: [0x62,0x63,0x7d,0x18,0x26,0xaa,0xfc,0xfd,0xff,0xff,0x7b]
+          vgetmantps $0x7b, -516(%rdx){1to4}, %xmm29
+
+// CHECK: vgetmantps $171, %ymm29, %ymm17
+// CHECK:  encoding: [0x62,0x83,0x7d,0x28,0x26,0xcd,0xab]
+          vgetmantps $0xab, %ymm29, %ymm17
+
+// CHECK: vgetmantps $171, %ymm29, %ymm17 {%k1}
+// CHECK:  encoding: [0x62,0x83,0x7d,0x29,0x26,0xcd,0xab]
+          vgetmantps $0xab, %ymm29, %ymm17 {%k1}
+
+// CHECK: vgetmantps $171, %ymm29, %ymm17 {%k1} {z}
+// CHECK:  encoding: [0x62,0x83,0x7d,0xa9,0x26,0xcd,0xab]
+          vgetmantps $0xab, %ymm29, %ymm17 {%k1} {z}
+
+// CHECK: vgetmantps $123, %ymm29, %ymm17
+// CHECK:  encoding: [0x62,0x83,0x7d,0x28,0x26,0xcd,0x7b]
+          vgetmantps $0x7b, %ymm29, %ymm17
+
+// CHECK: vgetmantps $123, (%rcx), %ymm17
+// CHECK:  encoding: [0x62,0xe3,0x7d,0x28,0x26,0x09,0x7b]
+          vgetmantps $0x7b, (%rcx), %ymm17
+
+// CHECK: vgetmantps $123, 291(%rax,%r14,8), %ymm17
+// CHECK:  encoding: [0x62,0xa3,0x7d,0x28,0x26,0x8c,0xf0,0x23,0x01,0x00,0x00,0x7b]
+          vgetmantps $0x7b, 291(%rax,%r14,8), %ymm17
+
+// CHECK: vgetmantps $123, (%rcx){1to8}, %ymm17
+// CHECK:  encoding: [0x62,0xe3,0x7d,0x38,0x26,0x09,0x7b]
+          vgetmantps $0x7b, (%rcx){1to8}, %ymm17
+
+// CHECK: vgetmantps $123, 4064(%rdx), %ymm17
+// CHECK:  encoding: [0x62,0xe3,0x7d,0x28,0x26,0x4a,0x7f,0x7b]
+          vgetmantps $0x7b, 4064(%rdx), %ymm17
+
+// CHECK: vgetmantps $123, 4096(%rdx), %ymm17
+// CHECK:  encoding: [0x62,0xe3,0x7d,0x28,0x26,0x8a,0x00,0x10,0x00,0x00,0x7b]
+          vgetmantps $0x7b, 4096(%rdx), %ymm17
+
+// CHECK: vgetmantps $123, -4096(%rdx), %ymm17
+// CHECK:  encoding: [0x62,0xe3,0x7d,0x28,0x26,0x4a,0x80,0x7b]
+          vgetmantps $0x7b, -4096(%rdx), %ymm17
+
+// CHECK: vgetmantps $123, -4128(%rdx), %ymm17
+// CHECK:  encoding: [0x62,0xe3,0x7d,0x28,0x26,0x8a,0xe0,0xef,0xff,0xff,0x7b]
+          vgetmantps $0x7b, -4128(%rdx), %ymm17
+
+// CHECK: vgetmantps $123, 508(%rdx){1to8}, %ymm17
+// CHECK:  encoding: [0x62,0xe3,0x7d,0x38,0x26,0x4a,0x7f,0x7b]
+          vgetmantps $0x7b, 508(%rdx){1to8}, %ymm17
+
+// CHECK: vgetmantps $123, 512(%rdx){1to8}, %ymm17
+// CHECK:  encoding: [0x62,0xe3,0x7d,0x38,0x26,0x8a,0x00,0x02,0x00,0x00,0x7b]
+          vgetmantps $0x7b, 512(%rdx){1to8}, %ymm17
+
+// CHECK: vgetmantps $123, -512(%rdx){1to8}, %ymm17
+// CHECK:  encoding: [0x62,0xe3,0x7d,0x38,0x26,0x4a,0x80,0x7b]
+          vgetmantps $0x7b, -512(%rdx){1to8}, %ymm17
+
+// CHECK: vgetmantps $123, -516(%rdx){1to8}, %ymm17
+// CHECK:  encoding: [0x62,0xe3,0x7d,0x38,0x26,0x8a,0xfc,0xfd,0xff,0xff,0x7b]
+          vgetmantps $0x7b, -516(%rdx){1to8}, %ymm17
+
+// CHECK: vgetmantpd $171, %xmm29, %xmm28
+// CHECK:  encoding: [0x62,0x03,0xfd,0x08,0x26,0xe5,0xab]
+          vgetmantpd $0xab, %xmm29, %xmm28
+
+// CHECK: vgetmantpd $171, %xmm29, %xmm28 {%k4}
+// CHECK:  encoding: [0x62,0x03,0xfd,0x0c,0x26,0xe5,0xab]
+          vgetmantpd $0xab, %xmm29, %xmm28 {%k4}
+
+// CHECK: vgetmantpd $171, %xmm29, %xmm28 {%k4} {z}
+// CHECK:  encoding: [0x62,0x03,0xfd,0x8c,0x26,0xe5,0xab]
+          vgetmantpd $0xab, %xmm29, %xmm28 {%k4} {z}
+
+// CHECK: vgetmantpd $123, %xmm29, %xmm28
+// CHECK:  encoding: [0x62,0x03,0xfd,0x08,0x26,0xe5,0x7b]
+          vgetmantpd $0x7b, %xmm29, %xmm28
+
+// CHECK: vgetmantpd $123, (%rcx), %xmm28
+// CHECK:  encoding: [0x62,0x63,0xfd,0x08,0x26,0x21,0x7b]
+          vgetmantpd $0x7b, (%rcx), %xmm28
+
+// CHECK: vgetmantpd $123, 291(%rax,%r14,8), %xmm28
+// CHECK:  encoding: [0x62,0x23,0xfd,0x08,0x26,0xa4,0xf0,0x23,0x01,0x00,0x00,0x7b]
+          vgetmantpd $0x7b, 291(%rax,%r14,8), %xmm28
+
+// CHECK: vgetmantpd $123, (%rcx){1to2}, %xmm28
+// CHECK:  encoding: [0x62,0x63,0xfd,0x18,0x26,0x21,0x7b]
+          vgetmantpd $0x7b, (%rcx){1to2}, %xmm28
+
+// CHECK: vgetmantpd $123, 2032(%rdx), %xmm28
+// CHECK:  encoding: [0x62,0x63,0xfd,0x08,0x26,0x62,0x7f,0x7b]
+          vgetmantpd $0x7b, 2032(%rdx), %xmm28
+
+// CHECK: vgetmantpd $123, 2048(%rdx), %xmm28
+// CHECK:  encoding: [0x62,0x63,0xfd,0x08,0x26,0xa2,0x00,0x08,0x00,0x00,0x7b]
+          vgetmantpd $0x7b, 2048(%rdx), %xmm28
+
+// CHECK: vgetmantpd $123, -2048(%rdx), %xmm28
+// CHECK:  encoding: [0x62,0x63,0xfd,0x08,0x26,0x62,0x80,0x7b]
+          vgetmantpd $0x7b, -2048(%rdx), %xmm28
+
+// CHECK: vgetmantpd $123, -2064(%rdx), %xmm28
+// CHECK:  encoding: [0x62,0x63,0xfd,0x08,0x26,0xa2,0xf0,0xf7,0xff,0xff,0x7b]
+          vgetmantpd $0x7b, -2064(%rdx), %xmm28
+
+// CHECK: vgetmantpd $123, 1016(%rdx){1to2}, %xmm28
+// CHECK:  encoding: [0x62,0x63,0xfd,0x18,0x26,0x62,0x7f,0x7b]
+          vgetmantpd $0x7b, 1016(%rdx){1to2}, %xmm28
+
+// CHECK: vgetmantpd $123, 1024(%rdx){1to2}, %xmm28
+// CHECK:  encoding: [0x62,0x63,0xfd,0x18,0x26,0xa2,0x00,0x04,0x00,0x00,0x7b]
+          vgetmantpd $0x7b, 1024(%rdx){1to2}, %xmm28
+
+// CHECK: vgetmantpd $123, -1024(%rdx){1to2}, %xmm28
+// CHECK:  encoding: [0x62,0x63,0xfd,0x18,0x26,0x62,0x80,0x7b]
+          vgetmantpd $0x7b, -1024(%rdx){1to2}, %xmm28
+
+// CHECK: vgetmantpd $123, -1032(%rdx){1to2}, %xmm28
+// CHECK:  encoding: [0x62,0x63,0xfd,0x18,0x26,0xa2,0xf8,0xfb,0xff,0xff,0x7b]
+          vgetmantpd $0x7b, -1032(%rdx){1to2}, %xmm28
+
+// CHECK: vgetmantpd $171, %ymm23, %ymm23
+// CHECK:  encoding: [0x62,0xa3,0xfd,0x28,0x26,0xff,0xab]
+          vgetmantpd $0xab, %ymm23, %ymm23
+
+// CHECK: vgetmantpd $171, %ymm23, %ymm23 {%k5}
+// CHECK:  encoding: [0x62,0xa3,0xfd,0x2d,0x26,0xff,0xab]
+          vgetmantpd $0xab, %ymm23, %ymm23 {%k5}
+
+// CHECK: vgetmantpd $171, %ymm23, %ymm23 {%k5} {z}
+// CHECK:  encoding: [0x62,0xa3,0xfd,0xad,0x26,0xff,0xab]
+          vgetmantpd $0xab, %ymm23, %ymm23 {%k5} {z}
+
+// CHECK: vgetmantpd $123, %ymm23, %ymm23
+// CHECK:  encoding: [0x62,0xa3,0xfd,0x28,0x26,0xff,0x7b]
+          vgetmantpd $0x7b, %ymm23, %ymm23
+
+// CHECK: vgetmantpd $123, (%rcx), %ymm23
+// CHECK:  encoding: [0x62,0xe3,0xfd,0x28,0x26,0x39,0x7b]
+          vgetmantpd $0x7b, (%rcx), %ymm23
+
+// CHECK: vgetmantpd $123, 291(%rax,%r14,8), %ymm23
+// CHECK:  encoding: [0x62,0xa3,0xfd,0x28,0x26,0xbc,0xf0,0x23,0x01,0x00,0x00,0x7b]
+          vgetmantpd $0x7b, 291(%rax,%r14,8), %ymm23
+
+// CHECK: vgetmantpd $123, (%rcx){1to4}, %ymm23
+// CHECK:  encoding: [0x62,0xe3,0xfd,0x38,0x26,0x39,0x7b]
+          vgetmantpd $0x7b, (%rcx){1to4}, %ymm23
+
+// CHECK: vgetmantpd $123, 4064(%rdx), %ymm23
+// CHECK:  encoding: [0x62,0xe3,0xfd,0x28,0x26,0x7a,0x7f,0x7b]
+          vgetmantpd $0x7b, 4064(%rdx), %ymm23
+
+// CHECK: vgetmantpd $123, 4096(%rdx), %ymm23
+// CHECK:  encoding: [0x62,0xe3,0xfd,0x28,0x26,0xba,0x00,0x10,0x00,0x00,0x7b]
+          vgetmantpd $0x7b, 4096(%rdx), %ymm23
+
+// CHECK: vgetmantpd $123, -4096(%rdx), %ymm23
+// CHECK:  encoding: [0x62,0xe3,0xfd,0x28,0x26,0x7a,0x80,0x7b]
+          vgetmantpd $0x7b, -4096(%rdx), %ymm23
+
+// CHECK: vgetmantpd $123, -4128(%rdx), %ymm23
+// CHECK:  encoding: [0x62,0xe3,0xfd,0x28,0x26,0xba,0xe0,0xef,0xff,0xff,0x7b]
+          vgetmantpd $0x7b, -4128(%rdx), %ymm23
+
+// CHECK: vgetmantpd $123, 1016(%rdx){1to4}, %ymm23
+// CHECK:  encoding: [0x62,0xe3,0xfd,0x38,0x26,0x7a,0x7f,0x7b]
+          vgetmantpd $0x7b, 1016(%rdx){1to4}, %ymm23
+
+// CHECK: vgetmantpd $123, 1024(%rdx){1to4}, %ymm23
+// CHECK:  encoding: [0x62,0xe3,0xfd,0x38,0x26,0xba,0x00,0x04,0x00,0x00,0x7b]
+          vgetmantpd $0x7b, 1024(%rdx){1to4}, %ymm23
+
+// CHECK: vgetmantpd $123, -1024(%rdx){1to4}, %ymm23
+// CHECK:  encoding: [0x62,0xe3,0xfd,0x38,0x26,0x7a,0x80,0x7b]
+          vgetmantpd $0x7b, -1024(%rdx){1to4}, %ymm23
+
+// CHECK: vgetmantpd $123, -1032(%rdx){1to4}, %ymm23
+// CHECK:  encoding: [0x62,0xe3,0xfd,0x38,0x26,0xba,0xf8,0xfb,0xff,0xff,0x7b]
+          vgetmantpd $0x7b, -1032(%rdx){1to4}, %ymm23
+
 // CHECK: vshufps $171, %xmm21, %xmm23, %xmm17
 // CHECK:  encoding: [0x62,0xa1,0x44,0x00,0xc6,0xcd,0xab]
           vshufps $0xab, %xmm21, %xmm23, %xmm17
 // CHECK: vshufps $171, %xmm21, %xmm23, %xmm17
 // CHECK:  encoding: [0x62,0xa1,0x44,0x00,0xc6,0xcd,0xab]
           vshufps $0xab, %xmm21, %xmm23, %xmm17