After some time of being neglected, this CL improves FP lowering for
ARM32.
1) It emits vpush {list}, and vpop {list} when possible.
2) It stops saving alised Vfp registers multiple times (yes, sz used to
save both D and S registers even when they aliased.)
3) Introduces Vmla (fp multiply and accumulate) and Vmls (multiply and
subtract.)
(1 + 2) minimally (but positively) affected SPEC.
(3) caused a 2% geomean improvement.
BUG= https://code.google.com/p/nativeclient/issues/detail?id=4076
R=stichnot@chromium.org
Review URL: https://codereview.chromium.org/1481133002 .
| Name |
Last commit
|
Last update |
|---|---|---|
| .. | ||
| add.ll | Loading commit data... | |
| and.ll | Loading commit data... | |
| asr.ll | Loading commit data... | |
| bic.ll | Loading commit data... | |
| blx.ll | Loading commit data... | |
| branch-mult-fwd.ll | Loading commit data... | |
| branch-simple.ll | Loading commit data... | |
| cmn.ll | Loading commit data... | |
| cmp.ll | Loading commit data... | |
| eor.ll | Loading commit data... | |
| global-load-store.ll | Loading commit data... | |
| int-extend.ll | Loading commit data... | |
| ldr-shift.ll | Loading commit data... | |
| ldr-str-more.ll | Loading commit data... | |
| load-store.ll | Loading commit data... | |
| lsl.ll | Loading commit data... | |
| lsr.ll | Loading commit data... | |
| mov-const.ll | Loading commit data... | |
| mov-imm.ll | Loading commit data... | |
| mul.ll | Loading commit data... | |
| mvn.ll | Loading commit data... | |
| orr.ll | Loading commit data... | |
| push-pop.ll | Loading commit data... | |
| ret.ll | Loading commit data... | |
| rsb.ll | Loading commit data... | |
| sandboxing.ll | Loading commit data... | |
| sdiv.ll | Loading commit data... | |
| store-sf.ll | Loading commit data... | |
| sub.ll | Loading commit data... | |
| udiv.ll | Loading commit data... | |
| uxtb.ll | Loading commit data... |