]> git.ipfire.org Git - people/ms/gcc.git/commit
Fix build_gt and build_lt for signed 1 bit values.
authorAndrew MacLeod <amacleod@redhat.com>
Wed, 30 Jun 2021 18:15:53 +0000 (14:15 -0400)
committerAndrew MacLeod <amacleod@redhat.com>
Wed, 14 Jul 2021 19:17:46 +0000 (15:17 -0400)
commitb977e6b29c67be81df882d1f5cc7eb6a5d8c98a0
tree4aecdd652cec96f46733822fd9a48c832a8501a8
parent85c22c517e9571d1f0f487fd708fbb01f36f172a
Fix build_gt and build_lt for signed 1 bit values.

Signed 1 bit values have a range of [-1, 0] but neither (0 - 1) nor (-1 + 1)
can be represented.  For signed values, add or subtract -1 as appropriate.

PR tree-optimization/101223
gcc/
* range-op.cc (build_lt): Add -1 for signed values.
(built_gt): Subtract -1 for signed values.

gcc/testsuite/
* gcc.dg/pr101223.c: New.

(cherry picked from commit 84f7bab89279ca1234fef88929c74caeda8cb55e)
gcc/range-op.cc
gcc/testsuite/gcc.dg/pr101223.c [new file with mode: 0644]