[llvm] a417648 - [NFC][AMDGPU] Pre-commit FMA test.
Thomas Symalla via llvm-commits
llvm-commits at lists.llvm.org
Thu Sep 29 00:54:20 PDT 2022
Author: Thomas Symalla
Date: 2022-09-29T09:54:06+02:00
New Revision: a41764810f800a3018a1fd374e1de1a4199e1b38
URL: https://github.com/llvm/llvm-project/commit/a41764810f800a3018a1fd374e1de1a4199e1b38
DIFF: https://github.com/llvm/llvm-project/commit/a41764810f800a3018a1fd374e1de1a4199e1b38.diff
LOG: [NFC][AMDGPU] Pre-commit FMA test.
Added:
Modified:
llvm/test/CodeGen/AMDGPU/dagcombine-fma-fmad.ll
Removed:
################################################################################
diff --git a/llvm/test/CodeGen/AMDGPU/dagcombine-fma-fmad.ll b/llvm/test/CodeGen/AMDGPU/dagcombine-fma-fmad.ll
index cfa2fe3b70fc..677a7fff9457 100644
--- a/llvm/test/CodeGen/AMDGPU/dagcombine-fma-fmad.ll
+++ b/llvm/test/CodeGen/AMDGPU/dagcombine-fma-fmad.ll
@@ -237,6 +237,25 @@ define amdgpu_ps float @fmac_sequence_innermost_fmul_sgpr(float inreg %a, float
ret float %t5
}
+define amdgpu_ps float @fmac_sequence_innermost_fmul_multiple_use(float inreg %a, float inreg %b, float inreg %c, float inreg %d, float inreg %e, float inreg %f, float %g) #0 {
+; GCN-LABEL: fmac_sequence_innermost_fmul_multiple_use:
+; GCN: ; %bb.0:
+; GCN-NEXT: v_mac_f32_e64 v0, s2, s3
+; GCN-NEXT: v_fmac_f32_e64 v0, s0, s1
+; GCN-NEXT: v_fma_f32 v1, s5, s4, v0
+; GCN-NEXT: v_fmac_f32_e32 v0, s5, v1
+; GCN-NEXT: ; return to shader part epilog
+ %t0 = fmul fast float %a, %b
+ %t1 = fmul fast float %c, %d
+ %t2 = fadd fast float %t0, %t1
+ %t3 = fmul fast float %e, %f
+ %t4 = fadd fast float %t2, %t3
+ %t5 = fmul fast float %f, %t4
+ %t6 = fadd fast float %t5, %t2
+ %t7 = fadd fast float %t6, %g
+ ret float %t7
+}
+
; Function Attrs: nofree nosync nounwind readnone speculatable willreturn
declare float @llvm.maxnum.f32(float, float) #1
More information about the llvm-commits
mailing list