From: David Green Date: Thu, 20 Jul 2023 09:34:05 +0000 (+0100) Subject: [LV][AArch64] Fix reductions costs in strict-fadd-cost.ll. NFC X-Git-Tag: upstream/17.0.6~1011 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=2e0bf67df1437cb0156d7f5dd9e1b701749f96ca;p=platform%2Fupstream%2Fllvm.git [LV][AArch64] Fix reductions costs in strict-fadd-cost.ll. NFC These tests were originally added in 0aff1798b5721d5f95d16f465b99d, where they were measuring the cost of fadd and fmuladd reductions, which should be fairly high cost. For some reason, due to the forced vector factors, the debug costs of each instruction are printed twice by the vectorizer. Once as if the instruction is a simple fadd/fmuladd, and later with the correct reduction cost. In d827865e9f778f5b27edb2afe003c2a the costs were updated to match the first print statements, where they would be better to match the second to test the cost of the reduction. This patch returns them to testing the original reduction costs. --- diff --git a/llvm/test/Transforms/LoopVectorize/AArch64/strict-fadd-cost.ll b/llvm/test/Transforms/LoopVectorize/AArch64/strict-fadd-cost.ll index 32803f2..39313c1 100644 --- a/llvm/test/Transforms/LoopVectorize/AArch64/strict-fadd-cost.ll +++ b/llvm/test/Transforms/LoopVectorize/AArch64/strict-fadd-cost.ll @@ -6,8 +6,8 @@ target triple="aarch64-unknown-linux-gnu" -; CHECK-VF4: Found an estimated cost of 1 for VF 4 For instruction: %add = fadd float %0, %sum.07 -; CHECK-VF8: Found an estimated cost of 2 for VF 8 For instruction: %add = fadd float %0, %sum.07 +; CHECK-VF4: Found an estimated cost of 17 for VF 4 For instruction: %add = fadd float %0, %sum.07 +; CHECK-VF8: Found an estimated cost of 34 for VF 8 For instruction: %add = fadd float %0, %sum.07 define float @fadd_strict32(ptr noalias nocapture readonly %a, i64 %n) { entry: @@ -28,8 +28,8 @@ for.end: } -; CHECK-VF4: Found an estimated cost of 2 for VF 4 For instruction: %add = fadd double %0, %sum.07 -; CHECK-VF8: Found an estimated cost of 4 for VF 8 For instruction: %add = fadd double %0, %sum.07 +; CHECK-VF4: Found an estimated cost of 14 for VF 4 For instruction: %add = fadd double %0, %sum.07 +; CHECK-VF8: Found an estimated cost of 28 for VF 8 For instruction: %add = fadd double %0, %sum.07 define double @fadd_strict64(ptr noalias nocapture readonly %a, i64 %n) { entry: @@ -49,7 +49,7 @@ for.end: ret double %add } -; CHECK-VF4: Found an estimated cost of 1 for VF 4 For instruction: %muladd = tail call float @llvm.fmuladd.f32(float %0, float %1, float %sum.07) +; CHECK-VF4: Found an estimated cost of 19 for VF 4 For instruction: %muladd = tail call float @llvm.fmuladd.f32(float %0, float %1, float %sum.07) ; CHECK-VF8: Found an estimated cost of 38 for VF 8 For instruction: %muladd = tail call float @llvm.fmuladd.f32(float %0, float %1, float %sum.07) define float @fmuladd_strict32(ptr %a, ptr %b, i64 %n) { @@ -74,8 +74,8 @@ for.end: declare float @llvm.fmuladd.f32(float, float, float) -; CHECK-VF4: Found an estimated cost of 4 for VF 4 For instruction: %muladd = tail call double @llvm.fmuladd.f64(double %0, double %1, double %sum.07) -; CHECK-VF8: Found an estimated cost of 8 for VF 8 For instruction: %muladd = tail call double @llvm.fmuladd.f64(double %0, double %1, double %sum.07) +; CHECK-VF4: Found an estimated cost of 18 for VF 4 For instruction: %muladd = tail call double @llvm.fmuladd.f64(double %0, double %1, double %sum.07) +; CHECK-VF8: Found an estimated cost of 36 for VF 8 For instruction: %muladd = tail call double @llvm.fmuladd.f64(double %0, double %1, double %sum.07) define double @fmuladd_strict64(ptr %a, ptr %b, i64 %n) { entry: