diff options
Diffstat (limited to 'gcc/config/sh/sh.md')
-rw-r--r-- | gcc/config/sh/sh.md | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/gcc/config/sh/sh.md b/gcc/config/sh/sh.md index 6300054220a..b6e56aa5a5e 100644 --- a/gcc/config/sh/sh.md +++ b/gcc/config/sh/sh.md @@ -1143,7 +1143,7 @@ (set (match_dup 4) (match_dup 5))] " { - rtx set1, set2; + rtx set1, set2, insn2; rtx replacements[4]; /* We want to replace occurrences of operands[0] with operands[1] and @@ -1173,7 +1173,10 @@ extract_insn (emit_insn (set1)); if (! constrain_operands (1)) goto failure; - extract_insn (emit (set2)); + insn2 = emit (set2); + if (GET_CODE (insn2) == BARRIER) + goto failure; + extract_insn (insn2); if (! constrain_operands (1)) { rtx tmp; |