public void RunFldScenario() { const byte imm8 = 11; var result = Sse41.MultipleSumAbsoluteDifferences(_fld1, _fld2, imm8); Unsafe.Write(_dataTable.outArrayPtr, result); ValidateResult(_fld1, _fld2, imm8, _dataTable.outArrayPtr); }
public void RunLclFldScenario() { const byte imm8 = 10; var test = new SimpleBinaryOpTest__MultipleSumAbsoluteDifferences(); var result = Sse41.MultipleSumAbsoluteDifferences(test._fld1, test._fld2, imm8); Unsafe.Write(_dataTable.outArrayPtr, result); ValidateResult(test._fld1, test._fld2, imm8, _dataTable.outArrayPtr); }
public void RunLclVarScenario_LoadAligned() { const byte imm8 = 9; var left = Sse2.LoadAlignedVector128((Byte *)(_dataTable.inArray1Ptr)); var right = Sse2.LoadAlignedVector128((Byte *)(_dataTable.inArray2Ptr)); var result = Sse41.MultipleSumAbsoluteDifferences(left, right, imm8); Unsafe.Write(_dataTable.outArrayPtr, result); ValidateResult(left, right, imm8, _dataTable.outArrayPtr); }
public void RunLclVarScenario_UnsafeRead() { const byte imm8 = 7; var left = Unsafe.Read <Vector128 <Byte> >(_dataTable.inArray1Ptr); var right = Unsafe.Read <Vector128 <Byte> >(_dataTable.inArray2Ptr); var result = Sse41.MultipleSumAbsoluteDifferences(left, right, imm8); Unsafe.Write(_dataTable.outArrayPtr, result); ValidateResult(left, right, imm8, _dataTable.outArrayPtr); }
public void RunClsVarScenario() { const byte imm8 = 6; var result = Sse41.MultipleSumAbsoluteDifferences( _clsVar1, _clsVar2, imm8 ); Unsafe.Write(_dataTable.outArrayPtr, result); ValidateResult(_clsVar1, _clsVar2, imm8, _dataTable.outArrayPtr); }
public void RunBasicScenario_LoadAligned() { const byte imm8 = 2; var result = Sse41.MultipleSumAbsoluteDifferences( Sse2.LoadAlignedVector128((Byte *)(_dataTable.inArray1Ptr)), Sse2.LoadAlignedVector128((Byte *)(_dataTable.inArray2Ptr)), imm8 ); Unsafe.Write(_dataTable.outArrayPtr, result); ValidateResult(_dataTable.inArray1Ptr, _dataTable.inArray2Ptr, imm8, _dataTable.outArrayPtr); }
public void RunBasicScenario_UnsafeRead() { const byte imm8 = 0; var result = Sse41.MultipleSumAbsoluteDifferences( Unsafe.Read <Vector128 <Byte> >(_dataTable.inArray1Ptr), Unsafe.Read <Vector128 <Byte> >(_dataTable.inArray2Ptr), imm8 ); Unsafe.Write(_dataTable.outArrayPtr, result); ValidateResult(_dataTable.inArray1Ptr, _dataTable.inArray2Ptr, imm8, _dataTable.outArrayPtr); }
public static Vector128 <ushort> _mm_mpsadbw_epu8(Vector128 <byte> left, Vector128 <byte> right, byte mask) { return(Sse41.MultipleSumAbsoluteDifferences(left, right, mask)); }