| 2004 | } |
| 2005 | |
| 2006 | void 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 | |
| 2018 | void OpDispatchBuilder::VPSLLVOp(OpcodeArgs) { |
| 2019 | AVXVariableShiftImpl(Op, IROps::OP_VUSHL); |
nothing calls this directly
no test coverage detected