[all-commits] [llvm/llvm-project] 2abaa0: [AArch64] Teach the costmodel about widening muls
David Green via All-commits
all-commits at lists.llvm.org
Mon Apr 4 04:45:16 PDT 2022
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 2abaa027d9dc247cbc8baa3aca1455fa9768c1c4
https://github.com/llvm/llvm-project/commit/2abaa027d9dc247cbc8baa3aca1455fa9768c1c4
Author: David Green <david.green at arm.com>
Date: 2022-04-04 (Mon, 04 Apr 2022)
Changed paths:
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/AArch64/arith-widening.ll
Log Message:
-----------
[AArch64] Teach the costmodel about widening muls
A vector mul(sext, sext) or mul(zext, zext) will be code generated as a
single smull or umull instruction. This most notably effects v2i64
multiplies, which are otherwise not legal and need to be expanded.
The oneuse check has also been slightly changed, as it is already
checked from the use of isWideningInstruction in getCastInstrCost.
Differential Revision: https://reviews.llvm.org/D123006
More information about the All-commits
mailing list