diff options
-rw-r--r-- | gas/testsuite/ChangeLog | 7 | ||||
-rw-r--r-- | gas/testsuite/gas/tic6x/insns-c674x-pcrel.d | 14 | ||||
-rw-r--r-- | gas/testsuite/gas/tic6x/insns-c674x-pcrel.s | 42 | ||||
-rw-r--r-- | include/opcode/ChangeLog | 5 | ||||
-rw-r--r-- | include/opcode/tic6x-opcode-table.h | 2 |
5 files changed, 69 insertions, 1 deletions
diff --git a/gas/testsuite/ChangeLog b/gas/testsuite/ChangeLog index 2545ce1..85dd2c1 100644 --- a/gas/testsuite/ChangeLog +++ b/gas/testsuite/ChangeLog @@ -1,3 +1,10 @@ +2013-01-28 Alexis Deruelle <alexis.deruelle@gmail.com> + + PR gas/15069 + * gas/tic6x/insns-c674x-pcrel.s: Add test of BNOP instruction + within header based fetch packet. + * gas/tic6x/insns-c674x-pcrel.d: Update expected disassembly. + 2013-01-24 Nick Clifton <nickc@redhat.com> * gas/elf/warn-2.s: Skip for all V850 variants. diff --git a/gas/testsuite/gas/tic6x/insns-c674x-pcrel.d b/gas/testsuite/gas/tic6x/insns-c674x-pcrel.d index 1f493a2..fa93f13 100644 --- a/gas/testsuite/gas/tic6x/insns-c674x-pcrel.d +++ b/gas/testsuite/gas/tic6x/insns-c674x-pcrel.d @@ -183,3 +183,17 @@ Disassembly of section \.text: 0+2a8 <[^>]*> 10000012[ \t]+callp \.S2 000002a0 <f11\+0x20>,b3 [ \t]*2a8: R_C6000_PCR_S21[ \t]+b1 [ \t]*\.\.\. +0+2c0 <[^>]*> 3014a120[ \t]+\[!b0\] bnop \.S1 00000310 <g12\+0x50>,5 +0+2c4 <[^>]*> 2010a120[ \t]+\[b0\] bnop \.S1 00000300 <g12\+0x40>,5 +0+2c8 <[^>]*> 00000410[ \t]+b \.S1 000002e0 <g12\+0x20> +[ \t]*\.\.\. +0+2f8 <[^>]*> 80801021[ \t]+\[a1\] bdec \.S1 000002e0 <g12\+0x20>,a1 +[ \t]*\.\.\. +0+320 <[^>]*> 3014a120[ \t]+\[!b0\] bnop \.S1 00000348 <g13\+0x28>,5 +0+324 <[^>]*> 2010a120[ \t]+\[b0\] bnop \.S1 00000340 <g13\+0x20>,5 +0+328 <[^>]*> 00000410[ \t]+b \.S1 00000340 <g13\+0x20> +[ \t]*\.\.\. +0+33c <[^>]*> e0000000[ \t]+<fetch packet header 0xe0000000> +[ \t]*\.\.\. +0+358 <[^>]*> 80801021[ \t]+\[a1\] bdec \.S1 00000340 <g13\+0x20>,a1 +0+35c <[^>]*> e0000000[ \t]+<fetch packet header 0xe0000000> diff --git a/gas/testsuite/gas/tic6x/insns-c674x-pcrel.s b/gas/testsuite/gas/tic6x/insns-c674x-pcrel.s index 4d1e14c..2a6cce9 100644 --- a/gas/testsuite/gas/tic6x/insns-c674x-pcrel.s +++ b/gas/testsuite/gas/tic6x/insns-c674x-pcrel.s @@ -206,3 +206,45 @@ g11: nop nop nop +g12: + .word 0x3014a120 + .word 0x2010a120 + .word 0x00000410 + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + .word 0x80801021 + nop + nop + nop + nop + nop + nop + nop + nop + nop +g13: + .word 0x3014a120 + .word 0x2010a120 + .word 0x00000410 + nop + nop + nop + nop + .word 0xe0000000 + nop + nop + nop + nop + nop + nop + .word 0x80801021 + .word 0xe0000000 diff --git a/include/opcode/ChangeLog b/include/opcode/ChangeLog index f3b5744..321239a 100644 --- a/include/opcode/ChangeLog +++ b/include/opcode/ChangeLog @@ -1,3 +1,8 @@ +2013-01-28 Alexis Deruelle <alexis.deruelle@gmail.com> + + PR gas/15069 + * tic6x-opcode-table.h: Fix encoding of BNOP instruction. + 2013-01-24 Nick Clifton <nickc@redhat.com> * v850.h: Add e3v5 support. diff --git a/include/opcode/tic6x-opcode-table.h b/include/opcode/tic6x-opcode-table.h index bd22558..45e26fb 100644 --- a/include/opcode/tic6x-opcode-table.h +++ b/include/opcode/tic6x-opcode-table.h @@ -436,7 +436,7 @@ INSN(bnop, s, branch_nop_cst, branch, C64X, TIC6X_FLAG_NO_CROSS|TIC6X_FLAG_MCNOP, FIX0(), OP2(OLCST, OACST), - ENC3(ENC(s, fu, 0), ENC(src2, pcrel, 0), ENC(src1, ucst, 1))) + ENC3(ENC(s, fu, 0), ENC(src2, pcrel_half, 0), ENC(src1, ucst, 1))) INSN(bnop, nfu, s_branch_nop_cst, branch, C64XP, TIC6X_FLAG_NO_CROSS|TIC6X_FLAG_MACRO|TIC6X_FLAG_MCNOP, FIX1(FIX(s, 0)), |