PR middle-end/86627
commit0f04faa50e2e93abb2c3de6afcf24a3665754589
authorjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 24 Jul 2018 14:23:18 +0000 (24 14:23 +0000)
committerjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 24 Jul 2018 14:23:18 +0000 (24 14:23 +0000)
tree72d98ce93aebf63b039d8879a807402db7e0c088
parente2558ae2a7e3cc32daa725916610b0b9ce2fbd46
PR middle-end/86627
* expmed.c (expand_divmod): Punt if d == HOST_WIDE_INT_MIN
and size > HOST_BITS_PER_WIDE_INT.  For size > HOST_BITS_PER_WIDE_INT
and abs_d == d, do the power of two handling if profitable.

* gcc.target/i386/pr86627.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@262948 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/expmed.c
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/i386/pr86627.c [new file with mode: 0644]