File tree Expand file tree Collapse file tree 1 file changed +13
-0
lines changed Expand file tree Collapse file tree 1 file changed +13
-0
lines changed Original file line number Diff line number Diff line change 1
1
; RUN: llc -march=amdgcn -verify-machineinstrs < %s | FileCheck -check-prefixes=GCN,SI %s
2
2
; RUN: llc -march=amdgcn -mcpu=tonga -verify-machineinstrs < %s | FileCheck -check-prefixes=GCN,VI %s
3
+ ; RUN: llc -march=amdgcn -mcpu=gfx1100 < %s | FileCheck -check-prefix=GFX11 %s
3
4
4
5
; Test that materialization constants that are the bit reversed of
5
6
; inline immediates are replaced with bfrev of the inline immediate to
@@ -278,3 +279,15 @@ define void @materialize_not_neg_inv2pi_i32(ptr addrspace(1) %out) {
278
279
store i32 1105004156 , ptr addrspace (1 ) %out
279
280
ret void
280
281
}
282
+
283
+ ; One constant is reversible, the other is not. We shouldn't break
284
+ ; vopd packing for this.
285
+ ; GFX11-LABEL: {{^}}vopd_materialize:
286
+ ; FIXME-GFX11: v_dual_mov_b32 v0, 0x102 :: v_dual_mov_b32 v1, 1.0
287
+ ; GFX11: v_bfrev_b32_e32 v0, 4.0
288
+ ; GFX11: v_mov_b32_e32 v1, 1.0
289
+ define <2 x i32 > @vopd_materialize () {
290
+ %insert0 = insertelement <2 x i32 > poison, i32 258 , i32 0
291
+ %insert1 = insertelement <2 x i32 > %insert0 , i32 1065353216 , i32 1
292
+ ret <2 x i32 > %insert1
293
+ }
You can’t perform that action at this time.
0 commit comments