diff options
author | David Green <david.green@arm.com> | 2022-04-04 12:45:04 +0100 |
---|---|---|
committer | David Green <david.green@arm.com> | 2022-04-04 12:45:04 +0100 |
commit | 2abaa027d9dc247cbc8baa3aca1455fa9768c1c4 (patch) | |
tree | c11afe5ffd630a774a402806aecef39d7fecf34b /llvm/lib/CodeGen/CodeGen.cpp | |
parent | ec93435ba0036eecd10f557005d006edf24671ab (diff) | |
download | llvm-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