aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-loop-distribution.c
diff options
context:
space:
mode:
authorIlya Leoshkevich <iii@linux.ibm.com>2020-12-03 02:02:20 +0100
committerIlya Leoshkevich <iii@linux.ibm.com>2020-12-09 13:47:14 +0100
commit72217b5ddb2a15e2606f4b15b147dd59fe8e6216 (patch)
treeef19f44ec6f21787b29e7ae5d99f8b8884006394 /gcc/tree-loop-distribution.c
parentaa0432005f36f6ac51dc9dcecb717fe739d39b88 (diff)
downloadgcc-72217b5ddb2a15e2606f4b15b147dd59fe8e6216.zip
gcc-72217b5ddb2a15e2606f4b15b147dd59fe8e6216.tar.gz
gcc-72217b5ddb2a15e2606f4b15b147dd59fe8e6216.tar.bz2
IBM Z: Build autovec-*-signaling-eq.c tests with exceptions
According to https://gcc.gnu.org/pipermail/gcc/2020-November/234344.html, GCC is allowed to perform optimizations that remove floating point traps, since they do not affect the modeled control flow. This interferes with two signaling comparison tests, where (a <= b && a >= b) is turned into (a <= b && a == b) by test_for_singularity, into ((a <= b) & (a == b)) by vectorizer and then into (a == b) eliminate_redundant_comparison. Fix by making traps affect the control flow by turning them into exceptions. gcc/testsuite/ChangeLog: 2020-12-03 Ilya Leoshkevich <iii@linux.ibm.com> * gcc.target/s390/zvector/autovec-double-signaling-eq.c: Build with exceptions. * gcc.target/s390/zvector/autovec-float-signaling-eq.c: Likewise.
Diffstat (limited to 'gcc/tree-loop-distribution.c')
0 files changed, 0 insertions, 0 deletions