MIPS: inst.h: Add MDMX and paired single instruction aka MIPS-3D formats.
authorRalf Baechle <ralf@linux-mips.org>
Thu, 17 Jan 2013 15:29:27 +0000 (16:29 +0100)
committerRalf Baechle <ralf@linux-mips.org>
Fri, 1 Feb 2013 09:00:21 +0000 (10:00 +0100)
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
arch/mips/include/uapi/asm/inst.h

index 9d8651a13acc3be9f952ed89fa4395c865a8efbd..fb77a0e01cd788762337b872cb9eba46c8710ad0 100644 (file)
@@ -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 */