[llvm] f2e787e - [InstCombine] Add some tests with reduced flag sets, NFC
via llvm-commits
llvm-commits at lists.llvm.org
Mon May 20 23:34:37 PDT 2024
Author: zhongyunde 00443407
Date: 2024-05-21T14:33:39+08:00
New Revision: f2e787e7030126f5f55bb4e90cc83827f25e1219
URL: https://github.com/llvm/llvm-project/commit/f2e787e7030126f5f55bb4e90cc83827f25e1219
DIFF: https://github.com/llvm/llvm-project/commit/f2e787e7030126f5f55bb4e90cc83827f25e1219.diff
LOG: [InstCombine] Add some tests with reduced flag sets, NFC
We remove the combine for fmuladd with fast flag on PR90434,
and add these tests with reduced flags to show they have identity
results.
Added:
Modified:
llvm/test/Transforms/InstCombine/fma.ll
Removed:
################################################################################
diff --git a/llvm/test/Transforms/InstCombine/fma.ll b/llvm/test/Transforms/InstCombine/fma.ll
index cf58cebb6978a..b88250d434280 100644
--- a/llvm/test/Transforms/InstCombine/fma.ll
+++ b/llvm/test/Transforms/InstCombine/fma.ll
@@ -203,6 +203,24 @@ define float @fmuladd_fneg_x_fneg_y_fast(float %x, float %y, float %z) {
ret float %fmuladd
}
+define float @fmuladd_unfold(float %x, float %y, float %z) {
+; CHECK-LABEL: @fmuladd_unfold(
+; CHECK-NEXT: [[FMULADD:%.*]] = call reassoc contract float @llvm.fmuladd.f32(float [[X:%.*]], float [[Y:%.*]], float [[Z:%.*]])
+; CHECK-NEXT: ret float [[FMULADD]]
+;
+ %fmuladd = call reassoc contract float @llvm.fmuladd.f32(float %x, float %y, float %z)
+ ret float %fmuladd
+}
+
+define <8 x half> @fmuladd_unfold_vec(<8 x half> %x, <8 x half> %y, <8 x half> %z) {
+; CHECK-LABEL: @fmuladd_unfold_vec(
+; CHECK-NEXT: [[FMULADD:%.*]] = call reassoc contract <8 x half> @llvm.fmuladd.v8f16(<8 x half> [[X:%.*]], <8 x half> [[Y:%.*]], <8 x half> [[Z:%.*]])
+; CHECK-NEXT: ret <8 x half> [[FMULADD]]
+;
+ %fmuladd = call reassoc contract <8 x half> @llvm.fmuladd.v8f16(<8 x half> %x, <8 x half> %y, <8 x half> %z)
+ ret <8 x half> %fmuladd
+}
+
define float @fmuladd_unary_fneg_x_unary_fneg_y_fast(float %x, float %y, float %z) {
; CHECK-LABEL: @fmuladd_unary_fneg_x_unary_fneg_y_fast(
; CHECK-NEXT: [[FMULADD:%.*]] = call fast float @llvm.fmuladd.f32(float [[X:%.*]], float [[Y:%.*]], float [[Z:%.*]])
More information about the llvm-commits
mailing list