|
7 | 7 | ; GFX90A-DAG: v_mfma_i32_4x4x4i8 a[{{[0-9:]+}}], v{{[0-9]+}}, v{{[0-9]+}}, a[{{[0-9:]+}}] ; encoding: [{{0x..,0x8.,}}
|
8 | 8 | define amdgpu_kernel void @test(<4 x i32> %x) {
|
9 | 9 | %id = tail call i32 @llvm.amdgcn.workitem.id.x()
|
10 |
| - %r1 = tail call <4 x float> @llvm.amdgcn.buffer.load.format.v4f32(<4 x i32> %x, i32 %id, i32 0, i1 zeroext false, i1 zeroext false) |
| 10 | + %r1 = tail call <4 x float> @llvm.amdgcn.struct.buffer.load.format.v4f32(<4 x i32> %x, i32 %id, i32 0, i32 0, i32 0) |
11 | 11 | store volatile <4 x float> %r1, <4 x float>* undef
|
12 |
| - %r2 = tail call <4 x half> @llvm.amdgcn.buffer.load.format.v4f16(<4 x i32> %x, i32 %id, i32 0, i1 zeroext false, i1 zeroext false) |
| 12 | + %r2 = tail call <4 x half> @llvm.amdgcn.struct.buffer.load.format.v4f16(<4 x i32> %x, i32 %id, i32 0, i32 0, i32 0) |
13 | 13 | store volatile <4 x half> %r2, <4 x half>* undef
|
14 | 14 | %r3 = tail call <4 x i32> @llvm.amdgcn.mfma.i32.4x4x4i8(i32 1, i32 2, <4 x i32> %x, i32 0, i32 0, i32 0)
|
15 | 15 | store <4 x i32> %r3, <4 x i32>* undef
|
16 | 16 | ret void
|
17 | 17 | }
|
18 | 18 |
|
19 |
| -declare i32 @llvm.amdgcn.workitem.id.x() |
20 |
| -declare <4 x float> @llvm.amdgcn.buffer.load.format.v4f32(<4 x i32>, i32, i32, i1 immarg, i1 immarg) |
21 |
| -declare <4 x half> @llvm.amdgcn.buffer.load.format.v4f16(<4 x i32>, i32, i32, i1 immarg, i1 immarg) |
22 |
| -declare <4 x i32> @llvm.amdgcn.mfma.i32.4x4x4i8(i32, i32, <4 x i32>, i32, i32, i32) |
| 19 | +declare i32 @llvm.amdgcn.workitem.id.x() #0 |
| 20 | +declare <4 x float> @llvm.amdgcn.struct.buffer.load.format.v4f32(<4 x i32>, i32, i32, i32, i32 immarg) #1 |
| 21 | +declare <4 x half> @llvm.amdgcn.struct.buffer.load.format.v4f16(<4 x i32>, i32, i32, i32, i32 immarg) #1 |
| 22 | +declare <4 x i32> @llvm.amdgcn.mfma.i32.4x4x4i8(i32, i32, <4 x i32>, i32 immarg, i32 immarg, i32 immarg) #2 |
| 23 | + |
| 24 | +attributes #0 = { nounwind readnone speculatable willreturn } |
| 25 | +attributes #1 = { nounwind readonly willreturn } |
| 26 | +attributes #2 = { convergent nounwind readnone willreturn } |
0 commit comments