diff options
author | Markos Chandras <markos.chandras@imgtec.com> | 2014-04-08 07:47:02 -0400 |
---|---|---|
committer | Ralf Baechle <ralf@linux-mips.org> | 2014-05-30 06:36:03 -0400 |
commit | beef8e020d43c31a8741d3fb4781914ad1f4e420 (patch) | |
tree | ea86bac7e5076c09a818a8b1d83f1c8a0c615860 /arch/mips | |
parent | c410352699e2a1adc77969f19eb63030e610d048 (diff) |
MIPS: uasm: Add u3u2u1 instruction builders
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>
Diffstat (limited to 'arch/mips')
-rw-r--r-- | arch/mips/include/asm/uasm.h | 3 | ||||
-rw-r--r-- | arch/mips/mm/uasm.c | 7 |
2 files changed, 10 insertions, 0 deletions
diff --git a/arch/mips/include/asm/uasm.h b/arch/mips/include/asm/uasm.h index 3d803877ad8f..fd9e50ae81c9 100644 --- a/arch/mips/include/asm/uasm.h +++ b/arch/mips/include/asm/uasm.h | |||
@@ -55,6 +55,9 @@ void ISAOPC(op)(u32 **buf, unsigned int a, unsigned int b, unsigned int c) | |||
55 | #define Ip_u2u1u3(op) \ | 55 | #define Ip_u2u1u3(op) \ |
56 | void ISAOPC(op)(u32 **buf, unsigned int a, unsigned int b, unsigned int c) | 56 | void ISAOPC(op)(u32 **buf, unsigned int a, unsigned int b, unsigned int c) |
57 | 57 | ||
58 | #define Ip_u3u2u1(op) \ | ||
59 | void ISAOPC(op)(u32 **buf, unsigned int a, unsigned int b, unsigned int c) | ||
60 | |||
58 | #define Ip_u3u1u2(op) \ | 61 | #define Ip_u3u1u2(op) \ |
59 | void ISAOPC(op)(u32 **buf, unsigned int a, unsigned int b, unsigned int c) | 62 | void ISAOPC(op)(u32 **buf, unsigned int a, unsigned int b, unsigned int c) |
60 | 63 | ||
diff --git a/arch/mips/mm/uasm.c b/arch/mips/mm/uasm.c index 55a1fdfb76ef..0969a52384b4 100644 --- a/arch/mips/mm/uasm.c +++ b/arch/mips/mm/uasm.c | |||
@@ -144,6 +144,13 @@ Ip_u2u1u3(op) \ | |||
144 | } \ | 144 | } \ |
145 | UASM_EXPORT_SYMBOL(uasm_i##op); | 145 | UASM_EXPORT_SYMBOL(uasm_i##op); |
146 | 146 | ||
147 | #define I_u3u2u1(op) \ | ||
148 | Ip_u3u2u1(op) \ | ||
149 | { \ | ||
150 | build_insn(buf, insn##op, c, b, a); \ | ||
151 | } \ | ||
152 | UASM_EXPORT_SYMBOL(uasm_i##op); | ||
153 | |||
147 | #define I_u3u1u2(op) \ | 154 | #define I_u3u1u2(op) \ |
148 | Ip_u3u1u2(op) \ | 155 | Ip_u3u1u2(op) \ |
149 | { \ | 156 | { \ |