aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/CodeGen/CodeGen.cpp
diff options
context:
space:
mode:
authorDavid Green <david.green@arm.com>2022-04-04 12:45:04 +0100
committerDavid Green <david.green@arm.com>2022-04-04 12:45:04 +0100
commit2abaa027d9dc247cbc8baa3aca1455fa9768c1c4 (patch)
treec11afe5ffd630a774a402806aecef39d7fecf34b /llvm/lib/CodeGen/CodeGen.cpp
parentec93435ba0036eecd10f557005d006edf24671ab (diff)
downloadllvm-2abaa027d9dc247cbc8baa3aca1455fa9768c1c4.zip
llvm-2abaa027d9dc247cbc8baa3aca1455fa9768c1c4.tar.gz
llvm-2abaa027d9dc247cbc8baa3aca1455fa9768c1c4.tar.bz2
[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
Diffstat (limited to 'llvm/lib/CodeGen/CodeGen.cpp')
0 files changed, 0 insertions, 0 deletions