mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-06-23 03:29:47 +08:00
gas/
PR gas/12915 * config/tc-mips.c (append_insn): Only consider hazards between the pre-noreorder block and ip. gas/testsuite/ * gas/mips/pr12915.s, gas/mips/pr12915.d: New test. * gas/mips/mips.exp: Run it.
This commit is contained in:
@ -1,3 +1,9 @@
|
|||||||
|
2011-06-23 Richard Sandiford <rdsandiford@googlemail.com>
|
||||||
|
|
||||||
|
PR gas/12915
|
||||||
|
* config/tc-mips.c (append_insn): Only consider hazards between the
|
||||||
|
pre-noreorder block and ip.
|
||||||
|
|
||||||
2011-06-21 Sameera Deshpande <sameera.deshpande@arm.com>
|
2011-06-21 Sameera Deshpande <sameera.deshpande@arm.com>
|
||||||
|
|
||||||
* config/tc-arm.c (vfp_conv): Add check on range of immediate operand
|
* config/tc-arm.c (vfp_conv): Add check on range of immediate operand
|
||||||
|
@ -3154,8 +3154,18 @@ append_insn (struct mips_cl_insn *ip, expressionS *address_expr,
|
|||||||
}
|
}
|
||||||
else if (mips_relax.sequence != 2 && prev_nop_frag != NULL)
|
else if (mips_relax.sequence != 2 && prev_nop_frag != NULL)
|
||||||
{
|
{
|
||||||
/* Work out how many nops in prev_nop_frag are needed by IP. */
|
struct mips_cl_insn stubbed_history[ARRAY_SIZE (history)];
|
||||||
int nops = nops_for_insn_or_target (history, ip);
|
int nops, i;
|
||||||
|
|
||||||
|
/* Work out how many nops in prev_nop_frag are needed by IP.
|
||||||
|
Base this on a history in which all insns since prev_nop_frag
|
||||||
|
are stubbed out with nops. */
|
||||||
|
for (i = 0; i < (int) ARRAY_SIZE (history); i++)
|
||||||
|
if (i < prev_nop_frag_since)
|
||||||
|
stubbed_history[i] = *NOP_INSN;
|
||||||
|
else
|
||||||
|
stubbed_history[i] = history[i];
|
||||||
|
nops = nops_for_insn_or_target (stubbed_history, ip);
|
||||||
gas_assert (nops <= prev_nop_frag_holds);
|
gas_assert (nops <= prev_nop_frag_holds);
|
||||||
|
|
||||||
/* Enforce NOPS as a minimum. */
|
/* Enforce NOPS as a minimum. */
|
||||||
|
@ -1,3 +1,8 @@
|
|||||||
|
2011-06-23 Richard Sandiford <rdsandiford@googlemail.com>
|
||||||
|
|
||||||
|
* gas/mips/pr12915.s, gas/mips/pr12915.d: New test.
|
||||||
|
* gas/mips/mips.exp: Run it.
|
||||||
|
|
||||||
2011-06-21 Sameera Deshpande <sameera.deshpande@arm.com>
|
2011-06-21 Sameera Deshpande <sameera.deshpande@arm.com>
|
||||||
|
|
||||||
* gas/arm/vcvt-bad.d: New test.
|
* gas/arm/vcvt-bad.d: New test.
|
||||||
|
@ -1000,4 +1000,6 @@ if { [istarget mips*-*-vxworks*] } {
|
|||||||
[mips_arch_list_matching mips32r2] ] ]
|
[mips_arch_list_matching mips32r2] ] ]
|
||||||
|
|
||||||
if $has_newabi { run_dump_test "cfi-n64-1" }
|
if $has_newabi { run_dump_test "cfi-n64-1" }
|
||||||
|
|
||||||
|
run_dump_test "pr12915"
|
||||||
}
|
}
|
||||||
|
15
gas/testsuite/gas/mips/pr12915.d
Normal file
15
gas/testsuite/gas/mips/pr12915.d
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
#as: -32 -mips1
|
||||||
|
#objdump: -dr
|
||||||
|
|
||||||
|
.*
|
||||||
|
|
||||||
|
|
||||||
|
Disassembly of section \.text:
|
||||||
|
|
||||||
|
00000000 <\.text>:
|
||||||
|
0: 3c1b0000 lui k1,0x0
|
||||||
|
0: R_MIPS_HI16 kernelsp
|
||||||
|
4: 8f7b0000 lw k1,0\(k1\)
|
||||||
|
4: R_MIPS_LO16 kernelsp
|
||||||
|
8: 401c7000 mfc0 gp,c0_epc
|
||||||
|
c: 279c0004 addiu gp,gp,4
|
5
gas/testsuite/gas/mips/pr12915.s
Normal file
5
gas/testsuite/gas/mips/pr12915.s
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
lui $27, %hi(kernelsp)
|
||||||
|
lw $27, %lo(kernelsp)($27)
|
||||||
|
.set noreorder
|
||||||
|
mfc0 $28, $14
|
||||||
|
addu $28, 4
|
Reference in New Issue
Block a user