re PR rtl-optimization/67218 (Combine incorrectly folds (double) (float) (unsigned))
authorRichard Sandiford <richard.sandiford@arm.com>
Tue, 18 Aug 2015 19:04:41 +0000 (19:04 +0000)
committerRichard Sandiford <rsandifo@gcc.gnu.org>
Tue, 18 Aug 2015 19:04:41 +0000 (19:04 +0000)
commita1c045caab2c1b31ce7b8e9c28ccd9f8106c4e58
treef459282bbf47a1c01f68bd41fd20bb0ca6c6e953
parentf641b2d6bbe4702f1374d12c773d1f2027040524
re PR rtl-optimization/67218 (Combine incorrectly folds (double) (float) (unsigned))

gcc/
PR rtl-optimization/67218
* simplify-rtx.c (exact_int_to_float_conversion_p): New function.
(simplify_unary_operation_1): Use it.

gcc/testsuite/
PR rtl-optimization/67218
* gcc.c-torture/execute/ieee/pr67218.c,
gcc.target/aarch64/fcvt_int_float_double1.c,
gcc.target/aarch64/fcvt_int_float_double2.c,
gcc.target/aarch64/fcvt_int_float_double3.c,
gcc.target/aarch64/fcvt_int_float_double4.c,
gcc.target/aarch64/fcvt_uint_float_double1.c,
gcc.target/aarch64/fcvt_uint_float_double2.c,
gcc.target/aarch64/fcvt_uint_float_double3.c,
gcc.target/aarch64/fcvt_uint_float_double4.c: New tests.

From-SVN: r226987
12 files changed:
gcc/ChangeLog
gcc/simplify-rtx.c
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.c-torture/execute/ieee/pr67218.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/fcvt_int_float_double1.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/fcvt_int_float_double2.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/fcvt_int_float_double3.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/fcvt_int_float_double4.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/fcvt_uint_float_double1.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/fcvt_uint_float_double2.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/fcvt_uint_float_double3.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/fcvt_uint_float_double4.c [new file with mode: 0644]