mirror of
https://github.com/FEX-Emu/FEX.git
synced 2026-10-14 14:00:42 +02:00
IR: Removes implicit sized PDEP/PEXT
This commit is contained in:
1 parent
35013bda37
commit
c8c8ddbd4f
2 files changed
+2
-8
No files matched your search
@@ -2460,7 +2460,7 @@ void OpDispatchBuilder::MULX(OpcodeArgs) {
|
||||
void OpDispatchBuilder::PDEP(OpcodeArgs) {
|
||||
auto* Input = LoadSource(GPRClass, Op, Op->Src[0], Op->Flags, -1);
|
||||
auto* Mask = LoadSource(GPRClass, Op, Op->Src[1], Op->Flags, -1);
|
||||
auto Result = _PDep(Input, Mask);
|
||||
auto Result = _PDep(IR::SizeToOpSize(GetSrcSize(Op)), Input, Mask);
|
||||
|
||||
StoreResult(GPRClass, Op, Op->Dest, Result, -1);
|
||||
}
|
||||
@@ -2468,7 +2468,7 @@ void OpDispatchBuilder::PDEP(OpcodeArgs) {
|
||||
void OpDispatchBuilder::PEXT(OpcodeArgs) {
|
||||
auto* Input = LoadSource(GPRClass, Op, Op->Src[0], Op->Flags, -1);
|
||||
auto* Mask = LoadSource(GPRClass, Op, Op->Src[1], Op->Flags, -1);
|
||||
auto Result = _PExt(Input, Mask);
|
||||
auto Result = _PExt(IR::SizeToOpSize(GetSrcSize(Op)), Input, Mask);
|
||||
|
||||
StoreResult(GPRClass, Op, Op->Dest, Result, -1);
|
||||
}
|
||||
|
||||
@@ -263,12 +263,6 @@ friend class FEXCore::IR::PassManager;
|
||||
IRPair<IROp_Extr> _Extr(OrderedNode *_Upper, OrderedNode *_Lower, uint8_t _LSB) {
|
||||
return _Extr(static_cast<OpSize>(std::max(GetOpSize(_Upper), GetOpSize(_Lower))), _Upper, _Lower, _LSB);
|
||||
}
|
||||
IRPair<IROp_PDep> _PDep(OrderedNode *_Input, OrderedNode *_Mask) {
|
||||
return _PDep(static_cast<OpSize>(std::max(GetOpSize(_Input), GetOpSize(_Mask))), _Input, _Mask);
|
||||
}
|
||||
IRPair<IROp_PExt> _PExt(OrderedNode *_Input, OrderedNode *_Mask) {
|
||||
return _PExt(static_cast<OpSize>(std::max(GetOpSize(_Input), GetOpSize(_Mask))), _Input, _Mask);
|
||||
}
|
||||
// End of Temporary naughty implicit IR operation handlers
|
||||
|
||||
void AddPhiValue(IR::IROp_Phi *Phi, OrderedNode *Value) {
|
||||
|
||||
Reference in new issue
Block a user