From a4f89915135f6760917c01dc783de5b674234d84 Mon Sep 17 00:00:00 2001 From: "Maciej W. Rozycki" Date: Fri, 12 May 2017 01:09:36 +0100 Subject: MIPS16/opcodes: Make the handling of BREAK and SDBBP consistent Disassemble the MIPS16 BREAK and SDBBP instruction's immediate operand in the hexadecimal rather than decimal numeral system and add respective operandless variants with an implicit 0 operand, making our handling of these instructions consistent with how we have processed their regular MIPS and microMIPS counterparts since forever. opcodes/ * mips16-opc.c (decode_mips16_operand) <'6'>: Switch the operand type to hexadecimal. (mips16_opcodes): Add operandless "break" and "sdbbp" entries. binutils/ * testsuite/binutils-all/mips/mips16-extend-insn.d: Adjust BREAK and SDBBP disassembly. gas/ * testsuite/gas/mips/mips16.d: Adjust BREAK disassembly. * testsuite/gas/mips/mips16-64@mips16.d: Likewise. * testsuite/gas/mips/mips16-64.d: Likewise. * testsuite/gas/mips/mips16-64@mips16-64.d: Likewise. * testsuite/gas/mips/mips16-macro.d: Likewise. * testsuite/gas/mips/mips16-64@mips16-macro.d: Likewise. * testsuite/gas/mips/mips16-sub.d: Likewise. * testsuite/gas/mips/mips16-32@mips16-sub.d: Likewise. --- gas/ChangeLog | 11 +++++++++++ gas/testsuite/gas/mips/mips16-32@mips16-sub.d | 14 +++++++------- gas/testsuite/gas/mips/mips16-64.d | 14 +++++++------- gas/testsuite/gas/mips/mips16-64@mips16-64.d | 14 +++++++------- gas/testsuite/gas/mips/mips16-64@mips16-macro.d | 16 ++++++++-------- gas/testsuite/gas/mips/mips16-64@mips16.d | 14 +++++++------- gas/testsuite/gas/mips/mips16-macro.d | 16 ++++++++-------- gas/testsuite/gas/mips/mips16-sub.d | 14 +++++++------- gas/testsuite/gas/mips/mips16.d | 14 +++++++------- 9 files changed, 69 insertions(+), 58 deletions(-) (limited to 'gas') diff --git a/gas/ChangeLog b/gas/ChangeLog index 63ca633..559e9e5 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,14 @@ +2017-05-12 Maciej W. Rozycki + + * testsuite/gas/mips/mips16.d: Adjust BREAK disassembly. + * testsuite/gas/mips/mips16-64@mips16.d: Likewise. + * testsuite/gas/mips/mips16-64.d: Likewise. + * testsuite/gas/mips/mips16-64@mips16-64.d: Likewise. + * testsuite/gas/mips/mips16-macro.d: Likewise. + * testsuite/gas/mips/mips16-64@mips16-macro.d: Likewise. + * testsuite/gas/mips/mips16-sub.d: Likewise. + * testsuite/gas/mips/mips16-32@mips16-sub.d: Likewise. + 2017-05-11 Maciej W. Rozycki * testsuite/gas/mips/mips32r2-sync-1.d: New test. diff --git a/gas/testsuite/gas/mips/mips16-32@mips16-sub.d b/gas/testsuite/gas/mips/mips16-32@mips16-sub.d index 83750ae..1ecdfbb 100644 --- a/gas/testsuite/gas/mips/mips16-32@mips16-sub.d +++ b/gas/testsuite/gas/mips/mips16-32@mips16-sub.d @@ -757,13 +757,13 @@ Disassembly of section \.text: [0-9a-f]+ <[^>]*> ea7d 0xea7d [0-9a-f]+ <[^>]*> ea7e 0xea7e [0-9a-f]+ <[^>]*> 2b01 bnez v1,000007d4 -[0-9a-f]+ <[^>]*> e8e5 break 7 +[0-9a-f]+ <[^>]*> e8e5 break 0x7 [0-9a-f]+ <[^>]*> ea12 mflo v0 [0-9a-f]+ <[^>]*> 6500 nop [0-9a-f]+ <[^>]*> 6500 nop [0-9a-f]+ <[^>]*> ea7f 0xea7f [0-9a-f]+ <[^>]*> 2b01 bnez v1,000007e0 -[0-9a-f]+ <[^>]*> e8e5 break 7 +[0-9a-f]+ <[^>]*> e8e5 break 0x7 [0-9a-f]+ <[^>]*> ea12 mflo v0 [0-9a-f]+ <[^>]*> 6500 nop [0-9a-f]+ <[^>]*> 6500 nop @@ -771,13 +771,13 @@ Disassembly of section \.text: [0-9a-f]+ <[^>]*> ea79 multu v0,v1 [0-9a-f]+ <[^>]*> ea7a div zero,v0,v1 [0-9a-f]+ <[^>]*> 2b01 bnez v1,000007f0 -[0-9a-f]+ <[^>]*> e8e5 break 7 +[0-9a-f]+ <[^>]*> e8e5 break 0x7 [0-9a-f]+ <[^>]*> ea12 mflo v0 [0-9a-f]+ <[^>]*> 6500 nop [0-9a-f]+ <[^>]*> 6500 nop [0-9a-f]+ <[^>]*> ea7b divu zero,v0,v1 [0-9a-f]+ <[^>]*> 2b01 bnez v1,000007fc -[0-9a-f]+ <[^>]*> e8e5 break 7 +[0-9a-f]+ <[^>]*> e8e5 break 0x7 [0-9a-f]+ <[^>]*> ea12 mflo v0 [0-9a-f]+ <[^>]*> ea00 jr v0 [0-9a-f]+ <[^>]*> 6500 nop @@ -805,9 +805,9 @@ Disassembly of section \.text: [0-9a-f]+ <[^>]*> 176f b 00000720 [0-9a-f]+ <[^>]*> 1012 b 00000868 [0-9a-f]+ <[^>]*> 1075 b 00000930 -[0-9a-f]+ <[^>]*> e805 break 0 -[0-9a-f]+ <[^>]*> e825 break 1 -[0-9a-f]+ <[^>]*> efe5 break 63 +[0-9a-f]+ <[^>]*> e805 break +[0-9a-f]+ <[^>]*> e825 break 0x1 +[0-9a-f]+ <[^>]*> efe5 break 0x3f [0-9a-f]+ <[^>]*> 1800 0000 jal 00000000 [ ]*[0-9a-f]+: R_MIPS16_26 extern [0-9a-f]+ <[^>]*> 6500 nop diff --git a/gas/testsuite/gas/mips/mips16-64.d b/gas/testsuite/gas/mips/mips16-64.d index 5a8c0f7..0eb7d9f 100644 --- a/gas/testsuite/gas/mips/mips16-64.d +++ b/gas/testsuite/gas/mips/mips16-64.d @@ -614,21 +614,21 @@ Disassembly of section .text: 7cc: ea7d dmultu v0,v1 7ce: ea7e ddiv zero,v0,v1 7d0: 2b01 bnez v1,7d4 - 7d2: e8e5 break 7 + 7d2: e8e5 break 0x7 7d4: ea12 mflo v0 7d6: ea7f ddivu zero,v0,v1 7d8: 2b01 bnez v1,7dc - 7da: e8e5 break 7 + 7da: e8e5 break 0x7 7dc: ea12 mflo v0 7de: ea78 mult v0,v1 7e0: ea79 multu v0,v1 7e2: ea7a div zero,v0,v1 7e4: 2b01 bnez v1,7e8 - 7e6: e8e5 break 7 + 7e6: e8e5 break 0x7 7e8: ea12 mflo v0 7ea: ea7b divu zero,v0,v1 7ec: 2b01 bnez v1,7f0 - 7ee: e8e5 break 7 + 7ee: e8e5 break 0x7 7f0: ea12 mflo v0 7f2: ea80 jrc v0 7f4: e8a0 jrc ra @@ -653,9 +653,9 @@ Disassembly of section .text: 828: 177b b 720 82a: 1012 b 850 82c: 1075 b 918 - 82e: e805 break 0 - 830: e825 break 1 - 832: efe5 break 63 + 82e: e805 break + 830: e825 break 0x1 + 832: efe5 break 0x3f 834: 1800 0000 jal 0 834: R_MIPS16_26 extern 834: R_MIPS_NONE \*ABS\* diff --git a/gas/testsuite/gas/mips/mips16-64@mips16-64.d b/gas/testsuite/gas/mips/mips16-64@mips16-64.d index 6862142..2aaf073 100644 --- a/gas/testsuite/gas/mips/mips16-64@mips16-64.d +++ b/gas/testsuite/gas/mips/mips16-64@mips16-64.d @@ -614,13 +614,13 @@ Disassembly of section .text: 7cc: ea7d dmultu v0,v1 7ce: ea7e ddiv zero,v0,v1 7d0: 2b01 bnez v1,7d4 - 7d2: e8e5 break 7 + 7d2: e8e5 break 0x7 7d4: ea12 mflo v0 7d6: 6500 nop 7d8: 6500 nop 7da: ea7f ddivu zero,v0,v1 7dc: 2b01 bnez v1,7e0 - 7de: e8e5 break 7 + 7de: e8e5 break 0x7 7e0: ea12 mflo v0 7e2: 6500 nop 7e4: 6500 nop @@ -628,13 +628,13 @@ Disassembly of section .text: 7e8: ea79 multu v0,v1 7ea: ea7a div zero,v0,v1 7ec: 2b01 bnez v1,7f0 - 7ee: e8e5 break 7 + 7ee: e8e5 break 0x7 7f0: ea12 mflo v0 7f2: 6500 nop 7f4: 6500 nop 7f6: ea7b divu zero,v0,v1 7f8: 2b01 bnez v1,7fc - 7fa: e8e5 break 7 + 7fa: e8e5 break 0x7 7fc: ea12 mflo v0 7fe: ea00 jr v0 800: 6500 nop @@ -662,9 +662,9 @@ Disassembly of section .text: 840: 176f b 720 842: 1012 b 868 844: 1075 b 930 - 846: e805 break 0 - 848: e825 break 1 - 84a: efe5 break 63 + 846: e805 break + 848: e825 break 0x1 + 84a: efe5 break 0x3f 84c: 1800 0000 jal 0 84c: R_MIPS16_26 extern 84c: R_MIPS_NONE \*ABS\* diff --git a/gas/testsuite/gas/mips/mips16-64@mips16-macro.d b/gas/testsuite/gas/mips/mips16-64@mips16-macro.d index 323685b..45cf7e8 100644 --- a/gas/testsuite/gas/mips/mips16-64@mips16-macro.d +++ b/gas/testsuite/gas/mips/mips16-64@mips16-macro.d @@ -11,49 +11,49 @@ Disassembly of section \.text: [ 0-9a-f]+ : [ 0-9a-f]+: eb9a div \$0,\$3,\$4 [ 0-9a-f]+: 2c01 bnez \$4,[0-9a-f]+ <[^>]*> -[ 0-9a-f]+: e8e5 break 7 +[ 0-9a-f]+: e8e5 break 0x7 [ 0-9a-f]+: ea12 mflo \$2 [ 0-9a-f]+: 6500 nop [ 0-9a-f]+: 6500 nop [ 0-9a-f]+: ecbb divu \$0,\$4,\$5 [ 0-9a-f]+: 2d01 bnez \$5,[0-9a-f]+ <[^>]*> -[ 0-9a-f]+: e8e5 break 7 +[ 0-9a-f]+: e8e5 break 0x7 [ 0-9a-f]+: eb12 mflo \$3 [ 0-9a-f]+: 6500 nop [ 0-9a-f]+: 6500 nop [ 0-9a-f]+: edde ddiv \$0,\$5,\$6 [ 0-9a-f]+: 2e01 bnez \$6,[0-9a-f]+ <[^>]*> -[ 0-9a-f]+: e8e5 break 7 +[ 0-9a-f]+: e8e5 break 0x7 [ 0-9a-f]+: ec12 mflo \$4 [ 0-9a-f]+: 6500 nop [ 0-9a-f]+: 6500 nop [ 0-9a-f]+: eeff ddivu \$0,\$6,\$7 [ 0-9a-f]+: 2f01 bnez \$7,[0-9a-f]+ <[^>]*> -[ 0-9a-f]+: e8e5 break 7 +[ 0-9a-f]+: e8e5 break 0x7 [ 0-9a-f]+: ed12 mflo \$5 [ 0-9a-f]+: 6500 nop [ 0-9a-f]+: 6500 nop [ 0-9a-f]+: ef1a div \$0,\$7,\$16 [ 0-9a-f]+: 2801 bnez \$16,[0-9a-f]+ <[^>]*> -[ 0-9a-f]+: e8e5 break 7 +[ 0-9a-f]+: e8e5 break 0x7 [ 0-9a-f]+: ee10 mfhi \$6 [ 0-9a-f]+: 6500 nop [ 0-9a-f]+: 6500 nop [ 0-9a-f]+: ef3b divu \$0,\$7,\$17 [ 0-9a-f]+: 2901 bnez \$17,[0-9a-f]+ <[^>]*> -[ 0-9a-f]+: e8e5 break 7 +[ 0-9a-f]+: e8e5 break 0x7 [ 0-9a-f]+: ee10 mfhi \$6 [ 0-9a-f]+: 6500 nop [ 0-9a-f]+: 6500 nop [ 0-9a-f]+: eb9e ddiv \$0,\$3,\$4 [ 0-9a-f]+: 2c01 bnez \$4,[0-9a-f]+ <[^>]*> -[ 0-9a-f]+: e8e5 break 7 +[ 0-9a-f]+: e8e5 break 0x7 [ 0-9a-f]+: ea10 mfhi \$2 [ 0-9a-f]+: 6500 nop [ 0-9a-f]+: 6500 nop [ 0-9a-f]+: ecbf ddivu \$0,\$4,\$5 [ 0-9a-f]+: 2d01 bnez \$5,[0-9a-f]+ <[^>]*> -[ 0-9a-f]+: e8e5 break 7 +[ 0-9a-f]+: e8e5 break 0x7 [ 0-9a-f]+: eb10 mfhi \$3 [ 0-9a-f]+: 6500 nop [ 0-9a-f]+: 6500 nop diff --git a/gas/testsuite/gas/mips/mips16-64@mips16.d b/gas/testsuite/gas/mips/mips16-64@mips16.d index c5e3267..f56e641 100644 --- a/gas/testsuite/gas/mips/mips16-64@mips16.d +++ b/gas/testsuite/gas/mips/mips16-64@mips16.d @@ -614,13 +614,13 @@ Disassembly of section .text: 7cc: ea7d dmultu v0,v1 7ce: ea7e ddiv zero,v0,v1 7d0: 2b01 bnez v1,7d4 - 7d2: e8e5 break 7 + 7d2: e8e5 break 0x7 7d4: ea12 mflo v0 7d6: 6500 nop 7d8: 6500 nop 7da: ea7f ddivu zero,v0,v1 7dc: 2b01 bnez v1,7e0 - 7de: e8e5 break 7 + 7de: e8e5 break 0x7 7e0: ea12 mflo v0 7e2: 6500 nop 7e4: 6500 nop @@ -628,13 +628,13 @@ Disassembly of section .text: 7e8: ea79 multu v0,v1 7ea: ea7a div zero,v0,v1 7ec: 2b01 bnez v1,7f0 - 7ee: e8e5 break 7 + 7ee: e8e5 break 0x7 7f0: ea12 mflo v0 7f2: 6500 nop 7f4: 6500 nop 7f6: ea7b divu zero,v0,v1 7f8: 2b01 bnez v1,7fc - 7fa: e8e5 break 7 + 7fa: e8e5 break 0x7 7fc: ea12 mflo v0 7fe: ea00 jr v0 800: 6500 nop @@ -662,9 +662,9 @@ Disassembly of section .text: 840: 176f b 720 842: 1012 b 868 844: 1075 b 930 - 846: e805 break 0 - 848: e825 break 1 - 84a: efe5 break 63 + 846: e805 break + 848: e825 break 0x1 + 84a: efe5 break 0x3f 84c: 1800 0000 jal 0 84c: R_MIPS16_26 extern 850: 6500 nop diff --git a/gas/testsuite/gas/mips/mips16-macro.d b/gas/testsuite/gas/mips/mips16-macro.d index cf05682..50bff5f 100644 --- a/gas/testsuite/gas/mips/mips16-macro.d +++ b/gas/testsuite/gas/mips/mips16-macro.d @@ -10,35 +10,35 @@ Disassembly of section \.text: [ 0-9a-f]+ : [ 0-9a-f]+: eb9a div \$0,\$3,\$4 [ 0-9a-f]+: 2c01 bnez \$4,[0-9a-f]+ <[^>]*> -[ 0-9a-f]+: e8e5 break 7 +[ 0-9a-f]+: e8e5 break 0x7 [ 0-9a-f]+: ea12 mflo \$2 [ 0-9a-f]+: ecbb divu \$0,\$4,\$5 [ 0-9a-f]+: 2d01 bnez \$5,[0-9a-f]+ <[^>]*> -[ 0-9a-f]+: e8e5 break 7 +[ 0-9a-f]+: e8e5 break 0x7 [ 0-9a-f]+: eb12 mflo \$3 [ 0-9a-f]+: edde ddiv \$0,\$5,\$6 [ 0-9a-f]+: 2e01 bnez \$6,[0-9a-f]+ <[^>]*> -[ 0-9a-f]+: e8e5 break 7 +[ 0-9a-f]+: e8e5 break 0x7 [ 0-9a-f]+: ec12 mflo \$4 [ 0-9a-f]+: eeff ddivu \$0,\$6,\$7 [ 0-9a-f]+: 2f01 bnez \$7,[0-9a-f]+ <[^>]*> -[ 0-9a-f]+: e8e5 break 7 +[ 0-9a-f]+: e8e5 break 0x7 [ 0-9a-f]+: ed12 mflo \$5 [ 0-9a-f]+: ef1a div \$0,\$7,\$16 [ 0-9a-f]+: 2801 bnez \$16,[0-9a-f]+ <[^>]*> -[ 0-9a-f]+: e8e5 break 7 +[ 0-9a-f]+: e8e5 break 0x7 [ 0-9a-f]+: ee10 mfhi \$6 [ 0-9a-f]+: ef3b divu \$0,\$7,\$17 [ 0-9a-f]+: 2901 bnez \$17,[0-9a-f]+ <[^>]*> -[ 0-9a-f]+: e8e5 break 7 +[ 0-9a-f]+: e8e5 break 0x7 [ 0-9a-f]+: ee10 mfhi \$6 [ 0-9a-f]+: eb9e ddiv \$0,\$3,\$4 [ 0-9a-f]+: 2c01 bnez \$4,[0-9a-f]+ <[^>]*> -[ 0-9a-f]+: e8e5 break 7 +[ 0-9a-f]+: e8e5 break 0x7 [ 0-9a-f]+: ea10 mfhi \$2 [ 0-9a-f]+: ecbf ddivu \$0,\$4,\$5 [ 0-9a-f]+: 2d01 bnez \$5,[0-9a-f]+ <[^>]*> -[ 0-9a-f]+: e8e5 break 7 +[ 0-9a-f]+: e8e5 break 0x7 [ 0-9a-f]+: eb10 mfhi \$3 [ 0-9a-f]+: edd9 multu \$5,\$6 [ 0-9a-f]+: ec12 mflo \$4 diff --git a/gas/testsuite/gas/mips/mips16-sub.d b/gas/testsuite/gas/mips/mips16-sub.d index 0ccae66..bcb42b9 100644 --- a/gas/testsuite/gas/mips/mips16-sub.d +++ b/gas/testsuite/gas/mips/mips16-sub.d @@ -603,13 +603,13 @@ Disassembly of section \.text: [0-9a-f]+ <[^>]*> ea7d dmultu v0,v1 [0-9a-f]+ <[^>]*> ea7e ddiv zero,v0,v1 [0-9a-f]+ <[^>]*> 2b01 bnez v1,000007d4 -[0-9a-f]+ <[^>]*> e8e5 break 7 +[0-9a-f]+ <[^>]*> e8e5 break 0x7 [0-9a-f]+ <[^>]*> ea12 mflo v0 [0-9a-f]+ <[^>]*> 6500 nop [0-9a-f]+ <[^>]*> 6500 nop [0-9a-f]+ <[^>]*> ea7f ddivu zero,v0,v1 [0-9a-f]+ <[^>]*> 2b01 bnez v1,000007e0 -[0-9a-f]+ <[^>]*> e8e5 break 7 +[0-9a-f]+ <[^>]*> e8e5 break 0x7 [0-9a-f]+ <[^>]*> ea12 mflo v0 [0-9a-f]+ <[^>]*> 6500 nop [0-9a-f]+ <[^>]*> 6500 nop @@ -617,13 +617,13 @@ Disassembly of section \.text: [0-9a-f]+ <[^>]*> ea79 multu v0,v1 [0-9a-f]+ <[^>]*> ea7a div zero,v0,v1 [0-9a-f]+ <[^>]*> 2b01 bnez v1,000007f0 -[0-9a-f]+ <[^>]*> e8e5 break 7 +[0-9a-f]+ <[^>]*> e8e5 break 0x7 [0-9a-f]+ <[^>]*> ea12 mflo v0 [0-9a-f]+ <[^>]*> 6500 nop [0-9a-f]+ <[^>]*> 6500 nop [0-9a-f]+ <[^>]*> ea7b divu zero,v0,v1 [0-9a-f]+ <[^>]*> 2b01 bnez v1,000007fc -[0-9a-f]+ <[^>]*> e8e5 break 7 +[0-9a-f]+ <[^>]*> e8e5 break 0x7 [0-9a-f]+ <[^>]*> ea12 mflo v0 [0-9a-f]+ <[^>]*> ea00 jr v0 [0-9a-f]+ <[^>]*> 6500 nop @@ -651,9 +651,9 @@ Disassembly of section \.text: [0-9a-f]+ <[^>]*> 176f b 00000720 [0-9a-f]+ <[^>]*> 1012 b 00000868 [0-9a-f]+ <[^>]*> 1075 b 00000930 -[0-9a-f]+ <[^>]*> e805 break 0 -[0-9a-f]+ <[^>]*> e825 break 1 -[0-9a-f]+ <[^>]*> efe5 break 63 +[0-9a-f]+ <[^>]*> e805 break +[0-9a-f]+ <[^>]*> e825 break 0x1 +[0-9a-f]+ <[^>]*> efe5 break 0x3f [0-9a-f]+ <[^>]*> 1800 0000 jal 00000000 [ ]*[0-9a-f]+: R_MIPS16_26 extern [0-9a-f]+ <[^>]*> 6500 nop diff --git a/gas/testsuite/gas/mips/mips16.d b/gas/testsuite/gas/mips/mips16.d index 62dbc70..32033e8 100644 --- a/gas/testsuite/gas/mips/mips16.d +++ b/gas/testsuite/gas/mips/mips16.d @@ -613,21 +613,21 @@ Disassembly of section .text: 7cc: ea7d dmultu v0,v1 7ce: ea7e ddiv zero,v0,v1 7d0: 2b01 bnez v1,7d4 - 7d2: e8e5 break 7 + 7d2: e8e5 break 0x7 7d4: ea12 mflo v0 7d6: ea7f ddivu zero,v0,v1 7d8: 2b01 bnez v1,7dc - 7da: e8e5 break 7 + 7da: e8e5 break 0x7 7dc: ea12 mflo v0 7de: ea78 mult v0,v1 7e0: ea79 multu v0,v1 7e2: ea7a div zero,v0,v1 7e4: 2b01 bnez v1,7e8 - 7e6: e8e5 break 7 + 7e6: e8e5 break 0x7 7e8: ea12 mflo v0 7ea: ea7b divu zero,v0,v1 7ec: 2b01 bnez v1,7f0 - 7ee: e8e5 break 7 + 7ee: e8e5 break 0x7 7f0: ea12 mflo v0 7f2: ea80 jrc v0 7f4: e8a0 jrc ra @@ -652,9 +652,9 @@ Disassembly of section .text: 828: 177b b 720 82a: 1012 b 850 82c: 1075 b 918 - 82e: e805 break 0 - 830: e825 break 1 - 832: efe5 break 63 + 82e: e805 break + 830: e825 break 0x1 + 832: efe5 break 0x3f 834: 1800 0000 jal 0 834: R_MIPS16_26 extern 838: 6500 nop -- cgit v1.1