1// RUN: llvm-mc -triple x86_64-unknown-unknown --show-encoding %s | FileCheck %s
2
3  vpmadd52luq %zmm4, %zmm5, %zmm6
4//CHECK: vpmadd52luq %zmm4, %zmm5, %zmm6
5//CHECK: encoding: [0x62,0xf2,0xd5,0x48,0xb4,0xf4]
6
7  vpmadd52luq %zmm4, %zmm5, %zmm6 {%k7}
8//CHECK: vpmadd52luq %zmm4, %zmm5, %zmm6 {%k7}
9//CHECK: encoding: [0x62,0xf2,0xd5,0x4f,0xb4,0xf4]
10
11  vpmadd52luq %zmm4, %zmm5, %zmm6 {%k7} {z}
12//CHECK: vpmadd52luq %zmm4, %zmm5, %zmm6 {%k7} {z}
13//CHECK: encoding: [0x62,0xf2,0xd5,0xcf,0xb4,0xf4]
14
15  vpmadd52luq %zmm28, %zmm29, %zmm30
16//CHECK: vpmadd52luq %zmm28, %zmm29, %zmm30
17//CHECK: encoding: [0x62,0x02,0x95,0x40,0xb4,0xf4]
18
19  vpmadd52luq %zmm28, %zmm29, %zmm30 {%k7}
20//CHECK: vpmadd52luq %zmm28, %zmm29, %zmm30 {%k7}
21//CHECK: encoding: [0x62,0x02,0x95,0x47,0xb4,0xf4]
22
23  vpmadd52luq %zmm28, %zmm29, %zmm30 {%k7} {z}
24//CHECK: vpmadd52luq %zmm28, %zmm29, %zmm30 {%k7} {z}
25//CHECK: encoding: [0x62,0x02,0x95,0xc7,0xb4,0xf4]
26
27  vpmadd52luq (%rcx), %zmm29, %zmm30
28//CHECK: vpmadd52luq (%rcx), %zmm29, %zmm30
29//CHECK: encoding: [0x62,0x62,0x95,0x40,0xb4,0x31]
30
31  vpmadd52luq 0x123(%rax,%r14,8), %zmm29, %zmm30
32//CHECK: vpmadd52luq 291(%rax,%r14,8), %zmm29, %zmm30
33//CHECK: encoding: [0x62,0x22,0x95,0x40,0xb4,0xb4,0xf0,0x23,0x01,0x00,0x00]
34
35  vpmadd52luq (%rcx){1to8}, %zmm29, %zmm30
36//CHECK: vpmadd52luq (%rcx){1to8}, %zmm29, %zmm30
37//CHECK: encoding: [0x62,0x62,0x95,0x50,0xb4,0x31]
38
39  vpmadd52luq 0x1fc0(%rdx), %zmm29, %zmm30
40//CHECK: vpmadd52luq 8128(%rdx), %zmm29, %zmm30
41//CHECK: encoding: [0x62,0x62,0x95,0x40,0xb4,0x72,0x7f]
42
43  vpmadd52luq 0x2000(%rdx), %zmm29, %zmm30
44//CHECK: vpmadd52luq 8192(%rdx), %zmm29, %zmm30
45//CHECK: encoding: [0x62,0x62,0x95,0x40,0xb4,0xb2,0x00,0x20,0x00,0x00]
46
47  vpmadd52luq -0x2000(%rdx), %zmm29, %zmm30
48//CHECK: vpmadd52luq -8192(%rdx), %zmm29, %zmm30
49//CHECK: encoding: [0x62,0x62,0x95,0x40,0xb4,0x72,0x80]
50
51  vpmadd52luq -0x2040(%rdx), %zmm29, %zmm30
52//CHECK: vpmadd52luq -8256(%rdx), %zmm29, %zmm30
53//CHECK: encoding: [0x62,0x62,0x95,0x40,0xb4,0xb2,0xc0,0xdf,0xff,0xff]
54
55  vpmadd52luq 0x3f8(%rdx){1to8}, %zmm29, %zmm30
56//CHECK: vpmadd52luq 1016(%rdx){1to8}, %zmm29, %zmm30
57//CHECK: encoding: [0x62,0x62,0x95,0x50,0xb4,0x72,0x7f]
58
59  vpmadd52luq 0x400(%rdx){1to8}, %zmm29, %zmm30
60//CHECK: vpmadd52luq 1024(%rdx){1to8}, %zmm29, %zmm30
61//CHECK: encoding: [0x62,0x62,0x95,0x50,0xb4,0xb2,0x00,0x04,0x00,0x00]
62
63  vpmadd52luq -0x400(%rdx){1to8}, %zmm29, %zmm30
64//CHECK: vpmadd52luq -1024(%rdx){1to8}, %zmm29, %zmm30
65//CHECK: encoding: [0x62,0x62,0x95,0x50,0xb4,0x72,0x80]
66
67  vpmadd52luq -0x408(%rdx){1to8}, %zmm29, %zmm30
68//CHECK: vpmadd52luq -1032(%rdx){1to8}, %zmm29, %zmm30
69//CHECK: encoding: [0x62,0x62,0x95,0x50,0xb4,0xb2,0xf8,0xfb,0xff,0xff]
70
71  vpmadd52luq 0x1234(%rax,%r14,8), %zmm29, %zmm30
72//CHECK: vpmadd52luq 4660(%rax,%r14,8), %zmm29, %zmm30
73//CHECK: encoding: [0x62,0x22,0x95,0x40,0xb4,0xb4,0xf0,0x34,0x12,0x00,0x00]
74
75  vpmadd52huq %zmm4, %zmm5, %zmm6
76//CHECK: vpmadd52huq %zmm4, %zmm5, %zmm6
77//CHECK: encoding: [0x62,0xf2,0xd5,0x48,0xb5,0xf4]
78
79  vpmadd52huq %zmm4, %zmm5, %zmm6 {%k7}
80//CHECK: vpmadd52huq %zmm4, %zmm5, %zmm6 {%k7}
81//CHECK: encoding: [0x62,0xf2,0xd5,0x4f,0xb5,0xf4]
82
83  vpmadd52huq %zmm4, %zmm5, %zmm6 {%k7} {z}
84//CHECK: vpmadd52huq %zmm4, %zmm5, %zmm6 {%k7} {z}
85//CHECK: encoding: [0x62,0xf2,0xd5,0xcf,0xb5,0xf4]
86
87  vpmadd52huq %zmm28, %zmm29, %zmm30
88//CHECK: vpmadd52huq %zmm28, %zmm29, %zmm30
89//CHECK: encoding: [0x62,0x02,0x95,0x40,0xb5,0xf4]
90
91  vpmadd52huq %zmm28, %zmm29, %zmm30 {%k7}
92//CHECK: vpmadd52huq %zmm28, %zmm29, %zmm30 {%k7}
93//CHECK: encoding: [0x62,0x02,0x95,0x47,0xb5,0xf4]
94
95  vpmadd52huq %zmm28, %zmm29, %zmm30 {%k7} {z}
96//CHECK: vpmadd52huq %zmm28, %zmm29, %zmm30 {%k7} {z}
97//CHECK: encoding: [0x62,0x02,0x95,0xc7,0xb5,0xf4]
98
99  vpmadd52huq (%rcx), %zmm29, %zmm30
100//CHECK: vpmadd52huq (%rcx), %zmm29, %zmm30
101//CHECK: encoding: [0x62,0x62,0x95,0x40,0xb5,0x31]
102
103  vpmadd52huq 0x123(%rax,%r14,8), %zmm29, %zmm30
104//CHECK: vpmadd52huq 291(%rax,%r14,8), %zmm29, %zmm30
105//CHECK: encoding: [0x62,0x22,0x95,0x40,0xb5,0xb4,0xf0,0x23,0x01,0x00,0x00]
106
107  vpmadd52huq (%rcx){1to8}, %zmm29, %zmm30
108//CHECK: vpmadd52huq (%rcx){1to8}, %zmm29, %zmm30
109//CHECK: encoding: [0x62,0x62,0x95,0x50,0xb5,0x31]
110
111  vpmadd52huq 0x1fc0(%rdx), %zmm29, %zmm30
112//CHECK: vpmadd52huq 8128(%rdx), %zmm29, %zmm30
113//CHECK: encoding: [0x62,0x62,0x95,0x40,0xb5,0x72,0x7f]
114
115  vpmadd52huq 0x2000(%rdx), %zmm29, %zmm30
116//CHECK: vpmadd52huq 8192(%rdx), %zmm29, %zmm30
117//CHECK: encoding: [0x62,0x62,0x95,0x40,0xb5,0xb2,0x00,0x20,0x00,0x00]
118
119  vpmadd52huq -0x2000(%rdx), %zmm29, %zmm30
120//CHECK: vpmadd52huq -8192(%rdx), %zmm29, %zmm30
121//CHECK: encoding: [0x62,0x62,0x95,0x40,0xb5,0x72,0x80]
122
123  vpmadd52huq -0x2040(%rdx), %zmm29, %zmm30
124//CHECK: vpmadd52huq -8256(%rdx), %zmm29, %zmm30
125//CHECK: encoding: [0x62,0x62,0x95,0x40,0xb5,0xb2,0xc0,0xdf,0xff,0xff]
126
127  vpmadd52huq 0x3f8(%rdx){1to8}, %zmm29, %zmm30
128//CHECK: vpmadd52huq 1016(%rdx){1to8}, %zmm29, %zmm30
129//CHECK: encoding: [0x62,0x62,0x95,0x50,0xb5,0x72,0x7f]
130
131  vpmadd52huq 0x400(%rdx){1to8}, %zmm29, %zmm30
132//CHECK: vpmadd52huq 1024(%rdx){1to8}, %zmm29, %zmm30
133//CHECK: encoding: [0x62,0x62,0x95,0x50,0xb5,0xb2,0x00,0x04,0x00,0x00]
134
135  vpmadd52huq -0x400(%rdx){1to8}, %zmm29, %zmm30
136//CHECK: vpmadd52huq -1024(%rdx){1to8}, %zmm29, %zmm30
137//CHECK: encoding: [0x62,0x62,0x95,0x50,0xb5,0x72,0x80]
138
139  vpmadd52huq -0x408(%rdx){1to8}, %zmm29, %zmm30
140//CHECK: vpmadd52huq -1032(%rdx){1to8}, %zmm29, %zmm30
141//CHECK: encoding: [0x62,0x62,0x95,0x50,0xb5,0xb2,0xf8,0xfb,0xff,0xff]
142
143  vpmadd52huq 0x1234(%rax,%r14,8), %zmm29, %zmm30
144//CHECK: vpmadd52huq 4660(%rax,%r14,8), %zmm29, %zmm30
145//CHECK: encoding: [0x62,0x22,0x95,0x40,0xb5,0xb4,0xf0,0x34,0x12,0x00,0x00]
146