re PR middle-end/78416 (wrong code for division by (u128)~INT64_MAX at -O0)
authorJakub Jelinek <jakub@redhat.com>
Tue, 22 Nov 2016 10:14:21 +0000 (11:14 +0100)
committerJakub Jelinek <jakub@gcc.gnu.org>
Tue, 22 Nov 2016 10:14:21 +0000 (11:14 +0100)
commit76a7314dc936394490f2207c45ed76ab248b3da0
tree49f5edae95f070125d3ae2782f39364e76559f75
parent9b28cb6f0abed5a65534487ca27487675fa4dc18
re PR middle-end/78416 (wrong code for division by (u128)~INT64_MAX at -O0)

PR middle-end/78416
* expmed.c (expand_divmod): Use wide_int for computation of
op1_is_pow2.  Don't set it if op1 is 0.  Formatting fixes.
Use size <= HOST_BITS_PER_WIDE_INT instead of
HOST_BITS_PER_WIDE_INT >= size.

* gcc.dg/torture/pr78416.c: New test.

From-SVN: r242690
gcc/ChangeLog
gcc/expmed.c
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/torture/pr78416.c [new file with mode: 0644]