diff options
author | Andrew Pinski <apinski@cavium.com> | 2014-05-28 01:24:53 +0000 |
---|---|---|
committer | Andrew Pinski <pinskia@gcc.gnu.org> | 2014-05-27 18:24:53 -0700 |
commit | 9c6ab05f6a3f85c8d911e327677b83828daec840 (patch) | |
tree | 049a58ba7b4eefa1a0b553c3d2eafeae37de31b0 /gcc | |
parent | 69c7a374a106057e7c9f219e349178b709bbf370 (diff) | |
download | gcc-9c6ab05f6a3f85c8d911e327677b83828daec840.zip gcc-9c6ab05f6a3f85c8d911e327677b83828daec840.tar.gz gcc-9c6ab05f6a3f85c8d911e327677b83828daec840.tar.bz2 |
aarch64.md (stack_protect_set_<mode>): Use <w> for the register in assembly template.
2014-05-27 Andrew Pinski <apinski@cavium.com>
* config/aarch64/aarch64.md (stack_protect_set_<mode>):
Use <w> for the register in assembly template.
(stack_protect_test): Use the mode of operands[0] for the
result.
(stack_protect_test_<mode>): Use <w> for the register
in assembly template.
From-SVN: r210996
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 9 | ||||
-rw-r--r-- | gcc/config/aarch64/aarch64.md | 10 |
2 files changed, 14 insertions, 5 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index fd26409..b60ca2a 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,12 @@ +2014-05-27 Andrew Pinski <apinski@cavium.com> + + * config/aarch64/aarch64.md (stack_protect_set_<mode>): + Use <w> for the register in assembly template. + (stack_protect_test): Use the mode of operands[0] for the + result. + (stack_protect_test_<mode>): Use <w> for the register + in assembly template. + 2014-05-27 DJ Delorie <dj@redhat.com> * config/rx/rx.c (add_vector_labels): New. diff --git a/gcc/config/aarch64/aarch64.md b/gcc/config/aarch64/aarch64.md index c378314..fec2ea8 100644 --- a/gcc/config/aarch64/aarch64.md +++ b/gcc/config/aarch64/aarch64.md @@ -3859,7 +3859,7 @@ UNSPEC_SP_SET)) (set (match_scratch:PTR 2 "=&r") (const_int 0))] "" - "ldr\\t%x2, %1\;str\\t%x2, %0\;mov\t%x2,0" + "ldr\\t%<w>2, %1\;str\\t%<w>2, %0\;mov\t%<w>2,0" [(set_attr "length" "12") (set_attr "type" "multiple")]) @@ -3869,11 +3869,11 @@ (match_operand 2)] "" { - - rtx result = gen_reg_rtx (Pmode); - + rtx result; enum machine_mode mode = GET_MODE (operands[0]); + result = gen_reg_rtx(mode); + emit_insn ((mode == DImode ? gen_stack_protect_test_di : gen_stack_protect_test_si) (result, @@ -3896,7 +3896,7 @@ UNSPEC_SP_TEST)) (clobber (match_scratch:PTR 3 "=&r"))] "" - "ldr\t%x3, %x1\;ldr\t%x0, %x2\;eor\t%x0, %x3, %x0" + "ldr\t%<w>3, %x1\;ldr\t%<w>0, %x2\;eor\t%<w>0, %<w>3, %<w>0" [(set_attr "length" "12") (set_attr "type" "multiple")]) |