38aab78be2c3f7e81c6bcba3d31e960666843e08
[oota-llvm.git] / test / MC / X86 / x86-64-avx512dq_vl.s
1 // RUN: llvm-mc -triple x86_64-unknown-unknown -mcpu=knl -mattr=+avx512dq -mattr=+avx512vl  --show-encoding %s | FileCheck %s
2
3 // CHECK: vpmullq %xmm22, %xmm17, %xmm26
4 // CHECK:  encoding: [0x62,0x22,0xf5,0x00,0x40,0xd6]
5           vpmullq %xmm22, %xmm17, %xmm26
6
7 // CHECK: vpmullq %xmm22, %xmm17, %xmm26 {%k6}
8 // CHECK:  encoding: [0x62,0x22,0xf5,0x06,0x40,0xd6]
9           vpmullq %xmm22, %xmm17, %xmm26 {%k6}
10
11 // CHECK: vpmullq %xmm22, %xmm17, %xmm26 {%k6} {z}
12 // CHECK:  encoding: [0x62,0x22,0xf5,0x86,0x40,0xd6]
13           vpmullq %xmm22, %xmm17, %xmm26 {%k6} {z}
14
15 // CHECK: vpmullq (%rcx), %xmm17, %xmm26
16 // CHECK:  encoding: [0x62,0x62,0xf5,0x00,0x40,0x11]
17           vpmullq (%rcx), %xmm17, %xmm26
18
19 // CHECK: vpmullq 291(%rax,%r14,8), %xmm17, %xmm26
20 // CHECK:  encoding: [0x62,0x22,0xf5,0x00,0x40,0x94,0xf0,0x23,0x01,0x00,0x00]
21           vpmullq 291(%rax,%r14,8), %xmm17, %xmm26
22
23 // CHECK: vpmullq (%rcx){1to2}, %xmm17, %xmm26
24 // CHECK:  encoding: [0x62,0x62,0xf5,0x10,0x40,0x11]
25           vpmullq (%rcx){1to2}, %xmm17, %xmm26
26
27 // CHECK: vpmullq 2032(%rdx), %xmm17, %xmm26
28 // CHECK:  encoding: [0x62,0x62,0xf5,0x00,0x40,0x52,0x7f]
29           vpmullq 2032(%rdx), %xmm17, %xmm26
30
31 // CHECK: vpmullq 2048(%rdx), %xmm17, %xmm26
32 // CHECK:  encoding: [0x62,0x62,0xf5,0x00,0x40,0x92,0x00,0x08,0x00,0x00]
33           vpmullq 2048(%rdx), %xmm17, %xmm26
34
35 // CHECK: vpmullq -2048(%rdx), %xmm17, %xmm26
36 // CHECK:  encoding: [0x62,0x62,0xf5,0x00,0x40,0x52,0x80]
37           vpmullq -2048(%rdx), %xmm17, %xmm26
38
39 // CHECK: vpmullq -2064(%rdx), %xmm17, %xmm26
40 // CHECK:  encoding: [0x62,0x62,0xf5,0x00,0x40,0x92,0xf0,0xf7,0xff,0xff]
41           vpmullq -2064(%rdx), %xmm17, %xmm26
42
43 // CHECK: vpmullq 1016(%rdx){1to2}, %xmm17, %xmm26
44 // CHECK:  encoding: [0x62,0x62,0xf5,0x10,0x40,0x52,0x7f]
45           vpmullq 1016(%rdx){1to2}, %xmm17, %xmm26
46
47 // CHECK: vpmullq 1024(%rdx){1to2}, %xmm17, %xmm26
48 // CHECK:  encoding: [0x62,0x62,0xf5,0x10,0x40,0x92,0x00,0x04,0x00,0x00]
49           vpmullq 1024(%rdx){1to2}, %xmm17, %xmm26
50
51 // CHECK: vpmullq -1024(%rdx){1to2}, %xmm17, %xmm26
52 // CHECK:  encoding: [0x62,0x62,0xf5,0x10,0x40,0x52,0x80]
53           vpmullq -1024(%rdx){1to2}, %xmm17, %xmm26
54
55 // CHECK: vpmullq -1032(%rdx){1to2}, %xmm17, %xmm26
56 // CHECK:  encoding: [0x62,0x62,0xf5,0x10,0x40,0x92,0xf8,0xfb,0xff,0xff]
57           vpmullq -1032(%rdx){1to2}, %xmm17, %xmm26
58
59 // CHECK: vpmullq %ymm25, %ymm25, %ymm25
60 // CHECK:  encoding: [0x62,0x02,0xb5,0x20,0x40,0xc9]
61           vpmullq %ymm25, %ymm25, %ymm25
62
63 // CHECK: vpmullq %ymm25, %ymm25, %ymm25 {%k3}
64 // CHECK:  encoding: [0x62,0x02,0xb5,0x23,0x40,0xc9]
65           vpmullq %ymm25, %ymm25, %ymm25 {%k3}
66
67 // CHECK: vpmullq %ymm25, %ymm25, %ymm25 {%k3} {z}
68 // CHECK:  encoding: [0x62,0x02,0xb5,0xa3,0x40,0xc9]
69           vpmullq %ymm25, %ymm25, %ymm25 {%k3} {z}
70
71 // CHECK: vpmullq (%rcx), %ymm25, %ymm25
72 // CHECK:  encoding: [0x62,0x62,0xb5,0x20,0x40,0x09]
73           vpmullq (%rcx), %ymm25, %ymm25
74
75 // CHECK: vpmullq 291(%rax,%r14,8), %ymm25, %ymm25
76 // CHECK:  encoding: [0x62,0x22,0xb5,0x20,0x40,0x8c,0xf0,0x23,0x01,0x00,0x00]
77           vpmullq 291(%rax,%r14,8), %ymm25, %ymm25
78
79 // CHECK: vpmullq (%rcx){1to4}, %ymm25, %ymm25
80 // CHECK:  encoding: [0x62,0x62,0xb5,0x30,0x40,0x09]
81           vpmullq (%rcx){1to4}, %ymm25, %ymm25
82
83 // CHECK: vpmullq 4064(%rdx), %ymm25, %ymm25
84 // CHECK:  encoding: [0x62,0x62,0xb5,0x20,0x40,0x4a,0x7f]
85           vpmullq 4064(%rdx), %ymm25, %ymm25
86
87 // CHECK: vpmullq 4096(%rdx), %ymm25, %ymm25
88 // CHECK:  encoding: [0x62,0x62,0xb5,0x20,0x40,0x8a,0x00,0x10,0x00,0x00]
89           vpmullq 4096(%rdx), %ymm25, %ymm25
90
91 // CHECK: vpmullq -4096(%rdx), %ymm25, %ymm25
92 // CHECK:  encoding: [0x62,0x62,0xb5,0x20,0x40,0x4a,0x80]
93           vpmullq -4096(%rdx), %ymm25, %ymm25
94
95 // CHECK: vpmullq -4128(%rdx), %ymm25, %ymm25
96 // CHECK:  encoding: [0x62,0x62,0xb5,0x20,0x40,0x8a,0xe0,0xef,0xff,0xff]
97           vpmullq -4128(%rdx), %ymm25, %ymm25
98
99 // CHECK: vpmullq 1016(%rdx){1to4}, %ymm25, %ymm25
100 // CHECK:  encoding: [0x62,0x62,0xb5,0x30,0x40,0x4a,0x7f]
101           vpmullq 1016(%rdx){1to4}, %ymm25, %ymm25
102
103 // CHECK: vpmullq 1024(%rdx){1to4}, %ymm25, %ymm25
104 // CHECK:  encoding: [0x62,0x62,0xb5,0x30,0x40,0x8a,0x00,0x04,0x00,0x00]
105           vpmullq 1024(%rdx){1to4}, %ymm25, %ymm25
106
107 // CHECK: vpmullq -1024(%rdx){1to4}, %ymm25, %ymm25
108 // CHECK:  encoding: [0x62,0x62,0xb5,0x30,0x40,0x4a,0x80]
109           vpmullq -1024(%rdx){1to4}, %ymm25, %ymm25
110
111 // CHECK: vpmullq -1032(%rdx){1to4}, %ymm25, %ymm25
112 // CHECK:  encoding: [0x62,0x62,0xb5,0x30,0x40,0x8a,0xf8,0xfb,0xff,0xff]
113           vpmullq -1032(%rdx){1to4}, %ymm25, %ymm25