| # Source file used to test branch relaxation with swapping. |
| |
| .text |
| foo: |
| |
| move $2, $4 |
| b foo |
| move $2, $4 |
| b bar |
| |
| lw $2, ($4) |
| b foo |
| lw $2, ($4) |
| b bar |
| |
| sw $2, ($4) |
| b foo |
| sw $2, ($4) |
| b bar |
| |
| move $2, $4 |
| beq $2, $3, foo |
| move $2, $4 |
| beq $2, $3, bar |
| move $2, $4 |
| beq $4, $5, foo |
| move $2, $4 |
| beq $4, $5, bar |
| |
| addiu $2, $4, 1 |
| beq $2, $3, foo |
| addiu $2, $4, 1 |
| beq $2, $3, bar |
| addiu $2, $4, 1 |
| beq $4, $5, foo |
| addiu $2, $4, 1 |
| beq $4, $5, bar |
| |
| lw $2, ($4) |
| beq $2, $3, foo |
| lw $2, ($4) |
| beq $2, $3, bar |
| lw $2, ($4) |
| beq $4, $5, foo |
| lw $2, ($4) |
| beq $4, $5, bar |
| |
| sw $2, ($4) |
| beq $2, $3, foo |
| sw $2, ($4) |
| beq $2, $3, bar |
| sw $2, ($4) |
| beq $4, $5, foo |
| sw $2, ($4) |
| beq $4, $5, bar |
| |
| mfc1 $2, $0 |
| move $6, $7 |
| beq $2, $3, foo |
| mfc1 $2, $0 |
| move $6, $7 |
| beq $2, $3, bar |
| mfc1 $2, $0 |
| move $6, $7 |
| beq $4, $5, foo |
| mfc1 $2, $0 |
| move $6, $7 |
| beq $4, $5, bar |
| |
| move $2, $4 |
| bc1t foo |
| move $2, $4 |
| bc1t bar |
| |
| .set nomove |
| move $2, $4 |
| b foo |
| move $2, $4 |
| b bar |
| .set move |
| |
| move $2, $4 |
| 0: b foo |
| move $2, $4 |
| 0: b bar |
| |
| .set noreorder |
| move $6, $7 |
| .set reorder |
| move $2, $4 |
| b foo |
| .set noreorder |
| move $6, $7 |
| .set reorder |
| move $2, $4 |
| b bar |
| |
| sw $2, 0f |
| 0: b foo |
| sw $2, 0f |
| 0: b bar |
| |
| lwc1 $0, ($4) |
| b foo |
| lwc1 $0, ($4) |
| b bar |
| |
| cfc1 $2, $31 |
| b foo |
| cfc1 $2, $31 |
| b bar |
| |
| ctc1 $2, $31 |
| b foo |
| ctc1 $2, $31 |
| b bar |
| |
| mtc1 $2, $31 |
| b foo |
| mtc1 $2, $31 |
| b bar |
| |
| mfhi $2 |
| b foo |
| mfhi $2 |
| b bar |
| |
| move $2, $4 |
| jr $2 |
| move $2, $4 |
| jr $4 |
| |
| move $2, $4 |
| jalr $2 |
| move $2, $4 |
| jalr $4 |
| |
| move $2, $31 |
| jalr $3 |
| move $31, $4 |
| jalr $5 |
| |
| move $31, $4 |
| jalr $2, $3 |
| move $2, $31 |
| jalr $2, $3 |
| |
| .space 0x20000 # to make a 128kb loop body |
| bar: |
| # Force at least 8 (non-delay-slot) zero bytes, to make 'objdump' print ... |
| .space 8 |