[all-commits] [llvm/llvm-project] 4b5a4d: [X86] Cleanup reduction cost table names. NFC.
Simon Pilgrim via All-commits
all-commits at lists.llvm.org
Wed Apr 12 07:33:33 PDT 2023
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 4b5a4d48145d32cf4939ac59c030cd2cac3fe64c
https://github.com/llvm/llvm-project/commit/4b5a4d48145d32cf4939ac59c030cd2cac3fe64c
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2023-04-12 (Wed, 12 Apr 2023)
Changed paths:
M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
Log Message:
-----------
[X86] Cleanup reduction cost table names. NFC.
We merged the costs for split/pairwise reductions sometime ago.
Commit: d5143827956a89f7fd05a44b42ed947db4a07e3b
https://github.com/llvm/llvm-project/commit/d5143827956a89f7fd05a44b42ed947db4a07e3b
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2023-04-12 (Wed, 12 Apr 2023)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/combine-ptest.ll
Log Message:
-----------
[X86] combinePTESTCC - attempt to use TESTPS/TESTPD instead of MOVMSKPS/MOVMSKPD for all-of cases with all-sign values.
We can probably be more aggressive with TESTPS/TESTPD (instead of relying on the SimplifyMultipleUseDemandedBits call) - I've updated an existing TODO to suggest this for now.
Part of Issue #60007
Commit: 63c3895327839ba5b57f5b99ec9e888abf976ac6
https://github.com/llvm/llvm-project/commit/63c3895327839ba5b57f5b99ec9e888abf976ac6
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2023-04-12 (Wed, 12 Apr 2023)
Changed paths:
M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
M llvm/lib/Target/X86/X86TargetTransformInfo.h
M llvm/test/Analysis/CostModel/X86/reduce-smax.ll
M llvm/test/Analysis/CostModel/X86/reduce-smin.ll
M llvm/test/Analysis/CostModel/X86/reduce-umax.ll
M llvm/test/Analysis/CostModel/X86/reduce-umin.ll
M llvm/test/Transforms/SLPVectorizer/X86/horizontal-minmax.ll
M llvm/test/Transforms/SLPVectorizer/X86/horizontal-smax.ll
Log Message:
-----------
[TTI][X86] getMinMaxCost - use existing integer min/max intrinsic cost values instead of maintaining a duplicate cost table
getMinMaxCost has an alternative set of min/max costs to getIntrinsicInstrCost that are only used by getMinMaxReductionCost, but are a lot less thorough and fallback to an expansion in most cases resulting in cost overestimations - we're better off just using getIntrinsicInstrCost.
getIntrinsicInstrCost is still missing complete FMINNUM/FMAXNUM costs, so until then getMinMaxCost will still be used for these, after that we can remove getMinMaxCost and have getMinMaxReductionCost call getIntrinsicInstrCost directly.
Fixes regression noticed in D148036
Compare: https://github.com/llvm/llvm-project/compare/6e78fd58cd06...63c389532783
More information about the All-commits
mailing list