aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Henderson <rth@redhat.com>2014-06-18 07:27:55 -0700
committerRichard Henderson <rth@gcc.gnu.org>2014-06-18 07:27:55 -0700
commit0bc117145a4dc08c79f20d41946abb1b24eda92a (patch)
treeebee79bb48870d234551849992171131d7bb4cce
parent7b5b78b16b55c498cb1b0279ea8d139a0266b497 (diff)
downloadgcc-0bc117145a4dc08c79f20d41946abb1b24eda92a.zip
gcc-0bc117145a4dc08c79f20d41946abb1b24eda92a.tar.gz
gcc-0bc117145a4dc08c79f20d41946abb1b24eda92a.tar.bz2
re PR target/61545 (Miscompilation in libcap-ng)
PR target/61545 * config/aarch64/aarch64.md (tlsdesc_small_<PTR>): Clobber CC_REGNUM. From-SVN: r211785
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/config/aarch64/aarch64.md1
2 files changed, 6 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 114240b..ce30a3e 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2014-06-18 Richard Henderson <rth@redhat.com>
+
+ PR target/61545
+ * config/aarch64/aarch64.md (tlsdesc_small_<PTR>): Clobber CC_REGNUM.
+
2014-06-18 Charles Baylis <charles.baylis@linaro.org>
* config/arm/arm.c (neon_vector_mem_operand): Allow register
diff --git a/gcc/config/aarch64/aarch64.md b/gcc/config/aarch64/aarch64.md
index a4d8887..1ee2cae 100644
--- a/gcc/config/aarch64/aarch64.md
+++ b/gcc/config/aarch64/aarch64.md
@@ -3855,6 +3855,7 @@
(unspec:PTR [(match_operand 0 "aarch64_valid_symref" "S")]
UNSPEC_TLSDESC))
(clobber (reg:DI LR_REGNUM))
+ (clobber (reg:CC CC_REGNUM))
(clobber (match_scratch:DI 1 "=r"))]
"TARGET_TLS_DESC"
"adrp\\tx0, %A0\;ldr\\t%<w>1, [x0, #%L0]\;add\\t<w>0, <w>0, %L0\;.tlsdesccall\\t%0\;blr\\t%1"