[llvm] [AMDGPU] High VGPR emission tests. NFC. (PR #157534)

via llvm-commits llvm-commits at lists.llvm.org
Mon Sep 8 12:07:09 PDT 2025


llvmbot wrote:


<!--LLVM PR SUMMARY COMMENT-->

@llvm/pr-subscribers-backend-amdgpu

Author: Stanislav Mekhanoshin (rampitec)

<details>
<summary>Changes</summary>



---
Full diff: https://github.com/llvm/llvm-project/pull/157534.diff


1 Files Affected:

- (added) llvm/test/CodeGen/AMDGPU/emit-high-vgprs.mir (+41) 


``````````diff
diff --git a/llvm/test/CodeGen/AMDGPU/emit-high-vgprs.mir b/llvm/test/CodeGen/AMDGPU/emit-high-vgprs.mir
new file mode 100644
index 0000000000000..b17afa1df8513
--- /dev/null
+++ b/llvm/test/CodeGen/AMDGPU/emit-high-vgprs.mir
@@ -0,0 +1,41 @@
+# RUN: llc -mtriple=amdgcn -mcpu=gfx1250 -show-mc-encoding -start-before=amdgpu-resource-usage -o - %s | FileCheck -check-prefix=GCN %s
+
+# GCN-LABEL: {{^}}high_vgprs:
+---
+name:            high_vgprs
+tracksRegLiveness: true
+body:             |
+  bb.0:
+
+    ; GCN: v_mov_b32_e32 v0 /*v256*/, v255 /*v511*/           ; encoding: [0xff,0x03,0x00,0x7e]
+    $vgpr256 = V_MOV_B32_e32 undef $vgpr511, implicit $exec
+
+    ; GCN: v_mov_b32_e32 v0, v255      ; encoding: [0xff,0x03,0x00,0x7e]
+    $vgpr0 = V_MOV_B32_e32 undef $vgpr255, implicit $exec
+
+    ; GCN: v_fma_f32 v3 /*v259*/, v4 /*v260*/, v5 /*v261*/, v6 /*v262*/    ; encoding: [0x03,0x00,0x13,0xd6,0x04,0x0b,0x1a,0x04]
+    $vgpr259 = V_FMA_F32_e64 0, undef $vgpr260, 0, undef $vgpr261, 0, undef $vgpr262, 0, 0, implicit $exec, implicit $mode
+
+    ; GCN: v_fma_f32 v3, v4, v5, v6    ; encoding: [0x03,0x00,0x13,0xd6,0x04,0x0b,0x1a,0x04]
+    $vgpr3 = V_FMA_F32_e64 0, undef $vgpr4, 0, undef $vgpr5, 0, undef $vgpr6, 0, 0, implicit $exec, implicit $mode
+
+    ; GCN: v_mqsad_u32_u8 v[254:257], v[0:1] /*v[256:257]*/, v0 /*v256*/, v[244:247] /*v[500:503]*/   ; encoding: [0xfe,0x00,0x3d,0xd6,0x00,0x01,0xd2,0x07]
+    $vgpr254_vgpr255_vgpr256_vgpr257 = V_MQSAD_U32_U8_e64 $vgpr256_vgpr257, $vgpr256, undef $vgpr500_vgpr501_vgpr502_vgpr503, 0, implicit $exec
+
+    ; GCN: v_mqsad_u32_u8 v[254:257], v[0:1], v0, v[244:247]   ; encoding: [0xfe,0x00,0x3d,0xd6,0x00,0x01,0xd2,0x07]
+    $vgpr254_vgpr255_vgpr256_vgpr257 = V_MQSAD_U32_U8_e64 $vgpr0_vgpr1, $vgpr0, undef $vgpr244_vgpr245_vgpr246_vgpr247, 0, implicit $exec
+
+    ; GCN: v_mqsad_u32_u8 v[0:3] /*v[256:259]*/, v[0:1] /*v[256:257]*/, v0 /*v256*/, v[244:247] /*v[500:503]*/   ; encoding: [0x00,0x00,0x3d,0xd6,0x00,0x01,0xd2,0x07]
+    $vgpr256_vgpr257_vgpr258_vgpr259 = V_MQSAD_U32_U8_e64 $vgpr256_vgpr257, $vgpr256, undef $vgpr500_vgpr501_vgpr502_vgpr503, 0, implicit $exec
+
+    ; GCN: v_mqsad_u32_u8 v[0:3], v[0:1], v0, v[244:247]   ; encoding: [0x00,0x00,0x3d,0xd6,0x00,0x01,0xd2,0x07]
+    $vgpr0_vgpr1_vgpr2_vgpr3 = V_MQSAD_U32_U8_e64 $vgpr0_vgpr1, $vgpr0, undef $vgpr244_vgpr245_vgpr246_vgpr247, 0, implicit $exec
+
+    ; GCN: v_mul_f32_e64 v0 /*v256*/, -v1 /*v257*/, |v2 /*v258*/| ; encoding: [0x00,0x02,0x08,0xd5,0x01,0x05,0x02,0x20]
+    $vgpr256 = V_MUL_F32_e64 1, $vgpr257, 2, $vgpr258, 0, 0, implicit $exec, implicit $mode
+
+    ; GCN: v_mul_f32_e64 v0, -v1, |v2| ; encoding: [0x00,0x02,0x08,0xd5,0x01,0x05,0x02,0x20]
+    $vgpr0 = V_MUL_F32_e64 1, $vgpr1, 2, $vgpr2, 0, 0, implicit $exec, implicit $mode
+
+    ; GCN: NumVgprs: 512
+...

``````````

</details>


https://github.com/llvm/llvm-project/pull/157534


More information about the llvm-commits mailing list