MIPS: uasm: add a label variant of beq
authorPaul Burton <paul.burton@imgtec.com>
Tue, 24 Dec 2013 03:51:39 +0000 (03:51 +0000)
committerPaul Burton <paul.burton@imgtec.com>
Wed, 28 May 2014 15:20:25 +0000 (16:20 +0100)
This patch allows for use of the beq instruction with labels from uasm,
much as bne & others already do. It will be used by a subsequent patch.

Signed-off-by: Paul Burton <paul.burton@imgtec.com>
arch/mips/include/asm/uasm.h
arch/mips/mm/uasm.c

index c33a9564fb41bc6d5a7aff644d7520c2adf7c0ce..d1275a28777019b7323d8ab5100fb2b3b5c4fe45 100644 (file)
@@ -264,6 +264,8 @@ void uasm_il_bbit0(u32 **p, struct uasm_reloc **r, unsigned int reg,
                   unsigned int bit, int lid);
 void uasm_il_bbit1(u32 **p, struct uasm_reloc **r, unsigned int reg,
                   unsigned int bit, int lid);
+void uasm_il_beq(u32 **p, struct uasm_reloc **r, unsigned int r1,
+                unsigned int r2, int lid);
 void uasm_il_beqz(u32 **p, struct uasm_reloc **r, unsigned int reg, int lid);
 void uasm_il_beqzl(u32 **p, struct uasm_reloc **r, unsigned int reg, int lid);
 void uasm_il_bgezl(u32 **p, struct uasm_reloc **r, unsigned int reg, int lid);
index b9d14b6c7f58ebf1c51fa4aba6a85c60c04d9e4e..ae18b823e414ab07c0b97e5f5b38357798b099b8 100644 (file)
@@ -469,6 +469,14 @@ void ISAFUNC(uasm_il_b)(u32 **p, struct uasm_reloc **r, int lid)
 }
 UASM_EXPORT_SYMBOL(ISAFUNC(uasm_il_b));
 
+void ISAFUNC(uasm_il_beq)(u32 **p, struct uasm_reloc **r, unsigned int r1,
+                         unsigned int r2, int lid)
+{
+       uasm_r_mips_pc16(r, *p, lid);
+       ISAFUNC(uasm_i_beq)(p, r1, r2, 0);
+}
+UASM_EXPORT_SYMBOL(ISAFUNC(uasm_il_beq));
+
 void ISAFUNC(uasm_il_beqz)(u32 **p, struct uasm_reloc **r, unsigned int reg,
                           int lid)
 {