From 92cb06e28485822298913508eb1f604c02292d26 Mon Sep 17 00:00:00 2001 From: yroux Date: Wed, 16 Jul 2014 16:31:56 +0000 Subject: [PATCH] 2014-07-16 Yvan Roux Backport from trunk r210996. 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://gcc.gnu.org/svn/gcc/branches/linaro/gcc-4_9-branch@212681 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/ChangeLog.linaro | 12 ++++++++++++ gcc/config/aarch64/aarch64.md | 10 +++++----- 2 files changed, 17 insertions(+), 5 deletions(-) diff --git a/gcc/ChangeLog.linaro b/gcc/ChangeLog.linaro index 60eda07..d5a04b2 100644 --- a/gcc/ChangeLog.linaro +++ b/gcc/ChangeLog.linaro @@ -1,5 +1,17 @@ 2014-07-16 Yvan Roux + Backport from trunk r210996. + 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-07-16 Yvan Roux + Backport from trunk r210967. 2014-05-27 Kyrylo Tkachov diff --git a/gcc/config/aarch64/aarch64.md b/gcc/config/aarch64/aarch64.md index c86dd5f..bbae247 100644 --- a/gcc/config/aarch64/aarch64.md +++ b/gcc/config/aarch64/aarch64.md @@ -3850,7 +3850,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")]) @@ -3860,11 +3860,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, @@ -3887,7 +3887,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.7.4