Add a number of folds to convert and(vcmp, vcmp) into a single VPT block, where the second vcmp becomes predicated on the first.
The VCMP; VPST; VCMP will then be converted to VPT; VCMP in the VPTBlockPass.
Paths
| Differential D65058
[ARM] Better AND's for MVE compares ClosedPublic Authored by dmgreen on Jul 21 2019, 10:10 AM.
Details Summary Add a number of folds to convert and(vcmp, vcmp) into a single VPT block, where the second vcmp becomes predicated on the first. The VCMP; VPST; VCMP will then be converted to VPT; VCMP in the VPTBlockPass.
Diff Detail
Event Timelinedmgreen added a parent revision: D65054: [ARM] MVE floating point compares and selects.Jul 21 2019, 10:11 AM This revision is now accepted and ready to land.Jul 22 2019, 12:50 AM Closed by commit rL366910: [ARM] Better AND's for MVE compares (authored by dmgreen). · Explain WhyJul 24 2019, 7:41 AM This revision was automatically updated to reflect the committed changes.
Revision Contents
Diff 211506 llvm/trunk/lib/Target/ARM/ARMInstrMVE.td
llvm/trunk/test/CodeGen/Thumb2/mve-pred-and.ll
|