diff options
author | Maciej W. Rozycki <macro@linux-mips.org> | 2011-08-09 14:25:29 +0000 |
---|---|---|
committer | Maciej W. Rozycki <macro@linux-mips.org> | 2011-08-09 14:25:29 +0000 |
commit | 2b0c8b40edb06c073ce8bb358239cc1a5c6653a5 (patch) | |
tree | 3563d1a52c9e5d7f5c23d6cd1fd6d1082d0b76eb /gas/testsuite | |
parent | 401a70b8da409365b70f8e5e8544fa0e24c486fd (diff) | |
download | gdb-2b0c8b40edb06c073ce8bb358239cc1a5c6653a5.zip gdb-2b0c8b40edb06c073ce8bb358239cc1a5c6653a5.tar.gz gdb-2b0c8b40edb06c073ce8bb358239cc1a5c6653a5.tar.bz2 |
include/opcode/
* mips.h (INSN_WRITE_GPR_S, INSN2_WRITE_GPR_MB): New macros.
(INSN2_READ_GPR_MC, INSN2_READ_GPR_ME): Likewise.
(INSN2_WRITE_GPR_MF, INSN2_READ_GPR_MG): Likewise.
(INSN2_READ_GPR_MJ, INSN2_WRITE_GPR_MJ): Likewise.
(INSN2_READ_GPR_MP, INSN2_WRITE_GPR_MP): Likewise.
(INSN2_READ_GPR_MQ, INSN2_WRITE_GPR_MHI): Likewise.
(INSN2_READ_GPR_MMN): Likewise.
(INSN2_READ_FPR_D): Change the bit used.
(INSN2_MOD_GPR_MD, INSN2_MOD_GPR_MF): Likewise.
(INSN2_MOD_SP, INSN2_READ_GPR_31, INSN2_READ_GP): Likewise.
(INSN2_READ_PC, INSN2_UNCOND_BRANCH): Likewise.
(INSN2_COND_BRANCH): Likewise.
(INSN2_WRITE_GPR_S, INSN2_MOD_GPR_MB): Remove macros.
(INSN2_MOD_GPR_MC, INSN2_MOD_GPR_ME, INSN2_MOD_GPR_MG): Likewise.
(INSN2_MOD_GPR_MJ, INSN2_MOD_GPR_MP, INSN2_MOD_GPR_MQ): Likewise.
(INSN2_MOD_GPR_MHI, INSN2_MOD_GPR_MM): Likewise.
(INSN2_MOD_GPR_MN): Likewise.
gas/
* config/tc-mips.c (gpr_mod_mask): Remove INSN2_MOD_GPR_MB,
INSN2_MOD_GPR_MC, INSN2_MOD_GPR_ME, INSN2_MOD_GPR_MG,
INSN2_MOD_GPR_MHI, INSN2_MOD_GPR_MJ, INSN2_MOD_GPR_MM,
INSN2_MOD_GPR_MN, INSN2_MOD_GPR_MP and INSN2_MOD_GPR_MQ opcode
register use checks.
(gpr_read_mask): Add INSN2_READ_GPR_MC, INSN2_READ_GPR_ME
INSN2_READ_GPR_MG, INSN2_READ_GPR_MJ, INSN2_READ_GPR_MMN,
INSN2_READ_GPR_MP and INSN2_READ_GPR_MQ opcode register use
checks.
(gpr_write_mask): Replace INSN2_WRITE_GPR_S opcode register
use flag with INSN_WRITE_GPR_S. Add INSN2_WRITE_GPR_MB,
INSN2_WRITE_GPR_MHI, INSN2_WRITE_GPR_MJ and INSN2_WRITE_GPR_MP
opcode register use checks.
(can_swap_branch_p): Enable microMIPS branch swapping.
(append_insn): Likewise.
gas/testsuite/
* gas/mips/micromips.d: Update according to changes to enable
microMIPS branch swapping.
* gas/mips/micromips-trap.d: Likewise.
* gas/mips/micromips@jal-svr4pic.d: Likewise.
* gas/mips/micromips@loc-swap.d: Likewise.
* gas/mips/micromips@loc-swap-dis.d: Likewise.
opcodes/
* micromips-opc.c (MOD_mb, MOD_mc, MOD_md): Remove macros.
(MOD_me, MOD_mf, MOD_mg, MOD_mhi, MOD_mj, MOD_ml): Likewise.
(MOD_mm, MOD_mn, MOD_mp, MOD_mq, MOD_sp): Likewise.
(WR_mb, RD_mc, RD_md, WR_md, RD_me, RD_mf, WR_mf): New macros.
(RD_mg, WR_mhi, RD_mj, WR_mj, RD_ml, RD_mmn): Likewise.
(RD_mp, WR_mp, RD_mq, RD_sp, WR_sp): Likewise.
(WR_s): Update macro.
(micromips_opcodes): Update register use flags of: "addiu",
"addiupc", "addiur1sp", "addiur2", "addius5", "addiusp", "addu",
"and", "andi", "beq", "beqz", "bne", "bnez", "di", "ei", "j",
"jalr", "jalrs", "jr", "jraddiusp", "jrc", "lbu", "lhu", "li",
"lui", "lw", "lwm", "mfhi", "mflo", "move", "movep", "not",
"nor", "or", "ori", "sb", "sh", "sll", "srl", "subu", "sw",
"swm" and "xor" instructions.
Diffstat (limited to 'gas/testsuite')
-rw-r--r-- | gas/testsuite/ChangeLog | 9 | ||||
-rw-r--r-- | gas/testsuite/gas/mips/micromips-trap.d | 11 | ||||
-rw-r--r-- | gas/testsuite/gas/mips/micromips.d | 11 | ||||
-rw-r--r-- | gas/testsuite/gas/mips/micromips@jal-svr4pic.d | 4 | ||||
-rw-r--r-- | gas/testsuite/gas/mips/micromips@loc-swap-dis.d | 6 | ||||
-rw-r--r-- | gas/testsuite/gas/mips/micromips@loc-swap.d | 28 |
6 files changed, 36 insertions, 33 deletions
diff --git a/gas/testsuite/ChangeLog b/gas/testsuite/ChangeLog index 3abf990..5e81c90 100644 --- a/gas/testsuite/ChangeLog +++ b/gas/testsuite/ChangeLog @@ -1,3 +1,12 @@ +2011-08-09 Maciej W. Rozycki <macro@codesourcery.com> + + * gas/mips/micromips.d: Update according to changes to enable + microMIPS branch swapping. + * gas/mips/micromips-trap.d: Likewise. + * gas/mips/micromips@jal-svr4pic.d: Likewise. + * gas/mips/micromips@loc-swap.d: Likewise. + * gas/mips/micromips@loc-swap-dis.d: Likewise. + 2011-08-05 David S. Miller <davem@davemloft.net> * gas/sparc/hpcvis3.d: New test. diff --git a/gas/testsuite/gas/mips/micromips-trap.d b/gas/testsuite/gas/mips/micromips-trap.d index d306597..461f23b 100644 --- a/gas/testsuite/gas/mips/micromips-trap.d +++ b/gas/testsuite/gas/mips/micromips-trap.d @@ -108,10 +108,9 @@ Disassembly of section \.text: [ 0-9a-f]+: 0c56 move v0,s6 [ 0-9a-f]+: 0ec2 move s6,v0 [ 0-9a-f]+: 0016 1150 move v0,s6 -[ 0-9a-f]+: 0002 b150 move s6,v0 [ 0-9a-f]+: cfff b [0-9a-f]+ <test\+0x[0-9a-f]+> [ ]*[0-9a-f]+: R_MICROMIPS_PC10_S1 test -[ 0-9a-f]+: 0c00 nop +[ 0-9a-f]+: 0002 b150 move s6,v0 [ 0-9a-f]+: cfff b [0-9a-f]+ <test\+0x[0-9a-f]+> [ ]*[0-9a-f]+: R_MICROMIPS_PC10_S1 test [ 0-9a-f]+: 0c00 nop @@ -346,10 +345,9 @@ Disassembly of section \.text: [ 0-9a-f]+: 0023 1250 and v0,v1,at [ 0-9a-f]+: 41a1 ffff lui at,0xffff [ 0-9a-f]+: 5021 0001 ori at,at,0x1 -[ 0-9a-f]+: 0023 1250 and v0,v1,at [ 0-9a-f]+: 4280 fffe bc2f [0-9a-f]+ <.*\+0x[0-9a-f]+> [ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 test -[ 0-9a-f]+: 0c00 nop +[ 0-9a-f]+: 0023 1250 and v0,v1,at [ 0-9a-f]+: 4280 fffe bc2f [0-9a-f]+ <.*\+0x[0-9a-f]+> [ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 test [ 0-9a-f]+: 0c00 nop @@ -954,9 +952,8 @@ Disassembly of section \.text: [ 0-9a-f]+: 0043 994c ins v0,v1,0x5,0xf [ 0-9a-f]+: 0043 f80c ins v0,v1,0x0,0x20 [ 0-9a-f]+: 0043 ffcc ins v0,v1,0x1f,0x1 -[ 0-9a-f]+: 03fe ffcc ins ra,s8,0x1f,0x1 [ 0-9a-f]+: 4580 jr zero -[ 0-9a-f]+: 0c00 nop +[ 0-9a-f]+: 03fe ffcc ins ra,s8,0x1f,0x1 [ 0-9a-f]+: 4582 jr v0 [ 0-9a-f]+: 0c00 nop [ 0-9a-f]+: 4583 jr v1 @@ -5182,6 +5179,8 @@ Disassembly of section \.text: [ 0-9a-f]+: 03ff 937c wait 0x3ff [ 0-9a-f]+: 03ff 8b7c syscall 0x3ff [ 0-9a-f]+: 03ff fffa cop2 0x7fffff +[ 0-9a-f]+: 0c00 nop +[ 0-9a-f]+: 0000 0000 nop [0-9a-f]+ <fp_test>: [ 0-9a-f]+: 5400 01a0 prefx 0x0,zero\(zero\) diff --git a/gas/testsuite/gas/mips/micromips.d b/gas/testsuite/gas/mips/micromips.d index eadd591..1de9dab 100644 --- a/gas/testsuite/gas/mips/micromips.d +++ b/gas/testsuite/gas/mips/micromips.d @@ -108,10 +108,9 @@ Disassembly of section \.text: [ 0-9a-f]+: 0c56 move v0,s6 [ 0-9a-f]+: 0ec2 move s6,v0 [ 0-9a-f]+: 0016 1150 move v0,s6 -[ 0-9a-f]+: 0002 b150 move s6,v0 [ 0-9a-f]+: cfff b [0-9a-f]+ <test\+0x[0-9a-f]+> [ ]*[0-9a-f]+: R_MICROMIPS_PC10_S1 test -[ 0-9a-f]+: 0c00 nop +[ 0-9a-f]+: 0002 b150 move s6,v0 [ 0-9a-f]+: cfff b [0-9a-f]+ <test\+0x[0-9a-f]+> [ ]*[0-9a-f]+: R_MICROMIPS_PC10_S1 test [ 0-9a-f]+: 0c00 nop @@ -346,10 +345,9 @@ Disassembly of section \.text: [ 0-9a-f]+: 0023 1250 and v0,v1,at [ 0-9a-f]+: 41a1 ffff lui at,0xffff [ 0-9a-f]+: 5021 0001 ori at,at,0x1 -[ 0-9a-f]+: 0023 1250 and v0,v1,at [ 0-9a-f]+: 4280 fffe bc2f [0-9a-f]+ <.*\+0x[0-9a-f]+> [ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 test -[ 0-9a-f]+: 0c00 nop +[ 0-9a-f]+: 0023 1250 and v0,v1,at [ 0-9a-f]+: 4280 fffe bc2f [0-9a-f]+ <.*\+0x[0-9a-f]+> [ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 test [ 0-9a-f]+: 0c00 nop @@ -969,9 +967,8 @@ Disassembly of section \.text: [ 0-9a-f]+: 0043 994c ins v0,v1,0x5,0xf [ 0-9a-f]+: 0043 f80c ins v0,v1,0x0,0x20 [ 0-9a-f]+: 0043 ffcc ins v0,v1,0x1f,0x1 -[ 0-9a-f]+: 03fe ffcc ins ra,s8,0x1f,0x1 [ 0-9a-f]+: 4580 jr zero -[ 0-9a-f]+: 0c00 nop +[ 0-9a-f]+: 03fe ffcc ins ra,s8,0x1f,0x1 [ 0-9a-f]+: 4582 jr v0 [ 0-9a-f]+: 0c00 nop [ 0-9a-f]+: 4583 jr v1 @@ -5254,6 +5251,8 @@ Disassembly of section \.text: [ 0-9a-f]+: 03ff 937c wait 0x3ff [ 0-9a-f]+: 03ff 8b7c syscall 0x3ff [ 0-9a-f]+: 03ff fffa cop2 0x7fffff +[ 0-9a-f]+: 0c00 nop +[ 0-9a-f]+: 0000 0000 nop [0-9a-f]+ <fp_test>: [ 0-9a-f]+: 5400 01a0 prefx 0x0,zero\(zero\) diff --git a/gas/testsuite/gas/mips/micromips@jal-svr4pic.d b/gas/testsuite/gas/mips/micromips@jal-svr4pic.d index 35b2ec7..75ae1fd 100644 --- a/gas/testsuite/gas/mips/micromips@jal-svr4pic.d +++ b/gas/testsuite/gas/mips/micromips@jal-svr4pic.d @@ -39,9 +39,7 @@ Disassembly of section \.text: [0-9a-f]+ <[^>]*> 03f9 4f3c jalrs t9 [ ]*[0-9a-f]+: R_MICROMIPS_JALR external_text_label [0-9a-f]+ <[^>]*> 0c00 nop -[0-9a-f]+ <[^>]*> ff9d 0000 lw gp,0\(sp\) ([0-9a-f]+) <[^>]*> 9400 fffe b \1 <.*> [ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 text_label -[0-9a-f]+ <[^>]*> 0c00 nop -[0-9a-f]+ <[^>]*> 0c00 nop +[0-9a-f]+ <[^>]*> ff9d 0000 lw gp,0\(sp\) \.\.\. diff --git a/gas/testsuite/gas/mips/micromips@loc-swap-dis.d b/gas/testsuite/gas/mips/micromips@loc-swap-dis.d index a824676..c4c5458 100644 --- a/gas/testsuite/gas/mips/micromips@loc-swap-dis.d +++ b/gas/testsuite/gas/mips/micromips@loc-swap-dis.d @@ -11,12 +11,10 @@ Disassembly of section \.text: [0-9a-f]+ <[^>]*> 0c90 move a0,s0 [0-9a-f]+ <[^>]*> 4584 jr a0 [0-9a-f]+ <[^>]*> 0c00 nop -[0-9a-f]+ <[^>]*> 0ff0 move ra,s0 [0-9a-f]+ <[^>]*> 4584 jr a0 -[0-9a-f]+ <[^>]*> 0c00 nop -[0-9a-f]+ <[^>]*> 0c90 move a0,s0 +[0-9a-f]+ <[^>]*> 0ff0 move ra,s0 [0-9a-f]+ <[^>]*> 459f jr ra -[0-9a-f]+ <[^>]*> 0c00 nop +[0-9a-f]+ <[^>]*> 0c90 move a0,s0 [0-9a-f]+ <[^>]*> 0ff0 move ra,s0 [0-9a-f]+ <[^>]*> 459f jr ra [0-9a-f]+ <[^>]*> 0c00 nop diff --git a/gas/testsuite/gas/mips/micromips@loc-swap.d b/gas/testsuite/gas/mips/micromips@loc-swap.d index 272f6ae..28fa77a 100644 --- a/gas/testsuite/gas/mips/micromips@loc-swap.d +++ b/gas/testsuite/gas/mips/micromips@loc-swap.d @@ -45,18 +45,18 @@ Raw dump of debug contents of section \.debug_line: Special opcode 11: advance Address by 0 to 0x1 and Line by 6 to 7 Special opcode 35: advance Address by 2 to 0x3 and Line by 2 to 9 Special opcode 64: advance Address by 4 to 0x7 and Line by 3 to 12 - Special opcode 35: advance Address by 2 to 0x9 and Line by 2 to 14 - Special opcode 64: advance Address by 4 to 0xd and Line by 3 to 17 - Special opcode 35: advance Address by 2 to 0xf and Line by 2 to 19 - Special opcode 64: advance Address by 4 to 0x13 and Line by 3 to 22 - Special opcode 35: advance Address by 2 to 0x15 and Line by 2 to 24 - Special opcode 64: advance Address by 4 to 0x19 and Line by 3 to 27 - Special opcode 35: advance Address by 2 to 0x1b and Line by 2 to 29 - Special opcode 92: advance Address by 6 to 0x21 and Line by 3 to 32 - Special opcode 35: advance Address by 2 to 0x23 and Line by 2 to 34 - Special opcode 92: advance Address by 6 to 0x29 and Line by 3 to 37 - Special opcode 35: advance Address by 2 to 0x2b and Line by 2 to 39 - Special opcode 120: advance Address by 8 to 0x33 and Line by 3 to 42 - Special opcode 35: advance Address by 2 to 0x35 and Line by 2 to 44 - Advance PC by 23 to 0x4c + Special opcode 7: advance Address by 0 to 0x7 and Line by 2 to 14 + Special opcode 64: advance Address by 4 to 0xb and Line by 3 to 17 + Special opcode 7: advance Address by 0 to 0xb and Line by 2 to 19 + Special opcode 64: advance Address by 4 to 0xf and Line by 3 to 22 + Special opcode 35: advance Address by 2 to 0x11 and Line by 2 to 24 + Special opcode 64: advance Address by 4 to 0x15 and Line by 3 to 27 + Special opcode 35: advance Address by 2 to 0x17 and Line by 2 to 29 + Special opcode 92: advance Address by 6 to 0x1d and Line by 3 to 32 + Special opcode 35: advance Address by 2 to 0x1f and Line by 2 to 34 + Special opcode 92: advance Address by 6 to 0x25 and Line by 3 to 37 + Special opcode 35: advance Address by 2 to 0x27 and Line by 2 to 39 + Special opcode 120: advance Address by 8 to 0x2f and Line by 3 to 42 + Special opcode 35: advance Address by 2 to 0x31 and Line by 2 to 44 + Advance PC by 23 to 0x48 Extended opcode 1: End of Sequence |