aboutsummaryrefslogtreecommitdiff
path: root/gcc/emit-rtl.c
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2019-04-24 17:49:36 +0200
committerJakub Jelinek <jakub@gcc.gnu.org>2019-04-24 17:49:36 +0200
commit73f1289e49d2c1c6d23278dc7a1c70f80cd1e6b4 (patch)
tree533a4515fd04b33b51b59a7bb72a345adb016276 /gcc/emit-rtl.c
parentfb8b3e2993f4f1bb646369feab59b3bd80d1d0e1 (diff)
downloadgcc-73f1289e49d2c1c6d23278dc7a1c70f80cd1e6b4.zip
gcc-73f1289e49d2c1c6d23278dc7a1c70f80cd1e6b4.tar.gz
gcc-73f1289e49d2c1c6d23278dc7a1c70f80cd1e6b4.tar.bz2
re PR target/90193 (asm goto with TLS "m" input operand generates incorrect assembler in O1 and O2)
PR target/90193 * rtl.c (classify_insn): Return JUMP_INSN for asm goto. * emit-rtl.c (try_split): Copy over REG_LABEL_TARGET. * gcc.target/i386/pr90193.c: New test. From-SVN: r270550
Diffstat (limited to 'gcc/emit-rtl.c')
-rw-r--r--gcc/emit-rtl.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/gcc/emit-rtl.c b/gcc/emit-rtl.c
index 4b0aa7c..15dffa5 100644
--- a/gcc/emit-rtl.c
+++ b/gcc/emit-rtl.c
@@ -3940,6 +3940,7 @@ try_split (rtx pat, rtx_insn *trial, int last)
break;
case REG_NON_LOCAL_GOTO:
+ case REG_LABEL_TARGET:
for (insn = insn_last; insn != NULL_RTX; insn = PREV_INSN (insn))
{
if (JUMP_P (insn))