More compact bytecode

This commit is contained in:
tevador 2019-02-15 11:14:40 +01:00
parent 447e8a1d4f
commit ff0c5a58b3

View File

@ -39,14 +39,18 @@ namespace RandomX {
typedef void(InterpretedVirtualMachine::*InstructionHandler)(Instruction&); typedef void(InterpretedVirtualMachine::*InstructionHandler)(Instruction&);
struct alignas(8) InstructionByteCode { struct alignas(8) InstructionByteCode {
int_reg_t* idst; union {
int_reg_t* isrc; int_reg_t* idst;
__m128d* fdst;
};
union {
int_reg_t* isrc;
__m128d* fsrc;
};
union { union {
uint64_t imm; uint64_t imm;
int64_t simm; int64_t simm;
}; };
__m128d* fdst;
__m128d* fsrc;
uint32_t condition; uint32_t condition;
uint32_t memMask; uint32_t memMask;
uint32_t type; uint32_t type;