]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
aarch64.c (*aarch64_load_symref_appropriately): Check whether the destination of...
authorAndrew Pinski <apinski@cavium.com>
Fri, 27 Feb 2015 09:52:09 +0000 (09:52 +0000)
committerNaveen H.S <naveenh@gcc.gnu.org>
Fri, 27 Feb 2015 09:52:09 +0000 (09:52 +0000)
2015-02-27  Andrew Pinski  <apinski@cavium.com>
    Naveen H.S  <Naveen.Hurugalawadi@caviumnetworks.com>

* config/aarch64/aarch64.c (*aarch64_load_symref_appropriately):
Check whether the destination of SYMBOL_SMALL_TPREL is Pmode.

Co-Authored-By: Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com>
From-SVN: r221045

gcc/ChangeLog
gcc/config/aarch64/aarch64.c

index e181fa48bfdb70fab99afe14abf9ed7675015c4a..ee7f3c8f806185913ecaa5ef55d6f88680e5f0ca 100644 (file)
@@ -1,3 +1,9 @@
+2015-02-27  Andrew Pinski  <apinski@cavium.com>
+           Naveen H.S  <Naveen.Hurugalawadi@caviumnetworks.com>
+       * config/aarch64/aarch64.c (*aarch64_load_symref_appropriately):
+       Check whether the destination of SYMBOL_SMALL_TPREL is Pmode.
+
 2015-02-27  Richard Biener  <rguenther@suse.de>
 
        PR lto/65193
index 3adf54e5b8a870671878e692996506a3a6d3011f..408d8cb7797a935ec2a9b1474ba9d47808184efb 100644 (file)
@@ -659,6 +659,10 @@ aarch64_load_symref_appropriately (rtx dest, rtx imm,
     case SYMBOL_SMALL_TPREL:
       {
        rtx tp = aarch64_load_tp (NULL);
+
+       if (GET_MODE (dest) != Pmode)
+         tp = gen_lowpart (GET_MODE (dest), tp);
+
        emit_insn (gen_tlsle_small (dest, tp, imm));
        set_unique_reg_note (get_last_insn (), REG_EQUIV, imm);
        return;