GNU Binutils with patches for OS216
修订版 | 048cdf861a99623019e47ad0681c076219771f88 (tree) |
---|---|
时间 | 2004-01-22 08:25:38 |
作者 | Thiemo Seufer <ths@netw...> |
Commiter | Thiemo Seufer |
@@ -1,3 +1,8 @@ | ||
1 | +2004-01-22 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de> | |
2 | + | |
3 | + * config/tc-mips.c (append_insn): Don't do r3900 interlock | |
4 | + optimization for -mtune=r3900, as this will break on other CPUs. | |
5 | + | |
1 | 6 | 2004-01-11 Tom Rix <tcrix@worldnet.att.net> |
2 | 7 | |
3 | 8 | * config/tc-m68hc11.c (build_indexed_byte): movb and movw cannot |
@@ -1708,7 +1708,7 @@ append_insn (char *place, struct mips_cl_insn *ip, expressionS *address_expr, | ||
1708 | 1708 | though the tx39's divide insns still do require the |
1709 | 1709 | delay. */ |
1710 | 1710 | if (! (hilo_interlocks |
1711 | - || (mips_tune == CPU_R3900 && (pinfo & INSN_MULT))) | |
1711 | + || (mips_opts.arch == CPU_R3900 && (pinfo & INSN_MULT))) | |
1712 | 1712 | && (mips_optimize == 0 |
1713 | 1713 | || (pinfo & INSN_WRITE_LO))) |
1714 | 1714 | nops += 2; |
@@ -1730,7 +1730,7 @@ append_insn (char *place, struct mips_cl_insn *ip, expressionS *address_expr, | ||
1730 | 1730 | insert a NOP. Some newer processors have interlocks. |
1731 | 1731 | Also the note tx39's multiply above. */ |
1732 | 1732 | if (! (hilo_interlocks |
1733 | - || (mips_tune == CPU_R3900 && (pinfo & INSN_MULT))) | |
1733 | + || (mips_opts.arch == CPU_R3900 && (pinfo & INSN_MULT))) | |
1734 | 1734 | && (mips_optimize == 0 |
1735 | 1735 | || (pinfo & INSN_WRITE_HI))) |
1736 | 1736 | nops += 2; |
@@ -1768,11 +1768,11 @@ append_insn (char *place, struct mips_cl_insn *ip, expressionS *address_expr, | ||
1768 | 1768 | || ((prev_prev_insn.insn_mo->pinfo & INSN_READ_LO) |
1769 | 1769 | && (pinfo & INSN_WRITE_LO) |
1770 | 1770 | && ! (hilo_interlocks |
1771 | - || (mips_tune == CPU_R3900 && (pinfo & INSN_MULT)))) | |
1771 | + || (mips_opts.arch == CPU_R3900 && (pinfo & INSN_MULT)))) | |
1772 | 1772 | || ((prev_prev_insn.insn_mo->pinfo & INSN_READ_HI) |
1773 | 1773 | && (pinfo & INSN_WRITE_HI) |
1774 | 1774 | && ! (hilo_interlocks |
1775 | - || (mips_tune == CPU_R3900 && (pinfo & INSN_MULT))))) | |
1775 | + || (mips_opts.arch == CPU_R3900 && (pinfo & INSN_MULT))))) | |
1776 | 1776 | prev_prev_nop = 1; |
1777 | 1777 | else |
1778 | 1778 | prev_prev_nop = 0; |
@@ -2297,7 +2297,7 @@ append_insn (char *place, struct mips_cl_insn *ip, expressionS *address_expr, | ||
2297 | 2297 | | INSN_WRITE_COND_CODE)) |
2298 | 2298 | && ! cop_interlocks) |
2299 | 2299 | || (! (hilo_interlocks |
2300 | - || (mips_tune == CPU_R3900 && (pinfo & INSN_MULT))) | |
2300 | + || (mips_opts.arch == CPU_R3900 && (pinfo & INSN_MULT))) | |
2301 | 2301 | && (prev_pinfo |
2302 | 2302 | & (INSN_READ_LO |
2303 | 2303 | | INSN_READ_HI))) |