diff options
author | Ralf Baechle <ralf@linux-mips.org> | 2013-01-17 16:29:27 +0100 |
---|---|---|
committer | Ralf Baechle <ralf@linux-mips.org> | 2013-02-01 10:00:21 +0100 |
commit | 8fba1e588b7ed124bef42548924a6f4f95de9dba (patch) | |
tree | b35b4aad93984c8092e3d66537c1f83c414206ed /arch/mips/include/uapi/asm | |
parent | 85dfaf0831d292aa19fa3f230a73f3081d7d7067 (diff) | |
download | talos-op-linux-8fba1e588b7ed124bef42548924a6f4f95de9dba.tar.gz talos-op-linux-8fba1e588b7ed124bef42548924a6f4f95de9dba.zip |
MIPS: inst.h: Add MDMX and paired single instruction aka MIPS-3D formats.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Diffstat (limited to 'arch/mips/include/uapi/asm')
-rw-r--r-- | arch/mips/include/uapi/asm/inst.h | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/arch/mips/include/uapi/asm/inst.h b/arch/mips/include/uapi/asm/inst.h index 9d8651a13acc..fb77a0e01cd7 100644 --- a/arch/mips/include/uapi/asm/inst.h +++ b/arch/mips/include/uapi/asm/inst.h @@ -290,6 +290,27 @@ struct b_format { /* BREAK and SYSCALL */ ;))) }; +struct ps_format { /* MIPS-3D / paired single format */ + BITFIELD_FIELD(unsigned int opcode : 6, + BITFIELD_FIELD(unsigned int rs : 5, + BITFIELD_FIELD(unsigned int ft : 5, + BITFIELD_FIELD(unsigned int fs : 5, + BITFIELD_FIELD(unsigned int fd : 5, + BITFIELD_FIELD(unsigned int func : 6, + ;)))))) +}; + +struct v_format { /* MDMX vector format */ + BITFIELD_FIELD(unsigned int opcode : 6, + BITFIELD_FIELD(unsigned int sel : 4, + BITFIELD_FIELD(unsigned int fmt : 1, + BITFIELD_FIELD(unsigned int vt : 5, + BITFIELD_FIELD(unsigned int vs : 5, + BITFIELD_FIELD(unsigned int vd : 5, + BITFIELD_FIELD(unsigned int func : 6, + ;))))))) +}; + union mips_instruction { unsigned int word; unsigned short halfword[2]; @@ -303,6 +324,8 @@ union mips_instruction { struct f_format f_format; struct ma_format ma_format; struct b_format b_format; + struct ps_format ps_format; + struct v_format v_format; }; #endif /* _UAPI_ASM_INST_H */ |