PATCH for H8300 : Assembler bug in bit manipulation instructions
Anil Paranjape
AnilP1@KPITCummins.com
Thu Jan 8 10:58:00 GMT 2004
Hi all,
I have found a bug in assembler for h8300h, h8300hn and h8300 targets.
Assembler should give error for bit manipulation insns like band, bclr, biand,
bild, bior, bist, bixor, bld, bnot, bor, bset, bst, btst, bxor with @aa:16 and @aa:32.
Example,
bset #xx:3,@aa:32 or bset #xx:3,@aa:16
band #xx:3,@aa:32 or band #xx:3,@aa:16
Above type of insns are only valid in case of H8S.
Please find following patch for binutils-031228 which fixes this bug.
Assembler will give error for above insns in case of h8300h, h8300hn and h8300
after patch.
ChangeLog: /include/opcode
2004-01-08 Anil Paranjpe <anilp1@KPITCummins.com>
* h8300.h : Bit manipulation instruction with @aa:16 and @aa:32 are valid only
in case of H8S.
--- binutils-031228/include/opcode/h8300.h.old Thu Jan 8 14:03:18 2004
+++ binutils-031228/include/opcode/h8300.h Thu Jan 8 13:12:22 2004
@@ -900,8 +900,8 @@ struct h8_opcode
{code, AV_H8, 2, name, {{imm, RD8, E}}, {{op00, op01, imm, RD8, E}}}, \
{code, AV_H8, 6, name, {{imm, RDIND, E}}, {{op10, op11, B30 | RDIND, 0, op00, op01, imm, 0, E}}}, \
{code, AV_H8, 6, name, {{imm, ABS8DST, E}}, {{op20, op21, DSTABS8LIST, op00, op01, imm, 0, E}}}, \
- {code, AV_H8H, 6, name, {{imm, ABS16DST, E}}, {{0x6, 0xa, 0x1, op30, DST | MEMRELAX | ABS16LIST , op00, op01, imm, op4, E}}}, \
- {code, AV_H8H, 6, name, {{imm, ABS32DST, E}}, {{0x6, 0xa, 0x3, op30, DST | MEMRELAX | ABS32LIST , op00, op01, imm, op4, E}}}
+ {code, AV_H8S, 6, name, {{imm, ABS16DST, E}}, {{0x6, 0xa, 0x1, op30, DST | MEMRELAX | ABS16LIST , op00, op01, imm, op4, E}}}, \
+ {code, AV_H8S, 6, name, {{imm, ABS32DST, E}}, {{0x6, 0xa, 0x3, op30, DST | MEMRELAX | ABS32LIST , op00, op01, imm, op4, E}}}
#define BITOP_B(code, imm, name, op00, op01, op10, op11, op20, op21, op30, op4) \
{code, AV_H8SX, 0, name, {{imm, RDIND, E}}, {{op10, op11, B30 | RDIND, 0, op00, op01, imm, op4, E}}}, \
Regards,
Anil Paranjpe
More information about the Binutils
mailing list