diff options
author | Markos Chandras <markos.chandras@imgtec.com> | 2014-06-23 10:38:44 +0100 |
---|---|---|
committer | Ralf Baechle <ralf@linux-mips.org> | 2014-06-26 10:48:19 +0100 |
commit | 9d9873697e8b5aaf39ef1f96e57ab4fffb8f45ae (patch) | |
tree | e704bbd487246e892174a041fbeef2b68031e632 /arch | |
parent | 91ad11d7cc6f4472ebf177a6252fbf0fd100d798 (diff) | |
download | kernel-common-9d9873697e8b5aaf39ef1f96e57ab4fffb8f45ae.tar.gz kernel-common-9d9873697e8b5aaf39ef1f96e57ab4fffb8f45ae.tar.bz2 kernel-common-9d9873697e8b5aaf39ef1f96e57ab4fffb8f45ae.zip |
MIPS: uasm: Add s3s1s2 instruction builder
It will be used later on by the SLT instruction.
Signed-off-by: Markos Chandras <markos.chandras@imgtec.com>
Cc: linux-mips@linux-mips.org
Patchwork: https://patchwork.linux-mips.org/patch/7119/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Diffstat (limited to 'arch')
-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 f8d63b3b40b4..43259b3fca6d 100644 --- a/arch/mips/include/asm/uasm.h +++ b/arch/mips/include/asm/uasm.h @@ -67,6 +67,9 @@ void ISAOPC(op)(u32 **buf, unsigned int a, unsigned int b, signed int c) #define Ip_u2s3u1(op) \ void ISAOPC(op)(u32 **buf, unsigned int a, signed int b, unsigned int c) +#define Ip_s3s1s2(op) \ +void ISAOPC(op)(u32 **buf, int a, int b, int c) + #define Ip_u2u1s3(op) \ void ISAOPC(op)(u32 **buf, unsigned int a, unsigned int b, signed int c) diff --git a/arch/mips/mm/uasm.c b/arch/mips/mm/uasm.c index 00515805fe41..1e3e10919423 100644 --- a/arch/mips/mm/uasm.c +++ b/arch/mips/mm/uasm.c @@ -139,6 +139,13 @@ Ip_u1u2u3(op) \ } \ UASM_EXPORT_SYMBOL(uasm_i##op); +#define I_s3s1s2(op) \ +Ip_s3s1s2(op) \ +{ \ + build_insn(buf, insn##op, b, c, a); \ +} \ +UASM_EXPORT_SYMBOL(uasm_i##op); + #define I_u2u1u3(op) \ Ip_u2u1u3(op) \ { \ |