|
3 | 3 | ; RUN: llc -global-isel=1 -mtriple=amdgcn-amd-amdhsa -mcpu=fiji < %s | FileCheck -enable-var-scope -check-prefixes=GFX8,GFX8-GISEL %s |
4 | 4 | ; RUN: llc -global-isel=0 -mtriple=amdgcn-amd-amdhsa -mcpu=gfx900 < %s | FileCheck -enable-var-scope -check-prefixes=GFX9,GFX9-SDAG %s |
5 | 5 | ; RUN: llc -global-isel=1 -mtriple=amdgcn-amd-amdhsa -mcpu=gfx900 < %s | FileCheck -enable-var-scope -check-prefixes=GFX9,GFX9-GISEL %s |
6 | | -; RUN: llc -global-isel=0 -mtriple=amdgcn-amd-amdhsa -mcpu=gfx1100 -mattr=-real-true16 < %s | FileCheck -enable-var-scope -check-prefixes=GFX11,GFX11-FAKE,GFX11-FAKE16-SDAG %s |
7 | | -; RUN: llc -global-isel=1 -mtriple=amdgcn-amd-amdhsa -mcpu=gfx1100 -mattr=-real-true16 < %s | FileCheck -enable-var-scope -check-prefixes=GFX11,GFX11-FAKE,GFX11-FAKE16-GISEL %s |
8 | | -; RUN: llc -global-isel=0 -mtriple=amdgcn-amd-amdhsa -mcpu=gfx1100 -mattr=+real-true16 < %s | FileCheck -enable-var-scope -check-prefixes=GFX11,GFX11-TRUE,GFX11-TRUE16-SDAG %s |
9 | | -; RUN: llc -global-isel=1 -mtriple=amdgcn-amd-amdhsa -mcpu=gfx1100 -mattr=+real-true16 < %s | FileCheck -enable-var-scope -check-prefixes=GFX11,GFX11-TRUE,GFX11-TRUE16-GISEL %s |
| 6 | +; RUN: llc -global-isel=0 -mtriple=amdgcn-amd-amdhsa -mcpu=gfx1100 -mattr=-real-true16 < %s | FileCheck -enable-var-scope -check-prefixes=GFX11,GFX11-FAKE16,GFX11-FAKE16-SDAG %s |
| 7 | +; RUN: llc -global-isel=1 -mtriple=amdgcn-amd-amdhsa -mcpu=gfx1100 -mattr=-real-true16 < %s | FileCheck -enable-var-scope -check-prefixes=GFX11,GFX11-FAKE16,GFX11-FAKE16-GISEL %s |
| 8 | +; RUN: llc -global-isel=0 -mtriple=amdgcn-amd-amdhsa -mcpu=gfx1100 -mattr=+real-true16 < %s | FileCheck -enable-var-scope -check-prefixes=GFX11,GFX11-TRUE16,GFX11-TRUE16-SDAG %s |
| 9 | +; RUN: llc -global-isel=1 -mtriple=amdgcn-amd-amdhsa -mcpu=gfx1100 -mattr=+real-true16 < %s | FileCheck -enable-var-scope -check-prefixes=GFX11,GFX11-TRUE16,GFX11-TRUE16-GISEL %s |
10 | 10 |
|
11 | 11 | define void @undef_lo_v2i16(i16 %arg0) { |
12 | 12 | ; GFX8-SDAG-LABEL: undef_lo_v2i16: |
@@ -37,23 +37,23 @@ define void @undef_lo_v2i16(i16 %arg0) { |
37 | 37 | ; GFX9-NEXT: ;;#ASMEND |
38 | 38 | ; GFX9-NEXT: s_setpc_b64 s[30:31] |
39 | 39 | ; |
40 | | -; GFX11-FAKE-LABEL: undef_lo_v2i16: |
41 | | -; GFX11-FAKE: ; %bb.0: |
42 | | -; GFX11-FAKE-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0) |
43 | | -; GFX11-FAKE-NEXT: v_lshlrev_b32_e32 v0, 16, v0 |
44 | | -; GFX11-FAKE-NEXT: ;;#ASMSTART |
45 | | -; GFX11-FAKE-NEXT: ; use v0 |
46 | | -; GFX11-FAKE-NEXT: ;;#ASMEND |
47 | | -; GFX11-FAKE-NEXT: s_setpc_b64 s[30:31] |
48 | | -; |
49 | | -; GFX11-TRUE-LABEL: undef_lo_v2i16: |
50 | | -; GFX11-TRUE: ; %bb.0: |
51 | | -; GFX11-TRUE-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0) |
52 | | -; GFX11-TRUE-NEXT: v_mov_b16_e32 v0.h, v0.l |
53 | | -; GFX11-TRUE-NEXT: ;;#ASMSTART |
54 | | -; GFX11-TRUE-NEXT: ; use v0 |
55 | | -; GFX11-TRUE-NEXT: ;;#ASMEND |
56 | | -; GFX11-TRUE-NEXT: s_setpc_b64 s[30:31] |
| 40 | +; GFX11-FAKE16-LABEL: undef_lo_v2i16: |
| 41 | +; GFX11-FAKE16: ; %bb.0: |
| 42 | +; GFX11-FAKE16-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0) |
| 43 | +; GFX11-FAKE16-NEXT: v_lshlrev_b32_e32 v0, 16, v0 |
| 44 | +; GFX11-FAKE16-NEXT: ;;#ASMSTART |
| 45 | +; GFX11-FAKE16-NEXT: ; use v0 |
| 46 | +; GFX11-FAKE16-NEXT: ;;#ASMEND |
| 47 | +; GFX11-FAKE16-NEXT: s_setpc_b64 s[30:31] |
| 48 | +; |
| 49 | +; GFX11-TRUE16-LABEL: undef_lo_v2i16: |
| 50 | +; GFX11-TRUE16: ; %bb.0: |
| 51 | +; GFX11-TRUE16-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0) |
| 52 | +; GFX11-TRUE16-NEXT: v_mov_b16_e32 v0.h, v0.l |
| 53 | +; GFX11-TRUE16-NEXT: ;;#ASMSTART |
| 54 | +; GFX11-TRUE16-NEXT: ; use v0 |
| 55 | +; GFX11-TRUE16-NEXT: ;;#ASMEND |
| 56 | +; GFX11-TRUE16-NEXT: s_setpc_b64 s[30:31] |
57 | 57 | %undef.lo = insertelement <2 x i16> poison, i16 %arg0, i32 1 |
58 | 58 | call void asm sideeffect "; use $0", "v"(<2 x i16> %undef.lo); |
59 | 59 | ret void |
@@ -88,23 +88,23 @@ define void @undef_lo_v2f16(half %arg0) { |
88 | 88 | ; GFX9-NEXT: ;;#ASMEND |
89 | 89 | ; GFX9-NEXT: s_setpc_b64 s[30:31] |
90 | 90 | ; |
91 | | -; GFX11-FAKE-LABEL: undef_lo_v2f16: |
92 | | -; GFX11-FAKE: ; %bb.0: |
93 | | -; GFX11-FAKE-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0) |
94 | | -; GFX11-FAKE-NEXT: v_lshlrev_b32_e32 v0, 16, v0 |
95 | | -; GFX11-FAKE-NEXT: ;;#ASMSTART |
96 | | -; GFX11-FAKE-NEXT: ; use v0 |
97 | | -; GFX11-FAKE-NEXT: ;;#ASMEND |
98 | | -; GFX11-FAKE-NEXT: s_setpc_b64 s[30:31] |
99 | | -; |
100 | | -; GFX11-TRUE-LABEL: undef_lo_v2f16: |
101 | | -; GFX11-TRUE: ; %bb.0: |
102 | | -; GFX11-TRUE-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0) |
103 | | -; GFX11-TRUE-NEXT: v_mov_b16_e32 v0.h, v0.l |
104 | | -; GFX11-TRUE-NEXT: ;;#ASMSTART |
105 | | -; GFX11-TRUE-NEXT: ; use v0 |
106 | | -; GFX11-TRUE-NEXT: ;;#ASMEND |
107 | | -; GFX11-TRUE-NEXT: s_setpc_b64 s[30:31] |
| 91 | +; GFX11-FAKE16-LABEL: undef_lo_v2f16: |
| 92 | +; GFX11-FAKE16: ; %bb.0: |
| 93 | +; GFX11-FAKE16-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0) |
| 94 | +; GFX11-FAKE16-NEXT: v_lshlrev_b32_e32 v0, 16, v0 |
| 95 | +; GFX11-FAKE16-NEXT: ;;#ASMSTART |
| 96 | +; GFX11-FAKE16-NEXT: ; use v0 |
| 97 | +; GFX11-FAKE16-NEXT: ;;#ASMEND |
| 98 | +; GFX11-FAKE16-NEXT: s_setpc_b64 s[30:31] |
| 99 | +; |
| 100 | +; GFX11-TRUE16-LABEL: undef_lo_v2f16: |
| 101 | +; GFX11-TRUE16: ; %bb.0: |
| 102 | +; GFX11-TRUE16-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0) |
| 103 | +; GFX11-TRUE16-NEXT: v_mov_b16_e32 v0.h, v0.l |
| 104 | +; GFX11-TRUE16-NEXT: ;;#ASMSTART |
| 105 | +; GFX11-TRUE16-NEXT: ; use v0 |
| 106 | +; GFX11-TRUE16-NEXT: ;;#ASMEND |
| 107 | +; GFX11-TRUE16-NEXT: s_setpc_b64 s[30:31] |
108 | 108 | %undef.lo = insertelement <2 x half> poison, half %arg0, i32 1 |
109 | 109 | call void asm sideeffect "; use $0", "v"(<2 x half> %undef.lo); |
110 | 110 | ret void |
@@ -144,27 +144,27 @@ define void @undef_lo_op_v2f16(half %arg0) { |
144 | 144 | ; GFX9-NEXT: ;;#ASMEND |
145 | 145 | ; GFX9-NEXT: s_setpc_b64 s[30:31] |
146 | 146 | ; |
147 | | -; GFX11-FAKE-LABEL: undef_lo_op_v2f16: |
148 | | -; GFX11-FAKE: ; %bb.0: |
149 | | -; GFX11-FAKE-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0) |
150 | | -; GFX11-FAKE-NEXT: v_lshlrev_b32_e32 v0, 16, v0 |
151 | | -; GFX11-FAKE-NEXT: s_delay_alu instid0(VALU_DEP_1) |
152 | | -; GFX11-FAKE-NEXT: v_pk_add_f16 v0, v0, 1.0 op_sel_hi:[1,0] |
153 | | -; GFX11-FAKE-NEXT: ;;#ASMSTART |
154 | | -; GFX11-FAKE-NEXT: ; use v0 |
155 | | -; GFX11-FAKE-NEXT: ;;#ASMEND |
156 | | -; GFX11-FAKE-NEXT: s_setpc_b64 s[30:31] |
157 | | -; |
158 | | -; GFX11-TRUE-LABEL: undef_lo_op_v2f16: |
159 | | -; GFX11-TRUE: ; %bb.0: |
160 | | -; GFX11-TRUE-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0) |
161 | | -; GFX11-TRUE-NEXT: v_mov_b16_e32 v0.h, v0.l |
162 | | -; GFX11-TRUE-NEXT: s_delay_alu instid0(VALU_DEP_1) |
163 | | -; GFX11-TRUE-NEXT: v_pk_add_f16 v0, v0, 1.0 op_sel_hi:[1,0] |
164 | | -; GFX11-TRUE-NEXT: ;;#ASMSTART |
165 | | -; GFX11-TRUE-NEXT: ; use v0 |
166 | | -; GFX11-TRUE-NEXT: ;;#ASMEND |
167 | | -; GFX11-TRUE-NEXT: s_setpc_b64 s[30:31] |
| 147 | +; GFX11-FAKE16-LABEL: undef_lo_op_v2f16: |
| 148 | +; GFX11-FAKE16: ; %bb.0: |
| 149 | +; GFX11-FAKE16-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0) |
| 150 | +; GFX11-FAKE16-NEXT: v_lshlrev_b32_e32 v0, 16, v0 |
| 151 | +; GFX11-FAKE16-NEXT: s_delay_alu instid0(VALU_DEP_1) |
| 152 | +; GFX11-FAKE16-NEXT: v_pk_add_f16 v0, v0, 1.0 op_sel_hi:[1,0] |
| 153 | +; GFX11-FAKE16-NEXT: ;;#ASMSTART |
| 154 | +; GFX11-FAKE16-NEXT: ; use v0 |
| 155 | +; GFX11-FAKE16-NEXT: ;;#ASMEND |
| 156 | +; GFX11-FAKE16-NEXT: s_setpc_b64 s[30:31] |
| 157 | +; |
| 158 | +; GFX11-TRUE16-LABEL: undef_lo_op_v2f16: |
| 159 | +; GFX11-TRUE16: ; %bb.0: |
| 160 | +; GFX11-TRUE16-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0) |
| 161 | +; GFX11-TRUE16-NEXT: v_mov_b16_e32 v0.h, v0.l |
| 162 | +; GFX11-TRUE16-NEXT: s_delay_alu instid0(VALU_DEP_1) |
| 163 | +; GFX11-TRUE16-NEXT: v_pk_add_f16 v0, v0, 1.0 op_sel_hi:[1,0] |
| 164 | +; GFX11-TRUE16-NEXT: ;;#ASMSTART |
| 165 | +; GFX11-TRUE16-NEXT: ; use v0 |
| 166 | +; GFX11-TRUE16-NEXT: ;;#ASMEND |
| 167 | +; GFX11-TRUE16-NEXT: s_setpc_b64 s[30:31] |
168 | 168 | %undef.lo = insertelement <2 x half> poison, half %arg0, i32 1 |
169 | 169 | %op = fadd <2 x half> %undef.lo, <half 1.0, half 1.0> |
170 | 170 | call void asm sideeffect "; use $0", "v"(<2 x half> %op); |
@@ -295,23 +295,23 @@ define void @undef_lo3_v4i16(i16 %arg0) { |
295 | 295 | ; GFX9-NEXT: ;;#ASMEND |
296 | 296 | ; GFX9-NEXT: s_setpc_b64 s[30:31] |
297 | 297 | ; |
298 | | -; GFX11-FAKE-LABEL: undef_lo3_v4i16: |
299 | | -; GFX11-FAKE: ; %bb.0: |
300 | | -; GFX11-FAKE-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0) |
301 | | -; GFX11-FAKE-NEXT: v_lshlrev_b32_e32 v0, 16, v0 |
302 | | -; GFX11-FAKE-NEXT: ;;#ASMSTART |
303 | | -; GFX11-FAKE-NEXT: ; use v[0:1] |
304 | | -; GFX11-FAKE-NEXT: ;;#ASMEND |
305 | | -; GFX11-FAKE-NEXT: s_setpc_b64 s[30:31] |
306 | | -; |
307 | | -; GFX11-TRUE-LABEL: undef_lo3_v4i16: |
308 | | -; GFX11-TRUE: ; %bb.0: |
309 | | -; GFX11-TRUE-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0) |
310 | | -; GFX11-TRUE-NEXT: v_mov_b16_e32 v0.h, v0.l |
311 | | -; GFX11-TRUE-NEXT: ;;#ASMSTART |
312 | | -; GFX11-TRUE-NEXT: ; use v[0:1] |
313 | | -; GFX11-TRUE-NEXT: ;;#ASMEND |
314 | | -; GFX11-TRUE-NEXT: s_setpc_b64 s[30:31] |
| 298 | +; GFX11-FAKE16-LABEL: undef_lo3_v4i16: |
| 299 | +; GFX11-FAKE16: ; %bb.0: |
| 300 | +; GFX11-FAKE16-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0) |
| 301 | +; GFX11-FAKE16-NEXT: v_lshlrev_b32_e32 v0, 16, v0 |
| 302 | +; GFX11-FAKE16-NEXT: ;;#ASMSTART |
| 303 | +; GFX11-FAKE16-NEXT: ; use v[0:1] |
| 304 | +; GFX11-FAKE16-NEXT: ;;#ASMEND |
| 305 | +; GFX11-FAKE16-NEXT: s_setpc_b64 s[30:31] |
| 306 | +; |
| 307 | +; GFX11-TRUE16-LABEL: undef_lo3_v4i16: |
| 308 | +; GFX11-TRUE16: ; %bb.0: |
| 309 | +; GFX11-TRUE16-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0) |
| 310 | +; GFX11-TRUE16-NEXT: v_mov_b16_e32 v0.h, v0.l |
| 311 | +; GFX11-TRUE16-NEXT: ;;#ASMSTART |
| 312 | +; GFX11-TRUE16-NEXT: ; use v[0:1] |
| 313 | +; GFX11-TRUE16-NEXT: ;;#ASMEND |
| 314 | +; GFX11-TRUE16-NEXT: s_setpc_b64 s[30:31] |
315 | 315 | %undef.lo = insertelement <4 x i16> poison, i16 %arg0, i32 1 |
316 | 316 | call void asm sideeffect "; use $0", "v"(<4 x i16> %undef.lo); |
317 | 317 | ret void |
@@ -347,23 +347,23 @@ define void @undef_lo3_v4f16(half %arg0) { |
347 | 347 | ; GFX9-NEXT: ;;#ASMEND |
348 | 348 | ; GFX9-NEXT: s_setpc_b64 s[30:31] |
349 | 349 | ; |
350 | | -; GFX11-FAKE-LABEL: undef_lo3_v4f16: |
351 | | -; GFX11-FAKE: ; %bb.0: |
352 | | -; GFX11-FAKE-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0) |
353 | | -; GFX11-FAKE-NEXT: v_lshlrev_b32_e32 v0, 16, v0 |
354 | | -; GFX11-FAKE-NEXT: ;;#ASMSTART |
355 | | -; GFX11-FAKE-NEXT: ; use v[0:1] |
356 | | -; GFX11-FAKE-NEXT: ;;#ASMEND |
357 | | -; GFX11-FAKE-NEXT: s_setpc_b64 s[30:31] |
358 | | -; |
359 | | -; GFX11-TRUE-LABEL: undef_lo3_v4f16: |
360 | | -; GFX11-TRUE: ; %bb.0: |
361 | | -; GFX11-TRUE-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0) |
362 | | -; GFX11-TRUE-NEXT: v_mov_b16_e32 v0.h, v0.l |
363 | | -; GFX11-TRUE-NEXT: ;;#ASMSTART |
364 | | -; GFX11-TRUE-NEXT: ; use v[0:1] |
365 | | -; GFX11-TRUE-NEXT: ;;#ASMEND |
366 | | -; GFX11-TRUE-NEXT: s_setpc_b64 s[30:31] |
| 350 | +; GFX11-FAKE16-LABEL: undef_lo3_v4f16: |
| 351 | +; GFX11-FAKE16: ; %bb.0: |
| 352 | +; GFX11-FAKE16-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0) |
| 353 | +; GFX11-FAKE16-NEXT: v_lshlrev_b32_e32 v0, 16, v0 |
| 354 | +; GFX11-FAKE16-NEXT: ;;#ASMSTART |
| 355 | +; GFX11-FAKE16-NEXT: ; use v[0:1] |
| 356 | +; GFX11-FAKE16-NEXT: ;;#ASMEND |
| 357 | +; GFX11-FAKE16-NEXT: s_setpc_b64 s[30:31] |
| 358 | +; |
| 359 | +; GFX11-TRUE16-LABEL: undef_lo3_v4f16: |
| 360 | +; GFX11-TRUE16: ; %bb.0: |
| 361 | +; GFX11-TRUE16-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0) |
| 362 | +; GFX11-TRUE16-NEXT: v_mov_b16_e32 v0.h, v0.l |
| 363 | +; GFX11-TRUE16-NEXT: ;;#ASMSTART |
| 364 | +; GFX11-TRUE16-NEXT: ; use v[0:1] |
| 365 | +; GFX11-TRUE16-NEXT: ;;#ASMEND |
| 366 | +; GFX11-TRUE16-NEXT: s_setpc_b64 s[30:31] |
367 | 367 | %undef.lo = insertelement <4 x half> poison, half %arg0, i32 1 |
368 | 368 | call void asm sideeffect "; use $0", "v"(<4 x half> %undef.lo); |
369 | 369 | ret void |
@@ -401,14 +401,14 @@ define void @undef_lo2_v4i16(<2 x i16> %arg0) { |
401 | 401 | ; GFX9-NEXT: ;;#ASMEND |
402 | 402 | ; GFX9-NEXT: s_setpc_b64 s[30:31] |
403 | 403 | ; |
404 | | -; GFX11-FAKE-LABEL: undef_lo2_v4i16: |
405 | | -; GFX11-FAKE: ; %bb.0: |
406 | | -; GFX11-FAKE-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0) |
407 | | -; GFX11-FAKE-NEXT: v_perm_b32 v0, v0, v0, 0x7060302 |
408 | | -; GFX11-FAKE-NEXT: ;;#ASMSTART |
409 | | -; GFX11-FAKE-NEXT: ; use v[0:1] |
410 | | -; GFX11-FAKE-NEXT: ;;#ASMEND |
411 | | -; GFX11-FAKE-NEXT: s_setpc_b64 s[30:31] |
| 404 | +; GFX11-FAKE16-LABEL: undef_lo2_v4i16: |
| 405 | +; GFX11-FAKE16: ; %bb.0: |
| 406 | +; GFX11-FAKE16-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0) |
| 407 | +; GFX11-FAKE16-NEXT: v_perm_b32 v0, v0, v0, 0x7060302 |
| 408 | +; GFX11-FAKE16-NEXT: ;;#ASMSTART |
| 409 | +; GFX11-FAKE16-NEXT: ; use v[0:1] |
| 410 | +; GFX11-FAKE16-NEXT: ;;#ASMEND |
| 411 | +; GFX11-FAKE16-NEXT: s_setpc_b64 s[30:31] |
412 | 412 | ; |
413 | 413 | ; GFX11-TRUE16-SDAG-LABEL: undef_lo2_v4i16: |
414 | 414 | ; GFX11-TRUE16-SDAG: ; %bb.0: |
@@ -467,14 +467,14 @@ define void @undef_lo2_v4f16(<2 x half> %arg0) { |
467 | 467 | ; GFX9-NEXT: ;;#ASMEND |
468 | 468 | ; GFX9-NEXT: s_setpc_b64 s[30:31] |
469 | 469 | ; |
470 | | -; GFX11-FAKE-LABEL: undef_lo2_v4f16: |
471 | | -; GFX11-FAKE: ; %bb.0: |
472 | | -; GFX11-FAKE-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0) |
473 | | -; GFX11-FAKE-NEXT: v_perm_b32 v0, v0, v0, 0x7060302 |
474 | | -; GFX11-FAKE-NEXT: ;;#ASMSTART |
475 | | -; GFX11-FAKE-NEXT: ; use v[0:1] |
476 | | -; GFX11-FAKE-NEXT: ;;#ASMEND |
477 | | -; GFX11-FAKE-NEXT: s_setpc_b64 s[30:31] |
| 470 | +; GFX11-FAKE16-LABEL: undef_lo2_v4f16: |
| 471 | +; GFX11-FAKE16: ; %bb.0: |
| 472 | +; GFX11-FAKE16-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0) |
| 473 | +; GFX11-FAKE16-NEXT: v_perm_b32 v0, v0, v0, 0x7060302 |
| 474 | +; GFX11-FAKE16-NEXT: ;;#ASMSTART |
| 475 | +; GFX11-FAKE16-NEXT: ; use v[0:1] |
| 476 | +; GFX11-FAKE16-NEXT: ;;#ASMEND |
| 477 | +; GFX11-FAKE16-NEXT: s_setpc_b64 s[30:31] |
478 | 478 | ; |
479 | 479 | ; GFX11-TRUE16-SDAG-LABEL: undef_lo2_v4f16: |
480 | 480 | ; GFX11-TRUE16-SDAG: ; %bb.0: |
|
0 commit comments