From 7ea5b9d97b7ea13ca759b1f7ca4f81a54d9d2698 Mon Sep 17 00:00:00 2001 From: pinskia Date: Wed, 28 May 2014 01:24:53 +0000 Subject: [PATCH] 2014-05-27 Andrew Pinski * config/aarch64/aarch64.md (stack_protect_set_): Use for the register in assembly template. (stack_protect_test): Use the mode of operands[0] for the result. (stack_protect_test_): Use for the register in assembly template. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@210996 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/ChangeLog | 9 +++++++++ gcc/config/aarch64/aarch64.md | 10 +++++----- 2 files changed, 14 insertions(+), 5 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index fd26409c0a8..b60ca2a4217 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,12 @@ +2014-05-27 Andrew Pinski + + * config/aarch64/aarch64.md (stack_protect_set_): + Use for the register in assembly template. + (stack_protect_test): Use the mode of operands[0] for the + result. + (stack_protect_test_): Use for the register + in assembly template. + 2014-05-27 DJ Delorie * config/rx/rx.c (add_vector_labels): New. diff --git a/gcc/config/aarch64/aarch64.md b/gcc/config/aarch64/aarch64.md index c3783149dd2..fec2ea89790 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%2, %1\;str\\t%2, %0\;mov\t%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%3, %x1\;ldr\t%0, %x2\;eor\t%0, %3, %0" [(set_attr "length" "12") (set_attr "type" "multiple")]) -- 2.11.4.GIT