check 94 apps/templates/tests/example_test.cpp int errors = check<uint8_t>(input, output); check 21 python_bindings/numpy/numpy_object_mgr_traits.hpp static bool check(PyObject *x) { \ check 32 python_bindings/python/Expr.cpp if (expr_extract.check()) { check 39 python_bindings/python/Func.cpp if (tuple_extract.check()) { check 81 python_bindings/python/Func.h if (var_or_rvar_extract.check()) { check 118 python_bindings/python/Func.h if (var_extract.check()) { check 161 python_bindings/python/IROperator.cpp if (expr_extract.check()) { check 83 python_bindings/python/Image.cpp if (int32_extract.check()) { check 457 python_bindings/python/Image.cpp if (buffer_extract_uint8.check()) { check 459 python_bindings/python/Image.cpp } else if (buffer_extract_uint16.check()) { check 461 python_bindings/python/Image.cpp } else if (buffer_extract_uint32.check()) { check 463 python_bindings/python/Image.cpp } else if (buffer_extract_int8.check()) { check 465 python_bindings/python/Image.cpp } else if (buffer_extract_int16.check()) { check 467 python_bindings/python/Image.cpp } else if (buffer_extract_int32.check()) { check 469 python_bindings/python/Image.cpp } else if (buffer_extract_float.check()) { check 471 python_bindings/python/Image.cpp } else if (buffer_extract_double.check()) { check 508 python_bindings/python/Param.cpp if (val_extract.check()) { check 64 python_bindings/python/RDom.cpp if (expr_extract.check()) { check 323 src/AddImageChecks.cpp Stmt check = AssertStmt::make(actual_size <= max_size, allocation_size_error); check 324 src/AddImageChecks.cpp dims_no_overflow_asserts.push_back(check); check 338 src/AddImageChecks.cpp Stmt check = AssertStmt::make(this_dim_var <= max_size, error); check 339 src/AddImageChecks.cpp dims_no_overflow_asserts.push_back(check); check 462 src/AddImageChecks.cpp Expr check = (min_proposed <= min_required) && (max_proposed >= max_required); check 466 src/AddImageChecks.cpp asserts_proposed.push_back(AssertStmt::make((!inference_mode) || check, error)); check 1483 src/Bounds.cpp check(scope, x, 0, 10); check 1484 src/Bounds.cpp check(scope, x+1, 1, 11); check 1485 src/Bounds.cpp check(scope, (x+1)*2, 2, 22); check 1486 src/Bounds.cpp check(scope, x*x, 0, 100); check 1487 src/Bounds.cpp check(scope, 5-x, -5, 5); check 1488 src/Bounds.cpp check(scope, x*(5-x), -50, 50); // We don't expect bounds analysis to understand correlated terms check 1489 src/Bounds.cpp check(scope, Select::make(x < 4, x, x+100), 0, 110); check 1490 src/Bounds.cpp check(scope, x+y, y, y+10); check 1491 src/Bounds.cpp check(scope, x*y, select(y < 0, y*10, 0), select(y < 0, 0, y*10)); check 1492 src/Bounds.cpp check(scope, x/(x+y), Interval::neg_inf, Interval::pos_inf); check 1493 src/Bounds.cpp check(scope, 11/(x+1), 1, 11); check 1494 src/Bounds.cpp check(scope, Load::make(Int(8), "buf", x, Buffer<>(), Parameter(), const_true()), check 1496 src/Bounds.cpp check(scope, y + (Let::make("y", x+3, y - x + 10)), y + 3, y + 23); // Once again, we don't know that y is correlated with x check 1497 src/Bounds.cpp check(scope, clamp(1/(x-2), x-10, x+10), -10, 20); check 1498 src/Bounds.cpp check(scope, cast<uint16_t>(x / 2), make_const(UInt(16), 0), make_const(UInt(16), 5)); check 1499 src/Bounds.cpp check(scope, cast<uint16_t>((x + 10) / 2), make_const(UInt(16), 5), make_const(UInt(16), 10)); check 1501 src/Bounds.cpp check(scope, print(x, y), 0, 10); check 1502 src/Bounds.cpp check(scope, print_when(x > y, x, y), 0, 10); check 1504 src/Bounds.cpp check(scope, select(y == 5, 0, 3), select(y == 5, 0, 3), select(y == 5, 0, 3)); check 1505 src/Bounds.cpp check(scope, select(y == 5, x, -3*x + 8), select(y == 5, 0, -22), select(y == 5, 10, 8)); check 1506 src/Bounds.cpp check(scope, select(y == x, x, -3*x + 8), -22, 10); check 1508 src/Bounds.cpp check(scope, cast<int32_t>(abs(cast<int16_t>(x/y))), 0, 32768); check 1509 src/Bounds.cpp check(scope, cast<float>(x), 0.0f, 10.0f); check 1511 src/Bounds.cpp check(scope, cast<int32_t>(abs(cast<float>(x))), 0, 10); check 1514 src/Bounds.cpp check(scope, Ramp::make(x*2, 5, 5), 0, 40); check 1515 src/Bounds.cpp check(scope, Broadcast::make(x*2, 5), 0, 20); check 1516 src/Bounds.cpp check(scope, Broadcast::make(3, 4), 3, 3); check 1519 src/Bounds.cpp check(scope, (cast<uint8_t>(x)+250), make_const(UInt(8), 0), make_const(UInt(8), 255)); check 1520 src/Bounds.cpp check(scope, (cast<uint8_t>(x)+10)*20, make_const(UInt(8), 0), make_const(UInt(8), 255)); check 1521 src/Bounds.cpp check(scope, (cast<uint8_t>(x)+10)*(cast<uint8_t>(x)+5), make_const(UInt(8), 0), make_const(UInt(8), 255)); check 1522 src/Bounds.cpp check(scope, (cast<uint8_t>(x)+10)-(cast<uint8_t>(x)+5), make_const(UInt(8), 0), make_const(UInt(8), 255)); check 1525 src/Bounds.cpp check(scope, (cast<uint8_t>(x)+240), make_const(UInt(8), 240), make_const(UInt(8), 250)); check 1526 src/Bounds.cpp check(scope, (cast<uint8_t>(x)+10)*10, make_const(UInt(8), 100), make_const(UInt(8), 200)); check 1527 src/Bounds.cpp check(scope, (cast<uint8_t>(x)+10)*(cast<uint8_t>(x)), make_const(UInt(8), 0), make_const(UInt(8), 200)); check 1528 src/Bounds.cpp check(scope, (cast<uint8_t>(x)+20)-(cast<uint8_t>(x)+5), make_const(UInt(8), 5), make_const(UInt(8), 25)); check 1530 src/Bounds.cpp check(scope, check 1534 src/Bounds.cpp check(scope, check 1540 src/Bounds.cpp check(scope, cast<uint16_t>(u8_1) + cast<uint16_t>(u8_2), check 588 src/BoundsInference.cpp Stmt check = AssertStmt::make(EQ::make(result, 0), error); check 590 src/BoundsInference.cpp check = LetStmt::make(result_name, e, check); check 593 src/BoundsInference.cpp check = Block::make(annotate, check); check 597 src/BoundsInference.cpp s = Block::make(check, s); check 393 src/CSE.cpp check(e, e); check 402 src/CSE.cpp check(e, correct); check 405 src/CSE.cpp check(correct, correct); check 417 src/CSE.cpp check(e, correct); check 437 src/CSE.cpp check(e, correct); check 463 src/CSE.cpp check(e, correct); check 482 src/CSE.cpp check(e, correct); check 494 src/CSE.cpp check(e, correct); check 999 src/CodeGen_OpenGL_Dev.cpp check(1.0f, "float $ = 1.0;\n"); check 1000 src/CodeGen_OpenGL_Dev.cpp check(1.0f + std::numeric_limits<float>::epsilon(), "float $ = 1.00000012;\n"); check 1001 src/CodeGen_OpenGL_Dev.cpp check(1.19209290e-07f, "float $ = 1.1920929e-07;\n"); check 1002 src/CodeGen_OpenGL_Dev.cpp check(8388608.f, "float $ = 8388608.0;\n"); check 1003 src/CodeGen_OpenGL_Dev.cpp check(-2.1e19f, "float $ = -20999999189405401088.0;\n"); check 1004 src/CodeGen_OpenGL_Dev.cpp check(3.1415926536f, "float $ = 3.14159274;\n"); check 1007 src/CodeGen_OpenGL_Dev.cpp check(cast<float>(Variable::make(UInt(8), "x") * 1.0f), check 1010 src/CodeGen_OpenGL_Dev.cpp check(cast<uint8_t>(Variable::make(Float(32), "x")), check 1013 src/CodeGen_OpenGL_Dev.cpp check(Min::make(Expr(1), Expr(5)), check 1017 src/CodeGen_OpenGL_Dev.cpp check(Max::make(Expr(1), Expr(5)), check 1021 src/CodeGen_OpenGL_Dev.cpp check(Max::make(Broadcast::make(1, 4), Broadcast::make(5, 4)), check 1027 src/CodeGen_OpenGL_Dev.cpp check(Variable::make(Int(32), "x") / Expr(3), check 1032 src/CodeGen_OpenGL_Dev.cpp check(Variable::make(Int(32, 4), "x") / Variable::make(Int(32, 4), "y"), check 1038 src/CodeGen_OpenGL_Dev.cpp check(Variable::make(Float(32, 4), "x") / Variable::make(Float(32, 4), "y"), check 1042 src/CodeGen_OpenGL_Dev.cpp check(lerp(cast<uint8_t>(0), cast<uint8_t>(255), cast<uint8_t>(127)), check 1048 src/CodeGen_OpenGL_Dev.cpp check(lerp(cast<uint8_t>(0), cast<uint8_t>(255), 0.3f), check 1054 src/CodeGen_OpenGL_Dev.cpp check(lerp(0.0f, 1.0f, 0.3f), check 1058 src/CodeGen_OpenGL_Dev.cpp check(lerp(Variable::make(Float(32, 4), "x"), Variable::make(Float(32, 4), "y"), Broadcast::make(0.25f, 4)), check 1063 src/CodeGen_OpenGL_Dev.cpp check(sin(3.0f), "float $ = sin(3.0);\n"); check 1066 src/CodeGen_OpenGL_Dev.cpp check(Call::make(Float(32, 4), "sin_f32", {Broadcast::make(1.f, 4)}, Internal::Call::Extern), check 1071 src/CodeGen_OpenGL_Dev.cpp check(abs(-2), check 1075 src/CodeGen_OpenGL_Dev.cpp check(Halide::print(3.0f), "float $ = 3.0;\n"); check 1078 src/CodeGen_OpenGL_Dev.cpp check(Variable::make(Int(32), "x") / Variable::make(Int(32), "y"), check 1086 src/CodeGen_OpenGL_Dev.cpp check(Select::make(EQ::make(Variable::make(Float(32), "x"), 1.0f), check 1101 src/CodeGen_OpenGL_Dev.cpp check(Select::make(EQ::make(Ramp::make(-1, 1, 4), Broadcast::make(0, 4)), check 1114 src/CodeGen_OpenGL_Dev.cpp check(load4, "vec4 $ = texture2D($buf, vec2(0, 0));\n"); check 1116 src/CodeGen_OpenGL_Dev.cpp check(log(1.0f), "float $ = log(1.0);\n"); check 1117 src/CodeGen_OpenGL_Dev.cpp check(exp(1.0f), "float $ = exp(1.0);\n"); check 1120 src/CodeGen_OpenGL_Dev.cpp check(pow(1.4f, 2), "float $ = 1.39999998 * 1.39999998;\n"); check 1121 src/CodeGen_OpenGL_Dev.cpp check(pow(1.0f, 2.1f), "float $ = pow(1.0, 2.0999999);\n"); check 204 src/CodeGen_Posix.cpp Value *check = builder->CreateIsNotNull(allocation.ptr); check 207 src/CodeGen_Posix.cpp check = builder->CreateOr(check, zero_size); check 212 src/CodeGen_Posix.cpp check = builder->CreateOr(check, condition_is_false); check 215 src/CodeGen_Posix.cpp create_assertion(check, Call::make(Int(32), "halide_error_out_of_memory", check 747 src/Deinterleave.cpp check(ramp, ramp_a, ramp_b); check 748 src/Deinterleave.cpp check(broadcast, broadcast_a, broadcast_b); check 750 src/Deinterleave.cpp check(Load::make(ramp.type(), "buf", ramp, Buffer<>(), Parameter(), const_true(ramp.type().lanes())), check 1117 src/Func.cpp Internal::CheckForFreeVars check; check 1118 src/Func.cpp condition.accept(&check); check 1119 src/Func.cpp if (!check.offending_var.empty()) { check 1121 src/Func.cpp << " depends on Var or RVar " << check.offending_var << ". " check 387 src/Function.cpp CheckVars check(name()); check 388 src/Function.cpp check.pure_args = args; check 390 src/Function.cpp values[i].accept(&check); check 424 src/Function.cpp user_assert(!check.reduction_domain.defined()) check 559 src/Function.cpp CheckVars check(name()); check 560 src/Function.cpp check.pure_args = pure_args; check 562 src/Function.cpp args[i].accept(&check); check 565 src/Function.cpp values[i].accept(&check); check 567 src/Function.cpp if (check.reduction_domain.defined()) { check 568 src/Function.cpp check.unbound_reduction_vars_ok = true; check 569 src/Function.cpp check.reduction_domain.predicate().accept(&check); check 582 src/Function.cpp if (check.reduction_domain.defined()) { check 583 src/Function.cpp check.reduction_domain.predicate().accept(&freezer); check 584 src/Function.cpp check.reduction_domain.freeze(); check 594 src/Function.cpp if (check.reduction_domain.defined()) { check 595 src/Function.cpp for (size_t i = 0; i < check.reduction_domain.domain().size(); i++) { check 596 src/Function.cpp string rvar = check.reduction_domain.domain()[i].var; check 607 src/Function.cpp if (check.reduction_domain.defined()) { check 608 src/Function.cpp check.reduction_domain.set_predicate(lower_random(check.reduction_domain.predicate(), free_vars, tag)); check 623 src/Function.cpp if (check.reduction_domain.defined()) { check 624 src/Function.cpp check.reduction_domain.set_predicate( check 625 src/Function.cpp deleter.mutate(check.reduction_domain.predicate())); check 628 src/Function.cpp Definition r(args, values, check.reduction_domain, false); check 632 src/Function.cpp if (check.reduction_domain.defined()) { check 633 src/Function.cpp for (size_t i = 0; i < check.reduction_domain.domain().size(); i++) { check 638 src/Function.cpp const ReductionVariable &rvar = check.reduction_domain.domain()[i]; check 666 src/Function.cpp if (!check.reduction_domain.defined() && check 173 src/Interval.cpp check(Interval::make_union(xp, xn), e, __LINE__); check 174 src/Interval.cpp check(Interval::make_union(e, xn), e, __LINE__); check 175 src/Interval.cpp check(Interval::make_union(xn, e), e, __LINE__); check 176 src/Interval.cpp check(Interval::make_union(xn, n), xn, __LINE__); check 177 src/Interval.cpp check(Interval::make_union(n, xp), xp, __LINE__); check 178 src/Interval.cpp check(Interval::make_union(xp, xp), xp, __LINE__); check 180 src/Interval.cpp check(Interval::make_intersection(xp, xn), Interval::single_point(x), __LINE__); check 181 src/Interval.cpp check(Interval::make_intersection(e, xn), xn, __LINE__); check 182 src/Interval.cpp check(Interval::make_intersection(xn, e), xn, __LINE__); check 183 src/Interval.cpp check(Interval::make_intersection(xn, n), n, __LINE__); check 184 src/Interval.cpp check(Interval::make_intersection(n, xp), n, __LINE__); check 185 src/Interval.cpp check(Interval::make_intersection(xp, xp), xp, __LINE__); check 187 src/Interval.cpp check(Interval::make_union({3, Interval::pos_inf}, {5, Interval::pos_inf}), {3, Interval::pos_inf}, __LINE__); check 188 src/Interval.cpp check(Interval::make_intersection({3, Interval::pos_inf}, {5, Interval::pos_inf}), {5, Interval::pos_inf}, __LINE__); check 190 src/Interval.cpp check(Interval::make_union({Interval::neg_inf, 3}, {Interval::neg_inf, 5}), {Interval::neg_inf, 5}, __LINE__); check 191 src/Interval.cpp check(Interval::make_intersection({Interval::neg_inf, 3}, {Interval::neg_inf, 5}), {Interval::neg_inf, 3}, __LINE__); check 193 src/Interval.cpp check(Interval::make_union({3, 4}, {9, 10}), {3, 10}, __LINE__); check 194 src/Interval.cpp check(Interval::make_intersection({3, 4}, {9, 10}), {9, 4}, __LINE__); check 196 src/Interval.cpp check(Interval::make_union({3, 9}, {4, 10}), {3, 10}, __LINE__); check 197 src/Interval.cpp check(Interval::make_intersection({3, 9}, {4, 10}), {4, 9}, __LINE__); check 130 src/ModulusRemainder.cpp check((30*x + 3) + (40*y + 2), 10, 5); check 131 src/ModulusRemainder.cpp check((6*x + 3) * (4*y + 1), 2, 1); check 132 src/ModulusRemainder.cpp check(max(30*x - 24, 40*y + 31), 5, 1); check 133 src/ModulusRemainder.cpp check(10*x - 33*y, 1, 0); check 134 src/ModulusRemainder.cpp check(10*x - 35*y, 5, 0); check 135 src/ModulusRemainder.cpp check(123, 0, 123); check 136 src/ModulusRemainder.cpp check(Let::make("y", x*3 + 4, y*3 + 4), 9, 7); check 128 src/ParallelRVar.cpp Expr check = const_true(); check 130 src/ParallelRVar.cpp check = check && (distinct_v && (find.loads[i][j] == other_store[j])); check 132 src/ParallelRVar.cpp hazard = hazard || check; check 52 src/Reduction.cpp check(z < 10, expected); check 58 src/Reduction.cpp check((x < y) || (x == 10), expected); check 65 src/Reduction.cpp check((x < y) && (x == 10), expected); check 73 src/Reduction.cpp check((x < y) && (x == 10) && (y == z), expected); check 79 src/Reduction.cpp check((w == 1) || ((x == 10) && (y == z)), expected); check 86 src/Reduction.cpp check((x < y) && ((w == 1) || ((x == 10) && (y == z))), expected); check 494 src/ScheduleFunctions.cpp Stmt check = AssertStmt::make(EQ::make(result, 0), error); check 495 src/ScheduleFunctions.cpp check = LetStmt::make(result_name, e, check); check 498 src/ScheduleFunctions.cpp check = LetStmt::make(lets[i].first, lets[i].second, check); check 502 src/ScheduleFunctions.cpp check = Block::make(annotate, check); check 504 src/ScheduleFunctions.cpp return check; check 564 src/ScheduleFunctions.cpp Expr check = (min_val <= min_var) && (max_val >= max_var); check 568 src/ScheduleFunctions.cpp body = Block::make(AssertStmt::make(check, error_msg), body); check 4373 src/Simplify.cpp Expr check = mutate(b1->value - b2->value); check 4374 src/Simplify.cpp can_collapse &= is_zero(check); check 4406 src/Simplify.cpp Expr check = mutate(b->value * terms - r->stride); check 4407 src/Simplify.cpp can_collapse &= is_zero(check); check 4472 src/Simplify.cpp Expr check = mutate(b->value - r->stride * new_vectors[i-1].type().lanes()); check 4473 src/Simplify.cpp can_collapse &= is_zero(check); check 4494 src/Simplify.cpp Expr check = mutate(new_vectors[i] - new_vectors[i - 1] - stride); check 4495 src/Simplify.cpp if (!is_zero(check)) { check 5077 src/Simplify.cpp check(cast(Int(32), cast(Int(32), x)), x); check 5078 src/Simplify.cpp check(cast(Float(32), 3), 3.0f); check 5079 src/Simplify.cpp check(cast(Int(32), 5.0f), 5); check 5081 src/Simplify.cpp check(cast(Int(32), cast(Int(8), 3)), 3); check 5082 src/Simplify.cpp check(cast(Int(32), cast(Int(8), 1232)), -48); check 5085 src/Simplify.cpp check(cast(Float(32), cast(Float(64), x)), cast(Float(32), x)); check 5086 src/Simplify.cpp check(cast(Int(16), cast(Int(32), x)), cast(Int(16), x)); check 5087 src/Simplify.cpp check(cast(Int(16), cast(UInt(32), x)), cast(Int(16), x)); check 5088 src/Simplify.cpp check(cast(UInt(16), cast(Int(32), x)), cast(UInt(16), x)); check 5089 src/Simplify.cpp check(cast(UInt(16), cast(UInt(32), x)), cast(UInt(16), x)); check 5092 src/Simplify.cpp check(cast(UInt(16), 53) + cast(UInt(16), 87), make_const(UInt(16), 140)); check 5093 src/Simplify.cpp check(cast(Int(8), 127) + cast(Int(8), 1), make_const(Int(8), -128)); check 5094 src/Simplify.cpp check(cast(UInt(16), -1) - cast(UInt(16), 1), make_const(UInt(16), 65534)); check 5095 src/Simplify.cpp check(cast(Int(16), 4) * cast(Int(16), -5), make_const(Int(16), -20)); check 5096 src/Simplify.cpp check(cast(Int(16), 16) / cast(Int(16), 4), make_const(Int(16), 4)); check 5097 src/Simplify.cpp check(cast(Int(16), 23) % cast(Int(16), 5), make_const(Int(16), 3)); check 5098 src/Simplify.cpp check(min(cast(Int(16), 30000), cast(Int(16), -123)), make_const(Int(16), -123)); check 5099 src/Simplify.cpp check(max(cast(Int(16), 30000), cast(Int(16), 65000)), make_const(Int(16), 30000)); check 5100 src/Simplify.cpp check(cast(UInt(16), -1) == cast(UInt(16), 65535), const_true()); check 5101 src/Simplify.cpp check(cast(UInt(16), 65) == cast(UInt(16), 66), const_false()); check 5102 src/Simplify.cpp check(cast(UInt(16), -1) < cast(UInt(16), 65535), const_false()); check 5103 src/Simplify.cpp check(cast(UInt(16), 65) < cast(UInt(16), 66), const_true()); check 5104 src/Simplify.cpp check(cast(UInt(16), 123.4f), make_const(UInt(16), 123)); check 5105 src/Simplify.cpp check(cast(Float(32), cast(UInt(16), 123456.0f)), 57920.0f); check 5108 src/Simplify.cpp check(cast(UInt(32), (int) 4000000000UL) + cast(UInt(32), 5), make_const(UInt(32), (int) 4000000005UL)); check 5109 src/Simplify.cpp check(cast(UInt(32), (int) 4000000000UL) - cast(UInt(32), 5), make_const(UInt(32), (int) 3999999995UL)); check 5110 src/Simplify.cpp check(cast(UInt(32), (int) 4000000000UL) / cast(UInt(32), 5), make_const(UInt(32), 800000000)); check 5111 src/Simplify.cpp check(cast(UInt(32), 800000000) * cast(UInt(32), 5), make_const(UInt(32), (int) 4000000000UL)); check 5112 src/Simplify.cpp check(cast(UInt(32), (int) 4000000023UL) % cast(UInt(32), 100), make_const(UInt(32), 23)); check 5113 src/Simplify.cpp check(min(cast(UInt(32), (int) 4000000023UL) , cast(UInt(32), 1000)), make_const(UInt(32), (int) 1000)); check 5114 src/Simplify.cpp check(max(cast(UInt(32), (int) 4000000023UL) , cast(UInt(32), 1000)), make_const(UInt(32), (int) 4000000023UL)); check 5115 src/Simplify.cpp check(cast(UInt(32), (int) 4000000023UL) < cast(UInt(32), 1000), const_false()); check 5116 src/Simplify.cpp check(cast(UInt(32), (int) 4000000023UL) == cast(UInt(32), 1000), const_false()); check 5118 src/Simplify.cpp check(cast(Float(64), 0.5f), Expr(0.5)); check 5119 src/Simplify.cpp check((x - cast(Float(64), 0.5f)) * (x - cast(Float(64), 0.5f)), check 5122 src/Simplify.cpp check(cast(Int(64, 3), ramp(5.5f, 2.0f, 3)), check 5124 src/Simplify.cpp check(cast(Int(64, 3), ramp(x, 2, 3)), check 5128 src/Simplify.cpp check(cast(Int(64), x + 1) - cast(Int(64), x), cast(Int(64), 1)); check 5129 src/Simplify.cpp check(cast(Int(64), 1 + x) - cast(Int(64), x), cast(Int(64), 1)); check 5131 src/Simplify.cpp check(cast(UInt(8), x + 1) - cast(UInt(8), x), check 5141 src/Simplify.cpp check(3 + x, x + 3); check 5142 src/Simplify.cpp check(x + 0, x); check 5143 src/Simplify.cpp check(0 + x, x); check 5144 src/Simplify.cpp check(Expr(ramp(x, 2, 3)) + Expr(ramp(y, 4, 3)), ramp(x+y, 6, 3)); check 5145 src/Simplify.cpp check(Expr(broadcast(4.0f, 5)) + Expr(ramp(3.25f, 4.5f, 5)), ramp(7.25f, 4.5f, 5)); check 5146 src/Simplify.cpp check(Expr(ramp(3.25f, 4.5f, 5)) + Expr(broadcast(4.0f, 5)), ramp(7.25f, 4.5f, 5)); check 5147 src/Simplify.cpp check(Expr(broadcast(3, 3)) + Expr(broadcast(1, 3)), broadcast(4, 3)); check 5148 src/Simplify.cpp check((x + 3) + 4, x + 7); check 5149 src/Simplify.cpp check(4 + (3 + x), x + 7); check 5150 src/Simplify.cpp check((x + 3) + y, (x + y) + 3); check 5151 src/Simplify.cpp check(y + (x + 3), (y + x) + 3); check 5152 src/Simplify.cpp check((3 - x) + x, 3); check 5153 src/Simplify.cpp check(x + (3 - x), 3); check 5154 src/Simplify.cpp check(x*y + x*z, x*(y+z)); check 5155 src/Simplify.cpp check(x*y + z*x, x*(y+z)); check 5156 src/Simplify.cpp check(y*x + x*z, x*(y+z)); check 5157 src/Simplify.cpp check(y*x + z*x, x*(y+z)); check 5159 src/Simplify.cpp check(x - 0, x); check 5160 src/Simplify.cpp check((x/y) - (x/y), 0); check 5161 src/Simplify.cpp check(x - 2, x + (-2)); check 5162 src/Simplify.cpp check(Expr(ramp(x, 2, 3)) - Expr(ramp(y, 4, 3)), ramp(x-y, -2, 3)); check 5163 src/Simplify.cpp check(Expr(broadcast(4.0f, 5)) - Expr(ramp(3.25f, 4.5f, 5)), ramp(0.75f, -4.5f, 5)); check 5164 src/Simplify.cpp check(Expr(ramp(3.25f, 4.5f, 5)) - Expr(broadcast(4.0f, 5)), ramp(-0.75f, 4.5f, 5)); check 5165 src/Simplify.cpp check(Expr(broadcast(3, 3)) - Expr(broadcast(1, 3)), broadcast(2, 3)); check 5166 src/Simplify.cpp check((x + y) - x, y); check 5167 src/Simplify.cpp check((x + y) - y, x); check 5168 src/Simplify.cpp check(x - (x + y), 0 - y); check 5169 src/Simplify.cpp check(x - (y + x), 0 - y); check 5170 src/Simplify.cpp check((x + 3) - 2, x + 1); check 5171 src/Simplify.cpp check((x + 3) - y, (x - y) + 3); check 5172 src/Simplify.cpp check((x - 3) - y, (x - y) + (-3)); check 5173 src/Simplify.cpp check(x - (y - 2), (x - y) + 2); check 5174 src/Simplify.cpp check(3 - (y - 2), 5 - y); check 5175 src/Simplify.cpp check(x - (0 - y), x + y); check 5176 src/Simplify.cpp check(x + (0 - y), x - y); check 5177 src/Simplify.cpp check((0 - x) + y, y - x); check 5178 src/Simplify.cpp check(x*y - x*z, x*(y-z)); check 5179 src/Simplify.cpp check(x*y - z*x, x*(y-z)); check 5180 src/Simplify.cpp check(y*x - x*z, x*(y-z)); check 5181 src/Simplify.cpp check(y*x - z*x, x*(y-z)); check 5182 src/Simplify.cpp check(x - y*-2, x + y*2); check 5183 src/Simplify.cpp check(x + y*-2, x - y*2); check 5184 src/Simplify.cpp check(x*-2 + y, y - x*2); check 5185 src/Simplify.cpp check(xf - yf*-2.0f, xf + y*2.0f); check 5186 src/Simplify.cpp check(xf + yf*-2.0f, xf - y*2.0f); check 5187 src/Simplify.cpp check(xf*-2.0f + yf, yf - x*2.0f); check 5189 src/Simplify.cpp check(x - (x/8)*8, x % 8); check 5190 src/Simplify.cpp check((x/8)*8 - x, -(x % 8)); check 5191 src/Simplify.cpp check((x/8)*8 < x + y, 0 < x%8 + y); check 5192 src/Simplify.cpp check((x/8)*8 < x - y, y < x%8); check 5193 src/Simplify.cpp check((x/8)*8 < x, 0 < x%8); check 5194 src/Simplify.cpp check(((x+3)/8)*8 < x + y, 3 < (x+3)%8 + y); check 5195 src/Simplify.cpp check(((x+3)/8)*8 < x - y, y < (x+3)%8 + (-3)); check 5196 src/Simplify.cpp check(((x+3)/8)*8 < x, 3 < (x+3)%8); check 5198 src/Simplify.cpp check(x*0, 0); check 5199 src/Simplify.cpp check(0*x, 0); check 5200 src/Simplify.cpp check(x*1, x); check 5201 src/Simplify.cpp check(1*x, x); check 5202 src/Simplify.cpp check(Expr(2.0f)*4.0f, 8.0f); check 5203 src/Simplify.cpp check(Expr(2)*4, 8); check 5204 src/Simplify.cpp check((3*x)*4, x*12); check 5205 src/Simplify.cpp check(4*(3+x), x*4 + 12); check 5206 src/Simplify.cpp check(Expr(broadcast(4.0f, 5)) * Expr(ramp(3.0f, 4.0f, 5)), ramp(12.0f, 16.0f, 5)); check 5207 src/Simplify.cpp check(Expr(ramp(3.0f, 4.0f, 5)) * Expr(broadcast(2.0f, 5)), ramp(6.0f, 8.0f, 5)); check 5208 src/Simplify.cpp check(Expr(broadcast(3, 3)) * Expr(broadcast(2, 3)), broadcast(6, 3)); check 5210 src/Simplify.cpp check(x*y + x, x*(y + 1)); check 5211 src/Simplify.cpp check(x*y - x, x*(y + -1)); check 5212 src/Simplify.cpp check(x + x*y, x*(y + 1)); check 5213 src/Simplify.cpp check(x - x*y, x*(1 - y)); check 5214 src/Simplify.cpp check(x*y + y, (x + 1)*y); check 5215 src/Simplify.cpp check(x*y - y, (x + -1)*y); check 5216 src/Simplify.cpp check(y + x*y, (x + 1)*y); check 5217 src/Simplify.cpp check(y - x*y, (1 - x)*y); check 5219 src/Simplify.cpp check(0/x, 0); check 5220 src/Simplify.cpp check(x/1, x); check 5221 src/Simplify.cpp check(x/x, 1); check 5222 src/Simplify.cpp check((-1)/x, select(x < 0, 1, -1)); check 5223 src/Simplify.cpp check(Expr(7)/3, 2); check 5224 src/Simplify.cpp check(Expr(6.0f)/2.0f, 3.0f); check 5225 src/Simplify.cpp check((x / 3) / 4, x / 12); check 5226 src/Simplify.cpp check((x*4)/2, x*2); check 5227 src/Simplify.cpp check((x*2)/4, x/2); check 5228 src/Simplify.cpp check((x*4 + y)/2, x*2 + y/2); check 5229 src/Simplify.cpp check((y + x*4)/2, y/2 + x*2); check 5230 src/Simplify.cpp check((x*4 - y)/2, x*2 + (0 - y)/2); check 5231 src/Simplify.cpp check((y - x*4)/2, y/2 - x*2); check 5232 src/Simplify.cpp check((x + 3)/2 + 7, (x + 17)/2); check 5233 src/Simplify.cpp check((x/2 + 3)/5, (x + 6)/10); check 5234 src/Simplify.cpp check((x + 8)/2, x/2 + 4); check 5235 src/Simplify.cpp check((x - y)*-2, (y - x)*2); check 5236 src/Simplify.cpp check((xf - yf)*-2.0f, (yf - xf)*2.0f); check 5239 src/Simplify.cpp check(((x*4 + y) + z) / 2, x*2 + (y + z)/2); check 5240 src/Simplify.cpp check(((x*4 - y) + z) / 2, x*2 + (z - y)/2); check 5241 src/Simplify.cpp check(((x*4 + y) - z) / 2, x*2 + (y - z)/2); check 5242 src/Simplify.cpp check(((x*4 - y) - z) / 2, x*2 + (0 - y - z)/2); check 5243 src/Simplify.cpp check((x + (y*4 + z)) / 2, y*2 + (x + z)/2); check 5244 src/Simplify.cpp check((x + (y*4 - z)) / 2, y*2 + (x - z)/2); check 5245 src/Simplify.cpp check((x - (y*4 + z)) / 2, (x - z)/2 - y*2); check 5246 src/Simplify.cpp check((x - (y*4 - z)) / 2, (x + z)/2 - y*2); check 5249 src/Simplify.cpp check((x*y)/x, y); check 5250 src/Simplify.cpp check((y*x)/x, y); check 5251 src/Simplify.cpp check((x*y + z)/x, y + z/x); check 5252 src/Simplify.cpp check((y*x + z)/x, y + z/x); check 5253 src/Simplify.cpp check((z + x*y)/x, z/x + y); check 5254 src/Simplify.cpp check((z + y*x)/x, z/x + y); check 5255 src/Simplify.cpp check((x*y - z)/x, y + (-z)/x); check 5256 src/Simplify.cpp check((y*x - z)/x, y + (-z)/x); check 5257 src/Simplify.cpp check((z - x*y)/x, z/x - y); check 5258 src/Simplify.cpp check((z - y*x)/x, z/x - y); check 5260 src/Simplify.cpp check((x + y)/x, y/x + 1); check 5261 src/Simplify.cpp check((y + x)/x, y/x + 1); check 5262 src/Simplify.cpp check((x - y)/x, (-y)/x + 1); check 5263 src/Simplify.cpp check((y - x)/x, y/x + (-1)); check 5265 src/Simplify.cpp check(((x + y) + z)/x, (y + z)/x + 1); check 5266 src/Simplify.cpp check(((y + x) + z)/x, (y + z)/x + 1); check 5267 src/Simplify.cpp check((y + (x + z))/x, (y + z)/x + 1); check 5268 src/Simplify.cpp check((y + (z + x))/x, (y + z)/x + 1); check 5270 src/Simplify.cpp check(xf / 4.0f, xf * 0.25f); check 5273 src/Simplify.cpp check((x + y) - (z + y), x - z); check 5274 src/Simplify.cpp check((x + y) - (y + z), x - z); check 5275 src/Simplify.cpp check((y + x) - (z + y), x - z); check 5276 src/Simplify.cpp check((y + x) - (y + z), x - z); check 5278 src/Simplify.cpp check((x - y) - (z - y), x - z); check 5279 src/Simplify.cpp check((y - z) - (y - x), x - z); check 5281 src/Simplify.cpp check((x*8) % 4, 0); check 5282 src/Simplify.cpp check((x*8 + y) % 4, y % 4); check 5283 src/Simplify.cpp check((y + 8) % 4, y % 4); check 5284 src/Simplify.cpp check((y + x*8) % 4, y % 4); check 5285 src/Simplify.cpp check((y*16 + 13) % 2, 1); check 5288 src/Simplify.cpp check((x/3)*3 + x%3, x); check 5289 src/Simplify.cpp check(x%3 + (x/3)*3, x); check 5291 src/Simplify.cpp check(((x/3)*3 + y) + x%3, x + y); check 5292 src/Simplify.cpp check((x%3 + y) + (x/3)*3, x + y); check 5294 src/Simplify.cpp check((y + x%3) + (x/3)*3, y + x); check 5295 src/Simplify.cpp check((y + (x/3*3)) + x%3, y + x); check 5301 src/Simplify.cpp check((x + 17)/3 - (x + 7)/3, ((x+1)%3 + 10)/3); check 5302 src/Simplify.cpp check((x + 17)/3 - (x + y)/3, (19 - y - (x+2)%3)/3); check 5303 src/Simplify.cpp check((x + y )/3 - (x + 7)/3, ((x+1)%3 + y + -7)/3); check 5304 src/Simplify.cpp check( x /3 - (x + y)/3, (2 - y - x % 3)/3); check 5305 src/Simplify.cpp check((x + y )/3 - x /3, (x%3 + y)/3); check 5306 src/Simplify.cpp check( x /3 - (x + 7)/3, (-5 - x%3)/3); check 5307 src/Simplify.cpp check((x + 17)/3 - x /3, (x%3 + 17)/3); check 5308 src/Simplify.cpp check((x + 17)/3 - (x - y)/3, (y - (x+2)%3 + 19)/3); check 5309 src/Simplify.cpp check((x - y )/3 - (x + 7)/3, ((x+1)%3 - y + (-7))/3); check 5310 src/Simplify.cpp check( x /3 - (x - y)/3, (y - x%3 + 2)/3); check 5311 src/Simplify.cpp check((x - y )/3 - x /3, (x%3 - y)/3); check 5314 src/Simplify.cpp check(Expr(23) / 4, Expr(5)); check 5315 src/Simplify.cpp check(Expr(-23) / 4, Expr(-6)); check 5316 src/Simplify.cpp check(Expr(-23) / -4, Expr(6)); check 5317 src/Simplify.cpp check(Expr(23) / -4, Expr(-5)); check 5318 src/Simplify.cpp check(Expr(-2000000000) / 1000000001, Expr(-2)); check 5319 src/Simplify.cpp check(Expr(23) % 4, Expr(3)); check 5320 src/Simplify.cpp check(Expr(-23) % 4, Expr(1)); check 5321 src/Simplify.cpp check(Expr(-23) % -4, Expr(1)); check 5322 src/Simplify.cpp check(Expr(23) % -4, Expr(3)); check 5323 src/Simplify.cpp check(Expr(-2000000000) % 1000000001, Expr(2)); check 5325 src/Simplify.cpp check(Expr(3) + Expr(8), 11); check 5326 src/Simplify.cpp check(Expr(3.25f) + Expr(7.75f), 11.0f); check 5328 src/Simplify.cpp check(Expr(7) % 2, 1); check 5329 src/Simplify.cpp check(Expr(7.25f) % 2.0f, 1.25f); check 5330 src/Simplify.cpp check(Expr(-7.25f) % 2.0f, 0.75f); check 5331 src/Simplify.cpp check(Expr(-7.25f) % -2.0f, -1.25f); check 5332 src/Simplify.cpp check(Expr(7.25f) % -2.0f, -0.75f); check 5338 src/Simplify.cpp check(Expr(broadcast(y, 4)) / Expr(broadcast(x, 4)), check 5340 src/Simplify.cpp check(Expr(ramp(x, 4, 4)) / 2, ramp(x/2, 2, 4)); check 5341 src/Simplify.cpp check(Expr(ramp(x, -4, 7)) / 2, ramp(x/2, -2, 7)); check 5342 src/Simplify.cpp check(Expr(ramp(x, 4, 5)) / -2, ramp(x/-2, -2, 5)); check 5343 src/Simplify.cpp check(Expr(ramp(x, -8, 5)) / -2, ramp(x/-2, 4, 5)); check 5345 src/Simplify.cpp check(Expr(ramp(4*x, 1, 4)) / 4, broadcast(x, 4)); check 5346 src/Simplify.cpp check(Expr(ramp(x*4, 1, 3)) / 4, broadcast(x, 3)); check 5347 src/Simplify.cpp check(Expr(ramp(x*8, 2, 4)) / 8, broadcast(x, 4)); check 5348 src/Simplify.cpp check(Expr(ramp(x*8, 3, 3)) / 8, broadcast(x, 3)); check 5349 src/Simplify.cpp check(Expr(ramp(0, 1, 8)) % 16, Expr(ramp(0, 1, 8))); check 5350 src/Simplify.cpp check(Expr(ramp(8, 1, 8)) % 16, Expr(ramp(8, 1, 8))); check 5351 src/Simplify.cpp check(Expr(ramp(9, 1, 8)) % 16, Expr(ramp(9, 1, 8)) % 16); check 5352 src/Simplify.cpp check(Expr(ramp(16, 1, 8)) % 16, Expr(ramp(0, 1, 8))); check 5353 src/Simplify.cpp check(Expr(ramp(0, 1, 8)) % 8, Expr(ramp(0, 1, 8))); check 5354 src/Simplify.cpp check(Expr(ramp(x*8+17, 1, 4)) % 8, Expr(ramp(1, 1, 4))); check 5355 src/Simplify.cpp check(Expr(ramp(x*8+17, 1, 8)) % 8, Expr(ramp(1, 1, 8) % 8)); check 5358 src/Simplify.cpp check(Expr(broadcast(x, 4)) % Expr(broadcast(y, 4)), check 5360 src/Simplify.cpp check(Expr(ramp(x, 2, 4)) % (broadcast(2, 4)), check 5362 src/Simplify.cpp check(Expr(ramp(2*x+1, 4, 4)) % (broadcast(2, 4)), check 5365 src/Simplify.cpp check(ramp(0, 1, 4) == broadcast(2, 4), check 5375 src/Simplify.cpp check(test, expected); check 5385 src/Simplify.cpp check(test, expected); check 5392 src/Simplify.cpp check(min(Expr(7), 3), 3); check 5393 src/Simplify.cpp check(min(Expr(4.25f), 1.25f), 1.25f); check 5394 src/Simplify.cpp check(min(broadcast(x, 4), broadcast(y, 4)), check 5396 src/Simplify.cpp check(min(x, x+3), x); check 5397 src/Simplify.cpp check(min(x+4, x), x); check 5398 src/Simplify.cpp check(min(x-1, x+2), x+(-1)); check 5399 src/Simplify.cpp check(min(7, min(x, 3)), min(x, 3)); check 5400 src/Simplify.cpp check(min(min(x, y), x), min(x, y)); check 5401 src/Simplify.cpp check(min(min(x, y), y), min(x, y)); check 5402 src/Simplify.cpp check(min(x, min(x, y)), min(x, y)); check 5403 src/Simplify.cpp check(min(y, min(x, y)), min(x, y)); check 5405 src/Simplify.cpp check(max(Expr(7), 3), 7); check 5406 src/Simplify.cpp check(max(Expr(4.25f), 1.25f), 4.25f); check 5407 src/Simplify.cpp check(max(broadcast(x, 4), broadcast(y, 4)), check 5409 src/Simplify.cpp check(max(x, x+3), x+3); check 5410 src/Simplify.cpp check(max(x+4, x), x+4); check 5411 src/Simplify.cpp check(max(x-1, x+2), x+2); check 5412 src/Simplify.cpp check(max(7, max(x, 3)), max(x, 7)); check 5413 src/Simplify.cpp check(max(max(x, y), x), max(x, y)); check 5414 src/Simplify.cpp check(max(max(x, y), y), max(x, y)); check 5415 src/Simplify.cpp check(max(x, max(x, y)), max(x, y)); check 5416 src/Simplify.cpp check(max(y, max(x, y)), max(x, y)); check 5422 src/Simplify.cpp check(x <= Int(32).max(), const_true()); check 5423 src/Simplify.cpp check(cast(Int(16), x) >= Int(16).min(), const_true()); check 5424 src/Simplify.cpp check(x < Int(32).min(), const_false()); check 5425 src/Simplify.cpp check(min(cast(UInt(16), x), cast(UInt(16), 65535)), cast(UInt(16), x)); check 5426 src/Simplify.cpp check(min(x, Int(32).max()), x); check 5427 src/Simplify.cpp check(min(Int(32).min(), x), Int(32).min()); check 5428 src/Simplify.cpp check(max(cast(Int(8), x), cast(Int(8), -128)), cast(Int(8), x)); check 5429 src/Simplify.cpp check(max(x, Int(32).min()), x); check 5430 src/Simplify.cpp check(max(x, Int(32).max()), Int(32).max()); check 5432 src/Simplify.cpp check(max(cast(Int(8), x), cast(Int(8), -127)), max(cast(Int(8), x), make_const(Int(8), -127))); check 5435 src/Simplify.cpp check((x + y) - (z + y), x - z); check 5436 src/Simplify.cpp check((x + y) - (y + z), x - z); check 5437 src/Simplify.cpp check((y + x) - (z + y), x - z); check 5438 src/Simplify.cpp check((y + x) - (y + z), x - z); check 5440 src/Simplify.cpp check((x - y) - (z - y), x - z); check 5441 src/Simplify.cpp check((y - z) - (y - x), x - z); check 5443 src/Simplify.cpp check((x + 3) / 4 - (x + 2) / 4, ((x + 2) % 4 + 1)/4); check 5445 src/Simplify.cpp check(x - min(x + y, z), max(-y, x-z)); check 5446 src/Simplify.cpp check(x - min(y + x, z), max(-y, x-z)); check 5447 src/Simplify.cpp check(x - min(z, x + y), max(-y, x-z)); check 5448 src/Simplify.cpp check(x - min(z, y + x), max(-y, x-z)); check 5450 src/Simplify.cpp check(min(x + y, z) - x, min(y, z-x)); check 5451 src/Simplify.cpp check(min(y + x, z) - x, min(y, z-x)); check 5452 src/Simplify.cpp check(min(z, x + y) - x, min(y, z-x)); check 5453 src/Simplify.cpp check(min(z, y + x) - x, min(y, z-x)); check 5455 src/Simplify.cpp check(min(x + y, z + y), min(x, z) + y); check 5456 src/Simplify.cpp check(min(y + x, z + y), min(x, z) + y); check 5457 src/Simplify.cpp check(min(x + y, y + z), min(x, z) + y); check 5458 src/Simplify.cpp check(min(y + x, y + z), min(x, z) + y); check 5460 src/Simplify.cpp check(min(x, y) - min(y, x), 0); check 5461 src/Simplify.cpp check(max(x, y) - max(y, x), 0); check 5463 src/Simplify.cpp check(min(123 - x, 1 - x), 1 - x); check 5464 src/Simplify.cpp check(max(123 - x, 1 - x), 123 - x); check 5466 src/Simplify.cpp check(min(x*43, y*43), min(x, y)*43); check 5467 src/Simplify.cpp check(max(x*43, y*43), max(x, y)*43); check 5468 src/Simplify.cpp check(min(x*-43, y*-43), max(x, y)*-43); check 5469 src/Simplify.cpp check(max(x*-43, y*-43), min(x, y)*-43); check 5471 src/Simplify.cpp check(min(min(x, 4), y), min(min(x, y), 4)); check 5472 src/Simplify.cpp check(max(max(x, 4), y), max(max(x, y), 4)); check 5474 src/Simplify.cpp check(min(x*8, 24), min(x, 3)*8); check 5475 src/Simplify.cpp check(max(x*8, 24), max(x, 3)*8); check 5476 src/Simplify.cpp check(min(x*-8, 24), max(x, -3)*-8); check 5477 src/Simplify.cpp check(max(x*-8, 24), min(x, -3)*-8); check 5479 src/Simplify.cpp check(min(clamp(x, -10, 14), clamp(y, -10, 14)), clamp(min(x, y), -10, 14)); check 5481 src/Simplify.cpp check(min(x/4, y/4), min(x, y)/4); check 5482 src/Simplify.cpp check(max(x/4, y/4), max(x, y)/4); check 5484 src/Simplify.cpp check(min(x/(-4), y/(-4)), max(x, y)/(-4)); check 5485 src/Simplify.cpp check(max(x/(-4), y/(-4)), min(x, y)/(-4)); check 5488 src/Simplify.cpp check(min(clamp(x+1, y, z), clamp(x-1, y, z)), clamp(x+(-1), y, z)); check 5489 src/Simplify.cpp check(max(clamp(x+1, y, z), clamp(x-1, y, z)), clamp(x+1, y, z)); check 5492 src/Simplify.cpp check(x + min(y - x, z), min(y, z + x)); check 5493 src/Simplify.cpp check(x + max(y - x, z), max(y, z + x)); check 5494 src/Simplify.cpp check(min(y + (-2), z) + 2, min(y, z + 2)); check 5495 src/Simplify.cpp check(max(y + (-2), z) + 2, max(y, z + 2)); check 5497 src/Simplify.cpp check(x + min(y - x, z), min(y, z + x)); check 5498 src/Simplify.cpp check(x + max(y - x, z), max(y, z + x)); check 5499 src/Simplify.cpp check(min(y + (-2), z) + 2, min(y, z + 2)); check 5500 src/Simplify.cpp check(max(y + (-2), z) + 2, max(y, z + 2)); check 5503 src/Simplify.cpp check(max(max(x, y), max(x, z)), max(max(y, z), x)); check 5504 src/Simplify.cpp check(min(max(x, y), max(x, z)), max(min(y, z), x)); check 5505 src/Simplify.cpp check(min(min(x, y), min(x, z)), min(min(y, z), x)); check 5506 src/Simplify.cpp check(max(min(x, y), min(x, z)), min(max(y, z), x)); check 5509 src/Simplify.cpp check(min(((x+7)/8)*8, x), x); check 5510 src/Simplify.cpp check(min(x, ((x+7)/8)*8), x); check 5512 src/Simplify.cpp check(min(((x+7)/8)*8, max(x, 8)), max(x, 8)); check 5513 src/Simplify.cpp check(min(max(x, 8), ((x+7)/8)*8), max(x, 8)); check 5515 src/Simplify.cpp check(min(x, likely(x)), likely(x)); check 5516 src/Simplify.cpp check(min(likely(x), x), likely(x)); check 5517 src/Simplify.cpp check(max(x, likely(x)), likely(x)); check 5518 src/Simplify.cpp check(max(likely(x), x), likely(x)); check 5519 src/Simplify.cpp check(select(x > y, likely(x), x), likely(x)); check 5520 src/Simplify.cpp check(select(x > y, x, likely(x)), likely(x)); check 5522 src/Simplify.cpp check(min(x + 1, y) - min(x, y - 1), 1); check 5523 src/Simplify.cpp check(max(x + 1, y) - max(x, y - 1), 1); check 5524 src/Simplify.cpp check(min(x + 1, y) - min(y - 1, x), 1); check 5525 src/Simplify.cpp check(max(x + 1, y) - max(y - 1, x), 1); check 5528 src/Simplify.cpp check(max(ramp(0, 1, 8), 0), ramp(0, 1, 8)); check 5529 src/Simplify.cpp check(min(ramp(0, 1, 8), 7), ramp(0, 1, 8)); check 5530 src/Simplify.cpp check(max(ramp(0, 1, 8), 7), broadcast(7, 8)); check 5531 src/Simplify.cpp check(min(ramp(0, 1, 8), 0), broadcast(0, 8)); check 5532 src/Simplify.cpp check(min(ramp(0, 1, 8), 4), min(ramp(0, 1, 8), 4)); check 5534 src/Simplify.cpp check(max(ramp(7, -1, 8), 0), ramp(7, -1, 8)); check 5535 src/Simplify.cpp check(min(ramp(7, -1, 8), 7), ramp(7, -1, 8)); check 5536 src/Simplify.cpp check(max(ramp(7, -1, 8), 7), broadcast(7, 8)); check 5537 src/Simplify.cpp check(min(ramp(7, -1, 8), 0), broadcast(0, 8)); check 5538 src/Simplify.cpp check(min(ramp(7, -1, 8), 4), min(ramp(7, -1, 8), 4)); check 5540 src/Simplify.cpp check(max(0, ramp(0, 1, 8)), ramp(0, 1, 8)); check 5541 src/Simplify.cpp check(min(7, ramp(0, 1, 8)), ramp(0, 1, 8)); check 5543 src/Simplify.cpp check(min(8 - x, 2), 8 - max(x, 6)); check 5544 src/Simplify.cpp check(max(3, 77 - x), 77 - min(x, 74)); check 5545 src/Simplify.cpp check(min(max(8-x, 0), 8), 8 - max(min(x, 8), 0)); check 5547 src/Simplify.cpp check(x - min(x, 2), max(x + -2, 0)); check 5548 src/Simplify.cpp check(x - max(x, 2), min(x + -2, 0)); check 5549 src/Simplify.cpp check(min(x, 2) - x, 2 - max(x, 2)); check 5550 src/Simplify.cpp check(max(x, 2) - x, 2 - min(x, 2)); check 5551 src/Simplify.cpp check(x - min(2, x), max(x + -2, 0)); check 5552 src/Simplify.cpp check(x - max(2, x), min(x + -2, 0)); check 5553 src/Simplify.cpp check(min(2, x) - x, 2 - max(x, 2)); check 5554 src/Simplify.cpp check(max(2, x) - x, 2 - min(x, 2)); check 5556 src/Simplify.cpp check(max(min(x, y), x), x); check 5557 src/Simplify.cpp check(max(min(x, y), y), y); check 5558 src/Simplify.cpp check(min(max(x, y), x), x); check 5559 src/Simplify.cpp check(min(max(x, y), y), y); check 5560 src/Simplify.cpp check(max(min(x, y), x) + y, x + y); check 5562 src/Simplify.cpp check(max(min(max(x, y), z), y), max(min(x, z), y)); check 5563 src/Simplify.cpp check(max(min(z, max(x, y)), y), max(min(x, z), y)); check 5564 src/Simplify.cpp check(max(y, min(max(x, y), z)), max(min(x, z), y)); check 5565 src/Simplify.cpp check(max(y, min(z, max(x, y))), max(min(x, z), y)); check 5567 src/Simplify.cpp check(max(min(max(y, x), z), y), max(min(x, z), y)); check 5568 src/Simplify.cpp check(max(min(z, max(y, x)), y), max(min(x, z), y)); check 5569 src/Simplify.cpp check(max(y, min(max(y, x), z)), max(min(x, z), y)); check 5570 src/Simplify.cpp check(max(y, min(z, max(y, x))), max(min(x, z), y)); check 5572 src/Simplify.cpp check(min(max(min(x, y), z), y), min(max(x, z), y)); check 5573 src/Simplify.cpp check(min(max(z, min(x, y)), y), min(max(x, z), y)); check 5574 src/Simplify.cpp check(min(y, max(min(x, y), z)), min(max(x, z), y)); check 5575 src/Simplify.cpp check(min(y, max(z, min(x, y))), min(max(x, z), y)); check 5577 src/Simplify.cpp check(min(max(min(y, x), z), y), min(max(x, z), y)); check 5578 src/Simplify.cpp check(min(max(z, min(y, x)), y), min(max(x, z), y)); check 5579 src/Simplify.cpp check(min(y, max(min(y, x), z)), min(max(x, z), y)); check 5580 src/Simplify.cpp check(min(y, max(z, min(y, x))), min(max(x, z), y)); check 5601 src/Simplify.cpp check(min(clamped[i], four), simplify(clamped[i])); check 5603 src/Simplify.cpp check(min(clamped[i], five), simplify(clamped[i])); check 5605 src/Simplify.cpp check(min(clamped[i], three), simplify(min(clamped[i], three))); check 5607 src/Simplify.cpp check(min(clamped[i], -five), simplify(-five)); check 5612 src/Simplify.cpp check(max(clamped[i], four), simplify(four)); check 5614 src/Simplify.cpp check(max(clamped[i], five), simplify(five)); check 5616 src/Simplify.cpp check(max(clamped[i], three), simplify(max(clamped[i], three))); check 5618 src/Simplify.cpp check(max(clamped[i], -five), simplify(clamped[i])); check 5623 src/Simplify.cpp check(max(min(clamped[i], five), -five), simplify(clamped[i])); check 5625 src/Simplify.cpp check(max(min(clamped[i], five), five), simplify(five)); check 5628 src/Simplify.cpp check(max(min(clamped[i], -five), -five), simplify(-five)); check 5630 src/Simplify.cpp check(max(min(clamped[i], -five), five), simplify(five)); check 5632 src/Simplify.cpp check(max(min(clamped[2], -five), three), simplify(three)); check 5636 src/Simplify.cpp check(max(min(clamped[2], five), three), simplify(max(clamped[2], three))); check 5641 src/Simplify.cpp check(max(min(clamped[0], five), three), simplify(max(min(v1, four), three))); check 5645 src/Simplify.cpp check(min(clamped[i] + one, four), simplify(min(clamped[i] + one, four))); check 5647 src/Simplify.cpp check(min(clamped[i] + one, five), simplify(clamped[i] + one)); check 5649 src/Simplify.cpp check(min(clamped[i] + one, -four), simplify(-four)); check 5651 src/Simplify.cpp check(max(min(clamped[i] + one, four), -four), simplify(min(clamped[i] + one, four))); check 5655 src/Simplify.cpp check(max(clamped[i] + one, four), simplify(max(clamped[i] + one, four))); check 5657 src/Simplify.cpp check(max(clamped[i] + one, five), simplify(five)); check 5659 src/Simplify.cpp check(max(clamped[i] + one, -four), simplify(clamped[i] + one)); check 5661 src/Simplify.cpp check(min(max(clamped[i] + one, -four), four), simplify(min(clamped[i] + one, four))); check 5666 src/Simplify.cpp check(min(max(min(v2, t1), t2), five), simplify(max(min(t1, v2), t2))); check 5675 src/Simplify.cpp check(min(min(xv, broadcast(y, 64)), broadcast(z, 64)), min(xv, broadcast(min(y, z), 64))); check 5677 src/Simplify.cpp check(min(min(broadcast(x, 64), yv), broadcast(z, 64)), min(yv, broadcast(min(x, z), 64))); check 5679 src/Simplify.cpp check(min(broadcast(x, 64), min(yv, broadcast(z, 64))), min(yv, broadcast(min(z, x), 64))); check 5681 src/Simplify.cpp check(min(broadcast(x, 64), min(broadcast(y, 64), zv)), min(zv, broadcast(min(y, x), 64))); check 5684 src/Simplify.cpp check(max(max(xv, broadcast(y, 64)), broadcast(z, 64)), max(xv, broadcast(max(y, z), 64))); check 5686 src/Simplify.cpp check(max(max(broadcast(x, 64), yv), broadcast(z, 64)), max(yv, broadcast(max(x, z), 64))); check 5688 src/Simplify.cpp check(max(broadcast(x, 64), max(yv, broadcast(z, 64))), max(yv, broadcast(max(z, x), 64))); check 5690 src/Simplify.cpp check(max(broadcast(x, 64), max(broadcast(y, 64), zv)), max(zv, broadcast(max(y, x), 64))); check 5702 src/Simplify.cpp check(x == x, t); check 5703 src/Simplify.cpp check(x == (x+1), f); check 5704 src/Simplify.cpp check(x-2 == y+3, (x-y) == 5); check 5705 src/Simplify.cpp check(x+y == y+z, x == z); check 5706 src/Simplify.cpp check(y+x == y+z, x == z); check 5707 src/Simplify.cpp check(x+y == z+y, x == z); check 5708 src/Simplify.cpp check(y+x == z+y, x == z); check 5709 src/Simplify.cpp check((y+x)*17 == (z+y)*17, x == z); check 5710 src/Simplify.cpp check(x*0 == y*0, t); check 5711 src/Simplify.cpp check(x == x+y, y == 0); check 5712 src/Simplify.cpp check(x+y == x, y == 0); check 5713 src/Simplify.cpp check(100 - x == 99 - y, (y-x) == -1); check 5715 src/Simplify.cpp check(x < x, f); check 5716 src/Simplify.cpp check(x < (x+1), t); check 5717 src/Simplify.cpp check(x-2 < y+3, x < y+5); check 5718 src/Simplify.cpp check(x+y < y+z, x < z); check 5719 src/Simplify.cpp check(y+x < y+z, x < z); check 5720 src/Simplify.cpp check(x+y < z+y, x < z); check 5721 src/Simplify.cpp check(y+x < z+y, x < z); check 5722 src/Simplify.cpp check((y+x)*17 < (z+y)*17, x < z); check 5723 src/Simplify.cpp check(x*0 < y*0, f); check 5724 src/Simplify.cpp check(x < x+y, 0 < y); check 5725 src/Simplify.cpp check(x+y < x, y < 0); check 5727 src/Simplify.cpp check(select(x < 3, 2, 2), 2); check 5728 src/Simplify.cpp check(select(x < (x+1), 9, 2), 9); check 5729 src/Simplify.cpp check(select(x > (x+1), 9, 2), 2); check 5731 src/Simplify.cpp check(select(x != 5, 2, 3), select(x == 5, 3, 2)); check 5732 src/Simplify.cpp check(select(x >= 5, 2, 3), select(x < 5, 3, 2)); check 5733 src/Simplify.cpp check(select(x <= 5, 2, 3), select(5 < x, 3, 2)); check 5734 src/Simplify.cpp check(select(x > 5, 2, 3), select(5 < x, 2, 3)); check 5736 src/Simplify.cpp check(select(x > 5, 2, 3) + select(x > 5, 6, 2), select(5 < x, 8, 5)); check 5737 src/Simplify.cpp check(select(x > 5, 8, 3) - select(x > 5, 6, 2), select(5 < x, 2, 1)); check 5739 src/Simplify.cpp check((1 - xf)*6 < 3, 0.5f < xf); check 5741 src/Simplify.cpp check(!f, t); check 5742 src/Simplify.cpp check(!t, f); check 5743 src/Simplify.cpp check(!(x < y), y <= x); check 5744 src/Simplify.cpp check(!(x > y), x <= y); check 5745 src/Simplify.cpp check(!(x >= y), x < y); check 5746 src/Simplify.cpp check(!(x <= y), y < x); check 5747 src/Simplify.cpp check(!(x == y), x != y); check 5748 src/Simplify.cpp check(!(x != y), x == y); check 5749 src/Simplify.cpp check(!(!(x == 0)), x == 0); check 5750 src/Simplify.cpp check(!Expr(broadcast(x > y, 4)), check 5753 src/Simplify.cpp check(b1 || !b1, t); check 5754 src/Simplify.cpp check(!b1 || b1, t); check 5755 src/Simplify.cpp check(b1 && !b1, f); check 5756 src/Simplify.cpp check(!b1 && b1, f); check 5757 src/Simplify.cpp check(b1 && b1, b1); check 5758 src/Simplify.cpp check(b1 || b1, b1); check 5759 src/Simplify.cpp check(broadcast(b1, 4) || broadcast(!b1, 4), broadcast(t, 4)); check 5760 src/Simplify.cpp check(broadcast(!b1, 4) || broadcast(b1, 4), broadcast(t, 4)); check 5761 src/Simplify.cpp check(broadcast(b1, 4) && broadcast(!b1, 4), broadcast(f, 4)); check 5762 src/Simplify.cpp check(broadcast(!b1, 4) && broadcast(b1, 4), broadcast(f, 4)); check 5763 src/Simplify.cpp check(broadcast(b1, 4) && broadcast(b1, 4), broadcast(b1, 4)); check 5764 src/Simplify.cpp check(broadcast(b1, 4) || broadcast(b1, 4), broadcast(b1, 4)); check 5766 src/Simplify.cpp check((x == 1) && (x != 2), (x == 1)); check 5767 src/Simplify.cpp check((x != 1) && (x == 2), (x == 2)); check 5768 src/Simplify.cpp check((x == 1) && (x != 1), f); check 5769 src/Simplify.cpp check((x != 1) && (x == 1), f); check 5771 src/Simplify.cpp check((x == 1) || (x != 2), (x != 2)); check 5772 src/Simplify.cpp check((x != 1) || (x == 2), (x != 1)); check 5773 src/Simplify.cpp check((x == 1) || (x != 1), t); check 5774 src/Simplify.cpp check((x != 1) || (x == 1), t); check 5776 src/Simplify.cpp check(x < 20 || x > 19, t); check 5777 src/Simplify.cpp check(x > 19 || x < 20, t); check 5778 src/Simplify.cpp check(x < 20 || x > 20, x < 20 || 20 < x); check 5779 src/Simplify.cpp check(x > 20 || x < 20, 20 < x || x < 20); check 5780 src/Simplify.cpp check(x < 20 && x > 19, f); check 5781 src/Simplify.cpp check(x > 19 && x < 20, f); check 5782 src/Simplify.cpp check(x < 20 && x > 18, x < 20 && 18 < x); check 5783 src/Simplify.cpp check(x > 18 && x < 20, 18 < x && x < 20); check 5785 src/Simplify.cpp check(x <= 20 || x > 19, t); check 5786 src/Simplify.cpp check(x > 19 || x <= 20, t); check 5787 src/Simplify.cpp check(x <= 18 || x > 20, x <= 18 || 20 < x); check 5788 src/Simplify.cpp check(x > 20 || x <= 18, 20 < x || x <= 18); check 5789 src/Simplify.cpp check(x <= 18 && x > 19, f); check 5790 src/Simplify.cpp check(x > 19 && x <= 18, f); check 5791 src/Simplify.cpp check(x <= 20 && x > 19, x <= 20 && 19 < x); check 5792 src/Simplify.cpp check(x > 19 && x <= 20, 19 < x && x <= 20); check 5794 src/Simplify.cpp check(x < 20 || x >= 19, t); check 5795 src/Simplify.cpp check(x >= 19 || x < 20, t); check 5796 src/Simplify.cpp check(x < 18 || x >= 20, x < 18 || 20 <= x); check 5797 src/Simplify.cpp check(x >= 20 || x < 18, 20 <= x || x < 18); check 5798 src/Simplify.cpp check(x < 18 && x >= 19, f); check 5799 src/Simplify.cpp check(x >= 19 && x < 18, f); check 5800 src/Simplify.cpp check(x < 20 && x >= 19, x < 20 && 19 <= x); check 5801 src/Simplify.cpp check(x >= 19 && x < 20, 19 <= x && x < 20); check 5803 src/Simplify.cpp check(x <= 20 || x >= 21, t); check 5804 src/Simplify.cpp check(x >= 21 || x <= 20, t); check 5805 src/Simplify.cpp check(x <= 18 || x >= 20, x <= 18 || 20 <= x); check 5806 src/Simplify.cpp check(x >= 20 || x <= 18, 20 <= x || x <= 18); check 5807 src/Simplify.cpp check(x <= 18 && x >= 19, f); check 5808 src/Simplify.cpp check(x >= 19 && x <= 18, f); check 5809 src/Simplify.cpp check(x <= 20 && x >= 20, x <= 20 && 20 <= x); check 5810 src/Simplify.cpp check(x >= 20 && x <= 20, 20 <= x && x <= 20); check 5813 src/Simplify.cpp check((b1 == t) && (b1 && b2), (b1 == t) && b2); check 5814 src/Simplify.cpp check((b1 && b2) && (b1 == t), b2 && (b1 == t)); check 5818 src/Simplify.cpp check((i!=2 && (i!=4 && (i!=8 && i!=16))) || (i==16), (i!=2 && (i!=4 && (i!=8)))); check 5819 src/Simplify.cpp check((i==16) || (i!=2 && (i!=4 && (i!=8 && i!=16))), (i!=2 && (i!=4 && (i!=8)))); check 5822 src/Simplify.cpp check(t && (x < 0), x < 0); check 5823 src/Simplify.cpp check(f && (x < 0), f); check 5824 src/Simplify.cpp check(t || (x < 0), t); check 5825 src/Simplify.cpp check(f || (x < 0), x < 0); check 5827 src/Simplify.cpp check(x == y || y != x, t); check 5828 src/Simplify.cpp check(x == y || x != y, t); check 5829 src/Simplify.cpp check(x == y && x != y, f); check 5830 src/Simplify.cpp check(x == y && y != x, f); check 5831 src/Simplify.cpp check(x < y || x >= y, t); check 5832 src/Simplify.cpp check(x <= y || x > y, t); check 5833 src/Simplify.cpp check(x < y && x >= y, f); check 5834 src/Simplify.cpp check(x <= y && x > y, f); check 5836 src/Simplify.cpp check(x <= max(x, y), t); check 5837 src/Simplify.cpp check(x < min(x, y), f); check 5838 src/Simplify.cpp check(min(x, y) <= x, t); check 5839 src/Simplify.cpp check(max(x, y) < x, f); check 5840 src/Simplify.cpp check(max(x, y) <= y, x <= y); check 5841 src/Simplify.cpp check(min(x, y) >= y, y <= x); check 5843 src/Simplify.cpp check((1 < y) && (2 < y), 2 < y); check 5845 src/Simplify.cpp check(x*5 < 4, x < 1); check 5846 src/Simplify.cpp check(x*5 < 5, x < 1); check 5847 src/Simplify.cpp check(x*5 < 6, x < 2); check 5848 src/Simplify.cpp check(x*5 <= 4, x <= 0); check 5849 src/Simplify.cpp check(x*5 <= 5, x <= 1); check 5850 src/Simplify.cpp check(x*5 <= 6, x <= 1); check 5851 src/Simplify.cpp check(x*5 > 4, 0 < x); check 5852 src/Simplify.cpp check(x*5 > 5, 1 < x); check 5853 src/Simplify.cpp check(x*5 > 6, 1 < x); check 5854 src/Simplify.cpp check(x*5 >= 4, 1 <= x); check 5855 src/Simplify.cpp check(x*5 >= 5, 1 <= x); check 5856 src/Simplify.cpp check(x*5 >= 6, 2 <= x); check 5858 src/Simplify.cpp check(x/4 < 3, x < 12); check 5859 src/Simplify.cpp check(3 < x/4, 15 < x); check 5861 src/Simplify.cpp check(4 - x <= 0, 4 <= x); check 5863 src/Simplify.cpp check((x/8)*8 < x - 8, f); check 5864 src/Simplify.cpp check((x/8)*8 < x - 9, f); check 5865 src/Simplify.cpp check((x/8)*8 < x - 7, f); check 5866 src/Simplify.cpp check((x/8)*8 < x - 6, 6 < x % 8); check 5867 src/Simplify.cpp check(ramp(x*4, 1, 4) < broadcast(y*4, 4), broadcast(x < y, 4)); check 5868 src/Simplify.cpp check(ramp(x*8, 1, 4) < broadcast(y*8, 4), broadcast(x < y, 4)); check 5869 src/Simplify.cpp check(ramp(x*8 + 1, 1, 4) < broadcast(y*8, 4), broadcast(x < y, 4)); check 5870 src/Simplify.cpp check(ramp(x*8 + 4, 1, 4) < broadcast(y*8, 4), broadcast(x < y, 4)); check 5871 src/Simplify.cpp check(ramp(x*8 + 8, 1, 4) < broadcast(y*8, 4), broadcast(x < y + (-1), 4)); check 5872 src/Simplify.cpp check(ramp(x*8 + 5, 1, 4) < broadcast(y*8, 4), ramp(x*8 + 5, 1, 4) < broadcast(y*8, 4)); check 5873 src/Simplify.cpp check(ramp(x*8 - 1, 1, 4) < broadcast(y*8, 4), ramp(x*8 + (-1), 1, 4) < broadcast(y*8, 4)); check 5874 src/Simplify.cpp check(ramp(x*8, 1, 4) < broadcast(y*4, 4), broadcast(x*2 < y, 4)); check 5875 src/Simplify.cpp check(ramp(x*8, 2, 4) < broadcast(y*8, 4), broadcast(x < y, 4)); check 5876 src/Simplify.cpp check(ramp(x*8 + 1, 2, 4) < broadcast(y*8, 4), broadcast(x < y, 4)); check 5877 src/Simplify.cpp check(ramp(x*8 + 2, 2, 4) < broadcast(y*8, 4), ramp(x*8 + 2, 2, 4) < broadcast(y*8, 4)); check 5878 src/Simplify.cpp check(ramp(x*8, 3, 4) < broadcast(y*8, 4), ramp(x*8, 3, 4) < broadcast(y*8, 4)); check 5879 src/Simplify.cpp check(select(ramp((x/16)*16, 1, 8) < broadcast((y/8)*8, 8), broadcast(1, 8), broadcast(3, 8)), check 5882 src/Simplify.cpp check(ramp(x*8, -1, 4) < broadcast(y*8, 4), ramp(x*8, -1, 4) < broadcast(y*8, 4)); check 5883 src/Simplify.cpp check(ramp(x*8 + 1, -1, 4) < broadcast(y*8, 4), ramp(x*8 + 1, -1, 4) < broadcast(y*8, 4)); check 5884 src/Simplify.cpp check(ramp(x*8 + 4, -1, 4) < broadcast(y*8, 4), broadcast(x < y, 4)); check 5885 src/Simplify.cpp check(ramp(x*8 + 8, -1, 4) < broadcast(y*8, 4), ramp(x*8 + 8, -1, 4) < broadcast(y*8, 4)); check 5886 src/Simplify.cpp check(ramp(x*8 + 5, -1, 4) < broadcast(y*8, 4), broadcast(x < y, 4)); check 5887 src/Simplify.cpp check(ramp(x*8 - 1, -1, 4) < broadcast(y*8, 4), broadcast(x < y + 1, 4)); check 5890 src/Simplify.cpp check(IfThenElse::make(x == 4 && y == 5, check 5898 src/Simplify.cpp check(IfThenElse::make(b1 || b2, check 5906 src/Simplify.cpp check(IfThenElse::make(b1, check 5913 src/Simplify.cpp check(IfThenElse::make(x < y, check 5920 src/Simplify.cpp check(Block::make(IfThenElse::make(x < y, Evaluate::make(x+1), Evaluate::make(x+2)), check 5926 src/Simplify.cpp check(Block::make(IfThenElse::make(x < y, Evaluate::make(x+1)), check 5930 src/Simplify.cpp check(Block::make(IfThenElse::make(x < y, Evaluate::make(x+1), Evaluate::make(x+2)), check 5936 src/Simplify.cpp check(Block::make(IfThenElse::make(x < y, Evaluate::make(x+1)), check 5945 src/Simplify.cpp check(IfThenElse::make(foo == 17, check 5952 src/Simplify.cpp check(IfThenElse::make(foo != 17, check 5964 src/Simplify.cpp check(IfThenElse::make(b1 == b2, then_clause, else_clause), check 5968 src/Simplify.cpp check(select(x == 3, 5, 7) + 7, select(x == 3, 12, 14)); check 5969 src/Simplify.cpp check(select(x == 3, 5, 7) - 7, select(x == 3, -2, 0)); check 5970 src/Simplify.cpp check(select(x == 3, 5, y) - y, select(x == 3, 5 - y, 0)); check 5971 src/Simplify.cpp check(select(x == 3, y, 5) - y, select(x == 3, 0, 5 - y)); check 5972 src/Simplify.cpp check(y - select(x == 3, 5, y), select(x == 3, y + (-5), 0)); check 5973 src/Simplify.cpp check(y - select(x == 3, y, 5), select(x == 3, 0, y + (-5))); check 5975 src/Simplify.cpp check(select(x == 3, 5, 7) == 7, x != 3); check 5976 src/Simplify.cpp check(select(x == 3, z, y) == z, (x == 3) || (y == z)); check 5978 src/Simplify.cpp check(select(x == 3, 4, 2) == 0, const_false()); check 5979 src/Simplify.cpp check(select(x == 3, y, 2) == 4, (x == 3) && (y == 4)); check 5980 src/Simplify.cpp check(select(x == 3, 2, y) == 4, (x != 3) && (y == 4)); check 5982 src/Simplify.cpp check(min(select(x == 2, y*3, 8), select(x == 2, y+8, y*7)), check 5985 src/Simplify.cpp check(max(select(x == 2, y*3, 8), select(x == 2, y+8, y*7)), check 5988 src/Simplify.cpp check(select(x == 2, x+1, x+5), x + select(x == 2, 1, 5)); check 5989 src/Simplify.cpp check(select(x == 2, x+y, x+z), x + select(x == 2, y, z)); check 5990 src/Simplify.cpp check(select(x == 2, y+x, x+z), x + select(x == 2, y, z)); check 5991 src/Simplify.cpp check(select(x == 2, y+x, z+x), select(x == 2, y, z) + x); check 5992 src/Simplify.cpp check(select(x == 2, x+y, z+x), x + select(x == 2, y, z)); check 5993 src/Simplify.cpp check(select(x == 2, x*2, x*5), x * select(x == 2, 2, 5)); check 5994 src/Simplify.cpp check(select(x == 2, x*y, x*z), x * select(x == 2, y, z)); check 5995 src/Simplify.cpp check(select(x == 2, y*x, x*z), x * select(x == 2, y, z)); check 5996 src/Simplify.cpp check(select(x == 2, y*x, z*x), select(x == 2, y, z) * x); check 5997 src/Simplify.cpp check(select(x == 2, x*y, z*x), x * select(x == 2, y, z)); check 5998 src/Simplify.cpp check(select(x == 2, x-y, x-z), x - select(x == 2, y, z)); check 5999 src/Simplify.cpp check(select(x == 2, y-x, z-x), select(x == 2, y, z) - x); check 6000 src/Simplify.cpp check(select(x == 2, x+y, x-z), x + select(x == 2, y, 0-z)); check 6001 src/Simplify.cpp check(select(x == 2, y+x, x-z), x + select(x == 2, y, 0-z)); check 6002 src/Simplify.cpp check(select(x == 2, x-z, x+y), x + select(x == 2, 0-z, y)); check 6003 src/Simplify.cpp check(select(x == 2, x-z, y+x), x + select(x == 2, 0-z, y)); check 6014 src/Simplify.cpp check(select(b[0], x, select(b[1], x, y)), check 6016 src/Simplify.cpp check(select(b[0], x, select(b[1], y, x)), check 6018 src/Simplify.cpp check(select(b[0], select(b[1], x, y), x), check 6020 src/Simplify.cpp check(select(b[0], select(b[1], y, x), x), check 6024 src/Simplify.cpp check(b[0] || (b[0] && b[1]), b[0]); check 6025 src/Simplify.cpp check((b[0] && b[1]) || b[0], b[0]); check 6026 src/Simplify.cpp check(b[0] && (b[0] || b[1]), b[0]); check 6027 src/Simplify.cpp check((b[0] || b[1]) && b[0], b[0]); check 6028 src/Simplify.cpp check(b[0] && (b[0] && b[1]), b[0] && b[1]); check 6029 src/Simplify.cpp check((b[0] && b[1]) && b[0], b[1] && b[0]); check 6030 src/Simplify.cpp check(b[0] || (b[0] || b[1]), b[0] || b[1]); check 6031 src/Simplify.cpp check((b[0] || b[1]) || b[0], b[1] || b[0]); check 6035 src/Simplify.cpp check(nasty, b[0] || b[2]); check 6042 src/Simplify.cpp check(sqrt(4.0f), 2.0f); check 6043 src/Simplify.cpp check(log(0.5f + 0.5f), 0.0f); check 6044 src/Simplify.cpp check(exp(log(2.0f)), 2.0f); check 6045 src/Simplify.cpp check(pow(4.0f, 0.5f), 2.0f); check 6046 src/Simplify.cpp check(round(1000.0f*pow(exp(1.0f), log(10.0f))), 10000.0f); check 6048 src/Simplify.cpp check(floor(0.98f), 0.0f); check 6049 src/Simplify.cpp check(ceil(0.98f), 1.0f); check 6050 src/Simplify.cpp check(round(0.6f), 1.0f); check 6051 src/Simplify.cpp check(round(-0.5f), 0.0f); check 6052 src/Simplify.cpp check(trunc(-1.6f), -1.0f); check 6053 src/Simplify.cpp check(floor(round(x)), round(x)); check 6054 src/Simplify.cpp check(ceil(ceil(x)), ceil(x)); check 6249 src/Simplify.cpp check(cast(Int(16), x) << 10, cast(Int(16), x) * 1024); check 6250 src/Simplify.cpp check(cast(Int(16), x) >> 10, cast(Int(16), x) / 1024); check 6251 src/Simplify.cpp check(cast(Int(16), x) << -10, cast(Int(16), x) / 1024); check 6257 src/Simplify.cpp check(cast(UInt(32), x) & Expr((uint32_t)0xaaaaaaaa), check 6262 src/Simplify.cpp check(cast(UInt(64), cast(UInt(32), cast(Int(8), -1))), check 6267 src/Simplify.cpp check(Let::make("x", 3, x+4), 7); check 6270 src/Simplify.cpp check(Let::make("v", ramp(x*2+7, 3, 4), v + Expr(broadcast(2, 4))), check 6274 src/Simplify.cpp check(Let::make("v", broadcast(x, 4), v + Expr(broadcast(2, 4))), check 6278 src/Simplify.cpp check(Let::make("x", 3*y*y*y, 4), 4); check 6279 src/Simplify.cpp check(Let::make("x", 0, 0), 0); check 6282 src/Simplify.cpp check(Evaluate::make(Let::make("x", Call::make(Int(32), "dummy", {3, x, 4}, Call::Extern), Let::make("y", 10, x + y + 2))), check 6286 src/Simplify.cpp check(((x * (int32_t)0x80000000) + (y + z * (int32_t)0x80000000)), check 6290 src/Simplify.cpp check(Call::make(type_of<const char *>(), Call::stringify, {3, string(" "), 4}, Call::Intrinsic), check 6293 src/Simplify.cpp check(Call::make(type_of<const char *>(), Call::stringify, {3, x, 4, string(", "), 3.4f}, Call::Intrinsic), check 6299 src/Simplify.cpp check(Call::make(Int(32), Call::prefetch, {base, x, 4, 1, 64, 4, min(x + y, 128), 256}, Call::Intrinsic), check 6304 src/Simplify.cpp check(min(x, y)*max(x, y), x*y); check 6305 src/Simplify.cpp check(min(x, y)*max(y, x), x*y); check 6306 src/Simplify.cpp check(max(x, y)*min(x, y), x*y); check 6307 src/Simplify.cpp check(max(y, x)*min(x, y), x*y); check 6310 src/Simplify.cpp check(min(x, y) + max(x, y), x + y); check 6311 src/Simplify.cpp check(min(x, y) + max(y, x), x + y); check 6312 src/Simplify.cpp check(max(x, y) + min(x, y), x + y); check 6313 src/Simplify.cpp check(max(y, x) + min(x, y), x + y); check 6316 src/Simplify.cpp check(max(min(x, y), max(x, y)), max(x, y)); check 6317 src/Simplify.cpp check(max(min(x, y), max(y, x)), max(x, y)); check 6318 src/Simplify.cpp check(max(max(x, y), min(x, y)), max(x, y)); check 6319 src/Simplify.cpp check(max(max(y, x), min(x, y)), max(x, y)); check 6322 src/Simplify.cpp check(min(max(x, y), min(x, y)), min(x, y)); check 6323 src/Simplify.cpp check(min(max(x, y), min(y, x)), min(x, y)); check 6324 src/Simplify.cpp check(min(min(x, y), max(x, y)), min(x, y)); check 6325 src/Simplify.cpp check(min(min(y, x), max(x, y)), min(x, y)); check 6344 src/Simplify.cpp check(interleave_vectors({ramp(x, 2, 4), ramp(x+1, 2, 4)}), ramp(x, 1, 8)); check 6345 src/Simplify.cpp check(interleave_vectors({ramp(x, 4, 4), ramp(x+2, 4, 4)}), ramp(x, 2, 8)); check 6346 src/Simplify.cpp check(interleave_vectors({ramp(x-y, 2*y, 4), ramp(x, 2*y, 4)}), ramp(x-y, y, 8)); check 6347 src/Simplify.cpp check(interleave_vectors({ramp(x, 3, 4), ramp(x+1, 3, 4), ramp(x+2, 3, 4)}), ramp(x, 1, 12)); check 6350 src/Simplify.cpp check(interleave_vectors({slice(vec, 0, 2, 8), slice(vec, 1, 2, 8)}), vec); check 6351 src/Simplify.cpp check(interleave_vectors({slice(vec, 0, 4, 4), slice(vec, 1, 4, 4), slice(vec, 2, 4, 4), slice(vec, 3, 4, 4)}), vec); check 6355 src/Simplify.cpp check(concat_vectors({ramp(x, 2, 4), ramp(x+8, 2, 4)}), ramp(x, 2, 8)); check 6356 src/Simplify.cpp check(concat_vectors({ramp(x, 3, 2), ramp(x+6, 3, 2), ramp(x+12, 3, 2)}), ramp(x, 3, 6)); check 6361 src/Simplify.cpp check(e, e); check 6363 src/Simplify.cpp check(e, e); check 6365 src/Simplify.cpp check(e, e); check 6367 src/Simplify.cpp check(e, e); check 6369 src/Simplify.cpp check(e, e); check 6372 src/Simplify.cpp check(e, e); check 6374 src/Simplify.cpp check(e, e); check 6376 src/Simplify.cpp check(e, e); check 6384 src/Simplify.cpp check(interleave_vectors({load1, load2}), load12); check 6388 src/Simplify.cpp check(e, e); check 6393 src/Simplify.cpp check(e, e); check 6404 src/Simplify.cpp check(concat_vectors(loads), Load::make(Float(32, lanes), "buf", ramp(x, 1, lanes), Buffer<>(), Parameter(), const_true(lanes))); check 6414 src/Simplify.cpp check(e, e); check 6421 src/Simplify.cpp check(e, expected); check 6429 src/Simplify.cpp check(stmt, Evaluate::make(0)); check 6464 src/Simplify.cpp check(e, expected); check 464 src/SkipStages.cpp MightBeSkippable check(order[i-1]); check 465 src/SkipStages.cpp stmt.accept(&check); check 466 src/SkipStages.cpp if (check.result) { check 142 src/UnpackBuffers.cpp Stmt check = AssertStmt::make(cond, error); check 143 src/UnpackBuffers.cpp s = Block::make(check, s); check 1758 src/runtime/HalideBuffer.h static void for_each_element(int, int dims, const for_each_element_task_dim *t, Fn &&f, int check = 0) { check 1411 src/runtime/HalideRuntime.h check_is_pointer<T> check; check 1412 src/runtime/HalideRuntime.h (void)check; check 30 test/correctness/bounds_of_abs.cpp check(f1, input, 0, 129); check 31 test/correctness/bounds_of_abs.cpp check(f2, input, 0, 32769); check 34 test/correctness/bounds_of_abs.cpp check(f3, input, 0, 11111); check 39 test/correctness/bounds_of_abs.cpp check(f4, input, 0, 101); check 46 test/correctness/bounds_of_abs.cpp check(f5, input, 0, 51); check 30 test/correctness/bounds_of_cast.cpp check(f1, input, 0, 256); check 31 test/correctness/bounds_of_cast.cpp check(f2, input, -128, 256); check 32 test/correctness/bounds_of_cast.cpp check(f3, input, 0, 65536); check 33 test/correctness/bounds_of_cast.cpp check(f4, input, -32768, 65536); check 67 test/correctness/extern_bounds_inference.cpp check(input, 3, W, 7, H); check 97 test/correctness/extern_bounds_inference.cpp check(input, 3, W + 5, 7, H + 10); check 125 test/correctness/extern_bounds_inference.cpp check(input, 3, W + 5, 7, H + 10); check 27 test/correctness/introspection.cpp using Halide::check; check 58 test/correctness/introspection.cpp check(this, "Foo::{anonymous}::Bar", "b", __FILE__, __LINE__); check 59 test/correctness/introspection.cpp check(&bar_int, "Foo::{anonymous}::Bar::bint", "b.bar_int", __FILE__, __LINE__); check 77 test/correctness/introspection.cpp check(&y, "int", "y", __FILE__, __LINE__); check 78 test/correctness/introspection.cpp check(&static_float_in_f, "float", "static_float_in_f", __FILE__, __LINE__); check 118 test/correctness/introspection.cpp check(&secret_int, "int", "secret_int", __FILE__, __LINE__); check 122 test/correctness/introspection.cpp check(on_the_heap, "int", "", __FILE__, __LINE__); check 128 test/correctness/introspection.cpp check(&dummy_heap_object_ptr, "HeapObject *", "dummy_heap_object_ptr", __FILE__, __LINE__); check 130 test/correctness/introspection.cpp check(&(obj->f), "float", "f", __FILE__, __LINE__); check 131 test/correctness/introspection.cpp check(&(obj->f2), "fancy_float", "f2", __FILE__, __LINE__); check 132 test/correctness/introspection.cpp check(&(obj->f2), "float", "f2", __FILE__, __LINE__); check 133 test/correctness/introspection.cpp check(&(obj->i), "int", "i", __FILE__, __LINE__); check 134 test/correctness/introspection.cpp check(&(obj->inner.c), "char", "inner.c", __FILE__, __LINE__); check 135 test/correctness/introspection.cpp check(&(obj->inner.d), "double", "inner.d", __FILE__, __LINE__); check 136 test/correctness/introspection.cpp check(&(obj->ptr), "HeapObject *", "ptr", __FILE__, __LINE__); check 138 test/correctness/introspection.cpp check(&(obj->inner.i_array[10]), "int", "inner.i_array[10]", __FILE__, __LINE__); check 139 test/correctness/introspection.cpp check(&(obj->inner2_array[4].a[2]), "int", "inner2_array[4].a[2]", __FILE__, __LINE__); check 140 test/correctness/introspection.cpp check(&(obj->inner.i_array), "int [20]", "inner.i_array", __FILE__, __LINE__); check 146 test/correctness/introspection.cpp check(&an_array[5], "float", "an_array[5]", __FILE__, __LINE__); check 152 test/correctness/introspection.cpp check(&block_a, "int", "block_a", __FILE__, __LINE__); check 158 test/correctness/introspection.cpp check(&block_b, "int", "block_b", __FILE__, __LINE__); check 164 test/correctness/introspection.cpp check(&block_c, "int", "block_c", __FILE__, __LINE__); check 168 test/correctness/introspection.cpp check(&global_int, "int", "global_int", __FILE__, __LINE__); check 169 test/correctness/introspection.cpp check(&Foo::global_int_in_foo, "int", "Foo::global_int_in_foo", __FILE__, __LINE__); check 172 test/correctness/introspection.cpp check(&global_struct, "SomeStruct", "global_struct", __FILE__, __LINE__); check 173 test/correctness/introspection.cpp check(&global_struct.global_struct_a, "int", "global_struct.global_struct_a", __FILE__, __LINE__); check 174 test/correctness/introspection.cpp check(&global_struct.global_struct_b, "int", "global_struct.global_struct_b", __FILE__, __LINE__); check 176 test/correctness/introspection.cpp check(&global_array[4], "float", "global_array[4]", __FILE__, __LINE__); check 178 test/correctness/introspection.cpp check(&SomeStruct::static_float, "float", "SomeStruct::static_float", __FILE__, __LINE__); check 180 test/correctness/introspection.cpp check(&SomeStruct::static_member_double_array[5], "double", "SomeStruct::static_member_double_array[5]", __FILE__, __LINE__); check 182 test/correctness/introspection.cpp check(&SomeStruct::substruct.a, "int", "SomeStruct::substruct.a", __FILE__, __LINE__); check 94 test/correctness/inverse.cpp check(imf1, imf2); check 95 test/correctness/inverse.cpp check(imf1, imf3); check 96 test/correctness/inverse.cpp check(imf1, imf4); check 97 test/correctness/inverse.cpp check(imf1, imf5); check 100 test/correctness/inverse.cpp check(img1, img2); check 101 test/correctness/inverse.cpp check(img1, img3); check 102 test/correctness/inverse.cpp check(img1, img4); check 103 test/correctness/inverse.cpp check(img1, img5); check 64 test/correctness/named_updates.cpp RDom check(result); check 66 test/correctness/named_updates.cpp maximum(abs(result(check) - result_ref(check)))); check 33 test/correctness/reorder_rvars.cpp Expr check = sum(abs(f(r3.x, r3.y) - g(r3.x, r3.y))); check 35 test/correctness/reorder_rvars.cpp int err = evaluate_may_gpu<int>(cast<int>(check)); check 300 test/correctness/simd_op_check.cpp check("paddb", 8*w, u8_1 + u8_2); check 301 test/correctness/simd_op_check.cpp check("psubb", 8*w, u8_1 - u8_2); check 302 test/correctness/simd_op_check.cpp check("paddw", 4*w, u16_1 + u16_2); check 303 test/correctness/simd_op_check.cpp check("psubw", 4*w, u16_1 - u16_2); check 304 test/correctness/simd_op_check.cpp check("pmullw", 4*w, i16_1 * i16_2); check 305 test/correctness/simd_op_check.cpp check("paddd", 2*w, i32_1 + i32_2); check 306 test/correctness/simd_op_check.cpp check("psubd", 2*w, i32_1 - i32_2); check 309 test/correctness/simd_op_check.cpp check("paddsb", 8*w, i8_sat(i16(i8_1) + i16(i8_2))); check 311 test/correctness/simd_op_check.cpp check("paddsb", 8*w, i8_sat(i16(i8_1) + i16(3))); check 312 test/correctness/simd_op_check.cpp check("psubsb", 8*w, i8_sat(i16(i8_1) - i16(i8_2))); check 313 test/correctness/simd_op_check.cpp check("paddusb", 8*w, u8(min(u16(u8_1) + u16(u8_2), max_u8))); check 314 test/correctness/simd_op_check.cpp check("psubusb", 8*w, u8(max(i16(u8_1) - i16(u8_2), 0))); check 316 test/correctness/simd_op_check.cpp check("paddsw", 4*w, i16_sat(i32(i16_1) + i32(i16_2))); check 317 test/correctness/simd_op_check.cpp check("psubsw", 4*w, i16_sat(i32(i16_1) - i32(i16_2))); check 318 test/correctness/simd_op_check.cpp check("paddusw", 4*w, u16(min(u32(u16_1) + u32(u16_2), max_u16))); check 319 test/correctness/simd_op_check.cpp check("psubusw", 4*w, u16(max(i32(u16_1) - i32(u16_2), 0))); check 320 test/correctness/simd_op_check.cpp check("pmulhw", 4*w, i16((i32(i16_1) * i32(i16_2)) / (256*256))); check 321 test/correctness/simd_op_check.cpp check("pmulhw", 4*w, i16((i32(i16_1) * i32(i16_2)) >> 16)); check 324 test/correctness/simd_op_check.cpp check("pmulhw", 4*w, i16((3 * i32(i16_2)) / (256*256))); check 328 test/correctness/simd_op_check.cpp check("pmulhw", 4*w, select(in_u8(0) == 0, check 332 test/correctness/simd_op_check.cpp check("pmulhuw", 4*w, i16_1 / 15); check 335 test/correctness/simd_op_check.cpp check("pcmp*b", 8*w, select(u8_1 == u8_2, u8(1), u8(2))); check 336 test/correctness/simd_op_check.cpp check("pcmp*b", 8*w, select(u8_1 > u8_2, u8(1), u8(2))); check 337 test/correctness/simd_op_check.cpp check("pcmp*w", 4*w, select(u16_1 == u16_2, u16(1), u16(2))); check 338 test/correctness/simd_op_check.cpp check("pcmp*w", 4*w, select(u16_1 > u16_2, u16(1), u16(2))); check 339 test/correctness/simd_op_check.cpp check("pcmp*d", 2*w, select(u32_1 == u32_2, u32(1), u32(2))); check 340 test/correctness/simd_op_check.cpp check("pcmp*d", 2*w, select(u32_1 > u32_2, u32(1), u32(2))); check 343 test/correctness/simd_op_check.cpp check("addps", 2*w, f32_1 + f32_2); check 344 test/correctness/simd_op_check.cpp check("subps", 2*w, f32_1 - f32_2); check 345 test/correctness/simd_op_check.cpp check("mulps", 2*w, f32_1 * f32_2); check 357 test/correctness/simd_op_check.cpp check(use_avx512_skylake ? "vrsqrt14ps" : "rsqrtps", 2*w, fast_inverse_sqrt(f32_1)); check 358 test/correctness/simd_op_check.cpp check(use_avx512_skylake ? "vrcp14ps" : "rcpps", 2*w, fast_inverse(f32_1)); check 359 test/correctness/simd_op_check.cpp check("sqrtps", 2*w, sqrt(f32_2)); check 360 test/correctness/simd_op_check.cpp check("maxps", 2*w, max(f32_1, f32_2)); check 361 test/correctness/simd_op_check.cpp check("minps", 2*w, min(f32_1, f32_2)); check 362 test/correctness/simd_op_check.cpp check("pavgb", 8*w, u8((u16(u8_1) + u16(u8_2) + 1)/2)); check 363 test/correctness/simd_op_check.cpp check("pavgb", 8*w, u8((u16(u8_1) + u16(u8_2) + 1)>>1)); check 364 test/correctness/simd_op_check.cpp check("pavgw", 4*w, u16((u32(u16_1) + u32(u16_2) + 1)/2)); check 365 test/correctness/simd_op_check.cpp check("pavgw", 4*w, u16((u32(u16_1) + u32(u16_2) + 1)>>1)); check 366 test/correctness/simd_op_check.cpp check("pmaxsw", 4*w, max(i16_1, i16_2)); check 367 test/correctness/simd_op_check.cpp check("pminsw", 4*w, min(i16_1, i16_2)); check 368 test/correctness/simd_op_check.cpp check("pmaxub", 8*w, max(u8_1, u8_2)); check 369 test/correctness/simd_op_check.cpp check("pminub", 8*w, min(u8_1, u8_2)); check 370 test/correctness/simd_op_check.cpp check("pmulhuw", 4*w, u16((u32(u16_1) * u32(u16_2))/(256*256))); check 371 test/correctness/simd_op_check.cpp check("pmulhuw", 4*w, u16((u32(u16_1) * u32(u16_2))>>16)); check 372 test/correctness/simd_op_check.cpp check("pmulhuw", 4*w, u16_1 / 15); check 375 test/correctness/simd_op_check.cpp check("cmpeqps", 2*w, select(f32_1 == f32_2, 1.0f, 2.0f)); check 376 test/correctness/simd_op_check.cpp check("cmpltps", 2*w, select(f32_1 < f32_2, 1.0f, 2.0f)); check 387 test/correctness/simd_op_check.cpp check(use_avx512_skylake ? "korw" : "orps", 4, bool_1 | bool_2); check 388 test/correctness/simd_op_check.cpp check(use_avx512_skylake ? "kxorw" : "xorps", 4, bool_1 ^ bool_2); check 392 test/correctness/simd_op_check.cpp check("andps", 4, bool_1 & bool_2); check 400 test/correctness/simd_op_check.cpp check("shufps", 4, in_f32(2*x)); check 405 test/correctness/simd_op_check.cpp check("addpd", w, f64_1 + f64_2); check 406 test/correctness/simd_op_check.cpp check("subpd", w, f64_1 - f64_2); check 407 test/correctness/simd_op_check.cpp check("mulpd", w, f64_1 * f64_2); check 408 test/correctness/simd_op_check.cpp check("divpd", w, f64_1 / f64_2); check 409 test/correctness/simd_op_check.cpp check("sqrtpd", w, sqrt(f64_2)); check 410 test/correctness/simd_op_check.cpp check("maxpd", w, max(f64_1, f64_2)); check 411 test/correctness/simd_op_check.cpp check("minpd", w, min(f64_1, f64_2)); check 413 test/correctness/simd_op_check.cpp check("cmpeqpd", w, select(f64_1 == f64_2, 1.0f, 2.0f)); check 416 test/correctness/simd_op_check.cpp check("cmpltpd", w, select(f64_1 < f64_2, 1.0f, 2.0f)); check 429 test/correctness/simd_op_check.cpp check("paddq", w, i64_1 + i64_2); check 430 test/correctness/simd_op_check.cpp check("psubq", w, i64_1 - i64_2); check 431 test/correctness/simd_op_check.cpp check(use_avx512_skylake ? "vpmullq" : "pmuludq", w, u64_1 * u64_2); check 433 test/correctness/simd_op_check.cpp check("packssdw", 4*w, i16_sat(i32_1)); check 434 test/correctness/simd_op_check.cpp check("packsswb", 8*w, i8_sat(i16_1)); check 435 test/correctness/simd_op_check.cpp check("packuswb", 8*w, u8_sat(i16_1)); check 445 test/correctness/simd_op_check.cpp check("pabsb", 8*w, abs(i8_1)); check 446 test/correctness/simd_op_check.cpp check("pabsw", 4*w, abs(i16_1)); check 447 test/correctness/simd_op_check.cpp check("pabsd", 2*w, abs(i32_1)); check 455 test/correctness/simd_op_check.cpp check("pmaddwd", 2*w, i32(i16_1) * 3 + i32(i16_2) * 4); check 456 test/correctness/simd_op_check.cpp check("pmaddwd", 2*w, i32(i16_1) * 3 - i32(i16_2) * 4); check 460 test/correctness/simd_op_check.cpp check("vpmaddwd", 8, i32(i16_1) * 3 + i32(i16_2) * 4); check 462 test/correctness/simd_op_check.cpp check("pmaddwd", 8, i32(i16_1) * 3 + i32(i16_2) * 4); check 471 test/correctness/simd_op_check.cpp check("pmuludq", 2*w, u64(u32_1) * u64(u32_2)); check 473 test/correctness/simd_op_check.cpp check("pmulld", 2*w, i32_1 * i32_2); check 475 test/correctness/simd_op_check.cpp check((use_avx512_skylake && w > 2) ? "vinsertf32x8" : "blend*ps", 2*w, select(f32_1 > 0.7f, f32_1, f32_2)); check 476 test/correctness/simd_op_check.cpp check((use_avx512 && w > 2) ? "vinsertf64x4" : "blend*pd", w, select(f64_1 > cast<double>(0.7f), f64_1, f64_2)); check 477 test/correctness/simd_op_check.cpp check("pblend*b", 8*w, select(u8_1 > 7, u8_1, u8_2)); check 478 test/correctness/simd_op_check.cpp check("pblend*b", 8*w, select(u8_1 == 7, u8_1, u8_2)); check 479 test/correctness/simd_op_check.cpp check("pblend*b", 8*w, select(u8_1 <= 7, i8_1, i8_2)); check 481 test/correctness/simd_op_check.cpp check("pmaxsb", 8*w, max(i8_1, i8_2)); check 482 test/correctness/simd_op_check.cpp check("pminsb", 8*w, min(i8_1, i8_2)); check 483 test/correctness/simd_op_check.cpp check("pmaxuw", 4*w, max(u16_1, u16_2)); check 484 test/correctness/simd_op_check.cpp check("pminuw", 4*w, min(u16_1, u16_2)); check 485 test/correctness/simd_op_check.cpp check("pmaxud", 2*w, max(u32_1, u32_2)); check 486 test/correctness/simd_op_check.cpp check("pminud", 2*w, min(u32_1, u32_2)); check 487 test/correctness/simd_op_check.cpp check("pmaxsd", 2*w, max(i32_1, i32_2)); check 488 test/correctness/simd_op_check.cpp check("pminsd", 2*w, min(i32_1, i32_2)); check 490 test/correctness/simd_op_check.cpp check("roundps", 2*w, round(f32_1)); check 491 test/correctness/simd_op_check.cpp check("roundpd", w, round(f64_1)); check 492 test/correctness/simd_op_check.cpp check("roundps", 2*w, floor(f32_1)); check 493 test/correctness/simd_op_check.cpp check("roundpd", w, floor(f64_1)); check 494 test/correctness/simd_op_check.cpp check("roundps", 2*w, ceil(f32_1)); check 495 test/correctness/simd_op_check.cpp check("roundpd", w, ceil(f64_1)); check 497 test/correctness/simd_op_check.cpp check("pcmpeqq", w, select(i64_1 == i64_2, i64(1), i64(2))); check 498 test/correctness/simd_op_check.cpp check("packusdw", 4*w, u16_sat(i32_1)); check 504 test/correctness/simd_op_check.cpp check("pcmpgtq", 2, select(i64_1 > i64_2, i64(1), i64(2))); check 509 test/correctness/simd_op_check.cpp check("vsqrtps" YMM, 8, sqrt(f32_1)); check 510 test/correctness/simd_op_check.cpp check("vsqrtpd" YMM, 4, sqrt(f64_1)); check 511 test/correctness/simd_op_check.cpp check(use_avx512_skylake ? "vrsqrt14ps" : "vrsqrtps" YMM, 8, fast_inverse_sqrt(f32_1)); check 512 test/correctness/simd_op_check.cpp check(use_avx512_skylake ? "vrcp14ps" : "vrcpps" YMM, 8, fast_inverse(f32_1)); check 516 test/correctness/simd_op_check.cpp check("vandnps", 8, bool1 & (!bool2)); check 517 test/correctness/simd_op_check.cpp check("vandps", 8, bool1 & bool2); check 518 test/correctness/simd_op_check.cpp check("vorps", 8, bool1 | bool2); check 519 test/correctness/simd_op_check.cpp check("vxorps", 8, bool1 ^ bool2); check 522 test/correctness/simd_op_check.cpp check("vaddps" YMM, 8, f32_1 + f32_2); check 523 test/correctness/simd_op_check.cpp check("vaddpd" YMM, 4, f64_1 + f64_2); check 524 test/correctness/simd_op_check.cpp check("vmulps" YMM, 8, f32_1 * f32_2); check 525 test/correctness/simd_op_check.cpp check("vmulpd" YMM, 4, f64_1 * f64_2); check 526 test/correctness/simd_op_check.cpp check("vsubps" YMM, 8, f32_1 - f32_2); check 527 test/correctness/simd_op_check.cpp check("vsubpd" YMM, 4, f64_1 - f64_2); check 531 test/correctness/simd_op_check.cpp check("vminps" YMM, 8, min(f32_1, f32_2)); check 532 test/correctness/simd_op_check.cpp check("vminpd" YMM, 4, min(f64_1, f64_2)); check 533 test/correctness/simd_op_check.cpp check("vmaxps" YMM, 8, max(f32_1, f32_2)); check 534 test/correctness/simd_op_check.cpp check("vmaxpd" YMM, 4, max(f64_1, f64_2)); check 535 test/correctness/simd_op_check.cpp check("vroundps" YMM, 8, round(f32_1)); check 536 test/correctness/simd_op_check.cpp check("vroundpd" YMM, 4, round(f64_1)); check 538 test/correctness/simd_op_check.cpp check("vcmpeqpd" YMM, 4, select(f64_1 == f64_2, 1.0f, 2.0f)); check 541 test/correctness/simd_op_check.cpp check("vcmpltpd" YMM, 4, select(f64_1 < f64_2, 1.0f, 2.0f)); check 542 test/correctness/simd_op_check.cpp check("vcmpeqps" YMM, 8, select(f32_1 == f32_2, 1.0f, 2.0f)); check 545 test/correctness/simd_op_check.cpp check("vcmpltps" YMM, 8, select(f32_1 < f32_2, 1.0f, 2.0f)); check 548 test/correctness/simd_op_check.cpp check(use_avx512_skylake ? "vinsertf32x8" : "vblend*ps" YMM, 8, select(f32_1 > 0.7f, f32_1, f32_2)); check 549 test/correctness/simd_op_check.cpp check(use_avx512 ? "vinsertf64x4" : "vblend*pd" YMM, 4, select(f64_1 > cast<double>(0.7f), f64_1, f64_2)); check 551 test/correctness/simd_op_check.cpp check("vcvttps2dq" YMM, 8, i32(f32_1)); check 552 test/correctness/simd_op_check.cpp check("vcvtdq2ps" YMM, 8, f32(i32_1)); check 553 test/correctness/simd_op_check.cpp check("vcvttpd2dqy", 8, i32(f64_1)); check 554 test/correctness/simd_op_check.cpp check("vcvtdq2pd" YMM, 8, f64(i32_1)); check 555 test/correctness/simd_op_check.cpp check("vcvtps2pd" YMM, 8, f64(f32_1)); check 556 test/correctness/simd_op_check.cpp check("vcvtpd2psy", 8, f32(f64_1)); check 565 test/correctness/simd_op_check.cpp check("vpaddb" YMM, 32, u8_1 + u8_2); check 566 test/correctness/simd_op_check.cpp check("vpsubb" YMM, 32, u8_1 - u8_2); check 567 test/correctness/simd_op_check.cpp check("vpaddsb", 32, i8_sat(i16(i8_1) + i16(i8_2))); check 568 test/correctness/simd_op_check.cpp check("vpsubsb", 32, i8_sat(i16(i8_1) - i16(i8_2))); check 569 test/correctness/simd_op_check.cpp check("vpaddusb", 32, u8(min(u16(u8_1) + u16(u8_2), max_u8))); check 570 test/correctness/simd_op_check.cpp check("vpsubusb", 32, u8(max(i16(u8_1) - i16(u8_2), 0))); check 571 test/correctness/simd_op_check.cpp check("vpaddw" YMM, 16, u16_1 + u16_2); check 572 test/correctness/simd_op_check.cpp check("vpsubw" YMM, 16, u16_1 - u16_2); check 573 test/correctness/simd_op_check.cpp check("vpaddsw", 16, i16_sat(i32(i16_1) + i32(i16_2))); check 574 test/correctness/simd_op_check.cpp check("vpsubsw", 16, i16_sat(i32(i16_1) - i32(i16_2))); check 575 test/correctness/simd_op_check.cpp check("vpaddusw", 16, u16(min(u32(u16_1) + u32(u16_2), max_u16))); check 576 test/correctness/simd_op_check.cpp check("vpsubusw", 16, u16(max(i32(u16_1) - i32(u16_2), 0))); check 577 test/correctness/simd_op_check.cpp check("vpaddd" YMM, 8, i32_1 + i32_2); check 578 test/correctness/simd_op_check.cpp check("vpsubd" YMM, 8, i32_1 - i32_2); check 579 test/correctness/simd_op_check.cpp check("vpmulhw" YMM, 16, i16((i32(i16_1) * i32(i16_2)) / (256*256))); check 580 test/correctness/simd_op_check.cpp check("vpmulhw" YMM, 16, i16((i32(i16_1) * i32(i16_2)) >> 16)); check 581 test/correctness/simd_op_check.cpp check("vpmullw" YMM, 16, i16_1 * i16_2); check 583 test/correctness/simd_op_check.cpp check("vpcmp*b" YMM, 32, select(u8_1 == u8_2, u8(1), u8(2))); check 584 test/correctness/simd_op_check.cpp check("vpcmp*b" YMM, 32, select(u8_1 > u8_2, u8(1), u8(2))); check 585 test/correctness/simd_op_check.cpp check("vpcmp*w" YMM, 16, select(u16_1 == u16_2, u16(1), u16(2))); check 586 test/correctness/simd_op_check.cpp check("vpcmp*w" YMM, 16, select(u16_1 > u16_2, u16(1), u16(2))); check 587 test/correctness/simd_op_check.cpp check("vpcmp*d" YMM, 8, select(u32_1 == u32_2, u32(1), u32(2))); check 588 test/correctness/simd_op_check.cpp check("vpcmp*d" YMM, 8, select(u32_1 > u32_2, u32(1), u32(2))); check 590 test/correctness/simd_op_check.cpp check("vpavgb", 32, u8((u16(u8_1) + u16(u8_2) + 1)/2)); check 591 test/correctness/simd_op_check.cpp check("vpavgw", 16, u16((u32(u16_1) + u32(u16_2) + 1)/2)); check 592 test/correctness/simd_op_check.cpp check("vpmaxsw" YMM, 16, max(i16_1, i16_2)); check 593 test/correctness/simd_op_check.cpp check("vpminsw" YMM, 16, min(i16_1, i16_2)); check 594 test/correctness/simd_op_check.cpp check("vpmaxub" YMM, 32, max(u8_1, u8_2)); check 595 test/correctness/simd_op_check.cpp check("vpminub" YMM, 32, min(u8_1, u8_2)); check 596 test/correctness/simd_op_check.cpp check("vpmulhuw" YMM, 16, u16((u32(u16_1) * u32(u16_2))/(256*256))); check 597 test/correctness/simd_op_check.cpp check("vpmulhuw" YMM, 16, u16((u32(u16_1) * u32(u16_2))>>16)); check 599 test/correctness/simd_op_check.cpp check("vpaddq" YMM, 8, i64_1 + i64_2); check 600 test/correctness/simd_op_check.cpp check("vpsubq" YMM, 8, i64_1 - i64_2); check 601 test/correctness/simd_op_check.cpp check(use_avx512_skylake ? "vpmullq" : "vpmuludq", 8, u64_1 * u64_2); check 603 test/correctness/simd_op_check.cpp check("vpackssdw", 16, i16_sat(i32_1)); check 604 test/correctness/simd_op_check.cpp check("vpacksswb", 32, i8_sat(i16_1)); check 605 test/correctness/simd_op_check.cpp check("vpackuswb", 32, u8_sat(i16_1)); check 607 test/correctness/simd_op_check.cpp check("vpabsb", 32, abs(i8_1)); check 608 test/correctness/simd_op_check.cpp check("vpabsw", 16, abs(i16_1)); check 609 test/correctness/simd_op_check.cpp check("vpabsd", 8, abs(i32_1)); check 615 test/correctness/simd_op_check.cpp check("vpmuludq" YMM, 8, u64(u32_1) * u64(u32_2)); check 617 test/correctness/simd_op_check.cpp check("vpmulld" YMM, 8, i32_1 * i32_2); check 619 test/correctness/simd_op_check.cpp check("vpblend*b" YMM, 32, select(u8_1 > 7, u8_1, u8_2)); check 621 test/correctness/simd_op_check.cpp check("vpmaxsb" YMM, 32, max(i8_1, i8_2)); check 622 test/correctness/simd_op_check.cpp check("vpminsb" YMM, 32, min(i8_1, i8_2)); check 623 test/correctness/simd_op_check.cpp check("vpmaxuw" YMM, 16, max(u16_1, u16_2)); check 624 test/correctness/simd_op_check.cpp check("vpminuw" YMM, 16, min(u16_1, u16_2)); check 625 test/correctness/simd_op_check.cpp check("vpmaxud" YMM, 16, max(u32_1, u32_2)); check 626 test/correctness/simd_op_check.cpp check("vpminud" YMM, 16, min(u32_1, u32_2)); check 627 test/correctness/simd_op_check.cpp check("vpmaxsd" YMM, 8, max(i32_1, i32_2)); check 628 test/correctness/simd_op_check.cpp check("vpminsd" YMM, 8, min(i32_1, i32_2)); check 630 test/correctness/simd_op_check.cpp check("vpcmpeqq" YMM, 4, select(i64_1 == i64_2, i64(1), i64(2))); check 631 test/correctness/simd_op_check.cpp check("vpackusdw", 16, u16(clamp(i32_1, 0, max_u16))); check 632 test/correctness/simd_op_check.cpp check("vpcmpgtq" YMM, 4, select(i64_1 > i64_2, i64(1), i64(2))); check 638 test/correctness/simd_op_check.cpp check("vrangeps", 16, clamp(f32_1, 3.0f, 9.0f)); check 639 test/correctness/simd_op_check.cpp check("vrangepd", 8, clamp(f64_1, f64(3), f64(9))); check 641 test/correctness/simd_op_check.cpp check("vreduceps", 16, f32_1 - floor(f32_1)); check 642 test/correctness/simd_op_check.cpp check("vreduceps", 16, f32_1 - floor(f32_1*8)/8); check 643 test/correctness/simd_op_check.cpp check("vreduceps", 16, f32_1 - trunc(f32_1)); check 644 test/correctness/simd_op_check.cpp check("vreduceps", 16, f32_1 - trunc(f32_1*8)/8); check 645 test/correctness/simd_op_check.cpp check("vreducepd", 8, f64_1 - floor(f64_1)); check 646 test/correctness/simd_op_check.cpp check("vreducepd", 8, f64_1 - floor(f64_1*8)/8); check 647 test/correctness/simd_op_check.cpp check("vreducepd", 8, f64_1 - trunc(f64_1)); check 648 test/correctness/simd_op_check.cpp check("vreducepd", 8, f64_1 - trunc(f64_1*8)/8); check 652 test/correctness/simd_op_check.cpp check("vpabsq", 8, abs(i64_1)); check 653 test/correctness/simd_op_check.cpp check("vpmaxuq", 8, max(u64_1, u64_2)); check 654 test/correctness/simd_op_check.cpp check("vpminuq", 8, min(u64_1, u64_2)); check 655 test/correctness/simd_op_check.cpp check("vpmaxsq", 8, max(i64_1, i64_2)); check 656 test/correctness/simd_op_check.cpp check("vpminsq", 8, min(i64_1, i64_2)); check 686 test/correctness/simd_op_check.cpp check(arm32 ? "vaba.s8" : "saba", 8*w, i8_1 + absd(i8_2, i8_3)); check 687 test/correctness/simd_op_check.cpp check(arm32 ? "vaba.u8" : "uaba", 8*w, u8_1 + absd(u8_2, u8_3)); check 688 test/correctness/simd_op_check.cpp check(arm32 ? "vaba.s16" : "saba", 4*w, i16_1 + absd(i16_2, i16_3)); check 689 test/correctness/simd_op_check.cpp check(arm32 ? "vaba.u16" : "uaba", 4*w, u16_1 + absd(u16_2, u16_3)); check 690 test/correctness/simd_op_check.cpp check(arm32 ? "vaba.s32" : "saba", 2*w, i32_1 + absd(i32_2, i32_3)); check 691 test/correctness/simd_op_check.cpp check(arm32 ? "vaba.u32" : "uaba", 2*w, u32_1 + absd(u32_2, u32_3)); check 694 test/correctness/simd_op_check.cpp check(arm32 ? "vabal.s8" : "sabal", 8*w, i16_1 + absd(i8_2, i8_3)); check 695 test/correctness/simd_op_check.cpp check(arm32 ? "vabal.u8" : "uabal", 8*w, u16_1 + absd(u8_2, u8_3)); check 696 test/correctness/simd_op_check.cpp check(arm32 ? "vabal.s16" : "sabal", 4*w, i32_1 + absd(i16_2, i16_3)); check 697 test/correctness/simd_op_check.cpp check(arm32 ? "vabal.u16" : "uabal", 4*w, u32_1 + absd(u16_2, u16_3)); check 698 test/correctness/simd_op_check.cpp check(arm32 ? "vabal.s32" : "sabal", 2*w, i64_1 + absd(i32_2, i32_3)); check 699 test/correctness/simd_op_check.cpp check(arm32 ? "vabal.u32" : "uabal", 2*w, u64_1 + absd(u32_2, u32_3)); check 702 test/correctness/simd_op_check.cpp check(arm32 ? "vabd.s8" : "sabd", 8*w, absd(i8_2, i8_3)); check 703 test/correctness/simd_op_check.cpp check(arm32 ? "vabd.u8" : "uabd", 8*w, absd(u8_2, u8_3)); check 704 test/correctness/simd_op_check.cpp check(arm32 ? "vabd.s16" : "sabd", 4*w, absd(i16_2, i16_3)); check 705 test/correctness/simd_op_check.cpp check(arm32 ? "vabd.u16" : "uabd", 4*w, absd(u16_2, u16_3)); check 706 test/correctness/simd_op_check.cpp check(arm32 ? "vabd.s32" : "sabd", 2*w, absd(i32_2, i32_3)); check 707 test/correctness/simd_op_check.cpp check(arm32 ? "vabd.u32" : "uabd", 2*w, absd(u32_2, u32_3)); check 710 test/correctness/simd_op_check.cpp check(arm32 ? "vabd.s8" : "sabd", 8*w, u8(abs(i16(i8_2) - i8_3))); check 711 test/correctness/simd_op_check.cpp check(arm32 ? "vabd.u8" : "uabd", 8*w, u8(abs(i16(u8_2) - u8_3))); check 712 test/correctness/simd_op_check.cpp check(arm32 ? "vabd.s16" : "sabd", 4*w, u16(abs(i32(i16_2) - i16_3))); check 713 test/correctness/simd_op_check.cpp check(arm32 ? "vabd.u16" : "uabd", 4*w, u16(abs(i32(u16_2) - u16_3))); check 714 test/correctness/simd_op_check.cpp check(arm32 ? "vabd.s32" : "sabd", 2*w, u32(abs(i64(i32_2) - i32_3))); check 715 test/correctness/simd_op_check.cpp check(arm32 ? "vabd.u32" : "uabd", 2*w, u32(abs(i64(u32_2) - u32_3))); check 718 test/correctness/simd_op_check.cpp check(arm32 ? "vabdl.s8" : "sabdl", 8*w, i16(absd(i8_2, i8_3))); check 719 test/correctness/simd_op_check.cpp check(arm32 ? "vabdl.u8" : "uabdl", 8*w, u16(absd(u8_2, u8_3))); check 720 test/correctness/simd_op_check.cpp check(arm32 ? "vabdl.s16" : "sabdl", 4*w, i32(absd(i16_2, i16_3))); check 721 test/correctness/simd_op_check.cpp check(arm32 ? "vabdl.u16" : "uabdl", 4*w, u32(absd(u16_2, u16_3))); check 722 test/correctness/simd_op_check.cpp check(arm32 ? "vabdl.s32" : "sabdl", 2*w, i64(absd(i32_2, i32_3))); check 723 test/correctness/simd_op_check.cpp check(arm32 ? "vabdl.u32" : "uabdl", 2*w, u64(absd(u32_2, u32_3))); check 726 test/correctness/simd_op_check.cpp check(arm32 ? "vabdl.s8" : "sabdl", 8*w, abs(i16(i8_2) - i16(i8_3))); check 727 test/correctness/simd_op_check.cpp check(arm32 ? "vabdl.u8" : "uabdl", 8*w, abs(i16(u8_2) - i16(u8_3))); check 728 test/correctness/simd_op_check.cpp check(arm32 ? "vabdl.s16" : "sabdl", 4*w, abs(i32(i16_2) - i32(i16_3))); check 729 test/correctness/simd_op_check.cpp check(arm32 ? "vabdl.u16" : "uabdl", 4*w, abs(i32(u16_2) - i32(u16_3))); check 730 test/correctness/simd_op_check.cpp check(arm32 ? "vabdl.s32" : "sabdl", 2*w, abs(i64(i32_2) - i64(i32_3))); check 731 test/correctness/simd_op_check.cpp check(arm32 ? "vabdl.u32" : "uabdl", 2*w, abs(i64(u32_2) - i64(u32_3))); check 734 test/correctness/simd_op_check.cpp check(arm32 ? "vabs.f32" : "fabs", 2*w, abs(f32_1)); check 735 test/correctness/simd_op_check.cpp check(arm32 ? "vabs.s32" : "abs", 2*w, abs(i32_1)); check 736 test/correctness/simd_op_check.cpp check(arm32 ? "vabs.s16" : "abs", 4*w, abs(i16_1)); check 737 test/correctness/simd_op_check.cpp check(arm32 ? "vabs.s8" : "abs", 8*w, abs(i8_1)); check 745 test/correctness/simd_op_check.cpp check(arm32 ? "vadd.i8" : "add", 8*w, i8_1 + i8_2); check 746 test/correctness/simd_op_check.cpp check(arm32 ? "vadd.i8" : "add", 8*w, u8_1 + u8_2); check 747 test/correctness/simd_op_check.cpp check(arm32 ? "vadd.i16" : "add", 4*w, i16_1 + i16_2); check 748 test/correctness/simd_op_check.cpp check(arm32 ? "vadd.i16" : "add", 4*w, u16_1 + u16_2); check 749 test/correctness/simd_op_check.cpp check(arm32 ? "vadd.i32" : "add", 2*w, i32_1 + i32_2); check 750 test/correctness/simd_op_check.cpp check(arm32 ? "vadd.i32" : "add", 2*w, u32_1 + u32_2); check 751 test/correctness/simd_op_check.cpp check(arm32 ? "vadd.f32" : "fadd", 2*w, f32_1 + f32_2); check 752 test/correctness/simd_op_check.cpp check(arm32 ? "vadd.i64" : "add", 2*w, i64_1 + i64_2); check 753 test/correctness/simd_op_check.cpp check(arm32 ? "vadd.i64" : "add", 2*w, u64_1 + u64_2); check 756 test/correctness/simd_op_check.cpp check(arm32 ? "vaddhn.i16" : "addhn", 8*w, i8((i16_1 + i16_2)/256)); check 757 test/correctness/simd_op_check.cpp check(arm32 ? "vaddhn.i16" : "addhn", 8*w, u8((u16_1 + u16_2)/256)); check 758 test/correctness/simd_op_check.cpp check(arm32 ? "vaddhn.i32" : "addhn", 4*w, i16((i32_1 + i32_2)/65536)); check 759 test/correctness/simd_op_check.cpp check(arm32 ? "vaddhn.i32" : "addhn", 4*w, u16((u32_1 + u32_2)/65536)); check 762 test/correctness/simd_op_check.cpp check(arm32 ? "vaddl.s8" : "saddl", 8*w, i16(i8_1) + i16(i8_2)); check 763 test/correctness/simd_op_check.cpp check(arm32 ? "vaddl.u8" : "uaddl", 8*w, u16(u8_1) + u16(u8_2)); check 764 test/correctness/simd_op_check.cpp check(arm32 ? "vaddl.s16" : "saddl", 4*w, i32(i16_1) + i32(i16_2)); check 765 test/correctness/simd_op_check.cpp check(arm32 ? "vaddl.u16" : "uaddl", 4*w, u32(u16_1) + u32(u16_2)); check 766 test/correctness/simd_op_check.cpp check(arm32 ? "vaddl.s32" : "saddl", 2*w, i64(i32_1) + i64(i32_2)); check 767 test/correctness/simd_op_check.cpp check(arm32 ? "vaddl.u32" : "uaddl", 2*w, u64(u32_1) + u64(u32_2)); check 770 test/correctness/simd_op_check.cpp check(arm32 ? "vaddw.s8" : "saddw", 8*w, i8_1 + i16_1); check 771 test/correctness/simd_op_check.cpp check(arm32 ? "vaddw.u8" : "uaddw", 8*w, u8_1 + u16_1); check 772 test/correctness/simd_op_check.cpp check(arm32 ? "vaddw.s16" : "saddw", 4*w, i16_1 + i32_1); check 773 test/correctness/simd_op_check.cpp check(arm32 ? "vaddw.u16" : "uaddw", 4*w, u16_1 + u32_1); check 774 test/correctness/simd_op_check.cpp check(arm32 ? "vaddw.s32" : "saddw", 2*w, i32_1 + i64_1); check 775 test/correctness/simd_op_check.cpp check(arm32 ? "vaddw.u32" : "uaddw", 2*w, u32_1 + u64_1); check 788 test/correctness/simd_op_check.cpp check(arm32 ? "vbsl" : "bsl", 2*w, select(f32_1 > f32_2, 1.0f, 2.0f)); check 791 test/correctness/simd_op_check.cpp check(arm32 ? "vceq.i8" : "cmeq", 8*w, select(i8_1 == i8_2, i8(1), i8(2))); check 792 test/correctness/simd_op_check.cpp check(arm32 ? "vceq.i8" : "cmeq", 8*w, select(u8_1 == u8_2, u8(1), u8(2))); check 793 test/correctness/simd_op_check.cpp check(arm32 ? "vceq.i16" : "cmeq", 4*w, select(i16_1 == i16_2, i16(1), i16(2))); check 794 test/correctness/simd_op_check.cpp check(arm32 ? "vceq.i16" : "cmeq", 4*w, select(u16_1 == u16_2, u16(1), u16(2))); check 795 test/correctness/simd_op_check.cpp check(arm32 ? "vceq.i32" : "cmeq", 2*w, select(i32_1 == i32_2, i32(1), i32(2))); check 796 test/correctness/simd_op_check.cpp check(arm32 ? "vceq.i32" : "cmeq", 2*w, select(u32_1 == u32_2, u32(1), u32(2))); check 797 test/correctness/simd_op_check.cpp check(arm32 ? "vceq.f32" : "fcmeq", 2*w, select(f32_1 == f32_2, 1.0f, 2.0f)); check 803 test/correctness/simd_op_check.cpp check("vcge.s8", 16, select(i8_1 >= i8_2, i8(1), i8(2))); check 804 test/correctness/simd_op_check.cpp check("vcge.u8", 16, select(u8_1 >= u8_2, u8(1), u8(2))); check 805 test/correctness/simd_op_check.cpp check("vcge.s16", 8, select(i16_1 >= i16_2, i16(1), i16(2))); check 806 test/correctness/simd_op_check.cpp check("vcge.u16", 8, select(u16_1 >= u16_2, u16(1), u16(2))); check 807 test/correctness/simd_op_check.cpp check("vcge.s32", 4, select(i32_1 >= i32_2, i32(1), i32(2))); check 808 test/correctness/simd_op_check.cpp check("vcge.u32", 4, select(u32_1 >= u32_2, u32(1), u32(2))); check 809 test/correctness/simd_op_check.cpp check("vcge.f32", 4, select(f32_1 >= f32_2, 1.0f, 2.0f)); check 810 test/correctness/simd_op_check.cpp check("vcge.s8", 8, select(i8_1 >= i8_2, i8(1), i8(2))); check 811 test/correctness/simd_op_check.cpp check("vcge.u8", 8, select(u8_1 >= u8_2, u8(1), u8(2))); check 812 test/correctness/simd_op_check.cpp check("vcge.s16", 4, select(i16_1 >= i16_2, i16(1), i16(2))); check 813 test/correctness/simd_op_check.cpp check("vcge.u16", 4, select(u16_1 >= u16_2, u16(1), u16(2))); check 814 test/correctness/simd_op_check.cpp check("vcge.s32", 2, select(i32_1 >= i32_2, i32(1), i32(2))); check 815 test/correctness/simd_op_check.cpp check("vcge.u32", 2, select(u32_1 >= u32_2, u32(1), u32(2))); check 816 test/correctness/simd_op_check.cpp check("vcge.f32", 2, select(f32_1 >= f32_2, 1.0f, 2.0f)); check 820 test/correctness/simd_op_check.cpp check(arm32 ? "vcgt.s8" : "cmgt", 8*w, select(i8_1 > i8_2, i8(1), i8(2))); check 821 test/correctness/simd_op_check.cpp check(arm32 ? "vcgt.u8" : "cmhi", 8*w, select(u8_1 > u8_2, u8(1), u8(2))); check 822 test/correctness/simd_op_check.cpp check(arm32 ? "vcgt.s16" : "cmgt", 4*w, select(i16_1 > i16_2, i16(1), i16(2))); check 823 test/correctness/simd_op_check.cpp check(arm32 ? "vcgt.u16" : "cmhi", 4*w, select(u16_1 > u16_2, u16(1), u16(2))); check 824 test/correctness/simd_op_check.cpp check(arm32 ? "vcgt.s32" : "cmgt", 2*w, select(i32_1 > i32_2, i32(1), i32(2))); check 825 test/correctness/simd_op_check.cpp check(arm32 ? "vcgt.u32" : "cmhi", 2*w, select(u32_1 > u32_2, u32(1), u32(2))); check 826 test/correctness/simd_op_check.cpp check(arm32 ? "vcgt.f32" : "fcmgt", 2*w, select(f32_1 > f32_2, 1.0f, 2.0f)); check 835 test/correctness/simd_op_check.cpp check(arm32 ? "vcvt.f32.u32" : "ucvtf", 2*w, f32(u32_1)); check 836 test/correctness/simd_op_check.cpp check(arm32 ? "vcvt.f32.s32" : "scvtf", 2*w, f32(i32_1)); check 837 test/correctness/simd_op_check.cpp check(arm32 ? "vcvt.u32.f32" : "fcvtzu", 2*w, u32(f32_1)); check 838 test/correctness/simd_op_check.cpp check(arm32 ? "vcvt.s32.f32" : "fcvtzs", 2*w, i32(f32_1)); check 843 test/correctness/simd_op_check.cpp check(arm32 ? "vdiv.f32" : "fdiv", 2*w, f32_1/f32_2); check 844 test/correctness/simd_op_check.cpp check(arm32 ? "vdiv.f64" : "fdiv", 2*w, f64_1/f64_2); check 847 test/correctness/simd_op_check.cpp check(arm32 ? "vdup.8" : "dup", 16*w, i8(y)); check 848 test/correctness/simd_op_check.cpp check(arm32 ? "vdup.8" : "dup", 16*w, u8(y)); check 849 test/correctness/simd_op_check.cpp check(arm32 ? "vdup.16" : "dup", 8*w, i16(y)); check 850 test/correctness/simd_op_check.cpp check(arm32 ? "vdup.16" : "dup", 8*w, u16(y)); check 851 test/correctness/simd_op_check.cpp check(arm32 ? "vdup.32" : "dup", 4*w, i32(y)); check 852 test/correctness/simd_op_check.cpp check(arm32 ? "vdup.32" : "dup", 4*w, u32(y)); check 853 test/correctness/simd_op_check.cpp check(arm32 ? "vdup.32" : "dup", 4*w, f32(y)); check 862 test/correctness/simd_op_check.cpp check("vext.8", 16, in_i8(x+1)); check 863 test/correctness/simd_op_check.cpp check("vext.16", 8, in_i16(x+1)); check 864 test/correctness/simd_op_check.cpp check("vext.32", 4, in_i32(x+1)); check 868 test/correctness/simd_op_check.cpp check(arm32 ? "vhadd.s8" : "shadd", 8*w, i8((i16(i8_1) + i16(i8_2))/2)); check 869 test/correctness/simd_op_check.cpp check(arm32 ? "vhadd.u8" : "uhadd", 8*w, u8((u16(u8_1) + u16(u8_2))/2)); check 870 test/correctness/simd_op_check.cpp check(arm32 ? "vhadd.s16" : "shadd", 4*w, i16((i32(i16_1) + i32(i16_2))/2)); check 871 test/correctness/simd_op_check.cpp check(arm32 ? "vhadd.u16" : "uhadd", 4*w, u16((u32(u16_1) + u32(u16_2))/2)); check 872 test/correctness/simd_op_check.cpp check(arm32 ? "vhadd.s32" : "shadd", 2*w, i32((i64(i32_1) + i64(i32_2))/2)); check 873 test/correctness/simd_op_check.cpp check(arm32 ? "vhadd.u32" : "uhadd", 2*w, u32((u64(u32_1) + u64(u32_2))/2)); check 877 test/correctness/simd_op_check.cpp check(arm32 ? "vhadd.s32" : "shadd", 2*w, (i32_1 + i32_2)/2); check 880 test/correctness/simd_op_check.cpp check(arm32 ? "vhsub.s8" : "shsub", 8*w, i8((i16(i8_1) - i16(i8_2))/2)); check 881 test/correctness/simd_op_check.cpp check(arm32 ? "vhsub.u8" : "uhsub", 8*w, u8((u16(u8_1) - u16(u8_2))/2)); check 882 test/correctness/simd_op_check.cpp check(arm32 ? "vhsub.s16" : "shsub", 4*w, i16((i32(i16_1) - i32(i16_2))/2)); check 883 test/correctness/simd_op_check.cpp check(arm32 ? "vhsub.u16" : "uhsub", 4*w, u16((u32(u16_1) - u32(u16_2))/2)); check 884 test/correctness/simd_op_check.cpp check(arm32 ? "vhsub.s32" : "shsub", 2*w, i32((i64(i32_1) - i64(i32_2))/2)); check 885 test/correctness/simd_op_check.cpp check(arm32 ? "vhsub.u32" : "uhsub", 2*w, u32((u64(u32_1) - u64(u32_2))/2)); check 887 test/correctness/simd_op_check.cpp check(arm32 ? "vhsub.s32" : "shsub", 2*w, (i32_1 - i32_2)/2); check 891 test/correctness/simd_op_check.cpp check(arm32 ? "vld1.8" : "ldr", 8*w, in_i8(x+y)); check 892 test/correctness/simd_op_check.cpp check(arm32 ? "vld1.8" : "ldr", 8*w, in_u8(x+y)); check 893 test/correctness/simd_op_check.cpp check(arm32 ? "vld1.16" : "ldr", 4*w, in_i16(x+y)); check 894 test/correctness/simd_op_check.cpp check(arm32 ? "vld1.16" : "ldr", 4*w, in_u16(x+y)); check 897 test/correctness/simd_op_check.cpp check(arm32 ? "vld1.32" : "ldr", 2*w, in_i32(x+y)); check 898 test/correctness/simd_op_check.cpp check(arm32 ? "vld1.32" : "ldr", 2*w, in_u32(x+y)); check 899 test/correctness/simd_op_check.cpp check(arm32 ? "vld1.32" : "ldr", 2*w, in_f32(x+y)); check 903 test/correctness/simd_op_check.cpp check(arm32 ? "vld2.32" : "ld2", 4*w, in_i32(x*2) + in_i32(x*2+1)); check 904 test/correctness/simd_op_check.cpp check(arm32 ? "vld2.32" : "ld2", 4*w, in_u32(x*2) + in_u32(x*2+1)); check 905 test/correctness/simd_op_check.cpp check(arm32 ? "vld2.32" : "ld2", 4*w, in_f32(x*2) + in_f32(x*2+1)); check 906 test/correctness/simd_op_check.cpp check(arm32 ? "vld2.8" : "ld2", 8*w, in_i8(x*2) + in_i8(x*2+1)); check 907 test/correctness/simd_op_check.cpp check(arm32 ? "vld2.8" : "ld2", 8*w, in_u8(x*2) + in_u8(x*2+1)); check 908 test/correctness/simd_op_check.cpp check(arm32 ? "vld2.16" : "ld2", 4*w, in_i16(x*2) + in_i16(x*2+1)); check 909 test/correctness/simd_op_check.cpp check(arm32 ? "vld2.16" : "ld2", 4*w, in_u16(x*2) + in_u16(x*2+1)); check 913 test/correctness/simd_op_check.cpp check(arm32 ? "vld3.32" : "ld3", 4*w, in_i32(x*3+y)); check 914 test/correctness/simd_op_check.cpp check(arm32 ? "vld3.32" : "ld3", 4*w, in_u32(x*3+y)); check 915 test/correctness/simd_op_check.cpp check(arm32 ? "vld3.32" : "ld3", 4*w, in_f32(x*3+y)); check 916 test/correctness/simd_op_check.cpp check(arm32 ? "vld3.8" : "ld3", 8*w, in_i8(x*3+y)); check 917 test/correctness/simd_op_check.cpp check(arm32 ? "vld3.8" : "ld3", 8*w, in_u8(x*3+y)); check 918 test/correctness/simd_op_check.cpp check(arm32 ? "vld3.16" : "ld3", 4*w, in_i16(x*3+y)); check 919 test/correctness/simd_op_check.cpp check(arm32 ? "vld3.16" : "ld3", 4*w, in_u16(x*3+y)); check 922 test/correctness/simd_op_check.cpp check(arm32 ? "vld4.32" : "ld4", 4*w, in_i32(x*4+y)); check 923 test/correctness/simd_op_check.cpp check(arm32 ? "vld4.32" : "ld4", 4*w, in_u32(x*4+y)); check 924 test/correctness/simd_op_check.cpp check(arm32 ? "vld4.32" : "ld4", 4*w, in_f32(x*4+y)); check 925 test/correctness/simd_op_check.cpp check(arm32 ? "vld4.8" : "ld4", 8*w, in_i8(x*4+y)); check 926 test/correctness/simd_op_check.cpp check(arm32 ? "vld4.8" : "ld4", 8*w, in_u8(x*4+y)); check 927 test/correctness/simd_op_check.cpp check(arm32 ? "vld4.16" : "ld4", 4*w, in_i16(x*4+y)); check 928 test/correctness/simd_op_check.cpp check(arm32 ? "vld4.16" : "ld4", 4*w, in_u16(x*4+y)); check 935 test/correctness/simd_op_check.cpp check(arm32 ? "vmax.s8" : "smax", 8*w, max(i8_1, i8_2)); check 936 test/correctness/simd_op_check.cpp check(arm32 ? "vmax.u8" : "umax", 8*w, max(u8_1, u8_2)); check 937 test/correctness/simd_op_check.cpp check(arm32 ? "vmax.s16" : "smax", 4*w, max(i16_1, i16_2)); check 938 test/correctness/simd_op_check.cpp check(arm32 ? "vmax.u16" : "umax", 4*w, max(u16_1, u16_2)); check 939 test/correctness/simd_op_check.cpp check(arm32 ? "vmax.s32" : "smax", 2*w, max(i32_1, i32_2)); check 940 test/correctness/simd_op_check.cpp check(arm32 ? "vmax.u32" : "umax", 2*w, max(u32_1, u32_2)); check 941 test/correctness/simd_op_check.cpp check(arm32 ? "vmax.f32" : "fmax", 2*w, max(f32_1, f32_2)); check 944 test/correctness/simd_op_check.cpp check(arm32 ? "vmin.s8" : "smin", 8*w, min(i8_1, i8_2)); check 945 test/correctness/simd_op_check.cpp check(arm32 ? "vmin.u8" : "umin", 8*w, min(u8_1, u8_2)); check 946 test/correctness/simd_op_check.cpp check(arm32 ? "vmin.s16" : "smin", 4*w, min(i16_1, i16_2)); check 947 test/correctness/simd_op_check.cpp check(arm32 ? "vmin.u16" : "umin", 4*w, min(u16_1, u16_2)); check 948 test/correctness/simd_op_check.cpp check(arm32 ? "vmin.s32" : "smin", 2*w, min(i32_1, i32_2)); check 949 test/correctness/simd_op_check.cpp check(arm32 ? "vmin.u32" : "umin", 2*w, min(u32_1, u32_2)); check 950 test/correctness/simd_op_check.cpp check(arm32 ? "vmin.f32" : "fmin", 2*w, min(f32_1, f32_2)); check 953 test/correctness/simd_op_check.cpp check(arm32 ? "vmla.i8" : "mla", 8*w, i8_1 + i8_2*i8_3); check 954 test/correctness/simd_op_check.cpp check(arm32 ? "vmla.i8" : "mla", 8*w, u8_1 + u8_2*u8_3); check 955 test/correctness/simd_op_check.cpp check(arm32 ? "vmla.i16" : "mla", 4*w, i16_1 + i16_2*i16_3); check 956 test/correctness/simd_op_check.cpp check(arm32 ? "vmla.i16" : "mla", 4*w, u16_1 + u16_2*u16_3); check 957 test/correctness/simd_op_check.cpp check(arm32 ? "vmla.i32" : "mla", 2*w, i32_1 + i32_2*i32_3); check 958 test/correctness/simd_op_check.cpp check(arm32 ? "vmla.i32" : "mla", 2*w, u32_1 + u32_2*u32_3); check 961 test/correctness/simd_op_check.cpp check(arm32 ? "vmla.f32" : "fmla", 2*w, f32_1 + f32_2*f32_3); check 965 test/correctness/simd_op_check.cpp check(arm32 ? "vmls.i8" : "mls", 8*w, i8_1 - i8_2*i8_3); check 966 test/correctness/simd_op_check.cpp check(arm32 ? "vmls.i8" : "mls", 8*w, u8_1 - u8_2*u8_3); check 967 test/correctness/simd_op_check.cpp check(arm32 ? "vmls.i16" : "mls", 4*w, i16_1 - i16_2*i16_3); check 968 test/correctness/simd_op_check.cpp check(arm32 ? "vmls.i16" : "mls", 4*w, u16_1 - u16_2*u16_3); check 969 test/correctness/simd_op_check.cpp check(arm32 ? "vmls.i32" : "mls", 2*w, i32_1 - i32_2*i32_3); check 970 test/correctness/simd_op_check.cpp check(arm32 ? "vmls.i32" : "mls", 2*w, u32_1 - u32_2*u32_3); check 973 test/correctness/simd_op_check.cpp check(arm32 ? "vmls.f32" : "fmls", 2*w, f32_1 - f32_2*f32_3); check 977 test/correctness/simd_op_check.cpp check(arm32 ? "vmlal.s8" : "smlal", 8*w, i16_1 + i16(i8_2)*i8_3); check 978 test/correctness/simd_op_check.cpp check(arm32 ? "vmlal.u8" : "umlal", 8*w, u16_1 + u16(u8_2)*u8_3); check 979 test/correctness/simd_op_check.cpp check(arm32 ? "vmlal.s16" : "smlal", 4*w, i32_1 + i32(i16_2)*i16_3); check 980 test/correctness/simd_op_check.cpp check(arm32 ? "vmlal.u16" : "umlal", 4*w, u32_1 + u32(u16_2)*u16_3); check 981 test/correctness/simd_op_check.cpp check(arm32 ? "vmlal.s32" : "smlal", 2*w, i64_1 + i64(i32_2)*i32_3); check 982 test/correctness/simd_op_check.cpp check(arm32 ? "vmlal.u32" : "umlal", 2*w, u64_1 + u64(u32_2)*u32_3); check 985 test/correctness/simd_op_check.cpp check(arm32 ? "vmlsl.s8" : "smlsl", 8*w, i16_1 - i16(i8_2)*i8_3); check 986 test/correctness/simd_op_check.cpp check(arm32 ? "vmlsl.u8" : "umlsl", 8*w, u16_1 - u16(u8_2)*u8_3); check 987 test/correctness/simd_op_check.cpp check(arm32 ? "vmlsl.s16" : "smlsl", 4*w, i32_1 - i32(i16_2)*i16_3); check 988 test/correctness/simd_op_check.cpp check(arm32 ? "vmlsl.u16" : "umlsl", 4*w, u32_1 - u32(u16_2)*u16_3); check 989 test/correctness/simd_op_check.cpp check(arm32 ? "vmlsl.s32" : "smlsl", 2*w, i64_1 - i64(i32_2)*i32_3); check 990 test/correctness/simd_op_check.cpp check(arm32 ? "vmlsl.u32" : "umlsl", 2*w, u64_1 - u64(u32_2)*u32_3); check 997 test/correctness/simd_op_check.cpp check(arm32 ? "vmovl.s8" : "sshll", 8*w, i16(i8_1)); check 998 test/correctness/simd_op_check.cpp check(arm32 ? "vmovl.u8" : "ushll", 8*w, u16(u8_1)); check 999 test/correctness/simd_op_check.cpp check(arm32 ? "vmovl.u8" : "ushll", 8*w, i16(u8_1)); check 1000 test/correctness/simd_op_check.cpp check(arm32 ? "vmovl.s16" : "sshll", 4*w, i32(i16_1)); check 1001 test/correctness/simd_op_check.cpp check(arm32 ? "vmovl.u16" : "ushll", 4*w, u32(u16_1)); check 1002 test/correctness/simd_op_check.cpp check(arm32 ? "vmovl.u16" : "ushll", 4*w, i32(u16_1)); check 1003 test/correctness/simd_op_check.cpp check(arm32 ? "vmovl.s32" : "sshll", 2*w, i64(i32_1)); check 1004 test/correctness/simd_op_check.cpp check(arm32 ? "vmovl.u32" : "ushll", 2*w, u64(u32_1)); check 1005 test/correctness/simd_op_check.cpp check(arm32 ? "vmovl.u32" : "ushll", 2*w, i64(u32_1)); check 1008 test/correctness/simd_op_check.cpp check(arm32 ? "vmovn.i16" : "xtn", 8*w, i8(i16_1)); check 1009 test/correctness/simd_op_check.cpp check(arm32 ? "vmovn.i16" : "xtn", 8*w, u8(u16_1)); check 1010 test/correctness/simd_op_check.cpp check(arm32 ? "vmovn.i32" : "xtn", 4*w, i16(i32_1)); check 1011 test/correctness/simd_op_check.cpp check(arm32 ? "vmovn.i32" : "xtn", 4*w, u16(u32_1)); check 1012 test/correctness/simd_op_check.cpp check(arm32 ? "vmovn.i64" : "xtn", 2*w, i32(i64_1)); check 1013 test/correctness/simd_op_check.cpp check(arm32 ? "vmovn.i64" : "xtn", 2*w, u32(u64_1)); check 1020 test/correctness/simd_op_check.cpp check(arm32 ? "vmul.f64" : "fmul", 2*w, f64_2*f64_1); check 1021 test/correctness/simd_op_check.cpp check(arm32 ? "vmul.i8" : "mul", 8*w, i8_2*i8_1); check 1022 test/correctness/simd_op_check.cpp check(arm32 ? "vmul.i8" : "mul", 8*w, u8_2*u8_1); check 1023 test/correctness/simd_op_check.cpp check(arm32 ? "vmul.i16" : "mul", 4*w, i16_2*i16_1); check 1024 test/correctness/simd_op_check.cpp check(arm32 ? "vmul.i16" : "mul", 4*w, u16_2*u16_1); check 1025 test/correctness/simd_op_check.cpp check(arm32 ? "vmul.i32" : "mul", 2*w, i32_2*i32_1); check 1026 test/correctness/simd_op_check.cpp check(arm32 ? "vmul.i32" : "mul", 2*w, u32_2*u32_1); check 1027 test/correctness/simd_op_check.cpp check(arm32 ? "vmul.f32" : "fmul", 2*w, f32_2*f32_1); check 1030 test/correctness/simd_op_check.cpp check(arm32 ? "vmull.s8" : "smull", 8*w, i16(i8_1)*i8_2); check 1031 test/correctness/simd_op_check.cpp check(arm32 ? "vmull.u8" : "umull", 8*w, u16(u8_1)*u8_2); check 1032 test/correctness/simd_op_check.cpp check(arm32 ? "vmull.s16" : "smull", 4*w, i32(i16_1)*i16_2); check 1033 test/correctness/simd_op_check.cpp check(arm32 ? "vmull.u16" : "umull", 4*w, u32(u16_1)*u16_2); check 1034 test/correctness/simd_op_check.cpp check(arm32 ? "vmull.s32" : "smull", 2*w, i64(i32_1)*i32_2); check 1035 test/correctness/simd_op_check.cpp check(arm32 ? "vmull.u32" : "umull", 2*w, u64(u32_1)*u32_2); check 1040 test/correctness/simd_op_check.cpp check(arm32 ? "vmull.u8" : "umull", 8*w, i8_1/37); check 1041 test/correctness/simd_op_check.cpp check(arm32 ? "vmull.u8" : "umull", 8*w, u8_1/37); check 1042 test/correctness/simd_op_check.cpp check(arm32 ? "vmull.u16" : "umull", 4*w, i16_1/37); check 1043 test/correctness/simd_op_check.cpp check(arm32 ? "vmull.u16" : "umull", 4*w, u16_1/37); check 1044 test/correctness/simd_op_check.cpp check(arm32 ? "vmull.u32" : "umull", 2*w, i32_1/37); check 1045 test/correctness/simd_op_check.cpp check(arm32 ? "vmull.u32" : "umull", 2*w, u32_1/37); check 1051 test/correctness/simd_op_check.cpp check(arm32 ? "vneg.s8" : "neg", 8*w, -i8_1); check 1052 test/correctness/simd_op_check.cpp check(arm32 ? "vneg.s16" : "neg", 4*w, -i16_1); check 1053 test/correctness/simd_op_check.cpp check(arm32 ? "vneg.s32" : "neg", 2*w, -i32_1); check 1054 test/correctness/simd_op_check.cpp check(arm32 ? "vneg.f32" : "fneg", 4*w, -f32_1); check 1055 test/correctness/simd_op_check.cpp check(arm32 ? "vneg.f64" : "fneg", 2*w, -f64_1); check 1062 test/correctness/simd_op_check.cpp check("vnmla.f32", 4, -(f32_1 + f32_2*f32_3)); check 1063 test/correctness/simd_op_check.cpp check("vnmla.f64", 2, -(f64_1 + f64_2*f64_3)); check 1064 test/correctness/simd_op_check.cpp check("vnmls.f32", 4, -(f32_1 - f32_2*f32_3)); check 1065 test/correctness/simd_op_check.cpp check("vnmls.f64", 2, -(f64_1 - f64_2*f64_3)); check 1066 test/correctness/simd_op_check.cpp check("vnmul.f32", 4, -(f32_1*f32_2)); check 1067 test/correctness/simd_op_check.cpp check("vnmul.f64", 2, -(f64_1*f64_2)); check 1091 test/correctness/simd_op_check.cpp check("vqabs.s8", 16, abs(max(i8_1, -max_i8))); check 1092 test/correctness/simd_op_check.cpp check("vqabs.s8", 8, abs(max(i8_1, -max_i8))); check 1093 test/correctness/simd_op_check.cpp check("vqabs.s16", 8, abs(max(i16_1, -max_i16))); check 1094 test/correctness/simd_op_check.cpp check("vqabs.s16", 4, abs(max(i16_1, -max_i16))); check 1095 test/correctness/simd_op_check.cpp check("vqabs.s32", 4, abs(max(i32_1, -max_i32))); check 1096 test/correctness/simd_op_check.cpp check("vqabs.s32", 2, abs(max(i32_1, -max_i32))); check 1100 test/correctness/simd_op_check.cpp check(arm32 ? "vqadd.s8" : "sqadd", 8*w, i8_sat(i16(i8_1) + i16(i8_2))); check 1101 test/correctness/simd_op_check.cpp check(arm32 ? "vqadd.s16" : "sqadd", 4*w, i16_sat(i32(i16_1) + i32(i16_2))); check 1102 test/correctness/simd_op_check.cpp check(arm32 ? "vqadd.s32" : "sqadd", 2*w, i32_sat(i64(i32_1) + i64(i32_2))); check 1104 test/correctness/simd_op_check.cpp check(arm32 ? "vqadd.u8" : "uqadd", 8*w, u8(min(u16(u8_1) + u16(u8_2), max_u8))); check 1105 test/correctness/simd_op_check.cpp check(arm32 ? "vqadd.u16" : "uqadd", 4*w, u16(min(u32(u16_1) + u32(u16_2), max_u16))); check 1108 test/correctness/simd_op_check.cpp check(arm32 ? "vqadd.u8" : "uqadd", 8*w, u8(min(u16(u8_1) + 17, max_u8))); check 1109 test/correctness/simd_op_check.cpp check(arm32 ? "vqadd.u16" : "uqadd", 4*w, u16(min(u32(u16_1) + 17, max_u16))); check 1120 test/correctness/simd_op_check.cpp check(arm32 ? "vqmovn.s16" : "sqxtn", 8*w, i8_sat(i16_1)); check 1121 test/correctness/simd_op_check.cpp check(arm32 ? "vqmovn.s32" : "sqxtn", 4*w, i16_sat(i32_1)); check 1122 test/correctness/simd_op_check.cpp check(arm32 ? "vqmovn.s64" : "sqxtn", 2*w, i32_sat(i64_1)); check 1123 test/correctness/simd_op_check.cpp check(arm32 ? "vqmovn.u16" : "uqxtn", 8*w, u8(min(u16_1, max_u8))); check 1124 test/correctness/simd_op_check.cpp check(arm32 ? "vqmovn.u32" : "uqxtn", 4*w, u16(min(u32_1, max_u16))); check 1125 test/correctness/simd_op_check.cpp check(arm32 ? "vqmovn.u64" : "uqxtn", 2*w, u32(min(u64_1, max_u32))); check 1128 test/correctness/simd_op_check.cpp check(arm32 ? "vqmovun.s16" : "sqxtun", 8*w, u8_sat(i16_1)); check 1129 test/correctness/simd_op_check.cpp check(arm32 ? "vqmovun.s32" : "sqxtun", 4*w, u16_sat(i32_1)); check 1130 test/correctness/simd_op_check.cpp check(arm32 ? "vqmovun.s64" : "sqxtun", 2*w, u32_sat(i64_1)); check 1133 test/correctness/simd_op_check.cpp check(arm32 ? "vqneg.s8" : "sqneg", 8*w, -max(i8_1, -max_i8)); check 1134 test/correctness/simd_op_check.cpp check(arm32 ? "vqneg.s16" : "sqneg", 4*w, -max(i16_1, -max_i16)); check 1135 test/correctness/simd_op_check.cpp check(arm32 ? "vqneg.s32" : "sqneg", 2*w, -max(i32_1, -max_i32)); check 1140 test/correctness/simd_op_check.cpp check(arm32 ? "vqrdmulh.s16" : "sqrdmulh", 4*w, i16_sat((i32(i16_1) * i32(i16_2) + (1<<14)) / (1 << 15))); check 1141 test/correctness/simd_op_check.cpp check(arm32 ? "vqrdmulh.s32" : "sqrdmulh", 2*w, i32_sat((i64(i32_1) * i64(i32_2) + (1<<30)) / check 1150 test/correctness/simd_op_check.cpp check(arm32 ? "vqshl.s8" : "sqshl", 8*w, i8_sat(i16(i8_1)*16)); check 1151 test/correctness/simd_op_check.cpp check(arm32 ? "vqshl.s16" : "sqshl", 4*w, i16_sat(i32(i16_1)*16)); check 1152 test/correctness/simd_op_check.cpp check(arm32 ? "vqshl.s32" : "sqshl", 2*w, i32_sat(i64(i32_1)*16)); check 1153 test/correctness/simd_op_check.cpp check(arm32 ? "vqshl.u8" : "uqshl", 8*w, u8(min(u16(u8_1 )*16, max_u8))); check 1154 test/correctness/simd_op_check.cpp check(arm32 ? "vqshl.u16" : "uqshl", 4*w, u16(min(u32(u16_1)*16, max_u16))); check 1155 test/correctness/simd_op_check.cpp check(arm32 ? "vqshl.u32" : "uqshl", 2*w, u32(min(u64(u32_1)*16, max_u32))); check 1158 test/correctness/simd_op_check.cpp check(arm32 ? "vqshlu.s8" : "sqshlu", 8*w, u8_sat(i16(i8_1)*16)); check 1159 test/correctness/simd_op_check.cpp check(arm32 ? "vqshlu.s16" : "sqshlu", 4*w, u16_sat(i32(i16_1)*16)); check 1160 test/correctness/simd_op_check.cpp check(arm32 ? "vqshlu.s32" : "sqshlu", 2*w, u32_sat(i64(i32_1)*16)); check 1165 test/correctness/simd_op_check.cpp check(arm32 ? "vqshrn.s16" : "sqshrn", 8*w, i8_sat(i16_1/16)); check 1166 test/correctness/simd_op_check.cpp check(arm32 ? "vqshrn.s32" : "sqshrn", 4*w, i16_sat(i32_1/16)); check 1167 test/correctness/simd_op_check.cpp check(arm32 ? "vqshrn.s64" : "sqshrn", 2*w, i32_sat(i64_1/16)); check 1168 test/correctness/simd_op_check.cpp check(arm32 ? "vqshrun.s16" : "sqshrun", 8*w, u8_sat(i16_1/16)); check 1169 test/correctness/simd_op_check.cpp check(arm32 ? "vqshrun.s32" : "sqshrun", 4*w, u16_sat(i32_1/16)); check 1170 test/correctness/simd_op_check.cpp check(arm32 ? "vqshrun.s64" : "sqshrun", 2*w, u32_sat(i64_1/16)); check 1171 test/correctness/simd_op_check.cpp check(arm32 ? "vqshrn.u16" : "uqshrn", 8*w, u8(min(u16_1/16, max_u8))); check 1172 test/correctness/simd_op_check.cpp check(arm32 ? "vqshrn.u32" : "uqshrn", 4*w, u16(min(u32_1/16, max_u16))); check 1173 test/correctness/simd_op_check.cpp check(arm32 ? "vqshrn.u64" : "uqshrn", 2*w, u32(min(u64_1/16, max_u32))); check 1176 test/correctness/simd_op_check.cpp check(arm32 ? "vqsub.s8" : "sqsub", 8*w, i8_sat(i16(i8_1) - i16(i8_2))); check 1177 test/correctness/simd_op_check.cpp check(arm32 ? "vqsub.s16" : "sqsub", 4*w, i16_sat(i32(i16_1) - i32(i16_2))); check 1178 test/correctness/simd_op_check.cpp check(arm32 ? "vqsub.s32" : "sqsub", 2*w, i32_sat(i64(i32_1) - i64(i32_2))); check 1181 test/correctness/simd_op_check.cpp check(arm32 ? "vqsub.u8" : "uqsub", 8*w, u8_sat(i16(u8_1) - i16(u8_2))); check 1182 test/correctness/simd_op_check.cpp check(arm32 ? "vqsub.u16" : "uqsub", 4*w, u16_sat(i32(u16_1) - i32(u16_2))); check 1183 test/correctness/simd_op_check.cpp check(arm32 ? "vqsub.u32" : "uqsub", 2*w, u32_sat(i64(u32_1) - i64(u32_2))); check 1188 test/correctness/simd_op_check.cpp check("vraddhn.i16", 8, i8((i16_1 + i16_2 + 128)/256)); check 1189 test/correctness/simd_op_check.cpp check("vraddhn.i16", 8, u8((u16_1 + u16_2 + 128)/256)); check 1190 test/correctness/simd_op_check.cpp check("vraddhn.i32", 4, i16((i32_1 + i32_2 + 32768)/65536)); check 1191 test/correctness/simd_op_check.cpp check("vraddhn.i32", 4, u16((u32_1 + u32_2 + 32768)/65536)); check 1195 test/correctness/simd_op_check.cpp check(arm32 ? "vrecpe.f32" : "frecpe", 2*w, fast_inverse(f32_1)); check 1198 test/correctness/simd_op_check.cpp check(arm32 ? "vrecps.f32" : "frecps", 2*w, fast_inverse(f32_1)); check 1209 test/correctness/simd_op_check.cpp check(arm32 ? "vrhadd.s8" : "srhadd", 8*w, i8((i16(i8_1 ) + i16(i8_2 ) + 1)/2)); check 1210 test/correctness/simd_op_check.cpp check(arm32 ? "vrhadd.u8" : "urhadd", 8*w, u8((u16(u8_1 ) + u16(u8_2 ) + 1)/2)); check 1211 test/correctness/simd_op_check.cpp check(arm32 ? "vrhadd.s16" : "srhadd", 4*w, i16((i32(i16_1) + i32(i16_2) + 1)/2)); check 1212 test/correctness/simd_op_check.cpp check(arm32 ? "vrhadd.u16" : "urhadd", 4*w, u16((u32(u16_1) + u32(u16_2) + 1)/2)); check 1213 test/correctness/simd_op_check.cpp check(arm32 ? "vrhadd.s32" : "srhadd", 2*w, i32((i64(i32_1) + i64(i32_2) + 1)/2)); check 1214 test/correctness/simd_op_check.cpp check(arm32 ? "vrhadd.u32" : "urhadd", 2*w, u32((u64(u32_1) + u64(u32_2) + 1)/2)); check 1222 test/correctness/simd_op_check.cpp check(arm32 ? "vrsqrte.f32" : "frsqrte", 4*w, fast_inverse_sqrt(f32_1)); check 1225 test/correctness/simd_op_check.cpp check(arm32 ? "vrsqrts.f32" : "frsqrts", 4*w, fast_inverse_sqrt(f32_1)); check 1232 test/correctness/simd_op_check.cpp check(arm32 ? "vshl.i64" : "shl", 2*w, i64_1*16); check 1233 test/correctness/simd_op_check.cpp check(arm32 ? "vshl.i8" : "shl", 8*w, i8_1*16); check 1234 test/correctness/simd_op_check.cpp check(arm32 ? "vshl.i16" : "shl", 4*w, i16_1*16); check 1235 test/correctness/simd_op_check.cpp check(arm32 ? "vshl.i32" : "shl", 2*w, i32_1*16); check 1236 test/correctness/simd_op_check.cpp check(arm32 ? "vshl.i64" : "shl", 2*w, u64_1*16); check 1237 test/correctness/simd_op_check.cpp check(arm32 ? "vshl.i8" : "shl", 8*w, u8_1*16); check 1238 test/correctness/simd_op_check.cpp check(arm32 ? "vshl.i16" : "shl", 4*w, u16_1*16); check 1239 test/correctness/simd_op_check.cpp check(arm32 ? "vshl.i32" : "shl", 2*w, u32_1*16); check 1243 test/correctness/simd_op_check.cpp check(arm32 ? "vshll.s8" : "sshll", 8*w, i16(i8_1)*16); check 1244 test/correctness/simd_op_check.cpp check(arm32 ? "vshll.s16" : "sshll", 4*w, i32(i16_1)*16); check 1245 test/correctness/simd_op_check.cpp check(arm32 ? "vshll.s32" : "sshll", 2*w, i64(i32_1)*16); check 1246 test/correctness/simd_op_check.cpp check(arm32 ? "vshll.u8" : "ushll", 8*w, u16(u8_1)*16); check 1247 test/correctness/simd_op_check.cpp check(arm32 ? "vshll.u16" : "ushll", 4*w, u32(u16_1)*16); check 1248 test/correctness/simd_op_check.cpp check(arm32 ? "vshll.u32" : "ushll", 2*w, u64(u32_1)*16); check 1251 test/correctness/simd_op_check.cpp check(arm32 ? "vshr.s64" : "sshr", 2*w, i64_1/16); check 1252 test/correctness/simd_op_check.cpp check(arm32 ? "vshr.s8" : "sshr", 8*w, i8_1/16); check 1253 test/correctness/simd_op_check.cpp check(arm32 ? "vshr.s16" : "sshr", 4*w, i16_1/16); check 1254 test/correctness/simd_op_check.cpp check(arm32 ? "vshr.s32" : "sshr", 2*w, i32_1/16); check 1255 test/correctness/simd_op_check.cpp check(arm32 ? "vshr.u64" : "ushr", 2*w, u64_1/16); check 1256 test/correctness/simd_op_check.cpp check(arm32 ? "vshr.u8" : "ushr", 8*w, u8_1/16); check 1257 test/correctness/simd_op_check.cpp check(arm32 ? "vshr.u16" : "ushr", 4*w, u16_1/16); check 1258 test/correctness/simd_op_check.cpp check(arm32 ? "vshr.u32" : "ushr", 2*w, u32_1/16); check 1261 test/correctness/simd_op_check.cpp check(arm32 ? "vshrn.i16" : "shrn", 8*w, i8(i16_1/256)); check 1262 test/correctness/simd_op_check.cpp check(arm32 ? "vshrn.i32" : "shrn", 4*w, i16(i32_1/65536)); check 1263 test/correctness/simd_op_check.cpp check(arm32 ? "vshrn.i16" : "shrn", 8*w, u8(u16_1/256)); check 1264 test/correctness/simd_op_check.cpp check(arm32 ? "vshrn.i32" : "shrn", 4*w, u16(u32_1/65536)); check 1265 test/correctness/simd_op_check.cpp check(arm32 ? "vshrn.i16" : "shrn", 8*w, i8(i16_1/16)); check 1266 test/correctness/simd_op_check.cpp check(arm32 ? "vshrn.i32" : "shrn", 4*w, i16(i32_1/16)); check 1267 test/correctness/simd_op_check.cpp check(arm32 ? "vshrn.i16" : "shrn", 8*w, u8(u16_1/16)); check 1268 test/correctness/simd_op_check.cpp check(arm32 ? "vshrn.i32" : "shrn", 4*w, u16(u32_1/16)); check 1274 test/correctness/simd_op_check.cpp check(arm32 ? "vsqrt.f32" : "fsqrt", 4*w, sqrt(f32_1)); check 1275 test/correctness/simd_op_check.cpp check(arm32 ? "vsqrt.f64" : "fsqrt", 2*w, sqrt(f64_1)); check 1278 test/correctness/simd_op_check.cpp check(arm32 ? "vsra.s64" : "ssra", 2*w, i64_2 + i64_1/16); check 1279 test/correctness/simd_op_check.cpp check(arm32 ? "vsra.s8" : "ssra", 8*w, i8_2 + i8_1/16); check 1280 test/correctness/simd_op_check.cpp check(arm32 ? "vsra.s16" : "ssra", 4*w, i16_2 + i16_1/16); check 1281 test/correctness/simd_op_check.cpp check(arm32 ? "vsra.s32" : "ssra", 2*w, i32_2 + i32_1/16); check 1282 test/correctness/simd_op_check.cpp check(arm32 ? "vsra.u64" : "usra", 2*w, u64_2 + u64_1/16); check 1283 test/correctness/simd_op_check.cpp check(arm32 ? "vsra.u8" : "usra", 8*w, u8_2 + u8_1/16); check 1284 test/correctness/simd_op_check.cpp check(arm32 ? "vsra.u16" : "usra", 4*w, u16_2 + u16_1/16); check 1285 test/correctness/simd_op_check.cpp check(arm32 ? "vsra.u32" : "usra", 2*w, u32_2 + u32_1/16); check 1292 test/correctness/simd_op_check.cpp check(arm32 ? "vsub.i64" : "sub", 2*w, i64_1 - i64_2); check 1293 test/correctness/simd_op_check.cpp check(arm32 ? "vsub.i64" : "sub", 2*w, u64_1 - u64_2); check 1294 test/correctness/simd_op_check.cpp check(arm32 ? "vsub.f32" : "fsub", 4*w, f32_1 - f32_2); check 1295 test/correctness/simd_op_check.cpp check(arm32 ? "vsub.i8" : "sub", 8*w, i8_1 - i8_2); check 1296 test/correctness/simd_op_check.cpp check(arm32 ? "vsub.i8" : "sub", 8*w, u8_1 - u8_2); check 1297 test/correctness/simd_op_check.cpp check(arm32 ? "vsub.i16" : "sub", 4*w, i16_1 - i16_2); check 1298 test/correctness/simd_op_check.cpp check(arm32 ? "vsub.i16" : "sub", 4*w, u16_1 - u16_2); check 1299 test/correctness/simd_op_check.cpp check(arm32 ? "vsub.i32" : "sub", 2*w, i32_1 - i32_2); check 1300 test/correctness/simd_op_check.cpp check(arm32 ? "vsub.i32" : "sub", 2*w, u32_1 - u32_2); check 1301 test/correctness/simd_op_check.cpp check(arm32 ? "vsub.f32" : "fsub", 2*w, f32_1 - f32_2); check 1304 test/correctness/simd_op_check.cpp check(arm32 ? "vsubhn.i16" : "subhn", 8*w, i8((i16_1 - i16_2)/256)); check 1305 test/correctness/simd_op_check.cpp check(arm32 ? "vsubhn.i16" : "subhn", 8*w, u8((u16_1 - u16_2)/256)); check 1306 test/correctness/simd_op_check.cpp check(arm32 ? "vsubhn.i32" : "subhn", 4*w, i16((i32_1 - i32_2)/65536)); check 1307 test/correctness/simd_op_check.cpp check(arm32 ? "vsubhn.i32" : "subhn", 4*w, u16((u32_1 - u32_2)/65536)); check 1310 test/correctness/simd_op_check.cpp check(arm32 ? "vsubl.s8" : "ssubl", 8*w, i16(i8_1) - i16(i8_2)); check 1311 test/correctness/simd_op_check.cpp check(arm32 ? "vsubl.u8" : "usubl", 8*w, u16(u8_1) - u16(u8_2)); check 1312 test/correctness/simd_op_check.cpp check(arm32 ? "vsubl.s16" : "ssubl", 4*w, i32(i16_1) - i32(i16_2)); check 1313 test/correctness/simd_op_check.cpp check(arm32 ? "vsubl.u16" : "usubl", 4*w, u32(u16_1) - u32(u16_2)); check 1314 test/correctness/simd_op_check.cpp check(arm32 ? "vsubl.s32" : "ssubl", 2*w, i64(i32_1) - i64(i32_2)); check 1315 test/correctness/simd_op_check.cpp check(arm32 ? "vsubl.u32" : "usubl", 2*w, u64(u32_1) - u64(u32_2)); check 1318 test/correctness/simd_op_check.cpp check(arm32 ? "vsubw.s8" : "ssubw", 8*w, i16_1 - i8_1); check 1319 test/correctness/simd_op_check.cpp check(arm32 ? "vsubw.u8" : "usubw", 8*w, u16_1 - u8_1); check 1320 test/correctness/simd_op_check.cpp check(arm32 ? "vsubw.s16" : "ssubw", 4*w, i32_1 - i16_1); check 1321 test/correctness/simd_op_check.cpp check(arm32 ? "vsubw.u16" : "usubw", 4*w, u32_1 - u16_1); check 1322 test/correctness/simd_op_check.cpp check(arm32 ? "vsubw.s32" : "ssubw", 2*w, i64_1 - i32_1); check 1323 test/correctness/simd_op_check.cpp check(arm32 ? "vsubw.u32" : "usubw", 2*w, u64_1 - u32_1); check 1326 test/correctness/simd_op_check.cpp check(arm32 ? "vst1.8" : "st", 8*w, i8_1); check 1341 test/correctness/simd_op_check.cpp check(arm32 ? op : string("st2"), width/bits, tmp2(0, 0) + tmp2(0, 63)); check 1359 test/correctness/simd_op_check.cpp check(arm32 ? op : string("st2"), width/bits, tmp2(0, 0) + tmp2(0, 127)); check 1377 test/correctness/simd_op_check.cpp check(arm32 ? op : string("st3"), width/bits, tmp2(0, 0) + tmp2(0, 127)); check 1396 test/correctness/simd_op_check.cpp check(arm32 ? op : string("st4"), width/bits, tmp2(0, 0) + tmp2(0, 127)); check 1455 test/correctness/simd_op_check.cpp check("valign(v*,v*,#7)", hvx_width/1, in_u8(x + 7)); check 1456 test/correctness/simd_op_check.cpp check("vlalign(v*,v*,#7)", hvx_width/1, in_u8(x + hvx_width - 7)); check 1457 test/correctness/simd_op_check.cpp check("valign(v*,v*,r*)", hvx_width/1, in_u8(x + 8)); check 1458 test/correctness/simd_op_check.cpp check("valign(v*,v*,r*)", hvx_width/1, in_u8(x + hvx_width - 8)); check 1459 test/correctness/simd_op_check.cpp check("valign(v*,v*,#6)", hvx_width/1, in_u16(x + 3)); check 1460 test/correctness/simd_op_check.cpp check("vlalign(v*,v*,#6)", hvx_width/1, in_u16(x + hvx_width - 3)); check 1461 test/correctness/simd_op_check.cpp check("valign(v*,v*,r*)", hvx_width/1, in_u16(x + 4)); check 1462 test/correctness/simd_op_check.cpp check("valign(v*,v*,r*)", hvx_width/1, in_u16(x + hvx_width - 4)); check 1464 test/correctness/simd_op_check.cpp check("vunpack(v*.ub)", hvx_width/1, u16(u8_1)); check 1465 test/correctness/simd_op_check.cpp check("vunpack(v*.ub)", hvx_width/1, i16(u8_1)); check 1466 test/correctness/simd_op_check.cpp check("vunpack(v*.uh)", hvx_width/2, u32(u16_1)); check 1467 test/correctness/simd_op_check.cpp check("vunpack(v*.uh)", hvx_width/2, i32(u16_1)); check 1468 test/correctness/simd_op_check.cpp check("vunpack(v*.b)", hvx_width/1, u16(i8_1)); check 1469 test/correctness/simd_op_check.cpp check("vunpack(v*.b)", hvx_width/1, i16(i8_1)); check 1470 test/correctness/simd_op_check.cpp check("vunpack(v*.h)", hvx_width/2, u32(i16_1)); check 1471 test/correctness/simd_op_check.cpp check("vunpack(v*.h)", hvx_width/2, i32(i16_1)); check 1473 test/correctness/simd_op_check.cpp check("vunpack(v*.ub)", hvx_width/1, u32(u8_1)); check 1474 test/correctness/simd_op_check.cpp check("vunpack(v*.ub)", hvx_width/1, i32(u8_1)); check 1475 test/correctness/simd_op_check.cpp check("vunpack(v*.b)", hvx_width/1, u32(i8_1)); check 1476 test/correctness/simd_op_check.cpp check("vunpack(v*.b)", hvx_width/1, i32(i8_1)); check 1481 test/correctness/simd_op_check.cpp check("vzxt(v*.ub)", hvx_width/1, u16(u8_1)); check 1482 test/correctness/simd_op_check.cpp check("vzxt(v*.ub)", hvx_width/1, i16(u8_1)); check 1483 test/correctness/simd_op_check.cpp check("vzxt(v*.uh)", hvx_width/2, u32(u16_1)); check 1484 test/correctness/simd_op_check.cpp check("vzxt(v*.uh)", hvx_width/2, i32(u16_1)); check 1485 test/correctness/simd_op_check.cpp check("vsxt(v*.b)", hvx_width/1, u16(i8_1)); check 1486 test/correctness/simd_op_check.cpp check("vsxt(v*.b)", hvx_width/1, i16(i8_1)); check 1487 test/correctness/simd_op_check.cpp check("vsxt(v*.h)", hvx_width/2, u32(i16_1)); check 1488 test/correctness/simd_op_check.cpp check("vsxt(v*.h)", hvx_width/2, i32(i16_1)); check 1490 test/correctness/simd_op_check.cpp check("vzxt(v*.ub)", hvx_width/1, u32(u8_1)); check 1491 test/correctness/simd_op_check.cpp check("vzxt(v*.ub)", hvx_width/1, i32(u8_1)); check 1492 test/correctness/simd_op_check.cpp check("vsxt(v*.b)", hvx_width/1, u32(i8_1)); check 1493 test/correctness/simd_op_check.cpp check("vsxt(v*.b)", hvx_width/1, i32(i8_1)); check 1496 test/correctness/simd_op_check.cpp check("vadd(v*.b,v*.b)", hvx_width/1, u8_1 + u8_2); check 1497 test/correctness/simd_op_check.cpp check("vadd(v*.h,v*.h)", hvx_width/2, u16_1 + u16_2); check 1498 test/correctness/simd_op_check.cpp check("vadd(v*.w,v*.w)", hvx_width/4, u32_1 + u32_2); check 1499 test/correctness/simd_op_check.cpp check("vadd(v*.b,v*.b)", hvx_width/1, i8_1 + i8_2); check 1500 test/correctness/simd_op_check.cpp check("vadd(v*.h,v*.h)", hvx_width/2, i16_1 + i16_2); check 1501 test/correctness/simd_op_check.cpp check("vadd(v*.w,v*.w)", hvx_width/4, i32_1 + i32_2); check 1502 test/correctness/simd_op_check.cpp check("v*.h = vadd(v*.ub,v*.ub)", hvx_width/1, u16(u8_1) + u16(u8_2)); check 1503 test/correctness/simd_op_check.cpp check("v*.w = vadd(v*.uh,v*.uh)", hvx_width/2, u32(u16_1) + u32(u16_2)); check 1504 test/correctness/simd_op_check.cpp check("v*.w = vadd(v*.h,v*.h)", hvx_width/2, i32(i16_1) + i32(i16_2)); check 1505 test/correctness/simd_op_check.cpp check("vadd(v*.ub,v*.ub):sat", hvx_width/1, u8_sat(u16(u8_1) + u16(u8_2))); check 1506 test/correctness/simd_op_check.cpp check("vadd(v*.uh,v*.uh):sat", hvx_width/2, u16_sat(u32(u16_1) + u32(u16_2))); check 1507 test/correctness/simd_op_check.cpp check("vadd(v*.h,v*.h):sat", hvx_width/2, i16_sat(i32(i16_1) + i32(i16_2))); check 1508 test/correctness/simd_op_check.cpp check("vadd(v*.w,v*.w):sat", hvx_width/4, i32_sat(i64(i32_1) + i64(i32_2))); check 1510 test/correctness/simd_op_check.cpp check("vadd(v*.uw,v*.uw):sat", hvx_width/4, u32_sat(u64(u32_1) + u64(u32_2))); check 1513 test/correctness/simd_op_check.cpp check("vsub(v*.b,v*.b)", hvx_width/1, u8_1 - u8_2); check 1514 test/correctness/simd_op_check.cpp check("vsub(v*.h,v*.h)", hvx_width/2, u16_1 - u16_2); check 1515 test/correctness/simd_op_check.cpp check("vsub(v*.w,v*.w)", hvx_width/4, u32_1 - u32_2); check 1516 test/correctness/simd_op_check.cpp check("vsub(v*.b,v*.b)", hvx_width/1, i8_1 - i8_2); check 1517 test/correctness/simd_op_check.cpp check("vsub(v*.h,v*.h)", hvx_width/2, i16_1 - i16_2); check 1518 test/correctness/simd_op_check.cpp check("vsub(v*.w,v*.w)", hvx_width/4, i32_1 - i32_2); check 1519 test/correctness/simd_op_check.cpp check("v*.h = vsub(v*.ub,v*.ub)", hvx_width/1, u16(u8_1) - u16(u8_2)); check 1520 test/correctness/simd_op_check.cpp check("v*.w = vsub(v*.uh,v*.uh)", hvx_width/2, u32(u16_1) - u32(u16_2)); check 1521 test/correctness/simd_op_check.cpp check("v*.w = vsub(v*.h,v*.h)", hvx_width/2, i32(i16_1) - i32(i16_2)); check 1522 test/correctness/simd_op_check.cpp check("vsub(v*.ub,v*.ub):sat", hvx_width/1, u8_sat(i16(u8_1) - i16(u8_2))); check 1523 test/correctness/simd_op_check.cpp check("vsub(v*.uh,v*.uh):sat", hvx_width/2, u16_sat(i32(u16_1) - i32(u16_2))); check 1524 test/correctness/simd_op_check.cpp check("vsub(v*.h,v*.h):sat", hvx_width/2, i16_sat(i32(i16_1) - i32(i16_2))); check 1525 test/correctness/simd_op_check.cpp check("vsub(v*.w,v*.w):sat", hvx_width/4, i32_sat(i64(i32_1) - i64(i32_2))); check 1528 test/correctness/simd_op_check.cpp check("vadd(v*:*.b,v*:*.b)", hvx_width*2, u8_1 + u8_2); check 1529 test/correctness/simd_op_check.cpp check("vadd(v*:*.h,v*:*.h)", hvx_width/1, u16_1 + u16_2); check 1530 test/correctness/simd_op_check.cpp check("vadd(v*:*.w,v*:*.w)", hvx_width/2, u32_1 + u32_2); check 1531 test/correctness/simd_op_check.cpp check("vadd(v*:*.b,v*:*.b)", hvx_width*2, i8_1 + i8_2); check 1532 test/correctness/simd_op_check.cpp check("vadd(v*:*.h,v*:*.h)", hvx_width/1, i16_1 + i16_2); check 1533 test/correctness/simd_op_check.cpp check("vadd(v*:*.w,v*:*.w)", hvx_width/2, i32_1 + i32_2); check 1534 test/correctness/simd_op_check.cpp check("vadd(v*:*.ub,v*:*.ub):sat", hvx_width*2, u8_sat(u16(u8_1) + u16(u8_2))); check 1535 test/correctness/simd_op_check.cpp check("vadd(v*:*.uh,v*:*.uh):sat", hvx_width/1, u16_sat(u32(u16_1) + u32(u16_2))); check 1536 test/correctness/simd_op_check.cpp check("vadd(v*:*.h,v*:*.h):sat", hvx_width/1, i16_sat(i32(i16_1) + i32(i16_2))); check 1537 test/correctness/simd_op_check.cpp check("vadd(v*:*.w,v*:*.w):sat", hvx_width/2, i32_sat(i64(i32_1) + i64(i32_2))); check 1539 test/correctness/simd_op_check.cpp check("vadd(v*:*.uw,v*:*.uw):sat", hvx_width/2, u32_sat(u64(u32_1) + u64(u32_2))); check 1542 test/correctness/simd_op_check.cpp check("vsub(v*:*.b,v*:*.b)", hvx_width*2, u8_1 - u8_2); check 1543 test/correctness/simd_op_check.cpp check("vsub(v*:*.h,v*:*.h)", hvx_width/1, u16_1 - u16_2); check 1544 test/correctness/simd_op_check.cpp check("vsub(v*:*.w,v*:*.w)", hvx_width/2, u32_1 - u32_2); check 1545 test/correctness/simd_op_check.cpp check("vsub(v*:*.b,v*:*.b)", hvx_width*2, i8_1 - i8_2); check 1546 test/correctness/simd_op_check.cpp check("vsub(v*:*.h,v*:*.h)", hvx_width/1, i16_1 - i16_2); check 1547 test/correctness/simd_op_check.cpp check("vsub(v*:*.w,v*:*.w)", hvx_width/2, i32_1 - i32_2); check 1548 test/correctness/simd_op_check.cpp check("vsub(v*:*.ub,v*:*.ub):sat", hvx_width*2, u8_sat(i16(u8_1) - i16(u8_2))); check 1549 test/correctness/simd_op_check.cpp check("vsub(v*:*.uh,v*:*.uh):sat", hvx_width/1, u16_sat(i32(u16_1) - i32(u16_2))); check 1550 test/correctness/simd_op_check.cpp check("vsub(v*:*.h,v*:*.h):sat", hvx_width/1, i16_sat(i32(i16_1) - i32(i16_2))); check 1551 test/correctness/simd_op_check.cpp check("vsub(v*:*.w,v*:*.w):sat", hvx_width/2, i32_sat(i64(i32_1) - i64(i32_2))); check 1553 test/correctness/simd_op_check.cpp check("vavg(v*.ub,v*.ub)", hvx_width/1, u8((u16(u8_1) + u16(u8_2))/2)); check 1554 test/correctness/simd_op_check.cpp check("vavg(v*.ub,v*.ub):rnd", hvx_width/1, u8((u16(u8_1) + u16(u8_2) + 1)/2)); check 1555 test/correctness/simd_op_check.cpp check("vavg(v*.uh,v*.uh)", hvx_width/2, u16((u32(u16_1) + u32(u16_2))/2)); check 1556 test/correctness/simd_op_check.cpp check("vavg(v*.uh,v*.uh):rnd", hvx_width/2, u16((u32(u16_1) + u32(u16_2) + 1)/2)); check 1557 test/correctness/simd_op_check.cpp check("vavg(v*.h,v*.h)", hvx_width/2, i16((i32(i16_1) + i32(i16_2))/2)); check 1558 test/correctness/simd_op_check.cpp check("vavg(v*.h,v*.h):rnd", hvx_width/2, i16((i32(i16_1) + i32(i16_2) + 1)/2)); check 1559 test/correctness/simd_op_check.cpp check("vavg(v*.w,v*.w)", hvx_width/4, i32((i64(i32_1) + i64(i32_2))/2)); check 1560 test/correctness/simd_op_check.cpp check("vavg(v*.w,v*.w):rnd", hvx_width/4, i32((i64(i32_1) + i64(i32_2) + 1)/2)); check 1561 test/correctness/simd_op_check.cpp check("vnavg(v*.ub,v*.ub)", hvx_width/1, i8_sat((i16(u8_1) - i16(u8_2))/2)); check 1562 test/correctness/simd_op_check.cpp check("vnavg(v*.h,v*.h)", hvx_width/2, i16_sat((i32(i16_1) - i32(i16_2))/2)); check 1563 test/correctness/simd_op_check.cpp check("vnavg(v*.w,v*.w)", hvx_width/4, i32_sat((i64(i32_1) - i64(i32_2))/2)); check 1567 test/correctness/simd_op_check.cpp check("vlsr(v*.h,v*.h)", hvx_width/1, u8_1 >> (u8_2 % 8)); check 1568 test/correctness/simd_op_check.cpp check("vlsr(v*.h,v*.h)", hvx_width/2, u16_1 >> (u16_2 % 16)); check 1569 test/correctness/simd_op_check.cpp check("vlsr(v*.w,v*.w)", hvx_width/4, u32_1 >> (u32_2 % 32)); check 1570 test/correctness/simd_op_check.cpp check("vasr(v*.h,v*.h)", hvx_width/1, i8_1 >> (i8_2 % 8)); check 1571 test/correctness/simd_op_check.cpp check("vasr(v*.h,v*.h)", hvx_width/2, i16_1 >> (i16_2 % 16)); check 1572 test/correctness/simd_op_check.cpp check("vasr(v*.w,v*.w)", hvx_width/4, i32_1 >> (i32_2 % 32)); check 1573 test/correctness/simd_op_check.cpp check("vasr(v*.h,v*.h,r*):sat", hvx_width/1, u8_sat(i16_1 >> 4)); check 1574 test/correctness/simd_op_check.cpp check("vasr(v*.w,v*.w,r*):sat", hvx_width/2, u16_sat(i32_1 >> 8)); check 1575 test/correctness/simd_op_check.cpp check("vasr(v*.w,v*.w,r*):sat", hvx_width/2, i16_sat(i32_1 >> 8)); check 1576 test/correctness/simd_op_check.cpp check("vasr(v*.w,v*.w,r*)", hvx_width/2, i16(i32_1 >> 8)); check 1577 test/correctness/simd_op_check.cpp check("vasl(v*.h,v*.h)", hvx_width/1, u8_1 << (u8_2 % 8)); check 1578 test/correctness/simd_op_check.cpp check("vasl(v*.h,v*.h)", hvx_width/2, u16_1 << (u16_2 % 16)); check 1579 test/correctness/simd_op_check.cpp check("vasl(v*.w,v*.w)", hvx_width/4, u32_1 << (u32_2 % 32)); check 1580 test/correctness/simd_op_check.cpp check("vasl(v*.h,v*.h)", hvx_width/1, i8_1 << (i8_2 % 8)); check 1581 test/correctness/simd_op_check.cpp check("vasl(v*.h,v*.h)", hvx_width/2, i16_1 << (i16_2 % 16)); check 1582 test/correctness/simd_op_check.cpp check("vasl(v*.w,v*.w)", hvx_width/4, i32_1 << (i32_2 % 32)); check 1586 test/correctness/simd_op_check.cpp check("vlsr(v*.uh,r*)", hvx_width/1, u8_1 >> (u8(y) % 8)); check 1587 test/correctness/simd_op_check.cpp check("vlsr(v*.uh,r*)", hvx_width/2, u16_1 >> (u16(y) % 16)); check 1588 test/correctness/simd_op_check.cpp check("vlsr(v*.uw,r*)", hvx_width/4, u32_1 >> (u32(y) % 32)); check 1589 test/correctness/simd_op_check.cpp check("vasr(v*.h,r*)", hvx_width/1, i8_1 >> (i8(y) % 8)); check 1590 test/correctness/simd_op_check.cpp check("vasr(v*.h,r*)", hvx_width/2, i16_1 >> (i16(y) % 16)); check 1591 test/correctness/simd_op_check.cpp check("vasr(v*.w,r*)", hvx_width/4, i32_1 >> (i32(y) % 32)); check 1592 test/correctness/simd_op_check.cpp check("vasl(v*.h,r*)", hvx_width/1, u8_1 << (u8(y) % 8)); check 1593 test/correctness/simd_op_check.cpp check("vasl(v*.h,r*)", hvx_width/2, u16_1 << (u16(y) % 16)); check 1594 test/correctness/simd_op_check.cpp check("vasl(v*.w,r*)", hvx_width/4, u32_1 << (u32(y) % 32)); check 1595 test/correctness/simd_op_check.cpp check("vasl(v*.h,r*)", hvx_width/1, i8_1 << (i8(y) % 8)); check 1596 test/correctness/simd_op_check.cpp check("vasl(v*.h,r*)", hvx_width/2, i16_1 << (i16(y) % 16)); check 1597 test/correctness/simd_op_check.cpp check("vasl(v*.w,r*)", hvx_width/4, i32_1 << (i32(y) % 32)); check 1599 test/correctness/simd_op_check.cpp check("vpacke(v*.h,v*.h)", hvx_width/1, u8(u16_1)); check 1600 test/correctness/simd_op_check.cpp check("vpacke(v*.h,v*.h)", hvx_width/1, u8(i16_1)); check 1601 test/correctness/simd_op_check.cpp check("vpacke(v*.h,v*.h)", hvx_width/1, i8(u16_1)); check 1602 test/correctness/simd_op_check.cpp check("vpacke(v*.h,v*.h)", hvx_width/1, i8(i16_1)); check 1603 test/correctness/simd_op_check.cpp check("vpacke(v*.w,v*.w)", hvx_width/2, u16(u32_1)); check 1604 test/correctness/simd_op_check.cpp check("vpacke(v*.w,v*.w)", hvx_width/2, u16(i32_1)); check 1605 test/correctness/simd_op_check.cpp check("vpacke(v*.w,v*.w)", hvx_width/2, i16(u32_1)); check 1606 test/correctness/simd_op_check.cpp check("vpacke(v*.w,v*.w)", hvx_width/2, i16(i32_1)); check 1608 test/correctness/simd_op_check.cpp check("vpacko(v*.h,v*.h)", hvx_width/1, u8(u16_1 >> 8)); check 1609 test/correctness/simd_op_check.cpp check("vpacko(v*.h,v*.h)", hvx_width/1, u8(i16_1 >> 8)); check 1610 test/correctness/simd_op_check.cpp check("vpacko(v*.h,v*.h)", hvx_width/1, i8(u16_1 >> 8)); check 1611 test/correctness/simd_op_check.cpp check("vpacko(v*.h,v*.h)", hvx_width/1, i8(i16_1 >> 8)); check 1612 test/correctness/simd_op_check.cpp check("vpacko(v*.w,v*.w)", hvx_width/2, u16(u32_1 >> 16)); check 1613 test/correctness/simd_op_check.cpp check("vpacko(v*.w,v*.w)", hvx_width/2, u16(i32_1 >> 16)); check 1614 test/correctness/simd_op_check.cpp check("vpacko(v*.w,v*.w)", hvx_width/2, i16(u32_1 >> 16)); check 1615 test/correctness/simd_op_check.cpp check("vpacko(v*.w,v*.w)", hvx_width/2, i16(i32_1 >> 16)); check 1623 test/correctness/simd_op_check.cpp check("vshuffe(v*.b,v*.b)", hvx_width/1, u8(u16(u8_1) * 127)); check 1624 test/correctness/simd_op_check.cpp check("vshuffe(v*.b,v*.b)", hvx_width/1, u8(i16(i8_1) * 63)); check 1625 test/correctness/simd_op_check.cpp check("vshuffe(v*.b,v*.b)", hvx_width/1, i8(u16(u8_1) * 127)); check 1626 test/correctness/simd_op_check.cpp check("vshuffe(v*.b,v*.b)", hvx_width/1, i8(i16(i8_1) * 63)); check 1627 test/correctness/simd_op_check.cpp check("vshuffe(v*.h,v*.h)", hvx_width/2, u16(u32(u16_1) * 32767)); check 1628 test/correctness/simd_op_check.cpp check("vshuffe(v*.h,v*.h)", hvx_width/2, u16(i32(i16_1) * 16383)); check 1629 test/correctness/simd_op_check.cpp check("vshuffe(v*.h,v*.h)", hvx_width/2, i16(u32(u16_1) * 32767)); check 1630 test/correctness/simd_op_check.cpp check("vshuffe(v*.h,v*.h)", hvx_width/2, i16(i32(i16_1) * 16383)); check 1632 test/correctness/simd_op_check.cpp check("vshuffo(v*.b,v*.b)", hvx_width/1, u8((u16(u8_1) * 127) >> 8)); check 1633 test/correctness/simd_op_check.cpp check("vshuffo(v*.b,v*.b)", hvx_width/1, u8((i16(i8_1) * 63) >> 8)); check 1634 test/correctness/simd_op_check.cpp check("vshuffo(v*.b,v*.b)", hvx_width/1, i8((u16(u8_1) * 127) >> 8)); check 1635 test/correctness/simd_op_check.cpp check("vshuffo(v*.b,v*.b)", hvx_width/1, i8((i16(i8_1) * 63) >> 8)); check 1636 test/correctness/simd_op_check.cpp check("vshuffo(v*.h,v*.h)", hvx_width/2, u16((u32(u16_1) * 32767) >> 16)); check 1637 test/correctness/simd_op_check.cpp check("vshuffo(v*.h,v*.h)", hvx_width/2, u16((i32(i16_1) * 16383) >> 16)); check 1638 test/correctness/simd_op_check.cpp check("vshuffo(v*.h,v*.h)", hvx_width/2, i16((u32(u16_1) * 32767) >> 16)); check 1639 test/correctness/simd_op_check.cpp check("vshuffo(v*.h,v*.h)", hvx_width/2, i16((i32(i16_1) * 16383) >> 16)); check 1641 test/correctness/simd_op_check.cpp check("vpacke(v*.h,v*.h)", hvx_width/1, in_u8(2*x)); check 1642 test/correctness/simd_op_check.cpp check("vpacke(v*.w,v*.w)", hvx_width/2, in_u16(2*x)); check 1643 test/correctness/simd_op_check.cpp check("vdeal(v*,v*,r*)", hvx_width/4, in_u32(2*x)); check 1644 test/correctness/simd_op_check.cpp check("vpacko(v*.h,v*.h)", hvx_width/1, in_u8(2*x + 1)); check 1645 test/correctness/simd_op_check.cpp check("vpacko(v*.w,v*.w)", hvx_width/2, in_u16(2*x + 1)); check 1646 test/correctness/simd_op_check.cpp check("vdeal(v*,v*,r*)", hvx_width/4, in_u32(2*x + 1)); check 1648 test/correctness/simd_op_check.cpp check("vlut32(v*.b,v*.b,r*)", hvx_width/1, in_u8(3*x/2)); check 1649 test/correctness/simd_op_check.cpp check("vlut16(v*.b,v*.h,r*)", hvx_width/2, in_u16(3*x/2)); check 1651 test/correctness/simd_op_check.cpp check("vlut32(v*.b,v*.b,r*)", hvx_width/1, in_u8(u8_1)); check 1652 test/correctness/simd_op_check.cpp check("vlut32(v*.b,v*.b,r*)", hvx_width/1, in_u8(clamp(u16_1, 0, 63))); check 1653 test/correctness/simd_op_check.cpp check("vlut16(v*.b,v*.h,r*)", hvx_width/2, in_u16(u8_1)); check 1654 test/correctness/simd_op_check.cpp check("vlut16(v*.b,v*.h,r*)", hvx_width/2, in_u16(clamp(u16_1, 0, 15))); check 1656 test/correctness/simd_op_check.cpp check("v*.ub = vpack(v*.h,v*.h):sat", hvx_width/1, u8_sat(i16_1)); check 1657 test/correctness/simd_op_check.cpp check("v*.b = vpack(v*.h,v*.h):sat", hvx_width/1, i8_sat(i16_1)); check 1658 test/correctness/simd_op_check.cpp check("v*.uh = vpack(v*.w,v*.w):sat", hvx_width/2, u16_sat(i32_1)); check 1659 test/correctness/simd_op_check.cpp check("v*.h = vpack(v*.w,v*.w):sat", hvx_width/2, i16_sat(i32_1)); check 1667 test/correctness/simd_op_check.cpp check("v*.ub = vsat(v*.h,v*.h)", hvx_width/1, u8_sat(i16(i8_1) << 8)); check 1668 test/correctness/simd_op_check.cpp check("v*.uh = vasr(v*.w,v*.w,r*):sat", hvx_width/2, u16_sat(i32(i16_1) << 16)); check 1669 test/correctness/simd_op_check.cpp check("v*.h = vasr(v*.w,v*.w,r*):sat", hvx_width/2, u8_sat(i32(i16_1) >> 4)); check 1670 test/correctness/simd_op_check.cpp check("v*.h = vsat(v*.w,v*.w)", hvx_width/2, i16_sat(i32(i16_1) << 16)); check 1673 test/correctness/simd_op_check.cpp check("v*.ub = vpack(v*.h,v*.h):sat", hvx_width/1, u8_sat(i32_1)); check 1674 test/correctness/simd_op_check.cpp check("v*.b = vpack(v*.h,v*.h):sat", hvx_width/1, i8_sat(i32_1)); check 1675 test/correctness/simd_op_check.cpp check("v*.h = vsat(v*.w,v*.w)", hvx_width/1, u8_sat(i32(i16_1) << 8)); check 1678 test/correctness/simd_op_check.cpp check("v*.uh = vsat(v*.uw, v*.uw)", hvx_width/2, u16_sat(u32_1)); check 1681 test/correctness/simd_op_check.cpp check("vround(v*.h,v*.h)", hvx_width/1, u8_sat((i32(i16_1) + 128)/256)); check 1682 test/correctness/simd_op_check.cpp check("vround(v*.h,v*.h)", hvx_width/1, i8_sat((i32(i16_1) + 128)/256)); check 1683 test/correctness/simd_op_check.cpp check("vround(v*.w,v*.w)", hvx_width/2, u16_sat((i64(i32_1) + 32768)/65536)); check 1684 test/correctness/simd_op_check.cpp check("vround(v*.w,v*.w)", hvx_width/2, i16_sat((i64(i32_1) + 32768)/65536)); check 1686 test/correctness/simd_op_check.cpp check("vshuff(v*,v*,r*)", hvx_width*2, select((x%2) == 0, in_u8(x/2), in_u8((x+16)/2))); check 1687 test/correctness/simd_op_check.cpp check("vshuff(v*,v*,r*)", hvx_width*2, select((x%2) == 0, in_i8(x/2), in_i8((x+16)/2))); check 1688 test/correctness/simd_op_check.cpp check("vshuff(v*,v*,r*)", (hvx_width*2)/2, select((x%2) == 0, in_u16(x/2), in_u16((x+16)/2))); check 1689 test/correctness/simd_op_check.cpp check("vshuff(v*,v*,r*)", (hvx_width*2)/2, select((x%2) == 0, in_i16(x/2), in_i16((x+16)/2))); check 1690 test/correctness/simd_op_check.cpp check("vshuff(v*,v*,r*)", (hvx_width*2)/4, select((x%2) == 0, in_u32(x/2), in_u32((x+16)/2))); check 1691 test/correctness/simd_op_check.cpp check("vshuff(v*,v*,r*)", (hvx_width*2)/4, select((x%2) == 0, in_i32(x/2), in_i32((x+16)/2))); check 1693 test/correctness/simd_op_check.cpp check("vshuff(v*,v*,r*)", hvx_width*2, select((x%2) == 0, u8(x/2), u8(x/2))); check 1694 test/correctness/simd_op_check.cpp check("vshuff(v*,v*,r*)", hvx_width*2, select((x%2) == 0, i8(x/2), i8(x/2))); check 1695 test/correctness/simd_op_check.cpp check("vshuff(v*,v*,r*)", (hvx_width*2)/2, select((x%2) == 0, u16(x/2), u16(x/2))); check 1696 test/correctness/simd_op_check.cpp check("vshuff(v*,v*,r*)", (hvx_width*2)/2, select((x%2) == 0, i16(x/2), i16(x/2))); check 1697 test/correctness/simd_op_check.cpp check("vshuff(v*,v*,r*)", (hvx_width*2)/4, select((x%2) == 0, u32(x/2), u32(x/2))); check 1698 test/correctness/simd_op_check.cpp check("vshuff(v*,v*,r*)", (hvx_width*2)/4, select((x%2) == 0, i32(x/2), i32(x/2))); check 1700 test/correctness/simd_op_check.cpp check("vmax(v*.ub,v*.ub)", hvx_width/1, max(u8_1, u8_2)); check 1701 test/correctness/simd_op_check.cpp check("vmax(v*.uh,v*.uh)", hvx_width/2, max(u16_1, u16_2)); check 1702 test/correctness/simd_op_check.cpp check("vmax(v*.h,v*.h)", hvx_width/2, max(i16_1, i16_2)); check 1703 test/correctness/simd_op_check.cpp check("vmax(v*.w,v*.w)", hvx_width/4, max(i32_1, i32_2)); check 1705 test/correctness/simd_op_check.cpp check("vmin(v*.ub,v*.ub)", hvx_width/1, min(u8_1, u8_2)); check 1706 test/correctness/simd_op_check.cpp check("vmin(v*.uh,v*.uh)", hvx_width/2, min(u16_1, u16_2)); check 1707 test/correctness/simd_op_check.cpp check("vmin(v*.h,v*.h)", hvx_width/2, min(i16_1, i16_2)); check 1708 test/correctness/simd_op_check.cpp check("vmin(v*.w,v*.w)", hvx_width/4, min(i32_1, i32_2)); check 1710 test/correctness/simd_op_check.cpp check("vcmp.gt(v*.b,v*.b)", hvx_width/1, select(i8_1 < i8_2, i8_1, i8_2)); check 1711 test/correctness/simd_op_check.cpp check("vcmp.gt(v*.ub,v*.ub)", hvx_width/1, select(u8_1 < u8_2, u8_1, u8_2)); check 1712 test/correctness/simd_op_check.cpp check("vcmp.gt(v*.h,v*.h)", hvx_width/2, select(i16_1 < i16_2, i16_1, i16_2)); check 1713 test/correctness/simd_op_check.cpp check("vcmp.gt(v*.uh,v*.uh)", hvx_width/2, select(u16_1 < u16_2, u16_1, u16_2)); check 1714 test/correctness/simd_op_check.cpp check("vcmp.gt(v*.w,v*.w)", hvx_width/4, select(i32_1 < i32_2, i32_1, i32_2)); check 1715 test/correctness/simd_op_check.cpp check("vcmp.gt(v*.uw,v*.uw)", hvx_width/4, select(u32_1 < u32_2, u32_1, u32_2)); check 1717 test/correctness/simd_op_check.cpp check("vcmp.gt(v*.b,v*.b)", hvx_width/1, select(i8_1 > i8_2, i8_1, i8_2)); check 1718 test/correctness/simd_op_check.cpp check("vcmp.gt(v*.ub,v*.ub)", hvx_width/1, select(u8_1 > u8_2, u8_1, u8_2)); check 1719 test/correctness/simd_op_check.cpp check("vcmp.gt(v*.h,v*.h)", hvx_width/2, select(i16_1 > i16_2, i16_1, i16_2)); check 1720 test/correctness/simd_op_check.cpp check("vcmp.gt(v*.uh,v*.uh)", hvx_width/2, select(u16_1 > u16_2, u16_1, u16_2)); check 1721 test/correctness/simd_op_check.cpp check("vcmp.gt(v*.w,v*.w)", hvx_width/4, select(i32_1 > i32_2, i32_1, i32_2)); check 1722 test/correctness/simd_op_check.cpp check("vcmp.gt(v*.uw,v*.uw)", hvx_width/4, select(u32_1 > u32_2, u32_1, u32_2)); check 1724 test/correctness/simd_op_check.cpp check("vcmp.gt(v*.b,v*.b)", hvx_width/1, select(i8_1 <= i8_2, i8_1, i8_2)); check 1725 test/correctness/simd_op_check.cpp check("vcmp.gt(v*.ub,v*.ub)", hvx_width/1, select(u8_1 <= u8_2, u8_1, u8_2)); check 1726 test/correctness/simd_op_check.cpp check("vcmp.gt(v*.h,v*.h)", hvx_width/2, select(i16_1 <= i16_2, i16_1, i16_2)); check 1727 test/correctness/simd_op_check.cpp check("vcmp.gt(v*.uh,v*.uh)", hvx_width/2, select(u16_1 <= u16_2, u16_1, u16_2)); check 1728 test/correctness/simd_op_check.cpp check("vcmp.gt(v*.w,v*.w)", hvx_width/4, select(i32_1 <= i32_2, i32_1, i32_2)); check 1729 test/correctness/simd_op_check.cpp check("vcmp.gt(v*.uw,v*.uw)", hvx_width/4, select(u32_1 <= u32_2, u32_1, u32_2)); check 1731 test/correctness/simd_op_check.cpp check("vcmp.gt(v*.b,v*.b)", hvx_width/1, select(i8_1 >= i8_2, i8_1, i8_2)); check 1732 test/correctness/simd_op_check.cpp check("vcmp.gt(v*.ub,v*.ub)", hvx_width/1, select(u8_1 >= u8_2, u8_1, u8_2)); check 1733 test/correctness/simd_op_check.cpp check("vcmp.gt(v*.h,v*.h)", hvx_width/2, select(i16_1 >= i16_2, i16_1, i16_2)); check 1734 test/correctness/simd_op_check.cpp check("vcmp.gt(v*.uh,v*.uh)", hvx_width/2, select(u16_1 >= u16_2, u16_1, u16_2)); check 1735 test/correctness/simd_op_check.cpp check("vcmp.gt(v*.w,v*.w)", hvx_width/4, select(i32_1 >= i32_2, i32_1, i32_2)); check 1736 test/correctness/simd_op_check.cpp check("vcmp.gt(v*.uw,v*.uw)", hvx_width/4, select(u32_1 >= u32_2, u32_1, u32_2)); check 1738 test/correctness/simd_op_check.cpp check("vcmp.eq(v*.b,v*.b)", hvx_width/1, select(i8_1 == i8_2, i8_1, i8_2)); check 1739 test/correctness/simd_op_check.cpp check("vcmp.eq(v*.b,v*.b)", hvx_width/1, select(u8_1 == u8_2, u8_1, u8_2)); check 1740 test/correctness/simd_op_check.cpp check("vcmp.eq(v*.h,v*.h)", hvx_width/2, select(i16_1 == i16_2, i16_1, i16_2)); check 1741 test/correctness/simd_op_check.cpp check("vcmp.eq(v*.h,v*.h)", hvx_width/2, select(u16_1 == u16_2, u16_1, u16_2)); check 1742 test/correctness/simd_op_check.cpp check("vcmp.eq(v*.w,v*.w)", hvx_width/4, select(i32_1 == i32_2, i32_1, i32_2)); check 1743 test/correctness/simd_op_check.cpp check("vcmp.eq(v*.w,v*.w)", hvx_width/4, select(u32_1 == u32_2, u32_1, u32_2)); check 1745 test/correctness/simd_op_check.cpp check("vcmp.eq(v*.b,v*.b)", hvx_width/1, select(i8_1 != i8_2, i8_1, i8_2)); check 1746 test/correctness/simd_op_check.cpp check("vcmp.eq(v*.b,v*.b)", hvx_width/1, select(u8_1 != u8_2, u8_1, u8_2)); check 1747 test/correctness/simd_op_check.cpp check("vcmp.eq(v*.h,v*.h)", hvx_width/2, select(i16_1 != i16_2, i16_1, i16_2)); check 1748 test/correctness/simd_op_check.cpp check("vcmp.eq(v*.h,v*.h)", hvx_width/2, select(u16_1 != u16_2, u16_1, u16_2)); check 1749 test/correctness/simd_op_check.cpp check("vcmp.eq(v*.w,v*.w)", hvx_width/4, select(i32_1 != i32_2, i32_1, i32_2)); check 1750 test/correctness/simd_op_check.cpp check("vcmp.eq(v*.w,v*.w)", hvx_width/4, select(u32_1 != u32_2, u32_1, u32_2)); check 1752 test/correctness/simd_op_check.cpp check("vabsdiff(v*.ub,v*.ub)", hvx_width/1, absd(u8_1, u8_2)); check 1753 test/correctness/simd_op_check.cpp check("vabsdiff(v*.uh,v*.uh)", hvx_width/2, absd(u16_1, u16_2)); check 1754 test/correctness/simd_op_check.cpp check("vabsdiff(v*.h,v*.h)", hvx_width/2, absd(i16_1, i16_2)); check 1755 test/correctness/simd_op_check.cpp check("vabsdiff(v*.w,v*.w)", hvx_width/4, absd(i32_1, i32_2)); check 1757 test/correctness/simd_op_check.cpp check("vand(v*,v*)", hvx_width/1, u8_1 & u8_2); check 1758 test/correctness/simd_op_check.cpp check("vand(v*,v*)", hvx_width/2, u16_1 & u16_2); check 1759 test/correctness/simd_op_check.cpp check("vand(v*,v*)", hvx_width/4, u32_1 & u32_2); check 1760 test/correctness/simd_op_check.cpp check("vor(v*,v*)", hvx_width/1, u8_1 | u8_2); check 1761 test/correctness/simd_op_check.cpp check("vor(v*,v*)", hvx_width/2, u16_1 | u16_2); check 1762 test/correctness/simd_op_check.cpp check("vor(v*,v*)", hvx_width/4, u32_1 | u32_2); check 1763 test/correctness/simd_op_check.cpp check("vxor(v*,v*)", hvx_width/1, u8_1 ^ u8_2); check 1764 test/correctness/simd_op_check.cpp check("vxor(v*,v*)", hvx_width/2, u16_1 ^ u16_2); check 1765 test/correctness/simd_op_check.cpp check("vxor(v*,v*)", hvx_width/4, u32_1 ^ u32_2); check 1766 test/correctness/simd_op_check.cpp check("vnot(v*)", hvx_width/1, ~u8_1); check 1767 test/correctness/simd_op_check.cpp check("vnot(v*)", hvx_width/2, ~u16_1); check 1768 test/correctness/simd_op_check.cpp check("vnot(v*)", hvx_width/4, ~u32_1); check 1772 test/correctness/simd_op_check.cpp check("v*.b = vsplat(r*)", hvx_width/1, in_u8(0)); check 1773 test/correctness/simd_op_check.cpp check("v*.h = vsplat(r*)", hvx_width/2, in_u16(0)); check 1775 test/correctness/simd_op_check.cpp check("vsplat(r*)", hvx_width/1, in_u8(0)); check 1776 test/correctness/simd_op_check.cpp check("vsplat(r*)", hvx_width/2, in_u16(0)); check 1778 test/correctness/simd_op_check.cpp check("vsplat(r*)", hvx_width/4, in_u32(0)); check 1780 test/correctness/simd_op_check.cpp check("vmux(q*,v*,v*)", hvx_width/1, select(i8_1 == i8_2, i8_1, i8_2)); check 1781 test/correctness/simd_op_check.cpp check("vmux(q*,v*,v*)", hvx_width/2, select(i16_1 == i16_2, i16_1, i16_2)); check 1782 test/correctness/simd_op_check.cpp check("vmux(q*,v*,v*)", hvx_width/4, select(i32_1 == i32_2, i32_1, i32_2)); check 1784 test/correctness/simd_op_check.cpp check("vabs(v*.h)", hvx_width/2, abs(i16_1)); check 1785 test/correctness/simd_op_check.cpp check("vabs(v*.w)", hvx_width/4, abs(i32_1)); check 1787 test/correctness/simd_op_check.cpp check("vmpy(v*.ub,v*.ub)", hvx_width/1, u16(u8_1) * u16(u8_2)); check 1788 test/correctness/simd_op_check.cpp check("vmpy(v*.b,v*.b)", hvx_width/1, i16(i8_1) * i16(i8_2)); check 1789 test/correctness/simd_op_check.cpp check("vmpy(v*.uh,v*.uh)", hvx_width/2, u32(u16_1) * u32(u16_2)); check 1790 test/correctness/simd_op_check.cpp check("vmpy(v*.h,v*.h)", hvx_width/2, i32(i16_1) * i32(i16_2)); check 1791 test/correctness/simd_op_check.cpp check("vmpyi(v*.h,v*.h)", hvx_width/2, i16_1 * i16_2); check 1792 test/correctness/simd_op_check.cpp check("vmpyio(v*.w,v*.h)", hvx_width/2, i32_1 * i32(i16_1)); check 1793 test/correctness/simd_op_check.cpp check("vmpyie(v*.w,v*.uh)", hvx_width/2, i32_1 * i32(u16_1)); check 1794 test/correctness/simd_op_check.cpp check("vmpy(v*.uh,v*.uh)", hvx_width/2, u32_1 * u32(u16_1)); check 1795 test/correctness/simd_op_check.cpp check("vmpyieo(v*.h,v*.h)", hvx_width/4, i32_1 * i32_2); check 1799 test/correctness/simd_op_check.cpp check("vmpy(v*.ub,v*.b)", hvx_width/1, i16(u8_1) * i16(i8_2)); check 1800 test/correctness/simd_op_check.cpp check("vmpy(v*.h,v*.uh)", hvx_width/2, i32(u16_1) * i32(i16_2)); check 1801 test/correctness/simd_op_check.cpp check("vmpy(v*.ub,v*.b)", hvx_width/1, i16(i8_1) * i16(u8_2)); check 1802 test/correctness/simd_op_check.cpp check("vmpy(v*.h,v*.uh)", hvx_width/2, i32(i16_1) * i32(u16_2)); check 1804 test/correctness/simd_op_check.cpp check("vmpy(v*.ub,r*.b)", hvx_width/1, i16(u8_1) * 3); check 1805 test/correctness/simd_op_check.cpp check("vmpy(v*.h,r*.h)", hvx_width/2, i32(i16_1) * 10); check 1806 test/correctness/simd_op_check.cpp check("vmpy(v*.ub,r*.ub)", hvx_width/1, u16(u8_1) * 3); check 1807 test/correctness/simd_op_check.cpp check("vmpy(v*.uh,r*.uh)", hvx_width/2, u32(u16_1) * 10); check 1809 test/correctness/simd_op_check.cpp check("vmpy(v*.ub,r*.b)", hvx_width/1, 3*i16(u8_1)); check 1810 test/correctness/simd_op_check.cpp check("vmpy(v*.h,r*.h)", hvx_width/2, 10*i32(i16_1)); check 1811 test/correctness/simd_op_check.cpp check("vmpy(v*.ub,r*.ub)", hvx_width/1, 3*u16(u8_1)); check 1812 test/correctness/simd_op_check.cpp check("vmpy(v*.uh,r*.uh)", hvx_width/2, 10*u32(u16_1)); check 1814 test/correctness/simd_op_check.cpp check("vmpyi(v*.h,r*.b)", hvx_width/2, i16_1 * 127); check 1815 test/correctness/simd_op_check.cpp check("vmpyi(v*.h,r*.b)", hvx_width/2, 127 * i16_1); check 1816 test/correctness/simd_op_check.cpp check("vmpyi(v*.w,r*.h)", hvx_width/4, i32_1 * 32767); check 1817 test/correctness/simd_op_check.cpp check("vmpyi(v*.w,r*.h)", hvx_width/4, 32767 * i32_1); check 1819 test/correctness/simd_op_check.cpp check("v*.h += vmpyi(v*.h,v*.h)", hvx_width/2, i16_1 + i16_2*i16_3); check 1821 test/correctness/simd_op_check.cpp check("v*.h += vmpyi(v*.h,r*.b)", hvx_width/2, i16_1 + i16_2 * 127); check 1822 test/correctness/simd_op_check.cpp check("v*.w += vmpyi(v*.w,r*.h)", hvx_width/4, i32_1 + i32_2 * 32767); check 1823 test/correctness/simd_op_check.cpp check("v*.h += vmpyi(v*.h,r*.b)", hvx_width/2, i16_1 + 127 * i16_2); check 1824 test/correctness/simd_op_check.cpp check("v*.w += vmpyi(v*.w,r*.h)", hvx_width/4, i32_1 + 32767 * i32_2); check 1826 test/correctness/simd_op_check.cpp check("v*.uh += vmpy(v*.ub,v*.ub)", hvx_width/1, u16_1 + u16(u8_1) * u16(u8_2)); check 1827 test/correctness/simd_op_check.cpp check("v*.uw += vmpy(v*.uh,v*.uh)", hvx_width/2, u32_1 + u32(u16_1) * u32(u16_2)); check 1828 test/correctness/simd_op_check.cpp check("v*.h += vmpy(v*.b,v*.b)", hvx_width/1, i16_1 + i16(i8_1) * i16(i8_2)); check 1829 test/correctness/simd_op_check.cpp check("v*.w += vmpy(v*.h,v*.h)", hvx_width/2, i32_1 + i32(i16_1) * i32(i16_2)); check 1831 test/correctness/simd_op_check.cpp check("v*.h += vmpy(v*.ub,v*.b)", hvx_width/1, i16_1 + i16(u8_1) * i16(i8_2)); check 1832 test/correctness/simd_op_check.cpp check("v*.w += vmpy(v*.h,v*.uh)", hvx_width/2, i32_1 + i32(i16_1) * i32(u16_2)); check 1833 test/correctness/simd_op_check.cpp check("v*.h += vmpy(v*.ub,v*.b)", hvx_width/1, i16_1 + i16(u8_1) * i16(i8_2)); check 1834 test/correctness/simd_op_check.cpp check("v*.w += vmpy(v*.h,v*.uh)", hvx_width/2, i32_1 + i32(i16_1) * i32(u16_2)); check 1836 test/correctness/simd_op_check.cpp check("v*.h += vmpy(v*.ub,v*.b)", hvx_width/1, i16_1 + i16(i8_1) * i16(u8_2)); check 1837 test/correctness/simd_op_check.cpp check("v*.w += vmpy(v*.h,v*.uh)", hvx_width/2, i32_1 + i32(u16_1) * i32(i16_2)); check 1838 test/correctness/simd_op_check.cpp check("v*.h += vmpy(v*.ub,v*.b)", hvx_width/1, i16_1 + i16(i8_1) * i16(u8_2)); check 1839 test/correctness/simd_op_check.cpp check("v*.w += vmpy(v*.h,v*.uh)", hvx_width/2, i32_1 + i32(u16_1) * i32(i16_2)); check 1841 test/correctness/simd_op_check.cpp check("v*.uh += vmpy(v*.ub,r*.ub)", hvx_width/1, u16_1 + u16(u8_1) * 255); check 1842 test/correctness/simd_op_check.cpp check("v*.h += vmpy(v*.ub,r*.b)", hvx_width/1, i16_1 + i16(u8_1) * 127); check 1843 test/correctness/simd_op_check.cpp check("v*.uw += vmpy(v*.uh,r*.uh)", hvx_width/2, u32_1 + u32(u16_1) * 65535); check 1844 test/correctness/simd_op_check.cpp check("v*.uh += vmpy(v*.ub,r*.ub)", hvx_width/1, u16_1 + 255 * u16(u8_1)); check 1845 test/correctness/simd_op_check.cpp check("v*.h += vmpy(v*.ub,r*.b)", hvx_width/1, i16_1 + 127 * i16(u8_1)); check 1846 test/correctness/simd_op_check.cpp check("v*.uw += vmpy(v*.uh,r*.uh)", hvx_width/2, u32_1 + 65535 * u32(u16_1)); check 1848 test/correctness/simd_op_check.cpp check("v*.h += vmpy(v*.ub,r*.b)", hvx_width/1, i16_1 - i16(u8_1) * -127); check 1849 test/correctness/simd_op_check.cpp check("v*.h += vmpyi(v*.h,r*.b)", hvx_width/2, i16_1 - i16_2 * -127); check 1851 test/correctness/simd_op_check.cpp check("v*.w += vmpy(v*.h,r*.h)", hvx_width/1, i32_1 + i32(i16_1)*32767); check 1852 test/correctness/simd_op_check.cpp check("v*.w += vmpy(v*.h,r*.h)", hvx_width/1, i32_1 + 32767*i32(i16_1)); check 1854 test/correctness/simd_op_check.cpp check("vmpy(v*.h,v*.h):<<1:rnd:sat", hvx_width/2, i16_sat((i32(i16_1)*i32(i16_2) + 16384)/32768)); check 1855 test/correctness/simd_op_check.cpp check("vmpy(v*.h,r*.h):<<1:sat", hvx_width/2, i16_sat((i32(i16_1)*32767)/32768)); check 1856 test/correctness/simd_op_check.cpp check("vmpy(v*.h,r*.h):<<1:sat", hvx_width/2, i16_sat((32767*i32(i16_1))/32768)); check 1857 test/correctness/simd_op_check.cpp check("vmpy(v*.h,r*.h):<<1:rnd:sat", hvx_width/2, i16_sat((i32(i16_1)*32767 + 16384)/32768)); check 1858 test/correctness/simd_op_check.cpp check("vmpy(v*.h,r*.h):<<1:rnd:sat", hvx_width/2, i16_sat((32767*i32(i16_1) + 16384)/32768)); check 1860 test/correctness/simd_op_check.cpp check("vmpyo(v*.w,v*.h)", hvx_width/4, i32((i64(i32_1)*i64(i32_2))/(i64(1) << 32))); check 1861 test/correctness/simd_op_check.cpp check("vmpyo(v*.w,v*.h):<<1:sat", hvx_width/4, i32_sat((i64(i32_1)*i64(i32_2))/(i64(1) << 31))); check 1862 test/correctness/simd_op_check.cpp check("vmpyo(v*.w,v*.h):<<1:rnd:sat", hvx_width/4, i32_sat((i64(i32_1)*i64(i32_2) + (1 << 30))/(i64(1) << 31))); check 1864 test/correctness/simd_op_check.cpp check("vmpa(v*.ub,r*.b)", hvx_width/1, i16(u8_1)*127 + i16(u8_2)*-128); check 1865 test/correctness/simd_op_check.cpp check("vmpa(v*.ub,r*.b)", hvx_width/1, i16(u8_1)*127 + 126*i16(u8_2)); check 1866 test/correctness/simd_op_check.cpp check("vmpa(v*.ub,r*.b)", hvx_width/1, -100*i16(u8_1) + 40*i16(u8_2)); check 1867 test/correctness/simd_op_check.cpp check("v*.h += vmpa(v*.ub,r*.b)", hvx_width/1, 2*i16(u8_1) + 3*i16(u8_2) + i16_1); check 1869 test/correctness/simd_op_check.cpp check("vmpa(v*.h,r*.b)", hvx_width/2, i32(i16_1)*2 + i32(i16_2)*3); check 1870 test/correctness/simd_op_check.cpp check("vmpa(v*.h,r*.b)", hvx_width/2, i32(i16_1)*2 + 3*i32(i16_2)); check 1871 test/correctness/simd_op_check.cpp check("vmpa(v*.h,r*.b)", hvx_width/2, 2*i32(i16_1) + 3*i32(i16_2)); check 1872 test/correctness/simd_op_check.cpp check("v*.w += vmpa(v*.h,r*.b)", hvx_width/2, 2*i32(i16_1) + 3*i32(i16_2) + i32_1); check 1875 test/correctness/simd_op_check.cpp check("vdmpy(v*.ub,r*.b)", hvx_width/2, i16(in_u8(2*x))*127 + i16(in_u8(2*x + 1))*-128); check 1876 test/correctness/simd_op_check.cpp check("vdmpy(v*.h,r*.b)", hvx_width/4, i32(in_i16(2*x))*2 + i32(in_i16(2*x + 1))*3); check 1877 test/correctness/simd_op_check.cpp check("v*.h += vdmpy(v*.ub,r*.b)", hvx_width/2, i16(in_u8(2*x))*120 + i16(in_u8(2*x + 1))*-50 + i16_1); check 1878 test/correctness/simd_op_check.cpp check("v*.w += vdmpy(v*.h,r*.b)", hvx_width/4, i32(in_i16(2*x))*80 + i32(in_i16(2*x + 1))*33 + i32_1); check 1883 test/correctness/simd_op_check.cpp check("vdmpy(v*:*.ub,r*.b)", (hvx_width/2)*2, i16(in_u8(2*x))*2 + i16(in_u8(2*x + 1))*3); check 1884 test/correctness/simd_op_check.cpp check("vdmpy(v*:*.h,r*.b)", (hvx_width/4)*2, i32(in_i16(2*x))*2 + i32(in_i16(2*x + 1))*3); check 1885 test/correctness/simd_op_check.cpp check("v*:*.h += vdmpy(v*:*.ub,r*.b)", (hvx_width/2)*2, i16(in_u8(2*x))*2 + i16(in_u8(2*x + 1))*3 + i16_1); check 1886 test/correctness/simd_op_check.cpp check("v*:*.w += vdmpy(v*:*.h,r*.b)", (hvx_width/4)*2, i32(in_i16(2*x))*2 + i32(in_i16(2*x + 1))*3 + i32_1); check 1889 test/correctness/simd_op_check.cpp check("vrmpy(v*.ub,r*.ub)", hvx_width, u32(u8_1)*255 + u32(u8_2)*254 + u32(u8_3)*253 + u32(u8_4)*252); check 1890 test/correctness/simd_op_check.cpp check("vrmpy(v*.ub,r*.b)", hvx_width, i32(u8_1)*127 + i32(u8_2)*-128 + i32(u8_3)*126 + i32(u8_4)*-127); check 1891 test/correctness/simd_op_check.cpp check("v*.uw += vrmpy(v*.ub,r*.ub)", hvx_width, u32_1 + u32(u8_1)*2 + u32(u8_2)*3 + u32(u8_3)*4 + u32(u8_4)*5); check 1892 test/correctness/simd_op_check.cpp check("v*.w += vrmpy(v*.ub,r*.b)", hvx_width, i32_1 + i32(u8_1)*2 + i32(u8_2)*-3 + i32(u8_3)*-4 + i32(u8_4)*5); check 1895 test/correctness/simd_op_check.cpp check("vrmpy(v*.ub,r*.b)", hvx_width, i32(u8_1) + i32(u8_2)*-2 + i32(u8_3)*3 + i32(u8_4)*-4); check 1896 test/correctness/simd_op_check.cpp check("v*.w += vrmpy(v*.ub,r*.b)", hvx_width, i32_1 + i32(u8_1) + i32(u8_2)*2 + i32(u8_3)*3 + i32(u8_4)*4); check 1899 test/correctness/simd_op_check.cpp check("vrmpy(v*.ub,r*.ub)", hvx_width, u32(u16(u8_1)*255) + u32(u16(u8_2)*254) + u32(u16(u8_3)*253) + u32(u16(u8_4)*252)); check 1900 test/correctness/simd_op_check.cpp check("v*.w += vrmpy(v*.ub,r*.b)", hvx_width, i32_1 + i32(i16(u8_1)*2) + i32(i16(u8_2)*-3) + i32(i16(u8_3)*-4) + i32(i16(u8_4)*5)); check 1902 test/correctness/simd_op_check.cpp check("vrmpy(v*.ub,v*.ub)", hvx_width, u32(u8_1)*u8_1 + u32(u8_2)*u8_2 + u32(u8_3)*u8_3 + u32(u8_4)*u8_4); check 1903 test/correctness/simd_op_check.cpp check("vrmpy(v*.b,v*.b)", hvx_width, i32(i8_1)*i8_1 + i32(i8_2)*i8_2 + i32(i8_3)*i8_3 + i32(i8_4)*i8_4); check 1904 test/correctness/simd_op_check.cpp check("v*.uw += vrmpy(v*.ub,v*.ub)", hvx_width, u32_1 + u32(u8_1)*u8_1 + u32(u8_2)*u8_2 + u32(u8_3)*u8_3 + u32(u8_4)*u8_4); check 1905 test/correctness/simd_op_check.cpp check("v*.w += vrmpy(v*.b,v*.b)", hvx_width, i32_1 + i32(i8_1)*i8_1 + i32(i8_2)*i8_2 + i32(i8_3)*i8_3 + i32(i8_4)*i8_4); check 1909 test/correctness/simd_op_check.cpp check("vrmpy(v*.ub,v*.b)", hvx_width, i32(u8_1)*i8_1) + i32(u8_2)*i8_2) + i32(u8_3)*i8_3 + i32(u8_4)*i8_4); check 1910 test/correctness/simd_op_check.cpp check("v*.w += vrmpy(v*.ub,v*.b)", hvx_width, i32_1 + i32(u8_1)*i8_1 + i32(u8_2)*i8_2 + i32(u8_3)*i8_3 + i32(u8_4)*i8_4); check 1911 test/correctness/simd_op_check.cpp check("vrmpy(v*.ub,v*.b)", hvx_width, i16(u8_1)*i8_1 + i16(u8_2)*i8_2 + i16(u8_3)*i8_3 + i16(u8_4)*i8_4); check 1922 test/correctness/simd_op_check.cpp check("vrmpy(v*.ub,r*.b)", hvx_width/2, i16(u8_4x4[0])*127 + i16(u8_4x4[1])*126 + i16(u8_4x4[2])*-125 + i16(u8_4x4[3])*124); check 1924 test/correctness/simd_op_check.cpp check("vmpa(v*.ub,r*.b)", hvx_width, i16(u8_1)*127 + i16(u8_2)*-126 + i16(u8_3)*125 + i16(u8_4)*124); check 1926 test/correctness/simd_op_check.cpp check("v*.w += vasl(v*.w,r*)", hvx_width/4, u32_1 + (u32_2 * 8)); check 1927 test/correctness/simd_op_check.cpp check("v*.w += vasl(v*.w,r*)", hvx_width/4, i32_1 + (i32_2 * 8)); check 1928 test/correctness/simd_op_check.cpp check("v*.w += vasr(v*.w,r*)", hvx_width/4, i32_1 + (i32_2 / 8)); check 1930 test/correctness/simd_op_check.cpp check("v*.w += vasl(v*.w,r*)", hvx_width/4, i32_1 + (i32_2 << (y % 32))); check 1931 test/correctness/simd_op_check.cpp check("v*.w += vasr(v*.w,r*)", hvx_width/4, i32_1 + (i32_2 >> (y % 32))); check 1933 test/correctness/simd_op_check.cpp check("vcl0(v*.uh)", hvx_width/2, count_leading_zeros(u16_1)); check 1934 test/correctness/simd_op_check.cpp check("vcl0(v*.uw)", hvx_width/4, count_leading_zeros(u32_1)); check 1935 test/correctness/simd_op_check.cpp check("vnormamt(v*.h)", hvx_width/2, max(count_leading_zeros(i16_1), count_leading_zeros(~i16_1))); check 1936 test/correctness/simd_op_check.cpp check("vnormamt(v*.w)", hvx_width/4, max(count_leading_zeros(i32_1), count_leading_zeros(~i32_1))); check 1937 test/correctness/simd_op_check.cpp check("vpopcount(v*.h)", hvx_width/2, popcount(u16_1)); check 1956 test/correctness/simd_op_check.cpp check("vaddsbs", 16*w, i8_sat(i16( i8_1) + i16( i8_2))); check 1957 test/correctness/simd_op_check.cpp check("vaddshs", 8*w, i16_sat(i32(i16_1) + i32(i16_2))); check 1958 test/correctness/simd_op_check.cpp check("vaddsws", 4*w, i32_sat(i64(i32_1) + i64(i32_2))); check 1959 test/correctness/simd_op_check.cpp check("vaddubm", 16*w, i8_1 + i8_2); check 1960 test/correctness/simd_op_check.cpp check("vadduhm", 8*w, i16_1 + i16_2); check 1961 test/correctness/simd_op_check.cpp check("vadduwm", 4*w, i32_1 + i32_2); check 1962 test/correctness/simd_op_check.cpp check("vaddubs", 16*w, u8(min(u16( u8_1) + u16( u8_2), max_u8))); check 1963 test/correctness/simd_op_check.cpp check("vadduhs", 8*w, u16(min(u32(u16_1) + u32(u16_2), max_u16))); check 1964 test/correctness/simd_op_check.cpp check("vadduws", 4*w, u32(min(u64(u32_1) + u64(u32_2), max_u32))); check 1967 test/correctness/simd_op_check.cpp check("vsubsbs", 16*w, i8_sat(i16( i8_1) - i16( i8_2))); check 1968 test/correctness/simd_op_check.cpp check("vsubshs", 8*w, i16_sat(i32(i16_1) - i32(i16_2))); check 1969 test/correctness/simd_op_check.cpp check("vsubsws", 4*w, i32_sat(i64(i32_1) - i64(i32_2))); check 1970 test/correctness/simd_op_check.cpp check("vsububm", 16*w, i8_1 - i8_2); check 1971 test/correctness/simd_op_check.cpp check("vsubuhm", 8*w, i16_1 - i16_2); check 1972 test/correctness/simd_op_check.cpp check("vsubuwm", 4*w, i32_1 - i32_2); check 1973 test/correctness/simd_op_check.cpp check("vsububs", 16*w, u8(max(i16( u8_1) - i16( u8_2), 0))); check 1974 test/correctness/simd_op_check.cpp check("vsubuhs", 8*w, u16(max(i32(u16_1) - i32(u16_2), 0))); check 1975 test/correctness/simd_op_check.cpp check("vsubuws", 4*w, u32(max(i64(u32_1) - i64(u32_2), 0))); check 1978 test/correctness/simd_op_check.cpp check("vavgsb", 16*w, i8((i16( i8_1) + i16( i8_2) + 1)/2)); check 1979 test/correctness/simd_op_check.cpp check("vavgub", 16*w, u8((u16( u8_1) + u16( u8_2) + 1)/2)); check 1980 test/correctness/simd_op_check.cpp check("vavgsh", 8*w, i16((i32(i16_1) + i32(i16_2) + 1)/2)); check 1981 test/correctness/simd_op_check.cpp check("vavguh", 8*w, u16((u32(u16_1) + u32(u16_2) + 1)/2)); check 1982 test/correctness/simd_op_check.cpp check("vavgsw", 4*w, i32((i64(i32_1) + i64(i32_2) + 1)/2)); check 1983 test/correctness/simd_op_check.cpp check("vavguw", 4*w, u32((u64(u32_1) + u64(u32_2) + 1)/2)); check 1986 test/correctness/simd_op_check.cpp check("vmaxsb", 16*w, max( i8_1, i8_2)); check 1987 test/correctness/simd_op_check.cpp check("vmaxub", 16*w, max( u8_1, u8_2)); check 1988 test/correctness/simd_op_check.cpp check("vmaxsh", 8*w, max(i16_1, i16_2)); check 1989 test/correctness/simd_op_check.cpp check("vmaxuh", 8*w, max(u16_1, u16_2)); check 1990 test/correctness/simd_op_check.cpp check("vmaxsw", 4*w, max(i32_1, i32_2)); check 1991 test/correctness/simd_op_check.cpp check("vmaxuw", 4*w, max(u32_1, u32_2)); check 1992 test/correctness/simd_op_check.cpp check("vminsb", 16*w, min( i8_1, i8_2)); check 1993 test/correctness/simd_op_check.cpp check("vminub", 16*w, min( u8_1, u8_2)); check 1994 test/correctness/simd_op_check.cpp check("vminsh", 8*w, min(i16_1, i16_2)); check 1995 test/correctness/simd_op_check.cpp check("vminuh", 8*w, min(u16_1, u16_2)); check 1996 test/correctness/simd_op_check.cpp check("vminsw", 4*w, min(i32_1, i32_2)); check 1997 test/correctness/simd_op_check.cpp check("vminuw", 4*w, min(u32_1, u32_2)); check 2000 test/correctness/simd_op_check.cpp check(use_vsx ? "xvaddsp" : "vaddfp", 4*w, f32_1 + f32_2); check 2001 test/correctness/simd_op_check.cpp check(use_vsx ? "xvsubsp" : "vsubfp", 4*w, f32_1 - f32_2); check 2002 test/correctness/simd_op_check.cpp check(use_vsx ? "xvmaddasp" : "vmaddfp", 4*w, f32_1 * f32_2 + f32_3); check 2006 test/correctness/simd_op_check.cpp check("vmaxfp", 4*w, max(f32_1, f32_2)); check 2007 test/correctness/simd_op_check.cpp check("vminfp", 4*w, min(f32_1, f32_2)); check 2014 test/correctness/simd_op_check.cpp check("xvadddp", 2*w, f64_1 + f64_2); check 2015 test/correctness/simd_op_check.cpp check("xvmuldp", 2*w, f64_1 * f64_2); check 2016 test/correctness/simd_op_check.cpp check("xvsubdp", 2*w, f64_1 - f64_2); check 2017 test/correctness/simd_op_check.cpp check("xvaddsp", 4*w, f32_1 + f32_2); check 2018 test/correctness/simd_op_check.cpp check("xvmulsp", 4*w, f32_1 * f32_2); check 2019 test/correctness/simd_op_check.cpp check("xvsubsp", 4*w, f32_1 - f32_2); check 2020 test/correctness/simd_op_check.cpp check("xvmaxdp", 2*w, max(f64_1, f64_2)); check 2021 test/correctness/simd_op_check.cpp check("xvmindp", 2*w, min(f64_1, f64_2)); check 2029 test/correctness/simd_op_check.cpp check("vaddudm", 2*w, i64_1 + i64_2); check 2030 test/correctness/simd_op_check.cpp check("vsubudm", 2*w, i64_1 - i64_2); check 2032 test/correctness/simd_op_check.cpp check("vmaxsd", 2*w, max(i64_1, i64_2)); check 2033 test/correctness/simd_op_check.cpp check("vmaxud", 2*w, max(u64_1, u64_2)); check 2034 test/correctness/simd_op_check.cpp check("vminsd", 2*w, min(i64_1, i64_2)); check 2035 test/correctness/simd_op_check.cpp check("vminud", 2*w, min(u64_1, u64_2)); check 52 test/correctness/sliding_reduction.cpp check(g.realize(2, 10)); check 74 test/correctness/sliding_reduction.cpp check(g.realize(2, 10)); check 109 test/correctness/sliding_reduction.cpp check(g.realize(2, 10)); check 41 test/generator/error_codes_aottest.cpp check(result, correct); check 47 test/generator/error_codes_aottest.cpp check(result, correct); check 55 test/generator/error_codes_aottest.cpp check(result, correct); check 68 test/generator/error_codes_aottest.cpp check(result, correct); check 77 test/generator/error_codes_aottest.cpp check(result, correct); check 86 test/generator/error_codes_aottest.cpp check(result, correct); check 101 test/generator/error_codes_aottest.cpp check(result, correct); check 107 test/generator/error_codes_aottest.cpp check(result, correct); check 112 test/generator/error_codes_aottest.cpp check(result, correct); check 118 test/generator/error_codes_aottest.cpp check(result, correct); check 319 test/opengl/save_state.cpp known_state.check("realize"); check 323 test/opengl/save_state.cpp known_state.check("copy_to_host"); check 327 test/opengl/save_state.cpp known_state.check("realize"); check 331 test/opengl/save_state.cpp known_state.check("copy_to_host"); check 147 tools/halide_image_io.h template<typename ImageType, Internal::CheckFunc check = Internal::CheckReturn> check 150 tools/halide_image_io.h check(false, "png not supported in this build\n"); check 159 tools/halide_image_io.h if (!check(f.f != nullptr, "File %s could not be opened for reading\n", filename.c_str())) return false; check 160 tools/halide_image_io.h if (!check(fread(header, 1, 8, f.f) == 8, "File ended before end of header\n")) return false; check 161 tools/halide_image_io.h if (!check(!png_sig_cmp(header, 0, 8), "File %s is not recognized as a PNG file\n", filename.c_str())) return false; check 166 tools/halide_image_io.h if (!check(png_ptr != nullptr, "png_create_read_struct failed\n")) return false; check 169 tools/halide_image_io.h if (!check(info_ptr != nullptr, "png_create_info_struct failed\n")) return false; check 171 tools/halide_image_io.h if (!check(!setjmp(png_jmpbuf(png_ptr)), "Error during init_io\n")) return false; check 198 tools/halide_image_io.h if (!check(!setjmp(png_jmpbuf(png_ptr)), "Error during read_image\n")) return false; check 203 tools/halide_image_io.h if (!check((bit_depth == 8) || (bit_depth == 16), "Can only handle 8-bit or 16-bit pngs\n")) return false; check 241 tools/halide_image_io.h template<typename ImageType, Internal::CheckFunc check = Internal::CheckReturn> check 244 tools/halide_image_io.h check(false, "png not supported in this build\n"); check 253 tools/halide_image_io.h if (!check(im.channels() > 0 && im.channels() < 5, check 263 tools/halide_image_io.h if (!check(f.f != nullptr, "[write_png_file] File %s could not be opened for writing\n", filename.c_str())) return false; check 267 tools/halide_image_io.h if (!check(png_ptr != nullptr, "[write_png_file] png_create_write_struct failed\n")) return false; check 270 tools/halide_image_io.h if (!check(info_ptr != nullptr, "[write_png_file] png_create_info_struct failed\n")) return false; check 272 tools/halide_image_io.h if (!check(!setjmp(png_jmpbuf(png_ptr)), "[write_png_file] Error during init_io\n")) return false; check 282 tools/halide_image_io.h if (!check(!setjmp(png_jmpbuf(png_ptr)), "[write_png_file] Error during writing header\n")) return false; check 323 tools/halide_image_io.h if (!check(bit_depth == 8 || bit_depth == 16, "We only support saving 8- and 16-bit images.")) return false; check 328 tools/halide_image_io.h if (!check(!setjmp(png_jmpbuf(png_ptr)), "[write_png_file] Error during writing bytes")) return false; check 333 tools/halide_image_io.h if (!check(!setjmp(png_jmpbuf(png_ptr)), "[write_png_file] Error during end of write")) return false; check 343 tools/halide_image_io.h template<typename ImageType, Internal::CheckFunc check = Internal::CheckReturn> check 348 tools/halide_image_io.h if (!check(f.f != nullptr, "File %s could not be opened for reading\n", filename.c_str())) return false; check 356 tools/halide_image_io.h if (!check(sscanf(buf, "%255s", header) == 1, "Could not read PGM header\n")) return false; check 359 tools/halide_image_io.h if (!check(fmt_binary, "Input is not binary PGM\n")) return false; check 362 tools/halide_image_io.h if (!check(sscanf(buf, "%d %d\n", &width, &height) == 2, "Could not read PGM width and height\n")) return false; check 364 tools/halide_image_io.h if (!check(sscanf(buf, "%d", &maxval) == 1, "Could not read PGM max value\n")) return false; check 369 tools/halide_image_io.h else if (!check(false, "Invalid bit depth in PGM\n")) { return false; } check 377 tools/halide_image_io.h if (!check(fread((void *) &data[0], sizeof(uint8_t), width*height, f.f) == (size_t) (width*height), "Could not read PGM 8-bit data\n")) return false; check 388 tools/halide_image_io.h if (!check(fread((void *) &data[0], sizeof(uint16_t), width*height, f.f) == (size_t) (width*height), "Could not read PGM 16-bit data\n")) return false; check 406 tools/halide_image_io.h template<typename ImageType, Internal::CheckFunc check = Internal::CheckReturn> check 413 tools/halide_image_io.h if (!check(channel >= 0, "Selected channel %d not available in image\n", channel)) return false; check 414 tools/halide_image_io.h if (!check(channel < num_channels, "Selected channel %d not available in image\n", channel)) return false; check 416 tools/halide_image_io.h if (!check(f.f != nullptr, "File %s could not be opened for writing\n", filename.c_str())) return false; check 428 tools/halide_image_io.h if (!check(fwrite((void *) &data[0], sizeof(uint8_t), width*height, f.f) == (size_t) (width*height), "Could not write PGM 8-bit data\n")) return false; check 441 tools/halide_image_io.h if (!check(fwrite((void *) &data[0], sizeof(uint16_t), width*height, f.f) == (size_t) (width*height), "Could not write PGM 16-bit data\n")) return false; check 443 tools/halide_image_io.h return check(false, "We only support saving 8- and 16-bit images."); check 448 tools/halide_image_io.h template<typename ImageType, Internal::CheckFunc check = Internal::CheckReturn> check 453 tools/halide_image_io.h if (!check(f.f != nullptr, "File %s could not be opened for reading\n", filename.c_str())) return false; check 461 tools/halide_image_io.h if (!check(sscanf(buf, "%255s", header) == 1, "Could not read PPM header\n")) return false; check 464 tools/halide_image_io.h if (!check(fmt_binary, "Input is not binary PPM\n")) return false; check 467 tools/halide_image_io.h if (!check(sscanf(buf, "%d %d\n", &width, &height) == 2, "Could not read PPM width and height\n")) return false; check 469 tools/halide_image_io.h if (!check(sscanf(buf, "%d", &maxval) == 1, "Could not read PPM max value\n")) return false; check 474 tools/halide_image_io.h else if (!check(false, "Invalid bit depth in PPM\n")) { return false; } check 482 tools/halide_image_io.h if (!check(fread((void *) &data[0], sizeof(uint8_t), width*height*3, f.f) == (size_t) (width*height*3), "Could not read PPM 8-bit data\n")) return false; check 495 tools/halide_image_io.h if (!check(fread((void *) &data[0], sizeof(uint16_t), width*height*3, f.f) == (size_t) (width*height*3), "Could not read PPM 16-bit data\n")) return false; check 519 tools/halide_image_io.h template<typename ImageType, Internal::CheckFunc check = Internal::CheckReturn> check 521 tools/halide_image_io.h if (!check(im.channels() == 3, "save_ppm() requires a 3-channel image.\n")) { return false; } check 528 tools/halide_image_io.h if (!check(f.f != nullptr, "File %s could not be opened for writing\n", filename.c_str())) return false; check 553 tools/halide_image_io.h if (!check(fwrite((void *) &data[0], sizeof(uint8_t), width*height*3, f.f) == (size_t) (width*height*3), "Could not write PPM 8-bit data\n")) return false; check 586 tools/halide_image_io.h if (!check(fwrite((void *) &data[0], sizeof(uint16_t), width*height*3, f.f) == (size_t) (width*height*3), "Could not write PPM 16-bit data\n")) return false; check 588 tools/halide_image_io.h return check(false, "We only support saving 8- and 16-bit images."); check 593 tools/halide_image_io.h template<typename ImageType, Internal::CheckFunc check = Internal::CheckReturn> check 596 tools/halide_image_io.h check(false, "jpg not supported in this build\n"); check 606 tools/halide_image_io.h if (!check((im.dimensions() == 2 || check 621 tools/halide_image_io.h if (!check(f.f != nullptr, check 670 tools/halide_image_io.h template<typename ImageType, Internal::CheckFunc check = Internal::CheckReturn> check 673 tools/halide_image_io.h check(false, "jpg not supported in this build\n"); check 680 tools/halide_image_io.h if (!check(f.f != nullptr, check 725 tools/halide_image_io.h template<typename ImageType, Internal::CheckFunc check = Internal::CheckReturn> check 728 tools/halide_image_io.h return load_png<ImageType, check>(filename, im); check 731 tools/halide_image_io.h return load_jpg<ImageType, check>(filename, im); check 733 tools/halide_image_io.h return load_pgm<ImageType, check>(filename, im); check 735 tools/halide_image_io.h return load_ppm<ImageType, check>(filename, im); check 737 tools/halide_image_io.h return check(false, "[load] unsupported file extension (png|jpg|pgm|ppm supported)"); check 741 tools/halide_image_io.h template<typename ImageType, Internal::CheckFunc check = Internal::CheckReturn> check 744 tools/halide_image_io.h return save_png<ImageType, check>(im, filename); check 747 tools/halide_image_io.h return save_jpg<ImageType, check>(im, filename); check 749 tools/halide_image_io.h return save_pgm<ImageType, check>(im, filename); check 751 tools/halide_image_io.h return save_ppm<ImageType, check>(im, filename); check 753 tools/halide_image_io.h return check(false, "[save] unsupported file extension (png|jpg|pgm|ppm supported)");