|
5 | 5 | ; RUN: llc -mtriple=amdgcn -mcpu=gfx1010 < %s | FileCheck --check-prefix=GFX10 %s
|
6 | 6 | ; RUN: llc -mtriple=amdgcn -mcpu=gfx1100 -amdgpu-enable-delay-alu=0 < %s | FileCheck --check-prefixes=GFX11 %s
|
7 | 7 |
|
8 |
| -; FIXME |
9 |
| -; define amdgpu_ps void @buffer_store_bf16(ptr addrspace(8) inreg %rsrc, bfloat %data, i32 %offset) { |
10 |
| -; call void @llvm.amdgcn.raw.ptr.buffer.store.bf16(bfloat %data, ptr addrspace(8) %rsrc, i32 %offset, i32 0, i32 0) |
11 |
| -; ret void |
12 |
| -; } |
| 8 | +define amdgpu_ps void @buffer_store_bf16(ptr addrspace(8) inreg %rsrc, bfloat %data, i32 %offset) { |
| 9 | +; GFX7-LABEL: buffer_store_bf16: |
| 10 | +; GFX7: ; %bb.0: |
| 11 | +; GFX7-NEXT: v_mul_f32_e32 v0, 1.0, v0 |
| 12 | +; GFX7-NEXT: v_lshrrev_b32_e32 v0, 16, v0 |
| 13 | +; GFX7-NEXT: buffer_store_short v0, v1, s[0:3], 0 offen |
| 14 | +; GFX7-NEXT: s_endpgm |
| 15 | +; |
| 16 | +; GFX8-LABEL: buffer_store_bf16: |
| 17 | +; GFX8: ; %bb.0: |
| 18 | +; GFX8-NEXT: buffer_store_short v0, v1, s[0:3], 0 offen |
| 19 | +; GFX8-NEXT: s_endpgm |
| 20 | +; |
| 21 | +; GFX9-LABEL: buffer_store_bf16: |
| 22 | +; GFX9: ; %bb.0: |
| 23 | +; GFX9-NEXT: buffer_store_short v0, v1, s[0:3], 0 offen |
| 24 | +; GFX9-NEXT: s_endpgm |
| 25 | +; |
| 26 | +; GFX10-LABEL: buffer_store_bf16: |
| 27 | +; GFX10: ; %bb.0: |
| 28 | +; GFX10-NEXT: buffer_store_short v0, v1, s[0:3], 0 offen |
| 29 | +; GFX10-NEXT: s_endpgm |
| 30 | +; |
| 31 | +; GFX11-LABEL: buffer_store_bf16: |
| 32 | +; GFX11: ; %bb.0: |
| 33 | +; GFX11-NEXT: buffer_store_b16 v0, v1, s[0:3], 0 offen |
| 34 | +; GFX11-NEXT: s_nop 0 |
| 35 | +; GFX11-NEXT: s_sendmsg sendmsg(MSG_DEALLOC_VGPRS) |
| 36 | +; GFX11-NEXT: s_endpgm |
| 37 | + call void @llvm.amdgcn.raw.ptr.buffer.store.bf16(bfloat %data, ptr addrspace(8) %rsrc, i32 %offset, i32 0, i32 0) |
| 38 | + ret void |
| 39 | +} |
13 | 40 |
|
14 | 41 | define amdgpu_ps void @buffer_store_v2bf16(ptr addrspace(8) inreg %rsrc, <2 x bfloat> %data, i32 %offset) {
|
15 | 42 | ; GFX7-LABEL: buffer_store_v2bf16:
|
|
0 commit comments