MIPS: uasm: Add u3u2u1 instruction builders
authorMarkos Chandras <markos.chandras@imgtec.com>
Tue, 8 Apr 2014 11:47:02 +0000 (12:47 +0100)
committerRalf Baechle <ralf@linux-mips.org>
Fri, 30 May 2014 10:36:03 +0000 (12:36 +0200)
It will be used later on by the sllv and srlv instructions.

Signed-off-by: Markos Chandras <markos.chandras@imgtec.com>
Cc: linux-mips@linux-mips.org
Patchwork: http://patchwork.linux-mips.org/patch/6723/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
arch/mips/include/asm/uasm.h
arch/mips/mm/uasm.c

index 3d80387..fd9e50a 100644 (file)
@@ -55,6 +55,9 @@ void ISAOPC(op)(u32 **buf, unsigned int a, unsigned int b, unsigned int c)
 #define Ip_u2u1u3(op)                                                  \
 void ISAOPC(op)(u32 **buf, unsigned int a, unsigned int b, unsigned int c)
 
+#define Ip_u3u2u1(op)                                                  \
+void ISAOPC(op)(u32 **buf, unsigned int a, unsigned int b, unsigned int c)
+
 #define Ip_u3u1u2(op)                                                  \
 void ISAOPC(op)(u32 **buf, unsigned int a, unsigned int b, unsigned int c)
 
index 55a1fdf..0969a52 100644 (file)
@@ -144,6 +144,13 @@ Ip_u2u1u3(op)                                              \
 }                                                      \
 UASM_EXPORT_SYMBOL(uasm_i##op);
 
+#define I_u3u2u1(op)                                   \
+Ip_u3u2u1(op)                                          \
+{                                                      \
+       build_insn(buf, insn##op, c, b, a);             \
+}                                                      \
+UASM_EXPORT_SYMBOL(uasm_i##op);
+
 #define I_u3u1u2(op)                                   \
 Ip_u3u1u2(op)                                          \
 {                                                      \