diff options
author | Wilco Dijkstra <wdijkstr@arm.com> | 2019-08-13 10:46:44 +0000 |
---|---|---|
committer | Wilco Dijkstra <wilco@gcc.gnu.org> | 2019-08-13 10:46:44 +0000 |
commit | fb802d91461a2d65e9618abb6298c6ca7d39e7d7 (patch) | |
tree | bce0a294e66323ab75c094eaba864653b9fb6ffa /gcc/dwarf2cfi.c | |
parent | 4aeb1ba7f62c1d680c819ae3e137c3bad6f520ca (diff) | |
download | gcc-fb802d91461a2d65e9618abb6298c6ca7d39e7d7.zip gcc-fb802d91461a2d65e9618abb6298c6ca7d39e7d7.tar.gz gcc-fb802d91461a2d65e9618abb6298c6ca7d39e7d7.tar.bz2 |
[AArch64] Fix PR81800
PR81800 is about the lrint inline giving spurious FE_INEXACT exceptions.
The previous change for PR81800 didn't fix this: when lrint is disabled
in the backend, the midend will simply use llrint. This actually makes
things worse since llrint now also ignores FE_INVALID exceptions!
The fix is to disable lrint/llrint on double if the size of a long is
smaller (ie. ilp32).
gcc/
PR target/81800
* gcc/config/aarch64/aarch64.md (lrint): Disable lrint pattern if GPF
operand is larger than a long int.
testsuite/
PR target/81800
* gcc.target/aarch64/no-inline-lrint_3.c: New test.
From-SVN: r274376
Diffstat (limited to 'gcc/dwarf2cfi.c')
0 files changed, 0 insertions, 0 deletions