| 1236 | }; |
| 1237 | |
| 1238 | inline BenchmarkResult runMultiplyBenchmark(int iters = 10000) { |
| 1239 | BenchmarkResult r; |
| 1240 | r.iterations = iters; |
| 1241 | |
| 1242 | // Add |
| 1243 | r.add_float_us = benchFloat4(iters, OpAdd()); |
| 1244 | r.add_s8x8_us = benchS8x8_4(iters, OpAdd()); |
| 1245 | r.add_s16x16_us = benchS16x16_4(iters, OpAdd()); |
| 1246 | r.add_u16x16_us = benchU16x16_4(iters, OpAdd()); |
| 1247 | r.add_simd_us = benchSimd4(iters, OpAdd()); |
| 1248 | |
| 1249 | // Sub |
| 1250 | r.sub_float_us = benchFloat4(iters, OpSub()); |
| 1251 | r.sub_s8x8_us = benchS8x8_4(iters, OpSub()); |
| 1252 | r.sub_s16x16_us = benchS16x16_4(iters, OpSub()); |
| 1253 | r.sub_u16x16_us = benchU16x16_4(iters, OpSub()); |
| 1254 | r.sub_simd_us = benchSimd4(iters, OpSub()); |
| 1255 | |
| 1256 | // Mul |
| 1257 | r.mul_float_us = benchFloat4(iters, OpMul()); |
| 1258 | r.mul_s8x8_us = benchS8x8_4(iters, OpMul()); |
| 1259 | r.mul_s16x16_us = benchS16x16_4(iters, OpMul()); |
| 1260 | r.mul_u16x16_us = benchU16x16_4(iters, OpMul()); |
| 1261 | r.mul_simd_us = benchSimd4(iters, OpMul()); |
| 1262 | |
| 1263 | // Div (no SIMD div for s16x16x4) |
| 1264 | r.div_float_us = benchFloat4(iters, OpDivFloat()); |
| 1265 | r.div_s8x8_us = benchS8x8_4(iters, OpDivS8x8()); |
| 1266 | r.div_s16x16_us = benchS16x16_4(iters, OpDivS16x16()); |
| 1267 | r.div_u16x16_us = benchU16x16_4(iters, OpDivU16x16()); |
| 1268 | |
| 1269 | return r; |
| 1270 | } |
| 1271 | |
| 1272 | // ============================================================================ |
| 1273 | // Test Runner |
no test coverage detected