private static void LoadPairScalarVector64_UInt32() { var test = new LoadPairScalarVector64_UInt32(); if (test.IsSupported) { // Validates basic functionality works test.RunBasicScenario(); // Validates calling via reflection works test.RunReflectionScenario(); // Validates loading to a static member works test.RunClsVarScenario(); // Validates loading to the field of a local class works test.RunClassLclFldScenario(); // Validates loading to the field of a local struct works test.RunStructLclFldScenario(); // Validates loading to an instance member of a struct works test.RunStructFldScenario(); } else { // Validates we throw on unsupported hardware test.RunUnsupportedScenario(); } if (!test.Succeeded) { throw new Exception("One or more scenarios did not complete as expected."); } }
public void RunStructFldScenario(LoadPairScalarVector64_UInt32 testClass) { _fld = AdvSimd.Arm64.LoadPairScalarVector64((UInt32 *)(testClass._dataTable.inArrayPtr)); Unsafe.Write(testClass._dataTable.outArrayPtr, _fld); testClass.ValidateResult(testClass._dataTable.inArrayPtr, testClass._dataTable.outArrayPtr); }