[InstCombine] Signed saturation patterns
[llvm-complete.git] / test / MC / X86 / intel-syntax-x86-64-avx512_bf16_vl.s
blobe8c531175e1d0af84a7df3e8e30b7b026e4915e1
1 // RUN: llvm-mc -triple x86_64-unknown-unknown -x86-asm-syntax=intel -output-asm-variant=1 --show-encoding %s | FileCheck %s
3 // CHECK: vcvtne2ps2bf16 xmm30, xmm29, xmm28
4 // CHECK: encoding: [0x62,0x02,0x17,0x00,0x72,0xf4]
5 vcvtne2ps2bf16 xmm30, xmm29, xmm28
7 // CHECK: vcvtne2ps2bf16 xmm30 {k7}, xmm29, xmm28
8 // CHECK: encoding: [0x62,0x02,0x17,0x07,0x72,0xf4]
9 vcvtne2ps2bf16 xmm30 {k7}, xmm29, xmm28
11 // CHECK: vcvtne2ps2bf16 xmm30 {k7} {z}, xmm29, xmm28
12 // CHECK: encoding: [0x62,0x02,0x17,0x87,0x72,0xf4]
13 vcvtne2ps2bf16 xmm30 {k7} {z}, xmm29, xmm28
15 // CHECK: vcvtne2ps2bf16 xmm30, xmm29, xmmword ptr [rcx]
16 // CHECK: encoding: [0x62,0x62,0x17,0x00,0x72,0x31]
17 vcvtne2ps2bf16 xmm30, xmm29, xmmword ptr [rcx]
19 // CHECK: vcvtne2ps2bf16 xmm30, xmm29, xmmword ptr [rax + 8*r14 + 291]
20 // CHECK: encoding: [0x62,0x22,0x17,0x00,0x72,0xb4,0xf0,0x23,0x01,0x00,0x00]
21 vcvtne2ps2bf16 xmm30, xmm29, xmmword ptr [rax + 8*r14 + 291]
23 // CHECK: vcvtne2ps2bf16 xmm30, xmm29, xmmword ptr [rax + 8*r14 + 268435456]
24 // CHECK: encoding: [0x62,0x22,0x17,0x00,0x72,0xb4,0xf0,0x00,0x00,0x00,0x10]
25 vcvtne2ps2bf16 xmm30, xmm29, xmmword ptr [rax + 8*r14 + 268435456]
27 // CHECK: vcvtne2ps2bf16 xmm30, xmm29, xmmword ptr [rsp - 4]
28 // CHECK: encoding: [0x62,0x62,0x17,0x00,0x72,0xb4,0x24,0xfc,0xff,0xff,0xff]
29 vcvtne2ps2bf16 xmm30, xmm29, xmmword ptr [rsp - 4]
31 // CHECK: vcvtne2ps2bf16 xmm30, xmm29, dword ptr [rcx]{1to4}
32 // CHECK: encoding: [0x62,0x62,0x17,0x10,0x72,0x31]
33 vcvtne2ps2bf16 xmm30, xmm29, dword ptr [rcx]{1to4}
35 // CHECK: vcvtne2ps2bf16 xmm30, xmm29, xmmword ptr [rdx + 2032]
36 // CHECK: encoding: [0x62,0x62,0x17,0x00,0x72,0x72,0x7f]
37 vcvtne2ps2bf16 xmm30, xmm29, xmmword ptr [rdx + 2032]
39 // CHECK: vcvtne2ps2bf16 xmm30, xmm29, xmmword ptr [rdx - 2048]
40 // CHECK: encoding: [0x62,0x62,0x17,0x00,0x72,0x72,0x80]
41 vcvtne2ps2bf16 xmm30, xmm29, xmmword ptr [rdx - 2048]
43 // CHECK: vcvtne2ps2bf16 xmm30, xmm29, dword ptr [rdx + 508]{1to4}
44 // CHECK: encoding: [0x62,0x62,0x17,0x10,0x72,0x72,0x7f]
45 vcvtne2ps2bf16 xmm30, xmm29, dword ptr [rdx + 508]{1to4}
47 // CHECK: vcvtne2ps2bf16 xmm30, xmm29, dword ptr [rdx - 512]{1to4}
48 // CHECK: encoding: [0x62,0x62,0x17,0x10,0x72,0x72,0x80]
49 vcvtne2ps2bf16 xmm30, xmm29, dword ptr [rdx - 512]{1to4}
51 // CHECK: vcvtne2ps2bf16 ymm30, ymm29, ymm28
52 // CHECK: encoding: [0x62,0x02,0x17,0x20,0x72,0xf4]
53 vcvtne2ps2bf16 ymm30, ymm29, ymm28
55 // CHECK: vcvtne2ps2bf16 ymm30 {k7}, ymm29, ymm28
56 // CHECK: encoding: [0x62,0x02,0x17,0x27,0x72,0xf4]
57 vcvtne2ps2bf16 ymm30 {k7}, ymm29, ymm28
59 // CHECK: vcvtne2ps2bf16 ymm30 {k7} {z}, ymm29, ymm28
60 // CHECK: encoding: [0x62,0x02,0x17,0xa7,0x72,0xf4]
61 vcvtne2ps2bf16 ymm30 {k7} {z}, ymm29, ymm28
63 // CHECK: vcvtne2ps2bf16 ymm30, ymm29, ymmword ptr [rcx]
64 // CHECK: encoding: [0x62,0x62,0x17,0x20,0x72,0x31]
65 vcvtne2ps2bf16 ymm30, ymm29, ymmword ptr [rcx]
67 // CHECK: vcvtne2ps2bf16 ymm30, ymm29, ymmword ptr [rax + 8*r14 + 291]
68 // CHECK: encoding: [0x62,0x22,0x17,0x20,0x72,0xb4,0xf0,0x23,0x01,0x00,0x00]
69 vcvtne2ps2bf16 ymm30, ymm29, ymmword ptr [rax + 8*r14 + 291]
71 // CHECK: vcvtne2ps2bf16 ymm30, ymm29, ymmword ptr [rax + 8*r14 + 268435456]
72 // CHECK: encoding: [0x62,0x22,0x17,0x20,0x72,0xb4,0xf0,0x00,0x00,0x00,0x10]
73 vcvtne2ps2bf16 ymm30, ymm29, ymmword ptr [rax + 8*r14 + 268435456]
75 // CHECK: vcvtne2ps2bf16 ymm30, ymm29, ymmword ptr [rsp - 4]
76 // CHECK: encoding: [0x62,0x62,0x17,0x20,0x72,0xb4,0x24,0xfc,0xff,0xff,0xff]
77 vcvtne2ps2bf16 ymm30, ymm29, ymmword ptr [rsp - 4]
79 // CHECK: vcvtne2ps2bf16 ymm30, ymm29, dword ptr [rcx]{1to8}
80 // CHECK: encoding: [0x62,0x62,0x17,0x30,0x72,0x31]
81 vcvtne2ps2bf16 ymm30, ymm29, dword ptr [rcx]{1to8}
83 // CHECK: vcvtne2ps2bf16 ymm30, ymm29, ymmword ptr [rdx + 4064]
84 // CHECK: encoding: [0x62,0x62,0x17,0x20,0x72,0x72,0x7f]
85 vcvtne2ps2bf16 ymm30, ymm29, ymmword ptr [rdx + 4064]
87 // CHECK: vcvtne2ps2bf16 ymm30, ymm29, ymmword ptr [rdx - 4096]
88 // CHECK: encoding: [0x62,0x62,0x17,0x20,0x72,0x72,0x80]
89 vcvtne2ps2bf16 ymm30, ymm29, ymmword ptr [rdx - 4096]
91 // CHECK: vcvtne2ps2bf16 ymm30, ymm29, dword ptr [rdx + 508]{1to8}
92 // CHECK: encoding: [0x62,0x62,0x17,0x30,0x72,0x72,0x7f]
93 vcvtne2ps2bf16 ymm30, ymm29, dword ptr [rdx + 508]{1to8}
95 // CHECK: vcvtne2ps2bf16 ymm30, ymm29, dword ptr [rdx - 512]{1to8}
96 // CHECK: encoding: [0x62,0x62,0x17,0x30,0x72,0x72,0x80]
97 vcvtne2ps2bf16 ymm30, ymm29, dword ptr [rdx - 512]{1to8}
99 // CHECK: vcvtneps2bf16 xmm30, xmm29
100 // CHECK: encoding: [0x62,0x02,0x7e,0x08,0x72,0xf5]
101 vcvtneps2bf16 xmm30, xmm29
103 // CHECK: vcvtneps2bf16 xmm30 {k7}, xmmword ptr [rbp + 8*r14 + 268435456]
104 // CHECK: encoding: [0x62,0x22,0x7e,0x0f,0x72,0xb4,0xf5,0x00,0x00,0x00,0x10]
105 vcvtneps2bf16 xmm30 {k7}, xmmword ptr [rbp + 8*r14 + 268435456]
107 // CHECK: vcvtneps2bf16 xmm30, dword ptr [r9]{1to4}
108 // CHECK: encoding: [0x62,0x42,0x7e,0x18,0x72,0x31]
109 vcvtneps2bf16 xmm30, dword ptr [r9]{1to4}
111 // CHECK: vcvtneps2bf16 xmm30, xmmword ptr [rcx + 2032]
112 // CHECK: encoding: [0x62,0x62,0x7e,0x08,0x72,0x71,0x7f]
113 vcvtneps2bf16 xmm30, xmmword ptr [rcx + 2032]
115 // CHECK: vcvtneps2bf16 xmm30 {k7} {z}, dword ptr [rdx - 512]{1to4}
116 // CHECK: encoding: [0x62,0x62,0x7e,0x9f,0x72,0x72,0x80]
117 vcvtneps2bf16 xmm30 {k7} {z}, dword ptr [rdx - 512]{1to4}
119 // CHECK: vcvtneps2bf16 xmm30, ymm29
120 // CHECK: encoding: [0x62,0x02,0x7e,0x28,0x72,0xf5]
121 vcvtneps2bf16 xmm30, ymm29
123 // CHECK: vcvtneps2bf16 xmm30 {k7}, ymmword ptr [rbp + 8*r14 + 268435456]
124 // CHECK: encoding: [0x62,0x22,0x7e,0x2f,0x72,0xb4,0xf5,0x00,0x00,0x00,0x10]
125 vcvtneps2bf16 xmm30 {k7}, ymmword ptr [rbp + 8*r14 + 268435456]
127 // CHECK: vcvtneps2bf16 xmm30, dword ptr [r9]{1to8}
128 // CHECK: encoding: [0x62,0x42,0x7e,0x38,0x72,0x31]
129 vcvtneps2bf16 xmm30, dword ptr [r9]{1to8}
131 // CHECK: vcvtneps2bf16 xmm30, ymmword ptr [rcx + 4064]
132 // CHECK: encoding: [0x62,0x62,0x7e,0x28,0x72,0x71,0x7f]
133 vcvtneps2bf16 xmm30, ymmword ptr [rcx + 4064]
135 // CHECK: vcvtneps2bf16 xmm30 {k7} {z}, dword ptr [rdx - 512]{1to8}
136 // CHECK: encoding: [0x62,0x62,0x7e,0xbf,0x72,0x72,0x80]
137 vcvtneps2bf16 xmm30 {k7} {z}, dword ptr [rdx - 512]{1to8}
139 // CHECK: vdpbf16ps ymm30, ymm29, ymm28
140 // CHECK: encoding: [0x62,0x02,0x16,0x20,0x52,0xf4]
141 vdpbf16ps ymm30, ymm29, ymm28
143 // CHECK: vdpbf16ps ymm30 {k7}, ymm29, ymmword ptr [rbp + 8*r14 + 268435456]
144 // CHECK: encoding: [0x62,0x22,0x16,0x27,0x52,0xb4,0xf5,0x00,0x00,0x00,0x10]
145 vdpbf16ps ymm30 {k7}, ymm29, ymmword ptr [rbp + 8*r14 + 268435456]
147 // CHECK: vdpbf16ps ymm30, ymm29, dword ptr [r9]{1to8}
148 // CHECK: encoding: [0x62,0x42,0x16,0x30,0x52,0x31]
149 vdpbf16ps ymm30, ymm29, dword ptr [r9]{1to8}
151 // CHECK: vdpbf16ps ymm30, ymm29, ymmword ptr [rcx + 4064]
152 // CHECK: encoding: [0x62,0x62,0x16,0x20,0x52,0x71,0x7f]
153 vdpbf16ps ymm30, ymm29, ymmword ptr [rcx + 4064]
155 // CHECK: vdpbf16ps ymm30 {k7} {z}, ymm29, dword ptr [rdx - 512]{1to8}
156 // CHECK: encoding: [0x62,0x62,0x16,0xb7,0x52,0x72,0x80]
157 vdpbf16ps ymm30 {k7} {z}, ymm29, dword ptr [rdx - 512]{1to8}
159 // CHECK: vdpbf16ps xmm30, xmm29, xmm28
160 // CHECK: encoding: [0x62,0x02,0x16,0x00,0x52,0xf4]
161 vdpbf16ps xmm30, xmm29, xmm28
163 // CHECK: vdpbf16ps xmm30 {k7}, xmm29, xmmword ptr [rbp + 8*r14 + 268435456]
164 // CHECK: encoding: [0x62,0x22,0x16,0x07,0x52,0xb4,0xf5,0x00,0x00,0x00,0x10]
165 vdpbf16ps xmm30 {k7}, xmm29, xmmword ptr [rbp + 8*r14 + 268435456]
167 // CHECK: vdpbf16ps xmm30, xmm29, dword ptr [r9]{1to4}
168 // CHECK: encoding: [0x62,0x42,0x16,0x10,0x52,0x31]
169 vdpbf16ps xmm30, xmm29, dword ptr [r9]{1to4}
171 // CHECK: vdpbf16ps xmm30, xmm29, xmmword ptr [rcx + 2032]
172 // CHECK: encoding: [0x62,0x62,0x16,0x00,0x52,0x71,0x7f]
173 vdpbf16ps xmm30, xmm29, xmmword ptr [rcx + 2032]
175 // CHECK: vdpbf16ps xmm30 {k7} {z}, xmm29, dword ptr [rdx - 512]{1to4}
176 // CHECK: encoding: [0x62,0x62,0x16,0x97,0x52,0x72,0x80]
177 vdpbf16ps xmm30 {k7} {z}, xmm29, dword ptr [rdx - 512]{1to4}