Skip to content

Commit 5c3b75e

Browse files
committed
For gfx12.
1 parent a503c3c commit 5c3b75e

File tree

2 files changed

+17
-5
lines changed

2 files changed

+17
-5
lines changed

llvm/lib/Target/AMDGPU/MIMGInstructions.td

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -500,7 +500,7 @@ class VIMAGE_NoSampler_gfx12<mimgopc op, string opcode,
500500
string dns="">
501501
: VIMAGE_gfx12<op.GFX12, (outs DataRC:$vdata), num_addrs, dns> {
502502
let InOperandList = !con(AddrIns,
503-
(ins SReg_256_XNULL:$rsrc, DMask:$dmask, Dim:$dim,
503+
(ins SReg_RSRC:$rsrc, DMask:$dmask, Dim:$dim,
504504
CPol:$cpol, R128A16:$r128, A16:$a16, TFE:$tfe),
505505
!if(BaseOpcode.HasD16, (ins D16:$d16), (ins)));
506506
let AsmString = opcode#" $vdata, "#AddrAsm#", $rsrc$dmask$dim$cpol$r128$a16$tfe"
@@ -512,7 +512,7 @@ class VSAMPLE_Sampler_gfx12<mimgopc op, string opcode, RegisterClass DataRC,
512512
string dns="">
513513
: VSAMPLE_gfx12<op.GFX12, (outs DataRC:$vdata), num_addrs, dns, Addr3RC> {
514514
let InOperandList = !con(AddrIns,
515-
(ins SReg_256_XNULL:$rsrc),
515+
(ins SReg_RSRC:$rsrc),
516516
!if(BaseOpcode.Sampler, (ins SReg_128_XNULL:$samp), (ins)),
517517
(ins DMask:$dmask, Dim:$dim, UNorm:$unorm,
518518
CPol:$cpol, R128A16:$r128, A16:$a16, TFE:$tfe,
@@ -529,7 +529,7 @@ class VSAMPLE_Sampler_nortn_gfx12<mimgopc op, string opcode,
529529
string dns="">
530530
: VSAMPLE_gfx12<op.GFX12, (outs), num_addrs, dns, Addr3RC> {
531531
let InOperandList = !con(AddrIns,
532-
(ins SReg_256_XNULL:$rsrc),
532+
(ins SReg_RSRC:$rsrc),
533533
!if(BaseOpcode.Sampler, (ins SReg_128_XNULL:$samp), (ins)),
534534
(ins DMask:$dmask, Dim:$dim, UNorm:$unorm,
535535
CPol:$cpol, R128A16:$r128, A16:$a16, TFE:$tfe,
@@ -761,7 +761,7 @@ class VIMAGE_Store_gfx12<mimgopc op, string opcode,
761761
: VIMAGE_gfx12<op.GFX12, (outs), num_addrs, dns> {
762762
let InOperandList = !con((ins DataRC:$vdata),
763763
AddrIns,
764-
(ins SReg_256_XNULL:$rsrc, DMask:$dmask, Dim:$dim,
764+
(ins SReg_RSRC:$rsrc, DMask:$dmask, Dim:$dim,
765765
CPol:$cpol, R128A16:$r128, A16:$a16, TFE:$tfe),
766766
!if(BaseOpcode.HasD16, (ins D16:$d16), (ins)));
767767
let AsmString = opcode#" $vdata, "#AddrAsm#", $rsrc$dmask$dim$cpol$r128$a16$tfe"
@@ -980,7 +980,7 @@ class VIMAGE_Atomic_gfx12<mimgopc op, string opcode, RegisterClass DataRC,
980980

981981
let InOperandList = !con((ins DataRC:$vdata),
982982
AddrIns,
983-
(ins SReg_256_XNULL:$rsrc, DMask:$dmask, Dim:$dim,
983+
(ins SReg_RSRC:$rsrc, DMask:$dmask, Dim:$dim,
984984
CPol:$cpol, R128A16:$r128, A16:$a16, TFE:$tfe));
985985
let AsmString = !if(!empty(renamed), opcode, renamed)#" $vdata, "#AddrAsm#
986986
", $rsrc$dmask$dim$cpol$r128$a16$tfe";

llvm/test/MC/AMDGPU/gfx12_asm_vimage.s

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,9 @@
33
image_load v[0:3], v0, s[0:7] dmask:0xf dim:SQ_RSRC_IMG_1D
44
// GFX12: encoding: [0x00,0x00,0xc0,0xd3,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00]
55

6+
image_load v[0:3], v0, s[0:3] dmask:0xf dim:SQ_RSRC_IMG_1D r128
7+
// GFX12: encoding: [0x10,0x00,0xc0,0xd3,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00]
8+
69
image_load v[1:4], [v2, v3], s[4:11] dmask:0xf dim:SQ_RSRC_IMG_2D
710
// GFX12: encoding: [0x01,0x00,0xc0,0xd3,0x01,0x08,0x00,0x00,0x02,0x03,0x00,0x00]
811

@@ -287,6 +290,9 @@ image_load_mip_pck_sgn v5, [v0, v1], s[8:15] dmask:0x1 dim:SQ_RSRC_IMG_1D th:TH_
287290
image_store v[0:3], v0, s[0:7] dmask:0xf dim:SQ_RSRC_IMG_1D
288291
// GFX12: encoding: [0x00,0x80,0xc1,0xd3,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00]
289292

293+
image_store v[0:3], v0, s[0:3] dmask:0xf dim:SQ_RSRC_IMG_1D r128
294+
// GFX12: encoding: [0x10,0x80,0xc1,0xd3,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00]
295+
290296
image_store v[1:4], [v2, v3], s[4:11] dmask:0xf dim:SQ_RSRC_IMG_2D
291297
// GFX12: encoding: [0x01,0x80,0xc1,0xd3,0x01,0x08,0x00,0x00,0x02,0x03,0x00,0x00]
292298

@@ -495,6 +501,9 @@ image_store_mip_pck v5, [v0, v1], s[8:15] dmask:0x1 dim:SQ_RSRC_IMG_1D th:TH_STO
495501
image_atomic_swap v0, v0, s[0:7] dmask:0x1 dim:SQ_RSRC_IMG_1D
496502
// GFX12: encoding: [0x00,0x80,0x42,0xd0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00]
497503

504+
image_atomic_swap v0, v0, s[0:3] dmask:0x1 dim:SQ_RSRC_IMG_1D r128
505+
// GFX12: encoding: [0x10,0x80,0x42,0xd0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00]
506+
498507
image_atomic_swap v1, [v2, v3], s[4:11] dmask:0x1 dim:SQ_RSRC_IMG_2D
499508
// GFX12: encoding: [0x01,0x80,0x42,0xd0,0x01,0x08,0x00,0x00,0x02,0x03,0x00,0x00]
500509

@@ -1075,6 +1084,9 @@ image_bvh8_intersect_ray v[0:9], [v[0:1], v[11:12], v[3:5], v[6:8], v9], s[0:3]
10751084
image_get_resinfo v4, v32, s[96:103] dmask:0x1 dim:SQ_RSRC_IMG_1D
10761085
// GFX12: encoding: [0x00,0xc0,0x45,0xd0,0x04,0xc0,0x00,0x00,0x20,0x00,0x00,0x00]
10771086

1087+
image_get_resinfo v4, v32, s[96:99] dmask:0x1 dim:SQ_RSRC_IMG_1D r128
1088+
// GFX12: encoding: [0x10,0xc0,0x45,0xd0,0x04,0xc0,0x00,0x00,0x20,0x00,0x00,0x00]
1089+
10781090
image_get_resinfo v4, v32, s[96:103] dmask:0x2 dim:SQ_RSRC_IMG_2D
10791091
// GFX12: encoding: [0x01,0xc0,0x85,0xd0,0x04,0xc0,0x00,0x00,0x20,0x00,0x00,0x00]
10801092

0 commit comments

Comments
 (0)