1// RUN: llvm-mc -triple i686-unknown-unknown -x86-asm-syntax=intel -output-asm-variant=1 --show-encoding %s | FileCheck %s
2
3// CHECK: vcvtne2ps2bf16 xmm6 {k7}, xmm5, xmm4
4// CHECK: encoding: [0x62,0xf2,0x57,0x0f,0x72,0xf4]
5          vcvtne2ps2bf16 xmm6 {k7}, xmm5, xmm4
6
7// CHECK: vcvtne2ps2bf16 xmm6 {k7} {z}, xmm5, xmm4
8// CHECK: encoding: [0x62,0xf2,0x57,0x8f,0x72,0xf4]
9          vcvtne2ps2bf16 xmm6 {k7} {z}, xmm5, xmm4
10
11// CHECK: vcvtne2ps2bf16 xmm6 {k7}, xmm5, xmmword ptr [ecx]
12// CHECK: encoding: [0x62,0xf2,0x57,0x0f,0x72,0x31]
13          vcvtne2ps2bf16 xmm6 {k7}, xmm5, xmmword ptr [ecx]
14
15// CHECK: vcvtne2ps2bf16 xmm6 {k7}, xmm5, xmmword ptr [esp + 8*esi + 291]
16// CHECK: encoding: [0x62,0xf2,0x57,0x0f,0x72,0xb4,0xf4,0x23,0x01,0x00,0x00]
17          vcvtne2ps2bf16 xmm6 {k7}, xmm5, xmmword ptr [esp + 8*esi + 291]
18
19// CHECK: vcvtne2ps2bf16 xmm6 {k7}, xmm5, xmmword ptr [esp + 8*esi + 268435456]
20// CHECK: encoding: [0x62,0xf2,0x57,0x0f,0x72,0xb4,0xf4,0x00,0x00,0x00,0x10]
21          vcvtne2ps2bf16 xmm6 {k7}, xmm5, xmmword ptr [esp + 8*esi + 268435456]
22
23// CHECK: vcvtne2ps2bf16 xmm6 {k7}, xmm5, xmmword ptr [esp - 4]
24// CHECK: encoding: [0x62,0xf2,0x57,0x0f,0x72,0xb4,0x24,0xfc,0xff,0xff,0xff]
25          vcvtne2ps2bf16 xmm6 {k7}, xmm5, xmmword ptr [esp - 4]
26
27// CHECK: vcvtne2ps2bf16 xmm6 {k7}, xmm5, dword ptr [eax]{1to4}
28// CHECK: encoding: [0x62,0xf2,0x57,0x1f,0x72,0x30]
29          vcvtne2ps2bf16 xmm6 {k7}, xmm5, dword ptr [eax]{1to4}
30
31// CHECK: vcvtne2ps2bf16 xmm6 {k7}, xmm5, xmmword ptr [edx + 2032]
32// CHECK: encoding: [0x62,0xf2,0x57,0x0f,0x72,0x72,0x7f]
33          vcvtne2ps2bf16 xmm6 {k7}, xmm5, xmmword ptr [edx + 2032]
34
35// CHECK: vcvtne2ps2bf16 xmm6 {k7}, xmm5, xmmword ptr [edx - 2048]
36// CHECK: encoding: [0x62,0xf2,0x57,0x0f,0x72,0x72,0x80]
37          vcvtne2ps2bf16 xmm6 {k7}, xmm5, xmmword ptr [edx - 2048]
38
39// CHECK: vcvtne2ps2bf16 xmm6 {k7}, xmm5, dword ptr [edx + 508]{1to4}
40// CHECK: encoding: [0x62,0xf2,0x57,0x1f,0x72,0x72,0x7f]
41          vcvtne2ps2bf16 xmm6 {k7}, xmm5, dword ptr [edx + 508]{1to4}
42
43// CHECK: vcvtne2ps2bf16 xmm6 {k7}, xmm5, dword ptr [edx - 512]{1to4}
44// CHECK: encoding: [0x62,0xf2,0x57,0x1f,0x72,0x72,0x80]
45          vcvtne2ps2bf16 xmm6 {k7}, xmm5, dword ptr [edx - 512]{1to4}
46
47// CHECK: vcvtne2ps2bf16 ymm6 {k7}, ymm5, ymm4
48// CHECK: encoding: [0x62,0xf2,0x57,0x2f,0x72,0xf4]
49          vcvtne2ps2bf16 ymm6 {k7}, ymm5, ymm4
50
51// CHECK: vcvtne2ps2bf16 ymm6 {k7} {z}, ymm5, ymm4
52// CHECK: encoding: [0x62,0xf2,0x57,0xaf,0x72,0xf4]
53          vcvtne2ps2bf16 ymm6 {k7} {z}, ymm5, ymm4
54
55// CHECK: vcvtne2ps2bf16 ymm6 {k7}, ymm5, ymmword ptr [ecx]
56// CHECK: encoding: [0x62,0xf2,0x57,0x2f,0x72,0x31]
57          vcvtne2ps2bf16 ymm6 {k7}, ymm5, ymmword ptr [ecx]
58
59// CHECK: vcvtne2ps2bf16 ymm6 {k7}, ymm5, ymmword ptr [esp + 8*esi + 291]
60// CHECK: encoding: [0x62,0xf2,0x57,0x2f,0x72,0xb4,0xf4,0x23,0x01,0x00,0x00]
61          vcvtne2ps2bf16 ymm6 {k7}, ymm5, ymmword ptr [esp + 8*esi + 291]
62
63// CHECK: vcvtne2ps2bf16 ymm6 {k7}, ymm5, ymmword ptr [esp + 8*esi + 268435456]
64// CHECK: encoding: [0x62,0xf2,0x57,0x2f,0x72,0xb4,0xf4,0x00,0x00,0x00,0x10]
65          vcvtne2ps2bf16 ymm6 {k7}, ymm5, ymmword ptr [esp + 8*esi + 268435456]
66
67// CHECK: vcvtne2ps2bf16 ymm6 {k7}, ymm5, ymmword ptr [esp - 4]
68// CHECK: encoding: [0x62,0xf2,0x57,0x2f,0x72,0xb4,0x24,0xfc,0xff,0xff,0xff]
69          vcvtne2ps2bf16 ymm6 {k7}, ymm5, ymmword ptr [esp - 4]
70
71// CHECK: vcvtne2ps2bf16 ymm6 {k7}, ymm5, dword ptr [eax]{1to8}
72// CHECK: encoding: [0x62,0xf2,0x57,0x3f,0x72,0x30]
73          vcvtne2ps2bf16 ymm6 {k7}, ymm5, dword ptr [eax]{1to8}
74
75// CHECK: vcvtne2ps2bf16 ymm6 {k7}, ymm5, ymmword ptr [edx + 4064]
76// CHECK: encoding: [0x62,0xf2,0x57,0x2f,0x72,0x72,0x7f]
77          vcvtne2ps2bf16 ymm6 {k7}, ymm5, ymmword ptr [edx + 4064]
78
79// CHECK: vcvtne2ps2bf16 ymm6 {k7}, ymm5, ymmword ptr [edx - 4096]
80// CHECK: encoding: [0x62,0xf2,0x57,0x2f,0x72,0x72,0x80]
81          vcvtne2ps2bf16 ymm6 {k7}, ymm5, ymmword ptr [edx - 4096]
82
83// CHECK: vcvtne2ps2bf16 ymm6 {k7}, ymm5, dword ptr [edx + 508]{1to8}
84// CHECK: encoding: [0x62,0xf2,0x57,0x3f,0x72,0x72,0x7f]
85          vcvtne2ps2bf16 ymm6 {k7}, ymm5, dword ptr [edx + 508]{1to8}
86
87// CHECK: vcvtne2ps2bf16 ymm6 {k7}, ymm5, dword ptr [edx - 512]{1to8}
88// CHECK: encoding: [0x62,0xf2,0x57,0x3f,0x72,0x72,0x80]
89          vcvtne2ps2bf16 ymm6 {k7}, ymm5, dword ptr [edx - 512]{1to8}
90
91// CHECK: vcvtneps2bf16 xmm6, xmm5
92// CHECK: encoding: [0x62,0xf2,0x7e,0x08,0x72,0xf5]
93          vcvtneps2bf16 xmm6, xmm5
94
95// CHECK: vcvtneps2bf16 xmm6 {k7}, xmmword ptr [esp + 8*esi + 268435456]
96// CHECK: encoding: [0x62,0xf2,0x7e,0x0f,0x72,0xb4,0xf4,0x00,0x00,0x00,0x10]
97          vcvtneps2bf16 xmm6 {k7}, xmmword ptr [esp + 8*esi + 268435456]
98
99// CHECK: vcvtneps2bf16 xmm6, dword ptr [ecx]{1to4}
100// CHECK: encoding: [0x62,0xf2,0x7e,0x18,0x72,0x31]
101          vcvtneps2bf16 xmm6, dword ptr [ecx]{1to4}
102
103// CHECK: vcvtneps2bf16 xmm6, xmmword ptr [ecx + 2032]
104// CHECK: encoding: [0x62,0xf2,0x7e,0x08,0x72,0x71,0x7f]
105          vcvtneps2bf16 xmm6, xmmword ptr [ecx + 2032]
106
107// CHECK: vcvtneps2bf16 xmm6 {k7} {z}, dword ptr [edx - 512]{1to4}
108// CHECK: encoding: [0x62,0xf2,0x7e,0x9f,0x72,0x72,0x80]
109          vcvtneps2bf16 xmm6 {k7} {z}, dword ptr [edx - 512]{1to4}
110
111// CHECK: vcvtneps2bf16 xmm6, ymm5
112// CHECK: encoding: [0x62,0xf2,0x7e,0x28,0x72,0xf5]
113          vcvtneps2bf16 xmm6, ymm5
114
115// CHECK: vcvtneps2bf16 xmm6 {k7}, ymmword ptr [esp + 8*esi + 268435456]
116// CHECK: encoding: [0x62,0xf2,0x7e,0x2f,0x72,0xb4,0xf4,0x00,0x00,0x00,0x10]
117          vcvtneps2bf16 xmm6 {k7}, ymmword ptr [esp + 8*esi + 268435456]
118
119// CHECK: vcvtneps2bf16 xmm6, dword ptr [ecx]{1to8}
120// CHECK: encoding: [0x62,0xf2,0x7e,0x38,0x72,0x31]
121          vcvtneps2bf16 xmm6, dword ptr [ecx]{1to8}
122
123// CHECK: vcvtneps2bf16 xmm6, ymmword ptr [ecx + 4064]
124// CHECK: encoding: [0x62,0xf2,0x7e,0x28,0x72,0x71,0x7f]
125          vcvtneps2bf16 xmm6, ymmword ptr [ecx + 4064]
126
127// CHECK: vcvtneps2bf16 xmm6 {k7} {z}, dword ptr [edx - 512]{1to8}
128// CHECK: encoding: [0x62,0xf2,0x7e,0xbf,0x72,0x72,0x80]
129          vcvtneps2bf16 xmm6 {k7} {z}, dword ptr [edx - 512]{1to8}
130
131// CHECK: vdpbf16ps ymm6, ymm5, ymm4
132// CHECK: encoding: [0x62,0xf2,0x56,0x28,0x52,0xf4]
133          vdpbf16ps ymm6, ymm5, ymm4
134
135// CHECK: vdpbf16ps ymm6 {k7}, ymm5, ymmword ptr [esp + 8*esi + 268435456]
136// CHECK: encoding: [0x62,0xf2,0x56,0x2f,0x52,0xb4,0xf4,0x00,0x00,0x00,0x10]
137          vdpbf16ps ymm6 {k7}, ymm5, ymmword ptr [esp + 8*esi + 268435456]
138
139// CHECK: vdpbf16ps ymm6, ymm5, dword ptr [ecx]{1to8}
140// CHECK: encoding: [0x62,0xf2,0x56,0x38,0x52,0x31]
141          vdpbf16ps ymm6, ymm5, dword ptr [ecx]{1to8}
142
143// CHECK: vdpbf16ps ymm6, ymm5, ymmword ptr [ecx + 4064]
144// CHECK: encoding: [0x62,0xf2,0x56,0x28,0x52,0x71,0x7f]
145          vdpbf16ps ymm6, ymm5, ymmword ptr [ecx + 4064]
146
147// CHECK: vdpbf16ps ymm6 {k7} {z}, ymm5, dword ptr [edx - 512]{1to8}
148// CHECK: encoding: [0x62,0xf2,0x56,0xbf,0x52,0x72,0x80]
149          vdpbf16ps ymm6 {k7} {z}, ymm5, dword ptr [edx - 512]{1to8}
150
151// CHECK: vdpbf16ps xmm6, xmm5, xmm4
152// CHECK: encoding: [0x62,0xf2,0x56,0x08,0x52,0xf4]
153          vdpbf16ps xmm6, xmm5, xmm4
154
155// CHECK: vdpbf16ps xmm6 {k7}, xmm5, xmmword ptr [esp + 8*esi + 268435456]
156// CHECK: encoding: [0x62,0xf2,0x56,0x0f,0x52,0xb4,0xf4,0x00,0x00,0x00,0x10]
157          vdpbf16ps xmm6 {k7}, xmm5, xmmword ptr [esp + 8*esi + 268435456]
158
159// CHECK: vdpbf16ps xmm6, xmm5, dword ptr [ecx]{1to4}
160// CHECK: encoding: [0x62,0xf2,0x56,0x18,0x52,0x31]
161          vdpbf16ps xmm6, xmm5, dword ptr [ecx]{1to4}
162
163// CHECK: vdpbf16ps xmm6, xmm5, xmmword ptr [ecx + 2032]
164// CHECK: encoding: [0x62,0xf2,0x56,0x08,0x52,0x71,0x7f]
165          vdpbf16ps xmm6, xmm5, xmmword ptr [ecx + 2032]
166
167// CHECK: vdpbf16ps xmm6 {k7} {z}, xmm5, dword ptr [edx - 512]{1to4}
168// CHECK: encoding: [0x62,0xf2,0x56,0x9f,0x52,0x72,0x80]
169          vdpbf16ps xmm6 {k7} {z}, xmm5, dword ptr [edx - 512]{1to4}
170
171