rs6000.md (*call_indirect_nonlocal_sysv<mode>): Generate different code for -mno...
authorBill Schmidt <wschmidt@linux.vnet.ibm.com>
Thu, 18 Jan 2018 01:21:50 +0000 (01:21 +0000)
committerWilliam Schmidt <wschmidt@gcc.gnu.org>
Thu, 18 Jan 2018 01:21:50 +0000 (01:21 +0000)
commitfe1b6f0d414047a64c65af260016b552b50224d3
tree2d380c8b319db1411ee2963b84d02abcf620e4dc
parente91478f6c79ff476482774e4fe2b36ae2e52d695
rs6000.md (*call_indirect_nonlocal_sysv<mode>): Generate different code for -mno-speculate-indirect-jumps.

[gcc]

2018-01-17  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

* config/rs6000/rs6000.md (*call_indirect_nonlocal_sysv<mode>):
Generate different code for -mno-speculate-indirect-jumps.
(*call_value_indirect_nonlocal_sysv<mode>): Likewise.
(*call_indirect_aix<mode>): Disable for
-mno-speculate-indirect-jumps.
(*call_indirect_aix<mode>_nospec): New define_insn.
(*call_value_indirect_aix<mode>): Disable for
-mno-speculate-indirect-jumps.
(*call_value_indirect_aix<mode>_nospec): New define_insn.
(*sibcall_nonlocal_sysv<mode>): Generate different code for
-mno-speculate-indirect-jumps.
(*sibcall_value_nonlocal_sysv<mode>): Likewise.

[gcc/testsuite]

2018-01-17  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

* gcc.target/powerpc/safe-indirect-jump-1.c: Remove endian
restriction, but still restrict to 64-bit.
* gcc.target/powerpc/safe-indirect-jump-7.c: New file.
* gcc.target/powerpc/safe-indirect-jump-8.c: New file.

From-SVN: r256831
gcc/ChangeLog
gcc/config/rs6000/rs6000.md
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/powerpc/safe-indirect-jump-1.c
gcc/testsuite/gcc.target/powerpc/safe-indirect-jump-7.c [new file with mode: 0644]
gcc/testsuite/gcc.target/powerpc/safe-indirect-jump-8.c [new file with mode: 0644]