From 0c9573f43c0d0f0611b8a4dab3fb0bf680c0350e Mon Sep 17 00:00:00 2001 From: Nick Clifton Date: Mon, 28 Jan 2013 15:28:40 +0000 Subject: [PATCH] PR gas/15069 * tic6x-opcode-table.h: Fix encoding of BNOP instruction. * 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. --- gas/testsuite/ChangeLog | 7 +++++ gas/testsuite/gas/tic6x/insns-c674x-pcrel.d | 14 ++++++++++ gas/testsuite/gas/tic6x/insns-c674x-pcrel.s | 42 +++++++++++++++++++++++++++++ include/opcode/ChangeLog | 5 ++++ include/opcode/tic6x-opcode-table.h | 2 +- 5 files changed, 69 insertions(+), 1 deletion(-) 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 + + 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 * 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 ,b3 [ \t]*2a8: R_C6000_PCR_S21[ \t]+b1 [ \t]*\.\.\. +0+2c0 <[^>]*> 3014a120[ \t]+\[!b0\] bnop \.S1 00000310 ,5 +0+2c4 <[^>]*> 2010a120[ \t]+\[b0\] bnop \.S1 00000300 ,5 +0+2c8 <[^>]*> 00000410[ \t]+b \.S1 000002e0 +[ \t]*\.\.\. +0+2f8 <[^>]*> 80801021[ \t]+\[a1\] bdec \.S1 000002e0 ,a1 +[ \t]*\.\.\. +0+320 <[^>]*> 3014a120[ \t]+\[!b0\] bnop \.S1 00000348 ,5 +0+324 <[^>]*> 2010a120[ \t]+\[b0\] bnop \.S1 00000340 ,5 +0+328 <[^>]*> 00000410[ \t]+b \.S1 00000340 +[ \t]*\.\.\. +0+33c <[^>]*> e0000000[ \t]+ +[ \t]*\.\.\. +0+358 <[^>]*> 80801021[ \t]+\[a1\] bdec \.S1 00000340 ,a1 +0+35c <[^>]*> e0000000[ \t]+ 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 + + PR gas/15069 + * tic6x-opcode-table.h: Fix encoding of BNOP instruction. + 2013-01-24 Nick Clifton * 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)), -- 2.7.4