| ... | ... | @@ -6531,6 +6531,9 @@ fn genBinOp( |
| 6531 | 6531 | .sub, |
| 6532 | 6532 | .subwrap, |
| 6533 | 6533 | => if (self.hasFeature(.avx)) .{ .vp_b, .sub } else .{ .p_b, .sub }, |
| 6534 | .bit_and => if (self.hasFeature(.avx)) .{ .vp_, .@"and" } else .{ .p_, .@"and" }, |
| 6535 | .bit_or => if (self.hasFeature(.avx)) .{ .vp_, .@"or" } else .{ .p_, .@"or" }, |
| 6536 | .xor => if (self.hasFeature(.avx)) .{ .vp_, .xor } else .{ .p_, .xor }, |
| 6534 | 6537 | else => null, |
| 6535 | 6538 | }, |
| 6536 | 6539 | 17...32 => switch (air_tag) { |
| ... | ... | @@ -6540,6 +6543,9 @@ fn genBinOp( |
| 6540 | 6543 | .sub, |
| 6541 | 6544 | .subwrap, |
| 6542 | 6545 | => if (self.hasFeature(.avx2)) .{ .vp_b, .sub } else null, |
| 6546 | .bit_and => if (self.hasFeature(.avx2)) .{ .vp_, .@"and" } else null, |
| 6547 | .bit_or => if (self.hasFeature(.avx2)) .{ .vp_, .@"or" } else null, |
| 6548 | .xor => if (self.hasFeature(.avx2)) .{ .vp_, .xor } else null, |
| 6543 | 6549 | else => null, |
| 6544 | 6550 | }, |
| 6545 | 6551 | else => null, |
| ... | ... | @@ -6555,6 +6561,9 @@ fn genBinOp( |
| 6555 | 6561 | .mul, |
| 6556 | 6562 | .mulwrap, |
| 6557 | 6563 | => if (self.hasFeature(.avx)) .{ .vp_w, .mull } else .{ .p_d, .mull }, |
| 6564 | .bit_and => if (self.hasFeature(.avx)) .{ .vp_, .@"and" } else .{ .p_, .@"and" }, |
| 6565 | .bit_or => if (self.hasFeature(.avx)) .{ .vp_, .@"or" } else .{ .p_, .@"or" }, |
| 6566 | .xor => if (self.hasFeature(.avx)) .{ .vp_, .xor } else .{ .p_, .xor }, |
| 6558 | 6567 | else => null, |
| 6559 | 6568 | }, |
| 6560 | 6569 | 9...16 => switch (air_tag) { |
| ... | ... | @@ -6567,6 +6576,9 @@ fn genBinOp( |
| 6567 | 6576 | .mul, |
| 6568 | 6577 | .mulwrap, |
| 6569 | 6578 | => if (self.hasFeature(.avx2)) .{ .vp_w, .mull } else null, |
| 6579 | .bit_and => if (self.hasFeature(.avx2)) .{ .vp_, .@"and" } else null, |
| 6580 | .bit_or => if (self.hasFeature(.avx2)) .{ .vp_, .@"or" } else null, |
| 6581 | .xor => if (self.hasFeature(.avx2)) .{ .vp_, .xor } else null, |
| 6570 | 6582 | else => null, |
| 6571 | 6583 | }, |
| 6572 | 6584 | else => null, |
| ... | ... | @@ -6587,6 +6599,9 @@ fn genBinOp( |
| 6587 | 6599 | .{ .p_d, .mull } |
| 6588 | 6600 | else |
| 6589 | 6601 | null, |
| 6602 | .bit_and => if (self.hasFeature(.avx)) .{ .vp_, .@"and" } else .{ .p_, .@"and" }, |
| 6603 | .bit_or => if (self.hasFeature(.avx)) .{ .vp_, .@"or" } else .{ .p_, .@"or" }, |
| 6604 | .xor => if (self.hasFeature(.avx)) .{ .vp_, .xor } else .{ .p_, .xor }, |
| 6590 | 6605 | else => null, |
| 6591 | 6606 | }, |
| 6592 | 6607 | 5...8 => switch (air_tag) { |
| ... | ... | @@ -6599,6 +6614,9 @@ fn genBinOp( |
| 6599 | 6614 | .mul, |
| 6600 | 6615 | .mulwrap, |
| 6601 | 6616 | => if (self.hasFeature(.avx2)) .{ .vp_d, .mull } else null, |
| 6617 | .bit_and => if (self.hasFeature(.avx2)) .{ .vp_, .@"and" } else null, |
| 6618 | .bit_or => if (self.hasFeature(.avx2)) .{ .vp_, .@"or" } else null, |
| 6619 | .xor => if (self.hasFeature(.avx2)) .{ .vp_, .xor } else null, |
| 6602 | 6620 | else => null, |
| 6603 | 6621 | }, |
| 6604 | 6622 | else => null, |
| ... | ... | @@ -6611,6 +6629,9 @@ fn genBinOp( |
| 6611 | 6629 | .sub, |
| 6612 | 6630 | .subwrap, |
| 6613 | 6631 | => if (self.hasFeature(.avx)) .{ .vp_q, .sub } else .{ .p_q, .sub }, |
| 6632 | .bit_and => if (self.hasFeature(.avx)) .{ .vp_, .@"and" } else .{ .p_, .@"and" }, |
| 6633 | .bit_or => if (self.hasFeature(.avx)) .{ .vp_, .@"or" } else .{ .p_, .@"or" }, |
| 6634 | .xor => if (self.hasFeature(.avx)) .{ .vp_, .xor } else .{ .p_, .xor }, |
| 6614 | 6635 | else => null, |
| 6615 | 6636 | }, |
| 6616 | 6637 | 3...4 => switch (air_tag) { |
| ... | ... | @@ -6620,6 +6641,9 @@ fn genBinOp( |
| 6620 | 6641 | .sub, |
| 6621 | 6642 | .subwrap, |
| 6622 | 6643 | => if (self.hasFeature(.avx2)) .{ .vp_q, .sub } else null, |
| 6644 | .bit_and => if (self.hasFeature(.avx2)) .{ .vp_, .@"and" } else null, |
| 6645 | .bit_or => if (self.hasFeature(.avx2)) .{ .vp_, .@"or" } else null, |
| 6646 | .xor => if (self.hasFeature(.avx2)) .{ .vp_, .xor } else null, |
| 6623 | 6647 | else => null, |
| 6624 | 6648 | }, |
| 6625 | 6649 | else => null, |
| ... | ... | @@ -6929,6 +6953,7 @@ fn genBinOp( |
| 6929 | 6953 | else => unreachable, |
| 6930 | 6954 | }, |
| 6931 | 6955 | ), |
| 6956 | .bit_and, .bit_or, .xor => {}, |
| 6932 | 6957 | .max, .min => {}, // TODO: unordered select |
| 6933 | 6958 | else => unreachable, |
| 6934 | 6959 | } |