Am 17.09.2014 um 15:14 schrieb Matthias Klose: > Am 17.09.2014 um 00:03 schrieb James Greenhalgh: >> If you have any other suggestions, or if "=&r" is actually correct and >> I am misreading the documentation please let me know. > > with this patch I see a lot of ICEs in the testsuite for test cases built with > -O3 (and a build defaulting to -fstack-protector-strong by default), all of > the > form:
I tested with the wrong patch. No regression, and fixing the original issue with the attached patch. Tested with the trunk and the Linaro 4.9 branch, Matthias
--- gcc/config/aarch64/aarch64.md +++ gcc/config/aarch64/aarch64.md @@ -4031,7 +4031,7 @@ (unspec:PTR [(match_operand:PTR 1 "memory_operand" "m") (match_operand:PTR 2 "memory_operand" "m")] UNSPEC_SP_TEST)) - (clobber (match_scratch:PTR 3 "&r"))] + (clobber (match_scratch:PTR 3 "=&r"))] "" "ldr\t%<w>3, %x1\;ldr\t%<w>0, %x2\;eor\t%<w>0, %<w>3, %<w>0" [(set_attr "length" "12")