This is the mail archive of the
binutils@sources.redhat.com
mailing list for the binutils project.
Re: MIPS R3900 'bgt' with gcc 3.0/binutils 2.11.2
Jonathan Larmour wrote:
>
> Thanks. That's the type of info I was looking for - so it's an opcodes
> issue, not a gcc one. I'll follow up with a patch on the binutils list
> only.
And this is it. I have write access to /cvs/src due to GDB, so I can apply
this. Okay?
Jifl
2001-08-13 Jonathan Larmour <jlarmour@redhat.com>
* mips-opc.c: R3900s can support all branch likely INSN_MACROs where
the corresponding non-likely insn is in MIPS I.
--
Red Hat, Rustat House, Clifton Road, Cambridge, UK. Tel: +44 (1223) 271062
Maybe this world is another planet's Hell -Aldous Huxley || Opinions==mine
Index: mips-opc.c
===================================================================
RCS file: /cvs/src/src/opcodes/mips-opc.c,v
retrieving revision 1.24
diff -u -5 -p -r1.24 mips-opc.c
--- mips-opc.c 2001/08/10 16:22:08 1.24
+++ mips-opc.c 2001/08/13 13:38:17
@@ -169,61 +169,61 @@ const struct mips_opcode mips_builtin_op
{"beqz", "s,p", 0x10000000, 0xfc1f0000, CBD|RD_s, I1 },
{"beqzl", "s,p", 0x50000000, 0xfc1f0000, CBL|RD_s, I2|T3 },
{"beq", "s,t,p", 0x10000000, 0xfc000000, CBD|RD_s|RD_t, I1 },
{"beq", "s,I,p", 0, (int) M_BEQ_I, INSN_MACRO, I1 },
{"beql", "s,t,p", 0x50000000, 0xfc000000, CBL|RD_s|RD_t, I2|T3 },
-{"beql", "s,I,p", 0, (int) M_BEQL_I, INSN_MACRO, I2 },
+{"beql", "s,I,p", 0, (int) M_BEQL_I, INSN_MACRO, I2|T3 },
{"bge", "s,t,p", 0, (int) M_BGE, INSN_MACRO, I1 },
{"bge", "s,I,p", 0, (int) M_BGE_I, INSN_MACRO, I1 },
-{"bgel", "s,t,p", 0, (int) M_BGEL, INSN_MACRO, I2 },
-{"bgel", "s,I,p", 0, (int) M_BGEL_I, INSN_MACRO, I2 },
+{"bgel", "s,t,p", 0, (int) M_BGEL, INSN_MACRO, I2|T3 },
+{"bgel", "s,I,p", 0, (int) M_BGEL_I, INSN_MACRO, I2|T3 },
{"bgeu", "s,t,p", 0, (int) M_BGEU, INSN_MACRO, I1 },
{"bgeu", "s,I,p", 0, (int) M_BGEU_I, INSN_MACRO, I1 },
-{"bgeul", "s,t,p", 0, (int) M_BGEUL, INSN_MACRO, I2 },
-{"bgeul", "s,I,p", 0, (int) M_BGEUL_I, INSN_MACRO, I2 },
+{"bgeul", "s,t,p", 0, (int) M_BGEUL, INSN_MACRO, I2|T3 },
+{"bgeul", "s,I,p", 0, (int) M_BGEUL_I, INSN_MACRO, I2|T3 },
{"bgez", "s,p", 0x04010000, 0xfc1f0000, CBD|RD_s, I1 },
{"bgezl", "s,p", 0x04030000, 0xfc1f0000, CBL|RD_s, I2|T3 },
{"bgezal", "s,p", 0x04110000, 0xfc1f0000, CBD|RD_s|WR_31, I1 },
{"bgezall", "s,p", 0x04130000, 0xfc1f0000, CBL|RD_s, I2|T3 },
{"bgt", "s,t,p", 0, (int) M_BGT, INSN_MACRO, I1 },
{"bgt", "s,I,p", 0, (int) M_BGT_I, INSN_MACRO, I1 },
-{"bgtl", "s,t,p", 0, (int) M_BGTL, INSN_MACRO, I2 },
-{"bgtl", "s,I,p", 0, (int) M_BGTL_I, INSN_MACRO, I2 },
+{"bgtl", "s,t,p", 0, (int) M_BGTL, INSN_MACRO, I2|T3 },
+{"bgtl", "s,I,p", 0, (int) M_BGTL_I, INSN_MACRO, I2|T3 },
{"bgtu", "s,t,p", 0, (int) M_BGTU, INSN_MACRO, I1 },
{"bgtu", "s,I,p", 0, (int) M_BGTU_I, INSN_MACRO, I1 },
-{"bgtul", "s,t,p", 0, (int) M_BGTUL, INSN_MACRO, I2 },
-{"bgtul", "s,I,p", 0, (int) M_BGTUL_I, INSN_MACRO, I2 },
+{"bgtul", "s,t,p", 0, (int) M_BGTUL, INSN_MACRO, I2|T3 },
+{"bgtul", "s,I,p", 0, (int) M_BGTUL_I, INSN_MACRO, I2|T3 },
{"bgtz", "s,p", 0x1c000000, 0xfc1f0000, CBD|RD_s, I1 },
{"bgtzl", "s,p", 0x5c000000, 0xfc1f0000, CBL|RD_s, I2|T3 },
{"ble", "s,t,p", 0, (int) M_BLE, INSN_MACRO, I1 },
{"ble", "s,I,p", 0, (int) M_BLE_I, INSN_MACRO, I1 },
-{"blel", "s,t,p", 0, (int) M_BLEL, INSN_MACRO, I2 },
-{"blel", "s,I,p", 0, (int) M_BLEL_I, INSN_MACRO, I2 },
+{"blel", "s,t,p", 0, (int) M_BLEL, INSN_MACRO, I2|T3 },
+{"blel", "s,I,p", 0, (int) M_BLEL_I, INSN_MACRO, I2|T3 },
{"bleu", "s,t,p", 0, (int) M_BLEU, INSN_MACRO, I1 },
{"bleu", "s,I,p", 0, (int) M_BLEU_I, INSN_MACRO, I1 },
-{"bleul", "s,t,p", 0, (int) M_BLEUL, INSN_MACRO, I2 },
-{"bleul", "s,I,p", 0, (int) M_BLEUL_I, INSN_MACRO, I2 },
+{"bleul", "s,t,p", 0, (int) M_BLEUL, INSN_MACRO, I2|T3 },
+{"bleul", "s,I,p", 0, (int) M_BLEUL_I, INSN_MACRO, I2|T3 },
{"blez", "s,p", 0x18000000, 0xfc1f0000, CBD|RD_s, I1 },
{"blezl", "s,p", 0x58000000, 0xfc1f0000, CBL|RD_s, I2|T3 },
{"blt", "s,t,p", 0, (int) M_BLT, INSN_MACRO, I1 },
{"blt", "s,I,p", 0, (int) M_BLT_I, INSN_MACRO, I1 },
-{"bltl", "s,t,p", 0, (int) M_BLTL, INSN_MACRO, I2 },
-{"bltl", "s,I,p", 0, (int) M_BLTL_I, INSN_MACRO, I2 },
+{"bltl", "s,t,p", 0, (int) M_BLTL, INSN_MACRO, I2|T3 },
+{"bltl", "s,I,p", 0, (int) M_BLTL_I, INSN_MACRO, I2|T3 },
{"bltu", "s,t,p", 0, (int) M_BLTU, INSN_MACRO, I1 },
{"bltu", "s,I,p", 0, (int) M_BLTU_I, INSN_MACRO, I1 },
-{"bltul", "s,t,p", 0, (int) M_BLTUL, INSN_MACRO, I2 },
-{"bltul", "s,I,p", 0, (int) M_BLTUL_I, INSN_MACRO, I2 },
+{"bltul", "s,t,p", 0, (int) M_BLTUL, INSN_MACRO, I2|T3 },
+{"bltul", "s,I,p", 0, (int) M_BLTUL_I, INSN_MACRO, I2|T3 },
{"bltz", "s,p", 0x04000000, 0xfc1f0000, CBD|RD_s, I1 },
{"bltzl", "s,p", 0x04020000, 0xfc1f0000, CBL|RD_s, I2|T3 },
{"bltzal", "s,p", 0x04100000, 0xfc1f0000, CBD|RD_s|WR_31, I1 },
{"bltzall", "s,p", 0x04120000, 0xfc1f0000, CBL|RD_s, I2|T3 },
{"bnez", "s,p", 0x14000000, 0xfc1f0000, CBD|RD_s, I1 },
{"bnezl", "s,p", 0x54000000, 0xfc1f0000, CBL|RD_s, I2|T3 },
{"bne", "s,t,p", 0x14000000, 0xfc000000, CBD|RD_s|RD_t, I1 },
{"bne", "s,I,p", 0, (int) M_BNE_I, INSN_MACRO, I1 },
{"bnel", "s,t,p", 0x54000000, 0xfc000000, CBL|RD_s|RD_t, I2|T3 },
-{"bnel", "s,I,p", 0, (int) M_BNEL_I, INSN_MACRO, I2 },
+{"bnel", "s,I,p", 0, (int) M_BNEL_I, INSN_MACRO, I2|T3 },
{"break", "", 0x0000000d, 0xffffffff, TRAP, I1 },
{"break", "B", 0x0000000d, 0xfc00003f, TRAP, I32 },
{"break", "c", 0x0000000d, 0xfc00ffff, TRAP, I1 },
{"break", "c,q", 0x0000000d, 0xfc00003f, TRAP, I1 },
{"c.f.d", "S,T", 0x46200030, 0xffe007ff, RD_S|RD_T|WR_CC|FP_D, I1 },