mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-06-24 12:23:31 +08:00
MIPS/GAS: Correct call formatting in `can_swap_branch_p'
gas/ * config/tc-mips.c (can_swap_branch_p): Correct call formatting.
This commit is contained in:
@ -1,3 +1,7 @@
|
|||||||
|
2016-04-09 Maciej W. Rozycki <macro@imgtec.com>
|
||||||
|
|
||||||
|
* config/tc-mips.c (can_swap_branch_p): Correct call formatting.
|
||||||
|
|
||||||
2016-04-09 Maciej W. Rozycki <macro@imgtec.com>
|
2016-04-09 Maciej W. Rozycki <macro@imgtec.com>
|
||||||
|
|
||||||
* messages.c (as_bad): Fix a typo in description.
|
* messages.c (as_bad): Fix a typo in description.
|
||||||
|
@ -6733,11 +6733,11 @@ can_swap_branch_p (struct mips_cl_insn *ip, expressionS *address_expr,
|
|||||||
/* Parameter must be 16 bit. */
|
/* Parameter must be 16 bit. */
|
||||||
&& (*reloc_type == BFD_RELOC_16_PCREL_S2)
|
&& (*reloc_type == BFD_RELOC_16_PCREL_S2)
|
||||||
/* Branch to same segment. */
|
/* Branch to same segment. */
|
||||||
&& (S_GET_SEGMENT(address_expr->X_add_symbol) == now_seg)
|
&& (S_GET_SEGMENT (address_expr->X_add_symbol) == now_seg)
|
||||||
/* Branch to same code fragment. */
|
/* Branch to same code fragment. */
|
||||||
&& (symbol_get_frag(address_expr->X_add_symbol) == frag_now)
|
&& (symbol_get_frag (address_expr->X_add_symbol) == frag_now)
|
||||||
/* Can only calculate branch offset if value is known. */
|
/* Can only calculate branch offset if value is known. */
|
||||||
&& symbol_constant_p(address_expr->X_add_symbol)
|
&& symbol_constant_p (address_expr->X_add_symbol)
|
||||||
/* Check if branch is really conditional. */
|
/* Check if branch is really conditional. */
|
||||||
&& !((ip->insn_opcode & 0xffff0000) == 0x10000000 /* beq $0,$0 */
|
&& !((ip->insn_opcode & 0xffff0000) == 0x10000000 /* beq $0,$0 */
|
||||||
|| (ip->insn_opcode & 0xffff0000) == 0x04010000 /* bgez $0 */
|
|| (ip->insn_opcode & 0xffff0000) == 0x04010000 /* bgez $0 */
|
||||||
@ -6746,7 +6746,7 @@ can_swap_branch_p (struct mips_cl_insn *ip, expressionS *address_expr,
|
|||||||
int distance;
|
int distance;
|
||||||
/* Check if loop is shorter than 6 instructions including
|
/* Check if loop is shorter than 6 instructions including
|
||||||
branch and delay slot. */
|
branch and delay slot. */
|
||||||
distance = frag_now_fix() - S_GET_VALUE(address_expr->X_add_symbol);
|
distance = frag_now_fix () - S_GET_VALUE (address_expr->X_add_symbol);
|
||||||
if (distance <= 20)
|
if (distance <= 20)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
@ -6758,7 +6758,7 @@ can_swap_branch_p (struct mips_cl_insn *ip, expressionS *address_expr,
|
|||||||
for (i = 0; i < (distance / 4); i++)
|
for (i = 0; i < (distance / 4); i++)
|
||||||
{
|
{
|
||||||
if ((history[i].cleared_p)
|
if ((history[i].cleared_p)
|
||||||
|| delayed_branch_p(&history[i]))
|
|| delayed_branch_p (&history[i]))
|
||||||
{
|
{
|
||||||
rv = TRUE;
|
rv = TRUE;
|
||||||
break;
|
break;
|
||||||
|
Reference in New Issue
Block a user