public CvtSchedTest(int low, int high, int step) { this.Counts = UarchTestHelpers.GenerateCountArray(low, high, step); this.Prefix = "cvtsched"; this.Description = "I2F (cvtsi2ss) Scheduler Capacity Test"; this.FunctionDefinitionParameters = "uint64_t iterations, int *arr"; this.GetFunctionCallParameters = "structIterations, A"; }
public LdqStqTest(int low, int high, int step) { this.Counts = UarchTestHelpers.GenerateCountArray(low, high, step); this.Prefix = "mixldqstq"; this.Description = "Mixed Load/Store Queue Test (mem ops pending retire)"; this.FunctionDefinitionParameters = "uint64_t iterations, int *arr, int *arr1"; this.GetFunctionCallParameters = "structIterations, A, B"; }
public FaddIntAddSchedTest(int low, int high, int step) { this.Counts = UarchTestHelpers.GenerateCountArray(low, high, step); this.Prefix = "mixfaddintaddsched"; this.Description = "Mixed FP/Integer Scheduler Capacity Test"; this.FunctionDefinitionParameters = "uint64_t iterations, int *arr, float *floatArr"; this.GetFunctionCallParameters = "structIterations, A, fpArr"; this.DivideTimeByCount = false; }
public MixLoadStoreSchedTest(int low, int high, int step) { this.Counts = UarchTestHelpers.GenerateCountArray(low, high, step); this.Prefix = "mixloadstoresched"; this.Description = "Mixed Load/Store (Address Dependency) scheduler capacity test"; this.FunctionDefinitionParameters = "uint64_t iterations, int *arr, int *arr2"; this.GetFunctionCallParameters = "structIterations, A, B"; this.DivideTimeByCount = false; }
public StqTest(int low, int high, int step) { this.Counts = UarchTestHelpers.GenerateCountArray(low, high, step); this.Prefix = "stq"; this.Description = "Store Queue Test (stores pending retire)"; this.FunctionDefinitionParameters = "uint64_t iterations, int *arr, int *arr1"; this.GetFunctionCallParameters = "structIterations, A, B"; this.DivideTimeByCount = false; }
public JumpNsqTest(int low, int high, int step) { this.Counts = UarchTestHelpers.GenerateCountArray(low, high, step); this.Prefix = "jmpnsq"; this.Description = "Not-taken Jump Scheduler Capacity Test, Excluding NSQ"; this.FunctionDefinitionParameters = "uint64_t iterations, int *arr"; this.GetFunctionCallParameters = "structIterations, A"; this.DivideTimeByCount = false; }
public MmxRfTest(int low, int high, int step) { this.Counts = UarchTestHelpers.GenerateCountArray(low, high, step); this.Prefix = "mmxrf"; this.Description = "64-bit MMX RF Capacity Test. x86 only"; this.FunctionDefinitionParameters = "uint64_t iterations, int *arr, int *arr2"; this.GetFunctionCallParameters = "structIterations, A, B"; this.DivideTimeByCount = false; }
public FpRfTest(int low, int high, int step) { this.Counts = UarchTestHelpers.GenerateCountArray(low, high, step); this.Prefix = "fprf"; this.Description = "FP (64-bit scalar) RF Test"; this.FunctionDefinitionParameters = "uint64_t iterations, int *arr, float *floatArr"; this.GetFunctionCallParameters = "structIterations, A, fpArr"; this.DivideTimeByCount = false; }
public ReturnStackTest(int low, int high, int step) { this.Counts = UarchTestHelpers.GenerateCountArray(low, high, step); this.Prefix = "returnstack"; this.Description = "Return Stack Depth Test"; this.FunctionDefinitionParameters = "uint64_t iterations"; this.GetFunctionCallParameters = "structIterations"; this.DivideTimeByCount = true; }
public PdepLeaSchedTest(int low, int high, int step) { this.Counts = UarchTestHelpers.GenerateCountArray(low, high, step); this.Prefix = "mixpdepleasched"; this.Description = "Mixed PDEP/LEA Scheduler Capacity Test"; this.FunctionDefinitionParameters = "uint64_t iterations, int *arr"; this.GetFunctionCallParameters = "structIterations, A"; this.DivideTimeByCount = false; }
public MulSchedTest(int low, int high, int step) { this.Counts = UarchTestHelpers.GenerateCountArray(low, high, step); this.Prefix = "mulsched"; this.Description = "Integer (64-bit mul) Scheduler Capacity Test"; this.FunctionDefinitionParameters = "uint64_t iterations, int *arr"; this.GetFunctionCallParameters = "structIterations, A"; this.DivideTimeByCount = false; }
/// <summary> /// /// </summary> /// <param name="low">must be greater than 2</param> /// <param name="high"></param> /// <param name="step"></param> public NopLoopTest(int high, int step) { this.Counts = UarchTestHelpers.GenerateCountArray(3, high, step); this.Prefix = "noploop"; this.Description = $"NOP throughput for various loop sizes"; this.FunctionDefinitionParameters = "uint64_t iterations"; this.GetFunctionCallParameters = "structIterations"; this.DivideTimeByCount = true; }
public VecStoreDataNsqTest(int low, int high, int step) { this.Counts = UarchTestHelpers.GenerateCountArray(low, high, step); this.Prefix = "vecstoredatansq"; this.Description = "Store 128-bit Data Scheduler Capacity Test, Excluding NSQ"; this.FunctionDefinitionParameters = "uint64_t iterations, int *arr, int *arr1"; this.GetFunctionCallParameters = "structIterations, A, B"; this.DivideTimeByCount = false; }
public Add256RfTest(int low, int high, int step) { this.Counts = UarchTestHelpers.GenerateCountArray(low, high, step); this.Prefix = "add256rf"; this.Description = "256-bit Integer Add RF Capacity Test - 128-bit fadd on ARM"; this.FunctionDefinitionParameters = "uint64_t iterations, int *arr, int *arr2"; this.GetFunctionCallParameters = "structIterations, A, B"; this.DivideTimeByCount = false; }
public Fadd256SchedTest(int low, int high, int step) { this.Counts = UarchTestHelpers.GenerateCountArray(low, high, step); this.Prefix = "fadd256sched"; this.Description = "256-bit FADD Scheduler Capacity Test, 128-bit on ARM"; this.FunctionDefinitionParameters = "uint64_t iterations, int *arr, float *floatArr"; this.GetFunctionCallParameters = "structIterations, A, fpArr"; this.DivideTimeByCount = false; }
public VecRfTest(int low, int high, int step) { this.Counts = UarchTestHelpers.GenerateCountArray(low, high, step); this.Prefix = "vec128rf"; this.Description = "Vector (128-bit packed int) RF Test"; this.FunctionDefinitionParameters = "uint64_t iterations, int *arr"; this.GetFunctionCallParameters = "structIterations, A"; this.DivideTimeByCount = false; }
public LdmTest(int low, int high, int step) { this.Counts = UarchTestHelpers.GenerateCountArray(low, high, step); this.Prefix = "ldm"; this.Description = "Integer (add) without Load Dependency Matrix Scheduler Capacity Test"; this.FunctionDefinitionParameters = "uint64_t iterations, int *arr"; this.GetFunctionCallParameters = "structIterations, A"; this.DivideTimeByCount = false; }
public MixJmpMulSchedTest(int low, int high, int step) { this.Counts = UarchTestHelpers.GenerateCountArray(low, high, step); this.Prefix = "mixmuljmpsched"; this.Description = "Mixed integer multiply and not-taken Jump Scheduler Capacity Test"; this.FunctionDefinitionParameters = "uint64_t iterations, int *arr"; this.GetFunctionCallParameters = "structIterations, A"; this.DivideTimeByCount = false; }
public NotIntRfTest(int low, int high, int step) { this.Counts = UarchTestHelpers.GenerateCountArray(low, high, step); this.Prefix = "notintrf"; this.Description = "Integer RF Test with not (no setting flags)"; this.FunctionDefinitionParameters = "uint64_t iterations, int *arr"; this.GetFunctionCallParameters = "structIterations, A"; this.DivideTimeByCount = false; }
public TakenJumpSchedTest(int low, int high, int step) { this.Counts = UarchTestHelpers.GenerateCountArray(low, high, step); this.Prefix = "takenjmpsched"; this.Description = "Taken Jump Scheduler Capacity Test"; this.FunctionDefinitionParameters = "uint64_t iterations, int *arr, int listsize"; this.GetFunctionCallParameters = "structIterations, A, list_size"; this.DivideTimeByCount = false; }
public MxcsrTest(int low, int high, int step) { this.Counts = UarchTestHelpers.GenerateCountArray(low, high, step); this.Prefix = "mxcsrrename"; this.Description = "MXCSR renamed registers"; this.FunctionDefinitionParameters = "uint64_t iterations, int *arr, int *arr1"; this.GetFunctionCallParameters = "structIterations, A, B"; this.DivideTimeByCount = false; }
public TakenBranchBufferTest(int low, int high, int step) { this.Counts = UarchTestHelpers.GenerateCountArray(low, high, step); this.Prefix = "tbb"; this.Description = "Taken Branch Buffer Test (taken branches pending retire)"; this.FunctionDefinitionParameters = "uint64_t iterations, int *arr"; this.GetFunctionCallParameters = "structIterations, A"; this.DivideTimeByCount = false; }
public StoreSchedTest(int low, int high, int step) { this.Counts = UarchTestHelpers.GenerateCountArray(low, high, step); this.Prefix = "storesched"; this.Description = "Store Address Scheduler Capacity Test"; this.FunctionDefinitionParameters = "uint64_t iterations, int count, int *arr2"; this.GetFunctionCallParameters = "structIterations, list_size, B"; this.DivideTimeByCount = false; }
public MixFaddFmulSchedTest(int low, int high, int step) { this.Counts = UarchTestHelpers.GenerateCountArray(low, high, step); this.Prefix = "mixfaddfmulsched"; this.Description = "FP (mixed 32-bit add and multiply) Scheduler Capacity Test"; this.FunctionDefinitionParameters = "uint64_t iterations, int *arr, float *floatArr"; this.GetFunctionCallParameters = "structIterations, A, fpArr"; this.DivideTimeByCount = false; }
public MixMulBtsSchedTest(int low, int high, int step) { this.Counts = UarchTestHelpers.GenerateCountArray(low, high, step); this.Prefix = "mixmulbtssched"; this.Description = "Mixed Multiply/BTS Scheduler Capacity Test"; this.FunctionDefinitionParameters = "uint64_t iterations, int *arr"; this.GetFunctionCallParameters = "structIterations, A"; this.DivideTimeByCount = false; }
public RobTest1(int low, int high, int step) { this.Counts = UarchTestHelpers.GenerateCountArray(low, high, step); this.Prefix = "flagrf"; this.Description = "Flags register file capacity"; this.FunctionDefinitionParameters = "uint64_t iterations, int *arr"; this.GetFunctionCallParameters = "structIterations, A"; this.DivideTimeByCount = false; }
public FpStoreDataAddNsqTest(int low, int high, int step) { this.Counts = UarchTestHelpers.GenerateCountArray(low, high, step); this.Prefix = "fpstoredataaddnsq"; this.Description = "Store FP 32-bit Data + addss Scheduler Capacity Test, Excluding NSQ. Does storedata share a scheduler with FP add?"; this.FunctionDefinitionParameters = "uint64_t iterations, int *arr, int *arr1"; this.GetFunctionCallParameters = "structIterations, A, B"; this.DivideTimeByCount = false; }
public LoadDivSchedTest(int low, int high, int step) { this.Counts = UarchTestHelpers.GenerateCountArray(low, high, step); this.Prefix = "loaddivsched"; this.Description = "Load Scheduler Capacity Test, using divs to block retirement"; this.FunctionDefinitionParameters = "uint64_t iterations, int count, int *arr2"; this.GetFunctionCallParameters = "structIterations, list_size, B"; this.DivideTimeByCount = false; }
public Add128SchedTest(int low, int high, int step) { this.Counts = UarchTestHelpers.GenerateCountArray(low, high, step); this.Prefix = "add128sched"; this.Description = "128-bit Integer Add Scheduler Capacity Test"; this.FunctionDefinitionParameters = "uint64_t iterations, int *arr, int *arr2"; this.GetFunctionCallParameters = "structIterations, A, B"; this.DivideTimeByCount = false; }
public MovImmIntRfTest(int low, int high, int step) { this.Counts = UarchTestHelpers.GenerateCountArray(low, high, step); this.Prefix = "movimmintrf"; this.Description = "Integer RF Test (move immediate)"; this.FunctionDefinitionParameters = "uint64_t iterations, int *arr"; this.GetFunctionCallParameters = "structIterations, A"; this.DivideTimeByCount = false; }