diff options
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/config/i386/i386.c | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c index 20f55b1..82c0f07 100644 --- a/gcc/config/i386/i386.c +++ b/gcc/config/i386/i386.c @@ -5924,7 +5924,17 @@ ix86_agi_dependant (insn, dep_insn, insn_type) rtx addr; if (insn_type == TYPE_LEA) - addr = SET_SRC (single_set (insn)); + { + addr = PATTERN (insn); + if (GET_CODE (addr) == SET) + ; + else if (GET_CODE (addr) == PARALLEL + && GET_CODE (XVECEXP (addr, 0, 0)) == SET) + addr = XVECEXP (addr, 0, 0); + else + abort (); + addr = SET_SRC (addr); + } else { int i; |