@@ -704,80 +704,87 @@ define amdgpu_kernel void @align2_align4_virtreg() {
704704define amdgpu_kernel void @kernel_uses_write_register_a55 () {
705705; CHECK-LABEL: define amdgpu_kernel void @kernel_uses_write_register_a55(
706706; CHECK-SAME: ) #[[ATTR3:[0-9]+]] {
707- ; CHECK-NEXT: call void @llvm.write_register.i32(metadata !"a55" , i32 0)
707+ ; CHECK-NEXT: call void @llvm.write_register.i32(metadata [[META0:![0-9]+]] , i32 0)
708708; CHECK-NEXT: ret void
709709;
710- call void @llvm.write_register.i64 (metadata !"a55" , i32 0 )
710+ call void @llvm.write_register.i64 (metadata !0 , i32 0 )
711711 ret void
712712}
713713
714714define amdgpu_kernel void @kernel_uses_write_register_v55 () {
715715; CHECK-LABEL: define amdgpu_kernel void @kernel_uses_write_register_v55(
716716; CHECK-SAME: ) #[[ATTR4:[0-9]+]] {
717- ; CHECK-NEXT: call void @llvm.write_register.i32(metadata !"v55" , i32 0)
717+ ; CHECK-NEXT: call void @llvm.write_register.i32(metadata [[META1:![0-9]+]] , i32 0)
718718; CHECK-NEXT: ret void
719719;
720- call void @llvm.write_register.i64 (metadata !"v55" , i32 0 )
720+ call void @llvm.write_register.i64 (metadata !1 , i32 0 )
721721 ret void
722722}
723723
724724define amdgpu_kernel void @kernel_uses_write_register_a55_57 () {
725725; CHECK-LABEL: define amdgpu_kernel void @kernel_uses_write_register_a55_57(
726726; CHECK-SAME: ) #[[ATTR3]] {
727- ; CHECK-NEXT: call void @llvm.write_register.i96(metadata !"a[55:57]" , i96 0)
727+ ; CHECK-NEXT: call void @llvm.write_register.i96(metadata [[META2:![0-9]+]] , i96 0)
728728; CHECK-NEXT: ret void
729729;
730- call void @llvm.write_register.i64 (metadata !"a[55:57]" , i96 0 )
730+ call void @llvm.write_register.i64 (metadata !2 , i96 0 )
731731 ret void
732732}
733733
734734define amdgpu_kernel void @kernel_uses_read_register_a55 (ptr addrspace (1 ) %ptr ) {
735735; CHECK-LABEL: define amdgpu_kernel void @kernel_uses_read_register_a55(
736736; CHECK-SAME: ptr addrspace(1) [[PTR:%.*]]) #[[ATTR3]] {
737- ; CHECK-NEXT: [[REG:%.*]] = call i32 @llvm.read_register.i32(metadata !"a55" )
737+ ; CHECK-NEXT: [[REG:%.*]] = call i32 @llvm.read_register.i32(metadata [[META0]] )
738738; CHECK-NEXT: store i32 [[REG]], ptr addrspace(1) [[PTR]], align 4
739739; CHECK-NEXT: ret void
740740;
741- %reg = call i32 @llvm.read_register.i64 (metadata !"a55" )
741+ %reg = call i32 @llvm.read_register.i64 (metadata !0 )
742742 store i32 %reg , ptr addrspace (1 ) %ptr
743743 ret void
744744}
745745
746746define amdgpu_kernel void @kernel_uses_read_volatile_register_a55 (ptr addrspace (1 ) %ptr ) {
747747; CHECK-LABEL: define amdgpu_kernel void @kernel_uses_read_volatile_register_a55(
748748; CHECK-SAME: ptr addrspace(1) [[PTR:%.*]]) #[[ATTR3]] {
749- ; CHECK-NEXT: [[REG:%.*]] = call i32 @llvm.read_volatile_register.i32(metadata !"a55" )
749+ ; CHECK-NEXT: [[REG:%.*]] = call i32 @llvm.read_volatile_register.i32(metadata [[META0]] )
750750; CHECK-NEXT: store i32 [[REG]], ptr addrspace(1) [[PTR]], align 4
751751; CHECK-NEXT: ret void
752752;
753- %reg = call i32 @llvm.read_volatile_register.i64 (metadata !"a55" )
753+ %reg = call i32 @llvm.read_volatile_register.i64 (metadata !0 )
754754 store i32 %reg , ptr addrspace (1 ) %ptr
755755 ret void
756756}
757757
758758define amdgpu_kernel void @kernel_uses_read_register_a56_59 (ptr addrspace (1 ) %ptr ) {
759759; CHECK-LABEL: define amdgpu_kernel void @kernel_uses_read_register_a56_59(
760760; CHECK-SAME: ptr addrspace(1) [[PTR:%.*]]) #[[ATTR3]] {
761- ; CHECK-NEXT: [[REG:%.*]] = call i128 @llvm.read_register.i128(metadata !"a[56:59]" )
761+ ; CHECK-NEXT: [[REG:%.*]] = call i128 @llvm.read_register.i128(metadata [[META3:![0-9]+]] )
762762; CHECK-NEXT: store i128 [[REG]], ptr addrspace(1) [[PTR]], align 8
763763; CHECK-NEXT: ret void
764764;
765- %reg = call i128 @llvm.read_register.i64 (metadata !"a[56:59]" )
765+ %reg = call i128 @llvm.read_register.i64 (metadata !3 )
766766 store i128 %reg , ptr addrspace (1 ) %ptr
767767 ret void
768768}
769769
770770define amdgpu_kernel void @kernel_uses_write_register_out_of_bounds_a256 () {
771771; CHECK-LABEL: define amdgpu_kernel void @kernel_uses_write_register_out_of_bounds_a256(
772772; CHECK-SAME: ) #[[ATTR3]] {
773- ; CHECK-NEXT: call void @llvm.write_register.i32(metadata !"a256" , i32 0)
773+ ; CHECK-NEXT: call void @llvm.write_register.i32(metadata [[META4:![0-9]+]] , i32 0)
774774; CHECK-NEXT: ret void
775775;
776- call void @llvm.write_register.i64 (metadata !"a256" , i32 0 )
776+ call void @llvm.write_register.i64 (metadata !4 , i32 0 )
777777 ret void
778778}
779779
780780attributes #0 = { "amdgpu-agpr-alloc" ="0" }
781+
782+ !0 = !{!"a55" }
783+ !1 = !{!"v55" }
784+ !2 = !{!"a[55:57]" }
785+ !3 = !{!"a[56:59]" }
786+ !4 = !{!"a256" }
787+
781788;.
782789; CHECK: attributes #[[ATTR0]] = { "amdgpu-agpr-alloc"="0" "target-cpu"="gfx90a" "uniform-work-group-size"="false" }
783790; CHECK: attributes #[[ATTR1]] = { "target-cpu"="gfx90a" "uniform-work-group-size"="false" }
@@ -791,3 +798,9 @@ attributes #0 = { "amdgpu-agpr-alloc"="0" }
791798; CHECK: attributes #[[ATTR9:[0-9]+]] = { nocallback nounwind "target-cpu"="gfx90a" }
792799; CHECK: attributes #[[ATTR10]] = { "amdgpu-agpr-alloc"="0" }
793800;.
801+ ; CHECK: [[META0]] = !{!"a55"}
802+ ; CHECK: [[META1]] = !{!"v55"}
803+ ; CHECK: [[META2]] = !{!"a[55:57]"}
804+ ; CHECK: [[META3]] = !{!"a[56:59]"}
805+ ; CHECK: [[META4]] = !{!"a256"}
806+ ;.
0 commit comments