powerpc: Emulate load/store floating point as integer word instructions
This adds emulation for the lfiwax, lfiwzx and stfiwx instructions. This necessitated adding a new flag to indicate whether a floating point or an integer conversion was needed for LOAD_FP and STORE_FP, so this moves the size field in op->type up 4 bits. Signed-off-by: Paul Mackerras <paulus@ozlabs.org> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
This commit is contained in:
committed by
Michael Ellerman
parent
31bfdb036f
commit
d2b65ac652
@@ -68,6 +68,7 @@ enum instruction_type {
|
||||
#define SIGNEXT 0x20
|
||||
#define UPDATE 0x40 /* matches bit in opcode 31 instructions */
|
||||
#define BYTEREV 0x80
|
||||
#define FPCONV 0x100
|
||||
|
||||
/* Barrier type field, ORed in with type */
|
||||
#define BARRIER_MASK 0xe0
|
||||
@@ -93,8 +94,8 @@ enum instruction_type {
|
||||
#define VSX_CHECK_VEC 8 /* check MSR_VEC not MSR_VSX for reg >= 32 */
|
||||
|
||||
/* Size field in type word */
|
||||
#define SIZE(n) ((n) << 8)
|
||||
#define GETSIZE(w) ((w) >> 8)
|
||||
#define SIZE(n) ((n) << 12)
|
||||
#define GETSIZE(w) ((w) >> 12)
|
||||
|
||||
#define MKOP(t, f, s) ((t) | (f) | SIZE(s))
|
||||
|
||||
|
||||
Reference in New Issue
Block a user