예제 #1
0
 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";
 }
예제 #2
0
 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";
 }
예제 #3
0
 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;
 }
예제 #5
0
 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;
 }
예제 #6
0
 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;
 }
예제 #7
0
 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;
 }
예제 #8
0
 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;
 }
예제 #9
0
 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;
 }
예제 #10
0
 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;
 }
예제 #11
0
 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;
 }
예제 #12
0
 /// <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;
 }
예제 #13
0
 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;
 }
예제 #14
0
 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;
 }
예제 #15
0
 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;
 }
예제 #16
0
 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;
 }
예제 #17
0
 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;
 }
예제 #18
0
 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;
 }
예제 #19
0
 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;
 }
예제 #21
0
 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;
 }
예제 #23
0
 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;
 }
예제 #24
0
 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;
 }
예제 #25
0
 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;
 }
예제 #26
0
 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;
 }
예제 #27
0
 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;
 }