This patch fixes an issue in aarch64_classify_address.
authorWilco Dijkstra <wdijkstr@arm.com>
Thu, 8 Dec 2016 19:18:33 +0000 (19:18 +0000)
committerWilco Dijkstra <wilco@gcc.gnu.org>
Thu, 8 Dec 2016 19:18:33 +0000 (19:18 +0000)
commit80d435794edaea1d7191b3ae93d988d31a2a6b20
treee2fecc79734bfc862c1cce548342eddf0fd76f1f
parent7bf65250f195566a57ab6338aef7aa4d13c035a2
This patch fixes an issue in aarch64_classify_address.

This patch fixes an issue in aarch64_classify_address.  TImode and TFmode
can either use a 64-bit LDP/STP or 128-bit LDR/STR.  The addressing mode
must be carefully modelled as the intersection of both.  This is done for
the immediate offsets, however load_store_pair_p must be set as well to
avoid LDP with a PC-relative address if aarch64_pcrelative_literal_loads
is true.

    gcc/
PR target/78733
* config/aarch64/aarch64.c (aarch64_classify_address):
Set load_store_pair_p for TImode and TFmode.

    testsuite/
* gcc.target/aarch64/pr78733.c: New test.

From-SVN: r243456
gcc/ChangeLog
gcc/config/aarch64/aarch64.c
gcc/testsuite/ChangeLog