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 | |
| 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>
| -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 | { \ |
