diff options
author | Li Jia He <helijia@linux.ibm.com> | 2019-09-16 14:22:16 +0000 |
---|---|---|
committer | Martin Liska <marxin@gcc.gnu.org> | 2019-09-16 14:22:16 +0000 |
commit | c16504f6eabad7e173e4fbcfacf52820fffcb9ec (patch) | |
tree | 4239b17f23fa988f4b8813323346e97f44b8feca /gcc/go | |
parent | 5f487a349de62613d7fa429bcbfbeeafbfc94f3a (diff) | |
download | gcc-c16504f6eabad7e173e4fbcfacf52820fffcb9ec.zip gcc-c16504f6eabad7e173e4fbcfacf52820fffcb9ec.tar.gz gcc-c16504f6eabad7e173e4fbcfacf52820fffcb9ec.tar.bz2 |
Fix PR88784, middle end is missing some optimizations about unsigned
2019-09-16 Li Jia He <helijia@linux.ibm.com>
Qi Feng <ffengqi@linux.ibm.com>
PR middle-end/88784
* match.pd (x > y && x != XXX_MIN): Optimize into 'x > y'.
(x > y && x == XXX_MIN): Optimize into 'false'.
(x <= y && x == XXX_MIN): Optimize into 'x == XXX_MIN'.
(x < y && x != XXX_MAX): Optimize into 'x < y'.
(x < y && x == XXX_MAX): Optimize into 'false'.
(x >= y && x == XXX_MAX): Optimize into 'x == XXX_MAX'.
(x > y || x != XXX_MIN): Optimize into 'x != XXX_MIN'.
(x <= y || x != XXX_MIN): Optimize into 'true'.
(x <= y || x == XXX_MIN): Optimize into 'x <= y'.
(x < y || x != XXX_MAX): Optimize into 'x != XXX_MAX'.
(x >= y || x != XXX_MAX): Optimize into 'true'.
(x >= y || x == XXX_MAX): Optimize into 'x >= y'.
2019-09-16 Li Jia He <helijia@linux.ibm.com>
Qi Feng <ffengqi@linux.ibm.com>
PR middle-end/88784
* gcc.dg/pr88784-1.c: New testcase.
* gcc.dg/pr88784-2.c: New testcase.
* gcc.dg/pr88784-3.c: New testcase.
* gcc.dg/pr88784-4.c: New testcase.
* gcc.dg/pr88784-5.c: New testcase.
* gcc.dg/pr88784-6.c: New testcase.
* gcc.dg/pr88784-7.c: New testcase.
* gcc.dg/pr88784-8.c: New testcase.
* gcc.dg/pr88784-9.c: New testcase.
* gcc.dg/pr88784-10.c: New testcase.
* gcc.dg/pr88784-11.c: New testcase.
* gcc.dg/pr88784-12.c: New testcase.
Co-Authored-By: Qi Feng <ffengqi@linux.ibm.com>
From-SVN: r275749
Diffstat (limited to 'gcc/go')
0 files changed, 0 insertions, 0 deletions