[llvm] b85995f - [AMDGPU] Add tests for legacy multiply-add with immediate

Jay Foad via llvm-commits llvm-commits at lists.llvm.org
Mon Nov 1 07:25:43 PDT 2021


Author: Jay Foad
Date: 2021-11-01T14:24:13Z
New Revision: b85995f6c48eea2b7e63c60dbb0c29c88759d13e

URL: https://github.com/llvm/llvm-project/commit/b85995f6c48eea2b7e63c60dbb0c29c88759d13e
DIFF: https://github.com/llvm/llvm-project/commit/b85995f6c48eea2b7e63c60dbb0c29c88759d13e.diff

LOG: [AMDGPU] Add tests for legacy multiply-add with immediate

Added: 
    

Modified: 
    llvm/test/CodeGen/AMDGPU/llvm.amdgcn.fma.legacy.ll
    llvm/test/CodeGen/AMDGPU/llvm.amdgcn.fmul.legacy.ll

Removed: 
    


################################################################################
diff  --git a/llvm/test/CodeGen/AMDGPU/llvm.amdgcn.fma.legacy.ll b/llvm/test/CodeGen/AMDGPU/llvm.amdgcn.fma.legacy.ll
index 9c79d1408574..11035f1ddbf4 100644
--- a/llvm/test/CodeGen/AMDGPU/llvm.amdgcn.fma.legacy.ll
+++ b/llvm/test/CodeGen/AMDGPU/llvm.amdgcn.fma.legacy.ll
@@ -14,6 +14,18 @@ define float @v_fma(float %a, float %b, float %c)  {
   ret float %fma
 }
 
+define float @v_fma_imm(float %a, float %c)  {
+; GCN-LABEL: v_fma_imm:
+; GCN:       ; %bb.0:
+; GCN-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
+; GCN-NEXT:    s_waitcnt_vscnt null, 0x0
+; GCN-NEXT:    v_fmac_legacy_f32_e32 v1, 0x41200000, v0
+; GCN-NEXT:    v_mov_b32_e32 v0, v1
+; GCN-NEXT:    s_setpc_b64 s[30:31]
+  %fma = call float @llvm.amdgcn.fma.legacy(float %a, float 10.0, float %c)
+  ret float %fma
+}
+
 define float @v_fabs_fma(float %a, float %b, float %c)  {
 ; GCN-LABEL: v_fabs_fma:
 ; GCN:       ; %bb.0:

diff  --git a/llvm/test/CodeGen/AMDGPU/llvm.amdgcn.fmul.legacy.ll b/llvm/test/CodeGen/AMDGPU/llvm.amdgcn.fmul.legacy.ll
index 39bb819f04cd..7d30163d6ea6 100644
--- a/llvm/test/CodeGen/AMDGPU/llvm.amdgcn.fmul.legacy.ll
+++ b/llvm/test/CodeGen/AMDGPU/llvm.amdgcn.fmul.legacy.ll
@@ -64,6 +64,20 @@ define amdgpu_kernel void @test_mad_legacy_f32(float addrspace(1)* %out, float %
   ret void
 }
 
+; GCN-LABEL: {{^}}test_mad_legacy_f32_imm:
+; GFX6: v_mac_legacy_f32_e32 v{{[0-9]+}}, s{{[0-9]+}}, v{{[0-9]+}}
+; GFX8: v_mad_legacy_f32 v{{[0-9]+}}, s{{[0-9]+}}, v{{[0-9]+}}
+; GFX9: v_mad_legacy_f32 v{{[0-9]+}}, s{{[0-9]+}}, v{{[0-9]+}}
+; GFX101: v_mac_legacy_f32_e64 v{{[0-9]+}}, 0x41200000, s{{[0-9]+}}
+; GFX103: v_mul_legacy_f32_e64 v{{[0-9]+}}, 0x41200000, s{{[0-9]+}}
+; GFX103: v_add_f32_e32 v{{[0-9]+}}, s{{[0-9]+}}, v{{[0-9]+}}
+define amdgpu_kernel void @test_mad_legacy_f32_imm(float addrspace(1)* %out, float %a, float %c) #2 {
+  %mul = call float @llvm.amdgcn.fmul.legacy(float %a, float 10.0)
+  %add = fadd float %mul, %c
+  store float %add, float addrspace(1)* %out, align 4
+  ret void
+}
+
 ; GCN-LABEL: {{^}}test_mad_legacy_fneg_f32:
 ; MADMACF32: v_mad_legacy_f32 v{{[0-9]+}}, -s{{[0-9]+}}, -{{[sv][0-9]+}}, v{{[0-9]+}}
 ; NOMADMACF32: v_mul_legacy_f32_e64 v{{[0-9]+}}, -s{{[0-9]+}}, -s{{[0-9]+}}


        


More information about the llvm-commits mailing list