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

Reply via email to