From: MITSUNARI Shigeo <[email protected]>
Changes since v7:
- [1/2] Fix a stage2 bootstrap failure reported by the Linaro tcwg CI:
seq_cost () returns unsigned, so comparing it against the int
classic_cost triggered -Werror=sign-compare. classic_cost is now
unsigned (Andrew Pinski's suggestion), which is cleaner than a cast.
- No other changes; [2/2] is unchanged.
MITSUNARI Shigeo (2):
expmed: Optimize 32-bit unsigned division by constants on 64-bit
targets
i386: Add BMI2 MULX pattern for highpart-only multiplication
gcc/config/i386/i386.md | 15 +++++
gcc/expmed.cc | 66 +++++++++++++++++++
.../gcc.target/i386/bmi2-mulx-highpart-1.c | 23 +++++++
gcc/testsuite/gcc.target/i386/mulq-highpart.c | 22 +++++++
4 files changed, 126 insertions(+)
create mode 100644 gcc/testsuite/gcc.target/i386/bmi2-mulx-highpart-1.c
create mode 100644 gcc/testsuite/gcc.target/i386/mulq-highpart.c
--
2.43.0