diff options
| author | Adhemerval Zanella <adhemerval.zanella@linaro.org> | 2018-05-09 12:48:22 +0000 |
|---|---|---|
| committer | Adhemerval Zanella <adhemerval.zanella@linaro.org> | 2018-05-09 12:48:22 +0000 |
| commit | f384bc716638d94406658be70c3ece82670905c9 (patch) | |
| tree | 2ef45aeb607ddb6d5caa08922d3bb6d48cf5c35c /llvm/lib/Support/ARMBuildAttrs.cpp | |
| parent | 3934dba059ef27a207150a0f5892ad9616aff61a (diff) | |
| download | bcm5719-llvm-f384bc716638d94406658be70c3ece82670905c9.tar.gz bcm5719-llvm-f384bc716638d94406658be70c3ece82670905c9.zip | |
[AArch64] Improve cost of vector division by constant
With custom lowering for vector MULLH{S,U}, it is now profitable to
vectorize a divide by constant loop for the custom types (v16i8, v8i16,
and v4i32). The cost if based on TargetLowering::Build{S,U}DIV which
uses a multiply by constant plus adjustment to express a divide by
constant.
Both {u,s}mull{2} are expressed as Instruction::Mul and shifts by
Instruction::AShr.
llvm-svn: 331873
Diffstat (limited to 'llvm/lib/Support/ARMBuildAttrs.cpp')
0 files changed, 0 insertions, 0 deletions

