aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gas/testsuite/ChangeLog7
-rw-r--r--gas/testsuite/gas/tic6x/insns-c674x-pcrel.d14
-rw-r--r--gas/testsuite/gas/tic6x/insns-c674x-pcrel.s42
-rw-r--r--include/opcode/ChangeLog5
-rw-r--r--include/opcode/tic6x-opcode-table.h2
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)),