re PR target/83862 (powerpc: ICE in signbit testcase)
authorMichael Meissner <meissner@linux.vnet.ibm.com>
Mon, 22 Jan 2018 19:36:18 +0000 (19:36 +0000)
committerMichael Meissner <meissner@gcc.gnu.org>
Mon, 22 Jan 2018 19:36:18 +0000 (19:36 +0000)
commitde0ecff83d8639cfa0075fab7a5f9a42657dd94e
tree95c285569c28af1b5a5b74b11206c8095f905878
parentbc8b0d04284de4288cae4e4ab3bc2d6c36d36245
re PR target/83862 (powerpc: ICE in signbit testcase)

[gcc]
2018-01-22  Michael Meissner  <meissner@linux.vnet.ibm.com>

PR target/83862
* config/rs6000/rs6000-protos.h (rs6000_split_signbit): Delete,
no longer used.
* config/rs6000/rs6000.c (rs6000_split_signbit): Likewise.
* config/rs6000/rs6000.md (signbit<mode>2): Change code for IEEE
128-bit to produce an UNSPEC move to get the double word with the
signbit and then a shift directly to do signbit.
(signbit<mode>2_dm): Replace old IEEE 128-bit signbit
implementation with a new version that just does either a direct
move or a regular move.  Move memory interface to separate insns.
Move insns so they are next to the expander.
(signbit<mode>2_dm_mem_be): New combiner insns to combine load
with signbit move.  Split big and little endian case.
(signbit<mode>2_dm_mem_le): Likewise.
(signbit<mode>2_dm_<su>ext): Delete, no longer used.
(signbit<mode>2_dm2): Likewise.

[gcc/testsuite]
2018-01-22  Michael Meissner  <meissner@linux.vnet.ibm.com>

PR target/83862
* gcc.target/powerpc/pr83862.c: New test.

From-SVN: r256959
gcc/ChangeLog
gcc/config/rs6000/rs6000-protos.h
gcc/config/rs6000/rs6000.c
gcc/config/rs6000/rs6000.md
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/powerpc/pr83862.c [new file with mode: 0644]