authorgravatar for jacobly@ziglang.orgJacob Young <jacobly@ziglang.org> 2025-01-30 22:06:18-05:00
committergravatar for jacobly@ziglang.orgJacob Young <jacobly@ziglang.org> 2025-01-31 23:09:36-05:00
logf0ac14ce97c4fa7f10ddd0d74a6dfade0a04cbc1
tree62c0e3cfebfb19f775063ba354e2870b7c282e34
parentb9531f5de6a36d016a551be68080a314b90eb154

x86_64: rewrite scalar `@intCast`


2 files changed, 2618 insertions(+), 2787 deletions(-)

src/arch/x86_64/CodeGen.zig+1074-396
...@@ -2499,7 +2499,6 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -2499,7 +2499,6 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2499 .cmp_lt_errors_len => try cg.airCmpLtErrorsLen(inst),2499 .cmp_lt_errors_len => try cg.airCmpLtErrorsLen(inst),
25002500
2501 .bitcast => try cg.airBitCast(inst),2501 .bitcast => try cg.airBitCast(inst),
2502 .intcast => try cg.airIntCast(inst),
2503 .trunc => try cg.airTrunc(inst),2502 .trunc => try cg.airTrunc(inst),
2504 .is_non_null => try cg.airIsNonNull(inst),2503 .is_non_null => try cg.airIsNonNull(inst),
2505 .is_null => try cg.airIsNull(inst),2504 .is_null => try cg.airIsNull(inst),
...@@ -2589,7 +2588,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -2589,7 +2588,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2589 },2588 },
2590 .dst_temps = .{.{ .rc = .general_purpose }},2589 .dst_temps = .{.{ .rc = .general_purpose }},
2591 .each = .{ .once = &.{2590 .each = .{ .once = &.{
2592 .{ ._, ._, .lea, .dst0p, .leaa(.none, .src0, .add_src0_elem_size_times_src1), ._, ._ },2591 .{ ._, ._, .lea, .dst0p, .leaa(.src0, .add_src0_elem_size_times_src1), ._, ._ },
2593 } },2592 } },
2594 }, .{2593 }, .{
2595 .dst_constraints = .{.{ .elem_size_is = 1 }},2594 .dst_constraints = .{.{ .elem_size_is = 1 }},
...@@ -2598,7 +2597,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -2598,7 +2597,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2598 },2597 },
2599 .dst_temps = .{.{ .rc = .general_purpose }},2598 .dst_temps = .{.{ .rc = .general_purpose }},
2600 .each = .{ .once = &.{2599 .each = .{ .once = &.{
2601 .{ ._, ._, .lea, .dst0p, .leai(.none, .src0, .src1), ._, ._ },2600 .{ ._, ._, .lea, .dst0p, .leai(.src0, .src1), ._, ._ },
2602 } },2601 } },
2603 }, .{2602 }, .{
2604 .dst_constraints = .{.{ .elem_size_is = 2 }},2603 .dst_constraints = .{.{ .elem_size_is = 2 }},
...@@ -2607,7 +2606,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -2607,7 +2606,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2607 },2606 },
2608 .dst_temps = .{.{ .rc = .general_purpose }},2607 .dst_temps = .{.{ .rc = .general_purpose }},
2609 .each = .{ .once = &.{2608 .each = .{ .once = &.{
2610 .{ ._, ._, .lea, .dst0p, .leasi(.none, .src0, .@"2", .src1), ._, ._ },2609 .{ ._, ._, .lea, .dst0p, .leasi(.src0, .@"2", .src1), ._, ._ },
2611 } },2610 } },
2612 }, .{2611 }, .{
2613 .dst_constraints = .{.{ .elem_size_is = 2 + 1 }},2612 .dst_constraints = .{.{ .elem_size_is = 2 + 1 }},
...@@ -2616,8 +2615,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -2616,8 +2615,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2616 },2615 },
2617 .dst_temps = .{.{ .rc = .general_purpose }},2616 .dst_temps = .{.{ .rc = .general_purpose }},
2618 .each = .{ .once = &.{2617 .each = .{ .once = &.{
2619 .{ ._, ._, .lea, .dst0p, .leasi(.none, .src1, .@"2", .src1), ._, ._ },2618 .{ ._, ._, .lea, .dst0p, .leasi(.src1, .@"2", .src1), ._, ._ },
2620 .{ ._, ._, .lea, .dst0p, .leai(.none, .src0, .dst0), ._, ._ },2619 .{ ._, ._, .lea, .dst0p, .leai(.src0, .dst0), ._, ._ },
2621 } },2620 } },
2622 }, .{2621 }, .{
2623 .dst_constraints = .{.{ .elem_size_is = 4 }},2622 .dst_constraints = .{.{ .elem_size_is = 4 }},
...@@ -2626,7 +2625,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -2626,7 +2625,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2626 },2625 },
2627 .dst_temps = .{.{ .rc = .general_purpose }},2626 .dst_temps = .{.{ .rc = .general_purpose }},
2628 .each = .{ .once = &.{2627 .each = .{ .once = &.{
2629 .{ ._, ._, .lea, .dst0p, .leasi(.none, .src0, .@"4", .src1), ._, ._ },2628 .{ ._, ._, .lea, .dst0p, .leasi(.src0, .@"4", .src1), ._, ._ },
2630 } },2629 } },
2631 }, .{2630 }, .{
2632 .dst_constraints = .{.{ .elem_size_is = 4 + 1 }},2631 .dst_constraints = .{.{ .elem_size_is = 4 + 1 }},
...@@ -2635,8 +2634,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -2635,8 +2634,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2635 },2634 },
2636 .dst_temps = .{.{ .ref = .src1 }},2635 .dst_temps = .{.{ .ref = .src1 }},
2637 .each = .{ .once = &.{2636 .each = .{ .once = &.{
2638 .{ ._, ._, .lea, .dst0p, .leasi(.none, .src1, .@"4", .src1), ._, ._ },2637 .{ ._, ._, .lea, .dst0p, .leasi(.src1, .@"4", .src1), ._, ._ },
2639 .{ ._, ._, .lea, .dst0p, .leai(.none, .src0, .dst0), ._, ._ },2638 .{ ._, ._, .lea, .dst0p, .leai(.src0, .dst0), ._, ._ },
2640 } },2639 } },
2641 }, .{2640 }, .{
2642 .required_features = .{ .@"64bit", null, null, null },2641 .required_features = .{ .@"64bit", null, null, null },
...@@ -2646,7 +2645,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -2646,7 +2645,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2646 },2645 },
2647 .dst_temps = .{.{ .rc = .general_purpose }},2646 .dst_temps = .{.{ .rc = .general_purpose }},
2648 .each = .{ .once = &.{2647 .each = .{ .once = &.{
2649 .{ ._, ._, .lea, .dst0p, .leasi(.none, .src0, .@"8", .src1), ._, ._ },2648 .{ ._, ._, .lea, .dst0p, .leasi(.src0, .@"8", .src1), ._, ._ },
2650 } },2649 } },
2651 }, .{2650 }, .{
2652 .required_features = .{ .@"64bit", null, null, null },2651 .required_features = .{ .@"64bit", null, null, null },
...@@ -2656,8 +2655,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -2656,8 +2655,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2656 },2655 },
2657 .dst_temps = .{.{ .ref = .src1 }},2656 .dst_temps = .{.{ .ref = .src1 }},
2658 .each = .{ .once = &.{2657 .each = .{ .once = &.{
2659 .{ ._, ._, .lea, .dst0p, .leasi(.none, .src1, .@"8", .src1), ._, ._ },2658 .{ ._, ._, .lea, .dst0p, .leasi(.src1, .@"8", .src1), ._, ._ },
2660 .{ ._, ._, .lea, .dst0p, .leai(.none, .src0, .dst0), ._, ._ },2659 .{ ._, ._, .lea, .dst0p, .leai(.src0, .dst0), ._, ._ },
2661 } },2660 } },
2662 }, .{2661 }, .{
2663 .dst_constraints = .{.po2_elem_size},2662 .dst_constraints = .{.po2_elem_size},
...@@ -2668,7 +2667,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -2668,7 +2667,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2668 .clobbers = .{ .eflags = true },2667 .clobbers = .{ .eflags = true },
2669 .each = .{ .once = &.{2668 .each = .{ .once = &.{
2670 .{ ._, ._l, .sh, .src1p, .sa(.none, .add_log2_src0_elem_size), ._, ._ },2669 .{ ._, ._l, .sh, .src1p, .sa(.none, .add_log2_src0_elem_size), ._, ._ },
2671 .{ ._, ._, .lea, .dst0p, .leai(.none, .src0, .src1), ._, ._ },2670 .{ ._, ._, .lea, .dst0p, .leai(.src0, .src1), ._, ._ },
2672 } },2671 } },
2673 }, .{2672 }, .{
2674 .patterns = &.{2673 .patterns = &.{
...@@ -2678,7 +2677,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -2678,7 +2677,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2678 .clobbers = .{ .eflags = true },2677 .clobbers = .{ .eflags = true },
2679 .each = .{ .once = &.{2678 .each = .{ .once = &.{
2680 .{ ._, .i_, .mul, .dst0p, .src1p, .sa(.none, .add_src0_elem_size), ._ },2679 .{ ._, .i_, .mul, .dst0p, .src1p, .sa(.none, .add_src0_elem_size), ._ },
2681 .{ ._, ._, .lea, .dst0p, .leai(.none, .src0, .dst0), ._, ._ },2680 .{ ._, ._, .lea, .dst0p, .leai(.src0, .dst0), ._, ._ },
2682 } },2681 } },
2683 } }) catch |err| switch (err) {2682 } }) catch |err| switch (err) {
2684 error.SelectFailed => return cg.fail("failed to select {s} {} {} {}", .{2683 error.SelectFailed => return cg.fail("failed to select {s} {} {} {}", .{
...@@ -2705,7 +2704,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -2705,7 +2704,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2705 },2704 },
2706 .dst_temps = .{.{ .rc = .general_purpose }},2705 .dst_temps = .{.{ .rc = .general_purpose }},
2707 .each = .{ .once = &.{2706 .each = .{ .once = &.{
2708 .{ ._, ._, .lea, .dst0p, .leaa(.none, .src0, .sub_src0_elem_size_times_src1), ._, ._ },2707 .{ ._, ._, .lea, .dst0p, .leaa(.src0, .sub_src0_elem_size_times_src1), ._, ._ },
2709 } },2708 } },
2710 }, .{2709 }, .{
2711 .dst_constraints = .{.{ .elem_size_is = 1 }},2710 .dst_constraints = .{.{ .elem_size_is = 1 }},
...@@ -2716,7 +2715,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -2716,7 +2715,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2716 .clobbers = .{ .eflags = true },2715 .clobbers = .{ .eflags = true },
2717 .each = .{ .once = &.{2716 .each = .{ .once = &.{
2718 .{ ._, ._, .neg, .src1p, ._, ._, ._ },2717 .{ ._, ._, .neg, .src1p, ._, ._, ._ },
2719 .{ ._, ._, .lea, .dst0p, .leai(.none, .src0, .src1), ._, ._ },2718 .{ ._, ._, .lea, .dst0p, .leai(.src0, .src1), ._, ._ },
2720 } },2719 } },
2721 }, .{2720 }, .{
2722 .dst_constraints = .{.{ .elem_size_is = 2 }},2721 .dst_constraints = .{.{ .elem_size_is = 2 }},
...@@ -2727,7 +2726,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -2727,7 +2726,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2727 .clobbers = .{ .eflags = true },2726 .clobbers = .{ .eflags = true },
2728 .each = .{ .once = &.{2727 .each = .{ .once = &.{
2729 .{ ._, ._, .neg, .src1p, ._, ._, ._ },2728 .{ ._, ._, .neg, .src1p, ._, ._, ._ },
2730 .{ ._, ._, .lea, .dst0p, .leasi(.none, .src0, .@"2", .src1), ._, ._ },2729 .{ ._, ._, .lea, .dst0p, .leasi(.src0, .@"2", .src1), ._, ._ },
2731 } },2730 } },
2732 }, .{2731 }, .{
2733 .dst_constraints = .{.{ .elem_size_is = 2 + 1 }},2732 .dst_constraints = .{.{ .elem_size_is = 2 + 1 }},
...@@ -2737,9 +2736,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -2737,9 +2736,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2737 .dst_temps = .{.{ .rc = .general_purpose }},2736 .dst_temps = .{.{ .rc = .general_purpose }},
2738 .clobbers = .{ .eflags = true },2737 .clobbers = .{ .eflags = true },
2739 .each = .{ .once = &.{2738 .each = .{ .once = &.{
2740 .{ ._, ._, .lea, .dst0p, .leasi(.none, .src1, .@"2", .src1), ._, ._ },2739 .{ ._, ._, .lea, .dst0p, .leasi(.src1, .@"2", .src1), ._, ._ },
2741 .{ ._, ._, .neg, .dst0p, ._, ._, ._ },2740 .{ ._, ._, .neg, .dst0p, ._, ._, ._ },
2742 .{ ._, ._, .lea, .dst0p, .leai(.none, .src0, .dst0), ._, ._ },2741 .{ ._, ._, .lea, .dst0p, .leai(.src0, .dst0), ._, ._ },
2743 } },2742 } },
2744 }, .{2743 }, .{
2745 .dst_constraints = .{.{ .elem_size_is = 4 }},2744 .dst_constraints = .{.{ .elem_size_is = 4 }},
...@@ -2750,7 +2749,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -2750,7 +2749,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2750 .clobbers = .{ .eflags = true },2749 .clobbers = .{ .eflags = true },
2751 .each = .{ .once = &.{2750 .each = .{ .once = &.{
2752 .{ ._, ._, .neg, .src1p, ._, ._, ._ },2751 .{ ._, ._, .neg, .src1p, ._, ._, ._ },
2753 .{ ._, ._, .lea, .dst0p, .leasi(.none, .src0, .@"4", .src1), ._, ._ },2752 .{ ._, ._, .lea, .dst0p, .leasi(.src0, .@"4", .src1), ._, ._ },
2754 } },2753 } },
2755 }, .{2754 }, .{
2756 .dst_constraints = .{.{ .elem_size_is = 4 + 1 }},2755 .dst_constraints = .{.{ .elem_size_is = 4 + 1 }},
...@@ -2760,9 +2759,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -2760,9 +2759,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2760 .dst_temps = .{.{ .rc = .general_purpose }},2759 .dst_temps = .{.{ .rc = .general_purpose }},
2761 .clobbers = .{ .eflags = true },2760 .clobbers = .{ .eflags = true },
2762 .each = .{ .once = &.{2761 .each = .{ .once = &.{
2763 .{ ._, ._, .lea, .dst0p, .leasi(.none, .src1, .@"4", .src1), ._, ._ },2762 .{ ._, ._, .lea, .dst0p, .leasi(.src1, .@"4", .src1), ._, ._ },
2764 .{ ._, ._, .neg, .dst0p, ._, ._, ._ },2763 .{ ._, ._, .neg, .dst0p, ._, ._, ._ },
2765 .{ ._, ._, .lea, .dst0p, .leai(.none, .src0, .dst0), ._, ._ },2764 .{ ._, ._, .lea, .dst0p, .leai(.src0, .dst0), ._, ._ },
2766 } },2765 } },
2767 }, .{2766 }, .{
2768 .required_features = .{ .@"64bit", null, null, null },2767 .required_features = .{ .@"64bit", null, null, null },
...@@ -2774,7 +2773,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -2774,7 +2773,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2774 .clobbers = .{ .eflags = true },2773 .clobbers = .{ .eflags = true },
2775 .each = .{ .once = &.{2774 .each = .{ .once = &.{
2776 .{ ._, ._, .neg, .src1p, ._, ._, ._ },2775 .{ ._, ._, .neg, .src1p, ._, ._, ._ },
2777 .{ ._, ._, .lea, .dst0p, .leasi(.none, .src0, .@"8", .src1), ._, ._ },2776 .{ ._, ._, .lea, .dst0p, .leasi(.src0, .@"8", .src1), ._, ._ },
2778 } },2777 } },
2779 }, .{2778 }, .{
2780 .required_features = .{ .@"64bit", null, null, null },2779 .required_features = .{ .@"64bit", null, null, null },
...@@ -2785,9 +2784,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -2785,9 +2784,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2785 .dst_temps = .{.{ .rc = .general_purpose }},2784 .dst_temps = .{.{ .rc = .general_purpose }},
2786 .clobbers = .{ .eflags = true },2785 .clobbers = .{ .eflags = true },
2787 .each = .{ .once = &.{2786 .each = .{ .once = &.{
2788 .{ ._, ._, .lea, .dst0p, .leasi(.none, .src1, .@"8", .src1), ._, ._ },2787 .{ ._, ._, .lea, .dst0p, .leasi(.src1, .@"8", .src1), ._, ._ },
2789 .{ ._, ._, .neg, .dst0p, ._, ._, ._ },2788 .{ ._, ._, .neg, .dst0p, ._, ._, ._ },
2790 .{ ._, ._, .lea, .dst0p, .leai(.none, .src0, .dst0), ._, ._ },2789 .{ ._, ._, .lea, .dst0p, .leai(.src0, .dst0), ._, ._ },
2791 } },2790 } },
2792 }, .{2791 }, .{
2793 .dst_constraints = .{.po2_elem_size},2792 .dst_constraints = .{.po2_elem_size},
...@@ -2799,7 +2798,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -2799,7 +2798,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2799 .each = .{ .once = &.{2798 .each = .{ .once = &.{
2800 .{ ._, ._l, .sa, .src1p, .sa(.none, .add_log2_src0_elem_size), ._, ._ },2799 .{ ._, ._l, .sa, .src1p, .sa(.none, .add_log2_src0_elem_size), ._, ._ },
2801 .{ ._, ._, .neg, .src1p, ._, ._, ._ },2800 .{ ._, ._, .neg, .src1p, ._, ._, ._ },
2802 .{ ._, ._, .lea, .dst0p, .leai(.none, .src0, .src1), ._, ._ },2801 .{ ._, ._, .lea, .dst0p, .leai(.src0, .src1), ._, ._ },
2803 } },2802 } },
2804 }, .{2803 }, .{
2805 .patterns = &.{2804 .patterns = &.{
...@@ -2809,7 +2808,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -2809,7 +2808,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2809 .clobbers = .{ .eflags = true },2808 .clobbers = .{ .eflags = true },
2810 .each = .{ .once = &.{2809 .each = .{ .once = &.{
2811 .{ ._, .i_, .mul, .dst0p, .src1p, .sa(.none, .sub_src0_elem_size), ._ },2810 .{ ._, .i_, .mul, .dst0p, .src1p, .sa(.none, .sub_src0_elem_size), ._ },
2812 .{ ._, ._, .lea, .dst0p, .leai(.none, .src0, .dst0), ._, ._ },2811 .{ ._, ._, .lea, .dst0p, .leai(.src0, .dst0), ._, ._ },
2813 } },2812 } },
2814 } }) catch |err| switch (err) {2813 } }) catch |err| switch (err) {
2815 error.SelectFailed => return cg.fail("failed to select {s} {} {} {}", .{2814 error.SelectFailed => return cg.fail("failed to select {s} {} {} {}", .{
...@@ -4540,7 +4539,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -4540,7 +4539,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4540 .dst_temps = .{.{ .rc = .sse }},4539 .dst_temps = .{.{ .rc = .sse }},
4541 .each = .{ .once = &.{4540 .each = .{ .once = &.{
4542 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },4541 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
4543 .{ ._, ._dqa, .mov, .dst0x, .lea(.xword, .tmp0), ._, ._ },4542 .{ ._, ._dqa, .mov, .dst0x, .lea(.tmp0x), ._, ._ },
4544 .{ ._, ._dqa, .mov, .tmp2x, .dst0x, ._, ._ },4543 .{ ._, ._dqa, .mov, .tmp2x, .dst0x, ._, ._ },
4545 .{ ._, .p_, .xor, .dst0x, .src0x, ._, ._ },4544 .{ ._, .p_, .xor, .dst0x, .src0x, ._, ._ },
4546 .{ ._, .p_, .xor, .tmp2x, .src1x, ._, ._ },4545 .{ ._, .p_, .xor, .tmp2x, .src1x, ._, ._ },
...@@ -4678,7 +4677,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -4678,7 +4677,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4678 .clobbers = .{ .eflags = true },4677 .clobbers = .{ .eflags = true },
4679 .each = .{ .once = &.{4678 .each = .{ .once = &.{
4680 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },4679 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
4681 .{ ._, ._dqa, .mov, .tmp2x, .lea(.xword, .tmp0), ._, ._ },4680 .{ ._, ._dqa, .mov, .tmp2x, .lea(.tmp0x), ._, ._ },
4682 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },4681 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
4683 .{ .@"0:", ._dqa, .mov, .tmp3x, .memia(.src0x, .tmp0, .add_size), ._, ._ },4682 .{ .@"0:", ._dqa, .mov, .tmp3x, .memia(.src0x, .tmp0, .add_size), ._, ._ },
4684 .{ ._, ._dqa, .mov, .tmp4x, .memia(.src1x, .tmp0, .add_size), ._, ._ },4683 .{ ._, ._dqa, .mov, .tmp4x, .memia(.src1x, .tmp0, .add_size), ._, ._ },
...@@ -4997,7 +4996,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -4997,7 +4996,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
4997 .dst_temps = .{.{ .rc = .sse }},4996 .dst_temps = .{.{ .rc = .sse }},
4998 .each = .{ .once = &.{4997 .each = .{ .once = &.{
4999 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },4998 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
5000 .{ ._, .v_, .movddup, .tmp2x, .lea(.qword, .tmp0), ._, ._ },4999 .{ ._, .v_, .movddup, .tmp2x, .lea(.tmp0q), ._, ._ },
5001 .{ ._, .vp_, .xor, .dst0x, .tmp2x, .src0x, ._ },5000 .{ ._, .vp_, .xor, .dst0x, .tmp2x, .src0x, ._ },
5002 .{ ._, .vp_, .xor, .tmp2x, .tmp2x, .src1x, ._ },5001 .{ ._, .vp_, .xor, .tmp2x, .tmp2x, .src1x, ._ },
5003 .{ ._, .vp_q, .cmpgt, .dst0x, .tmp2x, .dst0x, ._ },5002 .{ ._, .vp_q, .cmpgt, .dst0x, .tmp2x, .dst0x, ._ },
...@@ -5028,7 +5027,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -5028,7 +5027,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5028 .dst_temps = .{.{ .ref = .src0 }},5027 .dst_temps = .{.{ .ref = .src0 }},
5029 .each = .{ .once = &.{5028 .each = .{ .once = &.{
5030 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },5029 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
5031 .{ ._, ._, .movddup, .tmp2x, .lea(.qword, .tmp0), ._, ._ },5030 .{ ._, ._, .movddup, .tmp2x, .lea(.tmp0q), ._, ._ },
5032 .{ ._, ._dqa, .mov, .tmp3x, .tmp2x, ._, ._ },5031 .{ ._, ._dqa, .mov, .tmp3x, .tmp2x, ._, ._ },
5033 .{ ._, .p_, .xor, .tmp2x, .src0x, ._, ._ },5032 .{ ._, .p_, .xor, .tmp2x, .src0x, ._, ._ },
5034 .{ ._, .p_, .xor, .tmp3x, .src1x, ._, ._ },5033 .{ ._, .p_, .xor, .tmp3x, .src1x, ._, ._ },
...@@ -5060,7 +5059,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -5060,7 +5059,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5060 .dst_temps = .{.{ .rc = .sse }},5059 .dst_temps = .{.{ .rc = .sse }},
5061 .each = .{ .once = &.{5060 .each = .{ .once = &.{
5062 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },5061 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
5063 .{ ._, .vp_q, .broadcast, .tmp2y, .lea(.qword, .tmp0), ._, ._ },5062 .{ ._, .vp_q, .broadcast, .tmp2y, .lea(.tmp0q), ._, ._ },
5064 .{ ._, .vp_, .xor, .dst0y, .tmp2y, .src0y, ._ },5063 .{ ._, .vp_, .xor, .dst0y, .tmp2y, .src0y, ._ },
5065 .{ ._, .vp_, .xor, .tmp2y, .tmp2y, .src1y, ._ },5064 .{ ._, .vp_, .xor, .tmp2y, .tmp2y, .src1y, ._ },
5066 .{ ._, .vp_q, .cmpgt, .dst0y, .tmp2y, .dst0y, ._ },5065 .{ ._, .vp_q, .cmpgt, .dst0y, .tmp2y, .dst0y, ._ },
...@@ -5090,7 +5089,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -5090,7 +5089,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5090 .clobbers = .{ .eflags = true },5089 .clobbers = .{ .eflags = true },
5091 .each = .{ .once = &.{5090 .each = .{ .once = &.{
5092 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },5091 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
5093 .{ ._, .vp_q, .broadcast, .tmp2y, .lea(.qword, .tmp0), ._, ._ },5092 .{ ._, .vp_q, .broadcast, .tmp2y, .lea(.tmp0q), ._, ._ },
5094 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },5093 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
5095 .{ .@"0:", .v_dqa, .mov, .tmp3y, .memia(.src0y, .tmp0, .add_size), ._, ._ },5094 .{ .@"0:", .v_dqa, .mov, .tmp3y, .memia(.src0y, .tmp0, .add_size), ._, ._ },
5096 .{ ._, .v_dqa, .mov, .tmp4y, .memia(.src1y, .tmp0, .add_size), ._, ._ },5095 .{ ._, .v_dqa, .mov, .tmp4y, .memia(.src1y, .tmp0, .add_size), ._, ._ },
...@@ -5126,7 +5125,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -5126,7 +5125,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5126 .clobbers = .{ .eflags = true },5125 .clobbers = .{ .eflags = true },
5127 .each = .{ .once = &.{5126 .each = .{ .once = &.{
5128 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },5127 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
5129 .{ ._, .v_, .movddup, .tmp2x, .lea(.qword, .tmp0), ._, ._ },5128 .{ ._, .v_, .movddup, .tmp2x, .lea(.tmp0q), ._, ._ },
5130 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },5129 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
5131 .{ .@"0:", .v_dqa, .mov, .tmp3x, .memia(.src0x, .tmp0, .add_size), ._, ._ },5130 .{ .@"0:", .v_dqa, .mov, .tmp3x, .memia(.src0x, .tmp0, .add_size), ._, ._ },
5132 .{ ._, .v_dqa, .mov, .tmp4x, .memia(.src1x, .tmp0, .add_size), ._, ._ },5131 .{ ._, .v_dqa, .mov, .tmp4x, .memia(.src1x, .tmp0, .add_size), ._, ._ },
...@@ -5162,7 +5161,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -5162,7 +5161,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5162 .clobbers = .{ .eflags = true },5161 .clobbers = .{ .eflags = true },
5163 .each = .{ .once = &.{5162 .each = .{ .once = &.{
5164 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },5163 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
5165 .{ ._, ._, .movddup, .tmp2x, .lea(.qword, .tmp0), ._, ._ },5164 .{ ._, ._, .movddup, .tmp2x, .lea(.tmp0q), ._, ._ },
5166 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },5165 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
5167 .{ .@"0:", ._dqa, .mov, .tmp5x, .tmp2x, ._, ._ },5166 .{ .@"0:", ._dqa, .mov, .tmp5x, .tmp2x, ._, ._ },
5168 .{ ._, ._dqa, .mov, .tmp6x, .tmp2x, ._, ._ },5167 .{ ._, ._dqa, .mov, .tmp6x, .tmp2x, ._, ._ },
...@@ -5264,7 +5263,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -5264,7 +5263,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5264 .{ ._, ._c, .cl, ._, ._, ._, ._ },5263 .{ ._, ._c, .cl, ._, ._, ._, ._ },
5265 .{ .@"1:", ._, .mov, .tmp2q, .memia(.src0q, .tmp0, .add_size), ._, ._ },5264 .{ .@"1:", ._, .mov, .tmp2q, .memia(.src0q, .tmp0, .add_size), ._, ._ },
5266 .{ ._, ._, .sbb, .tmp2q, .memia(.src1q, .tmp0, .add_size), ._, ._ },5265 .{ ._, ._, .sbb, .tmp2q, .memia(.src1q, .tmp0, .add_size), ._, ._ },
5267 .{ ._, ._, .lea, .tmp0p, .lead(.none, .tmp0, 8), ._, ._ },5266 .{ ._, ._, .lea, .tmp0p, .lead(.tmp0, 8), ._, ._ },
5268 .{ ._, ._c, .de, .tmp1d, ._, ._, ._ },5267 .{ ._, ._c, .de, .tmp1d, ._, ._, ._ },
5269 .{ ._, ._nz, .j, .@"1b", ._, ._, ._ },5268 .{ ._, ._nz, .j, .@"1b", ._, ._, ._ },
5270 .{ ._, ._, .mov, .tmp2q, .memia(.src0q, .tmp0, .add_size), ._, ._ },5269 .{ ._, ._, .mov, .tmp2q, .memia(.src0q, .tmp0, .add_size), ._, ._ },
...@@ -5303,7 +5302,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -5303,7 +5302,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5303 .{ ._, ._c, .cl, ._, ._, ._, ._ },5302 .{ ._, ._c, .cl, ._, ._, ._, ._ },
5304 .{ .@"1:", ._, .mov, .tmp2q, .memia(.src0q, .tmp0, .add_size), ._, ._ },5303 .{ .@"1:", ._, .mov, .tmp2q, .memia(.src0q, .tmp0, .add_size), ._, ._ },
5305 .{ ._, ._, .sbb, .tmp2q, .memia(.src1q, .tmp0, .add_size), ._, ._ },5304 .{ ._, ._, .sbb, .tmp2q, .memia(.src1q, .tmp0, .add_size), ._, ._ },
5306 .{ ._, ._, .lea, .tmp0p, .lead(.none, .tmp0, 8), ._, ._ },5305 .{ ._, ._, .lea, .tmp0p, .lead(.tmp0, 8), ._, ._ },
5307 .{ ._, ._c, .de, .tmp1d, ._, ._, ._ },5306 .{ ._, ._c, .de, .tmp1d, ._, ._, ._ },
5308 .{ ._, ._nz, .j, .@"1b", ._, ._, ._ },5307 .{ ._, ._nz, .j, .@"1b", ._, ._, ._ },
5309 .{ ._, ._, .mov, .tmp2q, .memia(.src0q, .tmp0, .add_size), ._, ._ },5308 .{ ._, ._, .mov, .tmp2q, .memia(.src0q, .tmp0, .add_size), ._, ._ },
...@@ -5342,7 +5341,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -5342,7 +5341,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5342 .{ ._, ._c, .cl, ._, ._, ._, ._ },5341 .{ ._, ._c, .cl, ._, ._, ._, ._ },
5343 .{ .@"1:", ._, .mov, .tmp2q, .memia(.src0q, .tmp0, .add_size), ._, ._ },5342 .{ .@"1:", ._, .mov, .tmp2q, .memia(.src0q, .tmp0, .add_size), ._, ._ },
5344 .{ ._, ._, .sbb, .tmp2q, .memia(.src1q, .tmp0, .add_size), ._, ._ },5343 .{ ._, ._, .sbb, .tmp2q, .memia(.src1q, .tmp0, .add_size), ._, ._ },
5345 .{ ._, ._, .lea, .tmp0p, .lead(.none, .tmp0, 8), ._, ._ },5344 .{ ._, ._, .lea, .tmp0p, .lead(.tmp0, 8), ._, ._ },
5346 .{ ._, ._c, .de, .tmp1d, ._, ._, ._ },5345 .{ ._, ._c, .de, .tmp1d, ._, ._, ._ },
5347 .{ ._, ._nz, .j, .@"1b", ._, ._, ._ },5346 .{ ._, ._nz, .j, .@"1b", ._, ._, ._ },
5348 .{ ._, ._, .lea, .tmp1p, .memia(.src0, .tmp0, .add_size_sub_elem_size), ._, ._ },5347 .{ ._, ._, .lea, .tmp1p, .memia(.src0, .tmp0, .add_size_sub_elem_size), ._, ._ },
...@@ -5379,7 +5378,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -5379,7 +5378,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
5379 .{ ._, ._c, .cl, ._, ._, ._, ._ },5378 .{ ._, ._c, .cl, ._, ._, ._, ._ },
5380 .{ .@"1:", ._, .mov, .tmp2q, .memia(.src0q, .tmp0, .add_size), ._, ._ },5379 .{ .@"1:", ._, .mov, .tmp2q, .memia(.src0q, .tmp0, .add_size), ._, ._ },
5381 .{ ._, ._, .sbb, .tmp2q, .memia(.src1q, .tmp0, .add_size), ._, ._ },5380 .{ ._, ._, .sbb, .tmp2q, .memia(.src1q, .tmp0, .add_size), ._, ._ },
5382 .{ ._, ._, .lea, .tmp0p, .lead(.none, .tmp0, 8), ._, ._ },5381 .{ ._, ._, .lea, .tmp0p, .lead(.tmp0, 8), ._, ._ },
5383 .{ ._, ._c, .de, .tmp1d, ._, ._, ._ },5382 .{ ._, ._c, .de, .tmp1d, ._, ._, ._ },
5384 .{ ._, ._nz, .j, .@"1b", ._, ._, ._ },5383 .{ ._, ._nz, .j, .@"1b", ._, ._, ._ },
5385 .{ ._, ._, .lea, .tmp1p, .memia(.src0, .tmp0, .add_size_sub_elem_size), ._, ._ },5384 .{ ._, ._, .lea, .tmp1p, .memia(.src0, .tmp0, .add_size_sub_elem_size), ._, ._ },
...@@ -8380,7 +8379,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -8380,7 +8379,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
8380 .dst_temps = .{.{ .rc = .sse }},8379 .dst_temps = .{.{ .rc = .sse }},
8381 .each = .{ .once = &.{8380 .each = .{ .once = &.{
8382 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },8381 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
8383 .{ ._, ._dqa, .mov, .dst0x, .lea(.xword, .tmp0), ._, ._ },8382 .{ ._, ._dqa, .mov, .dst0x, .lea(.tmp0x), ._, ._ },
8384 .{ ._, ._dqa, .mov, .tmp2x, .dst0x, ._, ._ },8383 .{ ._, ._dqa, .mov, .tmp2x, .dst0x, ._, ._ },
8385 .{ ._, .p_, .xor, .dst0x, .src1x, ._, ._ },8384 .{ ._, .p_, .xor, .dst0x, .src1x, ._, ._ },
8386 .{ ._, .p_, .xor, .tmp2x, .src0x, ._, ._ },8385 .{ ._, .p_, .xor, .tmp2x, .src0x, ._, ._ },
...@@ -8518,7 +8517,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -8518,7 +8517,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
8518 .clobbers = .{ .eflags = true },8517 .clobbers = .{ .eflags = true },
8519 .each = .{ .once = &.{8518 .each = .{ .once = &.{
8520 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },8519 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
8521 .{ ._, ._dqa, .mov, .tmp2x, .lea(.xword, .tmp0), ._, ._ },8520 .{ ._, ._dqa, .mov, .tmp2x, .lea(.tmp0x), ._, ._ },
8522 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },8521 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
8523 .{ .@"0:", ._dqa, .mov, .tmp3x, .memia(.src0x, .tmp0, .add_size), ._, ._ },8522 .{ .@"0:", ._dqa, .mov, .tmp3x, .memia(.src0x, .tmp0, .add_size), ._, ._ },
8524 .{ ._, ._dqa, .mov, .tmp4x, .memia(.src1x, .tmp0, .add_size), ._, ._ },8523 .{ ._, ._dqa, .mov, .tmp4x, .memia(.src1x, .tmp0, .add_size), ._, ._ },
...@@ -8841,7 +8840,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -8841,7 +8840,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
8841 .dst_temps = .{.{ .rc = .sse }},8840 .dst_temps = .{.{ .rc = .sse }},
8842 .each = .{ .once = &.{8841 .each = .{ .once = &.{
8843 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },8842 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
8844 .{ ._, .v_, .movddup, .tmp2x, .lea(.qword, .tmp0), ._, ._ },8843 .{ ._, .v_, .movddup, .tmp2x, .lea(.tmp0q), ._, ._ },
8845 .{ ._, .vp_, .xor, .dst0x, .tmp2x, .src0x, ._ },8844 .{ ._, .vp_, .xor, .dst0x, .tmp2x, .src0x, ._ },
8846 .{ ._, .vp_, .xor, .tmp2x, .tmp2x, .src1x, ._ },8845 .{ ._, .vp_, .xor, .tmp2x, .tmp2x, .src1x, ._ },
8847 .{ ._, .vp_q, .cmpgt, .dst0x, .dst0x, .tmp2x, ._ },8846 .{ ._, .vp_q, .cmpgt, .dst0x, .dst0x, .tmp2x, ._ },
...@@ -8872,7 +8871,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -8872,7 +8871,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
8872 .dst_temps = .{.{ .ref = .src0 }},8871 .dst_temps = .{.{ .ref = .src0 }},
8873 .each = .{ .once = &.{8872 .each = .{ .once = &.{
8874 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },8873 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
8875 .{ ._, ._, .movddup, .tmp2x, .lea(.qword, .tmp0), ._, ._ },8874 .{ ._, ._, .movddup, .tmp2x, .lea(.tmp0q), ._, ._ },
8876 .{ ._, ._dqa, .mov, .tmp3x, .tmp2x, ._, ._ },8875 .{ ._, ._dqa, .mov, .tmp3x, .tmp2x, ._, ._ },
8877 .{ ._, .p_, .xor, .tmp2x, .src0x, ._, ._ },8876 .{ ._, .p_, .xor, .tmp2x, .src0x, ._, ._ },
8878 .{ ._, .p_, .xor, .tmp3x, .src1x, ._, ._ },8877 .{ ._, .p_, .xor, .tmp3x, .src1x, ._, ._ },
...@@ -8904,7 +8903,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -8904,7 +8903,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
8904 .dst_temps = .{.{ .rc = .sse }},8903 .dst_temps = .{.{ .rc = .sse }},
8905 .each = .{ .once = &.{8904 .each = .{ .once = &.{
8906 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },8905 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
8907 .{ ._, .vp_q, .broadcast, .tmp2y, .lea(.qword, .tmp0), ._, ._ },8906 .{ ._, .vp_q, .broadcast, .tmp2y, .lea(.tmp0q), ._, ._ },
8908 .{ ._, .vp_, .xor, .dst0y, .tmp2y, .src0y, ._ },8907 .{ ._, .vp_, .xor, .dst0y, .tmp2y, .src0y, ._ },
8909 .{ ._, .vp_, .xor, .tmp2y, .tmp2y, .src1y, ._ },8908 .{ ._, .vp_, .xor, .tmp2y, .tmp2y, .src1y, ._ },
8910 .{ ._, .vp_q, .cmpgt, .dst0y, .dst0y, .tmp2y, ._ },8909 .{ ._, .vp_q, .cmpgt, .dst0y, .dst0y, .tmp2y, ._ },
...@@ -8934,7 +8933,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -8934,7 +8933,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
8934 .clobbers = .{ .eflags = true },8933 .clobbers = .{ .eflags = true },
8935 .each = .{ .once = &.{8934 .each = .{ .once = &.{
8936 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },8935 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
8937 .{ ._, .vp_q, .broadcast, .tmp2y, .lea(.qword, .tmp0), ._, ._ },8936 .{ ._, .vp_q, .broadcast, .tmp2y, .lea(.tmp0q), ._, ._ },
8938 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },8937 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
8939 .{ .@"0:", .v_dqa, .mov, .tmp3y, .memia(.src0y, .tmp0, .add_size), ._, ._ },8938 .{ .@"0:", .v_dqa, .mov, .tmp3y, .memia(.src0y, .tmp0, .add_size), ._, ._ },
8940 .{ ._, .v_dqa, .mov, .tmp4y, .memia(.src1y, .tmp0, .add_size), ._, ._ },8939 .{ ._, .v_dqa, .mov, .tmp4y, .memia(.src1y, .tmp0, .add_size), ._, ._ },
...@@ -8970,7 +8969,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -8970,7 +8969,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
8970 .clobbers = .{ .eflags = true },8969 .clobbers = .{ .eflags = true },
8971 .each = .{ .once = &.{8970 .each = .{ .once = &.{
8972 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },8971 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
8973 .{ ._, .v_, .movddup, .tmp2x, .lea(.qword, .tmp0), ._, ._ },8972 .{ ._, .v_, .movddup, .tmp2x, .lea(.tmp0q), ._, ._ },
8974 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },8973 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
8975 .{ .@"0:", .v_dqa, .mov, .tmp3x, .memia(.src0x, .tmp0, .add_size), ._, ._ },8974 .{ .@"0:", .v_dqa, .mov, .tmp3x, .memia(.src0x, .tmp0, .add_size), ._, ._ },
8976 .{ ._, .v_dqa, .mov, .tmp4x, .memia(.src1x, .tmp0, .add_size), ._, ._ },8975 .{ ._, .v_dqa, .mov, .tmp4x, .memia(.src1x, .tmp0, .add_size), ._, ._ },
...@@ -9006,7 +9005,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -9006,7 +9005,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
9006 .clobbers = .{ .eflags = true },9005 .clobbers = .{ .eflags = true },
9007 .each = .{ .once = &.{9006 .each = .{ .once = &.{
9008 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },9007 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
9009 .{ ._, ._, .movddup, .tmp2x, .lea(.qword, .tmp0), ._, ._ },9008 .{ ._, ._, .movddup, .tmp2x, .lea(.tmp0q), ._, ._ },
9010 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },9009 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
9011 .{ .@"0:", ._dqa, .mov, .tmp5x, .tmp2x, ._, ._ },9010 .{ .@"0:", ._dqa, .mov, .tmp5x, .tmp2x, ._, ._ },
9012 .{ ._, ._dqa, .mov, .tmp6x, .tmp2x, ._, ._ },9011 .{ ._, ._dqa, .mov, .tmp6x, .tmp2x, ._, ._ },
...@@ -9108,7 +9107,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -9108,7 +9107,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
9108 .{ ._, ._c, .cl, ._, ._, ._, ._ },9107 .{ ._, ._c, .cl, ._, ._, ._, ._ },
9109 .{ .@"1:", ._, .mov, .tmp2q, .memia(.src0q, .tmp0, .add_size), ._, ._ },9108 .{ .@"1:", ._, .mov, .tmp2q, .memia(.src0q, .tmp0, .add_size), ._, ._ },
9110 .{ ._, ._, .sbb, .tmp2q, .memia(.src1q, .tmp0, .add_size), ._, ._ },9109 .{ ._, ._, .sbb, .tmp2q, .memia(.src1q, .tmp0, .add_size), ._, ._ },
9111 .{ ._, ._, .lea, .tmp0p, .lead(.none, .tmp0, 8), ._, ._ },9110 .{ ._, ._, .lea, .tmp0p, .lead(.tmp0, 8), ._, ._ },
9112 .{ ._, ._c, .de, .tmp1d, ._, ._, ._ },9111 .{ ._, ._c, .de, .tmp1d, ._, ._, ._ },
9113 .{ ._, ._nz, .j, .@"1b", ._, ._, ._ },9112 .{ ._, ._nz, .j, .@"1b", ._, ._, ._ },
9114 .{ ._, ._, .mov, .tmp2q, .memia(.src0q, .tmp0, .add_size), ._, ._ },9113 .{ ._, ._, .mov, .tmp2q, .memia(.src0q, .tmp0, .add_size), ._, ._ },
...@@ -9147,7 +9146,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -9147,7 +9146,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
9147 .{ ._, ._c, .cl, ._, ._, ._, ._ },9146 .{ ._, ._c, .cl, ._, ._, ._, ._ },
9148 .{ .@"1:", ._, .mov, .tmp2q, .memia(.src0q, .tmp0, .add_size), ._, ._ },9147 .{ .@"1:", ._, .mov, .tmp2q, .memia(.src0q, .tmp0, .add_size), ._, ._ },
9149 .{ ._, ._, .sbb, .tmp2q, .memia(.src1q, .tmp0, .add_size), ._, ._ },9148 .{ ._, ._, .sbb, .tmp2q, .memia(.src1q, .tmp0, .add_size), ._, ._ },
9150 .{ ._, ._, .lea, .tmp0p, .lead(.none, .tmp0, 8), ._, ._ },9149 .{ ._, ._, .lea, .tmp0p, .lead(.tmp0, 8), ._, ._ },
9151 .{ ._, ._c, .de, .tmp1d, ._, ._, ._ },9150 .{ ._, ._c, .de, .tmp1d, ._, ._, ._ },
9152 .{ ._, ._nz, .j, .@"1b", ._, ._, ._ },9151 .{ ._, ._nz, .j, .@"1b", ._, ._, ._ },
9153 .{ ._, ._, .mov, .tmp2q, .memia(.src0q, .tmp0, .add_size), ._, ._ },9152 .{ ._, ._, .mov, .tmp2q, .memia(.src0q, .tmp0, .add_size), ._, ._ },
...@@ -9186,7 +9185,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -9186,7 +9185,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
9186 .{ ._, ._c, .cl, ._, ._, ._, ._ },9185 .{ ._, ._c, .cl, ._, ._, ._, ._ },
9187 .{ .@"1:", ._, .mov, .tmp2q, .memia(.src0q, .tmp0, .add_size), ._, ._ },9186 .{ .@"1:", ._, .mov, .tmp2q, .memia(.src0q, .tmp0, .add_size), ._, ._ },
9188 .{ ._, ._, .sbb, .tmp2q, .memia(.src1q, .tmp0, .add_size), ._, ._ },9187 .{ ._, ._, .sbb, .tmp2q, .memia(.src1q, .tmp0, .add_size), ._, ._ },
9189 .{ ._, ._, .lea, .tmp0p, .lead(.none, .tmp0, 8), ._, ._ },9188 .{ ._, ._, .lea, .tmp0p, .lead(.tmp0, 8), ._, ._ },
9190 .{ ._, ._c, .de, .tmp1d, ._, ._, ._ },9189 .{ ._, ._c, .de, .tmp1d, ._, ._, ._ },
9191 .{ ._, ._nz, .j, .@"1b", ._, ._, ._ },9190 .{ ._, ._nz, .j, .@"1b", ._, ._, ._ },
9192 .{ ._, ._, .lea, .tmp1p, .memia(.src0, .tmp0, .add_size_sub_elem_size), ._, ._ },9191 .{ ._, ._, .lea, .tmp1p, .memia(.src0, .tmp0, .add_size_sub_elem_size), ._, ._ },
...@@ -9223,7 +9222,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -9223,7 +9222,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
9223 .{ ._, ._c, .cl, ._, ._, ._, ._ },9222 .{ ._, ._c, .cl, ._, ._, ._, ._ },
9224 .{ .@"1:", ._, .mov, .tmp2q, .memia(.src0q, .tmp0, .add_size), ._, ._ },9223 .{ .@"1:", ._, .mov, .tmp2q, .memia(.src0q, .tmp0, .add_size), ._, ._ },
9225 .{ ._, ._, .sbb, .tmp2q, .memia(.src1q, .tmp0, .add_size), ._, ._ },9224 .{ ._, ._, .sbb, .tmp2q, .memia(.src1q, .tmp0, .add_size), ._, ._ },
9226 .{ ._, ._, .lea, .tmp0p, .lead(.none, .tmp0, 8), ._, ._ },9225 .{ ._, ._, .lea, .tmp0p, .lead(.tmp0, 8), ._, ._ },
9227 .{ ._, ._c, .de, .tmp1d, ._, ._, ._ },9226 .{ ._, ._c, .de, .tmp1d, ._, ._, ._ },
9228 .{ ._, ._nz, .j, .@"1b", ._, ._, ._ },9227 .{ ._, ._nz, .j, .@"1b", ._, ._, ._ },
9229 .{ ._, ._, .lea, .tmp1p, .memia(.src0, .tmp0, .add_size_sub_elem_size), ._, ._ },9228 .{ ._, ._, .lea, .tmp1p, .memia(.src0, .tmp0, .add_size_sub_elem_size), ._, ._ },
...@@ -10997,7 +10996,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -10997,7 +10996,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
10997 .dst_temps = .{.{ .ref = .src0 }},10996 .dst_temps = .{.{ .ref = .src0 }},
10998 .each = .{ .once = &.{10997 .each = .{ .once = &.{
10999 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },10998 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
11000 .{ ._, .p_, .xor, .dst0q, .lea(.qword, .tmp0), ._, ._ },10999 .{ ._, .p_, .xor, .dst0q, .lea(.tmp0q), ._, ._ },
11001 } },11000 } },
11002 }, .{11001 }, .{
11003 .required_features = .{ .avx, null, null, null },11002 .required_features = .{ .avx, null, null, null },
...@@ -11031,7 +11030,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -11031,7 +11030,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
11031 .dst_temps = .{.{ .rc = .sse }},11030 .dst_temps = .{.{ .rc = .sse }},
11032 .each = .{ .once = &.{11031 .each = .{ .once = &.{
11033 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },11032 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
11034 .{ ._, .vp_, .xor, .dst0x, .src0x, .lea(.xword, .tmp0), ._ },11033 .{ ._, .vp_, .xor, .dst0x, .src0x, .lea(.tmp0x), ._ },
11035 } },11034 } },
11036 }, .{11035 }, .{
11037 .required_features = .{ .sse2, null, null, null },11036 .required_features = .{ .sse2, null, null, null },
...@@ -11065,7 +11064,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -11065,7 +11064,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
11065 .dst_temps = .{.{ .ref = .src0 }},11064 .dst_temps = .{.{ .ref = .src0 }},
11066 .each = .{ .once = &.{11065 .each = .{ .once = &.{
11067 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },11066 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
11068 .{ ._, .p_, .xor, .dst0x, .lea(.xword, .tmp0), ._, ._ },11067 .{ ._, .p_, .xor, .dst0x, .lea(.tmp0x), ._, ._ },
11069 } },11068 } },
11070 }, .{11069 }, .{
11071 .required_features = .{ .sse, null, null, null },11070 .required_features = .{ .sse, null, null, null },
...@@ -11087,7 +11086,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -11087,7 +11086,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
11087 .dst_temps = .{.{ .ref = .src0 }},11086 .dst_temps = .{.{ .ref = .src0 }},
11088 .each = .{ .once = &.{11087 .each = .{ .once = &.{
11089 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },11088 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
11090 .{ ._, ._ps, .xor, .dst0x, .lea(.xword, .tmp0), ._, ._ },11089 .{ ._, ._ps, .xor, .dst0x, .lea(.tmp0x), ._, ._ },
11091 } },11090 } },
11092 }, .{11091 }, .{
11093 .required_features = .{ .avx2, null, null, null },11092 .required_features = .{ .avx2, null, null, null },
...@@ -11121,7 +11120,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -11121,7 +11120,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
11121 .dst_temps = .{.{ .rc = .sse }},11120 .dst_temps = .{.{ .rc = .sse }},
11122 .each = .{ .once = &.{11121 .each = .{ .once = &.{
11123 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },11122 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
11124 .{ ._, .vp_, .xor, .dst0y, .src0y, .lea(.yword, .tmp0), ._ },11123 .{ ._, .vp_, .xor, .dst0y, .src0y, .lea(.tmp0y), ._ },
11125 } },11124 } },
11126 }, .{11125 }, .{
11127 .required_features = .{ .avx, null, null, null },11126 .required_features = .{ .avx, null, null, null },
...@@ -11155,7 +11154,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -11155,7 +11154,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
11155 .dst_temps = .{.{ .rc = .sse }},11154 .dst_temps = .{.{ .rc = .sse }},
11156 .each = .{ .once = &.{11155 .each = .{ .once = &.{
11157 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },11156 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
11158 .{ ._, .v_pd, .xor, .dst0y, .src0y, .lea(.yword, .tmp0), ._ },11157 .{ ._, .v_pd, .xor, .dst0y, .src0y, .lea(.tmp0y), ._ },
11159 } },11158 } },
11160 }, .{11159 }, .{
11161 .required_features = .{ .avx2, null, null, null },11160 .required_features = .{ .avx2, null, null, null },
...@@ -11812,7 +11811,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -11812,7 +11811,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
11812 .dst_temps = .{.{ .ref = .src0 }},11811 .dst_temps = .{.{ .ref = .src0 }},
11813 .each = .{ .once = &.{11812 .each = .{ .once = &.{
11814 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },11813 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
11815 .{ ._, .p_, .xor, .dst0q, .lea(.qword, .tmp0), ._, ._ },11814 .{ ._, .p_, .xor, .dst0q, .lea(.tmp0q), ._, ._ },
11816 } },11815 } },
11817 }, .{11816 }, .{
11818 .required_features = .{ .avx, null, null, null },11817 .required_features = .{ .avx, null, null, null },
...@@ -11846,7 +11845,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -11846,7 +11845,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
11846 .dst_temps = .{.{ .rc = .sse }},11845 .dst_temps = .{.{ .rc = .sse }},
11847 .each = .{ .once = &.{11846 .each = .{ .once = &.{
11848 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },11847 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
11849 .{ ._, .vp_, .xor, .dst0x, .src0x, .lea(.xword, .tmp0), ._ },11848 .{ ._, .vp_, .xor, .dst0x, .src0x, .lea(.tmp0x), ._ },
11850 } },11849 } },
11851 }, .{11850 }, .{
11852 .required_features = .{ .sse2, null, null, null },11851 .required_features = .{ .sse2, null, null, null },
...@@ -11880,7 +11879,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -11880,7 +11879,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
11880 .dst_temps = .{.{ .ref = .src0 }},11879 .dst_temps = .{.{ .ref = .src0 }},
11881 .each = .{ .once = &.{11880 .each = .{ .once = &.{
11882 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },11881 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
11883 .{ ._, .p_, .xor, .dst0x, .lea(.xword, .tmp0), ._, ._ },11882 .{ ._, .p_, .xor, .dst0x, .lea(.tmp0x), ._, ._ },
11884 } },11883 } },
11885 }, .{11884 }, .{
11886 .required_features = .{ .sse, null, null, null },11885 .required_features = .{ .sse, null, null, null },
...@@ -11902,7 +11901,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -11902,7 +11901,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
11902 .dst_temps = .{.{ .ref = .src0 }},11901 .dst_temps = .{.{ .ref = .src0 }},
11903 .each = .{ .once = &.{11902 .each = .{ .once = &.{
11904 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },11903 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
11905 .{ ._, ._ps, .xor, .dst0x, .lea(.xword, .tmp0), ._, ._ },11904 .{ ._, ._ps, .xor, .dst0x, .lea(.tmp0x), ._, ._ },
11906 } },11905 } },
11907 }, .{11906 }, .{
11908 .required_features = .{ .avx2, null, null, null },11907 .required_features = .{ .avx2, null, null, null },
...@@ -11936,7 +11935,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -11936,7 +11935,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
11936 .dst_temps = .{.{ .rc = .sse }},11935 .dst_temps = .{.{ .rc = .sse }},
11937 .each = .{ .once = &.{11936 .each = .{ .once = &.{
11938 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },11937 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
11939 .{ ._, .vp_, .xor, .dst0y, .src0y, .lea(.yword, .tmp0), ._ },11938 .{ ._, .vp_, .xor, .dst0y, .src0y, .lea(.tmp0y), ._ },
11940 } },11939 } },
11941 }, .{11940 }, .{
11942 .required_features = .{ .avx, null, null, null },11941 .required_features = .{ .avx, null, null, null },
...@@ -11970,7 +11969,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -11970,7 +11969,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
11970 .dst_temps = .{.{ .rc = .sse }},11969 .dst_temps = .{.{ .rc = .sse }},
11971 .each = .{ .once = &.{11970 .each = .{ .once = &.{
11972 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },11971 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
11973 .{ ._, .v_pd, .xor, .dst0y, .src0y, .lea(.yword, .tmp0), ._ },11972 .{ ._, .v_pd, .xor, .dst0y, .src0y, .lea(.tmp0y), ._ },
11974 } },11973 } },
11975 }, .{11974 }, .{
11976 .required_features = .{ .@"64bit", null, null, null },11975 .required_features = .{ .@"64bit", null, null, null },
...@@ -11993,9 +11992,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -11993,9 +11992,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
11993 .{ ._, ._, .xor, .tmp0d, .tmp0d, ._, ._ },11992 .{ ._, ._, .xor, .tmp0d, .tmp0d, ._, ._ },
11994 .{ ._, ._, .lea, .tmp1p, .mem(.tmp3), ._, ._ },11993 .{ ._, ._, .lea, .tmp1p, .mem(.tmp3), ._, ._ },
11995 .{ .@"0:", ._, .mov, .tmp2q, .memi(.src0q, .tmp0), ._, ._ },11994 .{ .@"0:", ._, .mov, .tmp2q, .memi(.src0q, .tmp0), ._, ._ },
11996 .{ ._, ._, .xor, .tmp2q, .leai(.qword, .tmp1, .tmp0), ._, ._ },11995 .{ ._, ._, .xor, .tmp2q, .leai(.tmp1q, .tmp0), ._, ._ },
11997 .{ ._, ._, .mov, .memi(.dst0q, .tmp0), .tmp2q, ._, ._ },11996 .{ ._, ._, .mov, .memi(.dst0q, .tmp0), .tmp2q, ._, ._ },
11998 .{ ._, ._, .lea, .tmp0d, .lead(.none, .tmp0, 8), ._, ._ },11997 .{ ._, ._, .lea, .tmp0d, .lead(.tmp0, 8), ._, ._ },
11999 .{ ._, ._, .cmp, .tmp0d, .sa(.src0, .add_unaligned_size), ._, ._ },11998 .{ ._, ._, .cmp, .tmp0d, .sa(.src0, .add_unaligned_size), ._, ._ },
12000 .{ ._, ._b, .j, .@"0b", ._, ._, ._ },11999 .{ ._, ._b, .j, .@"0b", ._, ._, ._ },
12001 } },12000 } },
...@@ -12019,9 +12018,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -12019,9 +12018,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
12019 .{ ._, ._, .xor, .tmp0d, .tmp0d, ._, ._ },12018 .{ ._, ._, .xor, .tmp0d, .tmp0d, ._, ._ },
12020 .{ ._, ._, .lea, .tmp1p, .mem(.tmp3), ._, ._ },12019 .{ ._, ._, .lea, .tmp1p, .mem(.tmp3), ._, ._ },
12021 .{ .@"0:", ._, .mov, .tmp2d, .memi(.src0d, .tmp0), ._, ._ },12020 .{ .@"0:", ._, .mov, .tmp2d, .memi(.src0d, .tmp0), ._, ._ },
12022 .{ ._, ._, .xor, .tmp2d, .leai(.dword, .tmp1, .tmp0), ._, ._ },12021 .{ ._, ._, .xor, .tmp2d, .leai(.tmp1d, .tmp0), ._, ._ },
12023 .{ ._, ._, .mov, .memi(.dst0d, .tmp0), .tmp2d, ._, ._ },12022 .{ ._, ._, .mov, .memi(.dst0d, .tmp0), .tmp2d, ._, ._ },
12024 .{ ._, ._, .lea, .tmp0d, .lead(.none, .tmp0, 4), ._, ._ },12023 .{ ._, ._, .lea, .tmp0d, .lead(.tmp0, 4), ._, ._ },
12025 .{ ._, ._, .cmp, .tmp0d, .sa(.src0, .add_unaligned_size), ._, ._ },12024 .{ ._, ._, .cmp, .tmp0d, .sa(.src0, .add_unaligned_size), ._, ._ },
12026 .{ ._, ._b, .j, .@"0b", ._, ._, ._ },12025 .{ ._, ._b, .j, .@"0b", ._, ._, ._ },
12027 } },12026 } },
...@@ -13161,7 +13160,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -13161,7 +13160,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
13161 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },13160 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
13162 .{ ._, ._, .xor, .tmp0d, .tmp0d, ._, ._ },13161 .{ ._, ._, .xor, .tmp0d, .tmp0d, ._, ._ },
13163 .{ .@"0:", ._, .neg, .tmp0d, ._, ._, ._ },13162 .{ .@"0:", ._, .neg, .tmp0d, ._, ._, ._ },
13164 .{ ._, ._, .lea, .dst0d, .leasiad(.none, .dst0, .@"8", .tmp0, .add_src0_bit_size, -64), ._, ._ },13163 .{ ._, ._, .lea, .dst0d, .leasiad(.dst0, .@"8", .tmp0, .add_src0_bit_size, -64), ._, ._ },
13165 } },13164 } },
13166 }, .{13165 }, .{
13167 .required_features = .{ .@"64bit", .lzcnt, null, null },13166 .required_features = .{ .@"64bit", .lzcnt, null, null },
...@@ -13190,7 +13189,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -13190,7 +13189,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
13190 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },13189 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
13191 .{ ._, ._, .xor, .tmp0d, .tmp0d, ._, ._ },13190 .{ ._, ._, .xor, .tmp0d, .tmp0d, ._, ._ },
13192 .{ .@"0:", ._, .neg, .tmp0d, ._, ._, ._ },13191 .{ .@"0:", ._, .neg, .tmp0d, ._, ._, ._ },
13193 .{ ._, ._, .lea, .dst0d, .leasiad(.none, .dst0, .@"8", .tmp0, .add_src0_bit_size, -64), ._, ._ },13192 .{ ._, ._, .lea, .dst0d, .leasiad(.dst0, .@"8", .tmp0, .add_src0_bit_size, -64), ._, ._ },
13194 } },13193 } },
13195 }, .{13194 }, .{
13196 .required_features = .{ .@"64bit", .bsf_bsr_0_clobbers_result, null, null },13195 .required_features = .{ .@"64bit", .bsf_bsr_0_clobbers_result, null, null },
...@@ -13220,7 +13219,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -13220,7 +13219,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
13220 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },13219 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
13221 .{ ._, ._, .mov, .dst0d, .si(-1), ._, ._ },13220 .{ ._, ._, .mov, .dst0d, .si(-1), ._, ._ },
13222 .{ ._, ._, .xor, .tmp0d, .tmp0d, ._, ._ },13221 .{ ._, ._, .xor, .tmp0d, .tmp0d, ._, ._ },
13223 .{ .@"0:", ._, .lea, .dst0d, .leasiad(.none, .dst0, .@"8", .tmp0, .sub_src0_bit_size, 1), ._, ._ },13222 .{ .@"0:", ._, .lea, .dst0d, .leasiad(.dst0, .@"8", .tmp0, .sub_src0_bit_size, 1), ._, ._ },
13224 .{ ._, ._, .neg, .dst0d, ._, ._, ._ },13223 .{ ._, ._, .neg, .dst0d, ._, ._, ._ },
13225 } },13224 } },
13226 }, .{13225 }, .{
...@@ -13250,7 +13249,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -13250,7 +13249,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
13250 .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ },13249 .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ },
13251 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },13250 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
13252 .{ ._, ._, .xor, .tmp0d, .tmp0d, ._, ._ },13251 .{ ._, ._, .xor, .tmp0d, .tmp0d, ._, ._ },
13253 .{ .@"0:", ._, .lea, .dst0d, .leasiad(.none, .dst0, .@"8", .tmp0, .sub_src0_bit_size, 1), ._, ._ },13252 .{ .@"0:", ._, .lea, .dst0d, .leasiad(.dst0, .@"8", .tmp0, .sub_src0_bit_size, 1), ._, ._ },
13254 .{ ._, ._, .neg, .dst0d, ._, ._, ._ },13253 .{ ._, ._, .neg, .dst0d, ._, ._, ._ },
13255 } },13254 } },
13256 }, .{13255 }, .{
...@@ -13281,7 +13280,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -13281,7 +13280,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
13281 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },13280 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
13282 .{ ._, ._, .xor, .tmp0d, .tmp0d, ._, ._ },13281 .{ ._, ._, .xor, .tmp0d, .tmp0d, ._, ._ },
13283 .{ .@"0:", ._, .neg, .tmp0d, ._, ._, ._ },13282 .{ .@"0:", ._, .neg, .tmp0d, ._, ._, ._ },
13284 .{ ._, ._, .lea, .dst0d, .leasiad(.none, .dst0, .@"8", .tmp0, .add_src0_bit_size, -64), ._, ._ },13283 .{ ._, ._, .lea, .dst0d, .leasiad(.dst0, .@"8", .tmp0, .add_src0_bit_size, -64), ._, ._ },
13285 } },13284 } },
13286 }, .{13285 }, .{
13287 .required_features = .{ .@"64bit", .lzcnt, null, null },13286 .required_features = .{ .@"64bit", .lzcnt, null, null },
...@@ -13310,7 +13309,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -13310,7 +13309,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
13310 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },13309 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
13311 .{ ._, ._, .xor, .tmp0d, .tmp0d, ._, ._ },13310 .{ ._, ._, .xor, .tmp0d, .tmp0d, ._, ._ },
13312 .{ .@"0:", ._, .neg, .tmp0d, ._, ._, ._ },13311 .{ .@"0:", ._, .neg, .tmp0d, ._, ._, ._ },
13313 .{ ._, ._, .lea, .dst0d, .leasiad(.none, .dst0, .@"8", .tmp0, .add_src0_bit_size, -64), ._, ._ },13312 .{ ._, ._, .lea, .dst0d, .leasiad(.dst0, .@"8", .tmp0, .add_src0_bit_size, -64), ._, ._ },
13314 } },13313 } },
13315 }, .{13314 }, .{
13316 .required_features = .{ .@"64bit", .bsf_bsr_0_clobbers_result, null, null },13315 .required_features = .{ .@"64bit", .bsf_bsr_0_clobbers_result, null, null },
...@@ -13340,7 +13339,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -13340,7 +13339,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
13340 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },13339 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
13341 .{ ._, ._, .mov, .dst0d, .si(-1), ._, ._ },13340 .{ ._, ._, .mov, .dst0d, .si(-1), ._, ._ },
13342 .{ ._, ._, .xor, .tmp0d, .tmp0d, ._, ._ },13341 .{ ._, ._, .xor, .tmp0d, .tmp0d, ._, ._ },
13343 .{ .@"0:", ._, .lea, .dst0d, .leasiad(.none, .dst0, .@"8", .tmp0, .sub_src0_bit_size, 1), ._, ._ },13342 .{ .@"0:", ._, .lea, .dst0d, .leasiad(.dst0, .@"8", .tmp0, .sub_src0_bit_size, 1), ._, ._ },
13344 .{ ._, ._, .neg, .dst0d, ._, ._, ._ },13343 .{ ._, ._, .neg, .dst0d, ._, ._, ._ },
13345 } },13344 } },
13346 }, .{13345 }, .{
...@@ -13370,7 +13369,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -13370,7 +13369,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
13370 .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ },13369 .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ },
13371 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },13370 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
13372 .{ ._, ._, .xor, .tmp0d, .tmp0d, ._, ._ },13371 .{ ._, ._, .xor, .tmp0d, .tmp0d, ._, ._ },
13373 .{ .@"0:", ._, .lea, .dst0d, .leasiad(.none, .dst0, .@"8", .tmp0, .sub_src0_bit_size, 1), ._, ._ },13372 .{ .@"0:", ._, .lea, .dst0d, .leasiad(.dst0, .@"8", .tmp0, .sub_src0_bit_size, 1), ._, ._ },
13374 .{ ._, ._, .neg, .dst0d, ._, ._, ._ },13373 .{ ._, ._, .neg, .dst0d, ._, ._, ._ },
13375 } },13374 } },
13376 }, .{13375 }, .{
...@@ -13404,7 +13403,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -13404,7 +13403,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
13404 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },13403 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
13405 .{ ._, ._, .xor, .tmp0d, .tmp0d, ._, ._ },13404 .{ ._, ._, .xor, .tmp0d, .tmp0d, ._, ._ },
13406 .{ .@"0:", ._, .neg, .tmp0d, ._, ._, ._ },13405 .{ .@"0:", ._, .neg, .tmp0d, ._, ._, ._ },
13407 .{ ._, ._, .lea, .dst0d, .leasiad(.none, .dst0, .@"8", .tmp0, .add_src0_bit_size, -64), ._, ._ },13406 .{ ._, ._, .lea, .dst0d, .leasiad(.dst0, .@"8", .tmp0, .add_src0_bit_size, -64), ._, ._ },
13408 } },13407 } },
13409 }, .{13408 }, .{
13410 .required_features = .{ .@"64bit", .lzcnt, null, null },13409 .required_features = .{ .@"64bit", .lzcnt, null, null },
...@@ -13436,7 +13435,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -13436,7 +13435,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
13436 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },13435 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
13437 .{ ._, ._, .xor, .tmp0d, .tmp0d, ._, ._ },13436 .{ ._, ._, .xor, .tmp0d, .tmp0d, ._, ._ },
13438 .{ .@"0:", ._, .neg, .tmp0d, ._, ._, ._ },13437 .{ .@"0:", ._, .neg, .tmp0d, ._, ._, ._ },
13439 .{ ._, ._, .lea, .dst0d, .leasiad(.none, .dst0, .@"8", .tmp0, .add_src0_bit_size, -64), ._, ._ },13438 .{ ._, ._, .lea, .dst0d, .leasiad(.dst0, .@"8", .tmp0, .add_src0_bit_size, -64), ._, ._ },
13440 } },13439 } },
13441 }, .{13440 }, .{
13442 .required_features = .{ .@"64bit", null, null, null },13441 .required_features = .{ .@"64bit", null, null, null },
...@@ -13467,7 +13466,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -13467,7 +13466,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
13467 .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ },13466 .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ },
13468 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },13467 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
13469 .{ ._, ._, .xor, .tmp0d, .tmp0d, ._, ._ },13468 .{ ._, ._, .xor, .tmp0d, .tmp0d, ._, ._ },
13470 .{ .@"0:", ._, .lea, .dst0d, .leasiad(.none, .dst0, .@"8", .tmp0, .sub_src0_bit_size, 1), ._, ._ },13469 .{ .@"0:", ._, .lea, .dst0d, .leasiad(.dst0, .@"8", .tmp0, .sub_src0_bit_size, 1), ._, ._ },
13471 .{ ._, ._, .neg, .dst0d, ._, ._, ._ },13470 .{ ._, ._, .neg, .dst0d, ._, ._, ._ },
13472 } },13471 } },
13473 }, .{13472 }, .{
...@@ -13501,7 +13500,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -13501,7 +13500,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
13501 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },13500 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
13502 .{ ._, ._, .xor, .tmp0d, .tmp0d, ._, ._ },13501 .{ ._, ._, .xor, .tmp0d, .tmp0d, ._, ._ },
13503 .{ .@"0:", ._, .neg, .tmp0d, ._, ._, ._ },13502 .{ .@"0:", ._, .neg, .tmp0d, ._, ._, ._ },
13504 .{ ._, ._, .lea, .dst0d, .leasiad(.none, .dst0, .@"8", .tmp0, .add_src0_bit_size, -64), ._, ._ },13503 .{ ._, ._, .lea, .dst0d, .leasiad(.dst0, .@"8", .tmp0, .add_src0_bit_size, -64), ._, ._ },
13505 } },13504 } },
13506 }, .{13505 }, .{
13507 .required_features = .{ .@"64bit", .lzcnt, null, null },13506 .required_features = .{ .@"64bit", .lzcnt, null, null },
...@@ -13533,7 +13532,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -13533,7 +13532,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
13533 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },13532 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
13534 .{ ._, ._, .xor, .tmp0d, .tmp0d, ._, ._ },13533 .{ ._, ._, .xor, .tmp0d, .tmp0d, ._, ._ },
13535 .{ .@"0:", ._, .neg, .tmp0d, ._, ._, ._ },13534 .{ .@"0:", ._, .neg, .tmp0d, ._, ._, ._ },
13536 .{ ._, ._, .lea, .dst0d, .leasiad(.none, .dst0, .@"8", .tmp0, .add_src0_bit_size, -64), ._, ._ },13535 .{ ._, ._, .lea, .dst0d, .leasiad(.dst0, .@"8", .tmp0, .add_src0_bit_size, -64), ._, ._ },
13537 } },13536 } },
13538 }, .{13537 }, .{
13539 .required_features = .{ .@"64bit", null, null, null },13538 .required_features = .{ .@"64bit", null, null, null },
...@@ -13564,7 +13563,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -13564,7 +13563,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
13564 .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ },13563 .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ },
13565 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },13564 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
13566 .{ ._, ._, .xor, .tmp0d, .tmp0d, ._, ._ },13565 .{ ._, ._, .xor, .tmp0d, .tmp0d, ._, ._ },
13567 .{ .@"0:", ._, .lea, .dst0d, .leasiad(.none, .dst0, .@"8", .tmp0, .sub_src0_bit_size, 1), ._, ._ },13566 .{ .@"0:", ._, .lea, .dst0d, .leasiad(.dst0, .@"8", .tmp0, .sub_src0_bit_size, 1), ._, ._ },
13568 .{ ._, ._, .neg, .dst0d, ._, ._, ._ },13567 .{ ._, ._, .neg, .dst0d, ._, ._, ._ },
13569 } },13568 } },
13570 }, .{13569 }, .{
...@@ -14581,7 +14580,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -14581,7 +14580,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
14581 .{ ._, ._, .lea, .tmp1q, .mem(.src0), ._, ._ },14580 .{ ._, ._, .lea, .tmp1q, .mem(.src0), ._, ._ },
14582 .{ .@"0:", ._, .mov, .tmp2d, .sia(-16, .none, .add_src0_elem_size), ._, ._ },14581 .{ .@"0:", ._, .mov, .tmp2d, .sia(-16, .none, .add_src0_elem_size), ._, ._ },
14583 .{ ._, ._, .mov, .tmp3q, .ua(.src0, .add_umax), ._, ._ },14582 .{ ._, ._, .mov, .tmp3q, .ua(.src0, .add_umax), ._, ._ },
14584 .{ .@"1:", ._, .@"and", .tmp3q, .leai(.qword, .tmp1, .tmp2), ._, ._ },14583 .{ .@"1:", ._, .@"and", .tmp3q, .leai(.tmp1q, .tmp2), ._, ._ },
14585 .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ },14584 .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ },
14586 .{ ._, ._, .lzcnt, .tmp4q, .tmp3q, ._, ._ },14585 .{ ._, ._, .lzcnt, .tmp4q, .tmp3q, ._, ._ },
14587 .{ ._, ._nc, .j, .@"1f", ._, ._, ._ },14586 .{ ._, ._nc, .j, .@"1f", ._, ._, ._ },
...@@ -14590,9 +14589,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -14590,9 +14589,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
14590 .{ ._, ._nc, .j, .@"1b", ._, ._, ._ },14589 .{ ._, ._nc, .j, .@"1b", ._, ._, ._ },
14591 .{ ._, ._, .xor, .tmp2d, .tmp2d, ._, ._ },14590 .{ ._, ._, .xor, .tmp2d, .tmp2d, ._, ._ },
14592 .{ .@"1:", ._, .neg, .tmp2d, ._, ._, ._ },14591 .{ .@"1:", ._, .neg, .tmp2d, ._, ._, ._ },
14593 .{ ._, ._, .lea, .tmp3d, .leasiad(.none, .tmp4, .@"8", .tmp2, .add_src0_bit_size, -64), ._, ._ },14592 .{ ._, ._, .lea, .tmp3d, .leasiad(.tmp4, .@"8", .tmp2, .add_src0_bit_size, -64), ._, ._ },
14594 .{ ._, ._, .mov, .memia(.dst0b, .tmp0, .add_len), .tmp3b, ._, ._ },14593 .{ ._, ._, .mov, .memia(.dst0b, .tmp0, .add_len), .tmp3b, ._, ._ },
14595 .{ ._, ._, .lea, .tmp1q, .leaa(.none, .tmp1, .add_src0_elem_size), ._, ._ },14594 .{ ._, ._, .lea, .tmp1q, .leaa(.tmp1, .add_src0_elem_size), ._, ._ },
14596 .{ ._, ._, .add, .tmp0p, .si(1), ._, ._ },14595 .{ ._, ._, .add, .tmp0p, .si(1), ._, ._ },
14597 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },14596 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
14598 } },14597 } },
...@@ -14621,7 +14620,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -14621,7 +14620,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
14621 .{ ._, ._, .lea, .tmp1q, .mem(.src0), ._, ._ },14620 .{ ._, ._, .lea, .tmp1q, .mem(.src0), ._, ._ },
14622 .{ .@"0:", ._, .mov, .tmp2d, .sia(-16, .none, .add_src0_elem_size), ._, ._ },14621 .{ .@"0:", ._, .mov, .tmp2d, .sia(-16, .none, .add_src0_elem_size), ._, ._ },
14623 .{ ._, ._, .mov, .tmp3q, .ua(.src0, .add_umax), ._, ._ },14622 .{ ._, ._, .mov, .tmp3q, .ua(.src0, .add_umax), ._, ._ },
14624 .{ .@"1:", ._, .@"and", .tmp3q, .leai(.qword, .tmp1, .tmp2), ._, ._ },14623 .{ .@"1:", ._, .@"and", .tmp3q, .leai(.tmp1q, .tmp2), ._, ._ },
14625 .{ ._, ._, .lzcnt, .tmp4q, .tmp3q, ._, ._ },14624 .{ ._, ._, .lzcnt, .tmp4q, .tmp3q, ._, ._ },
14626 .{ ._, ._nc, .j, .@"1f", ._, ._, ._ },14625 .{ ._, ._nc, .j, .@"1f", ._, ._, ._ },
14627 .{ ._, ._, .mov, .tmp3q, .si(-1), ._, ._ },14626 .{ ._, ._, .mov, .tmp3q, .si(-1), ._, ._ },
...@@ -14629,9 +14628,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -14629,9 +14628,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
14629 .{ ._, ._nc, .j, .@"1b", ._, ._, ._ },14628 .{ ._, ._nc, .j, .@"1b", ._, ._, ._ },
14630 .{ ._, ._, .xor, .tmp2d, .tmp2d, ._, ._ },14629 .{ ._, ._, .xor, .tmp2d, .tmp2d, ._, ._ },
14631 .{ .@"1:", ._, .neg, .tmp2d, ._, ._, ._ },14630 .{ .@"1:", ._, .neg, .tmp2d, ._, ._, ._ },
14632 .{ ._, ._, .lea, .tmp3d, .leasiad(.none, .tmp4, .@"8", .tmp2, .add_src0_bit_size, -64), ._, ._ },14631 .{ ._, ._, .lea, .tmp3d, .leasiad(.tmp4, .@"8", .tmp2, .add_src0_bit_size, -64), ._, ._ },
14633 .{ ._, ._, .mov, .memia(.dst0b, .tmp0, .add_len), .tmp3b, ._, ._ },14632 .{ ._, ._, .mov, .memia(.dst0b, .tmp0, .add_len), .tmp3b, ._, ._ },
14634 .{ ._, ._, .lea, .tmp1q, .leaa(.none, .tmp1, .add_src0_elem_size), ._, ._ },14633 .{ ._, ._, .lea, .tmp1q, .leaa(.tmp1, .add_src0_elem_size), ._, ._ },
14635 .{ ._, ._, .add, .tmp0p, .si(1), ._, ._ },14634 .{ ._, ._, .add, .tmp0p, .si(1), ._, ._ },
14636 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },14635 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
14637 } },14636 } },
...@@ -14660,17 +14659,17 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -14660,17 +14659,17 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
14660 .{ ._, ._, .lea, .tmp1q, .mem(.src0), ._, ._ },14659 .{ ._, ._, .lea, .tmp1q, .mem(.src0), ._, ._ },
14661 .{ .@"0:", ._, .mov, .tmp2d, .sia(-16, .none, .add_src0_elem_size), ._, ._ },14660 .{ .@"0:", ._, .mov, .tmp2d, .sia(-16, .none, .add_src0_elem_size), ._, ._ },
14662 .{ ._, ._, .mov, .tmp3q, .ua(.src0, .add_umax), ._, ._ },14661 .{ ._, ._, .mov, .tmp3q, .ua(.src0, .add_umax), ._, ._ },
14663 .{ .@"1:", ._, .@"and", .tmp3q, .leai(.qword, .tmp1, .tmp2), ._, ._ },14662 .{ .@"1:", ._, .@"and", .tmp3q, .leai(.tmp1q, .tmp2), ._, ._ },
14664 .{ ._, ._r, .bs, .tmp3q, .tmp3q, ._, ._ },14663 .{ ._, ._r, .bs, .tmp3q, .tmp3q, ._, ._ },
14665 .{ ._, ._nz, .j, .@"1f", ._, ._, ._ },14664 .{ ._, ._nz, .j, .@"1f", ._, ._, ._ },
14666 .{ ._, ._, .mov, .tmp3q, .si(-1), ._, ._ },14665 .{ ._, ._, .mov, .tmp3q, .si(-1), ._, ._ },
14667 .{ ._, ._, .sub, .tmp2d, .si(8), ._, ._ },14666 .{ ._, ._, .sub, .tmp2d, .si(8), ._, ._ },
14668 .{ ._, ._nc, .j, .@"1b", ._, ._, ._ },14667 .{ ._, ._nc, .j, .@"1b", ._, ._, ._ },
14669 .{ ._, ._, .xor, .tmp2d, .tmp2d, ._, ._ },14668 .{ ._, ._, .xor, .tmp2d, .tmp2d, ._, ._ },
14670 .{ .@"1:", ._, .lea, .tmp3d, .leasiad(.none, .tmp3, .@"8", .tmp2, .sub_src0_bit_size, 1), ._, ._ },14669 .{ .@"1:", ._, .lea, .tmp3d, .leasiad(.tmp3, .@"8", .tmp2, .sub_src0_bit_size, 1), ._, ._ },
14671 .{ ._, ._, .neg, .tmp3b, ._, ._, ._ },14670 .{ ._, ._, .neg, .tmp3b, ._, ._, ._ },
14672 .{ ._, ._, .mov, .memia(.dst0b, .tmp0, .add_len), .tmp3b, ._, ._ },14671 .{ ._, ._, .mov, .memia(.dst0b, .tmp0, .add_len), .tmp3b, ._, ._ },
14673 .{ ._, ._, .lea, .tmp1q, .leaa(.none, .tmp1, .add_src0_elem_size), ._, ._ },14672 .{ ._, ._, .lea, .tmp1q, .leaa(.tmp1, .add_src0_elem_size), ._, ._ },
14674 .{ ._, ._, .add, .tmp0p, .si(1), ._, ._ },14673 .{ ._, ._, .add, .tmp0p, .si(1), ._, ._ },
14675 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },14674 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
14676 } },14675 } },
...@@ -14699,7 +14698,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -14699,7 +14698,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
14699 .{ ._, ._, .lea, .tmp1q, .mem(.src0), ._, ._ },14698 .{ ._, ._, .lea, .tmp1q, .mem(.src0), ._, ._ },
14700 .{ .@"0:", ._, .mov, .tmp2d, .sia(-8, .none, .add_src0_elem_size), ._, ._ },14699 .{ .@"0:", ._, .mov, .tmp2d, .sia(-8, .none, .add_src0_elem_size), ._, ._ },
14701 .{ ._, ._, .mov, .tmp3q, .ua(.src0, .add_umax), ._, ._ },14700 .{ ._, ._, .mov, .tmp3q, .ua(.src0, .add_umax), ._, ._ },
14702 .{ .@"1:", ._, .@"and", .tmp3q, .leai(.qword, .tmp1, .tmp2), ._, ._ },14701 .{ .@"1:", ._, .@"and", .tmp3q, .leai(.tmp1q, .tmp2), ._, ._ },
14703 .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ },14702 .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ },
14704 .{ ._, ._, .lzcnt, .tmp4q, .tmp3q, ._, ._ },14703 .{ ._, ._, .lzcnt, .tmp4q, .tmp3q, ._, ._ },
14705 .{ ._, ._nc, .j, .@"1f", ._, ._, ._ },14704 .{ ._, ._nc, .j, .@"1f", ._, ._, ._ },
...@@ -14708,9 +14707,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -14708,9 +14707,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
14708 .{ ._, ._nc, .j, .@"1b", ._, ._, ._ },14707 .{ ._, ._nc, .j, .@"1b", ._, ._, ._ },
14709 .{ ._, ._, .xor, .tmp2d, .tmp2d, ._, ._ },14708 .{ ._, ._, .xor, .tmp2d, .tmp2d, ._, ._ },
14710 .{ .@"1:", ._, .neg, .tmp2d, ._, ._, ._ },14709 .{ .@"1:", ._, .neg, .tmp2d, ._, ._, ._ },
14711 .{ ._, ._, .lea, .tmp3d, .leasiad(.none, .tmp4, .@"8", .tmp2, .add_src0_bit_size, -64), ._, ._ },14710 .{ ._, ._, .lea, .tmp3d, .leasiad(.tmp4, .@"8", .tmp2, .add_src0_bit_size, -64), ._, ._ },
14712 .{ ._, ._, .mov, .memia(.dst0b, .tmp0, .add_len), .tmp3b, ._, ._ },14711 .{ ._, ._, .mov, .memia(.dst0b, .tmp0, .add_len), .tmp3b, ._, ._ },
14713 .{ ._, ._, .lea, .tmp1q, .leaa(.none, .tmp1, .add_src0_elem_size), ._, ._ },14712 .{ ._, ._, .lea, .tmp1q, .leaa(.tmp1, .add_src0_elem_size), ._, ._ },
14714 .{ ._, ._, .add, .tmp0p, .si(1), ._, ._ },14713 .{ ._, ._, .add, .tmp0p, .si(1), ._, ._ },
14715 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },14714 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
14716 } },14715 } },
...@@ -14739,7 +14738,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -14739,7 +14738,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
14739 .{ ._, ._, .lea, .tmp1q, .mem(.src0), ._, ._ },14738 .{ ._, ._, .lea, .tmp1q, .mem(.src0), ._, ._ },
14740 .{ .@"0:", ._, .mov, .tmp2d, .sia(-8, .none, .add_src0_elem_size), ._, ._ },14739 .{ .@"0:", ._, .mov, .tmp2d, .sia(-8, .none, .add_src0_elem_size), ._, ._ },
14741 .{ ._, ._, .mov, .tmp3q, .ua(.src0, .add_umax), ._, ._ },14740 .{ ._, ._, .mov, .tmp3q, .ua(.src0, .add_umax), ._, ._ },
14742 .{ .@"1:", ._, .@"and", .tmp3q, .leai(.qword, .tmp1, .tmp2), ._, ._ },14741 .{ .@"1:", ._, .@"and", .tmp3q, .leai(.tmp1q, .tmp2), ._, ._ },
14743 .{ ._, ._, .lzcnt, .tmp4q, .tmp3q, ._, ._ },14742 .{ ._, ._, .lzcnt, .tmp4q, .tmp3q, ._, ._ },
14744 .{ ._, ._nc, .j, .@"1f", ._, ._, ._ },14743 .{ ._, ._nc, .j, .@"1f", ._, ._, ._ },
14745 .{ ._, ._, .mov, .tmp3q, .si(-1), ._, ._ },14744 .{ ._, ._, .mov, .tmp3q, .si(-1), ._, ._ },
...@@ -14747,9 +14746,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -14747,9 +14746,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
14747 .{ ._, ._nc, .j, .@"1b", ._, ._, ._ },14746 .{ ._, ._nc, .j, .@"1b", ._, ._, ._ },
14748 .{ ._, ._, .xor, .tmp2d, .tmp2d, ._, ._ },14747 .{ ._, ._, .xor, .tmp2d, .tmp2d, ._, ._ },
14749 .{ .@"1:", ._, .neg, .tmp2d, ._, ._, ._ },14748 .{ .@"1:", ._, .neg, .tmp2d, ._, ._, ._ },
14750 .{ ._, ._, .lea, .tmp3d, .leasiad(.none, .tmp4, .@"8", .tmp2, .add_src0_bit_size, -64), ._, ._ },14749 .{ ._, ._, .lea, .tmp3d, .leasiad(.tmp4, .@"8", .tmp2, .add_src0_bit_size, -64), ._, ._ },
14751 .{ ._, ._, .mov, .memia(.dst0b, .tmp0, .add_len), .tmp3b, ._, ._ },14750 .{ ._, ._, .mov, .memia(.dst0b, .tmp0, .add_len), .tmp3b, ._, ._ },
14752 .{ ._, ._, .lea, .tmp1q, .leaa(.none, .tmp1, .add_src0_elem_size), ._, ._ },14751 .{ ._, ._, .lea, .tmp1q, .leaa(.tmp1, .add_src0_elem_size), ._, ._ },
14753 .{ ._, ._, .add, .tmp0p, .si(1), ._, ._ },14752 .{ ._, ._, .add, .tmp0p, .si(1), ._, ._ },
14754 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },14753 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
14755 } },14754 } },
...@@ -14778,17 +14777,17 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -14778,17 +14777,17 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
14778 .{ ._, ._, .lea, .tmp1q, .mem(.src0), ._, ._ },14777 .{ ._, ._, .lea, .tmp1q, .mem(.src0), ._, ._ },
14779 .{ .@"0:", ._, .mov, .tmp2d, .sia(-8, .none, .add_src0_elem_size), ._, ._ },14778 .{ .@"0:", ._, .mov, .tmp2d, .sia(-8, .none, .add_src0_elem_size), ._, ._ },
14780 .{ ._, ._, .mov, .tmp3q, .ua(.src0, .add_umax), ._, ._ },14779 .{ ._, ._, .mov, .tmp3q, .ua(.src0, .add_umax), ._, ._ },
14781 .{ .@"1:", ._, .@"and", .tmp3q, .leai(.qword, .tmp1, .tmp2), ._, ._ },14780 .{ .@"1:", ._, .@"and", .tmp3q, .leai(.tmp1q, .tmp2), ._, ._ },
14782 .{ ._, ._r, .bs, .tmp3q, .tmp3q, ._, ._ },14781 .{ ._, ._r, .bs, .tmp3q, .tmp3q, ._, ._ },
14783 .{ ._, ._nz, .j, .@"1f", ._, ._, ._ },14782 .{ ._, ._nz, .j, .@"1f", ._, ._, ._ },
14784 .{ ._, ._, .mov, .tmp3q, .si(-1), ._, ._ },14783 .{ ._, ._, .mov, .tmp3q, .si(-1), ._, ._ },
14785 .{ ._, ._, .sub, .tmp2d, .si(8), ._, ._ },14784 .{ ._, ._, .sub, .tmp2d, .si(8), ._, ._ },
14786 .{ ._, ._nc, .j, .@"1b", ._, ._, ._ },14785 .{ ._, ._nc, .j, .@"1b", ._, ._, ._ },
14787 .{ ._, ._, .xor, .tmp2d, .tmp2d, ._, ._ },14786 .{ ._, ._, .xor, .tmp2d, .tmp2d, ._, ._ },
14788 .{ .@"1:", ._, .lea, .tmp3d, .leasiad(.none, .tmp3, .@"8", .tmp2, .sub_src0_bit_size, 1), ._, ._ },14787 .{ .@"1:", ._, .lea, .tmp3d, .leasiad(.tmp3, .@"8", .tmp2, .sub_src0_bit_size, 1), ._, ._ },
14789 .{ ._, ._, .neg, .tmp3b, ._, ._, ._ },14788 .{ ._, ._, .neg, .tmp3b, ._, ._, ._ },
14790 .{ ._, ._, .mov, .memia(.dst0b, .tmp0, .add_len), .tmp3b, ._, ._ },14789 .{ ._, ._, .mov, .memia(.dst0b, .tmp0, .add_len), .tmp3b, ._, ._ },
14791 .{ ._, ._, .lea, .tmp1q, .leaa(.none, .tmp1, .add_src0_elem_size), ._, ._ },14790 .{ ._, ._, .lea, .tmp1q, .leaa(.tmp1, .add_src0_elem_size), ._, ._ },
14792 .{ ._, ._, .add, .tmp0p, .si(1), ._, ._ },14791 .{ ._, ._, .add, .tmp0p, .si(1), ._, ._ },
14793 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },14792 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
14794 } },14793 } },
...@@ -14817,7 +14816,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -14817,7 +14816,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
14817 .{ ._, ._, .lea, .tmp1q, .mem(.src0), ._, ._ },14816 .{ ._, ._, .lea, .tmp1q, .mem(.src0), ._, ._ },
14818 .{ .@"0:", ._, .mov, .tmp2d, .sia(-16, .none, .add_src0_elem_size), ._, ._ },14817 .{ .@"0:", ._, .mov, .tmp2d, .sia(-16, .none, .add_src0_elem_size), ._, ._ },
14819 .{ ._, ._, .mov, .tmp3q, .ua(.src0, .add_umax), ._, ._ },14818 .{ ._, ._, .mov, .tmp3q, .ua(.src0, .add_umax), ._, ._ },
14820 .{ .@"1:", ._, .@"and", .tmp3q, .leai(.qword, .tmp1, .tmp2), ._, ._ },14819 .{ .@"1:", ._, .@"and", .tmp3q, .leai(.tmp1q, .tmp2), ._, ._ },
14821 .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ },14820 .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ },
14822 .{ ._, ._, .lzcnt, .tmp4q, .tmp3q, ._, ._ },14821 .{ ._, ._, .lzcnt, .tmp4q, .tmp3q, ._, ._ },
14823 .{ ._, ._nc, .j, .@"1f", ._, ._, ._ },14822 .{ ._, ._nc, .j, .@"1f", ._, ._, ._ },
...@@ -14826,9 +14825,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -14826,9 +14825,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
14826 .{ ._, ._nc, .j, .@"1b", ._, ._, ._ },14825 .{ ._, ._nc, .j, .@"1b", ._, ._, ._ },
14827 .{ ._, ._, .xor, .tmp2d, .tmp2d, ._, ._ },14826 .{ ._, ._, .xor, .tmp2d, .tmp2d, ._, ._ },
14828 .{ .@"1:", ._, .neg, .tmp2d, ._, ._, ._ },14827 .{ .@"1:", ._, .neg, .tmp2d, ._, ._, ._ },
14829 .{ ._, ._, .lea, .tmp3d, .leasiad(.none, .tmp4, .@"8", .tmp2, .add_src0_bit_size, -64), ._, ._ },14828 .{ ._, ._, .lea, .tmp3d, .leasiad(.tmp4, .@"8", .tmp2, .add_src0_bit_size, -64), ._, ._ },
14830 .{ ._, ._, .mov, .memsia(.dst0w, .@"2", .tmp0, .add_2_len), .tmp3w, ._, ._ },14829 .{ ._, ._, .mov, .memsia(.dst0w, .@"2", .tmp0, .add_2_len), .tmp3w, ._, ._ },
14831 .{ ._, ._, .lea, .tmp1q, .leaa(.none, .tmp1, .add_src0_elem_size), ._, ._ },14830 .{ ._, ._, .lea, .tmp1q, .leaa(.tmp1, .add_src0_elem_size), ._, ._ },
14832 .{ ._, ._, .add, .tmp0p, .si(1), ._, ._ },14831 .{ ._, ._, .add, .tmp0p, .si(1), ._, ._ },
14833 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },14832 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
14834 } },14833 } },
...@@ -14857,7 +14856,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -14857,7 +14856,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
14857 .{ ._, ._, .lea, .tmp1q, .mem(.src0), ._, ._ },14856 .{ ._, ._, .lea, .tmp1q, .mem(.src0), ._, ._ },
14858 .{ .@"0:", ._, .mov, .tmp2d, .sia(-16, .none, .add_src0_elem_size), ._, ._ },14857 .{ .@"0:", ._, .mov, .tmp2d, .sia(-16, .none, .add_src0_elem_size), ._, ._ },
14859 .{ ._, ._, .mov, .tmp3q, .ua(.src0, .add_umax), ._, ._ },14858 .{ ._, ._, .mov, .tmp3q, .ua(.src0, .add_umax), ._, ._ },
14860 .{ .@"1:", ._, .@"and", .tmp3q, .leai(.qword, .tmp1, .tmp2), ._, ._ },14859 .{ .@"1:", ._, .@"and", .tmp3q, .leai(.tmp1q, .tmp2), ._, ._ },
14861 .{ ._, ._, .lzcnt, .tmp4q, .tmp3q, ._, ._ },14860 .{ ._, ._, .lzcnt, .tmp4q, .tmp3q, ._, ._ },
14862 .{ ._, ._nc, .j, .@"1f", ._, ._, ._ },14861 .{ ._, ._nc, .j, .@"1f", ._, ._, ._ },
14863 .{ ._, ._, .mov, .tmp3q, .si(-1), ._, ._ },14862 .{ ._, ._, .mov, .tmp3q, .si(-1), ._, ._ },
...@@ -14865,9 +14864,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -14865,9 +14864,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
14865 .{ ._, ._nc, .j, .@"1b", ._, ._, ._ },14864 .{ ._, ._nc, .j, .@"1b", ._, ._, ._ },
14866 .{ ._, ._, .xor, .tmp2d, .tmp2d, ._, ._ },14865 .{ ._, ._, .xor, .tmp2d, .tmp2d, ._, ._ },
14867 .{ .@"1:", ._, .neg, .tmp2d, ._, ._, ._ },14866 .{ .@"1:", ._, .neg, .tmp2d, ._, ._, ._ },
14868 .{ ._, ._, .lea, .tmp3d, .leasiad(.none, .tmp4, .@"8", .tmp2, .add_src0_bit_size, -64), ._, ._ },14867 .{ ._, ._, .lea, .tmp3d, .leasiad(.tmp4, .@"8", .tmp2, .add_src0_bit_size, -64), ._, ._ },
14869 .{ ._, ._, .mov, .memsia(.dst0w, .@"2", .tmp0, .add_2_len), .tmp3w, ._, ._ },14868 .{ ._, ._, .mov, .memsia(.dst0w, .@"2", .tmp0, .add_2_len), .tmp3w, ._, ._ },
14870 .{ ._, ._, .lea, .tmp1q, .leaa(.none, .tmp1, .add_src0_elem_size), ._, ._ },14869 .{ ._, ._, .lea, .tmp1q, .leaa(.tmp1, .add_src0_elem_size), ._, ._ },
14871 .{ ._, ._, .add, .tmp0p, .si(1), ._, ._ },14870 .{ ._, ._, .add, .tmp0p, .si(1), ._, ._ },
14872 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },14871 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
14873 } },14872 } },
...@@ -14896,17 +14895,17 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -14896,17 +14895,17 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
14896 .{ ._, ._, .lea, .tmp1q, .mem(.src0), ._, ._ },14895 .{ ._, ._, .lea, .tmp1q, .mem(.src0), ._, ._ },
14897 .{ .@"0:", ._, .mov, .tmp2d, .sia(-16, .none, .add_src0_elem_size), ._, ._ },14896 .{ .@"0:", ._, .mov, .tmp2d, .sia(-16, .none, .add_src0_elem_size), ._, ._ },
14898 .{ ._, ._, .mov, .tmp3q, .ua(.src0, .add_umax), ._, ._ },14897 .{ ._, ._, .mov, .tmp3q, .ua(.src0, .add_umax), ._, ._ },
14899 .{ .@"1:", ._, .@"and", .tmp3q, .leai(.qword, .tmp1, .tmp2), ._, ._ },14898 .{ .@"1:", ._, .@"and", .tmp3q, .leai(.tmp1q, .tmp2), ._, ._ },
14900 .{ ._, ._r, .bs, .tmp3q, .tmp3q, ._, ._ },14899 .{ ._, ._r, .bs, .tmp3q, .tmp3q, ._, ._ },
14901 .{ ._, ._nz, .j, .@"1f", ._, ._, ._ },14900 .{ ._, ._nz, .j, .@"1f", ._, ._, ._ },
14902 .{ ._, ._, .mov, .tmp3q, .si(-1), ._, ._ },14901 .{ ._, ._, .mov, .tmp3q, .si(-1), ._, ._ },
14903 .{ ._, ._, .sub, .tmp2d, .si(8), ._, ._ },14902 .{ ._, ._, .sub, .tmp2d, .si(8), ._, ._ },
14904 .{ ._, ._nc, .j, .@"1b", ._, ._, ._ },14903 .{ ._, ._nc, .j, .@"1b", ._, ._, ._ },
14905 .{ ._, ._, .xor, .tmp2d, .tmp2d, ._, ._ },14904 .{ ._, ._, .xor, .tmp2d, .tmp2d, ._, ._ },
14906 .{ .@"1:", ._, .lea, .tmp3d, .leasiad(.none, .tmp3, .@"8", .tmp2, .sub_src0_bit_size, 1), ._, ._ },14905 .{ .@"1:", ._, .lea, .tmp3d, .leasiad(.tmp3, .@"8", .tmp2, .sub_src0_bit_size, 1), ._, ._ },
14907 .{ ._, ._, .neg, .tmp3d, ._, ._, ._ },14906 .{ ._, ._, .neg, .tmp3d, ._, ._, ._ },
14908 .{ ._, ._, .mov, .memsia(.dst0w, .@"2", .tmp0, .add_2_len), .tmp3w, ._, ._ },14907 .{ ._, ._, .mov, .memsia(.dst0w, .@"2", .tmp0, .add_2_len), .tmp3w, ._, ._ },
14909 .{ ._, ._, .lea, .tmp1q, .leaa(.none, .tmp1, .add_src0_elem_size), ._, ._ },14908 .{ ._, ._, .lea, .tmp1q, .leaa(.tmp1, .add_src0_elem_size), ._, ._ },
14910 .{ ._, ._, .add, .tmp0p, .si(1), ._, ._ },14909 .{ ._, ._, .add, .tmp0p, .si(1), ._, ._ },
14911 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },14910 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
14912 } },14911 } },
...@@ -14935,7 +14934,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -14935,7 +14934,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
14935 .{ ._, ._, .lea, .tmp1q, .mem(.src0), ._, ._ },14934 .{ ._, ._, .lea, .tmp1q, .mem(.src0), ._, ._ },
14936 .{ .@"0:", ._, .mov, .tmp2d, .sia(-8, .none, .add_src0_elem_size), ._, ._ },14935 .{ .@"0:", ._, .mov, .tmp2d, .sia(-8, .none, .add_src0_elem_size), ._, ._ },
14937 .{ ._, ._, .mov, .tmp3q, .ua(.src0, .add_umax), ._, ._ },14936 .{ ._, ._, .mov, .tmp3q, .ua(.src0, .add_umax), ._, ._ },
14938 .{ .@"1:", ._, .@"and", .tmp3q, .leai(.qword, .tmp1, .tmp2), ._, ._ },14937 .{ .@"1:", ._, .@"and", .tmp3q, .leai(.tmp1q, .tmp2), ._, ._ },
14939 .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ },14938 .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ },
14940 .{ ._, ._, .lzcnt, .tmp4q, .tmp3q, ._, ._ },14939 .{ ._, ._, .lzcnt, .tmp4q, .tmp3q, ._, ._ },
14941 .{ ._, ._nc, .j, .@"1f", ._, ._, ._ },14940 .{ ._, ._nc, .j, .@"1f", ._, ._, ._ },
...@@ -14944,9 +14943,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -14944,9 +14943,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
14944 .{ ._, ._nc, .j, .@"1b", ._, ._, ._ },14943 .{ ._, ._nc, .j, .@"1b", ._, ._, ._ },
14945 .{ ._, ._, .xor, .tmp2d, .tmp2d, ._, ._ },14944 .{ ._, ._, .xor, .tmp2d, .tmp2d, ._, ._ },
14946 .{ .@"1:", ._, .neg, .tmp2d, ._, ._, ._ },14945 .{ .@"1:", ._, .neg, .tmp2d, ._, ._, ._ },
14947 .{ ._, ._, .lea, .tmp3d, .leasiad(.none, .tmp4, .@"8", .tmp2, .add_src0_bit_size, -64), ._, ._ },14946 .{ ._, ._, .lea, .tmp3d, .leasiad(.tmp4, .@"8", .tmp2, .add_src0_bit_size, -64), ._, ._ },
14948 .{ ._, ._, .mov, .memsia(.dst0w, .@"2", .tmp0, .add_2_len), .tmp3w, ._, ._ },14947 .{ ._, ._, .mov, .memsia(.dst0w, .@"2", .tmp0, .add_2_len), .tmp3w, ._, ._ },
14949 .{ ._, ._, .lea, .tmp1q, .leaa(.none, .tmp1, .add_src0_elem_size), ._, ._ },14948 .{ ._, ._, .lea, .tmp1q, .leaa(.tmp1, .add_src0_elem_size), ._, ._ },
14950 .{ ._, ._, .add, .tmp0p, .si(1), ._, ._ },14949 .{ ._, ._, .add, .tmp0p, .si(1), ._, ._ },
14951 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },14950 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
14952 } },14951 } },
...@@ -14975,7 +14974,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -14975,7 +14974,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
14975 .{ ._, ._, .lea, .tmp1q, .mem(.src0), ._, ._ },14974 .{ ._, ._, .lea, .tmp1q, .mem(.src0), ._, ._ },
14976 .{ .@"0:", ._, .mov, .tmp2d, .sia(-8, .none, .add_src0_elem_size), ._, ._ },14975 .{ .@"0:", ._, .mov, .tmp2d, .sia(-8, .none, .add_src0_elem_size), ._, ._ },
14977 .{ ._, ._, .mov, .tmp3q, .ua(.src0, .add_umax), ._, ._ },14976 .{ ._, ._, .mov, .tmp3q, .ua(.src0, .add_umax), ._, ._ },
14978 .{ .@"1:", ._, .@"and", .tmp3q, .leai(.qword, .tmp1, .tmp2), ._, ._ },14977 .{ .@"1:", ._, .@"and", .tmp3q, .leai(.tmp1q, .tmp2), ._, ._ },
14979 .{ ._, ._, .lzcnt, .tmp4q, .tmp3q, ._, ._ },14978 .{ ._, ._, .lzcnt, .tmp4q, .tmp3q, ._, ._ },
14980 .{ ._, ._nc, .j, .@"1f", ._, ._, ._ },14979 .{ ._, ._nc, .j, .@"1f", ._, ._, ._ },
14981 .{ ._, ._, .mov, .tmp3q, .si(-1), ._, ._ },14980 .{ ._, ._, .mov, .tmp3q, .si(-1), ._, ._ },
...@@ -14983,9 +14982,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -14983,9 +14982,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
14983 .{ ._, ._nc, .j, .@"1b", ._, ._, ._ },14982 .{ ._, ._nc, .j, .@"1b", ._, ._, ._ },
14984 .{ ._, ._, .xor, .tmp2d, .tmp2d, ._, ._ },14983 .{ ._, ._, .xor, .tmp2d, .tmp2d, ._, ._ },
14985 .{ .@"1:", ._, .neg, .tmp2d, ._, ._, ._ },14984 .{ .@"1:", ._, .neg, .tmp2d, ._, ._, ._ },
14986 .{ ._, ._, .lea, .tmp3d, .leasiad(.none, .tmp4, .@"8", .tmp2, .add_src0_bit_size, -64), ._, ._ },14985 .{ ._, ._, .lea, .tmp3d, .leasiad(.tmp4, .@"8", .tmp2, .add_src0_bit_size, -64), ._, ._ },
14987 .{ ._, ._, .mov, .memsia(.dst0w, .@"2", .tmp0, .add_2_len), .tmp3w, ._, ._ },14986 .{ ._, ._, .mov, .memsia(.dst0w, .@"2", .tmp0, .add_2_len), .tmp3w, ._, ._ },
14988 .{ ._, ._, .lea, .tmp1q, .leaa(.none, .tmp1, .add_src0_elem_size), ._, ._ },14987 .{ ._, ._, .lea, .tmp1q, .leaa(.tmp1, .add_src0_elem_size), ._, ._ },
14989 .{ ._, ._, .add, .tmp0p, .si(1), ._, ._ },14988 .{ ._, ._, .add, .tmp0p, .si(1), ._, ._ },
14990 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },14989 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
14991 } },14990 } },
...@@ -15014,17 +15013,17 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -15014,17 +15013,17 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
15014 .{ ._, ._, .lea, .tmp1q, .mem(.src0), ._, ._ },15013 .{ ._, ._, .lea, .tmp1q, .mem(.src0), ._, ._ },
15015 .{ .@"0:", ._, .mov, .tmp2d, .sia(-8, .none, .add_src0_elem_size), ._, ._ },15014 .{ .@"0:", ._, .mov, .tmp2d, .sia(-8, .none, .add_src0_elem_size), ._, ._ },
15016 .{ ._, ._, .mov, .tmp3q, .ua(.src0, .add_umax), ._, ._ },15015 .{ ._, ._, .mov, .tmp3q, .ua(.src0, .add_umax), ._, ._ },
15017 .{ .@"1:", ._, .@"and", .tmp3q, .leai(.qword, .tmp1, .tmp2), ._, ._ },15016 .{ .@"1:", ._, .@"and", .tmp3q, .leai(.tmp1q, .tmp2), ._, ._ },
15018 .{ ._, ._r, .bs, .tmp3q, .tmp3q, ._, ._ },15017 .{ ._, ._r, .bs, .tmp3q, .tmp3q, ._, ._ },
15019 .{ ._, ._nz, .j, .@"1f", ._, ._, ._ },15018 .{ ._, ._nz, .j, .@"1f", ._, ._, ._ },
15020 .{ ._, ._, .mov, .tmp3q, .si(-1), ._, ._ },15019 .{ ._, ._, .mov, .tmp3q, .si(-1), ._, ._ },
15021 .{ ._, ._, .sub, .tmp2d, .si(8), ._, ._ },15020 .{ ._, ._, .sub, .tmp2d, .si(8), ._, ._ },
15022 .{ ._, ._nc, .j, .@"1b", ._, ._, ._ },15021 .{ ._, ._nc, .j, .@"1b", ._, ._, ._ },
15023 .{ ._, ._, .xor, .tmp2d, .tmp2d, ._, ._ },15022 .{ ._, ._, .xor, .tmp2d, .tmp2d, ._, ._ },
15024 .{ .@"1:", ._, .lea, .tmp3d, .leasiad(.none, .tmp3, .@"8", .tmp2, .sub_src0_bit_size, 1), ._, ._ },15023 .{ .@"1:", ._, .lea, .tmp3d, .leasiad(.tmp3, .@"8", .tmp2, .sub_src0_bit_size, 1), ._, ._ },
15025 .{ ._, ._, .neg, .tmp3d, ._, ._, ._ },15024 .{ ._, ._, .neg, .tmp3d, ._, ._, ._ },
15026 .{ ._, ._, .mov, .memsia(.dst0w, .@"2", .tmp0, .add_2_len), .tmp3w, ._, ._ },15025 .{ ._, ._, .mov, .memsia(.dst0w, .@"2", .tmp0, .add_2_len), .tmp3w, ._, ._ },
15027 .{ ._, ._, .lea, .tmp1q, .leaa(.none, .tmp1, .add_src0_elem_size), ._, ._ },15026 .{ ._, ._, .lea, .tmp1q, .leaa(.tmp1, .add_src0_elem_size), ._, ._ },
15028 .{ ._, ._, .add, .tmp0p, .si(1), ._, ._ },15027 .{ ._, ._, .add, .tmp0p, .si(1), ._, ._ },
15029 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },15028 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
15030 } },15029 } },
...@@ -15524,7 +15523,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -15524,7 +15523,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
15524 .{ ._, .vp_b, .cmpeq, .tmp3y, .tmp3y, .memia(.src1y, .tmp0, .add_size), ._ },15523 .{ ._, .vp_b, .cmpeq, .tmp3y, .tmp3y, .memia(.src1y, .tmp0, .add_size), ._ },
15525 .{ ._, .vp_b, .movmsk, .tmp2d, .tmp3y, ._, ._ },15524 .{ ._, .vp_b, .movmsk, .tmp2d, .tmp3y, ._, ._ },
15526 .{ ._, ._, .mov, .memi(.dst0d, .tmp1), .tmp2d, ._, ._ },15525 .{ ._, ._, .mov, .memi(.dst0d, .tmp1), .tmp2d, ._, ._ },
15527 .{ ._, ._, .lea, .tmp1d, .lead(.none, .tmp1, 4), ._, ._ },15526 .{ ._, ._, .lea, .tmp1d, .lead(.tmp1, 4), ._, ._ },
15528 .{ ._, ._, .add, .tmp0p, .si(32), ._, ._ },15527 .{ ._, ._, .add, .tmp0p, .si(32), ._, ._ },
15529 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },15528 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
15530 },15529 },
...@@ -15536,7 +15535,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -15536,7 +15535,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
15536 .{ ._, .vp_b, .movmsk, .tmp2d, .tmp3y, ._, ._ },15535 .{ ._, .vp_b, .movmsk, .tmp2d, .tmp3y, ._, ._ },
15537 .{ ._, ._, .not, .tmp2d, ._, ._, ._ },15536 .{ ._, ._, .not, .tmp2d, ._, ._, ._ },
15538 .{ ._, ._, .mov, .memi(.dst0d, .tmp1), .tmp2d, ._, ._ },15537 .{ ._, ._, .mov, .memi(.dst0d, .tmp1), .tmp2d, ._, ._ },
15539 .{ ._, ._, .lea, .tmp1d, .lead(.none, .tmp1, 4), ._, ._ },15538 .{ ._, ._, .lea, .tmp1d, .lead(.tmp1, 4), ._, ._ },
15540 .{ ._, ._, .add, .tmp0p, .si(32), ._, ._ },15539 .{ ._, ._, .add, .tmp0p, .si(32), ._, ._ },
15541 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },15540 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
15542 },15541 },
...@@ -15570,7 +15569,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -15570,7 +15569,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
15570 .{ ._, .vp_b, .ackssw, .tmp3y, .tmp3y, .tmp3y, ._ },15569 .{ ._, .vp_b, .ackssw, .tmp3y, .tmp3y, .tmp3y, ._ },
15571 .{ ._, .vp_b, .movmsk, .tmp2d, .tmp3y, ._, ._ },15570 .{ ._, .vp_b, .movmsk, .tmp2d, .tmp3y, ._, ._ },
15572 .{ ._, ._, .mov, .memi(.dst0w, .tmp1), .tmp2w, ._, ._ },15571 .{ ._, ._, .mov, .memi(.dst0w, .tmp1), .tmp2w, ._, ._ },
15573 .{ ._, ._, .lea, .tmp1d, .lead(.none, .tmp1, 2), ._, ._ },15572 .{ ._, ._, .lea, .tmp1d, .lead(.tmp1, 2), ._, ._ },
15574 .{ ._, ._, .add, .tmp0p, .si(32), ._, ._ },15573 .{ ._, ._, .add, .tmp0p, .si(32), ._, ._ },
15575 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },15574 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
15576 },15575 },
...@@ -15583,7 +15582,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -15583,7 +15582,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
15583 .{ ._, .vp_b, .movmsk, .tmp2d, .tmp3y, ._, ._ },15582 .{ ._, .vp_b, .movmsk, .tmp2d, .tmp3y, ._, ._ },
15584 .{ ._, ._, .not, .tmp2d, ._, ._, ._ },15583 .{ ._, ._, .not, .tmp2d, ._, ._, ._ },
15585 .{ ._, ._, .mov, .memi(.dst0w, .tmp1), .tmp2w, ._, ._ },15584 .{ ._, ._, .mov, .memi(.dst0w, .tmp1), .tmp2w, ._, ._ },
15586 .{ ._, ._, .lea, .tmp1d, .lead(.none, .tmp1, 2), ._, ._ },15585 .{ ._, ._, .lea, .tmp1d, .lead(.tmp1, 2), ._, ._ },
15587 .{ ._, ._, .add, .tmp0p, .si(32), ._, ._ },15586 .{ ._, ._, .add, .tmp0p, .si(32), ._, ._ },
15588 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },15587 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
15589 },15588 },
...@@ -15616,7 +15615,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -15616,7 +15615,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
15616 .{ ._, .vp_d, .cmpeq, .tmp3y, .tmp3y, .memia(.src1y, .tmp0, .add_size), ._ },15615 .{ ._, .vp_d, .cmpeq, .tmp3y, .tmp3y, .memia(.src1y, .tmp0, .add_size), ._ },
15617 .{ ._, .v_ps, .movmsk, .tmp2d, .tmp3y, ._, ._ },15616 .{ ._, .v_ps, .movmsk, .tmp2d, .tmp3y, ._, ._ },
15618 .{ ._, ._, .mov, .memi(.dst0b, .tmp1), .tmp2b, ._, ._ },15617 .{ ._, ._, .mov, .memi(.dst0b, .tmp1), .tmp2b, ._, ._ },
15619 .{ ._, ._, .lea, .tmp1d, .lead(.none, .tmp1, 1), ._, ._ },15618 .{ ._, ._, .lea, .tmp1d, .lead(.tmp1, 1), ._, ._ },
15620 .{ ._, ._, .add, .tmp0p, .si(32), ._, ._ },15619 .{ ._, ._, .add, .tmp0p, .si(32), ._, ._ },
15621 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },15620 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
15622 },15621 },
...@@ -15628,7 +15627,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -15628,7 +15627,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
15628 .{ ._, .v_ps, .movmsk, .tmp2d, .tmp3y, ._, ._ },15627 .{ ._, .v_ps, .movmsk, .tmp2d, .tmp3y, ._, ._ },
15629 .{ ._, ._, .not, .tmp2b, ._, ._, ._ },15628 .{ ._, ._, .not, .tmp2b, ._, ._, ._ },
15630 .{ ._, ._, .mov, .memi(.dst0b, .tmp1), .tmp2b, ._, ._ },15629 .{ ._, ._, .mov, .memi(.dst0b, .tmp1), .tmp2b, ._, ._ },
15631 .{ ._, ._, .lea, .tmp1d, .lead(.none, .tmp1, 1), ._, ._ },15630 .{ ._, ._, .lea, .tmp1d, .lead(.tmp1, 1), ._, ._ },
15632 .{ ._, ._, .add, .tmp0p, .si(32), ._, ._ },15631 .{ ._, ._, .add, .tmp0p, .si(32), ._, ._ },
15633 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },15632 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
15634 },15633 },
...@@ -15663,7 +15662,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -15663,7 +15662,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
15663 .{ ._, .v_pd, .movmsk, .tmp3d, .tmp4y, ._, ._ },15662 .{ ._, .v_pd, .movmsk, .tmp3d, .tmp4y, ._, ._ },
15664 .{ ._, ._l, .ro, .tmp3b, .tmp1b, ._, ._ },15663 .{ ._, ._l, .ro, .tmp3b, .tmp1b, ._, ._ },
15665 .{ ._, ._, .@"or", .tmp2b, .tmp3b, ._, ._ },15664 .{ ._, ._, .@"or", .tmp2b, .tmp3b, ._, ._ },
15666 .{ ._, ._, .lea, .tmp1d, .lead(.none, .tmp1, 4), ._, ._ },15665 .{ ._, ._, .lea, .tmp1d, .lead(.tmp1, 4), ._, ._ },
15667 .{ ._, ._, .@"test", .tmp1d, .si(0b111), ._, ._ },15666 .{ ._, ._, .@"test", .tmp1d, .si(0b111), ._, ._ },
15668 .{ ._, ._nz, .j, .@"1f", ._, ._, ._ },15667 .{ ._, ._nz, .j, .@"1f", ._, ._, ._ },
15669 .{ ._, ._, .mov, .tmp3d, .tmp1d, ._, ._ },15668 .{ ._, ._, .mov, .tmp3d, .tmp1d, ._, ._ },
...@@ -15687,7 +15686,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -15687,7 +15686,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
15687 .{ ._, ._, .xor, .tmp3b, .si(0b1111), ._, ._ },15686 .{ ._, ._, .xor, .tmp3b, .si(0b1111), ._, ._ },
15688 .{ ._, ._l, .ro, .tmp3b, .tmp1b, ._, ._ },15687 .{ ._, ._l, .ro, .tmp3b, .tmp1b, ._, ._ },
15689 .{ ._, ._, .@"or", .tmp2b, .tmp3b, ._, ._ },15688 .{ ._, ._, .@"or", .tmp2b, .tmp3b, ._, ._ },
15690 .{ ._, ._, .lea, .tmp1d, .lead(.none, .tmp1, 4), ._, ._ },15689 .{ ._, ._, .lea, .tmp1d, .lead(.tmp1, 4), ._, ._ },
15691 .{ ._, ._, .@"test", .tmp1d, .si(0b111), ._, ._ },15690 .{ ._, ._, .@"test", .tmp1d, .si(0b111), ._, ._ },
15692 .{ ._, ._nz, .j, .@"1f", ._, ._, ._ },15691 .{ ._, ._nz, .j, .@"1f", ._, ._, ._ },
15693 .{ ._, ._, .mov, .tmp3d, .tmp1d, ._, ._ },15692 .{ ._, ._, .mov, .tmp3d, .tmp1d, ._, ._ },
...@@ -15730,7 +15729,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -15730,7 +15729,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
15730 .{ ._, .vp_b, .cmpeq, .tmp3x, .tmp3x, .memia(.src1x, .tmp0, .add_size), ._ },15729 .{ ._, .vp_b, .cmpeq, .tmp3x, .tmp3x, .memia(.src1x, .tmp0, .add_size), ._ },
15731 .{ ._, .vp_b, .movmsk, .tmp2d, .tmp3x, ._, ._ },15730 .{ ._, .vp_b, .movmsk, .tmp2d, .tmp3x, ._, ._ },
15732 .{ ._, ._, .mov, .memi(.dst0w, .tmp1), .tmp2w, ._, ._ },15731 .{ ._, ._, .mov, .memi(.dst0w, .tmp1), .tmp2w, ._, ._ },
15733 .{ ._, ._, .lea, .tmp1d, .lead(.none, .tmp1, 2), ._, ._ },15732 .{ ._, ._, .lea, .tmp1d, .lead(.tmp1, 2), ._, ._ },
15734 .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ },15733 .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ },
15735 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },15734 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
15736 },15735 },
...@@ -15742,7 +15741,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -15742,7 +15741,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
15742 .{ ._, .vp_b, .movmsk, .tmp2d, .tmp3x, ._, ._ },15741 .{ ._, .vp_b, .movmsk, .tmp2d, .tmp3x, ._, ._ },
15743 .{ ._, ._, .not, .tmp2d, ._, ._, ._ },15742 .{ ._, ._, .not, .tmp2d, ._, ._, ._ },
15744 .{ ._, ._, .mov, .memi(.dst0w, .tmp1), .tmp2w, ._, ._ },15743 .{ ._, ._, .mov, .memi(.dst0w, .tmp1), .tmp2w, ._, ._ },
15745 .{ ._, ._, .lea, .tmp1d, .lead(.none, .tmp1, 2), ._, ._ },15744 .{ ._, ._, .lea, .tmp1d, .lead(.tmp1, 2), ._, ._ },
15746 .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ },15745 .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ },
15747 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },15746 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
15748 },15747 },
...@@ -15776,7 +15775,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -15776,7 +15775,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
15776 .{ ._, .vp_b, .ackssw, .tmp3x, .tmp3x, .tmp3x, ._ },15775 .{ ._, .vp_b, .ackssw, .tmp3x, .tmp3x, .tmp3x, ._ },
15777 .{ ._, .vp_b, .movmsk, .tmp2d, .tmp3x, ._, ._ },15776 .{ ._, .vp_b, .movmsk, .tmp2d, .tmp3x, ._, ._ },
15778 .{ ._, ._, .mov, .memi(.dst0b, .tmp1), .tmp2b, ._, ._ },15777 .{ ._, ._, .mov, .memi(.dst0b, .tmp1), .tmp2b, ._, ._ },
15779 .{ ._, ._, .lea, .tmp1d, .lead(.none, .tmp1, 1), ._, ._ },15778 .{ ._, ._, .lea, .tmp1d, .lead(.tmp1, 1), ._, ._ },
15780 .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ },15779 .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ },
15781 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },15780 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
15782 },15781 },
...@@ -15789,7 +15788,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -15789,7 +15788,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
15789 .{ ._, .vp_b, .movmsk, .tmp2d, .tmp3x, ._, ._ },15788 .{ ._, .vp_b, .movmsk, .tmp2d, .tmp3x, ._, ._ },
15790 .{ ._, ._, .not, .tmp2b, ._, ._, ._ },15789 .{ ._, ._, .not, .tmp2b, ._, ._, ._ },
15791 .{ ._, ._, .mov, .memi(.dst0b, .tmp1), .tmp2b, ._, ._ },15790 .{ ._, ._, .mov, .memi(.dst0b, .tmp1), .tmp2b, ._, ._ },
15792 .{ ._, ._, .lea, .tmp1d, .lead(.none, .tmp1, 1), ._, ._ },15791 .{ ._, ._, .lea, .tmp1d, .lead(.tmp1, 1), ._, ._ },
15793 .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ },15792 .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ },
15794 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },15793 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
15795 },15794 },
...@@ -15824,7 +15823,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -15824,7 +15823,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
15824 .{ ._, .v_ps, .movmsk, .tmp3d, .tmp4x, ._, ._ },15823 .{ ._, .v_ps, .movmsk, .tmp3d, .tmp4x, ._, ._ },
15825 .{ ._, ._l, .ro, .tmp3b, .tmp1b, ._, ._ },15824 .{ ._, ._l, .ro, .tmp3b, .tmp1b, ._, ._ },
15826 .{ ._, ._, .@"or", .tmp2b, .tmp3b, ._, ._ },15825 .{ ._, ._, .@"or", .tmp2b, .tmp3b, ._, ._ },
15827 .{ ._, ._, .lea, .tmp1d, .lead(.none, .tmp1, 4), ._, ._ },15826 .{ ._, ._, .lea, .tmp1d, .lead(.tmp1, 4), ._, ._ },
15828 .{ ._, ._, .@"test", .tmp1d, .si(0b111), ._, ._ },15827 .{ ._, ._, .@"test", .tmp1d, .si(0b111), ._, ._ },
15829 .{ ._, ._nz, .j, .@"1f", ._, ._, ._ },15828 .{ ._, ._nz, .j, .@"1f", ._, ._, ._ },
15830 .{ ._, ._, .mov, .tmp3d, .tmp1d, ._, ._ },15829 .{ ._, ._, .mov, .tmp3d, .tmp1d, ._, ._ },
...@@ -15848,7 +15847,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -15848,7 +15847,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
15848 .{ ._, ._, .xor, .tmp3b, .si(0b1111), ._, ._ },15847 .{ ._, ._, .xor, .tmp3b, .si(0b1111), ._, ._ },
15849 .{ ._, ._l, .ro, .tmp3b, .tmp1b, ._, ._ },15848 .{ ._, ._l, .ro, .tmp3b, .tmp1b, ._, ._ },
15850 .{ ._, ._, .@"or", .tmp2b, .tmp3b, ._, ._ },15849 .{ ._, ._, .@"or", .tmp2b, .tmp3b, ._, ._ },
15851 .{ ._, ._, .lea, .tmp1d, .lead(.none, .tmp1, 4), ._, ._ },15850 .{ ._, ._, .lea, .tmp1d, .lead(.tmp1, 4), ._, ._ },
15852 .{ ._, ._, .@"test", .tmp1d, .si(0b111), ._, ._ },15851 .{ ._, ._, .@"test", .tmp1d, .si(0b111), ._, ._ },
15853 .{ ._, ._nz, .j, .@"1f", ._, ._, ._ },15852 .{ ._, ._nz, .j, .@"1f", ._, ._, ._ },
15854 .{ ._, ._, .mov, .tmp3d, .tmp1d, ._, ._ },15853 .{ ._, ._, .mov, .tmp3d, .tmp1d, ._, ._ },
...@@ -15893,7 +15892,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -15893,7 +15892,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
15893 .{ ._, .v_pd, .movmsk, .tmp3d, .tmp4x, ._, ._ },15892 .{ ._, .v_pd, .movmsk, .tmp3d, .tmp4x, ._, ._ },
15894 .{ ._, ._l, .ro, .tmp3b, .tmp1b, ._, ._ },15893 .{ ._, ._l, .ro, .tmp3b, .tmp1b, ._, ._ },
15895 .{ ._, ._, .@"or", .tmp2b, .tmp3b, ._, ._ },15894 .{ ._, ._, .@"or", .tmp2b, .tmp3b, ._, ._ },
15896 .{ ._, ._, .lea, .tmp1d, .lead(.none, .tmp1, 2), ._, ._ },15895 .{ ._, ._, .lea, .tmp1d, .lead(.tmp1, 2), ._, ._ },
15897 .{ ._, ._, .@"test", .tmp1d, .si(0b111), ._, ._ },15896 .{ ._, ._, .@"test", .tmp1d, .si(0b111), ._, ._ },
15898 .{ ._, ._nz, .j, .@"1f", ._, ._, ._ },15897 .{ ._, ._nz, .j, .@"1f", ._, ._, ._ },
15899 .{ ._, ._, .mov, .tmp3d, .tmp1d, ._, ._ },15898 .{ ._, ._, .mov, .tmp3d, .tmp1d, ._, ._ },
...@@ -15917,7 +15916,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -15917,7 +15916,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
15917 .{ ._, ._, .xor, .tmp3b, .si(0b11), ._, ._ },15916 .{ ._, ._, .xor, .tmp3b, .si(0b11), ._, ._ },
15918 .{ ._, ._l, .ro, .tmp3b, .tmp1b, ._, ._ },15917 .{ ._, ._l, .ro, .tmp3b, .tmp1b, ._, ._ },
15919 .{ ._, ._, .@"or", .tmp2b, .tmp3b, ._, ._ },15918 .{ ._, ._, .@"or", .tmp2b, .tmp3b, ._, ._ },
15920 .{ ._, ._, .lea, .tmp1d, .lead(.none, .tmp1, 2), ._, ._ },15919 .{ ._, ._, .lea, .tmp1d, .lead(.tmp1, 2), ._, ._ },
15921 .{ ._, ._, .@"test", .tmp1d, .si(0b111), ._, ._ },15920 .{ ._, ._, .@"test", .tmp1d, .si(0b111), ._, ._ },
15922 .{ ._, ._nz, .j, .@"1f", ._, ._, ._ },15921 .{ ._, ._nz, .j, .@"1f", ._, ._, ._ },
15923 .{ ._, ._, .mov, .tmp3d, .tmp1d, ._, ._ },15922 .{ ._, ._, .mov, .tmp3d, .tmp1d, ._, ._ },
...@@ -15960,7 +15959,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -15960,7 +15959,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
15960 .{ ._, .p_b, .cmpeq, .tmp3x, .memia(.src1x, .tmp0, .add_size), ._, ._ },15959 .{ ._, .p_b, .cmpeq, .tmp3x, .memia(.src1x, .tmp0, .add_size), ._, ._ },
15961 .{ ._, .p_b, .movmsk, .tmp2d, .tmp3x, ._, ._ },15960 .{ ._, .p_b, .movmsk, .tmp2d, .tmp3x, ._, ._ },
15962 .{ ._, ._, .mov, .memi(.dst0w, .tmp1), .tmp2w, ._, ._ },15961 .{ ._, ._, .mov, .memi(.dst0w, .tmp1), .tmp2w, ._, ._ },
15963 .{ ._, ._, .lea, .tmp1d, .lead(.none, .tmp1, 2), ._, ._ },15962 .{ ._, ._, .lea, .tmp1d, .lead(.tmp1, 2), ._, ._ },
15964 .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ },15963 .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ },
15965 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },15964 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
15966 },15965 },
...@@ -15972,7 +15971,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -15972,7 +15971,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
15972 .{ ._, .p_b, .movmsk, .tmp2d, .tmp3x, ._, ._ },15971 .{ ._, .p_b, .movmsk, .tmp2d, .tmp3x, ._, ._ },
15973 .{ ._, ._, .not, .tmp2d, ._, ._, ._ },15972 .{ ._, ._, .not, .tmp2d, ._, ._, ._ },
15974 .{ ._, ._, .mov, .memi(.dst0w, .tmp1), .tmp2w, ._, ._ },15973 .{ ._, ._, .mov, .memi(.dst0w, .tmp1), .tmp2w, ._, ._ },
15975 .{ ._, ._, .lea, .tmp1d, .lead(.none, .tmp1, 2), ._, ._ },15974 .{ ._, ._, .lea, .tmp1d, .lead(.tmp1, 2), ._, ._ },
15976 .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ },15975 .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ },
15977 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },15976 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
15978 },15977 },
...@@ -16006,7 +16005,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -16006,7 +16005,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
16006 .{ ._, .p_b, .ackssw, .tmp3x, .tmp3x, ._, ._ },16005 .{ ._, .p_b, .ackssw, .tmp3x, .tmp3x, ._, ._ },
16007 .{ ._, .p_b, .movmsk, .tmp2d, .tmp3x, ._, ._ },16006 .{ ._, .p_b, .movmsk, .tmp2d, .tmp3x, ._, ._ },
16008 .{ ._, ._, .mov, .memi(.dst0b, .tmp1), .tmp2b, ._, ._ },16007 .{ ._, ._, .mov, .memi(.dst0b, .tmp1), .tmp2b, ._, ._ },
16009 .{ ._, ._, .lea, .tmp1d, .lead(.none, .tmp1, 1), ._, ._ },16008 .{ ._, ._, .lea, .tmp1d, .lead(.tmp1, 1), ._, ._ },
16010 .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ },16009 .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ },
16011 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },16010 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
16012 },16011 },
...@@ -16019,7 +16018,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -16019,7 +16018,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
16019 .{ ._, .p_b, .movmsk, .tmp2d, .tmp3x, ._, ._ },16018 .{ ._, .p_b, .movmsk, .tmp2d, .tmp3x, ._, ._ },
16020 .{ ._, ._, .not, .tmp2b, ._, ._, ._ },16019 .{ ._, ._, .not, .tmp2b, ._, ._, ._ },
16021 .{ ._, ._, .mov, .memi(.dst0b, .tmp1), .tmp2b, ._, ._ },16020 .{ ._, ._, .mov, .memi(.dst0b, .tmp1), .tmp2b, ._, ._ },
16022 .{ ._, ._, .lea, .tmp1d, .lead(.none, .tmp1, 1), ._, ._ },16021 .{ ._, ._, .lea, .tmp1d, .lead(.tmp1, 1), ._, ._ },
16023 .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ },16022 .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ },
16024 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },16023 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
16025 },16024 },
...@@ -16054,7 +16053,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -16054,7 +16053,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
16054 .{ ._, ._ps, .movmsk, .tmp3d, .tmp4x, ._, ._ },16053 .{ ._, ._ps, .movmsk, .tmp3d, .tmp4x, ._, ._ },
16055 .{ ._, ._l, .ro, .tmp3b, .tmp1b, ._, ._ },16054 .{ ._, ._l, .ro, .tmp3b, .tmp1b, ._, ._ },
16056 .{ ._, ._, .@"or", .tmp2b, .tmp3b, ._, ._ },16055 .{ ._, ._, .@"or", .tmp2b, .tmp3b, ._, ._ },
16057 .{ ._, ._, .lea, .tmp1d, .lead(.none, .tmp1, 4), ._, ._ },16056 .{ ._, ._, .lea, .tmp1d, .lead(.tmp1, 4), ._, ._ },
16058 .{ ._, ._, .@"test", .tmp1d, .si(0b111), ._, ._ },16057 .{ ._, ._, .@"test", .tmp1d, .si(0b111), ._, ._ },
16059 .{ ._, ._nz, .j, .@"1f", ._, ._, ._ },16058 .{ ._, ._nz, .j, .@"1f", ._, ._, ._ },
16060 .{ ._, ._, .mov, .tmp3d, .tmp1d, ._, ._ },16059 .{ ._, ._, .mov, .tmp3d, .tmp1d, ._, ._ },
...@@ -16078,7 +16077,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -16078,7 +16077,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
16078 .{ ._, ._, .xor, .tmp3b, .si(0b1111), ._, ._ },16077 .{ ._, ._, .xor, .tmp3b, .si(0b1111), ._, ._ },
16079 .{ ._, ._l, .ro, .tmp3b, .tmp1b, ._, ._ },16078 .{ ._, ._l, .ro, .tmp3b, .tmp1b, ._, ._ },
16080 .{ ._, ._, .@"or", .tmp2b, .tmp3b, ._, ._ },16079 .{ ._, ._, .@"or", .tmp2b, .tmp3b, ._, ._ },
16081 .{ ._, ._, .lea, .tmp1d, .lead(.none, .tmp1, 4), ._, ._ },16080 .{ ._, ._, .lea, .tmp1d, .lead(.tmp1, 4), ._, ._ },
16082 .{ ._, ._, .@"test", .tmp1d, .si(0b111), ._, ._ },16081 .{ ._, ._, .@"test", .tmp1d, .si(0b111), ._, ._ },
16083 .{ ._, ._nz, .j, .@"1f", ._, ._, ._ },16082 .{ ._, ._nz, .j, .@"1f", ._, ._, ._ },
16084 .{ ._, ._, .mov, .tmp3d, .tmp1d, ._, ._ },16083 .{ ._, ._, .mov, .tmp3d, .tmp1d, ._, ._ },
...@@ -16123,7 +16122,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -16123,7 +16122,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
16123 .{ ._, ._pd, .movmsk, .tmp3d, .tmp4x, ._, ._ },16122 .{ ._, ._pd, .movmsk, .tmp3d, .tmp4x, ._, ._ },
16124 .{ ._, ._l, .ro, .tmp3b, .tmp1b, ._, ._ },16123 .{ ._, ._l, .ro, .tmp3b, .tmp1b, ._, ._ },
16125 .{ ._, ._, .@"or", .tmp2b, .tmp3b, ._, ._ },16124 .{ ._, ._, .@"or", .tmp2b, .tmp3b, ._, ._ },
16126 .{ ._, ._, .lea, .tmp1d, .lead(.none, .tmp1, 2), ._, ._ },16125 .{ ._, ._, .lea, .tmp1d, .lead(.tmp1, 2), ._, ._ },
16127 .{ ._, ._, .@"test", .tmp1d, .si(0b111), ._, ._ },16126 .{ ._, ._, .@"test", .tmp1d, .si(0b111), ._, ._ },
16128 .{ ._, ._nz, .j, .@"1f", ._, ._, ._ },16127 .{ ._, ._nz, .j, .@"1f", ._, ._, ._ },
16129 .{ ._, ._, .mov, .tmp3d, .tmp1d, ._, ._ },16128 .{ ._, ._, .mov, .tmp3d, .tmp1d, ._, ._ },
...@@ -16147,7 +16146,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -16147,7 +16146,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
16147 .{ ._, ._, .xor, .tmp3b, .si(0b11), ._, ._ },16146 .{ ._, ._, .xor, .tmp3b, .si(0b11), ._, ._ },
16148 .{ ._, ._l, .ro, .tmp3b, .tmp1b, ._, ._ },16147 .{ ._, ._l, .ro, .tmp3b, .tmp1b, ._, ._ },
16149 .{ ._, ._, .@"or", .tmp2b, .tmp3b, ._, ._ },16148 .{ ._, ._, .@"or", .tmp2b, .tmp3b, ._, ._ },
16150 .{ ._, ._, .lea, .tmp1d, .lead(.none, .tmp1, 2), ._, ._ },16149 .{ ._, ._, .lea, .tmp1d, .lead(.tmp1, 2), ._, ._ },
16151 .{ ._, ._, .@"test", .tmp1d, .si(0b111), ._, ._ },16150 .{ ._, ._, .@"test", .tmp1d, .si(0b111), ._, ._ },
16152 .{ ._, ._nz, .j, .@"1f", ._, ._, ._ },16151 .{ ._, ._nz, .j, .@"1f", ._, ._, ._ },
16153 .{ ._, ._, .mov, .tmp3d, .tmp1d, ._, ._ },16152 .{ ._, ._, .mov, .tmp3d, .tmp1d, ._, ._ },
...@@ -16190,7 +16189,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -16190,7 +16189,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
16190 .{ ._, .p_b, .cmpeq, .tmp3q, .memia(.src1q, .tmp0, .add_size), ._, ._ },16189 .{ ._, .p_b, .cmpeq, .tmp3q, .memia(.src1q, .tmp0, .add_size), ._, ._ },
16191 .{ ._, .p_b, .movmsk, .tmp2d, .tmp3q, ._, ._ },16190 .{ ._, .p_b, .movmsk, .tmp2d, .tmp3q, ._, ._ },
16192 .{ ._, ._, .mov, .memi(.dst0b, .tmp1), .tmp2b, ._, ._ },16191 .{ ._, ._, .mov, .memi(.dst0b, .tmp1), .tmp2b, ._, ._ },
16193 .{ ._, ._, .lea, .tmp1d, .lead(.none, .tmp1, 1), ._, ._ },16192 .{ ._, ._, .lea, .tmp1d, .lead(.tmp1, 1), ._, ._ },
16194 .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ },16193 .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ },
16195 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },16194 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
16196 },16195 },
...@@ -16202,7 +16201,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -16202,7 +16201,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
16202 .{ ._, .p_b, .movmsk, .tmp2d, .tmp3q, ._, ._ },16201 .{ ._, .p_b, .movmsk, .tmp2d, .tmp3q, ._, ._ },
16203 .{ ._, ._, .not, .tmp2b, ._, ._, ._ },16202 .{ ._, ._, .not, .tmp2b, ._, ._, ._ },
16204 .{ ._, ._, .mov, .memi(.dst0b, .tmp1), .tmp2b, ._, ._ },16203 .{ ._, ._, .mov, .memi(.dst0b, .tmp1), .tmp2b, ._, ._ },
16205 .{ ._, ._, .lea, .tmp1d, .lead(.none, .tmp1, 1), ._, ._ },16204 .{ ._, ._, .lea, .tmp1d, .lead(.tmp1, 1), ._, ._ },
16206 .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ },16205 .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ },
16207 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },16206 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
16208 },16207 },
...@@ -16239,7 +16238,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -16239,7 +16238,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
16239 .{ ._, .p_b, .movmsk, .tmp4d, .tmp5q, ._, ._ },16238 .{ ._, .p_b, .movmsk, .tmp4d, .tmp5q, ._, ._ },
16240 .{ ._, ._l, .ro, .tmp4b, .tmp1b, ._, ._ },16239 .{ ._, ._l, .ro, .tmp4b, .tmp1b, ._, ._ },
16241 .{ ._, ._, .@"or", .tmp2b, .tmp4b, ._, ._ },16240 .{ ._, ._, .@"or", .tmp2b, .tmp4b, ._, ._ },
16242 .{ ._, ._, .lea, .tmp1d, .lead(.none, .tmp1, 4), ._, ._ },16241 .{ ._, ._, .lea, .tmp1d, .lead(.tmp1, 4), ._, ._ },
16243 .{ ._, ._, .@"test", .tmp1d, .si(0b111), ._, ._ },16242 .{ ._, ._, .@"test", .tmp1d, .si(0b111), ._, ._ },
16244 .{ ._, ._nz, .j, .@"1f", ._, ._, ._ },16243 .{ ._, ._nz, .j, .@"1f", ._, ._, ._ },
16245 .{ ._, ._, .mov, .tmp4d, .tmp1d, ._, ._ },16244 .{ ._, ._, .mov, .tmp4d, .tmp1d, ._, ._ },
...@@ -16265,7 +16264,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -16265,7 +16264,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
16265 .{ ._, ._, .xor, .tmp4b, .si(0b1111), ._, ._ },16264 .{ ._, ._, .xor, .tmp4b, .si(0b1111), ._, ._ },
16266 .{ ._, ._l, .ro, .tmp4b, .tmp1b, ._, ._ },16265 .{ ._, ._l, .ro, .tmp4b, .tmp1b, ._, ._ },
16267 .{ ._, ._, .@"or", .tmp2b, .tmp4b, ._, ._ },16266 .{ ._, ._, .@"or", .tmp2b, .tmp4b, ._, ._ },
16268 .{ ._, ._, .lea, .tmp1d, .lead(.none, .tmp1, 4), ._, ._ },16267 .{ ._, ._, .lea, .tmp1d, .lead(.tmp1, 4), ._, ._ },
16269 .{ ._, ._, .@"test", .tmp1d, .si(0b111), ._, ._ },16268 .{ ._, ._, .@"test", .tmp1d, .si(0b111), ._, ._ },
16270 .{ ._, ._nz, .j, .@"1f", ._, ._, ._ },16269 .{ ._, ._nz, .j, .@"1f", ._, ._, ._ },
16271 .{ ._, ._, .mov, .tmp4d, .tmp1d, ._, ._ },16270 .{ ._, ._, .mov, .tmp4d, .tmp1d, ._, ._ },
...@@ -16313,7 +16312,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -16313,7 +16312,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
16313 .{ ._, .p_b, .movmsk, .tmp4d, .tmp5q, ._, ._ },16312 .{ ._, .p_b, .movmsk, .tmp4d, .tmp5q, ._, ._ },
16314 .{ ._, ._l, .ro, .tmp4b, .tmp1b, ._, ._ },16313 .{ ._, ._l, .ro, .tmp4b, .tmp1b, ._, ._ },
16315 .{ ._, ._, .@"or", .tmp2b, .tmp4b, ._, ._ },16314 .{ ._, ._, .@"or", .tmp2b, .tmp4b, ._, ._ },
16316 .{ ._, ._, .lea, .tmp1d, .lead(.none, .tmp1, 2), ._, ._ },16315 .{ ._, ._, .lea, .tmp1d, .lead(.tmp1, 2), ._, ._ },
16317 .{ ._, ._, .@"test", .tmp1d, .si(0b111), ._, ._ },16316 .{ ._, ._, .@"test", .tmp1d, .si(0b111), ._, ._ },
16318 .{ ._, ._nz, .j, .@"1f", ._, ._, ._ },16317 .{ ._, ._nz, .j, .@"1f", ._, ._, ._ },
16319 .{ ._, ._, .mov, .tmp4d, .tmp1d, ._, ._ },16318 .{ ._, ._, .mov, .tmp4d, .tmp1d, ._, ._ },
...@@ -16340,7 +16339,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -16340,7 +16339,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
16340 .{ ._, ._, .xor, .tmp4b, .si(0b11), ._, ._ },16339 .{ ._, ._, .xor, .tmp4b, .si(0b11), ._, ._ },
16341 .{ ._, ._l, .ro, .tmp4b, .tmp1b, ._, ._ },16340 .{ ._, ._l, .ro, .tmp4b, .tmp1b, ._, ._ },
16342 .{ ._, ._, .@"or", .tmp2b, .tmp4b, ._, ._ },16341 .{ ._, ._, .@"or", .tmp2b, .tmp4b, ._, ._ },
16343 .{ ._, ._, .lea, .tmp1d, .lead(.none, .tmp1, 2), ._, ._ },16342 .{ ._, ._, .lea, .tmp1d, .lead(.tmp1, 2), ._, ._ },
16344 .{ ._, ._, .@"test", .tmp1d, .si(0b111), ._, ._ },16343 .{ ._, ._, .@"test", .tmp1d, .si(0b111), ._, ._ },
16345 .{ ._, ._nz, .j, .@"1f", ._, ._, ._ },16344 .{ ._, ._nz, .j, .@"1f", ._, ._, ._ },
16346 .{ ._, ._, .mov, .tmp4d, .tmp1d, ._, ._ },16345 .{ ._, ._, .mov, .tmp4d, .tmp1d, ._, ._ },
...@@ -17281,8 +17280,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -17281,8 +17280,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
17281 .ne => .neq,17280 .ne => .neq,
17282 }) },17281 }) },
17283 .{ ._, .v_ps, .movmsk, .tmp4d, .tmp2y, ._, ._ },17282 .{ ._, .v_ps, .movmsk, .tmp4d, .tmp2y, ._, ._ },
17284 .{ ._, ._, .mov, .lea(.byte, .tmp1), .tmp4b, ._, ._ },17283 .{ ._, ._, .mov, .lea(.tmp1b), .tmp4b, ._, ._ },
17285 .{ ._, ._, .lea, .tmp1p, .lead(.none, .tmp1, 1), ._, ._ },17284 .{ ._, ._, .lea, .tmp1p, .lead(.tmp1, 1), ._, ._ },
17286 .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ },17285 .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ },
17287 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },17286 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
17288 } },17287 } },
...@@ -17319,7 +17318,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -17319,7 +17318,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
17319 .ne => .neq,17318 .ne => .neq,
17320 }) },17319 }) },
17321 .{ ._, .v_ps, .movmsk, .tmp4d, .tmp2y, ._, ._ },17320 .{ ._, .v_ps, .movmsk, .tmp4d, .tmp2y, ._, ._ },
17322 .{ ._, ._, .mov, .lea(.byte, .tmp1), .tmp4b, ._, ._ },17321 .{ ._, ._, .mov, .lea(.tmp1b), .tmp4b, ._, ._ },
17323 .{ ._, ._c, .in, .tmp1p, ._, ._, ._ },17322 .{ ._, ._c, .in, .tmp1p, ._, ._, ._ },
17324 .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ },17323 .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ },
17325 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },17324 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
...@@ -17642,7 +17641,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -17642,7 +17641,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
17642 .{ ._, ._, .mov, .tmp6d, .tmp0d, ._, ._ },17641 .{ ._, ._, .mov, .tmp6d, .tmp0d, ._, ._ },
17643 .{ ._, ._l, .sh, .tmp7q, .tmp6b, ._, ._ },17642 .{ ._, ._l, .sh, .tmp7q, .tmp6b, ._, ._ },
17644 .{ ._, ._, .@"or", .tmp1q, .tmp7q, ._, ._ },17643 .{ ._, ._, .@"or", .tmp1q, .tmp7q, ._, ._ },
17645 .{ ._, ._, .lea, .tmp0d, .lead(.none, .tmp0, 1), ._, ._ },17644 .{ ._, ._, .lea, .tmp0d, .lead(.tmp0, 1), ._, ._ },
17646 .{ ._, ._, .@"test", .tmp0d, .si(0b111111), ._, ._ },17645 .{ ._, ._, .@"test", .tmp0d, .si(0b111111), ._, ._ },
17647 .{ ._, ._nz, .j, .@"1f", ._, ._, ._ },17646 .{ ._, ._nz, .j, .@"1f", ._, ._, ._ },
17648 .{ ._, ._, .mov, .tmp5d, .tmp0d, ._, ._ },17647 .{ ._, ._, .mov, .tmp5d, .tmp0d, ._, ._ },
...@@ -17751,7 +17750,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -17751,7 +17750,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
17751 .{ ._, ._, .mov, .tmp6d, .tmp0d, ._, ._ },17750 .{ ._, ._, .mov, .tmp6d, .tmp0d, ._, ._ },
17752 .{ ._, ._l, .sh, .tmp7q, .tmp6b, ._, ._ },17751 .{ ._, ._l, .sh, .tmp7q, .tmp6b, ._, ._ },
17753 .{ ._, ._, .@"or", .tmp1q, .tmp7q, ._, ._ },17752 .{ ._, ._, .@"or", .tmp1q, .tmp7q, ._, ._ },
17754 .{ ._, ._, .lea, .tmp0d, .lead(.none, .tmp0, 1), ._, ._ },17753 .{ ._, ._, .lea, .tmp0d, .lead(.tmp0, 1), ._, ._ },
17755 .{ ._, ._, .@"test", .tmp0d, .si(0b111111), ._, ._ },17754 .{ ._, ._, .@"test", .tmp0d, .si(0b111111), ._, ._ },
17756 .{ ._, ._nz, .j, .@"1f", ._, ._, ._ },17755 .{ ._, ._nz, .j, .@"1f", ._, ._, ._ },
17757 .{ ._, ._, .mov, .tmp5d, .tmp0d, ._, ._ },17756 .{ ._, ._, .mov, .tmp5d, .tmp0d, ._, ._ },
...@@ -17863,7 +17862,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -17863,7 +17862,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
17863 .{ ._, ._, .mov, .tmp6d, .tmp0d, ._, ._ },17862 .{ ._, ._, .mov, .tmp6d, .tmp0d, ._, ._ },
17864 .{ ._, ._l, .sh, .tmp7q, .tmp6b, ._, ._ },17863 .{ ._, ._l, .sh, .tmp7q, .tmp6b, ._, ._ },
17865 .{ ._, ._, .@"or", .tmp1q, .tmp7q, ._, ._ },17864 .{ ._, ._, .@"or", .tmp1q, .tmp7q, ._, ._ },
17866 .{ ._, ._, .lea, .tmp0d, .lead(.none, .tmp0, 1), ._, ._ },17865 .{ ._, ._, .lea, .tmp0d, .lead(.tmp0, 1), ._, ._ },
17867 .{ ._, ._, .@"test", .tmp0d, .si(0b111111), ._, ._ },17866 .{ ._, ._, .@"test", .tmp0d, .si(0b111111), ._, ._ },
17868 .{ ._, ._nz, .j, .@"1f", ._, ._, ._ },17867 .{ ._, ._nz, .j, .@"1f", ._, ._, ._ },
17869 .{ ._, ._, .mov, .tmp5d, .tmp0d, ._, ._ },17868 .{ ._, ._, .mov, .tmp5d, .tmp0d, ._, ._ },
...@@ -17966,8 +17965,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -17966,8 +17965,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
17966 .ne => .neq,17965 .ne => .neq,
17967 }) },17966 }) },
17968 .{ ._, .v_ps, .movmsk, .tmp3d, .tmp2y, ._, ._ },17967 .{ ._, .v_ps, .movmsk, .tmp3d, .tmp2y, ._, ._ },
17969 .{ ._, ._, .mov, .lea(.byte, .tmp1), .tmp3b, ._, ._ },17968 .{ ._, ._, .mov, .lea(.tmp1b), .tmp3b, ._, ._ },
17970 .{ ._, ._, .lea, .tmp1p, .lead(.none, .tmp1, 1), ._, ._ },17969 .{ ._, ._, .lea, .tmp1p, .lead(.tmp1, 1), ._, ._ },
17971 .{ ._, ._, .add, .tmp0p, .si(32), ._, ._ },17970 .{ ._, ._, .add, .tmp0p, .si(32), ._, ._ },
17972 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },17971 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
17973 } },17972 } },
...@@ -18003,7 +18002,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -18003,7 +18002,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
18003 .ne => .neq,18002 .ne => .neq,
18004 }) },18003 }) },
18005 .{ ._, .v_ps, .movmsk, .tmp3d, .tmp2y, ._, ._ },18004 .{ ._, .v_ps, .movmsk, .tmp3d, .tmp2y, ._, ._ },
18006 .{ ._, ._, .mov, .lea(.byte, .tmp1), .tmp3b, ._, ._ },18005 .{ ._, ._, .mov, .lea(.tmp1b), .tmp3b, ._, ._ },
18007 .{ ._, ._c, .in, .tmp1q, ._, ._, ._ },18006 .{ ._, ._c, .in, .tmp1q, ._, ._, ._ },
18008 .{ ._, ._, .add, .tmp0p, .si(32), ._, ._ },18007 .{ ._, ._, .add, .tmp0p, .si(32), ._, ._ },
18009 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },18008 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
...@@ -18048,8 +18047,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -18048,8 +18047,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
18048 .{ ._, .p_w, .ackssd, .tmp2x, .tmp3x, ._, ._ },18047 .{ ._, .p_w, .ackssd, .tmp2x, .tmp3x, ._, ._ },
18049 .{ ._, .p_b, .ackssw, .tmp2x, .tmp2x, ._, ._ },18048 .{ ._, .p_b, .ackssw, .tmp2x, .tmp2x, ._, ._ },
18050 .{ ._, .p_b, .movmsk, .tmp4d, .tmp2x, ._, ._ },18049 .{ ._, .p_b, .movmsk, .tmp4d, .tmp2x, ._, ._ },
18051 .{ ._, ._, .mov, .lea(.byte, .tmp1), .tmp4b, ._, ._ },18050 .{ ._, ._, .mov, .lea(.tmp1b), .tmp4b, ._, ._ },
18052 .{ ._, ._, .lea, .tmp1p, .lead(.none, .tmp1, 1), ._, ._ },18051 .{ ._, ._, .lea, .tmp1p, .lead(.tmp1, 1), ._, ._ },
18053 .{ ._, ._, .add, .tmp0p, .si(32), ._, ._ },18052 .{ ._, ._, .add, .tmp0p, .si(32), ._, ._ },
18054 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },18053 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
18055 } },18054 } },
...@@ -18094,8 +18093,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -18094,8 +18093,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
18094 .{ ._, ._ps, .movmsk, .tmp4d, .tmp2x, ._, ._ },18093 .{ ._, ._ps, .movmsk, .tmp4d, .tmp2x, ._, ._ },
18095 .{ ._, ._l, .sh, .tmp4b, .ui(4), ._, ._ },18094 .{ ._, ._l, .sh, .tmp4b, .ui(4), ._, ._ },
18096 .{ ._, ._, .@"or", .tmp3b, .tmp4b, ._, ._ },18095 .{ ._, ._, .@"or", .tmp3b, .tmp4b, ._, ._ },
18097 .{ ._, ._, .mov, .lea(.byte, .tmp1), .tmp3b, ._, ._ },18096 .{ ._, ._, .mov, .lea(.tmp1b), .tmp3b, ._, ._ },
18098 .{ ._, ._, .lea, .tmp1p, .lead(.none, .tmp1, 1), ._, ._ },18097 .{ ._, ._, .lea, .tmp1p, .lead(.tmp1, 1), ._, ._ },
18099 .{ ._, ._, .add, .tmp0p, .si(32), ._, ._ },18098 .{ ._, ._, .add, .tmp0p, .si(32), ._, ._ },
18100 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },18099 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
18101 } },18100 } },
...@@ -18134,8 +18133,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -18134,8 +18133,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
18134 .{ ._, ._ps, .movmsk, .tmp4d, .tmp2x, ._, ._ },18133 .{ ._, ._ps, .movmsk, .tmp4d, .tmp2x, ._, ._ },
18135 .{ ._, ._l, .sh, .tmp4b, .ui(4), ._, ._ },18134 .{ ._, ._l, .sh, .tmp4b, .ui(4), ._, ._ },
18136 .{ ._, ._, .@"or", .tmp3b, .tmp4b, ._, ._ },18135 .{ ._, ._, .@"or", .tmp3b, .tmp4b, ._, ._ },
18137 .{ ._, ._, .mov, .lea(.byte, .tmp1), .tmp3b, ._, ._ },18136 .{ ._, ._, .mov, .lea(.tmp1b), .tmp3b, ._, ._ },
18138 .{ ._, ._, .lea, .tmp1p, .lead(.none, .tmp1, 1), ._, ._ },18137 .{ ._, ._, .lea, .tmp1p, .lead(.tmp1, 1), ._, ._ },
18139 .{ .@"1:", ._ps, .mova, .tmp2x, .memia(.src0x, .tmp0, .add_size), ._, ._ },18138 .{ .@"1:", ._ps, .mova, .tmp2x, .memia(.src0x, .tmp0, .add_size), ._, ._ },
18140 .{ ._, ._ps, .cmp, .tmp2x, .memia(.src1x, .tmp0, .add_size), .vp(switch (cc) {18139 .{ ._, ._ps, .cmp, .tmp2x, .memia(.src1x, .tmp0, .add_size), .vp(switch (cc) {
18141 else => unreachable,18140 else => unreachable,
...@@ -18145,7 +18144,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -18145,7 +18144,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
18145 .{ ._, ._ps, .movmsk, .tmp3d, .tmp2x, ._, ._ },18144 .{ ._, ._ps, .movmsk, .tmp3d, .tmp2x, ._, ._ },
18146 .{ ._, ._, .add, .tmp0p, .si(32), ._, ._ },18145 .{ ._, ._, .add, .tmp0p, .si(32), ._, ._ },
18147 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },18146 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
18148 .{ ._, ._, .mov, .lea(.byte, .tmp1), .tmp3b, ._, ._ },18147 .{ ._, ._, .mov, .lea(.tmp1b), .tmp3b, ._, ._ },
18149 } },18148 } },
18150 }, .{18149 }, .{
18151 .required_features = .{ .avx, .slow_incdec, null, null },18150 .required_features = .{ .avx, .slow_incdec, null, null },
...@@ -18188,8 +18187,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -18188,8 +18187,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
18188 .{ ._, .v_pd, .movmsk, .tmp5d, .tmp3y, ._, ._ },18187 .{ ._, .v_pd, .movmsk, .tmp5d, .tmp3y, ._, ._ },
18189 .{ ._, ._l, .sh, .tmp5b, .ui(4), ._, ._ },18188 .{ ._, ._l, .sh, .tmp5b, .ui(4), ._, ._ },
18190 .{ ._, ._, .@"or", .tmp4b, .tmp5b, ._, ._ },18189 .{ ._, ._, .@"or", .tmp4b, .tmp5b, ._, ._ },
18191 .{ ._, ._, .mov, .lea(.byte, .tmp1), .tmp4b, ._, ._ },18190 .{ ._, ._, .mov, .lea(.tmp1b), .tmp4b, ._, ._ },
18192 .{ ._, ._, .lea, .tmp1p, .lead(.none, .tmp1, 1), ._, ._ },18191 .{ ._, ._, .lea, .tmp1p, .lead(.tmp1, 1), ._, ._ },
18193 .{ ._, ._, .add, .tmp0p, .si(64), ._, ._ },18192 .{ ._, ._, .add, .tmp0p, .si(64), ._, ._ },
18194 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },18193 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
18195 } },18194 } },
...@@ -18234,7 +18233,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -18234,7 +18233,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
18234 .{ ._, .v_pd, .movmsk, .tmp5d, .tmp3y, ._, ._ },18233 .{ ._, .v_pd, .movmsk, .tmp5d, .tmp3y, ._, ._ },
18235 .{ ._, ._l, .sh, .tmp5b, .ui(4), ._, ._ },18234 .{ ._, ._l, .sh, .tmp5b, .ui(4), ._, ._ },
18236 .{ ._, ._, .@"or", .tmp4b, .tmp5b, ._, ._ },18235 .{ ._, ._, .@"or", .tmp4b, .tmp5b, ._, ._ },
18237 .{ ._, ._, .mov, .lea(.byte, .tmp1), .tmp4b, ._, ._ },18236 .{ ._, ._, .mov, .lea(.tmp1b), .tmp4b, ._, ._ },
18238 .{ ._, ._c, .in, .tmp1q, ._, ._, ._ },18237 .{ ._, ._c, .in, .tmp1q, ._, ._, ._ },
18239 .{ ._, ._, .add, .tmp0p, .si(64), ._, ._ },18238 .{ ._, ._, .add, .tmp0p, .si(64), ._, ._ },
18240 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },18239 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
...@@ -18274,7 +18273,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -18274,7 +18273,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
18274 .{ ._, .v_pd, .movmsk, .tmp4d, .tmp3y, ._, ._ },18273 .{ ._, .v_pd, .movmsk, .tmp4d, .tmp3y, ._, ._ },
18275 .{ ._, ._l, .ro, .tmp4b, .tmp1b, ._, ._ },18274 .{ ._, ._l, .ro, .tmp4b, .tmp1b, ._, ._ },
18276 .{ ._, ._, .@"or", .tmp2b, .tmp4b, ._, ._ },18275 .{ ._, ._, .@"or", .tmp2b, .tmp4b, ._, ._ },
18277 .{ ._, ._, .lea, .tmp1d, .lead(.none, .tmp1, 4), ._, ._ },18276 .{ ._, ._, .lea, .tmp1d, .lead(.tmp1, 4), ._, ._ },
18278 .{ ._, ._, .@"test", .tmp1d, .si(0b111), ._, ._ },18277 .{ ._, ._, .@"test", .tmp1d, .si(0b111), ._, ._ },
18279 .{ ._, ._nz, .j, .@"1f", ._, ._, ._ },18278 .{ ._, ._nz, .j, .@"1f", ._, ._, ._ },
18280 .{ ._, ._, .mov, .tmp4d, .tmp1d, ._, ._ },18279 .{ ._, ._, .mov, .tmp4d, .tmp1d, ._, ._ },
...@@ -18323,7 +18322,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -18323,7 +18322,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
18323 .{ ._, ._pd, .movmsk, .tmp4d, .tmp3x, ._, ._ },18322 .{ ._, ._pd, .movmsk, .tmp4d, .tmp3x, ._, ._ },
18324 .{ ._, ._l, .ro, .tmp4b, .tmp1b, ._, ._ },18323 .{ ._, ._l, .ro, .tmp4b, .tmp1b, ._, ._ },
18325 .{ ._, ._, .@"or", .tmp2b, .tmp4b, ._, ._ },18324 .{ ._, ._, .@"or", .tmp2b, .tmp4b, ._, ._ },
18326 .{ ._, ._, .lea, .tmp1d, .lead(.none, .tmp1, 2), ._, ._ },18325 .{ ._, ._, .lea, .tmp1d, .lead(.tmp1, 2), ._, ._ },
18327 .{ ._, ._, .@"test", .tmp1d, .si(0b111), ._, ._ },18326 .{ ._, ._, .@"test", .tmp1d, .si(0b111), ._, ._ },
18328 .{ ._, ._nz, .j, .@"1f", ._, ._, ._ },18327 .{ ._, ._nz, .j, .@"1f", ._, ._, ._ },
18329 .{ ._, ._, .mov, .tmp4d, .tmp1d, ._, ._ },18328 .{ ._, ._, .mov, .tmp4d, .tmp1d, ._, ._ },
...@@ -18382,7 +18381,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -18382,7 +18381,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
18382 }, .tmp3b, .tmp4b, ._, ._ },18381 }, .tmp3b, .tmp4b, ._, ._ },
18383 .{ ._, ._l, .ro, .tmp3b, .tmp1b, ._, ._ },18382 .{ ._, ._l, .ro, .tmp3b, .tmp1b, ._, ._ },
18384 .{ ._, ._, .@"or", .tmp2b, .tmp3b, ._, ._ },18383 .{ ._, ._, .@"or", .tmp2b, .tmp3b, ._, ._ },
18385 .{ ._, ._, .lea, .tmp1d, .lead(.none, .tmp1, 1), ._, ._ },18384 .{ ._, ._, .lea, .tmp1d, .lead(.tmp1, 1), ._, ._ },
18386 .{ ._, ._, .@"test", .tmp1d, .si(0b111), ._, ._ },18385 .{ ._, ._, .@"test", .tmp1d, .si(0b111), ._, ._ },
18387 .{ ._, ._nz, .j, .@"1f", ._, ._, ._ },18386 .{ ._, ._nz, .j, .@"1f", ._, ._, ._ },
18388 .{ ._, ._, .mov, .tmp3d, .tmp1d, ._, ._ },18387 .{ ._, ._, .mov, .tmp3d, .tmp1d, ._, ._ },
...@@ -18550,7 +18549,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -18550,7 +18549,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
18550 }, .tmp3b, .tmp4b, ._, ._ },18549 }, .tmp3b, .tmp4b, ._, ._ },
18551 .{ ._, ._l, .ro, .tmp3b, .tmp1b, ._, ._ },18550 .{ ._, ._l, .ro, .tmp3b, .tmp1b, ._, ._ },
18552 .{ ._, ._, .@"or", .tmp2b, .tmp3b, ._, ._ },18551 .{ ._, ._, .@"or", .tmp2b, .tmp3b, ._, ._ },
18553 .{ ._, ._, .lea, .tmp1d, .lead(.none, .tmp1, 1), ._, ._ },18552 .{ ._, ._, .lea, .tmp1d, .lead(.tmp1, 1), ._, ._ },
18554 .{ ._, ._, .@"test", .tmp1d, .si(0b111), ._, ._ },18553 .{ ._, ._, .@"test", .tmp1d, .si(0b111), ._, ._ },
18555 .{ ._, ._nz, .j, .@"1f", ._, ._, ._ },18554 .{ ._, ._nz, .j, .@"1f", ._, ._, ._ },
18556 .{ ._, ._, .mov, .tmp3d, .tmp1d, ._, ._ },18555 .{ ._, ._, .mov, .tmp3d, .tmp1d, ._, ._ },
...@@ -18714,7 +18713,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -18714,7 +18713,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
18714 .{ ._, ._, .mov, .tmp6d, .tmp1d, ._, ._ },18713 .{ ._, ._, .mov, .tmp6d, .tmp1d, ._, ._ },
18715 .{ ._, ._l, .sh, .tmp7d, .tmp6b, ._, ._ },18714 .{ ._, ._l, .sh, .tmp7d, .tmp6b, ._, ._ },
18716 .{ ._, ._, .@"or", .dst0d, .tmp7d, ._, ._ },18715 .{ ._, ._, .@"or", .dst0d, .tmp7d, ._, ._ },
18717 .{ ._, ._, .lea, .tmp1d, .lead(.none, .tmp1, 1), ._, ._ },18716 .{ ._, ._, .lea, .tmp1d, .lead(.tmp1, 1), ._, ._ },
18718 .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ },18717 .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ },
18719 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },18718 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
18720 } },18719 } },
...@@ -18804,7 +18803,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -18804,7 +18803,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
18804 .{ ._, ._, .mov, .tmp6d, .tmp1d, ._, ._ },18803 .{ ._, ._, .mov, .tmp6d, .tmp1d, ._, ._ },
18805 .{ ._, ._l, .sh, .tmp7d, .tmp6b, ._, ._ },18804 .{ ._, ._l, .sh, .tmp7d, .tmp6b, ._, ._ },
18806 .{ ._, ._, .@"or", .dst0d, .tmp7d, ._, ._ },18805 .{ ._, ._, .@"or", .dst0d, .tmp7d, ._, ._ },
18807 .{ ._, ._, .lea, .tmp1d, .lead(.none, .tmp1, 1), ._, ._ },18806 .{ ._, ._, .lea, .tmp1d, .lead(.tmp1, 1), ._, ._ },
18808 .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ },18807 .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ },
18809 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },18808 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
18810 } },18809 } },
...@@ -18894,7 +18893,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -18894,7 +18893,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
18894 .{ ._, ._, .mov, .tmp6d, .tmp1d, ._, ._ },18893 .{ ._, ._, .mov, .tmp6d, .tmp1d, ._, ._ },
18895 .{ ._, ._l, .sh, .tmp7d, .tmp6b, ._, ._ },18894 .{ ._, ._l, .sh, .tmp7d, .tmp6b, ._, ._ },
18896 .{ ._, ._, .@"or", .dst0d, .tmp7d, ._, ._ },18895 .{ ._, ._, .@"or", .dst0d, .tmp7d, ._, ._ },
18897 .{ ._, ._, .lea, .tmp1d, .lead(.none, .tmp1, 1), ._, ._ },18896 .{ ._, ._, .lea, .tmp1d, .lead(.tmp1, 1), ._, ._ },
18898 .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ },18897 .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ },
18899 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },18898 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
18900 } },18899 } },
...@@ -18983,7 +18982,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -18983,7 +18982,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
18983 .{ ._, ._, .mov, .tmp7d, .tmp1d, ._, ._ },18982 .{ ._, ._, .mov, .tmp7d, .tmp1d, ._, ._ },
18984 .{ ._, ._l, .sh, .tmp8q, .tmp7b, ._, ._ },18983 .{ ._, ._l, .sh, .tmp8q, .tmp7b, ._, ._ },
18985 .{ ._, ._, .@"or", .tmp2q, .tmp8q, ._, ._ },18984 .{ ._, ._, .@"or", .tmp2q, .tmp8q, ._, ._ },
18986 .{ ._, ._, .lea, .tmp1d, .lead(.none, .tmp1, 1), ._, ._ },18985 .{ ._, ._, .lea, .tmp1d, .lead(.tmp1, 1), ._, ._ },
18987 .{ ._, ._, .@"test", .tmp1d, .si(0b111111), ._, ._ },18986 .{ ._, ._, .@"test", .tmp1d, .si(0b111111), ._, ._ },
18988 .{ ._, ._nz, .j, .@"1f", ._, ._, ._ },18987 .{ ._, ._nz, .j, .@"1f", ._, ._, ._ },
18989 .{ ._, ._, .mov, .tmp6d, .tmp1d, ._, ._ },18988 .{ ._, ._, .mov, .tmp6d, .tmp1d, ._, ._ },
...@@ -19091,7 +19090,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -19091,7 +19090,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
19091 .{ ._, ._, .mov, .tmp7d, .tmp1d, ._, ._ },19090 .{ ._, ._, .mov, .tmp7d, .tmp1d, ._, ._ },
19092 .{ ._, ._l, .sh, .tmp8q, .tmp7b, ._, ._ },19091 .{ ._, ._l, .sh, .tmp8q, .tmp7b, ._, ._ },
19093 .{ ._, ._, .@"or", .tmp2q, .tmp8q, ._, ._ },19092 .{ ._, ._, .@"or", .tmp2q, .tmp8q, ._, ._ },
19094 .{ ._, ._, .lea, .tmp1d, .lead(.none, .tmp1, 1), ._, ._ },19093 .{ ._, ._, .lea, .tmp1d, .lead(.tmp1, 1), ._, ._ },
19095 .{ ._, ._, .@"test", .tmp1d, .si(0b111111), ._, ._ },19094 .{ ._, ._, .@"test", .tmp1d, .si(0b111111), ._, ._ },
19096 .{ ._, ._nz, .j, .@"1f", ._, ._, ._ },19095 .{ ._, ._nz, .j, .@"1f", ._, ._, ._ },
19097 .{ ._, ._, .mov, .tmp6d, .tmp1d, ._, ._ },19096 .{ ._, ._, .mov, .tmp6d, .tmp1d, ._, ._ },
...@@ -19199,7 +19198,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -19199,7 +19198,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
19199 .{ ._, ._, .mov, .tmp7d, .tmp1d, ._, ._ },19198 .{ ._, ._, .mov, .tmp7d, .tmp1d, ._, ._ },
19200 .{ ._, ._l, .sh, .tmp8q, .tmp7b, ._, ._ },19199 .{ ._, ._l, .sh, .tmp8q, .tmp7b, ._, ._ },
19201 .{ ._, ._, .@"or", .tmp2q, .tmp8q, ._, ._ },19200 .{ ._, ._, .@"or", .tmp2q, .tmp8q, ._, ._ },
19202 .{ ._, ._, .lea, .tmp1d, .lead(.none, .tmp1, 1), ._, ._ },19201 .{ ._, ._, .lea, .tmp1d, .lead(.tmp1, 1), ._, ._ },
19203 .{ ._, ._, .@"test", .tmp1d, .si(0b111111), ._, ._ },19202 .{ ._, ._, .@"test", .tmp1d, .si(0b111111), ._, ._ },
19204 .{ ._, ._nz, .j, .@"1f", ._, ._, ._ },19203 .{ ._, ._nz, .j, .@"1f", ._, ._, ._ },
19205 .{ ._, ._, .mov, .tmp6d, .tmp1d, ._, ._ },19204 .{ ._, ._, .mov, .tmp6d, .tmp1d, ._, ._ },
...@@ -20245,7 +20244,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -20245,7 +20244,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
20245 .{ ._, ._, .sbb, .tmp4q, .tmp2q, ._, ._ },20244 .{ ._, ._, .sbb, .tmp4q, .tmp2q, ._, ._ },
20246 .{ ._, ._c, .set, .tmp3b, ._, ._, ._ },20245 .{ ._, ._c, .set, .tmp3b, ._, ._, ._ },
20247 .{ ._, ._, .mov, .memi(.dst0q, .tmp0), .tmp4q, ._, ._ },20246 .{ ._, ._, .mov, .memi(.dst0q, .tmp0), .tmp4q, ._, ._ },
20248 .{ ._, ._, .lea, .tmp0d, .lead(.none, .tmp0, 8), ._, ._ },20247 .{ ._, ._, .lea, .tmp0d, .lead(.tmp0, 8), ._, ._ },
20249 .{ ._, ._, .sub, .tmp1d, .si(8), ._, ._ },20248 .{ ._, ._, .sub, .tmp1d, .si(8), ._, ._ },
20250 .{ ._, ._a, .j, .@"1b", ._, ._, ._ },20249 .{ ._, ._a, .j, .@"1b", ._, ._, ._ },
20251 .{ ._, ._, .cmp, .tmp0d, .sa(.src0, .add_unaligned_size), ._, ._ },20250 .{ ._, ._, .cmp, .tmp0d, .sa(.src0, .add_unaligned_size), ._, ._ },
...@@ -20271,7 +20270,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -20271,7 +20270,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
20271 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},20270 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
20272 .each = .{ .once = &.{20271 .each = .{ .once = &.{
20273 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },20272 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
20274 .{ ._, .v_ps, .@"and", .dst0x, .src0x, .lea(.xword, .tmp0), ._ },20273 .{ ._, .v_ps, .@"and", .dst0x, .src0x, .lea(.tmp0x), ._ },
20275 } },20274 } },
20276 }, .{20275 }, .{
20277 .required_features = .{ .sse, null, null, null },20276 .required_features = .{ .sse, null, null, null },
...@@ -20293,7 +20292,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -20293,7 +20292,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
20293 .dst_temps = .{.{ .ref = .src0 }},20292 .dst_temps = .{.{ .ref = .src0 }},
20294 .each = .{ .once = &.{20293 .each = .{ .once = &.{
20295 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },20294 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
20296 .{ ._, ._ps, .@"and", .dst0x, .lea(.xword, .tmp0), ._, ._ },20295 .{ ._, ._ps, .@"and", .dst0x, .lea(.tmp0x), ._, ._ },
20297 } },20296 } },
20298 }, .{20297 }, .{
20299 .required_features = .{ .avx, null, null, null },20298 .required_features = .{ .avx, null, null, null },
...@@ -20315,7 +20314,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -20315,7 +20314,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
20315 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},20314 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
20316 .each = .{ .once = &.{20315 .each = .{ .once = &.{
20317 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },20316 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
20318 .{ ._, .v_ps, .@"and", .dst0y, .src0y, .lea(.yword, .tmp0), ._ },20317 .{ ._, .v_ps, .@"and", .dst0y, .src0y, .lea(.tmp0y), ._ },
20319 } },20318 } },
20320 }, .{20319 }, .{
20321 .required_features = .{ .avx, null, null, null },20320 .required_features = .{ .avx, null, null, null },
...@@ -20337,7 +20336,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -20337,7 +20336,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
20337 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},20336 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
20338 .each = .{ .once = &.{20337 .each = .{ .once = &.{
20339 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },20338 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
20340 .{ ._, .v_pd, .@"and", .dst0x, .src0x, .lea(.xword, .tmp0), ._ },20339 .{ ._, .v_pd, .@"and", .dst0x, .src0x, .lea(.tmp0x), ._ },
20341 } },20340 } },
20342 }, .{20341 }, .{
20343 .required_features = .{ .sse2, null, null, null },20342 .required_features = .{ .sse2, null, null, null },
...@@ -20359,7 +20358,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -20359,7 +20358,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
20359 .dst_temps = .{.{ .ref = .src0 }},20358 .dst_temps = .{.{ .ref = .src0 }},
20360 .each = .{ .once = &.{20359 .each = .{ .once = &.{
20361 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },20360 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
20362 .{ ._, ._pd, .@"and", .dst0x, .lea(.xword, .tmp0), ._, ._ },20361 .{ ._, ._pd, .@"and", .dst0x, .lea(.tmp0x), ._, ._ },
20363 } },20362 } },
20364 }, .{20363 }, .{
20365 .required_features = .{ .avx, null, null, null },20364 .required_features = .{ .avx, null, null, null },
...@@ -20381,7 +20380,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -20381,7 +20380,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
20381 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},20380 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
20382 .each = .{ .once = &.{20381 .each = .{ .once = &.{
20383 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },20382 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
20384 .{ ._, .v_pd, .@"and", .dst0y, .src0y, .lea(.yword, .tmp0), ._ },20383 .{ ._, .v_pd, .@"and", .dst0y, .src0y, .lea(.tmp0y), ._ },
20385 } },20384 } },
20386 }, .{20385 }, .{
20387 .required_features = .{ .x87, null, null, null },20386 .required_features = .{ .x87, null, null, null },
...@@ -20427,7 +20426,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -20427,7 +20426,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
20427 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},20426 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
20428 .each = .{ .once = &.{20427 .each = .{ .once = &.{
20429 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },20428 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
20430 .{ ._, .vp_, .@"and", .dst0x, .src0x, .lea(.xword, .tmp0), ._ },20429 .{ ._, .vp_, .@"and", .dst0x, .src0x, .lea(.tmp0x), ._ },
20431 } },20430 } },
20432 }, .{20431 }, .{
20433 .required_features = .{ .sse2, null, null, null },20432 .required_features = .{ .sse2, null, null, null },
...@@ -20449,7 +20448,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -20449,7 +20448,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
20449 .dst_temps = .{.{ .ref = .src0 }},20448 .dst_temps = .{.{ .ref = .src0 }},
20450 .each = .{ .once = &.{20449 .each = .{ .once = &.{
20451 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },20450 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
20452 .{ ._, .p_, .@"and", .dst0x, .lea(.xword, .tmp0), ._, ._ },20451 .{ ._, .p_, .@"and", .dst0x, .lea(.tmp0x), ._, ._ },
20453 } },20452 } },
20454 }, .{20453 }, .{
20455 .required_features = .{ .sse, null, null, null },20454 .required_features = .{ .sse, null, null, null },
...@@ -20471,7 +20470,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -20471,7 +20470,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
20471 .dst_temps = .{.{ .ref = .src0 }},20470 .dst_temps = .{.{ .ref = .src0 }},
20472 .each = .{ .once = &.{20471 .each = .{ .once = &.{
20473 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },20472 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
20474 .{ ._, ._ps, .@"and", .dst0x, .lea(.xword, .tmp0), ._, ._ },20473 .{ ._, ._ps, .@"and", .dst0x, .lea(.tmp0x), ._, ._ },
20475 } },20474 } },
20476 }, .{20475 }, .{
20477 .required_features = .{ .avx2, null, null, null },20476 .required_features = .{ .avx2, null, null, null },
...@@ -20493,7 +20492,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -20493,7 +20492,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
20493 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},20492 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
20494 .each = .{ .once = &.{20493 .each = .{ .once = &.{
20495 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },20494 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
20496 .{ ._, .vp_, .@"and", .dst0y, .src0y, .lea(.yword, .tmp0), ._ },20495 .{ ._, .vp_, .@"and", .dst0y, .src0y, .lea(.tmp0y), ._ },
20497 } },20496 } },
20498 }, .{20497 }, .{
20499 .required_features = .{ .avx, null, null, null },20498 .required_features = .{ .avx, null, null, null },
...@@ -20515,7 +20514,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -20515,7 +20514,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
20515 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},20514 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
20516 .each = .{ .once = &.{20515 .each = .{ .once = &.{
20517 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },20516 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
20518 .{ ._, .v_pd, .@"and", .dst0y, .src0y, .lea(.yword, .tmp0), ._ },20517 .{ ._, .v_pd, .@"and", .dst0y, .src0y, .lea(.tmp0y), ._ },
20519 } },20518 } },
20520 }, .{20519 }, .{
20521 .required_features = .{ .avx, null, null, null },20520 .required_features = .{ .avx, null, null, null },
...@@ -20537,7 +20536,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -20537,7 +20536,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
20537 .dst_temps = .{.mem},20536 .dst_temps = .{.mem},
20538 .each = .{ .once = &.{20537 .each = .{ .once = &.{
20539 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },20538 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
20540 .{ ._, .v_ps, .mova, .tmp2y, .lea(.yword, .tmp0), ._, ._ },20539 .{ ._, .v_ps, .mova, .tmp2y, .lea(.tmp0y), ._, ._ },
20541 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },20540 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
20542 .{ .@"0:", .v_ps, .@"and", .tmp3y, .tmp2y, .memia(.src0y, .tmp0, .add_size), ._ },20541 .{ .@"0:", .v_ps, .@"and", .tmp3y, .tmp2y, .memia(.src0y, .tmp0, .add_size), ._ },
20543 .{ ._, .v_ps, .mova, .memia(.dst0y, .tmp0, .add_size), .tmp3y, ._, ._ },20542 .{ ._, .v_ps, .mova, .memia(.dst0y, .tmp0, .add_size), .tmp3y, ._, ._ },
...@@ -20564,7 +20563,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -20564,7 +20563,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
20564 .dst_temps = .{.mem},20563 .dst_temps = .{.mem},
20565 .each = .{ .once = &.{20564 .each = .{ .once = &.{
20566 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },20565 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
20567 .{ ._, ._ps, .mova, .tmp2x, .lea(.xword, .tmp0), ._, ._ },20566 .{ ._, ._ps, .mova, .tmp2x, .lea(.tmp0x), ._, ._ },
20568 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },20567 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
20569 .{ .@"0:", ._ps, .mova, .tmp3x, .tmp2x, ._, ._ },20568 .{ .@"0:", ._ps, .mova, .tmp3x, .tmp2x, ._, ._ },
20570 .{ ._, ._ps, .@"and", .tmp3x, .memia(.src0x, .tmp0, .add_size), ._, ._ },20569 .{ ._, ._ps, .@"and", .tmp3x, .memia(.src0x, .tmp0, .add_size), ._, ._ },
...@@ -20592,7 +20591,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -20592,7 +20591,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
20592 .dst_temps = .{.mem},20591 .dst_temps = .{.mem},
20593 .each = .{ .once = &.{20592 .each = .{ .once = &.{
20594 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },20593 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
20595 .{ ._, .v_pd, .mova, .tmp2y, .lea(.yword, .tmp0), ._, ._ },20594 .{ ._, .v_pd, .mova, .tmp2y, .lea(.tmp0y), ._, ._ },
20596 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },20595 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
20597 .{ .@"0:", .v_pd, .@"and", .tmp3y, .tmp2y, .memia(.src0y, .tmp0, .add_size), ._ },20596 .{ .@"0:", .v_pd, .@"and", .tmp3y, .tmp2y, .memia(.src0y, .tmp0, .add_size), ._ },
20598 .{ ._, .v_pd, .mova, .memia(.dst0y, .tmp0, .add_size), .tmp3y, ._, ._ },20597 .{ ._, .v_pd, .mova, .memia(.dst0y, .tmp0, .add_size), .tmp3y, ._, ._ },
...@@ -20619,7 +20618,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -20619,7 +20618,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
20619 .dst_temps = .{.mem},20618 .dst_temps = .{.mem},
20620 .each = .{ .once = &.{20619 .each = .{ .once = &.{
20621 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },20620 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
20622 .{ ._, ._pd, .mova, .tmp2x, .lea(.xword, .tmp0), ._, ._ },20621 .{ ._, ._pd, .mova, .tmp2x, .lea(.tmp0x), ._, ._ },
20623 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },20622 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
20624 .{ .@"0:", ._pd, .mova, .tmp3x, .tmp2x, ._, ._ },20623 .{ .@"0:", ._pd, .mova, .tmp3x, .tmp2x, ._, ._ },
20625 .{ ._, ._pd, .@"and", .tmp3x, .memia(.src0x, .tmp0, .add_size), ._, ._ },20624 .{ ._, ._pd, .@"and", .tmp3x, .memia(.src0x, .tmp0, .add_size), ._, ._ },
...@@ -20647,7 +20646,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -20647,7 +20646,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
20647 .dst_temps = .{.mem},20646 .dst_temps = .{.mem},
20648 .each = .{ .once = &.{20647 .each = .{ .once = &.{
20649 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },20648 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
20650 .{ ._, .v_dqa, .mov, .tmp2y, .lea(.yword, .tmp0), ._, ._ },20649 .{ ._, .v_dqa, .mov, .tmp2y, .lea(.tmp0y), ._, ._ },
20651 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },20650 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
20652 .{ .@"0:", .vp_, .@"and", .tmp3y, .tmp2y, .memia(.src0y, .tmp0, .add_size), ._ },20651 .{ .@"0:", .vp_, .@"and", .tmp3y, .tmp2y, .memia(.src0y, .tmp0, .add_size), ._ },
20653 .{ ._, .v_dqa, .mov, .memia(.dst0y, .tmp0, .add_size), .tmp3y, ._, ._ },20652 .{ ._, .v_dqa, .mov, .memia(.dst0y, .tmp0, .add_size), .tmp3y, ._, ._ },
...@@ -20674,7 +20673,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -20674,7 +20673,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
20674 .dst_temps = .{.mem},20673 .dst_temps = .{.mem},
20675 .each = .{ .once = &.{20674 .each = .{ .once = &.{
20676 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },20675 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
20677 .{ ._, .v_pd, .mova, .tmp2y, .lea(.yword, .tmp0), ._, ._ },20676 .{ ._, .v_pd, .mova, .tmp2y, .lea(.tmp0y), ._, ._ },
20678 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },20677 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
20679 .{ .@"0:", .v_pd, .@"and", .tmp3y, .tmp2y, .memia(.src0y, .tmp0, .add_size), ._ },20678 .{ .@"0:", .v_pd, .@"and", .tmp3y, .tmp2y, .memia(.src0y, .tmp0, .add_size), ._ },
20680 .{ ._, .v_pd, .mova, .memia(.dst0y, .tmp0, .add_size), .tmp3y, ._, ._ },20679 .{ ._, .v_pd, .mova, .memia(.dst0y, .tmp0, .add_size), .tmp3y, ._, ._ },
...@@ -20701,7 +20700,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -20701,7 +20700,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
20701 .dst_temps = .{.mem},20700 .dst_temps = .{.mem},
20702 .each = .{ .once = &.{20701 .each = .{ .once = &.{
20703 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },20702 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
20704 .{ ._, ._dqa, .mov, .tmp2x, .lea(.xword, .tmp0), ._, ._ },20703 .{ ._, ._dqa, .mov, .tmp2x, .lea(.tmp0x), ._, ._ },
20705 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },20704 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
20706 .{ .@"0:", ._dqa, .mov, .tmp3x, .tmp2x, ._, ._ },20705 .{ .@"0:", ._dqa, .mov, .tmp3x, .tmp2x, ._, ._ },
20707 .{ ._, .p_, .@"and", .tmp3x, .memia(.src0x, .tmp0, .add_size), ._, ._ },20706 .{ ._, .p_, .@"and", .tmp3x, .memia(.src0x, .tmp0, .add_size), ._, ._ },
...@@ -20729,7 +20728,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -20729,7 +20728,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
20729 .dst_temps = .{.mem},20728 .dst_temps = .{.mem},
20730 .each = .{ .once = &.{20729 .each = .{ .once = &.{
20731 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },20730 .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ },
20732 .{ ._, ._ps, .mova, .tmp2x, .lea(.xword, .tmp0), ._, ._ },20731 .{ ._, ._ps, .mova, .tmp2x, .lea(.tmp0x), ._, ._ },
20733 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },20732 .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ },
20734 .{ .@"0:", ._ps, .mova, .tmp3x, .tmp2x, ._, ._ },20733 .{ .@"0:", ._ps, .mova, .tmp3x, .tmp2x, ._, ._ },
20735 .{ ._, ._ps, .@"and", .tmp3x, .memia(.src0x, .tmp0, .add_size), ._, ._ },20734 .{ ._, ._ps, .@"and", .tmp3x, .memia(.src0x, .tmp0, .add_size), ._, ._ },
...@@ -24537,6 +24536,683 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -24537,6 +24536,683 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
24537 };24536 };
24538 try res[0].finish(inst, &.{ty_op.operand}, &ops, cg);24537 try res[0].finish(inst, &.{ty_op.operand}, &ops, cg);
24539 },24538 },
24539 .intcast => |air_tag| if (use_old) try cg.airIntCast(inst) else fallback: {
24540 const ty_op = air_datas[@intFromEnum(inst)].ty_op;
24541 const dst_ty = ty_op.ty.toType();
24542 if (dst_ty.isVector(zcu)) break :fallback try cg.airIntCast(inst);
24543 const src_ty = cg.typeOf(ty_op.operand);
24544 var ops = try cg.tempsFromOperands(inst, .{ty_op.operand});
24545 var res: [1]Temp = undefined;
24546 cg.select(&res, &.{dst_ty}, &ops, if (dst_ty.scalarType(zcu).abiSize(zcu) <= src_ty.scalarType(zcu).abiSize(zcu)) comptime &.{ .{
24547 .dst_constraints = .{.{ .int = .dword }},
24548 .patterns = &.{
24549 .{ .src = .{ .mem, .none } },
24550 .{ .src = .{ .to_gpr, .none } },
24551 },
24552 .dst_temps = .{.{ .rc = .general_purpose }},
24553 .each = .{ .once = &.{
24554 .{ ._, ._, .mov, .dst0d, .src0d, ._, ._ },
24555 } },
24556 }, .{
24557 .required_features = .{ .@"64bit", null, null, null },
24558 .dst_constraints = .{.{ .int = .qword }},
24559 .patterns = &.{
24560 .{ .src = .{ .mem, .none } },
24561 .{ .src = .{ .to_gpr, .none } },
24562 },
24563 .dst_temps = .{.{ .rc = .general_purpose }},
24564 .each = .{ .once = &.{
24565 .{ ._, ._, .mov, .dst0q, .src0q, ._, ._ },
24566 } },
24567 }, .{
24568 .dst_constraints = .{.{ .int = .byte }},
24569 .patterns = &.{
24570 .{ .src = .{ .to_mem, .none } },
24571 },
24572 .dst_temps = .{.{ .rc = .general_purpose }},
24573 .each = .{ .once = &.{
24574 .{ ._, ._, .mov, .dst0b, .mem(.src0b), ._, ._ },
24575 } },
24576 }, .{
24577 .dst_constraints = .{.{ .int = .word }},
24578 .patterns = &.{
24579 .{ .src = .{ .to_mem, .none } },
24580 },
24581 .dst_temps = .{.{ .rc = .general_purpose }},
24582 .each = .{ .once = &.{
24583 .{ ._, ._, .mov, .dst0w, .mem(.src0w), ._, ._ },
24584 } },
24585 }, .{
24586 .dst_constraints = .{.{ .int = .dword }},
24587 .patterns = &.{
24588 .{ .src = .{ .to_mem, .none } },
24589 },
24590 .dst_temps = .{.{ .rc = .general_purpose }},
24591 .each = .{ .once = &.{
24592 .{ ._, ._, .mov, .dst0d, .mem(.src0d), ._, ._ },
24593 } },
24594 }, .{
24595 .required_features = .{ .@"64bit", null, null, null },
24596 .dst_constraints = .{.{ .int = .qword }},
24597 .patterns = &.{
24598 .{ .src = .{ .to_mem, .none } },
24599 },
24600 .dst_temps = .{.{ .rc = .general_purpose }},
24601 .each = .{ .once = &.{
24602 .{ ._, ._, .mov, .dst0q, .mem(.src0q), ._, ._ },
24603 } },
24604 }, .{
24605 .required_features = .{ .@"64bit", null, null, null },
24606 .dst_constraints = .{.{ .remainder_int = .{ .of = .qword, .is = .qword } }},
24607 .patterns = &.{
24608 .{ .src = .{ .to_mem, .none } },
24609 },
24610 .extra_temps = .{
24611 .{ .type = .usize, .kind = .{ .reg = .rsi } },
24612 .{ .type = .usize, .kind = .{ .reg = .rdi } },
24613 .{ .type = .u32, .kind = .{ .reg = .ecx } },
24614 .unused,
24615 .unused,
24616 .unused,
24617 .unused,
24618 .unused,
24619 .unused,
24620 },
24621 .dst_temps = .{.mem},
24622 .clobbers = .{ .eflags = true },
24623 .each = .{ .once = &.{
24624 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },
24625 .{ ._, ._, .lea, .tmp1p, .mem(.dst0), ._, ._ },
24626 .{ ._, ._, .mov, .tmp2d, .sa(.dst0, .add_size_div_8), ._, ._ },
24627 .{ ._, .@"rep _sq", .mov, ._, ._, ._, ._ },
24628 } },
24629 } } else comptime &.{ .{
24630 .src_constraints = .{ .{ .signed_int = .byte }, .any },
24631 .dst_constraints = .{.{ .signed_int = .dword }},
24632 .patterns = &.{
24633 .{ .src = .{ .mem, .none } },
24634 .{ .src = .{ .to_gpr, .none } },
24635 },
24636 .dst_temps = .{.{ .rc = .general_purpose }},
24637 .each = .{ .once = &.{
24638 .{ ._, ._, .movsx, .dst0d, .src0b, ._, ._ },
24639 } },
24640 }, .{
24641 .src_constraints = .{ .{ .int = .byte }, .any },
24642 .dst_constraints = .{.{ .int = .dword }},
24643 .patterns = &.{
24644 .{ .src = .{ .mem, .none } },
24645 .{ .src = .{ .to_gpr, .none } },
24646 },
24647 .dst_temps = .{.{ .rc = .general_purpose }},
24648 .each = .{ .once = &.{
24649 .{ ._, ._, .movzx, .dst0d, .src0b, ._, ._ },
24650 } },
24651 }, .{
24652 .required_features = .{ .@"64bit", null, null, null },
24653 .src_constraints = .{ .{ .signed_int = .byte }, .any },
24654 .dst_constraints = .{.{ .signed_int = .qword }},
24655 .patterns = &.{
24656 .{ .src = .{ .mem, .none } },
24657 .{ .src = .{ .to_gpr, .none } },
24658 },
24659 .dst_temps = .{.{ .rc = .general_purpose }},
24660 .each = .{ .once = &.{
24661 .{ ._, ._, .movsx, .dst0q, .src0b, ._, ._ },
24662 } },
24663 }, .{
24664 .required_features = .{ .@"64bit", null, null, null },
24665 .src_constraints = .{ .{ .int = .byte }, .any },
24666 .dst_constraints = .{.{ .int = .qword }},
24667 .patterns = &.{
24668 .{ .src = .{ .mem, .none } },
24669 .{ .src = .{ .to_gpr, .none } },
24670 },
24671 .dst_temps = .{.{ .rc = .general_purpose }},
24672 .each = .{ .once = &.{
24673 .{ ._, ._, .movzx, .dst0d, .src0b, ._, ._ },
24674 } },
24675 }, .{
24676 .required_features = .{ .@"64bit", null, null, null },
24677 .src_constraints = .{ .{ .signed_int = .byte }, .any },
24678 .dst_constraints = .{.{ .signed_remainder_int = .{ .of = .qword, .is = .qword } }},
24679 .patterns = &.{
24680 .{ .src = .{ .mem, .none } },
24681 .{ .src = .{ .to_gpr, .none } },
24682 },
24683 .extra_temps = .{
24684 .{ .type = .i64, .kind = .{ .reg = .rax } },
24685 .{ .type = .usize, .kind = .{ .reg = .rdi } },
24686 .{ .type = .u32, .kind = .{ .reg = .ecx } },
24687 .unused,
24688 .unused,
24689 .unused,
24690 .unused,
24691 .unused,
24692 .unused,
24693 },
24694 .dst_temps = .{.mem},
24695 .clobbers = .{ .eflags = true },
24696 .each = .{ .once = &.{
24697 .{ ._, ._, .movsx, .tmp0q, .src0b, ._, ._ },
24698 .{ ._, ._, .lea, .tmp1p, .mem(.dst0), ._, ._ },
24699 .{ ._, ._sq, .sto, ._, ._, ._, ._ },
24700 .{ ._, ._r, .sa, .tmp0q, .ui(63), ._, ._ },
24701 .{ ._, ._, .mov, .tmp2d, .sia(-1, .dst0, .add_size_div_8), ._, ._ },
24702 .{ ._, .@"rep _sq", .sto, ._, ._, ._, ._ },
24703 } },
24704 }, .{
24705 .required_features = .{ .@"64bit", null, null, null },
24706 .src_constraints = .{ .{ .int = .byte }, .any },
24707 .dst_constraints = .{.{ .remainder_int = .{ .of = .qword, .is = .qword } }},
24708 .patterns = &.{
24709 .{ .src = .{ .mem, .none } },
24710 .{ .src = .{ .to_gpr, .none } },
24711 },
24712 .extra_temps = .{
24713 .{ .type = .u64, .kind = .{ .reg = .rax } },
24714 .{ .type = .usize, .kind = .{ .reg = .rdi } },
24715 .{ .type = .u32, .kind = .{ .reg = .ecx } },
24716 .unused,
24717 .unused,
24718 .unused,
24719 .unused,
24720 .unused,
24721 .unused,
24722 },
24723 .dst_temps = .{.mem},
24724 .clobbers = .{ .eflags = true },
24725 .each = .{ .once = &.{
24726 .{ ._, ._, .movzx, .tmp0d, .src0b, ._, ._ },
24727 .{ ._, ._, .lea, .tmp1p, .mem(.dst0), ._, ._ },
24728 .{ ._, ._sq, .sto, ._, ._, ._, ._ },
24729 .{ ._, ._, .xor, .tmp0d, .tmp0d, ._, ._ },
24730 .{ ._, ._, .mov, .tmp2d, .sia(-1, .dst0, .add_size_div_8), ._, ._ },
24731 .{ ._, .@"rep _sq", .sto, ._, ._, ._, ._ },
24732 } },
24733 }, .{
24734 .src_constraints = .{ .{ .signed_int = .byte }, .any },
24735 .dst_constraints = .{.{ .signed_remainder_int = .{ .of = .dword, .is = .dword } }},
24736 .patterns = &.{
24737 .{ .src = .{ .mem, .none } },
24738 .{ .src = .{ .to_gpr, .none } },
24739 },
24740 .extra_temps = .{
24741 .{ .type = .i32, .kind = .{ .reg = .eax } },
24742 .{ .type = .usize, .kind = .{ .reg = .edi } },
24743 .{ .type = .u32, .kind = .{ .reg = .ecx } },
24744 .unused,
24745 .unused,
24746 .unused,
24747 .unused,
24748 .unused,
24749 .unused,
24750 },
24751 .dst_temps = .{.mem},
24752 .clobbers = .{ .eflags = true },
24753 .each = .{ .once = &.{
24754 .{ ._, ._, .movsx, .tmp0d, .src0b, ._, ._ },
24755 .{ ._, ._, .lea, .tmp1p, .mem(.dst0), ._, ._ },
24756 .{ ._, ._sd, .sto, ._, ._, ._, ._ },
24757 .{ ._, ._r, .sa, .tmp0d, .ui(31), ._, ._ },
24758 .{ ._, ._, .mov, .tmp2d, .sia(-1, .dst0, .add_size_div_4), ._, ._ },
24759 .{ ._, .@"rep _sq", .sto, ._, ._, ._, ._ },
24760 } },
24761 }, .{
24762 .src_constraints = .{ .{ .int = .byte }, .any },
24763 .dst_constraints = .{.{ .remainder_int = .{ .of = .dword, .is = .dword } }},
24764 .patterns = &.{
24765 .{ .src = .{ .mem, .none } },
24766 .{ .src = .{ .to_gpr, .none } },
24767 },
24768 .extra_temps = .{
24769 .{ .type = .u32, .kind = .{ .reg = .eax } },
24770 .{ .type = .usize, .kind = .{ .reg = .edi } },
24771 .{ .type = .u32, .kind = .{ .reg = .ecx } },
24772 .unused,
24773 .unused,
24774 .unused,
24775 .unused,
24776 .unused,
24777 .unused,
24778 },
24779 .dst_temps = .{.mem},
24780 .clobbers = .{ .eflags = true },
24781 .each = .{ .once = &.{
24782 .{ ._, ._, .movzx, .tmp0d, .src0b, ._, ._ },
24783 .{ ._, ._, .lea, .tmp1p, .mem(.dst0), ._, ._ },
24784 .{ ._, ._sd, .sto, ._, ._, ._, ._ },
24785 .{ ._, ._, .xor, .tmp0d, .tmp0d, ._, ._ },
24786 .{ ._, ._, .mov, .tmp2d, .sia(-1, .dst0, .add_size_div_4), ._, ._ },
24787 .{ ._, .@"rep _sd", .sto, ._, ._, ._, ._ },
24788 } },
24789 }, .{
24790 .src_constraints = .{ .{ .signed_int = .word }, .any },
24791 .dst_constraints = .{.{ .signed_int = .dword }},
24792 .patterns = &.{
24793 .{ .src = .{ .mem, .none } },
24794 .{ .src = .{ .to_gpr, .none } },
24795 },
24796 .dst_temps = .{.{ .rc = .general_purpose }},
24797 .each = .{ .once = &.{
24798 .{ ._, ._, .movsx, .dst0d, .src0w, ._, ._ },
24799 } },
24800 }, .{
24801 .src_constraints = .{ .{ .int = .word }, .any },
24802 .dst_constraints = .{.{ .int = .dword }},
24803 .patterns = &.{
24804 .{ .src = .{ .mem, .none } },
24805 .{ .src = .{ .to_gpr, .none } },
24806 },
24807 .dst_temps = .{.{ .rc = .general_purpose }},
24808 .each = .{ .once = &.{
24809 .{ ._, ._, .movzx, .dst0d, .src0w, ._, ._ },
24810 } },
24811 }, .{
24812 .required_features = .{ .@"64bit", null, null, null },
24813 .src_constraints = .{ .{ .signed_int = .word }, .any },
24814 .dst_constraints = .{.{ .signed_int = .qword }},
24815 .patterns = &.{
24816 .{ .src = .{ .mem, .none } },
24817 .{ .src = .{ .to_gpr, .none } },
24818 },
24819 .dst_temps = .{.{ .rc = .general_purpose }},
24820 .each = .{ .once = &.{
24821 .{ ._, ._, .movsx, .dst0q, .src0w, ._, ._ },
24822 } },
24823 }, .{
24824 .required_features = .{ .@"64bit", null, null, null },
24825 .src_constraints = .{ .{ .int = .word }, .any },
24826 .dst_constraints = .{.{ .int = .qword }},
24827 .patterns = &.{
24828 .{ .src = .{ .mem, .none } },
24829 .{ .src = .{ .to_gpr, .none } },
24830 },
24831 .dst_temps = .{.{ .rc = .general_purpose }},
24832 .each = .{ .once = &.{
24833 .{ ._, ._, .movzx, .dst0d, .src0w, ._, ._ },
24834 } },
24835 }, .{
24836 .required_features = .{ .@"64bit", null, null, null },
24837 .src_constraints = .{ .{ .signed_int = .word }, .any },
24838 .dst_constraints = .{.{ .signed_remainder_int = .{ .of = .qword, .is = .qword } }},
24839 .patterns = &.{
24840 .{ .src = .{ .mem, .none } },
24841 .{ .src = .{ .to_gpr, .none } },
24842 },
24843 .extra_temps = .{
24844 .{ .type = .i64, .kind = .{ .reg = .rax } },
24845 .{ .type = .usize, .kind = .{ .reg = .rdi } },
24846 .{ .type = .u32, .kind = .{ .reg = .ecx } },
24847 .unused,
24848 .unused,
24849 .unused,
24850 .unused,
24851 .unused,
24852 .unused,
24853 },
24854 .dst_temps = .{.mem},
24855 .clobbers = .{ .eflags = true },
24856 .each = .{ .once = &.{
24857 .{ ._, ._, .movsx, .tmp0q, .src0w, ._, ._ },
24858 .{ ._, ._, .lea, .tmp1p, .mem(.dst0), ._, ._ },
24859 .{ ._, ._sq, .sto, ._, ._, ._, ._ },
24860 .{ ._, ._r, .sa, .tmp0q, .ui(63), ._, ._ },
24861 .{ ._, ._, .mov, .tmp2d, .sia(-1, .dst0, .add_size_div_8), ._, ._ },
24862 .{ ._, .@"rep _sq", .sto, ._, ._, ._, ._ },
24863 } },
24864 }, .{
24865 .required_features = .{ .@"64bit", null, null, null },
24866 .src_constraints = .{ .{ .int = .word }, .any },
24867 .dst_constraints = .{.{ .remainder_int = .{ .of = .qword, .is = .qword } }},
24868 .patterns = &.{
24869 .{ .src = .{ .mem, .none } },
24870 .{ .src = .{ .to_gpr, .none } },
24871 },
24872 .extra_temps = .{
24873 .{ .type = .u64, .kind = .{ .reg = .rax } },
24874 .{ .type = .usize, .kind = .{ .reg = .rdi } },
24875 .{ .type = .u32, .kind = .{ .reg = .ecx } },
24876 .unused,
24877 .unused,
24878 .unused,
24879 .unused,
24880 .unused,
24881 .unused,
24882 },
24883 .dst_temps = .{.mem},
24884 .clobbers = .{ .eflags = true },
24885 .each = .{ .once = &.{
24886 .{ ._, ._, .movzx, .tmp0d, .src0w, ._, ._ },
24887 .{ ._, ._, .lea, .tmp1p, .mem(.dst0), ._, ._ },
24888 .{ ._, ._sq, .sto, ._, ._, ._, ._ },
24889 .{ ._, ._, .xor, .tmp0d, .tmp0d, ._, ._ },
24890 .{ ._, ._, .mov, .tmp2d, .sia(-1, .dst0, .add_size_div_8), ._, ._ },
24891 .{ ._, .@"rep _sq", .sto, ._, ._, ._, ._ },
24892 } },
24893 }, .{
24894 .src_constraints = .{ .{ .signed_int = .word }, .any },
24895 .dst_constraints = .{.{ .signed_remainder_int = .{ .of = .dword, .is = .dword } }},
24896 .patterns = &.{
24897 .{ .src = .{ .mem, .none } },
24898 .{ .src = .{ .to_gpr, .none } },
24899 },
24900 .extra_temps = .{
24901 .{ .type = .i32, .kind = .{ .reg = .eax } },
24902 .{ .type = .usize, .kind = .{ .reg = .edi } },
24903 .{ .type = .u32, .kind = .{ .reg = .ecx } },
24904 .unused,
24905 .unused,
24906 .unused,
24907 .unused,
24908 .unused,
24909 .unused,
24910 },
24911 .dst_temps = .{.mem},
24912 .clobbers = .{ .eflags = true },
24913 .each = .{ .once = &.{
24914 .{ ._, ._, .movsx, .tmp0d, .src0w, ._, ._ },
24915 .{ ._, ._, .lea, .tmp1p, .mem(.dst0), ._, ._ },
24916 .{ ._, ._sd, .sto, ._, ._, ._, ._ },
24917 .{ ._, ._r, .sa, .tmp0d, .ui(31), ._, ._ },
24918 .{ ._, ._, .mov, .tmp2d, .sia(-1, .dst0, .add_size_div_4), ._, ._ },
24919 .{ ._, .@"rep _sq", .sto, ._, ._, ._, ._ },
24920 } },
24921 }, .{
24922 .src_constraints = .{ .{ .int = .word }, .any },
24923 .dst_constraints = .{.{ .remainder_int = .{ .of = .dword, .is = .dword } }},
24924 .patterns = &.{
24925 .{ .src = .{ .mem, .none } },
24926 .{ .src = .{ .to_gpr, .none } },
24927 },
24928 .extra_temps = .{
24929 .{ .type = .u32, .kind = .{ .reg = .eax } },
24930 .{ .type = .usize, .kind = .{ .reg = .edi } },
24931 .{ .type = .u32, .kind = .{ .reg = .ecx } },
24932 .unused,
24933 .unused,
24934 .unused,
24935 .unused,
24936 .unused,
24937 .unused,
24938 },
24939 .dst_temps = .{.mem},
24940 .clobbers = .{ .eflags = true },
24941 .each = .{ .once = &.{
24942 .{ ._, ._, .movzx, .tmp0d, .src0w, ._, ._ },
24943 .{ ._, ._, .lea, .tmp1p, .mem(.dst0), ._, ._ },
24944 .{ ._, ._sd, .sto, ._, ._, ._, ._ },
24945 .{ ._, ._, .xor, .tmp0d, .tmp0d, ._, ._ },
24946 .{ ._, ._, .mov, .tmp2d, .sia(-1, .dst0, .add_size_div_4), ._, ._ },
24947 .{ ._, .@"rep _sd", .sto, ._, ._, ._, ._ },
24948 } },
24949 }, .{
24950 .required_features = .{ .@"64bit", null, null, null },
24951 .src_constraints = .{ .{ .signed_int = .dword }, .any },
24952 .dst_constraints = .{.{ .signed_int = .qword }},
24953 .patterns = &.{
24954 .{ .src = .{ .mem, .none } },
24955 .{ .src = .{ .to_gpr, .none } },
24956 },
24957 .dst_temps = .{.{ .rc = .general_purpose }},
24958 .each = .{ .once = &.{
24959 .{ ._, ._d, .movsx, .dst0q, .src0d, ._, ._ },
24960 } },
24961 }, .{
24962 .required_features = .{ .@"64bit", null, null, null },
24963 .src_constraints = .{ .{ .int = .dword }, .any },
24964 .dst_constraints = .{.{ .int = .qword }},
24965 .patterns = &.{
24966 .{ .src = .{ .mem, .none } },
24967 .{ .src = .{ .to_gpr, .none } },
24968 },
24969 .dst_temps = .{.{ .rc = .general_purpose }},
24970 .each = .{ .once = &.{
24971 .{ ._, ._, .mov, .dst0d, .src0d, ._, ._ },
24972 } },
24973 }, .{
24974 .required_features = .{ .@"64bit", null, null, null },
24975 .src_constraints = .{ .{ .signed_int = .dword }, .any },
24976 .dst_constraints = .{.{ .signed_remainder_int = .{ .of = .qword, .is = .qword } }},
24977 .patterns = &.{
24978 .{ .src = .{ .mem, .none } },
24979 .{ .src = .{ .to_gpr, .none } },
24980 },
24981 .extra_temps = .{
24982 .{ .type = .i64, .kind = .{ .reg = .rax } },
24983 .{ .type = .usize, .kind = .{ .reg = .rdi } },
24984 .{ .type = .u32, .kind = .{ .reg = .ecx } },
24985 .unused,
24986 .unused,
24987 .unused,
24988 .unused,
24989 .unused,
24990 .unused,
24991 },
24992 .dst_temps = .{.mem},
24993 .clobbers = .{ .eflags = true },
24994 .each = .{ .once = &.{
24995 .{ ._, ._d, .movsx, .tmp0q, .src0d, ._, ._ },
24996 .{ ._, ._, .lea, .tmp1p, .mem(.dst0), ._, ._ },
24997 .{ ._, ._sq, .sto, ._, ._, ._, ._ },
24998 .{ ._, ._r, .sa, .tmp0q, .ui(63), ._, ._ },
24999 .{ ._, ._, .mov, .tmp2d, .sia(-1, .dst0, .add_size_div_8), ._, ._ },
25000 .{ ._, .@"rep _sq", .sto, ._, ._, ._, ._ },
25001 } },
25002 }, .{
25003 .required_features = .{ .@"64bit", null, null, null },
25004 .src_constraints = .{ .{ .int = .dword }, .any },
25005 .dst_constraints = .{.{ .remainder_int = .{ .of = .qword, .is = .qword } }},
25006 .patterns = &.{
25007 .{ .src = .{ .mem, .none } },
25008 .{ .src = .{ .to_gpr, .none } },
25009 },
25010 .extra_temps = .{
25011 .{ .type = .u64, .kind = .{ .reg = .rax } },
25012 .{ .type = .usize, .kind = .{ .reg = .rdi } },
25013 .{ .type = .u32, .kind = .{ .reg = .ecx } },
25014 .unused,
25015 .unused,
25016 .unused,
25017 .unused,
25018 .unused,
25019 .unused,
25020 },
25021 .dst_temps = .{.mem},
25022 .clobbers = .{ .eflags = true },
25023 .each = .{ .once = &.{
25024 .{ ._, ._, .mov, .tmp0d, .src0d, ._, ._ },
25025 .{ ._, ._, .lea, .tmp1p, .mem(.dst0), ._, ._ },
25026 .{ ._, ._sq, .sto, ._, ._, ._, ._ },
25027 .{ ._, ._, .xor, .tmp0d, .tmp0d, ._, ._ },
25028 .{ ._, ._, .mov, .tmp2d, .sia(-1, .dst0, .add_size_div_8), ._, ._ },
25029 .{ ._, .@"rep _sq", .sto, ._, ._, ._, ._ },
25030 } },
25031 }, .{
25032 .src_constraints = .{ .{ .signed_int = .dword }, .any },
25033 .dst_constraints = .{.{ .signed_remainder_int = .{ .of = .dword, .is = .dword } }},
25034 .patterns = &.{
25035 .{ .src = .{ .mem, .none } },
25036 .{ .src = .{ .to_gpr, .none } },
25037 },
25038 .extra_temps = .{
25039 .{ .type = .i32, .kind = .{ .reg = .eax } },
25040 .{ .type = .usize, .kind = .{ .reg = .edi } },
25041 .{ .type = .u32, .kind = .{ .reg = .ecx } },
25042 .unused,
25043 .unused,
25044 .unused,
25045 .unused,
25046 .unused,
25047 .unused,
25048 },
25049 .dst_temps = .{.mem},
25050 .clobbers = .{ .eflags = true },
25051 .each = .{ .once = &.{
25052 .{ ._, ._, .mov, .tmp0d, .src0d, ._, ._ },
25053 .{ ._, ._, .lea, .tmp1p, .mem(.dst0), ._, ._ },
25054 .{ ._, ._sd, .sto, ._, ._, ._, ._ },
25055 .{ ._, ._r, .sa, .tmp0d, .ui(31), ._, ._ },
25056 .{ ._, ._, .mov, .tmp2d, .sia(-1, .dst0, .add_size_div_4), ._, ._ },
25057 .{ ._, .@"rep _sq", .sto, ._, ._, ._, ._ },
25058 } },
25059 }, .{
25060 .src_constraints = .{ .{ .int = .dword }, .any },
25061 .dst_constraints = .{.{ .remainder_int = .{ .of = .dword, .is = .dword } }},
25062 .patterns = &.{
25063 .{ .src = .{ .mem, .none } },
25064 .{ .src = .{ .to_gpr, .none } },
25065 },
25066 .extra_temps = .{
25067 .{ .type = .u32, .kind = .{ .reg = .eax } },
25068 .{ .type = .usize, .kind = .{ .reg = .edi } },
25069 .{ .type = .u32, .kind = .{ .reg = .ecx } },
25070 .unused,
25071 .unused,
25072 .unused,
25073 .unused,
25074 .unused,
25075 .unused,
25076 },
25077 .dst_temps = .{.mem},
25078 .clobbers = .{ .eflags = true },
25079 .each = .{ .once = &.{
25080 .{ ._, ._, .mov, .tmp0d, .src0d, ._, ._ },
25081 .{ ._, ._, .lea, .tmp1p, .mem(.dst0), ._, ._ },
25082 .{ ._, ._sd, .sto, ._, ._, ._, ._ },
25083 .{ ._, ._, .xor, .tmp0d, .tmp0d, ._, ._ },
25084 .{ ._, ._, .mov, .tmp2d, .sia(-1, .dst0, .add_size_div_4), ._, ._ },
25085 .{ ._, .@"rep _sd", .sto, ._, ._, ._, ._ },
25086 } },
25087 }, .{
25088 .required_features = .{ .@"64bit", null, null, null },
25089 .src_constraints = .{ .{ .signed_int = .qword }, .any },
25090 .dst_constraints = .{.{ .signed_remainder_int = .{ .of = .qword, .is = .qword } }},
25091 .patterns = &.{
25092 .{ .src = .{ .mem, .none } },
25093 .{ .src = .{ .to_gpr, .none } },
25094 },
25095 .extra_temps = .{
25096 .{ .type = .i64, .kind = .{ .reg = .rax } },
25097 .{ .type = .usize, .kind = .{ .reg = .rdi } },
25098 .{ .type = .u32, .kind = .{ .reg = .ecx } },
25099 .unused,
25100 .unused,
25101 .unused,
25102 .unused,
25103 .unused,
25104 .unused,
25105 },
25106 .dst_temps = .{.mem},
25107 .clobbers = .{ .eflags = true },
25108 .each = .{ .once = &.{
25109 .{ ._, ._, .mov, .tmp0q, .src0q, ._, ._ },
25110 .{ ._, ._, .lea, .tmp1p, .mem(.dst0), ._, ._ },
25111 .{ ._, ._sq, .sto, ._, ._, ._, ._ },
25112 .{ ._, ._r, .sa, .tmp0q, .ui(63), ._, ._ },
25113 .{ ._, ._, .mov, .tmp2d, .sia(-1, .dst0, .add_size_div_8), ._, ._ },
25114 .{ ._, .@"rep _sq", .sto, ._, ._, ._, ._ },
25115 } },
25116 }, .{
25117 .required_features = .{ .@"64bit", null, null, null },
25118 .src_constraints = .{ .{ .int = .qword }, .any },
25119 .dst_constraints = .{.{ .remainder_int = .{ .of = .qword, .is = .qword } }},
25120 .patterns = &.{
25121 .{ .src = .{ .mem, .none } },
25122 .{ .src = .{ .to_gpr, .none } },
25123 },
25124 .extra_temps = .{
25125 .{ .type = .u64, .kind = .{ .reg = .rax } },
25126 .{ .type = .usize, .kind = .{ .reg = .rdi } },
25127 .{ .type = .u32, .kind = .{ .reg = .ecx } },
25128 .unused,
25129 .unused,
25130 .unused,
25131 .unused,
25132 .unused,
25133 .unused,
25134 },
25135 .dst_temps = .{.mem},
25136 .clobbers = .{ .eflags = true },
25137 .each = .{ .once = &.{
25138 .{ ._, ._, .mov, .tmp0q, .src0q, ._, ._ },
25139 .{ ._, ._, .lea, .tmp1p, .mem(.dst0), ._, ._ },
25140 .{ ._, ._sq, .sto, ._, ._, ._, ._ },
25141 .{ ._, ._, .xor, .tmp0d, .tmp0d, ._, ._ },
25142 .{ ._, ._, .mov, .tmp2d, .sia(-1, .dst0, .add_size_div_8), ._, ._ },
25143 .{ ._, .@"rep _sq", .sto, ._, ._, ._, ._ },
25144 } },
25145 }, .{
25146 .required_features = .{ .@"64bit", null, null, null },
25147 .src_constraints = .{ .{ .signed_remainder_int = .{ .of = .qword, .is = .qword } }, .any },
25148 .dst_constraints = .{.{ .signed_remainder_int = .{ .of = .qword, .is = .qword } }},
25149 .patterns = &.{
25150 .{ .src = .{ .to_mem, .none } },
25151 },
25152 .extra_temps = .{
25153 .{ .type = .usize, .kind = .{ .reg = .rsi } },
25154 .{ .type = .usize, .kind = .{ .reg = .rdi } },
25155 .{ .type = .u32, .kind = .{ .reg = .ecx } },
25156 .{ .type = .i64, .kind = .{ .reg = .rax } },
25157 .unused,
25158 .unused,
25159 .unused,
25160 .unused,
25161 .unused,
25162 },
25163 .dst_temps = .{.mem},
25164 .clobbers = .{ .eflags = true },
25165 .each = .{ .once = &.{
25166 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },
25167 .{ ._, ._, .lea, .tmp1p, .mem(.dst0), ._, ._ },
25168 .{ ._, ._, .mov, .tmp2d, .sia(-1, .src0, .add_size_div_8), ._, ._ },
25169 .{ ._, .@"rep _sq", .mov, ._, ._, ._, ._ },
25170 .{ ._, ._sq, .lod, ._, ._, ._, ._ },
25171 .{ ._, ._sq, .sto, ._, ._, ._, ._ },
25172 .{ ._, ._r, .sa, .tmp3q, .ui(63), ._, ._ },
25173 .{ ._, ._, .mov, .tmp2d, .sa2(.dst0, .src0, .add_delta_size_div_8), ._, ._ },
25174 .{ ._, .@"rep _sq", .sto, ._, ._, ._, ._ },
25175 } },
25176 }, .{
25177 .required_features = .{ .@"64bit", null, null, null },
25178 .src_constraints = .{ .{ .remainder_int = .{ .of = .qword, .is = .qword } }, .any },
25179 .dst_constraints = .{.{ .remainder_int = .{ .of = .qword, .is = .qword } }},
25180 .patterns = &.{
25181 .{ .src = .{ .to_mem, .none } },
25182 },
25183 .extra_temps = .{
25184 .{ .type = .usize, .kind = .{ .reg = .rsi } },
25185 .{ .type = .usize, .kind = .{ .reg = .rdi } },
25186 .{ .type = .u32, .kind = .{ .reg = .ecx } },
25187 .{ .type = .u64, .kind = .{ .reg = .rax } },
25188 .unused,
25189 .unused,
25190 .unused,
25191 .unused,
25192 .unused,
25193 },
25194 .dst_temps = .{.mem},
25195 .clobbers = .{ .eflags = true },
25196 .each = .{ .once = &.{
25197 .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ },
25198 .{ ._, ._, .lea, .tmp1p, .mem(.dst0), ._, ._ },
25199 .{ ._, ._, .mov, .tmp2d, .sa(.src0, .add_size_div_8), ._, ._ },
25200 .{ ._, .@"rep _sq", .mov, ._, ._, ._, ._ },
25201 .{ ._, ._, .xor, .tmp3d, .tmp3d, ._, ._ },
25202 .{ ._, ._, .mov, .tmp2d, .sa2(.dst0, .src0, .add_delta_size_div_8), ._, ._ },
25203 .{ ._, .@"rep _sq", .sto, ._, ._, ._, ._ },
25204 } },
25205 } }) catch |err| switch (err) {
25206 error.SelectFailed => return cg.fail("failed to select {s} {} {} {}", .{
25207 @tagName(air_tag),
25208 dst_ty.fmt(pt),
25209 src_ty.fmt(pt),
25210 ops[0].tracking(cg),
25211 }),
25212 else => |e| return e,
25213 };
25214 try res[0].finish(inst, &.{ty_op.operand}, &ops, cg);
25215 },
24540 .optional_payload_ptr => if (use_old) try cg.airOptionalPayloadPtr(inst) else {25216 .optional_payload_ptr => if (use_old) try cg.airOptionalPayloadPtr(inst) else {
24541 const ty_op = air_datas[@intFromEnum(inst)].ty_op;25217 const ty_op = air_datas[@intFromEnum(inst)].ty_op;
24542 const ops = try cg.tempsFromOperands(inst, .{ty_op.operand});25218 const ops = try cg.tempsFromOperands(inst, .{ty_op.operand});
...@@ -24716,7 +25392,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -24716,7 +25392,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
24716 },25392 },
24717 .dst_temps = .{.{ .rc = .general_purpose }},25393 .dst_temps = .{.{ .rc = .general_purpose }},
24718 .each = .{ .once = &.{25394 .each = .{ .once = &.{
24719 .{ ._, ._, .movzx, .dst0d, .leaa(.byte, .src0, .add_src0_elem_size_times_src1), ._, ._ },25395 .{ ._, ._, .movzx, .dst0d, .leaa(.src0b, .add_src0_elem_size_times_src1), ._, ._ },
24720 } },25396 } },
24721 }, .{25397 }, .{
24722 .dst_constraints = .{.{ .int = .byte }},25398 .dst_constraints = .{.{ .int = .byte }},
...@@ -24725,7 +25401,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -24725,7 +25401,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
24725 },25401 },
24726 .dst_temps = .{.{ .rc = .general_purpose }},25402 .dst_temps = .{.{ .rc = .general_purpose }},
24727 .each = .{ .once = &.{25403 .each = .{ .once = &.{
24728 .{ ._, ._, .movzx, .dst0d, .leai(.byte, .src0, .src1), ._, ._ },25404 .{ ._, ._, .movzx, .dst0d, .leai(.src0b, .src1), ._, ._ },
24729 } },25405 } },
24730 }, .{25406 }, .{
24731 .dst_constraints = .{.{ .int = .word }},25407 .dst_constraints = .{.{ .int = .word }},
...@@ -24734,7 +25410,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -24734,7 +25410,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
24734 },25410 },
24735 .dst_temps = .{.{ .rc = .general_purpose }},25411 .dst_temps = .{.{ .rc = .general_purpose }},
24736 .each = .{ .once = &.{25412 .each = .{ .once = &.{
24737 .{ ._, ._, .movzx, .dst0d, .leaa(.word, .src0, .add_src0_elem_size_times_src1), ._, ._ },25413 .{ ._, ._, .movzx, .dst0d, .leaa(.src0w, .add_src0_elem_size_times_src1), ._, ._ },
24738 } },25414 } },
24739 }, .{25415 }, .{
24740 .dst_constraints = .{.{ .int = .word }},25416 .dst_constraints = .{.{ .int = .word }},
...@@ -24743,7 +25419,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -24743,7 +25419,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
24743 },25419 },
24744 .dst_temps = .{.{ .rc = .general_purpose }},25420 .dst_temps = .{.{ .rc = .general_purpose }},
24745 .each = .{ .once = &.{25421 .each = .{ .once = &.{
24746 .{ ._, ._, .movzx, .dst0d, .leasi(.word, .src0, .@"2", .src1), ._, ._ },25422 .{ ._, ._, .movzx, .dst0d, .leasi(.src0w, .@"2", .src1), ._, ._ },
24747 } },25423 } },
24748 }, .{25424 }, .{
24749 .dst_constraints = .{.{ .int = .dword }},25425 .dst_constraints = .{.{ .int = .dword }},
...@@ -24752,7 +25428,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -24752,7 +25428,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
24752 },25428 },
24753 .dst_temps = .{.{ .rc = .general_purpose }},25429 .dst_temps = .{.{ .rc = .general_purpose }},
24754 .each = .{ .once = &.{25430 .each = .{ .once = &.{
24755 .{ ._, ._, .mov, .dst0d, .leaa(.dword, .src0, .add_src0_elem_size_times_src1), ._, ._ },25431 .{ ._, ._, .mov, .dst0d, .leaa(.src0d, .add_src0_elem_size_times_src1), ._, ._ },
24756 } },25432 } },
24757 }, .{25433 }, .{
24758 .dst_constraints = .{.{ .int = .dword }},25434 .dst_constraints = .{.{ .int = .dword }},
...@@ -24761,7 +25437,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -24761,7 +25437,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
24761 },25437 },
24762 .dst_temps = .{.{ .rc = .general_purpose }},25438 .dst_temps = .{.{ .rc = .general_purpose }},
24763 .each = .{ .once = &.{25439 .each = .{ .once = &.{
24764 .{ ._, ._, .mov, .dst0d, .leasi(.dword, .src0, .@"4", .src1), ._, ._ },25440 .{ ._, ._, .mov, .dst0d, .leasi(.src0d, .@"4", .src1), ._, ._ },
24765 } },25441 } },
24766 }, .{25442 }, .{
24767 .dst_constraints = .{.{ .int = .qword }},25443 .dst_constraints = .{.{ .int = .qword }},
...@@ -24770,7 +25446,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -24770,7 +25446,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
24770 },25446 },
24771 .dst_temps = .{.{ .rc = .general_purpose }},25447 .dst_temps = .{.{ .rc = .general_purpose }},
24772 .each = .{ .once = &.{25448 .each = .{ .once = &.{
24773 .{ ._, ._, .mov, .dst0q, .leaa(.qword, .src0, .add_src0_elem_size_times_src1), ._, ._ },25449 .{ ._, ._, .mov, .dst0q, .leaa(.src0q, .add_src0_elem_size_times_src1), ._, ._ },
24774 } },25450 } },
24775 }, .{25451 }, .{
24776 .required_features = .{ .@"64bit", null, null, null },25452 .required_features = .{ .@"64bit", null, null, null },
...@@ -24780,7 +25456,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {...@@ -24780,7 +25456,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
24780 },25456 },
24781 .dst_temps = .{.{ .rc = .general_purpose }},25457 .dst_temps = .{.{ .rc = .general_purpose }},
24782 .each = .{ .once = &.{25458 .each = .{ .once = &.{
24783 .{ ._, ._, .mov, .dst0q, .leasi(.qword, .src0, .@"8", .src1), ._, ._ },25459 .{ ._, ._, .mov, .dst0q, .leasi(.src0q, .@"8", .src1), ._, ._ },
24784 } },25460 } },
24785 } }) catch |err| switch (err) {25461 } }) catch |err| switch (err) {
24786 error.SelectFailed => {25462 error.SelectFailed => {
...@@ -45924,16 +46600,19 @@ const Select = struct {...@@ -45924,16 +46600,19 @@ const Select = struct {
45924 };46600 };
45925 const Label = enum { @"0:", @"1:", @"2:", @"_", pseudo };46601 const Label = enum { @"0:", @"1:", @"2:", @"_", pseudo };
45926 const Operand = struct {46602 const Operand = struct {
45927 tag: Tag,46603 flags: packed struct(u16) {
46604 tag: Tag,
46605 adjust: Adjust = .none,
46606 unused: u4 = 0,
46607 },
45928 base: Ref.Sized = .none,46608 base: Ref.Sized = .none,
45929 index: packed struct(u6) {46609 index: packed struct(u6) {
45930 ref: Ref,46610 ref: Ref,
45931 scale: Memory.Scale,46611 scale: Memory.Scale = .@"1",
45932 } = .{ .ref = .none, .scale = .@"1" },46612 } = .{ .ref = .none },
45933 adjust: Adjust = .none,
45934 imm: i32 = 0,46613 imm: i32 = 0,
4593546614
45936 const Tag = enum {46615 const Tag = enum(u3) {
45937 none,46616 none,
45938 backward_label,46617 backward_label,
45939 forward_label,46618 forward_label,
...@@ -45943,13 +46622,14 @@ const Select = struct {...@@ -45943,13 +46622,14 @@ const Select = struct {
45943 lea,46622 lea,
45944 mem,46623 mem,
45945 };46624 };
45946 const Adjust = packed struct(u8) {46625 const Adjust = packed struct(u9) {
45947 sign: enum(u1) { neg, pos },46626 sign: enum(u1) { neg, pos },
45948 lhs: enum(u4) {46627 lhs: enum(u5) {
45949 none,46628 none,
45950 ptr_size,46629 ptr_size,
45951 ptr_bit_size,46630 ptr_bit_size,
45952 size,46631 size,
46632 delta_size,
45953 size_sub_elem_size,46633 size_sub_elem_size,
45954 unaligned_size,46634 unaligned_size,
45955 bit_size,46635 bit_size,
...@@ -45970,10 +46650,12 @@ const Select = struct {...@@ -45970,10 +46650,12 @@ const Select = struct {
45970 const sub_ptr_size: Adjust = .{ .sign = .neg, .lhs = .ptr_size, .op = .mul, .rhs = .@"1" };46650 const sub_ptr_size: Adjust = .{ .sign = .neg, .lhs = .ptr_size, .op = .mul, .rhs = .@"1" };
45971 const add_ptr_bit_size: Adjust = .{ .sign = .pos, .lhs = .ptr_bit_size, .op = .mul, .rhs = .@"1" };46651 const add_ptr_bit_size: Adjust = .{ .sign = .pos, .lhs = .ptr_bit_size, .op = .mul, .rhs = .@"1" };
45972 const add_size: Adjust = .{ .sign = .pos, .lhs = .size, .op = .mul, .rhs = .@"1" };46652 const add_size: Adjust = .{ .sign = .pos, .lhs = .size, .op = .mul, .rhs = .@"1" };
46653 const add_size_div_4: Adjust = .{ .sign = .pos, .lhs = .size, .op = .div, .rhs = .@"4" };
45973 const add_size_div_8: Adjust = .{ .sign = .pos, .lhs = .size, .op = .div, .rhs = .@"8" };46654 const add_size_div_8: Adjust = .{ .sign = .pos, .lhs = .size, .op = .div, .rhs = .@"8" };
45974 const sub_size_div_8: Adjust = .{ .sign = .neg, .lhs = .size, .op = .div, .rhs = .@"8" };46655 const sub_size_div_8: Adjust = .{ .sign = .neg, .lhs = .size, .op = .div, .rhs = .@"8" };
45975 const sub_size_div_4: Adjust = .{ .sign = .neg, .lhs = .size, .op = .div, .rhs = .@"4" };46656 const sub_size_div_4: Adjust = .{ .sign = .neg, .lhs = .size, .op = .div, .rhs = .@"4" };
45976 const sub_size: Adjust = .{ .sign = .neg, .lhs = .size, .op = .mul, .rhs = .@"1" };46657 const sub_size: Adjust = .{ .sign = .neg, .lhs = .size, .op = .mul, .rhs = .@"1" };
46658 const add_delta_size_div_8: Adjust = .{ .sign = .pos, .lhs = .delta_size, .op = .div, .rhs = .@"8" };
45977 const add_size_sub_elem_size: Adjust = .{ .sign = .pos, .lhs = .size_sub_elem_size, .op = .mul, .rhs = .@"1" };46659 const add_size_sub_elem_size: Adjust = .{ .sign = .pos, .lhs = .size_sub_elem_size, .op = .mul, .rhs = .@"1" };
45978 const add_unaligned_size: Adjust = .{ .sign = .pos, .lhs = .unaligned_size, .op = .mul, .rhs = .@"1" };46660 const add_unaligned_size: Adjust = .{ .sign = .pos, .lhs = .unaligned_size, .op = .mul, .rhs = .@"1" };
45979 const sub_unaligned_size: Adjust = .{ .sign = .neg, .lhs = .unaligned_size, .op = .mul, .rhs = .@"1" };46661 const sub_unaligned_size: Adjust = .{ .sign = .neg, .lhs = .unaligned_size, .op = .mul, .rhs = .@"1" };
...@@ -46147,298 +46829,293 @@ const Select = struct {...@@ -46147,298 +46829,293 @@ const Select = struct {
46147 }46829 }
46148 };46830 };
4614946831
46150 const @"_": Select.Operand = .{ .tag = .none };46832 const @"_": Select.Operand = .{ .flags = .{ .tag = .none } };
4615146833
46152 const @"0b": Select.Operand = .{ .tag = .backward_label, .base = .{ .ref = .tmp0, .size = .none } };46834 const @"0b": Select.Operand = .{ .flags = .{ .tag = .backward_label }, .base = .{ .ref = .tmp0, .size = .none } };
46153 const @"0f": Select.Operand = .{ .tag = .forward_label, .base = .{ .ref = .tmp0, .size = .none } };46835 const @"0f": Select.Operand = .{ .flags = .{ .tag = .forward_label }, .base = .{ .ref = .tmp0, .size = .none } };
46154 const @"1b": Select.Operand = .{ .tag = .backward_label, .base = .{ .ref = .tmp1, .size = .none } };46836 const @"1b": Select.Operand = .{ .flags = .{ .tag = .backward_label }, .base = .{ .ref = .tmp1, .size = .none } };
46155 const @"1f": Select.Operand = .{ .tag = .forward_label, .base = .{ .ref = .tmp1, .size = .none } };46837 const @"1f": Select.Operand = .{ .flags = .{ .tag = .forward_label }, .base = .{ .ref = .tmp1, .size = .none } };
46156 const @"2b": Select.Operand = .{ .tag = .backward_label, .base = .{ .ref = .tmp2, .size = .none } };46838 const @"2b": Select.Operand = .{ .flags = .{ .tag = .backward_label }, .base = .{ .ref = .tmp2, .size = .none } };
46157 const @"2f": Select.Operand = .{ .tag = .forward_label, .base = .{ .ref = .tmp2, .size = .none } };46839 const @"2f": Select.Operand = .{ .flags = .{ .tag = .forward_label }, .base = .{ .ref = .tmp2, .size = .none } };
4615846840
46159 const tmp0b: Select.Operand = .{ .tag = .ref, .base = .tmp0b };46841 const tmp0b: Select.Operand = .{ .flags = .{ .tag = .ref }, .base = .tmp0b };
46160 const tmp0w: Select.Operand = .{ .tag = .ref, .base = .tmp0w };46842 const tmp0w: Select.Operand = .{ .flags = .{ .tag = .ref }, .base = .tmp0w };
46161 const tmp0d: Select.Operand = .{ .tag = .ref, .base = .tmp0d };46843 const tmp0d: Select.Operand = .{ .flags = .{ .tag = .ref }, .base = .tmp0d };
46162 const tmp0p: Select.Operand = .{ .tag = .ref, .base = .tmp0p };46844 const tmp0p: Select.Operand = .{ .flags = .{ .tag = .ref }, .base = .tmp0p };
46163 const tmp0q: Select.Operand = .{ .tag = .ref, .base = .tmp0q };46845 const tmp0q: Select.Operand = .{ .flags = .{ .tag = .ref }, .base = .tmp0q };
46164 const tmp0t: Select.Operand = .{ .tag = .ref, .base = .tmp0t };46846 const tmp0t: Select.Operand = .{ .flags = .{ .tag = .ref }, .base = .tmp0t };
46165 const tmp0x: Select.Operand = .{ .tag = .ref, .base = .tmp0x };46847 const tmp0x: Select.Operand = .{ .flags = .{ .tag = .ref }, .base = .tmp0x };
46166 const tmp0y: Select.Operand = .{ .tag = .ref, .base = .tmp0y };46848 const tmp0y: Select.Operand = .{ .flags = .{ .tag = .ref }, .base = .tmp0y };
4616746849
46168 const tmp1b: Select.Operand = .{ .tag = .ref, .base = .tmp1b };46850 const tmp1b: Select.Operand = .{ .flags = .{ .tag = .ref }, .base = .tmp1b };
46169 const tmp1w: Select.Operand = .{ .tag = .ref, .base = .tmp1w };46851 const tmp1w: Select.Operand = .{ .flags = .{ .tag = .ref }, .base = .tmp1w };
46170 const tmp1d: Select.Operand = .{ .tag = .ref, .base = .tmp1d };46852 const tmp1d: Select.Operand = .{ .flags = .{ .tag = .ref }, .base = .tmp1d };
46171 const tmp1p: Select.Operand = .{ .tag = .ref, .base = .tmp1p };46853 const tmp1p: Select.Operand = .{ .flags = .{ .tag = .ref }, .base = .tmp1p };
46172 const tmp1q: Select.Operand = .{ .tag = .ref, .base = .tmp1q };46854 const tmp1q: Select.Operand = .{ .flags = .{ .tag = .ref }, .base = .tmp1q };
46173 const tmp1t: Select.Operand = .{ .tag = .ref, .base = .tmp1t };46855 const tmp1t: Select.Operand = .{ .flags = .{ .tag = .ref }, .base = .tmp1t };
46174 const tmp1x: Select.Operand = .{ .tag = .ref, .base = .tmp1x };46856 const tmp1x: Select.Operand = .{ .flags = .{ .tag = .ref }, .base = .tmp1x };
46175 const tmp1y: Select.Operand = .{ .tag = .ref, .base = .tmp1y };46857 const tmp1y: Select.Operand = .{ .flags = .{ .tag = .ref }, .base = .tmp1y };
4617646858
46177 const tmp2b: Select.Operand = .{ .tag = .ref, .base = .tmp2b };46859 const tmp2b: Select.Operand = .{ .flags = .{ .tag = .ref }, .base = .tmp2b };
46178 const tmp2w: Select.Operand = .{ .tag = .ref, .base = .tmp2w };46860 const tmp2w: Select.Operand = .{ .flags = .{ .tag = .ref }, .base = .tmp2w };
46179 const tmp2d: Select.Operand = .{ .tag = .ref, .base = .tmp2d };46861 const tmp2d: Select.Operand = .{ .flags = .{ .tag = .ref }, .base = .tmp2d };
46180 const tmp2p: Select.Operand = .{ .tag = .ref, .base = .tmp2p };46862 const tmp2p: Select.Operand = .{ .flags = .{ .tag = .ref }, .base = .tmp2p };
46181 const tmp2q: Select.Operand = .{ .tag = .ref, .base = .tmp2q };46863 const tmp2q: Select.Operand = .{ .flags = .{ .tag = .ref }, .base = .tmp2q };
46182 const tmp2t: Select.Operand = .{ .tag = .ref, .base = .tmp2t };46864 const tmp2t: Select.Operand = .{ .flags = .{ .tag = .ref }, .base = .tmp2t };
46183 const tmp2x: Select.Operand = .{ .tag = .ref, .base = .tmp2x };46865 const tmp2x: Select.Operand = .{ .flags = .{ .tag = .ref }, .base = .tmp2x };
46184 const tmp2y: Select.Operand = .{ .tag = .ref, .base = .tmp2y };46866 const tmp2y: Select.Operand = .{ .flags = .{ .tag = .ref }, .base = .tmp2y };
4618546867
46186 const tmp3b: Select.Operand = .{ .tag = .ref, .base = .tmp3b };46868 const tmp3b: Select.Operand = .{ .flags = .{ .tag = .ref }, .base = .tmp3b };
46187 const tmp3w: Select.Operand = .{ .tag = .ref, .base = .tmp3w };46869 const tmp3w: Select.Operand = .{ .flags = .{ .tag = .ref }, .base = .tmp3w };
46188 const tmp3d: Select.Operand = .{ .tag = .ref, .base = .tmp3d };46870 const tmp3d: Select.Operand = .{ .flags = .{ .tag = .ref }, .base = .tmp3d };
46189 const tmp3p: Select.Operand = .{ .tag = .ref, .base = .tmp3p };46871 const tmp3p: Select.Operand = .{ .flags = .{ .tag = .ref }, .base = .tmp3p };
46190 const tmp3q: Select.Operand = .{ .tag = .ref, .base = .tmp3q };46872 const tmp3q: Select.Operand = .{ .flags = .{ .tag = .ref }, .base = .tmp3q };
46191 const tmp3t: Select.Operand = .{ .tag = .ref, .base = .tmp3t };46873 const tmp3t: Select.Operand = .{ .flags = .{ .tag = .ref }, .base = .tmp3t };
46192 const tmp3x: Select.Operand = .{ .tag = .ref, .base = .tmp3x };46874 const tmp3x: Select.Operand = .{ .flags = .{ .tag = .ref }, .base = .tmp3x };
46193 const tmp3y: Select.Operand = .{ .tag = .ref, .base = .tmp3y };46875 const tmp3y: Select.Operand = .{ .flags = .{ .tag = .ref }, .base = .tmp3y };
4619446876
46195 const tmp4b: Select.Operand = .{ .tag = .ref, .base = .tmp4b };46877 const tmp4b: Select.Operand = .{ .flags = .{ .tag = .ref }, .base = .tmp4b };
46196 const tmp4w: Select.Operand = .{ .tag = .ref, .base = .tmp4w };46878 const tmp4w: Select.Operand = .{ .flags = .{ .tag = .ref }, .base = .tmp4w };
46197 const tmp4d: Select.Operand = .{ .tag = .ref, .base = .tmp4d };46879 const tmp4d: Select.Operand = .{ .flags = .{ .tag = .ref }, .base = .tmp4d };
46198 const tmp4p: Select.Operand = .{ .tag = .ref, .base = .tmp4p };46880 const tmp4p: Select.Operand = .{ .flags = .{ .tag = .ref }, .base = .tmp4p };
46199 const tmp4q: Select.Operand = .{ .tag = .ref, .base = .tmp4q };46881 const tmp4q: Select.Operand = .{ .flags = .{ .tag = .ref }, .base = .tmp4q };
46200 const tmp4t: Select.Operand = .{ .tag = .ref, .base = .tmp4t };46882 const tmp4t: Select.Operand = .{ .flags = .{ .tag = .ref }, .base = .tmp4t };
46201 const tmp4x: Select.Operand = .{ .tag = .ref, .base = .tmp4x };46883 const tmp4x: Select.Operand = .{ .flags = .{ .tag = .ref }, .base = .tmp4x };
46202 const tmp4y: Select.Operand = .{ .tag = .ref, .base = .tmp4y };46884 const tmp4y: Select.Operand = .{ .flags = .{ .tag = .ref }, .base = .tmp4y };
4620346885
46204 const tmp5b: Select.Operand = .{ .tag = .ref, .base = .tmp5b };46886 const tmp5b: Select.Operand = .{ .flags = .{ .tag = .ref }, .base = .tmp5b };
46205 const tmp5w: Select.Operand = .{ .tag = .ref, .base = .tmp5w };46887 const tmp5w: Select.Operand = .{ .flags = .{ .tag = .ref }, .base = .tmp5w };
46206 const tmp5d: Select.Operand = .{ .tag = .ref, .base = .tmp5d };46888 const tmp5d: Select.Operand = .{ .flags = .{ .tag = .ref }, .base = .tmp5d };
46207 const tmp5p: Select.Operand = .{ .tag = .ref, .base = .tmp5p };46889 const tmp5p: Select.Operand = .{ .flags = .{ .tag = .ref }, .base = .tmp5p };
46208 const tmp5q: Select.Operand = .{ .tag = .ref, .base = .tmp5q };46890 const tmp5q: Select.Operand = .{ .flags = .{ .tag = .ref }, .base = .tmp5q };
46209 const tmp5t: Select.Operand = .{ .tag = .ref, .base = .tmp5t };46891 const tmp5t: Select.Operand = .{ .flags = .{ .tag = .ref }, .base = .tmp5t };
46210 const tmp5x: Select.Operand = .{ .tag = .ref, .base = .tmp5x };46892 const tmp5x: Select.Operand = .{ .flags = .{ .tag = .ref }, .base = .tmp5x };
46211 const tmp5y: Select.Operand = .{ .tag = .ref, .base = .tmp5y };46893 const tmp5y: Select.Operand = .{ .flags = .{ .tag = .ref }, .base = .tmp5y };
4621246894
46213 const tmp6b: Select.Operand = .{ .tag = .ref, .base = .tmp6b };46895 const tmp6b: Select.Operand = .{ .flags = .{ .tag = .ref }, .base = .tmp6b };
46214 const tmp6w: Select.Operand = .{ .tag = .ref, .base = .tmp6w };46896 const tmp6w: Select.Operand = .{ .flags = .{ .tag = .ref }, .base = .tmp6w };
46215 const tmp6d: Select.Operand = .{ .tag = .ref, .base = .tmp6d };46897 const tmp6d: Select.Operand = .{ .flags = .{ .tag = .ref }, .base = .tmp6d };
46216 const tmp6p: Select.Operand = .{ .tag = .ref, .base = .tmp6p };46898 const tmp6p: Select.Operand = .{ .flags = .{ .tag = .ref }, .base = .tmp6p };
46217 const tmp6q: Select.Operand = .{ .tag = .ref, .base = .tmp6q };46899 const tmp6q: Select.Operand = .{ .flags = .{ .tag = .ref }, .base = .tmp6q };
46218 const tmp6t: Select.Operand = .{ .tag = .ref, .base = .tmp6t };46900 const tmp6t: Select.Operand = .{ .flags = .{ .tag = .ref }, .base = .tmp6t };
46219 const tmp6x: Select.Operand = .{ .tag = .ref, .base = .tmp6x };46901 const tmp6x: Select.Operand = .{ .flags = .{ .tag = .ref }, .base = .tmp6x };
46220 const tmp6y: Select.Operand = .{ .tag = .ref, .base = .tmp6y };46902 const tmp6y: Select.Operand = .{ .flags = .{ .tag = .ref }, .base = .tmp6y };
4622146903
46222 const tmp7b: Select.Operand = .{ .tag = .ref, .base = .tmp7b };46904 const tmp7b: Select.Operand = .{ .flags = .{ .tag = .ref }, .base = .tmp7b };
46223 const tmp7w: Select.Operand = .{ .tag = .ref, .base = .tmp7w };46905 const tmp7w: Select.Operand = .{ .flags = .{ .tag = .ref }, .base = .tmp7w };
46224 const tmp7d: Select.Operand = .{ .tag = .ref, .base = .tmp7d };46906 const tmp7d: Select.Operand = .{ .flags = .{ .tag = .ref }, .base = .tmp7d };
46225 const tmp7p: Select.Operand = .{ .tag = .ref, .base = .tmp7p };46907 const tmp7p: Select.Operand = .{ .flags = .{ .tag = .ref }, .base = .tmp7p };
46226 const tmp7q: Select.Operand = .{ .tag = .ref, .base = .tmp7q };46908 const tmp7q: Select.Operand = .{ .flags = .{ .tag = .ref }, .base = .tmp7q };
46227 const tmp7t: Select.Operand = .{ .tag = .ref, .base = .tmp7t };46909 const tmp7t: Select.Operand = .{ .flags = .{ .tag = .ref }, .base = .tmp7t };
46228 const tmp7x: Select.Operand = .{ .tag = .ref, .base = .tmp7x };46910 const tmp7x: Select.Operand = .{ .flags = .{ .tag = .ref }, .base = .tmp7x };
46229 const tmp7y: Select.Operand = .{ .tag = .ref, .base = .tmp7y };46911 const tmp7y: Select.Operand = .{ .flags = .{ .tag = .ref }, .base = .tmp7y };
4623046912
46231 const tmp8b: Select.Operand = .{ .tag = .ref, .base = .tmp8b };46913 const tmp8b: Select.Operand = .{ .flags = .{ .tag = .ref }, .base = .tmp8b };
46232 const tmp8w: Select.Operand = .{ .tag = .ref, .base = .tmp8w };46914 const tmp8w: Select.Operand = .{ .flags = .{ .tag = .ref }, .base = .tmp8w };
46233 const tmp8d: Select.Operand = .{ .tag = .ref, .base = .tmp8d };46915 const tmp8d: Select.Operand = .{ .flags = .{ .tag = .ref }, .base = .tmp8d };
46234 const tmp8p: Select.Operand = .{ .tag = .ref, .base = .tmp8p };46916 const tmp8p: Select.Operand = .{ .flags = .{ .tag = .ref }, .base = .tmp8p };
46235 const tmp8q: Select.Operand = .{ .tag = .ref, .base = .tmp8q };46917 const tmp8q: Select.Operand = .{ .flags = .{ .tag = .ref }, .base = .tmp8q };
46236 const tmp8t: Select.Operand = .{ .tag = .ref, .base = .tmp8t };46918 const tmp8t: Select.Operand = .{ .flags = .{ .tag = .ref }, .base = .tmp8t };
46237 const tmp8x: Select.Operand = .{ .tag = .ref, .base = .tmp8x };46919 const tmp8x: Select.Operand = .{ .flags = .{ .tag = .ref }, .base = .tmp8x };
46238 const tmp8y: Select.Operand = .{ .tag = .ref, .base = .tmp8y };46920 const tmp8y: Select.Operand = .{ .flags = .{ .tag = .ref }, .base = .tmp8y };
4623946921
46240 const dst0b: Select.Operand = .{ .tag = .ref, .base = .dst0b };46922 const dst0b: Select.Operand = .{ .flags = .{ .tag = .ref }, .base = .dst0b };
46241 const dst0w: Select.Operand = .{ .tag = .ref, .base = .dst0w };46923 const dst0w: Select.Operand = .{ .flags = .{ .tag = .ref }, .base = .dst0w };
46242 const dst0d: Select.Operand = .{ .tag = .ref, .base = .dst0d };46924 const dst0d: Select.Operand = .{ .flags = .{ .tag = .ref }, .base = .dst0d };
46243 const dst0p: Select.Operand = .{ .tag = .ref, .base = .dst0p };46925 const dst0p: Select.Operand = .{ .flags = .{ .tag = .ref }, .base = .dst0p };
46244 const dst0q: Select.Operand = .{ .tag = .ref, .base = .dst0q };46926 const dst0q: Select.Operand = .{ .flags = .{ .tag = .ref }, .base = .dst0q };
46245 const dst0t: Select.Operand = .{ .tag = .ref, .base = .dst0t };46927 const dst0t: Select.Operand = .{ .flags = .{ .tag = .ref }, .base = .dst0t };
46246 const dst0x: Select.Operand = .{ .tag = .ref, .base = .dst0x };46928 const dst0x: Select.Operand = .{ .flags = .{ .tag = .ref }, .base = .dst0x };
46247 const dst0y: Select.Operand = .{ .tag = .ref, .base = .dst0y };46929 const dst0y: Select.Operand = .{ .flags = .{ .tag = .ref }, .base = .dst0y };
4624846930
46249 const src0b: Select.Operand = .{ .tag = .ref, .base = .src0b };46931 const src0b: Select.Operand = .{ .flags = .{ .tag = .ref }, .base = .src0b };
46250 const src0w: Select.Operand = .{ .tag = .ref, .base = .src0w };46932 const src0w: Select.Operand = .{ .flags = .{ .tag = .ref }, .base = .src0w };
46251 const src0d: Select.Operand = .{ .tag = .ref, .base = .src0d };46933 const src0d: Select.Operand = .{ .flags = .{ .tag = .ref }, .base = .src0d };
46252 const src0p: Select.Operand = .{ .tag = .ref, .base = .src0p };46934 const src0p: Select.Operand = .{ .flags = .{ .tag = .ref }, .base = .src0p };
46253 const src0q: Select.Operand = .{ .tag = .ref, .base = .src0q };46935 const src0q: Select.Operand = .{ .flags = .{ .tag = .ref }, .base = .src0q };
46254 const src0t: Select.Operand = .{ .tag = .ref, .base = .src0t };46936 const src0t: Select.Operand = .{ .flags = .{ .tag = .ref }, .base = .src0t };
46255 const src0x: Select.Operand = .{ .tag = .ref, .base = .src0x };46937 const src0x: Select.Operand = .{ .flags = .{ .tag = .ref }, .base = .src0x };
46256 const src0y: Select.Operand = .{ .tag = .ref, .base = .src0y };46938 const src0y: Select.Operand = .{ .flags = .{ .tag = .ref }, .base = .src0y };
4625746939
46258 const src1b: Select.Operand = .{ .tag = .ref, .base = .src1b };46940 const src1b: Select.Operand = .{ .flags = .{ .tag = .ref }, .base = .src1b };
46259 const src1w: Select.Operand = .{ .tag = .ref, .base = .src1w };46941 const src1w: Select.Operand = .{ .flags = .{ .tag = .ref }, .base = .src1w };
46260 const src1d: Select.Operand = .{ .tag = .ref, .base = .src1d };46942 const src1d: Select.Operand = .{ .flags = .{ .tag = .ref }, .base = .src1d };
46261 const src1p: Select.Operand = .{ .tag = .ref, .base = .src1p };46943 const src1p: Select.Operand = .{ .flags = .{ .tag = .ref }, .base = .src1p };
46262 const src1q: Select.Operand = .{ .tag = .ref, .base = .src1q };46944 const src1q: Select.Operand = .{ .flags = .{ .tag = .ref }, .base = .src1q };
46263 const src1t: Select.Operand = .{ .tag = .ref, .base = .src1t };46945 const src1t: Select.Operand = .{ .flags = .{ .tag = .ref }, .base = .src1t };
46264 const src1x: Select.Operand = .{ .tag = .ref, .base = .src1x };46946 const src1x: Select.Operand = .{ .flags = .{ .tag = .ref }, .base = .src1x };
46265 const src1y: Select.Operand = .{ .tag = .ref, .base = .src1y };46947 const src1y: Select.Operand = .{ .flags = .{ .tag = .ref }, .base = .src1y };
4626646948
46267 fn si(imm: i32) Select.Operand {46949 fn si(imm: i32) Select.Operand {
46268 return .{ .tag = .simm, .imm = imm };46950 return .{ .flags = .{ .tag = .simm }, .imm = imm };
46269 }46951 }
46270 fn sa(base: Ref.Sized, adjust: Adjust) Select.Operand {46952 fn sa(base: Ref.Sized, adjust: Adjust) Select.Operand {
46271 return .{ .tag = .simm, .base = base, .adjust = adjust };46953 return .{ .flags = .{ .tag = .simm, .adjust = adjust }, .base = base };
46954 }
46955 fn sa2(base: Ref.Sized, index: Ref, adjust: Adjust) Select.Operand {
46956 return .{ .flags = .{ .tag = .simm, .adjust = adjust }, .base = base, .index = .{ .ref = index } };
46272 }46957 }
46273 fn sia(imm: i32, base: Ref.Sized, adjust: Adjust) Select.Operand {46958 fn sia(imm: i32, base: Ref.Sized, adjust: Adjust) Select.Operand {
46274 return .{ .tag = .simm, .base = base, .adjust = adjust, .imm = imm };46959 return .{ .flags = .{ .tag = .simm, .adjust = adjust }, .base = base, .imm = imm };
46275 }46960 }
46276 fn ui(imm: u32) Select.Operand {46961 fn ui(imm: u32) Select.Operand {
46277 return .{ .tag = .uimm, .imm = @bitCast(imm) };46962 return .{ .flags = .{ .tag = .uimm }, .imm = @bitCast(imm) };
46278 }46963 }
46279 fn ua(base: Ref.Sized, adjust: Adjust) Select.Operand {46964 fn ua(base: Ref.Sized, adjust: Adjust) Select.Operand {
46280 return .{ .tag = .uimm, .base = base, .adjust = adjust };46965 return .{ .flags = .{ .tag = .uimm, .adjust = adjust }, .base = base };
46281 }46966 }
46282 fn uia(imm: u32, base: Ref.Sized, adjust: Adjust) Select.Operand {46967 fn uia(imm: u32, base: Ref.Sized, adjust: Adjust) Select.Operand {
46283 return .{ .tag = .uimm, .base = base, .adjust = adjust, .imm = @bitCast(imm) };46968 return .{ .flags = .{ .tag = .uimm, .adjust = adjust }, .base = base, .imm = @bitCast(imm) };
46284 }46969 }
4628546970
46286 fn rm(mode: bits.RoundMode) Select.Operand {46971 fn rm(mode: bits.RoundMode) Select.Operand {
46287 return .{ .tag = .uimm, .imm = @intCast(mode.imm().unsigned) };46972 return .{ .flags = .{ .tag = .uimm }, .imm = @intCast(mode.imm().unsigned) };
46288 }46973 }
46289 fn sp(pred: bits.SseFloatPredicate) Select.Operand {46974 fn sp(pred: bits.SseFloatPredicate) Select.Operand {
46290 return .{ .tag = .uimm, .imm = @intCast(pred.imm().unsigned) };46975 return .{ .flags = .{ .tag = .uimm }, .imm = @intCast(pred.imm().unsigned) };
46291 }46976 }
46292 fn vp(pred: bits.VexFloatPredicate) Select.Operand {46977 fn vp(pred: bits.VexFloatPredicate) Select.Operand {
46293 return .{ .tag = .uimm, .imm = @intCast(pred.imm().unsigned) };46978 return .{ .flags = .{ .tag = .uimm }, .imm = @intCast(pred.imm().unsigned) };
46294 }46979 }
4629546980
46296 fn lea(size: Memory.Size, base: Ref) Select.Operand {46981 fn lea(base: Ref.Sized) Select.Operand {
46297 return .{46982 return .{
46298 .tag = .lea,46983 .flags = .{ .tag = .lea },
46299 .base = .{ .ref = base, .size = size },46984 .base = base,
46300 };46985 };
46301 }46986 }
46302 fn leaa(size: Memory.Size, base: Ref, adjust: Adjust) Select.Operand {46987 fn leaa(base: Ref.Sized, adjust: Adjust) Select.Operand {
46303 return .{46988 return .{
46304 .tag = .lea,46989 .flags = .{ .tag = .lea, .adjust = adjust },
46305 .base = .{ .ref = base, .size = size },46990 .base = base,
46306 .adjust = adjust,
46307 };46991 };
46308 }46992 }
46309 fn lead(size: Memory.Size, base: Ref, disp: i32) Select.Operand {46993 fn lead(base: Ref.Sized, disp: i32) Select.Operand {
46310 return .{46994 return .{
46311 .tag = .lea,46995 .flags = .{ .tag = .lea },
46312 .base = .{ .ref = base, .size = size },46996 .base = base,
46313 .imm = disp,46997 .imm = disp,
46314 };46998 };
46315 }46999 }
46316 fn leai(size: Memory.Size, base: Ref, index: Ref) Select.Operand {47000 fn leai(base: Ref.Sized, index: Ref) Select.Operand {
46317 return .{47001 return .{
46318 .tag = .lea,47002 .flags = .{ .tag = .lea },
46319 .base = .{ .ref = base, .size = size },47003 .base = base,
46320 .index = .{ .ref = index, .scale = .@"1" },47004 .index = .{ .ref = index },
46321 };47005 };
46322 }47006 }
46323 fn leaia(size: Memory.Size, base: Ref, index: Ref, adjust: Adjust) Select.Operand {47007 fn leaia(base: Ref.Sized, index: Ref, adjust: Adjust) Select.Operand {
46324 return .{47008 return .{
46325 .tag = .lea,47009 .flags = .{ .tag = .lea, .adjust = adjust },
46326 .base = .{ .ref = base, .size = size },47010 .base = base,
46327 .index = .{ .ref = index, .scale = .@"1" },47011 .index = .{ .ref = index },
46328 .adjust = adjust,
46329 };47012 };
46330 }47013 }
46331 fn leaid(size: Memory.Size, base: Ref, index: Ref, disp: i32) Select.Operand {47014 fn leaid(base: Ref.Sized, index: Ref, disp: i32) Select.Operand {
46332 return .{47015 return .{
46333 .tag = .lea,47016 .flags = .{ .tag = .lea },
46334 .base = .{ .ref = base, .size = size },47017 .base = base,
46335 .index = .{ .ref = index, .scale = .@"1" },47018 .index = .{ .ref = index },
46336 .imm = disp,47019 .imm = disp,
46337 };47020 };
46338 }47021 }
46339 fn leasi(size: Memory.Size, base: Ref, scale: Memory.Scale, index: Ref) Select.Operand {47022 fn leasi(base: Ref.Sized, scale: Memory.Scale, index: Ref) Select.Operand {
46340 return .{47023 return .{
46341 .tag = .lea,47024 .flags = .{ .tag = .lea },
46342 .base = .{ .ref = base, .size = size },47025 .base = base,
46343 .index = .{ .ref = index, .scale = scale },47026 .index = .{ .ref = index, .scale = scale },
46344 };47027 };
46345 }47028 }
46346 fn leasid(size: Memory.Size, base: Ref, scale: Memory.Scale, index: Ref, disp: i32) Select.Operand {47029 fn leasid(base: Ref.Sized, scale: Memory.Scale, index: Ref, disp: i32) Select.Operand {
46347 return .{47030 return .{
46348 .tag = .lea,47031 .flags = .{ .tag = .lea },
46349 .base = .{ .ref = base, .size = size },47032 .base = base,
46350 .index = .{ .ref = index, .scale = scale },47033 .index = .{ .ref = index, .scale = scale },
46351 .imm = disp,47034 .imm = disp,
46352 };47035 };
46353 }47036 }
46354 fn leasiad(size: Memory.Size, base: Ref, scale: Memory.Scale, index: Ref, adjust: Adjust, disp: i32) Select.Operand {47037 fn leasiad(base: Ref.Sized, scale: Memory.Scale, index: Ref, adjust: Adjust, disp: i32) Select.Operand {
46355 return .{47038 return .{
46356 .tag = .lea,47039 .flags = .{ .tag = .lea, .adjust = adjust },
46357 .base = .{ .ref = base, .size = size },47040 .base = base,
46358 .index = .{ .ref = index, .scale = scale },47041 .index = .{ .ref = index, .scale = scale },
46359 .adjust = adjust,
46360 .imm = disp,47042 .imm = disp,
46361 };47043 };
46362 }47044 }
4636347045
46364 fn mem(base: Ref.Sized) Select.Operand {47046 fn mem(base: Ref.Sized) Select.Operand {
46365 return .{47047 return .{
46366 .tag = .mem,47048 .flags = .{ .tag = .mem },
46367 .base = base,47049 .base = base,
46368 };47050 };
46369 }47051 }
46370 fn memd(base: Ref.Sized, disp: i32) Select.Operand {47052 fn memd(base: Ref.Sized, disp: i32) Select.Operand {
46371 return .{47053 return .{
46372 .tag = .mem,47054 .flags = .{ .tag = .mem },
46373 .base = base,47055 .base = base,
46374 .imm = disp,47056 .imm = disp,
46375 };47057 };
46376 }47058 }
46377 fn mema(base: Ref.Sized, adjust: Adjust) Select.Operand {47059 fn mema(base: Ref.Sized, adjust: Adjust) Select.Operand {
46378 return .{47060 return .{
46379 .tag = .mem,47061 .flags = .{ .tag = .mem, .adjust = adjust },
46380 .base = base,47062 .base = base,
46381 .adjust = adjust,
46382 };47063 };
46383 }47064 }
46384 fn memad(base: Ref.Sized, adjust: Adjust, disp: i32) Select.Operand {47065 fn memad(base: Ref.Sized, adjust: Adjust, disp: i32) Select.Operand {
46385 return .{47066 return .{
46386 .tag = .mem,47067 .flags = .{ .tag = .mem, .adjust = adjust },
46387 .base = base,47068 .base = base,
46388 .adjust = adjust,
46389 .imm = disp,47069 .imm = disp,
46390 };47070 };
46391 }47071 }
46392 fn memi(base: Ref.Sized, index: Ref) Select.Operand {47072 fn memi(base: Ref.Sized, index: Ref) Select.Operand {
46393 return .{47073 return .{
46394 .tag = .mem,47074 .flags = .{ .tag = .mem },
46395 .base = base,47075 .base = base,
46396 .index = .{ .ref = index, .scale = .@"1" },47076 .index = .{ .ref = index },
46397 };47077 };
46398 }47078 }
46399 fn memia(base: Ref.Sized, index: Ref, adjust: Adjust) Select.Operand {47079 fn memia(base: Ref.Sized, index: Ref, adjust: Adjust) Select.Operand {
46400 return .{47080 return .{
46401 .tag = .mem,47081 .flags = .{ .tag = .mem, .adjust = adjust },
46402 .base = base,47082 .base = base,
46403 .index = .{ .ref = index, .scale = .@"1" },47083 .index = .{ .ref = index },
46404 .adjust = adjust,
46405 };47084 };
46406 }47085 }
46407 fn memiad(base: Ref.Sized, index: Ref, adjust: Adjust, disp: i32) Select.Operand {47086 fn memiad(base: Ref.Sized, index: Ref, adjust: Adjust, disp: i32) Select.Operand {
46408 return .{47087 return .{
46409 .tag = .mem,47088 .flags = .{ .tag = .mem, .adjust = adjust },
46410 .base = base,47089 .base = base,
46411 .index = .{ .ref = index, .scale = .@"1" },47090 .index = .{ .ref = index },
46412 .adjust = adjust,
46413 .imm = disp,47091 .imm = disp,
46414 };47092 };
46415 }47093 }
46416 fn memid(base: Ref.Sized, index: Ref, disp: i32) Select.Operand {47094 fn memid(base: Ref.Sized, index: Ref, disp: i32) Select.Operand {
46417 return .{47095 return .{
46418 .tag = .mem,47096 .flags = .{ .tag = .mem },
46419 .base = base,47097 .base = base,
46420 .index = .{ .ref = index, .scale = .@"1" },47098 .index = .{ .ref = index },
46421 .imm = disp,47099 .imm = disp,
46422 };47100 };
46423 }47101 }
46424 fn memsi(base: Ref.Sized, scale: Memory.Scale, index: Ref) Select.Operand {47102 fn memsi(base: Ref.Sized, scale: Memory.Scale, index: Ref) Select.Operand {
46425 return .{47103 return .{
46426 .tag = .mem,47104 .flags = .{ .tag = .mem },
46427 .base = base,47105 .base = base,
46428 .index = .{ .ref = index, .scale = scale },47106 .index = .{ .ref = index, .scale = scale },
46429 };47107 };
46430 }47108 }
46431 fn memsia(base: Ref.Sized, scale: Memory.Scale, index: Ref, adjust: Adjust) Select.Operand {47109 fn memsia(base: Ref.Sized, scale: Memory.Scale, index: Ref, adjust: Adjust) Select.Operand {
46432 return .{47110 return .{
46433 .tag = .mem,47111 .flags = .{ .tag = .mem, .adjust = adjust },
46434 .base = base,47112 .base = base,
46435 .index = .{ .ref = index, .scale = scale },47113 .index = .{ .ref = index, .scale = scale },
46436 .adjust = adjust,
46437 };47114 };
46438 }47115 }
46439 fn memsid(base: Ref.Sized, scale: Memory.Scale, index: Ref, disp: i32) Select.Operand {47116 fn memsid(base: Ref.Sized, scale: Memory.Scale, index: Ref, disp: i32) Select.Operand {
46440 return .{47117 return .{
46441 .tag = .mem,47118 .flags = .{ .tag = .mem },
46442 .base = base,47119 .base = base,
46443 .index = .{ .ref = index, .scale = scale },47120 .index = .{ .ref = index, .scale = scale },
46444 .imm = disp,47121 .imm = disp,
...@@ -46446,10 +47123,9 @@ const Select = struct {...@@ -46446,10 +47123,9 @@ const Select = struct {
46446 }47123 }
46447 fn memsiad(base: Ref.Sized, scale: Memory.Scale, index: Ref, adjust: Adjust, disp: i32) Select.Operand {47124 fn memsiad(base: Ref.Sized, scale: Memory.Scale, index: Ref, adjust: Adjust, disp: i32) Select.Operand {
46448 return .{47125 return .{
46449 .tag = .mem,47126 .flags = .{ .tag = .mem, .adjust = adjust },
46450 .base = base,47127 .base = base,
46451 .index = .{ .ref = index, .scale = scale },47128 .index = .{ .ref = index, .scale = scale },
46452 .adjust = adjust,
46453 .imm = disp,47129 .imm = disp,
46454 };47130 };
46455 }47131 }
...@@ -46458,11 +47134,13 @@ const Select = struct {...@@ -46458,11 +47134,13 @@ const Select = struct {
46458 const UnsignedImm = @Type(.{47134 const UnsignedImm = @Type(.{
46459 .int = .{ .signedness = .unsigned, .bits = @typeInfo(SignedImm).int.bits },47135 .int = .{ .signedness = .unsigned, .bits = @typeInfo(SignedImm).int.bits },
46460 });47136 });
46461 const lhs: SignedImm = lhs: switch (op.adjust.lhs) {47137 const lhs: SignedImm = lhs: switch (op.flags.adjust.lhs) {
46462 .none => 0,47138 .none => 0,
46463 .ptr_size => @divExact(s.cg.target.ptrBitWidth(), 8),47139 .ptr_size => @divExact(s.cg.target.ptrBitWidth(), 8),
46464 .ptr_bit_size => s.cg.target.ptrBitWidth(),47140 .ptr_bit_size => s.cg.target.ptrBitWidth(),
46465 .size => @intCast(op.base.ref.deref(s).typeOf(s.cg).abiSize(s.cg.pt.zcu)),47141 .size => @intCast(op.base.ref.deref(s).typeOf(s.cg).abiSize(s.cg.pt.zcu)),
47142 .delta_size => @intCast(@as(SignedImm, @intCast(op.base.ref.deref(s).typeOf(s.cg).abiSize(s.cg.pt.zcu))) -
47143 @as(SignedImm, @intCast(op.index.ref.deref(s).typeOf(s.cg).abiSize(s.cg.pt.zcu)))),
46466 .size_sub_elem_size => {47144 .size_sub_elem_size => {
46467 const ty = op.base.ref.deref(s).typeOf(s.cg);47145 const ty = op.base.ref.deref(s).typeOf(s.cg);
46468 break :lhs @intCast(ty.abiSize(s.cg.pt.zcu) - ty.elemType2(s.cg.pt.zcu).abiSize(s.cg.pt.zcu));47146 break :lhs @intCast(ty.abiSize(s.cg.pt.zcu) - ty.elemType2(s.cg.pt.zcu).abiSize(s.cg.pt.zcu));
...@@ -46489,8 +47167,8 @@ const Select = struct {...@@ -46489,8 +47167,8 @@ const Select = struct {
46489 -%op.base.ref.deref(s).typeOf(s.cg).scalarType(s.cg.pt.zcu).bitSize(s.cg.pt.zcu),47167 -%op.base.ref.deref(s).typeOf(s.cg).scalarType(s.cg.pt.zcu).bitSize(s.cg.pt.zcu),
46490 )),47168 )),
46491 };47169 };
46492 const rhs = op.adjust.rhs.toLog2();47170 const rhs = op.flags.adjust.rhs.toLog2();
46493 const res = res: switch (op.adjust.op) {47171 const res = res: switch (op.flags.adjust.op) {
46494 .mul => {47172 .mul => {
46495 const res = @shlWithOverflow(lhs, rhs);47173 const res = @shlWithOverflow(lhs, rhs);
46496 assert(res[1] == 0);47174 assert(res[1] == 0);
...@@ -46498,14 +47176,14 @@ const Select = struct {...@@ -46498,14 +47176,14 @@ const Select = struct {
46498 },47176 },
46499 .div => @shrExact(lhs, rhs),47177 .div => @shrExact(lhs, rhs),
46500 };47178 };
46501 return switch (op.adjust.sign) {47179 return switch (op.flags.adjust.sign) {
46502 .neg => op.imm - res,47180 .neg => op.imm - res,
46503 .pos => op.imm + res,47181 .pos => op.imm + res,
46504 };47182 };
46505 }47183 }
4650647184
46507 fn lower(op: Select.Operand, s: *Select) !CodeGen.Operand {47185 fn lower(op: Select.Operand, s: *Select) !CodeGen.Operand {
46508 return switch (op.tag) {47186 return switch (op.flags.tag) {
46509 .none => .none,47187 .none => .none,
46510 .backward_label => .{ .inst = s.labels[@intFromEnum(op.base.ref)].backward.? },47188 .backward_label => .{ .inst = s.labels[@intFromEnum(op.base.ref)].backward.? },
46511 .forward_label => for (&s.labels[@intFromEnum(op.base.ref)].forward) |*label| {47189 .forward_label => for (&s.labels[@intFromEnum(op.base.ref)].forward) |*label| {
test/behavior/x86_64/math.zig+1544-2391
...@@ -1680,165 +1680,85 @@ fn cast(comptime op: anytype, comptime opts: struct { strict: bool = false }) ty...@@ -1680,165 +1680,85 @@ fn cast(comptime op: anytype, comptime opts: struct { strict: bool = false }) ty
1680 imm_arg,1680 imm_arg,
1681 );1681 );
1682 }1682 }
1683 fn testInts() !void {1683 fn testSameSignednessInts() !void {
1684 try testArgs(i8, i1, -1);1684 try testArgs(i8, i1, -1);
1685 try testArgs(i8, i1, 0);1685 try testArgs(i8, i1, 0);
1686 try testArgs(u8, i1, -1);
1687 try testArgs(u8, i1, 0);
1688 try testArgs(i16, i1, -1);1686 try testArgs(i16, i1, -1);
1689 try testArgs(i16, i1, 0);1687 try testArgs(i16, i1, 0);
1690 try testArgs(u16, i1, -1);
1691 try testArgs(u16, i1, 0);
1692 try testArgs(i32, i1, -1);1688 try testArgs(i32, i1, -1);
1693 try testArgs(i32, i1, 0);1689 try testArgs(i32, i1, 0);
1694 try testArgs(u32, i1, -1);
1695 try testArgs(u32, i1, 0);
1696 try testArgs(i64, i1, -1);1690 try testArgs(i64, i1, -1);
1697 try testArgs(i64, i1, 0);1691 try testArgs(i64, i1, 0);
1698 try testArgs(u64, i1, -1);
1699 try testArgs(u64, i1, 0);
1700 try testArgs(i128, i1, -1);1692 try testArgs(i128, i1, -1);
1701 try testArgs(i128, i1, 0);1693 try testArgs(i128, i1, 0);
1702 try testArgs(u128, i1, -1);
1703 try testArgs(u128, i1, 0);
1704 try testArgs(i256, i1, -1);1694 try testArgs(i256, i1, -1);
1705 try testArgs(i256, i1, 0);1695 try testArgs(i256, i1, 0);
1706 try testArgs(u256, i1, -1);
1707 try testArgs(u256, i1, 0);
1708 try testArgs(i512, i1, -1);1696 try testArgs(i512, i1, -1);
1709 try testArgs(i512, i1, 0);1697 try testArgs(i512, i1, 0);
1710 try testArgs(u512, i1, -1);
1711 try testArgs(u512, i1, 0);
1712 try testArgs(i1024, i1, -1);1698 try testArgs(i1024, i1, -1);
1713 try testArgs(i1024, i1, 0);1699 try testArgs(i1024, i1, 0);
1714 try testArgs(u1024, i1, -1);
1715 try testArgs(u1024, i1, 0);
1716 try testArgs(i8, u1, 0);
1717 try testArgs(i8, u1, 1 << 0);
1718 try testArgs(u8, u1, 0);1700 try testArgs(u8, u1, 0);
1719 try testArgs(u8, u1, 1 << 0);1701 try testArgs(u8, u1, 1 << 0);
1720 try testArgs(i16, u1, 0);
1721 try testArgs(i16, u1, 1 << 0);
1722 try testArgs(u16, u1, 0);1702 try testArgs(u16, u1, 0);
1723 try testArgs(u16, u1, 1 << 0);1703 try testArgs(u16, u1, 1 << 0);
1724 try testArgs(i32, u1, 0);
1725 try testArgs(i32, u1, 1 << 0);
1726 try testArgs(u32, u1, 0);1704 try testArgs(u32, u1, 0);
1727 try testArgs(u32, u1, 1 << 0);1705 try testArgs(u32, u1, 1 << 0);
1728 try testArgs(i64, u1, 0);
1729 try testArgs(i64, u1, 1 << 0);
1730 try testArgs(u64, u1, 0);1706 try testArgs(u64, u1, 0);
1731 try testArgs(u64, u1, 1 << 0);1707 try testArgs(u64, u1, 1 << 0);
1732 try testArgs(i128, u1, 0);
1733 try testArgs(i128, u1, 1 << 0);
1734 try testArgs(u128, u1, 0);1708 try testArgs(u128, u1, 0);
1735 try testArgs(u128, u1, 1 << 0);1709 try testArgs(u128, u1, 1 << 0);
1736 try testArgs(i256, u1, 0);
1737 try testArgs(i256, u1, 1 << 0);
1738 try testArgs(u256, u1, 0);1710 try testArgs(u256, u1, 0);
1739 try testArgs(u256, u1, 1 << 0);1711 try testArgs(u256, u1, 1 << 0);
1740 try testArgs(i512, u1, 0);
1741 try testArgs(i512, u1, 1 << 0);
1742 try testArgs(u512, u1, 0);1712 try testArgs(u512, u1, 0);
1743 try testArgs(u512, u1, 1 << 0);1713 try testArgs(u512, u1, 1 << 0);
1744 try testArgs(i1024, u1, 0);
1745 try testArgs(i1024, u1, 1 << 0);
1746 try testArgs(u1024, u1, 0);1714 try testArgs(u1024, u1, 0);
1747 try testArgs(u1024, u1, 1 << 0);1715 try testArgs(u1024, u1, 1 << 0);
17481716
1749 try testArgs(i8, i2, -1 << 1);1717 try testArgs(i8, i2, -1 << 1);
1750 try testArgs(i8, i2, -1);1718 try testArgs(i8, i2, -1);
1751 try testArgs(i8, i2, 0);1719 try testArgs(i8, i2, 0);
1752 try testArgs(u8, i2, -1 << 1);
1753 try testArgs(u8, i2, -1);
1754 try testArgs(u8, i2, 0);
1755 try testArgs(i16, i2, -1 << 1);1720 try testArgs(i16, i2, -1 << 1);
1756 try testArgs(i16, i2, -1);1721 try testArgs(i16, i2, -1);
1757 try testArgs(i16, i2, 0);1722 try testArgs(i16, i2, 0);
1758 try testArgs(u16, i2, -1 << 1);
1759 try testArgs(u16, i2, -1);
1760 try testArgs(u16, i2, 0);
1761 try testArgs(i32, i2, -1 << 1);1723 try testArgs(i32, i2, -1 << 1);
1762 try testArgs(i32, i2, -1);1724 try testArgs(i32, i2, -1);
1763 try testArgs(i32, i2, 0);1725 try testArgs(i32, i2, 0);
1764 try testArgs(u32, i2, -1 << 1);
1765 try testArgs(u32, i2, -1);
1766 try testArgs(u32, i2, 0);
1767 try testArgs(i64, i2, -1 << 1);1726 try testArgs(i64, i2, -1 << 1);
1768 try testArgs(i64, i2, -1);1727 try testArgs(i64, i2, -1);
1769 try testArgs(i64, i2, 0);1728 try testArgs(i64, i2, 0);
1770 try testArgs(u64, i2, -1 << 1);
1771 try testArgs(u64, i2, -1);
1772 try testArgs(u64, i2, 0);
1773 try testArgs(i128, i2, -1 << 1);1729 try testArgs(i128, i2, -1 << 1);
1774 try testArgs(i128, i2, -1);1730 try testArgs(i128, i2, -1);
1775 try testArgs(i128, i2, 0);1731 try testArgs(i128, i2, 0);
1776 try testArgs(u128, i2, -1 << 1);
1777 try testArgs(u128, i2, -1);
1778 try testArgs(u128, i2, 0);
1779 try testArgs(i256, i2, -1 << 1);1732 try testArgs(i256, i2, -1 << 1);
1780 try testArgs(i256, i2, -1);1733 try testArgs(i256, i2, -1);
1781 try testArgs(i256, i2, 0);1734 try testArgs(i256, i2, 0);
1782 try testArgs(u256, i2, -1 << 1);
1783 try testArgs(u256, i2, -1);
1784 try testArgs(u256, i2, 0);
1785 try testArgs(i512, i2, -1 << 1);1735 try testArgs(i512, i2, -1 << 1);
1786 try testArgs(i512, i2, -1);1736 try testArgs(i512, i2, -1);
1787 try testArgs(i512, i2, 0);1737 try testArgs(i512, i2, 0);
1788 try testArgs(u512, i2, -1 << 1);
1789 try testArgs(u512, i2, -1);
1790 try testArgs(u512, i2, 0);
1791 try testArgs(i1024, i2, -1 << 1);1738 try testArgs(i1024, i2, -1 << 1);
1792 try testArgs(i1024, i2, -1);1739 try testArgs(i1024, i2, -1);
1793 try testArgs(i1024, i2, 0);1740 try testArgs(i1024, i2, 0);
1794 try testArgs(u1024, i2, -1 << 1);
1795 try testArgs(u1024, i2, -1);
1796 try testArgs(u1024, i2, 0);
1797 try testArgs(i8, u2, 0);
1798 try testArgs(i8, u2, 1 << 0);
1799 try testArgs(i8, u2, 1 << 1);
1800 try testArgs(u8, u2, 0);1741 try testArgs(u8, u2, 0);
1801 try testArgs(u8, u2, 1 << 0);1742 try testArgs(u8, u2, 1 << 0);
1802 try testArgs(u8, u2, 1 << 1);1743 try testArgs(u8, u2, 1 << 1);
1803 try testArgs(i16, u2, 0);
1804 try testArgs(i16, u2, 1 << 0);
1805 try testArgs(i16, u2, 1 << 1);
1806 try testArgs(u16, u2, 0);1744 try testArgs(u16, u2, 0);
1807 try testArgs(u16, u2, 1 << 0);1745 try testArgs(u16, u2, 1 << 0);
1808 try testArgs(u16, u2, 1 << 1);1746 try testArgs(u16, u2, 1 << 1);
1809 try testArgs(i32, u2, 0);
1810 try testArgs(i32, u2, 1 << 0);
1811 try testArgs(i32, u2, 1 << 1);
1812 try testArgs(u32, u2, 0);1747 try testArgs(u32, u2, 0);
1813 try testArgs(u32, u2, 1 << 0);1748 try testArgs(u32, u2, 1 << 0);
1814 try testArgs(u32, u2, 1 << 1);1749 try testArgs(u32, u2, 1 << 1);
1815 try testArgs(i64, u2, 0);
1816 try testArgs(i64, u2, 1 << 0);
1817 try testArgs(i64, u2, 1 << 1);
1818 try testArgs(u64, u2, 0);1750 try testArgs(u64, u2, 0);
1819 try testArgs(u64, u2, 1 << 0);1751 try testArgs(u64, u2, 1 << 0);
1820 try testArgs(u64, u2, 1 << 1);1752 try testArgs(u64, u2, 1 << 1);
1821 try testArgs(i128, u2, 0);
1822 try testArgs(i128, u2, 1 << 0);
1823 try testArgs(i128, u2, 1 << 1);
1824 try testArgs(u128, u2, 0);1753 try testArgs(u128, u2, 0);
1825 try testArgs(u128, u2, 1 << 0);1754 try testArgs(u128, u2, 1 << 0);
1826 try testArgs(u128, u2, 1 << 1);1755 try testArgs(u128, u2, 1 << 1);
1827 try testArgs(i256, u2, 0);
1828 try testArgs(i256, u2, 1 << 0);
1829 try testArgs(i256, u2, 1 << 1);
1830 try testArgs(u256, u2, 0);1756 try testArgs(u256, u2, 0);
1831 try testArgs(u256, u2, 1 << 0);1757 try testArgs(u256, u2, 1 << 0);
1832 try testArgs(u256, u2, 1 << 1);1758 try testArgs(u256, u2, 1 << 1);
1833 try testArgs(i512, u2, 0);
1834 try testArgs(i512, u2, 1 << 0);
1835 try testArgs(i512, u2, 1 << 1);
1836 try testArgs(u512, u2, 0);1759 try testArgs(u512, u2, 0);
1837 try testArgs(u512, u2, 1 << 0);1760 try testArgs(u512, u2, 1 << 0);
1838 try testArgs(u512, u2, 1 << 1);1761 try testArgs(u512, u2, 1 << 1);
1839 try testArgs(i1024, u2, 0);
1840 try testArgs(i1024, u2, 1 << 0);
1841 try testArgs(i1024, u2, 1 << 1);
1842 try testArgs(u1024, u2, 0);1762 try testArgs(u1024, u2, 0);
1843 try testArgs(u1024, u2, 1 << 0);1763 try testArgs(u1024, u2, 1 << 0);
1844 try testArgs(u1024, u2, 1 << 1);1764 try testArgs(u1024, u2, 1 << 1);
...@@ -1846,96 +1766,48 @@ fn cast(comptime op: anytype, comptime opts: struct { strict: bool = false }) ty...@@ -1846,96 +1766,48 @@ fn cast(comptime op: anytype, comptime opts: struct { strict: bool = false }) ty
1846 try testArgs(i8, i3, -1 << 2);1766 try testArgs(i8, i3, -1 << 2);
1847 try testArgs(i8, i3, -1);1767 try testArgs(i8, i3, -1);
1848 try testArgs(i8, i3, 0);1768 try testArgs(i8, i3, 0);
1849 try testArgs(u8, i3, -1 << 2);
1850 try testArgs(u8, i3, -1);
1851 try testArgs(u8, i3, 0);
1852 try testArgs(i16, i3, -1 << 2);1769 try testArgs(i16, i3, -1 << 2);
1853 try testArgs(i16, i3, -1);1770 try testArgs(i16, i3, -1);
1854 try testArgs(i16, i3, 0);1771 try testArgs(i16, i3, 0);
1855 try testArgs(u16, i3, -1 << 2);
1856 try testArgs(u16, i3, -1);
1857 try testArgs(u16, i3, 0);
1858 try testArgs(i32, i3, -1 << 2);1772 try testArgs(i32, i3, -1 << 2);
1859 try testArgs(i32, i3, -1);1773 try testArgs(i32, i3, -1);
1860 try testArgs(i32, i3, 0);1774 try testArgs(i32, i3, 0);
1861 try testArgs(u32, i3, -1 << 2);
1862 try testArgs(u32, i3, -1);
1863 try testArgs(u32, i3, 0);
1864 try testArgs(i64, i3, -1 << 2);1775 try testArgs(i64, i3, -1 << 2);
1865 try testArgs(i64, i3, -1);1776 try testArgs(i64, i3, -1);
1866 try testArgs(i64, i3, 0);1777 try testArgs(i64, i3, 0);
1867 try testArgs(u64, i3, -1 << 2);
1868 try testArgs(u64, i3, -1);
1869 try testArgs(u64, i3, 0);
1870 try testArgs(i128, i3, -1 << 2);1778 try testArgs(i128, i3, -1 << 2);
1871 try testArgs(i128, i3, -1);1779 try testArgs(i128, i3, -1);
1872 try testArgs(i128, i3, 0);1780 try testArgs(i128, i3, 0);
1873 try testArgs(u128, i3, -1 << 2);
1874 try testArgs(u128, i3, -1);
1875 try testArgs(u128, i3, 0);
1876 try testArgs(i256, i3, -1 << 2);1781 try testArgs(i256, i3, -1 << 2);
1877 try testArgs(i256, i3, -1);1782 try testArgs(i256, i3, -1);
1878 try testArgs(i256, i3, 0);1783 try testArgs(i256, i3, 0);
1879 try testArgs(u256, i3, -1 << 2);
1880 try testArgs(u256, i3, -1);
1881 try testArgs(u256, i3, 0);
1882 try testArgs(i512, i3, -1 << 2);1784 try testArgs(i512, i3, -1 << 2);
1883 try testArgs(i512, i3, -1);1785 try testArgs(i512, i3, -1);
1884 try testArgs(i512, i3, 0);1786 try testArgs(i512, i3, 0);
1885 try testArgs(u512, i3, -1 << 2);
1886 try testArgs(u512, i3, -1);
1887 try testArgs(u512, i3, 0);
1888 try testArgs(i1024, i3, -1 << 2);1787 try testArgs(i1024, i3, -1 << 2);
1889 try testArgs(i1024, i3, -1);1788 try testArgs(i1024, i3, -1);
1890 try testArgs(i1024, i3, 0);1789 try testArgs(i1024, i3, 0);
1891 try testArgs(u1024, i3, -1 << 2);
1892 try testArgs(u1024, i3, -1);
1893 try testArgs(u1024, i3, 0);
1894 try testArgs(i8, u3, 0);
1895 try testArgs(i8, u3, 1 << 0);
1896 try testArgs(i8, u3, 1 << 2);
1897 try testArgs(u8, u3, 0);1790 try testArgs(u8, u3, 0);
1898 try testArgs(u8, u3, 1 << 0);1791 try testArgs(u8, u3, 1 << 0);
1899 try testArgs(u8, u3, 1 << 2);1792 try testArgs(u8, u3, 1 << 2);
1900 try testArgs(i16, u3, 0);
1901 try testArgs(i16, u3, 1 << 0);
1902 try testArgs(i16, u3, 1 << 2);
1903 try testArgs(u16, u3, 0);1793 try testArgs(u16, u3, 0);
1904 try testArgs(u16, u3, 1 << 0);1794 try testArgs(u16, u3, 1 << 0);
1905 try testArgs(u16, u3, 1 << 2);1795 try testArgs(u16, u3, 1 << 2);
1906 try testArgs(i32, u3, 0);
1907 try testArgs(i32, u3, 1 << 0);
1908 try testArgs(i32, u3, 1 << 2);
1909 try testArgs(u32, u3, 0);1796 try testArgs(u32, u3, 0);
1910 try testArgs(u32, u3, 1 << 0);1797 try testArgs(u32, u3, 1 << 0);
1911 try testArgs(u32, u3, 1 << 2);1798 try testArgs(u32, u3, 1 << 2);
1912 try testArgs(i64, u3, 0);
1913 try testArgs(i64, u3, 1 << 0);
1914 try testArgs(i64, u3, 1 << 2);
1915 try testArgs(u64, u3, 0);1799 try testArgs(u64, u3, 0);
1916 try testArgs(u64, u3, 1 << 0);1800 try testArgs(u64, u3, 1 << 0);
1917 try testArgs(u64, u3, 1 << 2);1801 try testArgs(u64, u3, 1 << 2);
1918 try testArgs(i128, u3, 0);
1919 try testArgs(i128, u3, 1 << 0);
1920 try testArgs(i128, u3, 1 << 2);
1921 try testArgs(u128, u3, 0);1802 try testArgs(u128, u3, 0);
1922 try testArgs(u128, u3, 1 << 0);1803 try testArgs(u128, u3, 1 << 0);
1923 try testArgs(u128, u3, 1 << 2);1804 try testArgs(u128, u3, 1 << 2);
1924 try testArgs(i256, u3, 0);
1925 try testArgs(i256, u3, 1 << 0);
1926 try testArgs(i256, u3, 1 << 2);
1927 try testArgs(u256, u3, 0);1805 try testArgs(u256, u3, 0);
1928 try testArgs(u256, u3, 1 << 0);1806 try testArgs(u256, u3, 1 << 0);
1929 try testArgs(u256, u3, 1 << 2);1807 try testArgs(u256, u3, 1 << 2);
1930 try testArgs(i512, u3, 0);
1931 try testArgs(i512, u3, 1 << 0);
1932 try testArgs(i512, u3, 1 << 2);
1933 try testArgs(u512, u3, 0);1808 try testArgs(u512, u3, 0);
1934 try testArgs(u512, u3, 1 << 0);1809 try testArgs(u512, u3, 1 << 0);
1935 try testArgs(u512, u3, 1 << 2);1810 try testArgs(u512, u3, 1 << 2);
1936 try testArgs(i1024, u3, 0);
1937 try testArgs(i1024, u3, 1 << 0);
1938 try testArgs(i1024, u3, 1 << 2);
1939 try testArgs(u1024, u3, 0);1811 try testArgs(u1024, u3, 0);
1940 try testArgs(u1024, u3, 1 << 0);1812 try testArgs(u1024, u3, 1 << 0);
1941 try testArgs(u1024, u3, 1 << 2);1813 try testArgs(u1024, u3, 1 << 2);
...@@ -1943,96 +1815,48 @@ fn cast(comptime op: anytype, comptime opts: struct { strict: bool = false }) ty...@@ -1943,96 +1815,48 @@ fn cast(comptime op: anytype, comptime opts: struct { strict: bool = false }) ty
1943 try testArgs(i8, i4, -1 << 3);1815 try testArgs(i8, i4, -1 << 3);
1944 try testArgs(i8, i4, -1);1816 try testArgs(i8, i4, -1);
1945 try testArgs(i8, i4, 0);1817 try testArgs(i8, i4, 0);
1946 try testArgs(u8, i4, -1 << 3);
1947 try testArgs(u8, i4, -1);
1948 try testArgs(u8, i4, 0);
1949 try testArgs(i16, i4, -1 << 3);1818 try testArgs(i16, i4, -1 << 3);
1950 try testArgs(i16, i4, -1);1819 try testArgs(i16, i4, -1);
1951 try testArgs(i16, i4, 0);1820 try testArgs(i16, i4, 0);
1952 try testArgs(u16, i4, -1 << 3);
1953 try testArgs(u16, i4, -1);
1954 try testArgs(u16, i4, 0);
1955 try testArgs(i32, i4, -1 << 3);1821 try testArgs(i32, i4, -1 << 3);
1956 try testArgs(i32, i4, -1);1822 try testArgs(i32, i4, -1);
1957 try testArgs(i32, i4, 0);1823 try testArgs(i32, i4, 0);
1958 try testArgs(u32, i4, -1 << 3);
1959 try testArgs(u32, i4, -1);
1960 try testArgs(u32, i4, 0);
1961 try testArgs(i64, i4, -1 << 3);1824 try testArgs(i64, i4, -1 << 3);
1962 try testArgs(i64, i4, -1);1825 try testArgs(i64, i4, -1);
1963 try testArgs(i64, i4, 0);1826 try testArgs(i64, i4, 0);
1964 try testArgs(u64, i4, -1 << 3);
1965 try testArgs(u64, i4, -1);
1966 try testArgs(u64, i4, 0);
1967 try testArgs(i128, i4, -1 << 3);1827 try testArgs(i128, i4, -1 << 3);
1968 try testArgs(i128, i4, -1);1828 try testArgs(i128, i4, -1);
1969 try testArgs(i128, i4, 0);1829 try testArgs(i128, i4, 0);
1970 try testArgs(u128, i4, -1 << 3);
1971 try testArgs(u128, i4, -1);
1972 try testArgs(u128, i4, 0);
1973 try testArgs(i256, i4, -1 << 3);1830 try testArgs(i256, i4, -1 << 3);
1974 try testArgs(i256, i4, -1);1831 try testArgs(i256, i4, -1);
1975 try testArgs(i256, i4, 0);1832 try testArgs(i256, i4, 0);
1976 try testArgs(u256, i4, -1 << 3);
1977 try testArgs(u256, i4, -1);
1978 try testArgs(u256, i4, 0);
1979 try testArgs(i512, i4, -1 << 3);1833 try testArgs(i512, i4, -1 << 3);
1980 try testArgs(i512, i4, -1);1834 try testArgs(i512, i4, -1);
1981 try testArgs(i512, i4, 0);1835 try testArgs(i512, i4, 0);
1982 try testArgs(u512, i4, -1 << 3);
1983 try testArgs(u512, i4, -1);
1984 try testArgs(u512, i4, 0);
1985 try testArgs(i1024, i4, -1 << 3);1836 try testArgs(i1024, i4, -1 << 3);
1986 try testArgs(i1024, i4, -1);1837 try testArgs(i1024, i4, -1);
1987 try testArgs(i1024, i4, 0);1838 try testArgs(i1024, i4, 0);
1988 try testArgs(u1024, i4, -1 << 3);
1989 try testArgs(u1024, i4, -1);
1990 try testArgs(u1024, i4, 0);
1991 try testArgs(i8, u4, 0);
1992 try testArgs(i8, u4, 1 << 0);
1993 try testArgs(i8, u4, 1 << 3);
1994 try testArgs(u8, u4, 0);1839 try testArgs(u8, u4, 0);
1995 try testArgs(u8, u4, 1 << 0);1840 try testArgs(u8, u4, 1 << 0);
1996 try testArgs(u8, u4, 1 << 3);1841 try testArgs(u8, u4, 1 << 3);
1997 try testArgs(i16, u4, 0);
1998 try testArgs(i16, u4, 1 << 0);
1999 try testArgs(i16, u4, 1 << 3);
2000 try testArgs(u16, u4, 0);1842 try testArgs(u16, u4, 0);
2001 try testArgs(u16, u4, 1 << 0);1843 try testArgs(u16, u4, 1 << 0);
2002 try testArgs(u16, u4, 1 << 3);1844 try testArgs(u16, u4, 1 << 3);
2003 try testArgs(i32, u4, 0);
2004 try testArgs(i32, u4, 1 << 0);
2005 try testArgs(i32, u4, 1 << 3);
2006 try testArgs(u32, u4, 0);1845 try testArgs(u32, u4, 0);
2007 try testArgs(u32, u4, 1 << 0);1846 try testArgs(u32, u4, 1 << 0);
2008 try testArgs(u32, u4, 1 << 3);1847 try testArgs(u32, u4, 1 << 3);
2009 try testArgs(i64, u4, 0);
2010 try testArgs(i64, u4, 1 << 0);
2011 try testArgs(i64, u4, 1 << 3);
2012 try testArgs(u64, u4, 0);1848 try testArgs(u64, u4, 0);
2013 try testArgs(u64, u4, 1 << 0);1849 try testArgs(u64, u4, 1 << 0);
2014 try testArgs(u64, u4, 1 << 3);1850 try testArgs(u64, u4, 1 << 3);
2015 try testArgs(i128, u4, 0);
2016 try testArgs(i128, u4, 1 << 0);
2017 try testArgs(i128, u4, 1 << 3);
2018 try testArgs(u128, u4, 0);1851 try testArgs(u128, u4, 0);
2019 try testArgs(u128, u4, 1 << 0);1852 try testArgs(u128, u4, 1 << 0);
2020 try testArgs(u128, u4, 1 << 3);1853 try testArgs(u128, u4, 1 << 3);
2021 try testArgs(i256, u4, 0);
2022 try testArgs(i256, u4, 1 << 0);
2023 try testArgs(i256, u4, 1 << 3);
2024 try testArgs(u256, u4, 0);1854 try testArgs(u256, u4, 0);
2025 try testArgs(u256, u4, 1 << 0);1855 try testArgs(u256, u4, 1 << 0);
2026 try testArgs(u256, u4, 1 << 3);1856 try testArgs(u256, u4, 1 << 3);
2027 try testArgs(i512, u4, 0);
2028 try testArgs(i512, u4, 1 << 0);
2029 try testArgs(i512, u4, 1 << 3);
2030 try testArgs(u512, u4, 0);1857 try testArgs(u512, u4, 0);
2031 try testArgs(u512, u4, 1 << 0);1858 try testArgs(u512, u4, 1 << 0);
2032 try testArgs(u512, u4, 1 << 3);1859 try testArgs(u512, u4, 1 << 3);
2033 try testArgs(i1024, u4, 0);
2034 try testArgs(i1024, u4, 1 << 0);
2035 try testArgs(i1024, u4, 1 << 3);
2036 try testArgs(u1024, u4, 0);1860 try testArgs(u1024, u4, 0);
2037 try testArgs(u1024, u4, 1 << 0);1861 try testArgs(u1024, u4, 1 << 0);
2038 try testArgs(u1024, u4, 1 << 3);1862 try testArgs(u1024, u4, 1 << 3);
...@@ -2040,96 +1864,48 @@ fn cast(comptime op: anytype, comptime opts: struct { strict: bool = false }) ty...@@ -2040,96 +1864,48 @@ fn cast(comptime op: anytype, comptime opts: struct { strict: bool = false }) ty
2040 try testArgs(i8, i5, -1 << 4);1864 try testArgs(i8, i5, -1 << 4);
2041 try testArgs(i8, i5, -1);1865 try testArgs(i8, i5, -1);
2042 try testArgs(i8, i5, 0);1866 try testArgs(i8, i5, 0);
2043 try testArgs(u8, i5, -1 << 4);
2044 try testArgs(u8, i5, -1);
2045 try testArgs(u8, i5, 0);
2046 try testArgs(i16, i5, -1 << 4);1867 try testArgs(i16, i5, -1 << 4);
2047 try testArgs(i16, i5, -1);1868 try testArgs(i16, i5, -1);
2048 try testArgs(i16, i5, 0);1869 try testArgs(i16, i5, 0);
2049 try testArgs(u16, i5, -1 << 4);
2050 try testArgs(u16, i5, -1);
2051 try testArgs(u16, i5, 0);
2052 try testArgs(i32, i5, -1 << 4);1870 try testArgs(i32, i5, -1 << 4);
2053 try testArgs(i32, i5, -1);1871 try testArgs(i32, i5, -1);
2054 try testArgs(i32, i5, 0);1872 try testArgs(i32, i5, 0);
2055 try testArgs(u32, i5, -1 << 4);
2056 try testArgs(u32, i5, -1);
2057 try testArgs(u32, i5, 0);
2058 try testArgs(i64, i5, -1 << 4);1873 try testArgs(i64, i5, -1 << 4);
2059 try testArgs(i64, i5, -1);1874 try testArgs(i64, i5, -1);
2060 try testArgs(i64, i5, 0);1875 try testArgs(i64, i5, 0);
2061 try testArgs(u64, i5, -1 << 4);
2062 try testArgs(u64, i5, -1);
2063 try testArgs(u64, i5, 0);
2064 try testArgs(i128, i5, -1 << 4);1876 try testArgs(i128, i5, -1 << 4);
2065 try testArgs(i128, i5, -1);1877 try testArgs(i128, i5, -1);
2066 try testArgs(i128, i5, 0);1878 try testArgs(i128, i5, 0);
2067 try testArgs(u128, i5, -1 << 4);
2068 try testArgs(u128, i5, -1);
2069 try testArgs(u128, i5, 0);
2070 try testArgs(i256, i5, -1 << 4);1879 try testArgs(i256, i5, -1 << 4);
2071 try testArgs(i256, i5, -1);1880 try testArgs(i256, i5, -1);
2072 try testArgs(i256, i5, 0);1881 try testArgs(i256, i5, 0);
2073 try testArgs(u256, i5, -1 << 4);
2074 try testArgs(u256, i5, -1);
2075 try testArgs(u256, i5, 0);
2076 try testArgs(i512, i5, -1 << 4);1882 try testArgs(i512, i5, -1 << 4);
2077 try testArgs(i512, i5, -1);1883 try testArgs(i512, i5, -1);
2078 try testArgs(i512, i5, 0);1884 try testArgs(i512, i5, 0);
2079 try testArgs(u512, i5, -1 << 4);
2080 try testArgs(u512, i5, -1);
2081 try testArgs(u512, i5, 0);
2082 try testArgs(i1024, i5, -1 << 4);1885 try testArgs(i1024, i5, -1 << 4);
2083 try testArgs(i1024, i5, -1);1886 try testArgs(i1024, i5, -1);
2084 try testArgs(i1024, i5, 0);1887 try testArgs(i1024, i5, 0);
2085 try testArgs(u1024, i5, -1 << 4);
2086 try testArgs(u1024, i5, -1);
2087 try testArgs(u1024, i5, 0);
2088 try testArgs(i8, u5, 0);
2089 try testArgs(i8, u5, 1 << 0);
2090 try testArgs(i8, u5, 1 << 4);
2091 try testArgs(u8, u5, 0);1888 try testArgs(u8, u5, 0);
2092 try testArgs(u8, u5, 1 << 0);1889 try testArgs(u8, u5, 1 << 0);
2093 try testArgs(u8, u5, 1 << 4);1890 try testArgs(u8, u5, 1 << 4);
2094 try testArgs(i16, u5, 0);
2095 try testArgs(i16, u5, 1 << 0);
2096 try testArgs(i16, u5, 1 << 4);
2097 try testArgs(u16, u5, 0);1891 try testArgs(u16, u5, 0);
2098 try testArgs(u16, u5, 1 << 0);1892 try testArgs(u16, u5, 1 << 0);
2099 try testArgs(u16, u5, 1 << 4);1893 try testArgs(u16, u5, 1 << 4);
2100 try testArgs(i32, u5, 0);
2101 try testArgs(i32, u5, 1 << 0);
2102 try testArgs(i32, u5, 1 << 4);
2103 try testArgs(u32, u5, 0);1894 try testArgs(u32, u5, 0);
2104 try testArgs(u32, u5, 1 << 0);1895 try testArgs(u32, u5, 1 << 0);
2105 try testArgs(u32, u5, 1 << 4);1896 try testArgs(u32, u5, 1 << 4);
2106 try testArgs(i64, u5, 0);
2107 try testArgs(i64, u5, 1 << 0);
2108 try testArgs(i64, u5, 1 << 4);
2109 try testArgs(u64, u5, 0);1897 try testArgs(u64, u5, 0);
2110 try testArgs(u64, u5, 1 << 0);1898 try testArgs(u64, u5, 1 << 0);
2111 try testArgs(u64, u5, 1 << 4);1899 try testArgs(u64, u5, 1 << 4);
2112 try testArgs(i128, u5, 0);
2113 try testArgs(i128, u5, 1 << 0);
2114 try testArgs(i128, u5, 1 << 4);
2115 try testArgs(u128, u5, 0);1900 try testArgs(u128, u5, 0);
2116 try testArgs(u128, u5, 1 << 0);1901 try testArgs(u128, u5, 1 << 0);
2117 try testArgs(u128, u5, 1 << 4);1902 try testArgs(u128, u5, 1 << 4);
2118 try testArgs(i256, u5, 0);
2119 try testArgs(i256, u5, 1 << 0);
2120 try testArgs(i256, u5, 1 << 4);
2121 try testArgs(u256, u5, 0);1903 try testArgs(u256, u5, 0);
2122 try testArgs(u256, u5, 1 << 0);1904 try testArgs(u256, u5, 1 << 0);
2123 try testArgs(u256, u5, 1 << 4);1905 try testArgs(u256, u5, 1 << 4);
2124 try testArgs(i512, u5, 0);
2125 try testArgs(i512, u5, 1 << 0);
2126 try testArgs(i512, u5, 1 << 4);
2127 try testArgs(u512, u5, 0);1906 try testArgs(u512, u5, 0);
2128 try testArgs(u512, u5, 1 << 0);1907 try testArgs(u512, u5, 1 << 0);
2129 try testArgs(u512, u5, 1 << 4);1908 try testArgs(u512, u5, 1 << 4);
2130 try testArgs(i1024, u5, 0);
2131 try testArgs(i1024, u5, 1 << 0);
2132 try testArgs(i1024, u5, 1 << 4);
2133 try testArgs(u1024, u5, 0);1909 try testArgs(u1024, u5, 0);
2134 try testArgs(u1024, u5, 1 << 0);1910 try testArgs(u1024, u5, 1 << 0);
2135 try testArgs(u1024, u5, 1 << 4);1911 try testArgs(u1024, u5, 1 << 4);
...@@ -2137,96 +1913,48 @@ fn cast(comptime op: anytype, comptime opts: struct { strict: bool = false }) ty...@@ -2137,96 +1913,48 @@ fn cast(comptime op: anytype, comptime opts: struct { strict: bool = false }) ty
2137 try testArgs(i8, i7, -1 << 6);1913 try testArgs(i8, i7, -1 << 6);
2138 try testArgs(i8, i7, -1);1914 try testArgs(i8, i7, -1);
2139 try testArgs(i8, i7, 0);1915 try testArgs(i8, i7, 0);
2140 try testArgs(u8, i7, -1 << 6);
2141 try testArgs(u8, i7, -1);
2142 try testArgs(u8, i7, 0);
2143 try testArgs(i16, i7, -1 << 6);1916 try testArgs(i16, i7, -1 << 6);
2144 try testArgs(i16, i7, -1);1917 try testArgs(i16, i7, -1);
2145 try testArgs(i16, i7, 0);1918 try testArgs(i16, i7, 0);
2146 try testArgs(u16, i7, -1 << 6);
2147 try testArgs(u16, i7, -1);
2148 try testArgs(u16, i7, 0);
2149 try testArgs(i32, i7, -1 << 6);1919 try testArgs(i32, i7, -1 << 6);
2150 try testArgs(i32, i7, -1);1920 try testArgs(i32, i7, -1);
2151 try testArgs(i32, i7, 0);1921 try testArgs(i32, i7, 0);
2152 try testArgs(u32, i7, -1 << 6);
2153 try testArgs(u32, i7, -1);
2154 try testArgs(u32, i7, 0);
2155 try testArgs(i64, i7, -1 << 6);1922 try testArgs(i64, i7, -1 << 6);
2156 try testArgs(i64, i7, -1);1923 try testArgs(i64, i7, -1);
2157 try testArgs(i64, i7, 0);1924 try testArgs(i64, i7, 0);
2158 try testArgs(u64, i7, -1 << 6);
2159 try testArgs(u64, i7, -1);
2160 try testArgs(u64, i7, 0);
2161 try testArgs(i128, i7, -1 << 6);1925 try testArgs(i128, i7, -1 << 6);
2162 try testArgs(i128, i7, -1);1926 try testArgs(i128, i7, -1);
2163 try testArgs(i128, i7, 0);1927 try testArgs(i128, i7, 0);
2164 try testArgs(u128, i7, -1 << 6);
2165 try testArgs(u128, i7, -1);
2166 try testArgs(u128, i7, 0);
2167 try testArgs(i256, i7, -1 << 6);1928 try testArgs(i256, i7, -1 << 6);
2168 try testArgs(i256, i7, -1);1929 try testArgs(i256, i7, -1);
2169 try testArgs(i256, i7, 0);1930 try testArgs(i256, i7, 0);
2170 try testArgs(u256, i7, -1 << 6);
2171 try testArgs(u256, i7, -1);
2172 try testArgs(u256, i7, 0);
2173 try testArgs(i512, i7, -1 << 6);1931 try testArgs(i512, i7, -1 << 6);
2174 try testArgs(i512, i7, -1);1932 try testArgs(i512, i7, -1);
2175 try testArgs(i512, i7, 0);1933 try testArgs(i512, i7, 0);
2176 try testArgs(u512, i7, -1 << 6);
2177 try testArgs(u512, i7, -1);
2178 try testArgs(u512, i7, 0);
2179 try testArgs(i1024, i7, -1 << 6);1934 try testArgs(i1024, i7, -1 << 6);
2180 try testArgs(i1024, i7, -1);1935 try testArgs(i1024, i7, -1);
2181 try testArgs(i1024, i7, 0);1936 try testArgs(i1024, i7, 0);
2182 try testArgs(u1024, i7, -1 << 6);
2183 try testArgs(u1024, i7, -1);
2184 try testArgs(u1024, i7, 0);
2185 try testArgs(i8, u7, 0);
2186 try testArgs(i8, u7, 1 << 0);
2187 try testArgs(i8, u7, 1 << 6);
2188 try testArgs(u8, u7, 0);1937 try testArgs(u8, u7, 0);
2189 try testArgs(u8, u7, 1 << 0);1938 try testArgs(u8, u7, 1 << 0);
2190 try testArgs(u8, u7, 1 << 6);1939 try testArgs(u8, u7, 1 << 6);
2191 try testArgs(i16, u7, 0);
2192 try testArgs(i16, u7, 1 << 0);
2193 try testArgs(i16, u7, 1 << 6);
2194 try testArgs(u16, u7, 0);1940 try testArgs(u16, u7, 0);
2195 try testArgs(u16, u7, 1 << 0);1941 try testArgs(u16, u7, 1 << 0);
2196 try testArgs(u16, u7, 1 << 6);1942 try testArgs(u16, u7, 1 << 6);
2197 try testArgs(i32, u7, 0);
2198 try testArgs(i32, u7, 1 << 0);
2199 try testArgs(i32, u7, 1 << 6);
2200 try testArgs(u32, u7, 0);1943 try testArgs(u32, u7, 0);
2201 try testArgs(u32, u7, 1 << 0);1944 try testArgs(u32, u7, 1 << 0);
2202 try testArgs(u32, u7, 1 << 6);1945 try testArgs(u32, u7, 1 << 6);
2203 try testArgs(i64, u7, 0);
2204 try testArgs(i64, u7, 1 << 0);
2205 try testArgs(i64, u7, 1 << 6);
2206 try testArgs(u64, u7, 0);1946 try testArgs(u64, u7, 0);
2207 try testArgs(u64, u7, 1 << 0);1947 try testArgs(u64, u7, 1 << 0);
2208 try testArgs(u64, u7, 1 << 6);1948 try testArgs(u64, u7, 1 << 6);
2209 try testArgs(i128, u7, 0);
2210 try testArgs(i128, u7, 1 << 0);
2211 try testArgs(i128, u7, 1 << 6);
2212 try testArgs(u128, u7, 0);1949 try testArgs(u128, u7, 0);
2213 try testArgs(u128, u7, 1 << 0);1950 try testArgs(u128, u7, 1 << 0);
2214 try testArgs(u128, u7, 1 << 6);1951 try testArgs(u128, u7, 1 << 6);
2215 try testArgs(i256, u7, 0);
2216 try testArgs(i256, u7, 1 << 0);
2217 try testArgs(i256, u7, 1 << 6);
2218 try testArgs(u256, u7, 0);1952 try testArgs(u256, u7, 0);
2219 try testArgs(u256, u7, 1 << 0);1953 try testArgs(u256, u7, 1 << 0);
2220 try testArgs(u256, u7, 1 << 6);1954 try testArgs(u256, u7, 1 << 6);
2221 try testArgs(i512, u7, 0);
2222 try testArgs(i512, u7, 1 << 0);
2223 try testArgs(i512, u7, 1 << 6);
2224 try testArgs(u512, u7, 0);1955 try testArgs(u512, u7, 0);
2225 try testArgs(u512, u7, 1 << 0);1956 try testArgs(u512, u7, 1 << 0);
2226 try testArgs(u512, u7, 1 << 6);1957 try testArgs(u512, u7, 1 << 6);
2227 try testArgs(i1024, u7, 0);
2228 try testArgs(i1024, u7, 1 << 0);
2229 try testArgs(i1024, u7, 1 << 6);
2230 try testArgs(u1024, u7, 0);1958 try testArgs(u1024, u7, 0);
2231 try testArgs(u1024, u7, 1 << 0);1959 try testArgs(u1024, u7, 1 << 0);
2232 try testArgs(u1024, u7, 1 << 6);1960 try testArgs(u1024, u7, 1 << 6);
...@@ -2234,96 +1962,48 @@ fn cast(comptime op: anytype, comptime opts: struct { strict: bool = false }) ty...@@ -2234,96 +1962,48 @@ fn cast(comptime op: anytype, comptime opts: struct { strict: bool = false }) ty
2234 try testArgs(i8, i8, -1 << 7);1962 try testArgs(i8, i8, -1 << 7);
2235 try testArgs(i8, i8, -1);1963 try testArgs(i8, i8, -1);
2236 try testArgs(i8, i8, 0);1964 try testArgs(i8, i8, 0);
2237 try testArgs(u8, i8, -1 << 7);
2238 try testArgs(u8, i8, -1);
2239 try testArgs(u8, i8, 0);
2240 try testArgs(i16, i8, -1 << 7);1965 try testArgs(i16, i8, -1 << 7);
2241 try testArgs(i16, i8, -1);1966 try testArgs(i16, i8, -1);
2242 try testArgs(i16, i8, 0);1967 try testArgs(i16, i8, 0);
2243 try testArgs(u16, i8, -1 << 7);
2244 try testArgs(u16, i8, -1);
2245 try testArgs(u16, i8, 0);
2246 try testArgs(i32, i8, -1 << 7);1968 try testArgs(i32, i8, -1 << 7);
2247 try testArgs(i32, i8, -1);1969 try testArgs(i32, i8, -1);
2248 try testArgs(i32, i8, 0);1970 try testArgs(i32, i8, 0);
2249 try testArgs(u32, i8, -1 << 7);
2250 try testArgs(u32, i8, -1);
2251 try testArgs(u32, i8, 0);
2252 try testArgs(i64, i8, -1 << 7);1971 try testArgs(i64, i8, -1 << 7);
2253 try testArgs(i64, i8, -1);1972 try testArgs(i64, i8, -1);
2254 try testArgs(i64, i8, 0);1973 try testArgs(i64, i8, 0);
2255 try testArgs(u64, i8, -1 << 7);
2256 try testArgs(u64, i8, -1);
2257 try testArgs(u64, i8, 0);
2258 try testArgs(i128, i8, -1 << 7);1974 try testArgs(i128, i8, -1 << 7);
2259 try testArgs(i128, i8, -1);1975 try testArgs(i128, i8, -1);
2260 try testArgs(i128, i8, 0);1976 try testArgs(i128, i8, 0);
2261 try testArgs(u128, i8, -1 << 7);
2262 try testArgs(u128, i8, -1);
2263 try testArgs(u128, i8, 0);
2264 try testArgs(i256, i8, -1 << 7);1977 try testArgs(i256, i8, -1 << 7);
2265 try testArgs(i256, i8, -1);1978 try testArgs(i256, i8, -1);
2266 try testArgs(i256, i8, 0);1979 try testArgs(i256, i8, 0);
2267 try testArgs(u256, i8, -1 << 7);
2268 try testArgs(u256, i8, -1);
2269 try testArgs(u256, i8, 0);
2270 try testArgs(i512, i8, -1 << 7);1980 try testArgs(i512, i8, -1 << 7);
2271 try testArgs(i512, i8, -1);1981 try testArgs(i512, i8, -1);
2272 try testArgs(i512, i8, 0);1982 try testArgs(i512, i8, 0);
2273 try testArgs(u512, i8, -1 << 7);
2274 try testArgs(u512, i8, -1);
2275 try testArgs(u512, i8, 0);
2276 try testArgs(i1024, i8, -1 << 7);1983 try testArgs(i1024, i8, -1 << 7);
2277 try testArgs(i1024, i8, -1);1984 try testArgs(i1024, i8, -1);
2278 try testArgs(i1024, i8, 0);1985 try testArgs(i1024, i8, 0);
2279 try testArgs(u1024, i8, -1 << 7);
2280 try testArgs(u1024, i8, -1);
2281 try testArgs(u1024, i8, 0);
2282 try testArgs(i8, u8, 0);
2283 try testArgs(i8, u8, 1 << 0);
2284 try testArgs(i8, u8, 1 << 7);
2285 try testArgs(u8, u8, 0);1986 try testArgs(u8, u8, 0);
2286 try testArgs(u8, u8, 1 << 0);1987 try testArgs(u8, u8, 1 << 0);
2287 try testArgs(u8, u8, 1 << 7);1988 try testArgs(u8, u8, 1 << 7);
2288 try testArgs(i16, u8, 0);
2289 try testArgs(i16, u8, 1 << 0);
2290 try testArgs(i16, u8, 1 << 7);
2291 try testArgs(u16, u8, 0);1989 try testArgs(u16, u8, 0);
2292 try testArgs(u16, u8, 1 << 0);1990 try testArgs(u16, u8, 1 << 0);
2293 try testArgs(u16, u8, 1 << 7);1991 try testArgs(u16, u8, 1 << 7);
2294 try testArgs(i32, u8, 0);
2295 try testArgs(i32, u8, 1 << 0);
2296 try testArgs(i32, u8, 1 << 7);
2297 try testArgs(u32, u8, 0);1992 try testArgs(u32, u8, 0);
2298 try testArgs(u32, u8, 1 << 0);1993 try testArgs(u32, u8, 1 << 0);
2299 try testArgs(u32, u8, 1 << 7);1994 try testArgs(u32, u8, 1 << 7);
2300 try testArgs(i64, u8, 0);
2301 try testArgs(i64, u8, 1 << 0);
2302 try testArgs(i64, u8, 1 << 7);
2303 try testArgs(u64, u8, 0);1995 try testArgs(u64, u8, 0);
2304 try testArgs(u64, u8, 1 << 0);1996 try testArgs(u64, u8, 1 << 0);
2305 try testArgs(u64, u8, 1 << 7);1997 try testArgs(u64, u8, 1 << 7);
2306 try testArgs(i128, u8, 0);
2307 try testArgs(i128, u8, 1 << 0);
2308 try testArgs(i128, u8, 1 << 7);
2309 try testArgs(u128, u8, 0);1998 try testArgs(u128, u8, 0);
2310 try testArgs(u128, u8, 1 << 0);1999 try testArgs(u128, u8, 1 << 0);
2311 try testArgs(u128, u8, 1 << 7);2000 try testArgs(u128, u8, 1 << 7);
2312 try testArgs(i256, u8, 0);
2313 try testArgs(i256, u8, 1 << 0);
2314 try testArgs(i256, u8, 1 << 7);
2315 try testArgs(u256, u8, 0);2001 try testArgs(u256, u8, 0);
2316 try testArgs(u256, u8, 1 << 0);2002 try testArgs(u256, u8, 1 << 0);
2317 try testArgs(u256, u8, 1 << 7);2003 try testArgs(u256, u8, 1 << 7);
2318 try testArgs(i512, u8, 0);
2319 try testArgs(i512, u8, 1 << 0);
2320 try testArgs(i512, u8, 1 << 7);
2321 try testArgs(u512, u8, 0);2004 try testArgs(u512, u8, 0);
2322 try testArgs(u512, u8, 1 << 0);2005 try testArgs(u512, u8, 1 << 0);
2323 try testArgs(u512, u8, 1 << 7);2006 try testArgs(u512, u8, 1 << 7);
2324 try testArgs(i1024, u8, 0);
2325 try testArgs(i1024, u8, 1 << 0);
2326 try testArgs(i1024, u8, 1 << 7);
2327 try testArgs(u1024, u8, 0);2007 try testArgs(u1024, u8, 0);
2328 try testArgs(u1024, u8, 1 << 0);2008 try testArgs(u1024, u8, 1 << 0);
2329 try testArgs(u1024, u8, 1 << 7);2009 try testArgs(u1024, u8, 1 << 7);
...@@ -2331,96 +2011,48 @@ fn cast(comptime op: anytype, comptime opts: struct { strict: bool = false }) ty...@@ -2331,96 +2011,48 @@ fn cast(comptime op: anytype, comptime opts: struct { strict: bool = false }) ty
2331 try testArgs(i8, i9, -1 << 8);2011 try testArgs(i8, i9, -1 << 8);
2332 try testArgs(i8, i9, -1);2012 try testArgs(i8, i9, -1);
2333 try testArgs(i8, i9, 0);2013 try testArgs(i8, i9, 0);
2334 try testArgs(u8, i9, -1 << 8);
2335 try testArgs(u8, i9, -1);
2336 try testArgs(u8, i9, 0);
2337 try testArgs(i16, i9, -1 << 8);2014 try testArgs(i16, i9, -1 << 8);
2338 try testArgs(i16, i9, -1);2015 try testArgs(i16, i9, -1);
2339 try testArgs(i16, i9, 0);2016 try testArgs(i16, i9, 0);
2340 try testArgs(u16, i9, -1 << 8);
2341 try testArgs(u16, i9, -1);
2342 try testArgs(u16, i9, 0);
2343 try testArgs(i32, i9, -1 << 8);2017 try testArgs(i32, i9, -1 << 8);
2344 try testArgs(i32, i9, -1);2018 try testArgs(i32, i9, -1);
2345 try testArgs(i32, i9, 0);2019 try testArgs(i32, i9, 0);
2346 try testArgs(u32, i9, -1 << 8);
2347 try testArgs(u32, i9, -1);
2348 try testArgs(u32, i9, 0);
2349 try testArgs(i64, i9, -1 << 8);2020 try testArgs(i64, i9, -1 << 8);
2350 try testArgs(i64, i9, -1);2021 try testArgs(i64, i9, -1);
2351 try testArgs(i64, i9, 0);2022 try testArgs(i64, i9, 0);
2352 try testArgs(u64, i9, -1 << 8);
2353 try testArgs(u64, i9, -1);
2354 try testArgs(u64, i9, 0);
2355 try testArgs(i128, i9, -1 << 8);2023 try testArgs(i128, i9, -1 << 8);
2356 try testArgs(i128, i9, -1);2024 try testArgs(i128, i9, -1);
2357 try testArgs(i128, i9, 0);2025 try testArgs(i128, i9, 0);
2358 try testArgs(u128, i9, -1 << 8);
2359 try testArgs(u128, i9, -1);
2360 try testArgs(u128, i9, 0);
2361 try testArgs(i256, i9, -1 << 8);2026 try testArgs(i256, i9, -1 << 8);
2362 try testArgs(i256, i9, -1);2027 try testArgs(i256, i9, -1);
2363 try testArgs(i256, i9, 0);2028 try testArgs(i256, i9, 0);
2364 try testArgs(u256, i9, -1 << 8);
2365 try testArgs(u256, i9, -1);
2366 try testArgs(u256, i9, 0);
2367 try testArgs(i512, i9, -1 << 8);2029 try testArgs(i512, i9, -1 << 8);
2368 try testArgs(i512, i9, -1);2030 try testArgs(i512, i9, -1);
2369 try testArgs(i512, i9, 0);2031 try testArgs(i512, i9, 0);
2370 try testArgs(u512, i9, -1 << 8);
2371 try testArgs(u512, i9, -1);
2372 try testArgs(u512, i9, 0);
2373 try testArgs(i1024, i9, -1 << 8);2032 try testArgs(i1024, i9, -1 << 8);
2374 try testArgs(i1024, i9, -1);2033 try testArgs(i1024, i9, -1);
2375 try testArgs(i1024, i9, 0);2034 try testArgs(i1024, i9, 0);
2376 try testArgs(u1024, i9, -1 << 8);
2377 try testArgs(u1024, i9, -1);
2378 try testArgs(u1024, i9, 0);
2379 try testArgs(i8, u9, 0);
2380 try testArgs(i8, u9, 1 << 0);
2381 try testArgs(i8, u9, 1 << 8);
2382 try testArgs(u8, u9, 0);2035 try testArgs(u8, u9, 0);
2383 try testArgs(u8, u9, 1 << 0);2036 try testArgs(u8, u9, 1 << 0);
2384 try testArgs(u8, u9, 1 << 8);2037 try testArgs(u8, u9, 1 << 8);
2385 try testArgs(i16, u9, 0);
2386 try testArgs(i16, u9, 1 << 0);
2387 try testArgs(i16, u9, 1 << 8);
2388 try testArgs(u16, u9, 0);2038 try testArgs(u16, u9, 0);
2389 try testArgs(u16, u9, 1 << 0);2039 try testArgs(u16, u9, 1 << 0);
2390 try testArgs(u16, u9, 1 << 8);2040 try testArgs(u16, u9, 1 << 8);
2391 try testArgs(i32, u9, 0);
2392 try testArgs(i32, u9, 1 << 0);
2393 try testArgs(i32, u9, 1 << 8);
2394 try testArgs(u32, u9, 0);2041 try testArgs(u32, u9, 0);
2395 try testArgs(u32, u9, 1 << 0);2042 try testArgs(u32, u9, 1 << 0);
2396 try testArgs(u32, u9, 1 << 8);2043 try testArgs(u32, u9, 1 << 8);
2397 try testArgs(i64, u9, 0);
2398 try testArgs(i64, u9, 1 << 0);
2399 try testArgs(i64, u9, 1 << 8);
2400 try testArgs(u64, u9, 0);2044 try testArgs(u64, u9, 0);
2401 try testArgs(u64, u9, 1 << 0);2045 try testArgs(u64, u9, 1 << 0);
2402 try testArgs(u64, u9, 1 << 8);2046 try testArgs(u64, u9, 1 << 8);
2403 try testArgs(i128, u9, 0);
2404 try testArgs(i128, u9, 1 << 0);
2405 try testArgs(i128, u9, 1 << 8);
2406 try testArgs(u128, u9, 0);2047 try testArgs(u128, u9, 0);
2407 try testArgs(u128, u9, 1 << 0);2048 try testArgs(u128, u9, 1 << 0);
2408 try testArgs(u128, u9, 1 << 8);2049 try testArgs(u128, u9, 1 << 8);
2409 try testArgs(i256, u9, 0);
2410 try testArgs(i256, u9, 1 << 0);
2411 try testArgs(i256, u9, 1 << 8);
2412 try testArgs(u256, u9, 0);2050 try testArgs(u256, u9, 0);
2413 try testArgs(u256, u9, 1 << 0);2051 try testArgs(u256, u9, 1 << 0);
2414 try testArgs(u256, u9, 1 << 8);2052 try testArgs(u256, u9, 1 << 8);
2415 try testArgs(i512, u9, 0);
2416 try testArgs(i512, u9, 1 << 0);
2417 try testArgs(i512, u9, 1 << 8);
2418 try testArgs(u512, u9, 0);2053 try testArgs(u512, u9, 0);
2419 try testArgs(u512, u9, 1 << 0);2054 try testArgs(u512, u9, 1 << 0);
2420 try testArgs(u512, u9, 1 << 8);2055 try testArgs(u512, u9, 1 << 8);
2421 try testArgs(i1024, u9, 0);
2422 try testArgs(i1024, u9, 1 << 0);
2423 try testArgs(i1024, u9, 1 << 8);
2424 try testArgs(u1024, u9, 0);2056 try testArgs(u1024, u9, 0);
2425 try testArgs(u1024, u9, 1 << 0);2057 try testArgs(u1024, u9, 1 << 0);
2426 try testArgs(u1024, u9, 1 << 8);2058 try testArgs(u1024, u9, 1 << 8);
...@@ -2428,96 +2060,48 @@ fn cast(comptime op: anytype, comptime opts: struct { strict: bool = false }) ty...@@ -2428,96 +2060,48 @@ fn cast(comptime op: anytype, comptime opts: struct { strict: bool = false }) ty
2428 try testArgs(i8, i15, -1 << 14);2060 try testArgs(i8, i15, -1 << 14);
2429 try testArgs(i8, i15, -1);2061 try testArgs(i8, i15, -1);
2430 try testArgs(i8, i15, 0);2062 try testArgs(i8, i15, 0);
2431 try testArgs(u8, i15, -1 << 14);
2432 try testArgs(u8, i15, -1);
2433 try testArgs(u8, i15, 0);
2434 try testArgs(i16, i15, -1 << 14);2063 try testArgs(i16, i15, -1 << 14);
2435 try testArgs(i16, i15, -1);2064 try testArgs(i16, i15, -1);
2436 try testArgs(i16, i15, 0);2065 try testArgs(i16, i15, 0);
2437 try testArgs(u16, i15, -1 << 14);
2438 try testArgs(u16, i15, -1);
2439 try testArgs(u16, i15, 0);
2440 try testArgs(i32, i15, -1 << 14);2066 try testArgs(i32, i15, -1 << 14);
2441 try testArgs(i32, i15, -1);2067 try testArgs(i32, i15, -1);
2442 try testArgs(i32, i15, 0);2068 try testArgs(i32, i15, 0);
2443 try testArgs(u32, i15, -1 << 14);
2444 try testArgs(u32, i15, -1);
2445 try testArgs(u32, i15, 0);
2446 try testArgs(i64, i15, -1 << 14);2069 try testArgs(i64, i15, -1 << 14);
2447 try testArgs(i64, i15, -1);2070 try testArgs(i64, i15, -1);
2448 try testArgs(i64, i15, 0);2071 try testArgs(i64, i15, 0);
2449 try testArgs(u64, i15, -1 << 14);
2450 try testArgs(u64, i15, -1);
2451 try testArgs(u64, i15, 0);
2452 try testArgs(i128, i15, -1 << 14);2072 try testArgs(i128, i15, -1 << 14);
2453 try testArgs(i128, i15, -1);2073 try testArgs(i128, i15, -1);
2454 try testArgs(i128, i15, 0);2074 try testArgs(i128, i15, 0);
2455 try testArgs(u128, i15, -1 << 14);
2456 try testArgs(u128, i15, -1);
2457 try testArgs(u128, i15, 0);
2458 try testArgs(i256, i15, -1 << 14);2075 try testArgs(i256, i15, -1 << 14);
2459 try testArgs(i256, i15, -1);2076 try testArgs(i256, i15, -1);
2460 try testArgs(i256, i15, 0);2077 try testArgs(i256, i15, 0);
2461 try testArgs(u256, i15, -1 << 14);
2462 try testArgs(u256, i15, -1);
2463 try testArgs(u256, i15, 0);
2464 try testArgs(i512, i15, -1 << 14);2078 try testArgs(i512, i15, -1 << 14);
2465 try testArgs(i512, i15, -1);2079 try testArgs(i512, i15, -1);
2466 try testArgs(i512, i15, 0);2080 try testArgs(i512, i15, 0);
2467 try testArgs(u512, i15, -1 << 14);
2468 try testArgs(u512, i15, -1);
2469 try testArgs(u512, i15, 0);
2470 try testArgs(i1024, i15, -1 << 14);2081 try testArgs(i1024, i15, -1 << 14);
2471 try testArgs(i1024, i15, -1);2082 try testArgs(i1024, i15, -1);
2472 try testArgs(i1024, i15, 0);2083 try testArgs(i1024, i15, 0);
2473 try testArgs(u1024, i15, -1 << 14);
2474 try testArgs(u1024, i15, -1);
2475 try testArgs(u1024, i15, 0);
2476 try testArgs(i8, u15, 0);
2477 try testArgs(i8, u15, 1 << 0);
2478 try testArgs(i8, u15, 1 << 14);
2479 try testArgs(u8, u15, 0);2084 try testArgs(u8, u15, 0);
2480 try testArgs(u8, u15, 1 << 0);2085 try testArgs(u8, u15, 1 << 0);
2481 try testArgs(u8, u15, 1 << 14);2086 try testArgs(u8, u15, 1 << 14);
2482 try testArgs(i16, u15, 0);
2483 try testArgs(i16, u15, 1 << 0);
2484 try testArgs(i16, u15, 1 << 14);
2485 try testArgs(u16, u15, 0);2087 try testArgs(u16, u15, 0);
2486 try testArgs(u16, u15, 1 << 0);2088 try testArgs(u16, u15, 1 << 0);
2487 try testArgs(u16, u15, 1 << 14);2089 try testArgs(u16, u15, 1 << 14);
2488 try testArgs(i32, u15, 0);
2489 try testArgs(i32, u15, 1 << 0);
2490 try testArgs(i32, u15, 1 << 14);
2491 try testArgs(u32, u15, 0);2090 try testArgs(u32, u15, 0);
2492 try testArgs(u32, u15, 1 << 0);2091 try testArgs(u32, u15, 1 << 0);
2493 try testArgs(u32, u15, 1 << 14);2092 try testArgs(u32, u15, 1 << 14);
2494 try testArgs(i64, u15, 0);
2495 try testArgs(i64, u15, 1 << 0);
2496 try testArgs(i64, u15, 1 << 14);
2497 try testArgs(u64, u15, 0);2093 try testArgs(u64, u15, 0);
2498 try testArgs(u64, u15, 1 << 0);2094 try testArgs(u64, u15, 1 << 0);
2499 try testArgs(u64, u15, 1 << 14);2095 try testArgs(u64, u15, 1 << 14);
2500 try testArgs(i128, u15, 0);
2501 try testArgs(i128, u15, 1 << 0);
2502 try testArgs(i128, u15, 1 << 14);
2503 try testArgs(u128, u15, 0);2096 try testArgs(u128, u15, 0);
2504 try testArgs(u128, u15, 1 << 0);2097 try testArgs(u128, u15, 1 << 0);
2505 try testArgs(u128, u15, 1 << 14);2098 try testArgs(u128, u15, 1 << 14);
2506 try testArgs(i256, u15, 0);
2507 try testArgs(i256, u15, 1 << 0);
2508 try testArgs(i256, u15, 1 << 14);
2509 try testArgs(u256, u15, 0);2099 try testArgs(u256, u15, 0);
2510 try testArgs(u256, u15, 1 << 0);2100 try testArgs(u256, u15, 1 << 0);
2511 try testArgs(u256, u15, 1 << 14);2101 try testArgs(u256, u15, 1 << 14);
2512 try testArgs(i512, u15, 0);
2513 try testArgs(i512, u15, 1 << 0);
2514 try testArgs(i512, u15, 1 << 14);
2515 try testArgs(u512, u15, 0);2102 try testArgs(u512, u15, 0);
2516 try testArgs(u512, u15, 1 << 0);2103 try testArgs(u512, u15, 1 << 0);
2517 try testArgs(u512, u15, 1 << 14);2104 try testArgs(u512, u15, 1 << 14);
2518 try testArgs(i1024, u15, 0);
2519 try testArgs(i1024, u15, 1 << 0);
2520 try testArgs(i1024, u15, 1 << 14);
2521 try testArgs(u1024, u15, 0);2105 try testArgs(u1024, u15, 0);
2522 try testArgs(u1024, u15, 1 << 0);2106 try testArgs(u1024, u15, 1 << 0);
2523 try testArgs(u1024, u15, 1 << 14);2107 try testArgs(u1024, u15, 1 << 14);
...@@ -2525,96 +2109,48 @@ fn cast(comptime op: anytype, comptime opts: struct { strict: bool = false }) ty...@@ -2525,96 +2109,48 @@ fn cast(comptime op: anytype, comptime opts: struct { strict: bool = false }) ty
2525 try testArgs(i8, i16, -1 << 15);2109 try testArgs(i8, i16, -1 << 15);
2526 try testArgs(i8, i16, -1);2110 try testArgs(i8, i16, -1);
2527 try testArgs(i8, i16, 0);2111 try testArgs(i8, i16, 0);
2528 try testArgs(u8, i16, -1 << 15);
2529 try testArgs(u8, i16, -1);
2530 try testArgs(u8, i16, 0);
2531 try testArgs(i16, i16, -1 << 15);2112 try testArgs(i16, i16, -1 << 15);
2532 try testArgs(i16, i16, -1);2113 try testArgs(i16, i16, -1);
2533 try testArgs(i16, i16, 0);2114 try testArgs(i16, i16, 0);
2534 try testArgs(u16, i16, -1 << 15);
2535 try testArgs(u16, i16, -1);
2536 try testArgs(u16, i16, 0);
2537 try testArgs(i32, i16, -1 << 15);2115 try testArgs(i32, i16, -1 << 15);
2538 try testArgs(i32, i16, -1);2116 try testArgs(i32, i16, -1);
2539 try testArgs(i32, i16, 0);2117 try testArgs(i32, i16, 0);
2540 try testArgs(u32, i16, -1 << 15);
2541 try testArgs(u32, i16, -1);
2542 try testArgs(u32, i16, 0);
2543 try testArgs(i64, i16, -1 << 15);2118 try testArgs(i64, i16, -1 << 15);
2544 try testArgs(i64, i16, -1);2119 try testArgs(i64, i16, -1);
2545 try testArgs(i64, i16, 0);2120 try testArgs(i64, i16, 0);
2546 try testArgs(u64, i16, -1 << 15);
2547 try testArgs(u64, i16, -1);
2548 try testArgs(u64, i16, 0);
2549 try testArgs(i128, i16, -1 << 15);2121 try testArgs(i128, i16, -1 << 15);
2550 try testArgs(i128, i16, -1);2122 try testArgs(i128, i16, -1);
2551 try testArgs(i128, i16, 0);2123 try testArgs(i128, i16, 0);
2552 try testArgs(u128, i16, -1 << 15);
2553 try testArgs(u128, i16, -1);
2554 try testArgs(u128, i16, 0);
2555 try testArgs(i256, i16, -1 << 15);2124 try testArgs(i256, i16, -1 << 15);
2556 try testArgs(i256, i16, -1);2125 try testArgs(i256, i16, -1);
2557 try testArgs(i256, i16, 0);2126 try testArgs(i256, i16, 0);
2558 try testArgs(u256, i16, -1 << 15);
2559 try testArgs(u256, i16, -1);
2560 try testArgs(u256, i16, 0);
2561 try testArgs(i512, i16, -1 << 15);2127 try testArgs(i512, i16, -1 << 15);
2562 try testArgs(i512, i16, -1);2128 try testArgs(i512, i16, -1);
2563 try testArgs(i512, i16, 0);2129 try testArgs(i512, i16, 0);
2564 try testArgs(u512, i16, -1 << 15);
2565 try testArgs(u512, i16, -1);
2566 try testArgs(u512, i16, 0);
2567 try testArgs(i1024, i16, -1 << 15);2130 try testArgs(i1024, i16, -1 << 15);
2568 try testArgs(i1024, i16, -1);2131 try testArgs(i1024, i16, -1);
2569 try testArgs(i1024, i16, 0);2132 try testArgs(i1024, i16, 0);
2570 try testArgs(u1024, i16, -1 << 15);
2571 try testArgs(u1024, i16, -1);
2572 try testArgs(u1024, i16, 0);
2573 try testArgs(i8, u16, 0);
2574 try testArgs(i8, u16, 1 << 0);
2575 try testArgs(i8, u16, 1 << 15);
2576 try testArgs(u8, u16, 0);2133 try testArgs(u8, u16, 0);
2577 try testArgs(u8, u16, 1 << 0);2134 try testArgs(u8, u16, 1 << 0);
2578 try testArgs(u8, u16, 1 << 15);2135 try testArgs(u8, u16, 1 << 15);
2579 try testArgs(i16, u16, 0);
2580 try testArgs(i16, u16, 1 << 0);
2581 try testArgs(i16, u16, 1 << 15);
2582 try testArgs(u16, u16, 0);2136 try testArgs(u16, u16, 0);
2583 try testArgs(u16, u16, 1 << 0);2137 try testArgs(u16, u16, 1 << 0);
2584 try testArgs(u16, u16, 1 << 15);2138 try testArgs(u16, u16, 1 << 15);
2585 try testArgs(i32, u16, 0);
2586 try testArgs(i32, u16, 1 << 0);
2587 try testArgs(i32, u16, 1 << 15);
2588 try testArgs(u32, u16, 0);2139 try testArgs(u32, u16, 0);
2589 try testArgs(u32, u16, 1 << 0);2140 try testArgs(u32, u16, 1 << 0);
2590 try testArgs(u32, u16, 1 << 15);2141 try testArgs(u32, u16, 1 << 15);
2591 try testArgs(i64, u16, 0);
2592 try testArgs(i64, u16, 1 << 0);
2593 try testArgs(i64, u16, 1 << 15);
2594 try testArgs(u64, u16, 0);2142 try testArgs(u64, u16, 0);
2595 try testArgs(u64, u16, 1 << 0);2143 try testArgs(u64, u16, 1 << 0);
2596 try testArgs(u64, u16, 1 << 15);2144 try testArgs(u64, u16, 1 << 15);
2597 try testArgs(i128, u16, 0);
2598 try testArgs(i128, u16, 1 << 0);
2599 try testArgs(i128, u16, 1 << 15);
2600 try testArgs(u128, u16, 0);2145 try testArgs(u128, u16, 0);
2601 try testArgs(u128, u16, 1 << 0);2146 try testArgs(u128, u16, 1 << 0);
2602 try testArgs(u128, u16, 1 << 15);2147 try testArgs(u128, u16, 1 << 15);
2603 try testArgs(i256, u16, 0);
2604 try testArgs(i256, u16, 1 << 0);
2605 try testArgs(i256, u16, 1 << 15);
2606 try testArgs(u256, u16, 0);2148 try testArgs(u256, u16, 0);
2607 try testArgs(u256, u16, 1 << 0);2149 try testArgs(u256, u16, 1 << 0);
2608 try testArgs(u256, u16, 1 << 15);2150 try testArgs(u256, u16, 1 << 15);
2609 try testArgs(i512, u16, 0);
2610 try testArgs(i512, u16, 1 << 0);
2611 try testArgs(i512, u16, 1 << 15);
2612 try testArgs(u512, u16, 0);2151 try testArgs(u512, u16, 0);
2613 try testArgs(u512, u16, 1 << 0);2152 try testArgs(u512, u16, 1 << 0);
2614 try testArgs(u512, u16, 1 << 15);2153 try testArgs(u512, u16, 1 << 15);
2615 try testArgs(i1024, u16, 0);
2616 try testArgs(i1024, u16, 1 << 0);
2617 try testArgs(i1024, u16, 1 << 15);
2618 try testArgs(u1024, u16, 0);2154 try testArgs(u1024, u16, 0);
2619 try testArgs(u1024, u16, 1 << 0);2155 try testArgs(u1024, u16, 1 << 0);
2620 try testArgs(u1024, u16, 1 << 15);2156 try testArgs(u1024, u16, 1 << 15);
...@@ -2622,96 +2158,48 @@ fn cast(comptime op: anytype, comptime opts: struct { strict: bool = false }) ty...@@ -2622,96 +2158,48 @@ fn cast(comptime op: anytype, comptime opts: struct { strict: bool = false }) ty
2622 try testArgs(i8, i17, -1 << 16);2158 try testArgs(i8, i17, -1 << 16);
2623 try testArgs(i8, i17, -1);2159 try testArgs(i8, i17, -1);
2624 try testArgs(i8, i17, 0);2160 try testArgs(i8, i17, 0);
2625 try testArgs(u8, i17, -1 << 16);
2626 try testArgs(u8, i17, -1);
2627 try testArgs(u8, i17, 0);
2628 try testArgs(i16, i17, -1 << 16);2161 try testArgs(i16, i17, -1 << 16);
2629 try testArgs(i16, i17, -1);2162 try testArgs(i16, i17, -1);
2630 try testArgs(i16, i17, 0);2163 try testArgs(i16, i17, 0);
2631 try testArgs(u16, i17, -1 << 16);
2632 try testArgs(u16, i17, -1);
2633 try testArgs(u16, i17, 0);
2634 try testArgs(i32, i17, -1 << 16);2164 try testArgs(i32, i17, -1 << 16);
2635 try testArgs(i32, i17, -1);2165 try testArgs(i32, i17, -1);
2636 try testArgs(i32, i17, 0);2166 try testArgs(i32, i17, 0);
2637 try testArgs(u32, i17, -1 << 16);
2638 try testArgs(u32, i17, -1);
2639 try testArgs(u32, i17, 0);
2640 try testArgs(i64, i17, -1 << 16);2167 try testArgs(i64, i17, -1 << 16);
2641 try testArgs(i64, i17, -1);2168 try testArgs(i64, i17, -1);
2642 try testArgs(i64, i17, 0);2169 try testArgs(i64, i17, 0);
2643 try testArgs(u64, i17, -1 << 16);
2644 try testArgs(u64, i17, -1);
2645 try testArgs(u64, i17, 0);
2646 try testArgs(i128, i17, -1 << 16);2170 try testArgs(i128, i17, -1 << 16);
2647 try testArgs(i128, i17, -1);2171 try testArgs(i128, i17, -1);
2648 try testArgs(i128, i17, 0);2172 try testArgs(i128, i17, 0);
2649 try testArgs(u128, i17, -1 << 16);
2650 try testArgs(u128, i17, -1);
2651 try testArgs(u128, i17, 0);
2652 try testArgs(i256, i17, -1 << 16);2173 try testArgs(i256, i17, -1 << 16);
2653 try testArgs(i256, i17, -1);2174 try testArgs(i256, i17, -1);
2654 try testArgs(i256, i17, 0);2175 try testArgs(i256, i17, 0);
2655 try testArgs(u256, i17, -1 << 16);
2656 try testArgs(u256, i17, -1);
2657 try testArgs(u256, i17, 0);
2658 try testArgs(i512, i17, -1 << 16);2176 try testArgs(i512, i17, -1 << 16);
2659 try testArgs(i512, i17, -1);2177 try testArgs(i512, i17, -1);
2660 try testArgs(i512, i17, 0);2178 try testArgs(i512, i17, 0);
2661 try testArgs(u512, i17, -1 << 16);
2662 try testArgs(u512, i17, -1);
2663 try testArgs(u512, i17, 0);
2664 try testArgs(i1024, i17, -1 << 16);2179 try testArgs(i1024, i17, -1 << 16);
2665 try testArgs(i1024, i17, -1);2180 try testArgs(i1024, i17, -1);
2666 try testArgs(i1024, i17, 0);2181 try testArgs(i1024, i17, 0);
2667 try testArgs(u1024, i17, -1 << 16);
2668 try testArgs(u1024, i17, -1);
2669 try testArgs(u1024, i17, 0);
2670 try testArgs(i8, u17, 0);
2671 try testArgs(i8, u17, 1 << 0);
2672 try testArgs(i8, u17, 1 << 16);
2673 try testArgs(u8, u17, 0);2182 try testArgs(u8, u17, 0);
2674 try testArgs(u8, u17, 1 << 0);2183 try testArgs(u8, u17, 1 << 0);
2675 try testArgs(u8, u17, 1 << 16);2184 try testArgs(u8, u17, 1 << 16);
2676 try testArgs(i16, u17, 0);
2677 try testArgs(i16, u17, 1 << 0);
2678 try testArgs(i16, u17, 1 << 16);
2679 try testArgs(u16, u17, 0);2185 try testArgs(u16, u17, 0);
2680 try testArgs(u16, u17, 1 << 0);2186 try testArgs(u16, u17, 1 << 0);
2681 try testArgs(u16, u17, 1 << 16);2187 try testArgs(u16, u17, 1 << 16);
2682 try testArgs(i32, u17, 0);
2683 try testArgs(i32, u17, 1 << 0);
2684 try testArgs(i32, u17, 1 << 16);
2685 try testArgs(u32, u17, 0);2188 try testArgs(u32, u17, 0);
2686 try testArgs(u32, u17, 1 << 0);2189 try testArgs(u32, u17, 1 << 0);
2687 try testArgs(u32, u17, 1 << 16);2190 try testArgs(u32, u17, 1 << 16);
2688 try testArgs(i64, u17, 0);
2689 try testArgs(i64, u17, 1 << 0);
2690 try testArgs(i64, u17, 1 << 16);
2691 try testArgs(u64, u17, 0);2191 try testArgs(u64, u17, 0);
2692 try testArgs(u64, u17, 1 << 0);2192 try testArgs(u64, u17, 1 << 0);
2693 try testArgs(u64, u17, 1 << 16);2193 try testArgs(u64, u17, 1 << 16);
2694 try testArgs(i128, u17, 0);
2695 try testArgs(i128, u17, 1 << 0);
2696 try testArgs(i128, u17, 1 << 16);
2697 try testArgs(u128, u17, 0);2194 try testArgs(u128, u17, 0);
2698 try testArgs(u128, u17, 1 << 0);2195 try testArgs(u128, u17, 1 << 0);
2699 try testArgs(u128, u17, 1 << 16);2196 try testArgs(u128, u17, 1 << 16);
2700 try testArgs(i256, u17, 0);
2701 try testArgs(i256, u17, 1 << 0);
2702 try testArgs(i256, u17, 1 << 16);
2703 try testArgs(u256, u17, 0);2197 try testArgs(u256, u17, 0);
2704 try testArgs(u256, u17, 1 << 0);2198 try testArgs(u256, u17, 1 << 0);
2705 try testArgs(u256, u17, 1 << 16);2199 try testArgs(u256, u17, 1 << 16);
2706 try testArgs(i512, u17, 0);
2707 try testArgs(i512, u17, 1 << 0);
2708 try testArgs(i512, u17, 1 << 16);
2709 try testArgs(u512, u17, 0);2200 try testArgs(u512, u17, 0);
2710 try testArgs(u512, u17, 1 << 0);2201 try testArgs(u512, u17, 1 << 0);
2711 try testArgs(u512, u17, 1 << 16);2202 try testArgs(u512, u17, 1 << 16);
2712 try testArgs(i1024, u17, 0);
2713 try testArgs(i1024, u17, 1 << 0);
2714 try testArgs(i1024, u17, 1 << 16);
2715 try testArgs(u1024, u17, 0);2203 try testArgs(u1024, u17, 0);
2716 try testArgs(u1024, u17, 1 << 0);2204 try testArgs(u1024, u17, 1 << 0);
2717 try testArgs(u1024, u17, 1 << 16);2205 try testArgs(u1024, u17, 1 << 16);
...@@ -2719,96 +2207,48 @@ fn cast(comptime op: anytype, comptime opts: struct { strict: bool = false }) ty...@@ -2719,96 +2207,48 @@ fn cast(comptime op: anytype, comptime opts: struct { strict: bool = false }) ty
2719 try testArgs(i8, i31, -1 << 30);2207 try testArgs(i8, i31, -1 << 30);
2720 try testArgs(i8, i31, -1);2208 try testArgs(i8, i31, -1);
2721 try testArgs(i8, i31, 0);2209 try testArgs(i8, i31, 0);
2722 try testArgs(u8, i31, -1 << 30);
2723 try testArgs(u8, i31, -1);
2724 try testArgs(u8, i31, 0);
2725 try testArgs(i16, i31, -1 << 30);2210 try testArgs(i16, i31, -1 << 30);
2726 try testArgs(i16, i31, -1);2211 try testArgs(i16, i31, -1);
2727 try testArgs(i16, i31, 0);2212 try testArgs(i16, i31, 0);
2728 try testArgs(u16, i31, -1 << 30);
2729 try testArgs(u16, i31, -1);
2730 try testArgs(u16, i31, 0);
2731 try testArgs(i32, i31, -1 << 30);2213 try testArgs(i32, i31, -1 << 30);
2732 try testArgs(i32, i31, -1);2214 try testArgs(i32, i31, -1);
2733 try testArgs(i32, i31, 0);2215 try testArgs(i32, i31, 0);
2734 try testArgs(u32, i31, -1 << 30);
2735 try testArgs(u32, i31, -1);
2736 try testArgs(u32, i31, 0);
2737 try testArgs(i64, i31, -1 << 30);2216 try testArgs(i64, i31, -1 << 30);
2738 try testArgs(i64, i31, -1);2217 try testArgs(i64, i31, -1);
2739 try testArgs(i64, i31, 0);2218 try testArgs(i64, i31, 0);
2740 try testArgs(u64, i31, -1 << 30);
2741 try testArgs(u64, i31, -1);
2742 try testArgs(u64, i31, 0);
2743 try testArgs(i128, i31, -1 << 30);2219 try testArgs(i128, i31, -1 << 30);
2744 try testArgs(i128, i31, -1);2220 try testArgs(i128, i31, -1);
2745 try testArgs(i128, i31, 0);2221 try testArgs(i128, i31, 0);
2746 try testArgs(u128, i31, -1 << 30);
2747 try testArgs(u128, i31, -1);
2748 try testArgs(u128, i31, 0);
2749 try testArgs(i256, i31, -1 << 30);2222 try testArgs(i256, i31, -1 << 30);
2750 try testArgs(i256, i31, -1);2223 try testArgs(i256, i31, -1);
2751 try testArgs(i256, i31, 0);2224 try testArgs(i256, i31, 0);
2752 try testArgs(u256, i31, -1 << 30);
2753 try testArgs(u256, i31, -1);
2754 try testArgs(u256, i31, 0);
2755 try testArgs(i512, i31, -1 << 30);2225 try testArgs(i512, i31, -1 << 30);
2756 try testArgs(i512, i31, -1);2226 try testArgs(i512, i31, -1);
2757 try testArgs(i512, i31, 0);2227 try testArgs(i512, i31, 0);
2758 try testArgs(u512, i31, -1 << 30);
2759 try testArgs(u512, i31, -1);
2760 try testArgs(u512, i31, 0);
2761 try testArgs(i1024, i31, -1 << 30);2228 try testArgs(i1024, i31, -1 << 30);
2762 try testArgs(i1024, i31, -1);2229 try testArgs(i1024, i31, -1);
2763 try testArgs(i1024, i31, 0);2230 try testArgs(i1024, i31, 0);
2764 try testArgs(u1024, i31, -1 << 30);
2765 try testArgs(u1024, i31, -1);
2766 try testArgs(u1024, i31, 0);
2767 try testArgs(i8, u31, 0);
2768 try testArgs(i8, u31, 1 << 0);
2769 try testArgs(i8, u31, 1 << 30);
2770 try testArgs(u8, u31, 0);2231 try testArgs(u8, u31, 0);
2771 try testArgs(u8, u31, 1 << 0);2232 try testArgs(u8, u31, 1 << 0);
2772 try testArgs(u8, u31, 1 << 30);2233 try testArgs(u8, u31, 1 << 30);
2773 try testArgs(i16, u31, 0);
2774 try testArgs(i16, u31, 1 << 0);
2775 try testArgs(i16, u31, 1 << 30);
2776 try testArgs(u16, u31, 0);2234 try testArgs(u16, u31, 0);
2777 try testArgs(u16, u31, 1 << 0);2235 try testArgs(u16, u31, 1 << 0);
2778 try testArgs(u16, u31, 1 << 30);2236 try testArgs(u16, u31, 1 << 30);
2779 try testArgs(i32, u31, 0);
2780 try testArgs(i32, u31, 1 << 0);
2781 try testArgs(i32, u31, 1 << 30);
2782 try testArgs(u32, u31, 0);2237 try testArgs(u32, u31, 0);
2783 try testArgs(u32, u31, 1 << 0);2238 try testArgs(u32, u31, 1 << 0);
2784 try testArgs(u32, u31, 1 << 30);2239 try testArgs(u32, u31, 1 << 30);
2785 try testArgs(i64, u31, 0);
2786 try testArgs(i64, u31, 1 << 0);
2787 try testArgs(i64, u31, 1 << 30);
2788 try testArgs(u64, u31, 0);2240 try testArgs(u64, u31, 0);
2789 try testArgs(u64, u31, 1 << 0);2241 try testArgs(u64, u31, 1 << 0);
2790 try testArgs(u64, u31, 1 << 30);2242 try testArgs(u64, u31, 1 << 30);
2791 try testArgs(i128, u31, 0);
2792 try testArgs(i128, u31, 1 << 0);
2793 try testArgs(i128, u31, 1 << 30);
2794 try testArgs(u128, u31, 0);2243 try testArgs(u128, u31, 0);
2795 try testArgs(u128, u31, 1 << 0);2244 try testArgs(u128, u31, 1 << 0);
2796 try testArgs(u128, u31, 1 << 30);2245 try testArgs(u128, u31, 1 << 30);
2797 try testArgs(i256, u31, 0);
2798 try testArgs(i256, u31, 1 << 0);
2799 try testArgs(i256, u31, 1 << 30);
2800 try testArgs(u256, u31, 0);2246 try testArgs(u256, u31, 0);
2801 try testArgs(u256, u31, 1 << 0);2247 try testArgs(u256, u31, 1 << 0);
2802 try testArgs(u256, u31, 1 << 30);2248 try testArgs(u256, u31, 1 << 30);
2803 try testArgs(i512, u31, 0);
2804 try testArgs(i512, u31, 1 << 0);
2805 try testArgs(i512, u31, 1 << 30);
2806 try testArgs(u512, u31, 0);2249 try testArgs(u512, u31, 0);
2807 try testArgs(u512, u31, 1 << 0);2250 try testArgs(u512, u31, 1 << 0);
2808 try testArgs(u512, u31, 1 << 30);2251 try testArgs(u512, u31, 1 << 30);
2809 try testArgs(i1024, u31, 0);
2810 try testArgs(i1024, u31, 1 << 0);
2811 try testArgs(i1024, u31, 1 << 30);
2812 try testArgs(u1024, u31, 0);2252 try testArgs(u1024, u31, 0);
2813 try testArgs(u1024, u31, 1 << 0);2253 try testArgs(u1024, u31, 1 << 0);
2814 try testArgs(u1024, u31, 1 << 30);2254 try testArgs(u1024, u31, 1 << 30);
...@@ -2816,96 +2256,48 @@ fn cast(comptime op: anytype, comptime opts: struct { strict: bool = false }) ty...@@ -2816,96 +2256,48 @@ fn cast(comptime op: anytype, comptime opts: struct { strict: bool = false }) ty
2816 try testArgs(i8, i32, -1 << 31);2256 try testArgs(i8, i32, -1 << 31);
2817 try testArgs(i8, i32, -1);2257 try testArgs(i8, i32, -1);
2818 try testArgs(i8, i32, 0);2258 try testArgs(i8, i32, 0);
2819 try testArgs(u8, i32, -1 << 31);
2820 try testArgs(u8, i32, -1);
2821 try testArgs(u8, i32, 0);
2822 try testArgs(i16, i32, -1 << 31);2259 try testArgs(i16, i32, -1 << 31);
2823 try testArgs(i16, i32, -1);2260 try testArgs(i16, i32, -1);
2824 try testArgs(i16, i32, 0);2261 try testArgs(i16, i32, 0);
2825 try testArgs(u16, i32, -1 << 31);
2826 try testArgs(u16, i32, -1);
2827 try testArgs(u16, i32, 0);
2828 try testArgs(i32, i32, -1 << 31);2262 try testArgs(i32, i32, -1 << 31);
2829 try testArgs(i32, i32, -1);2263 try testArgs(i32, i32, -1);
2830 try testArgs(i32, i32, 0);2264 try testArgs(i32, i32, 0);
2831 try testArgs(u32, i32, -1 << 31);
2832 try testArgs(u32, i32, -1);
2833 try testArgs(u32, i32, 0);
2834 try testArgs(i64, i32, -1 << 31);2265 try testArgs(i64, i32, -1 << 31);
2835 try testArgs(i64, i32, -1);2266 try testArgs(i64, i32, -1);
2836 try testArgs(i64, i32, 0);2267 try testArgs(i64, i32, 0);
2837 try testArgs(u64, i32, -1 << 31);
2838 try testArgs(u64, i32, -1);
2839 try testArgs(u64, i32, 0);
2840 try testArgs(i128, i32, -1 << 31);2268 try testArgs(i128, i32, -1 << 31);
2841 try testArgs(i128, i32, -1);2269 try testArgs(i128, i32, -1);
2842 try testArgs(i128, i32, 0);2270 try testArgs(i128, i32, 0);
2843 try testArgs(u128, i32, -1 << 31);
2844 try testArgs(u128, i32, -1);
2845 try testArgs(u128, i32, 0);
2846 try testArgs(i256, i32, -1 << 31);2271 try testArgs(i256, i32, -1 << 31);
2847 try testArgs(i256, i32, -1);2272 try testArgs(i256, i32, -1);
2848 try testArgs(i256, i32, 0);2273 try testArgs(i256, i32, 0);
2849 try testArgs(u256, i32, -1 << 31);
2850 try testArgs(u256, i32, -1);
2851 try testArgs(u256, i32, 0);
2852 try testArgs(i512, i32, -1 << 31);2274 try testArgs(i512, i32, -1 << 31);
2853 try testArgs(i512, i32, -1);2275 try testArgs(i512, i32, -1);
2854 try testArgs(i512, i32, 0);2276 try testArgs(i512, i32, 0);
2855 try testArgs(u512, i32, -1 << 31);
2856 try testArgs(u512, i32, -1);
2857 try testArgs(u512, i32, 0);
2858 try testArgs(i1024, i32, -1 << 31);2277 try testArgs(i1024, i32, -1 << 31);
2859 try testArgs(i1024, i32, -1);2278 try testArgs(i1024, i32, -1);
2860 try testArgs(i1024, i32, 0);2279 try testArgs(i1024, i32, 0);
2861 try testArgs(u1024, i32, -1 << 31);
2862 try testArgs(u1024, i32, -1);
2863 try testArgs(u1024, i32, 0);
2864 try testArgs(i8, u32, 0);
2865 try testArgs(i8, u32, 1 << 0);
2866 try testArgs(i8, u32, 1 << 31);
2867 try testArgs(u8, u32, 0);2280 try testArgs(u8, u32, 0);
2868 try testArgs(u8, u32, 1 << 0);2281 try testArgs(u8, u32, 1 << 0);
2869 try testArgs(u8, u32, 1 << 31);2282 try testArgs(u8, u32, 1 << 31);
2870 try testArgs(i16, u32, 0);
2871 try testArgs(i16, u32, 1 << 0);
2872 try testArgs(i16, u32, 1 << 31);
2873 try testArgs(u16, u32, 0);2283 try testArgs(u16, u32, 0);
2874 try testArgs(u16, u32, 1 << 0);2284 try testArgs(u16, u32, 1 << 0);
2875 try testArgs(u16, u32, 1 << 31);2285 try testArgs(u16, u32, 1 << 31);
2876 try testArgs(i32, u32, 0);
2877 try testArgs(i32, u32, 1 << 0);
2878 try testArgs(i32, u32, 1 << 31);
2879 try testArgs(u32, u32, 0);2286 try testArgs(u32, u32, 0);
2880 try testArgs(u32, u32, 1 << 0);2287 try testArgs(u32, u32, 1 << 0);
2881 try testArgs(u32, u32, 1 << 31);2288 try testArgs(u32, u32, 1 << 31);
2882 try testArgs(i64, u32, 0);
2883 try testArgs(i64, u32, 1 << 0);
2884 try testArgs(i64, u32, 1 << 31);
2885 try testArgs(u64, u32, 0);2289 try testArgs(u64, u32, 0);
2886 try testArgs(u64, u32, 1 << 0);2290 try testArgs(u64, u32, 1 << 0);
2887 try testArgs(u64, u32, 1 << 31);2291 try testArgs(u64, u32, 1 << 31);
2888 try testArgs(i128, u32, 0);
2889 try testArgs(i128, u32, 1 << 0);
2890 try testArgs(i128, u32, 1 << 31);
2891 try testArgs(u128, u32, 0);2292 try testArgs(u128, u32, 0);
2892 try testArgs(u128, u32, 1 << 0);2293 try testArgs(u128, u32, 1 << 0);
2893 try testArgs(u128, u32, 1 << 31);2294 try testArgs(u128, u32, 1 << 31);
2894 try testArgs(i256, u32, 0);
2895 try testArgs(i256, u32, 1 << 0);
2896 try testArgs(i256, u32, 1 << 31);
2897 try testArgs(u256, u32, 0);2295 try testArgs(u256, u32, 0);
2898 try testArgs(u256, u32, 1 << 0);2296 try testArgs(u256, u32, 1 << 0);
2899 try testArgs(u256, u32, 1 << 31);2297 try testArgs(u256, u32, 1 << 31);
2900 try testArgs(i512, u32, 0);
2901 try testArgs(i512, u32, 1 << 0);
2902 try testArgs(i512, u32, 1 << 31);
2903 try testArgs(u512, u32, 0);2298 try testArgs(u512, u32, 0);
2904 try testArgs(u512, u32, 1 << 0);2299 try testArgs(u512, u32, 1 << 0);
2905 try testArgs(u512, u32, 1 << 31);2300 try testArgs(u512, u32, 1 << 31);
2906 try testArgs(i1024, u32, 0);
2907 try testArgs(i1024, u32, 1 << 0);
2908 try testArgs(i1024, u32, 1 << 31);
2909 try testArgs(u1024, u32, 0);2301 try testArgs(u1024, u32, 0);
2910 try testArgs(u1024, u32, 1 << 0);2302 try testArgs(u1024, u32, 1 << 0);
2911 try testArgs(u1024, u32, 1 << 31);2303 try testArgs(u1024, u32, 1 << 31);
...@@ -2913,96 +2305,48 @@ fn cast(comptime op: anytype, comptime opts: struct { strict: bool = false }) ty...@@ -2913,96 +2305,48 @@ fn cast(comptime op: anytype, comptime opts: struct { strict: bool = false }) ty
2913 try testArgs(i8, i33, -1 << 32);2305 try testArgs(i8, i33, -1 << 32);
2914 try testArgs(i8, i33, -1);2306 try testArgs(i8, i33, -1);
2915 try testArgs(i8, i33, 0);2307 try testArgs(i8, i33, 0);
2916 try testArgs(u8, i33, -1 << 32);
2917 try testArgs(u8, i33, -1);
2918 try testArgs(u8, i33, 0);
2919 try testArgs(i16, i33, -1 << 32);2308 try testArgs(i16, i33, -1 << 32);
2920 try testArgs(i16, i33, -1);2309 try testArgs(i16, i33, -1);
2921 try testArgs(i16, i33, 0);2310 try testArgs(i16, i33, 0);
2922 try testArgs(u16, i33, -1 << 32);
2923 try testArgs(u16, i33, -1);
2924 try testArgs(u16, i33, 0);
2925 try testArgs(i32, i33, -1 << 32);2311 try testArgs(i32, i33, -1 << 32);
2926 try testArgs(i32, i33, -1);2312 try testArgs(i32, i33, -1);
2927 try testArgs(i32, i33, 0);2313 try testArgs(i32, i33, 0);
2928 try testArgs(u32, i33, -1 << 32);
2929 try testArgs(u32, i33, -1);
2930 try testArgs(u32, i33, 0);
2931 try testArgs(i64, i33, -1 << 32);2314 try testArgs(i64, i33, -1 << 32);
2932 try testArgs(i64, i33, -1);2315 try testArgs(i64, i33, -1);
2933 try testArgs(i64, i33, 0);2316 try testArgs(i64, i33, 0);
2934 try testArgs(u64, i33, -1 << 32);
2935 try testArgs(u64, i33, -1);
2936 try testArgs(u64, i33, 0);
2937 try testArgs(i128, i33, -1 << 32);2317 try testArgs(i128, i33, -1 << 32);
2938 try testArgs(i128, i33, -1);2318 try testArgs(i128, i33, -1);
2939 try testArgs(i128, i33, 0);2319 try testArgs(i128, i33, 0);
2940 try testArgs(u128, i33, -1 << 32);
2941 try testArgs(u128, i33, -1);
2942 try testArgs(u128, i33, 0);
2943 try testArgs(i256, i33, -1 << 32);2320 try testArgs(i256, i33, -1 << 32);
2944 try testArgs(i256, i33, -1);2321 try testArgs(i256, i33, -1);
2945 try testArgs(i256, i33, 0);2322 try testArgs(i256, i33, 0);
2946 try testArgs(u256, i33, -1 << 32);
2947 try testArgs(u256, i33, -1);
2948 try testArgs(u256, i33, 0);
2949 try testArgs(i512, i33, -1 << 32);2323 try testArgs(i512, i33, -1 << 32);
2950 try testArgs(i512, i33, -1);2324 try testArgs(i512, i33, -1);
2951 try testArgs(i512, i33, 0);2325 try testArgs(i512, i33, 0);
2952 try testArgs(u512, i33, -1 << 32);
2953 try testArgs(u512, i33, -1);
2954 try testArgs(u512, i33, 0);
2955 try testArgs(i1024, i33, -1 << 32);2326 try testArgs(i1024, i33, -1 << 32);
2956 try testArgs(i1024, i33, -1);2327 try testArgs(i1024, i33, -1);
2957 try testArgs(i1024, i33, 0);2328 try testArgs(i1024, i33, 0);
2958 try testArgs(u1024, i33, -1 << 32);
2959 try testArgs(u1024, i33, -1);
2960 try testArgs(u1024, i33, 0);
2961 try testArgs(i8, u33, 0);
2962 try testArgs(i8, u33, 1 << 0);
2963 try testArgs(i8, u33, 1 << 32);
2964 try testArgs(u8, u33, 0);2329 try testArgs(u8, u33, 0);
2965 try testArgs(u8, u33, 1 << 0);2330 try testArgs(u8, u33, 1 << 0);
2966 try testArgs(u8, u33, 1 << 32);2331 try testArgs(u8, u33, 1 << 32);
2967 try testArgs(i16, u33, 0);
2968 try testArgs(i16, u33, 1 << 0);
2969 try testArgs(i16, u33, 1 << 32);
2970 try testArgs(u16, u33, 0);2332 try testArgs(u16, u33, 0);
2971 try testArgs(u16, u33, 1 << 0);2333 try testArgs(u16, u33, 1 << 0);
2972 try testArgs(u16, u33, 1 << 32);2334 try testArgs(u16, u33, 1 << 32);
2973 try testArgs(i32, u33, 0);
2974 try testArgs(i32, u33, 1 << 0);
2975 try testArgs(i32, u33, 1 << 32);
2976 try testArgs(u32, u33, 0);2335 try testArgs(u32, u33, 0);
2977 try testArgs(u32, u33, 1 << 0);2336 try testArgs(u32, u33, 1 << 0);
2978 try testArgs(u32, u33, 1 << 32);2337 try testArgs(u32, u33, 1 << 32);
2979 try testArgs(i64, u33, 0);
2980 try testArgs(i64, u33, 1 << 0);
2981 try testArgs(i64, u33, 1 << 32);
2982 try testArgs(u64, u33, 0);2338 try testArgs(u64, u33, 0);
2983 try testArgs(u64, u33, 1 << 0);2339 try testArgs(u64, u33, 1 << 0);
2984 try testArgs(u64, u33, 1 << 32);2340 try testArgs(u64, u33, 1 << 32);
2985 try testArgs(i128, u33, 0);
2986 try testArgs(i128, u33, 1 << 0);
2987 try testArgs(i128, u33, 1 << 32);
2988 try testArgs(u128, u33, 0);2341 try testArgs(u128, u33, 0);
2989 try testArgs(u128, u33, 1 << 0);2342 try testArgs(u128, u33, 1 << 0);
2990 try testArgs(u128, u33, 1 << 32);2343 try testArgs(u128, u33, 1 << 32);
2991 try testArgs(i256, u33, 0);
2992 try testArgs(i256, u33, 1 << 0);
2993 try testArgs(i256, u33, 1 << 32);
2994 try testArgs(u256, u33, 0);2344 try testArgs(u256, u33, 0);
2995 try testArgs(u256, u33, 1 << 0);2345 try testArgs(u256, u33, 1 << 0);
2996 try testArgs(u256, u33, 1 << 32);2346 try testArgs(u256, u33, 1 << 32);
2997 try testArgs(i512, u33, 0);
2998 try testArgs(i512, u33, 1 << 0);
2999 try testArgs(i512, u33, 1 << 32);
3000 try testArgs(u512, u33, 0);2347 try testArgs(u512, u33, 0);
3001 try testArgs(u512, u33, 1 << 0);2348 try testArgs(u512, u33, 1 << 0);
3002 try testArgs(u512, u33, 1 << 32);2349 try testArgs(u512, u33, 1 << 32);
3003 try testArgs(i1024, u33, 0);
3004 try testArgs(i1024, u33, 1 << 0);
3005 try testArgs(i1024, u33, 1 << 32);
3006 try testArgs(u1024, u33, 0);2350 try testArgs(u1024, u33, 0);
3007 try testArgs(u1024, u33, 1 << 0);2351 try testArgs(u1024, u33, 1 << 0);
3008 try testArgs(u1024, u33, 1 << 32);2352 try testArgs(u1024, u33, 1 << 32);
...@@ -3010,96 +2354,48 @@ fn cast(comptime op: anytype, comptime opts: struct { strict: bool = false }) ty...@@ -3010,96 +2354,48 @@ fn cast(comptime op: anytype, comptime opts: struct { strict: bool = false }) ty
3010 try testArgs(i8, i63, -1 << 62);2354 try testArgs(i8, i63, -1 << 62);
3011 try testArgs(i8, i63, -1);2355 try testArgs(i8, i63, -1);
3012 try testArgs(i8, i63, 0);2356 try testArgs(i8, i63, 0);
3013 try testArgs(u8, i63, -1 << 62);
3014 try testArgs(u8, i63, -1);
3015 try testArgs(u8, i63, 0);
3016 try testArgs(i16, i63, -1 << 62);2357 try testArgs(i16, i63, -1 << 62);
3017 try testArgs(i16, i63, -1);2358 try testArgs(i16, i63, -1);
3018 try testArgs(i16, i63, 0);2359 try testArgs(i16, i63, 0);
3019 try testArgs(u16, i63, -1 << 62);
3020 try testArgs(u16, i63, -1);
3021 try testArgs(u16, i63, 0);
3022 try testArgs(i32, i63, -1 << 62);2360 try testArgs(i32, i63, -1 << 62);
3023 try testArgs(i32, i63, -1);2361 try testArgs(i32, i63, -1);
3024 try testArgs(i32, i63, 0);2362 try testArgs(i32, i63, 0);
3025 try testArgs(u32, i63, -1 << 62);
3026 try testArgs(u32, i63, -1);
3027 try testArgs(u32, i63, 0);
3028 try testArgs(i64, i63, -1 << 62);2363 try testArgs(i64, i63, -1 << 62);
3029 try testArgs(i64, i63, -1);2364 try testArgs(i64, i63, -1);
3030 try testArgs(i64, i63, 0);2365 try testArgs(i64, i63, 0);
3031 try testArgs(u64, i63, -1 << 62);
3032 try testArgs(u64, i63, -1);
3033 try testArgs(u64, i63, 0);
3034 try testArgs(i128, i63, -1 << 62);2366 try testArgs(i128, i63, -1 << 62);
3035 try testArgs(i128, i63, -1);2367 try testArgs(i128, i63, -1);
3036 try testArgs(i128, i63, 0);2368 try testArgs(i128, i63, 0);
3037 try testArgs(u128, i63, -1 << 62);
3038 try testArgs(u128, i63, -1);
3039 try testArgs(u128, i63, 0);
3040 try testArgs(i256, i63, -1 << 62);2369 try testArgs(i256, i63, -1 << 62);
3041 try testArgs(i256, i63, -1);2370 try testArgs(i256, i63, -1);
3042 try testArgs(i256, i63, 0);2371 try testArgs(i256, i63, 0);
3043 try testArgs(u256, i63, -1 << 62);
3044 try testArgs(u256, i63, -1);
3045 try testArgs(u256, i63, 0);
3046 try testArgs(i512, i63, -1 << 62);2372 try testArgs(i512, i63, -1 << 62);
3047 try testArgs(i512, i63, -1);2373 try testArgs(i512, i63, -1);
3048 try testArgs(i512, i63, 0);2374 try testArgs(i512, i63, 0);
3049 try testArgs(u512, i63, -1 << 62);
3050 try testArgs(u512, i63, -1);
3051 try testArgs(u512, i63, 0);
3052 try testArgs(i1024, i63, -1 << 62);2375 try testArgs(i1024, i63, -1 << 62);
3053 try testArgs(i1024, i63, -1);2376 try testArgs(i1024, i63, -1);
3054 try testArgs(i1024, i63, 0);2377 try testArgs(i1024, i63, 0);
3055 try testArgs(u1024, i63, -1 << 62);
3056 try testArgs(u1024, i63, -1);
3057 try testArgs(u1024, i63, 0);
3058 try testArgs(i8, u63, 0);
3059 try testArgs(i8, u63, 1 << 0);
3060 try testArgs(i8, u63, 1 << 62);
3061 try testArgs(u8, u63, 0);2378 try testArgs(u8, u63, 0);
3062 try testArgs(u8, u63, 1 << 0);2379 try testArgs(u8, u63, 1 << 0);
3063 try testArgs(u8, u63, 1 << 62);2380 try testArgs(u8, u63, 1 << 62);
3064 try testArgs(i16, u63, 0);
3065 try testArgs(i16, u63, 1 << 0);
3066 try testArgs(i16, u63, 1 << 62);
3067 try testArgs(u16, u63, 0);2381 try testArgs(u16, u63, 0);
3068 try testArgs(u16, u63, 1 << 0);2382 try testArgs(u16, u63, 1 << 0);
3069 try testArgs(u16, u63, 1 << 62);2383 try testArgs(u16, u63, 1 << 62);
3070 try testArgs(i32, u63, 0);
3071 try testArgs(i32, u63, 1 << 0);
3072 try testArgs(i32, u63, 1 << 62);
3073 try testArgs(u32, u63, 0);2384 try testArgs(u32, u63, 0);
3074 try testArgs(u32, u63, 1 << 0);2385 try testArgs(u32, u63, 1 << 0);
3075 try testArgs(u32, u63, 1 << 62);2386 try testArgs(u32, u63, 1 << 62);
3076 try testArgs(i64, u63, 0);
3077 try testArgs(i64, u63, 1 << 0);
3078 try testArgs(i64, u63, 1 << 62);
3079 try testArgs(u64, u63, 0);2387 try testArgs(u64, u63, 0);
3080 try testArgs(u64, u63, 1 << 0);2388 try testArgs(u64, u63, 1 << 0);
3081 try testArgs(u64, u63, 1 << 62);2389 try testArgs(u64, u63, 1 << 62);
3082 try testArgs(i128, u63, 0);
3083 try testArgs(i128, u63, 1 << 0);
3084 try testArgs(i128, u63, 1 << 62);
3085 try testArgs(u128, u63, 0);2390 try testArgs(u128, u63, 0);
3086 try testArgs(u128, u63, 1 << 0);2391 try testArgs(u128, u63, 1 << 0);
3087 try testArgs(u128, u63, 1 << 62);2392 try testArgs(u128, u63, 1 << 62);
3088 try testArgs(i256, u63, 0);
3089 try testArgs(i256, u63, 1 << 0);
3090 try testArgs(i256, u63, 1 << 62);
3091 try testArgs(u256, u63, 0);2393 try testArgs(u256, u63, 0);
3092 try testArgs(u256, u63, 1 << 0);2394 try testArgs(u256, u63, 1 << 0);
3093 try testArgs(u256, u63, 1 << 62);2395 try testArgs(u256, u63, 1 << 62);
3094 try testArgs(i512, u63, 0);
3095 try testArgs(i512, u63, 1 << 0);
3096 try testArgs(i512, u63, 1 << 62);
3097 try testArgs(u512, u63, 0);2396 try testArgs(u512, u63, 0);
3098 try testArgs(u512, u63, 1 << 0);2397 try testArgs(u512, u63, 1 << 0);
3099 try testArgs(u512, u63, 1 << 62);2398 try testArgs(u512, u63, 1 << 62);
3100 try testArgs(i1024, u63, 0);
3101 try testArgs(i1024, u63, 1 << 0);
3102 try testArgs(i1024, u63, 1 << 62);
3103 try testArgs(u1024, u63, 0);2399 try testArgs(u1024, u63, 0);
3104 try testArgs(u1024, u63, 1 << 0);2400 try testArgs(u1024, u63, 1 << 0);
3105 try testArgs(u1024, u63, 1 << 62);2401 try testArgs(u1024, u63, 1 << 62);
...@@ -3107,2524 +2403,2341 @@ fn cast(comptime op: anytype, comptime opts: struct { strict: bool = false }) ty...@@ -3107,2524 +2403,2341 @@ fn cast(comptime op: anytype, comptime opts: struct { strict: bool = false }) ty
3107 try testArgs(i8, i64, -1 << 63);2403 try testArgs(i8, i64, -1 << 63);
3108 try testArgs(i8, i64, -1);2404 try testArgs(i8, i64, -1);
3109 try testArgs(i8, i64, 0);2405 try testArgs(i8, i64, 0);
3110 try testArgs(u8, i64, -1 << 63);
3111 try testArgs(u8, i64, -1);
3112 try testArgs(u8, i64, 0);
3113 try testArgs(i16, i64, -1 << 63);2406 try testArgs(i16, i64, -1 << 63);
3114 try testArgs(i16, i64, -1);2407 try testArgs(i16, i64, -1);
3115 try testArgs(i16, i64, 0);2408 try testArgs(i16, i64, 0);
3116 try testArgs(u16, i64, -1 << 63);
3117 try testArgs(u16, i64, -1);
3118 try testArgs(u16, i64, 0);
3119 try testArgs(i32, i64, -1 << 63);2409 try testArgs(i32, i64, -1 << 63);
3120 try testArgs(i32, i64, -1);2410 try testArgs(i32, i64, -1);
3121 try testArgs(i32, i64, 0);2411 try testArgs(i32, i64, 0);
2412 try testArgs(i64, i64, -1 << 63);
2413 try testArgs(i64, i64, -1);
2414 try testArgs(i64, i64, 0);
2415 try testArgs(i128, i64, -1 << 63);
2416 try testArgs(i128, i64, -1);
2417 try testArgs(i128, i64, 0);
2418 try testArgs(i256, i64, -1 << 63);
2419 try testArgs(i256, i64, -1);
2420 try testArgs(i256, i64, 0);
2421 try testArgs(i512, i64, -1 << 63);
2422 try testArgs(i512, i64, -1);
2423 try testArgs(i512, i64, 0);
2424 try testArgs(i1024, i64, -1 << 63);
2425 try testArgs(i1024, i64, -1);
2426 try testArgs(i1024, i64, 0);
2427 try testArgs(u8, u64, 0);
2428 try testArgs(u8, u64, 1 << 0);
2429 try testArgs(u8, u64, 1 << 63);
2430 try testArgs(u16, u64, 0);
2431 try testArgs(u16, u64, 1 << 0);
2432 try testArgs(u16, u64, 1 << 63);
2433 try testArgs(u32, u64, 0);
2434 try testArgs(u32, u64, 1 << 0);
2435 try testArgs(u32, u64, 1 << 63);
2436 try testArgs(u64, u64, 0);
2437 try testArgs(u64, u64, 1 << 0);
2438 try testArgs(u64, u64, 1 << 63);
2439 try testArgs(u128, u64, 0);
2440 try testArgs(u128, u64, 1 << 0);
2441 try testArgs(u128, u64, 1 << 63);
2442 try testArgs(u256, u64, 0);
2443 try testArgs(u256, u64, 1 << 0);
2444 try testArgs(u256, u64, 1 << 63);
2445 try testArgs(u512, u64, 0);
2446 try testArgs(u512, u64, 1 << 0);
2447 try testArgs(u512, u64, 1 << 63);
2448 try testArgs(u1024, u64, 0);
2449 try testArgs(u1024, u64, 1 << 0);
2450 try testArgs(u1024, u64, 1 << 63);
2451
2452 try testArgs(i8, i65, -1 << 64);
2453 try testArgs(i8, i65, -1);
2454 try testArgs(i8, i65, 0);
2455 try testArgs(i16, i65, -1 << 64);
2456 try testArgs(i16, i65, -1);
2457 try testArgs(i16, i65, 0);
2458 try testArgs(i32, i65, -1 << 64);
2459 try testArgs(i32, i65, -1);
2460 try testArgs(i32, i65, 0);
2461 try testArgs(i64, i65, -1 << 64);
2462 try testArgs(i64, i65, -1);
2463 try testArgs(i64, i65, 0);
2464 try testArgs(i128, i65, -1 << 64);
2465 try testArgs(i128, i65, -1);
2466 try testArgs(i128, i65, 0);
2467 try testArgs(i256, i65, -1 << 64);
2468 try testArgs(i256, i65, -1);
2469 try testArgs(i256, i65, 0);
2470 try testArgs(i512, i65, -1 << 64);
2471 try testArgs(i512, i65, -1);
2472 try testArgs(i512, i65, 0);
2473 try testArgs(i1024, i65, -1 << 64);
2474 try testArgs(i1024, i65, -1);
2475 try testArgs(i1024, i65, 0);
2476 try testArgs(u8, u65, 0);
2477 try testArgs(u8, u65, 1 << 0);
2478 try testArgs(u8, u65, 1 << 64);
2479 try testArgs(u16, u65, 0);
2480 try testArgs(u16, u65, 1 << 0);
2481 try testArgs(u16, u65, 1 << 64);
2482 try testArgs(u32, u65, 0);
2483 try testArgs(u32, u65, 1 << 0);
2484 try testArgs(u32, u65, 1 << 64);
2485 try testArgs(u64, u65, 0);
2486 try testArgs(u64, u65, 1 << 0);
2487 try testArgs(u64, u65, 1 << 64);
2488 try testArgs(u128, u65, 0);
2489 try testArgs(u128, u65, 1 << 0);
2490 try testArgs(u128, u65, 1 << 64);
2491 try testArgs(u256, u65, 0);
2492 try testArgs(u256, u65, 1 << 0);
2493 try testArgs(u256, u65, 1 << 64);
2494 try testArgs(u512, u65, 0);
2495 try testArgs(u512, u65, 1 << 0);
2496 try testArgs(u512, u65, 1 << 64);
2497 try testArgs(u1024, u65, 0);
2498 try testArgs(u1024, u65, 1 << 0);
2499 try testArgs(u1024, u65, 1 << 64);
2500
2501 try testArgs(i8, i95, -1 << 94);
2502 try testArgs(i8, i95, -1);
2503 try testArgs(i8, i95, 0);
2504 try testArgs(i16, i95, -1 << 94);
2505 try testArgs(i16, i95, -1);
2506 try testArgs(i16, i95, 0);
2507 try testArgs(i32, i95, -1 << 94);
2508 try testArgs(i32, i95, -1);
2509 try testArgs(i32, i95, 0);
2510 try testArgs(i64, i95, -1 << 94);
2511 try testArgs(i64, i95, -1);
2512 try testArgs(i64, i95, 0);
2513 try testArgs(i128, i95, -1 << 94);
2514 try testArgs(i128, i95, -1);
2515 try testArgs(i128, i95, 0);
2516 try testArgs(i256, i95, -1 << 94);
2517 try testArgs(i256, i95, -1);
2518 try testArgs(i256, i95, 0);
2519 try testArgs(i512, i95, -1 << 94);
2520 try testArgs(i512, i95, -1);
2521 try testArgs(i512, i95, 0);
2522 try testArgs(i1024, i95, -1 << 94);
2523 try testArgs(i1024, i95, -1);
2524 try testArgs(i1024, i95, 0);
2525 try testArgs(u8, u95, 0);
2526 try testArgs(u8, u95, 1 << 0);
2527 try testArgs(u8, u95, 1 << 94);
2528 try testArgs(u16, u95, 0);
2529 try testArgs(u16, u95, 1 << 0);
2530 try testArgs(u16, u95, 1 << 94);
2531 try testArgs(u32, u95, 0);
2532 try testArgs(u32, u95, 1 << 0);
2533 try testArgs(u32, u95, 1 << 94);
2534 try testArgs(u64, u95, 0);
2535 try testArgs(u64, u95, 1 << 0);
2536 try testArgs(u64, u95, 1 << 94);
2537 try testArgs(u128, u95, 0);
2538 try testArgs(u128, u95, 1 << 0);
2539 try testArgs(u128, u95, 1 << 94);
2540 try testArgs(u256, u95, 0);
2541 try testArgs(u256, u95, 1 << 0);
2542 try testArgs(u256, u95, 1 << 94);
2543 try testArgs(u512, u95, 0);
2544 try testArgs(u512, u95, 1 << 0);
2545 try testArgs(u512, u95, 1 << 94);
2546 try testArgs(u1024, u95, 0);
2547 try testArgs(u1024, u95, 1 << 0);
2548 try testArgs(u1024, u95, 1 << 94);
2549
2550 try testArgs(i8, i97, -1 << 96);
2551 try testArgs(i8, i97, -1);
2552 try testArgs(i8, i97, 0);
2553 try testArgs(i16, i97, -1 << 96);
2554 try testArgs(i16, i97, -1);
2555 try testArgs(i16, i97, 0);
2556 try testArgs(i32, i97, -1 << 96);
2557 try testArgs(i32, i97, -1);
2558 try testArgs(i32, i97, 0);
2559 try testArgs(i64, i97, -1 << 96);
2560 try testArgs(i64, i97, -1);
2561 try testArgs(i64, i97, 0);
2562 try testArgs(i128, i97, -1 << 96);
2563 try testArgs(i128, i97, -1);
2564 try testArgs(i128, i97, 0);
2565 try testArgs(i256, i97, -1 << 96);
2566 try testArgs(i256, i97, -1);
2567 try testArgs(i256, i97, 0);
2568 try testArgs(i512, i97, -1 << 96);
2569 try testArgs(i512, i97, -1);
2570 try testArgs(i512, i97, 0);
2571 try testArgs(i1024, i97, -1 << 96);
2572 try testArgs(i1024, i97, -1);
2573 try testArgs(i1024, i97, 0);
2574 try testArgs(u8, u97, 0);
2575 try testArgs(u8, u97, 1 << 0);
2576 try testArgs(u8, u97, 1 << 96);
2577 try testArgs(u16, u97, 0);
2578 try testArgs(u16, u97, 1 << 0);
2579 try testArgs(u16, u97, 1 << 96);
2580 try testArgs(u32, u97, 0);
2581 try testArgs(u32, u97, 1 << 0);
2582 try testArgs(u32, u97, 1 << 96);
2583 try testArgs(u64, u97, 0);
2584 try testArgs(u64, u97, 1 << 0);
2585 try testArgs(u64, u97, 1 << 96);
2586 try testArgs(u128, u97, 0);
2587 try testArgs(u128, u97, 1 << 0);
2588 try testArgs(u128, u97, 1 << 96);
2589 try testArgs(u256, u97, 0);
2590 try testArgs(u256, u97, 1 << 0);
2591 try testArgs(u256, u97, 1 << 96);
2592 try testArgs(u512, u97, 0);
2593 try testArgs(u512, u97, 1 << 0);
2594 try testArgs(u512, u97, 1 << 96);
2595 try testArgs(u1024, u97, 0);
2596 try testArgs(u1024, u97, 1 << 0);
2597 try testArgs(u1024, u97, 1 << 96);
2598
2599 try testArgs(i8, i127, -1 << 126);
2600 try testArgs(i8, i127, -1);
2601 try testArgs(i8, i127, 0);
2602 try testArgs(i16, i127, -1 << 126);
2603 try testArgs(i16, i127, -1);
2604 try testArgs(i16, i127, 0);
2605 try testArgs(i32, i127, -1 << 126);
2606 try testArgs(i32, i127, -1);
2607 try testArgs(i32, i127, 0);
2608 try testArgs(i64, i127, -1 << 126);
2609 try testArgs(i64, i127, -1);
2610 try testArgs(i64, i127, 0);
2611 try testArgs(i128, i127, -1 << 126);
2612 try testArgs(i128, i127, -1);
2613 try testArgs(i128, i127, 0);
2614 try testArgs(i256, i127, -1 << 126);
2615 try testArgs(i256, i127, -1);
2616 try testArgs(i256, i127, 0);
2617 try testArgs(i512, i127, -1 << 126);
2618 try testArgs(i512, i127, -1);
2619 try testArgs(i512, i127, 0);
2620 try testArgs(i1024, i127, -1 << 126);
2621 try testArgs(i1024, i127, -1);
2622 try testArgs(i1024, i127, 0);
2623 try testArgs(u8, u127, 0);
2624 try testArgs(u8, u127, 1 << 0);
2625 try testArgs(u8, u127, 1 << 126);
2626 try testArgs(u16, u127, 0);
2627 try testArgs(u16, u127, 1 << 0);
2628 try testArgs(u16, u127, 1 << 126);
2629 try testArgs(u32, u127, 0);
2630 try testArgs(u32, u127, 1 << 0);
2631 try testArgs(u32, u127, 1 << 126);
2632 try testArgs(u64, u127, 0);
2633 try testArgs(u64, u127, 1 << 0);
2634 try testArgs(u64, u127, 1 << 126);
2635 try testArgs(u128, u127, 0);
2636 try testArgs(u128, u127, 1 << 0);
2637 try testArgs(u128, u127, 1 << 126);
2638 try testArgs(u256, u127, 0);
2639 try testArgs(u256, u127, 1 << 0);
2640 try testArgs(u256, u127, 1 << 126);
2641 try testArgs(u512, u127, 0);
2642 try testArgs(u512, u127, 1 << 0);
2643 try testArgs(u512, u127, 1 << 126);
2644 try testArgs(u1024, u127, 0);
2645 try testArgs(u1024, u127, 1 << 0);
2646 try testArgs(u1024, u127, 1 << 126);
2647
2648 try testArgs(i8, i128, -1 << 127);
2649 try testArgs(i8, i128, -1);
2650 try testArgs(i8, i128, 0);
2651 try testArgs(i16, i128, -1 << 127);
2652 try testArgs(i16, i128, -1);
2653 try testArgs(i16, i128, 0);
2654 try testArgs(i32, i128, -1 << 127);
2655 try testArgs(i32, i128, -1);
2656 try testArgs(i32, i128, 0);
2657 try testArgs(i64, i128, -1 << 127);
2658 try testArgs(i64, i128, -1);
2659 try testArgs(i64, i128, 0);
2660 try testArgs(i128, i128, -1 << 127);
2661 try testArgs(i128, i128, -1);
2662 try testArgs(i128, i128, 0);
2663 try testArgs(i256, i128, -1 << 127);
2664 try testArgs(i256, i128, -1);
2665 try testArgs(i256, i128, 0);
2666 try testArgs(i512, i128, -1 << 127);
2667 try testArgs(i512, i128, -1);
2668 try testArgs(i512, i128, 0);
2669 try testArgs(i1024, i128, -1 << 127);
2670 try testArgs(i1024, i128, -1);
2671 try testArgs(i1024, i128, 0);
2672 try testArgs(u8, u128, 0);
2673 try testArgs(u8, u128, 1 << 0);
2674 try testArgs(u8, u128, 1 << 127);
2675 try testArgs(u16, u128, 0);
2676 try testArgs(u16, u128, 1 << 0);
2677 try testArgs(u16, u128, 1 << 127);
2678 try testArgs(u32, u128, 0);
2679 try testArgs(u32, u128, 1 << 0);
2680 try testArgs(u32, u128, 1 << 127);
2681 try testArgs(u64, u128, 0);
2682 try testArgs(u64, u128, 1 << 0);
2683 try testArgs(u64, u128, 1 << 127);
2684 try testArgs(u128, u128, 0);
2685 try testArgs(u128, u128, 1 << 0);
2686 try testArgs(u128, u128, 1 << 127);
2687 try testArgs(u256, u128, 0);
2688 try testArgs(u256, u128, 1 << 0);
2689 try testArgs(u256, u128, 1 << 127);
2690 try testArgs(u512, u128, 0);
2691 try testArgs(u512, u128, 1 << 0);
2692 try testArgs(u512, u128, 1 << 127);
2693 try testArgs(u1024, u128, 0);
2694 try testArgs(u1024, u128, 1 << 0);
2695 try testArgs(u1024, u128, 1 << 127);
2696
2697 try testArgs(i8, i129, -1 << 128);
2698 try testArgs(i8, i129, -1);
2699 try testArgs(i8, i129, 0);
2700 try testArgs(i16, i129, -1 << 128);
2701 try testArgs(i16, i129, -1);
2702 try testArgs(i16, i129, 0);
2703 try testArgs(i32, i129, -1 << 128);
2704 try testArgs(i32, i129, -1);
2705 try testArgs(i32, i129, 0);
2706 try testArgs(i64, i129, -1 << 128);
2707 try testArgs(i64, i129, -1);
2708 try testArgs(i64, i129, 0);
2709 try testArgs(i128, i129, -1 << 128);
2710 try testArgs(i128, i129, -1);
2711 try testArgs(i128, i129, 0);
2712 try testArgs(i256, i129, -1 << 128);
2713 try testArgs(i256, i129, -1);
2714 try testArgs(i256, i129, 0);
2715 try testArgs(i512, i129, -1 << 128);
2716 try testArgs(i512, i129, -1);
2717 try testArgs(i512, i129, 0);
2718 try testArgs(i1024, i129, -1 << 128);
2719 try testArgs(i1024, i129, -1);
2720 try testArgs(i1024, i129, 0);
2721 try testArgs(u8, u129, 0);
2722 try testArgs(u8, u129, 1 << 0);
2723 try testArgs(u8, u129, 1 << 128);
2724 try testArgs(u16, u129, 0);
2725 try testArgs(u16, u129, 1 << 0);
2726 try testArgs(u16, u129, 1 << 128);
2727 try testArgs(u32, u129, 0);
2728 try testArgs(u32, u129, 1 << 0);
2729 try testArgs(u32, u129, 1 << 128);
2730 try testArgs(u64, u129, 0);
2731 try testArgs(u64, u129, 1 << 0);
2732 try testArgs(u64, u129, 1 << 128);
2733 try testArgs(u128, u129, 0);
2734 try testArgs(u128, u129, 1 << 0);
2735 try testArgs(u128, u129, 1 << 128);
2736 try testArgs(u256, u129, 0);
2737 try testArgs(u256, u129, 1 << 0);
2738 try testArgs(u256, u129, 1 << 128);
2739 try testArgs(u512, u129, 0);
2740 try testArgs(u512, u129, 1 << 0);
2741 try testArgs(u512, u129, 1 << 128);
2742 try testArgs(u1024, u129, 0);
2743 try testArgs(u1024, u129, 1 << 0);
2744 try testArgs(u1024, u129, 1 << 128);
2745
2746 try testArgs(i8, i255, -1 << 254);
2747 try testArgs(i8, i255, -1);
2748 try testArgs(i8, i255, 0);
2749 try testArgs(i16, i255, -1 << 254);
2750 try testArgs(i16, i255, -1);
2751 try testArgs(i16, i255, 0);
2752 try testArgs(i32, i255, -1 << 254);
2753 try testArgs(i32, i255, -1);
2754 try testArgs(i32, i255, 0);
2755 try testArgs(i64, i255, -1 << 254);
2756 try testArgs(i64, i255, -1);
2757 try testArgs(i64, i255, 0);
2758 try testArgs(i128, i255, -1 << 254);
2759 try testArgs(i128, i255, -1);
2760 try testArgs(i128, i255, 0);
2761 try testArgs(i256, i255, -1 << 254);
2762 try testArgs(i256, i255, -1);
2763 try testArgs(i256, i255, 0);
2764 try testArgs(i512, i255, -1 << 254);
2765 try testArgs(i512, i255, -1);
2766 try testArgs(i512, i255, 0);
2767 try testArgs(i1024, i255, -1 << 254);
2768 try testArgs(i1024, i255, -1);
2769 try testArgs(i1024, i255, 0);
2770 try testArgs(u8, u255, 0);
2771 try testArgs(u8, u255, 1 << 0);
2772 try testArgs(u8, u255, 1 << 254);
2773 try testArgs(u16, u255, 0);
2774 try testArgs(u16, u255, 1 << 0);
2775 try testArgs(u16, u255, 1 << 254);
2776 try testArgs(u32, u255, 0);
2777 try testArgs(u32, u255, 1 << 0);
2778 try testArgs(u32, u255, 1 << 254);
2779 try testArgs(u64, u255, 0);
2780 try testArgs(u64, u255, 1 << 0);
2781 try testArgs(u64, u255, 1 << 254);
2782 try testArgs(u128, u255, 0);
2783 try testArgs(u128, u255, 1 << 0);
2784 try testArgs(u128, u255, 1 << 254);
2785 try testArgs(u256, u255, 0);
2786 try testArgs(u256, u255, 1 << 0);
2787 try testArgs(u256, u255, 1 << 254);
2788 try testArgs(u512, u255, 0);
2789 try testArgs(u512, u255, 1 << 0);
2790 try testArgs(u512, u255, 1 << 254);
2791 try testArgs(u1024, u255, 0);
2792 try testArgs(u1024, u255, 1 << 0);
2793 try testArgs(u1024, u255, 1 << 254);
2794
2795 try testArgs(i8, i256, -1 << 255);
2796 try testArgs(i8, i256, -1);
2797 try testArgs(i8, i256, 0);
2798 try testArgs(i16, i256, -1 << 255);
2799 try testArgs(i16, i256, -1);
2800 try testArgs(i16, i256, 0);
2801 try testArgs(i32, i256, -1 << 255);
2802 try testArgs(i32, i256, -1);
2803 try testArgs(i32, i256, 0);
2804 try testArgs(i64, i256, -1 << 255);
2805 try testArgs(i64, i256, -1);
2806 try testArgs(i64, i256, 0);
2807 try testArgs(i128, i256, -1 << 255);
2808 try testArgs(i128, i256, -1);
2809 try testArgs(i128, i256, 0);
2810 try testArgs(i256, i256, -1 << 255);
2811 try testArgs(i256, i256, -1);
2812 try testArgs(i256, i256, 0);
2813 try testArgs(i512, i256, -1 << 255);
2814 try testArgs(i512, i256, -1);
2815 try testArgs(i512, i256, 0);
2816 try testArgs(i1024, i256, -1 << 255);
2817 try testArgs(i1024, i256, -1);
2818 try testArgs(i1024, i256, 0);
2819 try testArgs(u8, u256, 0);
2820 try testArgs(u8, u256, 1 << 0);
2821 try testArgs(u8, u256, 1 << 255);
2822 try testArgs(u16, u256, 0);
2823 try testArgs(u16, u256, 1 << 0);
2824 try testArgs(u16, u256, 1 << 255);
2825 try testArgs(u32, u256, 0);
2826 try testArgs(u32, u256, 1 << 0);
2827 try testArgs(u32, u256, 1 << 255);
2828 try testArgs(u64, u256, 0);
2829 try testArgs(u64, u256, 1 << 0);
2830 try testArgs(u64, u256, 1 << 255);
2831 try testArgs(u128, u256, 0);
2832 try testArgs(u128, u256, 1 << 0);
2833 try testArgs(u128, u256, 1 << 255);
2834 try testArgs(u256, u256, 0);
2835 try testArgs(u256, u256, 1 << 0);
2836 try testArgs(u256, u256, 1 << 255);
2837 try testArgs(u512, u256, 0);
2838 try testArgs(u512, u256, 1 << 0);
2839 try testArgs(u512, u256, 1 << 255);
2840 try testArgs(u1024, u256, 0);
2841 try testArgs(u1024, u256, 1 << 0);
2842 try testArgs(u1024, u256, 1 << 255);
2843
2844 try testArgs(i8, i257, -1 << 256);
2845 try testArgs(i8, i257, -1);
2846 try testArgs(i8, i257, 0);
2847 try testArgs(i16, i257, -1 << 256);
2848 try testArgs(i16, i257, -1);
2849 try testArgs(i16, i257, 0);
2850 try testArgs(i32, i257, -1 << 256);
2851 try testArgs(i32, i257, -1);
2852 try testArgs(i32, i257, 0);
2853 try testArgs(i64, i257, -1 << 256);
2854 try testArgs(i64, i257, -1);
2855 try testArgs(i64, i257, 0);
2856 try testArgs(i128, i257, -1 << 256);
2857 try testArgs(i128, i257, -1);
2858 try testArgs(i128, i257, 0);
2859 try testArgs(i256, i257, -1 << 256);
2860 try testArgs(i256, i257, -1);
2861 try testArgs(i256, i257, 0);
2862 try testArgs(i512, i257, -1 << 256);
2863 try testArgs(i512, i257, -1);
2864 try testArgs(i512, i257, 0);
2865 try testArgs(i1024, i257, -1 << 256);
2866 try testArgs(i1024, i257, -1);
2867 try testArgs(i1024, i257, 0);
2868 try testArgs(u8, u257, 0);
2869 try testArgs(u8, u257, 1 << 0);
2870 try testArgs(u8, u257, 1 << 256);
2871 try testArgs(u16, u257, 0);
2872 try testArgs(u16, u257, 1 << 0);
2873 try testArgs(u16, u257, 1 << 256);
2874 try testArgs(u32, u257, 0);
2875 try testArgs(u32, u257, 1 << 0);
2876 try testArgs(u32, u257, 1 << 256);
2877 try testArgs(u64, u257, 0);
2878 try testArgs(u64, u257, 1 << 0);
2879 try testArgs(u64, u257, 1 << 256);
2880 try testArgs(u128, u257, 0);
2881 try testArgs(u128, u257, 1 << 0);
2882 try testArgs(u128, u257, 1 << 256);
2883 try testArgs(u256, u257, 0);
2884 try testArgs(u256, u257, 1 << 0);
2885 try testArgs(u256, u257, 1 << 256);
2886 try testArgs(u512, u257, 0);
2887 try testArgs(u512, u257, 1 << 0);
2888 try testArgs(u512, u257, 1 << 256);
2889 try testArgs(u1024, u257, 0);
2890 try testArgs(u1024, u257, 1 << 0);
2891 try testArgs(u1024, u257, 1 << 256);
2892
2893 try testArgs(i8, i511, -1 << 510);
2894 try testArgs(i8, i511, -1);
2895 try testArgs(i8, i511, 0);
2896 try testArgs(i16, i511, -1 << 510);
2897 try testArgs(i16, i511, -1);
2898 try testArgs(i16, i511, 0);
2899 try testArgs(i32, i511, -1 << 510);
2900 try testArgs(i32, i511, -1);
2901 try testArgs(i32, i511, 0);
2902 try testArgs(i64, i511, -1 << 510);
2903 try testArgs(i64, i511, -1);
2904 try testArgs(i64, i511, 0);
2905 try testArgs(i128, i511, -1 << 510);
2906 try testArgs(i128, i511, -1);
2907 try testArgs(i128, i511, 0);
2908 try testArgs(i256, i511, -1 << 510);
2909 try testArgs(i256, i511, -1);
2910 try testArgs(i256, i511, 0);
2911 try testArgs(i512, i511, -1 << 510);
2912 try testArgs(i512, i511, -1);
2913 try testArgs(i512, i511, 0);
2914 try testArgs(i1024, i511, -1 << 510);
2915 try testArgs(i1024, i511, -1);
2916 try testArgs(i1024, i511, 0);
2917 try testArgs(u8, u511, 0);
2918 try testArgs(u8, u511, 1 << 0);
2919 try testArgs(u8, u511, 1 << 510);
2920 try testArgs(u16, u511, 0);
2921 try testArgs(u16, u511, 1 << 0);
2922 try testArgs(u16, u511, 1 << 510);
2923 try testArgs(u32, u511, 0);
2924 try testArgs(u32, u511, 1 << 0);
2925 try testArgs(u32, u511, 1 << 510);
2926 try testArgs(u64, u511, 0);
2927 try testArgs(u64, u511, 1 << 0);
2928 try testArgs(u64, u511, 1 << 510);
2929 try testArgs(u128, u511, 0);
2930 try testArgs(u128, u511, 1 << 0);
2931 try testArgs(u128, u511, 1 << 510);
2932 try testArgs(u256, u511, 0);
2933 try testArgs(u256, u511, 1 << 0);
2934 try testArgs(u256, u511, 1 << 510);
2935 try testArgs(u512, u511, 0);
2936 try testArgs(u512, u511, 1 << 0);
2937 try testArgs(u512, u511, 1 << 510);
2938 try testArgs(u1024, u511, 0);
2939 try testArgs(u1024, u511, 1 << 0);
2940 try testArgs(u1024, u511, 1 << 510);
2941
2942 try testArgs(i8, i512, -1 << 511);
2943 try testArgs(i8, i512, -1);
2944 try testArgs(i8, i512, 0);
2945 try testArgs(i16, i512, -1 << 511);
2946 try testArgs(i16, i512, -1);
2947 try testArgs(i16, i512, 0);
2948 try testArgs(i32, i512, -1 << 511);
2949 try testArgs(i32, i512, -1);
2950 try testArgs(i32, i512, 0);
2951 try testArgs(i64, i512, -1 << 511);
2952 try testArgs(i64, i512, -1);
2953 try testArgs(i64, i512, 0);
2954 try testArgs(i128, i512, -1 << 511);
2955 try testArgs(i128, i512, -1);
2956 try testArgs(i128, i512, 0);
2957 try testArgs(i256, i512, -1 << 511);
2958 try testArgs(i256, i512, -1);
2959 try testArgs(i256, i512, 0);
2960 try testArgs(i512, i512, -1 << 511);
2961 try testArgs(i512, i512, -1);
2962 try testArgs(i512, i512, 0);
2963 try testArgs(i1024, i512, -1 << 511);
2964 try testArgs(i1024, i512, -1);
2965 try testArgs(i1024, i512, 0);
2966 try testArgs(u8, u512, 0);
2967 try testArgs(u8, u512, 1 << 0);
2968 try testArgs(u8, u512, 1 << 511);
2969 try testArgs(u16, u512, 0);
2970 try testArgs(u16, u512, 1 << 0);
2971 try testArgs(u16, u512, 1 << 511);
2972 try testArgs(u32, u512, 0);
2973 try testArgs(u32, u512, 1 << 0);
2974 try testArgs(u32, u512, 1 << 511);
2975 try testArgs(u64, u512, 0);
2976 try testArgs(u64, u512, 1 << 0);
2977 try testArgs(u64, u512, 1 << 511);
2978 try testArgs(u128, u512, 0);
2979 try testArgs(u128, u512, 1 << 0);
2980 try testArgs(u128, u512, 1 << 511);
2981 try testArgs(u256, u512, 0);
2982 try testArgs(u256, u512, 1 << 0);
2983 try testArgs(u256, u512, 1 << 511);
2984 try testArgs(u512, u512, 0);
2985 try testArgs(u512, u512, 1 << 0);
2986 try testArgs(u512, u512, 1 << 511);
2987 try testArgs(u1024, u512, 0);
2988 try testArgs(u1024, u512, 1 << 0);
2989 try testArgs(u1024, u512, 1 << 511);
2990
2991 try testArgs(i8, i513, -1 << 512);
2992 try testArgs(i8, i513, -1);
2993 try testArgs(i8, i513, 0);
2994 try testArgs(i16, i513, -1 << 512);
2995 try testArgs(i16, i513, -1);
2996 try testArgs(i16, i513, 0);
2997 try testArgs(i32, i513, -1 << 512);
2998 try testArgs(i32, i513, -1);
2999 try testArgs(i32, i513, 0);
3000 try testArgs(i64, i513, -1 << 512);
3001 try testArgs(i64, i513, -1);
3002 try testArgs(i64, i513, 0);
3003 try testArgs(i128, i513, -1 << 512);
3004 try testArgs(i128, i513, -1);
3005 try testArgs(i128, i513, 0);
3006 try testArgs(i256, i513, -1 << 512);
3007 try testArgs(i256, i513, -1);
3008 try testArgs(i256, i513, 0);
3009 try testArgs(i512, i513, -1 << 512);
3010 try testArgs(i512, i513, -1);
3011 try testArgs(i512, i513, 0);
3012 try testArgs(i1024, i513, -1 << 512);
3013 try testArgs(i1024, i513, -1);
3014 try testArgs(i1024, i513, 0);
3015 try testArgs(u8, u513, 0);
3016 try testArgs(u8, u513, 1 << 0);
3017 try testArgs(u8, u513, 1 << 512);
3018 try testArgs(u16, u513, 0);
3019 try testArgs(u16, u513, 1 << 0);
3020 try testArgs(u16, u513, 1 << 512);
3021 try testArgs(u32, u513, 0);
3022 try testArgs(u32, u513, 1 << 0);
3023 try testArgs(u32, u513, 1 << 512);
3024 try testArgs(u64, u513, 0);
3025 try testArgs(u64, u513, 1 << 0);
3026 try testArgs(u64, u513, 1 << 512);
3027 try testArgs(u128, u513, 0);
3028 try testArgs(u128, u513, 1 << 0);
3029 try testArgs(u128, u513, 1 << 512);
3030 try testArgs(u256, u513, 0);
3031 try testArgs(u256, u513, 1 << 0);
3032 try testArgs(u256, u513, 1 << 512);
3033 try testArgs(u512, u513, 0);
3034 try testArgs(u512, u513, 1 << 0);
3035 try testArgs(u512, u513, 1 << 512);
3036 try testArgs(u1024, u513, 0);
3037 try testArgs(u1024, u513, 1 << 0);
3038 try testArgs(u1024, u513, 1 << 512);
3039
3040 try testArgs(i8, i1023, -1 << 1022);
3041 try testArgs(i8, i1023, -1);
3042 try testArgs(i8, i1023, 0);
3043 try testArgs(i16, i1023, -1 << 1022);
3044 try testArgs(i16, i1023, -1);
3045 try testArgs(i16, i1023, 0);
3046 try testArgs(i32, i1023, -1 << 1022);
3047 try testArgs(i32, i1023, -1);
3048 try testArgs(i32, i1023, 0);
3049 try testArgs(i64, i1023, -1 << 1022);
3050 try testArgs(i64, i1023, -1);
3051 try testArgs(i64, i1023, 0);
3052 try testArgs(i128, i1023, -1 << 1022);
3053 try testArgs(i128, i1023, -1);
3054 try testArgs(i128, i1023, 0);
3055 try testArgs(i256, i1023, -1 << 1022);
3056 try testArgs(i256, i1023, -1);
3057 try testArgs(i256, i1023, 0);
3058 try testArgs(i512, i1023, -1 << 1022);
3059 try testArgs(i512, i1023, -1);
3060 try testArgs(i512, i1023, 0);
3061 try testArgs(i1024, i1023, -1 << 1022);
3062 try testArgs(i1024, i1023, -1);
3063 try testArgs(i1024, i1023, 0);
3064 try testArgs(u8, u1023, 0);
3065 try testArgs(u8, u1023, 1 << 0);
3066 try testArgs(u8, u1023, 1 << 1022);
3067 try testArgs(u16, u1023, 0);
3068 try testArgs(u16, u1023, 1 << 0);
3069 try testArgs(u16, u1023, 1 << 1022);
3070 try testArgs(u32, u1023, 0);
3071 try testArgs(u32, u1023, 1 << 0);
3072 try testArgs(u32, u1023, 1 << 1022);
3073 try testArgs(u64, u1023, 0);
3074 try testArgs(u64, u1023, 1 << 0);
3075 try testArgs(u64, u1023, 1 << 1022);
3076 try testArgs(u128, u1023, 0);
3077 try testArgs(u128, u1023, 1 << 0);
3078 try testArgs(u128, u1023, 1 << 1022);
3079 try testArgs(u256, u1023, 0);
3080 try testArgs(u256, u1023, 1 << 0);
3081 try testArgs(u256, u1023, 1 << 1022);
3082 try testArgs(u512, u1023, 0);
3083 try testArgs(u512, u1023, 1 << 0);
3084 try testArgs(u512, u1023, 1 << 1022);
3085 try testArgs(u1024, u1023, 0);
3086 try testArgs(u1024, u1023, 1 << 0);
3087 try testArgs(u1024, u1023, 1 << 1022);
3088
3089 try testArgs(i8, i1024, -1 << 1023);
3090 try testArgs(i8, i1024, -1);
3091 try testArgs(i8, i1024, 0);
3092 try testArgs(i16, i1024, -1 << 1023);
3093 try testArgs(i16, i1024, -1);
3094 try testArgs(i16, i1024, 0);
3095 try testArgs(i32, i1024, -1 << 1023);
3096 try testArgs(i32, i1024, -1);
3097 try testArgs(i32, i1024, 0);
3098 try testArgs(i64, i1024, -1 << 1023);
3099 try testArgs(i64, i1024, -1);
3100 try testArgs(i64, i1024, 0);
3101 try testArgs(i128, i1024, -1 << 1023);
3102 try testArgs(i128, i1024, -1);
3103 try testArgs(i128, i1024, 0);
3104 try testArgs(i256, i1024, -1 << 1023);
3105 try testArgs(i256, i1024, -1);
3106 try testArgs(i256, i1024, 0);
3107 try testArgs(i512, i1024, -1 << 1023);
3108 try testArgs(i512, i1024, -1);
3109 try testArgs(i512, i1024, 0);
3110 try testArgs(i1024, i1024, -1 << 1023);
3111 try testArgs(i1024, i1024, -1);
3112 try testArgs(i1024, i1024, 0);
3113 try testArgs(u8, u1024, 0);
3114 try testArgs(u8, u1024, 1 << 0);
3115 try testArgs(u8, u1024, 1 << 1023);
3116 try testArgs(u16, u1024, 0);
3117 try testArgs(u16, u1024, 1 << 0);
3118 try testArgs(u16, u1024, 1 << 1023);
3119 try testArgs(u32, u1024, 0);
3120 try testArgs(u32, u1024, 1 << 0);
3121 try testArgs(u32, u1024, 1 << 1023);
3122 try testArgs(u64, u1024, 0);
3123 try testArgs(u64, u1024, 1 << 0);
3124 try testArgs(u64, u1024, 1 << 1023);
3125 try testArgs(u128, u1024, 0);
3126 try testArgs(u128, u1024, 1 << 0);
3127 try testArgs(u128, u1024, 1 << 1023);
3128 try testArgs(u256, u1024, 0);
3129 try testArgs(u256, u1024, 1 << 0);
3130 try testArgs(u256, u1024, 1 << 1023);
3131 try testArgs(u512, u1024, 0);
3132 try testArgs(u512, u1024, 1 << 0);
3133 try testArgs(u512, u1024, 1 << 1023);
3134 try testArgs(u1024, u1024, 0);
3135 try testArgs(u1024, u1024, 1 << 0);
3136 try testArgs(u1024, u1024, 1 << 1023);
3137
3138 try testArgs(i8, i1025, -1 << 1024);
3139 try testArgs(i8, i1025, -1);
3140 try testArgs(i8, i1025, 0);
3141 try testArgs(i16, i1025, -1 << 1024);
3142 try testArgs(i16, i1025, -1);
3143 try testArgs(i16, i1025, 0);
3144 try testArgs(i32, i1025, -1 << 1024);
3145 try testArgs(i32, i1025, -1);
3146 try testArgs(i32, i1025, 0);
3147 try testArgs(i64, i1025, -1 << 1024);
3148 try testArgs(i64, i1025, -1);
3149 try testArgs(i64, i1025, 0);
3150 try testArgs(i128, i1025, -1 << 1024);
3151 try testArgs(i128, i1025, -1);
3152 try testArgs(i128, i1025, 0);
3153 try testArgs(i256, i1025, -1 << 1024);
3154 try testArgs(i256, i1025, -1);
3155 try testArgs(i256, i1025, 0);
3156 try testArgs(i512, i1025, -1 << 1024);
3157 try testArgs(i512, i1025, -1);
3158 try testArgs(i512, i1025, 0);
3159 try testArgs(i1024, i1025, -1 << 1024);
3160 try testArgs(i1024, i1025, -1);
3161 try testArgs(i1024, i1025, 0);
3162 try testArgs(u8, u1025, 0);
3163 try testArgs(u8, u1025, 1 << 0);
3164 try testArgs(u8, u1025, 1 << 1024);
3165 try testArgs(u16, u1025, 0);
3166 try testArgs(u16, u1025, 1 << 0);
3167 try testArgs(u16, u1025, 1 << 1024);
3168 try testArgs(u32, u1025, 0);
3169 try testArgs(u32, u1025, 1 << 0);
3170 try testArgs(u32, u1025, 1 << 1024);
3171 try testArgs(u64, u1025, 0);
3172 try testArgs(u64, u1025, 1 << 0);
3173 try testArgs(u64, u1025, 1 << 1024);
3174 try testArgs(u128, u1025, 0);
3175 try testArgs(u128, u1025, 1 << 0);
3176 try testArgs(u128, u1025, 1 << 1024);
3177 try testArgs(u256, u1025, 0);
3178 try testArgs(u256, u1025, 1 << 0);
3179 try testArgs(u256, u1025, 1 << 1024);
3180 try testArgs(u512, u1025, 0);
3181 try testArgs(u512, u1025, 1 << 0);
3182 try testArgs(u512, u1025, 1 << 1024);
3183 try testArgs(u1024, u1025, 0);
3184 try testArgs(u1024, u1025, 1 << 0);
3185 try testArgs(u1024, u1025, 1 << 1024);
3186 }
3187 fn testInts() !void {
3188 try testSameSignednessInts();
3189
3190 try testArgs(u8, i1, -1);
3191 try testArgs(u8, i1, 0);
3192 try testArgs(u16, i1, -1);
3193 try testArgs(u16, i1, 0);
3194 try testArgs(u32, i1, -1);
3195 try testArgs(u32, i1, 0);
3196 try testArgs(u64, i1, -1);
3197 try testArgs(u64, i1, 0);
3198 try testArgs(u128, i1, -1);
3199 try testArgs(u128, i1, 0);
3200 try testArgs(u256, i1, -1);
3201 try testArgs(u256, i1, 0);
3202 try testArgs(u512, i1, -1);
3203 try testArgs(u512, i1, 0);
3204 try testArgs(u1024, i1, -1);
3205 try testArgs(u1024, i1, 0);
3206 try testArgs(i8, u1, 0);
3207 try testArgs(i8, u1, 1 << 0);
3208 try testArgs(i16, u1, 0);
3209 try testArgs(i16, u1, 1 << 0);
3210 try testArgs(i32, u1, 0);
3211 try testArgs(i32, u1, 1 << 0);
3212 try testArgs(i64, u1, 0);
3213 try testArgs(i64, u1, 1 << 0);
3214 try testArgs(i128, u1, 0);
3215 try testArgs(i128, u1, 1 << 0);
3216 try testArgs(i256, u1, 0);
3217 try testArgs(i256, u1, 1 << 0);
3218 try testArgs(i512, u1, 0);
3219 try testArgs(i512, u1, 1 << 0);
3220 try testArgs(i1024, u1, 0);
3221 try testArgs(i1024, u1, 1 << 0);
3222
3223 try testArgs(u8, i2, -1 << 1);
3224 try testArgs(u8, i2, -1);
3225 try testArgs(u8, i2, 0);
3226 try testArgs(u16, i2, -1 << 1);
3227 try testArgs(u16, i2, -1);
3228 try testArgs(u16, i2, 0);
3229 try testArgs(u32, i2, -1 << 1);
3230 try testArgs(u32, i2, -1);
3231 try testArgs(u32, i2, 0);
3232 try testArgs(u64, i2, -1 << 1);
3233 try testArgs(u64, i2, -1);
3234 try testArgs(u64, i2, 0);
3235 try testArgs(u128, i2, -1 << 1);
3236 try testArgs(u128, i2, -1);
3237 try testArgs(u128, i2, 0);
3238 try testArgs(u256, i2, -1 << 1);
3239 try testArgs(u256, i2, -1);
3240 try testArgs(u256, i2, 0);
3241 try testArgs(u512, i2, -1 << 1);
3242 try testArgs(u512, i2, -1);
3243 try testArgs(u512, i2, 0);
3244 try testArgs(u1024, i2, -1 << 1);
3245 try testArgs(u1024, i2, -1);
3246 try testArgs(u1024, i2, 0);
3247 try testArgs(i8, u2, 0);
3248 try testArgs(i8, u2, 1 << 0);
3249 try testArgs(i8, u2, 1 << 1);
3250 try testArgs(i16, u2, 0);
3251 try testArgs(i16, u2, 1 << 0);
3252 try testArgs(i16, u2, 1 << 1);
3253 try testArgs(i32, u2, 0);
3254 try testArgs(i32, u2, 1 << 0);
3255 try testArgs(i32, u2, 1 << 1);
3256 try testArgs(i64, u2, 0);
3257 try testArgs(i64, u2, 1 << 0);
3258 try testArgs(i64, u2, 1 << 1);
3259 try testArgs(i128, u2, 0);
3260 try testArgs(i128, u2, 1 << 0);
3261 try testArgs(i128, u2, 1 << 1);
3262 try testArgs(i256, u2, 0);
3263 try testArgs(i256, u2, 1 << 0);
3264 try testArgs(i256, u2, 1 << 1);
3265 try testArgs(i512, u2, 0);
3266 try testArgs(i512, u2, 1 << 0);
3267 try testArgs(i512, u2, 1 << 1);
3268 try testArgs(i1024, u2, 0);
3269 try testArgs(i1024, u2, 1 << 0);
3270 try testArgs(i1024, u2, 1 << 1);
3271
3272 try testArgs(u8, i3, -1 << 2);
3273 try testArgs(u8, i3, -1);
3274 try testArgs(u8, i3, 0);
3275 try testArgs(u16, i3, -1 << 2);
3276 try testArgs(u16, i3, -1);
3277 try testArgs(u16, i3, 0);
3278 try testArgs(u32, i3, -1 << 2);
3279 try testArgs(u32, i3, -1);
3280 try testArgs(u32, i3, 0);
3281 try testArgs(u64, i3, -1 << 2);
3282 try testArgs(u64, i3, -1);
3283 try testArgs(u64, i3, 0);
3284 try testArgs(u128, i3, -1 << 2);
3285 try testArgs(u128, i3, -1);
3286 try testArgs(u128, i3, 0);
3287 try testArgs(u256, i3, -1 << 2);
3288 try testArgs(u256, i3, -1);
3289 try testArgs(u256, i3, 0);
3290 try testArgs(u512, i3, -1 << 2);
3291 try testArgs(u512, i3, -1);
3292 try testArgs(u512, i3, 0);
3293 try testArgs(u1024, i3, -1 << 2);
3294 try testArgs(u1024, i3, -1);
3295 try testArgs(u1024, i3, 0);
3296 try testArgs(i8, u3, 0);
3297 try testArgs(i8, u3, 1 << 0);
3298 try testArgs(i8, u3, 1 << 2);
3299 try testArgs(i16, u3, 0);
3300 try testArgs(i16, u3, 1 << 0);
3301 try testArgs(i16, u3, 1 << 2);
3302 try testArgs(i32, u3, 0);
3303 try testArgs(i32, u3, 1 << 0);
3304 try testArgs(i32, u3, 1 << 2);
3305 try testArgs(i64, u3, 0);
3306 try testArgs(i64, u3, 1 << 0);
3307 try testArgs(i64, u3, 1 << 2);
3308 try testArgs(i128, u3, 0);
3309 try testArgs(i128, u3, 1 << 0);
3310 try testArgs(i128, u3, 1 << 2);
3311 try testArgs(i256, u3, 0);
3312 try testArgs(i256, u3, 1 << 0);
3313 try testArgs(i256, u3, 1 << 2);
3314 try testArgs(i512, u3, 0);
3315 try testArgs(i512, u3, 1 << 0);
3316 try testArgs(i512, u3, 1 << 2);
3317 try testArgs(i1024, u3, 0);
3318 try testArgs(i1024, u3, 1 << 0);
3319 try testArgs(i1024, u3, 1 << 2);
3320
3321 try testArgs(u8, i4, -1 << 3);
3322 try testArgs(u8, i4, -1);
3323 try testArgs(u8, i4, 0);
3324 try testArgs(u16, i4, -1 << 3);
3325 try testArgs(u16, i4, -1);
3326 try testArgs(u16, i4, 0);
3327 try testArgs(u32, i4, -1 << 3);
3328 try testArgs(u32, i4, -1);
3329 try testArgs(u32, i4, 0);
3330 try testArgs(u64, i4, -1 << 3);
3331 try testArgs(u64, i4, -1);
3332 try testArgs(u64, i4, 0);
3333 try testArgs(u128, i4, -1 << 3);
3334 try testArgs(u128, i4, -1);
3335 try testArgs(u128, i4, 0);
3336 try testArgs(u256, i4, -1 << 3);
3337 try testArgs(u256, i4, -1);
3338 try testArgs(u256, i4, 0);
3339 try testArgs(u512, i4, -1 << 3);
3340 try testArgs(u512, i4, -1);
3341 try testArgs(u512, i4, 0);
3342 try testArgs(u1024, i4, -1 << 3);
3343 try testArgs(u1024, i4, -1);
3344 try testArgs(u1024, i4, 0);
3345 try testArgs(i8, u4, 0);
3346 try testArgs(i8, u4, 1 << 0);
3347 try testArgs(i8, u4, 1 << 3);
3348 try testArgs(i16, u4, 0);
3349 try testArgs(i16, u4, 1 << 0);
3350 try testArgs(i16, u4, 1 << 3);
3351 try testArgs(i32, u4, 0);
3352 try testArgs(i32, u4, 1 << 0);
3353 try testArgs(i32, u4, 1 << 3);
3354 try testArgs(i64, u4, 0);
3355 try testArgs(i64, u4, 1 << 0);
3356 try testArgs(i64, u4, 1 << 3);
3357 try testArgs(i128, u4, 0);
3358 try testArgs(i128, u4, 1 << 0);
3359 try testArgs(i128, u4, 1 << 3);
3360 try testArgs(i256, u4, 0);
3361 try testArgs(i256, u4, 1 << 0);
3362 try testArgs(i256, u4, 1 << 3);
3363 try testArgs(i512, u4, 0);
3364 try testArgs(i512, u4, 1 << 0);
3365 try testArgs(i512, u4, 1 << 3);
3366 try testArgs(i1024, u4, 0);
3367 try testArgs(i1024, u4, 1 << 0);
3368 try testArgs(i1024, u4, 1 << 3);
3369
3370 try testArgs(u8, i5, -1 << 4);
3371 try testArgs(u8, i5, -1);
3372 try testArgs(u8, i5, 0);
3373 try testArgs(u16, i5, -1 << 4);
3374 try testArgs(u16, i5, -1);
3375 try testArgs(u16, i5, 0);
3376 try testArgs(u32, i5, -1 << 4);
3377 try testArgs(u32, i5, -1);
3378 try testArgs(u32, i5, 0);
3379 try testArgs(u64, i5, -1 << 4);
3380 try testArgs(u64, i5, -1);
3381 try testArgs(u64, i5, 0);
3382 try testArgs(u128, i5, -1 << 4);
3383 try testArgs(u128, i5, -1);
3384 try testArgs(u128, i5, 0);
3385 try testArgs(u256, i5, -1 << 4);
3386 try testArgs(u256, i5, -1);
3387 try testArgs(u256, i5, 0);
3388 try testArgs(u512, i5, -1 << 4);
3389 try testArgs(u512, i5, -1);
3390 try testArgs(u512, i5, 0);
3391 try testArgs(u1024, i5, -1 << 4);
3392 try testArgs(u1024, i5, -1);
3393 try testArgs(u1024, i5, 0);
3394 try testArgs(i8, u5, 0);
3395 try testArgs(i8, u5, 1 << 0);
3396 try testArgs(i8, u5, 1 << 4);
3397 try testArgs(i16, u5, 0);
3398 try testArgs(i16, u5, 1 << 0);
3399 try testArgs(i16, u5, 1 << 4);
3400 try testArgs(i32, u5, 0);
3401 try testArgs(i32, u5, 1 << 0);
3402 try testArgs(i32, u5, 1 << 4);
3403 try testArgs(i64, u5, 0);
3404 try testArgs(i64, u5, 1 << 0);
3405 try testArgs(i64, u5, 1 << 4);
3406 try testArgs(i128, u5, 0);
3407 try testArgs(i128, u5, 1 << 0);
3408 try testArgs(i128, u5, 1 << 4);
3409 try testArgs(i256, u5, 0);
3410 try testArgs(i256, u5, 1 << 0);
3411 try testArgs(i256, u5, 1 << 4);
3412 try testArgs(i512, u5, 0);
3413 try testArgs(i512, u5, 1 << 0);
3414 try testArgs(i512, u5, 1 << 4);
3415 try testArgs(i1024, u5, 0);
3416 try testArgs(i1024, u5, 1 << 0);
3417 try testArgs(i1024, u5, 1 << 4);
3418
3419 try testArgs(u8, i7, -1 << 6);
3420 try testArgs(u8, i7, -1);
3421 try testArgs(u8, i7, 0);
3422 try testArgs(u16, i7, -1 << 6);
3423 try testArgs(u16, i7, -1);
3424 try testArgs(u16, i7, 0);
3425 try testArgs(u32, i7, -1 << 6);
3426 try testArgs(u32, i7, -1);
3427 try testArgs(u32, i7, 0);
3428 try testArgs(u64, i7, -1 << 6);
3429 try testArgs(u64, i7, -1);
3430 try testArgs(u64, i7, 0);
3431 try testArgs(u128, i7, -1 << 6);
3432 try testArgs(u128, i7, -1);
3433 try testArgs(u128, i7, 0);
3434 try testArgs(u256, i7, -1 << 6);
3435 try testArgs(u256, i7, -1);
3436 try testArgs(u256, i7, 0);
3437 try testArgs(u512, i7, -1 << 6);
3438 try testArgs(u512, i7, -1);
3439 try testArgs(u512, i7, 0);
3440 try testArgs(u1024, i7, -1 << 6);
3441 try testArgs(u1024, i7, -1);
3442 try testArgs(u1024, i7, 0);
3443 try testArgs(i8, u7, 0);
3444 try testArgs(i8, u7, 1 << 0);
3445 try testArgs(i8, u7, 1 << 6);
3446 try testArgs(i16, u7, 0);
3447 try testArgs(i16, u7, 1 << 0);
3448 try testArgs(i16, u7, 1 << 6);
3449 try testArgs(i32, u7, 0);
3450 try testArgs(i32, u7, 1 << 0);
3451 try testArgs(i32, u7, 1 << 6);
3452 try testArgs(i64, u7, 0);
3453 try testArgs(i64, u7, 1 << 0);
3454 try testArgs(i64, u7, 1 << 6);
3455 try testArgs(i128, u7, 0);
3456 try testArgs(i128, u7, 1 << 0);
3457 try testArgs(i128, u7, 1 << 6);
3458 try testArgs(i256, u7, 0);
3459 try testArgs(i256, u7, 1 << 0);
3460 try testArgs(i256, u7, 1 << 6);
3461 try testArgs(i512, u7, 0);
3462 try testArgs(i512, u7, 1 << 0);
3463 try testArgs(i512, u7, 1 << 6);
3464 try testArgs(i1024, u7, 0);
3465 try testArgs(i1024, u7, 1 << 0);
3466 try testArgs(i1024, u7, 1 << 6);
3467
3468 try testArgs(u8, i8, -1 << 7);
3469 try testArgs(u8, i8, -1);
3470 try testArgs(u8, i8, 0);
3471 try testArgs(u16, i8, -1 << 7);
3472 try testArgs(u16, i8, -1);
3473 try testArgs(u16, i8, 0);
3474 try testArgs(u32, i8, -1 << 7);
3475 try testArgs(u32, i8, -1);
3476 try testArgs(u32, i8, 0);
3477 try testArgs(u64, i8, -1 << 7);
3478 try testArgs(u64, i8, -1);
3479 try testArgs(u64, i8, 0);
3480 try testArgs(u128, i8, -1 << 7);
3481 try testArgs(u128, i8, -1);
3482 try testArgs(u128, i8, 0);
3483 try testArgs(u256, i8, -1 << 7);
3484 try testArgs(u256, i8, -1);
3485 try testArgs(u256, i8, 0);
3486 try testArgs(u512, i8, -1 << 7);
3487 try testArgs(u512, i8, -1);
3488 try testArgs(u512, i8, 0);
3489 try testArgs(u1024, i8, -1 << 7);
3490 try testArgs(u1024, i8, -1);
3491 try testArgs(u1024, i8, 0);
3492 try testArgs(i8, u8, 0);
3493 try testArgs(i8, u8, 1 << 0);
3494 try testArgs(i8, u8, 1 << 7);
3495 try testArgs(i16, u8, 0);
3496 try testArgs(i16, u8, 1 << 0);
3497 try testArgs(i16, u8, 1 << 7);
3498 try testArgs(i32, u8, 0);
3499 try testArgs(i32, u8, 1 << 0);
3500 try testArgs(i32, u8, 1 << 7);
3501 try testArgs(i64, u8, 0);
3502 try testArgs(i64, u8, 1 << 0);
3503 try testArgs(i64, u8, 1 << 7);
3504 try testArgs(i128, u8, 0);
3505 try testArgs(i128, u8, 1 << 0);
3506 try testArgs(i128, u8, 1 << 7);
3507 try testArgs(i256, u8, 0);
3508 try testArgs(i256, u8, 1 << 0);
3509 try testArgs(i256, u8, 1 << 7);
3510 try testArgs(i512, u8, 0);
3511 try testArgs(i512, u8, 1 << 0);
3512 try testArgs(i512, u8, 1 << 7);
3513 try testArgs(i1024, u8, 0);
3514 try testArgs(i1024, u8, 1 << 0);
3515 try testArgs(i1024, u8, 1 << 7);
3516
3517 try testArgs(u8, i9, -1 << 8);
3518 try testArgs(u8, i9, -1);
3519 try testArgs(u8, i9, 0);
3520 try testArgs(u16, i9, -1 << 8);
3521 try testArgs(u16, i9, -1);
3522 try testArgs(u16, i9, 0);
3523 try testArgs(u32, i9, -1 << 8);
3524 try testArgs(u32, i9, -1);
3525 try testArgs(u32, i9, 0);
3526 try testArgs(u64, i9, -1 << 8);
3527 try testArgs(u64, i9, -1);
3528 try testArgs(u64, i9, 0);
3529 try testArgs(u128, i9, -1 << 8);
3530 try testArgs(u128, i9, -1);
3531 try testArgs(u128, i9, 0);
3532 try testArgs(u256, i9, -1 << 8);
3533 try testArgs(u256, i9, -1);
3534 try testArgs(u256, i9, 0);
3535 try testArgs(u512, i9, -1 << 8);
3536 try testArgs(u512, i9, -1);
3537 try testArgs(u512, i9, 0);
3538 try testArgs(u1024, i9, -1 << 8);
3539 try testArgs(u1024, i9, -1);
3540 try testArgs(u1024, i9, 0);
3541 try testArgs(i8, u9, 0);
3542 try testArgs(i8, u9, 1 << 0);
3543 try testArgs(i8, u9, 1 << 8);
3544 try testArgs(i16, u9, 0);
3545 try testArgs(i16, u9, 1 << 0);
3546 try testArgs(i16, u9, 1 << 8);
3547 try testArgs(i32, u9, 0);
3548 try testArgs(i32, u9, 1 << 0);
3549 try testArgs(i32, u9, 1 << 8);
3550 try testArgs(i64, u9, 0);
3551 try testArgs(i64, u9, 1 << 0);
3552 try testArgs(i64, u9, 1 << 8);
3553 try testArgs(i128, u9, 0);
3554 try testArgs(i128, u9, 1 << 0);
3555 try testArgs(i128, u9, 1 << 8);
3556 try testArgs(i256, u9, 0);
3557 try testArgs(i256, u9, 1 << 0);
3558 try testArgs(i256, u9, 1 << 8);
3559 try testArgs(i512, u9, 0);
3560 try testArgs(i512, u9, 1 << 0);
3561 try testArgs(i512, u9, 1 << 8);
3562 try testArgs(i1024, u9, 0);
3563 try testArgs(i1024, u9, 1 << 0);
3564 try testArgs(i1024, u9, 1 << 8);
3565
3566 try testArgs(u8, i15, -1 << 14);
3567 try testArgs(u8, i15, -1);
3568 try testArgs(u8, i15, 0);
3569 try testArgs(u16, i15, -1 << 14);
3570 try testArgs(u16, i15, -1);
3571 try testArgs(u16, i15, 0);
3572 try testArgs(u32, i15, -1 << 14);
3573 try testArgs(u32, i15, -1);
3574 try testArgs(u32, i15, 0);
3575 try testArgs(u64, i15, -1 << 14);
3576 try testArgs(u64, i15, -1);
3577 try testArgs(u64, i15, 0);
3578 try testArgs(u128, i15, -1 << 14);
3579 try testArgs(u128, i15, -1);
3580 try testArgs(u128, i15, 0);
3581 try testArgs(u256, i15, -1 << 14);
3582 try testArgs(u256, i15, -1);
3583 try testArgs(u256, i15, 0);
3584 try testArgs(u512, i15, -1 << 14);
3585 try testArgs(u512, i15, -1);
3586 try testArgs(u512, i15, 0);
3587 try testArgs(u1024, i15, -1 << 14);
3588 try testArgs(u1024, i15, -1);
3589 try testArgs(u1024, i15, 0);
3590 try testArgs(i8, u15, 0);
3591 try testArgs(i8, u15, 1 << 0);
3592 try testArgs(i8, u15, 1 << 14);
3593 try testArgs(i16, u15, 0);
3594 try testArgs(i16, u15, 1 << 0);
3595 try testArgs(i16, u15, 1 << 14);
3596 try testArgs(i32, u15, 0);
3597 try testArgs(i32, u15, 1 << 0);
3598 try testArgs(i32, u15, 1 << 14);
3599 try testArgs(i64, u15, 0);
3600 try testArgs(i64, u15, 1 << 0);
3601 try testArgs(i64, u15, 1 << 14);
3602 try testArgs(i128, u15, 0);
3603 try testArgs(i128, u15, 1 << 0);
3604 try testArgs(i128, u15, 1 << 14);
3605 try testArgs(i256, u15, 0);
3606 try testArgs(i256, u15, 1 << 0);
3607 try testArgs(i256, u15, 1 << 14);
3608 try testArgs(i512, u15, 0);
3609 try testArgs(i512, u15, 1 << 0);
3610 try testArgs(i512, u15, 1 << 14);
3611 try testArgs(i1024, u15, 0);
3612 try testArgs(i1024, u15, 1 << 0);
3613 try testArgs(i1024, u15, 1 << 14);
3614
3615 try testArgs(u8, i16, -1 << 15);
3616 try testArgs(u8, i16, -1);
3617 try testArgs(u8, i16, 0);
3618 try testArgs(u16, i16, -1 << 15);
3619 try testArgs(u16, i16, -1);
3620 try testArgs(u16, i16, 0);
3621 try testArgs(u32, i16, -1 << 15);
3622 try testArgs(u32, i16, -1);
3623 try testArgs(u32, i16, 0);
3624 try testArgs(u64, i16, -1 << 15);
3625 try testArgs(u64, i16, -1);
3626 try testArgs(u64, i16, 0);
3627 try testArgs(u128, i16, -1 << 15);
3628 try testArgs(u128, i16, -1);
3629 try testArgs(u128, i16, 0);
3630 try testArgs(u256, i16, -1 << 15);
3631 try testArgs(u256, i16, -1);
3632 try testArgs(u256, i16, 0);
3633 try testArgs(u512, i16, -1 << 15);
3634 try testArgs(u512, i16, -1);
3635 try testArgs(u512, i16, 0);
3636 try testArgs(u1024, i16, -1 << 15);
3637 try testArgs(u1024, i16, -1);
3638 try testArgs(u1024, i16, 0);
3639 try testArgs(i8, u16, 0);
3640 try testArgs(i8, u16, 1 << 0);
3641 try testArgs(i8, u16, 1 << 15);
3642 try testArgs(i16, u16, 0);
3643 try testArgs(i16, u16, 1 << 0);
3644 try testArgs(i16, u16, 1 << 15);
3645 try testArgs(i32, u16, 0);
3646 try testArgs(i32, u16, 1 << 0);
3647 try testArgs(i32, u16, 1 << 15);
3648 try testArgs(i64, u16, 0);
3649 try testArgs(i64, u16, 1 << 0);
3650 try testArgs(i64, u16, 1 << 15);
3651 try testArgs(i128, u16, 0);
3652 try testArgs(i128, u16, 1 << 0);
3653 try testArgs(i128, u16, 1 << 15);
3654 try testArgs(i256, u16, 0);
3655 try testArgs(i256, u16, 1 << 0);
3656 try testArgs(i256, u16, 1 << 15);
3657 try testArgs(i512, u16, 0);
3658 try testArgs(i512, u16, 1 << 0);
3659 try testArgs(i512, u16, 1 << 15);
3660 try testArgs(i1024, u16, 0);
3661 try testArgs(i1024, u16, 1 << 0);
3662 try testArgs(i1024, u16, 1 << 15);
3663
3664 try testArgs(u8, i17, -1 << 16);
3665 try testArgs(u8, i17, -1);
3666 try testArgs(u8, i17, 0);
3667 try testArgs(u16, i17, -1 << 16);
3668 try testArgs(u16, i17, -1);
3669 try testArgs(u16, i17, 0);
3670 try testArgs(u32, i17, -1 << 16);
3671 try testArgs(u32, i17, -1);
3672 try testArgs(u32, i17, 0);
3673 try testArgs(u64, i17, -1 << 16);
3674 try testArgs(u64, i17, -1);
3675 try testArgs(u64, i17, 0);
3676 try testArgs(u128, i17, -1 << 16);
3677 try testArgs(u128, i17, -1);
3678 try testArgs(u128, i17, 0);
3679 try testArgs(u256, i17, -1 << 16);
3680 try testArgs(u256, i17, -1);
3681 try testArgs(u256, i17, 0);
3682 try testArgs(u512, i17, -1 << 16);
3683 try testArgs(u512, i17, -1);
3684 try testArgs(u512, i17, 0);
3685 try testArgs(u1024, i17, -1 << 16);
3686 try testArgs(u1024, i17, -1);
3687 try testArgs(u1024, i17, 0);
3688 try testArgs(i8, u17, 0);
3689 try testArgs(i8, u17, 1 << 0);
3690 try testArgs(i8, u17, 1 << 16);
3691 try testArgs(i16, u17, 0);
3692 try testArgs(i16, u17, 1 << 0);
3693 try testArgs(i16, u17, 1 << 16);
3694 try testArgs(i32, u17, 0);
3695 try testArgs(i32, u17, 1 << 0);
3696 try testArgs(i32, u17, 1 << 16);
3697 try testArgs(i64, u17, 0);
3698 try testArgs(i64, u17, 1 << 0);
3699 try testArgs(i64, u17, 1 << 16);
3700 try testArgs(i128, u17, 0);
3701 try testArgs(i128, u17, 1 << 0);
3702 try testArgs(i128, u17, 1 << 16);
3703 try testArgs(i256, u17, 0);
3704 try testArgs(i256, u17, 1 << 0);
3705 try testArgs(i256, u17, 1 << 16);
3706 try testArgs(i512, u17, 0);
3707 try testArgs(i512, u17, 1 << 0);
3708 try testArgs(i512, u17, 1 << 16);
3709 try testArgs(i1024, u17, 0);
3710 try testArgs(i1024, u17, 1 << 0);
3711 try testArgs(i1024, u17, 1 << 16);
3712
3713 try testArgs(u8, i31, -1 << 30);
3714 try testArgs(u8, i31, -1);
3715 try testArgs(u8, i31, 0);
3716 try testArgs(u16, i31, -1 << 30);
3717 try testArgs(u16, i31, -1);
3718 try testArgs(u16, i31, 0);
3719 try testArgs(u32, i31, -1 << 30);
3720 try testArgs(u32, i31, -1);
3721 try testArgs(u32, i31, 0);
3722 try testArgs(u64, i31, -1 << 30);
3723 try testArgs(u64, i31, -1);
3724 try testArgs(u64, i31, 0);
3725 try testArgs(u128, i31, -1 << 30);
3726 try testArgs(u128, i31, -1);
3727 try testArgs(u128, i31, 0);
3728 try testArgs(u256, i31, -1 << 30);
3729 try testArgs(u256, i31, -1);
3730 try testArgs(u256, i31, 0);
3731 try testArgs(u512, i31, -1 << 30);
3732 try testArgs(u512, i31, -1);
3733 try testArgs(u512, i31, 0);
3734 try testArgs(u1024, i31, -1 << 30);
3735 try testArgs(u1024, i31, -1);
3736 try testArgs(u1024, i31, 0);
3737 try testArgs(i8, u31, 0);
3738 try testArgs(i8, u31, 1 << 0);
3739 try testArgs(i8, u31, 1 << 30);
3740 try testArgs(i16, u31, 0);
3741 try testArgs(i16, u31, 1 << 0);
3742 try testArgs(i16, u31, 1 << 30);
3743 try testArgs(i32, u31, 0);
3744 try testArgs(i32, u31, 1 << 0);
3745 try testArgs(i32, u31, 1 << 30);
3746 try testArgs(i64, u31, 0);
3747 try testArgs(i64, u31, 1 << 0);
3748 try testArgs(i64, u31, 1 << 30);
3749 try testArgs(i128, u31, 0);
3750 try testArgs(i128, u31, 1 << 0);
3751 try testArgs(i128, u31, 1 << 30);
3752 try testArgs(i256, u31, 0);
3753 try testArgs(i256, u31, 1 << 0);
3754 try testArgs(i256, u31, 1 << 30);
3755 try testArgs(i512, u31, 0);
3756 try testArgs(i512, u31, 1 << 0);
3757 try testArgs(i512, u31, 1 << 30);
3758 try testArgs(i1024, u31, 0);
3759 try testArgs(i1024, u31, 1 << 0);
3760 try testArgs(i1024, u31, 1 << 30);
3761
3762 try testArgs(u8, i32, -1 << 31);
3763 try testArgs(u8, i32, -1);
3764 try testArgs(u8, i32, 0);
3765 try testArgs(u16, i32, -1 << 31);
3766 try testArgs(u16, i32, -1);
3767 try testArgs(u16, i32, 0);
3768 try testArgs(u32, i32, -1 << 31);
3769 try testArgs(u32, i32, -1);
3770 try testArgs(u32, i32, 0);
3771 try testArgs(u64, i32, -1 << 31);
3772 try testArgs(u64, i32, -1);
3773 try testArgs(u64, i32, 0);
3774 try testArgs(u128, i32, -1 << 31);
3775 try testArgs(u128, i32, -1);
3776 try testArgs(u128, i32, 0);
3777 try testArgs(u256, i32, -1 << 31);
3778 try testArgs(u256, i32, -1);
3779 try testArgs(u256, i32, 0);
3780 try testArgs(u512, i32, -1 << 31);
3781 try testArgs(u512, i32, -1);
3782 try testArgs(u512, i32, 0);
3783 try testArgs(u1024, i32, -1 << 31);
3784 try testArgs(u1024, i32, -1);
3785 try testArgs(u1024, i32, 0);
3786 try testArgs(i8, u32, 0);
3787 try testArgs(i8, u32, 1 << 0);
3788 try testArgs(i8, u32, 1 << 31);
3789 try testArgs(i16, u32, 0);
3790 try testArgs(i16, u32, 1 << 0);
3791 try testArgs(i16, u32, 1 << 31);
3792 try testArgs(i32, u32, 0);
3793 try testArgs(i32, u32, 1 << 0);
3794 try testArgs(i32, u32, 1 << 31);
3795 try testArgs(i64, u32, 0);
3796 try testArgs(i64, u32, 1 << 0);
3797 try testArgs(i64, u32, 1 << 31);
3798 try testArgs(i128, u32, 0);
3799 try testArgs(i128, u32, 1 << 0);
3800 try testArgs(i128, u32, 1 << 31);
3801 try testArgs(i256, u32, 0);
3802 try testArgs(i256, u32, 1 << 0);
3803 try testArgs(i256, u32, 1 << 31);
3804 try testArgs(i512, u32, 0);
3805 try testArgs(i512, u32, 1 << 0);
3806 try testArgs(i512, u32, 1 << 31);
3807 try testArgs(i1024, u32, 0);
3808 try testArgs(i1024, u32, 1 << 0);
3809 try testArgs(i1024, u32, 1 << 31);
3810
3811 try testArgs(u8, i33, -1 << 32);
3812 try testArgs(u8, i33, -1);
3813 try testArgs(u8, i33, 0);
3814 try testArgs(u16, i33, -1 << 32);
3815 try testArgs(u16, i33, -1);
3816 try testArgs(u16, i33, 0);
3817 try testArgs(u32, i33, -1 << 32);
3818 try testArgs(u32, i33, -1);
3819 try testArgs(u32, i33, 0);
3820 try testArgs(u64, i33, -1 << 32);
3821 try testArgs(u64, i33, -1);
3822 try testArgs(u64, i33, 0);
3823 try testArgs(u128, i33, -1 << 32);
3824 try testArgs(u128, i33, -1);
3825 try testArgs(u128, i33, 0);
3826 try testArgs(u256, i33, -1 << 32);
3827 try testArgs(u256, i33, -1);
3828 try testArgs(u256, i33, 0);
3829 try testArgs(u512, i33, -1 << 32);
3830 try testArgs(u512, i33, -1);
3831 try testArgs(u512, i33, 0);
3832 try testArgs(u1024, i33, -1 << 32);
3833 try testArgs(u1024, i33, -1);
3834 try testArgs(u1024, i33, 0);
3835 try testArgs(i8, u33, 0);
3836 try testArgs(i8, u33, 1 << 0);
3837 try testArgs(i8, u33, 1 << 32);
3838 try testArgs(i16, u33, 0);
3839 try testArgs(i16, u33, 1 << 0);
3840 try testArgs(i16, u33, 1 << 32);
3841 try testArgs(i32, u33, 0);
3842 try testArgs(i32, u33, 1 << 0);
3843 try testArgs(i32, u33, 1 << 32);
3844 try testArgs(i64, u33, 0);
3845 try testArgs(i64, u33, 1 << 0);
3846 try testArgs(i64, u33, 1 << 32);
3847 try testArgs(i128, u33, 0);
3848 try testArgs(i128, u33, 1 << 0);
3849 try testArgs(i128, u33, 1 << 32);
3850 try testArgs(i256, u33, 0);
3851 try testArgs(i256, u33, 1 << 0);
3852 try testArgs(i256, u33, 1 << 32);
3853 try testArgs(i512, u33, 0);
3854 try testArgs(i512, u33, 1 << 0);
3855 try testArgs(i512, u33, 1 << 32);
3856 try testArgs(i1024, u33, 0);
3857 try testArgs(i1024, u33, 1 << 0);
3858 try testArgs(i1024, u33, 1 << 32);
3859
3860 try testArgs(u8, i63, -1 << 62);
3861 try testArgs(u8, i63, -1);
3862 try testArgs(u8, i63, 0);
3863 try testArgs(u16, i63, -1 << 62);
3864 try testArgs(u16, i63, -1);
3865 try testArgs(u16, i63, 0);
3866 try testArgs(u32, i63, -1 << 62);
3867 try testArgs(u32, i63, -1);
3868 try testArgs(u32, i63, 0);
3869 try testArgs(u64, i63, -1 << 62);
3870 try testArgs(u64, i63, -1);
3871 try testArgs(u64, i63, 0);
3872 try testArgs(u128, i63, -1 << 62);
3873 try testArgs(u128, i63, -1);
3874 try testArgs(u128, i63, 0);
3875 try testArgs(u256, i63, -1 << 62);
3876 try testArgs(u256, i63, -1);
3877 try testArgs(u256, i63, 0);
3878 try testArgs(u512, i63, -1 << 62);
3879 try testArgs(u512, i63, -1);
3880 try testArgs(u512, i63, 0);
3881 try testArgs(u1024, i63, -1 << 62);
3882 try testArgs(u1024, i63, -1);
3883 try testArgs(u1024, i63, 0);
3884 try testArgs(i8, u63, 0);
3885 try testArgs(i8, u63, 1 << 0);
3886 try testArgs(i8, u63, 1 << 62);
3887 try testArgs(i16, u63, 0);
3888 try testArgs(i16, u63, 1 << 0);
3889 try testArgs(i16, u63, 1 << 62);
3890 try testArgs(i32, u63, 0);
3891 try testArgs(i32, u63, 1 << 0);
3892 try testArgs(i32, u63, 1 << 62);
3893 try testArgs(i64, u63, 0);
3894 try testArgs(i64, u63, 1 << 0);
3895 try testArgs(i64, u63, 1 << 62);
3896 try testArgs(i128, u63, 0);
3897 try testArgs(i128, u63, 1 << 0);
3898 try testArgs(i128, u63, 1 << 62);
3899 try testArgs(i256, u63, 0);
3900 try testArgs(i256, u63, 1 << 0);
3901 try testArgs(i256, u63, 1 << 62);
3902 try testArgs(i512, u63, 0);
3903 try testArgs(i512, u63, 1 << 0);
3904 try testArgs(i512, u63, 1 << 62);
3905 try testArgs(i1024, u63, 0);
3906 try testArgs(i1024, u63, 1 << 0);
3907 try testArgs(i1024, u63, 1 << 62);
3908
3909 try testArgs(u8, i64, -1 << 63);
3910 try testArgs(u8, i64, -1);
3911 try testArgs(u8, i64, 0);
3912 try testArgs(u16, i64, -1 << 63);
3913 try testArgs(u16, i64, -1);
3914 try testArgs(u16, i64, 0);
3122 try testArgs(u32, i64, -1 << 63);3915 try testArgs(u32, i64, -1 << 63);
3123 try testArgs(u32, i64, -1);3916 try testArgs(u32, i64, -1);
3124 try testArgs(u32, i64, 0);3917 try testArgs(u32, i64, 0);
3125 try testArgs(i64, i64, -1 << 63);
3126 try testArgs(i64, i64, -1);
3127 try testArgs(i64, i64, 0);
3128 try testArgs(u64, i64, -1 << 63);3918 try testArgs(u64, i64, -1 << 63);
3129 try testArgs(u64, i64, -1);3919 try testArgs(u64, i64, -1);
3130 try testArgs(u64, i64, 0);3920 try testArgs(u64, i64, 0);
3131 try testArgs(i128, i64, -1 << 63);
3132 try testArgs(i128, i64, -1);
3133 try testArgs(i128, i64, 0);
3134 try testArgs(u128, i64, -1 << 63);3921 try testArgs(u128, i64, -1 << 63);
3135 try testArgs(u128, i64, -1);3922 try testArgs(u128, i64, -1);
3136 try testArgs(u128, i64, 0);3923 try testArgs(u128, i64, 0);
3137 try testArgs(i256, i64, -1 << 63);
3138 try testArgs(i256, i64, -1);
3139 try testArgs(i256, i64, 0);
3140 try testArgs(u256, i64, -1 << 63);3924 try testArgs(u256, i64, -1 << 63);
3141 try testArgs(u256, i64, -1);3925 try testArgs(u256, i64, -1);
3142 try testArgs(u256, i64, 0);3926 try testArgs(u256, i64, 0);
3143 try testArgs(i512, i64, -1 << 63);
3144 try testArgs(i512, i64, -1);
3145 try testArgs(i512, i64, 0);
3146 try testArgs(u512, i64, -1 << 63);3927 try testArgs(u512, i64, -1 << 63);
3147 try testArgs(u512, i64, -1);3928 try testArgs(u512, i64, -1);
3148 try testArgs(u512, i64, 0);3929 try testArgs(u512, i64, 0);
3149 try testArgs(i1024, i64, -1 << 63);
3150 try testArgs(i1024, i64, -1);
3151 try testArgs(i1024, i64, 0);
3152 try testArgs(u1024, i64, -1 << 63);3930 try testArgs(u1024, i64, -1 << 63);
3153 try testArgs(u1024, i64, -1);3931 try testArgs(u1024, i64, -1);
3154 try testArgs(u1024, i64, 0);3932 try testArgs(u1024, i64, 0);
3155 try testArgs(i8, u64, 0);3933 try testArgs(i8, u64, 0);
3156 try testArgs(i8, u64, 1 << 0);3934 try testArgs(i8, u64, 1 << 0);
3157 try testArgs(i8, u64, 1 << 63);3935 try testArgs(i8, u64, 1 << 63);
3158 try testArgs(u8, u64, 0);
3159 try testArgs(u8, u64, 1 << 0);
3160 try testArgs(u8, u64, 1 << 63);
3161 try testArgs(i16, u64, 0);3936 try testArgs(i16, u64, 0);
3162 try testArgs(i16, u64, 1 << 0);3937 try testArgs(i16, u64, 1 << 0);
3163 try testArgs(i16, u64, 1 << 63);3938 try testArgs(i16, u64, 1 << 63);
3164 try testArgs(u16, u64, 0);
3165 try testArgs(u16, u64, 1 << 0);
3166 try testArgs(u16, u64, 1 << 63);
3167 try testArgs(i32, u64, 0);3939 try testArgs(i32, u64, 0);
3168 try testArgs(i32, u64, 1 << 0);3940 try testArgs(i32, u64, 1 << 0);
3169 try testArgs(i32, u64, 1 << 63);3941 try testArgs(i32, u64, 1 << 63);
3170 try testArgs(u32, u64, 0);
3171 try testArgs(u32, u64, 1 << 0);
3172 try testArgs(u32, u64, 1 << 63);
3173 try testArgs(i64, u64, 0);3942 try testArgs(i64, u64, 0);
3174 try testArgs(i64, u64, 1 << 0);3943 try testArgs(i64, u64, 1 << 0);
3175 try testArgs(i64, u64, 1 << 63);3944 try testArgs(i64, u64, 1 << 63);
3176 try testArgs(u64, u64, 0);
3177 try testArgs(u64, u64, 1 << 0);
3178 try testArgs(u64, u64, 1 << 63);
3179 try testArgs(i128, u64, 0);3945 try testArgs(i128, u64, 0);
3180 try testArgs(i128, u64, 1 << 0);3946 try testArgs(i128, u64, 1 << 0);
3181 try testArgs(i128, u64, 1 << 63);3947 try testArgs(i128, u64, 1 << 63);
3182 try testArgs(u128, u64, 0);
3183 try testArgs(u128, u64, 1 << 0);
3184 try testArgs(u128, u64, 1 << 63);
3185 try testArgs(i256, u64, 0);3948 try testArgs(i256, u64, 0);
3186 try testArgs(i256, u64, 1 << 0);3949 try testArgs(i256, u64, 1 << 0);
3187 try testArgs(i256, u64, 1 << 63);3950 try testArgs(i256, u64, 1 << 63);
3188 try testArgs(u256, u64, 0);
3189 try testArgs(u256, u64, 1 << 0);
3190 try testArgs(u256, u64, 1 << 63);
3191 try testArgs(i512, u64, 0);3951 try testArgs(i512, u64, 0);
3192 try testArgs(i512, u64, 1 << 0);3952 try testArgs(i512, u64, 1 << 0);
3193 try testArgs(i512, u64, 1 << 63);3953 try testArgs(i512, u64, 1 << 63);
3194 try testArgs(u512, u64, 0);
3195 try testArgs(u512, u64, 1 << 0);
3196 try testArgs(u512, u64, 1 << 63);
3197 try testArgs(i1024, u64, 0);3954 try testArgs(i1024, u64, 0);
3198 try testArgs(i1024, u64, 1 << 0);3955 try testArgs(i1024, u64, 1 << 0);
3199 try testArgs(i1024, u64, 1 << 63);3956 try testArgs(i1024, u64, 1 << 63);
3200 try testArgs(u1024, u64, 0);
3201 try testArgs(u1024, u64, 1 << 0);
3202 try testArgs(u1024, u64, 1 << 63);
32033957
3204 try testArgs(i8, i65, -1 << 64);
3205 try testArgs(i8, i65, -1);
3206 try testArgs(i8, i65, 0);
3207 try testArgs(u8, i65, -1 << 64);3958 try testArgs(u8, i65, -1 << 64);
3208 try testArgs(u8, i65, -1);3959 try testArgs(u8, i65, -1);
3209 try testArgs(u8, i65, 0);3960 try testArgs(u8, i65, 0);
3210 try testArgs(i16, i65, -1 << 64);
3211 try testArgs(i16, i65, -1);
3212 try testArgs(i16, i65, 0);
3213 try testArgs(u16, i65, -1 << 64);3961 try testArgs(u16, i65, -1 << 64);
3214 try testArgs(u16, i65, -1);3962 try testArgs(u16, i65, -1);
3215 try testArgs(u16, i65, 0);3963 try testArgs(u16, i65, 0);
3216 try testArgs(i32, i65, -1 << 64);
3217 try testArgs(i32, i65, -1);
3218 try testArgs(i32, i65, 0);
3219 try testArgs(u32, i65, -1 << 64);3964 try testArgs(u32, i65, -1 << 64);
3220 try testArgs(u32, i65, -1);3965 try testArgs(u32, i65, -1);
3221 try testArgs(u32, i65, 0);3966 try testArgs(u32, i65, 0);
3222 try testArgs(i64, i65, -1 << 64);
3223 try testArgs(i64, i65, -1);
3224 try testArgs(i64, i65, 0);
3225 try testArgs(u64, i65, -1 << 64);3967 try testArgs(u64, i65, -1 << 64);
3226 try testArgs(u64, i65, -1);3968 try testArgs(u64, i65, -1);
3227 try testArgs(u64, i65, 0);3969 try testArgs(u64, i65, 0);
3228 try testArgs(i128, i65, -1 << 64);
3229 try testArgs(i128, i65, -1);
3230 try testArgs(i128, i65, 0);
3231 try testArgs(u128, i65, -1 << 64);3970 try testArgs(u128, i65, -1 << 64);
3232 try testArgs(u128, i65, -1);3971 try testArgs(u128, i65, -1);
3233 try testArgs(u128, i65, 0);3972 try testArgs(u128, i65, 0);
3234 try testArgs(i256, i65, -1 << 64);
3235 try testArgs(i256, i65, -1);
3236 try testArgs(i256, i65, 0);
3237 try testArgs(u256, i65, -1 << 64);3973 try testArgs(u256, i65, -1 << 64);
3238 try testArgs(u256, i65, -1);3974 try testArgs(u256, i65, -1);
3239 try testArgs(u256, i65, 0);3975 try testArgs(u256, i65, 0);
3240 try testArgs(i512, i65, -1 << 64);
3241 try testArgs(i512, i65, -1);
3242 try testArgs(i512, i65, 0);
3243 try testArgs(u512, i65, -1 << 64);3976 try testArgs(u512, i65, -1 << 64);
3244 try testArgs(u512, i65, -1);3977 try testArgs(u512, i65, -1);
3245 try testArgs(u512, i65, 0);3978 try testArgs(u512, i65, 0);
3246 try testArgs(i1024, i65, -1 << 64);
3247 try testArgs(i1024, i65, -1);
3248 try testArgs(i1024, i65, 0);
3249 try testArgs(u1024, i65, -1 << 64);3979 try testArgs(u1024, i65, -1 << 64);
3250 try testArgs(u1024, i65, -1);3980 try testArgs(u1024, i65, -1);
3251 try testArgs(u1024, i65, 0);3981 try testArgs(u1024, i65, 0);
3252 try testArgs(i8, u65, 0);3982 try testArgs(i8, u65, 0);
3253 try testArgs(i8, u65, 1 << 0);3983 try testArgs(i8, u65, 1 << 0);
3254 try testArgs(i8, u65, 1 << 64);3984 try testArgs(i8, u65, 1 << 64);
3255 try testArgs(u8, u65, 0);
3256 try testArgs(u8, u65, 1 << 0);
3257 try testArgs(u8, u65, 1 << 64);
3258 try testArgs(i16, u65, 0);3985 try testArgs(i16, u65, 0);
3259 try testArgs(i16, u65, 1 << 0);3986 try testArgs(i16, u65, 1 << 0);
3260 try testArgs(i16, u65, 1 << 64);3987 try testArgs(i16, u65, 1 << 64);
3261 try testArgs(u16, u65, 0);
3262 try testArgs(u16, u65, 1 << 0);
3263 try testArgs(u16, u65, 1 << 64);
3264 try testArgs(i32, u65, 0);3988 try testArgs(i32, u65, 0);
3265 try testArgs(i32, u65, 1 << 0);3989 try testArgs(i32, u65, 1 << 0);
3266 try testArgs(i32, u65, 1 << 64);3990 try testArgs(i32, u65, 1 << 64);
3267 try testArgs(u32, u65, 0);
3268 try testArgs(u32, u65, 1 << 0);
3269 try testArgs(u32, u65, 1 << 64);
3270 try testArgs(i64, u65, 0);3991 try testArgs(i64, u65, 0);
3271 try testArgs(i64, u65, 1 << 0);3992 try testArgs(i64, u65, 1 << 0);
3272 try testArgs(i64, u65, 1 << 64);3993 try testArgs(i64, u65, 1 << 64);
3273 try testArgs(u64, u65, 0);
3274 try testArgs(u64, u65, 1 << 0);
3275 try testArgs(u64, u65, 1 << 64);
3276 try testArgs(i128, u65, 0);3994 try testArgs(i128, u65, 0);
3277 try testArgs(i128, u65, 1 << 0);3995 try testArgs(i128, u65, 1 << 0);
3278 try testArgs(i128, u65, 1 << 64);3996 try testArgs(i128, u65, 1 << 64);
3279 try testArgs(u128, u65, 0);
3280 try testArgs(u128, u65, 1 << 0);
3281 try testArgs(u128, u65, 1 << 64);
3282 try testArgs(i256, u65, 0);3997 try testArgs(i256, u65, 0);
3283 try testArgs(i256, u65, 1 << 0);3998 try testArgs(i256, u65, 1 << 0);
3284 try testArgs(i256, u65, 1 << 64);3999 try testArgs(i256, u65, 1 << 64);
3285 try testArgs(u256, u65, 0);
3286 try testArgs(u256, u65, 1 << 0);
3287 try testArgs(u256, u65, 1 << 64);
3288 try testArgs(i512, u65, 0);4000 try testArgs(i512, u65, 0);
3289 try testArgs(i512, u65, 1 << 0);4001 try testArgs(i512, u65, 1 << 0);
3290 try testArgs(i512, u65, 1 << 64);4002 try testArgs(i512, u65, 1 << 64);
3291 try testArgs(u512, u65, 0);
3292 try testArgs(u512, u65, 1 << 0);
3293 try testArgs(u512, u65, 1 << 64);
3294 try testArgs(i1024, u65, 0);4003 try testArgs(i1024, u65, 0);
3295 try testArgs(i1024, u65, 1 << 0);4004 try testArgs(i1024, u65, 1 << 0);
3296 try testArgs(i1024, u65, 1 << 64);4005 try testArgs(i1024, u65, 1 << 64);
3297 try testArgs(u1024, u65, 0);
3298 try testArgs(u1024, u65, 1 << 0);
3299 try testArgs(u1024, u65, 1 << 64);
33004006
3301 try testArgs(i8, i95, -1 << 94);
3302 try testArgs(i8, i95, -1);
3303 try testArgs(i8, i95, 0);
3304 try testArgs(u8, i95, -1 << 94);4007 try testArgs(u8, i95, -1 << 94);
3305 try testArgs(u8, i95, -1);4008 try testArgs(u8, i95, -1);
3306 try testArgs(u8, i95, 0);4009 try testArgs(u8, i95, 0);
3307 try testArgs(i16, i95, -1 << 94);
3308 try testArgs(i16, i95, -1);
3309 try testArgs(i16, i95, 0);
3310 try testArgs(u16, i95, -1 << 94);4010 try testArgs(u16, i95, -1 << 94);
3311 try testArgs(u16, i95, -1);4011 try testArgs(u16, i95, -1);
3312 try testArgs(u16, i95, 0);4012 try testArgs(u16, i95, 0);
3313 try testArgs(i32, i95, -1 << 94);
3314 try testArgs(i32, i95, -1);
3315 try testArgs(i32, i95, 0);
3316 try testArgs(u32, i95, -1 << 94);4013 try testArgs(u32, i95, -1 << 94);
3317 try testArgs(u32, i95, -1);4014 try testArgs(u32, i95, -1);
3318 try testArgs(u32, i95, 0);4015 try testArgs(u32, i95, 0);
3319 try testArgs(i64, i95, -1 << 94);
3320 try testArgs(i64, i95, -1);
3321 try testArgs(i64, i95, 0);
3322 try testArgs(u64, i95, -1 << 94);4016 try testArgs(u64, i95, -1 << 94);
3323 try testArgs(u64, i95, -1);4017 try testArgs(u64, i95, -1);
3324 try testArgs(u64, i95, 0);4018 try testArgs(u64, i95, 0);
3325 try testArgs(i128, i95, -1 << 94);
3326 try testArgs(i128, i95, -1);
3327 try testArgs(i128, i95, 0);
3328 try testArgs(u128, i95, -1 << 94);4019 try testArgs(u128, i95, -1 << 94);
3329 try testArgs(u128, i95, -1);4020 try testArgs(u128, i95, -1);
3330 try testArgs(u128, i95, 0);4021 try testArgs(u128, i95, 0);
3331 try testArgs(i256, i95, -1 << 94);
3332 try testArgs(i256, i95, -1);
3333 try testArgs(i256, i95, 0);
3334 try testArgs(u256, i95, -1 << 94);4022 try testArgs(u256, i95, -1 << 94);
3335 try testArgs(u256, i95, -1);4023 try testArgs(u256, i95, -1);
3336 try testArgs(u256, i95, 0);4024 try testArgs(u256, i95, 0);
3337 try testArgs(i512, i95, -1 << 94);
3338 try testArgs(i512, i95, -1);
3339 try testArgs(i512, i95, 0);
3340 try testArgs(u512, i95, -1 << 94);4025 try testArgs(u512, i95, -1 << 94);
3341 try testArgs(u512, i95, -1);4026 try testArgs(u512, i95, -1);
3342 try testArgs(u512, i95, 0);4027 try testArgs(u512, i95, 0);
3343 try testArgs(i1024, i95, -1 << 94);
3344 try testArgs(i1024, i95, -1);
3345 try testArgs(i1024, i95, 0);
3346 try testArgs(u1024, i95, -1 << 94);4028 try testArgs(u1024, i95, -1 << 94);
3347 try testArgs(u1024, i95, -1);4029 try testArgs(u1024, i95, -1);
3348 try testArgs(u1024, i95, 0);4030 try testArgs(u1024, i95, 0);
3349 try testArgs(i8, u95, 0);4031 try testArgs(i8, u95, 0);
3350 try testArgs(i8, u95, 1 << 0);4032 try testArgs(i8, u95, 1 << 0);
3351 try testArgs(i8, u95, 1 << 94);4033 try testArgs(i8, u95, 1 << 94);
3352 try testArgs(u8, u95, 0);
3353 try testArgs(u8, u95, 1 << 0);
3354 try testArgs(u8, u95, 1 << 94);
3355 try testArgs(i16, u95, 0);4034 try testArgs(i16, u95, 0);
3356 try testArgs(i16, u95, 1 << 0);4035 try testArgs(i16, u95, 1 << 0);
3357 try testArgs(i16, u95, 1 << 94);4036 try testArgs(i16, u95, 1 << 94);
3358 try testArgs(u16, u95, 0);
3359 try testArgs(u16, u95, 1 << 0);
3360 try testArgs(u16, u95, 1 << 94);
3361 try testArgs(i32, u95, 0);4037 try testArgs(i32, u95, 0);
3362 try testArgs(i32, u95, 1 << 0);4038 try testArgs(i32, u95, 1 << 0);
3363 try testArgs(i32, u95, 1 << 94);4039 try testArgs(i32, u95, 1 << 94);
3364 try testArgs(u32, u95, 0);
3365 try testArgs(u32, u95, 1 << 0);
3366 try testArgs(u32, u95, 1 << 94);
3367 try testArgs(i64, u95, 0);4040 try testArgs(i64, u95, 0);
3368 try testArgs(i64, u95, 1 << 0);4041 try testArgs(i64, u95, 1 << 0);
3369 try testArgs(i64, u95, 1 << 94);4042 try testArgs(i64, u95, 1 << 94);
3370 try testArgs(u64, u95, 0);
3371 try testArgs(u64, u95, 1 << 0);
3372 try testArgs(u64, u95, 1 << 94);
3373 try testArgs(i128, u95, 0);4043 try testArgs(i128, u95, 0);
3374 try testArgs(i128, u95, 1 << 0);4044 try testArgs(i128, u95, 1 << 0);
3375 try testArgs(i128, u95, 1 << 94);4045 try testArgs(i128, u95, 1 << 94);
3376 try testArgs(u128, u95, 0);
3377 try testArgs(u128, u95, 1 << 0);
3378 try testArgs(u128, u95, 1 << 94);
3379 try testArgs(i256, u95, 0);4046 try testArgs(i256, u95, 0);
3380 try testArgs(i256, u95, 1 << 0);4047 try testArgs(i256, u95, 1 << 0);
3381 try testArgs(i256, u95, 1 << 94);4048 try testArgs(i256, u95, 1 << 94);
3382 try testArgs(u256, u95, 0);
3383 try testArgs(u256, u95, 1 << 0);
3384 try testArgs(u256, u95, 1 << 94);
3385 try testArgs(i512, u95, 0);4049 try testArgs(i512, u95, 0);
3386 try testArgs(i512, u95, 1 << 0);4050 try testArgs(i512, u95, 1 << 0);
3387 try testArgs(i512, u95, 1 << 94);4051 try testArgs(i512, u95, 1 << 94);
3388 try testArgs(u512, u95, 0);
3389 try testArgs(u512, u95, 1 << 0);
3390 try testArgs(u512, u95, 1 << 94);
3391 try testArgs(i1024, u95, 0);4052 try testArgs(i1024, u95, 0);
3392 try testArgs(i1024, u95, 1 << 0);4053 try testArgs(i1024, u95, 1 << 0);
3393 try testArgs(i1024, u95, 1 << 94);4054 try testArgs(i1024, u95, 1 << 94);
3394 try testArgs(u1024, u95, 0);
3395 try testArgs(u1024, u95, 1 << 0);
3396 try testArgs(u1024, u95, 1 << 94);
33974055
3398 try testArgs(i8, i96, -1 << 95);
3399 try testArgs(i8, i96, -1);
3400 try testArgs(i8, i96, 0);
3401 try testArgs(u8, i96, -1 << 95);4056 try testArgs(u8, i96, -1 << 95);
3402 try testArgs(u8, i96, -1);4057 try testArgs(u8, i96, -1);
3403 try testArgs(u8, i96, 0);4058 try testArgs(u8, i96, 0);
3404 try testArgs(i16, i96, -1 << 95);
3405 try testArgs(i16, i96, -1);
3406 try testArgs(i16, i96, 0);
3407 try testArgs(u16, i96, -1 << 95);4059 try testArgs(u16, i96, -1 << 95);
3408 try testArgs(u16, i96, -1);4060 try testArgs(u16, i96, -1);
3409 try testArgs(u16, i96, 0);4061 try testArgs(u16, i96, 0);
3410 try testArgs(i32, i96, -1 << 95);
3411 try testArgs(i32, i96, -1);
3412 try testArgs(i32, i96, 0);
3413 try testArgs(u32, i96, -1 << 95);4062 try testArgs(u32, i96, -1 << 95);
3414 try testArgs(u32, i96, -1);4063 try testArgs(u32, i96, -1);
3415 try testArgs(u32, i96, 0);4064 try testArgs(u32, i96, 0);
3416 try testArgs(i64, i96, -1 << 95);
3417 try testArgs(i64, i96, -1);
3418 try testArgs(i64, i96, 0);
3419 try testArgs(u64, i96, -1 << 95);4065 try testArgs(u64, i96, -1 << 95);
3420 try testArgs(u64, i96, -1);4066 try testArgs(u64, i96, -1);
3421 try testArgs(u64, i96, 0);4067 try testArgs(u64, i96, 0);
3422 try testArgs(i128, i96, -1 << 95);
3423 try testArgs(i128, i96, -1);
3424 try testArgs(i128, i96, 0);
3425 try testArgs(u128, i96, -1 << 95);4068 try testArgs(u128, i96, -1 << 95);
3426 try testArgs(u128, i96, -1);4069 try testArgs(u128, i96, -1);
3427 try testArgs(u128, i96, 0);4070 try testArgs(u128, i96, 0);
3428 try testArgs(i256, i96, -1 << 95);
3429 try testArgs(i256, i96, -1);
3430 try testArgs(i256, i96, 0);
3431 try testArgs(u256, i96, -1 << 95);4071 try testArgs(u256, i96, -1 << 95);
3432 try testArgs(u256, i96, -1);4072 try testArgs(u256, i96, -1);
3433 try testArgs(u256, i96, 0);4073 try testArgs(u256, i96, 0);
3434 try testArgs(i512, i96, -1 << 95);
3435 try testArgs(i512, i96, -1);
3436 try testArgs(i512, i96, 0);
3437 try testArgs(u512, i96, -1 << 95);4074 try testArgs(u512, i96, -1 << 95);
3438 try testArgs(u512, i96, -1);4075 try testArgs(u512, i96, -1);
3439 try testArgs(u512, i96, 0);4076 try testArgs(u512, i96, 0);
3440 try testArgs(i1024, i96, -1 << 95);
3441 try testArgs(i1024, i96, -1);
3442 try testArgs(i1024, i96, 0);
3443 try testArgs(u1024, i96, -1 << 95);4077 try testArgs(u1024, i96, -1 << 95);
3444 try testArgs(u1024, i96, -1);4078 try testArgs(u1024, i96, -1);
3445 try testArgs(u1024, i96, 0);4079 try testArgs(u1024, i96, 0);
3446 try testArgs(i8, u96, 0);4080 try testArgs(i8, u96, 0);
3447 try testArgs(i8, u96, 1 << 0);4081 try testArgs(i8, u96, 1 << 0);
3448 try testArgs(i8, u96, 1 << 95);4082 try testArgs(i8, u96, 1 << 95);
3449 try testArgs(u8, u96, 0);
3450 try testArgs(u8, u96, 1 << 0);
3451 try testArgs(u8, u96, 1 << 95);
3452 try testArgs(i16, u96, 0);4083 try testArgs(i16, u96, 0);
3453 try testArgs(i16, u96, 1 << 0);4084 try testArgs(i16, u96, 1 << 0);
3454 try testArgs(i16, u96, 1 << 95);4085 try testArgs(i16, u96, 1 << 95);
3455 try testArgs(u16, u96, 0);
3456 try testArgs(u16, u96, 1 << 0);
3457 try testArgs(u16, u96, 1 << 95);
3458 try testArgs(i32, u96, 0);4086 try testArgs(i32, u96, 0);
3459 try testArgs(i32, u96, 1 << 0);4087 try testArgs(i32, u96, 1 << 0);
3460 try testArgs(i32, u96, 1 << 95);4088 try testArgs(i32, u96, 1 << 95);
3461 try testArgs(u32, u96, 0);
3462 try testArgs(u32, u96, 1 << 0);
3463 try testArgs(u32, u96, 1 << 95);
3464 try testArgs(i64, u96, 0);4089 try testArgs(i64, u96, 0);
3465 try testArgs(i64, u96, 1 << 0);4090 try testArgs(i64, u96, 1 << 0);
3466 try testArgs(i64, u96, 1 << 95);4091 try testArgs(i64, u96, 1 << 95);
3467 try testArgs(u64, u96, 0);
3468 try testArgs(u64, u96, 1 << 0);
3469 try testArgs(u64, u96, 1 << 95);
3470 try testArgs(i128, u96, 0);4092 try testArgs(i128, u96, 0);
3471 try testArgs(i128, u96, 1 << 0);4093 try testArgs(i128, u96, 1 << 0);
3472 try testArgs(i128, u96, 1 << 95);4094 try testArgs(i128, u96, 1 << 95);
3473 try testArgs(u128, u96, 0);
3474 try testArgs(u128, u96, 1 << 0);
3475 try testArgs(u128, u96, 1 << 95);
3476 try testArgs(i256, u96, 0);4095 try testArgs(i256, u96, 0);
3477 try testArgs(i256, u96, 1 << 0);4096 try testArgs(i256, u96, 1 << 0);
3478 try testArgs(i256, u96, 1 << 95);4097 try testArgs(i256, u96, 1 << 95);
3479 try testArgs(u256, u96, 0);
3480 try testArgs(u256, u96, 1 << 0);
3481 try testArgs(u256, u96, 1 << 95);
3482 try testArgs(i512, u96, 0);4098 try testArgs(i512, u96, 0);
3483 try testArgs(i512, u96, 1 << 0);4099 try testArgs(i512, u96, 1 << 0);
3484 try testArgs(i512, u96, 1 << 95);4100 try testArgs(i512, u96, 1 << 95);
3485 try testArgs(u512, u96, 0);
3486 try testArgs(u512, u96, 1 << 0);
3487 try testArgs(u512, u96, 1 << 95);
3488 try testArgs(i1024, u96, 0);4101 try testArgs(i1024, u96, 0);
3489 try testArgs(i1024, u96, 1 << 0);4102 try testArgs(i1024, u96, 1 << 0);
3490 try testArgs(i1024, u96, 1 << 95);4103 try testArgs(i1024, u96, 1 << 95);
3491 try testArgs(u1024, u96, 0);
3492 try testArgs(u1024, u96, 1 << 0);
3493 try testArgs(u1024, u96, 1 << 95);
34944104
3495 try testArgs(i8, i97, -1 << 96);
3496 try testArgs(i8, i97, -1);
3497 try testArgs(i8, i97, 0);
3498 try testArgs(u8, i97, -1 << 96);4105 try testArgs(u8, i97, -1 << 96);
3499 try testArgs(u8, i97, -1);4106 try testArgs(u8, i97, -1);
3500 try testArgs(u8, i97, 0);4107 try testArgs(u8, i97, 0);
3501 try testArgs(i16, i97, -1 << 96);
3502 try testArgs(i16, i97, -1);
3503 try testArgs(i16, i97, 0);
3504 try testArgs(u16, i97, -1 << 96);4108 try testArgs(u16, i97, -1 << 96);
3505 try testArgs(u16, i97, -1);4109 try testArgs(u16, i97, -1);
3506 try testArgs(u16, i97, 0);4110 try testArgs(u16, i97, 0);
3507 try testArgs(i32, i97, -1 << 96);
3508 try testArgs(i32, i97, -1);
3509 try testArgs(i32, i97, 0);
3510 try testArgs(u32, i97, -1 << 96);4111 try testArgs(u32, i97, -1 << 96);
3511 try testArgs(u32, i97, -1);4112 try testArgs(u32, i97, -1);
3512 try testArgs(u32, i97, 0);4113 try testArgs(u32, i97, 0);
3513 try testArgs(i64, i97, -1 << 96);
3514 try testArgs(i64, i97, -1);
3515 try testArgs(i64, i97, 0);
3516 try testArgs(u64, i97, -1 << 96);4114 try testArgs(u64, i97, -1 << 96);
3517 try testArgs(u64, i97, -1);4115 try testArgs(u64, i97, -1);
3518 try testArgs(u64, i97, 0);4116 try testArgs(u64, i97, 0);
3519 try testArgs(i128, i97, -1 << 96);
3520 try testArgs(i128, i97, -1);
3521 try testArgs(i128, i97, 0);
3522 try testArgs(u128, i97, -1 << 96);4117 try testArgs(u128, i97, -1 << 96);
3523 try testArgs(u128, i97, -1);4118 try testArgs(u128, i97, -1);
3524 try testArgs(u128, i97, 0);4119 try testArgs(u128, i97, 0);
3525 try testArgs(i256, i97, -1 << 96);
3526 try testArgs(i256, i97, -1);
3527 try testArgs(i256, i97, 0);
3528 try testArgs(u256, i97, -1 << 96);4120 try testArgs(u256, i97, -1 << 96);
3529 try testArgs(u256, i97, -1);4121 try testArgs(u256, i97, -1);
3530 try testArgs(u256, i97, 0);4122 try testArgs(u256, i97, 0);
3531 try testArgs(i512, i97, -1 << 96);
3532 try testArgs(i512, i97, -1);
3533 try testArgs(i512, i97, 0);
3534 try testArgs(u512, i97, -1 << 96);4123 try testArgs(u512, i97, -1 << 96);
3535 try testArgs(u512, i97, -1);4124 try testArgs(u512, i97, -1);
3536 try testArgs(u512, i97, 0);4125 try testArgs(u512, i97, 0);
3537 try testArgs(i1024, i97, -1 << 96);
3538 try testArgs(i1024, i97, -1);
3539 try testArgs(i1024, i97, 0);
3540 try testArgs(u1024, i97, -1 << 96);4126 try testArgs(u1024, i97, -1 << 96);
3541 try testArgs(u1024, i97, -1);4127 try testArgs(u1024, i97, -1);
3542 try testArgs(u1024, i97, 0);4128 try testArgs(u1024, i97, 0);
3543 try testArgs(i8, u97, 0);4129 try testArgs(i8, u97, 0);
3544 try testArgs(i8, u97, 1 << 0);4130 try testArgs(i8, u97, 1 << 0);
3545 try testArgs(i8, u97, 1 << 96);4131 try testArgs(i8, u97, 1 << 96);
3546 try testArgs(u8, u97, 0);
3547 try testArgs(u8, u97, 1 << 0);
3548 try testArgs(u8, u97, 1 << 96);
3549 try testArgs(i16, u97, 0);4132 try testArgs(i16, u97, 0);
3550 try testArgs(i16, u97, 1 << 0);4133 try testArgs(i16, u97, 1 << 0);
3551 try testArgs(i16, u97, 1 << 96);4134 try testArgs(i16, u97, 1 << 96);
3552 try testArgs(u16, u97, 0);
3553 try testArgs(u16, u97, 1 << 0);
3554 try testArgs(u16, u97, 1 << 96);
3555 try testArgs(i32, u97, 0);4135 try testArgs(i32, u97, 0);
3556 try testArgs(i32, u97, 1 << 0);4136 try testArgs(i32, u97, 1 << 0);
3557 try testArgs(i32, u97, 1 << 96);4137 try testArgs(i32, u97, 1 << 96);
3558 try testArgs(u32, u97, 0);
3559 try testArgs(u32, u97, 1 << 0);
3560 try testArgs(u32, u97, 1 << 96);
3561 try testArgs(i64, u97, 0);4138 try testArgs(i64, u97, 0);
3562 try testArgs(i64, u97, 1 << 0);4139 try testArgs(i64, u97, 1 << 0);
3563 try testArgs(i64, u97, 1 << 96);4140 try testArgs(i64, u97, 1 << 96);
3564 try testArgs(u64, u97, 0);
3565 try testArgs(u64, u97, 1 << 0);
3566 try testArgs(u64, u97, 1 << 96);
3567 try testArgs(i128, u97, 0);4141 try testArgs(i128, u97, 0);
3568 try testArgs(i128, u97, 1 << 0);4142 try testArgs(i128, u97, 1 << 0);
3569 try testArgs(i128, u97, 1 << 96);4143 try testArgs(i128, u97, 1 << 96);
3570 try testArgs(u128, u97, 0);
3571 try testArgs(u128, u97, 1 << 0);
3572 try testArgs(u128, u97, 1 << 96);
3573 try testArgs(i256, u97, 0);4144 try testArgs(i256, u97, 0);
3574 try testArgs(i256, u97, 1 << 0);4145 try testArgs(i256, u97, 1 << 0);
3575 try testArgs(i256, u97, 1 << 96);4146 try testArgs(i256, u97, 1 << 96);
3576 try testArgs(u256, u97, 0);
3577 try testArgs(u256, u97, 1 << 0);
3578 try testArgs(u256, u97, 1 << 96);
3579 try testArgs(i512, u97, 0);4147 try testArgs(i512, u97, 0);
3580 try testArgs(i512, u97, 1 << 0);4148 try testArgs(i512, u97, 1 << 0);
3581 try testArgs(i512, u97, 1 << 96);4149 try testArgs(i512, u97, 1 << 96);
3582 try testArgs(u512, u97, 0);
3583 try testArgs(u512, u97, 1 << 0);
3584 try testArgs(u512, u97, 1 << 96);
3585 try testArgs(i1024, u97, 0);4150 try testArgs(i1024, u97, 0);
3586 try testArgs(i1024, u97, 1 << 0);4151 try testArgs(i1024, u97, 1 << 0);
3587 try testArgs(i1024, u97, 1 << 96);4152 try testArgs(i1024, u97, 1 << 96);
3588 try testArgs(u1024, u97, 0);
3589 try testArgs(u1024, u97, 1 << 0);
3590 try testArgs(u1024, u97, 1 << 96);
35914153
3592 try testArgs(i8, i127, -1 << 126);
3593 try testArgs(i8, i127, -1);
3594 try testArgs(i8, i127, 0);
3595 try testArgs(u8, i127, -1 << 126);4154 try testArgs(u8, i127, -1 << 126);
3596 try testArgs(u8, i127, -1);4155 try testArgs(u8, i127, -1);
3597 try testArgs(u8, i127, 0);4156 try testArgs(u8, i127, 0);
3598 try testArgs(i16, i127, -1 << 126);
3599 try testArgs(i16, i127, -1);
3600 try testArgs(i16, i127, 0);
3601 try testArgs(u16, i127, -1 << 126);4157 try testArgs(u16, i127, -1 << 126);
3602 try testArgs(u16, i127, -1);4158 try testArgs(u16, i127, -1);
3603 try testArgs(u16, i127, 0);4159 try testArgs(u16, i127, 0);
3604 try testArgs(i32, i127, -1 << 126);
3605 try testArgs(i32, i127, -1);
3606 try testArgs(i32, i127, 0);
3607 try testArgs(u32, i127, -1 << 126);4160 try testArgs(u32, i127, -1 << 126);
3608 try testArgs(u32, i127, -1);4161 try testArgs(u32, i127, -1);
3609 try testArgs(u32, i127, 0);4162 try testArgs(u32, i127, 0);
3610 try testArgs(i64, i127, -1 << 126);
3611 try testArgs(i64, i127, -1);
3612 try testArgs(i64, i127, 0);
3613 try testArgs(u64, i127, -1 << 126);4163 try testArgs(u64, i127, -1 << 126);
3614 try testArgs(u64, i127, -1);4164 try testArgs(u64, i127, -1);
3615 try testArgs(u64, i127, 0);4165 try testArgs(u64, i127, 0);
3616 try testArgs(i128, i127, -1 << 126);
3617 try testArgs(i128, i127, -1);
3618 try testArgs(i128, i127, 0);
3619 try testArgs(u128, i127, -1 << 126);4166 try testArgs(u128, i127, -1 << 126);
3620 try testArgs(u128, i127, -1);4167 try testArgs(u128, i127, -1);
3621 try testArgs(u128, i127, 0);4168 try testArgs(u128, i127, 0);
3622 try testArgs(i256, i127, -1 << 126);
3623 try testArgs(i256, i127, -1);
3624 try testArgs(i256, i127, 0);
3625 try testArgs(u256, i127, -1 << 126);4169 try testArgs(u256, i127, -1 << 126);
3626 try testArgs(u256, i127, -1);4170 try testArgs(u256, i127, -1);
3627 try testArgs(u256, i127, 0);4171 try testArgs(u256, i127, 0);
3628 try testArgs(i512, i127, -1 << 126);
3629 try testArgs(i512, i127, -1);
3630 try testArgs(i512, i127, 0);
3631 try testArgs(u512, i127, -1 << 126);4172 try testArgs(u512, i127, -1 << 126);
3632 try testArgs(u512, i127, -1);4173 try testArgs(u512, i127, -1);
3633 try testArgs(u512, i127, 0);4174 try testArgs(u512, i127, 0);
3634 try testArgs(i1024, i127, -1 << 126);
3635 try testArgs(i1024, i127, -1);
3636 try testArgs(i1024, i127, 0);
3637 try testArgs(u1024, i127, -1 << 126);4175 try testArgs(u1024, i127, -1 << 126);
3638 try testArgs(u1024, i127, -1);4176 try testArgs(u1024, i127, -1);
3639 try testArgs(u1024, i127, 0);4177 try testArgs(u1024, i127, 0);
3640 try testArgs(i8, u127, 0);4178 try testArgs(i8, u127, 0);
3641 try testArgs(i8, u127, 1 << 0);4179 try testArgs(i8, u127, 1 << 0);
3642 try testArgs(i8, u127, 1 << 126);4180 try testArgs(i8, u127, 1 << 126);
3643 try testArgs(u8, u127, 0);
3644 try testArgs(u8, u127, 1 << 0);
3645 try testArgs(u8, u127, 1 << 126);
3646 try testArgs(i16, u127, 0);4181 try testArgs(i16, u127, 0);
3647 try testArgs(i16, u127, 1 << 0);4182 try testArgs(i16, u127, 1 << 0);
3648 try testArgs(i16, u127, 1 << 126);4183 try testArgs(i16, u127, 1 << 126);
3649 try testArgs(u16, u127, 0);
3650 try testArgs(u16, u127, 1 << 0);
3651 try testArgs(u16, u127, 1 << 126);
3652 try testArgs(i32, u127, 0);4184 try testArgs(i32, u127, 0);
3653 try testArgs(i32, u127, 1 << 0);4185 try testArgs(i32, u127, 1 << 0);
3654 try testArgs(i32, u127, 1 << 126);4186 try testArgs(i32, u127, 1 << 126);
3655 try testArgs(u32, u127, 0);
3656 try testArgs(u32, u127, 1 << 0);
3657 try testArgs(u32, u127, 1 << 126);
3658 try testArgs(i64, u127, 0);4187 try testArgs(i64, u127, 0);
3659 try testArgs(i64, u127, 1 << 0);4188 try testArgs(i64, u127, 1 << 0);
3660 try testArgs(i64, u127, 1 << 126);4189 try testArgs(i64, u127, 1 << 126);
3661 try testArgs(u64, u127, 0);
3662 try testArgs(u64, u127, 1 << 0);
3663 try testArgs(u64, u127, 1 << 126);
3664 try testArgs(i128, u127, 0);4190 try testArgs(i128, u127, 0);
3665 try testArgs(i128, u127, 1 << 0);4191 try testArgs(i128, u127, 1 << 0);
3666 try testArgs(i128, u127, 1 << 126);4192 try testArgs(i128, u127, 1 << 126);
3667 try testArgs(u128, u127, 0);
3668 try testArgs(u128, u127, 1 << 0);
3669 try testArgs(u128, u127, 1 << 126);
3670 try testArgs(i256, u127, 0);4193 try testArgs(i256, u127, 0);
3671 try testArgs(i256, u127, 1 << 0);4194 try testArgs(i256, u127, 1 << 0);
3672 try testArgs(i256, u127, 1 << 126);4195 try testArgs(i256, u127, 1 << 126);
3673 try testArgs(u256, u127, 0);
3674 try testArgs(u256, u127, 1 << 0);
3675 try testArgs(u256, u127, 1 << 126);
3676 try testArgs(i512, u127, 0);4196 try testArgs(i512, u127, 0);
3677 try testArgs(i512, u127, 1 << 0);4197 try testArgs(i512, u127, 1 << 0);
3678 try testArgs(i512, u127, 1 << 126);4198 try testArgs(i512, u127, 1 << 126);
3679 try testArgs(u512, u127, 0);
3680 try testArgs(u512, u127, 1 << 0);
3681 try testArgs(u512, u127, 1 << 126);
3682 try testArgs(i1024, u127, 0);4199 try testArgs(i1024, u127, 0);
3683 try testArgs(i1024, u127, 1 << 0);4200 try testArgs(i1024, u127, 1 << 0);
3684 try testArgs(i1024, u127, 1 << 126);4201 try testArgs(i1024, u127, 1 << 126);
3685 try testArgs(u1024, u127, 0);
3686 try testArgs(u1024, u127, 1 << 0);
3687 try testArgs(u1024, u127, 1 << 126);
36884202
3689 try testArgs(i8, i128, -1 << 127);
3690 try testArgs(i8, i128, -1);
3691 try testArgs(i8, i128, 0);
3692 try testArgs(u8, i128, -1 << 127);4203 try testArgs(u8, i128, -1 << 127);
3693 try testArgs(u8, i128, -1);4204 try testArgs(u8, i128, -1);
3694 try testArgs(u8, i128, 0);4205 try testArgs(u8, i128, 0);
3695 try testArgs(i16, i128, -1 << 127);
3696 try testArgs(i16, i128, -1);
3697 try testArgs(i16, i128, 0);
3698 try testArgs(u16, i128, -1 << 127);4206 try testArgs(u16, i128, -1 << 127);
3699 try testArgs(u16, i128, -1);4207 try testArgs(u16, i128, -1);
3700 try testArgs(u16, i128, 0);4208 try testArgs(u16, i128, 0);
3701 try testArgs(i32, i128, -1 << 127);
3702 try testArgs(i32, i128, -1);
3703 try testArgs(i32, i128, 0);
3704 try testArgs(u32, i128, -1 << 127);4209 try testArgs(u32, i128, -1 << 127);
3705 try testArgs(u32, i128, -1);4210 try testArgs(u32, i128, -1);
3706 try testArgs(u32, i128, 0);4211 try testArgs(u32, i128, 0);
3707 try testArgs(i64, i128, -1 << 127);
3708 try testArgs(i64, i128, -1);
3709 try testArgs(i64, i128, 0);
3710 try testArgs(u64, i128, -1 << 127);4212 try testArgs(u64, i128, -1 << 127);
3711 try testArgs(u64, i128, -1);4213 try testArgs(u64, i128, -1);
3712 try testArgs(u64, i128, 0);4214 try testArgs(u64, i128, 0);
3713 try testArgs(i128, i128, -1 << 127);
3714 try testArgs(i128, i128, -1);
3715 try testArgs(i128, i128, 0);
3716 try testArgs(u128, i128, -1 << 127);4215 try testArgs(u128, i128, -1 << 127);
3717 try testArgs(u128, i128, -1);4216 try testArgs(u128, i128, -1);
3718 try testArgs(u128, i128, 0);4217 try testArgs(u128, i128, 0);
3719 try testArgs(i256, i128, -1 << 127);
3720 try testArgs(i256, i128, -1);
3721 try testArgs(i256, i128, 0);
3722 try testArgs(u256, i128, -1 << 127);4218 try testArgs(u256, i128, -1 << 127);
3723 try testArgs(u256, i128, -1);4219 try testArgs(u256, i128, -1);
3724 try testArgs(u256, i128, 0);4220 try testArgs(u256, i128, 0);
3725 try testArgs(i512, i128, -1 << 127);
3726 try testArgs(i512, i128, -1);
3727 try testArgs(i512, i128, 0);
3728 try testArgs(u512, i128, -1 << 127);4221 try testArgs(u512, i128, -1 << 127);
3729 try testArgs(u512, i128, -1);4222 try testArgs(u512, i128, -1);
3730 try testArgs(u512, i128, 0);4223 try testArgs(u512, i128, 0);
3731 try testArgs(i1024, i128, -1 << 127);
3732 try testArgs(i1024, i128, -1);
3733 try testArgs(i1024, i128, 0);
3734 try testArgs(u1024, i128, -1 << 127);4224 try testArgs(u1024, i128, -1 << 127);
3735 try testArgs(u1024, i128, -1);4225 try testArgs(u1024, i128, -1);
3736 try testArgs(u1024, i128, 0);4226 try testArgs(u1024, i128, 0);
3737 try testArgs(i8, u128, 0);4227 try testArgs(i8, u128, 0);
3738 try testArgs(i8, u128, 1 << 0);4228 try testArgs(i8, u128, 1 << 0);
3739 try testArgs(i8, u128, 1 << 127);4229 try testArgs(i8, u128, 1 << 127);
3740 try testArgs(u8, u128, 0);
3741 try testArgs(u8, u128, 1 << 0);
3742 try testArgs(u8, u128, 1 << 127);
3743 try testArgs(i16, u128, 0);4230 try testArgs(i16, u128, 0);
3744 try testArgs(i16, u128, 1 << 0);4231 try testArgs(i16, u128, 1 << 0);
3745 try testArgs(i16, u128, 1 << 127);4232 try testArgs(i16, u128, 1 << 127);
3746 try testArgs(u16, u128, 0);
3747 try testArgs(u16, u128, 1 << 0);
3748 try testArgs(u16, u128, 1 << 127);
3749 try testArgs(i32, u128, 0);4233 try testArgs(i32, u128, 0);
3750 try testArgs(i32, u128, 1 << 0);4234 try testArgs(i32, u128, 1 << 0);
3751 try testArgs(i32, u128, 1 << 127);4235 try testArgs(i32, u128, 1 << 127);
3752 try testArgs(u32, u128, 0);
3753 try testArgs(u32, u128, 1 << 0);
3754 try testArgs(u32, u128, 1 << 127);
3755 try testArgs(i64, u128, 0);4236 try testArgs(i64, u128, 0);
3756 try testArgs(i64, u128, 1 << 0);4237 try testArgs(i64, u128, 1 << 0);
3757 try testArgs(i64, u128, 1 << 127);4238 try testArgs(i64, u128, 1 << 127);
3758 try testArgs(u64, u128, 0);
3759 try testArgs(u64, u128, 1 << 0);
3760 try testArgs(u64, u128, 1 << 127);
3761 try testArgs(i128, u128, 0);4239 try testArgs(i128, u128, 0);
3762 try testArgs(i128, u128, 1 << 0);4240 try testArgs(i128, u128, 1 << 0);
3763 try testArgs(i128, u128, 1 << 127);4241 try testArgs(i128, u128, 1 << 127);
3764 try testArgs(u128, u128, 0);
3765 try testArgs(u128, u128, 1 << 0);
3766 try testArgs(u128, u128, 1 << 127);
3767 try testArgs(i256, u128, 0);4242 try testArgs(i256, u128, 0);
3768 try testArgs(i256, u128, 1 << 0);4243 try testArgs(i256, u128, 1 << 0);
3769 try testArgs(i256, u128, 1 << 127);4244 try testArgs(i256, u128, 1 << 127);
3770 try testArgs(u256, u128, 0);
3771 try testArgs(u256, u128, 1 << 0);
3772 try testArgs(u256, u128, 1 << 127);
3773 try testArgs(i512, u128, 0);4245 try testArgs(i512, u128, 0);
3774 try testArgs(i512, u128, 1 << 0);4246 try testArgs(i512, u128, 1 << 0);
3775 try testArgs(i512, u128, 1 << 127);4247 try testArgs(i512, u128, 1 << 127);
3776 try testArgs(u512, u128, 0);
3777 try testArgs(u512, u128, 1 << 0);
3778 try testArgs(u512, u128, 1 << 127);
3779 try testArgs(i1024, u128, 0);4248 try testArgs(i1024, u128, 0);
3780 try testArgs(i1024, u128, 1 << 0);4249 try testArgs(i1024, u128, 1 << 0);
3781 try testArgs(i1024, u128, 1 << 127);4250 try testArgs(i1024, u128, 1 << 127);
3782 try testArgs(u1024, u128, 0);
3783 try testArgs(u1024, u128, 1 << 0);
3784 try testArgs(u1024, u128, 1 << 127);
37854251
3786 try testArgs(i8, i129, -1 << 128);
3787 try testArgs(i8, i129, -1);
3788 try testArgs(i8, i129, 0);
3789 try testArgs(u8, i129, -1 << 128);4252 try testArgs(u8, i129, -1 << 128);
3790 try testArgs(u8, i129, -1);4253 try testArgs(u8, i129, -1);
3791 try testArgs(u8, i129, 0);4254 try testArgs(u8, i129, 0);
3792 try testArgs(i16, i129, -1 << 128);
3793 try testArgs(i16, i129, -1);
3794 try testArgs(i16, i129, 0);
3795 try testArgs(u16, i129, -1 << 128);4255 try testArgs(u16, i129, -1 << 128);
3796 try testArgs(u16, i129, -1);4256 try testArgs(u16, i129, -1);
3797 try testArgs(u16, i129, 0);4257 try testArgs(u16, i129, 0);
3798 try testArgs(i32, i129, -1 << 128);
3799 try testArgs(i32, i129, -1);
3800 try testArgs(i32, i129, 0);
3801 try testArgs(u32, i129, -1 << 128);4258 try testArgs(u32, i129, -1 << 128);
3802 try testArgs(u32, i129, -1);4259 try testArgs(u32, i129, -1);
3803 try testArgs(u32, i129, 0);4260 try testArgs(u32, i129, 0);
3804 try testArgs(i64, i129, -1 << 128);
3805 try testArgs(i64, i129, -1);
3806 try testArgs(i64, i129, 0);
3807 try testArgs(u64, i129, -1 << 128);4261 try testArgs(u64, i129, -1 << 128);
3808 try testArgs(u64, i129, -1);4262 try testArgs(u64, i129, -1);
3809 try testArgs(u64, i129, 0);4263 try testArgs(u64, i129, 0);
3810 try testArgs(i128, i129, -1 << 128);
3811 try testArgs(i128, i129, -1);
3812 try testArgs(i128, i129, 0);
3813 try testArgs(u128, i129, -1 << 128);4264 try testArgs(u128, i129, -1 << 128);
3814 try testArgs(u128, i129, -1);4265 try testArgs(u128, i129, -1);
3815 try testArgs(u128, i129, 0);4266 try testArgs(u128, i129, 0);
3816 try testArgs(i256, i129, -1 << 128);
3817 try testArgs(i256, i129, -1);
3818 try testArgs(i256, i129, 0);
3819 try testArgs(u256, i129, -1 << 128);4267 try testArgs(u256, i129, -1 << 128);
3820 try testArgs(u256, i129, -1);4268 try testArgs(u256, i129, -1);
3821 try testArgs(u256, i129, 0);4269 try testArgs(u256, i129, 0);
3822 try testArgs(i512, i129, -1 << 128);
3823 try testArgs(i512, i129, -1);
3824 try testArgs(i512, i129, 0);
3825 try testArgs(u512, i129, -1 << 128);4270 try testArgs(u512, i129, -1 << 128);
3826 try testArgs(u512, i129, -1);4271 try testArgs(u512, i129, -1);
3827 try testArgs(u512, i129, 0);4272 try testArgs(u512, i129, 0);
3828 try testArgs(i1024, i129, -1 << 128);
3829 try testArgs(i1024, i129, -1);
3830 try testArgs(i1024, i129, 0);
3831 try testArgs(u1024, i129, -1 << 128);4273 try testArgs(u1024, i129, -1 << 128);
3832 try testArgs(u1024, i129, -1);4274 try testArgs(u1024, i129, -1);
3833 try testArgs(u1024, i129, 0);4275 try testArgs(u1024, i129, 0);
3834 try testArgs(i8, u129, 0);4276 try testArgs(i8, u129, 0);
3835 try testArgs(i8, u129, 1 << 0);4277 try testArgs(i8, u129, 1 << 0);
3836 try testArgs(i8, u129, 1 << 128);4278 try testArgs(i8, u129, 1 << 128);
3837 try testArgs(u8, u129, 0);
3838 try testArgs(u8, u129, 1 << 0);
3839 try testArgs(u8, u129, 1 << 128);
3840 try testArgs(i16, u129, 0);4279 try testArgs(i16, u129, 0);
3841 try testArgs(i16, u129, 1 << 0);4280 try testArgs(i16, u129, 1 << 0);
3842 try testArgs(i16, u129, 1 << 128);4281 try testArgs(i16, u129, 1 << 128);
3843 try testArgs(u16, u129, 0);
3844 try testArgs(u16, u129, 1 << 0);
3845 try testArgs(u16, u129, 1 << 128);
3846 try testArgs(i32, u129, 0);4282 try testArgs(i32, u129, 0);
3847 try testArgs(i32, u129, 1 << 0);4283 try testArgs(i32, u129, 1 << 0);
3848 try testArgs(i32, u129, 1 << 128);4284 try testArgs(i32, u129, 1 << 128);
3849 try testArgs(u32, u129, 0);
3850 try testArgs(u32, u129, 1 << 0);
3851 try testArgs(u32, u129, 1 << 128);
3852 try testArgs(i64, u129, 0);4285 try testArgs(i64, u129, 0);
3853 try testArgs(i64, u129, 1 << 0);4286 try testArgs(i64, u129, 1 << 0);
3854 try testArgs(i64, u129, 1 << 128);4287 try testArgs(i64, u129, 1 << 128);
3855 try testArgs(u64, u129, 0);
3856 try testArgs(u64, u129, 1 << 0);
3857 try testArgs(u64, u129, 1 << 128);
3858 try testArgs(i128, u129, 0);4288 try testArgs(i128, u129, 0);
3859 try testArgs(i128, u129, 1 << 0);4289 try testArgs(i128, u129, 1 << 0);
3860 try testArgs(i128, u129, 1 << 128);4290 try testArgs(i128, u129, 1 << 128);
3861 try testArgs(u128, u129, 0);
3862 try testArgs(u128, u129, 1 << 0);
3863 try testArgs(u128, u129, 1 << 128);
3864 try testArgs(i256, u129, 0);4291 try testArgs(i256, u129, 0);
3865 try testArgs(i256, u129, 1 << 0);4292 try testArgs(i256, u129, 1 << 0);
3866 try testArgs(i256, u129, 1 << 128);4293 try testArgs(i256, u129, 1 << 128);
3867 try testArgs(u256, u129, 0);
3868 try testArgs(u256, u129, 1 << 0);
3869 try testArgs(u256, u129, 1 << 128);
3870 try testArgs(i512, u129, 0);4294 try testArgs(i512, u129, 0);
3871 try testArgs(i512, u129, 1 << 0);4295 try testArgs(i512, u129, 1 << 0);
3872 try testArgs(i512, u129, 1 << 128);4296 try testArgs(i512, u129, 1 << 128);
3873 try testArgs(u512, u129, 0);
3874 try testArgs(u512, u129, 1 << 0);
3875 try testArgs(u512, u129, 1 << 128);
3876 try testArgs(i1024, u129, 0);4297 try testArgs(i1024, u129, 0);
3877 try testArgs(i1024, u129, 1 << 0);4298 try testArgs(i1024, u129, 1 << 0);
3878 try testArgs(i1024, u129, 1 << 128);4299 try testArgs(i1024, u129, 1 << 128);
3879 try testArgs(u1024, u129, 0);
3880 try testArgs(u1024, u129, 1 << 0);
3881 try testArgs(u1024, u129, 1 << 128);
38824300
3883 try testArgs(i8, i159, -1 << 158);
3884 try testArgs(i8, i159, -1);
3885 try testArgs(i8, i159, 0);
3886 try testArgs(u8, i159, -1 << 158);
3887 try testArgs(u8, i159, -1);
3888 try testArgs(u8, i159, 0);
3889 try testArgs(i16, i159, -1 << 158);
3890 try testArgs(i16, i159, -1);
3891 try testArgs(i16, i159, 0);
3892 try testArgs(u16, i159, -1 << 158);
3893 try testArgs(u16, i159, -1);
3894 try testArgs(u16, i159, 0);
3895 try testArgs(i32, i159, -1 << 158);
3896 try testArgs(i32, i159, -1);
3897 try testArgs(i32, i159, 0);
3898 try testArgs(u32, i159, -1 << 158);
3899 try testArgs(u32, i159, -1);
3900 try testArgs(u32, i159, 0);
3901 try testArgs(i64, i159, -1 << 158);
3902 try testArgs(i64, i159, -1);
3903 try testArgs(i64, i159, 0);
3904 try testArgs(u64, i159, -1 << 158);
3905 try testArgs(u64, i159, -1);
3906 try testArgs(u64, i159, 0);
3907 try testArgs(i128, i159, -1 << 158);
3908 try testArgs(i128, i159, -1);
3909 try testArgs(i128, i159, 0);
3910 try testArgs(u128, i159, -1 << 158);
3911 try testArgs(u128, i159, -1);
3912 try testArgs(u128, i159, 0);
3913 try testArgs(i256, i159, -1 << 158);
3914 try testArgs(i256, i159, -1);
3915 try testArgs(i256, i159, 0);
3916 try testArgs(u256, i159, -1 << 158);
3917 try testArgs(u256, i159, -1);
3918 try testArgs(u256, i159, 0);
3919 try testArgs(i512, i159, -1 << 158);
3920 try testArgs(i512, i159, -1);
3921 try testArgs(i512, i159, 0);
3922 try testArgs(u512, i159, -1 << 158);
3923 try testArgs(u512, i159, -1);
3924 try testArgs(u512, i159, 0);
3925 try testArgs(i1024, i159, -1 << 158);
3926 try testArgs(i1024, i159, -1);
3927 try testArgs(i1024, i159, 0);
3928 try testArgs(u1024, i159, -1 << 158);
3929 try testArgs(u1024, i159, -1);
3930 try testArgs(u1024, i159, 0);
3931 try testArgs(i8, u159, 0);
3932 try testArgs(i8, u159, 1 << 0);
3933 try testArgs(i8, u159, 1 << 158);
3934 try testArgs(u8, u159, 0);
3935 try testArgs(u8, u159, 1 << 0);
3936 try testArgs(u8, u159, 1 << 158);
3937 try testArgs(i16, u159, 0);
3938 try testArgs(i16, u159, 1 << 0);
3939 try testArgs(i16, u159, 1 << 158);
3940 try testArgs(u16, u159, 0);
3941 try testArgs(u16, u159, 1 << 0);
3942 try testArgs(u16, u159, 1 << 158);
3943 try testArgs(i32, u159, 0);
3944 try testArgs(i32, u159, 1 << 0);
3945 try testArgs(i32, u159, 1 << 158);
3946 try testArgs(u32, u159, 0);
3947 try testArgs(u32, u159, 1 << 0);
3948 try testArgs(u32, u159, 1 << 158);
3949 try testArgs(i64, u159, 0);
3950 try testArgs(i64, u159, 1 << 0);
3951 try testArgs(i64, u159, 1 << 158);
3952 try testArgs(u64, u159, 0);
3953 try testArgs(u64, u159, 1 << 0);
3954 try testArgs(u64, u159, 1 << 158);
3955 try testArgs(i128, u159, 0);
3956 try testArgs(i128, u159, 1 << 0);
3957 try testArgs(i128, u159, 1 << 158);
3958 try testArgs(u128, u159, 0);
3959 try testArgs(u128, u159, 1 << 0);
3960 try testArgs(u128, u159, 1 << 158);
3961 try testArgs(i256, u159, 0);
3962 try testArgs(i256, u159, 1 << 0);
3963 try testArgs(i256, u159, 1 << 158);
3964 try testArgs(u256, u159, 0);
3965 try testArgs(u256, u159, 1 << 0);
3966 try testArgs(u256, u159, 1 << 158);
3967 try testArgs(i512, u159, 0);
3968 try testArgs(i512, u159, 1 << 0);
3969 try testArgs(i512, u159, 1 << 158);
3970 try testArgs(u512, u159, 0);
3971 try testArgs(u512, u159, 1 << 0);
3972 try testArgs(u512, u159, 1 << 158);
3973 try testArgs(i1024, u159, 0);
3974 try testArgs(i1024, u159, 1 << 0);
3975 try testArgs(i1024, u159, 1 << 158);
3976 try testArgs(u1024, u159, 0);
3977 try testArgs(u1024, u159, 1 << 0);
3978 try testArgs(u1024, u159, 1 << 158);
3979
3980 try testArgs(i8, i160, -1 << 159);
3981 try testArgs(i8, i160, -1);
3982 try testArgs(i8, i160, 0);
3983 try testArgs(u8, i160, -1 << 159);
3984 try testArgs(u8, i160, -1);
3985 try testArgs(u8, i160, 0);
3986 try testArgs(i16, i160, -1 << 159);
3987 try testArgs(i16, i160, -1);
3988 try testArgs(i16, i160, 0);
3989 try testArgs(u16, i160, -1 << 159);
3990 try testArgs(u16, i160, -1);
3991 try testArgs(u16, i160, 0);
3992 try testArgs(i32, i160, -1 << 159);
3993 try testArgs(i32, i160, -1);
3994 try testArgs(i32, i160, 0);
3995 try testArgs(u32, i160, -1 << 159);
3996 try testArgs(u32, i160, -1);
3997 try testArgs(u32, i160, 0);
3998 try testArgs(i64, i160, -1 << 159);
3999 try testArgs(i64, i160, -1);
4000 try testArgs(i64, i160, 0);
4001 try testArgs(u64, i160, -1 << 159);
4002 try testArgs(u64, i160, -1);
4003 try testArgs(u64, i160, 0);
4004 try testArgs(i128, i160, -1 << 159);
4005 try testArgs(i128, i160, -1);
4006 try testArgs(i128, i160, 0);
4007 try testArgs(u128, i160, -1 << 159);
4008 try testArgs(u128, i160, -1);
4009 try testArgs(u128, i160, 0);
4010 try testArgs(i256, i160, -1 << 159);
4011 try testArgs(i256, i160, -1);
4012 try testArgs(i256, i160, 0);
4013 try testArgs(u256, i160, -1 << 159);
4014 try testArgs(u256, i160, -1);
4015 try testArgs(u256, i160, 0);
4016 try testArgs(i512, i160, -1 << 159);
4017 try testArgs(i512, i160, -1);
4018 try testArgs(i512, i160, 0);
4019 try testArgs(u512, i160, -1 << 159);
4020 try testArgs(u512, i160, -1);
4021 try testArgs(u512, i160, 0);
4022 try testArgs(i1024, i160, -1 << 159);
4023 try testArgs(i1024, i160, -1);
4024 try testArgs(i1024, i160, 0);
4025 try testArgs(u1024, i160, -1 << 159);
4026 try testArgs(u1024, i160, -1);
4027 try testArgs(u1024, i160, 0);
4028 try testArgs(i8, u160, 0);
4029 try testArgs(i8, u160, 1 << 0);
4030 try testArgs(i8, u160, 1 << 159);
4031 try testArgs(u8, u160, 0);
4032 try testArgs(u8, u160, 1 << 0);
4033 try testArgs(u8, u160, 1 << 159);
4034 try testArgs(i16, u160, 0);
4035 try testArgs(i16, u160, 1 << 0);
4036 try testArgs(i16, u160, 1 << 159);
4037 try testArgs(u16, u160, 0);
4038 try testArgs(u16, u160, 1 << 0);
4039 try testArgs(u16, u160, 1 << 159);
4040 try testArgs(i32, u160, 0);
4041 try testArgs(i32, u160, 1 << 0);
4042 try testArgs(i32, u160, 1 << 159);
4043 try testArgs(u32, u160, 0);
4044 try testArgs(u32, u160, 1 << 0);
4045 try testArgs(u32, u160, 1 << 159);
4046 try testArgs(i64, u160, 0);
4047 try testArgs(i64, u160, 1 << 0);
4048 try testArgs(i64, u160, 1 << 159);
4049 try testArgs(u64, u160, 0);
4050 try testArgs(u64, u160, 1 << 0);
4051 try testArgs(u64, u160, 1 << 159);
4052 try testArgs(i128, u160, 0);
4053 try testArgs(i128, u160, 1 << 0);
4054 try testArgs(i128, u160, 1 << 159);
4055 try testArgs(u128, u160, 0);
4056 try testArgs(u128, u160, 1 << 0);
4057 try testArgs(u128, u160, 1 << 159);
4058 try testArgs(i256, u160, 0);
4059 try testArgs(i256, u160, 1 << 0);
4060 try testArgs(i256, u160, 1 << 159);
4061 try testArgs(u256, u160, 0);
4062 try testArgs(u256, u160, 1 << 0);
4063 try testArgs(u256, u160, 1 << 159);
4064 try testArgs(i512, u160, 0);
4065 try testArgs(i512, u160, 1 << 0);
4066 try testArgs(i512, u160, 1 << 159);
4067 try testArgs(u512, u160, 0);
4068 try testArgs(u512, u160, 1 << 0);
4069 try testArgs(u512, u160, 1 << 159);
4070 try testArgs(i1024, u160, 0);
4071 try testArgs(i1024, u160, 1 << 0);
4072 try testArgs(i1024, u160, 1 << 159);
4073 try testArgs(u1024, u160, 0);
4074 try testArgs(u1024, u160, 1 << 0);
4075 try testArgs(u1024, u160, 1 << 159);
4076
4077 try testArgs(i8, i161, -1 << 160);
4078 try testArgs(i8, i161, -1);
4079 try testArgs(i8, i161, 0);
4080 try testArgs(u8, i161, -1 << 160);
4081 try testArgs(u8, i161, -1);
4082 try testArgs(u8, i161, 0);
4083 try testArgs(i16, i161, -1 << 160);
4084 try testArgs(i16, i161, -1);
4085 try testArgs(i16, i161, 0);
4086 try testArgs(u16, i161, -1 << 160);
4087 try testArgs(u16, i161, -1);
4088 try testArgs(u16, i161, 0);
4089 try testArgs(i32, i161, -1 << 160);
4090 try testArgs(i32, i161, -1);
4091 try testArgs(i32, i161, 0);
4092 try testArgs(u32, i161, -1 << 160);
4093 try testArgs(u32, i161, -1);
4094 try testArgs(u32, i161, 0);
4095 try testArgs(i64, i161, -1 << 160);
4096 try testArgs(i64, i161, -1);
4097 try testArgs(i64, i161, 0);
4098 try testArgs(u64, i161, -1 << 160);
4099 try testArgs(u64, i161, -1);
4100 try testArgs(u64, i161, 0);
4101 try testArgs(i128, i161, -1 << 160);
4102 try testArgs(i128, i161, -1);
4103 try testArgs(i128, i161, 0);
4104 try testArgs(u128, i161, -1 << 160);
4105 try testArgs(u128, i161, -1);
4106 try testArgs(u128, i161, 0);
4107 try testArgs(i256, i161, -1 << 160);
4108 try testArgs(i256, i161, -1);
4109 try testArgs(i256, i161, 0);
4110 try testArgs(u256, i161, -1 << 160);
4111 try testArgs(u256, i161, -1);
4112 try testArgs(u256, i161, 0);
4113 try testArgs(i512, i161, -1 << 160);
4114 try testArgs(i512, i161, -1);
4115 try testArgs(i512, i161, 0);
4116 try testArgs(u512, i161, -1 << 160);
4117 try testArgs(u512, i161, -1);
4118 try testArgs(u512, i161, 0);
4119 try testArgs(i1024, i161, -1 << 160);
4120 try testArgs(i1024, i161, -1);
4121 try testArgs(i1024, i161, 0);
4122 try testArgs(u1024, i161, -1 << 160);
4123 try testArgs(u1024, i161, -1);
4124 try testArgs(u1024, i161, 0);
4125 try testArgs(i8, u161, 0);
4126 try testArgs(i8, u161, 1 << 0);
4127 try testArgs(i8, u161, 1 << 160);
4128 try testArgs(u8, u161, 0);
4129 try testArgs(u8, u161, 1 << 0);
4130 try testArgs(u8, u161, 1 << 160);
4131 try testArgs(i16, u161, 0);
4132 try testArgs(i16, u161, 1 << 0);
4133 try testArgs(i16, u161, 1 << 160);
4134 try testArgs(u16, u161, 0);
4135 try testArgs(u16, u161, 1 << 0);
4136 try testArgs(u16, u161, 1 << 160);
4137 try testArgs(i32, u161, 0);
4138 try testArgs(i32, u161, 1 << 0);
4139 try testArgs(i32, u161, 1 << 160);
4140 try testArgs(u32, u161, 0);
4141 try testArgs(u32, u161, 1 << 0);
4142 try testArgs(u32, u161, 1 << 160);
4143 try testArgs(i64, u161, 0);
4144 try testArgs(i64, u161, 1 << 0);
4145 try testArgs(i64, u161, 1 << 160);
4146 try testArgs(u64, u161, 0);
4147 try testArgs(u64, u161, 1 << 0);
4148 try testArgs(u64, u161, 1 << 160);
4149 try testArgs(i128, u161, 0);
4150 try testArgs(i128, u161, 1 << 0);
4151 try testArgs(i128, u161, 1 << 160);
4152 try testArgs(u128, u161, 0);
4153 try testArgs(u128, u161, 1 << 0);
4154 try testArgs(u128, u161, 1 << 160);
4155 try testArgs(i256, u161, 0);
4156 try testArgs(i256, u161, 1 << 0);
4157 try testArgs(i256, u161, 1 << 160);
4158 try testArgs(u256, u161, 0);
4159 try testArgs(u256, u161, 1 << 0);
4160 try testArgs(u256, u161, 1 << 160);
4161 try testArgs(i512, u161, 0);
4162 try testArgs(i512, u161, 1 << 0);
4163 try testArgs(i512, u161, 1 << 160);
4164 try testArgs(u512, u161, 0);
4165 try testArgs(u512, u161, 1 << 0);
4166 try testArgs(u512, u161, 1 << 160);
4167 try testArgs(i1024, u161, 0);
4168 try testArgs(i1024, u161, 1 << 0);
4169 try testArgs(i1024, u161, 1 << 160);
4170 try testArgs(u1024, u161, 0);
4171 try testArgs(u1024, u161, 1 << 0);
4172 try testArgs(u1024, u161, 1 << 160);
4173
4174 try testArgs(i8, i191, -1 << 190);
4175 try testArgs(i8, i191, -1);
4176 try testArgs(i8, i191, 0);
4177 try testArgs(u8, i191, -1 << 190);
4178 try testArgs(u8, i191, -1);
4179 try testArgs(u8, i191, 0);
4180 try testArgs(i16, i191, -1 << 190);
4181 try testArgs(i16, i191, -1);
4182 try testArgs(i16, i191, 0);
4183 try testArgs(u16, i191, -1 << 190);
4184 try testArgs(u16, i191, -1);
4185 try testArgs(u16, i191, 0);
4186 try testArgs(i32, i191, -1 << 190);
4187 try testArgs(i32, i191, -1);
4188 try testArgs(i32, i191, 0);
4189 try testArgs(u32, i191, -1 << 190);
4190 try testArgs(u32, i191, -1);
4191 try testArgs(u32, i191, 0);
4192 try testArgs(i64, i191, -1 << 190);
4193 try testArgs(i64, i191, -1);
4194 try testArgs(i64, i191, 0);
4195 try testArgs(u64, i191, -1 << 190);
4196 try testArgs(u64, i191, -1);
4197 try testArgs(u64, i191, 0);
4198 try testArgs(i128, i191, -1 << 190);
4199 try testArgs(i128, i191, -1);
4200 try testArgs(i128, i191, 0);
4201 try testArgs(u128, i191, -1 << 190);
4202 try testArgs(u128, i191, -1);
4203 try testArgs(u128, i191, 0);
4204 try testArgs(i256, i191, -1 << 190);
4205 try testArgs(i256, i191, -1);
4206 try testArgs(i256, i191, 0);
4207 try testArgs(u256, i191, -1 << 190);
4208 try testArgs(u256, i191, -1);
4209 try testArgs(u256, i191, 0);
4210 try testArgs(i512, i191, -1 << 190);
4211 try testArgs(i512, i191, -1);
4212 try testArgs(i512, i191, 0);
4213 try testArgs(u512, i191, -1 << 190);
4214 try testArgs(u512, i191, -1);
4215 try testArgs(u512, i191, 0);
4216 try testArgs(i1024, i191, -1 << 190);
4217 try testArgs(i1024, i191, -1);
4218 try testArgs(i1024, i191, 0);
4219 try testArgs(u1024, i191, -1 << 190);
4220 try testArgs(u1024, i191, -1);
4221 try testArgs(u1024, i191, 0);
4222 try testArgs(i8, u191, 0);
4223 try testArgs(i8, u191, 1 << 0);
4224 try testArgs(i8, u191, 1 << 190);
4225 try testArgs(u8, u191, 0);
4226 try testArgs(u8, u191, 1 << 0);
4227 try testArgs(u8, u191, 1 << 190);
4228 try testArgs(i16, u191, 0);
4229 try testArgs(i16, u191, 1 << 0);
4230 try testArgs(i16, u191, 1 << 190);
4231 try testArgs(u16, u191, 0);
4232 try testArgs(u16, u191, 1 << 0);
4233 try testArgs(u16, u191, 1 << 190);
4234 try testArgs(i32, u191, 0);
4235 try testArgs(i32, u191, 1 << 0);
4236 try testArgs(i32, u191, 1 << 190);
4237 try testArgs(u32, u191, 0);
4238 try testArgs(u32, u191, 1 << 0);
4239 try testArgs(u32, u191, 1 << 190);
4240 try testArgs(i64, u191, 0);
4241 try testArgs(i64, u191, 1 << 0);
4242 try testArgs(i64, u191, 1 << 190);
4243 try testArgs(u64, u191, 0);
4244 try testArgs(u64, u191, 1 << 0);
4245 try testArgs(u64, u191, 1 << 190);
4246 try testArgs(i128, u191, 0);
4247 try testArgs(i128, u191, 1 << 0);
4248 try testArgs(i128, u191, 1 << 190);
4249 try testArgs(u128, u191, 0);
4250 try testArgs(u128, u191, 1 << 0);
4251 try testArgs(u128, u191, 1 << 190);
4252 try testArgs(i256, u191, 0);
4253 try testArgs(i256, u191, 1 << 0);
4254 try testArgs(i256, u191, 1 << 190);
4255 try testArgs(u256, u191, 0);
4256 try testArgs(u256, u191, 1 << 0);
4257 try testArgs(u256, u191, 1 << 190);
4258 try testArgs(i512, u191, 0);
4259 try testArgs(i512, u191, 1 << 0);
4260 try testArgs(i512, u191, 1 << 190);
4261 try testArgs(u512, u191, 0);
4262 try testArgs(u512, u191, 1 << 0);
4263 try testArgs(u512, u191, 1 << 190);
4264 try testArgs(i1024, u191, 0);
4265 try testArgs(i1024, u191, 1 << 0);
4266 try testArgs(i1024, u191, 1 << 190);
4267 try testArgs(u1024, u191, 0);
4268 try testArgs(u1024, u191, 1 << 0);
4269 try testArgs(u1024, u191, 1 << 190);
4270
4271 try testArgs(i8, i192, -1 << 191);
4272 try testArgs(i8, i192, -1);
4273 try testArgs(i8, i192, 0);
4274 try testArgs(u8, i192, -1 << 191);
4275 try testArgs(u8, i192, -1);
4276 try testArgs(u8, i192, 0);
4277 try testArgs(i16, i192, -1 << 191);
4278 try testArgs(i16, i192, -1);
4279 try testArgs(i16, i192, 0);
4280 try testArgs(u16, i192, -1 << 191);
4281 try testArgs(u16, i192, -1);
4282 try testArgs(u16, i192, 0);
4283 try testArgs(i32, i192, -1 << 191);
4284 try testArgs(i32, i192, -1);
4285 try testArgs(i32, i192, 0);
4286 try testArgs(u32, i192, -1 << 191);
4287 try testArgs(u32, i192, -1);
4288 try testArgs(u32, i192, 0);
4289 try testArgs(i64, i192, -1 << 191);
4290 try testArgs(i64, i192, -1);
4291 try testArgs(i64, i192, 0);
4292 try testArgs(u64, i192, -1 << 191);
4293 try testArgs(u64, i192, -1);
4294 try testArgs(u64, i192, 0);
4295 try testArgs(i128, i192, -1 << 191);
4296 try testArgs(i128, i192, -1);
4297 try testArgs(i128, i192, 0);
4298 try testArgs(u128, i192, -1 << 191);
4299 try testArgs(u128, i192, -1);
4300 try testArgs(u128, i192, 0);
4301 try testArgs(i256, i192, -1 << 191);
4302 try testArgs(i256, i192, -1);
4303 try testArgs(i256, i192, 0);
4304 try testArgs(u256, i192, -1 << 191);
4305 try testArgs(u256, i192, -1);
4306 try testArgs(u256, i192, 0);
4307 try testArgs(i512, i192, -1 << 191);
4308 try testArgs(i512, i192, -1);
4309 try testArgs(i512, i192, 0);
4310 try testArgs(u512, i192, -1 << 191);
4311 try testArgs(u512, i192, -1);
4312 try testArgs(u512, i192, 0);
4313 try testArgs(i1024, i192, -1 << 191);
4314 try testArgs(i1024, i192, -1);
4315 try testArgs(i1024, i192, 0);
4316 try testArgs(u1024, i192, -1 << 191);
4317 try testArgs(u1024, i192, -1);
4318 try testArgs(u1024, i192, 0);
4319 try testArgs(i8, u192, 0);
4320 try testArgs(i8, u192, 1 << 0);
4321 try testArgs(i8, u192, 1 << 191);
4322 try testArgs(u8, u192, 0);
4323 try testArgs(u8, u192, 1 << 0);
4324 try testArgs(u8, u192, 1 << 191);
4325 try testArgs(i16, u192, 0);
4326 try testArgs(i16, u192, 1 << 0);
4327 try testArgs(i16, u192, 1 << 191);
4328 try testArgs(u16, u192, 0);
4329 try testArgs(u16, u192, 1 << 0);
4330 try testArgs(u16, u192, 1 << 191);
4331 try testArgs(i32, u192, 0);
4332 try testArgs(i32, u192, 1 << 0);
4333 try testArgs(i32, u192, 1 << 191);
4334 try testArgs(u32, u192, 0);
4335 try testArgs(u32, u192, 1 << 0);
4336 try testArgs(u32, u192, 1 << 191);
4337 try testArgs(i64, u192, 0);
4338 try testArgs(i64, u192, 1 << 0);
4339 try testArgs(i64, u192, 1 << 191);
4340 try testArgs(u64, u192, 0);
4341 try testArgs(u64, u192, 1 << 0);
4342 try testArgs(u64, u192, 1 << 191);
4343 try testArgs(i128, u192, 0);
4344 try testArgs(i128, u192, 1 << 0);
4345 try testArgs(i128, u192, 1 << 191);
4346 try testArgs(u128, u192, 0);
4347 try testArgs(u128, u192, 1 << 0);
4348 try testArgs(u128, u192, 1 << 191);
4349 try testArgs(i256, u192, 0);
4350 try testArgs(i256, u192, 1 << 0);
4351 try testArgs(i256, u192, 1 << 191);
4352 try testArgs(u256, u192, 0);
4353 try testArgs(u256, u192, 1 << 0);
4354 try testArgs(u256, u192, 1 << 191);
4355 try testArgs(i512, u192, 0);
4356 try testArgs(i512, u192, 1 << 0);
4357 try testArgs(i512, u192, 1 << 191);
4358 try testArgs(u512, u192, 0);
4359 try testArgs(u512, u192, 1 << 0);
4360 try testArgs(u512, u192, 1 << 191);
4361 try testArgs(i1024, u192, 0);
4362 try testArgs(i1024, u192, 1 << 0);
4363 try testArgs(i1024, u192, 1 << 191);
4364 try testArgs(u1024, u192, 0);
4365 try testArgs(u1024, u192, 1 << 0);
4366 try testArgs(u1024, u192, 1 << 191);
4367
4368 try testArgs(i8, i193, -1 << 192);
4369 try testArgs(i8, i193, -1);
4370 try testArgs(i8, i193, 0);
4371 try testArgs(u8, i193, -1 << 192);
4372 try testArgs(u8, i193, -1);
4373 try testArgs(u8, i193, 0);
4374 try testArgs(i16, i193, -1 << 192);
4375 try testArgs(i16, i193, -1);
4376 try testArgs(i16, i193, 0);
4377 try testArgs(u16, i193, -1 << 192);
4378 try testArgs(u16, i193, -1);
4379 try testArgs(u16, i193, 0);
4380 try testArgs(i32, i193, -1 << 192);
4381 try testArgs(i32, i193, -1);
4382 try testArgs(i32, i193, 0);
4383 try testArgs(u32, i193, -1 << 192);
4384 try testArgs(u32, i193, -1);
4385 try testArgs(u32, i193, 0);
4386 try testArgs(i64, i193, -1 << 192);
4387 try testArgs(i64, i193, -1);
4388 try testArgs(i64, i193, 0);
4389 try testArgs(u64, i193, -1 << 192);
4390 try testArgs(u64, i193, -1);
4391 try testArgs(u64, i193, 0);
4392 try testArgs(i128, i193, -1 << 192);
4393 try testArgs(i128, i193, -1);
4394 try testArgs(i128, i193, 0);
4395 try testArgs(u128, i193, -1 << 192);
4396 try testArgs(u128, i193, -1);
4397 try testArgs(u128, i193, 0);
4398 try testArgs(i256, i193, -1 << 192);
4399 try testArgs(i256, i193, -1);
4400 try testArgs(i256, i193, 0);
4401 try testArgs(u256, i193, -1 << 192);
4402 try testArgs(u256, i193, -1);
4403 try testArgs(u256, i193, 0);
4404 try testArgs(i512, i193, -1 << 192);
4405 try testArgs(i512, i193, -1);
4406 try testArgs(i512, i193, 0);
4407 try testArgs(u512, i193, -1 << 192);
4408 try testArgs(u512, i193, -1);
4409 try testArgs(u512, i193, 0);
4410 try testArgs(i1024, i193, -1 << 192);
4411 try testArgs(i1024, i193, -1);
4412 try testArgs(i1024, i193, 0);
4413 try testArgs(u1024, i193, -1 << 192);
4414 try testArgs(u1024, i193, -1);
4415 try testArgs(u1024, i193, 0);
4416 try testArgs(i8, u193, 0);
4417 try testArgs(i8, u193, 1 << 0);
4418 try testArgs(i8, u193, 1 << 192);
4419 try testArgs(u8, u193, 0);
4420 try testArgs(u8, u193, 1 << 0);
4421 try testArgs(u8, u193, 1 << 192);
4422 try testArgs(i16, u193, 0);
4423 try testArgs(i16, u193, 1 << 0);
4424 try testArgs(i16, u193, 1 << 192);
4425 try testArgs(u16, u193, 0);
4426 try testArgs(u16, u193, 1 << 0);
4427 try testArgs(u16, u193, 1 << 192);
4428 try testArgs(i32, u193, 0);
4429 try testArgs(i32, u193, 1 << 0);
4430 try testArgs(i32, u193, 1 << 192);
4431 try testArgs(u32, u193, 0);
4432 try testArgs(u32, u193, 1 << 0);
4433 try testArgs(u32, u193, 1 << 192);
4434 try testArgs(i64, u193, 0);
4435 try testArgs(i64, u193, 1 << 0);
4436 try testArgs(i64, u193, 1 << 192);
4437 try testArgs(u64, u193, 0);
4438 try testArgs(u64, u193, 1 << 0);
4439 try testArgs(u64, u193, 1 << 192);
4440 try testArgs(i128, u193, 0);
4441 try testArgs(i128, u193, 1 << 0);
4442 try testArgs(i128, u193, 1 << 192);
4443 try testArgs(u128, u193, 0);
4444 try testArgs(u128, u193, 1 << 0);
4445 try testArgs(u128, u193, 1 << 192);
4446 try testArgs(i256, u193, 0);
4447 try testArgs(i256, u193, 1 << 0);
4448 try testArgs(i256, u193, 1 << 192);
4449 try testArgs(u256, u193, 0);
4450 try testArgs(u256, u193, 1 << 0);
4451 try testArgs(u256, u193, 1 << 192);
4452 try testArgs(i512, u193, 0);
4453 try testArgs(i512, u193, 1 << 0);
4454 try testArgs(i512, u193, 1 << 192);
4455 try testArgs(u512, u193, 0);
4456 try testArgs(u512, u193, 1 << 0);
4457 try testArgs(u512, u193, 1 << 192);
4458 try testArgs(i1024, u193, 0);
4459 try testArgs(i1024, u193, 1 << 0);
4460 try testArgs(i1024, u193, 1 << 192);
4461 try testArgs(u1024, u193, 0);
4462 try testArgs(u1024, u193, 1 << 0);
4463 try testArgs(u1024, u193, 1 << 192);
4464
4465 try testArgs(i8, i223, -1 << 222);
4466 try testArgs(i8, i223, -1);
4467 try testArgs(i8, i223, 0);
4468 try testArgs(u8, i223, -1 << 222);
4469 try testArgs(u8, i223, -1);
4470 try testArgs(u8, i223, 0);
4471 try testArgs(i16, i223, -1 << 222);
4472 try testArgs(i16, i223, -1);
4473 try testArgs(i16, i223, 0);
4474 try testArgs(u16, i223, -1 << 222);
4475 try testArgs(u16, i223, -1);
4476 try testArgs(u16, i223, 0);
4477 try testArgs(i32, i223, -1 << 222);
4478 try testArgs(i32, i223, -1);
4479 try testArgs(i32, i223, 0);
4480 try testArgs(u32, i223, -1 << 222);
4481 try testArgs(u32, i223, -1);
4482 try testArgs(u32, i223, 0);
4483 try testArgs(i64, i223, -1 << 222);
4484 try testArgs(i64, i223, -1);
4485 try testArgs(i64, i223, 0);
4486 try testArgs(u64, i223, -1 << 222);
4487 try testArgs(u64, i223, -1);
4488 try testArgs(u64, i223, 0);
4489 try testArgs(i128, i223, -1 << 222);
4490 try testArgs(i128, i223, -1);
4491 try testArgs(i128, i223, 0);
4492 try testArgs(u128, i223, -1 << 222);
4493 try testArgs(u128, i223, -1);
4494 try testArgs(u128, i223, 0);
4495 try testArgs(i256, i223, -1 << 222);
4496 try testArgs(i256, i223, -1);
4497 try testArgs(i256, i223, 0);
4498 try testArgs(u256, i223, -1 << 222);
4499 try testArgs(u256, i223, -1);
4500 try testArgs(u256, i223, 0);
4501 try testArgs(i512, i223, -1 << 222);
4502 try testArgs(i512, i223, -1);
4503 try testArgs(i512, i223, 0);
4504 try testArgs(u512, i223, -1 << 222);
4505 try testArgs(u512, i223, -1);
4506 try testArgs(u512, i223, 0);
4507 try testArgs(i1024, i223, -1 << 222);
4508 try testArgs(i1024, i223, -1);
4509 try testArgs(i1024, i223, 0);
4510 try testArgs(u1024, i223, -1 << 222);
4511 try testArgs(u1024, i223, -1);
4512 try testArgs(u1024, i223, 0);
4513 try testArgs(i8, u223, 0);
4514 try testArgs(i8, u223, 1 << 0);
4515 try testArgs(i8, u223, 1 << 222);
4516 try testArgs(u8, u223, 0);
4517 try testArgs(u8, u223, 1 << 0);
4518 try testArgs(u8, u223, 1 << 222);
4519 try testArgs(i16, u223, 0);
4520 try testArgs(i16, u223, 1 << 0);
4521 try testArgs(i16, u223, 1 << 222);
4522 try testArgs(u16, u223, 0);
4523 try testArgs(u16, u223, 1 << 0);
4524 try testArgs(u16, u223, 1 << 222);
4525 try testArgs(i32, u223, 0);
4526 try testArgs(i32, u223, 1 << 0);
4527 try testArgs(i32, u223, 1 << 222);
4528 try testArgs(u32, u223, 0);
4529 try testArgs(u32, u223, 1 << 0);
4530 try testArgs(u32, u223, 1 << 222);
4531 try testArgs(i64, u223, 0);
4532 try testArgs(i64, u223, 1 << 0);
4533 try testArgs(i64, u223, 1 << 222);
4534 try testArgs(u64, u223, 0);
4535 try testArgs(u64, u223, 1 << 0);
4536 try testArgs(u64, u223, 1 << 222);
4537 try testArgs(i128, u223, 0);
4538 try testArgs(i128, u223, 1 << 0);
4539 try testArgs(i128, u223, 1 << 222);
4540 try testArgs(u128, u223, 0);
4541 try testArgs(u128, u223, 1 << 0);
4542 try testArgs(u128, u223, 1 << 222);
4543 try testArgs(i256, u223, 0);
4544 try testArgs(i256, u223, 1 << 0);
4545 try testArgs(i256, u223, 1 << 222);
4546 try testArgs(u256, u223, 0);
4547 try testArgs(u256, u223, 1 << 0);
4548 try testArgs(u256, u223, 1 << 222);
4549 try testArgs(i512, u223, 0);
4550 try testArgs(i512, u223, 1 << 0);
4551 try testArgs(i512, u223, 1 << 222);
4552 try testArgs(u512, u223, 0);
4553 try testArgs(u512, u223, 1 << 0);
4554 try testArgs(u512, u223, 1 << 222);
4555 try testArgs(i1024, u223, 0);
4556 try testArgs(i1024, u223, 1 << 0);
4557 try testArgs(i1024, u223, 1 << 222);
4558 try testArgs(u1024, u223, 0);
4559 try testArgs(u1024, u223, 1 << 0);
4560 try testArgs(u1024, u223, 1 << 222);
4561
4562 try testArgs(i8, i224, -1 << 223);
4563 try testArgs(i8, i224, -1);
4564 try testArgs(i8, i224, 0);
4565 try testArgs(u8, i224, -1 << 223);
4566 try testArgs(u8, i224, -1);
4567 try testArgs(u8, i224, 0);
4568 try testArgs(i16, i224, -1 << 223);
4569 try testArgs(i16, i224, -1);
4570 try testArgs(i16, i224, 0);
4571 try testArgs(u16, i224, -1 << 223);
4572 try testArgs(u16, i224, -1);
4573 try testArgs(u16, i224, 0);
4574 try testArgs(i32, i224, -1 << 223);
4575 try testArgs(i32, i224, -1);
4576 try testArgs(i32, i224, 0);
4577 try testArgs(u32, i224, -1 << 223);
4578 try testArgs(u32, i224, -1);
4579 try testArgs(u32, i224, 0);
4580 try testArgs(i64, i224, -1 << 223);
4581 try testArgs(i64, i224, -1);
4582 try testArgs(i64, i224, 0);
4583 try testArgs(u64, i224, -1 << 223);
4584 try testArgs(u64, i224, -1);
4585 try testArgs(u64, i224, 0);
4586 try testArgs(i128, i224, -1 << 223);
4587 try testArgs(i128, i224, -1);
4588 try testArgs(i128, i224, 0);
4589 try testArgs(u128, i224, -1 << 223);
4590 try testArgs(u128, i224, -1);
4591 try testArgs(u128, i224, 0);
4592 try testArgs(i256, i224, -1 << 223);
4593 try testArgs(i256, i224, -1);
4594 try testArgs(i256, i224, 0);
4595 try testArgs(u256, i224, -1 << 223);
4596 try testArgs(u256, i224, -1);
4597 try testArgs(u256, i224, 0);
4598 try testArgs(i512, i224, -1 << 223);
4599 try testArgs(i512, i224, -1);
4600 try testArgs(i512, i224, 0);
4601 try testArgs(u512, i224, -1 << 223);
4602 try testArgs(u512, i224, -1);
4603 try testArgs(u512, i224, 0);
4604 try testArgs(i1024, i224, -1 << 223);
4605 try testArgs(i1024, i224, -1);
4606 try testArgs(i1024, i224, 0);
4607 try testArgs(u1024, i224, -1 << 223);
4608 try testArgs(u1024, i224, -1);
4609 try testArgs(u1024, i224, 0);
4610 try testArgs(i8, u224, 0);
4611 try testArgs(i8, u224, 1 << 0);
4612 try testArgs(i8, u224, 1 << 223);
4613 try testArgs(u8, u224, 0);
4614 try testArgs(u8, u224, 1 << 0);
4615 try testArgs(u8, u224, 1 << 223);
4616 try testArgs(i16, u224, 0);
4617 try testArgs(i16, u224, 1 << 0);
4618 try testArgs(i16, u224, 1 << 223);
4619 try testArgs(u16, u224, 0);
4620 try testArgs(u16, u224, 1 << 0);
4621 try testArgs(u16, u224, 1 << 223);
4622 try testArgs(i32, u224, 0);
4623 try testArgs(i32, u224, 1 << 0);
4624 try testArgs(i32, u224, 1 << 223);
4625 try testArgs(u32, u224, 0);
4626 try testArgs(u32, u224, 1 << 0);
4627 try testArgs(u32, u224, 1 << 223);
4628 try testArgs(i64, u224, 0);
4629 try testArgs(i64, u224, 1 << 0);
4630 try testArgs(i64, u224, 1 << 223);
4631 try testArgs(u64, u224, 0);
4632 try testArgs(u64, u224, 1 << 0);
4633 try testArgs(u64, u224, 1 << 223);
4634 try testArgs(i128, u224, 0);
4635 try testArgs(i128, u224, 1 << 0);
4636 try testArgs(i128, u224, 1 << 223);
4637 try testArgs(u128, u224, 0);
4638 try testArgs(u128, u224, 1 << 0);
4639 try testArgs(u128, u224, 1 << 223);
4640 try testArgs(i256, u224, 0);
4641 try testArgs(i256, u224, 1 << 0);
4642 try testArgs(i256, u224, 1 << 223);
4643 try testArgs(u256, u224, 0);
4644 try testArgs(u256, u224, 1 << 0);
4645 try testArgs(u256, u224, 1 << 223);
4646 try testArgs(i512, u224, 0);
4647 try testArgs(i512, u224, 1 << 0);
4648 try testArgs(i512, u224, 1 << 223);
4649 try testArgs(u512, u224, 0);
4650 try testArgs(u512, u224, 1 << 0);
4651 try testArgs(u512, u224, 1 << 223);
4652 try testArgs(i1024, u224, 0);
4653 try testArgs(i1024, u224, 1 << 0);
4654 try testArgs(i1024, u224, 1 << 223);
4655 try testArgs(u1024, u224, 0);
4656 try testArgs(u1024, u224, 1 << 0);
4657 try testArgs(u1024, u224, 1 << 223);
4658
4659 try testArgs(i8, i225, -1 << 224);
4660 try testArgs(i8, i225, -1);
4661 try testArgs(i8, i225, 0);
4662 try testArgs(u8, i225, -1 << 224);
4663 try testArgs(u8, i225, -1);
4664 try testArgs(u8, i225, 0);
4665 try testArgs(i16, i225, -1 << 224);
4666 try testArgs(i16, i225, -1);
4667 try testArgs(i16, i225, 0);
4668 try testArgs(u16, i225, -1 << 224);
4669 try testArgs(u16, i225, -1);
4670 try testArgs(u16, i225, 0);
4671 try testArgs(i32, i225, -1 << 224);
4672 try testArgs(i32, i225, -1);
4673 try testArgs(i32, i225, 0);
4674 try testArgs(u32, i225, -1 << 224);
4675 try testArgs(u32, i225, -1);
4676 try testArgs(u32, i225, 0);
4677 try testArgs(i64, i225, -1 << 224);
4678 try testArgs(i64, i225, -1);
4679 try testArgs(i64, i225, 0);
4680 try testArgs(u64, i225, -1 << 224);
4681 try testArgs(u64, i225, -1);
4682 try testArgs(u64, i225, 0);
4683 try testArgs(i128, i225, -1 << 224);
4684 try testArgs(i128, i225, -1);
4685 try testArgs(i128, i225, 0);
4686 try testArgs(u128, i225, -1 << 224);
4687 try testArgs(u128, i225, -1);
4688 try testArgs(u128, i225, 0);
4689 try testArgs(i256, i225, -1 << 224);
4690 try testArgs(i256, i225, -1);
4691 try testArgs(i256, i225, 0);
4692 try testArgs(u256, i225, -1 << 224);
4693 try testArgs(u256, i225, -1);
4694 try testArgs(u256, i225, 0);
4695 try testArgs(i512, i225, -1 << 224);
4696 try testArgs(i512, i225, -1);
4697 try testArgs(i512, i225, 0);
4698 try testArgs(u512, i225, -1 << 224);
4699 try testArgs(u512, i225, -1);
4700 try testArgs(u512, i225, 0);
4701 try testArgs(i1024, i225, -1 << 224);
4702 try testArgs(i1024, i225, -1);
4703 try testArgs(i1024, i225, 0);
4704 try testArgs(u1024, i225, -1 << 224);
4705 try testArgs(u1024, i225, -1);
4706 try testArgs(u1024, i225, 0);
4707 try testArgs(i8, u225, 0);
4708 try testArgs(i8, u225, 1 << 0);
4709 try testArgs(i8, u225, 1 << 224);
4710 try testArgs(u8, u225, 0);
4711 try testArgs(u8, u225, 1 << 0);
4712 try testArgs(u8, u225, 1 << 224);
4713 try testArgs(i16, u225, 0);
4714 try testArgs(i16, u225, 1 << 0);
4715 try testArgs(i16, u225, 1 << 224);
4716 try testArgs(u16, u225, 0);
4717 try testArgs(u16, u225, 1 << 0);
4718 try testArgs(u16, u225, 1 << 224);
4719 try testArgs(i32, u225, 0);
4720 try testArgs(i32, u225, 1 << 0);
4721 try testArgs(i32, u225, 1 << 224);
4722 try testArgs(u32, u225, 0);
4723 try testArgs(u32, u225, 1 << 0);
4724 try testArgs(u32, u225, 1 << 224);
4725 try testArgs(i64, u225, 0);
4726 try testArgs(i64, u225, 1 << 0);
4727 try testArgs(i64, u225, 1 << 224);
4728 try testArgs(u64, u225, 0);
4729 try testArgs(u64, u225, 1 << 0);
4730 try testArgs(u64, u225, 1 << 224);
4731 try testArgs(i128, u225, 0);
4732 try testArgs(i128, u225, 1 << 0);
4733 try testArgs(i128, u225, 1 << 224);
4734 try testArgs(u128, u225, 0);
4735 try testArgs(u128, u225, 1 << 0);
4736 try testArgs(u128, u225, 1 << 224);
4737 try testArgs(i256, u225, 0);
4738 try testArgs(i256, u225, 1 << 0);
4739 try testArgs(i256, u225, 1 << 224);
4740 try testArgs(u256, u225, 0);
4741 try testArgs(u256, u225, 1 << 0);
4742 try testArgs(u256, u225, 1 << 224);
4743 try testArgs(i512, u225, 0);
4744 try testArgs(i512, u225, 1 << 0);
4745 try testArgs(i512, u225, 1 << 224);
4746 try testArgs(u512, u225, 0);
4747 try testArgs(u512, u225, 1 << 0);
4748 try testArgs(u512, u225, 1 << 224);
4749 try testArgs(i1024, u225, 0);
4750 try testArgs(i1024, u225, 1 << 0);
4751 try testArgs(i1024, u225, 1 << 224);
4752 try testArgs(u1024, u225, 0);
4753 try testArgs(u1024, u225, 1 << 0);
4754 try testArgs(u1024, u225, 1 << 224);
4755
4756 try testArgs(i8, i255, -1 << 254);
4757 try testArgs(i8, i255, -1);
4758 try testArgs(i8, i255, 0);
4759 try testArgs(u8, i255, -1 << 254);4301 try testArgs(u8, i255, -1 << 254);
4760 try testArgs(u8, i255, -1);4302 try testArgs(u8, i255, -1);
4761 try testArgs(u8, i255, 0);4303 try testArgs(u8, i255, 0);
4762 try testArgs(i16, i255, -1 << 254);
4763 try testArgs(i16, i255, -1);
4764 try testArgs(i16, i255, 0);
4765 try testArgs(u16, i255, -1 << 254);4304 try testArgs(u16, i255, -1 << 254);
4766 try testArgs(u16, i255, -1);4305 try testArgs(u16, i255, -1);
4767 try testArgs(u16, i255, 0);4306 try testArgs(u16, i255, 0);
4768 try testArgs(i32, i255, -1 << 254);
4769 try testArgs(i32, i255, -1);
4770 try testArgs(i32, i255, 0);
4771 try testArgs(u32, i255, -1 << 254);4307 try testArgs(u32, i255, -1 << 254);
4772 try testArgs(u32, i255, -1);4308 try testArgs(u32, i255, -1);
4773 try testArgs(u32, i255, 0);4309 try testArgs(u32, i255, 0);
4774 try testArgs(i64, i255, -1 << 254);
4775 try testArgs(i64, i255, -1);
4776 try testArgs(i64, i255, 0);
4777 try testArgs(u64, i255, -1 << 254);4310 try testArgs(u64, i255, -1 << 254);
4778 try testArgs(u64, i255, -1);4311 try testArgs(u64, i255, -1);
4779 try testArgs(u64, i255, 0);4312 try testArgs(u64, i255, 0);
4780 try testArgs(i128, i255, -1 << 254);
4781 try testArgs(i128, i255, -1);
4782 try testArgs(i128, i255, 0);
4783 try testArgs(u128, i255, -1 << 254);4313 try testArgs(u128, i255, -1 << 254);
4784 try testArgs(u128, i255, -1);4314 try testArgs(u128, i255, -1);
4785 try testArgs(u128, i255, 0);4315 try testArgs(u128, i255, 0);
4786 try testArgs(i256, i255, -1 << 254);
4787 try testArgs(i256, i255, -1);
4788 try testArgs(i256, i255, 0);
4789 try testArgs(u256, i255, -1 << 254);4316 try testArgs(u256, i255, -1 << 254);
4790 try testArgs(u256, i255, -1);4317 try testArgs(u256, i255, -1);
4791 try testArgs(u256, i255, 0);4318 try testArgs(u256, i255, 0);
4792 try testArgs(i512, i255, -1 << 254);
4793 try testArgs(i512, i255, -1);
4794 try testArgs(i512, i255, 0);
4795 try testArgs(u512, i255, -1 << 254);4319 try testArgs(u512, i255, -1 << 254);
4796 try testArgs(u512, i255, -1);4320 try testArgs(u512, i255, -1);
4797 try testArgs(u512, i255, 0);4321 try testArgs(u512, i255, 0);
4798 try testArgs(i1024, i255, -1 << 254);
4799 try testArgs(i1024, i255, -1);
4800 try testArgs(i1024, i255, 0);
4801 try testArgs(u1024, i255, -1 << 254);4322 try testArgs(u1024, i255, -1 << 254);
4802 try testArgs(u1024, i255, -1);4323 try testArgs(u1024, i255, -1);
4803 try testArgs(u1024, i255, 0);4324 try testArgs(u1024, i255, 0);
4804 try testArgs(i8, u255, 0);4325 try testArgs(i8, u255, 0);
4805 try testArgs(i8, u255, 1 << 0);4326 try testArgs(i8, u255, 1 << 0);
4806 try testArgs(i8, u255, 1 << 254);4327 try testArgs(i8, u255, 1 << 254);
4807 try testArgs(u8, u255, 0);
4808 try testArgs(u8, u255, 1 << 0);
4809 try testArgs(u8, u255, 1 << 254);
4810 try testArgs(i16, u255, 0);4328 try testArgs(i16, u255, 0);
4811 try testArgs(i16, u255, 1 << 0);4329 try testArgs(i16, u255, 1 << 0);
4812 try testArgs(i16, u255, 1 << 254);4330 try testArgs(i16, u255, 1 << 254);
4813 try testArgs(u16, u255, 0);
4814 try testArgs(u16, u255, 1 << 0);
4815 try testArgs(u16, u255, 1 << 254);
4816 try testArgs(i32, u255, 0);4331 try testArgs(i32, u255, 0);
4817 try testArgs(i32, u255, 1 << 0);4332 try testArgs(i32, u255, 1 << 0);
4818 try testArgs(i32, u255, 1 << 254);4333 try testArgs(i32, u255, 1 << 254);
4819 try testArgs(u32, u255, 0);
4820 try testArgs(u32, u255, 1 << 0);
4821 try testArgs(u32, u255, 1 << 254);
4822 try testArgs(i64, u255, 0);4334 try testArgs(i64, u255, 0);
4823 try testArgs(i64, u255, 1 << 0);4335 try testArgs(i64, u255, 1 << 0);
4824 try testArgs(i64, u255, 1 << 254);4336 try testArgs(i64, u255, 1 << 254);
4825 try testArgs(u64, u255, 0);
4826 try testArgs(u64, u255, 1 << 0);
4827 try testArgs(u64, u255, 1 << 254);
4828 try testArgs(i128, u255, 0);4337 try testArgs(i128, u255, 0);
4829 try testArgs(i128, u255, 1 << 0);4338 try testArgs(i128, u255, 1 << 0);
4830 try testArgs(i128, u255, 1 << 254);4339 try testArgs(i128, u255, 1 << 254);
4831 try testArgs(u128, u255, 0);
4832 try testArgs(u128, u255, 1 << 0);
4833 try testArgs(u128, u255, 1 << 254);
4834 try testArgs(i256, u255, 0);4340 try testArgs(i256, u255, 0);
4835 try testArgs(i256, u255, 1 << 0);4341 try testArgs(i256, u255, 1 << 0);
4836 try testArgs(i256, u255, 1 << 254);4342 try testArgs(i256, u255, 1 << 254);
4837 try testArgs(u256, u255, 0);
4838 try testArgs(u256, u255, 1 << 0);
4839 try testArgs(u256, u255, 1 << 254);
4840 try testArgs(i512, u255, 0);4343 try testArgs(i512, u255, 0);
4841 try testArgs(i512, u255, 1 << 0);4344 try testArgs(i512, u255, 1 << 0);
4842 try testArgs(i512, u255, 1 << 254);4345 try testArgs(i512, u255, 1 << 254);
4843 try testArgs(u512, u255, 0);
4844 try testArgs(u512, u255, 1 << 0);
4845 try testArgs(u512, u255, 1 << 254);
4846 try testArgs(i1024, u255, 0);4346 try testArgs(i1024, u255, 0);
4847 try testArgs(i1024, u255, 1 << 0);4347 try testArgs(i1024, u255, 1 << 0);
4848 try testArgs(i1024, u255, 1 << 254);4348 try testArgs(i1024, u255, 1 << 254);
4849 try testArgs(u1024, u255, 0);
4850 try testArgs(u1024, u255, 1 << 0);
4851 try testArgs(u1024, u255, 1 << 254);
48524349
4853 try testArgs(i8, i256, -1 << 255);
4854 try testArgs(i8, i256, -1);
4855 try testArgs(i8, i256, 0);
4856 try testArgs(u8, i256, -1 << 255);4350 try testArgs(u8, i256, -1 << 255);
4857 try testArgs(u8, i256, -1);4351 try testArgs(u8, i256, -1);
4858 try testArgs(u8, i256, 0);4352 try testArgs(u8, i256, 0);
4859 try testArgs(i16, i256, -1 << 255);
4860 try testArgs(i16, i256, -1);
4861 try testArgs(i16, i256, 0);
4862 try testArgs(u16, i256, -1 << 255);4353 try testArgs(u16, i256, -1 << 255);
4863 try testArgs(u16, i256, -1);4354 try testArgs(u16, i256, -1);
4864 try testArgs(u16, i256, 0);4355 try testArgs(u16, i256, 0);
4865 try testArgs(i32, i256, -1 << 255);
4866 try testArgs(i32, i256, -1);
4867 try testArgs(i32, i256, 0);
4868 try testArgs(u32, i256, -1 << 255);4356 try testArgs(u32, i256, -1 << 255);
4869 try testArgs(u32, i256, -1);4357 try testArgs(u32, i256, -1);
4870 try testArgs(u32, i256, 0);4358 try testArgs(u32, i256, 0);
4871 try testArgs(i64, i256, -1 << 255);
4872 try testArgs(i64, i256, -1);
4873 try testArgs(i64, i256, 0);
4874 try testArgs(u64, i256, -1 << 255);4359 try testArgs(u64, i256, -1 << 255);
4875 try testArgs(u64, i256, -1);4360 try testArgs(u64, i256, -1);
4876 try testArgs(u64, i256, 0);4361 try testArgs(u64, i256, 0);
4877 try testArgs(i128, i256, -1 << 255);
4878 try testArgs(i128, i256, -1);
4879 try testArgs(i128, i256, 0);
4880 try testArgs(u128, i256, -1 << 255);4362 try testArgs(u128, i256, -1 << 255);
4881 try testArgs(u128, i256, -1);4363 try testArgs(u128, i256, -1);
4882 try testArgs(u128, i256, 0);4364 try testArgs(u128, i256, 0);
4883 try testArgs(i256, i256, -1 << 255);
4884 try testArgs(i256, i256, -1);
4885 try testArgs(i256, i256, 0);
4886 try testArgs(u256, i256, -1 << 255);4365 try testArgs(u256, i256, -1 << 255);
4887 try testArgs(u256, i256, -1);4366 try testArgs(u256, i256, -1);
4888 try testArgs(u256, i256, 0);4367 try testArgs(u256, i256, 0);
4889 try testArgs(i512, i256, -1 << 255);
4890 try testArgs(i512, i256, -1);
4891 try testArgs(i512, i256, 0);
4892 try testArgs(u512, i256, -1 << 255);4368 try testArgs(u512, i256, -1 << 255);
4893 try testArgs(u512, i256, -1);4369 try testArgs(u512, i256, -1);
4894 try testArgs(u512, i256, 0);4370 try testArgs(u512, i256, 0);
4895 try testArgs(i1024, i256, -1 << 255);
4896 try testArgs(i1024, i256, -1);
4897 try testArgs(i1024, i256, 0);
4898 try testArgs(u1024, i256, -1 << 255);4371 try testArgs(u1024, i256, -1 << 255);
4899 try testArgs(u1024, i256, -1);4372 try testArgs(u1024, i256, -1);
4900 try testArgs(u1024, i256, 0);4373 try testArgs(u1024, i256, 0);
4901 try testArgs(i8, u256, 0);4374 try testArgs(i8, u256, 0);
4902 try testArgs(i8, u256, 1 << 0);4375 try testArgs(i8, u256, 1 << 0);
4903 try testArgs(i8, u256, 1 << 255);4376 try testArgs(i8, u256, 1 << 255);
4904 try testArgs(u8, u256, 0);
4905 try testArgs(u8, u256, 1 << 0);
4906 try testArgs(u8, u256, 1 << 255);
4907 try testArgs(i16, u256, 0);4377 try testArgs(i16, u256, 0);
4908 try testArgs(i16, u256, 1 << 0);4378 try testArgs(i16, u256, 1 << 0);
4909 try testArgs(i16, u256, 1 << 255);4379 try testArgs(i16, u256, 1 << 255);
4910 try testArgs(u16, u256, 0);
4911 try testArgs(u16, u256, 1 << 0);
4912 try testArgs(u16, u256, 1 << 255);
4913 try testArgs(i32, u256, 0);4380 try testArgs(i32, u256, 0);
4914 try testArgs(i32, u256, 1 << 0);4381 try testArgs(i32, u256, 1 << 0);
4915 try testArgs(i32, u256, 1 << 255);4382 try testArgs(i32, u256, 1 << 255);
4916 try testArgs(u32, u256, 0);
4917 try testArgs(u32, u256, 1 << 0);
4918 try testArgs(u32, u256, 1 << 255);
4919 try testArgs(i64, u256, 0);4383 try testArgs(i64, u256, 0);
4920 try testArgs(i64, u256, 1 << 0);4384 try testArgs(i64, u256, 1 << 0);
4921 try testArgs(i64, u256, 1 << 255);4385 try testArgs(i64, u256, 1 << 255);
4922 try testArgs(u64, u256, 0);
4923 try testArgs(u64, u256, 1 << 0);
4924 try testArgs(u64, u256, 1 << 255);
4925 try testArgs(i128, u256, 0);4386 try testArgs(i128, u256, 0);
4926 try testArgs(i128, u256, 1 << 0);4387 try testArgs(i128, u256, 1 << 0);
4927 try testArgs(i128, u256, 1 << 255);4388 try testArgs(i128, u256, 1 << 255);
4928 try testArgs(u128, u256, 0);
4929 try testArgs(u128, u256, 1 << 0);
4930 try testArgs(u128, u256, 1 << 255);
4931 try testArgs(i256, u256, 0);4389 try testArgs(i256, u256, 0);
4932 try testArgs(i256, u256, 1 << 0);4390 try testArgs(i256, u256, 1 << 0);
4933 try testArgs(i256, u256, 1 << 255);4391 try testArgs(i256, u256, 1 << 255);
4934 try testArgs(u256, u256, 0);
4935 try testArgs(u256, u256, 1 << 0);
4936 try testArgs(u256, u256, 1 << 255);
4937 try testArgs(i512, u256, 0);4392 try testArgs(i512, u256, 0);
4938 try testArgs(i512, u256, 1 << 0);4393 try testArgs(i512, u256, 1 << 0);
4939 try testArgs(i512, u256, 1 << 255);4394 try testArgs(i512, u256, 1 << 255);
4940 try testArgs(u512, u256, 0);
4941 try testArgs(u512, u256, 1 << 0);
4942 try testArgs(u512, u256, 1 << 255);
4943 try testArgs(i1024, u256, 0);4395 try testArgs(i1024, u256, 0);
4944 try testArgs(i1024, u256, 1 << 0);4396 try testArgs(i1024, u256, 1 << 0);
4945 try testArgs(i1024, u256, 1 << 255);4397 try testArgs(i1024, u256, 1 << 255);
4946 try testArgs(u1024, u256, 0);
4947 try testArgs(u1024, u256, 1 << 0);
4948 try testArgs(u1024, u256, 1 << 255);
49494398
4950 try testArgs(i8, i257, -1 << 256);
4951 try testArgs(i8, i257, -1);
4952 try testArgs(i8, i257, 0);
4953 try testArgs(u8, i257, -1 << 256);4399 try testArgs(u8, i257, -1 << 256);
4954 try testArgs(u8, i257, -1);4400 try testArgs(u8, i257, -1);
4955 try testArgs(u8, i257, 0);4401 try testArgs(u8, i257, 0);
4956 try testArgs(i16, i257, -1 << 256);
4957 try testArgs(i16, i257, -1);
4958 try testArgs(i16, i257, 0);
4959 try testArgs(u16, i257, -1 << 256);4402 try testArgs(u16, i257, -1 << 256);
4960 try testArgs(u16, i257, -1);4403 try testArgs(u16, i257, -1);
4961 try testArgs(u16, i257, 0);4404 try testArgs(u16, i257, 0);
4962 try testArgs(i32, i257, -1 << 256);
4963 try testArgs(i32, i257, -1);
4964 try testArgs(i32, i257, 0);
4965 try testArgs(u32, i257, -1 << 256);4405 try testArgs(u32, i257, -1 << 256);
4966 try testArgs(u32, i257, -1);4406 try testArgs(u32, i257, -1);
4967 try testArgs(u32, i257, 0);4407 try testArgs(u32, i257, 0);
4968 try testArgs(i64, i257, -1 << 256);
4969 try testArgs(i64, i257, -1);
4970 try testArgs(i64, i257, 0);
4971 try testArgs(u64, i257, -1 << 256);4408 try testArgs(u64, i257, -1 << 256);
4972 try testArgs(u64, i257, -1);4409 try testArgs(u64, i257, -1);
4973 try testArgs(u64, i257, 0);4410 try testArgs(u64, i257, 0);
4974 try testArgs(i128, i257, -1 << 256);
4975 try testArgs(i128, i257, -1);
4976 try testArgs(i128, i257, 0);
4977 try testArgs(u128, i257, -1 << 256);4411 try testArgs(u128, i257, -1 << 256);
4978 try testArgs(u128, i257, -1);4412 try testArgs(u128, i257, -1);
4979 try testArgs(u128, i257, 0);4413 try testArgs(u128, i257, 0);
4980 try testArgs(i256, i257, -1 << 256);
4981 try testArgs(i256, i257, -1);
4982 try testArgs(i256, i257, 0);
4983 try testArgs(u256, i257, -1 << 256);4414 try testArgs(u256, i257, -1 << 256);
4984 try testArgs(u256, i257, -1);4415 try testArgs(u256, i257, -1);
4985 try testArgs(u256, i257, 0);4416 try testArgs(u256, i257, 0);
4986 try testArgs(i512, i257, -1 << 256);
4987 try testArgs(i512, i257, -1);
4988 try testArgs(i512, i257, 0);
4989 try testArgs(u512, i257, -1 << 256);4417 try testArgs(u512, i257, -1 << 256);
4990 try testArgs(u512, i257, -1);4418 try testArgs(u512, i257, -1);
4991 try testArgs(u512, i257, 0);4419 try testArgs(u512, i257, 0);
4992 try testArgs(i1024, i257, -1 << 256);
4993 try testArgs(i1024, i257, -1);
4994 try testArgs(i1024, i257, 0);
4995 try testArgs(u1024, i257, -1 << 256);4420 try testArgs(u1024, i257, -1 << 256);
4996 try testArgs(u1024, i257, -1);4421 try testArgs(u1024, i257, -1);
4997 try testArgs(u1024, i257, 0);4422 try testArgs(u1024, i257, 0);
4998 try testArgs(i8, u257, 0);4423 try testArgs(i8, u257, 0);
4999 try testArgs(i8, u257, 1 << 0);4424 try testArgs(i8, u257, 1 << 0);
5000 try testArgs(i8, u257, 1 << 256);4425 try testArgs(i8, u257, 1 << 256);
5001 try testArgs(u8, u257, 0);
5002 try testArgs(u8, u257, 1 << 0);
5003 try testArgs(u8, u257, 1 << 256);
5004 try testArgs(i16, u257, 0);4426 try testArgs(i16, u257, 0);
5005 try testArgs(i16, u257, 1 << 0);4427 try testArgs(i16, u257, 1 << 0);
5006 try testArgs(i16, u257, 1 << 256);4428 try testArgs(i16, u257, 1 << 256);
5007 try testArgs(u16, u257, 0);
5008 try testArgs(u16, u257, 1 << 0);
5009 try testArgs(u16, u257, 1 << 256);
5010 try testArgs(i32, u257, 0);4429 try testArgs(i32, u257, 0);
5011 try testArgs(i32, u257, 1 << 0);4430 try testArgs(i32, u257, 1 << 0);
5012 try testArgs(i32, u257, 1 << 256);4431 try testArgs(i32, u257, 1 << 256);
5013 try testArgs(u32, u257, 0);
5014 try testArgs(u32, u257, 1 << 0);
5015 try testArgs(u32, u257, 1 << 256);
5016 try testArgs(i64, u257, 0);4432 try testArgs(i64, u257, 0);
5017 try testArgs(i64, u257, 1 << 0);4433 try testArgs(i64, u257, 1 << 0);
5018 try testArgs(i64, u257, 1 << 256);4434 try testArgs(i64, u257, 1 << 256);
5019 try testArgs(u64, u257, 0);
5020 try testArgs(u64, u257, 1 << 0);
5021 try testArgs(u64, u257, 1 << 256);
5022 try testArgs(i128, u257, 0);4435 try testArgs(i128, u257, 0);
5023 try testArgs(i128, u257, 1 << 0);4436 try testArgs(i128, u257, 1 << 0);
5024 try testArgs(i128, u257, 1 << 256);4437 try testArgs(i128, u257, 1 << 256);
5025 try testArgs(u128, u257, 0);
5026 try testArgs(u128, u257, 1 << 0);
5027 try testArgs(u128, u257, 1 << 256);
5028 try testArgs(i256, u257, 0);4438 try testArgs(i256, u257, 0);
5029 try testArgs(i256, u257, 1 << 0);4439 try testArgs(i256, u257, 1 << 0);
5030 try testArgs(i256, u257, 1 << 256);4440 try testArgs(i256, u257, 1 << 256);
5031 try testArgs(u256, u257, 0);
5032 try testArgs(u256, u257, 1 << 0);
5033 try testArgs(u256, u257, 1 << 256);
5034 try testArgs(i512, u257, 0);4441 try testArgs(i512, u257, 0);
5035 try testArgs(i512, u257, 1 << 0);4442 try testArgs(i512, u257, 1 << 0);
5036 try testArgs(i512, u257, 1 << 256);4443 try testArgs(i512, u257, 1 << 256);
5037 try testArgs(u512, u257, 0);
5038 try testArgs(u512, u257, 1 << 0);
5039 try testArgs(u512, u257, 1 << 256);
5040 try testArgs(i1024, u257, 0);4444 try testArgs(i1024, u257, 0);
5041 try testArgs(i1024, u257, 1 << 0);4445 try testArgs(i1024, u257, 1 << 0);
5042 try testArgs(i1024, u257, 1 << 256);4446 try testArgs(i1024, u257, 1 << 256);
5043 try testArgs(u1024, u257, 0);
5044 try testArgs(u1024, u257, 1 << 0);
5045 try testArgs(u1024, u257, 1 << 256);
50464447
5047 try testArgs(i8, i511, -1 << 510);
5048 try testArgs(i8, i511, -1);
5049 try testArgs(i8, i511, 0);
5050 try testArgs(u8, i511, -1 << 510);4448 try testArgs(u8, i511, -1 << 510);
5051 try testArgs(u8, i511, -1);4449 try testArgs(u8, i511, -1);
5052 try testArgs(u8, i511, 0);4450 try testArgs(u8, i511, 0);
5053 try testArgs(i16, i511, -1 << 510);
5054 try testArgs(i16, i511, -1);
5055 try testArgs(i16, i511, 0);
5056 try testArgs(u16, i511, -1 << 510);4451 try testArgs(u16, i511, -1 << 510);
5057 try testArgs(u16, i511, -1);4452 try testArgs(u16, i511, -1);
5058 try testArgs(u16, i511, 0);4453 try testArgs(u16, i511, 0);
5059 try testArgs(i32, i511, -1 << 510);
5060 try testArgs(i32, i511, -1);
5061 try testArgs(i32, i511, 0);
5062 try testArgs(u32, i511, -1 << 510);4454 try testArgs(u32, i511, -1 << 510);
5063 try testArgs(u32, i511, -1);4455 try testArgs(u32, i511, -1);
5064 try testArgs(u32, i511, 0);4456 try testArgs(u32, i511, 0);
5065 try testArgs(i64, i511, -1 << 510);
5066 try testArgs(i64, i511, -1);
5067 try testArgs(i64, i511, 0);
5068 try testArgs(u64, i511, -1 << 510);4457 try testArgs(u64, i511, -1 << 510);
5069 try testArgs(u64, i511, -1);4458 try testArgs(u64, i511, -1);
5070 try testArgs(u64, i511, 0);4459 try testArgs(u64, i511, 0);
5071 try testArgs(i128, i511, -1 << 510);
5072 try testArgs(i128, i511, -1);
5073 try testArgs(i128, i511, 0);
5074 try testArgs(u128, i511, -1 << 510);4460 try testArgs(u128, i511, -1 << 510);
5075 try testArgs(u128, i511, -1);4461 try testArgs(u128, i511, -1);
5076 try testArgs(u128, i511, 0);4462 try testArgs(u128, i511, 0);
5077 try testArgs(i256, i511, -1 << 510);
5078 try testArgs(i256, i511, -1);
5079 try testArgs(i256, i511, 0);
5080 try testArgs(u256, i511, -1 << 510);4463 try testArgs(u256, i511, -1 << 510);
5081 try testArgs(u256, i511, -1);4464 try testArgs(u256, i511, -1);
5082 try testArgs(u256, i511, 0);4465 try testArgs(u256, i511, 0);
5083 try testArgs(i512, i511, -1 << 510);
5084 try testArgs(i512, i511, -1);
5085 try testArgs(i512, i511, 0);
5086 try testArgs(u512, i511, -1 << 510);4466 try testArgs(u512, i511, -1 << 510);
5087 try testArgs(u512, i511, -1);4467 try testArgs(u512, i511, -1);
5088 try testArgs(u512, i511, 0);4468 try testArgs(u512, i511, 0);
5089 try testArgs(i1024, i511, -1 << 510);
5090 try testArgs(i1024, i511, -1);
5091 try testArgs(i1024, i511, 0);
5092 try testArgs(u1024, i511, -1 << 510);4469 try testArgs(u1024, i511, -1 << 510);
5093 try testArgs(u1024, i511, -1);4470 try testArgs(u1024, i511, -1);
5094 try testArgs(u1024, i511, 0);4471 try testArgs(u1024, i511, 0);
5095 try testArgs(i8, u511, 0);4472 try testArgs(i8, u511, 0);
5096 try testArgs(i8, u511, 1 << 0);4473 try testArgs(i8, u511, 1 << 0);
5097 try testArgs(i8, u511, 1 << 510);4474 try testArgs(i8, u511, 1 << 510);
5098 try testArgs(u8, u511, 0);
5099 try testArgs(u8, u511, 1 << 0);
5100 try testArgs(u8, u511, 1 << 510);
5101 try testArgs(i16, u511, 0);4475 try testArgs(i16, u511, 0);
5102 try testArgs(i16, u511, 1 << 0);4476 try testArgs(i16, u511, 1 << 0);
5103 try testArgs(i16, u511, 1 << 510);4477 try testArgs(i16, u511, 1 << 510);
5104 try testArgs(u16, u511, 0);
5105 try testArgs(u16, u511, 1 << 0);
5106 try testArgs(u16, u511, 1 << 510);
5107 try testArgs(i32, u511, 0);4478 try testArgs(i32, u511, 0);
5108 try testArgs(i32, u511, 1 << 0);4479 try testArgs(i32, u511, 1 << 0);
5109 try testArgs(i32, u511, 1 << 510);4480 try testArgs(i32, u511, 1 << 510);
5110 try testArgs(u32, u511, 0);
5111 try testArgs(u32, u511, 1 << 0);
5112 try testArgs(u32, u511, 1 << 510);
5113 try testArgs(i64, u511, 0);4481 try testArgs(i64, u511, 0);
5114 try testArgs(i64, u511, 1 << 0);4482 try testArgs(i64, u511, 1 << 0);
5115 try testArgs(i64, u511, 1 << 510);4483 try testArgs(i64, u511, 1 << 510);
5116 try testArgs(u64, u511, 0);
5117 try testArgs(u64, u511, 1 << 0);
5118 try testArgs(u64, u511, 1 << 510);
5119 try testArgs(i128, u511, 0);4484 try testArgs(i128, u511, 0);
5120 try testArgs(i128, u511, 1 << 0);4485 try testArgs(i128, u511, 1 << 0);
5121 try testArgs(i128, u511, 1 << 510);4486 try testArgs(i128, u511, 1 << 510);
5122 try testArgs(u128, u511, 0);
5123 try testArgs(u128, u511, 1 << 0);
5124 try testArgs(u128, u511, 1 << 510);
5125 try testArgs(i256, u511, 0);4487 try testArgs(i256, u511, 0);
5126 try testArgs(i256, u511, 1 << 0);4488 try testArgs(i256, u511, 1 << 0);
5127 try testArgs(i256, u511, 1 << 510);4489 try testArgs(i256, u511, 1 << 510);
5128 try testArgs(u256, u511, 0);
5129 try testArgs(u256, u511, 1 << 0);
5130 try testArgs(u256, u511, 1 << 510);
5131 try testArgs(i512, u511, 0);4490 try testArgs(i512, u511, 0);
5132 try testArgs(i512, u511, 1 << 0);4491 try testArgs(i512, u511, 1 << 0);
5133 try testArgs(i512, u511, 1 << 510);4492 try testArgs(i512, u511, 1 << 510);
5134 try testArgs(u512, u511, 0);
5135 try testArgs(u512, u511, 1 << 0);
5136 try testArgs(u512, u511, 1 << 510);
5137 try testArgs(i1024, u511, 0);4493 try testArgs(i1024, u511, 0);
5138 try testArgs(i1024, u511, 1 << 0);4494 try testArgs(i1024, u511, 1 << 0);
5139 try testArgs(i1024, u511, 1 << 510);4495 try testArgs(i1024, u511, 1 << 510);
5140 try testArgs(u1024, u511, 0);
5141 try testArgs(u1024, u511, 1 << 0);
5142 try testArgs(u1024, u511, 1 << 510);
51434496
5144 try testArgs(i8, i512, -1 << 511);
5145 try testArgs(i8, i512, -1);
5146 try testArgs(i8, i512, 0);
5147 try testArgs(u8, i512, -1 << 511);4497 try testArgs(u8, i512, -1 << 511);
5148 try testArgs(u8, i512, -1);4498 try testArgs(u8, i512, -1);
5149 try testArgs(u8, i512, 0);4499 try testArgs(u8, i512, 0);
5150 try testArgs(i16, i512, -1 << 511);
5151 try testArgs(i16, i512, -1);
5152 try testArgs(i16, i512, 0);
5153 try testArgs(u16, i512, -1 << 511);4500 try testArgs(u16, i512, -1 << 511);
5154 try testArgs(u16, i512, -1);4501 try testArgs(u16, i512, -1);
5155 try testArgs(u16, i512, 0);4502 try testArgs(u16, i512, 0);
5156 try testArgs(i32, i512, -1 << 511);
5157 try testArgs(i32, i512, -1);
5158 try testArgs(i32, i512, 0);
5159 try testArgs(u32, i512, -1 << 511);4503 try testArgs(u32, i512, -1 << 511);
5160 try testArgs(u32, i512, -1);4504 try testArgs(u32, i512, -1);
5161 try testArgs(u32, i512, 0);4505 try testArgs(u32, i512, 0);
5162 try testArgs(i64, i512, -1 << 511);
5163 try testArgs(i64, i512, -1);
5164 try testArgs(i64, i512, 0);
5165 try testArgs(u64, i512, -1 << 511);4506 try testArgs(u64, i512, -1 << 511);
5166 try testArgs(u64, i512, -1);4507 try testArgs(u64, i512, -1);
5167 try testArgs(u64, i512, 0);4508 try testArgs(u64, i512, 0);
5168 try testArgs(i128, i512, -1 << 511);
5169 try testArgs(i128, i512, -1);
5170 try testArgs(i128, i512, 0);
5171 try testArgs(u128, i512, -1 << 511);4509 try testArgs(u128, i512, -1 << 511);
5172 try testArgs(u128, i512, -1);4510 try testArgs(u128, i512, -1);
5173 try testArgs(u128, i512, 0);4511 try testArgs(u128, i512, 0);
5174 try testArgs(i256, i512, -1 << 511);
5175 try testArgs(i256, i512, -1);
5176 try testArgs(i256, i512, 0);
5177 try testArgs(u256, i512, -1 << 511);4512 try testArgs(u256, i512, -1 << 511);
5178 try testArgs(u256, i512, -1);4513 try testArgs(u256, i512, -1);
5179 try testArgs(u256, i512, 0);4514 try testArgs(u256, i512, 0);
5180 try testArgs(i512, i512, -1 << 511);
5181 try testArgs(i512, i512, -1);
5182 try testArgs(i512, i512, 0);
5183 try testArgs(u512, i512, -1 << 511);4515 try testArgs(u512, i512, -1 << 511);
5184 try testArgs(u512, i512, -1);4516 try testArgs(u512, i512, -1);
5185 try testArgs(u512, i512, 0);4517 try testArgs(u512, i512, 0);
5186 try testArgs(i1024, i512, -1 << 511);
5187 try testArgs(i1024, i512, -1);
5188 try testArgs(i1024, i512, 0);
5189 try testArgs(u1024, i512, -1 << 511);4518 try testArgs(u1024, i512, -1 << 511);
5190 try testArgs(u1024, i512, -1);4519 try testArgs(u1024, i512, -1);
5191 try testArgs(u1024, i512, 0);4520 try testArgs(u1024, i512, 0);
5192 try testArgs(i8, u512, 0);4521 try testArgs(i8, u512, 0);
5193 try testArgs(i8, u512, 1 << 0);4522 try testArgs(i8, u512, 1 << 0);
5194 try testArgs(i8, u512, 1 << 511);4523 try testArgs(i8, u512, 1 << 511);
5195 try testArgs(u8, u512, 0);
5196 try testArgs(u8, u512, 1 << 0);
5197 try testArgs(u8, u512, 1 << 511);
5198 try testArgs(i16, u512, 0);4524 try testArgs(i16, u512, 0);
5199 try testArgs(i16, u512, 1 << 0);4525 try testArgs(i16, u512, 1 << 0);
5200 try testArgs(i16, u512, 1 << 511);4526 try testArgs(i16, u512, 1 << 511);
5201 try testArgs(u16, u512, 0);
5202 try testArgs(u16, u512, 1 << 0);
5203 try testArgs(u16, u512, 1 << 511);
5204 try testArgs(i32, u512, 0);4527 try testArgs(i32, u512, 0);
5205 try testArgs(i32, u512, 1 << 0);4528 try testArgs(i32, u512, 1 << 0);
5206 try testArgs(i32, u512, 1 << 511);4529 try testArgs(i32, u512, 1 << 511);
5207 try testArgs(u32, u512, 0);
5208 try testArgs(u32, u512, 1 << 0);
5209 try testArgs(u32, u512, 1 << 511);
5210 try testArgs(i64, u512, 0);4530 try testArgs(i64, u512, 0);
5211 try testArgs(i64, u512, 1 << 0);4531 try testArgs(i64, u512, 1 << 0);
5212 try testArgs(i64, u512, 1 << 511);4532 try testArgs(i64, u512, 1 << 511);
5213 try testArgs(u64, u512, 0);
5214 try testArgs(u64, u512, 1 << 0);
5215 try testArgs(u64, u512, 1 << 511);
5216 try testArgs(i128, u512, 0);4533 try testArgs(i128, u512, 0);
5217 try testArgs(i128, u512, 1 << 0);4534 try testArgs(i128, u512, 1 << 0);
5218 try testArgs(i128, u512, 1 << 511);4535 try testArgs(i128, u512, 1 << 511);
5219 try testArgs(u128, u512, 0);
5220 try testArgs(u128, u512, 1 << 0);
5221 try testArgs(u128, u512, 1 << 511);
5222 try testArgs(i256, u512, 0);4536 try testArgs(i256, u512, 0);
5223 try testArgs(i256, u512, 1 << 0);4537 try testArgs(i256, u512, 1 << 0);
5224 try testArgs(i256, u512, 1 << 511);4538 try testArgs(i256, u512, 1 << 511);
5225 try testArgs(u256, u512, 0);
5226 try testArgs(u256, u512, 1 << 0);
5227 try testArgs(u256, u512, 1 << 511);
5228 try testArgs(i512, u512, 0);4539 try testArgs(i512, u512, 0);
5229 try testArgs(i512, u512, 1 << 0);4540 try testArgs(i512, u512, 1 << 0);
5230 try testArgs(i512, u512, 1 << 511);4541 try testArgs(i512, u512, 1 << 511);
5231 try testArgs(u512, u512, 0);
5232 try testArgs(u512, u512, 1 << 0);
5233 try testArgs(u512, u512, 1 << 511);
5234 try testArgs(i1024, u512, 0);4542 try testArgs(i1024, u512, 0);
5235 try testArgs(i1024, u512, 1 << 0);4543 try testArgs(i1024, u512, 1 << 0);
5236 try testArgs(i1024, u512, 1 << 511);4544 try testArgs(i1024, u512, 1 << 511);
5237 try testArgs(u1024, u512, 0);
5238 try testArgs(u1024, u512, 1 << 0);
5239 try testArgs(u1024, u512, 1 << 511);
52404545
5241 try testArgs(i8, i513, -1 << 512);
5242 try testArgs(i8, i513, -1);
5243 try testArgs(i8, i513, 0);
5244 try testArgs(u8, i513, -1 << 512);4546 try testArgs(u8, i513, -1 << 512);
5245 try testArgs(u8, i513, -1);4547 try testArgs(u8, i513, -1);
5246 try testArgs(u8, i513, 0);4548 try testArgs(u8, i513, 0);
5247 try testArgs(i16, i513, -1 << 512);
5248 try testArgs(i16, i513, -1);
5249 try testArgs(i16, i513, 0);
5250 try testArgs(u16, i513, -1 << 512);4549 try testArgs(u16, i513, -1 << 512);
5251 try testArgs(u16, i513, -1);4550 try testArgs(u16, i513, -1);
5252 try testArgs(u16, i513, 0);4551 try testArgs(u16, i513, 0);
5253 try testArgs(i32, i513, -1 << 512);
5254 try testArgs(i32, i513, -1);
5255 try testArgs(i32, i513, 0);
5256 try testArgs(u32, i513, -1 << 512);4552 try testArgs(u32, i513, -1 << 512);
5257 try testArgs(u32, i513, -1);4553 try testArgs(u32, i513, -1);
5258 try testArgs(u32, i513, 0);4554 try testArgs(u32, i513, 0);
5259 try testArgs(i64, i513, -1 << 512);
5260 try testArgs(i64, i513, -1);
5261 try testArgs(i64, i513, 0);
5262 try testArgs(u64, i513, -1 << 512);4555 try testArgs(u64, i513, -1 << 512);
5263 try testArgs(u64, i513, -1);4556 try testArgs(u64, i513, -1);
5264 try testArgs(u64, i513, 0);4557 try testArgs(u64, i513, 0);
5265 try testArgs(i128, i513, -1 << 512);
5266 try testArgs(i128, i513, -1);
5267 try testArgs(i128, i513, 0);
5268 try testArgs(u128, i513, -1 << 512);4558 try testArgs(u128, i513, -1 << 512);
5269 try testArgs(u128, i513, -1);4559 try testArgs(u128, i513, -1);
5270 try testArgs(u128, i513, 0);4560 try testArgs(u128, i513, 0);
5271 try testArgs(i256, i513, -1 << 512);
5272 try testArgs(i256, i513, -1);
5273 try testArgs(i256, i513, 0);
5274 try testArgs(u256, i513, -1 << 512);4561 try testArgs(u256, i513, -1 << 512);
5275 try testArgs(u256, i513, -1);4562 try testArgs(u256, i513, -1);
5276 try testArgs(u256, i513, 0);4563 try testArgs(u256, i513, 0);
5277 try testArgs(i512, i513, -1 << 512);
5278 try testArgs(i512, i513, -1);
5279 try testArgs(i512, i513, 0);
5280 try testArgs(u512, i513, -1 << 512);4564 try testArgs(u512, i513, -1 << 512);
5281 try testArgs(u512, i513, -1);4565 try testArgs(u512, i513, -1);
5282 try testArgs(u512, i513, 0);4566 try testArgs(u512, i513, 0);
5283 try testArgs(i1024, i513, -1 << 512);
5284 try testArgs(i1024, i513, -1);
5285 try testArgs(i1024, i513, 0);
5286 try testArgs(u1024, i513, -1 << 512);4567 try testArgs(u1024, i513, -1 << 512);
5287 try testArgs(u1024, i513, -1);4568 try testArgs(u1024, i513, -1);
5288 try testArgs(u1024, i513, 0);4569 try testArgs(u1024, i513, 0);
5289 try testArgs(i8, u513, 0);4570 try testArgs(i8, u513, 0);
5290 try testArgs(i8, u513, 1 << 0);4571 try testArgs(i8, u513, 1 << 0);
5291 try testArgs(i8, u513, 1 << 512);4572 try testArgs(i8, u513, 1 << 512);
5292 try testArgs(u8, u513, 0);
5293 try testArgs(u8, u513, 1 << 0);
5294 try testArgs(u8, u513, 1 << 512);
5295 try testArgs(i16, u513, 0);4573 try testArgs(i16, u513, 0);
5296 try testArgs(i16, u513, 1 << 0);4574 try testArgs(i16, u513, 1 << 0);
5297 try testArgs(i16, u513, 1 << 512);4575 try testArgs(i16, u513, 1 << 512);
5298 try testArgs(u16, u513, 0);
5299 try testArgs(u16, u513, 1 << 0);
5300 try testArgs(u16, u513, 1 << 512);
5301 try testArgs(i32, u513, 0);4576 try testArgs(i32, u513, 0);
5302 try testArgs(i32, u513, 1 << 0);4577 try testArgs(i32, u513, 1 << 0);
5303 try testArgs(i32, u513, 1 << 512);4578 try testArgs(i32, u513, 1 << 512);
5304 try testArgs(u32, u513, 0);
5305 try testArgs(u32, u513, 1 << 0);
5306 try testArgs(u32, u513, 1 << 512);
5307 try testArgs(i64, u513, 0);4579 try testArgs(i64, u513, 0);
5308 try testArgs(i64, u513, 1 << 0);4580 try testArgs(i64, u513, 1 << 0);
5309 try testArgs(i64, u513, 1 << 512);4581 try testArgs(i64, u513, 1 << 512);
5310 try testArgs(u64, u513, 0);
5311 try testArgs(u64, u513, 1 << 0);
5312 try testArgs(u64, u513, 1 << 512);
5313 try testArgs(i128, u513, 0);4582 try testArgs(i128, u513, 0);
5314 try testArgs(i128, u513, 1 << 0);4583 try testArgs(i128, u513, 1 << 0);
5315 try testArgs(i128, u513, 1 << 512);4584 try testArgs(i128, u513, 1 << 512);
5316 try testArgs(u128, u513, 0);
5317 try testArgs(u128, u513, 1 << 0);
5318 try testArgs(u128, u513, 1 << 512);
5319 try testArgs(i256, u513, 0);4585 try testArgs(i256, u513, 0);
5320 try testArgs(i256, u513, 1 << 0);4586 try testArgs(i256, u513, 1 << 0);
5321 try testArgs(i256, u513, 1 << 512);4587 try testArgs(i256, u513, 1 << 512);
5322 try testArgs(u256, u513, 0);
5323 try testArgs(u256, u513, 1 << 0);
5324 try testArgs(u256, u513, 1 << 512);
5325 try testArgs(i512, u513, 0);4588 try testArgs(i512, u513, 0);
5326 try testArgs(i512, u513, 1 << 0);4589 try testArgs(i512, u513, 1 << 0);
5327 try testArgs(i512, u513, 1 << 512);4590 try testArgs(i512, u513, 1 << 512);
5328 try testArgs(u512, u513, 0);
5329 try testArgs(u512, u513, 1 << 0);
5330 try testArgs(u512, u513, 1 << 512);
5331 try testArgs(i1024, u513, 0);4591 try testArgs(i1024, u513, 0);
5332 try testArgs(i1024, u513, 1 << 0);4592 try testArgs(i1024, u513, 1 << 0);
5333 try testArgs(i1024, u513, 1 << 512);4593 try testArgs(i1024, u513, 1 << 512);
5334 try testArgs(u1024, u513, 0);
5335 try testArgs(u1024, u513, 1 << 0);
5336 try testArgs(u1024, u513, 1 << 512);
53374594
5338 try testArgs(i8, i1023, -1 << 1022);
5339 try testArgs(i8, i1023, -1);
5340 try testArgs(i8, i1023, 0);
5341 try testArgs(u8, i1023, -1 << 1022);4595 try testArgs(u8, i1023, -1 << 1022);
5342 try testArgs(u8, i1023, -1);4596 try testArgs(u8, i1023, -1);
5343 try testArgs(u8, i1023, 0);4597 try testArgs(u8, i1023, 0);
5344 try testArgs(i16, i1023, -1 << 1022);
5345 try testArgs(i16, i1023, -1);
5346 try testArgs(i16, i1023, 0);
5347 try testArgs(u16, i1023, -1 << 1022);4598 try testArgs(u16, i1023, -1 << 1022);
5348 try testArgs(u16, i1023, -1);4599 try testArgs(u16, i1023, -1);
5349 try testArgs(u16, i1023, 0);4600 try testArgs(u16, i1023, 0);
5350 try testArgs(i32, i1023, -1 << 1022);
5351 try testArgs(i32, i1023, -1);
5352 try testArgs(i32, i1023, 0);
5353 try testArgs(u32, i1023, -1 << 1022);4601 try testArgs(u32, i1023, -1 << 1022);
5354 try testArgs(u32, i1023, -1);4602 try testArgs(u32, i1023, -1);
5355 try testArgs(u32, i1023, 0);4603 try testArgs(u32, i1023, 0);
5356 try testArgs(i64, i1023, -1 << 1022);
5357 try testArgs(i64, i1023, -1);
5358 try testArgs(i64, i1023, 0);
5359 try testArgs(u64, i1023, -1 << 1022);4604 try testArgs(u64, i1023, -1 << 1022);
5360 try testArgs(u64, i1023, -1);4605 try testArgs(u64, i1023, -1);
5361 try testArgs(u64, i1023, 0);4606 try testArgs(u64, i1023, 0);
5362 try testArgs(i128, i1023, -1 << 1022);
5363 try testArgs(i128, i1023, -1);
5364 try testArgs(i128, i1023, 0);
5365 try testArgs(u128, i1023, -1 << 1022);4607 try testArgs(u128, i1023, -1 << 1022);
5366 try testArgs(u128, i1023, -1);4608 try testArgs(u128, i1023, -1);
5367 try testArgs(u128, i1023, 0);4609 try testArgs(u128, i1023, 0);
5368 try testArgs(i256, i1023, -1 << 1022);
5369 try testArgs(i256, i1023, -1);
5370 try testArgs(i256, i1023, 0);
5371 try testArgs(u256, i1023, -1 << 1022);4610 try testArgs(u256, i1023, -1 << 1022);
5372 try testArgs(u256, i1023, -1);4611 try testArgs(u256, i1023, -1);
5373 try testArgs(u256, i1023, 0);4612 try testArgs(u256, i1023, 0);
5374 try testArgs(i512, i1023, -1 << 1022);
5375 try testArgs(i512, i1023, -1);
5376 try testArgs(i512, i1023, 0);
5377 try testArgs(u512, i1023, -1 << 1022);4613 try testArgs(u512, i1023, -1 << 1022);
5378 try testArgs(u512, i1023, -1);4614 try testArgs(u512, i1023, -1);
5379 try testArgs(u512, i1023, 0);4615 try testArgs(u512, i1023, 0);
5380 try testArgs(i1024, i1023, -1 << 1022);
5381 try testArgs(i1024, i1023, -1);
5382 try testArgs(i1024, i1023, 0);
5383 try testArgs(u1024, i1023, -1 << 1022);4616 try testArgs(u1024, i1023, -1 << 1022);
5384 try testArgs(u1024, i1023, -1);4617 try testArgs(u1024, i1023, -1);
5385 try testArgs(u1024, i1023, 0);4618 try testArgs(u1024, i1023, 0);
5386 try testArgs(i8, u1023, 0);4619 try testArgs(i8, u1023, 0);
5387 try testArgs(i8, u1023, 1 << 0);4620 try testArgs(i8, u1023, 1 << 0);
5388 try testArgs(i8, u1023, 1 << 1022);4621 try testArgs(i8, u1023, 1 << 1022);
5389 try testArgs(u8, u1023, 0);
5390 try testArgs(u8, u1023, 1 << 0);
5391 try testArgs(u8, u1023, 1 << 1022);
5392 try testArgs(i16, u1023, 0);4622 try testArgs(i16, u1023, 0);
5393 try testArgs(i16, u1023, 1 << 0);4623 try testArgs(i16, u1023, 1 << 0);
5394 try testArgs(i16, u1023, 1 << 1022);4624 try testArgs(i16, u1023, 1 << 1022);
5395 try testArgs(u16, u1023, 0);
5396 try testArgs(u16, u1023, 1 << 0);
5397 try testArgs(u16, u1023, 1 << 1022);
5398 try testArgs(i32, u1023, 0);4625 try testArgs(i32, u1023, 0);
5399 try testArgs(i32, u1023, 1 << 0);4626 try testArgs(i32, u1023, 1 << 0);
5400 try testArgs(i32, u1023, 1 << 1022);4627 try testArgs(i32, u1023, 1 << 1022);
5401 try testArgs(u32, u1023, 0);
5402 try testArgs(u32, u1023, 1 << 0);
5403 try testArgs(u32, u1023, 1 << 1022);
5404 try testArgs(i64, u1023, 0);4628 try testArgs(i64, u1023, 0);
5405 try testArgs(i64, u1023, 1 << 0);4629 try testArgs(i64, u1023, 1 << 0);
5406 try testArgs(i64, u1023, 1 << 1022);4630 try testArgs(i64, u1023, 1 << 1022);
5407 try testArgs(u64, u1023, 0);
5408 try testArgs(u64, u1023, 1 << 0);
5409 try testArgs(u64, u1023, 1 << 1022);
5410 try testArgs(i128, u1023, 0);4631 try testArgs(i128, u1023, 0);
5411 try testArgs(i128, u1023, 1 << 0);4632 try testArgs(i128, u1023, 1 << 0);
5412 try testArgs(i128, u1023, 1 << 1022);4633 try testArgs(i128, u1023, 1 << 1022);
5413 try testArgs(u128, u1023, 0);
5414 try testArgs(u128, u1023, 1 << 0);
5415 try testArgs(u128, u1023, 1 << 1022);
5416 try testArgs(i256, u1023, 0);4634 try testArgs(i256, u1023, 0);
5417 try testArgs(i256, u1023, 1 << 0);4635 try testArgs(i256, u1023, 1 << 0);
5418 try testArgs(i256, u1023, 1 << 1022);4636 try testArgs(i256, u1023, 1 << 1022);
5419 try testArgs(u256, u1023, 0);
5420 try testArgs(u256, u1023, 1 << 0);
5421 try testArgs(u256, u1023, 1 << 1022);
5422 try testArgs(i512, u1023, 0);4637 try testArgs(i512, u1023, 0);
5423 try testArgs(i512, u1023, 1 << 0);4638 try testArgs(i512, u1023, 1 << 0);
5424 try testArgs(i512, u1023, 1 << 1022);4639 try testArgs(i512, u1023, 1 << 1022);
5425 try testArgs(u512, u1023, 0);
5426 try testArgs(u512, u1023, 1 << 0);
5427 try testArgs(u512, u1023, 1 << 1022);
5428 try testArgs(i1024, u1023, 0);4640 try testArgs(i1024, u1023, 0);
5429 try testArgs(i1024, u1023, 1 << 0);4641 try testArgs(i1024, u1023, 1 << 0);
5430 try testArgs(i1024, u1023, 1 << 1022);4642 try testArgs(i1024, u1023, 1 << 1022);
5431 try testArgs(u1024, u1023, 0);
5432 try testArgs(u1024, u1023, 1 << 0);
5433 try testArgs(u1024, u1023, 1 << 1022);
54344643
5435 try testArgs(i8, i1024, -1 << 1023);
5436 try testArgs(i8, i1024, -1);
5437 try testArgs(i8, i1024, 0);
5438 try testArgs(u8, i1024, -1 << 1023);4644 try testArgs(u8, i1024, -1 << 1023);
5439 try testArgs(u8, i1024, -1);4645 try testArgs(u8, i1024, -1);
5440 try testArgs(u8, i1024, 0);4646 try testArgs(u8, i1024, 0);
5441 try testArgs(i16, i1024, -1 << 1023);
5442 try testArgs(i16, i1024, -1);
5443 try testArgs(i16, i1024, 0);
5444 try testArgs(u16, i1024, -1 << 1023);4647 try testArgs(u16, i1024, -1 << 1023);
5445 try testArgs(u16, i1024, -1);4648 try testArgs(u16, i1024, -1);
5446 try testArgs(u16, i1024, 0);4649 try testArgs(u16, i1024, 0);
5447 try testArgs(i32, i1024, -1 << 1023);
5448 try testArgs(i32, i1024, -1);
5449 try testArgs(i32, i1024, 0);
5450 try testArgs(u32, i1024, -1 << 1023);4650 try testArgs(u32, i1024, -1 << 1023);
5451 try testArgs(u32, i1024, -1);4651 try testArgs(u32, i1024, -1);
5452 try testArgs(u32, i1024, 0);4652 try testArgs(u32, i1024, 0);
5453 try testArgs(i64, i1024, -1 << 1023);
5454 try testArgs(i64, i1024, -1);
5455 try testArgs(i64, i1024, 0);
5456 try testArgs(u64, i1024, -1 << 1023);4653 try testArgs(u64, i1024, -1 << 1023);
5457 try testArgs(u64, i1024, -1);4654 try testArgs(u64, i1024, -1);
5458 try testArgs(u64, i1024, 0);4655 try testArgs(u64, i1024, 0);
5459 try testArgs(i128, i1024, -1 << 1023);
5460 try testArgs(i128, i1024, -1);
5461 try testArgs(i128, i1024, 0);
5462 try testArgs(u128, i1024, -1 << 1023);4656 try testArgs(u128, i1024, -1 << 1023);
5463 try testArgs(u128, i1024, -1);4657 try testArgs(u128, i1024, -1);
5464 try testArgs(u128, i1024, 0);4658 try testArgs(u128, i1024, 0);
5465 try testArgs(i256, i1024, -1 << 1023);
5466 try testArgs(i256, i1024, -1);
5467 try testArgs(i256, i1024, 0);
5468 try testArgs(u256, i1024, -1 << 1023);4659 try testArgs(u256, i1024, -1 << 1023);
5469 try testArgs(u256, i1024, -1);4660 try testArgs(u256, i1024, -1);
5470 try testArgs(u256, i1024, 0);4661 try testArgs(u256, i1024, 0);
5471 try testArgs(i512, i1024, -1 << 1023);
5472 try testArgs(i512, i1024, -1);
5473 try testArgs(i512, i1024, 0);
5474 try testArgs(u512, i1024, -1 << 1023);4662 try testArgs(u512, i1024, -1 << 1023);
5475 try testArgs(u512, i1024, -1);4663 try testArgs(u512, i1024, -1);
5476 try testArgs(u512, i1024, 0);4664 try testArgs(u512, i1024, 0);
5477 try testArgs(i1024, i1024, -1 << 1023);
5478 try testArgs(i1024, i1024, -1);
5479 try testArgs(i1024, i1024, 0);
5480 try testArgs(u1024, i1024, -1 << 1023);4665 try testArgs(u1024, i1024, -1 << 1023);
5481 try testArgs(u1024, i1024, -1);4666 try testArgs(u1024, i1024, -1);
5482 try testArgs(u1024, i1024, 0);4667 try testArgs(u1024, i1024, 0);
5483 try testArgs(i8, u1024, 0);4668 try testArgs(i8, u1024, 0);
5484 try testArgs(i8, u1024, 1 << 0);4669 try testArgs(i8, u1024, 1 << 0);
5485 try testArgs(i8, u1024, 1 << 1023);4670 try testArgs(i8, u1024, 1 << 1023);
5486 try testArgs(u8, u1024, 0);
5487 try testArgs(u8, u1024, 1 << 0);
5488 try testArgs(u8, u1024, 1 << 1023);
5489 try testArgs(i16, u1024, 0);4671 try testArgs(i16, u1024, 0);
5490 try testArgs(i16, u1024, 1 << 0);4672 try testArgs(i16, u1024, 1 << 0);
5491 try testArgs(i16, u1024, 1 << 1023);4673 try testArgs(i16, u1024, 1 << 1023);
5492 try testArgs(u16, u1024, 0);
5493 try testArgs(u16, u1024, 1 << 0);
5494 try testArgs(u16, u1024, 1 << 1023);
5495 try testArgs(i32, u1024, 0);4674 try testArgs(i32, u1024, 0);
5496 try testArgs(i32, u1024, 1 << 0);4675 try testArgs(i32, u1024, 1 << 0);
5497 try testArgs(i32, u1024, 1 << 1023);4676 try testArgs(i32, u1024, 1 << 1023);
5498 try testArgs(u32, u1024, 0);
5499 try testArgs(u32, u1024, 1 << 0);
5500 try testArgs(u32, u1024, 1 << 1023);
5501 try testArgs(i64, u1024, 0);4677 try testArgs(i64, u1024, 0);
5502 try testArgs(i64, u1024, 1 << 0);4678 try testArgs(i64, u1024, 1 << 0);
5503 try testArgs(i64, u1024, 1 << 1023);4679 try testArgs(i64, u1024, 1 << 1023);
5504 try testArgs(u64, u1024, 0);
5505 try testArgs(u64, u1024, 1 << 0);
5506 try testArgs(u64, u1024, 1 << 1023);
5507 try testArgs(i128, u1024, 0);4680 try testArgs(i128, u1024, 0);
5508 try testArgs(i128, u1024, 1 << 0);4681 try testArgs(i128, u1024, 1 << 0);
5509 try testArgs(i128, u1024, 1 << 1023);4682 try testArgs(i128, u1024, 1 << 1023);
5510 try testArgs(u128, u1024, 0);
5511 try testArgs(u128, u1024, 1 << 0);
5512 try testArgs(u128, u1024, 1 << 1023);
5513 try testArgs(i256, u1024, 0);4683 try testArgs(i256, u1024, 0);
5514 try testArgs(i256, u1024, 1 << 0);4684 try testArgs(i256, u1024, 1 << 0);
5515 try testArgs(i256, u1024, 1 << 1023);4685 try testArgs(i256, u1024, 1 << 1023);
5516 try testArgs(u256, u1024, 0);
5517 try testArgs(u256, u1024, 1 << 0);
5518 try testArgs(u256, u1024, 1 << 1023);
5519 try testArgs(i512, u1024, 0);4686 try testArgs(i512, u1024, 0);
5520 try testArgs(i512, u1024, 1 << 0);4687 try testArgs(i512, u1024, 1 << 0);
5521 try testArgs(i512, u1024, 1 << 1023);4688 try testArgs(i512, u1024, 1 << 1023);
5522 try testArgs(u512, u1024, 0);
5523 try testArgs(u512, u1024, 1 << 0);
5524 try testArgs(u512, u1024, 1 << 1023);
5525 try testArgs(i1024, u1024, 0);4689 try testArgs(i1024, u1024, 0);
5526 try testArgs(i1024, u1024, 1 << 0);4690 try testArgs(i1024, u1024, 1 << 0);
5527 try testArgs(i1024, u1024, 1 << 1023);4691 try testArgs(i1024, u1024, 1 << 1023);
5528 try testArgs(u1024, u1024, 0);
5529 try testArgs(u1024, u1024, 1 << 0);
5530 try testArgs(u1024, u1024, 1 << 1023);
55314692
5532 try testArgs(i8, i1025, -1 << 1024);
5533 try testArgs(i8, i1025, -1);
5534 try testArgs(i8, i1025, 0);
5535 try testArgs(u8, i1025, -1 << 1024);4693 try testArgs(u8, i1025, -1 << 1024);
5536 try testArgs(u8, i1025, -1);4694 try testArgs(u8, i1025, -1);
5537 try testArgs(u8, i1025, 0);4695 try testArgs(u8, i1025, 0);
5538 try testArgs(i16, i1025, -1 << 1024);
5539 try testArgs(i16, i1025, -1);
5540 try testArgs(i16, i1025, 0);
5541 try testArgs(u16, i1025, -1 << 1024);4696 try testArgs(u16, i1025, -1 << 1024);
5542 try testArgs(u16, i1025, -1);4697 try testArgs(u16, i1025, -1);
5543 try testArgs(u16, i1025, 0);4698 try testArgs(u16, i1025, 0);
5544 try testArgs(i32, i1025, -1 << 1024);
5545 try testArgs(i32, i1025, -1);
5546 try testArgs(i32, i1025, 0);
5547 try testArgs(u32, i1025, -1 << 1024);4699 try testArgs(u32, i1025, -1 << 1024);
5548 try testArgs(u32, i1025, -1);4700 try testArgs(u32, i1025, -1);
5549 try testArgs(u32, i1025, 0);4701 try testArgs(u32, i1025, 0);
5550 try testArgs(i64, i1025, -1 << 1024);
5551 try testArgs(i64, i1025, -1);
5552 try testArgs(i64, i1025, 0);
5553 try testArgs(u64, i1025, -1 << 1024);4702 try testArgs(u64, i1025, -1 << 1024);
5554 try testArgs(u64, i1025, -1);4703 try testArgs(u64, i1025, -1);
5555 try testArgs(u64, i1025, 0);4704 try testArgs(u64, i1025, 0);
5556 try testArgs(i128, i1025, -1 << 1024);
5557 try testArgs(i128, i1025, -1);
5558 try testArgs(i128, i1025, 0);
5559 try testArgs(u128, i1025, -1 << 1024);4705 try testArgs(u128, i1025, -1 << 1024);
5560 try testArgs(u128, i1025, -1);4706 try testArgs(u128, i1025, -1);
5561 try testArgs(u128, i1025, 0);4707 try testArgs(u128, i1025, 0);
5562 try testArgs(i256, i1025, -1 << 1024);
5563 try testArgs(i256, i1025, -1);
5564 try testArgs(i256, i1025, 0);
5565 try testArgs(u256, i1025, -1 << 1024);4708 try testArgs(u256, i1025, -1 << 1024);
5566 try testArgs(u256, i1025, -1);4709 try testArgs(u256, i1025, -1);
5567 try testArgs(u256, i1025, 0);4710 try testArgs(u256, i1025, 0);
5568 try testArgs(i512, i1025, -1 << 1024);
5569 try testArgs(i512, i1025, -1);
5570 try testArgs(i512, i1025, 0);
5571 try testArgs(u512, i1025, -1 << 1024);4711 try testArgs(u512, i1025, -1 << 1024);
5572 try testArgs(u512, i1025, -1);4712 try testArgs(u512, i1025, -1);
5573 try testArgs(u512, i1025, 0);4713 try testArgs(u512, i1025, 0);
5574 try testArgs(i1024, i1025, -1 << 1024);
5575 try testArgs(i1024, i1025, -1);
5576 try testArgs(i1024, i1025, 0);
5577 try testArgs(u1024, i1025, -1 << 1024);4714 try testArgs(u1024, i1025, -1 << 1024);
5578 try testArgs(u1024, i1025, -1);4715 try testArgs(u1024, i1025, -1);
5579 try testArgs(u1024, i1025, 0);4716 try testArgs(u1024, i1025, 0);
5580 try testArgs(i8, u1025, 0);4717 try testArgs(i8, u1025, 0);
5581 try testArgs(i8, u1025, 1 << 0);4718 try testArgs(i8, u1025, 1 << 0);
5582 try testArgs(i8, u1025, 1 << 1024);4719 try testArgs(i8, u1025, 1 << 1024);
5583 try testArgs(u8, u1025, 0);
5584 try testArgs(u8, u1025, 1 << 0);
5585 try testArgs(u8, u1025, 1 << 1024);
5586 try testArgs(i16, u1025, 0);4720 try testArgs(i16, u1025, 0);
5587 try testArgs(i16, u1025, 1 << 0);4721 try testArgs(i16, u1025, 1 << 0);
5588 try testArgs(i16, u1025, 1 << 1024);4722 try testArgs(i16, u1025, 1 << 1024);
5589 try testArgs(u16, u1025, 0);
5590 try testArgs(u16, u1025, 1 << 0);
5591 try testArgs(u16, u1025, 1 << 1024);
5592 try testArgs(i32, u1025, 0);4723 try testArgs(i32, u1025, 0);
5593 try testArgs(i32, u1025, 1 << 0);4724 try testArgs(i32, u1025, 1 << 0);
5594 try testArgs(i32, u1025, 1 << 1024);4725 try testArgs(i32, u1025, 1 << 1024);
5595 try testArgs(u32, u1025, 0);
5596 try testArgs(u32, u1025, 1 << 0);
5597 try testArgs(u32, u1025, 1 << 1024);
5598 try testArgs(i64, u1025, 0);4726 try testArgs(i64, u1025, 0);
5599 try testArgs(i64, u1025, 1 << 0);4727 try testArgs(i64, u1025, 1 << 0);
5600 try testArgs(i64, u1025, 1 << 1024);4728 try testArgs(i64, u1025, 1 << 1024);
5601 try testArgs(u64, u1025, 0);
5602 try testArgs(u64, u1025, 1 << 0);
5603 try testArgs(u64, u1025, 1 << 1024);
5604 try testArgs(i128, u1025, 0);4729 try testArgs(i128, u1025, 0);
5605 try testArgs(i128, u1025, 1 << 0);4730 try testArgs(i128, u1025, 1 << 0);
5606 try testArgs(i128, u1025, 1 << 1024);4731 try testArgs(i128, u1025, 1 << 1024);
5607 try testArgs(u128, u1025, 0);
5608 try testArgs(u128, u1025, 1 << 0);
5609 try testArgs(u128, u1025, 1 << 1024);
5610 try testArgs(i256, u1025, 0);4732 try testArgs(i256, u1025, 0);
5611 try testArgs(i256, u1025, 1 << 0);4733 try testArgs(i256, u1025, 1 << 0);
5612 try testArgs(i256, u1025, 1 << 1024);4734 try testArgs(i256, u1025, 1 << 1024);
5613 try testArgs(u256, u1025, 0);
5614 try testArgs(u256, u1025, 1 << 0);
5615 try testArgs(u256, u1025, 1 << 1024);
5616 try testArgs(i512, u1025, 0);4735 try testArgs(i512, u1025, 0);
5617 try testArgs(i512, u1025, 1 << 0);4736 try testArgs(i512, u1025, 1 << 0);
5618 try testArgs(i512, u1025, 1 << 1024);4737 try testArgs(i512, u1025, 1 << 1024);
5619 try testArgs(u512, u1025, 0);
5620 try testArgs(u512, u1025, 1 << 0);
5621 try testArgs(u512, u1025, 1 << 1024);
5622 try testArgs(i1024, u1025, 0);4738 try testArgs(i1024, u1025, 0);
5623 try testArgs(i1024, u1025, 1 << 0);4739 try testArgs(i1024, u1025, 1 << 0);
5624 try testArgs(i1024, u1025, 1 << 1024);4740 try testArgs(i1024, u1025, 1 << 1024);
5625 try testArgs(u1024, u1025, 0);
5626 try testArgs(u1024, u1025, 1 << 0);
5627 try testArgs(u1024, u1025, 1 << 1024);
5628 }4741 }
5629 fn testFloats() !void {4742 fn testFloats() !void {
5630 @setEvalBranchQuota(3_100);4743 @setEvalBranchQuota(3_100);
...@@ -10804,6 +9917,46 @@ test clz {...@@ -10804,6 +9917,46 @@ test clz {
10804 try test_clz.testIntVectors();9917 try test_clz.testIntVectors();
10805}9918}
108069919
9920inline fn intCast(comptime Result: type, comptime Type: type, rhs: Type) Result {
9921 const res_info = switch (@typeInfo(Result)) {
9922 .int => |info| info,
9923 .vector => |info| @typeInfo(info.child).int,
9924 else => @compileError(@typeName(Result)),
9925 };
9926 const rhs_info = switch (@typeInfo(Type)) {
9927 .int => |info| info,
9928 .vector => |info| @typeInfo(info.child).int,
9929 else => @compileError(@typeName(Type)),
9930 };
9931 const min_bits = @min(res_info.bits, rhs_info.bits);
9932 return @intCast(switch (@as(union(enum) {
9933 shift: std.math.Log2Int(Type),
9934 mask: std.math.Log2IntCeil(Type),
9935 }, switch (res_info.signedness) {
9936 .signed => switch (rhs_info.signedness) {
9937 .signed => .{ .shift = rhs_info.bits - min_bits },
9938 .unsigned => .{ .mask = min_bits - @intFromBool(res_info.bits <= rhs_info.bits) },
9939 },
9940 .unsigned => switch (rhs_info.signedness) {
9941 .signed => .{ .mask = min_bits - @intFromBool(res_info.bits >= rhs_info.bits) },
9942 .unsigned => .{ .mask = min_bits },
9943 },
9944 })) {
9945 // TODO: if (bits == 0) rhs else rhs >> bits,
9946 .shift => |bits| if (bits == 0)
9947 rhs
9948 else if (rhs < 0)
9949 rhs | std.math.minInt(Type) >> bits
9950 else
9951 rhs & std.math.maxInt(Type) >> bits,
9952 .mask => |bits| if (bits == rhs_info.bits) rhs else rhs & (1 << bits) - 1,
9953 });
9954}
9955test intCast {
9956 const test_int_cast = cast(intCast, .{});
9957 try test_int_cast.testInts();
9958}
9959
10807inline fn floatCast(comptime Result: type, comptime Type: type, rhs: Type) Result {9960inline fn floatCast(comptime Result: type, comptime Type: type, rhs: Type) Result {
10808 return @floatCast(rhs);9961 return @floatCast(rhs);
10809}9962}