[gcc]
commit037ec06de2a6d2a61e171f0347a7eb2713edc2a3
authormeissner <meissner@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 17 Oct 2013 17:07:49 +0000 (17 17:07 +0000)
committermeissner <meissner@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 17 Oct 2013 17:07:49 +0000 (17 17:07 +0000)
tree9e5753c3859ffaefddc96be9c5e9cfa319dbc025
parent8fb6f3749f249a79b7a533baee8519904ba395d4
[gcc]
2013-10-17  Michael Meissner  <meissner@linux.vnet.ibm.com>

PR target/58673
* config/rs6000/rs6000.c (rs6000_legitimate_address_p): Only
restrict TImode addresses to single indirect registers if both
-mquad-memory and -mvsx-timode are used.
(rs6000_output_move_128bit): Use quad_load_store_p to determine if
we should emit load/store quad.  Remove using %y for quad memory
addresses.

* config/rs6000/rs6000.md (mov<mode>_ppc64, TI/PTImode): Add
constraints to allow load/store quad on machines where TImode is
not allowed in VSX registers.  Use 'n' instead of 'F' constraint
for TImode to load integer constants.

[gcc/testsuite]
2013-10-17  Michael Meissner  <meissner@linux.vnet.ibm.com>

PR target/58673
* gcc.target/powerpc/pr58673-1.c: New file to test whether
-mquad-word + -mno-vsx-timode causes errors.
* gcc.target/powerpc/pr58673-2.c: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@203782 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/testsuite/ChangeLog