MCPcopy Create free account
hub / github.com/FEX-Emu/FEX / AVXVariableShiftImpl

Method AVXVariableShiftImpl

FEXCore/Source/Interface/Core/OpcodeDispatcher/Vector.cpp:2006–2016  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

2004}
2005
2006void OpDispatchBuilder::AVXVariableShiftImpl(OpcodeArgs, IROps IROp) {
2007 const auto DstSize = OpSizeFromDst(Op);
2008 const auto SrcSize = OpSizeFromSrc(Op);
2009
2010 Ref Vector = LoadSource_WithOpSize(FPRClass, Op, Op->Src[0], DstSize, Op->Flags);
2011 Ref ShiftVector = LoadSource_WithOpSize(FPRClass, Op, Op->Src[1], DstSize, Op->Flags);
2012
2013 DeriveOp(Shift, IROp, _VUShr(DstSize, SrcSize, Vector, ShiftVector, true));
2014
2015 StoreResult(FPRClass, Op, Shift, OpSize::iInvalid);
2016}
2017
2018void OpDispatchBuilder::VPSLLVOp(OpcodeArgs) {
2019 AVXVariableShiftImpl(Op, IROps::OP_VUSHL);

Callers

nothing calls this directly

Calls 1

DeriveOpFunction · 0.85

Tested by

no test coverage detected