summaryrefslogtreecommitdiff
path: root/gcc/except.c
diff options
context:
space:
mode:
authorJan Hubicka <jh@suse.cz>2004-06-17 21:53:56 +0200
committerJan Hubicka <hubicka@gcc.gnu.org>2004-06-17 19:53:56 +0000
commit0620be185dfe68d566205c6f11268378b3675533 (patch)
tree053a8077cb2900083eebe10257e55238335d682e /gcc/except.c
parent2df6cea5dc471c577065eaacce5a75658861009f (diff)
downloadgcc-0620be185dfe68d566205c6f11268378b3675533.tar.gz
re PR target/15433 (ICE, cannot split insn)
PR target/15433 * i386.md (SSE SF cmov 0 splitter): The conditional is VOIDmode; fix operand numbering in the output template. (SSE DF cmov 0 splitter): The conditional is VOIDmode. From-SVN: r83305
Diffstat (limited to 'gcc/except.c')
-rw-r--r--gcc/except.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/gcc/except.c b/gcc/except.c
index 7815fbb6141..3e663dbff8a 100644
--- a/gcc/except.c
+++ b/gcc/except.c
@@ -3114,6 +3114,11 @@ can_throw_internal (rtx insn)
if (! INSN_P (insn))
return false;
+ if (GET_CODE (insn) == JUMP_INSN
+ && GET_CODE (PATTERN (insn)) == RESX
+ && XINT (PATTERN (insn), 0) > 0)
+ return can_throw_internal_1 (XINT (PATTERN (insn), 0));
+
if (GET_CODE (insn) == INSN
&& GET_CODE (PATTERN (insn)) == SEQUENCE)
insn = XVECEXP (PATTERN (insn), 0, 0);