IR: Add IR instruction ZeroExtendToQuad

This commit is contained in:
MerryMage
2018-01-24 15:54:11 +00:00
parent af848c627d
commit 28ccd85e5c
5 changed files with 21 additions and 6 deletions

View File

@@ -396,6 +396,10 @@ U32 IREmitter::ZeroExtendToWord(const UAny& a) {
}
}
U128 IREmitter::ZeroExtendToQuad(const UAny& a) {
return Inst<U128>(Opcode::ZeroExtendLongToQuad, ZeroExtendToLong(a));
}
U64 IREmitter::ZeroExtendWordToLong(const U32& a) {
return Inst<U64>(Opcode::ZeroExtendWordToLong, a);
}

View File

@@ -125,6 +125,7 @@ public:
U64 SignExtendWordToLong(const U32& a);
U32 ZeroExtendToWord(const UAny& a);
U64 ZeroExtendToLong(const UAny& a);
U128 ZeroExtendToQuad(const UAny& a);
U32 ZeroExtendByteToWord(const U8& a);
U32 ZeroExtendHalfToWord(const U16& a);
U64 ZeroExtendWordToLong(const U32& a);

View File

@@ -112,6 +112,7 @@ OPCODE(ZeroExtendHalfToWord, T::U32, T::U16
OPCODE(ZeroExtendByteToLong, T::U64, T::U8 )
OPCODE(ZeroExtendHalfToLong, T::U64, T::U16 )
OPCODE(ZeroExtendWordToLong, T::U64, T::U32 )
OPCODE(ZeroExtendLongToQuad, T::U128, T::U64 )
OPCODE(ByteReverseWord, T::U32, T::U32 )
OPCODE(ByteReverseHalf, T::U16, T::U16 )
OPCODE(ByteReverseDual, T::U64, T::U64 )