| author | |
| committer | |
| log | 98640cbeb8a714a451821a51f3aa4ebbd488d291 |
| tree | 50fe4d8f2b0b5dc8307bd85deb216efe5c3276d9 |
| parent | f7e045c80619b3728c54a8aecad65ea12cbe4b75 |
| parent | 3c3a6c937bba39d0edfe226e3a1548c009c04b09 |
| signature |
x86_64: rewrite wrapping multiplication23 files changed, 31657 insertions(+), 27772 deletions(-)
lib/std/math/big/int.zig+46-111| ... | @@ -1096,7 +1096,7 @@ pub const Mutable = struct { | ... | @@ -1096,7 +1096,7 @@ pub const Mutable = struct { |
| 1096 | /// Asserts there is enough memory to fit the result. The upper bound Limb count is | 1096 | /// Asserts there is enough memory to fit the result. The upper bound Limb count is |
| 1097 | /// `a.limbs.len + (shift / (@sizeOf(Limb) * 8))`. | 1097 | /// `a.limbs.len + (shift / (@sizeOf(Limb) * 8))`. |
| 1098 | pub fn shiftLeft(r: *Mutable, a: Const, shift: usize) void { | 1098 | pub fn shiftLeft(r: *Mutable, a: Const, shift: usize) void { |
| 1099 | llshl(r.limbs[0..], a.limbs[0..a.limbs.len], shift); | 1099 | llshl(r.limbs, a.limbs, shift); |
| 1100 | r.normalize(a.limbs.len + (shift / limb_bits) + 1); | 1100 | r.normalize(a.limbs.len + (shift / limb_bits) + 1); |
| 1101 | r.positive = a.positive; | 1101 | r.positive = a.positive; |
| 1102 | } | 1102 | } |
| ... | @@ -1165,7 +1165,7 @@ pub const Mutable = struct { | ... | @@ -1165,7 +1165,7 @@ pub const Mutable = struct { |
| 1165 | 1165 | ||
| 1166 | // This shift should not be able to overflow, so invoke llshl and normalize manually | 1166 | // This shift should not be able to overflow, so invoke llshl and normalize manually |
| 1167 | // to avoid the extra required limb. | 1167 | // to avoid the extra required limb. |
| 1168 | llshl(r.limbs[0..], a.limbs[0..a.limbs.len], shift); | 1168 | llshl(r.limbs, a.limbs, shift); |
| 1169 | r.normalize(a.limbs.len + (shift / limb_bits)); | 1169 | r.normalize(a.limbs.len + (shift / limb_bits)); |
| 1170 | r.positive = a.positive; | 1170 | r.positive = a.positive; |
| 1171 | } | 1171 | } |
| ... | @@ -1202,17 +1202,11 @@ pub const Mutable = struct { | ... | @@ -1202,17 +1202,11 @@ pub const Mutable = struct { |
| 1202 | break :nonzero a.limbs[full_limbs_shifted_out] << not_covered != 0; | 1202 | break :nonzero a.limbs[full_limbs_shifted_out] << not_covered != 0; |
| 1203 | }; | 1203 | }; |
| 1204 | 1204 | ||
| 1205 | llshr(r.limbs[0..], a.limbs[0..a.limbs.len], shift); | 1205 | llshr(r.limbs, a.limbs, shift); |
| 1206 | 1206 | ||
| 1207 | r.len = a.limbs.len - full_limbs_shifted_out; | 1207 | r.len = a.limbs.len - full_limbs_shifted_out; |
| 1208 | r.positive = a.positive; | 1208 | r.positive = a.positive; |
| 1209 | if (nonzero_negative_shiftout) { | 1209 | if (nonzero_negative_shiftout) r.addScalar(r.toConst(), -1); |
| 1210 | if (full_limbs_shifted_out > 0) { | ||
| 1211 | r.limbs[a.limbs.len - full_limbs_shifted_out] = 0; | ||
| 1212 | r.len += 1; | ||
| 1213 | } | ||
| 1214 | r.addScalar(r.toConst(), -1); | ||
| 1215 | } | ||
| 1216 | r.normalize(r.len); | 1210 | r.normalize(r.len); |
| 1217 | } | 1211 | } |
| 1218 | 1212 | ||
| ... | @@ -1755,119 +1749,60 @@ pub const Mutable = struct { | ... | @@ -1755,119 +1749,60 @@ pub const Mutable = struct { |
| 1755 | y.shiftRight(y.toConst(), norm_shift); | 1749 | y.shiftRight(y.toConst(), norm_shift); |
| 1756 | } | 1750 | } |
| 1757 | 1751 | ||
| 1758 | /// If a is positive, this passes through to truncate. | ||
| 1759 | /// If a is negative, then r is set to positive with the bit pattern ~(a - 1). | ||
| 1760 | /// r may alias a. | ||
| 1761 | /// | ||
| 1762 | /// Asserts `r` has enough storage to store the result. | ||
| 1763 | /// The upper bound is `calcTwosCompLimbCount(a.len)`. | ||
| 1764 | pub fn convertToTwosComplement(r: *Mutable, a: Const, signedness: Signedness, bit_count: usize) void { | ||
| 1765 | if (a.positive) { | ||
| 1766 | r.truncate(a, signedness, bit_count); | ||
| 1767 | return; | ||
| 1768 | } | ||
| 1769 | |||
| 1770 | const req_limbs = calcTwosCompLimbCount(bit_count); | ||
| 1771 | if (req_limbs == 0 or a.eqlZero()) { | ||
| 1772 | r.set(0); | ||
| 1773 | return; | ||
| 1774 | } | ||
| 1775 | |||
| 1776 | const bit = @as(Log2Limb, @truncate(bit_count - 1)); | ||
| 1777 | const signmask = @as(Limb, 1) << bit; | ||
| 1778 | const mask = (signmask << 1) -% 1; | ||
| 1779 | |||
| 1780 | r.addScalar(a.abs(), -1); | ||
| 1781 | if (req_limbs > r.len) { | ||
| 1782 | @memset(r.limbs[r.len..req_limbs], 0); | ||
| 1783 | } | ||
| 1784 | |||
| 1785 | assert(r.limbs.len >= req_limbs); | ||
| 1786 | r.len = req_limbs; | ||
| 1787 | |||
| 1788 | llnot(r.limbs[0..r.len]); | ||
| 1789 | r.limbs[r.len - 1] &= mask; | ||
| 1790 | r.normalize(r.len); | ||
| 1791 | } | ||
| 1792 | |||
| 1793 | /// Truncate an integer to a number of bits, following 2s-complement semantics. | 1752 | /// Truncate an integer to a number of bits, following 2s-complement semantics. |
| 1794 | /// r may alias a. | 1753 | /// `r` may alias `a`. |
| 1795 | /// | 1754 | /// |
| 1796 | /// Asserts `r` has enough storage to store the result. | 1755 | /// Asserts `r` has enough storage to compute the result. |
| 1797 | /// The upper bound is `calcTwosCompLimbCount(a.len)`. | 1756 | /// The upper bound is `calcTwosCompLimbCount(a.len)`. |
| 1798 | pub fn truncate(r: *Mutable, a: Const, signedness: Signedness, bit_count: usize) void { | 1757 | pub fn truncate(r: *Mutable, a: Const, signedness: Signedness, bit_count: usize) void { |
| 1799 | const req_limbs = calcTwosCompLimbCount(bit_count); | ||
| 1800 | const abs_trunc_a: Const = .{ | ||
| 1801 | .positive = true, | ||
| 1802 | .limbs = a.limbs[0..@min(a.limbs.len, req_limbs)], | ||
| 1803 | }; | ||
| 1804 | |||
| 1805 | // Handle 0-bit integers. | 1758 | // Handle 0-bit integers. |
| 1806 | if (req_limbs == 0 or abs_trunc_a.eqlZero()) { | 1759 | if (bit_count == 0) { |
| 1760 | @branchHint(.unlikely); | ||
| 1807 | r.set(0); | 1761 | r.set(0); |
| 1808 | return; | 1762 | return; |
| 1809 | } | 1763 | } |
| 1810 | 1764 | ||
| 1811 | const bit = @as(Log2Limb, @truncate(bit_count - 1)); | 1765 | const max_limbs = calcTwosCompLimbCount(bit_count); |
| 1812 | const signmask = @as(Limb, 1) << bit; // 0b0..010...0 where 1 is the sign bit. | 1766 | const sign_bit = @as(Limb, 1) << @truncate(bit_count - 1); |
| 1813 | const mask = (signmask << 1) -% 1; // 0b0..01..1 where the leftmost 1 is the sign bit. | 1767 | const mask = @as(Limb, maxInt(Limb)) >> @truncate(-%bit_count); |
| 1814 | 1768 | ||
| 1815 | if (!a.positive) { | 1769 | // Guess whether the result will have the same sign as `a`. |
| 1816 | // Convert the integer from sign-magnitude into twos-complement. | 1770 | // * If the result will be signed zero, the guess is `true`. |
| 1817 | // -x = ~(x - 1) | 1771 | // * If the result will be the minimum signed integer, the guess is `false`. |
| 1818 | // Note, we simply take req_limbs * @bitSizeOf(Limb) as the | 1772 | // * If the result will be unsigned zero, the guess is `a.positive`. |
| 1819 | // target bit count. | 1773 | // * Otherwise the guess is correct. |
| 1820 | 1774 | const same_sign_guess = switch (signedness) { | |
| 1821 | r.addScalar(abs_trunc_a, -1); | 1775 | .signed => max_limbs > a.limbs.len or a.limbs[max_limbs - 1] & sign_bit == 0, |
| 1776 | .unsigned => a.positive, | ||
| 1777 | }; | ||
| 1822 | 1778 | ||
| 1823 | // Zero-extend the result | 1779 | const abs_trunc_a: Const = .{ |
| 1824 | @memset(r.limbs[r.len..req_limbs], 0); | 1780 | .positive = true, |
| 1825 | r.len = req_limbs; | 1781 | .limbs = a.limbs[0..llnormalize(a.limbs[0..@min(a.limbs.len, max_limbs)])], |
| 1826 | 1782 | }; | |
| 1827 | // Without truncating, we can already peek at the sign bit of the result here. | 1783 | if (same_sign_guess or abs_trunc_a.eqlZero()) { |
| 1828 | // Note that it will be 0 if the result is negative, as we did not apply the flip here. | 1784 | // One of the following is true: |
| 1829 | // If the result is negative, we have | 1785 | // * The result is zero. |
| 1830 | // -(-x & mask) | 1786 | // * The result is non-zero and has the same sign as `a`. |
| 1831 | // = ~(~(x - 1) & mask) + 1 | ||
| 1832 | // = ~(~((x - 1) | ~mask)) + 1 | ||
| 1833 | // = ((x - 1) | ~mask)) + 1 | ||
| 1834 | // Note, this is only valid for the target bits and not the upper bits | ||
| 1835 | // of the most significant limb. Those still need to be cleared. | ||
| 1836 | // Also note that `mask` is zero for all other bits, reducing to the identity. | ||
| 1837 | // This means that we still need to use & mask to clear off the upper bits. | ||
| 1838 | |||
| 1839 | if (signedness == .signed and r.limbs[r.len - 1] & signmask == 0) { | ||
| 1840 | // Re-add the one and negate to get the result. | ||
| 1841 | r.limbs[r.len - 1] &= mask; | ||
| 1842 | // Note, addition cannot require extra limbs here as we did a subtraction before. | ||
| 1843 | r.addScalar(r.toConst(), 1); | ||
| 1844 | r.normalize(r.len); | ||
| 1845 | r.positive = false; | ||
| 1846 | } else { | ||
| 1847 | llnot(r.limbs[0..r.len]); | ||
| 1848 | r.limbs[r.len - 1] &= mask; | ||
| 1849 | r.normalize(r.len); | ||
| 1850 | } | ||
| 1851 | } else { | ||
| 1852 | r.copy(abs_trunc_a); | 1787 | r.copy(abs_trunc_a); |
| 1853 | // If the integer fits within target bits, no wrapping is required. | 1788 | if (max_limbs <= r.len) r.limbs[max_limbs - 1] &= mask; |
| 1854 | if (r.len < req_limbs) return; | ||
| 1855 | |||
| 1856 | r.limbs[r.len - 1] &= mask; | ||
| 1857 | r.normalize(r.len); | 1789 | r.normalize(r.len); |
| 1858 | 1790 | r.positive = a.positive or r.eqlZero(); | |
| 1859 | if (signedness == .signed and r.limbs[r.len - 1] & signmask != 0) { | 1791 | } else { |
| 1860 | // Convert 2s-complement back to sign-magnitude. | 1792 | // One of the following is true: |
| 1861 | // Sign-extend the upper bits so that they are inverted correctly. | 1793 | // * The result is the minimum signed integer. |
| 1862 | r.limbs[r.len - 1] |= ~mask; | 1794 | // * The result is unsigned zero. |
| 1863 | llnot(r.limbs[0..r.len]); | 1795 | // * The result is non-zero and has the opposite sign as `a`. |
| 1864 | 1796 | r.addScalar(abs_trunc_a, -1); | |
| 1865 | // Note, can only overflow if r holds 0xFFF...F which can only happen if | 1797 | llnot(r.limbs[0..r.len]); |
| 1866 | // a holds 0. | 1798 | @memset(r.limbs[r.len..max_limbs], maxInt(Limb)); |
| 1867 | r.addScalar(r.toConst(), 1); | 1799 | r.limbs[max_limbs - 1] &= mask; |
| 1868 | 1800 | r.normalize(max_limbs); | |
| 1869 | r.positive = false; | 1801 | r.positive = switch (signedness) { |
| 1870 | } | 1802 | // The only value with the sign bit still set is the minimum signed integer. |
| 1803 | .signed => !a.positive and r.limbs[max_limbs - 1] & sign_bit == 0, | ||
| 1804 | .unsigned => !a.positive or r.eqlZero(), | ||
| 1805 | }; | ||
| 1871 | } | 1806 | } |
| 1872 | } | 1807 | } |
| 1873 | 1808 |
lib/std/math/big/int_test.zig+75-11| ... | @@ -1020,7 +1020,7 @@ test "mul large" { | ... | @@ -1020,7 +1020,7 @@ test "mul large" { |
| 1020 | // Generate a number that's large enough to cross the thresholds for the use | 1020 | // Generate a number that's large enough to cross the thresholds for the use |
| 1021 | // of subquadratic algorithms | 1021 | // of subquadratic algorithms |
| 1022 | for (a.limbs) |*p| { | 1022 | for (a.limbs) |*p| { |
| 1023 | p.* = std.math.maxInt(Limb); | 1023 | p.* = maxInt(Limb); |
| 1024 | } | 1024 | } |
| 1025 | a.setMetadata(true, 50); | 1025 | a.setMetadata(true, 50); |
| 1026 | 1026 | ||
| ... | @@ -1104,7 +1104,7 @@ test "mulWrap large" { | ... | @@ -1104,7 +1104,7 @@ test "mulWrap large" { |
| 1104 | // Generate a number that's large enough to cross the thresholds for the use | 1104 | // Generate a number that's large enough to cross the thresholds for the use |
| 1105 | // of subquadratic algorithms | 1105 | // of subquadratic algorithms |
| 1106 | for (a.limbs) |*p| { | 1106 | for (a.limbs) |*p| { |
| 1107 | p.* = std.math.maxInt(Limb); | 1107 | p.* = maxInt(Limb); |
| 1108 | } | 1108 | } |
| 1109 | a.setMetadata(true, 50); | 1109 | a.setMetadata(true, 50); |
| 1110 | 1110 | ||
| ... | @@ -1961,23 +1961,78 @@ test "truncate to mutable with fewer limbs" { | ... | @@ -1961,23 +1961,78 @@ test "truncate to mutable with fewer limbs" { |
| 1961 | .positive = undefined, | 1961 | .positive = undefined, |
| 1962 | }; | 1962 | }; |
| 1963 | res.truncate(.{ .positive = true, .limbs = &.{ 0, 1 } }, .unsigned, @bitSizeOf(Limb)); | 1963 | res.truncate(.{ .positive = true, .limbs = &.{ 0, 1 } }, .unsigned, @bitSizeOf(Limb)); |
| 1964 | try testing.expect(res.eqlZero()); | 1964 | try testing.expect(res.positive and res.len == 1 and res.limbs[0] == 0); |
| 1965 | res.truncate(.{ .positive = true, .limbs = &.{ 0, 1 } }, .signed, @bitSizeOf(Limb)); | 1965 | res.truncate(.{ .positive = true, .limbs = &.{ 0, 1 } }, .signed, @bitSizeOf(Limb)); |
| 1966 | try testing.expect(res.eqlZero()); | 1966 | try testing.expect(res.positive and res.len == 1 and res.limbs[0] == 0); |
| 1967 | res.truncate(.{ .positive = false, .limbs = &.{ 0, 1 } }, .unsigned, @bitSizeOf(Limb)); | 1967 | res.truncate(.{ .positive = false, .limbs = &.{ 0, 1 } }, .unsigned, @bitSizeOf(Limb)); |
| 1968 | try testing.expect(res.eqlZero()); | 1968 | try testing.expect(res.positive and res.len == 1 and res.limbs[0] == 0); |
| 1969 | res.truncate(.{ .positive = false, .limbs = &.{ 0, 1 } }, .signed, @bitSizeOf(Limb)); | 1969 | res.truncate(.{ .positive = false, .limbs = &.{ 0, 1 } }, .signed, @bitSizeOf(Limb)); |
| 1970 | try testing.expect(res.eqlZero()); | 1970 | try testing.expect(res.positive and res.len == 1 and res.limbs[0] == 0); |
| 1971 | res.truncate(.{ .positive = true, .limbs = &.{ std.math.maxInt(Limb), 1 } }, .unsigned, @bitSizeOf(Limb)); | 1971 | res.truncate(.{ .positive = true, .limbs = &.{ maxInt(Limb), 1 } }, .unsigned, @bitSizeOf(Limb)); |
| 1972 | try testing.expect(res.toConst().orderAgainstScalar(std.math.maxInt(Limb)).compare(.eq)); | 1972 | try testing.expect(res.toConst().orderAgainstScalar(maxInt(Limb)).compare(.eq)); |
| 1973 | res.truncate(.{ .positive = true, .limbs = &.{ std.math.maxInt(Limb), 1 } }, .signed, @bitSizeOf(Limb)); | 1973 | res.truncate(.{ .positive = true, .limbs = &.{ maxInt(Limb), 1 } }, .signed, @bitSizeOf(Limb)); |
| 1974 | try testing.expect(res.toConst().orderAgainstScalar(-1).compare(.eq)); | 1974 | try testing.expect(res.toConst().orderAgainstScalar(-1).compare(.eq)); |
| 1975 | res.truncate(.{ .positive = false, .limbs = &.{ std.math.maxInt(Limb), 1 } }, .unsigned, @bitSizeOf(Limb)); | 1975 | res.truncate(.{ .positive = false, .limbs = &.{ maxInt(Limb), 1 } }, .unsigned, @bitSizeOf(Limb)); |
| 1976 | try testing.expect(res.toConst().orderAgainstScalar(1).compare(.eq)); | 1976 | try testing.expect(res.toConst().orderAgainstScalar(1).compare(.eq)); |
| 1977 | res.truncate(.{ .positive = false, .limbs = &.{ std.math.maxInt(Limb), 1 } }, .signed, @bitSizeOf(Limb)); | 1977 | res.truncate(.{ .positive = false, .limbs = &.{ maxInt(Limb), 1 } }, .signed, @bitSizeOf(Limb)); |
| 1978 | try testing.expect(res.toConst().orderAgainstScalar(1).compare(.eq)); | 1978 | try testing.expect(res.toConst().orderAgainstScalar(1).compare(.eq)); |
| 1979 | } | 1979 | } |
| 1980 | 1980 | ||
| 1981 | test "truncate value that normalizes after being masked" { | ||
| 1982 | var res_limbs: [2]Limb = undefined; | ||
| 1983 | var res: Mutable = .{ | ||
| 1984 | .limbs = &res_limbs, | ||
| 1985 | .len = undefined, | ||
| 1986 | .positive = undefined, | ||
| 1987 | }; | ||
| 1988 | res.truncate(.{ .positive = true, .limbs = &.{ 0, 2 } }, .signed, 1 + @bitSizeOf(Limb)); | ||
| 1989 | try testing.expect(res.positive and res.len == 1 and res.limbs[0] == 0); | ||
| 1990 | res.truncate(.{ .positive = true, .limbs = &.{ 1, 2 } }, .signed, 1 + @bitSizeOf(Limb)); | ||
| 1991 | try testing.expect(res.toConst().orderAgainstScalar(1).compare(.eq)); | ||
| 1992 | } | ||
| 1993 | |||
| 1994 | test "truncate to zero" { | ||
| 1995 | var res_limbs: [1]Limb = undefined; | ||
| 1996 | var res: Mutable = .{ | ||
| 1997 | .limbs = &res_limbs, | ||
| 1998 | .len = undefined, | ||
| 1999 | .positive = undefined, | ||
| 2000 | }; | ||
| 2001 | res.truncate(.{ .positive = true, .limbs = &.{0} }, .signed, @bitSizeOf(Limb)); | ||
| 2002 | try testing.expect(res.positive and res.len == 1 and res.limbs[0] == 0); | ||
| 2003 | res.truncate(.{ .positive = false, .limbs = &.{0} }, .signed, @bitSizeOf(Limb)); | ||
| 2004 | try testing.expect(res.positive and res.len == 1 and res.limbs[0] == 0); | ||
| 2005 | res.truncate(.{ .positive = true, .limbs = &.{0} }, .unsigned, @bitSizeOf(Limb)); | ||
| 2006 | try testing.expect(res.positive and res.len == 1 and res.limbs[0] == 0); | ||
| 2007 | res.truncate(.{ .positive = false, .limbs = &.{0} }, .unsigned, @bitSizeOf(Limb)); | ||
| 2008 | try testing.expect(res.positive and res.len == 1 and res.limbs[0] == 0); | ||
| 2009 | res.truncate(.{ .positive = true, .limbs = &.{ 0, 1 } }, .signed, @bitSizeOf(Limb)); | ||
| 2010 | try testing.expect(res.positive and res.len == 1 and res.limbs[0] == 0); | ||
| 2011 | res.truncate(.{ .positive = false, .limbs = &.{ 0, 1 } }, .signed, @bitSizeOf(Limb)); | ||
| 2012 | try testing.expect(res.positive and res.len == 1 and res.limbs[0] == 0); | ||
| 2013 | res.truncate(.{ .positive = true, .limbs = &.{ 0, 1 } }, .unsigned, @bitSizeOf(Limb)); | ||
| 2014 | try testing.expect(res.positive and res.len == 1 and res.limbs[0] == 0); | ||
| 2015 | res.truncate(.{ .positive = false, .limbs = &.{ 0, 1 } }, .unsigned, @bitSizeOf(Limb)); | ||
| 2016 | try testing.expect(res.positive and res.len == 1 and res.limbs[0] == 0); | ||
| 2017 | } | ||
| 2018 | |||
| 2019 | test "truncate to minimum signed integer" { | ||
| 2020 | var res_limbs: [1]Limb = undefined; | ||
| 2021 | var res: Mutable = .{ | ||
| 2022 | .limbs = &res_limbs, | ||
| 2023 | .len = undefined, | ||
| 2024 | .positive = undefined, | ||
| 2025 | }; | ||
| 2026 | res.truncate(.{ .positive = true, .limbs = &.{1 << @bitSizeOf(Limb) - 1} }, .signed, @bitSizeOf(Limb)); | ||
| 2027 | try testing.expect(res.toConst().orderAgainstScalar(-1 << @bitSizeOf(Limb) - 1).compare(.eq)); | ||
| 2028 | res.truncate(.{ .positive = false, .limbs = &.{1 << @bitSizeOf(Limb) - 1} }, .signed, @bitSizeOf(Limb)); | ||
| 2029 | try testing.expect(res.toConst().orderAgainstScalar(-1 << @bitSizeOf(Limb) - 1).compare(.eq)); | ||
| 2030 | res.truncate(.{ .positive = true, .limbs = &.{1 << @bitSizeOf(Limb) - 1} }, .unsigned, @bitSizeOf(Limb)); | ||
| 2031 | try testing.expect(res.toConst().orderAgainstScalar(1 << @bitSizeOf(Limb) - 1).compare(.eq)); | ||
| 2032 | res.truncate(.{ .positive = false, .limbs = &.{1 << @bitSizeOf(Limb) - 1} }, .unsigned, @bitSizeOf(Limb)); | ||
| 2033 | try testing.expect(res.toConst().orderAgainstScalar(1 << @bitSizeOf(Limb) - 1).compare(.eq)); | ||
| 2034 | } | ||
| 2035 | |||
| 1981 | test "saturate single signed positive" { | 2036 | test "saturate single signed positive" { |
| 1982 | var a = try Managed.initSet(testing.allocator, 0xBBBB_BBBB); | 2037 | var a = try Managed.initSet(testing.allocator, 0xBBBB_BBBB); |
| 1983 | defer a.deinit(); | 2038 | defer a.deinit(); |
| ... | @@ -2136,6 +2191,15 @@ test "shift-right negative" { | ... | @@ -2136,6 +2191,15 @@ test "shift-right negative" { |
| 2136 | a.setSign(true); | 2191 | a.setSign(true); |
| 2137 | try a.shiftRight(&arg7, 4); | 2192 | try a.shiftRight(&arg7, 4); |
| 2138 | try testing.expect(try a.toInt(i16) == -2048); | 2193 | try testing.expect(try a.toInt(i16) == -2048); |
| 2194 | |||
| 2195 | var arg8_limbs: [1]Limb = undefined; | ||
| 2196 | var arg8: Mutable = .{ | ||
| 2197 | .limbs = &arg8_limbs, | ||
| 2198 | .len = undefined, | ||
| 2199 | .positive = undefined, | ||
| 2200 | }; | ||
| 2201 | arg8.shiftRight(.{ .limbs = &.{ 1, 1 }, .positive = false }, @bitSizeOf(Limb)); | ||
| 2202 | try testing.expect(arg8.toConst().orderAgainstScalar(-2).compare(.eq)); | ||
| 2139 | } | 2203 | } |
| 2140 | 2204 | ||
| 2141 | test "sat shift-left simple unsigned" { | 2205 | test "sat shift-left simple unsigned" { |
lib/std/zig/Zir.zig+5-1| ... | @@ -2136,7 +2136,7 @@ pub const Inst = struct { | ... | @@ -2136,7 +2136,7 @@ pub const Inst = struct { |
| 2136 | ref_start_index = static_len, | 2136 | ref_start_index = static_len, |
| 2137 | _, | 2137 | _, |
| 2138 | 2138 | ||
| 2139 | pub const static_len = 93; | 2139 | pub const static_len = 97; |
| 2140 | 2140 | ||
| 2141 | pub fn toRef(i: Index) Inst.Ref { | 2141 | pub fn toRef(i: Index) Inst.Ref { |
| 2142 | return @enumFromInt(@intFromEnum(Index.ref_start_index) + @intFromEnum(i)); | 2142 | return @enumFromInt(@intFromEnum(Index.ref_start_index) + @intFromEnum(i)); |
| ... | @@ -2221,6 +2221,10 @@ pub const Inst = struct { | ... | @@ -2221,6 +2221,10 @@ pub const Inst = struct { |
| 2221 | slice_const_u8_sentinel_0_type, | 2221 | slice_const_u8_sentinel_0_type, |
| 2222 | vector_16_i8_type, | 2222 | vector_16_i8_type, |
| 2223 | vector_32_i8_type, | 2223 | vector_32_i8_type, |
| 2224 | vector_1_u8_type, | ||
| 2225 | vector_2_u8_type, | ||
| 2226 | vector_4_u8_type, | ||
| 2227 | vector_8_u8_type, | ||
| 2224 | vector_16_u8_type, | 2228 | vector_16_u8_type, |
| 2225 | vector_32_u8_type, | 2229 | vector_32_u8_type, |
| 2226 | vector_8_i16_type, | 2230 | vector_8_i16_type, |
src/Air.zig+4| ... | @@ -985,6 +985,10 @@ pub const Inst = struct { | ... | @@ -985,6 +985,10 @@ pub const Inst = struct { |
| 985 | slice_const_u8_sentinel_0_type = @intFromEnum(InternPool.Index.slice_const_u8_sentinel_0_type), | 985 | slice_const_u8_sentinel_0_type = @intFromEnum(InternPool.Index.slice_const_u8_sentinel_0_type), |
| 986 | vector_16_i8_type = @intFromEnum(InternPool.Index.vector_16_i8_type), | 986 | vector_16_i8_type = @intFromEnum(InternPool.Index.vector_16_i8_type), |
| 987 | vector_32_i8_type = @intFromEnum(InternPool.Index.vector_32_i8_type), | 987 | vector_32_i8_type = @intFromEnum(InternPool.Index.vector_32_i8_type), |
| 988 | vector_1_u8_type = @intFromEnum(InternPool.Index.vector_1_u8_type), | ||
| 989 | vector_2_u8_type = @intFromEnum(InternPool.Index.vector_2_u8_type), | ||
| 990 | vector_4_u8_type = @intFromEnum(InternPool.Index.vector_4_u8_type), | ||
| 991 | vector_8_u8_type = @intFromEnum(InternPool.Index.vector_8_u8_type), | ||
| 988 | vector_16_u8_type = @intFromEnum(InternPool.Index.vector_16_u8_type), | 992 | vector_16_u8_type = @intFromEnum(InternPool.Index.vector_16_u8_type), |
| 989 | vector_32_u8_type = @intFromEnum(InternPool.Index.vector_32_u8_type), | 993 | vector_32_u8_type = @intFromEnum(InternPool.Index.vector_32_u8_type), |
| 990 | vector_8_i16_type = @intFromEnum(InternPool.Index.vector_8_i16_type), | 994 | vector_8_i16_type = @intFromEnum(InternPool.Index.vector_8_i16_type), |
src/InternPool.zig+20| ... | @@ -4573,6 +4573,10 @@ pub const Index = enum(u32) { | ... | @@ -4573,6 +4573,10 @@ pub const Index = enum(u32) { |
| 4573 | 4573 | ||
| 4574 | vector_16_i8_type, | 4574 | vector_16_i8_type, |
| 4575 | vector_32_i8_type, | 4575 | vector_32_i8_type, |
| 4576 | vector_1_u8_type, | ||
| 4577 | vector_2_u8_type, | ||
| 4578 | vector_4_u8_type, | ||
| 4579 | vector_8_u8_type, | ||
| 4576 | vector_16_u8_type, | 4580 | vector_16_u8_type, |
| 4577 | vector_32_u8_type, | 4581 | vector_32_u8_type, |
| 4578 | vector_8_i16_type, | 4582 | vector_8_i16_type, |
| ... | @@ -5089,6 +5093,14 @@ pub const static_keys = [_]Key{ | ... | @@ -5089,6 +5093,14 @@ pub const static_keys = [_]Key{ |
| 5089 | .{ .vector_type = .{ .len = 16, .child = .i8_type } }, | 5093 | .{ .vector_type = .{ .len = 16, .child = .i8_type } }, |
| 5090 | // @Vector(32, i8) | 5094 | // @Vector(32, i8) |
| 5091 | .{ .vector_type = .{ .len = 32, .child = .i8_type } }, | 5095 | .{ .vector_type = .{ .len = 32, .child = .i8_type } }, |
| 5096 | // @Vector(1, u8) | ||
| 5097 | .{ .vector_type = .{ .len = 1, .child = .u8_type } }, | ||
| 5098 | // @Vector(2, u8) | ||
| 5099 | .{ .vector_type = .{ .len = 2, .child = .u8_type } }, | ||
| 5100 | // @Vector(4, u8) | ||
| 5101 | .{ .vector_type = .{ .len = 4, .child = .u8_type } }, | ||
| 5102 | // @Vector(8, u8) | ||
| 5103 | .{ .vector_type = .{ .len = 8, .child = .u8_type } }, | ||
| 5092 | // @Vector(16, u8) | 5104 | // @Vector(16, u8) |
| 5093 | .{ .vector_type = .{ .len = 16, .child = .u8_type } }, | 5105 | .{ .vector_type = .{ .len = 16, .child = .u8_type } }, |
| 5094 | // @Vector(32, u8) | 5106 | // @Vector(32, u8) |
| ... | @@ -11766,6 +11778,10 @@ pub fn typeOf(ip: *const InternPool, index: Index) Index { | ... | @@ -11766,6 +11778,10 @@ pub fn typeOf(ip: *const InternPool, index: Index) Index { |
| 11766 | .slice_const_u8_sentinel_0_type, | 11778 | .slice_const_u8_sentinel_0_type, |
| 11767 | .vector_16_i8_type, | 11779 | .vector_16_i8_type, |
| 11768 | .vector_32_i8_type, | 11780 | .vector_32_i8_type, |
| 11781 | .vector_1_u8_type, | ||
| 11782 | .vector_2_u8_type, | ||
| 11783 | .vector_4_u8_type, | ||
| 11784 | .vector_8_u8_type, | ||
| 11769 | .vector_16_u8_type, | 11785 | .vector_16_u8_type, |
| 11770 | .vector_32_u8_type, | 11786 | .vector_32_u8_type, |
| 11771 | .vector_8_i16_type, | 11787 | .vector_8_i16_type, |
| ... | @@ -12106,6 +12122,10 @@ pub fn zigTypeTag(ip: *const InternPool, index: Index) std.builtin.TypeId { | ... | @@ -12106,6 +12122,10 @@ pub fn zigTypeTag(ip: *const InternPool, index: Index) std.builtin.TypeId { |
| 12106 | 12122 | ||
| 12107 | .vector_16_i8_type, | 12123 | .vector_16_i8_type, |
| 12108 | .vector_32_i8_type, | 12124 | .vector_32_i8_type, |
| 12125 | .vector_1_u8_type, | ||
| 12126 | .vector_2_u8_type, | ||
| 12127 | .vector_4_u8_type, | ||
| 12128 | .vector_8_u8_type, | ||
| 12109 | .vector_16_u8_type, | 12129 | .vector_16_u8_type, |
| 12110 | .vector_32_u8_type, | 12130 | .vector_32_u8_type, |
| 12111 | .vector_8_i16_type, | 12131 | .vector_8_i16_type, |
src/Sema.zig+4| ... | @@ -36377,6 +36377,10 @@ pub fn typeHasOnePossibleValue(sema: *Sema, ty: Type) CompileError!?Value { | ... | @@ -36377,6 +36377,10 @@ pub fn typeHasOnePossibleValue(sema: *Sema, ty: Type) CompileError!?Value { |
| 36377 | .slice_const_u8_sentinel_0_type, | 36377 | .slice_const_u8_sentinel_0_type, |
| 36378 | .vector_16_i8_type, | 36378 | .vector_16_i8_type, |
| 36379 | .vector_32_i8_type, | 36379 | .vector_32_i8_type, |
| 36380 | .vector_1_u8_type, | ||
| 36381 | .vector_2_u8_type, | ||
| 36382 | .vector_4_u8_type, | ||
| 36383 | .vector_8_u8_type, | ||
| 36380 | .vector_16_u8_type, | 36384 | .vector_16_u8_type, |
| 36381 | .vector_32_u8_type, | 36385 | .vector_32_u8_type, |
| 36382 | .vector_8_i16_type, | 36386 | .vector_8_i16_type, |
src/Type.zig+4| ... | @@ -4201,6 +4201,10 @@ pub const slice_const_u8_sentinel_0: Type = .{ .ip_index = .slice_const_u8_senti | ... | @@ -4201,6 +4201,10 @@ pub const slice_const_u8_sentinel_0: Type = .{ .ip_index = .slice_const_u8_senti |
| 4201 | 4201 | ||
| 4202 | pub const vector_16_i8: Type = .{ .ip_index = .vector_16_i8_type }; | 4202 | pub const vector_16_i8: Type = .{ .ip_index = .vector_16_i8_type }; |
| 4203 | pub const vector_32_i8: Type = .{ .ip_index = .vector_32_i8_type }; | 4203 | pub const vector_32_i8: Type = .{ .ip_index = .vector_32_i8_type }; |
| 4204 | pub const vector_1_u8: Type = .{ .ip_index = .vector_1_u8_type }; | ||
| 4205 | pub const vector_2_u8: Type = .{ .ip_index = .vector_2_u8_type }; | ||
| 4206 | pub const vector_4_u8: Type = .{ .ip_index = .vector_4_u8_type }; | ||
| 4207 | pub const vector_8_u8: Type = .{ .ip_index = .vector_8_u8_type }; | ||
| 4204 | pub const vector_16_u8: Type = .{ .ip_index = .vector_16_u8_type }; | 4208 | pub const vector_16_u8: Type = .{ .ip_index = .vector_16_u8_type }; |
| 4205 | pub const vector_32_u8: Type = .{ .ip_index = .vector_32_u8_type }; | 4209 | pub const vector_32_u8: Type = .{ .ip_index = .vector_32_u8_type }; |
| 4206 | pub const vector_8_i16: Type = .{ .ip_index = .vector_8_i16_type }; | 4210 | pub const vector_8_i16: Type = .{ .ip_index = .vector_8_i16_type }; |
src/arch/x86_64/CodeGen.zig+9256-5568| ... | @@ -2069,7 +2069,7 @@ fn asmRegisterMemoryImmediate( | ... | @@ -2069,7 +2069,7 @@ fn asmRegisterMemoryImmediate( |
| 2069 | } else { | 2069 | } else { |
| 2070 | const payload = try self.addExtra(Mir.Imm32{ .imm = switch (imm) { | 2070 | const payload = try self.addExtra(Mir.Imm32{ .imm = switch (imm) { |
| 2071 | .signed => |s| @bitCast(s), | 2071 | .signed => |s| @bitCast(s), |
| 2072 | .unsigned => unreachable, | 2072 | .unsigned => |u| @as(u32, @intCast(u)), |
| 2073 | .reloc => unreachable, | 2073 | .reloc => unreachable, |
| 2074 | } }); | 2074 | } }); |
| 2075 | assert(payload + 1 == try self.addExtra(Mir.Memory.encode(m))); | 2075 | assert(payload + 1 == try self.addExtra(Mir.Memory.encode(m))); |
| ... | @@ -2418,7 +2418,7 @@ fn genBodyBlock(self: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -2418,7 +2418,7 @@ fn genBodyBlock(self: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 2418 | } | 2418 | } |
| 2419 | 2419 | ||
| 2420 | fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | 2420 | fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 2421 | @setEvalBranchQuota(13_600); | 2421 | @setEvalBranchQuota(13_900); |
| 2422 | const pt = cg.pt; | 2422 | const pt = cg.pt; |
| 2423 | const zcu = pt.zcu; | 2423 | const zcu = pt.zcu; |
| 2424 | const ip = &zcu.intern_pool; | 2424 | const ip = &zcu.intern_pool; |
| ... | @@ -2454,12 +2454,6 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -2454,12 +2454,6 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 2454 | try cg.inst_tracking.ensureUnusedCapacity(cg.gpa, 1); | 2454 | try cg.inst_tracking.ensureUnusedCapacity(cg.gpa, 1); |
| 2455 | switch (air_tags[@intFromEnum(inst)]) { | 2455 | switch (air_tags[@intFromEnum(inst)]) { |
| 2456 | // zig fmt: off | 2456 | // zig fmt: off |
| 2457 | .shr, .shr_exact => try cg.airShlShrBinOp(inst), | ||
| 2458 | .shl, .shl_exact => try cg.airShlShrBinOp(inst), | ||
| 2459 | |||
| 2460 | .mul_wrap, | ||
| 2461 | => |air_tag| try cg.airMulDivBinOp(inst, air_tag), | ||
| 2462 | |||
| 2463 | .add_sat => try cg.airAddSat(inst), | 2457 | .add_sat => try cg.airAddSat(inst), |
| 2464 | .sub_sat => try cg.airSubSat(inst), | 2458 | .sub_sat => try cg.airSubSat(inst), |
| 2465 | .mul_sat => try cg.airMulSat(inst), | 2459 | .mul_sat => try cg.airMulSat(inst), |
| ... | @@ -8896,28 +8890,121 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -8896,28 +8890,121 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 8896 | try res[0].finish(inst, &.{ bin_op.lhs, bin_op.rhs }, &ops, cg); | 8890 | try res[0].finish(inst, &.{ bin_op.lhs, bin_op.rhs }, &ops, cg); |
| 8897 | }, | 8891 | }, |
| 8898 | .mul_safe => unreachable, | 8892 | .mul_safe => unreachable, |
| 8899 | .div_float, .div_float_optimized, .div_exact, .div_exact_optimized => |air_tag| if (use_old) try cg.airMulDivBinOp(inst, switch (air_tag) { | 8893 | .mul_wrap => |air_tag| if (use_old) try cg.airMulDivBinOp(inst, air_tag) else { |
| 8900 | else => unreachable, | ||
| 8901 | .div_float, .div_float_optimized => .div_float, | ||
| 8902 | .div_exact, .div_exact_optimized => .div_exact, | ||
| 8903 | }) else { | ||
| 8904 | const bin_op = air_datas[@intFromEnum(inst)].bin_op; | 8894 | const bin_op = air_datas[@intFromEnum(inst)].bin_op; |
| 8905 | const ty = cg.typeOf(bin_op.lhs); | 8895 | const ty = cg.typeOf(bin_op.lhs); |
| 8906 | var ops = try cg.tempsFromOperands(inst, .{ bin_op.lhs, bin_op.rhs }); | 8896 | var ops = try cg.tempsFromOperands(inst, .{ bin_op.lhs, bin_op.rhs }); |
| 8907 | var res: [1]Temp = undefined; | 8897 | var res: [1]Temp = undefined; |
| 8908 | (if (cg.floatBits(ty.scalarType(zcu))) |_| cg.select(&res, &.{ty}, &ops, comptime &.{ .{ | 8898 | cg.select(&res, &.{ty}, &ops, comptime &.{ .{ |
| 8909 | .required_features = .{ .f16c, null, null, null }, | 8899 | .src_constraints = .{ .{ .signed_int = .byte }, .{ .signed_int = .byte }, .any }, |
| 8910 | .src_constraints = .{ | 8900 | .patterns = &.{ |
| 8911 | .{ .scalar_float = .{ .of = .word, .is = .word } }, | 8901 | .{ .src = .{ .{ .to_reg = .al }, .mem, .none } }, |
| 8912 | .{ .scalar_float = .{ .of = .word, .is = .word } }, | 8902 | .{ .src = .{ .mem, .{ .to_reg = .al }, .none }, .commute = .{ 0, 1 } }, |
| 8913 | .any, | 8903 | .{ .src = .{ .{ .to_reg = .al }, .to_gpr, .none } }, |
| 8914 | }, | 8904 | }, |
| 8905 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, | ||
| 8906 | .clobbers = .{ .eflags = true }, | ||
| 8907 | .each = .{ .once = &.{ | ||
| 8908 | .{ ._, .i_, .mul, .src1b, ._, ._, ._ }, | ||
| 8909 | } }, | ||
| 8910 | }, .{ | ||
| 8911 | .src_constraints = .{ .{ .unsigned_int = .byte }, .{ .unsigned_int = .byte }, .any }, | ||
| 8915 | .patterns = &.{ | 8912 | .patterns = &.{ |
| 8916 | .{ .src = .{ .to_sse, .to_sse, .none } }, | 8913 | .{ .src = .{ .{ .to_reg = .al }, .mem, .none } }, |
| 8914 | .{ .src = .{ .mem, .{ .to_reg = .al }, .none }, .commute = .{ 0, 1 } }, | ||
| 8915 | .{ .src = .{ .{ .to_reg = .al }, .to_gpr, .none } }, | ||
| 8916 | }, | ||
| 8917 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, | ||
| 8918 | .clobbers = .{ .eflags = true }, | ||
| 8919 | .each = .{ .once = &.{ | ||
| 8920 | .{ ._, ._, .mul, .src1b, ._, ._, ._ }, | ||
| 8921 | } }, | ||
| 8922 | }, .{ | ||
| 8923 | .src_constraints = .{ .{ .int = .word }, .{ .int = .word }, .any }, | ||
| 8924 | .patterns = &.{ | ||
| 8925 | .{ .src = .{ .mem, .imm16, .none } }, | ||
| 8926 | .{ .src = .{ .imm16, .mem, .none }, .commute = .{ 0, 1 } }, | ||
| 8927 | .{ .src = .{ .to_gpr, .imm16, .none } }, | ||
| 8928 | .{ .src = .{ .imm16, .to_gpr, .none }, .commute = .{ 0, 1 } }, | ||
| 8929 | }, | ||
| 8930 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .general_purpose } }, .unused }, | ||
| 8931 | .clobbers = .{ .eflags = true }, | ||
| 8932 | .each = .{ .once = &.{ | ||
| 8933 | .{ ._, .i_, .mul, .dst0w, .src0w, .src1w, ._ }, | ||
| 8934 | } }, | ||
| 8935 | }, .{ | ||
| 8936 | .src_constraints = .{ .{ .int = .word }, .{ .int = .word }, .any }, | ||
| 8937 | .patterns = &.{ | ||
| 8938 | .{ .src = .{ .to_mut_gpr, .mem, .none } }, | ||
| 8939 | .{ .src = .{ .mem, .to_mut_gpr, .none }, .commute = .{ 0, 1 } }, | ||
| 8940 | .{ .src = .{ .to_mut_gpr, .to_gpr, .none } }, | ||
| 8941 | }, | ||
| 8942 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, | ||
| 8943 | .clobbers = .{ .eflags = true }, | ||
| 8944 | .each = .{ .once = &.{ | ||
| 8945 | .{ ._, .i_, .mul, .dst0w, .src1w, ._, ._ }, | ||
| 8946 | } }, | ||
| 8947 | }, .{ | ||
| 8948 | .src_constraints = .{ .{ .int = .dword }, .{ .int = .dword }, .any }, | ||
| 8949 | .patterns = &.{ | ||
| 8950 | .{ .src = .{ .mem, .imm32, .none } }, | ||
| 8951 | .{ .src = .{ .imm32, .mem, .none }, .commute = .{ 0, 1 } }, | ||
| 8952 | .{ .src = .{ .to_gpr, .imm32, .none } }, | ||
| 8953 | .{ .src = .{ .imm32, .to_gpr, .none }, .commute = .{ 0, 1 } }, | ||
| 8954 | }, | ||
| 8955 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .general_purpose } }, .unused }, | ||
| 8956 | .clobbers = .{ .eflags = true }, | ||
| 8957 | .each = .{ .once = &.{ | ||
| 8958 | .{ ._, .i_, .mul, .dst0d, .src0d, .src1d, ._ }, | ||
| 8959 | } }, | ||
| 8960 | }, .{ | ||
| 8961 | .src_constraints = .{ .{ .int = .dword }, .{ .int = .dword }, .any }, | ||
| 8962 | .patterns = &.{ | ||
| 8963 | .{ .src = .{ .to_mut_gpr, .mem, .none } }, | ||
| 8964 | .{ .src = .{ .mem, .to_mut_gpr, .none }, .commute = .{ 0, 1 } }, | ||
| 8965 | .{ .src = .{ .to_mut_gpr, .to_gpr, .none } }, | ||
| 8966 | }, | ||
| 8967 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, | ||
| 8968 | .clobbers = .{ .eflags = true }, | ||
| 8969 | .each = .{ .once = &.{ | ||
| 8970 | .{ ._, .i_, .mul, .dst0d, .src1d, ._, ._ }, | ||
| 8971 | } }, | ||
| 8972 | }, .{ | ||
| 8973 | .required_features = .{ .@"64bit", null, null, null }, | ||
| 8974 | .src_constraints = .{ .{ .int = .qword }, .{ .int = .qword }, .any }, | ||
| 8975 | .patterns = &.{ | ||
| 8976 | .{ .src = .{ .mem, .simm32, .none } }, | ||
| 8977 | .{ .src = .{ .simm32, .mem, .none }, .commute = .{ 0, 1 } }, | ||
| 8978 | .{ .src = .{ .to_gpr, .simm32, .none } }, | ||
| 8979 | .{ .src = .{ .simm32, .to_gpr, .none }, .commute = .{ 0, 1 } }, | ||
| 8980 | }, | ||
| 8981 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .general_purpose } }, .unused }, | ||
| 8982 | .clobbers = .{ .eflags = true }, | ||
| 8983 | .each = .{ .once = &.{ | ||
| 8984 | .{ ._, .i_, .mul, .dst0q, .src0q, .src1q, ._ }, | ||
| 8985 | } }, | ||
| 8986 | }, .{ | ||
| 8987 | .required_features = .{ .@"64bit", null, null, null }, | ||
| 8988 | .src_constraints = .{ .{ .int = .qword }, .{ .int = .qword }, .any }, | ||
| 8989 | .patterns = &.{ | ||
| 8990 | .{ .src = .{ .to_mut_gpr, .mem, .none } }, | ||
| 8991 | .{ .src = .{ .mem, .to_mut_gpr, .none }, .commute = .{ 0, 1 } }, | ||
| 8992 | .{ .src = .{ .to_mut_gpr, .to_gpr, .none } }, | ||
| 8993 | }, | ||
| 8994 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, | ||
| 8995 | .clobbers = .{ .eflags = true }, | ||
| 8996 | .each = .{ .once = &.{ | ||
| 8997 | .{ ._, .i_, .mul, .dst0q, .src1q, ._, ._ }, | ||
| 8998 | } }, | ||
| 8999 | }, .{ | ||
| 9000 | .required_features = .{ .@"64bit", null, null, null }, | ||
| 9001 | .src_constraints = .{ .{ .int = .xword }, .{ .int = .xword }, .any }, | ||
| 9002 | .patterns = &.{ | ||
| 9003 | .{ .src = .{ .to_mem, .to_mem, .none } }, | ||
| 8917 | }, | 9004 | }, |
| 8918 | .extra_temps = .{ | 9005 | .extra_temps = .{ |
| 8919 | .{ .type = .f32, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .sse } } }, | 9006 | .{ .type = .u64, .kind = .{ .reg = .rax } }, |
| 8920 | .unused, | 9007 | .{ .type = .u64, .kind = .{ .reg = .rdx } }, |
| 8921 | .unused, | 9008 | .unused, |
| 8922 | .unused, | 9009 | .unused, |
| 8923 | .unused, | 9010 | .unused, |
| ... | @@ -8928,113 +9015,169 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -8928,113 +9015,169 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 8928 | .unused, | 9015 | .unused, |
| 8929 | .unused, | 9016 | .unused, |
| 8930 | }, | 9017 | }, |
| 8931 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, | 9018 | .dst_temps = .{ .mem, .unused }, |
| 9019 | .clobbers = .{ .eflags = true }, | ||
| 8932 | .each = .{ .once = &.{ | 9020 | .each = .{ .once = &.{ |
| 8933 | .{ ._, .v_ps, .cvtph2, .dst0x, .src0q, ._, ._ }, | 9021 | .{ ._, ._, .mov, .tmp0q, .src0q, ._, ._ }, |
| 8934 | .{ ._, .v_ps, .cvtph2, .tmp0x, .src1q, ._, ._ }, | 9022 | .{ ._, ._, .mul, .src1q, ._, ._, ._ }, |
| 8935 | .{ ._, .v_ss, .div, .dst0x, .dst0x, .tmp0d, ._ }, | 9023 | .{ ._, ._, .mov, .dst0q, .tmp0q, ._, ._ }, |
| 8936 | .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ }, | 9024 | .{ ._, ._, .mov, .tmp0q, .src0q, ._, ._ }, |
| 9025 | .{ ._, .i_, .mul, .tmp0q, .memd(.src1q, 8), ._, ._ }, | ||
| 9026 | .{ ._, ._, .add, .tmp1q, .tmp0q, ._, ._ }, | ||
| 9027 | .{ ._, ._, .mov, .tmp0q, .src1q, ._, ._ }, | ||
| 9028 | .{ ._, .i_, .mul, .tmp0q, .memd(.src0q, 8), ._, ._ }, | ||
| 9029 | .{ ._, ._, .add, .tmp1q, .tmp0q, ._, ._ }, | ||
| 9030 | .{ ._, ._, .mov, .memd(.dst0q, 8), .tmp1q, ._, ._ }, | ||
| 8937 | } }, | 9031 | } }, |
| 8938 | }, .{ | 9032 | }, .{ |
| 8939 | .required_features = .{ .sse, null, null, null }, | 9033 | .required_features = .{ .@"64bit", .bmi2, .adx, null }, |
| 8940 | .src_constraints = .{ | 9034 | .src_constraints = .{ |
| 8941 | .{ .scalar_float = .{ .of = .word, .is = .word } }, | 9035 | .{ .remainder_int = .{ .of = .qword, .is = .qword } }, |
| 8942 | .{ .scalar_float = .{ .of = .word, .is = .word } }, | 9036 | .{ .remainder_int = .{ .of = .qword, .is = .qword } }, |
| 8943 | .any, | 9037 | .any, |
| 8944 | }, | 9038 | }, |
| 8945 | .patterns = &.{ | 9039 | .patterns = &.{ |
| 8946 | .{ .src = .{ .{ .to_reg = .xmm0 }, .{ .to_reg = .xmm1 }, .none } }, | 9040 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 8947 | }, | 9041 | }, |
| 8948 | .call_frame = .{ .alignment = .@"16" }, | ||
| 8949 | .extra_temps = .{ | 9042 | .extra_temps = .{ |
| 8950 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__divhf3" } } }, | 9043 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 8951 | .unused, | 9044 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 8952 | .unused, | 9045 | .{ .type = .u64, .kind = .{ .reg = .rdx } }, |
| 8953 | .unused, | 9046 | .{ .type = .isize, .kind = .{ .reg = .rcx } }, |
| 8954 | .unused, | 9047 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 8955 | .unused, | 9048 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 8956 | .unused, | 9049 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 8957 | .unused, | 9050 | .unused, |
| 8958 | .unused, | 9051 | .unused, |
| 8959 | .unused, | 9052 | .unused, |
| 8960 | .unused, | 9053 | .unused, |
| 8961 | }, | 9054 | }, |
| 8962 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, | 9055 | .dst_temps = .{ .mem, .unused }, |
| 8963 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 9056 | .clobbers = .{ .eflags = true }, |
| 8964 | .each = .{ .once = &.{ | 9057 | .each = .{ .once = &.{ |
| 8965 | .{ ._, ._, .call, .tmp0d, ._, ._, ._ }, | 9058 | .{ ._, ._, .mov, .tmp0d, .sia(-8, .src0, .add_size), ._, ._ }, |
| 9059 | .{ ._, ._, .lea, .tmp1p, .mem(.src1), ._, ._ }, | ||
| 9060 | .{ .@"0:", ._, .xor, .tmp2d, .tmp2d, ._, ._ }, | ||
| 9061 | .{ ._, ._, .@"or", .tmp2q, .memi(.src0q, .tmp0), ._, ._ }, | ||
| 9062 | .{ ._, ._z, .j, .@"2f", ._, ._, ._ }, | ||
| 9063 | .{ ._, ._, .lea, .tmp3p, .leaad(.tmp0, .sub_src0_size, 8), ._, ._ }, | ||
| 9064 | .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ }, | ||
| 9065 | .{ .@"1:", ._x, .mul, .tmp6q, .tmp5q, .leai(.tmp1q, .tmp3), ._ }, | ||
| 9066 | .{ ._, ._x, .adc, .tmp5q, .tmp4q, ._, ._ }, | ||
| 9067 | .{ ._, ._, .mov, .memiad(.dst0q, .tmp3, .add_size, -8), .tmp5q, ._, ._ }, | ||
| 9068 | .{ ._, ._rcxz, .j, .@"1f", ._, ._, ._ }, | ||
| 9069 | .{ ._, ._x, .ado, .tmp6q, .memia(.dst0q, .tmp3, .add_size), ._, ._ }, | ||
| 9070 | .{ ._, ._, .mov, .tmp4q, .tmp6q, ._, ._ }, | ||
| 9071 | .{ ._, ._, .lea, .tmp3p, .lead(.tmp3, 8), ._, ._ }, | ||
| 9072 | .{ ._, ._mp, .j, .@"1b", ._, ._, ._ }, | ||
| 9073 | .{ .@"2:", ._, .mov, .memi(.dst0q, .tmp0), .tmp2q, ._, ._ }, | ||
| 9074 | .{ .@"1:", ._, .lea, .tmp1p, .lead(.tmp1, 8), ._, ._ }, | ||
| 9075 | .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ }, | ||
| 9076 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, | ||
| 8966 | } }, | 9077 | } }, |
| 8967 | }, .{ | 9078 | }, .{ |
| 8968 | .required_features = .{ .f16c, null, null, null }, | 9079 | .required_features = .{ .@"64bit", .bmi2, .slow_incdec, null }, |
| 8969 | .src_constraints = .{ | 9080 | .src_constraints = .{ |
| 8970 | .{ .scalar_float = .{ .of = .qword, .is = .word } }, | 9081 | .{ .remainder_int = .{ .of = .qword, .is = .qword } }, |
| 8971 | .{ .scalar_float = .{ .of = .qword, .is = .word } }, | 9082 | .{ .remainder_int = .{ .of = .qword, .is = .qword } }, |
| 8972 | .any, | 9083 | .any, |
| 8973 | }, | 9084 | }, |
| 8974 | .patterns = &.{ | 9085 | .patterns = &.{ |
| 8975 | .{ .src = .{ .mem, .mem, .none } }, | 9086 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 8976 | .{ .src = .{ .to_sse, .mem, .none } }, | ||
| 8977 | .{ .src = .{ .mem, .to_sse, .none } }, | ||
| 8978 | .{ .src = .{ .to_sse, .to_sse, .none } }, | ||
| 8979 | }, | 9087 | }, |
| 8980 | .extra_temps = .{ | 9088 | .extra_temps = .{ |
| 8981 | .{ .type = .vector_4_f32, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .sse } } }, | 9089 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 8982 | .unused, | 9090 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 8983 | .unused, | 9091 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 8984 | .unused, | 9092 | .{ .type = .u64, .kind = .{ .reg = .rdx } }, |
| 8985 | .unused, | 9093 | .{ .type = .u8, .kind = .{ .rc = .general_purpose } }, |
| 8986 | .unused, | 9094 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 8987 | .unused, | 9095 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 8988 | .unused, | 9096 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 8989 | .unused, | 9097 | .unused, |
| 8990 | .unused, | 9098 | .unused, |
| 8991 | .unused, | 9099 | .unused, |
| 8992 | }, | 9100 | }, |
| 8993 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, | 9101 | .dst_temps = .{ .mem, .unused }, |
| 9102 | .clobbers = .{ .eflags = true }, | ||
| 8994 | .each = .{ .once = &.{ | 9103 | .each = .{ .once = &.{ |
| 8995 | .{ ._, .v_ps, .cvtph2, .dst0x, .src0q, ._, ._ }, | 9104 | .{ ._, ._, .mov, .tmp0d, .sia(-1, .src0, .add_size_div_8), ._, ._ }, |
| 8996 | .{ ._, .v_ps, .cvtph2, .tmp0x, .src1q, ._, ._ }, | 9105 | .{ ._, ._, .lea, .tmp1p, .memd(.src1, 8), ._, ._ }, |
| 8997 | .{ ._, .v_ps, .div, .dst0x, .dst0x, .tmp0x, ._ }, | 9106 | .{ .@"0:", ._, .lea, .tmp2p, .leaa(.tmp0, .sub_src0_size_div_8), ._, ._ }, |
| 8998 | .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ }, | 9107 | .{ ._, ._, .xor, .tmp3d, .tmp3d, ._, ._ }, |
| 9108 | .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ }, | ||
| 9109 | .{ ._, ._, .xor, .tmp5d, .tmp5d, ._, ._ }, | ||
| 9110 | .{ ._, ._, .@"or", .tmp3q, .memsi(.src0q, .@"8", .tmp0), ._, ._ }, | ||
| 9111 | .{ ._, ._nz, .j, .@"2f", ._, ._, ._ }, | ||
| 9112 | .{ ._, ._, .mov, .memsi(.dst0q, .@"8", .tmp0), .tmp3q, ._, ._ }, | ||
| 9113 | .{ ._, ._mp, .j, .@"3f", ._, ._, ._ }, | ||
| 9114 | .{ .@"1:", ._, .adc, .tmp7q, .memsia(.dst0q, .@"8", .tmp2, .add_size), ._, ._ }, | ||
| 9115 | .{ ._, ._, .adc, .tmp4b, .si(0), ._, ._ }, | ||
| 9116 | .{ ._, ._, .mov, .tmp5q, .tmp7q, ._, ._ }, | ||
| 9117 | .{ ._, ._l, .sh, .tmp4b, .ui(4), ._, ._ }, | ||
| 9118 | .{ .@"2:", ._x, .mul, .tmp7q, .tmp6q, .leasi(.tmp1q, .@"8", .tmp2), ._ }, | ||
| 9119 | .{ ._, ._, .adc, .tmp6q, .tmp5q, ._, ._ }, | ||
| 9120 | .{ ._, ._, .mov, .memsia(.dst0q, .@"8", .tmp2, .add_size), .tmp6q, ._, ._ }, | ||
| 9121 | .{ ._, ._c, .in, .tmp2p, ._, ._, ._ }, | ||
| 9122 | .{ ._, ._nz, .j, .@"1b", ._, ._, ._ }, | ||
| 9123 | .{ .@"3:", ._, .lea, .tmp1p, .lead(.tmp1, 8), ._, ._ }, | ||
| 9124 | .{ ._, ._, .sub, .tmp0d, .si(1), ._, ._ }, | ||
| 9125 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, | ||
| 8999 | } }, | 9126 | } }, |
| 9000 | }, .{ | 9127 | }, .{ |
| 9001 | .required_features = .{ .f16c, null, null, null }, | 9128 | .required_features = .{ .@"64bit", .bmi2, null, null }, |
| 9002 | .src_constraints = .{ | 9129 | .src_constraints = .{ |
| 9003 | .{ .scalar_float = .{ .of = .xword, .is = .word } }, | 9130 | .{ .remainder_int = .{ .of = .qword, .is = .qword } }, |
| 9004 | .{ .scalar_float = .{ .of = .xword, .is = .word } }, | 9131 | .{ .remainder_int = .{ .of = .qword, .is = .qword } }, |
| 9005 | .any, | 9132 | .any, |
| 9006 | }, | 9133 | }, |
| 9007 | .patterns = &.{ | 9134 | .patterns = &.{ |
| 9008 | .{ .src = .{ .mem, .mem, .none } }, | 9135 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 9009 | .{ .src = .{ .to_sse, .mem, .none } }, | ||
| 9010 | .{ .src = .{ .mem, .to_sse, .none } }, | ||
| 9011 | .{ .src = .{ .to_sse, .to_sse, .none } }, | ||
| 9012 | }, | 9136 | }, |
| 9013 | .extra_temps = .{ | 9137 | .extra_temps = .{ |
| 9014 | .{ .type = .vector_8_f32, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .sse } } }, | 9138 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 9015 | .unused, | 9139 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 9016 | .unused, | 9140 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 9017 | .unused, | 9141 | .{ .type = .u64, .kind = .{ .reg = .rdx } }, |
| 9018 | .unused, | 9142 | .{ .type = .u8, .kind = .{ .rc = .general_purpose } }, |
| 9019 | .unused, | 9143 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 9020 | .unused, | 9144 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 9021 | .unused, | 9145 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 9022 | .unused, | 9146 | .unused, |
| 9023 | .unused, | 9147 | .unused, |
| 9024 | .unused, | 9148 | .unused, |
| 9025 | }, | 9149 | }, |
| 9026 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, | 9150 | .dst_temps = .{ .mem, .unused }, |
| 9151 | .clobbers = .{ .eflags = true }, | ||
| 9027 | .each = .{ .once = &.{ | 9152 | .each = .{ .once = &.{ |
| 9028 | .{ ._, .v_ps, .cvtph2, .dst0y, .src0x, ._, ._ }, | 9153 | .{ ._, ._, .mov, .tmp0d, .sia(-1, .src0, .add_size_div_8), ._, ._ }, |
| 9029 | .{ ._, .v_ps, .cvtph2, .tmp0y, .src1x, ._, ._ }, | 9154 | .{ ._, ._, .lea, .tmp1p, .memd(.src1, 8), ._, ._ }, |
| 9030 | .{ ._, .v_ps, .div, .dst0y, .dst0y, .tmp0y, ._ }, | 9155 | .{ .@"0:", ._, .lea, .tmp2p, .leaa(.tmp0, .sub_src0_size_div_8), ._, ._ }, |
| 9031 | .{ ._, .v_, .cvtps2ph, .dst0x, .dst0y, .rm(.{}), ._ }, | 9156 | .{ ._, ._, .xor, .tmp3d, .tmp3d, ._, ._ }, |
| 9157 | .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ }, | ||
| 9158 | .{ ._, ._, .xor, .tmp5d, .tmp5d, ._, ._ }, | ||
| 9159 | .{ ._, ._, .@"or", .tmp3q, .memsi(.src0q, .@"8", .tmp0), ._, ._ }, | ||
| 9160 | .{ ._, ._nz, .j, .@"2f", ._, ._, ._ }, | ||
| 9161 | .{ ._, ._, .mov, .memsi(.dst0q, .@"8", .tmp0), .tmp3q, ._, ._ }, | ||
| 9162 | .{ ._, ._mp, .j, .@"3f", ._, ._, ._ }, | ||
| 9163 | .{ .@"1:", ._, .adc, .tmp7q, .memsia(.dst0q, .@"8", .tmp2, .add_size), ._, ._ }, | ||
| 9164 | .{ ._, ._, .adc, .tmp4b, .si(0), ._, ._ }, | ||
| 9165 | .{ ._, ._, .mov, .tmp5q, .tmp7q, ._, ._ }, | ||
| 9166 | .{ ._, ._l, .sh, .tmp4b, .ui(4), ._, ._ }, | ||
| 9167 | .{ .@"2:", ._x, .mul, .tmp7q, .tmp6q, .leasi(.tmp1q, .@"8", .tmp2), ._ }, | ||
| 9168 | .{ ._, ._, .adc, .tmp6q, .tmp5q, ._, ._ }, | ||
| 9169 | .{ ._, ._, .mov, .memsia(.dst0q, .@"8", .tmp2, .add_size), .tmp6q, ._, ._ }, | ||
| 9170 | .{ ._, ._c, .in, .tmp2p, ._, ._, ._ }, | ||
| 9171 | .{ ._, ._nz, .j, .@"1b", ._, ._, ._ }, | ||
| 9172 | .{ .@"3:", ._, .lea, .tmp1p, .lead(.tmp1, 8), ._, ._ }, | ||
| 9173 | .{ ._, ._c, .de, .tmp0d, ._, ._, ._ }, | ||
| 9174 | .{ ._, ._ns, .j, .@"0b", ._, ._, ._ }, | ||
| 9032 | } }, | 9175 | } }, |
| 9033 | }, .{ | 9176 | }, .{ |
| 9034 | .required_features = .{ .f16c, null, null, null }, | 9177 | .required_features = .{ .@"64bit", .slow_incdec, null, null }, |
| 9035 | .src_constraints = .{ | 9178 | .src_constraints = .{ |
| 9036 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .word } }, | 9179 | .{ .remainder_int = .{ .of = .qword, .is = .qword } }, |
| 9037 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .word } }, | 9180 | .{ .remainder_int = .{ .of = .qword, .is = .qword } }, |
| 9038 | .any, | 9181 | .any, |
| 9039 | }, | 9182 | }, |
| 9040 | .patterns = &.{ | 9183 | .patterns = &.{ |
| ... | @@ -9042,13 +9185,63 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -9042,13 +9185,63 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 9042 | }, | 9185 | }, |
| 9043 | .extra_temps = .{ | 9186 | .extra_temps = .{ |
| 9044 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 9187 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 9045 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, | 9188 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 9046 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, | 9189 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 9047 | .unused, | 9190 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 9048 | .unused, | 9191 | .{ .type = .u8, .kind = .{ .rc = .general_purpose } }, |
| 9192 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, | ||
| 9193 | .{ .type = .u64, .kind = .{ .reg = .rax } }, | ||
| 9194 | .{ .type = .u64, .kind = .{ .reg = .rdx } }, | ||
| 9049 | .unused, | 9195 | .unused, |
| 9050 | .unused, | 9196 | .unused, |
| 9051 | .unused, | 9197 | .unused, |
| 9198 | }, | ||
| 9199 | .dst_temps = .{ .mem, .unused }, | ||
| 9200 | .clobbers = .{ .eflags = true }, | ||
| 9201 | .each = .{ .once = &.{ | ||
| 9202 | .{ ._, ._, .mov, .tmp0d, .sia(-1, .src0, .add_size_div_8), ._, ._ }, | ||
| 9203 | .{ ._, ._, .lea, .tmp1p, .memd(.src1, 8), ._, ._ }, | ||
| 9204 | .{ .@"0:", ._, .lea, .tmp2p, .leaa(.tmp0, .sub_src0_size_div_8), ._, ._ }, | ||
| 9205 | .{ ._, ._, .xor, .tmp3d, .tmp3d, ._, ._ }, | ||
| 9206 | .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ }, | ||
| 9207 | .{ ._, ._, .xor, .tmp5d, .tmp5d, ._, ._ }, | ||
| 9208 | .{ ._, ._, .@"or", .tmp3q, .memsi(.src0q, .@"8", .tmp0), ._, ._ }, | ||
| 9209 | .{ ._, ._nz, .j, .@"2f", ._, ._, ._ }, | ||
| 9210 | .{ ._, ._, .mov, .memsi(.dst0q, .@"8", .tmp0), .tmp3q, ._, ._ }, | ||
| 9211 | .{ ._, ._mp, .j, .@"3f", ._, ._, ._ }, | ||
| 9212 | .{ .@"1:", ._, .adc, .tmp7q, .memsia(.dst0q, .@"8", .tmp2, .add_size), ._, ._ }, | ||
| 9213 | .{ ._, ._, .adc, .tmp4b, .si(0), ._, ._ }, | ||
| 9214 | .{ ._, ._, .mov, .tmp5q, .tmp7q, ._, ._ }, | ||
| 9215 | .{ .@"2:", ._, .mov, .tmp6q, .tmp3q, ._, ._ }, | ||
| 9216 | .{ ._, ._, .mul, .leasi(.tmp1q, .@"8", .tmp2), ._, ._, ._ }, | ||
| 9217 | .{ ._, ._l, .sh, .tmp4b, .ui(4), ._, ._ }, | ||
| 9218 | .{ ._, ._, .adc, .tmp6q, .tmp5q, ._, ._ }, | ||
| 9219 | .{ ._, ._, .mov, .memsia(.dst0q, .@"8", .tmp2, .add_size), .tmp6q, ._, ._ }, | ||
| 9220 | .{ ._, ._c, .in, .tmp2p, ._, ._, ._ }, | ||
| 9221 | .{ ._, ._nz, .j, .@"1b", ._, ._, ._ }, | ||
| 9222 | .{ .@"3:", ._, .lea, .tmp1p, .lead(.tmp1, 8), ._, ._ }, | ||
| 9223 | .{ ._, ._, .sub, .tmp0d, .si(1), ._, ._ }, | ||
| 9224 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, | ||
| 9225 | } }, | ||
| 9226 | }, .{ | ||
| 9227 | .required_features = .{ .@"64bit", null, null, null }, | ||
| 9228 | .src_constraints = .{ | ||
| 9229 | .{ .remainder_int = .{ .of = .qword, .is = .qword } }, | ||
| 9230 | .{ .remainder_int = .{ .of = .qword, .is = .qword } }, | ||
| 9231 | .any, | ||
| 9232 | }, | ||
| 9233 | .patterns = &.{ | ||
| 9234 | .{ .src = .{ .to_mem, .to_mem, .none } }, | ||
| 9235 | }, | ||
| 9236 | .extra_temps = .{ | ||
| 9237 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | ||
| 9238 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, | ||
| 9239 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | ||
| 9240 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, | ||
| 9241 | .{ .type = .u8, .kind = .{ .rc = .general_purpose } }, | ||
| 9242 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, | ||
| 9243 | .{ .type = .u64, .kind = .{ .reg = .rax } }, | ||
| 9244 | .{ .type = .u64, .kind = .{ .reg = .rdx } }, | ||
| 9052 | .unused, | 9245 | .unused, |
| 9053 | .unused, | 9246 | .unused, |
| 9054 | .unused, | 9247 | .unused, |
| ... | @@ -9056,30 +9249,48 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -9056,30 +9249,48 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 9056 | .dst_temps = .{ .mem, .unused }, | 9249 | .dst_temps = .{ .mem, .unused }, |
| 9057 | .clobbers = .{ .eflags = true }, | 9250 | .clobbers = .{ .eflags = true }, |
| 9058 | .each = .{ .once = &.{ | 9251 | .each = .{ .once = &.{ |
| 9059 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 9252 | .{ ._, ._, .mov, .tmp0d, .sia(-1, .src0, .add_size_div_8), ._, ._ }, |
| 9060 | .{ .@"0:", .v_ps, .cvtph2, .tmp1y, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ }, | 9253 | .{ ._, ._, .lea, .tmp1p, .memd(.src1, 8), ._, ._ }, |
| 9061 | .{ ._, .v_ps, .cvtph2, .tmp2y, .memia(.src1x, .tmp0, .add_unaligned_size), ._, ._ }, | 9254 | .{ .@"0:", ._, .lea, .tmp2p, .leaa(.tmp0, .sub_src0_size_div_8), ._, ._ }, |
| 9062 | .{ ._, .v_ps, .div, .tmp1y, .tmp1y, .tmp2y, ._ }, | 9255 | .{ ._, ._, .xor, .tmp3d, .tmp3d, ._, ._ }, |
| 9063 | .{ ._, .v_, .cvtps2ph, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp1y, .rm(.{}), ._ }, | 9256 | .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ }, |
| 9064 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, | 9257 | .{ ._, ._, .xor, .tmp5d, .tmp5d, ._, ._ }, |
| 9065 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 9258 | .{ ._, ._, .@"or", .tmp3q, .memsi(.src0q, .@"8", .tmp0), ._, ._ }, |
| 9259 | .{ ._, ._nz, .j, .@"2f", ._, ._, ._ }, | ||
| 9260 | .{ ._, ._, .mov, .memsi(.dst0q, .@"8", .tmp0), .tmp3q, ._, ._ }, | ||
| 9261 | .{ ._, ._mp, .j, .@"3f", ._, ._, ._ }, | ||
| 9262 | .{ .@"1:", ._, .adc, .tmp7q, .memsia(.dst0q, .@"8", .tmp2, .add_size), ._, ._ }, | ||
| 9263 | .{ ._, ._, .adc, .tmp4b, .si(0), ._, ._ }, | ||
| 9264 | .{ ._, ._, .mov, .tmp5q, .tmp7q, ._, ._ }, | ||
| 9265 | .{ .@"2:", ._, .mov, .tmp6q, .tmp3q, ._, ._ }, | ||
| 9266 | .{ ._, ._, .mul, .leasi(.tmp1q, .@"8", .tmp2), ._, ._, ._ }, | ||
| 9267 | .{ ._, ._l, .sh, .tmp4b, .ui(4), ._, ._ }, | ||
| 9268 | .{ ._, ._, .adc, .tmp6q, .tmp5q, ._, ._ }, | ||
| 9269 | .{ ._, ._, .mov, .memsia(.dst0q, .@"8", .tmp2, .add_size), .tmp6q, ._, ._ }, | ||
| 9270 | .{ ._, ._c, .in, .tmp2p, ._, ._, ._ }, | ||
| 9271 | .{ ._, ._nz, .j, .@"1b", ._, ._, ._ }, | ||
| 9272 | .{ .@"3:", ._, .lea, .tmp1p, .lead(.tmp1, 8), ._, ._ }, | ||
| 9273 | .{ ._, ._c, .de, .tmp0d, ._, ._, ._ }, | ||
| 9274 | .{ ._, ._ns, .j, .@"0b", ._, ._, ._ }, | ||
| 9066 | } }, | 9275 | } }, |
| 9067 | }, .{ | 9276 | }, .{ |
| 9068 | .required_features = .{ .avx, null, null, null }, | 9277 | .required_features = .{ .avx, null, null, null }, |
| 9069 | .src_constraints = .{ | 9278 | .src_constraints = .{ |
| 9070 | .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, | 9279 | .{ .scalar_signed_int = .{ .of = .qword, .is = .byte } }, |
| 9071 | .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, | 9280 | .{ .scalar_signed_int = .{ .of = .qword, .is = .byte } }, |
| 9072 | .any, | 9281 | .any, |
| 9073 | }, | 9282 | }, |
| 9074 | .patterns = &.{ | 9283 | .patterns = &.{ |
| 9075 | .{ .src = .{ .to_mem, .to_mem, .none } }, | 9284 | .{ .src = .{ .mem, .mem, .none } }, |
| 9285 | .{ .src = .{ .to_sse, .mem, .none } }, | ||
| 9286 | .{ .src = .{ .mem, .to_sse, .none } }, | ||
| 9287 | .{ .src = .{ .to_sse, .to_sse, .none } }, | ||
| 9076 | }, | 9288 | }, |
| 9077 | .call_frame = .{ .alignment = .@"16" }, | ||
| 9078 | .extra_temps = .{ | 9289 | .extra_temps = .{ |
| 9079 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 9290 | .{ .type = .vector_16_u8, .kind = .{ .pshufb_trunc_mem = .{ .from = .word, .to = .byte } } }, |
| 9080 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, | 9291 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 9081 | .{ .type = .f16, .kind = .{ .reg = .xmm1 } }, | 9292 | .{ .type = .vector_8_i16, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .sse } } }, |
| 9082 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__divhf3" } } }, | 9293 | .unused, |
| 9083 | .unused, | 9294 | .unused, |
| 9084 | .unused, | 9295 | .unused, |
| 9085 | .unused, | 9296 | .unused, |
| ... | @@ -9088,34 +9299,32 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -9088,34 +9299,32 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 9088 | .unused, | 9299 | .unused, |
| 9089 | .unused, | 9300 | .unused, |
| 9090 | }, | 9301 | }, |
| 9091 | .dst_temps = .{ .mem, .unused }, | 9302 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| 9092 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | ||
| 9093 | .each = .{ .once = &.{ | 9303 | .each = .{ .once = &.{ |
| 9094 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 9304 | .{ ._, ._, .lea, .tmp1p, .mem(.tmp0), ._, ._ }, |
| 9095 | .{ .@"0:", .vp_, .xor, .tmp2x, .tmp2x, .tmp2x, ._ }, | 9305 | .{ ._, .vp_w, .movsxb, .dst0x, .src0q, ._, ._ }, |
| 9096 | .{ ._, .vp_w, .insr, .tmp1x, .tmp2x, .memia(.src0w, .tmp0, .add_unaligned_size), .ui(0) }, | 9306 | .{ ._, .vp_w, .movsxb, .tmp2x, .src1q, ._, ._ }, |
| 9097 | .{ ._, .vp_w, .insr, .tmp2x, .tmp2x, .memia(.src1w, .tmp0, .add_unaligned_size), .ui(0) }, | 9307 | .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ }, |
| 9098 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, | 9308 | .{ ._, .vp_b, .shuf, .dst0x, .dst0x, .lea(.tmp1x), ._ }, |
| 9099 | .{ ._, .vp_w, .extr, .memia(.dst0w, .tmp0, .add_unaligned_size), .tmp1x, .ui(0), ._ }, | ||
| 9100 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, | ||
| 9101 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | ||
| 9102 | } }, | 9309 | } }, |
| 9103 | }, .{ | 9310 | }, .{ |
| 9104 | .required_features = .{ .sse4_1, null, null, null }, | 9311 | .required_features = .{ .sse4_1, null, null, null }, |
| 9105 | .src_constraints = .{ | 9312 | .src_constraints = .{ |
| 9106 | .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, | 9313 | .{ .scalar_signed_int = .{ .of = .qword, .is = .byte } }, |
| 9107 | .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, | 9314 | .{ .scalar_signed_int = .{ .of = .qword, .is = .byte } }, |
| 9108 | .any, | 9315 | .any, |
| 9109 | }, | 9316 | }, |
| 9110 | .patterns = &.{ | 9317 | .patterns = &.{ |
| 9111 | .{ .src = .{ .to_mem, .to_mem, .none } }, | 9318 | .{ .src = .{ .mem, .mem, .none } }, |
| 9319 | .{ .src = .{ .to_sse, .mem, .none } }, | ||
| 9320 | .{ .src = .{ .mem, .to_sse, .none } }, | ||
| 9321 | .{ .src = .{ .to_sse, .to_sse, .none } }, | ||
| 9112 | }, | 9322 | }, |
| 9113 | .call_frame = .{ .alignment = .@"16" }, | ||
| 9114 | .extra_temps = .{ | 9323 | .extra_temps = .{ |
| 9115 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 9324 | .{ .type = .vector_16_u8, .kind = .{ .pshufb_trunc_mem = .{ .from = .word, .to = .byte } } }, |
| 9116 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, | 9325 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 9117 | .{ .type = .f16, .kind = .{ .reg = .xmm1 } }, | 9326 | .{ .type = .vector_8_i16, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .sse } } }, |
| 9118 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__divhf3" } } }, | 9327 | .unused, |
| 9119 | .unused, | 9328 | .unused, |
| 9120 | .unused, | 9329 | .unused, |
| 9121 | .unused, | 9330 | .unused, |
| ... | @@ -9124,36 +9333,30 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -9124,36 +9333,30 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 9124 | .unused, | 9333 | .unused, |
| 9125 | .unused, | 9334 | .unused, |
| 9126 | }, | 9335 | }, |
| 9127 | .dst_temps = .{ .mem, .unused }, | 9336 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| 9128 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | ||
| 9129 | .each = .{ .once = &.{ | 9337 | .each = .{ .once = &.{ |
| 9130 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 9338 | .{ ._, ._, .lea, .tmp1p, .mem(.tmp0), ._, ._ }, |
| 9131 | .{ .@"0:", .p_, .xor, .tmp1x, .tmp1x, ._, ._ }, | 9339 | .{ ._, .p_w, .movsxb, .dst0x, .src0q, ._, ._ }, |
| 9132 | .{ ._, .p_, .xor, .tmp2x, .tmp2x, ._, ._ }, | 9340 | .{ ._, .p_w, .movsxb, .tmp2x, .src1q, ._, ._ }, |
| 9133 | .{ ._, .p_w, .insr, .tmp1x, .memia(.src0w, .tmp0, .add_unaligned_size), .ui(0), ._ }, | 9341 | .{ ._, .p_w, .mull, .dst0x, .tmp2x, ._, ._ }, |
| 9134 | .{ ._, .p_w, .insr, .tmp2x, .memia(.src1w, .tmp0, .add_unaligned_size), .ui(0), ._ }, | 9342 | .{ ._, .p_b, .shuf, .dst0x, .lea(.tmp1x), ._, ._ }, |
| 9135 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, | ||
| 9136 | .{ ._, .p_w, .extr, .memia(.dst0w, .tmp0, .add_unaligned_size), .tmp1x, .ui(0), ._ }, | ||
| 9137 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, | ||
| 9138 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | ||
| 9139 | } }, | 9343 | } }, |
| 9140 | }, .{ | 9344 | }, .{ |
| 9141 | .required_features = .{ .sse2, null, null, null }, | 9345 | .required_features = .{ .sse2, null, null, null }, |
| 9142 | .src_constraints = .{ | 9346 | .src_constraints = .{ |
| 9143 | .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, | 9347 | .{ .scalar_int = .{ .of = .qword, .is = .byte } }, |
| 9144 | .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, | 9348 | .{ .scalar_int = .{ .of = .qword, .is = .byte } }, |
| 9145 | .any, | 9349 | .any, |
| 9146 | }, | 9350 | }, |
| 9147 | .patterns = &.{ | 9351 | .patterns = &.{ |
| 9148 | .{ .src = .{ .to_mem, .to_mem, .none } }, | 9352 | .{ .src = .{ .to_mut_sse, .to_mut_sse, .none } }, |
| 9149 | }, | 9353 | }, |
| 9150 | .call_frame = .{ .alignment = .@"16" }, | ||
| 9151 | .extra_temps = .{ | 9354 | .extra_temps = .{ |
| 9152 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 9355 | .{ .type = .vector_16_u8, .kind = .{ .pand_trunc_mem = .{ .from = .word, .to = .byte } } }, |
| 9153 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, | 9356 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 9154 | .{ .type = .f16, .kind = .{ .reg = .xmm1 } }, | 9357 | .unused, |
| 9155 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__divhf3" } } }, | 9358 | .unused, |
| 9156 | .{ .type = .f16, .kind = .{ .reg = .ax } }, | 9359 | .unused, |
| 9157 | .unused, | 9360 | .unused, |
| 9158 | .unused, | 9361 | .unused, |
| 9159 | .unused, | 9362 | .unused, |
| ... | @@ -9161,150 +9364,135 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -9161,150 +9364,135 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 9161 | .unused, | 9364 | .unused, |
| 9162 | .unused, | 9365 | .unused, |
| 9163 | }, | 9366 | }, |
| 9164 | .dst_temps = .{ .mem, .unused }, | 9367 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| 9165 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | ||
| 9166 | .each = .{ .once = &.{ | 9368 | .each = .{ .once = &.{ |
| 9167 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 9369 | .{ ._, ._, .lea, .tmp1p, .mem(.tmp0), ._, ._ }, |
| 9168 | .{ .@"0:", .p_, .xor, .tmp1x, .tmp1x, ._, ._ }, | 9370 | .{ ._, .p_, .unpcklbw, .dst0x, .dst0x, ._, ._ }, |
| 9169 | .{ ._, .p_, .xor, .tmp2x, .tmp2x, ._, ._ }, | 9371 | .{ ._, .p_, .unpcklbw, .src1x, .src1x, ._, ._ }, |
| 9170 | .{ ._, .p_w, .insr, .tmp1x, .memia(.src0w, .tmp0, .add_unaligned_size), .ui(0), ._ }, | 9372 | .{ ._, .p_w, .mull, .dst0x, .src1x, ._, ._ }, |
| 9171 | .{ ._, .p_w, .insr, .tmp2x, .memia(.src1w, .tmp0, .add_unaligned_size), .ui(0), ._ }, | 9373 | .{ ._, .p_, .@"and", .dst0x, .lea(.tmp1x), ._, ._ }, |
| 9172 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, | 9374 | .{ ._, .p_b, .ackusw, .dst0x, .dst0x, ._, ._ }, |
| 9173 | .{ ._, .p_w, .extr, .tmp4d, .tmp1x, .ui(0), ._ }, | ||
| 9174 | .{ ._, ._, .mov, .memia(.dst0w, .tmp0, .add_unaligned_size), .tmp4w, ._, ._ }, | ||
| 9175 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, | ||
| 9176 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | ||
| 9177 | } }, | 9375 | } }, |
| 9178 | }, .{ | 9376 | }, .{ |
| 9179 | .required_features = .{ .sse, null, null, null }, | 9377 | .required_features = .{ .avx2, null, null, null }, |
| 9180 | .src_constraints = .{ | 9378 | .src_constraints = .{ |
| 9181 | .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, | 9379 | .{ .scalar_signed_int = .{ .of = .xword, .is = .byte } }, |
| 9182 | .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, | 9380 | .{ .scalar_signed_int = .{ .of = .xword, .is = .byte } }, |
| 9183 | .any, | 9381 | .any, |
| 9184 | }, | 9382 | }, |
| 9185 | .patterns = &.{ | 9383 | .patterns = &.{ |
| 9186 | .{ .src = .{ .to_mem, .to_mem, .none } }, | 9384 | .{ .src = .{ .mem, .mem, .none } }, |
| 9385 | .{ .src = .{ .to_sse, .mem, .none } }, | ||
| 9386 | .{ .src = .{ .mem, .to_sse, .none } }, | ||
| 9387 | .{ .src = .{ .to_sse, .to_sse, .none } }, | ||
| 9187 | }, | 9388 | }, |
| 9188 | .call_frame = .{ .alignment = .@"16" }, | ||
| 9189 | .extra_temps = .{ | 9389 | .extra_temps = .{ |
| 9190 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 9390 | .{ .type = .vector_32_u8, .kind = .{ .pshufb_trunc_mem = .{ .from = .word, .to = .byte } } }, |
| 9191 | .{ .type = .f16, .kind = .{ .reg = .ax } }, | 9391 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 9192 | .{ .type = .f32, .kind = .mem }, | 9392 | .{ .type = .vector_16_i16, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .sse } } }, |
| 9193 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, | 9393 | .unused, |
| 9194 | .{ .type = .f16, .kind = .{ .reg = .xmm1 } }, | 9394 | .unused, |
| 9195 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__divhf3" } } }, | 9395 | .unused, |
| 9196 | .unused, | 9396 | .unused, |
| 9197 | .unused, | 9397 | .unused, |
| 9198 | .unused, | 9398 | .unused, |
| 9199 | .unused, | 9399 | .unused, |
| 9200 | .unused, | 9400 | .unused, |
| 9201 | }, | 9401 | }, |
| 9202 | .dst_temps = .{ .mem, .unused }, | 9402 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| 9203 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | ||
| 9204 | .each = .{ .once = &.{ | 9403 | .each = .{ .once = &.{ |
| 9205 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 9404 | .{ ._, ._, .lea, .tmp1p, .mem(.tmp0), ._, ._ }, |
| 9206 | .{ .@"0:", ._, .movzx, .tmp1d, .memia(.src0w, .tmp0, .add_unaligned_size), ._, ._ }, | 9405 | .{ ._, .vp_w, .movsxb, .dst0y, .src0x, ._, ._ }, |
| 9207 | .{ ._, ._, .mov, .mem(.tmp2d), .tmp1d, ._, ._ }, | 9406 | .{ ._, .vp_w, .movsxb, .tmp2y, .src1x, ._, ._ }, |
| 9208 | .{ ._, ._ss, .mov, .tmp3x, .mem(.tmp2d), ._, ._ }, | 9407 | .{ ._, .vp_w, .mull, .dst0y, .dst0y, .tmp2y, ._ }, |
| 9209 | .{ ._, ._, .movzx, .tmp1d, .memia(.src1w, .tmp0, .add_unaligned_size), ._, ._ }, | 9408 | .{ ._, .vp_b, .shuf, .dst0y, .dst0y, .lea(.tmp1y), ._ }, |
| 9210 | .{ ._, ._, .mov, .mem(.tmp2d), .tmp1d, ._, ._ }, | 9409 | .{ ._, .v_q, .perm, .dst0y, .dst0y, .ui(0b10_00_10_00), ._ }, |
| 9211 | .{ ._, ._ss, .mov, .tmp4x, .mem(.tmp2d), ._, ._ }, | ||
| 9212 | .{ ._, ._, .call, .tmp5d, ._, ._, ._ }, | ||
| 9213 | .{ ._, ._ss, .mov, .mem(.tmp2d), .tmp3x, ._, ._ }, | ||
| 9214 | .{ ._, ._, .mov, .tmp1d, .mem(.tmp2d), ._, ._ }, | ||
| 9215 | .{ ._, ._, .mov, .memia(.dst0w, .tmp0, .add_unaligned_size), .tmp1w, ._, ._ }, | ||
| 9216 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, | ||
| 9217 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | ||
| 9218 | } }, | 9410 | } }, |
| 9219 | }, .{ | 9411 | }, .{ |
| 9220 | .required_features = .{ .avx, null, null, null }, | 9412 | .required_features = .{ .avx, null, null, null }, |
| 9221 | .src_constraints = .{ | 9413 | .src_constraints = .{ |
| 9222 | .{ .scalar_float = .{ .of = .dword, .is = .dword } }, | 9414 | .{ .scalar_unsigned_int = .{ .of = .qword, .is = .byte } }, |
| 9223 | .{ .scalar_float = .{ .of = .dword, .is = .dword } }, | 9415 | .{ .scalar_unsigned_int = .{ .of = .qword, .is = .byte } }, |
| 9224 | .any, | 9416 | .any, |
| 9225 | }, | 9417 | }, |
| 9226 | .patterns = &.{ | 9418 | .patterns = &.{ |
| 9419 | .{ .src = .{ .mem, .mem, .none } }, | ||
| 9227 | .{ .src = .{ .to_sse, .mem, .none } }, | 9420 | .{ .src = .{ .to_sse, .mem, .none } }, |
| 9421 | .{ .src = .{ .mem, .to_sse, .none } }, | ||
| 9228 | .{ .src = .{ .to_sse, .to_sse, .none } }, | 9422 | .{ .src = .{ .to_sse, .to_sse, .none } }, |
| 9229 | }, | 9423 | }, |
| 9230 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, | 9424 | .extra_temps = .{ |
| 9231 | .each = .{ .once = &.{ | 9425 | .{ .type = .vector_16_u8, .kind = .{ .pshufb_trunc_mem = .{ .from = .word, .to = .byte } } }, |
| 9232 | .{ ._, .v_ss, .div, .dst0x, .src0x, .src1d, ._ }, | 9426 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 9233 | } }, | 9427 | .{ .type = .vector_8_u16, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .sse } } }, |
| 9234 | }, .{ | 9428 | .unused, |
| 9235 | .required_features = .{ .sse, null, null, null }, | 9429 | .unused, |
| 9236 | .src_constraints = .{ | 9430 | .unused, |
| 9237 | .{ .scalar_float = .{ .of = .dword, .is = .dword } }, | 9431 | .unused, |
| 9238 | .{ .scalar_float = .{ .of = .dword, .is = .dword } }, | 9432 | .unused, |
| 9239 | .any, | 9433 | .unused, |
| 9240 | }, | 9434 | .unused, |
| 9241 | .patterns = &.{ | 9435 | .unused, |
| 9242 | .{ .src = .{ .to_mut_sse, .mem, .none } }, | ||
| 9243 | .{ .src = .{ .to_mut_sse, .to_sse, .none } }, | ||
| 9244 | }, | 9436 | }, |
| 9245 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, | 9437 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| 9246 | .each = .{ .once = &.{ | 9438 | .each = .{ .once = &.{ |
| 9247 | .{ ._, ._ss, .div, .dst0x, .src1d, ._, ._ }, | 9439 | .{ ._, ._, .lea, .tmp1p, .mem(.tmp0), ._, ._ }, |
| 9440 | .{ ._, .vp_w, .movzxb, .dst0x, .src0q, ._, ._ }, | ||
| 9441 | .{ ._, .vp_w, .movzxb, .tmp2x, .src1q, ._, ._ }, | ||
| 9442 | .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ }, | ||
| 9443 | .{ ._, .vp_b, .shuf, .dst0x, .dst0x, .lea(.tmp1x), ._ }, | ||
| 9248 | } }, | 9444 | } }, |
| 9249 | }, .{ | 9445 | }, .{ |
| 9250 | .required_features = .{ .avx, null, null, null }, | 9446 | .required_features = .{ .sse4_1, null, null, null }, |
| 9251 | .src_constraints = .{ | 9447 | .src_constraints = .{ |
| 9252 | .{ .scalar_float = .{ .of = .xword, .is = .dword } }, | 9448 | .{ .scalar_unsigned_int = .{ .of = .qword, .is = .byte } }, |
| 9253 | .{ .scalar_float = .{ .of = .xword, .is = .dword } }, | 9449 | .{ .scalar_unsigned_int = .{ .of = .qword, .is = .byte } }, |
| 9254 | .any, | 9450 | .any, |
| 9255 | }, | 9451 | }, |
| 9256 | .patterns = &.{ | 9452 | .patterns = &.{ |
| 9453 | .{ .src = .{ .mem, .mem, .none } }, | ||
| 9257 | .{ .src = .{ .to_sse, .mem, .none } }, | 9454 | .{ .src = .{ .to_sse, .mem, .none } }, |
| 9455 | .{ .src = .{ .mem, .to_sse, .none } }, | ||
| 9258 | .{ .src = .{ .to_sse, .to_sse, .none } }, | 9456 | .{ .src = .{ .to_sse, .to_sse, .none } }, |
| 9259 | }, | 9457 | }, |
| 9260 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, | 9458 | .extra_temps = .{ |
| 9261 | .each = .{ .once = &.{ | 9459 | .{ .type = .vector_16_u8, .kind = .{ .pshufb_trunc_mem = .{ .from = .word, .to = .byte } } }, |
| 9262 | .{ ._, .v_ps, .div, .dst0x, .src0x, .src1x, ._ }, | 9460 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 9263 | } }, | 9461 | .{ .type = .vector_8_u16, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .sse } } }, |
| 9264 | }, .{ | 9462 | .unused, |
| 9265 | .required_features = .{ .sse, null, null, null }, | 9463 | .unused, |
| 9266 | .src_constraints = .{ | 9464 | .unused, |
| 9267 | .{ .scalar_float = .{ .of = .xword, .is = .dword } }, | 9465 | .unused, |
| 9268 | .{ .scalar_float = .{ .of = .xword, .is = .dword } }, | 9466 | .unused, |
| 9269 | .any, | 9467 | .unused, |
| 9270 | }, | 9468 | .unused, |
| 9271 | .patterns = &.{ | 9469 | .unused, |
| 9272 | .{ .src = .{ .to_mut_sse, .mem, .none } }, | ||
| 9273 | .{ .src = .{ .to_mut_sse, .to_sse, .none } }, | ||
| 9274 | }, | 9470 | }, |
| 9275 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, | 9471 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| 9276 | .each = .{ .once = &.{ | 9472 | .each = .{ .once = &.{ |
| 9277 | .{ ._, ._ps, .div, .dst0x, .src1x, ._, ._ }, | 9473 | .{ ._, ._, .lea, .tmp1p, .mem(.tmp0), ._, ._ }, |
| 9474 | .{ ._, .p_w, .movzxb, .dst0x, .src0q, ._, ._ }, | ||
| 9475 | .{ ._, .p_w, .movzxb, .tmp2x, .src1q, ._, ._ }, | ||
| 9476 | .{ ._, .p_w, .mull, .dst0x, .tmp2x, ._, ._ }, | ||
| 9477 | .{ ._, .p_b, .shuf, .dst0x, .lea(.tmp1x), ._, ._ }, | ||
| 9278 | } }, | 9478 | } }, |
| 9279 | }, .{ | 9479 | }, .{ |
| 9280 | .required_features = .{ .avx, null, null, null }, | 9480 | .required_features = .{ .avx2, null, null, null }, |
| 9281 | .src_constraints = .{ | 9481 | .src_constraints = .{ |
| 9282 | .{ .scalar_float = .{ .of = .yword, .is = .dword } }, | 9482 | .{ .scalar_unsigned_int = .{ .of = .xword, .is = .byte } }, |
| 9283 | .{ .scalar_float = .{ .of = .yword, .is = .dword } }, | 9483 | .{ .scalar_unsigned_int = .{ .of = .xword, .is = .byte } }, |
| 9284 | .any, | 9484 | .any, |
| 9285 | }, | 9485 | }, |
| 9286 | .patterns = &.{ | 9486 | .patterns = &.{ |
| 9487 | .{ .src = .{ .mem, .mem, .none } }, | ||
| 9287 | .{ .src = .{ .to_sse, .mem, .none } }, | 9488 | .{ .src = .{ .to_sse, .mem, .none } }, |
| 9489 | .{ .src = .{ .mem, .to_sse, .none } }, | ||
| 9288 | .{ .src = .{ .to_sse, .to_sse, .none } }, | 9490 | .{ .src = .{ .to_sse, .to_sse, .none } }, |
| 9289 | }, | 9491 | }, |
| 9290 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, | ||
| 9291 | .each = .{ .once = &.{ | ||
| 9292 | .{ ._, .v_ps, .div, .dst0y, .src0y, .src1y, ._ }, | ||
| 9293 | } }, | ||
| 9294 | }, .{ | ||
| 9295 | .required_features = .{ .avx, null, null, null }, | ||
| 9296 | .src_constraints = .{ | ||
| 9297 | .{ .multiple_scalar_float = .{ .of = .yword, .is = .dword } }, | ||
| 9298 | .{ .multiple_scalar_float = .{ .of = .yword, .is = .dword } }, | ||
| 9299 | .any, | ||
| 9300 | }, | ||
| 9301 | .patterns = &.{ | ||
| 9302 | .{ .src = .{ .to_mem, .to_mem, .none } }, | ||
| 9303 | }, | ||
| 9304 | .extra_temps = .{ | 9492 | .extra_temps = .{ |
| 9305 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 9493 | .{ .type = .vector_32_u8, .kind = .{ .pshufb_trunc_mem = .{ .from = .word, .to = .byte } } }, |
| 9306 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, | 9494 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 9307 | .unused, | 9495 | .{ .type = .vector_16_u16, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .sse } } }, |
| 9308 | .unused, | 9496 | .unused, |
| 9309 | .unused, | 9497 | .unused, |
| 9310 | .unused, | 9498 | .unused, |
| ... | @@ -9314,21 +9502,20 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -9314,21 +9502,20 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 9314 | .unused, | 9502 | .unused, |
| 9315 | .unused, | 9503 | .unused, |
| 9316 | }, | 9504 | }, |
| 9317 | .dst_temps = .{ .mem, .unused }, | 9505 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| 9318 | .clobbers = .{ .eflags = true }, | ||
| 9319 | .each = .{ .once = &.{ | 9506 | .each = .{ .once = &.{ |
| 9320 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 9507 | .{ ._, ._, .lea, .tmp1p, .mem(.tmp0), ._, ._ }, |
| 9321 | .{ .@"0:", .v_ps, .mova, .tmp1y, .memia(.src0y, .tmp0, .add_unaligned_size), ._, ._ }, | 9508 | .{ ._, .vp_w, .movzxb, .dst0y, .src0x, ._, ._ }, |
| 9322 | .{ ._, .v_ps, .div, .tmp1y, .tmp1y, .memia(.src1y, .tmp0, .add_unaligned_size), ._ }, | 9509 | .{ ._, .vp_w, .movzxb, .tmp2y, .src1x, ._, ._ }, |
| 9323 | .{ ._, .v_ps, .mova, .memia(.dst0y, .tmp0, .add_unaligned_size), .tmp1y, ._, ._ }, | 9510 | .{ ._, .vp_w, .mull, .dst0y, .dst0y, .tmp2y, ._ }, |
| 9324 | .{ ._, ._, .add, .tmp0p, .si(32), ._, ._ }, | 9511 | .{ ._, .vp_b, .shuf, .dst0y, .dst0y, .lea(.tmp1y), ._ }, |
| 9325 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 9512 | .{ ._, .v_q, .perm, .dst0y, .dst0y, .ui(0b10_00_10_00), ._ }, |
| 9326 | } }, | 9513 | } }, |
| 9327 | }, .{ | 9514 | }, .{ |
| 9328 | .required_features = .{ .sse, null, null, null }, | 9515 | .required_features = .{ .avx2, null, null, null }, |
| 9329 | .src_constraints = .{ | 9516 | .src_constraints = .{ |
| 9330 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .dword } }, | 9517 | .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .byte } }, |
| 9331 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .dword } }, | 9518 | .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .byte } }, |
| 9332 | .any, | 9519 | .any, |
| 9333 | }, | 9520 | }, |
| 9334 | .patterns = &.{ | 9521 | .patterns = &.{ |
| ... | @@ -9336,10 +9523,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -9336,10 +9523,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 9336 | }, | 9523 | }, |
| 9337 | .extra_temps = .{ | 9524 | .extra_temps = .{ |
| 9338 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 9525 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 9339 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, | 9526 | .{ .type = .vector_8_u8, .kind = .{ .pshufb_trunc_mem = .{ .of = .xword, .from = .word, .to = .byte } } }, |
| 9340 | .unused, | 9527 | .{ .type = .vector_32_u8, .kind = .{ .rc = .sse } }, |
| 9341 | .unused, | 9528 | .{ .type = .vector_16_i16, .kind = .{ .rc = .sse } }, |
| 9342 | .unused, | 9529 | .{ .type = .vector_16_i16, .kind = .{ .rc = .sse } }, |
| 9343 | .unused, | 9530 | .unused, |
| 9344 | .unused, | 9531 | .unused, |
| 9345 | .unused, | 9532 | .unused, |
| ... | @@ -9350,59 +9537,34 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -9350,59 +9537,34 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 9350 | .dst_temps = .{ .mem, .unused }, | 9537 | .dst_temps = .{ .mem, .unused }, |
| 9351 | .clobbers = .{ .eflags = true }, | 9538 | .clobbers = .{ .eflags = true }, |
| 9352 | .each = .{ .once = &.{ | 9539 | .each = .{ .once = &.{ |
| 9540 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, | ||
| 9541 | .{ ._, .vp_q, .broadcast, .tmp2y, .lea(.tmp0q), ._, ._ }, | ||
| 9353 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 9542 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, |
| 9354 | .{ .@"0:", ._ps, .mova, .tmp1x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ }, | 9543 | .{ .@"0:", .vp_w, .movsxb, .tmp3y, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ }, |
| 9355 | .{ ._, ._ps, .div, .tmp1x, .memia(.src1x, .tmp0, .add_unaligned_size), ._, ._ }, | 9544 | .{ ._, .vp_w, .movsxb, .tmp4y, .memia(.src1x, .tmp0, .add_unaligned_size), ._, ._ }, |
| 9356 | .{ ._, ._ps, .mova, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ }, | 9545 | .{ ._, .vp_w, .mull, .tmp3y, .tmp3y, .tmp4y, ._ }, |
| 9546 | .{ ._, .vp_b, .shuf, .tmp3y, .tmp3y, .tmp2y, ._ }, | ||
| 9547 | .{ ._, .v_q, .perm, .tmp3y, .tmp3y, .ui(0b10_00_10_00), ._ }, | ||
| 9548 | .{ ._, .v_dqa, .mov, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp3x, ._, ._ }, | ||
| 9357 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, | 9549 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, |
| 9358 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 9550 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 9359 | } }, | 9551 | } }, |
| 9360 | }, .{ | 9552 | }, .{ |
| 9361 | .required_features = .{ .avx, null, null, null }, | 9553 | .required_features = .{ .avx, null, null, null }, |
| 9362 | .src_constraints = .{ | 9554 | .src_constraints = .{ |
| 9363 | .{ .scalar_float = .{ .of = .qword, .is = .qword } }, | 9555 | .{ .multiple_scalar_signed_int = .{ .of = .qword, .is = .byte } }, |
| 9364 | .{ .scalar_float = .{ .of = .qword, .is = .qword } }, | 9556 | .{ .multiple_scalar_signed_int = .{ .of = .qword, .is = .byte } }, |
| 9365 | .any, | ||
| 9366 | }, | ||
| 9367 | .patterns = &.{ | ||
| 9368 | .{ .src = .{ .to_sse, .mem, .none } }, | ||
| 9369 | .{ .src = .{ .to_sse, .to_sse, .none } }, | ||
| 9370 | }, | ||
| 9371 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, | ||
| 9372 | .each = .{ .once = &.{ | ||
| 9373 | .{ ._, .v_sd, .div, .dst0x, .src0x, .src1q, ._ }, | ||
| 9374 | } }, | ||
| 9375 | }, .{ | ||
| 9376 | .required_features = .{ .sse2, null, null, null }, | ||
| 9377 | .src_constraints = .{ | ||
| 9378 | .{ .scalar_float = .{ .of = .qword, .is = .qword } }, | ||
| 9379 | .{ .scalar_float = .{ .of = .qword, .is = .qword } }, | ||
| 9380 | .any, | ||
| 9381 | }, | ||
| 9382 | .patterns = &.{ | ||
| 9383 | .{ .src = .{ .to_mut_sse, .mem, .none } }, | ||
| 9384 | .{ .src = .{ .to_mut_sse, .to_sse, .none } }, | ||
| 9385 | }, | ||
| 9386 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, | ||
| 9387 | .each = .{ .once = &.{ | ||
| 9388 | .{ ._, ._sd, .div, .dst0x, .src1q, ._, ._ }, | ||
| 9389 | } }, | ||
| 9390 | }, .{ | ||
| 9391 | .required_features = .{ .x87, null, null, null }, | ||
| 9392 | .src_constraints = .{ | ||
| 9393 | .{ .scalar_float = .{ .of = .qword, .is = .qword } }, | ||
| 9394 | .{ .scalar_float = .{ .of = .qword, .is = .qword } }, | ||
| 9395 | .any, | 9557 | .any, |
| 9396 | }, | 9558 | }, |
| 9397 | .patterns = &.{ | 9559 | .patterns = &.{ |
| 9398 | .{ .src = .{ .mem, .mem, .none } }, | 9560 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 9399 | }, | 9561 | }, |
| 9400 | .extra_temps = .{ | 9562 | .extra_temps = .{ |
| 9401 | .{ .type = .f64, .kind = .{ .reg = .st6 } }, | 9563 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 9402 | .{ .type = .f64, .kind = .{ .reg = .st7 } }, | 9564 | .{ .type = .vector_8_u8, .kind = .{ .pshufb_trunc_mem = .{ .of = .xword, .from = .word, .to = .byte } } }, |
| 9403 | .unused, | 9565 | .{ .type = .vector_32_u8, .kind = .{ .rc = .sse } }, |
| 9404 | .unused, | 9566 | .{ .type = .vector_8_i16, .kind = .{ .rc = .sse } }, |
| 9405 | .unused, | 9567 | .{ .type = .vector_8_i16, .kind = .{ .rc = .sse } }, |
| 9406 | .unused, | 9568 | .unused, |
| 9407 | .unused, | 9569 | .unused, |
| 9408 | .unused, | 9570 | .unused, |
| ... | @@ -9411,61 +9573,24 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -9411,61 +9573,24 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 9411 | .unused, | 9573 | .unused, |
| 9412 | }, | 9574 | }, |
| 9413 | .dst_temps = .{ .mem, .unused }, | 9575 | .dst_temps = .{ .mem, .unused }, |
| 9576 | .clobbers = .{ .eflags = true }, | ||
| 9414 | .each = .{ .once = &.{ | 9577 | .each = .{ .once = &.{ |
| 9415 | .{ ._, .f_, .ld, .src0q, ._, ._, ._ }, | 9578 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| 9416 | .{ ._, .f_, .div, .src1q, ._, ._, ._ }, | 9579 | .{ ._, .v_, .movddup, .tmp2x, .lea(.tmp0q), ._, ._ }, |
| 9417 | .{ ._, .f_p, .st, .dst0q, ._, ._, ._ }, | 9580 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, |
| 9418 | } }, | 9581 | .{ .@"0:", .vp_w, .movsxb, .tmp3x, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._ }, |
| 9419 | }, .{ | 9582 | .{ ._, .vp_w, .movsxb, .tmp4x, .memia(.src1q, .tmp0, .add_unaligned_size), ._, ._ }, |
| 9420 | .required_features = .{ .avx, null, null, null }, | 9583 | .{ ._, .vp_w, .mull, .tmp3x, .tmp3x, .tmp4x, ._ }, |
| 9421 | .src_constraints = .{ | 9584 | .{ ._, .vp_b, .shuf, .tmp3x, .tmp3x, .tmp2x, ._ }, |
| 9422 | .{ .scalar_float = .{ .of = .xword, .is = .qword } }, | 9585 | .{ ._, .v_q, .mov, .memia(.dst0q, .tmp0, .add_unaligned_size), .tmp3x, ._, ._ }, |
| 9423 | .{ .scalar_float = .{ .of = .xword, .is = .qword } }, | 9586 | .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ }, |
| 9424 | .any, | 9587 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 9425 | }, | ||
| 9426 | .patterns = &.{ | ||
| 9427 | .{ .src = .{ .to_sse, .mem, .none } }, | ||
| 9428 | .{ .src = .{ .to_sse, .to_sse, .none } }, | ||
| 9429 | }, | ||
| 9430 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, | ||
| 9431 | .each = .{ .once = &.{ | ||
| 9432 | .{ ._, .v_pd, .div, .dst0x, .src0x, .src1x, ._ }, | ||
| 9433 | } }, | ||
| 9434 | }, .{ | ||
| 9435 | .required_features = .{ .sse2, null, null, null }, | ||
| 9436 | .src_constraints = .{ | ||
| 9437 | .{ .scalar_float = .{ .of = .xword, .is = .qword } }, | ||
| 9438 | .{ .scalar_float = .{ .of = .xword, .is = .qword } }, | ||
| 9439 | .any, | ||
| 9440 | }, | ||
| 9441 | .patterns = &.{ | ||
| 9442 | .{ .src = .{ .to_mut_sse, .mem, .none } }, | ||
| 9443 | .{ .src = .{ .to_mut_sse, .to_sse, .none } }, | ||
| 9444 | }, | ||
| 9445 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, | ||
| 9446 | .each = .{ .once = &.{ | ||
| 9447 | .{ ._, ._pd, .div, .dst0x, .src1x, ._, ._ }, | ||
| 9448 | } }, | ||
| 9449 | }, .{ | ||
| 9450 | .required_features = .{ .avx, null, null, null }, | ||
| 9451 | .src_constraints = .{ | ||
| 9452 | .{ .scalar_float = .{ .of = .yword, .is = .qword } }, | ||
| 9453 | .{ .scalar_float = .{ .of = .yword, .is = .qword } }, | ||
| 9454 | .any, | ||
| 9455 | }, | ||
| 9456 | .patterns = &.{ | ||
| 9457 | .{ .src = .{ .to_sse, .mem, .none } }, | ||
| 9458 | .{ .src = .{ .to_sse, .to_sse, .none } }, | ||
| 9459 | }, | ||
| 9460 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, | ||
| 9461 | .each = .{ .once = &.{ | ||
| 9462 | .{ ._, .v_pd, .div, .dst0y, .src0y, .src1y, ._ }, | ||
| 9463 | } }, | 9588 | } }, |
| 9464 | }, .{ | 9589 | }, .{ |
| 9465 | .required_features = .{ .avx, null, null, null }, | 9590 | .required_features = .{ .sse4_1, null, null, null }, |
| 9466 | .src_constraints = .{ | 9591 | .src_constraints = .{ |
| 9467 | .{ .multiple_scalar_float = .{ .of = .yword, .is = .qword } }, | 9592 | .{ .multiple_scalar_signed_int = .{ .of = .qword, .is = .byte } }, |
| 9468 | .{ .multiple_scalar_float = .{ .of = .yword, .is = .qword } }, | 9593 | .{ .multiple_scalar_signed_int = .{ .of = .qword, .is = .byte } }, |
| 9469 | .any, | 9594 | .any, |
| 9470 | }, | 9595 | }, |
| 9471 | .patterns = &.{ | 9596 | .patterns = &.{ |
| ... | @@ -9473,10 +9598,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -9473,10 +9598,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 9473 | }, | 9598 | }, |
| 9474 | .extra_temps = .{ | 9599 | .extra_temps = .{ |
| 9475 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 9600 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 9476 | .{ .type = .vector_4_f64, .kind = .{ .rc = .sse } }, | 9601 | .{ .type = .vector_8_u8, .kind = .{ .pshufb_trunc_mem = .{ .of = .xword, .from = .word, .to = .byte } } }, |
| 9477 | .unused, | 9602 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| 9478 | .unused, | 9603 | .{ .type = .vector_8_i16, .kind = .{ .rc = .sse } }, |
| 9479 | .unused, | 9604 | .{ .type = .vector_8_i16, .kind = .{ .rc = .sse } }, |
| 9480 | .unused, | 9605 | .unused, |
| 9481 | .unused, | 9606 | .unused, |
| 9482 | .unused, | 9607 | .unused, |
| ... | @@ -9487,18 +9612,22 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -9487,18 +9612,22 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 9487 | .dst_temps = .{ .mem, .unused }, | 9612 | .dst_temps = .{ .mem, .unused }, |
| 9488 | .clobbers = .{ .eflags = true }, | 9613 | .clobbers = .{ .eflags = true }, |
| 9489 | .each = .{ .once = &.{ | 9614 | .each = .{ .once = &.{ |
| 9615 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, | ||
| 9616 | .{ ._, ._, .movddup, .tmp2x, .lea(.tmp0q), ._, ._ }, | ||
| 9490 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 9617 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, |
| 9491 | .{ .@"0:", .v_pd, .mova, .tmp1y, .memia(.src0y, .tmp0, .add_unaligned_size), ._, ._ }, | 9618 | .{ .@"0:", .p_w, .movsxb, .tmp3x, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._ }, |
| 9492 | .{ ._, .v_pd, .div, .tmp1y, .tmp1y, .memia(.src1y, .tmp0, .add_unaligned_size), ._ }, | 9619 | .{ ._, .p_w, .movsxb, .tmp4x, .memia(.src1q, .tmp0, .add_unaligned_size), ._, ._ }, |
| 9493 | .{ ._, .v_pd, .mova, .memia(.dst0y, .tmp0, .add_unaligned_size), .tmp1y, ._, ._ }, | 9620 | .{ ._, .p_w, .mull, .tmp3x, .tmp4x, ._, ._ }, |
| 9494 | .{ ._, ._, .add, .tmp0p, .si(32), ._, ._ }, | 9621 | .{ ._, .p_b, .shuf, .tmp3x, .tmp2x, ._, ._ }, |
| 9622 | .{ ._, ._q, .mov, .memia(.dst0q, .tmp0, .add_unaligned_size), .tmp3x, ._, ._ }, | ||
| 9623 | .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ }, | ||
| 9495 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 9624 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 9496 | } }, | 9625 | } }, |
| 9497 | }, .{ | 9626 | }, .{ |
| 9498 | .required_features = .{ .sse2, null, null, null }, | 9627 | .required_features = .{ .ssse3, null, null, null }, |
| 9499 | .src_constraints = .{ | 9628 | .src_constraints = .{ |
| 9500 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .qword } }, | 9629 | .{ .multiple_scalar_int = .{ .of = .qword, .is = .byte } }, |
| 9501 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .qword } }, | 9630 | .{ .multiple_scalar_int = .{ .of = .qword, .is = .byte } }, |
| 9502 | .any, | 9631 | .any, |
| 9503 | }, | 9632 | }, |
| 9504 | .patterns = &.{ | 9633 | .patterns = &.{ |
| ... | @@ -9506,10 +9635,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -9506,10 +9635,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 9506 | }, | 9635 | }, |
| 9507 | .extra_temps = .{ | 9636 | .extra_temps = .{ |
| 9508 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 9637 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 9509 | .{ .type = .vector_2_f64, .kind = .{ .rc = .sse } }, | 9638 | .{ .type = .vector_8_u8, .kind = .{ .pshufb_trunc_mem = .{ .of = .xword, .from = .word, .to = .byte } } }, |
| 9510 | .unused, | 9639 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| 9511 | .unused, | 9640 | .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } }, |
| 9512 | .unused, | 9641 | .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } }, |
| 9513 | .unused, | 9642 | .unused, |
| 9514 | .unused, | 9643 | .unused, |
| 9515 | .unused, | 9644 | .unused, |
| ... | @@ -9520,18 +9649,24 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -9520,18 +9649,24 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 9520 | .dst_temps = .{ .mem, .unused }, | 9649 | .dst_temps = .{ .mem, .unused }, |
| 9521 | .clobbers = .{ .eflags = true }, | 9650 | .clobbers = .{ .eflags = true }, |
| 9522 | .each = .{ .once = &.{ | 9651 | .each = .{ .once = &.{ |
| 9652 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, | ||
| 9653 | .{ ._, ._, .movddup, .tmp2x, .lea(.tmp0q), ._, ._ }, | ||
| 9523 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 9654 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, |
| 9524 | .{ .@"0:", ._pd, .mova, .tmp1x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ }, | 9655 | .{ .@"0:", ._q, .mov, .tmp3x, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._ }, |
| 9525 | .{ ._, ._pd, .div, .tmp1x, .memia(.src1x, .tmp0, .add_unaligned_size), ._, ._ }, | 9656 | .{ ._, .p_, .unpcklbw, .tmp3x, .tmp3x, ._, ._ }, |
| 9526 | .{ ._, ._pd, .mova, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ }, | 9657 | .{ ._, ._q, .mov, .tmp4x, .memia(.src1q, .tmp0, .add_unaligned_size), ._, ._ }, |
| 9527 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, | 9658 | .{ ._, .p_, .unpcklbw, .tmp4x, .tmp4x, ._, ._ }, |
| 9659 | .{ ._, .p_w, .mull, .tmp3x, .tmp4x, ._, ._ }, | ||
| 9660 | .{ ._, .p_b, .shuf, .tmp3x, .tmp2x, ._, ._ }, | ||
| 9661 | .{ ._, ._q, .mov, .memia(.dst0q, .tmp0, .add_unaligned_size), .tmp3x, ._, ._ }, | ||
| 9662 | .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ }, | ||
| 9528 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 9663 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 9529 | } }, | 9664 | } }, |
| 9530 | }, .{ | 9665 | }, .{ |
| 9531 | .required_features = .{ .x87, null, null, null }, | 9666 | .required_features = .{ .sse3, null, null, null }, |
| 9532 | .src_constraints = .{ | 9667 | .src_constraints = .{ |
| 9533 | .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, | 9668 | .{ .multiple_scalar_int = .{ .of = .qword, .is = .byte } }, |
| 9534 | .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, | 9669 | .{ .multiple_scalar_int = .{ .of = .qword, .is = .byte } }, |
| 9535 | .any, | 9670 | .any, |
| 9536 | }, | 9671 | }, |
| 9537 | .patterns = &.{ | 9672 | .patterns = &.{ |
| ... | @@ -9539,10 +9674,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -9539,10 +9674,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 9539 | }, | 9674 | }, |
| 9540 | .extra_temps = .{ | 9675 | .extra_temps = .{ |
| 9541 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 9676 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 9542 | .{ .type = .f64, .kind = .{ .reg = .st6 } }, | 9677 | .{ .type = .vector_8_u8, .kind = .{ .pand_trunc_mem = .{ .from = .word, .to = .byte } } }, |
| 9543 | .{ .type = .f64, .kind = .{ .reg = .st7 } }, | 9678 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| 9544 | .unused, | 9679 | .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } }, |
| 9545 | .unused, | 9680 | .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } }, |
| 9546 | .unused, | 9681 | .unused, |
| 9547 | .unused, | 9682 | .unused, |
| 9548 | .unused, | 9683 | .unused, |
| ... | @@ -9551,30 +9686,38 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -9551,30 +9686,38 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 9551 | .unused, | 9686 | .unused, |
| 9552 | }, | 9687 | }, |
| 9553 | .dst_temps = .{ .mem, .unused }, | 9688 | .dst_temps = .{ .mem, .unused }, |
| 9689 | .clobbers = .{ .eflags = true }, | ||
| 9554 | .each = .{ .once = &.{ | 9690 | .each = .{ .once = &.{ |
| 9691 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, | ||
| 9692 | .{ ._, ._, .movddup, .tmp2x, .lea(.tmp0q), ._, ._ }, | ||
| 9555 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 9693 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, |
| 9556 | .{ .@"0:", .f_, .ld, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._, ._ }, | 9694 | .{ .@"0:", ._q, .mov, .tmp3x, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._ }, |
| 9557 | .{ ._, .f_, .div, .memia(.src1q, .tmp0, .add_unaligned_size), ._, ._, ._ }, | 9695 | .{ ._, .p_, .unpcklbw, .tmp3x, .tmp3x, ._, ._ }, |
| 9558 | .{ ._, .f_p, .st, .memia(.dst0q, .tmp0, .add_unaligned_size), ._, ._, ._ }, | 9696 | .{ ._, ._q, .mov, .tmp4x, .memia(.src1q, .tmp0, .add_unaligned_size), ._, ._ }, |
| 9697 | .{ ._, .p_, .unpcklbw, .tmp4x, .tmp4x, ._, ._ }, | ||
| 9698 | .{ ._, .p_w, .mull, .tmp3x, .tmp4x, ._, ._ }, | ||
| 9699 | .{ ._, .p_, .@"and", .tmp3x, .tmp2x, ._, ._ }, | ||
| 9700 | .{ ._, .p_b, .ackusw, .tmp3x, .tmp3x, ._, ._ }, | ||
| 9701 | .{ ._, ._q, .mov, .memia(.dst0q, .tmp0, .add_unaligned_size), .tmp3x, ._, ._ }, | ||
| 9559 | .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ }, | 9702 | .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ }, |
| 9560 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 9703 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 9561 | } }, | 9704 | } }, |
| 9562 | }, .{ | 9705 | }, .{ |
| 9563 | .required_features = .{ .x87, null, null, null }, | 9706 | .required_features = .{ .sse2, null, null, null }, |
| 9564 | .src_constraints = .{ | 9707 | .src_constraints = .{ |
| 9565 | .{ .scalar_float = .{ .of = .xword, .is = .tbyte } }, | 9708 | .{ .multiple_scalar_int = .{ .of = .qword, .is = .byte } }, |
| 9566 | .{ .scalar_float = .{ .of = .xword, .is = .tbyte } }, | 9709 | .{ .multiple_scalar_int = .{ .of = .qword, .is = .byte } }, |
| 9567 | .any, | 9710 | .any, |
| 9568 | }, | 9711 | }, |
| 9569 | .patterns = &.{ | 9712 | .patterns = &.{ |
| 9570 | .{ .src = .{ .mem, .mem, .none } }, | 9713 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 9571 | }, | 9714 | }, |
| 9572 | .extra_temps = .{ | 9715 | .extra_temps = .{ |
| 9573 | .{ .type = .f80, .kind = .{ .reg = .st6 } }, | 9716 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 9574 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, | 9717 | .{ .type = .vector_16_u8, .kind = .{ .pand_trunc_mem = .{ .from = .word, .to = .byte } } }, |
| 9575 | .unused, | 9718 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| 9576 | .unused, | 9719 | .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } }, |
| 9577 | .unused, | 9720 | .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } }, |
| 9578 | .unused, | 9721 | .unused, |
| 9579 | .unused, | 9722 | .unused, |
| 9580 | .unused, | 9723 | .unused, |
| ... | @@ -9582,26 +9725,36 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -9582,26 +9725,36 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 9582 | .unused, | 9725 | .unused, |
| 9583 | .unused, | 9726 | .unused, |
| 9584 | }, | 9727 | }, |
| 9585 | .dst_temps = .{ .{ .rc = .x87 }, .unused }, | 9728 | .dst_temps = .{ .mem, .unused }, |
| 9729 | .clobbers = .{ .eflags = true }, | ||
| 9586 | .each = .{ .once = &.{ | 9730 | .each = .{ .once = &.{ |
| 9587 | .{ ._, .f_, .ld, .src0t, ._, ._, ._ }, | 9731 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| 9588 | .{ ._, .f_, .ld, .src1t, ._, ._, ._ }, | 9732 | .{ ._, ._dqa, .mov, .tmp2x, .lea(.tmp0x), ._, ._ }, |
| 9589 | .{ ._, .f_p, .div, ._, ._, ._, ._ }, | 9733 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, |
| 9590 | .{ ._, .f_p, .st, .dst0t, ._, ._, ._ }, | 9734 | .{ .@"0:", ._q, .mov, .tmp3x, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._ }, |
| 9735 | .{ ._, .p_, .unpcklbw, .tmp3x, .tmp3x, ._, ._ }, | ||
| 9736 | .{ ._, ._q, .mov, .tmp4x, .memia(.src1q, .tmp0, .add_unaligned_size), ._, ._ }, | ||
| 9737 | .{ ._, .p_, .unpcklbw, .tmp4x, .tmp4x, ._, ._ }, | ||
| 9738 | .{ ._, .p_w, .mull, .tmp3x, .tmp4x, ._, ._ }, | ||
| 9739 | .{ ._, .p_, .@"and", .tmp3x, .tmp2x, ._, ._ }, | ||
| 9740 | .{ ._, .p_b, .ackusw, .tmp3x, .tmp3x, ._, ._ }, | ||
| 9741 | .{ ._, ._q, .mov, .memia(.dst0q, .tmp0, .add_unaligned_size), .tmp3x, ._, ._ }, | ||
| 9742 | .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ }, | ||
| 9743 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | ||
| 9591 | } }, | 9744 | } }, |
| 9592 | }, .{ | 9745 | }, .{ |
| 9593 | .required_features = .{ .x87, null, null, null }, | 9746 | .required_features = .{ .slow_incdec, null, null, null }, |
| 9594 | .src_constraints = .{ | 9747 | .src_constraints = .{ |
| 9595 | .{ .scalar_float = .{ .of = .xword, .is = .tbyte } }, | 9748 | .{ .multiple_scalar_signed_int = .{ .of = .byte, .is = .byte } }, |
| 9596 | .{ .scalar_float = .{ .of = .xword, .is = .tbyte } }, | 9749 | .{ .multiple_scalar_signed_int = .{ .of = .byte, .is = .byte } }, |
| 9597 | .any, | 9750 | .any, |
| 9598 | }, | 9751 | }, |
| 9599 | .patterns = &.{ | 9752 | .patterns = &.{ |
| 9600 | .{ .src = .{ .to_x87, .mem, .none }, .commute = .{ 0, 1 } }, | 9753 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 9601 | }, | 9754 | }, |
| 9602 | .extra_temps = .{ | 9755 | .extra_temps = .{ |
| 9603 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, | 9756 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 9604 | .unused, | 9757 | .{ .type = .i8, .kind = .{ .reg = .al } }, |
| 9605 | .unused, | 9758 | .unused, |
| 9606 | .unused, | 9759 | .unused, |
| 9607 | .unused, | 9760 | .unused, |
| ... | @@ -9612,26 +9765,28 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -9612,26 +9765,28 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 9612 | .unused, | 9765 | .unused, |
| 9613 | .unused, | 9766 | .unused, |
| 9614 | }, | 9767 | }, |
| 9615 | .dst_temps = .{ .{ .rc = .x87 }, .unused }, | 9768 | .dst_temps = .{ .mem, .unused }, |
| 9769 | .clobbers = .{ .eflags = true }, | ||
| 9616 | .each = .{ .once = &.{ | 9770 | .each = .{ .once = &.{ |
| 9617 | .{ ._, .f_, .ld, .src0t, ._, ._, ._ }, | 9771 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, |
| 9618 | .{ ._, .f_, .divr, .tmp0t, .src1t, ._, ._ }, | 9772 | .{ .@"0:", ._, .movsx, .tmp1d, .memia(.src0b, .tmp0, .add_unaligned_size), ._, ._ }, |
| 9619 | .{ ._, .f_p, .st, .dst0t, ._, ._, ._ }, | 9773 | .{ ._, .i_, .mul, .memia(.src1b, .tmp0, .add_unaligned_size), ._, ._, ._ }, |
| 9774 | .{ ._, ._, .mov, .memia(.dst0b, .tmp0, .add_unaligned_size), .tmp1b, ._, ._ }, | ||
| 9775 | .{ ._, ._, .add, .tmp0p, .si(1), ._, ._ }, | ||
| 9776 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | ||
| 9620 | } }, | 9777 | } }, |
| 9621 | }, .{ | 9778 | }, .{ |
| 9622 | .required_features = .{ .x87, null, null, null }, | ||
| 9623 | .src_constraints = .{ | 9779 | .src_constraints = .{ |
| 9624 | .{ .scalar_float = .{ .of = .xword, .is = .tbyte } }, | 9780 | .{ .multiple_scalar_signed_int = .{ .of = .byte, .is = .byte } }, |
| 9625 | .{ .scalar_float = .{ .of = .xword, .is = .tbyte } }, | 9781 | .{ .multiple_scalar_signed_int = .{ .of = .byte, .is = .byte } }, |
| 9626 | .any, | 9782 | .any, |
| 9627 | }, | 9783 | }, |
| 9628 | .patterns = &.{ | 9784 | .patterns = &.{ |
| 9629 | .{ .src = .{ .mem, .to_x87, .none } }, | 9785 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 9630 | .{ .src = .{ .to_x87, .to_x87, .none } }, | ||
| 9631 | }, | 9786 | }, |
| 9632 | .extra_temps = .{ | 9787 | .extra_temps = .{ |
| 9633 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, | 9788 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 9634 | .unused, | 9789 | .{ .type = .i8, .kind = .{ .reg = .al } }, |
| 9635 | .unused, | 9790 | .unused, |
| 9636 | .unused, | 9791 | .unused, |
| 9637 | .unused, | 9792 | .unused, |
| ... | @@ -9642,17 +9797,21 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -9642,17 +9797,21 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 9642 | .unused, | 9797 | .unused, |
| 9643 | .unused, | 9798 | .unused, |
| 9644 | }, | 9799 | }, |
| 9645 | .dst_temps = .{ .{ .rc = .x87 }, .unused }, | 9800 | .dst_temps = .{ .mem, .unused }, |
| 9801 | .clobbers = .{ .eflags = true }, | ||
| 9646 | .each = .{ .once = &.{ | 9802 | .each = .{ .once = &.{ |
| 9647 | .{ ._, .f_, .ld, .src0t, ._, ._, ._ }, | 9803 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, |
| 9648 | .{ ._, .f_, .div, .tmp0t, .src1t, ._, ._ }, | 9804 | .{ .@"0:", ._, .movsx, .tmp1d, .memia(.src0b, .tmp0, .add_unaligned_size), ._, ._ }, |
| 9649 | .{ ._, .f_p, .st, .dst0t, ._, ._, ._ }, | 9805 | .{ ._, .i_, .mul, .memia(.src1b, .tmp0, .add_unaligned_size), ._, ._, ._ }, |
| 9806 | .{ ._, ._, .mov, .memia(.dst0b, .tmp0, .add_unaligned_size), .tmp1b, ._, ._ }, | ||
| 9807 | .{ ._, ._c, .in, .tmp0p, ._, ._, ._ }, | ||
| 9808 | .{ ._, ._nz, .j, .@"0b", ._, ._, ._ }, | ||
| 9650 | } }, | 9809 | } }, |
| 9651 | }, .{ | 9810 | }, .{ |
| 9652 | .required_features = .{ .x87, null, null, null }, | 9811 | .required_features = .{ .avx2, null, null, null }, |
| 9653 | .src_constraints = .{ | 9812 | .src_constraints = .{ |
| 9654 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, | 9813 | .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .byte } }, |
| 9655 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, | 9814 | .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .byte } }, |
| 9656 | .any, | 9815 | .any, |
| 9657 | }, | 9816 | }, |
| 9658 | .patterns = &.{ | 9817 | .patterns = &.{ |
| ... | @@ -9660,10 +9819,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -9660,10 +9819,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 9660 | }, | 9819 | }, |
| 9661 | .extra_temps = .{ | 9820 | .extra_temps = .{ |
| 9662 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 9821 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 9663 | .{ .type = .f80, .kind = .{ .reg = .st6 } }, | 9822 | .{ .type = .vector_8_u8, .kind = .{ .pshufb_trunc_mem = .{ .of = .xword, .from = .word, .to = .byte } } }, |
| 9664 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, | 9823 | .{ .type = .vector_32_u8, .kind = .{ .rc = .sse } }, |
| 9665 | .unused, | 9824 | .{ .type = .vector_16_u16, .kind = .{ .rc = .sse } }, |
| 9666 | .unused, | 9825 | .{ .type = .vector_16_u16, .kind = .{ .rc = .sse } }, |
| 9667 | .unused, | 9826 | .unused, |
| 9668 | .unused, | 9827 | .unused, |
| 9669 | .unused, | 9828 | .unused, |
| ... | @@ -9672,32 +9831,36 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -9672,32 +9831,36 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 9672 | .unused, | 9831 | .unused, |
| 9673 | }, | 9832 | }, |
| 9674 | .dst_temps = .{ .mem, .unused }, | 9833 | .dst_temps = .{ .mem, .unused }, |
| 9834 | .clobbers = .{ .eflags = true }, | ||
| 9675 | .each = .{ .once = &.{ | 9835 | .each = .{ .once = &.{ |
| 9836 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, | ||
| 9837 | .{ ._, .vp_q, .broadcast, .tmp2y, .lea(.tmp0q), ._, ._ }, | ||
| 9676 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 9838 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, |
| 9677 | .{ .@"0:", .f_, .ld, .memia(.src0t, .tmp0, .add_unaligned_size), ._, ._, ._ }, | 9839 | .{ .@"0:", .vp_w, .movzxb, .tmp3y, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ }, |
| 9678 | .{ ._, .f_, .ld, .memia(.src1t, .tmp0, .add_unaligned_size), ._, ._, ._ }, | 9840 | .{ ._, .vp_w, .movzxb, .tmp4y, .memia(.src1x, .tmp0, .add_unaligned_size), ._, ._ }, |
| 9679 | .{ ._, .f_p, .div, ._, ._, ._, ._ }, | 9841 | .{ ._, .vp_w, .mull, .tmp3y, .tmp3y, .tmp4y, ._ }, |
| 9680 | .{ ._, .f_p, .st, .memia(.dst0t, .tmp0, .add_unaligned_size), ._, ._, ._ }, | 9842 | .{ ._, .vp_b, .shuf, .tmp3y, .tmp3y, .tmp2y, ._ }, |
| 9843 | .{ ._, .v_q, .perm, .tmp3y, .tmp3y, .ui(0b10_00_10_00), ._ }, | ||
| 9844 | .{ ._, .v_dqa, .mov, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp3x, ._, ._ }, | ||
| 9681 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, | 9845 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, |
| 9682 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 9846 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 9683 | } }, | 9847 | } }, |
| 9684 | }, .{ | 9848 | }, .{ |
| 9685 | .required_features = .{ .sse, null, null, null }, | 9849 | .required_features = .{ .avx, null, null, null }, |
| 9686 | .src_constraints = .{ | 9850 | .src_constraints = .{ |
| 9687 | .{ .scalar_float = .{ .of = .xword, .is = .xword } }, | 9851 | .{ .multiple_scalar_unsigned_int = .{ .of = .qword, .is = .byte } }, |
| 9688 | .{ .scalar_float = .{ .of = .xword, .is = .xword } }, | 9852 | .{ .multiple_scalar_unsigned_int = .{ .of = .qword, .is = .byte } }, |
| 9689 | .any, | 9853 | .any, |
| 9690 | }, | 9854 | }, |
| 9691 | .patterns = &.{ | 9855 | .patterns = &.{ |
| 9692 | .{ .src = .{ .{ .to_reg = .xmm0 }, .{ .to_reg = .xmm1 }, .none } }, | 9856 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 9693 | }, | 9857 | }, |
| 9694 | .call_frame = .{ .alignment = .@"16" }, | ||
| 9695 | .extra_temps = .{ | 9858 | .extra_temps = .{ |
| 9696 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__divtf3" } } }, | 9859 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 9697 | .unused, | 9860 | .{ .type = .vector_8_u8, .kind = .{ .pshufb_trunc_mem = .{ .of = .xword, .from = .word, .to = .byte } } }, |
| 9698 | .unused, | 9861 | .{ .type = .vector_32_u8, .kind = .{ .rc = .sse } }, |
| 9699 | .unused, | 9862 | .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } }, |
| 9700 | .unused, | 9863 | .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } }, |
| 9701 | .unused, | 9864 | .unused, |
| 9702 | .unused, | 9865 | .unused, |
| 9703 | .unused, | 9866 | .unused, |
| ... | @@ -9705,28 +9868,36 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -9705,28 +9868,36 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 9705 | .unused, | 9868 | .unused, |
| 9706 | .unused, | 9869 | .unused, |
| 9707 | }, | 9870 | }, |
| 9708 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, | 9871 | .dst_temps = .{ .mem, .unused }, |
| 9709 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 9872 | .clobbers = .{ .eflags = true }, |
| 9710 | .each = .{ .once = &.{ | 9873 | .each = .{ .once = &.{ |
| 9711 | .{ ._, ._, .call, .tmp0d, ._, ._, ._ }, | 9874 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| 9875 | .{ ._, .v_, .movddup, .tmp2x, .lea(.tmp0q), ._, ._ }, | ||
| 9876 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | ||
| 9877 | .{ .@"0:", .vp_w, .movzxb, .tmp3x, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._ }, | ||
| 9878 | .{ ._, .vp_w, .movzxb, .tmp4x, .memia(.src1q, .tmp0, .add_unaligned_size), ._, ._ }, | ||
| 9879 | .{ ._, .vp_w, .mull, .tmp3x, .tmp3x, .tmp4x, ._ }, | ||
| 9880 | .{ ._, .vp_b, .shuf, .tmp3x, .tmp3x, .tmp2x, ._ }, | ||
| 9881 | .{ ._, .v_q, .mov, .memia(.dst0q, .tmp0, .add_unaligned_size), .tmp3x, ._, ._ }, | ||
| 9882 | .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ }, | ||
| 9883 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | ||
| 9712 | } }, | 9884 | } }, |
| 9713 | }, .{ | 9885 | }, .{ |
| 9714 | .required_features = .{ .avx, null, null, null }, | 9886 | .required_features = .{ .sse4_1, null, null, null }, |
| 9715 | .src_constraints = .{ | 9887 | .src_constraints = .{ |
| 9716 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, | 9888 | .{ .multiple_scalar_unsigned_int = .{ .of = .qword, .is = .byte } }, |
| 9717 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, | 9889 | .{ .multiple_scalar_unsigned_int = .{ .of = .qword, .is = .byte } }, |
| 9718 | .any, | 9890 | .any, |
| 9719 | }, | 9891 | }, |
| 9720 | .patterns = &.{ | 9892 | .patterns = &.{ |
| 9721 | .{ .src = .{ .to_mem, .to_mem, .none } }, | 9893 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 9722 | }, | 9894 | }, |
| 9723 | .call_frame = .{ .alignment = .@"16" }, | ||
| 9724 | .extra_temps = .{ | 9895 | .extra_temps = .{ |
| 9725 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 9896 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 9726 | .{ .type = .f128, .kind = .{ .reg = .xmm0 } }, | 9897 | .{ .type = .vector_8_u8, .kind = .{ .pshufb_trunc_mem = .{ .of = .xword, .from = .word, .to = .byte } } }, |
| 9727 | .{ .type = .f128, .kind = .{ .reg = .xmm1 } }, | 9898 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| 9728 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__divtf3" } } }, | 9899 | .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } }, |
| 9729 | .unused, | 9900 | .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } }, |
| 9730 | .unused, | 9901 | .unused, |
| 9731 | .unused, | 9902 | .unused, |
| 9732 | .unused, | 9903 | .unused, |
| ... | @@ -9735,32 +9906,34 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -9735,32 +9906,34 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 9735 | .unused, | 9906 | .unused, |
| 9736 | }, | 9907 | }, |
| 9737 | .dst_temps = .{ .mem, .unused }, | 9908 | .dst_temps = .{ .mem, .unused }, |
| 9738 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 9909 | .clobbers = .{ .eflags = true }, |
| 9739 | .each = .{ .once = &.{ | 9910 | .each = .{ .once = &.{ |
| 9911 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, | ||
| 9912 | .{ ._, ._, .movddup, .tmp2x, .lea(.tmp0q), ._, ._ }, | ||
| 9740 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 9913 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, |
| 9741 | .{ .@"0:", .v_dqa, .mov, .tmp1x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ }, | 9914 | .{ .@"0:", .p_w, .movzxb, .tmp3x, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._ }, |
| 9742 | .{ ._, .v_dqa, .mov, .tmp2x, .memia(.src1x, .tmp0, .add_unaligned_size), ._, ._ }, | 9915 | .{ ._, .p_w, .movzxb, .tmp4x, .memia(.src1q, .tmp0, .add_unaligned_size), ._, ._ }, |
| 9743 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, | 9916 | .{ ._, .p_w, .mull, .tmp3x, .tmp4x, ._, ._ }, |
| 9744 | .{ ._, .v_dqa, .mov, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ }, | 9917 | .{ ._, .p_b, .shuf, .tmp3x, .tmp2x, ._, ._ }, |
| 9745 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, | 9918 | .{ ._, ._q, .mov, .memia(.dst0q, .tmp0, .add_unaligned_size), .tmp3x, ._, ._ }, |
| 9919 | .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ }, | ||
| 9746 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 9920 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 9747 | } }, | 9921 | } }, |
| 9748 | }, .{ | 9922 | }, .{ |
| 9749 | .required_features = .{ .sse2, null, null, null }, | 9923 | .required_features = .{ .slow_incdec, null, null, null }, |
| 9750 | .src_constraints = .{ | 9924 | .src_constraints = .{ |
| 9751 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, | 9925 | .{ .multiple_scalar_unsigned_int = .{ .of = .byte, .is = .byte } }, |
| 9752 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, | 9926 | .{ .multiple_scalar_unsigned_int = .{ .of = .byte, .is = .byte } }, |
| 9753 | .any, | 9927 | .any, |
| 9754 | }, | 9928 | }, |
| 9755 | .patterns = &.{ | 9929 | .patterns = &.{ |
| 9756 | .{ .src = .{ .to_mem, .to_mem, .none } }, | 9930 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 9757 | }, | 9931 | }, |
| 9758 | .call_frame = .{ .alignment = .@"16" }, | ||
| 9759 | .extra_temps = .{ | 9932 | .extra_temps = .{ |
| 9760 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 9933 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 9761 | .{ .type = .f128, .kind = .{ .reg = .xmm0 } }, | 9934 | .{ .type = .u8, .kind = .{ .reg = .al } }, |
| 9762 | .{ .type = .f128, .kind = .{ .reg = .xmm1 } }, | 9935 | .unused, |
| 9763 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__divtf3" } } }, | 9936 | .unused, |
| 9764 | .unused, | 9937 | .unused, |
| 9765 | .unused, | 9938 | .unused, |
| 9766 | .unused, | 9939 | .unused, |
| ... | @@ -9770,32 +9943,29 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -9770,32 +9943,29 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 9770 | .unused, | 9943 | .unused, |
| 9771 | }, | 9944 | }, |
| 9772 | .dst_temps = .{ .mem, .unused }, | 9945 | .dst_temps = .{ .mem, .unused }, |
| 9773 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 9946 | .clobbers = .{ .eflags = true }, |
| 9774 | .each = .{ .once = &.{ | 9947 | .each = .{ .once = &.{ |
| 9775 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 9948 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, |
| 9776 | .{ .@"0:", ._dqa, .mov, .tmp1x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ }, | 9949 | .{ .@"0:", ._, .movzx, .tmp1d, .memia(.src0b, .tmp0, .add_unaligned_size), ._, ._ }, |
| 9777 | .{ ._, ._dqa, .mov, .tmp2x, .memia(.src1x, .tmp0, .add_unaligned_size), ._, ._ }, | 9950 | .{ ._, ._, .mul, .memia(.src1b, .tmp0, .add_unaligned_size), ._, ._, ._ }, |
| 9778 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, | 9951 | .{ ._, ._, .mov, .memia(.dst0b, .tmp0, .add_unaligned_size), .tmp1b, ._, ._ }, |
| 9779 | .{ ._, ._dqa, .mov, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ }, | 9952 | .{ ._, ._, .add, .tmp0p, .si(1), ._, ._ }, |
| 9780 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, | ||
| 9781 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 9953 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 9782 | } }, | 9954 | } }, |
| 9783 | }, .{ | 9955 | }, .{ |
| 9784 | .required_features = .{ .sse, null, null, null }, | ||
| 9785 | .src_constraints = .{ | 9956 | .src_constraints = .{ |
| 9786 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, | 9957 | .{ .multiple_scalar_unsigned_int = .{ .of = .byte, .is = .byte } }, |
| 9787 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, | 9958 | .{ .multiple_scalar_unsigned_int = .{ .of = .byte, .is = .byte } }, |
| 9788 | .any, | 9959 | .any, |
| 9789 | }, | 9960 | }, |
| 9790 | .patterns = &.{ | 9961 | .patterns = &.{ |
| 9791 | .{ .src = .{ .to_mem, .to_mem, .none } }, | 9962 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 9792 | }, | 9963 | }, |
| 9793 | .call_frame = .{ .alignment = .@"16" }, | ||
| 9794 | .extra_temps = .{ | 9964 | .extra_temps = .{ |
| 9795 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 9965 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 9796 | .{ .type = .f128, .kind = .{ .reg = .xmm0 } }, | 9966 | .{ .type = .u8, .kind = .{ .reg = .al } }, |
| 9797 | .{ .type = .f128, .kind = .{ .reg = .xmm1 } }, | 9967 | .unused, |
| 9798 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__divtf3" } } }, | 9968 | .unused, |
| 9799 | .unused, | 9969 | .unused, |
| 9800 | .unused, | 9970 | .unused, |
| 9801 | .unused, | 9971 | .unused, |
| ... | @@ -9805,150 +9975,76 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -9805,150 +9975,76 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 9805 | .unused, | 9975 | .unused, |
| 9806 | }, | 9976 | }, |
| 9807 | .dst_temps = .{ .mem, .unused }, | 9977 | .dst_temps = .{ .mem, .unused }, |
| 9808 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 9978 | .clobbers = .{ .eflags = true }, |
| 9809 | .each = .{ .once = &.{ | 9979 | .each = .{ .once = &.{ |
| 9810 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 9980 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, |
| 9811 | .{ .@"0:", ._ps, .mova, .tmp1x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ }, | 9981 | .{ .@"0:", ._, .movzx, .tmp1d, .memia(.src0b, .tmp0, .add_unaligned_size), ._, ._ }, |
| 9812 | .{ ._, ._ps, .mova, .tmp2x, .memia(.src1x, .tmp0, .add_unaligned_size), ._, ._ }, | 9982 | .{ ._, ._, .mul, .memia(.src1b, .tmp0, .add_unaligned_size), ._, ._, ._ }, |
| 9813 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, | 9983 | .{ ._, ._, .mov, .memia(.dst0b, .tmp0, .add_unaligned_size), .tmp1b, ._, ._ }, |
| 9814 | .{ ._, ._ps, .mova, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ }, | 9984 | .{ ._, ._c, .in, .tmp0p, ._, ._, ._ }, |
| 9815 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, | 9985 | .{ ._, ._nz, .j, .@"0b", ._, ._, ._ }, |
| 9816 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | ||
| 9817 | } }, | 9986 | } }, |
| 9818 | } }) else err: { | 9987 | }, .{ |
| 9819 | assert(air_tag == .div_exact); | 9988 | .required_features = .{ .avx, null, null, null }, |
| 9820 | res[0] = ops[0].divTruncInts(&ops[1], cg) catch |err| break :err err; | ||
| 9821 | }) catch |err| switch (err) { | ||
| 9822 | error.SelectFailed => return cg.fail("failed to select {s} {} {} {}", .{ | ||
| 9823 | @tagName(air_tag), | ||
| 9824 | ty.fmt(pt), | ||
| 9825 | ops[0].tracking(cg), | ||
| 9826 | ops[1].tracking(cg), | ||
| 9827 | }), | ||
| 9828 | else => |e| return e, | ||
| 9829 | }; | ||
| 9830 | try res[0].finish(inst, &.{ bin_op.lhs, bin_op.rhs }, &ops, cg); | ||
| 9831 | }, | ||
| 9832 | .div_trunc => |air_tag| if (use_old) try cg.airMulDivBinOp(inst, air_tag) else { | ||
| 9833 | const bin_op = air_datas[@intFromEnum(inst)].bin_op; | ||
| 9834 | const ty = cg.typeOf(bin_op.lhs); | ||
| 9835 | var ops = try cg.tempsFromOperands(inst, .{ bin_op.lhs, bin_op.rhs }); | ||
| 9836 | var res: [1]Temp = undefined; | ||
| 9837 | (if (cg.floatBits(ty.scalarType(zcu))) |_| cg.select(&res, &.{ty}, &ops, comptime &.{ .{ | ||
| 9838 | .required_features = .{ .f16c, null, null, null }, | ||
| 9839 | .src_constraints = .{ | 9989 | .src_constraints = .{ |
| 9840 | .{ .scalar_float = .{ .of = .word, .is = .word } }, | 9990 | .{ .scalar_int = .{ .of = .xword, .is = .word } }, |
| 9841 | .{ .scalar_float = .{ .of = .word, .is = .word } }, | 9991 | .{ .scalar_int = .{ .of = .xword, .is = .word } }, |
| 9842 | .any, | 9992 | .any, |
| 9843 | }, | 9993 | }, |
| 9844 | .patterns = &.{ | 9994 | .patterns = &.{ |
| 9995 | .{ .src = .{ .to_sse, .mem, .none } }, | ||
| 9996 | .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } }, | ||
| 9845 | .{ .src = .{ .to_sse, .to_sse, .none } }, | 9997 | .{ .src = .{ .to_sse, .to_sse, .none } }, |
| 9846 | }, | 9998 | }, |
| 9847 | .extra_temps = .{ | ||
| 9848 | .{ .type = .f32, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .sse } } }, | ||
| 9849 | .unused, | ||
| 9850 | .unused, | ||
| 9851 | .unused, | ||
| 9852 | .unused, | ||
| 9853 | .unused, | ||
| 9854 | .unused, | ||
| 9855 | .unused, | ||
| 9856 | .unused, | ||
| 9857 | .unused, | ||
| 9858 | .unused, | ||
| 9859 | }, | ||
| 9860 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, | 9999 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| 9861 | .each = .{ .once = &.{ | 10000 | .each = .{ .once = &.{ |
| 9862 | .{ ._, .v_ps, .cvtph2, .dst0x, .src0q, ._, ._ }, | 10001 | .{ ._, .vp_w, .mull, .dst0x, .src0x, .src1x, ._ }, |
| 9863 | .{ ._, .v_ps, .cvtph2, .tmp0x, .src1q, ._, ._ }, | ||
| 9864 | .{ ._, .v_ss, .div, .dst0x, .dst0x, .tmp0d, ._ }, | ||
| 9865 | .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ }, | ||
| 9866 | .{ ._, .v_ps, .cvtph2, .dst0x, .dst0q, ._, ._ }, | ||
| 9867 | .{ ._, .v_ss, .round, .dst0x, .dst0x, .dst0d, .rm(.{ .direction = .zero, .precision = .inexact }) }, | ||
| 9868 | .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ }, | ||
| 9869 | } }, | 10002 | } }, |
| 9870 | }, .{ | 10003 | }, .{ |
| 9871 | .required_features = .{ .sse, null, null, null }, | 10004 | .required_features = .{ .sse2, null, null, null }, |
| 9872 | .src_constraints = .{ | 10005 | .src_constraints = .{ |
| 9873 | .{ .scalar_float = .{ .of = .word, .is = .word } }, | 10006 | .{ .scalar_int = .{ .of = .xword, .is = .word } }, |
| 9874 | .{ .scalar_float = .{ .of = .word, .is = .word } }, | 10007 | .{ .scalar_int = .{ .of = .xword, .is = .word } }, |
| 9875 | .any, | 10008 | .any, |
| 9876 | }, | 10009 | }, |
| 9877 | .patterns = &.{ | 10010 | .patterns = &.{ |
| 9878 | .{ .src = .{ .{ .to_reg = .xmm0 }, .{ .to_reg = .xmm1 }, .none } }, | 10011 | .{ .src = .{ .to_mut_sse, .mem, .none } }, |
| 9879 | }, | 10012 | .{ .src = .{ .mem, .to_mut_sse, .none }, .commute = .{ 0, 1 } }, |
| 9880 | .call_frame = .{ .alignment = .@"16" }, | 10013 | .{ .src = .{ .to_mut_sse, .to_sse, .none } }, |
| 9881 | .extra_temps = .{ | ||
| 9882 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__divhf3" } } }, | ||
| 9883 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__trunch" } } }, | ||
| 9884 | .unused, | ||
| 9885 | .unused, | ||
| 9886 | .unused, | ||
| 9887 | .unused, | ||
| 9888 | .unused, | ||
| 9889 | .unused, | ||
| 9890 | .unused, | ||
| 9891 | .unused, | ||
| 9892 | .unused, | ||
| 9893 | }, | 10014 | }, |
| 9894 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, | 10015 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| 9895 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | ||
| 9896 | .each = .{ .once = &.{ | 10016 | .each = .{ .once = &.{ |
| 9897 | .{ ._, ._, .call, .tmp0d, ._, ._, ._ }, | 10017 | .{ ._, .p_w, .mull, .dst0x, .src1x, ._, ._ }, |
| 9898 | .{ ._, ._, .call, .tmp1d, ._, ._, ._ }, | ||
| 9899 | } }, | 10018 | } }, |
| 9900 | }, .{ | 10019 | }, .{ |
| 9901 | .required_features = .{ .f16c, null, null, null }, | 10020 | .required_features = .{ .avx2, null, null, null }, |
| 9902 | .src_constraints = .{ | 10021 | .src_constraints = .{ |
| 9903 | .{ .scalar_float = .{ .of = .qword, .is = .word } }, | 10022 | .{ .scalar_int = .{ .of = .yword, .is = .word } }, |
| 9904 | .{ .scalar_float = .{ .of = .qword, .is = .word } }, | 10023 | .{ .scalar_int = .{ .of = .yword, .is = .word } }, |
| 9905 | .any, | 10024 | .any, |
| 9906 | }, | 10025 | }, |
| 9907 | .patterns = &.{ | 10026 | .patterns = &.{ |
| 9908 | .{ .src = .{ .mem, .mem, .none } }, | ||
| 9909 | .{ .src = .{ .to_sse, .mem, .none } }, | 10027 | .{ .src = .{ .to_sse, .mem, .none } }, |
| 9910 | .{ .src = .{ .mem, .to_sse, .none } }, | 10028 | .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } }, |
| 9911 | .{ .src = .{ .to_sse, .to_sse, .none } }, | 10029 | .{ .src = .{ .to_sse, .to_sse, .none } }, |
| 9912 | }, | 10030 | }, |
| 9913 | .extra_temps = .{ | ||
| 9914 | .{ .type = .vector_4_f32, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .sse } } }, | ||
| 9915 | .unused, | ||
| 9916 | .unused, | ||
| 9917 | .unused, | ||
| 9918 | .unused, | ||
| 9919 | .unused, | ||
| 9920 | .unused, | ||
| 9921 | .unused, | ||
| 9922 | .unused, | ||
| 9923 | .unused, | ||
| 9924 | .unused, | ||
| 9925 | }, | ||
| 9926 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, | 10031 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| 9927 | .each = .{ .once = &.{ | 10032 | .each = .{ .once = &.{ |
| 9928 | .{ ._, .v_ps, .cvtph2, .dst0x, .src0q, ._, ._ }, | 10033 | .{ ._, .vp_w, .mull, .dst0y, .src0y, .src1y, ._ }, |
| 9929 | .{ ._, .v_ps, .cvtph2, .tmp0x, .src1q, ._, ._ }, | ||
| 9930 | .{ ._, .v_ps, .div, .dst0x, .dst0x, .tmp0x, ._ }, | ||
| 9931 | .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ }, | ||
| 9932 | .{ ._, .v_ps, .cvtph2, .dst0x, .dst0q, ._, ._ }, | ||
| 9933 | .{ ._, .v_ps, .round, .dst0x, .dst0x, .rm(.{ .direction = .zero, .precision = .inexact }), ._ }, | ||
| 9934 | .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ }, | ||
| 9935 | } }, | 10034 | } }, |
| 9936 | }, .{ | 10035 | }, .{ |
| 9937 | .required_features = .{ .f16c, null, null, null }, | 10036 | .required_features = .{ .avx2, null, null, null }, |
| 9938 | .src_constraints = .{ | 10037 | .src_constraints = .{ |
| 9939 | .{ .scalar_float = .{ .of = .xword, .is = .word } }, | 10038 | .{ .multiple_scalar_int = .{ .of = .yword, .is = .word } }, |
| 9940 | .{ .scalar_float = .{ .of = .xword, .is = .word } }, | 10039 | .{ .multiple_scalar_int = .{ .of = .yword, .is = .word } }, |
| 9941 | .any, | 10040 | .any, |
| 9942 | }, | 10041 | }, |
| 9943 | .patterns = &.{ | 10042 | .patterns = &.{ |
| 9944 | .{ .src = .{ .mem, .mem, .none } }, | 10043 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 9945 | .{ .src = .{ .to_sse, .mem, .none } }, | ||
| 9946 | .{ .src = .{ .mem, .to_sse, .none } }, | ||
| 9947 | .{ .src = .{ .to_sse, .to_sse, .none } }, | ||
| 9948 | }, | 10044 | }, |
| 9949 | .extra_temps = .{ | 10045 | .extra_temps = .{ |
| 9950 | .{ .type = .vector_8_f32, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .sse } } }, | 10046 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 9951 | .unused, | 10047 | .{ .type = .vector_16_u16, .kind = .{ .rc = .sse } }, |
| 9952 | .unused, | 10048 | .unused, |
| 9953 | .unused, | 10049 | .unused, |
| 9954 | .unused, | 10050 | .unused, |
| ... | @@ -9959,21 +10055,21 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -9959,21 +10055,21 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 9959 | .unused, | 10055 | .unused, |
| 9960 | .unused, | 10056 | .unused, |
| 9961 | }, | 10057 | }, |
| 9962 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, | 10058 | .dst_temps = .{ .mem, .unused }, |
| 10059 | .clobbers = .{ .eflags = true }, | ||
| 9963 | .each = .{ .once = &.{ | 10060 | .each = .{ .once = &.{ |
| 9964 | .{ ._, .v_ps, .cvtph2, .dst0y, .src0x, ._, ._ }, | 10061 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, |
| 9965 | .{ ._, .v_ps, .cvtph2, .tmp0y, .src1x, ._, ._ }, | 10062 | .{ .@"0:", .v_dqa, .mov, .tmp1y, .memia(.src0y, .tmp0, .add_unaligned_size), ._, ._ }, |
| 9966 | .{ ._, .v_ps, .div, .dst0y, .dst0y, .tmp0y, ._ }, | 10063 | .{ ._, .vp_w, .mull, .tmp1y, .tmp1y, .memia(.src1y, .tmp0, .add_unaligned_size), ._ }, |
| 9967 | .{ ._, .v_, .cvtps2ph, .dst0x, .dst0y, .rm(.{}), ._ }, | 10064 | .{ ._, .v_dqa, .mov, .memia(.dst0y, .tmp0, .add_unaligned_size), .tmp1y, ._, ._ }, |
| 9968 | .{ ._, .v_ps, .cvtph2, .dst0y, .dst0x, ._, ._ }, | 10065 | .{ ._, ._, .add, .tmp0p, .si(32), ._, ._ }, |
| 9969 | .{ ._, .v_ps, .round, .dst0y, .dst0y, .rm(.{ .direction = .zero, .precision = .inexact }), ._ }, | 10066 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 9970 | .{ ._, .v_, .cvtps2ph, .dst0x, .dst0y, .rm(.{}), ._ }, | ||
| 9971 | } }, | 10067 | } }, |
| 9972 | }, .{ | 10068 | }, .{ |
| 9973 | .required_features = .{ .f16c, null, null, null }, | 10069 | .required_features = .{ .avx, null, null, null }, |
| 9974 | .src_constraints = .{ | 10070 | .src_constraints = .{ |
| 9975 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .word } }, | 10071 | .{ .multiple_scalar_int = .{ .of = .xword, .is = .word } }, |
| 9976 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .word } }, | 10072 | .{ .multiple_scalar_int = .{ .of = .xword, .is = .word } }, |
| 9977 | .any, | 10073 | .any, |
| 9978 | }, | 10074 | }, |
| 9979 | .patterns = &.{ | 10075 | .patterns = &.{ |
| ... | @@ -9981,8 +10077,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -9981,8 +10077,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 9981 | }, | 10077 | }, |
| 9982 | .extra_temps = .{ | 10078 | .extra_temps = .{ |
| 9983 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 10079 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 9984 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, | 10080 | .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } }, |
| 9985 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, | 10081 | .unused, |
| 9986 | .unused, | 10082 | .unused, |
| 9987 | .unused, | 10083 | .unused, |
| 9988 | .unused, | 10084 | .unused, |
| ... | @@ -9996,33 +10092,28 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -9996,33 +10092,28 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 9996 | .clobbers = .{ .eflags = true }, | 10092 | .clobbers = .{ .eflags = true }, |
| 9997 | .each = .{ .once = &.{ | 10093 | .each = .{ .once = &.{ |
| 9998 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 10094 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, |
| 9999 | .{ .@"0:", .v_ps, .cvtph2, .tmp1y, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ }, | 10095 | .{ .@"0:", .v_dqa, .mov, .tmp1x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ }, |
| 10000 | .{ ._, .v_ps, .cvtph2, .tmp2y, .memia(.src1x, .tmp0, .add_unaligned_size), ._, ._ }, | 10096 | .{ ._, .vp_w, .mull, .tmp1x, .tmp1x, .memia(.src1x, .tmp0, .add_unaligned_size), ._ }, |
| 10001 | .{ ._, .v_ps, .div, .tmp1y, .tmp1y, .tmp2y, ._ }, | 10097 | .{ ._, .v_dqa, .mov, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ }, |
| 10002 | .{ ._, .v_, .cvtps2ph, .tmp1x, .tmp1y, .rm(.{}), ._ }, | ||
| 10003 | .{ ._, .v_ps, .cvtph2, .tmp1y, .tmp1x, ._, ._ }, | ||
| 10004 | .{ ._, .v_ps, .round, .tmp1y, .tmp1y, .rm(.{ .direction = .zero, .precision = .inexact }), ._ }, | ||
| 10005 | .{ ._, .v_, .cvtps2ph, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp1y, .rm(.{}), ._ }, | ||
| 10006 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, | 10098 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, |
| 10007 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 10099 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 10008 | } }, | 10100 | } }, |
| 10009 | }, .{ | 10101 | }, .{ |
| 10010 | .required_features = .{ .avx, null, null, null }, | 10102 | .required_features = .{ .sse2, null, null, null }, |
| 10011 | .src_constraints = .{ | 10103 | .src_constraints = .{ |
| 10012 | .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, | 10104 | .{ .multiple_scalar_int = .{ .of = .xword, .is = .word } }, |
| 10013 | .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, | 10105 | .{ .multiple_scalar_int = .{ .of = .xword, .is = .word } }, |
| 10014 | .any, | 10106 | .any, |
| 10015 | }, | 10107 | }, |
| 10016 | .patterns = &.{ | 10108 | .patterns = &.{ |
| 10017 | .{ .src = .{ .to_mem, .to_mem, .none } }, | 10109 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 10018 | }, | 10110 | }, |
| 10019 | .call_frame = .{ .alignment = .@"16" }, | ||
| 10020 | .extra_temps = .{ | 10111 | .extra_temps = .{ |
| 10021 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 10112 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 10022 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, | 10113 | .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } }, |
| 10023 | .{ .type = .f16, .kind = .{ .reg = .xmm1 } }, | 10114 | .unused, |
| 10024 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__divhf3" } } }, | 10115 | .unused, |
| 10025 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__trunch" } } }, | 10116 | .unused, |
| 10026 | .unused, | 10117 | .unused, |
| 10027 | .unused, | 10118 | .unused, |
| 10028 | .unused, | 10119 | .unused, |
| ... | @@ -10031,35 +10122,30 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -10031,35 +10122,30 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 10031 | .unused, | 10122 | .unused, |
| 10032 | }, | 10123 | }, |
| 10033 | .dst_temps = .{ .mem, .unused }, | 10124 | .dst_temps = .{ .mem, .unused }, |
| 10034 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 10125 | .clobbers = .{ .eflags = true }, |
| 10035 | .each = .{ .once = &.{ | 10126 | .each = .{ .once = &.{ |
| 10036 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 10127 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, |
| 10037 | .{ .@"0:", .vp_, .xor, .tmp2x, .tmp2x, .tmp2x, ._ }, | 10128 | .{ .@"0:", ._dqa, .mov, .tmp1x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ }, |
| 10038 | .{ ._, .vp_w, .insr, .tmp1x, .tmp2x, .memia(.src0w, .tmp0, .add_unaligned_size), .ui(0) }, | 10129 | .{ ._, .p_w, .mull, .tmp1x, .memia(.src1x, .tmp0, .add_unaligned_size), ._, ._ }, |
| 10039 | .{ ._, .vp_w, .insr, .tmp2x, .tmp2x, .memia(.src1w, .tmp0, .add_unaligned_size), .ui(0) }, | 10130 | .{ ._, ._dqa, .mov, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ }, |
| 10040 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, | 10131 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, |
| 10041 | .{ ._, ._, .call, .tmp4d, ._, ._, ._ }, | ||
| 10042 | .{ ._, .vp_w, .extr, .memia(.dst0w, .tmp0, .add_unaligned_size), .tmp1x, .ui(0), ._ }, | ||
| 10043 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, | ||
| 10044 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 10132 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 10045 | } }, | 10133 | } }, |
| 10046 | }, .{ | 10134 | }, .{ |
| 10047 | .required_features = .{ .sse4_1, null, null, null }, | ||
| 10048 | .src_constraints = .{ | 10135 | .src_constraints = .{ |
| 10049 | .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, | 10136 | .{ .multiple_scalar_signed_int = .{ .of = .word, .is = .word } }, |
| 10050 | .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, | 10137 | .{ .multiple_scalar_signed_int = .{ .of = .word, .is = .word } }, |
| 10051 | .any, | 10138 | .any, |
| 10052 | }, | 10139 | }, |
| 10053 | .patterns = &.{ | 10140 | .patterns = &.{ |
| 10054 | .{ .src = .{ .to_mem, .to_mem, .none } }, | 10141 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 10055 | }, | 10142 | }, |
| 10056 | .call_frame = .{ .alignment = .@"16" }, | ||
| 10057 | .extra_temps = .{ | 10143 | .extra_temps = .{ |
| 10058 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 10144 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 10059 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, | 10145 | .{ .type = .i16, .kind = .{ .rc = .general_purpose } }, |
| 10060 | .{ .type = .f16, .kind = .{ .reg = .xmm1 } }, | 10146 | .unused, |
| 10061 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__divhf3" } } }, | 10147 | .unused, |
| 10062 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__trunch" } } }, | 10148 | .unused, |
| 10063 | .unused, | 10149 | .unused, |
| 10064 | .unused, | 10150 | .unused, |
| 10065 | .unused, | 10151 | .unused, |
| ... | @@ -10068,96 +10154,43 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -10068,96 +10154,43 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 10068 | .unused, | 10154 | .unused, |
| 10069 | }, | 10155 | }, |
| 10070 | .dst_temps = .{ .mem, .unused }, | 10156 | .dst_temps = .{ .mem, .unused }, |
| 10071 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 10157 | .clobbers = .{ .eflags = true }, |
| 10072 | .each = .{ .once = &.{ | 10158 | .each = .{ .once = &.{ |
| 10073 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 10159 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, |
| 10074 | .{ .@"0:", .p_, .xor, .tmp1x, .tmp1x, ._, ._ }, | 10160 | .{ .@"0:", ._, .movsx, .tmp1d, .memia(.src0w, .tmp0, .add_unaligned_size), ._, ._ }, |
| 10075 | .{ ._, .p_, .xor, .tmp2x, .tmp2x, ._, ._ }, | 10161 | .{ ._, .i_, .mul, .tmp1w, .memia(.src1w, .tmp0, .add_unaligned_size), ._, ._ }, |
| 10076 | .{ ._, .p_w, .insr, .tmp1x, .memia(.src0w, .tmp0, .add_unaligned_size), .ui(0), ._ }, | 10162 | .{ ._, ._, .mov, .memia(.dst0w, .tmp0, .add_unaligned_size), .tmp1w, ._, ._ }, |
| 10077 | .{ ._, .p_w, .insr, .tmp2x, .memia(.src1w, .tmp0, .add_unaligned_size), .ui(0), ._ }, | ||
| 10078 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, | ||
| 10079 | .{ ._, ._, .call, .tmp4d, ._, ._, ._ }, | ||
| 10080 | .{ ._, .p_w, .extr, .memia(.dst0w, .tmp0, .add_unaligned_size), .tmp1x, .ui(0), ._ }, | ||
| 10081 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, | 10163 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, |
| 10082 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 10164 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 10083 | } }, | 10165 | } }, |
| 10084 | }, .{ | 10166 | }, .{ |
| 10085 | .required_features = .{ .sse2, null, null, null }, | ||
| 10086 | .src_constraints = .{ | 10167 | .src_constraints = .{ |
| 10087 | .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, | 10168 | .{ .multiple_scalar_unsigned_int = .{ .of = .word, .is = .word } }, |
| 10088 | .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, | 10169 | .{ .multiple_scalar_unsigned_int = .{ .of = .word, .is = .word } }, |
| 10089 | .any, | 10170 | .any, |
| 10090 | }, | 10171 | }, |
| 10091 | .patterns = &.{ | 10172 | .patterns = &.{ |
| 10092 | .{ .src = .{ .to_mem, .to_mem, .none } }, | 10173 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 10093 | }, | 10174 | }, |
| 10094 | .call_frame = .{ .alignment = .@"16" }, | ||
| 10095 | .extra_temps = .{ | 10175 | .extra_temps = .{ |
| 10096 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 10176 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 10097 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, | 10177 | .{ .type = .u16, .kind = .{ .rc = .general_purpose } }, |
| 10098 | .{ .type = .f16, .kind = .{ .reg = .xmm1 } }, | ||
| 10099 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__divhf3" } } }, | ||
| 10100 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__trunch" } } }, | ||
| 10101 | .{ .type = .f16, .kind = .{ .reg = .ax } }, | ||
| 10102 | .unused, | 10178 | .unused, |
| 10103 | .unused, | 10179 | .unused, |
| 10104 | .unused, | 10180 | .unused, |
| 10105 | .unused, | 10181 | .unused, |
| 10106 | .unused, | 10182 | .unused, |
| 10107 | }, | ||
| 10108 | .dst_temps = .{ .mem, .unused }, | ||
| 10109 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | ||
| 10110 | .each = .{ .once = &.{ | ||
| 10111 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | ||
| 10112 | .{ .@"0:", .p_, .xor, .tmp1x, .tmp1x, ._, ._ }, | ||
| 10113 | .{ ._, .p_, .xor, .tmp2x, .tmp2x, ._, ._ }, | ||
| 10114 | .{ ._, .p_w, .insr, .tmp1x, .memia(.src0w, .tmp0, .add_unaligned_size), .ui(0), ._ }, | ||
| 10115 | .{ ._, .p_w, .insr, .tmp2x, .memia(.src1w, .tmp0, .add_unaligned_size), .ui(0), ._ }, | ||
| 10116 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, | ||
| 10117 | .{ ._, ._, .call, .tmp4d, ._, ._, ._ }, | ||
| 10118 | .{ ._, .p_w, .extr, .tmp5d, .tmp1x, .ui(0), ._ }, | ||
| 10119 | .{ ._, ._, .mov, .memia(.dst0w, .tmp0, .add_unaligned_size), .tmp5w, ._, ._ }, | ||
| 10120 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, | ||
| 10121 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | ||
| 10122 | } }, | ||
| 10123 | }, .{ | ||
| 10124 | .required_features = .{ .sse, null, null, null }, | ||
| 10125 | .src_constraints = .{ | ||
| 10126 | .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, | ||
| 10127 | .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, | ||
| 10128 | .any, | ||
| 10129 | }, | ||
| 10130 | .patterns = &.{ | ||
| 10131 | .{ .src = .{ .to_mem, .to_mem, .none } }, | ||
| 10132 | }, | ||
| 10133 | .call_frame = .{ .alignment = .@"16" }, | ||
| 10134 | .extra_temps = .{ | ||
| 10135 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | ||
| 10136 | .{ .type = .f16, .kind = .{ .reg = .ax } }, | ||
| 10137 | .{ .type = .f32, .kind = .mem }, | ||
| 10138 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, | ||
| 10139 | .{ .type = .f16, .kind = .{ .reg = .xmm1 } }, | ||
| 10140 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__divhf3" } } }, | ||
| 10141 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__trunch" } } }, | ||
| 10142 | .unused, | 10183 | .unused, |
| 10143 | .unused, | 10184 | .unused, |
| 10144 | .unused, | 10185 | .unused, |
| 10145 | .unused, | 10186 | .unused, |
| 10146 | }, | 10187 | }, |
| 10147 | .dst_temps = .{ .mem, .unused }, | 10188 | .dst_temps = .{ .mem, .unused }, |
| 10148 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 10189 | .clobbers = .{ .eflags = true }, |
| 10149 | .each = .{ .once = &.{ | 10190 | .each = .{ .once = &.{ |
| 10150 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 10191 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, |
| 10151 | .{ .@"0:", ._, .movzx, .tmp1d, .memia(.src0w, .tmp0, .add_unaligned_size), ._, ._ }, | 10192 | .{ .@"0:", ._, .movzx, .tmp1d, .memia(.src0w, .tmp0, .add_unaligned_size), ._, ._ }, |
| 10152 | .{ ._, ._, .mov, .mem(.tmp2d), .tmp1d, ._, ._ }, | 10193 | .{ ._, .i_, .mul, .tmp1w, .memia(.src1w, .tmp0, .add_unaligned_size), ._, ._ }, |
| 10153 | .{ ._, ._ss, .mov, .tmp3x, .mem(.tmp2d), ._, ._ }, | ||
| 10154 | .{ ._, ._, .movzx, .tmp1d, .memia(.src1w, .tmp0, .add_unaligned_size), ._, ._ }, | ||
| 10155 | .{ ._, ._, .mov, .mem(.tmp2d), .tmp1d, ._, ._ }, | ||
| 10156 | .{ ._, ._ss, .mov, .tmp4x, .mem(.tmp2d), ._, ._ }, | ||
| 10157 | .{ ._, ._, .call, .tmp5d, ._, ._, ._ }, | ||
| 10158 | .{ ._, ._, .call, .tmp6d, ._, ._, ._ }, | ||
| 10159 | .{ ._, ._ss, .mov, .mem(.tmp2d), .tmp3x, ._, ._ }, | ||
| 10160 | .{ ._, ._, .mov, .tmp1d, .mem(.tmp2d), ._, ._ }, | ||
| 10161 | .{ ._, ._, .mov, .memia(.dst0w, .tmp0, .add_unaligned_size), .tmp1w, ._, ._ }, | 10194 | .{ ._, ._, .mov, .memia(.dst0w, .tmp0, .add_unaligned_size), .tmp1w, ._, ._ }, |
| 10162 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, | 10195 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, |
| 10163 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 10196 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| ... | @@ -10165,112 +10198,65 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -10165,112 +10198,65 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 10165 | }, .{ | 10198 | }, .{ |
| 10166 | .required_features = .{ .avx, null, null, null }, | 10199 | .required_features = .{ .avx, null, null, null }, |
| 10167 | .src_constraints = .{ | 10200 | .src_constraints = .{ |
| 10168 | .{ .scalar_float = .{ .of = .dword, .is = .dword } }, | 10201 | .{ .scalar_int = .{ .of = .xword, .is = .dword } }, |
| 10169 | .{ .scalar_float = .{ .of = .dword, .is = .dword } }, | 10202 | .{ .scalar_int = .{ .of = .xword, .is = .dword } }, |
| 10170 | .any, | 10203 | .any, |
| 10171 | }, | 10204 | }, |
| 10172 | .patterns = &.{ | 10205 | .patterns = &.{ |
| 10173 | .{ .src = .{ .to_sse, .mem, .none } }, | 10206 | .{ .src = .{ .to_sse, .mem, .none } }, |
| 10207 | .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } }, | ||
| 10174 | .{ .src = .{ .to_sse, .to_sse, .none } }, | 10208 | .{ .src = .{ .to_sse, .to_sse, .none } }, |
| 10175 | }, | 10209 | }, |
| 10176 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, | 10210 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| 10177 | .each = .{ .once = &.{ | 10211 | .each = .{ .once = &.{ |
| 10178 | .{ ._, .v_ss, .div, .dst0x, .src0x, .src1d, ._ }, | 10212 | .{ ._, .vp_d, .mull, .dst0x, .src0x, .src1x, ._ }, |
| 10179 | .{ ._, .v_ss, .round, .dst0x, .dst0x, .dst0d, .rm(.{ .direction = .zero, .precision = .inexact }) }, | ||
| 10180 | } }, | 10213 | } }, |
| 10181 | }, .{ | 10214 | }, .{ |
| 10182 | .required_features = .{ .sse4_1, null, null, null }, | 10215 | .required_features = .{ .sse4_1, null, null, null }, |
| 10183 | .src_constraints = .{ | 10216 | .src_constraints = .{ |
| 10184 | .{ .scalar_float = .{ .of = .dword, .is = .dword } }, | 10217 | .{ .scalar_int = .{ .of = .xword, .is = .dword } }, |
| 10185 | .{ .scalar_float = .{ .of = .dword, .is = .dword } }, | 10218 | .{ .scalar_int = .{ .of = .xword, .is = .dword } }, |
| 10186 | .any, | 10219 | .any, |
| 10187 | }, | 10220 | }, |
| 10188 | .patterns = &.{ | 10221 | .patterns = &.{ |
| 10189 | .{ .src = .{ .to_mut_sse, .mem, .none } }, | 10222 | .{ .src = .{ .to_mut_sse, .mem, .none } }, |
| 10223 | .{ .src = .{ .mem, .to_mut_sse, .none }, .commute = .{ 0, 1 } }, | ||
| 10190 | .{ .src = .{ .to_mut_sse, .to_sse, .none } }, | 10224 | .{ .src = .{ .to_mut_sse, .to_sse, .none } }, |
| 10191 | }, | 10225 | }, |
| 10192 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, | 10226 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| 10193 | .each = .{ .once = &.{ | 10227 | .each = .{ .once = &.{ |
| 10194 | .{ ._, ._ss, .div, .dst0x, .src1d, ._, ._ }, | 10228 | .{ ._, .p_d, .mull, .dst0x, .src1x, ._, ._ }, |
| 10195 | .{ ._, ._ss, .round, .dst0x, .dst0d, .rm(.{ .direction = .zero, .precision = .inexact }), ._ }, | ||
| 10196 | } }, | ||
| 10197 | }, .{ | ||
| 10198 | .required_features = .{ .sse, null, null, null }, | ||
| 10199 | .src_constraints = .{ | ||
| 10200 | .{ .scalar_float = .{ .of = .dword, .is = .dword } }, | ||
| 10201 | .{ .scalar_float = .{ .of = .dword, .is = .dword } }, | ||
| 10202 | .any, | ||
| 10203 | }, | ||
| 10204 | .patterns = &.{ | ||
| 10205 | .{ .src = .{ .{ .to_reg = .xmm0 }, .to_mem, .none } }, | ||
| 10206 | }, | ||
| 10207 | .call_frame = .{ .alignment = .@"16" }, | ||
| 10208 | .extra_temps = .{ | ||
| 10209 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "truncf" } } }, | ||
| 10210 | .unused, | ||
| 10211 | .unused, | ||
| 10212 | .unused, | ||
| 10213 | .unused, | ||
| 10214 | .unused, | ||
| 10215 | .unused, | ||
| 10216 | .unused, | ||
| 10217 | .unused, | ||
| 10218 | .unused, | ||
| 10219 | .unused, | ||
| 10220 | }, | ||
| 10221 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, | ||
| 10222 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | ||
| 10223 | .each = .{ .once = &.{ | ||
| 10224 | .{ ._, ._ss, .div, .dst0x, .src1d, ._, ._ }, | ||
| 10225 | .{ ._, ._, .call, .tmp0d, ._, ._, ._ }, | ||
| 10226 | } }, | 10229 | } }, |
| 10227 | }, .{ | 10230 | }, .{ |
| 10228 | .required_features = .{ .avx, null, null, null }, | 10231 | .required_features = .{ .avx2, null, null, null }, |
| 10229 | .src_constraints = .{ | 10232 | .src_constraints = .{ |
| 10230 | .{ .scalar_float = .{ .of = .xword, .is = .dword } }, | 10233 | .{ .scalar_int = .{ .of = .yword, .is = .dword } }, |
| 10231 | .{ .scalar_float = .{ .of = .xword, .is = .dword } }, | 10234 | .{ .scalar_int = .{ .of = .yword, .is = .dword } }, |
| 10232 | .any, | 10235 | .any, |
| 10233 | }, | 10236 | }, |
| 10234 | .patterns = &.{ | 10237 | .patterns = &.{ |
| 10235 | .{ .src = .{ .to_sse, .mem, .none } }, | 10238 | .{ .src = .{ .to_sse, .mem, .none } }, |
| 10239 | .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } }, | ||
| 10236 | .{ .src = .{ .to_sse, .to_sse, .none } }, | 10240 | .{ .src = .{ .to_sse, .to_sse, .none } }, |
| 10237 | }, | 10241 | }, |
| 10238 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, | 10242 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| 10239 | .each = .{ .once = &.{ | 10243 | .each = .{ .once = &.{ |
| 10240 | .{ ._, .v_ps, .div, .dst0x, .src0x, .src1x, ._ }, | 10244 | .{ ._, .vp_d, .mull, .dst0y, .src0y, .src1y, ._ }, |
| 10241 | .{ ._, .v_ps, .round, .dst0x, .dst0x, .rm(.{ .direction = .zero, .precision = .inexact }), ._ }, | ||
| 10242 | } }, | ||
| 10243 | }, .{ | ||
| 10244 | .required_features = .{ .sse4_1, null, null, null }, | ||
| 10245 | .src_constraints = .{ | ||
| 10246 | .{ .scalar_float = .{ .of = .xword, .is = .dword } }, | ||
| 10247 | .{ .scalar_float = .{ .of = .xword, .is = .dword } }, | ||
| 10248 | .any, | ||
| 10249 | }, | ||
| 10250 | .patterns = &.{ | ||
| 10251 | .{ .src = .{ .to_mut_sse, .mem, .none } }, | ||
| 10252 | .{ .src = .{ .to_mut_sse, .to_sse, .none } }, | ||
| 10253 | }, | ||
| 10254 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, | ||
| 10255 | .each = .{ .once = &.{ | ||
| 10256 | .{ ._, ._ps, .div, .dst0x, .src1x, ._, ._ }, | ||
| 10257 | .{ ._, ._ps, .round, .dst0x, .dst0x, .rm(.{ .direction = .zero, .precision = .inexact }), ._ }, | ||
| 10258 | } }, | 10245 | } }, |
| 10259 | }, .{ | 10246 | }, .{ |
| 10260 | .required_features = .{ .sse, null, null, null }, | 10247 | .required_features = .{ .avx2, null, null, null }, |
| 10261 | .src_constraints = .{ | 10248 | .src_constraints = .{ |
| 10262 | .{ .multiple_scalar_float = .{ .of = .dword, .is = .dword } }, | 10249 | .{ .multiple_scalar_int = .{ .of = .yword, .is = .dword } }, |
| 10263 | .{ .multiple_scalar_float = .{ .of = .dword, .is = .dword } }, | 10250 | .{ .multiple_scalar_int = .{ .of = .yword, .is = .dword } }, |
| 10264 | .any, | 10251 | .any, |
| 10265 | }, | 10252 | }, |
| 10266 | .patterns = &.{ | 10253 | .patterns = &.{ |
| 10267 | .{ .src = .{ .to_mem, .to_mem, .none } }, | 10254 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 10268 | }, | 10255 | }, |
| 10269 | .call_frame = .{ .alignment = .@"16" }, | ||
| 10270 | .extra_temps = .{ | 10256 | .extra_temps = .{ |
| 10271 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 10257 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 10272 | .{ .type = .f32, .kind = .{ .reg = .xmm0 } }, | 10258 | .{ .type = .vector_8_u32, .kind = .{ .rc = .sse } }, |
| 10273 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "truncf" } } }, | 10259 | .unused, |
| 10274 | .unused, | 10260 | .unused, |
| 10275 | .unused, | 10261 | .unused, |
| 10276 | .unused, | 10262 | .unused, |
| ... | @@ -10281,37 +10267,20 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -10281,37 +10267,20 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 10281 | .unused, | 10267 | .unused, |
| 10282 | }, | 10268 | }, |
| 10283 | .dst_temps = .{ .mem, .unused }, | 10269 | .dst_temps = .{ .mem, .unused }, |
| 10284 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 10270 | .clobbers = .{ .eflags = true }, |
| 10285 | .each = .{ .once = &.{ | 10271 | .each = .{ .once = &.{ |
| 10286 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 10272 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, |
| 10287 | .{ .@"0:", ._ss, .mov, .tmp1x, .memia(.src0d, .tmp0, .add_unaligned_size), ._, ._ }, | 10273 | .{ .@"0:", .v_dqa, .mov, .tmp1y, .memia(.src0y, .tmp0, .add_unaligned_size), ._, ._ }, |
| 10288 | .{ ._, ._ss, .div, .tmp1x, .memia(.src1d, .tmp0, .add_unaligned_size), ._, ._ }, | 10274 | .{ ._, .vp_d, .mull, .tmp1y, .tmp1y, .memia(.src1y, .tmp0, .add_unaligned_size), ._ }, |
| 10289 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | 10275 | .{ ._, .v_dqa, .mov, .memia(.dst0y, .tmp0, .add_unaligned_size), .tmp1y, ._, ._ }, |
| 10290 | .{ ._, ._ss, .mov, .memia(.dst0d, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ }, | 10276 | .{ ._, ._, .add, .tmp0p, .si(32), ._, ._ }, |
| 10291 | .{ ._, ._, .add, .tmp0p, .si(4), ._, ._ }, | ||
| 10292 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 10277 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 10293 | } }, | 10278 | } }, |
| 10294 | }, .{ | 10279 | }, .{ |
| 10295 | .required_features = .{ .avx, null, null, null }, | 10280 | .required_features = .{ .avx, null, null, null }, |
| 10296 | .src_constraints = .{ | 10281 | .src_constraints = .{ |
| 10297 | .{ .scalar_float = .{ .of = .yword, .is = .dword } }, | 10282 | .{ .multiple_scalar_int = .{ .of = .xword, .is = .dword } }, |
| 10298 | .{ .scalar_float = .{ .of = .yword, .is = .dword } }, | 10283 | .{ .multiple_scalar_int = .{ .of = .xword, .is = .dword } }, |
| 10299 | .any, | ||
| 10300 | }, | ||
| 10301 | .patterns = &.{ | ||
| 10302 | .{ .src = .{ .to_sse, .mem, .none } }, | ||
| 10303 | .{ .src = .{ .to_sse, .to_sse, .none } }, | ||
| 10304 | }, | ||
| 10305 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, | ||
| 10306 | .each = .{ .once = &.{ | ||
| 10307 | .{ ._, .v_ps, .div, .dst0y, .src0y, .src1y, ._ }, | ||
| 10308 | .{ ._, .v_ps, .round, .dst0y, .dst0y, .rm(.{ .direction = .zero, .precision = .inexact }), ._ }, | ||
| 10309 | } }, | ||
| 10310 | }, .{ | ||
| 10311 | .required_features = .{ .avx, null, null, null }, | ||
| 10312 | .src_constraints = .{ | ||
| 10313 | .{ .multiple_scalar_float = .{ .of = .yword, .is = .dword } }, | ||
| 10314 | .{ .multiple_scalar_float = .{ .of = .yword, .is = .dword } }, | ||
| 10315 | .any, | 10284 | .any, |
| 10316 | }, | 10285 | }, |
| 10317 | .patterns = &.{ | 10286 | .patterns = &.{ |
| ... | @@ -10319,7 +10288,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -10319,7 +10288,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 10319 | }, | 10288 | }, |
| 10320 | .extra_temps = .{ | 10289 | .extra_temps = .{ |
| 10321 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 10290 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 10322 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, | 10291 | .{ .type = .vector_4_u32, .kind = .{ .rc = .sse } }, |
| 10323 | .unused, | 10292 | .unused, |
| 10324 | .unused, | 10293 | .unused, |
| 10325 | .unused, | 10294 | .unused, |
| ... | @@ -10334,18 +10303,17 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -10334,18 +10303,17 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 10334 | .clobbers = .{ .eflags = true }, | 10303 | .clobbers = .{ .eflags = true }, |
| 10335 | .each = .{ .once = &.{ | 10304 | .each = .{ .once = &.{ |
| 10336 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 10305 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, |
| 10337 | .{ .@"0:", .v_ps, .mova, .tmp1y, .memia(.src0y, .tmp0, .add_unaligned_size), ._, ._ }, | 10306 | .{ .@"0:", .v_dqa, .mov, .tmp1x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ }, |
| 10338 | .{ ._, .v_ps, .div, .tmp1y, .tmp1y, .memia(.src1y, .tmp0, .add_unaligned_size), ._ }, | 10307 | .{ ._, .vp_d, .mull, .tmp1x, .tmp1x, .memia(.src1x, .tmp0, .add_unaligned_size), ._ }, |
| 10339 | .{ ._, .v_ps, .round, .tmp1y, .tmp1y, .rm(.{ .direction = .zero, .precision = .inexact }), ._ }, | 10308 | .{ ._, .v_dqa, .mov, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ }, |
| 10340 | .{ ._, .v_ps, .mova, .memia(.dst0y, .tmp0, .add_unaligned_size), .tmp1y, ._, ._ }, | 10309 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, |
| 10341 | .{ ._, ._, .add, .tmp0p, .si(32), ._, ._ }, | ||
| 10342 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 10310 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 10343 | } }, | 10311 | } }, |
| 10344 | }, .{ | 10312 | }, .{ |
| 10345 | .required_features = .{ .sse4_1, null, null, null }, | 10313 | .required_features = .{ .sse4_1, null, null, null }, |
| 10346 | .src_constraints = .{ | 10314 | .src_constraints = .{ |
| 10347 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .dword } }, | 10315 | .{ .multiple_scalar_int = .{ .of = .xword, .is = .dword } }, |
| 10348 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .dword } }, | 10316 | .{ .multiple_scalar_int = .{ .of = .xword, .is = .dword } }, |
| 10349 | .any, | 10317 | .any, |
| 10350 | }, | 10318 | }, |
| 10351 | .patterns = &.{ | 10319 | .patterns = &.{ |
| ... | @@ -10353,7 +10321,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -10353,7 +10321,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 10353 | }, | 10321 | }, |
| 10354 | .extra_temps = .{ | 10322 | .extra_temps = .{ |
| 10355 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 10323 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 10356 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, | 10324 | .{ .type = .vector_4_u32, .kind = .{ .rc = .sse } }, |
| 10357 | .unused, | 10325 | .unused, |
| 10358 | .unused, | 10326 | .unused, |
| 10359 | .unused, | 10327 | .unused, |
| ... | @@ -10368,59 +10336,24 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -10368,59 +10336,24 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 10368 | .clobbers = .{ .eflags = true }, | 10336 | .clobbers = .{ .eflags = true }, |
| 10369 | .each = .{ .once = &.{ | 10337 | .each = .{ .once = &.{ |
| 10370 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 10338 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, |
| 10371 | .{ .@"0:", ._ps, .mova, .tmp1x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ }, | 10339 | .{ .@"0:", ._dqa, .mov, .tmp1x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ }, |
| 10372 | .{ ._, ._ps, .div, .tmp1x, .memia(.src1x, .tmp0, .add_unaligned_size), ._, ._ }, | 10340 | .{ ._, .p_d, .mull, .tmp1x, .memia(.src1x, .tmp0, .add_unaligned_size), ._, ._ }, |
| 10373 | .{ ._, ._ps, .round, .tmp1x, .tmp1x, .rm(.{ .direction = .zero, .precision = .inexact }), ._ }, | 10341 | .{ ._, ._dqa, .mov, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ }, |
| 10374 | .{ ._, ._ps, .mova, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ }, | ||
| 10375 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, | 10342 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, |
| 10376 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 10343 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 10377 | } }, | 10344 | } }, |
| 10378 | }, .{ | 10345 | }, .{ |
| 10379 | .required_features = .{ .avx, null, null, null }, | ||
| 10380 | .src_constraints = .{ | ||
| 10381 | .{ .scalar_float = .{ .of = .qword, .is = .qword } }, | ||
| 10382 | .{ .scalar_float = .{ .of = .qword, .is = .qword } }, | ||
| 10383 | .any, | ||
| 10384 | }, | ||
| 10385 | .patterns = &.{ | ||
| 10386 | .{ .src = .{ .to_sse, .mem, .none } }, | ||
| 10387 | .{ .src = .{ .to_sse, .to_sse, .none } }, | ||
| 10388 | }, | ||
| 10389 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, | ||
| 10390 | .each = .{ .once = &.{ | ||
| 10391 | .{ ._, .v_sd, .div, .dst0x, .src0x, .src1q, ._ }, | ||
| 10392 | .{ ._, .v_sd, .round, .dst0x, .dst0x, .dst0q, .rm(.{ .direction = .zero, .precision = .inexact }) }, | ||
| 10393 | } }, | ||
| 10394 | }, .{ | ||
| 10395 | .required_features = .{ .sse4_1, null, null, null }, | ||
| 10396 | .src_constraints = .{ | ||
| 10397 | .{ .scalar_float = .{ .of = .qword, .is = .qword } }, | ||
| 10398 | .{ .scalar_float = .{ .of = .qword, .is = .qword } }, | ||
| 10399 | .any, | ||
| 10400 | }, | ||
| 10401 | .patterns = &.{ | ||
| 10402 | .{ .src = .{ .to_mut_sse, .mem, .none } }, | ||
| 10403 | .{ .src = .{ .to_mut_sse, .to_sse, .none } }, | ||
| 10404 | }, | ||
| 10405 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, | ||
| 10406 | .each = .{ .once = &.{ | ||
| 10407 | .{ ._, ._sd, .div, .dst0x, .src1q, ._, ._ }, | ||
| 10408 | .{ ._, ._sd, .round, .dst0x, .dst0q, .rm(.{ .direction = .zero, .precision = .inexact }), ._ }, | ||
| 10409 | } }, | ||
| 10410 | }, .{ | ||
| 10411 | .required_features = .{ .sse2, null, null, null }, | ||
| 10412 | .src_constraints = .{ | 10346 | .src_constraints = .{ |
| 10413 | .{ .scalar_float = .{ .of = .qword, .is = .qword } }, | 10347 | .{ .multiple_scalar_int = .{ .of = .dword, .is = .dword } }, |
| 10414 | .{ .scalar_float = .{ .of = .qword, .is = .qword } }, | 10348 | .{ .multiple_scalar_int = .{ .of = .dword, .is = .dword } }, |
| 10415 | .any, | 10349 | .any, |
| 10416 | }, | 10350 | }, |
| 10417 | .patterns = &.{ | 10351 | .patterns = &.{ |
| 10418 | .{ .src = .{ .{ .to_reg = .xmm0 }, .to_mem, .none } }, | 10352 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 10419 | }, | 10353 | }, |
| 10420 | .call_frame = .{ .alignment = .@"16" }, | ||
| 10421 | .extra_temps = .{ | 10354 | .extra_temps = .{ |
| 10422 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "trunc" } } }, | 10355 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 10423 | .unused, | 10356 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 10424 | .unused, | 10357 | .unused, |
| 10425 | .unused, | 10358 | .unused, |
| 10426 | .unused, | 10359 | .unused, |
| ... | @@ -10431,26 +10364,29 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -10431,26 +10364,29 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 10431 | .unused, | 10364 | .unused, |
| 10432 | .unused, | 10365 | .unused, |
| 10433 | }, | 10366 | }, |
| 10434 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, | 10367 | .dst_temps = .{ .mem, .unused }, |
| 10435 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 10368 | .clobbers = .{ .eflags = true }, |
| 10436 | .each = .{ .once = &.{ | 10369 | .each = .{ .once = &.{ |
| 10437 | .{ ._, ._sd, .div, .dst0x, .src1q, ._, ._ }, | 10370 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, |
| 10438 | .{ ._, ._, .call, .tmp0d, ._, ._, ._ }, | 10371 | .{ .@"0:", ._, .mov, .tmp1d, .memia(.src0d, .tmp0, .add_unaligned_size), ._, ._ }, |
| 10372 | .{ ._, .i_, .mul, .tmp1d, .memia(.src1d, .tmp0, .add_unaligned_size), ._, ._ }, | ||
| 10373 | .{ ._, ._, .mov, .memia(.dst0d, .tmp0, .add_unaligned_size), .tmp1d, ._, ._ }, | ||
| 10374 | .{ ._, ._, .add, .tmp0p, .si(4), ._, ._ }, | ||
| 10375 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | ||
| 10439 | } }, | 10376 | } }, |
| 10440 | }, .{ | 10377 | }, .{ |
| 10441 | .required_features = .{ .sse, null, null, null }, | 10378 | .required_features = .{ .@"64bit", null, null, null }, |
| 10442 | .src_constraints = .{ | 10379 | .src_constraints = .{ |
| 10443 | .{ .scalar_float = .{ .of = .qword, .is = .qword } }, | 10380 | .{ .multiple_scalar_int = .{ .of = .qword, .is = .qword } }, |
| 10444 | .{ .scalar_float = .{ .of = .qword, .is = .qword } }, | 10381 | .{ .multiple_scalar_int = .{ .of = .qword, .is = .qword } }, |
| 10445 | .any, | 10382 | .any, |
| 10446 | }, | 10383 | }, |
| 10447 | .patterns = &.{ | 10384 | .patterns = &.{ |
| 10448 | .{ .src = .{ .{ .to_reg = .xmm0 }, .{ .to_reg = .xmm1 }, .none } }, | 10385 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 10449 | }, | 10386 | }, |
| 10450 | .call_frame = .{ .alignment = .@"16" }, | ||
| 10451 | .extra_temps = .{ | 10387 | .extra_temps = .{ |
| 10452 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__divdf3" } } }, | 10388 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 10453 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "trunc" } } }, | 10389 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 10454 | .unused, | 10390 | .unused, |
| 10455 | .unused, | 10391 | .unused, |
| 10456 | .unused, | 10392 | .unused, |
| ... | @@ -10461,65 +10397,180 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -10461,65 +10397,180 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 10461 | .unused, | 10397 | .unused, |
| 10462 | .unused, | 10398 | .unused, |
| 10463 | }, | 10399 | }, |
| 10464 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, | 10400 | .dst_temps = .{ .mem, .unused }, |
| 10465 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 10401 | .clobbers = .{ .eflags = true }, |
| 10466 | .each = .{ .once = &.{ | 10402 | .each = .{ .once = &.{ |
| 10467 | .{ ._, ._, .call, .tmp0d, ._, ._, ._ }, | 10403 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, |
| 10468 | .{ ._, ._, .call, .tmp1d, ._, ._, ._ }, | 10404 | .{ .@"0:", ._, .mov, .tmp1q, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._ }, |
| 10405 | .{ ._, .i_, .mul, .tmp1q, .memia(.src1q, .tmp0, .add_unaligned_size), ._, ._ }, | ||
| 10406 | .{ ._, ._, .mov, .memia(.dst0q, .tmp0, .add_unaligned_size), .tmp1q, ._, ._ }, | ||
| 10407 | .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ }, | ||
| 10408 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | ||
| 10469 | } }, | 10409 | } }, |
| 10470 | }, .{ | 10410 | }, .{ |
| 10471 | .required_features = .{ .avx, null, null, null }, | 10411 | .required_features = .{ .@"64bit", .bmi2, .adx, null }, |
| 10472 | .src_constraints = .{ | 10412 | .src_constraints = .{ |
| 10473 | .{ .scalar_float = .{ .of = .xword, .is = .qword } }, | 10413 | .{ .scalar_remainder_int = .{ .of = .qword, .is = .qword } }, |
| 10474 | .{ .scalar_float = .{ .of = .xword, .is = .qword } }, | 10414 | .{ .scalar_remainder_int = .{ .of = .qword, .is = .qword } }, |
| 10475 | .any, | 10415 | .any, |
| 10476 | }, | 10416 | }, |
| 10477 | .patterns = &.{ | 10417 | .patterns = &.{ |
| 10478 | .{ .src = .{ .to_sse, .mem, .none } }, | 10418 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 10479 | .{ .src = .{ .to_sse, .to_sse, .none } }, | ||
| 10480 | }, | 10419 | }, |
| 10481 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, | 10420 | .extra_temps = .{ |
| 10482 | .each = .{ .once = &.{ | 10421 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 10483 | .{ ._, .v_pd, .div, .dst0x, .src0x, .src1x, ._ }, | 10422 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 10484 | .{ ._, .v_pd, .round, .dst0x, .dst0x, .rm(.{ .direction = .zero, .precision = .inexact }), ._ }, | 10423 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 10485 | } }, | 10424 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 10486 | }, .{ | 10425 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 10487 | .required_features = .{ .sse4_1, null, null, null }, | 10426 | .{ .type = .u64, .kind = .{ .reg = .rdx } }, |
| 10488 | .src_constraints = .{ | 10427 | .{ .type = .isize, .kind = .{ .reg = .rcx } }, |
| 10489 | .{ .scalar_float = .{ .of = .xword, .is = .qword } }, | 10428 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 10490 | .{ .scalar_float = .{ .of = .xword, .is = .qword } }, | 10429 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 10491 | .any, | 10430 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 10431 | .unused, | ||
| 10492 | }, | 10432 | }, |
| 10493 | .patterns = &.{ | 10433 | .dst_temps = .{ .mem, .unused }, |
| 10494 | .{ .src = .{ .to_mut_sse, .mem, .none } }, | 10434 | .clobbers = .{ .eflags = true }, |
| 10495 | .{ .src = .{ .to_mut_sse, .to_sse, .none } }, | 10435 | .each = .{ .once = &.{ |
| 10436 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, | ||
| 10437 | .{ .@"0:", ._, .lea, .tmp1p, .memia(.src0, .tmp0, .add_size), ._, ._ }, | ||
| 10438 | .{ ._, ._, .lea, .tmp2p, .memia(.src1, .tmp0, .add_size), ._, ._ }, | ||
| 10439 | .{ ._, ._, .lea, .tmp3p, .memia(.dst0, .tmp0, .add_size), ._, ._ }, | ||
| 10440 | .{ ._, ._, .mov, .tmp4d, .sia(-8, .src0, .add_elem_size), ._, ._ }, | ||
| 10441 | .{ .@"1:", ._, .xor, .tmp5d, .tmp5d, ._, ._ }, | ||
| 10442 | .{ ._, ._, .@"or", .tmp5q, .leai(.tmp1q, .tmp4), ._, ._ }, | ||
| 10443 | .{ ._, ._z, .j, .@"3f", ._, ._, ._ }, | ||
| 10444 | .{ ._, ._, .lea, .tmp6p, .leaad(.tmp4, .sub_src0_elem_size, 8), ._, ._ }, | ||
| 10445 | .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ }, | ||
| 10446 | .{ .@"2:", ._x, .mul, .tmp9q, .tmp8q, .leai(.tmp2q, .tmp6), ._ }, | ||
| 10447 | .{ ._, ._x, .adc, .tmp8q, .tmp7q, ._, ._ }, | ||
| 10448 | .{ ._, ._, .mov, .leaiad(.tmp3q, .tmp6, .add_dst0_elem_size, -8), .tmp8q, ._, ._ }, | ||
| 10449 | .{ ._, ._rcxz, .j, .@"2f", ._, ._, ._ }, | ||
| 10450 | .{ ._, ._x, .ado, .tmp9q, .leaia(.tmp3q, .tmp6, .add_dst0_elem_size), ._, ._ }, | ||
| 10451 | .{ ._, ._, .mov, .tmp7q, .tmp9q, ._, ._ }, | ||
| 10452 | .{ ._, ._, .lea, .tmp6p, .lead(.tmp6, 8), ._, ._ }, | ||
| 10453 | .{ ._, ._mp, .j, .@"2b", ._, ._, ._ }, | ||
| 10454 | .{ .@"3:", ._, .mov, .leai(.tmp3q, .tmp4), .tmp5q, ._, ._ }, | ||
| 10455 | .{ .@"2:", ._, .lea, .tmp2p, .lead(.tmp2, 8), ._, ._ }, | ||
| 10456 | .{ ._, ._, .sub, .tmp4d, .si(8), ._, ._ }, | ||
| 10457 | .{ ._, ._ae, .j, .@"1b", ._, ._, ._ }, | ||
| 10458 | .{ ._, ._, .add, .tmp0p, .sa(.src0, .add_elem_size), ._, ._ }, | ||
| 10459 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | ||
| 10460 | } }, | ||
| 10461 | }, .{ | ||
| 10462 | .required_features = .{ .@"64bit", .bmi2, .slow_incdec, null }, | ||
| 10463 | .src_constraints = .{ | ||
| 10464 | .{ .scalar_remainder_int = .{ .of = .qword, .is = .qword } }, | ||
| 10465 | .{ .scalar_remainder_int = .{ .of = .qword, .is = .qword } }, | ||
| 10466 | .any, | ||
| 10496 | }, | 10467 | }, |
| 10497 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, | 10468 | .patterns = &.{ |
| 10469 | .{ .src = .{ .to_mem, .to_mem, .none } }, | ||
| 10470 | }, | ||
| 10471 | .extra_temps = .{ | ||
| 10472 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | ||
| 10473 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, | ||
| 10474 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, | ||
| 10475 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, | ||
| 10476 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | ||
| 10477 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | ||
| 10478 | .{ .type = .u64, .kind = .{ .reg = .rdx } }, | ||
| 10479 | .{ .type = .u8, .kind = .{ .rc = .general_purpose } }, | ||
| 10480 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, | ||
| 10481 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, | ||
| 10482 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, | ||
| 10483 | }, | ||
| 10484 | .dst_temps = .{ .mem, .unused }, | ||
| 10485 | .clobbers = .{ .eflags = true }, | ||
| 10498 | .each = .{ .once = &.{ | 10486 | .each = .{ .once = &.{ |
| 10499 | .{ ._, ._pd, .div, .dst0x, .src1x, ._, ._ }, | 10487 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, |
| 10500 | .{ ._, ._pd, .round, .dst0x, .dst0x, .rm(.{ .direction = .zero, .precision = .inexact }), ._ }, | 10488 | .{ .@"0:", ._, .lea, .tmp1p, .memia(.src0, .tmp0, .add_size), ._, ._ }, |
| 10489 | .{ ._, ._, .lea, .tmp2p, .memiad(.src1, .tmp0, .add_size, 8), ._, ._ }, | ||
| 10490 | .{ ._, ._, .lea, .tmp3p, .memia(.dst0, .tmp0, .add_size), ._, ._ }, | ||
| 10491 | .{ ._, ._, .mov, .tmp4d, .sia(-1, .src0, .add_elem_size_div_8), ._, ._ }, | ||
| 10492 | .{ .@"1:", ._, .lea, .tmp5p, .leaa(.tmp4, .sub_src0_elem_size_div_8), ._, ._ }, | ||
| 10493 | .{ ._, ._, .xor, .tmp6d, .tmp6d, ._, ._ }, | ||
| 10494 | .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ }, | ||
| 10495 | .{ ._, ._, .xor, .tmp8d, .tmp8d, ._, ._ }, | ||
| 10496 | .{ ._, ._, .@"or", .tmp6q, .leasi(.tmp1q, .@"8", .tmp4), ._, ._ }, | ||
| 10497 | .{ ._, ._nz, .j, .@"3f", ._, ._, ._ }, | ||
| 10498 | .{ ._, ._, .mov, .leasi(.tmp3q, .@"8", .tmp4), .tmp6q, ._, ._ }, | ||
| 10499 | .{ ._, ._mp, .j, .@"4f", ._, ._, ._ }, | ||
| 10500 | .{ .@"2:", ._, .adc, .tmp10q, .leasia(.tmp3q, .@"8", .tmp5, .add_src0_elem_size), ._, ._ }, | ||
| 10501 | .{ ._, ._, .adc, .tmp7b, .si(0), ._, ._ }, | ||
| 10502 | .{ ._, ._, .mov, .tmp8q, .tmp10q, ._, ._ }, | ||
| 10503 | .{ ._, ._l, .sh, .tmp7b, .ui(4), ._, ._ }, | ||
| 10504 | .{ .@"3:", ._x, .mul, .tmp10q, .tmp9q, .leasi(.tmp2q, .@"8", .tmp5), ._ }, | ||
| 10505 | .{ ._, ._, .adc, .tmp9q, .tmp8q, ._, ._ }, | ||
| 10506 | .{ ._, ._, .mov, .leasia(.tmp3q, .@"8", .tmp5, .add_src0_elem_size), .tmp9q, ._, ._ }, | ||
| 10507 | .{ ._, ._c, .in, .tmp5p, ._, ._, ._ }, | ||
| 10508 | .{ ._, ._nz, .j, .@"2b", ._, ._, ._ }, | ||
| 10509 | .{ .@"4:", ._, .lea, .tmp2p, .lead(.tmp2, 8), ._, ._ }, | ||
| 10510 | .{ ._, ._, .sub, .tmp4d, .si(1), ._, ._ }, | ||
| 10511 | .{ ._, ._ae, .j, .@"1b", ._, ._, ._ }, | ||
| 10512 | .{ ._, ._, .add, .tmp0p, .sa(.src0, .add_elem_size), ._, ._ }, | ||
| 10513 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | ||
| 10501 | } }, | 10514 | } }, |
| 10502 | }, .{ | 10515 | }, .{ |
| 10503 | .required_features = .{ .avx, null, null, null }, | 10516 | .required_features = .{ .@"64bit", .bmi2, null, null }, |
| 10504 | .src_constraints = .{ | 10517 | .src_constraints = .{ |
| 10505 | .{ .scalar_float = .{ .of = .yword, .is = .qword } }, | 10518 | .{ .scalar_remainder_int = .{ .of = .qword, .is = .qword } }, |
| 10506 | .{ .scalar_float = .{ .of = .yword, .is = .qword } }, | 10519 | .{ .scalar_remainder_int = .{ .of = .qword, .is = .qword } }, |
| 10507 | .any, | 10520 | .any, |
| 10508 | }, | 10521 | }, |
| 10509 | .patterns = &.{ | 10522 | .patterns = &.{ |
| 10510 | .{ .src = .{ .to_sse, .mem, .none } }, | 10523 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 10511 | .{ .src = .{ .to_sse, .to_sse, .none } }, | ||
| 10512 | }, | 10524 | }, |
| 10513 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, | 10525 | .extra_temps = .{ |
| 10526 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | ||
| 10527 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, | ||
| 10528 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, | ||
| 10529 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, | ||
| 10530 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | ||
| 10531 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | ||
| 10532 | .{ .type = .u64, .kind = .{ .reg = .rdx } }, | ||
| 10533 | .{ .type = .u8, .kind = .{ .rc = .general_purpose } }, | ||
| 10534 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, | ||
| 10535 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, | ||
| 10536 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, | ||
| 10537 | }, | ||
| 10538 | .dst_temps = .{ .mem, .unused }, | ||
| 10539 | .clobbers = .{ .eflags = true }, | ||
| 10514 | .each = .{ .once = &.{ | 10540 | .each = .{ .once = &.{ |
| 10515 | .{ ._, .v_pd, .div, .dst0y, .src0y, .src1y, ._ }, | 10541 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, |
| 10516 | .{ ._, .v_pd, .round, .dst0y, .dst0y, .rm(.{ .direction = .zero, .precision = .inexact }), ._ }, | 10542 | .{ .@"0:", ._, .lea, .tmp1p, .memia(.src0, .tmp0, .add_size), ._, ._ }, |
| 10543 | .{ ._, ._, .lea, .tmp2p, .memiad(.src1, .tmp0, .add_size, 8), ._, ._ }, | ||
| 10544 | .{ ._, ._, .lea, .tmp3p, .memia(.dst0, .tmp0, .add_size), ._, ._ }, | ||
| 10545 | .{ ._, ._, .mov, .tmp4d, .sia(-1, .src0, .add_elem_size_div_8), ._, ._ }, | ||
| 10546 | .{ .@"1:", ._, .lea, .tmp5p, .leaa(.tmp4, .sub_src0_elem_size_div_8), ._, ._ }, | ||
| 10547 | .{ ._, ._, .xor, .tmp6d, .tmp6d, ._, ._ }, | ||
| 10548 | .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ }, | ||
| 10549 | .{ ._, ._, .xor, .tmp8d, .tmp8d, ._, ._ }, | ||
| 10550 | .{ ._, ._, .@"or", .tmp6q, .leasi(.tmp1q, .@"8", .tmp4), ._, ._ }, | ||
| 10551 | .{ ._, ._nz, .j, .@"3f", ._, ._, ._ }, | ||
| 10552 | .{ ._, ._, .mov, .leasi(.tmp3q, .@"8", .tmp4), .tmp6q, ._, ._ }, | ||
| 10553 | .{ ._, ._mp, .j, .@"4f", ._, ._, ._ }, | ||
| 10554 | .{ .@"2:", ._, .adc, .tmp10q, .leasia(.tmp3q, .@"8", .tmp5, .add_src0_elem_size), ._, ._ }, | ||
| 10555 | .{ ._, ._, .adc, .tmp7b, .si(0), ._, ._ }, | ||
| 10556 | .{ ._, ._, .mov, .tmp8q, .tmp10q, ._, ._ }, | ||
| 10557 | .{ ._, ._l, .sh, .tmp7b, .ui(4), ._, ._ }, | ||
| 10558 | .{ .@"3:", ._x, .mul, .tmp10q, .tmp9q, .leasi(.tmp2q, .@"8", .tmp5), ._ }, | ||
| 10559 | .{ ._, ._, .adc, .tmp9q, .tmp8q, ._, ._ }, | ||
| 10560 | .{ ._, ._, .mov, .leasia(.tmp3q, .@"8", .tmp5, .add_src0_elem_size), .tmp9q, ._, ._ }, | ||
| 10561 | .{ ._, ._c, .in, .tmp5p, ._, ._, ._ }, | ||
| 10562 | .{ ._, ._nz, .j, .@"2b", ._, ._, ._ }, | ||
| 10563 | .{ .@"4:", ._, .lea, .tmp2p, .lead(.tmp2, 8), ._, ._ }, | ||
| 10564 | .{ ._, ._c, .de, .tmp4d, ._, ._, ._ }, | ||
| 10565 | .{ ._, ._ns, .j, .@"1b", ._, ._, ._ }, | ||
| 10566 | .{ ._, ._, .add, .tmp0p, .sa(.src0, .add_elem_size), ._, ._ }, | ||
| 10567 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | ||
| 10517 | } }, | 10568 | } }, |
| 10518 | }, .{ | 10569 | }, .{ |
| 10519 | .required_features = .{ .avx, null, null, null }, | 10570 | .required_features = .{ .@"64bit", .slow_incdec, null, null }, |
| 10520 | .src_constraints = .{ | 10571 | .src_constraints = .{ |
| 10521 | .{ .multiple_scalar_float = .{ .of = .yword, .is = .qword } }, | 10572 | .{ .scalar_remainder_int = .{ .of = .qword, .is = .qword } }, |
| 10522 | .{ .multiple_scalar_float = .{ .of = .yword, .is = .qword } }, | 10573 | .{ .scalar_remainder_int = .{ .of = .qword, .is = .qword } }, |
| 10523 | .any, | 10574 | .any, |
| 10524 | }, | 10575 | }, |
| 10525 | .patterns = &.{ | 10576 | .patterns = &.{ |
| ... | @@ -10527,33 +10578,54 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -10527,33 +10578,54 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 10527 | }, | 10578 | }, |
| 10528 | .extra_temps = .{ | 10579 | .extra_temps = .{ |
| 10529 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 10580 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 10530 | .{ .type = .vector_4_f64, .kind = .{ .rc = .sse } }, | 10581 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 10531 | .unused, | 10582 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 10532 | .unused, | 10583 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 10533 | .unused, | 10584 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 10534 | .unused, | 10585 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 10535 | .unused, | 10586 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 10536 | .unused, | 10587 | .{ .type = .u8, .kind = .{ .rc = .general_purpose } }, |
| 10537 | .unused, | 10588 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 10538 | .unused, | 10589 | .{ .type = .u64, .kind = .{ .reg = .rax } }, |
| 10539 | .unused, | 10590 | .{ .type = .u64, .kind = .{ .reg = .rdx } }, |
| 10540 | }, | 10591 | }, |
| 10541 | .dst_temps = .{ .mem, .unused }, | 10592 | .dst_temps = .{ .mem, .unused }, |
| 10542 | .clobbers = .{ .eflags = true }, | 10593 | .clobbers = .{ .eflags = true }, |
| 10543 | .each = .{ .once = &.{ | 10594 | .each = .{ .once = &.{ |
| 10544 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 10595 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, |
| 10545 | .{ .@"0:", .v_pd, .mova, .tmp1y, .memia(.src0y, .tmp0, .add_unaligned_size), ._, ._ }, | 10596 | .{ .@"0:", ._, .lea, .tmp1p, .memia(.src0, .tmp0, .add_size), ._, ._ }, |
| 10546 | .{ ._, .v_pd, .div, .tmp1y, .tmp1y, .memia(.src1y, .tmp0, .add_unaligned_size), ._ }, | 10597 | .{ ._, ._, .lea, .tmp2p, .memiad(.src1, .tmp0, .add_size, 8), ._, ._ }, |
| 10547 | .{ ._, .v_pd, .round, .tmp1y, .tmp1y, .rm(.{ .direction = .zero, .precision = .inexact }), ._ }, | 10598 | .{ ._, ._, .lea, .tmp3p, .memia(.dst0, .tmp0, .add_size), ._, ._ }, |
| 10548 | .{ ._, .v_pd, .mova, .memia(.dst0y, .tmp0, .add_unaligned_size), .tmp1y, ._, ._ }, | 10599 | .{ ._, ._, .mov, .tmp4d, .sia(-1, .src0, .add_elem_size_div_8), ._, ._ }, |
| 10549 | .{ ._, ._, .add, .tmp0p, .si(32), ._, ._ }, | 10600 | .{ .@"1:", ._, .lea, .tmp5p, .leaa(.tmp4, .sub_src0_elem_size_div_8), ._, ._ }, |
| 10601 | .{ ._, ._, .xor, .tmp6d, .tmp6d, ._, ._ }, | ||
| 10602 | .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ }, | ||
| 10603 | .{ ._, ._, .xor, .tmp8d, .tmp8d, ._, ._ }, | ||
| 10604 | .{ ._, ._, .@"or", .tmp6q, .leasi(.tmp1q, .@"8", .tmp4), ._, ._ }, | ||
| 10605 | .{ ._, ._nz, .j, .@"3f", ._, ._, ._ }, | ||
| 10606 | .{ ._, ._, .mov, .leasi(.tmp3q, .@"8", .tmp4), .tmp6q, ._, ._ }, | ||
| 10607 | .{ ._, ._mp, .j, .@"4f", ._, ._, ._ }, | ||
| 10608 | .{ .@"2:", ._, .adc, .tmp10q, .leasia(.tmp3q, .@"8", .tmp5, .add_src0_elem_size), ._, ._ }, | ||
| 10609 | .{ ._, ._, .adc, .tmp7b, .si(0), ._, ._ }, | ||
| 10610 | .{ ._, ._, .mov, .tmp8q, .tmp10q, ._, ._ }, | ||
| 10611 | .{ .@"3:", ._, .mov, .tmp9q, .tmp6q, ._, ._ }, | ||
| 10612 | .{ ._, ._, .mul, .leasi(.tmp2q, .@"8", .tmp5), ._, ._, ._ }, | ||
| 10613 | .{ ._, ._l, .sh, .tmp7b, .ui(4), ._, ._ }, | ||
| 10614 | .{ ._, ._, .adc, .tmp9q, .tmp8q, ._, ._ }, | ||
| 10615 | .{ ._, ._, .mov, .leasia(.tmp3q, .@"8", .tmp5, .add_src0_elem_size), .tmp9q, ._, ._ }, | ||
| 10616 | .{ ._, ._c, .in, .tmp5p, ._, ._, ._ }, | ||
| 10617 | .{ ._, ._nz, .j, .@"2b", ._, ._, ._ }, | ||
| 10618 | .{ .@"4:", ._, .lea, .tmp2p, .lead(.tmp2, 8), ._, ._ }, | ||
| 10619 | .{ ._, ._, .sub, .tmp4d, .si(1), ._, ._ }, | ||
| 10620 | .{ ._, ._ae, .j, .@"1b", ._, ._, ._ }, | ||
| 10621 | .{ ._, ._, .add, .tmp0p, .sa(.src0, .add_elem_size), ._, ._ }, | ||
| 10550 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 10622 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 10551 | } }, | 10623 | } }, |
| 10552 | }, .{ | 10624 | }, .{ |
| 10553 | .required_features = .{ .sse4_1, null, null, null }, | 10625 | .required_features = .{ .@"64bit", null, null, null }, |
| 10554 | .src_constraints = .{ | 10626 | .src_constraints = .{ |
| 10555 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .qword } }, | 10627 | .{ .scalar_remainder_int = .{ .of = .qword, .is = .qword } }, |
| 10556 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .qword } }, | 10628 | .{ .scalar_remainder_int = .{ .of = .qword, .is = .qword } }, |
| 10557 | .any, | 10629 | .any, |
| 10558 | }, | 10630 | }, |
| 10559 | .patterns = &.{ | 10631 | .patterns = &.{ |
| ... | @@ -10561,7 +10633,62 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -10561,7 +10633,62 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 10561 | }, | 10633 | }, |
| 10562 | .extra_temps = .{ | 10634 | .extra_temps = .{ |
| 10563 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 10635 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 10564 | .{ .type = .vector_2_f64, .kind = .{ .rc = .sse } }, | 10636 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 10637 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, | ||
| 10638 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, | ||
| 10639 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | ||
| 10640 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | ||
| 10641 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, | ||
| 10642 | .{ .type = .u8, .kind = .{ .rc = .general_purpose } }, | ||
| 10643 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, | ||
| 10644 | .{ .type = .u64, .kind = .{ .reg = .rax } }, | ||
| 10645 | .{ .type = .u64, .kind = .{ .reg = .rdx } }, | ||
| 10646 | }, | ||
| 10647 | .dst_temps = .{ .mem, .unused }, | ||
| 10648 | .clobbers = .{ .eflags = true }, | ||
| 10649 | .each = .{ .once = &.{ | ||
| 10650 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, | ||
| 10651 | .{ .@"0:", ._, .lea, .tmp1p, .memia(.src0, .tmp0, .add_size), ._, ._ }, | ||
| 10652 | .{ ._, ._, .lea, .tmp2p, .memiad(.src1, .tmp0, .add_size, 8), ._, ._ }, | ||
| 10653 | .{ ._, ._, .lea, .tmp3p, .memia(.dst0, .tmp0, .add_size), ._, ._ }, | ||
| 10654 | .{ ._, ._, .mov, .tmp4d, .sia(-1, .src0, .add_elem_size_div_8), ._, ._ }, | ||
| 10655 | .{ .@"1:", ._, .lea, .tmp5p, .leaa(.tmp4, .sub_src0_elem_size_div_8), ._, ._ }, | ||
| 10656 | .{ ._, ._, .xor, .tmp6d, .tmp6d, ._, ._ }, | ||
| 10657 | .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ }, | ||
| 10658 | .{ ._, ._, .xor, .tmp8d, .tmp8d, ._, ._ }, | ||
| 10659 | .{ ._, ._, .@"or", .tmp6q, .leasi(.tmp1q, .@"8", .tmp4), ._, ._ }, | ||
| 10660 | .{ ._, ._nz, .j, .@"3f", ._, ._, ._ }, | ||
| 10661 | .{ ._, ._, .mov, .leasi(.tmp3q, .@"8", .tmp4), .tmp6q, ._, ._ }, | ||
| 10662 | .{ ._, ._mp, .j, .@"4f", ._, ._, ._ }, | ||
| 10663 | .{ .@"2:", ._, .adc, .tmp10q, .leasia(.tmp3q, .@"8", .tmp5, .add_src0_elem_size), ._, ._ }, | ||
| 10664 | .{ ._, ._, .adc, .tmp7b, .si(0), ._, ._ }, | ||
| 10665 | .{ ._, ._, .mov, .tmp8q, .tmp10q, ._, ._ }, | ||
| 10666 | .{ .@"3:", ._, .mov, .tmp9q, .tmp6q, ._, ._ }, | ||
| 10667 | .{ ._, ._, .mul, .leasi(.tmp2q, .@"8", .tmp5), ._, ._, ._ }, | ||
| 10668 | .{ ._, ._l, .sh, .tmp7b, .ui(4), ._, ._ }, | ||
| 10669 | .{ ._, ._, .adc, .tmp9q, .tmp8q, ._, ._ }, | ||
| 10670 | .{ ._, ._, .mov, .leasia(.tmp3q, .@"8", .tmp5, .add_src0_elem_size), .tmp9q, ._, ._ }, | ||
| 10671 | .{ ._, ._c, .in, .tmp5p, ._, ._, ._ }, | ||
| 10672 | .{ ._, ._nz, .j, .@"2b", ._, ._, ._ }, | ||
| 10673 | .{ .@"4:", ._, .lea, .tmp2p, .lead(.tmp2, 8), ._, ._ }, | ||
| 10674 | .{ ._, ._c, .de, .tmp4d, ._, ._, ._ }, | ||
| 10675 | .{ ._, ._ns, .j, .@"1b", ._, ._, ._ }, | ||
| 10676 | .{ ._, ._, .add, .tmp0p, .sa(.src0, .add_elem_size), ._, ._ }, | ||
| 10677 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | ||
| 10678 | } }, | ||
| 10679 | }, .{ | ||
| 10680 | .required_features = .{ .f16c, null, null, null }, | ||
| 10681 | .src_constraints = .{ | ||
| 10682 | .{ .scalar_float = .{ .of = .word, .is = .word } }, | ||
| 10683 | .{ .scalar_float = .{ .of = .word, .is = .word } }, | ||
| 10684 | .any, | ||
| 10685 | }, | ||
| 10686 | .patterns = &.{ | ||
| 10687 | .{ .src = .{ .to_sse, .to_sse, .none } }, | ||
| 10688 | }, | ||
| 10689 | .extra_temps = .{ | ||
| 10690 | .{ .type = .f32, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .sse } } }, | ||
| 10691 | .unused, | ||
| 10565 | .unused, | 10692 | .unused, |
| 10566 | .unused, | 10693 | .unused, |
| 10567 | .unused, | 10694 | .unused, |
| ... | @@ -10572,32 +10699,28 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -10572,32 +10699,28 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 10572 | .unused, | 10699 | .unused, |
| 10573 | .unused, | 10700 | .unused, |
| 10574 | }, | 10701 | }, |
| 10575 | .dst_temps = .{ .mem, .unused }, | 10702 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| 10576 | .clobbers = .{ .eflags = true }, | ||
| 10577 | .each = .{ .once = &.{ | 10703 | .each = .{ .once = &.{ |
| 10578 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 10704 | .{ ._, .v_ps, .cvtph2, .dst0x, .src0q, ._, ._ }, |
| 10579 | .{ .@"0:", ._pd, .mova, .tmp1x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ }, | 10705 | .{ ._, .v_ps, .cvtph2, .tmp0x, .src1q, ._, ._ }, |
| 10580 | .{ ._, ._pd, .div, .tmp1x, .memia(.src1x, .tmp0, .add_unaligned_size), ._, ._ }, | 10706 | .{ ._, .v_ss, .mul, .dst0x, .dst0x, .tmp0d, ._ }, |
| 10581 | .{ ._, ._pd, .round, .tmp1x, .tmp1x, .rm(.{ .direction = .zero, .precision = .inexact }), ._ }, | 10707 | .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ }, |
| 10582 | .{ ._, ._pd, .mova, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ }, | ||
| 10583 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, | ||
| 10584 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | ||
| 10585 | } }, | 10708 | } }, |
| 10586 | }, .{ | 10709 | }, .{ |
| 10587 | .required_features = .{ .sse2, null, null, null }, | 10710 | .required_features = .{ .sse, null, null, null }, |
| 10588 | .src_constraints = .{ | 10711 | .src_constraints = .{ |
| 10589 | .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, | 10712 | .{ .scalar_float = .{ .of = .word, .is = .word } }, |
| 10590 | .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, | 10713 | .{ .scalar_float = .{ .of = .word, .is = .word } }, |
| 10591 | .any, | 10714 | .any, |
| 10592 | }, | 10715 | }, |
| 10593 | .patterns = &.{ | 10716 | .patterns = &.{ |
| 10594 | .{ .src = .{ .to_mem, .to_mem, .none } }, | 10717 | .{ .src = .{ .{ .to_reg = .xmm0 }, .{ .to_reg = .xmm1 }, .none } }, |
| 10595 | }, | 10718 | }, |
| 10596 | .call_frame = .{ .alignment = .@"16" }, | 10719 | .call_frame = .{ .alignment = .@"16" }, |
| 10597 | .extra_temps = .{ | 10720 | .extra_temps = .{ |
| 10598 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 10721 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__mulhf3" } } }, |
| 10599 | .{ .type = .f64, .kind = .{ .reg = .xmm0 } }, | 10722 | .unused, |
| 10600 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "trunc" } } }, | 10723 | .unused, |
| 10601 | .unused, | 10724 | .unused, |
| 10602 | .unused, | 10725 | .unused, |
| 10603 | .unused, | 10726 | .unused, |
| ... | @@ -10607,34 +10730,30 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -10607,34 +10730,30 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 10607 | .unused, | 10730 | .unused, |
| 10608 | .unused, | 10731 | .unused, |
| 10609 | }, | 10732 | }, |
| 10610 | .dst_temps = .{ .mem, .unused }, | 10733 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| 10611 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 10734 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 10612 | .each = .{ .once = &.{ | 10735 | .each = .{ .once = &.{ |
| 10613 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 10736 | .{ ._, ._, .call, .tmp0d, ._, ._, ._ }, |
| 10614 | .{ .@"0:", ._sd, .mov, .tmp1x, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._ }, | ||
| 10615 | .{ ._, ._sd, .div, .tmp1x, .memia(.src1q, .tmp0, .add_unaligned_size), ._, ._ }, | ||
| 10616 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | ||
| 10617 | .{ ._, ._sd, .mov, .memia(.dst0q, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ }, | ||
| 10618 | .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ }, | ||
| 10619 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | ||
| 10620 | } }, | 10737 | } }, |
| 10621 | }, .{ | 10738 | }, .{ |
| 10622 | .required_features = .{ .sse, null, null, null }, | 10739 | .required_features = .{ .f16c, null, null, null }, |
| 10623 | .src_constraints = .{ | 10740 | .src_constraints = .{ |
| 10624 | .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, | 10741 | .{ .scalar_float = .{ .of = .qword, .is = .word } }, |
| 10625 | .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, | 10742 | .{ .scalar_float = .{ .of = .qword, .is = .word } }, |
| 10626 | .any, | 10743 | .any, |
| 10627 | }, | 10744 | }, |
| 10628 | .patterns = &.{ | 10745 | .patterns = &.{ |
| 10629 | .{ .src = .{ .to_mem, .to_mem, .none } }, | 10746 | .{ .src = .{ .mem, .mem, .none } }, |
| 10747 | .{ .src = .{ .to_sse, .mem, .none } }, | ||
| 10748 | .{ .src = .{ .mem, .to_sse, .none } }, | ||
| 10749 | .{ .src = .{ .to_sse, .to_sse, .none } }, | ||
| 10630 | }, | 10750 | }, |
| 10631 | .call_frame = .{ .alignment = .@"16" }, | ||
| 10632 | .extra_temps = .{ | 10751 | .extra_temps = .{ |
| 10633 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 10752 | .{ .type = .vector_4_f32, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .sse } } }, |
| 10634 | .{ .type = .f64, .kind = .{ .reg = .xmm0 } }, | 10753 | .unused, |
| 10635 | .{ .type = .f64, .kind = .{ .reg = .xmm1 } }, | 10754 | .unused, |
| 10636 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__divdf3" } } }, | 10755 | .unused, |
| 10637 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "trunc" } } }, | 10756 | .unused, |
| 10638 | .unused, | 10757 | .unused, |
| 10639 | .unused, | 10758 | .unused, |
| 10640 | .unused, | 10759 | .unused, |
| ... | @@ -10642,36 +10761,31 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -10642,36 +10761,31 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 10642 | .unused, | 10761 | .unused, |
| 10643 | .unused, | 10762 | .unused, |
| 10644 | }, | 10763 | }, |
| 10645 | .dst_temps = .{ .mem, .unused }, | 10764 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| 10646 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | ||
| 10647 | .each = .{ .once = &.{ | 10765 | .each = .{ .once = &.{ |
| 10648 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 10766 | .{ ._, .v_ps, .cvtph2, .dst0x, .src0q, ._, ._ }, |
| 10649 | .{ .@"0:", ._ps, .xor, .tmp1x, .tmp1x, ._, ._ }, | 10767 | .{ ._, .v_ps, .cvtph2, .tmp0x, .src1q, ._, ._ }, |
| 10650 | .{ ._, ._ps, .xor, .tmp2x, .tmp2x, ._, ._ }, | 10768 | .{ ._, .v_ps, .mul, .dst0x, .dst0x, .tmp0x, ._ }, |
| 10651 | .{ ._, ._ps, .movl, .tmp1x, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._ }, | 10769 | .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ }, |
| 10652 | .{ ._, ._ps, .movl, .tmp2x, .memia(.src1q, .tmp0, .add_unaligned_size), ._, ._ }, | ||
| 10653 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, | ||
| 10654 | .{ ._, ._, .call, .tmp4d, ._, ._, ._ }, | ||
| 10655 | .{ ._, ._ps, .movl, .memia(.dst0q, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ }, | ||
| 10656 | .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ }, | ||
| 10657 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | ||
| 10658 | } }, | 10770 | } }, |
| 10659 | }, .{ | 10771 | }, .{ |
| 10660 | .required_features = .{ .x87, null, null, null }, | 10772 | .required_features = .{ .f16c, null, null, null }, |
| 10661 | .src_constraints = .{ | 10773 | .src_constraints = .{ |
| 10662 | .{ .scalar_float = .{ .of = .xword, .is = .tbyte } }, | 10774 | .{ .scalar_float = .{ .of = .xword, .is = .word } }, |
| 10663 | .{ .scalar_float = .{ .of = .xword, .is = .tbyte } }, | 10775 | .{ .scalar_float = .{ .of = .xword, .is = .word } }, |
| 10664 | .any, | 10776 | .any, |
| 10665 | }, | 10777 | }, |
| 10666 | .patterns = &.{ | 10778 | .patterns = &.{ |
| 10667 | .{ .src = .{ .to_mem, .to_mem, .none } }, | 10779 | .{ .src = .{ .mem, .mem, .none } }, |
| 10780 | .{ .src = .{ .to_sse, .mem, .none } }, | ||
| 10781 | .{ .src = .{ .mem, .to_sse, .none } }, | ||
| 10782 | .{ .src = .{ .to_sse, .to_sse, .none } }, | ||
| 10668 | }, | 10783 | }, |
| 10669 | .call_frame = .{ .size = 16, .alignment = .@"16" }, | ||
| 10670 | .extra_temps = .{ | 10784 | .extra_temps = .{ |
| 10671 | .{ .type = .f80, .kind = .{ .reg = .st6 } }, | 10785 | .{ .type = .vector_8_f32, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .sse } } }, |
| 10672 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, | 10786 | .unused, |
| 10673 | .{ .type = .f80, .kind = .{ .frame = .call_frame } }, | 10787 | .unused, |
| 10674 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__truncx" } } }, | 10788 | .unused, |
| 10675 | .unused, | 10789 | .unused, |
| 10676 | .unused, | 10790 | .unused, |
| 10677 | .unused, | 10791 | .unused, |
| ... | @@ -10680,32 +10794,29 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -10680,32 +10794,29 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 10680 | .unused, | 10794 | .unused, |
| 10681 | .unused, | 10795 | .unused, |
| 10682 | }, | 10796 | }, |
| 10683 | .dst_temps = .{ .{ .reg = .st0 }, .unused }, | 10797 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| 10684 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | ||
| 10685 | .each = .{ .once = &.{ | 10798 | .each = .{ .once = &.{ |
| 10686 | .{ ._, .f_, .ld, .src0t, ._, ._, ._ }, | 10799 | .{ ._, .v_ps, .cvtph2, .dst0y, .src0x, ._, ._ }, |
| 10687 | .{ ._, .f_, .ld, .src1t, ._, ._, ._ }, | 10800 | .{ ._, .v_ps, .cvtph2, .tmp0y, .src1x, ._, ._ }, |
| 10688 | .{ ._, .f_p, .div, ._, ._, ._, ._ }, | 10801 | .{ ._, .v_ps, .mul, .dst0y, .dst0y, .tmp0y, ._ }, |
| 10689 | .{ ._, .f_p, .st, .mem(.tmp2t), ._, ._, ._ }, | 10802 | .{ ._, .v_, .cvtps2ph, .dst0x, .dst0y, .rm(.{}), ._ }, |
| 10690 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, | ||
| 10691 | } }, | 10803 | } }, |
| 10692 | }, .{ | 10804 | }, .{ |
| 10693 | .required_features = .{ .x87, null, null, null }, | 10805 | .required_features = .{ .f16c, null, null, null }, |
| 10694 | .src_constraints = .{ | 10806 | .src_constraints = .{ |
| 10695 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, | 10807 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .word } }, |
| 10696 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, | 10808 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .word } }, |
| 10697 | .any, | 10809 | .any, |
| 10698 | }, | 10810 | }, |
| 10699 | .patterns = &.{ | 10811 | .patterns = &.{ |
| 10700 | .{ .src = .{ .to_mem, .to_mem, .none } }, | 10812 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 10701 | }, | 10813 | }, |
| 10702 | .call_frame = .{ .size = 16, .alignment = .@"16" }, | ||
| 10703 | .extra_temps = .{ | 10814 | .extra_temps = .{ |
| 10704 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 10815 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 10705 | .{ .type = .f80, .kind = .{ .reg = .st6 } }, | 10816 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, |
| 10706 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, | 10817 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, |
| 10707 | .{ .type = .f80, .kind = .{ .frame = .call_frame } }, | 10818 | .unused, |
| 10708 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__truncx" } } }, | 10819 | .unused, |
| 10709 | .unused, | 10820 | .unused, |
| 10710 | .unused, | 10821 | .unused, |
| 10711 | .unused, | 10822 | .unused, |
| ... | @@ -10714,35 +10825,32 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -10714,35 +10825,32 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 10714 | .unused, | 10825 | .unused, |
| 10715 | }, | 10826 | }, |
| 10716 | .dst_temps = .{ .mem, .unused }, | 10827 | .dst_temps = .{ .mem, .unused }, |
| 10717 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 10828 | .clobbers = .{ .eflags = true }, |
| 10718 | .each = .{ .once = &.{ | 10829 | .each = .{ .once = &.{ |
| 10719 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 10830 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, |
| 10720 | .{ .@"0:", .f_, .ld, .memia(.src0t, .tmp0, .add_unaligned_size), ._, ._, ._ }, | 10831 | .{ .@"0:", .v_ps, .cvtph2, .tmp1y, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ }, |
| 10721 | .{ ._, .f_, .ld, .memia(.src1t, .tmp0, .add_unaligned_size), ._, ._, ._ }, | 10832 | .{ ._, .v_ps, .cvtph2, .tmp2y, .memia(.src1x, .tmp0, .add_unaligned_size), ._, ._ }, |
| 10722 | .{ ._, .f_p, .div, ._, ._, ._, ._ }, | 10833 | .{ ._, .v_ps, .mul, .tmp1y, .tmp1y, .tmp2y, ._ }, |
| 10723 | .{ ._, .f_p, .st, .mem(.tmp3t), ._, ._, ._ }, | 10834 | .{ ._, .v_, .cvtps2ph, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp1y, .rm(.{}), ._ }, |
| 10724 | .{ ._, ._, .call, .tmp4d, ._, ._, ._ }, | ||
| 10725 | .{ .pseudo, .f_cstp, .de, ._, ._, ._, ._ }, | ||
| 10726 | .{ ._, .f_p, .st, .memia(.dst0t, .tmp0, .add_unaligned_size), ._, ._, ._ }, | ||
| 10727 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, | 10835 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, |
| 10728 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 10836 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 10729 | } }, | 10837 | } }, |
| 10730 | }, .{ | 10838 | }, .{ |
| 10731 | .required_features = .{ .sse, null, null, null }, | 10839 | .required_features = .{ .avx, null, null, null }, |
| 10732 | .src_constraints = .{ | 10840 | .src_constraints = .{ |
| 10733 | .{ .scalar_float = .{ .of = .xword, .is = .xword } }, | 10841 | .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, |
| 10734 | .{ .scalar_float = .{ .of = .xword, .is = .xword } }, | 10842 | .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, |
| 10735 | .any, | 10843 | .any, |
| 10736 | }, | 10844 | }, |
| 10737 | .patterns = &.{ | 10845 | .patterns = &.{ |
| 10738 | .{ .src = .{ .{ .to_reg = .xmm0 }, .{ .to_reg = .xmm1 }, .none } }, | 10846 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 10739 | }, | 10847 | }, |
| 10740 | .call_frame = .{ .alignment = .@"16" }, | 10848 | .call_frame = .{ .alignment = .@"16" }, |
| 10741 | .extra_temps = .{ | 10849 | .extra_temps = .{ |
| 10742 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__divtf3" } } }, | 10850 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 10743 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "truncq" } } }, | 10851 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, |
| 10744 | .unused, | 10852 | .{ .type = .f16, .kind = .{ .reg = .xmm1 } }, |
| 10745 | .unused, | 10853 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__mulhf3" } } }, |
| 10746 | .unused, | 10854 | .unused, |
| 10747 | .unused, | 10855 | .unused, |
| 10748 | .unused, | 10856 | .unused, |
| ... | @@ -10751,17 +10859,23 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -10751,17 +10859,23 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 10751 | .unused, | 10859 | .unused, |
| 10752 | .unused, | 10860 | .unused, |
| 10753 | }, | 10861 | }, |
| 10754 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, | 10862 | .dst_temps = .{ .mem, .unused }, |
| 10755 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 10863 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 10756 | .each = .{ .once = &.{ | 10864 | .each = .{ .once = &.{ |
| 10757 | .{ ._, ._, .call, .tmp0d, ._, ._, ._ }, | 10865 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, |
| 10758 | .{ ._, ._, .call, .tmp1d, ._, ._, ._ }, | 10866 | .{ .@"0:", .vp_, .xor, .tmp2x, .tmp2x, .tmp2x, ._ }, |
| 10867 | .{ ._, .vp_w, .insr, .tmp1x, .tmp2x, .memia(.src0w, .tmp0, .add_unaligned_size), .ui(0) }, | ||
| 10868 | .{ ._, .vp_w, .insr, .tmp2x, .tmp2x, .memia(.src1w, .tmp0, .add_unaligned_size), .ui(0) }, | ||
| 10869 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, | ||
| 10870 | .{ ._, .vp_w, .extr, .memia(.dst0w, .tmp0, .add_unaligned_size), .tmp1x, .ui(0), ._ }, | ||
| 10871 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, | ||
| 10872 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | ||
| 10759 | } }, | 10873 | } }, |
| 10760 | }, .{ | 10874 | }, .{ |
| 10761 | .required_features = .{ .avx, null, null, null }, | 10875 | .required_features = .{ .sse4_1, null, null, null }, |
| 10762 | .src_constraints = .{ | 10876 | .src_constraints = .{ |
| 10763 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, | 10877 | .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, |
| 10764 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, | 10878 | .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, |
| 10765 | .any, | 10879 | .any, |
| 10766 | }, | 10880 | }, |
| 10767 | .patterns = &.{ | 10881 | .patterns = &.{ |
| ... | @@ -10770,10 +10884,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -10770,10 +10884,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 10770 | .call_frame = .{ .alignment = .@"16" }, | 10884 | .call_frame = .{ .alignment = .@"16" }, |
| 10771 | .extra_temps = .{ | 10885 | .extra_temps = .{ |
| 10772 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 10886 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 10773 | .{ .type = .f128, .kind = .{ .reg = .xmm0 } }, | 10887 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, |
| 10774 | .{ .type = .f128, .kind = .{ .reg = .xmm1 } }, | 10888 | .{ .type = .f16, .kind = .{ .reg = .xmm1 } }, |
| 10775 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__divtf3" } } }, | 10889 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__mulhf3" } } }, |
| 10776 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "truncq" } } }, | 10890 | .unused, |
| 10777 | .unused, | 10891 | .unused, |
| 10778 | .unused, | 10892 | .unused, |
| 10779 | .unused, | 10893 | .unused, |
| ... | @@ -10785,19 +10899,20 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -10785,19 +10899,20 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 10785 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 10899 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 10786 | .each = .{ .once = &.{ | 10900 | .each = .{ .once = &.{ |
| 10787 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 10901 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, |
| 10788 | .{ .@"0:", .v_dqa, .mov, .tmp1x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ }, | 10902 | .{ .@"0:", .p_, .xor, .tmp1x, .tmp1x, ._, ._ }, |
| 10789 | .{ ._, .v_dqa, .mov, .tmp2x, .memia(.src1x, .tmp0, .add_unaligned_size), ._, ._ }, | 10903 | .{ ._, .p_, .xor, .tmp2x, .tmp2x, ._, ._ }, |
| 10904 | .{ ._, .p_w, .insr, .tmp1x, .memia(.src0w, .tmp0, .add_unaligned_size), .ui(0), ._ }, | ||
| 10905 | .{ ._, .p_w, .insr, .tmp2x, .memia(.src1w, .tmp0, .add_unaligned_size), .ui(0), ._ }, | ||
| 10790 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, | 10906 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, |
| 10791 | .{ ._, ._, .call, .tmp4d, ._, ._, ._ }, | 10907 | .{ ._, .p_w, .extr, .memia(.dst0w, .tmp0, .add_unaligned_size), .tmp1x, .ui(0), ._ }, |
| 10792 | .{ ._, .v_dqa, .mov, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ }, | 10908 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, |
| 10793 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, | ||
| 10794 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 10909 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 10795 | } }, | 10910 | } }, |
| 10796 | }, .{ | 10911 | }, .{ |
| 10797 | .required_features = .{ .sse2, null, null, null }, | 10912 | .required_features = .{ .sse2, null, null, null }, |
| 10798 | .src_constraints = .{ | 10913 | .src_constraints = .{ |
| 10799 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, | 10914 | .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, |
| 10800 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, | 10915 | .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, |
| 10801 | .any, | 10916 | .any, |
| 10802 | }, | 10917 | }, |
| 10803 | .patterns = &.{ | 10918 | .patterns = &.{ |
| ... | @@ -10806,10 +10921,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -10806,10 +10921,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 10806 | .call_frame = .{ .alignment = .@"16" }, | 10921 | .call_frame = .{ .alignment = .@"16" }, |
| 10807 | .extra_temps = .{ | 10922 | .extra_temps = .{ |
| 10808 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 10923 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 10809 | .{ .type = .f128, .kind = .{ .reg = .xmm0 } }, | 10924 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, |
| 10810 | .{ .type = .f128, .kind = .{ .reg = .xmm1 } }, | 10925 | .{ .type = .f16, .kind = .{ .reg = .xmm1 } }, |
| 10811 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__divtf3" } } }, | 10926 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__mulhf3" } } }, |
| 10812 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "truncq" } } }, | 10927 | .{ .type = .f16, .kind = .{ .reg = .ax } }, |
| 10813 | .unused, | 10928 | .unused, |
| 10814 | .unused, | 10929 | .unused, |
| 10815 | .unused, | 10930 | .unused, |
| ... | @@ -10821,19 +10936,21 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -10821,19 +10936,21 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 10821 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 10936 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 10822 | .each = .{ .once = &.{ | 10937 | .each = .{ .once = &.{ |
| 10823 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 10938 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, |
| 10824 | .{ .@"0:", ._dqa, .mov, .tmp1x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ }, | 10939 | .{ .@"0:", .p_, .xor, .tmp1x, .tmp1x, ._, ._ }, |
| 10825 | .{ ._, ._dqa, .mov, .tmp2x, .memia(.src1x, .tmp0, .add_unaligned_size), ._, ._ }, | 10940 | .{ ._, .p_, .xor, .tmp2x, .tmp2x, ._, ._ }, |
| 10941 | .{ ._, .p_w, .insr, .tmp1x, .memia(.src0w, .tmp0, .add_unaligned_size), .ui(0), ._ }, | ||
| 10942 | .{ ._, .p_w, .insr, .tmp2x, .memia(.src1w, .tmp0, .add_unaligned_size), .ui(0), ._ }, | ||
| 10826 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, | 10943 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, |
| 10827 | .{ ._, ._, .call, .tmp4d, ._, ._, ._ }, | 10944 | .{ ._, .p_w, .extr, .tmp4d, .tmp1x, .ui(0), ._ }, |
| 10828 | .{ ._, ._dqa, .mov, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ }, | 10945 | .{ ._, ._, .mov, .memia(.dst0w, .tmp0, .add_unaligned_size), .tmp4w, ._, ._ }, |
| 10829 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, | 10946 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, |
| 10830 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 10947 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 10831 | } }, | 10948 | } }, |
| 10832 | }, .{ | 10949 | }, .{ |
| 10833 | .required_features = .{ .sse, null, null, null }, | 10950 | .required_features = .{ .sse, null, null, null }, |
| 10834 | .src_constraints = .{ | 10951 | .src_constraints = .{ |
| 10835 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, | 10952 | .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, |
| 10836 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, | 10953 | .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, |
| 10837 | .any, | 10954 | .any, |
| 10838 | }, | 10955 | }, |
| 10839 | .patterns = &.{ | 10956 | .patterns = &.{ |
| ... | @@ -10842,11 +10959,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -10842,11 +10959,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 10842 | .call_frame = .{ .alignment = .@"16" }, | 10959 | .call_frame = .{ .alignment = .@"16" }, |
| 10843 | .extra_temps = .{ | 10960 | .extra_temps = .{ |
| 10844 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 10961 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 10845 | .{ .type = .f128, .kind = .{ .reg = .xmm0 } }, | 10962 | .{ .type = .f16, .kind = .{ .reg = .ax } }, |
| 10846 | .{ .type = .f128, .kind = .{ .reg = .xmm1 } }, | 10963 | .{ .type = .f32, .kind = .mem }, |
| 10847 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__divtf3" } } }, | 10964 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, |
| 10848 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "truncq" } } }, | 10965 | .{ .type = .f16, .kind = .{ .reg = .xmm1 } }, |
| 10849 | .unused, | 10966 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__mulhf3" } } }, |
| 10850 | .unused, | 10967 | .unused, |
| 10851 | .unused, | 10968 | .unused, |
| 10852 | .unused, | 10969 | .unused, |
| ... | @@ -10857,21 +10974,2595 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -10857,21 +10974,2595 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 10857 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 10974 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 10858 | .each = .{ .once = &.{ | 10975 | .each = .{ .once = &.{ |
| 10859 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 10976 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, |
| 10860 | .{ .@"0:", ._ps, .mova, .tmp1x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ }, | 10977 | .{ .@"0:", ._, .movzx, .tmp1d, .memia(.src0w, .tmp0, .add_unaligned_size), ._, ._ }, |
| 10861 | .{ ._, ._ps, .mova, .tmp2x, .memia(.src1x, .tmp0, .add_unaligned_size), ._, ._ }, | 10978 | .{ ._, ._, .mov, .mem(.tmp2d), .tmp1d, ._, ._ }, |
| 10862 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, | 10979 | .{ ._, ._ss, .mov, .tmp3x, .mem(.tmp2d), ._, ._ }, |
| 10863 | .{ ._, ._, .call, .tmp4d, ._, ._, ._ }, | 10980 | .{ ._, ._, .movzx, .tmp1d, .memia(.src1w, .tmp0, .add_unaligned_size), ._, ._ }, |
| 10864 | .{ ._, ._ps, .mova, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ }, | 10981 | .{ ._, ._, .mov, .mem(.tmp2d), .tmp1d, ._, ._ }, |
| 10865 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, | 10982 | .{ ._, ._ss, .mov, .tmp4x, .mem(.tmp2d), ._, ._ }, |
| 10983 | .{ ._, ._, .call, .tmp5d, ._, ._, ._ }, | ||
| 10984 | .{ ._, ._ss, .mov, .mem(.tmp2d), .tmp3x, ._, ._ }, | ||
| 10985 | .{ ._, ._, .mov, .tmp1d, .mem(.tmp2d), ._, ._ }, | ||
| 10986 | .{ ._, ._, .mov, .memia(.dst0w, .tmp0, .add_unaligned_size), .tmp1w, ._, ._ }, | ||
| 10987 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, | ||
| 10866 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 10988 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 10867 | } }, | 10989 | } }, |
| 10868 | } }) else err: { | 10990 | }, .{ |
| 10869 | res[0] = ops[0].divTruncInts(&ops[1], cg) catch |err| break :err err; | 10991 | .required_features = .{ .avx, null, null, null }, |
| 10870 | }) catch |err| switch (err) { | 10992 | .src_constraints = .{ |
| 10871 | error.SelectFailed => return cg.fail("failed to select {s} {} {} {}", .{ | 10993 | .{ .scalar_float = .{ .of = .dword, .is = .dword } }, |
| 10872 | @tagName(air_tag), | 10994 | .{ .scalar_float = .{ .of = .dword, .is = .dword } }, |
| 10873 | ty.fmt(pt), | 10995 | .any, |
| 10874 | ops[0].tracking(cg), | 10996 | }, |
| 10997 | .patterns = &.{ | ||
| 10998 | .{ .src = .{ .to_sse, .mem, .none } }, | ||
| 10999 | .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } }, | ||
| 11000 | .{ .src = .{ .to_sse, .to_sse, .none } }, | ||
| 11001 | }, | ||
| 11002 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, | ||
| 11003 | .each = .{ .once = &.{ | ||
| 11004 | .{ ._, .v_ss, .mul, .dst0x, .src0x, .src1d, ._ }, | ||
| 11005 | } }, | ||
| 11006 | }, .{ | ||
| 11007 | .required_features = .{ .sse, null, null, null }, | ||
| 11008 | .src_constraints = .{ | ||
| 11009 | .{ .scalar_float = .{ .of = .dword, .is = .dword } }, | ||
| 11010 | .{ .scalar_float = .{ .of = .dword, .is = .dword } }, | ||
| 11011 | .any, | ||
| 11012 | }, | ||
| 11013 | .patterns = &.{ | ||
| 11014 | .{ .src = .{ .to_mut_sse, .mem, .none } }, | ||
| 11015 | .{ .src = .{ .mem, .to_mut_sse, .none }, .commute = .{ 0, 1 } }, | ||
| 11016 | .{ .src = .{ .to_mut_sse, .to_sse, .none } }, | ||
| 11017 | }, | ||
| 11018 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, | ||
| 11019 | .each = .{ .once = &.{ | ||
| 11020 | .{ ._, ._ss, .mul, .dst0x, .src1d, ._, ._ }, | ||
| 11021 | } }, | ||
| 11022 | }, .{ | ||
| 11023 | .required_features = .{ .avx, null, null, null }, | ||
| 11024 | .src_constraints = .{ | ||
| 11025 | .{ .scalar_float = .{ .of = .xword, .is = .dword } }, | ||
| 11026 | .{ .scalar_float = .{ .of = .xword, .is = .dword } }, | ||
| 11027 | .any, | ||
| 11028 | }, | ||
| 11029 | .patterns = &.{ | ||
| 11030 | .{ .src = .{ .to_sse, .mem, .none } }, | ||
| 11031 | .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } }, | ||
| 11032 | .{ .src = .{ .to_sse, .to_sse, .none } }, | ||
| 11033 | }, | ||
| 11034 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, | ||
| 11035 | .each = .{ .once = &.{ | ||
| 11036 | .{ ._, .v_ps, .mul, .dst0x, .src0x, .src1x, ._ }, | ||
| 11037 | } }, | ||
| 11038 | }, .{ | ||
| 11039 | .required_features = .{ .sse, null, null, null }, | ||
| 11040 | .src_constraints = .{ | ||
| 11041 | .{ .scalar_float = .{ .of = .xword, .is = .dword } }, | ||
| 11042 | .{ .scalar_float = .{ .of = .xword, .is = .dword } }, | ||
| 11043 | .any, | ||
| 11044 | }, | ||
| 11045 | .patterns = &.{ | ||
| 11046 | .{ .src = .{ .to_mut_sse, .mem, .none } }, | ||
| 11047 | .{ .src = .{ .mem, .to_mut_sse, .none }, .commute = .{ 0, 1 } }, | ||
| 11048 | .{ .src = .{ .to_mut_sse, .to_sse, .none } }, | ||
| 11049 | }, | ||
| 11050 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, | ||
| 11051 | .each = .{ .once = &.{ | ||
| 11052 | .{ ._, ._ps, .mul, .dst0x, .src1x, ._, ._ }, | ||
| 11053 | } }, | ||
| 11054 | }, .{ | ||
| 11055 | .required_features = .{ .avx, null, null, null }, | ||
| 11056 | .src_constraints = .{ | ||
| 11057 | .{ .scalar_float = .{ .of = .yword, .is = .dword } }, | ||
| 11058 | .{ .scalar_float = .{ .of = .yword, .is = .dword } }, | ||
| 11059 | .any, | ||
| 11060 | }, | ||
| 11061 | .patterns = &.{ | ||
| 11062 | .{ .src = .{ .to_sse, .mem, .none } }, | ||
| 11063 | .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } }, | ||
| 11064 | .{ .src = .{ .to_sse, .to_sse, .none } }, | ||
| 11065 | }, | ||
| 11066 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, | ||
| 11067 | .each = .{ .once = &.{ | ||
| 11068 | .{ ._, .v_ps, .mul, .dst0y, .src0y, .src1y, ._ }, | ||
| 11069 | } }, | ||
| 11070 | }, .{ | ||
| 11071 | .required_features = .{ .avx, null, null, null }, | ||
| 11072 | .src_constraints = .{ | ||
| 11073 | .{ .multiple_scalar_float = .{ .of = .yword, .is = .dword } }, | ||
| 11074 | .{ .multiple_scalar_float = .{ .of = .yword, .is = .dword } }, | ||
| 11075 | .any, | ||
| 11076 | }, | ||
| 11077 | .patterns = &.{ | ||
| 11078 | .{ .src = .{ .to_mem, .to_mem, .none } }, | ||
| 11079 | }, | ||
| 11080 | .extra_temps = .{ | ||
| 11081 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | ||
| 11082 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, | ||
| 11083 | .unused, | ||
| 11084 | .unused, | ||
| 11085 | .unused, | ||
| 11086 | .unused, | ||
| 11087 | .unused, | ||
| 11088 | .unused, | ||
| 11089 | .unused, | ||
| 11090 | .unused, | ||
| 11091 | .unused, | ||
| 11092 | }, | ||
| 11093 | .dst_temps = .{ .mem, .unused }, | ||
| 11094 | .clobbers = .{ .eflags = true }, | ||
| 11095 | .each = .{ .once = &.{ | ||
| 11096 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | ||
| 11097 | .{ .@"0:", .v_ps, .mova, .tmp1y, .memia(.src0y, .tmp0, .add_unaligned_size), ._, ._ }, | ||
| 11098 | .{ ._, .v_ps, .mul, .tmp1y, .tmp1y, .memia(.src1y, .tmp0, .add_unaligned_size), ._ }, | ||
| 11099 | .{ ._, .v_ps, .mova, .memia(.dst0y, .tmp0, .add_unaligned_size), .tmp1y, ._, ._ }, | ||
| 11100 | .{ ._, ._, .add, .tmp0p, .si(32), ._, ._ }, | ||
| 11101 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | ||
| 11102 | } }, | ||
| 11103 | }, .{ | ||
| 11104 | .required_features = .{ .sse, null, null, null }, | ||
| 11105 | .src_constraints = .{ | ||
| 11106 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .dword } }, | ||
| 11107 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .dword } }, | ||
| 11108 | .any, | ||
| 11109 | }, | ||
| 11110 | .patterns = &.{ | ||
| 11111 | .{ .src = .{ .to_mem, .to_mem, .none } }, | ||
| 11112 | }, | ||
| 11113 | .extra_temps = .{ | ||
| 11114 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | ||
| 11115 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, | ||
| 11116 | .unused, | ||
| 11117 | .unused, | ||
| 11118 | .unused, | ||
| 11119 | .unused, | ||
| 11120 | .unused, | ||
| 11121 | .unused, | ||
| 11122 | .unused, | ||
| 11123 | .unused, | ||
| 11124 | .unused, | ||
| 11125 | }, | ||
| 11126 | .dst_temps = .{ .mem, .unused }, | ||
| 11127 | .clobbers = .{ .eflags = true }, | ||
| 11128 | .each = .{ .once = &.{ | ||
| 11129 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | ||
| 11130 | .{ .@"0:", ._ps, .mova, .tmp1x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ }, | ||
| 11131 | .{ ._, ._ps, .mul, .tmp1x, .memia(.src1x, .tmp0, .add_unaligned_size), ._, ._ }, | ||
| 11132 | .{ ._, ._ps, .mova, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ }, | ||
| 11133 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, | ||
| 11134 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | ||
| 11135 | } }, | ||
| 11136 | }, .{ | ||
| 11137 | .required_features = .{ .avx, null, null, null }, | ||
| 11138 | .src_constraints = .{ | ||
| 11139 | .{ .scalar_float = .{ .of = .qword, .is = .qword } }, | ||
| 11140 | .{ .scalar_float = .{ .of = .qword, .is = .qword } }, | ||
| 11141 | .any, | ||
| 11142 | }, | ||
| 11143 | .patterns = &.{ | ||
| 11144 | .{ .src = .{ .to_sse, .mem, .none } }, | ||
| 11145 | .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } }, | ||
| 11146 | .{ .src = .{ .to_sse, .to_sse, .none } }, | ||
| 11147 | }, | ||
| 11148 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, | ||
| 11149 | .each = .{ .once = &.{ | ||
| 11150 | .{ ._, .v_sd, .mul, .dst0x, .src0x, .src1q, ._ }, | ||
| 11151 | } }, | ||
| 11152 | }, .{ | ||
| 11153 | .required_features = .{ .sse2, null, null, null }, | ||
| 11154 | .src_constraints = .{ | ||
| 11155 | .{ .scalar_float = .{ .of = .qword, .is = .qword } }, | ||
| 11156 | .{ .scalar_float = .{ .of = .qword, .is = .qword } }, | ||
| 11157 | .any, | ||
| 11158 | }, | ||
| 11159 | .patterns = &.{ | ||
| 11160 | .{ .src = .{ .to_mut_sse, .mem, .none } }, | ||
| 11161 | .{ .src = .{ .mem, .to_mut_sse, .none }, .commute = .{ 0, 1 } }, | ||
| 11162 | .{ .src = .{ .to_mut_sse, .to_sse, .none } }, | ||
| 11163 | }, | ||
| 11164 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, | ||
| 11165 | .each = .{ .once = &.{ | ||
| 11166 | .{ ._, ._sd, .mul, .dst0x, .src1q, ._, ._ }, | ||
| 11167 | } }, | ||
| 11168 | }, .{ | ||
| 11169 | .required_features = .{ .x87, null, null, null }, | ||
| 11170 | .src_constraints = .{ | ||
| 11171 | .{ .scalar_float = .{ .of = .qword, .is = .qword } }, | ||
| 11172 | .{ .scalar_float = .{ .of = .qword, .is = .qword } }, | ||
| 11173 | .any, | ||
| 11174 | }, | ||
| 11175 | .patterns = &.{ | ||
| 11176 | .{ .src = .{ .mem, .mem, .none } }, | ||
| 11177 | }, | ||
| 11178 | .extra_temps = .{ | ||
| 11179 | .{ .type = .f64, .kind = .{ .reg = .st6 } }, | ||
| 11180 | .{ .type = .f64, .kind = .{ .reg = .st7 } }, | ||
| 11181 | .unused, | ||
| 11182 | .unused, | ||
| 11183 | .unused, | ||
| 11184 | .unused, | ||
| 11185 | .unused, | ||
| 11186 | .unused, | ||
| 11187 | .unused, | ||
| 11188 | .unused, | ||
| 11189 | .unused, | ||
| 11190 | }, | ||
| 11191 | .dst_temps = .{ .mem, .unused }, | ||
| 11192 | .each = .{ .once = &.{ | ||
| 11193 | .{ ._, .f_, .ld, .src0q, ._, ._, ._ }, | ||
| 11194 | .{ ._, .f_, .mul, .src1q, ._, ._, ._ }, | ||
| 11195 | .{ ._, .f_p, .st, .dst0q, ._, ._, ._ }, | ||
| 11196 | } }, | ||
| 11197 | }, .{ | ||
| 11198 | .required_features = .{ .avx, null, null, null }, | ||
| 11199 | .src_constraints = .{ | ||
| 11200 | .{ .scalar_float = .{ .of = .xword, .is = .qword } }, | ||
| 11201 | .{ .scalar_float = .{ .of = .xword, .is = .qword } }, | ||
| 11202 | .any, | ||
| 11203 | }, | ||
| 11204 | .patterns = &.{ | ||
| 11205 | .{ .src = .{ .to_sse, .mem, .none } }, | ||
| 11206 | .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } }, | ||
| 11207 | .{ .src = .{ .to_sse, .to_sse, .none } }, | ||
| 11208 | }, | ||
| 11209 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, | ||
| 11210 | .each = .{ .once = &.{ | ||
| 11211 | .{ ._, .v_pd, .mul, .dst0x, .src0x, .src1x, ._ }, | ||
| 11212 | } }, | ||
| 11213 | }, .{ | ||
| 11214 | .required_features = .{ .sse2, null, null, null }, | ||
| 11215 | .src_constraints = .{ | ||
| 11216 | .{ .scalar_float = .{ .of = .xword, .is = .qword } }, | ||
| 11217 | .{ .scalar_float = .{ .of = .xword, .is = .qword } }, | ||
| 11218 | .any, | ||
| 11219 | }, | ||
| 11220 | .patterns = &.{ | ||
| 11221 | .{ .src = .{ .to_mut_sse, .mem, .none } }, | ||
| 11222 | .{ .src = .{ .mem, .to_mut_sse, .none }, .commute = .{ 0, 1 } }, | ||
| 11223 | .{ .src = .{ .to_mut_sse, .to_sse, .none } }, | ||
| 11224 | }, | ||
| 11225 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, | ||
| 11226 | .each = .{ .once = &.{ | ||
| 11227 | .{ ._, ._pd, .mul, .dst0x, .src1x, ._, ._ }, | ||
| 11228 | } }, | ||
| 11229 | }, .{ | ||
| 11230 | .required_features = .{ .avx, null, null, null }, | ||
| 11231 | .src_constraints = .{ | ||
| 11232 | .{ .scalar_float = .{ .of = .yword, .is = .qword } }, | ||
| 11233 | .{ .scalar_float = .{ .of = .yword, .is = .qword } }, | ||
| 11234 | .any, | ||
| 11235 | }, | ||
| 11236 | .patterns = &.{ | ||
| 11237 | .{ .src = .{ .to_sse, .mem, .none } }, | ||
| 11238 | .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } }, | ||
| 11239 | .{ .src = .{ .to_sse, .to_sse, .none } }, | ||
| 11240 | }, | ||
| 11241 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, | ||
| 11242 | .each = .{ .once = &.{ | ||
| 11243 | .{ ._, .v_pd, .mul, .dst0y, .src0y, .src1y, ._ }, | ||
| 11244 | } }, | ||
| 11245 | }, .{ | ||
| 11246 | .required_features = .{ .avx, null, null, null }, | ||
| 11247 | .src_constraints = .{ | ||
| 11248 | .{ .multiple_scalar_float = .{ .of = .yword, .is = .qword } }, | ||
| 11249 | .{ .multiple_scalar_float = .{ .of = .yword, .is = .qword } }, | ||
| 11250 | .any, | ||
| 11251 | }, | ||
| 11252 | .patterns = &.{ | ||
| 11253 | .{ .src = .{ .to_mem, .to_mem, .none } }, | ||
| 11254 | }, | ||
| 11255 | .extra_temps = .{ | ||
| 11256 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | ||
| 11257 | .{ .type = .vector_4_f64, .kind = .{ .rc = .sse } }, | ||
| 11258 | .unused, | ||
| 11259 | .unused, | ||
| 11260 | .unused, | ||
| 11261 | .unused, | ||
| 11262 | .unused, | ||
| 11263 | .unused, | ||
| 11264 | .unused, | ||
| 11265 | .unused, | ||
| 11266 | .unused, | ||
| 11267 | }, | ||
| 11268 | .dst_temps = .{ .mem, .unused }, | ||
| 11269 | .clobbers = .{ .eflags = true }, | ||
| 11270 | .each = .{ .once = &.{ | ||
| 11271 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | ||
| 11272 | .{ .@"0:", .v_pd, .mova, .tmp1y, .memia(.src0y, .tmp0, .add_unaligned_size), ._, ._ }, | ||
| 11273 | .{ ._, .v_pd, .mul, .tmp1y, .tmp1y, .memia(.src1y, .tmp0, .add_unaligned_size), ._ }, | ||
| 11274 | .{ ._, .v_pd, .mova, .memia(.dst0y, .tmp0, .add_unaligned_size), .tmp1y, ._, ._ }, | ||
| 11275 | .{ ._, ._, .add, .tmp0p, .si(32), ._, ._ }, | ||
| 11276 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | ||
| 11277 | } }, | ||
| 11278 | }, .{ | ||
| 11279 | .required_features = .{ .sse2, null, null, null }, | ||
| 11280 | .src_constraints = .{ | ||
| 11281 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .qword } }, | ||
| 11282 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .qword } }, | ||
| 11283 | .any, | ||
| 11284 | }, | ||
| 11285 | .patterns = &.{ | ||
| 11286 | .{ .src = .{ .to_mem, .to_mem, .none } }, | ||
| 11287 | }, | ||
| 11288 | .extra_temps = .{ | ||
| 11289 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | ||
| 11290 | .{ .type = .vector_2_f64, .kind = .{ .rc = .sse } }, | ||
| 11291 | .unused, | ||
| 11292 | .unused, | ||
| 11293 | .unused, | ||
| 11294 | .unused, | ||
| 11295 | .unused, | ||
| 11296 | .unused, | ||
| 11297 | .unused, | ||
| 11298 | .unused, | ||
| 11299 | .unused, | ||
| 11300 | }, | ||
| 11301 | .dst_temps = .{ .mem, .unused }, | ||
| 11302 | .clobbers = .{ .eflags = true }, | ||
| 11303 | .each = .{ .once = &.{ | ||
| 11304 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | ||
| 11305 | .{ .@"0:", ._pd, .mova, .tmp1x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ }, | ||
| 11306 | .{ ._, ._pd, .mul, .tmp1x, .memia(.src1x, .tmp0, .add_unaligned_size), ._, ._ }, | ||
| 11307 | .{ ._, ._pd, .mova, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ }, | ||
| 11308 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, | ||
| 11309 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | ||
| 11310 | } }, | ||
| 11311 | }, .{ | ||
| 11312 | .required_features = .{ .x87, null, null, null }, | ||
| 11313 | .src_constraints = .{ | ||
| 11314 | .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, | ||
| 11315 | .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, | ||
| 11316 | .any, | ||
| 11317 | }, | ||
| 11318 | .patterns = &.{ | ||
| 11319 | .{ .src = .{ .to_mem, .to_mem, .none } }, | ||
| 11320 | }, | ||
| 11321 | .extra_temps = .{ | ||
| 11322 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | ||
| 11323 | .{ .type = .f64, .kind = .{ .reg = .st6 } }, | ||
| 11324 | .{ .type = .f64, .kind = .{ .reg = .st7 } }, | ||
| 11325 | .unused, | ||
| 11326 | .unused, | ||
| 11327 | .unused, | ||
| 11328 | .unused, | ||
| 11329 | .unused, | ||
| 11330 | .unused, | ||
| 11331 | .unused, | ||
| 11332 | .unused, | ||
| 11333 | }, | ||
| 11334 | .dst_temps = .{ .mem, .unused }, | ||
| 11335 | .each = .{ .once = &.{ | ||
| 11336 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | ||
| 11337 | .{ .@"0:", .f_, .ld, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._, ._ }, | ||
| 11338 | .{ ._, .f_, .mul, .memia(.src1q, .tmp0, .add_unaligned_size), ._, ._, ._ }, | ||
| 11339 | .{ ._, .f_p, .st, .memia(.dst0q, .tmp0, .add_unaligned_size), ._, ._, ._ }, | ||
| 11340 | .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ }, | ||
| 11341 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | ||
| 11342 | } }, | ||
| 11343 | }, .{ | ||
| 11344 | .required_features = .{ .x87, null, null, null }, | ||
| 11345 | .src_constraints = .{ | ||
| 11346 | .{ .scalar_float = .{ .of = .xword, .is = .tbyte } }, | ||
| 11347 | .{ .scalar_float = .{ .of = .xword, .is = .tbyte } }, | ||
| 11348 | .any, | ||
| 11349 | }, | ||
| 11350 | .patterns = &.{ | ||
| 11351 | .{ .src = .{ .mem, .mem, .none } }, | ||
| 11352 | }, | ||
| 11353 | .extra_temps = .{ | ||
| 11354 | .{ .type = .f80, .kind = .{ .reg = .st6 } }, | ||
| 11355 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, | ||
| 11356 | .unused, | ||
| 11357 | .unused, | ||
| 11358 | .unused, | ||
| 11359 | .unused, | ||
| 11360 | .unused, | ||
| 11361 | .unused, | ||
| 11362 | .unused, | ||
| 11363 | .unused, | ||
| 11364 | .unused, | ||
| 11365 | }, | ||
| 11366 | .dst_temps = .{ .{ .rc = .x87 }, .unused }, | ||
| 11367 | .each = .{ .once = &.{ | ||
| 11368 | .{ ._, .f_, .ld, .src0t, ._, ._, ._ }, | ||
| 11369 | .{ ._, .f_, .ld, .src1t, ._, ._, ._ }, | ||
| 11370 | .{ ._, .f_p, .mul, ._, ._, ._, ._ }, | ||
| 11371 | .{ ._, .f_p, .st, .dst0t, ._, ._, ._ }, | ||
| 11372 | } }, | ||
| 11373 | }, .{ | ||
| 11374 | .required_features = .{ .x87, null, null, null }, | ||
| 11375 | .src_constraints = .{ | ||
| 11376 | .{ .scalar_float = .{ .of = .xword, .is = .tbyte } }, | ||
| 11377 | .{ .scalar_float = .{ .of = .xword, .is = .tbyte } }, | ||
| 11378 | .any, | ||
| 11379 | }, | ||
| 11380 | .patterns = &.{ | ||
| 11381 | .{ .src = .{ .to_x87, .mem, .none }, .commute = .{ 0, 1 } }, | ||
| 11382 | .{ .src = .{ .mem, .to_x87, .none } }, | ||
| 11383 | .{ .src = .{ .to_x87, .to_x87, .none } }, | ||
| 11384 | }, | ||
| 11385 | .extra_temps = .{ | ||
| 11386 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, | ||
| 11387 | .unused, | ||
| 11388 | .unused, | ||
| 11389 | .unused, | ||
| 11390 | .unused, | ||
| 11391 | .unused, | ||
| 11392 | .unused, | ||
| 11393 | .unused, | ||
| 11394 | .unused, | ||
| 11395 | .unused, | ||
| 11396 | .unused, | ||
| 11397 | }, | ||
| 11398 | .dst_temps = .{ .{ .rc = .x87 }, .unused }, | ||
| 11399 | .each = .{ .once = &.{ | ||
| 11400 | .{ ._, .f_, .ld, .src0t, ._, ._, ._ }, | ||
| 11401 | .{ ._, .f_, .mul, .tmp0t, .src1t, ._, ._ }, | ||
| 11402 | .{ ._, .f_p, .st, .dst0t, ._, ._, ._ }, | ||
| 11403 | } }, | ||
| 11404 | }, .{ | ||
| 11405 | .required_features = .{ .x87, null, null, null }, | ||
| 11406 | .src_constraints = .{ | ||
| 11407 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, | ||
| 11408 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, | ||
| 11409 | .any, | ||
| 11410 | }, | ||
| 11411 | .patterns = &.{ | ||
| 11412 | .{ .src = .{ .to_mem, .to_mem, .none } }, | ||
| 11413 | }, | ||
| 11414 | .extra_temps = .{ | ||
| 11415 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | ||
| 11416 | .{ .type = .f80, .kind = .{ .reg = .st6 } }, | ||
| 11417 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, | ||
| 11418 | .unused, | ||
| 11419 | .unused, | ||
| 11420 | .unused, | ||
| 11421 | .unused, | ||
| 11422 | .unused, | ||
| 11423 | .unused, | ||
| 11424 | .unused, | ||
| 11425 | .unused, | ||
| 11426 | }, | ||
| 11427 | .dst_temps = .{ .mem, .unused }, | ||
| 11428 | .each = .{ .once = &.{ | ||
| 11429 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | ||
| 11430 | .{ .@"0:", .f_, .ld, .memia(.src0t, .tmp0, .add_unaligned_size), ._, ._, ._ }, | ||
| 11431 | .{ ._, .f_, .ld, .memia(.src1t, .tmp0, .add_unaligned_size), ._, ._, ._ }, | ||
| 11432 | .{ ._, .f_p, .mul, ._, ._, ._, ._ }, | ||
| 11433 | .{ ._, .f_p, .st, .memia(.dst0t, .tmp0, .add_unaligned_size), ._, ._, ._ }, | ||
| 11434 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, | ||
| 11435 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | ||
| 11436 | } }, | ||
| 11437 | }, .{ | ||
| 11438 | .required_features = .{ .sse, null, null, null }, | ||
| 11439 | .src_constraints = .{ | ||
| 11440 | .{ .scalar_float = .{ .of = .xword, .is = .xword } }, | ||
| 11441 | .{ .scalar_float = .{ .of = .xword, .is = .xword } }, | ||
| 11442 | .any, | ||
| 11443 | }, | ||
| 11444 | .patterns = &.{ | ||
| 11445 | .{ .src = .{ .{ .to_reg = .xmm0 }, .{ .to_reg = .xmm1 }, .none } }, | ||
| 11446 | }, | ||
| 11447 | .call_frame = .{ .alignment = .@"16" }, | ||
| 11448 | .extra_temps = .{ | ||
| 11449 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__multf3" } } }, | ||
| 11450 | .unused, | ||
| 11451 | .unused, | ||
| 11452 | .unused, | ||
| 11453 | .unused, | ||
| 11454 | .unused, | ||
| 11455 | .unused, | ||
| 11456 | .unused, | ||
| 11457 | .unused, | ||
| 11458 | .unused, | ||
| 11459 | .unused, | ||
| 11460 | }, | ||
| 11461 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, | ||
| 11462 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | ||
| 11463 | .each = .{ .once = &.{ | ||
| 11464 | .{ ._, ._, .call, .tmp0d, ._, ._, ._ }, | ||
| 11465 | } }, | ||
| 11466 | }, .{ | ||
| 11467 | .required_features = .{ .avx, null, null, null }, | ||
| 11468 | .src_constraints = .{ | ||
| 11469 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, | ||
| 11470 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, | ||
| 11471 | .any, | ||
| 11472 | }, | ||
| 11473 | .patterns = &.{ | ||
| 11474 | .{ .src = .{ .to_mem, .to_mem, .none } }, | ||
| 11475 | }, | ||
| 11476 | .call_frame = .{ .alignment = .@"16" }, | ||
| 11477 | .extra_temps = .{ | ||
| 11478 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | ||
| 11479 | .{ .type = .f128, .kind = .{ .reg = .xmm0 } }, | ||
| 11480 | .{ .type = .f128, .kind = .{ .reg = .xmm1 } }, | ||
| 11481 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__multf3" } } }, | ||
| 11482 | .unused, | ||
| 11483 | .unused, | ||
| 11484 | .unused, | ||
| 11485 | .unused, | ||
| 11486 | .unused, | ||
| 11487 | .unused, | ||
| 11488 | .unused, | ||
| 11489 | }, | ||
| 11490 | .dst_temps = .{ .mem, .unused }, | ||
| 11491 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | ||
| 11492 | .each = .{ .once = &.{ | ||
| 11493 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | ||
| 11494 | .{ .@"0:", .v_dqa, .mov, .tmp1x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ }, | ||
| 11495 | .{ ._, .v_dqa, .mov, .tmp2x, .memia(.src1x, .tmp0, .add_unaligned_size), ._, ._ }, | ||
| 11496 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, | ||
| 11497 | .{ ._, .v_dqa, .mov, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ }, | ||
| 11498 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, | ||
| 11499 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | ||
| 11500 | } }, | ||
| 11501 | }, .{ | ||
| 11502 | .required_features = .{ .sse2, null, null, null }, | ||
| 11503 | .src_constraints = .{ | ||
| 11504 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, | ||
| 11505 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, | ||
| 11506 | .any, | ||
| 11507 | }, | ||
| 11508 | .patterns = &.{ | ||
| 11509 | .{ .src = .{ .to_mem, .to_mem, .none } }, | ||
| 11510 | }, | ||
| 11511 | .call_frame = .{ .alignment = .@"16" }, | ||
| 11512 | .extra_temps = .{ | ||
| 11513 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | ||
| 11514 | .{ .type = .f128, .kind = .{ .reg = .xmm0 } }, | ||
| 11515 | .{ .type = .f128, .kind = .{ .reg = .xmm1 } }, | ||
| 11516 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__multf3" } } }, | ||
| 11517 | .unused, | ||
| 11518 | .unused, | ||
| 11519 | .unused, | ||
| 11520 | .unused, | ||
| 11521 | .unused, | ||
| 11522 | .unused, | ||
| 11523 | .unused, | ||
| 11524 | }, | ||
| 11525 | .dst_temps = .{ .mem, .unused }, | ||
| 11526 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | ||
| 11527 | .each = .{ .once = &.{ | ||
| 11528 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | ||
| 11529 | .{ .@"0:", ._dqa, .mov, .tmp1x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ }, | ||
| 11530 | .{ ._, ._dqa, .mov, .tmp2x, .memia(.src1x, .tmp0, .add_unaligned_size), ._, ._ }, | ||
| 11531 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, | ||
| 11532 | .{ ._, ._dqa, .mov, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ }, | ||
| 11533 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, | ||
| 11534 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | ||
| 11535 | } }, | ||
| 11536 | }, .{ | ||
| 11537 | .required_features = .{ .sse, null, null, null }, | ||
| 11538 | .src_constraints = .{ | ||
| 11539 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, | ||
| 11540 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, | ||
| 11541 | .any, | ||
| 11542 | }, | ||
| 11543 | .patterns = &.{ | ||
| 11544 | .{ .src = .{ .to_mem, .to_mem, .none } }, | ||
| 11545 | }, | ||
| 11546 | .call_frame = .{ .alignment = .@"16" }, | ||
| 11547 | .extra_temps = .{ | ||
| 11548 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | ||
| 11549 | .{ .type = .f128, .kind = .{ .reg = .xmm0 } }, | ||
| 11550 | .{ .type = .f128, .kind = .{ .reg = .xmm1 } }, | ||
| 11551 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__multf3" } } }, | ||
| 11552 | .unused, | ||
| 11553 | .unused, | ||
| 11554 | .unused, | ||
| 11555 | .unused, | ||
| 11556 | .unused, | ||
| 11557 | .unused, | ||
| 11558 | .unused, | ||
| 11559 | }, | ||
| 11560 | .dst_temps = .{ .mem, .unused }, | ||
| 11561 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | ||
| 11562 | .each = .{ .once = &.{ | ||
| 11563 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | ||
| 11564 | .{ .@"0:", ._ps, .mova, .tmp1x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ }, | ||
| 11565 | .{ ._, ._ps, .mova, .tmp2x, .memia(.src1x, .tmp0, .add_unaligned_size), ._, ._ }, | ||
| 11566 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, | ||
| 11567 | .{ ._, ._ps, .mova, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ }, | ||
| 11568 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, | ||
| 11569 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | ||
| 11570 | } }, | ||
| 11571 | } }) catch |err| switch (err) { | ||
| 11572 | error.SelectFailed => return cg.fail("failed to select {s} {} {} {}", .{ | ||
| 11573 | @tagName(air_tag), | ||
| 11574 | ty.fmt(pt), | ||
| 11575 | ops[0].tracking(cg), | ||
| 11576 | ops[1].tracking(cg), | ||
| 11577 | }), | ||
| 11578 | else => |e| return e, | ||
| 11579 | }; | ||
| 11580 | res[0].wrapInt(cg) catch |err| switch (err) { | ||
| 11581 | error.SelectFailed => return cg.fail("failed to select wrap {} {} {}", .{ | ||
| 11582 | cg.typeOf(bin_op.lhs).fmt(pt), | ||
| 11583 | ops[0].tracking(cg), | ||
| 11584 | ops[1].tracking(cg), | ||
| 11585 | }), | ||
| 11586 | else => |e| return e, | ||
| 11587 | }; | ||
| 11588 | try res[0].finish(inst, &.{ bin_op.lhs, bin_op.rhs }, &ops, cg); | ||
| 11589 | }, | ||
| 11590 | .div_float, .div_float_optimized, .div_exact, .div_exact_optimized => |air_tag| if (use_old) try cg.airMulDivBinOp(inst, switch (air_tag) { | ||
| 11591 | else => unreachable, | ||
| 11592 | .div_float, .div_float_optimized => .div_float, | ||
| 11593 | .div_exact, .div_exact_optimized => .div_exact, | ||
| 11594 | }) else { | ||
| 11595 | const bin_op = air_datas[@intFromEnum(inst)].bin_op; | ||
| 11596 | const ty = cg.typeOf(bin_op.lhs); | ||
| 11597 | var ops = try cg.tempsFromOperands(inst, .{ bin_op.lhs, bin_op.rhs }); | ||
| 11598 | var res: [1]Temp = undefined; | ||
| 11599 | (if (cg.floatBits(ty.scalarType(zcu))) |_| cg.select(&res, &.{ty}, &ops, comptime &.{ .{ | ||
| 11600 | .required_features = .{ .f16c, null, null, null }, | ||
| 11601 | .src_constraints = .{ | ||
| 11602 | .{ .scalar_float = .{ .of = .word, .is = .word } }, | ||
| 11603 | .{ .scalar_float = .{ .of = .word, .is = .word } }, | ||
| 11604 | .any, | ||
| 11605 | }, | ||
| 11606 | .patterns = &.{ | ||
| 11607 | .{ .src = .{ .to_sse, .to_sse, .none } }, | ||
| 11608 | }, | ||
| 11609 | .extra_temps = .{ | ||
| 11610 | .{ .type = .f32, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .sse } } }, | ||
| 11611 | .unused, | ||
| 11612 | .unused, | ||
| 11613 | .unused, | ||
| 11614 | .unused, | ||
| 11615 | .unused, | ||
| 11616 | .unused, | ||
| 11617 | .unused, | ||
| 11618 | .unused, | ||
| 11619 | .unused, | ||
| 11620 | .unused, | ||
| 11621 | }, | ||
| 11622 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, | ||
| 11623 | .each = .{ .once = &.{ | ||
| 11624 | .{ ._, .v_ps, .cvtph2, .dst0x, .src0q, ._, ._ }, | ||
| 11625 | .{ ._, .v_ps, .cvtph2, .tmp0x, .src1q, ._, ._ }, | ||
| 11626 | .{ ._, .v_ss, .div, .dst0x, .dst0x, .tmp0d, ._ }, | ||
| 11627 | .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ }, | ||
| 11628 | } }, | ||
| 11629 | }, .{ | ||
| 11630 | .required_features = .{ .sse, null, null, null }, | ||
| 11631 | .src_constraints = .{ | ||
| 11632 | .{ .scalar_float = .{ .of = .word, .is = .word } }, | ||
| 11633 | .{ .scalar_float = .{ .of = .word, .is = .word } }, | ||
| 11634 | .any, | ||
| 11635 | }, | ||
| 11636 | .patterns = &.{ | ||
| 11637 | .{ .src = .{ .{ .to_reg = .xmm0 }, .{ .to_reg = .xmm1 }, .none } }, | ||
| 11638 | }, | ||
| 11639 | .call_frame = .{ .alignment = .@"16" }, | ||
| 11640 | .extra_temps = .{ | ||
| 11641 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__divhf3" } } }, | ||
| 11642 | .unused, | ||
| 11643 | .unused, | ||
| 11644 | .unused, | ||
| 11645 | .unused, | ||
| 11646 | .unused, | ||
| 11647 | .unused, | ||
| 11648 | .unused, | ||
| 11649 | .unused, | ||
| 11650 | .unused, | ||
| 11651 | .unused, | ||
| 11652 | }, | ||
| 11653 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, | ||
| 11654 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | ||
| 11655 | .each = .{ .once = &.{ | ||
| 11656 | .{ ._, ._, .call, .tmp0d, ._, ._, ._ }, | ||
| 11657 | } }, | ||
| 11658 | }, .{ | ||
| 11659 | .required_features = .{ .f16c, null, null, null }, | ||
| 11660 | .src_constraints = .{ | ||
| 11661 | .{ .scalar_float = .{ .of = .qword, .is = .word } }, | ||
| 11662 | .{ .scalar_float = .{ .of = .qword, .is = .word } }, | ||
| 11663 | .any, | ||
| 11664 | }, | ||
| 11665 | .patterns = &.{ | ||
| 11666 | .{ .src = .{ .mem, .mem, .none } }, | ||
| 11667 | .{ .src = .{ .to_sse, .mem, .none } }, | ||
| 11668 | .{ .src = .{ .mem, .to_sse, .none } }, | ||
| 11669 | .{ .src = .{ .to_sse, .to_sse, .none } }, | ||
| 11670 | }, | ||
| 11671 | .extra_temps = .{ | ||
| 11672 | .{ .type = .vector_4_f32, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .sse } } }, | ||
| 11673 | .unused, | ||
| 11674 | .unused, | ||
| 11675 | .unused, | ||
| 11676 | .unused, | ||
| 11677 | .unused, | ||
| 11678 | .unused, | ||
| 11679 | .unused, | ||
| 11680 | .unused, | ||
| 11681 | .unused, | ||
| 11682 | .unused, | ||
| 11683 | }, | ||
| 11684 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, | ||
| 11685 | .each = .{ .once = &.{ | ||
| 11686 | .{ ._, .v_ps, .cvtph2, .dst0x, .src0q, ._, ._ }, | ||
| 11687 | .{ ._, .v_ps, .cvtph2, .tmp0x, .src1q, ._, ._ }, | ||
| 11688 | .{ ._, .v_ps, .div, .dst0x, .dst0x, .tmp0x, ._ }, | ||
| 11689 | .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ }, | ||
| 11690 | } }, | ||
| 11691 | }, .{ | ||
| 11692 | .required_features = .{ .f16c, null, null, null }, | ||
| 11693 | .src_constraints = .{ | ||
| 11694 | .{ .scalar_float = .{ .of = .xword, .is = .word } }, | ||
| 11695 | .{ .scalar_float = .{ .of = .xword, .is = .word } }, | ||
| 11696 | .any, | ||
| 11697 | }, | ||
| 11698 | .patterns = &.{ | ||
| 11699 | .{ .src = .{ .mem, .mem, .none } }, | ||
| 11700 | .{ .src = .{ .to_sse, .mem, .none } }, | ||
| 11701 | .{ .src = .{ .mem, .to_sse, .none } }, | ||
| 11702 | .{ .src = .{ .to_sse, .to_sse, .none } }, | ||
| 11703 | }, | ||
| 11704 | .extra_temps = .{ | ||
| 11705 | .{ .type = .vector_8_f32, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .sse } } }, | ||
| 11706 | .unused, | ||
| 11707 | .unused, | ||
| 11708 | .unused, | ||
| 11709 | .unused, | ||
| 11710 | .unused, | ||
| 11711 | .unused, | ||
| 11712 | .unused, | ||
| 11713 | .unused, | ||
| 11714 | .unused, | ||
| 11715 | .unused, | ||
| 11716 | }, | ||
| 11717 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, | ||
| 11718 | .each = .{ .once = &.{ | ||
| 11719 | .{ ._, .v_ps, .cvtph2, .dst0y, .src0x, ._, ._ }, | ||
| 11720 | .{ ._, .v_ps, .cvtph2, .tmp0y, .src1x, ._, ._ }, | ||
| 11721 | .{ ._, .v_ps, .div, .dst0y, .dst0y, .tmp0y, ._ }, | ||
| 11722 | .{ ._, .v_, .cvtps2ph, .dst0x, .dst0y, .rm(.{}), ._ }, | ||
| 11723 | } }, | ||
| 11724 | }, .{ | ||
| 11725 | .required_features = .{ .f16c, null, null, null }, | ||
| 11726 | .src_constraints = .{ | ||
| 11727 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .word } }, | ||
| 11728 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .word } }, | ||
| 11729 | .any, | ||
| 11730 | }, | ||
| 11731 | .patterns = &.{ | ||
| 11732 | .{ .src = .{ .to_mem, .to_mem, .none } }, | ||
| 11733 | }, | ||
| 11734 | .extra_temps = .{ | ||
| 11735 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | ||
| 11736 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, | ||
| 11737 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, | ||
| 11738 | .unused, | ||
| 11739 | .unused, | ||
| 11740 | .unused, | ||
| 11741 | .unused, | ||
| 11742 | .unused, | ||
| 11743 | .unused, | ||
| 11744 | .unused, | ||
| 11745 | .unused, | ||
| 11746 | }, | ||
| 11747 | .dst_temps = .{ .mem, .unused }, | ||
| 11748 | .clobbers = .{ .eflags = true }, | ||
| 11749 | .each = .{ .once = &.{ | ||
| 11750 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | ||
| 11751 | .{ .@"0:", .v_ps, .cvtph2, .tmp1y, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ }, | ||
| 11752 | .{ ._, .v_ps, .cvtph2, .tmp2y, .memia(.src1x, .tmp0, .add_unaligned_size), ._, ._ }, | ||
| 11753 | .{ ._, .v_ps, .div, .tmp1y, .tmp1y, .tmp2y, ._ }, | ||
| 11754 | .{ ._, .v_, .cvtps2ph, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp1y, .rm(.{}), ._ }, | ||
| 11755 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, | ||
| 11756 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | ||
| 11757 | } }, | ||
| 11758 | }, .{ | ||
| 11759 | .required_features = .{ .avx, null, null, null }, | ||
| 11760 | .src_constraints = .{ | ||
| 11761 | .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, | ||
| 11762 | .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, | ||
| 11763 | .any, | ||
| 11764 | }, | ||
| 11765 | .patterns = &.{ | ||
| 11766 | .{ .src = .{ .to_mem, .to_mem, .none } }, | ||
| 11767 | }, | ||
| 11768 | .call_frame = .{ .alignment = .@"16" }, | ||
| 11769 | .extra_temps = .{ | ||
| 11770 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | ||
| 11771 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, | ||
| 11772 | .{ .type = .f16, .kind = .{ .reg = .xmm1 } }, | ||
| 11773 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__divhf3" } } }, | ||
| 11774 | .unused, | ||
| 11775 | .unused, | ||
| 11776 | .unused, | ||
| 11777 | .unused, | ||
| 11778 | .unused, | ||
| 11779 | .unused, | ||
| 11780 | .unused, | ||
| 11781 | }, | ||
| 11782 | .dst_temps = .{ .mem, .unused }, | ||
| 11783 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | ||
| 11784 | .each = .{ .once = &.{ | ||
| 11785 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | ||
| 11786 | .{ .@"0:", .vp_, .xor, .tmp2x, .tmp2x, .tmp2x, ._ }, | ||
| 11787 | .{ ._, .vp_w, .insr, .tmp1x, .tmp2x, .memia(.src0w, .tmp0, .add_unaligned_size), .ui(0) }, | ||
| 11788 | .{ ._, .vp_w, .insr, .tmp2x, .tmp2x, .memia(.src1w, .tmp0, .add_unaligned_size), .ui(0) }, | ||
| 11789 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, | ||
| 11790 | .{ ._, .vp_w, .extr, .memia(.dst0w, .tmp0, .add_unaligned_size), .tmp1x, .ui(0), ._ }, | ||
| 11791 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, | ||
| 11792 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | ||
| 11793 | } }, | ||
| 11794 | }, .{ | ||
| 11795 | .required_features = .{ .sse4_1, null, null, null }, | ||
| 11796 | .src_constraints = .{ | ||
| 11797 | .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, | ||
| 11798 | .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, | ||
| 11799 | .any, | ||
| 11800 | }, | ||
| 11801 | .patterns = &.{ | ||
| 11802 | .{ .src = .{ .to_mem, .to_mem, .none } }, | ||
| 11803 | }, | ||
| 11804 | .call_frame = .{ .alignment = .@"16" }, | ||
| 11805 | .extra_temps = .{ | ||
| 11806 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | ||
| 11807 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, | ||
| 11808 | .{ .type = .f16, .kind = .{ .reg = .xmm1 } }, | ||
| 11809 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__divhf3" } } }, | ||
| 11810 | .unused, | ||
| 11811 | .unused, | ||
| 11812 | .unused, | ||
| 11813 | .unused, | ||
| 11814 | .unused, | ||
| 11815 | .unused, | ||
| 11816 | .unused, | ||
| 11817 | }, | ||
| 11818 | .dst_temps = .{ .mem, .unused }, | ||
| 11819 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | ||
| 11820 | .each = .{ .once = &.{ | ||
| 11821 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | ||
| 11822 | .{ .@"0:", .p_, .xor, .tmp1x, .tmp1x, ._, ._ }, | ||
| 11823 | .{ ._, .p_, .xor, .tmp2x, .tmp2x, ._, ._ }, | ||
| 11824 | .{ ._, .p_w, .insr, .tmp1x, .memia(.src0w, .tmp0, .add_unaligned_size), .ui(0), ._ }, | ||
| 11825 | .{ ._, .p_w, .insr, .tmp2x, .memia(.src1w, .tmp0, .add_unaligned_size), .ui(0), ._ }, | ||
| 11826 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, | ||
| 11827 | .{ ._, .p_w, .extr, .memia(.dst0w, .tmp0, .add_unaligned_size), .tmp1x, .ui(0), ._ }, | ||
| 11828 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, | ||
| 11829 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | ||
| 11830 | } }, | ||
| 11831 | }, .{ | ||
| 11832 | .required_features = .{ .sse2, null, null, null }, | ||
| 11833 | .src_constraints = .{ | ||
| 11834 | .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, | ||
| 11835 | .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, | ||
| 11836 | .any, | ||
| 11837 | }, | ||
| 11838 | .patterns = &.{ | ||
| 11839 | .{ .src = .{ .to_mem, .to_mem, .none } }, | ||
| 11840 | }, | ||
| 11841 | .call_frame = .{ .alignment = .@"16" }, | ||
| 11842 | .extra_temps = .{ | ||
| 11843 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | ||
| 11844 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, | ||
| 11845 | .{ .type = .f16, .kind = .{ .reg = .xmm1 } }, | ||
| 11846 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__divhf3" } } }, | ||
| 11847 | .{ .type = .f16, .kind = .{ .reg = .ax } }, | ||
| 11848 | .unused, | ||
| 11849 | .unused, | ||
| 11850 | .unused, | ||
| 11851 | .unused, | ||
| 11852 | .unused, | ||
| 11853 | .unused, | ||
| 11854 | }, | ||
| 11855 | .dst_temps = .{ .mem, .unused }, | ||
| 11856 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | ||
| 11857 | .each = .{ .once = &.{ | ||
| 11858 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | ||
| 11859 | .{ .@"0:", .p_, .xor, .tmp1x, .tmp1x, ._, ._ }, | ||
| 11860 | .{ ._, .p_, .xor, .tmp2x, .tmp2x, ._, ._ }, | ||
| 11861 | .{ ._, .p_w, .insr, .tmp1x, .memia(.src0w, .tmp0, .add_unaligned_size), .ui(0), ._ }, | ||
| 11862 | .{ ._, .p_w, .insr, .tmp2x, .memia(.src1w, .tmp0, .add_unaligned_size), .ui(0), ._ }, | ||
| 11863 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, | ||
| 11864 | .{ ._, .p_w, .extr, .tmp4d, .tmp1x, .ui(0), ._ }, | ||
| 11865 | .{ ._, ._, .mov, .memia(.dst0w, .tmp0, .add_unaligned_size), .tmp4w, ._, ._ }, | ||
| 11866 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, | ||
| 11867 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | ||
| 11868 | } }, | ||
| 11869 | }, .{ | ||
| 11870 | .required_features = .{ .sse, null, null, null }, | ||
| 11871 | .src_constraints = .{ | ||
| 11872 | .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, | ||
| 11873 | .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, | ||
| 11874 | .any, | ||
| 11875 | }, | ||
| 11876 | .patterns = &.{ | ||
| 11877 | .{ .src = .{ .to_mem, .to_mem, .none } }, | ||
| 11878 | }, | ||
| 11879 | .call_frame = .{ .alignment = .@"16" }, | ||
| 11880 | .extra_temps = .{ | ||
| 11881 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | ||
| 11882 | .{ .type = .f16, .kind = .{ .reg = .ax } }, | ||
| 11883 | .{ .type = .f32, .kind = .mem }, | ||
| 11884 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, | ||
| 11885 | .{ .type = .f16, .kind = .{ .reg = .xmm1 } }, | ||
| 11886 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__divhf3" } } }, | ||
| 11887 | .unused, | ||
| 11888 | .unused, | ||
| 11889 | .unused, | ||
| 11890 | .unused, | ||
| 11891 | .unused, | ||
| 11892 | }, | ||
| 11893 | .dst_temps = .{ .mem, .unused }, | ||
| 11894 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | ||
| 11895 | .each = .{ .once = &.{ | ||
| 11896 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | ||
| 11897 | .{ .@"0:", ._, .movzx, .tmp1d, .memia(.src0w, .tmp0, .add_unaligned_size), ._, ._ }, | ||
| 11898 | .{ ._, ._, .mov, .mem(.tmp2d), .tmp1d, ._, ._ }, | ||
| 11899 | .{ ._, ._ss, .mov, .tmp3x, .mem(.tmp2d), ._, ._ }, | ||
| 11900 | .{ ._, ._, .movzx, .tmp1d, .memia(.src1w, .tmp0, .add_unaligned_size), ._, ._ }, | ||
| 11901 | .{ ._, ._, .mov, .mem(.tmp2d), .tmp1d, ._, ._ }, | ||
| 11902 | .{ ._, ._ss, .mov, .tmp4x, .mem(.tmp2d), ._, ._ }, | ||
| 11903 | .{ ._, ._, .call, .tmp5d, ._, ._, ._ }, | ||
| 11904 | .{ ._, ._ss, .mov, .mem(.tmp2d), .tmp3x, ._, ._ }, | ||
| 11905 | .{ ._, ._, .mov, .tmp1d, .mem(.tmp2d), ._, ._ }, | ||
| 11906 | .{ ._, ._, .mov, .memia(.dst0w, .tmp0, .add_unaligned_size), .tmp1w, ._, ._ }, | ||
| 11907 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, | ||
| 11908 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | ||
| 11909 | } }, | ||
| 11910 | }, .{ | ||
| 11911 | .required_features = .{ .avx, null, null, null }, | ||
| 11912 | .src_constraints = .{ | ||
| 11913 | .{ .scalar_float = .{ .of = .dword, .is = .dword } }, | ||
| 11914 | .{ .scalar_float = .{ .of = .dword, .is = .dword } }, | ||
| 11915 | .any, | ||
| 11916 | }, | ||
| 11917 | .patterns = &.{ | ||
| 11918 | .{ .src = .{ .to_sse, .mem, .none } }, | ||
| 11919 | .{ .src = .{ .to_sse, .to_sse, .none } }, | ||
| 11920 | }, | ||
| 11921 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, | ||
| 11922 | .each = .{ .once = &.{ | ||
| 11923 | .{ ._, .v_ss, .div, .dst0x, .src0x, .src1d, ._ }, | ||
| 11924 | } }, | ||
| 11925 | }, .{ | ||
| 11926 | .required_features = .{ .sse, null, null, null }, | ||
| 11927 | .src_constraints = .{ | ||
| 11928 | .{ .scalar_float = .{ .of = .dword, .is = .dword } }, | ||
| 11929 | .{ .scalar_float = .{ .of = .dword, .is = .dword } }, | ||
| 11930 | .any, | ||
| 11931 | }, | ||
| 11932 | .patterns = &.{ | ||
| 11933 | .{ .src = .{ .to_mut_sse, .mem, .none } }, | ||
| 11934 | .{ .src = .{ .to_mut_sse, .to_sse, .none } }, | ||
| 11935 | }, | ||
| 11936 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, | ||
| 11937 | .each = .{ .once = &.{ | ||
| 11938 | .{ ._, ._ss, .div, .dst0x, .src1d, ._, ._ }, | ||
| 11939 | } }, | ||
| 11940 | }, .{ | ||
| 11941 | .required_features = .{ .avx, null, null, null }, | ||
| 11942 | .src_constraints = .{ | ||
| 11943 | .{ .scalar_float = .{ .of = .xword, .is = .dword } }, | ||
| 11944 | .{ .scalar_float = .{ .of = .xword, .is = .dword } }, | ||
| 11945 | .any, | ||
| 11946 | }, | ||
| 11947 | .patterns = &.{ | ||
| 11948 | .{ .src = .{ .to_sse, .mem, .none } }, | ||
| 11949 | .{ .src = .{ .to_sse, .to_sse, .none } }, | ||
| 11950 | }, | ||
| 11951 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, | ||
| 11952 | .each = .{ .once = &.{ | ||
| 11953 | .{ ._, .v_ps, .div, .dst0x, .src0x, .src1x, ._ }, | ||
| 11954 | } }, | ||
| 11955 | }, .{ | ||
| 11956 | .required_features = .{ .sse, null, null, null }, | ||
| 11957 | .src_constraints = .{ | ||
| 11958 | .{ .scalar_float = .{ .of = .xword, .is = .dword } }, | ||
| 11959 | .{ .scalar_float = .{ .of = .xword, .is = .dword } }, | ||
| 11960 | .any, | ||
| 11961 | }, | ||
| 11962 | .patterns = &.{ | ||
| 11963 | .{ .src = .{ .to_mut_sse, .mem, .none } }, | ||
| 11964 | .{ .src = .{ .to_mut_sse, .to_sse, .none } }, | ||
| 11965 | }, | ||
| 11966 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, | ||
| 11967 | .each = .{ .once = &.{ | ||
| 11968 | .{ ._, ._ps, .div, .dst0x, .src1x, ._, ._ }, | ||
| 11969 | } }, | ||
| 11970 | }, .{ | ||
| 11971 | .required_features = .{ .avx, null, null, null }, | ||
| 11972 | .src_constraints = .{ | ||
| 11973 | .{ .scalar_float = .{ .of = .yword, .is = .dword } }, | ||
| 11974 | .{ .scalar_float = .{ .of = .yword, .is = .dword } }, | ||
| 11975 | .any, | ||
| 11976 | }, | ||
| 11977 | .patterns = &.{ | ||
| 11978 | .{ .src = .{ .to_sse, .mem, .none } }, | ||
| 11979 | .{ .src = .{ .to_sse, .to_sse, .none } }, | ||
| 11980 | }, | ||
| 11981 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, | ||
| 11982 | .each = .{ .once = &.{ | ||
| 11983 | .{ ._, .v_ps, .div, .dst0y, .src0y, .src1y, ._ }, | ||
| 11984 | } }, | ||
| 11985 | }, .{ | ||
| 11986 | .required_features = .{ .avx, null, null, null }, | ||
| 11987 | .src_constraints = .{ | ||
| 11988 | .{ .multiple_scalar_float = .{ .of = .yword, .is = .dword } }, | ||
| 11989 | .{ .multiple_scalar_float = .{ .of = .yword, .is = .dword } }, | ||
| 11990 | .any, | ||
| 11991 | }, | ||
| 11992 | .patterns = &.{ | ||
| 11993 | .{ .src = .{ .to_mem, .to_mem, .none } }, | ||
| 11994 | }, | ||
| 11995 | .extra_temps = .{ | ||
| 11996 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | ||
| 11997 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, | ||
| 11998 | .unused, | ||
| 11999 | .unused, | ||
| 12000 | .unused, | ||
| 12001 | .unused, | ||
| 12002 | .unused, | ||
| 12003 | .unused, | ||
| 12004 | .unused, | ||
| 12005 | .unused, | ||
| 12006 | .unused, | ||
| 12007 | }, | ||
| 12008 | .dst_temps = .{ .mem, .unused }, | ||
| 12009 | .clobbers = .{ .eflags = true }, | ||
| 12010 | .each = .{ .once = &.{ | ||
| 12011 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | ||
| 12012 | .{ .@"0:", .v_ps, .mova, .tmp1y, .memia(.src0y, .tmp0, .add_unaligned_size), ._, ._ }, | ||
| 12013 | .{ ._, .v_ps, .div, .tmp1y, .tmp1y, .memia(.src1y, .tmp0, .add_unaligned_size), ._ }, | ||
| 12014 | .{ ._, .v_ps, .mova, .memia(.dst0y, .tmp0, .add_unaligned_size), .tmp1y, ._, ._ }, | ||
| 12015 | .{ ._, ._, .add, .tmp0p, .si(32), ._, ._ }, | ||
| 12016 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | ||
| 12017 | } }, | ||
| 12018 | }, .{ | ||
| 12019 | .required_features = .{ .sse, null, null, null }, | ||
| 12020 | .src_constraints = .{ | ||
| 12021 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .dword } }, | ||
| 12022 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .dword } }, | ||
| 12023 | .any, | ||
| 12024 | }, | ||
| 12025 | .patterns = &.{ | ||
| 12026 | .{ .src = .{ .to_mem, .to_mem, .none } }, | ||
| 12027 | }, | ||
| 12028 | .extra_temps = .{ | ||
| 12029 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | ||
| 12030 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, | ||
| 12031 | .unused, | ||
| 12032 | .unused, | ||
| 12033 | .unused, | ||
| 12034 | .unused, | ||
| 12035 | .unused, | ||
| 12036 | .unused, | ||
| 12037 | .unused, | ||
| 12038 | .unused, | ||
| 12039 | .unused, | ||
| 12040 | }, | ||
| 12041 | .dst_temps = .{ .mem, .unused }, | ||
| 12042 | .clobbers = .{ .eflags = true }, | ||
| 12043 | .each = .{ .once = &.{ | ||
| 12044 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | ||
| 12045 | .{ .@"0:", ._ps, .mova, .tmp1x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ }, | ||
| 12046 | .{ ._, ._ps, .div, .tmp1x, .memia(.src1x, .tmp0, .add_unaligned_size), ._, ._ }, | ||
| 12047 | .{ ._, ._ps, .mova, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ }, | ||
| 12048 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, | ||
| 12049 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | ||
| 12050 | } }, | ||
| 12051 | }, .{ | ||
| 12052 | .required_features = .{ .avx, null, null, null }, | ||
| 12053 | .src_constraints = .{ | ||
| 12054 | .{ .scalar_float = .{ .of = .qword, .is = .qword } }, | ||
| 12055 | .{ .scalar_float = .{ .of = .qword, .is = .qword } }, | ||
| 12056 | .any, | ||
| 12057 | }, | ||
| 12058 | .patterns = &.{ | ||
| 12059 | .{ .src = .{ .to_sse, .mem, .none } }, | ||
| 12060 | .{ .src = .{ .to_sse, .to_sse, .none } }, | ||
| 12061 | }, | ||
| 12062 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, | ||
| 12063 | .each = .{ .once = &.{ | ||
| 12064 | .{ ._, .v_sd, .div, .dst0x, .src0x, .src1q, ._ }, | ||
| 12065 | } }, | ||
| 12066 | }, .{ | ||
| 12067 | .required_features = .{ .sse2, null, null, null }, | ||
| 12068 | .src_constraints = .{ | ||
| 12069 | .{ .scalar_float = .{ .of = .qword, .is = .qword } }, | ||
| 12070 | .{ .scalar_float = .{ .of = .qword, .is = .qword } }, | ||
| 12071 | .any, | ||
| 12072 | }, | ||
| 12073 | .patterns = &.{ | ||
| 12074 | .{ .src = .{ .to_mut_sse, .mem, .none } }, | ||
| 12075 | .{ .src = .{ .to_mut_sse, .to_sse, .none } }, | ||
| 12076 | }, | ||
| 12077 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, | ||
| 12078 | .each = .{ .once = &.{ | ||
| 12079 | .{ ._, ._sd, .div, .dst0x, .src1q, ._, ._ }, | ||
| 12080 | } }, | ||
| 12081 | }, .{ | ||
| 12082 | .required_features = .{ .x87, null, null, null }, | ||
| 12083 | .src_constraints = .{ | ||
| 12084 | .{ .scalar_float = .{ .of = .qword, .is = .qword } }, | ||
| 12085 | .{ .scalar_float = .{ .of = .qword, .is = .qword } }, | ||
| 12086 | .any, | ||
| 12087 | }, | ||
| 12088 | .patterns = &.{ | ||
| 12089 | .{ .src = .{ .mem, .mem, .none } }, | ||
| 12090 | }, | ||
| 12091 | .extra_temps = .{ | ||
| 12092 | .{ .type = .f64, .kind = .{ .reg = .st6 } }, | ||
| 12093 | .{ .type = .f64, .kind = .{ .reg = .st7 } }, | ||
| 12094 | .unused, | ||
| 12095 | .unused, | ||
| 12096 | .unused, | ||
| 12097 | .unused, | ||
| 12098 | .unused, | ||
| 12099 | .unused, | ||
| 12100 | .unused, | ||
| 12101 | .unused, | ||
| 12102 | .unused, | ||
| 12103 | }, | ||
| 12104 | .dst_temps = .{ .mem, .unused }, | ||
| 12105 | .each = .{ .once = &.{ | ||
| 12106 | .{ ._, .f_, .ld, .src0q, ._, ._, ._ }, | ||
| 12107 | .{ ._, .f_, .div, .src1q, ._, ._, ._ }, | ||
| 12108 | .{ ._, .f_p, .st, .dst0q, ._, ._, ._ }, | ||
| 12109 | } }, | ||
| 12110 | }, .{ | ||
| 12111 | .required_features = .{ .avx, null, null, null }, | ||
| 12112 | .src_constraints = .{ | ||
| 12113 | .{ .scalar_float = .{ .of = .xword, .is = .qword } }, | ||
| 12114 | .{ .scalar_float = .{ .of = .xword, .is = .qword } }, | ||
| 12115 | .any, | ||
| 12116 | }, | ||
| 12117 | .patterns = &.{ | ||
| 12118 | .{ .src = .{ .to_sse, .mem, .none } }, | ||
| 12119 | .{ .src = .{ .to_sse, .to_sse, .none } }, | ||
| 12120 | }, | ||
| 12121 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, | ||
| 12122 | .each = .{ .once = &.{ | ||
| 12123 | .{ ._, .v_pd, .div, .dst0x, .src0x, .src1x, ._ }, | ||
| 12124 | } }, | ||
| 12125 | }, .{ | ||
| 12126 | .required_features = .{ .sse2, null, null, null }, | ||
| 12127 | .src_constraints = .{ | ||
| 12128 | .{ .scalar_float = .{ .of = .xword, .is = .qword } }, | ||
| 12129 | .{ .scalar_float = .{ .of = .xword, .is = .qword } }, | ||
| 12130 | .any, | ||
| 12131 | }, | ||
| 12132 | .patterns = &.{ | ||
| 12133 | .{ .src = .{ .to_mut_sse, .mem, .none } }, | ||
| 12134 | .{ .src = .{ .to_mut_sse, .to_sse, .none } }, | ||
| 12135 | }, | ||
| 12136 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, | ||
| 12137 | .each = .{ .once = &.{ | ||
| 12138 | .{ ._, ._pd, .div, .dst0x, .src1x, ._, ._ }, | ||
| 12139 | } }, | ||
| 12140 | }, .{ | ||
| 12141 | .required_features = .{ .avx, null, null, null }, | ||
| 12142 | .src_constraints = .{ | ||
| 12143 | .{ .scalar_float = .{ .of = .yword, .is = .qword } }, | ||
| 12144 | .{ .scalar_float = .{ .of = .yword, .is = .qword } }, | ||
| 12145 | .any, | ||
| 12146 | }, | ||
| 12147 | .patterns = &.{ | ||
| 12148 | .{ .src = .{ .to_sse, .mem, .none } }, | ||
| 12149 | .{ .src = .{ .to_sse, .to_sse, .none } }, | ||
| 12150 | }, | ||
| 12151 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, | ||
| 12152 | .each = .{ .once = &.{ | ||
| 12153 | .{ ._, .v_pd, .div, .dst0y, .src0y, .src1y, ._ }, | ||
| 12154 | } }, | ||
| 12155 | }, .{ | ||
| 12156 | .required_features = .{ .avx, null, null, null }, | ||
| 12157 | .src_constraints = .{ | ||
| 12158 | .{ .multiple_scalar_float = .{ .of = .yword, .is = .qword } }, | ||
| 12159 | .{ .multiple_scalar_float = .{ .of = .yword, .is = .qword } }, | ||
| 12160 | .any, | ||
| 12161 | }, | ||
| 12162 | .patterns = &.{ | ||
| 12163 | .{ .src = .{ .to_mem, .to_mem, .none } }, | ||
| 12164 | }, | ||
| 12165 | .extra_temps = .{ | ||
| 12166 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | ||
| 12167 | .{ .type = .vector_4_f64, .kind = .{ .rc = .sse } }, | ||
| 12168 | .unused, | ||
| 12169 | .unused, | ||
| 12170 | .unused, | ||
| 12171 | .unused, | ||
| 12172 | .unused, | ||
| 12173 | .unused, | ||
| 12174 | .unused, | ||
| 12175 | .unused, | ||
| 12176 | .unused, | ||
| 12177 | }, | ||
| 12178 | .dst_temps = .{ .mem, .unused }, | ||
| 12179 | .clobbers = .{ .eflags = true }, | ||
| 12180 | .each = .{ .once = &.{ | ||
| 12181 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | ||
| 12182 | .{ .@"0:", .v_pd, .mova, .tmp1y, .memia(.src0y, .tmp0, .add_unaligned_size), ._, ._ }, | ||
| 12183 | .{ ._, .v_pd, .div, .tmp1y, .tmp1y, .memia(.src1y, .tmp0, .add_unaligned_size), ._ }, | ||
| 12184 | .{ ._, .v_pd, .mova, .memia(.dst0y, .tmp0, .add_unaligned_size), .tmp1y, ._, ._ }, | ||
| 12185 | .{ ._, ._, .add, .tmp0p, .si(32), ._, ._ }, | ||
| 12186 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | ||
| 12187 | } }, | ||
| 12188 | }, .{ | ||
| 12189 | .required_features = .{ .sse2, null, null, null }, | ||
| 12190 | .src_constraints = .{ | ||
| 12191 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .qword } }, | ||
| 12192 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .qword } }, | ||
| 12193 | .any, | ||
| 12194 | }, | ||
| 12195 | .patterns = &.{ | ||
| 12196 | .{ .src = .{ .to_mem, .to_mem, .none } }, | ||
| 12197 | }, | ||
| 12198 | .extra_temps = .{ | ||
| 12199 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | ||
| 12200 | .{ .type = .vector_2_f64, .kind = .{ .rc = .sse } }, | ||
| 12201 | .unused, | ||
| 12202 | .unused, | ||
| 12203 | .unused, | ||
| 12204 | .unused, | ||
| 12205 | .unused, | ||
| 12206 | .unused, | ||
| 12207 | .unused, | ||
| 12208 | .unused, | ||
| 12209 | .unused, | ||
| 12210 | }, | ||
| 12211 | .dst_temps = .{ .mem, .unused }, | ||
| 12212 | .clobbers = .{ .eflags = true }, | ||
| 12213 | .each = .{ .once = &.{ | ||
| 12214 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | ||
| 12215 | .{ .@"0:", ._pd, .mova, .tmp1x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ }, | ||
| 12216 | .{ ._, ._pd, .div, .tmp1x, .memia(.src1x, .tmp0, .add_unaligned_size), ._, ._ }, | ||
| 12217 | .{ ._, ._pd, .mova, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ }, | ||
| 12218 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, | ||
| 12219 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | ||
| 12220 | } }, | ||
| 12221 | }, .{ | ||
| 12222 | .required_features = .{ .x87, null, null, null }, | ||
| 12223 | .src_constraints = .{ | ||
| 12224 | .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, | ||
| 12225 | .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, | ||
| 12226 | .any, | ||
| 12227 | }, | ||
| 12228 | .patterns = &.{ | ||
| 12229 | .{ .src = .{ .to_mem, .to_mem, .none } }, | ||
| 12230 | }, | ||
| 12231 | .extra_temps = .{ | ||
| 12232 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | ||
| 12233 | .{ .type = .f64, .kind = .{ .reg = .st6 } }, | ||
| 12234 | .{ .type = .f64, .kind = .{ .reg = .st7 } }, | ||
| 12235 | .unused, | ||
| 12236 | .unused, | ||
| 12237 | .unused, | ||
| 12238 | .unused, | ||
| 12239 | .unused, | ||
| 12240 | .unused, | ||
| 12241 | .unused, | ||
| 12242 | .unused, | ||
| 12243 | }, | ||
| 12244 | .dst_temps = .{ .mem, .unused }, | ||
| 12245 | .each = .{ .once = &.{ | ||
| 12246 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | ||
| 12247 | .{ .@"0:", .f_, .ld, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._, ._ }, | ||
| 12248 | .{ ._, .f_, .div, .memia(.src1q, .tmp0, .add_unaligned_size), ._, ._, ._ }, | ||
| 12249 | .{ ._, .f_p, .st, .memia(.dst0q, .tmp0, .add_unaligned_size), ._, ._, ._ }, | ||
| 12250 | .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ }, | ||
| 12251 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | ||
| 12252 | } }, | ||
| 12253 | }, .{ | ||
| 12254 | .required_features = .{ .x87, null, null, null }, | ||
| 12255 | .src_constraints = .{ | ||
| 12256 | .{ .scalar_float = .{ .of = .xword, .is = .tbyte } }, | ||
| 12257 | .{ .scalar_float = .{ .of = .xword, .is = .tbyte } }, | ||
| 12258 | .any, | ||
| 12259 | }, | ||
| 12260 | .patterns = &.{ | ||
| 12261 | .{ .src = .{ .mem, .mem, .none } }, | ||
| 12262 | }, | ||
| 12263 | .extra_temps = .{ | ||
| 12264 | .{ .type = .f80, .kind = .{ .reg = .st6 } }, | ||
| 12265 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, | ||
| 12266 | .unused, | ||
| 12267 | .unused, | ||
| 12268 | .unused, | ||
| 12269 | .unused, | ||
| 12270 | .unused, | ||
| 12271 | .unused, | ||
| 12272 | .unused, | ||
| 12273 | .unused, | ||
| 12274 | .unused, | ||
| 12275 | }, | ||
| 12276 | .dst_temps = .{ .{ .rc = .x87 }, .unused }, | ||
| 12277 | .each = .{ .once = &.{ | ||
| 12278 | .{ ._, .f_, .ld, .src0t, ._, ._, ._ }, | ||
| 12279 | .{ ._, .f_, .ld, .src1t, ._, ._, ._ }, | ||
| 12280 | .{ ._, .f_p, .div, ._, ._, ._, ._ }, | ||
| 12281 | .{ ._, .f_p, .st, .dst0t, ._, ._, ._ }, | ||
| 12282 | } }, | ||
| 12283 | }, .{ | ||
| 12284 | .required_features = .{ .x87, null, null, null }, | ||
| 12285 | .src_constraints = .{ | ||
| 12286 | .{ .scalar_float = .{ .of = .xword, .is = .tbyte } }, | ||
| 12287 | .{ .scalar_float = .{ .of = .xword, .is = .tbyte } }, | ||
| 12288 | .any, | ||
| 12289 | }, | ||
| 12290 | .patterns = &.{ | ||
| 12291 | .{ .src = .{ .to_x87, .mem, .none }, .commute = .{ 0, 1 } }, | ||
| 12292 | }, | ||
| 12293 | .extra_temps = .{ | ||
| 12294 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, | ||
| 12295 | .unused, | ||
| 12296 | .unused, | ||
| 12297 | .unused, | ||
| 12298 | .unused, | ||
| 12299 | .unused, | ||
| 12300 | .unused, | ||
| 12301 | .unused, | ||
| 12302 | .unused, | ||
| 12303 | .unused, | ||
| 12304 | .unused, | ||
| 12305 | }, | ||
| 12306 | .dst_temps = .{ .{ .rc = .x87 }, .unused }, | ||
| 12307 | .each = .{ .once = &.{ | ||
| 12308 | .{ ._, .f_, .ld, .src0t, ._, ._, ._ }, | ||
| 12309 | .{ ._, .f_, .divr, .tmp0t, .src1t, ._, ._ }, | ||
| 12310 | .{ ._, .f_p, .st, .dst0t, ._, ._, ._ }, | ||
| 12311 | } }, | ||
| 12312 | }, .{ | ||
| 12313 | .required_features = .{ .x87, null, null, null }, | ||
| 12314 | .src_constraints = .{ | ||
| 12315 | .{ .scalar_float = .{ .of = .xword, .is = .tbyte } }, | ||
| 12316 | .{ .scalar_float = .{ .of = .xword, .is = .tbyte } }, | ||
| 12317 | .any, | ||
| 12318 | }, | ||
| 12319 | .patterns = &.{ | ||
| 12320 | .{ .src = .{ .mem, .to_x87, .none } }, | ||
| 12321 | .{ .src = .{ .to_x87, .to_x87, .none } }, | ||
| 12322 | }, | ||
| 12323 | .extra_temps = .{ | ||
| 12324 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, | ||
| 12325 | .unused, | ||
| 12326 | .unused, | ||
| 12327 | .unused, | ||
| 12328 | .unused, | ||
| 12329 | .unused, | ||
| 12330 | .unused, | ||
| 12331 | .unused, | ||
| 12332 | .unused, | ||
| 12333 | .unused, | ||
| 12334 | .unused, | ||
| 12335 | }, | ||
| 12336 | .dst_temps = .{ .{ .rc = .x87 }, .unused }, | ||
| 12337 | .each = .{ .once = &.{ | ||
| 12338 | .{ ._, .f_, .ld, .src0t, ._, ._, ._ }, | ||
| 12339 | .{ ._, .f_, .div, .tmp0t, .src1t, ._, ._ }, | ||
| 12340 | .{ ._, .f_p, .st, .dst0t, ._, ._, ._ }, | ||
| 12341 | } }, | ||
| 12342 | }, .{ | ||
| 12343 | .required_features = .{ .x87, null, null, null }, | ||
| 12344 | .src_constraints = .{ | ||
| 12345 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, | ||
| 12346 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, | ||
| 12347 | .any, | ||
| 12348 | }, | ||
| 12349 | .patterns = &.{ | ||
| 12350 | .{ .src = .{ .to_mem, .to_mem, .none } }, | ||
| 12351 | }, | ||
| 12352 | .extra_temps = .{ | ||
| 12353 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | ||
| 12354 | .{ .type = .f80, .kind = .{ .reg = .st6 } }, | ||
| 12355 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, | ||
| 12356 | .unused, | ||
| 12357 | .unused, | ||
| 12358 | .unused, | ||
| 12359 | .unused, | ||
| 12360 | .unused, | ||
| 12361 | .unused, | ||
| 12362 | .unused, | ||
| 12363 | .unused, | ||
| 12364 | }, | ||
| 12365 | .dst_temps = .{ .mem, .unused }, | ||
| 12366 | .each = .{ .once = &.{ | ||
| 12367 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | ||
| 12368 | .{ .@"0:", .f_, .ld, .memia(.src0t, .tmp0, .add_unaligned_size), ._, ._, ._ }, | ||
| 12369 | .{ ._, .f_, .ld, .memia(.src1t, .tmp0, .add_unaligned_size), ._, ._, ._ }, | ||
| 12370 | .{ ._, .f_p, .div, ._, ._, ._, ._ }, | ||
| 12371 | .{ ._, .f_p, .st, .memia(.dst0t, .tmp0, .add_unaligned_size), ._, ._, ._ }, | ||
| 12372 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, | ||
| 12373 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | ||
| 12374 | } }, | ||
| 12375 | }, .{ | ||
| 12376 | .required_features = .{ .sse, null, null, null }, | ||
| 12377 | .src_constraints = .{ | ||
| 12378 | .{ .scalar_float = .{ .of = .xword, .is = .xword } }, | ||
| 12379 | .{ .scalar_float = .{ .of = .xword, .is = .xword } }, | ||
| 12380 | .any, | ||
| 12381 | }, | ||
| 12382 | .patterns = &.{ | ||
| 12383 | .{ .src = .{ .{ .to_reg = .xmm0 }, .{ .to_reg = .xmm1 }, .none } }, | ||
| 12384 | }, | ||
| 12385 | .call_frame = .{ .alignment = .@"16" }, | ||
| 12386 | .extra_temps = .{ | ||
| 12387 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__divtf3" } } }, | ||
| 12388 | .unused, | ||
| 12389 | .unused, | ||
| 12390 | .unused, | ||
| 12391 | .unused, | ||
| 12392 | .unused, | ||
| 12393 | .unused, | ||
| 12394 | .unused, | ||
| 12395 | .unused, | ||
| 12396 | .unused, | ||
| 12397 | .unused, | ||
| 12398 | }, | ||
| 12399 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, | ||
| 12400 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | ||
| 12401 | .each = .{ .once = &.{ | ||
| 12402 | .{ ._, ._, .call, .tmp0d, ._, ._, ._ }, | ||
| 12403 | } }, | ||
| 12404 | }, .{ | ||
| 12405 | .required_features = .{ .avx, null, null, null }, | ||
| 12406 | .src_constraints = .{ | ||
| 12407 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, | ||
| 12408 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, | ||
| 12409 | .any, | ||
| 12410 | }, | ||
| 12411 | .patterns = &.{ | ||
| 12412 | .{ .src = .{ .to_mem, .to_mem, .none } }, | ||
| 12413 | }, | ||
| 12414 | .call_frame = .{ .alignment = .@"16" }, | ||
| 12415 | .extra_temps = .{ | ||
| 12416 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | ||
| 12417 | .{ .type = .f128, .kind = .{ .reg = .xmm0 } }, | ||
| 12418 | .{ .type = .f128, .kind = .{ .reg = .xmm1 } }, | ||
| 12419 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__divtf3" } } }, | ||
| 12420 | .unused, | ||
| 12421 | .unused, | ||
| 12422 | .unused, | ||
| 12423 | .unused, | ||
| 12424 | .unused, | ||
| 12425 | .unused, | ||
| 12426 | .unused, | ||
| 12427 | }, | ||
| 12428 | .dst_temps = .{ .mem, .unused }, | ||
| 12429 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | ||
| 12430 | .each = .{ .once = &.{ | ||
| 12431 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | ||
| 12432 | .{ .@"0:", .v_dqa, .mov, .tmp1x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ }, | ||
| 12433 | .{ ._, .v_dqa, .mov, .tmp2x, .memia(.src1x, .tmp0, .add_unaligned_size), ._, ._ }, | ||
| 12434 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, | ||
| 12435 | .{ ._, .v_dqa, .mov, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ }, | ||
| 12436 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, | ||
| 12437 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | ||
| 12438 | } }, | ||
| 12439 | }, .{ | ||
| 12440 | .required_features = .{ .sse2, null, null, null }, | ||
| 12441 | .src_constraints = .{ | ||
| 12442 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, | ||
| 12443 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, | ||
| 12444 | .any, | ||
| 12445 | }, | ||
| 12446 | .patterns = &.{ | ||
| 12447 | .{ .src = .{ .to_mem, .to_mem, .none } }, | ||
| 12448 | }, | ||
| 12449 | .call_frame = .{ .alignment = .@"16" }, | ||
| 12450 | .extra_temps = .{ | ||
| 12451 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | ||
| 12452 | .{ .type = .f128, .kind = .{ .reg = .xmm0 } }, | ||
| 12453 | .{ .type = .f128, .kind = .{ .reg = .xmm1 } }, | ||
| 12454 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__divtf3" } } }, | ||
| 12455 | .unused, | ||
| 12456 | .unused, | ||
| 12457 | .unused, | ||
| 12458 | .unused, | ||
| 12459 | .unused, | ||
| 12460 | .unused, | ||
| 12461 | .unused, | ||
| 12462 | }, | ||
| 12463 | .dst_temps = .{ .mem, .unused }, | ||
| 12464 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | ||
| 12465 | .each = .{ .once = &.{ | ||
| 12466 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | ||
| 12467 | .{ .@"0:", ._dqa, .mov, .tmp1x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ }, | ||
| 12468 | .{ ._, ._dqa, .mov, .tmp2x, .memia(.src1x, .tmp0, .add_unaligned_size), ._, ._ }, | ||
| 12469 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, | ||
| 12470 | .{ ._, ._dqa, .mov, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ }, | ||
| 12471 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, | ||
| 12472 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | ||
| 12473 | } }, | ||
| 12474 | }, .{ | ||
| 12475 | .required_features = .{ .sse, null, null, null }, | ||
| 12476 | .src_constraints = .{ | ||
| 12477 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, | ||
| 12478 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, | ||
| 12479 | .any, | ||
| 12480 | }, | ||
| 12481 | .patterns = &.{ | ||
| 12482 | .{ .src = .{ .to_mem, .to_mem, .none } }, | ||
| 12483 | }, | ||
| 12484 | .call_frame = .{ .alignment = .@"16" }, | ||
| 12485 | .extra_temps = .{ | ||
| 12486 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | ||
| 12487 | .{ .type = .f128, .kind = .{ .reg = .xmm0 } }, | ||
| 12488 | .{ .type = .f128, .kind = .{ .reg = .xmm1 } }, | ||
| 12489 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__divtf3" } } }, | ||
| 12490 | .unused, | ||
| 12491 | .unused, | ||
| 12492 | .unused, | ||
| 12493 | .unused, | ||
| 12494 | .unused, | ||
| 12495 | .unused, | ||
| 12496 | .unused, | ||
| 12497 | }, | ||
| 12498 | .dst_temps = .{ .mem, .unused }, | ||
| 12499 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | ||
| 12500 | .each = .{ .once = &.{ | ||
| 12501 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | ||
| 12502 | .{ .@"0:", ._ps, .mova, .tmp1x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ }, | ||
| 12503 | .{ ._, ._ps, .mova, .tmp2x, .memia(.src1x, .tmp0, .add_unaligned_size), ._, ._ }, | ||
| 12504 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, | ||
| 12505 | .{ ._, ._ps, .mova, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ }, | ||
| 12506 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, | ||
| 12507 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | ||
| 12508 | } }, | ||
| 12509 | } }) else err: { | ||
| 12510 | assert(air_tag == .div_exact); | ||
| 12511 | res[0] = ops[0].divTruncInts(&ops[1], cg) catch |err| break :err err; | ||
| 12512 | }) catch |err| switch (err) { | ||
| 12513 | error.SelectFailed => return cg.fail("failed to select {s} {} {} {}", .{ | ||
| 12514 | @tagName(air_tag), | ||
| 12515 | ty.fmt(pt), | ||
| 12516 | ops[0].tracking(cg), | ||
| 12517 | ops[1].tracking(cg), | ||
| 12518 | }), | ||
| 12519 | else => |e| return e, | ||
| 12520 | }; | ||
| 12521 | try res[0].finish(inst, &.{ bin_op.lhs, bin_op.rhs }, &ops, cg); | ||
| 12522 | }, | ||
| 12523 | .div_trunc => |air_tag| if (use_old) try cg.airMulDivBinOp(inst, air_tag) else { | ||
| 12524 | const bin_op = air_datas[@intFromEnum(inst)].bin_op; | ||
| 12525 | const ty = cg.typeOf(bin_op.lhs); | ||
| 12526 | var ops = try cg.tempsFromOperands(inst, .{ bin_op.lhs, bin_op.rhs }); | ||
| 12527 | var res: [1]Temp = undefined; | ||
| 12528 | (if (cg.floatBits(ty.scalarType(zcu))) |_| cg.select(&res, &.{ty}, &ops, comptime &.{ .{ | ||
| 12529 | .required_features = .{ .f16c, null, null, null }, | ||
| 12530 | .src_constraints = .{ | ||
| 12531 | .{ .scalar_float = .{ .of = .word, .is = .word } }, | ||
| 12532 | .{ .scalar_float = .{ .of = .word, .is = .word } }, | ||
| 12533 | .any, | ||
| 12534 | }, | ||
| 12535 | .patterns = &.{ | ||
| 12536 | .{ .src = .{ .to_sse, .to_sse, .none } }, | ||
| 12537 | }, | ||
| 12538 | .extra_temps = .{ | ||
| 12539 | .{ .type = .f32, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .sse } } }, | ||
| 12540 | .unused, | ||
| 12541 | .unused, | ||
| 12542 | .unused, | ||
| 12543 | .unused, | ||
| 12544 | .unused, | ||
| 12545 | .unused, | ||
| 12546 | .unused, | ||
| 12547 | .unused, | ||
| 12548 | .unused, | ||
| 12549 | .unused, | ||
| 12550 | }, | ||
| 12551 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, | ||
| 12552 | .each = .{ .once = &.{ | ||
| 12553 | .{ ._, .v_ps, .cvtph2, .dst0x, .src0q, ._, ._ }, | ||
| 12554 | .{ ._, .v_ps, .cvtph2, .tmp0x, .src1q, ._, ._ }, | ||
| 12555 | .{ ._, .v_ss, .div, .dst0x, .dst0x, .tmp0d, ._ }, | ||
| 12556 | .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ }, | ||
| 12557 | .{ ._, .v_ps, .cvtph2, .dst0x, .dst0q, ._, ._ }, | ||
| 12558 | .{ ._, .v_ss, .round, .dst0x, .dst0x, .dst0d, .rm(.{ .direction = .zero, .precision = .inexact }) }, | ||
| 12559 | .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ }, | ||
| 12560 | } }, | ||
| 12561 | }, .{ | ||
| 12562 | .required_features = .{ .sse, null, null, null }, | ||
| 12563 | .src_constraints = .{ | ||
| 12564 | .{ .scalar_float = .{ .of = .word, .is = .word } }, | ||
| 12565 | .{ .scalar_float = .{ .of = .word, .is = .word } }, | ||
| 12566 | .any, | ||
| 12567 | }, | ||
| 12568 | .patterns = &.{ | ||
| 12569 | .{ .src = .{ .{ .to_reg = .xmm0 }, .{ .to_reg = .xmm1 }, .none } }, | ||
| 12570 | }, | ||
| 12571 | .call_frame = .{ .alignment = .@"16" }, | ||
| 12572 | .extra_temps = .{ | ||
| 12573 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__divhf3" } } }, | ||
| 12574 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__trunch" } } }, | ||
| 12575 | .unused, | ||
| 12576 | .unused, | ||
| 12577 | .unused, | ||
| 12578 | .unused, | ||
| 12579 | .unused, | ||
| 12580 | .unused, | ||
| 12581 | .unused, | ||
| 12582 | .unused, | ||
| 12583 | .unused, | ||
| 12584 | }, | ||
| 12585 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, | ||
| 12586 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | ||
| 12587 | .each = .{ .once = &.{ | ||
| 12588 | .{ ._, ._, .call, .tmp0d, ._, ._, ._ }, | ||
| 12589 | .{ ._, ._, .call, .tmp1d, ._, ._, ._ }, | ||
| 12590 | } }, | ||
| 12591 | }, .{ | ||
| 12592 | .required_features = .{ .f16c, null, null, null }, | ||
| 12593 | .src_constraints = .{ | ||
| 12594 | .{ .scalar_float = .{ .of = .qword, .is = .word } }, | ||
| 12595 | .{ .scalar_float = .{ .of = .qword, .is = .word } }, | ||
| 12596 | .any, | ||
| 12597 | }, | ||
| 12598 | .patterns = &.{ | ||
| 12599 | .{ .src = .{ .mem, .mem, .none } }, | ||
| 12600 | .{ .src = .{ .to_sse, .mem, .none } }, | ||
| 12601 | .{ .src = .{ .mem, .to_sse, .none } }, | ||
| 12602 | .{ .src = .{ .to_sse, .to_sse, .none } }, | ||
| 12603 | }, | ||
| 12604 | .extra_temps = .{ | ||
| 12605 | .{ .type = .vector_4_f32, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .sse } } }, | ||
| 12606 | .unused, | ||
| 12607 | .unused, | ||
| 12608 | .unused, | ||
| 12609 | .unused, | ||
| 12610 | .unused, | ||
| 12611 | .unused, | ||
| 12612 | .unused, | ||
| 12613 | .unused, | ||
| 12614 | .unused, | ||
| 12615 | .unused, | ||
| 12616 | }, | ||
| 12617 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, | ||
| 12618 | .each = .{ .once = &.{ | ||
| 12619 | .{ ._, .v_ps, .cvtph2, .dst0x, .src0q, ._, ._ }, | ||
| 12620 | .{ ._, .v_ps, .cvtph2, .tmp0x, .src1q, ._, ._ }, | ||
| 12621 | .{ ._, .v_ps, .div, .dst0x, .dst0x, .tmp0x, ._ }, | ||
| 12622 | .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ }, | ||
| 12623 | .{ ._, .v_ps, .cvtph2, .dst0x, .dst0q, ._, ._ }, | ||
| 12624 | .{ ._, .v_ps, .round, .dst0x, .dst0x, .rm(.{ .direction = .zero, .precision = .inexact }), ._ }, | ||
| 12625 | .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ }, | ||
| 12626 | } }, | ||
| 12627 | }, .{ | ||
| 12628 | .required_features = .{ .f16c, null, null, null }, | ||
| 12629 | .src_constraints = .{ | ||
| 12630 | .{ .scalar_float = .{ .of = .xword, .is = .word } }, | ||
| 12631 | .{ .scalar_float = .{ .of = .xword, .is = .word } }, | ||
| 12632 | .any, | ||
| 12633 | }, | ||
| 12634 | .patterns = &.{ | ||
| 12635 | .{ .src = .{ .mem, .mem, .none } }, | ||
| 12636 | .{ .src = .{ .to_sse, .mem, .none } }, | ||
| 12637 | .{ .src = .{ .mem, .to_sse, .none } }, | ||
| 12638 | .{ .src = .{ .to_sse, .to_sse, .none } }, | ||
| 12639 | }, | ||
| 12640 | .extra_temps = .{ | ||
| 12641 | .{ .type = .vector_8_f32, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .sse } } }, | ||
| 12642 | .unused, | ||
| 12643 | .unused, | ||
| 12644 | .unused, | ||
| 12645 | .unused, | ||
| 12646 | .unused, | ||
| 12647 | .unused, | ||
| 12648 | .unused, | ||
| 12649 | .unused, | ||
| 12650 | .unused, | ||
| 12651 | .unused, | ||
| 12652 | }, | ||
| 12653 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, | ||
| 12654 | .each = .{ .once = &.{ | ||
| 12655 | .{ ._, .v_ps, .cvtph2, .dst0y, .src0x, ._, ._ }, | ||
| 12656 | .{ ._, .v_ps, .cvtph2, .tmp0y, .src1x, ._, ._ }, | ||
| 12657 | .{ ._, .v_ps, .div, .dst0y, .dst0y, .tmp0y, ._ }, | ||
| 12658 | .{ ._, .v_, .cvtps2ph, .dst0x, .dst0y, .rm(.{}), ._ }, | ||
| 12659 | .{ ._, .v_ps, .cvtph2, .dst0y, .dst0x, ._, ._ }, | ||
| 12660 | .{ ._, .v_ps, .round, .dst0y, .dst0y, .rm(.{ .direction = .zero, .precision = .inexact }), ._ }, | ||
| 12661 | .{ ._, .v_, .cvtps2ph, .dst0x, .dst0y, .rm(.{}), ._ }, | ||
| 12662 | } }, | ||
| 12663 | }, .{ | ||
| 12664 | .required_features = .{ .f16c, null, null, null }, | ||
| 12665 | .src_constraints = .{ | ||
| 12666 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .word } }, | ||
| 12667 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .word } }, | ||
| 12668 | .any, | ||
| 12669 | }, | ||
| 12670 | .patterns = &.{ | ||
| 12671 | .{ .src = .{ .to_mem, .to_mem, .none } }, | ||
| 12672 | }, | ||
| 12673 | .extra_temps = .{ | ||
| 12674 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | ||
| 12675 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, | ||
| 12676 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, | ||
| 12677 | .unused, | ||
| 12678 | .unused, | ||
| 12679 | .unused, | ||
| 12680 | .unused, | ||
| 12681 | .unused, | ||
| 12682 | .unused, | ||
| 12683 | .unused, | ||
| 12684 | .unused, | ||
| 12685 | }, | ||
| 12686 | .dst_temps = .{ .mem, .unused }, | ||
| 12687 | .clobbers = .{ .eflags = true }, | ||
| 12688 | .each = .{ .once = &.{ | ||
| 12689 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | ||
| 12690 | .{ .@"0:", .v_ps, .cvtph2, .tmp1y, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ }, | ||
| 12691 | .{ ._, .v_ps, .cvtph2, .tmp2y, .memia(.src1x, .tmp0, .add_unaligned_size), ._, ._ }, | ||
| 12692 | .{ ._, .v_ps, .div, .tmp1y, .tmp1y, .tmp2y, ._ }, | ||
| 12693 | .{ ._, .v_, .cvtps2ph, .tmp1x, .tmp1y, .rm(.{}), ._ }, | ||
| 12694 | .{ ._, .v_ps, .cvtph2, .tmp1y, .tmp1x, ._, ._ }, | ||
| 12695 | .{ ._, .v_ps, .round, .tmp1y, .tmp1y, .rm(.{ .direction = .zero, .precision = .inexact }), ._ }, | ||
| 12696 | .{ ._, .v_, .cvtps2ph, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp1y, .rm(.{}), ._ }, | ||
| 12697 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, | ||
| 12698 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | ||
| 12699 | } }, | ||
| 12700 | }, .{ | ||
| 12701 | .required_features = .{ .avx, null, null, null }, | ||
| 12702 | .src_constraints = .{ | ||
| 12703 | .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, | ||
| 12704 | .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, | ||
| 12705 | .any, | ||
| 12706 | }, | ||
| 12707 | .patterns = &.{ | ||
| 12708 | .{ .src = .{ .to_mem, .to_mem, .none } }, | ||
| 12709 | }, | ||
| 12710 | .call_frame = .{ .alignment = .@"16" }, | ||
| 12711 | .extra_temps = .{ | ||
| 12712 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | ||
| 12713 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, | ||
| 12714 | .{ .type = .f16, .kind = .{ .reg = .xmm1 } }, | ||
| 12715 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__divhf3" } } }, | ||
| 12716 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__trunch" } } }, | ||
| 12717 | .unused, | ||
| 12718 | .unused, | ||
| 12719 | .unused, | ||
| 12720 | .unused, | ||
| 12721 | .unused, | ||
| 12722 | .unused, | ||
| 12723 | }, | ||
| 12724 | .dst_temps = .{ .mem, .unused }, | ||
| 12725 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | ||
| 12726 | .each = .{ .once = &.{ | ||
| 12727 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | ||
| 12728 | .{ .@"0:", .vp_, .xor, .tmp2x, .tmp2x, .tmp2x, ._ }, | ||
| 12729 | .{ ._, .vp_w, .insr, .tmp1x, .tmp2x, .memia(.src0w, .tmp0, .add_unaligned_size), .ui(0) }, | ||
| 12730 | .{ ._, .vp_w, .insr, .tmp2x, .tmp2x, .memia(.src1w, .tmp0, .add_unaligned_size), .ui(0) }, | ||
| 12731 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, | ||
| 12732 | .{ ._, ._, .call, .tmp4d, ._, ._, ._ }, | ||
| 12733 | .{ ._, .vp_w, .extr, .memia(.dst0w, .tmp0, .add_unaligned_size), .tmp1x, .ui(0), ._ }, | ||
| 12734 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, | ||
| 12735 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | ||
| 12736 | } }, | ||
| 12737 | }, .{ | ||
| 12738 | .required_features = .{ .sse4_1, null, null, null }, | ||
| 12739 | .src_constraints = .{ | ||
| 12740 | .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, | ||
| 12741 | .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, | ||
| 12742 | .any, | ||
| 12743 | }, | ||
| 12744 | .patterns = &.{ | ||
| 12745 | .{ .src = .{ .to_mem, .to_mem, .none } }, | ||
| 12746 | }, | ||
| 12747 | .call_frame = .{ .alignment = .@"16" }, | ||
| 12748 | .extra_temps = .{ | ||
| 12749 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | ||
| 12750 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, | ||
| 12751 | .{ .type = .f16, .kind = .{ .reg = .xmm1 } }, | ||
| 12752 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__divhf3" } } }, | ||
| 12753 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__trunch" } } }, | ||
| 12754 | .unused, | ||
| 12755 | .unused, | ||
| 12756 | .unused, | ||
| 12757 | .unused, | ||
| 12758 | .unused, | ||
| 12759 | .unused, | ||
| 12760 | }, | ||
| 12761 | .dst_temps = .{ .mem, .unused }, | ||
| 12762 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | ||
| 12763 | .each = .{ .once = &.{ | ||
| 12764 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | ||
| 12765 | .{ .@"0:", .p_, .xor, .tmp1x, .tmp1x, ._, ._ }, | ||
| 12766 | .{ ._, .p_, .xor, .tmp2x, .tmp2x, ._, ._ }, | ||
| 12767 | .{ ._, .p_w, .insr, .tmp1x, .memia(.src0w, .tmp0, .add_unaligned_size), .ui(0), ._ }, | ||
| 12768 | .{ ._, .p_w, .insr, .tmp2x, .memia(.src1w, .tmp0, .add_unaligned_size), .ui(0), ._ }, | ||
| 12769 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, | ||
| 12770 | .{ ._, ._, .call, .tmp4d, ._, ._, ._ }, | ||
| 12771 | .{ ._, .p_w, .extr, .memia(.dst0w, .tmp0, .add_unaligned_size), .tmp1x, .ui(0), ._ }, | ||
| 12772 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, | ||
| 12773 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | ||
| 12774 | } }, | ||
| 12775 | }, .{ | ||
| 12776 | .required_features = .{ .sse2, null, null, null }, | ||
| 12777 | .src_constraints = .{ | ||
| 12778 | .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, | ||
| 12779 | .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, | ||
| 12780 | .any, | ||
| 12781 | }, | ||
| 12782 | .patterns = &.{ | ||
| 12783 | .{ .src = .{ .to_mem, .to_mem, .none } }, | ||
| 12784 | }, | ||
| 12785 | .call_frame = .{ .alignment = .@"16" }, | ||
| 12786 | .extra_temps = .{ | ||
| 12787 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | ||
| 12788 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, | ||
| 12789 | .{ .type = .f16, .kind = .{ .reg = .xmm1 } }, | ||
| 12790 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__divhf3" } } }, | ||
| 12791 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__trunch" } } }, | ||
| 12792 | .{ .type = .f16, .kind = .{ .reg = .ax } }, | ||
| 12793 | .unused, | ||
| 12794 | .unused, | ||
| 12795 | .unused, | ||
| 12796 | .unused, | ||
| 12797 | .unused, | ||
| 12798 | }, | ||
| 12799 | .dst_temps = .{ .mem, .unused }, | ||
| 12800 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | ||
| 12801 | .each = .{ .once = &.{ | ||
| 12802 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | ||
| 12803 | .{ .@"0:", .p_, .xor, .tmp1x, .tmp1x, ._, ._ }, | ||
| 12804 | .{ ._, .p_, .xor, .tmp2x, .tmp2x, ._, ._ }, | ||
| 12805 | .{ ._, .p_w, .insr, .tmp1x, .memia(.src0w, .tmp0, .add_unaligned_size), .ui(0), ._ }, | ||
| 12806 | .{ ._, .p_w, .insr, .tmp2x, .memia(.src1w, .tmp0, .add_unaligned_size), .ui(0), ._ }, | ||
| 12807 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, | ||
| 12808 | .{ ._, ._, .call, .tmp4d, ._, ._, ._ }, | ||
| 12809 | .{ ._, .p_w, .extr, .tmp5d, .tmp1x, .ui(0), ._ }, | ||
| 12810 | .{ ._, ._, .mov, .memia(.dst0w, .tmp0, .add_unaligned_size), .tmp5w, ._, ._ }, | ||
| 12811 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, | ||
| 12812 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | ||
| 12813 | } }, | ||
| 12814 | }, .{ | ||
| 12815 | .required_features = .{ .sse, null, null, null }, | ||
| 12816 | .src_constraints = .{ | ||
| 12817 | .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, | ||
| 12818 | .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, | ||
| 12819 | .any, | ||
| 12820 | }, | ||
| 12821 | .patterns = &.{ | ||
| 12822 | .{ .src = .{ .to_mem, .to_mem, .none } }, | ||
| 12823 | }, | ||
| 12824 | .call_frame = .{ .alignment = .@"16" }, | ||
| 12825 | .extra_temps = .{ | ||
| 12826 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | ||
| 12827 | .{ .type = .f16, .kind = .{ .reg = .ax } }, | ||
| 12828 | .{ .type = .f32, .kind = .mem }, | ||
| 12829 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, | ||
| 12830 | .{ .type = .f16, .kind = .{ .reg = .xmm1 } }, | ||
| 12831 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__divhf3" } } }, | ||
| 12832 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__trunch" } } }, | ||
| 12833 | .unused, | ||
| 12834 | .unused, | ||
| 12835 | .unused, | ||
| 12836 | .unused, | ||
| 12837 | }, | ||
| 12838 | .dst_temps = .{ .mem, .unused }, | ||
| 12839 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | ||
| 12840 | .each = .{ .once = &.{ | ||
| 12841 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | ||
| 12842 | .{ .@"0:", ._, .movzx, .tmp1d, .memia(.src0w, .tmp0, .add_unaligned_size), ._, ._ }, | ||
| 12843 | .{ ._, ._, .mov, .mem(.tmp2d), .tmp1d, ._, ._ }, | ||
| 12844 | .{ ._, ._ss, .mov, .tmp3x, .mem(.tmp2d), ._, ._ }, | ||
| 12845 | .{ ._, ._, .movzx, .tmp1d, .memia(.src1w, .tmp0, .add_unaligned_size), ._, ._ }, | ||
| 12846 | .{ ._, ._, .mov, .mem(.tmp2d), .tmp1d, ._, ._ }, | ||
| 12847 | .{ ._, ._ss, .mov, .tmp4x, .mem(.tmp2d), ._, ._ }, | ||
| 12848 | .{ ._, ._, .call, .tmp5d, ._, ._, ._ }, | ||
| 12849 | .{ ._, ._, .call, .tmp6d, ._, ._, ._ }, | ||
| 12850 | .{ ._, ._ss, .mov, .mem(.tmp2d), .tmp3x, ._, ._ }, | ||
| 12851 | .{ ._, ._, .mov, .tmp1d, .mem(.tmp2d), ._, ._ }, | ||
| 12852 | .{ ._, ._, .mov, .memia(.dst0w, .tmp0, .add_unaligned_size), .tmp1w, ._, ._ }, | ||
| 12853 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, | ||
| 12854 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | ||
| 12855 | } }, | ||
| 12856 | }, .{ | ||
| 12857 | .required_features = .{ .avx, null, null, null }, | ||
| 12858 | .src_constraints = .{ | ||
| 12859 | .{ .scalar_float = .{ .of = .dword, .is = .dword } }, | ||
| 12860 | .{ .scalar_float = .{ .of = .dword, .is = .dword } }, | ||
| 12861 | .any, | ||
| 12862 | }, | ||
| 12863 | .patterns = &.{ | ||
| 12864 | .{ .src = .{ .to_sse, .mem, .none } }, | ||
| 12865 | .{ .src = .{ .to_sse, .to_sse, .none } }, | ||
| 12866 | }, | ||
| 12867 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, | ||
| 12868 | .each = .{ .once = &.{ | ||
| 12869 | .{ ._, .v_ss, .div, .dst0x, .src0x, .src1d, ._ }, | ||
| 12870 | .{ ._, .v_ss, .round, .dst0x, .dst0x, .dst0d, .rm(.{ .direction = .zero, .precision = .inexact }) }, | ||
| 12871 | } }, | ||
| 12872 | }, .{ | ||
| 12873 | .required_features = .{ .sse4_1, null, null, null }, | ||
| 12874 | .src_constraints = .{ | ||
| 12875 | .{ .scalar_float = .{ .of = .dword, .is = .dword } }, | ||
| 12876 | .{ .scalar_float = .{ .of = .dword, .is = .dword } }, | ||
| 12877 | .any, | ||
| 12878 | }, | ||
| 12879 | .patterns = &.{ | ||
| 12880 | .{ .src = .{ .to_mut_sse, .mem, .none } }, | ||
| 12881 | .{ .src = .{ .to_mut_sse, .to_sse, .none } }, | ||
| 12882 | }, | ||
| 12883 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, | ||
| 12884 | .each = .{ .once = &.{ | ||
| 12885 | .{ ._, ._ss, .div, .dst0x, .src1d, ._, ._ }, | ||
| 12886 | .{ ._, ._ss, .round, .dst0x, .dst0d, .rm(.{ .direction = .zero, .precision = .inexact }), ._ }, | ||
| 12887 | } }, | ||
| 12888 | }, .{ | ||
| 12889 | .required_features = .{ .sse, null, null, null }, | ||
| 12890 | .src_constraints = .{ | ||
| 12891 | .{ .scalar_float = .{ .of = .dword, .is = .dword } }, | ||
| 12892 | .{ .scalar_float = .{ .of = .dword, .is = .dword } }, | ||
| 12893 | .any, | ||
| 12894 | }, | ||
| 12895 | .patterns = &.{ | ||
| 12896 | .{ .src = .{ .{ .to_reg = .xmm0 }, .to_mem, .none } }, | ||
| 12897 | }, | ||
| 12898 | .call_frame = .{ .alignment = .@"16" }, | ||
| 12899 | .extra_temps = .{ | ||
| 12900 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "truncf" } } }, | ||
| 12901 | .unused, | ||
| 12902 | .unused, | ||
| 12903 | .unused, | ||
| 12904 | .unused, | ||
| 12905 | .unused, | ||
| 12906 | .unused, | ||
| 12907 | .unused, | ||
| 12908 | .unused, | ||
| 12909 | .unused, | ||
| 12910 | .unused, | ||
| 12911 | }, | ||
| 12912 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, | ||
| 12913 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | ||
| 12914 | .each = .{ .once = &.{ | ||
| 12915 | .{ ._, ._ss, .div, .dst0x, .src1d, ._, ._ }, | ||
| 12916 | .{ ._, ._, .call, .tmp0d, ._, ._, ._ }, | ||
| 12917 | } }, | ||
| 12918 | }, .{ | ||
| 12919 | .required_features = .{ .avx, null, null, null }, | ||
| 12920 | .src_constraints = .{ | ||
| 12921 | .{ .scalar_float = .{ .of = .xword, .is = .dword } }, | ||
| 12922 | .{ .scalar_float = .{ .of = .xword, .is = .dword } }, | ||
| 12923 | .any, | ||
| 12924 | }, | ||
| 12925 | .patterns = &.{ | ||
| 12926 | .{ .src = .{ .to_sse, .mem, .none } }, | ||
| 12927 | .{ .src = .{ .to_sse, .to_sse, .none } }, | ||
| 12928 | }, | ||
| 12929 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, | ||
| 12930 | .each = .{ .once = &.{ | ||
| 12931 | .{ ._, .v_ps, .div, .dst0x, .src0x, .src1x, ._ }, | ||
| 12932 | .{ ._, .v_ps, .round, .dst0x, .dst0x, .rm(.{ .direction = .zero, .precision = .inexact }), ._ }, | ||
| 12933 | } }, | ||
| 12934 | }, .{ | ||
| 12935 | .required_features = .{ .sse4_1, null, null, null }, | ||
| 12936 | .src_constraints = .{ | ||
| 12937 | .{ .scalar_float = .{ .of = .xword, .is = .dword } }, | ||
| 12938 | .{ .scalar_float = .{ .of = .xword, .is = .dword } }, | ||
| 12939 | .any, | ||
| 12940 | }, | ||
| 12941 | .patterns = &.{ | ||
| 12942 | .{ .src = .{ .to_mut_sse, .mem, .none } }, | ||
| 12943 | .{ .src = .{ .to_mut_sse, .to_sse, .none } }, | ||
| 12944 | }, | ||
| 12945 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, | ||
| 12946 | .each = .{ .once = &.{ | ||
| 12947 | .{ ._, ._ps, .div, .dst0x, .src1x, ._, ._ }, | ||
| 12948 | .{ ._, ._ps, .round, .dst0x, .dst0x, .rm(.{ .direction = .zero, .precision = .inexact }), ._ }, | ||
| 12949 | } }, | ||
| 12950 | }, .{ | ||
| 12951 | .required_features = .{ .sse, null, null, null }, | ||
| 12952 | .src_constraints = .{ | ||
| 12953 | .{ .multiple_scalar_float = .{ .of = .dword, .is = .dword } }, | ||
| 12954 | .{ .multiple_scalar_float = .{ .of = .dword, .is = .dword } }, | ||
| 12955 | .any, | ||
| 12956 | }, | ||
| 12957 | .patterns = &.{ | ||
| 12958 | .{ .src = .{ .to_mem, .to_mem, .none } }, | ||
| 12959 | }, | ||
| 12960 | .call_frame = .{ .alignment = .@"16" }, | ||
| 12961 | .extra_temps = .{ | ||
| 12962 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | ||
| 12963 | .{ .type = .f32, .kind = .{ .reg = .xmm0 } }, | ||
| 12964 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "truncf" } } }, | ||
| 12965 | .unused, | ||
| 12966 | .unused, | ||
| 12967 | .unused, | ||
| 12968 | .unused, | ||
| 12969 | .unused, | ||
| 12970 | .unused, | ||
| 12971 | .unused, | ||
| 12972 | .unused, | ||
| 12973 | }, | ||
| 12974 | .dst_temps = .{ .mem, .unused }, | ||
| 12975 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | ||
| 12976 | .each = .{ .once = &.{ | ||
| 12977 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | ||
| 12978 | .{ .@"0:", ._ss, .mov, .tmp1x, .memia(.src0d, .tmp0, .add_unaligned_size), ._, ._ }, | ||
| 12979 | .{ ._, ._ss, .div, .tmp1x, .memia(.src1d, .tmp0, .add_unaligned_size), ._, ._ }, | ||
| 12980 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | ||
| 12981 | .{ ._, ._ss, .mov, .memia(.dst0d, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ }, | ||
| 12982 | .{ ._, ._, .add, .tmp0p, .si(4), ._, ._ }, | ||
| 12983 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | ||
| 12984 | } }, | ||
| 12985 | }, .{ | ||
| 12986 | .required_features = .{ .avx, null, null, null }, | ||
| 12987 | .src_constraints = .{ | ||
| 12988 | .{ .scalar_float = .{ .of = .yword, .is = .dword } }, | ||
| 12989 | .{ .scalar_float = .{ .of = .yword, .is = .dword } }, | ||
| 12990 | .any, | ||
| 12991 | }, | ||
| 12992 | .patterns = &.{ | ||
| 12993 | .{ .src = .{ .to_sse, .mem, .none } }, | ||
| 12994 | .{ .src = .{ .to_sse, .to_sse, .none } }, | ||
| 12995 | }, | ||
| 12996 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, | ||
| 12997 | .each = .{ .once = &.{ | ||
| 12998 | .{ ._, .v_ps, .div, .dst0y, .src0y, .src1y, ._ }, | ||
| 12999 | .{ ._, .v_ps, .round, .dst0y, .dst0y, .rm(.{ .direction = .zero, .precision = .inexact }), ._ }, | ||
| 13000 | } }, | ||
| 13001 | }, .{ | ||
| 13002 | .required_features = .{ .avx, null, null, null }, | ||
| 13003 | .src_constraints = .{ | ||
| 13004 | .{ .multiple_scalar_float = .{ .of = .yword, .is = .dword } }, | ||
| 13005 | .{ .multiple_scalar_float = .{ .of = .yword, .is = .dword } }, | ||
| 13006 | .any, | ||
| 13007 | }, | ||
| 13008 | .patterns = &.{ | ||
| 13009 | .{ .src = .{ .to_mem, .to_mem, .none } }, | ||
| 13010 | }, | ||
| 13011 | .extra_temps = .{ | ||
| 13012 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | ||
| 13013 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, | ||
| 13014 | .unused, | ||
| 13015 | .unused, | ||
| 13016 | .unused, | ||
| 13017 | .unused, | ||
| 13018 | .unused, | ||
| 13019 | .unused, | ||
| 13020 | .unused, | ||
| 13021 | .unused, | ||
| 13022 | .unused, | ||
| 13023 | }, | ||
| 13024 | .dst_temps = .{ .mem, .unused }, | ||
| 13025 | .clobbers = .{ .eflags = true }, | ||
| 13026 | .each = .{ .once = &.{ | ||
| 13027 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | ||
| 13028 | .{ .@"0:", .v_ps, .mova, .tmp1y, .memia(.src0y, .tmp0, .add_unaligned_size), ._, ._ }, | ||
| 13029 | .{ ._, .v_ps, .div, .tmp1y, .tmp1y, .memia(.src1y, .tmp0, .add_unaligned_size), ._ }, | ||
| 13030 | .{ ._, .v_ps, .round, .tmp1y, .tmp1y, .rm(.{ .direction = .zero, .precision = .inexact }), ._ }, | ||
| 13031 | .{ ._, .v_ps, .mova, .memia(.dst0y, .tmp0, .add_unaligned_size), .tmp1y, ._, ._ }, | ||
| 13032 | .{ ._, ._, .add, .tmp0p, .si(32), ._, ._ }, | ||
| 13033 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | ||
| 13034 | } }, | ||
| 13035 | }, .{ | ||
| 13036 | .required_features = .{ .sse4_1, null, null, null }, | ||
| 13037 | .src_constraints = .{ | ||
| 13038 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .dword } }, | ||
| 13039 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .dword } }, | ||
| 13040 | .any, | ||
| 13041 | }, | ||
| 13042 | .patterns = &.{ | ||
| 13043 | .{ .src = .{ .to_mem, .to_mem, .none } }, | ||
| 13044 | }, | ||
| 13045 | .extra_temps = .{ | ||
| 13046 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | ||
| 13047 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, | ||
| 13048 | .unused, | ||
| 13049 | .unused, | ||
| 13050 | .unused, | ||
| 13051 | .unused, | ||
| 13052 | .unused, | ||
| 13053 | .unused, | ||
| 13054 | .unused, | ||
| 13055 | .unused, | ||
| 13056 | .unused, | ||
| 13057 | }, | ||
| 13058 | .dst_temps = .{ .mem, .unused }, | ||
| 13059 | .clobbers = .{ .eflags = true }, | ||
| 13060 | .each = .{ .once = &.{ | ||
| 13061 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | ||
| 13062 | .{ .@"0:", ._ps, .mova, .tmp1x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ }, | ||
| 13063 | .{ ._, ._ps, .div, .tmp1x, .memia(.src1x, .tmp0, .add_unaligned_size), ._, ._ }, | ||
| 13064 | .{ ._, ._ps, .round, .tmp1x, .tmp1x, .rm(.{ .direction = .zero, .precision = .inexact }), ._ }, | ||
| 13065 | .{ ._, ._ps, .mova, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ }, | ||
| 13066 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, | ||
| 13067 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | ||
| 13068 | } }, | ||
| 13069 | }, .{ | ||
| 13070 | .required_features = .{ .avx, null, null, null }, | ||
| 13071 | .src_constraints = .{ | ||
| 13072 | .{ .scalar_float = .{ .of = .qword, .is = .qword } }, | ||
| 13073 | .{ .scalar_float = .{ .of = .qword, .is = .qword } }, | ||
| 13074 | .any, | ||
| 13075 | }, | ||
| 13076 | .patterns = &.{ | ||
| 13077 | .{ .src = .{ .to_sse, .mem, .none } }, | ||
| 13078 | .{ .src = .{ .to_sse, .to_sse, .none } }, | ||
| 13079 | }, | ||
| 13080 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, | ||
| 13081 | .each = .{ .once = &.{ | ||
| 13082 | .{ ._, .v_sd, .div, .dst0x, .src0x, .src1q, ._ }, | ||
| 13083 | .{ ._, .v_sd, .round, .dst0x, .dst0x, .dst0q, .rm(.{ .direction = .zero, .precision = .inexact }) }, | ||
| 13084 | } }, | ||
| 13085 | }, .{ | ||
| 13086 | .required_features = .{ .sse4_1, null, null, null }, | ||
| 13087 | .src_constraints = .{ | ||
| 13088 | .{ .scalar_float = .{ .of = .qword, .is = .qword } }, | ||
| 13089 | .{ .scalar_float = .{ .of = .qword, .is = .qword } }, | ||
| 13090 | .any, | ||
| 13091 | }, | ||
| 13092 | .patterns = &.{ | ||
| 13093 | .{ .src = .{ .to_mut_sse, .mem, .none } }, | ||
| 13094 | .{ .src = .{ .to_mut_sse, .to_sse, .none } }, | ||
| 13095 | }, | ||
| 13096 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, | ||
| 13097 | .each = .{ .once = &.{ | ||
| 13098 | .{ ._, ._sd, .div, .dst0x, .src1q, ._, ._ }, | ||
| 13099 | .{ ._, ._sd, .round, .dst0x, .dst0q, .rm(.{ .direction = .zero, .precision = .inexact }), ._ }, | ||
| 13100 | } }, | ||
| 13101 | }, .{ | ||
| 13102 | .required_features = .{ .sse2, null, null, null }, | ||
| 13103 | .src_constraints = .{ | ||
| 13104 | .{ .scalar_float = .{ .of = .qword, .is = .qword } }, | ||
| 13105 | .{ .scalar_float = .{ .of = .qword, .is = .qword } }, | ||
| 13106 | .any, | ||
| 13107 | }, | ||
| 13108 | .patterns = &.{ | ||
| 13109 | .{ .src = .{ .{ .to_reg = .xmm0 }, .to_mem, .none } }, | ||
| 13110 | }, | ||
| 13111 | .call_frame = .{ .alignment = .@"16" }, | ||
| 13112 | .extra_temps = .{ | ||
| 13113 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "trunc" } } }, | ||
| 13114 | .unused, | ||
| 13115 | .unused, | ||
| 13116 | .unused, | ||
| 13117 | .unused, | ||
| 13118 | .unused, | ||
| 13119 | .unused, | ||
| 13120 | .unused, | ||
| 13121 | .unused, | ||
| 13122 | .unused, | ||
| 13123 | .unused, | ||
| 13124 | }, | ||
| 13125 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, | ||
| 13126 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | ||
| 13127 | .each = .{ .once = &.{ | ||
| 13128 | .{ ._, ._sd, .div, .dst0x, .src1q, ._, ._ }, | ||
| 13129 | .{ ._, ._, .call, .tmp0d, ._, ._, ._ }, | ||
| 13130 | } }, | ||
| 13131 | }, .{ | ||
| 13132 | .required_features = .{ .sse, null, null, null }, | ||
| 13133 | .src_constraints = .{ | ||
| 13134 | .{ .scalar_float = .{ .of = .qword, .is = .qword } }, | ||
| 13135 | .{ .scalar_float = .{ .of = .qword, .is = .qword } }, | ||
| 13136 | .any, | ||
| 13137 | }, | ||
| 13138 | .patterns = &.{ | ||
| 13139 | .{ .src = .{ .{ .to_reg = .xmm0 }, .{ .to_reg = .xmm1 }, .none } }, | ||
| 13140 | }, | ||
| 13141 | .call_frame = .{ .alignment = .@"16" }, | ||
| 13142 | .extra_temps = .{ | ||
| 13143 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__divdf3" } } }, | ||
| 13144 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "trunc" } } }, | ||
| 13145 | .unused, | ||
| 13146 | .unused, | ||
| 13147 | .unused, | ||
| 13148 | .unused, | ||
| 13149 | .unused, | ||
| 13150 | .unused, | ||
| 13151 | .unused, | ||
| 13152 | .unused, | ||
| 13153 | .unused, | ||
| 13154 | }, | ||
| 13155 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, | ||
| 13156 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | ||
| 13157 | .each = .{ .once = &.{ | ||
| 13158 | .{ ._, ._, .call, .tmp0d, ._, ._, ._ }, | ||
| 13159 | .{ ._, ._, .call, .tmp1d, ._, ._, ._ }, | ||
| 13160 | } }, | ||
| 13161 | }, .{ | ||
| 13162 | .required_features = .{ .avx, null, null, null }, | ||
| 13163 | .src_constraints = .{ | ||
| 13164 | .{ .scalar_float = .{ .of = .xword, .is = .qword } }, | ||
| 13165 | .{ .scalar_float = .{ .of = .xword, .is = .qword } }, | ||
| 13166 | .any, | ||
| 13167 | }, | ||
| 13168 | .patterns = &.{ | ||
| 13169 | .{ .src = .{ .to_sse, .mem, .none } }, | ||
| 13170 | .{ .src = .{ .to_sse, .to_sse, .none } }, | ||
| 13171 | }, | ||
| 13172 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, | ||
| 13173 | .each = .{ .once = &.{ | ||
| 13174 | .{ ._, .v_pd, .div, .dst0x, .src0x, .src1x, ._ }, | ||
| 13175 | .{ ._, .v_pd, .round, .dst0x, .dst0x, .rm(.{ .direction = .zero, .precision = .inexact }), ._ }, | ||
| 13176 | } }, | ||
| 13177 | }, .{ | ||
| 13178 | .required_features = .{ .sse4_1, null, null, null }, | ||
| 13179 | .src_constraints = .{ | ||
| 13180 | .{ .scalar_float = .{ .of = .xword, .is = .qword } }, | ||
| 13181 | .{ .scalar_float = .{ .of = .xword, .is = .qword } }, | ||
| 13182 | .any, | ||
| 13183 | }, | ||
| 13184 | .patterns = &.{ | ||
| 13185 | .{ .src = .{ .to_mut_sse, .mem, .none } }, | ||
| 13186 | .{ .src = .{ .to_mut_sse, .to_sse, .none } }, | ||
| 13187 | }, | ||
| 13188 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, | ||
| 13189 | .each = .{ .once = &.{ | ||
| 13190 | .{ ._, ._pd, .div, .dst0x, .src1x, ._, ._ }, | ||
| 13191 | .{ ._, ._pd, .round, .dst0x, .dst0x, .rm(.{ .direction = .zero, .precision = .inexact }), ._ }, | ||
| 13192 | } }, | ||
| 13193 | }, .{ | ||
| 13194 | .required_features = .{ .avx, null, null, null }, | ||
| 13195 | .src_constraints = .{ | ||
| 13196 | .{ .scalar_float = .{ .of = .yword, .is = .qword } }, | ||
| 13197 | .{ .scalar_float = .{ .of = .yword, .is = .qword } }, | ||
| 13198 | .any, | ||
| 13199 | }, | ||
| 13200 | .patterns = &.{ | ||
| 13201 | .{ .src = .{ .to_sse, .mem, .none } }, | ||
| 13202 | .{ .src = .{ .to_sse, .to_sse, .none } }, | ||
| 13203 | }, | ||
| 13204 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, | ||
| 13205 | .each = .{ .once = &.{ | ||
| 13206 | .{ ._, .v_pd, .div, .dst0y, .src0y, .src1y, ._ }, | ||
| 13207 | .{ ._, .v_pd, .round, .dst0y, .dst0y, .rm(.{ .direction = .zero, .precision = .inexact }), ._ }, | ||
| 13208 | } }, | ||
| 13209 | }, .{ | ||
| 13210 | .required_features = .{ .avx, null, null, null }, | ||
| 13211 | .src_constraints = .{ | ||
| 13212 | .{ .multiple_scalar_float = .{ .of = .yword, .is = .qword } }, | ||
| 13213 | .{ .multiple_scalar_float = .{ .of = .yword, .is = .qword } }, | ||
| 13214 | .any, | ||
| 13215 | }, | ||
| 13216 | .patterns = &.{ | ||
| 13217 | .{ .src = .{ .to_mem, .to_mem, .none } }, | ||
| 13218 | }, | ||
| 13219 | .extra_temps = .{ | ||
| 13220 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | ||
| 13221 | .{ .type = .vector_4_f64, .kind = .{ .rc = .sse } }, | ||
| 13222 | .unused, | ||
| 13223 | .unused, | ||
| 13224 | .unused, | ||
| 13225 | .unused, | ||
| 13226 | .unused, | ||
| 13227 | .unused, | ||
| 13228 | .unused, | ||
| 13229 | .unused, | ||
| 13230 | .unused, | ||
| 13231 | }, | ||
| 13232 | .dst_temps = .{ .mem, .unused }, | ||
| 13233 | .clobbers = .{ .eflags = true }, | ||
| 13234 | .each = .{ .once = &.{ | ||
| 13235 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | ||
| 13236 | .{ .@"0:", .v_pd, .mova, .tmp1y, .memia(.src0y, .tmp0, .add_unaligned_size), ._, ._ }, | ||
| 13237 | .{ ._, .v_pd, .div, .tmp1y, .tmp1y, .memia(.src1y, .tmp0, .add_unaligned_size), ._ }, | ||
| 13238 | .{ ._, .v_pd, .round, .tmp1y, .tmp1y, .rm(.{ .direction = .zero, .precision = .inexact }), ._ }, | ||
| 13239 | .{ ._, .v_pd, .mova, .memia(.dst0y, .tmp0, .add_unaligned_size), .tmp1y, ._, ._ }, | ||
| 13240 | .{ ._, ._, .add, .tmp0p, .si(32), ._, ._ }, | ||
| 13241 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | ||
| 13242 | } }, | ||
| 13243 | }, .{ | ||
| 13244 | .required_features = .{ .sse4_1, null, null, null }, | ||
| 13245 | .src_constraints = .{ | ||
| 13246 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .qword } }, | ||
| 13247 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .qword } }, | ||
| 13248 | .any, | ||
| 13249 | }, | ||
| 13250 | .patterns = &.{ | ||
| 13251 | .{ .src = .{ .to_mem, .to_mem, .none } }, | ||
| 13252 | }, | ||
| 13253 | .extra_temps = .{ | ||
| 13254 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | ||
| 13255 | .{ .type = .vector_2_f64, .kind = .{ .rc = .sse } }, | ||
| 13256 | .unused, | ||
| 13257 | .unused, | ||
| 13258 | .unused, | ||
| 13259 | .unused, | ||
| 13260 | .unused, | ||
| 13261 | .unused, | ||
| 13262 | .unused, | ||
| 13263 | .unused, | ||
| 13264 | .unused, | ||
| 13265 | }, | ||
| 13266 | .dst_temps = .{ .mem, .unused }, | ||
| 13267 | .clobbers = .{ .eflags = true }, | ||
| 13268 | .each = .{ .once = &.{ | ||
| 13269 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | ||
| 13270 | .{ .@"0:", ._pd, .mova, .tmp1x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ }, | ||
| 13271 | .{ ._, ._pd, .div, .tmp1x, .memia(.src1x, .tmp0, .add_unaligned_size), ._, ._ }, | ||
| 13272 | .{ ._, ._pd, .round, .tmp1x, .tmp1x, .rm(.{ .direction = .zero, .precision = .inexact }), ._ }, | ||
| 13273 | .{ ._, ._pd, .mova, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ }, | ||
| 13274 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, | ||
| 13275 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | ||
| 13276 | } }, | ||
| 13277 | }, .{ | ||
| 13278 | .required_features = .{ .sse2, null, null, null }, | ||
| 13279 | .src_constraints = .{ | ||
| 13280 | .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, | ||
| 13281 | .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, | ||
| 13282 | .any, | ||
| 13283 | }, | ||
| 13284 | .patterns = &.{ | ||
| 13285 | .{ .src = .{ .to_mem, .to_mem, .none } }, | ||
| 13286 | }, | ||
| 13287 | .call_frame = .{ .alignment = .@"16" }, | ||
| 13288 | .extra_temps = .{ | ||
| 13289 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | ||
| 13290 | .{ .type = .f64, .kind = .{ .reg = .xmm0 } }, | ||
| 13291 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "trunc" } } }, | ||
| 13292 | .unused, | ||
| 13293 | .unused, | ||
| 13294 | .unused, | ||
| 13295 | .unused, | ||
| 13296 | .unused, | ||
| 13297 | .unused, | ||
| 13298 | .unused, | ||
| 13299 | .unused, | ||
| 13300 | }, | ||
| 13301 | .dst_temps = .{ .mem, .unused }, | ||
| 13302 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | ||
| 13303 | .each = .{ .once = &.{ | ||
| 13304 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | ||
| 13305 | .{ .@"0:", ._sd, .mov, .tmp1x, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._ }, | ||
| 13306 | .{ ._, ._sd, .div, .tmp1x, .memia(.src1q, .tmp0, .add_unaligned_size), ._, ._ }, | ||
| 13307 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, | ||
| 13308 | .{ ._, ._sd, .mov, .memia(.dst0q, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ }, | ||
| 13309 | .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ }, | ||
| 13310 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | ||
| 13311 | } }, | ||
| 13312 | }, .{ | ||
| 13313 | .required_features = .{ .sse, null, null, null }, | ||
| 13314 | .src_constraints = .{ | ||
| 13315 | .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, | ||
| 13316 | .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, | ||
| 13317 | .any, | ||
| 13318 | }, | ||
| 13319 | .patterns = &.{ | ||
| 13320 | .{ .src = .{ .to_mem, .to_mem, .none } }, | ||
| 13321 | }, | ||
| 13322 | .call_frame = .{ .alignment = .@"16" }, | ||
| 13323 | .extra_temps = .{ | ||
| 13324 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | ||
| 13325 | .{ .type = .f64, .kind = .{ .reg = .xmm0 } }, | ||
| 13326 | .{ .type = .f64, .kind = .{ .reg = .xmm1 } }, | ||
| 13327 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__divdf3" } } }, | ||
| 13328 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "trunc" } } }, | ||
| 13329 | .unused, | ||
| 13330 | .unused, | ||
| 13331 | .unused, | ||
| 13332 | .unused, | ||
| 13333 | .unused, | ||
| 13334 | .unused, | ||
| 13335 | }, | ||
| 13336 | .dst_temps = .{ .mem, .unused }, | ||
| 13337 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | ||
| 13338 | .each = .{ .once = &.{ | ||
| 13339 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | ||
| 13340 | .{ .@"0:", ._ps, .xor, .tmp1x, .tmp1x, ._, ._ }, | ||
| 13341 | .{ ._, ._ps, .xor, .tmp2x, .tmp2x, ._, ._ }, | ||
| 13342 | .{ ._, ._ps, .movl, .tmp1x, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._ }, | ||
| 13343 | .{ ._, ._ps, .movl, .tmp2x, .memia(.src1q, .tmp0, .add_unaligned_size), ._, ._ }, | ||
| 13344 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, | ||
| 13345 | .{ ._, ._, .call, .tmp4d, ._, ._, ._ }, | ||
| 13346 | .{ ._, ._ps, .movl, .memia(.dst0q, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ }, | ||
| 13347 | .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ }, | ||
| 13348 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | ||
| 13349 | } }, | ||
| 13350 | }, .{ | ||
| 13351 | .required_features = .{ .x87, null, null, null }, | ||
| 13352 | .src_constraints = .{ | ||
| 13353 | .{ .scalar_float = .{ .of = .xword, .is = .tbyte } }, | ||
| 13354 | .{ .scalar_float = .{ .of = .xword, .is = .tbyte } }, | ||
| 13355 | .any, | ||
| 13356 | }, | ||
| 13357 | .patterns = &.{ | ||
| 13358 | .{ .src = .{ .to_mem, .to_mem, .none } }, | ||
| 13359 | }, | ||
| 13360 | .call_frame = .{ .size = 16, .alignment = .@"16" }, | ||
| 13361 | .extra_temps = .{ | ||
| 13362 | .{ .type = .f80, .kind = .{ .reg = .st6 } }, | ||
| 13363 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, | ||
| 13364 | .{ .type = .f80, .kind = .{ .frame = .call_frame } }, | ||
| 13365 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__truncx" } } }, | ||
| 13366 | .unused, | ||
| 13367 | .unused, | ||
| 13368 | .unused, | ||
| 13369 | .unused, | ||
| 13370 | .unused, | ||
| 13371 | .unused, | ||
| 13372 | .unused, | ||
| 13373 | }, | ||
| 13374 | .dst_temps = .{ .{ .reg = .st0 }, .unused }, | ||
| 13375 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | ||
| 13376 | .each = .{ .once = &.{ | ||
| 13377 | .{ ._, .f_, .ld, .src0t, ._, ._, ._ }, | ||
| 13378 | .{ ._, .f_, .ld, .src1t, ._, ._, ._ }, | ||
| 13379 | .{ ._, .f_p, .div, ._, ._, ._, ._ }, | ||
| 13380 | .{ ._, .f_p, .st, .mem(.tmp2t), ._, ._, ._ }, | ||
| 13381 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, | ||
| 13382 | } }, | ||
| 13383 | }, .{ | ||
| 13384 | .required_features = .{ .x87, null, null, null }, | ||
| 13385 | .src_constraints = .{ | ||
| 13386 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, | ||
| 13387 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, | ||
| 13388 | .any, | ||
| 13389 | }, | ||
| 13390 | .patterns = &.{ | ||
| 13391 | .{ .src = .{ .to_mem, .to_mem, .none } }, | ||
| 13392 | }, | ||
| 13393 | .call_frame = .{ .size = 16, .alignment = .@"16" }, | ||
| 13394 | .extra_temps = .{ | ||
| 13395 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | ||
| 13396 | .{ .type = .f80, .kind = .{ .reg = .st6 } }, | ||
| 13397 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, | ||
| 13398 | .{ .type = .f80, .kind = .{ .frame = .call_frame } }, | ||
| 13399 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__truncx" } } }, | ||
| 13400 | .unused, | ||
| 13401 | .unused, | ||
| 13402 | .unused, | ||
| 13403 | .unused, | ||
| 13404 | .unused, | ||
| 13405 | .unused, | ||
| 13406 | }, | ||
| 13407 | .dst_temps = .{ .mem, .unused }, | ||
| 13408 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | ||
| 13409 | .each = .{ .once = &.{ | ||
| 13410 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | ||
| 13411 | .{ .@"0:", .f_, .ld, .memia(.src0t, .tmp0, .add_unaligned_size), ._, ._, ._ }, | ||
| 13412 | .{ ._, .f_, .ld, .memia(.src1t, .tmp0, .add_unaligned_size), ._, ._, ._ }, | ||
| 13413 | .{ ._, .f_p, .div, ._, ._, ._, ._ }, | ||
| 13414 | .{ ._, .f_p, .st, .mem(.tmp3t), ._, ._, ._ }, | ||
| 13415 | .{ ._, ._, .call, .tmp4d, ._, ._, ._ }, | ||
| 13416 | .{ .pseudo, .f_cstp, .de, ._, ._, ._, ._ }, | ||
| 13417 | .{ ._, .f_p, .st, .memia(.dst0t, .tmp0, .add_unaligned_size), ._, ._, ._ }, | ||
| 13418 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, | ||
| 13419 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | ||
| 13420 | } }, | ||
| 13421 | }, .{ | ||
| 13422 | .required_features = .{ .sse, null, null, null }, | ||
| 13423 | .src_constraints = .{ | ||
| 13424 | .{ .scalar_float = .{ .of = .xword, .is = .xword } }, | ||
| 13425 | .{ .scalar_float = .{ .of = .xword, .is = .xword } }, | ||
| 13426 | .any, | ||
| 13427 | }, | ||
| 13428 | .patterns = &.{ | ||
| 13429 | .{ .src = .{ .{ .to_reg = .xmm0 }, .{ .to_reg = .xmm1 }, .none } }, | ||
| 13430 | }, | ||
| 13431 | .call_frame = .{ .alignment = .@"16" }, | ||
| 13432 | .extra_temps = .{ | ||
| 13433 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__divtf3" } } }, | ||
| 13434 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "truncq" } } }, | ||
| 13435 | .unused, | ||
| 13436 | .unused, | ||
| 13437 | .unused, | ||
| 13438 | .unused, | ||
| 13439 | .unused, | ||
| 13440 | .unused, | ||
| 13441 | .unused, | ||
| 13442 | .unused, | ||
| 13443 | .unused, | ||
| 13444 | }, | ||
| 13445 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, | ||
| 13446 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | ||
| 13447 | .each = .{ .once = &.{ | ||
| 13448 | .{ ._, ._, .call, .tmp0d, ._, ._, ._ }, | ||
| 13449 | .{ ._, ._, .call, .tmp1d, ._, ._, ._ }, | ||
| 13450 | } }, | ||
| 13451 | }, .{ | ||
| 13452 | .required_features = .{ .avx, null, null, null }, | ||
| 13453 | .src_constraints = .{ | ||
| 13454 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, | ||
| 13455 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, | ||
| 13456 | .any, | ||
| 13457 | }, | ||
| 13458 | .patterns = &.{ | ||
| 13459 | .{ .src = .{ .to_mem, .to_mem, .none } }, | ||
| 13460 | }, | ||
| 13461 | .call_frame = .{ .alignment = .@"16" }, | ||
| 13462 | .extra_temps = .{ | ||
| 13463 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | ||
| 13464 | .{ .type = .f128, .kind = .{ .reg = .xmm0 } }, | ||
| 13465 | .{ .type = .f128, .kind = .{ .reg = .xmm1 } }, | ||
| 13466 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__divtf3" } } }, | ||
| 13467 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "truncq" } } }, | ||
| 13468 | .unused, | ||
| 13469 | .unused, | ||
| 13470 | .unused, | ||
| 13471 | .unused, | ||
| 13472 | .unused, | ||
| 13473 | .unused, | ||
| 13474 | }, | ||
| 13475 | .dst_temps = .{ .mem, .unused }, | ||
| 13476 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | ||
| 13477 | .each = .{ .once = &.{ | ||
| 13478 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | ||
| 13479 | .{ .@"0:", .v_dqa, .mov, .tmp1x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ }, | ||
| 13480 | .{ ._, .v_dqa, .mov, .tmp2x, .memia(.src1x, .tmp0, .add_unaligned_size), ._, ._ }, | ||
| 13481 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, | ||
| 13482 | .{ ._, ._, .call, .tmp4d, ._, ._, ._ }, | ||
| 13483 | .{ ._, .v_dqa, .mov, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ }, | ||
| 13484 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, | ||
| 13485 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | ||
| 13486 | } }, | ||
| 13487 | }, .{ | ||
| 13488 | .required_features = .{ .sse2, null, null, null }, | ||
| 13489 | .src_constraints = .{ | ||
| 13490 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, | ||
| 13491 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, | ||
| 13492 | .any, | ||
| 13493 | }, | ||
| 13494 | .patterns = &.{ | ||
| 13495 | .{ .src = .{ .to_mem, .to_mem, .none } }, | ||
| 13496 | }, | ||
| 13497 | .call_frame = .{ .alignment = .@"16" }, | ||
| 13498 | .extra_temps = .{ | ||
| 13499 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | ||
| 13500 | .{ .type = .f128, .kind = .{ .reg = .xmm0 } }, | ||
| 13501 | .{ .type = .f128, .kind = .{ .reg = .xmm1 } }, | ||
| 13502 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__divtf3" } } }, | ||
| 13503 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "truncq" } } }, | ||
| 13504 | .unused, | ||
| 13505 | .unused, | ||
| 13506 | .unused, | ||
| 13507 | .unused, | ||
| 13508 | .unused, | ||
| 13509 | .unused, | ||
| 13510 | }, | ||
| 13511 | .dst_temps = .{ .mem, .unused }, | ||
| 13512 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | ||
| 13513 | .each = .{ .once = &.{ | ||
| 13514 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | ||
| 13515 | .{ .@"0:", ._dqa, .mov, .tmp1x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ }, | ||
| 13516 | .{ ._, ._dqa, .mov, .tmp2x, .memia(.src1x, .tmp0, .add_unaligned_size), ._, ._ }, | ||
| 13517 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, | ||
| 13518 | .{ ._, ._, .call, .tmp4d, ._, ._, ._ }, | ||
| 13519 | .{ ._, ._dqa, .mov, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ }, | ||
| 13520 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, | ||
| 13521 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | ||
| 13522 | } }, | ||
| 13523 | }, .{ | ||
| 13524 | .required_features = .{ .sse, null, null, null }, | ||
| 13525 | .src_constraints = .{ | ||
| 13526 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, | ||
| 13527 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, | ||
| 13528 | .any, | ||
| 13529 | }, | ||
| 13530 | .patterns = &.{ | ||
| 13531 | .{ .src = .{ .to_mem, .to_mem, .none } }, | ||
| 13532 | }, | ||
| 13533 | .call_frame = .{ .alignment = .@"16" }, | ||
| 13534 | .extra_temps = .{ | ||
| 13535 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | ||
| 13536 | .{ .type = .f128, .kind = .{ .reg = .xmm0 } }, | ||
| 13537 | .{ .type = .f128, .kind = .{ .reg = .xmm1 } }, | ||
| 13538 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__divtf3" } } }, | ||
| 13539 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "truncq" } } }, | ||
| 13540 | .unused, | ||
| 13541 | .unused, | ||
| 13542 | .unused, | ||
| 13543 | .unused, | ||
| 13544 | .unused, | ||
| 13545 | .unused, | ||
| 13546 | }, | ||
| 13547 | .dst_temps = .{ .mem, .unused }, | ||
| 13548 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | ||
| 13549 | .each = .{ .once = &.{ | ||
| 13550 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | ||
| 13551 | .{ .@"0:", ._ps, .mova, .tmp1x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ }, | ||
| 13552 | .{ ._, ._ps, .mova, .tmp2x, .memia(.src1x, .tmp0, .add_unaligned_size), ._, ._ }, | ||
| 13553 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, | ||
| 13554 | .{ ._, ._, .call, .tmp4d, ._, ._, ._ }, | ||
| 13555 | .{ ._, ._ps, .mova, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ }, | ||
| 13556 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, | ||
| 13557 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | ||
| 13558 | } }, | ||
| 13559 | } }) else err: { | ||
| 13560 | res[0] = ops[0].divTruncInts(&ops[1], cg) catch |err| break :err err; | ||
| 13561 | }) catch |err| switch (err) { | ||
| 13562 | error.SelectFailed => return cg.fail("failed to select {s} {} {} {}", .{ | ||
| 13563 | @tagName(air_tag), | ||
| 13564 | ty.fmt(pt), | ||
| 13565 | ops[0].tracking(cg), | ||
| 10875 | ops[1].tracking(cg), | 13566 | ops[1].tracking(cg), |
| 10876 | }), | 13567 | }), |
| 10877 | else => |e| return e, | 13568 | else => |e| return e, |
| ... | @@ -16940,330 +19631,984 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -16940,330 +19631,984 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 16940 | .patterns = &.{ | 19631 | .patterns = &.{ |
| 16941 | .{ .src = .{ .to_gpr, .to_gpr, .none } }, | 19632 | .{ .src = .{ .to_gpr, .to_gpr, .none } }, |
| 16942 | }, | 19633 | }, |
| 16943 | .dst_temps = .{ .{ .rc = .general_purpose }, .unused }, | 19634 | .dst_temps = .{ .{ .rc = .general_purpose }, .unused }, |
| 19635 | .clobbers = .{ .eflags = true }, | ||
| 19636 | .each = .{ .once = &.{ | ||
| 19637 | .{ ._, ._, .lea, .dst0p, .leasi(.src1, .@"2", .src1), ._, ._ }, | ||
| 19638 | .{ ._, ._, .neg, .dst0p, ._, ._, ._ }, | ||
| 19639 | .{ ._, ._, .lea, .dst0p, .leai(.src0, .dst0), ._, ._ }, | ||
| 19640 | } }, | ||
| 19641 | }, .{ | ||
| 19642 | .dst_constraints = .{ .{ .elem_size_is = 4 }, .any }, | ||
| 19643 | .patterns = &.{ | ||
| 19644 | .{ .src = .{ .to_gpr, .to_mut_gpr, .none } }, | ||
| 19645 | }, | ||
| 19646 | .dst_temps = .{ .{ .ref = .src1 }, .unused }, | ||
| 19647 | .clobbers = .{ .eflags = true }, | ||
| 19648 | .each = .{ .once = &.{ | ||
| 19649 | .{ ._, ._, .neg, .src1p, ._, ._, ._ }, | ||
| 19650 | .{ ._, ._, .lea, .dst0p, .leasi(.src0, .@"4", .src1), ._, ._ }, | ||
| 19651 | } }, | ||
| 19652 | }, .{ | ||
| 19653 | .dst_constraints = .{ .{ .elem_size_is = 4 + 1 }, .any }, | ||
| 19654 | .patterns = &.{ | ||
| 19655 | .{ .src = .{ .to_gpr, .to_gpr, .none } }, | ||
| 19656 | }, | ||
| 19657 | .dst_temps = .{ .{ .rc = .general_purpose }, .unused }, | ||
| 19658 | .clobbers = .{ .eflags = true }, | ||
| 19659 | .each = .{ .once = &.{ | ||
| 19660 | .{ ._, ._, .lea, .dst0p, .leasi(.src1, .@"4", .src1), ._, ._ }, | ||
| 19661 | .{ ._, ._, .neg, .dst0p, ._, ._, ._ }, | ||
| 19662 | .{ ._, ._, .lea, .dst0p, .leai(.src0, .dst0), ._, ._ }, | ||
| 19663 | } }, | ||
| 19664 | }, .{ | ||
| 19665 | .required_features = .{ .@"64bit", null, null, null }, | ||
| 19666 | .dst_constraints = .{ .{ .elem_size_is = 8 }, .any }, | ||
| 19667 | .patterns = &.{ | ||
| 19668 | .{ .src = .{ .to_gpr, .to_mut_gpr, .none } }, | ||
| 19669 | }, | ||
| 19670 | .dst_temps = .{ .{ .ref = .src1 }, .unused }, | ||
| 19671 | .clobbers = .{ .eflags = true }, | ||
| 19672 | .each = .{ .once = &.{ | ||
| 19673 | .{ ._, ._, .neg, .src1p, ._, ._, ._ }, | ||
| 19674 | .{ ._, ._, .lea, .dst0p, .leasi(.src0, .@"8", .src1), ._, ._ }, | ||
| 19675 | } }, | ||
| 19676 | }, .{ | ||
| 19677 | .required_features = .{ .@"64bit", null, null, null }, | ||
| 19678 | .dst_constraints = .{ .{ .elem_size_is = 8 + 1 }, .any }, | ||
| 19679 | .patterns = &.{ | ||
| 19680 | .{ .src = .{ .to_gpr, .to_gpr, .none } }, | ||
| 19681 | }, | ||
| 19682 | .dst_temps = .{ .{ .rc = .general_purpose }, .unused }, | ||
| 19683 | .clobbers = .{ .eflags = true }, | ||
| 19684 | .each = .{ .once = &.{ | ||
| 19685 | .{ ._, ._, .lea, .dst0p, .leasi(.src1, .@"8", .src1), ._, ._ }, | ||
| 19686 | .{ ._, ._, .neg, .dst0p, ._, ._, ._ }, | ||
| 19687 | .{ ._, ._, .lea, .dst0p, .leai(.src0, .dst0), ._, ._ }, | ||
| 19688 | } }, | ||
| 19689 | }, .{ | ||
| 19690 | .dst_constraints = .{ .po2_elem_size, .any }, | ||
| 19691 | .patterns = &.{ | ||
| 19692 | .{ .src = .{ .to_gpr, .to_mut_gpr, .none } }, | ||
| 19693 | }, | ||
| 19694 | .dst_temps = .{ .{ .ref = .src1 }, .unused }, | ||
| 19695 | .clobbers = .{ .eflags = true }, | ||
| 19696 | .each = .{ .once = &.{ | ||
| 19697 | .{ ._, ._l, .sa, .src1p, .sa(.none, .add_log2_src0_elem_size), ._, ._ }, | ||
| 19698 | .{ ._, ._, .neg, .src1p, ._, ._, ._ }, | ||
| 19699 | .{ ._, ._, .lea, .dst0p, .leai(.src0, .src1), ._, ._ }, | ||
| 19700 | } }, | ||
| 19701 | }, .{ | ||
| 19702 | .patterns = &.{ | ||
| 19703 | .{ .src = .{ .to_gpr, .to_gpr, .none } }, | ||
| 19704 | }, | ||
| 19705 | .dst_temps = .{ .{ .rc = .general_purpose }, .unused }, | ||
| 19706 | .clobbers = .{ .eflags = true }, | ||
| 19707 | .each = .{ .once = &.{ | ||
| 19708 | .{ ._, .i_, .mul, .dst0p, .src1p, .sa(.none, .sub_src0_elem_size), ._ }, | ||
| 19709 | .{ ._, ._, .lea, .dst0p, .leai(.src0, .dst0), ._, ._ }, | ||
| 19710 | } }, | ||
| 19711 | } }) catch |err| switch (err) { | ||
| 19712 | error.SelectFailed => return cg.fail("failed to select {s} {} {} {}", .{ | ||
| 19713 | @tagName(air_tag), | ||
| 19714 | cg.typeOf(bin_op.lhs).fmt(pt), | ||
| 19715 | ops[0].tracking(cg), | ||
| 19716 | ops[1].tracking(cg), | ||
| 19717 | }), | ||
| 19718 | else => |e| return e, | ||
| 19719 | } else res[0] = ops[0]; | ||
| 19720 | try res[0].finish(inst, &.{ bin_op.lhs, bin_op.rhs }, &ops, cg); | ||
| 19721 | }, | ||
| 19722 | .max => |air_tag| if (use_old) try cg.airBinOp(inst, air_tag) else { | ||
| 19723 | const bin_op = air_datas[@intFromEnum(inst)].bin_op; | ||
| 19724 | var ops = try cg.tempsFromOperands(inst, .{ bin_op.lhs, bin_op.rhs }); | ||
| 19725 | var res: [1]Temp = undefined; | ||
| 19726 | cg.select(&res, &.{cg.typeOf(bin_op.lhs)}, &ops, comptime &.{ .{ | ||
| 19727 | .required_features = .{ .cmov, null, null, null }, | ||
| 19728 | .src_constraints = .{ .{ .signed_int = .byte }, .{ .signed_int = .byte }, .any }, | ||
| 19729 | .patterns = &.{ | ||
| 19730 | .{ .src = .{ .to_mut_gpr, .to_gpr, .none } }, | ||
| 19731 | }, | ||
| 19732 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, | ||
| 19733 | .clobbers = .{ .eflags = true }, | ||
| 19734 | .each = .{ .once = &.{ | ||
| 19735 | .{ ._, ._, .cmp, .src0b, .src1b, ._, ._ }, | ||
| 19736 | .{ ._, ._l, .cmov, .dst0d, .src1d, ._, ._ }, | ||
| 19737 | } }, | ||
| 19738 | }, .{ | ||
| 19739 | .src_constraints = .{ .{ .signed_int = .byte }, .{ .signed_int = .byte }, .any }, | ||
| 19740 | .patterns = &.{ | ||
| 19741 | .{ .src = .{ .to_mut_gpr, .mem, .none } }, | ||
| 19742 | .{ .src = .{ .mem, .to_mut_gpr, .none }, .commute = .{ 0, 1 } }, | ||
| 19743 | .{ .src = .{ .to_mut_gpr, .to_gpr, .none } }, | ||
| 19744 | }, | ||
| 19745 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, | ||
| 19746 | .clobbers = .{ .eflags = true }, | ||
| 19747 | .each = .{ .once = &.{ | ||
| 19748 | .{ ._, ._, .cmp, .src0b, .src1b, ._, ._ }, | ||
| 19749 | .{ ._, ._nl, .j, .@"0f", ._, ._, ._ }, | ||
| 19750 | .{ ._, ._, .mov, .dst0b, .src1b, ._, ._ }, | ||
| 19751 | } }, | ||
| 19752 | }, .{ | ||
| 19753 | .required_features = .{ .cmov, null, null, null }, | ||
| 19754 | .src_constraints = .{ .{ .unsigned_int = .byte }, .{ .unsigned_int = .byte }, .any }, | ||
| 19755 | .patterns = &.{ | ||
| 19756 | .{ .src = .{ .to_mut_gpr, .to_gpr, .none } }, | ||
| 19757 | }, | ||
| 19758 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, | ||
| 19759 | .clobbers = .{ .eflags = true }, | ||
| 19760 | .each = .{ .once = &.{ | ||
| 19761 | .{ ._, ._, .cmp, .src0b, .src1b, ._, ._ }, | ||
| 19762 | .{ ._, ._b, .cmov, .dst0d, .src1d, ._, ._ }, | ||
| 19763 | } }, | ||
| 19764 | }, .{ | ||
| 19765 | .src_constraints = .{ .{ .unsigned_int = .byte }, .{ .unsigned_int = .byte }, .any }, | ||
| 19766 | .patterns = &.{ | ||
| 19767 | .{ .src = .{ .to_mut_gpr, .mem, .none } }, | ||
| 19768 | .{ .src = .{ .mem, .to_mut_gpr, .none }, .commute = .{ 0, 1 } }, | ||
| 19769 | .{ .src = .{ .to_mut_gpr, .to_gpr, .none } }, | ||
| 19770 | }, | ||
| 19771 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, | ||
| 19772 | .clobbers = .{ .eflags = true }, | ||
| 19773 | .each = .{ .once = &.{ | ||
| 19774 | .{ ._, ._, .cmp, .src0b, .src1b, ._, ._ }, | ||
| 19775 | .{ ._, ._nb, .j, .@"0f", ._, ._, ._ }, | ||
| 19776 | .{ ._, ._, .mov, .dst0b, .src1b, ._, ._ }, | ||
| 19777 | } }, | ||
| 19778 | }, .{ | ||
| 19779 | .required_features = .{ .cmov, null, null, null }, | ||
| 19780 | .src_constraints = .{ .{ .signed_int = .word }, .{ .signed_int = .word }, .any }, | ||
| 19781 | .patterns = &.{ | ||
| 19782 | .{ .src = .{ .to_mut_gpr, .mem, .none } }, | ||
| 19783 | .{ .src = .{ .mem, .to_mut_gpr, .none }, .commute = .{ 0, 1 } }, | ||
| 19784 | .{ .src = .{ .to_mut_gpr, .to_gpr, .none } }, | ||
| 19785 | }, | ||
| 19786 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, | ||
| 19787 | .clobbers = .{ .eflags = true }, | ||
| 19788 | .each = .{ .once = &.{ | ||
| 19789 | .{ ._, ._, .cmp, .src0w, .src1w, ._, ._ }, | ||
| 19790 | .{ ._, ._l, .cmov, .dst0w, .src1w, ._, ._ }, | ||
| 19791 | } }, | ||
| 19792 | }, .{ | ||
| 19793 | .src_constraints = .{ .{ .signed_int = .word }, .{ .signed_int = .word }, .any }, | ||
| 19794 | .patterns = &.{ | ||
| 19795 | .{ .src = .{ .to_mut_gpr, .mem, .none } }, | ||
| 19796 | .{ .src = .{ .mem, .to_mut_gpr, .none }, .commute = .{ 0, 1 } }, | ||
| 19797 | .{ .src = .{ .to_mut_gpr, .to_gpr, .none } }, | ||
| 19798 | }, | ||
| 19799 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, | ||
| 19800 | .clobbers = .{ .eflags = true }, | ||
| 19801 | .each = .{ .once = &.{ | ||
| 19802 | .{ ._, ._, .cmp, .src0w, .src1w, ._, ._ }, | ||
| 19803 | .{ ._, ._nl, .j, .@"0f", ._, ._, ._ }, | ||
| 19804 | .{ ._, ._, .mov, .dst0w, .src1w, ._, ._ }, | ||
| 19805 | } }, | ||
| 19806 | }, .{ | ||
| 19807 | .required_features = .{ .cmov, null, null, null }, | ||
| 19808 | .src_constraints = .{ .{ .unsigned_int = .word }, .{ .unsigned_int = .word }, .any }, | ||
| 19809 | .patterns = &.{ | ||
| 19810 | .{ .src = .{ .to_mut_gpr, .mem, .none } }, | ||
| 19811 | .{ .src = .{ .mem, .to_mut_gpr, .none }, .commute = .{ 0, 1 } }, | ||
| 19812 | .{ .src = .{ .to_mut_gpr, .to_gpr, .none } }, | ||
| 19813 | }, | ||
| 19814 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, | ||
| 19815 | .clobbers = .{ .eflags = true }, | ||
| 19816 | .each = .{ .once = &.{ | ||
| 19817 | .{ ._, ._, .cmp, .src0w, .src1w, ._, ._ }, | ||
| 19818 | .{ ._, ._b, .cmov, .dst0w, .src1w, ._, ._ }, | ||
| 19819 | } }, | ||
| 19820 | }, .{ | ||
| 19821 | .src_constraints = .{ .{ .unsigned_int = .word }, .{ .unsigned_int = .word }, .any }, | ||
| 19822 | .patterns = &.{ | ||
| 19823 | .{ .src = .{ .to_mut_gpr, .mem, .none } }, | ||
| 19824 | .{ .src = .{ .mem, .to_mut_gpr, .none }, .commute = .{ 0, 1 } }, | ||
| 19825 | .{ .src = .{ .to_mut_gpr, .to_gpr, .none } }, | ||
| 19826 | }, | ||
| 19827 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, | ||
| 19828 | .clobbers = .{ .eflags = true }, | ||
| 19829 | .each = .{ .once = &.{ | ||
| 19830 | .{ ._, ._, .cmp, .src0w, .src1w, ._, ._ }, | ||
| 19831 | .{ ._, ._nb, .j, .@"0f", ._, ._, ._ }, | ||
| 19832 | .{ ._, ._, .mov, .dst0w, .src1w, ._, ._ }, | ||
| 19833 | } }, | ||
| 19834 | }, .{ | ||
| 19835 | .required_features = .{ .cmov, null, null, null }, | ||
| 19836 | .src_constraints = .{ .{ .signed_int = .dword }, .{ .signed_int = .dword }, .any }, | ||
| 19837 | .patterns = &.{ | ||
| 19838 | .{ .src = .{ .to_mut_gpr, .mem, .none } }, | ||
| 19839 | .{ .src = .{ .mem, .to_mut_gpr, .none }, .commute = .{ 0, 1 } }, | ||
| 19840 | .{ .src = .{ .to_mut_gpr, .to_gpr, .none } }, | ||
| 19841 | }, | ||
| 19842 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, | ||
| 19843 | .clobbers = .{ .eflags = true }, | ||
| 19844 | .each = .{ .once = &.{ | ||
| 19845 | .{ ._, ._, .cmp, .src0d, .src1d, ._, ._ }, | ||
| 19846 | .{ ._, ._l, .cmov, .dst0d, .src1d, ._, ._ }, | ||
| 19847 | } }, | ||
| 19848 | }, .{ | ||
| 19849 | .src_constraints = .{ .{ .signed_int = .dword }, .{ .signed_int = .dword }, .any }, | ||
| 19850 | .patterns = &.{ | ||
| 19851 | .{ .src = .{ .to_mut_gpr, .mem, .none } }, | ||
| 19852 | .{ .src = .{ .mem, .to_mut_gpr, .none }, .commute = .{ 0, 1 } }, | ||
| 19853 | .{ .src = .{ .to_mut_gpr, .to_gpr, .none } }, | ||
| 19854 | }, | ||
| 19855 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, | ||
| 19856 | .clobbers = .{ .eflags = true }, | ||
| 19857 | .each = .{ .once = &.{ | ||
| 19858 | .{ ._, ._, .cmp, .src0d, .src1d, ._, ._ }, | ||
| 19859 | .{ ._, ._nl, .j, .@"0f", ._, ._, ._ }, | ||
| 19860 | .{ ._, ._, .mov, .dst0d, .src1d, ._, ._ }, | ||
| 19861 | } }, | ||
| 19862 | }, .{ | ||
| 19863 | .required_features = .{ .cmov, null, null, null }, | ||
| 19864 | .src_constraints = .{ .{ .unsigned_int = .dword }, .{ .unsigned_int = .dword }, .any }, | ||
| 19865 | .patterns = &.{ | ||
| 19866 | .{ .src = .{ .to_mut_gpr, .mem, .none } }, | ||
| 19867 | .{ .src = .{ .mem, .to_mut_gpr, .none }, .commute = .{ 0, 1 } }, | ||
| 19868 | .{ .src = .{ .to_mut_gpr, .to_gpr, .none } }, | ||
| 19869 | }, | ||
| 19870 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, | ||
| 19871 | .clobbers = .{ .eflags = true }, | ||
| 19872 | .each = .{ .once = &.{ | ||
| 19873 | .{ ._, ._, .cmp, .src0d, .src1d, ._, ._ }, | ||
| 19874 | .{ ._, ._b, .cmov, .dst0d, .src1d, ._, ._ }, | ||
| 19875 | } }, | ||
| 19876 | }, .{ | ||
| 19877 | .src_constraints = .{ .{ .unsigned_int = .dword }, .{ .unsigned_int = .dword }, .any }, | ||
| 19878 | .patterns = &.{ | ||
| 19879 | .{ .src = .{ .to_mut_gpr, .mem, .none } }, | ||
| 19880 | .{ .src = .{ .mem, .to_mut_gpr, .none }, .commute = .{ 0, 1 } }, | ||
| 19881 | .{ .src = .{ .to_mut_gpr, .to_gpr, .none } }, | ||
| 19882 | }, | ||
| 19883 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, | ||
| 19884 | .clobbers = .{ .eflags = true }, | ||
| 19885 | .each = .{ .once = &.{ | ||
| 19886 | .{ ._, ._, .cmp, .src0d, .src1d, ._, ._ }, | ||
| 19887 | .{ ._, ._nb, .j, .@"0f", ._, ._, ._ }, | ||
| 19888 | .{ ._, ._, .mov, .dst0d, .src1d, ._, ._ }, | ||
| 19889 | } }, | ||
| 19890 | }, .{ | ||
| 19891 | .required_features = .{ .@"64bit", .cmov, null, null }, | ||
| 19892 | .src_constraints = .{ .{ .signed_int = .qword }, .{ .signed_int = .qword }, .any }, | ||
| 19893 | .patterns = &.{ | ||
| 19894 | .{ .src = .{ .to_mut_gpr, .mem, .none } }, | ||
| 19895 | .{ .src = .{ .mem, .to_mut_gpr, .none }, .commute = .{ 0, 1 } }, | ||
| 19896 | .{ .src = .{ .to_mut_gpr, .to_gpr, .none } }, | ||
| 19897 | }, | ||
| 19898 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, | ||
| 19899 | .clobbers = .{ .eflags = true }, | ||
| 19900 | .each = .{ .once = &.{ | ||
| 19901 | .{ ._, ._, .cmp, .src0q, .src1q, ._, ._ }, | ||
| 19902 | .{ ._, ._l, .cmov, .dst0q, .src1q, ._, ._ }, | ||
| 19903 | } }, | ||
| 19904 | }, .{ | ||
| 19905 | .required_features = .{ .@"64bit", null, null, null }, | ||
| 19906 | .src_constraints = .{ .{ .signed_int = .qword }, .{ .signed_int = .qword }, .any }, | ||
| 19907 | .patterns = &.{ | ||
| 19908 | .{ .src = .{ .to_mut_gpr, .mem, .none } }, | ||
| 19909 | .{ .src = .{ .mem, .to_mut_gpr, .none }, .commute = .{ 0, 1 } }, | ||
| 19910 | .{ .src = .{ .to_mut_gpr, .to_gpr, .none } }, | ||
| 19911 | }, | ||
| 19912 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, | ||
| 19913 | .clobbers = .{ .eflags = true }, | ||
| 19914 | .each = .{ .once = &.{ | ||
| 19915 | .{ ._, ._, .cmp, .src0q, .src1q, ._, ._ }, | ||
| 19916 | .{ ._, ._nl, .j, .@"0f", ._, ._, ._ }, | ||
| 19917 | .{ ._, ._, .mov, .dst0q, .src1q, ._, ._ }, | ||
| 19918 | } }, | ||
| 19919 | }, .{ | ||
| 19920 | .required_features = .{ .@"64bit", .cmov, null, null }, | ||
| 19921 | .src_constraints = .{ .{ .unsigned_int = .qword }, .{ .unsigned_int = .qword }, .any }, | ||
| 19922 | .patterns = &.{ | ||
| 19923 | .{ .src = .{ .to_mut_gpr, .mem, .none } }, | ||
| 19924 | .{ .src = .{ .mem, .to_mut_gpr, .none }, .commute = .{ 0, 1 } }, | ||
| 19925 | .{ .src = .{ .to_mut_gpr, .to_gpr, .none } }, | ||
| 19926 | }, | ||
| 19927 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, | ||
| 19928 | .clobbers = .{ .eflags = true }, | ||
| 19929 | .each = .{ .once = &.{ | ||
| 19930 | .{ ._, ._, .cmp, .src0q, .src1q, ._, ._ }, | ||
| 19931 | .{ ._, ._b, .cmov, .dst0q, .src1q, ._, ._ }, | ||
| 19932 | } }, | ||
| 19933 | }, .{ | ||
| 19934 | .required_features = .{ .@"64bit", null, null, null }, | ||
| 19935 | .src_constraints = .{ .{ .unsigned_int = .qword }, .{ .unsigned_int = .qword }, .any }, | ||
| 19936 | .patterns = &.{ | ||
| 19937 | .{ .src = .{ .to_mut_gpr, .mem, .none } }, | ||
| 19938 | .{ .src = .{ .mem, .to_mut_gpr, .none }, .commute = .{ 0, 1 } }, | ||
| 19939 | .{ .src = .{ .to_mut_gpr, .to_gpr, .none } }, | ||
| 19940 | }, | ||
| 19941 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, | ||
| 19942 | .clobbers = .{ .eflags = true }, | ||
| 19943 | .each = .{ .once = &.{ | ||
| 19944 | .{ ._, ._, .cmp, .src0q, .src1q, ._, ._ }, | ||
| 19945 | .{ ._, ._nb, .j, .@"0f", ._, ._, ._ }, | ||
| 19946 | .{ ._, ._, .mov, .dst0q, .src1q, ._, ._ }, | ||
| 19947 | } }, | ||
| 19948 | }, .{ | ||
| 19949 | .required_features = .{ .@"64bit", .cmov, null, null }, | ||
| 19950 | .src_constraints = .{ .any_signed_int, .any_signed_int, .any }, | ||
| 19951 | .patterns = &.{ | ||
| 19952 | .{ .src = .{ .to_mem, .to_mem, .none } }, | ||
| 19953 | }, | ||
| 19954 | .extra_temps = .{ | ||
| 19955 | .{ .type = .isize, .kind = .{ .reg = .rsi } }, | ||
| 19956 | .{ .type = .u64, .kind = .{ .reg = .rdi } }, | ||
| 19957 | .{ .type = .u64, .kind = .{ .reg = .rcx } }, | ||
| 19958 | .unused, | ||
| 19959 | .unused, | ||
| 19960 | .unused, | ||
| 19961 | .unused, | ||
| 19962 | .unused, | ||
| 19963 | .unused, | ||
| 19964 | .unused, | ||
| 19965 | .unused, | ||
| 19966 | }, | ||
| 19967 | .dst_temps = .{ .mem, .unused }, | ||
| 19968 | .clobbers = .{ .eflags = true }, | ||
| 19969 | .each = .{ .once = &.{ | ||
| 19970 | .{ ._, ._, .mov, .tmp0p, .sia(1, .src0, .sub_size_div_8), ._, ._ }, | ||
| 19971 | .{ ._, ._c, .cl, ._, ._, ._, ._ }, | ||
| 19972 | .{ .@"0:", ._, .mov, .tmp1q, .memsiad(.src0q, .@"8", .tmp0, .add_size, -8), ._, ._ }, | ||
| 19973 | .{ ._, ._, .sbb, .tmp1q, .memsiad(.src1q, .@"8", .tmp0, .add_size, -8), ._, ._ }, | ||
| 19974 | .{ ._, ._c, .in, .tmp0p, ._, ._, ._ }, | ||
| 19975 | .{ ._, ._nz, .j, .@"0b", ._, ._, ._ }, | ||
| 19976 | .{ ._, ._, .mov, .tmp1q, .memad(.src0q, .add_size, -8), ._, ._ }, | ||
| 19977 | .{ ._, ._, .sbb, .tmp1q, .memad(.src1q, .add_size, -8), ._, ._ }, | ||
| 19978 | .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ }, | ||
| 19979 | .{ ._, ._, .lea, .tmp1p, .mem(.src1), ._, ._ }, | ||
| 19980 | .{ ._, ._l, .cmov, .tmp0p, .tmp1p, ._, ._ }, | ||
| 19981 | .{ ._, ._, .lea, .tmp1p, .mem(.dst0), ._, ._ }, | ||
| 19982 | .{ ._, ._, .mov, .tmp2d, .sa(.src0, .add_size_div_8), ._, ._ }, | ||
| 19983 | .{ ._, .@"rep _sq", .mov, ._, ._, ._, ._ }, | ||
| 19984 | } }, | ||
| 19985 | }, .{ | ||
| 19986 | .required_features = .{ .@"64bit", null, null, null }, | ||
| 19987 | .src_constraints = .{ .any_signed_int, .any_signed_int, .any }, | ||
| 19988 | .patterns = &.{ | ||
| 19989 | .{ .src = .{ .to_mem, .to_mem, .none } }, | ||
| 19990 | }, | ||
| 19991 | .extra_temps = .{ | ||
| 19992 | .{ .type = .isize, .kind = .{ .reg = .rsi } }, | ||
| 19993 | .{ .type = .u64, .kind = .{ .reg = .rdi } }, | ||
| 19994 | .{ .type = .u64, .kind = .{ .reg = .rcx } }, | ||
| 19995 | .unused, | ||
| 19996 | .unused, | ||
| 19997 | .unused, | ||
| 19998 | .unused, | ||
| 19999 | .unused, | ||
| 20000 | .unused, | ||
| 20001 | .unused, | ||
| 20002 | .unused, | ||
| 20003 | }, | ||
| 20004 | .dst_temps = .{ .mem, .unused }, | ||
| 16944 | .clobbers = .{ .eflags = true }, | 20005 | .clobbers = .{ .eflags = true }, |
| 16945 | .each = .{ .once = &.{ | 20006 | .each = .{ .once = &.{ |
| 16946 | .{ ._, ._, .lea, .dst0p, .leasi(.src1, .@"2", .src1), ._, ._ }, | 20007 | .{ ._, ._, .mov, .tmp0p, .sia(1, .src0, .sub_size_div_8), ._, ._ }, |
| 16947 | .{ ._, ._, .neg, .dst0p, ._, ._, ._ }, | 20008 | .{ ._, ._c, .cl, ._, ._, ._, ._ }, |
| 16948 | .{ ._, ._, .lea, .dst0p, .leai(.src0, .dst0), ._, ._ }, | 20009 | .{ .@"0:", ._, .mov, .tmp1q, .memsiad(.src0q, .@"8", .tmp0, .add_size, -8), ._, ._ }, |
| 20010 | .{ ._, ._, .sbb, .tmp1q, .memsiad(.src1q, .@"8", .tmp0, .add_size, -8), ._, ._ }, | ||
| 20011 | .{ ._, ._c, .in, .tmp0p, ._, ._, ._ }, | ||
| 20012 | .{ ._, ._nz, .j, .@"0b", ._, ._, ._ }, | ||
| 20013 | .{ ._, ._, .mov, .tmp1q, .memad(.src0q, .add_size, -8), ._, ._ }, | ||
| 20014 | .{ ._, ._, .sbb, .tmp1q, .memad(.src1q, .add_size, -8), ._, ._ }, | ||
| 20015 | .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ }, | ||
| 20016 | .{ ._, ._nl, .j, .@"0f", ._, ._, ._ }, | ||
| 20017 | .{ ._, ._, .lea, .tmp0p, .mem(.src1), ._, ._ }, | ||
| 20018 | .{ .@"0:", ._, .lea, .tmp1p, .mem(.dst0), ._, ._ }, | ||
| 20019 | .{ ._, ._, .mov, .tmp2d, .sa(.src0, .add_size_div_8), ._, ._ }, | ||
| 20020 | .{ ._, .@"rep _sq", .mov, ._, ._, ._, ._ }, | ||
| 16949 | } }, | 20021 | } }, |
| 16950 | }, .{ | 20022 | }, .{ |
| 16951 | .dst_constraints = .{ .{ .elem_size_is = 4 }, .any }, | 20023 | .required_features = .{ .@"64bit", .cmov, null, null }, |
| 20024 | .src_constraints = .{ .any_unsigned_int, .any_unsigned_int, .any }, | ||
| 16952 | .patterns = &.{ | 20025 | .patterns = &.{ |
| 16953 | .{ .src = .{ .to_gpr, .to_mut_gpr, .none } }, | 20026 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 16954 | }, | 20027 | }, |
| 16955 | .dst_temps = .{ .{ .ref = .src1 }, .unused }, | 20028 | .extra_temps = .{ |
| 16956 | .clobbers = .{ .eflags = true }, | 20029 | .{ .type = .isize, .kind = .{ .reg = .rsi } }, |
| 16957 | .each = .{ .once = &.{ | 20030 | .{ .type = .u64, .kind = .{ .reg = .rdi } }, |
| 16958 | .{ ._, ._, .neg, .src1p, ._, ._, ._ }, | 20031 | .{ .type = .u64, .kind = .{ .reg = .rcx } }, |
| 16959 | .{ ._, ._, .lea, .dst0p, .leasi(.src0, .@"4", .src1), ._, ._ }, | 20032 | .unused, |
| 16960 | } }, | 20033 | .unused, |
| 16961 | }, .{ | 20034 | .unused, |
| 16962 | .dst_constraints = .{ .{ .elem_size_is = 4 + 1 }, .any }, | 20035 | .unused, |
| 16963 | .patterns = &.{ | 20036 | .unused, |
| 16964 | .{ .src = .{ .to_gpr, .to_gpr, .none } }, | 20037 | .unused, |
| 20038 | .unused, | ||
| 20039 | .unused, | ||
| 16965 | }, | 20040 | }, |
| 16966 | .dst_temps = .{ .{ .rc = .general_purpose }, .unused }, | 20041 | .dst_temps = .{ .mem, .unused }, |
| 16967 | .clobbers = .{ .eflags = true }, | 20042 | .clobbers = .{ .eflags = true }, |
| 16968 | .each = .{ .once = &.{ | 20043 | .each = .{ .once = &.{ |
| 16969 | .{ ._, ._, .lea, .dst0p, .leasi(.src1, .@"4", .src1), ._, ._ }, | 20044 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size_div_8), ._, ._ }, |
| 16970 | .{ ._, ._, .neg, .dst0p, ._, ._, ._ }, | 20045 | .{ ._, ._c, .cl, ._, ._, ._, ._ }, |
| 16971 | .{ ._, ._, .lea, .dst0p, .leai(.src0, .dst0), ._, ._ }, | 20046 | .{ .@"0:", ._, .mov, .tmp1q, .memsia(.src0q, .@"8", .tmp0, .add_size), ._, ._ }, |
| 20047 | .{ ._, ._, .sbb, .tmp1q, .memsia(.src1q, .@"8", .tmp0, .add_size), ._, ._ }, | ||
| 20048 | .{ ._, ._c, .in, .tmp0p, ._, ._, ._ }, | ||
| 20049 | .{ ._, ._nz, .j, .@"0b", ._, ._, ._ }, | ||
| 20050 | .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ }, | ||
| 20051 | .{ ._, ._, .lea, .tmp1p, .mem(.src1), ._, ._ }, | ||
| 20052 | .{ ._, ._b, .cmov, .tmp0p, .tmp1p, ._, ._ }, | ||
| 20053 | .{ ._, ._, .lea, .tmp1p, .mem(.dst0), ._, ._ }, | ||
| 20054 | .{ ._, ._, .mov, .tmp2d, .sa(.src0, .add_size_div_8), ._, ._ }, | ||
| 20055 | .{ ._, .@"rep _sq", .mov, ._, ._, ._, ._ }, | ||
| 16972 | } }, | 20056 | } }, |
| 16973 | }, .{ | 20057 | }, .{ |
| 16974 | .required_features = .{ .@"64bit", null, null, null }, | 20058 | .required_features = .{ .@"64bit", null, null, null }, |
| 16975 | .dst_constraints = .{ .{ .elem_size_is = 8 }, .any }, | 20059 | .src_constraints = .{ .any_unsigned_int, .any_unsigned_int, .any }, |
| 16976 | .patterns = &.{ | 20060 | .patterns = &.{ |
| 16977 | .{ .src = .{ .to_gpr, .to_mut_gpr, .none } }, | 20061 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 16978 | }, | 20062 | }, |
| 16979 | .dst_temps = .{ .{ .ref = .src1 }, .unused }, | 20063 | .extra_temps = .{ |
| 20064 | .{ .type = .isize, .kind = .{ .reg = .rsi } }, | ||
| 20065 | .{ .type = .u64, .kind = .{ .reg = .rdi } }, | ||
| 20066 | .{ .type = .u64, .kind = .{ .reg = .rcx } }, | ||
| 20067 | .unused, | ||
| 20068 | .unused, | ||
| 20069 | .unused, | ||
| 20070 | .unused, | ||
| 20071 | .unused, | ||
| 20072 | .unused, | ||
| 20073 | .unused, | ||
| 20074 | .unused, | ||
| 20075 | }, | ||
| 20076 | .dst_temps = .{ .mem, .unused }, | ||
| 16980 | .clobbers = .{ .eflags = true }, | 20077 | .clobbers = .{ .eflags = true }, |
| 16981 | .each = .{ .once = &.{ | 20078 | .each = .{ .once = &.{ |
| 16982 | .{ ._, ._, .neg, .src1p, ._, ._, ._ }, | 20079 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size_div_8), ._, ._ }, |
| 16983 | .{ ._, ._, .lea, .dst0p, .leasi(.src0, .@"8", .src1), ._, ._ }, | 20080 | .{ ._, ._c, .cl, ._, ._, ._, ._ }, |
| 20081 | .{ .@"0:", ._, .mov, .tmp1q, .memsia(.src0q, .@"8", .tmp0, .add_size), ._, ._ }, | ||
| 20082 | .{ ._, ._, .sbb, .tmp1q, .memsia(.src1q, .@"8", .tmp0, .add_size), ._, ._ }, | ||
| 20083 | .{ ._, ._c, .in, .tmp0p, ._, ._, ._ }, | ||
| 20084 | .{ ._, ._nz, .j, .@"0b", ._, ._, ._ }, | ||
| 20085 | .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ }, | ||
| 20086 | .{ ._, ._nb, .j, .@"0f", ._, ._, ._ }, | ||
| 20087 | .{ ._, ._, .lea, .tmp0p, .mem(.src1), ._, ._ }, | ||
| 20088 | .{ .@"0:", ._, .lea, .tmp1p, .mem(.dst0), ._, ._ }, | ||
| 20089 | .{ ._, ._, .mov, .tmp2d, .sa(.src0, .add_size_div_8), ._, ._ }, | ||
| 20090 | .{ ._, .@"rep _sq", .mov, ._, ._, ._, ._ }, | ||
| 16984 | } }, | 20091 | } }, |
| 16985 | }, .{ | 20092 | }, .{ |
| 16986 | .required_features = .{ .@"64bit", null, null, null }, | 20093 | .required_features = .{ .avx, null, null, null }, |
| 16987 | .dst_constraints = .{ .{ .elem_size_is = 8 + 1 }, .any }, | 20094 | .src_constraints = .{ |
| 20095 | .{ .scalar_signed_int = .{ .of = .xword, .is = .byte } }, | ||
| 20096 | .{ .scalar_signed_int = .{ .of = .xword, .is = .byte } }, | ||
| 20097 | .any, | ||
| 20098 | }, | ||
| 16988 | .patterns = &.{ | 20099 | .patterns = &.{ |
| 16989 | .{ .src = .{ .to_gpr, .to_gpr, .none } }, | 20100 | .{ .src = .{ .to_sse, .mem, .none } }, |
| 20101 | .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } }, | ||
| 20102 | .{ .src = .{ .to_sse, .to_sse, .none } }, | ||
| 16990 | }, | 20103 | }, |
| 16991 | .dst_temps = .{ .{ .rc = .general_purpose }, .unused }, | 20104 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| 16992 | .clobbers = .{ .eflags = true }, | ||
| 16993 | .each = .{ .once = &.{ | 20105 | .each = .{ .once = &.{ |
| 16994 | .{ ._, ._, .lea, .dst0p, .leasi(.src1, .@"8", .src1), ._, ._ }, | 20106 | .{ ._, .vp_b, .maxs, .dst0x, .src0x, .src1x, ._ }, |
| 16995 | .{ ._, ._, .neg, .dst0p, ._, ._, ._ }, | ||
| 16996 | .{ ._, ._, .lea, .dst0p, .leai(.src0, .dst0), ._, ._ }, | ||
| 16997 | } }, | 20107 | } }, |
| 16998 | }, .{ | 20108 | }, .{ |
| 16999 | .dst_constraints = .{ .po2_elem_size, .any }, | 20109 | .required_features = .{ .sse4_1, null, null, null }, |
| 20110 | .src_constraints = .{ | ||
| 20111 | .{ .scalar_signed_int = .{ .of = .xword, .is = .byte } }, | ||
| 20112 | .{ .scalar_signed_int = .{ .of = .xword, .is = .byte } }, | ||
| 20113 | .any, | ||
| 20114 | }, | ||
| 17000 | .patterns = &.{ | 20115 | .patterns = &.{ |
| 17001 | .{ .src = .{ .to_gpr, .to_mut_gpr, .none } }, | 20116 | .{ .src = .{ .to_mut_sse, .mem, .none } }, |
| 20117 | .{ .src = .{ .mem, .to_mut_sse, .none }, .commute = .{ 0, 1 } }, | ||
| 20118 | .{ .src = .{ .to_mut_sse, .to_sse, .none } }, | ||
| 17002 | }, | 20119 | }, |
| 17003 | .dst_temps = .{ .{ .ref = .src1 }, .unused }, | 20120 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| 17004 | .clobbers = .{ .eflags = true }, | ||
| 17005 | .each = .{ .once = &.{ | 20121 | .each = .{ .once = &.{ |
| 17006 | .{ ._, ._l, .sa, .src1p, .sa(.none, .add_log2_src0_elem_size), ._, ._ }, | 20122 | .{ ._, .p_b, .maxs, .dst0x, .src1x, ._, ._ }, |
| 17007 | .{ ._, ._, .neg, .src1p, ._, ._, ._ }, | ||
| 17008 | .{ ._, ._, .lea, .dst0p, .leai(.src0, .src1), ._, ._ }, | ||
| 17009 | } }, | 20123 | } }, |
| 17010 | }, .{ | 20124 | }, .{ |
| 20125 | .required_features = .{ .sse2, null, null, null }, | ||
| 20126 | .src_constraints = .{ | ||
| 20127 | .{ .scalar_signed_int = .{ .of = .xword, .is = .byte } }, | ||
| 20128 | .{ .scalar_signed_int = .{ .of = .xword, .is = .byte } }, | ||
| 20129 | .any, | ||
| 20130 | }, | ||
| 17011 | .patterns = &.{ | 20131 | .patterns = &.{ |
| 17012 | .{ .src = .{ .to_gpr, .to_gpr, .none } }, | 20132 | .{ .src = .{ .to_mut_sse, .mem, .none } }, |
| 20133 | .{ .src = .{ .mem, .to_mut_sse, .none }, .commute = .{ 0, 1 } }, | ||
| 20134 | .{ .src = .{ .to_mut_sse, .to_sse, .none } }, | ||
| 17013 | }, | 20135 | }, |
| 17014 | .dst_temps = .{ .{ .rc = .general_purpose }, .unused }, | 20136 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| 17015 | .clobbers = .{ .eflags = true }, | ||
| 17016 | .each = .{ .once = &.{ | 20137 | .each = .{ .once = &.{ |
| 17017 | .{ ._, .i_, .mul, .dst0p, .src1p, .sa(.none, .sub_src0_elem_size), ._ }, | 20138 | .{ ._, ._dqa, .mov, .dst0x, .src0x, ._, ._ }, |
| 17018 | .{ ._, ._, .lea, .dst0p, .leai(.src0, .dst0), ._, ._ }, | 20139 | .{ ._, .p_b, .cmpgt, .dst0x, .src1x, ._, ._ }, |
| 20140 | .{ ._, .p_, .@"and", .src0x, .dst0x, ._, ._ }, | ||
| 20141 | .{ ._, .p_, .andn, .dst0x, .src1x, ._, ._ }, | ||
| 20142 | .{ ._, .p_, .@"or", .dst0x, .src0x, ._, ._ }, | ||
| 17019 | } }, | 20143 | } }, |
| 17020 | } }) catch |err| switch (err) { | 20144 | }, .{ |
| 17021 | error.SelectFailed => return cg.fail("failed to select {s} {} {} {}", .{ | 20145 | .required_features = .{ .avx2, null, null, null }, |
| 17022 | @tagName(air_tag), | 20146 | .src_constraints = .{ |
| 17023 | cg.typeOf(bin_op.lhs).fmt(pt), | 20147 | .{ .scalar_signed_int = .{ .of = .yword, .is = .byte } }, |
| 17024 | ops[0].tracking(cg), | 20148 | .{ .scalar_signed_int = .{ .of = .yword, .is = .byte } }, |
| 17025 | ops[1].tracking(cg), | 20149 | .any, |
| 17026 | }), | 20150 | }, |
| 17027 | else => |e| return e, | ||
| 17028 | } else res[0] = ops[0]; | ||
| 17029 | try res[0].finish(inst, &.{ bin_op.lhs, bin_op.rhs }, &ops, cg); | ||
| 17030 | }, | ||
| 17031 | .max => |air_tag| if (use_old) try cg.airBinOp(inst, air_tag) else { | ||
| 17032 | const bin_op = air_datas[@intFromEnum(inst)].bin_op; | ||
| 17033 | var ops = try cg.tempsFromOperands(inst, .{ bin_op.lhs, bin_op.rhs }); | ||
| 17034 | var res: [1]Temp = undefined; | ||
| 17035 | cg.select(&res, &.{cg.typeOf(bin_op.lhs)}, &ops, comptime &.{ .{ | ||
| 17036 | .required_features = .{ .cmov, null, null, null }, | ||
| 17037 | .src_constraints = .{ .{ .signed_int = .byte }, .{ .signed_int = .byte }, .any }, | ||
| 17038 | .patterns = &.{ | 20151 | .patterns = &.{ |
| 17039 | .{ .src = .{ .to_mut_gpr, .to_gpr, .none } }, | 20152 | .{ .src = .{ .to_sse, .mem, .none } }, |
| 20153 | .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } }, | ||
| 20154 | .{ .src = .{ .to_sse, .to_sse, .none } }, | ||
| 17040 | }, | 20155 | }, |
| 17041 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, | 20156 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| 17042 | .clobbers = .{ .eflags = true }, | ||
| 17043 | .each = .{ .once = &.{ | 20157 | .each = .{ .once = &.{ |
| 17044 | .{ ._, ._, .cmp, .src0b, .src1b, ._, ._ }, | 20158 | .{ ._, .vp_b, .maxs, .dst0y, .src0y, .src1y, ._ }, |
| 17045 | .{ ._, ._l, .cmov, .dst0d, .src1d, ._, ._ }, | ||
| 17046 | } }, | 20159 | } }, |
| 17047 | }, .{ | 20160 | }, .{ |
| 17048 | .src_constraints = .{ .{ .signed_int = .byte }, .{ .signed_int = .byte }, .any }, | 20161 | .required_features = .{ .avx2, null, null, null }, |
| 20162 | .src_constraints = .{ | ||
| 20163 | .{ .multiple_scalar_signed_int = .{ .of = .yword, .is = .byte } }, | ||
| 20164 | .{ .multiple_scalar_signed_int = .{ .of = .yword, .is = .byte } }, | ||
| 20165 | .any, | ||
| 20166 | }, | ||
| 17049 | .patterns = &.{ | 20167 | .patterns = &.{ |
| 17050 | .{ .src = .{ .to_mut_gpr, .mem, .none } }, | 20168 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 17051 | .{ .src = .{ .mem, .to_mut_gpr, .none }, .commute = .{ 0, 1 } }, | ||
| 17052 | .{ .src = .{ .to_mut_gpr, .to_gpr, .none } }, | ||
| 17053 | }, | 20169 | }, |
| 17054 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, | 20170 | .extra_temps = .{ |
| 20171 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | ||
| 20172 | .{ .type = .vector_32_i8, .kind = .{ .rc = .sse } }, | ||
| 20173 | .unused, | ||
| 20174 | .unused, | ||
| 20175 | .unused, | ||
| 20176 | .unused, | ||
| 20177 | .unused, | ||
| 20178 | .unused, | ||
| 20179 | .unused, | ||
| 20180 | .unused, | ||
| 20181 | .unused, | ||
| 20182 | }, | ||
| 20183 | .dst_temps = .{ .mem, .unused }, | ||
| 17055 | .clobbers = .{ .eflags = true }, | 20184 | .clobbers = .{ .eflags = true }, |
| 17056 | .each = .{ .once = &.{ | 20185 | .each = .{ .once = &.{ |
| 17057 | .{ ._, ._, .cmp, .src0b, .src1b, ._, ._ }, | 20186 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, |
| 17058 | .{ ._, ._nl, .j, .@"0f", ._, ._, ._ }, | 20187 | .{ .@"0:", .v_dqa, .mov, .tmp1y, .memia(.src0y, .tmp0, .add_size), ._, ._ }, |
| 17059 | .{ ._, ._, .mov, .dst0b, .src1b, ._, ._ }, | 20188 | .{ ._, .vp_b, .maxs, .tmp1y, .tmp1y, .memia(.src1y, .tmp0, .add_size), ._ }, |
| 20189 | .{ ._, .v_dqa, .mov, .memia(.dst0y, .tmp0, .add_size), .tmp1y, ._, ._ }, | ||
| 20190 | .{ ._, ._, .add, .tmp0p, .si(32), ._, ._ }, | ||
| 20191 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | ||
| 17060 | } }, | 20192 | } }, |
| 17061 | }, .{ | 20193 | }, .{ |
| 17062 | .required_features = .{ .cmov, null, null, null }, | 20194 | .required_features = .{ .avx, null, null, null }, |
| 17063 | .src_constraints = .{ .{ .unsigned_int = .byte }, .{ .unsigned_int = .byte }, .any }, | 20195 | .src_constraints = .{ |
| 20196 | .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .byte } }, | ||
| 20197 | .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .byte } }, | ||
| 20198 | .any, | ||
| 20199 | }, | ||
| 17064 | .patterns = &.{ | 20200 | .patterns = &.{ |
| 17065 | .{ .src = .{ .to_mut_gpr, .to_gpr, .none } }, | 20201 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 17066 | }, | 20202 | }, |
| 17067 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, | 20203 | .extra_temps = .{ |
| 20204 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | ||
| 20205 | .{ .type = .vector_16_i8, .kind = .{ .rc = .sse } }, | ||
| 20206 | .unused, | ||
| 20207 | .unused, | ||
| 20208 | .unused, | ||
| 20209 | .unused, | ||
| 20210 | .unused, | ||
| 20211 | .unused, | ||
| 20212 | .unused, | ||
| 20213 | .unused, | ||
| 20214 | .unused, | ||
| 20215 | }, | ||
| 20216 | .dst_temps = .{ .mem, .unused }, | ||
| 17068 | .clobbers = .{ .eflags = true }, | 20217 | .clobbers = .{ .eflags = true }, |
| 17069 | .each = .{ .once = &.{ | 20218 | .each = .{ .once = &.{ |
| 17070 | .{ ._, ._, .cmp, .src0b, .src1b, ._, ._ }, | 20219 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, |
| 17071 | .{ ._, ._b, .cmov, .dst0d, .src1d, ._, ._ }, | 20220 | .{ .@"0:", .v_dqa, .mov, .tmp1x, .memia(.src0x, .tmp0, .add_size), ._, ._ }, |
| 20221 | .{ ._, .vp_b, .maxs, .tmp1x, .tmp1x, .memia(.src1x, .tmp0, .add_size), ._ }, | ||
| 20222 | .{ ._, .v_dqa, .mov, .memia(.dst0x, .tmp0, .add_size), .tmp1x, ._, ._ }, | ||
| 20223 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, | ||
| 20224 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | ||
| 17072 | } }, | 20225 | } }, |
| 17073 | }, .{ | 20226 | }, .{ |
| 17074 | .src_constraints = .{ .{ .unsigned_int = .byte }, .{ .unsigned_int = .byte }, .any }, | 20227 | .required_features = .{ .sse4_1, null, null, null }, |
| 20228 | .src_constraints = .{ | ||
| 20229 | .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .byte } }, | ||
| 20230 | .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .byte } }, | ||
| 20231 | .any, | ||
| 20232 | }, | ||
| 17075 | .patterns = &.{ | 20233 | .patterns = &.{ |
| 17076 | .{ .src = .{ .to_mut_gpr, .mem, .none } }, | 20234 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 17077 | .{ .src = .{ .mem, .to_mut_gpr, .none }, .commute = .{ 0, 1 } }, | ||
| 17078 | .{ .src = .{ .to_mut_gpr, .to_gpr, .none } }, | ||
| 17079 | }, | 20235 | }, |
| 17080 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, | 20236 | .extra_temps = .{ |
| 20237 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | ||
| 20238 | .{ .type = .vector_16_i8, .kind = .{ .rc = .sse } }, | ||
| 20239 | .unused, | ||
| 20240 | .unused, | ||
| 20241 | .unused, | ||
| 20242 | .unused, | ||
| 20243 | .unused, | ||
| 20244 | .unused, | ||
| 20245 | .unused, | ||
| 20246 | .unused, | ||
| 20247 | .unused, | ||
| 20248 | }, | ||
| 20249 | .dst_temps = .{ .mem, .unused }, | ||
| 17081 | .clobbers = .{ .eflags = true }, | 20250 | .clobbers = .{ .eflags = true }, |
| 17082 | .each = .{ .once = &.{ | 20251 | .each = .{ .once = &.{ |
| 17083 | .{ ._, ._, .cmp, .src0b, .src1b, ._, ._ }, | 20252 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, |
| 17084 | .{ ._, ._nb, .j, .@"0f", ._, ._, ._ }, | 20253 | .{ .@"0:", ._dqa, .mov, .tmp1x, .memia(.src0x, .tmp0, .add_size), ._, ._ }, |
| 17085 | .{ ._, ._, .mov, .dst0b, .src1b, ._, ._ }, | 20254 | .{ ._, .p_b, .maxs, .tmp1x, .memia(.src1x, .tmp0, .add_size), ._, ._ }, |
| 20255 | .{ ._, ._dqa, .mov, .memia(.dst0x, .tmp0, .add_size), .tmp1x, ._, ._ }, | ||
| 20256 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, | ||
| 20257 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | ||
| 17086 | } }, | 20258 | } }, |
| 17087 | }, .{ | 20259 | }, .{ |
| 17088 | .required_features = .{ .cmov, null, null, null }, | 20260 | .required_features = .{ .sse2, null, null, null }, |
| 17089 | .src_constraints = .{ .{ .signed_int = .word }, .{ .signed_int = .word }, .any }, | 20261 | .src_constraints = .{ |
| 20262 | .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .byte } }, | ||
| 20263 | .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .byte } }, | ||
| 20264 | .any, | ||
| 20265 | }, | ||
| 17090 | .patterns = &.{ | 20266 | .patterns = &.{ |
| 17091 | .{ .src = .{ .to_mut_gpr, .mem, .none } }, | 20267 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 17092 | .{ .src = .{ .mem, .to_mut_gpr, .none }, .commute = .{ 0, 1 } }, | ||
| 17093 | .{ .src = .{ .to_mut_gpr, .to_gpr, .none } }, | ||
| 17094 | }, | 20268 | }, |
| 17095 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, | 20269 | .extra_temps = .{ |
| 20270 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | ||
| 20271 | .{ .type = .vector_16_i8, .kind = .{ .rc = .sse } }, | ||
| 20272 | .{ .type = .vector_16_i8, .kind = .{ .rc = .sse } }, | ||
| 20273 | .unused, | ||
| 20274 | .unused, | ||
| 20275 | .unused, | ||
| 20276 | .unused, | ||
| 20277 | .unused, | ||
| 20278 | .unused, | ||
| 20279 | .unused, | ||
| 20280 | .unused, | ||
| 20281 | }, | ||
| 20282 | .dst_temps = .{ .mem, .unused }, | ||
| 17096 | .clobbers = .{ .eflags = true }, | 20283 | .clobbers = .{ .eflags = true }, |
| 17097 | .each = .{ .once = &.{ | 20284 | .each = .{ .once = &.{ |
| 17098 | .{ ._, ._, .cmp, .src0w, .src1w, ._, ._ }, | 20285 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, |
| 17099 | .{ ._, ._l, .cmov, .dst0w, .src1w, ._, ._ }, | 20286 | .{ .@"0:", ._dqa, .mov, .tmp1x, .memia(.src0x, .tmp0, .add_size), ._, ._ }, |
| 20287 | .{ ._, ._dqa, .mov, .tmp2x, .tmp1x, ._, ._ }, | ||
| 20288 | .{ ._, .p_b, .cmpgt, .tmp1x, .memia(.src1x, .tmp0, .add_size), ._, ._ }, | ||
| 20289 | .{ ._, .p_, .@"and", .tmp2x, .tmp1x, ._, ._ }, | ||
| 20290 | .{ ._, .p_, .andn, .tmp1x, .memia(.src1x, .tmp0, .add_size), ._, ._ }, | ||
| 20291 | .{ ._, .p_, .@"or", .tmp1x, .tmp2x, ._, ._ }, | ||
| 20292 | .{ ._, ._dqa, .mov, .memia(.dst0x, .tmp0, .add_size), .tmp1x, ._, ._ }, | ||
| 20293 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, | ||
| 20294 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | ||
| 17100 | } }, | 20295 | } }, |
| 17101 | }, .{ | 20296 | }, .{ |
| 17102 | .src_constraints = .{ .{ .signed_int = .word }, .{ .signed_int = .word }, .any }, | 20297 | .required_features = .{ .cmov, .slow_incdec, null, null }, |
| 20298 | .src_constraints = .{ | ||
| 20299 | .{ .multiple_scalar_signed_int = .{ .of = .byte, .is = .byte } }, | ||
| 20300 | .{ .multiple_scalar_signed_int = .{ .of = .byte, .is = .byte } }, | ||
| 20301 | .any, | ||
| 20302 | }, | ||
| 17103 | .patterns = &.{ | 20303 | .patterns = &.{ |
| 17104 | .{ .src = .{ .to_mut_gpr, .mem, .none } }, | 20304 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 17105 | .{ .src = .{ .mem, .to_mut_gpr, .none }, .commute = .{ 0, 1 } }, | ||
| 17106 | .{ .src = .{ .to_mut_gpr, .to_gpr, .none } }, | ||
| 17107 | }, | 20305 | }, |
| 17108 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, | 20306 | .extra_temps = .{ |
| 20307 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | ||
| 20308 | .{ .type = .i8, .kind = .{ .rc = .general_purpose } }, | ||
| 20309 | .{ .type = .i8, .kind = .{ .rc = .general_purpose } }, | ||
| 20310 | .unused, | ||
| 20311 | .unused, | ||
| 20312 | .unused, | ||
| 20313 | .unused, | ||
| 20314 | .unused, | ||
| 20315 | .unused, | ||
| 20316 | .unused, | ||
| 20317 | .unused, | ||
| 20318 | }, | ||
| 20319 | .dst_temps = .{ .mem, .unused }, | ||
| 17109 | .clobbers = .{ .eflags = true }, | 20320 | .clobbers = .{ .eflags = true }, |
| 17110 | .each = .{ .once = &.{ | 20321 | .each = .{ .once = &.{ |
| 17111 | .{ ._, ._, .cmp, .src0w, .src1w, ._, ._ }, | 20322 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, |
| 17112 | .{ ._, ._nl, .j, .@"0f", ._, ._, ._ }, | 20323 | .{ .@"0:", ._, .movsx, .tmp1d, .memia(.src0b, .tmp0, .add_size), ._, ._ }, |
| 17113 | .{ ._, ._, .mov, .dst0w, .src1w, ._, ._ }, | 20324 | .{ ._, ._, .movsx, .tmp2d, .memia(.src1b, .tmp0, .add_size), ._, ._ }, |
| 20325 | .{ ._, ._, .cmp, .tmp1b, .tmp2b, ._, ._ }, | ||
| 20326 | .{ ._, ._l, .cmov, .tmp1d, .tmp2d, ._, ._ }, | ||
| 20327 | .{ ._, ._, .mov, .memia(.dst0b, .tmp0, .add_size), .tmp1b, ._, ._ }, | ||
| 20328 | .{ ._, ._, .add, .tmp0p, .si(1), ._, ._ }, | ||
| 20329 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | ||
| 17114 | } }, | 20330 | } }, |
| 17115 | }, .{ | 20331 | }, .{ |
| 17116 | .required_features = .{ .cmov, null, null, null }, | 20332 | .required_features = .{ .cmov, null, null, null }, |
| 17117 | .src_constraints = .{ .{ .unsigned_int = .word }, .{ .unsigned_int = .word }, .any }, | 20333 | .src_constraints = .{ |
| 20334 | .{ .multiple_scalar_signed_int = .{ .of = .byte, .is = .byte } }, | ||
| 20335 | .{ .multiple_scalar_signed_int = .{ .of = .byte, .is = .byte } }, | ||
| 20336 | .any, | ||
| 20337 | }, | ||
| 17118 | .patterns = &.{ | 20338 | .patterns = &.{ |
| 17119 | .{ .src = .{ .to_mut_gpr, .mem, .none } }, | 20339 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 17120 | .{ .src = .{ .mem, .to_mut_gpr, .none }, .commute = .{ 0, 1 } }, | ||
| 17121 | .{ .src = .{ .to_mut_gpr, .to_gpr, .none } }, | ||
| 17122 | }, | 20340 | }, |
| 17123 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, | 20341 | .extra_temps = .{ |
| 20342 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | ||
| 20343 | .{ .type = .i8, .kind = .{ .rc = .general_purpose } }, | ||
| 20344 | .{ .type = .i8, .kind = .{ .rc = .general_purpose } }, | ||
| 20345 | .unused, | ||
| 20346 | .unused, | ||
| 20347 | .unused, | ||
| 20348 | .unused, | ||
| 20349 | .unused, | ||
| 20350 | .unused, | ||
| 20351 | .unused, | ||
| 20352 | .unused, | ||
| 20353 | }, | ||
| 20354 | .dst_temps = .{ .mem, .unused }, | ||
| 17124 | .clobbers = .{ .eflags = true }, | 20355 | .clobbers = .{ .eflags = true }, |
| 17125 | .each = .{ .once = &.{ | 20356 | .each = .{ .once = &.{ |
| 17126 | .{ ._, ._, .cmp, .src0w, .src1w, ._, ._ }, | 20357 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, |
| 17127 | .{ ._, ._b, .cmov, .dst0w, .src1w, ._, ._ }, | 20358 | .{ .@"0:", ._, .movsx, .tmp1d, .memia(.src0b, .tmp0, .add_size), ._, ._ }, |
| 20359 | .{ ._, ._, .movsx, .tmp2d, .memia(.src1b, .tmp0, .add_size), ._, ._ }, | ||
| 20360 | .{ ._, ._, .cmp, .tmp1b, .tmp2b, ._, ._ }, | ||
| 20361 | .{ ._, ._l, .cmov, .tmp1d, .tmp2d, ._, ._ }, | ||
| 20362 | .{ ._, ._, .mov, .memia(.dst0b, .tmp0, .add_size), .tmp1b, ._, ._ }, | ||
| 20363 | .{ ._, ._c, .in, .tmp0p, ._, ._, ._ }, | ||
| 20364 | .{ ._, ._nz, .j, .@"0b", ._, ._, ._ }, | ||
| 17128 | } }, | 20365 | } }, |
| 17129 | }, .{ | 20366 | }, .{ |
| 17130 | .src_constraints = .{ .{ .unsigned_int = .word }, .{ .unsigned_int = .word }, .any }, | 20367 | .required_features = .{ .slow_incdec, null, null, null }, |
| 20368 | .src_constraints = .{ | ||
| 20369 | .{ .multiple_scalar_signed_int = .{ .of = .byte, .is = .byte } }, | ||
| 20370 | .{ .multiple_scalar_signed_int = .{ .of = .byte, .is = .byte } }, | ||
| 20371 | .any, | ||
| 20372 | }, | ||
| 17131 | .patterns = &.{ | 20373 | .patterns = &.{ |
| 17132 | .{ .src = .{ .to_mut_gpr, .mem, .none } }, | 20374 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 17133 | .{ .src = .{ .mem, .to_mut_gpr, .none }, .commute = .{ 0, 1 } }, | ||
| 17134 | .{ .src = .{ .to_mut_gpr, .to_gpr, .none } }, | ||
| 17135 | }, | 20375 | }, |
| 17136 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, | 20376 | .extra_temps = .{ |
| 20377 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | ||
| 20378 | .{ .type = .i8, .kind = .{ .rc = .general_purpose } }, | ||
| 20379 | .unused, | ||
| 20380 | .unused, | ||
| 20381 | .unused, | ||
| 20382 | .unused, | ||
| 20383 | .unused, | ||
| 20384 | .unused, | ||
| 20385 | .unused, | ||
| 20386 | .unused, | ||
| 20387 | .unused, | ||
| 20388 | }, | ||
| 20389 | .dst_temps = .{ .mem, .unused }, | ||
| 17137 | .clobbers = .{ .eflags = true }, | 20390 | .clobbers = .{ .eflags = true }, |
| 17138 | .each = .{ .once = &.{ | 20391 | .each = .{ .once = &.{ |
| 17139 | .{ ._, ._, .cmp, .src0w, .src1w, ._, ._ }, | 20392 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, |
| 17140 | .{ ._, ._nb, .j, .@"0f", ._, ._, ._ }, | 20393 | .{ .@"0:", ._, .movsx, .tmp1d, .memia(.src0b, .tmp0, .add_size), ._, ._ }, |
| 17141 | .{ ._, ._, .mov, .dst0w, .src1w, ._, ._ }, | 20394 | .{ ._, ._, .cmp, .tmp1b, .memia(.src1b, .tmp0, .add_size), ._, ._ }, |
| 20395 | .{ ._, ._nl, .j, .@"1f", ._, ._, ._ }, | ||
| 20396 | .{ ._, ._, .mov, .tmp1b, .memia(.src1b, .tmp0, .add_size), ._, ._ }, | ||
| 20397 | .{ .@"1:", ._, .mov, .memia(.dst0b, .tmp0, .add_size), .tmp1b, ._, ._ }, | ||
| 20398 | .{ ._, ._, .add, .tmp0p, .si(1), ._, ._ }, | ||
| 20399 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | ||
| 17142 | } }, | 20400 | } }, |
| 17143 | }, .{ | 20401 | }, .{ |
| 17144 | .required_features = .{ .cmov, null, null, null }, | 20402 | .src_constraints = .{ |
| 17145 | .src_constraints = .{ .{ .signed_int = .dword }, .{ .signed_int = .dword }, .any }, | 20403 | .{ .multiple_scalar_signed_int = .{ .of = .byte, .is = .byte } }, |
| 20404 | .{ .multiple_scalar_signed_int = .{ .of = .byte, .is = .byte } }, | ||
| 20405 | .any, | ||
| 20406 | }, | ||
| 17146 | .patterns = &.{ | 20407 | .patterns = &.{ |
| 17147 | .{ .src = .{ .to_mut_gpr, .mem, .none } }, | 20408 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 17148 | .{ .src = .{ .mem, .to_mut_gpr, .none }, .commute = .{ 0, 1 } }, | ||
| 17149 | .{ .src = .{ .to_mut_gpr, .to_gpr, .none } }, | ||
| 17150 | }, | 20409 | }, |
| 17151 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, | 20410 | .extra_temps = .{ |
| 20411 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | ||
| 20412 | .{ .type = .i8, .kind = .{ .rc = .general_purpose } }, | ||
| 20413 | .unused, | ||
| 20414 | .unused, | ||
| 20415 | .unused, | ||
| 20416 | .unused, | ||
| 20417 | .unused, | ||
| 20418 | .unused, | ||
| 20419 | .unused, | ||
| 20420 | .unused, | ||
| 20421 | .unused, | ||
| 20422 | }, | ||
| 20423 | .dst_temps = .{ .mem, .unused }, | ||
| 17152 | .clobbers = .{ .eflags = true }, | 20424 | .clobbers = .{ .eflags = true }, |
| 17153 | .each = .{ .once = &.{ | 20425 | .each = .{ .once = &.{ |
| 17154 | .{ ._, ._, .cmp, .src0d, .src1d, ._, ._ }, | 20426 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, |
| 17155 | .{ ._, ._l, .cmov, .dst0d, .src1d, ._, ._ }, | 20427 | .{ .@"0:", ._, .movsx, .tmp1d, .memia(.src0b, .tmp0, .add_size), ._, ._ }, |
| 20428 | .{ ._, ._, .cmp, .tmp1b, .memia(.src1b, .tmp0, .add_size), ._, ._ }, | ||
| 20429 | .{ ._, ._nl, .j, .@"1f", ._, ._, ._ }, | ||
| 20430 | .{ ._, ._, .mov, .tmp1b, .memia(.src1b, .tmp0, .add_size), ._, ._ }, | ||
| 20431 | .{ .@"1:", ._, .mov, .memia(.dst0b, .tmp0, .add_size), .tmp1b, ._, ._ }, | ||
| 20432 | .{ ._, ._c, .in, .tmp0p, ._, ._, ._ }, | ||
| 20433 | .{ ._, ._nz, .j, .@"0b", ._, ._, ._ }, | ||
| 17156 | } }, | 20434 | } }, |
| 17157 | }, .{ | 20435 | }, .{ |
| 17158 | .src_constraints = .{ .{ .signed_int = .dword }, .{ .signed_int = .dword }, .any }, | 20436 | .required_features = .{ .sse, .mmx, null, null }, |
| 20437 | .src_constraints = .{ | ||
| 20438 | .{ .scalar_unsigned_int = .{ .of = .qword, .is = .byte } }, | ||
| 20439 | .{ .scalar_unsigned_int = .{ .of = .qword, .is = .byte } }, | ||
| 20440 | .any, | ||
| 20441 | }, | ||
| 17159 | .patterns = &.{ | 20442 | .patterns = &.{ |
| 17160 | .{ .src = .{ .to_mut_gpr, .mem, .none } }, | 20443 | .{ .src = .{ .to_mut_mmx, .mem, .none } }, |
| 17161 | .{ .src = .{ .mem, .to_mut_gpr, .none }, .commute = .{ 0, 1 } }, | 20444 | .{ .src = .{ .mem, .to_mut_mmx, .none }, .commute = .{ 0, 1 } }, |
| 17162 | .{ .src = .{ .to_mut_gpr, .to_gpr, .none } }, | 20445 | .{ .src = .{ .to_mut_mmx, .to_mmx, .none } }, |
| 17163 | }, | 20446 | }, |
| 17164 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, | 20447 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| 17165 | .clobbers = .{ .eflags = true }, | ||
| 17166 | .each = .{ .once = &.{ | 20448 | .each = .{ .once = &.{ |
| 17167 | .{ ._, ._, .cmp, .src0d, .src1d, ._, ._ }, | 20449 | .{ ._, .p_b, .maxu, .dst0q, .src1q, ._, ._ }, |
| 17168 | .{ ._, ._nl, .j, .@"0f", ._, ._, ._ }, | ||
| 17169 | .{ ._, ._, .mov, .dst0d, .src1d, ._, ._ }, | ||
| 17170 | } }, | 20450 | } }, |
| 17171 | }, .{ | 20451 | }, .{ |
| 17172 | .required_features = .{ .cmov, null, null, null }, | 20452 | .required_features = .{ .avx, null, null, null }, |
| 17173 | .src_constraints = .{ .{ .unsigned_int = .dword }, .{ .unsigned_int = .dword }, .any }, | 20453 | .src_constraints = .{ |
| 20454 | .{ .scalar_unsigned_int = .{ .of = .xword, .is = .byte } }, | ||
| 20455 | .{ .scalar_unsigned_int = .{ .of = .xword, .is = .byte } }, | ||
| 20456 | .any, | ||
| 20457 | }, | ||
| 17174 | .patterns = &.{ | 20458 | .patterns = &.{ |
| 17175 | .{ .src = .{ .to_mut_gpr, .mem, .none } }, | 20459 | .{ .src = .{ .to_sse, .mem, .none } }, |
| 17176 | .{ .src = .{ .mem, .to_mut_gpr, .none }, .commute = .{ 0, 1 } }, | 20460 | .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } }, |
| 17177 | .{ .src = .{ .to_mut_gpr, .to_gpr, .none } }, | 20461 | .{ .src = .{ .to_sse, .to_sse, .none } }, |
| 17178 | }, | 20462 | }, |
| 17179 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, | 20463 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| 17180 | .clobbers = .{ .eflags = true }, | ||
| 17181 | .each = .{ .once = &.{ | 20464 | .each = .{ .once = &.{ |
| 17182 | .{ ._, ._, .cmp, .src0d, .src1d, ._, ._ }, | 20465 | .{ ._, .vp_b, .maxu, .dst0x, .src0x, .src1x, ._ }, |
| 17183 | .{ ._, ._b, .cmov, .dst0d, .src1d, ._, ._ }, | ||
| 17184 | } }, | 20466 | } }, |
| 17185 | }, .{ | 20467 | }, .{ |
| 17186 | .src_constraints = .{ .{ .unsigned_int = .dword }, .{ .unsigned_int = .dword }, .any }, | 20468 | .required_features = .{ .sse2, null, null, null }, |
| 20469 | .src_constraints = .{ | ||
| 20470 | .{ .scalar_unsigned_int = .{ .of = .xword, .is = .byte } }, | ||
| 20471 | .{ .scalar_unsigned_int = .{ .of = .xword, .is = .byte } }, | ||
| 20472 | .any, | ||
| 20473 | }, | ||
| 17187 | .patterns = &.{ | 20474 | .patterns = &.{ |
| 17188 | .{ .src = .{ .to_mut_gpr, .mem, .none } }, | 20475 | .{ .src = .{ .to_mut_sse, .mem, .none } }, |
| 17189 | .{ .src = .{ .mem, .to_mut_gpr, .none }, .commute = .{ 0, 1 } }, | 20476 | .{ .src = .{ .mem, .to_mut_sse, .none }, .commute = .{ 0, 1 } }, |
| 17190 | .{ .src = .{ .to_mut_gpr, .to_gpr, .none } }, | 20477 | .{ .src = .{ .to_mut_sse, .to_sse, .none } }, |
| 17191 | }, | 20478 | }, |
| 17192 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, | 20479 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| 17193 | .clobbers = .{ .eflags = true }, | ||
| 17194 | .each = .{ .once = &.{ | 20480 | .each = .{ .once = &.{ |
| 17195 | .{ ._, ._, .cmp, .src0d, .src1d, ._, ._ }, | 20481 | .{ ._, .p_b, .maxu, .dst0x, .src1x, ._, ._ }, |
| 17196 | .{ ._, ._nb, .j, .@"0f", ._, ._, ._ }, | ||
| 17197 | .{ ._, ._, .mov, .dst0d, .src1d, ._, ._ }, | ||
| 17198 | } }, | 20482 | } }, |
| 17199 | }, .{ | 20483 | }, .{ |
| 17200 | .required_features = .{ .@"64bit", .cmov, null, null }, | 20484 | .required_features = .{ .avx2, null, null, null }, |
| 17201 | .src_constraints = .{ .{ .signed_int = .qword }, .{ .signed_int = .qword }, .any }, | 20485 | .src_constraints = .{ |
| 20486 | .{ .scalar_unsigned_int = .{ .of = .yword, .is = .byte } }, | ||
| 20487 | .{ .scalar_unsigned_int = .{ .of = .yword, .is = .byte } }, | ||
| 20488 | .any, | ||
| 20489 | }, | ||
| 17202 | .patterns = &.{ | 20490 | .patterns = &.{ |
| 17203 | .{ .src = .{ .to_mut_gpr, .mem, .none } }, | 20491 | .{ .src = .{ .to_sse, .mem, .none } }, |
| 17204 | .{ .src = .{ .mem, .to_mut_gpr, .none }, .commute = .{ 0, 1 } }, | 20492 | .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } }, |
| 17205 | .{ .src = .{ .to_mut_gpr, .to_gpr, .none } }, | 20493 | .{ .src = .{ .to_sse, .to_sse, .none } }, |
| 17206 | }, | 20494 | }, |
| 17207 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, | 20495 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| 17208 | .clobbers = .{ .eflags = true }, | ||
| 17209 | .each = .{ .once = &.{ | 20496 | .each = .{ .once = &.{ |
| 17210 | .{ ._, ._, .cmp, .src0q, .src1q, ._, ._ }, | 20497 | .{ ._, .vp_b, .maxu, .dst0y, .src0y, .src1y, ._ }, |
| 17211 | .{ ._, ._l, .cmov, .dst0q, .src1q, ._, ._ }, | ||
| 17212 | } }, | 20498 | } }, |
| 17213 | }, .{ | 20499 | }, .{ |
| 17214 | .required_features = .{ .@"64bit", null, null, null }, | 20500 | .required_features = .{ .avx2, null, null, null }, |
| 17215 | .src_constraints = .{ .{ .signed_int = .qword }, .{ .signed_int = .qword }, .any }, | 20501 | .src_constraints = .{ |
| 20502 | .{ .multiple_scalar_unsigned_int = .{ .of = .yword, .is = .byte } }, | ||
| 20503 | .{ .multiple_scalar_unsigned_int = .{ .of = .yword, .is = .byte } }, | ||
| 20504 | .any, | ||
| 20505 | }, | ||
| 17216 | .patterns = &.{ | 20506 | .patterns = &.{ |
| 17217 | .{ .src = .{ .to_mut_gpr, .mem, .none } }, | 20507 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 17218 | .{ .src = .{ .mem, .to_mut_gpr, .none }, .commute = .{ 0, 1 } }, | ||
| 17219 | .{ .src = .{ .to_mut_gpr, .to_gpr, .none } }, | ||
| 17220 | }, | 20508 | }, |
| 17221 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, | 20509 | .extra_temps = .{ |
| 20510 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | ||
| 20511 | .{ .type = .vector_32_u8, .kind = .{ .rc = .sse } }, | ||
| 20512 | .unused, | ||
| 20513 | .unused, | ||
| 20514 | .unused, | ||
| 20515 | .unused, | ||
| 20516 | .unused, | ||
| 20517 | .unused, | ||
| 20518 | .unused, | ||
| 20519 | .unused, | ||
| 20520 | .unused, | ||
| 20521 | }, | ||
| 20522 | .dst_temps = .{ .mem, .unused }, | ||
| 17222 | .clobbers = .{ .eflags = true }, | 20523 | .clobbers = .{ .eflags = true }, |
| 17223 | .each = .{ .once = &.{ | 20524 | .each = .{ .once = &.{ |
| 17224 | .{ ._, ._, .cmp, .src0q, .src1q, ._, ._ }, | 20525 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, |
| 17225 | .{ ._, ._nl, .j, .@"0f", ._, ._, ._ }, | 20526 | .{ .@"0:", .v_dqa, .mov, .tmp1y, .memia(.src0y, .tmp0, .add_size), ._, ._ }, |
| 17226 | .{ ._, ._, .mov, .dst0q, .src1q, ._, ._ }, | 20527 | .{ ._, .vp_b, .maxu, .tmp1y, .tmp1y, .memia(.src1y, .tmp0, .add_size), ._ }, |
| 20528 | .{ ._, .v_dqa, .mov, .memia(.dst0y, .tmp0, .add_size), .tmp1y, ._, ._ }, | ||
| 20529 | .{ ._, ._, .add, .tmp0p, .si(32), ._, ._ }, | ||
| 20530 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | ||
| 17227 | } }, | 20531 | } }, |
| 17228 | }, .{ | 20532 | }, .{ |
| 17229 | .required_features = .{ .@"64bit", .cmov, null, null }, | 20533 | .required_features = .{ .avx, null, null, null }, |
| 17230 | .src_constraints = .{ .{ .unsigned_int = .qword }, .{ .unsigned_int = .qword }, .any }, | 20534 | .src_constraints = .{ |
| 20535 | .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .byte } }, | ||
| 20536 | .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .byte } }, | ||
| 20537 | .any, | ||
| 20538 | }, | ||
| 17231 | .patterns = &.{ | 20539 | .patterns = &.{ |
| 17232 | .{ .src = .{ .to_mut_gpr, .mem, .none } }, | 20540 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 17233 | .{ .src = .{ .mem, .to_mut_gpr, .none }, .commute = .{ 0, 1 } }, | ||
| 17234 | .{ .src = .{ .to_mut_gpr, .to_gpr, .none } }, | ||
| 17235 | }, | 20541 | }, |
| 17236 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, | 20542 | .extra_temps = .{ |
| 20543 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | ||
| 20544 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, | ||
| 20545 | .unused, | ||
| 20546 | .unused, | ||
| 20547 | .unused, | ||
| 20548 | .unused, | ||
| 20549 | .unused, | ||
| 20550 | .unused, | ||
| 20551 | .unused, | ||
| 20552 | .unused, | ||
| 20553 | .unused, | ||
| 20554 | }, | ||
| 20555 | .dst_temps = .{ .mem, .unused }, | ||
| 17237 | .clobbers = .{ .eflags = true }, | 20556 | .clobbers = .{ .eflags = true }, |
| 17238 | .each = .{ .once = &.{ | 20557 | .each = .{ .once = &.{ |
| 17239 | .{ ._, ._, .cmp, .src0q, .src1q, ._, ._ }, | 20558 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, |
| 17240 | .{ ._, ._b, .cmov, .dst0q, .src1q, ._, ._ }, | 20559 | .{ .@"0:", .v_dqa, .mov, .tmp1x, .memia(.src0x, .tmp0, .add_size), ._, ._ }, |
| 20560 | .{ ._, .vp_b, .maxu, .tmp1x, .tmp1x, .memia(.src1x, .tmp0, .add_size), ._ }, | ||
| 20561 | .{ ._, .v_dqa, .mov, .memia(.dst0x, .tmp0, .add_size), .tmp1x, ._, ._ }, | ||
| 20562 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, | ||
| 20563 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | ||
| 17241 | } }, | 20564 | } }, |
| 17242 | }, .{ | 20565 | }, .{ |
| 17243 | .required_features = .{ .@"64bit", null, null, null }, | 20566 | .required_features = .{ .sse2, null, null, null }, |
| 17244 | .src_constraints = .{ .{ .unsigned_int = .qword }, .{ .unsigned_int = .qword }, .any }, | 20567 | .src_constraints = .{ |
| 20568 | .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .byte } }, | ||
| 20569 | .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .byte } }, | ||
| 20570 | .any, | ||
| 20571 | }, | ||
| 17245 | .patterns = &.{ | 20572 | .patterns = &.{ |
| 17246 | .{ .src = .{ .to_mut_gpr, .mem, .none } }, | 20573 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 17247 | .{ .src = .{ .mem, .to_mut_gpr, .none }, .commute = .{ 0, 1 } }, | ||
| 17248 | .{ .src = .{ .to_mut_gpr, .to_gpr, .none } }, | ||
| 17249 | }, | 20574 | }, |
| 17250 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, | 20575 | .extra_temps = .{ |
| 20576 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | ||
| 20577 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, | ||
| 20578 | .unused, | ||
| 20579 | .unused, | ||
| 20580 | .unused, | ||
| 20581 | .unused, | ||
| 20582 | .unused, | ||
| 20583 | .unused, | ||
| 20584 | .unused, | ||
| 20585 | .unused, | ||
| 20586 | .unused, | ||
| 20587 | }, | ||
| 20588 | .dst_temps = .{ .mem, .unused }, | ||
| 17251 | .clobbers = .{ .eflags = true }, | 20589 | .clobbers = .{ .eflags = true }, |
| 17252 | .each = .{ .once = &.{ | 20590 | .each = .{ .once = &.{ |
| 17253 | .{ ._, ._, .cmp, .src0q, .src1q, ._, ._ }, | 20591 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, |
| 17254 | .{ ._, ._nb, .j, .@"0f", ._, ._, ._ }, | 20592 | .{ .@"0:", ._dqa, .mov, .tmp1x, .memia(.src0x, .tmp0, .add_size), ._, ._ }, |
| 17255 | .{ ._, ._, .mov, .dst0q, .src1q, ._, ._ }, | 20593 | .{ ._, .p_b, .maxu, .tmp1x, .memia(.src1x, .tmp0, .add_size), ._, ._ }, |
| 20594 | .{ ._, ._dqa, .mov, .memia(.dst0x, .tmp0, .add_size), .tmp1x, ._, ._ }, | ||
| 20595 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, | ||
| 20596 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | ||
| 17256 | } }, | 20597 | } }, |
| 17257 | }, .{ | 20598 | }, .{ |
| 17258 | .required_features = .{ .@"64bit", .cmov, null, null }, | 20599 | .required_features = .{ .cmov, .slow_incdec, null, null }, |
| 17259 | .src_constraints = .{ .any_signed_int, .any_signed_int, .any }, | 20600 | .src_constraints = .{ |
| 20601 | .{ .multiple_scalar_unsigned_int = .{ .of = .byte, .is = .byte } }, | ||
| 20602 | .{ .multiple_scalar_unsigned_int = .{ .of = .byte, .is = .byte } }, | ||
| 20603 | .any, | ||
| 20604 | }, | ||
| 17260 | .patterns = &.{ | 20605 | .patterns = &.{ |
| 17261 | .{ .src = .{ .to_mem, .to_mem, .none } }, | 20606 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 17262 | }, | 20607 | }, |
| 17263 | .extra_temps = .{ | 20608 | .extra_temps = .{ |
| 17264 | .{ .type = .isize, .kind = .{ .reg = .rsi } }, | 20609 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 17265 | .{ .type = .u64, .kind = .{ .reg = .rdi } }, | 20610 | .{ .type = .u8, .kind = .{ .rc = .general_purpose } }, |
| 17266 | .{ .type = .u64, .kind = .{ .reg = .rcx } }, | 20611 | .{ .type = .u8, .kind = .{ .rc = .general_purpose } }, |
| 17267 | .unused, | 20612 | .unused, |
| 17268 | .unused, | 20613 | .unused, |
| 17269 | .unused, | 20614 | .unused, |
| ... | @@ -17276,31 +20621,29 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -17276,31 +20621,29 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 17276 | .dst_temps = .{ .mem, .unused }, | 20621 | .dst_temps = .{ .mem, .unused }, |
| 17277 | .clobbers = .{ .eflags = true }, | 20622 | .clobbers = .{ .eflags = true }, |
| 17278 | .each = .{ .once = &.{ | 20623 | .each = .{ .once = &.{ |
| 17279 | .{ ._, ._, .mov, .tmp0p, .sia(1, .src0, .sub_size_div_8), ._, ._ }, | 20624 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, |
| 17280 | .{ ._, ._c, .cl, ._, ._, ._, ._ }, | 20625 | .{ .@"0:", ._, .movzx, .tmp1d, .memia(.src0b, .tmp0, .add_size), ._, ._ }, |
| 17281 | .{ .@"0:", ._, .mov, .tmp1q, .memsiad(.src0q, .@"8", .tmp0, .add_size, -8), ._, ._ }, | 20626 | .{ ._, ._, .movzx, .tmp2d, .memia(.src1b, .tmp0, .add_size), ._, ._ }, |
| 17282 | .{ ._, ._, .sbb, .tmp1q, .memsiad(.src1q, .@"8", .tmp0, .add_size, -8), ._, ._ }, | 20627 | .{ ._, ._, .cmp, .tmp1b, .tmp2b, ._, ._ }, |
| 17283 | .{ ._, ._c, .in, .tmp0p, ._, ._, ._ }, | 20628 | .{ ._, ._b, .cmov, .tmp1d, .tmp2d, ._, ._ }, |
| 17284 | .{ ._, ._nz, .j, .@"0b", ._, ._, ._ }, | 20629 | .{ ._, ._, .mov, .memia(.dst0b, .tmp0, .add_size), .tmp1b, ._, ._ }, |
| 17285 | .{ ._, ._, .mov, .tmp1q, .memad(.src0q, .add_size, -8), ._, ._ }, | 20630 | .{ ._, ._, .add, .tmp0p, .si(1), ._, ._ }, |
| 17286 | .{ ._, ._, .sbb, .tmp1q, .memad(.src1q, .add_size, -8), ._, ._ }, | 20631 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 17287 | .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ }, | ||
| 17288 | .{ ._, ._, .lea, .tmp1p, .mem(.src1), ._, ._ }, | ||
| 17289 | .{ ._, ._l, .cmov, .tmp0p, .tmp1p, ._, ._ }, | ||
| 17290 | .{ ._, ._, .lea, .tmp1p, .mem(.dst0), ._, ._ }, | ||
| 17291 | .{ ._, ._, .mov, .tmp2d, .sa(.src0, .add_size_div_8), ._, ._ }, | ||
| 17292 | .{ ._, .@"rep _sq", .mov, ._, ._, ._, ._ }, | ||
| 17293 | } }, | 20632 | } }, |
| 17294 | }, .{ | 20633 | }, .{ |
| 17295 | .required_features = .{ .@"64bit", null, null, null }, | 20634 | .required_features = .{ .cmov, null, null, null }, |
| 17296 | .src_constraints = .{ .any_signed_int, .any_signed_int, .any }, | 20635 | .src_constraints = .{ |
| 20636 | .{ .multiple_scalar_unsigned_int = .{ .of = .byte, .is = .byte } }, | ||
| 20637 | .{ .multiple_scalar_unsigned_int = .{ .of = .byte, .is = .byte } }, | ||
| 20638 | .any, | ||
| 20639 | }, | ||
| 17297 | .patterns = &.{ | 20640 | .patterns = &.{ |
| 17298 | .{ .src = .{ .to_mem, .to_mem, .none } }, | 20641 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 17299 | }, | 20642 | }, |
| 17300 | .extra_temps = .{ | 20643 | .extra_temps = .{ |
| 17301 | .{ .type = .isize, .kind = .{ .reg = .rsi } }, | 20644 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 17302 | .{ .type = .u64, .kind = .{ .reg = .rdi } }, | 20645 | .{ .type = .u8, .kind = .{ .rc = .general_purpose } }, |
| 17303 | .{ .type = .u64, .kind = .{ .reg = .rcx } }, | 20646 | .{ .type = .u8, .kind = .{ .rc = .general_purpose } }, |
| 17304 | .unused, | 20647 | .unused, |
| 17305 | .unused, | 20648 | .unused, |
| 17306 | .unused, | 20649 | .unused, |
| ... | @@ -17313,31 +20656,29 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -17313,31 +20656,29 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 17313 | .dst_temps = .{ .mem, .unused }, | 20656 | .dst_temps = .{ .mem, .unused }, |
| 17314 | .clobbers = .{ .eflags = true }, | 20657 | .clobbers = .{ .eflags = true }, |
| 17315 | .each = .{ .once = &.{ | 20658 | .each = .{ .once = &.{ |
| 17316 | .{ ._, ._, .mov, .tmp0p, .sia(1, .src0, .sub_size_div_8), ._, ._ }, | 20659 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, |
| 17317 | .{ ._, ._c, .cl, ._, ._, ._, ._ }, | 20660 | .{ .@"0:", ._, .movzx, .tmp1d, .memia(.src0b, .tmp0, .add_size), ._, ._ }, |
| 17318 | .{ .@"0:", ._, .mov, .tmp1q, .memsiad(.src0q, .@"8", .tmp0, .add_size, -8), ._, ._ }, | 20661 | .{ ._, ._, .movzx, .tmp2d, .memia(.src1b, .tmp0, .add_size), ._, ._ }, |
| 17319 | .{ ._, ._, .sbb, .tmp1q, .memsiad(.src1q, .@"8", .tmp0, .add_size, -8), ._, ._ }, | 20662 | .{ ._, ._, .cmp, .tmp1b, .tmp2b, ._, ._ }, |
| 20663 | .{ ._, ._b, .cmov, .tmp1d, .tmp2d, ._, ._ }, | ||
| 20664 | .{ ._, ._, .mov, .memia(.dst0b, .tmp0, .add_size), .tmp1b, ._, ._ }, | ||
| 17320 | .{ ._, ._c, .in, .tmp0p, ._, ._, ._ }, | 20665 | .{ ._, ._c, .in, .tmp0p, ._, ._, ._ }, |
| 17321 | .{ ._, ._nz, .j, .@"0b", ._, ._, ._ }, | 20666 | .{ ._, ._nz, .j, .@"0b", ._, ._, ._ }, |
| 17322 | .{ ._, ._, .mov, .tmp1q, .memad(.src0q, .add_size, -8), ._, ._ }, | ||
| 17323 | .{ ._, ._, .sbb, .tmp1q, .memad(.src1q, .add_size, -8), ._, ._ }, | ||
| 17324 | .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ }, | ||
| 17325 | .{ ._, ._nl, .j, .@"0f", ._, ._, ._ }, | ||
| 17326 | .{ ._, ._, .lea, .tmp0p, .mem(.src1), ._, ._ }, | ||
| 17327 | .{ .@"0:", ._, .lea, .tmp1p, .mem(.dst0), ._, ._ }, | ||
| 17328 | .{ ._, ._, .mov, .tmp2d, .sa(.src0, .add_size_div_8), ._, ._ }, | ||
| 17329 | .{ ._, .@"rep _sq", .mov, ._, ._, ._, ._ }, | ||
| 17330 | } }, | 20667 | } }, |
| 17331 | }, .{ | 20668 | }, .{ |
| 17332 | .required_features = .{ .@"64bit", .cmov, null, null }, | 20669 | .required_features = .{ .slow_incdec, null, null, null }, |
| 17333 | .src_constraints = .{ .any_unsigned_int, .any_unsigned_int, .any }, | 20670 | .src_constraints = .{ |
| 20671 | .{ .multiple_scalar_unsigned_int = .{ .of = .byte, .is = .byte } }, | ||
| 20672 | .{ .multiple_scalar_unsigned_int = .{ .of = .byte, .is = .byte } }, | ||
| 20673 | .any, | ||
| 20674 | }, | ||
| 17334 | .patterns = &.{ | 20675 | .patterns = &.{ |
| 17335 | .{ .src = .{ .to_mem, .to_mem, .none } }, | 20676 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 17336 | }, | 20677 | }, |
| 17337 | .extra_temps = .{ | 20678 | .extra_temps = .{ |
| 17338 | .{ .type = .isize, .kind = .{ .reg = .rsi } }, | 20679 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 17339 | .{ .type = .u64, .kind = .{ .reg = .rdi } }, | 20680 | .{ .type = .u8, .kind = .{ .rc = .general_purpose } }, |
| 17340 | .{ .type = .u64, .kind = .{ .reg = .rcx } }, | 20681 | .unused, |
| 17341 | .unused, | 20682 | .unused, |
| 17342 | .unused, | 20683 | .unused, |
| 17343 | .unused, | 20684 | .unused, |
| ... | @@ -17350,29 +20691,28 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -17350,29 +20691,28 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 17350 | .dst_temps = .{ .mem, .unused }, | 20691 | .dst_temps = .{ .mem, .unused }, |
| 17351 | .clobbers = .{ .eflags = true }, | 20692 | .clobbers = .{ .eflags = true }, |
| 17352 | .each = .{ .once = &.{ | 20693 | .each = .{ .once = &.{ |
| 17353 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size_div_8), ._, ._ }, | 20694 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, |
| 17354 | .{ ._, ._c, .cl, ._, ._, ._, ._ }, | 20695 | .{ .@"0:", ._, .movzx, .tmp1d, .memia(.src0b, .tmp0, .add_size), ._, ._ }, |
| 17355 | .{ .@"0:", ._, .mov, .tmp1q, .memsia(.src0q, .@"8", .tmp0, .add_size), ._, ._ }, | 20696 | .{ ._, ._, .cmp, .tmp1b, .memia(.src1b, .tmp0, .add_size), ._, ._ }, |
| 17356 | .{ ._, ._, .sbb, .tmp1q, .memsia(.src1q, .@"8", .tmp0, .add_size), ._, ._ }, | 20697 | .{ ._, ._nb, .j, .@"1f", ._, ._, ._ }, |
| 17357 | .{ ._, ._c, .in, .tmp0p, ._, ._, ._ }, | 20698 | .{ ._, ._, .mov, .tmp1b, .memia(.src1b, .tmp0, .add_size), ._, ._ }, |
| 17358 | .{ ._, ._nz, .j, .@"0b", ._, ._, ._ }, | 20699 | .{ .@"1:", ._, .mov, .memia(.dst0b, .tmp0, .add_size), .tmp1b, ._, ._ }, |
| 17359 | .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ }, | 20700 | .{ ._, ._, .add, .tmp0p, .si(1), ._, ._ }, |
| 17360 | .{ ._, ._, .lea, .tmp1p, .mem(.src1), ._, ._ }, | 20701 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 17361 | .{ ._, ._b, .cmov, .tmp0p, .tmp1p, ._, ._ }, | ||
| 17362 | .{ ._, ._, .lea, .tmp1p, .mem(.dst0), ._, ._ }, | ||
| 17363 | .{ ._, ._, .mov, .tmp2d, .sa(.src0, .add_size_div_8), ._, ._ }, | ||
| 17364 | .{ ._, .@"rep _sq", .mov, ._, ._, ._, ._ }, | ||
| 17365 | } }, | 20702 | } }, |
| 17366 | }, .{ | 20703 | }, .{ |
| 17367 | .required_features = .{ .@"64bit", null, null, null }, | 20704 | .src_constraints = .{ |
| 17368 | .src_constraints = .{ .any_unsigned_int, .any_unsigned_int, .any }, | 20705 | .{ .multiple_scalar_unsigned_int = .{ .of = .byte, .is = .byte } }, |
| 20706 | .{ .multiple_scalar_unsigned_int = .{ .of = .byte, .is = .byte } }, | ||
| 20707 | .any, | ||
| 20708 | }, | ||
| 17369 | .patterns = &.{ | 20709 | .patterns = &.{ |
| 17370 | .{ .src = .{ .to_mem, .to_mem, .none } }, | 20710 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 17371 | }, | 20711 | }, |
| 17372 | .extra_temps = .{ | 20712 | .extra_temps = .{ |
| 17373 | .{ .type = .isize, .kind = .{ .reg = .rsi } }, | 20713 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 17374 | .{ .type = .u64, .kind = .{ .reg = .rdi } }, | 20714 | .{ .type = .u8, .kind = .{ .rc = .general_purpose } }, |
| 17375 | .{ .type = .u64, .kind = .{ .reg = .rcx } }, | 20715 | .unused, |
| 17376 | .unused, | 20716 | .unused, |
| 17377 | .unused, | 20717 | .unused, |
| 17378 | .unused, | 20718 | .unused, |
| ... | @@ -17385,56 +20725,52 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -17385,56 +20725,52 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 17385 | .dst_temps = .{ .mem, .unused }, | 20725 | .dst_temps = .{ .mem, .unused }, |
| 17386 | .clobbers = .{ .eflags = true }, | 20726 | .clobbers = .{ .eflags = true }, |
| 17387 | .each = .{ .once = &.{ | 20727 | .each = .{ .once = &.{ |
| 17388 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size_div_8), ._, ._ }, | 20728 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, |
| 17389 | .{ ._, ._c, .cl, ._, ._, ._, ._ }, | 20729 | .{ .@"0:", ._, .movzx, .tmp1d, .memia(.src0b, .tmp0, .add_size), ._, ._ }, |
| 17390 | .{ .@"0:", ._, .mov, .tmp1q, .memsia(.src0q, .@"8", .tmp0, .add_size), ._, ._ }, | 20730 | .{ ._, ._, .cmp, .tmp1b, .memia(.src1b, .tmp0, .add_size), ._, ._ }, |
| 17391 | .{ ._, ._, .sbb, .tmp1q, .memsia(.src1q, .@"8", .tmp0, .add_size), ._, ._ }, | 20731 | .{ ._, ._nb, .j, .@"1f", ._, ._, ._ }, |
| 20732 | .{ ._, ._, .mov, .tmp1b, .memia(.src1b, .tmp0, .add_size), ._, ._ }, | ||
| 20733 | .{ .@"1:", ._, .mov, .memia(.dst0b, .tmp0, .add_size), .tmp1b, ._, ._ }, | ||
| 17392 | .{ ._, ._c, .in, .tmp0p, ._, ._, ._ }, | 20734 | .{ ._, ._c, .in, .tmp0p, ._, ._, ._ }, |
| 17393 | .{ ._, ._nz, .j, .@"0b", ._, ._, ._ }, | 20735 | .{ ._, ._nz, .j, .@"0b", ._, ._, ._ }, |
| 17394 | .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ }, | ||
| 17395 | .{ ._, ._nb, .j, .@"0f", ._, ._, ._ }, | ||
| 17396 | .{ ._, ._, .lea, .tmp0p, .mem(.src1), ._, ._ }, | ||
| 17397 | .{ .@"0:", ._, .lea, .tmp1p, .mem(.dst0), ._, ._ }, | ||
| 17398 | .{ ._, ._, .mov, .tmp2d, .sa(.src0, .add_size_div_8), ._, ._ }, | ||
| 17399 | .{ ._, .@"rep _sq", .mov, ._, ._, ._, ._ }, | ||
| 17400 | } }, | 20736 | } }, |
| 17401 | }, .{ | 20737 | }, .{ |
| 17402 | .required_features = .{ .avx, null, null, null }, | 20738 | .required_features = .{ .sse, .mmx, null, null }, |
| 17403 | .src_constraints = .{ | 20739 | .src_constraints = .{ |
| 17404 | .{ .scalar_signed_int = .{ .of = .xword, .is = .byte } }, | 20740 | .{ .scalar_signed_int = .{ .of = .qword, .is = .word } }, |
| 17405 | .{ .scalar_signed_int = .{ .of = .xword, .is = .byte } }, | 20741 | .{ .scalar_signed_int = .{ .of = .qword, .is = .word } }, |
| 17406 | .any, | 20742 | .any, |
| 17407 | }, | 20743 | }, |
| 17408 | .patterns = &.{ | 20744 | .patterns = &.{ |
| 17409 | .{ .src = .{ .to_sse, .mem, .none } }, | 20745 | .{ .src = .{ .to_mut_mmx, .mem, .none } }, |
| 17410 | .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } }, | 20746 | .{ .src = .{ .mem, .to_mut_mmx, .none }, .commute = .{ 0, 1 } }, |
| 17411 | .{ .src = .{ .to_sse, .to_sse, .none } }, | 20747 | .{ .src = .{ .to_mut_mmx, .to_mmx, .none } }, |
| 17412 | }, | 20748 | }, |
| 17413 | .dst_temps = .{ .{ .rc = .sse }, .unused }, | 20749 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| 17414 | .each = .{ .once = &.{ | 20750 | .each = .{ .once = &.{ |
| 17415 | .{ ._, .vp_b, .maxs, .dst0x, .src0x, .src1x, ._ }, | 20751 | .{ ._, .p_w, .maxs, .dst0q, .src1q, ._, ._ }, |
| 17416 | } }, | 20752 | } }, |
| 17417 | }, .{ | 20753 | }, .{ |
| 17418 | .required_features = .{ .sse4_1, null, null, null }, | 20754 | .required_features = .{ .avx, null, null, null }, |
| 17419 | .src_constraints = .{ | 20755 | .src_constraints = .{ |
| 17420 | .{ .scalar_signed_int = .{ .of = .xword, .is = .byte } }, | 20756 | .{ .scalar_signed_int = .{ .of = .xword, .is = .word } }, |
| 17421 | .{ .scalar_signed_int = .{ .of = .xword, .is = .byte } }, | 20757 | .{ .scalar_signed_int = .{ .of = .xword, .is = .word } }, |
| 17422 | .any, | 20758 | .any, |
| 17423 | }, | 20759 | }, |
| 17424 | .patterns = &.{ | 20760 | .patterns = &.{ |
| 17425 | .{ .src = .{ .to_mut_sse, .mem, .none } }, | 20761 | .{ .src = .{ .to_sse, .mem, .none } }, |
| 17426 | .{ .src = .{ .mem, .to_mut_sse, .none }, .commute = .{ 0, 1 } }, | 20762 | .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } }, |
| 17427 | .{ .src = .{ .to_mut_sse, .to_sse, .none } }, | 20763 | .{ .src = .{ .to_sse, .to_sse, .none } }, |
| 17428 | }, | 20764 | }, |
| 17429 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, | 20765 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| 17430 | .each = .{ .once = &.{ | 20766 | .each = .{ .once = &.{ |
| 17431 | .{ ._, .p_b, .maxs, .dst0x, .src1x, ._, ._ }, | 20767 | .{ ._, .vp_w, .maxs, .dst0x, .src0x, .src1x, ._ }, |
| 17432 | } }, | 20768 | } }, |
| 17433 | }, .{ | 20769 | }, .{ |
| 17434 | .required_features = .{ .sse2, null, null, null }, | 20770 | .required_features = .{ .sse2, null, null, null }, |
| 17435 | .src_constraints = .{ | 20771 | .src_constraints = .{ |
| 17436 | .{ .scalar_signed_int = .{ .of = .xword, .is = .byte } }, | 20772 | .{ .scalar_signed_int = .{ .of = .xword, .is = .word } }, |
| 17437 | .{ .scalar_signed_int = .{ .of = .xword, .is = .byte } }, | 20773 | .{ .scalar_signed_int = .{ .of = .xword, .is = .word } }, |
| 17438 | .any, | 20774 | .any, |
| 17439 | }, | 20775 | }, |
| 17440 | .patterns = &.{ | 20776 | .patterns = &.{ |
| ... | @@ -17442,19 +20778,15 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -17442,19 +20778,15 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 17442 | .{ .src = .{ .mem, .to_mut_sse, .none }, .commute = .{ 0, 1 } }, | 20778 | .{ .src = .{ .mem, .to_mut_sse, .none }, .commute = .{ 0, 1 } }, |
| 17443 | .{ .src = .{ .to_mut_sse, .to_sse, .none } }, | 20779 | .{ .src = .{ .to_mut_sse, .to_sse, .none } }, |
| 17444 | }, | 20780 | }, |
| 17445 | .dst_temps = .{ .{ .rc = .sse }, .unused }, | 20781 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| 17446 | .each = .{ .once = &.{ | 20782 | .each = .{ .once = &.{ |
| 17447 | .{ ._, ._dqa, .mov, .dst0x, .src0x, ._, ._ }, | 20783 | .{ ._, .p_w, .maxs, .dst0x, .src1x, ._, ._ }, |
| 17448 | .{ ._, .p_b, .cmpgt, .dst0x, .src1x, ._, ._ }, | ||
| 17449 | .{ ._, .p_, .@"and", .src0x, .dst0x, ._, ._ }, | ||
| 17450 | .{ ._, .p_, .andn, .dst0x, .src1x, ._, ._ }, | ||
| 17451 | .{ ._, .p_, .@"or", .dst0x, .src0x, ._, ._ }, | ||
| 17452 | } }, | 20784 | } }, |
| 17453 | }, .{ | 20785 | }, .{ |
| 17454 | .required_features = .{ .avx2, null, null, null }, | 20786 | .required_features = .{ .avx2, null, null, null }, |
| 17455 | .src_constraints = .{ | 20787 | .src_constraints = .{ |
| 17456 | .{ .scalar_signed_int = .{ .of = .yword, .is = .byte } }, | 20788 | .{ .scalar_signed_int = .{ .of = .yword, .is = .word } }, |
| 17457 | .{ .scalar_signed_int = .{ .of = .yword, .is = .byte } }, | 20789 | .{ .scalar_signed_int = .{ .of = .yword, .is = .word } }, |
| 17458 | .any, | 20790 | .any, |
| 17459 | }, | 20791 | }, |
| 17460 | .patterns = &.{ | 20792 | .patterns = &.{ |
| ... | @@ -17464,13 +20796,13 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -17464,13 +20796,13 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 17464 | }, | 20796 | }, |
| 17465 | .dst_temps = .{ .{ .rc = .sse }, .unused }, | 20797 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| 17466 | .each = .{ .once = &.{ | 20798 | .each = .{ .once = &.{ |
| 17467 | .{ ._, .vp_b, .maxs, .dst0y, .src0y, .src1y, ._ }, | 20799 | .{ ._, .vp_w, .maxs, .dst0y, .src0y, .src1y, ._ }, |
| 17468 | } }, | 20800 | } }, |
| 17469 | }, .{ | 20801 | }, .{ |
| 17470 | .required_features = .{ .avx2, null, null, null }, | 20802 | .required_features = .{ .avx2, null, null, null }, |
| 17471 | .src_constraints = .{ | 20803 | .src_constraints = .{ |
| 17472 | .{ .multiple_scalar_signed_int = .{ .of = .yword, .is = .byte } }, | 20804 | .{ .multiple_scalar_signed_int = .{ .of = .yword, .is = .word } }, |
| 17473 | .{ .multiple_scalar_signed_int = .{ .of = .yword, .is = .byte } }, | 20805 | .{ .multiple_scalar_signed_int = .{ .of = .yword, .is = .word } }, |
| 17474 | .any, | 20806 | .any, |
| 17475 | }, | 20807 | }, |
| 17476 | .patterns = &.{ | 20808 | .patterns = &.{ |
| ... | @@ -17478,7 +20810,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -17478,7 +20810,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 17478 | }, | 20810 | }, |
| 17479 | .extra_temps = .{ | 20811 | .extra_temps = .{ |
| 17480 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 20812 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 17481 | .{ .type = .vector_32_i8, .kind = .{ .rc = .sse } }, | 20813 | .{ .type = .vector_16_i16, .kind = .{ .rc = .sse } }, |
| 17482 | .unused, | 20814 | .unused, |
| 17483 | .unused, | 20815 | .unused, |
| 17484 | .unused, | 20816 | .unused, |
| ... | @@ -17494,7 +20826,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -17494,7 +20826,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 17494 | .each = .{ .once = &.{ | 20826 | .each = .{ .once = &.{ |
| 17495 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, | 20827 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, |
| 17496 | .{ .@"0:", .v_dqa, .mov, .tmp1y, .memia(.src0y, .tmp0, .add_size), ._, ._ }, | 20828 | .{ .@"0:", .v_dqa, .mov, .tmp1y, .memia(.src0y, .tmp0, .add_size), ._, ._ }, |
| 17497 | .{ ._, .vp_b, .maxs, .tmp1y, .tmp1y, .memia(.src1y, .tmp0, .add_size), ._ }, | 20829 | .{ ._, .vp_w, .maxs, .tmp1y, .tmp1y, .memia(.src1y, .tmp0, .add_size), ._ }, |
| 17498 | .{ ._, .v_dqa, .mov, .memia(.dst0y, .tmp0, .add_size), .tmp1y, ._, ._ }, | 20830 | .{ ._, .v_dqa, .mov, .memia(.dst0y, .tmp0, .add_size), .tmp1y, ._, ._ }, |
| 17499 | .{ ._, ._, .add, .tmp0p, .si(32), ._, ._ }, | 20831 | .{ ._, ._, .add, .tmp0p, .si(32), ._, ._ }, |
| 17500 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 20832 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| ... | @@ -17502,8 +20834,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -17502,8 +20834,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 17502 | }, .{ | 20834 | }, .{ |
| 17503 | .required_features = .{ .avx, null, null, null }, | 20835 | .required_features = .{ .avx, null, null, null }, |
| 17504 | .src_constraints = .{ | 20836 | .src_constraints = .{ |
| 17505 | .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .byte } }, | 20837 | .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .word } }, |
| 17506 | .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .byte } }, | 20838 | .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .word } }, |
| 17507 | .any, | 20839 | .any, |
| 17508 | }, | 20840 | }, |
| 17509 | .patterns = &.{ | 20841 | .patterns = &.{ |
| ... | @@ -17511,7 +20843,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -17511,7 +20843,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 17511 | }, | 20843 | }, |
| 17512 | .extra_temps = .{ | 20844 | .extra_temps = .{ |
| 17513 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 20845 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 17514 | .{ .type = .vector_16_i8, .kind = .{ .rc = .sse } }, | 20846 | .{ .type = .vector_16_i16, .kind = .{ .rc = .sse } }, |
| 17515 | .unused, | 20847 | .unused, |
| 17516 | .unused, | 20848 | .unused, |
| 17517 | .unused, | 20849 | .unused, |
| ... | @@ -17527,16 +20859,182 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -17527,16 +20859,182 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 17527 | .each = .{ .once = &.{ | 20859 | .each = .{ .once = &.{ |
| 17528 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, | 20860 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, |
| 17529 | .{ .@"0:", .v_dqa, .mov, .tmp1x, .memia(.src0x, .tmp0, .add_size), ._, ._ }, | 20861 | .{ .@"0:", .v_dqa, .mov, .tmp1x, .memia(.src0x, .tmp0, .add_size), ._, ._ }, |
| 17530 | .{ ._, .vp_b, .maxs, .tmp1x, .tmp1x, .memia(.src1x, .tmp0, .add_size), ._ }, | 20862 | .{ ._, .vp_w, .maxs, .tmp1x, .tmp1x, .memia(.src1x, .tmp0, .add_size), ._ }, |
| 17531 | .{ ._, .v_dqa, .mov, .memia(.dst0x, .tmp0, .add_size), .tmp1x, ._, ._ }, | 20863 | .{ ._, .v_dqa, .mov, .memia(.dst0x, .tmp0, .add_size), .tmp1x, ._, ._ }, |
| 17532 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, | 20864 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, |
| 17533 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 20865 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 17534 | } }, | 20866 | } }, |
| 20867 | }, .{ | ||
| 20868 | .required_features = .{ .sse2, null, null, null }, | ||
| 20869 | .src_constraints = .{ | ||
| 20870 | .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .word } }, | ||
| 20871 | .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .word } }, | ||
| 20872 | .any, | ||
| 20873 | }, | ||
| 20874 | .patterns = &.{ | ||
| 20875 | .{ .src = .{ .to_mem, .to_mem, .none } }, | ||
| 20876 | }, | ||
| 20877 | .extra_temps = .{ | ||
| 20878 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | ||
| 20879 | .{ .type = .vector_16_i16, .kind = .{ .rc = .sse } }, | ||
| 20880 | .unused, | ||
| 20881 | .unused, | ||
| 20882 | .unused, | ||
| 20883 | .unused, | ||
| 20884 | .unused, | ||
| 20885 | .unused, | ||
| 20886 | .unused, | ||
| 20887 | .unused, | ||
| 20888 | .unused, | ||
| 20889 | }, | ||
| 20890 | .dst_temps = .{ .mem, .unused }, | ||
| 20891 | .clobbers = .{ .eflags = true }, | ||
| 20892 | .each = .{ .once = &.{ | ||
| 20893 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, | ||
| 20894 | .{ .@"0:", ._dqa, .mov, .tmp1x, .memia(.src0x, .tmp0, .add_size), ._, ._ }, | ||
| 20895 | .{ ._, .p_w, .maxs, .tmp1x, .memia(.src1x, .tmp0, .add_size), ._, ._ }, | ||
| 20896 | .{ ._, ._dqa, .mov, .memia(.dst0x, .tmp0, .add_size), .tmp1x, ._, ._ }, | ||
| 20897 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, | ||
| 20898 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | ||
| 20899 | } }, | ||
| 20900 | }, .{ | ||
| 20901 | .required_features = .{ .cmov, null, null, null }, | ||
| 20902 | .src_constraints = .{ | ||
| 20903 | .{ .multiple_scalar_signed_int = .{ .of = .word, .is = .word } }, | ||
| 20904 | .{ .multiple_scalar_signed_int = .{ .of = .word, .is = .word } }, | ||
| 20905 | .any, | ||
| 20906 | }, | ||
| 20907 | .patterns = &.{ | ||
| 20908 | .{ .src = .{ .to_mem, .to_mem, .none } }, | ||
| 20909 | }, | ||
| 20910 | .extra_temps = .{ | ||
| 20911 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | ||
| 20912 | .{ .type = .i16, .kind = .{ .rc = .general_purpose } }, | ||
| 20913 | .unused, | ||
| 20914 | .unused, | ||
| 20915 | .unused, | ||
| 20916 | .unused, | ||
| 20917 | .unused, | ||
| 20918 | .unused, | ||
| 20919 | .unused, | ||
| 20920 | .unused, | ||
| 20921 | .unused, | ||
| 20922 | }, | ||
| 20923 | .dst_temps = .{ .mem, .unused }, | ||
| 20924 | .clobbers = .{ .eflags = true }, | ||
| 20925 | .each = .{ .once = &.{ | ||
| 20926 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, | ||
| 20927 | .{ .@"0:", ._, .movsx, .tmp1d, .memia(.src0w, .tmp0, .add_size), ._, ._ }, | ||
| 20928 | .{ ._, ._, .cmp, .tmp1w, .memia(.src1w, .tmp0, .add_size), ._, ._ }, | ||
| 20929 | .{ ._, ._l, .cmov, .tmp1w, .memia(.src1w, .tmp0, .add_size), ._, ._ }, | ||
| 20930 | .{ ._, ._, .mov, .memia(.dst0w, .tmp0, .add_size), .tmp1w, ._, ._ }, | ||
| 20931 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, | ||
| 20932 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | ||
| 20933 | } }, | ||
| 20934 | }, .{ | ||
| 20935 | .src_constraints = .{ | ||
| 20936 | .{ .multiple_scalar_signed_int = .{ .of = .word, .is = .word } }, | ||
| 20937 | .{ .multiple_scalar_signed_int = .{ .of = .word, .is = .word } }, | ||
| 20938 | .any, | ||
| 20939 | }, | ||
| 20940 | .patterns = &.{ | ||
| 20941 | .{ .src = .{ .to_mem, .to_mem, .none } }, | ||
| 20942 | }, | ||
| 20943 | .extra_temps = .{ | ||
| 20944 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | ||
| 20945 | .{ .type = .i16, .kind = .{ .rc = .general_purpose } }, | ||
| 20946 | .unused, | ||
| 20947 | .unused, | ||
| 20948 | .unused, | ||
| 20949 | .unused, | ||
| 20950 | .unused, | ||
| 20951 | .unused, | ||
| 20952 | .unused, | ||
| 20953 | .unused, | ||
| 20954 | .unused, | ||
| 20955 | }, | ||
| 20956 | .dst_temps = .{ .mem, .unused }, | ||
| 20957 | .clobbers = .{ .eflags = true }, | ||
| 20958 | .each = .{ .once = &.{ | ||
| 20959 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, | ||
| 20960 | .{ .@"0:", ._, .movsx, .tmp1d, .memia(.src0w, .tmp0, .add_size), ._, ._ }, | ||
| 20961 | .{ ._, ._, .cmp, .tmp1w, .memia(.src1w, .tmp0, .add_size), ._, ._ }, | ||
| 20962 | .{ ._, ._nl, .j, .@"1f", ._, ._, ._ }, | ||
| 20963 | .{ ._, ._, .mov, .tmp1w, .memia(.src1w, .tmp0, .add_size), ._, ._ }, | ||
| 20964 | .{ .@"1:", ._, .mov, .memia(.dst0w, .tmp0, .add_size), .tmp1w, ._, ._ }, | ||
| 20965 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, | ||
| 20966 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | ||
| 20967 | } }, | ||
| 20968 | }, .{ | ||
| 20969 | .required_features = .{ .avx, null, null, null }, | ||
| 20970 | .src_constraints = .{ | ||
| 20971 | .{ .scalar_unsigned_int = .{ .of = .xword, .is = .word } }, | ||
| 20972 | .{ .scalar_unsigned_int = .{ .of = .xword, .is = .word } }, | ||
| 20973 | .any, | ||
| 20974 | }, | ||
| 20975 | .patterns = &.{ | ||
| 20976 | .{ .src = .{ .to_sse, .mem, .none } }, | ||
| 20977 | .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } }, | ||
| 20978 | .{ .src = .{ .to_sse, .to_sse, .none } }, | ||
| 20979 | }, | ||
| 20980 | .dst_temps = .{ .{ .rc = .sse }, .unused }, | ||
| 20981 | .each = .{ .once = &.{ | ||
| 20982 | .{ ._, .vp_w, .maxu, .dst0x, .src0x, .src1x, ._ }, | ||
| 20983 | } }, | ||
| 17535 | }, .{ | 20984 | }, .{ |
| 17536 | .required_features = .{ .sse4_1, null, null, null }, | 20985 | .required_features = .{ .sse4_1, null, null, null }, |
| 17537 | .src_constraints = .{ | 20986 | .src_constraints = .{ |
| 17538 | .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .byte } }, | 20987 | .{ .scalar_unsigned_int = .{ .of = .xword, .is = .word } }, |
| 17539 | .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .byte } }, | 20988 | .{ .scalar_unsigned_int = .{ .of = .xword, .is = .word } }, |
| 20989 | .any, | ||
| 20990 | }, | ||
| 20991 | .patterns = &.{ | ||
| 20992 | .{ .src = .{ .to_mut_sse, .mem, .none } }, | ||
| 20993 | .{ .src = .{ .mem, .to_mut_sse, .none }, .commute = .{ 0, 1 } }, | ||
| 20994 | .{ .src = .{ .to_mut_sse, .to_sse, .none } }, | ||
| 20995 | }, | ||
| 20996 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, | ||
| 20997 | .each = .{ .once = &.{ | ||
| 20998 | .{ ._, .p_w, .maxu, .dst0x, .src1x, ._, ._ }, | ||
| 20999 | } }, | ||
| 21000 | }, .{ | ||
| 21001 | .required_features = .{ .sse2, null, null, null }, | ||
| 21002 | .src_constraints = .{ | ||
| 21003 | .{ .scalar_unsigned_int = .{ .of = .xword, .is = .word } }, | ||
| 21004 | .{ .scalar_unsigned_int = .{ .of = .xword, .is = .word } }, | ||
| 21005 | .any, | ||
| 21006 | }, | ||
| 21007 | .patterns = &.{ | ||
| 21008 | .{ .src = .{ .to_mut_sse, .mem, .none } }, | ||
| 21009 | .{ .src = .{ .mem, .to_mut_sse, .none }, .commute = .{ 0, 1 } }, | ||
| 21010 | .{ .src = .{ .to_mut_sse, .to_sse, .none } }, | ||
| 21011 | }, | ||
| 21012 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, | ||
| 21013 | .each = .{ .once = &.{ | ||
| 21014 | .{ ._, .p_w, .subus, .dst0x, .src1x, ._, ._ }, | ||
| 21015 | .{ ._, .p_w, .add, .dst0x, .src1x, ._, ._ }, | ||
| 21016 | } }, | ||
| 21017 | }, .{ | ||
| 21018 | .required_features = .{ .avx2, null, null, null }, | ||
| 21019 | .src_constraints = .{ | ||
| 21020 | .{ .scalar_unsigned_int = .{ .of = .yword, .is = .word } }, | ||
| 21021 | .{ .scalar_unsigned_int = .{ .of = .yword, .is = .word } }, | ||
| 21022 | .any, | ||
| 21023 | }, | ||
| 21024 | .patterns = &.{ | ||
| 21025 | .{ .src = .{ .to_sse, .mem, .none } }, | ||
| 21026 | .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } }, | ||
| 21027 | .{ .src = .{ .to_sse, .to_sse, .none } }, | ||
| 21028 | }, | ||
| 21029 | .dst_temps = .{ .{ .rc = .sse }, .unused }, | ||
| 21030 | .each = .{ .once = &.{ | ||
| 21031 | .{ ._, .vp_w, .maxu, .dst0y, .src0y, .src1y, ._ }, | ||
| 21032 | } }, | ||
| 21033 | }, .{ | ||
| 21034 | .required_features = .{ .avx2, null, null, null }, | ||
| 21035 | .src_constraints = .{ | ||
| 21036 | .{ .multiple_scalar_unsigned_int = .{ .of = .yword, .is = .word } }, | ||
| 21037 | .{ .multiple_scalar_unsigned_int = .{ .of = .yword, .is = .word } }, | ||
| 17540 | .any, | 21038 | .any, |
| 17541 | }, | 21039 | }, |
| 17542 | .patterns = &.{ | 21040 | .patterns = &.{ |
| ... | @@ -17544,7 +21042,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -17544,7 +21042,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 17544 | }, | 21042 | }, |
| 17545 | .extra_temps = .{ | 21043 | .extra_temps = .{ |
| 17546 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 21044 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 17547 | .{ .type = .vector_16_i8, .kind = .{ .rc = .sse } }, | 21045 | .{ .type = .vector_16_u16, .kind = .{ .rc = .sse } }, |
| 17548 | .unused, | 21046 | .unused, |
| 17549 | .unused, | 21047 | .unused, |
| 17550 | .unused, | 21048 | .unused, |
| ... | @@ -17559,17 +21057,17 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -17559,17 +21057,17 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 17559 | .clobbers = .{ .eflags = true }, | 21057 | .clobbers = .{ .eflags = true }, |
| 17560 | .each = .{ .once = &.{ | 21058 | .each = .{ .once = &.{ |
| 17561 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, | 21059 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, |
| 17562 | .{ .@"0:", ._dqa, .mov, .tmp1x, .memia(.src0x, .tmp0, .add_size), ._, ._ }, | 21060 | .{ .@"0:", .v_dqa, .mov, .tmp1y, .memia(.src0y, .tmp0, .add_size), ._, ._ }, |
| 17563 | .{ ._, .p_b, .maxs, .tmp1x, .memia(.src1x, .tmp0, .add_size), ._, ._ }, | 21061 | .{ ._, .vp_w, .maxu, .tmp1y, .tmp1y, .memia(.src1y, .tmp0, .add_size), ._ }, |
| 17564 | .{ ._, ._dqa, .mov, .memia(.dst0x, .tmp0, .add_size), .tmp1x, ._, ._ }, | 21062 | .{ ._, .v_dqa, .mov, .memia(.dst0y, .tmp0, .add_size), .tmp1y, ._, ._ }, |
| 17565 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, | 21063 | .{ ._, ._, .add, .tmp0p, .si(32), ._, ._ }, |
| 17566 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 21064 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 17567 | } }, | 21065 | } }, |
| 17568 | }, .{ | 21066 | }, .{ |
| 17569 | .required_features = .{ .sse2, null, null, null }, | 21067 | .required_features = .{ .avx, null, null, null }, |
| 17570 | .src_constraints = .{ | 21068 | .src_constraints = .{ |
| 17571 | .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .byte } }, | 21069 | .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .word } }, |
| 17572 | .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .byte } }, | 21070 | .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .word } }, |
| 17573 | .any, | 21071 | .any, |
| 17574 | }, | 21072 | }, |
| 17575 | .patterns = &.{ | 21073 | .patterns = &.{ |
| ... | @@ -17577,8 +21075,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -17577,8 +21075,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 17577 | }, | 21075 | }, |
| 17578 | .extra_temps = .{ | 21076 | .extra_temps = .{ |
| 17579 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 21077 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 17580 | .{ .type = .vector_16_i8, .kind = .{ .rc = .sse } }, | 21078 | .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } }, |
| 17581 | .{ .type = .vector_16_i8, .kind = .{ .rc = .sse } }, | 21079 | .unused, |
| 17582 | .unused, | 21080 | .unused, |
| 17583 | .unused, | 21081 | .unused, |
| 17584 | .unused, | 21082 | .unused, |
| ... | @@ -17592,21 +21090,17 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -17592,21 +21090,17 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 17592 | .clobbers = .{ .eflags = true }, | 21090 | .clobbers = .{ .eflags = true }, |
| 17593 | .each = .{ .once = &.{ | 21091 | .each = .{ .once = &.{ |
| 17594 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, | 21092 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, |
| 17595 | .{ .@"0:", ._dqa, .mov, .tmp1x, .memia(.src0x, .tmp0, .add_size), ._, ._ }, | 21093 | .{ .@"0:", .v_dqa, .mov, .tmp1x, .memia(.src0x, .tmp0, .add_size), ._, ._ }, |
| 17596 | .{ ._, ._dqa, .mov, .tmp2x, .tmp1x, ._, ._ }, | 21094 | .{ ._, .vp_w, .maxu, .tmp1x, .tmp1x, .memia(.src1x, .tmp0, .add_size), ._ }, |
| 17597 | .{ ._, .p_b, .cmpgt, .tmp1x, .memia(.src1x, .tmp0, .add_size), ._, ._ }, | 21095 | .{ ._, .v_dqa, .mov, .memia(.dst0x, .tmp0, .add_size), .tmp1x, ._, ._ }, |
| 17598 | .{ ._, .p_, .@"and", .tmp2x, .tmp1x, ._, ._ }, | ||
| 17599 | .{ ._, .p_, .andn, .tmp1x, .memia(.src1x, .tmp0, .add_size), ._, ._ }, | ||
| 17600 | .{ ._, .p_, .@"or", .tmp1x, .tmp2x, ._, ._ }, | ||
| 17601 | .{ ._, ._dqa, .mov, .memia(.dst0x, .tmp0, .add_size), .tmp1x, ._, ._ }, | ||
| 17602 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, | 21096 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, |
| 17603 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 21097 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 17604 | } }, | 21098 | } }, |
| 17605 | }, .{ | 21099 | }, .{ |
| 17606 | .required_features = .{ .cmov, .slow_incdec, null, null }, | 21100 | .required_features = .{ .sse4_1, null, null, null }, |
| 17607 | .src_constraints = .{ | 21101 | .src_constraints = .{ |
| 17608 | .{ .multiple_scalar_signed_int = .{ .of = .byte, .is = .byte } }, | 21102 | .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .word } }, |
| 17609 | .{ .multiple_scalar_signed_int = .{ .of = .byte, .is = .byte } }, | 21103 | .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .word } }, |
| 17610 | .any, | 21104 | .any, |
| 17611 | }, | 21105 | }, |
| 17612 | .patterns = &.{ | 21106 | .patterns = &.{ |
| ... | @@ -17614,8 +21108,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -17614,8 +21108,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 17614 | }, | 21108 | }, |
| 17615 | .extra_temps = .{ | 21109 | .extra_temps = .{ |
| 17616 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 21110 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 17617 | .{ .type = .i8, .kind = .{ .rc = .general_purpose } }, | 21111 | .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } }, |
| 17618 | .{ .type = .i8, .kind = .{ .rc = .general_purpose } }, | 21112 | .unused, |
| 17619 | .unused, | 21113 | .unused, |
| 17620 | .unused, | 21114 | .unused, |
| 17621 | .unused, | 21115 | .unused, |
| ... | @@ -17629,19 +21123,17 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -17629,19 +21123,17 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 17629 | .clobbers = .{ .eflags = true }, | 21123 | .clobbers = .{ .eflags = true }, |
| 17630 | .each = .{ .once = &.{ | 21124 | .each = .{ .once = &.{ |
| 17631 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, | 21125 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, |
| 17632 | .{ .@"0:", ._, .movsx, .tmp1d, .memia(.src0b, .tmp0, .add_size), ._, ._ }, | 21126 | .{ .@"0:", ._dqa, .mov, .tmp1x, .memia(.src0x, .tmp0, .add_size), ._, ._ }, |
| 17633 | .{ ._, ._, .movsx, .tmp2d, .memia(.src1b, .tmp0, .add_size), ._, ._ }, | 21127 | .{ ._, .p_w, .maxu, .tmp1x, .memia(.src1x, .tmp0, .add_size), ._, ._ }, |
| 17634 | .{ ._, ._, .cmp, .tmp1b, .tmp2b, ._, ._ }, | 21128 | .{ ._, ._dqa, .mov, .memia(.dst0x, .tmp0, .add_size), .tmp1x, ._, ._ }, |
| 17635 | .{ ._, ._l, .cmov, .tmp1d, .tmp2d, ._, ._ }, | 21129 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, |
| 17636 | .{ ._, ._, .mov, .memia(.dst0b, .tmp0, .add_size), .tmp1b, ._, ._ }, | ||
| 17637 | .{ ._, ._, .add, .tmp0p, .si(1), ._, ._ }, | ||
| 17638 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 21130 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 17639 | } }, | 21131 | } }, |
| 17640 | }, .{ | 21132 | }, .{ |
| 17641 | .required_features = .{ .cmov, null, null, null }, | 21133 | .required_features = .{ .sse2, null, null, null }, |
| 17642 | .src_constraints = .{ | 21134 | .src_constraints = .{ |
| 17643 | .{ .multiple_scalar_signed_int = .{ .of = .byte, .is = .byte } }, | 21135 | .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .word } }, |
| 17644 | .{ .multiple_scalar_signed_int = .{ .of = .byte, .is = .byte } }, | 21136 | .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .word } }, |
| 17645 | .any, | 21137 | .any, |
| 17646 | }, | 21138 | }, |
| 17647 | .patterns = &.{ | 21139 | .patterns = &.{ |
| ... | @@ -17649,8 +21141,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -17649,8 +21141,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 17649 | }, | 21141 | }, |
| 17650 | .extra_temps = .{ | 21142 | .extra_temps = .{ |
| 17651 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 21143 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 17652 | .{ .type = .i8, .kind = .{ .rc = .general_purpose } }, | 21144 | .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } }, |
| 17653 | .{ .type = .i8, .kind = .{ .rc = .general_purpose } }, | 21145 | .unused, |
| 17654 | .unused, | 21146 | .unused, |
| 17655 | .unused, | 21147 | .unused, |
| 17656 | .unused, | 21148 | .unused, |
| ... | @@ -17664,19 +21156,18 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -17664,19 +21156,18 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 17664 | .clobbers = .{ .eflags = true }, | 21156 | .clobbers = .{ .eflags = true }, |
| 17665 | .each = .{ .once = &.{ | 21157 | .each = .{ .once = &.{ |
| 17666 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, | 21158 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, |
| 17667 | .{ .@"0:", ._, .movsx, .tmp1d, .memia(.src0b, .tmp0, .add_size), ._, ._ }, | 21159 | .{ .@"0:", ._dqa, .mov, .tmp1x, .memia(.src0x, .tmp0, .add_size), ._, ._ }, |
| 17668 | .{ ._, ._, .movsx, .tmp2d, .memia(.src1b, .tmp0, .add_size), ._, ._ }, | 21160 | .{ ._, .p_w, .subus, .tmp1x, .memia(.src1x, .tmp0, .add_size), ._, ._ }, |
| 17669 | .{ ._, ._, .cmp, .tmp1b, .tmp2b, ._, ._ }, | 21161 | .{ ._, .p_w, .add, .tmp1x, .memia(.src1x, .tmp0, .add_size), ._, ._ }, |
| 17670 | .{ ._, ._l, .cmov, .tmp1d, .tmp2d, ._, ._ }, | 21162 | .{ ._, ._dqa, .mov, .memia(.dst0x, .tmp0, .add_size), .tmp1x, ._, ._ }, |
| 17671 | .{ ._, ._, .mov, .memia(.dst0b, .tmp0, .add_size), .tmp1b, ._, ._ }, | 21163 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, |
| 17672 | .{ ._, ._c, .in, .tmp0p, ._, ._, ._ }, | 21164 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 17673 | .{ ._, ._nz, .j, .@"0b", ._, ._, ._ }, | ||
| 17674 | } }, | 21165 | } }, |
| 17675 | }, .{ | 21166 | }, .{ |
| 17676 | .required_features = .{ .slow_incdec, null, null, null }, | 21167 | .required_features = .{ .cmov, null, null, null }, |
| 17677 | .src_constraints = .{ | 21168 | .src_constraints = .{ |
| 17678 | .{ .multiple_scalar_signed_int = .{ .of = .byte, .is = .byte } }, | 21169 | .{ .multiple_scalar_unsigned_int = .{ .of = .word, .is = .word } }, |
| 17679 | .{ .multiple_scalar_signed_int = .{ .of = .byte, .is = .byte } }, | 21170 | .{ .multiple_scalar_unsigned_int = .{ .of = .word, .is = .word } }, |
| 17680 | .any, | 21171 | .any, |
| 17681 | }, | 21172 | }, |
| 17682 | .patterns = &.{ | 21173 | .patterns = &.{ |
| ... | @@ -17684,7 +21175,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -17684,7 +21175,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 17684 | }, | 21175 | }, |
| 17685 | .extra_temps = .{ | 21176 | .extra_temps = .{ |
| 17686 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 21177 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 17687 | .{ .type = .i8, .kind = .{ .rc = .general_purpose } }, | 21178 | .{ .type = .u16, .kind = .{ .rc = .general_purpose } }, |
| 17688 | .unused, | 21179 | .unused, |
| 17689 | .unused, | 21180 | .unused, |
| 17690 | .unused, | 21181 | .unused, |
| ... | @@ -17699,18 +21190,17 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -17699,18 +21190,17 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 17699 | .clobbers = .{ .eflags = true }, | 21190 | .clobbers = .{ .eflags = true }, |
| 17700 | .each = .{ .once = &.{ | 21191 | .each = .{ .once = &.{ |
| 17701 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, | 21192 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, |
| 17702 | .{ .@"0:", ._, .movsx, .tmp1d, .memia(.src0b, .tmp0, .add_size), ._, ._ }, | 21193 | .{ .@"0:", ._, .movzx, .tmp1d, .memia(.src0w, .tmp0, .add_size), ._, ._ }, |
| 17703 | .{ ._, ._, .cmp, .tmp1b, .memia(.src1b, .tmp0, .add_size), ._, ._ }, | 21194 | .{ ._, ._, .cmp, .tmp1w, .memia(.src1w, .tmp0, .add_size), ._, ._ }, |
| 17704 | .{ ._, ._nl, .j, .@"1f", ._, ._, ._ }, | 21195 | .{ ._, ._b, .cmov, .tmp1w, .memia(.src1w, .tmp0, .add_size), ._, ._ }, |
| 17705 | .{ ._, ._, .mov, .tmp1b, .memia(.src1b, .tmp0, .add_size), ._, ._ }, | 21196 | .{ ._, ._, .mov, .memia(.dst0w, .tmp0, .add_size), .tmp1w, ._, ._ }, |
| 17706 | .{ .@"1:", ._, .mov, .memia(.dst0b, .tmp0, .add_size), .tmp1b, ._, ._ }, | 21197 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, |
| 17707 | .{ ._, ._, .add, .tmp0p, .si(1), ._, ._ }, | ||
| 17708 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 21198 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 17709 | } }, | 21199 | } }, |
| 17710 | }, .{ | 21200 | }, .{ |
| 17711 | .src_constraints = .{ | 21201 | .src_constraints = .{ |
| 17712 | .{ .multiple_scalar_signed_int = .{ .of = .byte, .is = .byte } }, | 21202 | .{ .multiple_scalar_unsigned_int = .{ .of = .word, .is = .word } }, |
| 17713 | .{ .multiple_scalar_signed_int = .{ .of = .byte, .is = .byte } }, | 21203 | .{ .multiple_scalar_unsigned_int = .{ .of = .word, .is = .word } }, |
| 17714 | .any, | 21204 | .any, |
| 17715 | }, | 21205 | }, |
| 17716 | .patterns = &.{ | 21206 | .patterns = &.{ |
| ... | @@ -17718,7 +21208,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -17718,7 +21208,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 17718 | }, | 21208 | }, |
| 17719 | .extra_temps = .{ | 21209 | .extra_temps = .{ |
| 17720 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 21210 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 17721 | .{ .type = .i8, .kind = .{ .rc = .general_purpose } }, | 21211 | .{ .type = .u16, .kind = .{ .rc = .general_purpose } }, |
| 17722 | .unused, | 21212 | .unused, |
| 17723 | .unused, | 21213 | .unused, |
| 17724 | .unused, | 21214 | .unused, |
| ... | @@ -17733,51 +21223,51 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -17733,51 +21223,51 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 17733 | .clobbers = .{ .eflags = true }, | 21223 | .clobbers = .{ .eflags = true }, |
| 17734 | .each = .{ .once = &.{ | 21224 | .each = .{ .once = &.{ |
| 17735 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, | 21225 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, |
| 17736 | .{ .@"0:", ._, .movsx, .tmp1d, .memia(.src0b, .tmp0, .add_size), ._, ._ }, | 21226 | .{ .@"0:", ._, .movzx, .tmp1d, .memia(.src0w, .tmp0, .add_size), ._, ._ }, |
| 17737 | .{ ._, ._, .cmp, .tmp1b, .memia(.src1b, .tmp0, .add_size), ._, ._ }, | 21227 | .{ ._, ._, .cmp, .tmp1w, .memia(.src1w, .tmp0, .add_size), ._, ._ }, |
| 17738 | .{ ._, ._nl, .j, .@"1f", ._, ._, ._ }, | 21228 | .{ ._, ._nb, .j, .@"1f", ._, ._, ._ }, |
| 17739 | .{ ._, ._, .mov, .tmp1b, .memia(.src1b, .tmp0, .add_size), ._, ._ }, | 21229 | .{ ._, ._, .mov, .tmp1w, .memia(.src1w, .tmp0, .add_size), ._, ._ }, |
| 17740 | .{ .@"1:", ._, .mov, .memia(.dst0b, .tmp0, .add_size), .tmp1b, ._, ._ }, | 21230 | .{ .@"1:", ._, .mov, .memia(.dst0w, .tmp0, .add_size), .tmp1w, ._, ._ }, |
| 17741 | .{ ._, ._c, .in, .tmp0p, ._, ._, ._ }, | 21231 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, |
| 17742 | .{ ._, ._nz, .j, .@"0b", ._, ._, ._ }, | 21232 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 17743 | } }, | 21233 | } }, |
| 17744 | }, .{ | 21234 | }, .{ |
| 17745 | .required_features = .{ .sse, .mmx, null, null }, | 21235 | .required_features = .{ .avx, null, null, null }, |
| 17746 | .src_constraints = .{ | 21236 | .src_constraints = .{ |
| 17747 | .{ .scalar_unsigned_int = .{ .of = .qword, .is = .byte } }, | 21237 | .{ .scalar_signed_int = .{ .of = .xword, .is = .dword } }, |
| 17748 | .{ .scalar_unsigned_int = .{ .of = .qword, .is = .byte } }, | 21238 | .{ .scalar_signed_int = .{ .of = .xword, .is = .dword } }, |
| 17749 | .any, | 21239 | .any, |
| 17750 | }, | 21240 | }, |
| 17751 | .patterns = &.{ | 21241 | .patterns = &.{ |
| 17752 | .{ .src = .{ .to_mut_mmx, .mem, .none } }, | 21242 | .{ .src = .{ .to_sse, .mem, .none } }, |
| 17753 | .{ .src = .{ .mem, .to_mut_mmx, .none }, .commute = .{ 0, 1 } }, | 21243 | .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } }, |
| 17754 | .{ .src = .{ .to_mut_mmx, .to_mmx, .none } }, | 21244 | .{ .src = .{ .to_sse, .to_sse, .none } }, |
| 17755 | }, | 21245 | }, |
| 17756 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, | 21246 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| 17757 | .each = .{ .once = &.{ | 21247 | .each = .{ .once = &.{ |
| 17758 | .{ ._, .p_b, .maxu, .dst0q, .src1q, ._, ._ }, | 21248 | .{ ._, .vp_d, .maxs, .dst0x, .src0x, .src1x, ._ }, |
| 17759 | } }, | 21249 | } }, |
| 17760 | }, .{ | 21250 | }, .{ |
| 17761 | .required_features = .{ .avx, null, null, null }, | 21251 | .required_features = .{ .sse4_1, null, null, null }, |
| 17762 | .src_constraints = .{ | 21252 | .src_constraints = .{ |
| 17763 | .{ .scalar_unsigned_int = .{ .of = .xword, .is = .byte } }, | 21253 | .{ .scalar_signed_int = .{ .of = .xword, .is = .dword } }, |
| 17764 | .{ .scalar_unsigned_int = .{ .of = .xword, .is = .byte } }, | 21254 | .{ .scalar_signed_int = .{ .of = .xword, .is = .dword } }, |
| 17765 | .any, | 21255 | .any, |
| 17766 | }, | 21256 | }, |
| 17767 | .patterns = &.{ | 21257 | .patterns = &.{ |
| 17768 | .{ .src = .{ .to_sse, .mem, .none } }, | 21258 | .{ .src = .{ .to_mut_sse, .mem, .none } }, |
| 17769 | .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } }, | 21259 | .{ .src = .{ .mem, .to_mut_sse, .none }, .commute = .{ 0, 1 } }, |
| 17770 | .{ .src = .{ .to_sse, .to_sse, .none } }, | 21260 | .{ .src = .{ .to_mut_sse, .to_sse, .none } }, |
| 17771 | }, | 21261 | }, |
| 17772 | .dst_temps = .{ .{ .rc = .sse }, .unused }, | 21262 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| 17773 | .each = .{ .once = &.{ | 21263 | .each = .{ .once = &.{ |
| 17774 | .{ ._, .vp_b, .maxu, .dst0x, .src0x, .src1x, ._ }, | 21264 | .{ ._, .p_d, .maxs, .dst0x, .src1x, ._, ._ }, |
| 17775 | } }, | 21265 | } }, |
| 17776 | }, .{ | 21266 | }, .{ |
| 17777 | .required_features = .{ .sse2, null, null, null }, | 21267 | .required_features = .{ .sse2, null, null, null }, |
| 17778 | .src_constraints = .{ | 21268 | .src_constraints = .{ |
| 17779 | .{ .scalar_unsigned_int = .{ .of = .xword, .is = .byte } }, | 21269 | .{ .scalar_signed_or_exclusive_int = .{ .of = .xword, .is = .dword } }, |
| 17780 | .{ .scalar_unsigned_int = .{ .of = .xword, .is = .byte } }, | 21270 | .{ .scalar_signed_or_exclusive_int = .{ .of = .xword, .is = .dword } }, |
| 17781 | .any, | 21271 | .any, |
| 17782 | }, | 21272 | }, |
| 17783 | .patterns = &.{ | 21273 | .patterns = &.{ |
| ... | @@ -17785,15 +21275,19 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -17785,15 +21275,19 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 17785 | .{ .src = .{ .mem, .to_mut_sse, .none }, .commute = .{ 0, 1 } }, | 21275 | .{ .src = .{ .mem, .to_mut_sse, .none }, .commute = .{ 0, 1 } }, |
| 17786 | .{ .src = .{ .to_mut_sse, .to_sse, .none } }, | 21276 | .{ .src = .{ .to_mut_sse, .to_sse, .none } }, |
| 17787 | }, | 21277 | }, |
| 17788 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, | 21278 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| 17789 | .each = .{ .once = &.{ | 21279 | .each = .{ .once = &.{ |
| 17790 | .{ ._, .p_b, .maxu, .dst0x, .src1x, ._, ._ }, | 21280 | .{ ._, ._dqa, .mov, .dst0x, .src0x, ._, ._ }, |
| 21281 | .{ ._, .p_d, .cmpgt, .dst0x, .src1x, ._, ._ }, | ||
| 21282 | .{ ._, .p_, .@"and", .src0x, .dst0x, ._, ._ }, | ||
| 21283 | .{ ._, .p_, .andn, .dst0x, .src1x, ._, ._ }, | ||
| 21284 | .{ ._, .p_, .@"or", .dst0x, .src0x, ._, ._ }, | ||
| 17791 | } }, | 21285 | } }, |
| 17792 | }, .{ | 21286 | }, .{ |
| 17793 | .required_features = .{ .avx2, null, null, null }, | 21287 | .required_features = .{ .avx2, null, null, null }, |
| 17794 | .src_constraints = .{ | 21288 | .src_constraints = .{ |
| 17795 | .{ .scalar_unsigned_int = .{ .of = .yword, .is = .byte } }, | 21289 | .{ .scalar_signed_int = .{ .of = .yword, .is = .dword } }, |
| 17796 | .{ .scalar_unsigned_int = .{ .of = .yword, .is = .byte } }, | 21290 | .{ .scalar_signed_int = .{ .of = .yword, .is = .dword } }, |
| 17797 | .any, | 21291 | .any, |
| 17798 | }, | 21292 | }, |
| 17799 | .patterns = &.{ | 21293 | .patterns = &.{ |
| ... | @@ -17803,13 +21297,13 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -17803,13 +21297,13 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 17803 | }, | 21297 | }, |
| 17804 | .dst_temps = .{ .{ .rc = .sse }, .unused }, | 21298 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| 17805 | .each = .{ .once = &.{ | 21299 | .each = .{ .once = &.{ |
| 17806 | .{ ._, .vp_b, .maxu, .dst0y, .src0y, .src1y, ._ }, | 21300 | .{ ._, .vp_d, .maxs, .dst0y, .src0y, .src1y, ._ }, |
| 17807 | } }, | 21301 | } }, |
| 17808 | }, .{ | 21302 | }, .{ |
| 17809 | .required_features = .{ .avx2, null, null, null }, | 21303 | .required_features = .{ .avx2, null, null, null }, |
| 17810 | .src_constraints = .{ | 21304 | .src_constraints = .{ |
| 17811 | .{ .multiple_scalar_unsigned_int = .{ .of = .yword, .is = .byte } }, | 21305 | .{ .multiple_scalar_signed_int = .{ .of = .yword, .is = .dword } }, |
| 17812 | .{ .multiple_scalar_unsigned_int = .{ .of = .yword, .is = .byte } }, | 21306 | .{ .multiple_scalar_signed_int = .{ .of = .yword, .is = .dword } }, |
| 17813 | .any, | 21307 | .any, |
| 17814 | }, | 21308 | }, |
| 17815 | .patterns = &.{ | 21309 | .patterns = &.{ |
| ... | @@ -17817,7 +21311,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -17817,7 +21311,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 17817 | }, | 21311 | }, |
| 17818 | .extra_temps = .{ | 21312 | .extra_temps = .{ |
| 17819 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 21313 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 17820 | .{ .type = .vector_32_u8, .kind = .{ .rc = .sse } }, | 21314 | .{ .type = .vector_8_i32, .kind = .{ .rc = .sse } }, |
| 17821 | .unused, | 21315 | .unused, |
| 17822 | .unused, | 21316 | .unused, |
| 17823 | .unused, | 21317 | .unused, |
| ... | @@ -17833,7 +21327,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -17833,7 +21327,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 17833 | .each = .{ .once = &.{ | 21327 | .each = .{ .once = &.{ |
| 17834 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, | 21328 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, |
| 17835 | .{ .@"0:", .v_dqa, .mov, .tmp1y, .memia(.src0y, .tmp0, .add_size), ._, ._ }, | 21329 | .{ .@"0:", .v_dqa, .mov, .tmp1y, .memia(.src0y, .tmp0, .add_size), ._, ._ }, |
| 17836 | .{ ._, .vp_b, .maxu, .tmp1y, .tmp1y, .memia(.src1y, .tmp0, .add_size), ._ }, | 21330 | .{ ._, .vp_d, .maxs, .tmp1y, .tmp1y, .memia(.src1y, .tmp0, .add_size), ._ }, |
| 17837 | .{ ._, .v_dqa, .mov, .memia(.dst0y, .tmp0, .add_size), .tmp1y, ._, ._ }, | 21331 | .{ ._, .v_dqa, .mov, .memia(.dst0y, .tmp0, .add_size), .tmp1y, ._, ._ }, |
| 17838 | .{ ._, ._, .add, .tmp0p, .si(32), ._, ._ }, | 21332 | .{ ._, ._, .add, .tmp0p, .si(32), ._, ._ }, |
| 17839 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 21333 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| ... | @@ -17841,8 +21335,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -17841,8 +21335,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 17841 | }, .{ | 21335 | }, .{ |
| 17842 | .required_features = .{ .avx, null, null, null }, | 21336 | .required_features = .{ .avx, null, null, null }, |
| 17843 | .src_constraints = .{ | 21337 | .src_constraints = .{ |
| 17844 | .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .byte } }, | 21338 | .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .dword } }, |
| 17845 | .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .byte } }, | 21339 | .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .dword } }, |
| 17846 | .any, | 21340 | .any, |
| 17847 | }, | 21341 | }, |
| 17848 | .patterns = &.{ | 21342 | .patterns = &.{ |
| ... | @@ -17850,7 +21344,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -17850,7 +21344,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 17850 | }, | 21344 | }, |
| 17851 | .extra_temps = .{ | 21345 | .extra_temps = .{ |
| 17852 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 21346 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 17853 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, | 21347 | .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } }, |
| 17854 | .unused, | 21348 | .unused, |
| 17855 | .unused, | 21349 | .unused, |
| 17856 | .unused, | 21350 | .unused, |
| ... | @@ -17866,16 +21360,16 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -17866,16 +21360,16 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 17866 | .each = .{ .once = &.{ | 21360 | .each = .{ .once = &.{ |
| 17867 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, | 21361 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, |
| 17868 | .{ .@"0:", .v_dqa, .mov, .tmp1x, .memia(.src0x, .tmp0, .add_size), ._, ._ }, | 21362 | .{ .@"0:", .v_dqa, .mov, .tmp1x, .memia(.src0x, .tmp0, .add_size), ._, ._ }, |
| 17869 | .{ ._, .vp_b, .maxu, .tmp1x, .tmp1x, .memia(.src1x, .tmp0, .add_size), ._ }, | 21363 | .{ ._, .vp_d, .maxs, .tmp1x, .tmp1x, .memia(.src1x, .tmp0, .add_size), ._ }, |
| 17870 | .{ ._, .v_dqa, .mov, .memia(.dst0x, .tmp0, .add_size), .tmp1x, ._, ._ }, | 21364 | .{ ._, .v_dqa, .mov, .memia(.dst0x, .tmp0, .add_size), .tmp1x, ._, ._ }, |
| 17871 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, | 21365 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, |
| 17872 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 21366 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 17873 | } }, | 21367 | } }, |
| 17874 | }, .{ | 21368 | }, .{ |
| 17875 | .required_features = .{ .sse2, null, null, null }, | 21369 | .required_features = .{ .sse4_1, null, null, null }, |
| 17876 | .src_constraints = .{ | 21370 | .src_constraints = .{ |
| 17877 | .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .byte } }, | 21371 | .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .dword } }, |
| 17878 | .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .byte } }, | 21372 | .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .dword } }, |
| 17879 | .any, | 21373 | .any, |
| 17880 | }, | 21374 | }, |
| 17881 | .patterns = &.{ | 21375 | .patterns = &.{ |
| ... | @@ -17883,7 +21377,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -17883,7 +21377,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 17883 | }, | 21377 | }, |
| 17884 | .extra_temps = .{ | 21378 | .extra_temps = .{ |
| 17885 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 21379 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 17886 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, | 21380 | .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } }, |
| 17887 | .unused, | 21381 | .unused, |
| 17888 | .unused, | 21382 | .unused, |
| 17889 | .unused, | 21383 | .unused, |
| ... | @@ -17899,16 +21393,16 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -17899,16 +21393,16 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 17899 | .each = .{ .once = &.{ | 21393 | .each = .{ .once = &.{ |
| 17900 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, | 21394 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, |
| 17901 | .{ .@"0:", ._dqa, .mov, .tmp1x, .memia(.src0x, .tmp0, .add_size), ._, ._ }, | 21395 | .{ .@"0:", ._dqa, .mov, .tmp1x, .memia(.src0x, .tmp0, .add_size), ._, ._ }, |
| 17902 | .{ ._, .p_b, .maxu, .tmp1x, .memia(.src1x, .tmp0, .add_size), ._, ._ }, | 21396 | .{ ._, .p_d, .maxs, .tmp1x, .memia(.src1x, .tmp0, .add_size), ._, ._ }, |
| 17903 | .{ ._, ._dqa, .mov, .memia(.dst0x, .tmp0, .add_size), .tmp1x, ._, ._ }, | 21397 | .{ ._, ._dqa, .mov, .memia(.dst0x, .tmp0, .add_size), .tmp1x, ._, ._ }, |
| 17904 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, | 21398 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, |
| 17905 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 21399 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 17906 | } }, | 21400 | } }, |
| 17907 | }, .{ | 21401 | }, .{ |
| 17908 | .required_features = .{ .cmov, .slow_incdec, null, null }, | 21402 | .required_features = .{ .sse2, null, null, null }, |
| 17909 | .src_constraints = .{ | 21403 | .src_constraints = .{ |
| 17910 | .{ .multiple_scalar_unsigned_int = .{ .of = .byte, .is = .byte } }, | 21404 | .{ .multiple_scalar_signed_or_exclusive_int = .{ .of = .xword, .is = .dword } }, |
| 17911 | .{ .multiple_scalar_unsigned_int = .{ .of = .byte, .is = .byte } }, | 21405 | .{ .multiple_scalar_signed_or_exclusive_int = .{ .of = .xword, .is = .dword } }, |
| 17912 | .any, | 21406 | .any, |
| 17913 | }, | 21407 | }, |
| 17914 | .patterns = &.{ | 21408 | .patterns = &.{ |
| ... | @@ -17916,8 +21410,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -17916,8 +21410,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 17916 | }, | 21410 | }, |
| 17917 | .extra_temps = .{ | 21411 | .extra_temps = .{ |
| 17918 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 21412 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 17919 | .{ .type = .u8, .kind = .{ .rc = .general_purpose } }, | 21413 | .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } }, |
| 17920 | .{ .type = .u8, .kind = .{ .rc = .general_purpose } }, | 21414 | .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } }, |
| 17921 | .unused, | 21415 | .unused, |
| 17922 | .unused, | 21416 | .unused, |
| 17923 | .unused, | 21417 | .unused, |
| ... | @@ -17931,54 +21425,21 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -17931,54 +21425,21 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 17931 | .clobbers = .{ .eflags = true }, | 21425 | .clobbers = .{ .eflags = true }, |
| 17932 | .each = .{ .once = &.{ | 21426 | .each = .{ .once = &.{ |
| 17933 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, | 21427 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, |
| 17934 | .{ .@"0:", ._, .movzx, .tmp1d, .memia(.src0b, .tmp0, .add_size), ._, ._ }, | 21428 | .{ .@"0:", ._dqa, .mov, .tmp1x, .memia(.src0x, .tmp0, .add_size), ._, ._ }, |
| 17935 | .{ ._, ._, .movzx, .tmp2d, .memia(.src1b, .tmp0, .add_size), ._, ._ }, | 21429 | .{ ._, ._dqa, .mov, .tmp2x, .tmp1x, ._, ._ }, |
| 17936 | .{ ._, ._, .cmp, .tmp1b, .tmp2b, ._, ._ }, | 21430 | .{ ._, .p_d, .cmpgt, .tmp1x, .memia(.src1x, .tmp0, .add_size), ._, ._ }, |
| 17937 | .{ ._, ._b, .cmov, .tmp1d, .tmp2d, ._, ._ }, | 21431 | .{ ._, .p_, .@"and", .tmp2x, .tmp1x, ._, ._ }, |
| 17938 | .{ ._, ._, .mov, .memia(.dst0b, .tmp0, .add_size), .tmp1b, ._, ._ }, | 21432 | .{ ._, .p_, .andn, .tmp1x, .memia(.src1x, .tmp0, .add_size), ._, ._ }, |
| 17939 | .{ ._, ._, .add, .tmp0p, .si(1), ._, ._ }, | 21433 | .{ ._, .p_, .@"or", .tmp1x, .tmp2x, ._, ._ }, |
| 21434 | .{ ._, ._dqa, .mov, .memia(.dst0x, .tmp0, .add_size), .tmp1x, ._, ._ }, | ||
| 21435 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, | ||
| 17940 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 21436 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 17941 | } }, | 21437 | } }, |
| 17942 | }, .{ | 21438 | }, .{ |
| 17943 | .required_features = .{ .cmov, null, null, null }, | 21439 | .required_features = .{ .cmov, null, null, null }, |
| 17944 | .src_constraints = .{ | 21440 | .src_constraints = .{ |
| 17945 | .{ .multiple_scalar_unsigned_int = .{ .of = .byte, .is = .byte } }, | 21441 | .{ .multiple_scalar_signed_int = .{ .of = .dword, .is = .dword } }, |
| 17946 | .{ .multiple_scalar_unsigned_int = .{ .of = .byte, .is = .byte } }, | 21442 | .{ .multiple_scalar_signed_int = .{ .of = .dword, .is = .dword } }, |
| 17947 | .any, | ||
| 17948 | }, | ||
| 17949 | .patterns = &.{ | ||
| 17950 | .{ .src = .{ .to_mem, .to_mem, .none } }, | ||
| 17951 | }, | ||
| 17952 | .extra_temps = .{ | ||
| 17953 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | ||
| 17954 | .{ .type = .u8, .kind = .{ .rc = .general_purpose } }, | ||
| 17955 | .{ .type = .u8, .kind = .{ .rc = .general_purpose } }, | ||
| 17956 | .unused, | ||
| 17957 | .unused, | ||
| 17958 | .unused, | ||
| 17959 | .unused, | ||
| 17960 | .unused, | ||
| 17961 | .unused, | ||
| 17962 | .unused, | ||
| 17963 | .unused, | ||
| 17964 | }, | ||
| 17965 | .dst_temps = .{ .mem, .unused }, | ||
| 17966 | .clobbers = .{ .eflags = true }, | ||
| 17967 | .each = .{ .once = &.{ | ||
| 17968 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, | ||
| 17969 | .{ .@"0:", ._, .movzx, .tmp1d, .memia(.src0b, .tmp0, .add_size), ._, ._ }, | ||
| 17970 | .{ ._, ._, .movzx, .tmp2d, .memia(.src1b, .tmp0, .add_size), ._, ._ }, | ||
| 17971 | .{ ._, ._, .cmp, .tmp1b, .tmp2b, ._, ._ }, | ||
| 17972 | .{ ._, ._b, .cmov, .tmp1d, .tmp2d, ._, ._ }, | ||
| 17973 | .{ ._, ._, .mov, .memia(.dst0b, .tmp0, .add_size), .tmp1b, ._, ._ }, | ||
| 17974 | .{ ._, ._c, .in, .tmp0p, ._, ._, ._ }, | ||
| 17975 | .{ ._, ._nz, .j, .@"0b", ._, ._, ._ }, | ||
| 17976 | } }, | ||
| 17977 | }, .{ | ||
| 17978 | .required_features = .{ .slow_incdec, null, null, null }, | ||
| 17979 | .src_constraints = .{ | ||
| 17980 | .{ .multiple_scalar_unsigned_int = .{ .of = .byte, .is = .byte } }, | ||
| 17981 | .{ .multiple_scalar_unsigned_int = .{ .of = .byte, .is = .byte } }, | ||
| 17982 | .any, | 21443 | .any, |
| 17983 | }, | 21444 | }, |
| 17984 | .patterns = &.{ | 21445 | .patterns = &.{ |
| ... | @@ -17986,7 +21447,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -17986,7 +21447,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 17986 | }, | 21447 | }, |
| 17987 | .extra_temps = .{ | 21448 | .extra_temps = .{ |
| 17988 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 21449 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 17989 | .{ .type = .u8, .kind = .{ .rc = .general_purpose } }, | 21450 | .{ .type = .i32, .kind = .{ .rc = .general_purpose } }, |
| 17990 | .unused, | 21451 | .unused, |
| 17991 | .unused, | 21452 | .unused, |
| 17992 | .unused, | 21453 | .unused, |
| ... | @@ -18001,18 +21462,17 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -18001,18 +21462,17 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 18001 | .clobbers = .{ .eflags = true }, | 21462 | .clobbers = .{ .eflags = true }, |
| 18002 | .each = .{ .once = &.{ | 21463 | .each = .{ .once = &.{ |
| 18003 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, | 21464 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, |
| 18004 | .{ .@"0:", ._, .movzx, .tmp1d, .memia(.src0b, .tmp0, .add_size), ._, ._ }, | 21465 | .{ .@"0:", ._, .mov, .tmp1d, .memia(.src0d, .tmp0, .add_size), ._, ._ }, |
| 18005 | .{ ._, ._, .cmp, .tmp1b, .memia(.src1b, .tmp0, .add_size), ._, ._ }, | 21466 | .{ ._, ._, .cmp, .tmp1d, .memia(.src1d, .tmp0, .add_size), ._, ._ }, |
| 18006 | .{ ._, ._nb, .j, .@"1f", ._, ._, ._ }, | 21467 | .{ ._, ._l, .cmov, .tmp1d, .memia(.src1d, .tmp0, .add_size), ._, ._ }, |
| 18007 | .{ ._, ._, .mov, .tmp1b, .memia(.src1b, .tmp0, .add_size), ._, ._ }, | 21468 | .{ ._, ._, .mov, .memia(.dst0d, .tmp0, .add_size), .tmp1d, ._, ._ }, |
| 18008 | .{ .@"1:", ._, .mov, .memia(.dst0b, .tmp0, .add_size), .tmp1b, ._, ._ }, | 21469 | .{ ._, ._, .add, .tmp0p, .si(4), ._, ._ }, |
| 18009 | .{ ._, ._, .add, .tmp0p, .si(1), ._, ._ }, | ||
| 18010 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 21470 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 18011 | } }, | 21471 | } }, |
| 18012 | }, .{ | 21472 | }, .{ |
| 18013 | .src_constraints = .{ | 21473 | .src_constraints = .{ |
| 18014 | .{ .multiple_scalar_unsigned_int = .{ .of = .byte, .is = .byte } }, | 21474 | .{ .multiple_scalar_signed_int = .{ .of = .dword, .is = .dword } }, |
| 18015 | .{ .multiple_scalar_unsigned_int = .{ .of = .byte, .is = .byte } }, | 21475 | .{ .multiple_scalar_signed_int = .{ .of = .dword, .is = .dword } }, |
| 18016 | .any, | 21476 | .any, |
| 18017 | }, | 21477 | }, |
| 18018 | .patterns = &.{ | 21478 | .patterns = &.{ |
| ... | @@ -18020,7 +21480,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -18020,7 +21480,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 18020 | }, | 21480 | }, |
| 18021 | .extra_temps = .{ | 21481 | .extra_temps = .{ |
| 18022 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 21482 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 18023 | .{ .type = .u8, .kind = .{ .rc = .general_purpose } }, | 21483 | .{ .type = .i32, .kind = .{ .rc = .general_purpose } }, |
| 18024 | .unused, | 21484 | .unused, |
| 18025 | .unused, | 21485 | .unused, |
| 18026 | .unused, | 21486 | .unused, |
| ... | @@ -18035,51 +21495,51 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -18035,51 +21495,51 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 18035 | .clobbers = .{ .eflags = true }, | 21495 | .clobbers = .{ .eflags = true }, |
| 18036 | .each = .{ .once = &.{ | 21496 | .each = .{ .once = &.{ |
| 18037 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, | 21497 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, |
| 18038 | .{ .@"0:", ._, .movzx, .tmp1d, .memia(.src0b, .tmp0, .add_size), ._, ._ }, | 21498 | .{ .@"0:", ._, .mov, .tmp1d, .memia(.src0d, .tmp0, .add_size), ._, ._ }, |
| 18039 | .{ ._, ._, .cmp, .tmp1b, .memia(.src1b, .tmp0, .add_size), ._, ._ }, | 21499 | .{ ._, ._, .cmp, .tmp1d, .memia(.src1d, .tmp0, .add_size), ._, ._ }, |
| 18040 | .{ ._, ._nb, .j, .@"1f", ._, ._, ._ }, | 21500 | .{ ._, ._nl, .j, .@"1f", ._, ._, ._ }, |
| 18041 | .{ ._, ._, .mov, .tmp1b, .memia(.src1b, .tmp0, .add_size), ._, ._ }, | 21501 | .{ ._, ._, .mov, .tmp1d, .memia(.src1d, .tmp0, .add_size), ._, ._ }, |
| 18042 | .{ .@"1:", ._, .mov, .memia(.dst0b, .tmp0, .add_size), .tmp1b, ._, ._ }, | 21502 | .{ .@"1:", ._, .mov, .memia(.dst0d, .tmp0, .add_size), .tmp1d, ._, ._ }, |
| 18043 | .{ ._, ._c, .in, .tmp0p, ._, ._, ._ }, | 21503 | .{ ._, ._, .add, .tmp0p, .si(4), ._, ._ }, |
| 18044 | .{ ._, ._nz, .j, .@"0b", ._, ._, ._ }, | 21504 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 18045 | } }, | 21505 | } }, |
| 18046 | }, .{ | 21506 | }, .{ |
| 18047 | .required_features = .{ .sse, .mmx, null, null }, | 21507 | .required_features = .{ .avx, null, null, null }, |
| 18048 | .src_constraints = .{ | 21508 | .src_constraints = .{ |
| 18049 | .{ .scalar_signed_int = .{ .of = .qword, .is = .word } }, | 21509 | .{ .scalar_unsigned_int = .{ .of = .xword, .is = .dword } }, |
| 18050 | .{ .scalar_signed_int = .{ .of = .qword, .is = .word } }, | 21510 | .{ .scalar_unsigned_int = .{ .of = .xword, .is = .dword } }, |
| 18051 | .any, | 21511 | .any, |
| 18052 | }, | 21512 | }, |
| 18053 | .patterns = &.{ | 21513 | .patterns = &.{ |
| 18054 | .{ .src = .{ .to_mut_mmx, .mem, .none } }, | 21514 | .{ .src = .{ .to_sse, .mem, .none } }, |
| 18055 | .{ .src = .{ .mem, .to_mut_mmx, .none }, .commute = .{ 0, 1 } }, | 21515 | .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } }, |
| 18056 | .{ .src = .{ .to_mut_mmx, .to_mmx, .none } }, | 21516 | .{ .src = .{ .to_sse, .to_sse, .none } }, |
| 18057 | }, | 21517 | }, |
| 18058 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, | 21518 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| 18059 | .each = .{ .once = &.{ | 21519 | .each = .{ .once = &.{ |
| 18060 | .{ ._, .p_w, .maxs, .dst0q, .src1q, ._, ._ }, | 21520 | .{ ._, .vp_d, .maxu, .dst0x, .src0x, .src1x, ._ }, |
| 18061 | } }, | 21521 | } }, |
| 18062 | }, .{ | 21522 | }, .{ |
| 18063 | .required_features = .{ .avx, null, null, null }, | 21523 | .required_features = .{ .sse4_1, null, null, null }, |
| 18064 | .src_constraints = .{ | 21524 | .src_constraints = .{ |
| 18065 | .{ .scalar_signed_int = .{ .of = .xword, .is = .word } }, | 21525 | .{ .scalar_unsigned_int = .{ .of = .xword, .is = .dword } }, |
| 18066 | .{ .scalar_signed_int = .{ .of = .xword, .is = .word } }, | 21526 | .{ .scalar_unsigned_int = .{ .of = .xword, .is = .dword } }, |
| 18067 | .any, | 21527 | .any, |
| 18068 | }, | 21528 | }, |
| 18069 | .patterns = &.{ | 21529 | .patterns = &.{ |
| 18070 | .{ .src = .{ .to_sse, .mem, .none } }, | 21530 | .{ .src = .{ .to_mut_sse, .mem, .none } }, |
| 18071 | .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } }, | 21531 | .{ .src = .{ .mem, .to_mut_sse, .none }, .commute = .{ 0, 1 } }, |
| 18072 | .{ .src = .{ .to_sse, .to_sse, .none } }, | 21532 | .{ .src = .{ .to_mut_sse, .to_sse, .none } }, |
| 18073 | }, | 21533 | }, |
| 18074 | .dst_temps = .{ .{ .rc = .sse }, .unused }, | 21534 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| 18075 | .each = .{ .once = &.{ | 21535 | .each = .{ .once = &.{ |
| 18076 | .{ ._, .vp_w, .maxs, .dst0x, .src0x, .src1x, ._ }, | 21536 | .{ ._, .p_d, .maxu, .dst0x, .src1x, ._, ._ }, |
| 18077 | } }, | 21537 | } }, |
| 18078 | }, .{ | 21538 | }, .{ |
| 18079 | .required_features = .{ .sse2, null, null, null }, | 21539 | .required_features = .{ .sse2, null, null, null }, |
| 18080 | .src_constraints = .{ | 21540 | .src_constraints = .{ |
| 18081 | .{ .scalar_signed_int = .{ .of = .xword, .is = .word } }, | 21541 | .{ .scalar_exact_unsigned_int = .{ .of = .xword, .is = 32 } }, |
| 18082 | .{ .scalar_signed_int = .{ .of = .xword, .is = .word } }, | 21542 | .{ .scalar_exact_unsigned_int = .{ .of = .xword, .is = 32 } }, |
| 18083 | .any, | 21543 | .any, |
| 18084 | }, | 21544 | }, |
| 18085 | .patterns = &.{ | 21545 | .patterns = &.{ |
| ... | @@ -18087,15 +21547,36 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -18087,15 +21547,36 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 18087 | .{ .src = .{ .mem, .to_mut_sse, .none }, .commute = .{ 0, 1 } }, | 21547 | .{ .src = .{ .mem, .to_mut_sse, .none }, .commute = .{ 0, 1 } }, |
| 18088 | .{ .src = .{ .to_mut_sse, .to_sse, .none } }, | 21548 | .{ .src = .{ .to_mut_sse, .to_sse, .none } }, |
| 18089 | }, | 21549 | }, |
| 18090 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, | 21550 | .extra_temps = .{ |
| 21551 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, | ||
| 21552 | .{ .type = .vector_4_u32, .kind = .{ .smin_mem = .{ .ref = .src0, .vectorize_to = .xword } } }, | ||
| 21553 | .{ .type = .vector_4_u32, .kind = .{ .rc = .sse } }, | ||
| 21554 | .unused, | ||
| 21555 | .unused, | ||
| 21556 | .unused, | ||
| 21557 | .unused, | ||
| 21558 | .unused, | ||
| 21559 | .unused, | ||
| 21560 | .unused, | ||
| 21561 | .unused, | ||
| 21562 | }, | ||
| 21563 | .dst_temps = .{ .{ .rc = .sse }, .unused }, | ||
| 18091 | .each = .{ .once = &.{ | 21564 | .each = .{ .once = &.{ |
| 18092 | .{ ._, .p_w, .maxs, .dst0x, .src1x, ._, ._ }, | 21565 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| 21566 | .{ ._, ._dqa, .mov, .dst0x, .lea(.tmp0x), ._, ._ }, | ||
| 21567 | .{ ._, ._dqa, .mov, .tmp2x, .dst0x, ._, ._ }, | ||
| 21568 | .{ ._, .p_, .xor, .dst0x, .src0x, ._, ._ }, | ||
| 21569 | .{ ._, .p_, .xor, .tmp2x, .src1x, ._, ._ }, | ||
| 21570 | .{ ._, .p_d, .cmpgt, .dst0x, .tmp2x, ._, ._ }, | ||
| 21571 | .{ ._, .p_, .@"and", .src0x, .dst0x, ._, ._ }, | ||
| 21572 | .{ ._, .p_, .andn, .dst0x, .src1x, ._, ._ }, | ||
| 21573 | .{ ._, .p_, .@"or", .dst0x, .src0x, ._, ._ }, | ||
| 18093 | } }, | 21574 | } }, |
| 18094 | }, .{ | 21575 | }, .{ |
| 18095 | .required_features = .{ .avx2, null, null, null }, | 21576 | .required_features = .{ .avx2, null, null, null }, |
| 18096 | .src_constraints = .{ | 21577 | .src_constraints = .{ |
| 18097 | .{ .scalar_signed_int = .{ .of = .yword, .is = .word } }, | 21578 | .{ .scalar_unsigned_int = .{ .of = .yword, .is = .dword } }, |
| 18098 | .{ .scalar_signed_int = .{ .of = .yword, .is = .word } }, | 21579 | .{ .scalar_unsigned_int = .{ .of = .yword, .is = .dword } }, |
| 18099 | .any, | 21580 | .any, |
| 18100 | }, | 21581 | }, |
| 18101 | .patterns = &.{ | 21582 | .patterns = &.{ |
| ... | @@ -18105,13 +21586,13 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -18105,13 +21586,13 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 18105 | }, | 21586 | }, |
| 18106 | .dst_temps = .{ .{ .rc = .sse }, .unused }, | 21587 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| 18107 | .each = .{ .once = &.{ | 21588 | .each = .{ .once = &.{ |
| 18108 | .{ ._, .vp_w, .maxs, .dst0y, .src0y, .src1y, ._ }, | 21589 | .{ ._, .vp_d, .maxu, .dst0y, .src0y, .src1y, ._ }, |
| 18109 | } }, | 21590 | } }, |
| 18110 | }, .{ | 21591 | }, .{ |
| 18111 | .required_features = .{ .avx2, null, null, null }, | 21592 | .required_features = .{ .avx2, null, null, null }, |
| 18112 | .src_constraints = .{ | 21593 | .src_constraints = .{ |
| 18113 | .{ .multiple_scalar_signed_int = .{ .of = .yword, .is = .word } }, | 21594 | .{ .multiple_scalar_unsigned_int = .{ .of = .yword, .is = .dword } }, |
| 18114 | .{ .multiple_scalar_signed_int = .{ .of = .yword, .is = .word } }, | 21595 | .{ .multiple_scalar_unsigned_int = .{ .of = .yword, .is = .dword } }, |
| 18115 | .any, | 21596 | .any, |
| 18116 | }, | 21597 | }, |
| 18117 | .patterns = &.{ | 21598 | .patterns = &.{ |
| ... | @@ -18119,7 +21600,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -18119,7 +21600,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 18119 | }, | 21600 | }, |
| 18120 | .extra_temps = .{ | 21601 | .extra_temps = .{ |
| 18121 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 21602 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 18122 | .{ .type = .vector_16_i16, .kind = .{ .rc = .sse } }, | 21603 | .{ .type = .vector_8_u32, .kind = .{ .rc = .sse } }, |
| 18123 | .unused, | 21604 | .unused, |
| 18124 | .unused, | 21605 | .unused, |
| 18125 | .unused, | 21606 | .unused, |
| ... | @@ -18135,7 +21616,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -18135,7 +21616,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 18135 | .each = .{ .once = &.{ | 21616 | .each = .{ .once = &.{ |
| 18136 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, | 21617 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, |
| 18137 | .{ .@"0:", .v_dqa, .mov, .tmp1y, .memia(.src0y, .tmp0, .add_size), ._, ._ }, | 21618 | .{ .@"0:", .v_dqa, .mov, .tmp1y, .memia(.src0y, .tmp0, .add_size), ._, ._ }, |
| 18138 | .{ ._, .vp_w, .maxs, .tmp1y, .tmp1y, .memia(.src1y, .tmp0, .add_size), ._ }, | 21619 | .{ ._, .vp_d, .maxu, .tmp1y, .tmp1y, .memia(.src1y, .tmp0, .add_size), ._ }, |
| 18139 | .{ ._, .v_dqa, .mov, .memia(.dst0y, .tmp0, .add_size), .tmp1y, ._, ._ }, | 21620 | .{ ._, .v_dqa, .mov, .memia(.dst0y, .tmp0, .add_size), .tmp1y, ._, ._ }, |
| 18140 | .{ ._, ._, .add, .tmp0p, .si(32), ._, ._ }, | 21621 | .{ ._, ._, .add, .tmp0p, .si(32), ._, ._ }, |
| 18141 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 21622 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| ... | @@ -18143,8 +21624,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -18143,8 +21624,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 18143 | }, .{ | 21624 | }, .{ |
| 18144 | .required_features = .{ .avx, null, null, null }, | 21625 | .required_features = .{ .avx, null, null, null }, |
| 18145 | .src_constraints = .{ | 21626 | .src_constraints = .{ |
| 18146 | .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .word } }, | 21627 | .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .dword } }, |
| 18147 | .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .word } }, | 21628 | .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .dword } }, |
| 18148 | .any, | 21629 | .any, |
| 18149 | }, | 21630 | }, |
| 18150 | .patterns = &.{ | 21631 | .patterns = &.{ |
| ... | @@ -18152,7 +21633,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -18152,7 +21633,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 18152 | }, | 21633 | }, |
| 18153 | .extra_temps = .{ | 21634 | .extra_temps = .{ |
| 18154 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 21635 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 18155 | .{ .type = .vector_16_i16, .kind = .{ .rc = .sse } }, | 21636 | .{ .type = .vector_4_u32, .kind = .{ .rc = .sse } }, |
| 18156 | .unused, | 21637 | .unused, |
| 18157 | .unused, | 21638 | .unused, |
| 18158 | .unused, | 21639 | .unused, |
| ... | @@ -18168,16 +21649,16 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -18168,16 +21649,16 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 18168 | .each = .{ .once = &.{ | 21649 | .each = .{ .once = &.{ |
| 18169 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, | 21650 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, |
| 18170 | .{ .@"0:", .v_dqa, .mov, .tmp1x, .memia(.src0x, .tmp0, .add_size), ._, ._ }, | 21651 | .{ .@"0:", .v_dqa, .mov, .tmp1x, .memia(.src0x, .tmp0, .add_size), ._, ._ }, |
| 18171 | .{ ._, .vp_w, .maxs, .tmp1x, .tmp1x, .memia(.src1x, .tmp0, .add_size), ._ }, | 21652 | .{ ._, .vp_d, .maxu, .tmp1x, .tmp1x, .memia(.src1x, .tmp0, .add_size), ._ }, |
| 18172 | .{ ._, .v_dqa, .mov, .memia(.dst0x, .tmp0, .add_size), .tmp1x, ._, ._ }, | 21653 | .{ ._, .v_dqa, .mov, .memia(.dst0x, .tmp0, .add_size), .tmp1x, ._, ._ }, |
| 18173 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, | 21654 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, |
| 18174 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 21655 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 18175 | } }, | 21656 | } }, |
| 18176 | }, .{ | 21657 | }, .{ |
| 18177 | .required_features = .{ .sse2, null, null, null }, | 21658 | .required_features = .{ .sse4_1, null, null, null }, |
| 18178 | .src_constraints = .{ | 21659 | .src_constraints = .{ |
| 18179 | .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .word } }, | 21660 | .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .dword } }, |
| 18180 | .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .word } }, | 21661 | .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .dword } }, |
| 18181 | .any, | 21662 | .any, |
| 18182 | }, | 21663 | }, |
| 18183 | .patterns = &.{ | 21664 | .patterns = &.{ |
| ... | @@ -18185,7 +21666,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -18185,7 +21666,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 18185 | }, | 21666 | }, |
| 18186 | .extra_temps = .{ | 21667 | .extra_temps = .{ |
| 18187 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 21668 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 18188 | .{ .type = .vector_16_i16, .kind = .{ .rc = .sse } }, | 21669 | .{ .type = .vector_4_u32, .kind = .{ .rc = .sse } }, |
| 18189 | .unused, | 21670 | .unused, |
| 18190 | .unused, | 21671 | .unused, |
| 18191 | .unused, | 21672 | .unused, |
| ... | @@ -18201,16 +21682,59 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -18201,16 +21682,59 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 18201 | .each = .{ .once = &.{ | 21682 | .each = .{ .once = &.{ |
| 18202 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, | 21683 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, |
| 18203 | .{ .@"0:", ._dqa, .mov, .tmp1x, .memia(.src0x, .tmp0, .add_size), ._, ._ }, | 21684 | .{ .@"0:", ._dqa, .mov, .tmp1x, .memia(.src0x, .tmp0, .add_size), ._, ._ }, |
| 18204 | .{ ._, .p_w, .maxs, .tmp1x, .memia(.src1x, .tmp0, .add_size), ._, ._ }, | 21685 | .{ ._, .p_d, .maxu, .tmp1x, .memia(.src1x, .tmp0, .add_size), ._, ._ }, |
| 18205 | .{ ._, ._dqa, .mov, .memia(.dst0x, .tmp0, .add_size), .tmp1x, ._, ._ }, | 21686 | .{ ._, ._dqa, .mov, .memia(.dst0x, .tmp0, .add_size), .tmp1x, ._, ._ }, |
| 18206 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, | 21687 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, |
| 18207 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 21688 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 18208 | } }, | 21689 | } }, |
| 21690 | }, .{ | ||
| 21691 | .required_features = .{ .sse2, null, null, null }, | ||
| 21692 | .src_constraints = .{ | ||
| 21693 | .{ .multiple_scalar_exact_unsigned_int = .{ .of = .xword, .is = 32 } }, | ||
| 21694 | .{ .multiple_scalar_exact_unsigned_int = .{ .of = .xword, .is = 32 } }, | ||
| 21695 | .any, | ||
| 21696 | }, | ||
| 21697 | .patterns = &.{ | ||
| 21698 | .{ .src = .{ .to_mem, .to_mem, .none } }, | ||
| 21699 | }, | ||
| 21700 | .extra_temps = .{ | ||
| 21701 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | ||
| 21702 | .{ .type = .vector_4_u32, .kind = .{ .smin_mem = .{ .ref = .src0, .vectorize_to = .xword } } }, | ||
| 21703 | .{ .type = .vector_4_u32, .kind = .{ .rc = .sse } }, | ||
| 21704 | .{ .type = .vector_4_u32, .kind = .{ .rc = .sse } }, | ||
| 21705 | .{ .type = .vector_4_u32, .kind = .{ .rc = .sse } }, | ||
| 21706 | .{ .type = .vector_4_u32, .kind = .{ .rc = .sse } }, | ||
| 21707 | .{ .type = .vector_4_u32, .kind = .{ .rc = .sse } }, | ||
| 21708 | .unused, | ||
| 21709 | .unused, | ||
| 21710 | .unused, | ||
| 21711 | .unused, | ||
| 21712 | }, | ||
| 21713 | .dst_temps = .{ .mem, .unused }, | ||
| 21714 | .clobbers = .{ .eflags = true }, | ||
| 21715 | .each = .{ .once = &.{ | ||
| 21716 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, | ||
| 21717 | .{ ._, ._dqa, .mov, .tmp2x, .lea(.tmp0x), ._, ._ }, | ||
| 21718 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, | ||
| 21719 | .{ .@"0:", ._dqa, .mov, .tmp3x, .memia(.src0x, .tmp0, .add_size), ._, ._ }, | ||
| 21720 | .{ ._, ._dqa, .mov, .tmp4x, .memia(.src1x, .tmp0, .add_size), ._, ._ }, | ||
| 21721 | .{ ._, ._dqa, .mov, .tmp5x, .tmp3x, ._, ._ }, | ||
| 21722 | .{ ._, ._dqa, .mov, .tmp6x, .tmp4x, ._, ._ }, | ||
| 21723 | .{ ._, .p_, .xor, .tmp5x, .tmp2x, ._, ._ }, | ||
| 21724 | .{ ._, .p_, .xor, .tmp6x, .tmp2x, ._, ._ }, | ||
| 21725 | .{ ._, .p_d, .cmpgt, .tmp5x, .tmp6x, ._, ._ }, | ||
| 21726 | .{ ._, .p_, .@"and", .tmp3x, .tmp5x, ._, ._ }, | ||
| 21727 | .{ ._, .p_, .andn, .tmp5x, .tmp4x, ._, ._ }, | ||
| 21728 | .{ ._, .p_, .@"or", .tmp3x, .tmp5x, ._, ._ }, | ||
| 21729 | .{ ._, ._dqa, .mov, .memia(.dst0x, .tmp0, .add_size), .tmp3x, ._, ._ }, | ||
| 21730 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, | ||
| 21731 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | ||
| 21732 | } }, | ||
| 18209 | }, .{ | 21733 | }, .{ |
| 18210 | .required_features = .{ .cmov, null, null, null }, | 21734 | .required_features = .{ .cmov, null, null, null }, |
| 18211 | .src_constraints = .{ | 21735 | .src_constraints = .{ |
| 18212 | .{ .multiple_scalar_signed_int = .{ .of = .word, .is = .word } }, | 21736 | .{ .multiple_scalar_unsigned_int = .{ .of = .dword, .is = .dword } }, |
| 18213 | .{ .multiple_scalar_signed_int = .{ .of = .word, .is = .word } }, | 21737 | .{ .multiple_scalar_unsigned_int = .{ .of = .dword, .is = .dword } }, |
| 18214 | .any, | 21738 | .any, |
| 18215 | }, | 21739 | }, |
| 18216 | .patterns = &.{ | 21740 | .patterns = &.{ |
| ... | @@ -18218,7 +21742,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -18218,7 +21742,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 18218 | }, | 21742 | }, |
| 18219 | .extra_temps = .{ | 21743 | .extra_temps = .{ |
| 18220 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 21744 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 18221 | .{ .type = .i16, .kind = .{ .rc = .general_purpose } }, | 21745 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 18222 | .unused, | 21746 | .unused, |
| 18223 | .unused, | 21747 | .unused, |
| 18224 | .unused, | 21748 | .unused, |
| ... | @@ -18233,17 +21757,17 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -18233,17 +21757,17 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 18233 | .clobbers = .{ .eflags = true }, | 21757 | .clobbers = .{ .eflags = true }, |
| 18234 | .each = .{ .once = &.{ | 21758 | .each = .{ .once = &.{ |
| 18235 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, | 21759 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, |
| 18236 | .{ .@"0:", ._, .movsx, .tmp1d, .memia(.src0w, .tmp0, .add_size), ._, ._ }, | 21760 | .{ .@"0:", ._, .mov, .tmp1d, .memia(.src0d, .tmp0, .add_size), ._, ._ }, |
| 18237 | .{ ._, ._, .cmp, .tmp1w, .memia(.src1w, .tmp0, .add_size), ._, ._ }, | 21761 | .{ ._, ._, .cmp, .tmp1d, .memia(.src1d, .tmp0, .add_size), ._, ._ }, |
| 18238 | .{ ._, ._l, .cmov, .tmp1w, .memia(.src1w, .tmp0, .add_size), ._, ._ }, | 21762 | .{ ._, ._b, .cmov, .tmp1d, .memia(.src1d, .tmp0, .add_size), ._, ._ }, |
| 18239 | .{ ._, ._, .mov, .memia(.dst0w, .tmp0, .add_size), .tmp1w, ._, ._ }, | 21763 | .{ ._, ._, .mov, .memia(.dst0d, .tmp0, .add_size), .tmp1d, ._, ._ }, |
| 18240 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, | 21764 | .{ ._, ._, .add, .tmp0p, .si(4), ._, ._ }, |
| 18241 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 21765 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 18242 | } }, | 21766 | } }, |
| 18243 | }, .{ | 21767 | }, .{ |
| 18244 | .src_constraints = .{ | 21768 | .src_constraints = .{ |
| 18245 | .{ .multiple_scalar_signed_int = .{ .of = .word, .is = .word } }, | 21769 | .{ .multiple_scalar_unsigned_int = .{ .of = .dword, .is = .dword } }, |
| 18246 | .{ .multiple_scalar_signed_int = .{ .of = .word, .is = .word } }, | 21770 | .{ .multiple_scalar_unsigned_int = .{ .of = .dword, .is = .dword } }, |
| 18247 | .any, | 21771 | .any, |
| 18248 | }, | 21772 | }, |
| 18249 | .patterns = &.{ | 21773 | .patterns = &.{ |
| ... | @@ -18251,7 +21775,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -18251,7 +21775,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 18251 | }, | 21775 | }, |
| 18252 | .extra_temps = .{ | 21776 | .extra_temps = .{ |
| 18253 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 21777 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 18254 | .{ .type = .i16, .kind = .{ .rc = .general_purpose } }, | 21778 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 18255 | .unused, | 21779 | .unused, |
| 18256 | .unused, | 21780 | .unused, |
| 18257 | .unused, | 21781 | .unused, |
| ... | @@ -18266,35 +21790,34 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -18266,35 +21790,34 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 18266 | .clobbers = .{ .eflags = true }, | 21790 | .clobbers = .{ .eflags = true }, |
| 18267 | .each = .{ .once = &.{ | 21791 | .each = .{ .once = &.{ |
| 18268 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, | 21792 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, |
| 18269 | .{ .@"0:", ._, .movsx, .tmp1d, .memia(.src0w, .tmp0, .add_size), ._, ._ }, | 21793 | .{ .@"0:", ._, .mov, .tmp1d, .memia(.src0d, .tmp0, .add_size), ._, ._ }, |
| 18270 | .{ ._, ._, .cmp, .tmp1w, .memia(.src1w, .tmp0, .add_size), ._, ._ }, | 21794 | .{ ._, ._, .cmp, .tmp1d, .memia(.src1d, .tmp0, .add_size), ._, ._ }, |
| 18271 | .{ ._, ._nl, .j, .@"1f", ._, ._, ._ }, | 21795 | .{ ._, ._nb, .j, .@"1f", ._, ._, ._ }, |
| 18272 | .{ ._, ._, .mov, .tmp1w, .memia(.src1w, .tmp0, .add_size), ._, ._ }, | 21796 | .{ ._, ._, .mov, .tmp1d, .memia(.src1d, .tmp0, .add_size), ._, ._ }, |
| 18273 | .{ .@"1:", ._, .mov, .memia(.dst0w, .tmp0, .add_size), .tmp1w, ._, ._ }, | 21797 | .{ .@"1:", ._, .mov, .memia(.dst0d, .tmp0, .add_size), .tmp1d, ._, ._ }, |
| 18274 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, | 21798 | .{ ._, ._, .add, .tmp0p, .si(4), ._, ._ }, |
| 18275 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 21799 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 18276 | } }, | 21800 | } }, |
| 18277 | }, .{ | 21801 | }, .{ |
| 18278 | .required_features = .{ .avx, null, null, null }, | 21802 | .required_features = .{ .avx, null, null, null }, |
| 18279 | .src_constraints = .{ | 21803 | .src_constraints = .{ |
| 18280 | .{ .scalar_unsigned_int = .{ .of = .xword, .is = .word } }, | 21804 | .{ .scalar_signed_or_exclusive_int = .{ .of = .xword, .is = .qword } }, |
| 18281 | .{ .scalar_unsigned_int = .{ .of = .xword, .is = .word } }, | 21805 | .{ .scalar_signed_or_exclusive_int = .{ .of = .xword, .is = .qword } }, |
| 18282 | .any, | 21806 | .any, |
| 18283 | }, | 21807 | }, |
| 18284 | .patterns = &.{ | 21808 | .patterns = &.{ |
| 18285 | .{ .src = .{ .to_sse, .mem, .none } }, | ||
| 18286 | .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } }, | ||
| 18287 | .{ .src = .{ .to_sse, .to_sse, .none } }, | 21809 | .{ .src = .{ .to_sse, .to_sse, .none } }, |
| 18288 | }, | 21810 | }, |
| 18289 | .dst_temps = .{ .{ .rc = .sse }, .unused }, | 21811 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| 18290 | .each = .{ .once = &.{ | 21812 | .each = .{ .once = &.{ |
| 18291 | .{ ._, .vp_w, .maxu, .dst0x, .src0x, .src1x, ._ }, | 21813 | .{ ._, .vp_q, .cmpgt, .dst0x, .src1x, .src0x, ._ }, |
| 21814 | .{ ._, .vp_b, .blendv, .dst0x, .src0x, .src1x, .dst0x }, | ||
| 18292 | } }, | 21815 | } }, |
| 18293 | }, .{ | 21816 | }, .{ |
| 18294 | .required_features = .{ .sse4_1, null, null, null }, | 21817 | .required_features = .{ .sse4_2, null, null, null }, |
| 18295 | .src_constraints = .{ | 21818 | .src_constraints = .{ |
| 18296 | .{ .scalar_unsigned_int = .{ .of = .xword, .is = .word } }, | 21819 | .{ .scalar_signed_or_exclusive_int = .{ .of = .xword, .is = .qword } }, |
| 18297 | .{ .scalar_unsigned_int = .{ .of = .xword, .is = .word } }, | 21820 | .{ .scalar_signed_or_exclusive_int = .{ .of = .xword, .is = .qword } }, |
| 18298 | .any, | 21821 | .any, |
| 18299 | }, | 21822 | }, |
| 18300 | .patterns = &.{ | 21823 | .patterns = &.{ |
| ... | @@ -18302,48 +21825,45 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -18302,48 +21825,45 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 18302 | .{ .src = .{ .mem, .to_mut_sse, .none }, .commute = .{ 0, 1 } }, | 21825 | .{ .src = .{ .mem, .to_mut_sse, .none }, .commute = .{ 0, 1 } }, |
| 18303 | .{ .src = .{ .to_mut_sse, .to_sse, .none } }, | 21826 | .{ .src = .{ .to_mut_sse, .to_sse, .none } }, |
| 18304 | }, | 21827 | }, |
| 18305 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, | 21828 | .extra_temps = .{ |
| 18306 | .each = .{ .once = &.{ | 21829 | .{ .type = .vector_2_i64, .kind = .{ .reg = .xmm0 } }, |
| 18307 | .{ ._, .p_w, .maxu, .dst0x, .src1x, ._, ._ }, | 21830 | .unused, |
| 18308 | } }, | 21831 | .unused, |
| 18309 | }, .{ | 21832 | .unused, |
| 18310 | .required_features = .{ .sse2, null, null, null }, | 21833 | .unused, |
| 18311 | .src_constraints = .{ | 21834 | .unused, |
| 18312 | .{ .scalar_unsigned_int = .{ .of = .xword, .is = .word } }, | 21835 | .unused, |
| 18313 | .{ .scalar_unsigned_int = .{ .of = .xword, .is = .word } }, | 21836 | .unused, |
| 18314 | .any, | 21837 | .unused, |
| 18315 | }, | 21838 | .unused, |
| 18316 | .patterns = &.{ | 21839 | .unused, |
| 18317 | .{ .src = .{ .to_mut_sse, .mem, .none } }, | ||
| 18318 | .{ .src = .{ .mem, .to_mut_sse, .none }, .commute = .{ 0, 1 } }, | ||
| 18319 | .{ .src = .{ .to_mut_sse, .to_sse, .none } }, | ||
| 18320 | }, | 21840 | }, |
| 18321 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, | 21841 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| 18322 | .each = .{ .once = &.{ | 21842 | .each = .{ .once = &.{ |
| 18323 | .{ ._, .p_w, .subus, .dst0x, .src1x, ._, ._ }, | 21843 | .{ ._, ._dqa, .mov, .tmp0x, .src1x, ._, ._ }, |
| 18324 | .{ ._, .p_w, .add, .dst0x, .src1x, ._, ._ }, | 21844 | .{ ._, .p_q, .cmpgt, .tmp0x, .src0x, ._, ._ }, |
| 21845 | .{ ._, .p_b, .blendv, .dst0x, .src1x, .tmp0x, ._ }, | ||
| 18325 | } }, | 21846 | } }, |
| 18326 | }, .{ | 21847 | }, .{ |
| 18327 | .required_features = .{ .avx2, null, null, null }, | 21848 | .required_features = .{ .avx2, null, null, null }, |
| 18328 | .src_constraints = .{ | 21849 | .src_constraints = .{ |
| 18329 | .{ .scalar_unsigned_int = .{ .of = .yword, .is = .word } }, | 21850 | .{ .scalar_signed_or_exclusive_int = .{ .of = .yword, .is = .qword } }, |
| 18330 | .{ .scalar_unsigned_int = .{ .of = .yword, .is = .word } }, | 21851 | .{ .scalar_signed_or_exclusive_int = .{ .of = .yword, .is = .qword } }, |
| 18331 | .any, | 21852 | .any, |
| 18332 | }, | 21853 | }, |
| 18333 | .patterns = &.{ | 21854 | .patterns = &.{ |
| 18334 | .{ .src = .{ .to_sse, .mem, .none } }, | ||
| 18335 | .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } }, | ||
| 18336 | .{ .src = .{ .to_sse, .to_sse, .none } }, | 21855 | .{ .src = .{ .to_sse, .to_sse, .none } }, |
| 18337 | }, | 21856 | }, |
| 18338 | .dst_temps = .{ .{ .rc = .sse }, .unused }, | 21857 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| 18339 | .each = .{ .once = &.{ | 21858 | .each = .{ .once = &.{ |
| 18340 | .{ ._, .vp_w, .maxu, .dst0y, .src0y, .src1y, ._ }, | 21859 | .{ ._, .vp_q, .cmpgt, .dst0y, .src1y, .src0y, ._ }, |
| 21860 | .{ ._, .vp_b, .blendv, .dst0y, .src0y, .src1y, .dst0y }, | ||
| 18341 | } }, | 21861 | } }, |
| 18342 | }, .{ | 21862 | }, .{ |
| 18343 | .required_features = .{ .avx2, null, null, null }, | 21863 | .required_features = .{ .avx2, null, null, null }, |
| 18344 | .src_constraints = .{ | 21864 | .src_constraints = .{ |
| 18345 | .{ .multiple_scalar_unsigned_int = .{ .of = .yword, .is = .word } }, | 21865 | .{ .multiple_scalar_signed_or_exclusive_int = .{ .of = .yword, .is = .qword } }, |
| 18346 | .{ .multiple_scalar_unsigned_int = .{ .of = .yword, .is = .word } }, | 21866 | .{ .multiple_scalar_signed_or_exclusive_int = .{ .of = .yword, .is = .qword } }, |
| 18347 | .any, | 21867 | .any, |
| 18348 | }, | 21868 | }, |
| 18349 | .patterns = &.{ | 21869 | .patterns = &.{ |
| ... | @@ -18351,9 +21871,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -18351,9 +21871,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 18351 | }, | 21871 | }, |
| 18352 | .extra_temps = .{ | 21872 | .extra_temps = .{ |
| 18353 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 21873 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 18354 | .{ .type = .vector_16_u16, .kind = .{ .rc = .sse } }, | 21874 | .{ .type = .vector_4_i64, .kind = .{ .rc = .sse } }, |
| 18355 | .unused, | 21875 | .{ .type = .vector_4_i64, .kind = .{ .rc = .sse } }, |
| 18356 | .unused, | 21876 | .{ .type = .vector_4_i64, .kind = .{ .rc = .sse } }, |
| 18357 | .unused, | 21877 | .unused, |
| 18358 | .unused, | 21878 | .unused, |
| 18359 | .unused, | 21879 | .unused, |
| ... | @@ -18367,7 +21887,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -18367,7 +21887,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 18367 | .each = .{ .once = &.{ | 21887 | .each = .{ .once = &.{ |
| 18368 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, | 21888 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, |
| 18369 | .{ .@"0:", .v_dqa, .mov, .tmp1y, .memia(.src0y, .tmp0, .add_size), ._, ._ }, | 21889 | .{ .@"0:", .v_dqa, .mov, .tmp1y, .memia(.src0y, .tmp0, .add_size), ._, ._ }, |
| 18370 | .{ ._, .vp_w, .maxu, .tmp1y, .tmp1y, .memia(.src1y, .tmp0, .add_size), ._ }, | 21890 | .{ ._, .v_dqa, .mov, .tmp2y, .memia(.src1y, .tmp0, .add_size), ._, ._ }, |
| 21891 | .{ ._, .vp_q, .cmpgt, .tmp3y, .tmp2y, .tmp1y, ._ }, | ||
| 21892 | .{ ._, .vp_b, .blendv, .tmp1y, .tmp1y, .tmp2y, .tmp3y }, | ||
| 18371 | .{ ._, .v_dqa, .mov, .memia(.dst0y, .tmp0, .add_size), .tmp1y, ._, ._ }, | 21893 | .{ ._, .v_dqa, .mov, .memia(.dst0y, .tmp0, .add_size), .tmp1y, ._, ._ }, |
| 18372 | .{ ._, ._, .add, .tmp0p, .si(32), ._, ._ }, | 21894 | .{ ._, ._, .add, .tmp0p, .si(32), ._, ._ }, |
| 18373 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 21895 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| ... | @@ -18375,8 +21897,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -18375,8 +21897,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 18375 | }, .{ | 21897 | }, .{ |
| 18376 | .required_features = .{ .avx, null, null, null }, | 21898 | .required_features = .{ .avx, null, null, null }, |
| 18377 | .src_constraints = .{ | 21899 | .src_constraints = .{ |
| 18378 | .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .word } }, | 21900 | .{ .multiple_scalar_signed_or_exclusive_int = .{ .of = .xword, .is = .qword } }, |
| 18379 | .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .word } }, | 21901 | .{ .multiple_scalar_signed_or_exclusive_int = .{ .of = .xword, .is = .qword } }, |
| 18380 | .any, | 21902 | .any, |
| 18381 | }, | 21903 | }, |
| 18382 | .patterns = &.{ | 21904 | .patterns = &.{ |
| ... | @@ -18384,9 +21906,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -18384,9 +21906,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 18384 | }, | 21906 | }, |
| 18385 | .extra_temps = .{ | 21907 | .extra_temps = .{ |
| 18386 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 21908 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 18387 | .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } }, | 21909 | .{ .type = .vector_2_i64, .kind = .{ .rc = .sse } }, |
| 18388 | .unused, | 21910 | .{ .type = .vector_2_i64, .kind = .{ .rc = .sse } }, |
| 18389 | .unused, | 21911 | .{ .type = .vector_2_i64, .kind = .{ .rc = .sse } }, |
| 18390 | .unused, | 21912 | .unused, |
| 18391 | .unused, | 21913 | .unused, |
| 18392 | .unused, | 21914 | .unused, |
| ... | @@ -18400,16 +21922,18 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -18400,16 +21922,18 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 18400 | .each = .{ .once = &.{ | 21922 | .each = .{ .once = &.{ |
| 18401 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, | 21923 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, |
| 18402 | .{ .@"0:", .v_dqa, .mov, .tmp1x, .memia(.src0x, .tmp0, .add_size), ._, ._ }, | 21924 | .{ .@"0:", .v_dqa, .mov, .tmp1x, .memia(.src0x, .tmp0, .add_size), ._, ._ }, |
| 18403 | .{ ._, .vp_w, .maxu, .tmp1x, .tmp1x, .memia(.src1x, .tmp0, .add_size), ._ }, | 21925 | .{ ._, .v_dqa, .mov, .tmp2x, .memia(.src1x, .tmp0, .add_size), ._, ._ }, |
| 21926 | .{ ._, .vp_q, .cmpgt, .tmp3x, .tmp2x, .tmp1x, ._ }, | ||
| 21927 | .{ ._, .vp_b, .blendv, .tmp1x, .tmp1x, .tmp2x, .tmp3x }, | ||
| 18404 | .{ ._, .v_dqa, .mov, .memia(.dst0x, .tmp0, .add_size), .tmp1x, ._, ._ }, | 21928 | .{ ._, .v_dqa, .mov, .memia(.dst0x, .tmp0, .add_size), .tmp1x, ._, ._ }, |
| 18405 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, | 21929 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, |
| 18406 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 21930 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 18407 | } }, | 21931 | } }, |
| 18408 | }, .{ | 21932 | }, .{ |
| 18409 | .required_features = .{ .sse4_1, null, null, null }, | 21933 | .required_features = .{ .sse4_2, null, null, null }, |
| 18410 | .src_constraints = .{ | 21934 | .src_constraints = .{ |
| 18411 | .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .word } }, | 21935 | .{ .multiple_scalar_signed_or_exclusive_int = .{ .of = .xword, .is = .qword } }, |
| 18412 | .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .word } }, | 21936 | .{ .multiple_scalar_signed_or_exclusive_int = .{ .of = .xword, .is = .qword } }, |
| 18413 | .any, | 21937 | .any, |
| 18414 | }, | 21938 | }, |
| 18415 | .patterns = &.{ | 21939 | .patterns = &.{ |
| ... | @@ -18417,9 +21941,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -18417,9 +21941,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 18417 | }, | 21941 | }, |
| 18418 | .extra_temps = .{ | 21942 | .extra_temps = .{ |
| 18419 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 21943 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 18420 | .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } }, | 21944 | .{ .type = .vector_2_i64, .kind = .{ .rc = .sse } }, |
| 18421 | .unused, | 21945 | .{ .type = .vector_2_i64, .kind = .{ .rc = .sse } }, |
| 18422 | .unused, | 21946 | .{ .type = .vector_2_i64, .kind = .{ .reg = .xmm0 } }, |
| 18423 | .unused, | 21947 | .unused, |
| 18424 | .unused, | 21948 | .unused, |
| 18425 | .unused, | 21949 | .unused, |
| ... | @@ -18433,16 +21957,19 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -18433,16 +21957,19 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 18433 | .each = .{ .once = &.{ | 21957 | .each = .{ .once = &.{ |
| 18434 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, | 21958 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, |
| 18435 | .{ .@"0:", ._dqa, .mov, .tmp1x, .memia(.src0x, .tmp0, .add_size), ._, ._ }, | 21959 | .{ .@"0:", ._dqa, .mov, .tmp1x, .memia(.src0x, .tmp0, .add_size), ._, ._ }, |
| 18436 | .{ ._, .p_w, .maxu, .tmp1x, .memia(.src1x, .tmp0, .add_size), ._, ._ }, | 21960 | .{ ._, ._dqa, .mov, .tmp2x, .memia(.src1x, .tmp0, .add_size), ._, ._ }, |
| 21961 | .{ ._, ._dqa, .mov, .tmp3x, .tmp2x, ._, ._ }, | ||
| 21962 | .{ ._, .p_q, .cmpgt, .tmp3x, .tmp1x, ._, ._ }, | ||
| 21963 | .{ ._, .p_b, .blendv, .tmp1x, .tmp2x, .tmp3x, ._ }, | ||
| 18437 | .{ ._, ._dqa, .mov, .memia(.dst0x, .tmp0, .add_size), .tmp1x, ._, ._ }, | 21964 | .{ ._, ._dqa, .mov, .memia(.dst0x, .tmp0, .add_size), .tmp1x, ._, ._ }, |
| 18438 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, | 21965 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, |
| 18439 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 21966 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 18440 | } }, | 21967 | } }, |
| 18441 | }, .{ | 21968 | }, .{ |
| 18442 | .required_features = .{ .sse2, null, null, null }, | 21969 | .required_features = .{ .@"64bit", .cmov, null, null }, |
| 18443 | .src_constraints = .{ | 21970 | .src_constraints = .{ |
| 18444 | .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .word } }, | 21971 | .{ .multiple_scalar_signed_int = .{ .of = .qword, .is = .qword } }, |
| 18445 | .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .word } }, | 21972 | .{ .multiple_scalar_signed_int = .{ .of = .qword, .is = .qword } }, |
| 18446 | .any, | 21973 | .any, |
| 18447 | }, | 21974 | }, |
| 18448 | .patterns = &.{ | 21975 | .patterns = &.{ |
| ... | @@ -18450,7 +21977,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -18450,7 +21977,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 18450 | }, | 21977 | }, |
| 18451 | .extra_temps = .{ | 21978 | .extra_temps = .{ |
| 18452 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 21979 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 18453 | .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } }, | 21980 | .{ .type = .i64, .kind = .{ .rc = .general_purpose } }, |
| 18454 | .unused, | 21981 | .unused, |
| 18455 | .unused, | 21982 | .unused, |
| 18456 | .unused, | 21983 | .unused, |
| ... | @@ -18465,18 +21992,18 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -18465,18 +21992,18 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 18465 | .clobbers = .{ .eflags = true }, | 21992 | .clobbers = .{ .eflags = true }, |
| 18466 | .each = .{ .once = &.{ | 21993 | .each = .{ .once = &.{ |
| 18467 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, | 21994 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, |
| 18468 | .{ .@"0:", ._dqa, .mov, .tmp1x, .memia(.src0x, .tmp0, .add_size), ._, ._ }, | 21995 | .{ .@"0:", ._, .mov, .tmp1q, .memia(.src0q, .tmp0, .add_size), ._, ._ }, |
| 18469 | .{ ._, .p_w, .subus, .tmp1x, .memia(.src1x, .tmp0, .add_size), ._, ._ }, | 21996 | .{ ._, ._, .cmp, .tmp1q, .memia(.src1q, .tmp0, .add_size), ._, ._ }, |
| 18470 | .{ ._, .p_w, .add, .tmp1x, .memia(.src1x, .tmp0, .add_size), ._, ._ }, | 21997 | .{ ._, ._l, .cmov, .tmp1q, .memia(.src1q, .tmp0, .add_size), ._, ._ }, |
| 18471 | .{ ._, ._dqa, .mov, .memia(.dst0x, .tmp0, .add_size), .tmp1x, ._, ._ }, | 21998 | .{ ._, ._, .mov, .memia(.dst0q, .tmp0, .add_size), .tmp1q, ._, ._ }, |
| 18472 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, | 21999 | .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ }, |
| 18473 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 22000 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 18474 | } }, | 22001 | } }, |
| 18475 | }, .{ | 22002 | }, .{ |
| 18476 | .required_features = .{ .cmov, null, null, null }, | 22003 | .required_features = .{ .@"64bit", null, null, null }, |
| 18477 | .src_constraints = .{ | 22004 | .src_constraints = .{ |
| 18478 | .{ .multiple_scalar_unsigned_int = .{ .of = .word, .is = .word } }, | 22005 | .{ .multiple_scalar_signed_int = .{ .of = .qword, .is = .qword } }, |
| 18479 | .{ .multiple_scalar_unsigned_int = .{ .of = .word, .is = .word } }, | 22006 | .{ .multiple_scalar_signed_int = .{ .of = .qword, .is = .qword } }, |
| 18480 | .any, | 22007 | .any, |
| 18481 | }, | 22008 | }, |
| 18482 | .patterns = &.{ | 22009 | .patterns = &.{ |
| ... | @@ -18484,7 +22011,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -18484,7 +22011,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 18484 | }, | 22011 | }, |
| 18485 | .extra_temps = .{ | 22012 | .extra_temps = .{ |
| 18486 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 22013 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 18487 | .{ .type = .u16, .kind = .{ .rc = .general_purpose } }, | 22014 | .{ .type = .i64, .kind = .{ .rc = .general_purpose } }, |
| 18488 | .unused, | 22015 | .unused, |
| 18489 | .unused, | 22016 | .unused, |
| 18490 | .unused, | 22017 | .unused, |
| ... | @@ -18499,26 +22026,30 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -18499,26 +22026,30 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 18499 | .clobbers = .{ .eflags = true }, | 22026 | .clobbers = .{ .eflags = true }, |
| 18500 | .each = .{ .once = &.{ | 22027 | .each = .{ .once = &.{ |
| 18501 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, | 22028 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, |
| 18502 | .{ .@"0:", ._, .movzx, .tmp1d, .memia(.src0w, .tmp0, .add_size), ._, ._ }, | 22029 | .{ .@"0:", ._, .mov, .tmp1q, .memia(.src0q, .tmp0, .add_size), ._, ._ }, |
| 18503 | .{ ._, ._, .cmp, .tmp1w, .memia(.src1w, .tmp0, .add_size), ._, ._ }, | 22030 | .{ ._, ._, .cmp, .tmp1q, .memia(.src1q, .tmp0, .add_size), ._, ._ }, |
| 18504 | .{ ._, ._b, .cmov, .tmp1w, .memia(.src1w, .tmp0, .add_size), ._, ._ }, | 22031 | .{ ._, ._nl, .j, .@"1f", ._, ._, ._ }, |
| 18505 | .{ ._, ._, .mov, .memia(.dst0w, .tmp0, .add_size), .tmp1w, ._, ._ }, | 22032 | .{ ._, ._, .mov, .tmp1q, .memia(.src1q, .tmp0, .add_size), ._, ._ }, |
| 18506 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, | 22033 | .{ .@"1:", ._, .mov, .memia(.dst0q, .tmp0, .add_size), .tmp1q, ._, ._ }, |
| 22034 | .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ }, | ||
| 18507 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 22035 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 18508 | } }, | 22036 | } }, |
| 18509 | }, .{ | 22037 | }, .{ |
| 22038 | .required_features = .{ .avx, null, null, null }, | ||
| 18510 | .src_constraints = .{ | 22039 | .src_constraints = .{ |
| 18511 | .{ .multiple_scalar_unsigned_int = .{ .of = .word, .is = .word } }, | 22040 | .{ .scalar_exact_unsigned_int = .{ .of = .xword, .is = 64 } }, |
| 18512 | .{ .multiple_scalar_unsigned_int = .{ .of = .word, .is = .word } }, | 22041 | .{ .scalar_exact_unsigned_int = .{ .of = .xword, .is = 64 } }, |
| 18513 | .any, | 22042 | .any, |
| 18514 | }, | 22043 | }, |
| 18515 | .patterns = &.{ | 22044 | .patterns = &.{ |
| 18516 | .{ .src = .{ .to_mem, .to_mem, .none } }, | 22045 | .{ .src = .{ .to_sse, .mem, .none } }, |
| 22046 | .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } }, | ||
| 22047 | .{ .src = .{ .to_sse, .to_sse, .none } }, | ||
| 18517 | }, | 22048 | }, |
| 18518 | .extra_temps = .{ | 22049 | .extra_temps = .{ |
| 18519 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 22050 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 18520 | .{ .type = .u16, .kind = .{ .rc = .general_purpose } }, | 22051 | .{ .type = .u64, .kind = .{ .smin_mem = .{ .ref = .src0, .vectorize_to = .none } } }, |
| 18521 | .unused, | 22052 | .{ .type = .vector_2_u64, .kind = .{ .rc = .sse } }, |
| 18522 | .unused, | 22053 | .unused, |
| 18523 | .unused, | 22054 | .unused, |
| 18524 | .unused, | 22055 | .unused, |
| ... | @@ -18528,39 +22059,20 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -18528,39 +22059,20 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 18528 | .unused, | 22059 | .unused, |
| 18529 | .unused, | 22060 | .unused, |
| 18530 | }, | 22061 | }, |
| 18531 | .dst_temps = .{ .mem, .unused }, | ||
| 18532 | .clobbers = .{ .eflags = true }, | ||
| 18533 | .each = .{ .once = &.{ | ||
| 18534 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, | ||
| 18535 | .{ .@"0:", ._, .movzx, .tmp1d, .memia(.src0w, .tmp0, .add_size), ._, ._ }, | ||
| 18536 | .{ ._, ._, .cmp, .tmp1w, .memia(.src1w, .tmp0, .add_size), ._, ._ }, | ||
| 18537 | .{ ._, ._nb, .j, .@"1f", ._, ._, ._ }, | ||
| 18538 | .{ ._, ._, .mov, .tmp1w, .memia(.src1w, .tmp0, .add_size), ._, ._ }, | ||
| 18539 | .{ .@"1:", ._, .mov, .memia(.dst0w, .tmp0, .add_size), .tmp1w, ._, ._ }, | ||
| 18540 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, | ||
| 18541 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | ||
| 18542 | } }, | ||
| 18543 | }, .{ | ||
| 18544 | .required_features = .{ .avx, null, null, null }, | ||
| 18545 | .src_constraints = .{ | ||
| 18546 | .{ .scalar_signed_int = .{ .of = .xword, .is = .dword } }, | ||
| 18547 | .{ .scalar_signed_int = .{ .of = .xword, .is = .dword } }, | ||
| 18548 | .any, | ||
| 18549 | }, | ||
| 18550 | .patterns = &.{ | ||
| 18551 | .{ .src = .{ .to_sse, .mem, .none } }, | ||
| 18552 | .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } }, | ||
| 18553 | .{ .src = .{ .to_sse, .to_sse, .none } }, | ||
| 18554 | }, | ||
| 18555 | .dst_temps = .{ .{ .rc = .sse }, .unused }, | 22062 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| 18556 | .each = .{ .once = &.{ | 22063 | .each = .{ .once = &.{ |
| 18557 | .{ ._, .vp_d, .maxs, .dst0x, .src0x, .src1x, ._ }, | 22064 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| 22065 | .{ ._, .v_, .movddup, .tmp2x, .lea(.tmp0q), ._, ._ }, | ||
| 22066 | .{ ._, .vp_, .xor, .dst0x, .tmp2x, .src0x, ._ }, | ||
| 22067 | .{ ._, .vp_, .xor, .tmp2x, .tmp2x, .src1x, ._ }, | ||
| 22068 | .{ ._, .vp_q, .cmpgt, .dst0x, .tmp2x, .dst0x, ._ }, | ||
| 22069 | .{ ._, .vp_b, .blendv, .dst0x, .src0x, .src1x, .dst0x }, | ||
| 18558 | } }, | 22070 | } }, |
| 18559 | }, .{ | 22071 | }, .{ |
| 18560 | .required_features = .{ .sse4_1, null, null, null }, | 22072 | .required_features = .{ .sse4_2, null, null, null }, |
| 18561 | .src_constraints = .{ | 22073 | .src_constraints = .{ |
| 18562 | .{ .scalar_signed_int = .{ .of = .xword, .is = .dword } }, | 22074 | .{ .scalar_exact_unsigned_int = .{ .of = .xword, .is = 64 } }, |
| 18563 | .{ .scalar_signed_int = .{ .of = .xword, .is = .dword } }, | 22075 | .{ .scalar_exact_unsigned_int = .{ .of = .xword, .is = 64 } }, |
| 18564 | .any, | 22076 | .any, |
| 18565 | }, | 22077 | }, |
| 18566 | .patterns = &.{ | 22078 | .patterns = &.{ |
| ... | @@ -18568,35 +22080,34 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -18568,35 +22080,34 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 18568 | .{ .src = .{ .mem, .to_mut_sse, .none }, .commute = .{ 0, 1 } }, | 22080 | .{ .src = .{ .mem, .to_mut_sse, .none }, .commute = .{ 0, 1 } }, |
| 18569 | .{ .src = .{ .to_mut_sse, .to_sse, .none } }, | 22081 | .{ .src = .{ .to_mut_sse, .to_sse, .none } }, |
| 18570 | }, | 22082 | }, |
| 18571 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, | 22083 | .extra_temps = .{ |
| 18572 | .each = .{ .once = &.{ | 22084 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 18573 | .{ ._, .p_d, .maxs, .dst0x, .src1x, ._, ._ }, | 22085 | .{ .type = .u64, .kind = .{ .smin_mem = .{ .ref = .src0, .vectorize_to = .none } } }, |
| 18574 | } }, | 22086 | .{ .type = .vector_2_u64, .kind = .{ .rc = .sse } }, |
| 18575 | }, .{ | 22087 | .{ .type = .vector_2_u64, .kind = .{ .reg = .xmm0 } }, |
| 18576 | .required_features = .{ .sse2, null, null, null }, | 22088 | .unused, |
| 18577 | .src_constraints = .{ | 22089 | .unused, |
| 18578 | .{ .scalar_signed_or_exclusive_int = .{ .of = .xword, .is = .dword } }, | 22090 | .unused, |
| 18579 | .{ .scalar_signed_or_exclusive_int = .{ .of = .xword, .is = .dword } }, | 22091 | .unused, |
| 18580 | .any, | 22092 | .unused, |
| 18581 | }, | 22093 | .unused, |
| 18582 | .patterns = &.{ | 22094 | .unused, |
| 18583 | .{ .src = .{ .to_mut_sse, .mem, .none } }, | ||
| 18584 | .{ .src = .{ .mem, .to_mut_sse, .none }, .commute = .{ 0, 1 } }, | ||
| 18585 | .{ .src = .{ .to_mut_sse, .to_sse, .none } }, | ||
| 18586 | }, | 22095 | }, |
| 18587 | .dst_temps = .{ .{ .rc = .sse }, .unused }, | 22096 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| 18588 | .each = .{ .once = &.{ | 22097 | .each = .{ .once = &.{ |
| 18589 | .{ ._, ._dqa, .mov, .dst0x, .src0x, ._, ._ }, | 22098 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| 18590 | .{ ._, .p_d, .cmpgt, .dst0x, .src1x, ._, ._ }, | 22099 | .{ ._, ._, .movddup, .tmp2x, .lea(.tmp0q), ._, ._ }, |
| 18591 | .{ ._, .p_, .@"and", .src0x, .dst0x, ._, ._ }, | 22100 | .{ ._, ._dqa, .mov, .tmp3x, .tmp2x, ._, ._ }, |
| 18592 | .{ ._, .p_, .andn, .dst0x, .src1x, ._, ._ }, | 22101 | .{ ._, .p_, .xor, .tmp2x, .src0x, ._, ._ }, |
| 18593 | .{ ._, .p_, .@"or", .dst0x, .src0x, ._, ._ }, | 22102 | .{ ._, .p_, .xor, .tmp3x, .src1x, ._, ._ }, |
| 22103 | .{ ._, .p_q, .cmpgt, .tmp3x, .tmp2x, ._, ._ }, | ||
| 22104 | .{ ._, .p_b, .blendv, .dst0x, .src1x, .tmp3x, ._ }, | ||
| 18594 | } }, | 22105 | } }, |
| 18595 | }, .{ | 22106 | }, .{ |
| 18596 | .required_features = .{ .avx2, null, null, null }, | 22107 | .required_features = .{ .avx2, null, null, null }, |
| 18597 | .src_constraints = .{ | 22108 | .src_constraints = .{ |
| 18598 | .{ .scalar_signed_int = .{ .of = .yword, .is = .dword } }, | 22109 | .{ .scalar_exact_unsigned_int = .{ .of = .yword, .is = 64 } }, |
| 18599 | .{ .scalar_signed_int = .{ .of = .yword, .is = .dword } }, | 22110 | .{ .scalar_exact_unsigned_int = .{ .of = .yword, .is = 64 } }, |
| 18600 | .any, | 22111 | .any, |
| 18601 | }, | 22112 | }, |
| 18602 | .patterns = &.{ | 22113 | .patterns = &.{ |
| ... | @@ -18604,15 +22115,33 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -18604,15 +22115,33 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 18604 | .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } }, | 22115 | .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } }, |
| 18605 | .{ .src = .{ .to_sse, .to_sse, .none } }, | 22116 | .{ .src = .{ .to_sse, .to_sse, .none } }, |
| 18606 | }, | 22117 | }, |
| 22118 | .extra_temps = .{ | ||
| 22119 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, | ||
| 22120 | .{ .type = .u64, .kind = .{ .smin_mem = .{ .ref = .src0, .vectorize_to = .none } } }, | ||
| 22121 | .{ .type = .vector_4_u64, .kind = .{ .rc = .sse } }, | ||
| 22122 | .unused, | ||
| 22123 | .unused, | ||
| 22124 | .unused, | ||
| 22125 | .unused, | ||
| 22126 | .unused, | ||
| 22127 | .unused, | ||
| 22128 | .unused, | ||
| 22129 | .unused, | ||
| 22130 | }, | ||
| 18607 | .dst_temps = .{ .{ .rc = .sse }, .unused }, | 22131 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| 18608 | .each = .{ .once = &.{ | 22132 | .each = .{ .once = &.{ |
| 18609 | .{ ._, .vp_d, .maxs, .dst0y, .src0y, .src1y, ._ }, | 22133 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| 22134 | .{ ._, .vp_q, .broadcast, .tmp2y, .lea(.tmp0q), ._, ._ }, | ||
| 22135 | .{ ._, .vp_, .xor, .dst0y, .tmp2y, .src0y, ._ }, | ||
| 22136 | .{ ._, .vp_, .xor, .tmp2y, .tmp2y, .src1y, ._ }, | ||
| 22137 | .{ ._, .vp_q, .cmpgt, .dst0y, .tmp2y, .dst0y, ._ }, | ||
| 22138 | .{ ._, .vp_b, .blendv, .dst0y, .src0y, .src1y, .dst0y }, | ||
| 18610 | } }, | 22139 | } }, |
| 18611 | }, .{ | 22140 | }, .{ |
| 18612 | .required_features = .{ .avx2, null, null, null }, | 22141 | .required_features = .{ .avx2, null, null, null }, |
| 18613 | .src_constraints = .{ | 22142 | .src_constraints = .{ |
| 18614 | .{ .multiple_scalar_signed_int = .{ .of = .yword, .is = .dword } }, | 22143 | .{ .multiple_scalar_exact_unsigned_int = .{ .of = .yword, .is = 64 } }, |
| 18615 | .{ .multiple_scalar_signed_int = .{ .of = .yword, .is = .dword } }, | 22144 | .{ .multiple_scalar_exact_unsigned_int = .{ .of = .yword, .is = 64 } }, |
| 18616 | .any, | 22145 | .any, |
| 18617 | }, | 22146 | }, |
| 18618 | .patterns = &.{ | 22147 | .patterns = &.{ |
| ... | @@ -18620,12 +22149,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -18620,12 +22149,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 18620 | }, | 22149 | }, |
| 18621 | .extra_temps = .{ | 22150 | .extra_temps = .{ |
| 18622 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 22151 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 18623 | .{ .type = .vector_8_i32, .kind = .{ .rc = .sse } }, | 22152 | .{ .type = .u64, .kind = .{ .smin_mem = .{ .ref = .src0, .vectorize_to = .none } } }, |
| 18624 | .unused, | 22153 | .{ .type = .vector_4_u64, .kind = .{ .rc = .sse } }, |
| 18625 | .unused, | 22154 | .{ .type = .vector_4_u64, .kind = .{ .rc = .sse } }, |
| 18626 | .unused, | 22155 | .{ .type = .vector_4_u64, .kind = .{ .rc = .sse } }, |
| 18627 | .unused, | 22156 | .{ .type = .vector_4_u64, .kind = .{ .rc = .sse } }, |
| 18628 | .unused, | 22157 | .{ .type = .vector_4_u64, .kind = .{ .rc = .sse } }, |
| 18629 | .unused, | 22158 | .unused, |
| 18630 | .unused, | 22159 | .unused, |
| 18631 | .unused, | 22160 | .unused, |
| ... | @@ -18634,18 +22163,24 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -18634,18 +22163,24 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 18634 | .dst_temps = .{ .mem, .unused }, | 22163 | .dst_temps = .{ .mem, .unused }, |
| 18635 | .clobbers = .{ .eflags = true }, | 22164 | .clobbers = .{ .eflags = true }, |
| 18636 | .each = .{ .once = &.{ | 22165 | .each = .{ .once = &.{ |
| 22166 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, | ||
| 22167 | .{ ._, .vp_q, .broadcast, .tmp2y, .lea(.tmp0q), ._, ._ }, | ||
| 18637 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, | 22168 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, |
| 18638 | .{ .@"0:", .v_dqa, .mov, .tmp1y, .memia(.src0y, .tmp0, .add_size), ._, ._ }, | 22169 | .{ .@"0:", .v_dqa, .mov, .tmp3y, .memia(.src0y, .tmp0, .add_size), ._, ._ }, |
| 18639 | .{ ._, .vp_d, .maxs, .tmp1y, .tmp1y, .memia(.src1y, .tmp0, .add_size), ._ }, | 22170 | .{ ._, .v_dqa, .mov, .tmp4y, .memia(.src1y, .tmp0, .add_size), ._, ._ }, |
| 18640 | .{ ._, .v_dqa, .mov, .memia(.dst0y, .tmp0, .add_size), .tmp1y, ._, ._ }, | 22171 | .{ ._, .vp_, .xor, .tmp5y, .tmp3y, .tmp2y, ._ }, |
| 22172 | .{ ._, .vp_, .xor, .tmp6y, .tmp4y, .tmp2y, ._ }, | ||
| 22173 | .{ ._, .vp_q, .cmpgt, .tmp5y, .tmp6y, .tmp5y, ._ }, | ||
| 22174 | .{ ._, .vp_b, .blendv, .tmp3y, .tmp3y, .tmp4y, .tmp5y }, | ||
| 22175 | .{ ._, .v_dqa, .mov, .memia(.dst0y, .tmp0, .add_size), .tmp3y, ._, ._ }, | ||
| 18641 | .{ ._, ._, .add, .tmp0p, .si(32), ._, ._ }, | 22176 | .{ ._, ._, .add, .tmp0p, .si(32), ._, ._ }, |
| 18642 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 22177 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 18643 | } }, | 22178 | } }, |
| 18644 | }, .{ | 22179 | }, .{ |
| 18645 | .required_features = .{ .avx, null, null, null }, | 22180 | .required_features = .{ .avx, null, null, null }, |
| 18646 | .src_constraints = .{ | 22181 | .src_constraints = .{ |
| 18647 | .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .dword } }, | 22182 | .{ .multiple_scalar_exact_unsigned_int = .{ .of = .xword, .is = 64 } }, |
| 18648 | .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .dword } }, | 22183 | .{ .multiple_scalar_exact_unsigned_int = .{ .of = .xword, .is = 64 } }, |
| 18649 | .any, | 22184 | .any, |
| 18650 | }, | 22185 | }, |
| 18651 | .patterns = &.{ | 22186 | .patterns = &.{ |
| ... | @@ -18653,12 +22188,51 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -18653,12 +22188,51 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 18653 | }, | 22188 | }, |
| 18654 | .extra_temps = .{ | 22189 | .extra_temps = .{ |
| 18655 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 22190 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 18656 | .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } }, | 22191 | .{ .type = .u64, .kind = .{ .smin_mem = .{ .ref = .src0, .vectorize_to = .none } } }, |
| 18657 | .unused, | 22192 | .{ .type = .vector_2_u64, .kind = .{ .rc = .sse } }, |
| 22193 | .{ .type = .vector_2_u64, .kind = .{ .rc = .sse } }, | ||
| 22194 | .{ .type = .vector_2_u64, .kind = .{ .rc = .sse } }, | ||
| 22195 | .{ .type = .vector_2_u64, .kind = .{ .rc = .sse } }, | ||
| 22196 | .{ .type = .vector_2_u64, .kind = .{ .rc = .sse } }, | ||
| 18658 | .unused, | 22197 | .unused, |
| 18659 | .unused, | 22198 | .unused, |
| 18660 | .unused, | 22199 | .unused, |
| 18661 | .unused, | 22200 | .unused, |
| 22201 | }, | ||
| 22202 | .dst_temps = .{ .mem, .unused }, | ||
| 22203 | .clobbers = .{ .eflags = true }, | ||
| 22204 | .each = .{ .once = &.{ | ||
| 22205 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, | ||
| 22206 | .{ ._, .v_, .movddup, .tmp2x, .lea(.tmp0q), ._, ._ }, | ||
| 22207 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, | ||
| 22208 | .{ .@"0:", .v_dqa, .mov, .tmp3x, .memia(.src0x, .tmp0, .add_size), ._, ._ }, | ||
| 22209 | .{ ._, .v_dqa, .mov, .tmp4x, .memia(.src1x, .tmp0, .add_size), ._, ._ }, | ||
| 22210 | .{ ._, .vp_, .xor, .tmp5x, .tmp3x, .tmp2x, ._ }, | ||
| 22211 | .{ ._, .vp_, .xor, .tmp6x, .tmp4x, .tmp2x, ._ }, | ||
| 22212 | .{ ._, .vp_q, .cmpgt, .tmp5x, .tmp6x, .tmp5x, ._ }, | ||
| 22213 | .{ ._, .vp_b, .blendv, .tmp3x, .tmp3x, .tmp4x, .tmp5x }, | ||
| 22214 | .{ ._, .v_dqa, .mov, .memia(.dst0x, .tmp0, .add_size), .tmp3x, ._, ._ }, | ||
| 22215 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, | ||
| 22216 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | ||
| 22217 | } }, | ||
| 22218 | }, .{ | ||
| 22219 | .required_features = .{ .sse4_2, null, null, null }, | ||
| 22220 | .src_constraints = .{ | ||
| 22221 | .{ .multiple_scalar_exact_unsigned_int = .{ .of = .xword, .is = 64 } }, | ||
| 22222 | .{ .multiple_scalar_exact_unsigned_int = .{ .of = .xword, .is = 64 } }, | ||
| 22223 | .any, | ||
| 22224 | }, | ||
| 22225 | .patterns = &.{ | ||
| 22226 | .{ .src = .{ .to_mem, .to_mem, .none } }, | ||
| 22227 | }, | ||
| 22228 | .extra_temps = .{ | ||
| 22229 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | ||
| 22230 | .{ .type = .u64, .kind = .{ .smin_mem = .{ .ref = .src0, .vectorize_to = .none } } }, | ||
| 22231 | .{ .type = .vector_2_u64, .kind = .{ .rc = .sse } }, | ||
| 22232 | .{ .type = .vector_2_u64, .kind = .{ .rc = .sse } }, | ||
| 22233 | .{ .type = .vector_2_u64, .kind = .{ .rc = .sse } }, | ||
| 22234 | .{ .type = .vector_2_u64, .kind = .{ .rc = .sse } }, | ||
| 22235 | .{ .type = .vector_2_u64, .kind = .{ .reg = .xmm0 } }, | ||
| 18662 | .unused, | 22236 | .unused, |
| 18663 | .unused, | 22237 | .unused, |
| 18664 | .unused, | 22238 | .unused, |
| ... | @@ -18667,18 +22241,26 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -18667,18 +22241,26 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 18667 | .dst_temps = .{ .mem, .unused }, | 22241 | .dst_temps = .{ .mem, .unused }, |
| 18668 | .clobbers = .{ .eflags = true }, | 22242 | .clobbers = .{ .eflags = true }, |
| 18669 | .each = .{ .once = &.{ | 22243 | .each = .{ .once = &.{ |
| 22244 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, | ||
| 22245 | .{ ._, ._, .movddup, .tmp2x, .lea(.tmp0q), ._, ._ }, | ||
| 18670 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, | 22246 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, |
| 18671 | .{ .@"0:", .v_dqa, .mov, .tmp1x, .memia(.src0x, .tmp0, .add_size), ._, ._ }, | 22247 | .{ .@"0:", ._dqa, .mov, .tmp5x, .tmp2x, ._, ._ }, |
| 18672 | .{ ._, .vp_d, .maxs, .tmp1x, .tmp1x, .memia(.src1x, .tmp0, .add_size), ._ }, | 22248 | .{ ._, ._dqa, .mov, .tmp6x, .tmp2x, ._, ._ }, |
| 18673 | .{ ._, .v_dqa, .mov, .memia(.dst0x, .tmp0, .add_size), .tmp1x, ._, ._ }, | 22249 | .{ ._, ._dqa, .mov, .tmp3x, .memia(.src0x, .tmp0, .add_size), ._, ._ }, |
| 22250 | .{ ._, ._dqa, .mov, .tmp4x, .memia(.src1x, .tmp0, .add_size), ._, ._ }, | ||
| 22251 | .{ ._, .p_, .xor, .tmp5x, .tmp3x, ._, ._ }, | ||
| 22252 | .{ ._, .p_, .xor, .tmp6x, .tmp4x, ._, ._ }, | ||
| 22253 | .{ ._, .p_q, .cmpgt, .tmp6x, .tmp5x, ._, ._ }, | ||
| 22254 | .{ ._, .p_b, .blendv, .tmp3x, .tmp4x, .tmp6x, ._ }, | ||
| 22255 | .{ ._, ._dqa, .mov, .memia(.dst0x, .tmp0, .add_size), .tmp3x, ._, ._ }, | ||
| 18674 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, | 22256 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, |
| 18675 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 22257 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 18676 | } }, | 22258 | } }, |
| 18677 | }, .{ | 22259 | }, .{ |
| 18678 | .required_features = .{ .sse4_1, null, null, null }, | 22260 | .required_features = .{ .@"64bit", .cmov, null, null }, |
| 18679 | .src_constraints = .{ | 22261 | .src_constraints = .{ |
| 18680 | .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .dword } }, | 22262 | .{ .multiple_scalar_unsigned_int = .{ .of = .qword, .is = .qword } }, |
| 18681 | .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .dword } }, | 22263 | .{ .multiple_scalar_unsigned_int = .{ .of = .qword, .is = .qword } }, |
| 18682 | .any, | 22264 | .any, |
| 18683 | }, | 22265 | }, |
| 18684 | .patterns = &.{ | 22266 | .patterns = &.{ |
| ... | @@ -18686,7 +22268,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -18686,7 +22268,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 18686 | }, | 22268 | }, |
| 18687 | .extra_temps = .{ | 22269 | .extra_temps = .{ |
| 18688 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 22270 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 18689 | .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } }, | 22271 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 18690 | .unused, | 22272 | .unused, |
| 18691 | .unused, | 22273 | .unused, |
| 18692 | .unused, | 22274 | .unused, |
| ... | @@ -18701,17 +22283,18 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -18701,17 +22283,18 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 18701 | .clobbers = .{ .eflags = true }, | 22283 | .clobbers = .{ .eflags = true }, |
| 18702 | .each = .{ .once = &.{ | 22284 | .each = .{ .once = &.{ |
| 18703 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, | 22285 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, |
| 18704 | .{ .@"0:", ._dqa, .mov, .tmp1x, .memia(.src0x, .tmp0, .add_size), ._, ._ }, | 22286 | .{ .@"0:", ._, .mov, .tmp1q, .memia(.src0q, .tmp0, .add_size), ._, ._ }, |
| 18705 | .{ ._, .p_d, .maxs, .tmp1x, .memia(.src1x, .tmp0, .add_size), ._, ._ }, | 22287 | .{ ._, ._, .cmp, .tmp1q, .memia(.src1q, .tmp0, .add_size), ._, ._ }, |
| 18706 | .{ ._, ._dqa, .mov, .memia(.dst0x, .tmp0, .add_size), .tmp1x, ._, ._ }, | 22288 | .{ ._, ._b, .cmov, .tmp1q, .memia(.src1q, .tmp0, .add_size), ._, ._ }, |
| 18707 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, | 22289 | .{ ._, ._, .mov, .memia(.dst0q, .tmp0, .add_size), .tmp1q, ._, ._ }, |
| 22290 | .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ }, | ||
| 18708 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 22291 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 18709 | } }, | 22292 | } }, |
| 18710 | }, .{ | 22293 | }, .{ |
| 18711 | .required_features = .{ .sse2, null, null, null }, | 22294 | .required_features = .{ .@"64bit", null, null, null }, |
| 18712 | .src_constraints = .{ | 22295 | .src_constraints = .{ |
| 18713 | .{ .multiple_scalar_signed_or_exclusive_int = .{ .of = .xword, .is = .dword } }, | 22296 | .{ .multiple_scalar_unsigned_int = .{ .of = .qword, .is = .qword } }, |
| 18714 | .{ .multiple_scalar_signed_or_exclusive_int = .{ .of = .xword, .is = .dword } }, | 22297 | .{ .multiple_scalar_unsigned_int = .{ .of = .qword, .is = .qword } }, |
| 18715 | .any, | 22298 | .any, |
| 18716 | }, | 22299 | }, |
| 18717 | .patterns = &.{ | 22300 | .patterns = &.{ |
| ... | @@ -18719,8 +22302,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -18719,8 +22302,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 18719 | }, | 22302 | }, |
| 18720 | .extra_temps = .{ | 22303 | .extra_temps = .{ |
| 18721 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 22304 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 18722 | .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } }, | 22305 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 18723 | .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } }, | 22306 | .unused, |
| 18724 | .unused, | 22307 | .unused, |
| 18725 | .unused, | 22308 | .unused, |
| 18726 | .unused, | 22309 | .unused, |
| ... | @@ -18734,35 +22317,70 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -18734,35 +22317,70 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 18734 | .clobbers = .{ .eflags = true }, | 22317 | .clobbers = .{ .eflags = true }, |
| 18735 | .each = .{ .once = &.{ | 22318 | .each = .{ .once = &.{ |
| 18736 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, | 22319 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, |
| 18737 | .{ .@"0:", ._dqa, .mov, .tmp1x, .memia(.src0x, .tmp0, .add_size), ._, ._ }, | 22320 | .{ .@"0:", ._, .mov, .tmp1q, .memia(.src0q, .tmp0, .add_size), ._, ._ }, |
| 18738 | .{ ._, ._dqa, .mov, .tmp2x, .tmp1x, ._, ._ }, | 22321 | .{ ._, ._, .cmp, .tmp1q, .memia(.src1q, .tmp0, .add_size), ._, ._ }, |
| 18739 | .{ ._, .p_d, .cmpgt, .tmp1x, .memia(.src1x, .tmp0, .add_size), ._, ._ }, | 22322 | .{ ._, ._nb, .j, .@"1f", ._, ._, ._ }, |
| 18740 | .{ ._, .p_, .@"and", .tmp2x, .tmp1x, ._, ._ }, | 22323 | .{ ._, ._, .mov, .tmp1q, .memia(.src1q, .tmp0, .add_size), ._, ._ }, |
| 18741 | .{ ._, .p_, .andn, .tmp1x, .memia(.src1x, .tmp0, .add_size), ._, ._ }, | 22324 | .{ .@"1:", ._, .mov, .memia(.dst0q, .tmp0, .add_size), .tmp1q, ._, ._ }, |
| 18742 | .{ ._, .p_, .@"or", .tmp1x, .tmp2x, ._, ._ }, | 22325 | .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ }, |
| 18743 | .{ ._, ._dqa, .mov, .memia(.dst0x, .tmp0, .add_size), .tmp1x, ._, ._ }, | ||
| 18744 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, | ||
| 18745 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 22326 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 18746 | } }, | 22327 | } }, |
| 18747 | }, .{ | 22328 | }, .{ |
| 18748 | .required_features = .{ .cmov, null, null, null }, | 22329 | .required_features = .{ .@"64bit", .cmov, null, null }, |
| 18749 | .src_constraints = .{ | 22330 | .src_constraints = .{ .any_scalar_signed_int, .any_scalar_signed_int, .any }, |
| 18750 | .{ .multiple_scalar_signed_int = .{ .of = .dword, .is = .dword } }, | ||
| 18751 | .{ .multiple_scalar_signed_int = .{ .of = .dword, .is = .dword } }, | ||
| 18752 | .any, | ||
| 18753 | }, | ||
| 18754 | .patterns = &.{ | 22331 | .patterns = &.{ |
| 18755 | .{ .src = .{ .to_mem, .to_mem, .none } }, | 22332 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 18756 | }, | 22333 | }, |
| 18757 | .extra_temps = .{ | 22334 | .extra_temps = .{ |
| 18758 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 22335 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 18759 | .{ .type = .i32, .kind = .{ .rc = .general_purpose } }, | 22336 | .{ .type = .isize, .kind = .{ .reg = .rsi } }, |
| 22337 | .{ .type = .u64, .kind = .{ .reg = .rdi } }, | ||
| 22338 | .{ .type = .u64, .kind = .{ .reg = .rcx } }, | ||
| 22339 | .unused, | ||
| 18760 | .unused, | 22340 | .unused, |
| 18761 | .unused, | 22341 | .unused, |
| 18762 | .unused, | 22342 | .unused, |
| 18763 | .unused, | 22343 | .unused, |
| 18764 | .unused, | 22344 | .unused, |
| 18765 | .unused, | 22345 | .unused, |
| 22346 | }, | ||
| 22347 | .dst_temps = .{ .mem, .unused }, | ||
| 22348 | .clobbers = .{ .eflags = true }, | ||
| 22349 | .each = .{ .once = &.{ | ||
| 22350 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | ||
| 22351 | .{ .@"0:", ._, .mov, .tmp1d, .sia(-1, .none, .add_src0_elem_size_div_8), ._, ._ }, | ||
| 22352 | .{ ._, ._c, .cl, ._, ._, ._, ._ }, | ||
| 22353 | .{ .@"1:", ._, .mov, .tmp2q, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._ }, | ||
| 22354 | .{ ._, ._, .sbb, .tmp2q, .memia(.src1q, .tmp0, .add_unaligned_size), ._, ._ }, | ||
| 22355 | .{ ._, ._, .lea, .tmp0p, .lead(.tmp0, 8), ._, ._ }, | ||
| 22356 | .{ ._, ._c, .de, .tmp1d, ._, ._, ._ }, | ||
| 22357 | .{ ._, ._nz, .j, .@"1b", ._, ._, ._ }, | ||
| 22358 | .{ ._, ._, .mov, .tmp2q, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._ }, | ||
| 22359 | .{ ._, ._, .sbb, .tmp2q, .memia(.src1q, .tmp0, .add_unaligned_size), ._, ._ }, | ||
| 22360 | .{ ._, ._, .lea, .tmp1p, .memiad(.src0, .tmp0, .add_unaligned_size_sub_elem_size, 8), ._, ._ }, | ||
| 22361 | .{ ._, ._, .lea, .tmp2p, .memiad(.src1, .tmp0, .add_unaligned_size_sub_elem_size, 8), ._, ._ }, | ||
| 22362 | .{ ._, ._l, .cmov, .tmp1p, .tmp2p, ._, ._ }, | ||
| 22363 | .{ ._, ._, .lea, .tmp2p, .memiad(.dst0, .tmp0, .add_unaligned_size_sub_elem_size, 8), ._, ._ }, | ||
| 22364 | .{ ._, ._, .mov, .tmp3d, .sa(.none, .add_src0_elem_size_div_8), ._, ._ }, | ||
| 22365 | .{ ._, .@"rep _sq", .mov, ._, ._, ._, ._ }, | ||
| 22366 | .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ }, | ||
| 22367 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | ||
| 22368 | } }, | ||
| 22369 | }, .{ | ||
| 22370 | .required_features = .{ .@"64bit", null, null, null }, | ||
| 22371 | .src_constraints = .{ .any_scalar_signed_int, .any_scalar_signed_int, .any }, | ||
| 22372 | .patterns = &.{ | ||
| 22373 | .{ .src = .{ .to_mem, .to_mem, .none } }, | ||
| 22374 | }, | ||
| 22375 | .extra_temps = .{ | ||
| 22376 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | ||
| 22377 | .{ .type = .isize, .kind = .{ .reg = .rsi } }, | ||
| 22378 | .{ .type = .u64, .kind = .{ .reg = .rdi } }, | ||
| 22379 | .{ .type = .u64, .kind = .{ .reg = .rcx } }, | ||
| 22380 | .unused, | ||
| 22381 | .unused, | ||
| 22382 | .unused, | ||
| 22383 | .unused, | ||
| 18766 | .unused, | 22384 | .unused, |
| 18767 | .unused, | 22385 | .unused, |
| 18768 | .unused, | 22386 | .unused, |
| ... | @@ -18770,26 +22388,36 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -18770,26 +22388,36 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 18770 | .dst_temps = .{ .mem, .unused }, | 22388 | .dst_temps = .{ .mem, .unused }, |
| 18771 | .clobbers = .{ .eflags = true }, | 22389 | .clobbers = .{ .eflags = true }, |
| 18772 | .each = .{ .once = &.{ | 22390 | .each = .{ .once = &.{ |
| 18773 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, | 22391 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, |
| 18774 | .{ .@"0:", ._, .mov, .tmp1d, .memia(.src0d, .tmp0, .add_size), ._, ._ }, | 22392 | .{ .@"0:", ._, .mov, .tmp1d, .sia(-1, .none, .add_src0_elem_size_div_8), ._, ._ }, |
| 18775 | .{ ._, ._, .cmp, .tmp1d, .memia(.src1d, .tmp0, .add_size), ._, ._ }, | 22393 | .{ ._, ._c, .cl, ._, ._, ._, ._ }, |
| 18776 | .{ ._, ._l, .cmov, .tmp1d, .memia(.src1d, .tmp0, .add_size), ._, ._ }, | 22394 | .{ .@"1:", ._, .mov, .tmp2q, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._ }, |
| 18777 | .{ ._, ._, .mov, .memia(.dst0d, .tmp0, .add_size), .tmp1d, ._, ._ }, | 22395 | .{ ._, ._, .sbb, .tmp2q, .memia(.src1q, .tmp0, .add_unaligned_size), ._, ._ }, |
| 18778 | .{ ._, ._, .add, .tmp0p, .si(4), ._, ._ }, | 22396 | .{ ._, ._, .lea, .tmp0p, .lead(.tmp0, 8), ._, ._ }, |
| 22397 | .{ ._, ._c, .de, .tmp1d, ._, ._, ._ }, | ||
| 22398 | .{ ._, ._nz, .j, .@"1b", ._, ._, ._ }, | ||
| 22399 | .{ ._, ._, .mov, .tmp2q, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._ }, | ||
| 22400 | .{ ._, ._, .sbb, .tmp2q, .memia(.src1q, .tmp0, .add_unaligned_size), ._, ._ }, | ||
| 22401 | .{ ._, ._, .lea, .tmp1p, .memiad(.src0, .tmp0, .add_unaligned_size_sub_elem_size, 8), ._, ._ }, | ||
| 22402 | .{ ._, ._nl, .j, .@"1f", ._, ._, ._ }, | ||
| 22403 | .{ ._, ._, .lea, .tmp1p, .memiad(.src1, .tmp0, .add_unaligned_size_sub_elem_size, 8), ._, ._ }, | ||
| 22404 | .{ .@"1:", ._, .lea, .tmp2p, .memiad(.dst0, .tmp0, .add_unaligned_size_sub_elem_size, 8), ._, ._ }, | ||
| 22405 | .{ ._, ._, .mov, .tmp3d, .sa(.none, .add_src0_elem_size_div_8), ._, ._ }, | ||
| 22406 | .{ ._, .@"rep _sq", .mov, ._, ._, ._, ._ }, | ||
| 22407 | .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ }, | ||
| 18779 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 22408 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 18780 | } }, | 22409 | } }, |
| 18781 | }, .{ | 22410 | }, .{ |
| 18782 | .src_constraints = .{ | 22411 | .required_features = .{ .@"64bit", .cmov, null, null }, |
| 18783 | .{ .multiple_scalar_signed_int = .{ .of = .dword, .is = .dword } }, | 22412 | .src_constraints = .{ .any_scalar_unsigned_int, .any_scalar_unsigned_int, .any }, |
| 18784 | .{ .multiple_scalar_signed_int = .{ .of = .dword, .is = .dword } }, | ||
| 18785 | .any, | ||
| 18786 | }, | ||
| 18787 | .patterns = &.{ | 22413 | .patterns = &.{ |
| 18788 | .{ .src = .{ .to_mem, .to_mem, .none } }, | 22414 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 18789 | }, | 22415 | }, |
| 18790 | .extra_temps = .{ | 22416 | .extra_temps = .{ |
| 18791 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 22417 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 18792 | .{ .type = .i32, .kind = .{ .rc = .general_purpose } }, | 22418 | .{ .type = .isize, .kind = .{ .reg = .rsi } }, |
| 22419 | .{ .type = .u64, .kind = .{ .reg = .rdi } }, | ||
| 22420 | .{ .type = .u64, .kind = .{ .reg = .rcx } }, | ||
| 18793 | .unused, | 22421 | .unused, |
| 18794 | .unused, | 22422 | .unused, |
| 18795 | .unused, | 22423 | .unused, |
| ... | @@ -18797,69 +22425,144 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -18797,69 +22425,144 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 18797 | .unused, | 22425 | .unused, |
| 18798 | .unused, | 22426 | .unused, |
| 18799 | .unused, | 22427 | .unused, |
| 22428 | }, | ||
| 22429 | .dst_temps = .{ .mem, .unused }, | ||
| 22430 | .clobbers = .{ .eflags = true }, | ||
| 22431 | .each = .{ .once = &.{ | ||
| 22432 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | ||
| 22433 | .{ .@"0:", ._, .mov, .tmp1d, .sa(.none, .add_src0_elem_size_div_8), ._, ._ }, | ||
| 22434 | .{ ._, ._c, .cl, ._, ._, ._, ._ }, | ||
| 22435 | .{ .@"1:", ._, .mov, .tmp2q, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._ }, | ||
| 22436 | .{ ._, ._, .sbb, .tmp2q, .memia(.src1q, .tmp0, .add_unaligned_size), ._, ._ }, | ||
| 22437 | .{ ._, ._, .lea, .tmp0p, .lead(.tmp0, 8), ._, ._ }, | ||
| 22438 | .{ ._, ._c, .de, .tmp1d, ._, ._, ._ }, | ||
| 22439 | .{ ._, ._nz, .j, .@"1b", ._, ._, ._ }, | ||
| 22440 | .{ ._, ._, .lea, .tmp1p, .memia(.src0, .tmp0, .add_unaligned_size_sub_elem_size), ._, ._ }, | ||
| 22441 | .{ ._, ._, .lea, .tmp2p, .memia(.src1, .tmp0, .add_unaligned_size_sub_elem_size), ._, ._ }, | ||
| 22442 | .{ ._, ._b, .cmov, .tmp1p, .tmp2p, ._, ._ }, | ||
| 22443 | .{ ._, ._, .lea, .tmp2p, .memia(.dst0, .tmp0, .add_unaligned_size_sub_elem_size), ._, ._ }, | ||
| 22444 | .{ ._, ._, .mov, .tmp3d, .sa(.none, .add_src0_elem_size_div_8), ._, ._ }, | ||
| 22445 | .{ ._, .@"rep _sq", .mov, ._, ._, ._, ._ }, | ||
| 22446 | .{ ._, ._, .@"test", .tmp0p, .tmp0p, ._, ._ }, | ||
| 22447 | .{ ._, ._nz, .j, .@"0b", ._, ._, ._ }, | ||
| 22448 | } }, | ||
| 22449 | }, .{ | ||
| 22450 | .required_features = .{ .@"64bit", null, null, null }, | ||
| 22451 | .src_constraints = .{ .any_scalar_unsigned_int, .any_scalar_unsigned_int, .any }, | ||
| 22452 | .patterns = &.{ | ||
| 22453 | .{ .src = .{ .to_mem, .to_mem, .none } }, | ||
| 22454 | }, | ||
| 22455 | .extra_temps = .{ | ||
| 22456 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | ||
| 22457 | .{ .type = .isize, .kind = .{ .reg = .rsi } }, | ||
| 22458 | .{ .type = .u64, .kind = .{ .reg = .rdi } }, | ||
| 22459 | .{ .type = .u64, .kind = .{ .reg = .rcx } }, | ||
| 22460 | .unused, | ||
| 22461 | .unused, | ||
| 22462 | .unused, | ||
| 22463 | .unused, | ||
| 22464 | .unused, | ||
| 18800 | .unused, | 22465 | .unused, |
| 18801 | .unused, | 22466 | .unused, |
| 18802 | }, | 22467 | }, |
| 18803 | .dst_temps = .{ .mem, .unused }, | 22468 | .dst_temps = .{ .mem, .unused }, |
| 18804 | .clobbers = .{ .eflags = true }, | 22469 | .clobbers = .{ .eflags = true }, |
| 18805 | .each = .{ .once = &.{ | 22470 | .each = .{ .once = &.{ |
| 18806 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, | 22471 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, |
| 18807 | .{ .@"0:", ._, .mov, .tmp1d, .memia(.src0d, .tmp0, .add_size), ._, ._ }, | 22472 | .{ .@"0:", ._, .mov, .tmp1d, .sa(.none, .add_src0_elem_size_div_8), ._, ._ }, |
| 18808 | .{ ._, ._, .cmp, .tmp1d, .memia(.src1d, .tmp0, .add_size), ._, ._ }, | 22473 | .{ ._, ._c, .cl, ._, ._, ._, ._ }, |
| 18809 | .{ ._, ._nl, .j, .@"1f", ._, ._, ._ }, | 22474 | .{ .@"1:", ._, .mov, .tmp2q, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._ }, |
| 18810 | .{ ._, ._, .mov, .tmp1d, .memia(.src1d, .tmp0, .add_size), ._, ._ }, | 22475 | .{ ._, ._, .sbb, .tmp2q, .memia(.src1q, .tmp0, .add_unaligned_size), ._, ._ }, |
| 18811 | .{ .@"1:", ._, .mov, .memia(.dst0d, .tmp0, .add_size), .tmp1d, ._, ._ }, | 22476 | .{ ._, ._, .lea, .tmp0p, .lead(.tmp0, 8), ._, ._ }, |
| 18812 | .{ ._, ._, .add, .tmp0p, .si(4), ._, ._ }, | 22477 | .{ ._, ._c, .de, .tmp1d, ._, ._, ._ }, |
| 18813 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 22478 | .{ ._, ._nz, .j, .@"1b", ._, ._, ._ }, |
| 22479 | .{ ._, ._, .lea, .tmp1p, .memia(.src0, .tmp0, .add_unaligned_size_sub_elem_size), ._, ._ }, | ||
| 22480 | .{ ._, ._nb, .j, .@"1f", ._, ._, ._ }, | ||
| 22481 | .{ ._, ._, .lea, .tmp1p, .memia(.src1, .tmp0, .add_unaligned_size_sub_elem_size), ._, ._ }, | ||
| 22482 | .{ .@"1:", ._, .lea, .tmp2p, .memia(.dst0, .tmp0, .add_unaligned_size_sub_elem_size), ._, ._ }, | ||
| 22483 | .{ ._, ._, .mov, .tmp3d, .sa(.none, .add_src0_elem_size_div_8), ._, ._ }, | ||
| 22484 | .{ ._, .@"rep _sq", .mov, ._, ._, ._, ._ }, | ||
| 22485 | .{ ._, ._, .@"test", .tmp0p, .tmp0p, ._, ._ }, | ||
| 22486 | .{ ._, ._nz, .j, .@"0b", ._, ._, ._ }, | ||
| 18814 | } }, | 22487 | } }, |
| 18815 | }, .{ | 22488 | }, .{ |
| 18816 | .required_features = .{ .avx, null, null, null }, | 22489 | .required_features = .{ .f16c, null, null, null }, |
| 18817 | .src_constraints = .{ | 22490 | .src_constraints = .{ |
| 18818 | .{ .scalar_unsigned_int = .{ .of = .xword, .is = .dword } }, | 22491 | .{ .scalar_float = .{ .of = .word, .is = .word } }, |
| 18819 | .{ .scalar_unsigned_int = .{ .of = .xword, .is = .dword } }, | 22492 | .{ .scalar_float = .{ .of = .word, .is = .word } }, |
| 18820 | .any, | 22493 | .any, |
| 18821 | }, | 22494 | }, |
| 18822 | .patterns = &.{ | 22495 | .patterns = &.{ |
| 18823 | .{ .src = .{ .to_sse, .mem, .none } }, | ||
| 18824 | .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } }, | ||
| 18825 | .{ .src = .{ .to_sse, .to_sse, .none } }, | 22496 | .{ .src = .{ .to_sse, .to_sse, .none } }, |
| 18826 | }, | 22497 | }, |
| 18827 | .dst_temps = .{ .{ .rc = .sse }, .unused }, | 22498 | .extra_temps = .{ |
| 22499 | .{ .type = .f32, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .sse } } }, | ||
| 22500 | .{ .type = .f32, .kind = .{ .rc = .sse } }, | ||
| 22501 | .unused, | ||
| 22502 | .unused, | ||
| 22503 | .unused, | ||
| 22504 | .unused, | ||
| 22505 | .unused, | ||
| 22506 | .unused, | ||
| 22507 | .unused, | ||
| 22508 | .unused, | ||
| 22509 | .unused, | ||
| 22510 | }, | ||
| 22511 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, | ||
| 18828 | .each = .{ .once = &.{ | 22512 | .each = .{ .once = &.{ |
| 18829 | .{ ._, .vp_d, .maxu, .dst0x, .src0x, .src1x, ._ }, | 22513 | .{ ._, .v_ps, .cvtph2, .dst0x, .src0q, ._, ._ }, |
| 22514 | .{ ._, .v_ps, .cvtph2, .tmp0x, .src1q, ._, ._ }, | ||
| 22515 | .{ ._, .v_ss, .cmp, .tmp1x, .dst0d, .dst0x, .vp(.unord) }, | ||
| 22516 | .{ ._, .v_ss, .max, .dst0x, .tmp0d, .dst0x, ._ }, | ||
| 22517 | .{ ._, .v_ps, .blendv, .dst0x, .dst0x, .tmp0x, .tmp1x }, | ||
| 22518 | .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ }, | ||
| 18830 | } }, | 22519 | } }, |
| 18831 | }, .{ | 22520 | }, .{ |
| 18832 | .required_features = .{ .sse4_1, null, null, null }, | 22521 | .required_features = .{ .sse, null, null, null }, |
| 18833 | .src_constraints = .{ | 22522 | .src_constraints = .{ |
| 18834 | .{ .scalar_unsigned_int = .{ .of = .xword, .is = .dword } }, | 22523 | .{ .scalar_float = .{ .of = .word, .is = .word } }, |
| 18835 | .{ .scalar_unsigned_int = .{ .of = .xword, .is = .dword } }, | 22524 | .{ .scalar_float = .{ .of = .word, .is = .word } }, |
| 18836 | .any, | 22525 | .any, |
| 18837 | }, | 22526 | }, |
| 18838 | .patterns = &.{ | 22527 | .patterns = &.{ |
| 18839 | .{ .src = .{ .to_mut_sse, .mem, .none } }, | 22528 | .{ .src = .{ .{ .to_reg = .xmm0 }, .{ .to_reg = .xmm1 }, .none } }, |
| 18840 | .{ .src = .{ .mem, .to_mut_sse, .none }, .commute = .{ 0, 1 } }, | 22529 | }, |
| 18841 | .{ .src = .{ .to_mut_sse, .to_sse, .none } }, | 22530 | .call_frame = .{ .alignment = .@"16" }, |
| 22531 | .extra_temps = .{ | ||
| 22532 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__fmaxh" } } }, | ||
| 22533 | .unused, | ||
| 22534 | .unused, | ||
| 22535 | .unused, | ||
| 22536 | .unused, | ||
| 22537 | .unused, | ||
| 22538 | .unused, | ||
| 22539 | .unused, | ||
| 22540 | .unused, | ||
| 22541 | .unused, | ||
| 22542 | .unused, | ||
| 18842 | }, | 22543 | }, |
| 18843 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, | 22544 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| 22545 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | ||
| 18844 | .each = .{ .once = &.{ | 22546 | .each = .{ .once = &.{ |
| 18845 | .{ ._, .p_d, .maxu, .dst0x, .src1x, ._, ._ }, | 22547 | .{ ._, ._, .call, .tmp0d, ._, ._, ._ }, |
| 18846 | } }, | 22548 | } }, |
| 18847 | }, .{ | 22549 | }, .{ |
| 18848 | .required_features = .{ .sse2, null, null, null }, | 22550 | .required_features = .{ .f16c, null, null, null }, |
| 18849 | .src_constraints = .{ | 22551 | .src_constraints = .{ |
| 18850 | .{ .scalar_exact_unsigned_int = .{ .of = .xword, .is = 32 } }, | 22552 | .{ .scalar_float = .{ .of = .qword, .is = .word } }, |
| 18851 | .{ .scalar_exact_unsigned_int = .{ .of = .xword, .is = 32 } }, | 22553 | .{ .scalar_float = .{ .of = .qword, .is = .word } }, |
| 18852 | .any, | 22554 | .any, |
| 18853 | }, | 22555 | }, |
| 18854 | .patterns = &.{ | 22556 | .patterns = &.{ |
| 18855 | .{ .src = .{ .to_mut_sse, .mem, .none } }, | 22557 | .{ .src = .{ .mem, .mem, .none } }, |
| 18856 | .{ .src = .{ .mem, .to_mut_sse, .none }, .commute = .{ 0, 1 } }, | 22558 | .{ .src = .{ .to_sse, .mem, .none } }, |
| 18857 | .{ .src = .{ .to_mut_sse, .to_sse, .none } }, | 22559 | .{ .src = .{ .mem, .to_sse, .none } }, |
| 22560 | .{ .src = .{ .to_sse, .to_sse, .none } }, | ||
| 18858 | }, | 22561 | }, |
| 18859 | .extra_temps = .{ | 22562 | .extra_temps = .{ |
| 18860 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, | 22563 | .{ .type = .vector_4_f32, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .sse } } }, |
| 18861 | .{ .type = .vector_4_u32, .kind = .{ .smin_mem = .{ .ref = .src0, .vectorize_to = .xword } } }, | 22564 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| 18862 | .{ .type = .vector_4_u32, .kind = .{ .rc = .sse } }, | 22565 | .unused, |
| 18863 | .unused, | 22566 | .unused, |
| 18864 | .unused, | 22567 | .unused, |
| 18865 | .unused, | 22568 | .unused, |
| ... | @@ -18869,39 +22572,55 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -18869,39 +22572,55 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 18869 | .unused, | 22572 | .unused, |
| 18870 | .unused, | 22573 | .unused, |
| 18871 | }, | 22574 | }, |
| 18872 | .dst_temps = .{ .{ .rc = .sse }, .unused }, | 22575 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| 18873 | .each = .{ .once = &.{ | 22576 | .each = .{ .once = &.{ |
| 18874 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, | 22577 | .{ ._, .v_ps, .cvtph2, .dst0x, .src0q, ._, ._ }, |
| 18875 | .{ ._, ._dqa, .mov, .dst0x, .lea(.tmp0x), ._, ._ }, | 22578 | .{ ._, .v_ps, .cvtph2, .tmp0x, .src1q, ._, ._ }, |
| 18876 | .{ ._, ._dqa, .mov, .tmp2x, .dst0x, ._, ._ }, | 22579 | .{ ._, .v_ps, .cmp, .tmp1x, .dst0x, .dst0x, .vp(.unord) }, |
| 18877 | .{ ._, .p_, .xor, .dst0x, .src0x, ._, ._ }, | 22580 | .{ ._, .v_ps, .max, .dst0x, .tmp0x, .dst0x, ._ }, |
| 18878 | .{ ._, .p_, .xor, .tmp2x, .src1x, ._, ._ }, | 22581 | .{ ._, .v_ps, .blendv, .dst0x, .dst0x, .tmp0x, .tmp1x }, |
| 18879 | .{ ._, .p_d, .cmpgt, .dst0x, .tmp2x, ._, ._ }, | 22582 | .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ }, |
| 18880 | .{ ._, .p_, .@"and", .src0x, .dst0x, ._, ._ }, | ||
| 18881 | .{ ._, .p_, .andn, .dst0x, .src1x, ._, ._ }, | ||
| 18882 | .{ ._, .p_, .@"or", .dst0x, .src0x, ._, ._ }, | ||
| 18883 | } }, | 22583 | } }, |
| 18884 | }, .{ | 22584 | }, .{ |
| 18885 | .required_features = .{ .avx2, null, null, null }, | 22585 | .required_features = .{ .f16c, null, null, null }, |
| 18886 | .src_constraints = .{ | 22586 | .src_constraints = .{ |
| 18887 | .{ .scalar_unsigned_int = .{ .of = .yword, .is = .dword } }, | 22587 | .{ .scalar_float = .{ .of = .xword, .is = .word } }, |
| 18888 | .{ .scalar_unsigned_int = .{ .of = .yword, .is = .dword } }, | 22588 | .{ .scalar_float = .{ .of = .xword, .is = .word } }, |
| 18889 | .any, | 22589 | .any, |
| 18890 | }, | 22590 | }, |
| 18891 | .patterns = &.{ | 22591 | .patterns = &.{ |
| 22592 | .{ .src = .{ .mem, .mem, .none } }, | ||
| 18892 | .{ .src = .{ .to_sse, .mem, .none } }, | 22593 | .{ .src = .{ .to_sse, .mem, .none } }, |
| 18893 | .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } }, | 22594 | .{ .src = .{ .mem, .to_sse, .none } }, |
| 18894 | .{ .src = .{ .to_sse, .to_sse, .none } }, | 22595 | .{ .src = .{ .to_sse, .to_sse, .none } }, |
| 18895 | }, | 22596 | }, |
| 18896 | .dst_temps = .{ .{ .rc = .sse }, .unused }, | 22597 | .extra_temps = .{ |
| 22598 | .{ .type = .vector_8_f32, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .sse } } }, | ||
| 22599 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, | ||
| 22600 | .unused, | ||
| 22601 | .unused, | ||
| 22602 | .unused, | ||
| 22603 | .unused, | ||
| 22604 | .unused, | ||
| 22605 | .unused, | ||
| 22606 | .unused, | ||
| 22607 | .unused, | ||
| 22608 | .unused, | ||
| 22609 | }, | ||
| 22610 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, | ||
| 18897 | .each = .{ .once = &.{ | 22611 | .each = .{ .once = &.{ |
| 18898 | .{ ._, .vp_d, .maxu, .dst0y, .src0y, .src1y, ._ }, | 22612 | .{ ._, .v_ps, .cvtph2, .dst0y, .src0x, ._, ._ }, |
| 22613 | .{ ._, .v_ps, .cvtph2, .tmp0y, .src1x, ._, ._ }, | ||
| 22614 | .{ ._, .v_ps, .cmp, .tmp1y, .dst0y, .dst0y, .vp(.unord) }, | ||
| 22615 | .{ ._, .v_ps, .max, .dst0y, .tmp0y, .dst0y, ._ }, | ||
| 22616 | .{ ._, .v_ps, .blendv, .dst0y, .dst0y, .tmp0y, .tmp1y }, | ||
| 22617 | .{ ._, .v_, .cvtps2ph, .dst0x, .dst0y, .rm(.{}), ._ }, | ||
| 18899 | } }, | 22618 | } }, |
| 18900 | }, .{ | 22619 | }, .{ |
| 18901 | .required_features = .{ .avx2, null, null, null }, | 22620 | .required_features = .{ .f16c, null, null, null }, |
| 18902 | .src_constraints = .{ | 22621 | .src_constraints = .{ |
| 18903 | .{ .multiple_scalar_unsigned_int = .{ .of = .yword, .is = .dword } }, | 22622 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .word } }, |
| 18904 | .{ .multiple_scalar_unsigned_int = .{ .of = .yword, .is = .dword } }, | 22623 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .word } }, |
| 18905 | .any, | 22624 | .any, |
| 18906 | }, | 22625 | }, |
| 18907 | .patterns = &.{ | 22626 | .patterns = &.{ |
| ... | @@ -18909,9 +22628,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -18909,9 +22628,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 18909 | }, | 22628 | }, |
| 18910 | .extra_temps = .{ | 22629 | .extra_temps = .{ |
| 18911 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 22630 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 18912 | .{ .type = .vector_8_u32, .kind = .{ .rc = .sse } }, | 22631 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, |
| 18913 | .unused, | 22632 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, |
| 18914 | .unused, | 22633 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, |
| 18915 | .unused, | 22634 | .unused, |
| 18916 | .unused, | 22635 | .unused, |
| 18917 | .unused, | 22636 | .unused, |
| ... | @@ -18924,27 +22643,31 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -18924,27 +22643,31 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 18924 | .clobbers = .{ .eflags = true }, | 22643 | .clobbers = .{ .eflags = true }, |
| 18925 | .each = .{ .once = &.{ | 22644 | .each = .{ .once = &.{ |
| 18926 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, | 22645 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, |
| 18927 | .{ .@"0:", .v_dqa, .mov, .tmp1y, .memia(.src0y, .tmp0, .add_size), ._, ._ }, | 22646 | .{ .@"0:", .v_ps, .cvtph2, .tmp1y, .memia(.src0x, .tmp0, .add_size), ._, ._ }, |
| 18928 | .{ ._, .vp_d, .maxu, .tmp1y, .tmp1y, .memia(.src1y, .tmp0, .add_size), ._ }, | 22647 | .{ ._, .v_ps, .cvtph2, .tmp2y, .memia(.src1x, .tmp0, .add_size), ._, ._ }, |
| 18929 | .{ ._, .v_dqa, .mov, .memia(.dst0y, .tmp0, .add_size), .tmp1y, ._, ._ }, | 22648 | .{ ._, .v_ps, .cmp, .tmp3y, .tmp1y, .tmp1y, .vp(.unord) }, |
| 18930 | .{ ._, ._, .add, .tmp0p, .si(32), ._, ._ }, | 22649 | .{ ._, .v_ps, .max, .tmp1y, .tmp2y, .tmp1y, ._ }, |
| 22650 | .{ ._, .v_ps, .blendv, .tmp1y, .tmp1y, .tmp2y, .tmp3y }, | ||
| 22651 | .{ ._, .v_, .cvtps2ph, .memia(.dst0x, .tmp0, .add_size), .tmp1y, .rm(.{}), ._ }, | ||
| 22652 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, | ||
| 18931 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 22653 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 18932 | } }, | 22654 | } }, |
| 18933 | }, .{ | 22655 | }, .{ |
| 18934 | .required_features = .{ .avx, null, null, null }, | 22656 | .required_features = .{ .avx, null, null, null }, |
| 18935 | .src_constraints = .{ | 22657 | .src_constraints = .{ |
| 18936 | .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .dword } }, | 22658 | .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, |
| 18937 | .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .dword } }, | 22659 | .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, |
| 18938 | .any, | 22660 | .any, |
| 18939 | }, | 22661 | }, |
| 18940 | .patterns = &.{ | 22662 | .patterns = &.{ |
| 18941 | .{ .src = .{ .to_mem, .to_mem, .none } }, | 22663 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 18942 | }, | 22664 | }, |
| 22665 | .call_frame = .{ .alignment = .@"16" }, | ||
| 18943 | .extra_temps = .{ | 22666 | .extra_temps = .{ |
| 18944 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 22667 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 18945 | .{ .type = .vector_4_u32, .kind = .{ .rc = .sse } }, | 22668 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, |
| 18946 | .unused, | 22669 | .{ .type = .f16, .kind = .{ .reg = .xmm1 } }, |
| 18947 | .unused, | 22670 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__fmaxh" } } }, |
| 18948 | .unused, | 22671 | .unused, |
| 18949 | .unused, | 22672 | .unused, |
| 18950 | .unused, | 22673 | .unused, |
| ... | @@ -18954,30 +22677,33 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -18954,30 +22677,33 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 18954 | .unused, | 22677 | .unused, |
| 18955 | }, | 22678 | }, |
| 18956 | .dst_temps = .{ .mem, .unused }, | 22679 | .dst_temps = .{ .mem, .unused }, |
| 18957 | .clobbers = .{ .eflags = true }, | 22680 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 18958 | .each = .{ .once = &.{ | 22681 | .each = .{ .once = &.{ |
| 18959 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, | 22682 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, |
| 18960 | .{ .@"0:", .v_dqa, .mov, .tmp1x, .memia(.src0x, .tmp0, .add_size), ._, ._ }, | 22683 | .{ .@"0:", .vp_, .xor, .tmp2x, .tmp2x, .tmp2x, ._ }, |
| 18961 | .{ ._, .vp_d, .maxu, .tmp1x, .tmp1x, .memia(.src1x, .tmp0, .add_size), ._ }, | 22684 | .{ ._, .vp_w, .insr, .tmp1x, .tmp2x, .memia(.src0w, .tmp0, .add_size), .ui(0) }, |
| 18962 | .{ ._, .v_dqa, .mov, .memia(.dst0x, .tmp0, .add_size), .tmp1x, ._, ._ }, | 22685 | .{ ._, .vp_w, .insr, .tmp2x, .tmp2x, .memia(.src1w, .tmp0, .add_size), .ui(0) }, |
| 18963 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, | 22686 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, |
| 22687 | .{ ._, .vp_w, .extr, .memia(.dst0w, .tmp0, .add_size), .tmp1x, .ui(0), ._ }, | ||
| 22688 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, | ||
| 18964 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 22689 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 18965 | } }, | 22690 | } }, |
| 18966 | }, .{ | 22691 | }, .{ |
| 18967 | .required_features = .{ .sse4_1, null, null, null }, | 22692 | .required_features = .{ .sse4_1, null, null, null }, |
| 18968 | .src_constraints = .{ | 22693 | .src_constraints = .{ |
| 18969 | .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .dword } }, | 22694 | .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, |
| 18970 | .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .dword } }, | 22695 | .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, |
| 18971 | .any, | 22696 | .any, |
| 18972 | }, | 22697 | }, |
| 18973 | .patterns = &.{ | 22698 | .patterns = &.{ |
| 18974 | .{ .src = .{ .to_mem, .to_mem, .none } }, | 22699 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 18975 | }, | 22700 | }, |
| 22701 | .call_frame = .{ .alignment = .@"16" }, | ||
| 18976 | .extra_temps = .{ | 22702 | .extra_temps = .{ |
| 18977 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 22703 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 18978 | .{ .type = .vector_4_u32, .kind = .{ .rc = .sse } }, | 22704 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, |
| 18979 | .unused, | 22705 | .{ .type = .f16, .kind = .{ .reg = .xmm1 } }, |
| 18980 | .unused, | 22706 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__fmaxh" } } }, |
| 18981 | .unused, | 22707 | .unused, |
| 18982 | .unused, | 22708 | .unused, |
| 18983 | .unused, | 22709 | .unused, |
| ... | @@ -18987,75 +22713,74 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -18987,75 +22713,74 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 18987 | .unused, | 22713 | .unused, |
| 18988 | }, | 22714 | }, |
| 18989 | .dst_temps = .{ .mem, .unused }, | 22715 | .dst_temps = .{ .mem, .unused }, |
| 18990 | .clobbers = .{ .eflags = true }, | 22716 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 18991 | .each = .{ .once = &.{ | 22717 | .each = .{ .once = &.{ |
| 18992 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, | 22718 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, |
| 18993 | .{ .@"0:", ._dqa, .mov, .tmp1x, .memia(.src0x, .tmp0, .add_size), ._, ._ }, | 22719 | .{ .@"0:", .p_, .xor, .tmp1x, .tmp1x, ._, ._ }, |
| 18994 | .{ ._, .p_d, .maxu, .tmp1x, .memia(.src1x, .tmp0, .add_size), ._, ._ }, | 22720 | .{ ._, .p_, .xor, .tmp2x, .tmp2x, ._, ._ }, |
| 18995 | .{ ._, ._dqa, .mov, .memia(.dst0x, .tmp0, .add_size), .tmp1x, ._, ._ }, | 22721 | .{ ._, .p_w, .insr, .tmp1x, .memia(.src0w, .tmp0, .add_size), .ui(0), ._ }, |
| 18996 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, | 22722 | .{ ._, .p_w, .insr, .tmp2x, .memia(.src1w, .tmp0, .add_size), .ui(0), ._ }, |
| 22723 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, | ||
| 22724 | .{ ._, .p_w, .extr, .memia(.dst0w, .tmp0, .add_size), .tmp1x, .ui(0), ._ }, | ||
| 22725 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, | ||
| 18997 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 22726 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 18998 | } }, | 22727 | } }, |
| 18999 | }, .{ | 22728 | }, .{ |
| 19000 | .required_features = .{ .sse2, null, null, null }, | 22729 | .required_features = .{ .sse2, null, null, null }, |
| 19001 | .src_constraints = .{ | 22730 | .src_constraints = .{ |
| 19002 | .{ .multiple_scalar_exact_unsigned_int = .{ .of = .xword, .is = 32 } }, | 22731 | .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, |
| 19003 | .{ .multiple_scalar_exact_unsigned_int = .{ .of = .xword, .is = 32 } }, | 22732 | .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, |
| 19004 | .any, | 22733 | .any, |
| 19005 | }, | 22734 | }, |
| 19006 | .patterns = &.{ | 22735 | .patterns = &.{ |
| 19007 | .{ .src = .{ .to_mem, .to_mem, .none } }, | 22736 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 19008 | }, | 22737 | }, |
| 22738 | .call_frame = .{ .alignment = .@"16" }, | ||
| 19009 | .extra_temps = .{ | 22739 | .extra_temps = .{ |
| 19010 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 22740 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 19011 | .{ .type = .vector_4_u32, .kind = .{ .smin_mem = .{ .ref = .src0, .vectorize_to = .xword } } }, | 22741 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, |
| 19012 | .{ .type = .vector_4_u32, .kind = .{ .rc = .sse } }, | 22742 | .{ .type = .f16, .kind = .{ .reg = .xmm1 } }, |
| 19013 | .{ .type = .vector_4_u32, .kind = .{ .rc = .sse } }, | 22743 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__fmaxh" } } }, |
| 19014 | .{ .type = .vector_4_u32, .kind = .{ .rc = .sse } }, | 22744 | .{ .type = .f16, .kind = .{ .reg = .ax } }, |
| 19015 | .{ .type = .vector_4_u32, .kind = .{ .rc = .sse } }, | 22745 | .unused, |
| 19016 | .{ .type = .vector_4_u32, .kind = .{ .rc = .sse } }, | 22746 | .unused, |
| 19017 | .unused, | 22747 | .unused, |
| 19018 | .unused, | 22748 | .unused, |
| 19019 | .unused, | 22749 | .unused, |
| 19020 | .unused, | 22750 | .unused, |
| 19021 | }, | 22751 | }, |
| 19022 | .dst_temps = .{ .mem, .unused }, | 22752 | .dst_temps = .{ .mem, .unused }, |
| 19023 | .clobbers = .{ .eflags = true }, | 22753 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 19024 | .each = .{ .once = &.{ | 22754 | .each = .{ .once = &.{ |
| 19025 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, | ||
| 19026 | .{ ._, ._dqa, .mov, .tmp2x, .lea(.tmp0x), ._, ._ }, | ||
| 19027 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, | 22755 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, |
| 19028 | .{ .@"0:", ._dqa, .mov, .tmp3x, .memia(.src0x, .tmp0, .add_size), ._, ._ }, | 22756 | .{ .@"0:", .p_, .xor, .tmp1x, .tmp1x, ._, ._ }, |
| 19029 | .{ ._, ._dqa, .mov, .tmp4x, .memia(.src1x, .tmp0, .add_size), ._, ._ }, | 22757 | .{ ._, .p_, .xor, .tmp2x, .tmp2x, ._, ._ }, |
| 19030 | .{ ._, ._dqa, .mov, .tmp5x, .tmp3x, ._, ._ }, | 22758 | .{ ._, .p_w, .insr, .tmp1x, .memia(.src0w, .tmp0, .add_size), .ui(0), ._ }, |
| 19031 | .{ ._, ._dqa, .mov, .tmp6x, .tmp4x, ._, ._ }, | 22759 | .{ ._, .p_w, .insr, .tmp2x, .memia(.src1w, .tmp0, .add_size), .ui(0), ._ }, |
| 19032 | .{ ._, .p_, .xor, .tmp5x, .tmp2x, ._, ._ }, | 22760 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, |
| 19033 | .{ ._, .p_, .xor, .tmp6x, .tmp2x, ._, ._ }, | 22761 | .{ ._, .p_w, .extr, .tmp4d, .tmp1x, .ui(0), ._ }, |
| 19034 | .{ ._, .p_d, .cmpgt, .tmp5x, .tmp6x, ._, ._ }, | 22762 | .{ ._, ._, .mov, .memia(.dst0w, .tmp0, .add_size), .tmp4w, ._, ._ }, |
| 19035 | .{ ._, .p_, .@"and", .tmp3x, .tmp5x, ._, ._ }, | 22763 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, |
| 19036 | .{ ._, .p_, .andn, .tmp5x, .tmp4x, ._, ._ }, | ||
| 19037 | .{ ._, .p_, .@"or", .tmp3x, .tmp5x, ._, ._ }, | ||
| 19038 | .{ ._, ._dqa, .mov, .memia(.dst0x, .tmp0, .add_size), .tmp3x, ._, ._ }, | ||
| 19039 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, | ||
| 19040 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 22764 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 19041 | } }, | 22765 | } }, |
| 19042 | }, .{ | 22766 | }, .{ |
| 19043 | .required_features = .{ .cmov, null, null, null }, | 22767 | .required_features = .{ .sse, null, null, null }, |
| 19044 | .src_constraints = .{ | 22768 | .src_constraints = .{ |
| 19045 | .{ .multiple_scalar_unsigned_int = .{ .of = .dword, .is = .dword } }, | 22769 | .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, |
| 19046 | .{ .multiple_scalar_unsigned_int = .{ .of = .dword, .is = .dword } }, | 22770 | .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, |
| 19047 | .any, | 22771 | .any, |
| 19048 | }, | 22772 | }, |
| 19049 | .patterns = &.{ | 22773 | .patterns = &.{ |
| 19050 | .{ .src = .{ .to_mem, .to_mem, .none } }, | 22774 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 19051 | }, | 22775 | }, |
| 22776 | .call_frame = .{ .alignment = .@"16" }, | ||
| 19052 | .extra_temps = .{ | 22777 | .extra_temps = .{ |
| 19053 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 22778 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 19054 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, | 22779 | .{ .type = .f16, .kind = .{ .reg = .ax } }, |
| 19055 | .unused, | 22780 | .{ .type = .f32, .kind = .mem }, |
| 19056 | .unused, | 22781 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, |
| 19057 | .unused, | 22782 | .{ .type = .f16, .kind = .{ .reg = .xmm1 } }, |
| 19058 | .unused, | 22783 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__fmaxh" } } }, |
| 19059 | .unused, | 22784 | .unused, |
| 19060 | .unused, | 22785 | .unused, |
| 19061 | .unused, | 22786 | .unused, |
| ... | @@ -19063,28 +22788,35 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -19063,28 +22788,35 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 19063 | .unused, | 22788 | .unused, |
| 19064 | }, | 22789 | }, |
| 19065 | .dst_temps = .{ .mem, .unused }, | 22790 | .dst_temps = .{ .mem, .unused }, |
| 19066 | .clobbers = .{ .eflags = true }, | 22791 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 19067 | .each = .{ .once = &.{ | 22792 | .each = .{ .once = &.{ |
| 19068 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, | 22793 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, |
| 19069 | .{ .@"0:", ._, .mov, .tmp1d, .memia(.src0d, .tmp0, .add_size), ._, ._ }, | 22794 | .{ .@"0:", ._, .movzx, .tmp1d, .memia(.src0w, .tmp0, .add_size), ._, ._ }, |
| 19070 | .{ ._, ._, .cmp, .tmp1d, .memia(.src1d, .tmp0, .add_size), ._, ._ }, | 22795 | .{ ._, ._, .mov, .mem(.tmp2d), .tmp1d, ._, ._ }, |
| 19071 | .{ ._, ._b, .cmov, .tmp1d, .memia(.src1d, .tmp0, .add_size), ._, ._ }, | 22796 | .{ ._, ._ss, .mov, .tmp3x, .mem(.tmp2d), ._, ._ }, |
| 19072 | .{ ._, ._, .mov, .memia(.dst0d, .tmp0, .add_size), .tmp1d, ._, ._ }, | 22797 | .{ ._, ._, .movzx, .tmp1d, .memia(.src1w, .tmp0, .add_size), ._, ._ }, |
| 19073 | .{ ._, ._, .add, .tmp0p, .si(4), ._, ._ }, | 22798 | .{ ._, ._, .mov, .mem(.tmp2d), .tmp1d, ._, ._ }, |
| 22799 | .{ ._, ._ss, .mov, .tmp4x, .mem(.tmp2d), ._, ._ }, | ||
| 22800 | .{ ._, ._, .call, .tmp5d, ._, ._, ._ }, | ||
| 22801 | .{ ._, ._ss, .mov, .mem(.tmp2d), .tmp3x, ._, ._ }, | ||
| 22802 | .{ ._, ._, .mov, .tmp1d, .mem(.tmp2d), ._, ._ }, | ||
| 22803 | .{ ._, ._, .mov, .memia(.dst0w, .tmp0, .add_size), .tmp1w, ._, ._ }, | ||
| 22804 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, | ||
| 19074 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 22805 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 19075 | } }, | 22806 | } }, |
| 19076 | }, .{ | 22807 | }, .{ |
| 22808 | .required_features = .{ .avx, null, null, null }, | ||
| 19077 | .src_constraints = .{ | 22809 | .src_constraints = .{ |
| 19078 | .{ .multiple_scalar_unsigned_int = .{ .of = .dword, .is = .dword } }, | 22810 | .{ .scalar_float = .{ .of = .dword, .is = .dword } }, |
| 19079 | .{ .multiple_scalar_unsigned_int = .{ .of = .dword, .is = .dword } }, | 22811 | .{ .scalar_float = .{ .of = .dword, .is = .dword } }, |
| 19080 | .any, | 22812 | .any, |
| 19081 | }, | 22813 | }, |
| 19082 | .patterns = &.{ | 22814 | .patterns = &.{ |
| 19083 | .{ .src = .{ .to_mem, .to_mem, .none } }, | 22815 | .{ .src = .{ .to_sse, .to_sse, .none } }, |
| 19084 | }, | 22816 | }, |
| 19085 | .extra_temps = .{ | 22817 | .extra_temps = .{ |
| 19086 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 22818 | .{ .type = .f32, .kind = .{ .rc = .sse } }, |
| 19087 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, | 22819 | .unused, |
| 19088 | .unused, | 22820 | .unused, |
| 19089 | .unused, | 22821 | .unused, |
| 19090 | .unused, | 22822 | .unused, |
| ... | @@ -19095,47 +22827,41 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -19095,47 +22827,41 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 19095 | .unused, | 22827 | .unused, |
| 19096 | .unused, | 22828 | .unused, |
| 19097 | }, | 22829 | }, |
| 19098 | .dst_temps = .{ .mem, .unused }, | 22830 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| 19099 | .clobbers = .{ .eflags = true }, | ||
| 19100 | .each = .{ .once = &.{ | 22831 | .each = .{ .once = &.{ |
| 19101 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, | 22832 | .{ ._, .v_ss, .cmp, .tmp0x, .src0x, .src0d, .vp(.unord) }, |
| 19102 | .{ .@"0:", ._, .mov, .tmp1d, .memia(.src0d, .tmp0, .add_size), ._, ._ }, | 22833 | .{ ._, .v_ss, .max, .dst0x, .src1x, .src0d, ._ }, |
| 19103 | .{ ._, ._, .cmp, .tmp1d, .memia(.src1d, .tmp0, .add_size), ._, ._ }, | 22834 | .{ ._, .v_ps, .blendv, .dst0x, .dst0x, .src1x, .tmp0x }, |
| 19104 | .{ ._, ._nb, .j, .@"1f", ._, ._, ._ }, | ||
| 19105 | .{ ._, ._, .mov, .tmp1d, .memia(.src1d, .tmp0, .add_size), ._, ._ }, | ||
| 19106 | .{ .@"1:", ._, .mov, .memia(.dst0d, .tmp0, .add_size), .tmp1d, ._, ._ }, | ||
| 19107 | .{ ._, ._, .add, .tmp0p, .si(4), ._, ._ }, | ||
| 19108 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | ||
| 19109 | } }, | 22835 | } }, |
| 19110 | }, .{ | 22836 | }, .{ |
| 19111 | .required_features = .{ .avx, null, null, null }, | 22837 | .required_features = .{ .sse4_1, null, null, null }, |
| 19112 | .src_constraints = .{ | 22838 | .src_constraints = .{ |
| 19113 | .{ .scalar_signed_or_exclusive_int = .{ .of = .xword, .is = .qword } }, | 22839 | .{ .scalar_float = .{ .of = .dword, .is = .dword } }, |
| 19114 | .{ .scalar_signed_or_exclusive_int = .{ .of = .xword, .is = .qword } }, | 22840 | .{ .scalar_float = .{ .of = .dword, .is = .dword } }, |
| 19115 | .any, | 22841 | .any, |
| 19116 | }, | 22842 | }, |
| 19117 | .patterns = &.{ | 22843 | .patterns = &.{ |
| 19118 | .{ .src = .{ .to_sse, .to_sse, .none } }, | 22844 | .{ .src = .{ .{ .to_reg = .xmm0 }, .to_sse, .none } }, |
| 19119 | }, | 22845 | }, |
| 19120 | .dst_temps = .{ .{ .rc = .sse }, .unused }, | 22846 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| 19121 | .each = .{ .once = &.{ | 22847 | .each = .{ .once = &.{ |
| 19122 | .{ ._, .vp_q, .cmpgt, .dst0x, .src1x, .src0x, ._ }, | 22848 | .{ ._, ._ps, .mova, .dst0x, .src1x, ._, ._ }, |
| 19123 | .{ ._, .vp_b, .blendv, .dst0x, .src0x, .src1x, .dst0x }, | 22849 | .{ ._, ._ss, .max, .dst0x, .src0d, ._, ._ }, |
| 22850 | .{ ._, ._ss, .cmp, .src0x, .src0d, .sp(.unord), ._ }, | ||
| 22851 | .{ ._, ._ps, .blendv, .dst0x, .src1x, .src0x, ._ }, | ||
| 19124 | } }, | 22852 | } }, |
| 19125 | }, .{ | 22853 | }, .{ |
| 19126 | .required_features = .{ .sse4_2, null, null, null }, | 22854 | .required_features = .{ .sse, null, null, null }, |
| 19127 | .src_constraints = .{ | 22855 | .src_constraints = .{ |
| 19128 | .{ .scalar_signed_or_exclusive_int = .{ .of = .xword, .is = .qword } }, | 22856 | .{ .scalar_float = .{ .of = .dword, .is = .dword } }, |
| 19129 | .{ .scalar_signed_or_exclusive_int = .{ .of = .xword, .is = .qword } }, | 22857 | .{ .scalar_float = .{ .of = .dword, .is = .dword } }, |
| 19130 | .any, | 22858 | .any, |
| 19131 | }, | 22859 | }, |
| 19132 | .patterns = &.{ | 22860 | .patterns = &.{ |
| 19133 | .{ .src = .{ .to_mut_sse, .mem, .none } }, | ||
| 19134 | .{ .src = .{ .mem, .to_mut_sse, .none }, .commute = .{ 0, 1 } }, | ||
| 19135 | .{ .src = .{ .to_mut_sse, .to_sse, .none } }, | 22861 | .{ .src = .{ .to_mut_sse, .to_sse, .none } }, |
| 19136 | }, | 22862 | }, |
| 19137 | .extra_temps = .{ | 22863 | .extra_temps = .{ |
| 19138 | .{ .type = .vector_2_i64, .kind = .{ .reg = .xmm0 } }, | 22864 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| 19139 | .unused, | 22865 | .unused, |
| 19140 | .unused, | 22866 | .unused, |
| 19141 | .unused, | 22867 | .unused, |
| ... | @@ -19149,40 +22875,78 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -19149,40 +22875,78 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 19149 | }, | 22875 | }, |
| 19150 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, | 22876 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| 19151 | .each = .{ .once = &.{ | 22877 | .each = .{ .once = &.{ |
| 19152 | .{ ._, ._dqa, .mov, .tmp0x, .src1x, ._, ._ }, | 22878 | .{ ._, ._ps, .mova, .tmp0x, .src1x, ._, ._ }, |
| 19153 | .{ ._, .p_q, .cmpgt, .tmp0x, .src0x, ._, ._ }, | 22879 | .{ ._, ._ss, .max, .tmp0x, .src0d, ._, ._ }, |
| 19154 | .{ ._, .p_b, .blendv, .dst0x, .src1x, .tmp0x, ._ }, | 22880 | .{ ._, ._ss, .cmp, .dst0x, .src0d, .sp(.ord), ._ }, |
| 22881 | .{ ._, ._ps, .@"and", .tmp0x, .dst0x, ._, ._ }, | ||
| 22882 | .{ ._, ._ps, .andn, .dst0x, .src1x, ._, ._ }, | ||
| 22883 | .{ ._, ._ps, .@"or", .dst0x, .tmp0x, ._, ._ }, | ||
| 19155 | } }, | 22884 | } }, |
| 19156 | }, .{ | 22885 | }, .{ |
| 19157 | .required_features = .{ .avx2, null, null, null }, | 22886 | .required_features = .{ .avx, null, null, null }, |
| 19158 | .src_constraints = .{ | 22887 | .src_constraints = .{ |
| 19159 | .{ .scalar_signed_or_exclusive_int = .{ .of = .yword, .is = .qword } }, | 22888 | .{ .scalar_float = .{ .of = .xword, .is = .dword } }, |
| 19160 | .{ .scalar_signed_or_exclusive_int = .{ .of = .yword, .is = .qword } }, | 22889 | .{ .scalar_float = .{ .of = .xword, .is = .dword } }, |
| 19161 | .any, | 22890 | .any, |
| 19162 | }, | 22891 | }, |
| 19163 | .patterns = &.{ | 22892 | .patterns = &.{ |
| 19164 | .{ .src = .{ .to_sse, .to_sse, .none } }, | 22893 | .{ .src = .{ .to_sse, .to_sse, .none } }, |
| 19165 | }, | 22894 | }, |
| 22895 | .extra_temps = .{ | ||
| 22896 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, | ||
| 22897 | .unused, | ||
| 22898 | .unused, | ||
| 22899 | .unused, | ||
| 22900 | .unused, | ||
| 22901 | .unused, | ||
| 22902 | .unused, | ||
| 22903 | .unused, | ||
| 22904 | .unused, | ||
| 22905 | .unused, | ||
| 22906 | .unused, | ||
| 22907 | }, | ||
| 22908 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, | ||
| 22909 | .each = .{ .once = &.{ | ||
| 22910 | .{ ._, .v_ps, .cmp, .tmp0x, .src0x, .src0x, .vp(.unord) }, | ||
| 22911 | .{ ._, .v_ps, .max, .dst0x, .src1x, .src0x, ._ }, | ||
| 22912 | .{ ._, .v_ps, .blendv, .dst0x, .dst0x, .src1x, .tmp0x }, | ||
| 22913 | } }, | ||
| 22914 | }, .{ | ||
| 22915 | .required_features = .{ .sse4_1, null, null, null }, | ||
| 22916 | .src_constraints = .{ | ||
| 22917 | .{ .scalar_float = .{ .of = .xword, .is = .dword } }, | ||
| 22918 | .{ .scalar_float = .{ .of = .xword, .is = .dword } }, | ||
| 22919 | .any, | ||
| 22920 | }, | ||
| 22921 | .patterns = &.{ | ||
| 22922 | .{ .src = .{ .{ .to_reg = .xmm0 }, .mem, .none } }, | ||
| 22923 | .{ .src = .{ .mem, .{ .to_reg = .xmm0 }, .none }, .commute = .{ 0, 1 } }, | ||
| 22924 | .{ .src = .{ .{ .to_reg = .xmm0 }, .to_sse, .none } }, | ||
| 22925 | }, | ||
| 19166 | .dst_temps = .{ .{ .rc = .sse }, .unused }, | 22926 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| 19167 | .each = .{ .once = &.{ | 22927 | .each = .{ .once = &.{ |
| 19168 | .{ ._, .vp_q, .cmpgt, .dst0y, .src1y, .src0y, ._ }, | 22928 | .{ ._, ._ps, .mova, .dst0x, .src1x, ._, ._ }, |
| 19169 | .{ ._, .vp_b, .blendv, .dst0y, .src0y, .src1y, .dst0y }, | 22929 | .{ ._, ._ps, .max, .dst0x, .src0x, ._, ._ }, |
| 22930 | .{ ._, ._ps, .cmp, .src0x, .src0x, .sp(.unord), ._ }, | ||
| 22931 | .{ ._, ._ps, .blendv, .dst0x, .src1x, .src0x, ._ }, | ||
| 19170 | } }, | 22932 | } }, |
| 19171 | }, .{ | 22933 | }, .{ |
| 19172 | .required_features = .{ .avx2, null, null, null }, | 22934 | .required_features = .{ .sse, null, null, null }, |
| 19173 | .src_constraints = .{ | 22935 | .src_constraints = .{ |
| 19174 | .{ .multiple_scalar_signed_or_exclusive_int = .{ .of = .yword, .is = .qword } }, | 22936 | .{ .scalar_float = .{ .of = .xword, .is = .dword } }, |
| 19175 | .{ .multiple_scalar_signed_or_exclusive_int = .{ .of = .yword, .is = .qword } }, | 22937 | .{ .scalar_float = .{ .of = .xword, .is = .dword } }, |
| 19176 | .any, | 22938 | .any, |
| 19177 | }, | 22939 | }, |
| 19178 | .patterns = &.{ | 22940 | .patterns = &.{ |
| 19179 | .{ .src = .{ .to_mem, .to_mem, .none } }, | 22941 | .{ .src = .{ .to_mut_sse, .mem, .none } }, |
| 22942 | .{ .src = .{ .mem, .to_mut_sse, .none }, .commute = .{ 0, 1 } }, | ||
| 22943 | .{ .src = .{ .to_mut_sse, .to_sse, .none } }, | ||
| 19180 | }, | 22944 | }, |
| 19181 | .extra_temps = .{ | 22945 | .extra_temps = .{ |
| 19182 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 22946 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| 19183 | .{ .type = .vector_4_i64, .kind = .{ .rc = .sse } }, | 22947 | .unused, |
| 19184 | .{ .type = .vector_4_i64, .kind = .{ .rc = .sse } }, | 22948 | .unused, |
| 19185 | .{ .type = .vector_4_i64, .kind = .{ .rc = .sse } }, | 22949 | .unused, |
| 19186 | .unused, | 22950 | .unused, |
| 19187 | .unused, | 22951 | .unused, |
| 19188 | .unused, | 22952 | .unused, |
| ... | @@ -19191,33 +22955,30 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -19191,33 +22955,30 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 19191 | .unused, | 22955 | .unused, |
| 19192 | .unused, | 22956 | .unused, |
| 19193 | }, | 22957 | }, |
| 19194 | .dst_temps = .{ .mem, .unused }, | 22958 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| 19195 | .clobbers = .{ .eflags = true }, | ||
| 19196 | .each = .{ .once = &.{ | 22959 | .each = .{ .once = &.{ |
| 19197 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, | 22960 | .{ ._, ._ps, .mova, .tmp0x, .src1x, ._, ._ }, |
| 19198 | .{ .@"0:", .v_dqa, .mov, .tmp1y, .memia(.src0y, .tmp0, .add_size), ._, ._ }, | 22961 | .{ ._, ._ps, .max, .tmp0x, .src0x, ._, ._ }, |
| 19199 | .{ ._, .v_dqa, .mov, .tmp2y, .memia(.src1y, .tmp0, .add_size), ._, ._ }, | 22962 | .{ ._, ._ps, .cmp, .dst0x, .src0x, .sp(.ord), ._ }, |
| 19200 | .{ ._, .vp_q, .cmpgt, .tmp3y, .tmp2y, .tmp1y, ._ }, | 22963 | .{ ._, ._ps, .@"and", .tmp0x, .dst0x, ._, ._ }, |
| 19201 | .{ ._, .vp_b, .blendv, .tmp1y, .tmp1y, .tmp2y, .tmp3y }, | 22964 | .{ ._, ._ps, .andn, .dst0x, .src1x, ._, ._ }, |
| 19202 | .{ ._, .v_dqa, .mov, .memia(.dst0y, .tmp0, .add_size), .tmp1y, ._, ._ }, | 22965 | .{ ._, ._ps, .@"or", .dst0x, .tmp0x, ._, ._ }, |
| 19203 | .{ ._, ._, .add, .tmp0p, .si(32), ._, ._ }, | ||
| 19204 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | ||
| 19205 | } }, | 22966 | } }, |
| 19206 | }, .{ | 22967 | }, .{ |
| 19207 | .required_features = .{ .avx, null, null, null }, | 22968 | .required_features = .{ .avx, null, null, null }, |
| 19208 | .src_constraints = .{ | 22969 | .src_constraints = .{ |
| 19209 | .{ .multiple_scalar_signed_or_exclusive_int = .{ .of = .xword, .is = .qword } }, | 22970 | .{ .scalar_float = .{ .of = .yword, .is = .dword } }, |
| 19210 | .{ .multiple_scalar_signed_or_exclusive_int = .{ .of = .xword, .is = .qword } }, | 22971 | .{ .scalar_float = .{ .of = .yword, .is = .dword } }, |
| 19211 | .any, | 22972 | .any, |
| 19212 | }, | 22973 | }, |
| 19213 | .patterns = &.{ | 22974 | .patterns = &.{ |
| 19214 | .{ .src = .{ .to_mem, .to_mem, .none } }, | 22975 | .{ .src = .{ .to_sse, .to_sse, .none } }, |
| 19215 | }, | 22976 | }, |
| 19216 | .extra_temps = .{ | 22977 | .extra_temps = .{ |
| 19217 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 22978 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, |
| 19218 | .{ .type = .vector_2_i64, .kind = .{ .rc = .sse } }, | 22979 | .unused, |
| 19219 | .{ .type = .vector_2_i64, .kind = .{ .rc = .sse } }, | 22980 | .unused, |
| 19220 | .{ .type = .vector_2_i64, .kind = .{ .rc = .sse } }, | 22981 | .unused, |
| 19221 | .unused, | 22982 | .unused, |
| 19222 | .unused, | 22983 | .unused, |
| 19223 | .unused, | 22984 | .unused, |
| ... | @@ -19226,23 +22987,17 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -19226,23 +22987,17 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 19226 | .unused, | 22987 | .unused, |
| 19227 | .unused, | 22988 | .unused, |
| 19228 | }, | 22989 | }, |
| 19229 | .dst_temps = .{ .mem, .unused }, | 22990 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| 19230 | .clobbers = .{ .eflags = true }, | ||
| 19231 | .each = .{ .once = &.{ | 22991 | .each = .{ .once = &.{ |
| 19232 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, | 22992 | .{ ._, .v_ps, .cmp, .tmp0y, .src0y, .src0y, .vp(.unord) }, |
| 19233 | .{ .@"0:", .v_dqa, .mov, .tmp1x, .memia(.src0x, .tmp0, .add_size), ._, ._ }, | 22993 | .{ ._, .v_ps, .max, .dst0y, .src1y, .src0y, ._ }, |
| 19234 | .{ ._, .v_dqa, .mov, .tmp2x, .memia(.src1x, .tmp0, .add_size), ._, ._ }, | 22994 | .{ ._, .v_ps, .blendv, .dst0y, .dst0y, .src1y, .tmp0y }, |
| 19235 | .{ ._, .vp_q, .cmpgt, .tmp3x, .tmp2x, .tmp1x, ._ }, | ||
| 19236 | .{ ._, .vp_b, .blendv, .tmp1x, .tmp1x, .tmp2x, .tmp3x }, | ||
| 19237 | .{ ._, .v_dqa, .mov, .memia(.dst0x, .tmp0, .add_size), .tmp1x, ._, ._ }, | ||
| 19238 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, | ||
| 19239 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | ||
| 19240 | } }, | 22995 | } }, |
| 19241 | }, .{ | 22996 | }, .{ |
| 19242 | .required_features = .{ .sse4_2, null, null, null }, | 22997 | .required_features = .{ .avx, null, null, null }, |
| 19243 | .src_constraints = .{ | 22998 | .src_constraints = .{ |
| 19244 | .{ .multiple_scalar_signed_or_exclusive_int = .{ .of = .xword, .is = .qword } }, | 22999 | .{ .multiple_scalar_float = .{ .of = .yword, .is = .dword } }, |
| 19245 | .{ .multiple_scalar_signed_or_exclusive_int = .{ .of = .xword, .is = .qword } }, | 23000 | .{ .multiple_scalar_float = .{ .of = .yword, .is = .dword } }, |
| 19246 | .any, | 23001 | .any, |
| 19247 | }, | 23002 | }, |
| 19248 | .patterns = &.{ | 23003 | .patterns = &.{ |
| ... | @@ -19250,9 +23005,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -19250,9 +23005,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 19250 | }, | 23005 | }, |
| 19251 | .extra_temps = .{ | 23006 | .extra_temps = .{ |
| 19252 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 23007 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 19253 | .{ .type = .vector_2_i64, .kind = .{ .rc = .sse } }, | 23008 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, |
| 19254 | .{ .type = .vector_2_i64, .kind = .{ .rc = .sse } }, | 23009 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, |
| 19255 | .{ .type = .vector_2_i64, .kind = .{ .reg = .xmm0 } }, | 23010 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, |
| 19256 | .unused, | 23011 | .unused, |
| 19257 | .unused, | 23012 | .unused, |
| 19258 | .unused, | 23013 | .unused, |
| ... | @@ -19265,20 +23020,20 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -19265,20 +23020,20 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 19265 | .clobbers = .{ .eflags = true }, | 23020 | .clobbers = .{ .eflags = true }, |
| 19266 | .each = .{ .once = &.{ | 23021 | .each = .{ .once = &.{ |
| 19267 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, | 23022 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, |
| 19268 | .{ .@"0:", ._dqa, .mov, .tmp1x, .memia(.src0x, .tmp0, .add_size), ._, ._ }, | 23023 | .{ .@"0:", .v_ps, .mova, .tmp1y, .memia(.src0y, .tmp0, .add_size), ._, ._ }, |
| 19269 | .{ ._, ._dqa, .mov, .tmp2x, .memia(.src1x, .tmp0, .add_size), ._, ._ }, | 23024 | .{ ._, .v_ps, .mova, .tmp2y, .memia(.src1y, .tmp0, .add_size), ._, ._ }, |
| 19270 | .{ ._, ._dqa, .mov, .tmp3x, .tmp2x, ._, ._ }, | 23025 | .{ ._, .v_ps, .cmp, .tmp3y, .tmp1y, .tmp1y, .vp(.unord) }, |
| 19271 | .{ ._, .p_q, .cmpgt, .tmp3x, .tmp1x, ._, ._ }, | 23026 | .{ ._, .v_ps, .max, .tmp1y, .tmp2y, .tmp1y, ._ }, |
| 19272 | .{ ._, .p_b, .blendv, .tmp1x, .tmp2x, .tmp3x, ._ }, | 23027 | .{ ._, .v_ps, .blendv, .tmp1y, .tmp1y, .tmp2y, .tmp3y }, |
| 19273 | .{ ._, ._dqa, .mov, .memia(.dst0x, .tmp0, .add_size), .tmp1x, ._, ._ }, | 23028 | .{ ._, .v_ps, .mova, .memia(.dst0y, .tmp0, .add_size), .tmp1y, ._, ._ }, |
| 19274 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, | 23029 | .{ ._, ._, .add, .tmp0p, .si(32), ._, ._ }, |
| 19275 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 23030 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 19276 | } }, | 23031 | } }, |
| 19277 | }, .{ | 23032 | }, .{ |
| 19278 | .required_features = .{ .@"64bit", .cmov, null, null }, | 23033 | .required_features = .{ .sse4_1, null, null, null }, |
| 19279 | .src_constraints = .{ | 23034 | .src_constraints = .{ |
| 19280 | .{ .multiple_scalar_signed_int = .{ .of = .qword, .is = .qword } }, | 23035 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .dword } }, |
| 19281 | .{ .multiple_scalar_signed_int = .{ .of = .qword, .is = .qword } }, | 23036 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .dword } }, |
| 19282 | .any, | 23037 | .any, |
| 19283 | }, | 23038 | }, |
| 19284 | .patterns = &.{ | 23039 | .patterns = &.{ |
| ... | @@ -19286,9 +23041,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -19286,9 +23041,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 19286 | }, | 23041 | }, |
| 19287 | .extra_temps = .{ | 23042 | .extra_temps = .{ |
| 19288 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 23043 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 19289 | .{ .type = .i64, .kind = .{ .rc = .general_purpose } }, | 23044 | .{ .type = .vector_4_f32, .kind = .{ .reg = .xmm0 } }, |
| 19290 | .unused, | 23045 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| 19291 | .unused, | 23046 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| 19292 | .unused, | 23047 | .unused, |
| 19293 | .unused, | 23048 | .unused, |
| 19294 | .unused, | 23049 | .unused, |
| ... | @@ -19301,18 +23056,21 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -19301,18 +23056,21 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 19301 | .clobbers = .{ .eflags = true }, | 23056 | .clobbers = .{ .eflags = true }, |
| 19302 | .each = .{ .once = &.{ | 23057 | .each = .{ .once = &.{ |
| 19303 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, | 23058 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, |
| 19304 | .{ .@"0:", ._, .mov, .tmp1q, .memia(.src0q, .tmp0, .add_size), ._, ._ }, | 23059 | .{ .@"0:", ._ps, .mova, .tmp1x, .memia(.src0x, .tmp0, .add_size), ._, ._ }, |
| 19305 | .{ ._, ._, .cmp, .tmp1q, .memia(.src1q, .tmp0, .add_size), ._, ._ }, | 23060 | .{ ._, ._ps, .mova, .tmp2x, .memia(.src1x, .tmp0, .add_size), ._, ._ }, |
| 19306 | .{ ._, ._l, .cmov, .tmp1q, .memia(.src1q, .tmp0, .add_size), ._, ._ }, | 23061 | .{ ._, ._ps, .mova, .tmp3x, .tmp2x, ._, ._ }, |
| 19307 | .{ ._, ._, .mov, .memia(.dst0q, .tmp0, .add_size), .tmp1q, ._, ._ }, | 23062 | .{ ._, ._ps, .max, .tmp3x, .tmp1x, ._, ._ }, |
| 19308 | .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ }, | 23063 | .{ ._, ._ps, .cmp, .tmp1x, .tmp1x, .sp(.unord), ._ }, |
| 23064 | .{ ._, ._ps, .blendv, .tmp3x, .tmp2x, .tmp1x, ._ }, | ||
| 23065 | .{ ._, ._ps, .mova, .memia(.dst0x, .tmp0, .add_size), .tmp3x, ._, ._ }, | ||
| 23066 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, | ||
| 19309 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 23067 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 19310 | } }, | 23068 | } }, |
| 19311 | }, .{ | 23069 | }, .{ |
| 19312 | .required_features = .{ .@"64bit", null, null, null }, | 23070 | .required_features = .{ .sse, null, null, null }, |
| 19313 | .src_constraints = .{ | 23071 | .src_constraints = .{ |
| 19314 | .{ .multiple_scalar_signed_int = .{ .of = .qword, .is = .qword } }, | 23072 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .dword } }, |
| 19315 | .{ .multiple_scalar_signed_int = .{ .of = .qword, .is = .qword } }, | 23073 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .dword } }, |
| 19316 | .any, | 23074 | .any, |
| 19317 | }, | 23075 | }, |
| 19318 | .patterns = &.{ | 23076 | .patterns = &.{ |
| ... | @@ -19320,9 +23078,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -19320,9 +23078,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 19320 | }, | 23078 | }, |
| 19321 | .extra_temps = .{ | 23079 | .extra_temps = .{ |
| 19322 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 23080 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 19323 | .{ .type = .i64, .kind = .{ .rc = .general_purpose } }, | 23081 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| 19324 | .unused, | 23082 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| 19325 | .unused, | 23083 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| 19326 | .unused, | 23084 | .unused, |
| 19327 | .unused, | 23085 | .unused, |
| 19328 | .unused, | 23086 | .unused, |
| ... | @@ -19335,30 +23093,32 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -19335,30 +23093,32 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 19335 | .clobbers = .{ .eflags = true }, | 23093 | .clobbers = .{ .eflags = true }, |
| 19336 | .each = .{ .once = &.{ | 23094 | .each = .{ .once = &.{ |
| 19337 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, | 23095 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, |
| 19338 | .{ .@"0:", ._, .mov, .tmp1q, .memia(.src0q, .tmp0, .add_size), ._, ._ }, | 23096 | .{ .@"0:", ._ps, .mova, .tmp1x, .memia(.src0x, .tmp0, .add_size), ._, ._ }, |
| 19339 | .{ ._, ._, .cmp, .tmp1q, .memia(.src1q, .tmp0, .add_size), ._, ._ }, | 23097 | .{ ._, ._ps, .mova, .tmp2x, .memia(.src1x, .tmp0, .add_size), ._, ._ }, |
| 19340 | .{ ._, ._nl, .j, .@"1f", ._, ._, ._ }, | 23098 | .{ ._, ._ps, .mova, .tmp3x, .tmp2x, ._, ._ }, |
| 19341 | .{ ._, ._, .mov, .tmp1q, .memia(.src1q, .tmp0, .add_size), ._, ._ }, | 23099 | .{ ._, ._ps, .max, .tmp3x, .tmp1x, ._, ._ }, |
| 19342 | .{ .@"1:", ._, .mov, .memia(.dst0q, .tmp0, .add_size), .tmp1q, ._, ._ }, | 23100 | .{ ._, ._ps, .cmp, .tmp1x, .tmp1x, .sp(.ord), ._ }, |
| 19343 | .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ }, | 23101 | .{ ._, ._ps, .@"and", .tmp3x, .tmp1x, ._, ._ }, |
| 23102 | .{ ._, ._ps, .andn, .tmp1x, .tmp2x, ._, ._ }, | ||
| 23103 | .{ ._, ._ps, .@"or", .tmp1x, .tmp3x, ._, ._ }, | ||
| 23104 | .{ ._, ._ps, .mova, .memia(.dst0x, .tmp0, .add_size), .tmp1x, ._, ._ }, | ||
| 23105 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, | ||
| 19344 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 23106 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 19345 | } }, | 23107 | } }, |
| 19346 | }, .{ | 23108 | }, .{ |
| 19347 | .required_features = .{ .avx, null, null, null }, | 23109 | .required_features = .{ .avx, null, null, null }, |
| 19348 | .src_constraints = .{ | 23110 | .src_constraints = .{ |
| 19349 | .{ .scalar_exact_unsigned_int = .{ .of = .xword, .is = 64 } }, | 23111 | .{ .scalar_float = .{ .of = .qword, .is = .qword } }, |
| 19350 | .{ .scalar_exact_unsigned_int = .{ .of = .xword, .is = 64 } }, | 23112 | .{ .scalar_float = .{ .of = .qword, .is = .qword } }, |
| 19351 | .any, | 23113 | .any, |
| 19352 | }, | 23114 | }, |
| 19353 | .patterns = &.{ | 23115 | .patterns = &.{ |
| 19354 | .{ .src = .{ .to_sse, .mem, .none } }, | ||
| 19355 | .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } }, | ||
| 19356 | .{ .src = .{ .to_sse, .to_sse, .none } }, | 23116 | .{ .src = .{ .to_sse, .to_sse, .none } }, |
| 19357 | }, | 23117 | }, |
| 19358 | .extra_temps = .{ | 23118 | .extra_temps = .{ |
| 19359 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, | 23119 | .{ .type = .f64, .kind = .{ .rc = .sse } }, |
| 19360 | .{ .type = .u64, .kind = .{ .smin_mem = .{ .ref = .src0, .vectorize_to = .none } } }, | 23120 | .unused, |
| 19361 | .{ .type = .vector_2_u64, .kind = .{ .rc = .sse } }, | 23121 | .unused, |
| 19362 | .unused, | 23122 | .unused, |
| 19363 | .unused, | 23123 | .unused, |
| 19364 | .unused, | 23124 | .unused, |
| ... | @@ -19368,32 +23128,44 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -19368,32 +23128,44 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 19368 | .unused, | 23128 | .unused, |
| 19369 | .unused, | 23129 | .unused, |
| 19370 | }, | 23130 | }, |
| 19371 | .dst_temps = .{ .{ .rc = .sse }, .unused }, | 23131 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| 19372 | .each = .{ .once = &.{ | 23132 | .each = .{ .once = &.{ |
| 19373 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, | 23133 | .{ ._, .v_sd, .cmp, .tmp0x, .src0x, .src0q, .vp(.unord) }, |
| 19374 | .{ ._, .v_, .movddup, .tmp2x, .lea(.tmp0q), ._, ._ }, | 23134 | .{ ._, .v_sd, .max, .dst0x, .src1x, .src0q, ._ }, |
| 19375 | .{ ._, .vp_, .xor, .dst0x, .tmp2x, .src0x, ._ }, | 23135 | .{ ._, .v_pd, .blendv, .dst0x, .dst0x, .src1x, .tmp0x }, |
| 19376 | .{ ._, .vp_, .xor, .tmp2x, .tmp2x, .src1x, ._ }, | 23136 | } }, |
| 19377 | .{ ._, .vp_q, .cmpgt, .dst0x, .tmp2x, .dst0x, ._ }, | 23137 | }, .{ |
| 19378 | .{ ._, .vp_b, .blendv, .dst0x, .src0x, .src1x, .dst0x }, | 23138 | .required_features = .{ .sse4_1, null, null, null }, |
| 23139 | .src_constraints = .{ | ||
| 23140 | .{ .scalar_float = .{ .of = .qword, .is = .qword } }, | ||
| 23141 | .{ .scalar_float = .{ .of = .qword, .is = .qword } }, | ||
| 23142 | .any, | ||
| 23143 | }, | ||
| 23144 | .patterns = &.{ | ||
| 23145 | .{ .src = .{ .{ .to_reg = .xmm0 }, .to_sse, .none } }, | ||
| 23146 | }, | ||
| 23147 | .dst_temps = .{ .{ .rc = .sse }, .unused }, | ||
| 23148 | .each = .{ .once = &.{ | ||
| 23149 | .{ ._, ._pd, .mova, .dst0x, .src1x, ._, ._ }, | ||
| 23150 | .{ ._, ._sd, .max, .dst0x, .src0q, ._, ._ }, | ||
| 23151 | .{ ._, ._sd, .cmp, .src0x, .src0q, .sp(.unord), ._ }, | ||
| 23152 | .{ ._, ._pd, .blendv, .dst0x, .src1x, .src0x, ._ }, | ||
| 19379 | } }, | 23153 | } }, |
| 19380 | }, .{ | 23154 | }, .{ |
| 19381 | .required_features = .{ .sse4_2, null, null, null }, | 23155 | .required_features = .{ .sse2, null, null, null }, |
| 19382 | .src_constraints = .{ | 23156 | .src_constraints = .{ |
| 19383 | .{ .scalar_exact_unsigned_int = .{ .of = .xword, .is = 64 } }, | 23157 | .{ .scalar_float = .{ .of = .qword, .is = .qword } }, |
| 19384 | .{ .scalar_exact_unsigned_int = .{ .of = .xword, .is = 64 } }, | 23158 | .{ .scalar_float = .{ .of = .qword, .is = .qword } }, |
| 19385 | .any, | 23159 | .any, |
| 19386 | }, | 23160 | }, |
| 19387 | .patterns = &.{ | 23161 | .patterns = &.{ |
| 19388 | .{ .src = .{ .to_mut_sse, .mem, .none } }, | ||
| 19389 | .{ .src = .{ .mem, .to_mut_sse, .none }, .commute = .{ 0, 1 } }, | ||
| 19390 | .{ .src = .{ .to_mut_sse, .to_sse, .none } }, | 23162 | .{ .src = .{ .to_mut_sse, .to_sse, .none } }, |
| 19391 | }, | 23163 | }, |
| 19392 | .extra_temps = .{ | 23164 | .extra_temps = .{ |
| 19393 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, | 23165 | .{ .type = .vector_2_f64, .kind = .{ .rc = .sse } }, |
| 19394 | .{ .type = .u64, .kind = .{ .smin_mem = .{ .ref = .src0, .vectorize_to = .none } } }, | 23166 | .unused, |
| 19395 | .{ .type = .vector_2_u64, .kind = .{ .rc = .sse } }, | 23167 | .unused, |
| 19396 | .{ .type = .vector_2_u64, .kind = .{ .reg = .xmm0 } }, | 23168 | .unused, |
| 19397 | .unused, | 23169 | .unused, |
| 19398 | .unused, | 23170 | .unused, |
| 19399 | .unused, | 23171 | .unused, |
| ... | @@ -19404,30 +23176,28 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -19404,30 +23176,28 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 19404 | }, | 23176 | }, |
| 19405 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, | 23177 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| 19406 | .each = .{ .once = &.{ | 23178 | .each = .{ .once = &.{ |
| 19407 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, | 23179 | .{ ._, ._pd, .mova, .tmp0x, .src1x, ._, ._ }, |
| 19408 | .{ ._, ._, .movddup, .tmp2x, .lea(.tmp0q), ._, ._ }, | 23180 | .{ ._, ._sd, .max, .tmp0x, .src0q, ._, ._ }, |
| 19409 | .{ ._, ._dqa, .mov, .tmp3x, .tmp2x, ._, ._ }, | 23181 | .{ ._, ._sd, .cmp, .dst0x, .src0q, .sp(.ord), ._ }, |
| 19410 | .{ ._, .p_, .xor, .tmp2x, .src0x, ._, ._ }, | 23182 | .{ ._, ._pd, .@"and", .tmp0x, .dst0x, ._, ._ }, |
| 19411 | .{ ._, .p_, .xor, .tmp3x, .src1x, ._, ._ }, | 23183 | .{ ._, ._pd, .andn, .dst0x, .src1x, ._, ._ }, |
| 19412 | .{ ._, .p_q, .cmpgt, .tmp3x, .tmp2x, ._, ._ }, | 23184 | .{ ._, ._pd, .@"or", .dst0x, .tmp0x, ._, ._ }, |
| 19413 | .{ ._, .p_b, .blendv, .dst0x, .src1x, .tmp3x, ._ }, | ||
| 19414 | } }, | 23185 | } }, |
| 19415 | }, .{ | 23186 | }, .{ |
| 19416 | .required_features = .{ .avx2, null, null, null }, | 23187 | .required_features = .{ .sse, null, null, null }, |
| 19417 | .src_constraints = .{ | 23188 | .src_constraints = .{ |
| 19418 | .{ .scalar_exact_unsigned_int = .{ .of = .yword, .is = 64 } }, | 23189 | .{ .scalar_float = .{ .of = .qword, .is = .qword } }, |
| 19419 | .{ .scalar_exact_unsigned_int = .{ .of = .yword, .is = 64 } }, | 23190 | .{ .scalar_float = .{ .of = .qword, .is = .qword } }, |
| 19420 | .any, | 23191 | .any, |
| 19421 | }, | 23192 | }, |
| 19422 | .patterns = &.{ | 23193 | .patterns = &.{ |
| 19423 | .{ .src = .{ .to_sse, .mem, .none } }, | 23194 | .{ .src = .{ .{ .to_reg = .xmm0 }, .{ .to_reg = .xmm1 }, .none } }, |
| 19424 | .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } }, | ||
| 19425 | .{ .src = .{ .to_sse, .to_sse, .none } }, | ||
| 19426 | }, | 23195 | }, |
| 23196 | .call_frame = .{ .alignment = .@"16" }, | ||
| 19427 | .extra_temps = .{ | 23197 | .extra_temps = .{ |
| 19428 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, | 23198 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "fmax" } } }, |
| 19429 | .{ .type = .u64, .kind = .{ .smin_mem = .{ .ref = .src0, .vectorize_to = .none } } }, | 23199 | .unused, |
| 19430 | .{ .type = .vector_4_u64, .kind = .{ .rc = .sse } }, | 23200 | .unused, |
| 19431 | .unused, | 23201 | .unused, |
| 19432 | .unused, | 23202 | .unused, |
| 19433 | .unused, | 23203 | .unused, |
| ... | @@ -19437,147 +23207,74 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -19437,147 +23207,74 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 19437 | .unused, | 23207 | .unused, |
| 19438 | .unused, | 23208 | .unused, |
| 19439 | }, | 23209 | }, |
| 19440 | .dst_temps = .{ .{ .rc = .sse }, .unused }, | 23210 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| 23211 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | ||
| 19441 | .each = .{ .once = &.{ | 23212 | .each = .{ .once = &.{ |
| 19442 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, | 23213 | .{ ._, ._, .call, .tmp0d, ._, ._, ._ }, |
| 19443 | .{ ._, .vp_q, .broadcast, .tmp2y, .lea(.tmp0q), ._, ._ }, | ||
| 19444 | .{ ._, .vp_, .xor, .dst0y, .tmp2y, .src0y, ._ }, | ||
| 19445 | .{ ._, .vp_, .xor, .tmp2y, .tmp2y, .src1y, ._ }, | ||
| 19446 | .{ ._, .vp_q, .cmpgt, .dst0y, .tmp2y, .dst0y, ._ }, | ||
| 19447 | .{ ._, .vp_b, .blendv, .dst0y, .src0y, .src1y, .dst0y }, | ||
| 19448 | } }, | 23214 | } }, |
| 19449 | }, .{ | 23215 | }, .{ |
| 19450 | .required_features = .{ .avx2, null, null, null }, | 23216 | .required_features = .{ .avx, null, null, null }, |
| 19451 | .src_constraints = .{ | 23217 | .src_constraints = .{ |
| 19452 | .{ .multiple_scalar_exact_unsigned_int = .{ .of = .yword, .is = 64 } }, | 23218 | .{ .scalar_float = .{ .of = .xword, .is = .qword } }, |
| 19453 | .{ .multiple_scalar_exact_unsigned_int = .{ .of = .yword, .is = 64 } }, | 23219 | .{ .scalar_float = .{ .of = .xword, .is = .qword } }, |
| 19454 | .any, | 23220 | .any, |
| 19455 | }, | 23221 | }, |
| 19456 | .patterns = &.{ | 23222 | .patterns = &.{ |
| 19457 | .{ .src = .{ .to_mem, .to_mem, .none } }, | 23223 | .{ .src = .{ .to_sse, .to_sse, .none } }, |
| 19458 | }, | 23224 | }, |
| 19459 | .extra_temps = .{ | 23225 | .extra_temps = .{ |
| 19460 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 23226 | .{ .type = .vector_2_f64, .kind = .{ .rc = .sse } }, |
| 19461 | .{ .type = .u64, .kind = .{ .smin_mem = .{ .ref = .src0, .vectorize_to = .none } } }, | 23227 | .unused, |
| 19462 | .{ .type = .vector_4_u64, .kind = .{ .rc = .sse } }, | 23228 | .unused, |
| 19463 | .{ .type = .vector_4_u64, .kind = .{ .rc = .sse } }, | ||
| 19464 | .{ .type = .vector_4_u64, .kind = .{ .rc = .sse } }, | ||
| 19465 | .{ .type = .vector_4_u64, .kind = .{ .rc = .sse } }, | ||
| 19466 | .{ .type = .vector_4_u64, .kind = .{ .rc = .sse } }, | ||
| 19467 | .unused, | 23229 | .unused, |
| 19468 | .unused, | 23230 | .unused, |
| 19469 | .unused, | 23231 | .unused, |
| 19470 | .unused, | 23232 | .unused, |
| 19471 | }, | ||
| 19472 | .dst_temps = .{ .mem, .unused }, | ||
| 19473 | .clobbers = .{ .eflags = true }, | ||
| 19474 | .each = .{ .once = &.{ | ||
| 19475 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, | ||
| 19476 | .{ ._, .vp_q, .broadcast, .tmp2y, .lea(.tmp0q), ._, ._ }, | ||
| 19477 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, | ||
| 19478 | .{ .@"0:", .v_dqa, .mov, .tmp3y, .memia(.src0y, .tmp0, .add_size), ._, ._ }, | ||
| 19479 | .{ ._, .v_dqa, .mov, .tmp4y, .memia(.src1y, .tmp0, .add_size), ._, ._ }, | ||
| 19480 | .{ ._, .vp_, .xor, .tmp5y, .tmp3y, .tmp2y, ._ }, | ||
| 19481 | .{ ._, .vp_, .xor, .tmp6y, .tmp4y, .tmp2y, ._ }, | ||
| 19482 | .{ ._, .vp_q, .cmpgt, .tmp5y, .tmp6y, .tmp5y, ._ }, | ||
| 19483 | .{ ._, .vp_b, .blendv, .tmp3y, .tmp3y, .tmp4y, .tmp5y }, | ||
| 19484 | .{ ._, .v_dqa, .mov, .memia(.dst0y, .tmp0, .add_size), .tmp3y, ._, ._ }, | ||
| 19485 | .{ ._, ._, .add, .tmp0p, .si(32), ._, ._ }, | ||
| 19486 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | ||
| 19487 | } }, | ||
| 19488 | }, .{ | ||
| 19489 | .required_features = .{ .avx, null, null, null }, | ||
| 19490 | .src_constraints = .{ | ||
| 19491 | .{ .multiple_scalar_exact_unsigned_int = .{ .of = .xword, .is = 64 } }, | ||
| 19492 | .{ .multiple_scalar_exact_unsigned_int = .{ .of = .xword, .is = 64 } }, | ||
| 19493 | .any, | ||
| 19494 | }, | ||
| 19495 | .patterns = &.{ | ||
| 19496 | .{ .src = .{ .to_mem, .to_mem, .none } }, | ||
| 19497 | }, | ||
| 19498 | .extra_temps = .{ | ||
| 19499 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | ||
| 19500 | .{ .type = .u64, .kind = .{ .smin_mem = .{ .ref = .src0, .vectorize_to = .none } } }, | ||
| 19501 | .{ .type = .vector_2_u64, .kind = .{ .rc = .sse } }, | ||
| 19502 | .{ .type = .vector_2_u64, .kind = .{ .rc = .sse } }, | ||
| 19503 | .{ .type = .vector_2_u64, .kind = .{ .rc = .sse } }, | ||
| 19504 | .{ .type = .vector_2_u64, .kind = .{ .rc = .sse } }, | ||
| 19505 | .{ .type = .vector_2_u64, .kind = .{ .rc = .sse } }, | ||
| 19506 | .unused, | 23233 | .unused, |
| 19507 | .unused, | 23234 | .unused, |
| 19508 | .unused, | 23235 | .unused, |
| 19509 | .unused, | 23236 | .unused, |
| 19510 | }, | 23237 | }, |
| 19511 | .dst_temps = .{ .mem, .unused }, | 23238 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| 19512 | .clobbers = .{ .eflags = true }, | ||
| 19513 | .each = .{ .once = &.{ | 23239 | .each = .{ .once = &.{ |
| 19514 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, | 23240 | .{ ._, .v_pd, .cmp, .tmp0x, .src0x, .src0x, .vp(.unord) }, |
| 19515 | .{ ._, .v_, .movddup, .tmp2x, .lea(.tmp0q), ._, ._ }, | 23241 | .{ ._, .v_pd, .max, .dst0x, .src1x, .src0x, ._ }, |
| 19516 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, | 23242 | .{ ._, .v_pd, .blendv, .dst0x, .dst0x, .src1x, .tmp0x }, |
| 19517 | .{ .@"0:", .v_dqa, .mov, .tmp3x, .memia(.src0x, .tmp0, .add_size), ._, ._ }, | ||
| 19518 | .{ ._, .v_dqa, .mov, .tmp4x, .memia(.src1x, .tmp0, .add_size), ._, ._ }, | ||
| 19519 | .{ ._, .vp_, .xor, .tmp5x, .tmp3x, .tmp2x, ._ }, | ||
| 19520 | .{ ._, .vp_, .xor, .tmp6x, .tmp4x, .tmp2x, ._ }, | ||
| 19521 | .{ ._, .vp_q, .cmpgt, .tmp5x, .tmp6x, .tmp5x, ._ }, | ||
| 19522 | .{ ._, .vp_b, .blendv, .tmp3x, .tmp3x, .tmp4x, .tmp5x }, | ||
| 19523 | .{ ._, .v_dqa, .mov, .memia(.dst0x, .tmp0, .add_size), .tmp3x, ._, ._ }, | ||
| 19524 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, | ||
| 19525 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | ||
| 19526 | } }, | 23243 | } }, |
| 19527 | }, .{ | 23244 | }, .{ |
| 19528 | .required_features = .{ .sse4_2, null, null, null }, | 23245 | .required_features = .{ .sse4_1, null, null, null }, |
| 19529 | .src_constraints = .{ | 23246 | .src_constraints = .{ |
| 19530 | .{ .multiple_scalar_exact_unsigned_int = .{ .of = .xword, .is = 64 } }, | 23247 | .{ .scalar_float = .{ .of = .xword, .is = .qword } }, |
| 19531 | .{ .multiple_scalar_exact_unsigned_int = .{ .of = .xword, .is = 64 } }, | 23248 | .{ .scalar_float = .{ .of = .xword, .is = .qword } }, |
| 19532 | .any, | 23249 | .any, |
| 19533 | }, | 23250 | }, |
| 19534 | .patterns = &.{ | 23251 | .patterns = &.{ |
| 19535 | .{ .src = .{ .to_mem, .to_mem, .none } }, | 23252 | .{ .src = .{ .{ .to_reg = .xmm0 }, .mem, .none } }, |
| 19536 | }, | 23253 | .{ .src = .{ .mem, .{ .to_reg = .xmm0 }, .none }, .commute = .{ 0, 1 } }, |
| 19537 | .extra_temps = .{ | 23254 | .{ .src = .{ .{ .to_reg = .xmm0 }, .to_sse, .none } }, |
| 19538 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | ||
| 19539 | .{ .type = .u64, .kind = .{ .smin_mem = .{ .ref = .src0, .vectorize_to = .none } } }, | ||
| 19540 | .{ .type = .vector_2_u64, .kind = .{ .rc = .sse } }, | ||
| 19541 | .{ .type = .vector_2_u64, .kind = .{ .rc = .sse } }, | ||
| 19542 | .{ .type = .vector_2_u64, .kind = .{ .rc = .sse } }, | ||
| 19543 | .{ .type = .vector_2_u64, .kind = .{ .rc = .sse } }, | ||
| 19544 | .{ .type = .vector_2_u64, .kind = .{ .reg = .xmm0 } }, | ||
| 19545 | .unused, | ||
| 19546 | .unused, | ||
| 19547 | .unused, | ||
| 19548 | .unused, | ||
| 19549 | }, | 23255 | }, |
| 19550 | .dst_temps = .{ .mem, .unused }, | 23256 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| 19551 | .clobbers = .{ .eflags = true }, | ||
| 19552 | .each = .{ .once = &.{ | 23257 | .each = .{ .once = &.{ |
| 19553 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, | 23258 | .{ ._, ._pd, .mova, .dst0x, .src1x, ._, ._ }, |
| 19554 | .{ ._, ._, .movddup, .tmp2x, .lea(.tmp0q), ._, ._ }, | 23259 | .{ ._, ._pd, .max, .dst0x, .src0x, ._, ._ }, |
| 19555 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, | 23260 | .{ ._, ._pd, .cmp, .src0x, .src0x, .sp(.unord), ._ }, |
| 19556 | .{ .@"0:", ._dqa, .mov, .tmp5x, .tmp2x, ._, ._ }, | 23261 | .{ ._, ._pd, .blendv, .dst0x, .src1x, .src0x, ._ }, |
| 19557 | .{ ._, ._dqa, .mov, .tmp6x, .tmp2x, ._, ._ }, | ||
| 19558 | .{ ._, ._dqa, .mov, .tmp3x, .memia(.src0x, .tmp0, .add_size), ._, ._ }, | ||
| 19559 | .{ ._, ._dqa, .mov, .tmp4x, .memia(.src1x, .tmp0, .add_size), ._, ._ }, | ||
| 19560 | .{ ._, .p_, .xor, .tmp5x, .tmp3x, ._, ._ }, | ||
| 19561 | .{ ._, .p_, .xor, .tmp6x, .tmp4x, ._, ._ }, | ||
| 19562 | .{ ._, .p_q, .cmpgt, .tmp6x, .tmp5x, ._, ._ }, | ||
| 19563 | .{ ._, .p_b, .blendv, .tmp3x, .tmp4x, .tmp6x, ._ }, | ||
| 19564 | .{ ._, ._dqa, .mov, .memia(.dst0x, .tmp0, .add_size), .tmp3x, ._, ._ }, | ||
| 19565 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, | ||
| 19566 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | ||
| 19567 | } }, | 23262 | } }, |
| 19568 | }, .{ | 23263 | }, .{ |
| 19569 | .required_features = .{ .@"64bit", .cmov, null, null }, | 23264 | .required_features = .{ .sse2, null, null, null }, |
| 19570 | .src_constraints = .{ | 23265 | .src_constraints = .{ |
| 19571 | .{ .multiple_scalar_unsigned_int = .{ .of = .qword, .is = .qword } }, | 23266 | .{ .scalar_float = .{ .of = .xword, .is = .qword } }, |
| 19572 | .{ .multiple_scalar_unsigned_int = .{ .of = .qword, .is = .qword } }, | 23267 | .{ .scalar_float = .{ .of = .xword, .is = .qword } }, |
| 19573 | .any, | 23268 | .any, |
| 19574 | }, | 23269 | }, |
| 19575 | .patterns = &.{ | 23270 | .patterns = &.{ |
| 19576 | .{ .src = .{ .to_mem, .to_mem, .none } }, | 23271 | .{ .src = .{ .to_mut_sse, .mem, .none } }, |
| 23272 | .{ .src = .{ .mem, .to_mut_sse, .none }, .commute = .{ 0, 1 } }, | ||
| 23273 | .{ .src = .{ .to_mut_sse, .to_sse, .none } }, | ||
| 19577 | }, | 23274 | }, |
| 19578 | .extra_temps = .{ | 23275 | .extra_temps = .{ |
| 19579 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 23276 | .{ .type = .vector_2_f64, .kind = .{ .rc = .sse } }, |
| 19580 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, | 23277 | .unused, |
| 19581 | .unused, | 23278 | .unused, |
| 19582 | .unused, | 23279 | .unused, |
| 19583 | .unused, | 23280 | .unused, |
| ... | @@ -19588,30 +23285,28 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -19588,30 +23285,28 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 19588 | .unused, | 23285 | .unused, |
| 19589 | .unused, | 23286 | .unused, |
| 19590 | }, | 23287 | }, |
| 19591 | .dst_temps = .{ .mem, .unused }, | 23288 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| 19592 | .clobbers = .{ .eflags = true }, | ||
| 19593 | .each = .{ .once = &.{ | 23289 | .each = .{ .once = &.{ |
| 19594 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, | 23290 | .{ ._, ._pd, .mova, .tmp0x, .src1x, ._, ._ }, |
| 19595 | .{ .@"0:", ._, .mov, .tmp1q, .memia(.src0q, .tmp0, .add_size), ._, ._ }, | 23291 | .{ ._, ._pd, .max, .tmp0x, .src0x, ._, ._ }, |
| 19596 | .{ ._, ._, .cmp, .tmp1q, .memia(.src1q, .tmp0, .add_size), ._, ._ }, | 23292 | .{ ._, ._pd, .cmp, .dst0x, .src0x, .sp(.ord), ._ }, |
| 19597 | .{ ._, ._b, .cmov, .tmp1q, .memia(.src1q, .tmp0, .add_size), ._, ._ }, | 23293 | .{ ._, ._pd, .@"and", .tmp0x, .dst0x, ._, ._ }, |
| 19598 | .{ ._, ._, .mov, .memia(.dst0q, .tmp0, .add_size), .tmp1q, ._, ._ }, | 23294 | .{ ._, ._pd, .andn, .dst0x, .src1x, ._, ._ }, |
| 19599 | .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ }, | 23295 | .{ ._, ._pd, .@"or", .dst0x, .tmp0x, ._, ._ }, |
| 19600 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | ||
| 19601 | } }, | 23296 | } }, |
| 19602 | }, .{ | 23297 | }, .{ |
| 19603 | .required_features = .{ .@"64bit", null, null, null }, | 23298 | .required_features = .{ .avx, null, null, null }, |
| 19604 | .src_constraints = .{ | 23299 | .src_constraints = .{ |
| 19605 | .{ .multiple_scalar_unsigned_int = .{ .of = .qword, .is = .qword } }, | 23300 | .{ .scalar_float = .{ .of = .yword, .is = .qword } }, |
| 19606 | .{ .multiple_scalar_unsigned_int = .{ .of = .qword, .is = .qword } }, | 23301 | .{ .scalar_float = .{ .of = .yword, .is = .qword } }, |
| 19607 | .any, | 23302 | .any, |
| 19608 | }, | 23303 | }, |
| 19609 | .patterns = &.{ | 23304 | .patterns = &.{ |
| 19610 | .{ .src = .{ .to_mem, .to_mem, .none } }, | 23305 | .{ .src = .{ .to_sse, .to_sse, .none } }, |
| 19611 | }, | 23306 | }, |
| 19612 | .extra_temps = .{ | 23307 | .extra_temps = .{ |
| 19613 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 23308 | .{ .type = .vector_4_f64, .kind = .{ .rc = .sse } }, |
| 19614 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, | 23309 | .unused, |
| 19615 | .unused, | 23310 | .unused, |
| 19616 | .unused, | 23311 | .unused, |
| 19617 | .unused, | 23312 | .unused, |
| ... | @@ -19622,29 +23317,27 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -19622,29 +23317,27 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 19622 | .unused, | 23317 | .unused, |
| 19623 | .unused, | 23318 | .unused, |
| 19624 | }, | 23319 | }, |
| 19625 | .dst_temps = .{ .mem, .unused }, | 23320 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| 19626 | .clobbers = .{ .eflags = true }, | ||
| 19627 | .each = .{ .once = &.{ | 23321 | .each = .{ .once = &.{ |
| 19628 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, | 23322 | .{ ._, .v_pd, .cmp, .tmp0y, .src0y, .src0y, .vp(.unord) }, |
| 19629 | .{ .@"0:", ._, .mov, .tmp1q, .memia(.src0q, .tmp0, .add_size), ._, ._ }, | 23323 | .{ ._, .v_pd, .max, .dst0y, .src1y, .src0y, ._ }, |
| 19630 | .{ ._, ._, .cmp, .tmp1q, .memia(.src1q, .tmp0, .add_size), ._, ._ }, | 23324 | .{ ._, .v_pd, .blendv, .dst0y, .dst0y, .src1y, .tmp0y }, |
| 19631 | .{ ._, ._nb, .j, .@"1f", ._, ._, ._ }, | ||
| 19632 | .{ ._, ._, .mov, .tmp1q, .memia(.src1q, .tmp0, .add_size), ._, ._ }, | ||
| 19633 | .{ .@"1:", ._, .mov, .memia(.dst0q, .tmp0, .add_size), .tmp1q, ._, ._ }, | ||
| 19634 | .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ }, | ||
| 19635 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | ||
| 19636 | } }, | 23325 | } }, |
| 19637 | }, .{ | 23326 | }, .{ |
| 19638 | .required_features = .{ .@"64bit", .cmov, null, null }, | 23327 | .required_features = .{ .avx, null, null, null }, |
| 19639 | .src_constraints = .{ .any_scalar_signed_int, .any_scalar_signed_int, .any }, | 23328 | .src_constraints = .{ |
| 23329 | .{ .multiple_scalar_float = .{ .of = .yword, .is = .qword } }, | ||
| 23330 | .{ .multiple_scalar_float = .{ .of = .yword, .is = .qword } }, | ||
| 23331 | .any, | ||
| 23332 | }, | ||
| 19640 | .patterns = &.{ | 23333 | .patterns = &.{ |
| 19641 | .{ .src = .{ .to_mem, .to_mem, .none } }, | 23334 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 19642 | }, | 23335 | }, |
| 19643 | .extra_temps = .{ | 23336 | .extra_temps = .{ |
| 19644 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 23337 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 19645 | .{ .type = .isize, .kind = .{ .reg = .rsi } }, | 23338 | .{ .type = .vector_4_f64, .kind = .{ .rc = .sse } }, |
| 19646 | .{ .type = .u64, .kind = .{ .reg = .rdi } }, | 23339 | .{ .type = .vector_4_f64, .kind = .{ .rc = .sse } }, |
| 19647 | .{ .type = .u64, .kind = .{ .reg = .rcx } }, | 23340 | .{ .type = .vector_4_f64, .kind = .{ .rc = .sse } }, |
| 19648 | .unused, | 23341 | .unused, |
| 19649 | .unused, | 23342 | .unused, |
| 19650 | .unused, | 23343 | .unused, |
| ... | @@ -19656,36 +23349,31 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -19656,36 +23349,31 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 19656 | .dst_temps = .{ .mem, .unused }, | 23349 | .dst_temps = .{ .mem, .unused }, |
| 19657 | .clobbers = .{ .eflags = true }, | 23350 | .clobbers = .{ .eflags = true }, |
| 19658 | .each = .{ .once = &.{ | 23351 | .each = .{ .once = &.{ |
| 19659 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 23352 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, |
| 19660 | .{ .@"0:", ._, .mov, .tmp1d, .sia(-1, .none, .add_src0_elem_size_div_8), ._, ._ }, | 23353 | .{ .@"0:", .v_pd, .mova, .tmp1y, .memia(.src0y, .tmp0, .add_size), ._, ._ }, |
| 19661 | .{ ._, ._c, .cl, ._, ._, ._, ._ }, | 23354 | .{ ._, .v_pd, .mova, .tmp2y, .memia(.src1y, .tmp0, .add_size), ._, ._ }, |
| 19662 | .{ .@"1:", ._, .mov, .tmp2q, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._ }, | 23355 | .{ ._, .v_pd, .cmp, .tmp3y, .tmp1y, .tmp1y, .vp(.unord) }, |
| 19663 | .{ ._, ._, .sbb, .tmp2q, .memia(.src1q, .tmp0, .add_unaligned_size), ._, ._ }, | 23356 | .{ ._, .v_pd, .max, .tmp1y, .tmp2y, .tmp1y, ._ }, |
| 19664 | .{ ._, ._, .lea, .tmp0p, .lead(.tmp0, 8), ._, ._ }, | 23357 | .{ ._, .v_pd, .blendv, .tmp1y, .tmp1y, .tmp2y, .tmp3y }, |
| 19665 | .{ ._, ._c, .de, .tmp1d, ._, ._, ._ }, | 23358 | .{ ._, .v_pd, .mova, .memia(.dst0y, .tmp0, .add_size), .tmp1y, ._, ._ }, |
| 19666 | .{ ._, ._nz, .j, .@"1b", ._, ._, ._ }, | 23359 | .{ ._, ._, .add, .tmp0p, .si(32), ._, ._ }, |
| 19667 | .{ ._, ._, .mov, .tmp2q, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._ }, | ||
| 19668 | .{ ._, ._, .sbb, .tmp2q, .memia(.src1q, .tmp0, .add_unaligned_size), ._, ._ }, | ||
| 19669 | .{ ._, ._, .lea, .tmp1p, .memiad(.src0, .tmp0, .add_unaligned_size_sub_elem_size, 8), ._, ._ }, | ||
| 19670 | .{ ._, ._, .lea, .tmp2p, .memiad(.src1, .tmp0, .add_unaligned_size_sub_elem_size, 8), ._, ._ }, | ||
| 19671 | .{ ._, ._l, .cmov, .tmp1p, .tmp2p, ._, ._ }, | ||
| 19672 | .{ ._, ._, .lea, .tmp2p, .memiad(.dst0, .tmp0, .add_unaligned_size_sub_elem_size, 8), ._, ._ }, | ||
| 19673 | .{ ._, ._, .mov, .tmp3d, .sa(.none, .add_src0_elem_size_div_8), ._, ._ }, | ||
| 19674 | .{ ._, .@"rep _sq", .mov, ._, ._, ._, ._ }, | ||
| 19675 | .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ }, | ||
| 19676 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 23360 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 19677 | } }, | 23361 | } }, |
| 19678 | }, .{ | 23362 | }, .{ |
| 19679 | .required_features = .{ .@"64bit", null, null, null }, | 23363 | .required_features = .{ .sse4_1, null, null, null }, |
| 19680 | .src_constraints = .{ .any_scalar_signed_int, .any_scalar_signed_int, .any }, | 23364 | .src_constraints = .{ |
| 23365 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .qword } }, | ||
| 23366 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .qword } }, | ||
| 23367 | .any, | ||
| 23368 | }, | ||
| 19681 | .patterns = &.{ | 23369 | .patterns = &.{ |
| 19682 | .{ .src = .{ .to_mem, .to_mem, .none } }, | 23370 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 19683 | }, | 23371 | }, |
| 19684 | .extra_temps = .{ | 23372 | .extra_temps = .{ |
| 19685 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 23373 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 19686 | .{ .type = .isize, .kind = .{ .reg = .rsi } }, | 23374 | .{ .type = .vector_2_f64, .kind = .{ .reg = .xmm0 } }, |
| 19687 | .{ .type = .u64, .kind = .{ .reg = .rdi } }, | 23375 | .{ .type = .vector_2_f64, .kind = .{ .rc = .sse } }, |
| 19688 | .{ .type = .u64, .kind = .{ .reg = .rcx } }, | 23376 | .{ .type = .vector_2_f64, .kind = .{ .rc = .sse } }, |
| 19689 | .unused, | 23377 | .unused, |
| 19690 | .unused, | 23378 | .unused, |
| 19691 | .unused, | 23379 | .unused, |
| ... | @@ -19697,36 +23385,32 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -19697,36 +23385,32 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 19697 | .dst_temps = .{ .mem, .unused }, | 23385 | .dst_temps = .{ .mem, .unused }, |
| 19698 | .clobbers = .{ .eflags = true }, | 23386 | .clobbers = .{ .eflags = true }, |
| 19699 | .each = .{ .once = &.{ | 23387 | .each = .{ .once = &.{ |
| 19700 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 23388 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, |
| 19701 | .{ .@"0:", ._, .mov, .tmp1d, .sia(-1, .none, .add_src0_elem_size_div_8), ._, ._ }, | 23389 | .{ .@"0:", ._pd, .mova, .tmp1x, .memia(.src0x, .tmp0, .add_size), ._, ._ }, |
| 19702 | .{ ._, ._c, .cl, ._, ._, ._, ._ }, | 23390 | .{ ._, ._pd, .mova, .tmp2x, .memia(.src1x, .tmp0, .add_size), ._, ._ }, |
| 19703 | .{ .@"1:", ._, .mov, .tmp2q, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._ }, | 23391 | .{ ._, ._pd, .mova, .tmp3x, .tmp2x, ._, ._ }, |
| 19704 | .{ ._, ._, .sbb, .tmp2q, .memia(.src1q, .tmp0, .add_unaligned_size), ._, ._ }, | 23392 | .{ ._, ._pd, .max, .tmp3x, .tmp1x, ._, ._ }, |
| 19705 | .{ ._, ._, .lea, .tmp0p, .lead(.tmp0, 8), ._, ._ }, | 23393 | .{ ._, ._pd, .cmp, .tmp1x, .tmp1x, .sp(.unord), ._ }, |
| 19706 | .{ ._, ._c, .de, .tmp1d, ._, ._, ._ }, | 23394 | .{ ._, ._pd, .blendv, .tmp3x, .tmp2x, .tmp1x, ._ }, |
| 19707 | .{ ._, ._nz, .j, .@"1b", ._, ._, ._ }, | 23395 | .{ ._, ._pd, .mova, .memia(.dst0x, .tmp0, .add_size), .tmp3x, ._, ._ }, |
| 19708 | .{ ._, ._, .mov, .tmp2q, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._ }, | 23396 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, |
| 19709 | .{ ._, ._, .sbb, .tmp2q, .memia(.src1q, .tmp0, .add_unaligned_size), ._, ._ }, | ||
| 19710 | .{ ._, ._, .lea, .tmp1p, .memiad(.src0, .tmp0, .add_unaligned_size_sub_elem_size, 8), ._, ._ }, | ||
| 19711 | .{ ._, ._nl, .j, .@"1f", ._, ._, ._ }, | ||
| 19712 | .{ ._, ._, .lea, .tmp1p, .memiad(.src1, .tmp0, .add_unaligned_size_sub_elem_size, 8), ._, ._ }, | ||
| 19713 | .{ .@"1:", ._, .lea, .tmp2p, .memiad(.dst0, .tmp0, .add_unaligned_size_sub_elem_size, 8), ._, ._ }, | ||
| 19714 | .{ ._, ._, .mov, .tmp3d, .sa(.none, .add_src0_elem_size_div_8), ._, ._ }, | ||
| 19715 | .{ ._, .@"rep _sq", .mov, ._, ._, ._, ._ }, | ||
| 19716 | .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ }, | ||
| 19717 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 23397 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 19718 | } }, | 23398 | } }, |
| 19719 | }, .{ | 23399 | }, .{ |
| 19720 | .required_features = .{ .@"64bit", .cmov, null, null }, | 23400 | .required_features = .{ .sse2, null, null, null }, |
| 19721 | .src_constraints = .{ .any_scalar_unsigned_int, .any_scalar_unsigned_int, .any }, | 23401 | .src_constraints = .{ |
| 23402 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .qword } }, | ||
| 23403 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .qword } }, | ||
| 23404 | .any, | ||
| 23405 | }, | ||
| 19722 | .patterns = &.{ | 23406 | .patterns = &.{ |
| 19723 | .{ .src = .{ .to_mem, .to_mem, .none } }, | 23407 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 19724 | }, | 23408 | }, |
| 19725 | .extra_temps = .{ | 23409 | .extra_temps = .{ |
| 19726 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 23410 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 19727 | .{ .type = .isize, .kind = .{ .reg = .rsi } }, | 23411 | .{ .type = .vector_2_f64, .kind = .{ .rc = .sse } }, |
| 19728 | .{ .type = .u64, .kind = .{ .reg = .rdi } }, | 23412 | .{ .type = .vector_2_f64, .kind = .{ .rc = .sse } }, |
| 19729 | .{ .type = .u64, .kind = .{ .reg = .rcx } }, | 23413 | .{ .type = .vector_2_f64, .kind = .{ .rc = .sse } }, |
| 19730 | .unused, | 23414 | .unused, |
| 19731 | .unused, | 23415 | .unused, |
| 19732 | .unused, | 23416 | .unused, |
| ... | @@ -19738,34 +23422,35 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -19738,34 +23422,35 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 19738 | .dst_temps = .{ .mem, .unused }, | 23422 | .dst_temps = .{ .mem, .unused }, |
| 19739 | .clobbers = .{ .eflags = true }, | 23423 | .clobbers = .{ .eflags = true }, |
| 19740 | .each = .{ .once = &.{ | 23424 | .each = .{ .once = &.{ |
| 19741 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 23425 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, |
| 19742 | .{ .@"0:", ._, .mov, .tmp1d, .sa(.none, .add_src0_elem_size_div_8), ._, ._ }, | 23426 | .{ .@"0:", ._pd, .mova, .tmp1x, .memia(.src0x, .tmp0, .add_size), ._, ._ }, |
| 19743 | .{ ._, ._c, .cl, ._, ._, ._, ._ }, | 23427 | .{ ._, ._pd, .mova, .tmp2x, .memia(.src1x, .tmp0, .add_size), ._, ._ }, |
| 19744 | .{ .@"1:", ._, .mov, .tmp2q, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._ }, | 23428 | .{ ._, ._pd, .mova, .tmp3x, .tmp2x, ._, ._ }, |
| 19745 | .{ ._, ._, .sbb, .tmp2q, .memia(.src1q, .tmp0, .add_unaligned_size), ._, ._ }, | 23429 | .{ ._, ._pd, .max, .tmp3x, .tmp1x, ._, ._ }, |
| 19746 | .{ ._, ._, .lea, .tmp0p, .lead(.tmp0, 8), ._, ._ }, | 23430 | .{ ._, ._pd, .cmp, .tmp1x, .tmp1x, .sp(.ord), ._ }, |
| 19747 | .{ ._, ._c, .de, .tmp1d, ._, ._, ._ }, | 23431 | .{ ._, ._pd, .@"and", .tmp3x, .tmp1x, ._, ._ }, |
| 19748 | .{ ._, ._nz, .j, .@"1b", ._, ._, ._ }, | 23432 | .{ ._, ._pd, .andn, .tmp1x, .tmp2x, ._, ._ }, |
| 19749 | .{ ._, ._, .lea, .tmp1p, .memia(.src0, .tmp0, .add_unaligned_size_sub_elem_size), ._, ._ }, | 23433 | .{ ._, ._pd, .@"or", .tmp1x, .tmp3x, ._, ._ }, |
| 19750 | .{ ._, ._, .lea, .tmp2p, .memia(.src1, .tmp0, .add_unaligned_size_sub_elem_size), ._, ._ }, | 23434 | .{ ._, ._pd, .mova, .memia(.dst0x, .tmp0, .add_size), .tmp1x, ._, ._ }, |
| 19751 | .{ ._, ._b, .cmov, .tmp1p, .tmp2p, ._, ._ }, | 23435 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, |
| 19752 | .{ ._, ._, .lea, .tmp2p, .memia(.dst0, .tmp0, .add_unaligned_size_sub_elem_size), ._, ._ }, | 23436 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 19753 | .{ ._, ._, .mov, .tmp3d, .sa(.none, .add_src0_elem_size_div_8), ._, ._ }, | ||
| 19754 | .{ ._, .@"rep _sq", .mov, ._, ._, ._, ._ }, | ||
| 19755 | .{ ._, ._, .@"test", .tmp0p, .tmp0p, ._, ._ }, | ||
| 19756 | .{ ._, ._nz, .j, .@"0b", ._, ._, ._ }, | ||
| 19757 | } }, | 23437 | } }, |
| 19758 | }, .{ | 23438 | }, .{ |
| 19759 | .required_features = .{ .@"64bit", null, null, null }, | 23439 | .required_features = .{ .sse, null, null, null }, |
| 19760 | .src_constraints = .{ .any_scalar_unsigned_int, .any_scalar_unsigned_int, .any }, | 23440 | .src_constraints = .{ |
| 23441 | .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, | ||
| 23442 | .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, | ||
| 23443 | .any, | ||
| 23444 | }, | ||
| 19761 | .patterns = &.{ | 23445 | .patterns = &.{ |
| 19762 | .{ .src = .{ .to_mem, .to_mem, .none } }, | 23446 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 19763 | }, | 23447 | }, |
| 23448 | .call_frame = .{ .alignment = .@"16" }, | ||
| 19764 | .extra_temps = .{ | 23449 | .extra_temps = .{ |
| 19765 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 23450 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 19766 | .{ .type = .isize, .kind = .{ .reg = .rsi } }, | 23451 | .{ .type = .f64, .kind = .{ .reg = .xmm0 } }, |
| 19767 | .{ .type = .u64, .kind = .{ .reg = .rdi } }, | 23452 | .{ .type = .f64, .kind = .{ .reg = .xmm1 } }, |
| 19768 | .{ .type = .u64, .kind = .{ .reg = .rcx } }, | 23453 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "fmax" } } }, |
| 19769 | .unused, | 23454 | .unused, |
| 19770 | .unused, | 23455 | .unused, |
| 19771 | .unused, | 23456 | .unused, |
| ... | @@ -19775,38 +23460,33 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -19775,38 +23460,33 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 19775 | .unused, | 23460 | .unused, |
| 19776 | }, | 23461 | }, |
| 19777 | .dst_temps = .{ .mem, .unused }, | 23462 | .dst_temps = .{ .mem, .unused }, |
| 19778 | .clobbers = .{ .eflags = true }, | 23463 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 19779 | .each = .{ .once = &.{ | 23464 | .each = .{ .once = &.{ |
| 19780 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 23465 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, |
| 19781 | .{ .@"0:", ._, .mov, .tmp1d, .sa(.none, .add_src0_elem_size_div_8), ._, ._ }, | 23466 | .{ .@"0:", ._ps, .xor, .tmp1x, .tmp1x, ._, ._ }, |
| 19782 | .{ ._, ._c, .cl, ._, ._, ._, ._ }, | 23467 | .{ ._, ._ps, .xor, .tmp2x, .tmp2x, ._, ._ }, |
| 19783 | .{ .@"1:", ._, .mov, .tmp2q, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._ }, | 23468 | .{ ._, ._ps, .movl, .tmp1x, .memia(.src0q, .tmp0, .add_size), ._, ._ }, |
| 19784 | .{ ._, ._, .sbb, .tmp2q, .memia(.src1q, .tmp0, .add_unaligned_size), ._, ._ }, | 23469 | .{ ._, ._ps, .movl, .tmp2x, .memia(.src1q, .tmp0, .add_size), ._, ._ }, |
| 19785 | .{ ._, ._, .lea, .tmp0p, .lead(.tmp0, 8), ._, ._ }, | 23470 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, |
| 19786 | .{ ._, ._c, .de, .tmp1d, ._, ._, ._ }, | 23471 | .{ ._, ._ps, .movl, .memia(.dst0q, .tmp0, .add_size), .tmp1q, ._, ._ }, |
| 19787 | .{ ._, ._nz, .j, .@"1b", ._, ._, ._ }, | 23472 | .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ }, |
| 19788 | .{ ._, ._, .lea, .tmp1p, .memia(.src0, .tmp0, .add_unaligned_size_sub_elem_size), ._, ._ }, | 23473 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 19789 | .{ ._, ._nb, .j, .@"1f", ._, ._, ._ }, | ||
| 19790 | .{ ._, ._, .lea, .tmp1p, .memia(.src1, .tmp0, .add_unaligned_size_sub_elem_size), ._, ._ }, | ||
| 19791 | .{ .@"1:", ._, .lea, .tmp2p, .memia(.dst0, .tmp0, .add_unaligned_size_sub_elem_size), ._, ._ }, | ||
| 19792 | .{ ._, ._, .mov, .tmp3d, .sa(.none, .add_src0_elem_size_div_8), ._, ._ }, | ||
| 19793 | .{ ._, .@"rep _sq", .mov, ._, ._, ._, ._ }, | ||
| 19794 | .{ ._, ._, .@"test", .tmp0p, .tmp0p, ._, ._ }, | ||
| 19795 | .{ ._, ._nz, .j, .@"0b", ._, ._, ._ }, | ||
| 19796 | } }, | 23474 | } }, |
| 19797 | }, .{ | 23475 | }, .{ |
| 19798 | .required_features = .{ .f16c, null, null, null }, | 23476 | .required_features = .{ .x87, .cmov, null, null }, |
| 19799 | .src_constraints = .{ | 23477 | .src_constraints = .{ |
| 19800 | .{ .scalar_float = .{ .of = .word, .is = .word } }, | 23478 | .{ .scalar_float = .{ .of = .xword, .is = .tbyte } }, |
| 19801 | .{ .scalar_float = .{ .of = .word, .is = .word } }, | 23479 | .{ .scalar_float = .{ .of = .xword, .is = .tbyte } }, |
| 19802 | .any, | 23480 | .any, |
| 19803 | }, | 23481 | }, |
| 19804 | .patterns = &.{ | 23482 | .patterns = &.{ |
| 19805 | .{ .src = .{ .to_sse, .to_sse, .none } }, | 23483 | .{ .src = .{ .to_x87, .mem, .none }, .commute = .{ 0, 1 } }, |
| 23484 | .{ .src = .{ .mem, .to_x87, .none } }, | ||
| 23485 | .{ .src = .{ .to_x87, .to_x87, .none } }, | ||
| 19806 | }, | 23486 | }, |
| 19807 | .extra_temps = .{ | 23487 | .extra_temps = .{ |
| 19808 | .{ .type = .f32, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .sse } } }, | 23488 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, |
| 19809 | .{ .type = .f32, .kind = .{ .rc = .sse } }, | 23489 | .unused, |
| 19810 | .unused, | 23490 | .unused, |
| 19811 | .unused, | 23491 | .unused, |
| 19812 | .unused, | 23492 | .unused, |
| ... | @@ -19817,29 +23497,33 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -19817,29 +23497,33 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 19817 | .unused, | 23497 | .unused, |
| 19818 | .unused, | 23498 | .unused, |
| 19819 | }, | 23499 | }, |
| 19820 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, | 23500 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src1, .rc = .x87 } }, .unused }, |
| 23501 | .clobbers = .{ .eflags = true }, | ||
| 19821 | .each = .{ .once = &.{ | 23502 | .each = .{ .once = &.{ |
| 19822 | .{ ._, .v_ps, .cvtph2, .dst0x, .src0q, ._, ._ }, | 23503 | .{ ._, .f_, .ld, .src0t, ._, ._, ._ }, |
| 19823 | .{ ._, .v_ps, .cvtph2, .tmp0x, .src1q, ._, ._ }, | 23504 | .{ ._, .f_, .ucomi, .tmp0t, .tmp0t, ._, ._ }, |
| 19824 | .{ ._, .v_ss, .cmp, .tmp1x, .dst0d, .dst0x, .vp(.unord) }, | 23505 | .{ ._, .f_u, .cmov, .tmp0t, .src1t, ._, ._ }, |
| 19825 | .{ ._, .v_ss, .max, .dst0x, .tmp0d, .dst0x, ._ }, | 23506 | .{ ._, .f_, .xch, .src1t, ._, ._, ._ }, |
| 19826 | .{ ._, .v_ps, .blendv, .dst0x, .dst0x, .tmp0x, .tmp1x }, | 23507 | .{ ._, .f_, .ucomi, .tmp0t, .src1t, ._, ._ }, |
| 19827 | .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ }, | 23508 | .{ ._, .f_, .xch, .src1t, ._, ._, ._ }, |
| 23509 | .{ ._, .f_nb, .cmov, .tmp0t, .src1t, ._, ._ }, | ||
| 23510 | .{ ._, .f_p, .st, .dst0t, ._, ._, ._ }, | ||
| 19828 | } }, | 23511 | } }, |
| 19829 | }, .{ | 23512 | }, .{ |
| 19830 | .required_features = .{ .sse, null, null, null }, | 23513 | .required_features = .{ .sahf, .x87, null, null }, |
| 19831 | .src_constraints = .{ | 23514 | .src_constraints = .{ |
| 19832 | .{ .scalar_float = .{ .of = .word, .is = .word } }, | 23515 | .{ .scalar_float = .{ .of = .xword, .is = .tbyte } }, |
| 19833 | .{ .scalar_float = .{ .of = .word, .is = .word } }, | 23516 | .{ .scalar_float = .{ .of = .xword, .is = .tbyte } }, |
| 19834 | .any, | 23517 | .any, |
| 19835 | }, | 23518 | }, |
| 19836 | .patterns = &.{ | 23519 | .patterns = &.{ |
| 19837 | .{ .src = .{ .{ .to_reg = .xmm0 }, .{ .to_reg = .xmm1 }, .none } }, | 23520 | .{ .src = .{ .to_x87, .mem, .none }, .commute = .{ 0, 1 } }, |
| 23521 | .{ .src = .{ .mem, .to_x87, .none } }, | ||
| 23522 | .{ .src = .{ .to_x87, .to_x87, .none } }, | ||
| 19838 | }, | 23523 | }, |
| 19839 | .call_frame = .{ .alignment = .@"16" }, | ||
| 19840 | .extra_temps = .{ | 23524 | .extra_temps = .{ |
| 19841 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__fmaxh" } } }, | 23525 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, |
| 19842 | .unused, | 23526 | .{ .type = .u8, .kind = .{ .reg = .ah } }, |
| 19843 | .unused, | 23527 | .unused, |
| 19844 | .unused, | 23528 | .unused, |
| 19845 | .unused, | 23529 | .unused, |
| ... | @@ -19850,27 +23534,39 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -19850,27 +23534,39 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 19850 | .unused, | 23534 | .unused, |
| 19851 | .unused, | 23535 | .unused, |
| 19852 | }, | 23536 | }, |
| 19853 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, | 23537 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src1, .rc = .x87 } }, .unused }, |
| 19854 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 23538 | .clobbers = .{ .eflags = true }, |
| 19855 | .each = .{ .once = &.{ | 23539 | .each = .{ .once = &.{ |
| 19856 | .{ ._, ._, .call, .tmp0d, ._, ._, ._ }, | 23540 | .{ ._, .f_, .ld, .src0t, ._, ._, ._ }, |
| 23541 | .{ ._, .f_, .ucom, .tmp0t, ._, ._, ._ }, | ||
| 23542 | .{ ._, .fn_sw, .st, .tmp1w, ._, ._, ._ }, | ||
| 23543 | .{ ._, ._, .sahf, ._, ._, ._, ._ }, | ||
| 23544 | .{ ._, ._p, .j, .@"0f", ._, ._, ._ }, | ||
| 23545 | .{ ._, .f_, .xch, .src1t, ._, ._, ._ }, | ||
| 23546 | .{ ._, .f_, .ucom, .src1t, ._, ._, ._ }, | ||
| 23547 | .{ ._, .fn_sw, .st, .tmp1w, ._, ._, ._ }, | ||
| 23548 | .{ ._, .f_, .xch, .src1t, ._, ._, ._ }, | ||
| 23549 | .{ ._, ._, .sahf, ._, ._, ._, ._ }, | ||
| 23550 | .{ ._, ._b, .j, .@"1f", ._, ._, ._ }, | ||
| 23551 | .{ .@"0:", .f_p, .st, .tmp0t, ._, ._, ._ }, | ||
| 23552 | .{ ._, .f_, .ld, .src1t, ._, ._, ._ }, | ||
| 23553 | .{ .@"1:", .f_p, .st, .dst0t, ._, ._, ._ }, | ||
| 19857 | } }, | 23554 | } }, |
| 19858 | }, .{ | 23555 | }, .{ |
| 19859 | .required_features = .{ .f16c, null, null, null }, | 23556 | .required_features = .{ .x87, null, null, null }, |
| 19860 | .src_constraints = .{ | 23557 | .src_constraints = .{ |
| 19861 | .{ .scalar_float = .{ .of = .qword, .is = .word } }, | 23558 | .{ .scalar_float = .{ .of = .xword, .is = .tbyte } }, |
| 19862 | .{ .scalar_float = .{ .of = .qword, .is = .word } }, | 23559 | .{ .scalar_float = .{ .of = .xword, .is = .tbyte } }, |
| 19863 | .any, | 23560 | .any, |
| 19864 | }, | 23561 | }, |
| 19865 | .patterns = &.{ | 23562 | .patterns = &.{ |
| 19866 | .{ .src = .{ .mem, .mem, .none } }, | 23563 | .{ .src = .{ .to_x87, .mem, .none }, .commute = .{ 0, 1 } }, |
| 19867 | .{ .src = .{ .to_sse, .mem, .none } }, | 23564 | .{ .src = .{ .mem, .to_x87, .none } }, |
| 19868 | .{ .src = .{ .mem, .to_sse, .none } }, | 23565 | .{ .src = .{ .to_x87, .to_x87, .none } }, |
| 19869 | .{ .src = .{ .to_sse, .to_sse, .none } }, | ||
| 19870 | }, | 23566 | }, |
| 19871 | .extra_temps = .{ | 23567 | .extra_temps = .{ |
| 19872 | .{ .type = .vector_4_f32, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .sse } } }, | 23568 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, |
| 19873 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, | 23569 | .{ .type = .u8, .kind = .{ .reg = .ah } }, |
| 19874 | .unused, | 23570 | .unused, |
| 19875 | .unused, | 23571 | .unused, |
| 19876 | .unused, | 23572 | .unused, |
| ... | @@ -19881,32 +23577,38 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -19881,32 +23577,38 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 19881 | .unused, | 23577 | .unused, |
| 19882 | .unused, | 23578 | .unused, |
| 19883 | }, | 23579 | }, |
| 19884 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, | 23580 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src1, .rc = .x87 } }, .unused }, |
| 23581 | .clobbers = .{ .eflags = true }, | ||
| 19885 | .each = .{ .once = &.{ | 23582 | .each = .{ .once = &.{ |
| 19886 | .{ ._, .v_ps, .cvtph2, .dst0x, .src0q, ._, ._ }, | 23583 | .{ ._, .f_, .ld, .src0t, ._, ._, ._ }, |
| 19887 | .{ ._, .v_ps, .cvtph2, .tmp0x, .src1q, ._, ._ }, | 23584 | .{ ._, .f_, .xam, ._, ._, ._, ._ }, |
| 19888 | .{ ._, .v_ps, .cmp, .tmp1x, .dst0x, .dst0x, .vp(.unord) }, | 23585 | .{ ._, .fn_sw, .st, .tmp1w, ._, ._, ._ }, |
| 19889 | .{ ._, .v_ps, .max, .dst0x, .tmp0x, .dst0x, ._ }, | 23586 | .{ ._, ._, .@"test", .tmp1b, .si(0b1_000_100), ._, ._ }, |
| 19890 | .{ ._, .v_ps, .blendv, .dst0x, .dst0x, .tmp0x, .tmp1x }, | 23587 | .{ ._, ._z, .j, .@"0f", ._, ._, ._ }, |
| 19891 | .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ }, | 23588 | .{ ._, .f_, .xch, .src1t, ._, ._, ._ }, |
| 23589 | .{ ._, .f_, .ucom, .src1t, ._, ._, ._ }, | ||
| 23590 | .{ ._, .fn_sw, .st, .tmp1w, ._, ._, ._ }, | ||
| 23591 | .{ ._, .f_, .xch, .src1t, ._, ._, ._ }, | ||
| 23592 | .{ ._, ._, .@"test", .tmp1b, .si(0b0_000_001), ._, ._ }, | ||
| 23593 | .{ ._, ._nz, .j, .@"1f", ._, ._, ._ }, | ||
| 23594 | .{ .@"0:", .f_p, .st, .tmp0t, ._, ._, ._ }, | ||
| 23595 | .{ ._, .f_, .ld, .src1t, ._, ._, ._ }, | ||
| 23596 | .{ .@"1:", .f_p, .st, .dst0t, ._, ._, ._ }, | ||
| 19892 | } }, | 23597 | } }, |
| 19893 | }, .{ | 23598 | }, .{ |
| 19894 | .required_features = .{ .f16c, null, null, null }, | 23599 | .required_features = .{ .x87, .cmov, null, null }, |
| 19895 | .src_constraints = .{ | 23600 | .src_constraints = .{ |
| 19896 | .{ .scalar_float = .{ .of = .xword, .is = .word } }, | 23601 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, |
| 19897 | .{ .scalar_float = .{ .of = .xword, .is = .word } }, | 23602 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, |
| 19898 | .any, | 23603 | .any, |
| 19899 | }, | 23604 | }, |
| 19900 | .patterns = &.{ | 23605 | .patterns = &.{ |
| 19901 | .{ .src = .{ .mem, .mem, .none } }, | 23606 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 19902 | .{ .src = .{ .to_sse, .mem, .none } }, | ||
| 19903 | .{ .src = .{ .mem, .to_sse, .none } }, | ||
| 19904 | .{ .src = .{ .to_sse, .to_sse, .none } }, | ||
| 19905 | }, | 23607 | }, |
| 19906 | .extra_temps = .{ | 23608 | .extra_temps = .{ |
| 19907 | .{ .type = .vector_8_f32, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .sse } } }, | 23609 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 19908 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, | 23610 | .{ .type = .f80, .kind = .{ .reg = .st6 } }, |
| 19909 | .unused, | 23611 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, |
| 19910 | .unused, | 23612 | .unused, |
| 19911 | .unused, | 23613 | .unused, |
| 19912 | .unused, | 23614 | .unused, |
| ... | @@ -19916,20 +23618,28 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -19916,20 +23618,28 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 19916 | .unused, | 23618 | .unused, |
| 19917 | .unused, | 23619 | .unused, |
| 19918 | }, | 23620 | }, |
| 19919 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, | 23621 | .dst_temps = .{ .mem, .unused }, |
| 23622 | .clobbers = .{ .eflags = true }, | ||
| 19920 | .each = .{ .once = &.{ | 23623 | .each = .{ .once = &.{ |
| 19921 | .{ ._, .v_ps, .cvtph2, .dst0y, .src0x, ._, ._ }, | 23624 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, |
| 19922 | .{ ._, .v_ps, .cvtph2, .tmp0y, .src1x, ._, ._ }, | 23625 | .{ .@"0:", .f_, .ld, .memia(.src1t, .tmp0, .add_size), ._, ._, ._ }, |
| 19923 | .{ ._, .v_ps, .cmp, .tmp1y, .dst0y, .dst0y, .vp(.unord) }, | 23626 | .{ ._, .f_, .ld, .memia(.src0t, .tmp0, .add_size), ._, ._, ._ }, |
| 19924 | .{ ._, .v_ps, .max, .dst0y, .tmp0y, .dst0y, ._ }, | 23627 | .{ ._, .f_, .ucomi, .tmp1t, .tmp1t, ._, ._ }, |
| 19925 | .{ ._, .v_ps, .blendv, .dst0y, .dst0y, .tmp0y, .tmp1y }, | 23628 | .{ ._, .f_u, .cmov, .tmp1t, .tmp2t, ._, ._ }, |
| 19926 | .{ ._, .v_, .cvtps2ph, .dst0x, .dst0y, .rm(.{}), ._ }, | 23629 | .{ ._, .f_, .xch, .tmp2t, ._, ._, ._ }, |
| 23630 | .{ ._, .f_, .ucomi, .tmp1t, .tmp2t, ._, ._ }, | ||
| 23631 | .{ ._, .f_, .xch, .tmp2t, ._, ._, ._ }, | ||
| 23632 | .{ ._, .f_nb, .cmov, .tmp1t, .tmp2t, ._, ._ }, | ||
| 23633 | .{ ._, .f_p, .st, .memia(.dst0t, .tmp0, .add_size), ._, ._, ._ }, | ||
| 23634 | .{ ._, .f_p, .st, .tmp2t, ._, ._, ._ }, | ||
| 23635 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, | ||
| 23636 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | ||
| 19927 | } }, | 23637 | } }, |
| 19928 | }, .{ | 23638 | }, .{ |
| 19929 | .required_features = .{ .f16c, null, null, null }, | 23639 | .required_features = .{ .sahf, .x87, null, null }, |
| 19930 | .src_constraints = .{ | 23640 | .src_constraints = .{ |
| 19931 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .word } }, | 23641 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, |
| 19932 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .word } }, | 23642 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, |
| 19933 | .any, | 23643 | .any, |
| 19934 | }, | 23644 | }, |
| 19935 | .patterns = &.{ | 23645 | .patterns = &.{ |
| ... | @@ -19937,9 +23647,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -19937,9 +23647,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 19937 | }, | 23647 | }, |
| 19938 | .extra_temps = .{ | 23648 | .extra_temps = .{ |
| 19939 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 23649 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 19940 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, | 23650 | .{ .type = .f80, .kind = .{ .reg = .st6 } }, |
| 19941 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, | 23651 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, |
| 19942 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, | 23652 | .{ .type = .u8, .kind = .{ .reg = .ah } }, |
| 19943 | .unused, | 23653 | .unused, |
| 19944 | .unused, | 23654 | .unused, |
| 19945 | .unused, | 23655 | .unused, |
| ... | @@ -19952,31 +23662,40 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -19952,31 +23662,40 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 19952 | .clobbers = .{ .eflags = true }, | 23662 | .clobbers = .{ .eflags = true }, |
| 19953 | .each = .{ .once = &.{ | 23663 | .each = .{ .once = &.{ |
| 19954 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, | 23664 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, |
| 19955 | .{ .@"0:", .v_ps, .cvtph2, .tmp1y, .memia(.src0x, .tmp0, .add_size), ._, ._ }, | 23665 | .{ .@"0:", .f_, .ld, .memia(.src1t, .tmp0, .add_size), ._, ._, ._ }, |
| 19956 | .{ ._, .v_ps, .cvtph2, .tmp2y, .memia(.src1x, .tmp0, .add_size), ._, ._ }, | 23666 | .{ ._, .f_, .ld, .memia(.src0t, .tmp0, .add_size), ._, ._, ._ }, |
| 19957 | .{ ._, .v_ps, .cmp, .tmp3y, .tmp1y, .tmp1y, .vp(.unord) }, | 23667 | .{ ._, .f_, .ucom, .tmp1t, ._, ._, ._ }, |
| 19958 | .{ ._, .v_ps, .max, .tmp1y, .tmp2y, .tmp1y, ._ }, | 23668 | .{ ._, .fn_sw, .st, .tmp3w, ._, ._, ._ }, |
| 19959 | .{ ._, .v_ps, .blendv, .tmp1y, .tmp1y, .tmp2y, .tmp3y }, | 23669 | .{ ._, ._, .sahf, ._, ._, ._, ._ }, |
| 19960 | .{ ._, .v_, .cvtps2ph, .memia(.dst0x, .tmp0, .add_size), .tmp1y, .rm(.{}), ._ }, | 23670 | .{ ._, ._p, .j, .@"1f", ._, ._, ._ }, |
| 23671 | .{ ._, .f_, .xch, .tmp2t, ._, ._, ._ }, | ||
| 23672 | .{ ._, .f_, .ucom, .tmp2t, ._, ._, ._ }, | ||
| 23673 | .{ ._, .fn_sw, .st, .tmp3w, ._, ._, ._ }, | ||
| 23674 | .{ ._, .f_, .xch, .tmp2t, ._, ._, ._ }, | ||
| 23675 | .{ ._, ._, .sahf, ._, ._, ._, ._ }, | ||
| 23676 | .{ ._, ._b, .j, .@"2f", ._, ._, ._ }, | ||
| 23677 | .{ .@"1:", .f_p, .st, .tmp1t, ._, ._, ._ }, | ||
| 23678 | .{ ._, .f_, .ld, .tmp2t, ._, ._, ._ }, | ||
| 23679 | .{ .@"2:", .f_p, .st, .memia(.dst0t, .tmp0, .add_size), ._, ._, ._ }, | ||
| 23680 | .{ ._, .f_p, .st, .tmp2t, ._, ._, ._ }, | ||
| 19961 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, | 23681 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, |
| 19962 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 23682 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 19963 | } }, | 23683 | } }, |
| 19964 | }, .{ | 23684 | }, .{ |
| 19965 | .required_features = .{ .avx, null, null, null }, | 23685 | .required_features = .{ .x87, null, null, null }, |
| 19966 | .src_constraints = .{ | 23686 | .src_constraints = .{ |
| 19967 | .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, | 23687 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, |
| 19968 | .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, | 23688 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, |
| 19969 | .any, | 23689 | .any, |
| 19970 | }, | 23690 | }, |
| 19971 | .patterns = &.{ | 23691 | .patterns = &.{ |
| 19972 | .{ .src = .{ .to_mem, .to_mem, .none } }, | 23692 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 19973 | }, | 23693 | }, |
| 19974 | .call_frame = .{ .alignment = .@"16" }, | ||
| 19975 | .extra_temps = .{ | 23694 | .extra_temps = .{ |
| 19976 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 23695 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 19977 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, | 23696 | .{ .type = .f80, .kind = .{ .reg = .st6 } }, |
| 19978 | .{ .type = .f16, .kind = .{ .reg = .xmm1 } }, | 23697 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, |
| 19979 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__fmaxh" } } }, | 23698 | .{ .type = .u8, .kind = .{ .reg = .ah } }, |
| 19980 | .unused, | 23699 | .unused, |
| 19981 | .unused, | 23700 | .unused, |
| 19982 | .unused, | 23701 | .unused, |
| ... | @@ -19986,33 +23705,44 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -19986,33 +23705,44 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 19986 | .unused, | 23705 | .unused, |
| 19987 | }, | 23706 | }, |
| 19988 | .dst_temps = .{ .mem, .unused }, | 23707 | .dst_temps = .{ .mem, .unused }, |
| 19989 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 23708 | .clobbers = .{ .eflags = true }, |
| 19990 | .each = .{ .once = &.{ | 23709 | .each = .{ .once = &.{ |
| 19991 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, | 23710 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, |
| 19992 | .{ .@"0:", .vp_, .xor, .tmp2x, .tmp2x, .tmp2x, ._ }, | 23711 | .{ .@"0:", .f_, .ld, .memia(.src1t, .tmp0, .add_size), ._, ._, ._ }, |
| 19993 | .{ ._, .vp_w, .insr, .tmp1x, .tmp2x, .memia(.src0w, .tmp0, .add_size), .ui(0) }, | 23712 | .{ ._, .f_, .ld, .memia(.src0t, .tmp0, .add_size), ._, ._, ._ }, |
| 19994 | .{ ._, .vp_w, .insr, .tmp2x, .tmp2x, .memia(.src1w, .tmp0, .add_size), .ui(0) }, | 23713 | .{ ._, .f_, .xam, ._, ._, ._, ._ }, |
| 19995 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, | 23714 | .{ ._, .fn_sw, .st, .tmp3w, ._, ._, ._ }, |
| 19996 | .{ ._, .vp_w, .extr, .memia(.dst0w, .tmp0, .add_size), .tmp1x, .ui(0), ._ }, | 23715 | .{ ._, ._, .@"test", .tmp3b, .si(0b1_000_100), ._, ._ }, |
| 19997 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, | 23716 | .{ ._, ._z, .j, .@"1f", ._, ._, ._ }, |
| 23717 | .{ ._, .f_, .xch, .tmp2t, ._, ._, ._ }, | ||
| 23718 | .{ ._, .f_, .ucom, .tmp2t, ._, ._, ._ }, | ||
| 23719 | .{ ._, .fn_sw, .st, .tmp3w, ._, ._, ._ }, | ||
| 23720 | .{ ._, .f_, .xch, .tmp2t, ._, ._, ._ }, | ||
| 23721 | .{ ._, ._, .@"test", .tmp3b, .si(0b0_000_001), ._, ._ }, | ||
| 23722 | .{ ._, ._nz, .j, .@"2f", ._, ._, ._ }, | ||
| 23723 | .{ .@"1:", .f_p, .st, .tmp1t, ._, ._, ._ }, | ||
| 23724 | .{ ._, .f_, .ld, .tmp2t, ._, ._, ._ }, | ||
| 23725 | .{ .@"2:", .f_p, .st, .memia(.dst0t, .tmp0, .add_size), ._, ._, ._ }, | ||
| 23726 | .{ ._, .f_p, .st, .tmp2t, ._, ._, ._ }, | ||
| 23727 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, | ||
| 19998 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 23728 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 19999 | } }, | 23729 | } }, |
| 20000 | }, .{ | 23730 | }, .{ |
| 20001 | .required_features = .{ .sse4_1, null, null, null }, | 23731 | .required_features = .{ .sse, null, null, null }, |
| 20002 | .src_constraints = .{ | 23732 | .src_constraints = .{ |
| 20003 | .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, | 23733 | .{ .scalar_float = .{ .of = .xword, .is = .xword } }, |
| 20004 | .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, | 23734 | .{ .scalar_float = .{ .of = .xword, .is = .xword } }, |
| 20005 | .any, | 23735 | .any, |
| 20006 | }, | 23736 | }, |
| 20007 | .patterns = &.{ | 23737 | .patterns = &.{ |
| 20008 | .{ .src = .{ .to_mem, .to_mem, .none } }, | 23738 | .{ .src = .{ .{ .to_reg = .xmm0 }, .{ .to_reg = .xmm1 }, .none } }, |
| 20009 | }, | 23739 | }, |
| 20010 | .call_frame = .{ .alignment = .@"16" }, | 23740 | .call_frame = .{ .alignment = .@"16" }, |
| 20011 | .extra_temps = .{ | 23741 | .extra_temps = .{ |
| 20012 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 23742 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "fmaxq" } } }, |
| 20013 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, | 23743 | .unused, |
| 20014 | .{ .type = .f16, .kind = .{ .reg = .xmm1 } }, | 23744 | .unused, |
| 20015 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__fmaxh" } } }, | 23745 | .unused, |
| 20016 | .unused, | 23746 | .unused, |
| 20017 | .unused, | 23747 | .unused, |
| 20018 | .unused, | 23748 | .unused, |
| ... | @@ -20021,24 +23751,16 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -20021,24 +23751,16 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 20021 | .unused, | 23751 | .unused, |
| 20022 | .unused, | 23752 | .unused, |
| 20023 | }, | 23753 | }, |
| 20024 | .dst_temps = .{ .mem, .unused }, | 23754 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| 20025 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 23755 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 20026 | .each = .{ .once = &.{ | 23756 | .each = .{ .once = &.{ |
| 20027 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, | 23757 | .{ ._, ._, .call, .tmp0d, ._, ._, ._ }, |
| 20028 | .{ .@"0:", .p_, .xor, .tmp1x, .tmp1x, ._, ._ }, | ||
| 20029 | .{ ._, .p_, .xor, .tmp2x, .tmp2x, ._, ._ }, | ||
| 20030 | .{ ._, .p_w, .insr, .tmp1x, .memia(.src0w, .tmp0, .add_size), .ui(0), ._ }, | ||
| 20031 | .{ ._, .p_w, .insr, .tmp2x, .memia(.src1w, .tmp0, .add_size), .ui(0), ._ }, | ||
| 20032 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, | ||
| 20033 | .{ ._, .p_w, .extr, .memia(.dst0w, .tmp0, .add_size), .tmp1x, .ui(0), ._ }, | ||
| 20034 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, | ||
| 20035 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | ||
| 20036 | } }, | 23758 | } }, |
| 20037 | }, .{ | 23759 | }, .{ |
| 20038 | .required_features = .{ .sse2, null, null, null }, | 23760 | .required_features = .{ .avx, null, null, null }, |
| 20039 | .src_constraints = .{ | 23761 | .src_constraints = .{ |
| 20040 | .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, | 23762 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, |
| 20041 | .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, | 23763 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, |
| 20042 | .any, | 23764 | .any, |
| 20043 | }, | 23765 | }, |
| 20044 | .patterns = &.{ | 23766 | .patterns = &.{ |
| ... | @@ -20047,10 +23769,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -20047,10 +23769,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 20047 | .call_frame = .{ .alignment = .@"16" }, | 23769 | .call_frame = .{ .alignment = .@"16" }, |
| 20048 | .extra_temps = .{ | 23770 | .extra_temps = .{ |
| 20049 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 23771 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 20050 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, | 23772 | .{ .type = .f128, .kind = .{ .reg = .xmm0 } }, |
| 20051 | .{ .type = .f16, .kind = .{ .reg = .xmm1 } }, | 23773 | .{ .type = .f128, .kind = .{ .reg = .xmm1 } }, |
| 20052 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__fmaxh" } } }, | 23774 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "fmaxq" } } }, |
| 20053 | .{ .type = .f16, .kind = .{ .reg = .ax } }, | 23775 | .unused, |
| 20054 | .unused, | 23776 | .unused, |
| 20055 | .unused, | 23777 | .unused, |
| 20056 | .unused, | 23778 | .unused, |
| ... | @@ -20062,21 +23784,18 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -20062,21 +23784,18 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 20062 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 23784 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 20063 | .each = .{ .once = &.{ | 23785 | .each = .{ .once = &.{ |
| 20064 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, | 23786 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, |
| 20065 | .{ .@"0:", .p_, .xor, .tmp1x, .tmp1x, ._, ._ }, | 23787 | .{ .@"0:", .v_dqa, .mov, .tmp1x, .memia(.src0x, .tmp0, .add_size), ._, ._ }, |
| 20066 | .{ ._, .p_, .xor, .tmp2x, .tmp2x, ._, ._ }, | 23788 | .{ ._, .v_dqa, .mov, .tmp2x, .memia(.src1x, .tmp0, .add_size), ._, ._ }, |
| 20067 | .{ ._, .p_w, .insr, .tmp1x, .memia(.src0w, .tmp0, .add_size), .ui(0), ._ }, | ||
| 20068 | .{ ._, .p_w, .insr, .tmp2x, .memia(.src1w, .tmp0, .add_size), .ui(0), ._ }, | ||
| 20069 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, | 23789 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, |
| 20070 | .{ ._, .p_w, .extr, .tmp4d, .tmp1x, .ui(0), ._ }, | 23790 | .{ ._, .v_dqa, .mov, .memia(.dst0x, .tmp0, .add_size), .tmp1x, ._, ._ }, |
| 20071 | .{ ._, ._, .mov, .memia(.dst0w, .tmp0, .add_size), .tmp4w, ._, ._ }, | 23791 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, |
| 20072 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, | ||
| 20073 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 23792 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 20074 | } }, | 23793 | } }, |
| 20075 | }, .{ | 23794 | }, .{ |
| 20076 | .required_features = .{ .sse, null, null, null }, | 23795 | .required_features = .{ .sse2, null, null, null }, |
| 20077 | .src_constraints = .{ | 23796 | .src_constraints = .{ |
| 20078 | .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, | 23797 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, |
| 20079 | .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, | 23798 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, |
| 20080 | .any, | 23799 | .any, |
| 20081 | }, | 23800 | }, |
| 20082 | .patterns = &.{ | 23801 | .patterns = &.{ |
| ... | @@ -20085,11 +23804,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -20085,11 +23804,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 20085 | .call_frame = .{ .alignment = .@"16" }, | 23804 | .call_frame = .{ .alignment = .@"16" }, |
| 20086 | .extra_temps = .{ | 23805 | .extra_temps = .{ |
| 20087 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 23806 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 20088 | .{ .type = .f16, .kind = .{ .reg = .ax } }, | 23807 | .{ .type = .f128, .kind = .{ .reg = .xmm0 } }, |
| 20089 | .{ .type = .f32, .kind = .mem }, | 23808 | .{ .type = .f128, .kind = .{ .reg = .xmm1 } }, |
| 20090 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, | 23809 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "fmaxq" } } }, |
| 20091 | .{ .type = .f16, .kind = .{ .reg = .xmm1 } }, | 23810 | .unused, |
| 20092 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__fmaxh" } } }, | 23811 | .unused, |
| 20093 | .unused, | 23812 | .unused, |
| 20094 | .unused, | 23813 | .unused, |
| 20095 | .unused, | 23814 | .unused, |
| ... | @@ -20100,34 +23819,29 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -20100,34 +23819,29 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 20100 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 23819 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 20101 | .each = .{ .once = &.{ | 23820 | .each = .{ .once = &.{ |
| 20102 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, | 23821 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, |
| 20103 | .{ .@"0:", ._, .movzx, .tmp1d, .memia(.src0w, .tmp0, .add_size), ._, ._ }, | 23822 | .{ .@"0:", ._dqa, .mov, .tmp1x, .memia(.src0x, .tmp0, .add_size), ._, ._ }, |
| 20104 | .{ ._, ._, .mov, .mem(.tmp2d), .tmp1d, ._, ._ }, | 23823 | .{ ._, ._dqa, .mov, .tmp2x, .memia(.src1x, .tmp0, .add_size), ._, ._ }, |
| 20105 | .{ ._, ._ss, .mov, .tmp3x, .mem(.tmp2d), ._, ._ }, | 23824 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, |
| 20106 | .{ ._, ._, .movzx, .tmp1d, .memia(.src1w, .tmp0, .add_size), ._, ._ }, | 23825 | .{ ._, ._dqa, .mov, .memia(.dst0x, .tmp0, .add_size), .tmp1x, ._, ._ }, |
| 20107 | .{ ._, ._, .mov, .mem(.tmp2d), .tmp1d, ._, ._ }, | 23826 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, |
| 20108 | .{ ._, ._ss, .mov, .tmp4x, .mem(.tmp2d), ._, ._ }, | ||
| 20109 | .{ ._, ._, .call, .tmp5d, ._, ._, ._ }, | ||
| 20110 | .{ ._, ._ss, .mov, .mem(.tmp2d), .tmp3x, ._, ._ }, | ||
| 20111 | .{ ._, ._, .mov, .tmp1d, .mem(.tmp2d), ._, ._ }, | ||
| 20112 | .{ ._, ._, .mov, .memia(.dst0w, .tmp0, .add_size), .tmp1w, ._, ._ }, | ||
| 20113 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, | ||
| 20114 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 23827 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 20115 | } }, | 23828 | } }, |
| 20116 | }, .{ | 23829 | }, .{ |
| 20117 | .required_features = .{ .avx, null, null, null }, | 23830 | .required_features = .{ .sse, null, null, null }, |
| 20118 | .src_constraints = .{ | 23831 | .src_constraints = .{ |
| 20119 | .{ .scalar_float = .{ .of = .dword, .is = .dword } }, | 23832 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, |
| 20120 | .{ .scalar_float = .{ .of = .dword, .is = .dword } }, | 23833 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, |
| 20121 | .any, | 23834 | .any, |
| 20122 | }, | 23835 | }, |
| 20123 | .patterns = &.{ | 23836 | .patterns = &.{ |
| 20124 | .{ .src = .{ .to_sse, .to_sse, .none } }, | 23837 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 20125 | }, | 23838 | }, |
| 23839 | .call_frame = .{ .alignment = .@"16" }, | ||
| 20126 | .extra_temps = .{ | 23840 | .extra_temps = .{ |
| 20127 | .{ .type = .f32, .kind = .{ .rc = .sse } }, | 23841 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 20128 | .unused, | 23842 | .{ .type = .f128, .kind = .{ .reg = .xmm0 } }, |
| 20129 | .unused, | 23843 | .{ .type = .f128, .kind = .{ .reg = .xmm1 } }, |
| 20130 | .unused, | 23844 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "fmaxq" } } }, |
| 20131 | .unused, | 23845 | .unused, |
| 20132 | .unused, | 23846 | .unused, |
| 20133 | .unused, | 23847 | .unused, |
| ... | @@ -20136,260 +23850,265 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -20136,260 +23850,265 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 20136 | .unused, | 23850 | .unused, |
| 20137 | .unused, | 23851 | .unused, |
| 20138 | }, | 23852 | }, |
| 20139 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, | 23853 | .dst_temps = .{ .mem, .unused }, |
| 23854 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | ||
| 20140 | .each = .{ .once = &.{ | 23855 | .each = .{ .once = &.{ |
| 20141 | .{ ._, .v_ss, .cmp, .tmp0x, .src0x, .src0d, .vp(.unord) }, | 23856 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, |
| 20142 | .{ ._, .v_ss, .max, .dst0x, .src1x, .src0d, ._ }, | 23857 | .{ .@"0:", ._ps, .mova, .tmp1x, .memia(.src0x, .tmp0, .add_size), ._, ._ }, |
| 20143 | .{ ._, .v_ps, .blendv, .dst0x, .dst0x, .src1x, .tmp0x }, | 23858 | .{ ._, ._ps, .mova, .tmp2x, .memia(.src1x, .tmp0, .add_size), ._, ._ }, |
| 23859 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, | ||
| 23860 | .{ ._, ._ps, .mova, .memia(.dst0x, .tmp0, .add_size), .tmp1x, ._, ._ }, | ||
| 23861 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, | ||
| 23862 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | ||
| 20144 | } }, | 23863 | } }, |
| 20145 | }, .{ | 23864 | } }) catch |err| switch (err) { |
| 20146 | .required_features = .{ .sse4_1, null, null, null }, | 23865 | error.SelectFailed => return cg.fail("failed to select {s} {} {} {}", .{ |
| 20147 | .src_constraints = .{ | 23866 | @tagName(air_tag), |
| 20148 | .{ .scalar_float = .{ .of = .dword, .is = .dword } }, | 23867 | cg.typeOf(bin_op.lhs).fmt(pt), |
| 20149 | .{ .scalar_float = .{ .of = .dword, .is = .dword } }, | 23868 | ops[0].tracking(cg), |
| 20150 | .any, | 23869 | ops[1].tracking(cg), |
| 20151 | }, | 23870 | }), |
| 23871 | else => |e| return e, | ||
| 23872 | }; | ||
| 23873 | try res[0].finish(inst, &.{ bin_op.lhs, bin_op.rhs }, &ops, cg); | ||
| 23874 | }, | ||
| 23875 | .min => |air_tag| if (use_old) try cg.airBinOp(inst, air_tag) else { | ||
| 23876 | const bin_op = air_datas[@intFromEnum(inst)].bin_op; | ||
| 23877 | var ops = try cg.tempsFromOperands(inst, .{ bin_op.lhs, bin_op.rhs }); | ||
| 23878 | var res: [1]Temp = undefined; | ||
| 23879 | cg.select(&res, &.{cg.typeOf(bin_op.lhs)}, &ops, comptime &.{ .{ | ||
| 23880 | .required_features = .{ .cmov, null, null, null }, | ||
| 23881 | .src_constraints = .{ .{ .signed_int = .byte }, .{ .signed_int = .byte }, .any }, | ||
| 20152 | .patterns = &.{ | 23882 | .patterns = &.{ |
| 20153 | .{ .src = .{ .{ .to_reg = .xmm0 }, .to_sse, .none } }, | 23883 | .{ .src = .{ .to_mut_gpr, .to_gpr, .none } }, |
| 20154 | }, | 23884 | }, |
| 20155 | .dst_temps = .{ .{ .rc = .sse }, .unused }, | 23885 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| 23886 | .clobbers = .{ .eflags = true }, | ||
| 20156 | .each = .{ .once = &.{ | 23887 | .each = .{ .once = &.{ |
| 20157 | .{ ._, ._ps, .mova, .dst0x, .src1x, ._, ._ }, | 23888 | .{ ._, ._, .cmp, .src0b, .src1b, ._, ._ }, |
| 20158 | .{ ._, ._ss, .max, .dst0x, .src0d, ._, ._ }, | 23889 | .{ ._, ._ge, .cmov, .dst0d, .src1d, ._, ._ }, |
| 20159 | .{ ._, ._ss, .cmp, .src0x, .src0d, .sp(.unord), ._ }, | ||
| 20160 | .{ ._, ._ps, .blendv, .dst0x, .src1x, .src0x, ._ }, | ||
| 20161 | } }, | 23890 | } }, |
| 20162 | }, .{ | 23891 | }, .{ |
| 20163 | .required_features = .{ .sse, null, null, null }, | 23892 | .src_constraints = .{ .{ .signed_int = .byte }, .{ .signed_int = .byte }, .any }, |
| 20164 | .src_constraints = .{ | ||
| 20165 | .{ .scalar_float = .{ .of = .dword, .is = .dword } }, | ||
| 20166 | .{ .scalar_float = .{ .of = .dword, .is = .dword } }, | ||
| 20167 | .any, | ||
| 20168 | }, | ||
| 20169 | .patterns = &.{ | 23893 | .patterns = &.{ |
| 20170 | .{ .src = .{ .to_mut_sse, .to_sse, .none } }, | 23894 | .{ .src = .{ .to_mut_gpr, .mem, .none } }, |
| 20171 | }, | 23895 | .{ .src = .{ .mem, .to_mut_gpr, .none }, .commute = .{ 0, 1 } }, |
| 20172 | .extra_temps = .{ | 23896 | .{ .src = .{ .to_mut_gpr, .to_gpr, .none } }, |
| 20173 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, | ||
| 20174 | .unused, | ||
| 20175 | .unused, | ||
| 20176 | .unused, | ||
| 20177 | .unused, | ||
| 20178 | .unused, | ||
| 20179 | .unused, | ||
| 20180 | .unused, | ||
| 20181 | .unused, | ||
| 20182 | .unused, | ||
| 20183 | .unused, | ||
| 20184 | }, | 23897 | }, |
| 20185 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, | 23898 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| 23899 | .clobbers = .{ .eflags = true }, | ||
| 20186 | .each = .{ .once = &.{ | 23900 | .each = .{ .once = &.{ |
| 20187 | .{ ._, ._ps, .mova, .tmp0x, .src1x, ._, ._ }, | 23901 | .{ ._, ._, .cmp, .src0b, .src1b, ._, ._ }, |
| 20188 | .{ ._, ._ss, .max, .tmp0x, .src0d, ._, ._ }, | 23902 | .{ ._, ._nge, .j, .@"0f", ._, ._, ._ }, |
| 20189 | .{ ._, ._ss, .cmp, .dst0x, .src0d, .sp(.ord), ._ }, | 23903 | .{ ._, ._, .mov, .dst0b, .src1b, ._, ._ }, |
| 20190 | .{ ._, ._ps, .@"and", .tmp0x, .dst0x, ._, ._ }, | ||
| 20191 | .{ ._, ._ps, .andn, .dst0x, .src1x, ._, ._ }, | ||
| 20192 | .{ ._, ._ps, .@"or", .dst0x, .tmp0x, ._, ._ }, | ||
| 20193 | } }, | 23904 | } }, |
| 20194 | }, .{ | 23905 | }, .{ |
| 20195 | .required_features = .{ .avx, null, null, null }, | 23906 | .required_features = .{ .cmov, null, null, null }, |
| 20196 | .src_constraints = .{ | 23907 | .src_constraints = .{ .{ .unsigned_int = .byte }, .{ .unsigned_int = .byte }, .any }, |
| 20197 | .{ .scalar_float = .{ .of = .xword, .is = .dword } }, | ||
| 20198 | .{ .scalar_float = .{ .of = .xword, .is = .dword } }, | ||
| 20199 | .any, | ||
| 20200 | }, | ||
| 20201 | .patterns = &.{ | 23908 | .patterns = &.{ |
| 20202 | .{ .src = .{ .to_sse, .to_sse, .none } }, | 23909 | .{ .src = .{ .to_mut_gpr, .to_gpr, .none } }, |
| 20203 | }, | ||
| 20204 | .extra_temps = .{ | ||
| 20205 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, | ||
| 20206 | .unused, | ||
| 20207 | .unused, | ||
| 20208 | .unused, | ||
| 20209 | .unused, | ||
| 20210 | .unused, | ||
| 20211 | .unused, | ||
| 20212 | .unused, | ||
| 20213 | .unused, | ||
| 20214 | .unused, | ||
| 20215 | .unused, | ||
| 20216 | }, | 23910 | }, |
| 20217 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, | 23911 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| 23912 | .clobbers = .{ .eflags = true }, | ||
| 20218 | .each = .{ .once = &.{ | 23913 | .each = .{ .once = &.{ |
| 20219 | .{ ._, .v_ps, .cmp, .tmp0x, .src0x, .src0x, .vp(.unord) }, | 23914 | .{ ._, ._, .cmp, .src0b, .src1b, ._, ._ }, |
| 20220 | .{ ._, .v_ps, .max, .dst0x, .src1x, .src0x, ._ }, | 23915 | .{ ._, ._ae, .cmov, .dst0d, .src1d, ._, ._ }, |
| 20221 | .{ ._, .v_ps, .blendv, .dst0x, .dst0x, .src1x, .tmp0x }, | ||
| 20222 | } }, | 23916 | } }, |
| 20223 | }, .{ | 23917 | }, .{ |
| 20224 | .required_features = .{ .sse4_1, null, null, null }, | 23918 | .src_constraints = .{ .{ .unsigned_int = .byte }, .{ .unsigned_int = .byte }, .any }, |
| 20225 | .src_constraints = .{ | 23919 | .patterns = &.{ |
| 20226 | .{ .scalar_float = .{ .of = .xword, .is = .dword } }, | 23920 | .{ .src = .{ .to_mut_gpr, .mem, .none } }, |
| 20227 | .{ .scalar_float = .{ .of = .xword, .is = .dword } }, | 23921 | .{ .src = .{ .mem, .to_mut_gpr, .none }, .commute = .{ 0, 1 } }, |
| 20228 | .any, | 23922 | .{ .src = .{ .to_mut_gpr, .to_gpr, .none } }, |
| 20229 | }, | 23923 | }, |
| 23924 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, | ||
| 23925 | .clobbers = .{ .eflags = true }, | ||
| 23926 | .each = .{ .once = &.{ | ||
| 23927 | .{ ._, ._, .cmp, .src0b, .src1b, ._, ._ }, | ||
| 23928 | .{ ._, ._nae, .j, .@"0f", ._, ._, ._ }, | ||
| 23929 | .{ ._, ._, .mov, .dst0b, .src1b, ._, ._ }, | ||
| 23930 | } }, | ||
| 23931 | }, .{ | ||
| 23932 | .required_features = .{ .cmov, null, null, null }, | ||
| 23933 | .src_constraints = .{ .{ .signed_int = .word }, .{ .signed_int = .word }, .any }, | ||
| 20230 | .patterns = &.{ | 23934 | .patterns = &.{ |
| 20231 | .{ .src = .{ .{ .to_reg = .xmm0 }, .mem, .none } }, | 23935 | .{ .src = .{ .to_mut_gpr, .mem, .none } }, |
| 20232 | .{ .src = .{ .mem, .{ .to_reg = .xmm0 }, .none }, .commute = .{ 0, 1 } }, | 23936 | .{ .src = .{ .mem, .to_mut_gpr, .none }, .commute = .{ 0, 1 } }, |
| 20233 | .{ .src = .{ .{ .to_reg = .xmm0 }, .to_sse, .none } }, | 23937 | .{ .src = .{ .to_mut_gpr, .to_gpr, .none } }, |
| 20234 | }, | 23938 | }, |
| 20235 | .dst_temps = .{ .{ .rc = .sse }, .unused }, | 23939 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| 23940 | .clobbers = .{ .eflags = true }, | ||
| 20236 | .each = .{ .once = &.{ | 23941 | .each = .{ .once = &.{ |
| 20237 | .{ ._, ._ps, .mova, .dst0x, .src1x, ._, ._ }, | 23942 | .{ ._, ._, .cmp, .src0w, .src1w, ._, ._ }, |
| 20238 | .{ ._, ._ps, .max, .dst0x, .src0x, ._, ._ }, | 23943 | .{ ._, ._ge, .cmov, .dst0w, .src1w, ._, ._ }, |
| 20239 | .{ ._, ._ps, .cmp, .src0x, .src0x, .sp(.unord), ._ }, | ||
| 20240 | .{ ._, ._ps, .blendv, .dst0x, .src1x, .src0x, ._ }, | ||
| 20241 | } }, | 23944 | } }, |
| 20242 | }, .{ | 23945 | }, .{ |
| 20243 | .required_features = .{ .sse, null, null, null }, | 23946 | .src_constraints = .{ .{ .signed_int = .word }, .{ .signed_int = .word }, .any }, |
| 20244 | .src_constraints = .{ | 23947 | .patterns = &.{ |
| 20245 | .{ .scalar_float = .{ .of = .xword, .is = .dword } }, | 23948 | .{ .src = .{ .to_mut_gpr, .mem, .none } }, |
| 20246 | .{ .scalar_float = .{ .of = .xword, .is = .dword } }, | 23949 | .{ .src = .{ .mem, .to_mut_gpr, .none }, .commute = .{ 0, 1 } }, |
| 20247 | .any, | 23950 | .{ .src = .{ .to_mut_gpr, .to_gpr, .none } }, |
| 20248 | }, | 23951 | }, |
| 23952 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, | ||
| 23953 | .clobbers = .{ .eflags = true }, | ||
| 23954 | .each = .{ .once = &.{ | ||
| 23955 | .{ ._, ._, .cmp, .src0w, .src1w, ._, ._ }, | ||
| 23956 | .{ ._, ._nge, .j, .@"0f", ._, ._, ._ }, | ||
| 23957 | .{ ._, ._, .mov, .dst0w, .src1w, ._, ._ }, | ||
| 23958 | } }, | ||
| 23959 | }, .{ | ||
| 23960 | .required_features = .{ .cmov, null, null, null }, | ||
| 23961 | .src_constraints = .{ .{ .unsigned_int = .word }, .{ .unsigned_int = .word }, .any }, | ||
| 20249 | .patterns = &.{ | 23962 | .patterns = &.{ |
| 20250 | .{ .src = .{ .to_mut_sse, .mem, .none } }, | 23963 | .{ .src = .{ .to_mut_gpr, .mem, .none } }, |
| 20251 | .{ .src = .{ .mem, .to_mut_sse, .none }, .commute = .{ 0, 1 } }, | 23964 | .{ .src = .{ .mem, .to_mut_gpr, .none }, .commute = .{ 0, 1 } }, |
| 20252 | .{ .src = .{ .to_mut_sse, .to_sse, .none } }, | 23965 | .{ .src = .{ .to_mut_gpr, .to_gpr, .none } }, |
| 20253 | }, | 23966 | }, |
| 20254 | .extra_temps = .{ | 23967 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| 20255 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, | 23968 | .clobbers = .{ .eflags = true }, |
| 20256 | .unused, | 23969 | .each = .{ .once = &.{ |
| 20257 | .unused, | 23970 | .{ ._, ._, .cmp, .src0w, .src1w, ._, ._ }, |
| 20258 | .unused, | 23971 | .{ ._, ._ae, .cmov, .dst0w, .src1w, ._, ._ }, |
| 20259 | .unused, | 23972 | } }, |
| 20260 | .unused, | 23973 | }, .{ |
| 20261 | .unused, | 23974 | .src_constraints = .{ .{ .unsigned_int = .word }, .{ .unsigned_int = .word }, .any }, |
| 20262 | .unused, | 23975 | .patterns = &.{ |
| 20263 | .unused, | 23976 | .{ .src = .{ .to_mut_gpr, .mem, .none } }, |
| 20264 | .unused, | 23977 | .{ .src = .{ .mem, .to_mut_gpr, .none }, .commute = .{ 0, 1 } }, |
| 20265 | .unused, | 23978 | .{ .src = .{ .to_mut_gpr, .to_gpr, .none } }, |
| 20266 | }, | 23979 | }, |
| 20267 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, | 23980 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| 23981 | .clobbers = .{ .eflags = true }, | ||
| 20268 | .each = .{ .once = &.{ | 23982 | .each = .{ .once = &.{ |
| 20269 | .{ ._, ._ps, .mova, .tmp0x, .src1x, ._, ._ }, | 23983 | .{ ._, ._, .cmp, .src0w, .src1w, ._, ._ }, |
| 20270 | .{ ._, ._ps, .max, .tmp0x, .src0x, ._, ._ }, | 23984 | .{ ._, ._nae, .j, .@"0f", ._, ._, ._ }, |
| 20271 | .{ ._, ._ps, .cmp, .dst0x, .src0x, .sp(.ord), ._ }, | 23985 | .{ ._, ._, .mov, .dst0w, .src1w, ._, ._ }, |
| 20272 | .{ ._, ._ps, .@"and", .tmp0x, .dst0x, ._, ._ }, | ||
| 20273 | .{ ._, ._ps, .andn, .dst0x, .src1x, ._, ._ }, | ||
| 20274 | .{ ._, ._ps, .@"or", .dst0x, .tmp0x, ._, ._ }, | ||
| 20275 | } }, | 23986 | } }, |
| 20276 | }, .{ | 23987 | }, .{ |
| 20277 | .required_features = .{ .avx, null, null, null }, | 23988 | .required_features = .{ .cmov, null, null, null }, |
| 20278 | .src_constraints = .{ | 23989 | .src_constraints = .{ .{ .signed_int = .dword }, .{ .signed_int = .dword }, .any }, |
| 20279 | .{ .scalar_float = .{ .of = .yword, .is = .dword } }, | 23990 | .patterns = &.{ |
| 20280 | .{ .scalar_float = .{ .of = .yword, .is = .dword } }, | 23991 | .{ .src = .{ .to_mut_gpr, .mem, .none } }, |
| 20281 | .any, | 23992 | .{ .src = .{ .mem, .to_mut_gpr, .none }, .commute = .{ 0, 1 } }, |
| 23993 | .{ .src = .{ .to_mut_gpr, .to_gpr, .none } }, | ||
| 20282 | }, | 23994 | }, |
| 23995 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, | ||
| 23996 | .clobbers = .{ .eflags = true }, | ||
| 23997 | .each = .{ .once = &.{ | ||
| 23998 | .{ ._, ._, .cmp, .src0d, .src1d, ._, ._ }, | ||
| 23999 | .{ ._, ._ge, .cmov, .dst0d, .src1d, ._, ._ }, | ||
| 24000 | } }, | ||
| 24001 | }, .{ | ||
| 24002 | .src_constraints = .{ .{ .signed_int = .dword }, .{ .signed_int = .dword }, .any }, | ||
| 20283 | .patterns = &.{ | 24003 | .patterns = &.{ |
| 20284 | .{ .src = .{ .to_sse, .to_sse, .none } }, | 24004 | .{ .src = .{ .to_mut_gpr, .mem, .none } }, |
| 24005 | .{ .src = .{ .mem, .to_mut_gpr, .none }, .commute = .{ 0, 1 } }, | ||
| 24006 | .{ .src = .{ .to_mut_gpr, .to_gpr, .none } }, | ||
| 20285 | }, | 24007 | }, |
| 20286 | .extra_temps = .{ | 24008 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| 20287 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, | 24009 | .clobbers = .{ .eflags = true }, |
| 20288 | .unused, | 24010 | .each = .{ .once = &.{ |
| 20289 | .unused, | 24011 | .{ ._, ._, .cmp, .src0d, .src1d, ._, ._ }, |
| 20290 | .unused, | 24012 | .{ ._, ._nge, .j, .@"0f", ._, ._, ._ }, |
| 20291 | .unused, | 24013 | .{ ._, ._, .mov, .dst0d, .src1d, ._, ._ }, |
| 20292 | .unused, | 24014 | } }, |
| 20293 | .unused, | 24015 | }, .{ |
| 20294 | .unused, | 24016 | .required_features = .{ .cmov, null, null, null }, |
| 20295 | .unused, | 24017 | .src_constraints = .{ .{ .unsigned_int = .dword }, .{ .unsigned_int = .dword }, .any }, |
| 20296 | .unused, | 24018 | .patterns = &.{ |
| 20297 | .unused, | 24019 | .{ .src = .{ .to_mut_gpr, .mem, .none } }, |
| 24020 | .{ .src = .{ .mem, .to_mut_gpr, .none }, .commute = .{ 0, 1 } }, | ||
| 24021 | .{ .src = .{ .to_mut_gpr, .to_gpr, .none } }, | ||
| 20298 | }, | 24022 | }, |
| 20299 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, | 24023 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| 24024 | .clobbers = .{ .eflags = true }, | ||
| 20300 | .each = .{ .once = &.{ | 24025 | .each = .{ .once = &.{ |
| 20301 | .{ ._, .v_ps, .cmp, .tmp0y, .src0y, .src0y, .vp(.unord) }, | 24026 | .{ ._, ._, .cmp, .src0d, .src1d, ._, ._ }, |
| 20302 | .{ ._, .v_ps, .max, .dst0y, .src1y, .src0y, ._ }, | 24027 | .{ ._, ._ae, .cmov, .dst0d, .src1d, ._, ._ }, |
| 20303 | .{ ._, .v_ps, .blendv, .dst0y, .dst0y, .src1y, .tmp0y }, | ||
| 20304 | } }, | 24028 | } }, |
| 20305 | }, .{ | 24029 | }, .{ |
| 20306 | .required_features = .{ .avx, null, null, null }, | 24030 | .src_constraints = .{ .{ .unsigned_int = .dword }, .{ .unsigned_int = .dword }, .any }, |
| 20307 | .src_constraints = .{ | 24031 | .patterns = &.{ |
| 20308 | .{ .multiple_scalar_float = .{ .of = .yword, .is = .dword } }, | 24032 | .{ .src = .{ .to_mut_gpr, .mem, .none } }, |
| 20309 | .{ .multiple_scalar_float = .{ .of = .yword, .is = .dword } }, | 24033 | .{ .src = .{ .mem, .to_mut_gpr, .none }, .commute = .{ 0, 1 } }, |
| 20310 | .any, | 24034 | .{ .src = .{ .to_mut_gpr, .to_gpr, .none } }, |
| 20311 | }, | 24035 | }, |
| 24036 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, | ||
| 24037 | .clobbers = .{ .eflags = true }, | ||
| 24038 | .each = .{ .once = &.{ | ||
| 24039 | .{ ._, ._, .cmp, .src0d, .src1d, ._, ._ }, | ||
| 24040 | .{ ._, ._nae, .j, .@"0f", ._, ._, ._ }, | ||
| 24041 | .{ ._, ._, .mov, .dst0d, .src1d, ._, ._ }, | ||
| 24042 | } }, | ||
| 24043 | }, .{ | ||
| 24044 | .required_features = .{ .@"64bit", .cmov, null, null }, | ||
| 24045 | .src_constraints = .{ .{ .signed_int = .qword }, .{ .signed_int = .qword }, .any }, | ||
| 20312 | .patterns = &.{ | 24046 | .patterns = &.{ |
| 20313 | .{ .src = .{ .to_mem, .to_mem, .none } }, | 24047 | .{ .src = .{ .to_mut_gpr, .mem, .none } }, |
| 24048 | .{ .src = .{ .mem, .to_mut_gpr, .none }, .commute = .{ 0, 1 } }, | ||
| 24049 | .{ .src = .{ .to_mut_gpr, .to_gpr, .none } }, | ||
| 20314 | }, | 24050 | }, |
| 20315 | .extra_temps = .{ | 24051 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| 20316 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 24052 | .clobbers = .{ .eflags = true }, |
| 20317 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, | 24053 | .each = .{ .once = &.{ |
| 20318 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, | 24054 | .{ ._, ._, .cmp, .src0q, .src1q, ._, ._ }, |
| 20319 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, | 24055 | .{ ._, ._ge, .cmov, .dst0q, .src1q, ._, ._ }, |
| 20320 | .unused, | 24056 | } }, |
| 20321 | .unused, | 24057 | }, .{ |
| 20322 | .unused, | 24058 | .required_features = .{ .@"64bit", null, null, null }, |
| 20323 | .unused, | 24059 | .src_constraints = .{ .{ .signed_int = .qword }, .{ .signed_int = .qword }, .any }, |
| 20324 | .unused, | 24060 | .patterns = &.{ |
| 20325 | .unused, | 24061 | .{ .src = .{ .to_mut_gpr, .mem, .none } }, |
| 20326 | .unused, | 24062 | .{ .src = .{ .mem, .to_mut_gpr, .none }, .commute = .{ 0, 1 } }, |
| 24063 | .{ .src = .{ .to_mut_gpr, .to_gpr, .none } }, | ||
| 20327 | }, | 24064 | }, |
| 20328 | .dst_temps = .{ .mem, .unused }, | 24065 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| 20329 | .clobbers = .{ .eflags = true }, | 24066 | .clobbers = .{ .eflags = true }, |
| 20330 | .each = .{ .once = &.{ | 24067 | .each = .{ .once = &.{ |
| 20331 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, | 24068 | .{ ._, ._, .cmp, .src0q, .src1q, ._, ._ }, |
| 20332 | .{ .@"0:", .v_ps, .mova, .tmp1y, .memia(.src0y, .tmp0, .add_size), ._, ._ }, | 24069 | .{ ._, ._nge, .j, .@"0f", ._, ._, ._ }, |
| 20333 | .{ ._, .v_ps, .mova, .tmp2y, .memia(.src1y, .tmp0, .add_size), ._, ._ }, | 24070 | .{ ._, ._, .mov, .dst0q, .src1q, ._, ._ }, |
| 20334 | .{ ._, .v_ps, .cmp, .tmp3y, .tmp1y, .tmp1y, .vp(.unord) }, | ||
| 20335 | .{ ._, .v_ps, .max, .tmp1y, .tmp2y, .tmp1y, ._ }, | ||
| 20336 | .{ ._, .v_ps, .blendv, .tmp1y, .tmp1y, .tmp2y, .tmp3y }, | ||
| 20337 | .{ ._, .v_ps, .mova, .memia(.dst0y, .tmp0, .add_size), .tmp1y, ._, ._ }, | ||
| 20338 | .{ ._, ._, .add, .tmp0p, .si(32), ._, ._ }, | ||
| 20339 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | ||
| 20340 | } }, | 24071 | } }, |
| 20341 | }, .{ | 24072 | }, .{ |
| 20342 | .required_features = .{ .sse4_1, null, null, null }, | 24073 | .required_features = .{ .@"64bit", .cmov, null, null }, |
| 20343 | .src_constraints = .{ | 24074 | .src_constraints = .{ .{ .unsigned_int = .qword }, .{ .unsigned_int = .qword }, .any }, |
| 20344 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .dword } }, | ||
| 20345 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .dword } }, | ||
| 20346 | .any, | ||
| 20347 | }, | ||
| 20348 | .patterns = &.{ | 24075 | .patterns = &.{ |
| 20349 | .{ .src = .{ .to_mem, .to_mem, .none } }, | 24076 | .{ .src = .{ .to_mut_gpr, .mem, .none } }, |
| 20350 | }, | 24077 | .{ .src = .{ .mem, .to_mut_gpr, .none }, .commute = .{ 0, 1 } }, |
| 20351 | .extra_temps = .{ | 24078 | .{ .src = .{ .to_mut_gpr, .to_gpr, .none } }, |
| 20352 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | ||
| 20353 | .{ .type = .vector_4_f32, .kind = .{ .reg = .xmm0 } }, | ||
| 20354 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, | ||
| 20355 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, | ||
| 20356 | .unused, | ||
| 20357 | .unused, | ||
| 20358 | .unused, | ||
| 20359 | .unused, | ||
| 20360 | .unused, | ||
| 20361 | .unused, | ||
| 20362 | .unused, | ||
| 20363 | }, | 24079 | }, |
| 20364 | .dst_temps = .{ .mem, .unused }, | 24080 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| 20365 | .clobbers = .{ .eflags = true }, | 24081 | .clobbers = .{ .eflags = true }, |
| 20366 | .each = .{ .once = &.{ | 24082 | .each = .{ .once = &.{ |
| 20367 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, | 24083 | .{ ._, ._, .cmp, .src0q, .src1q, ._, ._ }, |
| 20368 | .{ .@"0:", ._ps, .mova, .tmp1x, .memia(.src0x, .tmp0, .add_size), ._, ._ }, | 24084 | .{ ._, ._ae, .cmov, .dst0q, .src1q, ._, ._ }, |
| 20369 | .{ ._, ._ps, .mova, .tmp2x, .memia(.src1x, .tmp0, .add_size), ._, ._ }, | ||
| 20370 | .{ ._, ._ps, .mova, .tmp3x, .tmp2x, ._, ._ }, | ||
| 20371 | .{ ._, ._ps, .max, .tmp3x, .tmp1x, ._, ._ }, | ||
| 20372 | .{ ._, ._ps, .cmp, .tmp1x, .tmp1x, .sp(.unord), ._ }, | ||
| 20373 | .{ ._, ._ps, .blendv, .tmp3x, .tmp2x, .tmp1x, ._ }, | ||
| 20374 | .{ ._, ._ps, .mova, .memia(.dst0x, .tmp0, .add_size), .tmp3x, ._, ._ }, | ||
| 20375 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, | ||
| 20376 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | ||
| 20377 | } }, | 24085 | } }, |
| 20378 | }, .{ | 24086 | }, .{ |
| 20379 | .required_features = .{ .sse, null, null, null }, | 24087 | .required_features = .{ .@"64bit", null, null, null }, |
| 20380 | .src_constraints = .{ | 24088 | .src_constraints = .{ .{ .unsigned_int = .qword }, .{ .unsigned_int = .qword }, .any }, |
| 20381 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .dword } }, | 24089 | .patterns = &.{ |
| 20382 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .dword } }, | 24090 | .{ .src = .{ .to_mut_gpr, .mem, .none } }, |
| 20383 | .any, | 24091 | .{ .src = .{ .mem, .to_mut_gpr, .none }, .commute = .{ 0, 1 } }, |
| 24092 | .{ .src = .{ .to_mut_gpr, .to_gpr, .none } }, | ||
| 20384 | }, | 24093 | }, |
| 24094 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, | ||
| 24095 | .clobbers = .{ .eflags = true }, | ||
| 24096 | .each = .{ .once = &.{ | ||
| 24097 | .{ ._, ._, .cmp, .src0q, .src1q, ._, ._ }, | ||
| 24098 | .{ ._, ._nae, .j, .@"0f", ._, ._, ._ }, | ||
| 24099 | .{ ._, ._, .mov, .dst0q, .src1q, ._, ._ }, | ||
| 24100 | } }, | ||
| 24101 | }, .{ | ||
| 24102 | .required_features = .{ .@"64bit", .cmov, null, null }, | ||
| 24103 | .src_constraints = .{ .any_signed_int, .any_signed_int, .any }, | ||
| 20385 | .patterns = &.{ | 24104 | .patterns = &.{ |
| 20386 | .{ .src = .{ .to_mem, .to_mem, .none } }, | 24105 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 20387 | }, | 24106 | }, |
| 20388 | .extra_temps = .{ | 24107 | .extra_temps = .{ |
| 20389 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 24108 | .{ .type = .isize, .kind = .{ .reg = .rsi } }, |
| 20390 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, | 24109 | .{ .type = .u64, .kind = .{ .reg = .rdi } }, |
| 20391 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, | 24110 | .{ .type = .u64, .kind = .{ .reg = .rcx } }, |
| 20392 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, | 24111 | .unused, |
| 20393 | .unused, | 24112 | .unused, |
| 20394 | .unused, | 24113 | .unused, |
| 20395 | .unused, | 24114 | .unused, |
| ... | @@ -20401,33 +24120,31 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -20401,33 +24120,31 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 20401 | .dst_temps = .{ .mem, .unused }, | 24120 | .dst_temps = .{ .mem, .unused }, |
| 20402 | .clobbers = .{ .eflags = true }, | 24121 | .clobbers = .{ .eflags = true }, |
| 20403 | .each = .{ .once = &.{ | 24122 | .each = .{ .once = &.{ |
| 20404 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, | 24123 | .{ ._, ._, .mov, .tmp0p, .sia(1, .src0, .sub_size_div_8), ._, ._ }, |
| 20405 | .{ .@"0:", ._ps, .mova, .tmp1x, .memia(.src0x, .tmp0, .add_size), ._, ._ }, | 24124 | .{ ._, ._c, .cl, ._, ._, ._, ._ }, |
| 20406 | .{ ._, ._ps, .mova, .tmp2x, .memia(.src1x, .tmp0, .add_size), ._, ._ }, | 24125 | .{ .@"0:", ._, .mov, .tmp1q, .memsiad(.src0q, .@"8", .tmp0, .add_size, -8), ._, ._ }, |
| 20407 | .{ ._, ._ps, .mova, .tmp3x, .tmp2x, ._, ._ }, | 24126 | .{ ._, ._, .sbb, .tmp1q, .memsiad(.src1q, .@"8", .tmp0, .add_size, -8), ._, ._ }, |
| 20408 | .{ ._, ._ps, .max, .tmp3x, .tmp1x, ._, ._ }, | 24127 | .{ ._, ._c, .in, .tmp0p, ._, ._, ._ }, |
| 20409 | .{ ._, ._ps, .cmp, .tmp1x, .tmp1x, .sp(.ord), ._ }, | 24128 | .{ ._, ._nz, .j, .@"0b", ._, ._, ._ }, |
| 20410 | .{ ._, ._ps, .@"and", .tmp3x, .tmp1x, ._, ._ }, | 24129 | .{ ._, ._, .mov, .tmp1q, .memad(.src0q, .add_size, -8), ._, ._ }, |
| 20411 | .{ ._, ._ps, .andn, .tmp1x, .tmp2x, ._, ._ }, | 24130 | .{ ._, ._, .sbb, .tmp1q, .memad(.src1q, .add_size, -8), ._, ._ }, |
| 20412 | .{ ._, ._ps, .@"or", .tmp1x, .tmp3x, ._, ._ }, | 24131 | .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ }, |
| 20413 | .{ ._, ._ps, .mova, .memia(.dst0x, .tmp0, .add_size), .tmp1x, ._, ._ }, | 24132 | .{ ._, ._, .lea, .tmp1p, .mem(.src1), ._, ._ }, |
| 20414 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, | 24133 | .{ ._, ._ge, .cmov, .tmp0p, .tmp1p, ._, ._ }, |
| 20415 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 24134 | .{ ._, ._, .lea, .tmp1p, .mem(.dst0), ._, ._ }, |
| 24135 | .{ ._, ._, .mov, .tmp2d, .sa(.src0, .add_size_div_8), ._, ._ }, | ||
| 24136 | .{ ._, .@"rep _sq", .mov, ._, ._, ._, ._ }, | ||
| 20416 | } }, | 24137 | } }, |
| 20417 | }, .{ | 24138 | }, .{ |
| 20418 | .required_features = .{ .avx, null, null, null }, | 24139 | .required_features = .{ .@"64bit", null, null, null }, |
| 20419 | .src_constraints = .{ | 24140 | .src_constraints = .{ .any_signed_int, .any_signed_int, .any }, |
| 20420 | .{ .scalar_float = .{ .of = .qword, .is = .qword } }, | ||
| 20421 | .{ .scalar_float = .{ .of = .qword, .is = .qword } }, | ||
| 20422 | .any, | ||
| 20423 | }, | ||
| 20424 | .patterns = &.{ | 24141 | .patterns = &.{ |
| 20425 | .{ .src = .{ .to_sse, .to_sse, .none } }, | 24142 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 20426 | }, | 24143 | }, |
| 20427 | .extra_temps = .{ | 24144 | .extra_temps = .{ |
| 20428 | .{ .type = .f64, .kind = .{ .rc = .sse } }, | 24145 | .{ .type = .isize, .kind = .{ .reg = .rsi } }, |
| 20429 | .unused, | 24146 | .{ .type = .u64, .kind = .{ .reg = .rdi } }, |
| 20430 | .unused, | 24147 | .{ .type = .u64, .kind = .{ .reg = .rcx } }, |
| 20431 | .unused, | 24148 | .unused, |
| 20432 | .unused, | 24149 | .unused, |
| 20433 | .unused, | 24150 | .unused, |
| ... | @@ -20437,43 +24154,34 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -20437,43 +24154,34 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 20437 | .unused, | 24154 | .unused, |
| 20438 | .unused, | 24155 | .unused, |
| 20439 | }, | 24156 | }, |
| 20440 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, | 24157 | .dst_temps = .{ .mem, .unused }, |
| 20441 | .each = .{ .once = &.{ | 24158 | .clobbers = .{ .eflags = true }, |
| 20442 | .{ ._, .v_sd, .cmp, .tmp0x, .src0x, .src0q, .vp(.unord) }, | ||
| 20443 | .{ ._, .v_sd, .max, .dst0x, .src1x, .src0q, ._ }, | ||
| 20444 | .{ ._, .v_pd, .blendv, .dst0x, .dst0x, .src1x, .tmp0x }, | ||
| 20445 | } }, | ||
| 20446 | }, .{ | ||
| 20447 | .required_features = .{ .sse4_1, null, null, null }, | ||
| 20448 | .src_constraints = .{ | ||
| 20449 | .{ .scalar_float = .{ .of = .qword, .is = .qword } }, | ||
| 20450 | .{ .scalar_float = .{ .of = .qword, .is = .qword } }, | ||
| 20451 | .any, | ||
| 20452 | }, | ||
| 20453 | .patterns = &.{ | ||
| 20454 | .{ .src = .{ .{ .to_reg = .xmm0 }, .to_sse, .none } }, | ||
| 20455 | }, | ||
| 20456 | .dst_temps = .{ .{ .rc = .sse }, .unused }, | ||
| 20457 | .each = .{ .once = &.{ | 24159 | .each = .{ .once = &.{ |
| 20458 | .{ ._, ._pd, .mova, .dst0x, .src1x, ._, ._ }, | 24160 | .{ ._, ._, .mov, .tmp0p, .sia(1, .src0, .sub_size_div_8), ._, ._ }, |
| 20459 | .{ ._, ._sd, .max, .dst0x, .src0q, ._, ._ }, | 24161 | .{ ._, ._c, .cl, ._, ._, ._, ._ }, |
| 20460 | .{ ._, ._sd, .cmp, .src0x, .src0q, .sp(.unord), ._ }, | 24162 | .{ .@"0:", ._, .mov, .tmp1q, .memsiad(.src0q, .@"8", .tmp0, .add_size, -8), ._, ._ }, |
| 20461 | .{ ._, ._pd, .blendv, .dst0x, .src1x, .src0x, ._ }, | 24163 | .{ ._, ._, .sbb, .tmp1q, .memsiad(.src1q, .@"8", .tmp0, .add_size, -8), ._, ._ }, |
| 24164 | .{ ._, ._c, .in, .tmp0p, ._, ._, ._ }, | ||
| 24165 | .{ ._, ._nz, .j, .@"0b", ._, ._, ._ }, | ||
| 24166 | .{ ._, ._, .mov, .tmp1q, .memad(.src0q, .add_size, -8), ._, ._ }, | ||
| 24167 | .{ ._, ._, .sbb, .tmp1q, .memad(.src1q, .add_size, -8), ._, ._ }, | ||
| 24168 | .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ }, | ||
| 24169 | .{ ._, ._nge, .j, .@"0f", ._, ._, ._ }, | ||
| 24170 | .{ ._, ._, .lea, .tmp0p, .mem(.src1), ._, ._ }, | ||
| 24171 | .{ .@"0:", ._, .lea, .tmp1p, .mem(.dst0), ._, ._ }, | ||
| 24172 | .{ ._, ._, .mov, .tmp2d, .sa(.src0, .add_size_div_8), ._, ._ }, | ||
| 24173 | .{ ._, .@"rep _sq", .mov, ._, ._, ._, ._ }, | ||
| 20462 | } }, | 24174 | } }, |
| 20463 | }, .{ | 24175 | }, .{ |
| 20464 | .required_features = .{ .sse2, null, null, null }, | 24176 | .required_features = .{ .@"64bit", .cmov, null, null }, |
| 20465 | .src_constraints = .{ | 24177 | .src_constraints = .{ .any_unsigned_int, .any_unsigned_int, .any }, |
| 20466 | .{ .scalar_float = .{ .of = .qword, .is = .qword } }, | ||
| 20467 | .{ .scalar_float = .{ .of = .qword, .is = .qword } }, | ||
| 20468 | .any, | ||
| 20469 | }, | ||
| 20470 | .patterns = &.{ | 24178 | .patterns = &.{ |
| 20471 | .{ .src = .{ .to_mut_sse, .to_sse, .none } }, | 24179 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 20472 | }, | 24180 | }, |
| 20473 | .extra_temps = .{ | 24181 | .extra_temps = .{ |
| 20474 | .{ .type = .vector_2_f64, .kind = .{ .rc = .sse } }, | 24182 | .{ .type = .isize, .kind = .{ .reg = .rsi } }, |
| 20475 | .unused, | 24183 | .{ .type = .u64, .kind = .{ .reg = .rdi } }, |
| 20476 | .unused, | 24184 | .{ .type = .u64, .kind = .{ .reg = .rcx } }, |
| 20477 | .unused, | 24185 | .unused, |
| 20478 | .unused, | 24186 | .unused, |
| 20479 | .unused, | 24187 | .unused, |
| ... | @@ -20483,30 +24191,32 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -20483,30 +24191,32 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 20483 | .unused, | 24191 | .unused, |
| 20484 | .unused, | 24192 | .unused, |
| 20485 | }, | 24193 | }, |
| 20486 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, | 24194 | .dst_temps = .{ .mem, .unused }, |
| 24195 | .clobbers = .{ .eflags = true }, | ||
| 20487 | .each = .{ .once = &.{ | 24196 | .each = .{ .once = &.{ |
| 20488 | .{ ._, ._pd, .mova, .tmp0x, .src1x, ._, ._ }, | 24197 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size_div_8), ._, ._ }, |
| 20489 | .{ ._, ._sd, .max, .tmp0x, .src0q, ._, ._ }, | 24198 | .{ ._, ._c, .cl, ._, ._, ._, ._ }, |
| 20490 | .{ ._, ._sd, .cmp, .dst0x, .src0q, .sp(.ord), ._ }, | 24199 | .{ .@"0:", ._, .mov, .tmp1q, .memsia(.src0q, .@"8", .tmp0, .add_size), ._, ._ }, |
| 20491 | .{ ._, ._pd, .@"and", .tmp0x, .dst0x, ._, ._ }, | 24200 | .{ ._, ._, .sbb, .tmp1q, .memsia(.src1q, .@"8", .tmp0, .add_size), ._, ._ }, |
| 20492 | .{ ._, ._pd, .andn, .dst0x, .src1x, ._, ._ }, | 24201 | .{ ._, ._c, .in, .tmp0p, ._, ._, ._ }, |
| 20493 | .{ ._, ._pd, .@"or", .dst0x, .tmp0x, ._, ._ }, | 24202 | .{ ._, ._nz, .j, .@"0b", ._, ._, ._ }, |
| 24203 | .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ }, | ||
| 24204 | .{ ._, ._, .lea, .tmp1p, .mem(.src1), ._, ._ }, | ||
| 24205 | .{ ._, ._ae, .cmov, .tmp0p, .tmp1p, ._, ._ }, | ||
| 24206 | .{ ._, ._, .lea, .tmp1p, .mem(.dst0), ._, ._ }, | ||
| 24207 | .{ ._, ._, .mov, .tmp2d, .sa(.src0, .add_size_div_8), ._, ._ }, | ||
| 24208 | .{ ._, .@"rep _sq", .mov, ._, ._, ._, ._ }, | ||
| 20494 | } }, | 24209 | } }, |
| 20495 | }, .{ | 24210 | }, .{ |
| 20496 | .required_features = .{ .sse, null, null, null }, | 24211 | .required_features = .{ .@"64bit", null, null, null }, |
| 20497 | .src_constraints = .{ | 24212 | .src_constraints = .{ .any_unsigned_int, .any_unsigned_int, .any }, |
| 20498 | .{ .scalar_float = .{ .of = .qword, .is = .qword } }, | ||
| 20499 | .{ .scalar_float = .{ .of = .qword, .is = .qword } }, | ||
| 20500 | .any, | ||
| 20501 | }, | ||
| 20502 | .patterns = &.{ | 24213 | .patterns = &.{ |
| 20503 | .{ .src = .{ .{ .to_reg = .xmm0 }, .{ .to_reg = .xmm1 }, .none } }, | 24214 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 20504 | }, | 24215 | }, |
| 20505 | .call_frame = .{ .alignment = .@"16" }, | ||
| 20506 | .extra_temps = .{ | 24216 | .extra_temps = .{ |
| 20507 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "fmax" } } }, | 24217 | .{ .type = .isize, .kind = .{ .reg = .rsi } }, |
| 20508 | .unused, | 24218 | .{ .type = .u64, .kind = .{ .reg = .rdi } }, |
| 20509 | .unused, | 24219 | .{ .type = .u64, .kind = .{ .reg = .rcx } }, |
| 20510 | .unused, | 24220 | .unused, |
| 20511 | .unused, | 24221 | .unused, |
| 20512 | .unused, | 24222 | .unused, |
| ... | @@ -20516,64 +24226,59 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -20516,64 +24226,59 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 20516 | .unused, | 24226 | .unused, |
| 20517 | .unused, | 24227 | .unused, |
| 20518 | }, | 24228 | }, |
| 20519 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, | 24229 | .dst_temps = .{ .mem, .unused }, |
| 20520 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 24230 | .clobbers = .{ .eflags = true }, |
| 20521 | .each = .{ .once = &.{ | 24231 | .each = .{ .once = &.{ |
| 20522 | .{ ._, ._, .call, .tmp0d, ._, ._, ._ }, | 24232 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size_div_8), ._, ._ }, |
| 24233 | .{ ._, ._c, .cl, ._, ._, ._, ._ }, | ||
| 24234 | .{ .@"0:", ._, .mov, .tmp1q, .memsia(.src0q, .@"8", .tmp0, .add_size), ._, ._ }, | ||
| 24235 | .{ ._, ._, .sbb, .tmp1q, .memsia(.src1q, .@"8", .tmp0, .add_size), ._, ._ }, | ||
| 24236 | .{ ._, ._c, .in, .tmp0p, ._, ._, ._ }, | ||
| 24237 | .{ ._, ._nz, .j, .@"0b", ._, ._, ._ }, | ||
| 24238 | .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ }, | ||
| 24239 | .{ ._, ._nae, .j, .@"0f", ._, ._, ._ }, | ||
| 24240 | .{ ._, ._, .lea, .tmp0p, .mem(.src1), ._, ._ }, | ||
| 24241 | .{ .@"0:", ._, .lea, .tmp1p, .mem(.dst0), ._, ._ }, | ||
| 24242 | .{ ._, ._, .mov, .tmp2d, .sa(.src0, .add_size_div_8), ._, ._ }, | ||
| 24243 | .{ ._, .@"rep _sq", .mov, ._, ._, ._, ._ }, | ||
| 20523 | } }, | 24244 | } }, |
| 20524 | }, .{ | 24245 | }, .{ |
| 20525 | .required_features = .{ .avx, null, null, null }, | 24246 | .required_features = .{ .avx, null, null, null }, |
| 20526 | .src_constraints = .{ | 24247 | .src_constraints = .{ |
| 20527 | .{ .scalar_float = .{ .of = .xword, .is = .qword } }, | 24248 | .{ .scalar_signed_int = .{ .of = .xword, .is = .byte } }, |
| 20528 | .{ .scalar_float = .{ .of = .xword, .is = .qword } }, | 24249 | .{ .scalar_signed_int = .{ .of = .xword, .is = .byte } }, |
| 20529 | .any, | 24250 | .any, |
| 20530 | }, | 24251 | }, |
| 20531 | .patterns = &.{ | 24252 | .patterns = &.{ |
| 24253 | .{ .src = .{ .to_sse, .mem, .none } }, | ||
| 24254 | .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } }, | ||
| 20532 | .{ .src = .{ .to_sse, .to_sse, .none } }, | 24255 | .{ .src = .{ .to_sse, .to_sse, .none } }, |
| 20533 | }, | 24256 | }, |
| 20534 | .extra_temps = .{ | 24257 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| 20535 | .{ .type = .vector_2_f64, .kind = .{ .rc = .sse } }, | ||
| 20536 | .unused, | ||
| 20537 | .unused, | ||
| 20538 | .unused, | ||
| 20539 | .unused, | ||
| 20540 | .unused, | ||
| 20541 | .unused, | ||
| 20542 | .unused, | ||
| 20543 | .unused, | ||
| 20544 | .unused, | ||
| 20545 | .unused, | ||
| 20546 | }, | ||
| 20547 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, | ||
| 20548 | .each = .{ .once = &.{ | 24258 | .each = .{ .once = &.{ |
| 20549 | .{ ._, .v_pd, .cmp, .tmp0x, .src0x, .src0x, .vp(.unord) }, | 24259 | .{ ._, .vp_b, .mins, .dst0x, .src0x, .src1x, ._ }, |
| 20550 | .{ ._, .v_pd, .max, .dst0x, .src1x, .src0x, ._ }, | ||
| 20551 | .{ ._, .v_pd, .blendv, .dst0x, .dst0x, .src1x, .tmp0x }, | ||
| 20552 | } }, | 24260 | } }, |
| 20553 | }, .{ | 24261 | }, .{ |
| 20554 | .required_features = .{ .sse4_1, null, null, null }, | 24262 | .required_features = .{ .sse4_1, null, null, null }, |
| 20555 | .src_constraints = .{ | 24263 | .src_constraints = .{ |
| 20556 | .{ .scalar_float = .{ .of = .xword, .is = .qword } }, | 24264 | .{ .scalar_signed_int = .{ .of = .xword, .is = .byte } }, |
| 20557 | .{ .scalar_float = .{ .of = .xword, .is = .qword } }, | 24265 | .{ .scalar_signed_int = .{ .of = .xword, .is = .byte } }, |
| 20558 | .any, | 24266 | .any, |
| 20559 | }, | 24267 | }, |
| 20560 | .patterns = &.{ | 24268 | .patterns = &.{ |
| 20561 | .{ .src = .{ .{ .to_reg = .xmm0 }, .mem, .none } }, | 24269 | .{ .src = .{ .to_mut_sse, .mem, .none } }, |
| 20562 | .{ .src = .{ .mem, .{ .to_reg = .xmm0 }, .none }, .commute = .{ 0, 1 } }, | 24270 | .{ .src = .{ .mem, .to_mut_sse, .none }, .commute = .{ 0, 1 } }, |
| 20563 | .{ .src = .{ .{ .to_reg = .xmm0 }, .to_sse, .none } }, | 24271 | .{ .src = .{ .to_mut_sse, .to_sse, .none } }, |
| 20564 | }, | 24272 | }, |
| 20565 | .dst_temps = .{ .{ .rc = .sse }, .unused }, | 24273 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| 20566 | .each = .{ .once = &.{ | 24274 | .each = .{ .once = &.{ |
| 20567 | .{ ._, ._pd, .mova, .dst0x, .src1x, ._, ._ }, | 24275 | .{ ._, .p_b, .mins, .dst0x, .src1x, ._, ._ }, |
| 20568 | .{ ._, ._pd, .max, .dst0x, .src0x, ._, ._ }, | ||
| 20569 | .{ ._, ._pd, .cmp, .src0x, .src0x, .sp(.unord), ._ }, | ||
| 20570 | .{ ._, ._pd, .blendv, .dst0x, .src1x, .src0x, ._ }, | ||
| 20571 | } }, | 24276 | } }, |
| 20572 | }, .{ | 24277 | }, .{ |
| 20573 | .required_features = .{ .sse2, null, null, null }, | 24278 | .required_features = .{ .sse2, null, null, null }, |
| 20574 | .src_constraints = .{ | 24279 | .src_constraints = .{ |
| 20575 | .{ .scalar_float = .{ .of = .xword, .is = .qword } }, | 24280 | .{ .scalar_signed_int = .{ .of = .xword, .is = .byte } }, |
| 20576 | .{ .scalar_float = .{ .of = .xword, .is = .qword } }, | 24281 | .{ .scalar_signed_int = .{ .of = .xword, .is = .byte } }, |
| 20577 | .any, | 24282 | .any, |
| 20578 | }, | 24283 | }, |
| 20579 | .patterns = &.{ | 24284 | .patterns = &.{ |
| ... | @@ -20581,62 +24286,35 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -20581,62 +24286,35 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 20581 | .{ .src = .{ .mem, .to_mut_sse, .none }, .commute = .{ 0, 1 } }, | 24286 | .{ .src = .{ .mem, .to_mut_sse, .none }, .commute = .{ 0, 1 } }, |
| 20582 | .{ .src = .{ .to_mut_sse, .to_sse, .none } }, | 24287 | .{ .src = .{ .to_mut_sse, .to_sse, .none } }, |
| 20583 | }, | 24288 | }, |
| 20584 | .extra_temps = .{ | 24289 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| 20585 | .{ .type = .vector_2_f64, .kind = .{ .rc = .sse } }, | ||
| 20586 | .unused, | ||
| 20587 | .unused, | ||
| 20588 | .unused, | ||
| 20589 | .unused, | ||
| 20590 | .unused, | ||
| 20591 | .unused, | ||
| 20592 | .unused, | ||
| 20593 | .unused, | ||
| 20594 | .unused, | ||
| 20595 | .unused, | ||
| 20596 | }, | ||
| 20597 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, | ||
| 20598 | .each = .{ .once = &.{ | 24290 | .each = .{ .once = &.{ |
| 20599 | .{ ._, ._pd, .mova, .tmp0x, .src1x, ._, ._ }, | 24291 | .{ ._, ._dqa, .mov, .dst0x, .src1x, ._, ._ }, |
| 20600 | .{ ._, ._pd, .max, .tmp0x, .src0x, ._, ._ }, | 24292 | .{ ._, .p_b, .cmpgt, .dst0x, .src0x, ._, ._ }, |
| 20601 | .{ ._, ._pd, .cmp, .dst0x, .src0x, .sp(.ord), ._ }, | 24293 | .{ ._, .p_, .@"and", .src0x, .dst0x, ._, ._ }, |
| 20602 | .{ ._, ._pd, .@"and", .tmp0x, .dst0x, ._, ._ }, | 24294 | .{ ._, .p_, .andn, .dst0x, .src1x, ._, ._ }, |
| 20603 | .{ ._, ._pd, .andn, .dst0x, .src1x, ._, ._ }, | 24295 | .{ ._, .p_, .@"or", .dst0x, .src0x, ._, ._ }, |
| 20604 | .{ ._, ._pd, .@"or", .dst0x, .tmp0x, ._, ._ }, | ||
| 20605 | } }, | 24296 | } }, |
| 20606 | }, .{ | 24297 | }, .{ |
| 20607 | .required_features = .{ .avx, null, null, null }, | 24298 | .required_features = .{ .avx2, null, null, null }, |
| 20608 | .src_constraints = .{ | 24299 | .src_constraints = .{ |
| 20609 | .{ .scalar_float = .{ .of = .yword, .is = .qword } }, | 24300 | .{ .scalar_signed_int = .{ .of = .yword, .is = .byte } }, |
| 20610 | .{ .scalar_float = .{ .of = .yword, .is = .qword } }, | 24301 | .{ .scalar_signed_int = .{ .of = .yword, .is = .byte } }, |
| 20611 | .any, | 24302 | .any, |
| 20612 | }, | 24303 | }, |
| 20613 | .patterns = &.{ | 24304 | .patterns = &.{ |
| 24305 | .{ .src = .{ .to_sse, .mem, .none } }, | ||
| 24306 | .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } }, | ||
| 20614 | .{ .src = .{ .to_sse, .to_sse, .none } }, | 24307 | .{ .src = .{ .to_sse, .to_sse, .none } }, |
| 20615 | }, | 24308 | }, |
| 20616 | .extra_temps = .{ | 24309 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| 20617 | .{ .type = .vector_4_f64, .kind = .{ .rc = .sse } }, | ||
| 20618 | .unused, | ||
| 20619 | .unused, | ||
| 20620 | .unused, | ||
| 20621 | .unused, | ||
| 20622 | .unused, | ||
| 20623 | .unused, | ||
| 20624 | .unused, | ||
| 20625 | .unused, | ||
| 20626 | .unused, | ||
| 20627 | .unused, | ||
| 20628 | }, | ||
| 20629 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, | ||
| 20630 | .each = .{ .once = &.{ | 24310 | .each = .{ .once = &.{ |
| 20631 | .{ ._, .v_pd, .cmp, .tmp0y, .src0y, .src0y, .vp(.unord) }, | 24311 | .{ ._, .vp_b, .mins, .dst0y, .src0y, .src1y, ._ }, |
| 20632 | .{ ._, .v_pd, .max, .dst0y, .src1y, .src0y, ._ }, | ||
| 20633 | .{ ._, .v_pd, .blendv, .dst0y, .dst0y, .src1y, .tmp0y }, | ||
| 20634 | } }, | 24312 | } }, |
| 20635 | }, .{ | 24313 | }, .{ |
| 20636 | .required_features = .{ .avx, null, null, null }, | 24314 | .required_features = .{ .avx2, null, null, null }, |
| 20637 | .src_constraints = .{ | 24315 | .src_constraints = .{ |
| 20638 | .{ .multiple_scalar_float = .{ .of = .yword, .is = .qword } }, | 24316 | .{ .multiple_scalar_signed_int = .{ .of = .yword, .is = .byte } }, |
| 20639 | .{ .multiple_scalar_float = .{ .of = .yword, .is = .qword } }, | 24317 | .{ .multiple_scalar_signed_int = .{ .of = .yword, .is = .byte } }, |
| 20640 | .any, | 24318 | .any, |
| 20641 | }, | 24319 | }, |
| 20642 | .patterns = &.{ | 24320 | .patterns = &.{ |
| ... | @@ -20644,9 +24322,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -20644,9 +24322,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 20644 | }, | 24322 | }, |
| 20645 | .extra_temps = .{ | 24323 | .extra_temps = .{ |
| 20646 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 24324 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 20647 | .{ .type = .vector_4_f64, .kind = .{ .rc = .sse } }, | 24325 | .{ .type = .vector_32_i8, .kind = .{ .rc = .sse } }, |
| 20648 | .{ .type = .vector_4_f64, .kind = .{ .rc = .sse } }, | 24326 | .unused, |
| 20649 | .{ .type = .vector_4_f64, .kind = .{ .rc = .sse } }, | 24327 | .unused, |
| 20650 | .unused, | 24328 | .unused, |
| 20651 | .unused, | 24329 | .unused, |
| 20652 | .unused, | 24330 | .unused, |
| ... | @@ -20659,20 +24337,17 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -20659,20 +24337,17 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 20659 | .clobbers = .{ .eflags = true }, | 24337 | .clobbers = .{ .eflags = true }, |
| 20660 | .each = .{ .once = &.{ | 24338 | .each = .{ .once = &.{ |
| 20661 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, | 24339 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, |
| 20662 | .{ .@"0:", .v_pd, .mova, .tmp1y, .memia(.src0y, .tmp0, .add_size), ._, ._ }, | 24340 | .{ .@"0:", .v_dqa, .mov, .tmp1y, .memia(.src0y, .tmp0, .add_size), ._, ._ }, |
| 20663 | .{ ._, .v_pd, .mova, .tmp2y, .memia(.src1y, .tmp0, .add_size), ._, ._ }, | 24341 | .{ ._, .vp_b, .mins, .tmp1y, .tmp1y, .memia(.src1y, .tmp0, .add_size), ._ }, |
| 20664 | .{ ._, .v_pd, .cmp, .tmp3y, .tmp1y, .tmp1y, .vp(.unord) }, | 24342 | .{ ._, .v_dqa, .mov, .memia(.dst0y, .tmp0, .add_size), .tmp1y, ._, ._ }, |
| 20665 | .{ ._, .v_pd, .max, .tmp1y, .tmp2y, .tmp1y, ._ }, | ||
| 20666 | .{ ._, .v_pd, .blendv, .tmp1y, .tmp1y, .tmp2y, .tmp3y }, | ||
| 20667 | .{ ._, .v_pd, .mova, .memia(.dst0y, .tmp0, .add_size), .tmp1y, ._, ._ }, | ||
| 20668 | .{ ._, ._, .add, .tmp0p, .si(32), ._, ._ }, | 24343 | .{ ._, ._, .add, .tmp0p, .si(32), ._, ._ }, |
| 20669 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 24344 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 20670 | } }, | 24345 | } }, |
| 20671 | }, .{ | 24346 | }, .{ |
| 20672 | .required_features = .{ .sse4_1, null, null, null }, | 24347 | .required_features = .{ .avx, null, null, null }, |
| 20673 | .src_constraints = .{ | 24348 | .src_constraints = .{ |
| 20674 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .qword } }, | 24349 | .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .byte } }, |
| 20675 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .qword } }, | 24350 | .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .byte } }, |
| 20676 | .any, | 24351 | .any, |
| 20677 | }, | 24352 | }, |
| 20678 | .patterns = &.{ | 24353 | .patterns = &.{ |
| ... | @@ -20680,9 +24355,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -20680,9 +24355,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 20680 | }, | 24355 | }, |
| 20681 | .extra_temps = .{ | 24356 | .extra_temps = .{ |
| 20682 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 24357 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 20683 | .{ .type = .vector_2_f64, .kind = .{ .reg = .xmm0 } }, | 24358 | .{ .type = .vector_16_i8, .kind = .{ .rc = .sse } }, |
| 20684 | .{ .type = .vector_2_f64, .kind = .{ .rc = .sse } }, | 24359 | .unused, |
| 20685 | .{ .type = .vector_2_f64, .kind = .{ .rc = .sse } }, | 24360 | .unused, |
| 20686 | .unused, | 24361 | .unused, |
| 20687 | .unused, | 24362 | .unused, |
| 20688 | .unused, | 24363 | .unused, |
| ... | @@ -20695,21 +24370,17 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -20695,21 +24370,17 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 20695 | .clobbers = .{ .eflags = true }, | 24370 | .clobbers = .{ .eflags = true }, |
| 20696 | .each = .{ .once = &.{ | 24371 | .each = .{ .once = &.{ |
| 20697 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, | 24372 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, |
| 20698 | .{ .@"0:", ._pd, .mova, .tmp1x, .memia(.src0x, .tmp0, .add_size), ._, ._ }, | 24373 | .{ .@"0:", .v_dqa, .mov, .tmp1x, .memia(.src0x, .tmp0, .add_size), ._, ._ }, |
| 20699 | .{ ._, ._pd, .mova, .tmp2x, .memia(.src1x, .tmp0, .add_size), ._, ._ }, | 24374 | .{ ._, .vp_b, .mins, .tmp1x, .tmp1x, .memia(.src1x, .tmp0, .add_size), ._ }, |
| 20700 | .{ ._, ._pd, .mova, .tmp3x, .tmp2x, ._, ._ }, | 24375 | .{ ._, .v_dqa, .mov, .memia(.dst0x, .tmp0, .add_size), .tmp1x, ._, ._ }, |
| 20701 | .{ ._, ._pd, .max, .tmp3x, .tmp1x, ._, ._ }, | ||
| 20702 | .{ ._, ._pd, .cmp, .tmp1x, .tmp1x, .sp(.unord), ._ }, | ||
| 20703 | .{ ._, ._pd, .blendv, .tmp3x, .tmp2x, .tmp1x, ._ }, | ||
| 20704 | .{ ._, ._pd, .mova, .memia(.dst0x, .tmp0, .add_size), .tmp3x, ._, ._ }, | ||
| 20705 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, | 24376 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, |
| 20706 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 24377 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 20707 | } }, | 24378 | } }, |
| 20708 | }, .{ | 24379 | }, .{ |
| 20709 | .required_features = .{ .sse2, null, null, null }, | 24380 | .required_features = .{ .sse4_1, null, null, null }, |
| 20710 | .src_constraints = .{ | 24381 | .src_constraints = .{ |
| 20711 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .qword } }, | 24382 | .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .byte } }, |
| 20712 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .qword } }, | 24383 | .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .byte } }, |
| 20713 | .any, | 24384 | .any, |
| 20714 | }, | 24385 | }, |
| 20715 | .patterns = &.{ | 24386 | .patterns = &.{ |
| ... | @@ -20717,9 +24388,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -20717,9 +24388,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 20717 | }, | 24388 | }, |
| 20718 | .extra_temps = .{ | 24389 | .extra_temps = .{ |
| 20719 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 24390 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 20720 | .{ .type = .vector_2_f64, .kind = .{ .rc = .sse } }, | 24391 | .{ .type = .vector_16_i8, .kind = .{ .rc = .sse } }, |
| 20721 | .{ .type = .vector_2_f64, .kind = .{ .rc = .sse } }, | 24392 | .unused, |
| 20722 | .{ .type = .vector_2_f64, .kind = .{ .rc = .sse } }, | 24393 | .unused, |
| 20723 | .unused, | 24394 | .unused, |
| 20724 | .unused, | 24395 | .unused, |
| 20725 | .unused, | 24396 | .unused, |
| ... | @@ -20732,151 +24403,63 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -20732,151 +24403,63 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 20732 | .clobbers = .{ .eflags = true }, | 24403 | .clobbers = .{ .eflags = true }, |
| 20733 | .each = .{ .once = &.{ | 24404 | .each = .{ .once = &.{ |
| 20734 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, | 24405 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, |
| 20735 | .{ .@"0:", ._pd, .mova, .tmp1x, .memia(.src0x, .tmp0, .add_size), ._, ._ }, | 24406 | .{ .@"0:", ._dqa, .mov, .tmp1x, .memia(.src0x, .tmp0, .add_size), ._, ._ }, |
| 20736 | .{ ._, ._pd, .mova, .tmp2x, .memia(.src1x, .tmp0, .add_size), ._, ._ }, | 24407 | .{ ._, .p_b, .mins, .tmp1x, .memia(.src1x, .tmp0, .add_size), ._, ._ }, |
| 20737 | .{ ._, ._pd, .mova, .tmp3x, .tmp2x, ._, ._ }, | 24408 | .{ ._, ._dqa, .mov, .memia(.dst0x, .tmp0, .add_size), .tmp1x, ._, ._ }, |
| 20738 | .{ ._, ._pd, .max, .tmp3x, .tmp1x, ._, ._ }, | ||
| 20739 | .{ ._, ._pd, .cmp, .tmp1x, .tmp1x, .sp(.ord), ._ }, | ||
| 20740 | .{ ._, ._pd, .@"and", .tmp3x, .tmp1x, ._, ._ }, | ||
| 20741 | .{ ._, ._pd, .andn, .tmp1x, .tmp2x, ._, ._ }, | ||
| 20742 | .{ ._, ._pd, .@"or", .tmp1x, .tmp3x, ._, ._ }, | ||
| 20743 | .{ ._, ._pd, .mova, .memia(.dst0x, .tmp0, .add_size), .tmp1x, ._, ._ }, | ||
| 20744 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, | 24409 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, |
| 20745 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 24410 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 20746 | } }, | 24411 | } }, |
| 20747 | }, .{ | 24412 | }, .{ |
| 20748 | .required_features = .{ .sse, null, null, null }, | 24413 | .required_features = .{ .sse2, null, null, null }, |
| 20749 | .src_constraints = .{ | 24414 | .src_constraints = .{ |
| 20750 | .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, | 24415 | .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .byte } }, |
| 20751 | .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, | 24416 | .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .byte } }, |
| 20752 | .any, | 24417 | .any, |
| 20753 | }, | 24418 | }, |
| 20754 | .patterns = &.{ | 24419 | .patterns = &.{ |
| 20755 | .{ .src = .{ .to_mem, .to_mem, .none } }, | 24420 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 20756 | }, | 24421 | }, |
| 20757 | .call_frame = .{ .alignment = .@"16" }, | ||
| 20758 | .extra_temps = .{ | 24422 | .extra_temps = .{ |
| 20759 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 24423 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 20760 | .{ .type = .f64, .kind = .{ .reg = .xmm0 } }, | 24424 | .{ .type = .vector_16_i8, .kind = .{ .rc = .sse } }, |
| 20761 | .{ .type = .f64, .kind = .{ .reg = .xmm1 } }, | 24425 | .{ .type = .vector_16_i8, .kind = .{ .rc = .sse } }, |
| 20762 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "fmax" } } }, | ||
| 20763 | .unused, | ||
| 20764 | .unused, | ||
| 20765 | .unused, | ||
| 20766 | .unused, | ||
| 20767 | .unused, | ||
| 20768 | .unused, | ||
| 20769 | .unused, | ||
| 20770 | }, | ||
| 20771 | .dst_temps = .{ .mem, .unused }, | ||
| 20772 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | ||
| 20773 | .each = .{ .once = &.{ | ||
| 20774 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, | ||
| 20775 | .{ .@"0:", ._ps, .xor, .tmp1x, .tmp1x, ._, ._ }, | ||
| 20776 | .{ ._, ._ps, .xor, .tmp2x, .tmp2x, ._, ._ }, | ||
| 20777 | .{ ._, ._ps, .movl, .tmp1x, .memia(.src0q, .tmp0, .add_size), ._, ._ }, | ||
| 20778 | .{ ._, ._ps, .movl, .tmp2x, .memia(.src1q, .tmp0, .add_size), ._, ._ }, | ||
| 20779 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, | ||
| 20780 | .{ ._, ._ps, .movl, .memia(.dst0q, .tmp0, .add_size), .tmp1q, ._, ._ }, | ||
| 20781 | .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ }, | ||
| 20782 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | ||
| 20783 | } }, | ||
| 20784 | }, .{ | ||
| 20785 | .required_features = .{ .x87, .cmov, null, null }, | ||
| 20786 | .src_constraints = .{ | ||
| 20787 | .{ .scalar_float = .{ .of = .xword, .is = .tbyte } }, | ||
| 20788 | .{ .scalar_float = .{ .of = .xword, .is = .tbyte } }, | ||
| 20789 | .any, | ||
| 20790 | }, | ||
| 20791 | .patterns = &.{ | ||
| 20792 | .{ .src = .{ .to_x87, .mem, .none }, .commute = .{ 0, 1 } }, | ||
| 20793 | .{ .src = .{ .mem, .to_x87, .none } }, | ||
| 20794 | .{ .src = .{ .to_x87, .to_x87, .none } }, | ||
| 20795 | }, | ||
| 20796 | .extra_temps = .{ | ||
| 20797 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, | ||
| 20798 | .unused, | ||
| 20799 | .unused, | ||
| 20800 | .unused, | ||
| 20801 | .unused, | ||
| 20802 | .unused, | ||
| 20803 | .unused, | ||
| 20804 | .unused, | ||
| 20805 | .unused, | ||
| 20806 | .unused, | ||
| 20807 | .unused, | ||
| 20808 | }, | ||
| 20809 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src1, .rc = .x87 } }, .unused }, | ||
| 20810 | .clobbers = .{ .eflags = true }, | ||
| 20811 | .each = .{ .once = &.{ | ||
| 20812 | .{ ._, .f_, .ld, .src0t, ._, ._, ._ }, | ||
| 20813 | .{ ._, .f_, .ucomi, .tmp0t, .tmp0t, ._, ._ }, | ||
| 20814 | .{ ._, .f_u, .cmov, .tmp0t, .src1t, ._, ._ }, | ||
| 20815 | .{ ._, .f_, .xch, .src1t, ._, ._, ._ }, | ||
| 20816 | .{ ._, .f_, .ucomi, .tmp0t, .src1t, ._, ._ }, | ||
| 20817 | .{ ._, .f_, .xch, .src1t, ._, ._, ._ }, | ||
| 20818 | .{ ._, .f_nb, .cmov, .tmp0t, .src1t, ._, ._ }, | ||
| 20819 | .{ ._, .f_p, .st, .dst0t, ._, ._, ._ }, | ||
| 20820 | } }, | ||
| 20821 | }, .{ | ||
| 20822 | .required_features = .{ .sahf, .x87, null, null }, | ||
| 20823 | .src_constraints = .{ | ||
| 20824 | .{ .scalar_float = .{ .of = .xword, .is = .tbyte } }, | ||
| 20825 | .{ .scalar_float = .{ .of = .xword, .is = .tbyte } }, | ||
| 20826 | .any, | ||
| 20827 | }, | ||
| 20828 | .patterns = &.{ | ||
| 20829 | .{ .src = .{ .to_x87, .mem, .none }, .commute = .{ 0, 1 } }, | ||
| 20830 | .{ .src = .{ .mem, .to_x87, .none } }, | ||
| 20831 | .{ .src = .{ .to_x87, .to_x87, .none } }, | ||
| 20832 | }, | ||
| 20833 | .extra_temps = .{ | ||
| 20834 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, | ||
| 20835 | .{ .type = .u8, .kind = .{ .reg = .ah } }, | ||
| 20836 | .unused, | ||
| 20837 | .unused, | ||
| 20838 | .unused, | ||
| 20839 | .unused, | ||
| 20840 | .unused, | ||
| 20841 | .unused, | ||
| 20842 | .unused, | 24426 | .unused, |
| 20843 | .unused, | 24427 | .unused, |
| 20844 | .unused, | 24428 | .unused, |
| 20845 | }, | 24429 | .unused, |
| 20846 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src1, .rc = .x87 } }, .unused }, | 24430 | .unused, |
| 20847 | .clobbers = .{ .eflags = true }, | 24431 | .unused, |
| 20848 | .each = .{ .once = &.{ | 24432 | .unused, |
| 20849 | .{ ._, .f_, .ld, .src0t, ._, ._, ._ }, | 24433 | .unused, |
| 20850 | .{ ._, .f_, .ucom, .tmp0t, ._, ._, ._ }, | 24434 | }, |
| 20851 | .{ ._, .fn_sw, .st, .tmp1w, ._, ._, ._ }, | 24435 | .dst_temps = .{ .mem, .unused }, |
| 20852 | .{ ._, ._, .sahf, ._, ._, ._, ._ }, | 24436 | .clobbers = .{ .eflags = true }, |
| 20853 | .{ ._, ._p, .j, .@"0f", ._, ._, ._ }, | 24437 | .each = .{ .once = &.{ |
| 20854 | .{ ._, .f_, .xch, .src1t, ._, ._, ._ }, | 24438 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, |
| 20855 | .{ ._, .f_, .ucom, .src1t, ._, ._, ._ }, | 24439 | .{ .@"0:", ._dqa, .mov, .tmp1x, .memia(.src0x, .tmp0, .add_size), ._, ._ }, |
| 20856 | .{ ._, .fn_sw, .st, .tmp1w, ._, ._, ._ }, | 24440 | .{ ._, ._dqa, .mov, .tmp2x, .memia(.src1x, .tmp0, .add_size), ._, ._ }, |
| 20857 | .{ ._, .f_, .xch, .src1t, ._, ._, ._ }, | 24441 | .{ ._, .p_b, .cmpgt, .tmp1x, .tmp2x, ._, ._ }, |
| 20858 | .{ ._, ._, .sahf, ._, ._, ._, ._ }, | 24442 | .{ ._, .p_, .@"and", .tmp2x, .tmp1x, ._, ._ }, |
| 20859 | .{ ._, ._b, .j, .@"1f", ._, ._, ._ }, | 24443 | .{ ._, .p_, .andn, .tmp1x, .memia(.src0x, .tmp0, .add_size), ._, ._ }, |
| 20860 | .{ .@"0:", .f_p, .st, .tmp0t, ._, ._, ._ }, | 24444 | .{ ._, .p_, .@"or", .tmp1x, .tmp2x, ._, ._ }, |
| 20861 | .{ ._, .f_, .ld, .src1t, ._, ._, ._ }, | 24445 | .{ ._, ._dqa, .mov, .memia(.dst0x, .tmp0, .add_size), .tmp1x, ._, ._ }, |
| 20862 | .{ .@"1:", .f_p, .st, .dst0t, ._, ._, ._ }, | 24446 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, |
| 24447 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | ||
| 20863 | } }, | 24448 | } }, |
| 20864 | }, .{ | 24449 | }, .{ |
| 20865 | .required_features = .{ .x87, null, null, null }, | 24450 | .required_features = .{ .cmov, .slow_incdec, null, null }, |
| 20866 | .src_constraints = .{ | 24451 | .src_constraints = .{ |
| 20867 | .{ .scalar_float = .{ .of = .xword, .is = .tbyte } }, | 24452 | .{ .multiple_scalar_signed_int = .{ .of = .byte, .is = .byte } }, |
| 20868 | .{ .scalar_float = .{ .of = .xword, .is = .tbyte } }, | 24453 | .{ .multiple_scalar_signed_int = .{ .of = .byte, .is = .byte } }, |
| 20869 | .any, | 24454 | .any, |
| 20870 | }, | 24455 | }, |
| 20871 | .patterns = &.{ | 24456 | .patterns = &.{ |
| 20872 | .{ .src = .{ .to_x87, .mem, .none }, .commute = .{ 0, 1 } }, | 24457 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 20873 | .{ .src = .{ .mem, .to_x87, .none } }, | ||
| 20874 | .{ .src = .{ .to_x87, .to_x87, .none } }, | ||
| 20875 | }, | 24458 | }, |
| 20876 | .extra_temps = .{ | 24459 | .extra_temps = .{ |
| 20877 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, | 24460 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 20878 | .{ .type = .u8, .kind = .{ .reg = .ah } }, | 24461 | .{ .type = .i8, .kind = .{ .rc = .general_purpose } }, |
| 20879 | .unused, | 24462 | .{ .type = .i8, .kind = .{ .rc = .general_purpose } }, |
| 20880 | .unused, | 24463 | .unused, |
| 20881 | .unused, | 24464 | .unused, |
| 20882 | .unused, | 24465 | .unused, |
| ... | @@ -20886,29 +24469,23 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -20886,29 +24469,23 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 20886 | .unused, | 24469 | .unused, |
| 20887 | .unused, | 24470 | .unused, |
| 20888 | }, | 24471 | }, |
| 20889 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src1, .rc = .x87 } }, .unused }, | 24472 | .dst_temps = .{ .mem, .unused }, |
| 20890 | .clobbers = .{ .eflags = true }, | 24473 | .clobbers = .{ .eflags = true }, |
| 20891 | .each = .{ .once = &.{ | 24474 | .each = .{ .once = &.{ |
| 20892 | .{ ._, .f_, .ld, .src0t, ._, ._, ._ }, | 24475 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, |
| 20893 | .{ ._, .f_, .xam, ._, ._, ._, ._ }, | 24476 | .{ .@"0:", ._, .movsx, .tmp1d, .memia(.src0b, .tmp0, .add_size), ._, ._ }, |
| 20894 | .{ ._, .fn_sw, .st, .tmp1w, ._, ._, ._ }, | 24477 | .{ ._, ._, .movsx, .tmp2d, .memia(.src1b, .tmp0, .add_size), ._, ._ }, |
| 20895 | .{ ._, ._, .@"test", .tmp1b, .si(0b1_000_100), ._, ._ }, | 24478 | .{ ._, ._, .cmp, .tmp1b, .tmp2b, ._, ._ }, |
| 20896 | .{ ._, ._z, .j, .@"0f", ._, ._, ._ }, | 24479 | .{ ._, ._ge, .cmov, .tmp1d, .tmp2d, ._, ._ }, |
| 20897 | .{ ._, .f_, .xch, .src1t, ._, ._, ._ }, | 24480 | .{ ._, ._, .mov, .memia(.dst0b, .tmp0, .add_size), .tmp1b, ._, ._ }, |
| 20898 | .{ ._, .f_, .ucom, .src1t, ._, ._, ._ }, | 24481 | .{ ._, ._, .add, .tmp0p, .si(1), ._, ._ }, |
| 20899 | .{ ._, .fn_sw, .st, .tmp1w, ._, ._, ._ }, | 24482 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 20900 | .{ ._, .f_, .xch, .src1t, ._, ._, ._ }, | ||
| 20901 | .{ ._, ._, .@"test", .tmp1b, .si(0b0_000_001), ._, ._ }, | ||
| 20902 | .{ ._, ._nz, .j, .@"1f", ._, ._, ._ }, | ||
| 20903 | .{ .@"0:", .f_p, .st, .tmp0t, ._, ._, ._ }, | ||
| 20904 | .{ ._, .f_, .ld, .src1t, ._, ._, ._ }, | ||
| 20905 | .{ .@"1:", .f_p, .st, .dst0t, ._, ._, ._ }, | ||
| 20906 | } }, | 24483 | } }, |
| 20907 | }, .{ | 24484 | }, .{ |
| 20908 | .required_features = .{ .x87, .cmov, null, null }, | 24485 | .required_features = .{ .cmov, null, null, null }, |
| 20909 | .src_constraints = .{ | 24486 | .src_constraints = .{ |
| 20910 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, | 24487 | .{ .multiple_scalar_signed_int = .{ .of = .byte, .is = .byte } }, |
| 20911 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, | 24488 | .{ .multiple_scalar_signed_int = .{ .of = .byte, .is = .byte } }, |
| 20912 | .any, | 24489 | .any, |
| 20913 | }, | 24490 | }, |
| 20914 | .patterns = &.{ | 24491 | .patterns = &.{ |
| ... | @@ -20916,8 +24493,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -20916,8 +24493,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 20916 | }, | 24493 | }, |
| 20917 | .extra_temps = .{ | 24494 | .extra_temps = .{ |
| 20918 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 24495 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 20919 | .{ .type = .f80, .kind = .{ .reg = .st6 } }, | 24496 | .{ .type = .i8, .kind = .{ .rc = .general_purpose } }, |
| 20920 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, | 24497 | .{ .type = .i8, .kind = .{ .rc = .general_purpose } }, |
| 20921 | .unused, | 24498 | .unused, |
| 20922 | .unused, | 24499 | .unused, |
| 20923 | .unused, | 24500 | .unused, |
| ... | @@ -20931,24 +24508,19 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -20931,24 +24508,19 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 20931 | .clobbers = .{ .eflags = true }, | 24508 | .clobbers = .{ .eflags = true }, |
| 20932 | .each = .{ .once = &.{ | 24509 | .each = .{ .once = &.{ |
| 20933 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, | 24510 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, |
| 20934 | .{ .@"0:", .f_, .ld, .memia(.src1t, .tmp0, .add_size), ._, ._, ._ }, | 24511 | .{ .@"0:", ._, .movsx, .tmp1d, .memia(.src0b, .tmp0, .add_size), ._, ._ }, |
| 20935 | .{ ._, .f_, .ld, .memia(.src0t, .tmp0, .add_size), ._, ._, ._ }, | 24512 | .{ ._, ._, .movsx, .tmp2d, .memia(.src1b, .tmp0, .add_size), ._, ._ }, |
| 20936 | .{ ._, .f_, .ucomi, .tmp1t, .tmp1t, ._, ._ }, | 24513 | .{ ._, ._, .cmp, .tmp1b, .tmp2b, ._, ._ }, |
| 20937 | .{ ._, .f_u, .cmov, .tmp1t, .tmp2t, ._, ._ }, | 24514 | .{ ._, ._ge, .cmov, .tmp1d, .tmp2d, ._, ._ }, |
| 20938 | .{ ._, .f_, .xch, .tmp2t, ._, ._, ._ }, | 24515 | .{ ._, ._, .mov, .memia(.dst0b, .tmp0, .add_size), .tmp1b, ._, ._ }, |
| 20939 | .{ ._, .f_, .ucomi, .tmp1t, .tmp2t, ._, ._ }, | 24516 | .{ ._, ._c, .in, .tmp0p, ._, ._, ._ }, |
| 20940 | .{ ._, .f_, .xch, .tmp2t, ._, ._, ._ }, | 24517 | .{ ._, ._nz, .j, .@"0b", ._, ._, ._ }, |
| 20941 | .{ ._, .f_nb, .cmov, .tmp1t, .tmp2t, ._, ._ }, | ||
| 20942 | .{ ._, .f_p, .st, .memia(.dst0t, .tmp0, .add_size), ._, ._, ._ }, | ||
| 20943 | .{ ._, .f_p, .st, .tmp2t, ._, ._, ._ }, | ||
| 20944 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, | ||
| 20945 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | ||
| 20946 | } }, | 24518 | } }, |
| 20947 | }, .{ | 24519 | }, .{ |
| 20948 | .required_features = .{ .sahf, .x87, null, null }, | 24520 | .required_features = .{ .slow_incdec, null, null, null }, |
| 20949 | .src_constraints = .{ | 24521 | .src_constraints = .{ |
| 20950 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, | 24522 | .{ .multiple_scalar_signed_int = .{ .of = .byte, .is = .byte } }, |
| 20951 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, | 24523 | .{ .multiple_scalar_signed_int = .{ .of = .byte, .is = .byte } }, |
| 20952 | .any, | 24524 | .any, |
| 20953 | }, | 24525 | }, |
| 20954 | .patterns = &.{ | 24526 | .patterns = &.{ |
| ... | @@ -20956,9 +24528,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -20956,9 +24528,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 20956 | }, | 24528 | }, |
| 20957 | .extra_temps = .{ | 24529 | .extra_temps = .{ |
| 20958 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 24530 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 20959 | .{ .type = .f80, .kind = .{ .reg = .st6 } }, | 24531 | .{ .type = .i8, .kind = .{ .rc = .general_purpose } }, |
| 20960 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, | 24532 | .unused, |
| 20961 | .{ .type = .u8, .kind = .{ .reg = .ah } }, | 24533 | .unused, |
| 20962 | .unused, | 24534 | .unused, |
| 20963 | .unused, | 24535 | .unused, |
| 20964 | .unused, | 24536 | .unused, |
| ... | @@ -20971,30 +24543,18 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -20971,30 +24543,18 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 20971 | .clobbers = .{ .eflags = true }, | 24543 | .clobbers = .{ .eflags = true }, |
| 20972 | .each = .{ .once = &.{ | 24544 | .each = .{ .once = &.{ |
| 20973 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, | 24545 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, |
| 20974 | .{ .@"0:", .f_, .ld, .memia(.src1t, .tmp0, .add_size), ._, ._, ._ }, | 24546 | .{ .@"0:", ._, .movsx, .tmp1d, .memia(.src0b, .tmp0, .add_size), ._, ._ }, |
| 20975 | .{ ._, .f_, .ld, .memia(.src0t, .tmp0, .add_size), ._, ._, ._ }, | 24547 | .{ ._, ._, .cmp, .tmp1b, .memia(.src1b, .tmp0, .add_size), ._, ._ }, |
| 20976 | .{ ._, .f_, .ucom, .tmp1t, ._, ._, ._ }, | 24548 | .{ ._, ._nge, .j, .@"1f", ._, ._, ._ }, |
| 20977 | .{ ._, .fn_sw, .st, .tmp3w, ._, ._, ._ }, | 24549 | .{ ._, ._, .mov, .tmp1b, .memia(.src1b, .tmp0, .add_size), ._, ._ }, |
| 20978 | .{ ._, ._, .sahf, ._, ._, ._, ._ }, | 24550 | .{ .@"1:", ._, .mov, .memia(.dst0b, .tmp0, .add_size), .tmp1b, ._, ._ }, |
| 20979 | .{ ._, ._p, .j, .@"1f", ._, ._, ._ }, | 24551 | .{ ._, ._, .add, .tmp0p, .si(1), ._, ._ }, |
| 20980 | .{ ._, .f_, .xch, .tmp2t, ._, ._, ._ }, | ||
| 20981 | .{ ._, .f_, .ucom, .tmp2t, ._, ._, ._ }, | ||
| 20982 | .{ ._, .fn_sw, .st, .tmp3w, ._, ._, ._ }, | ||
| 20983 | .{ ._, .f_, .xch, .tmp2t, ._, ._, ._ }, | ||
| 20984 | .{ ._, ._, .sahf, ._, ._, ._, ._ }, | ||
| 20985 | .{ ._, ._b, .j, .@"2f", ._, ._, ._ }, | ||
| 20986 | .{ .@"1:", .f_p, .st, .tmp1t, ._, ._, ._ }, | ||
| 20987 | .{ ._, .f_, .ld, .tmp2t, ._, ._, ._ }, | ||
| 20988 | .{ .@"2:", .f_p, .st, .memia(.dst0t, .tmp0, .add_size), ._, ._, ._ }, | ||
| 20989 | .{ ._, .f_p, .st, .tmp2t, ._, ._, ._ }, | ||
| 20990 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, | ||
| 20991 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 24552 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 20992 | } }, | 24553 | } }, |
| 20993 | }, .{ | 24554 | }, .{ |
| 20994 | .required_features = .{ .x87, null, null, null }, | ||
| 20995 | .src_constraints = .{ | 24555 | .src_constraints = .{ |
| 20996 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, | 24556 | .{ .multiple_scalar_signed_int = .{ .of = .byte, .is = .byte } }, |
| 20997 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, | 24557 | .{ .multiple_scalar_signed_int = .{ .of = .byte, .is = .byte } }, |
| 20998 | .any, | 24558 | .any, |
| 20999 | }, | 24559 | }, |
| 21000 | .patterns = &.{ | 24560 | .patterns = &.{ |
| ... | @@ -21002,9 +24562,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -21002,9 +24562,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 21002 | }, | 24562 | }, |
| 21003 | .extra_temps = .{ | 24563 | .extra_temps = .{ |
| 21004 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 24564 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 21005 | .{ .type = .f80, .kind = .{ .reg = .st6 } }, | 24565 | .{ .type = .i8, .kind = .{ .rc = .general_purpose } }, |
| 21006 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, | 24566 | .unused, |
| 21007 | .{ .type = .u8, .kind = .{ .reg = .ah } }, | 24567 | .unused, |
| 21008 | .unused, | 24568 | .unused, |
| 21009 | .unused, | 24569 | .unused, |
| 21010 | .unused, | 24570 | .unused, |
| ... | @@ -21017,39 +24577,91 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -21017,39 +24577,91 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 21017 | .clobbers = .{ .eflags = true }, | 24577 | .clobbers = .{ .eflags = true }, |
| 21018 | .each = .{ .once = &.{ | 24578 | .each = .{ .once = &.{ |
| 21019 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, | 24579 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, |
| 21020 | .{ .@"0:", .f_, .ld, .memia(.src1t, .tmp0, .add_size), ._, ._, ._ }, | 24580 | .{ .@"0:", ._, .movsx, .tmp1d, .memia(.src0b, .tmp0, .add_size), ._, ._ }, |
| 21021 | .{ ._, .f_, .ld, .memia(.src0t, .tmp0, .add_size), ._, ._, ._ }, | 24581 | .{ ._, ._, .cmp, .tmp1b, .memia(.src1b, .tmp0, .add_size), ._, ._ }, |
| 21022 | .{ ._, .f_, .xam, ._, ._, ._, ._ }, | 24582 | .{ ._, ._nge, .j, .@"1f", ._, ._, ._ }, |
| 21023 | .{ ._, .fn_sw, .st, .tmp3w, ._, ._, ._ }, | 24583 | .{ ._, ._, .mov, .tmp1b, .memia(.src1b, .tmp0, .add_size), ._, ._ }, |
| 21024 | .{ ._, ._, .@"test", .tmp3b, .si(0b1_000_100), ._, ._ }, | 24584 | .{ .@"1:", ._, .mov, .memia(.dst0b, .tmp0, .add_size), .tmp1b, ._, ._ }, |
| 21025 | .{ ._, ._z, .j, .@"1f", ._, ._, ._ }, | 24585 | .{ ._, ._c, .in, .tmp0p, ._, ._, ._ }, |
| 21026 | .{ ._, .f_, .xch, .tmp2t, ._, ._, ._ }, | 24586 | .{ ._, ._nz, .j, .@"0b", ._, ._, ._ }, |
| 21027 | .{ ._, .f_, .ucom, .tmp2t, ._, ._, ._ }, | ||
| 21028 | .{ ._, .fn_sw, .st, .tmp3w, ._, ._, ._ }, | ||
| 21029 | .{ ._, .f_, .xch, .tmp2t, ._, ._, ._ }, | ||
| 21030 | .{ ._, ._, .@"test", .tmp3b, .si(0b0_000_001), ._, ._ }, | ||
| 21031 | .{ ._, ._nz, .j, .@"2f", ._, ._, ._ }, | ||
| 21032 | .{ .@"1:", .f_p, .st, .tmp1t, ._, ._, ._ }, | ||
| 21033 | .{ ._, .f_, .ld, .tmp2t, ._, ._, ._ }, | ||
| 21034 | .{ .@"2:", .f_p, .st, .memia(.dst0t, .tmp0, .add_size), ._, ._, ._ }, | ||
| 21035 | .{ ._, .f_p, .st, .tmp2t, ._, ._, ._ }, | ||
| 21036 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, | ||
| 21037 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | ||
| 21038 | } }, | 24587 | } }, |
| 21039 | }, .{ | 24588 | }, .{ |
| 21040 | .required_features = .{ .sse, null, null, null }, | 24589 | .required_features = .{ .sse, .mmx, null, null }, |
| 21041 | .src_constraints = .{ | 24590 | .src_constraints = .{ |
| 21042 | .{ .scalar_float = .{ .of = .xword, .is = .xword } }, | 24591 | .{ .scalar_unsigned_int = .{ .of = .qword, .is = .byte } }, |
| 21043 | .{ .scalar_float = .{ .of = .xword, .is = .xword } }, | 24592 | .{ .scalar_unsigned_int = .{ .of = .qword, .is = .byte } }, |
| 21044 | .any, | 24593 | .any, |
| 21045 | }, | 24594 | }, |
| 21046 | .patterns = &.{ | 24595 | .patterns = &.{ |
| 21047 | .{ .src = .{ .{ .to_reg = .xmm0 }, .{ .to_reg = .xmm1 }, .none } }, | 24596 | .{ .src = .{ .to_mut_mmx, .mem, .none } }, |
| 24597 | .{ .src = .{ .mem, .to_mut_mmx, .none }, .commute = .{ 0, 1 } }, | ||
| 24598 | .{ .src = .{ .to_mut_mmx, .to_mmx, .none } }, | ||
| 24599 | }, | ||
| 24600 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, | ||
| 24601 | .each = .{ .once = &.{ | ||
| 24602 | .{ ._, .p_b, .minu, .dst0q, .src1q, ._, ._ }, | ||
| 24603 | } }, | ||
| 24604 | }, .{ | ||
| 24605 | .required_features = .{ .avx, null, null, null }, | ||
| 24606 | .src_constraints = .{ | ||
| 24607 | .{ .scalar_unsigned_int = .{ .of = .xword, .is = .byte } }, | ||
| 24608 | .{ .scalar_unsigned_int = .{ .of = .xword, .is = .byte } }, | ||
| 24609 | .any, | ||
| 24610 | }, | ||
| 24611 | .patterns = &.{ | ||
| 24612 | .{ .src = .{ .to_sse, .mem, .none } }, | ||
| 24613 | .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } }, | ||
| 24614 | .{ .src = .{ .to_sse, .to_sse, .none } }, | ||
| 24615 | }, | ||
| 24616 | .dst_temps = .{ .{ .rc = .sse }, .unused }, | ||
| 24617 | .each = .{ .once = &.{ | ||
| 24618 | .{ ._, .vp_b, .minu, .dst0x, .src0x, .src1x, ._ }, | ||
| 24619 | } }, | ||
| 24620 | }, .{ | ||
| 24621 | .required_features = .{ .sse2, null, null, null }, | ||
| 24622 | .src_constraints = .{ | ||
| 24623 | .{ .scalar_unsigned_int = .{ .of = .xword, .is = .byte } }, | ||
| 24624 | .{ .scalar_unsigned_int = .{ .of = .xword, .is = .byte } }, | ||
| 24625 | .any, | ||
| 24626 | }, | ||
| 24627 | .patterns = &.{ | ||
| 24628 | .{ .src = .{ .to_mut_sse, .mem, .none } }, | ||
| 24629 | .{ .src = .{ .mem, .to_mut_sse, .none }, .commute = .{ 0, 1 } }, | ||
| 24630 | .{ .src = .{ .to_mut_sse, .to_sse, .none } }, | ||
| 24631 | }, | ||
| 24632 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, | ||
| 24633 | .each = .{ .once = &.{ | ||
| 24634 | .{ ._, .p_b, .minu, .dst0x, .src1x, ._, ._ }, | ||
| 24635 | } }, | ||
| 24636 | }, .{ | ||
| 24637 | .required_features = .{ .avx2, null, null, null }, | ||
| 24638 | .src_constraints = .{ | ||
| 24639 | .{ .scalar_unsigned_int = .{ .of = .yword, .is = .byte } }, | ||
| 24640 | .{ .scalar_unsigned_int = .{ .of = .yword, .is = .byte } }, | ||
| 24641 | .any, | ||
| 24642 | }, | ||
| 24643 | .patterns = &.{ | ||
| 24644 | .{ .src = .{ .to_sse, .mem, .none } }, | ||
| 24645 | .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } }, | ||
| 24646 | .{ .src = .{ .to_sse, .to_sse, .none } }, | ||
| 24647 | }, | ||
| 24648 | .dst_temps = .{ .{ .rc = .sse }, .unused }, | ||
| 24649 | .each = .{ .once = &.{ | ||
| 24650 | .{ ._, .vp_b, .minu, .dst0y, .src0y, .src1y, ._ }, | ||
| 24651 | } }, | ||
| 24652 | }, .{ | ||
| 24653 | .required_features = .{ .avx2, null, null, null }, | ||
| 24654 | .src_constraints = .{ | ||
| 24655 | .{ .multiple_scalar_unsigned_int = .{ .of = .yword, .is = .byte } }, | ||
| 24656 | .{ .multiple_scalar_unsigned_int = .{ .of = .yword, .is = .byte } }, | ||
| 24657 | .any, | ||
| 24658 | }, | ||
| 24659 | .patterns = &.{ | ||
| 24660 | .{ .src = .{ .to_mem, .to_mem, .none } }, | ||
| 21048 | }, | 24661 | }, |
| 21049 | .call_frame = .{ .alignment = .@"16" }, | ||
| 21050 | .extra_temps = .{ | 24662 | .extra_temps = .{ |
| 21051 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "fmaxq" } } }, | 24663 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 21052 | .unused, | 24664 | .{ .type = .vector_32_u8, .kind = .{ .rc = .sse } }, |
| 21053 | .unused, | 24665 | .unused, |
| 21054 | .unused, | 24666 | .unused, |
| 21055 | .unused, | 24667 | .unused, |
| ... | @@ -21060,27 +24672,31 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -21060,27 +24672,31 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 21060 | .unused, | 24672 | .unused, |
| 21061 | .unused, | 24673 | .unused, |
| 21062 | }, | 24674 | }, |
| 21063 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, | 24675 | .dst_temps = .{ .mem, .unused }, |
| 21064 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 24676 | .clobbers = .{ .eflags = true }, |
| 21065 | .each = .{ .once = &.{ | 24677 | .each = .{ .once = &.{ |
| 21066 | .{ ._, ._, .call, .tmp0d, ._, ._, ._ }, | 24678 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, |
| 24679 | .{ .@"0:", .v_dqa, .mov, .tmp1y, .memia(.src0y, .tmp0, .add_size), ._, ._ }, | ||
| 24680 | .{ ._, .vp_b, .minu, .tmp1y, .tmp1y, .memia(.src1y, .tmp0, .add_size), ._ }, | ||
| 24681 | .{ ._, .v_dqa, .mov, .memia(.dst0y, .tmp0, .add_size), .tmp1y, ._, ._ }, | ||
| 24682 | .{ ._, ._, .add, .tmp0p, .si(32), ._, ._ }, | ||
| 24683 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | ||
| 21067 | } }, | 24684 | } }, |
| 21068 | }, .{ | 24685 | }, .{ |
| 21069 | .required_features = .{ .avx, null, null, null }, | 24686 | .required_features = .{ .avx, null, null, null }, |
| 21070 | .src_constraints = .{ | 24687 | .src_constraints = .{ |
| 21071 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, | 24688 | .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .byte } }, |
| 21072 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, | 24689 | .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .byte } }, |
| 21073 | .any, | 24690 | .any, |
| 21074 | }, | 24691 | }, |
| 21075 | .patterns = &.{ | 24692 | .patterns = &.{ |
| 21076 | .{ .src = .{ .to_mem, .to_mem, .none } }, | 24693 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 21077 | }, | 24694 | }, |
| 21078 | .call_frame = .{ .alignment = .@"16" }, | ||
| 21079 | .extra_temps = .{ | 24695 | .extra_temps = .{ |
| 21080 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 24696 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 21081 | .{ .type = .f128, .kind = .{ .reg = .xmm0 } }, | 24697 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| 21082 | .{ .type = .f128, .kind = .{ .reg = .xmm1 } }, | 24698 | .unused, |
| 21083 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "fmaxq" } } }, | 24699 | .unused, |
| 21084 | .unused, | 24700 | .unused, |
| 21085 | .unused, | 24701 | .unused, |
| 21086 | .unused, | 24702 | .unused, |
| ... | @@ -21090,12 +24706,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -21090,12 +24706,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 21090 | .unused, | 24706 | .unused, |
| 21091 | }, | 24707 | }, |
| 21092 | .dst_temps = .{ .mem, .unused }, | 24708 | .dst_temps = .{ .mem, .unused }, |
| 21093 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 24709 | .clobbers = .{ .eflags = true }, |
| 21094 | .each = .{ .once = &.{ | 24710 | .each = .{ .once = &.{ |
| 21095 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, | 24711 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, |
| 21096 | .{ .@"0:", .v_dqa, .mov, .tmp1x, .memia(.src0x, .tmp0, .add_size), ._, ._ }, | 24712 | .{ .@"0:", .v_dqa, .mov, .tmp1x, .memia(.src0x, .tmp0, .add_size), ._, ._ }, |
| 21097 | .{ ._, .v_dqa, .mov, .tmp2x, .memia(.src1x, .tmp0, .add_size), ._, ._ }, | 24713 | .{ ._, .vp_b, .minu, .tmp1x, .tmp1x, .memia(.src1x, .tmp0, .add_size), ._ }, |
| 21098 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, | ||
| 21099 | .{ ._, .v_dqa, .mov, .memia(.dst0x, .tmp0, .add_size), .tmp1x, ._, ._ }, | 24714 | .{ ._, .v_dqa, .mov, .memia(.dst0x, .tmp0, .add_size), .tmp1x, ._, ._ }, |
| 21100 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, | 24715 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, |
| 21101 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 24716 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| ... | @@ -21103,19 +24718,18 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -21103,19 +24718,18 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 21103 | }, .{ | 24718 | }, .{ |
| 21104 | .required_features = .{ .sse2, null, null, null }, | 24719 | .required_features = .{ .sse2, null, null, null }, |
| 21105 | .src_constraints = .{ | 24720 | .src_constraints = .{ |
| 21106 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, | 24721 | .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .byte } }, |
| 21107 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, | 24722 | .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .byte } }, |
| 21108 | .any, | 24723 | .any, |
| 21109 | }, | 24724 | }, |
| 21110 | .patterns = &.{ | 24725 | .patterns = &.{ |
| 21111 | .{ .src = .{ .to_mem, .to_mem, .none } }, | 24726 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 21112 | }, | 24727 | }, |
| 21113 | .call_frame = .{ .alignment = .@"16" }, | ||
| 21114 | .extra_temps = .{ | 24728 | .extra_temps = .{ |
| 21115 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 24729 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 21116 | .{ .type = .f128, .kind = .{ .reg = .xmm0 } }, | 24730 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| 21117 | .{ .type = .f128, .kind = .{ .reg = .xmm1 } }, | 24731 | .unused, |
| 21118 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "fmaxq" } } }, | 24732 | .unused, |
| 21119 | .unused, | 24733 | .unused, |
| 21120 | .unused, | 24734 | .unused, |
| 21121 | .unused, | 24735 | .unused, |
| ... | @@ -21125,32 +24739,30 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -21125,32 +24739,30 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 21125 | .unused, | 24739 | .unused, |
| 21126 | }, | 24740 | }, |
| 21127 | .dst_temps = .{ .mem, .unused }, | 24741 | .dst_temps = .{ .mem, .unused }, |
| 21128 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 24742 | .clobbers = .{ .eflags = true }, |
| 21129 | .each = .{ .once = &.{ | 24743 | .each = .{ .once = &.{ |
| 21130 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, | 24744 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, |
| 21131 | .{ .@"0:", ._dqa, .mov, .tmp1x, .memia(.src0x, .tmp0, .add_size), ._, ._ }, | 24745 | .{ .@"0:", ._dqa, .mov, .tmp1x, .memia(.src0x, .tmp0, .add_size), ._, ._ }, |
| 21132 | .{ ._, ._dqa, .mov, .tmp2x, .memia(.src1x, .tmp0, .add_size), ._, ._ }, | 24746 | .{ ._, .p_b, .minu, .tmp1x, .memia(.src1x, .tmp0, .add_size), ._, ._ }, |
| 21133 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, | ||
| 21134 | .{ ._, ._dqa, .mov, .memia(.dst0x, .tmp0, .add_size), .tmp1x, ._, ._ }, | 24747 | .{ ._, ._dqa, .mov, .memia(.dst0x, .tmp0, .add_size), .tmp1x, ._, ._ }, |
| 21135 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, | 24748 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, |
| 21136 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 24749 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 21137 | } }, | 24750 | } }, |
| 21138 | }, .{ | 24751 | }, .{ |
| 21139 | .required_features = .{ .sse, null, null, null }, | 24752 | .required_features = .{ .cmov, .slow_incdec, null, null }, |
| 21140 | .src_constraints = .{ | 24753 | .src_constraints = .{ |
| 21141 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, | 24754 | .{ .multiple_scalar_unsigned_int = .{ .of = .byte, .is = .byte } }, |
| 21142 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, | 24755 | .{ .multiple_scalar_unsigned_int = .{ .of = .byte, .is = .byte } }, |
| 21143 | .any, | 24756 | .any, |
| 21144 | }, | 24757 | }, |
| 21145 | .patterns = &.{ | 24758 | .patterns = &.{ |
| 21146 | .{ .src = .{ .to_mem, .to_mem, .none } }, | 24759 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 21147 | }, | 24760 | }, |
| 21148 | .call_frame = .{ .alignment = .@"16" }, | ||
| 21149 | .extra_temps = .{ | 24761 | .extra_temps = .{ |
| 21150 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 24762 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 21151 | .{ .type = .f128, .kind = .{ .reg = .xmm0 } }, | 24763 | .{ .type = .u8, .kind = .{ .rc = .general_purpose } }, |
| 21152 | .{ .type = .f128, .kind = .{ .reg = .xmm1 } }, | 24764 | .{ .type = .u8, .kind = .{ .rc = .general_purpose } }, |
| 21153 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "fmaxq" } } }, | 24765 | .unused, |
| 21154 | .unused, | 24766 | .unused, |
| 21155 | .unused, | 24767 | .unused, |
| 21156 | .unused, | 24768 | .unused, |
| ... | @@ -21160,263 +24772,232 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -21160,263 +24772,232 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 21160 | .unused, | 24772 | .unused, |
| 21161 | }, | 24773 | }, |
| 21162 | .dst_temps = .{ .mem, .unused }, | 24774 | .dst_temps = .{ .mem, .unused }, |
| 21163 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 24775 | .clobbers = .{ .eflags = true }, |
| 21164 | .each = .{ .once = &.{ | 24776 | .each = .{ .once = &.{ |
| 21165 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, | 24777 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, |
| 21166 | .{ .@"0:", ._ps, .mova, .tmp1x, .memia(.src0x, .tmp0, .add_size), ._, ._ }, | 24778 | .{ .@"0:", ._, .movzx, .tmp1d, .memia(.src0b, .tmp0, .add_size), ._, ._ }, |
| 21167 | .{ ._, ._ps, .mova, .tmp2x, .memia(.src1x, .tmp0, .add_size), ._, ._ }, | 24779 | .{ ._, ._, .movzx, .tmp2d, .memia(.src1b, .tmp0, .add_size), ._, ._ }, |
| 21168 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, | 24780 | .{ ._, ._, .cmp, .tmp1b, .tmp2b, ._, ._ }, |
| 21169 | .{ ._, ._ps, .mova, .memia(.dst0x, .tmp0, .add_size), .tmp1x, ._, ._ }, | 24781 | .{ ._, ._ae, .cmov, .tmp1d, .tmp2d, ._, ._ }, |
| 21170 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, | 24782 | .{ ._, ._, .mov, .memia(.dst0b, .tmp0, .add_size), .tmp1b, ._, ._ }, |
| 24783 | .{ ._, ._, .add, .tmp0p, .si(1), ._, ._ }, | ||
| 21171 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 24784 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 21172 | } }, | 24785 | } }, |
| 21173 | } }) catch |err| switch (err) { | ||
| 21174 | error.SelectFailed => return cg.fail("failed to select {s} {} {} {}", .{ | ||
| 21175 | @tagName(air_tag), | ||
| 21176 | cg.typeOf(bin_op.lhs).fmt(pt), | ||
| 21177 | ops[0].tracking(cg), | ||
| 21178 | ops[1].tracking(cg), | ||
| 21179 | }), | ||
| 21180 | else => |e| return e, | ||
| 21181 | }; | ||
| 21182 | try res[0].finish(inst, &.{ bin_op.lhs, bin_op.rhs }, &ops, cg); | ||
| 21183 | }, | ||
| 21184 | .min => |air_tag| if (use_old) try cg.airBinOp(inst, air_tag) else { | ||
| 21185 | const bin_op = air_datas[@intFromEnum(inst)].bin_op; | ||
| 21186 | var ops = try cg.tempsFromOperands(inst, .{ bin_op.lhs, bin_op.rhs }); | ||
| 21187 | var res: [1]Temp = undefined; | ||
| 21188 | cg.select(&res, &.{cg.typeOf(bin_op.lhs)}, &ops, comptime &.{ .{ | ||
| 21189 | .required_features = .{ .cmov, null, null, null }, | ||
| 21190 | .src_constraints = .{ .{ .signed_int = .byte }, .{ .signed_int = .byte }, .any }, | ||
| 21191 | .patterns = &.{ | ||
| 21192 | .{ .src = .{ .to_mut_gpr, .to_gpr, .none } }, | ||
| 21193 | }, | ||
| 21194 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, | ||
| 21195 | .clobbers = .{ .eflags = true }, | ||
| 21196 | .each = .{ .once = &.{ | ||
| 21197 | .{ ._, ._, .cmp, .src0b, .src1b, ._, ._ }, | ||
| 21198 | .{ ._, ._ge, .cmov, .dst0d, .src1d, ._, ._ }, | ||
| 21199 | } }, | ||
| 21200 | }, .{ | ||
| 21201 | .src_constraints = .{ .{ .signed_int = .byte }, .{ .signed_int = .byte }, .any }, | ||
| 21202 | .patterns = &.{ | ||
| 21203 | .{ .src = .{ .to_mut_gpr, .mem, .none } }, | ||
| 21204 | .{ .src = .{ .mem, .to_mut_gpr, .none }, .commute = .{ 0, 1 } }, | ||
| 21205 | .{ .src = .{ .to_mut_gpr, .to_gpr, .none } }, | ||
| 21206 | }, | ||
| 21207 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, | ||
| 21208 | .clobbers = .{ .eflags = true }, | ||
| 21209 | .each = .{ .once = &.{ | ||
| 21210 | .{ ._, ._, .cmp, .src0b, .src1b, ._, ._ }, | ||
| 21211 | .{ ._, ._nge, .j, .@"0f", ._, ._, ._ }, | ||
| 21212 | .{ ._, ._, .mov, .dst0b, .src1b, ._, ._ }, | ||
| 21213 | } }, | ||
| 21214 | }, .{ | 24786 | }, .{ |
| 21215 | .required_features = .{ .cmov, null, null, null }, | 24787 | .required_features = .{ .cmov, null, null, null }, |
| 21216 | .src_constraints = .{ .{ .unsigned_int = .byte }, .{ .unsigned_int = .byte }, .any }, | 24788 | .src_constraints = .{ |
| 21217 | .patterns = &.{ | 24789 | .{ .multiple_scalar_unsigned_int = .{ .of = .byte, .is = .byte } }, |
| 21218 | .{ .src = .{ .to_mut_gpr, .to_gpr, .none } }, | 24790 | .{ .multiple_scalar_unsigned_int = .{ .of = .byte, .is = .byte } }, |
| 24791 | .any, | ||
| 21219 | }, | 24792 | }, |
| 21220 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, | ||
| 21221 | .clobbers = .{ .eflags = true }, | ||
| 21222 | .each = .{ .once = &.{ | ||
| 21223 | .{ ._, ._, .cmp, .src0b, .src1b, ._, ._ }, | ||
| 21224 | .{ ._, ._ae, .cmov, .dst0d, .src1d, ._, ._ }, | ||
| 21225 | } }, | ||
| 21226 | }, .{ | ||
| 21227 | .src_constraints = .{ .{ .unsigned_int = .byte }, .{ .unsigned_int = .byte }, .any }, | ||
| 21228 | .patterns = &.{ | 24793 | .patterns = &.{ |
| 21229 | .{ .src = .{ .to_mut_gpr, .mem, .none } }, | 24794 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 21230 | .{ .src = .{ .mem, .to_mut_gpr, .none }, .commute = .{ 0, 1 } }, | ||
| 21231 | .{ .src = .{ .to_mut_gpr, .to_gpr, .none } }, | ||
| 21232 | }, | 24795 | }, |
| 21233 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, | 24796 | .extra_temps = .{ |
| 21234 | .clobbers = .{ .eflags = true }, | 24797 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 21235 | .each = .{ .once = &.{ | 24798 | .{ .type = .u8, .kind = .{ .rc = .general_purpose } }, |
| 21236 | .{ ._, ._, .cmp, .src0b, .src1b, ._, ._ }, | 24799 | .{ .type = .u8, .kind = .{ .rc = .general_purpose } }, |
| 21237 | .{ ._, ._nae, .j, .@"0f", ._, ._, ._ }, | 24800 | .unused, |
| 21238 | .{ ._, ._, .mov, .dst0b, .src1b, ._, ._ }, | 24801 | .unused, |
| 21239 | } }, | 24802 | .unused, |
| 21240 | }, .{ | 24803 | .unused, |
| 21241 | .required_features = .{ .cmov, null, null, null }, | 24804 | .unused, |
| 21242 | .src_constraints = .{ .{ .signed_int = .word }, .{ .signed_int = .word }, .any }, | 24805 | .unused, |
| 21243 | .patterns = &.{ | 24806 | .unused, |
| 21244 | .{ .src = .{ .to_mut_gpr, .mem, .none } }, | 24807 | .unused, |
| 21245 | .{ .src = .{ .mem, .to_mut_gpr, .none }, .commute = .{ 0, 1 } }, | ||
| 21246 | .{ .src = .{ .to_mut_gpr, .to_gpr, .none } }, | ||
| 21247 | }, | 24808 | }, |
| 21248 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, | 24809 | .dst_temps = .{ .mem, .unused }, |
| 21249 | .clobbers = .{ .eflags = true }, | 24810 | .clobbers = .{ .eflags = true }, |
| 21250 | .each = .{ .once = &.{ | 24811 | .each = .{ .once = &.{ |
| 21251 | .{ ._, ._, .cmp, .src0w, .src1w, ._, ._ }, | 24812 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, |
| 21252 | .{ ._, ._ge, .cmov, .dst0w, .src1w, ._, ._ }, | 24813 | .{ .@"0:", ._, .movzx, .tmp1d, .memia(.src0b, .tmp0, .add_size), ._, ._ }, |
| 24814 | .{ ._, ._, .movzx, .tmp2d, .memia(.src1b, .tmp0, .add_size), ._, ._ }, | ||
| 24815 | .{ ._, ._, .cmp, .tmp1b, .tmp2b, ._, ._ }, | ||
| 24816 | .{ ._, ._ae, .cmov, .tmp1d, .tmp2d, ._, ._ }, | ||
| 24817 | .{ ._, ._, .mov, .memia(.dst0b, .tmp0, .add_size), .tmp1b, ._, ._ }, | ||
| 24818 | .{ ._, ._c, .in, .tmp0p, ._, ._, ._ }, | ||
| 24819 | .{ ._, ._nz, .j, .@"0b", ._, ._, ._ }, | ||
| 21253 | } }, | 24820 | } }, |
| 21254 | }, .{ | 24821 | }, .{ |
| 21255 | .src_constraints = .{ .{ .signed_int = .word }, .{ .signed_int = .word }, .any }, | 24822 | .required_features = .{ .slow_incdec, null, null, null }, |
| 21256 | .patterns = &.{ | 24823 | .src_constraints = .{ |
| 21257 | .{ .src = .{ .to_mut_gpr, .mem, .none } }, | 24824 | .{ .multiple_scalar_unsigned_int = .{ .of = .byte, .is = .byte } }, |
| 21258 | .{ .src = .{ .mem, .to_mut_gpr, .none }, .commute = .{ 0, 1 } }, | 24825 | .{ .multiple_scalar_unsigned_int = .{ .of = .byte, .is = .byte } }, |
| 21259 | .{ .src = .{ .to_mut_gpr, .to_gpr, .none } }, | 24826 | .any, |
| 21260 | }, | 24827 | }, |
| 21261 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, | ||
| 21262 | .clobbers = .{ .eflags = true }, | ||
| 21263 | .each = .{ .once = &.{ | ||
| 21264 | .{ ._, ._, .cmp, .src0w, .src1w, ._, ._ }, | ||
| 21265 | .{ ._, ._nge, .j, .@"0f", ._, ._, ._ }, | ||
| 21266 | .{ ._, ._, .mov, .dst0w, .src1w, ._, ._ }, | ||
| 21267 | } }, | ||
| 21268 | }, .{ | ||
| 21269 | .required_features = .{ .cmov, null, null, null }, | ||
| 21270 | .src_constraints = .{ .{ .unsigned_int = .word }, .{ .unsigned_int = .word }, .any }, | ||
| 21271 | .patterns = &.{ | 24828 | .patterns = &.{ |
| 21272 | .{ .src = .{ .to_mut_gpr, .mem, .none } }, | 24829 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 21273 | .{ .src = .{ .mem, .to_mut_gpr, .none }, .commute = .{ 0, 1 } }, | ||
| 21274 | .{ .src = .{ .to_mut_gpr, .to_gpr, .none } }, | ||
| 21275 | }, | 24830 | }, |
| 21276 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, | 24831 | .extra_temps = .{ |
| 21277 | .clobbers = .{ .eflags = true }, | 24832 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 21278 | .each = .{ .once = &.{ | 24833 | .{ .type = .u8, .kind = .{ .rc = .general_purpose } }, |
| 21279 | .{ ._, ._, .cmp, .src0w, .src1w, ._, ._ }, | 24834 | .unused, |
| 21280 | .{ ._, ._ae, .cmov, .dst0w, .src1w, ._, ._ }, | 24835 | .unused, |
| 21281 | } }, | 24836 | .unused, |
| 21282 | }, .{ | 24837 | .unused, |
| 21283 | .src_constraints = .{ .{ .unsigned_int = .word }, .{ .unsigned_int = .word }, .any }, | 24838 | .unused, |
| 21284 | .patterns = &.{ | 24839 | .unused, |
| 21285 | .{ .src = .{ .to_mut_gpr, .mem, .none } }, | 24840 | .unused, |
| 21286 | .{ .src = .{ .mem, .to_mut_gpr, .none }, .commute = .{ 0, 1 } }, | 24841 | .unused, |
| 21287 | .{ .src = .{ .to_mut_gpr, .to_gpr, .none } }, | 24842 | .unused, |
| 21288 | }, | 24843 | }, |
| 21289 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, | 24844 | .dst_temps = .{ .mem, .unused }, |
| 21290 | .clobbers = .{ .eflags = true }, | 24845 | .clobbers = .{ .eflags = true }, |
| 21291 | .each = .{ .once = &.{ | 24846 | .each = .{ .once = &.{ |
| 21292 | .{ ._, ._, .cmp, .src0w, .src1w, ._, ._ }, | 24847 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, |
| 21293 | .{ ._, ._nae, .j, .@"0f", ._, ._, ._ }, | 24848 | .{ .@"0:", ._, .movzx, .tmp1d, .memia(.src0b, .tmp0, .add_size), ._, ._ }, |
| 21294 | .{ ._, ._, .mov, .dst0w, .src1w, ._, ._ }, | 24849 | .{ ._, ._, .cmp, .tmp1b, .memia(.src1b, .tmp0, .add_size), ._, ._ }, |
| 24850 | .{ ._, ._nae, .j, .@"1f", ._, ._, ._ }, | ||
| 24851 | .{ ._, ._, .mov, .tmp1b, .memia(.src1b, .tmp0, .add_size), ._, ._ }, | ||
| 24852 | .{ .@"1:", ._, .mov, .memia(.dst0b, .tmp0, .add_size), .tmp1b, ._, ._ }, | ||
| 24853 | .{ ._, ._, .add, .tmp0p, .si(1), ._, ._ }, | ||
| 24854 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | ||
| 21295 | } }, | 24855 | } }, |
| 21296 | }, .{ | 24856 | }, .{ |
| 21297 | .required_features = .{ .cmov, null, null, null }, | 24857 | .src_constraints = .{ |
| 21298 | .src_constraints = .{ .{ .signed_int = .dword }, .{ .signed_int = .dword }, .any }, | 24858 | .{ .multiple_scalar_unsigned_int = .{ .of = .byte, .is = .byte } }, |
| 21299 | .patterns = &.{ | 24859 | .{ .multiple_scalar_unsigned_int = .{ .of = .byte, .is = .byte } }, |
| 21300 | .{ .src = .{ .to_mut_gpr, .mem, .none } }, | 24860 | .any, |
| 21301 | .{ .src = .{ .mem, .to_mut_gpr, .none }, .commute = .{ 0, 1 } }, | ||
| 21302 | .{ .src = .{ .to_mut_gpr, .to_gpr, .none } }, | ||
| 21303 | }, | 24861 | }, |
| 21304 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, | ||
| 21305 | .clobbers = .{ .eflags = true }, | ||
| 21306 | .each = .{ .once = &.{ | ||
| 21307 | .{ ._, ._, .cmp, .src0d, .src1d, ._, ._ }, | ||
| 21308 | .{ ._, ._ge, .cmov, .dst0d, .src1d, ._, ._ }, | ||
| 21309 | } }, | ||
| 21310 | }, .{ | ||
| 21311 | .src_constraints = .{ .{ .signed_int = .dword }, .{ .signed_int = .dword }, .any }, | ||
| 21312 | .patterns = &.{ | 24862 | .patterns = &.{ |
| 21313 | .{ .src = .{ .to_mut_gpr, .mem, .none } }, | 24863 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 21314 | .{ .src = .{ .mem, .to_mut_gpr, .none }, .commute = .{ 0, 1 } }, | ||
| 21315 | .{ .src = .{ .to_mut_gpr, .to_gpr, .none } }, | ||
| 21316 | }, | 24864 | }, |
| 21317 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, | 24865 | .extra_temps = .{ |
| 21318 | .clobbers = .{ .eflags = true }, | 24866 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 21319 | .each = .{ .once = &.{ | 24867 | .{ .type = .u8, .kind = .{ .rc = .general_purpose } }, |
| 21320 | .{ ._, ._, .cmp, .src0d, .src1d, ._, ._ }, | 24868 | .unused, |
| 21321 | .{ ._, ._nge, .j, .@"0f", ._, ._, ._ }, | 24869 | .unused, |
| 21322 | .{ ._, ._, .mov, .dst0d, .src1d, ._, ._ }, | 24870 | .unused, |
| 21323 | } }, | 24871 | .unused, |
| 21324 | }, .{ | 24872 | .unused, |
| 21325 | .required_features = .{ .cmov, null, null, null }, | 24873 | .unused, |
| 21326 | .src_constraints = .{ .{ .unsigned_int = .dword }, .{ .unsigned_int = .dword }, .any }, | 24874 | .unused, |
| 21327 | .patterns = &.{ | 24875 | .unused, |
| 21328 | .{ .src = .{ .to_mut_gpr, .mem, .none } }, | 24876 | .unused, |
| 21329 | .{ .src = .{ .mem, .to_mut_gpr, .none }, .commute = .{ 0, 1 } }, | ||
| 21330 | .{ .src = .{ .to_mut_gpr, .to_gpr, .none } }, | ||
| 21331 | }, | 24877 | }, |
| 21332 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, | 24878 | .dst_temps = .{ .mem, .unused }, |
| 21333 | .clobbers = .{ .eflags = true }, | 24879 | .clobbers = .{ .eflags = true }, |
| 21334 | .each = .{ .once = &.{ | 24880 | .each = .{ .once = &.{ |
| 21335 | .{ ._, ._, .cmp, .src0d, .src1d, ._, ._ }, | 24881 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, |
| 21336 | .{ ._, ._ae, .cmov, .dst0d, .src1d, ._, ._ }, | 24882 | .{ .@"0:", ._, .movzx, .tmp1d, .memia(.src0b, .tmp0, .add_size), ._, ._ }, |
| 24883 | .{ ._, ._, .cmp, .tmp1b, .memia(.src1b, .tmp0, .add_size), ._, ._ }, | ||
| 24884 | .{ ._, ._nae, .j, .@"1f", ._, ._, ._ }, | ||
| 24885 | .{ ._, ._, .mov, .tmp1b, .memia(.src1b, .tmp0, .add_size), ._, ._ }, | ||
| 24886 | .{ .@"1:", ._, .mov, .memia(.dst0b, .tmp0, .add_size), .tmp1b, ._, ._ }, | ||
| 24887 | .{ ._, ._c, .in, .tmp0p, ._, ._, ._ }, | ||
| 24888 | .{ ._, ._nz, .j, .@"0b", ._, ._, ._ }, | ||
| 21337 | } }, | 24889 | } }, |
| 21338 | }, .{ | 24890 | }, .{ |
| 21339 | .src_constraints = .{ .{ .unsigned_int = .dword }, .{ .unsigned_int = .dword }, .any }, | 24891 | .required_features = .{ .sse, .mmx, null, null }, |
| 24892 | .src_constraints = .{ | ||
| 24893 | .{ .scalar_signed_int = .{ .of = .qword, .is = .word } }, | ||
| 24894 | .{ .scalar_signed_int = .{ .of = .qword, .is = .word } }, | ||
| 24895 | .any, | ||
| 24896 | }, | ||
| 21340 | .patterns = &.{ | 24897 | .patterns = &.{ |
| 21341 | .{ .src = .{ .to_mut_gpr, .mem, .none } }, | 24898 | .{ .src = .{ .to_mut_mmx, .mem, .none } }, |
| 21342 | .{ .src = .{ .mem, .to_mut_gpr, .none }, .commute = .{ 0, 1 } }, | 24899 | .{ .src = .{ .mem, .to_mut_mmx, .none }, .commute = .{ 0, 1 } }, |
| 21343 | .{ .src = .{ .to_mut_gpr, .to_gpr, .none } }, | 24900 | .{ .src = .{ .to_mut_mmx, .to_mmx, .none } }, |
| 21344 | }, | 24901 | }, |
| 21345 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, | 24902 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| 21346 | .clobbers = .{ .eflags = true }, | ||
| 21347 | .each = .{ .once = &.{ | 24903 | .each = .{ .once = &.{ |
| 21348 | .{ ._, ._, .cmp, .src0d, .src1d, ._, ._ }, | 24904 | .{ ._, .p_w, .mins, .dst0q, .src1q, ._, ._ }, |
| 21349 | .{ ._, ._nae, .j, .@"0f", ._, ._, ._ }, | ||
| 21350 | .{ ._, ._, .mov, .dst0d, .src1d, ._, ._ }, | ||
| 21351 | } }, | 24905 | } }, |
| 21352 | }, .{ | 24906 | }, .{ |
| 21353 | .required_features = .{ .@"64bit", .cmov, null, null }, | 24907 | .required_features = .{ .avx, null, null, null }, |
| 21354 | .src_constraints = .{ .{ .signed_int = .qword }, .{ .signed_int = .qword }, .any }, | 24908 | .src_constraints = .{ |
| 24909 | .{ .scalar_signed_int = .{ .of = .xword, .is = .word } }, | ||
| 24910 | .{ .scalar_signed_int = .{ .of = .xword, .is = .word } }, | ||
| 24911 | .any, | ||
| 24912 | }, | ||
| 21355 | .patterns = &.{ | 24913 | .patterns = &.{ |
| 21356 | .{ .src = .{ .to_mut_gpr, .mem, .none } }, | 24914 | .{ .src = .{ .to_sse, .mem, .none } }, |
| 21357 | .{ .src = .{ .mem, .to_mut_gpr, .none }, .commute = .{ 0, 1 } }, | 24915 | .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } }, |
| 21358 | .{ .src = .{ .to_mut_gpr, .to_gpr, .none } }, | 24916 | .{ .src = .{ .to_sse, .to_sse, .none } }, |
| 21359 | }, | 24917 | }, |
| 21360 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, | 24918 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| 21361 | .clobbers = .{ .eflags = true }, | ||
| 21362 | .each = .{ .once = &.{ | 24919 | .each = .{ .once = &.{ |
| 21363 | .{ ._, ._, .cmp, .src0q, .src1q, ._, ._ }, | 24920 | .{ ._, .vp_w, .mins, .dst0x, .src0x, .src1x, ._ }, |
| 21364 | .{ ._, ._ge, .cmov, .dst0q, .src1q, ._, ._ }, | ||
| 21365 | } }, | 24921 | } }, |
| 21366 | }, .{ | 24922 | }, .{ |
| 21367 | .required_features = .{ .@"64bit", null, null, null }, | 24923 | .required_features = .{ .sse2, null, null, null }, |
| 21368 | .src_constraints = .{ .{ .signed_int = .qword }, .{ .signed_int = .qword }, .any }, | 24924 | .src_constraints = .{ |
| 24925 | .{ .scalar_signed_int = .{ .of = .xword, .is = .word } }, | ||
| 24926 | .{ .scalar_signed_int = .{ .of = .xword, .is = .word } }, | ||
| 24927 | .any, | ||
| 24928 | }, | ||
| 21369 | .patterns = &.{ | 24929 | .patterns = &.{ |
| 21370 | .{ .src = .{ .to_mut_gpr, .mem, .none } }, | 24930 | .{ .src = .{ .to_mut_sse, .mem, .none } }, |
| 21371 | .{ .src = .{ .mem, .to_mut_gpr, .none }, .commute = .{ 0, 1 } }, | 24931 | .{ .src = .{ .mem, .to_mut_sse, .none }, .commute = .{ 0, 1 } }, |
| 21372 | .{ .src = .{ .to_mut_gpr, .to_gpr, .none } }, | 24932 | .{ .src = .{ .to_mut_sse, .to_sse, .none } }, |
| 21373 | }, | 24933 | }, |
| 21374 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, | 24934 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| 21375 | .clobbers = .{ .eflags = true }, | ||
| 21376 | .each = .{ .once = &.{ | 24935 | .each = .{ .once = &.{ |
| 21377 | .{ ._, ._, .cmp, .src0q, .src1q, ._, ._ }, | 24936 | .{ ._, .p_w, .mins, .dst0x, .src1x, ._, ._ }, |
| 21378 | .{ ._, ._nge, .j, .@"0f", ._, ._, ._ }, | ||
| 21379 | .{ ._, ._, .mov, .dst0q, .src1q, ._, ._ }, | ||
| 21380 | } }, | 24937 | } }, |
| 21381 | }, .{ | 24938 | }, .{ |
| 21382 | .required_features = .{ .@"64bit", .cmov, null, null }, | 24939 | .required_features = .{ .avx2, null, null, null }, |
| 21383 | .src_constraints = .{ .{ .unsigned_int = .qword }, .{ .unsigned_int = .qword }, .any }, | 24940 | .src_constraints = .{ |
| 24941 | .{ .scalar_signed_int = .{ .of = .yword, .is = .word } }, | ||
| 24942 | .{ .scalar_signed_int = .{ .of = .yword, .is = .word } }, | ||
| 24943 | .any, | ||
| 24944 | }, | ||
| 21384 | .patterns = &.{ | 24945 | .patterns = &.{ |
| 21385 | .{ .src = .{ .to_mut_gpr, .mem, .none } }, | 24946 | .{ .src = .{ .to_sse, .mem, .none } }, |
| 21386 | .{ .src = .{ .mem, .to_mut_gpr, .none }, .commute = .{ 0, 1 } }, | 24947 | .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } }, |
| 21387 | .{ .src = .{ .to_mut_gpr, .to_gpr, .none } }, | 24948 | .{ .src = .{ .to_sse, .to_sse, .none } }, |
| 21388 | }, | 24949 | }, |
| 21389 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, | 24950 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| 21390 | .clobbers = .{ .eflags = true }, | ||
| 21391 | .each = .{ .once = &.{ | 24951 | .each = .{ .once = &.{ |
| 21392 | .{ ._, ._, .cmp, .src0q, .src1q, ._, ._ }, | 24952 | .{ ._, .vp_w, .mins, .dst0y, .src0y, .src1y, ._ }, |
| 21393 | .{ ._, ._ae, .cmov, .dst0q, .src1q, ._, ._ }, | ||
| 21394 | } }, | 24953 | } }, |
| 21395 | }, .{ | 24954 | }, .{ |
| 21396 | .required_features = .{ .@"64bit", null, null, null }, | 24955 | .required_features = .{ .avx2, null, null, null }, |
| 21397 | .src_constraints = .{ .{ .unsigned_int = .qword }, .{ .unsigned_int = .qword }, .any }, | 24956 | .src_constraints = .{ |
| 24957 | .{ .multiple_scalar_signed_int = .{ .of = .yword, .is = .word } }, | ||
| 24958 | .{ .multiple_scalar_signed_int = .{ .of = .yword, .is = .word } }, | ||
| 24959 | .any, | ||
| 24960 | }, | ||
| 21398 | .patterns = &.{ | 24961 | .patterns = &.{ |
| 21399 | .{ .src = .{ .to_mut_gpr, .mem, .none } }, | 24962 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 21400 | .{ .src = .{ .mem, .to_mut_gpr, .none }, .commute = .{ 0, 1 } }, | ||
| 21401 | .{ .src = .{ .to_mut_gpr, .to_gpr, .none } }, | ||
| 21402 | }, | 24963 | }, |
| 21403 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, | 24964 | .extra_temps = .{ |
| 24965 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | ||
| 24966 | .{ .type = .vector_16_i16, .kind = .{ .rc = .sse } }, | ||
| 24967 | .unused, | ||
| 24968 | .unused, | ||
| 24969 | .unused, | ||
| 24970 | .unused, | ||
| 24971 | .unused, | ||
| 24972 | .unused, | ||
| 24973 | .unused, | ||
| 24974 | .unused, | ||
| 24975 | .unused, | ||
| 24976 | }, | ||
| 24977 | .dst_temps = .{ .mem, .unused }, | ||
| 21404 | .clobbers = .{ .eflags = true }, | 24978 | .clobbers = .{ .eflags = true }, |
| 21405 | .each = .{ .once = &.{ | 24979 | .each = .{ .once = &.{ |
| 21406 | .{ ._, ._, .cmp, .src0q, .src1q, ._, ._ }, | 24980 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, |
| 21407 | .{ ._, ._nae, .j, .@"0f", ._, ._, ._ }, | 24981 | .{ .@"0:", .v_dqa, .mov, .tmp1y, .memia(.src0y, .tmp0, .add_size), ._, ._ }, |
| 21408 | .{ ._, ._, .mov, .dst0q, .src1q, ._, ._ }, | 24982 | .{ ._, .vp_w, .mins, .tmp1y, .tmp1y, .memia(.src1y, .tmp0, .add_size), ._ }, |
| 24983 | .{ ._, .v_dqa, .mov, .memia(.dst0y, .tmp0, .add_size), .tmp1y, ._, ._ }, | ||
| 24984 | .{ ._, ._, .add, .tmp0p, .si(32), ._, ._ }, | ||
| 24985 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | ||
| 21409 | } }, | 24986 | } }, |
| 21410 | }, .{ | 24987 | }, .{ |
| 21411 | .required_features = .{ .@"64bit", .cmov, null, null }, | 24988 | .required_features = .{ .avx, null, null, null }, |
| 21412 | .src_constraints = .{ .any_signed_int, .any_signed_int, .any }, | 24989 | .src_constraints = .{ |
| 24990 | .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .word } }, | ||
| 24991 | .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .word } }, | ||
| 24992 | .any, | ||
| 24993 | }, | ||
| 21413 | .patterns = &.{ | 24994 | .patterns = &.{ |
| 21414 | .{ .src = .{ .to_mem, .to_mem, .none } }, | 24995 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 21415 | }, | 24996 | }, |
| 21416 | .extra_temps = .{ | 24997 | .extra_temps = .{ |
| 21417 | .{ .type = .isize, .kind = .{ .reg = .rsi } }, | 24998 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 21418 | .{ .type = .u64, .kind = .{ .reg = .rdi } }, | 24999 | .{ .type = .vector_16_i16, .kind = .{ .rc = .sse } }, |
| 21419 | .{ .type = .u64, .kind = .{ .reg = .rcx } }, | 25000 | .unused, |
| 21420 | .unused, | 25001 | .unused, |
| 21421 | .unused, | 25002 | .unused, |
| 21422 | .unused, | 25003 | .unused, |
| ... | @@ -21429,31 +25010,27 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -21429,31 +25010,27 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 21429 | .dst_temps = .{ .mem, .unused }, | 25010 | .dst_temps = .{ .mem, .unused }, |
| 21430 | .clobbers = .{ .eflags = true }, | 25011 | .clobbers = .{ .eflags = true }, |
| 21431 | .each = .{ .once = &.{ | 25012 | .each = .{ .once = &.{ |
| 21432 | .{ ._, ._, .mov, .tmp0p, .sia(1, .src0, .sub_size_div_8), ._, ._ }, | 25013 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, |
| 21433 | .{ ._, ._c, .cl, ._, ._, ._, ._ }, | 25014 | .{ .@"0:", .v_dqa, .mov, .tmp1x, .memia(.src0x, .tmp0, .add_size), ._, ._ }, |
| 21434 | .{ .@"0:", ._, .mov, .tmp1q, .memsiad(.src0q, .@"8", .tmp0, .add_size, -8), ._, ._ }, | 25015 | .{ ._, .vp_w, .mins, .tmp1x, .tmp1x, .memia(.src1x, .tmp0, .add_size), ._ }, |
| 21435 | .{ ._, ._, .sbb, .tmp1q, .memsiad(.src1q, .@"8", .tmp0, .add_size, -8), ._, ._ }, | 25016 | .{ ._, .v_dqa, .mov, .memia(.dst0x, .tmp0, .add_size), .tmp1x, ._, ._ }, |
| 21436 | .{ ._, ._c, .in, .tmp0p, ._, ._, ._ }, | 25017 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, |
| 21437 | .{ ._, ._nz, .j, .@"0b", ._, ._, ._ }, | 25018 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 21438 | .{ ._, ._, .mov, .tmp1q, .memad(.src0q, .add_size, -8), ._, ._ }, | ||
| 21439 | .{ ._, ._, .sbb, .tmp1q, .memad(.src1q, .add_size, -8), ._, ._ }, | ||
| 21440 | .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ }, | ||
| 21441 | .{ ._, ._, .lea, .tmp1p, .mem(.src1), ._, ._ }, | ||
| 21442 | .{ ._, ._ge, .cmov, .tmp0p, .tmp1p, ._, ._ }, | ||
| 21443 | .{ ._, ._, .lea, .tmp1p, .mem(.dst0), ._, ._ }, | ||
| 21444 | .{ ._, ._, .mov, .tmp2d, .sa(.src0, .add_size_div_8), ._, ._ }, | ||
| 21445 | .{ ._, .@"rep _sq", .mov, ._, ._, ._, ._ }, | ||
| 21446 | } }, | 25019 | } }, |
| 21447 | }, .{ | 25020 | }, .{ |
| 21448 | .required_features = .{ .@"64bit", null, null, null }, | 25021 | .required_features = .{ .sse2, null, null, null }, |
| 21449 | .src_constraints = .{ .any_signed_int, .any_signed_int, .any }, | 25022 | .src_constraints = .{ |
| 25023 | .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .word } }, | ||
| 25024 | .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .word } }, | ||
| 25025 | .any, | ||
| 25026 | }, | ||
| 21450 | .patterns = &.{ | 25027 | .patterns = &.{ |
| 21451 | .{ .src = .{ .to_mem, .to_mem, .none } }, | 25028 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 21452 | }, | 25029 | }, |
| 21453 | .extra_temps = .{ | 25030 | .extra_temps = .{ |
| 21454 | .{ .type = .isize, .kind = .{ .reg = .rsi } }, | 25031 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 21455 | .{ .type = .u64, .kind = .{ .reg = .rdi } }, | 25032 | .{ .type = .vector_16_i16, .kind = .{ .rc = .sse } }, |
| 21456 | .{ .type = .u64, .kind = .{ .reg = .rcx } }, | 25033 | .unused, |
| 21457 | .unused, | 25034 | .unused, |
| 21458 | .unused, | 25035 | .unused, |
| 21459 | .unused, | 25036 | .unused, |
| ... | @@ -21466,31 +25043,27 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -21466,31 +25043,27 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 21466 | .dst_temps = .{ .mem, .unused }, | 25043 | .dst_temps = .{ .mem, .unused }, |
| 21467 | .clobbers = .{ .eflags = true }, | 25044 | .clobbers = .{ .eflags = true }, |
| 21468 | .each = .{ .once = &.{ | 25045 | .each = .{ .once = &.{ |
| 21469 | .{ ._, ._, .mov, .tmp0p, .sia(1, .src0, .sub_size_div_8), ._, ._ }, | 25046 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, |
| 21470 | .{ ._, ._c, .cl, ._, ._, ._, ._ }, | 25047 | .{ .@"0:", ._dqa, .mov, .tmp1x, .memia(.src0x, .tmp0, .add_size), ._, ._ }, |
| 21471 | .{ .@"0:", ._, .mov, .tmp1q, .memsiad(.src0q, .@"8", .tmp0, .add_size, -8), ._, ._ }, | 25048 | .{ ._, .p_w, .mins, .tmp1x, .memia(.src1x, .tmp0, .add_size), ._, ._ }, |
| 21472 | .{ ._, ._, .sbb, .tmp1q, .memsiad(.src1q, .@"8", .tmp0, .add_size, -8), ._, ._ }, | 25049 | .{ ._, ._dqa, .mov, .memia(.dst0x, .tmp0, .add_size), .tmp1x, ._, ._ }, |
| 21473 | .{ ._, ._c, .in, .tmp0p, ._, ._, ._ }, | 25050 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, |
| 21474 | .{ ._, ._nz, .j, .@"0b", ._, ._, ._ }, | 25051 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 21475 | .{ ._, ._, .mov, .tmp1q, .memad(.src0q, .add_size, -8), ._, ._ }, | ||
| 21476 | .{ ._, ._, .sbb, .tmp1q, .memad(.src1q, .add_size, -8), ._, ._ }, | ||
| 21477 | .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ }, | ||
| 21478 | .{ ._, ._nge, .j, .@"0f", ._, ._, ._ }, | ||
| 21479 | .{ ._, ._, .lea, .tmp0p, .mem(.src1), ._, ._ }, | ||
| 21480 | .{ .@"0:", ._, .lea, .tmp1p, .mem(.dst0), ._, ._ }, | ||
| 21481 | .{ ._, ._, .mov, .tmp2d, .sa(.src0, .add_size_div_8), ._, ._ }, | ||
| 21482 | .{ ._, .@"rep _sq", .mov, ._, ._, ._, ._ }, | ||
| 21483 | } }, | 25052 | } }, |
| 21484 | }, .{ | 25053 | }, .{ |
| 21485 | .required_features = .{ .@"64bit", .cmov, null, null }, | 25054 | .required_features = .{ .cmov, null, null, null }, |
| 21486 | .src_constraints = .{ .any_unsigned_int, .any_unsigned_int, .any }, | 25055 | .src_constraints = .{ |
| 25056 | .{ .multiple_scalar_signed_int = .{ .of = .word, .is = .word } }, | ||
| 25057 | .{ .multiple_scalar_signed_int = .{ .of = .word, .is = .word } }, | ||
| 25058 | .any, | ||
| 25059 | }, | ||
| 21487 | .patterns = &.{ | 25060 | .patterns = &.{ |
| 21488 | .{ .src = .{ .to_mem, .to_mem, .none } }, | 25061 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 21489 | }, | 25062 | }, |
| 21490 | .extra_temps = .{ | 25063 | .extra_temps = .{ |
| 21491 | .{ .type = .isize, .kind = .{ .reg = .rsi } }, | 25064 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 21492 | .{ .type = .u64, .kind = .{ .reg = .rdi } }, | 25065 | .{ .type = .i16, .kind = .{ .rc = .general_purpose } }, |
| 21493 | .{ .type = .u64, .kind = .{ .reg = .rcx } }, | 25066 | .unused, |
| 21494 | .unused, | 25067 | .unused, |
| 21495 | .unused, | 25068 | .unused, |
| 21496 | .unused, | 25069 | .unused, |
| ... | @@ -21503,29 +25076,27 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -21503,29 +25076,27 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 21503 | .dst_temps = .{ .mem, .unused }, | 25076 | .dst_temps = .{ .mem, .unused }, |
| 21504 | .clobbers = .{ .eflags = true }, | 25077 | .clobbers = .{ .eflags = true }, |
| 21505 | .each = .{ .once = &.{ | 25078 | .each = .{ .once = &.{ |
| 21506 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size_div_8), ._, ._ }, | 25079 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, |
| 21507 | .{ ._, ._c, .cl, ._, ._, ._, ._ }, | 25080 | .{ .@"0:", ._, .movsx, .tmp1d, .memia(.src0w, .tmp0, .add_size), ._, ._ }, |
| 21508 | .{ .@"0:", ._, .mov, .tmp1q, .memsia(.src0q, .@"8", .tmp0, .add_size), ._, ._ }, | 25081 | .{ ._, ._, .cmp, .tmp1w, .memia(.src1w, .tmp0, .add_size), ._, ._ }, |
| 21509 | .{ ._, ._, .sbb, .tmp1q, .memsia(.src1q, .@"8", .tmp0, .add_size), ._, ._ }, | 25082 | .{ ._, ._ge, .cmov, .tmp1w, .memia(.src1w, .tmp0, .add_size), ._, ._ }, |
| 21510 | .{ ._, ._c, .in, .tmp0p, ._, ._, ._ }, | 25083 | .{ ._, ._, .mov, .memia(.dst0w, .tmp0, .add_size), .tmp1w, ._, ._ }, |
| 21511 | .{ ._, ._nz, .j, .@"0b", ._, ._, ._ }, | 25084 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, |
| 21512 | .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ }, | 25085 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 21513 | .{ ._, ._, .lea, .tmp1p, .mem(.src1), ._, ._ }, | ||
| 21514 | .{ ._, ._ae, .cmov, .tmp0p, .tmp1p, ._, ._ }, | ||
| 21515 | .{ ._, ._, .lea, .tmp1p, .mem(.dst0), ._, ._ }, | ||
| 21516 | .{ ._, ._, .mov, .tmp2d, .sa(.src0, .add_size_div_8), ._, ._ }, | ||
| 21517 | .{ ._, .@"rep _sq", .mov, ._, ._, ._, ._ }, | ||
| 21518 | } }, | 25086 | } }, |
| 21519 | }, .{ | 25087 | }, .{ |
| 21520 | .required_features = .{ .@"64bit", null, null, null }, | 25088 | .src_constraints = .{ |
| 21521 | .src_constraints = .{ .any_unsigned_int, .any_unsigned_int, .any }, | 25089 | .{ .multiple_scalar_signed_int = .{ .of = .word, .is = .word } }, |
| 25090 | .{ .multiple_scalar_signed_int = .{ .of = .word, .is = .word } }, | ||
| 25091 | .any, | ||
| 25092 | }, | ||
| 21522 | .patterns = &.{ | 25093 | .patterns = &.{ |
| 21523 | .{ .src = .{ .to_mem, .to_mem, .none } }, | 25094 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 21524 | }, | 25095 | }, |
| 21525 | .extra_temps = .{ | 25096 | .extra_temps = .{ |
| 21526 | .{ .type = .isize, .kind = .{ .reg = .rsi } }, | 25097 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 21527 | .{ .type = .u64, .kind = .{ .reg = .rdi } }, | 25098 | .{ .type = .i16, .kind = .{ .rc = .general_purpose } }, |
| 21528 | .{ .type = .u64, .kind = .{ .reg = .rcx } }, | 25099 | .unused, |
| 21529 | .unused, | 25100 | .unused, |
| 21530 | .unused, | 25101 | .unused, |
| 21531 | .unused, | 25102 | .unused, |
| ... | @@ -21538,24 +25109,20 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -21538,24 +25109,20 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 21538 | .dst_temps = .{ .mem, .unused }, | 25109 | .dst_temps = .{ .mem, .unused }, |
| 21539 | .clobbers = .{ .eflags = true }, | 25110 | .clobbers = .{ .eflags = true }, |
| 21540 | .each = .{ .once = &.{ | 25111 | .each = .{ .once = &.{ |
| 21541 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size_div_8), ._, ._ }, | 25112 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, |
| 21542 | .{ ._, ._c, .cl, ._, ._, ._, ._ }, | 25113 | .{ .@"0:", ._, .movsx, .tmp1d, .memia(.src0w, .tmp0, .add_size), ._, ._ }, |
| 21543 | .{ .@"0:", ._, .mov, .tmp1q, .memsia(.src0q, .@"8", .tmp0, .add_size), ._, ._ }, | 25114 | .{ ._, ._, .cmp, .tmp1w, .memia(.src1w, .tmp0, .add_size), ._, ._ }, |
| 21544 | .{ ._, ._, .sbb, .tmp1q, .memsia(.src1q, .@"8", .tmp0, .add_size), ._, ._ }, | 25115 | .{ ._, ._nge, .j, .@"1f", ._, ._, ._ }, |
| 21545 | .{ ._, ._c, .in, .tmp0p, ._, ._, ._ }, | 25116 | .{ ._, ._, .mov, .tmp1w, .memia(.src1w, .tmp0, .add_size), ._, ._ }, |
| 21546 | .{ ._, ._nz, .j, .@"0b", ._, ._, ._ }, | 25117 | .{ .@"1:", ._, .mov, .memia(.dst0w, .tmp0, .add_size), .tmp1w, ._, ._ }, |
| 21547 | .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ }, | 25118 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, |
| 21548 | .{ ._, ._nae, .j, .@"0f", ._, ._, ._ }, | 25119 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 21549 | .{ ._, ._, .lea, .tmp0p, .mem(.src1), ._, ._ }, | ||
| 21550 | .{ .@"0:", ._, .lea, .tmp1p, .mem(.dst0), ._, ._ }, | ||
| 21551 | .{ ._, ._, .mov, .tmp2d, .sa(.src0, .add_size_div_8), ._, ._ }, | ||
| 21552 | .{ ._, .@"rep _sq", .mov, ._, ._, ._, ._ }, | ||
| 21553 | } }, | 25120 | } }, |
| 21554 | }, .{ | 25121 | }, .{ |
| 21555 | .required_features = .{ .avx, null, null, null }, | 25122 | .required_features = .{ .avx, null, null, null }, |
| 21556 | .src_constraints = .{ | 25123 | .src_constraints = .{ |
| 21557 | .{ .scalar_signed_int = .{ .of = .xword, .is = .byte } }, | 25124 | .{ .scalar_unsigned_int = .{ .of = .xword, .is = .word } }, |
| 21558 | .{ .scalar_signed_int = .{ .of = .xword, .is = .byte } }, | 25125 | .{ .scalar_unsigned_int = .{ .of = .xword, .is = .word } }, |
| 21559 | .any, | 25126 | .any, |
| 21560 | }, | 25127 | }, |
| 21561 | .patterns = &.{ | 25128 | .patterns = &.{ |
| ... | @@ -21565,13 +25132,13 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -21565,13 +25132,13 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 21565 | }, | 25132 | }, |
| 21566 | .dst_temps = .{ .{ .rc = .sse }, .unused }, | 25133 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| 21567 | .each = .{ .once = &.{ | 25134 | .each = .{ .once = &.{ |
| 21568 | .{ ._, .vp_b, .mins, .dst0x, .src0x, .src1x, ._ }, | 25135 | .{ ._, .vp_w, .minu, .dst0x, .src0x, .src1x, ._ }, |
| 21569 | } }, | 25136 | } }, |
| 21570 | }, .{ | 25137 | }, .{ |
| 21571 | .required_features = .{ .sse4_1, null, null, null }, | 25138 | .required_features = .{ .sse4_1, null, null, null }, |
| 21572 | .src_constraints = .{ | 25139 | .src_constraints = .{ |
| 21573 | .{ .scalar_signed_int = .{ .of = .xword, .is = .byte } }, | 25140 | .{ .scalar_unsigned_int = .{ .of = .xword, .is = .word } }, |
| 21574 | .{ .scalar_signed_int = .{ .of = .xword, .is = .byte } }, | 25141 | .{ .scalar_unsigned_int = .{ .of = .xword, .is = .word } }, |
| 21575 | .any, | 25142 | .any, |
| 21576 | }, | 25143 | }, |
| 21577 | .patterns = &.{ | 25144 | .patterns = &.{ |
| ... | @@ -21581,13 +25148,13 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -21581,13 +25148,13 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 21581 | }, | 25148 | }, |
| 21582 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, | 25149 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| 21583 | .each = .{ .once = &.{ | 25150 | .each = .{ .once = &.{ |
| 21584 | .{ ._, .p_b, .mins, .dst0x, .src1x, ._, ._ }, | 25151 | .{ ._, .p_w, .minu, .dst0x, .src1x, ._, ._ }, |
| 21585 | } }, | 25152 | } }, |
| 21586 | }, .{ | 25153 | }, .{ |
| 21587 | .required_features = .{ .sse2, null, null, null }, | 25154 | .required_features = .{ .sse2, null, null, null }, |
| 21588 | .src_constraints = .{ | 25155 | .src_constraints = .{ |
| 21589 | .{ .scalar_signed_int = .{ .of = .xword, .is = .byte } }, | 25156 | .{ .scalar_unsigned_int = .{ .of = .xword, .is = .word } }, |
| 21590 | .{ .scalar_signed_int = .{ .of = .xword, .is = .byte } }, | 25157 | .{ .scalar_unsigned_int = .{ .of = .xword, .is = .word } }, |
| 21591 | .any, | 25158 | .any, |
| 21592 | }, | 25159 | }, |
| 21593 | .patterns = &.{ | 25160 | .patterns = &.{ |
| ... | @@ -21597,17 +25164,15 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -21597,17 +25164,15 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 21597 | }, | 25164 | }, |
| 21598 | .dst_temps = .{ .{ .rc = .sse }, .unused }, | 25165 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| 21599 | .each = .{ .once = &.{ | 25166 | .each = .{ .once = &.{ |
| 21600 | .{ ._, ._dqa, .mov, .dst0x, .src1x, ._, ._ }, | 25167 | .{ ._, ._dqa, .mov, .dst0x, .src0x, ._, ._ }, |
| 21601 | .{ ._, .p_b, .cmpgt, .dst0x, .src0x, ._, ._ }, | 25168 | .{ ._, .p_w, .subus, .src0x, .src1x, ._, ._ }, |
| 21602 | .{ ._, .p_, .@"and", .src0x, .dst0x, ._, ._ }, | 25169 | .{ ._, .p_w, .sub, .dst0x, .src0x, ._, ._ }, |
| 21603 | .{ ._, .p_, .andn, .dst0x, .src1x, ._, ._ }, | ||
| 21604 | .{ ._, .p_, .@"or", .dst0x, .src0x, ._, ._ }, | ||
| 21605 | } }, | 25170 | } }, |
| 21606 | }, .{ | 25171 | }, .{ |
| 21607 | .required_features = .{ .avx2, null, null, null }, | 25172 | .required_features = .{ .avx2, null, null, null }, |
| 21608 | .src_constraints = .{ | 25173 | .src_constraints = .{ |
| 21609 | .{ .scalar_signed_int = .{ .of = .yword, .is = .byte } }, | 25174 | .{ .scalar_unsigned_int = .{ .of = .yword, .is = .word } }, |
| 21610 | .{ .scalar_signed_int = .{ .of = .yword, .is = .byte } }, | 25175 | .{ .scalar_unsigned_int = .{ .of = .yword, .is = .word } }, |
| 21611 | .any, | 25176 | .any, |
| 21612 | }, | 25177 | }, |
| 21613 | .patterns = &.{ | 25178 | .patterns = &.{ |
| ... | @@ -21617,13 +25182,13 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -21617,13 +25182,13 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 21617 | }, | 25182 | }, |
| 21618 | .dst_temps = .{ .{ .rc = .sse }, .unused }, | 25183 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| 21619 | .each = .{ .once = &.{ | 25184 | .each = .{ .once = &.{ |
| 21620 | .{ ._, .vp_b, .mins, .dst0y, .src0y, .src1y, ._ }, | 25185 | .{ ._, .vp_w, .minu, .dst0y, .src0y, .src1y, ._ }, |
| 21621 | } }, | 25186 | } }, |
| 21622 | }, .{ | 25187 | }, .{ |
| 21623 | .required_features = .{ .avx2, null, null, null }, | 25188 | .required_features = .{ .avx2, null, null, null }, |
| 21624 | .src_constraints = .{ | 25189 | .src_constraints = .{ |
| 21625 | .{ .multiple_scalar_signed_int = .{ .of = .yword, .is = .byte } }, | 25190 | .{ .multiple_scalar_unsigned_int = .{ .of = .yword, .is = .word } }, |
| 21626 | .{ .multiple_scalar_signed_int = .{ .of = .yword, .is = .byte } }, | 25191 | .{ .multiple_scalar_unsigned_int = .{ .of = .yword, .is = .word } }, |
| 21627 | .any, | 25192 | .any, |
| 21628 | }, | 25193 | }, |
| 21629 | .patterns = &.{ | 25194 | .patterns = &.{ |
| ... | @@ -21631,7 +25196,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -21631,7 +25196,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 21631 | }, | 25196 | }, |
| 21632 | .extra_temps = .{ | 25197 | .extra_temps = .{ |
| 21633 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 25198 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 21634 | .{ .type = .vector_32_i8, .kind = .{ .rc = .sse } }, | 25199 | .{ .type = .vector_16_u16, .kind = .{ .rc = .sse } }, |
| 21635 | .unused, | 25200 | .unused, |
| 21636 | .unused, | 25201 | .unused, |
| 21637 | .unused, | 25202 | .unused, |
| ... | @@ -21647,7 +25212,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -21647,7 +25212,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 21647 | .each = .{ .once = &.{ | 25212 | .each = .{ .once = &.{ |
| 21648 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, | 25213 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, |
| 21649 | .{ .@"0:", .v_dqa, .mov, .tmp1y, .memia(.src0y, .tmp0, .add_size), ._, ._ }, | 25214 | .{ .@"0:", .v_dqa, .mov, .tmp1y, .memia(.src0y, .tmp0, .add_size), ._, ._ }, |
| 21650 | .{ ._, .vp_b, .mins, .tmp1y, .tmp1y, .memia(.src1y, .tmp0, .add_size), ._ }, | 25215 | .{ ._, .vp_w, .minu, .tmp1y, .tmp1y, .memia(.src1y, .tmp0, .add_size), ._ }, |
| 21651 | .{ ._, .v_dqa, .mov, .memia(.dst0y, .tmp0, .add_size), .tmp1y, ._, ._ }, | 25216 | .{ ._, .v_dqa, .mov, .memia(.dst0y, .tmp0, .add_size), .tmp1y, ._, ._ }, |
| 21652 | .{ ._, ._, .add, .tmp0p, .si(32), ._, ._ }, | 25217 | .{ ._, ._, .add, .tmp0p, .si(32), ._, ._ }, |
| 21653 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 25218 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| ... | @@ -21655,8 +25220,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -21655,8 +25220,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 21655 | }, .{ | 25220 | }, .{ |
| 21656 | .required_features = .{ .avx, null, null, null }, | 25221 | .required_features = .{ .avx, null, null, null }, |
| 21657 | .src_constraints = .{ | 25222 | .src_constraints = .{ |
| 21658 | .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .byte } }, | 25223 | .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .word } }, |
| 21659 | .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .byte } }, | 25224 | .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .word } }, |
| 21660 | .any, | 25225 | .any, |
| 21661 | }, | 25226 | }, |
| 21662 | .patterns = &.{ | 25227 | .patterns = &.{ |
| ... | @@ -21664,7 +25229,141 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -21664,7 +25229,141 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 21664 | }, | 25229 | }, |
| 21665 | .extra_temps = .{ | 25230 | .extra_temps = .{ |
| 21666 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 25231 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 21667 | .{ .type = .vector_16_i8, .kind = .{ .rc = .sse } }, | 25232 | .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } }, |
| 25233 | .unused, | ||
| 25234 | .unused, | ||
| 25235 | .unused, | ||
| 25236 | .unused, | ||
| 25237 | .unused, | ||
| 25238 | .unused, | ||
| 25239 | .unused, | ||
| 25240 | .unused, | ||
| 25241 | .unused, | ||
| 25242 | }, | ||
| 25243 | .dst_temps = .{ .mem, .unused }, | ||
| 25244 | .clobbers = .{ .eflags = true }, | ||
| 25245 | .each = .{ .once = &.{ | ||
| 25246 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, | ||
| 25247 | .{ .@"0:", .v_dqa, .mov, .tmp1x, .memia(.src0x, .tmp0, .add_size), ._, ._ }, | ||
| 25248 | .{ ._, .vp_w, .minu, .tmp1x, .tmp1x, .memia(.src1x, .tmp0, .add_size), ._ }, | ||
| 25249 | .{ ._, .v_dqa, .mov, .memia(.dst0x, .tmp0, .add_size), .tmp1x, ._, ._ }, | ||
| 25250 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, | ||
| 25251 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | ||
| 25252 | } }, | ||
| 25253 | }, .{ | ||
| 25254 | .required_features = .{ .sse4_1, null, null, null }, | ||
| 25255 | .src_constraints = .{ | ||
| 25256 | .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .word } }, | ||
| 25257 | .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .word } }, | ||
| 25258 | .any, | ||
| 25259 | }, | ||
| 25260 | .patterns = &.{ | ||
| 25261 | .{ .src = .{ .to_mem, .to_mem, .none } }, | ||
| 25262 | }, | ||
| 25263 | .extra_temps = .{ | ||
| 25264 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | ||
| 25265 | .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } }, | ||
| 25266 | .unused, | ||
| 25267 | .unused, | ||
| 25268 | .unused, | ||
| 25269 | .unused, | ||
| 25270 | .unused, | ||
| 25271 | .unused, | ||
| 25272 | .unused, | ||
| 25273 | .unused, | ||
| 25274 | .unused, | ||
| 25275 | }, | ||
| 25276 | .dst_temps = .{ .mem, .unused }, | ||
| 25277 | .clobbers = .{ .eflags = true }, | ||
| 25278 | .each = .{ .once = &.{ | ||
| 25279 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, | ||
| 25280 | .{ .@"0:", ._dqa, .mov, .tmp1x, .memia(.src0x, .tmp0, .add_size), ._, ._ }, | ||
| 25281 | .{ ._, .p_w, .minu, .tmp1x, .memia(.src1x, .tmp0, .add_size), ._, ._ }, | ||
| 25282 | .{ ._, ._dqa, .mov, .memia(.dst0x, .tmp0, .add_size), .tmp1x, ._, ._ }, | ||
| 25283 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, | ||
| 25284 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | ||
| 25285 | } }, | ||
| 25286 | }, .{ | ||
| 25287 | .required_features = .{ .sse2, null, null, null }, | ||
| 25288 | .src_constraints = .{ | ||
| 25289 | .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .word } }, | ||
| 25290 | .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .word } }, | ||
| 25291 | .any, | ||
| 25292 | }, | ||
| 25293 | .patterns = &.{ | ||
| 25294 | .{ .src = .{ .to_mem, .to_mem, .none } }, | ||
| 25295 | }, | ||
| 25296 | .extra_temps = .{ | ||
| 25297 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | ||
| 25298 | .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } }, | ||
| 25299 | .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } }, | ||
| 25300 | .unused, | ||
| 25301 | .unused, | ||
| 25302 | .unused, | ||
| 25303 | .unused, | ||
| 25304 | .unused, | ||
| 25305 | .unused, | ||
| 25306 | .unused, | ||
| 25307 | .unused, | ||
| 25308 | }, | ||
| 25309 | .dst_temps = .{ .mem, .unused }, | ||
| 25310 | .clobbers = .{ .eflags = true }, | ||
| 25311 | .each = .{ .once = &.{ | ||
| 25312 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, | ||
| 25313 | .{ .@"0:", ._dqa, .mov, .tmp1x, .memia(.src0x, .tmp0, .add_size), ._, ._ }, | ||
| 25314 | .{ ._, ._dqa, .mov, .tmp2x, .tmp1x, ._, ._ }, | ||
| 25315 | .{ ._, .p_w, .subus, .tmp1x, .memia(.src1x, .tmp0, .add_size), ._, ._ }, | ||
| 25316 | .{ ._, .p_w, .sub, .tmp2x, .tmp1x, ._, ._ }, | ||
| 25317 | .{ ._, ._dqa, .mov, .memia(.dst0x, .tmp0, .add_size), .tmp2x, ._, ._ }, | ||
| 25318 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, | ||
| 25319 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | ||
| 25320 | } }, | ||
| 25321 | }, .{ | ||
| 25322 | .required_features = .{ .cmov, null, null, null }, | ||
| 25323 | .src_constraints = .{ | ||
| 25324 | .{ .multiple_scalar_unsigned_int = .{ .of = .word, .is = .word } }, | ||
| 25325 | .{ .multiple_scalar_unsigned_int = .{ .of = .word, .is = .word } }, | ||
| 25326 | .any, | ||
| 25327 | }, | ||
| 25328 | .patterns = &.{ | ||
| 25329 | .{ .src = .{ .to_mem, .to_mem, .none } }, | ||
| 25330 | }, | ||
| 25331 | .extra_temps = .{ | ||
| 25332 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | ||
| 25333 | .{ .type = .u16, .kind = .{ .rc = .general_purpose } }, | ||
| 25334 | .unused, | ||
| 25335 | .unused, | ||
| 25336 | .unused, | ||
| 25337 | .unused, | ||
| 25338 | .unused, | ||
| 25339 | .unused, | ||
| 25340 | .unused, | ||
| 25341 | .unused, | ||
| 25342 | .unused, | ||
| 25343 | }, | ||
| 25344 | .dst_temps = .{ .mem, .unused }, | ||
| 25345 | .clobbers = .{ .eflags = true }, | ||
| 25346 | .each = .{ .once = &.{ | ||
| 25347 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, | ||
| 25348 | .{ .@"0:", ._, .movzx, .tmp1d, .memia(.src0w, .tmp0, .add_size), ._, ._ }, | ||
| 25349 | .{ ._, ._, .cmp, .tmp1w, .memia(.src1w, .tmp0, .add_size), ._, ._ }, | ||
| 25350 | .{ ._, ._ae, .cmov, .tmp1w, .memia(.src1w, .tmp0, .add_size), ._, ._ }, | ||
| 25351 | .{ ._, ._, .mov, .memia(.dst0w, .tmp0, .add_size), .tmp1w, ._, ._ }, | ||
| 25352 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, | ||
| 25353 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | ||
| 25354 | } }, | ||
| 25355 | }, .{ | ||
| 25356 | .src_constraints = .{ | ||
| 25357 | .{ .multiple_scalar_unsigned_int = .{ .of = .word, .is = .word } }, | ||
| 25358 | .{ .multiple_scalar_unsigned_int = .{ .of = .word, .is = .word } }, | ||
| 25359 | .any, | ||
| 25360 | }, | ||
| 25361 | .patterns = &.{ | ||
| 25362 | .{ .src = .{ .to_mem, .to_mem, .none } }, | ||
| 25363 | }, | ||
| 25364 | .extra_temps = .{ | ||
| 25365 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | ||
| 25366 | .{ .type = .u16, .kind = .{ .rc = .general_purpose } }, | ||
| 21668 | .unused, | 25367 | .unused, |
| 21669 | .unused, | 25368 | .unused, |
| 21670 | .unused, | 25369 | .unused, |
| ... | @@ -21678,18 +25377,88 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -21678,18 +25377,88 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 21678 | .dst_temps = .{ .mem, .unused }, | 25377 | .dst_temps = .{ .mem, .unused }, |
| 21679 | .clobbers = .{ .eflags = true }, | 25378 | .clobbers = .{ .eflags = true }, |
| 21680 | .each = .{ .once = &.{ | 25379 | .each = .{ .once = &.{ |
| 21681 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, | 25380 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, |
| 21682 | .{ .@"0:", .v_dqa, .mov, .tmp1x, .memia(.src0x, .tmp0, .add_size), ._, ._ }, | 25381 | .{ .@"0:", ._, .movzx, .tmp1d, .memia(.src0w, .tmp0, .add_size), ._, ._ }, |
| 21683 | .{ ._, .vp_b, .mins, .tmp1x, .tmp1x, .memia(.src1x, .tmp0, .add_size), ._ }, | 25382 | .{ ._, ._, .cmp, .tmp1w, .memia(.src1w, .tmp0, .add_size), ._, ._ }, |
| 21684 | .{ ._, .v_dqa, .mov, .memia(.dst0x, .tmp0, .add_size), .tmp1x, ._, ._ }, | 25383 | .{ ._, ._nae, .j, .@"1f", ._, ._, ._ }, |
| 21685 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, | 25384 | .{ ._, ._, .mov, .tmp1w, .memia(.src1w, .tmp0, .add_size), ._, ._ }, |
| 21686 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 25385 | .{ .@"1:", ._, .mov, .memia(.dst0w, .tmp0, .add_size), .tmp1w, ._, ._ }, |
| 25386 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, | ||
| 25387 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | ||
| 25388 | } }, | ||
| 25389 | }, .{ | ||
| 25390 | .required_features = .{ .avx, null, null, null }, | ||
| 25391 | .src_constraints = .{ | ||
| 25392 | .{ .scalar_signed_int = .{ .of = .xword, .is = .dword } }, | ||
| 25393 | .{ .scalar_signed_int = .{ .of = .xword, .is = .dword } }, | ||
| 25394 | .any, | ||
| 25395 | }, | ||
| 25396 | .patterns = &.{ | ||
| 25397 | .{ .src = .{ .to_sse, .mem, .none } }, | ||
| 25398 | .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } }, | ||
| 25399 | .{ .src = .{ .to_sse, .to_sse, .none } }, | ||
| 25400 | }, | ||
| 25401 | .dst_temps = .{ .{ .rc = .sse }, .unused }, | ||
| 25402 | .each = .{ .once = &.{ | ||
| 25403 | .{ ._, .vp_d, .mins, .dst0x, .src0x, .src1x, ._ }, | ||
| 25404 | } }, | ||
| 25405 | }, .{ | ||
| 25406 | .required_features = .{ .sse4_1, null, null, null }, | ||
| 25407 | .src_constraints = .{ | ||
| 25408 | .{ .scalar_signed_int = .{ .of = .xword, .is = .dword } }, | ||
| 25409 | .{ .scalar_signed_int = .{ .of = .xword, .is = .dword } }, | ||
| 25410 | .any, | ||
| 25411 | }, | ||
| 25412 | .patterns = &.{ | ||
| 25413 | .{ .src = .{ .to_mut_sse, .mem, .none } }, | ||
| 25414 | .{ .src = .{ .mem, .to_mut_sse, .none }, .commute = .{ 0, 1 } }, | ||
| 25415 | .{ .src = .{ .to_mut_sse, .to_sse, .none } }, | ||
| 25416 | }, | ||
| 25417 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, | ||
| 25418 | .each = .{ .once = &.{ | ||
| 25419 | .{ ._, .p_d, .mins, .dst0x, .src1x, ._, ._ }, | ||
| 25420 | } }, | ||
| 25421 | }, .{ | ||
| 25422 | .required_features = .{ .sse2, null, null, null }, | ||
| 25423 | .src_constraints = .{ | ||
| 25424 | .{ .scalar_signed_or_exclusive_int = .{ .of = .xword, .is = .dword } }, | ||
| 25425 | .{ .scalar_signed_or_exclusive_int = .{ .of = .xword, .is = .dword } }, | ||
| 25426 | .any, | ||
| 25427 | }, | ||
| 25428 | .patterns = &.{ | ||
| 25429 | .{ .src = .{ .to_mut_sse, .mem, .none } }, | ||
| 25430 | .{ .src = .{ .mem, .to_mut_sse, .none }, .commute = .{ 0, 1 } }, | ||
| 25431 | .{ .src = .{ .to_mut_sse, .to_sse, .none } }, | ||
| 25432 | }, | ||
| 25433 | .dst_temps = .{ .{ .rc = .sse }, .unused }, | ||
| 25434 | .each = .{ .once = &.{ | ||
| 25435 | .{ ._, ._dqa, .mov, .dst0x, .src1x, ._, ._ }, | ||
| 25436 | .{ ._, .p_d, .cmpgt, .dst0x, .src0x, ._, ._ }, | ||
| 25437 | .{ ._, .p_, .@"and", .src0x, .dst0x, ._, ._ }, | ||
| 25438 | .{ ._, .p_, .andn, .dst0x, .src1x, ._, ._ }, | ||
| 25439 | .{ ._, .p_, .@"or", .dst0x, .src0x, ._, ._ }, | ||
| 25440 | } }, | ||
| 25441 | }, .{ | ||
| 25442 | .required_features = .{ .avx2, null, null, null }, | ||
| 25443 | .src_constraints = .{ | ||
| 25444 | .{ .scalar_signed_int = .{ .of = .yword, .is = .dword } }, | ||
| 25445 | .{ .scalar_signed_int = .{ .of = .yword, .is = .dword } }, | ||
| 25446 | .any, | ||
| 25447 | }, | ||
| 25448 | .patterns = &.{ | ||
| 25449 | .{ .src = .{ .to_sse, .mem, .none } }, | ||
| 25450 | .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } }, | ||
| 25451 | .{ .src = .{ .to_sse, .to_sse, .none } }, | ||
| 25452 | }, | ||
| 25453 | .dst_temps = .{ .{ .rc = .sse }, .unused }, | ||
| 25454 | .each = .{ .once = &.{ | ||
| 25455 | .{ ._, .vp_d, .mins, .dst0y, .src0y, .src1y, ._ }, | ||
| 21687 | } }, | 25456 | } }, |
| 21688 | }, .{ | 25457 | }, .{ |
| 21689 | .required_features = .{ .sse4_1, null, null, null }, | 25458 | .required_features = .{ .avx2, null, null, null }, |
| 21690 | .src_constraints = .{ | 25459 | .src_constraints = .{ |
| 21691 | .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .byte } }, | 25460 | .{ .multiple_scalar_signed_int = .{ .of = .yword, .is = .dword } }, |
| 21692 | .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .byte } }, | 25461 | .{ .multiple_scalar_signed_int = .{ .of = .yword, .is = .dword } }, |
| 21693 | .any, | 25462 | .any, |
| 21694 | }, | 25463 | }, |
| 21695 | .patterns = &.{ | 25464 | .patterns = &.{ |
| ... | @@ -21697,7 +25466,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -21697,7 +25466,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 21697 | }, | 25466 | }, |
| 21698 | .extra_temps = .{ | 25467 | .extra_temps = .{ |
| 21699 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 25468 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 21700 | .{ .type = .vector_16_i8, .kind = .{ .rc = .sse } }, | 25469 | .{ .type = .vector_8_i32, .kind = .{ .rc = .sse } }, |
| 21701 | .unused, | 25470 | .unused, |
| 21702 | .unused, | 25471 | .unused, |
| 21703 | .unused, | 25472 | .unused, |
| ... | @@ -21712,17 +25481,17 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -21712,17 +25481,17 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 21712 | .clobbers = .{ .eflags = true }, | 25481 | .clobbers = .{ .eflags = true }, |
| 21713 | .each = .{ .once = &.{ | 25482 | .each = .{ .once = &.{ |
| 21714 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, | 25483 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, |
| 21715 | .{ .@"0:", ._dqa, .mov, .tmp1x, .memia(.src0x, .tmp0, .add_size), ._, ._ }, | 25484 | .{ .@"0:", .v_dqa, .mov, .tmp1y, .memia(.src0y, .tmp0, .add_size), ._, ._ }, |
| 21716 | .{ ._, .p_b, .mins, .tmp1x, .memia(.src1x, .tmp0, .add_size), ._, ._ }, | 25485 | .{ ._, .vp_d, .mins, .tmp1y, .tmp1y, .memia(.src1y, .tmp0, .add_size), ._ }, |
| 21717 | .{ ._, ._dqa, .mov, .memia(.dst0x, .tmp0, .add_size), .tmp1x, ._, ._ }, | 25486 | .{ ._, .v_dqa, .mov, .memia(.dst0y, .tmp0, .add_size), .tmp1y, ._, ._ }, |
| 21718 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, | 25487 | .{ ._, ._, .add, .tmp0p, .si(32), ._, ._ }, |
| 21719 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 25488 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 21720 | } }, | 25489 | } }, |
| 21721 | }, .{ | 25490 | }, .{ |
| 21722 | .required_features = .{ .sse2, null, null, null }, | 25491 | .required_features = .{ .avx, null, null, null }, |
| 21723 | .src_constraints = .{ | 25492 | .src_constraints = .{ |
| 21724 | .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .byte } }, | 25493 | .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .dword } }, |
| 21725 | .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .byte } }, | 25494 | .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .dword } }, |
| 21726 | .any, | 25495 | .any, |
| 21727 | }, | 25496 | }, |
| 21728 | .patterns = &.{ | 25497 | .patterns = &.{ |
| ... | @@ -21730,8 +25499,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -21730,8 +25499,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 21730 | }, | 25499 | }, |
| 21731 | .extra_temps = .{ | 25500 | .extra_temps = .{ |
| 21732 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 25501 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 21733 | .{ .type = .vector_16_i8, .kind = .{ .rc = .sse } }, | 25502 | .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } }, |
| 21734 | .{ .type = .vector_16_i8, .kind = .{ .rc = .sse } }, | 25503 | .unused, |
| 21735 | .unused, | 25504 | .unused, |
| 21736 | .unused, | 25505 | .unused, |
| 21737 | .unused, | 25506 | .unused, |
| ... | @@ -21745,21 +25514,17 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -21745,21 +25514,17 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 21745 | .clobbers = .{ .eflags = true }, | 25514 | .clobbers = .{ .eflags = true }, |
| 21746 | .each = .{ .once = &.{ | 25515 | .each = .{ .once = &.{ |
| 21747 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, | 25516 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, |
| 21748 | .{ .@"0:", ._dqa, .mov, .tmp1x, .memia(.src0x, .tmp0, .add_size), ._, ._ }, | 25517 | .{ .@"0:", .v_dqa, .mov, .tmp1x, .memia(.src0x, .tmp0, .add_size), ._, ._ }, |
| 21749 | .{ ._, ._dqa, .mov, .tmp2x, .memia(.src1x, .tmp0, .add_size), ._, ._ }, | 25518 | .{ ._, .vp_d, .mins, .tmp1x, .tmp1x, .memia(.src1x, .tmp0, .add_size), ._ }, |
| 21750 | .{ ._, .p_b, .cmpgt, .tmp1x, .tmp2x, ._, ._ }, | 25519 | .{ ._, .v_dqa, .mov, .memia(.dst0x, .tmp0, .add_size), .tmp1x, ._, ._ }, |
| 21751 | .{ ._, .p_, .@"and", .tmp2x, .tmp1x, ._, ._ }, | ||
| 21752 | .{ ._, .p_, .andn, .tmp1x, .memia(.src0x, .tmp0, .add_size), ._, ._ }, | ||
| 21753 | .{ ._, .p_, .@"or", .tmp1x, .tmp2x, ._, ._ }, | ||
| 21754 | .{ ._, ._dqa, .mov, .memia(.dst0x, .tmp0, .add_size), .tmp1x, ._, ._ }, | ||
| 21755 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, | 25520 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, |
| 21756 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 25521 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 21757 | } }, | 25522 | } }, |
| 21758 | }, .{ | 25523 | }, .{ |
| 21759 | .required_features = .{ .cmov, .slow_incdec, null, null }, | 25524 | .required_features = .{ .sse4_1, null, null, null }, |
| 21760 | .src_constraints = .{ | 25525 | .src_constraints = .{ |
| 21761 | .{ .multiple_scalar_signed_int = .{ .of = .byte, .is = .byte } }, | 25526 | .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .dword } }, |
| 21762 | .{ .multiple_scalar_signed_int = .{ .of = .byte, .is = .byte } }, | 25527 | .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .dword } }, |
| 21763 | .any, | 25528 | .any, |
| 21764 | }, | 25529 | }, |
| 21765 | .patterns = &.{ | 25530 | .patterns = &.{ |
| ... | @@ -21767,8 +25532,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -21767,8 +25532,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 21767 | }, | 25532 | }, |
| 21768 | .extra_temps = .{ | 25533 | .extra_temps = .{ |
| 21769 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 25534 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 21770 | .{ .type = .i8, .kind = .{ .rc = .general_purpose } }, | 25535 | .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } }, |
| 21771 | .{ .type = .i8, .kind = .{ .rc = .general_purpose } }, | 25536 | .unused, |
| 21772 | .unused, | 25537 | .unused, |
| 21773 | .unused, | 25538 | .unused, |
| 21774 | .unused, | 25539 | .unused, |
| ... | @@ -21782,19 +25547,17 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -21782,19 +25547,17 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 21782 | .clobbers = .{ .eflags = true }, | 25547 | .clobbers = .{ .eflags = true }, |
| 21783 | .each = .{ .once = &.{ | 25548 | .each = .{ .once = &.{ |
| 21784 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, | 25549 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, |
| 21785 | .{ .@"0:", ._, .movsx, .tmp1d, .memia(.src0b, .tmp0, .add_size), ._, ._ }, | 25550 | .{ .@"0:", ._dqa, .mov, .tmp1x, .memia(.src0x, .tmp0, .add_size), ._, ._ }, |
| 21786 | .{ ._, ._, .movsx, .tmp2d, .memia(.src1b, .tmp0, .add_size), ._, ._ }, | 25551 | .{ ._, .p_d, .mins, .tmp1x, .memia(.src1x, .tmp0, .add_size), ._, ._ }, |
| 21787 | .{ ._, ._, .cmp, .tmp1b, .tmp2b, ._, ._ }, | 25552 | .{ ._, ._dqa, .mov, .memia(.dst0x, .tmp0, .add_size), .tmp1x, ._, ._ }, |
| 21788 | .{ ._, ._ge, .cmov, .tmp1d, .tmp2d, ._, ._ }, | 25553 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, |
| 21789 | .{ ._, ._, .mov, .memia(.dst0b, .tmp0, .add_size), .tmp1b, ._, ._ }, | ||
| 21790 | .{ ._, ._, .add, .tmp0p, .si(1), ._, ._ }, | ||
| 21791 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 25554 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 21792 | } }, | 25555 | } }, |
| 21793 | }, .{ | 25556 | }, .{ |
| 21794 | .required_features = .{ .cmov, null, null, null }, | 25557 | .required_features = .{ .sse2, null, null, null }, |
| 21795 | .src_constraints = .{ | 25558 | .src_constraints = .{ |
| 21796 | .{ .multiple_scalar_signed_int = .{ .of = .byte, .is = .byte } }, | 25559 | .{ .multiple_scalar_signed_or_exclusive_int = .{ .of = .xword, .is = .dword } }, |
| 21797 | .{ .multiple_scalar_signed_int = .{ .of = .byte, .is = .byte } }, | 25560 | .{ .multiple_scalar_signed_or_exclusive_int = .{ .of = .xword, .is = .dword } }, |
| 21798 | .any, | 25561 | .any, |
| 21799 | }, | 25562 | }, |
| 21800 | .patterns = &.{ | 25563 | .patterns = &.{ |
| ... | @@ -21802,8 +25565,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -21802,8 +25565,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 21802 | }, | 25565 | }, |
| 21803 | .extra_temps = .{ | 25566 | .extra_temps = .{ |
| 21804 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 25567 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 21805 | .{ .type = .i8, .kind = .{ .rc = .general_purpose } }, | 25568 | .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } }, |
| 21806 | .{ .type = .i8, .kind = .{ .rc = .general_purpose } }, | 25569 | .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } }, |
| 21807 | .unused, | 25570 | .unused, |
| 21808 | .unused, | 25571 | .unused, |
| 21809 | .unused, | 25572 | .unused, |
| ... | @@ -21817,19 +25580,21 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -21817,19 +25580,21 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 21817 | .clobbers = .{ .eflags = true }, | 25580 | .clobbers = .{ .eflags = true }, |
| 21818 | .each = .{ .once = &.{ | 25581 | .each = .{ .once = &.{ |
| 21819 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, | 25582 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, |
| 21820 | .{ .@"0:", ._, .movsx, .tmp1d, .memia(.src0b, .tmp0, .add_size), ._, ._ }, | 25583 | .{ .@"0:", ._dqa, .mov, .tmp1x, .memia(.src0x, .tmp0, .add_size), ._, ._ }, |
| 21821 | .{ ._, ._, .movsx, .tmp2d, .memia(.src1b, .tmp0, .add_size), ._, ._ }, | 25584 | .{ ._, ._dqa, .mov, .tmp2x, .memia(.src1x, .tmp0, .add_size), ._, ._ }, |
| 21822 | .{ ._, ._, .cmp, .tmp1b, .tmp2b, ._, ._ }, | 25585 | .{ ._, .p_d, .cmpgt, .tmp1x, .tmp2x, ._, ._ }, |
| 21823 | .{ ._, ._ge, .cmov, .tmp1d, .tmp2d, ._, ._ }, | 25586 | .{ ._, .p_, .@"and", .tmp2x, .tmp1x, ._, ._ }, |
| 21824 | .{ ._, ._, .mov, .memia(.dst0b, .tmp0, .add_size), .tmp1b, ._, ._ }, | 25587 | .{ ._, .p_, .andn, .tmp1x, .memia(.src0x, .tmp0, .add_size), ._, ._ }, |
| 21825 | .{ ._, ._c, .in, .tmp0p, ._, ._, ._ }, | 25588 | .{ ._, .p_, .@"or", .tmp1x, .tmp2x, ._, ._ }, |
| 21826 | .{ ._, ._nz, .j, .@"0b", ._, ._, ._ }, | 25589 | .{ ._, ._dqa, .mov, .memia(.dst0x, .tmp0, .add_size), .tmp1x, ._, ._ }, |
| 25590 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, | ||
| 25591 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | ||
| 21827 | } }, | 25592 | } }, |
| 21828 | }, .{ | 25593 | }, .{ |
| 21829 | .required_features = .{ .slow_incdec, null, null, null }, | 25594 | .required_features = .{ .cmov, null, null, null }, |
| 21830 | .src_constraints = .{ | 25595 | .src_constraints = .{ |
| 21831 | .{ .multiple_scalar_signed_int = .{ .of = .byte, .is = .byte } }, | 25596 | .{ .multiple_scalar_signed_int = .{ .of = .dword, .is = .dword } }, |
| 21832 | .{ .multiple_scalar_signed_int = .{ .of = .byte, .is = .byte } }, | 25597 | .{ .multiple_scalar_signed_int = .{ .of = .dword, .is = .dword } }, |
| 21833 | .any, | 25598 | .any, |
| 21834 | }, | 25599 | }, |
| 21835 | .patterns = &.{ | 25600 | .patterns = &.{ |
| ... | @@ -21837,7 +25602,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -21837,7 +25602,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 21837 | }, | 25602 | }, |
| 21838 | .extra_temps = .{ | 25603 | .extra_temps = .{ |
| 21839 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 25604 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 21840 | .{ .type = .i8, .kind = .{ .rc = .general_purpose } }, | 25605 | .{ .type = .i32, .kind = .{ .rc = .general_purpose } }, |
| 21841 | .unused, | 25606 | .unused, |
| 21842 | .unused, | 25607 | .unused, |
| 21843 | .unused, | 25608 | .unused, |
| ... | @@ -21852,18 +25617,17 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -21852,18 +25617,17 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 21852 | .clobbers = .{ .eflags = true }, | 25617 | .clobbers = .{ .eflags = true }, |
| 21853 | .each = .{ .once = &.{ | 25618 | .each = .{ .once = &.{ |
| 21854 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, | 25619 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, |
| 21855 | .{ .@"0:", ._, .movsx, .tmp1d, .memia(.src0b, .tmp0, .add_size), ._, ._ }, | 25620 | .{ .@"0:", ._, .mov, .tmp1d, .memia(.src0d, .tmp0, .add_size), ._, ._ }, |
| 21856 | .{ ._, ._, .cmp, .tmp1b, .memia(.src1b, .tmp0, .add_size), ._, ._ }, | 25621 | .{ ._, ._, .cmp, .tmp1d, .memia(.src1d, .tmp0, .add_size), ._, ._ }, |
| 21857 | .{ ._, ._nge, .j, .@"1f", ._, ._, ._ }, | 25622 | .{ ._, ._ge, .cmov, .tmp1d, .memia(.src1d, .tmp0, .add_size), ._, ._ }, |
| 21858 | .{ ._, ._, .mov, .tmp1b, .memia(.src1b, .tmp0, .add_size), ._, ._ }, | 25623 | .{ ._, ._, .mov, .memia(.dst0d, .tmp0, .add_size), .tmp1d, ._, ._ }, |
| 21859 | .{ .@"1:", ._, .mov, .memia(.dst0b, .tmp0, .add_size), .tmp1b, ._, ._ }, | 25624 | .{ ._, ._, .add, .tmp0p, .si(4), ._, ._ }, |
| 21860 | .{ ._, ._, .add, .tmp0p, .si(1), ._, ._ }, | ||
| 21861 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 25625 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 21862 | } }, | 25626 | } }, |
| 21863 | }, .{ | 25627 | }, .{ |
| 21864 | .src_constraints = .{ | 25628 | .src_constraints = .{ |
| 21865 | .{ .multiple_scalar_signed_int = .{ .of = .byte, .is = .byte } }, | 25629 | .{ .multiple_scalar_signed_int = .{ .of = .dword, .is = .dword } }, |
| 21866 | .{ .multiple_scalar_signed_int = .{ .of = .byte, .is = .byte } }, | 25630 | .{ .multiple_scalar_signed_int = .{ .of = .dword, .is = .dword } }, |
| 21867 | .any, | 25631 | .any, |
| 21868 | }, | 25632 | }, |
| 21869 | .patterns = &.{ | 25633 | .patterns = &.{ |
| ... | @@ -21871,7 +25635,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -21871,7 +25635,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 21871 | }, | 25635 | }, |
| 21872 | .extra_temps = .{ | 25636 | .extra_temps = .{ |
| 21873 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 25637 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 21874 | .{ .type = .i8, .kind = .{ .rc = .general_purpose } }, | 25638 | .{ .type = .i32, .kind = .{ .rc = .general_purpose } }, |
| 21875 | .unused, | 25639 | .unused, |
| 21876 | .unused, | 25640 | .unused, |
| 21877 | .unused, | 25641 | .unused, |
| ... | @@ -21886,51 +25650,51 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -21886,51 +25650,51 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 21886 | .clobbers = .{ .eflags = true }, | 25650 | .clobbers = .{ .eflags = true }, |
| 21887 | .each = .{ .once = &.{ | 25651 | .each = .{ .once = &.{ |
| 21888 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, | 25652 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, |
| 21889 | .{ .@"0:", ._, .movsx, .tmp1d, .memia(.src0b, .tmp0, .add_size), ._, ._ }, | 25653 | .{ .@"0:", ._, .mov, .tmp1d, .memia(.src0d, .tmp0, .add_size), ._, ._ }, |
| 21890 | .{ ._, ._, .cmp, .tmp1b, .memia(.src1b, .tmp0, .add_size), ._, ._ }, | 25654 | .{ ._, ._, .cmp, .tmp1d, .memia(.src1d, .tmp0, .add_size), ._, ._ }, |
| 21891 | .{ ._, ._nge, .j, .@"1f", ._, ._, ._ }, | 25655 | .{ ._, ._nge, .j, .@"1f", ._, ._, ._ }, |
| 21892 | .{ ._, ._, .mov, .tmp1b, .memia(.src1b, .tmp0, .add_size), ._, ._ }, | 25656 | .{ ._, ._, .mov, .tmp1d, .memia(.src1d, .tmp0, .add_size), ._, ._ }, |
| 21893 | .{ .@"1:", ._, .mov, .memia(.dst0b, .tmp0, .add_size), .tmp1b, ._, ._ }, | 25657 | .{ .@"1:", ._, .mov, .memia(.dst0d, .tmp0, .add_size), .tmp1d, ._, ._ }, |
| 21894 | .{ ._, ._c, .in, .tmp0p, ._, ._, ._ }, | 25658 | .{ ._, ._, .add, .tmp0p, .si(4), ._, ._ }, |
| 21895 | .{ ._, ._nz, .j, .@"0b", ._, ._, ._ }, | 25659 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 21896 | } }, | 25660 | } }, |
| 21897 | }, .{ | 25661 | }, .{ |
| 21898 | .required_features = .{ .sse, .mmx, null, null }, | 25662 | .required_features = .{ .avx, null, null, null }, |
| 21899 | .src_constraints = .{ | 25663 | .src_constraints = .{ |
| 21900 | .{ .scalar_unsigned_int = .{ .of = .qword, .is = .byte } }, | 25664 | .{ .scalar_unsigned_int = .{ .of = .xword, .is = .dword } }, |
| 21901 | .{ .scalar_unsigned_int = .{ .of = .qword, .is = .byte } }, | 25665 | .{ .scalar_unsigned_int = .{ .of = .xword, .is = .dword } }, |
| 21902 | .any, | 25666 | .any, |
| 21903 | }, | 25667 | }, |
| 21904 | .patterns = &.{ | 25668 | .patterns = &.{ |
| 21905 | .{ .src = .{ .to_mut_mmx, .mem, .none } }, | 25669 | .{ .src = .{ .to_sse, .mem, .none } }, |
| 21906 | .{ .src = .{ .mem, .to_mut_mmx, .none }, .commute = .{ 0, 1 } }, | 25670 | .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } }, |
| 21907 | .{ .src = .{ .to_mut_mmx, .to_mmx, .none } }, | 25671 | .{ .src = .{ .to_sse, .to_sse, .none } }, |
| 21908 | }, | 25672 | }, |
| 21909 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, | 25673 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| 21910 | .each = .{ .once = &.{ | 25674 | .each = .{ .once = &.{ |
| 21911 | .{ ._, .p_b, .minu, .dst0q, .src1q, ._, ._ }, | 25675 | .{ ._, .vp_d, .minu, .dst0x, .src0x, .src1x, ._ }, |
| 21912 | } }, | 25676 | } }, |
| 21913 | }, .{ | 25677 | }, .{ |
| 21914 | .required_features = .{ .avx, null, null, null }, | 25678 | .required_features = .{ .sse4_1, null, null, null }, |
| 21915 | .src_constraints = .{ | 25679 | .src_constraints = .{ |
| 21916 | .{ .scalar_unsigned_int = .{ .of = .xword, .is = .byte } }, | 25680 | .{ .scalar_unsigned_int = .{ .of = .xword, .is = .dword } }, |
| 21917 | .{ .scalar_unsigned_int = .{ .of = .xword, .is = .byte } }, | 25681 | .{ .scalar_unsigned_int = .{ .of = .xword, .is = .dword } }, |
| 21918 | .any, | 25682 | .any, |
| 21919 | }, | 25683 | }, |
| 21920 | .patterns = &.{ | 25684 | .patterns = &.{ |
| 21921 | .{ .src = .{ .to_sse, .mem, .none } }, | 25685 | .{ .src = .{ .to_mut_sse, .mem, .none } }, |
| 21922 | .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } }, | 25686 | .{ .src = .{ .mem, .to_mut_sse, .none }, .commute = .{ 0, 1 } }, |
| 21923 | .{ .src = .{ .to_sse, .to_sse, .none } }, | 25687 | .{ .src = .{ .to_mut_sse, .to_sse, .none } }, |
| 21924 | }, | 25688 | }, |
| 21925 | .dst_temps = .{ .{ .rc = .sse }, .unused }, | 25689 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| 21926 | .each = .{ .once = &.{ | 25690 | .each = .{ .once = &.{ |
| 21927 | .{ ._, .vp_b, .minu, .dst0x, .src0x, .src1x, ._ }, | 25691 | .{ ._, .p_d, .minu, .dst0x, .src1x, ._, ._ }, |
| 21928 | } }, | 25692 | } }, |
| 21929 | }, .{ | 25693 | }, .{ |
| 21930 | .required_features = .{ .sse2, null, null, null }, | 25694 | .required_features = .{ .sse2, null, null, null }, |
| 21931 | .src_constraints = .{ | 25695 | .src_constraints = .{ |
| 21932 | .{ .scalar_unsigned_int = .{ .of = .xword, .is = .byte } }, | 25696 | .{ .scalar_exact_unsigned_int = .{ .of = .xword, .is = 32 } }, |
| 21933 | .{ .scalar_unsigned_int = .{ .of = .xword, .is = .byte } }, | 25697 | .{ .scalar_exact_unsigned_int = .{ .of = .xword, .is = 32 } }, |
| 21934 | .any, | 25698 | .any, |
| 21935 | }, | 25699 | }, |
| 21936 | .patterns = &.{ | 25700 | .patterns = &.{ |
| ... | @@ -21938,15 +25702,36 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -21938,15 +25702,36 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 21938 | .{ .src = .{ .mem, .to_mut_sse, .none }, .commute = .{ 0, 1 } }, | 25702 | .{ .src = .{ .mem, .to_mut_sse, .none }, .commute = .{ 0, 1 } }, |
| 21939 | .{ .src = .{ .to_mut_sse, .to_sse, .none } }, | 25703 | .{ .src = .{ .to_mut_sse, .to_sse, .none } }, |
| 21940 | }, | 25704 | }, |
| 21941 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, | 25705 | .extra_temps = .{ |
| 25706 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, | ||
| 25707 | .{ .type = .vector_4_u32, .kind = .{ .smin_mem = .{ .ref = .src0, .vectorize_to = .xword } } }, | ||
| 25708 | .{ .type = .vector_4_u32, .kind = .{ .rc = .sse } }, | ||
| 25709 | .unused, | ||
| 25710 | .unused, | ||
| 25711 | .unused, | ||
| 25712 | .unused, | ||
| 25713 | .unused, | ||
| 25714 | .unused, | ||
| 25715 | .unused, | ||
| 25716 | .unused, | ||
| 25717 | }, | ||
| 25718 | .dst_temps = .{ .{ .rc = .sse }, .unused }, | ||
| 21942 | .each = .{ .once = &.{ | 25719 | .each = .{ .once = &.{ |
| 21943 | .{ ._, .p_b, .minu, .dst0x, .src1x, ._, ._ }, | 25720 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| 25721 | .{ ._, ._dqa, .mov, .dst0x, .lea(.tmp0x), ._, ._ }, | ||
| 25722 | .{ ._, ._dqa, .mov, .tmp2x, .dst0x, ._, ._ }, | ||
| 25723 | .{ ._, .p_, .xor, .dst0x, .src1x, ._, ._ }, | ||
| 25724 | .{ ._, .p_, .xor, .tmp2x, .src0x, ._, ._ }, | ||
| 25725 | .{ ._, .p_d, .cmpgt, .dst0x, .tmp2x, ._, ._ }, | ||
| 25726 | .{ ._, .p_, .@"and", .src0x, .dst0x, ._, ._ }, | ||
| 25727 | .{ ._, .p_, .andn, .dst0x, .src1x, ._, ._ }, | ||
| 25728 | .{ ._, .p_, .@"or", .dst0x, .src0x, ._, ._ }, | ||
| 21944 | } }, | 25729 | } }, |
| 21945 | }, .{ | 25730 | }, .{ |
| 21946 | .required_features = .{ .avx2, null, null, null }, | 25731 | .required_features = .{ .avx2, null, null, null }, |
| 21947 | .src_constraints = .{ | 25732 | .src_constraints = .{ |
| 21948 | .{ .scalar_unsigned_int = .{ .of = .yword, .is = .byte } }, | 25733 | .{ .scalar_unsigned_int = .{ .of = .yword, .is = .dword } }, |
| 21949 | .{ .scalar_unsigned_int = .{ .of = .yword, .is = .byte } }, | 25734 | .{ .scalar_unsigned_int = .{ .of = .yword, .is = .dword } }, |
| 21950 | .any, | 25735 | .any, |
| 21951 | }, | 25736 | }, |
| 21952 | .patterns = &.{ | 25737 | .patterns = &.{ |
| ... | @@ -21956,13 +25741,13 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -21956,13 +25741,13 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 21956 | }, | 25741 | }, |
| 21957 | .dst_temps = .{ .{ .rc = .sse }, .unused }, | 25742 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| 21958 | .each = .{ .once = &.{ | 25743 | .each = .{ .once = &.{ |
| 21959 | .{ ._, .vp_b, .minu, .dst0y, .src0y, .src1y, ._ }, | 25744 | .{ ._, .vp_d, .minu, .dst0y, .src0y, .src1y, ._ }, |
| 21960 | } }, | 25745 | } }, |
| 21961 | }, .{ | 25746 | }, .{ |
| 21962 | .required_features = .{ .avx2, null, null, null }, | 25747 | .required_features = .{ .avx2, null, null, null }, |
| 21963 | .src_constraints = .{ | 25748 | .src_constraints = .{ |
| 21964 | .{ .multiple_scalar_unsigned_int = .{ .of = .yword, .is = .byte } }, | 25749 | .{ .multiple_scalar_unsigned_int = .{ .of = .yword, .is = .dword } }, |
| 21965 | .{ .multiple_scalar_unsigned_int = .{ .of = .yword, .is = .byte } }, | 25750 | .{ .multiple_scalar_unsigned_int = .{ .of = .yword, .is = .dword } }, |
| 21966 | .any, | 25751 | .any, |
| 21967 | }, | 25752 | }, |
| 21968 | .patterns = &.{ | 25753 | .patterns = &.{ |
| ... | @@ -21970,7 +25755,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -21970,7 +25755,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 21970 | }, | 25755 | }, |
| 21971 | .extra_temps = .{ | 25756 | .extra_temps = .{ |
| 21972 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 25757 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 21973 | .{ .type = .vector_32_u8, .kind = .{ .rc = .sse } }, | 25758 | .{ .type = .vector_8_u32, .kind = .{ .rc = .sse } }, |
| 21974 | .unused, | 25759 | .unused, |
| 21975 | .unused, | 25760 | .unused, |
| 21976 | .unused, | 25761 | .unused, |
| ... | @@ -21986,7 +25771,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -21986,7 +25771,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 21986 | .each = .{ .once = &.{ | 25771 | .each = .{ .once = &.{ |
| 21987 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, | 25772 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, |
| 21988 | .{ .@"0:", .v_dqa, .mov, .tmp1y, .memia(.src0y, .tmp0, .add_size), ._, ._ }, | 25773 | .{ .@"0:", .v_dqa, .mov, .tmp1y, .memia(.src0y, .tmp0, .add_size), ._, ._ }, |
| 21989 | .{ ._, .vp_b, .minu, .tmp1y, .tmp1y, .memia(.src1y, .tmp0, .add_size), ._ }, | 25774 | .{ ._, .vp_d, .minu, .tmp1y, .tmp1y, .memia(.src1y, .tmp0, .add_size), ._ }, |
| 21990 | .{ ._, .v_dqa, .mov, .memia(.dst0y, .tmp0, .add_size), .tmp1y, ._, ._ }, | 25775 | .{ ._, .v_dqa, .mov, .memia(.dst0y, .tmp0, .add_size), .tmp1y, ._, ._ }, |
| 21991 | .{ ._, ._, .add, .tmp0p, .si(32), ._, ._ }, | 25776 | .{ ._, ._, .add, .tmp0p, .si(32), ._, ._ }, |
| 21992 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 25777 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| ... | @@ -21994,8 +25779,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -21994,8 +25779,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 21994 | }, .{ | 25779 | }, .{ |
| 21995 | .required_features = .{ .avx, null, null, null }, | 25780 | .required_features = .{ .avx, null, null, null }, |
| 21996 | .src_constraints = .{ | 25781 | .src_constraints = .{ |
| 21997 | .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .byte } }, | 25782 | .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .dword } }, |
| 21998 | .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .byte } }, | 25783 | .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .dword } }, |
| 21999 | .any, | 25784 | .any, |
| 22000 | }, | 25785 | }, |
| 22001 | .patterns = &.{ | 25786 | .patterns = &.{ |
| ... | @@ -22003,7 +25788,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -22003,7 +25788,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 22003 | }, | 25788 | }, |
| 22004 | .extra_temps = .{ | 25789 | .extra_temps = .{ |
| 22005 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 25790 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 22006 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, | 25791 | .{ .type = .vector_4_u32, .kind = .{ .rc = .sse } }, |
| 22007 | .unused, | 25792 | .unused, |
| 22008 | .unused, | 25793 | .unused, |
| 22009 | .unused, | 25794 | .unused, |
| ... | @@ -22019,16 +25804,16 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -22019,16 +25804,16 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 22019 | .each = .{ .once = &.{ | 25804 | .each = .{ .once = &.{ |
| 22020 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, | 25805 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, |
| 22021 | .{ .@"0:", .v_dqa, .mov, .tmp1x, .memia(.src0x, .tmp0, .add_size), ._, ._ }, | 25806 | .{ .@"0:", .v_dqa, .mov, .tmp1x, .memia(.src0x, .tmp0, .add_size), ._, ._ }, |
| 22022 | .{ ._, .vp_b, .minu, .tmp1x, .tmp1x, .memia(.src1x, .tmp0, .add_size), ._ }, | 25807 | .{ ._, .vp_d, .minu, .tmp1x, .tmp1x, .memia(.src1x, .tmp0, .add_size), ._ }, |
| 22023 | .{ ._, .v_dqa, .mov, .memia(.dst0x, .tmp0, .add_size), .tmp1x, ._, ._ }, | 25808 | .{ ._, .v_dqa, .mov, .memia(.dst0x, .tmp0, .add_size), .tmp1x, ._, ._ }, |
| 22024 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, | 25809 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, |
| 22025 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 25810 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 22026 | } }, | 25811 | } }, |
| 22027 | }, .{ | 25812 | }, .{ |
| 22028 | .required_features = .{ .sse2, null, null, null }, | 25813 | .required_features = .{ .sse4_1, null, null, null }, |
| 22029 | .src_constraints = .{ | 25814 | .src_constraints = .{ |
| 22030 | .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .byte } }, | 25815 | .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .dword } }, |
| 22031 | .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .byte } }, | 25816 | .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .dword } }, |
| 22032 | .any, | 25817 | .any, |
| 22033 | }, | 25818 | }, |
| 22034 | .patterns = &.{ | 25819 | .patterns = &.{ |
| ... | @@ -22036,7 +25821,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -22036,7 +25821,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 22036 | }, | 25821 | }, |
| 22037 | .extra_temps = .{ | 25822 | .extra_temps = .{ |
| 22038 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 25823 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 22039 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, | 25824 | .{ .type = .vector_4_u32, .kind = .{ .rc = .sse } }, |
| 22040 | .unused, | 25825 | .unused, |
| 22041 | .unused, | 25826 | .unused, |
| 22042 | .unused, | 25827 | .unused, |
| ... | @@ -22052,16 +25837,16 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -22052,16 +25837,16 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 22052 | .each = .{ .once = &.{ | 25837 | .each = .{ .once = &.{ |
| 22053 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, | 25838 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, |
| 22054 | .{ .@"0:", ._dqa, .mov, .tmp1x, .memia(.src0x, .tmp0, .add_size), ._, ._ }, | 25839 | .{ .@"0:", ._dqa, .mov, .tmp1x, .memia(.src0x, .tmp0, .add_size), ._, ._ }, |
| 22055 | .{ ._, .p_b, .minu, .tmp1x, .memia(.src1x, .tmp0, .add_size), ._, ._ }, | 25840 | .{ ._, .p_d, .minu, .tmp1x, .memia(.src1x, .tmp0, .add_size), ._, ._ }, |
| 22056 | .{ ._, ._dqa, .mov, .memia(.dst0x, .tmp0, .add_size), .tmp1x, ._, ._ }, | 25841 | .{ ._, ._dqa, .mov, .memia(.dst0x, .tmp0, .add_size), .tmp1x, ._, ._ }, |
| 22057 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, | 25842 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, |
| 22058 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 25843 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 22059 | } }, | 25844 | } }, |
| 22060 | }, .{ | 25845 | }, .{ |
| 22061 | .required_features = .{ .cmov, .slow_incdec, null, null }, | 25846 | .required_features = .{ .sse2, null, null, null }, |
| 22062 | .src_constraints = .{ | 25847 | .src_constraints = .{ |
| 22063 | .{ .multiple_scalar_unsigned_int = .{ .of = .byte, .is = .byte } }, | 25848 | .{ .multiple_scalar_exact_unsigned_int = .{ .of = .xword, .is = 32 } }, |
| 22064 | .{ .multiple_scalar_unsigned_int = .{ .of = .byte, .is = .byte } }, | 25849 | .{ .multiple_scalar_exact_unsigned_int = .{ .of = .xword, .is = 32 } }, |
| 22065 | .any, | 25850 | .any, |
| 22066 | }, | 25851 | }, |
| 22067 | .patterns = &.{ | 25852 | .patterns = &.{ |
| ... | @@ -22069,12 +25854,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -22069,12 +25854,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 22069 | }, | 25854 | }, |
| 22070 | .extra_temps = .{ | 25855 | .extra_temps = .{ |
| 22071 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 25856 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 22072 | .{ .type = .u8, .kind = .{ .rc = .general_purpose } }, | 25857 | .{ .type = .vector_4_u32, .kind = .{ .smin_mem = .{ .ref = .src0, .vectorize_to = .xword } } }, |
| 22073 | .{ .type = .u8, .kind = .{ .rc = .general_purpose } }, | 25858 | .{ .type = .vector_4_u32, .kind = .{ .rc = .sse } }, |
| 22074 | .unused, | 25859 | .{ .type = .vector_4_u32, .kind = .{ .rc = .sse } }, |
| 22075 | .unused, | 25860 | .{ .type = .vector_4_u32, .kind = .{ .rc = .sse } }, |
| 22076 | .unused, | 25861 | .{ .type = .vector_4_u32, .kind = .{ .rc = .sse } }, |
| 22077 | .unused, | 25862 | .{ .type = .vector_4_u32, .kind = .{ .rc = .sse } }, |
| 22078 | .unused, | 25863 | .unused, |
| 22079 | .unused, | 25864 | .unused, |
| 22080 | .unused, | 25865 | .unused, |
| ... | @@ -22083,55 +25868,28 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -22083,55 +25868,28 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 22083 | .dst_temps = .{ .mem, .unused }, | 25868 | .dst_temps = .{ .mem, .unused }, |
| 22084 | .clobbers = .{ .eflags = true }, | 25869 | .clobbers = .{ .eflags = true }, |
| 22085 | .each = .{ .once = &.{ | 25870 | .each = .{ .once = &.{ |
| 25871 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, | ||
| 25872 | .{ ._, ._dqa, .mov, .tmp2x, .lea(.tmp0x), ._, ._ }, | ||
| 22086 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, | 25873 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, |
| 22087 | .{ .@"0:", ._, .movzx, .tmp1d, .memia(.src0b, .tmp0, .add_size), ._, ._ }, | 25874 | .{ .@"0:", ._dqa, .mov, .tmp3x, .memia(.src0x, .tmp0, .add_size), ._, ._ }, |
| 22088 | .{ ._, ._, .movzx, .tmp2d, .memia(.src1b, .tmp0, .add_size), ._, ._ }, | 25875 | .{ ._, ._dqa, .mov, .tmp4x, .memia(.src1x, .tmp0, .add_size), ._, ._ }, |
| 22089 | .{ ._, ._, .cmp, .tmp1b, .tmp2b, ._, ._ }, | 25876 | .{ ._, ._dqa, .mov, .tmp5x, .tmp3x, ._, ._ }, |
| 22090 | .{ ._, ._ae, .cmov, .tmp1d, .tmp2d, ._, ._ }, | 25877 | .{ ._, ._dqa, .mov, .tmp6x, .tmp4x, ._, ._ }, |
| 22091 | .{ ._, ._, .mov, .memia(.dst0b, .tmp0, .add_size), .tmp1b, ._, ._ }, | 25878 | .{ ._, .p_, .xor, .tmp5x, .tmp2x, ._, ._ }, |
| 22092 | .{ ._, ._, .add, .tmp0p, .si(1), ._, ._ }, | 25879 | .{ ._, .p_, .xor, .tmp6x, .tmp2x, ._, ._ }, |
| 25880 | .{ ._, .p_d, .cmpgt, .tmp5x, .tmp6x, ._, ._ }, | ||
| 25881 | .{ ._, .p_, .@"and", .tmp4x, .tmp5x, ._, ._ }, | ||
| 25882 | .{ ._, .p_, .andn, .tmp5x, .tmp3x, ._, ._ }, | ||
| 25883 | .{ ._, .p_, .@"or", .tmp4x, .tmp5x, ._, ._ }, | ||
| 25884 | .{ ._, ._dqa, .mov, .memia(.dst0x, .tmp0, .add_size), .tmp4x, ._, ._ }, | ||
| 25885 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, | ||
| 22093 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 25886 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 22094 | } }, | 25887 | } }, |
| 22095 | }, .{ | 25888 | }, .{ |
| 22096 | .required_features = .{ .cmov, null, null, null }, | 25889 | .required_features = .{ .cmov, null, null, null }, |
| 22097 | .src_constraints = .{ | 25890 | .src_constraints = .{ |
| 22098 | .{ .multiple_scalar_unsigned_int = .{ .of = .byte, .is = .byte } }, | 25891 | .{ .multiple_scalar_unsigned_int = .{ .of = .dword, .is = .dword } }, |
| 22099 | .{ .multiple_scalar_unsigned_int = .{ .of = .byte, .is = .byte } }, | 25892 | .{ .multiple_scalar_unsigned_int = .{ .of = .dword, .is = .dword } }, |
| 22100 | .any, | ||
| 22101 | }, | ||
| 22102 | .patterns = &.{ | ||
| 22103 | .{ .src = .{ .to_mem, .to_mem, .none } }, | ||
| 22104 | }, | ||
| 22105 | .extra_temps = .{ | ||
| 22106 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | ||
| 22107 | .{ .type = .u8, .kind = .{ .rc = .general_purpose } }, | ||
| 22108 | .{ .type = .u8, .kind = .{ .rc = .general_purpose } }, | ||
| 22109 | .unused, | ||
| 22110 | .unused, | ||
| 22111 | .unused, | ||
| 22112 | .unused, | ||
| 22113 | .unused, | ||
| 22114 | .unused, | ||
| 22115 | .unused, | ||
| 22116 | .unused, | ||
| 22117 | }, | ||
| 22118 | .dst_temps = .{ .mem, .unused }, | ||
| 22119 | .clobbers = .{ .eflags = true }, | ||
| 22120 | .each = .{ .once = &.{ | ||
| 22121 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, | ||
| 22122 | .{ .@"0:", ._, .movzx, .tmp1d, .memia(.src0b, .tmp0, .add_size), ._, ._ }, | ||
| 22123 | .{ ._, ._, .movzx, .tmp2d, .memia(.src1b, .tmp0, .add_size), ._, ._ }, | ||
| 22124 | .{ ._, ._, .cmp, .tmp1b, .tmp2b, ._, ._ }, | ||
| 22125 | .{ ._, ._ae, .cmov, .tmp1d, .tmp2d, ._, ._ }, | ||
| 22126 | .{ ._, ._, .mov, .memia(.dst0b, .tmp0, .add_size), .tmp1b, ._, ._ }, | ||
| 22127 | .{ ._, ._c, .in, .tmp0p, ._, ._, ._ }, | ||
| 22128 | .{ ._, ._nz, .j, .@"0b", ._, ._, ._ }, | ||
| 22129 | } }, | ||
| 22130 | }, .{ | ||
| 22131 | .required_features = .{ .slow_incdec, null, null, null }, | ||
| 22132 | .src_constraints = .{ | ||
| 22133 | .{ .multiple_scalar_unsigned_int = .{ .of = .byte, .is = .byte } }, | ||
| 22134 | .{ .multiple_scalar_unsigned_int = .{ .of = .byte, .is = .byte } }, | ||
| 22135 | .any, | 25893 | .any, |
| 22136 | }, | 25894 | }, |
| 22137 | .patterns = &.{ | 25895 | .patterns = &.{ |
| ... | @@ -22139,7 +25897,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -22139,7 +25897,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 22139 | }, | 25897 | }, |
| 22140 | .extra_temps = .{ | 25898 | .extra_temps = .{ |
| 22141 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 25899 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 22142 | .{ .type = .u8, .kind = .{ .rc = .general_purpose } }, | 25900 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 22143 | .unused, | 25901 | .unused, |
| 22144 | .unused, | 25902 | .unused, |
| 22145 | .unused, | 25903 | .unused, |
| ... | @@ -22154,18 +25912,17 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -22154,18 +25912,17 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 22154 | .clobbers = .{ .eflags = true }, | 25912 | .clobbers = .{ .eflags = true }, |
| 22155 | .each = .{ .once = &.{ | 25913 | .each = .{ .once = &.{ |
| 22156 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, | 25914 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, |
| 22157 | .{ .@"0:", ._, .movzx, .tmp1d, .memia(.src0b, .tmp0, .add_size), ._, ._ }, | 25915 | .{ .@"0:", ._, .mov, .tmp1d, .memia(.src0d, .tmp0, .add_size), ._, ._ }, |
| 22158 | .{ ._, ._, .cmp, .tmp1b, .memia(.src1b, .tmp0, .add_size), ._, ._ }, | 25916 | .{ ._, ._, .cmp, .tmp1d, .memia(.src1d, .tmp0, .add_size), ._, ._ }, |
| 22159 | .{ ._, ._nae, .j, .@"1f", ._, ._, ._ }, | 25917 | .{ ._, ._ae, .cmov, .tmp1d, .memia(.src1d, .tmp0, .add_size), ._, ._ }, |
| 22160 | .{ ._, ._, .mov, .tmp1b, .memia(.src1b, .tmp0, .add_size), ._, ._ }, | 25918 | .{ ._, ._, .mov, .memia(.dst0d, .tmp0, .add_size), .tmp1d, ._, ._ }, |
| 22161 | .{ .@"1:", ._, .mov, .memia(.dst0b, .tmp0, .add_size), .tmp1b, ._, ._ }, | 25919 | .{ ._, ._, .add, .tmp0p, .si(4), ._, ._ }, |
| 22162 | .{ ._, ._, .add, .tmp0p, .si(1), ._, ._ }, | ||
| 22163 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 25920 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 22164 | } }, | 25921 | } }, |
| 22165 | }, .{ | 25922 | }, .{ |
| 22166 | .src_constraints = .{ | 25923 | .src_constraints = .{ |
| 22167 | .{ .multiple_scalar_unsigned_int = .{ .of = .byte, .is = .byte } }, | 25924 | .{ .multiple_scalar_unsigned_int = .{ .of = .dword, .is = .dword } }, |
| 22168 | .{ .multiple_scalar_unsigned_int = .{ .of = .byte, .is = .byte } }, | 25925 | .{ .multiple_scalar_unsigned_int = .{ .of = .dword, .is = .dword } }, |
| 22169 | .any, | 25926 | .any, |
| 22170 | }, | 25927 | }, |
| 22171 | .patterns = &.{ | 25928 | .patterns = &.{ |
| ... | @@ -22173,7 +25930,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -22173,7 +25930,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 22173 | }, | 25930 | }, |
| 22174 | .extra_temps = .{ | 25931 | .extra_temps = .{ |
| 22175 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 25932 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 22176 | .{ .type = .u8, .kind = .{ .rc = .general_purpose } }, | 25933 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 22177 | .unused, | 25934 | .unused, |
| 22178 | .unused, | 25935 | .unused, |
| 22179 | .unused, | 25936 | .unused, |
| ... | @@ -22188,35 +25945,19 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -22188,35 +25945,19 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 22188 | .clobbers = .{ .eflags = true }, | 25945 | .clobbers = .{ .eflags = true }, |
| 22189 | .each = .{ .once = &.{ | 25946 | .each = .{ .once = &.{ |
| 22190 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, | 25947 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, |
| 22191 | .{ .@"0:", ._, .movzx, .tmp1d, .memia(.src0b, .tmp0, .add_size), ._, ._ }, | 25948 | .{ .@"0:", ._, .mov, .tmp1d, .memia(.src0d, .tmp0, .add_size), ._, ._ }, |
| 22192 | .{ ._, ._, .cmp, .tmp1b, .memia(.src1b, .tmp0, .add_size), ._, ._ }, | 25949 | .{ ._, ._, .cmp, .tmp1d, .memia(.src1d, .tmp0, .add_size), ._, ._ }, |
| 22193 | .{ ._, ._nae, .j, .@"1f", ._, ._, ._ }, | 25950 | .{ ._, ._nae, .j, .@"1f", ._, ._, ._ }, |
| 22194 | .{ ._, ._, .mov, .tmp1b, .memia(.src1b, .tmp0, .add_size), ._, ._ }, | 25951 | .{ ._, ._, .mov, .tmp1d, .memia(.src1d, .tmp0, .add_size), ._, ._ }, |
| 22195 | .{ .@"1:", ._, .mov, .memia(.dst0b, .tmp0, .add_size), .tmp1b, ._, ._ }, | 25952 | .{ .@"1:", ._, .mov, .memia(.dst0d, .tmp0, .add_size), .tmp1d, ._, ._ }, |
| 22196 | .{ ._, ._c, .in, .tmp0p, ._, ._, ._ }, | 25953 | .{ ._, ._, .add, .tmp0p, .si(4), ._, ._ }, |
| 22197 | .{ ._, ._nz, .j, .@"0b", ._, ._, ._ }, | 25954 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 22198 | } }, | ||
| 22199 | }, .{ | ||
| 22200 | .required_features = .{ .sse, .mmx, null, null }, | ||
| 22201 | .src_constraints = .{ | ||
| 22202 | .{ .scalar_signed_int = .{ .of = .qword, .is = .word } }, | ||
| 22203 | .{ .scalar_signed_int = .{ .of = .qword, .is = .word } }, | ||
| 22204 | .any, | ||
| 22205 | }, | ||
| 22206 | .patterns = &.{ | ||
| 22207 | .{ .src = .{ .to_mut_mmx, .mem, .none } }, | ||
| 22208 | .{ .src = .{ .mem, .to_mut_mmx, .none }, .commute = .{ 0, 1 } }, | ||
| 22209 | .{ .src = .{ .to_mut_mmx, .to_mmx, .none } }, | ||
| 22210 | }, | ||
| 22211 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, | ||
| 22212 | .each = .{ .once = &.{ | ||
| 22213 | .{ ._, .p_w, .mins, .dst0q, .src1q, ._, ._ }, | ||
| 22214 | } }, | 25955 | } }, |
| 22215 | }, .{ | 25956 | }, .{ |
| 22216 | .required_features = .{ .avx, null, null, null }, | 25957 | .required_features = .{ .avx, null, null, null }, |
| 22217 | .src_constraints = .{ | 25958 | .src_constraints = .{ |
| 22218 | .{ .scalar_signed_int = .{ .of = .xword, .is = .word } }, | 25959 | .{ .scalar_signed_or_exclusive_int = .{ .of = .xword, .is = .qword } }, |
| 22219 | .{ .scalar_signed_int = .{ .of = .xword, .is = .word } }, | 25960 | .{ .scalar_signed_or_exclusive_int = .{ .of = .xword, .is = .qword } }, |
| 22220 | .any, | 25961 | .any, |
| 22221 | }, | 25962 | }, |
| 22222 | .patterns = &.{ | 25963 | .patterns = &.{ |
| ... | @@ -22226,13 +25967,14 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -22226,13 +25967,14 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 22226 | }, | 25967 | }, |
| 22227 | .dst_temps = .{ .{ .rc = .sse }, .unused }, | 25968 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| 22228 | .each = .{ .once = &.{ | 25969 | .each = .{ .once = &.{ |
| 22229 | .{ ._, .vp_w, .mins, .dst0x, .src0x, .src1x, ._ }, | 25970 | .{ ._, .vp_q, .cmpgt, .dst0x, .src0x, .src1x, ._ }, |
| 25971 | .{ ._, .vp_b, .blendv, .dst0x, .src0x, .src1x, .dst0x }, | ||
| 22230 | } }, | 25972 | } }, |
| 22231 | }, .{ | 25973 | }, .{ |
| 22232 | .required_features = .{ .sse2, null, null, null }, | 25974 | .required_features = .{ .sse4_2, null, null, null }, |
| 22233 | .src_constraints = .{ | 25975 | .src_constraints = .{ |
| 22234 | .{ .scalar_signed_int = .{ .of = .xword, .is = .word } }, | 25976 | .{ .scalar_signed_or_exclusive_int = .{ .of = .xword, .is = .qword } }, |
| 22235 | .{ .scalar_signed_int = .{ .of = .xword, .is = .word } }, | 25977 | .{ .scalar_signed_or_exclusive_int = .{ .of = .xword, .is = .qword } }, |
| 22236 | .any, | 25978 | .any, |
| 22237 | }, | 25979 | }, |
| 22238 | .patterns = &.{ | 25980 | .patterns = &.{ |
| ... | @@ -22240,15 +25982,30 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -22240,15 +25982,30 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 22240 | .{ .src = .{ .mem, .to_mut_sse, .none }, .commute = .{ 0, 1 } }, | 25982 | .{ .src = .{ .mem, .to_mut_sse, .none }, .commute = .{ 0, 1 } }, |
| 22241 | .{ .src = .{ .to_mut_sse, .to_sse, .none } }, | 25983 | .{ .src = .{ .to_mut_sse, .to_sse, .none } }, |
| 22242 | }, | 25984 | }, |
| 25985 | .extra_temps = .{ | ||
| 25986 | .{ .type = .vector_2_i64, .kind = .{ .reg = .xmm0 } }, | ||
| 25987 | .unused, | ||
| 25988 | .unused, | ||
| 25989 | .unused, | ||
| 25990 | .unused, | ||
| 25991 | .unused, | ||
| 25992 | .unused, | ||
| 25993 | .unused, | ||
| 25994 | .unused, | ||
| 25995 | .unused, | ||
| 25996 | .unused, | ||
| 25997 | }, | ||
| 22243 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, | 25998 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| 22244 | .each = .{ .once = &.{ | 25999 | .each = .{ .once = &.{ |
| 22245 | .{ ._, .p_w, .mins, .dst0x, .src1x, ._, ._ }, | 26000 | .{ ._, ._dqa, .mov, .tmp0x, .src0x, ._, ._ }, |
| 26001 | .{ ._, .p_q, .cmpgt, .tmp0x, .src1x, ._, ._ }, | ||
| 26002 | .{ ._, .p_b, .blendv, .dst0x, .src1x, .tmp0x, ._ }, | ||
| 22246 | } }, | 26003 | } }, |
| 22247 | }, .{ | 26004 | }, .{ |
| 22248 | .required_features = .{ .avx2, null, null, null }, | 26005 | .required_features = .{ .avx2, null, null, null }, |
| 22249 | .src_constraints = .{ | 26006 | .src_constraints = .{ |
| 22250 | .{ .scalar_signed_int = .{ .of = .yword, .is = .word } }, | 26007 | .{ .scalar_signed_or_exclusive_int = .{ .of = .yword, .is = .qword } }, |
| 22251 | .{ .scalar_signed_int = .{ .of = .yword, .is = .word } }, | 26008 | .{ .scalar_signed_or_exclusive_int = .{ .of = .yword, .is = .qword } }, |
| 22252 | .any, | 26009 | .any, |
| 22253 | }, | 26010 | }, |
| 22254 | .patterns = &.{ | 26011 | .patterns = &.{ |
| ... | @@ -22258,13 +26015,14 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -22258,13 +26015,14 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 22258 | }, | 26015 | }, |
| 22259 | .dst_temps = .{ .{ .rc = .sse }, .unused }, | 26016 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| 22260 | .each = .{ .once = &.{ | 26017 | .each = .{ .once = &.{ |
| 22261 | .{ ._, .vp_w, .mins, .dst0y, .src0y, .src1y, ._ }, | 26018 | .{ ._, .vp_q, .cmpgt, .dst0y, .src0y, .src1y, ._ }, |
| 26019 | .{ ._, .vp_b, .blendv, .dst0y, .src0y, .src1y, .dst0y }, | ||
| 22262 | } }, | 26020 | } }, |
| 22263 | }, .{ | 26021 | }, .{ |
| 22264 | .required_features = .{ .avx2, null, null, null }, | 26022 | .required_features = .{ .avx2, null, null, null }, |
| 22265 | .src_constraints = .{ | 26023 | .src_constraints = .{ |
| 22266 | .{ .multiple_scalar_signed_int = .{ .of = .yword, .is = .word } }, | 26024 | .{ .multiple_scalar_signed_or_exclusive_int = .{ .of = .yword, .is = .qword } }, |
| 22267 | .{ .multiple_scalar_signed_int = .{ .of = .yword, .is = .word } }, | 26025 | .{ .multiple_scalar_signed_or_exclusive_int = .{ .of = .yword, .is = .qword } }, |
| 22268 | .any, | 26026 | .any, |
| 22269 | }, | 26027 | }, |
| 22270 | .patterns = &.{ | 26028 | .patterns = &.{ |
| ... | @@ -22272,9 +26030,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -22272,9 +26030,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 22272 | }, | 26030 | }, |
| 22273 | .extra_temps = .{ | 26031 | .extra_temps = .{ |
| 22274 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 26032 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 22275 | .{ .type = .vector_16_i16, .kind = .{ .rc = .sse } }, | 26033 | .{ .type = .vector_4_i64, .kind = .{ .rc = .sse } }, |
| 22276 | .unused, | 26034 | .{ .type = .vector_4_i64, .kind = .{ .rc = .sse } }, |
| 22277 | .unused, | 26035 | .{ .type = .vector_4_i64, .kind = .{ .rc = .sse } }, |
| 22278 | .unused, | 26036 | .unused, |
| 22279 | .unused, | 26037 | .unused, |
| 22280 | .unused, | 26038 | .unused, |
| ... | @@ -22288,7 +26046,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -22288,7 +26046,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 22288 | .each = .{ .once = &.{ | 26046 | .each = .{ .once = &.{ |
| 22289 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, | 26047 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, |
| 22290 | .{ .@"0:", .v_dqa, .mov, .tmp1y, .memia(.src0y, .tmp0, .add_size), ._, ._ }, | 26048 | .{ .@"0:", .v_dqa, .mov, .tmp1y, .memia(.src0y, .tmp0, .add_size), ._, ._ }, |
| 22291 | .{ ._, .vp_w, .mins, .tmp1y, .tmp1y, .memia(.src1y, .tmp0, .add_size), ._ }, | 26049 | .{ ._, .v_dqa, .mov, .tmp2y, .memia(.src1y, .tmp0, .add_size), ._, ._ }, |
| 26050 | .{ ._, .vp_q, .cmpgt, .tmp3y, .tmp1y, .tmp2y, ._ }, | ||
| 26051 | .{ ._, .vp_b, .blendv, .tmp1y, .tmp1y, .tmp2y, .tmp3y }, | ||
| 22292 | .{ ._, .v_dqa, .mov, .memia(.dst0y, .tmp0, .add_size), .tmp1y, ._, ._ }, | 26052 | .{ ._, .v_dqa, .mov, .memia(.dst0y, .tmp0, .add_size), .tmp1y, ._, ._ }, |
| 22293 | .{ ._, ._, .add, .tmp0p, .si(32), ._, ._ }, | 26053 | .{ ._, ._, .add, .tmp0p, .si(32), ._, ._ }, |
| 22294 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 26054 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| ... | @@ -22296,8 +26056,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -22296,8 +26056,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 22296 | }, .{ | 26056 | }, .{ |
| 22297 | .required_features = .{ .avx, null, null, null }, | 26057 | .required_features = .{ .avx, null, null, null }, |
| 22298 | .src_constraints = .{ | 26058 | .src_constraints = .{ |
| 22299 | .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .word } }, | 26059 | .{ .multiple_scalar_signed_or_exclusive_int = .{ .of = .xword, .is = .qword } }, |
| 22300 | .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .word } }, | 26060 | .{ .multiple_scalar_signed_or_exclusive_int = .{ .of = .xword, .is = .qword } }, |
| 22301 | .any, | 26061 | .any, |
| 22302 | }, | 26062 | }, |
| 22303 | .patterns = &.{ | 26063 | .patterns = &.{ |
| ... | @@ -22305,9 +26065,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -22305,9 +26065,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 22305 | }, | 26065 | }, |
| 22306 | .extra_temps = .{ | 26066 | .extra_temps = .{ |
| 22307 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 26067 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 22308 | .{ .type = .vector_16_i16, .kind = .{ .rc = .sse } }, | 26068 | .{ .type = .vector_2_i64, .kind = .{ .rc = .sse } }, |
| 22309 | .unused, | 26069 | .{ .type = .vector_2_i64, .kind = .{ .rc = .sse } }, |
| 22310 | .unused, | 26070 | .{ .type = .vector_2_i64, .kind = .{ .rc = .sse } }, |
| 22311 | .unused, | 26071 | .unused, |
| 22312 | .unused, | 26072 | .unused, |
| 22313 | .unused, | 26073 | .unused, |
| ... | @@ -22321,16 +26081,18 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -22321,16 +26081,18 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 22321 | .each = .{ .once = &.{ | 26081 | .each = .{ .once = &.{ |
| 22322 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, | 26082 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, |
| 22323 | .{ .@"0:", .v_dqa, .mov, .tmp1x, .memia(.src0x, .tmp0, .add_size), ._, ._ }, | 26083 | .{ .@"0:", .v_dqa, .mov, .tmp1x, .memia(.src0x, .tmp0, .add_size), ._, ._ }, |
| 22324 | .{ ._, .vp_w, .mins, .tmp1x, .tmp1x, .memia(.src1x, .tmp0, .add_size), ._ }, | 26084 | .{ ._, .v_dqa, .mov, .tmp2x, .memia(.src1x, .tmp0, .add_size), ._, ._ }, |
| 26085 | .{ ._, .vp_q, .cmpgt, .tmp3x, .tmp1x, .tmp2x, ._ }, | ||
| 26086 | .{ ._, .vp_b, .blendv, .tmp1x, .tmp1x, .tmp2x, .tmp3x }, | ||
| 22325 | .{ ._, .v_dqa, .mov, .memia(.dst0x, .tmp0, .add_size), .tmp1x, ._, ._ }, | 26087 | .{ ._, .v_dqa, .mov, .memia(.dst0x, .tmp0, .add_size), .tmp1x, ._, ._ }, |
| 22326 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, | 26088 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, |
| 22327 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 26089 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 22328 | } }, | 26090 | } }, |
| 22329 | }, .{ | 26091 | }, .{ |
| 22330 | .required_features = .{ .sse2, null, null, null }, | 26092 | .required_features = .{ .sse4_2, null, null, null }, |
| 22331 | .src_constraints = .{ | 26093 | .src_constraints = .{ |
| 22332 | .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .word } }, | 26094 | .{ .multiple_scalar_signed_or_exclusive_int = .{ .of = .xword, .is = .qword } }, |
| 22333 | .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .word } }, | 26095 | .{ .multiple_scalar_signed_or_exclusive_int = .{ .of = .xword, .is = .qword } }, |
| 22334 | .any, | 26096 | .any, |
| 22335 | }, | 26097 | }, |
| 22336 | .patterns = &.{ | 26098 | .patterns = &.{ |
| ... | @@ -22338,9 +26100,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -22338,9 +26100,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 22338 | }, | 26100 | }, |
| 22339 | .extra_temps = .{ | 26101 | .extra_temps = .{ |
| 22340 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 26102 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 22341 | .{ .type = .vector_16_i16, .kind = .{ .rc = .sse } }, | 26103 | .{ .type = .vector_2_i64, .kind = .{ .rc = .sse } }, |
| 22342 | .unused, | 26104 | .{ .type = .vector_2_i64, .kind = .{ .rc = .sse } }, |
| 22343 | .unused, | 26105 | .{ .type = .vector_2_i64, .kind = .{ .reg = .xmm0 } }, |
| 22344 | .unused, | 26106 | .unused, |
| 22345 | .unused, | 26107 | .unused, |
| 22346 | .unused, | 26108 | .unused, |
| ... | @@ -22354,16 +26116,19 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -22354,16 +26116,19 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 22354 | .each = .{ .once = &.{ | 26116 | .each = .{ .once = &.{ |
| 22355 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, | 26117 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, |
| 22356 | .{ .@"0:", ._dqa, .mov, .tmp1x, .memia(.src0x, .tmp0, .add_size), ._, ._ }, | 26118 | .{ .@"0:", ._dqa, .mov, .tmp1x, .memia(.src0x, .tmp0, .add_size), ._, ._ }, |
| 22357 | .{ ._, .p_w, .mins, .tmp1x, .memia(.src1x, .tmp0, .add_size), ._, ._ }, | 26119 | .{ ._, ._dqa, .mov, .tmp2x, .memia(.src1x, .tmp0, .add_size), ._, ._ }, |
| 26120 | .{ ._, ._dqa, .mov, .tmp3x, .tmp1x, ._, ._ }, | ||
| 26121 | .{ ._, .p_q, .cmpgt, .tmp3x, .tmp2x, ._, ._ }, | ||
| 26122 | .{ ._, .p_b, .blendv, .tmp1x, .tmp2x, .tmp3x, ._ }, | ||
| 22358 | .{ ._, ._dqa, .mov, .memia(.dst0x, .tmp0, .add_size), .tmp1x, ._, ._ }, | 26123 | .{ ._, ._dqa, .mov, .memia(.dst0x, .tmp0, .add_size), .tmp1x, ._, ._ }, |
| 22359 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, | 26124 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, |
| 22360 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 26125 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 22361 | } }, | 26126 | } }, |
| 22362 | }, .{ | 26127 | }, .{ |
| 22363 | .required_features = .{ .cmov, null, null, null }, | 26128 | .required_features = .{ .@"64bit", .cmov, null, null }, |
| 22364 | .src_constraints = .{ | 26129 | .src_constraints = .{ |
| 22365 | .{ .multiple_scalar_signed_int = .{ .of = .word, .is = .word } }, | 26130 | .{ .multiple_scalar_signed_int = .{ .of = .qword, .is = .qword } }, |
| 22366 | .{ .multiple_scalar_signed_int = .{ .of = .word, .is = .word } }, | 26131 | .{ .multiple_scalar_signed_int = .{ .of = .qword, .is = .qword } }, |
| 22367 | .any, | 26132 | .any, |
| 22368 | }, | 26133 | }, |
| 22369 | .patterns = &.{ | 26134 | .patterns = &.{ |
| ... | @@ -22371,7 +26136,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -22371,7 +26136,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 22371 | }, | 26136 | }, |
| 22372 | .extra_temps = .{ | 26137 | .extra_temps = .{ |
| 22373 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 26138 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 22374 | .{ .type = .i16, .kind = .{ .rc = .general_purpose } }, | 26139 | .{ .type = .i64, .kind = .{ .rc = .general_purpose } }, |
| 22375 | .unused, | 26140 | .unused, |
| 22376 | .unused, | 26141 | .unused, |
| 22377 | .unused, | 26142 | .unused, |
| ... | @@ -22386,17 +26151,18 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -22386,17 +26151,18 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 22386 | .clobbers = .{ .eflags = true }, | 26151 | .clobbers = .{ .eflags = true }, |
| 22387 | .each = .{ .once = &.{ | 26152 | .each = .{ .once = &.{ |
| 22388 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, | 26153 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, |
| 22389 | .{ .@"0:", ._, .movsx, .tmp1d, .memia(.src0w, .tmp0, .add_size), ._, ._ }, | 26154 | .{ .@"0:", ._, .mov, .tmp1q, .memia(.src0q, .tmp0, .add_size), ._, ._ }, |
| 22390 | .{ ._, ._, .cmp, .tmp1w, .memia(.src1w, .tmp0, .add_size), ._, ._ }, | 26155 | .{ ._, ._, .cmp, .tmp1q, .memia(.src1q, .tmp0, .add_size), ._, ._ }, |
| 22391 | .{ ._, ._ge, .cmov, .tmp1w, .memia(.src1w, .tmp0, .add_size), ._, ._ }, | 26156 | .{ ._, ._ge, .cmov, .tmp1q, .memia(.src1q, .tmp0, .add_size), ._, ._ }, |
| 22392 | .{ ._, ._, .mov, .memia(.dst0w, .tmp0, .add_size), .tmp1w, ._, ._ }, | 26157 | .{ ._, ._, .mov, .memia(.dst0q, .tmp0, .add_size), .tmp1q, ._, ._ }, |
| 22393 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, | 26158 | .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ }, |
| 22394 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 26159 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 22395 | } }, | 26160 | } }, |
| 22396 | }, .{ | 26161 | }, .{ |
| 26162 | .required_features = .{ .@"64bit", null, null, null }, | ||
| 22397 | .src_constraints = .{ | 26163 | .src_constraints = .{ |
| 22398 | .{ .multiple_scalar_signed_int = .{ .of = .word, .is = .word } }, | 26164 | .{ .multiple_scalar_signed_int = .{ .of = .qword, .is = .qword } }, |
| 22399 | .{ .multiple_scalar_signed_int = .{ .of = .word, .is = .word } }, | 26165 | .{ .multiple_scalar_signed_int = .{ .of = .qword, .is = .qword } }, |
| 22400 | .any, | 26166 | .any, |
| 22401 | }, | 26167 | }, |
| 22402 | .patterns = &.{ | 26168 | .patterns = &.{ |
| ... | @@ -22404,7 +26170,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -22404,7 +26170,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 22404 | }, | 26170 | }, |
| 22405 | .extra_temps = .{ | 26171 | .extra_temps = .{ |
| 22406 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 26172 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 22407 | .{ .type = .i16, .kind = .{ .rc = .general_purpose } }, | 26173 | .{ .type = .i64, .kind = .{ .rc = .general_purpose } }, |
| 22408 | .unused, | 26174 | .unused, |
| 22409 | .unused, | 26175 | .unused, |
| 22410 | .unused, | 26176 | .unused, |
| ... | @@ -22419,19 +26185,19 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -22419,19 +26185,19 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 22419 | .clobbers = .{ .eflags = true }, | 26185 | .clobbers = .{ .eflags = true }, |
| 22420 | .each = .{ .once = &.{ | 26186 | .each = .{ .once = &.{ |
| 22421 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, | 26187 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, |
| 22422 | .{ .@"0:", ._, .movsx, .tmp1d, .memia(.src0w, .tmp0, .add_size), ._, ._ }, | 26188 | .{ .@"0:", ._, .mov, .tmp1q, .memia(.src0q, .tmp0, .add_size), ._, ._ }, |
| 22423 | .{ ._, ._, .cmp, .tmp1w, .memia(.src1w, .tmp0, .add_size), ._, ._ }, | 26189 | .{ ._, ._, .cmp, .tmp1q, .memia(.src1q, .tmp0, .add_size), ._, ._ }, |
| 22424 | .{ ._, ._nge, .j, .@"1f", ._, ._, ._ }, | 26190 | .{ ._, ._nge, .j, .@"1f", ._, ._, ._ }, |
| 22425 | .{ ._, ._, .mov, .tmp1w, .memia(.src1w, .tmp0, .add_size), ._, ._ }, | 26191 | .{ ._, ._, .mov, .tmp1q, .memia(.src1q, .tmp0, .add_size), ._, ._ }, |
| 22426 | .{ .@"1:", ._, .mov, .memia(.dst0w, .tmp0, .add_size), .tmp1w, ._, ._ }, | 26192 | .{ .@"1:", ._, .mov, .memia(.dst0q, .tmp0, .add_size), .tmp1q, ._, ._ }, |
| 22427 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, | 26193 | .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ }, |
| 22428 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 26194 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 22429 | } }, | 26195 | } }, |
| 22430 | }, .{ | 26196 | }, .{ |
| 22431 | .required_features = .{ .avx, null, null, null }, | 26197 | .required_features = .{ .avx, null, null, null }, |
| 22432 | .src_constraints = .{ | 26198 | .src_constraints = .{ |
| 22433 | .{ .scalar_unsigned_int = .{ .of = .xword, .is = .word } }, | 26199 | .{ .scalar_exact_unsigned_int = .{ .of = .xword, .is = 64 } }, |
| 22434 | .{ .scalar_unsigned_int = .{ .of = .xword, .is = .word } }, | 26200 | .{ .scalar_exact_unsigned_int = .{ .of = .xword, .is = 64 } }, |
| 22435 | .any, | 26201 | .any, |
| 22436 | }, | 26202 | }, |
| 22437 | .patterns = &.{ | 26203 | .patterns = &.{ |
| ... | @@ -22439,15 +26205,33 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -22439,15 +26205,33 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 22439 | .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } }, | 26205 | .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } }, |
| 22440 | .{ .src = .{ .to_sse, .to_sse, .none } }, | 26206 | .{ .src = .{ .to_sse, .to_sse, .none } }, |
| 22441 | }, | 26207 | }, |
| 26208 | .extra_temps = .{ | ||
| 26209 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, | ||
| 26210 | .{ .type = .u64, .kind = .{ .smin_mem = .{ .ref = .src0, .vectorize_to = .none } } }, | ||
| 26211 | .{ .type = .vector_2_u64, .kind = .{ .rc = .sse } }, | ||
| 26212 | .unused, | ||
| 26213 | .unused, | ||
| 26214 | .unused, | ||
| 26215 | .unused, | ||
| 26216 | .unused, | ||
| 26217 | .unused, | ||
| 26218 | .unused, | ||
| 26219 | .unused, | ||
| 26220 | }, | ||
| 22442 | .dst_temps = .{ .{ .rc = .sse }, .unused }, | 26221 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| 22443 | .each = .{ .once = &.{ | 26222 | .each = .{ .once = &.{ |
| 22444 | .{ ._, .vp_w, .minu, .dst0x, .src0x, .src1x, ._ }, | 26223 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| 26224 | .{ ._, .v_, .movddup, .tmp2x, .lea(.tmp0q), ._, ._ }, | ||
| 26225 | .{ ._, .vp_, .xor, .dst0x, .tmp2x, .src0x, ._ }, | ||
| 26226 | .{ ._, .vp_, .xor, .tmp2x, .tmp2x, .src1x, ._ }, | ||
| 26227 | .{ ._, .vp_q, .cmpgt, .dst0x, .dst0x, .tmp2x, ._ }, | ||
| 26228 | .{ ._, .vp_b, .blendv, .dst0x, .src0x, .src1x, .dst0x }, | ||
| 22445 | } }, | 26229 | } }, |
| 22446 | }, .{ | 26230 | }, .{ |
| 22447 | .required_features = .{ .sse4_1, null, null, null }, | 26231 | .required_features = .{ .sse4_2, null, null, null }, |
| 22448 | .src_constraints = .{ | 26232 | .src_constraints = .{ |
| 22449 | .{ .scalar_unsigned_int = .{ .of = .xword, .is = .word } }, | 26233 | .{ .scalar_exact_unsigned_int = .{ .of = .xword, .is = 64 } }, |
| 22450 | .{ .scalar_unsigned_int = .{ .of = .xword, .is = .word } }, | 26234 | .{ .scalar_exact_unsigned_int = .{ .of = .xword, .is = 64 } }, |
| 22451 | .any, | 26235 | .any, |
| 22452 | }, | 26236 | }, |
| 22453 | .patterns = &.{ | 26237 | .patterns = &.{ |
| ... | @@ -22455,33 +26239,34 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -22455,33 +26239,34 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 22455 | .{ .src = .{ .mem, .to_mut_sse, .none }, .commute = .{ 0, 1 } }, | 26239 | .{ .src = .{ .mem, .to_mut_sse, .none }, .commute = .{ 0, 1 } }, |
| 22456 | .{ .src = .{ .to_mut_sse, .to_sse, .none } }, | 26240 | .{ .src = .{ .to_mut_sse, .to_sse, .none } }, |
| 22457 | }, | 26241 | }, |
| 22458 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, | 26242 | .extra_temps = .{ |
| 22459 | .each = .{ .once = &.{ | 26243 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 22460 | .{ ._, .p_w, .minu, .dst0x, .src1x, ._, ._ }, | 26244 | .{ .type = .u64, .kind = .{ .smin_mem = .{ .ref = .src0, .vectorize_to = .none } } }, |
| 22461 | } }, | 26245 | .{ .type = .vector_2_u64, .kind = .{ .reg = .xmm0 } }, |
| 22462 | }, .{ | 26246 | .{ .type = .vector_2_u64, .kind = .{ .rc = .sse } }, |
| 22463 | .required_features = .{ .sse2, null, null, null }, | 26247 | .unused, |
| 22464 | .src_constraints = .{ | 26248 | .unused, |
| 22465 | .{ .scalar_unsigned_int = .{ .of = .xword, .is = .word } }, | 26249 | .unused, |
| 22466 | .{ .scalar_unsigned_int = .{ .of = .xword, .is = .word } }, | 26250 | .unused, |
| 22467 | .any, | 26251 | .unused, |
| 22468 | }, | 26252 | .unused, |
| 22469 | .patterns = &.{ | 26253 | .unused, |
| 22470 | .{ .src = .{ .to_mut_sse, .mem, .none } }, | ||
| 22471 | .{ .src = .{ .mem, .to_mut_sse, .none }, .commute = .{ 0, 1 } }, | ||
| 22472 | .{ .src = .{ .to_mut_sse, .to_sse, .none } }, | ||
| 22473 | }, | 26254 | }, |
| 22474 | .dst_temps = .{ .{ .rc = .sse }, .unused }, | 26255 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| 22475 | .each = .{ .once = &.{ | 26256 | .each = .{ .once = &.{ |
| 22476 | .{ ._, ._dqa, .mov, .dst0x, .src0x, ._, ._ }, | 26257 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| 22477 | .{ ._, .p_w, .subus, .src0x, .src1x, ._, ._ }, | 26258 | .{ ._, ._, .movddup, .tmp2x, .lea(.tmp0q), ._, ._ }, |
| 22478 | .{ ._, .p_w, .sub, .dst0x, .src0x, ._, ._ }, | 26259 | .{ ._, ._dqa, .mov, .tmp3x, .tmp2x, ._, ._ }, |
| 26260 | .{ ._, .p_, .xor, .tmp2x, .src0x, ._, ._ }, | ||
| 26261 | .{ ._, .p_, .xor, .tmp3x, .src1x, ._, ._ }, | ||
| 26262 | .{ ._, .p_q, .cmpgt, .tmp2x, .tmp3x, ._, ._ }, | ||
| 26263 | .{ ._, .p_b, .blendv, .dst0x, .src1x, .tmp2x, ._ }, | ||
| 22479 | } }, | 26264 | } }, |
| 22480 | }, .{ | 26265 | }, .{ |
| 22481 | .required_features = .{ .avx2, null, null, null }, | 26266 | .required_features = .{ .avx2, null, null, null }, |
| 22482 | .src_constraints = .{ | 26267 | .src_constraints = .{ |
| 22483 | .{ .scalar_unsigned_int = .{ .of = .yword, .is = .word } }, | 26268 | .{ .scalar_exact_unsigned_int = .{ .of = .yword, .is = 64 } }, |
| 22484 | .{ .scalar_unsigned_int = .{ .of = .yword, .is = .word } }, | 26269 | .{ .scalar_exact_unsigned_int = .{ .of = .yword, .is = 64 } }, |
| 22485 | .any, | 26270 | .any, |
| 22486 | }, | 26271 | }, |
| 22487 | .patterns = &.{ | 26272 | .patterns = &.{ |
| ... | @@ -22489,24 +26274,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -22489,24 +26274,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 22489 | .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } }, | 26274 | .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } }, |
| 22490 | .{ .src = .{ .to_sse, .to_sse, .none } }, | 26275 | .{ .src = .{ .to_sse, .to_sse, .none } }, |
| 22491 | }, | 26276 | }, |
| 22492 | .dst_temps = .{ .{ .rc = .sse }, .unused }, | ||
| 22493 | .each = .{ .once = &.{ | ||
| 22494 | .{ ._, .vp_w, .minu, .dst0y, .src0y, .src1y, ._ }, | ||
| 22495 | } }, | ||
| 22496 | }, .{ | ||
| 22497 | .required_features = .{ .avx2, null, null, null }, | ||
| 22498 | .src_constraints = .{ | ||
| 22499 | .{ .multiple_scalar_unsigned_int = .{ .of = .yword, .is = .word } }, | ||
| 22500 | .{ .multiple_scalar_unsigned_int = .{ .of = .yword, .is = .word } }, | ||
| 22501 | .any, | ||
| 22502 | }, | ||
| 22503 | .patterns = &.{ | ||
| 22504 | .{ .src = .{ .to_mem, .to_mem, .none } }, | ||
| 22505 | }, | ||
| 22506 | .extra_temps = .{ | 26277 | .extra_temps = .{ |
| 22507 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 26278 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 22508 | .{ .type = .vector_16_u16, .kind = .{ .rc = .sse } }, | 26279 | .{ .type = .u64, .kind = .{ .smin_mem = .{ .ref = .src0, .vectorize_to = .none } } }, |
| 22509 | .unused, | 26280 | .{ .type = .vector_4_u64, .kind = .{ .rc = .sse } }, |
| 22510 | .unused, | 26281 | .unused, |
| 22511 | .unused, | 26282 | .unused, |
| 22512 | .unused, | 26283 | .unused, |
| ... | @@ -22516,21 +26287,20 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -22516,21 +26287,20 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 22516 | .unused, | 26287 | .unused, |
| 22517 | .unused, | 26288 | .unused, |
| 22518 | }, | 26289 | }, |
| 22519 | .dst_temps = .{ .mem, .unused }, | 26290 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| 22520 | .clobbers = .{ .eflags = true }, | ||
| 22521 | .each = .{ .once = &.{ | 26291 | .each = .{ .once = &.{ |
| 22522 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, | 26292 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| 22523 | .{ .@"0:", .v_dqa, .mov, .tmp1y, .memia(.src0y, .tmp0, .add_size), ._, ._ }, | 26293 | .{ ._, .vp_q, .broadcast, .tmp2y, .lea(.tmp0q), ._, ._ }, |
| 22524 | .{ ._, .vp_w, .minu, .tmp1y, .tmp1y, .memia(.src1y, .tmp0, .add_size), ._ }, | 26294 | .{ ._, .vp_, .xor, .dst0y, .tmp2y, .src0y, ._ }, |
| 22525 | .{ ._, .v_dqa, .mov, .memia(.dst0y, .tmp0, .add_size), .tmp1y, ._, ._ }, | 26295 | .{ ._, .vp_, .xor, .tmp2y, .tmp2y, .src1y, ._ }, |
| 22526 | .{ ._, ._, .add, .tmp0p, .si(32), ._, ._ }, | 26296 | .{ ._, .vp_q, .cmpgt, .dst0y, .dst0y, .tmp2y, ._ }, |
| 22527 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 26297 | .{ ._, .vp_b, .blendv, .dst0y, .src0y, .src1y, .dst0y }, |
| 22528 | } }, | 26298 | } }, |
| 22529 | }, .{ | 26299 | }, .{ |
| 22530 | .required_features = .{ .avx, null, null, null }, | 26300 | .required_features = .{ .avx2, null, null, null }, |
| 22531 | .src_constraints = .{ | 26301 | .src_constraints = .{ |
| 22532 | .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .word } }, | 26302 | .{ .multiple_scalar_exact_unsigned_int = .{ .of = .yword, .is = 64 } }, |
| 22533 | .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .word } }, | 26303 | .{ .multiple_scalar_exact_unsigned_int = .{ .of = .yword, .is = 64 } }, |
| 22534 | .any, | 26304 | .any, |
| 22535 | }, | 26305 | }, |
| 22536 | .patterns = &.{ | 26306 | .patterns = &.{ |
| ... | @@ -22538,12 +26308,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -22538,12 +26308,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 22538 | }, | 26308 | }, |
| 22539 | .extra_temps = .{ | 26309 | .extra_temps = .{ |
| 22540 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 26310 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 22541 | .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } }, | 26311 | .{ .type = .u64, .kind = .{ .smin_mem = .{ .ref = .src0, .vectorize_to = .none } } }, |
| 22542 | .unused, | 26312 | .{ .type = .vector_4_u64, .kind = .{ .rc = .sse } }, |
| 22543 | .unused, | 26313 | .{ .type = .vector_4_u64, .kind = .{ .rc = .sse } }, |
| 22544 | .unused, | 26314 | .{ .type = .vector_4_u64, .kind = .{ .rc = .sse } }, |
| 22545 | .unused, | 26315 | .{ .type = .vector_4_u64, .kind = .{ .rc = .sse } }, |
| 22546 | .unused, | 26316 | .{ .type = .vector_4_u64, .kind = .{ .rc = .sse } }, |
| 22547 | .unused, | 26317 | .unused, |
| 22548 | .unused, | 26318 | .unused, |
| 22549 | .unused, | 26319 | .unused, |
| ... | @@ -22552,18 +26322,24 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -22552,18 +26322,24 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 22552 | .dst_temps = .{ .mem, .unused }, | 26322 | .dst_temps = .{ .mem, .unused }, |
| 22553 | .clobbers = .{ .eflags = true }, | 26323 | .clobbers = .{ .eflags = true }, |
| 22554 | .each = .{ .once = &.{ | 26324 | .each = .{ .once = &.{ |
| 26325 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, | ||
| 26326 | .{ ._, .vp_q, .broadcast, .tmp2y, .lea(.tmp0q), ._, ._ }, | ||
| 22555 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, | 26327 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, |
| 22556 | .{ .@"0:", .v_dqa, .mov, .tmp1x, .memia(.src0x, .tmp0, .add_size), ._, ._ }, | 26328 | .{ .@"0:", .v_dqa, .mov, .tmp3y, .memia(.src0y, .tmp0, .add_size), ._, ._ }, |
| 22557 | .{ ._, .vp_w, .minu, .tmp1x, .tmp1x, .memia(.src1x, .tmp0, .add_size), ._ }, | 26329 | .{ ._, .v_dqa, .mov, .tmp4y, .memia(.src1y, .tmp0, .add_size), ._, ._ }, |
| 22558 | .{ ._, .v_dqa, .mov, .memia(.dst0x, .tmp0, .add_size), .tmp1x, ._, ._ }, | 26330 | .{ ._, .vp_, .xor, .tmp5y, .tmp3y, .tmp2y, ._ }, |
| 22559 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, | 26331 | .{ ._, .vp_, .xor, .tmp6y, .tmp4y, .tmp2y, ._ }, |
| 26332 | .{ ._, .vp_q, .cmpgt, .tmp5y, .tmp5y, .tmp6y, ._ }, | ||
| 26333 | .{ ._, .vp_b, .blendv, .tmp3y, .tmp3y, .tmp4y, .tmp5y }, | ||
| 26334 | .{ ._, .v_dqa, .mov, .memia(.dst0y, .tmp0, .add_size), .tmp3y, ._, ._ }, | ||
| 26335 | .{ ._, ._, .add, .tmp0p, .si(32), ._, ._ }, | ||
| 22560 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 26336 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 22561 | } }, | 26337 | } }, |
| 22562 | }, .{ | 26338 | }, .{ |
| 22563 | .required_features = .{ .sse4_1, null, null, null }, | 26339 | .required_features = .{ .avx, null, null, null }, |
| 22564 | .src_constraints = .{ | 26340 | .src_constraints = .{ |
| 22565 | .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .word } }, | 26341 | .{ .multiple_scalar_exact_unsigned_int = .{ .of = .xword, .is = 64 } }, |
| 22566 | .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .word } }, | 26342 | .{ .multiple_scalar_exact_unsigned_int = .{ .of = .xword, .is = 64 } }, |
| 22567 | .any, | 26343 | .any, |
| 22568 | }, | 26344 | }, |
| 22569 | .patterns = &.{ | 26345 | .patterns = &.{ |
| ... | @@ -22571,12 +26347,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -22571,12 +26347,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 22571 | }, | 26347 | }, |
| 22572 | .extra_temps = .{ | 26348 | .extra_temps = .{ |
| 22573 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 26349 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 22574 | .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } }, | 26350 | .{ .type = .u64, .kind = .{ .smin_mem = .{ .ref = .src0, .vectorize_to = .none } } }, |
| 22575 | .unused, | 26351 | .{ .type = .vector_2_u64, .kind = .{ .rc = .sse } }, |
| 22576 | .unused, | 26352 | .{ .type = .vector_2_u64, .kind = .{ .rc = .sse } }, |
| 22577 | .unused, | 26353 | .{ .type = .vector_2_u64, .kind = .{ .rc = .sse } }, |
| 22578 | .unused, | 26354 | .{ .type = .vector_2_u64, .kind = .{ .rc = .sse } }, |
| 22579 | .unused, | 26355 | .{ .type = .vector_2_u64, .kind = .{ .rc = .sse } }, |
| 22580 | .unused, | 26356 | .unused, |
| 22581 | .unused, | 26357 | .unused, |
| 22582 | .unused, | 26358 | .unused, |
| ... | @@ -22585,18 +26361,24 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -22585,18 +26361,24 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 22585 | .dst_temps = .{ .mem, .unused }, | 26361 | .dst_temps = .{ .mem, .unused }, |
| 22586 | .clobbers = .{ .eflags = true }, | 26362 | .clobbers = .{ .eflags = true }, |
| 22587 | .each = .{ .once = &.{ | 26363 | .each = .{ .once = &.{ |
| 26364 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, | ||
| 26365 | .{ ._, .v_, .movddup, .tmp2x, .lea(.tmp0q), ._, ._ }, | ||
| 22588 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, | 26366 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, |
| 22589 | .{ .@"0:", ._dqa, .mov, .tmp1x, .memia(.src0x, .tmp0, .add_size), ._, ._ }, | 26367 | .{ .@"0:", .v_dqa, .mov, .tmp3x, .memia(.src0x, .tmp0, .add_size), ._, ._ }, |
| 22590 | .{ ._, .p_w, .minu, .tmp1x, .memia(.src1x, .tmp0, .add_size), ._, ._ }, | 26368 | .{ ._, .v_dqa, .mov, .tmp4x, .memia(.src1x, .tmp0, .add_size), ._, ._ }, |
| 22591 | .{ ._, ._dqa, .mov, .memia(.dst0x, .tmp0, .add_size), .tmp1x, ._, ._ }, | 26369 | .{ ._, .vp_, .xor, .tmp5x, .tmp3x, .tmp2x, ._ }, |
| 26370 | .{ ._, .vp_, .xor, .tmp6x, .tmp4x, .tmp2x, ._ }, | ||
| 26371 | .{ ._, .vp_q, .cmpgt, .tmp5x, .tmp5x, .tmp6x, ._ }, | ||
| 26372 | .{ ._, .vp_b, .blendv, .tmp3x, .tmp3x, .tmp4x, .tmp5x }, | ||
| 26373 | .{ ._, .v_dqa, .mov, .memia(.dst0x, .tmp0, .add_size), .tmp3x, ._, ._ }, | ||
| 22592 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, | 26374 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, |
| 22593 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 26375 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 22594 | } }, | 26376 | } }, |
| 22595 | }, .{ | 26377 | }, .{ |
| 22596 | .required_features = .{ .sse2, null, null, null }, | 26378 | .required_features = .{ .sse4_2, null, null, null }, |
| 22597 | .src_constraints = .{ | 26379 | .src_constraints = .{ |
| 22598 | .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .word } }, | 26380 | .{ .multiple_scalar_exact_unsigned_int = .{ .of = .xword, .is = 64 } }, |
| 22599 | .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .word } }, | 26381 | .{ .multiple_scalar_exact_unsigned_int = .{ .of = .xword, .is = 64 } }, |
| 22600 | .any, | 26382 | .any, |
| 22601 | }, | 26383 | }, |
| 22602 | .patterns = &.{ | 26384 | .patterns = &.{ |
| ... | @@ -22604,12 +26386,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -22604,12 +26386,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 22604 | }, | 26386 | }, |
| 22605 | .extra_temps = .{ | 26387 | .extra_temps = .{ |
| 22606 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 26388 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 22607 | .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } }, | 26389 | .{ .type = .u64, .kind = .{ .smin_mem = .{ .ref = .src0, .vectorize_to = .none } } }, |
| 22608 | .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } }, | 26390 | .{ .type = .vector_2_u64, .kind = .{ .rc = .sse } }, |
| 22609 | .unused, | 26391 | .{ .type = .vector_2_u64, .kind = .{ .rc = .sse } }, |
| 22610 | .unused, | 26392 | .{ .type = .vector_2_u64, .kind = .{ .rc = .sse } }, |
| 22611 | .unused, | 26393 | .{ .type = .vector_2_u64, .kind = .{ .reg = .xmm0 } }, |
| 22612 | .unused, | 26394 | .{ .type = .vector_2_u64, .kind = .{ .rc = .sse } }, |
| 22613 | .unused, | 26395 | .unused, |
| 22614 | .unused, | 26396 | .unused, |
| 22615 | .unused, | 26397 | .unused, |
| ... | @@ -22618,20 +26400,26 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -22618,20 +26400,26 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 22618 | .dst_temps = .{ .mem, .unused }, | 26400 | .dst_temps = .{ .mem, .unused }, |
| 22619 | .clobbers = .{ .eflags = true }, | 26401 | .clobbers = .{ .eflags = true }, |
| 22620 | .each = .{ .once = &.{ | 26402 | .each = .{ .once = &.{ |
| 26403 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, | ||
| 26404 | .{ ._, ._, .movddup, .tmp2x, .lea(.tmp0q), ._, ._ }, | ||
| 22621 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, | 26405 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, |
| 22622 | .{ .@"0:", ._dqa, .mov, .tmp1x, .memia(.src0x, .tmp0, .add_size), ._, ._ }, | 26406 | .{ .@"0:", ._dqa, .mov, .tmp5x, .tmp2x, ._, ._ }, |
| 22623 | .{ ._, ._dqa, .mov, .tmp2x, .tmp1x, ._, ._ }, | 26407 | .{ ._, ._dqa, .mov, .tmp6x, .tmp2x, ._, ._ }, |
| 22624 | .{ ._, .p_w, .subus, .tmp1x, .memia(.src1x, .tmp0, .add_size), ._, ._ }, | 26408 | .{ ._, ._dqa, .mov, .tmp3x, .memia(.src0x, .tmp0, .add_size), ._, ._ }, |
| 22625 | .{ ._, .p_w, .sub, .tmp2x, .tmp1x, ._, ._ }, | 26409 | .{ ._, ._dqa, .mov, .tmp4x, .memia(.src1x, .tmp0, .add_size), ._, ._ }, |
| 22626 | .{ ._, ._dqa, .mov, .memia(.dst0x, .tmp0, .add_size), .tmp2x, ._, ._ }, | 26410 | .{ ._, .p_, .xor, .tmp5x, .tmp3x, ._, ._ }, |
| 26411 | .{ ._, .p_, .xor, .tmp6x, .tmp4x, ._, ._ }, | ||
| 26412 | .{ ._, .p_q, .cmpgt, .tmp5x, .tmp6x, ._, ._ }, | ||
| 26413 | .{ ._, .p_b, .blendv, .tmp3x, .tmp4x, .tmp5x, ._ }, | ||
| 26414 | .{ ._, ._dqa, .mov, .memia(.dst0x, .tmp0, .add_size), .tmp3x, ._, ._ }, | ||
| 22627 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, | 26415 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, |
| 22628 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 26416 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 22629 | } }, | 26417 | } }, |
| 22630 | }, .{ | 26418 | }, .{ |
| 22631 | .required_features = .{ .cmov, null, null, null }, | 26419 | .required_features = .{ .@"64bit", .cmov, null, null }, |
| 22632 | .src_constraints = .{ | 26420 | .src_constraints = .{ |
| 22633 | .{ .multiple_scalar_unsigned_int = .{ .of = .word, .is = .word } }, | 26421 | .{ .multiple_scalar_unsigned_int = .{ .of = .qword, .is = .qword } }, |
| 22634 | .{ .multiple_scalar_unsigned_int = .{ .of = .word, .is = .word } }, | 26422 | .{ .multiple_scalar_unsigned_int = .{ .of = .qword, .is = .qword } }, |
| 22635 | .any, | 26423 | .any, |
| 22636 | }, | 26424 | }, |
| 22637 | .patterns = &.{ | 26425 | .patterns = &.{ |
| ... | @@ -22639,7 +26427,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -22639,7 +26427,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 22639 | }, | 26427 | }, |
| 22640 | .extra_temps = .{ | 26428 | .extra_temps = .{ |
| 22641 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 26429 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 22642 | .{ .type = .u16, .kind = .{ .rc = .general_purpose } }, | 26430 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 22643 | .unused, | 26431 | .unused, |
| 22644 | .unused, | 26432 | .unused, |
| 22645 | .unused, | 26433 | .unused, |
| ... | @@ -22654,17 +26442,18 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -22654,17 +26442,18 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 22654 | .clobbers = .{ .eflags = true }, | 26442 | .clobbers = .{ .eflags = true }, |
| 22655 | .each = .{ .once = &.{ | 26443 | .each = .{ .once = &.{ |
| 22656 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, | 26444 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, |
| 22657 | .{ .@"0:", ._, .movzx, .tmp1d, .memia(.src0w, .tmp0, .add_size), ._, ._ }, | 26445 | .{ .@"0:", ._, .mov, .tmp1q, .memia(.src0q, .tmp0, .add_size), ._, ._ }, |
| 22658 | .{ ._, ._, .cmp, .tmp1w, .memia(.src1w, .tmp0, .add_size), ._, ._ }, | 26446 | .{ ._, ._, .cmp, .tmp1q, .memia(.src1q, .tmp0, .add_size), ._, ._ }, |
| 22659 | .{ ._, ._ae, .cmov, .tmp1w, .memia(.src1w, .tmp0, .add_size), ._, ._ }, | 26447 | .{ ._, ._ae, .cmov, .tmp1q, .memia(.src1q, .tmp0, .add_size), ._, ._ }, |
| 22660 | .{ ._, ._, .mov, .memia(.dst0w, .tmp0, .add_size), .tmp1w, ._, ._ }, | 26448 | .{ ._, ._, .mov, .memia(.dst0q, .tmp0, .add_size), .tmp1q, ._, ._ }, |
| 22661 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, | 26449 | .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ }, |
| 22662 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 26450 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 22663 | } }, | 26451 | } }, |
| 22664 | }, .{ | 26452 | }, .{ |
| 26453 | .required_features = .{ .@"64bit", null, null, null }, | ||
| 22665 | .src_constraints = .{ | 26454 | .src_constraints = .{ |
| 22666 | .{ .multiple_scalar_unsigned_int = .{ .of = .word, .is = .word } }, | 26455 | .{ .multiple_scalar_unsigned_int = .{ .of = .qword, .is = .qword } }, |
| 22667 | .{ .multiple_scalar_unsigned_int = .{ .of = .word, .is = .word } }, | 26456 | .{ .multiple_scalar_unsigned_int = .{ .of = .qword, .is = .qword } }, |
| 22668 | .any, | 26457 | .any, |
| 22669 | }, | 26458 | }, |
| 22670 | .patterns = &.{ | 26459 | .patterns = &.{ |
| ... | @@ -22672,7 +26461,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -22672,7 +26461,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 22672 | }, | 26461 | }, |
| 22673 | .extra_temps = .{ | 26462 | .extra_temps = .{ |
| 22674 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 26463 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 22675 | .{ .type = .u16, .kind = .{ .rc = .general_purpose } }, | 26464 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 22676 | .unused, | 26465 | .unused, |
| 22677 | .unused, | 26466 | .unused, |
| 22678 | .unused, | 26467 | .unused, |
| ... | @@ -22687,97 +26476,25 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -22687,97 +26476,25 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 22687 | .clobbers = .{ .eflags = true }, | 26476 | .clobbers = .{ .eflags = true }, |
| 22688 | .each = .{ .once = &.{ | 26477 | .each = .{ .once = &.{ |
| 22689 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, | 26478 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, |
| 22690 | .{ .@"0:", ._, .movzx, .tmp1d, .memia(.src0w, .tmp0, .add_size), ._, ._ }, | 26479 | .{ .@"0:", ._, .mov, .tmp1q, .memia(.src0q, .tmp0, .add_size), ._, ._ }, |
| 22691 | .{ ._, ._, .cmp, .tmp1w, .memia(.src1w, .tmp0, .add_size), ._, ._ }, | 26480 | .{ ._, ._, .cmp, .tmp1q, .memia(.src1q, .tmp0, .add_size), ._, ._ }, |
| 22692 | .{ ._, ._nae, .j, .@"1f", ._, ._, ._ }, | 26481 | .{ ._, ._nae, .j, .@"1f", ._, ._, ._ }, |
| 22693 | .{ ._, ._, .mov, .tmp1w, .memia(.src1w, .tmp0, .add_size), ._, ._ }, | 26482 | .{ ._, ._, .mov, .tmp1q, .memia(.src1q, .tmp0, .add_size), ._, ._ }, |
| 22694 | .{ .@"1:", ._, .mov, .memia(.dst0w, .tmp0, .add_size), .tmp1w, ._, ._ }, | 26483 | .{ .@"1:", ._, .mov, .memia(.dst0q, .tmp0, .add_size), .tmp1q, ._, ._ }, |
| 22695 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, | 26484 | .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ }, |
| 22696 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 26485 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 22697 | } }, | 26486 | } }, |
| 22698 | }, .{ | 26487 | }, .{ |
| 22699 | .required_features = .{ .avx, null, null, null }, | 26488 | .required_features = .{ .@"64bit", .cmov, null, null }, |
| 22700 | .src_constraints = .{ | 26489 | .src_constraints = .{ .any_scalar_signed_int, .any_scalar_signed_int, .any }, |
| 22701 | .{ .scalar_signed_int = .{ .of = .xword, .is = .dword } }, | ||
| 22702 | .{ .scalar_signed_int = .{ .of = .xword, .is = .dword } }, | ||
| 22703 | .any, | ||
| 22704 | }, | ||
| 22705 | .patterns = &.{ | ||
| 22706 | .{ .src = .{ .to_sse, .mem, .none } }, | ||
| 22707 | .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } }, | ||
| 22708 | .{ .src = .{ .to_sse, .to_sse, .none } }, | ||
| 22709 | }, | ||
| 22710 | .dst_temps = .{ .{ .rc = .sse }, .unused }, | ||
| 22711 | .each = .{ .once = &.{ | ||
| 22712 | .{ ._, .vp_d, .mins, .dst0x, .src0x, .src1x, ._ }, | ||
| 22713 | } }, | ||
| 22714 | }, .{ | ||
| 22715 | .required_features = .{ .sse4_1, null, null, null }, | ||
| 22716 | .src_constraints = .{ | ||
| 22717 | .{ .scalar_signed_int = .{ .of = .xword, .is = .dword } }, | ||
| 22718 | .{ .scalar_signed_int = .{ .of = .xword, .is = .dword } }, | ||
| 22719 | .any, | ||
| 22720 | }, | ||
| 22721 | .patterns = &.{ | ||
| 22722 | .{ .src = .{ .to_mut_sse, .mem, .none } }, | ||
| 22723 | .{ .src = .{ .mem, .to_mut_sse, .none }, .commute = .{ 0, 1 } }, | ||
| 22724 | .{ .src = .{ .to_mut_sse, .to_sse, .none } }, | ||
| 22725 | }, | ||
| 22726 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, | ||
| 22727 | .each = .{ .once = &.{ | ||
| 22728 | .{ ._, .p_d, .mins, .dst0x, .src1x, ._, ._ }, | ||
| 22729 | } }, | ||
| 22730 | }, .{ | ||
| 22731 | .required_features = .{ .sse2, null, null, null }, | ||
| 22732 | .src_constraints = .{ | ||
| 22733 | .{ .scalar_signed_or_exclusive_int = .{ .of = .xword, .is = .dword } }, | ||
| 22734 | .{ .scalar_signed_or_exclusive_int = .{ .of = .xword, .is = .dword } }, | ||
| 22735 | .any, | ||
| 22736 | }, | ||
| 22737 | .patterns = &.{ | ||
| 22738 | .{ .src = .{ .to_mut_sse, .mem, .none } }, | ||
| 22739 | .{ .src = .{ .mem, .to_mut_sse, .none }, .commute = .{ 0, 1 } }, | ||
| 22740 | .{ .src = .{ .to_mut_sse, .to_sse, .none } }, | ||
| 22741 | }, | ||
| 22742 | .dst_temps = .{ .{ .rc = .sse }, .unused }, | ||
| 22743 | .each = .{ .once = &.{ | ||
| 22744 | .{ ._, ._dqa, .mov, .dst0x, .src1x, ._, ._ }, | ||
| 22745 | .{ ._, .p_d, .cmpgt, .dst0x, .src0x, ._, ._ }, | ||
| 22746 | .{ ._, .p_, .@"and", .src0x, .dst0x, ._, ._ }, | ||
| 22747 | .{ ._, .p_, .andn, .dst0x, .src1x, ._, ._ }, | ||
| 22748 | .{ ._, .p_, .@"or", .dst0x, .src0x, ._, ._ }, | ||
| 22749 | } }, | ||
| 22750 | }, .{ | ||
| 22751 | .required_features = .{ .avx2, null, null, null }, | ||
| 22752 | .src_constraints = .{ | ||
| 22753 | .{ .scalar_signed_int = .{ .of = .yword, .is = .dword } }, | ||
| 22754 | .{ .scalar_signed_int = .{ .of = .yword, .is = .dword } }, | ||
| 22755 | .any, | ||
| 22756 | }, | ||
| 22757 | .patterns = &.{ | ||
| 22758 | .{ .src = .{ .to_sse, .mem, .none } }, | ||
| 22759 | .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } }, | ||
| 22760 | .{ .src = .{ .to_sse, .to_sse, .none } }, | ||
| 22761 | }, | ||
| 22762 | .dst_temps = .{ .{ .rc = .sse }, .unused }, | ||
| 22763 | .each = .{ .once = &.{ | ||
| 22764 | .{ ._, .vp_d, .mins, .dst0y, .src0y, .src1y, ._ }, | ||
| 22765 | } }, | ||
| 22766 | }, .{ | ||
| 22767 | .required_features = .{ .avx2, null, null, null }, | ||
| 22768 | .src_constraints = .{ | ||
| 22769 | .{ .multiple_scalar_signed_int = .{ .of = .yword, .is = .dword } }, | ||
| 22770 | .{ .multiple_scalar_signed_int = .{ .of = .yword, .is = .dword } }, | ||
| 22771 | .any, | ||
| 22772 | }, | ||
| 22773 | .patterns = &.{ | 26490 | .patterns = &.{ |
| 22774 | .{ .src = .{ .to_mem, .to_mem, .none } }, | 26491 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 22775 | }, | 26492 | }, |
| 22776 | .extra_temps = .{ | 26493 | .extra_temps = .{ |
| 22777 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 26494 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 22778 | .{ .type = .vector_8_i32, .kind = .{ .rc = .sse } }, | 26495 | .{ .type = .isize, .kind = .{ .reg = .rsi } }, |
| 22779 | .unused, | 26496 | .{ .type = .u64, .kind = .{ .reg = .rdi } }, |
| 22780 | .unused, | 26497 | .{ .type = .u64, .kind = .{ .reg = .rcx } }, |
| 22781 | .unused, | 26498 | .unused, |
| 22782 | .unused, | 26499 | .unused, |
| 22783 | .unused, | 26500 | .unused, |
| ... | @@ -22789,28 +26506,36 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -22789,28 +26506,36 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 22789 | .dst_temps = .{ .mem, .unused }, | 26506 | .dst_temps = .{ .mem, .unused }, |
| 22790 | .clobbers = .{ .eflags = true }, | 26507 | .clobbers = .{ .eflags = true }, |
| 22791 | .each = .{ .once = &.{ | 26508 | .each = .{ .once = &.{ |
| 22792 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, | 26509 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, |
| 22793 | .{ .@"0:", .v_dqa, .mov, .tmp1y, .memia(.src0y, .tmp0, .add_size), ._, ._ }, | 26510 | .{ .@"0:", ._, .mov, .tmp1d, .sia(-1, .none, .add_src0_elem_size_div_8), ._, ._ }, |
| 22794 | .{ ._, .vp_d, .mins, .tmp1y, .tmp1y, .memia(.src1y, .tmp0, .add_size), ._ }, | 26511 | .{ ._, ._c, .cl, ._, ._, ._, ._ }, |
| 22795 | .{ ._, .v_dqa, .mov, .memia(.dst0y, .tmp0, .add_size), .tmp1y, ._, ._ }, | 26512 | .{ .@"1:", ._, .mov, .tmp2q, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._ }, |
| 22796 | .{ ._, ._, .add, .tmp0p, .si(32), ._, ._ }, | 26513 | .{ ._, ._, .sbb, .tmp2q, .memia(.src1q, .tmp0, .add_unaligned_size), ._, ._ }, |
| 26514 | .{ ._, ._, .lea, .tmp0p, .lead(.tmp0, 8), ._, ._ }, | ||
| 26515 | .{ ._, ._c, .de, .tmp1d, ._, ._, ._ }, | ||
| 26516 | .{ ._, ._nz, .j, .@"1b", ._, ._, ._ }, | ||
| 26517 | .{ ._, ._, .mov, .tmp2q, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._ }, | ||
| 26518 | .{ ._, ._, .sbb, .tmp2q, .memia(.src1q, .tmp0, .add_unaligned_size), ._, ._ }, | ||
| 26519 | .{ ._, ._, .lea, .tmp1p, .memiad(.src0, .tmp0, .add_unaligned_size_sub_elem_size, 8), ._, ._ }, | ||
| 26520 | .{ ._, ._, .lea, .tmp2p, .memiad(.src1, .tmp0, .add_unaligned_size_sub_elem_size, 8), ._, ._ }, | ||
| 26521 | .{ ._, ._ge, .cmov, .tmp1p, .tmp2p, ._, ._ }, | ||
| 26522 | .{ ._, ._, .lea, .tmp2p, .memiad(.dst0, .tmp0, .add_unaligned_size_sub_elem_size, 8), ._, ._ }, | ||
| 26523 | .{ ._, ._, .mov, .tmp3d, .sa(.none, .add_src0_elem_size_div_8), ._, ._ }, | ||
| 26524 | .{ ._, .@"rep _sq", .mov, ._, ._, ._, ._ }, | ||
| 26525 | .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ }, | ||
| 22797 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 26526 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 22798 | } }, | 26527 | } }, |
| 22799 | }, .{ | 26528 | }, .{ |
| 22800 | .required_features = .{ .avx, null, null, null }, | 26529 | .required_features = .{ .@"64bit", null, null, null }, |
| 22801 | .src_constraints = .{ | 26530 | .src_constraints = .{ .any_scalar_signed_int, .any_scalar_signed_int, .any }, |
| 22802 | .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .dword } }, | ||
| 22803 | .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .dword } }, | ||
| 22804 | .any, | ||
| 22805 | }, | ||
| 22806 | .patterns = &.{ | 26531 | .patterns = &.{ |
| 22807 | .{ .src = .{ .to_mem, .to_mem, .none } }, | 26532 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 22808 | }, | 26533 | }, |
| 22809 | .extra_temps = .{ | 26534 | .extra_temps = .{ |
| 22810 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 26535 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 22811 | .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } }, | 26536 | .{ .type = .isize, .kind = .{ .reg = .rsi } }, |
| 22812 | .unused, | 26537 | .{ .type = .u64, .kind = .{ .reg = .rdi } }, |
| 22813 | .unused, | 26538 | .{ .type = .u64, .kind = .{ .reg = .rcx } }, |
| 22814 | .unused, | 26539 | .unused, |
| 22815 | .unused, | 26540 | .unused, |
| 22816 | .unused, | 26541 | .unused, |
| ... | @@ -22822,28 +26547,36 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -22822,28 +26547,36 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 22822 | .dst_temps = .{ .mem, .unused }, | 26547 | .dst_temps = .{ .mem, .unused }, |
| 22823 | .clobbers = .{ .eflags = true }, | 26548 | .clobbers = .{ .eflags = true }, |
| 22824 | .each = .{ .once = &.{ | 26549 | .each = .{ .once = &.{ |
| 22825 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, | 26550 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, |
| 22826 | .{ .@"0:", .v_dqa, .mov, .tmp1x, .memia(.src0x, .tmp0, .add_size), ._, ._ }, | 26551 | .{ .@"0:", ._, .mov, .tmp1d, .sia(-1, .none, .add_src0_elem_size_div_8), ._, ._ }, |
| 22827 | .{ ._, .vp_d, .mins, .tmp1x, .tmp1x, .memia(.src1x, .tmp0, .add_size), ._ }, | 26552 | .{ ._, ._c, .cl, ._, ._, ._, ._ }, |
| 22828 | .{ ._, .v_dqa, .mov, .memia(.dst0x, .tmp0, .add_size), .tmp1x, ._, ._ }, | 26553 | .{ .@"1:", ._, .mov, .tmp2q, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._ }, |
| 22829 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, | 26554 | .{ ._, ._, .sbb, .tmp2q, .memia(.src1q, .tmp0, .add_unaligned_size), ._, ._ }, |
| 26555 | .{ ._, ._, .lea, .tmp0p, .lead(.tmp0, 8), ._, ._ }, | ||
| 26556 | .{ ._, ._c, .de, .tmp1d, ._, ._, ._ }, | ||
| 26557 | .{ ._, ._nz, .j, .@"1b", ._, ._, ._ }, | ||
| 26558 | .{ ._, ._, .mov, .tmp2q, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._ }, | ||
| 26559 | .{ ._, ._, .sbb, .tmp2q, .memia(.src1q, .tmp0, .add_unaligned_size), ._, ._ }, | ||
| 26560 | .{ ._, ._, .lea, .tmp1p, .memiad(.src0, .tmp0, .add_unaligned_size_sub_elem_size, 8), ._, ._ }, | ||
| 26561 | .{ ._, ._nge, .j, .@"1f", ._, ._, ._ }, | ||
| 26562 | .{ ._, ._, .lea, .tmp1p, .memiad(.src1, .tmp0, .add_unaligned_size_sub_elem_size, 8), ._, ._ }, | ||
| 26563 | .{ .@"1:", ._, .lea, .tmp2p, .memiad(.dst0, .tmp0, .add_unaligned_size_sub_elem_size, 8), ._, ._ }, | ||
| 26564 | .{ ._, ._, .mov, .tmp3d, .sa(.none, .add_src0_elem_size_div_8), ._, ._ }, | ||
| 26565 | .{ ._, .@"rep _sq", .mov, ._, ._, ._, ._ }, | ||
| 26566 | .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ }, | ||
| 22830 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 26567 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 22831 | } }, | 26568 | } }, |
| 22832 | }, .{ | 26569 | }, .{ |
| 22833 | .required_features = .{ .sse4_1, null, null, null }, | 26570 | .required_features = .{ .@"64bit", .cmov, null, null }, |
| 22834 | .src_constraints = .{ | 26571 | .src_constraints = .{ .any_scalar_unsigned_int, .any_scalar_unsigned_int, .any }, |
| 22835 | .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .dword } }, | ||
| 22836 | .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .dword } }, | ||
| 22837 | .any, | ||
| 22838 | }, | ||
| 22839 | .patterns = &.{ | 26572 | .patterns = &.{ |
| 22840 | .{ .src = .{ .to_mem, .to_mem, .none } }, | 26573 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 22841 | }, | 26574 | }, |
| 22842 | .extra_temps = .{ | 26575 | .extra_temps = .{ |
| 22843 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 26576 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 22844 | .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } }, | 26577 | .{ .type = .isize, .kind = .{ .reg = .rsi } }, |
| 22845 | .unused, | 26578 | .{ .type = .u64, .kind = .{ .reg = .rdi } }, |
| 22846 | .unused, | 26579 | .{ .type = .u64, .kind = .{ .reg = .rcx } }, |
| 22847 | .unused, | 26580 | .unused, |
| 22848 | .unused, | 26581 | .unused, |
| 22849 | .unused, | 26582 | .unused, |
| ... | @@ -22855,28 +26588,34 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -22855,28 +26588,34 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 22855 | .dst_temps = .{ .mem, .unused }, | 26588 | .dst_temps = .{ .mem, .unused }, |
| 22856 | .clobbers = .{ .eflags = true }, | 26589 | .clobbers = .{ .eflags = true }, |
| 22857 | .each = .{ .once = &.{ | 26590 | .each = .{ .once = &.{ |
| 22858 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, | 26591 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, |
| 22859 | .{ .@"0:", ._dqa, .mov, .tmp1x, .memia(.src0x, .tmp0, .add_size), ._, ._ }, | 26592 | .{ .@"0:", ._, .mov, .tmp1d, .sa(.none, .add_src0_elem_size_div_8), ._, ._ }, |
| 22860 | .{ ._, .p_d, .mins, .tmp1x, .memia(.src1x, .tmp0, .add_size), ._, ._ }, | 26593 | .{ ._, ._c, .cl, ._, ._, ._, ._ }, |
| 22861 | .{ ._, ._dqa, .mov, .memia(.dst0x, .tmp0, .add_size), .tmp1x, ._, ._ }, | 26594 | .{ .@"1:", ._, .mov, .tmp2q, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._ }, |
| 22862 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, | 26595 | .{ ._, ._, .sbb, .tmp2q, .memia(.src1q, .tmp0, .add_unaligned_size), ._, ._ }, |
| 22863 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 26596 | .{ ._, ._, .lea, .tmp0p, .lead(.tmp0, 8), ._, ._ }, |
| 26597 | .{ ._, ._c, .de, .tmp1d, ._, ._, ._ }, | ||
| 26598 | .{ ._, ._nz, .j, .@"1b", ._, ._, ._ }, | ||
| 26599 | .{ ._, ._, .lea, .tmp1p, .memia(.src0, .tmp0, .add_unaligned_size_sub_elem_size), ._, ._ }, | ||
| 26600 | .{ ._, ._, .lea, .tmp2p, .memia(.src1, .tmp0, .add_unaligned_size_sub_elem_size), ._, ._ }, | ||
| 26601 | .{ ._, ._ae, .cmov, .tmp1p, .tmp2p, ._, ._ }, | ||
| 26602 | .{ ._, ._, .lea, .tmp2p, .memia(.dst0, .tmp0, .add_unaligned_size_sub_elem_size), ._, ._ }, | ||
| 26603 | .{ ._, ._, .mov, .tmp3d, .sa(.none, .add_src0_elem_size_div_8), ._, ._ }, | ||
| 26604 | .{ ._, .@"rep _sq", .mov, ._, ._, ._, ._ }, | ||
| 26605 | .{ ._, ._, .@"test", .tmp0p, .tmp0p, ._, ._ }, | ||
| 26606 | .{ ._, ._nz, .j, .@"0b", ._, ._, ._ }, | ||
| 22864 | } }, | 26607 | } }, |
| 22865 | }, .{ | 26608 | }, .{ |
| 22866 | .required_features = .{ .sse2, null, null, null }, | 26609 | .required_features = .{ .@"64bit", null, null, null }, |
| 22867 | .src_constraints = .{ | 26610 | .src_constraints = .{ .any_scalar_unsigned_int, .any_scalar_unsigned_int, .any }, |
| 22868 | .{ .multiple_scalar_signed_or_exclusive_int = .{ .of = .xword, .is = .dword } }, | ||
| 22869 | .{ .multiple_scalar_signed_or_exclusive_int = .{ .of = .xword, .is = .dword } }, | ||
| 22870 | .any, | ||
| 22871 | }, | ||
| 22872 | .patterns = &.{ | 26611 | .patterns = &.{ |
| 22873 | .{ .src = .{ .to_mem, .to_mem, .none } }, | 26612 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 22874 | }, | 26613 | }, |
| 22875 | .extra_temps = .{ | 26614 | .extra_temps = .{ |
| 22876 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 26615 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 22877 | .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } }, | 26616 | .{ .type = .isize, .kind = .{ .reg = .rsi } }, |
| 22878 | .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } }, | 26617 | .{ .type = .u64, .kind = .{ .reg = .rdi } }, |
| 22879 | .unused, | 26618 | .{ .type = .u64, .kind = .{ .reg = .rcx } }, |
| 22880 | .unused, | 26619 | .unused, |
| 22881 | .unused, | 26620 | .unused, |
| 22882 | .unused, | 26621 | .unused, |
| ... | @@ -22888,30 +26627,36 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -22888,30 +26627,36 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 22888 | .dst_temps = .{ .mem, .unused }, | 26627 | .dst_temps = .{ .mem, .unused }, |
| 22889 | .clobbers = .{ .eflags = true }, | 26628 | .clobbers = .{ .eflags = true }, |
| 22890 | .each = .{ .once = &.{ | 26629 | .each = .{ .once = &.{ |
| 22891 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, | 26630 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, |
| 22892 | .{ .@"0:", ._dqa, .mov, .tmp1x, .memia(.src0x, .tmp0, .add_size), ._, ._ }, | 26631 | .{ .@"0:", ._, .mov, .tmp1d, .sa(.none, .add_src0_elem_size_div_8), ._, ._ }, |
| 22893 | .{ ._, ._dqa, .mov, .tmp2x, .memia(.src1x, .tmp0, .add_size), ._, ._ }, | 26632 | .{ ._, ._c, .cl, ._, ._, ._, ._ }, |
| 22894 | .{ ._, .p_d, .cmpgt, .tmp1x, .tmp2x, ._, ._ }, | 26633 | .{ .@"1:", ._, .mov, .tmp2q, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._ }, |
| 22895 | .{ ._, .p_, .@"and", .tmp2x, .tmp1x, ._, ._ }, | 26634 | .{ ._, ._, .sbb, .tmp2q, .memia(.src1q, .tmp0, .add_unaligned_size), ._, ._ }, |
| 22896 | .{ ._, .p_, .andn, .tmp1x, .memia(.src0x, .tmp0, .add_size), ._, ._ }, | 26635 | .{ ._, ._, .lea, .tmp0p, .lead(.tmp0, 8), ._, ._ }, |
| 22897 | .{ ._, .p_, .@"or", .tmp1x, .tmp2x, ._, ._ }, | 26636 | .{ ._, ._c, .de, .tmp1d, ._, ._, ._ }, |
| 22898 | .{ ._, ._dqa, .mov, .memia(.dst0x, .tmp0, .add_size), .tmp1x, ._, ._ }, | 26637 | .{ ._, ._nz, .j, .@"1b", ._, ._, ._ }, |
| 22899 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, | 26638 | .{ ._, ._, .lea, .tmp1p, .memia(.src0, .tmp0, .add_unaligned_size_sub_elem_size), ._, ._ }, |
| 22900 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 26639 | .{ ._, ._nae, .j, .@"1f", ._, ._, ._ }, |
| 26640 | .{ ._, ._, .lea, .tmp1p, .memia(.src1, .tmp0, .add_unaligned_size_sub_elem_size), ._, ._ }, | ||
| 26641 | .{ .@"1:", ._, .lea, .tmp2p, .memia(.dst0, .tmp0, .add_unaligned_size_sub_elem_size), ._, ._ }, | ||
| 26642 | .{ ._, ._, .mov, .tmp3d, .sa(.none, .add_src0_elem_size_div_8), ._, ._ }, | ||
| 26643 | .{ ._, .@"rep _sq", .mov, ._, ._, ._, ._ }, | ||
| 26644 | .{ ._, ._, .@"test", .tmp0p, .tmp0p, ._, ._ }, | ||
| 26645 | .{ ._, ._nz, .j, .@"0b", ._, ._, ._ }, | ||
| 22901 | } }, | 26646 | } }, |
| 22902 | }, .{ | 26647 | }, .{ |
| 22903 | .required_features = .{ .cmov, null, null, null }, | 26648 | .required_features = .{ .f16c, null, null, null }, |
| 22904 | .src_constraints = .{ | 26649 | .src_constraints = .{ |
| 22905 | .{ .multiple_scalar_signed_int = .{ .of = .dword, .is = .dword } }, | 26650 | .{ .scalar_float = .{ .of = .word, .is = .word } }, |
| 22906 | .{ .multiple_scalar_signed_int = .{ .of = .dword, .is = .dword } }, | 26651 | .{ .scalar_float = .{ .of = .word, .is = .word } }, |
| 22907 | .any, | 26652 | .any, |
| 22908 | }, | 26653 | }, |
| 22909 | .patterns = &.{ | 26654 | .patterns = &.{ |
| 22910 | .{ .src = .{ .to_mem, .to_mem, .none } }, | 26655 | .{ .src = .{ .to_sse, .to_sse, .none } }, |
| 22911 | }, | 26656 | }, |
| 22912 | .extra_temps = .{ | 26657 | .extra_temps = .{ |
| 22913 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 26658 | .{ .type = .f16, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .sse } } }, |
| 22914 | .{ .type = .i32, .kind = .{ .rc = .general_purpose } }, | 26659 | .{ .type = .f16, .kind = .{ .rc = .sse } }, |
| 22915 | .unused, | 26660 | .unused, |
| 22916 | .unused, | 26661 | .unused, |
| 22917 | .unused, | 26662 | .unused, |
| ... | @@ -22922,29 +26667,29 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -22922,29 +26667,29 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 22922 | .unused, | 26667 | .unused, |
| 22923 | .unused, | 26668 | .unused, |
| 22924 | }, | 26669 | }, |
| 22925 | .dst_temps = .{ .mem, .unused }, | 26670 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| 22926 | .clobbers = .{ .eflags = true }, | ||
| 22927 | .each = .{ .once = &.{ | 26671 | .each = .{ .once = &.{ |
| 22928 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, | 26672 | .{ ._, .v_ps, .cvtph2, .dst0x, .src0q, ._, ._ }, |
| 22929 | .{ .@"0:", ._, .mov, .tmp1d, .memia(.src0d, .tmp0, .add_size), ._, ._ }, | 26673 | .{ ._, .v_ps, .cvtph2, .tmp0x, .src1q, ._, ._ }, |
| 22930 | .{ ._, ._, .cmp, .tmp1d, .memia(.src1d, .tmp0, .add_size), ._, ._ }, | 26674 | .{ ._, .v_ss, .cmp, .tmp1x, .dst0x, .dst0d, .vp(.unord) }, |
| 22931 | .{ ._, ._ge, .cmov, .tmp1d, .memia(.src1d, .tmp0, .add_size), ._, ._ }, | 26675 | .{ ._, .v_ss, .min, .dst0x, .tmp0x, .dst0d, ._ }, |
| 22932 | .{ ._, ._, .mov, .memia(.dst0d, .tmp0, .add_size), .tmp1d, ._, ._ }, | 26676 | .{ ._, .v_ps, .blendv, .dst0x, .dst0x, .tmp0x, .tmp1x }, |
| 22933 | .{ ._, ._, .add, .tmp0p, .si(4), ._, ._ }, | 26677 | .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ }, |
| 22934 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | ||
| 22935 | } }, | 26678 | } }, |
| 22936 | }, .{ | 26679 | }, .{ |
| 26680 | .required_features = .{ .sse, null, null, null }, | ||
| 22937 | .src_constraints = .{ | 26681 | .src_constraints = .{ |
| 22938 | .{ .multiple_scalar_signed_int = .{ .of = .dword, .is = .dword } }, | 26682 | .{ .scalar_float = .{ .of = .word, .is = .word } }, |
| 22939 | .{ .multiple_scalar_signed_int = .{ .of = .dword, .is = .dword } }, | 26683 | .{ .scalar_float = .{ .of = .word, .is = .word } }, |
| 22940 | .any, | 26684 | .any, |
| 22941 | }, | 26685 | }, |
| 22942 | .patterns = &.{ | 26686 | .patterns = &.{ |
| 22943 | .{ .src = .{ .to_mem, .to_mem, .none } }, | 26687 | .{ .src = .{ .{ .to_reg = .xmm0 }, .{ .to_reg = .xmm1 }, .none } }, |
| 22944 | }, | 26688 | }, |
| 26689 | .call_frame = .{ .alignment = .@"16" }, | ||
| 22945 | .extra_temps = .{ | 26690 | .extra_temps = .{ |
| 22946 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 26691 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__fminh" } } }, |
| 22947 | .{ .type = .i32, .kind = .{ .rc = .general_purpose } }, | 26692 | .unused, |
| 22948 | .unused, | 26693 | .unused, |
| 22949 | .unused, | 26694 | .unused, |
| 22950 | .unused, | 26695 | .unused, |
| ... | @@ -22955,66 +26700,63 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -22955,66 +26700,63 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 22955 | .unused, | 26700 | .unused, |
| 22956 | .unused, | 26701 | .unused, |
| 22957 | }, | 26702 | }, |
| 22958 | .dst_temps = .{ .mem, .unused }, | 26703 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| 22959 | .clobbers = .{ .eflags = true }, | 26704 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 22960 | .each = .{ .once = &.{ | 26705 | .each = .{ .once = &.{ |
| 22961 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, | 26706 | .{ ._, ._, .call, .tmp0d, ._, ._, ._ }, |
| 22962 | .{ .@"0:", ._, .mov, .tmp1d, .memia(.src0d, .tmp0, .add_size), ._, ._ }, | ||
| 22963 | .{ ._, ._, .cmp, .tmp1d, .memia(.src1d, .tmp0, .add_size), ._, ._ }, | ||
| 22964 | .{ ._, ._nge, .j, .@"1f", ._, ._, ._ }, | ||
| 22965 | .{ ._, ._, .mov, .tmp1d, .memia(.src1d, .tmp0, .add_size), ._, ._ }, | ||
| 22966 | .{ .@"1:", ._, .mov, .memia(.dst0d, .tmp0, .add_size), .tmp1d, ._, ._ }, | ||
| 22967 | .{ ._, ._, .add, .tmp0p, .si(4), ._, ._ }, | ||
| 22968 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | ||
| 22969 | } }, | 26707 | } }, |
| 22970 | }, .{ | 26708 | }, .{ |
| 22971 | .required_features = .{ .avx, null, null, null }, | 26709 | .required_features = .{ .f16c, null, null, null }, |
| 22972 | .src_constraints = .{ | 26710 | .src_constraints = .{ |
| 22973 | .{ .scalar_unsigned_int = .{ .of = .xword, .is = .dword } }, | 26711 | .{ .scalar_float = .{ .of = .qword, .is = .word } }, |
| 22974 | .{ .scalar_unsigned_int = .{ .of = .xword, .is = .dword } }, | 26712 | .{ .scalar_float = .{ .of = .qword, .is = .word } }, |
| 22975 | .any, | 26713 | .any, |
| 22976 | }, | 26714 | }, |
| 22977 | .patterns = &.{ | 26715 | .patterns = &.{ |
| 26716 | .{ .src = .{ .mem, .mem, .none } }, | ||
| 22978 | .{ .src = .{ .to_sse, .mem, .none } }, | 26717 | .{ .src = .{ .to_sse, .mem, .none } }, |
| 22979 | .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } }, | 26718 | .{ .src = .{ .mem, .to_sse, .none } }, |
| 22980 | .{ .src = .{ .to_sse, .to_sse, .none } }, | 26719 | .{ .src = .{ .to_sse, .to_sse, .none } }, |
| 22981 | }, | 26720 | }, |
| 22982 | .dst_temps = .{ .{ .rc = .sse }, .unused }, | 26721 | .extra_temps = .{ |
| 22983 | .each = .{ .once = &.{ | 26722 | .{ .type = .vector_4_f32, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .sse } } }, |
| 22984 | .{ ._, .vp_d, .minu, .dst0x, .src0x, .src1x, ._ }, | 26723 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| 22985 | } }, | 26724 | .unused, |
| 22986 | }, .{ | 26725 | .unused, |
| 22987 | .required_features = .{ .sse4_1, null, null, null }, | 26726 | .unused, |
| 22988 | .src_constraints = .{ | 26727 | .unused, |
| 22989 | .{ .scalar_unsigned_int = .{ .of = .xword, .is = .dword } }, | 26728 | .unused, |
| 22990 | .{ .scalar_unsigned_int = .{ .of = .xword, .is = .dword } }, | 26729 | .unused, |
| 22991 | .any, | 26730 | .unused, |
| 22992 | }, | 26731 | .unused, |
| 22993 | .patterns = &.{ | 26732 | .unused, |
| 22994 | .{ .src = .{ .to_mut_sse, .mem, .none } }, | ||
| 22995 | .{ .src = .{ .mem, .to_mut_sse, .none }, .commute = .{ 0, 1 } }, | ||
| 22996 | .{ .src = .{ .to_mut_sse, .to_sse, .none } }, | ||
| 22997 | }, | 26733 | }, |
| 22998 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, | 26734 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| 22999 | .each = .{ .once = &.{ | 26735 | .each = .{ .once = &.{ |
| 23000 | .{ ._, .p_d, .minu, .dst0x, .src1x, ._, ._ }, | 26736 | .{ ._, .v_ps, .cvtph2, .dst0x, .src0q, ._, ._ }, |
| 26737 | .{ ._, .v_ps, .cvtph2, .tmp0x, .src1q, ._, ._ }, | ||
| 26738 | .{ ._, .v_ps, .cmp, .tmp1x, .dst0x, .dst0x, .vp(.unord) }, | ||
| 26739 | .{ ._, .v_ps, .min, .dst0x, .tmp0x, .dst0x, ._ }, | ||
| 26740 | .{ ._, .v_ps, .blendv, .dst0x, .dst0x, .tmp0x, .tmp1x }, | ||
| 26741 | .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ }, | ||
| 23001 | } }, | 26742 | } }, |
| 23002 | }, .{ | 26743 | }, .{ |
| 23003 | .required_features = .{ .sse2, null, null, null }, | 26744 | .required_features = .{ .f16c, null, null, null }, |
| 23004 | .src_constraints = .{ | 26745 | .src_constraints = .{ |
| 23005 | .{ .scalar_exact_unsigned_int = .{ .of = .xword, .is = 32 } }, | 26746 | .{ .scalar_float = .{ .of = .xword, .is = .word } }, |
| 23006 | .{ .scalar_exact_unsigned_int = .{ .of = .xword, .is = 32 } }, | 26747 | .{ .scalar_float = .{ .of = .xword, .is = .word } }, |
| 23007 | .any, | 26748 | .any, |
| 23008 | }, | 26749 | }, |
| 23009 | .patterns = &.{ | 26750 | .patterns = &.{ |
| 23010 | .{ .src = .{ .to_mut_sse, .mem, .none } }, | 26751 | .{ .src = .{ .mem, .mem, .none } }, |
| 23011 | .{ .src = .{ .mem, .to_mut_sse, .none }, .commute = .{ 0, 1 } }, | 26752 | .{ .src = .{ .to_sse, .mem, .none } }, |
| 23012 | .{ .src = .{ .to_mut_sse, .to_sse, .none } }, | 26753 | .{ .src = .{ .mem, .to_sse, .none } }, |
| 26754 | .{ .src = .{ .to_sse, .to_sse, .none } }, | ||
| 23013 | }, | 26755 | }, |
| 23014 | .extra_temps = .{ | 26756 | .extra_temps = .{ |
| 23015 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, | 26757 | .{ .type = .vector_8_f32, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .sse } } }, |
| 23016 | .{ .type = .vector_4_u32, .kind = .{ .smin_mem = .{ .ref = .src0, .vectorize_to = .xword } } }, | 26758 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, |
| 23017 | .{ .type = .vector_4_u32, .kind = .{ .rc = .sse } }, | 26759 | .unused, |
| 23018 | .unused, | 26760 | .unused, |
| 23019 | .unused, | 26761 | .unused, |
| 23020 | .unused, | 26762 | .unused, |
| ... | @@ -23024,39 +26766,20 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -23024,39 +26766,20 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 23024 | .unused, | 26766 | .unused, |
| 23025 | .unused, | 26767 | .unused, |
| 23026 | }, | 26768 | }, |
| 23027 | .dst_temps = .{ .{ .rc = .sse }, .unused }, | 26769 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| 23028 | .each = .{ .once = &.{ | ||
| 23029 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, | ||
| 23030 | .{ ._, ._dqa, .mov, .dst0x, .lea(.tmp0x), ._, ._ }, | ||
| 23031 | .{ ._, ._dqa, .mov, .tmp2x, .dst0x, ._, ._ }, | ||
| 23032 | .{ ._, .p_, .xor, .dst0x, .src1x, ._, ._ }, | ||
| 23033 | .{ ._, .p_, .xor, .tmp2x, .src0x, ._, ._ }, | ||
| 23034 | .{ ._, .p_d, .cmpgt, .dst0x, .tmp2x, ._, ._ }, | ||
| 23035 | .{ ._, .p_, .@"and", .src0x, .dst0x, ._, ._ }, | ||
| 23036 | .{ ._, .p_, .andn, .dst0x, .src1x, ._, ._ }, | ||
| 23037 | .{ ._, .p_, .@"or", .dst0x, .src0x, ._, ._ }, | ||
| 23038 | } }, | ||
| 23039 | }, .{ | ||
| 23040 | .required_features = .{ .avx2, null, null, null }, | ||
| 23041 | .src_constraints = .{ | ||
| 23042 | .{ .scalar_unsigned_int = .{ .of = .yword, .is = .dword } }, | ||
| 23043 | .{ .scalar_unsigned_int = .{ .of = .yword, .is = .dword } }, | ||
| 23044 | .any, | ||
| 23045 | }, | ||
| 23046 | .patterns = &.{ | ||
| 23047 | .{ .src = .{ .to_sse, .mem, .none } }, | ||
| 23048 | .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } }, | ||
| 23049 | .{ .src = .{ .to_sse, .to_sse, .none } }, | ||
| 23050 | }, | ||
| 23051 | .dst_temps = .{ .{ .rc = .sse }, .unused }, | ||
| 23052 | .each = .{ .once = &.{ | 26770 | .each = .{ .once = &.{ |
| 23053 | .{ ._, .vp_d, .minu, .dst0y, .src0y, .src1y, ._ }, | 26771 | .{ ._, .v_ps, .cvtph2, .dst0y, .src0x, ._, ._ }, |
| 26772 | .{ ._, .v_ps, .cvtph2, .tmp0y, .src1x, ._, ._ }, | ||
| 26773 | .{ ._, .v_ps, .cmp, .tmp1y, .dst0y, .dst0y, .vp(.unord) }, | ||
| 26774 | .{ ._, .v_ps, .min, .dst0y, .tmp0y, .dst0y, ._ }, | ||
| 26775 | .{ ._, .v_ps, .blendv, .dst0y, .dst0y, .tmp0y, .tmp1y }, | ||
| 26776 | .{ ._, .v_, .cvtps2ph, .dst0x, .dst0y, .rm(.{}), ._ }, | ||
| 23054 | } }, | 26777 | } }, |
| 23055 | }, .{ | 26778 | }, .{ |
| 23056 | .required_features = .{ .avx2, null, null, null }, | 26779 | .required_features = .{ .f16c, null, null, null }, |
| 23057 | .src_constraints = .{ | 26780 | .src_constraints = .{ |
| 23058 | .{ .multiple_scalar_unsigned_int = .{ .of = .yword, .is = .dword } }, | 26781 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .word } }, |
| 23059 | .{ .multiple_scalar_unsigned_int = .{ .of = .yword, .is = .dword } }, | 26782 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .word } }, |
| 23060 | .any, | 26783 | .any, |
| 23061 | }, | 26784 | }, |
| 23062 | .patterns = &.{ | 26785 | .patterns = &.{ |
| ... | @@ -23064,9 +26787,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -23064,9 +26787,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 23064 | }, | 26787 | }, |
| 23065 | .extra_temps = .{ | 26788 | .extra_temps = .{ |
| 23066 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 26789 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 23067 | .{ .type = .vector_8_u32, .kind = .{ .rc = .sse } }, | 26790 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, |
| 23068 | .unused, | 26791 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, |
| 23069 | .unused, | 26792 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, |
| 23070 | .unused, | 26793 | .unused, |
| 23071 | .unused, | 26794 | .unused, |
| 23072 | .unused, | 26795 | .unused, |
| ... | @@ -23079,27 +26802,31 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -23079,27 +26802,31 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 23079 | .clobbers = .{ .eflags = true }, | 26802 | .clobbers = .{ .eflags = true }, |
| 23080 | .each = .{ .once = &.{ | 26803 | .each = .{ .once = &.{ |
| 23081 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, | 26804 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, |
| 23082 | .{ .@"0:", .v_dqa, .mov, .tmp1y, .memia(.src0y, .tmp0, .add_size), ._, ._ }, | 26805 | .{ .@"0:", .v_ps, .cvtph2, .tmp1y, .memia(.src0x, .tmp0, .add_size), ._, ._ }, |
| 23083 | .{ ._, .vp_d, .minu, .tmp1y, .tmp1y, .memia(.src1y, .tmp0, .add_size), ._ }, | 26806 | .{ ._, .v_ps, .cvtph2, .tmp2y, .memia(.src1x, .tmp0, .add_size), ._, ._ }, |
| 23084 | .{ ._, .v_dqa, .mov, .memia(.dst0y, .tmp0, .add_size), .tmp1y, ._, ._ }, | 26807 | .{ ._, .v_ps, .cmp, .tmp3y, .tmp1y, .tmp1y, .vp(.unord) }, |
| 23085 | .{ ._, ._, .add, .tmp0p, .si(32), ._, ._ }, | 26808 | .{ ._, .v_ps, .min, .tmp1y, .tmp2y, .tmp1y, ._ }, |
| 26809 | .{ ._, .v_ps, .blendv, .tmp1y, .tmp1y, .tmp2y, .tmp3y }, | ||
| 26810 | .{ ._, .v_, .cvtps2ph, .memia(.dst0x, .tmp0, .add_size), .tmp1y, .rm(.{}), ._ }, | ||
| 26811 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, | ||
| 23086 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 26812 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 23087 | } }, | 26813 | } }, |
| 23088 | }, .{ | 26814 | }, .{ |
| 23089 | .required_features = .{ .avx, null, null, null }, | 26815 | .required_features = .{ .avx, null, null, null }, |
| 23090 | .src_constraints = .{ | 26816 | .src_constraints = .{ |
| 23091 | .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .dword } }, | 26817 | .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, |
| 23092 | .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .dword } }, | 26818 | .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, |
| 23093 | .any, | 26819 | .any, |
| 23094 | }, | 26820 | }, |
| 23095 | .patterns = &.{ | 26821 | .patterns = &.{ |
| 23096 | .{ .src = .{ .to_mem, .to_mem, .none } }, | 26822 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 23097 | }, | 26823 | }, |
| 26824 | .call_frame = .{ .alignment = .@"16" }, | ||
| 23098 | .extra_temps = .{ | 26825 | .extra_temps = .{ |
| 23099 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 26826 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 23100 | .{ .type = .vector_4_u32, .kind = .{ .rc = .sse } }, | 26827 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, |
| 23101 | .unused, | 26828 | .{ .type = .f16, .kind = .{ .reg = .xmm1 } }, |
| 23102 | .unused, | 26829 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__fminh" } } }, |
| 23103 | .unused, | 26830 | .unused, |
| 23104 | .unused, | 26831 | .unused, |
| 23105 | .unused, | 26832 | .unused, |
| ... | @@ -23109,30 +26836,33 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -23109,30 +26836,33 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 23109 | .unused, | 26836 | .unused, |
| 23110 | }, | 26837 | }, |
| 23111 | .dst_temps = .{ .mem, .unused }, | 26838 | .dst_temps = .{ .mem, .unused }, |
| 23112 | .clobbers = .{ .eflags = true }, | 26839 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 23113 | .each = .{ .once = &.{ | 26840 | .each = .{ .once = &.{ |
| 23114 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, | 26841 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, |
| 23115 | .{ .@"0:", .v_dqa, .mov, .tmp1x, .memia(.src0x, .tmp0, .add_size), ._, ._ }, | 26842 | .{ .@"0:", .vp_, .xor, .tmp2x, .tmp2x, .tmp2x, ._ }, |
| 23116 | .{ ._, .vp_d, .minu, .tmp1x, .tmp1x, .memia(.src1x, .tmp0, .add_size), ._ }, | 26843 | .{ ._, .vp_w, .insr, .tmp1x, .tmp2x, .memia(.src0w, .tmp0, .add_size), .ui(0) }, |
| 23117 | .{ ._, .v_dqa, .mov, .memia(.dst0x, .tmp0, .add_size), .tmp1x, ._, ._ }, | 26844 | .{ ._, .vp_w, .insr, .tmp2x, .tmp2x, .memia(.src1w, .tmp0, .add_size), .ui(0) }, |
| 23118 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, | 26845 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, |
| 26846 | .{ ._, .vp_w, .extr, .memia(.dst0w, .tmp0, .add_size), .tmp1x, .ui(0), ._ }, | ||
| 26847 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, | ||
| 23119 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 26848 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 23120 | } }, | 26849 | } }, |
| 23121 | }, .{ | 26850 | }, .{ |
| 23122 | .required_features = .{ .sse4_1, null, null, null }, | 26851 | .required_features = .{ .sse4_1, null, null, null }, |
| 23123 | .src_constraints = .{ | 26852 | .src_constraints = .{ |
| 23124 | .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .dword } }, | 26853 | .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, |
| 23125 | .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .dword } }, | 26854 | .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, |
| 23126 | .any, | 26855 | .any, |
| 23127 | }, | 26856 | }, |
| 23128 | .patterns = &.{ | 26857 | .patterns = &.{ |
| 23129 | .{ .src = .{ .to_mem, .to_mem, .none } }, | 26858 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 23130 | }, | 26859 | }, |
| 26860 | .call_frame = .{ .alignment = .@"16" }, | ||
| 23131 | .extra_temps = .{ | 26861 | .extra_temps = .{ |
| 23132 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 26862 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 23133 | .{ .type = .vector_4_u32, .kind = .{ .rc = .sse } }, | 26863 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, |
| 23134 | .unused, | 26864 | .{ .type = .f16, .kind = .{ .reg = .xmm1 } }, |
| 23135 | .unused, | 26865 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__fminh" } } }, |
| 23136 | .unused, | 26866 | .unused, |
| 23137 | .unused, | 26867 | .unused, |
| 23138 | .unused, | 26868 | .unused, |
| ... | @@ -23142,75 +26872,74 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -23142,75 +26872,74 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 23142 | .unused, | 26872 | .unused, |
| 23143 | }, | 26873 | }, |
| 23144 | .dst_temps = .{ .mem, .unused }, | 26874 | .dst_temps = .{ .mem, .unused }, |
| 23145 | .clobbers = .{ .eflags = true }, | 26875 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 23146 | .each = .{ .once = &.{ | 26876 | .each = .{ .once = &.{ |
| 23147 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, | 26877 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, |
| 23148 | .{ .@"0:", ._dqa, .mov, .tmp1x, .memia(.src0x, .tmp0, .add_size), ._, ._ }, | 26878 | .{ .@"0:", .p_, .xor, .tmp1x, .tmp1x, ._, ._ }, |
| 23149 | .{ ._, .p_d, .minu, .tmp1x, .memia(.src1x, .tmp0, .add_size), ._, ._ }, | 26879 | .{ ._, .p_, .xor, .tmp2x, .tmp2x, ._, ._ }, |
| 23150 | .{ ._, ._dqa, .mov, .memia(.dst0x, .tmp0, .add_size), .tmp1x, ._, ._ }, | 26880 | .{ ._, .p_w, .insr, .tmp1x, .memia(.src0w, .tmp0, .add_size), .ui(0), ._ }, |
| 23151 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, | 26881 | .{ ._, .p_w, .insr, .tmp2x, .memia(.src1w, .tmp0, .add_size), .ui(0), ._ }, |
| 26882 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, | ||
| 26883 | .{ ._, .p_w, .extr, .memia(.dst0w, .tmp0, .add_size), .tmp1x, .ui(0), ._ }, | ||
| 26884 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, | ||
| 23152 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 26885 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 23153 | } }, | 26886 | } }, |
| 23154 | }, .{ | 26887 | }, .{ |
| 23155 | .required_features = .{ .sse2, null, null, null }, | 26888 | .required_features = .{ .sse2, null, null, null }, |
| 23156 | .src_constraints = .{ | 26889 | .src_constraints = .{ |
| 23157 | .{ .multiple_scalar_exact_unsigned_int = .{ .of = .xword, .is = 32 } }, | 26890 | .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, |
| 23158 | .{ .multiple_scalar_exact_unsigned_int = .{ .of = .xword, .is = 32 } }, | 26891 | .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, |
| 23159 | .any, | 26892 | .any, |
| 23160 | }, | 26893 | }, |
| 23161 | .patterns = &.{ | 26894 | .patterns = &.{ |
| 23162 | .{ .src = .{ .to_mem, .to_mem, .none } }, | 26895 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 23163 | }, | 26896 | }, |
| 26897 | .call_frame = .{ .alignment = .@"16" }, | ||
| 23164 | .extra_temps = .{ | 26898 | .extra_temps = .{ |
| 23165 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 26899 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 23166 | .{ .type = .vector_4_u32, .kind = .{ .smin_mem = .{ .ref = .src0, .vectorize_to = .xword } } }, | 26900 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, |
| 23167 | .{ .type = .vector_4_u32, .kind = .{ .rc = .sse } }, | 26901 | .{ .type = .f16, .kind = .{ .reg = .xmm1 } }, |
| 23168 | .{ .type = .vector_4_u32, .kind = .{ .rc = .sse } }, | 26902 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__fminh" } } }, |
| 23169 | .{ .type = .vector_4_u32, .kind = .{ .rc = .sse } }, | 26903 | .{ .type = .f16, .kind = .{ .reg = .ax } }, |
| 23170 | .{ .type = .vector_4_u32, .kind = .{ .rc = .sse } }, | 26904 | .unused, |
| 23171 | .{ .type = .vector_4_u32, .kind = .{ .rc = .sse } }, | 26905 | .unused, |
| 23172 | .unused, | 26906 | .unused, |
| 23173 | .unused, | 26907 | .unused, |
| 23174 | .unused, | 26908 | .unused, |
| 23175 | .unused, | 26909 | .unused, |
| 23176 | }, | 26910 | }, |
| 23177 | .dst_temps = .{ .mem, .unused }, | 26911 | .dst_temps = .{ .mem, .unused }, |
| 23178 | .clobbers = .{ .eflags = true }, | 26912 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 23179 | .each = .{ .once = &.{ | 26913 | .each = .{ .once = &.{ |
| 23180 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, | ||
| 23181 | .{ ._, ._dqa, .mov, .tmp2x, .lea(.tmp0x), ._, ._ }, | ||
| 23182 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, | 26914 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, |
| 23183 | .{ .@"0:", ._dqa, .mov, .tmp3x, .memia(.src0x, .tmp0, .add_size), ._, ._ }, | 26915 | .{ .@"0:", .p_, .xor, .tmp1x, .tmp1x, ._, ._ }, |
| 23184 | .{ ._, ._dqa, .mov, .tmp4x, .memia(.src1x, .tmp0, .add_size), ._, ._ }, | 26916 | .{ ._, .p_, .xor, .tmp2x, .tmp2x, ._, ._ }, |
| 23185 | .{ ._, ._dqa, .mov, .tmp5x, .tmp3x, ._, ._ }, | 26917 | .{ ._, .p_w, .insr, .tmp1x, .memia(.src0w, .tmp0, .add_size), .ui(0), ._ }, |
| 23186 | .{ ._, ._dqa, .mov, .tmp6x, .tmp4x, ._, ._ }, | 26918 | .{ ._, .p_w, .insr, .tmp2x, .memia(.src1w, .tmp0, .add_size), .ui(0), ._ }, |
| 23187 | .{ ._, .p_, .xor, .tmp5x, .tmp2x, ._, ._ }, | 26919 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, |
| 23188 | .{ ._, .p_, .xor, .tmp6x, .tmp2x, ._, ._ }, | 26920 | .{ ._, .p_w, .extr, .tmp4d, .tmp1x, .ui(0), ._ }, |
| 23189 | .{ ._, .p_d, .cmpgt, .tmp5x, .tmp6x, ._, ._ }, | 26921 | .{ ._, ._, .mov, .memia(.dst0w, .tmp0, .add_size), .tmp4w, ._, ._ }, |
| 23190 | .{ ._, .p_, .@"and", .tmp4x, .tmp5x, ._, ._ }, | 26922 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, |
| 23191 | .{ ._, .p_, .andn, .tmp5x, .tmp3x, ._, ._ }, | ||
| 23192 | .{ ._, .p_, .@"or", .tmp4x, .tmp5x, ._, ._ }, | ||
| 23193 | .{ ._, ._dqa, .mov, .memia(.dst0x, .tmp0, .add_size), .tmp4x, ._, ._ }, | ||
| 23194 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, | ||
| 23195 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 26923 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 23196 | } }, | 26924 | } }, |
| 23197 | }, .{ | 26925 | }, .{ |
| 23198 | .required_features = .{ .cmov, null, null, null }, | 26926 | .required_features = .{ .sse, null, null, null }, |
| 23199 | .src_constraints = .{ | 26927 | .src_constraints = .{ |
| 23200 | .{ .multiple_scalar_unsigned_int = .{ .of = .dword, .is = .dword } }, | 26928 | .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, |
| 23201 | .{ .multiple_scalar_unsigned_int = .{ .of = .dword, .is = .dword } }, | 26929 | .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, |
| 23202 | .any, | 26930 | .any, |
| 23203 | }, | 26931 | }, |
| 23204 | .patterns = &.{ | 26932 | .patterns = &.{ |
| 23205 | .{ .src = .{ .to_mem, .to_mem, .none } }, | 26933 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 23206 | }, | 26934 | }, |
| 26935 | .call_frame = .{ .alignment = .@"16" }, | ||
| 23207 | .extra_temps = .{ | 26936 | .extra_temps = .{ |
| 23208 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 26937 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 23209 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, | 26938 | .{ .type = .f16, .kind = .{ .reg = .ax } }, |
| 23210 | .unused, | 26939 | .{ .type = .f32, .kind = .mem }, |
| 23211 | .unused, | 26940 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, |
| 23212 | .unused, | 26941 | .{ .type = .f16, .kind = .{ .reg = .xmm1 } }, |
| 23213 | .unused, | 26942 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__fminh" } } }, |
| 23214 | .unused, | 26943 | .unused, |
| 23215 | .unused, | 26944 | .unused, |
| 23216 | .unused, | 26945 | .unused, |
| ... | @@ -23218,28 +26947,35 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -23218,28 +26947,35 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 23218 | .unused, | 26947 | .unused, |
| 23219 | }, | 26948 | }, |
| 23220 | .dst_temps = .{ .mem, .unused }, | 26949 | .dst_temps = .{ .mem, .unused }, |
| 23221 | .clobbers = .{ .eflags = true }, | 26950 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 23222 | .each = .{ .once = &.{ | 26951 | .each = .{ .once = &.{ |
| 23223 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, | 26952 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, |
| 23224 | .{ .@"0:", ._, .mov, .tmp1d, .memia(.src0d, .tmp0, .add_size), ._, ._ }, | 26953 | .{ .@"0:", ._, .movzx, .tmp1d, .memia(.src0w, .tmp0, .add_size), ._, ._ }, |
| 23225 | .{ ._, ._, .cmp, .tmp1d, .memia(.src1d, .tmp0, .add_size), ._, ._ }, | 26954 | .{ ._, ._, .mov, .mem(.tmp2d), .tmp1d, ._, ._ }, |
| 23226 | .{ ._, ._ae, .cmov, .tmp1d, .memia(.src1d, .tmp0, .add_size), ._, ._ }, | 26955 | .{ ._, ._ss, .mov, .tmp3x, .mem(.tmp2d), ._, ._ }, |
| 23227 | .{ ._, ._, .mov, .memia(.dst0d, .tmp0, .add_size), .tmp1d, ._, ._ }, | 26956 | .{ ._, ._, .movzx, .tmp1d, .memia(.src1w, .tmp0, .add_size), ._, ._ }, |
| 23228 | .{ ._, ._, .add, .tmp0p, .si(4), ._, ._ }, | 26957 | .{ ._, ._, .mov, .mem(.tmp2d), .tmp1d, ._, ._ }, |
| 26958 | .{ ._, ._ss, .mov, .tmp4x, .mem(.tmp2d), ._, ._ }, | ||
| 26959 | .{ ._, ._, .call, .tmp5d, ._, ._, ._ }, | ||
| 26960 | .{ ._, ._ss, .mov, .mem(.tmp2d), .tmp3x, ._, ._ }, | ||
| 26961 | .{ ._, ._, .mov, .tmp1d, .mem(.tmp2d), ._, ._ }, | ||
| 26962 | .{ ._, ._, .mov, .memia(.dst0w, .tmp0, .add_size), .tmp1w, ._, ._ }, | ||
| 26963 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, | ||
| 23229 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 26964 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 23230 | } }, | 26965 | } }, |
| 23231 | }, .{ | 26966 | }, .{ |
| 26967 | .required_features = .{ .avx, null, null, null }, | ||
| 23232 | .src_constraints = .{ | 26968 | .src_constraints = .{ |
| 23233 | .{ .multiple_scalar_unsigned_int = .{ .of = .dword, .is = .dword } }, | 26969 | .{ .scalar_float = .{ .of = .dword, .is = .dword } }, |
| 23234 | .{ .multiple_scalar_unsigned_int = .{ .of = .dword, .is = .dword } }, | 26970 | .{ .scalar_float = .{ .of = .dword, .is = .dword } }, |
| 23235 | .any, | 26971 | .any, |
| 23236 | }, | 26972 | }, |
| 23237 | .patterns = &.{ | 26973 | .patterns = &.{ |
| 23238 | .{ .src = .{ .to_mem, .to_mem, .none } }, | 26974 | .{ .src = .{ .to_sse, .to_sse, .none } }, |
| 23239 | }, | 26975 | }, |
| 23240 | .extra_temps = .{ | 26976 | .extra_temps = .{ |
| 23241 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 26977 | .{ .type = .f32, .kind = .{ .rc = .sse } }, |
| 23242 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, | 26978 | .unused, |
| 23243 | .unused, | 26979 | .unused, |
| 23244 | .unused, | 26980 | .unused, |
| 23245 | .unused, | 26981 | .unused, |
| ... | @@ -23250,49 +26986,41 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -23250,49 +26986,41 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 23250 | .unused, | 26986 | .unused, |
| 23251 | .unused, | 26987 | .unused, |
| 23252 | }, | 26988 | }, |
| 23253 | .dst_temps = .{ .mem, .unused }, | 26989 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| 23254 | .clobbers = .{ .eflags = true }, | ||
| 23255 | .each = .{ .once = &.{ | 26990 | .each = .{ .once = &.{ |
| 23256 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, | 26991 | .{ ._, .v_ss, .cmp, .tmp0x, .src0x, .src0d, .vp(.unord) }, |
| 23257 | .{ .@"0:", ._, .mov, .tmp1d, .memia(.src0d, .tmp0, .add_size), ._, ._ }, | 26992 | .{ ._, .v_ss, .min, .dst0x, .src1x, .src0d, ._ }, |
| 23258 | .{ ._, ._, .cmp, .tmp1d, .memia(.src1d, .tmp0, .add_size), ._, ._ }, | 26993 | .{ ._, .v_ps, .blendv, .dst0x, .dst0x, .src1x, .tmp0x }, |
| 23259 | .{ ._, ._nae, .j, .@"1f", ._, ._, ._ }, | ||
| 23260 | .{ ._, ._, .mov, .tmp1d, .memia(.src1d, .tmp0, .add_size), ._, ._ }, | ||
| 23261 | .{ .@"1:", ._, .mov, .memia(.dst0d, .tmp0, .add_size), .tmp1d, ._, ._ }, | ||
| 23262 | .{ ._, ._, .add, .tmp0p, .si(4), ._, ._ }, | ||
| 23263 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | ||
| 23264 | } }, | 26994 | } }, |
| 23265 | }, .{ | 26995 | }, .{ |
| 23266 | .required_features = .{ .avx, null, null, null }, | 26996 | .required_features = .{ .sse4_1, null, null, null }, |
| 23267 | .src_constraints = .{ | 26997 | .src_constraints = .{ |
| 23268 | .{ .scalar_signed_or_exclusive_int = .{ .of = .xword, .is = .qword } }, | 26998 | .{ .scalar_float = .{ .of = .dword, .is = .dword } }, |
| 23269 | .{ .scalar_signed_or_exclusive_int = .{ .of = .xword, .is = .qword } }, | 26999 | .{ .scalar_float = .{ .of = .dword, .is = .dword } }, |
| 23270 | .any, | 27000 | .any, |
| 23271 | }, | 27001 | }, |
| 23272 | .patterns = &.{ | 27002 | .patterns = &.{ |
| 23273 | .{ .src = .{ .to_sse, .mem, .none } }, | 27003 | .{ .src = .{ .{ .to_reg = .xmm0 }, .to_sse, .none } }, |
| 23274 | .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } }, | ||
| 23275 | .{ .src = .{ .to_sse, .to_sse, .none } }, | ||
| 23276 | }, | 27004 | }, |
| 23277 | .dst_temps = .{ .{ .rc = .sse }, .unused }, | 27005 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| 23278 | .each = .{ .once = &.{ | 27006 | .each = .{ .once = &.{ |
| 23279 | .{ ._, .vp_q, .cmpgt, .dst0x, .src0x, .src1x, ._ }, | 27007 | .{ ._, ._ps, .mova, .dst0x, .src1x, ._, ._ }, |
| 23280 | .{ ._, .vp_b, .blendv, .dst0x, .src0x, .src1x, .dst0x }, | 27008 | .{ ._, ._ss, .min, .dst0x, .src0d, ._, ._ }, |
| 27009 | .{ ._, ._ss, .cmp, .src0x, .src0d, .sp(.unord), ._ }, | ||
| 27010 | .{ ._, ._ps, .blendv, .dst0x, .src1x, .src0x, ._ }, | ||
| 23281 | } }, | 27011 | } }, |
| 23282 | }, .{ | 27012 | }, .{ |
| 23283 | .required_features = .{ .sse4_2, null, null, null }, | 27013 | .required_features = .{ .sse, null, null, null }, |
| 23284 | .src_constraints = .{ | 27014 | .src_constraints = .{ |
| 23285 | .{ .scalar_signed_or_exclusive_int = .{ .of = .xword, .is = .qword } }, | 27015 | .{ .scalar_float = .{ .of = .dword, .is = .dword } }, |
| 23286 | .{ .scalar_signed_or_exclusive_int = .{ .of = .xword, .is = .qword } }, | 27016 | .{ .scalar_float = .{ .of = .dword, .is = .dword } }, |
| 23287 | .any, | 27017 | .any, |
| 23288 | }, | 27018 | }, |
| 23289 | .patterns = &.{ | 27019 | .patterns = &.{ |
| 23290 | .{ .src = .{ .to_mut_sse, .mem, .none } }, | ||
| 23291 | .{ .src = .{ .mem, .to_mut_sse, .none }, .commute = .{ 0, 1 } }, | ||
| 23292 | .{ .src = .{ .to_mut_sse, .to_sse, .none } }, | 27020 | .{ .src = .{ .to_mut_sse, .to_sse, .none } }, |
| 23293 | }, | 27021 | }, |
| 23294 | .extra_temps = .{ | 27022 | .extra_temps = .{ |
| 23295 | .{ .type = .vector_2_i64, .kind = .{ .reg = .xmm0 } }, | 27023 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| 23296 | .unused, | 27024 | .unused, |
| 23297 | .unused, | 27025 | .unused, |
| 23298 | .unused, | 27026 | .unused, |
| ... | @@ -23306,42 +27034,78 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -23306,42 +27034,78 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 23306 | }, | 27034 | }, |
| 23307 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, | 27035 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| 23308 | .each = .{ .once = &.{ | 27036 | .each = .{ .once = &.{ |
| 23309 | .{ ._, ._dqa, .mov, .tmp0x, .src0x, ._, ._ }, | 27037 | .{ ._, ._ps, .mova, .tmp0x, .src1x, ._, ._ }, |
| 23310 | .{ ._, .p_q, .cmpgt, .tmp0x, .src1x, ._, ._ }, | 27038 | .{ ._, ._ss, .min, .tmp0x, .src0d, ._, ._ }, |
| 23311 | .{ ._, .p_b, .blendv, .dst0x, .src1x, .tmp0x, ._ }, | 27039 | .{ ._, ._ss, .cmp, .dst0x, .src0d, .sp(.ord), ._ }, |
| 27040 | .{ ._, ._ps, .@"and", .tmp0x, .dst0x, ._, ._ }, | ||
| 27041 | .{ ._, ._ps, .andn, .dst0x, .src1x, ._, ._ }, | ||
| 27042 | .{ ._, ._ps, .@"or", .dst0x, .tmp0x, ._, ._ }, | ||
| 23312 | } }, | 27043 | } }, |
| 23313 | }, .{ | 27044 | }, .{ |
| 23314 | .required_features = .{ .avx2, null, null, null }, | 27045 | .required_features = .{ .avx, null, null, null }, |
| 23315 | .src_constraints = .{ | 27046 | .src_constraints = .{ |
| 23316 | .{ .scalar_signed_or_exclusive_int = .{ .of = .yword, .is = .qword } }, | 27047 | .{ .scalar_float = .{ .of = .xword, .is = .dword } }, |
| 23317 | .{ .scalar_signed_or_exclusive_int = .{ .of = .yword, .is = .qword } }, | 27048 | .{ .scalar_float = .{ .of = .xword, .is = .dword } }, |
| 23318 | .any, | 27049 | .any, |
| 23319 | }, | 27050 | }, |
| 23320 | .patterns = &.{ | 27051 | .patterns = &.{ |
| 23321 | .{ .src = .{ .to_sse, .mem, .none } }, | ||
| 23322 | .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } }, | ||
| 23323 | .{ .src = .{ .to_sse, .to_sse, .none } }, | 27052 | .{ .src = .{ .to_sse, .to_sse, .none } }, |
| 23324 | }, | 27053 | }, |
| 27054 | .extra_temps = .{ | ||
| 27055 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, | ||
| 27056 | .unused, | ||
| 27057 | .unused, | ||
| 27058 | .unused, | ||
| 27059 | .unused, | ||
| 27060 | .unused, | ||
| 27061 | .unused, | ||
| 27062 | .unused, | ||
| 27063 | .unused, | ||
| 27064 | .unused, | ||
| 27065 | .unused, | ||
| 27066 | }, | ||
| 27067 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, | ||
| 27068 | .each = .{ .once = &.{ | ||
| 27069 | .{ ._, .v_ps, .cmp, .tmp0x, .src0x, .src0x, .vp(.unord) }, | ||
| 27070 | .{ ._, .v_ps, .min, .dst0x, .src1x, .src0x, ._ }, | ||
| 27071 | .{ ._, .v_ps, .blendv, .dst0x, .dst0x, .src1x, .tmp0x }, | ||
| 27072 | } }, | ||
| 27073 | }, .{ | ||
| 27074 | .required_features = .{ .sse4_1, null, null, null }, | ||
| 27075 | .src_constraints = .{ | ||
| 27076 | .{ .scalar_float = .{ .of = .xword, .is = .dword } }, | ||
| 27077 | .{ .scalar_float = .{ .of = .xword, .is = .dword } }, | ||
| 27078 | .any, | ||
| 27079 | }, | ||
| 27080 | .patterns = &.{ | ||
| 27081 | .{ .src = .{ .{ .to_reg = .xmm0 }, .mem, .none } }, | ||
| 27082 | .{ .src = .{ .mem, .{ .to_reg = .xmm0 }, .none }, .commute = .{ 0, 1 } }, | ||
| 27083 | .{ .src = .{ .{ .to_reg = .xmm0 }, .to_sse, .none } }, | ||
| 27084 | }, | ||
| 23325 | .dst_temps = .{ .{ .rc = .sse }, .unused }, | 27085 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| 23326 | .each = .{ .once = &.{ | 27086 | .each = .{ .once = &.{ |
| 23327 | .{ ._, .vp_q, .cmpgt, .dst0y, .src0y, .src1y, ._ }, | 27087 | .{ ._, ._ps, .mova, .dst0x, .src1x, ._, ._ }, |
| 23328 | .{ ._, .vp_b, .blendv, .dst0y, .src0y, .src1y, .dst0y }, | 27088 | .{ ._, ._ps, .min, .dst0x, .src0x, ._, ._ }, |
| 27089 | .{ ._, ._ps, .cmp, .src0x, .src0x, .sp(.unord), ._ }, | ||
| 27090 | .{ ._, ._ps, .blendv, .dst0x, .src1x, .src0x, ._ }, | ||
| 23329 | } }, | 27091 | } }, |
| 23330 | }, .{ | 27092 | }, .{ |
| 23331 | .required_features = .{ .avx2, null, null, null }, | 27093 | .required_features = .{ .sse, null, null, null }, |
| 23332 | .src_constraints = .{ | 27094 | .src_constraints = .{ |
| 23333 | .{ .multiple_scalar_signed_or_exclusive_int = .{ .of = .yword, .is = .qword } }, | 27095 | .{ .scalar_float = .{ .of = .xword, .is = .dword } }, |
| 23334 | .{ .multiple_scalar_signed_or_exclusive_int = .{ .of = .yword, .is = .qword } }, | 27096 | .{ .scalar_float = .{ .of = .xword, .is = .dword } }, |
| 23335 | .any, | 27097 | .any, |
| 23336 | }, | 27098 | }, |
| 23337 | .patterns = &.{ | 27099 | .patterns = &.{ |
| 23338 | .{ .src = .{ .to_mem, .to_mem, .none } }, | 27100 | .{ .src = .{ .to_mut_sse, .mem, .none } }, |
| 27101 | .{ .src = .{ .mem, .to_mut_sse, .none }, .commute = .{ 0, 1 } }, | ||
| 27102 | .{ .src = .{ .to_mut_sse, .to_sse, .none } }, | ||
| 23339 | }, | 27103 | }, |
| 23340 | .extra_temps = .{ | 27104 | .extra_temps = .{ |
| 23341 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 27105 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| 23342 | .{ .type = .vector_4_i64, .kind = .{ .rc = .sse } }, | 27106 | .unused, |
| 23343 | .{ .type = .vector_4_i64, .kind = .{ .rc = .sse } }, | 27107 | .unused, |
| 23344 | .{ .type = .vector_4_i64, .kind = .{ .rc = .sse } }, | 27108 | .unused, |
| 23345 | .unused, | 27109 | .unused, |
| 23346 | .unused, | 27110 | .unused, |
| 23347 | .unused, | 27111 | .unused, |
| ... | @@ -23350,33 +27114,30 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -23350,33 +27114,30 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 23350 | .unused, | 27114 | .unused, |
| 23351 | .unused, | 27115 | .unused, |
| 23352 | }, | 27116 | }, |
| 23353 | .dst_temps = .{ .mem, .unused }, | 27117 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| 23354 | .clobbers = .{ .eflags = true }, | ||
| 23355 | .each = .{ .once = &.{ | 27118 | .each = .{ .once = &.{ |
| 23356 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, | 27119 | .{ ._, ._ps, .mova, .tmp0x, .src1x, ._, ._ }, |
| 23357 | .{ .@"0:", .v_dqa, .mov, .tmp1y, .memia(.src0y, .tmp0, .add_size), ._, ._ }, | 27120 | .{ ._, ._ps, .min, .tmp0x, .src0x, ._, ._ }, |
| 23358 | .{ ._, .v_dqa, .mov, .tmp2y, .memia(.src1y, .tmp0, .add_size), ._, ._ }, | 27121 | .{ ._, ._ps, .cmp, .dst0x, .src0x, .sp(.ord), ._ }, |
| 23359 | .{ ._, .vp_q, .cmpgt, .tmp3y, .tmp1y, .tmp2y, ._ }, | 27122 | .{ ._, ._ps, .@"and", .tmp0x, .dst0x, ._, ._ }, |
| 23360 | .{ ._, .vp_b, .blendv, .tmp1y, .tmp1y, .tmp2y, .tmp3y }, | 27123 | .{ ._, ._ps, .andn, .dst0x, .src1x, ._, ._ }, |
| 23361 | .{ ._, .v_dqa, .mov, .memia(.dst0y, .tmp0, .add_size), .tmp1y, ._, ._ }, | 27124 | .{ ._, ._ps, .@"or", .dst0x, .tmp0x, ._, ._ }, |
| 23362 | .{ ._, ._, .add, .tmp0p, .si(32), ._, ._ }, | ||
| 23363 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | ||
| 23364 | } }, | 27125 | } }, |
| 23365 | }, .{ | 27126 | }, .{ |
| 23366 | .required_features = .{ .avx, null, null, null }, | 27127 | .required_features = .{ .avx, null, null, null }, |
| 23367 | .src_constraints = .{ | 27128 | .src_constraints = .{ |
| 23368 | .{ .multiple_scalar_signed_or_exclusive_int = .{ .of = .xword, .is = .qword } }, | 27129 | .{ .scalar_float = .{ .of = .yword, .is = .dword } }, |
| 23369 | .{ .multiple_scalar_signed_or_exclusive_int = .{ .of = .xword, .is = .qword } }, | 27130 | .{ .scalar_float = .{ .of = .yword, .is = .dword } }, |
| 23370 | .any, | 27131 | .any, |
| 23371 | }, | 27132 | }, |
| 23372 | .patterns = &.{ | 27133 | .patterns = &.{ |
| 23373 | .{ .src = .{ .to_mem, .to_mem, .none } }, | 27134 | .{ .src = .{ .to_sse, .to_sse, .none } }, |
| 23374 | }, | 27135 | }, |
| 23375 | .extra_temps = .{ | 27136 | .extra_temps = .{ |
| 23376 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 27137 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, |
| 23377 | .{ .type = .vector_2_i64, .kind = .{ .rc = .sse } }, | 27138 | .unused, |
| 23378 | .{ .type = .vector_2_i64, .kind = .{ .rc = .sse } }, | 27139 | .unused, |
| 23379 | .{ .type = .vector_2_i64, .kind = .{ .rc = .sse } }, | 27140 | .unused, |
| 23380 | .unused, | 27141 | .unused, |
| 23381 | .unused, | 27142 | .unused, |
| 23382 | .unused, | 27143 | .unused, |
| ... | @@ -23385,23 +27146,17 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -23385,23 +27146,17 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 23385 | .unused, | 27146 | .unused, |
| 23386 | .unused, | 27147 | .unused, |
| 23387 | }, | 27148 | }, |
| 23388 | .dst_temps = .{ .mem, .unused }, | 27149 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| 23389 | .clobbers = .{ .eflags = true }, | ||
| 23390 | .each = .{ .once = &.{ | 27150 | .each = .{ .once = &.{ |
| 23391 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, | 27151 | .{ ._, .v_ps, .cmp, .tmp0y, .src0y, .src0y, .vp(.unord) }, |
| 23392 | .{ .@"0:", .v_dqa, .mov, .tmp1x, .memia(.src0x, .tmp0, .add_size), ._, ._ }, | 27152 | .{ ._, .v_ps, .min, .dst0y, .src1y, .src0y, ._ }, |
| 23393 | .{ ._, .v_dqa, .mov, .tmp2x, .memia(.src1x, .tmp0, .add_size), ._, ._ }, | 27153 | .{ ._, .v_ps, .blendv, .dst0y, .dst0y, .src1y, .tmp0y }, |
| 23394 | .{ ._, .vp_q, .cmpgt, .tmp3x, .tmp1x, .tmp2x, ._ }, | ||
| 23395 | .{ ._, .vp_b, .blendv, .tmp1x, .tmp1x, .tmp2x, .tmp3x }, | ||
| 23396 | .{ ._, .v_dqa, .mov, .memia(.dst0x, .tmp0, .add_size), .tmp1x, ._, ._ }, | ||
| 23397 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, | ||
| 23398 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | ||
| 23399 | } }, | 27154 | } }, |
| 23400 | }, .{ | 27155 | }, .{ |
| 23401 | .required_features = .{ .sse4_2, null, null, null }, | 27156 | .required_features = .{ .avx, null, null, null }, |
| 23402 | .src_constraints = .{ | 27157 | .src_constraints = .{ |
| 23403 | .{ .multiple_scalar_signed_or_exclusive_int = .{ .of = .xword, .is = .qword } }, | 27158 | .{ .multiple_scalar_float = .{ .of = .yword, .is = .dword } }, |
| 23404 | .{ .multiple_scalar_signed_or_exclusive_int = .{ .of = .xword, .is = .qword } }, | 27159 | .{ .multiple_scalar_float = .{ .of = .yword, .is = .dword } }, |
| 23405 | .any, | 27160 | .any, |
| 23406 | }, | 27161 | }, |
| 23407 | .patterns = &.{ | 27162 | .patterns = &.{ |
| ... | @@ -23409,9 +27164,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -23409,9 +27164,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 23409 | }, | 27164 | }, |
| 23410 | .extra_temps = .{ | 27165 | .extra_temps = .{ |
| 23411 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 27166 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 23412 | .{ .type = .vector_2_i64, .kind = .{ .rc = .sse } }, | 27167 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, |
| 23413 | .{ .type = .vector_2_i64, .kind = .{ .rc = .sse } }, | 27168 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, |
| 23414 | .{ .type = .vector_2_i64, .kind = .{ .reg = .xmm0 } }, | 27169 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, |
| 23415 | .unused, | 27170 | .unused, |
| 23416 | .unused, | 27171 | .unused, |
| 23417 | .unused, | 27172 | .unused, |
| ... | @@ -23424,20 +27179,20 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -23424,20 +27179,20 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 23424 | .clobbers = .{ .eflags = true }, | 27179 | .clobbers = .{ .eflags = true }, |
| 23425 | .each = .{ .once = &.{ | 27180 | .each = .{ .once = &.{ |
| 23426 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, | 27181 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, |
| 23427 | .{ .@"0:", ._dqa, .mov, .tmp1x, .memia(.src0x, .tmp0, .add_size), ._, ._ }, | 27182 | .{ .@"0:", .v_ps, .mova, .tmp1y, .memia(.src0y, .tmp0, .add_size), ._, ._ }, |
| 23428 | .{ ._, ._dqa, .mov, .tmp2x, .memia(.src1x, .tmp0, .add_size), ._, ._ }, | 27183 | .{ ._, .v_ps, .mova, .tmp2y, .memia(.src1y, .tmp0, .add_size), ._, ._ }, |
| 23429 | .{ ._, ._dqa, .mov, .tmp3x, .tmp1x, ._, ._ }, | 27184 | .{ ._, .v_ps, .cmp, .tmp3y, .tmp1y, .tmp1y, .vp(.unord) }, |
| 23430 | .{ ._, .p_q, .cmpgt, .tmp3x, .tmp2x, ._, ._ }, | 27185 | .{ ._, .v_ps, .min, .tmp1y, .tmp2y, .tmp1y, ._ }, |
| 23431 | .{ ._, .p_b, .blendv, .tmp1x, .tmp2x, .tmp3x, ._ }, | 27186 | .{ ._, .v_ps, .blendv, .tmp1y, .tmp1y, .tmp2y, .tmp3y }, |
| 23432 | .{ ._, ._dqa, .mov, .memia(.dst0x, .tmp0, .add_size), .tmp1x, ._, ._ }, | 27187 | .{ ._, .v_ps, .mova, .memia(.dst0y, .tmp0, .add_size), .tmp1y, ._, ._ }, |
| 23433 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, | 27188 | .{ ._, ._, .add, .tmp0p, .si(32), ._, ._ }, |
| 23434 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 27189 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 23435 | } }, | 27190 | } }, |
| 23436 | }, .{ | 27191 | }, .{ |
| 23437 | .required_features = .{ .@"64bit", .cmov, null, null }, | 27192 | .required_features = .{ .sse4_1, null, null, null }, |
| 23438 | .src_constraints = .{ | 27193 | .src_constraints = .{ |
| 23439 | .{ .multiple_scalar_signed_int = .{ .of = .qword, .is = .qword } }, | 27194 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .dword } }, |
| 23440 | .{ .multiple_scalar_signed_int = .{ .of = .qword, .is = .qword } }, | 27195 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .dword } }, |
| 23441 | .any, | 27196 | .any, |
| 23442 | }, | 27197 | }, |
| 23443 | .patterns = &.{ | 27198 | .patterns = &.{ |
| ... | @@ -23445,9 +27200,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -23445,9 +27200,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 23445 | }, | 27200 | }, |
| 23446 | .extra_temps = .{ | 27201 | .extra_temps = .{ |
| 23447 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 27202 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 23448 | .{ .type = .i64, .kind = .{ .rc = .general_purpose } }, | 27203 | .{ .type = .vector_4_f32, .kind = .{ .reg = .xmm0 } }, |
| 23449 | .unused, | 27204 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| 23450 | .unused, | 27205 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| 23451 | .unused, | 27206 | .unused, |
| 23452 | .unused, | 27207 | .unused, |
| 23453 | .unused, | 27208 | .unused, |
| ... | @@ -23460,18 +27215,21 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -23460,18 +27215,21 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 23460 | .clobbers = .{ .eflags = true }, | 27215 | .clobbers = .{ .eflags = true }, |
| 23461 | .each = .{ .once = &.{ | 27216 | .each = .{ .once = &.{ |
| 23462 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, | 27217 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, |
| 23463 | .{ .@"0:", ._, .mov, .tmp1q, .memia(.src0q, .tmp0, .add_size), ._, ._ }, | 27218 | .{ .@"0:", ._ps, .mova, .tmp1x, .memia(.src0x, .tmp0, .add_size), ._, ._ }, |
| 23464 | .{ ._, ._, .cmp, .tmp1q, .memia(.src1q, .tmp0, .add_size), ._, ._ }, | 27219 | .{ ._, ._ps, .mova, .tmp2x, .memia(.src1x, .tmp0, .add_size), ._, ._ }, |
| 23465 | .{ ._, ._ge, .cmov, .tmp1q, .memia(.src1q, .tmp0, .add_size), ._, ._ }, | 27220 | .{ ._, ._ps, .mova, .tmp3x, .tmp2x, ._, ._ }, |
| 23466 | .{ ._, ._, .mov, .memia(.dst0q, .tmp0, .add_size), .tmp1q, ._, ._ }, | 27221 | .{ ._, ._ps, .min, .tmp3x, .tmp1x, ._, ._ }, |
| 23467 | .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ }, | 27222 | .{ ._, ._ps, .cmp, .tmp1x, .tmp1x, .sp(.unord), ._ }, |
| 27223 | .{ ._, ._ps, .blendv, .tmp3x, .tmp2x, .tmp1x, ._ }, | ||
| 27224 | .{ ._, ._ps, .mova, .memia(.dst0x, .tmp0, .add_size), .tmp3x, ._, ._ }, | ||
| 27225 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, | ||
| 23468 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 27226 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 23469 | } }, | 27227 | } }, |
| 23470 | }, .{ | 27228 | }, .{ |
| 23471 | .required_features = .{ .@"64bit", null, null, null }, | 27229 | .required_features = .{ .sse, null, null, null }, |
| 23472 | .src_constraints = .{ | 27230 | .src_constraints = .{ |
| 23473 | .{ .multiple_scalar_signed_int = .{ .of = .qword, .is = .qword } }, | 27231 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .dword } }, |
| 23474 | .{ .multiple_scalar_signed_int = .{ .of = .qword, .is = .qword } }, | 27232 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .dword } }, |
| 23475 | .any, | 27233 | .any, |
| 23476 | }, | 27234 | }, |
| 23477 | .patterns = &.{ | 27235 | .patterns = &.{ |
| ... | @@ -23479,9 +27237,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -23479,9 +27237,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 23479 | }, | 27237 | }, |
| 23480 | .extra_temps = .{ | 27238 | .extra_temps = .{ |
| 23481 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 27239 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 23482 | .{ .type = .i64, .kind = .{ .rc = .general_purpose } }, | 27240 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| 23483 | .unused, | 27241 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| 23484 | .unused, | 27242 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| 23485 | .unused, | 27243 | .unused, |
| 23486 | .unused, | 27244 | .unused, |
| 23487 | .unused, | 27245 | .unused, |
| ... | @@ -23494,30 +27252,30 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -23494,30 +27252,30 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 23494 | .clobbers = .{ .eflags = true }, | 27252 | .clobbers = .{ .eflags = true }, |
| 23495 | .each = .{ .once = &.{ | 27253 | .each = .{ .once = &.{ |
| 23496 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, | 27254 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, |
| 23497 | .{ .@"0:", ._, .mov, .tmp1q, .memia(.src0q, .tmp0, .add_size), ._, ._ }, | 27255 | .{ .@"0:", ._ps, .mova, .tmp1x, .memia(.src0x, .tmp0, .add_size), ._, ._ }, |
| 23498 | .{ ._, ._, .cmp, .tmp1q, .memia(.src1q, .tmp0, .add_size), ._, ._ }, | 27256 | .{ ._, ._ps, .mova, .tmp2x, .memia(.src1x, .tmp0, .add_size), ._, ._ }, |
| 23499 | .{ ._, ._nge, .j, .@"1f", ._, ._, ._ }, | 27257 | .{ ._, ._ps, .mova, .tmp3x, .tmp2x, ._, ._ }, |
| 23500 | .{ ._, ._, .mov, .tmp1q, .memia(.src1q, .tmp0, .add_size), ._, ._ }, | 27258 | .{ ._, ._ps, .min, .tmp3x, .tmp1x, ._, ._ }, |
| 23501 | .{ .@"1:", ._, .mov, .memia(.dst0q, .tmp0, .add_size), .tmp1q, ._, ._ }, | 27259 | .{ ._, ._ps, .cmp, .tmp1x, .tmp1x, .sp(.ord), ._ }, |
| 23502 | .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ }, | 27260 | .{ ._, ._ps, .@"and", .tmp3x, .tmp1x, ._, ._ }, |
| 27261 | .{ ._, ._ps, .andn, .tmp1x, .tmp2x, ._, ._ }, | ||
| 27262 | .{ ._, ._ps, .@"or", .tmp1x, .tmp3x, ._, ._ }, | ||
| 27263 | .{ ._, ._ps, .mova, .memia(.dst0x, .tmp0, .add_size), .tmp1x, ._, ._ }, | ||
| 27264 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, | ||
| 23503 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 27265 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 23504 | } }, | 27266 | } }, |
| 23505 | }, .{ | 27267 | }, .{ |
| 23506 | .required_features = .{ .avx, null, null, null }, | 27268 | .required_features = .{ .avx, null, null, null }, |
| 23507 | .src_constraints = .{ | 27269 | .src_constraints = .{ |
| 23508 | .{ .scalar_exact_unsigned_int = .{ .of = .xword, .is = 64 } }, | 27270 | .{ .scalar_float = .{ .of = .qword, .is = .qword } }, |
| 23509 | .{ .scalar_exact_unsigned_int = .{ .of = .xword, .is = 64 } }, | 27271 | .{ .scalar_float = .{ .of = .qword, .is = .qword } }, |
| 23510 | .any, | 27272 | .any, |
| 23511 | }, | 27273 | }, |
| 23512 | .patterns = &.{ | 27274 | .patterns = &.{ |
| 23513 | .{ .src = .{ .to_sse, .mem, .none } }, | ||
| 23514 | .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } }, | ||
| 23515 | .{ .src = .{ .to_sse, .to_sse, .none } }, | 27275 | .{ .src = .{ .to_sse, .to_sse, .none } }, |
| 23516 | }, | 27276 | }, |
| 23517 | .extra_temps = .{ | 27277 | .extra_temps = .{ |
| 23518 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, | 27278 | .{ .type = .f64, .kind = .{ .rc = .sse } }, |
| 23519 | .{ .type = .u64, .kind = .{ .smin_mem = .{ .ref = .src0, .vectorize_to = .none } } }, | ||
| 23520 | .{ .type = .vector_2_u64, .kind = .{ .rc = .sse } }, | ||
| 23521 | .unused, | 27279 | .unused, |
| 23522 | .unused, | 27280 | .unused, |
| 23523 | .unused, | 27281 | .unused, |
| ... | @@ -23526,33 +27284,47 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -23526,33 +27284,47 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 23526 | .unused, | 27284 | .unused, |
| 23527 | .unused, | 27285 | .unused, |
| 23528 | .unused, | 27286 | .unused, |
| 27287 | .unused, | ||
| 27288 | .unused, | ||
| 27289 | }, | ||
| 27290 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, | ||
| 27291 | .each = .{ .once = &.{ | ||
| 27292 | .{ ._, .v_sd, .cmp, .tmp0x, .src0x, .src0q, .vp(.unord) }, | ||
| 27293 | .{ ._, .v_sd, .min, .dst0x, .src1x, .src0q, ._ }, | ||
| 27294 | .{ ._, .v_pd, .blendv, .dst0x, .dst0x, .src1x, .tmp0x }, | ||
| 27295 | } }, | ||
| 27296 | }, .{ | ||
| 27297 | .required_features = .{ .sse4_1, null, null, null }, | ||
| 27298 | .src_constraints = .{ | ||
| 27299 | .{ .scalar_float = .{ .of = .qword, .is = .qword } }, | ||
| 27300 | .{ .scalar_float = .{ .of = .qword, .is = .qword } }, | ||
| 27301 | .any, | ||
| 27302 | }, | ||
| 27303 | .patterns = &.{ | ||
| 27304 | .{ .src = .{ .{ .to_reg = .xmm0 }, .to_sse, .none } }, | ||
| 23529 | }, | 27305 | }, |
| 23530 | .dst_temps = .{ .{ .rc = .sse }, .unused }, | 27306 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| 23531 | .each = .{ .once = &.{ | 27307 | .each = .{ .once = &.{ |
| 23532 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, | 27308 | .{ ._, ._pd, .mova, .dst0x, .src1x, ._, ._ }, |
| 23533 | .{ ._, .v_, .movddup, .tmp2x, .lea(.tmp0q), ._, ._ }, | 27309 | .{ ._, ._sd, .min, .dst0x, .src0q, ._, ._ }, |
| 23534 | .{ ._, .vp_, .xor, .dst0x, .tmp2x, .src0x, ._ }, | 27310 | .{ ._, ._sd, .cmp, .src0x, .src0q, .sp(.unord), ._ }, |
| 23535 | .{ ._, .vp_, .xor, .tmp2x, .tmp2x, .src1x, ._ }, | 27311 | .{ ._, ._pd, .blendv, .dst0x, .src1x, .src0x, ._ }, |
| 23536 | .{ ._, .vp_q, .cmpgt, .dst0x, .dst0x, .tmp2x, ._ }, | ||
| 23537 | .{ ._, .vp_b, .blendv, .dst0x, .src0x, .src1x, .dst0x }, | ||
| 23538 | } }, | 27312 | } }, |
| 23539 | }, .{ | 27313 | }, .{ |
| 23540 | .required_features = .{ .sse4_2, null, null, null }, | 27314 | .required_features = .{ .sse2, null, null, null }, |
| 23541 | .src_constraints = .{ | 27315 | .src_constraints = .{ |
| 23542 | .{ .scalar_exact_unsigned_int = .{ .of = .xword, .is = 64 } }, | 27316 | .{ .scalar_float = .{ .of = .qword, .is = .qword } }, |
| 23543 | .{ .scalar_exact_unsigned_int = .{ .of = .xword, .is = 64 } }, | 27317 | .{ .scalar_float = .{ .of = .qword, .is = .qword } }, |
| 23544 | .any, | 27318 | .any, |
| 23545 | }, | 27319 | }, |
| 23546 | .patterns = &.{ | 27320 | .patterns = &.{ |
| 23547 | .{ .src = .{ .to_mut_sse, .mem, .none } }, | ||
| 23548 | .{ .src = .{ .mem, .to_mut_sse, .none }, .commute = .{ 0, 1 } }, | ||
| 23549 | .{ .src = .{ .to_mut_sse, .to_sse, .none } }, | 27321 | .{ .src = .{ .to_mut_sse, .to_sse, .none } }, |
| 23550 | }, | 27322 | }, |
| 23551 | .extra_temps = .{ | 27323 | .extra_temps = .{ |
| 23552 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, | 27324 | .{ .type = .vector_2_f64, .kind = .{ .rc = .sse } }, |
| 23553 | .{ .type = .u64, .kind = .{ .smin_mem = .{ .ref = .src0, .vectorize_to = .none } } }, | 27325 | .unused, |
| 23554 | .{ .type = .vector_2_u64, .kind = .{ .reg = .xmm0 } }, | 27326 | .unused, |
| 23555 | .{ .type = .vector_2_u64, .kind = .{ .rc = .sse } }, | 27327 | .unused, |
| 23556 | .unused, | 27328 | .unused, |
| 23557 | .unused, | 27329 | .unused, |
| 23558 | .unused, | 27330 | .unused, |
| ... | @@ -23563,30 +27335,28 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -23563,30 +27335,28 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 23563 | }, | 27335 | }, |
| 23564 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, | 27336 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| 23565 | .each = .{ .once = &.{ | 27337 | .each = .{ .once = &.{ |
| 23566 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, | 27338 | .{ ._, ._pd, .mova, .tmp0x, .src1x, ._, ._ }, |
| 23567 | .{ ._, ._, .movddup, .tmp2x, .lea(.tmp0q), ._, ._ }, | 27339 | .{ ._, ._sd, .min, .tmp0x, .src0q, ._, ._ }, |
| 23568 | .{ ._, ._dqa, .mov, .tmp3x, .tmp2x, ._, ._ }, | 27340 | .{ ._, ._sd, .cmp, .dst0x, .src0q, .sp(.ord), ._ }, |
| 23569 | .{ ._, .p_, .xor, .tmp2x, .src0x, ._, ._ }, | 27341 | .{ ._, ._pd, .@"and", .tmp0x, .dst0x, ._, ._ }, |
| 23570 | .{ ._, .p_, .xor, .tmp3x, .src1x, ._, ._ }, | 27342 | .{ ._, ._pd, .andn, .dst0x, .src1x, ._, ._ }, |
| 23571 | .{ ._, .p_q, .cmpgt, .tmp2x, .tmp3x, ._, ._ }, | 27343 | .{ ._, ._pd, .@"or", .dst0x, .tmp0x, ._, ._ }, |
| 23572 | .{ ._, .p_b, .blendv, .dst0x, .src1x, .tmp2x, ._ }, | ||
| 23573 | } }, | 27344 | } }, |
| 23574 | }, .{ | 27345 | }, .{ |
| 23575 | .required_features = .{ .avx2, null, null, null }, | 27346 | .required_features = .{ .sse, null, null, null }, |
| 23576 | .src_constraints = .{ | 27347 | .src_constraints = .{ |
| 23577 | .{ .scalar_exact_unsigned_int = .{ .of = .yword, .is = 64 } }, | 27348 | .{ .scalar_float = .{ .of = .qword, .is = .qword } }, |
| 23578 | .{ .scalar_exact_unsigned_int = .{ .of = .yword, .is = 64 } }, | 27349 | .{ .scalar_float = .{ .of = .qword, .is = .qword } }, |
| 23579 | .any, | 27350 | .any, |
| 23580 | }, | 27351 | }, |
| 23581 | .patterns = &.{ | 27352 | .patterns = &.{ |
| 23582 | .{ .src = .{ .to_sse, .mem, .none } }, | 27353 | .{ .src = .{ .{ .to_reg = .xmm0 }, .{ .to_reg = .xmm1 }, .none } }, |
| 23583 | .{ .src = .{ .mem, .to_sse, .none }, .commute = .{ 0, 1 } }, | ||
| 23584 | .{ .src = .{ .to_sse, .to_sse, .none } }, | ||
| 23585 | }, | 27354 | }, |
| 27355 | .call_frame = .{ .alignment = .@"16" }, | ||
| 23586 | .extra_temps = .{ | 27356 | .extra_temps = .{ |
| 23587 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, | 27357 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "fmin" } } }, |
| 23588 | .{ .type = .u64, .kind = .{ .smin_mem = .{ .ref = .src0, .vectorize_to = .none } } }, | 27358 | .unused, |
| 23589 | .{ .type = .vector_4_u64, .kind = .{ .rc = .sse } }, | 27359 | .unused, |
| 23590 | .unused, | 27360 | .unused, |
| 23591 | .unused, | 27361 | .unused, |
| 23592 | .unused, | 27362 | .unused, |
| ... | @@ -23596,147 +27366,106 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -23596,147 +27366,106 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 23596 | .unused, | 27366 | .unused, |
| 23597 | .unused, | 27367 | .unused, |
| 23598 | }, | 27368 | }, |
| 23599 | .dst_temps = .{ .{ .rc = .sse }, .unused }, | 27369 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| 27370 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | ||
| 23600 | .each = .{ .once = &.{ | 27371 | .each = .{ .once = &.{ |
| 23601 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, | 27372 | .{ ._, ._, .call, .tmp0d, ._, ._, ._ }, |
| 23602 | .{ ._, .vp_q, .broadcast, .tmp2y, .lea(.tmp0q), ._, ._ }, | ||
| 23603 | .{ ._, .vp_, .xor, .dst0y, .tmp2y, .src0y, ._ }, | ||
| 23604 | .{ ._, .vp_, .xor, .tmp2y, .tmp2y, .src1y, ._ }, | ||
| 23605 | .{ ._, .vp_q, .cmpgt, .dst0y, .dst0y, .tmp2y, ._ }, | ||
| 23606 | .{ ._, .vp_b, .blendv, .dst0y, .src0y, .src1y, .dst0y }, | ||
| 23607 | } }, | 27373 | } }, |
| 23608 | }, .{ | 27374 | }, .{ |
| 23609 | .required_features = .{ .avx2, null, null, null }, | 27375 | .required_features = .{ .avx, null, null, null }, |
| 23610 | .src_constraints = .{ | 27376 | .src_constraints = .{ |
| 23611 | .{ .multiple_scalar_exact_unsigned_int = .{ .of = .yword, .is = 64 } }, | 27377 | .{ .scalar_float = .{ .of = .xword, .is = .qword } }, |
| 23612 | .{ .multiple_scalar_exact_unsigned_int = .{ .of = .yword, .is = 64 } }, | 27378 | .{ .scalar_float = .{ .of = .xword, .is = .qword } }, |
| 23613 | .any, | 27379 | .any, |
| 23614 | }, | 27380 | }, |
| 23615 | .patterns = &.{ | 27381 | .patterns = &.{ |
| 23616 | .{ .src = .{ .to_mem, .to_mem, .none } }, | 27382 | .{ .src = .{ .to_sse, .to_sse, .none } }, |
| 23617 | }, | 27383 | }, |
| 23618 | .extra_temps = .{ | 27384 | .extra_temps = .{ |
| 23619 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 27385 | .{ .type = .vector_2_f64, .kind = .{ .rc = .sse } }, |
| 23620 | .{ .type = .u64, .kind = .{ .smin_mem = .{ .ref = .src0, .vectorize_to = .none } } }, | 27386 | .unused, |
| 23621 | .{ .type = .vector_4_u64, .kind = .{ .rc = .sse } }, | 27387 | .unused, |
| 23622 | .{ .type = .vector_4_u64, .kind = .{ .rc = .sse } }, | 27388 | .unused, |
| 23623 | .{ .type = .vector_4_u64, .kind = .{ .rc = .sse } }, | 27389 | .unused, |
| 23624 | .{ .type = .vector_4_u64, .kind = .{ .rc = .sse } }, | 27390 | .unused, |
| 23625 | .{ .type = .vector_4_u64, .kind = .{ .rc = .sse } }, | 27391 | .unused, |
| 23626 | .unused, | 27392 | .unused, |
| 23627 | .unused, | 27393 | .unused, |
| 23628 | .unused, | 27394 | .unused, |
| 23629 | .unused, | 27395 | .unused, |
| 23630 | }, | 27396 | }, |
| 23631 | .dst_temps = .{ .mem, .unused }, | 27397 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| 23632 | .clobbers = .{ .eflags = true }, | ||
| 23633 | .each = .{ .once = &.{ | 27398 | .each = .{ .once = &.{ |
| 23634 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, | 27399 | .{ ._, .v_pd, .cmp, .tmp0x, .src0x, .src0x, .vp(.unord) }, |
| 23635 | .{ ._, .vp_q, .broadcast, .tmp2y, .lea(.tmp0q), ._, ._ }, | 27400 | .{ ._, .v_pd, .min, .dst0x, .src1x, .src0x, ._ }, |
| 23636 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, | 27401 | .{ ._, .v_pd, .blendv, .dst0x, .dst0x, .src1x, .tmp0x }, |
| 23637 | .{ .@"0:", .v_dqa, .mov, .tmp3y, .memia(.src0y, .tmp0, .add_size), ._, ._ }, | ||
| 23638 | .{ ._, .v_dqa, .mov, .tmp4y, .memia(.src1y, .tmp0, .add_size), ._, ._ }, | ||
| 23639 | .{ ._, .vp_, .xor, .tmp5y, .tmp3y, .tmp2y, ._ }, | ||
| 23640 | .{ ._, .vp_, .xor, .tmp6y, .tmp4y, .tmp2y, ._ }, | ||
| 23641 | .{ ._, .vp_q, .cmpgt, .tmp5y, .tmp5y, .tmp6y, ._ }, | ||
| 23642 | .{ ._, .vp_b, .blendv, .tmp3y, .tmp3y, .tmp4y, .tmp5y }, | ||
| 23643 | .{ ._, .v_dqa, .mov, .memia(.dst0y, .tmp0, .add_size), .tmp3y, ._, ._ }, | ||
| 23644 | .{ ._, ._, .add, .tmp0p, .si(32), ._, ._ }, | ||
| 23645 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | ||
| 23646 | } }, | 27402 | } }, |
| 23647 | }, .{ | 27403 | }, .{ |
| 23648 | .required_features = .{ .avx, null, null, null }, | 27404 | .required_features = .{ .sse4_1, null, null, null }, |
| 23649 | .src_constraints = .{ | 27405 | .src_constraints = .{ |
| 23650 | .{ .multiple_scalar_exact_unsigned_int = .{ .of = .xword, .is = 64 } }, | 27406 | .{ .scalar_float = .{ .of = .xword, .is = .qword } }, |
| 23651 | .{ .multiple_scalar_exact_unsigned_int = .{ .of = .xword, .is = 64 } }, | 27407 | .{ .scalar_float = .{ .of = .xword, .is = .qword } }, |
| 23652 | .any, | 27408 | .any, |
| 23653 | }, | 27409 | }, |
| 23654 | .patterns = &.{ | 27410 | .patterns = &.{ |
| 23655 | .{ .src = .{ .to_mem, .to_mem, .none } }, | 27411 | .{ .src = .{ .{ .to_reg = .xmm0 }, .mem, .none } }, |
| 23656 | }, | 27412 | .{ .src = .{ .mem, .{ .to_reg = .xmm0 }, .none }, .commute = .{ 0, 1 } }, |
| 23657 | .extra_temps = .{ | 27413 | .{ .src = .{ .{ .to_reg = .xmm0 }, .to_sse, .none } }, |
| 23658 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | ||
| 23659 | .{ .type = .u64, .kind = .{ .smin_mem = .{ .ref = .src0, .vectorize_to = .none } } }, | ||
| 23660 | .{ .type = .vector_2_u64, .kind = .{ .rc = .sse } }, | ||
| 23661 | .{ .type = .vector_2_u64, .kind = .{ .rc = .sse } }, | ||
| 23662 | .{ .type = .vector_2_u64, .kind = .{ .rc = .sse } }, | ||
| 23663 | .{ .type = .vector_2_u64, .kind = .{ .rc = .sse } }, | ||
| 23664 | .{ .type = .vector_2_u64, .kind = .{ .rc = .sse } }, | ||
| 23665 | .unused, | ||
| 23666 | .unused, | ||
| 23667 | .unused, | ||
| 23668 | .unused, | ||
| 23669 | }, | 27414 | }, |
| 23670 | .dst_temps = .{ .mem, .unused }, | 27415 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| 23671 | .clobbers = .{ .eflags = true }, | ||
| 23672 | .each = .{ .once = &.{ | 27416 | .each = .{ .once = &.{ |
| 23673 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, | 27417 | .{ ._, ._pd, .mova, .dst0x, .src1x, ._, ._ }, |
| 23674 | .{ ._, .v_, .movddup, .tmp2x, .lea(.tmp0q), ._, ._ }, | 27418 | .{ ._, ._pd, .min, .dst0x, .src0x, ._, ._ }, |
| 23675 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, | 27419 | .{ ._, ._pd, .cmp, .src0x, .src0x, .sp(.unord), ._ }, |
| 23676 | .{ .@"0:", .v_dqa, .mov, .tmp3x, .memia(.src0x, .tmp0, .add_size), ._, ._ }, | 27420 | .{ ._, ._pd, .blendv, .dst0x, .src1x, .src0x, ._ }, |
| 23677 | .{ ._, .v_dqa, .mov, .tmp4x, .memia(.src1x, .tmp0, .add_size), ._, ._ }, | ||
| 23678 | .{ ._, .vp_, .xor, .tmp5x, .tmp3x, .tmp2x, ._ }, | ||
| 23679 | .{ ._, .vp_, .xor, .tmp6x, .tmp4x, .tmp2x, ._ }, | ||
| 23680 | .{ ._, .vp_q, .cmpgt, .tmp5x, .tmp5x, .tmp6x, ._ }, | ||
| 23681 | .{ ._, .vp_b, .blendv, .tmp3x, .tmp3x, .tmp4x, .tmp5x }, | ||
| 23682 | .{ ._, .v_dqa, .mov, .memia(.dst0x, .tmp0, .add_size), .tmp3x, ._, ._ }, | ||
| 23683 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, | ||
| 23684 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | ||
| 23685 | } }, | 27421 | } }, |
| 23686 | }, .{ | 27422 | }, .{ |
| 23687 | .required_features = .{ .sse4_2, null, null, null }, | 27423 | .required_features = .{ .sse2, null, null, null }, |
| 23688 | .src_constraints = .{ | 27424 | .src_constraints = .{ |
| 23689 | .{ .multiple_scalar_exact_unsigned_int = .{ .of = .xword, .is = 64 } }, | 27425 | .{ .scalar_float = .{ .of = .xword, .is = .qword } }, |
| 23690 | .{ .multiple_scalar_exact_unsigned_int = .{ .of = .xword, .is = 64 } }, | 27426 | .{ .scalar_float = .{ .of = .xword, .is = .qword } }, |
| 23691 | .any, | 27427 | .any, |
| 23692 | }, | 27428 | }, |
| 23693 | .patterns = &.{ | 27429 | .patterns = &.{ |
| 23694 | .{ .src = .{ .to_mem, .to_mem, .none } }, | 27430 | .{ .src = .{ .to_mut_sse, .mem, .none } }, |
| 27431 | .{ .src = .{ .mem, .to_mut_sse, .none }, .commute = .{ 0, 1 } }, | ||
| 27432 | .{ .src = .{ .to_mut_sse, .to_sse, .none } }, | ||
| 23695 | }, | 27433 | }, |
| 23696 | .extra_temps = .{ | 27434 | .extra_temps = .{ |
| 23697 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 27435 | .{ .type = .vector_2_f64, .kind = .{ .rc = .sse } }, |
| 23698 | .{ .type = .u64, .kind = .{ .smin_mem = .{ .ref = .src0, .vectorize_to = .none } } }, | 27436 | .unused, |
| 23699 | .{ .type = .vector_2_u64, .kind = .{ .rc = .sse } }, | 27437 | .unused, |
| 23700 | .{ .type = .vector_2_u64, .kind = .{ .rc = .sse } }, | 27438 | .unused, |
| 23701 | .{ .type = .vector_2_u64, .kind = .{ .rc = .sse } }, | 27439 | .unused, |
| 23702 | .{ .type = .vector_2_u64, .kind = .{ .reg = .xmm0 } }, | 27440 | .unused, |
| 23703 | .{ .type = .vector_2_u64, .kind = .{ .rc = .sse } }, | 27441 | .unused, |
| 23704 | .unused, | 27442 | .unused, |
| 23705 | .unused, | 27443 | .unused, |
| 23706 | .unused, | 27444 | .unused, |
| 23707 | .unused, | 27445 | .unused, |
| 23708 | }, | 27446 | }, |
| 23709 | .dst_temps = .{ .mem, .unused }, | 27447 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| 23710 | .clobbers = .{ .eflags = true }, | ||
| 23711 | .each = .{ .once = &.{ | 27448 | .each = .{ .once = &.{ |
| 23712 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, | 27449 | .{ ._, ._pd, .mova, .tmp0x, .src1x, ._, ._ }, |
| 23713 | .{ ._, ._, .movddup, .tmp2x, .lea(.tmp0q), ._, ._ }, | 27450 | .{ ._, ._pd, .min, .tmp0x, .src0x, ._, ._ }, |
| 23714 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, | 27451 | .{ ._, ._pd, .cmp, .dst0x, .src0x, .sp(.ord), ._ }, |
| 23715 | .{ .@"0:", ._dqa, .mov, .tmp5x, .tmp2x, ._, ._ }, | 27452 | .{ ._, ._pd, .@"and", .tmp0x, .dst0x, ._, ._ }, |
| 23716 | .{ ._, ._dqa, .mov, .tmp6x, .tmp2x, ._, ._ }, | 27453 | .{ ._, ._pd, .andn, .dst0x, .src1x, ._, ._ }, |
| 23717 | .{ ._, ._dqa, .mov, .tmp3x, .memia(.src0x, .tmp0, .add_size), ._, ._ }, | 27454 | .{ ._, ._pd, .@"or", .dst0x, .tmp0x, ._, ._ }, |
| 23718 | .{ ._, ._dqa, .mov, .tmp4x, .memia(.src1x, .tmp0, .add_size), ._, ._ }, | ||
| 23719 | .{ ._, .p_, .xor, .tmp5x, .tmp3x, ._, ._ }, | ||
| 23720 | .{ ._, .p_, .xor, .tmp6x, .tmp4x, ._, ._ }, | ||
| 23721 | .{ ._, .p_q, .cmpgt, .tmp5x, .tmp6x, ._, ._ }, | ||
| 23722 | .{ ._, .p_b, .blendv, .tmp3x, .tmp4x, .tmp5x, ._ }, | ||
| 23723 | .{ ._, ._dqa, .mov, .memia(.dst0x, .tmp0, .add_size), .tmp3x, ._, ._ }, | ||
| 23724 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, | ||
| 23725 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | ||
| 23726 | } }, | 27455 | } }, |
| 23727 | }, .{ | 27456 | }, .{ |
| 23728 | .required_features = .{ .@"64bit", .cmov, null, null }, | 27457 | .required_features = .{ .avx, null, null, null }, |
| 23729 | .src_constraints = .{ | 27458 | .src_constraints = .{ |
| 23730 | .{ .multiple_scalar_unsigned_int = .{ .of = .qword, .is = .qword } }, | 27459 | .{ .scalar_float = .{ .of = .yword, .is = .qword } }, |
| 23731 | .{ .multiple_scalar_unsigned_int = .{ .of = .qword, .is = .qword } }, | 27460 | .{ .scalar_float = .{ .of = .yword, .is = .qword } }, |
| 23732 | .any, | 27461 | .any, |
| 23733 | }, | 27462 | }, |
| 23734 | .patterns = &.{ | 27463 | .patterns = &.{ |
| 23735 | .{ .src = .{ .to_mem, .to_mem, .none } }, | 27464 | .{ .src = .{ .to_sse, .to_sse, .none } }, |
| 23736 | }, | 27465 | }, |
| 23737 | .extra_temps = .{ | 27466 | .extra_temps = .{ |
| 23738 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 27467 | .{ .type = .vector_4_f64, .kind = .{ .rc = .sse } }, |
| 23739 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, | 27468 | .unused, |
| 23740 | .unused, | 27469 | .unused, |
| 23741 | .unused, | 27470 | .unused, |
| 23742 | .unused, | 27471 | .unused, |
| ... | @@ -23747,22 +27476,17 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -23747,22 +27476,17 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 23747 | .unused, | 27476 | .unused, |
| 23748 | .unused, | 27477 | .unused, |
| 23749 | }, | 27478 | }, |
| 23750 | .dst_temps = .{ .mem, .unused }, | 27479 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| 23751 | .clobbers = .{ .eflags = true }, | ||
| 23752 | .each = .{ .once = &.{ | 27480 | .each = .{ .once = &.{ |
| 23753 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, | 27481 | .{ ._, .v_pd, .cmp, .tmp0y, .src0y, .src0y, .vp(.unord) }, |
| 23754 | .{ .@"0:", ._, .mov, .tmp1q, .memia(.src0q, .tmp0, .add_size), ._, ._ }, | 27482 | .{ ._, .v_pd, .min, .dst0y, .src1y, .src0y, ._ }, |
| 23755 | .{ ._, ._, .cmp, .tmp1q, .memia(.src1q, .tmp0, .add_size), ._, ._ }, | 27483 | .{ ._, .v_pd, .blendv, .dst0y, .dst0y, .src1y, .tmp0y }, |
| 23756 | .{ ._, ._ae, .cmov, .tmp1q, .memia(.src1q, .tmp0, .add_size), ._, ._ }, | ||
| 23757 | .{ ._, ._, .mov, .memia(.dst0q, .tmp0, .add_size), .tmp1q, ._, ._ }, | ||
| 23758 | .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ }, | ||
| 23759 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | ||
| 23760 | } }, | 27484 | } }, |
| 23761 | }, .{ | 27485 | }, .{ |
| 23762 | .required_features = .{ .@"64bit", null, null, null }, | 27486 | .required_features = .{ .avx, null, null, null }, |
| 23763 | .src_constraints = .{ | 27487 | .src_constraints = .{ |
| 23764 | .{ .multiple_scalar_unsigned_int = .{ .of = .qword, .is = .qword } }, | 27488 | .{ .multiple_scalar_float = .{ .of = .yword, .is = .qword } }, |
| 23765 | .{ .multiple_scalar_unsigned_int = .{ .of = .qword, .is = .qword } }, | 27489 | .{ .multiple_scalar_float = .{ .of = .yword, .is = .qword } }, |
| 23766 | .any, | 27490 | .any, |
| 23767 | }, | 27491 | }, |
| 23768 | .patterns = &.{ | 27492 | .patterns = &.{ |
| ... | @@ -23770,9 +27494,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -23770,9 +27494,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 23770 | }, | 27494 | }, |
| 23771 | .extra_temps = .{ | 27495 | .extra_temps = .{ |
| 23772 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 27496 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 23773 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, | 27497 | .{ .type = .vector_4_f64, .kind = .{ .rc = .sse } }, |
| 23774 | .unused, | 27498 | .{ .type = .vector_4_f64, .kind = .{ .rc = .sse } }, |
| 23775 | .unused, | 27499 | .{ .type = .vector_4_f64, .kind = .{ .rc = .sse } }, |
| 23776 | .unused, | 27500 | .unused, |
| 23777 | .unused, | 27501 | .unused, |
| 23778 | .unused, | 27502 | .unused, |
| ... | @@ -23785,25 +27509,30 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -23785,25 +27509,30 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 23785 | .clobbers = .{ .eflags = true }, | 27509 | .clobbers = .{ .eflags = true }, |
| 23786 | .each = .{ .once = &.{ | 27510 | .each = .{ .once = &.{ |
| 23787 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, | 27511 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, |
| 23788 | .{ .@"0:", ._, .mov, .tmp1q, .memia(.src0q, .tmp0, .add_size), ._, ._ }, | 27512 | .{ .@"0:", .v_pd, .mova, .tmp1y, .memia(.src0y, .tmp0, .add_size), ._, ._ }, |
| 23789 | .{ ._, ._, .cmp, .tmp1q, .memia(.src1q, .tmp0, .add_size), ._, ._ }, | 27513 | .{ ._, .v_pd, .mova, .tmp2y, .memia(.src1y, .tmp0, .add_size), ._, ._ }, |
| 23790 | .{ ._, ._nae, .j, .@"1f", ._, ._, ._ }, | 27514 | .{ ._, .v_pd, .cmp, .tmp3y, .tmp1y, .tmp1y, .vp(.unord) }, |
| 23791 | .{ ._, ._, .mov, .tmp1q, .memia(.src1q, .tmp0, .add_size), ._, ._ }, | 27515 | .{ ._, .v_pd, .min, .tmp1y, .tmp2y, .tmp1y, ._ }, |
| 23792 | .{ .@"1:", ._, .mov, .memia(.dst0q, .tmp0, .add_size), .tmp1q, ._, ._ }, | 27516 | .{ ._, .v_pd, .blendv, .tmp1y, .tmp1y, .tmp2y, .tmp3y }, |
| 23793 | .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ }, | 27517 | .{ ._, .v_pd, .mova, .memia(.dst0y, .tmp0, .add_size), .tmp1y, ._, ._ }, |
| 27518 | .{ ._, ._, .add, .tmp0p, .si(32), ._, ._ }, | ||
| 23794 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 27519 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 23795 | } }, | 27520 | } }, |
| 23796 | }, .{ | 27521 | }, .{ |
| 23797 | .required_features = .{ .@"64bit", .cmov, null, null }, | 27522 | .required_features = .{ .sse4_1, null, null, null }, |
| 23798 | .src_constraints = .{ .any_scalar_signed_int, .any_scalar_signed_int, .any }, | 27523 | .src_constraints = .{ |
| 27524 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .qword } }, | ||
| 27525 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .qword } }, | ||
| 27526 | .any, | ||
| 27527 | }, | ||
| 23799 | .patterns = &.{ | 27528 | .patterns = &.{ |
| 23800 | .{ .src = .{ .to_mem, .to_mem, .none } }, | 27529 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 23801 | }, | 27530 | }, |
| 23802 | .extra_temps = .{ | 27531 | .extra_temps = .{ |
| 23803 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 27532 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 23804 | .{ .type = .isize, .kind = .{ .reg = .rsi } }, | 27533 | .{ .type = .vector_2_f64, .kind = .{ .reg = .xmm0 } }, |
| 23805 | .{ .type = .u64, .kind = .{ .reg = .rdi } }, | 27534 | .{ .type = .vector_2_f64, .kind = .{ .rc = .sse } }, |
| 23806 | .{ .type = .u64, .kind = .{ .reg = .rcx } }, | 27535 | .{ .type = .vector_2_f64, .kind = .{ .rc = .sse } }, |
| 23807 | .unused, | 27536 | .unused, |
| 23808 | .unused, | 27537 | .unused, |
| 23809 | .unused, | 27538 | .unused, |
| ... | @@ -23815,36 +27544,32 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -23815,36 +27544,32 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 23815 | .dst_temps = .{ .mem, .unused }, | 27544 | .dst_temps = .{ .mem, .unused }, |
| 23816 | .clobbers = .{ .eflags = true }, | 27545 | .clobbers = .{ .eflags = true }, |
| 23817 | .each = .{ .once = &.{ | 27546 | .each = .{ .once = &.{ |
| 23818 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 27547 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, |
| 23819 | .{ .@"0:", ._, .mov, .tmp1d, .sia(-1, .none, .add_src0_elem_size_div_8), ._, ._ }, | 27548 | .{ .@"0:", ._pd, .mova, .tmp1x, .memia(.src0x, .tmp0, .add_size), ._, ._ }, |
| 23820 | .{ ._, ._c, .cl, ._, ._, ._, ._ }, | 27549 | .{ ._, ._pd, .mova, .tmp2x, .memia(.src1x, .tmp0, .add_size), ._, ._ }, |
| 23821 | .{ .@"1:", ._, .mov, .tmp2q, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._ }, | 27550 | .{ ._, ._pd, .mova, .tmp3x, .tmp2x, ._, ._ }, |
| 23822 | .{ ._, ._, .sbb, .tmp2q, .memia(.src1q, .tmp0, .add_unaligned_size), ._, ._ }, | 27551 | .{ ._, ._pd, .min, .tmp3x, .tmp1x, ._, ._ }, |
| 23823 | .{ ._, ._, .lea, .tmp0p, .lead(.tmp0, 8), ._, ._ }, | 27552 | .{ ._, ._pd, .cmp, .tmp1x, .tmp1x, .sp(.unord), ._ }, |
| 23824 | .{ ._, ._c, .de, .tmp1d, ._, ._, ._ }, | 27553 | .{ ._, ._pd, .blendv, .tmp3x, .tmp2x, .tmp1x, ._ }, |
| 23825 | .{ ._, ._nz, .j, .@"1b", ._, ._, ._ }, | 27554 | .{ ._, ._pd, .mova, .memia(.dst0x, .tmp0, .add_size), .tmp3x, ._, ._ }, |
| 23826 | .{ ._, ._, .mov, .tmp2q, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._ }, | 27555 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, |
| 23827 | .{ ._, ._, .sbb, .tmp2q, .memia(.src1q, .tmp0, .add_unaligned_size), ._, ._ }, | ||
| 23828 | .{ ._, ._, .lea, .tmp1p, .memiad(.src0, .tmp0, .add_unaligned_size_sub_elem_size, 8), ._, ._ }, | ||
| 23829 | .{ ._, ._, .lea, .tmp2p, .memiad(.src1, .tmp0, .add_unaligned_size_sub_elem_size, 8), ._, ._ }, | ||
| 23830 | .{ ._, ._ge, .cmov, .tmp1p, .tmp2p, ._, ._ }, | ||
| 23831 | .{ ._, ._, .lea, .tmp2p, .memiad(.dst0, .tmp0, .add_unaligned_size_sub_elem_size, 8), ._, ._ }, | ||
| 23832 | .{ ._, ._, .mov, .tmp3d, .sa(.none, .add_src0_elem_size_div_8), ._, ._ }, | ||
| 23833 | .{ ._, .@"rep _sq", .mov, ._, ._, ._, ._ }, | ||
| 23834 | .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ }, | ||
| 23835 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 27556 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 23836 | } }, | 27557 | } }, |
| 23837 | }, .{ | 27558 | }, .{ |
| 23838 | .required_features = .{ .@"64bit", null, null, null }, | 27559 | .required_features = .{ .sse2, null, null, null }, |
| 23839 | .src_constraints = .{ .any_scalar_signed_int, .any_scalar_signed_int, .any }, | 27560 | .src_constraints = .{ |
| 27561 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .qword } }, | ||
| 27562 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .qword } }, | ||
| 27563 | .any, | ||
| 27564 | }, | ||
| 23840 | .patterns = &.{ | 27565 | .patterns = &.{ |
| 23841 | .{ .src = .{ .to_mem, .to_mem, .none } }, | 27566 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 23842 | }, | 27567 | }, |
| 23843 | .extra_temps = .{ | 27568 | .extra_temps = .{ |
| 23844 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 27569 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 23845 | .{ .type = .isize, .kind = .{ .reg = .rsi } }, | 27570 | .{ .type = .vector_2_f64, .kind = .{ .rc = .sse } }, |
| 23846 | .{ .type = .u64, .kind = .{ .reg = .rdi } }, | 27571 | .{ .type = .vector_2_f64, .kind = .{ .rc = .sse } }, |
| 23847 | .{ .type = .u64, .kind = .{ .reg = .rcx } }, | 27572 | .{ .type = .vector_2_f64, .kind = .{ .rc = .sse } }, |
| 23848 | .unused, | 27573 | .unused, |
| 23849 | .unused, | 27574 | .unused, |
| 23850 | .unused, | 27575 | .unused, |
| ... | @@ -23856,36 +27581,35 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -23856,36 +27581,35 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 23856 | .dst_temps = .{ .mem, .unused }, | 27581 | .dst_temps = .{ .mem, .unused }, |
| 23857 | .clobbers = .{ .eflags = true }, | 27582 | .clobbers = .{ .eflags = true }, |
| 23858 | .each = .{ .once = &.{ | 27583 | .each = .{ .once = &.{ |
| 23859 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 27584 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, |
| 23860 | .{ .@"0:", ._, .mov, .tmp1d, .sia(-1, .none, .add_src0_elem_size_div_8), ._, ._ }, | 27585 | .{ .@"0:", ._pd, .mova, .tmp1x, .memia(.src0x, .tmp0, .add_size), ._, ._ }, |
| 23861 | .{ ._, ._c, .cl, ._, ._, ._, ._ }, | 27586 | .{ ._, ._pd, .mova, .tmp2x, .memia(.src1x, .tmp0, .add_size), ._, ._ }, |
| 23862 | .{ .@"1:", ._, .mov, .tmp2q, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._ }, | 27587 | .{ ._, ._pd, .mova, .tmp3x, .tmp2x, ._, ._ }, |
| 23863 | .{ ._, ._, .sbb, .tmp2q, .memia(.src1q, .tmp0, .add_unaligned_size), ._, ._ }, | 27588 | .{ ._, ._pd, .min, .tmp3x, .tmp1x, ._, ._ }, |
| 23864 | .{ ._, ._, .lea, .tmp0p, .lead(.tmp0, 8), ._, ._ }, | 27589 | .{ ._, ._pd, .cmp, .tmp1x, .tmp1x, .sp(.ord), ._ }, |
| 23865 | .{ ._, ._c, .de, .tmp1d, ._, ._, ._ }, | 27590 | .{ ._, ._pd, .@"and", .tmp3x, .tmp1x, ._, ._ }, |
| 23866 | .{ ._, ._nz, .j, .@"1b", ._, ._, ._ }, | 27591 | .{ ._, ._pd, .andn, .tmp1x, .tmp2x, ._, ._ }, |
| 23867 | .{ ._, ._, .mov, .tmp2q, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._ }, | 27592 | .{ ._, ._pd, .@"or", .tmp1x, .tmp3x, ._, ._ }, |
| 23868 | .{ ._, ._, .sbb, .tmp2q, .memia(.src1q, .tmp0, .add_unaligned_size), ._, ._ }, | 27593 | .{ ._, ._pd, .mova, .memia(.dst0x, .tmp0, .add_size), .tmp1x, ._, ._ }, |
| 23869 | .{ ._, ._, .lea, .tmp1p, .memiad(.src0, .tmp0, .add_unaligned_size_sub_elem_size, 8), ._, ._ }, | 27594 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, |
| 23870 | .{ ._, ._nge, .j, .@"1f", ._, ._, ._ }, | ||
| 23871 | .{ ._, ._, .lea, .tmp1p, .memiad(.src1, .tmp0, .add_unaligned_size_sub_elem_size, 8), ._, ._ }, | ||
| 23872 | .{ .@"1:", ._, .lea, .tmp2p, .memiad(.dst0, .tmp0, .add_unaligned_size_sub_elem_size, 8), ._, ._ }, | ||
| 23873 | .{ ._, ._, .mov, .tmp3d, .sa(.none, .add_src0_elem_size_div_8), ._, ._ }, | ||
| 23874 | .{ ._, .@"rep _sq", .mov, ._, ._, ._, ._ }, | ||
| 23875 | .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ }, | ||
| 23876 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 27595 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 23877 | } }, | 27596 | } }, |
| 23878 | }, .{ | 27597 | }, .{ |
| 23879 | .required_features = .{ .@"64bit", .cmov, null, null }, | 27598 | .required_features = .{ .sse, null, null, null }, |
| 23880 | .src_constraints = .{ .any_scalar_unsigned_int, .any_scalar_unsigned_int, .any }, | 27599 | .src_constraints = .{ |
| 27600 | .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, | ||
| 27601 | .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, | ||
| 27602 | .any, | ||
| 27603 | }, | ||
| 23881 | .patterns = &.{ | 27604 | .patterns = &.{ |
| 23882 | .{ .src = .{ .to_mem, .to_mem, .none } }, | 27605 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 23883 | }, | 27606 | }, |
| 27607 | .call_frame = .{ .alignment = .@"16" }, | ||
| 23884 | .extra_temps = .{ | 27608 | .extra_temps = .{ |
| 23885 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 27609 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 23886 | .{ .type = .isize, .kind = .{ .reg = .rsi } }, | 27610 | .{ .type = .f64, .kind = .{ .reg = .xmm0 } }, |
| 23887 | .{ .type = .u64, .kind = .{ .reg = .rdi } }, | 27611 | .{ .type = .f64, .kind = .{ .reg = .xmm1 } }, |
| 23888 | .{ .type = .u64, .kind = .{ .reg = .rcx } }, | 27612 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "fmin" } } }, |
| 23889 | .unused, | 27613 | .unused, |
| 23890 | .unused, | 27614 | .unused, |
| 23891 | .unused, | 27615 | .unused, |
| ... | @@ -23895,36 +27619,35 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -23895,36 +27619,35 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 23895 | .unused, | 27619 | .unused, |
| 23896 | }, | 27620 | }, |
| 23897 | .dst_temps = .{ .mem, .unused }, | 27621 | .dst_temps = .{ .mem, .unused }, |
| 23898 | .clobbers = .{ .eflags = true }, | 27622 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 23899 | .each = .{ .once = &.{ | 27623 | .each = .{ .once = &.{ |
| 23900 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 27624 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, |
| 23901 | .{ .@"0:", ._, .mov, .tmp1d, .sa(.none, .add_src0_elem_size_div_8), ._, ._ }, | 27625 | .{ .@"0:", ._ps, .xor, .tmp1x, .tmp1x, ._, ._ }, |
| 23902 | .{ ._, ._c, .cl, ._, ._, ._, ._ }, | 27626 | .{ ._, ._ps, .xor, .tmp2x, .tmp2x, ._, ._ }, |
| 23903 | .{ .@"1:", ._, .mov, .tmp2q, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._ }, | 27627 | .{ ._, ._ps, .movl, .tmp1x, .memia(.src0q, .tmp0, .add_size), ._, ._ }, |
| 23904 | .{ ._, ._, .sbb, .tmp2q, .memia(.src1q, .tmp0, .add_unaligned_size), ._, ._ }, | 27628 | .{ ._, ._ps, .movl, .tmp2x, .memia(.src1q, .tmp0, .add_size), ._, ._ }, |
| 23905 | .{ ._, ._, .lea, .tmp0p, .lead(.tmp0, 8), ._, ._ }, | 27629 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, |
| 23906 | .{ ._, ._c, .de, .tmp1d, ._, ._, ._ }, | 27630 | .{ ._, ._ps, .movl, .memia(.dst0q, .tmp0, .add_size), .tmp1q, ._, ._ }, |
| 23907 | .{ ._, ._nz, .j, .@"1b", ._, ._, ._ }, | 27631 | .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ }, |
| 23908 | .{ ._, ._, .lea, .tmp1p, .memia(.src0, .tmp0, .add_unaligned_size_sub_elem_size), ._, ._ }, | 27632 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 23909 | .{ ._, ._, .lea, .tmp2p, .memia(.src1, .tmp0, .add_unaligned_size_sub_elem_size), ._, ._ }, | ||
| 23910 | .{ ._, ._ae, .cmov, .tmp1p, .tmp2p, ._, ._ }, | ||
| 23911 | .{ ._, ._, .lea, .tmp2p, .memia(.dst0, .tmp0, .add_unaligned_size_sub_elem_size), ._, ._ }, | ||
| 23912 | .{ ._, ._, .mov, .tmp3d, .sa(.none, .add_src0_elem_size_div_8), ._, ._ }, | ||
| 23913 | .{ ._, .@"rep _sq", .mov, ._, ._, ._, ._ }, | ||
| 23914 | .{ ._, ._, .@"test", .tmp0p, .tmp0p, ._, ._ }, | ||
| 23915 | .{ ._, ._nz, .j, .@"0b", ._, ._, ._ }, | ||
| 23916 | } }, | 27633 | } }, |
| 23917 | }, .{ | 27634 | }, .{ |
| 23918 | .required_features = .{ .@"64bit", null, null, null }, | 27635 | .required_features = .{ .x87, .cmov, null, null }, |
| 23919 | .src_constraints = .{ .any_scalar_unsigned_int, .any_scalar_unsigned_int, .any }, | 27636 | .src_constraints = .{ |
| 27637 | .{ .scalar_float = .{ .of = .xword, .is = .tbyte } }, | ||
| 27638 | .{ .scalar_float = .{ .of = .xword, .is = .tbyte } }, | ||
| 27639 | .any, | ||
| 27640 | }, | ||
| 23920 | .patterns = &.{ | 27641 | .patterns = &.{ |
| 23921 | .{ .src = .{ .to_mem, .to_mem, .none } }, | 27642 | .{ .src = .{ .to_x87, .mem, .none }, .commute = .{ 0, 1 } }, |
| 27643 | .{ .src = .{ .mem, .to_x87, .none } }, | ||
| 27644 | .{ .src = .{ .to_x87, .to_x87, .none } }, | ||
| 23922 | }, | 27645 | }, |
| 23923 | .extra_temps = .{ | 27646 | .extra_temps = .{ |
| 23924 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 27647 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, |
| 23925 | .{ .type = .isize, .kind = .{ .reg = .rsi } }, | 27648 | .unused, |
| 23926 | .{ .type = .u64, .kind = .{ .reg = .rdi } }, | 27649 | .unused, |
| 23927 | .{ .type = .u64, .kind = .{ .reg = .rcx } }, | 27650 | .unused, |
| 23928 | .unused, | 27651 | .unused, |
| 23929 | .unused, | 27652 | .unused, |
| 23930 | .unused, | 27653 | .unused, |
| ... | @@ -23933,39 +27656,31 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -23933,39 +27656,31 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 23933 | .unused, | 27656 | .unused, |
| 23934 | .unused, | 27657 | .unused, |
| 23935 | }, | 27658 | }, |
| 23936 | .dst_temps = .{ .mem, .unused }, | 27659 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src1, .rc = .x87 } }, .unused }, |
| 23937 | .clobbers = .{ .eflags = true }, | 27660 | .clobbers = .{ .eflags = true }, |
| 23938 | .each = .{ .once = &.{ | 27661 | .each = .{ .once = &.{ |
| 23939 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 27662 | .{ ._, .f_, .ld, .src0t, ._, ._, ._ }, |
| 23940 | .{ .@"0:", ._, .mov, .tmp1d, .sa(.none, .add_src0_elem_size_div_8), ._, ._ }, | 27663 | .{ ._, .f_, .ucomi, .tmp0t, .tmp0t, ._, ._ }, |
| 23941 | .{ ._, ._c, .cl, ._, ._, ._, ._ }, | 27664 | .{ ._, .f_u, .cmov, .tmp0t, .src1t, ._, ._ }, |
| 23942 | .{ .@"1:", ._, .mov, .tmp2q, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._ }, | 27665 | .{ ._, .f_, .ucomi, .tmp0t, .src1t, ._, ._ }, |
| 23943 | .{ ._, ._, .sbb, .tmp2q, .memia(.src1q, .tmp0, .add_unaligned_size), ._, ._ }, | 27666 | .{ ._, .f_nb, .cmov, .tmp0t, .src1t, ._, ._ }, |
| 23944 | .{ ._, ._, .lea, .tmp0p, .lead(.tmp0, 8), ._, ._ }, | 27667 | .{ ._, .f_p, .st, .dst0t, ._, ._, ._ }, |
| 23945 | .{ ._, ._c, .de, .tmp1d, ._, ._, ._ }, | ||
| 23946 | .{ ._, ._nz, .j, .@"1b", ._, ._, ._ }, | ||
| 23947 | .{ ._, ._, .lea, .tmp1p, .memia(.src0, .tmp0, .add_unaligned_size_sub_elem_size), ._, ._ }, | ||
| 23948 | .{ ._, ._nae, .j, .@"1f", ._, ._, ._ }, | ||
| 23949 | .{ ._, ._, .lea, .tmp1p, .memia(.src1, .tmp0, .add_unaligned_size_sub_elem_size), ._, ._ }, | ||
| 23950 | .{ .@"1:", ._, .lea, .tmp2p, .memia(.dst0, .tmp0, .add_unaligned_size_sub_elem_size), ._, ._ }, | ||
| 23951 | .{ ._, ._, .mov, .tmp3d, .sa(.none, .add_src0_elem_size_div_8), ._, ._ }, | ||
| 23952 | .{ ._, .@"rep _sq", .mov, ._, ._, ._, ._ }, | ||
| 23953 | .{ ._, ._, .@"test", .tmp0p, .tmp0p, ._, ._ }, | ||
| 23954 | .{ ._, ._nz, .j, .@"0b", ._, ._, ._ }, | ||
| 23955 | } }, | 27668 | } }, |
| 23956 | }, .{ | 27669 | }, .{ |
| 23957 | .required_features = .{ .f16c, null, null, null }, | 27670 | .required_features = .{ .sahf, .x87, null, null }, |
| 23958 | .src_constraints = .{ | 27671 | .src_constraints = .{ |
| 23959 | .{ .scalar_float = .{ .of = .word, .is = .word } }, | 27672 | .{ .scalar_float = .{ .of = .xword, .is = .tbyte } }, |
| 23960 | .{ .scalar_float = .{ .of = .word, .is = .word } }, | 27673 | .{ .scalar_float = .{ .of = .xword, .is = .tbyte } }, |
| 23961 | .any, | 27674 | .any, |
| 23962 | }, | 27675 | }, |
| 23963 | .patterns = &.{ | 27676 | .patterns = &.{ |
| 23964 | .{ .src = .{ .to_sse, .to_sse, .none } }, | 27677 | .{ .src = .{ .to_x87, .mem, .none }, .commute = .{ 0, 1 } }, |
| 27678 | .{ .src = .{ .mem, .to_x87, .none } }, | ||
| 27679 | .{ .src = .{ .to_x87, .to_x87, .none } }, | ||
| 23965 | }, | 27680 | }, |
| 23966 | .extra_temps = .{ | 27681 | .extra_temps = .{ |
| 23967 | .{ .type = .f16, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .sse } } }, | 27682 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, |
| 23968 | .{ .type = .f16, .kind = .{ .rc = .sse } }, | 27683 | .{ .type = .u8, .kind = .{ .reg = .ah } }, |
| 23969 | .unused, | 27684 | .unused, |
| 23970 | .unused, | 27685 | .unused, |
| 23971 | .unused, | 27686 | .unused, |
| ... | @@ -23976,29 +27691,37 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -23976,29 +27691,37 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 23976 | .unused, | 27691 | .unused, |
| 23977 | .unused, | 27692 | .unused, |
| 23978 | }, | 27693 | }, |
| 23979 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, | 27694 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src1, .rc = .x87 } }, .unused }, |
| 27695 | .clobbers = .{ .eflags = true }, | ||
| 23980 | .each = .{ .once = &.{ | 27696 | .each = .{ .once = &.{ |
| 23981 | .{ ._, .v_ps, .cvtph2, .dst0x, .src0q, ._, ._ }, | 27697 | .{ ._, .f_, .ld, .src0t, ._, ._, ._ }, |
| 23982 | .{ ._, .v_ps, .cvtph2, .tmp0x, .src1q, ._, ._ }, | 27698 | .{ ._, .f_, .ucom, .tmp0t, ._, ._, ._ }, |
| 23983 | .{ ._, .v_ss, .cmp, .tmp1x, .dst0x, .dst0d, .vp(.unord) }, | 27699 | .{ ._, .fn_sw, .st, .tmp1w, ._, ._, ._ }, |
| 23984 | .{ ._, .v_ss, .min, .dst0x, .tmp0x, .dst0d, ._ }, | 27700 | .{ ._, ._, .sahf, ._, ._, ._, ._ }, |
| 23985 | .{ ._, .v_ps, .blendv, .dst0x, .dst0x, .tmp0x, .tmp1x }, | 27701 | .{ ._, ._p, .j, .@"0f", ._, ._, ._ }, |
| 23986 | .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ }, | 27702 | .{ ._, .f_, .ucom, .src1t, ._, ._, ._ }, |
| 27703 | .{ ._, .fn_sw, .st, .tmp1w, ._, ._, ._ }, | ||
| 27704 | .{ ._, ._, .sahf, ._, ._, ._, ._ }, | ||
| 27705 | .{ ._, ._b, .j, .@"1f", ._, ._, ._ }, | ||
| 27706 | .{ .@"0:", .f_p, .st, .tmp0t, ._, ._, ._ }, | ||
| 27707 | .{ ._, .f_, .ld, .src1t, ._, ._, ._ }, | ||
| 27708 | .{ .@"1:", .f_p, .st, .dst0t, ._, ._, ._ }, | ||
| 23987 | } }, | 27709 | } }, |
| 23988 | }, .{ | 27710 | }, .{ |
| 23989 | .required_features = .{ .sse, null, null, null }, | 27711 | .required_features = .{ .x87, null, null, null }, |
| 23990 | .src_constraints = .{ | 27712 | .src_constraints = .{ |
| 23991 | .{ .scalar_float = .{ .of = .word, .is = .word } }, | 27713 | .{ .scalar_float = .{ .of = .xword, .is = .tbyte } }, |
| 23992 | .{ .scalar_float = .{ .of = .word, .is = .word } }, | 27714 | .{ .scalar_float = .{ .of = .xword, .is = .tbyte } }, |
| 23993 | .any, | 27715 | .any, |
| 23994 | }, | 27716 | }, |
| 23995 | .patterns = &.{ | 27717 | .patterns = &.{ |
| 23996 | .{ .src = .{ .{ .to_reg = .xmm0 }, .{ .to_reg = .xmm1 }, .none } }, | 27718 | .{ .src = .{ .to_x87, .mem, .none }, .commute = .{ 0, 1 } }, |
| 27719 | .{ .src = .{ .mem, .to_x87, .none } }, | ||
| 27720 | .{ .src = .{ .to_x87, .to_x87, .none } }, | ||
| 23997 | }, | 27721 | }, |
| 23998 | .call_frame = .{ .alignment = .@"16" }, | ||
| 23999 | .extra_temps = .{ | 27722 | .extra_temps = .{ |
| 24000 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__fminh" } } }, | 27723 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, |
| 24001 | .unused, | 27724 | .{ .type = .u8, .kind = .{ .reg = .ah } }, |
| 24002 | .unused, | 27725 | .unused, |
| 24003 | .unused, | 27726 | .unused, |
| 24004 | .unused, | 27727 | .unused, |
| ... | @@ -24009,28 +27732,36 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -24009,28 +27732,36 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 24009 | .unused, | 27732 | .unused, |
| 24010 | .unused, | 27733 | .unused, |
| 24011 | }, | 27734 | }, |
| 24012 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, | 27735 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src1, .rc = .x87 } }, .unused }, |
| 24013 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 27736 | .clobbers = .{ .eflags = true }, |
| 24014 | .each = .{ .once = &.{ | 27737 | .each = .{ .once = &.{ |
| 24015 | .{ ._, ._, .call, .tmp0d, ._, ._, ._ }, | 27738 | .{ ._, .f_, .ld, .src0t, ._, ._, ._ }, |
| 27739 | .{ ._, .f_, .xam, ._, ._, ._, ._ }, | ||
| 27740 | .{ ._, .fn_sw, .st, .tmp1w, ._, ._, ._ }, | ||
| 27741 | .{ ._, ._, .@"test", .tmp1b, .si(0b1_000_100), ._, ._ }, | ||
| 27742 | .{ ._, ._z, .j, .@"0f", ._, ._, ._ }, | ||
| 27743 | .{ ._, .f_, .ucom, .src1t, ._, ._, ._ }, | ||
| 27744 | .{ ._, .fn_sw, .st, .tmp1w, ._, ._, ._ }, | ||
| 27745 | .{ ._, ._, .@"test", .tmp1b, .si(0b0_000_001), ._, ._ }, | ||
| 27746 | .{ ._, ._nz, .j, .@"1f", ._, ._, ._ }, | ||
| 27747 | .{ .@"0:", .f_p, .st, .tmp0t, ._, ._, ._ }, | ||
| 27748 | .{ ._, .f_, .ld, .src1t, ._, ._, ._ }, | ||
| 27749 | .{ .@"1:", .f_p, .st, .dst0t, ._, ._, ._ }, | ||
| 24016 | } }, | 27750 | } }, |
| 24017 | }, .{ | 27751 | }, .{ |
| 24018 | .required_features = .{ .f16c, null, null, null }, | 27752 | .required_features = .{ .x87, .cmov, null, null }, |
| 24019 | .src_constraints = .{ | 27753 | .src_constraints = .{ |
| 24020 | .{ .scalar_float = .{ .of = .qword, .is = .word } }, | 27754 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, |
| 24021 | .{ .scalar_float = .{ .of = .qword, .is = .word } }, | 27755 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, |
| 24022 | .any, | 27756 | .any, |
| 24023 | }, | 27757 | }, |
| 24024 | .patterns = &.{ | 27758 | .patterns = &.{ |
| 24025 | .{ .src = .{ .mem, .mem, .none } }, | 27759 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 24026 | .{ .src = .{ .to_sse, .mem, .none } }, | ||
| 24027 | .{ .src = .{ .mem, .to_sse, .none } }, | ||
| 24028 | .{ .src = .{ .to_sse, .to_sse, .none } }, | ||
| 24029 | }, | 27760 | }, |
| 24030 | .extra_temps = .{ | 27761 | .extra_temps = .{ |
| 24031 | .{ .type = .vector_4_f32, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .sse } } }, | 27762 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 24032 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, | 27763 | .{ .type = .f80, .kind = .{ .reg = .st6 } }, |
| 24033 | .unused, | 27764 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, |
| 24034 | .unused, | 27765 | .unused, |
| 24035 | .unused, | 27766 | .unused, |
| 24036 | .unused, | 27767 | .unused, |
| ... | @@ -24040,33 +27771,36 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -24040,33 +27771,36 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 24040 | .unused, | 27771 | .unused, |
| 24041 | .unused, | 27772 | .unused, |
| 24042 | }, | 27773 | }, |
| 24043 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, | 27774 | .dst_temps = .{ .mem, .unused }, |
| 27775 | .clobbers = .{ .eflags = true }, | ||
| 24044 | .each = .{ .once = &.{ | 27776 | .each = .{ .once = &.{ |
| 24045 | .{ ._, .v_ps, .cvtph2, .dst0x, .src0q, ._, ._ }, | 27777 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, |
| 24046 | .{ ._, .v_ps, .cvtph2, .tmp0x, .src1q, ._, ._ }, | 27778 | .{ .@"0:", .f_, .ld, .memia(.src1t, .tmp0, .add_size), ._, ._, ._ }, |
| 24047 | .{ ._, .v_ps, .cmp, .tmp1x, .dst0x, .dst0x, .vp(.unord) }, | 27779 | .{ ._, .f_, .ld, .memia(.src0t, .tmp0, .add_size), ._, ._, ._ }, |
| 24048 | .{ ._, .v_ps, .min, .dst0x, .tmp0x, .dst0x, ._ }, | 27780 | .{ ._, .f_, .ucomi, .tmp1t, .tmp1t, ._, ._ }, |
| 24049 | .{ ._, .v_ps, .blendv, .dst0x, .dst0x, .tmp0x, .tmp1x }, | 27781 | .{ ._, .f_u, .cmov, .tmp1t, .tmp2t, ._, ._ }, |
| 24050 | .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ }, | 27782 | .{ ._, .f_, .ucomi, .tmp1t, .tmp2t, ._, ._ }, |
| 27783 | .{ ._, .f_nb, .cmov, .tmp1t, .tmp2t, ._, ._ }, | ||
| 27784 | .{ ._, .f_p, .st, .memia(.dst0t, .tmp0, .add_size), ._, ._, ._ }, | ||
| 27785 | .{ ._, .f_p, .st, .tmp2t, ._, ._, ._ }, | ||
| 27786 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, | ||
| 27787 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | ||
| 24051 | } }, | 27788 | } }, |
| 24052 | }, .{ | 27789 | }, .{ |
| 24053 | .required_features = .{ .f16c, null, null, null }, | 27790 | .required_features = .{ .sahf, .x87, null, null }, |
| 24054 | .src_constraints = .{ | 27791 | .src_constraints = .{ |
| 24055 | .{ .scalar_float = .{ .of = .xword, .is = .word } }, | 27792 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, |
| 24056 | .{ .scalar_float = .{ .of = .xword, .is = .word } }, | 27793 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, |
| 24057 | .any, | 27794 | .any, |
| 24058 | }, | 27795 | }, |
| 24059 | .patterns = &.{ | 27796 | .patterns = &.{ |
| 24060 | .{ .src = .{ .mem, .mem, .none } }, | 27797 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| 24061 | .{ .src = .{ .to_sse, .mem, .none } }, | ||
| 24062 | .{ .src = .{ .mem, .to_sse, .none } }, | ||
| 24063 | .{ .src = .{ .to_sse, .to_sse, .none } }, | ||
| 24064 | }, | 27798 | }, |
| 24065 | .extra_temps = .{ | 27799 | .extra_temps = .{ |
| 24066 | .{ .type = .vector_8_f32, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .sse } } }, | 27800 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 24067 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, | 27801 | .{ .type = .f80, .kind = .{ .reg = .st6 } }, |
| 24068 | .unused, | 27802 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, |
| 24069 | .unused, | 27803 | .{ .type = .u8, .kind = .{ .reg = .ah } }, |
| 24070 | .unused, | 27804 | .unused, |
| 24071 | .unused, | 27805 | .unused, |
| 24072 | .unused, | 27806 | .unused, |
| ... | @@ -24075,20 +27809,32 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -24075,20 +27809,32 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 24075 | .unused, | 27809 | .unused, |
| 24076 | .unused, | 27810 | .unused, |
| 24077 | }, | 27811 | }, |
| 24078 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, | 27812 | .dst_temps = .{ .mem, .unused }, |
| 27813 | .clobbers = .{ .eflags = true }, | ||
| 24079 | .each = .{ .once = &.{ | 27814 | .each = .{ .once = &.{ |
| 24080 | .{ ._, .v_ps, .cvtph2, .dst0y, .src0x, ._, ._ }, | 27815 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, |
| 24081 | .{ ._, .v_ps, .cvtph2, .tmp0y, .src1x, ._, ._ }, | 27816 | .{ .@"0:", .f_, .ld, .memia(.src1t, .tmp0, .add_size), ._, ._, ._ }, |
| 24082 | .{ ._, .v_ps, .cmp, .tmp1y, .dst0y, .dst0y, .vp(.unord) }, | 27817 | .{ ._, .f_, .ld, .memia(.src0t, .tmp0, .add_size), ._, ._, ._ }, |
| 24083 | .{ ._, .v_ps, .min, .dst0y, .tmp0y, .dst0y, ._ }, | 27818 | .{ ._, .f_, .ucom, .tmp1t, ._, ._, ._ }, |
| 24084 | .{ ._, .v_ps, .blendv, .dst0y, .dst0y, .tmp0y, .tmp1y }, | 27819 | .{ ._, .fn_sw, .st, .tmp3w, ._, ._, ._ }, |
| 24085 | .{ ._, .v_, .cvtps2ph, .dst0x, .dst0y, .rm(.{}), ._ }, | 27820 | .{ ._, ._, .sahf, ._, ._, ._, ._ }, |
| 27821 | .{ ._, ._p, .j, .@"1f", ._, ._, ._ }, | ||
| 27822 | .{ ._, .f_, .ucom, .tmp2t, ._, ._, ._ }, | ||
| 27823 | .{ ._, .fn_sw, .st, .tmp3w, ._, ._, ._ }, | ||
| 27824 | .{ ._, ._, .sahf, ._, ._, ._, ._ }, | ||
| 27825 | .{ ._, ._b, .j, .@"2f", ._, ._, ._ }, | ||
| 27826 | .{ .@"1:", .f_p, .st, .tmp1t, ._, ._, ._ }, | ||
| 27827 | .{ ._, .f_, .ld, .tmp2t, ._, ._, ._ }, | ||
| 27828 | .{ .@"2:", .f_p, .st, .memia(.dst0t, .tmp0, .add_size), ._, ._, ._ }, | ||
| 27829 | .{ ._, .f_p, .st, .tmp2t, ._, ._, ._ }, | ||
| 27830 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, | ||
| 27831 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | ||
| 24086 | } }, | 27832 | } }, |
| 24087 | }, .{ | 27833 | }, .{ |
| 24088 | .required_features = .{ .f16c, null, null, null }, | 27834 | .required_features = .{ .x87, null, null, null }, |
| 24089 | .src_constraints = .{ | 27835 | .src_constraints = .{ |
| 24090 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .word } }, | 27836 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, |
| 24091 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .word } }, | 27837 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, |
| 24092 | .any, | 27838 | .any, |
| 24093 | }, | 27839 | }, |
| 24094 | .patterns = &.{ | 27840 | .patterns = &.{ |
| ... | @@ -24096,9 +27842,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -24096,9 +27842,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 24096 | }, | 27842 | }, |
| 24097 | .extra_temps = .{ | 27843 | .extra_temps = .{ |
| 24098 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 27844 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 24099 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, | 27845 | .{ .type = .f80, .kind = .{ .reg = .st6 } }, |
| 24100 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, | 27846 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, |
| 24101 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, | 27847 | .{ .type = .u8, .kind = .{ .reg = .ah } }, |
| 24102 | .unused, | 27848 | .unused, |
| 24103 | .unused, | 27849 | .unused, |
| 24104 | .unused, | 27850 | .unused, |
| ... | @@ -24111,31 +27857,39 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -24111,31 +27857,39 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 24111 | .clobbers = .{ .eflags = true }, | 27857 | .clobbers = .{ .eflags = true }, |
| 24112 | .each = .{ .once = &.{ | 27858 | .each = .{ .once = &.{ |
| 24113 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, | 27859 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, |
| 24114 | .{ .@"0:", .v_ps, .cvtph2, .tmp1y, .memia(.src0x, .tmp0, .add_size), ._, ._ }, | 27860 | .{ .@"0:", .f_, .ld, .memia(.src1t, .tmp0, .add_size), ._, ._, ._ }, |
| 24115 | .{ ._, .v_ps, .cvtph2, .tmp2y, .memia(.src1x, .tmp0, .add_size), ._, ._ }, | 27861 | .{ ._, .f_, .ld, .memia(.src0t, .tmp0, .add_size), ._, ._, ._ }, |
| 24116 | .{ ._, .v_ps, .cmp, .tmp3y, .tmp1y, .tmp1y, .vp(.unord) }, | 27862 | .{ ._, .f_, .xam, ._, ._, ._, ._ }, |
| 24117 | .{ ._, .v_ps, .min, .tmp1y, .tmp2y, .tmp1y, ._ }, | 27863 | .{ ._, .fn_sw, .st, .tmp3w, ._, ._, ._ }, |
| 24118 | .{ ._, .v_ps, .blendv, .tmp1y, .tmp1y, .tmp2y, .tmp3y }, | 27864 | .{ ._, ._, .@"test", .tmp3b, .si(0b1_000_100), ._, ._ }, |
| 24119 | .{ ._, .v_, .cvtps2ph, .memia(.dst0x, .tmp0, .add_size), .tmp1y, .rm(.{}), ._ }, | 27865 | .{ ._, ._z, .j, .@"1f", ._, ._, ._ }, |
| 27866 | .{ ._, .f_, .ucom, .tmp2t, ._, ._, ._ }, | ||
| 27867 | .{ ._, .fn_sw, .st, .tmp3w, ._, ._, ._ }, | ||
| 27868 | .{ ._, ._, .@"test", .tmp3b, .si(0b0_000_001), ._, ._ }, | ||
| 27869 | .{ ._, ._nz, .j, .@"2f", ._, ._, ._ }, | ||
| 27870 | .{ .@"1:", .f_p, .st, .tmp1t, ._, ._, ._ }, | ||
| 27871 | .{ ._, .f_, .ld, .tmp2t, ._, ._, ._ }, | ||
| 27872 | .{ .@"2:", .f_p, .st, .memia(.dst0t, .tmp0, .add_size), ._, ._, ._ }, | ||
| 27873 | .{ ._, .f_p, .st, .tmp2t, ._, ._, ._ }, | ||
| 24120 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, | 27874 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, |
| 24121 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 27875 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 24122 | } }, | 27876 | } }, |
| 24123 | }, .{ | 27877 | }, .{ |
| 24124 | .required_features = .{ .avx, null, null, null }, | 27878 | .required_features = .{ .sse, null, null, null }, |
| 24125 | .src_constraints = .{ | 27879 | .src_constraints = .{ |
| 24126 | .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, | 27880 | .{ .scalar_float = .{ .of = .xword, .is = .xword } }, |
| 24127 | .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, | 27881 | .{ .scalar_float = .{ .of = .xword, .is = .xword } }, |
| 24128 | .any, | 27882 | .any, |
| 24129 | }, | 27883 | }, |
| 24130 | .patterns = &.{ | 27884 | .patterns = &.{ |
| 24131 | .{ .src = .{ .to_mem, .to_mem, .none } }, | 27885 | .{ .src = .{ .{ .to_reg = .xmm0 }, .{ .to_reg = .xmm1 }, .none } }, |
| 24132 | }, | 27886 | }, |
| 24133 | .call_frame = .{ .alignment = .@"16" }, | 27887 | .call_frame = .{ .alignment = .@"16" }, |
| 24134 | .extra_temps = .{ | 27888 | .extra_temps = .{ |
| 24135 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 27889 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "fminq" } } }, |
| 24136 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, | 27890 | .unused, |
| 24137 | .{ .type = .f16, .kind = .{ .reg = .xmm1 } }, | 27891 | .unused, |
| 24138 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__fminh" } } }, | 27892 | .unused, |
| 24139 | .unused, | 27893 | .unused, |
| 24140 | .unused, | 27894 | .unused, |
| 24141 | .unused, | 27895 | .unused, |
| ... | @@ -24144,23 +27898,16 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -24144,23 +27898,16 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 24144 | .unused, | 27898 | .unused, |
| 24145 | .unused, | 27899 | .unused, |
| 24146 | }, | 27900 | }, |
| 24147 | .dst_temps = .{ .mem, .unused }, | 27901 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| 24148 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 27902 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 24149 | .each = .{ .once = &.{ | 27903 | .each = .{ .once = &.{ |
| 24150 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, | 27904 | .{ ._, ._, .call, .tmp0d, ._, ._, ._ }, |
| 24151 | .{ .@"0:", .vp_, .xor, .tmp2x, .tmp2x, .tmp2x, ._ }, | ||
| 24152 | .{ ._, .vp_w, .insr, .tmp1x, .tmp2x, .memia(.src0w, .tmp0, .add_size), .ui(0) }, | ||
| 24153 | .{ ._, .vp_w, .insr, .tmp2x, .tmp2x, .memia(.src1w, .tmp0, .add_size), .ui(0) }, | ||
| 24154 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, | ||
| 24155 | .{ ._, .vp_w, .extr, .memia(.dst0w, .tmp0, .add_size), .tmp1x, .ui(0), ._ }, | ||
| 24156 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, | ||
| 24157 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | ||
| 24158 | } }, | 27905 | } }, |
| 24159 | }, .{ | 27906 | }, .{ |
| 24160 | .required_features = .{ .sse4_1, null, null, null }, | 27907 | .required_features = .{ .avx, null, null, null }, |
| 24161 | .src_constraints = .{ | 27908 | .src_constraints = .{ |
| 24162 | .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, | 27909 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, |
| 24163 | .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, | 27910 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, |
| 24164 | .any, | 27911 | .any, |
| 24165 | }, | 27912 | }, |
| 24166 | .patterns = &.{ | 27913 | .patterns = &.{ |
| ... | @@ -24169,9 +27916,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -24169,9 +27916,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 24169 | .call_frame = .{ .alignment = .@"16" }, | 27916 | .call_frame = .{ .alignment = .@"16" }, |
| 24170 | .extra_temps = .{ | 27917 | .extra_temps = .{ |
| 24171 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 27918 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 24172 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, | 27919 | .{ .type = .f128, .kind = .{ .reg = .xmm0 } }, |
| 24173 | .{ .type = .f16, .kind = .{ .reg = .xmm1 } }, | 27920 | .{ .type = .f128, .kind = .{ .reg = .xmm1 } }, |
| 24174 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__fminh" } } }, | 27921 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "fminq" } } }, |
| 24175 | .unused, | 27922 | .unused, |
| 24176 | .unused, | 27923 | .unused, |
| 24177 | .unused, | 27924 | .unused, |
| ... | @@ -24184,20 +27931,18 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -24184,20 +27931,18 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 24184 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 27931 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 24185 | .each = .{ .once = &.{ | 27932 | .each = .{ .once = &.{ |
| 24186 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, | 27933 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, |
| 24187 | .{ .@"0:", .p_, .xor, .tmp1x, .tmp1x, ._, ._ }, | 27934 | .{ .@"0:", .v_dqa, .mov, .tmp1x, .memia(.src0x, .tmp0, .add_size), ._, ._ }, |
| 24188 | .{ ._, .p_, .xor, .tmp2x, .tmp2x, ._, ._ }, | 27935 | .{ ._, .v_dqa, .mov, .tmp2x, .memia(.src1x, .tmp0, .add_size), ._, ._ }, |
| 24189 | .{ ._, .p_w, .insr, .tmp1x, .memia(.src0w, .tmp0, .add_size), .ui(0), ._ }, | ||
| 24190 | .{ ._, .p_w, .insr, .tmp2x, .memia(.src1w, .tmp0, .add_size), .ui(0), ._ }, | ||
| 24191 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, | 27936 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, |
| 24192 | .{ ._, .p_w, .extr, .memia(.dst0w, .tmp0, .add_size), .tmp1x, .ui(0), ._ }, | 27937 | .{ ._, .v_dqa, .mov, .memia(.dst0x, .tmp0, .add_size), .tmp1x, ._, ._ }, |
| 24193 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, | 27938 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, |
| 24194 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 27939 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 24195 | } }, | 27940 | } }, |
| 24196 | }, .{ | 27941 | }, .{ |
| 24197 | .required_features = .{ .sse2, null, null, null }, | 27942 | .required_features = .{ .sse2, null, null, null }, |
| 24198 | .src_constraints = .{ | 27943 | .src_constraints = .{ |
| 24199 | .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, | 27944 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, |
| 24200 | .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, | 27945 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, |
| 24201 | .any, | 27946 | .any, |
| 24202 | }, | 27947 | }, |
| 24203 | .patterns = &.{ | 27948 | .patterns = &.{ |
| ... | @@ -24206,10 +27951,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -24206,10 +27951,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 24206 | .call_frame = .{ .alignment = .@"16" }, | 27951 | .call_frame = .{ .alignment = .@"16" }, |
| 24207 | .extra_temps = .{ | 27952 | .extra_temps = .{ |
| 24208 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 27953 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 24209 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, | 27954 | .{ .type = .f128, .kind = .{ .reg = .xmm0 } }, |
| 24210 | .{ .type = .f16, .kind = .{ .reg = .xmm1 } }, | 27955 | .{ .type = .f128, .kind = .{ .reg = .xmm1 } }, |
| 24211 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__fminh" } } }, | 27956 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "fminq" } } }, |
| 24212 | .{ .type = .f16, .kind = .{ .reg = .ax } }, | 27957 | .unused, |
| 24213 | .unused, | 27958 | .unused, |
| 24214 | .unused, | 27959 | .unused, |
| 24215 | .unused, | 27960 | .unused, |
| ... | @@ -24221,21 +27966,18 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -24221,21 +27966,18 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 24221 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 27966 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 24222 | .each = .{ .once = &.{ | 27967 | .each = .{ .once = &.{ |
| 24223 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, | 27968 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, |
| 24224 | .{ .@"0:", .p_, .xor, .tmp1x, .tmp1x, ._, ._ }, | 27969 | .{ .@"0:", ._dqa, .mov, .tmp1x, .memia(.src0x, .tmp0, .add_size), ._, ._ }, |
| 24225 | .{ ._, .p_, .xor, .tmp2x, .tmp2x, ._, ._ }, | 27970 | .{ ._, ._dqa, .mov, .tmp2x, .memia(.src1x, .tmp0, .add_size), ._, ._ }, |
| 24226 | .{ ._, .p_w, .insr, .tmp1x, .memia(.src0w, .tmp0, .add_size), .ui(0), ._ }, | ||
| 24227 | .{ ._, .p_w, .insr, .tmp2x, .memia(.src1w, .tmp0, .add_size), .ui(0), ._ }, | ||
| 24228 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, | 27971 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, |
| 24229 | .{ ._, .p_w, .extr, .tmp4d, .tmp1x, .ui(0), ._ }, | 27972 | .{ ._, ._dqa, .mov, .memia(.dst0x, .tmp0, .add_size), .tmp1x, ._, ._ }, |
| 24230 | .{ ._, ._, .mov, .memia(.dst0w, .tmp0, .add_size), .tmp4w, ._, ._ }, | 27973 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, |
| 24231 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, | ||
| 24232 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 27974 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 24233 | } }, | 27975 | } }, |
| 24234 | }, .{ | 27976 | }, .{ |
| 24235 | .required_features = .{ .sse, null, null, null }, | 27977 | .required_features = .{ .sse, null, null, null }, |
| 24236 | .src_constraints = .{ | 27978 | .src_constraints = .{ |
| 24237 | .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, | 27979 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, |
| 24238 | .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, | 27980 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, |
| 24239 | .any, | 27981 | .any, |
| 24240 | }, | 27982 | }, |
| 24241 | .patterns = &.{ | 27983 | .patterns = &.{ |
| ... | @@ -24244,11 +27986,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -24244,11 +27986,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 24244 | .call_frame = .{ .alignment = .@"16" }, | 27986 | .call_frame = .{ .alignment = .@"16" }, |
| 24245 | .extra_temps = .{ | 27987 | .extra_temps = .{ |
| 24246 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 27988 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 24247 | .{ .type = .f16, .kind = .{ .reg = .ax } }, | 27989 | .{ .type = .f128, .kind = .{ .reg = .xmm0 } }, |
| 24248 | .{ .type = .f32, .kind = .mem }, | 27990 | .{ .type = .f128, .kind = .{ .reg = .xmm1 } }, |
| 24249 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, | 27991 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "fminq" } } }, |
| 24250 | .{ .type = .f16, .kind = .{ .reg = .xmm1 } }, | 27992 | .unused, |
| 24251 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__fminh" } } }, | 27993 | .unused, |
| 24252 | .unused, | 27994 | .unused, |
| 24253 | .unused, | 27995 | .unused, |
| 24254 | .unused, | 27996 | .unused, |
| ... | @@ -24259,554 +28001,627 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -24259,554 +28001,627 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 24259 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 28001 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 24260 | .each = .{ .once = &.{ | 28002 | .each = .{ .once = &.{ |
| 24261 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, | 28003 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, |
| 24262 | .{ .@"0:", ._, .movzx, .tmp1d, .memia(.src0w, .tmp0, .add_size), ._, ._ }, | 28004 | .{ .@"0:", ._ps, .mova, .tmp1x, .memia(.src0x, .tmp0, .add_size), ._, ._ }, |
| 24263 | .{ ._, ._, .mov, .mem(.tmp2d), .tmp1d, ._, ._ }, | 28005 | .{ ._, ._ps, .mova, .tmp2x, .memia(.src1x, .tmp0, .add_size), ._, ._ }, |
| 24264 | .{ ._, ._ss, .mov, .tmp3x, .mem(.tmp2d), ._, ._ }, | 28006 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, |
| 24265 | .{ ._, ._, .movzx, .tmp1d, .memia(.src1w, .tmp0, .add_size), ._, ._ }, | 28007 | .{ ._, ._ps, .mova, .memia(.dst0x, .tmp0, .add_size), .tmp1x, ._, ._ }, |
| 24266 | .{ ._, ._, .mov, .mem(.tmp2d), .tmp1d, ._, ._ }, | 28008 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, |
| 24267 | .{ ._, ._ss, .mov, .tmp4x, .mem(.tmp2d), ._, ._ }, | ||
| 24268 | .{ ._, ._, .call, .tmp5d, ._, ._, ._ }, | ||
| 24269 | .{ ._, ._ss, .mov, .mem(.tmp2d), .tmp3x, ._, ._ }, | ||
| 24270 | .{ ._, ._, .mov, .tmp1d, .mem(.tmp2d), ._, ._ }, | ||
| 24271 | .{ ._, ._, .mov, .memia(.dst0w, .tmp0, .add_size), .tmp1w, ._, ._ }, | ||
| 24272 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, | ||
| 24273 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 28009 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 24274 | } }, | 28010 | } }, |
| 24275 | }, .{ | 28011 | } }) catch |err| switch (err) { |
| 24276 | .required_features = .{ .avx, null, null, null }, | 28012 | error.SelectFailed => return cg.fail("failed to select {s} {} {} {}", .{ |
| 24277 | .src_constraints = .{ | 28013 | @tagName(air_tag), |
| 24278 | .{ .scalar_float = .{ .of = .dword, .is = .dword } }, | 28014 | cg.typeOf(bin_op.lhs).fmt(pt), |
| 24279 | .{ .scalar_float = .{ .of = .dword, .is = .dword } }, | 28015 | ops[0].tracking(cg), |
| 24280 | .any, | 28016 | ops[1].tracking(cg), |
| 24281 | }, | 28017 | }), |
| 28018 | else => |e| return e, | ||
| 28019 | }; | ||
| 28020 | try res[0].finish(inst, &.{ bin_op.lhs, bin_op.rhs }, &ops, cg); | ||
| 28021 | }, | ||
| 28022 | .alloc => if (use_old) try cg.airAlloc(inst) else { | ||
| 28023 | const ty = air_datas[@intFromEnum(inst)].ty; | ||
| 28024 | const slot = try cg.tempInit(ty, .{ .lea_frame = .{ | ||
| 28025 | .index = try cg.allocMemPtr(inst), | ||
| 28026 | } }); | ||
| 28027 | try slot.finish(inst, &.{}, &.{}, cg); | ||
| 28028 | }, | ||
| 28029 | .inferred_alloc, .inferred_alloc_comptime => unreachable, | ||
| 28030 | .ret_ptr => if (use_old) try cg.airRetPtr(inst) else { | ||
| 28031 | const ty = air_datas[@intFromEnum(inst)].ty; | ||
| 28032 | var slot = switch (cg.ret_mcv.long) { | ||
| 28033 | else => unreachable, | ||
| 28034 | .none => try cg.tempInit(ty, .{ .lea_frame = .{ | ||
| 28035 | .index = try cg.allocMemPtr(inst), | ||
| 28036 | } }), | ||
| 28037 | .load_frame => slot: { | ||
| 28038 | var slot = try cg.tempInit(ty, cg.ret_mcv.long); | ||
| 28039 | try slot.toOffset(cg.ret_mcv.short.indirect.off, cg); | ||
| 28040 | break :slot slot; | ||
| 28041 | }, | ||
| 28042 | }; | ||
| 28043 | try slot.finish(inst, &.{}, &.{}, cg); | ||
| 28044 | }, | ||
| 28045 | .assembly => try cg.airAsm(inst), | ||
| 28046 | .bit_and, .bit_or, .xor, .bool_and, .bool_or => |air_tag| if (use_old) try cg.airBinOp(inst, air_tag) else { | ||
| 28047 | const bin_op = air_datas[@intFromEnum(inst)].bin_op; | ||
| 28048 | var ops = try cg.tempsFromOperands(inst, .{ bin_op.lhs, bin_op.rhs }); | ||
| 28049 | var res: [1]Temp = undefined; | ||
| 28050 | cg.select(&res, &.{cg.typeOf(bin_op.lhs)}, &ops, switch (@as(Mir.Inst.Tag, switch (air_tag) { | ||
| 28051 | else => unreachable, | ||
| 28052 | .bit_and, .bool_and => .@"and", | ||
| 28053 | .bit_or, .bool_or => .@"or", | ||
| 28054 | .xor => .xor, | ||
| 28055 | })) { | ||
| 28056 | else => unreachable, | ||
| 28057 | inline .@"and", .@"or", .xor => |mir_tag| comptime &.{ .{ | ||
| 28058 | .src_constraints = .{ .{ .size = .byte }, .{ .size = .byte }, .any }, | ||
| 28059 | .patterns = &.{ | ||
| 28060 | .{ .src = .{ .mut_mem, .imm8, .none } }, | ||
| 28061 | .{ .src = .{ .imm8, .mut_mem, .none }, .commute = .{ 0, 1 } }, | ||
| 28062 | .{ .src = .{ .to_mut_gpr, .imm8, .none } }, | ||
| 28063 | .{ .src = .{ .imm8, .to_mut_gpr, .none }, .commute = .{ 0, 1 } }, | ||
| 28064 | .{ .src = .{ .mut_mem, .to_gpr, .none } }, | ||
| 28065 | .{ .src = .{ .to_gpr, .mut_mem, .none }, .commute = .{ 0, 1 } }, | ||
| 28066 | .{ .src = .{ .to_mut_gpr, .mem, .none } }, | ||
| 28067 | .{ .src = .{ .mem, .to_mut_gpr, .none }, .commute = .{ 0, 1 } }, | ||
| 28068 | .{ .src = .{ .to_mut_gpr, .to_gpr, .none } }, | ||
| 28069 | }, | ||
| 28070 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, | ||
| 28071 | .clobbers = .{ .eflags = true }, | ||
| 28072 | .each = .{ .once = &.{ | ||
| 28073 | .{ ._, ._, mir_tag, .dst0b, .src1b, ._, ._ }, | ||
| 28074 | } }, | ||
| 28075 | }, .{ | ||
| 28076 | .src_constraints = .{ .{ .size = .word }, .{ .size = .word }, .any }, | ||
| 28077 | .patterns = &.{ | ||
| 28078 | .{ .src = .{ .mut_mem, .imm16, .none } }, | ||
| 28079 | .{ .src = .{ .imm16, .mut_mem, .none }, .commute = .{ 0, 1 } }, | ||
| 28080 | .{ .src = .{ .to_mut_gpr, .imm16, .none } }, | ||
| 28081 | .{ .src = .{ .imm16, .to_mut_gpr, .none }, .commute = .{ 0, 1 } }, | ||
| 28082 | .{ .src = .{ .mut_mem, .to_gpr, .none } }, | ||
| 28083 | .{ .src = .{ .to_gpr, .mut_mem, .none }, .commute = .{ 0, 1 } }, | ||
| 28084 | .{ .src = .{ .to_mut_gpr, .mem, .none } }, | ||
| 28085 | .{ .src = .{ .mem, .to_mut_gpr, .none }, .commute = .{ 0, 1 } }, | ||
| 28086 | .{ .src = .{ .to_mut_gpr, .to_gpr, .none } }, | ||
| 28087 | }, | ||
| 28088 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, | ||
| 28089 | .clobbers = .{ .eflags = true }, | ||
| 28090 | .each = .{ .once = &.{ | ||
| 28091 | .{ ._, ._, mir_tag, .dst0w, .src1w, ._, ._ }, | ||
| 28092 | } }, | ||
| 28093 | }, .{ | ||
| 28094 | .src_constraints = .{ .{ .size = .dword }, .{ .size = .dword }, .any }, | ||
| 28095 | .patterns = &.{ | ||
| 28096 | .{ .src = .{ .mut_mem, .imm32, .none } }, | ||
| 28097 | .{ .src = .{ .imm32, .mut_mem, .none }, .commute = .{ 0, 1 } }, | ||
| 28098 | .{ .src = .{ .to_mut_gpr, .imm32, .none } }, | ||
| 28099 | .{ .src = .{ .imm32, .to_mut_gpr, .none }, .commute = .{ 0, 1 } }, | ||
| 28100 | .{ .src = .{ .mut_mem, .to_gpr, .none } }, | ||
| 28101 | .{ .src = .{ .to_gpr, .mut_mem, .none }, .commute = .{ 0, 1 } }, | ||
| 28102 | .{ .src = .{ .to_mut_gpr, .mem, .none } }, | ||
| 28103 | .{ .src = .{ .mem, .to_mut_gpr, .none }, .commute = .{ 0, 1 } }, | ||
| 28104 | .{ .src = .{ .to_mut_gpr, .to_gpr, .none } }, | ||
| 28105 | }, | ||
| 28106 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, | ||
| 28107 | .clobbers = .{ .eflags = true }, | ||
| 28108 | .each = .{ .once = &.{ | ||
| 28109 | .{ ._, ._, mir_tag, .dst0d, .src1d, ._, ._ }, | ||
| 28110 | } }, | ||
| 28111 | }, .{ | ||
| 28112 | .required_features = .{ .@"64bit", null, null, null }, | ||
| 28113 | .src_constraints = .{ .{ .size = .qword }, .{ .size = .qword }, .any }, | ||
| 28114 | .patterns = &.{ | ||
| 28115 | .{ .src = .{ .mut_mem, .simm32, .none } }, | ||
| 28116 | .{ .src = .{ .simm32, .mut_mem, .none }, .commute = .{ 0, 1 } }, | ||
| 28117 | .{ .src = .{ .to_mut_gpr, .simm32, .none } }, | ||
| 28118 | .{ .src = .{ .simm32, .to_mut_gpr, .none }, .commute = .{ 0, 1 } }, | ||
| 28119 | .{ .src = .{ .mut_mem, .to_gpr, .none } }, | ||
| 28120 | .{ .src = .{ .to_gpr, .mut_mem, .none }, .commute = .{ 0, 1 } }, | ||
| 28121 | .{ .src = .{ .to_mut_gpr, .mem, .none } }, | ||
| 28122 | .{ .src = .{ .mem, .to_mut_gpr, .none }, .commute = .{ 0, 1 } }, | ||
| 28123 | .{ .src = .{ .to_mut_gpr, .to_gpr, .none } }, | ||
| 28124 | }, | ||
| 28125 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, | ||
| 28126 | .clobbers = .{ .eflags = true }, | ||
| 28127 | .each = .{ .once = &.{ | ||
| 28128 | .{ ._, ._, mir_tag, .dst0q, .src1q, ._, ._ }, | ||
| 28129 | } }, | ||
| 28130 | }, .{ | ||
| 28131 | .required_features = .{ .mmx, null, null, null }, | ||
| 28132 | .src_constraints = .{ .{ .size = .qword }, .{ .size = .qword }, .any }, | ||
| 28133 | .patterns = &.{ | ||
| 28134 | .{ .src = .{ .to_mut_mm, .mem, .none } }, | ||
| 28135 | .{ .src = .{ .mem, .to_mut_mm, .none }, .commute = .{ 0, 1 } }, | ||
| 28136 | .{ .src = .{ .to_mut_mm, .to_mm, .none } }, | ||
| 28137 | }, | ||
| 28138 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, | ||
| 28139 | .each = .{ .once = &.{ | ||
| 28140 | .{ ._, .p_, mir_tag, .dst0q, .src1q, ._, ._ }, | ||
| 28141 | } }, | ||
| 28142 | }, .{ | ||
| 28143 | .required_features = .{ .avx, null, null, null }, | ||
| 28144 | .src_constraints = .{ .{ .size = .xword }, .{ .size = .xword }, .any }, | ||
| 28145 | .patterns = &.{ | ||
| 28146 | .{ .src = .{ .to_xmm, .mem, .none } }, | ||
| 28147 | .{ .src = .{ .mem, .to_xmm, .none }, .commute = .{ 0, 1 } }, | ||
| 28148 | .{ .src = .{ .to_xmm, .to_xmm, .none } }, | ||
| 28149 | }, | ||
| 28150 | .dst_temps = .{ .{ .rc = .sse }, .unused }, | ||
| 28151 | .each = .{ .once = &.{ | ||
| 28152 | .{ ._, .vp_, mir_tag, .dst0x, .src0x, .src1x, ._ }, | ||
| 28153 | } }, | ||
| 28154 | }, .{ | ||
| 28155 | .required_features = .{ .sse2, null, null, null }, | ||
| 28156 | .src_constraints = .{ .{ .size = .xword }, .{ .size = .xword }, .any }, | ||
| 28157 | .patterns = &.{ | ||
| 28158 | .{ .src = .{ .to_mut_xmm, .mem, .none } }, | ||
| 28159 | .{ .src = .{ .mem, .to_mut_xmm, .none }, .commute = .{ 0, 1 } }, | ||
| 28160 | .{ .src = .{ .to_mut_xmm, .to_xmm, .none } }, | ||
| 28161 | }, | ||
| 28162 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, | ||
| 28163 | .each = .{ .once = &.{ | ||
| 28164 | .{ ._, .p_, mir_tag, .dst0x, .src1x, ._, ._ }, | ||
| 28165 | } }, | ||
| 28166 | }, .{ | ||
| 28167 | .required_features = .{ .sse, null, null, null }, | ||
| 28168 | .src_constraints = .{ .{ .size = .xword }, .{ .size = .xword }, .any }, | ||
| 28169 | .patterns = &.{ | ||
| 28170 | .{ .src = .{ .to_mut_xmm, .mem, .none } }, | ||
| 28171 | .{ .src = .{ .mem, .to_mut_xmm, .none }, .commute = .{ 0, 1 } }, | ||
| 28172 | .{ .src = .{ .to_mut_xmm, .to_xmm, .none } }, | ||
| 28173 | }, | ||
| 28174 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, | ||
| 28175 | .each = .{ .once = &.{ | ||
| 28176 | .{ ._, ._ps, mir_tag, .dst0x, .src1x, ._, ._ }, | ||
| 28177 | } }, | ||
| 28178 | }, .{ | ||
| 28179 | .required_features = .{ .avx2, null, null, null }, | ||
| 28180 | .src_constraints = .{ .{ .size = .yword }, .{ .size = .yword }, .any }, | ||
| 28181 | .patterns = &.{ | ||
| 28182 | .{ .src = .{ .to_ymm, .mem, .none } }, | ||
| 28183 | .{ .src = .{ .mem, .to_ymm, .none }, .commute = .{ 0, 1 } }, | ||
| 28184 | .{ .src = .{ .to_ymm, .to_ymm, .none } }, | ||
| 28185 | }, | ||
| 28186 | .dst_temps = .{ .{ .rc = .sse }, .unused }, | ||
| 28187 | .each = .{ .once = &.{ | ||
| 28188 | .{ ._, .vp_, mir_tag, .dst0y, .src0y, .src1y, ._ }, | ||
| 28189 | } }, | ||
| 28190 | }, .{ | ||
| 28191 | .required_features = .{ .avx, null, null, null }, | ||
| 28192 | .src_constraints = .{ .{ .size = .yword }, .{ .size = .yword }, .any }, | ||
| 28193 | .patterns = &.{ | ||
| 28194 | .{ .src = .{ .to_ymm, .mem, .none } }, | ||
| 28195 | .{ .src = .{ .mem, .to_ymm, .none }, .commute = .{ 0, 1 } }, | ||
| 28196 | .{ .src = .{ .to_ymm, .to_ymm, .none } }, | ||
| 28197 | }, | ||
| 28198 | .dst_temps = .{ .{ .rc = .sse }, .unused }, | ||
| 28199 | .each = .{ .once = &.{ | ||
| 28200 | .{ ._, .v_pd, mir_tag, .dst0y, .src0y, .src1y, ._ }, | ||
| 28201 | } }, | ||
| 28202 | }, .{ | ||
| 28203 | .required_features = .{ .avx2, null, null, null }, | ||
| 28204 | .src_constraints = .{ .{ .multiple_size = .yword }, .{ .multiple_size = .yword }, .any }, | ||
| 28205 | .patterns = &.{ | ||
| 28206 | .{ .src = .{ .to_mem, .to_mem, .none } }, | ||
| 28207 | }, | ||
| 28208 | .extra_temps = .{ | ||
| 28209 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | ||
| 28210 | .{ .type = .vector_32_u8, .kind = .{ .rc = .sse } }, | ||
| 28211 | .unused, | ||
| 28212 | .unused, | ||
| 28213 | .unused, | ||
| 28214 | .unused, | ||
| 28215 | .unused, | ||
| 28216 | .unused, | ||
| 28217 | .unused, | ||
| 28218 | .unused, | ||
| 28219 | .unused, | ||
| 28220 | }, | ||
| 28221 | .dst_temps = .{ .mem, .unused }, | ||
| 28222 | .clobbers = .{ .eflags = true }, | ||
| 28223 | .each = .{ .once = &.{ | ||
| 28224 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, | ||
| 28225 | .{ .@"0:", .v_dqu, .mov, .tmp1y, .memia(.src0y, .tmp0, .add_size), ._, ._ }, | ||
| 28226 | .{ ._, .vp_, mir_tag, .tmp1y, .tmp1y, .memia(.src1y, .tmp0, .add_size), ._ }, | ||
| 28227 | .{ ._, .v_dqu, .mov, .memia(.dst0y, .tmp0, .add_size), .tmp1y, ._, ._ }, | ||
| 28228 | .{ ._, ._, .add, .tmp0p, .si(32), ._, ._ }, | ||
| 28229 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | ||
| 28230 | } }, | ||
| 28231 | }, .{ | ||
| 28232 | .required_features = .{ .avx, null, null, null }, | ||
| 28233 | .src_constraints = .{ .{ .multiple_size = .yword }, .{ .multiple_size = .yword }, .any }, | ||
| 28234 | .patterns = &.{ | ||
| 28235 | .{ .src = .{ .to_mem, .to_mem, .none } }, | ||
| 28236 | }, | ||
| 28237 | .extra_temps = .{ | ||
| 28238 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | ||
| 28239 | .{ .type = .vector_32_u8, .kind = .{ .rc = .sse } }, | ||
| 28240 | .unused, | ||
| 28241 | .unused, | ||
| 28242 | .unused, | ||
| 28243 | .unused, | ||
| 28244 | .unused, | ||
| 28245 | .unused, | ||
| 28246 | .unused, | ||
| 28247 | .unused, | ||
| 28248 | .unused, | ||
| 28249 | }, | ||
| 28250 | .dst_temps = .{ .mem, .unused }, | ||
| 28251 | .clobbers = .{ .eflags = true }, | ||
| 28252 | .each = .{ .once = &.{ | ||
| 28253 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, | ||
| 28254 | .{ .@"0:", .v_pd, .movu, .tmp1y, .memia(.src0y, .tmp0, .add_size), ._, ._ }, | ||
| 28255 | .{ ._, .v_pd, mir_tag, .tmp1y, .tmp1y, .memia(.src1y, .tmp0, .add_size), ._ }, | ||
| 28256 | .{ ._, .v_pd, .movu, .memia(.dst0y, .tmp0, .add_size), .tmp1y, ._, ._ }, | ||
| 28257 | .{ ._, ._, .add, .tmp0p, .si(32), ._, ._ }, | ||
| 28258 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | ||
| 28259 | } }, | ||
| 28260 | }, .{ | ||
| 28261 | .required_features = .{ .avx, null, null, null }, | ||
| 28262 | .src_constraints = .{ .{ .multiple_size = .xword }, .{ .multiple_size = .xword }, .any }, | ||
| 28263 | .patterns = &.{ | ||
| 28264 | .{ .src = .{ .to_mem, .to_mem, .none } }, | ||
| 28265 | }, | ||
| 28266 | .extra_temps = .{ | ||
| 28267 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | ||
| 28268 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, | ||
| 28269 | .unused, | ||
| 28270 | .unused, | ||
| 28271 | .unused, | ||
| 28272 | .unused, | ||
| 28273 | .unused, | ||
| 28274 | .unused, | ||
| 28275 | .unused, | ||
| 28276 | .unused, | ||
| 28277 | .unused, | ||
| 28278 | }, | ||
| 28279 | .dst_temps = .{ .mem, .unused }, | ||
| 28280 | .clobbers = .{ .eflags = true }, | ||
| 28281 | .each = .{ .once = &.{ | ||
| 28282 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, | ||
| 28283 | .{ .@"0:", .v_dqu, .mov, .tmp1x, .memia(.src0x, .tmp0, .add_size), ._, ._ }, | ||
| 28284 | .{ ._, .vp_, mir_tag, .tmp1x, .tmp1x, .memia(.src1x, .tmp0, .add_size), ._ }, | ||
| 28285 | .{ ._, .v_dqu, .mov, .memia(.dst0x, .tmp0, .add_size), .tmp1x, ._, ._ }, | ||
| 28286 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, | ||
| 28287 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | ||
| 28288 | } }, | ||
| 28289 | }, .{ | ||
| 28290 | .required_features = .{ .sse2, null, null, null }, | ||
| 28291 | .src_constraints = .{ .{ .multiple_size = .xword }, .{ .multiple_size = .xword }, .any }, | ||
| 28292 | .patterns = &.{ | ||
| 28293 | .{ .src = .{ .to_mem, .to_mem, .none } }, | ||
| 28294 | }, | ||
| 28295 | .extra_temps = .{ | ||
| 28296 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | ||
| 28297 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, | ||
| 28298 | .unused, | ||
| 28299 | .unused, | ||
| 28300 | .unused, | ||
| 28301 | .unused, | ||
| 28302 | .unused, | ||
| 28303 | .unused, | ||
| 28304 | .unused, | ||
| 28305 | .unused, | ||
| 28306 | .unused, | ||
| 28307 | }, | ||
| 28308 | .dst_temps = .{ .mem, .unused }, | ||
| 28309 | .clobbers = .{ .eflags = true }, | ||
| 28310 | .each = .{ .once = &.{ | ||
| 28311 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, | ||
| 28312 | .{ .@"0:", ._dqu, .mov, .tmp1x, .memia(.src0x, .tmp0, .add_size), ._, ._ }, | ||
| 28313 | .{ ._, .p_, mir_tag, .tmp1x, .memia(.src1x, .tmp0, .add_size), ._, ._ }, | ||
| 28314 | .{ ._, ._dqu, .mov, .memia(.dst0x, .tmp0, .add_size), .tmp1x, ._, ._ }, | ||
| 28315 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, | ||
| 28316 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | ||
| 28317 | } }, | ||
| 28318 | }, .{ | ||
| 28319 | .required_features = .{ .sse, null, null, null }, | ||
| 28320 | .src_constraints = .{ .{ .multiple_size = .xword }, .{ .multiple_size = .xword }, .any }, | ||
| 28321 | .patterns = &.{ | ||
| 28322 | .{ .src = .{ .to_mem, .to_mem, .none } }, | ||
| 28323 | }, | ||
| 28324 | .extra_temps = .{ | ||
| 28325 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | ||
| 28326 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, | ||
| 28327 | .unused, | ||
| 28328 | .unused, | ||
| 28329 | .unused, | ||
| 28330 | .unused, | ||
| 28331 | .unused, | ||
| 28332 | .unused, | ||
| 28333 | .unused, | ||
| 28334 | .unused, | ||
| 28335 | .unused, | ||
| 28336 | }, | ||
| 28337 | .dst_temps = .{ .mem, .unused }, | ||
| 28338 | .clobbers = .{ .eflags = true }, | ||
| 28339 | .each = .{ .once = &.{ | ||
| 28340 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, | ||
| 28341 | .{ .@"0:", ._ps, .movu, .tmp1x, .memia(.src0x, .tmp0, .add_size), ._, ._ }, | ||
| 28342 | .{ ._, ._ps, mir_tag, .tmp1x, .memia(.src1x, .tmp0, .add_size), ._, ._ }, | ||
| 28343 | .{ ._, ._ps, .movu, .memia(.dst0x, .tmp0, .add_size), .tmp1x, ._, ._ }, | ||
| 28344 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, | ||
| 28345 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | ||
| 28346 | } }, | ||
| 28347 | }, .{ | ||
| 28348 | .required_features = .{ .mmx, null, null, null }, | ||
| 28349 | .src_constraints = .{ .{ .multiple_size = .qword }, .{ .multiple_size = .qword }, .any }, | ||
| 28350 | .patterns = &.{ | ||
| 28351 | .{ .src = .{ .to_mem, .to_mem, .none } }, | ||
| 28352 | }, | ||
| 28353 | .extra_temps = .{ | ||
| 28354 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | ||
| 28355 | .{ .kind = .{ .rc = .mmx } }, | ||
| 28356 | .unused, | ||
| 28357 | .unused, | ||
| 28358 | .unused, | ||
| 28359 | .unused, | ||
| 28360 | .unused, | ||
| 28361 | .unused, | ||
| 28362 | .unused, | ||
| 28363 | .unused, | ||
| 28364 | .unused, | ||
| 28365 | }, | ||
| 28366 | .dst_temps = .{ .mem, .unused }, | ||
| 28367 | .clobbers = .{ .eflags = true }, | ||
| 28368 | .each = .{ .once = &.{ | ||
| 28369 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, | ||
| 28370 | .{ .@"0:", ._q, .mov, .tmp1q, .memia(.src0q, .tmp0, .add_size), ._, ._ }, | ||
| 28371 | .{ ._, .p_, mir_tag, .tmp1q, .memia(.src1q, .tmp0, .add_size), ._, ._ }, | ||
| 28372 | .{ ._, ._q, .mov, .memia(.dst0q, .tmp0, .add_size), .tmp1q, ._, ._ }, | ||
| 28373 | .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ }, | ||
| 28374 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | ||
| 28375 | } }, | ||
| 28376 | }, .{ | ||
| 28377 | .src_constraints = .{ .{ .multiple_size = .qword }, .{ .multiple_size = .qword }, .any }, | ||
| 28378 | .patterns = &.{ | ||
| 28379 | .{ .src = .{ .to_mem, .to_mem, .none } }, | ||
| 28380 | }, | ||
| 28381 | .extra_temps = .{ | ||
| 28382 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | ||
| 28383 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, | ||
| 28384 | .unused, | ||
| 28385 | .unused, | ||
| 28386 | .unused, | ||
| 28387 | .unused, | ||
| 28388 | .unused, | ||
| 28389 | .unused, | ||
| 28390 | .unused, | ||
| 28391 | .unused, | ||
| 28392 | .unused, | ||
| 28393 | }, | ||
| 28394 | .dst_temps = .{ .mem, .unused }, | ||
| 28395 | .clobbers = .{ .eflags = true }, | ||
| 28396 | .each = .{ .once = &.{ | ||
| 28397 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, | ||
| 28398 | .{ .@"0:", ._, .mov, .tmp1p, .memia(.src0p, .tmp0, .add_size), ._, ._ }, | ||
| 28399 | .{ ._, ._, mir_tag, .tmp1p, .memia(.src1p, .tmp0, .add_size), ._, ._ }, | ||
| 28400 | .{ ._, ._, .mov, .memia(.dst0p, .tmp0, .add_size), .tmp1p, ._, ._ }, | ||
| 28401 | .{ ._, ._, .add, .tmp0p, .sa(.tmp1, .add_size), ._, ._ }, | ||
| 28402 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | ||
| 28403 | } }, | ||
| 28404 | } }, | ||
| 28405 | }) catch |err| switch (err) { | ||
| 28406 | error.SelectFailed => return cg.fail("failed to select {s} {} {} {}", .{ | ||
| 28407 | @tagName(air_tag), | ||
| 28408 | cg.typeOf(bin_op.lhs).fmt(pt), | ||
| 28409 | ops[0].tracking(cg), | ||
| 28410 | ops[1].tracking(cg), | ||
| 28411 | }), | ||
| 28412 | else => |e| return e, | ||
| 28413 | }; | ||
| 28414 | try res[0].finish(inst, &.{ bin_op.lhs, bin_op.rhs }, &ops, cg); | ||
| 28415 | }, | ||
| 28416 | .shr, .shr_exact => |air_tag| if (use_old) try cg.airShlShrBinOp(inst) else fallback: { | ||
| 28417 | const bin_op = air_datas[@intFromEnum(inst)].bin_op; | ||
| 28418 | if (cg.typeOf(bin_op.lhs).isVector(zcu)) break :fallback try cg.airShlShrBinOp(inst); | ||
| 28419 | var ops = try cg.tempsFromOperands(inst, .{ bin_op.lhs, bin_op.rhs }); | ||
| 28420 | var res: [1]Temp = undefined; | ||
| 28421 | cg.select(&res, &.{cg.typeOf(bin_op.lhs)}, &ops, comptime &.{ .{ | ||
| 28422 | .src_constraints = .{ .{ .signed_int = .byte }, .{ .unsigned_int = .byte }, .any }, | ||
| 24282 | .patterns = &.{ | 28423 | .patterns = &.{ |
| 24283 | .{ .src = .{ .to_sse, .to_sse, .none } }, | 28424 | .{ .src = .{ .mut_mem, .imm8, .none } }, |
| 24284 | }, | 28425 | .{ .src = .{ .to_mut_gpr, .imm8, .none } }, |
| 24285 | .extra_temps = .{ | 28426 | .{ .src = .{ .mut_mem, .{ .to_reg = .cl }, .none } }, |
| 24286 | .{ .type = .f32, .kind = .{ .rc = .sse } }, | 28427 | .{ .src = .{ .to_mut_gpr, .{ .to_reg = .cl }, .none } }, |
| 24287 | .unused, | ||
| 24288 | .unused, | ||
| 24289 | .unused, | ||
| 24290 | .unused, | ||
| 24291 | .unused, | ||
| 24292 | .unused, | ||
| 24293 | .unused, | ||
| 24294 | .unused, | ||
| 24295 | .unused, | ||
| 24296 | .unused, | ||
| 24297 | }, | 28428 | }, |
| 24298 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, | 28429 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| 28430 | .clobbers = .{ .eflags = true }, | ||
| 24299 | .each = .{ .once = &.{ | 28431 | .each = .{ .once = &.{ |
| 24300 | .{ ._, .v_ss, .cmp, .tmp0x, .src0x, .src0d, .vp(.unord) }, | 28432 | .{ ._, ._r, .sa, .dst0b, .src1b, ._, ._ }, |
| 24301 | .{ ._, .v_ss, .min, .dst0x, .src1x, .src0d, ._ }, | ||
| 24302 | .{ ._, .v_ps, .blendv, .dst0x, .dst0x, .src1x, .tmp0x }, | ||
| 24303 | } }, | 28433 | } }, |
| 24304 | }, .{ | 28434 | }, .{ |
| 24305 | .required_features = .{ .sse4_1, null, null, null }, | 28435 | .src_constraints = .{ .{ .unsigned_int = .byte }, .{ .unsigned_int = .byte }, .any }, |
| 24306 | .src_constraints = .{ | ||
| 24307 | .{ .scalar_float = .{ .of = .dword, .is = .dword } }, | ||
| 24308 | .{ .scalar_float = .{ .of = .dword, .is = .dword } }, | ||
| 24309 | .any, | ||
| 24310 | }, | ||
| 24311 | .patterns = &.{ | 28436 | .patterns = &.{ |
| 24312 | .{ .src = .{ .{ .to_reg = .xmm0 }, .to_sse, .none } }, | 28437 | .{ .src = .{ .mut_mem, .imm8, .none } }, |
| 28438 | .{ .src = .{ .to_mut_gpr, .imm8, .none } }, | ||
| 28439 | .{ .src = .{ .mut_mem, .{ .to_reg = .cl }, .none } }, | ||
| 28440 | .{ .src = .{ .to_mut_gpr, .{ .to_reg = .cl }, .none } }, | ||
| 24313 | }, | 28441 | }, |
| 24314 | .dst_temps = .{ .{ .rc = .sse }, .unused }, | 28442 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| 28443 | .clobbers = .{ .eflags = true }, | ||
| 24315 | .each = .{ .once = &.{ | 28444 | .each = .{ .once = &.{ |
| 24316 | .{ ._, ._ps, .mova, .dst0x, .src1x, ._, ._ }, | 28445 | .{ ._, ._r, .sh, .dst0b, .src1b, ._, ._ }, |
| 24317 | .{ ._, ._ss, .min, .dst0x, .src0d, ._, ._ }, | ||
| 24318 | .{ ._, ._ss, .cmp, .src0x, .src0d, .sp(.unord), ._ }, | ||
| 24319 | .{ ._, ._ps, .blendv, .dst0x, .src1x, .src0x, ._ }, | ||
| 24320 | } }, | 28446 | } }, |
| 24321 | }, .{ | 28447 | }, .{ |
| 24322 | .required_features = .{ .sse, null, null, null }, | 28448 | .src_constraints = .{ .{ .signed_int = .word }, .{ .exact_unsigned_int = 4 }, .any }, |
| 24323 | .src_constraints = .{ | ||
| 24324 | .{ .scalar_float = .{ .of = .dword, .is = .dword } }, | ||
| 24325 | .{ .scalar_float = .{ .of = .dword, .is = .dword } }, | ||
| 24326 | .any, | ||
| 24327 | }, | ||
| 24328 | .patterns = &.{ | 28449 | .patterns = &.{ |
| 24329 | .{ .src = .{ .to_mut_sse, .to_sse, .none } }, | 28450 | .{ .src = .{ .mut_mem, .imm8, .none } }, |
| 24330 | }, | 28451 | .{ .src = .{ .to_mut_gpr, .imm8, .none } }, |
| 24331 | .extra_temps = .{ | 28452 | .{ .src = .{ .mut_mem, .{ .to_reg = .cl }, .none } }, |
| 24332 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, | 28453 | .{ .src = .{ .to_mut_gpr, .{ .to_reg = .cl }, .none } }, |
| 24333 | .unused, | ||
| 24334 | .unused, | ||
| 24335 | .unused, | ||
| 24336 | .unused, | ||
| 24337 | .unused, | ||
| 24338 | .unused, | ||
| 24339 | .unused, | ||
| 24340 | .unused, | ||
| 24341 | .unused, | ||
| 24342 | .unused, | ||
| 24343 | }, | 28454 | }, |
| 24344 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, | 28455 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| 28456 | .clobbers = .{ .eflags = true }, | ||
| 24345 | .each = .{ .once = &.{ | 28457 | .each = .{ .once = &.{ |
| 24346 | .{ ._, ._ps, .mova, .tmp0x, .src1x, ._, ._ }, | 28458 | .{ ._, ._r, .sa, .dst0w, .src1b, ._, ._ }, |
| 24347 | .{ ._, ._ss, .min, .tmp0x, .src0d, ._, ._ }, | ||
| 24348 | .{ ._, ._ss, .cmp, .dst0x, .src0d, .sp(.ord), ._ }, | ||
| 24349 | .{ ._, ._ps, .@"and", .tmp0x, .dst0x, ._, ._ }, | ||
| 24350 | .{ ._, ._ps, .andn, .dst0x, .src1x, ._, ._ }, | ||
| 24351 | .{ ._, ._ps, .@"or", .dst0x, .tmp0x, ._, ._ }, | ||
| 24352 | } }, | 28459 | } }, |
| 24353 | }, .{ | 28460 | }, .{ |
| 24354 | .required_features = .{ .avx, null, null, null }, | 28461 | .src_constraints = .{ .{ .unsigned_int = .word }, .{ .exact_unsigned_int = 4 }, .any }, |
| 24355 | .src_constraints = .{ | ||
| 24356 | .{ .scalar_float = .{ .of = .xword, .is = .dword } }, | ||
| 24357 | .{ .scalar_float = .{ .of = .xword, .is = .dword } }, | ||
| 24358 | .any, | ||
| 24359 | }, | ||
| 24360 | .patterns = &.{ | 28462 | .patterns = &.{ |
| 24361 | .{ .src = .{ .to_sse, .to_sse, .none } }, | 28463 | .{ .src = .{ .mut_mem, .imm8, .none } }, |
| 24362 | }, | 28464 | .{ .src = .{ .to_mut_gpr, .imm8, .none } }, |
| 24363 | .extra_temps = .{ | 28465 | .{ .src = .{ .mut_mem, .{ .to_reg = .cl }, .none } }, |
| 24364 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, | 28466 | .{ .src = .{ .to_mut_gpr, .{ .to_reg = .cl }, .none } }, |
| 24365 | .unused, | ||
| 24366 | .unused, | ||
| 24367 | .unused, | ||
| 24368 | .unused, | ||
| 24369 | .unused, | ||
| 24370 | .unused, | ||
| 24371 | .unused, | ||
| 24372 | .unused, | ||
| 24373 | .unused, | ||
| 24374 | .unused, | ||
| 24375 | }, | 28467 | }, |
| 24376 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, | 28468 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| 28469 | .clobbers = .{ .eflags = true }, | ||
| 24377 | .each = .{ .once = &.{ | 28470 | .each = .{ .once = &.{ |
| 24378 | .{ ._, .v_ps, .cmp, .tmp0x, .src0x, .src0x, .vp(.unord) }, | 28471 | .{ ._, ._r, .sh, .dst0w, .src1b, ._, ._ }, |
| 24379 | .{ ._, .v_ps, .min, .dst0x, .src1x, .src0x, ._ }, | ||
| 24380 | .{ ._, .v_ps, .blendv, .dst0x, .dst0x, .src1x, .tmp0x }, | ||
| 24381 | } }, | 28472 | } }, |
| 24382 | }, .{ | 28473 | }, .{ |
| 24383 | .required_features = .{ .sse4_1, null, null, null }, | 28474 | .src_constraints = .{ .{ .signed_int = .dword }, .{ .exact_unsigned_int = 5 }, .any }, |
| 24384 | .src_constraints = .{ | ||
| 24385 | .{ .scalar_float = .{ .of = .xword, .is = .dword } }, | ||
| 24386 | .{ .scalar_float = .{ .of = .xword, .is = .dword } }, | ||
| 24387 | .any, | ||
| 24388 | }, | ||
| 24389 | .patterns = &.{ | 28475 | .patterns = &.{ |
| 24390 | .{ .src = .{ .{ .to_reg = .xmm0 }, .mem, .none } }, | 28476 | .{ .src = .{ .mut_mem, .imm8, .none } }, |
| 24391 | .{ .src = .{ .mem, .{ .to_reg = .xmm0 }, .none }, .commute = .{ 0, 1 } }, | 28477 | .{ .src = .{ .to_mut_gpr, .imm8, .none } }, |
| 24392 | .{ .src = .{ .{ .to_reg = .xmm0 }, .to_sse, .none } }, | ||
| 24393 | }, | 28478 | }, |
| 24394 | .dst_temps = .{ .{ .rc = .sse }, .unused }, | 28479 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| 28480 | .clobbers = .{ .eflags = true }, | ||
| 24395 | .each = .{ .once = &.{ | 28481 | .each = .{ .once = &.{ |
| 24396 | .{ ._, ._ps, .mova, .dst0x, .src1x, ._, ._ }, | 28482 | .{ ._, ._r, .sa, .dst0d, .src1b, ._, ._ }, |
| 24397 | .{ ._, ._ps, .min, .dst0x, .src0x, ._, ._ }, | ||
| 24398 | .{ ._, ._ps, .cmp, .src0x, .src0x, .sp(.unord), ._ }, | ||
| 24399 | .{ ._, ._ps, .blendv, .dst0x, .src1x, .src0x, ._ }, | ||
| 24400 | } }, | 28483 | } }, |
| 24401 | }, .{ | 28484 | }, .{ |
| 24402 | .required_features = .{ .sse, null, null, null }, | 28485 | .src_constraints = .{ .{ .unsigned_int = .dword }, .{ .exact_unsigned_int = 5 }, .any }, |
| 24403 | .src_constraints = .{ | ||
| 24404 | .{ .scalar_float = .{ .of = .xword, .is = .dword } }, | ||
| 24405 | .{ .scalar_float = .{ .of = .xword, .is = .dword } }, | ||
| 24406 | .any, | ||
| 24407 | }, | ||
| 24408 | .patterns = &.{ | 28486 | .patterns = &.{ |
| 24409 | .{ .src = .{ .to_mut_sse, .mem, .none } }, | 28487 | .{ .src = .{ .mut_mem, .imm8, .none } }, |
| 24410 | .{ .src = .{ .mem, .to_mut_sse, .none }, .commute = .{ 0, 1 } }, | 28488 | .{ .src = .{ .to_mut_gpr, .imm8, .none } }, |
| 24411 | .{ .src = .{ .to_mut_sse, .to_sse, .none } }, | ||
| 24412 | }, | ||
| 24413 | .extra_temps = .{ | ||
| 24414 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, | ||
| 24415 | .unused, | ||
| 24416 | .unused, | ||
| 24417 | .unused, | ||
| 24418 | .unused, | ||
| 24419 | .unused, | ||
| 24420 | .unused, | ||
| 24421 | .unused, | ||
| 24422 | .unused, | ||
| 24423 | .unused, | ||
| 24424 | .unused, | ||
| 24425 | }, | 28489 | }, |
| 24426 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, | 28490 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| 28491 | .clobbers = .{ .eflags = true }, | ||
| 24427 | .each = .{ .once = &.{ | 28492 | .each = .{ .once = &.{ |
| 24428 | .{ ._, ._ps, .mova, .tmp0x, .src1x, ._, ._ }, | 28493 | .{ ._, ._r, .sh, .dst0d, .src1b, ._, ._ }, |
| 24429 | .{ ._, ._ps, .min, .tmp0x, .src0x, ._, ._ }, | ||
| 24430 | .{ ._, ._ps, .cmp, .dst0x, .src0x, .sp(.ord), ._ }, | ||
| 24431 | .{ ._, ._ps, .@"and", .tmp0x, .dst0x, ._, ._ }, | ||
| 24432 | .{ ._, ._ps, .andn, .dst0x, .src1x, ._, ._ }, | ||
| 24433 | .{ ._, ._ps, .@"or", .dst0x, .tmp0x, ._, ._ }, | ||
| 24434 | } }, | 28494 | } }, |
| 24435 | }, .{ | 28495 | }, .{ |
| 24436 | .required_features = .{ .avx, null, null, null }, | 28496 | .required_features = .{ .bmi2, null, null, null }, |
| 24437 | .src_constraints = .{ | 28497 | .src_constraints = .{ .{ .signed_int = .dword }, .{ .exact_unsigned_int = 5 }, .any }, |
| 24438 | .{ .scalar_float = .{ .of = .yword, .is = .dword } }, | ||
| 24439 | .{ .scalar_float = .{ .of = .yword, .is = .dword } }, | ||
| 24440 | .any, | ||
| 24441 | }, | ||
| 24442 | .patterns = &.{ | 28498 | .patterns = &.{ |
| 24443 | .{ .src = .{ .to_sse, .to_sse, .none } }, | 28499 | .{ .src = .{ .mem, .to_gpr, .none } }, |
| 24444 | }, | 28500 | .{ .src = .{ .to_gpr, .to_gpr, .none } }, |
| 24445 | .extra_temps = .{ | ||
| 24446 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, | ||
| 24447 | .unused, | ||
| 24448 | .unused, | ||
| 24449 | .unused, | ||
| 24450 | .unused, | ||
| 24451 | .unused, | ||
| 24452 | .unused, | ||
| 24453 | .unused, | ||
| 24454 | .unused, | ||
| 24455 | .unused, | ||
| 24456 | .unused, | ||
| 24457 | }, | 28501 | }, |
| 24458 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, | 28502 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .general_purpose } }, .unused }, |
| 24459 | .each = .{ .once = &.{ | 28503 | .each = .{ .once = &.{ |
| 24460 | .{ ._, .v_ps, .cmp, .tmp0y, .src0y, .src0y, .vp(.unord) }, | 28504 | .{ ._, ._rx, .sa, .dst0d, .src0d, .src1d, ._ }, |
| 24461 | .{ ._, .v_ps, .min, .dst0y, .src1y, .src0y, ._ }, | ||
| 24462 | .{ ._, .v_ps, .blendv, .dst0y, .dst0y, .src1y, .tmp0y }, | ||
| 24463 | } }, | 28505 | } }, |
| 24464 | }, .{ | 28506 | }, .{ |
| 24465 | .required_features = .{ .avx, null, null, null }, | 28507 | .required_features = .{ .bmi2, null, null, null }, |
| 24466 | .src_constraints = .{ | 28508 | .src_constraints = .{ .{ .unsigned_int = .dword }, .{ .exact_unsigned_int = 5 }, .any }, |
| 24467 | .{ .multiple_scalar_float = .{ .of = .yword, .is = .dword } }, | ||
| 24468 | .{ .multiple_scalar_float = .{ .of = .yword, .is = .dword } }, | ||
| 24469 | .any, | ||
| 24470 | }, | ||
| 24471 | .patterns = &.{ | 28509 | .patterns = &.{ |
| 24472 | .{ .src = .{ .to_mem, .to_mem, .none } }, | 28510 | .{ .src = .{ .mem, .to_gpr, .none } }, |
| 24473 | }, | 28511 | .{ .src = .{ .to_gpr, .to_gpr, .none } }, |
| 24474 | .extra_temps = .{ | ||
| 24475 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | ||
| 24476 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, | ||
| 24477 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, | ||
| 24478 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, | ||
| 24479 | .unused, | ||
| 24480 | .unused, | ||
| 24481 | .unused, | ||
| 24482 | .unused, | ||
| 24483 | .unused, | ||
| 24484 | .unused, | ||
| 24485 | .unused, | ||
| 24486 | }, | 28512 | }, |
| 24487 | .dst_temps = .{ .mem, .unused }, | 28513 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .general_purpose } }, .unused }, |
| 24488 | .clobbers = .{ .eflags = true }, | ||
| 24489 | .each = .{ .once = &.{ | 28514 | .each = .{ .once = &.{ |
| 24490 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, | 28515 | .{ ._, ._rx, .sh, .dst0d, .src0d, .src1d, ._ }, |
| 24491 | .{ .@"0:", .v_ps, .mova, .tmp1y, .memia(.src0y, .tmp0, .add_size), ._, ._ }, | ||
| 24492 | .{ ._, .v_ps, .mova, .tmp2y, .memia(.src1y, .tmp0, .add_size), ._, ._ }, | ||
| 24493 | .{ ._, .v_ps, .cmp, .tmp3y, .tmp1y, .tmp1y, .vp(.unord) }, | ||
| 24494 | .{ ._, .v_ps, .min, .tmp1y, .tmp2y, .tmp1y, ._ }, | ||
| 24495 | .{ ._, .v_ps, .blendv, .tmp1y, .tmp1y, .tmp2y, .tmp3y }, | ||
| 24496 | .{ ._, .v_ps, .mova, .memia(.dst0y, .tmp0, .add_size), .tmp1y, ._, ._ }, | ||
| 24497 | .{ ._, ._, .add, .tmp0p, .si(32), ._, ._ }, | ||
| 24498 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | ||
| 24499 | } }, | 28516 | } }, |
| 24500 | }, .{ | 28517 | }, .{ |
| 24501 | .required_features = .{ .sse4_1, null, null, null }, | 28518 | .src_constraints = .{ .{ .signed_int = .dword }, .{ .exact_unsigned_int = 5 }, .any }, |
| 24502 | .src_constraints = .{ | ||
| 24503 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .dword } }, | ||
| 24504 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .dword } }, | ||
| 24505 | .any, | ||
| 24506 | }, | ||
| 24507 | .patterns = &.{ | 28519 | .patterns = &.{ |
| 24508 | .{ .src = .{ .to_mem, .to_mem, .none } }, | 28520 | .{ .src = .{ .mut_mem, .{ .to_reg = .cl }, .none } }, |
| 24509 | }, | 28521 | .{ .src = .{ .to_mut_gpr, .{ .to_reg = .cl }, .none } }, |
| 24510 | .extra_temps = .{ | ||
| 24511 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | ||
| 24512 | .{ .type = .vector_4_f32, .kind = .{ .reg = .xmm0 } }, | ||
| 24513 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, | ||
| 24514 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, | ||
| 24515 | .unused, | ||
| 24516 | .unused, | ||
| 24517 | .unused, | ||
| 24518 | .unused, | ||
| 24519 | .unused, | ||
| 24520 | .unused, | ||
| 24521 | .unused, | ||
| 24522 | }, | 28522 | }, |
| 24523 | .dst_temps = .{ .mem, .unused }, | 28523 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| 24524 | .clobbers = .{ .eflags = true }, | 28524 | .clobbers = .{ .eflags = true }, |
| 24525 | .each = .{ .once = &.{ | 28525 | .each = .{ .once = &.{ |
| 24526 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, | 28526 | .{ ._, ._r, .sa, .dst0d, .src1b, ._, ._ }, |
| 24527 | .{ .@"0:", ._ps, .mova, .tmp1x, .memia(.src0x, .tmp0, .add_size), ._, ._ }, | ||
| 24528 | .{ ._, ._ps, .mova, .tmp2x, .memia(.src1x, .tmp0, .add_size), ._, ._ }, | ||
| 24529 | .{ ._, ._ps, .mova, .tmp3x, .tmp2x, ._, ._ }, | ||
| 24530 | .{ ._, ._ps, .min, .tmp3x, .tmp1x, ._, ._ }, | ||
| 24531 | .{ ._, ._ps, .cmp, .tmp1x, .tmp1x, .sp(.unord), ._ }, | ||
| 24532 | .{ ._, ._ps, .blendv, .tmp3x, .tmp2x, .tmp1x, ._ }, | ||
| 24533 | .{ ._, ._ps, .mova, .memia(.dst0x, .tmp0, .add_size), .tmp3x, ._, ._ }, | ||
| 24534 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, | ||
| 24535 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | ||
| 24536 | } }, | 28527 | } }, |
| 24537 | }, .{ | 28528 | }, .{ |
| 24538 | .required_features = .{ .sse, null, null, null }, | 28529 | .src_constraints = .{ .{ .unsigned_int = .dword }, .{ .exact_unsigned_int = 5 }, .any }, |
| 24539 | .src_constraints = .{ | ||
| 24540 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .dword } }, | ||
| 24541 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .dword } }, | ||
| 24542 | .any, | ||
| 24543 | }, | ||
| 24544 | .patterns = &.{ | 28530 | .patterns = &.{ |
| 24545 | .{ .src = .{ .to_mem, .to_mem, .none } }, | 28531 | .{ .src = .{ .mut_mem, .{ .to_reg = .cl }, .none } }, |
| 24546 | }, | 28532 | .{ .src = .{ .to_mut_gpr, .{ .to_reg = .cl }, .none } }, |
| 24547 | .extra_temps = .{ | ||
| 24548 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | ||
| 24549 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, | ||
| 24550 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, | ||
| 24551 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, | ||
| 24552 | .unused, | ||
| 24553 | .unused, | ||
| 24554 | .unused, | ||
| 24555 | .unused, | ||
| 24556 | .unused, | ||
| 24557 | .unused, | ||
| 24558 | .unused, | ||
| 24559 | }, | 28533 | }, |
| 24560 | .dst_temps = .{ .mem, .unused }, | 28534 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| 24561 | .clobbers = .{ .eflags = true }, | 28535 | .clobbers = .{ .eflags = true }, |
| 24562 | .each = .{ .once = &.{ | 28536 | .each = .{ .once = &.{ |
| 24563 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, | 28537 | .{ ._, ._r, .sh, .dst0d, .src1b, ._, ._ }, |
| 24564 | .{ .@"0:", ._ps, .mova, .tmp1x, .memia(.src0x, .tmp0, .add_size), ._, ._ }, | ||
| 24565 | .{ ._, ._ps, .mova, .tmp2x, .memia(.src1x, .tmp0, .add_size), ._, ._ }, | ||
| 24566 | .{ ._, ._ps, .mova, .tmp3x, .tmp2x, ._, ._ }, | ||
| 24567 | .{ ._, ._ps, .min, .tmp3x, .tmp1x, ._, ._ }, | ||
| 24568 | .{ ._, ._ps, .cmp, .tmp1x, .tmp1x, .sp(.ord), ._ }, | ||
| 24569 | .{ ._, ._ps, .@"and", .tmp3x, .tmp1x, ._, ._ }, | ||
| 24570 | .{ ._, ._ps, .andn, .tmp1x, .tmp2x, ._, ._ }, | ||
| 24571 | .{ ._, ._ps, .@"or", .tmp1x, .tmp3x, ._, ._ }, | ||
| 24572 | .{ ._, ._ps, .mova, .memia(.dst0x, .tmp0, .add_size), .tmp1x, ._, ._ }, | ||
| 24573 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, | ||
| 24574 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | ||
| 24575 | } }, | ||
| 24576 | }, .{ | ||
| 24577 | .required_features = .{ .avx, null, null, null }, | ||
| 24578 | .src_constraints = .{ | ||
| 24579 | .{ .scalar_float = .{ .of = .qword, .is = .qword } }, | ||
| 24580 | .{ .scalar_float = .{ .of = .qword, .is = .qword } }, | ||
| 24581 | .any, | ||
| 24582 | }, | ||
| 24583 | .patterns = &.{ | ||
| 24584 | .{ .src = .{ .to_sse, .to_sse, .none } }, | ||
| 24585 | }, | ||
| 24586 | .extra_temps = .{ | ||
| 24587 | .{ .type = .f64, .kind = .{ .rc = .sse } }, | ||
| 24588 | .unused, | ||
| 24589 | .unused, | ||
| 24590 | .unused, | ||
| 24591 | .unused, | ||
| 24592 | .unused, | ||
| 24593 | .unused, | ||
| 24594 | .unused, | ||
| 24595 | .unused, | ||
| 24596 | .unused, | ||
| 24597 | .unused, | ||
| 24598 | }, | ||
| 24599 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, | ||
| 24600 | .each = .{ .once = &.{ | ||
| 24601 | .{ ._, .v_sd, .cmp, .tmp0x, .src0x, .src0q, .vp(.unord) }, | ||
| 24602 | .{ ._, .v_sd, .min, .dst0x, .src1x, .src0q, ._ }, | ||
| 24603 | .{ ._, .v_pd, .blendv, .dst0x, .dst0x, .src1x, .tmp0x }, | ||
| 24604 | } }, | ||
| 24605 | }, .{ | ||
| 24606 | .required_features = .{ .sse4_1, null, null, null }, | ||
| 24607 | .src_constraints = .{ | ||
| 24608 | .{ .scalar_float = .{ .of = .qword, .is = .qword } }, | ||
| 24609 | .{ .scalar_float = .{ .of = .qword, .is = .qword } }, | ||
| 24610 | .any, | ||
| 24611 | }, | ||
| 24612 | .patterns = &.{ | ||
| 24613 | .{ .src = .{ .{ .to_reg = .xmm0 }, .to_sse, .none } }, | ||
| 24614 | }, | ||
| 24615 | .dst_temps = .{ .{ .rc = .sse }, .unused }, | ||
| 24616 | .each = .{ .once = &.{ | ||
| 24617 | .{ ._, ._pd, .mova, .dst0x, .src1x, ._, ._ }, | ||
| 24618 | .{ ._, ._sd, .min, .dst0x, .src0q, ._, ._ }, | ||
| 24619 | .{ ._, ._sd, .cmp, .src0x, .src0q, .sp(.unord), ._ }, | ||
| 24620 | .{ ._, ._pd, .blendv, .dst0x, .src1x, .src0x, ._ }, | ||
| 24621 | } }, | 28538 | } }, |
| 24622 | }, .{ | 28539 | }, .{ |
| 24623 | .required_features = .{ .sse2, null, null, null }, | 28540 | .required_features = .{ .@"64bit", null, null, null }, |
| 24624 | .src_constraints = .{ | 28541 | .src_constraints = .{ .{ .signed_int = .qword }, .{ .exact_unsigned_int = 6 }, .any }, |
| 24625 | .{ .scalar_float = .{ .of = .qword, .is = .qword } }, | ||
| 24626 | .{ .scalar_float = .{ .of = .qword, .is = .qword } }, | ||
| 24627 | .any, | ||
| 24628 | }, | ||
| 24629 | .patterns = &.{ | 28542 | .patterns = &.{ |
| 24630 | .{ .src = .{ .to_mut_sse, .to_sse, .none } }, | 28543 | .{ .src = .{ .mut_mem, .imm8, .none } }, |
| 24631 | }, | 28544 | .{ .src = .{ .to_mut_gpr, .imm8, .none } }, |
| 24632 | .extra_temps = .{ | ||
| 24633 | .{ .type = .vector_2_f64, .kind = .{ .rc = .sse } }, | ||
| 24634 | .unused, | ||
| 24635 | .unused, | ||
| 24636 | .unused, | ||
| 24637 | .unused, | ||
| 24638 | .unused, | ||
| 24639 | .unused, | ||
| 24640 | .unused, | ||
| 24641 | .unused, | ||
| 24642 | .unused, | ||
| 24643 | .unused, | ||
| 24644 | }, | 28545 | }, |
| 24645 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, | 28546 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| 28547 | .clobbers = .{ .eflags = true }, | ||
| 24646 | .each = .{ .once = &.{ | 28548 | .each = .{ .once = &.{ |
| 24647 | .{ ._, ._pd, .mova, .tmp0x, .src1x, ._, ._ }, | 28549 | .{ ._, ._r, .sa, .dst0q, .src1b, ._, ._ }, |
| 24648 | .{ ._, ._sd, .min, .tmp0x, .src0q, ._, ._ }, | ||
| 24649 | .{ ._, ._sd, .cmp, .dst0x, .src0q, .sp(.ord), ._ }, | ||
| 24650 | .{ ._, ._pd, .@"and", .tmp0x, .dst0x, ._, ._ }, | ||
| 24651 | .{ ._, ._pd, .andn, .dst0x, .src1x, ._, ._ }, | ||
| 24652 | .{ ._, ._pd, .@"or", .dst0x, .tmp0x, ._, ._ }, | ||
| 24653 | } }, | 28550 | } }, |
| 24654 | }, .{ | 28551 | }, .{ |
| 24655 | .required_features = .{ .sse, null, null, null }, | 28552 | .required_features = .{ .@"64bit", null, null, null }, |
| 24656 | .src_constraints = .{ | 28553 | .src_constraints = .{ .{ .unsigned_int = .qword }, .{ .exact_unsigned_int = 6 }, .any }, |
| 24657 | .{ .scalar_float = .{ .of = .qword, .is = .qword } }, | ||
| 24658 | .{ .scalar_float = .{ .of = .qword, .is = .qword } }, | ||
| 24659 | .any, | ||
| 24660 | }, | ||
| 24661 | .patterns = &.{ | 28554 | .patterns = &.{ |
| 24662 | .{ .src = .{ .{ .to_reg = .xmm0 }, .{ .to_reg = .xmm1 }, .none } }, | 28555 | .{ .src = .{ .mut_mem, .imm8, .none } }, |
| 24663 | }, | 28556 | .{ .src = .{ .to_mut_gpr, .imm8, .none } }, |
| 24664 | .call_frame = .{ .alignment = .@"16" }, | ||
| 24665 | .extra_temps = .{ | ||
| 24666 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "fmin" } } }, | ||
| 24667 | .unused, | ||
| 24668 | .unused, | ||
| 24669 | .unused, | ||
| 24670 | .unused, | ||
| 24671 | .unused, | ||
| 24672 | .unused, | ||
| 24673 | .unused, | ||
| 24674 | .unused, | ||
| 24675 | .unused, | ||
| 24676 | .unused, | ||
| 24677 | }, | 28557 | }, |
| 24678 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, | 28558 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| 24679 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 28559 | .clobbers = .{ .eflags = true }, |
| 24680 | .each = .{ .once = &.{ | 28560 | .each = .{ .once = &.{ |
| 24681 | .{ ._, ._, .call, .tmp0d, ._, ._, ._ }, | 28561 | .{ ._, ._r, .sh, .dst0q, .src1b, ._, ._ }, |
| 24682 | } }, | 28562 | } }, |
| 24683 | }, .{ | 28563 | }, .{ |
| 24684 | .required_features = .{ .avx, null, null, null }, | 28564 | .required_features = .{ .@"64bit", .bmi2, null, null }, |
| 24685 | .src_constraints = .{ | 28565 | .src_constraints = .{ .{ .signed_int = .qword }, .{ .exact_unsigned_int = 6 }, .any }, |
| 24686 | .{ .scalar_float = .{ .of = .xword, .is = .qword } }, | ||
| 24687 | .{ .scalar_float = .{ .of = .xword, .is = .qword } }, | ||
| 24688 | .any, | ||
| 24689 | }, | ||
| 24690 | .patterns = &.{ | 28566 | .patterns = &.{ |
| 24691 | .{ .src = .{ .to_sse, .to_sse, .none } }, | 28567 | .{ .src = .{ .mem, .to_gpr, .none } }, |
| 24692 | }, | 28568 | .{ .src = .{ .to_gpr, .to_gpr, .none } }, |
| 24693 | .extra_temps = .{ | ||
| 24694 | .{ .type = .vector_2_f64, .kind = .{ .rc = .sse } }, | ||
| 24695 | .unused, | ||
| 24696 | .unused, | ||
| 24697 | .unused, | ||
| 24698 | .unused, | ||
| 24699 | .unused, | ||
| 24700 | .unused, | ||
| 24701 | .unused, | ||
| 24702 | .unused, | ||
| 24703 | .unused, | ||
| 24704 | .unused, | ||
| 24705 | }, | 28569 | }, |
| 24706 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, | 28570 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .general_purpose } }, .unused }, |
| 24707 | .each = .{ .once = &.{ | 28571 | .each = .{ .once = &.{ |
| 24708 | .{ ._, .v_pd, .cmp, .tmp0x, .src0x, .src0x, .vp(.unord) }, | 28572 | .{ ._, ._rx, .sa, .dst0q, .src0q, .src1q, ._ }, |
| 24709 | .{ ._, .v_pd, .min, .dst0x, .src1x, .src0x, ._ }, | ||
| 24710 | .{ ._, .v_pd, .blendv, .dst0x, .dst0x, .src1x, .tmp0x }, | ||
| 24711 | } }, | 28573 | } }, |
| 24712 | }, .{ | 28574 | }, .{ |
| 24713 | .required_features = .{ .sse4_1, null, null, null }, | 28575 | .required_features = .{ .@"64bit", .bmi2, null, null }, |
| 24714 | .src_constraints = .{ | 28576 | .src_constraints = .{ .{ .unsigned_int = .qword }, .{ .exact_unsigned_int = 6 }, .any }, |
| 24715 | .{ .scalar_float = .{ .of = .xword, .is = .qword } }, | ||
| 24716 | .{ .scalar_float = .{ .of = .xword, .is = .qword } }, | ||
| 24717 | .any, | ||
| 24718 | }, | ||
| 24719 | .patterns = &.{ | 28577 | .patterns = &.{ |
| 24720 | .{ .src = .{ .{ .to_reg = .xmm0 }, .mem, .none } }, | 28578 | .{ .src = .{ .mem, .to_gpr, .none } }, |
| 24721 | .{ .src = .{ .mem, .{ .to_reg = .xmm0 }, .none }, .commute = .{ 0, 1 } }, | 28579 | .{ .src = .{ .to_gpr, .to_gpr, .none } }, |
| 24722 | .{ .src = .{ .{ .to_reg = .xmm0 }, .to_sse, .none } }, | ||
| 24723 | }, | 28580 | }, |
| 24724 | .dst_temps = .{ .{ .rc = .sse }, .unused }, | 28581 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .general_purpose } }, .unused }, |
| 24725 | .each = .{ .once = &.{ | 28582 | .each = .{ .once = &.{ |
| 24726 | .{ ._, ._pd, .mova, .dst0x, .src1x, ._, ._ }, | 28583 | .{ ._, ._rx, .sh, .dst0q, .src0q, .src1q, ._ }, |
| 24727 | .{ ._, ._pd, .min, .dst0x, .src0x, ._, ._ }, | ||
| 24728 | .{ ._, ._pd, .cmp, .src0x, .src0x, .sp(.unord), ._ }, | ||
| 24729 | .{ ._, ._pd, .blendv, .dst0x, .src1x, .src0x, ._ }, | ||
| 24730 | } }, | 28584 | } }, |
| 24731 | }, .{ | 28585 | }, .{ |
| 24732 | .required_features = .{ .sse2, null, null, null }, | 28586 | .required_features = .{ .@"64bit", null, null, null }, |
| 24733 | .src_constraints = .{ | 28587 | .src_constraints = .{ .{ .signed_int = .qword }, .{ .exact_unsigned_int = 6 }, .any }, |
| 24734 | .{ .scalar_float = .{ .of = .xword, .is = .qword } }, | ||
| 24735 | .{ .scalar_float = .{ .of = .xword, .is = .qword } }, | ||
| 24736 | .any, | ||
| 24737 | }, | ||
| 24738 | .patterns = &.{ | 28588 | .patterns = &.{ |
| 24739 | .{ .src = .{ .to_mut_sse, .mem, .none } }, | 28589 | .{ .src = .{ .mut_mem, .{ .to_reg = .cl }, .none } }, |
| 24740 | .{ .src = .{ .mem, .to_mut_sse, .none }, .commute = .{ 0, 1 } }, | 28590 | .{ .src = .{ .to_mut_gpr, .{ .to_reg = .cl }, .none } }, |
| 24741 | .{ .src = .{ .to_mut_sse, .to_sse, .none } }, | ||
| 24742 | }, | ||
| 24743 | .extra_temps = .{ | ||
| 24744 | .{ .type = .vector_2_f64, .kind = .{ .rc = .sse } }, | ||
| 24745 | .unused, | ||
| 24746 | .unused, | ||
| 24747 | .unused, | ||
| 24748 | .unused, | ||
| 24749 | .unused, | ||
| 24750 | .unused, | ||
| 24751 | .unused, | ||
| 24752 | .unused, | ||
| 24753 | .unused, | ||
| 24754 | .unused, | ||
| 24755 | }, | 28591 | }, |
| 24756 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, | 28592 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| 28593 | .clobbers = .{ .eflags = true }, | ||
| 24757 | .each = .{ .once = &.{ | 28594 | .each = .{ .once = &.{ |
| 24758 | .{ ._, ._pd, .mova, .tmp0x, .src1x, ._, ._ }, | 28595 | .{ ._, ._r, .sa, .dst0q, .src1b, ._, ._ }, |
| 24759 | .{ ._, ._pd, .min, .tmp0x, .src0x, ._, ._ }, | ||
| 24760 | .{ ._, ._pd, .cmp, .dst0x, .src0x, .sp(.ord), ._ }, | ||
| 24761 | .{ ._, ._pd, .@"and", .tmp0x, .dst0x, ._, ._ }, | ||
| 24762 | .{ ._, ._pd, .andn, .dst0x, .src1x, ._, ._ }, | ||
| 24763 | .{ ._, ._pd, .@"or", .dst0x, .tmp0x, ._, ._ }, | ||
| 24764 | } }, | 28596 | } }, |
| 24765 | }, .{ | 28597 | }, .{ |
| 24766 | .required_features = .{ .avx, null, null, null }, | 28598 | .required_features = .{ .@"64bit", null, null, null }, |
| 24767 | .src_constraints = .{ | 28599 | .src_constraints = .{ .{ .unsigned_int = .qword }, .{ .exact_unsigned_int = 6 }, .any }, |
| 24768 | .{ .scalar_float = .{ .of = .yword, .is = .qword } }, | ||
| 24769 | .{ .scalar_float = .{ .of = .yword, .is = .qword } }, | ||
| 24770 | .any, | ||
| 24771 | }, | ||
| 24772 | .patterns = &.{ | 28600 | .patterns = &.{ |
| 24773 | .{ .src = .{ .to_sse, .to_sse, .none } }, | 28601 | .{ .src = .{ .mut_mem, .{ .to_reg = .cl }, .none } }, |
| 24774 | }, | 28602 | .{ .src = .{ .to_mut_gpr, .{ .to_reg = .cl }, .none } }, |
| 24775 | .extra_temps = .{ | ||
| 24776 | .{ .type = .vector_4_f64, .kind = .{ .rc = .sse } }, | ||
| 24777 | .unused, | ||
| 24778 | .unused, | ||
| 24779 | .unused, | ||
| 24780 | .unused, | ||
| 24781 | .unused, | ||
| 24782 | .unused, | ||
| 24783 | .unused, | ||
| 24784 | .unused, | ||
| 24785 | .unused, | ||
| 24786 | .unused, | ||
| 24787 | }, | 28603 | }, |
| 24788 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, | 28604 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| 28605 | .clobbers = .{ .eflags = true }, | ||
| 24789 | .each = .{ .once = &.{ | 28606 | .each = .{ .once = &.{ |
| 24790 | .{ ._, .v_pd, .cmp, .tmp0y, .src0y, .src0y, .vp(.unord) }, | 28607 | .{ ._, ._r, .sh, .dst0q, .src1b, ._, ._ }, |
| 24791 | .{ ._, .v_pd, .min, .dst0y, .src1y, .src0y, ._ }, | ||
| 24792 | .{ ._, .v_pd, .blendv, .dst0y, .dst0y, .src1y, .tmp0y }, | ||
| 24793 | } }, | 28608 | } }, |
| 24794 | }, .{ | 28609 | }, .{ |
| 24795 | .required_features = .{ .avx, null, null, null }, | 28610 | .required_features = .{ .@"64bit", .slow_incdec, null, null }, |
| 24796 | .src_constraints = .{ | 28611 | .src_constraints = .{ |
| 24797 | .{ .multiple_scalar_float = .{ .of = .yword, .is = .qword } }, | 28612 | .{ .remainder_signed_int = .{ .of = .qword, .is = .qword } }, |
| 24798 | .{ .multiple_scalar_float = .{ .of = .yword, .is = .qword } }, | 28613 | .{ .unsigned_int = .byte }, |
| 24799 | .any, | 28614 | .any, |
| 24800 | }, | 28615 | }, |
| 24801 | .patterns = &.{ | 28616 | .patterns = &.{ |
| 24802 | .{ .src = .{ .to_mem, .to_mem, .none } }, | 28617 | .{ .src = .{ .to_mem, .{ .to_reg = .cl }, .none } }, |
| 24803 | }, | 28618 | }, |
| 24804 | .extra_temps = .{ | 28619 | .extra_temps = .{ |
| 28620 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, | ||
| 24805 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 28621 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 24806 | .{ .type = .vector_4_f64, .kind = .{ .rc = .sse } }, | 28622 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 24807 | .{ .type = .vector_4_f64, .kind = .{ .rc = .sse } }, | 28623 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 24808 | .{ .type = .vector_4_f64, .kind = .{ .rc = .sse } }, | 28624 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 24809 | .unused, | ||
| 24810 | .unused, | 28625 | .unused, |
| 24811 | .unused, | 28626 | .unused, |
| 24812 | .unused, | 28627 | .unused, |
| ... | @@ -24817,32 +28632,41 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -24817,32 +28632,41 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 24817 | .dst_temps = .{ .mem, .unused }, | 28632 | .dst_temps = .{ .mem, .unused }, |
| 24818 | .clobbers = .{ .eflags = true }, | 28633 | .clobbers = .{ .eflags = true }, |
| 24819 | .each = .{ .once = &.{ | 28634 | .each = .{ .once = &.{ |
| 24820 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, | 28635 | .{ ._, ._, .movzx, .tmp0d, .src1b, ._, ._ }, |
| 24821 | .{ .@"0:", .v_pd, .mova, .tmp1y, .memia(.src0y, .tmp0, .add_size), ._, ._ }, | 28636 | .{ ._, ._r, .sh, .tmp0d, .ui(6), ._, ._ }, |
| 24822 | .{ ._, .v_pd, .mova, .tmp2y, .memia(.src1y, .tmp0, .add_size), ._, ._ }, | 28637 | .{ ._, ._, .lea, .tmp1p, .leasia(.none, .@"8", .tmp0, .sub_src0_size), ._, ._ }, |
| 24823 | .{ ._, .v_pd, .cmp, .tmp3y, .tmp1y, .tmp1y, .vp(.unord) }, | 28638 | .{ ._, ._, .not, .tmp0p, ._, ._, ._ }, |
| 24824 | .{ ._, .v_pd, .min, .tmp1y, .tmp2y, .tmp1y, ._ }, | 28639 | .{ ._, ._, .lea, .tmp2p, .memsia(.dst0, .@"8", .tmp0, .add_size), ._, ._ }, |
| 24825 | .{ ._, .v_pd, .blendv, .tmp1y, .tmp1y, .tmp2y, .tmp3y }, | 28640 | .{ ._, ._, .mov, .tmp3q, .memia(.src0q, .tmp1, .add_size), ._, ._ }, |
| 24826 | .{ ._, .v_pd, .mova, .memia(.dst0y, .tmp0, .add_size), .tmp1y, ._, ._ }, | 28641 | .{ ._, ._mp, .j, .@"1f", ._, ._, ._ }, |
| 24827 | .{ ._, ._, .add, .tmp0p, .si(32), ._, ._ }, | 28642 | .{ .@"0:", ._, .mov, .tmp4q, .memia(.src0q, .tmp1, .add_size), ._, ._ }, |
| 28643 | .{ ._, ._rd, .sh, .tmp3q, .tmp4q, .src1b, ._ }, | ||
| 28644 | .{ ._, ._, .mov, .leai(.tmp2q, .tmp1), .tmp3q, ._, ._ }, | ||
| 28645 | .{ ._, ._, .mov, .tmp3q, .tmp4q, ._, ._ }, | ||
| 28646 | .{ .@"1:", ._, .add, .tmp1p, .si(8), ._, ._ }, | ||
| 28647 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | ||
| 28648 | .{ ._, ._r, .sa, .tmp3q, .src1b, ._, ._ }, | ||
| 28649 | .{ .@"0:", ._, .mov, .memsia(.dst0q, .@"8", .tmp0, .add_size), .tmp3q, ._, ._ }, | ||
| 28650 | .{ ._, ._r, .sa, .tmp3q, .ui(63), ._, ._ }, | ||
| 28651 | .{ ._, ._, .add, .tmp0p, .si(1), ._, ._ }, | ||
| 24828 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 28652 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 24829 | } }, | 28653 | } }, |
| 24830 | }, .{ | 28654 | }, .{ |
| 24831 | .required_features = .{ .sse4_1, null, null, null }, | 28655 | .required_features = .{ .@"64bit", null, null, null }, |
| 24832 | .src_constraints = .{ | 28656 | .src_constraints = .{ |
| 24833 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .qword } }, | 28657 | .{ .remainder_signed_int = .{ .of = .qword, .is = .qword } }, |
| 24834 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .qword } }, | 28658 | .{ .unsigned_int = .byte }, |
| 24835 | .any, | 28659 | .any, |
| 24836 | }, | 28660 | }, |
| 24837 | .patterns = &.{ | 28661 | .patterns = &.{ |
| 24838 | .{ .src = .{ .to_mem, .to_mem, .none } }, | 28662 | .{ .src = .{ .to_mem, .{ .to_reg = .cl }, .none } }, |
| 24839 | }, | 28663 | }, |
| 24840 | .extra_temps = .{ | 28664 | .extra_temps = .{ |
| 28665 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, | ||
| 24841 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 28666 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 24842 | .{ .type = .vector_2_f64, .kind = .{ .reg = .xmm0 } }, | 28667 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 24843 | .{ .type = .vector_2_f64, .kind = .{ .rc = .sse } }, | 28668 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 24844 | .{ .type = .vector_2_f64, .kind = .{ .rc = .sse } }, | 28669 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 24845 | .unused, | ||
| 24846 | .unused, | 28670 | .unused, |
| 24847 | .unused, | 28671 | .unused, |
| 24848 | .unused, | 28672 | .unused, |
| ... | @@ -24853,33 +28677,41 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -24853,33 +28677,41 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 24853 | .dst_temps = .{ .mem, .unused }, | 28677 | .dst_temps = .{ .mem, .unused }, |
| 24854 | .clobbers = .{ .eflags = true }, | 28678 | .clobbers = .{ .eflags = true }, |
| 24855 | .each = .{ .once = &.{ | 28679 | .each = .{ .once = &.{ |
| 24856 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, | 28680 | .{ ._, ._, .movzx, .tmp0d, .src1b, ._, ._ }, |
| 24857 | .{ .@"0:", ._pd, .mova, .tmp1x, .memia(.src0x, .tmp0, .add_size), ._, ._ }, | 28681 | .{ ._, ._r, .sh, .tmp0d, .ui(6), ._, ._ }, |
| 24858 | .{ ._, ._pd, .mova, .tmp2x, .memia(.src1x, .tmp0, .add_size), ._, ._ }, | 28682 | .{ ._, ._, .lea, .tmp1p, .leasia(.none, .@"8", .tmp0, .sub_src0_size), ._, ._ }, |
| 24859 | .{ ._, ._pd, .mova, .tmp3x, .tmp2x, ._, ._ }, | 28683 | .{ ._, ._, .not, .tmp0p, ._, ._, ._ }, |
| 24860 | .{ ._, ._pd, .min, .tmp3x, .tmp1x, ._, ._ }, | 28684 | .{ ._, ._, .lea, .tmp2p, .memsia(.dst0, .@"8", .tmp0, .add_size), ._, ._ }, |
| 24861 | .{ ._, ._pd, .cmp, .tmp1x, .tmp1x, .sp(.unord), ._ }, | 28685 | .{ ._, ._, .mov, .tmp3q, .memia(.src0q, .tmp1, .add_size), ._, ._ }, |
| 24862 | .{ ._, ._pd, .blendv, .tmp3x, .tmp2x, .tmp1x, ._ }, | 28686 | .{ ._, ._mp, .j, .@"1f", ._, ._, ._ }, |
| 24863 | .{ ._, ._pd, .mova, .memia(.dst0x, .tmp0, .add_size), .tmp3x, ._, ._ }, | 28687 | .{ .@"0:", ._, .mov, .tmp4q, .memia(.src0q, .tmp1, .add_size), ._, ._ }, |
| 24864 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, | 28688 | .{ ._, ._rd, .sh, .tmp3q, .tmp4q, .src1b, ._ }, |
| 24865 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 28689 | .{ ._, ._, .mov, .leai(.tmp2q, .tmp1), .tmp3q, ._, ._ }, |
| 28690 | .{ ._, ._, .mov, .tmp3q, .tmp4q, ._, ._ }, | ||
| 28691 | .{ .@"1:", ._, .add, .tmp1p, .si(8), ._, ._ }, | ||
| 28692 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | ||
| 28693 | .{ ._, ._r, .sa, .tmp3q, .src1b, ._, ._ }, | ||
| 28694 | .{ .@"0:", ._, .mov, .memsia(.dst0q, .@"8", .tmp0, .add_size), .tmp3q, ._, ._ }, | ||
| 28695 | .{ ._, ._r, .sa, .tmp3q, .ui(63), ._, ._ }, | ||
| 28696 | .{ ._, ._c, .in, .tmp0p, ._, ._, ._ }, | ||
| 28697 | .{ ._, ._nz, .j, .@"0b", ._, ._, ._ }, | ||
| 24866 | } }, | 28698 | } }, |
| 24867 | }, .{ | 28699 | }, .{ |
| 24868 | .required_features = .{ .sse2, null, null, null }, | 28700 | .required_features = .{ .@"64bit", .slow_incdec, null, null }, |
| 24869 | .src_constraints = .{ | 28701 | .src_constraints = .{ |
| 24870 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .qword } }, | 28702 | .{ .remainder_unsigned_int = .{ .of = .qword, .is = .qword } }, |
| 24871 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .qword } }, | 28703 | .{ .unsigned_int = .byte }, |
| 24872 | .any, | 28704 | .any, |
| 24873 | }, | 28705 | }, |
| 24874 | .patterns = &.{ | 28706 | .patterns = &.{ |
| 24875 | .{ .src = .{ .to_mem, .to_mem, .none } }, | 28707 | .{ .src = .{ .to_mem, .{ .to_reg = .cl }, .none } }, |
| 24876 | }, | 28708 | }, |
| 24877 | .extra_temps = .{ | 28709 | .extra_temps = .{ |
| 28710 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, | ||
| 24878 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 28711 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 24879 | .{ .type = .vector_2_f64, .kind = .{ .rc = .sse } }, | 28712 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 24880 | .{ .type = .vector_2_f64, .kind = .{ .rc = .sse } }, | 28713 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 24881 | .{ .type = .vector_2_f64, .kind = .{ .rc = .sse } }, | 28714 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 24882 | .unused, | ||
| 24883 | .unused, | 28715 | .unused, |
| 24884 | .unused, | 28716 | .unused, |
| 24885 | .unused, | 28717 | .unused, |
| ... | @@ -24890,36 +28722,41 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -24890,36 +28722,41 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 24890 | .dst_temps = .{ .mem, .unused }, | 28722 | .dst_temps = .{ .mem, .unused }, |
| 24891 | .clobbers = .{ .eflags = true }, | 28723 | .clobbers = .{ .eflags = true }, |
| 24892 | .each = .{ .once = &.{ | 28724 | .each = .{ .once = &.{ |
| 24893 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, | 28725 | .{ ._, ._, .movzx, .tmp0d, .src1b, ._, ._ }, |
| 24894 | .{ .@"0:", ._pd, .mova, .tmp1x, .memia(.src0x, .tmp0, .add_size), ._, ._ }, | 28726 | .{ ._, ._r, .sh, .tmp0d, .ui(6), ._, ._ }, |
| 24895 | .{ ._, ._pd, .mova, .tmp2x, .memia(.src1x, .tmp0, .add_size), ._, ._ }, | 28727 | .{ ._, ._, .lea, .tmp1p, .leasia(.none, .@"8", .tmp0, .sub_src0_size), ._, ._ }, |
| 24896 | .{ ._, ._pd, .mova, .tmp3x, .tmp2x, ._, ._ }, | 28728 | .{ ._, ._, .not, .tmp0p, ._, ._, ._ }, |
| 24897 | .{ ._, ._pd, .min, .tmp3x, .tmp1x, ._, ._ }, | 28729 | .{ ._, ._, .lea, .tmp2p, .memsia(.dst0, .@"8", .tmp0, .add_size), ._, ._ }, |
| 24898 | .{ ._, ._pd, .cmp, .tmp1x, .tmp1x, .sp(.ord), ._ }, | 28730 | .{ ._, ._, .mov, .tmp3q, .memia(.src0q, .tmp1, .add_size), ._, ._ }, |
| 24899 | .{ ._, ._pd, .@"and", .tmp3x, .tmp1x, ._, ._ }, | 28731 | .{ ._, ._mp, .j, .@"1f", ._, ._, ._ }, |
| 24900 | .{ ._, ._pd, .andn, .tmp1x, .tmp2x, ._, ._ }, | 28732 | .{ .@"0:", ._, .mov, .tmp4q, .memia(.src0q, .tmp1, .add_size), ._, ._ }, |
| 24901 | .{ ._, ._pd, .@"or", .tmp1x, .tmp3x, ._, ._ }, | 28733 | .{ ._, ._rd, .sh, .tmp3q, .tmp4q, .src1b, ._ }, |
| 24902 | .{ ._, ._pd, .mova, .memia(.dst0x, .tmp0, .add_size), .tmp1x, ._, ._ }, | 28734 | .{ ._, ._, .mov, .leai(.tmp2q, .tmp1), .tmp3q, ._, ._ }, |
| 24903 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, | 28735 | .{ ._, ._, .mov, .tmp3q, .tmp4q, ._, ._ }, |
| 28736 | .{ .@"1:", ._, .add, .tmp1p, .si(8), ._, ._ }, | ||
| 28737 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | ||
| 28738 | .{ ._, ._r, .sh, .tmp3q, .src1b, ._, ._ }, | ||
| 28739 | .{ .@"0:", ._, .mov, .memsia(.dst0q, .@"8", .tmp0, .add_size), .tmp3q, ._, ._ }, | ||
| 28740 | .{ ._, ._, .xor, .tmp3d, .tmp3d, ._, ._ }, | ||
| 28741 | .{ ._, ._, .add, .tmp0p, .si(1), ._, ._ }, | ||
| 24904 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 28742 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 24905 | } }, | 28743 | } }, |
| 24906 | }, .{ | 28744 | }, .{ |
| 24907 | .required_features = .{ .sse, null, null, null }, | 28745 | .required_features = .{ .@"64bit", null, null, null }, |
| 24908 | .src_constraints = .{ | 28746 | .src_constraints = .{ |
| 24909 | .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, | 28747 | .{ .remainder_unsigned_int = .{ .of = .qword, .is = .qword } }, |
| 24910 | .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, | 28748 | .{ .unsigned_int = .byte }, |
| 24911 | .any, | 28749 | .any, |
| 24912 | }, | 28750 | }, |
| 24913 | .patterns = &.{ | 28751 | .patterns = &.{ |
| 24914 | .{ .src = .{ .to_mem, .to_mem, .none } }, | 28752 | .{ .src = .{ .to_mem, .{ .to_reg = .cl }, .none } }, |
| 24915 | }, | 28753 | }, |
| 24916 | .call_frame = .{ .alignment = .@"16" }, | ||
| 24917 | .extra_temps = .{ | 28754 | .extra_temps = .{ |
| 28755 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, | ||
| 24918 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 28756 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 24919 | .{ .type = .f64, .kind = .{ .reg = .xmm0 } }, | 28757 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 24920 | .{ .type = .f64, .kind = .{ .reg = .xmm1 } }, | 28758 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 24921 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "fmin" } } }, | 28759 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 24922 | .unused, | ||
| 24923 | .unused, | 28760 | .unused, |
| 24924 | .unused, | 28761 | .unused, |
| 24925 | .unused, | 28762 | .unused, |
| ... | @@ -24928,36 +28765,43 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -24928,36 +28765,43 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 24928 | .unused, | 28765 | .unused, |
| 24929 | }, | 28766 | }, |
| 24930 | .dst_temps = .{ .mem, .unused }, | 28767 | .dst_temps = .{ .mem, .unused }, |
| 24931 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 28768 | .clobbers = .{ .eflags = true }, |
| 24932 | .each = .{ .once = &.{ | 28769 | .each = .{ .once = &.{ |
| 24933 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, | 28770 | .{ ._, ._, .movzx, .tmp0d, .src1b, ._, ._ }, |
| 24934 | .{ .@"0:", ._ps, .xor, .tmp1x, .tmp1x, ._, ._ }, | 28771 | .{ ._, ._r, .sh, .tmp0d, .ui(6), ._, ._ }, |
| 24935 | .{ ._, ._ps, .xor, .tmp2x, .tmp2x, ._, ._ }, | 28772 | .{ ._, ._, .lea, .tmp1p, .leasia(.none, .@"8", .tmp0, .sub_src0_size), ._, ._ }, |
| 24936 | .{ ._, ._ps, .movl, .tmp1x, .memia(.src0q, .tmp0, .add_size), ._, ._ }, | 28773 | .{ ._, ._, .not, .tmp0p, ._, ._, ._ }, |
| 24937 | .{ ._, ._ps, .movl, .tmp2x, .memia(.src1q, .tmp0, .add_size), ._, ._ }, | 28774 | .{ ._, ._, .lea, .tmp2p, .memsia(.dst0, .@"8", .tmp0, .add_size), ._, ._ }, |
| 24938 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, | 28775 | .{ ._, ._, .mov, .tmp3q, .memia(.src0q, .tmp1, .add_size), ._, ._ }, |
| 24939 | .{ ._, ._ps, .movl, .memia(.dst0q, .tmp0, .add_size), .tmp1q, ._, ._ }, | 28776 | .{ ._, ._mp, .j, .@"1f", ._, ._, ._ }, |
| 24940 | .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ }, | 28777 | .{ .@"0:", ._, .mov, .tmp4q, .memia(.src0q, .tmp1, .add_size), ._, ._ }, |
| 24941 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 28778 | .{ ._, ._rd, .sh, .tmp3q, .tmp4q, .src1b, ._ }, |
| 28779 | .{ ._, ._, .mov, .leai(.tmp2q, .tmp1), .tmp3q, ._, ._ }, | ||
| 28780 | .{ ._, ._, .mov, .tmp3q, .tmp4q, ._, ._ }, | ||
| 28781 | .{ .@"1:", ._, .add, .tmp1p, .si(8), ._, ._ }, | ||
| 28782 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | ||
| 28783 | .{ ._, ._r, .sh, .tmp3q, .src1b, ._, ._ }, | ||
| 28784 | .{ .@"0:", ._, .mov, .memsia(.dst0q, .@"8", .tmp0, .add_size), .tmp3q, ._, ._ }, | ||
| 28785 | .{ ._, ._, .xor, .tmp3d, .tmp3d, ._, ._ }, | ||
| 28786 | .{ ._, ._c, .in, .tmp0p, ._, ._, ._ }, | ||
| 28787 | .{ ._, ._nz, .j, .@"0b", ._, ._, ._ }, | ||
| 24942 | } }, | 28788 | } }, |
| 24943 | }, .{ | 28789 | }, .{ |
| 24944 | .required_features = .{ .x87, .cmov, null, null }, | 28790 | .required_features = .{ .@"64bit", .slow_incdec, null, null }, |
| 24945 | .src_constraints = .{ | 28791 | .src_constraints = .{ |
| 24946 | .{ .scalar_float = .{ .of = .xword, .is = .tbyte } }, | 28792 | .{ .remainder_signed_int = .{ .of = .qword, .is = .qword } }, |
| 24947 | .{ .scalar_float = .{ .of = .xword, .is = .tbyte } }, | 28793 | .{ .unsigned_int = .word }, |
| 24948 | .any, | 28794 | .any, |
| 24949 | }, | 28795 | }, |
| 24950 | .patterns = &.{ | 28796 | .patterns = &.{ |
| 24951 | .{ .src = .{ .to_x87, .mem, .none }, .commute = .{ 0, 1 } }, | 28797 | .{ .src = .{ .to_mem, .{ .to_reg = .cx }, .none } }, |
| 24952 | .{ .src = .{ .mem, .to_x87, .none } }, | ||
| 24953 | .{ .src = .{ .to_x87, .to_x87, .none } }, | ||
| 24954 | }, | 28798 | }, |
| 24955 | .extra_temps = .{ | 28799 | .extra_temps = .{ |
| 24956 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, | 28800 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 24957 | .unused, | 28801 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 24958 | .unused, | 28802 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 24959 | .unused, | 28803 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 24960 | .unused, | 28804 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 24961 | .unused, | 28805 | .unused, |
| 24962 | .unused, | 28806 | .unused, |
| 24963 | .unused, | 28807 | .unused, |
| ... | @@ -24965,34 +28809,44 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -24965,34 +28809,44 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 24965 | .unused, | 28809 | .unused, |
| 24966 | .unused, | 28810 | .unused, |
| 24967 | }, | 28811 | }, |
| 24968 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src1, .rc = .x87 } }, .unused }, | 28812 | .dst_temps = .{ .mem, .unused }, |
| 24969 | .clobbers = .{ .eflags = true }, | 28813 | .clobbers = .{ .eflags = true }, |
| 24970 | .each = .{ .once = &.{ | 28814 | .each = .{ .once = &.{ |
| 24971 | .{ ._, .f_, .ld, .src0t, ._, ._, ._ }, | 28815 | .{ ._, ._, .movzx, .tmp0d, .src1w, ._, ._ }, |
| 24972 | .{ ._, .f_, .ucomi, .tmp0t, .tmp0t, ._, ._ }, | 28816 | .{ ._, ._r, .sh, .tmp0d, .ui(6), ._, ._ }, |
| 24973 | .{ ._, .f_u, .cmov, .tmp0t, .src1t, ._, ._ }, | 28817 | .{ ._, ._, .lea, .tmp1p, .leasia(.none, .@"8", .tmp0, .sub_src0_size), ._, ._ }, |
| 24974 | .{ ._, .f_, .ucomi, .tmp0t, .src1t, ._, ._ }, | 28818 | .{ ._, ._, .not, .tmp0p, ._, ._, ._ }, |
| 24975 | .{ ._, .f_nb, .cmov, .tmp0t, .src1t, ._, ._ }, | 28819 | .{ ._, ._, .lea, .tmp2p, .memsia(.dst0, .@"8", .tmp0, .add_size), ._, ._ }, |
| 24976 | .{ ._, .f_p, .st, .dst0t, ._, ._, ._ }, | 28820 | .{ ._, ._, .mov, .tmp3q, .memia(.src0q, .tmp1, .add_size), ._, ._ }, |
| 28821 | .{ ._, ._mp, .j, .@"1f", ._, ._, ._ }, | ||
| 28822 | .{ .@"0:", ._, .mov, .tmp4q, .memia(.src0q, .tmp1, .add_size), ._, ._ }, | ||
| 28823 | .{ ._, ._rd, .sh, .tmp3q, .tmp4q, .src1b, ._ }, | ||
| 28824 | .{ ._, ._, .mov, .leai(.tmp2q, .tmp1), .tmp3q, ._, ._ }, | ||
| 28825 | .{ ._, ._, .mov, .tmp3q, .tmp4q, ._, ._ }, | ||
| 28826 | .{ .@"1:", ._, .add, .tmp1p, .si(8), ._, ._ }, | ||
| 28827 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | ||
| 28828 | .{ ._, ._r, .sa, .tmp3q, .src1b, ._, ._ }, | ||
| 28829 | .{ .@"0:", ._, .mov, .memsia(.dst0q, .@"8", .tmp0, .add_size), .tmp3q, ._, ._ }, | ||
| 28830 | .{ ._, ._r, .sa, .tmp3q, .ui(63), ._, ._ }, | ||
| 28831 | .{ ._, ._, .add, .tmp0p, .si(1), ._, ._ }, | ||
| 28832 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | ||
| 24977 | } }, | 28833 | } }, |
| 24978 | }, .{ | 28834 | }, .{ |
| 24979 | .required_features = .{ .sahf, .x87, null, null }, | 28835 | .required_features = .{ .@"64bit", null, null, null }, |
| 24980 | .src_constraints = .{ | 28836 | .src_constraints = .{ |
| 24981 | .{ .scalar_float = .{ .of = .xword, .is = .tbyte } }, | 28837 | .{ .remainder_signed_int = .{ .of = .qword, .is = .qword } }, |
| 24982 | .{ .scalar_float = .{ .of = .xword, .is = .tbyte } }, | 28838 | .{ .unsigned_int = .word }, |
| 24983 | .any, | 28839 | .any, |
| 24984 | }, | 28840 | }, |
| 24985 | .patterns = &.{ | 28841 | .patterns = &.{ |
| 24986 | .{ .src = .{ .to_x87, .mem, .none }, .commute = .{ 0, 1 } }, | 28842 | .{ .src = .{ .to_mem, .{ .to_reg = .cx }, .none } }, |
| 24987 | .{ .src = .{ .mem, .to_x87, .none } }, | ||
| 24988 | .{ .src = .{ .to_x87, .to_x87, .none } }, | ||
| 24989 | }, | 28843 | }, |
| 24990 | .extra_temps = .{ | 28844 | .extra_temps = .{ |
| 24991 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, | 28845 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 24992 | .{ .type = .u8, .kind = .{ .reg = .ah } }, | 28846 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 24993 | .unused, | 28847 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 24994 | .unused, | 28848 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 24995 | .unused, | 28849 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 24996 | .unused, | 28850 | .unused, |
| 24997 | .unused, | 28851 | .unused, |
| 24998 | .unused, | 28852 | .unused, |
| ... | @@ -25000,40 +28854,44 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -25000,40 +28854,44 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 25000 | .unused, | 28854 | .unused, |
| 25001 | .unused, | 28855 | .unused, |
| 25002 | }, | 28856 | }, |
| 25003 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src1, .rc = .x87 } }, .unused }, | 28857 | .dst_temps = .{ .mem, .unused }, |
| 25004 | .clobbers = .{ .eflags = true }, | 28858 | .clobbers = .{ .eflags = true }, |
| 25005 | .each = .{ .once = &.{ | 28859 | .each = .{ .once = &.{ |
| 25006 | .{ ._, .f_, .ld, .src0t, ._, ._, ._ }, | 28860 | .{ ._, ._, .movzx, .tmp0d, .src1w, ._, ._ }, |
| 25007 | .{ ._, .f_, .ucom, .tmp0t, ._, ._, ._ }, | 28861 | .{ ._, ._r, .sh, .tmp0d, .ui(6), ._, ._ }, |
| 25008 | .{ ._, .fn_sw, .st, .tmp1w, ._, ._, ._ }, | 28862 | .{ ._, ._, .lea, .tmp1p, .leasia(.none, .@"8", .tmp0, .sub_src0_size), ._, ._ }, |
| 25009 | .{ ._, ._, .sahf, ._, ._, ._, ._ }, | 28863 | .{ ._, ._, .not, .tmp0p, ._, ._, ._ }, |
| 25010 | .{ ._, ._p, .j, .@"0f", ._, ._, ._ }, | 28864 | .{ ._, ._, .lea, .tmp2p, .memsia(.dst0, .@"8", .tmp0, .add_size), ._, ._ }, |
| 25011 | .{ ._, .f_, .ucom, .src1t, ._, ._, ._ }, | 28865 | .{ ._, ._, .mov, .tmp3q, .memia(.src0q, .tmp1, .add_size), ._, ._ }, |
| 25012 | .{ ._, .fn_sw, .st, .tmp1w, ._, ._, ._ }, | 28866 | .{ ._, ._mp, .j, .@"1f", ._, ._, ._ }, |
| 25013 | .{ ._, ._, .sahf, ._, ._, ._, ._ }, | 28867 | .{ .@"0:", ._, .mov, .tmp4q, .memia(.src0q, .tmp1, .add_size), ._, ._ }, |
| 25014 | .{ ._, ._b, .j, .@"1f", ._, ._, ._ }, | 28868 | .{ ._, ._rd, .sh, .tmp3q, .tmp4q, .src1b, ._ }, |
| 25015 | .{ .@"0:", .f_p, .st, .tmp0t, ._, ._, ._ }, | 28869 | .{ ._, ._, .mov, .leai(.tmp2q, .tmp1), .tmp3q, ._, ._ }, |
| 25016 | .{ ._, .f_, .ld, .src1t, ._, ._, ._ }, | 28870 | .{ ._, ._, .mov, .tmp3q, .tmp4q, ._, ._ }, |
| 25017 | .{ .@"1:", .f_p, .st, .dst0t, ._, ._, ._ }, | 28871 | .{ .@"1:", ._, .add, .tmp1p, .si(8), ._, ._ }, |
| 28872 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | ||
| 28873 | .{ ._, ._r, .sa, .tmp3q, .src1b, ._, ._ }, | ||
| 28874 | .{ .@"0:", ._, .mov, .memsia(.dst0q, .@"8", .tmp0, .add_size), .tmp3q, ._, ._ }, | ||
| 28875 | .{ ._, ._r, .sa, .tmp3q, .ui(63), ._, ._ }, | ||
| 28876 | .{ ._, ._c, .in, .tmp0p, ._, ._, ._ }, | ||
| 28877 | .{ ._, ._nz, .j, .@"0b", ._, ._, ._ }, | ||
| 25018 | } }, | 28878 | } }, |
| 25019 | }, .{ | 28879 | }, .{ |
| 25020 | .required_features = .{ .x87, null, null, null }, | 28880 | .required_features = .{ .@"64bit", .slow_incdec, null, null }, |
| 25021 | .src_constraints = .{ | 28881 | .src_constraints = .{ |
| 25022 | .{ .scalar_float = .{ .of = .xword, .is = .tbyte } }, | 28882 | .{ .remainder_unsigned_int = .{ .of = .qword, .is = .qword } }, |
| 25023 | .{ .scalar_float = .{ .of = .xword, .is = .tbyte } }, | 28883 | .{ .unsigned_int = .word }, |
| 25024 | .any, | 28884 | .any, |
| 25025 | }, | 28885 | }, |
| 25026 | .patterns = &.{ | 28886 | .patterns = &.{ |
| 25027 | .{ .src = .{ .to_x87, .mem, .none }, .commute = .{ 0, 1 } }, | 28887 | .{ .src = .{ .to_mem, .{ .to_reg = .cx }, .none } }, |
| 25028 | .{ .src = .{ .mem, .to_x87, .none } }, | ||
| 25029 | .{ .src = .{ .to_x87, .to_x87, .none } }, | ||
| 25030 | }, | 28888 | }, |
| 25031 | .extra_temps = .{ | 28889 | .extra_temps = .{ |
| 25032 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, | 28890 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 25033 | .{ .type = .u8, .kind = .{ .reg = .ah } }, | 28891 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 25034 | .unused, | 28892 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 25035 | .unused, | 28893 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 25036 | .unused, | 28894 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 25037 | .unused, | 28895 | .unused, |
| 25038 | .unused, | 28896 | .unused, |
| 25039 | .unused, | 28897 | .unused, |
| ... | @@ -25041,38 +28899,44 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -25041,38 +28899,44 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 25041 | .unused, | 28899 | .unused, |
| 25042 | .unused, | 28900 | .unused, |
| 25043 | }, | 28901 | }, |
| 25044 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src1, .rc = .x87 } }, .unused }, | 28902 | .dst_temps = .{ .mem, .unused }, |
| 25045 | .clobbers = .{ .eflags = true }, | 28903 | .clobbers = .{ .eflags = true }, |
| 25046 | .each = .{ .once = &.{ | 28904 | .each = .{ .once = &.{ |
| 25047 | .{ ._, .f_, .ld, .src0t, ._, ._, ._ }, | 28905 | .{ ._, ._, .movzx, .tmp0d, .src1w, ._, ._ }, |
| 25048 | .{ ._, .f_, .xam, ._, ._, ._, ._ }, | 28906 | .{ ._, ._r, .sh, .tmp0d, .ui(6), ._, ._ }, |
| 25049 | .{ ._, .fn_sw, .st, .tmp1w, ._, ._, ._ }, | 28907 | .{ ._, ._, .lea, .tmp1p, .leasia(.none, .@"8", .tmp0, .sub_src0_size), ._, ._ }, |
| 25050 | .{ ._, ._, .@"test", .tmp1b, .si(0b1_000_100), ._, ._ }, | 28908 | .{ ._, ._, .not, .tmp0p, ._, ._, ._ }, |
| 25051 | .{ ._, ._z, .j, .@"0f", ._, ._, ._ }, | 28909 | .{ ._, ._, .lea, .tmp2p, .memsia(.dst0, .@"8", .tmp0, .add_size), ._, ._ }, |
| 25052 | .{ ._, .f_, .ucom, .src1t, ._, ._, ._ }, | 28910 | .{ ._, ._, .mov, .tmp3q, .memia(.src0q, .tmp1, .add_size), ._, ._ }, |
| 25053 | .{ ._, .fn_sw, .st, .tmp1w, ._, ._, ._ }, | 28911 | .{ ._, ._mp, .j, .@"1f", ._, ._, ._ }, |
| 25054 | .{ ._, ._, .@"test", .tmp1b, .si(0b0_000_001), ._, ._ }, | 28912 | .{ .@"0:", ._, .mov, .tmp4q, .memia(.src0q, .tmp1, .add_size), ._, ._ }, |
| 25055 | .{ ._, ._nz, .j, .@"1f", ._, ._, ._ }, | 28913 | .{ ._, ._rd, .sh, .tmp3q, .tmp4q, .src1b, ._ }, |
| 25056 | .{ .@"0:", .f_p, .st, .tmp0t, ._, ._, ._ }, | 28914 | .{ ._, ._, .mov, .leai(.tmp2q, .tmp1), .tmp3q, ._, ._ }, |
| 25057 | .{ ._, .f_, .ld, .src1t, ._, ._, ._ }, | 28915 | .{ ._, ._, .mov, .tmp3q, .tmp4q, ._, ._ }, |
| 25058 | .{ .@"1:", .f_p, .st, .dst0t, ._, ._, ._ }, | 28916 | .{ .@"1:", ._, .add, .tmp1p, .si(8), ._, ._ }, |
| 28917 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | ||
| 28918 | .{ ._, ._r, .sh, .tmp3q, .src1b, ._, ._ }, | ||
| 28919 | .{ .@"0:", ._, .mov, .memsia(.dst0q, .@"8", .tmp0, .add_size), .tmp3q, ._, ._ }, | ||
| 28920 | .{ ._, ._, .xor, .tmp3d, .tmp3d, ._, ._ }, | ||
| 28921 | .{ ._, ._, .add, .tmp0p, .si(1), ._, ._ }, | ||
| 28922 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | ||
| 25059 | } }, | 28923 | } }, |
| 25060 | }, .{ | 28924 | }, .{ |
| 25061 | .required_features = .{ .x87, .cmov, null, null }, | 28925 | .required_features = .{ .@"64bit", null, null, null }, |
| 25062 | .src_constraints = .{ | 28926 | .src_constraints = .{ |
| 25063 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, | 28927 | .{ .remainder_unsigned_int = .{ .of = .qword, .is = .qword } }, |
| 25064 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, | 28928 | .{ .unsigned_int = .word }, |
| 25065 | .any, | 28929 | .any, |
| 25066 | }, | 28930 | }, |
| 25067 | .patterns = &.{ | 28931 | .patterns = &.{ |
| 25068 | .{ .src = .{ .to_mem, .to_mem, .none } }, | 28932 | .{ .src = .{ .to_mem, .{ .to_reg = .cx }, .none } }, |
| 25069 | }, | 28933 | }, |
| 25070 | .extra_temps = .{ | 28934 | .extra_temps = .{ |
| 28935 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, | ||
| 25071 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 28936 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 25072 | .{ .type = .f80, .kind = .{ .reg = .st6 } }, | 28937 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 25073 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, | 28938 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 25074 | .unused, | 28939 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 25075 | .unused, | ||
| 25076 | .unused, | 28940 | .unused, |
| 25077 | .unused, | 28941 | .unused, |
| 25078 | .unused, | 28942 | .unused, |
| ... | @@ -25083,123 +28947,224 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -25083,123 +28947,224 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 25083 | .dst_temps = .{ .mem, .unused }, | 28947 | .dst_temps = .{ .mem, .unused }, |
| 25084 | .clobbers = .{ .eflags = true }, | 28948 | .clobbers = .{ .eflags = true }, |
| 25085 | .each = .{ .once = &.{ | 28949 | .each = .{ .once = &.{ |
| 25086 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, | 28950 | .{ ._, ._, .movzx, .tmp0d, .src1w, ._, ._ }, |
| 25087 | .{ .@"0:", .f_, .ld, .memia(.src1t, .tmp0, .add_size), ._, ._, ._ }, | 28951 | .{ ._, ._r, .sh, .tmp0d, .ui(6), ._, ._ }, |
| 25088 | .{ ._, .f_, .ld, .memia(.src0t, .tmp0, .add_size), ._, ._, ._ }, | 28952 | .{ ._, ._, .lea, .tmp1p, .leasia(.none, .@"8", .tmp0, .sub_src0_size), ._, ._ }, |
| 25089 | .{ ._, .f_, .ucomi, .tmp1t, .tmp1t, ._, ._ }, | 28953 | .{ ._, ._, .not, .tmp0p, ._, ._, ._ }, |
| 25090 | .{ ._, .f_u, .cmov, .tmp1t, .tmp2t, ._, ._ }, | 28954 | .{ ._, ._, .lea, .tmp2p, .memsia(.dst0, .@"8", .tmp0, .add_size), ._, ._ }, |
| 25091 | .{ ._, .f_, .ucomi, .tmp1t, .tmp2t, ._, ._ }, | 28955 | .{ ._, ._, .mov, .tmp3q, .memia(.src0q, .tmp1, .add_size), ._, ._ }, |
| 25092 | .{ ._, .f_nb, .cmov, .tmp1t, .tmp2t, ._, ._ }, | 28956 | .{ ._, ._mp, .j, .@"1f", ._, ._, ._ }, |
| 25093 | .{ ._, .f_p, .st, .memia(.dst0t, .tmp0, .add_size), ._, ._, ._ }, | 28957 | .{ .@"0:", ._, .mov, .tmp4q, .memia(.src0q, .tmp1, .add_size), ._, ._ }, |
| 25094 | .{ ._, .f_p, .st, .tmp2t, ._, ._, ._ }, | 28958 | .{ ._, ._rd, .sh, .tmp3q, .tmp4q, .src1b, ._ }, |
| 25095 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, | 28959 | .{ ._, ._, .mov, .leai(.tmp2q, .tmp1), .tmp3q, ._, ._ }, |
| 25096 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 28960 | .{ ._, ._, .mov, .tmp3q, .tmp4q, ._, ._ }, |
| 28961 | .{ .@"1:", ._, .add, .tmp1p, .si(8), ._, ._ }, | ||
| 28962 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | ||
| 28963 | .{ ._, ._r, .sh, .tmp3q, .src1b, ._, ._ }, | ||
| 28964 | .{ .@"0:", ._, .mov, .memsia(.dst0q, .@"8", .tmp0, .add_size), .tmp3q, ._, ._ }, | ||
| 28965 | .{ ._, ._, .xor, .tmp3d, .tmp3d, ._, ._ }, | ||
| 28966 | .{ ._, ._c, .in, .tmp0p, ._, ._, ._ }, | ||
| 28967 | .{ ._, ._nz, .j, .@"0b", ._, ._, ._ }, | ||
| 28968 | } }, | ||
| 28969 | } }) catch |err| switch (err) { | ||
| 28970 | error.SelectFailed => return cg.fail("failed to select {s} {} {} {} {}", .{ | ||
| 28971 | @tagName(air_tag), | ||
| 28972 | cg.typeOf(bin_op.lhs).fmt(pt), | ||
| 28973 | cg.typeOf(bin_op.rhs).fmt(pt), | ||
| 28974 | ops[0].tracking(cg), | ||
| 28975 | ops[1].tracking(cg), | ||
| 28976 | }), | ||
| 28977 | else => |e| return e, | ||
| 28978 | }; | ||
| 28979 | try res[0].finish(inst, &.{ bin_op.lhs, bin_op.rhs }, &ops, cg); | ||
| 28980 | }, | ||
| 28981 | .shl, .shl_exact => |air_tag| if (use_old) try cg.airShlShrBinOp(inst) else fallback: { | ||
| 28982 | const bin_op = air_datas[@intFromEnum(inst)].bin_op; | ||
| 28983 | if (cg.typeOf(bin_op.lhs).isVector(zcu)) break :fallback try cg.airShlShrBinOp(inst); | ||
| 28984 | var ops = try cg.tempsFromOperands(inst, .{ bin_op.lhs, bin_op.rhs }); | ||
| 28985 | var res: [1]Temp = undefined; | ||
| 28986 | cg.select(&res, &.{cg.typeOf(bin_op.lhs)}, &ops, comptime &.{ .{ | ||
| 28987 | .src_constraints = .{ .{ .signed_int = .byte }, .{ .unsigned_int = .byte }, .any }, | ||
| 28988 | .patterns = &.{ | ||
| 28989 | .{ .src = .{ .mut_mem, .imm8, .none } }, | ||
| 28990 | .{ .src = .{ .to_mut_gpr, .imm8, .none } }, | ||
| 28991 | .{ .src = .{ .mut_mem, .{ .to_reg = .cl }, .none } }, | ||
| 28992 | .{ .src = .{ .to_mut_gpr, .{ .to_reg = .cl }, .none } }, | ||
| 28993 | }, | ||
| 28994 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, | ||
| 28995 | .clobbers = .{ .eflags = true }, | ||
| 28996 | .each = .{ .once = &.{ | ||
| 28997 | .{ ._, ._l, .sa, .dst0b, .src1b, ._, ._ }, | ||
| 25097 | } }, | 28998 | } }, |
| 25098 | }, .{ | 28999 | }, .{ |
| 25099 | .required_features = .{ .sahf, .x87, null, null }, | 29000 | .src_constraints = .{ .{ .unsigned_int = .byte }, .{ .unsigned_int = .byte }, .any }, |
| 25100 | .src_constraints = .{ | 29001 | .patterns = &.{ |
| 25101 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, | 29002 | .{ .src = .{ .mut_mem, .imm8, .none } }, |
| 25102 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, | 29003 | .{ .src = .{ .to_mut_gpr, .imm8, .none } }, |
| 25103 | .any, | 29004 | .{ .src = .{ .mut_mem, .{ .to_reg = .cl }, .none } }, |
| 29005 | .{ .src = .{ .to_mut_gpr, .{ .to_reg = .cl }, .none } }, | ||
| 25104 | }, | 29006 | }, |
| 29007 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, | ||
| 29008 | .clobbers = .{ .eflags = true }, | ||
| 29009 | .each = .{ .once = &.{ | ||
| 29010 | .{ ._, ._l, .sh, .dst0b, .src1b, ._, ._ }, | ||
| 29011 | } }, | ||
| 29012 | }, .{ | ||
| 29013 | .src_constraints = .{ .{ .signed_int = .word }, .{ .exact_unsigned_int = 4 }, .any }, | ||
| 25105 | .patterns = &.{ | 29014 | .patterns = &.{ |
| 25106 | .{ .src = .{ .to_mem, .to_mem, .none } }, | 29015 | .{ .src = .{ .mut_mem, .imm8, .none } }, |
| 29016 | .{ .src = .{ .to_mut_gpr, .imm8, .none } }, | ||
| 29017 | .{ .src = .{ .mut_mem, .{ .to_reg = .cl }, .none } }, | ||
| 29018 | .{ .src = .{ .to_mut_gpr, .{ .to_reg = .cl }, .none } }, | ||
| 25107 | }, | 29019 | }, |
| 25108 | .extra_temps = .{ | 29020 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| 25109 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 29021 | .clobbers = .{ .eflags = true }, |
| 25110 | .{ .type = .f80, .kind = .{ .reg = .st6 } }, | 29022 | .each = .{ .once = &.{ |
| 25111 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, | 29023 | .{ ._, ._l, .sa, .dst0w, .src1b, ._, ._ }, |
| 25112 | .{ .type = .u8, .kind = .{ .reg = .ah } }, | 29024 | } }, |
| 25113 | .unused, | 29025 | }, .{ |
| 25114 | .unused, | 29026 | .src_constraints = .{ .{ .unsigned_int = .word }, .{ .exact_unsigned_int = 4 }, .any }, |
| 25115 | .unused, | 29027 | .patterns = &.{ |
| 25116 | .unused, | 29028 | .{ .src = .{ .mut_mem, .imm8, .none } }, |
| 25117 | .unused, | 29029 | .{ .src = .{ .to_mut_gpr, .imm8, .none } }, |
| 25118 | .unused, | 29030 | .{ .src = .{ .mut_mem, .{ .to_reg = .cl }, .none } }, |
| 25119 | .unused, | 29031 | .{ .src = .{ .to_mut_gpr, .{ .to_reg = .cl }, .none } }, |
| 25120 | }, | 29032 | }, |
| 25121 | .dst_temps = .{ .mem, .unused }, | 29033 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| 25122 | .clobbers = .{ .eflags = true }, | 29034 | .clobbers = .{ .eflags = true }, |
| 25123 | .each = .{ .once = &.{ | 29035 | .each = .{ .once = &.{ |
| 25124 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, | 29036 | .{ ._, ._l, .sh, .dst0w, .src1b, ._, ._ }, |
| 25125 | .{ .@"0:", .f_, .ld, .memia(.src1t, .tmp0, .add_size), ._, ._, ._ }, | ||
| 25126 | .{ ._, .f_, .ld, .memia(.src0t, .tmp0, .add_size), ._, ._, ._ }, | ||
| 25127 | .{ ._, .f_, .ucom, .tmp1t, ._, ._, ._ }, | ||
| 25128 | .{ ._, .fn_sw, .st, .tmp3w, ._, ._, ._ }, | ||
| 25129 | .{ ._, ._, .sahf, ._, ._, ._, ._ }, | ||
| 25130 | .{ ._, ._p, .j, .@"1f", ._, ._, ._ }, | ||
| 25131 | .{ ._, .f_, .ucom, .tmp2t, ._, ._, ._ }, | ||
| 25132 | .{ ._, .fn_sw, .st, .tmp3w, ._, ._, ._ }, | ||
| 25133 | .{ ._, ._, .sahf, ._, ._, ._, ._ }, | ||
| 25134 | .{ ._, ._b, .j, .@"2f", ._, ._, ._ }, | ||
| 25135 | .{ .@"1:", .f_p, .st, .tmp1t, ._, ._, ._ }, | ||
| 25136 | .{ ._, .f_, .ld, .tmp2t, ._, ._, ._ }, | ||
| 25137 | .{ .@"2:", .f_p, .st, .memia(.dst0t, .tmp0, .add_size), ._, ._, ._ }, | ||
| 25138 | .{ ._, .f_p, .st, .tmp2t, ._, ._, ._ }, | ||
| 25139 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, | ||
| 25140 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | ||
| 25141 | } }, | 29037 | } }, |
| 25142 | }, .{ | 29038 | }, .{ |
| 25143 | .required_features = .{ .x87, null, null, null }, | 29039 | .src_constraints = .{ .{ .signed_int = .dword }, .{ .exact_unsigned_int = 5 }, .any }, |
| 25144 | .src_constraints = .{ | 29040 | .patterns = &.{ |
| 25145 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, | 29041 | .{ .src = .{ .mut_mem, .imm8, .none } }, |
| 25146 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, | 29042 | .{ .src = .{ .to_mut_gpr, .imm8, .none } }, |
| 25147 | .any, | ||
| 25148 | }, | 29043 | }, |
| 29044 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, | ||
| 29045 | .clobbers = .{ .eflags = true }, | ||
| 29046 | .each = .{ .once = &.{ | ||
| 29047 | .{ ._, ._l, .sa, .dst0d, .src1b, ._, ._ }, | ||
| 29048 | } }, | ||
| 29049 | }, .{ | ||
| 29050 | .src_constraints = .{ .{ .unsigned_int = .dword }, .{ .exact_unsigned_int = 5 }, .any }, | ||
| 25149 | .patterns = &.{ | 29051 | .patterns = &.{ |
| 25150 | .{ .src = .{ .to_mem, .to_mem, .none } }, | 29052 | .{ .src = .{ .mut_mem, .imm8, .none } }, |
| 29053 | .{ .src = .{ .to_mut_gpr, .imm8, .none } }, | ||
| 25151 | }, | 29054 | }, |
| 25152 | .extra_temps = .{ | 29055 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| 25153 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 29056 | .clobbers = .{ .eflags = true }, |
| 25154 | .{ .type = .f80, .kind = .{ .reg = .st6 } }, | 29057 | .each = .{ .once = &.{ |
| 25155 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, | 29058 | .{ ._, ._l, .sh, .dst0d, .src1b, ._, ._ }, |
| 25156 | .{ .type = .u8, .kind = .{ .reg = .ah } }, | 29059 | } }, |
| 25157 | .unused, | 29060 | }, .{ |
| 25158 | .unused, | 29061 | .required_features = .{ .bmi2, null, null, null }, |
| 25159 | .unused, | 29062 | .src_constraints = .{ .{ .int = .dword }, .{ .exact_unsigned_int = 5 }, .any }, |
| 25160 | .unused, | 29063 | .patterns = &.{ |
| 25161 | .unused, | 29064 | .{ .src = .{ .mem, .to_gpr, .none } }, |
| 25162 | .unused, | 29065 | .{ .src = .{ .to_gpr, .to_gpr, .none } }, |
| 25163 | .unused, | ||
| 25164 | }, | 29066 | }, |
| 25165 | .dst_temps = .{ .mem, .unused }, | 29067 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .general_purpose } }, .unused }, |
| 29068 | .each = .{ .once = &.{ | ||
| 29069 | .{ ._, ._lx, .sh, .dst0d, .src0d, .src1d, ._ }, | ||
| 29070 | } }, | ||
| 29071 | }, .{ | ||
| 29072 | .src_constraints = .{ .{ .signed_int = .dword }, .{ .exact_unsigned_int = 5 }, .any }, | ||
| 29073 | .patterns = &.{ | ||
| 29074 | .{ .src = .{ .mut_mem, .{ .to_reg = .cl }, .none } }, | ||
| 29075 | .{ .src = .{ .to_mut_gpr, .{ .to_reg = .cl }, .none } }, | ||
| 29076 | }, | ||
| 29077 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, | ||
| 25166 | .clobbers = .{ .eflags = true }, | 29078 | .clobbers = .{ .eflags = true }, |
| 25167 | .each = .{ .once = &.{ | 29079 | .each = .{ .once = &.{ |
| 25168 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, | 29080 | .{ ._, ._l, .sa, .dst0d, .src1b, ._, ._ }, |
| 25169 | .{ .@"0:", .f_, .ld, .memia(.src1t, .tmp0, .add_size), ._, ._, ._ }, | ||
| 25170 | .{ ._, .f_, .ld, .memia(.src0t, .tmp0, .add_size), ._, ._, ._ }, | ||
| 25171 | .{ ._, .f_, .xam, ._, ._, ._, ._ }, | ||
| 25172 | .{ ._, .fn_sw, .st, .tmp3w, ._, ._, ._ }, | ||
| 25173 | .{ ._, ._, .@"test", .tmp3b, .si(0b1_000_100), ._, ._ }, | ||
| 25174 | .{ ._, ._z, .j, .@"1f", ._, ._, ._ }, | ||
| 25175 | .{ ._, .f_, .ucom, .tmp2t, ._, ._, ._ }, | ||
| 25176 | .{ ._, .fn_sw, .st, .tmp3w, ._, ._, ._ }, | ||
| 25177 | .{ ._, ._, .@"test", .tmp3b, .si(0b0_000_001), ._, ._ }, | ||
| 25178 | .{ ._, ._nz, .j, .@"2f", ._, ._, ._ }, | ||
| 25179 | .{ .@"1:", .f_p, .st, .tmp1t, ._, ._, ._ }, | ||
| 25180 | .{ ._, .f_, .ld, .tmp2t, ._, ._, ._ }, | ||
| 25181 | .{ .@"2:", .f_p, .st, .memia(.dst0t, .tmp0, .add_size), ._, ._, ._ }, | ||
| 25182 | .{ ._, .f_p, .st, .tmp2t, ._, ._, ._ }, | ||
| 25183 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, | ||
| 25184 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | ||
| 25185 | } }, | 29081 | } }, |
| 25186 | }, .{ | 29082 | }, .{ |
| 25187 | .required_features = .{ .sse, null, null, null }, | 29083 | .src_constraints = .{ .{ .unsigned_int = .dword }, .{ .exact_unsigned_int = 5 }, .any }, |
| 29084 | .patterns = &.{ | ||
| 29085 | .{ .src = .{ .mut_mem, .{ .to_reg = .cl }, .none } }, | ||
| 29086 | .{ .src = .{ .to_mut_gpr, .{ .to_reg = .cl }, .none } }, | ||
| 29087 | }, | ||
| 29088 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, | ||
| 29089 | .clobbers = .{ .eflags = true }, | ||
| 29090 | .each = .{ .once = &.{ | ||
| 29091 | .{ ._, ._l, .sh, .dst0d, .src1b, ._, ._ }, | ||
| 29092 | } }, | ||
| 29093 | }, .{ | ||
| 29094 | .required_features = .{ .@"64bit", null, null, null }, | ||
| 29095 | .src_constraints = .{ .{ .signed_int = .qword }, .{ .exact_unsigned_int = 6 }, .any }, | ||
| 29096 | .patterns = &.{ | ||
| 29097 | .{ .src = .{ .mut_mem, .imm8, .none } }, | ||
| 29098 | .{ .src = .{ .to_mut_gpr, .imm8, .none } }, | ||
| 29099 | }, | ||
| 29100 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, | ||
| 29101 | .clobbers = .{ .eflags = true }, | ||
| 29102 | .each = .{ .once = &.{ | ||
| 29103 | .{ ._, ._l, .sa, .dst0q, .src1b, ._, ._ }, | ||
| 29104 | } }, | ||
| 29105 | }, .{ | ||
| 29106 | .required_features = .{ .@"64bit", null, null, null }, | ||
| 29107 | .src_constraints = .{ .{ .unsigned_int = .qword }, .{ .exact_unsigned_int = 6 }, .any }, | ||
| 29108 | .patterns = &.{ | ||
| 29109 | .{ .src = .{ .mut_mem, .imm8, .none } }, | ||
| 29110 | .{ .src = .{ .to_mut_gpr, .imm8, .none } }, | ||
| 29111 | }, | ||
| 29112 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, | ||
| 29113 | .clobbers = .{ .eflags = true }, | ||
| 29114 | .each = .{ .once = &.{ | ||
| 29115 | .{ ._, ._l, .sh, .dst0q, .src1b, ._, ._ }, | ||
| 29116 | } }, | ||
| 29117 | }, .{ | ||
| 29118 | .required_features = .{ .@"64bit", .bmi2, null, null }, | ||
| 29119 | .src_constraints = .{ .{ .int = .qword }, .{ .exact_unsigned_int = 6 }, .any }, | ||
| 29120 | .patterns = &.{ | ||
| 29121 | .{ .src = .{ .mem, .to_gpr, .none } }, | ||
| 29122 | .{ .src = .{ .to_gpr, .to_gpr, .none } }, | ||
| 29123 | }, | ||
| 29124 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .general_purpose } }, .unused }, | ||
| 29125 | .each = .{ .once = &.{ | ||
| 29126 | .{ ._, ._lx, .sh, .dst0q, .src0q, .src1q, ._ }, | ||
| 29127 | } }, | ||
| 29128 | }, .{ | ||
| 29129 | .required_features = .{ .@"64bit", null, null, null }, | ||
| 29130 | .src_constraints = .{ .{ .signed_int = .qword }, .{ .exact_unsigned_int = 6 }, .any }, | ||
| 29131 | .patterns = &.{ | ||
| 29132 | .{ .src = .{ .mut_mem, .{ .to_reg = .cl }, .none } }, | ||
| 29133 | .{ .src = .{ .to_mut_gpr, .{ .to_reg = .cl }, .none } }, | ||
| 29134 | }, | ||
| 29135 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, | ||
| 29136 | .clobbers = .{ .eflags = true }, | ||
| 29137 | .each = .{ .once = &.{ | ||
| 29138 | .{ ._, ._l, .sa, .dst0q, .src1b, ._, ._ }, | ||
| 29139 | } }, | ||
| 29140 | }, .{ | ||
| 29141 | .required_features = .{ .@"64bit", null, null, null }, | ||
| 29142 | .src_constraints = .{ .{ .unsigned_int = .qword }, .{ .exact_unsigned_int = 6 }, .any }, | ||
| 29143 | .patterns = &.{ | ||
| 29144 | .{ .src = .{ .mut_mem, .{ .to_reg = .cl }, .none } }, | ||
| 29145 | .{ .src = .{ .to_mut_gpr, .{ .to_reg = .cl }, .none } }, | ||
| 29146 | }, | ||
| 29147 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, | ||
| 29148 | .clobbers = .{ .eflags = true }, | ||
| 29149 | .each = .{ .once = &.{ | ||
| 29150 | .{ ._, ._l, .sh, .dst0q, .src1b, ._, ._ }, | ||
| 29151 | } }, | ||
| 29152 | }, .{ | ||
| 29153 | .required_features = .{ .@"64bit", .slow_incdec, null, null }, | ||
| 25188 | .src_constraints = .{ | 29154 | .src_constraints = .{ |
| 25189 | .{ .scalar_float = .{ .of = .xword, .is = .xword } }, | 29155 | .{ .remainder_int = .{ .of = .qword, .is = .qword } }, |
| 25190 | .{ .scalar_float = .{ .of = .xword, .is = .xword } }, | 29156 | .{ .unsigned_int = .byte }, |
| 25191 | .any, | 29157 | .any, |
| 25192 | }, | 29158 | }, |
| 25193 | .patterns = &.{ | 29159 | .patterns = &.{ |
| 25194 | .{ .src = .{ .{ .to_reg = .xmm0 }, .{ .to_reg = .xmm1 }, .none } }, | 29160 | .{ .src = .{ .to_mem, .{ .to_reg = .cl }, .none } }, |
| 25195 | }, | 29161 | }, |
| 25196 | .call_frame = .{ .alignment = .@"16" }, | ||
| 25197 | .extra_temps = .{ | 29162 | .extra_temps = .{ |
| 25198 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "fminq" } } }, | 29163 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 25199 | .unused, | 29164 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 25200 | .unused, | 29165 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 25201 | .unused, | 29166 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 25202 | .unused, | 29167 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 25203 | .unused, | 29168 | .unused, |
| 25204 | .unused, | 29169 | .unused, |
| 25205 | .unused, | 29170 | .unused, |
| ... | @@ -25207,28 +29172,44 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -25207,28 +29172,44 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 25207 | .unused, | 29172 | .unused, |
| 25208 | .unused, | 29173 | .unused, |
| 25209 | }, | 29174 | }, |
| 25210 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, | 29175 | .dst_temps = .{ .mem, .unused }, |
| 25211 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 29176 | .clobbers = .{ .eflags = true }, |
| 25212 | .each = .{ .once = &.{ | 29177 | .each = .{ .once = &.{ |
| 25213 | .{ ._, ._, .call, .tmp0d, ._, ._, ._ }, | 29178 | .{ ._, ._, .movzx, .tmp0d, .src1b, ._, ._ }, |
| 29179 | .{ ._, ._, .mov, .tmp1d, .sia(-1, .src0, .add_size_div_8), ._, ._ }, | ||
| 29180 | .{ ._, ._r, .sh, .tmp0d, .ui(6), ._, ._ }, | ||
| 29181 | .{ ._, ._, .sub, .tmp1d, .tmp0d, ._, ._ }, | ||
| 29182 | .{ ._, ._, .lea, .tmp2p, .memsid(.dst0, .@"8", .tmp0, 8), ._, ._ }, | ||
| 29183 | .{ ._, ._, .mov, .tmp3q, .memsi(.src0q, .@"8", .tmp1), ._, ._ }, | ||
| 29184 | .{ ._, ._mp, .j, .@"1f", ._, ._, ._ }, | ||
| 29185 | .{ .@"0:", ._, .mov, .tmp4q, .memsi(.src0q, .@"8", .tmp1), ._, ._ }, | ||
| 29186 | .{ ._, ._ld, .sh, .tmp3q, .tmp4q, .src1b, ._ }, | ||
| 29187 | .{ ._, ._, .mov, .leasi(.tmp2q, .@"8", .tmp1), .tmp3q, ._, ._ }, | ||
| 29188 | .{ ._, ._, .mov, .tmp3q, .tmp4q, ._, ._ }, | ||
| 29189 | .{ .@"1:", ._, .sub, .tmp1d, .si(1), ._, ._ }, | ||
| 29190 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, | ||
| 29191 | .{ ._, ._l, .sh, .tmp3q, .src1b, ._, ._ }, | ||
| 29192 | .{ .@"0:", ._, .mov, .memsi(.dst0q, .@"8", .tmp0), .tmp3q, ._, ._ }, | ||
| 29193 | .{ ._, ._, .xor, .tmp3d, .tmp3d, ._, ._ }, | ||
| 29194 | .{ ._, ._, .sub, .tmp0d, .si(1), ._, ._ }, | ||
| 29195 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, | ||
| 25214 | } }, | 29196 | } }, |
| 25215 | }, .{ | 29197 | }, .{ |
| 25216 | .required_features = .{ .avx, null, null, null }, | 29198 | .required_features = .{ .@"64bit", null, null, null }, |
| 25217 | .src_constraints = .{ | 29199 | .src_constraints = .{ |
| 25218 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, | 29200 | .{ .remainder_int = .{ .of = .qword, .is = .qword } }, |
| 25219 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, | 29201 | .{ .unsigned_int = .byte }, |
| 25220 | .any, | 29202 | .any, |
| 25221 | }, | 29203 | }, |
| 25222 | .patterns = &.{ | 29204 | .patterns = &.{ |
| 25223 | .{ .src = .{ .to_mem, .to_mem, .none } }, | 29205 | .{ .src = .{ .to_mem, .{ .to_reg = .cl }, .none } }, |
| 25224 | }, | 29206 | }, |
| 25225 | .call_frame = .{ .alignment = .@"16" }, | ||
| 25226 | .extra_temps = .{ | 29207 | .extra_temps = .{ |
| 25227 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 29208 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 25228 | .{ .type = .f128, .kind = .{ .reg = .xmm0 } }, | 29209 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 25229 | .{ .type = .f128, .kind = .{ .reg = .xmm1 } }, | 29210 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 25230 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "fminq" } } }, | 29211 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 25231 | .unused, | 29212 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 25232 | .unused, | 29213 | .unused, |
| 25233 | .unused, | 29214 | .unused, |
| 25234 | .unused, | 29215 | .unused, |
| ... | @@ -25237,33 +29218,43 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -25237,33 +29218,43 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 25237 | .unused, | 29218 | .unused, |
| 25238 | }, | 29219 | }, |
| 25239 | .dst_temps = .{ .mem, .unused }, | 29220 | .dst_temps = .{ .mem, .unused }, |
| 25240 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 29221 | .clobbers = .{ .eflags = true }, |
| 25241 | .each = .{ .once = &.{ | 29222 | .each = .{ .once = &.{ |
| 25242 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, | 29223 | .{ ._, ._, .movzx, .tmp0d, .src1b, ._, ._ }, |
| 25243 | .{ .@"0:", .v_dqa, .mov, .tmp1x, .memia(.src0x, .tmp0, .add_size), ._, ._ }, | 29224 | .{ ._, ._, .mov, .tmp1d, .sia(-1, .src0, .add_size_div_8), ._, ._ }, |
| 25244 | .{ ._, .v_dqa, .mov, .tmp2x, .memia(.src1x, .tmp0, .add_size), ._, ._ }, | 29225 | .{ ._, ._r, .sh, .tmp0d, .ui(6), ._, ._ }, |
| 25245 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, | 29226 | .{ ._, ._, .sub, .tmp1d, .tmp0d, ._, ._ }, |
| 25246 | .{ ._, .v_dqa, .mov, .memia(.dst0x, .tmp0, .add_size), .tmp1x, ._, ._ }, | 29227 | .{ ._, ._, .lea, .tmp2p, .memsid(.dst0, .@"8", .tmp0, 8), ._, ._ }, |
| 25247 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, | 29228 | .{ ._, ._, .mov, .tmp3q, .memsi(.src0q, .@"8", .tmp1), ._, ._ }, |
| 25248 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 29229 | .{ ._, ._mp, .j, .@"1f", ._, ._, ._ }, |
| 29230 | .{ .@"0:", ._, .mov, .tmp4q, .memsi(.src0q, .@"8", .tmp1), ._, ._ }, | ||
| 29231 | .{ ._, ._ld, .sh, .tmp3q, .tmp4q, .src1b, ._ }, | ||
| 29232 | .{ ._, ._, .mov, .leasi(.tmp2q, .@"8", .tmp1), .tmp3q, ._, ._ }, | ||
| 29233 | .{ ._, ._, .mov, .tmp3q, .tmp4q, ._, ._ }, | ||
| 29234 | .{ .@"1:", ._c, .de, .tmp1d, ._, ._, ._ }, | ||
| 29235 | .{ ._, ._ns, .j, .@"0b", ._, ._, ._ }, | ||
| 29236 | .{ ._, ._l, .sh, .tmp3q, .src1b, ._, ._ }, | ||
| 29237 | .{ .@"0:", ._, .mov, .memsi(.dst0q, .@"8", .tmp0), .tmp3q, ._, ._ }, | ||
| 29238 | .{ ._, ._, .xor, .tmp3d, .tmp3d, ._, ._ }, | ||
| 29239 | .{ ._, ._c, .de, .tmp0d, ._, ._, ._ }, | ||
| 29240 | .{ ._, ._ns, .j, .@"0b", ._, ._, ._ }, | ||
| 25249 | } }, | 29241 | } }, |
| 25250 | }, .{ | 29242 | }, .{ |
| 25251 | .required_features = .{ .sse2, null, null, null }, | 29243 | .required_features = .{ .@"64bit", .slow_incdec, null, null }, |
| 25252 | .src_constraints = .{ | 29244 | .src_constraints = .{ |
| 25253 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, | 29245 | .{ .remainder_int = .{ .of = .qword, .is = .qword } }, |
| 25254 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, | 29246 | .{ .unsigned_int = .word }, |
| 25255 | .any, | 29247 | .any, |
| 25256 | }, | 29248 | }, |
| 25257 | .patterns = &.{ | 29249 | .patterns = &.{ |
| 25258 | .{ .src = .{ .to_mem, .to_mem, .none } }, | 29250 | .{ .src = .{ .to_mem, .{ .to_reg = .cx }, .none } }, |
| 25259 | }, | 29251 | }, |
| 25260 | .call_frame = .{ .alignment = .@"16" }, | 29252 | .extra_temps = .{ |
| 25261 | .extra_temps = .{ | 29253 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 25262 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 29254 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 25263 | .{ .type = .f128, .kind = .{ .reg = .xmm0 } }, | 29255 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 25264 | .{ .type = .f128, .kind = .{ .reg = .xmm1 } }, | 29256 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 25265 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "fminq" } } }, | 29257 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 25266 | .unused, | ||
| 25267 | .unused, | 29258 | .unused, |
| 25268 | .unused, | 29259 | .unused, |
| 25269 | .unused, | 29260 | .unused, |
| ... | @@ -25272,33 +29263,43 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -25272,33 +29263,43 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 25272 | .unused, | 29263 | .unused, |
| 25273 | }, | 29264 | }, |
| 25274 | .dst_temps = .{ .mem, .unused }, | 29265 | .dst_temps = .{ .mem, .unused }, |
| 25275 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 29266 | .clobbers = .{ .eflags = true }, |
| 25276 | .each = .{ .once = &.{ | 29267 | .each = .{ .once = &.{ |
| 25277 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, | 29268 | .{ ._, ._, .movzx, .tmp0d, .src1w, ._, ._ }, |
| 25278 | .{ .@"0:", ._dqa, .mov, .tmp1x, .memia(.src0x, .tmp0, .add_size), ._, ._ }, | 29269 | .{ ._, ._, .mov, .tmp1d, .sia(-1, .src0, .add_size_div_8), ._, ._ }, |
| 25279 | .{ ._, ._dqa, .mov, .tmp2x, .memia(.src1x, .tmp0, .add_size), ._, ._ }, | 29270 | .{ ._, ._r, .sh, .tmp0d, .ui(6), ._, ._ }, |
| 25280 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, | 29271 | .{ ._, ._, .sub, .tmp1d, .tmp0d, ._, ._ }, |
| 25281 | .{ ._, ._dqa, .mov, .memia(.dst0x, .tmp0, .add_size), .tmp1x, ._, ._ }, | 29272 | .{ ._, ._, .lea, .tmp2p, .memsid(.dst0, .@"8", .tmp0, 8), ._, ._ }, |
| 25282 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, | 29273 | .{ ._, ._, .mov, .tmp3q, .memsi(.src0q, .@"8", .tmp1), ._, ._ }, |
| 25283 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 29274 | .{ ._, ._mp, .j, .@"1f", ._, ._, ._ }, |
| 29275 | .{ .@"0:", ._, .mov, .tmp4q, .memsi(.src0q, .@"8", .tmp1), ._, ._ }, | ||
| 29276 | .{ ._, ._ld, .sh, .tmp3q, .tmp4q, .src1b, ._ }, | ||
| 29277 | .{ ._, ._, .mov, .leasi(.tmp2q, .@"8", .tmp1), .tmp3q, ._, ._ }, | ||
| 29278 | .{ ._, ._, .mov, .tmp3q, .tmp4q, ._, ._ }, | ||
| 29279 | .{ .@"1:", ._, .sub, .tmp1d, .si(1), ._, ._ }, | ||
| 29280 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, | ||
| 29281 | .{ ._, ._l, .sh, .tmp3q, .src1b, ._, ._ }, | ||
| 29282 | .{ .@"0:", ._, .mov, .memsi(.dst0q, .@"8", .tmp0), .tmp3q, ._, ._ }, | ||
| 29283 | .{ ._, ._, .xor, .tmp3d, .tmp3d, ._, ._ }, | ||
| 29284 | .{ ._, ._, .sub, .tmp0d, .si(1), ._, ._ }, | ||
| 29285 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, | ||
| 25284 | } }, | 29286 | } }, |
| 25285 | }, .{ | 29287 | }, .{ |
| 25286 | .required_features = .{ .sse, null, null, null }, | 29288 | .required_features = .{ .@"64bit", null, null, null }, |
| 25287 | .src_constraints = .{ | 29289 | .src_constraints = .{ |
| 25288 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, | 29290 | .{ .remainder_int = .{ .of = .qword, .is = .qword } }, |
| 25289 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, | 29291 | .{ .unsigned_int = .word }, |
| 25290 | .any, | 29292 | .any, |
| 25291 | }, | 29293 | }, |
| 25292 | .patterns = &.{ | 29294 | .patterns = &.{ |
| 25293 | .{ .src = .{ .to_mem, .to_mem, .none } }, | 29295 | .{ .src = .{ .to_mem, .{ .to_reg = .cx }, .none } }, |
| 25294 | }, | 29296 | }, |
| 25295 | .call_frame = .{ .alignment = .@"16" }, | ||
| 25296 | .extra_temps = .{ | 29297 | .extra_temps = .{ |
| 25297 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 29298 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 25298 | .{ .type = .f128, .kind = .{ .reg = .xmm0 } }, | 29299 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 25299 | .{ .type = .f128, .kind = .{ .reg = .xmm1 } }, | 29300 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 25300 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "fminq" } } }, | 29301 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 25301 | .unused, | 29302 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| 25302 | .unused, | 29303 | .unused, |
| 25303 | .unused, | 29304 | .unused, |
| 25304 | .unused, | 29305 | .unused, |
| ... | @@ -25307,419 +29308,50 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -25307,419 +29308,50 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 25307 | .unused, | 29308 | .unused, |
| 25308 | }, | 29309 | }, |
| 25309 | .dst_temps = .{ .mem, .unused }, | 29310 | .dst_temps = .{ .mem, .unused }, |
| 25310 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, | 29311 | .clobbers = .{ .eflags = true }, |
| 25311 | .each = .{ .once = &.{ | 29312 | .each = .{ .once = &.{ |
| 25312 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, | 29313 | .{ ._, ._, .movzx, .tmp0d, .src1w, ._, ._ }, |
| 25313 | .{ .@"0:", ._ps, .mova, .tmp1x, .memia(.src0x, .tmp0, .add_size), ._, ._ }, | 29314 | .{ ._, ._, .mov, .tmp1d, .sia(-1, .src0, .add_size_div_8), ._, ._ }, |
| 25314 | .{ ._, ._ps, .mova, .tmp2x, .memia(.src1x, .tmp0, .add_size), ._, ._ }, | 29315 | .{ ._, ._r, .sh, .tmp0d, .ui(6), ._, ._ }, |
| 25315 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, | 29316 | .{ ._, ._, .sub, .tmp1d, .tmp0d, ._, ._ }, |
| 25316 | .{ ._, ._ps, .mova, .memia(.dst0x, .tmp0, .add_size), .tmp1x, ._, ._ }, | 29317 | .{ ._, ._, .lea, .tmp2p, .memsid(.dst0, .@"8", .tmp0, 8), ._, ._ }, |
| 25317 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, | 29318 | .{ ._, ._, .mov, .tmp3q, .memsi(.src0q, .@"8", .tmp1), ._, ._ }, |
| 25318 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 29319 | .{ ._, ._mp, .j, .@"1f", ._, ._, ._ }, |
| 29320 | .{ .@"0:", ._, .mov, .tmp4q, .memsi(.src0q, .@"8", .tmp1), ._, ._ }, | ||
| 29321 | .{ ._, ._ld, .sh, .tmp3q, .tmp4q, .src1b, ._ }, | ||
| 29322 | .{ ._, ._, .mov, .leasi(.tmp2q, .@"8", .tmp1), .tmp3q, ._, ._ }, | ||
| 29323 | .{ ._, ._, .mov, .tmp3q, .tmp4q, ._, ._ }, | ||
| 29324 | .{ .@"1:", ._c, .de, .tmp1d, ._, ._, ._ }, | ||
| 29325 | .{ ._, ._ns, .j, .@"0b", ._, ._, ._ }, | ||
| 29326 | .{ ._, ._l, .sh, .tmp3q, .src1b, ._, ._ }, | ||
| 29327 | .{ .@"0:", ._, .mov, .memsi(.dst0q, .@"8", .tmp0), .tmp3q, ._, ._ }, | ||
| 29328 | .{ ._, ._, .xor, .tmp3d, .tmp3d, ._, ._ }, | ||
| 29329 | .{ ._, ._c, .de, .tmp0d, ._, ._, ._ }, | ||
| 29330 | .{ ._, ._ns, .j, .@"0b", ._, ._, ._ }, | ||
| 25319 | } }, | 29331 | } }, |
| 25320 | } }) catch |err| switch (err) { | 29332 | } }) catch |err| switch (err) { |
| 25321 | error.SelectFailed => return cg.fail("failed to select {s} {} {} {}", .{ | 29333 | error.SelectFailed => return cg.fail("failed to select {s} {} {} {} {}", .{ |
| 25322 | @tagName(air_tag), | 29334 | @tagName(air_tag), |
| 25323 | cg.typeOf(bin_op.lhs).fmt(pt), | 29335 | cg.typeOf(bin_op.lhs).fmt(pt), |
| 29336 | cg.typeOf(bin_op.rhs).fmt(pt), | ||
| 25324 | ops[0].tracking(cg), | 29337 | ops[0].tracking(cg), |
| 25325 | ops[1].tracking(cg), | 29338 | ops[1].tracking(cg), |
| 25326 | }), | 29339 | }), |
| 25327 | else => |e| return e, | 29340 | else => |e| return e, |
| 25328 | }; | 29341 | }; |
| 25329 | try res[0].finish(inst, &.{ bin_op.lhs, bin_op.rhs }, &ops, cg); | 29342 | switch (air_tag) { |
| 25330 | }, | ||
| 25331 | .alloc => if (use_old) try cg.airAlloc(inst) else { | ||
| 25332 | const ty = air_datas[@intFromEnum(inst)].ty; | ||
| 25333 | const slot = try cg.tempInit(ty, .{ .lea_frame = .{ | ||
| 25334 | .index = try cg.allocMemPtr(inst), | ||
| 25335 | } }); | ||
| 25336 | try slot.finish(inst, &.{}, &.{}, cg); | ||
| 25337 | }, | ||
| 25338 | .inferred_alloc, .inferred_alloc_comptime => unreachable, | ||
| 25339 | .ret_ptr => if (use_old) try cg.airRetPtr(inst) else { | ||
| 25340 | const ty = air_datas[@intFromEnum(inst)].ty; | ||
| 25341 | var slot = switch (cg.ret_mcv.long) { | ||
| 25342 | else => unreachable, | 29343 | else => unreachable, |
| 25343 | .none => try cg.tempInit(ty, .{ .lea_frame = .{ | 29344 | .shl => res[0].wrapInt(cg) catch |err| switch (err) { |
| 25344 | .index = try cg.allocMemPtr(inst), | 29345 | error.SelectFailed => return cg.fail("failed to select wrap {} {} {} {}", .{ |
| 25345 | } }), | 29346 | cg.typeOf(bin_op.lhs).fmt(pt), |
| 25346 | .load_frame => slot: { | 29347 | cg.typeOf(bin_op.rhs).fmt(pt), |
| 25347 | var slot = try cg.tempInit(ty, cg.ret_mcv.long); | 29348 | ops[0].tracking(cg), |
| 25348 | try slot.toOffset(cg.ret_mcv.short.indirect.off, cg); | 29349 | ops[1].tracking(cg), |
| 25349 | break :slot slot; | 29350 | }), |
| 29351 | else => |e| return e, | ||
| 25350 | }, | 29352 | }, |
| 25351 | }; | 29353 | .shl_exact => {}, |
| 25352 | try slot.finish(inst, &.{}, &.{}, cg); | 29354 | } |
| 25353 | }, | ||
| 25354 | .assembly => try cg.airAsm(inst), | ||
| 25355 | .bit_and, .bit_or, .xor, .bool_and, .bool_or => |air_tag| if (use_old) try cg.airBinOp(inst, air_tag) else { | ||
| 25356 | const bin_op = air_datas[@intFromEnum(inst)].bin_op; | ||
| 25357 | var ops = try cg.tempsFromOperands(inst, .{ bin_op.lhs, bin_op.rhs }); | ||
| 25358 | var res: [1]Temp = undefined; | ||
| 25359 | cg.select(&res, &.{cg.typeOf(bin_op.lhs)}, &ops, switch (@as(Mir.Inst.Tag, switch (air_tag) { | ||
| 25360 | else => unreachable, | ||
| 25361 | .bit_and, .bool_and => .@"and", | ||
| 25362 | .bit_or, .bool_or => .@"or", | ||
| 25363 | .xor => .xor, | ||
| 25364 | })) { | ||
| 25365 | else => unreachable, | ||
| 25366 | inline .@"and", .@"or", .xor => |mir_tag| comptime &.{ .{ | ||
| 25367 | .src_constraints = .{ .{ .size = .byte }, .{ .size = .byte }, .any }, | ||
| 25368 | .patterns = &.{ | ||
| 25369 | .{ .src = .{ .mut_mem, .imm8, .none } }, | ||
| 25370 | .{ .src = .{ .imm8, .mut_mem, .none }, .commute = .{ 0, 1 } }, | ||
| 25371 | .{ .src = .{ .to_mut_gpr, .imm8, .none } }, | ||
| 25372 | .{ .src = .{ .imm8, .to_mut_gpr, .none }, .commute = .{ 0, 1 } }, | ||
| 25373 | .{ .src = .{ .mut_mem, .to_gpr, .none } }, | ||
| 25374 | .{ .src = .{ .to_gpr, .mut_mem, .none }, .commute = .{ 0, 1 } }, | ||
| 25375 | .{ .src = .{ .to_mut_gpr, .mem, .none } }, | ||
| 25376 | .{ .src = .{ .mem, .to_mut_gpr, .none }, .commute = .{ 0, 1 } }, | ||
| 25377 | .{ .src = .{ .to_mut_gpr, .to_gpr, .none } }, | ||
| 25378 | }, | ||
| 25379 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, | ||
| 25380 | .clobbers = .{ .eflags = true }, | ||
| 25381 | .each = .{ .once = &.{ | ||
| 25382 | .{ ._, ._, mir_tag, .dst0b, .src1b, ._, ._ }, | ||
| 25383 | } }, | ||
| 25384 | }, .{ | ||
| 25385 | .src_constraints = .{ .{ .size = .word }, .{ .size = .word }, .any }, | ||
| 25386 | .patterns = &.{ | ||
| 25387 | .{ .src = .{ .mut_mem, .imm16, .none } }, | ||
| 25388 | .{ .src = .{ .imm16, .mut_mem, .none }, .commute = .{ 0, 1 } }, | ||
| 25389 | .{ .src = .{ .to_mut_gpr, .imm16, .none } }, | ||
| 25390 | .{ .src = .{ .imm16, .to_mut_gpr, .none }, .commute = .{ 0, 1 } }, | ||
| 25391 | .{ .src = .{ .mut_mem, .to_gpr, .none } }, | ||
| 25392 | .{ .src = .{ .to_gpr, .mut_mem, .none }, .commute = .{ 0, 1 } }, | ||
| 25393 | .{ .src = .{ .to_mut_gpr, .mem, .none } }, | ||
| 25394 | .{ .src = .{ .mem, .to_mut_gpr, .none }, .commute = .{ 0, 1 } }, | ||
| 25395 | .{ .src = .{ .to_mut_gpr, .to_gpr, .none } }, | ||
| 25396 | }, | ||
| 25397 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, | ||
| 25398 | .clobbers = .{ .eflags = true }, | ||
| 25399 | .each = .{ .once = &.{ | ||
| 25400 | .{ ._, ._, mir_tag, .dst0w, .src1w, ._, ._ }, | ||
| 25401 | } }, | ||
| 25402 | }, .{ | ||
| 25403 | .src_constraints = .{ .{ .size = .dword }, .{ .size = .dword }, .any }, | ||
| 25404 | .patterns = &.{ | ||
| 25405 | .{ .src = .{ .mut_mem, .imm32, .none } }, | ||
| 25406 | .{ .src = .{ .imm32, .mut_mem, .none }, .commute = .{ 0, 1 } }, | ||
| 25407 | .{ .src = .{ .to_mut_gpr, .imm32, .none } }, | ||
| 25408 | .{ .src = .{ .imm32, .to_mut_gpr, .none }, .commute = .{ 0, 1 } }, | ||
| 25409 | .{ .src = .{ .mut_mem, .to_gpr, .none } }, | ||
| 25410 | .{ .src = .{ .to_gpr, .mut_mem, .none }, .commute = .{ 0, 1 } }, | ||
| 25411 | .{ .src = .{ .to_mut_gpr, .mem, .none } }, | ||
| 25412 | .{ .src = .{ .mem, .to_mut_gpr, .none }, .commute = .{ 0, 1 } }, | ||
| 25413 | .{ .src = .{ .to_mut_gpr, .to_gpr, .none } }, | ||
| 25414 | }, | ||
| 25415 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, | ||
| 25416 | .clobbers = .{ .eflags = true }, | ||
| 25417 | .each = .{ .once = &.{ | ||
| 25418 | .{ ._, ._, mir_tag, .dst0d, .src1d, ._, ._ }, | ||
| 25419 | } }, | ||
| 25420 | }, .{ | ||
| 25421 | .required_features = .{ .@"64bit", null, null, null }, | ||
| 25422 | .src_constraints = .{ .{ .size = .qword }, .{ .size = .qword }, .any }, | ||
| 25423 | .patterns = &.{ | ||
| 25424 | .{ .src = .{ .mut_mem, .simm32, .none } }, | ||
| 25425 | .{ .src = .{ .simm32, .mut_mem, .none }, .commute = .{ 0, 1 } }, | ||
| 25426 | .{ .src = .{ .to_mut_gpr, .simm32, .none } }, | ||
| 25427 | .{ .src = .{ .simm32, .to_mut_gpr, .none }, .commute = .{ 0, 1 } }, | ||
| 25428 | .{ .src = .{ .mut_mem, .to_gpr, .none } }, | ||
| 25429 | .{ .src = .{ .to_gpr, .mut_mem, .none }, .commute = .{ 0, 1 } }, | ||
| 25430 | .{ .src = .{ .to_mut_gpr, .mem, .none } }, | ||
| 25431 | .{ .src = .{ .mem, .to_mut_gpr, .none }, .commute = .{ 0, 1 } }, | ||
| 25432 | .{ .src = .{ .to_mut_gpr, .to_gpr, .none } }, | ||
| 25433 | }, | ||
| 25434 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, | ||
| 25435 | .clobbers = .{ .eflags = true }, | ||
| 25436 | .each = .{ .once = &.{ | ||
| 25437 | .{ ._, ._, mir_tag, .dst0q, .src1q, ._, ._ }, | ||
| 25438 | } }, | ||
| 25439 | }, .{ | ||
| 25440 | .required_features = .{ .mmx, null, null, null }, | ||
| 25441 | .src_constraints = .{ .{ .size = .qword }, .{ .size = .qword }, .any }, | ||
| 25442 | .patterns = &.{ | ||
| 25443 | .{ .src = .{ .to_mut_mm, .mem, .none } }, | ||
| 25444 | .{ .src = .{ .mem, .to_mut_mm, .none }, .commute = .{ 0, 1 } }, | ||
| 25445 | .{ .src = .{ .to_mut_mm, .to_mm, .none } }, | ||
| 25446 | }, | ||
| 25447 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, | ||
| 25448 | .each = .{ .once = &.{ | ||
| 25449 | .{ ._, .p_, mir_tag, .dst0q, .src1q, ._, ._ }, | ||
| 25450 | } }, | ||
| 25451 | }, .{ | ||
| 25452 | .required_features = .{ .avx, null, null, null }, | ||
| 25453 | .src_constraints = .{ .{ .size = .xword }, .{ .size = .xword }, .any }, | ||
| 25454 | .patterns = &.{ | ||
| 25455 | .{ .src = .{ .to_xmm, .mem, .none } }, | ||
| 25456 | .{ .src = .{ .mem, .to_xmm, .none }, .commute = .{ 0, 1 } }, | ||
| 25457 | .{ .src = .{ .to_xmm, .to_xmm, .none } }, | ||
| 25458 | }, | ||
| 25459 | .dst_temps = .{ .{ .rc = .sse }, .unused }, | ||
| 25460 | .each = .{ .once = &.{ | ||
| 25461 | .{ ._, .vp_, mir_tag, .dst0x, .src0x, .src1x, ._ }, | ||
| 25462 | } }, | ||
| 25463 | }, .{ | ||
| 25464 | .required_features = .{ .sse2, null, null, null }, | ||
| 25465 | .src_constraints = .{ .{ .size = .xword }, .{ .size = .xword }, .any }, | ||
| 25466 | .patterns = &.{ | ||
| 25467 | .{ .src = .{ .to_mut_xmm, .mem, .none } }, | ||
| 25468 | .{ .src = .{ .mem, .to_mut_xmm, .none }, .commute = .{ 0, 1 } }, | ||
| 25469 | .{ .src = .{ .to_mut_xmm, .to_xmm, .none } }, | ||
| 25470 | }, | ||
| 25471 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, | ||
| 25472 | .each = .{ .once = &.{ | ||
| 25473 | .{ ._, .p_, mir_tag, .dst0x, .src1x, ._, ._ }, | ||
| 25474 | } }, | ||
| 25475 | }, .{ | ||
| 25476 | .required_features = .{ .sse, null, null, null }, | ||
| 25477 | .src_constraints = .{ .{ .size = .xword }, .{ .size = .xword }, .any }, | ||
| 25478 | .patterns = &.{ | ||
| 25479 | .{ .src = .{ .to_mut_xmm, .mem, .none } }, | ||
| 25480 | .{ .src = .{ .mem, .to_mut_xmm, .none }, .commute = .{ 0, 1 } }, | ||
| 25481 | .{ .src = .{ .to_mut_xmm, .to_xmm, .none } }, | ||
| 25482 | }, | ||
| 25483 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, | ||
| 25484 | .each = .{ .once = &.{ | ||
| 25485 | .{ ._, ._ps, mir_tag, .dst0x, .src1x, ._, ._ }, | ||
| 25486 | } }, | ||
| 25487 | }, .{ | ||
| 25488 | .required_features = .{ .avx2, null, null, null }, | ||
| 25489 | .src_constraints = .{ .{ .size = .yword }, .{ .size = .yword }, .any }, | ||
| 25490 | .patterns = &.{ | ||
| 25491 | .{ .src = .{ .to_ymm, .mem, .none } }, | ||
| 25492 | .{ .src = .{ .mem, .to_ymm, .none }, .commute = .{ 0, 1 } }, | ||
| 25493 | .{ .src = .{ .to_ymm, .to_ymm, .none } }, | ||
| 25494 | }, | ||
| 25495 | .dst_temps = .{ .{ .rc = .sse }, .unused }, | ||
| 25496 | .each = .{ .once = &.{ | ||
| 25497 | .{ ._, .vp_, mir_tag, .dst0y, .src0y, .src1y, ._ }, | ||
| 25498 | } }, | ||
| 25499 | }, .{ | ||
| 25500 | .required_features = .{ .avx, null, null, null }, | ||
| 25501 | .src_constraints = .{ .{ .size = .yword }, .{ .size = .yword }, .any }, | ||
| 25502 | .patterns = &.{ | ||
| 25503 | .{ .src = .{ .to_ymm, .mem, .none } }, | ||
| 25504 | .{ .src = .{ .mem, .to_ymm, .none }, .commute = .{ 0, 1 } }, | ||
| 25505 | .{ .src = .{ .to_ymm, .to_ymm, .none } }, | ||
| 25506 | }, | ||
| 25507 | .dst_temps = .{ .{ .rc = .sse }, .unused }, | ||
| 25508 | .each = .{ .once = &.{ | ||
| 25509 | .{ ._, .v_pd, mir_tag, .dst0y, .src0y, .src1y, ._ }, | ||
| 25510 | } }, | ||
| 25511 | }, .{ | ||
| 25512 | .required_features = .{ .avx2, null, null, null }, | ||
| 25513 | .src_constraints = .{ .{ .multiple_size = .yword }, .{ .multiple_size = .yword }, .any }, | ||
| 25514 | .patterns = &.{ | ||
| 25515 | .{ .src = .{ .to_mem, .to_mem, .none } }, | ||
| 25516 | }, | ||
| 25517 | .extra_temps = .{ | ||
| 25518 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | ||
| 25519 | .{ .type = .vector_32_u8, .kind = .{ .rc = .sse } }, | ||
| 25520 | .unused, | ||
| 25521 | .unused, | ||
| 25522 | .unused, | ||
| 25523 | .unused, | ||
| 25524 | .unused, | ||
| 25525 | .unused, | ||
| 25526 | .unused, | ||
| 25527 | .unused, | ||
| 25528 | .unused, | ||
| 25529 | }, | ||
| 25530 | .dst_temps = .{ .mem, .unused }, | ||
| 25531 | .clobbers = .{ .eflags = true }, | ||
| 25532 | .each = .{ .once = &.{ | ||
| 25533 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, | ||
| 25534 | .{ .@"0:", .v_dqu, .mov, .tmp1y, .memia(.src0y, .tmp0, .add_size), ._, ._ }, | ||
| 25535 | .{ ._, .vp_, mir_tag, .tmp1y, .tmp1y, .memia(.src1y, .tmp0, .add_size), ._ }, | ||
| 25536 | .{ ._, .v_dqu, .mov, .memia(.dst0y, .tmp0, .add_size), .tmp1y, ._, ._ }, | ||
| 25537 | .{ ._, ._, .add, .tmp0p, .si(32), ._, ._ }, | ||
| 25538 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | ||
| 25539 | } }, | ||
| 25540 | }, .{ | ||
| 25541 | .required_features = .{ .avx, null, null, null }, | ||
| 25542 | .src_constraints = .{ .{ .multiple_size = .yword }, .{ .multiple_size = .yword }, .any }, | ||
| 25543 | .patterns = &.{ | ||
| 25544 | .{ .src = .{ .to_mem, .to_mem, .none } }, | ||
| 25545 | }, | ||
| 25546 | .extra_temps = .{ | ||
| 25547 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | ||
| 25548 | .{ .type = .vector_32_u8, .kind = .{ .rc = .sse } }, | ||
| 25549 | .unused, | ||
| 25550 | .unused, | ||
| 25551 | .unused, | ||
| 25552 | .unused, | ||
| 25553 | .unused, | ||
| 25554 | .unused, | ||
| 25555 | .unused, | ||
| 25556 | .unused, | ||
| 25557 | .unused, | ||
| 25558 | }, | ||
| 25559 | .dst_temps = .{ .mem, .unused }, | ||
| 25560 | .clobbers = .{ .eflags = true }, | ||
| 25561 | .each = .{ .once = &.{ | ||
| 25562 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, | ||
| 25563 | .{ .@"0:", .v_pd, .movu, .tmp1y, .memia(.src0y, .tmp0, .add_size), ._, ._ }, | ||
| 25564 | .{ ._, .v_pd, mir_tag, .tmp1y, .tmp1y, .memia(.src1y, .tmp0, .add_size), ._ }, | ||
| 25565 | .{ ._, .v_pd, .movu, .memia(.dst0y, .tmp0, .add_size), .tmp1y, ._, ._ }, | ||
| 25566 | .{ ._, ._, .add, .tmp0p, .si(32), ._, ._ }, | ||
| 25567 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | ||
| 25568 | } }, | ||
| 25569 | }, .{ | ||
| 25570 | .required_features = .{ .avx, null, null, null }, | ||
| 25571 | .src_constraints = .{ .{ .multiple_size = .xword }, .{ .multiple_size = .xword }, .any }, | ||
| 25572 | .patterns = &.{ | ||
| 25573 | .{ .src = .{ .to_mem, .to_mem, .none } }, | ||
| 25574 | }, | ||
| 25575 | .extra_temps = .{ | ||
| 25576 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | ||
| 25577 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, | ||
| 25578 | .unused, | ||
| 25579 | .unused, | ||
| 25580 | .unused, | ||
| 25581 | .unused, | ||
| 25582 | .unused, | ||
| 25583 | .unused, | ||
| 25584 | .unused, | ||
| 25585 | .unused, | ||
| 25586 | .unused, | ||
| 25587 | }, | ||
| 25588 | .dst_temps = .{ .mem, .unused }, | ||
| 25589 | .clobbers = .{ .eflags = true }, | ||
| 25590 | .each = .{ .once = &.{ | ||
| 25591 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, | ||
| 25592 | .{ .@"0:", .v_dqu, .mov, .tmp1x, .memia(.src0x, .tmp0, .add_size), ._, ._ }, | ||
| 25593 | .{ ._, .vp_, mir_tag, .tmp1x, .tmp1x, .memia(.src1x, .tmp0, .add_size), ._ }, | ||
| 25594 | .{ ._, .v_dqu, .mov, .memia(.dst0x, .tmp0, .add_size), .tmp1x, ._, ._ }, | ||
| 25595 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, | ||
| 25596 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | ||
| 25597 | } }, | ||
| 25598 | }, .{ | ||
| 25599 | .required_features = .{ .sse2, null, null, null }, | ||
| 25600 | .src_constraints = .{ .{ .multiple_size = .xword }, .{ .multiple_size = .xword }, .any }, | ||
| 25601 | .patterns = &.{ | ||
| 25602 | .{ .src = .{ .to_mem, .to_mem, .none } }, | ||
| 25603 | }, | ||
| 25604 | .extra_temps = .{ | ||
| 25605 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | ||
| 25606 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, | ||
| 25607 | .unused, | ||
| 25608 | .unused, | ||
| 25609 | .unused, | ||
| 25610 | .unused, | ||
| 25611 | .unused, | ||
| 25612 | .unused, | ||
| 25613 | .unused, | ||
| 25614 | .unused, | ||
| 25615 | .unused, | ||
| 25616 | }, | ||
| 25617 | .dst_temps = .{ .mem, .unused }, | ||
| 25618 | .clobbers = .{ .eflags = true }, | ||
| 25619 | .each = .{ .once = &.{ | ||
| 25620 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, | ||
| 25621 | .{ .@"0:", ._dqu, .mov, .tmp1x, .memia(.src0x, .tmp0, .add_size), ._, ._ }, | ||
| 25622 | .{ ._, .p_, mir_tag, .tmp1x, .memia(.src1x, .tmp0, .add_size), ._, ._ }, | ||
| 25623 | .{ ._, ._dqu, .mov, .memia(.dst0x, .tmp0, .add_size), .tmp1x, ._, ._ }, | ||
| 25624 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, | ||
| 25625 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | ||
| 25626 | } }, | ||
| 25627 | }, .{ | ||
| 25628 | .required_features = .{ .sse, null, null, null }, | ||
| 25629 | .src_constraints = .{ .{ .multiple_size = .xword }, .{ .multiple_size = .xword }, .any }, | ||
| 25630 | .patterns = &.{ | ||
| 25631 | .{ .src = .{ .to_mem, .to_mem, .none } }, | ||
| 25632 | }, | ||
| 25633 | .extra_temps = .{ | ||
| 25634 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | ||
| 25635 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, | ||
| 25636 | .unused, | ||
| 25637 | .unused, | ||
| 25638 | .unused, | ||
| 25639 | .unused, | ||
| 25640 | .unused, | ||
| 25641 | .unused, | ||
| 25642 | .unused, | ||
| 25643 | .unused, | ||
| 25644 | .unused, | ||
| 25645 | }, | ||
| 25646 | .dst_temps = .{ .mem, .unused }, | ||
| 25647 | .clobbers = .{ .eflags = true }, | ||
| 25648 | .each = .{ .once = &.{ | ||
| 25649 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, | ||
| 25650 | .{ .@"0:", ._ps, .movu, .tmp1x, .memia(.src0x, .tmp0, .add_size), ._, ._ }, | ||
| 25651 | .{ ._, ._ps, mir_tag, .tmp1x, .memia(.src1x, .tmp0, .add_size), ._, ._ }, | ||
| 25652 | .{ ._, ._ps, .movu, .memia(.dst0x, .tmp0, .add_size), .tmp1x, ._, ._ }, | ||
| 25653 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, | ||
| 25654 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | ||
| 25655 | } }, | ||
| 25656 | }, .{ | ||
| 25657 | .required_features = .{ .mmx, null, null, null }, | ||
| 25658 | .src_constraints = .{ .{ .multiple_size = .qword }, .{ .multiple_size = .qword }, .any }, | ||
| 25659 | .patterns = &.{ | ||
| 25660 | .{ .src = .{ .to_mem, .to_mem, .none } }, | ||
| 25661 | }, | ||
| 25662 | .extra_temps = .{ | ||
| 25663 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | ||
| 25664 | .{ .kind = .{ .rc = .mmx } }, | ||
| 25665 | .unused, | ||
| 25666 | .unused, | ||
| 25667 | .unused, | ||
| 25668 | .unused, | ||
| 25669 | .unused, | ||
| 25670 | .unused, | ||
| 25671 | .unused, | ||
| 25672 | .unused, | ||
| 25673 | .unused, | ||
| 25674 | }, | ||
| 25675 | .dst_temps = .{ .mem, .unused }, | ||
| 25676 | .clobbers = .{ .eflags = true }, | ||
| 25677 | .each = .{ .once = &.{ | ||
| 25678 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, | ||
| 25679 | .{ .@"0:", ._q, .mov, .tmp1q, .memia(.src0q, .tmp0, .add_size), ._, ._ }, | ||
| 25680 | .{ ._, .p_, mir_tag, .tmp1q, .memia(.src1q, .tmp0, .add_size), ._, ._ }, | ||
| 25681 | .{ ._, ._q, .mov, .memia(.dst0q, .tmp0, .add_size), .tmp1q, ._, ._ }, | ||
| 25682 | .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ }, | ||
| 25683 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | ||
| 25684 | } }, | ||
| 25685 | }, .{ | ||
| 25686 | .src_constraints = .{ .{ .multiple_size = .qword }, .{ .multiple_size = .qword }, .any }, | ||
| 25687 | .patterns = &.{ | ||
| 25688 | .{ .src = .{ .to_mem, .to_mem, .none } }, | ||
| 25689 | }, | ||
| 25690 | .extra_temps = .{ | ||
| 25691 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | ||
| 25692 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, | ||
| 25693 | .unused, | ||
| 25694 | .unused, | ||
| 25695 | .unused, | ||
| 25696 | .unused, | ||
| 25697 | .unused, | ||
| 25698 | .unused, | ||
| 25699 | .unused, | ||
| 25700 | .unused, | ||
| 25701 | .unused, | ||
| 25702 | }, | ||
| 25703 | .dst_temps = .{ .mem, .unused }, | ||
| 25704 | .clobbers = .{ .eflags = true }, | ||
| 25705 | .each = .{ .once = &.{ | ||
| 25706 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_size), ._, ._ }, | ||
| 25707 | .{ .@"0:", ._, .mov, .tmp1p, .memia(.src0p, .tmp0, .add_size), ._, ._ }, | ||
| 25708 | .{ ._, ._, mir_tag, .tmp1p, .memia(.src1p, .tmp0, .add_size), ._, ._ }, | ||
| 25709 | .{ ._, ._, .mov, .memia(.dst0p, .tmp0, .add_size), .tmp1p, ._, ._ }, | ||
| 25710 | .{ ._, ._, .add, .tmp0p, .sa(.tmp1, .add_size), ._, ._ }, | ||
| 25711 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | ||
| 25712 | } }, | ||
| 25713 | } }, | ||
| 25714 | }) catch |err| switch (err) { | ||
| 25715 | error.SelectFailed => return cg.fail("failed to select {s} {} {} {}", .{ | ||
| 25716 | @tagName(air_tag), | ||
| 25717 | cg.typeOf(bin_op.lhs).fmt(pt), | ||
| 25718 | ops[0].tracking(cg), | ||
| 25719 | ops[1].tracking(cg), | ||
| 25720 | }), | ||
| 25721 | else => |e| return e, | ||
| 25722 | }; | ||
| 25723 | try res[0].finish(inst, &.{ bin_op.lhs, bin_op.rhs }, &ops, cg); | 29355 | try res[0].finish(inst, &.{ bin_op.lhs, bin_op.rhs }, &ops, cg); |
| 25724 | }, | 29356 | }, |
| 25725 | .not => |air_tag| if (use_old) try cg.airUnOp(inst, air_tag) else { | 29357 | .not => |air_tag| if (use_old) try cg.airUnOp(inst, air_tag) else { |
| ... | @@ -32065,7 +35697,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -32065,7 +35697,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 32065 | .{ .src = .{ .to_sse, .none, .none } }, | 35697 | .{ .src = .{ .to_sse, .none, .none } }, |
| 32066 | }, | 35698 | }, |
| 32067 | .extra_temps = .{ | 35699 | .extra_temps = .{ |
| 32068 | .{ .type = .vector_16_u8, .kind = .forward_bits }, | 35700 | .{ .type = .vector_16_u8, .kind = .forward_bits_mem }, |
| 32069 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, | 35701 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 32070 | .unused, | 35702 | .unused, |
| 32071 | .unused, | 35703 | .unused, |
| ... | @@ -32089,7 +35721,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -32089,7 +35721,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 32089 | .{ .src = .{ .to_mut_sse, .none, .none } }, | 35721 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| 32090 | }, | 35722 | }, |
| 32091 | .extra_temps = .{ | 35723 | .extra_temps = .{ |
| 32092 | .{ .type = .vector_16_u8, .kind = .forward_bits }, | 35724 | .{ .type = .vector_16_u8, .kind = .forward_bits_mem }, |
| 32093 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, | 35725 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 32094 | .unused, | 35726 | .unused, |
| 32095 | .unused, | 35727 | .unused, |
| ... | @@ -32113,7 +35745,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -32113,7 +35745,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 32113 | .{ .src = .{ .to_sse, .none, .none } }, | 35745 | .{ .src = .{ .to_sse, .none, .none } }, |
| 32114 | }, | 35746 | }, |
| 32115 | .extra_temps = .{ | 35747 | .extra_temps = .{ |
| 32116 | .{ .type = .vector_16_u8, .kind = .reverse_bits }, | 35748 | .{ .type = .vector_16_u8, .kind = .reverse_bits_mem }, |
| 32117 | .{ .type = .vector_16_u8, .kind = .{ .mut_rc = .{ .ref = .src0, .rc = .sse } } }, | 35749 | .{ .type = .vector_16_u8, .kind = .{ .mut_rc = .{ .ref = .src0, .rc = .sse } } }, |
| 32118 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, | 35750 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| 32119 | .unused, | 35751 | .unused, |
| ... | @@ -32141,7 +35773,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -32141,7 +35773,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 32141 | .{ .src = .{ .to_sse, .none, .none } }, | 35773 | .{ .src = .{ .to_sse, .none, .none } }, |
| 32142 | }, | 35774 | }, |
| 32143 | .extra_temps = .{ | 35775 | .extra_temps = .{ |
| 32144 | .{ .type = .vector_16_u8, .kind = .reverse_bits }, | 35776 | .{ .type = .vector_16_u8, .kind = .reverse_bits_mem }, |
| 32145 | .{ .type = .vector_16_u8, .kind = .{ .mut_rc = .{ .ref = .src0, .rc = .sse } } }, | 35777 | .{ .type = .vector_16_u8, .kind = .{ .mut_rc = .{ .ref = .src0, .rc = .sse } } }, |
| 32146 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, | 35778 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| 32147 | .unused, | 35779 | .unused, |
| ... | @@ -32170,7 +35802,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -32170,7 +35802,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 32170 | .{ .src = .{ .to_mut_sse, .none, .none } }, | 35802 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| 32171 | }, | 35803 | }, |
| 32172 | .extra_temps = .{ | 35804 | .extra_temps = .{ |
| 32173 | .{ .type = .vector_16_u8, .kind = .reverse_bits }, | 35805 | .{ .type = .vector_16_u8, .kind = .reverse_bits_mem }, |
| 32174 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, | 35806 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| 32175 | .unused, | 35807 | .unused, |
| 32176 | .unused, | 35808 | .unused, |
| ... | @@ -32199,7 +35831,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -32199,7 +35831,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 32199 | .{ .src = .{ .to_mut_sse, .none, .none } }, | 35831 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| 32200 | }, | 35832 | }, |
| 32201 | .extra_temps = .{ | 35833 | .extra_temps = .{ |
| 32202 | .{ .type = .vector_16_u8, .kind = .reverse_bits }, | 35834 | .{ .type = .vector_16_u8, .kind = .reverse_bits_mem }, |
| 32203 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, | 35835 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| 32204 | .unused, | 35836 | .unused, |
| 32205 | .unused, | 35837 | .unused, |
| ... | @@ -32266,7 +35898,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -32266,7 +35898,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 32266 | .{ .src = .{ .to_sse, .none, .none } }, | 35898 | .{ .src = .{ .to_sse, .none, .none } }, |
| 32267 | }, | 35899 | }, |
| 32268 | .extra_temps = .{ | 35900 | .extra_temps = .{ |
| 32269 | .{ .type = .vector_16_u8, .kind = .forward_bits }, | 35901 | .{ .type = .vector_16_u8, .kind = .forward_bits_mem }, |
| 32270 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, | 35902 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 32271 | .unused, | 35903 | .unused, |
| 32272 | .unused, | 35904 | .unused, |
| ... | @@ -32292,7 +35924,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -32292,7 +35924,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 32292 | .{ .src = .{ .to_mut_sse, .none, .none } }, | 35924 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| 32293 | }, | 35925 | }, |
| 32294 | .extra_temps = .{ | 35926 | .extra_temps = .{ |
| 32295 | .{ .type = .vector_16_u8, .kind = .forward_bits }, | 35927 | .{ .type = .vector_16_u8, .kind = .forward_bits_mem }, |
| 32296 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, | 35928 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 32297 | .unused, | 35929 | .unused, |
| 32298 | .unused, | 35930 | .unused, |
| ... | @@ -32318,7 +35950,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -32318,7 +35950,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 32318 | .{ .src = .{ .to_sse, .none, .none } }, | 35950 | .{ .src = .{ .to_sse, .none, .none } }, |
| 32319 | }, | 35951 | }, |
| 32320 | .extra_temps = .{ | 35952 | .extra_temps = .{ |
| 32321 | .{ .type = .vector_16_u8, .kind = .reverse_bits }, | 35953 | .{ .type = .vector_16_u8, .kind = .reverse_bits_mem }, |
| 32322 | .{ .type = .vector_16_u8, .kind = .{ .mut_rc = .{ .ref = .src0, .rc = .sse } } }, | 35954 | .{ .type = .vector_16_u8, .kind = .{ .mut_rc = .{ .ref = .src0, .rc = .sse } } }, |
| 32323 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, | 35955 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| 32324 | .unused, | 35956 | .unused, |
| ... | @@ -32348,7 +35980,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -32348,7 +35980,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 32348 | .{ .src = .{ .to_sse, .none, .none } }, | 35980 | .{ .src = .{ .to_sse, .none, .none } }, |
| 32349 | }, | 35981 | }, |
| 32350 | .extra_temps = .{ | 35982 | .extra_temps = .{ |
| 32351 | .{ .type = .vector_16_u8, .kind = .reverse_bits }, | 35983 | .{ .type = .vector_16_u8, .kind = .reverse_bits_mem }, |
| 32352 | .{ .type = .vector_16_u8, .kind = .{ .mut_rc = .{ .ref = .src0, .rc = .sse } } }, | 35984 | .{ .type = .vector_16_u8, .kind = .{ .mut_rc = .{ .ref = .src0, .rc = .sse } } }, |
| 32353 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, | 35985 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| 32354 | .unused, | 35986 | .unused, |
| ... | @@ -32379,7 +36011,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -32379,7 +36011,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 32379 | .{ .src = .{ .to_mut_sse, .none, .none } }, | 36011 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| 32380 | }, | 36012 | }, |
| 32381 | .extra_temps = .{ | 36013 | .extra_temps = .{ |
| 32382 | .{ .type = .vector_16_u8, .kind = .reverse_bits }, | 36014 | .{ .type = .vector_16_u8, .kind = .reverse_bits_mem }, |
| 32383 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, | 36015 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| 32384 | .unused, | 36016 | .unused, |
| 32385 | .unused, | 36017 | .unused, |
| ... | @@ -32410,7 +36042,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -32410,7 +36042,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 32410 | .{ .src = .{ .to_mut_sse, .none, .none } }, | 36042 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| 32411 | }, | 36043 | }, |
| 32412 | .extra_temps = .{ | 36044 | .extra_temps = .{ |
| 32413 | .{ .type = .vector_16_u8, .kind = .reverse_bits }, | 36045 | .{ .type = .vector_16_u8, .kind = .reverse_bits_mem }, |
| 32414 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, | 36046 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| 32415 | .unused, | 36047 | .unused, |
| 32416 | .unused, | 36048 | .unused, |
| ... | @@ -32480,7 +36112,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -32480,7 +36112,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 32480 | .{ .src = .{ .to_sse, .none, .none } }, | 36112 | .{ .src = .{ .to_sse, .none, .none } }, |
| 32481 | }, | 36113 | }, |
| 32482 | .extra_temps = .{ | 36114 | .extra_temps = .{ |
| 32483 | .{ .type = .vector_16_u8, .kind = .forward_bits }, | 36115 | .{ .type = .vector_16_u8, .kind = .forward_bits_mem }, |
| 32484 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, | 36116 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 32485 | .unused, | 36117 | .unused, |
| 32486 | .unused, | 36118 | .unused, |
| ... | @@ -32506,7 +36138,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -32506,7 +36138,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 32506 | .{ .src = .{ .to_mut_sse, .none, .none } }, | 36138 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| 32507 | }, | 36139 | }, |
| 32508 | .extra_temps = .{ | 36140 | .extra_temps = .{ |
| 32509 | .{ .type = .vector_16_u8, .kind = .forward_bits }, | 36141 | .{ .type = .vector_16_u8, .kind = .forward_bits_mem }, |
| 32510 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, | 36142 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 32511 | .unused, | 36143 | .unused, |
| 32512 | .unused, | 36144 | .unused, |
| ... | @@ -32532,7 +36164,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -32532,7 +36164,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 32532 | .{ .src = .{ .to_sse, .none, .none } }, | 36164 | .{ .src = .{ .to_sse, .none, .none } }, |
| 32533 | }, | 36165 | }, |
| 32534 | .extra_temps = .{ | 36166 | .extra_temps = .{ |
| 32535 | .{ .type = .vector_16_u8, .kind = .reverse_bits }, | 36167 | .{ .type = .vector_16_u8, .kind = .reverse_bits_mem }, |
| 32536 | .{ .type = .vector_16_u8, .kind = .{ .mut_rc = .{ .ref = .src0, .rc = .sse } } }, | 36168 | .{ .type = .vector_16_u8, .kind = .{ .mut_rc = .{ .ref = .src0, .rc = .sse } } }, |
| 32537 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, | 36169 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| 32538 | .unused, | 36170 | .unused, |
| ... | @@ -32562,7 +36194,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -32562,7 +36194,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 32562 | .{ .src = .{ .to_sse, .none, .none } }, | 36194 | .{ .src = .{ .to_sse, .none, .none } }, |
| 32563 | }, | 36195 | }, |
| 32564 | .extra_temps = .{ | 36196 | .extra_temps = .{ |
| 32565 | .{ .type = .vector_16_u8, .kind = .reverse_bits }, | 36197 | .{ .type = .vector_16_u8, .kind = .reverse_bits_mem }, |
| 32566 | .{ .type = .vector_16_u8, .kind = .{ .mut_rc = .{ .ref = .src0, .rc = .sse } } }, | 36198 | .{ .type = .vector_16_u8, .kind = .{ .mut_rc = .{ .ref = .src0, .rc = .sse } } }, |
| 32567 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, | 36199 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| 32568 | .unused, | 36200 | .unused, |
| ... | @@ -32593,7 +36225,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -32593,7 +36225,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 32593 | .{ .src = .{ .to_mut_sse, .none, .none } }, | 36225 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| 32594 | }, | 36226 | }, |
| 32595 | .extra_temps = .{ | 36227 | .extra_temps = .{ |
| 32596 | .{ .type = .vector_16_u8, .kind = .reverse_bits }, | 36228 | .{ .type = .vector_16_u8, .kind = .reverse_bits_mem }, |
| 32597 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, | 36229 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| 32598 | .unused, | 36230 | .unused, |
| 32599 | .unused, | 36231 | .unused, |
| ... | @@ -32624,7 +36256,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -32624,7 +36256,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 32624 | .{ .src = .{ .to_mut_sse, .none, .none } }, | 36256 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| 32625 | }, | 36257 | }, |
| 32626 | .extra_temps = .{ | 36258 | .extra_temps = .{ |
| 32627 | .{ .type = .vector_16_u8, .kind = .reverse_bits }, | 36259 | .{ .type = .vector_16_u8, .kind = .reverse_bits_mem }, |
| 32628 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, | 36260 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| 32629 | .unused, | 36261 | .unused, |
| 32630 | .unused, | 36262 | .unused, |
| ... | @@ -32694,7 +36326,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -32694,7 +36326,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 32694 | .{ .src = .{ .to_sse, .none, .none } }, | 36326 | .{ .src = .{ .to_sse, .none, .none } }, |
| 32695 | }, | 36327 | }, |
| 32696 | .extra_temps = .{ | 36328 | .extra_temps = .{ |
| 32697 | .{ .type = .vector_16_u8, .kind = .forward_bits }, | 36329 | .{ .type = .vector_16_u8, .kind = .forward_bits_mem }, |
| 32698 | .{ .type = .vector_16_u8, .kind = .{ .pshufb_bswap_mem = .{ .size = .word } } }, | 36330 | .{ .type = .vector_16_u8, .kind = .{ .pshufb_bswap_mem = .{ .size = .word } } }, |
| 32699 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, | 36331 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 32700 | .unused, | 36332 | .unused, |
| ... | @@ -32720,7 +36352,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -32720,7 +36352,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 32720 | .{ .src = .{ .to_mut_sse, .none, .none } }, | 36352 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| 32721 | }, | 36353 | }, |
| 32722 | .extra_temps = .{ | 36354 | .extra_temps = .{ |
| 32723 | .{ .type = .vector_16_u8, .kind = .forward_bits }, | 36355 | .{ .type = .vector_16_u8, .kind = .forward_bits_mem }, |
| 32724 | .{ .type = .vector_16_u8, .kind = .{ .pshufb_bswap_mem = .{ .size = .word } } }, | 36356 | .{ .type = .vector_16_u8, .kind = .{ .pshufb_bswap_mem = .{ .size = .word } } }, |
| 32725 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, | 36357 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 32726 | .unused, | 36358 | .unused, |
| ... | @@ -32746,7 +36378,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -32746,7 +36378,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 32746 | .{ .src = .{ .to_mut_sse, .none, .none } }, | 36378 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| 32747 | }, | 36379 | }, |
| 32748 | .extra_temps = .{ | 36380 | .extra_temps = .{ |
| 32749 | .{ .type = .vector_16_u8, .kind = .forward_bits }, | 36381 | .{ .type = .vector_16_u8, .kind = .forward_bits_mem }, |
| 32750 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, | 36382 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 32751 | .unused, | 36383 | .unused, |
| 32752 | .unused, | 36384 | .unused, |
| ... | @@ -32773,7 +36405,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -32773,7 +36405,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 32773 | }, | 36405 | }, |
| 32774 | .extra_temps = .{ | 36406 | .extra_temps = .{ |
| 32775 | .{ .type = .vector_16_u8, .kind = .{ .pshufb_bswap_mem = .{ .size = .word, .smear = 8 } } }, | 36407 | .{ .type = .vector_16_u8, .kind = .{ .pshufb_bswap_mem = .{ .size = .word, .smear = 8 } } }, |
| 32776 | .{ .type = .vector_16_u8, .kind = .reverse_bits }, | 36408 | .{ .type = .vector_16_u8, .kind = .reverse_bits_mem }, |
| 32777 | .{ .type = .vector_16_u8, .kind = .{ .mut_rc = .{ .ref = .src0, .rc = .sse } } }, | 36409 | .{ .type = .vector_16_u8, .kind = .{ .mut_rc = .{ .ref = .src0, .rc = .sse } } }, |
| 32778 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, | 36410 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| 32779 | .unused, | 36411 | .unused, |
| ... | @@ -32802,7 +36434,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -32802,7 +36434,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 32802 | }, | 36434 | }, |
| 32803 | .extra_temps = .{ | 36435 | .extra_temps = .{ |
| 32804 | .{ .type = .vector_16_u8, .kind = .{ .pshufb_bswap_mem = .{ .size = .word, .smear = 8 } } }, | 36436 | .{ .type = .vector_16_u8, .kind = .{ .pshufb_bswap_mem = .{ .size = .word, .smear = 8 } } }, |
| 32805 | .{ .type = .vector_16_u8, .kind = .reverse_bits }, | 36437 | .{ .type = .vector_16_u8, .kind = .reverse_bits_mem }, |
| 32806 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, | 36438 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| 32807 | .unused, | 36439 | .unused, |
| 32808 | .unused, | 36440 | .unused, |
| ... | @@ -32871,7 +36503,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -32871,7 +36503,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 32871 | .{ .src = .{ .to_sse, .none, .none } }, | 36503 | .{ .src = .{ .to_sse, .none, .none } }, |
| 32872 | }, | 36504 | }, |
| 32873 | .extra_temps = .{ | 36505 | .extra_temps = .{ |
| 32874 | .{ .type = .vector_16_u8, .kind = .forward_bits }, | 36506 | .{ .type = .vector_16_u8, .kind = .forward_bits_mem }, |
| 32875 | .{ .type = .vector_16_u8, .kind = .{ .pshufb_bswap_mem = .{ .size = .word } } }, | 36507 | .{ .type = .vector_16_u8, .kind = .{ .pshufb_bswap_mem = .{ .size = .word } } }, |
| 32876 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, | 36508 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 32877 | .unused, | 36509 | .unused, |
| ... | @@ -32898,7 +36530,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -32898,7 +36530,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 32898 | .{ .src = .{ .to_mut_sse, .none, .none } }, | 36530 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| 32899 | }, | 36531 | }, |
| 32900 | .extra_temps = .{ | 36532 | .extra_temps = .{ |
| 32901 | .{ .type = .vector_16_u8, .kind = .forward_bits }, | 36533 | .{ .type = .vector_16_u8, .kind = .forward_bits_mem }, |
| 32902 | .{ .type = .vector_16_u8, .kind = .{ .pshufb_bswap_mem = .{ .size = .word } } }, | 36534 | .{ .type = .vector_16_u8, .kind = .{ .pshufb_bswap_mem = .{ .size = .word } } }, |
| 32903 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, | 36535 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 32904 | .unused, | 36536 | .unused, |
| ... | @@ -32925,7 +36557,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -32925,7 +36557,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 32925 | .{ .src = .{ .to_mut_sse, .none, .none } }, | 36557 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| 32926 | }, | 36558 | }, |
| 32927 | .extra_temps = .{ | 36559 | .extra_temps = .{ |
| 32928 | .{ .type = .vector_16_u8, .kind = .forward_bits }, | 36560 | .{ .type = .vector_16_u8, .kind = .forward_bits_mem }, |
| 32929 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, | 36561 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 32930 | .unused, | 36562 | .unused, |
| 32931 | .unused, | 36563 | .unused, |
| ... | @@ -32953,7 +36585,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -32953,7 +36585,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 32953 | }, | 36585 | }, |
| 32954 | .extra_temps = .{ | 36586 | .extra_temps = .{ |
| 32955 | .{ .type = .vector_16_u8, .kind = .{ .pshufb_bswap_mem = .{ .size = .word, .smear = 8 } } }, | 36587 | .{ .type = .vector_16_u8, .kind = .{ .pshufb_bswap_mem = .{ .size = .word, .smear = 8 } } }, |
| 32956 | .{ .type = .vector_16_u8, .kind = .reverse_bits }, | 36588 | .{ .type = .vector_16_u8, .kind = .reverse_bits_mem }, |
| 32957 | .{ .type = .vector_16_u8, .kind = .{ .mut_rc = .{ .ref = .src0, .rc = .sse } } }, | 36589 | .{ .type = .vector_16_u8, .kind = .{ .mut_rc = .{ .ref = .src0, .rc = .sse } } }, |
| 32958 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, | 36590 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| 32959 | .unused, | 36591 | .unused, |
| ... | @@ -32984,7 +36616,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -32984,7 +36616,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 32984 | }, | 36616 | }, |
| 32985 | .extra_temps = .{ | 36617 | .extra_temps = .{ |
| 32986 | .{ .type = .vector_16_u8, .kind = .{ .pshufb_bswap_mem = .{ .size = .word, .smear = 8 } } }, | 36618 | .{ .type = .vector_16_u8, .kind = .{ .pshufb_bswap_mem = .{ .size = .word, .smear = 8 } } }, |
| 32987 | .{ .type = .vector_16_u8, .kind = .reverse_bits }, | 36619 | .{ .type = .vector_16_u8, .kind = .reverse_bits_mem }, |
| 32988 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, | 36620 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| 32989 | .unused, | 36621 | .unused, |
| 32990 | .unused, | 36622 | .unused, |
| ... | @@ -33056,7 +36688,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -33056,7 +36688,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 33056 | .{ .src = .{ .to_sse, .none, .none } }, | 36688 | .{ .src = .{ .to_sse, .none, .none } }, |
| 33057 | }, | 36689 | }, |
| 33058 | .extra_temps = .{ | 36690 | .extra_temps = .{ |
| 33059 | .{ .type = .vector_16_u8, .kind = .forward_bits }, | 36691 | .{ .type = .vector_16_u8, .kind = .forward_bits_mem }, |
| 33060 | .{ .type = .vector_16_u8, .kind = .{ .pshufb_bswap_mem = .{ .size = .word } } }, | 36692 | .{ .type = .vector_16_u8, .kind = .{ .pshufb_bswap_mem = .{ .size = .word } } }, |
| 33061 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, | 36693 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 33062 | .unused, | 36694 | .unused, |
| ... | @@ -33083,7 +36715,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -33083,7 +36715,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 33083 | .{ .src = .{ .to_mut_sse, .none, .none } }, | 36715 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| 33084 | }, | 36716 | }, |
| 33085 | .extra_temps = .{ | 36717 | .extra_temps = .{ |
| 33086 | .{ .type = .vector_16_u8, .kind = .forward_bits }, | 36718 | .{ .type = .vector_16_u8, .kind = .forward_bits_mem }, |
| 33087 | .{ .type = .vector_16_u8, .kind = .{ .pshufb_bswap_mem = .{ .size = .word } } }, | 36719 | .{ .type = .vector_16_u8, .kind = .{ .pshufb_bswap_mem = .{ .size = .word } } }, |
| 33088 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, | 36720 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 33089 | .unused, | 36721 | .unused, |
| ... | @@ -33110,7 +36742,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -33110,7 +36742,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 33110 | .{ .src = .{ .to_mut_sse, .none, .none } }, | 36742 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| 33111 | }, | 36743 | }, |
| 33112 | .extra_temps = .{ | 36744 | .extra_temps = .{ |
| 33113 | .{ .type = .vector_16_u8, .kind = .forward_bits }, | 36745 | .{ .type = .vector_16_u8, .kind = .forward_bits_mem }, |
| 33114 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, | 36746 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 33115 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, | 36747 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| 33116 | .unused, | 36748 | .unused, |
| ... | @@ -33139,7 +36771,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -33139,7 +36771,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 33139 | }, | 36771 | }, |
| 33140 | .extra_temps = .{ | 36772 | .extra_temps = .{ |
| 33141 | .{ .type = .vector_16_u8, .kind = .{ .pshufb_bswap_mem = .{ .size = .word, .smear = 8 } } }, | 36773 | .{ .type = .vector_16_u8, .kind = .{ .pshufb_bswap_mem = .{ .size = .word, .smear = 8 } } }, |
| 33142 | .{ .type = .vector_16_u8, .kind = .reverse_bits }, | 36774 | .{ .type = .vector_16_u8, .kind = .reverse_bits_mem }, |
| 33143 | .{ .type = .vector_16_u8, .kind = .{ .mut_rc = .{ .ref = .src0, .rc = .sse } } }, | 36775 | .{ .type = .vector_16_u8, .kind = .{ .mut_rc = .{ .ref = .src0, .rc = .sse } } }, |
| 33144 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, | 36776 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| 33145 | .unused, | 36777 | .unused, |
| ... | @@ -33170,7 +36802,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -33170,7 +36802,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 33170 | }, | 36802 | }, |
| 33171 | .extra_temps = .{ | 36803 | .extra_temps = .{ |
| 33172 | .{ .type = .vector_16_u8, .kind = .{ .pshufb_bswap_mem = .{ .size = .word, .smear = 8 } } }, | 36804 | .{ .type = .vector_16_u8, .kind = .{ .pshufb_bswap_mem = .{ .size = .word, .smear = 8 } } }, |
| 33173 | .{ .type = .vector_16_u8, .kind = .reverse_bits }, | 36805 | .{ .type = .vector_16_u8, .kind = .reverse_bits_mem }, |
| 33174 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, | 36806 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| 33175 | .unused, | 36807 | .unused, |
| 33176 | .unused, | 36808 | .unused, |
| ... | @@ -33242,7 +36874,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -33242,7 +36874,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 33242 | .{ .src = .{ .to_sse, .none, .none } }, | 36874 | .{ .src = .{ .to_sse, .none, .none } }, |
| 33243 | }, | 36875 | }, |
| 33244 | .extra_temps = .{ | 36876 | .extra_temps = .{ |
| 33245 | .{ .type = .vector_16_u8, .kind = .forward_bits }, | 36877 | .{ .type = .vector_16_u8, .kind = .forward_bits_mem }, |
| 33246 | .{ .type = .vector_16_u8, .kind = .{ .pshufb_bswap_mem = .{ .size = .dword } } }, | 36878 | .{ .type = .vector_16_u8, .kind = .{ .pshufb_bswap_mem = .{ .size = .dword } } }, |
| 33247 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, | 36879 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 33248 | .unused, | 36880 | .unused, |
| ... | @@ -33268,7 +36900,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -33268,7 +36900,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 33268 | .{ .src = .{ .to_mut_sse, .none, .none } }, | 36900 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| 33269 | }, | 36901 | }, |
| 33270 | .extra_temps = .{ | 36902 | .extra_temps = .{ |
| 33271 | .{ .type = .vector_16_u8, .kind = .forward_bits }, | 36903 | .{ .type = .vector_16_u8, .kind = .forward_bits_mem }, |
| 33272 | .{ .type = .vector_16_u8, .kind = .{ .pshufb_bswap_mem = .{ .size = .dword } } }, | 36904 | .{ .type = .vector_16_u8, .kind = .{ .pshufb_bswap_mem = .{ .size = .dword } } }, |
| 33273 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, | 36905 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 33274 | .unused, | 36906 | .unused, |
| ... | @@ -33294,7 +36926,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -33294,7 +36926,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 33294 | .{ .src = .{ .to_mut_sse, .none, .none } }, | 36926 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| 33295 | }, | 36927 | }, |
| 33296 | .extra_temps = .{ | 36928 | .extra_temps = .{ |
| 33297 | .{ .type = .vector_16_u8, .kind = .forward_bits }, | 36929 | .{ .type = .vector_16_u8, .kind = .forward_bits_mem }, |
| 33298 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, | 36930 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 33299 | .unused, | 36931 | .unused, |
| 33300 | .unused, | 36932 | .unused, |
| ... | @@ -33322,7 +36954,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -33322,7 +36954,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 33322 | }, | 36954 | }, |
| 33323 | .extra_temps = .{ | 36955 | .extra_temps = .{ |
| 33324 | .{ .type = .vector_32_u8, .kind = .{ .pshufb_bswap_mem = .{ .size = .dword, .smear = 8 } } }, | 36956 | .{ .type = .vector_32_u8, .kind = .{ .pshufb_bswap_mem = .{ .size = .dword, .smear = 8 } } }, |
| 33325 | .{ .type = .vector_32_u8, .kind = .reverse_bits }, | 36957 | .{ .type = .vector_32_u8, .kind = .reverse_bits_mem }, |
| 33326 | .{ .type = .vector_32_u8, .kind = .{ .mut_rc = .{ .ref = .src0, .rc = .sse } } }, | 36958 | .{ .type = .vector_32_u8, .kind = .{ .mut_rc = .{ .ref = .src0, .rc = .sse } } }, |
| 33327 | .{ .type = .vector_32_u8, .kind = .{ .rc = .sse } }, | 36959 | .{ .type = .vector_32_u8, .kind = .{ .rc = .sse } }, |
| 33328 | .unused, | 36960 | .unused, |
| ... | @@ -33392,7 +37024,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -33392,7 +37024,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 33392 | .{ .src = .{ .to_sse, .none, .none } }, | 37024 | .{ .src = .{ .to_sse, .none, .none } }, |
| 33393 | }, | 37025 | }, |
| 33394 | .extra_temps = .{ | 37026 | .extra_temps = .{ |
| 33395 | .{ .type = .vector_16_u8, .kind = .forward_bits }, | 37027 | .{ .type = .vector_16_u8, .kind = .forward_bits_mem }, |
| 33396 | .{ .type = .vector_16_u8, .kind = .{ .pshufb_bswap_mem = .{ .size = .dword } } }, | 37028 | .{ .type = .vector_16_u8, .kind = .{ .pshufb_bswap_mem = .{ .size = .dword } } }, |
| 33397 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, | 37029 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 33398 | .unused, | 37030 | .unused, |
| ... | @@ -33419,7 +37051,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -33419,7 +37051,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 33419 | .{ .src = .{ .to_mut_sse, .none, .none } }, | 37051 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| 33420 | }, | 37052 | }, |
| 33421 | .extra_temps = .{ | 37053 | .extra_temps = .{ |
| 33422 | .{ .type = .vector_16_u8, .kind = .forward_bits }, | 37054 | .{ .type = .vector_16_u8, .kind = .forward_bits_mem }, |
| 33423 | .{ .type = .vector_16_u8, .kind = .{ .pshufb_bswap_mem = .{ .size = .dword } } }, | 37055 | .{ .type = .vector_16_u8, .kind = .{ .pshufb_bswap_mem = .{ .size = .dword } } }, |
| 33424 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, | 37056 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 33425 | .unused, | 37057 | .unused, |
| ... | @@ -33446,7 +37078,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -33446,7 +37078,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 33446 | .{ .src = .{ .to_mut_sse, .none, .none } }, | 37078 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| 33447 | }, | 37079 | }, |
| 33448 | .extra_temps = .{ | 37080 | .extra_temps = .{ |
| 33449 | .{ .type = .vector_16_u8, .kind = .forward_bits }, | 37081 | .{ .type = .vector_16_u8, .kind = .forward_bits_mem }, |
| 33450 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, | 37082 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 33451 | .unused, | 37083 | .unused, |
| 33452 | .unused, | 37084 | .unused, |
| ... | @@ -33475,7 +37107,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -33475,7 +37107,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 33475 | }, | 37107 | }, |
| 33476 | .extra_temps = .{ | 37108 | .extra_temps = .{ |
| 33477 | .{ .type = .vector_32_u8, .kind = .{ .pshufb_bswap_mem = .{ .size = .dword, .smear = 8 } } }, | 37109 | .{ .type = .vector_32_u8, .kind = .{ .pshufb_bswap_mem = .{ .size = .dword, .smear = 8 } } }, |
| 33478 | .{ .type = .vector_32_u8, .kind = .reverse_bits }, | 37110 | .{ .type = .vector_32_u8, .kind = .reverse_bits_mem }, |
| 33479 | .{ .type = .vector_32_u8, .kind = .{ .mut_rc = .{ .ref = .src0, .rc = .sse } } }, | 37111 | .{ .type = .vector_32_u8, .kind = .{ .mut_rc = .{ .ref = .src0, .rc = .sse } } }, |
| 33480 | .{ .type = .vector_32_u8, .kind = .{ .rc = .sse } }, | 37112 | .{ .type = .vector_32_u8, .kind = .{ .rc = .sse } }, |
| 33481 | .unused, | 37113 | .unused, |
| ... | @@ -33548,7 +37180,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -33548,7 +37180,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 33548 | .{ .src = .{ .to_sse, .none, .none } }, | 37180 | .{ .src = .{ .to_sse, .none, .none } }, |
| 33549 | }, | 37181 | }, |
| 33550 | .extra_temps = .{ | 37182 | .extra_temps = .{ |
| 33551 | .{ .type = .vector_16_u8, .kind = .forward_bits }, | 37183 | .{ .type = .vector_16_u8, .kind = .forward_bits_mem }, |
| 33552 | .{ .type = .vector_16_u8, .kind = .{ .pshufb_bswap_mem = .{ .size = .dword } } }, | 37184 | .{ .type = .vector_16_u8, .kind = .{ .pshufb_bswap_mem = .{ .size = .dword } } }, |
| 33553 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, | 37185 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 33554 | .unused, | 37186 | .unused, |
| ... | @@ -33575,7 +37207,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -33575,7 +37207,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 33575 | .{ .src = .{ .to_mut_sse, .none, .none } }, | 37207 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| 33576 | }, | 37208 | }, |
| 33577 | .extra_temps = .{ | 37209 | .extra_temps = .{ |
| 33578 | .{ .type = .vector_16_u8, .kind = .forward_bits }, | 37210 | .{ .type = .vector_16_u8, .kind = .forward_bits_mem }, |
| 33579 | .{ .type = .vector_16_u8, .kind = .{ .pshufb_bswap_mem = .{ .size = .dword } } }, | 37211 | .{ .type = .vector_16_u8, .kind = .{ .pshufb_bswap_mem = .{ .size = .dword } } }, |
| 33580 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, | 37212 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 33581 | .unused, | 37213 | .unused, |
| ... | @@ -33602,7 +37234,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -33602,7 +37234,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 33602 | .{ .src = .{ .to_mut_sse, .none, .none } }, | 37234 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| 33603 | }, | 37235 | }, |
| 33604 | .extra_temps = .{ | 37236 | .extra_temps = .{ |
| 33605 | .{ .type = .vector_16_u8, .kind = .forward_bits }, | 37237 | .{ .type = .vector_16_u8, .kind = .forward_bits_mem }, |
| 33606 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, | 37238 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 33607 | .unused, | 37239 | .unused, |
| 33608 | .unused, | 37240 | .unused, |
| ... | @@ -33631,7 +37263,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -33631,7 +37263,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 33631 | }, | 37263 | }, |
| 33632 | .extra_temps = .{ | 37264 | .extra_temps = .{ |
| 33633 | .{ .type = .vector_32_u8, .kind = .{ .pshufb_bswap_mem = .{ .size = .dword, .smear = 8 } } }, | 37265 | .{ .type = .vector_32_u8, .kind = .{ .pshufb_bswap_mem = .{ .size = .dword, .smear = 8 } } }, |
| 33634 | .{ .type = .vector_32_u8, .kind = .reverse_bits }, | 37266 | .{ .type = .vector_32_u8, .kind = .reverse_bits_mem }, |
| 33635 | .{ .type = .vector_32_u8, .kind = .{ .mut_rc = .{ .ref = .src0, .rc = .sse } } }, | 37267 | .{ .type = .vector_32_u8, .kind = .{ .mut_rc = .{ .ref = .src0, .rc = .sse } } }, |
| 33636 | .{ .type = .vector_32_u8, .kind = .{ .rc = .sse } }, | 37268 | .{ .type = .vector_32_u8, .kind = .{ .rc = .sse } }, |
| 33637 | .unused, | 37269 | .unused, |
| ... | @@ -33704,7 +37336,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -33704,7 +37336,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 33704 | .{ .src = .{ .to_sse, .none, .none } }, | 37336 | .{ .src = .{ .to_sse, .none, .none } }, |
| 33705 | }, | 37337 | }, |
| 33706 | .extra_temps = .{ | 37338 | .extra_temps = .{ |
| 33707 | .{ .type = .vector_16_u8, .kind = .forward_bits }, | 37339 | .{ .type = .vector_16_u8, .kind = .forward_bits_mem }, |
| 33708 | .{ .type = .vector_16_u8, .kind = .{ .pshufb_bswap_mem = .{ .size = .qword } } }, | 37340 | .{ .type = .vector_16_u8, .kind = .{ .pshufb_bswap_mem = .{ .size = .qword } } }, |
| 33709 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, | 37341 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 33710 | .unused, | 37342 | .unused, |
| ... | @@ -33730,7 +37362,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -33730,7 +37362,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 33730 | .{ .src = .{ .to_mut_sse, .none, .none } }, | 37362 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| 33731 | }, | 37363 | }, |
| 33732 | .extra_temps = .{ | 37364 | .extra_temps = .{ |
| 33733 | .{ .type = .vector_16_u8, .kind = .forward_bits }, | 37365 | .{ .type = .vector_16_u8, .kind = .forward_bits_mem }, |
| 33734 | .{ .type = .vector_16_u8, .kind = .{ .pshufb_bswap_mem = .{ .size = .qword } } }, | 37366 | .{ .type = .vector_16_u8, .kind = .{ .pshufb_bswap_mem = .{ .size = .qword } } }, |
| 33735 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, | 37367 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 33736 | .unused, | 37368 | .unused, |
| ... | @@ -33756,7 +37388,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -33756,7 +37388,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 33756 | .{ .src = .{ .to_mut_sse, .none, .none } }, | 37388 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| 33757 | }, | 37389 | }, |
| 33758 | .extra_temps = .{ | 37390 | .extra_temps = .{ |
| 33759 | .{ .type = .vector_16_u8, .kind = .forward_bits }, | 37391 | .{ .type = .vector_16_u8, .kind = .forward_bits_mem }, |
| 33760 | .unused, | 37392 | .unused, |
| 33761 | .unused, | 37393 | .unused, |
| 33762 | .unused, | 37394 | .unused, |
| ... | @@ -33827,7 +37459,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -33827,7 +37459,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 33827 | .{ .src = .{ .to_sse, .none, .none } }, | 37459 | .{ .src = .{ .to_sse, .none, .none } }, |
| 33828 | }, | 37460 | }, |
| 33829 | .extra_temps = .{ | 37461 | .extra_temps = .{ |
| 33830 | .{ .type = .vector_16_u8, .kind = .forward_bits }, | 37462 | .{ .type = .vector_16_u8, .kind = .forward_bits_mem }, |
| 33831 | .{ .type = .vector_16_u8, .kind = .{ .mut_rc = .{ .ref = .src0, .rc = .sse } } }, | 37463 | .{ .type = .vector_16_u8, .kind = .{ .mut_rc = .{ .ref = .src0, .rc = .sse } } }, |
| 33832 | .unused, | 37464 | .unused, |
| 33833 | .unused, | 37465 | .unused, |
| ... | @@ -33855,7 +37487,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -33855,7 +37487,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 33855 | .{ .src = .{ .to_mut_sse, .none, .none } }, | 37487 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| 33856 | }, | 37488 | }, |
| 33857 | .extra_temps = .{ | 37489 | .extra_temps = .{ |
| 33858 | .{ .type = .vector_16_u8, .kind = .forward_bits }, | 37490 | .{ .type = .vector_16_u8, .kind = .forward_bits_mem }, |
| 33859 | .unused, | 37491 | .unused, |
| 33860 | .unused, | 37492 | .unused, |
| 33861 | .unused, | 37493 | .unused, |
| ... | @@ -33929,7 +37561,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -33929,7 +37561,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 33929 | .{ .src = .{ .to_sse, .none, .none } }, | 37561 | .{ .src = .{ .to_sse, .none, .none } }, |
| 33930 | }, | 37562 | }, |
| 33931 | .extra_temps = .{ | 37563 | .extra_temps = .{ |
| 33932 | .{ .type = .vector_16_u8, .kind = .forward_bits }, | 37564 | .{ .type = .vector_16_u8, .kind = .forward_bits_mem }, |
| 33933 | .{ .type = .vector_16_u8, .kind = .{ .pshufb_bswap_mem = .{ .size = .qword } } }, | 37565 | .{ .type = .vector_16_u8, .kind = .{ .pshufb_bswap_mem = .{ .size = .qword } } }, |
| 33934 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, | 37566 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 33935 | .unused, | 37567 | .unused, |
| ... | @@ -33956,7 +37588,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -33956,7 +37588,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 33956 | .{ .src = .{ .to_mut_sse, .none, .none } }, | 37588 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| 33957 | }, | 37589 | }, |
| 33958 | .extra_temps = .{ | 37590 | .extra_temps = .{ |
| 33959 | .{ .type = .vector_16_u8, .kind = .forward_bits }, | 37591 | .{ .type = .vector_16_u8, .kind = .forward_bits_mem }, |
| 33960 | .{ .type = .vector_16_u8, .kind = .{ .pshufb_bswap_mem = .{ .size = .qword } } }, | 37592 | .{ .type = .vector_16_u8, .kind = .{ .pshufb_bswap_mem = .{ .size = .qword } } }, |
| 33961 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, | 37593 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 33962 | .unused, | 37594 | .unused, |
| ... | @@ -33983,7 +37615,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -33983,7 +37615,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 33983 | .{ .src = .{ .to_mut_sse, .none, .none } }, | 37615 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| 33984 | }, | 37616 | }, |
| 33985 | .extra_temps = .{ | 37617 | .extra_temps = .{ |
| 33986 | .{ .type = .vector_16_u8, .kind = .forward_bits }, | 37618 | .{ .type = .vector_16_u8, .kind = .forward_bits_mem }, |
| 33987 | .unused, | 37619 | .unused, |
| 33988 | .unused, | 37620 | .unused, |
| 33989 | .unused, | 37621 | .unused, |
| ... | @@ -34057,7 +37689,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -34057,7 +37689,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 34057 | .{ .src = .{ .to_sse, .none, .none } }, | 37689 | .{ .src = .{ .to_sse, .none, .none } }, |
| 34058 | }, | 37690 | }, |
| 34059 | .extra_temps = .{ | 37691 | .extra_temps = .{ |
| 34060 | .{ .type = .vector_16_u8, .kind = .forward_bits }, | 37692 | .{ .type = .vector_16_u8, .kind = .forward_bits_mem }, |
| 34061 | .{ .type = .vector_16_u8, .kind = .{ .pshufb_bswap_mem = .{ .size = .xword } } }, | 37693 | .{ .type = .vector_16_u8, .kind = .{ .pshufb_bswap_mem = .{ .size = .xword } } }, |
| 34062 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, | 37694 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 34063 | .unused, | 37695 | .unused, |
| ... | @@ -34083,7 +37715,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -34083,7 +37715,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 34083 | .{ .src = .{ .to_mut_sse, .none, .none } }, | 37715 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| 34084 | }, | 37716 | }, |
| 34085 | .extra_temps = .{ | 37717 | .extra_temps = .{ |
| 34086 | .{ .type = .vector_16_u8, .kind = .forward_bits }, | 37718 | .{ .type = .vector_16_u8, .kind = .forward_bits_mem }, |
| 34087 | .{ .type = .vector_16_u8, .kind = .{ .pshufb_bswap_mem = .{ .size = .xword } } }, | 37719 | .{ .type = .vector_16_u8, .kind = .{ .pshufb_bswap_mem = .{ .size = .xword } } }, |
| 34088 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, | 37720 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 34089 | .unused, | 37721 | .unused, |
| ... | @@ -34109,7 +37741,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -34109,7 +37741,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 34109 | .{ .src = .{ .to_sse, .none, .none } }, | 37741 | .{ .src = .{ .to_sse, .none, .none } }, |
| 34110 | }, | 37742 | }, |
| 34111 | .extra_temps = .{ | 37743 | .extra_temps = .{ |
| 34112 | .{ .type = .vector_16_u8, .kind = .forward_bits }, | 37744 | .{ .type = .vector_16_u8, .kind = .forward_bits_mem }, |
| 34113 | .{ .type = .vector_16_u8, .kind = .{ .pshufb_bswap_mem = .{ .size = .xword } } }, | 37745 | .{ .type = .vector_16_u8, .kind = .{ .pshufb_bswap_mem = .{ .size = .xword } } }, |
| 34114 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, | 37746 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 34115 | .{ .type = .vector_16_u8, .kind = .{ .mut_rc = .{ .ref = .src0, .rc = .sse } } }, | 37747 | .{ .type = .vector_16_u8, .kind = .{ .mut_rc = .{ .ref = .src0, .rc = .sse } } }, |
| ... | @@ -34142,7 +37774,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -34142,7 +37774,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 34142 | .{ .src = .{ .to_mut_sse, .none, .none } }, | 37774 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| 34143 | }, | 37775 | }, |
| 34144 | .extra_temps = .{ | 37776 | .extra_temps = .{ |
| 34145 | .{ .type = .vector_16_u8, .kind = .forward_bits }, | 37777 | .{ .type = .vector_16_u8, .kind = .forward_bits_mem }, |
| 34146 | .{ .type = .vector_16_u8, .kind = .{ .pshufb_bswap_mem = .{ .size = .xword } } }, | 37778 | .{ .type = .vector_16_u8, .kind = .{ .pshufb_bswap_mem = .{ .size = .xword } } }, |
| 34147 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, | 37779 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 34148 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, | 37780 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| ... | @@ -34175,7 +37807,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -34175,7 +37807,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 34175 | .{ .src = .{ .to_sse, .none, .none } }, | 37807 | .{ .src = .{ .to_sse, .none, .none } }, |
| 34176 | }, | 37808 | }, |
| 34177 | .extra_temps = .{ | 37809 | .extra_temps = .{ |
| 34178 | .{ .type = .vector_16_u8, .kind = .forward_bits }, | 37810 | .{ .type = .vector_16_u8, .kind = .forward_bits_mem }, |
| 34179 | .{ .type = .vector_16_u8, .kind = .{ .pshufb_bswap_mem = .{ .size = .xword } } }, | 37811 | .{ .type = .vector_16_u8, .kind = .{ .pshufb_bswap_mem = .{ .size = .xword } } }, |
| 34180 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, | 37812 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 34181 | .{ .type = .vector_16_u8, .kind = .{ .mut_rc = .{ .ref = .src0, .rc = .sse } } }, | 37813 | .{ .type = .vector_16_u8, .kind = .{ .mut_rc = .{ .ref = .src0, .rc = .sse } } }, |
| ... | @@ -34208,7 +37840,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -34208,7 +37840,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 34208 | .{ .src = .{ .to_mut_sse, .none, .none } }, | 37840 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| 34209 | }, | 37841 | }, |
| 34210 | .extra_temps = .{ | 37842 | .extra_temps = .{ |
| 34211 | .{ .type = .vector_16_u8, .kind = .forward_bits }, | 37843 | .{ .type = .vector_16_u8, .kind = .forward_bits_mem }, |
| 34212 | .{ .type = .vector_16_u8, .kind = .{ .pshufb_bswap_mem = .{ .size = .xword } } }, | 37844 | .{ .type = .vector_16_u8, .kind = .{ .pshufb_bswap_mem = .{ .size = .xword } } }, |
| 34213 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, | 37845 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 34214 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, | 37846 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| ... | @@ -34241,7 +37873,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -34241,7 +37873,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 34241 | .{ .src = .{ .to_sse, .none, .none } }, | 37873 | .{ .src = .{ .to_sse, .none, .none } }, |
| 34242 | }, | 37874 | }, |
| 34243 | .extra_temps = .{ | 37875 | .extra_temps = .{ |
| 34244 | .{ .type = .vector_32_u8, .kind = .forward_bits }, | 37876 | .{ .type = .vector_32_u8, .kind = .forward_bits_mem }, |
| 34245 | .{ .type = .vector_32_u8, .kind = .{ .pshufb_bswap_mem = .{ .repeat = 2, .size = .xword } } }, | 37877 | .{ .type = .vector_32_u8, .kind = .{ .pshufb_bswap_mem = .{ .repeat = 2, .size = .xword } } }, |
| 34246 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, | 37878 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 34247 | .unused, | 37879 | .unused, |
| ... | @@ -34268,7 +37900,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -34268,7 +37900,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 34268 | .{ .src = .{ .to_sse, .none, .none } }, | 37900 | .{ .src = .{ .to_sse, .none, .none } }, |
| 34269 | }, | 37901 | }, |
| 34270 | .extra_temps = .{ | 37902 | .extra_temps = .{ |
| 34271 | .{ .type = .vector_32_u8, .kind = .forward_bits }, | 37903 | .{ .type = .vector_32_u8, .kind = .forward_bits_mem }, |
| 34272 | .{ .type = .vector_32_u8, .kind = .{ .pshufb_bswap_mem = .{ .repeat = 2, .size = .xword } } }, | 37904 | .{ .type = .vector_32_u8, .kind = .{ .pshufb_bswap_mem = .{ .repeat = 2, .size = .xword } } }, |
| 34273 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, | 37905 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 34274 | .unused, | 37906 | .unused, |
| ... | @@ -34297,7 +37929,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -34297,7 +37929,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 34297 | .extra_temps = .{ | 37929 | .extra_temps = .{ |
| 34298 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, | 37930 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 34299 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 37931 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 34300 | .{ .type = .vector_32_u8, .kind = .forward_bits }, | 37932 | .{ .type = .vector_32_u8, .kind = .forward_bits_mem }, |
| 34301 | .{ .type = .vector_32_u8, .kind = .{ .pshufb_bswap_mem = .{ .repeat = 2, .size = .xword } } }, | 37933 | .{ .type = .vector_32_u8, .kind = .{ .pshufb_bswap_mem = .{ .repeat = 2, .size = .xword } } }, |
| 34302 | .{ .type = .vector_32_u8, .kind = .{ .rc = .sse } }, | 37934 | .{ .type = .vector_32_u8, .kind = .{ .rc = .sse } }, |
| 34303 | .{ .type = .vector_32_u8, .kind = .{ .rc = .sse } }, | 37935 | .{ .type = .vector_32_u8, .kind = .{ .rc = .sse } }, |
| ... | @@ -34333,7 +37965,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -34333,7 +37965,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 34333 | .extra_temps = .{ | 37965 | .extra_temps = .{ |
| 34334 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, | 37966 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 34335 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 37967 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 34336 | .{ .type = .vector_32_u8, .kind = .forward_bits }, | 37968 | .{ .type = .vector_32_u8, .kind = .forward_bits_mem }, |
| 34337 | .{ .type = .vector_32_u8, .kind = .{ .pshufb_bswap_mem = .{ .repeat = 2, .size = .xword } } }, | 37969 | .{ .type = .vector_32_u8, .kind = .{ .pshufb_bswap_mem = .{ .repeat = 2, .size = .xword } } }, |
| 34338 | .{ .type = .vector_32_u8, .kind = .{ .rc = .sse } }, | 37970 | .{ .type = .vector_32_u8, .kind = .{ .rc = .sse } }, |
| 34339 | .{ .type = .vector_32_u8, .kind = .{ .rc = .sse } }, | 37971 | .{ .type = .vector_32_u8, .kind = .{ .rc = .sse } }, |
| ... | @@ -34369,7 +38001,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -34369,7 +38001,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 34369 | .extra_temps = .{ | 38001 | .extra_temps = .{ |
| 34370 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, | 38002 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 34371 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 38003 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 34372 | .{ .type = .vector_16_u8, .kind = .forward_bits }, | 38004 | .{ .type = .vector_16_u8, .kind = .forward_bits_mem }, |
| 34373 | .{ .type = .vector_16_u8, .kind = .{ .pshufb_bswap_mem = .{ .size = .xword } } }, | 38005 | .{ .type = .vector_16_u8, .kind = .{ .pshufb_bswap_mem = .{ .size = .xword } } }, |
| 34374 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, | 38006 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| 34375 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, | 38007 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| ... | @@ -82648,7 +86280,7 @@ fn regClassForType(self: *CodeGen, ty: Type) Register.Class { | ... | @@ -82648,7 +86280,7 @@ fn regClassForType(self: *CodeGen, ty: Type) Register.Class { |
| 82648 | fn regSetForRegClass(rc: Register.Class) RegisterManager.RegisterBitSet { | 86280 | fn regSetForRegClass(rc: Register.Class) RegisterManager.RegisterBitSet { |
| 82649 | return switch (rc) { | 86281 | return switch (rc) { |
| 82650 | .general_purpose => abi.RegisterClass.gp, | 86282 | .general_purpose => abi.RegisterClass.gp, |
| 82651 | .segment, .ip, .cr, .dr => unreachable, | 86283 | .gphi, .segment, .ip, .cr, .dr => unreachable, |
| 82652 | .x87 => abi.RegisterClass.x87, | 86284 | .x87 => abi.RegisterClass.x87, |
| 82653 | .mmx => @panic("TODO"), | 86285 | .mmx => @panic("TODO"), |
| 82654 | .sse => abi.RegisterClass.sse, | 86286 | .sse => abi.RegisterClass.sse, |
| ... | @@ -95072,7 +98704,7 @@ fn moveStrategy(cg: *CodeGen, ty: Type, class: Register.Class, aligned: bool) !M | ... | @@ -95072,7 +98704,7 @@ fn moveStrategy(cg: *CodeGen, ty: Type, class: Register.Class, aligned: bool) !M |
| 95072 | const pt = cg.pt; | 98704 | const pt = cg.pt; |
| 95073 | const zcu = pt.zcu; | 98705 | const zcu = pt.zcu; |
| 95074 | switch (class) { | 98706 | switch (class) { |
| 95075 | .general_purpose, .segment => return .{ .load_store = .{ ._, .mov } }, | 98707 | .general_purpose, .gphi, .segment => return .{ .load_store = .{ ._, .mov } }, |
| 95076 | .x87 => return .load_store_x87, | 98708 | .x87 => return .load_store_x87, |
| 95077 | .mmx => {}, | 98709 | .mmx => {}, |
| 95078 | .sse => switch (ty.zigTypeTag(zcu)) { | 98710 | .sse => switch (ty.zigTypeTag(zcu)) { |
| ... | @@ -95548,7 +99180,7 @@ fn genSetReg( | ... | @@ -95548,7 +99180,7 @@ fn genSetReg( |
| 95548 | .reserved_frame, | 99180 | .reserved_frame, |
| 95549 | => unreachable, | 99181 | => unreachable, |
| 95550 | .undef => if (opts.safety) switch (dst_reg.class()) { | 99182 | .undef => if (opts.safety) switch (dst_reg.class()) { |
| 95551 | .general_purpose => switch (abi_size) { | 99183 | .general_purpose, .gphi => switch (abi_size) { |
| 95552 | 1 => try self.asmRegisterImmediate(.{ ._, .mov }, dst_reg.to8(), .u(0xaa)), | 99184 | 1 => try self.asmRegisterImmediate(.{ ._, .mov }, dst_reg.to8(), .u(0xaa)), |
| 95553 | 2 => try self.asmRegisterImmediate(.{ ._, .mov }, dst_reg.to16(), .u(0xaaaa)), | 99185 | 2 => try self.asmRegisterImmediate(.{ ._, .mov }, dst_reg.to16(), .u(0xaaaa)), |
| 95554 | 3...4 => try self.asmRegisterImmediate( | 99186 | 3...4 => try self.asmRegisterImmediate( |
| ... | @@ -95605,8 +99237,8 @@ fn genSetReg( | ... | @@ -95605,8 +99237,8 @@ fn genSetReg( |
| 95605 | } | 99237 | } |
| 95606 | }, | 99238 | }, |
| 95607 | .register => |src_reg| if (dst_reg.id() != src_reg.id()) switch (dst_reg.class()) { | 99239 | .register => |src_reg| if (dst_reg.id() != src_reg.id()) switch (dst_reg.class()) { |
| 95608 | .general_purpose => switch (src_reg.class()) { | 99240 | .general_purpose, .gphi => switch (src_reg.class()) { |
| 95609 | .general_purpose => try self.asmRegisterRegister( | 99241 | .general_purpose, .gphi => try self.asmRegisterRegister( |
| 95610 | .{ ._, .mov }, | 99242 | .{ ._, .mov }, |
| 95611 | dst_alias, | 99243 | dst_alias, |
| 95612 | registerAlias(src_reg, abi_size), | 99244 | registerAlias(src_reg, abi_size), |
| ... | @@ -95650,13 +99282,13 @@ fn genSetReg( | ... | @@ -95650,13 +99282,13 @@ fn genSetReg( |
| 95650 | .{ ._, .mov }, | 99282 | .{ ._, .mov }, |
| 95651 | dst_reg, | 99283 | dst_reg, |
| 95652 | switch (src_reg.class()) { | 99284 | switch (src_reg.class()) { |
| 95653 | .general_purpose, .segment => registerAlias(src_reg, abi_size), | 99285 | .general_purpose, .gphi, .segment => registerAlias(src_reg, abi_size), |
| 95654 | .x87, .mmx, .ip, .cr, .dr => unreachable, | 99286 | .x87, .mmx, .ip, .cr, .dr => unreachable, |
| 95655 | .sse => try self.copyToTmpRegister(ty, src_mcv), | 99287 | .sse => try self.copyToTmpRegister(ty, src_mcv), |
| 95656 | }, | 99288 | }, |
| 95657 | ), | 99289 | ), |
| 95658 | .x87 => switch (src_reg.class()) { | 99290 | .x87 => switch (src_reg.class()) { |
| 95659 | .general_purpose, .segment => unreachable, | 99291 | .general_purpose, .gphi, .segment => unreachable, |
| 95660 | .x87 => switch (src_reg) { | 99292 | .x87 => switch (src_reg) { |
| 95661 | .st0 => try self.asmRegister(.{ .f_, .st }, dst_reg), | 99293 | .st0 => try self.asmRegister(.{ .f_, .st }, dst_reg), |
| 95662 | .st1, .st2, .st3, .st4, .st5, .st6 => switch (dst_reg) { | 99294 | .st1, .st2, .st3, .st4, .st5, .st6 => switch (dst_reg) { |
| ... | @@ -95685,7 +99317,7 @@ fn genSetReg( | ... | @@ -95685,7 +99317,7 @@ fn genSetReg( |
| 95685 | }, | 99317 | }, |
| 95686 | .mmx => unreachable, | 99318 | .mmx => unreachable, |
| 95687 | .sse => switch (src_reg.class()) { | 99319 | .sse => switch (src_reg.class()) { |
| 95688 | .general_purpose => if (self.hasFeature(.sse2)) try self.asmRegisterRegister( | 99320 | .general_purpose, .gphi => if (self.hasFeature(.sse2)) try self.asmRegisterRegister( |
| 95689 | switch (abi_size) { | 99321 | switch (abi_size) { |
| 95690 | 1...4 => if (self.hasFeature(.avx)) .{ .v_d, .mov } else .{ ._d, .mov }, | 99322 | 1...4 => if (self.hasFeature(.avx)) .{ .v_d, .mov } else .{ ._d, .mov }, |
| 95691 | 5...8 => if (self.hasFeature(.avx)) .{ .v_q, .mov } else .{ ._q, .mov }, | 99323 | 5...8 => if (self.hasFeature(.avx)) .{ .v_q, .mov } else .{ ._q, .mov }, |
| ... | @@ -95911,7 +99543,7 @@ fn genSetReg( | ... | @@ -95911,7 +99543,7 @@ fn genSetReg( |
| 95911 | } }, | 99543 | } }, |
| 95912 | }), | 99544 | }), |
| 95913 | .load_symbol => |sym_off| switch (dst_reg.class()) { | 99545 | .load_symbol => |sym_off| switch (dst_reg.class()) { |
| 95914 | .general_purpose => { | 99546 | .general_purpose, .gphi => { |
| 95915 | assert(sym_off.off == 0); | 99547 | assert(sym_off.off == 0); |
| 95916 | try self.asmRegisterMemory(.{ ._, .mov }, dst_alias, .{ | 99548 | try self.asmRegisterMemory(.{ ._, .mov }, dst_alias, .{ |
| 95917 | .base = .{ .reloc = sym_off.sym_index }, | 99549 | .base = .{ .reloc = sym_off.sym_index }, |
| ... | @@ -95926,7 +99558,7 @@ fn genSetReg( | ... | @@ -95926,7 +99558,7 @@ fn genSetReg( |
| 95926 | .x87, .sse => {}, | 99558 | .x87, .sse => {}, |
| 95927 | }, | 99559 | }, |
| 95928 | .load_direct => |sym_index| switch (dst_reg.class()) { | 99560 | .load_direct => |sym_index| switch (dst_reg.class()) { |
| 95929 | .general_purpose => { | 99561 | .general_purpose, .gphi => { |
| 95930 | _ = try self.addInst(.{ | 99562 | _ = try self.addInst(.{ |
| 95931 | .tag = .mov, | 99563 | .tag = .mov, |
| 95932 | .ops = .direct_reloc, | 99564 | .ops = .direct_reloc, |
| ... | @@ -96090,7 +99722,7 @@ fn genSetMem( | ... | @@ -96090,7 +99722,7 @@ fn genSetMem( |
| 96090 | }; | 99722 | }; |
| 96091 | const src_alias = registerAlias(src_reg, abi_size); | 99723 | const src_alias = registerAlias(src_reg, abi_size); |
| 96092 | const src_size: u32 = @intCast(switch (src_alias.class()) { | 99724 | const src_size: u32 = @intCast(switch (src_alias.class()) { |
| 96093 | .general_purpose, .segment, .x87, .ip, .cr, .dr => @divExact(src_alias.bitSize(), 8), | 99725 | .general_purpose, .gphi, .segment, .x87, .ip, .cr, .dr => @divExact(src_alias.bitSize(), 8), |
| 96094 | .mmx, .sse => abi_size, | 99726 | .mmx, .sse => abi_size, |
| 96095 | }); | 99727 | }); |
| 96096 | const src_align: InternPool.Alignment = .fromNonzeroByteUnits( | 99728 | const src_align: InternPool.Alignment = .fromNonzeroByteUnits( |
| ... | @@ -100398,7 +104030,7 @@ fn resolveCallingConventionValues( | ... | @@ -100398,7 +104030,7 @@ fn resolveCallingConventionValues( |
| 100398 | const ret_gpr = abi.getCAbiIntReturnRegs(cc); | 104030 | const ret_gpr = abi.getCAbiIntReturnRegs(cc); |
| 100399 | const ret_size: u31 = @intCast(ret_ty.abiSize(zcu)); | 104031 | const ret_size: u31 = @intCast(ret_ty.abiSize(zcu)); |
| 100400 | if (abi.zigcc.return_in_regs) switch (self.regClassForType(ret_ty)) { | 104032 | if (abi.zigcc.return_in_regs) switch (self.regClassForType(ret_ty)) { |
| 100401 | .general_purpose => if (ret_size <= @as(u4, switch (self.target.cpu.arch) { | 104033 | .general_purpose, .gphi => if (ret_size <= @as(u4, switch (self.target.cpu.arch) { |
| 100402 | else => unreachable, | 104034 | else => unreachable, |
| 100403 | .x86 => 4, | 104035 | .x86 => 4, |
| 100404 | .x86_64 => 8, | 104036 | .x86_64 => 8, |
| ... | @@ -100428,7 +104060,7 @@ fn resolveCallingConventionValues( | ... | @@ -100428,7 +104060,7 @@ fn resolveCallingConventionValues( |
| 100428 | } | 104060 | } |
| 100429 | const param_size: u31 = @intCast(param_ty.abiSize(zcu)); | 104061 | const param_size: u31 = @intCast(param_ty.abiSize(zcu)); |
| 100430 | if (abi.zigcc.params_in_regs) switch (self.regClassForType(param_ty)) { | 104062 | if (abi.zigcc.params_in_regs) switch (self.regClassForType(param_ty)) { |
| 100431 | .general_purpose => if (param_gpr.len >= 1 and param_size <= @as(u4, switch (self.target.cpu.arch) { | 104063 | .general_purpose, .gphi => if (param_gpr.len >= 1 and param_size <= @as(u4, switch (self.target.cpu.arch) { |
| 100432 | else => unreachable, | 104064 | else => unreachable, |
| 100433 | .x86 => 4, | 104065 | .x86 => 4, |
| 100434 | .x86_64 => 8, | 104066 | .x86_64 => 8, |
| ... | @@ -100501,10 +104133,9 @@ fn parseRegName(name: []const u8) ?Register { | ... | @@ -100501,10 +104133,9 @@ fn parseRegName(name: []const u8) ?Register { |
| 100501 | 104133 | ||
| 100502 | /// Returns register wide enough to hold at least `size_bytes`. | 104134 | /// Returns register wide enough to hold at least `size_bytes`. |
| 100503 | fn registerAlias(reg: Register, size_bytes: u32) Register { | 104135 | fn registerAlias(reg: Register, size_bytes: u32) Register { |
| 104136 | if (size_bytes == 0) unreachable; // should be comptime-known | ||
| 100504 | return switch (reg.class()) { | 104137 | return switch (reg.class()) { |
| 100505 | .general_purpose => if (size_bytes == 0) | 104138 | .general_purpose => if (size_bytes <= 1) |
| 100506 | unreachable // should be comptime-known | ||
| 100507 | else if (size_bytes <= 1) | ||
| 100508 | reg.to8() | 104139 | reg.to8() |
| 100509 | else if (size_bytes <= 2) | 104140 | else if (size_bytes <= 2) |
| 100510 | reg.to16() | 104141 | reg.to16() |
| ... | @@ -100514,6 +104145,16 @@ fn registerAlias(reg: Register, size_bytes: u32) Register { | ... | @@ -100514,6 +104145,16 @@ fn registerAlias(reg: Register, size_bytes: u32) Register { |
| 100514 | reg.to64() | 104145 | reg.to64() |
| 100515 | else | 104146 | else |
| 100516 | unreachable, | 104147 | unreachable, |
| 104148 | .gphi => if (size_bytes <= 1) | ||
| 104149 | reg | ||
| 104150 | else if (size_bytes <= 2) | ||
| 104151 | reg.to16() | ||
| 104152 | else if (size_bytes <= 4) | ||
| 104153 | reg.to32() | ||
| 104154 | else if (size_bytes <= 8) | ||
| 104155 | reg.to64() | ||
| 104156 | else | ||
| 104157 | unreachable, | ||
| 100517 | .segment => if (size_bytes <= 2) | 104158 | .segment => if (size_bytes <= 2) |
| 100518 | reg | 104159 | reg |
| 100519 | else | 104160 | else |
| ... | @@ -101809,10 +105450,19 @@ const Temp = struct { | ... | @@ -101809,10 +105450,19 @@ const Temp = struct { |
| 101809 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, | 105450 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| 101810 | .each = .{ .once = &.{} }, | 105451 | .each = .{ .once = &.{} }, |
| 101811 | }, .{ | 105452 | }, .{ |
| 101812 | .required_features = .{ .fast_imm16, null, null, null }, | ||
| 101813 | .src_constraints = .{ .{ .unsigned_int = .word }, .any, .any }, | 105453 | .src_constraints = .{ .{ .unsigned_int = .word }, .any, .any }, |
| 101814 | .patterns = &.{ | 105454 | .patterns = &.{ |
| 101815 | .{ .src = .{ .mut_mem, .none, .none } }, | 105455 | .{ .src = .{ .mut_mem, .none, .none } }, |
| 105456 | }, | ||
| 105457 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, | ||
| 105458 | .clobbers = .{ .eflags = true }, | ||
| 105459 | .each = .{ .once = &.{ | ||
| 105460 | .{ ._, ._, .@"and", .dst0w, .ua(.src0, .add_umax), ._, ._ }, | ||
| 105461 | } }, | ||
| 105462 | }, .{ | ||
| 105463 | .required_features = .{ .fast_imm16, null, null, null }, | ||
| 105464 | .src_constraints = .{ .{ .unsigned_int = .word }, .any, .any }, | ||
| 105465 | .patterns = &.{ | ||
| 101816 | .{ .src = .{ .to_mut_gpr, .none, .none } }, | 105466 | .{ .src = .{ .to_mut_gpr, .none, .none } }, |
| 101817 | }, | 105467 | }, |
| 101818 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, | 105468 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| ... | @@ -101875,6 +105525,7 @@ const Temp = struct { | ... | @@ -101875,6 +105525,7 @@ const Temp = struct { |
| 101875 | .required_features = .{ .@"64bit", .bmi2, null, null }, | 105525 | .required_features = .{ .@"64bit", .bmi2, null, null }, |
| 101876 | .src_constraints = .{ .{ .unsigned_int = .qword }, .any, .any }, | 105526 | .src_constraints = .{ .{ .unsigned_int = .qword }, .any, .any }, |
| 101877 | .patterns = &.{ | 105527 | .patterns = &.{ |
| 105528 | .{ .src = .{ .mem, .none, .none } }, | ||
| 101878 | .{ .src = .{ .to_gpr, .none, .none } }, | 105529 | .{ .src = .{ .to_gpr, .none, .none } }, |
| 101879 | }, | 105530 | }, |
| 101880 | .extra_temps = .{ | 105531 | .extra_temps = .{ |
| ... | @@ -101903,6 +105554,19 @@ const Temp = struct { | ... | @@ -101903,6 +105554,19 @@ const Temp = struct { |
| 101903 | .{ .src = .{ .mut_mem, .none, .none } }, | 105554 | .{ .src = .{ .mut_mem, .none, .none } }, |
| 101904 | .{ .src = .{ .to_mut_gpr, .none, .none } }, | 105555 | .{ .src = .{ .to_mut_gpr, .none, .none } }, |
| 101905 | }, | 105556 | }, |
| 105557 | .extra_temps = .{ | ||
| 105558 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, | ||
| 105559 | .unused, | ||
| 105560 | .unused, | ||
| 105561 | .unused, | ||
| 105562 | .unused, | ||
| 105563 | .unused, | ||
| 105564 | .unused, | ||
| 105565 | .unused, | ||
| 105566 | .unused, | ||
| 105567 | .unused, | ||
| 105568 | .unused, | ||
| 105569 | }, | ||
| 101906 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, | 105570 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| 101907 | .clobbers = .{ .eflags = true }, | 105571 | .clobbers = .{ .eflags = true }, |
| 101908 | .each = .{ .once = &.{ | 105572 | .each = .{ .once = &.{ |
| ... | @@ -105934,7 +109598,7 @@ const Temp = struct { | ... | @@ -105934,7 +109598,7 @@ const Temp = struct { |
| 105934 | ) InnerError!void { | 109598 | ) InnerError!void { |
| 105935 | const tomb_bits = cg.liveness.getTombBits(inst); | 109599 | const tomb_bits = cg.liveness.getTombBits(inst); |
| 105936 | for (0.., op_refs, op_temps) |op_index, op_ref, op_temp| { | 109600 | for (0.., op_refs, op_temps) |op_index, op_ref, op_temp| { |
| 105937 | if (op_temp.index != temp.index) try op_temp.die(cg); | 109601 | if (op_temp.index != temp.index and op_temp.tracking(cg).short != .dead) try op_temp.die(cg); |
| 105938 | if (tomb_bits & @as(Liveness.Bpi, 1) << @intCast(op_index) == 0) continue; | 109602 | if (tomb_bits & @as(Liveness.Bpi, 1) << @intCast(op_index) == 0) continue; |
| 105939 | if (cg.reused_operands.isSet(op_index)) continue; | 109603 | if (cg.reused_operands.isSet(op_index)) continue; |
| 105940 | try cg.processDeath(op_ref.toIndexAllowNone() orelse continue); | 109604 | try cg.processDeath(op_ref.toIndexAllowNone() orelse continue); |
| ... | @@ -106845,10 +110509,11 @@ const Select = struct { | ... | @@ -106845,10 +110509,11 @@ const Select = struct { |
| 106845 | f64_0x1p52_0x1p84_mem, | 110509 | f64_0x1p52_0x1p84_mem, |
| 106846 | u32_0x1p52_hi_0x1p84_hi_0_0_mem, | 110510 | u32_0x1p52_hi_0x1p84_hi_0_0_mem, |
| 106847 | f32_0_0x1p64_mem, | 110511 | f32_0_0x1p64_mem, |
| 106848 | pshufb_trunc_mem: struct { from: Memory.Size, to: Memory.Size }, | 110512 | pshufb_trunc_mem: struct { of: Memory.Size = .none, from: Memory.Size, to: Memory.Size }, |
| 110513 | pand_trunc_mem: struct { from: Memory.Size, to: Memory.Size }, | ||
| 106849 | pshufb_bswap_mem: struct { repeat: u4 = 1, size: Memory.Size, smear: u4 = 1 }, | 110514 | pshufb_bswap_mem: struct { repeat: u4 = 1, size: Memory.Size, smear: u4 = 1 }, |
| 106850 | forward_bits, | 110515 | forward_bits_mem, |
| 106851 | reverse_bits, | 110516 | reverse_bits_mem, |
| 106852 | frame: FrameIndex, | 110517 | frame: FrameIndex, |
| 106853 | lazy_symbol: struct { kind: link.File.LazySymbol.Kind, ref: Select.Operand.Ref = .none }, | 110518 | lazy_symbol: struct { kind: link.File.LazySymbol.Kind, ref: Select.Operand.Ref = .none }, |
| 106854 | symbol: *const struct { lib: ?[]const u8 = null, name: []const u8 }, | 110519 | symbol: *const struct { lib: ?[]const u8 = null, name: []const u8 }, |
| ... | @@ -107064,17 +110729,40 @@ const Select = struct { | ... | @@ -107064,17 +110729,40 @@ const Select = struct { |
| 107064 | const zcu = pt.zcu; | 110729 | const zcu = pt.zcu; |
| 107065 | assert(spec.type.isVector(zcu)); | 110730 | assert(spec.type.isVector(zcu)); |
| 107066 | assert(spec.type.childType(zcu).toIntern() == .u8_type); | 110731 | assert(spec.type.childType(zcu).toIntern() == .u8_type); |
| 107067 | var bytes: [16]u8 = @splat(1 << 7); | 110732 | var elem_buf: [32]u8 = @splat(1 << 7); |
| 110733 | const elems = elem_buf[0..spec.type.vectorLen(zcu)]; | ||
| 110734 | const of_bytes: u32 = @intCast(switch (trunc_spec.of) { | ||
| 110735 | .none => elems.len, | ||
| 110736 | else => |of| @divExact(of.bitSize(cg.target), 8), | ||
| 110737 | }); | ||
| 107068 | const from_bytes: u32 = @intCast(@divExact(trunc_spec.from.bitSize(cg.target), 8)); | 110738 | const from_bytes: u32 = @intCast(@divExact(trunc_spec.from.bitSize(cg.target), 8)); |
| 107069 | const to_bytes: u32 = @intCast(@divExact(trunc_spec.to.bitSize(cg.target), 8)); | 110739 | const to_bytes: u32 = @intCast(@divExact(trunc_spec.to.bitSize(cg.target), 8)); |
| 107070 | var from_index: u32 = 0; | 110740 | var from_index: u32 = 0; |
| 107071 | var to_index: u32 = 0; | 110741 | var to_index: u32 = 0; |
| 107072 | while (from_index < bytes.len) { | 110742 | while (from_index < of_bytes) : ({ |
| 107073 | for (0..to_bytes) |byte_off| bytes[to_index + byte_off] = @intCast(from_index + byte_off); | ||
| 107074 | from_index += from_bytes; | 110743 | from_index += from_bytes; |
| 107075 | to_index += to_bytes; | 110744 | switch (from_index % 16) { |
| 107076 | } | 110745 | 0 => to_index = from_index, |
| 107077 | const elems = bytes[0..spec.type.vectorLen(zcu)]; | 110746 | else => to_index += to_bytes, |
| 110747 | } | ||
| 110748 | }) for (0..to_bytes) |byte_off| { | ||
| 110749 | elems[to_index + byte_off] = @as(u4, @truncate(from_index + byte_off)); | ||
| 110750 | }; | ||
| 110751 | return .{ try cg.tempMemFromValue(.fromInterned(try pt.intern(.{ .aggregate = .{ | ||
| 110752 | .ty = spec.type.toIntern(), | ||
| 110753 | .storage = .{ .bytes = try zcu.intern_pool.getOrPutString(zcu.gpa, pt.tid, elems, .maybe_embedded_nulls) }, | ||
| 110754 | } }))), true }; | ||
| 110755 | }, | ||
| 110756 | .pand_trunc_mem => |trunc_spec| { | ||
| 110757 | const zcu = pt.zcu; | ||
| 110758 | assert(spec.type.isVector(zcu)); | ||
| 110759 | assert(spec.type.childType(zcu).toIntern() == .u8_type); | ||
| 110760 | var elem_buf: [32]u8 = @splat(0); | ||
| 110761 | const elems = elem_buf[0..spec.type.vectorLen(zcu)]; | ||
| 110762 | const from_bytes: u32 = @intCast(@divExact(trunc_spec.from.bitSize(cg.target), 8)); | ||
| 110763 | const to_bytes: u32 = @intCast(@divExact(trunc_spec.to.bitSize(cg.target), 8)); | ||
| 110764 | var index: u32 = 0; | ||
| 110765 | while (index < elems.len) : (index += from_bytes) @memset(elems[index..][0..to_bytes], std.math.maxInt(u8)); | ||
| 107078 | return .{ try cg.tempMemFromValue(.fromInterned(try pt.intern(.{ .aggregate = .{ | 110766 | return .{ try cg.tempMemFromValue(.fromInterned(try pt.intern(.{ .aggregate = .{ |
| 107079 | .ty = spec.type.toIntern(), | 110767 | .ty = spec.type.toIntern(), |
| 107080 | .storage = .{ .bytes = try zcu.intern_pool.getOrPutString(zcu.gpa, pt.tid, elems, .maybe_embedded_nulls) }, | 110768 | .storage = .{ .bytes = try zcu.intern_pool.getOrPutString(zcu.gpa, pt.tid, elems, .maybe_embedded_nulls) }, |
| ... | @@ -107084,20 +110772,20 @@ const Select = struct { | ... | @@ -107084,20 +110772,20 @@ const Select = struct { |
| 107084 | const zcu = pt.zcu; | 110772 | const zcu = pt.zcu; |
| 107085 | assert(spec.type.isVector(zcu)); | 110773 | assert(spec.type.isVector(zcu)); |
| 107086 | assert(spec.type.childType(zcu).toIntern() == .u8_type); | 110774 | assert(spec.type.childType(zcu).toIntern() == .u8_type); |
| 107087 | var bytes: [32]u8 = @splat(1 << 7); | 110775 | var elem_buf: [32]u8 = @splat(1 << 7); |
| 110776 | const elems = elem_buf[0..spec.type.vectorLen(zcu)]; | ||
| 107088 | const len: usize = @intCast(@divExact(bswap_spec.size.bitSize(cg.target), 8)); | 110777 | const len: usize = @intCast(@divExact(bswap_spec.size.bitSize(cg.target), 8)); |
| 107089 | var to_index: u32 = 0; | 110778 | var to_index: u32 = 0; |
| 107090 | for (0..bswap_spec.repeat) |_| for (0..len) |from_index| { | 110779 | for (0..bswap_spec.repeat) |_| for (0..len) |from_index| { |
| 107091 | @memset(bytes[to_index..][0..bswap_spec.smear], @intCast(len - 1 - from_index)); | 110780 | @memset(elems[to_index..][0..bswap_spec.smear], @intCast(len - 1 - from_index)); |
| 107092 | to_index += bswap_spec.smear; | 110781 | to_index += bswap_spec.smear; |
| 107093 | }; | 110782 | }; |
| 107094 | const elems = bytes[0..spec.type.vectorLen(zcu)]; | ||
| 107095 | return .{ try cg.tempMemFromValue(.fromInterned(try pt.intern(.{ .aggregate = .{ | 110783 | return .{ try cg.tempMemFromValue(.fromInterned(try pt.intern(.{ .aggregate = .{ |
| 107096 | .ty = spec.type.toIntern(), | 110784 | .ty = spec.type.toIntern(), |
| 107097 | .storage = .{ .bytes = try zcu.intern_pool.getOrPutString(zcu.gpa, pt.tid, elems, .maybe_embedded_nulls) }, | 110785 | .storage = .{ .bytes = try zcu.intern_pool.getOrPutString(zcu.gpa, pt.tid, elems, .maybe_embedded_nulls) }, |
| 107098 | } }))), true }; | 110786 | } }))), true }; |
| 107099 | }, | 110787 | }, |
| 107100 | .forward_bits, .reverse_bits => { | 110788 | .forward_bits_mem, .reverse_bits_mem => { |
| 107101 | const zcu = pt.zcu; | 110789 | const zcu = pt.zcu; |
| 107102 | assert(spec.type.isVector(zcu)); | 110790 | assert(spec.type.isVector(zcu)); |
| 107103 | assert(spec.type.childType(zcu).toIntern() == .u8_type); | 110791 | assert(spec.type.childType(zcu).toIntern() == .u8_type); |
| ... | @@ -107105,8 +110793,8 @@ const Select = struct { | ... | @@ -107105,8 +110793,8 @@ const Select = struct { |
| 107105 | const elems = bytes[0..spec.type.vectorLen(zcu)]; | 110793 | const elems = bytes[0..spec.type.vectorLen(zcu)]; |
| 107106 | for (elems, 0..) |*elem, index| elem.* = switch (spec.kind) { | 110794 | for (elems, 0..) |*elem, index| elem.* = switch (spec.kind) { |
| 107107 | else => unreachable, | 110795 | else => unreachable, |
| 107108 | .forward_bits => @as(u8, 1 << 0) << @truncate(index), | 110796 | .forward_bits_mem => @as(u8, 1 << 0) << @truncate(index), |
| 107109 | .reverse_bits => @as(u8, 1 << 7) >> @truncate(index), | 110797 | .reverse_bits_mem => @as(u8, 1 << 7) >> @truncate(index), |
| 107110 | }; | 110798 | }; |
| 107111 | return .{ try cg.tempMemFromValue(.fromInterned(try pt.intern(.{ .aggregate = .{ | 110799 | return .{ try cg.tempMemFromValue(.fromInterned(try pt.intern(.{ .aggregate = .{ |
| 107112 | .ty = spec.type.toIntern(), | 110800 | .ty = spec.type.toIntern(), |
| ... | @@ -107482,7 +111170,10 @@ const Select = struct { | ... | @@ -107482,7 +111170,10 @@ const Select = struct { |
| 107482 | } | 111170 | } |
| 107483 | 111171 | ||
| 107484 | fn valueOf(ref: Ref, s: *const Select) MCValue { | 111172 | fn valueOf(ref: Ref, s: *const Select) MCValue { |
| 107485 | return s.temps[@intFromEnum(ref)].tracking(s.cg).short; | 111173 | return switch (ref) { |
| 111174 | .none => .none, | ||
| 111175 | else => s.temps[@intFromEnum(ref)].tracking(s.cg).short, | ||
| 111176 | }; | ||
| 107486 | } | 111177 | } |
| 107487 | }; | 111178 | }; |
| 107488 | 111179 | ||
| ... | @@ -108027,42 +111718,39 @@ const Select = struct { | ... | @@ -108027,42 +111718,39 @@ const Select = struct { |
| 108027 | .lea => .{ .mem = .{ | 111718 | .lea => .{ .mem = .{ |
| 108028 | .base = switch (op.flags.base.ref.valueOf(s)) { | 111719 | .base = switch (op.flags.base.ref.valueOf(s)) { |
| 108029 | else => unreachable, | 111720 | else => unreachable, |
| 111721 | .none => .none, | ||
| 108030 | .register => |base_reg| .{ .reg = registerAlias(base_reg, @divExact(s.cg.target.ptrBitWidth(), 8)) }, | 111722 | .register => |base_reg| .{ .reg = registerAlias(base_reg, @divExact(s.cg.target.ptrBitWidth(), 8)) }, |
| 108031 | .register_offset => |base_reg_off| .{ .reg = registerAlias(base_reg_off.reg, @divExact(s.cg.target.ptrBitWidth(), 8)) }, | 111723 | .register_offset => |base_reg_off| .{ .reg = registerAlias(base_reg_off.reg, @divExact(s.cg.target.ptrBitWidth(), 8)) }, |
| 108032 | .lea_symbol => |base_sym_off| .{ .reloc = base_sym_off.sym_index }, | 111724 | .lea_symbol => |base_sym_off| .{ .reloc = base_sym_off.sym_index }, |
| 108033 | }, | 111725 | }, |
| 108034 | .mod = .{ .rm = .{ | 111726 | .mod = .{ .rm = .{ |
| 108035 | .size = op.flags.base.size, | 111727 | .size = op.flags.base.size, |
| 108036 | .index = switch (op.flags.index.ref) { | 111728 | .index = switch (op.flags.index.ref.valueOf(s)) { |
| 108037 | else => |index_ref| switch (index_ref.valueOf(s)) { | 111729 | else => unreachable, |
| 108038 | else => unreachable, | ||
| 108039 | .register => |index_reg| registerAlias(index_reg, @divExact(s.cg.target.ptrBitWidth(), 8)), | ||
| 108040 | .register_offset => |index_reg_off| registerAlias(index_reg_off.reg, @divExact(s.cg.target.ptrBitWidth(), 8)), | ||
| 108041 | }, | ||
| 108042 | .none => .none, | 111730 | .none => .none, |
| 111731 | .register => |index_reg| registerAlias(index_reg, @divExact(s.cg.target.ptrBitWidth(), 8)), | ||
| 111732 | .register_offset => |index_reg_off| registerAlias(index_reg_off.reg, @divExact(s.cg.target.ptrBitWidth(), 8)), | ||
| 108043 | }, | 111733 | }, |
| 108044 | .scale = op.flags.index.scale, | 111734 | .scale = op.flags.index.scale, |
| 108045 | .disp = op.adjustedImm(i32, s) + switch (op.flags.base.ref.valueOf(s)) { | 111735 | .disp = op.adjustedImm(i32, s) + switch (op.flags.base.ref.valueOf(s)) { |
| 108046 | else => unreachable, | 111736 | else => unreachable, |
| 108047 | .register => 0, | 111737 | .none, .register => 0, |
| 111738 | .register_offset => |base_reg_off| base_reg_off.off, | ||
| 111739 | .lea_symbol => |base_sym_off| base_sym_off.off, | ||
| 111740 | } + switch (op.flags.index.ref.valueOf(s)) { | ||
| 111741 | else => unreachable, | ||
| 111742 | .none, .register => 0, | ||
| 108048 | .register_offset => |base_reg_off| base_reg_off.off, | 111743 | .register_offset => |base_reg_off| base_reg_off.off, |
| 108049 | .lea_symbol => |base_sym_off| base_sym_off.off, | 111744 | .lea_symbol => |base_sym_off| base_sym_off.off, |
| 108050 | } + switch (op.flags.index.ref) { | ||
| 108051 | else => |index_ref| switch (index_ref.valueOf(s)) { | ||
| 108052 | else => unreachable, | ||
| 108053 | .register => 0, | ||
| 108054 | .register_offset => |base_reg_off| base_reg_off.off, | ||
| 108055 | .lea_symbol => |base_sym_off| base_sym_off.off, | ||
| 108056 | }, | ||
| 108057 | .none => 0, | ||
| 108058 | }, | 111745 | }, |
| 108059 | } }, | 111746 | } }, |
| 108060 | } }, | 111747 | } }, |
| 108061 | .mem => .{ .mem = try op.flags.base.ref.valueOf(s).mem(s.cg, .{ | 111748 | .mem => .{ .mem = try op.flags.base.ref.valueOf(s).mem(s.cg, .{ |
| 108062 | .size = op.flags.base.size, | 111749 | .size = op.flags.base.size, |
| 108063 | .index = switch (op.flags.index.ref) { | 111750 | .index = switch (op.flags.index.ref.valueOf(s)) { |
| 108064 | else => |index_ref| registerAlias(index_ref.valueOf(s).register, @divExact(s.cg.target.ptrBitWidth(), 8)), | 111751 | else => unreachable, |
| 108065 | .none => .none, | 111752 | .none => .none, |
| 111753 | .register => |index_reg| registerAlias(index_reg, @divExact(s.cg.target.ptrBitWidth(), 8)), | ||
| 108066 | }, | 111754 | }, |
| 108067 | .scale = op.flags.index.scale, | 111755 | .scale = op.flags.index.scale, |
| 108068 | .disp = op.adjustedImm(i32, s), | 111756 | .disp = op.adjustedImm(i32, s), |
src/arch/x86_64/Encoding.zig+1| ... | @@ -592,6 +592,7 @@ pub const Op = enum { | ... | @@ -592,6 +592,7 @@ pub const Op = enum { |
| 592 | else => unreachable, | 592 | else => unreachable, |
| 593 | }, | 593 | }, |
| 594 | }, | 594 | }, |
| 595 | .gphi => .r8, | ||
| 595 | .segment => .sreg, | 596 | .segment => .sreg, |
| 596 | .x87 => switch (reg) { | 597 | .x87 => switch (reg) { |
| 597 | .st0 => .st0, | 598 | .st0 => .st0, |
src/arch/x86_64/Lower.zig+1-1| ... | @@ -579,7 +579,7 @@ fn generic(lower: *Lower, inst: Mir.Inst) Error!void { | ... | @@ -579,7 +579,7 @@ fn generic(lower: *Lower, inst: Mir.Inst) Error!void { |
| 579 | .rrri => inst.data.rrri.fixes, | 579 | .rrri => inst.data.rrri.fixes, |
| 580 | .rri_s, .rri_u => inst.data.rri.fixes, | 580 | .rri_s, .rri_u => inst.data.rri.fixes, |
| 581 | .ri_s, .ri_u, .ri_64, .ir => inst.data.ri.fixes, | 581 | .ri_s, .ri_u, .ri_64, .ir => inst.data.ri.fixes, |
| 582 | .rm, .rmi_s, .mr => inst.data.rx.fixes, | 582 | .rm, .rmi_s, .rmi_u, .mr => inst.data.rx.fixes, |
| 583 | .mrr, .rrm, .rmr => inst.data.rrx.fixes, | 583 | .mrr, .rrm, .rmr => inst.data.rrx.fixes, |
| 584 | .rmi, .mri => inst.data.rix.fixes, | 584 | .rmi, .mri => inst.data.rix.fixes, |
| 585 | .rrmr => inst.data.rrrx.fixes, | 585 | .rrmr => inst.data.rrrx.fixes, |
src/arch/x86_64/bits.zig+3-3| ... | @@ -384,6 +384,7 @@ pub const Register = enum(u8) { | ... | @@ -384,6 +384,7 @@ pub const Register = enum(u8) { |
| 384 | 384 | ||
| 385 | pub const Class = enum { | 385 | pub const Class = enum { |
| 386 | general_purpose, | 386 | general_purpose, |
| 387 | gphi, | ||
| 387 | segment, | 388 | segment, |
| 388 | x87, | 389 | x87, |
| 389 | mmx, | 390 | mmx, |
| ... | @@ -400,7 +401,7 @@ pub const Register = enum(u8) { | ... | @@ -400,7 +401,7 @@ pub const Register = enum(u8) { |
| 400 | @intFromEnum(Register.eax) ... @intFromEnum(Register.r15d) => .general_purpose, | 401 | @intFromEnum(Register.eax) ... @intFromEnum(Register.r15d) => .general_purpose, |
| 401 | @intFromEnum(Register.ax) ... @intFromEnum(Register.r15w) => .general_purpose, | 402 | @intFromEnum(Register.ax) ... @intFromEnum(Register.r15w) => .general_purpose, |
| 402 | @intFromEnum(Register.al) ... @intFromEnum(Register.r15b) => .general_purpose, | 403 | @intFromEnum(Register.al) ... @intFromEnum(Register.r15b) => .general_purpose, |
| 403 | @intFromEnum(Register.ah) ... @intFromEnum(Register.bh) => .general_purpose, | 404 | @intFromEnum(Register.ah) ... @intFromEnum(Register.bh) => .gphi, |
| 404 | 405 | ||
| 405 | @intFromEnum(Register.ymm0) ... @intFromEnum(Register.ymm15) => .sse, | 406 | @intFromEnum(Register.ymm0) ... @intFromEnum(Register.ymm15) => .sse, |
| 406 | @intFromEnum(Register.xmm0) ... @intFromEnum(Register.xmm15) => .sse, | 407 | @intFromEnum(Register.xmm0) ... @intFromEnum(Register.xmm15) => .sse, |
| ... | @@ -525,7 +526,6 @@ pub const Register = enum(u8) { | ... | @@ -525,7 +526,6 @@ pub const Register = enum(u8) { |
| 525 | } | 526 | } |
| 526 | 527 | ||
| 527 | fn gpBase(reg: Register) u7 { | 528 | fn gpBase(reg: Register) u7 { |
| 528 | assert(reg.class() == .general_purpose); | ||
| 529 | return switch (@intFromEnum(reg)) { | 529 | return switch (@intFromEnum(reg)) { |
| 530 | // zig fmt: off | 530 | // zig fmt: off |
| 531 | @intFromEnum(Register.rax) ... @intFromEnum(Register.r15) => @intFromEnum(Register.rax), | 531 | @intFromEnum(Register.rax) ... @intFromEnum(Register.r15) => @intFromEnum(Register.rax), |
| ... | @@ -577,7 +577,7 @@ pub const Register = enum(u8) { | ... | @@ -577,7 +577,7 @@ pub const Register = enum(u8) { |
| 577 | /// DWARF register encoding | 577 | /// DWARF register encoding |
| 578 | pub fn dwarfNum(reg: Register) u6 { | 578 | pub fn dwarfNum(reg: Register) u6 { |
| 579 | return switch (reg.class()) { | 579 | return switch (reg.class()) { |
| 580 | .general_purpose => if (reg.isExtended()) | 580 | .general_purpose, .gphi => if (reg.isExtended()) |
| 581 | reg.enc() | 581 | reg.enc() |
| 582 | else | 582 | else |
| 583 | @as(u3, @truncate(@as(u24, 0o54673120) >> @as(u5, reg.enc()) * 3)), | 583 | @as(u3, @truncate(@as(u24, 0o54673120) >> @as(u5, reg.enc()) * 3)), |
src/codegen/c.zig+1-2| ... | @@ -8175,7 +8175,7 @@ fn formatIntLiteral( | ... | @@ -8175,7 +8175,7 @@ fn formatIntLiteral( |
| 8175 | try writer.writeAll(string); | 8175 | try writer.writeAll(string); |
| 8176 | } else { | 8176 | } else { |
| 8177 | try data.ctype.renderLiteralPrefix(writer, data.kind, ctype_pool); | 8177 | try data.ctype.renderLiteralPrefix(writer, data.kind, ctype_pool); |
| 8178 | wrap.convertToTwosComplement(int, data.int_info.signedness, c_bits); | 8178 | wrap.truncate(int, .unsigned, c_bits); |
| 8179 | @memset(wrap.limbs[wrap.len..], 0); | 8179 | @memset(wrap.limbs[wrap.len..], 0); |
| 8180 | wrap.len = wrap.limbs.len; | 8180 | wrap.len = wrap.limbs.len; |
| 8181 | const limbs_per_c_limb = @divExact(wrap.len, c_limb_info.count); | 8181 | const limbs_per_c_limb = @divExact(wrap.len, c_limb_info.count); |
| ... | @@ -8207,7 +8207,6 @@ fn formatIntLiteral( | ... | @@ -8207,7 +8207,6 @@ fn formatIntLiteral( |
| 8207 | c_limb_int_info.signedness = .signed; | 8207 | c_limb_int_info.signedness = .signed; |
| 8208 | c_limb_ctype = c_limb_info.ctype.toSigned(); | 8208 | c_limb_ctype = c_limb_info.ctype.toSigned(); |
| 8209 | 8209 | ||
| 8210 | c_limb_mut.positive = wrap.positive; | ||
| 8211 | c_limb_mut.truncate( | 8210 | c_limb_mut.truncate( |
| 8212 | c_limb_mut.toConst(), | 8211 | c_limb_mut.toConst(), |
| 8213 | .signed, | 8212 | .signed, |
src/codegen/c/Type.zig+60| ... | @@ -1474,6 +1474,66 @@ pub const Pool = struct { | ... | @@ -1474,6 +1474,66 @@ pub const Pool = struct { |
| 1474 | }; | 1474 | }; |
| 1475 | return pool.fromFields(allocator, .@"struct", &fields, kind); | 1475 | return pool.fromFields(allocator, .@"struct", &fields, kind); |
| 1476 | }, | 1476 | }, |
| 1477 | .vector_1_u8_type => { | ||
| 1478 | const vector_ctype = try pool.getVector(allocator, .{ | ||
| 1479 | .elem_ctype = .u8, | ||
| 1480 | .len = 1, | ||
| 1481 | }); | ||
| 1482 | if (!kind.isParameter()) return vector_ctype; | ||
| 1483 | var fields = [_]Info.Field{ | ||
| 1484 | .{ | ||
| 1485 | .name = .{ .index = .array }, | ||
| 1486 | .ctype = vector_ctype, | ||
| 1487 | .alignas = AlignAs.fromAbiAlignment(Type.u8.abiAlignment(zcu)), | ||
| 1488 | }, | ||
| 1489 | }; | ||
| 1490 | return pool.fromFields(allocator, .@"struct", &fields, kind); | ||
| 1491 | }, | ||
| 1492 | .vector_2_u8_type => { | ||
| 1493 | const vector_ctype = try pool.getVector(allocator, .{ | ||
| 1494 | .elem_ctype = .u8, | ||
| 1495 | .len = 2, | ||
| 1496 | }); | ||
| 1497 | if (!kind.isParameter()) return vector_ctype; | ||
| 1498 | var fields = [_]Info.Field{ | ||
| 1499 | .{ | ||
| 1500 | .name = .{ .index = .array }, | ||
| 1501 | .ctype = vector_ctype, | ||
| 1502 | .alignas = AlignAs.fromAbiAlignment(Type.u8.abiAlignment(zcu)), | ||
| 1503 | }, | ||
| 1504 | }; | ||
| 1505 | return pool.fromFields(allocator, .@"struct", &fields, kind); | ||
| 1506 | }, | ||
| 1507 | .vector_4_u8_type => { | ||
| 1508 | const vector_ctype = try pool.getVector(allocator, .{ | ||
| 1509 | .elem_ctype = .u8, | ||
| 1510 | .len = 4, | ||
| 1511 | }); | ||
| 1512 | if (!kind.isParameter()) return vector_ctype; | ||
| 1513 | var fields = [_]Info.Field{ | ||
| 1514 | .{ | ||
| 1515 | .name = .{ .index = .array }, | ||
| 1516 | .ctype = vector_ctype, | ||
| 1517 | .alignas = AlignAs.fromAbiAlignment(Type.u8.abiAlignment(zcu)), | ||
| 1518 | }, | ||
| 1519 | }; | ||
| 1520 | return pool.fromFields(allocator, .@"struct", &fields, kind); | ||
| 1521 | }, | ||
| 1522 | .vector_8_u8_type => { | ||
| 1523 | const vector_ctype = try pool.getVector(allocator, .{ | ||
| 1524 | .elem_ctype = .u8, | ||
| 1525 | .len = 8, | ||
| 1526 | }); | ||
| 1527 | if (!kind.isParameter()) return vector_ctype; | ||
| 1528 | var fields = [_]Info.Field{ | ||
| 1529 | .{ | ||
| 1530 | .name = .{ .index = .array }, | ||
| 1531 | .ctype = vector_ctype, | ||
| 1532 | .alignas = AlignAs.fromAbiAlignment(Type.u8.abiAlignment(zcu)), | ||
| 1533 | }, | ||
| 1534 | }; | ||
| 1535 | return pool.fromFields(allocator, .@"struct", &fields, kind); | ||
| 1536 | }, | ||
| 1477 | .vector_16_u8_type => { | 1537 | .vector_16_u8_type => { |
| 1478 | const vector_ctype = try pool.getVector(allocator, .{ | 1538 | const vector_ctype = try pool.getVector(allocator, .{ |
| 1479 | .elem_ctype = .u8, | 1539 | .elem_ctype = .u8, |
test/behavior/x86_64/binary.zig created+5759| ... | @@ -0,0 +1,5759 @@ | ||
| 1 | const AddOneBit = math.AddOneBit; | ||
| 2 | const cast = math.cast; | ||
| 3 | const checkExpected = math.checkExpected; | ||
| 4 | const Compare = math.Compare; | ||
| 5 | const DoubleBits = math.DoubleBits; | ||
| 6 | const fmax = math.fmax; | ||
| 7 | const fmin = math.fmin; | ||
| 8 | const Gpr = math.Gpr; | ||
| 9 | const inf = math.inf; | ||
| 10 | const Log2Int = math.Log2Int; | ||
| 11 | const math = @import("math.zig"); | ||
| 12 | const nan = math.nan; | ||
| 13 | const Scalar = math.Scalar; | ||
| 14 | const sign = math.sign; | ||
| 15 | const Sse = math.Sse; | ||
| 16 | const tmin = math.tmin; | ||
| 17 | |||
| 18 | fn binary(comptime op: anytype, comptime opts: struct { compare: Compare = .relaxed }) type { | ||
| 19 | return struct { | ||
| 20 | // noinline so that `mem_lhs` and `mem_rhs` are on the stack | ||
| 21 | noinline fn testArgKinds( | ||
| 22 | _: Gpr, | ||
| 23 | _: Gpr, | ||
| 24 | _: Gpr, | ||
| 25 | _: Gpr, | ||
| 26 | _: Gpr, | ||
| 27 | _: Gpr, | ||
| 28 | _: Gpr, | ||
| 29 | _: Gpr, | ||
| 30 | _: Sse, | ||
| 31 | _: Sse, | ||
| 32 | _: Sse, | ||
| 33 | _: Sse, | ||
| 34 | _: Sse, | ||
| 35 | _: Sse, | ||
| 36 | _: Sse, | ||
| 37 | _: Sse, | ||
| 38 | comptime Type: type, | ||
| 39 | comptime imm_lhs: Type, | ||
| 40 | mem_lhs: Type, | ||
| 41 | comptime imm_rhs: Type, | ||
| 42 | mem_rhs: Type, | ||
| 43 | ) !void { | ||
| 44 | const expected = comptime op(Type, imm_lhs, imm_rhs); | ||
| 45 | var reg_lhs = mem_lhs; | ||
| 46 | var reg_rhs = mem_rhs; | ||
| 47 | _ = .{ &reg_lhs, &reg_rhs }; | ||
| 48 | try checkExpected(expected, op(Type, reg_lhs, reg_rhs), opts.compare); | ||
| 49 | try checkExpected(expected, op(Type, reg_lhs, mem_rhs), opts.compare); | ||
| 50 | try checkExpected(expected, op(Type, reg_lhs, imm_rhs), opts.compare); | ||
| 51 | try checkExpected(expected, op(Type, mem_lhs, reg_rhs), opts.compare); | ||
| 52 | try checkExpected(expected, op(Type, mem_lhs, mem_rhs), opts.compare); | ||
| 53 | try checkExpected(expected, op(Type, mem_lhs, imm_rhs), opts.compare); | ||
| 54 | try checkExpected(expected, op(Type, imm_lhs, reg_rhs), opts.compare); | ||
| 55 | try checkExpected(expected, op(Type, imm_lhs, mem_rhs), opts.compare); | ||
| 56 | } | ||
| 57 | // noinline for a more helpful stack trace | ||
| 58 | noinline fn testArgs(comptime Type: type, comptime imm_lhs: Type, comptime imm_rhs: Type) !void { | ||
| 59 | try testArgKinds( | ||
| 60 | undefined, | ||
| 61 | undefined, | ||
| 62 | undefined, | ||
| 63 | undefined, | ||
| 64 | undefined, | ||
| 65 | undefined, | ||
| 66 | undefined, | ||
| 67 | undefined, | ||
| 68 | undefined, | ||
| 69 | undefined, | ||
| 70 | undefined, | ||
| 71 | undefined, | ||
| 72 | undefined, | ||
| 73 | undefined, | ||
| 74 | undefined, | ||
| 75 | undefined, | ||
| 76 | Type, | ||
| 77 | imm_lhs, | ||
| 78 | imm_lhs, | ||
| 79 | imm_rhs, | ||
| 80 | imm_rhs, | ||
| 81 | ); | ||
| 82 | } | ||
| 83 | fn testInts() !void { | ||
| 84 | try testArgs(i4, 0x3, 0x2); | ||
| 85 | try testArgs(u4, 0xe, 0x6); | ||
| 86 | try testArgs(i8, 0x48, 0x6c); | ||
| 87 | try testArgs(u8, 0xbb, 0x43); | ||
| 88 | try testArgs(i16, -0x0fdf, 0x302e); | ||
| 89 | try testArgs(u16, 0xb8bf, 0x626d); | ||
| 90 | try testArgs(i32, -0x6280178f, 0x6802c034); | ||
| 91 | try testArgs(u32, 0x80d7a2c6, 0xbff6a402); | ||
| 92 | try testArgs(i64, 0x0365a53b8ee0c987, -0x1bb6d3013500a7d2); | ||
| 93 | try testArgs(u64, 0x71138bc6b4a38898, 0x1bc4043de9438c7b); | ||
| 94 | try testArgs(i128, 0x76d428c46cdeaa2ac43de8abffb22f6d, 0x427f7545abe434a12544fdbe2a012889); | ||
| 95 | try testArgs(u128, 0xe05fc132ef2cd8affee00a907f0a851f, 0x29f912a72cfc6a7c6973426a9636da9a); | ||
| 96 | try testArgs(i256, -0x53d4148cee74ea43477a65b3daa7b8fdadcbf4508e793f4af113b8d8da5a7eb6, -0x30dcbaf7b9b7a3df033694e6795444d842fb0b8f79bc18b3ea8a6b7ccad3ea91); | ||
| 97 | try testArgs(u256, 0xb7935f5c2f3b1ae7a422c0a7c446884294b7d5370bada307d2fe5a4c4284a999, 0x310e6e196ba4f143b8d285ca6addf7f3bb3344224aff221b27607a31e148be08); | ||
| 98 | try testArgs(i258, -0x0eee283365108dbeea0bec82f5147418d8ffe86f9eed00e414b4eccd65c21239a, -0x122c730073fc29a24cd6e3e6263566879bc5325d8566b8db31fcb4a76f7ab95eb); | ||
| 99 | try testArgs(u258, 0x186d5ddaab8cb8cb04e5b41e36f812e039d008baf49f12894c39e29a07796d800, 0x2072daba6ffad168826163eb136f6d28ca4360c8e7e5e41e29755e19e4753a4f5); | ||
| 100 | try testArgs(i495, 0x2fe6bc5448c55ce18252e2c9d44777505dfe63ff249a8027a6626c7d8dd9893fd5731e51474727be556f757facb586a4e04bbc0148c6c7ad692302f46fbd, -0x016a358821ef8240172f3a08e8830c06e6bcf2225f5f4d41ed42b44d249385f55cc594e1278ecac31c73faed890e5054af1a561483bb1bb6fb1f753514cf); | ||
| 101 | try testArgs(u495, 0x6eaf4e252b3bf74b75bac59e0b43ca5326bad2a25b3fdb74a67ef132ac5e47d72eebc3316fb2351ee66c50dc5afb92a75cea9b0e35160652c7db39eeb158, 0x49fbed744a92b549d8c05bb3512c617d24dd824f3f69bdf3923bc326a75674b85f5b828d2566fab9c86f571d12c2a63c9164feb0d191d27905533d09622a); | ||
| 102 | try testArgs(i512, -0x3a6876ca92775286c6e1504a64a9b8d56985bebf4a1b66539d404e0e96f24b226f70c4bcff295fdc2043b82513b2052dc45fd78f7e9e80e5b3e101757289f054, 0x5080c516a819bd32a0a5f0976441bbfbcf89e77684f1f10eb326aeb28e1f8d593278cff60fc99b8ffc87d8696882c64728dd3c322b7142803f4341f85a03bc10); | ||
| 103 | try testArgs(u512, 0xe5b1fedca3c77db765e517aabd05ffc524a3a8aff1784bbf67c45b894447ede32b65b9940e78173c591e56e078932d465f235aece7ad47b7f229df7ba8f12295, 0x8b4bb7c2969e3b121cc1082c442f8b4330f0a50058438fed56447175bb10178607ecfe425cb54dacc25ef26810f3e04681de1844f1aa8d029aca75d658634806); | ||
| 104 | } | ||
| 105 | fn testFloats() !void { | ||
| 106 | @setEvalBranchQuota(21_700); | ||
| 107 | |||
| 108 | try testArgs(f16, -nan(f16), -nan(f16)); | ||
| 109 | try testArgs(f16, -nan(f16), -inf(f16)); | ||
| 110 | try testArgs(f16, -nan(f16), -fmax(f16)); | ||
| 111 | try testArgs(f16, -nan(f16), -1e1); | ||
| 112 | try testArgs(f16, -nan(f16), -1e0); | ||
| 113 | try testArgs(f16, -nan(f16), -1e-1); | ||
| 114 | try testArgs(f16, -nan(f16), -fmin(f16)); | ||
| 115 | try testArgs(f16, -nan(f16), -tmin(f16)); | ||
| 116 | try testArgs(f16, -nan(f16), -0.0); | ||
| 117 | try testArgs(f16, -nan(f16), 0.0); | ||
| 118 | try testArgs(f16, -nan(f16), tmin(f16)); | ||
| 119 | try testArgs(f16, -nan(f16), fmin(f16)); | ||
| 120 | try testArgs(f16, -nan(f16), 1e-1); | ||
| 121 | try testArgs(f16, -nan(f16), 1e0); | ||
| 122 | try testArgs(f16, -nan(f16), 1e1); | ||
| 123 | try testArgs(f16, -nan(f16), fmax(f16)); | ||
| 124 | try testArgs(f16, -nan(f16), inf(f16)); | ||
| 125 | try testArgs(f16, -nan(f16), nan(f16)); | ||
| 126 | |||
| 127 | try testArgs(f16, -inf(f16), -nan(f16)); | ||
| 128 | try testArgs(f16, -inf(f16), -inf(f16)); | ||
| 129 | try testArgs(f16, -inf(f16), -fmax(f16)); | ||
| 130 | try testArgs(f16, -inf(f16), -1e1); | ||
| 131 | try testArgs(f16, -inf(f16), -1e0); | ||
| 132 | try testArgs(f16, -inf(f16), -1e-1); | ||
| 133 | try testArgs(f16, -inf(f16), -fmin(f16)); | ||
| 134 | try testArgs(f16, -inf(f16), -tmin(f16)); | ||
| 135 | try testArgs(f16, -inf(f16), -0.0); | ||
| 136 | try testArgs(f16, -inf(f16), 0.0); | ||
| 137 | try testArgs(f16, -inf(f16), tmin(f16)); | ||
| 138 | try testArgs(f16, -inf(f16), fmin(f16)); | ||
| 139 | try testArgs(f16, -inf(f16), 1e-1); | ||
| 140 | try testArgs(f16, -inf(f16), 1e0); | ||
| 141 | try testArgs(f16, -inf(f16), 1e1); | ||
| 142 | try testArgs(f16, -inf(f16), fmax(f16)); | ||
| 143 | try testArgs(f16, -inf(f16), inf(f16)); | ||
| 144 | try testArgs(f16, -inf(f16), nan(f16)); | ||
| 145 | |||
| 146 | try testArgs(f16, -fmax(f16), -nan(f16)); | ||
| 147 | try testArgs(f16, -fmax(f16), -inf(f16)); | ||
| 148 | try testArgs(f16, -fmax(f16), -fmax(f16)); | ||
| 149 | try testArgs(f16, -fmax(f16), -1e1); | ||
| 150 | try testArgs(f16, -fmax(f16), -1e0); | ||
| 151 | try testArgs(f16, -fmax(f16), -1e-1); | ||
| 152 | try testArgs(f16, -fmax(f16), -fmin(f16)); | ||
| 153 | try testArgs(f16, -fmax(f16), -tmin(f16)); | ||
| 154 | try testArgs(f16, -fmax(f16), -0.0); | ||
| 155 | try testArgs(f16, -fmax(f16), 0.0); | ||
| 156 | try testArgs(f16, -fmax(f16), tmin(f16)); | ||
| 157 | try testArgs(f16, -fmax(f16), fmin(f16)); | ||
| 158 | try testArgs(f16, -fmax(f16), 1e-1); | ||
| 159 | try testArgs(f16, -fmax(f16), 1e0); | ||
| 160 | try testArgs(f16, -fmax(f16), 1e1); | ||
| 161 | try testArgs(f16, -fmax(f16), fmax(f16)); | ||
| 162 | try testArgs(f16, -fmax(f16), inf(f16)); | ||
| 163 | try testArgs(f16, -fmax(f16), nan(f16)); | ||
| 164 | |||
| 165 | try testArgs(f16, -1e1, -nan(f16)); | ||
| 166 | try testArgs(f16, -1e1, -inf(f16)); | ||
| 167 | try testArgs(f16, -1e1, -fmax(f16)); | ||
| 168 | try testArgs(f16, -1e1, -1e1); | ||
| 169 | try testArgs(f16, -1e1, -1e0); | ||
| 170 | try testArgs(f16, -1e1, -1e-1); | ||
| 171 | try testArgs(f16, -1e1, -fmin(f16)); | ||
| 172 | try testArgs(f16, -1e1, -tmin(f16)); | ||
| 173 | try testArgs(f16, -1e1, -0.0); | ||
| 174 | try testArgs(f16, -1e1, 0.0); | ||
| 175 | try testArgs(f16, -1e1, tmin(f16)); | ||
| 176 | try testArgs(f16, -1e1, fmin(f16)); | ||
| 177 | try testArgs(f16, -1e1, 1e-1); | ||
| 178 | try testArgs(f16, -1e1, 1e0); | ||
| 179 | try testArgs(f16, -1e1, 1e1); | ||
| 180 | try testArgs(f16, -1e1, fmax(f16)); | ||
| 181 | try testArgs(f16, -1e1, inf(f16)); | ||
| 182 | try testArgs(f16, -1e1, nan(f16)); | ||
| 183 | |||
| 184 | try testArgs(f16, -1e0, -nan(f16)); | ||
| 185 | try testArgs(f16, -1e0, -inf(f16)); | ||
| 186 | try testArgs(f16, -1e0, -fmax(f16)); | ||
| 187 | try testArgs(f16, -1e0, -1e1); | ||
| 188 | try testArgs(f16, -1e0, -1e0); | ||
| 189 | try testArgs(f16, -1e0, -1e-1); | ||
| 190 | try testArgs(f16, -1e0, -fmin(f16)); | ||
| 191 | try testArgs(f16, -1e0, -tmin(f16)); | ||
| 192 | try testArgs(f16, -1e0, -0.0); | ||
| 193 | try testArgs(f16, -1e0, 0.0); | ||
| 194 | try testArgs(f16, -1e0, tmin(f16)); | ||
| 195 | try testArgs(f16, -1e0, fmin(f16)); | ||
| 196 | try testArgs(f16, -1e0, 1e-1); | ||
| 197 | try testArgs(f16, -1e0, 1e0); | ||
| 198 | try testArgs(f16, -1e0, 1e1); | ||
| 199 | try testArgs(f16, -1e0, fmax(f16)); | ||
| 200 | try testArgs(f16, -1e0, inf(f16)); | ||
| 201 | try testArgs(f16, -1e0, nan(f16)); | ||
| 202 | |||
| 203 | try testArgs(f16, -1e-1, -nan(f16)); | ||
| 204 | try testArgs(f16, -1e-1, -inf(f16)); | ||
| 205 | try testArgs(f16, -1e-1, -fmax(f16)); | ||
| 206 | try testArgs(f16, -1e-1, -1e1); | ||
| 207 | try testArgs(f16, -1e-1, -1e0); | ||
| 208 | try testArgs(f16, -1e-1, -1e-1); | ||
| 209 | try testArgs(f16, -1e-1, -fmin(f16)); | ||
| 210 | try testArgs(f16, -1e-1, -tmin(f16)); | ||
| 211 | try testArgs(f16, -1e-1, -0.0); | ||
| 212 | try testArgs(f16, -1e-1, 0.0); | ||
| 213 | try testArgs(f16, -1e-1, tmin(f16)); | ||
| 214 | try testArgs(f16, -1e-1, fmin(f16)); | ||
| 215 | try testArgs(f16, -1e-1, 1e-1); | ||
| 216 | try testArgs(f16, -1e-1, 1e0); | ||
| 217 | try testArgs(f16, -1e-1, 1e1); | ||
| 218 | try testArgs(f16, -1e-1, fmax(f16)); | ||
| 219 | try testArgs(f16, -1e-1, inf(f16)); | ||
| 220 | try testArgs(f16, -1e-1, nan(f16)); | ||
| 221 | |||
| 222 | try testArgs(f16, -fmin(f16), -nan(f16)); | ||
| 223 | try testArgs(f16, -fmin(f16), -inf(f16)); | ||
| 224 | try testArgs(f16, -fmin(f16), -fmax(f16)); | ||
| 225 | try testArgs(f16, -fmin(f16), -1e1); | ||
| 226 | try testArgs(f16, -fmin(f16), -1e0); | ||
| 227 | try testArgs(f16, -fmin(f16), -1e-1); | ||
| 228 | try testArgs(f16, -fmin(f16), -fmin(f16)); | ||
| 229 | try testArgs(f16, -fmin(f16), -tmin(f16)); | ||
| 230 | try testArgs(f16, -fmin(f16), -0.0); | ||
| 231 | try testArgs(f16, -fmin(f16), 0.0); | ||
| 232 | try testArgs(f16, -fmin(f16), tmin(f16)); | ||
| 233 | try testArgs(f16, -fmin(f16), fmin(f16)); | ||
| 234 | try testArgs(f16, -fmin(f16), 1e-1); | ||
| 235 | try testArgs(f16, -fmin(f16), 1e0); | ||
| 236 | try testArgs(f16, -fmin(f16), 1e1); | ||
| 237 | try testArgs(f16, -fmin(f16), fmax(f16)); | ||
| 238 | try testArgs(f16, -fmin(f16), inf(f16)); | ||
| 239 | try testArgs(f16, -fmin(f16), nan(f16)); | ||
| 240 | |||
| 241 | try testArgs(f16, -tmin(f16), -nan(f16)); | ||
| 242 | try testArgs(f16, -tmin(f16), -inf(f16)); | ||
| 243 | try testArgs(f16, -tmin(f16), -fmax(f16)); | ||
| 244 | try testArgs(f16, -tmin(f16), -1e1); | ||
| 245 | try testArgs(f16, -tmin(f16), -1e0); | ||
| 246 | try testArgs(f16, -tmin(f16), -1e-1); | ||
| 247 | try testArgs(f16, -tmin(f16), -fmin(f16)); | ||
| 248 | try testArgs(f16, -tmin(f16), -tmin(f16)); | ||
| 249 | try testArgs(f16, -tmin(f16), -0.0); | ||
| 250 | try testArgs(f16, -tmin(f16), 0.0); | ||
| 251 | try testArgs(f16, -tmin(f16), tmin(f16)); | ||
| 252 | try testArgs(f16, -tmin(f16), fmin(f16)); | ||
| 253 | try testArgs(f16, -tmin(f16), 1e-1); | ||
| 254 | try testArgs(f16, -tmin(f16), 1e0); | ||
| 255 | try testArgs(f16, -tmin(f16), 1e1); | ||
| 256 | try testArgs(f16, -tmin(f16), fmax(f16)); | ||
| 257 | try testArgs(f16, -tmin(f16), inf(f16)); | ||
| 258 | try testArgs(f16, -tmin(f16), nan(f16)); | ||
| 259 | |||
| 260 | try testArgs(f16, -0.0, -nan(f16)); | ||
| 261 | try testArgs(f16, -0.0, -inf(f16)); | ||
| 262 | try testArgs(f16, -0.0, -fmax(f16)); | ||
| 263 | try testArgs(f16, -0.0, -1e1); | ||
| 264 | try testArgs(f16, -0.0, -1e0); | ||
| 265 | try testArgs(f16, -0.0, -1e-1); | ||
| 266 | try testArgs(f16, -0.0, -fmin(f16)); | ||
| 267 | try testArgs(f16, -0.0, -tmin(f16)); | ||
| 268 | try testArgs(f16, -0.0, -0.0); | ||
| 269 | try testArgs(f16, -0.0, 0.0); | ||
| 270 | try testArgs(f16, -0.0, tmin(f16)); | ||
| 271 | try testArgs(f16, -0.0, fmin(f16)); | ||
| 272 | try testArgs(f16, -0.0, 1e-1); | ||
| 273 | try testArgs(f16, -0.0, 1e0); | ||
| 274 | try testArgs(f16, -0.0, 1e1); | ||
| 275 | try testArgs(f16, -0.0, fmax(f16)); | ||
| 276 | try testArgs(f16, -0.0, inf(f16)); | ||
| 277 | try testArgs(f16, -0.0, nan(f16)); | ||
| 278 | |||
| 279 | try testArgs(f16, 0.0, -nan(f16)); | ||
| 280 | try testArgs(f16, 0.0, -inf(f16)); | ||
| 281 | try testArgs(f16, 0.0, -fmax(f16)); | ||
| 282 | try testArgs(f16, 0.0, -1e1); | ||
| 283 | try testArgs(f16, 0.0, -1e0); | ||
| 284 | try testArgs(f16, 0.0, -1e-1); | ||
| 285 | try testArgs(f16, 0.0, -fmin(f16)); | ||
| 286 | try testArgs(f16, 0.0, -tmin(f16)); | ||
| 287 | try testArgs(f16, 0.0, -0.0); | ||
| 288 | try testArgs(f16, 0.0, 0.0); | ||
| 289 | try testArgs(f16, 0.0, tmin(f16)); | ||
| 290 | try testArgs(f16, 0.0, fmin(f16)); | ||
| 291 | try testArgs(f16, 0.0, 1e-1); | ||
| 292 | try testArgs(f16, 0.0, 1e0); | ||
| 293 | try testArgs(f16, 0.0, 1e1); | ||
| 294 | try testArgs(f16, 0.0, fmax(f16)); | ||
| 295 | try testArgs(f16, 0.0, inf(f16)); | ||
| 296 | try testArgs(f16, 0.0, nan(f16)); | ||
| 297 | |||
| 298 | try testArgs(f16, tmin(f16), -nan(f16)); | ||
| 299 | try testArgs(f16, tmin(f16), -inf(f16)); | ||
| 300 | try testArgs(f16, tmin(f16), -fmax(f16)); | ||
| 301 | try testArgs(f16, tmin(f16), -1e1); | ||
| 302 | try testArgs(f16, tmin(f16), -1e0); | ||
| 303 | try testArgs(f16, tmin(f16), -1e-1); | ||
| 304 | try testArgs(f16, tmin(f16), -fmin(f16)); | ||
| 305 | try testArgs(f16, tmin(f16), -tmin(f16)); | ||
| 306 | try testArgs(f16, tmin(f16), -0.0); | ||
| 307 | try testArgs(f16, tmin(f16), 0.0); | ||
| 308 | try testArgs(f16, tmin(f16), tmin(f16)); | ||
| 309 | try testArgs(f16, tmin(f16), fmin(f16)); | ||
| 310 | try testArgs(f16, tmin(f16), 1e-1); | ||
| 311 | try testArgs(f16, tmin(f16), 1e0); | ||
| 312 | try testArgs(f16, tmin(f16), 1e1); | ||
| 313 | try testArgs(f16, tmin(f16), fmax(f16)); | ||
| 314 | try testArgs(f16, tmin(f16), inf(f16)); | ||
| 315 | try testArgs(f16, tmin(f16), nan(f16)); | ||
| 316 | |||
| 317 | try testArgs(f16, fmin(f16), -nan(f16)); | ||
| 318 | try testArgs(f16, fmin(f16), -inf(f16)); | ||
| 319 | try testArgs(f16, fmin(f16), -fmax(f16)); | ||
| 320 | try testArgs(f16, fmin(f16), -1e1); | ||
| 321 | try testArgs(f16, fmin(f16), -1e0); | ||
| 322 | try testArgs(f16, fmin(f16), -1e-1); | ||
| 323 | try testArgs(f16, fmin(f16), -fmin(f16)); | ||
| 324 | try testArgs(f16, fmin(f16), -tmin(f16)); | ||
| 325 | try testArgs(f16, fmin(f16), -0.0); | ||
| 326 | try testArgs(f16, fmin(f16), 0.0); | ||
| 327 | try testArgs(f16, fmin(f16), tmin(f16)); | ||
| 328 | try testArgs(f16, fmin(f16), fmin(f16)); | ||
| 329 | try testArgs(f16, fmin(f16), 1e-1); | ||
| 330 | try testArgs(f16, fmin(f16), 1e0); | ||
| 331 | try testArgs(f16, fmin(f16), 1e1); | ||
| 332 | try testArgs(f16, fmin(f16), fmax(f16)); | ||
| 333 | try testArgs(f16, fmin(f16), inf(f16)); | ||
| 334 | try testArgs(f16, fmin(f16), nan(f16)); | ||
| 335 | |||
| 336 | try testArgs(f16, 1e-1, -nan(f16)); | ||
| 337 | try testArgs(f16, 1e-1, -inf(f16)); | ||
| 338 | try testArgs(f16, 1e-1, -fmax(f16)); | ||
| 339 | try testArgs(f16, 1e-1, -1e1); | ||
| 340 | try testArgs(f16, 1e-1, -1e0); | ||
| 341 | try testArgs(f16, 1e-1, -1e-1); | ||
| 342 | try testArgs(f16, 1e-1, -fmin(f16)); | ||
| 343 | try testArgs(f16, 1e-1, -tmin(f16)); | ||
| 344 | try testArgs(f16, 1e-1, -0.0); | ||
| 345 | try testArgs(f16, 1e-1, 0.0); | ||
| 346 | try testArgs(f16, 1e-1, tmin(f16)); | ||
| 347 | try testArgs(f16, 1e-1, fmin(f16)); | ||
| 348 | try testArgs(f16, 1e-1, 1e-1); | ||
| 349 | try testArgs(f16, 1e-1, 1e0); | ||
| 350 | try testArgs(f16, 1e-1, 1e1); | ||
| 351 | try testArgs(f16, 1e-1, fmax(f16)); | ||
| 352 | try testArgs(f16, 1e-1, inf(f16)); | ||
| 353 | try testArgs(f16, 1e-1, nan(f16)); | ||
| 354 | |||
| 355 | try testArgs(f16, 1e0, -nan(f16)); | ||
| 356 | try testArgs(f16, 1e0, -inf(f16)); | ||
| 357 | try testArgs(f16, 1e0, -fmax(f16)); | ||
| 358 | try testArgs(f16, 1e0, -1e1); | ||
| 359 | try testArgs(f16, 1e0, -1e0); | ||
| 360 | try testArgs(f16, 1e0, -1e-1); | ||
| 361 | try testArgs(f16, 1e0, -fmin(f16)); | ||
| 362 | try testArgs(f16, 1e0, -tmin(f16)); | ||
| 363 | try testArgs(f16, 1e0, -0.0); | ||
| 364 | try testArgs(f16, 1e0, 0.0); | ||
| 365 | try testArgs(f16, 1e0, tmin(f16)); | ||
| 366 | try testArgs(f16, 1e0, fmin(f16)); | ||
| 367 | try testArgs(f16, 1e0, 1e-1); | ||
| 368 | try testArgs(f16, 1e0, 1e0); | ||
| 369 | try testArgs(f16, 1e0, 1e1); | ||
| 370 | try testArgs(f16, 1e0, fmax(f16)); | ||
| 371 | try testArgs(f16, 1e0, inf(f16)); | ||
| 372 | try testArgs(f16, 1e0, nan(f16)); | ||
| 373 | |||
| 374 | try testArgs(f16, 1e1, -nan(f16)); | ||
| 375 | try testArgs(f16, 1e1, -inf(f16)); | ||
| 376 | try testArgs(f16, 1e1, -fmax(f16)); | ||
| 377 | try testArgs(f16, 1e1, -1e1); | ||
| 378 | try testArgs(f16, 1e1, -1e0); | ||
| 379 | try testArgs(f16, 1e1, -1e-1); | ||
| 380 | try testArgs(f16, 1e1, -fmin(f16)); | ||
| 381 | try testArgs(f16, 1e1, -tmin(f16)); | ||
| 382 | try testArgs(f16, 1e1, -0.0); | ||
| 383 | try testArgs(f16, 1e1, 0.0); | ||
| 384 | try testArgs(f16, 1e1, tmin(f16)); | ||
| 385 | try testArgs(f16, 1e1, fmin(f16)); | ||
| 386 | try testArgs(f16, 1e1, 1e-1); | ||
| 387 | try testArgs(f16, 1e1, 1e0); | ||
| 388 | try testArgs(f16, 1e1, 1e1); | ||
| 389 | try testArgs(f16, 1e1, fmax(f16)); | ||
| 390 | try testArgs(f16, 1e1, inf(f16)); | ||
| 391 | try testArgs(f16, 1e1, nan(f16)); | ||
| 392 | |||
| 393 | try testArgs(f16, fmax(f16), -nan(f16)); | ||
| 394 | try testArgs(f16, fmax(f16), -inf(f16)); | ||
| 395 | try testArgs(f16, fmax(f16), -fmax(f16)); | ||
| 396 | try testArgs(f16, fmax(f16), -1e1); | ||
| 397 | try testArgs(f16, fmax(f16), -1e0); | ||
| 398 | try testArgs(f16, fmax(f16), -1e-1); | ||
| 399 | try testArgs(f16, fmax(f16), -fmin(f16)); | ||
| 400 | try testArgs(f16, fmax(f16), -tmin(f16)); | ||
| 401 | try testArgs(f16, fmax(f16), -0.0); | ||
| 402 | try testArgs(f16, fmax(f16), 0.0); | ||
| 403 | try testArgs(f16, fmax(f16), tmin(f16)); | ||
| 404 | try testArgs(f16, fmax(f16), fmin(f16)); | ||
| 405 | try testArgs(f16, fmax(f16), 1e-1); | ||
| 406 | try testArgs(f16, fmax(f16), 1e0); | ||
| 407 | try testArgs(f16, fmax(f16), 1e1); | ||
| 408 | try testArgs(f16, fmax(f16), fmax(f16)); | ||
| 409 | try testArgs(f16, fmax(f16), inf(f16)); | ||
| 410 | try testArgs(f16, fmax(f16), nan(f16)); | ||
| 411 | |||
| 412 | try testArgs(f16, inf(f16), -nan(f16)); | ||
| 413 | try testArgs(f16, inf(f16), -inf(f16)); | ||
| 414 | try testArgs(f16, inf(f16), -fmax(f16)); | ||
| 415 | try testArgs(f16, inf(f16), -1e1); | ||
| 416 | try testArgs(f16, inf(f16), -1e0); | ||
| 417 | try testArgs(f16, inf(f16), -1e-1); | ||
| 418 | try testArgs(f16, inf(f16), -fmin(f16)); | ||
| 419 | try testArgs(f16, inf(f16), -tmin(f16)); | ||
| 420 | try testArgs(f16, inf(f16), -0.0); | ||
| 421 | try testArgs(f16, inf(f16), 0.0); | ||
| 422 | try testArgs(f16, inf(f16), tmin(f16)); | ||
| 423 | try testArgs(f16, inf(f16), fmin(f16)); | ||
| 424 | try testArgs(f16, inf(f16), 1e-1); | ||
| 425 | try testArgs(f16, inf(f16), 1e0); | ||
| 426 | try testArgs(f16, inf(f16), 1e1); | ||
| 427 | try testArgs(f16, inf(f16), fmax(f16)); | ||
| 428 | try testArgs(f16, inf(f16), inf(f16)); | ||
| 429 | try testArgs(f16, inf(f16), nan(f16)); | ||
| 430 | |||
| 431 | try testArgs(f16, nan(f16), -nan(f16)); | ||
| 432 | try testArgs(f16, nan(f16), -inf(f16)); | ||
| 433 | try testArgs(f16, nan(f16), -fmax(f16)); | ||
| 434 | try testArgs(f16, nan(f16), -1e1); | ||
| 435 | try testArgs(f16, nan(f16), -1e0); | ||
| 436 | try testArgs(f16, nan(f16), -1e-1); | ||
| 437 | try testArgs(f16, nan(f16), -fmin(f16)); | ||
| 438 | try testArgs(f16, nan(f16), -tmin(f16)); | ||
| 439 | try testArgs(f16, nan(f16), -0.0); | ||
| 440 | try testArgs(f16, nan(f16), 0.0); | ||
| 441 | try testArgs(f16, nan(f16), tmin(f16)); | ||
| 442 | try testArgs(f16, nan(f16), fmin(f16)); | ||
| 443 | try testArgs(f16, nan(f16), 1e-1); | ||
| 444 | try testArgs(f16, nan(f16), 1e0); | ||
| 445 | try testArgs(f16, nan(f16), 1e1); | ||
| 446 | try testArgs(f16, nan(f16), fmax(f16)); | ||
| 447 | try testArgs(f16, nan(f16), inf(f16)); | ||
| 448 | try testArgs(f16, nan(f16), nan(f16)); | ||
| 449 | |||
| 450 | try testArgs(f32, -nan(f32), -nan(f32)); | ||
| 451 | try testArgs(f32, -nan(f32), -inf(f32)); | ||
| 452 | try testArgs(f32, -nan(f32), -fmax(f32)); | ||
| 453 | try testArgs(f32, -nan(f32), -1e1); | ||
| 454 | try testArgs(f32, -nan(f32), -1e0); | ||
| 455 | try testArgs(f32, -nan(f32), -1e-1); | ||
| 456 | try testArgs(f32, -nan(f32), -fmin(f32)); | ||
| 457 | try testArgs(f32, -nan(f32), -tmin(f32)); | ||
| 458 | try testArgs(f32, -nan(f32), -0.0); | ||
| 459 | try testArgs(f32, -nan(f32), 0.0); | ||
| 460 | try testArgs(f32, -nan(f32), tmin(f32)); | ||
| 461 | try testArgs(f32, -nan(f32), fmin(f32)); | ||
| 462 | try testArgs(f32, -nan(f32), 1e-1); | ||
| 463 | try testArgs(f32, -nan(f32), 1e0); | ||
| 464 | try testArgs(f32, -nan(f32), 1e1); | ||
| 465 | try testArgs(f32, -nan(f32), fmax(f32)); | ||
| 466 | try testArgs(f32, -nan(f32), inf(f32)); | ||
| 467 | try testArgs(f32, -nan(f32), nan(f32)); | ||
| 468 | |||
| 469 | try testArgs(f32, -inf(f32), -nan(f32)); | ||
| 470 | try testArgs(f32, -inf(f32), -inf(f32)); | ||
| 471 | try testArgs(f32, -inf(f32), -fmax(f32)); | ||
| 472 | try testArgs(f32, -inf(f32), -1e1); | ||
| 473 | try testArgs(f32, -inf(f32), -1e0); | ||
| 474 | try testArgs(f32, -inf(f32), -1e-1); | ||
| 475 | try testArgs(f32, -inf(f32), -fmin(f32)); | ||
| 476 | try testArgs(f32, -inf(f32), -tmin(f32)); | ||
| 477 | try testArgs(f32, -inf(f32), -0.0); | ||
| 478 | try testArgs(f32, -inf(f32), 0.0); | ||
| 479 | try testArgs(f32, -inf(f32), tmin(f32)); | ||
| 480 | try testArgs(f32, -inf(f32), fmin(f32)); | ||
| 481 | try testArgs(f32, -inf(f32), 1e-1); | ||
| 482 | try testArgs(f32, -inf(f32), 1e0); | ||
| 483 | try testArgs(f32, -inf(f32), 1e1); | ||
| 484 | try testArgs(f32, -inf(f32), fmax(f32)); | ||
| 485 | try testArgs(f32, -inf(f32), inf(f32)); | ||
| 486 | try testArgs(f32, -inf(f32), nan(f32)); | ||
| 487 | |||
| 488 | try testArgs(f32, -fmax(f32), -nan(f32)); | ||
| 489 | try testArgs(f32, -fmax(f32), -inf(f32)); | ||
| 490 | try testArgs(f32, -fmax(f32), -fmax(f32)); | ||
| 491 | try testArgs(f32, -fmax(f32), -1e1); | ||
| 492 | try testArgs(f32, -fmax(f32), -1e0); | ||
| 493 | try testArgs(f32, -fmax(f32), -1e-1); | ||
| 494 | try testArgs(f32, -fmax(f32), -fmin(f32)); | ||
| 495 | try testArgs(f32, -fmax(f32), -tmin(f32)); | ||
| 496 | try testArgs(f32, -fmax(f32), -0.0); | ||
| 497 | try testArgs(f32, -fmax(f32), 0.0); | ||
| 498 | try testArgs(f32, -fmax(f32), tmin(f32)); | ||
| 499 | try testArgs(f32, -fmax(f32), fmin(f32)); | ||
| 500 | try testArgs(f32, -fmax(f32), 1e-1); | ||
| 501 | try testArgs(f32, -fmax(f32), 1e0); | ||
| 502 | try testArgs(f32, -fmax(f32), 1e1); | ||
| 503 | try testArgs(f32, -fmax(f32), fmax(f32)); | ||
| 504 | try testArgs(f32, -fmax(f32), inf(f32)); | ||
| 505 | try testArgs(f32, -fmax(f32), nan(f32)); | ||
| 506 | |||
| 507 | try testArgs(f32, -1e1, -nan(f32)); | ||
| 508 | try testArgs(f32, -1e1, -inf(f32)); | ||
| 509 | try testArgs(f32, -1e1, -fmax(f32)); | ||
| 510 | try testArgs(f32, -1e1, -1e1); | ||
| 511 | try testArgs(f32, -1e1, -1e0); | ||
| 512 | try testArgs(f32, -1e1, -1e-1); | ||
| 513 | try testArgs(f32, -1e1, -fmin(f32)); | ||
| 514 | try testArgs(f32, -1e1, -tmin(f32)); | ||
| 515 | try testArgs(f32, -1e1, -0.0); | ||
| 516 | try testArgs(f32, -1e1, 0.0); | ||
| 517 | try testArgs(f32, -1e1, tmin(f32)); | ||
| 518 | try testArgs(f32, -1e1, fmin(f32)); | ||
| 519 | try testArgs(f32, -1e1, 1e-1); | ||
| 520 | try testArgs(f32, -1e1, 1e0); | ||
| 521 | try testArgs(f32, -1e1, 1e1); | ||
| 522 | try testArgs(f32, -1e1, fmax(f32)); | ||
| 523 | try testArgs(f32, -1e1, inf(f32)); | ||
| 524 | try testArgs(f32, -1e1, nan(f32)); | ||
| 525 | |||
| 526 | try testArgs(f32, -1e0, -nan(f32)); | ||
| 527 | try testArgs(f32, -1e0, -inf(f32)); | ||
| 528 | try testArgs(f32, -1e0, -fmax(f32)); | ||
| 529 | try testArgs(f32, -1e0, -1e1); | ||
| 530 | try testArgs(f32, -1e0, -1e0); | ||
| 531 | try testArgs(f32, -1e0, -1e-1); | ||
| 532 | try testArgs(f32, -1e0, -fmin(f32)); | ||
| 533 | try testArgs(f32, -1e0, -tmin(f32)); | ||
| 534 | try testArgs(f32, -1e0, -0.0); | ||
| 535 | try testArgs(f32, -1e0, 0.0); | ||
| 536 | try testArgs(f32, -1e0, tmin(f32)); | ||
| 537 | try testArgs(f32, -1e0, fmin(f32)); | ||
| 538 | try testArgs(f32, -1e0, 1e-1); | ||
| 539 | try testArgs(f32, -1e0, 1e0); | ||
| 540 | try testArgs(f32, -1e0, 1e1); | ||
| 541 | try testArgs(f32, -1e0, fmax(f32)); | ||
| 542 | try testArgs(f32, -1e0, inf(f32)); | ||
| 543 | try testArgs(f32, -1e0, nan(f32)); | ||
| 544 | |||
| 545 | try testArgs(f32, -1e-1, -nan(f32)); | ||
| 546 | try testArgs(f32, -1e-1, -inf(f32)); | ||
| 547 | try testArgs(f32, -1e-1, -fmax(f32)); | ||
| 548 | try testArgs(f32, -1e-1, -1e1); | ||
| 549 | try testArgs(f32, -1e-1, -1e0); | ||
| 550 | try testArgs(f32, -1e-1, -1e-1); | ||
| 551 | try testArgs(f32, -1e-1, -fmin(f32)); | ||
| 552 | try testArgs(f32, -1e-1, -tmin(f32)); | ||
| 553 | try testArgs(f32, -1e-1, -0.0); | ||
| 554 | try testArgs(f32, -1e-1, 0.0); | ||
| 555 | try testArgs(f32, -1e-1, tmin(f32)); | ||
| 556 | try testArgs(f32, -1e-1, fmin(f32)); | ||
| 557 | try testArgs(f32, -1e-1, 1e-1); | ||
| 558 | try testArgs(f32, -1e-1, 1e0); | ||
| 559 | try testArgs(f32, -1e-1, 1e1); | ||
| 560 | try testArgs(f32, -1e-1, fmax(f32)); | ||
| 561 | try testArgs(f32, -1e-1, inf(f32)); | ||
| 562 | try testArgs(f32, -1e-1, nan(f32)); | ||
| 563 | |||
| 564 | try testArgs(f32, -fmin(f32), -nan(f32)); | ||
| 565 | try testArgs(f32, -fmin(f32), -inf(f32)); | ||
| 566 | try testArgs(f32, -fmin(f32), -fmax(f32)); | ||
| 567 | try testArgs(f32, -fmin(f32), -1e1); | ||
| 568 | try testArgs(f32, -fmin(f32), -1e0); | ||
| 569 | try testArgs(f32, -fmin(f32), -1e-1); | ||
| 570 | try testArgs(f32, -fmin(f32), -fmin(f32)); | ||
| 571 | try testArgs(f32, -fmin(f32), -tmin(f32)); | ||
| 572 | try testArgs(f32, -fmin(f32), -0.0); | ||
| 573 | try testArgs(f32, -fmin(f32), 0.0); | ||
| 574 | try testArgs(f32, -fmin(f32), tmin(f32)); | ||
| 575 | try testArgs(f32, -fmin(f32), fmin(f32)); | ||
| 576 | try testArgs(f32, -fmin(f32), 1e-1); | ||
| 577 | try testArgs(f32, -fmin(f32), 1e0); | ||
| 578 | try testArgs(f32, -fmin(f32), 1e1); | ||
| 579 | try testArgs(f32, -fmin(f32), fmax(f32)); | ||
| 580 | try testArgs(f32, -fmin(f32), inf(f32)); | ||
| 581 | try testArgs(f32, -fmin(f32), nan(f32)); | ||
| 582 | |||
| 583 | try testArgs(f32, -tmin(f32), -nan(f32)); | ||
| 584 | try testArgs(f32, -tmin(f32), -inf(f32)); | ||
| 585 | try testArgs(f32, -tmin(f32), -fmax(f32)); | ||
| 586 | try testArgs(f32, -tmin(f32), -1e1); | ||
| 587 | try testArgs(f32, -tmin(f32), -1e0); | ||
| 588 | try testArgs(f32, -tmin(f32), -1e-1); | ||
| 589 | try testArgs(f32, -tmin(f32), -fmin(f32)); | ||
| 590 | try testArgs(f32, -tmin(f32), -tmin(f32)); | ||
| 591 | try testArgs(f32, -tmin(f32), -0.0); | ||
| 592 | try testArgs(f32, -tmin(f32), 0.0); | ||
| 593 | try testArgs(f32, -tmin(f32), tmin(f32)); | ||
| 594 | try testArgs(f32, -tmin(f32), fmin(f32)); | ||
| 595 | try testArgs(f32, -tmin(f32), 1e-1); | ||
| 596 | try testArgs(f32, -tmin(f32), 1e0); | ||
| 597 | try testArgs(f32, -tmin(f32), 1e1); | ||
| 598 | try testArgs(f32, -tmin(f32), fmax(f32)); | ||
| 599 | try testArgs(f32, -tmin(f32), inf(f32)); | ||
| 600 | try testArgs(f32, -tmin(f32), nan(f32)); | ||
| 601 | |||
| 602 | try testArgs(f32, -0.0, -nan(f32)); | ||
| 603 | try testArgs(f32, -0.0, -inf(f32)); | ||
| 604 | try testArgs(f32, -0.0, -fmax(f32)); | ||
| 605 | try testArgs(f32, -0.0, -1e1); | ||
| 606 | try testArgs(f32, -0.0, -1e0); | ||
| 607 | try testArgs(f32, -0.0, -1e-1); | ||
| 608 | try testArgs(f32, -0.0, -fmin(f32)); | ||
| 609 | try testArgs(f32, -0.0, -tmin(f32)); | ||
| 610 | try testArgs(f32, -0.0, -0.0); | ||
| 611 | try testArgs(f32, -0.0, 0.0); | ||
| 612 | try testArgs(f32, -0.0, tmin(f32)); | ||
| 613 | try testArgs(f32, -0.0, fmin(f32)); | ||
| 614 | try testArgs(f32, -0.0, 1e-1); | ||
| 615 | try testArgs(f32, -0.0, 1e0); | ||
| 616 | try testArgs(f32, -0.0, 1e1); | ||
| 617 | try testArgs(f32, -0.0, fmax(f32)); | ||
| 618 | try testArgs(f32, -0.0, inf(f32)); | ||
| 619 | try testArgs(f32, -0.0, nan(f32)); | ||
| 620 | |||
| 621 | try testArgs(f32, 0.0, -nan(f32)); | ||
| 622 | try testArgs(f32, 0.0, -inf(f32)); | ||
| 623 | try testArgs(f32, 0.0, -fmax(f32)); | ||
| 624 | try testArgs(f32, 0.0, -1e1); | ||
| 625 | try testArgs(f32, 0.0, -1e0); | ||
| 626 | try testArgs(f32, 0.0, -1e-1); | ||
| 627 | try testArgs(f32, 0.0, -fmin(f32)); | ||
| 628 | try testArgs(f32, 0.0, -tmin(f32)); | ||
| 629 | try testArgs(f32, 0.0, -0.0); | ||
| 630 | try testArgs(f32, 0.0, 0.0); | ||
| 631 | try testArgs(f32, 0.0, tmin(f32)); | ||
| 632 | try testArgs(f32, 0.0, fmin(f32)); | ||
| 633 | try testArgs(f32, 0.0, 1e-1); | ||
| 634 | try testArgs(f32, 0.0, 1e0); | ||
| 635 | try testArgs(f32, 0.0, 1e1); | ||
| 636 | try testArgs(f32, 0.0, fmax(f32)); | ||
| 637 | try testArgs(f32, 0.0, inf(f32)); | ||
| 638 | try testArgs(f32, 0.0, nan(f32)); | ||
| 639 | |||
| 640 | try testArgs(f32, tmin(f32), -nan(f32)); | ||
| 641 | try testArgs(f32, tmin(f32), -inf(f32)); | ||
| 642 | try testArgs(f32, tmin(f32), -fmax(f32)); | ||
| 643 | try testArgs(f32, tmin(f32), -1e1); | ||
| 644 | try testArgs(f32, tmin(f32), -1e0); | ||
| 645 | try testArgs(f32, tmin(f32), -1e-1); | ||
| 646 | try testArgs(f32, tmin(f32), -fmin(f32)); | ||
| 647 | try testArgs(f32, tmin(f32), -tmin(f32)); | ||
| 648 | try testArgs(f32, tmin(f32), -0.0); | ||
| 649 | try testArgs(f32, tmin(f32), 0.0); | ||
| 650 | try testArgs(f32, tmin(f32), tmin(f32)); | ||
| 651 | try testArgs(f32, tmin(f32), fmin(f32)); | ||
| 652 | try testArgs(f32, tmin(f32), 1e-1); | ||
| 653 | try testArgs(f32, tmin(f32), 1e0); | ||
| 654 | try testArgs(f32, tmin(f32), 1e1); | ||
| 655 | try testArgs(f32, tmin(f32), fmax(f32)); | ||
| 656 | try testArgs(f32, tmin(f32), inf(f32)); | ||
| 657 | try testArgs(f32, tmin(f32), nan(f32)); | ||
| 658 | |||
| 659 | try testArgs(f32, fmin(f32), -nan(f32)); | ||
| 660 | try testArgs(f32, fmin(f32), -inf(f32)); | ||
| 661 | try testArgs(f32, fmin(f32), -fmax(f32)); | ||
| 662 | try testArgs(f32, fmin(f32), -1e1); | ||
| 663 | try testArgs(f32, fmin(f32), -1e0); | ||
| 664 | try testArgs(f32, fmin(f32), -1e-1); | ||
| 665 | try testArgs(f32, fmin(f32), -fmin(f32)); | ||
| 666 | try testArgs(f32, fmin(f32), -tmin(f32)); | ||
| 667 | try testArgs(f32, fmin(f32), -0.0); | ||
| 668 | try testArgs(f32, fmin(f32), 0.0); | ||
| 669 | try testArgs(f32, fmin(f32), tmin(f32)); | ||
| 670 | try testArgs(f32, fmin(f32), fmin(f32)); | ||
| 671 | try testArgs(f32, fmin(f32), 1e-1); | ||
| 672 | try testArgs(f32, fmin(f32), 1e0); | ||
| 673 | try testArgs(f32, fmin(f32), 1e1); | ||
| 674 | try testArgs(f32, fmin(f32), fmax(f32)); | ||
| 675 | try testArgs(f32, fmin(f32), inf(f32)); | ||
| 676 | try testArgs(f32, fmin(f32), nan(f32)); | ||
| 677 | |||
| 678 | try testArgs(f32, 1e-1, -nan(f32)); | ||
| 679 | try testArgs(f32, 1e-1, -inf(f32)); | ||
| 680 | try testArgs(f32, 1e-1, -fmax(f32)); | ||
| 681 | try testArgs(f32, 1e-1, -1e1); | ||
| 682 | try testArgs(f32, 1e-1, -1e0); | ||
| 683 | try testArgs(f32, 1e-1, -1e-1); | ||
| 684 | try testArgs(f32, 1e-1, -fmin(f32)); | ||
| 685 | try testArgs(f32, 1e-1, -tmin(f32)); | ||
| 686 | try testArgs(f32, 1e-1, -0.0); | ||
| 687 | try testArgs(f32, 1e-1, 0.0); | ||
| 688 | try testArgs(f32, 1e-1, tmin(f32)); | ||
| 689 | try testArgs(f32, 1e-1, fmin(f32)); | ||
| 690 | try testArgs(f32, 1e-1, 1e-1); | ||
| 691 | try testArgs(f32, 1e-1, 1e0); | ||
| 692 | try testArgs(f32, 1e-1, 1e1); | ||
| 693 | try testArgs(f32, 1e-1, fmax(f32)); | ||
| 694 | try testArgs(f32, 1e-1, inf(f32)); | ||
| 695 | try testArgs(f32, 1e-1, nan(f32)); | ||
| 696 | |||
| 697 | try testArgs(f32, 1e0, -nan(f32)); | ||
| 698 | try testArgs(f32, 1e0, -inf(f32)); | ||
| 699 | try testArgs(f32, 1e0, -fmax(f32)); | ||
| 700 | try testArgs(f32, 1e0, -1e1); | ||
| 701 | try testArgs(f32, 1e0, -1e0); | ||
| 702 | try testArgs(f32, 1e0, -1e-1); | ||
| 703 | try testArgs(f32, 1e0, -fmin(f32)); | ||
| 704 | try testArgs(f32, 1e0, -tmin(f32)); | ||
| 705 | try testArgs(f32, 1e0, -0.0); | ||
| 706 | try testArgs(f32, 1e0, 0.0); | ||
| 707 | try testArgs(f32, 1e0, tmin(f32)); | ||
| 708 | try testArgs(f32, 1e0, fmin(f32)); | ||
| 709 | try testArgs(f32, 1e0, 1e-1); | ||
| 710 | try testArgs(f32, 1e0, 1e0); | ||
| 711 | try testArgs(f32, 1e0, 1e1); | ||
| 712 | try testArgs(f32, 1e0, fmax(f32)); | ||
| 713 | try testArgs(f32, 1e0, inf(f32)); | ||
| 714 | try testArgs(f32, 1e0, nan(f32)); | ||
| 715 | |||
| 716 | try testArgs(f32, 1e1, -nan(f32)); | ||
| 717 | try testArgs(f32, 1e1, -inf(f32)); | ||
| 718 | try testArgs(f32, 1e1, -fmax(f32)); | ||
| 719 | try testArgs(f32, 1e1, -1e1); | ||
| 720 | try testArgs(f32, 1e1, -1e0); | ||
| 721 | try testArgs(f32, 1e1, -1e-1); | ||
| 722 | try testArgs(f32, 1e1, -fmin(f32)); | ||
| 723 | try testArgs(f32, 1e1, -tmin(f32)); | ||
| 724 | try testArgs(f32, 1e1, -0.0); | ||
| 725 | try testArgs(f32, 1e1, 0.0); | ||
| 726 | try testArgs(f32, 1e1, tmin(f32)); | ||
| 727 | try testArgs(f32, 1e1, fmin(f32)); | ||
| 728 | try testArgs(f32, 1e1, 1e-1); | ||
| 729 | try testArgs(f32, 1e1, 1e0); | ||
| 730 | try testArgs(f32, 1e1, 1e1); | ||
| 731 | try testArgs(f32, 1e1, fmax(f32)); | ||
| 732 | try testArgs(f32, 1e1, inf(f32)); | ||
| 733 | try testArgs(f32, 1e1, nan(f32)); | ||
| 734 | |||
| 735 | try testArgs(f32, fmax(f32), -nan(f32)); | ||
| 736 | try testArgs(f32, fmax(f32), -inf(f32)); | ||
| 737 | try testArgs(f32, fmax(f32), -fmax(f32)); | ||
| 738 | try testArgs(f32, fmax(f32), -1e1); | ||
| 739 | try testArgs(f32, fmax(f32), -1e0); | ||
| 740 | try testArgs(f32, fmax(f32), -1e-1); | ||
| 741 | try testArgs(f32, fmax(f32), -fmin(f32)); | ||
| 742 | try testArgs(f32, fmax(f32), -tmin(f32)); | ||
| 743 | try testArgs(f32, fmax(f32), -0.0); | ||
| 744 | try testArgs(f32, fmax(f32), 0.0); | ||
| 745 | try testArgs(f32, fmax(f32), tmin(f32)); | ||
| 746 | try testArgs(f32, fmax(f32), fmin(f32)); | ||
| 747 | try testArgs(f32, fmax(f32), 1e-1); | ||
| 748 | try testArgs(f32, fmax(f32), 1e0); | ||
| 749 | try testArgs(f32, fmax(f32), 1e1); | ||
| 750 | try testArgs(f32, fmax(f32), fmax(f32)); | ||
| 751 | try testArgs(f32, fmax(f32), inf(f32)); | ||
| 752 | try testArgs(f32, fmax(f32), nan(f32)); | ||
| 753 | |||
| 754 | try testArgs(f32, inf(f32), -nan(f32)); | ||
| 755 | try testArgs(f32, inf(f32), -inf(f32)); | ||
| 756 | try testArgs(f32, inf(f32), -fmax(f32)); | ||
| 757 | try testArgs(f32, inf(f32), -1e1); | ||
| 758 | try testArgs(f32, inf(f32), -1e0); | ||
| 759 | try testArgs(f32, inf(f32), -1e-1); | ||
| 760 | try testArgs(f32, inf(f32), -fmin(f32)); | ||
| 761 | try testArgs(f32, inf(f32), -tmin(f32)); | ||
| 762 | try testArgs(f32, inf(f32), -0.0); | ||
| 763 | try testArgs(f32, inf(f32), 0.0); | ||
| 764 | try testArgs(f32, inf(f32), tmin(f32)); | ||
| 765 | try testArgs(f32, inf(f32), fmin(f32)); | ||
| 766 | try testArgs(f32, inf(f32), 1e-1); | ||
| 767 | try testArgs(f32, inf(f32), 1e0); | ||
| 768 | try testArgs(f32, inf(f32), 1e1); | ||
| 769 | try testArgs(f32, inf(f32), fmax(f32)); | ||
| 770 | try testArgs(f32, inf(f32), inf(f32)); | ||
| 771 | try testArgs(f32, inf(f32), nan(f32)); | ||
| 772 | |||
| 773 | try testArgs(f32, nan(f32), -nan(f32)); | ||
| 774 | try testArgs(f32, nan(f32), -inf(f32)); | ||
| 775 | try testArgs(f32, nan(f32), -fmax(f32)); | ||
| 776 | try testArgs(f32, nan(f32), -1e1); | ||
| 777 | try testArgs(f32, nan(f32), -1e0); | ||
| 778 | try testArgs(f32, nan(f32), -1e-1); | ||
| 779 | try testArgs(f32, nan(f32), -fmin(f32)); | ||
| 780 | try testArgs(f32, nan(f32), -tmin(f32)); | ||
| 781 | try testArgs(f32, nan(f32), -0.0); | ||
| 782 | try testArgs(f32, nan(f32), 0.0); | ||
| 783 | try testArgs(f32, nan(f32), tmin(f32)); | ||
| 784 | try testArgs(f32, nan(f32), fmin(f32)); | ||
| 785 | try testArgs(f32, nan(f32), 1e-1); | ||
| 786 | try testArgs(f32, nan(f32), 1e0); | ||
| 787 | try testArgs(f32, nan(f32), 1e1); | ||
| 788 | try testArgs(f32, nan(f32), fmax(f32)); | ||
| 789 | try testArgs(f32, nan(f32), inf(f32)); | ||
| 790 | try testArgs(f32, nan(f32), nan(f32)); | ||
| 791 | |||
| 792 | try testArgs(f64, -nan(f64), -nan(f64)); | ||
| 793 | try testArgs(f64, -nan(f64), -inf(f64)); | ||
| 794 | try testArgs(f64, -nan(f64), -fmax(f64)); | ||
| 795 | try testArgs(f64, -nan(f64), -1e1); | ||
| 796 | try testArgs(f64, -nan(f64), -1e0); | ||
| 797 | try testArgs(f64, -nan(f64), -1e-1); | ||
| 798 | try testArgs(f64, -nan(f64), -fmin(f64)); | ||
| 799 | try testArgs(f64, -nan(f64), -tmin(f64)); | ||
| 800 | try testArgs(f64, -nan(f64), -0.0); | ||
| 801 | try testArgs(f64, -nan(f64), 0.0); | ||
| 802 | try testArgs(f64, -nan(f64), tmin(f64)); | ||
| 803 | try testArgs(f64, -nan(f64), fmin(f64)); | ||
| 804 | try testArgs(f64, -nan(f64), 1e-1); | ||
| 805 | try testArgs(f64, -nan(f64), 1e0); | ||
| 806 | try testArgs(f64, -nan(f64), 1e1); | ||
| 807 | try testArgs(f64, -nan(f64), fmax(f64)); | ||
| 808 | try testArgs(f64, -nan(f64), inf(f64)); | ||
| 809 | try testArgs(f64, -nan(f64), nan(f64)); | ||
| 810 | |||
| 811 | try testArgs(f64, -inf(f64), -nan(f64)); | ||
| 812 | try testArgs(f64, -inf(f64), -inf(f64)); | ||
| 813 | try testArgs(f64, -inf(f64), -fmax(f64)); | ||
| 814 | try testArgs(f64, -inf(f64), -1e1); | ||
| 815 | try testArgs(f64, -inf(f64), -1e0); | ||
| 816 | try testArgs(f64, -inf(f64), -1e-1); | ||
| 817 | try testArgs(f64, -inf(f64), -fmin(f64)); | ||
| 818 | try testArgs(f64, -inf(f64), -tmin(f64)); | ||
| 819 | try testArgs(f64, -inf(f64), -0.0); | ||
| 820 | try testArgs(f64, -inf(f64), 0.0); | ||
| 821 | try testArgs(f64, -inf(f64), tmin(f64)); | ||
| 822 | try testArgs(f64, -inf(f64), fmin(f64)); | ||
| 823 | try testArgs(f64, -inf(f64), 1e-1); | ||
| 824 | try testArgs(f64, -inf(f64), 1e0); | ||
| 825 | try testArgs(f64, -inf(f64), 1e1); | ||
| 826 | try testArgs(f64, -inf(f64), fmax(f64)); | ||
| 827 | try testArgs(f64, -inf(f64), inf(f64)); | ||
| 828 | try testArgs(f64, -inf(f64), nan(f64)); | ||
| 829 | |||
| 830 | try testArgs(f64, -fmax(f64), -nan(f64)); | ||
| 831 | try testArgs(f64, -fmax(f64), -inf(f64)); | ||
| 832 | try testArgs(f64, -fmax(f64), -fmax(f64)); | ||
| 833 | try testArgs(f64, -fmax(f64), -1e1); | ||
| 834 | try testArgs(f64, -fmax(f64), -1e0); | ||
| 835 | try testArgs(f64, -fmax(f64), -1e-1); | ||
| 836 | try testArgs(f64, -fmax(f64), -fmin(f64)); | ||
| 837 | try testArgs(f64, -fmax(f64), -tmin(f64)); | ||
| 838 | try testArgs(f64, -fmax(f64), -0.0); | ||
| 839 | try testArgs(f64, -fmax(f64), 0.0); | ||
| 840 | try testArgs(f64, -fmax(f64), tmin(f64)); | ||
| 841 | try testArgs(f64, -fmax(f64), fmin(f64)); | ||
| 842 | try testArgs(f64, -fmax(f64), 1e-1); | ||
| 843 | try testArgs(f64, -fmax(f64), 1e0); | ||
| 844 | try testArgs(f64, -fmax(f64), 1e1); | ||
| 845 | try testArgs(f64, -fmax(f64), fmax(f64)); | ||
| 846 | try testArgs(f64, -fmax(f64), inf(f64)); | ||
| 847 | try testArgs(f64, -fmax(f64), nan(f64)); | ||
| 848 | |||
| 849 | try testArgs(f64, -1e1, -nan(f64)); | ||
| 850 | try testArgs(f64, -1e1, -inf(f64)); | ||
| 851 | try testArgs(f64, -1e1, -fmax(f64)); | ||
| 852 | try testArgs(f64, -1e1, -1e1); | ||
| 853 | try testArgs(f64, -1e1, -1e0); | ||
| 854 | try testArgs(f64, -1e1, -1e-1); | ||
| 855 | try testArgs(f64, -1e1, -fmin(f64)); | ||
| 856 | try testArgs(f64, -1e1, -tmin(f64)); | ||
| 857 | try testArgs(f64, -1e1, -0.0); | ||
| 858 | try testArgs(f64, -1e1, 0.0); | ||
| 859 | try testArgs(f64, -1e1, tmin(f64)); | ||
| 860 | try testArgs(f64, -1e1, fmin(f64)); | ||
| 861 | try testArgs(f64, -1e1, 1e-1); | ||
| 862 | try testArgs(f64, -1e1, 1e0); | ||
| 863 | try testArgs(f64, -1e1, 1e1); | ||
| 864 | try testArgs(f64, -1e1, fmax(f64)); | ||
| 865 | try testArgs(f64, -1e1, inf(f64)); | ||
| 866 | try testArgs(f64, -1e1, nan(f64)); | ||
| 867 | |||
| 868 | try testArgs(f64, -1e0, -nan(f64)); | ||
| 869 | try testArgs(f64, -1e0, -inf(f64)); | ||
| 870 | try testArgs(f64, -1e0, -fmax(f64)); | ||
| 871 | try testArgs(f64, -1e0, -1e1); | ||
| 872 | try testArgs(f64, -1e0, -1e0); | ||
| 873 | try testArgs(f64, -1e0, -1e-1); | ||
| 874 | try testArgs(f64, -1e0, -fmin(f64)); | ||
| 875 | try testArgs(f64, -1e0, -tmin(f64)); | ||
| 876 | try testArgs(f64, -1e0, -0.0); | ||
| 877 | try testArgs(f64, -1e0, 0.0); | ||
| 878 | try testArgs(f64, -1e0, tmin(f64)); | ||
| 879 | try testArgs(f64, -1e0, fmin(f64)); | ||
| 880 | try testArgs(f64, -1e0, 1e-1); | ||
| 881 | try testArgs(f64, -1e0, 1e0); | ||
| 882 | try testArgs(f64, -1e0, 1e1); | ||
| 883 | try testArgs(f64, -1e0, fmax(f64)); | ||
| 884 | try testArgs(f64, -1e0, inf(f64)); | ||
| 885 | try testArgs(f64, -1e0, nan(f64)); | ||
| 886 | |||
| 887 | try testArgs(f64, -1e-1, -nan(f64)); | ||
| 888 | try testArgs(f64, -1e-1, -inf(f64)); | ||
| 889 | try testArgs(f64, -1e-1, -fmax(f64)); | ||
| 890 | try testArgs(f64, -1e-1, -1e1); | ||
| 891 | try testArgs(f64, -1e-1, -1e0); | ||
| 892 | try testArgs(f64, -1e-1, -1e-1); | ||
| 893 | try testArgs(f64, -1e-1, -fmin(f64)); | ||
| 894 | try testArgs(f64, -1e-1, -tmin(f64)); | ||
| 895 | try testArgs(f64, -1e-1, -0.0); | ||
| 896 | try testArgs(f64, -1e-1, 0.0); | ||
| 897 | try testArgs(f64, -1e-1, tmin(f64)); | ||
| 898 | try testArgs(f64, -1e-1, fmin(f64)); | ||
| 899 | try testArgs(f64, -1e-1, 1e-1); | ||
| 900 | try testArgs(f64, -1e-1, 1e0); | ||
| 901 | try testArgs(f64, -1e-1, 1e1); | ||
| 902 | try testArgs(f64, -1e-1, fmax(f64)); | ||
| 903 | try testArgs(f64, -1e-1, inf(f64)); | ||
| 904 | try testArgs(f64, -1e-1, nan(f64)); | ||
| 905 | |||
| 906 | try testArgs(f64, -fmin(f64), -nan(f64)); | ||
| 907 | try testArgs(f64, -fmin(f64), -inf(f64)); | ||
| 908 | try testArgs(f64, -fmin(f64), -fmax(f64)); | ||
| 909 | try testArgs(f64, -fmin(f64), -1e1); | ||
| 910 | try testArgs(f64, -fmin(f64), -1e0); | ||
| 911 | try testArgs(f64, -fmin(f64), -1e-1); | ||
| 912 | try testArgs(f64, -fmin(f64), -fmin(f64)); | ||
| 913 | try testArgs(f64, -fmin(f64), -tmin(f64)); | ||
| 914 | try testArgs(f64, -fmin(f64), -0.0); | ||
| 915 | try testArgs(f64, -fmin(f64), 0.0); | ||
| 916 | try testArgs(f64, -fmin(f64), tmin(f64)); | ||
| 917 | try testArgs(f64, -fmin(f64), fmin(f64)); | ||
| 918 | try testArgs(f64, -fmin(f64), 1e-1); | ||
| 919 | try testArgs(f64, -fmin(f64), 1e0); | ||
| 920 | try testArgs(f64, -fmin(f64), 1e1); | ||
| 921 | try testArgs(f64, -fmin(f64), fmax(f64)); | ||
| 922 | try testArgs(f64, -fmin(f64), inf(f64)); | ||
| 923 | try testArgs(f64, -fmin(f64), nan(f64)); | ||
| 924 | |||
| 925 | try testArgs(f64, -tmin(f64), -nan(f64)); | ||
| 926 | try testArgs(f64, -tmin(f64), -inf(f64)); | ||
| 927 | try testArgs(f64, -tmin(f64), -fmax(f64)); | ||
| 928 | try testArgs(f64, -tmin(f64), -1e1); | ||
| 929 | try testArgs(f64, -tmin(f64), -1e0); | ||
| 930 | try testArgs(f64, -tmin(f64), -1e-1); | ||
| 931 | try testArgs(f64, -tmin(f64), -fmin(f64)); | ||
| 932 | try testArgs(f64, -tmin(f64), -tmin(f64)); | ||
| 933 | try testArgs(f64, -tmin(f64), -0.0); | ||
| 934 | try testArgs(f64, -tmin(f64), 0.0); | ||
| 935 | try testArgs(f64, -tmin(f64), tmin(f64)); | ||
| 936 | try testArgs(f64, -tmin(f64), fmin(f64)); | ||
| 937 | try testArgs(f64, -tmin(f64), 1e-1); | ||
| 938 | try testArgs(f64, -tmin(f64), 1e0); | ||
| 939 | try testArgs(f64, -tmin(f64), 1e1); | ||
| 940 | try testArgs(f64, -tmin(f64), fmax(f64)); | ||
| 941 | try testArgs(f64, -tmin(f64), inf(f64)); | ||
| 942 | try testArgs(f64, -tmin(f64), nan(f64)); | ||
| 943 | |||
| 944 | try testArgs(f64, -0.0, -nan(f64)); | ||
| 945 | try testArgs(f64, -0.0, -inf(f64)); | ||
| 946 | try testArgs(f64, -0.0, -fmax(f64)); | ||
| 947 | try testArgs(f64, -0.0, -1e1); | ||
| 948 | try testArgs(f64, -0.0, -1e0); | ||
| 949 | try testArgs(f64, -0.0, -1e-1); | ||
| 950 | try testArgs(f64, -0.0, -fmin(f64)); | ||
| 951 | try testArgs(f64, -0.0, -tmin(f64)); | ||
| 952 | try testArgs(f64, -0.0, -0.0); | ||
| 953 | try testArgs(f64, -0.0, 0.0); | ||
| 954 | try testArgs(f64, -0.0, tmin(f64)); | ||
| 955 | try testArgs(f64, -0.0, fmin(f64)); | ||
| 956 | try testArgs(f64, -0.0, 1e-1); | ||
| 957 | try testArgs(f64, -0.0, 1e0); | ||
| 958 | try testArgs(f64, -0.0, 1e1); | ||
| 959 | try testArgs(f64, -0.0, fmax(f64)); | ||
| 960 | try testArgs(f64, -0.0, inf(f64)); | ||
| 961 | try testArgs(f64, -0.0, nan(f64)); | ||
| 962 | |||
| 963 | try testArgs(f64, 0.0, -nan(f64)); | ||
| 964 | try testArgs(f64, 0.0, -inf(f64)); | ||
| 965 | try testArgs(f64, 0.0, -fmax(f64)); | ||
| 966 | try testArgs(f64, 0.0, -1e1); | ||
| 967 | try testArgs(f64, 0.0, -1e0); | ||
| 968 | try testArgs(f64, 0.0, -1e-1); | ||
| 969 | try testArgs(f64, 0.0, -fmin(f64)); | ||
| 970 | try testArgs(f64, 0.0, -tmin(f64)); | ||
| 971 | try testArgs(f64, 0.0, -0.0); | ||
| 972 | try testArgs(f64, 0.0, 0.0); | ||
| 973 | try testArgs(f64, 0.0, tmin(f64)); | ||
| 974 | try testArgs(f64, 0.0, fmin(f64)); | ||
| 975 | try testArgs(f64, 0.0, 1e-1); | ||
| 976 | try testArgs(f64, 0.0, 1e0); | ||
| 977 | try testArgs(f64, 0.0, 1e1); | ||
| 978 | try testArgs(f64, 0.0, fmax(f64)); | ||
| 979 | try testArgs(f64, 0.0, inf(f64)); | ||
| 980 | try testArgs(f64, 0.0, nan(f64)); | ||
| 981 | |||
| 982 | try testArgs(f64, tmin(f64), -nan(f64)); | ||
| 983 | try testArgs(f64, tmin(f64), -inf(f64)); | ||
| 984 | try testArgs(f64, tmin(f64), -fmax(f64)); | ||
| 985 | try testArgs(f64, tmin(f64), -1e1); | ||
| 986 | try testArgs(f64, tmin(f64), -1e0); | ||
| 987 | try testArgs(f64, tmin(f64), -1e-1); | ||
| 988 | try testArgs(f64, tmin(f64), -fmin(f64)); | ||
| 989 | try testArgs(f64, tmin(f64), -tmin(f64)); | ||
| 990 | try testArgs(f64, tmin(f64), -0.0); | ||
| 991 | try testArgs(f64, tmin(f64), 0.0); | ||
| 992 | try testArgs(f64, tmin(f64), tmin(f64)); | ||
| 993 | try testArgs(f64, tmin(f64), fmin(f64)); | ||
| 994 | try testArgs(f64, tmin(f64), 1e-1); | ||
| 995 | try testArgs(f64, tmin(f64), 1e0); | ||
| 996 | try testArgs(f64, tmin(f64), 1e1); | ||
| 997 | try testArgs(f64, tmin(f64), fmax(f64)); | ||
| 998 | try testArgs(f64, tmin(f64), inf(f64)); | ||
| 999 | try testArgs(f64, tmin(f64), nan(f64)); | ||
| 1000 | |||
| 1001 | try testArgs(f64, fmin(f64), -nan(f64)); | ||
| 1002 | try testArgs(f64, fmin(f64), -inf(f64)); | ||
| 1003 | try testArgs(f64, fmin(f64), -fmax(f64)); | ||
| 1004 | try testArgs(f64, fmin(f64), -1e1); | ||
| 1005 | try testArgs(f64, fmin(f64), -1e0); | ||
| 1006 | try testArgs(f64, fmin(f64), -1e-1); | ||
| 1007 | try testArgs(f64, fmin(f64), -fmin(f64)); | ||
| 1008 | try testArgs(f64, fmin(f64), -tmin(f64)); | ||
| 1009 | try testArgs(f64, fmin(f64), -0.0); | ||
| 1010 | try testArgs(f64, fmin(f64), 0.0); | ||
| 1011 | try testArgs(f64, fmin(f64), tmin(f64)); | ||
| 1012 | try testArgs(f64, fmin(f64), fmin(f64)); | ||
| 1013 | try testArgs(f64, fmin(f64), 1e-1); | ||
| 1014 | try testArgs(f64, fmin(f64), 1e0); | ||
| 1015 | try testArgs(f64, fmin(f64), 1e1); | ||
| 1016 | try testArgs(f64, fmin(f64), fmax(f64)); | ||
| 1017 | try testArgs(f64, fmin(f64), inf(f64)); | ||
| 1018 | try testArgs(f64, fmin(f64), nan(f64)); | ||
| 1019 | |||
| 1020 | try testArgs(f64, 1e-1, -nan(f64)); | ||
| 1021 | try testArgs(f64, 1e-1, -inf(f64)); | ||
| 1022 | try testArgs(f64, 1e-1, -fmax(f64)); | ||
| 1023 | try testArgs(f64, 1e-1, -1e1); | ||
| 1024 | try testArgs(f64, 1e-1, -1e0); | ||
| 1025 | try testArgs(f64, 1e-1, -1e-1); | ||
| 1026 | try testArgs(f64, 1e-1, -fmin(f64)); | ||
| 1027 | try testArgs(f64, 1e-1, -tmin(f64)); | ||
| 1028 | try testArgs(f64, 1e-1, -0.0); | ||
| 1029 | try testArgs(f64, 1e-1, 0.0); | ||
| 1030 | try testArgs(f64, 1e-1, tmin(f64)); | ||
| 1031 | try testArgs(f64, 1e-1, fmin(f64)); | ||
| 1032 | try testArgs(f64, 1e-1, 1e-1); | ||
| 1033 | try testArgs(f64, 1e-1, 1e0); | ||
| 1034 | try testArgs(f64, 1e-1, 1e1); | ||
| 1035 | try testArgs(f64, 1e-1, fmax(f64)); | ||
| 1036 | try testArgs(f64, 1e-1, inf(f64)); | ||
| 1037 | try testArgs(f64, 1e-1, nan(f64)); | ||
| 1038 | |||
| 1039 | try testArgs(f64, 1e0, -nan(f64)); | ||
| 1040 | try testArgs(f64, 1e0, -inf(f64)); | ||
| 1041 | try testArgs(f64, 1e0, -fmax(f64)); | ||
| 1042 | try testArgs(f64, 1e0, -1e1); | ||
| 1043 | try testArgs(f64, 1e0, -1e0); | ||
| 1044 | try testArgs(f64, 1e0, -1e-1); | ||
| 1045 | try testArgs(f64, 1e0, -fmin(f64)); | ||
| 1046 | try testArgs(f64, 1e0, -tmin(f64)); | ||
| 1047 | try testArgs(f64, 1e0, -0.0); | ||
| 1048 | try testArgs(f64, 1e0, 0.0); | ||
| 1049 | try testArgs(f64, 1e0, tmin(f64)); | ||
| 1050 | try testArgs(f64, 1e0, fmin(f64)); | ||
| 1051 | try testArgs(f64, 1e0, 1e-1); | ||
| 1052 | try testArgs(f64, 1e0, 1e0); | ||
| 1053 | try testArgs(f64, 1e0, 1e1); | ||
| 1054 | try testArgs(f64, 1e0, fmax(f64)); | ||
| 1055 | try testArgs(f64, 1e0, inf(f64)); | ||
| 1056 | try testArgs(f64, 1e0, nan(f64)); | ||
| 1057 | |||
| 1058 | try testArgs(f64, 1e1, -nan(f64)); | ||
| 1059 | try testArgs(f64, 1e1, -inf(f64)); | ||
| 1060 | try testArgs(f64, 1e1, -fmax(f64)); | ||
| 1061 | try testArgs(f64, 1e1, -1e1); | ||
| 1062 | try testArgs(f64, 1e1, -1e0); | ||
| 1063 | try testArgs(f64, 1e1, -1e-1); | ||
| 1064 | try testArgs(f64, 1e1, -fmin(f64)); | ||
| 1065 | try testArgs(f64, 1e1, -tmin(f64)); | ||
| 1066 | try testArgs(f64, 1e1, -0.0); | ||
| 1067 | try testArgs(f64, 1e1, 0.0); | ||
| 1068 | try testArgs(f64, 1e1, tmin(f64)); | ||
| 1069 | try testArgs(f64, 1e1, fmin(f64)); | ||
| 1070 | try testArgs(f64, 1e1, 1e-1); | ||
| 1071 | try testArgs(f64, 1e1, 1e0); | ||
| 1072 | try testArgs(f64, 1e1, 1e1); | ||
| 1073 | try testArgs(f64, 1e1, fmax(f64)); | ||
| 1074 | try testArgs(f64, 1e1, inf(f64)); | ||
| 1075 | try testArgs(f64, 1e1, nan(f64)); | ||
| 1076 | |||
| 1077 | try testArgs(f64, fmax(f64), -nan(f64)); | ||
| 1078 | try testArgs(f64, fmax(f64), -inf(f64)); | ||
| 1079 | try testArgs(f64, fmax(f64), -fmax(f64)); | ||
| 1080 | try testArgs(f64, fmax(f64), -1e1); | ||
| 1081 | try testArgs(f64, fmax(f64), -1e0); | ||
| 1082 | try testArgs(f64, fmax(f64), -1e-1); | ||
| 1083 | try testArgs(f64, fmax(f64), -fmin(f64)); | ||
| 1084 | try testArgs(f64, fmax(f64), -tmin(f64)); | ||
| 1085 | try testArgs(f64, fmax(f64), -0.0); | ||
| 1086 | try testArgs(f64, fmax(f64), 0.0); | ||
| 1087 | try testArgs(f64, fmax(f64), tmin(f64)); | ||
| 1088 | try testArgs(f64, fmax(f64), fmin(f64)); | ||
| 1089 | try testArgs(f64, fmax(f64), 1e-1); | ||
| 1090 | try testArgs(f64, fmax(f64), 1e0); | ||
| 1091 | try testArgs(f64, fmax(f64), 1e1); | ||
| 1092 | try testArgs(f64, fmax(f64), fmax(f64)); | ||
| 1093 | try testArgs(f64, fmax(f64), inf(f64)); | ||
| 1094 | try testArgs(f64, fmax(f64), nan(f64)); | ||
| 1095 | |||
| 1096 | try testArgs(f64, inf(f64), -nan(f64)); | ||
| 1097 | try testArgs(f64, inf(f64), -inf(f64)); | ||
| 1098 | try testArgs(f64, inf(f64), -fmax(f64)); | ||
| 1099 | try testArgs(f64, inf(f64), -1e1); | ||
| 1100 | try testArgs(f64, inf(f64), -1e0); | ||
| 1101 | try testArgs(f64, inf(f64), -1e-1); | ||
| 1102 | try testArgs(f64, inf(f64), -fmin(f64)); | ||
| 1103 | try testArgs(f64, inf(f64), -tmin(f64)); | ||
| 1104 | try testArgs(f64, inf(f64), -0.0); | ||
| 1105 | try testArgs(f64, inf(f64), 0.0); | ||
| 1106 | try testArgs(f64, inf(f64), tmin(f64)); | ||
| 1107 | try testArgs(f64, inf(f64), fmin(f64)); | ||
| 1108 | try testArgs(f64, inf(f64), 1e-1); | ||
| 1109 | try testArgs(f64, inf(f64), 1e0); | ||
| 1110 | try testArgs(f64, inf(f64), 1e1); | ||
| 1111 | try testArgs(f64, inf(f64), fmax(f64)); | ||
| 1112 | try testArgs(f64, inf(f64), inf(f64)); | ||
| 1113 | try testArgs(f64, inf(f64), nan(f64)); | ||
| 1114 | |||
| 1115 | try testArgs(f64, nan(f64), -nan(f64)); | ||
| 1116 | try testArgs(f64, nan(f64), -inf(f64)); | ||
| 1117 | try testArgs(f64, nan(f64), -fmax(f64)); | ||
| 1118 | try testArgs(f64, nan(f64), -1e1); | ||
| 1119 | try testArgs(f64, nan(f64), -1e0); | ||
| 1120 | try testArgs(f64, nan(f64), -1e-1); | ||
| 1121 | try testArgs(f64, nan(f64), -fmin(f64)); | ||
| 1122 | try testArgs(f64, nan(f64), -tmin(f64)); | ||
| 1123 | try testArgs(f64, nan(f64), -0.0); | ||
| 1124 | try testArgs(f64, nan(f64), 0.0); | ||
| 1125 | try testArgs(f64, nan(f64), tmin(f64)); | ||
| 1126 | try testArgs(f64, nan(f64), fmin(f64)); | ||
| 1127 | try testArgs(f64, nan(f64), 1e-1); | ||
| 1128 | try testArgs(f64, nan(f64), 1e0); | ||
| 1129 | try testArgs(f64, nan(f64), 1e1); | ||
| 1130 | try testArgs(f64, nan(f64), fmax(f64)); | ||
| 1131 | try testArgs(f64, nan(f64), inf(f64)); | ||
| 1132 | try testArgs(f64, nan(f64), nan(f64)); | ||
| 1133 | |||
| 1134 | try testArgs(f80, -nan(f80), -nan(f80)); | ||
| 1135 | try testArgs(f80, -nan(f80), -inf(f80)); | ||
| 1136 | try testArgs(f80, -nan(f80), -fmax(f80)); | ||
| 1137 | try testArgs(f80, -nan(f80), -1e1); | ||
| 1138 | try testArgs(f80, -nan(f80), -1e0); | ||
| 1139 | try testArgs(f80, -nan(f80), -1e-1); | ||
| 1140 | try testArgs(f80, -nan(f80), -fmin(f80)); | ||
| 1141 | try testArgs(f80, -nan(f80), -tmin(f80)); | ||
| 1142 | try testArgs(f80, -nan(f80), -0.0); | ||
| 1143 | try testArgs(f80, -nan(f80), 0.0); | ||
| 1144 | try testArgs(f80, -nan(f80), tmin(f80)); | ||
| 1145 | try testArgs(f80, -nan(f80), fmin(f80)); | ||
| 1146 | try testArgs(f80, -nan(f80), 1e-1); | ||
| 1147 | try testArgs(f80, -nan(f80), 1e0); | ||
| 1148 | try testArgs(f80, -nan(f80), 1e1); | ||
| 1149 | try testArgs(f80, -nan(f80), fmax(f80)); | ||
| 1150 | try testArgs(f80, -nan(f80), inf(f80)); | ||
| 1151 | try testArgs(f80, -nan(f80), nan(f80)); | ||
| 1152 | |||
| 1153 | try testArgs(f80, -inf(f80), -nan(f80)); | ||
| 1154 | try testArgs(f80, -inf(f80), -inf(f80)); | ||
| 1155 | try testArgs(f80, -inf(f80), -fmax(f80)); | ||
| 1156 | try testArgs(f80, -inf(f80), -1e1); | ||
| 1157 | try testArgs(f80, -inf(f80), -1e0); | ||
| 1158 | try testArgs(f80, -inf(f80), -1e-1); | ||
| 1159 | try testArgs(f80, -inf(f80), -fmin(f80)); | ||
| 1160 | try testArgs(f80, -inf(f80), -tmin(f80)); | ||
| 1161 | try testArgs(f80, -inf(f80), -0.0); | ||
| 1162 | try testArgs(f80, -inf(f80), 0.0); | ||
| 1163 | try testArgs(f80, -inf(f80), tmin(f80)); | ||
| 1164 | try testArgs(f80, -inf(f80), fmin(f80)); | ||
| 1165 | try testArgs(f80, -inf(f80), 1e-1); | ||
| 1166 | try testArgs(f80, -inf(f80), 1e0); | ||
| 1167 | try testArgs(f80, -inf(f80), 1e1); | ||
| 1168 | try testArgs(f80, -inf(f80), fmax(f80)); | ||
| 1169 | try testArgs(f80, -inf(f80), inf(f80)); | ||
| 1170 | try testArgs(f80, -inf(f80), nan(f80)); | ||
| 1171 | |||
| 1172 | try testArgs(f80, -fmax(f80), -nan(f80)); | ||
| 1173 | try testArgs(f80, -fmax(f80), -inf(f80)); | ||
| 1174 | try testArgs(f80, -fmax(f80), -fmax(f80)); | ||
| 1175 | try testArgs(f80, -fmax(f80), -1e1); | ||
| 1176 | try testArgs(f80, -fmax(f80), -1e0); | ||
| 1177 | try testArgs(f80, -fmax(f80), -1e-1); | ||
| 1178 | try testArgs(f80, -fmax(f80), -fmin(f80)); | ||
| 1179 | try testArgs(f80, -fmax(f80), -tmin(f80)); | ||
| 1180 | try testArgs(f80, -fmax(f80), -0.0); | ||
| 1181 | try testArgs(f80, -fmax(f80), 0.0); | ||
| 1182 | try testArgs(f80, -fmax(f80), tmin(f80)); | ||
| 1183 | try testArgs(f80, -fmax(f80), fmin(f80)); | ||
| 1184 | try testArgs(f80, -fmax(f80), 1e-1); | ||
| 1185 | try testArgs(f80, -fmax(f80), 1e0); | ||
| 1186 | try testArgs(f80, -fmax(f80), 1e1); | ||
| 1187 | try testArgs(f80, -fmax(f80), fmax(f80)); | ||
| 1188 | try testArgs(f80, -fmax(f80), inf(f80)); | ||
| 1189 | try testArgs(f80, -fmax(f80), nan(f80)); | ||
| 1190 | |||
| 1191 | try testArgs(f80, -1e1, -nan(f80)); | ||
| 1192 | try testArgs(f80, -1e1, -inf(f80)); | ||
| 1193 | try testArgs(f80, -1e1, -fmax(f80)); | ||
| 1194 | try testArgs(f80, -1e1, -1e1); | ||
| 1195 | try testArgs(f80, -1e1, -1e0); | ||
| 1196 | try testArgs(f80, -1e1, -1e-1); | ||
| 1197 | try testArgs(f80, -1e1, -fmin(f80)); | ||
| 1198 | try testArgs(f80, -1e1, -tmin(f80)); | ||
| 1199 | try testArgs(f80, -1e1, -0.0); | ||
| 1200 | try testArgs(f80, -1e1, 0.0); | ||
| 1201 | try testArgs(f80, -1e1, tmin(f80)); | ||
| 1202 | try testArgs(f80, -1e1, fmin(f80)); | ||
| 1203 | try testArgs(f80, -1e1, 1e-1); | ||
| 1204 | try testArgs(f80, -1e1, 1e0); | ||
| 1205 | try testArgs(f80, -1e1, 1e1); | ||
| 1206 | try testArgs(f80, -1e1, fmax(f80)); | ||
| 1207 | try testArgs(f80, -1e1, inf(f80)); | ||
| 1208 | try testArgs(f80, -1e1, nan(f80)); | ||
| 1209 | |||
| 1210 | try testArgs(f80, -1e0, -nan(f80)); | ||
| 1211 | try testArgs(f80, -1e0, -inf(f80)); | ||
| 1212 | try testArgs(f80, -1e0, -fmax(f80)); | ||
| 1213 | try testArgs(f80, -1e0, -1e1); | ||
| 1214 | try testArgs(f80, -1e0, -1e0); | ||
| 1215 | try testArgs(f80, -1e0, -1e-1); | ||
| 1216 | try testArgs(f80, -1e0, -fmin(f80)); | ||
| 1217 | try testArgs(f80, -1e0, -tmin(f80)); | ||
| 1218 | try testArgs(f80, -1e0, -0.0); | ||
| 1219 | try testArgs(f80, -1e0, 0.0); | ||
| 1220 | try testArgs(f80, -1e0, tmin(f80)); | ||
| 1221 | try testArgs(f80, -1e0, fmin(f80)); | ||
| 1222 | try testArgs(f80, -1e0, 1e-1); | ||
| 1223 | try testArgs(f80, -1e0, 1e0); | ||
| 1224 | try testArgs(f80, -1e0, 1e1); | ||
| 1225 | try testArgs(f80, -1e0, fmax(f80)); | ||
| 1226 | try testArgs(f80, -1e0, inf(f80)); | ||
| 1227 | try testArgs(f80, -1e0, nan(f80)); | ||
| 1228 | |||
| 1229 | try testArgs(f80, -1e-1, -nan(f80)); | ||
| 1230 | try testArgs(f80, -1e-1, -inf(f80)); | ||
| 1231 | try testArgs(f80, -1e-1, -fmax(f80)); | ||
| 1232 | try testArgs(f80, -1e-1, -1e1); | ||
| 1233 | try testArgs(f80, -1e-1, -1e0); | ||
| 1234 | try testArgs(f80, -1e-1, -1e-1); | ||
| 1235 | try testArgs(f80, -1e-1, -fmin(f80)); | ||
| 1236 | try testArgs(f80, -1e-1, -tmin(f80)); | ||
| 1237 | try testArgs(f80, -1e-1, -0.0); | ||
| 1238 | try testArgs(f80, -1e-1, 0.0); | ||
| 1239 | try testArgs(f80, -1e-1, tmin(f80)); | ||
| 1240 | try testArgs(f80, -1e-1, fmin(f80)); | ||
| 1241 | try testArgs(f80, -1e-1, 1e-1); | ||
| 1242 | try testArgs(f80, -1e-1, 1e0); | ||
| 1243 | try testArgs(f80, -1e-1, 1e1); | ||
| 1244 | try testArgs(f80, -1e-1, fmax(f80)); | ||
| 1245 | try testArgs(f80, -1e-1, inf(f80)); | ||
| 1246 | try testArgs(f80, -1e-1, nan(f80)); | ||
| 1247 | |||
| 1248 | try testArgs(f80, -fmin(f80), -nan(f80)); | ||
| 1249 | try testArgs(f80, -fmin(f80), -inf(f80)); | ||
| 1250 | try testArgs(f80, -fmin(f80), -fmax(f80)); | ||
| 1251 | try testArgs(f80, -fmin(f80), -1e1); | ||
| 1252 | try testArgs(f80, -fmin(f80), -1e0); | ||
| 1253 | try testArgs(f80, -fmin(f80), -1e-1); | ||
| 1254 | try testArgs(f80, -fmin(f80), -fmin(f80)); | ||
| 1255 | try testArgs(f80, -fmin(f80), -tmin(f80)); | ||
| 1256 | try testArgs(f80, -fmin(f80), -0.0); | ||
| 1257 | try testArgs(f80, -fmin(f80), 0.0); | ||
| 1258 | try testArgs(f80, -fmin(f80), tmin(f80)); | ||
| 1259 | try testArgs(f80, -fmin(f80), fmin(f80)); | ||
| 1260 | try testArgs(f80, -fmin(f80), 1e-1); | ||
| 1261 | try testArgs(f80, -fmin(f80), 1e0); | ||
| 1262 | try testArgs(f80, -fmin(f80), 1e1); | ||
| 1263 | try testArgs(f80, -fmin(f80), fmax(f80)); | ||
| 1264 | try testArgs(f80, -fmin(f80), inf(f80)); | ||
| 1265 | try testArgs(f80, -fmin(f80), nan(f80)); | ||
| 1266 | |||
| 1267 | try testArgs(f80, -tmin(f80), -nan(f80)); | ||
| 1268 | try testArgs(f80, -tmin(f80), -inf(f80)); | ||
| 1269 | try testArgs(f80, -tmin(f80), -fmax(f80)); | ||
| 1270 | try testArgs(f80, -tmin(f80), -1e1); | ||
| 1271 | try testArgs(f80, -tmin(f80), -1e0); | ||
| 1272 | try testArgs(f80, -tmin(f80), -1e-1); | ||
| 1273 | try testArgs(f80, -tmin(f80), -fmin(f80)); | ||
| 1274 | try testArgs(f80, -tmin(f80), -tmin(f80)); | ||
| 1275 | try testArgs(f80, -tmin(f80), -0.0); | ||
| 1276 | try testArgs(f80, -tmin(f80), 0.0); | ||
| 1277 | try testArgs(f80, -tmin(f80), tmin(f80)); | ||
| 1278 | try testArgs(f80, -tmin(f80), fmin(f80)); | ||
| 1279 | try testArgs(f80, -tmin(f80), 1e-1); | ||
| 1280 | try testArgs(f80, -tmin(f80), 1e0); | ||
| 1281 | try testArgs(f80, -tmin(f80), 1e1); | ||
| 1282 | try testArgs(f80, -tmin(f80), fmax(f80)); | ||
| 1283 | try testArgs(f80, -tmin(f80), inf(f80)); | ||
| 1284 | try testArgs(f80, -tmin(f80), nan(f80)); | ||
| 1285 | |||
| 1286 | try testArgs(f80, -0.0, -nan(f80)); | ||
| 1287 | try testArgs(f80, -0.0, -inf(f80)); | ||
| 1288 | try testArgs(f80, -0.0, -fmax(f80)); | ||
| 1289 | try testArgs(f80, -0.0, -1e1); | ||
| 1290 | try testArgs(f80, -0.0, -1e0); | ||
| 1291 | try testArgs(f80, -0.0, -1e-1); | ||
| 1292 | try testArgs(f80, -0.0, -fmin(f80)); | ||
| 1293 | try testArgs(f80, -0.0, -tmin(f80)); | ||
| 1294 | try testArgs(f80, -0.0, -0.0); | ||
| 1295 | try testArgs(f80, -0.0, 0.0); | ||
| 1296 | try testArgs(f80, -0.0, tmin(f80)); | ||
| 1297 | try testArgs(f80, -0.0, fmin(f80)); | ||
| 1298 | try testArgs(f80, -0.0, 1e-1); | ||
| 1299 | try testArgs(f80, -0.0, 1e0); | ||
| 1300 | try testArgs(f80, -0.0, 1e1); | ||
| 1301 | try testArgs(f80, -0.0, fmax(f80)); | ||
| 1302 | try testArgs(f80, -0.0, inf(f80)); | ||
| 1303 | try testArgs(f80, -0.0, nan(f80)); | ||
| 1304 | |||
| 1305 | try testArgs(f80, 0.0, -nan(f80)); | ||
| 1306 | try testArgs(f80, 0.0, -inf(f80)); | ||
| 1307 | try testArgs(f80, 0.0, -fmax(f80)); | ||
| 1308 | try testArgs(f80, 0.0, -1e1); | ||
| 1309 | try testArgs(f80, 0.0, -1e0); | ||
| 1310 | try testArgs(f80, 0.0, -1e-1); | ||
| 1311 | try testArgs(f80, 0.0, -fmin(f80)); | ||
| 1312 | try testArgs(f80, 0.0, -tmin(f80)); | ||
| 1313 | try testArgs(f80, 0.0, -0.0); | ||
| 1314 | try testArgs(f80, 0.0, 0.0); | ||
| 1315 | try testArgs(f80, 0.0, tmin(f80)); | ||
| 1316 | try testArgs(f80, 0.0, fmin(f80)); | ||
| 1317 | try testArgs(f80, 0.0, 1e-1); | ||
| 1318 | try testArgs(f80, 0.0, 1e0); | ||
| 1319 | try testArgs(f80, 0.0, 1e1); | ||
| 1320 | try testArgs(f80, 0.0, fmax(f80)); | ||
| 1321 | try testArgs(f80, 0.0, inf(f80)); | ||
| 1322 | try testArgs(f80, 0.0, nan(f80)); | ||
| 1323 | |||
| 1324 | try testArgs(f80, tmin(f80), -nan(f80)); | ||
| 1325 | try testArgs(f80, tmin(f80), -inf(f80)); | ||
| 1326 | try testArgs(f80, tmin(f80), -fmax(f80)); | ||
| 1327 | try testArgs(f80, tmin(f80), -1e1); | ||
| 1328 | try testArgs(f80, tmin(f80), -1e0); | ||
| 1329 | try testArgs(f80, tmin(f80), -1e-1); | ||
| 1330 | try testArgs(f80, tmin(f80), -fmin(f80)); | ||
| 1331 | try testArgs(f80, tmin(f80), -tmin(f80)); | ||
| 1332 | try testArgs(f80, tmin(f80), -0.0); | ||
| 1333 | try testArgs(f80, tmin(f80), 0.0); | ||
| 1334 | try testArgs(f80, tmin(f80), tmin(f80)); | ||
| 1335 | try testArgs(f80, tmin(f80), fmin(f80)); | ||
| 1336 | try testArgs(f80, tmin(f80), 1e-1); | ||
| 1337 | try testArgs(f80, tmin(f80), 1e0); | ||
| 1338 | try testArgs(f80, tmin(f80), 1e1); | ||
| 1339 | try testArgs(f80, tmin(f80), fmax(f80)); | ||
| 1340 | try testArgs(f80, tmin(f80), inf(f80)); | ||
| 1341 | try testArgs(f80, tmin(f80), nan(f80)); | ||
| 1342 | |||
| 1343 | try testArgs(f80, fmin(f80), -nan(f80)); | ||
| 1344 | try testArgs(f80, fmin(f80), -inf(f80)); | ||
| 1345 | try testArgs(f80, fmin(f80), -fmax(f80)); | ||
| 1346 | try testArgs(f80, fmin(f80), -1e1); | ||
| 1347 | try testArgs(f80, fmin(f80), -1e0); | ||
| 1348 | try testArgs(f80, fmin(f80), -1e-1); | ||
| 1349 | try testArgs(f80, fmin(f80), -fmin(f80)); | ||
| 1350 | try testArgs(f80, fmin(f80), -tmin(f80)); | ||
| 1351 | try testArgs(f80, fmin(f80), -0.0); | ||
| 1352 | try testArgs(f80, fmin(f80), 0.0); | ||
| 1353 | try testArgs(f80, fmin(f80), tmin(f80)); | ||
| 1354 | try testArgs(f80, fmin(f80), fmin(f80)); | ||
| 1355 | try testArgs(f80, fmin(f80), 1e-1); | ||
| 1356 | try testArgs(f80, fmin(f80), 1e0); | ||
| 1357 | try testArgs(f80, fmin(f80), 1e1); | ||
| 1358 | try testArgs(f80, fmin(f80), fmax(f80)); | ||
| 1359 | try testArgs(f80, fmin(f80), inf(f80)); | ||
| 1360 | try testArgs(f80, fmin(f80), nan(f80)); | ||
| 1361 | |||
| 1362 | try testArgs(f80, 1e-1, -nan(f80)); | ||
| 1363 | try testArgs(f80, 1e-1, -inf(f80)); | ||
| 1364 | try testArgs(f80, 1e-1, -fmax(f80)); | ||
| 1365 | try testArgs(f80, 1e-1, -1e1); | ||
| 1366 | try testArgs(f80, 1e-1, -1e0); | ||
| 1367 | try testArgs(f80, 1e-1, -1e-1); | ||
| 1368 | try testArgs(f80, 1e-1, -fmin(f80)); | ||
| 1369 | try testArgs(f80, 1e-1, -tmin(f80)); | ||
| 1370 | try testArgs(f80, 1e-1, -0.0); | ||
| 1371 | try testArgs(f80, 1e-1, 0.0); | ||
| 1372 | try testArgs(f80, 1e-1, tmin(f80)); | ||
| 1373 | try testArgs(f80, 1e-1, fmin(f80)); | ||
| 1374 | try testArgs(f80, 1e-1, 1e-1); | ||
| 1375 | try testArgs(f80, 1e-1, 1e0); | ||
| 1376 | try testArgs(f80, 1e-1, 1e1); | ||
| 1377 | try testArgs(f80, 1e-1, fmax(f80)); | ||
| 1378 | try testArgs(f80, 1e-1, inf(f80)); | ||
| 1379 | try testArgs(f80, 1e-1, nan(f80)); | ||
| 1380 | |||
| 1381 | try testArgs(f80, 1e0, -nan(f80)); | ||
| 1382 | try testArgs(f80, 1e0, -inf(f80)); | ||
| 1383 | try testArgs(f80, 1e0, -fmax(f80)); | ||
| 1384 | try testArgs(f80, 1e0, -1e1); | ||
| 1385 | try testArgs(f80, 1e0, -1e0); | ||
| 1386 | try testArgs(f80, 1e0, -1e-1); | ||
| 1387 | try testArgs(f80, 1e0, -fmin(f80)); | ||
| 1388 | try testArgs(f80, 1e0, -tmin(f80)); | ||
| 1389 | try testArgs(f80, 1e0, -0.0); | ||
| 1390 | try testArgs(f80, 1e0, 0.0); | ||
| 1391 | try testArgs(f80, 1e0, tmin(f80)); | ||
| 1392 | try testArgs(f80, 1e0, fmin(f80)); | ||
| 1393 | try testArgs(f80, 1e0, 1e-1); | ||
| 1394 | try testArgs(f80, 1e0, 1e0); | ||
| 1395 | try testArgs(f80, 1e0, 1e1); | ||
| 1396 | try testArgs(f80, 1e0, fmax(f80)); | ||
| 1397 | try testArgs(f80, 1e0, inf(f80)); | ||
| 1398 | try testArgs(f80, 1e0, nan(f80)); | ||
| 1399 | |||
| 1400 | try testArgs(f80, 1e1, -nan(f80)); | ||
| 1401 | try testArgs(f80, 1e1, -inf(f80)); | ||
| 1402 | try testArgs(f80, 1e1, -fmax(f80)); | ||
| 1403 | try testArgs(f80, 1e1, -1e1); | ||
| 1404 | try testArgs(f80, 1e1, -1e0); | ||
| 1405 | try testArgs(f80, 1e1, -1e-1); | ||
| 1406 | try testArgs(f80, 1e1, -fmin(f80)); | ||
| 1407 | try testArgs(f80, 1e1, -tmin(f80)); | ||
| 1408 | try testArgs(f80, 1e1, -0.0); | ||
| 1409 | try testArgs(f80, 1e1, 0.0); | ||
| 1410 | try testArgs(f80, 1e1, tmin(f80)); | ||
| 1411 | try testArgs(f80, 1e1, fmin(f80)); | ||
| 1412 | try testArgs(f80, 1e1, 1e-1); | ||
| 1413 | try testArgs(f80, 1e1, 1e0); | ||
| 1414 | try testArgs(f80, 1e1, 1e1); | ||
| 1415 | try testArgs(f80, 1e1, fmax(f80)); | ||
| 1416 | try testArgs(f80, 1e1, inf(f80)); | ||
| 1417 | try testArgs(f80, 1e1, nan(f80)); | ||
| 1418 | |||
| 1419 | try testArgs(f80, fmax(f80), -nan(f80)); | ||
| 1420 | try testArgs(f80, fmax(f80), -inf(f80)); | ||
| 1421 | try testArgs(f80, fmax(f80), -fmax(f80)); | ||
| 1422 | try testArgs(f80, fmax(f80), -1e1); | ||
| 1423 | try testArgs(f80, fmax(f80), -1e0); | ||
| 1424 | try testArgs(f80, fmax(f80), -1e-1); | ||
| 1425 | try testArgs(f80, fmax(f80), -fmin(f80)); | ||
| 1426 | try testArgs(f80, fmax(f80), -tmin(f80)); | ||
| 1427 | try testArgs(f80, fmax(f80), -0.0); | ||
| 1428 | try testArgs(f80, fmax(f80), 0.0); | ||
| 1429 | try testArgs(f80, fmax(f80), tmin(f80)); | ||
| 1430 | try testArgs(f80, fmax(f80), fmin(f80)); | ||
| 1431 | try testArgs(f80, fmax(f80), 1e-1); | ||
| 1432 | try testArgs(f80, fmax(f80), 1e0); | ||
| 1433 | try testArgs(f80, fmax(f80), 1e1); | ||
| 1434 | try testArgs(f80, fmax(f80), fmax(f80)); | ||
| 1435 | try testArgs(f80, fmax(f80), inf(f80)); | ||
| 1436 | try testArgs(f80, fmax(f80), nan(f80)); | ||
| 1437 | |||
| 1438 | try testArgs(f80, inf(f80), -nan(f80)); | ||
| 1439 | try testArgs(f80, inf(f80), -inf(f80)); | ||
| 1440 | try testArgs(f80, inf(f80), -fmax(f80)); | ||
| 1441 | try testArgs(f80, inf(f80), -1e1); | ||
| 1442 | try testArgs(f80, inf(f80), -1e0); | ||
| 1443 | try testArgs(f80, inf(f80), -1e-1); | ||
| 1444 | try testArgs(f80, inf(f80), -fmin(f80)); | ||
| 1445 | try testArgs(f80, inf(f80), -tmin(f80)); | ||
| 1446 | try testArgs(f80, inf(f80), -0.0); | ||
| 1447 | try testArgs(f80, inf(f80), 0.0); | ||
| 1448 | try testArgs(f80, inf(f80), tmin(f80)); | ||
| 1449 | try testArgs(f80, inf(f80), fmin(f80)); | ||
| 1450 | try testArgs(f80, inf(f80), 1e-1); | ||
| 1451 | try testArgs(f80, inf(f80), 1e0); | ||
| 1452 | try testArgs(f80, inf(f80), 1e1); | ||
| 1453 | try testArgs(f80, inf(f80), fmax(f80)); | ||
| 1454 | try testArgs(f80, inf(f80), inf(f80)); | ||
| 1455 | try testArgs(f80, inf(f80), nan(f80)); | ||
| 1456 | |||
| 1457 | try testArgs(f80, nan(f80), -nan(f80)); | ||
| 1458 | try testArgs(f80, nan(f80), -inf(f80)); | ||
| 1459 | try testArgs(f80, nan(f80), -fmax(f80)); | ||
| 1460 | try testArgs(f80, nan(f80), -1e1); | ||
| 1461 | try testArgs(f80, nan(f80), -1e0); | ||
| 1462 | try testArgs(f80, nan(f80), -1e-1); | ||
| 1463 | try testArgs(f80, nan(f80), -fmin(f80)); | ||
| 1464 | try testArgs(f80, nan(f80), -tmin(f80)); | ||
| 1465 | try testArgs(f80, nan(f80), -0.0); | ||
| 1466 | try testArgs(f80, nan(f80), 0.0); | ||
| 1467 | try testArgs(f80, nan(f80), tmin(f80)); | ||
| 1468 | try testArgs(f80, nan(f80), fmin(f80)); | ||
| 1469 | try testArgs(f80, nan(f80), 1e-1); | ||
| 1470 | try testArgs(f80, nan(f80), 1e0); | ||
| 1471 | try testArgs(f80, nan(f80), 1e1); | ||
| 1472 | try testArgs(f80, nan(f80), fmax(f80)); | ||
| 1473 | try testArgs(f80, nan(f80), inf(f80)); | ||
| 1474 | try testArgs(f80, nan(f80), nan(f80)); | ||
| 1475 | |||
| 1476 | try testArgs(f128, -nan(f128), -nan(f128)); | ||
| 1477 | try testArgs(f128, -nan(f128), -inf(f128)); | ||
| 1478 | try testArgs(f128, -nan(f128), -fmax(f128)); | ||
| 1479 | try testArgs(f128, -nan(f128), -1e1); | ||
| 1480 | try testArgs(f128, -nan(f128), -1e0); | ||
| 1481 | try testArgs(f128, -nan(f128), -1e-1); | ||
| 1482 | try testArgs(f128, -nan(f128), -fmin(f128)); | ||
| 1483 | try testArgs(f128, -nan(f128), -tmin(f128)); | ||
| 1484 | try testArgs(f128, -nan(f128), -0.0); | ||
| 1485 | try testArgs(f128, -nan(f128), 0.0); | ||
| 1486 | try testArgs(f128, -nan(f128), tmin(f128)); | ||
| 1487 | try testArgs(f128, -nan(f128), fmin(f128)); | ||
| 1488 | try testArgs(f128, -nan(f128), 1e-1); | ||
| 1489 | try testArgs(f128, -nan(f128), 1e0); | ||
| 1490 | try testArgs(f128, -nan(f128), 1e1); | ||
| 1491 | try testArgs(f128, -nan(f128), fmax(f128)); | ||
| 1492 | try testArgs(f128, -nan(f128), inf(f128)); | ||
| 1493 | try testArgs(f128, -nan(f128), nan(f128)); | ||
| 1494 | |||
| 1495 | try testArgs(f128, -inf(f128), -nan(f128)); | ||
| 1496 | try testArgs(f128, -inf(f128), -inf(f128)); | ||
| 1497 | try testArgs(f128, -inf(f128), -fmax(f128)); | ||
| 1498 | try testArgs(f128, -inf(f128), -1e1); | ||
| 1499 | try testArgs(f128, -inf(f128), -1e0); | ||
| 1500 | try testArgs(f128, -inf(f128), -1e-1); | ||
| 1501 | try testArgs(f128, -inf(f128), -fmin(f128)); | ||
| 1502 | try testArgs(f128, -inf(f128), -tmin(f128)); | ||
| 1503 | try testArgs(f128, -inf(f128), -0.0); | ||
| 1504 | try testArgs(f128, -inf(f128), 0.0); | ||
| 1505 | try testArgs(f128, -inf(f128), tmin(f128)); | ||
| 1506 | try testArgs(f128, -inf(f128), fmin(f128)); | ||
| 1507 | try testArgs(f128, -inf(f128), 1e-1); | ||
| 1508 | try testArgs(f128, -inf(f128), 1e0); | ||
| 1509 | try testArgs(f128, -inf(f128), 1e1); | ||
| 1510 | try testArgs(f128, -inf(f128), fmax(f128)); | ||
| 1511 | try testArgs(f128, -inf(f128), inf(f128)); | ||
| 1512 | try testArgs(f128, -inf(f128), nan(f128)); | ||
| 1513 | |||
| 1514 | try testArgs(f128, -fmax(f128), -nan(f128)); | ||
| 1515 | try testArgs(f128, -fmax(f128), -inf(f128)); | ||
| 1516 | try testArgs(f128, -fmax(f128), -fmax(f128)); | ||
| 1517 | try testArgs(f128, -fmax(f128), -1e1); | ||
| 1518 | try testArgs(f128, -fmax(f128), -1e0); | ||
| 1519 | try testArgs(f128, -fmax(f128), -1e-1); | ||
| 1520 | try testArgs(f128, -fmax(f128), -fmin(f128)); | ||
| 1521 | try testArgs(f128, -fmax(f128), -tmin(f128)); | ||
| 1522 | try testArgs(f128, -fmax(f128), -0.0); | ||
| 1523 | try testArgs(f128, -fmax(f128), 0.0); | ||
| 1524 | try testArgs(f128, -fmax(f128), tmin(f128)); | ||
| 1525 | try testArgs(f128, -fmax(f128), fmin(f128)); | ||
| 1526 | try testArgs(f128, -fmax(f128), 1e-1); | ||
| 1527 | try testArgs(f128, -fmax(f128), 1e0); | ||
| 1528 | try testArgs(f128, -fmax(f128), 1e1); | ||
| 1529 | try testArgs(f128, -fmax(f128), fmax(f128)); | ||
| 1530 | try testArgs(f128, -fmax(f128), inf(f128)); | ||
| 1531 | try testArgs(f128, -fmax(f128), nan(f128)); | ||
| 1532 | |||
| 1533 | try testArgs(f128, -1e1, -nan(f128)); | ||
| 1534 | try testArgs(f128, -1e1, -inf(f128)); | ||
| 1535 | try testArgs(f128, -1e1, -fmax(f128)); | ||
| 1536 | try testArgs(f128, -1e1, -1e1); | ||
| 1537 | try testArgs(f128, -1e1, -1e0); | ||
| 1538 | try testArgs(f128, -1e1, -1e-1); | ||
| 1539 | try testArgs(f128, -1e1, -fmin(f128)); | ||
| 1540 | try testArgs(f128, -1e1, -tmin(f128)); | ||
| 1541 | try testArgs(f128, -1e1, -0.0); | ||
| 1542 | try testArgs(f128, -1e1, 0.0); | ||
| 1543 | try testArgs(f128, -1e1, tmin(f128)); | ||
| 1544 | try testArgs(f128, -1e1, fmin(f128)); | ||
| 1545 | try testArgs(f128, -1e1, 1e-1); | ||
| 1546 | try testArgs(f128, -1e1, 1e0); | ||
| 1547 | try testArgs(f128, -1e1, 1e1); | ||
| 1548 | try testArgs(f128, -1e1, fmax(f128)); | ||
| 1549 | try testArgs(f128, -1e1, inf(f128)); | ||
| 1550 | try testArgs(f128, -1e1, nan(f128)); | ||
| 1551 | |||
| 1552 | try testArgs(f128, -1e0, -nan(f128)); | ||
| 1553 | try testArgs(f128, -1e0, -inf(f128)); | ||
| 1554 | try testArgs(f128, -1e0, -fmax(f128)); | ||
| 1555 | try testArgs(f128, -1e0, -1e1); | ||
| 1556 | try testArgs(f128, -1e0, -1e0); | ||
| 1557 | try testArgs(f128, -1e0, -1e-1); | ||
| 1558 | try testArgs(f128, -1e0, -fmin(f128)); | ||
| 1559 | try testArgs(f128, -1e0, -tmin(f128)); | ||
| 1560 | try testArgs(f128, -1e0, -0.0); | ||
| 1561 | try testArgs(f128, -1e0, 0.0); | ||
| 1562 | try testArgs(f128, -1e0, tmin(f128)); | ||
| 1563 | try testArgs(f128, -1e0, fmin(f128)); | ||
| 1564 | try testArgs(f128, -1e0, 1e-1); | ||
| 1565 | try testArgs(f128, -1e0, 1e0); | ||
| 1566 | try testArgs(f128, -1e0, 1e1); | ||
| 1567 | try testArgs(f128, -1e0, fmax(f128)); | ||
| 1568 | try testArgs(f128, -1e0, inf(f128)); | ||
| 1569 | try testArgs(f128, -1e0, nan(f128)); | ||
| 1570 | |||
| 1571 | try testArgs(f128, -1e-1, -nan(f128)); | ||
| 1572 | try testArgs(f128, -1e-1, -inf(f128)); | ||
| 1573 | try testArgs(f128, -1e-1, -fmax(f128)); | ||
| 1574 | try testArgs(f128, -1e-1, -1e1); | ||
| 1575 | try testArgs(f128, -1e-1, -1e0); | ||
| 1576 | try testArgs(f128, -1e-1, -1e-1); | ||
| 1577 | try testArgs(f128, -1e-1, -fmin(f128)); | ||
| 1578 | try testArgs(f128, -1e-1, -tmin(f128)); | ||
| 1579 | try testArgs(f128, -1e-1, -0.0); | ||
| 1580 | try testArgs(f128, -1e-1, 0.0); | ||
| 1581 | try testArgs(f128, -1e-1, tmin(f128)); | ||
| 1582 | try testArgs(f128, -1e-1, fmin(f128)); | ||
| 1583 | try testArgs(f128, -1e-1, 1e-1); | ||
| 1584 | try testArgs(f128, -1e-1, 1e0); | ||
| 1585 | try testArgs(f128, -1e-1, 1e1); | ||
| 1586 | try testArgs(f128, -1e-1, fmax(f128)); | ||
| 1587 | try testArgs(f128, -1e-1, inf(f128)); | ||
| 1588 | try testArgs(f128, -1e-1, nan(f128)); | ||
| 1589 | |||
| 1590 | try testArgs(f128, -fmin(f128), -nan(f128)); | ||
| 1591 | try testArgs(f128, -fmin(f128), -inf(f128)); | ||
| 1592 | try testArgs(f128, -fmin(f128), -fmax(f128)); | ||
| 1593 | try testArgs(f128, -fmin(f128), -1e1); | ||
| 1594 | try testArgs(f128, -fmin(f128), -1e0); | ||
| 1595 | try testArgs(f128, -fmin(f128), -1e-1); | ||
| 1596 | try testArgs(f128, -fmin(f128), -fmin(f128)); | ||
| 1597 | try testArgs(f128, -fmin(f128), -tmin(f128)); | ||
| 1598 | try testArgs(f128, -fmin(f128), -0.0); | ||
| 1599 | try testArgs(f128, -fmin(f128), 0.0); | ||
| 1600 | try testArgs(f128, -fmin(f128), tmin(f128)); | ||
| 1601 | try testArgs(f128, -fmin(f128), fmin(f128)); | ||
| 1602 | try testArgs(f128, -fmin(f128), 1e-1); | ||
| 1603 | try testArgs(f128, -fmin(f128), 1e0); | ||
| 1604 | try testArgs(f128, -fmin(f128), 1e1); | ||
| 1605 | try testArgs(f128, -fmin(f128), fmax(f128)); | ||
| 1606 | try testArgs(f128, -fmin(f128), inf(f128)); | ||
| 1607 | try testArgs(f128, -fmin(f128), nan(f128)); | ||
| 1608 | |||
| 1609 | try testArgs(f128, -tmin(f128), -nan(f128)); | ||
| 1610 | try testArgs(f128, -tmin(f128), -inf(f128)); | ||
| 1611 | try testArgs(f128, -tmin(f128), -fmax(f128)); | ||
| 1612 | try testArgs(f128, -tmin(f128), -1e1); | ||
| 1613 | try testArgs(f128, -tmin(f128), -1e0); | ||
| 1614 | try testArgs(f128, -tmin(f128), -1e-1); | ||
| 1615 | try testArgs(f128, -tmin(f128), -fmin(f128)); | ||
| 1616 | try testArgs(f128, -tmin(f128), -tmin(f128)); | ||
| 1617 | try testArgs(f128, -tmin(f128), -0.0); | ||
| 1618 | try testArgs(f128, -tmin(f128), 0.0); | ||
| 1619 | try testArgs(f128, -tmin(f128), tmin(f128)); | ||
| 1620 | try testArgs(f128, -tmin(f128), fmin(f128)); | ||
| 1621 | try testArgs(f128, -tmin(f128), 1e-1); | ||
| 1622 | try testArgs(f128, -tmin(f128), 1e0); | ||
| 1623 | try testArgs(f128, -tmin(f128), 1e1); | ||
| 1624 | try testArgs(f128, -tmin(f128), fmax(f128)); | ||
| 1625 | try testArgs(f128, -tmin(f128), inf(f128)); | ||
| 1626 | try testArgs(f128, -tmin(f128), nan(f128)); | ||
| 1627 | |||
| 1628 | try testArgs(f128, -0.0, -nan(f128)); | ||
| 1629 | try testArgs(f128, -0.0, -inf(f128)); | ||
| 1630 | try testArgs(f128, -0.0, -fmax(f128)); | ||
| 1631 | try testArgs(f128, -0.0, -1e1); | ||
| 1632 | try testArgs(f128, -0.0, -1e0); | ||
| 1633 | try testArgs(f128, -0.0, -1e-1); | ||
| 1634 | try testArgs(f128, -0.0, -fmin(f128)); | ||
| 1635 | try testArgs(f128, -0.0, -tmin(f128)); | ||
| 1636 | try testArgs(f128, -0.0, -0.0); | ||
| 1637 | try testArgs(f128, -0.0, 0.0); | ||
| 1638 | try testArgs(f128, -0.0, tmin(f128)); | ||
| 1639 | try testArgs(f128, -0.0, fmin(f128)); | ||
| 1640 | try testArgs(f128, -0.0, 1e-1); | ||
| 1641 | try testArgs(f128, -0.0, 1e0); | ||
| 1642 | try testArgs(f128, -0.0, 1e1); | ||
| 1643 | try testArgs(f128, -0.0, fmax(f128)); | ||
| 1644 | try testArgs(f128, -0.0, inf(f128)); | ||
| 1645 | try testArgs(f128, -0.0, nan(f128)); | ||
| 1646 | |||
| 1647 | try testArgs(f128, 0.0, -nan(f128)); | ||
| 1648 | try testArgs(f128, 0.0, -inf(f128)); | ||
| 1649 | try testArgs(f128, 0.0, -fmax(f128)); | ||
| 1650 | try testArgs(f128, 0.0, -1e1); | ||
| 1651 | try testArgs(f128, 0.0, -1e0); | ||
| 1652 | try testArgs(f128, 0.0, -1e-1); | ||
| 1653 | try testArgs(f128, 0.0, -fmin(f128)); | ||
| 1654 | try testArgs(f128, 0.0, -tmin(f128)); | ||
| 1655 | try testArgs(f128, 0.0, -0.0); | ||
| 1656 | try testArgs(f128, 0.0, 0.0); | ||
| 1657 | try testArgs(f128, 0.0, tmin(f128)); | ||
| 1658 | try testArgs(f128, 0.0, fmin(f128)); | ||
| 1659 | try testArgs(f128, 0.0, 1e-1); | ||
| 1660 | try testArgs(f128, 0.0, 1e0); | ||
| 1661 | try testArgs(f128, 0.0, 1e1); | ||
| 1662 | try testArgs(f128, 0.0, fmax(f128)); | ||
| 1663 | try testArgs(f128, 0.0, inf(f128)); | ||
| 1664 | try testArgs(f128, 0.0, nan(f128)); | ||
| 1665 | |||
| 1666 | try testArgs(f128, tmin(f128), -nan(f128)); | ||
| 1667 | try testArgs(f128, tmin(f128), -inf(f128)); | ||
| 1668 | try testArgs(f128, tmin(f128), -fmax(f128)); | ||
| 1669 | try testArgs(f128, tmin(f128), -1e1); | ||
| 1670 | try testArgs(f128, tmin(f128), -1e0); | ||
| 1671 | try testArgs(f128, tmin(f128), -1e-1); | ||
| 1672 | try testArgs(f128, tmin(f128), -fmin(f128)); | ||
| 1673 | try testArgs(f128, tmin(f128), -tmin(f128)); | ||
| 1674 | try testArgs(f128, tmin(f128), -0.0); | ||
| 1675 | try testArgs(f128, tmin(f128), 0.0); | ||
| 1676 | try testArgs(f128, tmin(f128), tmin(f128)); | ||
| 1677 | try testArgs(f128, tmin(f128), fmin(f128)); | ||
| 1678 | try testArgs(f128, tmin(f128), 1e-1); | ||
| 1679 | try testArgs(f128, tmin(f128), 1e0); | ||
| 1680 | try testArgs(f128, tmin(f128), 1e1); | ||
| 1681 | try testArgs(f128, tmin(f128), fmax(f128)); | ||
| 1682 | try testArgs(f128, tmin(f128), inf(f128)); | ||
| 1683 | try testArgs(f128, tmin(f128), nan(f128)); | ||
| 1684 | |||
| 1685 | try testArgs(f128, fmin(f128), -nan(f128)); | ||
| 1686 | try testArgs(f128, fmin(f128), -inf(f128)); | ||
| 1687 | try testArgs(f128, fmin(f128), -fmax(f128)); | ||
| 1688 | try testArgs(f128, fmin(f128), -1e1); | ||
| 1689 | try testArgs(f128, fmin(f128), -1e0); | ||
| 1690 | try testArgs(f128, fmin(f128), -1e-1); | ||
| 1691 | try testArgs(f128, fmin(f128), -fmin(f128)); | ||
| 1692 | try testArgs(f128, fmin(f128), -tmin(f128)); | ||
| 1693 | try testArgs(f128, fmin(f128), -0.0); | ||
| 1694 | try testArgs(f128, fmin(f128), 0.0); | ||
| 1695 | try testArgs(f128, fmin(f128), tmin(f128)); | ||
| 1696 | try testArgs(f128, fmin(f128), fmin(f128)); | ||
| 1697 | try testArgs(f128, fmin(f128), 1e-1); | ||
| 1698 | try testArgs(f128, fmin(f128), 1e0); | ||
| 1699 | try testArgs(f128, fmin(f128), 1e1); | ||
| 1700 | try testArgs(f128, fmin(f128), fmax(f128)); | ||
| 1701 | try testArgs(f128, fmin(f128), inf(f128)); | ||
| 1702 | try testArgs(f128, fmin(f128), nan(f128)); | ||
| 1703 | |||
| 1704 | try testArgs(f128, 1e-1, -nan(f128)); | ||
| 1705 | try testArgs(f128, 1e-1, -inf(f128)); | ||
| 1706 | try testArgs(f128, 1e-1, -fmax(f128)); | ||
| 1707 | try testArgs(f128, 1e-1, -1e1); | ||
| 1708 | try testArgs(f128, 1e-1, -1e0); | ||
| 1709 | try testArgs(f128, 1e-1, -1e-1); | ||
| 1710 | try testArgs(f128, 1e-1, -fmin(f128)); | ||
| 1711 | try testArgs(f128, 1e-1, -tmin(f128)); | ||
| 1712 | try testArgs(f128, 1e-1, -0.0); | ||
| 1713 | try testArgs(f128, 1e-1, 0.0); | ||
| 1714 | try testArgs(f128, 1e-1, tmin(f128)); | ||
| 1715 | try testArgs(f128, 1e-1, fmin(f128)); | ||
| 1716 | try testArgs(f128, 1e-1, 1e-1); | ||
| 1717 | try testArgs(f128, 1e-1, 1e0); | ||
| 1718 | try testArgs(f128, 1e-1, 1e1); | ||
| 1719 | try testArgs(f128, 1e-1, fmax(f128)); | ||
| 1720 | try testArgs(f128, 1e-1, inf(f128)); | ||
| 1721 | try testArgs(f128, 1e-1, nan(f128)); | ||
| 1722 | |||
| 1723 | try testArgs(f128, 1e0, -nan(f128)); | ||
| 1724 | try testArgs(f128, 1e0, -inf(f128)); | ||
| 1725 | try testArgs(f128, 1e0, -fmax(f128)); | ||
| 1726 | try testArgs(f128, 1e0, -1e1); | ||
| 1727 | try testArgs(f128, 1e0, -1e0); | ||
| 1728 | try testArgs(f128, 1e0, -1e-1); | ||
| 1729 | try testArgs(f128, 1e0, -fmin(f128)); | ||
| 1730 | try testArgs(f128, 1e0, -tmin(f128)); | ||
| 1731 | try testArgs(f128, 1e0, -0.0); | ||
| 1732 | try testArgs(f128, 1e0, 0.0); | ||
| 1733 | try testArgs(f128, 1e0, tmin(f128)); | ||
| 1734 | try testArgs(f128, 1e0, fmin(f128)); | ||
| 1735 | try testArgs(f128, 1e0, 1e-1); | ||
| 1736 | try testArgs(f128, 1e0, 1e0); | ||
| 1737 | try testArgs(f128, 1e0, 1e1); | ||
| 1738 | try testArgs(f128, 1e0, fmax(f128)); | ||
| 1739 | try testArgs(f128, 1e0, inf(f128)); | ||
| 1740 | try testArgs(f128, 1e0, nan(f128)); | ||
| 1741 | |||
| 1742 | try testArgs(f128, 1e1, -nan(f128)); | ||
| 1743 | try testArgs(f128, 1e1, -inf(f128)); | ||
| 1744 | try testArgs(f128, 1e1, -fmax(f128)); | ||
| 1745 | try testArgs(f128, 1e1, -1e1); | ||
| 1746 | try testArgs(f128, 1e1, -1e0); | ||
| 1747 | try testArgs(f128, 1e1, -1e-1); | ||
| 1748 | try testArgs(f128, 1e1, -fmin(f128)); | ||
| 1749 | try testArgs(f128, 1e1, -tmin(f128)); | ||
| 1750 | try testArgs(f128, 1e1, -0.0); | ||
| 1751 | try testArgs(f128, 1e1, 0.0); | ||
| 1752 | try testArgs(f128, 1e1, tmin(f128)); | ||
| 1753 | try testArgs(f128, 1e1, fmin(f128)); | ||
| 1754 | try testArgs(f128, 1e1, 1e-1); | ||
| 1755 | try testArgs(f128, 1e1, 1e0); | ||
| 1756 | try testArgs(f128, 1e1, 1e1); | ||
| 1757 | try testArgs(f128, 1e1, fmax(f128)); | ||
| 1758 | try testArgs(f128, 1e1, inf(f128)); | ||
| 1759 | try testArgs(f128, 1e1, nan(f128)); | ||
| 1760 | |||
| 1761 | try testArgs(f128, fmax(f128), -nan(f128)); | ||
| 1762 | try testArgs(f128, fmax(f128), -inf(f128)); | ||
| 1763 | try testArgs(f128, fmax(f128), -fmax(f128)); | ||
| 1764 | try testArgs(f128, fmax(f128), -1e1); | ||
| 1765 | try testArgs(f128, fmax(f128), -1e0); | ||
| 1766 | try testArgs(f128, fmax(f128), -1e-1); | ||
| 1767 | try testArgs(f128, fmax(f128), -fmin(f128)); | ||
| 1768 | try testArgs(f128, fmax(f128), -tmin(f128)); | ||
| 1769 | try testArgs(f128, fmax(f128), -0.0); | ||
| 1770 | try testArgs(f128, fmax(f128), 0.0); | ||
| 1771 | try testArgs(f128, fmax(f128), tmin(f128)); | ||
| 1772 | try testArgs(f128, fmax(f128), fmin(f128)); | ||
| 1773 | try testArgs(f128, fmax(f128), 1e-1); | ||
| 1774 | try testArgs(f128, fmax(f128), 1e0); | ||
| 1775 | try testArgs(f128, fmax(f128), 1e1); | ||
| 1776 | try testArgs(f128, fmax(f128), fmax(f128)); | ||
| 1777 | try testArgs(f128, fmax(f128), inf(f128)); | ||
| 1778 | try testArgs(f128, fmax(f128), nan(f128)); | ||
| 1779 | |||
| 1780 | try testArgs(f128, inf(f128), -nan(f128)); | ||
| 1781 | try testArgs(f128, inf(f128), -inf(f128)); | ||
| 1782 | try testArgs(f128, inf(f128), -fmax(f128)); | ||
| 1783 | try testArgs(f128, inf(f128), -1e1); | ||
| 1784 | try testArgs(f128, inf(f128), -1e0); | ||
| 1785 | try testArgs(f128, inf(f128), -1e-1); | ||
| 1786 | try testArgs(f128, inf(f128), -fmin(f128)); | ||
| 1787 | try testArgs(f128, inf(f128), -tmin(f128)); | ||
| 1788 | try testArgs(f128, inf(f128), -0.0); | ||
| 1789 | try testArgs(f128, inf(f128), 0.0); | ||
| 1790 | try testArgs(f128, inf(f128), tmin(f128)); | ||
| 1791 | try testArgs(f128, inf(f128), fmin(f128)); | ||
| 1792 | try testArgs(f128, inf(f128), 1e-1); | ||
| 1793 | try testArgs(f128, inf(f128), 1e0); | ||
| 1794 | try testArgs(f128, inf(f128), 1e1); | ||
| 1795 | try testArgs(f128, inf(f128), fmax(f128)); | ||
| 1796 | try testArgs(f128, inf(f128), inf(f128)); | ||
| 1797 | try testArgs(f128, inf(f128), nan(f128)); | ||
| 1798 | |||
| 1799 | try testArgs(f128, nan(f128), -nan(f128)); | ||
| 1800 | try testArgs(f128, nan(f128), -inf(f128)); | ||
| 1801 | try testArgs(f128, nan(f128), -fmax(f128)); | ||
| 1802 | try testArgs(f128, nan(f128), -1e1); | ||
| 1803 | try testArgs(f128, nan(f128), -1e0); | ||
| 1804 | try testArgs(f128, nan(f128), -1e-1); | ||
| 1805 | try testArgs(f128, nan(f128), -fmin(f128)); | ||
| 1806 | try testArgs(f128, nan(f128), -tmin(f128)); | ||
| 1807 | try testArgs(f128, nan(f128), -0.0); | ||
| 1808 | try testArgs(f128, nan(f128), 0.0); | ||
| 1809 | try testArgs(f128, nan(f128), tmin(f128)); | ||
| 1810 | try testArgs(f128, nan(f128), fmin(f128)); | ||
| 1811 | try testArgs(f128, nan(f128), 1e-1); | ||
| 1812 | try testArgs(f128, nan(f128), 1e0); | ||
| 1813 | try testArgs(f128, nan(f128), 1e1); | ||
| 1814 | try testArgs(f128, nan(f128), fmax(f128)); | ||
| 1815 | try testArgs(f128, nan(f128), inf(f128)); | ||
| 1816 | try testArgs(f128, nan(f128), nan(f128)); | ||
| 1817 | } | ||
| 1818 | fn testIntVectors() !void { | ||
| 1819 | try testArgs(@Vector(1, i1), .{ | ||
| 1820 | 0x0, | ||
| 1821 | }, .{ | ||
| 1822 | -0x1, | ||
| 1823 | }); | ||
| 1824 | try testArgs(@Vector(2, i1), .{ | ||
| 1825 | 0x0, 0x00, | ||
| 1826 | }, .{ | ||
| 1827 | -0x1, -0x1, | ||
| 1828 | }); | ||
| 1829 | try testArgs(@Vector(4, i1), .{ | ||
| 1830 | 0x0, 0x0, 0x0, 0x0, | ||
| 1831 | }, .{ | ||
| 1832 | -0x1, -0x1, -0x1, -0x1, | ||
| 1833 | }); | ||
| 1834 | try testArgs(@Vector(8, i1), .{ | ||
| 1835 | 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, | ||
| 1836 | }, .{ | ||
| 1837 | -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, | ||
| 1838 | }); | ||
| 1839 | try testArgs(@Vector(16, i1), .{ | ||
| 1840 | 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, | ||
| 1841 | }, .{ | ||
| 1842 | -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, | ||
| 1843 | }); | ||
| 1844 | try testArgs(@Vector(32, i1), .{ | ||
| 1845 | 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, | ||
| 1846 | 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, | ||
| 1847 | }, .{ | ||
| 1848 | -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, | ||
| 1849 | -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, | ||
| 1850 | }); | ||
| 1851 | try testArgs(@Vector(64, i1), .{ | ||
| 1852 | 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, | ||
| 1853 | 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, | ||
| 1854 | 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, | ||
| 1855 | 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, | ||
| 1856 | }, .{ | ||
| 1857 | -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, | ||
| 1858 | -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, | ||
| 1859 | -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, | ||
| 1860 | -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, | ||
| 1861 | }); | ||
| 1862 | try testArgs(@Vector(128, i1), .{ | ||
| 1863 | 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, | ||
| 1864 | 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, | ||
| 1865 | 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, | ||
| 1866 | 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, | ||
| 1867 | 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, | ||
| 1868 | 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, | ||
| 1869 | 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, | ||
| 1870 | 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, | ||
| 1871 | }, .{ | ||
| 1872 | -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, | ||
| 1873 | -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, | ||
| 1874 | -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, | ||
| 1875 | -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, | ||
| 1876 | -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, | ||
| 1877 | -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, | ||
| 1878 | -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, | ||
| 1879 | -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, | ||
| 1880 | }); | ||
| 1881 | |||
| 1882 | try testArgs(@Vector(1, u1), .{ | ||
| 1883 | 0x0, | ||
| 1884 | }, .{ | ||
| 1885 | 0x1, | ||
| 1886 | }); | ||
| 1887 | try testArgs(@Vector(2, u1), .{ | ||
| 1888 | 0x0, 0x1, | ||
| 1889 | }, .{ | ||
| 1890 | 0x1, 0x1, | ||
| 1891 | }); | ||
| 1892 | try testArgs(@Vector(4, u1), .{ | ||
| 1893 | 0x0, 0x0, 0x1, 0x0, | ||
| 1894 | }, .{ | ||
| 1895 | 0x1, 0x1, 0x1, 0x1, | ||
| 1896 | }); | ||
| 1897 | try testArgs(@Vector(8, u1), .{ | ||
| 1898 | 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x1, | ||
| 1899 | }, .{ | ||
| 1900 | 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, | ||
| 1901 | }); | ||
| 1902 | try testArgs(@Vector(16, u1), .{ | ||
| 1903 | 0x1, 0x0, 0x0, 0x1, 0x0, 0x0, 0x1, 0x0, 0x1, 0x0, 0x0, 0x1, 0x1, 0x1, 0x0, 0x1, | ||
| 1904 | }, .{ | ||
| 1905 | 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, | ||
| 1906 | }); | ||
| 1907 | try testArgs(@Vector(32, u1), .{ | ||
| 1908 | 0x0, 0x1, 0x1, 0x1, 0x0, 0x0, 0x0, 0x1, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, | ||
| 1909 | 0x1, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x1, 0x0, 0x1, 0x0, 0x0, | ||
| 1910 | }, .{ | ||
| 1911 | 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, | ||
| 1912 | 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, | ||
| 1913 | }); | ||
| 1914 | try testArgs(@Vector(64, u1), .{ | ||
| 1915 | 0x1, 0x1, 0x0, 0x1, 0x0, 0x1, 0x0, 0x1, 0x0, 0x1, 0x0, 0x1, 0x0, 0x0, 0x1, 0x1, | ||
| 1916 | 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x1, 0x0, 0x1, 0x1, 0x1, 0x1, | ||
| 1917 | 0x1, 0x0, 0x0, 0x1, 0x1, 0x0, 0x1, 0x1, 0x1, 0x1, 0x0, 0x1, 0x1, 0x0, 0x0, 0x1, | ||
| 1918 | 0x1, 0x0, 0x0, 0x1, 0x0, 0x0, 0x1, 0x0, 0x0, 0x1, 0x1, 0x0, 0x0, 0x1, 0x1, 0x0, | ||
| 1919 | }, .{ | ||
| 1920 | 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, | ||
| 1921 | 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, | ||
| 1922 | 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, | ||
| 1923 | 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, | ||
| 1924 | }); | ||
| 1925 | try testArgs(@Vector(128, u1), .{ | ||
| 1926 | 0x0, 0x0, 0x1, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x1, 0x0, 0x0, 0x0, 0x1, | ||
| 1927 | 0x1, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x1, 0x1, 0x1, 0x0, 0x0, 0x1, | ||
| 1928 | 0x1, 0x1, 0x0, 0x1, 0x1, 0x0, 0x0, 0x1, 0x1, 0x0, 0x0, 0x0, 0x1, 0x0, 0x1, 0x1, | ||
| 1929 | 0x1, 0x1, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x1, 0x1, 0x1, 0x0, 0x1, | ||
| 1930 | 0x1, 0x0, 0x1, 0x1, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x1, 0x1, | ||
| 1931 | 0x0, 0x1, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x1, 0x1, 0x0, 0x1, 0x1, | ||
| 1932 | 0x1, 0x0, 0x0, 0x1, 0x0, 0x1, 0x1, 0x1, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, | ||
| 1933 | 0x0, 0x0, 0x1, 0x1, 0x0, 0x1, 0x0, 0x0, 0x0, 0x1, 0x0, 0x1, 0x1, 0x1, 0x0, 0x1, | ||
| 1934 | }, .{ | ||
| 1935 | 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, | ||
| 1936 | 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, | ||
| 1937 | 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, | ||
| 1938 | 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, | ||
| 1939 | 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, | ||
| 1940 | 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, | ||
| 1941 | 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, | ||
| 1942 | 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, | ||
| 1943 | }); | ||
| 1944 | |||
| 1945 | // workaround https://github.com/ziglang/zig/issues/22914 | ||
| 1946 | // TODO: try testArgs(@Vector(1, i2), .{ | ||
| 1947 | // 0x1, | ||
| 1948 | // }, .{ | ||
| 1949 | // 0x1, | ||
| 1950 | // }); | ||
| 1951 | // try testArgs(@Vector(2, i2), .{ | ||
| 1952 | // 0x0, -0x2, | ||
| 1953 | // }, .{ | ||
| 1954 | // -0x2, -0x2, | ||
| 1955 | // }); | ||
| 1956 | // try testArgs(@Vector(4, i2), .{ | ||
| 1957 | // -0x2, -0x1, 0x0, -0x2, | ||
| 1958 | // }, .{ | ||
| 1959 | // -0x2, 0x1, -0x1, -0x2, | ||
| 1960 | // }); | ||
| 1961 | // try testArgs(@Vector(8, i2), .{ | ||
| 1962 | // -0x1, 0x1, 0x1, -0x1, -0x2, -0x2, 0x0, -0x2, | ||
| 1963 | // }, .{ | ||
| 1964 | // -0x1, -0x1, -0x2, -0x1, -0x2, 0x1, -0x1, 0x1, | ||
| 1965 | // }); | ||
| 1966 | // try testArgs(@Vector(16, i2), .{ | ||
| 1967 | // 0x0, -0x2, -0x1, -0x2, 0x1, 0x0, -0x1, 0x0, 0x1, -0x2, 0x1, -0x1, -0x2, -0x2, 0x1, 0x0, | ||
| 1968 | // }, .{ | ||
| 1969 | // -0x2, -0x2, 0x1, -0x2, -0x1, -0x2, -0x1, -0x2, -0x2, -0x2, -0x1, -0x2, 0x1, -0x2, -0x2, -0x2, | ||
| 1970 | // }); | ||
| 1971 | // try testArgs(@Vector(32, i2), .{ | ||
| 1972 | // -0x2, 0x1, -0x1, 0x1, 0x0, -0x2, 0x1, -0x2, -0x2, 0x0, -0x1, 0x0, -0x2, -0x2, 0x0, 0x1, | ||
| 1973 | // -0x1, 0x1, -0x1, 0x1, 0x1, 0x1, 0x1, -0x2, -0x1, -0x1, 0x1, -0x2, 0x0, -0x1, 0x0, -0x2, | ||
| 1974 | // }, .{ | ||
| 1975 | // 0x1, -0x1, 0x1, -0x1, 0x1, 0x1, 0x1, -0x2, 0x1, -0x2, -0x1, -0x2, 0x1, 0x1, 0x1, -0x1, | ||
| 1976 | // -0x2, 0x1, 0x1, -0x1, -0x2, -0x2, -0x1, -0x2, -0x1, -0x2, 0x1, -0x2, -0x1, 0x1, -0x2, -0x2, | ||
| 1977 | // }); | ||
| 1978 | // try testArgs(@Vector(64, i2), .{ | ||
| 1979 | // 0x1, -0x2, -0x1, 0x0, 0x1, -0x2, -0x1, -0x2, -0x2, -0x1, -0x2, -0x1, 0x1, 0x1, 0x0, 0x1, | ||
| 1980 | // -0x1, -0x1, -0x1, 0x1, 0x1, -0x1, 0x0, 0x1, -0x1, 0x0, 0x0, 0x1, 0x1, 0x0, -0x2, -0x2, | ||
| 1981 | // 0x1, 0x0, -0x2, -0x2, 0x1, -0x2, -0x2, 0x1, 0x1, -0x2, 0x1, 0x0, 0x0, -0x1, 0x0, 0x1, | ||
| 1982 | // -0x2, 0x0, 0x0, -0x1, -0x1, 0x1, -0x2, 0x0, -0x2, 0x0, -0x2, 0x1, 0x0, -0x1, -0x1, 0x1, | ||
| 1983 | // }, .{ | ||
| 1984 | // -0x2, -0x2, 0x1, -0x1, -0x2, -0x2, -0x1, -0x2, 0x1, 0x1, 0x1, -0x1, 0x1, 0x1, 0x1, -0x1, | ||
| 1985 | // -0x2, 0x1, 0x1, -0x2, -0x2, 0x1, 0x1, -0x1, -0x2, -0x2, 0x1, -0x1, -0x2, 0x1, -0x2, 0x1, | ||
| 1986 | // 0x1, -0x2, -0x2, -0x2, -0x2, 0x1, 0x1, 0x1, -0x2, 0x1, -0x1, 0x1, -0x1, 0x1, 0x1, -0x1, | ||
| 1987 | // -0x2, 0x1, -0x1, 0x1, -0x1, -0x1, 0x1, 0x1, -0x2, 0x1, 0x1, -0x2, -0x2, -0x1, -0x2, -0x2, | ||
| 1988 | // }); | ||
| 1989 | // try testArgs(@Vector(128, i2), .{ | ||
| 1990 | // -0x1, -0x2, 0x0, -0x2, -0x2, 0x1, -0x1, 0x0, -0x1, -0x2, 0x0, -0x2, 0x0, 0x1, 0x0, -0x1, | ||
| 1991 | // 0x0, -0x2, 0x1, 0x0, 0x1, 0x0, -0x2, 0x1, 0x1, 0x1, -0x1, 0x1, 0x0, -0x1, 0x1, -0x1, | ||
| 1992 | // 0x1, -0x2, 0x1, -0x2, 0x1, -0x2, 0x1, -0x2, -0x2, -0x2, 0x0, 0x0, 0x1, 0x1, -0x2, -0x1, | ||
| 1993 | // 0x1, 0x0, 0x0, 0x1, -0x2, -0x1, 0x0, -0x1, 0x1, -0x2, 0x1, 0x0, 0x1, 0x0, 0x0, -0x2, | ||
| 1994 | // 0x0, 0x0, -0x1, 0x1, -0x1, 0x0, -0x1, -0x2, 0x1, -0x2, -0x2, -0x1, -0x2, 0x0, 0x0, 0x0, | ||
| 1995 | // -0x1, -0x1, -0x1, -0x1, -0x2, 0x0, -0x1, 0x1, 0x0, 0x0, -0x2, 0x0, 0x0, 0x0, 0x0, 0x1, | ||
| 1996 | // 0x1, -0x2, 0x0, 0x0, -0x1, -0x1, 0x1, -0x1, -0x2, 0x0, -0x1, -0x1, -0x2, -0x2, 0x0, 0x0, | ||
| 1997 | // -0x1, 0x0, 0x1, 0x0, -0x1, -0x2, 0x1, -0x2, -0x1, -0x1, 0x0, 0x0, -0x1, 0x0, 0x0, 0x1, | ||
| 1998 | // }, .{ | ||
| 1999 | // -0x2, -0x2, 0x1, 0x1, -0x2, -0x1, 0x1, 0x1, 0x1, -0x2, -0x2, 0x1, -0x2, -0x2, 0x1, -0x1, | ||
| 2000 | // -0x1, -0x2, 0x1, -0x1, 0x1, 0x1, 0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, 0x1, 0x1, -0x2, | ||
| 2001 | // -0x1, -0x2, -0x2, -0x2, -0x2, -0x2, -0x1, -0x2, 0x1, 0x1, -0x1, -0x1, -0x1, -0x1, 0x1, -0x2, | ||
| 2002 | // 0x1, -0x1, 0x1, -0x1, 0x1, 0x1, -0x1, -0x2, 0x1, 0x1, -0x2, -0x2, -0x2, 0x1, 0x1, -0x2, | ||
| 2003 | // -0x1, 0x1, -0x2, -0x1, -0x1, 0x1, -0x2, -0x2, 0x1, 0x1, -0x2, -0x1, -0x2, -0x2, -0x2, -0x2, | ||
| 2004 | // 0x1, -0x1, 0x1, -0x2, 0x1, -0x1, -0x1, 0x1, 0x1, -0x1, 0x1, -0x1, -0x2, -0x2, -0x1, -0x2, | ||
| 2005 | // -0x2, 0x1, -0x2, -0x2, -0x1, -0x1, -0x1, -0x2, 0x1, -0x2, 0x1, -0x2, 0x1, -0x2, -0x2, 0x1, | ||
| 2006 | // 0x1, -0x1, 0x1, 0x1, -0x1, -0x2, 0x1, 0x1, -0x1, -0x2, -0x1, -0x1, 0x1, -0x2, -0x2, -0x2, | ||
| 2007 | // }); | ||
| 2008 | try testArgs(@Vector(1, i2), .{ | ||
| 2009 | -0x1, | ||
| 2010 | }, .{ | ||
| 2011 | -0x2, | ||
| 2012 | }); | ||
| 2013 | try testArgs(@Vector(2, i2), .{ | ||
| 2014 | -0x1, -0x1, | ||
| 2015 | }, .{ | ||
| 2016 | 0x1, -0x1, | ||
| 2017 | }); | ||
| 2018 | try testArgs(@Vector(4, i2), .{ | ||
| 2019 | -0x1, 0x1, -0x1, -0x1, | ||
| 2020 | }, .{ | ||
| 2021 | 0x1, -0x1, -0x1, 0x1, | ||
| 2022 | }); | ||
| 2023 | try testArgs(@Vector(8, i2), .{ | ||
| 2024 | 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, -0x1, 0x1, | ||
| 2025 | }, .{ | ||
| 2026 | 0x1, -0x1, -0x1, -0x2, -0x1, -0x2, -0x1, 0x1, | ||
| 2027 | }); | ||
| 2028 | try testArgs(@Vector(16, i2), .{ | ||
| 2029 | 0x1, 0x0, 0x0, -0x1, 0x1, 0x0, 0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, 0x1, 0x1, 0x0, | ||
| 2030 | }, .{ | ||
| 2031 | 0x1, 0x1, 0x1, 0x1, -0x2, -0x2, -0x1, -0x1, -0x1, -0x2, 0x1, 0x1, -0x1, -0x2, -0x1, -0x1, | ||
| 2032 | }); | ||
| 2033 | try testArgs(@Vector(32, i2), .{ | ||
| 2034 | 0x0, 0x1, -0x1, -0x1, -0x1, 0x0, -0x1, 0x0, -0x1, -0x1, 0x1, -0x1, 0x0, -0x1, 0x0, -0x1, | ||
| 2035 | -0x1, 0x1, 0x1, 0x1, -0x1, -0x1, 0x1, -0x1, -0x1, 0x1, -0x1, -0x1, 0x1, 0x0, 0x0, 0x1, | ||
| 2036 | }, .{ | ||
| 2037 | -0x2, -0x1, -0x2, 0x1, -0x1, 0x1, -0x2, -0x2, -0x1, -0x1, -0x1, -0x1, 0x1, 0x1, 0x1, -0x2, | ||
| 2038 | -0x1, -0x1, -0x2, -0x2, -0x1, -0x2, -0x1, 0x1, -0x2, -0x1, -0x1, -0x2, 0x1, -0x2, -0x2, -0x1, | ||
| 2039 | }); | ||
| 2040 | try testArgs(@Vector(64, i2), .{ | ||
| 2041 | 0x1, 0x1, -0x1, 0x0, 0x0, 0x1, 0x1, -0x1, 0x0, 0x1, 0x1, 0x1, 0x1, 0x1, 0x0, 0x0, | ||
| 2042 | -0x1, 0x0, 0x0, 0x0, 0x0, -0x1, 0x0, 0x1, 0x1, 0x0, 0x1, -0x1, -0x1, 0x0, -0x1, 0x0, | ||
| 2043 | -0x1, 0x1, -0x1, 0x0, -0x1, 0x1, 0x0, 0x0, 0x0, 0x1, -0x1, 0x0, -0x1, 0x1, 0x0, 0x0, | ||
| 2044 | 0x1, -0x1, -0x1, 0x0, 0x1, -0x1, -0x1, 0x0, 0x1, 0x1, -0x1, 0x0, 0x1, -0x1, 0x0, 0x0, | ||
| 2045 | }, .{ | ||
| 2046 | -0x1, 0x1, -0x2, -0x1, -0x1, 0x1, 0x1, -0x2, -0x2, 0x1, 0x1, -0x1, -0x2, 0x1, 0x1, -0x1, | ||
| 2047 | -0x1, -0x1, 0x1, -0x2, -0x2, -0x2, -0x1, -0x1, -0x2, 0x1, -0x2, -0x2, -0x2, 0x1, -0x2, -0x2, | ||
| 2048 | -0x2, -0x1, -0x1, 0x1, -0x2, -0x1, -0x1, -0x1, -0x2, 0x1, -0x1, 0x1, -0x2, -0x2, 0x1, -0x1, | ||
| 2049 | -0x1, 0x1, -0x2, -0x2, -0x2, -0x2, -0x2, -0x2, -0x2, 0x1, 0x1, -0x1, 0x1, 0x1, -0x1, -0x2, | ||
| 2050 | }); | ||
| 2051 | try testArgs(@Vector(128, i2), .{ | ||
| 2052 | 0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, 0x0, 0x1, 0x0, -0x1, 0x0, -0x1, 0x0, 0x0, 0x0, | ||
| 2053 | 0x0, 0x0, 0x1, -0x1, 0x1, -0x1, -0x1, 0x1, 0x0, 0x1, 0x1, 0x0, 0x1, -0x1, 0x0, -0x1, | ||
| 2054 | 0x0, 0x1, -0x1, 0x1, -0x1, -0x1, 0x0, 0x1, 0x1, 0x0, 0x0, 0x0, 0x1, 0x0, -0x1, 0x1, | ||
| 2055 | 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, -0x1, 0x1, 0x1, -0x1, 0x1, -0x1, 0x0, 0x1, 0x0, 0x1, | ||
| 2056 | 0x0, -0x1, 0x0, 0x0, 0x1, -0x1, 0x0, 0x0, -0x1, -0x1, 0x0, 0x0, 0x0, 0x0, 0x1, 0x1, | ||
| 2057 | 0x0, -0x1, 0x1, -0x1, -0x1, 0x0, 0x0, 0x1, -0x1, -0x1, 0x1, 0x0, -0x1, 0x1, 0x0, -0x1, | ||
| 2058 | 0x1, 0x0, 0x1, -0x1, 0x1, 0x0, 0x0, 0x1, 0x0, 0x0, 0x1, -0x1, -0x1, 0x0, 0x1, 0x0, | ||
| 2059 | 0x0, 0x0, 0x1, 0x0, 0x0, 0x1, -0x1, 0x0, -0x1, -0x1, 0x0, 0x0, 0x0, 0x1, 0x1, -0x1, | ||
| 2060 | }, .{ | ||
| 2061 | -0x2, -0x2, -0x1, -0x2, -0x1, -0x1, -0x2, -0x2, -0x2, 0x1, -0x2, -0x2, -0x2, -0x2, -0x2, 0x1, | ||
| 2062 | -0x1, 0x1, -0x1, -0x1, -0x2, -0x2, -0x1, -0x2, 0x1, -0x2, -0x1, -0x2, -0x2, -0x1, 0x1, -0x1, | ||
| 2063 | -0x2, -0x1, -0x1, -0x2, -0x1, -0x2, -0x1, 0x1, -0x1, -0x1, 0x1, -0x1, -0x2, 0x1, -0x2, -0x1, | ||
| 2064 | -0x2, 0x1, -0x1, -0x2, -0x2, -0x2, -0x2, -0x1, 0x1, 0x1, 0x1, 0x1, -0x1, -0x2, -0x1, -0x1, | ||
| 2065 | -0x2, -0x2, 0x1, 0x1, -0x2, -0x1, 0x1, -0x2, -0x1, -0x2, -0x1, -0x2, -0x2, 0x1, -0x1, 0x1, | ||
| 2066 | -0x2, -0x2, 0x1, -0x2, -0x1, -0x1, 0x1, -0x1, -0x1, -0x1, -0x2, -0x2, -0x1, 0x1, 0x1, -0x2, | ||
| 2067 | -0x1, -0x2, 0x1, 0x1, 0x1, 0x1, -0x2, 0x1, -0x1, -0x1, -0x2, 0x1, -0x1, -0x2, -0x1, -0x2, | ||
| 2068 | -0x2, -0x2, -0x1, -0x1, -0x2, -0x1, 0x1, -0x1, 0x1, 0x1, 0x1, -0x2, -0x1, 0x1, -0x2, 0x1, | ||
| 2069 | }); | ||
| 2070 | |||
| 2071 | try testArgs(@Vector(1, u2), .{ | ||
| 2072 | 0x2, | ||
| 2073 | }, .{ | ||
| 2074 | 0x2, | ||
| 2075 | }); | ||
| 2076 | try testArgs(@Vector(2, u2), .{ | ||
| 2077 | 0x1, 0x0, | ||
| 2078 | }, .{ | ||
| 2079 | 0x2, 0x1, | ||
| 2080 | }); | ||
| 2081 | try testArgs(@Vector(4, u2), .{ | ||
| 2082 | 0x3, 0x3, 0x0, 0x2, | ||
| 2083 | }, .{ | ||
| 2084 | 0x3, 0x1, 0x1, 0x3, | ||
| 2085 | }); | ||
| 2086 | try testArgs(@Vector(8, u2), .{ | ||
| 2087 | 0x0, 0x3, 0x3, 0x2, 0x1, 0x2, 0x3, 0x1, | ||
| 2088 | }, .{ | ||
| 2089 | 0x1, 0x1, 0x3, 0x1, 0x2, 0x2, 0x2, 0x2, | ||
| 2090 | }); | ||
| 2091 | try testArgs(@Vector(16, u2), .{ | ||
| 2092 | 0x1, 0x1, 0x0, 0x1, 0x0, 0x2, 0x2, 0x1, 0x2, 0x1, 0x3, 0x1, 0x1, 0x3, 0x3, 0x1, | ||
| 2093 | }, .{ | ||
| 2094 | 0x1, 0x2, 0x2, 0x2, 0x1, 0x2, 0x3, 0x1, 0x3, 0x3, 0x2, 0x2, 0x2, 0x1, 0x3, 0x1, | ||
| 2095 | }); | ||
| 2096 | try testArgs(@Vector(32, u2), .{ | ||
| 2097 | 0x2, 0x2, 0x3, 0x1, 0x3, 0x2, 0x1, 0x3, 0x3, 0x0, 0x0, 0x3, 0x3, 0x1, 0x3, 0x0, | ||
| 2098 | 0x1, 0x0, 0x2, 0x3, 0x2, 0x3, 0x2, 0x0, 0x1, 0x3, 0x1, 0x0, 0x2, 0x0, 0x3, 0x0, | ||
| 2099 | }, .{ | ||
| 2100 | 0x3, 0x2, 0x1, 0x1, 0x2, 0x3, 0x1, 0x3, 0x1, 0x1, 0x3, 0x1, 0x2, 0x3, 0x3, 0x2, | ||
| 2101 | 0x2, 0x2, 0x1, 0x1, 0x1, 0x2, 0x1, 0x1, 0x2, 0x2, 0x2, 0x1, 0x3, 0x2, 0x3, 0x3, | ||
| 2102 | }); | ||
| 2103 | try testArgs(@Vector(64, u2), .{ | ||
| 2104 | 0x1, 0x3, 0x2, 0x1, 0x1, 0x3, 0x1, 0x3, 0x2, 0x1, 0x3, 0x2, 0x2, 0x2, 0x3, 0x0, | ||
| 2105 | 0x3, 0x1, 0x1, 0x0, 0x1, 0x0, 0x1, 0x1, 0x0, 0x0, 0x0, 0x1, 0x3, 0x3, 0x1, 0x3, | ||
| 2106 | 0x1, 0x2, 0x3, 0x2, 0x3, 0x0, 0x1, 0x1, 0x2, 0x1, 0x0, 0x3, 0x2, 0x3, 0x3, 0x0, | ||
| 2107 | 0x0, 0x0, 0x3, 0x1, 0x3, 0x0, 0x1, 0x0, 0x2, 0x0, 0x3, 0x0, 0x1, 0x0, 0x3, 0x3, | ||
| 2108 | }, .{ | ||
| 2109 | 0x1, 0x2, 0x2, 0x1, 0x2, 0x1, 0x2, 0x3, 0x3, 0x2, 0x1, 0x2, 0x3, 0x1, 0x2, 0x3, | ||
| 2110 | 0x2, 0x2, 0x3, 0x1, 0x2, 0x2, 0x2, 0x1, 0x1, 0x2, 0x3, 0x3, 0x2, 0x3, 0x1, 0x1, | ||
| 2111 | 0x3, 0x2, 0x1, 0x1, 0x3, 0x1, 0x1, 0x1, 0x2, 0x1, 0x3, 0x1, 0x1, 0x3, 0x2, 0x2, | ||
| 2112 | 0x3, 0x2, 0x3, 0x3, 0x3, 0x1, 0x2, 0x1, 0x3, 0x1, 0x1, 0x2, 0x1, 0x3, 0x3, 0x1, | ||
| 2113 | }); | ||
| 2114 | try testArgs(@Vector(128, u2), .{ | ||
| 2115 | 0x2, 0x0, 0x0, 0x1, 0x3, 0x0, 0x0, 0x3, 0x0, 0x1, 0x2, 0x0, 0x0, 0x2, 0x0, 0x1, | ||
| 2116 | 0x3, 0x0, 0x0, 0x1, 0x3, 0x0, 0x3, 0x0, 0x1, 0x1, 0x2, 0x3, 0x0, 0x1, 0x2, 0x1, | ||
| 2117 | 0x0, 0x0, 0x3, 0x3, 0x3, 0x2, 0x2, 0x1, 0x0, 0x3, 0x1, 0x1, 0x3, 0x3, 0x1, 0x0, | ||
| 2118 | 0x1, 0x2, 0x2, 0x1, 0x0, 0x1, 0x2, 0x2, 0x2, 0x1, 0x2, 0x3, 0x2, 0x0, 0x0, 0x0, | ||
| 2119 | 0x1, 0x3, 0x2, 0x3, 0x0, 0x0, 0x0, 0x3, 0x0, 0x0, 0x1, 0x0, 0x2, 0x1, 0x0, 0x3, | ||
| 2120 | 0x2, 0x1, 0x3, 0x3, 0x1, 0x2, 0x1, 0x3, 0x3, 0x0, 0x1, 0x3, 0x2, 0x1, 0x0, 0x1, | ||
| 2121 | 0x1, 0x0, 0x2, 0x0, 0x2, 0x2, 0x2, 0x1, 0x3, 0x2, 0x2, 0x3, 0x2, 0x0, 0x0, 0x1, | ||
| 2122 | 0x1, 0x1, 0x1, 0x1, 0x0, 0x3, 0x1, 0x1, 0x2, 0x1, 0x0, 0x2, 0x3, 0x3, 0x1, 0x2, | ||
| 2123 | }, .{ | ||
| 2124 | 0x3, 0x2, 0x2, 0x1, 0x3, 0x3, 0x1, 0x3, 0x2, 0x3, 0x3, 0x1, 0x1, 0x1, 0x3, 0x1, | ||
| 2125 | 0x2, 0x2, 0x1, 0x3, 0x1, 0x2, 0x3, 0x3, 0x3, 0x3, 0x1, 0x2, 0x3, 0x1, 0x3, 0x3, | ||
| 2126 | 0x2, 0x1, 0x2, 0x3, 0x1, 0x2, 0x1, 0x2, 0x3, 0x3, 0x3, 0x1, 0x1, 0x2, 0x1, 0x3, | ||
| 2127 | 0x1, 0x3, 0x1, 0x3, 0x2, 0x2, 0x2, 0x1, 0x3, 0x2, 0x2, 0x2, 0x2, 0x3, 0x1, 0x2, | ||
| 2128 | 0x2, 0x2, 0x2, 0x3, 0x2, 0x2, 0x2, 0x2, 0x1, 0x2, 0x3, 0x3, 0x1, 0x3, 0x1, 0x2, | ||
| 2129 | 0x1, 0x1, 0x3, 0x2, 0x2, 0x1, 0x3, 0x2, 0x3, 0x1, 0x2, 0x2, 0x2, 0x2, 0x1, 0x1, | ||
| 2130 | 0x1, 0x3, 0x1, 0x3, 0x1, 0x3, 0x3, 0x3, 0x2, 0x3, 0x1, 0x1, 0x2, 0x2, 0x3, 0x1, | ||
| 2131 | 0x2, 0x2, 0x3, 0x3, 0x1, 0x1, 0x1, 0x1, 0x2, 0x1, 0x3, 0x1, 0x3, 0x2, 0x3, 0x1, | ||
| 2132 | }); | ||
| 2133 | |||
| 2134 | // workaround https://github.com/ziglang/zig/issues/22914 | ||
| 2135 | // TODO: try testArgs(@Vector(1, i3), .{ | ||
| 2136 | // -0x3, | ||
| 2137 | // }, .{ | ||
| 2138 | // -0x1, | ||
| 2139 | // }); | ||
| 2140 | // try testArgs(@Vector(2, i3), .{ | ||
| 2141 | // 0x2, -0x3, | ||
| 2142 | // }, .{ | ||
| 2143 | // 0x1, 0x3, | ||
| 2144 | // }); | ||
| 2145 | // try testArgs(@Vector(4, i3), .{ | ||
| 2146 | // 0x1, -0x4, -0x2, -0x3, | ||
| 2147 | // }, .{ | ||
| 2148 | // -0x2, -0x4, 0x2, 0x2, | ||
| 2149 | // }); | ||
| 2150 | // try testArgs(@Vector(8, i3), .{ | ||
| 2151 | // 0x0, 0x1, 0x3, 0x1, -0x3, 0x1, 0x3, 0x3, | ||
| 2152 | // }, .{ | ||
| 2153 | // -0x3, 0x2, 0x1, 0x1, -0x4, -0x1, 0x3, -0x2, | ||
| 2154 | // }); | ||
| 2155 | // try testArgs(@Vector(16, i3), .{ | ||
| 2156 | // -0x4, 0x3, -0x2, 0x0, -0x2, -0x1, 0x2, -0x4, 0x1, -0x3, 0x2, -0x2, 0x1, -0x2, 0x2, -0x4, | ||
| 2157 | // }, .{ | ||
| 2158 | // 0x2, -0x3, 0x3, 0x1, -0x4, 0x1, -0x1, 0x1, -0x1, -0x3, -0x4, 0x2, 0x3, 0x3, -0x1, -0x4, | ||
| 2159 | // }); | ||
| 2160 | // try testArgs(@Vector(32, i3), .{ | ||
| 2161 | // 0x1, -0x3, -0x1, -0x3, -0x3, 0x2, 0x1, 0x0, 0x0, -0x1, 0x3, -0x2, 0x3, 0x0, -0x3, 0x0, | ||
| 2162 | // -0x4, -0x2, -0x1, -0x4, -0x4, 0x2, 0x2, 0x3, 0x1, 0x2, -0x4, -0x4, -0x3, 0x1, -0x1, -0x2, | ||
| 2163 | // }, .{ | ||
| 2164 | // -0x4, -0x2, 0x1, -0x1, 0x3, 0x1, 0x2, -0x3, 0x2, -0x2, 0x1, -0x1, -0x2, -0x1, -0x1, -0x2, | ||
| 2165 | // -0x2, -0x3, 0x3, -0x3, -0x4, 0x1, -0x3, 0x3, 0x1, -0x3, 0x3, 0x3, -0x4, 0x3, 0x2, -0x2, | ||
| 2166 | // }); | ||
| 2167 | // try testArgs(@Vector(64, i3), .{ | ||
| 2168 | // 0x1, 0x2, 0x1, 0x2, -0x2, 0x2, 0x2, -0x1, -0x4, 0x1, 0x3, 0x0, -0x2, -0x2, 0x2, -0x2, | ||
| 2169 | // 0x0, -0x4, -0x3, -0x4, -0x1, -0x1, 0x2, 0x2, -0x2, -0x1, -0x1, 0x3, 0x3, -0x4, 0x2, 0x0, | ||
| 2170 | // 0x3, 0x2, -0x4, -0x1, 0x1, 0x1, 0x3, 0x1, 0x2, 0x3, -0x3, 0x1, -0x4, -0x2, 0x1, -0x3, | ||
| 2171 | // -0x3, -0x1, 0x1, -0x3, -0x1, 0x3, -0x4, -0x4, 0x0, 0x0, -0x4, -0x2, 0x3, -0x1, -0x3, -0x3, | ||
| 2172 | // }, .{ | ||
| 2173 | // 0x3, -0x2, 0x1, -0x4, 0x1, 0x3, -0x3, 0x1, 0x3, 0x1, 0x1, -0x1, -0x2, 0x1, -0x3, 0x1, | ||
| 2174 | // -0x2, -0x2, 0x3, -0x3, -0x1, -0x3, 0x1, -0x1, -0x3, -0x3, 0x1, -0x2, 0x1, -0x2, 0x1, 0x2, | ||
| 2175 | // 0x3, -0x4, -0x4, -0x1, 0x1, 0x3, 0x1, 0x1, -0x4, 0x2, -0x3, 0x3, 0x3, -0x1, 0x1, -0x1, | ||
| 2176 | // -0x2, 0x2, 0x2, -0x4, -0x4, 0x3, -0x2, -0x4, -0x1, -0x2, -0x4, 0x1, 0x2, 0x1, -0x1, -0x2, | ||
| 2177 | // }); | ||
| 2178 | // try testArgs(@Vector(128, i3), .{ | ||
| 2179 | // -0x4, 0x1, 0x0, -0x4, -0x4, 0x1, -0x4, -0x2, 0x2, 0x2, -0x3, 0x1, 0x2, -0x2, 0x1, 0x1, | ||
| 2180 | // 0x3, 0x0, 0x3, -0x4, -0x1, 0x3, 0x3, -0x4, 0x0, -0x3, 0x2, -0x2, 0x0, 0x3, 0x1, -0x2, | ||
| 2181 | // -0x1, -0x1, 0x3, -0x1, -0x2, 0x3, 0x3, 0x1, -0x3, 0x1, -0x1, -0x2, -0x4, 0x2, -0x2, -0x1, | ||
| 2182 | // 0x1, 0x1, 0x1, 0x0, -0x1, 0x2, -0x1, 0x3, 0x2, -0x1, -0x2, 0x3, -0x2, 0x3, 0x3, 0x1, | ||
| 2183 | // 0x3, -0x3, -0x4, -0x1, 0x2, 0x2, -0x2, 0x3, -0x4, -0x2, -0x1, 0x0, 0x1, -0x1, 0x0, 0x0, | ||
| 2184 | // -0x2, 0x3, 0x0, -0x3, -0x4, 0x2, -0x3, -0x2, -0x4, 0x0, -0x3, -0x4, -0x4, -0x2, -0x1, -0x3, | ||
| 2185 | // 0x0, -0x1, 0x0, -0x1, 0x2, -0x4, -0x3, 0x0, -0x4, 0x0, -0x2, 0x1, -0x2, -0x4, -0x1, -0x1, | ||
| 2186 | // -0x3, 0x3, -0x1, -0x1, -0x2, 0x1, 0x3, 0x1, -0x3, 0x1, -0x4, -0x2, 0x0, -0x1, -0x2, 0x2, | ||
| 2187 | // }, .{ | ||
| 2188 | // -0x3, 0x2, -0x3, 0x1, -0x2, -0x1, -0x3, 0x1, 0x2, 0x2, -0x2, 0x2, 0x2, 0x1, 0x3, -0x1, | ||
| 2189 | // -0x4, -0x3, 0x2, -0x3, -0x2, 0x3, -0x3, 0x2, -0x1, -0x3, 0x1, 0x2, -0x4, 0x2, -0x2, -0x3, | ||
| 2190 | // 0x1, -0x1, 0x2, 0x2, -0x1, -0x3, -0x4, 0x2, 0x1, -0x4, 0x1, -0x4, 0x2, -0x1, 0x2, -0x2, | ||
| 2191 | // 0x2, 0x1, -0x4, 0x3, 0x1, -0x2, -0x3, -0x4, 0x3, -0x1, 0x3, -0x4, -0x2, 0x1, -0x2, 0x3, | ||
| 2192 | // 0x1, 0x1, 0x2, 0x1, -0x1, -0x2, 0x2, -0x1, 0x1, -0x1, -0x3, -0x1, 0x1, -0x4, -0x1, -0x1, | ||
| 2193 | // -0x3, -0x1, -0x4, 0x3, 0x1, -0x1, -0x1, -0x1, 0x1, -0x4, 0x1, -0x2, -0x4, 0x2, -0x4, -0x3, | ||
| 2194 | // 0x2, -0x4, -0x1, 0x1, 0x3, 0x2, -0x1, 0x3, 0x2, 0x2, 0x1, -0x4, -0x3, 0x1, -0x1, 0x1, | ||
| 2195 | // -0x2, -0x4, 0x1, 0x3, -0x1, 0x3, 0x1, 0x2, -0x4, 0x2, 0x2, -0x3, -0x3, -0x4, -0x2, 0x3, | ||
| 2196 | // }); | ||
| 2197 | try testArgs(@Vector(1, i3), .{ | ||
| 2198 | -0x1, | ||
| 2199 | }, .{ | ||
| 2200 | -0x3, | ||
| 2201 | }); | ||
| 2202 | try testArgs(@Vector(2, i3), .{ | ||
| 2203 | 0x2, -0x2, | ||
| 2204 | }, .{ | ||
| 2205 | 0x3, 0x3, | ||
| 2206 | }); | ||
| 2207 | try testArgs(@Vector(4, i3), .{ | ||
| 2208 | 0x1, 0x0, -0x2, 0x0, | ||
| 2209 | }, .{ | ||
| 2210 | 0x2, -0x2, -0x4, 0x3, | ||
| 2211 | }); | ||
| 2212 | try testArgs(@Vector(8, i3), .{ | ||
| 2213 | 0x3, -0x1, -0x3, -0x3, -0x3, -0x2, 0x2, -0x3, | ||
| 2214 | }, .{ | ||
| 2215 | -0x1, 0x1, -0x2, 0x2, 0x1, -0x2, -0x3, -0x1, | ||
| 2216 | }); | ||
| 2217 | try testArgs(@Vector(16, i3), .{ | ||
| 2218 | -0x1, -0x1, 0x3, -0x2, -0x2, -0x2, -0x2, -0x1, 0x2, 0x1, -0x2, 0x2, -0x2, 0x1, 0x1, -0x3, | ||
| 2219 | }, .{ | ||
| 2220 | 0x1, -0x1, -0x1, -0x1, 0x1, 0x3, -0x1, -0x1, 0x1, 0x3, -0x1, -0x3, 0x1, 0x3, 0x1, -0x2, | ||
| 2221 | }); | ||
| 2222 | try testArgs(@Vector(32, i3), .{ | ||
| 2223 | 0x3, -0x1, -0x3, 0x1, 0x0, 0x0, -0x3, -0x1, -0x3, 0x1, 0x1, 0x2, -0x1, 0x1, -0x1, -0x1, | ||
| 2224 | 0x1, -0x3, 0x1, -0x1, 0x1, 0x0, -0x2, 0x3, -0x2, -0x3, 0x3, 0x1, -0x1, 0x0, 0x3, -0x1, | ||
| 2225 | }, .{ | ||
| 2226 | 0x1, -0x2, -0x4, -0x4, 0x2, 0x1, -0x4, -0x3, -0x4, 0x1, -0x3, -0x4, -0x1, 0x2, -0x1, 0x1, | ||
| 2227 | 0x2, -0x2, -0x4, 0x3, -0x3, 0x1, 0x2, -0x2, -0x2, 0x3, 0x3, 0x2, -0x2, -0x4, -0x2, -0x3, | ||
| 2228 | }); | ||
| 2229 | try testArgs(@Vector(64, i3), .{ | ||
| 2230 | -0x2, 0x1, 0x3, -0x1, -0x3, -0x1, 0x1, -0x3, 0x1, -0x2, 0x0, 0x3, 0x0, -0x2, 0x1, -0x3, | ||
| 2231 | -0x2, 0x1, -0x2, 0x2, 0x0, 0x1, -0x3, 0x0, -0x3, 0x0, -0x3, -0x2, -0x2, -0x3, -0x2, 0x3, | ||
| 2232 | -0x1, 0x1, 0x1, 0x1, -0x1, 0x0, -0x3, -0x3, -0x3, -0x3, -0x2, 0x2, 0x3, 0x2, -0x3, 0x1, | ||
| 2233 | -0x3, -0x3, -0x1, -0x1, -0x1, -0x3, -0x2, -0x2, 0x2, 0x3, 0x3, -0x3, 0x0, 0x3, -0x3, -0x3, | ||
| 2234 | }, .{ | ||
| 2235 | 0x2, 0x1, -0x1, -0x3, -0x1, -0x4, -0x2, -0x3, 0x2, -0x2, -0x4, 0x2, 0x2, -0x2, 0x1, 0x1, | ||
| 2236 | 0x1, -0x1, -0x3, 0x2, -0x2, 0x2, -0x1, 0x3, 0x3, -0x1, -0x1, -0x3, -0x1, 0x2, -0x2, 0x2, | ||
| 2237 | 0x1, -0x4, -0x2, -0x4, 0x2, -0x1, -0x2, 0x3, 0x3, 0x3, -0x4, -0x2, 0x3, -0x4, 0x1, -0x2, | ||
| 2238 | -0x2, 0x2, -0x3, -0x3, 0x1, -0x3, 0x3, 0x2, 0x1, 0x3, -0x3, 0x3, 0x2, -0x2, -0x2, 0x2, | ||
| 2239 | }); | ||
| 2240 | try testArgs(@Vector(128, i3), .{ | ||
| 2241 | -0x1, 0x2, 0x1, 0x2, 0x1, 0x1, 0x2, 0x1, -0x3, 0x1, -0x2, -0x1, 0x0, 0x2, 0x3, -0x3, | ||
| 2242 | -0x1, -0x1, -0x2, 0x3, 0x1, 0x2, 0x2, 0x3, -0x2, 0x3, -0x2, -0x3, 0x1, 0x0, -0x1, -0x2, | ||
| 2243 | -0x1, -0x1, 0x1, -0x1, 0x2, -0x3, 0x1, -0x2, -0x1, 0x2, -0x2, 0x1, 0x1, -0x3, -0x2, 0x3, | ||
| 2244 | -0x1, -0x1, 0x1, -0x3, -0x1, -0x2, 0x0, 0x1, -0x1, 0x0, -0x1, 0x2, 0x1, 0x2, 0x3, -0x1, | ||
| 2245 | 0x0, 0x1, 0x2, 0x3, -0x2, 0x2, -0x3, 0x2, 0x0, -0x2, -0x3, -0x2, 0x0, 0x1, 0x2, 0x1, | ||
| 2246 | -0x3, 0x0, -0x2, -0x3, -0x1, 0x2, -0x3, 0x2, 0x3, 0x1, 0x1, -0x1, 0x2, 0x1, -0x1, 0x2, | ||
| 2247 | 0x2, 0x0, 0x1, -0x3, -0x3, 0x1, 0x2, 0x0, 0x1, 0x0, 0x0, -0x1, 0x0, 0x0, 0x3, 0x3, | ||
| 2248 | 0x0, -0x2, -0x2, -0x2, 0x3, 0x0, -0x1, -0x2, 0x0, 0x3, -0x3, 0x1, 0x2, -0x1, 0x1, 0x1, | ||
| 2249 | }, .{ | ||
| 2250 | 0x3, 0x3, 0x2, 0x3, -0x3, -0x4, 0x1, -0x3, 0x2, 0x3, 0x3, -0x2, 0x2, -0x1, 0x1, 0x3, | ||
| 2251 | -0x4, -0x4, -0x1, -0x1, 0x2, -0x3, -0x3, -0x3, -0x2, -0x3, -0x2, -0x1, 0x1, 0x3, -0x4, -0x2, | ||
| 2252 | -0x3, 0x1, 0x3, 0x1, -0x2, 0x1, 0x1, 0x2, 0x1, 0x2, -0x4, -0x4, -0x3, -0x2, -0x1, -0x2, | ||
| 2253 | 0x3, 0x2, -0x3, -0x2, -0x2, 0x3, -0x3, -0x4, 0x3, -0x3, 0x3, -0x1, 0x3, -0x1, -0x1, 0x2, | ||
| 2254 | 0x3, -0x4, -0x4, -0x2, -0x4, 0x2, -0x2, -0x4, -0x2, -0x2, -0x3, 0x3, 0x2, 0x2, 0x2, -0x4, | ||
| 2255 | 0x1, -0x4, -0x3, -0x2, -0x4, -0x4, 0x1, -0x4, -0x1, 0x3, -0x2, -0x4, 0x3, -0x4, 0x3, -0x1, | ||
| 2256 | 0x3, 0x1, -0x1, 0x1, 0x1, 0x2, 0x1, -0x3, -0x4, -0x1, -0x1, -0x2, -0x3, -0x2, 0x3, -0x2, | ||
| 2257 | -0x1, 0x3, 0x3, -0x1, 0x3, 0x1, 0x1, 0x2, -0x3, 0x3, -0x1, 0x3, -0x3, -0x4, -0x4, 0x1, | ||
| 2258 | }); | ||
| 2259 | |||
| 2260 | try testArgs(@Vector(1, u3), .{ | ||
| 2261 | 0x5, | ||
| 2262 | }, .{ | ||
| 2263 | 0x2, | ||
| 2264 | }); | ||
| 2265 | try testArgs(@Vector(2, u3), .{ | ||
| 2266 | 0x4, 0x5, | ||
| 2267 | }, .{ | ||
| 2268 | 0x2, 0x4, | ||
| 2269 | }); | ||
| 2270 | try testArgs(@Vector(4, u3), .{ | ||
| 2271 | 0x7, 0x7, 0x2, 0x3, | ||
| 2272 | }, .{ | ||
| 2273 | 0x4, 0x5, 0x7, 0x1, | ||
| 2274 | }); | ||
| 2275 | try testArgs(@Vector(8, u3), .{ | ||
| 2276 | 0x1, 0x5, 0x3, 0x7, 0x2, 0x5, 0x4, 0x7, | ||
| 2277 | }, .{ | ||
| 2278 | 0x5, 0x2, 0x3, 0x5, 0x5, 0x1, 0x3, 0x1, | ||
| 2279 | }); | ||
| 2280 | try testArgs(@Vector(16, u3), .{ | ||
| 2281 | 0x6, 0x5, 0x7, 0x4, 0x7, 0x2, 0x2, 0x3, 0x7, 0x6, 0x6, 0x5, 0x6, 0x4, 0x7, 0x5, | ||
| 2282 | }, .{ | ||
| 2283 | 0x6, 0x3, 0x5, 0x7, 0x4, 0x4, 0x4, 0x4, 0x6, 0x5, 0x3, 0x7, 0x4, 0x3, 0x3, 0x2, | ||
| 2284 | }); | ||
| 2285 | try testArgs(@Vector(32, u3), .{ | ||
| 2286 | 0x0, 0x6, 0x4, 0x3, 0x2, 0x4, 0x7, 0x5, 0x7, 0x5, 0x0, 0x6, 0x7, 0x2, 0x2, 0x2, | ||
| 2287 | 0x6, 0x2, 0x6, 0x5, 0x2, 0x3, 0x1, 0x0, 0x7, 0x1, 0x7, 0x0, 0x3, 0x1, 0x6, 0x2, | ||
| 2288 | }, .{ | ||
| 2289 | 0x2, 0x5, 0x3, 0x2, 0x2, 0x2, 0x5, 0x4, 0x4, 0x1, 0x7, 0x2, 0x2, 0x2, 0x5, 0x1, | ||
| 2290 | 0x2, 0x4, 0x3, 0x5, 0x5, 0x1, 0x5, 0x4, 0x7, 0x5, 0x4, 0x3, 0x1, 0x7, 0x5, 0x6, | ||
| 2291 | }); | ||
| 2292 | try testArgs(@Vector(64, u3), .{ | ||
| 2293 | 0x2, 0x3, 0x1, 0x0, 0x5, 0x6, 0x1, 0x2, 0x2, 0x3, 0x1, 0x1, 0x5, 0x2, 0x2, 0x5, | ||
| 2294 | 0x0, 0x0, 0x1, 0x1, 0x0, 0x6, 0x5, 0x2, 0x7, 0x3, 0x1, 0x1, 0x1, 0x0, 0x4, 0x7, | ||
| 2295 | 0x2, 0x6, 0x4, 0x0, 0x1, 0x1, 0x6, 0x5, 0x2, 0x0, 0x3, 0x4, 0x1, 0x4, 0x5, 0x2, | ||
| 2296 | 0x7, 0x4, 0x6, 0x6, 0x0, 0x2, 0x6, 0x2, 0x4, 0x6, 0x6, 0x5, 0x7, 0x0, 0x3, 0x6, | ||
| 2297 | }, .{ | ||
| 2298 | 0x7, 0x3, 0x3, 0x2, 0x6, 0x4, 0x3, 0x3, 0x7, 0x2, 0x3, 0x4, 0x7, 0x5, 0x2, 0x4, | ||
| 2299 | 0x6, 0x3, 0x6, 0x1, 0x7, 0x4, 0x1, 0x6, 0x7, 0x3, 0x1, 0x3, 0x6, 0x6, 0x5, 0x5, | ||
| 2300 | 0x2, 0x5, 0x7, 0x7, 0x4, 0x2, 0x2, 0x7, 0x4, 0x6, 0x6, 0x6, 0x4, 0x6, 0x2, 0x4, | ||
| 2301 | 0x3, 0x2, 0x2, 0x1, 0x7, 0x7, 0x4, 0x4, 0x2, 0x4, 0x7, 0x6, 0x7, 0x2, 0x2, 0x3, | ||
| 2302 | }); | ||
| 2303 | try testArgs(@Vector(128, u3), .{ | ||
| 2304 | 0x5, 0x2, 0x5, 0x4, 0x6, 0x0, 0x7, 0x2, 0x0, 0x6, 0x7, 0x4, 0x6, 0x4, 0x2, 0x6, | ||
| 2305 | 0x7, 0x3, 0x5, 0x6, 0x4, 0x5, 0x3, 0x0, 0x1, 0x5, 0x2, 0x0, 0x7, 0x2, 0x7, 0x5, | ||
| 2306 | 0x4, 0x6, 0x5, 0x4, 0x4, 0x3, 0x5, 0x7, 0x0, 0x2, 0x0, 0x6, 0x6, 0x1, 0x3, 0x3, | ||
| 2307 | 0x3, 0x7, 0x3, 0x3, 0x1, 0x0, 0x5, 0x3, 0x0, 0x0, 0x5, 0x5, 0x2, 0x4, 0x7, 0x4, | ||
| 2308 | 0x4, 0x1, 0x5, 0x0, 0x3, 0x2, 0x1, 0x3, 0x7, 0x3, 0x1, 0x4, 0x3, 0x1, 0x3, 0x2, | ||
| 2309 | 0x5, 0x7, 0x7, 0x2, 0x3, 0x7, 0x1, 0x1, 0x0, 0x7, 0x2, 0x5, 0x7, 0x0, 0x1, 0x4, | ||
| 2310 | 0x5, 0x6, 0x0, 0x1, 0x1, 0x4, 0x7, 0x5, 0x2, 0x3, 0x7, 0x7, 0x1, 0x3, 0x6, 0x4, | ||
| 2311 | 0x6, 0x0, 0x1, 0x0, 0x3, 0x7, 0x5, 0x4, 0x7, 0x4, 0x6, 0x5, 0x6, 0x6, 0x7, 0x4, | ||
| 2312 | }, .{ | ||
| 2313 | 0x5, 0x7, 0x5, 0x1, 0x7, 0x1, 0x3, 0x5, 0x1, 0x4, 0x3, 0x2, 0x5, 0x5, 0x2, 0x1, | ||
| 2314 | 0x4, 0x2, 0x2, 0x2, 0x5, 0x7, 0x1, 0x6, 0x2, 0x5, 0x2, 0x7, 0x2, 0x7, 0x4, 0x4, | ||
| 2315 | 0x1, 0x5, 0x4, 0x3, 0x2, 0x1, 0x1, 0x6, 0x3, 0x4, 0x7, 0x2, 0x7, 0x4, 0x1, 0x4, | ||
| 2316 | 0x3, 0x5, 0x3, 0x4, 0x6, 0x3, 0x7, 0x6, 0x6, 0x1, 0x7, 0x6, 0x3, 0x3, 0x5, 0x5, | ||
| 2317 | 0x7, 0x1, 0x1, 0x3, 0x3, 0x3, 0x1, 0x1, 0x1, 0x2, 0x6, 0x5, 0x3, 0x7, 0x1, 0x1, | ||
| 2318 | 0x5, 0x3, 0x1, 0x2, 0x7, 0x2, 0x5, 0x6, 0x4, 0x7, 0x3, 0x6, 0x5, 0x4, 0x3, 0x3, | ||
| 2319 | 0x5, 0x3, 0x7, 0x2, 0x3, 0x3, 0x7, 0x3, 0x1, 0x5, 0x3, 0x4, 0x7, 0x7, 0x5, 0x7, | ||
| 2320 | 0x1, 0x1, 0x2, 0x7, 0x2, 0x5, 0x1, 0x6, 0x4, 0x6, 0x1, 0x6, 0x5, 0x1, 0x2, 0x1, | ||
| 2321 | }); | ||
| 2322 | |||
| 2323 | // workaround https://github.com/ziglang/zig/issues/22914 | ||
| 2324 | // TODO: try testArgs(@Vector(1, i4), .{ | ||
| 2325 | // 0x2, | ||
| 2326 | // }, .{ | ||
| 2327 | // 0x1, | ||
| 2328 | // }); | ||
| 2329 | // try testArgs(@Vector(2, i4), .{ | ||
| 2330 | // -0x2, 0x5, | ||
| 2331 | // }, .{ | ||
| 2332 | // -0x1, 0x2, | ||
| 2333 | // }); | ||
| 2334 | // try testArgs(@Vector(4, i4), .{ | ||
| 2335 | // -0x8, 0x5, 0x5, -0x2, | ||
| 2336 | // }, .{ | ||
| 2337 | // -0x3, -0x7, -0x4, -0x5, | ||
| 2338 | // }); | ||
| 2339 | // try testArgs(@Vector(8, i4), .{ | ||
| 2340 | // 0x7, 0x3, 0x2, -0x1, -0x8, -0x2, 0x7, 0x1, | ||
| 2341 | // }, .{ | ||
| 2342 | // -0x2, 0x4, -0x8, 0x7, 0x1, -0x5, 0x6, -0x7, | ||
| 2343 | // }); | ||
| 2344 | // try testArgs(@Vector(16, i4), .{ | ||
| 2345 | // 0x6, -0x3, 0x6, 0x6, -0x5, 0x6, 0x3, 0x7, -0x6, 0x7, -0x7, 0x6, -0x2, -0x2, -0x5, 0x0, | ||
| 2346 | // }, .{ | ||
| 2347 | // 0x2, -0x3, -0x4, -0x5, 0x3, 0x3, -0x5, 0x5, 0x4, -0x1, -0x6, 0x4, 0x7, -0x2, 0x3, 0x2, | ||
| 2348 | // }); | ||
| 2349 | // try testArgs(@Vector(32, i4), .{ | ||
| 2350 | // -0x1, -0x4, 0x6, 0x6, 0x5, 0x3, 0x4, 0x0, 0x3, 0x7, -0x6, 0x7, -0x2, -0x7, -0x4, 0x6, | ||
| 2351 | // 0x3, -0x7, -0x5, 0x1, -0x7, -0x6, 0x1, 0x3, 0x7, -0x8, -0x5, 0x6, -0x5, 0x0, 0x0, -0x8, | ||
| 2352 | // }, .{ | ||
| 2353 | // -0x4, -0x4, -0x4, 0x4, -0x5, 0x3, -0x1, 0x6, 0x1, -0x3, -0x1, 0x6, 0x5, -0x8, 0x1, -0x4, | ||
| 2354 | // -0x1, -0x4, 0x1, -0x3, 0x4, 0x6, -0x3, -0x8, -0x7, -0x4, 0x2, -0x3, -0x1, -0x2, 0x6, -0x6, | ||
| 2355 | // }); | ||
| 2356 | // try testArgs(@Vector(64, i4), .{ | ||
| 2357 | // 0x0, -0x3, -0x3, 0x5, 0x2, -0x1, 0x4, 0x5, 0x6, -0x2, 0x1, 0x5, -0x3, -0x1, -0x2, -0x1, | ||
| 2358 | // -0x8, 0x2, -0x1, -0x2, 0x7, -0x3, -0x2, -0x3, 0x1, -0x5, 0x5, 0x2, -0x1, -0x6, -0x2, -0x1, | ||
| 2359 | // -0x2, -0x5, 0x0, 0x6, 0x3, -0x4, -0x5, -0x5, -0x4, -0x7, -0x4, 0x1, 0x0, -0x6, -0x7, -0x6, | ||
| 2360 | // 0x1, -0x6, 0x4, -0x4, -0x2, 0x6, -0x7, 0x4, 0x4, 0x5, 0x3, -0x6, -0x8, -0x5, 0x5, -0x7, | ||
| 2361 | // }, .{ | ||
| 2362 | // -0x1, -0x5, 0x5, -0x2, 0x6, -0x6, -0x4, -0x5, -0x4, 0x7, -0x6, 0x7, 0x4, -0x5, 0x5, 0x7, | ||
| 2363 | // -0x6, 0x3, -0x4, 0x2, -0x8, 0x4, -0x2, 0x5, -0x5, -0x5, -0x8, 0x3, -0x1, -0x4, -0x8, -0x2, | ||
| 2364 | // -0x2, 0x5, -0x7, -0x3, 0x2, -0x5, -0x6, -0x7, -0x8, -0x2, 0x5, -0x3, 0x2, -0x1, -0x7, -0x4, | ||
| 2365 | // -0x3, -0x3, 0x6, -0x8, 0x3, -0x4, 0x7, 0x3, -0x2, 0x7, -0x1, 0x1, 0x1, 0x6, -0x2, -0x2, | ||
| 2366 | // }); | ||
| 2367 | // try testArgs(@Vector(128, i4), .{ | ||
| 2368 | // -0x1, -0x3, -0x3, -0x4, 0x3, -0x4, 0x0, -0x4, 0x7, 0x3, 0x5, -0x4, -0x5, -0x4, -0x2, -0x7, | ||
| 2369 | // 0x2, 0x0, -0x4, 0x7, 0x3, -0x5, 0x4, 0x5, -0x2, -0x3, -0x4, 0x6, -0x7, -0x1, 0x1, -0x6, | ||
| 2370 | // 0x1, 0x5, 0x2, 0x5, 0x2, 0x2, -0x4, -0x4, 0x5, 0x2, -0x2, -0x8, -0x1, -0x2, 0x5, 0x3, | ||
| 2371 | // 0x0, -0x5, 0x5, 0x7, 0x6, -0x3, -0x2, 0x0, -0x7, -0x7, -0x4, 0x2, -0x4, 0x7, 0x1, -0x5, | ||
| 2372 | // -0x4, -0x8, 0x2, -0x7, 0x3, -0x4, 0x7, 0x6, -0x7, -0x3, -0x7, 0x2, 0x4, 0x2, -0x5, -0x6, | ||
| 2373 | // 0x3, 0x5, 0x1, 0x6, 0x5, 0x7, 0x7, -0x4, -0x7, -0x1, 0x0, -0x7, 0x6, 0x0, 0x6, 0x0, | ||
| 2374 | // 0x0, -0x5, -0x1, -0x8, 0x7, -0x6, -0x5, -0x2, -0x4, 0x1, 0x1, -0x8, 0x2, 0x6, -0x1, -0x3, | ||
| 2375 | // -0x6, 0x5, -0x8, 0x3, 0x3, 0x1, -0x1, -0x3, -0x3, -0x6, 0x7, -0x6, -0x8, 0x1, -0x7, -0x8, | ||
| 2376 | // }, .{ | ||
| 2377 | // 0x1, 0x3, 0x1, 0x3, -0x6, 0x6, 0x2, -0x3, 0x1, -0x7, 0x7, -0x3, -0x1, -0x1, 0x7, 0x2, | ||
| 2378 | // -0x8, 0x2, -0x3, -0x4, 0x4, -0x4, 0x7, 0x6, -0x5, -0x2, -0x1, 0x6, -0x7, 0x4, 0x7, -0x3, | ||
| 2379 | // -0x5, -0x8, -0x5, -0x6, -0x6, 0x2, 0x1, -0x8, 0x4, 0x3, -0x5, 0x7, -0x8, 0x3, -0x1, 0x7, | ||
| 2380 | // -0x3, 0x7, -0x3, -0x2, -0x6, 0x4, 0x2, -0x2, -0x2, -0x7, 0x5, -0x1, -0x6, 0x7, -0x5, 0x5, | ||
| 2381 | // 0x4, 0x5, -0x8, -0x5, 0x6, 0x1, -0x5, 0x7, -0x6, -0x3, -0x4, 0x6, -0x8, 0x7, 0x7, -0x6, | ||
| 2382 | // 0x6, -0x4, 0x2, -0x8, -0x8, -0x4, -0x8, -0x3, 0x6, 0x5, 0x7, -0x6, 0x1, 0x2, -0x7, -0x3, | ||
| 2383 | // -0x3, 0x1, -0x3, 0x3, -0x1, 0x3, -0x7, -0x8, 0x1, -0x3, -0x3, -0x3, -0x4, 0x5, 0x7, -0x7, | ||
| 2384 | // 0x3, 0x2, 0x6, -0x2, -0x4, -0x3, -0x1, 0x5, -0x6, 0x2, 0x3, -0x5, 0x5, -0x3, -0x2, -0x8, | ||
| 2385 | // }); | ||
| 2386 | try testArgs(@Vector(1, i4), .{ | ||
| 2387 | -0x1, | ||
| 2388 | }, .{ | ||
| 2389 | -0x1, | ||
| 2390 | }); | ||
| 2391 | try testArgs(@Vector(2, i4), .{ | ||
| 2392 | 0x7, 0x5, | ||
| 2393 | }, .{ | ||
| 2394 | 0x4, 0x1, | ||
| 2395 | }); | ||
| 2396 | try testArgs(@Vector(4, i4), .{ | ||
| 2397 | -0x2, -0x3, -0x6, 0x1, | ||
| 2398 | }, .{ | ||
| 2399 | 0x3, -0x5, -0x1, -0x3, | ||
| 2400 | }); | ||
| 2401 | try testArgs(@Vector(8, i4), .{ | ||
| 2402 | -0x5, -0x3, -0x2, 0x2, -0x4, -0x4, 0x0, 0x1, | ||
| 2403 | }, .{ | ||
| 2404 | -0x7, -0x2, -0x7, 0x1, 0x6, 0x2, -0x7, 0x7, | ||
| 2405 | }); | ||
| 2406 | try testArgs(@Vector(16, i4), .{ | ||
| 2407 | -0x1, -0x1, 0x6, 0x3, -0x1, 0x2, -0x6, 0x6, 0x1, 0x5, -0x1, 0x7, 0x7, -0x3, -0x1, 0x4, | ||
| 2408 | }, .{ | ||
| 2409 | 0x1, -0x3, 0x4, -0x1, 0x2, 0x5, -0x3, -0x5, -0x5, 0x5, -0x7, 0x7, 0x1, 0x5, -0x5, -0x6, | ||
| 2410 | }); | ||
| 2411 | try testArgs(@Vector(32, i4), .{ | ||
| 2412 | -0x7, 0x4, -0x5, -0x5, -0x5, 0x1, 0x7, 0x3, -0x2, 0x7, -0x3, -0x7, -0x3, -0x2, -0x5, -0x7, | ||
| 2413 | 0x5, 0x4, 0x3, 0x0, -0x6, -0x2, -0x4, -0x1, 0x5, 0x4, -0x7, -0x7, -0x5, 0x5, -0x5, -0x1, | ||
| 2414 | }, .{ | ||
| 2415 | 0x4, 0x4, 0x5, 0x2, 0x3, -0x4, 0x6, 0x2, -0x7, 0x3, 0x7, 0x2, 0x6, 0x2, 0x2, 0x3, | ||
| 2416 | 0x7, -0x3, -0x7, -0x2, 0x3, -0x1, -0x4, 0x4, -0x8, 0x1, 0x6, -0x7, 0x5, 0x1, 0x7, -0x2, | ||
| 2417 | }); | ||
| 2418 | try testArgs(@Vector(64, i4), .{ | ||
| 2419 | 0x0, 0x3, 0x7, -0x7, 0x1, -0x5, -0x4, 0x2, 0x2, 0x5, 0x4, 0x0, -0x3, -0x4, -0x4, -0x4, | ||
| 2420 | -0x7, 0x6, 0x2, 0x1, 0x0, 0x3, -0x6, 0x4, -0x4, 0x2, 0x7, 0x3, -0x4, -0x3, -0x3, -0x3, | ||
| 2421 | -0x4, 0x0, -0x3, -0x6, 0x0, 0x1, -0x5, -0x7, -0x2, -0x1, -0x1, -0x7, 0x3, -0x5, -0x4, -0x3, | ||
| 2422 | 0x5, 0x1, -0x4, 0x7, 0x1, 0x7, -0x5, 0x4, 0x5, -0x4, 0x1, -0x4, 0x4, 0x5, 0x4, -0x2, | ||
| 2423 | }, .{ | ||
| 2424 | 0x2, -0x4, -0x1, 0x4, 0x4, -0x1, -0x3, 0x6, 0x4, 0x2, 0x4, 0x3, -0x6, -0x7, -0x4, 0x6, | ||
| 2425 | 0x6, 0x4, 0x6, -0x7, 0x2, 0x4, -0x8, -0x1, -0x8, 0x3, -0x2, -0x7, 0x1, 0x5, -0x3, -0x6, | ||
| 2426 | -0x8, 0x2, -0x5, 0x7, 0x4, 0x7, -0x4, 0x3, 0x6, -0x7, -0x1, 0x1, -0x8, -0x2, -0x3, 0x3, | ||
| 2427 | 0x3, -0x4, 0x4, -0x7, 0x5, -0x4, -0x1, 0x2, 0x6, -0x2, -0x5, 0x2, 0x7, 0x2, -0x8, -0x3, | ||
| 2428 | }); | ||
| 2429 | try testArgs(@Vector(128, i4), .{ | ||
| 2430 | 0x3, 0x3, -0x6, 0x3, 0x2, 0x1, 0x5, -0x2, 0x0, -0x7, 0x4, 0x3, 0x0, -0x3, -0x7, -0x5, | ||
| 2431 | 0x4, 0x0, 0x1, 0x6, 0x3, 0x3, -0x4, 0x7, -0x6, -0x6, 0x6, 0x1, 0x6, -0x5, -0x6, -0x6, | ||
| 2432 | 0x4, -0x2, 0x3, -0x1, -0x4, -0x6, -0x1, 0x2, 0x4, 0x3, -0x2, 0x2, 0x3, 0x5, 0x0, -0x2, | ||
| 2433 | 0x5, 0x6, -0x1, -0x5, 0x6, 0x7, 0x7, -0x6, -0x6, 0x0, 0x0, -0x6, -0x2, -0x7, -0x6, 0x3, | ||
| 2434 | -0x6, -0x6, 0x4, -0x4, 0x4, -0x5, 0x0, 0x6, 0x6, 0x7, 0x4, -0x5, 0x5, -0x7, -0x7, 0x6, | ||
| 2435 | -0x4, 0x4, -0x7, 0x4, 0x3, 0x2, -0x4, -0x1, -0x6, -0x2, 0x5, -0x2, 0x4, -0x7, -0x3, -0x3, | ||
| 2436 | 0x4, 0x1, -0x1, 0x2, -0x1, 0x4, -0x5, -0x3, -0x1, -0x3, 0x3, 0x7, 0x5, -0x1, -0x1, -0x4, | ||
| 2437 | 0x2, 0x1, -0x3, 0x7, -0x6, -0x7, -0x6, -0x4, -0x5, -0x2, 0x5, 0x0, -0x5, 0x7, -0x7, 0x5, | ||
| 2438 | }, .{ | ||
| 2439 | -0x6, -0x5, -0x1, 0x4, 0x6, 0x4, -0x1, -0x7, -0x3, 0x4, -0x6, -0x2, -0x3, 0x1, 0x6, 0x2, | ||
| 2440 | -0x1, -0x3, -0x4, 0x2, 0x3, 0x6, -0x7, 0x3, 0x7, -0x6, 0x1, -0x7, -0x5, 0x6, 0x7, -0x4, | ||
| 2441 | 0x7, -0x4, 0x2, -0x5, 0x4, 0x5, 0x5, -0x3, -0x1, 0x6, -0x6, -0x2, -0x4, 0x3, -0x4, -0x4, | ||
| 2442 | -0x5, 0x6, -0x6, 0x3, -0x6, -0x3, 0x6, 0x5, 0x6, -0x6, -0x3, 0x1, -0x4, -0x5, -0x8, -0x3, | ||
| 2443 | -0x4, 0x7, -0x2, -0x1, 0x4, 0x2, -0x3, 0x6, 0x4, 0x6, -0x3, 0x6, 0x5, -0x2, -0x1, 0x5, | ||
| 2444 | 0x6, -0x6, -0x8, -0x2, -0x3, 0x6, -0x6, 0x5, -0x2, -0x6, 0x5, -0x6, 0x2, 0x1, 0x3, -0x3, | ||
| 2445 | 0x7, 0x7, 0x3, -0x1, 0x5, -0x2, -0x3, 0x4, 0x7, -0x7, 0x7, 0x6, -0x2, -0x5, 0x4, -0x5, | ||
| 2446 | -0x1, -0x2, 0x1, 0x4, -0x2, 0x1, -0x3, 0x1, -0x4, 0x3, -0x2, -0x6, -0x4, -0x2, -0x8, 0x2, | ||
| 2447 | }); | ||
| 2448 | |||
| 2449 | try testArgs(@Vector(1, u4), .{ | ||
| 2450 | 0x2, | ||
| 2451 | }, .{ | ||
| 2452 | 0xa, | ||
| 2453 | }); | ||
| 2454 | try testArgs(@Vector(2, u4), .{ | ||
| 2455 | 0x0, 0xa, | ||
| 2456 | }, .{ | ||
| 2457 | 0xb, 0xa, | ||
| 2458 | }); | ||
| 2459 | try testArgs(@Vector(4, u4), .{ | ||
| 2460 | 0xb, 0x7, 0x0, 0xd, | ||
| 2461 | }, .{ | ||
| 2462 | 0x4, 0x5, 0xf, 0x3, | ||
| 2463 | }); | ||
| 2464 | try testArgs(@Vector(8, u4), .{ | ||
| 2465 | 0x9, 0xf, 0x0, 0x5, 0x4, 0x9, 0x3, 0x7, | ||
| 2466 | }, .{ | ||
| 2467 | 0xc, 0x6, 0x8, 0x8, 0x9, 0x8, 0x9, 0x2, | ||
| 2468 | }); | ||
| 2469 | try testArgs(@Vector(16, u4), .{ | ||
| 2470 | 0x0, 0xb, 0xd, 0x2, 0x8, 0xa, 0x6, 0x7, 0xa, 0xf, 0xf, 0x4, 0x9, 0x9, 0x9, 0xf, | ||
| 2471 | }, .{ | ||
| 2472 | 0xd, 0x1, 0xf, 0x8, 0xb, 0xa, 0xe, 0x4, 0x5, 0x3, 0xd, 0x4, 0x1, 0xd, 0xd, 0xe, | ||
| 2473 | }); | ||
| 2474 | try testArgs(@Vector(32, u4), .{ | ||
| 2475 | 0x3, 0xc, 0x5, 0x1, 0xa, 0x6, 0x7, 0xe, 0x5, 0x8, 0x5, 0x6, 0xe, 0x0, 0xe, 0x6, | ||
| 2476 | 0x9, 0x5, 0x3, 0x6, 0xd, 0xe, 0x9, 0x4, 0xf, 0x1, 0x1, 0x5, 0x0, 0x2, 0xa, 0x0, | ||
| 2477 | }, .{ | ||
| 2478 | 0xd, 0x8, 0x7, 0xe, 0xa, 0x2, 0x5, 0x8, 0x5, 0x1, 0xa, 0x8, 0x1, 0x8, 0xb, 0x3, | ||
| 2479 | 0xb, 0xe, 0x5, 0xf, 0xb, 0x8, 0xd, 0x7, 0x6, 0x4, 0x7, 0x5, 0x5, 0x7, 0xf, 0x6, | ||
| 2480 | }); | ||
| 2481 | try testArgs(@Vector(64, u4), .{ | ||
| 2482 | 0x5, 0xd, 0x0, 0xd, 0x1, 0xb, 0xb, 0xe, 0xb, 0x7, 0xa, 0xc, 0xb, 0xe, 0x8, 0x9, | ||
| 2483 | 0x1, 0xb, 0x9, 0x5, 0xa, 0x6, 0xc, 0x5, 0x1, 0xe, 0x5, 0xb, 0x2, 0x8, 0x1, 0x4, | ||
| 2484 | 0x2, 0x6, 0x5, 0x1, 0x0, 0x5, 0xa, 0x5, 0xf, 0xf, 0x0, 0xb, 0x5, 0x4, 0xf, 0xb, | ||
| 2485 | 0x6, 0x0, 0xb, 0x4, 0x7, 0x8, 0xd, 0xf, 0xc, 0xc, 0x1, 0xe, 0x0, 0xb, 0xa, 0xd, | ||
| 2486 | }, .{ | ||
| 2487 | 0xc, 0x5, 0xb, 0x3, 0x1, 0x5, 0xb, 0x1, 0x2, 0x1, 0x8, 0x4, 0xe, 0x1, 0xa, 0x7, | ||
| 2488 | 0x2, 0x9, 0x4, 0xd, 0xa, 0x5, 0x4, 0xe, 0x1, 0x4, 0xb, 0x2, 0x9, 0x7, 0x4, 0x2, | ||
| 2489 | 0x7, 0xd, 0x7, 0xb, 0xb, 0xf, 0xc, 0x5, 0xe, 0xf, 0x4, 0x8, 0x9, 0x5, 0x3, 0x6, | ||
| 2490 | 0x8, 0x4, 0x2, 0x5, 0x8, 0x2, 0x3, 0x5, 0x4, 0xf, 0x5, 0x9, 0x4, 0x8, 0x9, 0x8, | ||
| 2491 | }); | ||
| 2492 | try testArgs(@Vector(128, u4), .{ | ||
| 2493 | 0xe, 0x0, 0xa, 0xa, 0xf, 0x3, 0x3, 0x9, 0xe, 0x2, 0x7, 0x2, 0xf, 0x7, 0xf, 0x6, | ||
| 2494 | 0xa, 0x8, 0x0, 0x5, 0x6, 0x4, 0xf, 0x6, 0x5, 0xd, 0x0, 0xc, 0x3, 0xe, 0x3, 0x3, | ||
| 2495 | 0x5, 0x4, 0x8, 0x8, 0xb, 0x0, 0x7, 0x3, 0x8, 0xa, 0x8, 0x0, 0x8, 0x4, 0x7, 0x4, | ||
| 2496 | 0x9, 0x6, 0xa, 0x2, 0xe, 0x2, 0x0, 0x1, 0xe, 0xf, 0x9, 0x0, 0x9, 0x4, 0xb, 0xa, | ||
| 2497 | 0x1, 0x7, 0xf, 0xd, 0x6, 0x6, 0x2, 0x2, 0x1, 0xd, 0xe, 0x7, 0x5, 0xd, 0x9, 0x7, | ||
| 2498 | 0xd, 0xc, 0xc, 0x0, 0xa, 0xc, 0x1, 0xa, 0x5, 0x3, 0xf, 0xc, 0xf, 0x7, 0x1, 0xc, | ||
| 2499 | 0xa, 0x4, 0x3, 0xa, 0xc, 0x8, 0x2, 0xc, 0xf, 0x7, 0x3, 0x7, 0xf, 0x0, 0x0, 0x8, | ||
| 2500 | 0x7, 0x3, 0x4, 0x9, 0xb, 0xc, 0x5, 0x0, 0x1, 0x2, 0xa, 0x7, 0x9, 0x1, 0x3, 0x1, | ||
| 2501 | }, .{ | ||
| 2502 | 0xb, 0x1, 0x9, 0x3, 0x4, 0xb, 0xb, 0x4, 0xb, 0x7, 0x2, 0x7, 0x4, 0x5, 0x1, 0x4, | ||
| 2503 | 0x5, 0xa, 0xb, 0x4, 0x4, 0x2, 0xa, 0xb, 0xe, 0x4, 0x7, 0xb, 0xb, 0x4, 0x1, 0x6, | ||
| 2504 | 0xd, 0x3, 0xc, 0x7, 0x8, 0x1, 0x7, 0x6, 0xf, 0x9, 0x8, 0x4, 0x5, 0x2, 0x6, 0xe, | ||
| 2505 | 0xb, 0xd, 0x4, 0x6, 0x5, 0xb, 0x2, 0x8, 0x7, 0x2, 0xf, 0xe, 0x9, 0xe, 0xa, 0x5, | ||
| 2506 | 0x6, 0xc, 0xb, 0x1, 0x8, 0xc, 0xd, 0x3, 0x1, 0x4, 0x4, 0xf, 0x4, 0x3, 0x5, 0x7, | ||
| 2507 | 0xf, 0x3, 0x5, 0xf, 0xe, 0x2, 0xd, 0x7, 0x6, 0x2, 0x4, 0xd, 0xd, 0xa, 0x1, 0xa, | ||
| 2508 | 0xb, 0xa, 0xa, 0x2, 0x4, 0x9, 0x8, 0xa, 0xe, 0xb, 0xf, 0xf, 0x6, 0x4, 0x9, 0x8, | ||
| 2509 | 0x9, 0x6, 0x4, 0x5, 0xf, 0xe, 0x8, 0x5, 0x2, 0x5, 0xf, 0xb, 0xf, 0x4, 0x6, 0x4, | ||
| 2510 | }); | ||
| 2511 | |||
| 2512 | // workaround https://github.com/ziglang/zig/issues/22914 | ||
| 2513 | // TODO: try testArgs(@Vector(1, i5), .{ | ||
| 2514 | // 0x03, | ||
| 2515 | // }, .{ | ||
| 2516 | // 0x0a, | ||
| 2517 | // }); | ||
| 2518 | // try testArgs(@Vector(2, i5), .{ | ||
| 2519 | // 0x0c, -0x0e, | ||
| 2520 | // }, .{ | ||
| 2521 | // -0x0f, -0x0e, | ||
| 2522 | // }); | ||
| 2523 | // try testArgs(@Vector(4, i5), .{ | ||
| 2524 | // -0x0a, 0x06, -0x05, 0x09, | ||
| 2525 | // }, .{ | ||
| 2526 | // -0x0f, 0x05, 0x05, 0x09, | ||
| 2527 | // }); | ||
| 2528 | // try testArgs(@Vector(8, i5), .{ | ||
| 2529 | // -0x04, -0x04, 0x05, -0x05, 0x0f, -0x0e, 0x0f, -0x0e, | ||
| 2530 | // }, .{ | ||
| 2531 | // -0x09, -0x0d, 0x02, 0x01, 0x08, -0x05, -0x09, -0x03, | ||
| 2532 | // }); | ||
| 2533 | // try testArgs(@Vector(16, i5), .{ | ||
| 2534 | // -0x0e, -0x08, -0x10, -0x0b, -0x10, -0x09, -0x0f, -0x05, -0x10, 0x06, 0x0d, -0x04, 0x09, -0x0e, -0x10, -0x10, | ||
| 2535 | // }, .{ | ||
| 2536 | // 0x03, 0x0b, 0x0c, 0x06, -0x0d, 0x0e, -0x09, -0x04, 0x0a, -0x0e, -0x0d, 0x0f, -0x09, -0x0e, -0x0b, 0x03, | ||
| 2537 | // }); | ||
| 2538 | // try testArgs(@Vector(32, i5), .{ | ||
| 2539 | // -0x08, -0x05, 0x09, -0x08, 0x01, 0x0e, -0x0c, 0x0b, -0x0e, 0x0f, -0x0b, 0x01, -0x03, 0x03, 0x08, 0x04, | ||
| 2540 | // 0x02, 0x0f, -0x0b, -0x0b, 0x0d, 0x00, 0x09, 0x00, -0x06, -0x08, -0x01, 0x0b, 0x05, 0x03, -0x05, -0x07, | ||
| 2541 | // }, .{ | ||
| 2542 | // -0x0c, 0x07, 0x0d, -0x09, 0x0a, 0x06, -0x0b, -0x07, -0x0a, 0x08, 0x07, -0x0d, 0x08, 0x07, 0x09, -0x07, | ||
| 2543 | // 0x0b, -0x02, -0x02, -0x02, -0x06, -0x08, 0x0a, -0x0a, 0x02, -0x07, -0x0a, 0x0d, -0x07, -0x05, -0x0e, 0x05, | ||
| 2544 | // }); | ||
| 2545 | // try testArgs(@Vector(64, i5), .{ | ||
| 2546 | // 0x04, -0x0d, 0x0d, -0x01, 0x07, 0x0c, 0x00, 0x01, -0x07, 0x0a, -0x01, -0x01, 0x08, -0x0b, -0x03, -0x06, | ||
| 2547 | // -0x03, -0x03, -0x0c, 0x0e, -0x0c, -0x02, 0x07, -0x03, 0x0e, -0x0a, -0x0e, -0x06, -0x08, 0x0a, -0x0c, -0x0c, | ||
| 2548 | // 0x06, -0x04, 0x04, 0x00, 0x05, 0x07, 0x04, 0x06, -0x01, 0x0a, 0x07, -0x08, 0x00, 0x0f, 0x0f, 0x0d, | ||
| 2549 | // -0x07, 0x0f, 0x05, -0x0b, -0x08, -0x0c, 0x0d, -0x05, -0x05, 0x0e, 0x02, 0x06, 0x0d, 0x06, 0x00, 0x0a, | ||
| 2550 | // }, .{ | ||
| 2551 | // 0x02, -0x09, -0x01, -0x10, -0x0c, -0x0f, -0x10, -0x0d, 0x02, 0x0e, 0x07, -0x01, -0x0a, -0x0b, 0x05, -0x0e, | ||
| 2552 | // -0x09, 0x03, 0x08, -0x0d, 0x0d, 0x03, -0x02, 0x0e, 0x0c, 0x03, 0x0b, -0x0d, -0x04, -0x10, 0x0e, 0x0d, | ||
| 2553 | // 0x09, -0x03, -0x0e, -0x03, -0x05, -0x0c, -0x07, 0x08, -0x06, 0x08, -0x0e, 0x02, -0x10, 0x01, 0x01, -0x0a, | ||
| 2554 | // 0x01, -0x09, 0x03, -0x01, 0x05, 0x09, 0x06, -0x03, -0x0a, 0x08, -0x0e, 0x0e, 0x07, -0x05, -0x0c, -0x10, | ||
| 2555 | // }); | ||
| 2556 | // try testArgs(@Vector(128, i5), .{ | ||
| 2557 | // 0x01, 0x0b, -0x01, -0x10, -0x05, 0x05, -0x09, 0x0e, -0x0e, 0x04, 0x0f, -0x06, 0x0f, 0x04, -0x02, 0x0a, | ||
| 2558 | // -0x08, -0x06, 0x08, -0x07, -0x08, 0x0e, 0x06, 0x0d, -0x07, -0x04, 0x04, -0x0b, 0x02, -0x06, 0x07, -0x10, | ||
| 2559 | // 0x0d, 0x09, 0x0b, -0x04, 0x0e, -0x06, -0x0a, 0x01, 0x06, 0x08, 0x01, -0x0b, -0x09, -0x08, -0x0c, -0x0b, | ||
| 2560 | // 0x07, 0x06, 0x0d, 0x0c, -0x0b, -0x03, -0x06, -0x0c, -0x0e, 0x05, 0x0b, 0x08, -0x01, 0x00, 0x01, 0x0a, | ||
| 2561 | // 0x00, 0x0a, 0x06, 0x06, -0x10, -0x05, -0x05, -0x0f, 0x02, -0x06, -0x08, -0x08, 0x0f, 0x09, -0x07, -0x05, | ||
| 2562 | // 0x07, 0x06, 0x03, 0x05, 0x02, 0x0f, 0x0d, -0x0e, -0x03, -0x01, -0x06, -0x02, -0x01, -0x07, 0x09, 0x05, | ||
| 2563 | // -0x07, -0x07, -0x08, 0x0c, -0x0e, 0x09, -0x0c, -0x0d, 0x07, 0x04, 0x07, -0x03, 0x09, 0x0e, 0x04, 0x02, | ||
| 2564 | // 0x0f, -0x02, -0x10, -0x03, -0x0d, -0x04, 0x0c, -0x06, -0x01, -0x0e, -0x0e, -0x0a, 0x0d, -0x0e, 0x04, 0x03, | ||
| 2565 | // }, .{ | ||
| 2566 | // -0x08, -0x09, -0x04, 0x0f, -0x0f, -0x08, -0x04, 0x0b, 0x09, -0x0b, -0x02, 0x0f, 0x01, -0x01, -0x0a, -0x0a, | ||
| 2567 | // 0x08, 0x09, 0x0d, -0x06, 0x0f, -0x02, 0x0c, 0x01, 0x0c, 0x02, -0x04, 0x0b, 0x05, 0x02, -0x08, -0x09, | ||
| 2568 | // 0x01, 0x0f, -0x0b, 0x02, -0x06, 0x08, -0x0e, -0x02, -0x0b, -0x03, -0x01, 0x0c, 0x09, -0x04, 0x08, -0x0a, | ||
| 2569 | // 0x09, -0x05, 0x08, 0x0e, 0x05, 0x03, -0x0a, 0x0d, -0x03, 0x06, 0x0f, -0x09, 0x0a, 0x03, 0x02, 0x0c, | ||
| 2570 | // 0x08, -0x0a, 0x06, 0x0e, 0x08, 0x02, 0x08, -0x04, -0x0d, -0x02, -0x08, -0x0a, 0x0a, 0x0c, -0x03, 0x04, | ||
| 2571 | // 0x0b, -0x0c, -0x0e, 0x01, 0x07, -0x01, 0x09, 0x0f, -0x06, -0x05, -0x0e, -0x01, -0x04, 0x0a, -0x0a, -0x0d, | ||
| 2572 | // -0x10, -0x10, -0x03, -0x0f, -0x0c, -0x0a, -0x0b, -0x06, -0x04, -0x0f, -0x0b, -0x08, 0x0e, 0x04, -0x01, -0x0b, | ||
| 2573 | // -0x06, 0x0a, 0x0a, -0x0c, -0x0c, 0x0b, -0x02, 0x0c, -0x04, -0x06, -0x0c, -0x09, -0x09, -0x0b, -0x0c, -0x0b, | ||
| 2574 | // }); | ||
| 2575 | try testArgs(@Vector(1, i5), .{ | ||
| 2576 | -0x0f, | ||
| 2577 | }, .{ | ||
| 2578 | -0x03, | ||
| 2579 | }); | ||
| 2580 | try testArgs(@Vector(2, i5), .{ | ||
| 2581 | 0x0b, -0x04, | ||
| 2582 | }, .{ | ||
| 2583 | -0x05, -0x08, | ||
| 2584 | }); | ||
| 2585 | try testArgs(@Vector(4, i5), .{ | ||
| 2586 | 0x08, 0x0f, -0x06, -0x0d, | ||
| 2587 | }, .{ | ||
| 2588 | -0x03, -0x0a, -0x05, -0x03, | ||
| 2589 | }); | ||
| 2590 | try testArgs(@Vector(8, i5), .{ | ||
| 2591 | 0x08, 0x0c, 0x07, 0x00, -0x06, 0x08, 0x08, 0x0d, | ||
| 2592 | }, .{ | ||
| 2593 | 0x07, 0x09, 0x05, -0x08, 0x08, -0x0e, -0x0e, -0x0e, | ||
| 2594 | }); | ||
| 2595 | try testArgs(@Vector(16, i5), .{ | ||
| 2596 | 0x06, 0x0b, 0x07, 0x0e, 0x0e, 0x02, -0x08, -0x0b, -0x03, 0x09, -0x08, 0x0e, -0x03, -0x0a, 0x01, 0x0b, | ||
| 2597 | }, .{ | ||
| 2598 | -0x05, 0x0f, -0x08, -0x10, -0x07, 0x06, 0x08, 0x01, 0x0a, 0x06, 0x05, -0x0f, 0x03, 0x05, 0x0b, -0x06, | ||
| 2599 | }); | ||
| 2600 | try testArgs(@Vector(32, i5), .{ | ||
| 2601 | 0x0e, 0x07, -0x08, 0x0b, 0x04, -0x05, 0x0f, 0x02, 0x04, -0x0c, 0x0d, 0x09, 0x0e, -0x02, -0x0f, 0x04, | ||
| 2602 | -0x03, -0x02, 0x09, -0x0d, 0x01, 0x00, -0x0e, -0x0a, 0x02, -0x06, 0x0c, 0x03, 0x06, 0x0e, 0x06, -0x07, | ||
| 2603 | }, .{ | ||
| 2604 | -0x0a, 0x01, 0x0a, -0x10, 0x06, 0x09, 0x0e, 0x03, 0x0e, -0x09, 0x08, -0x08, 0x06, 0x0c, -0x0a, -0x07, | ||
| 2605 | 0x04, -0x02, -0x09, 0x0b, 0x0e, -0x03, -0x01, -0x0d, 0x0e, -0x0a, -0x02, 0x08, 0x0e, 0x02, -0x04, -0x05, | ||
| 2606 | }); | ||
| 2607 | try testArgs(@Vector(64, i5), .{ | ||
| 2608 | 0x04, 0x02, -0x04, -0x0a, -0x0b, -0x0b, -0x0c, -0x08, -0x0b, -0x05, 0x0c, 0x0b, 0x05, 0x02, -0x01, -0x06, | ||
| 2609 | -0x09, -0x06, 0x0a, 0x0f, -0x06, -0x0d, 0x0c, 0x05, 0x0b, -0x06, -0x02, 0x09, 0x0e, -0x09, 0x05, 0x0a, | ||
| 2610 | -0x0c, 0x0b, -0x01, -0x04, 0x01, 0x0c, 0x0f, -0x0f, -0x07, 0x0a, 0x04, 0x02, 0x08, -0x01, -0x03, 0x0a, | ||
| 2611 | -0x0e, -0x04, -0x03, -0x0b, -0x01, 0x02, -0x05, 0x08, -0x03, 0x02, -0x01, -0x05, 0x07, -0x09, 0x0f, 0x00, | ||
| 2612 | }, .{ | ||
| 2613 | -0x09, -0x02, -0x0a, -0x05, -0x05, -0x0d, 0x04, -0x05, 0x0e, -0x01, -0x07, 0x04, 0x0d, -0x0f, -0x09, -0x04, | ||
| 2614 | -0x0b, -0x0b, 0x0e, 0x01, 0x06, -0x0f, -0x0b, 0x03, -0x04, 0x05, -0x03, -0x09, 0x0a, 0x04, 0x04, -0x06, | ||
| 2615 | -0x02, 0x01, 0x0e, 0x0c, -0x10, 0x0f, -0x09, -0x08, -0x10, -0x02, -0x07, -0x0d, 0x08, 0x07, -0x03, 0x01, | ||
| 2616 | -0x0d, -0x10, -0x07, 0x08, 0x0d, 0x07, 0x09, 0x0f, 0x04, 0x06, -0x05, -0x09, 0x04, -0x04, -0x04, 0x0d, | ||
| 2617 | }); | ||
| 2618 | try testArgs(@Vector(128, i5), .{ | ||
| 2619 | -0x02, -0x07, -0x03, 0x08, -0x0b, -0x09, -0x0c, 0x0d, -0x0e, 0x08, -0x03, -0x09, 0x0a, 0x02, -0x0d, 0x05, | ||
| 2620 | -0x04, -0x0c, -0x07, 0x08, -0x0a, 0x04, 0x08, -0x07, 0x0c, 0x03, 0x0e, 0x0f, 0x08, -0x08, -0x02, -0x0a, | ||
| 2621 | -0x08, 0x04, -0x0c, -0x09, 0x0a, -0x0e, -0x04, -0x05, 0x02, 0x0d, -0x04, -0x0f, -0x0d, -0x02, 0x05, -0x07, | ||
| 2622 | 0x06, 0x0b, -0x0b, -0x04, -0x04, -0x0e, -0x0c, 0x09, 0x02, -0x0c, 0x0e, 0x09, 0x02, -0x04, 0x05, 0x04, | ||
| 2623 | -0x0e, -0x02, -0x08, 0x05, 0x00, 0x0f, -0x0a, 0x0a, 0x0b, 0x0b, 0x02, -0x02, -0x0d, -0x08, -0x0d, 0x03, | ||
| 2624 | 0x0b, -0x0b, 0x02, 0x05, -0x06, -0x07, -0x08, -0x0a, -0x09, -0x03, -0x0e, -0x0f, -0x0b, 0x03, 0x00, 0x09, | ||
| 2625 | 0x07, 0x0a, -0x0b, 0x06, 0x01, -0x03, -0x0a, -0x09, -0x07, -0x0d, 0x0a, -0x0c, 0x01, -0x09, -0x01, -0x01, | ||
| 2626 | -0x09, 0x00, 0x0f, 0x05, -0x0b, 0x0c, 0x04, 0x0c, 0x0b, -0x08, 0x01, -0x05, -0x04, 0x02, 0x0c, 0x04, | ||
| 2627 | }, .{ | ||
| 2628 | -0x08, -0x05, -0x0a, 0x06, -0x06, -0x04, 0x01, 0x07, 0x0d, -0x0a, -0x02, 0x0b, -0x01, -0x0c, -0x04, 0x0c, | ||
| 2629 | -0x06, 0x0d, 0x04, 0x0b, 0x07, 0x0c, 0x02, 0x02, -0x02, 0x09, 0x0d, -0x07, -0x08, 0x07, -0x04, 0x06, | ||
| 2630 | -0x0a, 0x07, 0x01, 0x07, -0x0d, 0x02, 0x09, -0x02, 0x0e, -0x08, -0x03, -0x07, 0x07, 0x0a, -0x0e, -0x06, | ||
| 2631 | 0x0b, -0x0d, 0x0c, -0x06, -0x07, 0x0a, 0x0b, -0x0a, 0x05, 0x01, -0x0d, -0x08, -0x0e, -0x08, -0x07, -0x01, | ||
| 2632 | -0x10, 0x07, 0x03, 0x06, 0x03, 0x0a, 0x08, -0x0a, 0x04, -0x09, 0x0c, 0x01, -0x10, 0x02, 0x09, 0x0d, | ||
| 2633 | 0x0f, -0x01, -0x06, -0x0a, 0x04, 0x01, 0x07, 0x07, 0x0e, 0x0e, -0x04, -0x0a, -0x03, 0x07, 0x07, -0x10, | ||
| 2634 | -0x04, 0x0e, -0x09, -0x0f, -0x0b, -0x0e, 0x0c, -0x0d, 0x0b, -0x06, 0x0f, -0x0d, 0x0b, 0x04, -0x10, -0x10, | ||
| 2635 | -0x0e, 0x09, 0x0d, -0x02, -0x0e, -0x06, -0x0b, -0x0f, -0x08, -0x0f, -0x0d, -0x0a, -0x02, 0x03, 0x0b, -0x0a, | ||
| 2636 | }); | ||
| 2637 | |||
| 2638 | try testArgs(@Vector(1, u5), .{ | ||
| 2639 | 0x0a, | ||
| 2640 | }, .{ | ||
| 2641 | 0x1c, | ||
| 2642 | }); | ||
| 2643 | try testArgs(@Vector(2, u5), .{ | ||
| 2644 | 0x01, 0x07, | ||
| 2645 | }, .{ | ||
| 2646 | 0x03, 0x1d, | ||
| 2647 | }); | ||
| 2648 | try testArgs(@Vector(4, u5), .{ | ||
| 2649 | 0x1c, 0x0d, 0x1f, 0x0a, | ||
| 2650 | }, .{ | ||
| 2651 | 0x14, 0x03, 0x07, 0x02, | ||
| 2652 | }); | ||
| 2653 | try testArgs(@Vector(8, u5), .{ | ||
| 2654 | 0x00, 0x0c, 0x1f, 0x01, 0x12, 0x14, 0x12, 0x10, | ||
| 2655 | }, .{ | ||
| 2656 | 0x0c, 0x14, 0x05, 0x1a, 0x04, 0x17, 0x06, 0x1a, | ||
| 2657 | }); | ||
| 2658 | try testArgs(@Vector(16, u5), .{ | ||
| 2659 | 0x1e, 0x17, 0x03, 0x16, 0x1f, 0x10, 0x00, 0x05, 0x19, 0x10, 0x18, 0x0d, 0x0f, 0x1b, 0x1e, 0x05, | ||
| 2660 | }, .{ | ||
| 2661 | 0x18, 0x13, 0x14, 0x12, 0x10, 0x11, 0x18, 0x0c, 0x03, 0x02, 0x11, 0x03, 0x17, 0x0c, 0x19, 0x05, | ||
| 2662 | }); | ||
| 2663 | try testArgs(@Vector(32, u5), .{ | ||
| 2664 | 0x1a, 0x10, 0x16, 0x1f, 0x08, 0x07, 0x1a, 0x04, 0x05, 0x16, 0x07, 0x09, 0x09, 0x03, 0x0f, 0x00, | ||
| 2665 | 0x03, 0x05, 0x1c, 0x00, 0x07, 0x16, 0x17, 0x1b, 0x0b, 0x01, 0x0e, 0x08, 0x15, 0x12, 0x04, 0x16, | ||
| 2666 | }, .{ | ||
| 2667 | 0x02, 0x14, 0x09, 0x17, 0x0c, 0x10, 0x1a, 0x1e, 0x14, 0x06, 0x03, 0x1b, 0x1d, 0x1f, 0x18, 0x0b, | ||
| 2668 | 0x16, 0x1b, 0x11, 0x14, 0x0d, 0x18, 0x05, 0x18, 0x16, 0x1a, 0x14, 0x04, 0x14, 0x1a, 0x0c, 0x1e, | ||
| 2669 | }); | ||
| 2670 | try testArgs(@Vector(64, u5), .{ | ||
| 2671 | 0x0c, 0x09, 0x0c, 0x05, 0x0e, 0x08, 0x0b, 0x07, 0x18, 0x05, 0x0a, 0x1e, 0x06, 0x14, 0x0d, 0x03, | ||
| 2672 | 0x0c, 0x0d, 0x00, 0x10, 0x0f, 0x05, 0x12, 0x0e, 0x0c, 0x1c, 0x16, 0x11, 0x14, 0x0b, 0x16, 0x06, | ||
| 2673 | 0x1e, 0x07, 0x00, 0x13, 0x09, 0x13, 0x1b, 0x03, 0x12, 0x1c, 0x0b, 0x04, 0x18, 0x0a, 0x18, 0x16, | ||
| 2674 | 0x16, 0x0a, 0x11, 0x19, 0x00, 0x1d, 0x08, 0x06, 0x0a, 0x1e, 0x09, 0x1d, 0x18, 0x1e, 0x06, 0x1b, | ||
| 2675 | }, .{ | ||
| 2676 | 0x0d, 0x10, 0x05, 0x18, 0x10, 0x0a, 0x06, 0x03, 0x1c, 0x10, 0x1c, 0x1e, 0x19, 0x1c, 0x04, 0x03, | ||
| 2677 | 0x0a, 0x1d, 0x1f, 0x10, 0x0e, 0x04, 0x0c, 0x18, 0x14, 0x05, 0x11, 0x19, 0x19, 0x14, 0x10, 0x06, | ||
| 2678 | 0x0b, 0x16, 0x0f, 0x01, 0x12, 0x0c, 0x1b, 0x03, 0x19, 0x0d, 0x12, 0x15, 0x15, 0x11, 0x16, 0x1f, | ||
| 2679 | 0x03, 0x11, 0x06, 0x11, 0x1d, 0x16, 0x0c, 0x17, 0x19, 0x1a, 0x06, 0x16, 0x13, 0x0a, 0x09, 0x1c, | ||
| 2680 | }); | ||
| 2681 | try testArgs(@Vector(128, u5), .{ | ||
| 2682 | 0x09, 0x16, 0x11, 0x1e, 0x17, 0x13, 0x1d, 0x14, 0x07, 0x15, 0x1c, 0x0b, 0x08, 0x19, 0x01, 0x0b, | ||
| 2683 | 0x1b, 0x19, 0x00, 0x0c, 0x0c, 0x0a, 0x10, 0x08, 0x1a, 0x1c, 0x03, 0x14, 0x1c, 0x0b, 0x18, 0x1f, | ||
| 2684 | 0x0c, 0x10, 0x17, 0x16, 0x05, 0x16, 0x0e, 0x03, 0x02, 0x0b, 0x13, 0x0b, 0x0a, 0x09, 0x0f, 0x01, | ||
| 2685 | 0x17, 0x0f, 0x1c, 0x13, 0x1d, 0x0b, 0x03, 0x0e, 0x01, 0x04, 0x1f, 0x18, 0x04, 0x07, 0x10, 0x05, | ||
| 2686 | 0x18, 0x09, 0x08, 0x16, 0x1e, 0x0e, 0x0f, 0x0c, 0x11, 0x0b, 0x0c, 0x13, 0x0f, 0x13, 0x13, 0x1d, | ||
| 2687 | 0x02, 0x01, 0x0f, 0x03, 0x17, 0x0f, 0x0f, 0x09, 0x0a, 0x1e, 0x1c, 0x0e, 0x0d, 0x17, 0x1e, 0x02, | ||
| 2688 | 0x07, 0x05, 0x0f, 0x0b, 0x01, 0x1f, 0x13, 0x17, 0x1a, 0x01, 0x1d, 0x12, 0x07, 0x01, 0x11, 0x10, | ||
| 2689 | 0x1a, 0x19, 0x02, 0x06, 0x1a, 0x1e, 0x13, 0x18, 0x11, 0x14, 0x19, 0x15, 0x1a, 0x1f, 0x01, 0x01, | ||
| 2690 | }, .{ | ||
| 2691 | 0x10, 0x04, 0x14, 0x13, 0x04, 0x0f, 0x1d, 0x17, 0x0a, 0x08, 0x17, 0x1a, 0x02, 0x0c, 0x0c, 0x12, | ||
| 2692 | 0x07, 0x0d, 0x11, 0x1c, 0x01, 0x17, 0x13, 0x1b, 0x11, 0x1c, 0x02, 0x16, 0x10, 0x0c, 0x16, 0x07, | ||
| 2693 | 0x02, 0x18, 0x03, 0x04, 0x1c, 0x1c, 0x18, 0x0c, 0x15, 0x14, 0x17, 0x1c, 0x1e, 0x0b, 0x1c, 0x1f, | ||
| 2694 | 0x18, 0x13, 0x02, 0x06, 0x18, 0x03, 0x1e, 0x12, 0x0a, 0x03, 0x07, 0x11, 0x09, 0x1a, 0x1c, 0x07, | ||
| 2695 | 0x10, 0x1b, 0x19, 0x0b, 0x1c, 0x10, 0x08, 0x05, 0x02, 0x09, 0x04, 0x02, 0x11, 0x05, 0x13, 0x1a, | ||
| 2696 | 0x0b, 0x1b, 0x1e, 0x11, 0x1e, 0x0e, 0x05, 0x18, 0x08, 0x0c, 0x04, 0x04, 0x06, 0x15, 0x05, 0x04, | ||
| 2697 | 0x14, 0x1f, 0x18, 0x0c, 0x04, 0x04, 0x03, 0x1c, 0x1e, 0x09, 0x1d, 0x08, 0x13, 0x16, 0x0d, 0x1c, | ||
| 2698 | 0x15, 0x16, 0x04, 0x02, 0x0c, 0x04, 0x13, 0x1d, 0x1d, 0x07, 0x1a, 0x1c, 0x15, 0x15, 0x19, 0x09, | ||
| 2699 | }); | ||
| 2700 | |||
| 2701 | try testArgs(@Vector(1, i7), .{ | ||
| 2702 | 0x3b, | ||
| 2703 | }, .{ | ||
| 2704 | 0x0d, | ||
| 2705 | }); | ||
| 2706 | try testArgs(@Vector(2, i7), .{ | ||
| 2707 | -0x3e, -0x06, | ||
| 2708 | }, .{ | ||
| 2709 | -0x37, -0x0f, | ||
| 2710 | }); | ||
| 2711 | try testArgs(@Vector(4, i7), .{ | ||
| 2712 | 0x35, 0x29, -0x17, 0x39, | ||
| 2713 | }, .{ | ||
| 2714 | -0x2c, -0x02, -0x29, -0x1a, | ||
| 2715 | }); | ||
| 2716 | try testArgs(@Vector(8, i7), .{ | ||
| 2717 | 0x1d, 0x25, 0x03, 0x1c, -0x12, -0x09, 0x1d, 0x3c, | ||
| 2718 | }, .{ | ||
| 2719 | 0x34, 0x33, 0x3e, -0x21, 0x13, 0x2d, 0x1f, 0x05, | ||
| 2720 | }); | ||
| 2721 | try testArgs(@Vector(16, i7), .{ | ||
| 2722 | -0x12, 0x39, 0x11, 0x28, 0x29, -0x30, 0x08, -0x33, 0x2e, 0x03, 0x31, -0x2b, -0x1f, 0x37, 0x0f, -0x31, | ||
| 2723 | }, .{ | ||
| 2724 | -0x0d, -0x1a, -0x22, -0x38, 0x30, 0x32, -0x38, -0x3b, -0x04, -0x2c, 0x27, -0x0d, -0x02, -0x2d, 0x18, 0x09, | ||
| 2725 | }); | ||
| 2726 | try testArgs(@Vector(32, i7), .{ | ||
| 2727 | 0x04, 0x09, 0x1e, -0x1b, -0x33, 0x1f, -0x08, 0x2d, -0x30, -0x3c, 0x11, -0x2a, 0x29, -0x16, -0x3b, -0x1e, | ||
| 2728 | 0x3a, -0x0d, 0x11, 0x16, 0x27, 0x0f, 0x2f, 0x14, 0x3b, -0x2f, -0x3d, 0x1d, -0x08, -0x2e, -0x2a, -0x33, | ||
| 2729 | }, .{ | ||
| 2730 | -0x09, 0x3c, 0x15, -0x25, -0x03, 0x0a, 0x11, 0x03, 0x12, -0x1d, -0x23, 0x29, -0x30, -0x35, -0x0e, -0x15, | ||
| 2731 | -0x1c, -0x14, 0x07, 0x29, -0x0d, -0x2e, 0x12, -0x3b, -0x0c, 0x22, -0x15, -0x2d, 0x04, 0x19, 0x14, -0x1d, | ||
| 2732 | }); | ||
| 2733 | try testArgs(@Vector(64, i7), .{ | ||
| 2734 | 0x23, 0x09, -0x13, 0x03, 0x19, -0x35, -0x06, -0x3c, -0x31, 0x12, 0x09, 0x22, -0x15, -0x1c, -0x25, -0x31, | ||
| 2735 | 0x3a, -0x31, 0x05, 0x0b, -0x14, 0x38, 0x39, 0x15, 0x15, -0x11, 0x11, -0x21, 0x2f, 0x3d, -0x2e, -0x33, | ||
| 2736 | -0x38, 0x1b, 0x14, 0x1d, 0x0d, -0x16, 0x10, -0x0a, 0x25, 0x0d, 0x1e, 0x1a, -0x15, 0x21, 0x3e, -0x0c, | ||
| 2737 | 0x03, 0x3f, 0x1f, 0x17, 0x2c, -0x0a, -0x2b, 0x1f, 0x32, 0x09, 0x0f, -0x15, 0x24, -0x35, 0x27, -0x13, | ||
| 2738 | }, .{ | ||
| 2739 | -0x20, 0x25, 0x38, -0x28, 0x06, -0x2f, -0x0b, -0x2b, 0x21, -0x23, -0x08, 0x06, -0x2a, -0x26, 0x33, -0x2f, | ||
| 2740 | 0x06, -0x1b, 0x3c, -0x3d, 0x3e, 0x1f, 0x27, 0x28, -0x05, -0x31, -0x29, -0x25, -0x13, -0x07, -0x3e, 0x3e, | ||
| 2741 | 0x0e, -0x2c, -0x0f, -0x3b, 0x1b, 0x17, 0x3f, -0x3a, 0x21, -0x16, 0x11, -0x0a, 0x1b, 0x2a, 0x27, 0x3e, | ||
| 2742 | -0x09, -0x34, 0x20, 0x3e, -0x29, -0x35, -0x0b, -0x20, -0x19, 0x21, 0x13, 0x22, 0x0c, -0x1f, 0x38, 0x21, | ||
| 2743 | }); | ||
| 2744 | try testArgs(@Vector(128, i7), .{ | ||
| 2745 | -0x38, -0x10, 0x08, -0x2b, 0x3e, -0x19, 0x39, -0x1f, -0x27, -0x10, -0x0c, 0x02, 0x07, 0x10, -0x1a, 0x0b, | ||
| 2746 | 0x3c, -0x2e, 0x1b, -0x17, 0x3e, -0x1b, -0x04, 0x35, 0x2d, 0x0d, 0x33, 0x0f, 0x18, 0x0b, 0x1a, -0x09, | ||
| 2747 | 0x25, -0x0b, -0x21, 0x3a, -0x28, 0x12, 0x16, 0x03, -0x1f, 0x1d, -0x1c, -0x1a, -0x38, 0x32, 0x3d, -0x2a, | ||
| 2748 | -0x0b, -0x1b, -0x39, -0x0d, -0x20, -0x1e, -0x39, 0x02, -0x13, -0x23, 0x2f, 0x0a, -0x22, 0x15, 0x34, -0x06, | ||
| 2749 | -0x2e, -0x3b, 0x26, 0x38, 0x33, -0x29, -0x0c, 0x2e, 0x07, -0x19, 0x3c, -0x35, -0x33, 0x39, 0x3c, 0x37, | ||
| 2750 | -0x07, -0x13, 0x16, 0x05, -0x27, 0x28, -0x2b, -0x07, -0x25, -0x01, 0x1d, -0x0a, -0x01, 0x1d, -0x2a, -0x30, | ||
| 2751 | 0x31, 0x0a, -0x24, 0x0c, 0x35, -0x1c, -0x04, 0x21, -0x35, 0x12, 0x19, 0x3d, -0x0c, 0x20, 0x28, -0x22, | ||
| 2752 | -0x3c, 0x09, 0x11, -0x0c, -0x14, -0x39, 0x0f, -0x40, -0x0a, 0x0f, 0x1b, 0x34, -0x27, 0x35, 0x0e, -0x3d, | ||
| 2753 | }, .{ | ||
| 2754 | -0x1a, 0x06, 0x1f, -0x24, -0x21, -0x3d, 0x1f, -0x18, 0x2f, -0x38, 0x2f, -0x0f, 0x20, 0x2d, 0x31, -0x09, | ||
| 2755 | -0x1d, 0x3a, 0x24, -0x09, 0x0c, -0x3b, -0x35, -0x2a, -0x08, -0x2d, 0x29, 0x23, -0x37, -0x05, 0x27, -0x12, | ||
| 2756 | 0x23, -0x14, 0x26, 0x36, -0x33, -0x1d, -0x0f, 0x32, 0x2a, -0x34, -0x31, 0x0a, -0x33, -0x34, 0x30, 0x3d, | ||
| 2757 | -0x1a, 0x0f, 0x16, 0x07, 0x2d, -0x2b, 0x2c, -0x2d, 0x34, -0x07, 0x32, 0x3a, 0x2e, -0x1c, 0x2e, 0x0f, | ||
| 2758 | 0x02, 0x33, -0x1e, -0x05, -0x40, -0x0a, 0x3d, -0x28, -0x21, -0x2b, -0x18, 0x02, 0x01, -0x2c, -0x16, -0x3b, | ||
| 2759 | 0x27, 0x23, -0x19, 0x13, -0x2c, 0x3c, -0x1a, 0x0e, -0x25, -0x19, 0x06, 0x1b, -0x3f, 0x26, 0x30, 0x0d, | ||
| 2760 | -0x0e, -0x2f, -0x28, 0x3b, -0x0e, 0x2d, 0x3d, 0x03, 0x0d, -0x23, 0x02, 0x26, 0x0c, 0x31, -0x10, -0x10, | ||
| 2761 | 0x37, -0x38, -0x0f, 0x20, -0x17, 0x02, 0x3e, -0x40, 0x37, 0x22, 0x06, 0x14, -0x31, -0x1e, -0x36, -0x2c, | ||
| 2762 | }); | ||
| 2763 | |||
| 2764 | try testArgs(@Vector(1, u7), .{ | ||
| 2765 | 0x72, | ||
| 2766 | }, .{ | ||
| 2767 | 0x0c, | ||
| 2768 | }); | ||
| 2769 | try testArgs(@Vector(2, u7), .{ | ||
| 2770 | 0x0c, 0x3a, | ||
| 2771 | }, .{ | ||
| 2772 | 0x72, 0x0b, | ||
| 2773 | }); | ||
| 2774 | try testArgs(@Vector(4, u7), .{ | ||
| 2775 | 0x68, 0x2b, 0x52, 0x6e, | ||
| 2776 | }, .{ | ||
| 2777 | 0x74, 0x79, 0x10, 0x67, | ||
| 2778 | }); | ||
| 2779 | try testArgs(@Vector(8, u7), .{ | ||
| 2780 | 0x68, 0x30, 0x65, 0x49, 0x3f, 0x3c, 0x05, 0x1b, | ||
| 2781 | }, .{ | ||
| 2782 | 0x3f, 0x0e, 0x04, 0x50, 0x20, 0x07, 0x07, 0x4c, | ||
| 2783 | }); | ||
| 2784 | try testArgs(@Vector(16, u7), .{ | ||
| 2785 | 0x46, 0x73, 0x34, 0x68, 0x66, 0x0d, 0x69, 0x38, 0x7d, 0x40, 0x34, 0x22, 0x7b, 0x57, 0x76, 0x69, | ||
| 2786 | }, .{ | ||
| 2787 | 0x12, 0x45, 0x1b, 0x5d, 0x24, 0x36, 0x72, 0x70, 0x51, 0x1c, 0x23, 0x77, 0x7d, 0x7a, 0x20, 0x4b, | ||
| 2788 | }); | ||
| 2789 | try testArgs(@Vector(32, u7), .{ | ||
| 2790 | 0x1e, 0x74, 0x19, 0x6c, 0x74, 0x05, 0x6f, 0x08, 0x54, 0x56, 0x25, 0x40, 0x07, 0x2d, 0x42, 0x73, | ||
| 2791 | 0x5c, 0x1c, 0x60, 0x1e, 0x5a, 0x1d, 0x00, 0x33, 0x3b, 0x09, 0x28, 0x58, 0x66, 0x1d, 0x4e, 0x6b, | ||
| 2792 | }, .{ | ||
| 2793 | 0x22, 0x79, 0x72, 0x19, 0x19, 0x0b, 0x64, 0x6b, 0x15, 0x70, 0x10, 0x70, 0x73, 0x56, 0x48, 0x68, | ||
| 2794 | 0x01, 0x16, 0x1b, 0x68, 0x67, 0x09, 0x37, 0x36, 0x29, 0x25, 0x01, 0x7c, 0x58, 0x37, 0x61, 0x1c, | ||
| 2795 | }); | ||
| 2796 | try testArgs(@Vector(64, u7), .{ | ||
| 2797 | 0x79, 0x75, 0x24, 0x4a, 0x05, 0x1b, 0x28, 0x74, 0x43, 0x1c, 0x35, 0x06, 0x0d, 0x53, 0x07, 0x75, | ||
| 2798 | 0x37, 0x3b, 0x6c, 0x50, 0x5d, 0x52, 0x3f, 0x76, 0x3e, 0x57, 0x1e, 0x12, 0x31, 0x7b, 0x62, 0x6e, | ||
| 2799 | 0x30, 0x09, 0x1c, 0x0d, 0x3e, 0x52, 0x64, 0x6e, 0x23, 0x41, 0x2f, 0x4b, 0x69, 0x65, 0x67, 0x3f, | ||
| 2800 | 0x56, 0x6d, 0x4d, 0x35, 0x54, 0x7c, 0x63, 0x5d, 0x24, 0x49, 0x0a, 0x71, 0x55, 0x48, 0x3e, 0x4b, | ||
| 2801 | }, .{ | ||
| 2802 | 0x6a, 0x1d, 0x23, 0x7d, 0x12, 0x29, 0x23, 0x0b, 0x53, 0x3d, 0x39, 0x4b, 0x45, 0x05, 0x1b, 0x4a, | ||
| 2803 | 0x5c, 0x66, 0x38, 0x2d, 0x38, 0x70, 0x29, 0x5b, 0x32, 0x38, 0x39, 0x2e, 0x01, 0x3c, 0x15, 0x05, | ||
| 2804 | 0x1f, 0x28, 0x3a, 0x0f, 0x0a, 0x09, 0x11, 0x5e, 0x0a, 0x7a, 0x3f, 0x7d, 0x2c, 0x34, 0x63, 0x34, | ||
| 2805 | 0x1b, 0x61, 0x73, 0x63, 0x2c, 0x35, 0x25, 0x19, 0x09, 0x0c, 0x75, 0x5d, 0x01, 0x29, 0x3b, 0x0c, | ||
| 2806 | }); | ||
| 2807 | try testArgs(@Vector(128, u7), .{ | ||
| 2808 | 0x5c, | ||
| 2809 | 0x65, | ||
| 2810 | 0x65, | ||
| 2811 | 0x34, | ||
| 2812 | 0x31, | ||
| 2813 | 0x03, | ||
| 2814 | 0x7a, | ||
| 2815 | 0x56, | ||
| 2816 | 0x16, | ||
| 2817 | 0x74, | ||
| 2818 | 0x5c, | ||
| 2819 | 0x7f, | ||
| 2820 | 0x2a, | ||
| 2821 | 0x46, | ||
| 2822 | 0x2a, | ||
| 2823 | 0x5f, | ||
| 2824 | 0x62, | ||
| 2825 | 0x06, | ||
| 2826 | 0x51, | ||
| 2827 | 0x23, | ||
| 2828 | 0x58, | ||
| 2829 | 0x1f, | ||
| 2830 | 0x5a, | ||
| 2831 | 0x2d, | ||
| 2832 | 0x29, | ||
| 2833 | 0x21, | ||
| 2834 | 0x26, | ||
| 2835 | 0x5a, | ||
| 2836 | 0x5a, | ||
| 2837 | 0x13, | ||
| 2838 | 0x13, | ||
| 2839 | 0x46, | ||
| 2840 | 0x26, | ||
| 2841 | 0x1c, | ||
| 2842 | 0x06, | ||
| 2843 | 0x2d, | ||
| 2844 | 0x08, | ||
| 2845 | 0x52, | ||
| 2846 | 0x5b, | ||
| 2847 | 0x6f, | ||
| 2848 | 0x2d, | ||
| 2849 | 0x4a, | ||
| 2850 | 0x00, | ||
| 2851 | 0x40, | ||
| 2852 | 0x68, | ||
| 2853 | 0x27, | ||
| 2854 | 0x00, | ||
| 2855 | 0x4a, | ||
| 2856 | 0x3a, | ||
| 2857 | 0x22, | ||
| 2858 | 0x2d, | ||
| 2859 | 0x5b, | ||
| 2860 | 0x05, | ||
| 2861 | 0x26, | ||
| 2862 | 0x4e, | ||
| 2863 | 0x6f, | ||
| 2864 | 0x46, | ||
| 2865 | 0x4d, | ||
| 2866 | 0x14, | ||
| 2867 | 0x70, | ||
| 2868 | 0x51, | ||
| 2869 | 0x04, | ||
| 2870 | 0x66, | ||
| 2871 | 0x13, | ||
| 2872 | 0x4c, | ||
| 2873 | 0x7c, | ||
| 2874 | 0x67, | ||
| 2875 | 0x23, | ||
| 2876 | 0x13, | ||
| 2877 | 0x55, | ||
| 2878 | 0x1b, | ||
| 2879 | 0x30, | ||
| 2880 | 0x7d, | ||
| 2881 | 0x04, | ||
| 2882 | 0x47, | ||
| 2883 | 0x78, | ||
| 2884 | 0x05, | ||
| 2885 | 0x09, | ||
| 2886 | 0x5a, | ||
| 2887 | 0x20, | ||
| 2888 | 0x2e, | ||
| 2889 | 0x17, | ||
| 2890 | 0x11, | ||
| 2891 | 0x49, | ||
| 2892 | 0x6c, | ||
| 2893 | 0x5e, | ||
| 2894 | 0x34, | ||
| 2895 | 0x3e, | ||
| 2896 | 0x66, | ||
| 2897 | 0x60, | ||
| 2898 | 0x5d, | ||
| 2899 | 0x75, | ||
| 2900 | 0x48, | ||
| 2901 | 0x1d, | ||
| 2902 | 0x69, | ||
| 2903 | 0x67, | ||
| 2904 | 0x40, | ||
| 2905 | 0x2d, | ||
| 2906 | 0x7b, | ||
| 2907 | 0x31, | ||
| 2908 | 0x13, | ||
| 2909 | 0x60, | ||
| 2910 | 0x19, | ||
| 2911 | 0x2f, | ||
| 2912 | 0x3e, | ||
| 2913 | 0x7d, | ||
| 2914 | 0x23, | ||
| 2915 | 0x6a, | ||
| 2916 | 0x0e, | ||
| 2917 | 0x16, | ||
| 2918 | 0x44, | ||
| 2919 | 0x34, | ||
| 2920 | 0x5d, | ||
| 2921 | 0x5a, | ||
| 2922 | 0x2a, | ||
| 2923 | 0x0b, | ||
| 2924 | 0x64, | ||
| 2925 | 0x07, | ||
| 2926 | 0x22, | ||
| 2927 | 0x5b, | ||
| 2928 | 0x24, | ||
| 2929 | 0x22, | ||
| 2930 | 0x3b, | ||
| 2931 | 0x46, | ||
| 2932 | 0x23, | ||
| 2933 | 0x65, | ||
| 2934 | 0x5d, | ||
| 2935 | 0x34, | ||
| 2936 | }, .{ | ||
| 2937 | 0x4b, | ||
| 2938 | 0x36, | ||
| 2939 | 0x7a, | ||
| 2940 | 0x13, | ||
| 2941 | 0x5a, | ||
| 2942 | 0x4b, | ||
| 2943 | 0x69, | ||
| 2944 | 0x4b, | ||
| 2945 | 0x1d, | ||
| 2946 | 0x02, | ||
| 2947 | 0x1b, | ||
| 2948 | 0x3f, | ||
| 2949 | 0x61, | ||
| 2950 | 0x21, | ||
| 2951 | 0x45, | ||
| 2952 | 0x48, | ||
| 2953 | 0x44, | ||
| 2954 | 0x61, | ||
| 2955 | 0x25, | ||
| 2956 | 0x42, | ||
| 2957 | 0x57, | ||
| 2958 | 0x7d, | ||
| 2959 | 0x7a, | ||
| 2960 | 0x45, | ||
| 2961 | 0x22, | ||
| 2962 | 0x2e, | ||
| 2963 | 0x44, | ||
| 2964 | 0x3f, | ||
| 2965 | 0x3a, | ||
| 2966 | 0x14, | ||
| 2967 | 0x07, | ||
| 2968 | 0x6e, | ||
| 2969 | 0x68, | ||
| 2970 | 0x51, | ||
| 2971 | 0x03, | ||
| 2972 | 0x6b, | ||
| 2973 | 0x11, | ||
| 2974 | 0x32, | ||
| 2975 | 0x6d, | ||
| 2976 | 0x6f, | ||
| 2977 | 0x44, | ||
| 2978 | 0x5a, | ||
| 2979 | 0x61, | ||
| 2980 | 0x6d, | ||
| 2981 | 0x71, | ||
| 2982 | 0x66, | ||
| 2983 | 0x54, | ||
| 2984 | 0x14, | ||
| 2985 | 0x5d, | ||
| 2986 | 0x56, | ||
| 2987 | 0x22, | ||
| 2988 | 0x5c, | ||
| 2989 | 0x3a, | ||
| 2990 | 0x72, | ||
| 2991 | 0x16, | ||
| 2992 | 0x39, | ||
| 2993 | 0x59, | ||
| 2994 | 0x3e, | ||
| 2995 | 0x27, | ||
| 2996 | 0x4d, | ||
| 2997 | 0x3d, | ||
| 2998 | 0x44, | ||
| 2999 | 0x72, | ||
| 3000 | 0x2c, | ||
| 3001 | 0x71, | ||
| 3002 | 0x74, | ||
| 3003 | 0x3b, | ||
| 3004 | 0x6c, | ||
| 3005 | 0x70, | ||
| 3006 | 0x39, | ||
| 3007 | 0x0f, | ||
| 3008 | 0x5c, | ||
| 3009 | 0x71, | ||
| 3010 | 0x04, | ||
| 3011 | 0x67, | ||
| 3012 | 0x02, | ||
| 3013 | 0x2c, | ||
| 3014 | 0x18, | ||
| 3015 | 0x0f, | ||
| 3016 | 0x14, | ||
| 3017 | 0x2d, | ||
| 3018 | 0x24, | ||
| 3019 | 0x51, | ||
| 3020 | 0x34, | ||
| 3021 | 0x6d, | ||
| 3022 | 0x0c, | ||
| 3023 | 0x19, | ||
| 3024 | 0x0f, | ||
| 3025 | 0x73, | ||
| 3026 | 0x79, | ||
| 3027 | 0x3d, | ||
| 3028 | 0x74, | ||
| 3029 | 0x20, | ||
| 3030 | 0x15, | ||
| 3031 | 0x22, | ||
| 3032 | 0x25, | ||
| 3033 | 0x09, | ||
| 3034 | 0x14, | ||
| 3035 | 0x09, | ||
| 3036 | 0x71, | ||
| 3037 | 0x2d, | ||
| 3038 | 0x6f, | ||
| 3039 | 0x09, | ||
| 3040 | 0x2e, | ||
| 3041 | 0x27, | ||
| 3042 | 0x75, | ||
| 3043 | 0x57, | ||
| 3044 | 0x62, | ||
| 3045 | 0x4d, | ||
| 3046 | 0x07, | ||
| 3047 | 0x62, | ||
| 3048 | 0x01, | ||
| 3049 | 0x41, | ||
| 3050 | 0x2d, | ||
| 3051 | 0x5d, | ||
| 3052 | 0x4c, | ||
| 3053 | 0x77, | ||
| 3054 | 0x10, | ||
| 3055 | 0x7f, | ||
| 3056 | 0x30, | ||
| 3057 | 0x0f, | ||
| 3058 | 0x50, | ||
| 3059 | 0x15, | ||
| 3060 | 0x39, | ||
| 3061 | 0x34, | ||
| 3062 | 0x7c, | ||
| 3063 | 0x33, | ||
| 3064 | 0x16, | ||
| 3065 | }); | ||
| 3066 | |||
| 3067 | try testArgs(@Vector(1, i8), .{ | ||
| 3068 | -0x54, | ||
| 3069 | }, .{ | ||
| 3070 | 0x0f, | ||
| 3071 | }); | ||
| 3072 | try testArgs(@Vector(2, i8), .{ | ||
| 3073 | -0x4d, 0x55, | ||
| 3074 | }, .{ | ||
| 3075 | 0x7d, -0x5d, | ||
| 3076 | }); | ||
| 3077 | try testArgs(@Vector(4, i8), .{ | ||
| 3078 | 0x73, 0x6f, 0x6e, -0x49, | ||
| 3079 | }, .{ | ||
| 3080 | -0x66, 0x23, 0x21, -0x56, | ||
| 3081 | }); | ||
| 3082 | try testArgs(@Vector(8, i8), .{ | ||
| 3083 | 0x44, -0x37, 0x33, -0x2b, -0x1f, 0x3e, 0x50, -0x4d, | ||
| 3084 | }, .{ | ||
| 3085 | 0x6a, 0x1a, -0x0e, 0x4c, -0x46, 0x03, -0x17, 0x3e, | ||
| 3086 | }); | ||
| 3087 | try testArgs(@Vector(16, i8), .{ | ||
| 3088 | -0x52, 0x1a, -0x4b, 0x4e, -0x75, 0x33, -0x43, 0x30, 0x71, -0x30, -0x73, -0x53, 0x64, 0x1f, -0x27, 0x36, | ||
| 3089 | }, .{ | ||
| 3090 | 0x65, 0x77, -0x62, 0x0f, 0x15, 0x52, 0x5c, 0x12, -0x10, 0x36, 0x6d, 0x42, -0x24, -0x79, -0x32, -0x75, | ||
| 3091 | }); | ||
| 3092 | try testArgs(@Vector(32, i8), .{ | ||
| 3093 | -0x12, -0x1e, 0x18, 0x6e, 0x31, 0x53, -0x6a, -0x34, 0x13, 0x4d, 0x30, -0x7d, -0x31, 0x1e, -0x24, 0x32, | ||
| 3094 | -0x1e, -0x01, 0x55, 0x33, -0x75, -0x44, -0x57, 0x2b, -0x66, 0x19, 0x7f, -0x28, -0x3f, -0x7e, -0x5d, -0x06, | ||
| 3095 | }, .{ | ||
| 3096 | 0x05, -0x23, 0x43, -0x54, -0x41, 0x7f, -0x6a, -0x31, 0x04, 0x15, -0x7a, -0x37, 0x6d, 0x16, 0x01, 0x4a, | ||
| 3097 | 0x15, 0x55, -0x4a, 0x16, -0x73, -0x0c, 0x1c, -0x26, -0x14, -0x01, 0x55, 0x7b, 0x16, -0x2e, -0x5f, -0x67, | ||
| 3098 | }); | ||
| 3099 | try testArgs(@Vector(64, i8), .{ | ||
| 3100 | -0x05, 0x76, 0x4e, -0x5c, 0x7b, -0x1a, -0x38, -0x2e, 0x3d, 0x36, 0x01, 0x30, -0x02, -0x71, -0x24, 0x24, | ||
| 3101 | -0x2e, -0x6e, -0x60, 0x74, -0x80, -0x1c, -0x34, -0x08, -0x33, 0x77, 0x1c, -0x0f, 0x45, -0x51, -0x1d, 0x35, | ||
| 3102 | -0x45, 0x44, 0x27, -0x3c, 0x6b, 0x58, -0x6a, -0x26, 0x06, -0x30, -0x21, -0x0a, 0x60, -0x11, -0x05, 0x75, | ||
| 3103 | 0x38, 0x72, -0x6d, -0x1f, -0x7f, 0x74, -0x6b, -0x14, -0x80, 0x35, -0x0f, -0x1e, 0x6a, 0x17, -0x74, -0x6c, | ||
| 3104 | }, .{ | ||
| 3105 | -0x5d, 0x2d, 0x55, 0x40, -0x7c, 0x67, 0x61, 0x5f, 0x14, 0x5b, -0x0c, -0x4d, -0x5f, 0x25, 0x36, 0x3c, | ||
| 3106 | -0x75, -0x48, -0x2b, 0x76, -0x57, -0x4a, 0x1d, 0x65, -0x32, 0x18, -0x2a, -0x0a, -0x6e, -0x3c, -0x62, 0x4e, | ||
| 3107 | -0x24, -0x3c, 0x7d, -0x79, -0x1a, -0x14, -0x03, -0x56, 0x7a, 0x5f, 0x64, -0x68, 0x5f, -0x10, -0x63, -0x07, | ||
| 3108 | 0x79, -0x44, 0x47, 0x7d, 0x6e, 0x77, 0x03, -0x4e, 0x67, 0x38, 0x46, -0x44, -0x41, 0x66, -0x16, -0x0a, | ||
| 3109 | }); | ||
| 3110 | try testArgs(@Vector(128, i8), .{ | ||
| 3111 | 0x30, 0x70, -0x2a, -0x29, -0x35, -0x69, -0x18, 0x2b, 0x4a, -0x17, -0x5f, -0x36, 0x34, -0x26, 0x03, -0x2d, | ||
| 3112 | -0x75, -0x27, -0x07, -0x49, -0x58, 0x00, -0x45, 0x5d, -0x11, -0x68, 0x34, 0x73, -0x4d, 0x7f, -0x25, -0x6a, | ||
| 3113 | 0x46, -0x1d, -0x68, 0x04, 0x64, -0x0d, 0x30, 0x27, -0x24, 0x67, 0x3c, -0x7c, -0x2e, -0x24, 0x24, 0x3e, | ||
| 3114 | -0x2c, -0x05, 0x4e, -0x17, 0x6d, 0x57, 0x76, 0x35, -0x3d, 0x51, 0x71, -0x4e, 0x50, 0x26, 0x4a, -0x42, | ||
| 3115 | 0x73, -0x36, -0x5d, 0x2a, 0x55, 0x33, -0x2b, -0x76, 0x08, 0x43, 0x77, -0x73, -0x0a, 0x5c, -0x03, -0x50, | ||
| 3116 | -0x0a, -0x1c, -0x20, 0x3c, -0x7e, 0x60, 0x11, -0x77, 0x25, -0x71, 0x31, 0x2d, -0x4b, -0x26, -0x2a, 0x7f, | ||
| 3117 | -0x1f, 0x23, -0x34, -0x1f, 0x35, 0x0d, 0x3e, 0x76, -0x08, 0x2c, 0x12, 0x3e, -0x09, -0x3e, 0x4b, -0x52, | ||
| 3118 | -0x1a, -0x44, -0x53, -0x41, -0x6d, -0x5e, -0x06, -0x04, 0x3f, -0x2e, 0x01, 0x54, 0x19, -0x5a, -0x62, -0x3a, | ||
| 3119 | }, .{ | ||
| 3120 | 0x42, -0x11, -0x08, -0x64, -0x55, 0x31, 0x27, -0x66, 0x38, 0x5a, 0x25, -0x68, 0x0b, -0x41, -0x0d, 0x60, | ||
| 3121 | -0x17, -0x6d, 0x62, -0x65, -0x5e, -0x1c, -0x35, 0x28, 0x1c, -0x74, -0x7f, -0x1c, 0x3a, 0x4e, 0x05, -0x08, | ||
| 3122 | 0x30, -0x77, 0x03, 0x68, -0x2c, 0x5c, 0x74, 0x6a, -0x21, 0x0a, 0x36, -0x55, 0x21, 0x29, -0x05, 0x70, | ||
| 3123 | 0x23, 0x3b, 0x0a, 0x7a, 0x19, 0x14, 0x65, -0x1d, 0x2b, 0x65, 0x33, 0x2a, 0x52, -0x63, 0x57, 0x10, | ||
| 3124 | -0x1b, 0x26, -0x46, -0x7e, -0x25, 0x79, -0x01, -0x0d, -0x49, -0x4d, 0x74, 0x03, 0x77, 0x16, 0x03, -0x3d, | ||
| 3125 | 0x1c, 0x25, 0x5a, -0x2f, -0x16, -0x5f, -0x36, -0x55, -0x44, -0x0c, -0x0f, 0x7b, -0x15, -0x1d, 0x32, 0x31, | ||
| 3126 | 0x6e, -0x44, -0x4a, -0x64, 0x67, 0x04, 0x47, -0x02, 0x3c, -0x0a, -0x79, 0x3d, 0x48, 0x5a, 0x61, -0x2c, | ||
| 3127 | 0x6d, -0x68, -0x71, -0x6b, -0x11, 0x44, -0x75, -0x55, -0x67, -0x52, 0x64, -0x3d, -0x05, -0x76, -0x6d, -0x44, | ||
| 3128 | }); | ||
| 3129 | |||
| 3130 | try testArgs(@Vector(1, u8), .{ | ||
| 3131 | 0x1f, | ||
| 3132 | }, .{ | ||
| 3133 | 0x06, | ||
| 3134 | }); | ||
| 3135 | try testArgs(@Vector(2, u8), .{ | ||
| 3136 | 0x80, 0x63, | ||
| 3137 | }, .{ | ||
| 3138 | 0xe4, 0x28, | ||
| 3139 | }); | ||
| 3140 | try testArgs(@Vector(4, u8), .{ | ||
| 3141 | 0x83, 0x9e, 0x1e, 0xc1, | ||
| 3142 | }, .{ | ||
| 3143 | 0xf0, 0x5c, 0x46, 0x85, | ||
| 3144 | }); | ||
| 3145 | try testArgs(@Vector(8, u8), .{ | ||
| 3146 | 0x1e, 0x4d, 0x9d, 0x2a, 0x4c, 0x74, 0x0a, 0x83, | ||
| 3147 | }, .{ | ||
| 3148 | 0x28, 0x60, 0xa9, 0xb5, 0xd9, 0xa6, 0xf1, 0xb6, | ||
| 3149 | }); | ||
| 3150 | try testArgs(@Vector(16, u8), .{ | ||
| 3151 | 0xea, 0x80, 0xbb, 0xe8, 0x74, 0x81, 0xc8, 0x66, 0x7b, 0x41, 0x90, 0xcb, 0x30, 0x70, 0x4b, 0x0f, | ||
| 3152 | }, .{ | ||
| 3153 | 0x61, 0x26, 0xbe, 0x47, 0x02, 0x9c, 0x55, 0xa5, 0x59, 0xf0, 0xb2, 0x20, 0x30, 0xaf, 0x82, 0x3e, | ||
| 3154 | }); | ||
| 3155 | try testArgs(@Vector(32, u8), .{ | ||
| 3156 | 0xa1, 0x88, 0xc4, 0xf4, 0x77, 0x0b, 0xf5, 0xbb, 0x09, 0x03, 0xbf, 0xf5, 0xcc, 0x7f, 0x6b, 0x2a, | ||
| 3157 | 0x4c, 0x05, 0x37, 0xc9, 0x8a, 0xcb, 0x91, 0x23, 0x09, 0x5f, 0xb8, 0x99, 0x4a, 0x75, 0x26, 0xe4, | ||
| 3158 | }, .{ | ||
| 3159 | 0xff, 0x0f, 0x99, 0x49, 0xa6, 0x25, 0xa7, 0xd4, 0xc9, 0x2f, 0x97, 0x6a, 0x01, 0xd6, 0x6e, 0x41, | ||
| 3160 | 0xa4, 0xb5, 0x3c, 0x03, 0xea, 0x82, 0x9c, 0x5f, 0xac, 0x07, 0x16, 0x15, 0x1c, 0x64, 0x25, 0x2f, | ||
| 3161 | }); | ||
| 3162 | try testArgs(@Vector(64, u8), .{ | ||
| 3163 | 0xaa, 0x08, 0xeb, 0xb2, 0xd7, 0x89, 0x0f, 0x98, 0xda, 0x9f, 0xa6, 0x4e, 0x3c, 0xce, 0x1b, 0x1b, | ||
| 3164 | 0x9e, 0x5f, 0x2b, 0xd6, 0x59, 0x26, 0x47, 0x05, 0x2a, 0xb7, 0xd1, 0x10, 0xde, 0xd9, 0x84, 0x00, | ||
| 3165 | 0x07, 0xc0, 0xaa, 0x6e, 0xfa, 0x3b, 0x97, 0x85, 0xa8, 0x42, 0xd7, 0xa5, 0x90, 0xe6, 0x10, 0x1a, | ||
| 3166 | 0x47, 0x84, 0xe1, 0x3e, 0xb0, 0x70, 0x26, 0x3f, 0xea, 0x24, 0xb8, 0x5f, 0xe3, 0xe3, 0x4c, 0xed, | ||
| 3167 | }, .{ | ||
| 3168 | 0x3b, 0xc5, 0xe0, 0x3d, 0x4f, 0x2e, 0x1d, 0xa9, 0xf7, 0x7b, 0xc7, 0xc1, 0x48, 0xc6, 0xe5, 0x9e, | ||
| 3169 | 0x4d, 0xa8, 0x21, 0x37, 0xa1, 0x1a, 0x95, 0x69, 0x89, 0x2f, 0x15, 0x07, 0x3d, 0x7b, 0x69, 0x89, | ||
| 3170 | 0xea, 0x87, 0xf0, 0x94, 0x67, 0xf2, 0x3d, 0x04, 0x96, 0x8a, 0xd6, 0x70, 0x7c, 0x16, 0xe7, 0x62, | ||
| 3171 | 0xf0, 0x8d, 0x96, 0x65, 0xd1, 0x4a, 0x35, 0x3e, 0x7a, 0x67, 0xa6, 0x1f, 0x37, 0x66, 0xe3, 0x45, | ||
| 3172 | }); | ||
| 3173 | try testArgs(@Vector(128, u8), .{ | ||
| 3174 | 0xa1, 0xd0, 0x7b, 0xf9, 0x7b, 0x77, 0x7b, 0x3d, 0x2d, 0x68, 0xc2, 0x7b, 0xb0, 0xb8, 0xd4, 0x7c, | ||
| 3175 | 0x1a, 0x1f, 0xd2, 0x92, 0x3e, 0xcb, 0xc1, 0x6b, 0xb9, 0x4d, 0xf1, 0x67, 0x58, 0x8e, 0x77, 0xa6, | ||
| 3176 | 0xb9, 0xdf, 0x10, 0x6f, 0xbe, 0xe3, 0x33, 0xb6, 0x93, 0x77, 0x80, 0xef, 0x09, 0x9d, 0x61, 0x40, | ||
| 3177 | 0xa2, 0xf4, 0x52, 0x18, 0x9d, 0xe4, 0xb0, 0xaf, 0x0a, 0xa7, 0x0b, 0x09, 0x67, 0x38, 0x71, 0x04, | ||
| 3178 | 0x72, 0xa1, 0xd2, 0xfd, 0xf8, 0xf0, 0xa7, 0x23, 0x24, 0x5b, 0x7d, 0xfb, 0x43, 0xba, 0x6c, 0xc4, | ||
| 3179 | 0x83, 0x46, 0x0e, 0x4d, 0x6c, 0x92, 0xab, 0x4f, 0xd2, 0x70, 0x9d, 0xfe, 0xce, 0xf8, 0x05, 0x9f, | ||
| 3180 | 0x98, 0x36, 0x9c, 0x90, 0x9a, 0xd0, 0xb5, 0x76, 0x16, 0xe8, 0x25, 0xc2, 0xbd, 0x91, 0xab, 0xf9, | ||
| 3181 | 0x6f, 0x6c, 0xc5, 0x60, 0xe5, 0x30, 0xf2, 0xb7, 0x59, 0xc4, 0x9c, 0xdd, 0xdf, 0x04, 0x65, 0xd9, | ||
| 3182 | }, .{ | ||
| 3183 | 0xed, 0xe1, 0x8a, 0xf6, 0xf3, 0x8b, 0xfd, 0x1d, 0x3c, 0x87, 0xbf, 0xfe, 0x04, 0x52, 0x15, 0x82, | ||
| 3184 | 0x0b, 0xb0, 0xcf, 0xcf, 0xf8, 0x03, 0x9c, 0xef, 0xc1, 0x76, 0x7e, 0xe3, 0xe9, 0xa8, 0x18, 0x90, | ||
| 3185 | 0xd4, 0xc4, 0x91, 0x15, 0x68, 0x7f, 0x65, 0xd8, 0xe1, 0xb3, 0x23, 0xc2, 0x7d, 0x84, 0x3b, 0xaf, | ||
| 3186 | 0x74, 0x69, 0x07, 0x2a, 0x1b, 0x5f, 0x0e, 0x44, 0x0d, 0x2b, 0x9c, 0x82, 0x41, 0xf9, 0x7f, 0xb5, | ||
| 3187 | 0xc4, 0xd9, 0xcb, 0xd3, 0xc5, 0x31, 0x8b, 0x5f, 0xda, 0x09, 0x9b, 0x29, 0xa3, 0xb7, 0x13, 0x0d, | ||
| 3188 | 0x55, 0x9b, 0x59, 0x33, 0x2a, 0x59, 0x3a, 0x44, 0x1f, 0xd3, 0x40, 0x4e, 0xde, 0x2c, 0xe4, 0x16, | ||
| 3189 | 0xfd, 0xc3, 0x02, 0x74, 0xaa, 0x65, 0xfd, 0xc8, 0x2a, 0x8a, 0xdb, 0xae, 0x44, 0x28, 0x62, 0xa4, | ||
| 3190 | 0x56, 0x4f, 0xf1, 0xaa, 0x0a, 0x0f, 0xdb, 0x1b, 0xc8, 0x45, 0x9b, 0x12, 0xb4, 0x1a, 0xe4, 0xa3, | ||
| 3191 | }); | ||
| 3192 | |||
| 3193 | try testArgs(@Vector(1, i9), .{ | ||
| 3194 | 0x002, | ||
| 3195 | }, .{ | ||
| 3196 | 0x0bd, | ||
| 3197 | }); | ||
| 3198 | try testArgs(@Vector(2, i9), .{ | ||
| 3199 | 0x00c, 0x0b1, | ||
| 3200 | }, .{ | ||
| 3201 | -0x00b, -0x009, | ||
| 3202 | }); | ||
| 3203 | try testArgs(@Vector(4, i9), .{ | ||
| 3204 | 0x0b2, 0x02b, -0x09d, -0x03c, | ||
| 3205 | }, .{ | ||
| 3206 | 0x031, 0x078, 0x016, -0x08a, | ||
| 3207 | }); | ||
| 3208 | try testArgs(@Vector(8, i9), .{ | ||
| 3209 | 0x066, -0x03b, 0x007, 0x054, 0x0a7, 0x0ee, 0x00f, -0x0f8, | ||
| 3210 | }, .{ | ||
| 3211 | 0x01e, 0x0af, 0x047, 0x0d8, 0x002, -0x030, -0x01d, 0x003, | ||
| 3212 | }); | ||
| 3213 | try testArgs(@Vector(16, i9), .{ | ||
| 3214 | 0x0e7, -0x066, 0x079, -0x08d, -0x01a, -0x009, 0x0c8, 0x0c0, -0x070, 0x001, -0x00e, 0x014, -0x0f7, -0x07f, 0x0c8, -0x09a, | ||
| 3215 | }, .{ | ||
| 3216 | 0x0ea, -0x040, -0x045, -0x06d, 0x02c, -0x0b0, -0x0ba, -0x01a, 0x0af, 0x055, -0x015, -0x0fa, 0x0ca, 0x0f4, 0x007, -0x0a0, | ||
| 3217 | }); | ||
| 3218 | try testArgs(@Vector(32, i9), .{ | ||
| 3219 | -0x003, 0x01b, 0x0b6, -0x009, 0x090, 0x047, -0x00b, -0x0f2, 0x0f6, -0x09d, 0x0bf, 0x06a, -0x0e0, 0x03f, 0x007, 0x0a1, | ||
| 3220 | 0x009, -0x0fb, 0x034, 0x0ba, 0x0cb, -0x0c9, -0x0ff, -0x0c1, 0x0d3, 0x029, -0x076, 0x044, 0x0d4, 0x083, -0x002, 0x04e, | ||
| 3221 | }, .{ | ||
| 3222 | -0x0cb, 0x0e3, 0x014, 0x02f, -0x0da, -0x06a, 0x07f, 0x07d, -0x0ea, -0x014, 0x09a, 0x050, 0x017, -0x00d, 0x041, 0x03e, | ||
| 3223 | -0x096, -0x008, 0x075, -0x0bc, 0x0f9, -0x0fc, -0x0a7, 0x0ef, 0x0f9, 0x066, 0x02f, 0x0d3, -0x0f0, -0x04a, -0x100, -0x0c6, | ||
| 3224 | }); | ||
| 3225 | try testArgs(@Vector(64, i9), .{ | ||
| 3226 | -0x016, -0x0ae, 0x08b, -0x0eb, -0x0b2, 0x02f, 0x039, -0x0ba, -0x08d, -0x0a8, -0x0eb, -0x01a, 0x0eb, 0x0ca, -0x049, 0x04e, | ||
| 3227 | -0x019, -0x0d9, -0x0bd, 0x0ae, -0x07d, -0x092, -0x0fb, -0x06c, -0x0e6, 0x0d9, 0x02c, 0x0cc, 0x093, -0x022, 0x07a, -0x093, | ||
| 3228 | 0x0e5, -0x011, -0x003, 0x070, -0x042, -0x0ad, 0x0be, -0x038, -0x0bf, 0x098, 0x090, -0x09e, -0x0a5, -0x0e1, -0x0e2, 0x039, | ||
| 3229 | -0x035, -0x0e5, -0x054, 0x04c, 0x04b, -0x09f, 0x091, -0x039, 0x09b, -0x029, 0x014, -0x0d3, 0x06b, 0x0ae, 0x091, 0x082, | ||
| 3230 | }, .{ | ||
| 3231 | -0x0bb, -0x0ec, 0x0fa, 0x055, 0x06f, 0x011, -0x09d, 0x083, -0x066, 0x014, 0x007, 0x002, -0x0ee, -0x0d9, 0x0c3, -0x087, | ||
| 3232 | 0x03c, -0x065, -0x0cf, -0x075, -0x0c7, -0x0c1, 0x06b, -0x0e3, -0x07a, 0x0b2, -0x0f8, -0x0fa, 0x001, -0x0ba, 0x0c4, 0x0bb, | ||
| 3233 | 0x032, 0x01e, -0x074, -0x058, -0x040, 0x0aa, 0x077, 0x028, -0x061, 0x076, -0x04e, 0x01a, -0x05f, -0x073, 0x0ea, 0x06e, | ||
| 3234 | -0x069, -0x0a1, -0x041, 0x013, -0x01c, -0x0f8, 0x053, 0x0f8, -0x0c3, 0x058, -0x02d, 0x0f1, -0x045, 0x04b, -0x0b1, -0x0f3, | ||
| 3235 | }); | ||
| 3236 | try testArgs(@Vector(128, i9), .{ | ||
| 3237 | 0x0d4, 0x036, 0x0bd, -0x046, -0x0a7, 0x09e, 0x0dd, 0x043, 0x098, -0x09a, -0x06f, 0x0bb, -0x0b7, 0x021, 0x0a3, 0x0f0, | ||
| 3238 | 0x069, -0x08b, 0x0da, 0x016, -0x049, 0x0d0, 0x07b, 0x004, 0x0ad, -0x07c, -0x04e, -0x011, 0x01f, -0x035, 0x028, -0x0c9, | ||
| 3239 | -0x0eb, 0x077, 0x08b, -0x009, 0x024, -0x058, 0x04e, -0x0c0, -0x01d, -0x0a7, 0x088, 0x01b, -0x0f3, -0x0c5, -0x08e, 0x0dc, | ||
| 3240 | 0x07d, 0x086, -0x032, 0x0a9, -0x00c, -0x06a, 0x06c, 0x032, 0x083, 0x0ec, 0x0ec, -0x0a6, 0x029, 0x044, -0x07f, 0x068, | ||
| 3241 | -0x038, 0x0f6, 0x0b5, -0x00d, -0x051, -0x0c6, -0x0af, -0x0eb, -0x0b6, 0x03c, -0x037, 0x0cc, -0x033, 0x08a, -0x0b4, -0x039, | ||
| 3242 | 0x01e, 0x06c, 0x015, -0x081, -0x029, 0x017, -0x080, -0x01e, -0x081, 0x04f, -0x071, -0x073, 0x0c3, 0x079, 0x0ad, 0x087, | ||
| 3243 | -0x072, 0x067, -0x064, -0x0d4, 0x0b4, 0x003, 0x0b1, 0x0bb, 0x0cc, -0x0e9, 0x0e7, 0x015, 0x07b, 0x0e4, -0x0ee, -0x07f, | ||
| 3244 | -0x0bf, 0x0cd, -0x056, 0x0ea, 0x0e5, 0x0fa, 0x0e1, -0x087, 0x0fe, 0x017, 0x071, -0x0d1, -0x053, -0x088, -0x0ef, 0x01b, | ||
| 3245 | }, .{ | ||
| 3246 | 0x0ea, -0x018, 0x0ab, 0x039, 0x0ec, 0x0cc, -0x033, -0x0e6, -0x037, -0x075, -0x055, -0x09a, 0x0bc, 0x099, -0x03c, -0x0b4, | ||
| 3247 | -0x0fe, -0x0ce, 0x0d6, -0x084, 0x08f, 0x04b, 0x0cc, -0x023, 0x01e, -0x09c, 0x058, 0x0f4, -0x0a7, 0x085, -0x049, -0x050, | ||
| 3248 | 0x0f3, -0x036, -0x0fe, 0x070, -0x0a2, -0x081, -0x066, 0x057, -0x017, -0x0c8, 0x070, 0x09b, -0x0e4, -0x03b, -0x0d9, 0x081, | ||
| 3249 | 0x041, 0x0ec, -0x062, 0x0b9, -0x0d2, -0x02a, 0x0ab, 0x072, 0x001, -0x082, -0x0cd, 0x0c8, 0x017, -0x09d, 0x094, -0x027, | ||
| 3250 | 0x09c, 0x024, -0x0ec, 0x02f, 0x066, -0x08e, 0x0ee, 0x099, 0x08e, -0x0e5, -0x094, 0x0bb, 0x02f, -0x0fe, -0x07e, -0x0ad, | ||
| 3251 | 0x05c, 0x066, 0x07e, -0x0a9, 0x0fe, -0x0e3, -0x068, 0x058, -0x007, 0x0d6, -0x0e8, -0x0d6, 0x038, 0x0b8, -0x0b2, 0x0c1, | ||
| 3252 | 0x09a, 0x02f, 0x0d9, 0x07d, 0x0fc, 0x0f7, -0x005, -0x01c, 0x0c2, 0x066, 0x064, -0x096, -0x040, 0x065, -0x00d, -0x063, | ||
| 3253 | 0x031, -0x088, 0x090, -0x077, 0x0e2, 0x0a8, -0x0e0, -0x077, 0x0eb, 0x0c3, -0x0ad, 0x008, 0x04e, -0x095, -0x041, -0x0a6, | ||
| 3254 | }); | ||
| 3255 | |||
| 3256 | try testArgs(@Vector(1, u9), .{ | ||
| 3257 | 0x09e, | ||
| 3258 | }, .{ | ||
| 3259 | 0x171, | ||
| 3260 | }); | ||
| 3261 | try testArgs(@Vector(2, u9), .{ | ||
| 3262 | 0x0bf, 0x042, | ||
| 3263 | }, .{ | ||
| 3264 | 0x154, 0x14b, | ||
| 3265 | }); | ||
| 3266 | try testArgs(@Vector(4, u9), .{ | ||
| 3267 | 0x0a5, 0x1ba, 0x1ef, 0x0b3, | ||
| 3268 | }, .{ | ||
| 3269 | 0x15d, 0x1d3, 0x00e, 0x13b, | ||
| 3270 | }); | ||
| 3271 | try testArgs(@Vector(8, u9), .{ | ||
| 3272 | 0x068, 0x125, 0x1ac, 0x105, 0x0cb, 0x14b, 0x18b, 0x07f, | ||
| 3273 | }, .{ | ||
| 3274 | 0x04a, 0x011, 0x0ad, 0x1d7, 0x1b8, 0x083, 0x16d, 0x052, | ||
| 3275 | }); | ||
| 3276 | try testArgs(@Vector(16, u9), .{ | ||
| 3277 | 0x00e, 0x0b4, 0x0d2, 0x149, 0x012, 0x17d, 0x13f, 0x1cb, 0x0f2, 0x145, 0x098, 0x005, 0x055, 0x141, 0x115, 0x01c, | ||
| 3278 | }, .{ | ||
| 3279 | 0x06c, 0x1da, 0x192, 0x0cf, 0x180, 0x0c2, 0x158, 0x0c6, 0x141, 0x105, 0x168, 0x165, 0x0aa, 0x0d5, 0x0a1, 0x03d, | ||
| 3280 | }); | ||
| 3281 | try testArgs(@Vector(32, u9), .{ | ||
| 3282 | 0x1bd, 0x05b, 0x1e1, 0x03e, 0x18b, 0x1ad, 0x102, 0x1bc, 0x0cd, 0x09f, 0x028, 0x057, 0x0cd, 0x14f, 0x02b, 0x00f, | ||
| 3283 | 0x140, 0x0b3, 0x155, 0x161, 0x1b6, 0x0ae, 0x13f, 0x1a7, 0x1b5, 0x0d4, 0x1f1, 0x1f5, 0x01c, 0x04b, 0x110, 0x0e2, | ||
| 3284 | }, .{ | ||
| 3285 | 0x027, 0x046, 0x00a, 0x035, 0x0ad, 0x10c, 0x010, 0x0ef, 0x096, 0x061, 0x016, 0x0cb, 0x17a, 0x0aa, 0x0d6, 0x1ad, | ||
| 3286 | 0x108, 0x0e3, 0x078, 0x020, 0x145, 0x0fc, 0x109, 0x04e, 0x13b, 0x02b, 0x11c, 0x125, 0x0f0, 0x185, 0x06b, 0x0b2, | ||
| 3287 | }); | ||
| 3288 | try testArgs(@Vector(64, u9), .{ | ||
| 3289 | 0x17b, 0x094, 0x1e8, 0x089, 0x0ec, 0x15d, 0x190, 0x0eb, 0x086, 0x091, 0x132, 0x074, 0x004, 0x142, 0x136, 0x066, | ||
| 3290 | 0x0a1, 0x1dc, 0x1d2, 0x026, 0x11e, 0x1eb, 0x1d5, 0x055, 0x047, 0x116, 0x0b7, 0x14a, 0x1ea, 0x067, 0x1c1, 0x19e, | ||
| 3291 | 0x13e, 0x11a, 0x16d, 0x0a6, 0x1b8, 0x0ef, 0x179, 0x076, 0x13e, 0x118, 0x0a3, 0x04e, 0x10a, 0x1bd, 0x186, 0x170, | ||
| 3292 | 0x172, 0x14f, 0x15e, 0x0f2, 0x1bc, 0x016, 0x189, 0x199, 0x0ee, 0x1ac, 0x0d8, 0x094, 0x19f, 0x0c8, 0x0f2, 0x06a, | ||
| 3293 | }, .{ | ||
| 3294 | 0x096, 0x19f, 0x094, 0x03d, 0x060, 0x164, 0x171, 0x101, 0x1ab, 0x172, 0x14b, 0x177, 0x1d6, 0x10d, 0x193, 0x13e, | ||
| 3295 | 0x1cf, 0x1be, 0x16a, 0x088, 0x0bb, 0x1bf, 0x052, 0x14c, 0x1fa, 0x060, 0x1c7, 0x073, 0x19d, 0x158, 0x1dc, 0x12d, | ||
| 3296 | 0x1c1, 0x15c, 0x10e, 0x16e, 0x1d2, 0x155, 0x0d1, 0x0e1, 0x126, 0x0bd, 0x081, 0x17e, 0x1f9, 0x1aa, 0x1ad, 0x0fe, | ||
| 3297 | 0x0f8, 0x158, 0x0ec, 0x00f, 0x033, 0x053, 0x033, 0x1e4, 0x05b, 0x072, 0x06b, 0x1a3, 0x157, 0x0ed, 0x1c8, 0x01b, | ||
| 3298 | }); | ||
| 3299 | try testArgs(@Vector(128, u9), .{ | ||
| 3300 | 0x13e, 0x0ad, 0x121, 0x0b1, 0x186, 0x0af, 0x058, 0x1b6, 0x16c, 0x0b0, 0x1e4, 0x1a2, 0x1f7, 0x1e1, 0x12c, 0x098, | ||
| 3301 | 0x0a5, 0x138, 0x1dd, 0x1d5, 0x0a0, 0x01e, 0x01e, 0x077, 0x0a9, 0x0f9, 0x12b, 0x153, 0x0bd, 0x0ac, 0x13e, 0x097, | ||
| 3302 | 0x062, 0x064, 0x091, 0x100, 0x0be, 0x196, 0x096, 0x183, 0x18f, 0x006, 0x07f, 0x14c, 0x0ec, 0x028, 0x0cd, 0x09c, | ||
| 3303 | 0x054, 0x0c7, 0x0cf, 0x019, 0x058, 0x0fa, 0x1ec, 0x1c4, 0x0d8, 0x0f7, 0x187, 0x1a5, 0x17f, 0x008, 0x087, 0x199, | ||
| 3304 | 0x1cd, 0x094, 0x100, 0x011, 0x050, 0x09d, 0x05e, 0x1f8, 0x0a7, 0x0a7, 0x0f7, 0x06b, 0x05e, 0x14f, 0x03c, 0x08c, | ||
| 3305 | 0x110, 0x16a, 0x08b, 0x1a3, 0x173, 0x1e0, 0x01a, 0x18a, 0x061, 0x0e8, 0x0d7, 0x0a6, 0x11b, 0x1fa, 0x004, 0x1fe, | ||
| 3306 | 0x045, 0x117, 0x0ab, 0x11a, 0x079, 0x1f6, 0x1bb, 0x0b6, 0x04a, 0x01b, 0x0d5, 0x0a6, 0x15a, 0x088, 0x0fa, 0x180, | ||
| 3307 | 0x0a4, 0x1fa, 0x17b, 0x117, 0x120, 0x110, 0x199, 0x109, 0x171, 0x1cb, 0x1cb, 0x0f3, 0x127, 0x1b2, 0x0e5, 0x152, | ||
| 3308 | }, .{ | ||
| 3309 | 0x137, 0x1c8, 0x1e2, 0x04a, 0x0f9, 0x0a7, 0x1d7, 0x1ba, 0x1a6, 0x035, 0x09b, 0x018, 0x1bd, 0x0fe, 0x08d, 0x029, | ||
| 3310 | 0x0d8, 0x1cc, 0x06f, 0x174, 0x132, 0x02b, 0x188, 0x15f, 0x036, 0x15e, 0x0bc, 0x1bd, 0x1b2, 0x0f1, 0x193, 0x0b7, | ||
| 3311 | 0x192, 0x03d, 0x0df, 0x1b7, 0x087, 0x14a, 0x137, 0x102, 0x117, 0x0de, 0x031, 0x03e, 0x1b0, 0x021, 0x0f4, 0x13e, | ||
| 3312 | 0x148, 0x0a7, 0x19c, 0x11e, 0x0e6, 0x0f1, 0x043, 0x1b3, 0x0c6, 0x1b2, 0x162, 0x098, 0x1c1, 0x0e7, 0x142, 0x032, | ||
| 3313 | 0x00d, 0x196, 0x124, 0x11e, 0x011, 0x19b, 0x023, 0x101, 0x0a1, 0x1ae, 0x03a, 0x0ec, 0x146, 0x020, 0x0c0, 0x0d7, | ||
| 3314 | 0x135, 0x152, 0x0fe, 0x08b, 0x193, 0x147, 0x0bf, 0x1c3, 0x0a2, 0x0c2, 0x0f7, 0x1c5, 0x1fe, 0x0a2, 0x033, 0x1ec, | ||
| 3315 | 0x043, 0x1a9, 0x1f5, 0x151, 0x04d, 0x176, 0x0df, 0x1f4, 0x09f, 0x054, 0x119, 0x0f8, 0x197, 0x0e9, 0x189, 0x196, | ||
| 3316 | 0x083, 0x1bb, 0x19b, 0x1a9, 0x15b, 0x136, 0x192, 0x08f, 0x0ba, 0x166, 0x178, 0x0c2, 0x0d0, 0x1b7, 0x181, 0x1e2, | ||
| 3317 | }); | ||
| 3318 | |||
| 3319 | try testArgs(@Vector(1, i15), .{ | ||
| 3320 | 0x1309, | ||
| 3321 | }, .{ | ||
| 3322 | 0x1422, | ||
| 3323 | }); | ||
| 3324 | try testArgs(@Vector(2, i15), .{ | ||
| 3325 | 0x32e8, 0x3d81, | ||
| 3326 | }, .{ | ||
| 3327 | 0x195c, 0x13e8, | ||
| 3328 | }); | ||
| 3329 | try testArgs(@Vector(4, i15), .{ | ||
| 3330 | -0x3485, 0x2320, -0x1725, 0x1e6e, | ||
| 3331 | }, .{ | ||
| 3332 | 0x2910, 0x3293, 0x3144, -0x3bbc, | ||
| 3333 | }); | ||
| 3334 | try testArgs(@Vector(8, i15), .{ | ||
| 3335 | 0x1c0d, 0x2f06, -0x0e9e, 0x230a, 0x0a7b, 0x19ae, -0x19b6, -0x2ace, | ||
| 3336 | }, .{ | ||
| 3337 | -0x34a3, -0x342a, -0x0aaf, 0x1ece, 0x12fc, 0x0562, 0x0d22, -0x310f, | ||
| 3338 | }); | ||
| 3339 | try testArgs(@Vector(16, i15), .{ | ||
| 3340 | -0x0abb, -0x1bbc, -0x3112, -0x23bf, -0x08b5, -0x1517, 0x1586, 0x06b2, | ||
| 3341 | 0x25ec, 0x3cf1, 0x07ea, 0x3972, 0x09d8, -0x18a6, 0x06dd, -0x1c34, | ||
| 3342 | }, .{ | ||
| 3343 | -0x0ec7, 0x1144, -0x1a94, 0x255f, -0x1fbb, -0x1500, -0x0e4f, 0x0b67, | ||
| 3344 | 0x1352, -0x0d6b, 0x2f3e, -0x086b, -0x19dc, -0x149b, -0x013e, 0x0ce6, | ||
| 3345 | }); | ||
| 3346 | try testArgs(@Vector(32, i15), .{ | ||
| 3347 | -0x330a, -0x0a40, -0x2533, -0x1e99, 0x1aa6, -0x2587, 0x2778, 0x394a, | ||
| 3348 | -0x0383, -0x2fb7, 0x04cf, 0x033a, 0x2bff, 0x3997, -0x112c, 0x3a1a, | ||
| 3349 | 0x1adf, 0x270b, 0x182e, -0x23f6, 0x1a33, 0x2644, -0x0b41, -0x1c48, | ||
| 3350 | 0x1c2d, -0x2a40, 0x007c, 0x1a62, 0x30d9, 0x0e4b, 0x32ee, 0x2b46, | ||
| 3351 | }, .{ | ||
| 3352 | 0x1af0, 0x286f, -0x14fe, 0x2318, 0x002a, -0x26b2, 0x350b, 0x0884, | ||
| 3353 | 0x3011, 0x276a, 0x2b2a, 0x22d3, -0x1ece, 0x0143, 0x2f5b, -0x0fa2, | ||
| 3354 | 0x2412, -0x3d86, -0x3774, -0x09a5, 0x0fbf, 0x32f7, -0x0a23, -0x3d5a, | ||
| 3355 | -0x1523, -0x27c5, 0x097f, 0x2923, 0x3060, 0x113e, -0x0643, -0x1287, | ||
| 3356 | }); | ||
| 3357 | try testArgs(@Vector(64, i15), .{ | ||
| 3358 | 0x0419, 0x1803, -0x3897, 0x2b0c, 0x08a3, -0x39d0, 0x174e, -0x29c6, | ||
| 3359 | 0x0152, -0x1078, 0x1113, 0x23bf, 0x0990, -0x2777, 0x2ba4, -0x058b, | ||
| 3360 | -0x2d4a, -0x23ba, 0x3875, -0x1720, -0x2625, -0x1c8f, 0x1f7c, 0x3f73, | ||
| 3361 | 0x3780, -0x3043, -0x0d8d, 0x2ced, 0x091a, 0x3481, -0x1917, -0x352f, | ||
| 3362 | 0x34c7, 0x322f, -0x20ae, -0x0653, 0x1c82, 0x09a8, -0x1a0b, -0x1dff, | ||
| 3363 | -0x24c2, -0x2592, -0x3ff7, 0x1515, -0x3d32, 0x1e9e, -0x334d, 0x352b, | ||
| 3364 | -0x2439, -0x3d0b, -0x2bcc, -0x2d29, 0x197c, -0x2bad, -0x2682, 0x32cf, | ||
| 3365 | 0x31e4, -0x085c, -0x0c84, -0x2f11, 0x03ba, -0x0111, -0x2634, 0x344f, | ||
| 3366 | }, .{ | ||
| 3367 | 0x011a, 0x186c, -0x2d7e, 0x29b1, 0x2cfb, -0x077b, 0x3e8c, -0x3a62, | ||
| 3368 | 0x3575, 0x35f0, -0x2529, -0x3040, 0x398e, -0x0c56, 0x2aa5, 0x0a72, | ||
| 3369 | -0x0c36, -0x2c53, 0x275b, -0x1155, 0x1a9d, -0x34af, -0x3d4f, 0x14a0, | ||
| 3370 | -0x0b88, 0x0b34, 0x2d60, 0x19ee, -0x0ac4, -0x2f1b, -0x1e20, -0x2d8b, | ||
| 3371 | -0x23f4, 0x0472, 0x1977, -0x33f2, -0x301d, -0x1931, -0x1abe, 0x307f, | ||
| 3372 | -0x2dcb, 0x2e99, 0x0dd1, 0x0377, -0x3f91, -0x3719, 0x0248, 0x3c40, | ||
| 3373 | -0x08d4, -0x2f12, -0x12ee, 0x3bc0, 0x3c4a, 0x1ff3, -0x1096, -0x37e0, | ||
| 3374 | -0x0879, -0x354f, -0x2277, 0x1ced, 0x0833, -0x0f7e, 0x2070, 0x0d81, | ||
| 3375 | }); | ||
| 3376 | |||
| 3377 | try testArgs(@Vector(1, u15), .{ | ||
| 3378 | 0x18c0, | ||
| 3379 | }, .{ | ||
| 3380 | 0x0c85, | ||
| 3381 | }); | ||
| 3382 | try testArgs(@Vector(2, u15), .{ | ||
| 3383 | 0x3697, 0x744b, | ||
| 3384 | }, .{ | ||
| 3385 | 0x60d5, 0x4172, | ||
| 3386 | }); | ||
| 3387 | try testArgs(@Vector(4, u15), .{ | ||
| 3388 | 0x7c31, 0x62c3, 0x7fe9, 0x4a52, | ||
| 3389 | }, .{ | ||
| 3390 | 0x28bf, 0x58a9, 0x09d5, 0x111f, | ||
| 3391 | }); | ||
| 3392 | try testArgs(@Vector(8, u15), .{ | ||
| 3393 | 0x3be1, 0x1928, 0x227e, 0x7ab4, 0x7e26, 0x4761, 0x586a, 0x4665, | ||
| 3394 | }, .{ | ||
| 3395 | 0x11b8, 0x4079, 0x39eb, 0x79d2, 0x7871, 0x5a40, 0x793c, 0x4a66, | ||
| 3396 | }); | ||
| 3397 | try testArgs(@Vector(16, u15), .{ | ||
| 3398 | 0x30fe, 0x6781, 0x6db6, 0x16f7, 0x736f, 0x1dca, 0x122e, 0x4e43, | ||
| 3399 | 0x41d8, 0x5b7a, 0x183b, 0x5036, 0x6a3a, 0x4301, 0x6c05, 0x5e7f, | ||
| 3400 | }, .{ | ||
| 3401 | 0x7dd5, 0x0897, 0x7f63, 0x0375, 0x5d05, 0x74c8, 0x0bc8, 0x6ac2, | ||
| 3402 | 0x5063, 0x335a, 0x283c, 0x452d, 0x6274, 0x2531, 0x1f90, 0x05c3, | ||
| 3403 | }); | ||
| 3404 | try testArgs(@Vector(32, u15), .{ | ||
| 3405 | 0x122d, 0x54a6, 0x7cf1, 0x5b48, 0x47e3, 0x6918, 0x0d81, 0x6074, | ||
| 3406 | 0x06d3, 0x0951, 0x40d8, 0x52db, 0x6258, 0x13fa, 0x3fe0, 0x0cdc, | ||
| 3407 | 0x6c69, 0x4fa8, 0x7bc7, 0x66e7, 0x1417, 0x368a, 0x46fc, 0x1850, | ||
| 3408 | 0x2a1d, 0x2622, 0x3877, 0x524a, 0x64b0, 0x6391, 0x2f16, 0x5b7c, | ||
| 3409 | }, .{ | ||
| 3410 | 0x4c22, 0x7689, 0x57ba, 0x04b5, 0x2720, 0x081e, 0x25e4, 0x3f89, | ||
| 3411 | 0x3065, 0x2d1e, 0x0386, 0x0f0c, 0x740a, 0x5fa5, 0x6b0a, 0x1fda, | ||
| 3412 | 0x2b3c, 0x5e71, 0x77c5, 0x3e29, 0x6a2e, 0x147e, 0x79a1, 0x77f6, | ||
| 3413 | 0x4bdd, 0x7fb1, 0x632c, 0x3898, 0x3dd3, 0x78b3, 0x75b9, 0x4960, | ||
| 3414 | }); | ||
| 3415 | try testArgs(@Vector(64, u15), .{ | ||
| 3416 | 0x2bb1, 0x0225, 0x151a, 0x056c, 0x0655, 0x3f5b, 0x5fea, 0x000a, | ||
| 3417 | 0x4f56, 0x7e08, 0x20b4, 0x4f64, 0x0da1, 0x74a0, 0x11b7, 0x38c7, | ||
| 3418 | 0x7a25, 0x6608, 0x50a7, 0x79b8, 0x5444, 0x4cc4, 0x110d, 0x1cf0, | ||
| 3419 | 0x5a2e, 0x4462, 0x03dc, 0x785a, 0x2d1c, 0x4592, 0x1855, 0x14c6, | ||
| 3420 | 0x2c4d, 0x7ae3, 0x7b45, 0x6cb0, 0x197d, 0x6fcc, 0x269e, 0x6f98, | ||
| 3421 | 0x7527, 0x7895, 0x0259, 0x2b3f, 0x181a, 0x5f50, 0x401d, 0x54d2, | ||
| 3422 | 0x2acc, 0x0aa8, 0x6822, 0x5d64, 0x3459, 0x5823, 0x4e62, 0x395e, | ||
| 3423 | 0x339f, 0x0b56, 0x25b8, 0x0c30, 0x5b3d, 0x7005, 0x0411, 0x074d, | ||
| 3424 | }, .{ | ||
| 3425 | 0x155c, 0x6c07, 0x5880, 0x1766, 0x661b, 0x5cfd, 0x1fb9, 0x67e1, | ||
| 3426 | 0x617c, 0x2bb4, 0x251b, 0x7ace, 0x4940, 0x584b, 0x708c, 0x3849, | ||
| 3427 | 0x0cdb, 0x3204, 0x4667, 0x7bee, 0x3279, 0x4c74, 0x7561, 0x2d6f, | ||
| 3428 | 0x5676, 0x530e, 0x39a1, 0x7c05, 0x1b23, 0x7bd7, 0x25ce, 0x7e97, | ||
| 3429 | 0x56c0, 0x0d59, 0x17f7, 0x6fed, 0x3b0e, 0x7470, 0x52a4, 0x5da3, | ||
| 3430 | 0x17c8, 0x2a51, 0x031f, 0x5879, 0x22bb, 0x674e, 0x3a55, 0x13a2, | ||
| 3431 | 0x1fef, 0x1cd8, 0x5067, 0x6602, 0x3d5b, 0x2f5e, 0x4b7f, 0x6cfc, | ||
| 3432 | 0x197d, 0x5afc, 0x4254, 0x07de, 0x6b37, 0x07d5, 0x4435, 0x0b29, | ||
| 3433 | }); | ||
| 3434 | |||
| 3435 | try testArgs(@Vector(1, i16), .{ | ||
| 3436 | -0x7b9c, | ||
| 3437 | }, .{ | ||
| 3438 | 0x600a, | ||
| 3439 | }); | ||
| 3440 | try testArgs(@Vector(2, i16), .{ | ||
| 3441 | 0x43cc, -0x1421, | ||
| 3442 | }, .{ | ||
| 3443 | -0x2b0e, 0x4d99, | ||
| 3444 | }); | ||
| 3445 | try testArgs(@Vector(4, i16), .{ | ||
| 3446 | 0x558f, 0x6d92, 0x488f, 0x0a04, | ||
| 3447 | }, .{ | ||
| 3448 | -0x01a9, | ||
| 3449 | 0x2ee4, | ||
| 3450 | 0x24a9, | ||
| 3451 | -0x5fee, | ||
| 3452 | }); | ||
| 3453 | try testArgs(@Vector(8, i16), .{ | ||
| 3454 | -0x7e5d, -0x02e4, -0x3a72, -0x2e30, 0x7c87, 0x3ea0, 0x4f02, 0x06e4, | ||
| 3455 | }, .{ | ||
| 3456 | -0x417f, 0x5a13, -0x117b, 0x4c28, -0x3769, -0x56a8, 0x1656, -0x4431, | ||
| 3457 | }); | ||
| 3458 | try testArgs(@Vector(16, i16), .{ | ||
| 3459 | 0x04be, 0x774a, 0x7395, -0x6ca2, -0x21a0, 0x35be, 0x186c, 0x5991, | ||
| 3460 | -0x1a82, 0x4527, -0x2278, -0x3554, 0x42c1, 0x7f53, -0x670d, 0x1fad, | ||
| 3461 | }, .{ | ||
| 3462 | 0x7a7d, 0x47dd, 0x1975, 0x4028, 0x26ef, -0x24f5, -0x77c9, -0x19a5, | ||
| 3463 | -0x4b04, -0x6939, -0x1b8d, 0x3718, -0x78e6, 0x0941, -0x1208, -0x392d, | ||
| 3464 | }); | ||
| 3465 | try testArgs(@Vector(32, i16), .{ | ||
| 3466 | 0x4cde, 0x3ab0, 0x354e, 0x0bc0, -0x5333, 0x4857, -0x7ccf, -0x69da, | ||
| 3467 | 0x6ab8, 0x2bf3, 0x1c5a, 0x7b11, -0x5653, 0x7bc5, 0x497e, -0x0b55, | ||
| 3468 | 0x7aa8, -0x5a8c, -0x6d05, 0x6210, 0x1b64, 0x3f6f, 0x1a02, 0x65e4, | ||
| 3469 | -0x6795, 0x5867, -0x6faf, -0x07cb, -0x762c, -0x7500, 0x1f1c, -0x4348, | ||
| 3470 | }, .{ | ||
| 3471 | 0x72f6, -0x5405, -0x3aac, 0x2857, 0x34cd, -0x1dce, -0x56d8, 0x7150, | ||
| 3472 | -0x6549, 0x61bd, -0x3a9f, -0x1e02, -0x5a5a, -0x7910, -0x166d, 0x7c8e, | ||
| 3473 | -0x5292, -0x6c6e, -0x37e3, 0x1514, 0x1787, 0x58cb, -0x4d99, -0x6c15, | ||
| 3474 | 0x592e, -0x045f, 0x7682, -0x1eef, 0x1fb2, -0x7117, -0x2a17, -0x2d8e, | ||
| 3475 | }); | ||
| 3476 | try testArgs(@Vector(64, i16), .{ | ||
| 3477 | 0x29c3, -0x1b1f, -0x17ce, -0x50d0, -0x5de3, 0x5ffd, 0x184a, -0x7769, | ||
| 3478 | 0x445e, 0x0d8a, 0x7844, -0x757d, 0x2b32, 0x5374, -0x6ab2, -0x71c4, | ||
| 3479 | 0x38f9, 0x347f, 0x2d4c, 0x69a4, -0x2f92, -0x4479, 0x427b, -0x0c5f, | ||
| 3480 | 0x15ae, 0x2c86, 0x1864, -0x0095, 0x6803, -0x3484, 0x1001, -0x0560, | ||
| 3481 | -0x0824, 0x7bf6, 0x7a3c, -0x458a, -0x65cc, -0x54b1, -0x75c6, 0x782e, | ||
| 3482 | 0x35a7, -0x3188, -0x58ba, 0x40d0, -0x4a9c, 0x6b79, 0x1ef5, 0x67a2, | ||
| 3483 | -0x3fb8, 0x1885, -0x093d, -0x4802, 0x0379, 0x2f52, 0x7f1f, 0x256c, | ||
| 3484 | 0x1052, 0x1b3b, -0x6146, 0x7e0d, 0x79ca, -0x79ee, 0x3d58, 0x7482, | ||
| 3485 | }, .{ | ||
| 3486 | -0x0017, -0x3fdd, -0x6f93, 0x6178, 0x5c2b, 0x4eb3, 0x685b, 0x12c8, | ||
| 3487 | 0x0290, -0x34f4, -0x6572, 0x3ab6, -0x3ed1, -0x5e5f, 0x3a90, -0x4540, | ||
| 3488 | -0x2098, 0x6bde, 0x1246, 0x2212, -0x4d6a, -0x2a5a, 0x5cc4, -0x240f, | ||
| 3489 | 0x51b2, 0x5ec0, -0x5b5f, -0x1b6e, -0x57a5, -0x06bd, -0x5132, 0x7889, | ||
| 3490 | 0x2817, 0x6ada, -0x6b46, -0x6a37, -0x6475, -0x5ff4, 0x5a27, 0x1dfa, | ||
| 3491 | 0x6bd6, -0x49da, -0x09bf, -0x7c53, 0x2cd3, -0x6be0, -0x2dca, 0x44bd, | ||
| 3492 | -0x1b95, 0x7680, -0x5bb0, 0x7ad7, -0x1988, 0x149f, 0x631e, -0x1d2d, | ||
| 3493 | 0x632b, 0x55c7, -0x3433, 0x0dde, -0x27a7, 0x560e, -0x2063, 0x4570, | ||
| 3494 | }); | ||
| 3495 | |||
| 3496 | try testArgs(@Vector(1, u16), .{ | ||
| 3497 | 0x9d6f, | ||
| 3498 | }, .{ | ||
| 3499 | 0x44b1, | ||
| 3500 | }); | ||
| 3501 | try testArgs(@Vector(2, u16), .{ | ||
| 3502 | 0xa0fa, 0xc365, | ||
| 3503 | }, .{ | ||
| 3504 | 0xe736, 0xc394, | ||
| 3505 | }); | ||
| 3506 | try testArgs(@Vector(4, u16), .{ | ||
| 3507 | 0x9608, 0xa558, 0x161b, 0x206f, | ||
| 3508 | }, .{ | ||
| 3509 | 0x3088, 0xf25c, 0x7837, 0x9b3f, | ||
| 3510 | }); | ||
| 3511 | try testArgs(@Vector(8, u16), .{ | ||
| 3512 | 0xcf61, 0xb121, 0x3cf1, 0x3e9f, 0x43a7, 0x8d69, 0x96f5, 0xc11e, | ||
| 3513 | }, .{ | ||
| 3514 | 0xee30, 0x82f0, 0x270b, 0x1498, 0x4c60, 0x6e72, 0x0b64, 0x02d4, | ||
| 3515 | }); | ||
| 3516 | try testArgs(@Vector(16, u16), .{ | ||
| 3517 | 0x9191, 0xd23e, 0xf844, 0xd84a, 0xe907, 0xf1e8, 0x712d, 0x90af, | ||
| 3518 | 0x6541, 0x3fa6, 0x92eb, 0xe35a, 0xc0c9, 0xcb47, 0xb790, 0x4453, | ||
| 3519 | }, .{ | ||
| 3520 | 0x21c3, 0x4039, 0x9b71, 0x60bd, 0xcd7f, 0x2ec8, 0x50ba, 0xe810, | ||
| 3521 | 0xebd4, 0x06e5, 0xed18, 0x2f66, 0x7e31, 0xe282, 0xad63, 0xb25e, | ||
| 3522 | }); | ||
| 3523 | try testArgs(@Vector(32, u16), .{ | ||
| 3524 | 0x6b6a, 0x30a9, 0xc267, 0x2231, 0xbf4c, 0x00bc, 0x9c2c, 0x2928, | ||
| 3525 | 0xecad, 0x82df, 0xcfb0, 0xa4e5, 0x909b, 0x1b05, 0xaf40, 0x1fd9, | ||
| 3526 | 0xcec6, 0xd8dc, 0xd4b5, 0x6d59, 0x8e3f, 0x4d8a, 0xb83a, 0x808e, | ||
| 3527 | 0x47e2, 0x5782, 0x59bf, 0xcefc, 0x5179, 0x3f48, 0x93dc, 0x66d2, | ||
| 3528 | }, .{ | ||
| 3529 | 0x1be8, 0xe98c, 0xf9b3, 0xb008, 0x2f8d, 0xf087, 0xc9b9, 0x75aa, | ||
| 3530 | 0xbd16, 0x9540, 0xc5bd, 0x2b2c, 0xd43f, 0x9394, 0x3e1d, 0xf695, | ||
| 3531 | 0x167d, 0xff7a, 0xf09d, 0xdff8, 0xdfa2, 0xc779, 0x70b7, 0x01bd, | ||
| 3532 | 0x46b3, 0x995a, 0xb7bc, 0xa79d, 0x5542, 0x961e, 0x37cd, 0x9c2a, | ||
| 3533 | }); | ||
| 3534 | try testArgs(@Vector(64, u16), .{ | ||
| 3535 | 0x6b87, 0xfd84, 0x436b, 0xe345, 0xfb82, 0x81fc, 0x0992, 0x45f9, | ||
| 3536 | 0x5527, 0x1f6d, 0xda46, 0x6a16, 0xf6e1, 0x8fb7, 0x3619, 0xdfe3, | ||
| 3537 | 0x64ce, 0x8ac6, 0x3ae8, 0x30e3, 0xec3b, 0x4ba7, 0x02a4, 0xa694, | ||
| 3538 | 0x8e68, 0x8f0c, 0x5e30, 0x0e55, 0x6538, 0x9852, 0xea35, 0x7be2, | ||
| 3539 | 0xdabd, 0x57e6, 0x5b38, 0x0fb2, 0x2604, 0x85e7, 0x6595, 0x8de9, | ||
| 3540 | 0x49b1, 0xe9a2, 0x3758, 0xa4d9, 0x505b, 0xc9d3, 0xddc5, 0x9a43, | ||
| 3541 | 0xfd44, 0x50f5, 0x379e, 0x03b6, 0x6375, 0x692f, 0x5586, 0xc717, | ||
| 3542 | 0x94dd, 0xee06, 0xb32d, 0x0bb9, 0x0e35, 0x5f8f, 0x0ba4, 0x19a8, | ||
| 3543 | }, .{ | ||
| 3544 | 0xbeeb, 0x3e54, 0x6486, 0x5167, 0xe432, 0x57cf, 0x9cac, 0x922e, | ||
| 3545 | 0xd2f8, 0x5614, 0x2e7f, 0x19cf, 0x9a07, 0x0524, 0x168f, 0x4464, | ||
| 3546 | 0x4def, 0x83ce, 0x97b4, 0xf269, 0xda5f, 0x28c1, 0x9cc3, 0xfa7c, | ||
| 3547 | 0x25a0, 0x912d, 0x25b2, 0xd60d, 0xcd82, 0x0e03, 0x40cc, 0xc9dc, | ||
| 3548 | 0x18eb, 0xc609, 0xb06d, 0x29e0, 0xf3c7, 0x997b, 0x8ca2, 0xa750, | ||
| 3549 | 0xc9bc, 0x8f0e, 0x3916, 0xd905, 0x94f8, 0x397f, 0x98b5, 0xc61d, | ||
| 3550 | 0x05db, 0x3e7a, 0xf750, 0xe8de, 0x3225, 0x81d9, 0x612e, 0x0a7e, | ||
| 3551 | 0x2c02, 0xff5b, 0x19ca, 0xbbf5, 0x870e, 0xc9ca, 0x47bb, 0xcfcc, | ||
| 3552 | }); | ||
| 3553 | |||
| 3554 | try testArgs(@Vector(1, i17), .{ | ||
| 3555 | 0x0538f, | ||
| 3556 | }, .{ | ||
| 3557 | 0x01de0, | ||
| 3558 | }); | ||
| 3559 | try testArgs(@Vector(2, i17), .{ | ||
| 3560 | 0x0cb5d, 0x00c0b, | ||
| 3561 | }, .{ | ||
| 3562 | -0x0ef1d, -0x0797c, | ||
| 3563 | }); | ||
| 3564 | try testArgs(@Vector(4, i17), .{ | ||
| 3565 | -0x06cbb, 0x08fcd, 0x05d91, -0x05824, | ||
| 3566 | }, .{ | ||
| 3567 | 0x0714b, 0x09218, -0x0c0d8, 0x000dd, | ||
| 3568 | }); | ||
| 3569 | try testArgs(@Vector(8, i17), .{ | ||
| 3570 | 0x0d8db, 0x0c58a, 0x09110, 0x0d637, -0x0a7e5, -0x00bc2, 0x08ffb, -0x0cf79, | ||
| 3571 | }, .{ | ||
| 3572 | 0x0a1ce, 0x0b491, 0x0aff1, -0x0b794, -0x085e7, 0x05c84, 0x040bc, 0x0f21f, | ||
| 3573 | }); | ||
| 3574 | try testArgs(@Vector(16, i17), .{ | ||
| 3575 | -0x0ccb0, -0x04d27, -0x0199e, -0x06dae, 0x0b1a1, 0x05324, -0x0edee, -0x0e52d, | ||
| 3576 | 0x042d2, 0x06121, 0x0241f, 0x06833, 0x0a33b, 0x0f526, 0x0671a, 0x0c2a3, | ||
| 3577 | }, .{ | ||
| 3578 | 0x02be2, -0x08589, 0x0d95c, -0x001cc, -0x03183, 0x08c1a, -0x001db, 0x07604, | ||
| 3579 | 0x08d92, 0x094ad, -0x08aa5, -0x0b495, -0x0d6cd, -0x0dff1, -0x027f1, -0x0214e, | ||
| 3580 | }); | ||
| 3581 | try testArgs(@Vector(32, i17), .{ | ||
| 3582 | 0x01222, 0x022bc, 0x042df, 0x02205, -0x06de8, -0x0aaaf, 0x0fa4c, -0x0c708, | ||
| 3583 | -0x06edd, -0x0acbe, 0x0b01f, 0x003f5, -0x0b82a, 0x0a189, -0x04f4b, 0x02122, | ||
| 3584 | -0x0debd, -0x0b05f, 0x091b6, -0x074ff, 0x054e5, -0x03355, 0x08ab0, 0x0c3c8, | ||
| 3585 | -0x0f488, -0x04304, -0x0168e, -0x0224a, -0x0cbaa, 0x0ac99, -0x0f096, 0x0e064, | ||
| 3586 | }, .{ | ||
| 3587 | 0x0d1c0, 0x02f93, 0x0e28c, 0x0862d, -0x09e1e, -0x02247, -0x01b56, 0x06633, | ||
| 3588 | 0x0fdcc, -0x0731f, 0x0e084, 0x0b865, 0x089ac, -0x09e31, 0x0c730, 0x0af1d, | ||
| 3589 | 0x0c9b2, -0x0bbbd, -0x0f0a4, -0x0aba7, 0x0e593, -0x02c83, -0x04e28, 0x0f375, | ||
| 3590 | -0x0e805, 0x0390f, 0x042a3, -0x02aed, 0x03a5a, 0x070d3, -0x0ed6a, 0x02b14, | ||
| 3591 | }); | ||
| 3592 | try testArgs(@Vector(64, i17), .{ | ||
| 3593 | 0x0be66, 0x0e4fb, -0x0b918, -0x029b8, 0x019e8, 0x00621, 0x0e380, 0x040f6, | ||
| 3594 | -0x0d095, 0x0b4d8, -0x0a3ad, -0x0eaf2, 0x03bd3, 0x0635c, 0x02444, -0x0830f, | ||
| 3595 | 0x01239, -0x037ed, -0x071d1, 0x057e7, -0x02cdb, 0x0504c, 0x0612c, -0x005bf, | ||
| 3596 | -0x04793, 0x03909, 0x0061c, -0x06423, 0x040d6, 0x0bc6a, -0x09204, 0x0e890, | ||
| 3597 | 0x04b98, 0x00257, 0x0dc85, -0x0af2b, -0x0a1e7, 0x04ff6, 0x0b680, -0x07c61, | ||
| 3598 | -0x0eaff, -0x0da01, -0x04b21, -0x0088d, 0x068a8, 0x06b52, -0x0d619, -0x09344, | ||
| 3599 | -0x09b96, 0x0b81e, 0x04df8, -0x012f6, -0x0c3bd, 0x067cc, -0x0fa47, -0x05e93, | ||
| 3600 | 0x07d29, 0x00d87, 0x0de1f, 0x0d24f, -0x0aede, -0x03414, -0x09a6c, 0x094dc, | ||
| 3601 | }, .{ | ||
| 3602 | 0x03d8e, -0x0f297, -0x0d810, 0x05b8e, -0x0630e, -0x0656f, 0x02f56, 0x0190b, | ||
| 3603 | 0x0a1e6, -0x0783a, -0x00bde, 0x01bb2, -0x093a5, -0x02b3f, 0x0198c, 0x0cc55, | ||
| 3604 | 0x04ec1, -0x0ed31, -0x00a80, -0x0be6d, 0x0712b, 0x0451b, 0x067a4, 0x061cd, | ||
| 3605 | 0x0e799, -0x06c74, -0x09b05, 0x0dc73, -0x0a87d, -0x0cf60, -0x00f07, 0x0b101, | ||
| 3606 | 0x06d5b, 0x09d61, -0x01092, 0x002ee, 0x0f192, 0x0024b, 0x04778, 0x06d05, | ||
| 3607 | -0x0e460, 0x08524, -0x0ba27, -0x0611e, -0x0d944, -0x0a3de, -0x0c278, 0x015e5, | ||
| 3608 | 0x071fe, 0x016d5, -0x076e2, -0x035d8, 0x02763, -0x0676f, -0x0a9aa, -0x0ab0b, | ||
| 3609 | 0x012de, -0x00d05, 0x0f528, 0x07837, 0x0fc4e, -0x06304, 0x0616f, -0x0b10d, | ||
| 3610 | }); | ||
| 3611 | |||
| 3612 | try testArgs(@Vector(1, u17), .{ | ||
| 3613 | 0x17ba6, | ||
| 3614 | }, .{ | ||
| 3615 | 0x1ac3a, | ||
| 3616 | }); | ||
| 3617 | try testArgs(@Vector(2, u17), .{ | ||
| 3618 | 0x1d26d, 0x18548, | ||
| 3619 | }, .{ | ||
| 3620 | 0x0c0eb, 0x1bbc8, | ||
| 3621 | }); | ||
| 3622 | try testArgs(@Vector(4, u17), .{ | ||
| 3623 | 0x1a01c, 0x12671, 0x175cc, 0x0ed36, | ||
| 3624 | }, .{ | ||
| 3625 | 0x141d6, 0x1b2bc, 0x1c2b9, 0x1eb18, | ||
| 3626 | }); | ||
| 3627 | try testArgs(@Vector(8, u17), .{ | ||
| 3628 | 0x0cb1b, 0x0f5ce, 0x1eba1, 0x04fdc, 0x0510f, 0x02c4c, 0x09310, 0x132df, | ||
| 3629 | }, .{ | ||
| 3630 | 0x1b732, 0x0b446, 0x048a7, 0x04c58, 0x03a0b, 0x19346, 0x07688, 0x1d4d5, | ||
| 3631 | }); | ||
| 3632 | try testArgs(@Vector(16, u17), .{ | ||
| 3633 | 0x1e6a3, 0x0eae5, 0x1065a, 0x18766, 0x1b70a, 0x1605b, 0x18256, 0x1e254, | ||
| 3634 | 0x0d926, 0x0f023, 0x1d9de, 0x14549, 0x051dd, 0x1e89e, 0x0baba, 0x00f38, | ||
| 3635 | }, .{ | ||
| 3636 | 0x1e050, 0x0f727, 0x1dfef, 0x151a6, 0x05593, 0x04a79, 0x1c54c, 0x147b6, | ||
| 3637 | 0x07173, 0x0480b, 0x094a6, 0x105ce, 0x0540c, 0x19d78, 0x15501, 0x1133a, | ||
| 3638 | }); | ||
| 3639 | try testArgs(@Vector(32, u17), .{ | ||
| 3640 | 0x0d98a, 0x1c869, 0x12b2b, 0x1fc00, 0x00b1b, 0x1c7b9, 0x09dd0, 0x1b560, | ||
| 3641 | 0x1f409, 0x18cdf, 0x04275, 0x07da6, 0x069e5, 0x12aa8, 0x0513a, 0x0dea5, | ||
| 3642 | 0x00df4, 0x1f8da, 0x0df92, 0x07885, 0x1c4d7, 0x14e64, 0x09648, 0x040cb, | ||
| 3643 | 0x04fc6, 0x122cb, 0x1022d, 0x1bbd5, 0x0fd59, 0x1978f, 0x17d5a, 0x06299, | ||
| 3644 | }, .{ | ||
| 3645 | 0x0086f, 0x023b6, 0x0d964, 0x0e90b, 0x1bd4b, 0x18f58, 0x09f26, 0x0a831, | ||
| 3646 | 0x00c03, 0x03ad1, 0x01c05, 0x1aded, 0x1d300, 0x12529, 0x14124, 0x1e684, | ||
| 3647 | 0x1b40d, 0x09328, 0x1a3b6, 0x1e492, 0x00f2a, 0x13b51, 0x1606e, 0x1d7f1, | ||
| 3648 | 0x0a5e6, 0x04172, 0x1aaea, 0x1e96f, 0x1c3ae, 0x11494, 0x06aac, 0x01dee, | ||
| 3649 | }); | ||
| 3650 | try testArgs(@Vector(64, u17), .{ | ||
| 3651 | 0x1b753, 0x10620, 0x0c1de, 0x1fa10, 0x118bf, 0x0a549, 0x06b32, 0x095dc, | ||
| 3652 | 0x177a2, 0x0aee7, 0x0f2cf, 0x118e0, 0x0b694, 0x0f270, 0x00917, 0x0048c, | ||
| 3653 | 0x1d903, 0x1de14, 0x10aa2, 0x06885, 0x1bba1, 0x0a5c5, 0x19373, 0x01355, | ||
| 3654 | 0x153f9, 0x18b94, 0x0e8a3, 0x0cc07, 0x0a014, 0x0f9ed, 0x02d95, 0x18388, | ||
| 3655 | 0x01de4, 0x0c8fa, 0x15858, 0x0ff57, 0x1fc97, 0x18d83, 0x11836, 0x0f136, | ||
| 3656 | 0x0d4e3, 0x1742d, 0x09f22, 0x088cf, 0x134f8, 0x1b9a8, 0x11fd2, 0x18428, | ||
| 3657 | 0x17411, 0x146e1, 0x0edea, 0x1d57d, 0x04059, 0x18b93, 0x10fc8, 0x01cd7, | ||
| 3658 | 0x12d54, 0x0cb27, 0x04fc3, 0x0d479, 0x0202c, 0x0cfab, 0x11e82, 0x000e7, | ||
| 3659 | }, .{ | ||
| 3660 | 0x0122f, 0x06698, 0x0c704, 0x012de, 0x0e36c, 0x0d81b, 0x00d34, 0x10ad6, | ||
| 3661 | 0x1f156, 0x00fca, 0x1f869, 0x1d14b, 0x13165, 0x1e11e, 0x1e60c, 0x00d18, | ||
| 3662 | 0x164bf, 0x1881f, 0x18a59, 0x14f13, 0x04ef2, 0x0e2a7, 0x021b0, 0x15884, | ||
| 3663 | 0x1ac75, 0x19969, 0x1353d, 0x073ec, 0x190ef, 0x1c777, 0x14b19, 0x12e43, | ||
| 3664 | 0x1b93f, 0x06daf, 0x02a1f, 0x1a801, 0x0facc, 0x132db, 0x13fb2, 0x00791, | ||
| 3665 | 0x11f11, 0x0ebc1, 0x0a376, 0x10e6d, 0x0321c, 0x154d7, 0x01180, 0x0cce1, | ||
| 3666 | 0x1a449, 0x0383b, 0x0d5bb, 0x0e5dd, 0x07e94, 0x08f78, 0x1c681, 0x1a146, | ||
| 3667 | 0x170db, 0x0da34, 0x1bd7f, 0x07a96, 0x0a017, 0x0b946, 0x0f98a, 0x0e9e5, | ||
| 3668 | }); | ||
| 3669 | |||
| 3670 | try testArgs(@Vector(1, i31), .{ | ||
| 3671 | 0x2b94a60e, | ||
| 3672 | }, .{ | ||
| 3673 | 0x20451023, | ||
| 3674 | }); | ||
| 3675 | try testArgs(@Vector(2, i31), .{ | ||
| 3676 | 0x21d4d18c, -0x1f73454a, | ||
| 3677 | }, .{ | ||
| 3678 | -0x18dcc667, -0x2e81b7f1, | ||
| 3679 | }); | ||
| 3680 | try testArgs(@Vector(4, i31), .{ | ||
| 3681 | -0x1d8f56b6, -0x2beae9b1, 0x3d488b10, -0x14ce8669, | ||
| 3682 | }, .{ | ||
| 3683 | -0x03a922a5, -0x0ea0c434, -0x029db0c1, -0x3b8d64f3, | ||
| 3684 | }); | ||
| 3685 | try testArgs(@Vector(8, i31), .{ | ||
| 3686 | 0x0ffaa22c, 0x15914f94, -0x20cec195, -0x35e7b06a, | ||
| 3687 | -0x1d212622, -0x2bb576e4, -0x0dede257, 0x1cc1066e, | ||
| 3688 | }, .{ | ||
| 3689 | -0x178ffdb4, -0x10934a93, 0x08c3b058, -0x1579a89f, | ||
| 3690 | 0x2340c302, 0x00280e85, -0x38983c31, 0x0349891e, | ||
| 3691 | }); | ||
| 3692 | try testArgs(@Vector(16, i31), .{ | ||
| 3693 | -0x11bc6f72, 0x1ca1ca00, 0x0b49c711, -0x07fd7d21, | ||
| 3694 | 0x20ab59d2, -0x07f45e94, -0x0d33151d, 0x065b8bff, | ||
| 3695 | 0x2231354e, 0x21ff00a7, -0x35061bb0, -0x1135899e, | ||
| 3696 | 0x2ed1c690, -0x1c1b598f, -0x19157726, -0x11c4d2c7, | ||
| 3697 | }, .{ | ||
| 3698 | 0x304dbbfb, -0x3e59fd39, 0x1029151a, -0x1e4d2063, | ||
| 3699 | -0x3e164c14, -0x35fb3d09, -0x22070b0d, 0x1b730749, | ||
| 3700 | 0x380ae142, 0x357f1b30, -0x17ccaa0d, -0x32cd12b4, | ||
| 3701 | 0x305256f7, -0x298ce473, 0x244faaf4, 0x23450241, | ||
| 3702 | }); | ||
| 3703 | try testArgs(@Vector(32, i31), .{ | ||
| 3704 | -0x2e3a0d66, -0x0df709be, 0x3bfd8b3f, 0x2a4f2d06, | ||
| 3705 | -0x2b7ea7af, -0x28016bef, -0x34a3b4f9, -0x2dfdded7, | ||
| 3706 | 0x357e8c45, 0x0434b6b9, 0x28a3c5f9, 0x2d5b9944, | ||
| 3707 | 0x316614a1, 0x0c12a228, 0x0422665d, 0x33c0dec9, | ||
| 3708 | 0x0a7ede17, -0x02e88ae9, -0x39e76560, 0x1e4b90af, | ||
| 3709 | 0x0a1527bb, 0x3a9f0405, 0x163b6eae, -0x3ff84429, | ||
| 3710 | 0x1eb85fcc, 0x265f1f44, 0x2536ec34, -0x30c952a2, | ||
| 3711 | -0x1f7864e5, 0x033737cd, -0x20b5718a, -0x0aad3a2f, | ||
| 3712 | }, .{ | ||
| 3713 | -0x2455af85, 0x210b1040, 0x39915c7d, 0x2d56c08e, | ||
| 3714 | 0x1f318b8d, -0x1e125926, -0x3faaabbb, -0x254d4da5, | ||
| 3715 | -0x1b2ded0f, -0x27fa4874, 0x02c0d73b, 0x123e9344, | ||
| 3716 | 0x0351c023, 0x14cca255, -0x2072b9d7, 0x1e624059, | ||
| 3717 | -0x07d014a1, 0x2eda3228, -0x300ff9b4, 0x333f25ad, | ||
| 3718 | -0x3c653e21, 0x04b4a50e, -0x20f17e80, 0x29063cd1, | ||
| 3719 | 0x2d52f6ad, -0x0b2cdb6b, -0x2e4c9778, 0x303ded7c, | ||
| 3720 | 0x397162ee, -0x2aa6708b, -0x0ef146b4, 0x04f36039, | ||
| 3721 | }); | ||
| 3722 | |||
| 3723 | try testArgs(@Vector(1, u31), .{ | ||
| 3724 | 0x3ed1fb2d, | ||
| 3725 | }, .{ | ||
| 3726 | 0x1b75c3fd, | ||
| 3727 | }); | ||
| 3728 | try testArgs(@Vector(2, u31), .{ | ||
| 3729 | 0x38754d45, 0x04a454d9, | ||
| 3730 | }, .{ | ||
| 3731 | 0x7d06646d, 0x228e6c44, | ||
| 3732 | }); | ||
| 3733 | try testArgs(@Vector(4, u31), .{ | ||
| 3734 | 0x725a3790, 0x43680c3d, 0x058a6acf, 0x76172c1c, | ||
| 3735 | }, .{ | ||
| 3736 | 0x77fa9932, 0x7354fc00, 0x1756db7a, 0x559bf7c1, | ||
| 3737 | }); | ||
| 3738 | try testArgs(@Vector(8, u31), .{ | ||
| 3739 | 0x375a41f8, 0x761db971, 0x1c633348, 0x556c2682, | ||
| 3740 | 0x2478e967, 0x4fc61f7d, 0x0b0c0fbc, 0x3989659e, | ||
| 3741 | }, .{ | ||
| 3742 | 0x2cd6c7c1, 0x518c1da4, 0x2a52dd59, 0x0a9165dd, | ||
| 3743 | 0x5f2a31fd, 0x04dd2dba, 0x6eb0e7f6, 0x078c7a78, | ||
| 3744 | }); | ||
| 3745 | try testArgs(@Vector(16, u31), .{ | ||
| 3746 | 0x4d4ae18f, 0x3f131977, 0x337240bd, 0x4461dafc, | ||
| 3747 | 0x36bf5c5f, 0x527cca5e, 0x788a765b, 0x51da84b2, | ||
| 3748 | 0x58afe262, 0x289694c8, 0x7f3dc333, 0x05f123e9, | ||
| 3749 | 0x49182e11, 0x05ec0bb8, 0x0a760c6a, 0x4e74999f, | ||
| 3750 | }, .{ | ||
| 3751 | 0x107f6e90, 0x38d44d8e, 0x4b3adb3c, 0x7d6c21c0, | ||
| 3752 | 0x3ec0863b, 0x72422c85, 0x45e72de4, 0x07fc07d3, | ||
| 3753 | 0x7e30044d, 0x3ee5687d, 0x34037d8f, 0x1f3e1e71, | ||
| 3754 | 0x77aec6b0, 0x02db5151, 0x697fe49b, 0x49f9ad57, | ||
| 3755 | }); | ||
| 3756 | try testArgs(@Vector(32, u31), .{ | ||
| 3757 | 0x3b815f8c, 0x01c443d3, 0x22f036bf, 0x3d86e477, | ||
| 3758 | 0x3f631301, 0x51df4ff2, 0x7edd9a1c, 0x1b8d97fc, | ||
| 3759 | 0x7758837d, 0x23944d5a, 0x6b6fe951, 0x1cea3c27, | ||
| 3760 | 0x27033a47, 0x00b7643b, 0x407e47c9, 0x6004a994, | ||
| 3761 | 0x2efac78c, 0x22720791, 0x4308438b, 0x7776b2be, | ||
| 3762 | 0x139db08a, 0x4d9068a5, 0x4e26c811, 0x5e05d0a0, | ||
| 3763 | 0x0a651f83, 0x7f7a1fcc, 0x6b0f3eb0, 0x3467ea73, | ||
| 3764 | 0x4827410b, 0x3e48eece, 0x73a3abf5, 0x212b7737, | ||
| 3765 | }, .{ | ||
| 3766 | 0x13031751, 0x08fb38ec, 0x4aff2c4e, 0x25046a42, | ||
| 3767 | 0x0e9e35bf, 0x27349249, 0x54067ba1, 0x5a229b53, | ||
| 3768 | 0x6e68895f, 0x74f3d476, 0x6584d407, 0x0ef73f77, | ||
| 3769 | 0x2473e0ce, 0x3b936b7c, 0x2cf9dd51, 0x7100aa6b, | ||
| 3770 | 0x6dca745e, 0x739f6346, 0x32407063, 0x40de144d, | ||
| 3771 | 0x3dc73803, 0x3afedeab, 0x56cbbfe7, 0x4273c6db, | ||
| 3772 | 0x7b2eeb85, 0x6bf11881, 0x4e8148c7, 0x7b8daec4, | ||
| 3773 | 0x75c63050, 0x0001d08d, 0x7f14dd77, 0x13f23338, | ||
| 3774 | }); | ||
| 3775 | |||
| 3776 | try testArgs(@Vector(1, i32), .{ | ||
| 3777 | 0x7aef7b1e, | ||
| 3778 | }, .{ | ||
| 3779 | 0x60310858, | ||
| 3780 | }); | ||
| 3781 | try testArgs(@Vector(2, i32), .{ | ||
| 3782 | -0x21910ac9, 0x669f37ef, | ||
| 3783 | }, .{ | ||
| 3784 | 0x1a2a1681, 0x003b1fdf, | ||
| 3785 | }); | ||
| 3786 | try testArgs(@Vector(4, i32), .{ | ||
| 3787 | 0x7906cf0d, 0x4818a45f, -0x0a2833b6, 0x51a018c9, | ||
| 3788 | }, .{ | ||
| 3789 | -0x05a3e6a7, -0x47f4a500, 0x50d1141f, -0x264c85c2, | ||
| 3790 | }); | ||
| 3791 | try testArgs(@Vector(8, i32), .{ | ||
| 3792 | 0x7566235a, -0x7720144f, -0x7d4f5489, 0x3cd736c8, | ||
| 3793 | -0x77388801, 0x4e7f955a, 0x4cdf52bc, 0x50b0b53f, | ||
| 3794 | }, .{ | ||
| 3795 | 0x00ed6fc5, 0x37320361, 0x70c563c2, -0x09acb495, | ||
| 3796 | 0x0688e83f, 0x797295c4, -0x23bfbfdb, 0x38552096, | ||
| 3797 | }); | ||
| 3798 | try testArgs(@Vector(16, i32), .{ | ||
| 3799 | -0x0214589d, 0x74a7537f, 0x7a7dcb26, 0x3e2e4c44, | ||
| 3800 | -0x23bfc358, 0x60e8ef18, 0x5524a7bc, -0x3d88c153, | ||
| 3801 | -0x7dc8ff0f, 0x6e2698f6, 0x05641ab8, -0x45e9e405, | ||
| 3802 | -0x7c1a04d0, -0x4a8d1e91, 0x41d56723, 0x4ba924ab, | ||
| 3803 | }, .{ | ||
| 3804 | -0x528dc756, -0x6bc217f4, 0x40789b06, 0x65f08d3a, | ||
| 3805 | -0x077140ea, -0x43bdaa79, 0x5d98f4e7, -0x2356a1ca, | ||
| 3806 | -0x36ef2b49, -0x7cd09b06, 0x71c8176e, 0x5b005860, | ||
| 3807 | 0x6ce8cfab, -0x49fd7609, 0x6cbb4e33, 0x6c7c121d, | ||
| 3808 | }); | ||
| 3809 | try testArgs(@Vector(32, i32), .{ | ||
| 3810 | 0x7d22905d, -0x354e4bbe, -0x68662618, -0x246e1858, | ||
| 3811 | -0x1c4285a9, -0x0338059c, -0x60f5bbf4, -0x04f06917, | ||
| 3812 | -0x55f837b6, -0x2fba5fe3, 0x092aabf4, -0x5f533b31, | ||
| 3813 | 0x6e81a558, -0x7bcac358, 0x6c4d8d04, 0x3e2f9852, | ||
| 3814 | -0x78589b1a, -0x68a00fd4, -0x77d55e25, 0x7f79b51c, | ||
| 3815 | -0x66b88f45, 0x7f6dc8a5, -0x27299a82, -0x426c8e1c, | ||
| 3816 | 0x0c288f16, 0x158f8c3f, 0x26708be1, -0x0b73626e, | ||
| 3817 | -0x32df1bee, 0x196330f4, -0x68bb9529, -0x26376ab6, | ||
| 3818 | }, .{ | ||
| 3819 | 0x63bd0bd4, 0x4e507611, -0x5e5222b8, -0x35d8e114, | ||
| 3820 | 0x1feab77b, -0x20de7dfd, -0x0ed0b09f, -0x7fc3d585, | ||
| 3821 | -0x2d3018e9, -0x261d431b, 0x54451864, 0x1415288f, | ||
| 3822 | -0x3ab89593, -0x7060e4c1, -0x54fcd501, -0x26324630, | ||
| 3823 | 0x53fc8294, 0x2d4aceef, -0x4ac8efd2, -0x2fec97b7, | ||
| 3824 | -0x4de3a2fc, 0x2269fe52, -0x58c8b473, -0x21026285, | ||
| 3825 | -0x23438776, 0x3d5c8c41, -0x1fc946b2, -0x161c7005, | ||
| 3826 | 0x44913ff1, -0x76e2bfaa, -0x54636350, -0x6ec53870, | ||
| 3827 | }); | ||
| 3828 | |||
| 3829 | try testArgs(@Vector(1, u32), .{ | ||
| 3830 | 0x1d0d9cc4, | ||
| 3831 | }, .{ | ||
| 3832 | 0xce2d0ab6, | ||
| 3833 | }); | ||
| 3834 | try testArgs(@Vector(2, u32), .{ | ||
| 3835 | 0x5ab78c03, 0xd21bb513, | ||
| 3836 | }, .{ | ||
| 3837 | 0x8a6664eb, 0x79eac37d, | ||
| 3838 | }); | ||
| 3839 | try testArgs(@Vector(4, u32), .{ | ||
| 3840 | 0x234d576e, 0x4151cc9c, 0x39f558e4, 0xba935a32, | ||
| 3841 | }, .{ | ||
| 3842 | 0x398f2a9d, 0x4540f093, 0x9225551c, 0x3bac865b, | ||
| 3843 | }); | ||
| 3844 | try testArgs(@Vector(8, u32), .{ | ||
| 3845 | 0xb8336635, 0x2fc3182c, 0x27a00123, 0x71587fbe, | ||
| 3846 | 0x9cbc65d2, 0x6f4bb0e6, 0x362594ce, 0x9971df38, | ||
| 3847 | }, .{ | ||
| 3848 | 0x5727e734, 0x972b0313, 0xff25f5dc, 0x924f8e55, | ||
| 3849 | 0x04920a61, 0xa1c3b334, 0xf52df4b6, 0x5ef72ecc, | ||
| 3850 | }); | ||
| 3851 | try testArgs(@Vector(16, u32), .{ | ||
| 3852 | 0xfb566f9e, 0x9ad4691a, 0x5b5f9ec0, 0x5a572d2a, | ||
| 3853 | 0x8f2f226b, 0x2dfc7e33, 0x9fb07e32, 0x9d672a2e, | ||
| 3854 | 0xbedc3cee, 0x6872428d, 0xbc73a9fd, 0xd4d5f055, | ||
| 3855 | 0x69c1e9ee, 0x65038deb, 0x1449061a, 0x48412ec2, | ||
| 3856 | }, .{ | ||
| 3857 | 0x96cbe946, 0x3f24f60b, 0xaeacdc53, 0x7611a8b4, | ||
| 3858 | 0x031a67a8, 0x52a26828, 0x75646f4b, 0xb75902c3, | ||
| 3859 | 0x1f881f08, 0x834e02a4, 0x5e5b40eb, 0xc75c264d, | ||
| 3860 | 0xa8251e09, 0x28e46bbd, 0x12cb1f31, 0x9a2af615, | ||
| 3861 | }); | ||
| 3862 | try testArgs(@Vector(32, u32), .{ | ||
| 3863 | 0x131bbb7b, 0xa7311026, 0x9d5e59a0, 0x99b090d6, | ||
| 3864 | 0xfe969e2e, 0x04547697, 0x357d3250, 0x43be6d7a, | ||
| 3865 | 0x16ecf5c5, 0xf60febcc, 0x1d1e2602, 0x138a96d2, | ||
| 3866 | 0x9117ba72, 0x9f185b32, 0xc10e23fd, 0x3e6b7fd8, | ||
| 3867 | 0x4dc9be70, 0x2ee30047, 0xaffeab60, 0x7172d362, | ||
| 3868 | 0x6154bfcf, 0x5388dc3e, 0xd6e5a76e, 0x8b782f2d, | ||
| 3869 | 0xacbef4a2, 0x843aca71, 0x25d8ab5c, 0xe1a63a39, | ||
| 3870 | 0xc26212e5, 0x0847b84b, 0xb53541e5, 0x0c8e44db, | ||
| 3871 | }, .{ | ||
| 3872 | 0x4ad92822, 0x715b623f, 0xa5bed8a7, 0x937447a9, | ||
| 3873 | 0x7ecb38eb, 0x0a2f3dfc, 0x96f467a2, 0xec882793, | ||
| 3874 | 0x41a8707f, 0xf7310656, 0x76217b80, 0x2058e5fc, | ||
| 3875 | 0x26682154, 0x87313e31, 0x4bdc480a, 0x193572ff, | ||
| 3876 | 0x60b03c75, 0x0fe45908, 0x56c73703, 0xdb86554c, | ||
| 3877 | 0xdda2dd7d, 0x34371b27, 0xe4e6ad50, 0x422d1828, | ||
| 3878 | 0x1de3801b, 0xdce268d3, 0x20af9ec8, 0x188a591f, | ||
| 3879 | 0xf080e943, 0xc8718d14, 0x3f920382, 0x18d101b5, | ||
| 3880 | }); | ||
| 3881 | |||
| 3882 | try testArgs(@Vector(1, i33), .{ | ||
| 3883 | 0x0a9a3088e, | ||
| 3884 | }, .{ | ||
| 3885 | 0x06c76b26e, | ||
| 3886 | }); | ||
| 3887 | try testArgs(@Vector(2, i33), .{ | ||
| 3888 | 0x0a9bd1d56, 0x05b0b9015, | ||
| 3889 | }, .{ | ||
| 3890 | -0x05af6217c, 0x0227b5d3a, | ||
| 3891 | }); | ||
| 3892 | try testArgs(@Vector(4, i33), .{ | ||
| 3893 | -0x0405ee2ea, -0x0ff2c72eb, 0x0817f6727, 0x09093b663, | ||
| 3894 | }, .{ | ||
| 3895 | -0x0ffdf18ee, 0x0956db821, -0x01ed194af, 0x059e085e9, | ||
| 3896 | }); | ||
| 3897 | try testArgs(@Vector(8, i33), .{ | ||
| 3898 | 0x09d4fea1c, 0x0cd4254ba, 0x008d5f732, 0x0566c6f55, | ||
| 3899 | -0x01c2e54c3, -0x0469292fe, -0x00ba9ba6f, -0x076670146, | ||
| 3900 | }, .{ | ||
| 3901 | 0x02c01d901, 0x04407fcae, -0x0e6a223a6, -0x0bd9499f8, | ||
| 3902 | 0x0f9da76ed, -0x07483b289, -0x0bfc2d58e, -0x078b3055e, | ||
| 3903 | }); | ||
| 3904 | try testArgs(@Vector(16, i33), .{ | ||
| 3905 | -0x05a738cb0, -0x0be006f3e, 0x09271a365, 0x039d2f00d, | ||
| 3906 | -0x0d502b660, 0x0dd465278, 0x042a7e451, 0x03c1c3671, | ||
| 3907 | 0x00eb6f4a9, 0x08982dbc4, 0x0421b8852, 0x015ee0e53, | ||
| 3908 | 0x0e6924014, 0x0c6ddbc65, 0x00260ea59, 0x0d98aaedf, | ||
| 3909 | }, .{ | ||
| 3910 | -0x0d285a53d, 0x0800f42de, -0x048e48809, -0x052d65f47, | ||
| 3911 | -0x0bda689e0, 0x0bc437a1b, -0x05cc595ba, 0x04b335861, | ||
| 3912 | -0x0f5ec6456, 0x0580ceda6, 0x06f0e76c9, 0x0b0064ff1, | ||
| 3913 | -0x0eae28371, 0x075c3c6b1, 0x07c8d26dd, -0x06af4f476, | ||
| 3914 | }); | ||
| 3915 | try testArgs(@Vector(32, i33), .{ | ||
| 3916 | 0x07b887609, -0x004a23b00, 0x09b664a97, -0x0d4932ed0, | ||
| 3917 | -0x01a63850e, -0x0a4298efc, -0x01e409b55, 0x01452fb7a, | ||
| 3918 | 0x03d12175b, -0x0463cd854, 0x0cf448f1d, 0x0d1d02e2e, | ||
| 3919 | -0x0da681c00, 0x0d1173267, 0x08faa4e2c, 0x0634c9df5, | ||
| 3920 | 0x037e682e2, 0x0db055022, -0x0641f3daa, 0x053852c9b, | ||
| 3921 | 0x035822a2b, -0x0b12bfe53, 0x084f704c9, 0x018cfacee, | ||
| 3922 | -0x07130725b, -0x0b301dece, 0x00e1765b3, -0x0e0f0c97c, | ||
| 3923 | 0x0ccd5e7fd, -0x0ee60c481, -0x0c918345b, 0x04b2c6ec3, | ||
| 3924 | }, .{ | ||
| 3925 | 0x0df3d6e88, 0x00b4748ff, -0x0d0381c05, -0x093d68cb5, | ||
| 3926 | -0x027834cc7, 0x05aa9ca20, -0x04bc88f40, 0x080f0d937, | ||
| 3927 | 0x06699a6b8, -0x0fed64f1d, 0x0a79fe089, -0x016a9c385, | ||
| 3928 | 0x0186e6b5b, -0x0a3c83fe6, 0x09a4f87ec, 0x011ce03bf, | ||
| 3929 | -0x0f742cb8c, 0x066be2e66, -0x03b0beb52, 0x059bfda10, | ||
| 3930 | 0x04bc221c0, 0x07d8b0344, -0x0c6e34f34, -0x0de0338ce, | ||
| 3931 | -0x09571f80c, 0x0d36e8ea7, -0x052c44147, 0x0072ce503, | ||
| 3932 | -0x0ef8dec64, 0x0b5956cb3, -0x02b72b4b1, 0x0f2585167, | ||
| 3933 | }); | ||
| 3934 | |||
| 3935 | try testArgs(@Vector(1, u33), .{ | ||
| 3936 | 0x197ead992, | ||
| 3937 | }, .{ | ||
| 3938 | 0x0be595917, | ||
| 3939 | }); | ||
| 3940 | try testArgs(@Vector(2, u33), .{ | ||
| 3941 | 0x1485499a5, 0x1e12b23e3, | ||
| 3942 | }, .{ | ||
| 3943 | 0x1431cd300, 0x0762a7b51, | ||
| 3944 | }); | ||
| 3945 | try testArgs(@Vector(4, u33), .{ | ||
| 3946 | 0x00d6f907d, 0x19a2c1e5e, 0x18a597564, 0x0bea832ed, | ||
| 3947 | }, .{ | ||
| 3948 | 0x004f8c83b, 0x18fd5422c, 0x1b02cb79b, 0x092af8ba2, | ||
| 3949 | }); | ||
| 3950 | try testArgs(@Vector(8, u33), .{ | ||
| 3951 | 0x100a8bdce, 0x182aa3624, 0x0a0523393, 0x0cc8b944f, | ||
| 3952 | 0x0797fe181, 0x19c2ef2f6, 0x1b43977a0, 0x1513a878a, | ||
| 3953 | }, .{ | ||
| 3954 | 0x10da86327, 0x16e25c8c1, 0x036e09027, 0x1d85d870c, | ||
| 3955 | 0x0ff720340, 0x07d3901ec, 0x03df35db0, 0x0b3e4a05e, | ||
| 3956 | }); | ||
| 3957 | try testArgs(@Vector(16, u33), .{ | ||
| 3958 | 0x1c323b838, 0x03e15bdff, 0x0d11e109b, 0x152199f53, | ||
| 3959 | 0x1f3fc1542, 0x0e7b471e0, 0x0d291cc97, 0x1f5576bf6, | ||
| 3960 | 0x1c64d5f2e, 0x1468c9947, 0x18f1bb596, 0x0250829ac, | ||
| 3961 | 0x08d1b66a0, 0x1102178a6, 0x03eaf21e6, 0x1d0012275, | ||
| 3962 | }, .{ | ||
| 3963 | 0x11bcb3f84, 0x13150388c, 0x0e41a521a, 0x1c6c23e22, | ||
| 3964 | 0x130ac516c, 0x02d3a49c2, 0x1dd028aca, 0x1b83e56ef, | ||
| 3965 | 0x161d93875, 0x0a0fcb218, 0x1d27943a8, 0x09c919906, | ||
| 3966 | 0x182582997, 0x1c2acc0c7, 0x1cb8a9324, 0x0f456f948, | ||
| 3967 | }); | ||
| 3968 | try testArgs(@Vector(32, u33), .{ | ||
| 3969 | 0x1819f161e, 0x11b0c6f8b, 0x10e54ef82, 0x0f56ffe99, | ||
| 3970 | 0x1c128ddba, 0x0c70e8d84, 0x15e26011b, 0x1ed2f16e4, | ||
| 3971 | 0x1c498769a, 0x1b3a95b06, 0x0580ebb27, 0x16ef0aa01, | ||
| 3972 | 0x00a5a7986, 0x011a5fbf1, 0x092059f35, 0x065d9a218, | ||
| 3973 | 0x18b3c3508, 0x1f8a52f0b, 0x12a0c771c, 0x15c566333, | ||
| 3974 | 0x0882ec701, 0x0856047ee, 0x06974b33a, 0x049a97da9, | ||
| 3975 | 0x103730040, 0x0fabaaafc, 0x08e6b9887, 0x12e97722d, | ||
| 3976 | 0x00a2e302f, 0x144df5d90, 0x1dcc2f7d4, 0x1b6a6c079, | ||
| 3977 | }, .{ | ||
| 3978 | 0x13e4aa8fb, 0x1ff2fa13d, 0x0fd3d4549, 0x10837c43c, | ||
| 3979 | 0x1db62d7c2, 0x0e92f9f8b, 0x10c7ee602, 0x0e010e5f6, | ||
| 3980 | 0x1b216ca4f, 0x15808c554, 0x1ff8df1f7, 0x0c30cb60b, | ||
| 3981 | 0x191d83ae9, 0x17dc4326a, 0x1ff1e287e, 0x12e08bb58, | ||
| 3982 | 0x17787d83b, 0x074306807, 0x0ad4d40f7, 0x157b2e8a1, | ||
| 3983 | 0x1830cc0d0, 0x18e688eec, 0x1f87405f3, 0x19443ff22, | ||
| 3984 | 0x16ebfdd93, 0x07bb98b57, 0x01cd6f301, 0x08adbcc33, | ||
| 3985 | 0x1ffbcb919, 0x007455180, 0x1edbabfcb, 0x0b5519b97, | ||
| 3986 | }); | ||
| 3987 | |||
| 3988 | try testArgs(@Vector(1, i63), .{ | ||
| 3989 | -0x2d99033c3223ad4f, | ||
| 3990 | }, .{ | ||
| 3991 | 0x023c8c6807737a0e, | ||
| 3992 | }); | ||
| 3993 | try testArgs(@Vector(2, i63), .{ | ||
| 3994 | -0x08fe3255607ce099, -0x3bf678cfa16a59d2, | ||
| 3995 | }, .{ | ||
| 3996 | -0x1b8733d130c49d54, 0x39deb4fe6c836b3f, | ||
| 3997 | }); | ||
| 3998 | try testArgs(@Vector(4, i63), .{ | ||
| 3999 | 0x1e81cf3e0f9eae80, -0x0886f09bd1723b08, | ||
| 4000 | 0x16e84b8d985e5b82, 0x0fa327538c09a281, | ||
| 4001 | }, .{ | ||
| 4002 | -0x2594908bb49f963f, -0x29639632db767665, | ||
| 4003 | 0x012d5330f966e1be, -0x1143fddd48bf9752, | ||
| 4004 | }); | ||
| 4005 | try testArgs(@Vector(8, i63), .{ | ||
| 4006 | -0x08e352cf330c1852, -0x17bc1f760120ff85, | ||
| 4007 | -0x0f180e5c748c0e20, 0x07ee9290e2d53335, | ||
| 4008 | -0x33945ea070fbb445, 0x104802af8984525d, | ||
| 4009 | 0x36d27ad0f35fcfd8, 0x292141a0133227a0, | ||
| 4010 | }, .{ | ||
| 4011 | 0x2adad30092da2886, -0x1694bcdda9b82c45, | ||
| 4012 | 0x1f5a019d638ba22c, -0x2e7853134888b613, | ||
| 4013 | -0x2bb77a420f280a6d, -0x377771e94e493751, | ||
| 4014 | 0x1dd5373311160f2f, -0x02bb5248b7e0c55e, | ||
| 4015 | }); | ||
| 4016 | try testArgs(@Vector(16, i63), .{ | ||
| 4017 | 0x2d930d47aa078416, 0x1edf9abe8d562bd5, | ||
| 4018 | 0x3ef3a5266f822396, -0x102f82f23c5608e1, | ||
| 4019 | -0x38755dccf6c87ae1, 0x09f11b107d033f85, | ||
| 4020 | 0x079829e968213db8, 0x17248ef600ddb53d, | ||
| 4021 | 0x19e16a7a4e6aa0cc, 0x11e21ddfb7b5b946, | ||
| 4022 | 0x26ad3768e80b1258, 0x3672a14b31cb7f1a, | ||
| 4023 | 0x3235b83f829966b4, 0x3b4009ac38f728b8, | ||
| 4024 | -0x205d4b6cd8a164ad, -0x2fc581f11fa0eb42, | ||
| 4025 | }, .{ | ||
| 4026 | -0x1428b8c4947715ea, -0x0a5626024843736e, | ||
| 4027 | 0x075a1a0d0d47f0af, 0x0ea460d282e8dcc0, | ||
| 4028 | -0x124b2a6e2957dc53, -0x0d2602075af449d5, | ||
| 4029 | -0x0db76b825400293c, -0x17c13cd693d2db13, | ||
| 4030 | 0x0ad907bb94e64687, -0x05fd33e10be897ad, | ||
| 4031 | -0x3210cf60aa544f0b, -0x10f80c3ee6d7c510, | ||
| 4032 | 0x0106683b57f2cf9e, 0x353bea8a4c199155, | ||
| 4033 | 0x3942af4e40b65cb0, 0x3da0254a739aa17a, | ||
| 4034 | }); | ||
| 4035 | |||
| 4036 | try testArgs(@Vector(1, u63), .{ | ||
| 4037 | 0x17beef25621255fb, | ||
| 4038 | }, .{ | ||
| 4039 | 0x79bc7e82d16c5e15, | ||
| 4040 | }); | ||
| 4041 | try testArgs(@Vector(2, u63), .{ | ||
| 4042 | 0x58aeb180f136af8b, 0x0ed5f2cdb8ffe659, | ||
| 4043 | }, .{ | ||
| 4044 | 0x5df7aae04a4a1126, 0x53568966decbd14f, | ||
| 4045 | }); | ||
| 4046 | try testArgs(@Vector(4, u63), .{ | ||
| 4047 | 0x3d50a0f4755d87e3, 0x722e93c0b1355665, | ||
| 4048 | 0x3c8325a3e3640be1, 0x34eef2706884b9ab, | ||
| 4049 | }, .{ | ||
| 4050 | 0x2671797fd253520d, 0x22f81938e525536e, | ||
| 4051 | 0x08ca256b0b348d57, 0x1cdbe1867f422280, | ||
| 4052 | }); | ||
| 4053 | try testArgs(@Vector(8, u63), .{ | ||
| 4054 | 0x49ab492d75830041, 0x28f4065197f361cf, | ||
| 4055 | 0x3fcebb5fe8968a08, 0x0ab4e3fd7b158803, | ||
| 4056 | 0x7f517fcfc0451068, 0x05eaa5d2f93407b2, | ||
| 4057 | 0x0fe06447fdbec4d6, 0x34862504232f73d8, | ||
| 4058 | }, .{ | ||
| 4059 | 0x64a1796fe76dcc4d, 0x159bd1a9228a8c41, | ||
| 4060 | 0x093a4794b5759276, 0x40a740fa4d288585, | ||
| 4061 | 0x5d2d1aede616f40e, 0x7e7af17ddce8e03e, | ||
| 4062 | 0x7555fb4a1c18d5ff, 0x11b45e151e8724d0, | ||
| 4063 | }); | ||
| 4064 | try testArgs(@Vector(16, u63), .{ | ||
| 4065 | 0x456de088589c1035, 0x23239ed26d0e198f, | ||
| 4066 | 0x4f3c4ae380a12430, 0x1cb11ef73131a6f4, | ||
| 4067 | 0x6e51a370969ec7ae, 0x38bed7b267bb163d, | ||
| 4068 | 0x2fcfab012fb79669, 0x45e203406a43fe95, | ||
| 4069 | 0x38468cff64a44f74, 0x3cc86f1d717e8c60, | ||
| 4070 | 0x2ae5f2a7c73c6c2c, 0x0c8856138b43dff8, | ||
| 4071 | 0x1a7493c9bb7b265c, 0x6e8536e5f32317d8, | ||
| 4072 | 0x634701c32688fd34, 0x7a4e4a7f35ef9651, | ||
| 4073 | }, .{ | ||
| 4074 | 0x3da82f0beb7a091d, 0x040c9bbf428787fa, | ||
| 4075 | 0x795418c55742e8d2, 0x700f9b62c01cdf30, | ||
| 4076 | 0x78d567c18e7ce16d, 0x300da37dc14b6705, | ||
| 4077 | 0x68bf0e06ec9054ca, 0x2e45a80bcd5dd30d, | ||
| 4078 | 0x00e8c13b3acf4557, 0x19adb837145a0267, | ||
| 4079 | 0x594889dd8e1ff4c2, 0x561da6bd7e2ba593, | ||
| 4080 | 0x6a8ed2f67f586604, 0x2ce6d9d2663cb1fc, | ||
| 4081 | 0x68ec40831cb6b863, 0x2862d922ed7a78eb, | ||
| 4082 | }); | ||
| 4083 | |||
| 4084 | try testArgs(@Vector(1, i64), .{ | ||
| 4085 | 0x4a31679b316d8b59, | ||
| 4086 | }, .{ | ||
| 4087 | 0x34a583368386afde, | ||
| 4088 | }); | ||
| 4089 | try testArgs(@Vector(2, i64), .{ | ||
| 4090 | 0x3bae373f9cb990b3, -0x7e8c6c876e8fd34a, | ||
| 4091 | }, .{ | ||
| 4092 | 0x09dbef6f7cb9c726, 0x48dfeca879b0df51, | ||
| 4093 | }); | ||
| 4094 | try testArgs(@Vector(4, i64), .{ | ||
| 4095 | -0x2bd24dd5f5da94bf, -0x144113bae33082c2, | ||
| 4096 | 0x51e8cb7027ba4b12, -0x47b02168e2e22f13, | ||
| 4097 | }, .{ | ||
| 4098 | 0x769f113245641b91, -0x414d0e24ea97bc53, | ||
| 4099 | -0x0d2a570e7ef9e923, -0x070513d46d3b5a4c, | ||
| 4100 | }); | ||
| 4101 | try testArgs(@Vector(8, i64), .{ | ||
| 4102 | 0x10bb6779b6a55ca9, 0x5f6ffd567a187af4, | ||
| 4103 | -0x6ba191b1168486b4, -0x441b92ce455870a1, | ||
| 4104 | 0x2b6fdefbec9386ad, -0x6fdd3938d79217e4, | ||
| 4105 | 0x6aa8fe1fb891501f, 0x20802f5bbdf6dc50, | ||
| 4106 | }, .{ | ||
| 4107 | -0x7500319df437b479, 0x00ceb712d4fa62d4, | ||
| 4108 | 0x67e715b9e99e660d, -0x17ae00e1f0009ec2, | ||
| 4109 | -0x5b700b948503acdf, -0x3ff61fb5cce5a530, | ||
| 4110 | 0x55a3efac2e3694a4, 0x7f951a8d842f1670, | ||
| 4111 | }); | ||
| 4112 | try testArgs(@Vector(16, i64), .{ | ||
| 4113 | 0x37a205109a685810, -0x50ff5d13134ccaa6, | ||
| 4114 | 0x26813391c5505d5d, -0x502cdc01603a2f21, | ||
| 4115 | -0x6b1b44b1c850c7ea, 0x1f6db974ace9dd70, | ||
| 4116 | -0x47d15da8b519e328, 0x3ac0763abbf79d8d, | ||
| 4117 | 0x5f12e0dc1aed4a4f, -0x46a973e16061e928, | ||
| 4118 | -0x3f59a3fa9699b4d5, -0x2f5012d390c78315, | ||
| 4119 | -0x40e510dea2c47e9c, 0x221c51defe0acc9a, | ||
| 4120 | -0x385fd6f1d390b84b, 0x35932fe2783fa6b9, | ||
| 4121 | }, .{ | ||
| 4122 | 0x0ba5202b71ad73dd, 0x65c8d2d5e2a14fe5, | ||
| 4123 | 0x2e4d97cd66c41a3d, 0x14babbb47da51193, | ||
| 4124 | 0x59d1d12b42ade3aa, -0x3c3617e556dfa8fb, | ||
| 4125 | -0x5a36602ba43279c4, -0x61f1ddda13665d9f, | ||
| 4126 | -0x50cd6128589ddd04, 0x135ae0dcc85674ae, | ||
| 4127 | -0x25e80592affc038d, 0x07e184c44fbe9b12, | ||
| 4128 | -0x70ede1b90964bbaa, 0x3ec48b32e8efd98e, | ||
| 4129 | -0x5267d41d85a29f46, 0x53099805f9116b60, | ||
| 4130 | }); | ||
| 4131 | |||
| 4132 | try testArgs(@Vector(1, u64), .{ | ||
| 4133 | 0x333f593bf9d08546, | ||
| 4134 | }, .{ | ||
| 4135 | 0x6918bd767e730778, | ||
| 4136 | }); | ||
| 4137 | try testArgs(@Vector(2, u64), .{ | ||
| 4138 | 0x4cd89a317b03d430, 0x28998f61842f63a9, | ||
| 4139 | }, .{ | ||
| 4140 | 0x6c34db64af0e217e, 0x57aa5d02cd45dceb, | ||
| 4141 | }); | ||
| 4142 | try testArgs(@Vector(4, u64), .{ | ||
| 4143 | 0x946cf7e7484691c9, 0xf4fc5be2a762fcbf, | ||
| 4144 | 0x71cc83bc25abaf14, 0xc69cef44c6f833a1, | ||
| 4145 | }, .{ | ||
| 4146 | 0x9f90cbd6c3ce1d4e, 0x182f65295dff4e84, | ||
| 4147 | 0x4dfe62c59fed0040, 0x18402347c1db1999, | ||
| 4148 | }); | ||
| 4149 | try testArgs(@Vector(8, u64), .{ | ||
| 4150 | 0x92c6281333943e2c, 0xa97750504668efb5, | ||
| 4151 | 0x234be51057c0181f, 0xefbc1f407f3df4fb, | ||
| 4152 | 0x8da6cc7c39cebb94, 0xb408f7e56feee497, | ||
| 4153 | 0x2363f1f8821592ed, 0x01716e800c0619e1, | ||
| 4154 | }, .{ | ||
| 4155 | 0xa617426684147e7e, 0x7542da7ebe093a7b, | ||
| 4156 | 0x3f21d99ac57606b7, 0x65cd36d697d22de4, | ||
| 4157 | 0xed23d6bdf176c844, 0x2d4573f100ff7b58, | ||
| 4158 | 0x4968f4d21b49f8ab, 0xf5d9a205d453e933, | ||
| 4159 | }); | ||
| 4160 | try testArgs(@Vector(16, u64), .{ | ||
| 4161 | 0x2f61a4ee66177b4a, 0xf13b286b279f6a93, | ||
| 4162 | 0x36b46beb63665318, 0x74294dbde0da98d2, | ||
| 4163 | 0x3aa872ba60b936eb, 0xe8f698b36e62600b, | ||
| 4164 | 0x9e8930c21a6a1a76, 0x876998b09b8eb03c, | ||
| 4165 | 0xa0244771a2ec0adb, 0xb4c72bff3d3ac1a2, | ||
| 4166 | 0xd70677210830eced, 0x6622abc1734dd72d, | ||
| 4167 | 0x157e2bb0d57d6596, 0x2aac8192fb7ef973, | ||
| 4168 | 0xc4a0ca92f34d7b13, 0x04300f8ad1845246, | ||
| 4169 | }, .{ | ||
| 4170 | 0xeaf71dcf0eb76f5d, 0x0e84b1b63dc97139, | ||
| 4171 | 0x0f64cc38d23c94a1, 0x12775cf0816349b7, | ||
| 4172 | 0xfdcf13387ba48d54, 0xf8d3c672cacd8779, | ||
| 4173 | 0xe728c1f5eb56ab1e, 0x05931a34877f7a69, | ||
| 4174 | 0x1861a763c8dafd1f, 0x4ac97573ecd5739f, | ||
| 4175 | 0x3384414c9bf77b8c, 0x32c15bbd04a5ddc4, | ||
| 4176 | 0xbfd88aee1d82ed32, 0x20e91c15b701059a, | ||
| 4177 | 0xed533d18f8657f3f, 0x1ddd7cd7f6bab957, | ||
| 4178 | }); | ||
| 4179 | |||
| 4180 | try testArgs(@Vector(1, i65), .{ | ||
| 4181 | 0x0ca0853f57c0686c8, | ||
| 4182 | }, .{ | ||
| 4183 | -0x05c79d7369ef879fd, | ||
| 4184 | }); | ||
| 4185 | try testArgs(@Vector(2, i65), .{ | ||
| 4186 | 0x0c65f685f4839bc8d, -0x079057ad04859d897, | ||
| 4187 | }, .{ | ||
| 4188 | -0x0dbb1951a67a71fc6, -0x0d4763ead1d5f66aa, | ||
| 4189 | }); | ||
| 4190 | try testArgs(@Vector(4, i65), .{ | ||
| 4191 | 0x0d6a03163f101695e, -0x0ebe991e54e61156d, | ||
| 4192 | -0x0715adf48176985dc, 0x01e57dbe6ea50b22f, | ||
| 4193 | }, .{ | ||
| 4194 | -0x0b308d8311a45a38d, 0x07c292cc15044b1f5, | ||
| 4195 | 0x0e69e3eae81046bc8, 0x053b75d6a544ca0db, | ||
| 4196 | }); | ||
| 4197 | try testArgs(@Vector(8, i65), .{ | ||
| 4198 | 0x0066315a88896ba00, 0x026c8109f087eb4e3, | ||
| 4199 | -0x0b9928ad2e41d98ef, 0x0fc5ab9c89a8ee6ff, | ||
| 4200 | 0x0dcdd248c4575dbb1, -0x09db7d03c38a83255, | ||
| 4201 | -0x097bc9d5397c57594, 0x0e6af866eed43b462, | ||
| 4202 | }, .{ | ||
| 4203 | -0x06ac0448a06876866, 0x0f89dbafcbbb065d7, | ||
| 4204 | -0x02b88b31ed9fc24dd, -0x005c56246687ed4f0, | ||
| 4205 | -0x085a4a7b09dcec260, -0x0068e92e14823a98a, | ||
| 4206 | -0x0ac4a04dd6de87eb9, 0x0716ed52ef9704b71, | ||
| 4207 | }); | ||
| 4208 | try testArgs(@Vector(16, i65), .{ | ||
| 4209 | -0x09fd6493584cf3a50, 0x0e6dc4b5655cb9d36, | ||
| 4210 | -0x03b55c156ac2bdcf1, 0x002cfefc233d5bcb8, | ||
| 4211 | 0x0dbebb830228d2945, -0x02133deab2ebd8699, | ||
| 4212 | -0x0ff9bc10c14c58c6c, -0x09170272ba214dabc, | ||
| 4213 | -0x06ed685bdc535a55e, 0x0c12e1ca45cf7be9a, | ||
| 4214 | -0x04e1094b79391df4a, 0x03b3fbc230416592d, | ||
| 4215 | 0x08799db1379e6b1ba, -0x0fa7c7aed60863358, | ||
| 4216 | -0x0c44dd44a770610bd, -0x0349cdc54719b2e37, | ||
| 4217 | }, .{ | ||
| 4218 | 0x03146cdf203a80cfd, 0x0e22a03fe80f3e2ed, | ||
| 4219 | 0x07fa7a66dbe252222, 0x000a3bc923a32648a, | ||
| 4220 | -0x078bac9e36d66da71, -0x03055804cd3b73168, | ||
| 4221 | 0x0d9280808858f006d, -0x09415dfb2fd33fe5a, | ||
| 4222 | -0x01bb25a93961b763c, -0x0d7b9f64e9b0c5c82, | ||
| 4223 | -0x096d7b6ee9a0b1e11, -0x0358047a2c33fc157, | ||
| 4224 | 0x0ac0128bbf7a5200e, -0x009e0b2ab770e711b, | ||
| 4225 | 0x05473b5629f372ee9, -0x02eda67313ff7fa47, | ||
| 4226 | }); | ||
| 4227 | |||
| 4228 | try testArgs(@Vector(1, u65), .{ | ||
| 4229 | 0x1879059aca94dd383, | ||
| 4230 | }, .{ | ||
| 4231 | 0x0051da1f25078e919, | ||
| 4232 | }); | ||
| 4233 | try testArgs(@Vector(2, u65), .{ | ||
| 4234 | 0x18f39bb41f03223f5, 0x16a59f6838a63e737, | ||
| 4235 | }, .{ | ||
| 4236 | 0x105aa15beae036a1a, 0x1b47ef7ef744b70fe, | ||
| 4237 | }); | ||
| 4238 | try testArgs(@Vector(4, u65), .{ | ||
| 4239 | 0x18c685254b3c7170c, 0x0de8048a66902ebfd, | ||
| 4240 | 0x02bc97f62163e7e31, 0x152b6eba67c1e76db, | ||
| 4241 | }, .{ | ||
| 4242 | 0x1f45ab5e13037f07b, 0x1a6ac8ec084a115ee, | ||
| 4243 | 0x1db62793f956492ba, 0x0e4262599ec54c2a4, | ||
| 4244 | }); | ||
| 4245 | try testArgs(@Vector(8, u65), .{ | ||
| 4246 | 0x07c1dbda5d0ddd69a, 0x18f5741ef462a799b, | ||
| 4247 | 0x1fd2f93384860df65, 0x01827fcdb6c715d64, | ||
| 4248 | 0x03869c173a922b018, 0x0addd48a4671a2f6b, | ||
| 4249 | 0x1eee0f78995f9f118, 0x1e1d0d6b2396bcf38, | ||
| 4250 | }, .{ | ||
| 4251 | 0x159e9494fc84ed452, 0x0834f6aaa7666a22b, | ||
| 4252 | 0x066765389e84150b4, 0x1e722ae23908c7e96, | ||
| 4253 | 0x0d64ec725397e6ee0, 0x19f3a147a355baa22, | ||
| 4254 | 0x02f1b100538b6dbc3, 0x175885a34aefca91b, | ||
| 4255 | }); | ||
| 4256 | try testArgs(@Vector(16, u65), .{ | ||
| 4257 | 0x105647e12b2b76daa, 0x04dcca29537263f6a, | ||
| 4258 | 0x16c112620be731a4e, 0x0d6c088da3c158fa0, | ||
| 4259 | 0x02ff8ce4fc8331ec4, 0x127a7d10ab851980c, | ||
| 4260 | 0x05703068045915d95, 0x07cc42e0bb216b310, | ||
| 4261 | 0x08a15a16e4247ad98, 0x1c17b2292e34aa369, | ||
| 4262 | 0x14c9808748fa615c3, 0x187449666c2f5375b, | ||
| 4263 | 0x133fcb93a31d2f369, 0x047729af594c8c1c1, | ||
| 4264 | 0x1ce798ff51a064ad2, 0x0800a3c18b944f0e4, | ||
| 4265 | }, .{ | ||
| 4266 | 0x0d65b8b643703ef96, 0x1c55c2e0816c5d056, | ||
| 4267 | 0x0390a06d3ec60e632, 0x0d543d346db055847, | ||
| 4268 | 0x017e27c7d663d7005, 0x112f7b98a78014ea3, | ||
| 4269 | 0x030136142f19042d7, 0x059f9b6e576f79ef7, | ||
| 4270 | 0x1dd78fb3577c5ed37, 0x1a4594314b3f1adde, | ||
| 4271 | 0x1e26cd964c656292a, 0x0579c10261478da1d, | ||
| 4272 | 0x0406f2849ab5ad15c, 0x024b15c729f2211b7, | ||
| 4273 | 0x10f0505cc2f7f110c, 0x133cfa11f995e0afc, | ||
| 4274 | }); | ||
| 4275 | |||
| 4276 | try testArgs(@Vector(1, i127), .{ | ||
| 4277 | 0x226b8faf65414a9a0ffcd438c7fa9eea, | ||
| 4278 | }, .{ | ||
| 4279 | 0x2c582610b08531ca208fef1c2b839bdc, | ||
| 4280 | }); | ||
| 4281 | try testArgs(@Vector(2, i127), .{ | ||
| 4282 | 0x35e8caffc9fc8e1b3b6d3667cb6a128c, | ||
| 4283 | -0x070d99d51807ae2314ea61e4f0166145, | ||
| 4284 | }, .{ | ||
| 4285 | -0x3a59d011c2a385a6dcf00a40efd85b77, | ||
| 4286 | 0x3b5f506c3fa0c8552fba624d1b5debec, | ||
| 4287 | }); | ||
| 4288 | try testArgs(@Vector(4, i127), .{ | ||
| 4289 | 0x191594cc2356ffeac739f1841b06adcf, | ||
| 4290 | 0x1f45176996076de7c3891f14f831e192, | ||
| 4291 | 0x1c9047002e0a4f00656556fffeb50349, | ||
| 4292 | -0x38049f47bcc36ab26600bc475295389f, | ||
| 4293 | }, .{ | ||
| 4294 | -0x2f8c1618324c60c40f65d216943d59d2, | ||
| 4295 | -0x21429f90bd9dff7b5d49c9d7f2655928, | ||
| 4296 | 0x3baeef72d0d168fb50564c9f6eb5d778, | ||
| 4297 | 0x3affe6f2eddfc6a69206c357633d0eeb, | ||
| 4298 | }); | ||
| 4299 | try testArgs(@Vector(8, i127), .{ | ||
| 4300 | -0x00c48629a415129f66e74a1a215d683a, | ||
| 4301 | 0x3920a425cbec4c9af649a00d5747136a, | ||
| 4302 | 0x11f53b9db15a12814c948c6a809b96f8, | ||
| 4303 | -0x1f7e272db97efc88762dedf54978e795, | ||
| 4304 | 0x13e56ca8ed41f64d04ef01019703f402, | ||
| 4305 | 0x294014109f4313454d9994f1003b4572, | ||
| 4306 | 0x0f3d6fe7adde96149ffcc5c0808b708f, | ||
| 4307 | 0x2d9bcd407da37ff3d43cc5f6b64fd385, | ||
| 4308 | }, .{ | ||
| 4309 | 0x3f95f21d3bc39fe8e3fcc184d150a984, | ||
| 4310 | 0x2a8c36a5986d8c245bbdd302737b7e29, | ||
| 4311 | 0x37c61446e10efe6a94f797da05a28fae, | ||
| 4312 | -0x096b2f4e16aef099d623066e941d13d1, | ||
| 4313 | 0x3df11d4af3229ed59c52628cac02f506, | ||
| 4314 | 0x326f78cbf454566daa3bc235a1fb3fb8, | ||
| 4315 | -0x2cf6b4872dffea018c77892e433b6784, | ||
| 4316 | 0x345dfdd52635c224c70949913255ab68, | ||
| 4317 | }); | ||
| 4318 | |||
| 4319 | try testArgs(@Vector(1, u127), .{ | ||
| 4320 | 0x49a0cd1849f9adbed215770c6f97a584, | ||
| 4321 | }, .{ | ||
| 4322 | 0x5e10826a03aeb57d4a9a9ef2a8f02faa, | ||
| 4323 | }); | ||
| 4324 | try testArgs(@Vector(2, u127), .{ | ||
| 4325 | 0x1c2544fbb76890de5c00f42c9a516846, | ||
| 4326 | 0x324f292d72694d409152a311b5a0441c, | ||
| 4327 | }, .{ | ||
| 4328 | 0x01cc87106db8e357e85f875d46feac96, | ||
| 4329 | 0x49e775cc0db88cf9725af13113d7d457, | ||
| 4330 | }); | ||
| 4331 | try testArgs(@Vector(4, u127), .{ | ||
| 4332 | 0x3e82ddcd074646a0a489a4fd300c32c9, | ||
| 4333 | 0x2a511ac041c17a68c5a71bc6d3cb3ba9, | ||
| 4334 | 0x2dace4189083411634b753ae476579a8, | ||
| 4335 | 0x4e1d5cb04d9681d806312d72d6dc5262, | ||
| 4336 | }, .{ | ||
| 4337 | 0x5f489e689ff15fcf38aad995b1796af2, | ||
| 4338 | 0x49ee549bd8e20092c8ccebb992cde8b8, | ||
| 4339 | 0x4e52d33281cba3fda6ae8d1f463c7a1f, | ||
| 4340 | 0x0de0279b2dec3fffe44c1c7decc430f8, | ||
| 4341 | }); | ||
| 4342 | try testArgs(@Vector(8, u127), .{ | ||
| 4343 | 0x636de193fbadb1984a0ed9969f88d38d, | ||
| 4344 | 0x64426b7e468cb323b1d75656879fb9b2, | ||
| 4345 | 0x48afb4cc5a11f2ca4b8609b057758312, | ||
| 4346 | 0x176157ce93422bb4463d6f0dda275b94, | ||
| 4347 | 0x746015d0e8cb5e36af43840a6df11aab, | ||
| 4348 | 0x279b665776118bc2759134c19cbf1bb0, | ||
| 4349 | 0x52cb4dc56d3935090fb7db710c8f9660, | ||
| 4350 | 0x591884d8d8e2fe2f77b7f8508dddeaaa, | ||
| 4351 | }, .{ | ||
| 4352 | 0x42e00bc05d50ea63d546085642b8831b, | ||
| 4353 | 0x4241ff07ce99ee055b48ed2939b8d6b7, | ||
| 4354 | 0x45a5f53a5c5cb13f1a9e6621fec8cf4a, | ||
| 4355 | 0x68d6938c1b348dc6cc98d4b6ab3a1c22, | ||
| 4356 | 0x1f9448fc11e38500ec7ecf57a33a278b, | ||
| 4357 | 0x7b331526d6fcfb958f3c88fc4656e123, | ||
| 4358 | 0x4f1e8ddf41a7105cc1a1c815040a2693, | ||
| 4359 | 0x31ac7bd68686d531d53ecca75e6d8b81, | ||
| 4360 | }); | ||
| 4361 | |||
| 4362 | try testArgs(@Vector(1, i128), .{ | ||
| 4363 | -0x3bb56309fcad13fc1011dc671cf57bdc, | ||
| 4364 | }, .{ | ||
| 4365 | -0x05338bb517db516ee08c45d1408e5836, | ||
| 4366 | }); | ||
| 4367 | try testArgs(@Vector(2, i128), .{ | ||
| 4368 | 0x295f2901e3837e5592b9435f8c4df8a7, | ||
| 4369 | -0x1f246b0ff2d02a6bf30a63392fc63371, | ||
| 4370 | }, .{ | ||
| 4371 | -0x31060c09e29b545670c4cbc721a4e26b, | ||
| 4372 | -0x631eb286321325d51c617aa798195392, | ||
| 4373 | }); | ||
| 4374 | try testArgs(@Vector(4, i128), .{ | ||
| 4375 | 0x47110102c74f620f08e5b7c5dbe193c2, | ||
| 4376 | -0x61d12d2650413ad3ffeeeab3ba57e1f0, | ||
| 4377 | 0x449781e64b29dc8a17a88f4b7a5b0717, | ||
| 4378 | 0x0d2170e9238d12a585dc5377566e1938, | ||
| 4379 | }, .{ | ||
| 4380 | 0x0bf948e19bd01823dcb3887937d97079, | ||
| 4381 | -0x16f933ab12bfba3560d0d39ffe69b64a, | ||
| 4382 | 0x3d0bfce3907a5cd157348f0329e2548e, | ||
| 4383 | -0x3c2d182e2e238a4bebd7defbd7f9699a, | ||
| 4384 | }); | ||
| 4385 | try testArgs(@Vector(8, i128), .{ | ||
| 4386 | -0x775678727c721662f02480619acbfc82, | ||
| 4387 | -0x6f504fcbff673cb91e4706af4373665f, | ||
| 4388 | -0x670f888d4186387c3106d125b856c294, | ||
| 4389 | 0x0641e7efdfdd924d126b446d874154f8, | ||
| 4390 | 0x57d7aef0f82d3351917f43c8f677392b, | ||
| 4391 | -0x4077e745dede8367d145c94f20ab8810, | ||
| 4392 | -0x0344a74fb60e1f1f72ba8ec288b05939, | ||
| 4393 | -0x0be3ce9be461aca1d25ad8e74dcc36e1, | ||
| 4394 | }, .{ | ||
| 4395 | -0x4a873d91e5a2331def0d34c008d33d83, | ||
| 4396 | 0x2744cecfd4c683bdd12f3cfc11d7f520, | ||
| 4397 | -0x0cb8e468fc1de93a7c5ad2a5a61e8f50, | ||
| 4398 | -0x1a3be9e58e918d6586cc4948a54515d3, | ||
| 4399 | -0x512ec6f88c3a34950a8aaee47130120b, | ||
| 4400 | -0x2e772e4a8812e553bcf9b2754a493709, | ||
| 4401 | 0x0c7b137937dc25f9f9cbaf4d7a88ee6b, | ||
| 4402 | -0x2ecdd5eb81eb0e98ed8d0aa9516c1617, | ||
| 4403 | }); | ||
| 4404 | |||
| 4405 | try testArgs(@Vector(1, u128), .{ | ||
| 4406 | 0x5f11e16b0ca3392f907a857881455d2e, | ||
| 4407 | }, .{ | ||
| 4408 | 0xf9142d73b408fd6955922f9fc147f7d7, | ||
| 4409 | }); | ||
| 4410 | try testArgs(@Vector(2, u128), .{ | ||
| 4411 | 0xee0fb41fabd805923fb21b5c658e3a87, | ||
| 4412 | 0x2352e74aad6c58b3255ff0bba5aa6552, | ||
| 4413 | }, .{ | ||
| 4414 | 0x8d822f9fdd9cb9a5b43513b14419b224, | ||
| 4415 | 0x1aef2a02704379e38ead4d53d69e4cc4, | ||
| 4416 | }); | ||
| 4417 | try testArgs(@Vector(4, u128), .{ | ||
| 4418 | 0xc74437a4ea3bbbb193dbf0ea2f0c5281, | ||
| 4419 | 0x039e4b1640868248780db1834a0027eb, | ||
| 4420 | 0xb9e8bb34155b2b238da20331d08ff85b, | ||
| 4421 | 0x863802d34a54c2e6aa71dd0f067c4904, | ||
| 4422 | }, .{ | ||
| 4423 | 0x7471bae24ff7b84ab107f86ba2b7d1e7, | ||
| 4424 | 0x8f34c449d0576e682c20bda74aa6b6c9, | ||
| 4425 | 0x1f34c3efa167b61c48c9d5ec01a1a93f, | ||
| 4426 | 0x71c8318fcf3ddc7be058c73a52dce9e3, | ||
| 4427 | }); | ||
| 4428 | try testArgs(@Vector(8, u128), .{ | ||
| 4429 | 0xbf2db71463037f55ee338431f902a906, | ||
| 4430 | 0xb7ad317626655f38ab25ae30d8a1aa67, | ||
| 4431 | 0x7d3c5a3ffaa607b5560d69ae3fcf7863, | ||
| 4432 | 0x009a39a8badf8b628c686dc176aa1273, | ||
| 4433 | 0x49dba3744c91304cc7bbbdab61b6c969, | ||
| 4434 | 0x6ec664b624f7acf79ce69d80ed7bc85c, | ||
| 4435 | 0xe02d7a303c0f00c39010f3b815547f1c, | ||
| 4436 | 0xb13e1ee914616f58cffe6acd33d9b5c8, | ||
| 4437 | }, .{ | ||
| 4438 | 0x2f2d355a071942a7384f82ba72a945b8, | ||
| 4439 | 0x61f151b3afec8cb7664f813cecf581d1, | ||
| 4440 | 0x5bfbf5484f3a07f0eacc4739ff48af80, | ||
| 4441 | 0x59c0abbf8d829cf525a87d5c9c41a38a, | ||
| 4442 | 0xdad8b18eb680f0520ca49ebfb5842e22, | ||
| 4443 | 0xa05adcaedd9057480b3ba0413d003cec, | ||
| 4444 | 0x8b0b4a27fc94a0e90652d19bc755b63d, | ||
| 4445 | 0xa858bce5ad0e48c13588a4e170e8667c, | ||
| 4446 | }); | ||
| 4447 | |||
| 4448 | try testArgs(@Vector(1, i129), .{ | ||
| 4449 | -0x09c126c4e31389b174cb2b45e76c086dd, | ||
| 4450 | }, .{ | ||
| 4451 | 0x0d023f2566c56400f4b7edb9c4f364ecb, | ||
| 4452 | }); | ||
| 4453 | try testArgs(@Vector(2, i129), .{ | ||
| 4454 | -0x072be32e116741732f9422d9b20777db5, | ||
| 4455 | -0x010829386cc3d93283a83591bd994ca58, | ||
| 4456 | }, .{ | ||
| 4457 | 0x004671167d0681d46945832d16f70cfba, | ||
| 4458 | 0x098550137341cbadfe8378987e3a83265, | ||
| 4459 | }); | ||
| 4460 | try testArgs(@Vector(4, i129), .{ | ||
| 4461 | 0x04167620c7f5e094208fb204f06b9792c, | ||
| 4462 | 0x07a6690c0b5f9de6c8955873f19b98f23, | ||
| 4463 | -0x06505997d01e5a971f820742210c7adc6, | ||
| 4464 | -0x07013921eab8d92559f17ad9e3712bc61, | ||
| 4465 | }, .{ | ||
| 4466 | -0x0bdbf7ce4079fa628feb05f5814402e15, | ||
| 4467 | -0x0e6ee5464de547ce92ee5a6037f175e52, | ||
| 4468 | -0x009d079b88cdc765ab72758854b753d98, | ||
| 4469 | -0x085af31dd5243f61b46e6dc950728ff49, | ||
| 4470 | }); | ||
| 4471 | try testArgs(@Vector(8, i129), .{ | ||
| 4472 | 0x0d85f471bdc56611e9187113f1489bd38, | ||
| 4473 | 0x06e1e9cae044bb17b63c380fd6f2652b5, | ||
| 4474 | 0x0921d649288a16481f2ec69747f443e5e, | ||
| 4475 | 0x0e8db24d1aefd91cfab20bac61f560274, | ||
| 4476 | 0x0187abef7578e5e02a396e4ebd5859c23, | ||
| 4477 | 0x0d2dec5a6bd72afe18288ca428ec2b94d, | ||
| 4478 | 0x0c52c111a077bffb1fa4483523cd044c3, | ||
| 4479 | -0x0b6a90c79d6230f271bf625c9a6c0dfc5, | ||
| 4480 | }, .{ | ||
| 4481 | 0x0d47c566bdedae2e9485f7aa381a98d30, | ||
| 4482 | -0x0e5d9573c01a9e56361b202c47f0e51f8, | ||
| 4483 | -0x0bdcafb1f08db4920121521b2d2679931, | ||
| 4484 | 0x08de42eec43f2a5175f928f8a1812575d, | ||
| 4485 | 0x0c3f57e712a7f8494e51b62d11573d9a0, | ||
| 4486 | -0x09287910d439c9bafd56bc8a6faf50cb3, | ||
| 4487 | 0x07b494af9634c8f95bed2f50fcaf08dda, | ||
| 4488 | -0x0a150693d83af2e823dcc0765e4e331e2, | ||
| 4489 | }); | ||
| 4490 | |||
| 4491 | try testArgs(@Vector(1, u129), .{ | ||
| 4492 | 0x1e51bd13747df8fae52f0471e9f1ad3f2, | ||
| 4493 | }, .{ | ||
| 4494 | 0x00aba9f2c80c71b1ed07201486ea44d00, | ||
| 4495 | }); | ||
| 4496 | try testArgs(@Vector(2, u129), .{ | ||
| 4497 | 0x0c7967a19d13d4bd3f6ebfa0f8fdeab92, | ||
| 4498 | 0x01614ee2c32757cc92e2efd97e94321a7, | ||
| 4499 | }, .{ | ||
| 4500 | 0x175803a2c0bf888bd01e2a5bae28e4523, | ||
| 4501 | 0x07d05a98ec8f4e7e72aac2712bc09a23a, | ||
| 4502 | }); | ||
| 4503 | try testArgs(@Vector(4, u129), .{ | ||
| 4504 | 0x1b18b768c5852bb1f0a7b34ceaeac4a0c, | ||
| 4505 | 0x038fc1f995d9378fcf1043598810d7a56, | ||
| 4506 | 0x06eebd77f9920e79932decf0f29ef658d, | ||
| 4507 | 0x1f31a766145022050d0b16a4f5d06f1e3, | ||
| 4508 | }, .{ | ||
| 4509 | 0x033b20a528a722b6704bf5c8aea497e68, | ||
| 4510 | 0x0ea05276fb8de4e77e4a8d4ef55f64bba, | ||
| 4511 | 0x1c632cf252683b00faae6dcb7d73d8b90, | ||
| 4512 | 0x11a7e1e98bb34fc7f5ed36c327476b122, | ||
| 4513 | }); | ||
| 4514 | try testArgs(@Vector(8, u129), .{ | ||
| 4515 | 0x1b85991584b26492938854a6f6953b766, | ||
| 4516 | 0x119472b0f4b7199f1267639f601833e3d, | ||
| 4517 | 0x130d19e6ccfebce09c61c8c8fb526fec0, | ||
| 4518 | 0x1379f4fa9d25e18ef5138c193b7ec9ef3, | ||
| 4519 | 0x15fc62d9e21c2c0c63f9cab5ab0a8cf36, | ||
| 4520 | 0x123ceb2a65f200a0b3e559c801bdbfa58, | ||
| 4521 | 0x0e740ae3c7ab0cd24c5ff94d9367e3ebb, | ||
| 4522 | 0x008c7dd67796949390355d866e4f171ef, | ||
| 4523 | }, .{ | ||
| 4524 | 0x0ffdda009048cf61476610425d5e55560, | ||
| 4525 | 0x061bcb9d024d015891b5666e7b317cc84, | ||
| 4526 | 0x060c013386fb8c129a3bd65b7909f2bc5, | ||
| 4527 | 0x01c8efdd7ea806b1dc984c6183da53d8f, | ||
| 4528 | 0x02fae7cee43d7f97448e82b907335bd45, | ||
| 4529 | 0x0365e7cadcbd0a64decc1377339967c53, | ||
| 4530 | 0x1a52793ba8a9689e1d7f5036e8cb613e1, | ||
| 4531 | 0x1257d7cdd8f04058d285a5bce173b5262, | ||
| 4532 | }); | ||
| 4533 | |||
| 4534 | try testArgs(@Vector(1, i191), .{ | ||
| 4535 | -0x23ce1d6b12e301d243024c60aef14b6d068e1d4b1c4f442d, | ||
| 4536 | }, .{ | ||
| 4537 | 0x1a7b04f33aa590b99c1162bb32e7681ec267b7826e162512, | ||
| 4538 | }); | ||
| 4539 | try testArgs(@Vector(2, i191), .{ | ||
| 4540 | -0x25ed7b5b9a9cd517f7f1e2e796f8c5a28ae04af6c1e7bfb3, | ||
| 4541 | 0x3f298efedf4269276db60344c2bed556ee25d24c5f887000, | ||
| 4542 | }, .{ | ||
| 4543 | 0x3c92b38c6c6eb449c25011a4248df259b8452293390d8ad7, | ||
| 4544 | -0x35743fe2fa86686c496ffd16f93f2fca1ed742b67b8722a7, | ||
| 4545 | }); | ||
| 4546 | try testArgs(@Vector(4, i191), .{ | ||
| 4547 | -0x1743b70ad78994b68b5f7ad6066447ce8aefaba4852af2c7, | ||
| 4548 | -0x10974462633ebb5631bf83d65ffde3239ff4029c9f62b7ef, | ||
| 4549 | 0x1783dc9f0afa815051e6d338ef35da013e807da475815af5, | ||
| 4550 | 0x3f32dd0689a9437b7acc4290920370205825a3f6a4453916, | ||
| 4551 | }, .{ | ||
| 4552 | 0x2ef1b4f92da40e0c33a1611f48f25d8f1c4208b5396e51dd, | ||
| 4553 | 0x0d1e8846fd1a2055386c4d74aa55914ef085196399964a29, | ||
| 4554 | 0x272c9065c4395186cf7c164fc5d43aeee7fdd08bfd98ad86, | ||
| 4555 | 0x25438380cc92dba5c9f3d57ef311fad8e14e3a3c18910546, | ||
| 4556 | }); | ||
| 4557 | try testArgs(@Vector(8, i191), .{ | ||
| 4558 | -0x36d4fd6afdc4bae957b5caed3360891ac4c44383f77e0225, | ||
| 4559 | 0x2bd89636510607345813f74ee303d3b22435b37a7d09c7ed, | ||
| 4560 | -0x3cc372c1659789b967ed7000bfae20f73829a093e9ac9232, | ||
| 4561 | -0x2e27691dc3d8ea12093136cf859ef8e0c686ae66e56e073d, | ||
| 4562 | -0x24150a1f8bb0097625000af9b186a8927f70993e76702c17, | ||
| 4563 | -0x3adebb65a71f180fbf21117bc38fa3aeddebe1e216ae5a70, | ||
| 4564 | -0x257688d6ef63e2046bb8bfa11ba84b665e4e12522d56d085, | ||
| 4565 | 0x173a71a3792e72cbd31f2f10142cf568ff0987e8dfd4ed35, | ||
| 4566 | }, .{ | ||
| 4567 | 0x056e3bbfe91bd5adf441278fccaeabbe86cba8ae545dee95, | ||
| 4568 | -0x02705836e891812aba265ee3e12d17f6fcdbc69320e52ee9, | ||
| 4569 | -0x276a852ba9a4163fe636cf31007b5e3cb087bc44c0948a02, | ||
| 4570 | -0x14053135d82f772dd82e7a472315b6b9fa836a27bebcf980, | ||
| 4571 | -0x153f064d28f4fb27c827bb5fe2a44c95e3b54d21eba40a1c, | ||
| 4572 | -0x30ac5165fa3f132f294a5241d3201973a0671aa3b536e3ae, | ||
| 4573 | -0x2ce2be59f487892c58bf667a55724b117e3e8ba3b00c1c31, | ||
| 4574 | 0x138bb8e5b837ffd06d296ea0af9f533ffe3a36073fafc2d3, | ||
| 4575 | }); | ||
| 4576 | |||
| 4577 | try testArgs(@Vector(1, u191), .{ | ||
| 4578 | 0x24f26e4c0b4b20639550564263b0be7083e112cdef6c2d83, | ||
| 4579 | }, .{ | ||
| 4580 | 0x020334928f4583d332043b7aef15e832047dfd01b2933038, | ||
| 4581 | }); | ||
| 4582 | try testArgs(@Vector(2, u191), .{ | ||
| 4583 | 0x67074e5315030f5c1a4d035100736de691b5589f6d349162, | ||
| 4584 | 0x0e655397f96e3fd66b317294a37975d36478242fd6392259, | ||
| 4585 | }, .{ | ||
| 4586 | 0x56bb6bd23999b9af6230833f3c661fd54fa2f012673f88bf, | ||
| 4587 | 0x005c4fd0feb22f04ae76cd1479b6f0d6e62b76b249073cfd, | ||
| 4588 | }); | ||
| 4589 | try testArgs(@Vector(4, u191), .{ | ||
| 4590 | 0x793af4124df65a0815c1f1603d309d0094e1ee29a571ec57, | ||
| 4591 | 0x32163b39813a85f3c4ca626d14130258782eae8704f2ceb1, | ||
| 4592 | 0x64a0ac41f560153b3d1f3193faa818db7be2c66f0dbc2457, | ||
| 4593 | 0x195e210a66b88674fcb13b0bf26190442b71bd53b2df52fc, | ||
| 4594 | }, .{ | ||
| 4595 | 0x2668ee718a179e0fa57a1b72aa6a5dea00b60d8fe69a019c, | ||
| 4596 | 0x447df595f31d0bac74b0dd7a379fbaecb92b2aba1b8615f7, | ||
| 4597 | 0x0c794ae8369677209d714dd97092b5e4d0c6b9e794e6d9b9, | ||
| 4598 | 0x2c7a81900b3eef44190b5d0264f9bf072588720247f69693, | ||
| 4599 | }); | ||
| 4600 | try testArgs(@Vector(8, u191), .{ | ||
| 4601 | 0x1afd856825f4458371e2adcbdd7c1b1dbb935b8a6f4a6dca, | ||
| 4602 | 0x738efc41846cf88223553ed8b4c1b45366088bece1fe8052, | ||
| 4603 | 0x7841b17a1c38e4066376e5ae204959c02c524635740a9013, | ||
| 4604 | 0x4ea41d7c910dca17242c74dfb1aedbaf05c9b93fee1e5b77, | ||
| 4605 | 0x5c6ba91cfae1f4d49cb2b5cedfc090f0ffbde9afa6794788, | ||
| 4606 | 0x4582bfd463bdf1f5ff4da91fc65bc2a38823f45c05bc485e, | ||
| 4607 | 0x7cbac126c09224be8017d7d1c9a84014d2af0a3afb14a5b3, | ||
| 4608 | 0x3068064c244d43736c5454d45b576f4c62324dd5aec39e8a, | ||
| 4609 | }, .{ | ||
| 4610 | 0x49907c71f5e8fb9626727be7a949ae8ee47bfc3658b09614, | ||
| 4611 | 0x5a8f50d921fcdf9d0a20ff050ecbd2447cd3ab7ea3c4d9fc, | ||
| 4612 | 0x11bfcb2033ef38914dd35cf384f22d5ece33c1685616ba90, | ||
| 4613 | 0x1996b77370fef92a696ccd5e316eed50b2bc33ae10b245d7, | ||
| 4614 | 0x1aeacf955748c195f4ead3b032cafce35db2cf253f4065c1, | ||
| 4615 | 0x6661ba1be480a8ca7cb1ed35c01ec591c34ed15524412434, | ||
| 4616 | 0x0d357b77a9e3b924156e18bcf41a83620246ad419a9ce9c2, | ||
| 4617 | 0x467f70d48dfc54fa6cc3ba3f98e66cd1410283f1ec0ae934, | ||
| 4618 | }); | ||
| 4619 | |||
| 4620 | try testArgs(@Vector(1, i192), .{ | ||
| 4621 | 0x5348bc83a6f352c931d06b9817458273408470e8ce312bef, | ||
| 4622 | }, .{ | ||
| 4623 | -0x1e9beca133a9c8cde4b5dae26e198968806ca966c6b8c07d, | ||
| 4624 | }); | ||
| 4625 | try testArgs(@Vector(2, i192), .{ | ||
| 4626 | 0x468c1d585cd2e9549f9ead72889e80fedd3eb95a2ee8d869, | ||
| 4627 | -0x1c0276cb4b61b673492f493520098742edfa913d455c4f5b, | ||
| 4628 | }, .{ | ||
| 4629 | 0x4a503063a094c7e29c2ca37b6c686e16da8d921aa89c05be, | ||
| 4630 | 0x4c2141b98f3736551e6e08f1d24eb864842753a8c7112ef2, | ||
| 4631 | }); | ||
| 4632 | try testArgs(@Vector(4, i192), .{ | ||
| 4633 | -0x62a9e282152d85abe46e802c276f18b0542871984cd7bacf, | ||
| 4634 | -0x3f01fc751a8bdef2e7a884d7984d6189b36c46048de3035f, | ||
| 4635 | 0x2eb5379125d8169909e66f4b6bc903c5f6c92952872bf2fc, | ||
| 4636 | 0x308053e7f5da3a2906cf5b48ab3752a5820cb90ab56d58ce, | ||
| 4637 | }, .{ | ||
| 4638 | 0x6bcb4f6375a8ee60b73240550c89edbe0976acd548588d06, | ||
| 4639 | 0x1b63863c7a8871c34b2eed238ac4747508150578f60fd993, | ||
| 4640 | -0x2bc4a2065ebda452635e3c9cd420f9c01f869bf7abe75255, | ||
| 4641 | 0x6093a6f058b4da28e5f64ebe7684a5d34e2ed48c98bef114, | ||
| 4642 | }); | ||
| 4643 | try testArgs(@Vector(8, i192), .{ | ||
| 4644 | -0x41d1d3675490a69b9455f1dd57f0c6a7c5e88e734adee8d9, | ||
| 4645 | 0x03c5f5e58058b7a4a9038ac6717a1b70caf3851d017ed2e7, | ||
| 4646 | 0x1829fef2dd242cca51c638d69b51e00a6e7847e79df6117c, | ||
| 4647 | -0x4622b84d4b52f94d9c933ef3ac435968b1c0b1b3ac1d07a3, | ||
| 4648 | -0x1bb5b63f2ad4dbc0c0090131116680074a83f51f79d1af32, | ||
| 4649 | -0x6b75cf9bc97f9b012305b718bbc0672f86543a245c363297, | ||
| 4650 | -0x43eb0ec7a8995f1340977273858be8f3d620b503a5931574, | ||
| 4651 | -0x1dcfa8f4475abd395fb4e8f696cb25625de768b2d5cb0464, | ||
| 4652 | }, .{ | ||
| 4653 | -0x685420e7656ef93e813658d4eef9d44cb0acab0560894da6, | ||
| 4654 | -0x191a07e070edaa52554347726d2c0e1d701b52dd462b716a, | ||
| 4655 | -0x6a336f271fb3fa7cc33a441e6a0d9bba741d56bc5f83b113, | ||
| 4656 | -0x6313298dfc0492db682940661b6ae1a2f56159663f4ba525, | ||
| 4657 | 0x35b1588853218d6e00c358bff9d9bf86e399a8b5e3db2b67, | ||
| 4658 | -0x6bb7cfcd5f78cc6437544a271922eba4fc64c25d4a8a0732, | ||
| 4659 | -0x1a40ab85aabcabc56a4e5523c38f5e184aa5c81d9cdc93f5, | ||
| 4660 | 0x74438ae4acd2fa943409ad7b87feb48a467a845041aa8d21, | ||
| 4661 | }); | ||
| 4662 | |||
| 4663 | try testArgs(@Vector(1, u192), .{ | ||
| 4664 | 0x2058bb0137e3c0cf5c4afb9a17d6ca0646594ceadb5a041d, | ||
| 4665 | }, .{ | ||
| 4666 | 0xc1a1bff0426a68458ea170fba78d09a9fe172a5a3609e8eb, | ||
| 4667 | }); | ||
| 4668 | try testArgs(@Vector(2, u192), .{ | ||
| 4669 | 0x693ffb174c224e1139c22e38405ad42e96d229c3fd7a8af2, | ||
| 4670 | 0xce93932e25a8f26d8f3314dd0a56868ee899eeddb321da8d, | ||
| 4671 | }, .{ | ||
| 4672 | 0x69b7060f45d65d5d71ffd171aeebb3aaab8a3b313426f9b0, | ||
| 4673 | 0xd2953b80f910619b3e0af7d65fe8f840b055f8690b3b7a5e, | ||
| 4674 | }); | ||
| 4675 | try testArgs(@Vector(4, u192), .{ | ||
| 4676 | 0x4770c1f64c87afde65aec11764deed53f9a2d533875eb2be, | ||
| 4677 | 0x40b75e355dc0b2962e5ce23a5b990642371d9f6a80b133bd, | ||
| 4678 | 0x99c6d4c37fe86bd4d207fc56822f7ff6e8dfbda5f9d71256, | ||
| 4679 | 0x43d7f6d2a18f88224c447e88848ae335cb58f3122d36de74, | ||
| 4680 | }, .{ | ||
| 4681 | 0xaa5d91b484e03b2dc31fc09b69192c265155f978e1ec2294, | ||
| 4682 | 0xe474f9f62162317d3115396d50a33753b6b709cd3a06f5e5, | ||
| 4683 | 0xeab9e1fc9c5da4e6e676ebf7cb0d871e9633d738928b8134, | ||
| 4684 | 0xe493f9557f2e1eda644ee3a5055c912db265c302d588e2ec, | ||
| 4685 | }); | ||
| 4686 | try testArgs(@Vector(8, u192), .{ | ||
| 4687 | 0x3a38fe23afa76c5ac5f8e0c0b27c70d0ca17c8e184033066, | ||
| 4688 | 0x28104df9a858c83c6301788c0058fd6c58f7e62f0b735099, | ||
| 4689 | 0x040f1bad46838cfd6bd5d269415512f7fd129b8322e944c4, | ||
| 4690 | 0x5cc3d6202e8efb4d769535a20db0876c5142ce975cc175e3, | ||
| 4691 | 0x24211e6d3db188ef22afa6ab4a382bfebb0520b76562bcf7, | ||
| 4692 | 0x41c2ba9d1d085d99ffd58fd992c9508ed6cd975441710d0a, | ||
| 4693 | 0x09e6ae22e1869faba24973fc0f686f4310b06c8da2b8b9cb, | ||
| 4694 | 0x8ae0677c9dcdbe674d252a0c985a81bf9bf32001e2e8cc7e, | ||
| 4695 | }, .{ | ||
| 4696 | 0xe10819f5757f84ae79f934711e8cdcd6aac2848c9af0744d, | ||
| 4697 | 0xf0264ebb8882377dff3f82dcdb9dadfa2350d058be09933e, | ||
| 4698 | 0xa47708aedbc8100ef25a6de5eb01d7cd5f98074f69e1227b, | ||
| 4699 | 0xd0145ba1e2d64d053034e2beed2f47179bbafb8b90b5e5f9, | ||
| 4700 | 0xde348762a0ce1397ad611e84921a7f6f7e0683fd733b9a09, | ||
| 4701 | 0x4de07b2982883977940773c44ea2a2e2cbf1e1db94fc832d, | ||
| 4702 | 0x5af700739769e9ce05217e76638edf92a169bc4c3ee7542c, | ||
| 4703 | 0xa58a80368b056aa1987f504ff1261cff3f5ffc4474ab48a1, | ||
| 4704 | }); | ||
| 4705 | |||
| 4706 | try testArgs(@Vector(1, i193), .{ | ||
| 4707 | -0x0ccbf216d85fdae8d3a7ee2e7746bc6cc3aca87f3f8067f66, | ||
| 4708 | }, .{ | ||
| 4709 | 0x0906ac1fd6d47d6c762db9fcc02fa2987ee0c4d66312b79d5, | ||
| 4710 | }); | ||
| 4711 | try testArgs(@Vector(2, i193), .{ | ||
| 4712 | 0x0f3a3fe06faf1140bbe4eb5e0d0268edb529918745ef3ec9f, | ||
| 4713 | -0x0609f53b7f095f629a4b358fb0b77332a89dc203ac0cf28b6, | ||
| 4714 | }, .{ | ||
| 4715 | -0x0188251925a3542ea0d568901a19d67796b17339e9b73f88a, | ||
| 4716 | 0x00f9037c3dab02483b14195ab2ef737090f187b90ebee13e9, | ||
| 4717 | }); | ||
| 4718 | try testArgs(@Vector(4, i193), .{ | ||
| 4719 | -0x072798ac04a8ca26a36f587412c9bad03e855fd2049ba72ac, | ||
| 4720 | -0x01a8dd5d7cc5ae4f3342ea2af61c4349bb777e9d14108eeda, | ||
| 4721 | 0x0516fc9ec2e14cd7a5e27c0ea83826082c1097fe35f9f006a, | ||
| 4722 | -0x06bd00e1b3a8aff93618d16bcec743ad577e379a15eee0a72, | ||
| 4723 | }, .{ | ||
| 4724 | 0x0bdf3724329572c17cf6b82f7011daf08bf56bc28acfe650d, | ||
| 4725 | 0x08049ade287c9661565a18c5bf57d487cdfb5c111033ba199, | ||
| 4726 | -0x0917208e354d2765f0944bc9f50836d4bfcdafabfe8e2442a, | ||
| 4727 | -0x0a354ea6608f71254d97e615dc45495e0bcccf05466a2db2f, | ||
| 4728 | }); | ||
| 4729 | try testArgs(@Vector(8, i193), .{ | ||
| 4730 | -0x027bd975ae44664a34f52fd844ada5c23e4b0fa5586a274ec, | ||
| 4731 | -0x077e3522a9cb0c6aa10beeb1430e0ac356a48e90f6466c233, | ||
| 4732 | -0x0d0d02b7ab7876460c3d4d3118bef476e2c5ddae50af453d5, | ||
| 4733 | -0x065c502be097b15379af566a20c4ee93893718330c9a258ce, | ||
| 4734 | 0x08b5e11e5ff7422f25c99ab70c216eb77e35f269b5fb739a9, | ||
| 4735 | 0x0d827f83698f1365a5140e1d38072571dac4169c2124ee1d6, | ||
| 4736 | 0x062e1435b91faafeecadee5551c61dd01f0f132f56e849973, | ||
| 4737 | -0x0dbcd14bffb526c9f3286428e5eb273785128417f05336ce0, | ||
| 4738 | }, .{ | ||
| 4739 | 0x0a99c2d8d15184fcdaa5b68180f4e10b0c9fcde51d213c257, | ||
| 4740 | 0x02065bf7e8d093371795f7f376e2fb3ac857a05a3e1f6befb, | ||
| 4741 | -0x060f3874a6f65b46738d0117db38b749aff45725000c06213, | ||
| 4742 | 0x06019cbc9b1466b7669690ae9c6f095257d1c8874e5e27353, | ||
| 4743 | 0x0bde8419e795cbad708c76ca90de50c00b585c44d78b2ad68, | ||
| 4744 | -0x02e271e95d11dbe0cb77c8b829c739bc00e6c9b2f7b532a29, | ||
| 4745 | 0x0318a691ab34dabf1804facf1b773a9fb6f9e9fd9e63d985e, | ||
| 4746 | -0x04d151cd85a0bc49683bbdba28e2410292dc5648335819fae, | ||
| 4747 | }); | ||
| 4748 | |||
| 4749 | try testArgs(@Vector(1, u193), .{ | ||
| 4750 | 0x16d3f2329dafe80b17fdff6bfa688636ae9b5ba311b276f3a, | ||
| 4751 | }, .{ | ||
| 4752 | 0x15f95cc088cd4d4cabf9de25cad565d1880515c869da2866e, | ||
| 4753 | }); | ||
| 4754 | try testArgs(@Vector(2, u193), .{ | ||
| 4755 | 0x1a40ffb1b6f0762c975581a45d9b6811b96eda8cdd6eb497c, | ||
| 4756 | 0x1b010ecf0ba30ca695c39cce25d82142f4c67aa1f8ae39947, | ||
| 4757 | }, .{ | ||
| 4758 | 0x0851339a84dee70faac763dbd9cbf884c09f011f093846f20, | ||
| 4759 | 0x16be7f51577c5cfcd423ecdac1bd0edd1fbce6755d7b20cac, | ||
| 4760 | }); | ||
| 4761 | try testArgs(@Vector(4, u193), .{ | ||
| 4762 | 0x10e099200fef4497ed4be9e11269a254ee4f7fea53ae1e360, | ||
| 4763 | 0x16cef44c285c1d6364cefe22db70934fba8d31dcbcefe2699, | ||
| 4764 | 0x074c07744bd683a1a5ec77bcb1ac4cda8b840d5b6e5da9852, | ||
| 4765 | 0x063c5565fbb29b63de719fb574657d50af454f33fb79f59fa, | ||
| 4766 | }, .{ | ||
| 4767 | 0x09cd6adfaaf1b9ed0fd6370049a2227088d9b834b74412a3c, | ||
| 4768 | 0x0162bc69f5c0da662e3862ea235ea46819b737de31d258a45, | ||
| 4769 | 0x111191f24663c0a425bd31ead4496b4693a089d6bd6082a11, | ||
| 4770 | 0x127c9d184e79d0b80a87d9acd7fb79d93fd9b08ff480acef9, | ||
| 4771 | }); | ||
| 4772 | try testArgs(@Vector(8, u193), .{ | ||
| 4773 | 0x171ea804993233dcf14ec91b9185a1520416bebdbb2f0f4b3, | ||
| 4774 | 0x0f74e7e8f4b4759d22de5120dfb4db57205990a899ab3698b, | ||
| 4775 | 0x094e8a7bf8cf2a802d3a79f77d3932e8a65d11378fb6f8ece, | ||
| 4776 | 0x06d07aea60256fcb65c306b32ace35809b45baf5fca21efd1, | ||
| 4777 | 0x17df00d2223a949f6119a3c8cf0cd87165ed48f93ad0eb921, | ||
| 4778 | 0x173b7201aa391de8d236ff30ed8ae82b7be2ff5de51285361, | ||
| 4779 | 0x02a95d9fae7d18739a93e174d9ea1b2f108bd2f5997dfa42f, | ||
| 4780 | 0x0bffa67d4ac0f4bb56cd4fec9ea53d47896f05fd4efc0f6e0, | ||
| 4781 | }, .{ | ||
| 4782 | 0x08485a8df517ac7bf9d02ec8d0c34c246dad221f1ea51596b, | ||
| 4783 | 0x0986d1fda1bca4b83da2cace25768e4d91d89028889443cfa, | ||
| 4784 | 0x1faa463b7389740db0cf14b3274f1f955536c6a929c89df82, | ||
| 4785 | 0x072b004463fc7c58f3ae51d7d5d44ca208205ad3396fa6c8b, | ||
| 4786 | 0x1ee3603ef444b40e5ef74b6d79f3433648fdbfb918d50e4b7, | ||
| 4787 | 0x1612fe2493d3e02b2fd38ef7664aa9fb079db6843bb201100, | ||
| 4788 | 0x0d1a4e0c9596afd18e6f06c04ec3fb1bfb660133fc0c7f7aa, | ||
| 4789 | 0x0de0220f630f0ac5a699cb36d7ced9da11b272dd2eb66e96e, | ||
| 4790 | }); | ||
| 4791 | |||
| 4792 | try testArgs(@Vector(1, i255), .{ | ||
| 4793 | -0x228071e5036248a576fc6f30bda6553bc4f08505cd4fd272e681ddd1a551db11, | ||
| 4794 | }, .{ | ||
| 4795 | -0x14c82347566b6d8eb19064009a7ef16e2d08cd6e40b4bf34f1e6723ad9b0d625, | ||
| 4796 | }); | ||
| 4797 | try testArgs(@Vector(2, i255), .{ | ||
| 4798 | -0x39313c0014d4850a7957418b2fdfc83a0c29c5f04d90ccd634d7b4e52ee6aef2, | ||
| 4799 | -0x096abeb3fdc6451052a96557657d917e9128765c256f83403f788992dd0cd486, | ||
| 4800 | }, .{ | ||
| 4801 | 0x2765779b4ffc6c405173fe64f621af1c7d63a91ab3fe5809d066fc428f630c47, | ||
| 4802 | 0x206df1159f268d4fd99dc8d2228718189161d7095f0af64c7dee86a34a7b875f, | ||
| 4803 | }); | ||
| 4804 | try testArgs(@Vector(4, i255), .{ | ||
| 4805 | -0x2c31b98911222faeed03f6625c8a75e0ce5fa53be49e79a26695dde5610e28e4, | ||
| 4806 | 0x38506947b5f5e5ed4cf3f0738140bb988af9e7cf514862861ec7259a8426b4c1, | ||
| 4807 | 0x01ba20e69c07a1e8845b1cc837d8d588480a2a52b15f0a5532c763f91f3dad9a, | ||
| 4808 | 0x1877f8233a0a96c33ea2aed47e3388f8961d4a81dd6c8c1a48c77aefe1b7ed6d, | ||
| 4809 | }, .{ | ||
| 4810 | 0x021a3c326f7841068338bbc9ee73fba9b36050156f2a6d3b44ecfdf2273496dd, | ||
| 4811 | 0x0865f2eb5a35c85c480880b26a9a03f51e0f4cd9bbc2b8ab2755f2aadf1cf0e6, | ||
| 4812 | 0x0d41a6c3956465b187286d95a42d42033f593be4bd681e757f1154a0735b894a, | ||
| 4813 | -0x0b87a6b415579cd9889321b01ad8d2b722dc6c932cf7aa97a0c8c807be5f6d68, | ||
| 4814 | }); | ||
| 4815 | |||
| 4816 | try testArgs(@Vector(1, u255), .{ | ||
| 4817 | 0x49ee4da820d884bb3693fb576d5b2f16c9f064ba1da5a81838911813a6445dc9, | ||
| 4818 | }, .{ | ||
| 4819 | 0x0afbdec22d512f0d88a95d179e6fc901c7f682be0746ce9acfca17b748543381, | ||
| 4820 | }); | ||
| 4821 | try testArgs(@Vector(2, u255), .{ | ||
| 4822 | 0x293f83519c238a446748193388e0ab75567a03a458b4873f4c2b16b9250f15ff, | ||
| 4823 | 0x1f0f33f7c2d6fc271ae497b6e3b7a7c6fdff096a321843aebd6d07d7f3050bef, | ||
| 4824 | }, .{ | ||
| 4825 | 0x788c4bf8d34d23eb8147a7f36ab2d09a96be0f4bcaa6be6816447e9e6e39d0f8, | ||
| 4826 | 0x2fec35d0092202f654993429949fd5c121554c3cf6072239fcf35aa44d45dd1b, | ||
| 4827 | }); | ||
| 4828 | try testArgs(@Vector(4, u255), .{ | ||
| 4829 | 0x5477956be73c0d9af22c5214b47a39761bf0e88c92dc08ad1955b12f60575982, | ||
| 4830 | 0x4fd80abb62788804ff3edac72d91096e3747a8fe5a53e5f63b0cb4c1ec85a626, | ||
| 4831 | 0x411f513c4e4dffd0a699f99b3d9aa50c315fccee34d183086b8209f42d965cd4, | ||
| 4832 | 0x2561cd45d8e7fb3ddd810396823997354e7c2c4c5529d66b30f5a6ef095d92ce, | ||
| 4833 | }, .{ | ||
| 4834 | 0x4bb37f557ba14ab84ebc762ec943d39f5250ecb6005935f3269ba60d8df20d61, | ||
| 4835 | 0x38358daa8c05bc317383942e3a9189d2f205ba705a76f9285acf9f223d954b36, | ||
| 4836 | 0x3616b6288a23c31fb4412739d002df3d50b19d23995585a43dfcacc547f1eb49, | ||
| 4837 | 0x00b4ecb3ddfce395458e448c299f74d8f5c37e36a14d9ba5b6bf8dd3917522d7, | ||
| 4838 | }); | ||
| 4839 | |||
| 4840 | try testArgs(@Vector(1, i256), .{ | ||
| 4841 | 0x1fe30aed39db1accf4d1b43845aec28c1094b500492555fdf59b4f2f85c6a1ce, | ||
| 4842 | }, .{ | ||
| 4843 | 0x6932f4faf261c45ecd701a4fe3015d4255e486b04c4ab448fe162980cead63fb, | ||
| 4844 | }); | ||
| 4845 | try testArgs(@Vector(2, i256), .{ | ||
| 4846 | -0x23daa9bab59dc1e685f4220c189930c3420a55784f0dec1028c2778d907ccfe2, | ||
| 4847 | 0x521c992e4f46d61709d39e076ed94d5d884585f85ccbf71ca4d593da34f61bf5, | ||
| 4848 | }, .{ | ||
| 4849 | 0x2d880cb5aa793218a32411389db31e935932029645573a9625dd174099c9e5b2, | ||
| 4850 | 0x2394a6cde7e8b2dc2995f07f22f815baa6c223d99c0b1ec4b2d8abd0094db853, | ||
| 4851 | }); | ||
| 4852 | try testArgs(@Vector(4, i256), .{ | ||
| 4853 | 0x244e66ed932a4d970fd8735c10bfbd5f59bd4452c20fa0fcf873823b8c9e6321, | ||
| 4854 | -0x31577b747614b1ab83fd0178293cd80b3cb92e739459b2d038688a2471f6d659, | ||
| 4855 | -0x0dbdfc3d8bbd7cab6a33598cef29125aab7571fb0db9a528e42966963d6ce0e7, | ||
| 4856 | -0x72c58cce172d8a34019a44407a4baf1f8f8a4a611711bd5bb4daa2a2739dd67b, | ||
| 4857 | }, .{ | ||
| 4858 | -0x2e88bc68893fc2d61af0e5ccb541f31fa6169504e8cfcbeab0b74a03b9e86c33, | ||
| 4859 | -0x7eba0783f3382b59a17ffbea57ba1dd8fa30e2d4f7eba7ed68d336d3c37b4561, | ||
| 4860 | -0x66d1463efd38e9e994e126d09b5c65c8efc932ffea9ec6cdf6042561ba05f801, | ||
| 4861 | 0x2024bbacefbabbfd5b32a09be631451764a1f889a77918f9094382dc6d02aef2, | ||
| 4862 | }); | ||
| 4863 | |||
| 4864 | try testArgs(@Vector(1, u256), .{ | ||
| 4865 | 0x28df37e1f57a56133ba3f5b5b2164ce24eb6c29a8973a597fd91fbee8ab4bafb, | ||
| 4866 | }, .{ | ||
| 4867 | 0x63f725028cab082b5b1e6cb474428c8c3655cf438f3bb05c7a87f8270198f357, | ||
| 4868 | }); | ||
| 4869 | try testArgs(@Vector(2, u256), .{ | ||
| 4870 | 0xcc79740b85597ef411e6d7e92049dfaa2328781ea4911540a3dcb512b71c7f3c, | ||
| 4871 | 0x51ae46d2f93cbecff1578481f6ddc633dacee94ecaf81597c752c5c5db0ae766, | ||
| 4872 | }, .{ | ||
| 4873 | 0x257f0107305cb71cef582a9a58612a019f335e390d7998f51f5898f245874a6e, | ||
| 4874 | 0x0a95a17323a4d16a715720f122b752785e9877e3dd3d3f9b72cdac3d1139a81f, | ||
| 4875 | }); | ||
| 4876 | try testArgs(@Vector(4, u256), .{ | ||
| 4877 | 0x19667a6e269342cba437a8904c7ba42a762358d32723723ae2637b01124e63c5, | ||
| 4878 | 0x14f7d3599a7edc7bcc46874f68d4291793e6ef72bd1f3763bc5e923f54f2f781, | ||
| 4879 | 0x1c939de0ae980b80de773a04088ba45813441336cdfdc281ee356c98d71f653b, | ||
| 4880 | 0x39f5d755965382fe13d1b1d6690b8e3827f153f8166768c4ad8a28a963b781f2, | ||
| 4881 | }, .{ | ||
| 4882 | 0xbe03de37cdcb8126083b4e86cd8a9803121d31b186fd5ce555ad77ce624dd6c7, | ||
| 4883 | 0xa0c0730f0d7f141cc959849d09730b049f00693361539f1bc4758270554a60c1, | ||
| 4884 | 0x2664bdba8de4eaa36ecee72f6bfec5b4daa6b4e00272d8116f2cc532c29490cc, | ||
| 4885 | 0xe47a122bd45d5e7d69722d864a6b795ddee965a0993094f8791dd309d692de8b, | ||
| 4886 | }); | ||
| 4887 | |||
| 4888 | try testArgs(@Vector(1, i257), .{ | ||
| 4889 | -0x037f102b7ce87d2f4c704b7dd9c77c79d5ef99cbaa890cdf5be7f1c991b377f12, | ||
| 4890 | }, .{ | ||
| 4891 | 0x0e6613140253b86eb76f9cf0da699c734f1073559d4d59b876727531aa1566a3a, | ||
| 4892 | }); | ||
| 4893 | try testArgs(@Vector(2, i257), .{ | ||
| 4894 | -0x0516f834d832f5b33a8b766b5830ae9b6ed2a8be3347d7cce6a0d536c0ccdcda3, | ||
| 4895 | -0x04148b4556c411a3db079163f1aba615971677b03abf31a34abe73cf054957e01, | ||
| 4896 | }, .{ | ||
| 4897 | 0x01de4743d129cde4400547974ca9e9cfe234fe8fa67ec3c00f70b52f16a683ac9, | ||
| 4898 | -0x010dfb09c7a42112f07962065751b8bcabe282143d79aaad484080f2c15ac41a1, | ||
| 4899 | }); | ||
| 4900 | try testArgs(@Vector(4, i257), .{ | ||
| 4901 | -0x097f0ce2c2a4de17cd779503e3e86de1fa9153ca69674546367166703b79658aa, | ||
| 4902 | 0x0d6414d92755101344039202da1d6ea15e7054817dbcf4f30c16f85eaf48f3a85, | ||
| 4903 | 0x01e73273f475e7fb3111f8a4212eba3f736c536006f1f1a0fa0656fd3fc34fc66, | ||
| 4904 | -0x0277808e445419c1f814213ef86dec08f7a0192ac985dd22043a8161e0f291c42, | ||
| 4905 | }, .{ | ||
| 4906 | 0x0a3a6678ee5f9458ea259d8434c1604cbfab67b294525a7b2e6ee5dee752db0d8, | ||
| 4907 | 0x009f39291d0f97269ce694958d6252a666b928737e645865e38fc70995307290a, | ||
| 4908 | -0x0beed4ee766fb1a04a66a0cbad3da0f471b5c0e32c252279b23feddad2877d35c, | ||
| 4909 | -0x02ad0e2fa1940ad0d2ba67f8f27b486ec781bf5da1f580a9bba0ba8bb0d11aff5, | ||
| 4910 | }); | ||
| 4911 | |||
| 4912 | try testArgs(@Vector(1, u257), .{ | ||
| 4913 | 0x1bb62cd7dbcbbbf2e708871d12f647840997f16f6d322eae96393b3b46ad0ae11, | ||
| 4914 | }, .{ | ||
| 4915 | 0x1d4361c83425068c40a7a142019b4004a496cf16649773aa04431225b189fbd68, | ||
| 4916 | }); | ||
| 4917 | try testArgs(@Vector(2, u257), .{ | ||
| 4918 | 0x08459d63d1124e6bf747a2dba45df79ba9813451189f4e9bd8fcae37d92646ef9, | ||
| 4919 | 0x1336f89e29d7da4d741e10a8a8016e007ad3f475c7b302a03271f0edcb2dbaa98, | ||
| 4920 | }, .{ | ||
| 4921 | 0x0fd91b46af0a41227ae191250a1d49b7e44e4435f371eac7e8355b8f3ccff1ccb, | ||
| 4922 | 0x03914f3814478e96cf3efb4169aa36747aa4bc33daa56ca41134dd71a3af85de6, | ||
| 4923 | }); | ||
| 4924 | try testArgs(@Vector(4, u257), .{ | ||
| 4925 | 0x0aa2d811711d70ec5dd639ecb979dda726c157bdc18dc34447c3026fac49d3909, | ||
| 4926 | 0x00652c96fa6a34772a424e4b9c7c3613558c79f4144349e0d700c15ff9ec2f974, | ||
| 4927 | 0x11b10abfe69b4f75c11e0a0ee128526ec9f3fb7b32502d1005984b0c0652ff7c4, | ||
| 4928 | 0x053ea83a9caded41dd751a742b49b062fe1fd62af3d3025486bc1af7921225ab0, | ||
| 4929 | }, .{ | ||
| 4930 | 0x018c2110a0432d0acd462886f559f826bdfb05e91e61e2928a3a43b98d1e6bfab, | ||
| 4931 | 0x1b212dde794f97203018963e51b025b21a5dd47f04a007fee80aaaadb87e30140, | ||
| 4932 | 0x1394a84c2431e46862d33dbf0dd0cf23f7ff7f85c0107c04cdeca1c168df5c556, | ||
| 4933 | 0x060c9e2ba327cde7650bbe329345b4184223d77adda253c5f425531676e863c8b, | ||
| 4934 | }); | ||
| 4935 | |||
| 4936 | try testArgs(@Vector(1, i511), .{ | ||
| 4937 | 0x25c69b25440d3059c5c38ba2771252430152afcbcb988d8c5de0832f49f1d8649a17a4e0dd508d8cd7349adc4ba228902099092726af175a8f04f29a19ded5ed, | ||
| 4938 | }, .{ | ||
| 4939 | 0x0c28729ed05abb52e888bb7fefe58f783ed5c7ef3c8a4cdd7349fe47edca26db746de0308e642b64b659a52e17405dac9932ec43499e6f17b6cbebcab597e577, | ||
| 4940 | }); | ||
| 4941 | try testArgs(@Vector(2, i511), .{ | ||
| 4942 | 0x2b6235f2d231f63ebc67ac71893fa5ad6f2125b6d50a5f9eedaf8bb4de3e116939ab5b2c0e9b7cbc0a2308c3a5dd4a99049f4538cffd4155b24721e3c77bc268, | ||
| 4943 | 0x10cac70f8d1dbb88f1dfd913823e8fa53ad58f54929222c1c7bedb591dd3c90ecc5c1239fccc80515b5bbf4c4d47669f267b3880dd8f465f6c7e9fc6e63faac4, | ||
| 4944 | }, .{ | ||
| 4945 | -0x3dc3af786e95767befb16c51f5602029a5fdbc76dafafeab2c409168332f8c5c038a0e7f3d0021acaf6eb6f6ff9a232a9dd19e5b33c7c4158f8f1798150448f1, | ||
| 4946 | -0x0eeaa2dc65820153224f26847a99a3626d6ee9991ecba613e721bbd169e69371dd5bcadc8983ae9b82d77376b0e8179997e400fce64c74c9efd2b4a5f174b854, | ||
| 4947 | }); | ||
| 4948 | |||
| 4949 | try testArgs(@Vector(1, u511), .{ | ||
| 4950 | 0x207381c6b742f50bf76d0d220943d9354d96f4cf27e979bac6c8f47d70d64d44153dd6c2ed62cc7b5a4fce98600382fbece15ee4e4b3d1c0d4277a553ac01c10, | ||
| 4951 | }, .{ | ||
| 4952 | 0x35ad1698d693b3b7618d1243163f1ce2beb5f6c3c7b6e33a24ce9639e5a3a30f78350f4c3c818512377bf89851388e1d444a50b20a10a2ce66c60d0af1bebc84, | ||
| 4953 | }); | ||
| 4954 | try testArgs(@Vector(2, u511), .{ | ||
| 4955 | 0x039131b98944347f35fe54337902bba6b975a1b6bd9e36a20e236f3149b53156b5bfa0b468a56dfb1c09684a8f24b5d548c6e216c20dde01813c044cf031a3eb, | ||
| 4956 | 0x43ac7c9afa88f5169405ff4963557bb7e78ed15eda5bfa91335f7d9117ee13d969d6cdd2f0910f8865cb57687fd2e0f4e6cb188bb34759609724a7ce128c0db1, | ||
| 4957 | }, .{ | ||
| 4958 | 0x43dc8c03e26c12e96d69076a68afd3e0515ffd67fd2b2aeb8457c92e7e2ec6c503a362866ddd99d4a4f21e7bece901e3df76a9496e978d11f4c4cc50d1e52601, | ||
| 4959 | 0x4f97c33b53b3c4b5a59c257b575149524e7e4ec4fcfe1574a9a3111b066959d39affe87e6e99656a80d64ae95d60ef4f90c2544559d22abbf26d6ab34e5b3074, | ||
| 4960 | }); | ||
| 4961 | |||
| 4962 | try testArgs(@Vector(1, i512), .{ | ||
| 4963 | -0x439ba81b44584e0c4d7abc80d18ab9d679a4e921884e877b28d04eb15b2d3e7be8d670b0aba2c4cc25c12655e1899ab514d0a6e50a221bcf076d506e6411d5c2, | ||
| 4964 | }, .{ | ||
| 4965 | 0x18b1d3be5a03310d82859a4ab72f056a33d1a4b554522bcc062fb33eda3b8111045ee79e045dd1a665d250b897f6f2e12003a03313c2547698f8c1eab452eae1, | ||
| 4966 | }); | ||
| 4967 | try testArgs(@Vector(2, i512), .{ | ||
| 4968 | 0x28e2ab84d87d5fb12be65d8650de67b992dd162fe563ca74b62f51f2f32e1084e03e32c8370930816445ac5052b4d345059c8ace582e3ef44377b160e265ec9b, | ||
| 4969 | -0x3a96548c707219326c42063997e71bc7a17b3067d402063843f84c86e747b71e09338079c28943d20601c0cde018bad57f5615fc89784bcb6232e45c54dff1db, | ||
| 4970 | }, .{ | ||
| 4971 | 0x64beecc90609b7156653b75a861e174c58fb42d5c7bf8d793efbb1cbe785c6b8cd52ce5f9aa859f174123c387820d40a2f93122b81396d739eb85c3ea33fcd37, | ||
| 4972 | -0x3632e347bc6d794940424ca0945dafa04328a924ec6b0ccdedcda6d296e09aa2dd5dca83b934cac752993238aa4fe826be8d62991c9347bae6f01bc0b1b4223d, | ||
| 4973 | }); | ||
| 4974 | |||
| 4975 | try testArgs(@Vector(1, u512), .{ | ||
| 4976 | 0x651058c1d89a8f34cfc5e66b6d25294eecfcc4a7e1e4a356eb51ee7d7b2db25378e4afee51b7d18d16e520772a60c50a02d7966f40ced1870b32c658e5821397, | ||
| 4977 | }, .{ | ||
| 4978 | 0xd726e265ec80cb99510ba4f480ca64e959de5c528a7f54c386ecad22eeeefa845f0fd44b1bd64258a5f868197ee2d8fed59df9c9f0b72e74051a7ff20230880e, | ||
| 4979 | }); | ||
| 4980 | try testArgs(@Vector(2, u512), .{ | ||
| 4981 | 0x22c8183c95cca8b09fdf541e431b73e9e4a1a5a00dff12381937fab52681d09d38ea25727d7025a2be08942cfa01535759e1644792e347c7901ec94b343c6337, | ||
| 4982 | 0x292fdf644e75927e1aea9465ae2f60fb27550cd095f1afdea2cf7855286d26fbeed1c0b9c0474b73cb6b75621f7eadaa2f94ec358179ce2aaa0766df20da1ef3, | ||
| 4983 | }, .{ | ||
| 4984 | 0xe1cd8c0ca244c6626d4415e10b4ac43fa69e454c529c24fec4b13e6b945684d4ea833709c16c636ca78cffa5c5bf0fe945cd714a9ad695184a6bdad31dec9e31, | ||
| 4985 | 0x8fa3d86099e9e2789d72f8e792290356d659ab20ac0414ff94745984c6ae7d986082197bb849889f912e896670aa2c1a11bd7e66e3f650710b0f0a18a1533f90, | ||
| 4986 | }); | ||
| 4987 | |||
| 4988 | try testArgs(@Vector(1, i513), .{ | ||
| 4989 | 0x0dd56664962c44dbd9941a8e45102e1e050ef164752b954c4029ce6a28752c97b76ce3b0ae50dd09076fc16c89c628bf82ea7d3250101c3ee1316e8c51a746a4b, | ||
| 4990 | }, .{ | ||
| 4991 | -0x0c4f50a700f8d91c3944c66e6932ea9cf0433a309dd41fd8ec1ab6e7c7f031de17c7fa7bde7a162fd653c1911aeddd176271f5bd76cca68eeab79ffde88835808, | ||
| 4992 | }); | ||
| 4993 | try testArgs(@Vector(2, i513), .{ | ||
| 4994 | 0x0099b42682a76cfc1d6a0b680cd44c907387e78ca92d4c30c555dd6b05f136ad7e136f892641f1b256ef2aa10b1497d1e5a25c9e29260bd861b4fdc1ccc821a4c, | ||
| 4995 | -0x03aafdfa35c0b27515ee422ee71afcb157c6b578a77b514a6134e759bd80100f41344d6016a4dc252034667cb7a9b5165c058c5af0a632ed4b9a49d345b54d711, | ||
| 4996 | }, .{ | ||
| 4997 | -0x07c699f50cc1592587bae58fa52742130df1dcd12da8ab1a15d48cbb3c8adeccacd16da37b91ba8a4ffe02669a089e3a1aadf325f161b99a010e76275a11f8dd0, | ||
| 4998 | 0x0cec94f5064e3d4736016908cee5bd5469c2c60ed22c560a68b5bbc3a912b984195d7a2aa499db9b67779eadf0158ac9e9c166d58d42720834c5cde96d9a22c33, | ||
| 4999 | }); | ||
| 5000 | |||
| 5001 | try testArgs(@Vector(1, u513), .{ | ||
| 5002 | 0x167f9eb1095f756f462ceb2a48b7a5230a92f9ca6c572f394d741475cfa791e9666852b7696944f624f938f9474fe64e2189c1a584bdadc70d0f6db5c94355c78, | ||
| 5003 | }, .{ | ||
| 5004 | 0x06566ddffb298aee609074e06fbd881774623431f401410416645844a6c95f65cb08e1765f9c80bdf8f6d0d4c8ec9113d96b6e94cf97909d7da8c6165773162d8, | ||
| 5005 | }); | ||
| 5006 | try testArgs(@Vector(2, u513), .{ | ||
| 5007 | 0x0e58f2fad85c025548e8c011faf78307d5237f25c41a319b0ea826704fba3db56f5e1074e6c76c8ecb83004058ff7dc5157d397d93d6725ac604efe0a48e27b8e, | ||
| 5008 | 0x1635d3b34a3186f0e3c8d6ecdea25c84be4ef1f1bbc503dba90e9a260ffd8ec781b857c28e30fcc108ea93c3afa6acb91de3ad3fdb8e68cacdf412bcd31121c5e, | ||
| 5009 | }, .{ | ||
| 5010 | 0x043c3969668c05c0bec64d7be9741790a17588b8fd35ab88b8708c32658acc6e92dfc1691ee41da1278f7abbfc3f92aea885cabc17c556688f0971ca40b2acdef, | ||
| 5011 | 0x198d4fc313ec8bafc85712c426223460c465a976aade6ca2b21ccb216257519675dda21f0707134920d23479c983e0d8fc75bb5e113f19fa3b4f63a69329cf723, | ||
| 5012 | }); | ||
| 5013 | |||
| 5014 | try testArgs(@Vector(1, i1023), .{ | ||
| 5015 | -0x18ad357e523014b4b2b02d7802e8d6687e0b37e0e20bc992d9a1d3498cdccc3683c62628505026725ccab8e2d7da378de5e3dd539f168530e83b8add890851977a58c640102ebeb7d15f56b024a54636008af9232f73ac4a83f9e502ed1f6cf0647e4d6c2cc6c6e8fc4a49abcb2e34fa927cc114692905d73ffed1aed664eab4, | ||
| 5016 | }, .{ | ||
| 5017 | 0x29757ede90f3fd7a77d970667941eee2f7f7df5dc1100562c8e3bd45dcf1cbbbffface90f0b4f2aef49642e1cdeaa19045cc6dcf9f81750bee8e9d84d951da233d16878ae1473d42146660bc454a78a4bc22ebf2916b7f535c4b88302ea0108b458bd38660e95b0ae703d268cff78b39be828918cf6bd9ad16a90d407d3ee5b1, | ||
| 5018 | }); | ||
| 5019 | |||
| 5020 | try testArgs(@Vector(1, u1023), .{ | ||
| 5021 | 0x7e22aa4f394329943e1f265df8327c44032b28baea5ce81dfdf9781ed2c9ad337964b57c1ad4cb03cb920035c85e8c6e475ad33742874226beeba62e3e130ff6fbd21e902e49f7f95c7c3b1c6d7ce34a1ed85ba8028b41d19ab9547e05da56e6c8fba7c9c4f949412808ac3fb8709e490a859bebe22a77e704c04ea44a4579a0, | ||
| 5022 | }, .{ | ||
| 5023 | 0x4d2ec73e1a38a7373514259ed749a9895a5c45e53498ad3e75690116ec167321c0bcaa4fe86301b486eba831e7c15c3872676afe677d01ad5d088b51d64248d1bce2e191dcb87d6c9f9b944554b5c5a74bb64c7eea50a0badc2f292251b640c97d5b8e9010eb2f034d77b3a7f14aafb76c104b196a4b76073503acb085055209, | ||
| 5024 | }); | ||
| 5025 | |||
| 5026 | try testArgs(@Vector(1, i1024), .{ | ||
| 5027 | -0x4fe568569c0531c9bfbbda1516e93a6c61a3d035c98e13fdc85225165a3bea84d5dc6b610ced008f9321453af42ea50bbf6881d40d2759b73b9b6186c0d6d243f367e292cbbf6b5c5c30d7f4e8de19701c7b0fc9e67cdf31228daa1675a4887f6c4f1588b48855d6f4730a21f27dec8a756c568727709b65cd531020d53ff394, | ||
| 5028 | }, .{ | ||
| 5029 | -0x7cab2a053dfbf944cd342460350c989fd1b4469a6c7b54ddcacd54e605d29c03651b5c463495610d82269c9ac5b51bfd07816a0f7b1ab50cb598989ed64607b3faff79a190702eb285b0fedc050ec1a71537abc47ec590eb671d4f76b19567049ba4789d1a4348385607a0320fbff9b78260536a9b6030bddb0b09da689d1687, | ||
| 5030 | }); | ||
| 5031 | |||
| 5032 | try testArgs(@Vector(1, u1024), .{ | ||
| 5033 | 0x0ca1a0dfaf8bb1da714b457d23c71aef948e66c7cd45c0aa941498a796fb18502ec32f34e885d0a107d44ae81595f8b52c2f0fb38e584b7139903a0e8a823ae20d01ca0662722dd474e7efc40f32d74cc065d97d8a09d0447f1ab6107fa0a57f3f8c866ae872506627ce82f18add79cee8dc69837f4ead3ca770c4d622d7e544, | ||
| 5034 | }, .{ | ||
| 5035 | 0xf1e3bbe031d59351770a7a501b6e969b2c00d144f17648db3f944b69dfeb7be72e5ff933a061eba4eaa422f8ca09e5a97d0b0dd740fd4076eba8c72d7a278523f399202dc2d043c4e0eb58a2bcd4066e2146e321810b1ee4d3afdddb4f026bcc7905ce17e033a7727b4e08f33b53c63d8c9f763fc6c31d0523eb38c30d5e40bc, | ||
| 5036 | }); | ||
| 5037 | |||
| 5038 | try testArgs(@Vector(1, i1025), .{ | ||
| 5039 | -0x0aac7daecbe81ad0f5b3582238ce842a9e57f580af344429c55785eb8ce32d28658417792d10e5263c6c7d0ab7d8ab6198d78bd024ce9c23de9470b20aa6eaf9dd301034cfee6b22025be5df4e91708d7cc9e980959a449b0cb893355392d1c94c4a4ed67d91108df655383f5f8fcde66f22dbd6453d838c1d160fb80ee07ab18, | ||
| 5040 | }, .{ | ||
| 5041 | -0x0be0a1d4693d8969af6e26aa98ddb82f44124aa292fb336dd90cb5f28d708a33ef2d055db58e32578c5c20bb436a613b8ca214914db5066d458599600ced96129f4894b80293a3975e2bf7fd1a1f396d128ef89fd0609d2e518534e66c5e46c90b0a73e4a807c8a6decba204ac6e11859a492df1c81beec8b04961afa8544e081, | ||
| 5042 | }); | ||
| 5043 | |||
| 5044 | try testArgs(@Vector(1, u1025), .{ | ||
| 5045 | 0x129e165d8601a1ef41658e3ab9a7d0993124c46a37a672395a1314d5f8984de3c73e4569f1bd91f28aa8bf3e940d2121ef8bb557023abd80deb6761a7b0e2597763e5b895a52fc32308cc39b34a31f17fd8fe04bd1817e5b4a1046bbc1ee2bd360274e667be4392874a7dd8de7c8c054e3e6919302cb2ad46743798591ad0accb, | ||
| 5046 | }, .{ | ||
| 5047 | 0x07ff746b3d7ed091996cb20d21d6e85397c7daa127063a9f30cdb91483b145f2af3aa0bcf58188bc171e97a7b07800ee007af0305fb40e086ed2289dc7c303961d325bb799920a47de27bb16f6a868d80e93769982d81aa56cc3d1dbc87f1138179f0af4f6def885ade090d2725a044b500ef56fe39794906d45330fab9a4f81f, | ||
| 5048 | }); | ||
| 5049 | } | ||
| 5050 | fn testFloatVectors() !void { | ||
| 5051 | @setEvalBranchQuota(21_700); | ||
| 5052 | |||
| 5053 | try testArgs(@Vector(1, f16), .{ | ||
| 5054 | -tmin(f16), | ||
| 5055 | }, .{ | ||
| 5056 | fmax(f16), | ||
| 5057 | }); | ||
| 5058 | try testArgs(@Vector(2, f16), .{ | ||
| 5059 | 1e-1, 1e0, | ||
| 5060 | }, .{ | ||
| 5061 | -nan(f16), -fmin(f16), | ||
| 5062 | }); | ||
| 5063 | try testArgs(@Vector(4, f16), .{ | ||
| 5064 | 1e-1, -fmax(f16), 0.0, 1e-1, | ||
| 5065 | }, .{ | ||
| 5066 | -fmin(f16), -1e1, 1e0, -tmin(f16), | ||
| 5067 | }); | ||
| 5068 | try testArgs(@Vector(8, f16), .{ | ||
| 5069 | -fmax(f16), -fmin(f16), -nan(f16), -0.0, tmin(f16), -0.0, 0.0, 1e-1, | ||
| 5070 | }, .{ | ||
| 5071 | -1e0, tmin(f16), nan(f16), nan(f16), -fmax(f16), -1e1, -nan(f16), 1e1, | ||
| 5072 | }); | ||
| 5073 | try testArgs(@Vector(16, f16), .{ | ||
| 5074 | 1e-1, fmax(f16), -1e1, fmax(f16), -1e1, 1e-1, -tmin(f16), -inf(f16), -tmin(f16), -1e0, -fmin(f16), tmin(f16), 1e1, -fmax(f16), 0.0, -fmin(f16), | ||
| 5075 | }, .{ | ||
| 5076 | inf(f16), -1e1, -fmax(f16), fmax(f16), -tmin(f16), 0.0, -1e0, -1e0, 1e-1, -nan(f16), -tmin(f16), 1e0, 1e-1, fmax(f16), -0.0, inf(f16), | ||
| 5077 | }); | ||
| 5078 | try testArgs(@Vector(32, f16), .{ | ||
| 5079 | -inf(f16), tmin(f16), fmin(f16), -nan(f16), nan(f16), 1e-1, 0.0, 1e1, -tmin(f16), inf(f16), 1e0, -1e1, fmin(f16), -0.0, 1e0, -fmax(f16), | ||
| 5080 | 1e1, -0.0, -1e1, -tmin(f16), fmax(f16), nan(f16), -fmin(f16), -1e0, 0.0, -1e1, -nan(f16), 1e0, -tmin(f16), -0.0, nan(f16), 1e1, | ||
| 5081 | }, .{ | ||
| 5082 | 0.0, 1e1, -nan(f16), -0.0, tmin(f16), fmax(f16), nan(f16), tmin(f16), -1e1, 1e-1, 1e1, fmin(f16), -fmax(f16), inf(f16), inf(f16), -tmin(f16), | ||
| 5083 | inf(f16), -0.0, 1e-1, 0.0, -fmin(f16), -0.0, -nan(f16), -inf(f16), -fmin(f16), fmax(f16), 1e0, fmin(f16), -0.0, -tmin(f16), -fmax(f16), -1e1, | ||
| 5084 | }); | ||
| 5085 | try testArgs(@Vector(64, f16), .{ | ||
| 5086 | -nan(f16), fmin(f16), -inf(f16), inf(f16), -tmin(f16), inf(f16), 1e-1, -1e0, -inf(f16), nan(f16), -fmin(f16), 1e-1, -tmin(f16), -fmax(f16), -1e1, inf(f16), | ||
| 5087 | 0.0, -fmin(f16), -fmax(f16), 1e1, -fmax(f16), fmax(f16), 1e1, fmin(f16), -inf(f16), -nan(f16), -tmin(f16), nan(f16), -0.0, 0.0, 1e-1, -fmin(f16), | ||
| 5088 | 0.0, nan(f16), inf(f16), fmax(f16), nan(f16), tmin(f16), 1e0, tmin(f16), fmin(f16), -1e1, 0.0, 1e-1, inf(f16), -1e1, inf(f16), 1e0, | ||
| 5089 | 1e-1, -inf(f16), 1e1, -0.0, -1e0, -tmin(f16), -nan(f16), 1e-1, 1e-1, -nan(f16), -0.0, -1e1, -0.0, -nan(f16), 1e-1, fmin(f16), | ||
| 5090 | }, .{ | ||
| 5091 | 1e1, 0.0, fmax(f16), -inf(f16), -fmax(f16), -fmax(f16), tmin(f16), -1e0, -tmin(f16), -1e1, nan(f16), -nan(f16), tmin(f16), -fmin(f16), nan(f16), -1e1, | ||
| 5092 | 1e1, fmax(f16), 1e-1, 0.0, 1e-1, -fmax(f16), -0.0, -fmin(f16), inf(f16), -1e0, inf(f16), fmin(f16), -inf(f16), -tmin(f16), 1e1, 1e1, | ||
| 5093 | 1e-1, 1e-1, 1e-1, 1e1, -fmin(f16), inf(f16), 1e-1, fmax(f16), inf(f16), -0.0, -1e1, tmin(f16), -fmin(f16), 0.0, 1e1, 0.0, | ||
| 5094 | -tmin(f16), -inf(f16), 1e0, -fmax(f16), inf(f16), 1e1, fmax(f16), -1e0, 0.0, 1e-1, -1e0, -inf(f16), 1e-1, 0.0, -1e1, fmax(f16), | ||
| 5095 | }); | ||
| 5096 | try testArgs(@Vector(128, f16), .{ | ||
| 5097 | -fmin(f16), 1e0, 0.0, 1e-1, nan(f16), 1e-1, 1e-1, -inf(f16), -tmin(f16), 1e0, -fmin(f16), -fmax(f16), -1e0, -fmin(f16), 1e1, -nan(f16), | ||
| 5098 | inf(f16), -inf(f16), tmin(f16), -1e1, -1e0, -0.0, -0.0, 1e0, nan(f16), -1e1, fmin(f16), -tmin(f16), tmin(f16), 1e-1, -fmax(f16), fmax(f16), | ||
| 5099 | tmin(f16), -fmin(f16), nan(f16), 1e1, 1e0, -fmin(f16), 1e-1, 1e1, fmax(f16), fmax(f16), fmax(f16), -1e0, -nan(f16), 1e1, tmin(f16), -nan(f16), | ||
| 5100 | -nan(f16), -inf(f16), -0.0, -inf(f16), nan(f16), -1e0, 1e-1, -fmax(f16), -1e1, nan(f16), 1e0, -1e1, tmin(f16), 1e0, 1e-1, 1e0, | ||
| 5101 | 1e1, 1e-1, tmin(f16), nan(f16), -inf(f16), -1e0, -1e0, -fmax(f16), -inf(f16), 1e-1, 1e-1, -0.0, 1e1, fmin(f16), -1e0, inf(f16), | ||
| 5102 | 1e-1, -1e1, inf(f16), -0.0, 1e-1, 0.0, inf(f16), 1e0, tmin(f16), -tmin(f16), 1e-1, inf(f16), tmin(f16), -inf(f16), 1e1, 1e0, | ||
| 5103 | -inf(f16), 1e-1, 1e0, fmax(f16), -fmin(f16), nan(f16), -nan(f16), fmin(f16), -1e0, -fmax(f16), inf(f16), -fmax(f16), 0.0, -1e1, fmin(f16), -fmax(f16), | ||
| 5104 | -0.0, -1e0, 1e-1, 1e1, inf(f16), fmax(f16), inf(f16), 1e1, fmax(f16), -0.0, -tmin(f16), fmin(f16), inf(f16), nan(f16), -fmin(f16), -1e0, | ||
| 5105 | }, .{ | ||
| 5106 | -fmax(f16), fmax(f16), inf(f16), 1e0, nan(f16), 1e-1, -fmax(f16), 1e1, -fmin(f16), 1e-1, fmin(f16), -0.0, 1e-1, -0.0, -nan(f16), -nan(f16), | ||
| 5107 | inf(f16), 1e0, -1e0, 1e-1, 1e-1, 1e-1, 0.0, -tmin(f16), -1e0, -1e1, -tmin(f16), 1e0, -1e1, fmin(f16), -fmax(f16), -nan(f16), | ||
| 5108 | -tmin(f16), -inf(f16), inf(f16), -fmin(f16), -nan(f16), 0.0, -inf(f16), -fmax(f16), 1e-1, -inf(f16), tmin(f16), nan(f16), tmin(f16), fmin(f16), -0.0, 1e-1, | ||
| 5109 | fmin(f16), fmin(f16), 1e0, tmin(f16), 0.0, 1e1, 1e-1, inf(f16), 1e1, -tmin(f16), tmin(f16), -1e0, -fmin(f16), 1e0, nan(f16), -fmax(f16), | ||
| 5110 | nan(f16), -fmin(f16), 1e-1, 1e1, -1e1, 1e0, -0.0, tmin(f16), nan(f16), inf(f16), -fmax(f16), tmin(f16), -tmin(f16), 1e1, fmin(f16), -tmin(f16), | ||
| 5111 | -0.0, 1e0, tmin(f16), fmax(f16), 1e0, -inf(f16), -nan(f16), -0.0, 1e-1, -inf(f16), 1e-1, fmax(f16), -inf(f16), -nan(f16), -1e0, -inf(f16), | ||
| 5112 | 1e-1, fmin(f16), -1e1, -tmin(f16), 1e0, -nan(f16), -fmax(f16), -1e1, -tmin(f16), 1e1, nan(f16), fmin(f16), fmax(f16), tmin(f16), -inf(f16), 1e0, | ||
| 5113 | -fmin(f16), tmin(f16), -1e0, 1e-1, 0.0, nan(f16), 1e0, fmax(f16), -1e0, 1e1, nan(f16), 1e0, fmin(f16), 1e0, -1e1, -1e1, | ||
| 5114 | }); | ||
| 5115 | try testArgs(@Vector(69, f16), .{ | ||
| 5116 | -nan(f16), -1e0, -fmin(f16), fmin(f16), inf(f16), 1e-1, 0.0, fmax(f16), tmin(f16), 1e-1, 0.0, -tmin(f16), 0.0, 0.0, 1e0, -inf(f16), | ||
| 5117 | tmin(f16), -inf(f16), -tmin(f16), fmin(f16), -inf(f16), -nan(f16), tmin(f16), -tmin(f16), 1e-1, -1e0, -tmin(f16), fmax(f16), nan(f16), -fmin(f16), fmin(f16), 1e1, | ||
| 5118 | fmin(f16), -1e1, 0.0, fmin(f16), fmax(f16), -nan(f16), fmax(f16), -fmax(f16), nan(f16), -nan(f16), fmin(f16), -1e1, -fmin(f16), fmin(f16), -fmin(f16), -nan(f16), | ||
| 5119 | 0.0, -1e0, fmax(f16), 1e-1, inf(f16), 1e0, -1e0, -0.0, 1e1, 1e-1, -fmax(f16), tmin(f16), -inf(f16), tmin(f16), -fmax(f16), 1e-1, | ||
| 5120 | -1e1, -0.0, -fmax(f16), nan(f16), fmax(f16), | ||
| 5121 | }, .{ | ||
| 5122 | inf(f16), -fmin(f16), 1e-1, 1e-1, -0.0, fmax(f16), 1e-1, -0.0, 0.0, -0.0, 0.0, -tmin(f16), tmin(f16), -1e0, nan(f16), -fmin(f16), | ||
| 5123 | fmin(f16), 1e-1, 1e-1, nan(f16), -fmax(f16), -inf(f16), -nan(f16), -nan(f16), 1e-1, -fmax(f16), fmin(f16), 1e-1, 1e-1, 1e-1, -0.0, 1e1, | ||
| 5124 | tmin(f16), -nan(f16), fmin(f16), -1e0, 1e0, -tmin(f16), 0.0, nan(f16), fmax(f16), -1e1, fmin(f16), -fmin(f16), -1e0, 1e-1, -fmin(f16), -fmin(f16), | ||
| 5125 | -fmax(f16), 0.0, fmin(f16), -1e1, -1e0, -1e0, fmax(f16), -nan(f16), -inf(f16), -inf(f16), 0.0, tmin(f16), -0.0, nan(f16), -inf(f16), nan(f16), | ||
| 5126 | inf(f16), fmin(f16), -nan(f16), -inf(f16), inf(f16), | ||
| 5127 | }); | ||
| 5128 | |||
| 5129 | try testArgs(@Vector(1, f32), .{ | ||
| 5130 | fmin(f32), | ||
| 5131 | }, .{ | ||
| 5132 | -tmin(f32), | ||
| 5133 | }); | ||
| 5134 | try testArgs(@Vector(2, f32), .{ | ||
| 5135 | nan(f32), -1e1, | ||
| 5136 | }, .{ | ||
| 5137 | -tmin(f32), fmin(f32), | ||
| 5138 | }); | ||
| 5139 | try testArgs(@Vector(4, f32), .{ | ||
| 5140 | fmax(f32), -fmax(f32), -1e1, 0.0, | ||
| 5141 | }, .{ | ||
| 5142 | inf(f32), inf(f32), -1e1, inf(f32), | ||
| 5143 | }); | ||
| 5144 | try testArgs(@Vector(8, f32), .{ | ||
| 5145 | -1e1, fmax(f32), inf(f32), -0.0, -tmin(f32), -tmin(f32), 1e1, 1e-1, | ||
| 5146 | }, .{ | ||
| 5147 | 1e1, -1e0, -1e0, inf(f32), 1e0, -tmin(f32), nan(f32), 1e1, | ||
| 5148 | }); | ||
| 5149 | try testArgs(@Vector(16, f32), .{ | ||
| 5150 | 1e-1, 1e-1, -nan(f32), -1e1, -nan(f32), 0.0, fmin(f32), fmin(f32), -1e1, 1e0, -fmax(f32), -0.0, inf(f32), -0.0, fmax(f32), -fmin(f32), | ||
| 5151 | }, .{ | ||
| 5152 | nan(f32), 0.0, tmin(f32), -1e0, -1e1, -tmin(f32), fmin(f32), -fmax(f32), 1e-1, 1e-1, -inf(f32), tmin(f32), -0.0, 1e1, -0.0, -inf(f32), | ||
| 5153 | }); | ||
| 5154 | try testArgs(@Vector(32, f32), .{ | ||
| 5155 | 1e-1, tmin(f32), -1e0, 1e0, tmin(f32), -1e1, fmax(f32), 0.0, tmin(f32), 1e-1, -1e0, fmax(f32), -nan(f32), -0.0, fmin(f32), 0.0, | ||
| 5156 | -fmax(f32), fmax(f32), -fmin(f32), -inf(f32), tmin(f32), -nan(f32), -1e0, tmin(f32), -fmin(f32), -inf(f32), nan(f32), -tmin(f32), inf(f32), -inf(f32), -nan(f32), 1e-1, | ||
| 5157 | }, .{ | ||
| 5158 | -fmin(f32), -1e0, fmax(f32), inf(f32), -fmin(f32), fmax(f32), 0.0, -1e1, 0.0, 1e-1, fmin(f32), -inf(f32), 1e0, -nan(f32), -nan(f32), | ||
| 5159 | -inf(f32), -0.0, nan(f32), -fmax(f32), 1e1, -tmin(f32), fmax(f32), -1e1, 1e-1, tmin(f32), 1e-1, -fmax(f32), 0.0, 1e-1, -nan(f32), | ||
| 5160 | -fmin(f32), fmax(f32), | ||
| 5161 | }); | ||
| 5162 | try testArgs(@Vector(64, f32), .{ | ||
| 5163 | fmin(f32), 0.0, -inf(f32), 1e-1, -1e1, -fmin(f32), 1e1, nan(f32), 1e-1, 1e0, -1e0, 1e1, 1e1, 1e-1, -fmax(f32), -1e0, | ||
| 5164 | -fmin(f32), 1e-1, -inf(f32), -inf(f32), 1e-1, 1e-1, 0.0, -1e0, nan(f32), -0.0, -0.0, -fmin(f32), -inf(f32), inf(f32), tmin(f32), -nan(f32), | ||
| 5165 | 1e-1, 0.0, 1e0, tmin(f32), 1e1, fmin(f32), -fmin(f32), fmax(f32), nan(f32), 1e0, -nan(f32), -nan(f32), 1e0, nan(f32), 1e0, fmax(f32), | ||
| 5166 | -0.0, 0.0, inf(f32), nan(f32), tmin(f32), 0.0, fmin(f32), -0.0, -fmin(f32), tmin(f32), -1e0, -1e1, 1e-1, -tmin(f32), -inf(f32), -1e0, | ||
| 5167 | }, .{ | ||
| 5168 | nan(f32), -nan(f32), -tmin(f32), inf(f32), -inf(f32), 1e-1, 1e-1, 1e-1, -1e0, -inf(f32), -0.0, fmax(f32), tmin(f32), -nan(f32), -fmax(f32), -1e0, | ||
| 5169 | -fmin(f32), -0.0, fmax(f32), -fmax(f32), 1e0, -0.0, 0.0, 1e1, -1e0, -fmin(f32), 0.0, fmax(f32), 1e-1, 1e0, 1e1, 1e-1, | ||
| 5170 | 1e-1, fmin(f32), -nan(f32), -inf(f32), -0.0, -inf(f32), 1e-1, -fmax(f32), -1e1, -1e1, nan(f32), 1e1, -1e0, -fmin(f32), 1e1, fmin(f32), | ||
| 5171 | 1e0, -fmax(f32), nan(f32), inf(f32), fmax(f32), fmax(f32), -fmin(f32), -inf(f32), -tmin(f32), -nan(f32), nan(f32), nan(f32), 1e-1, 1e-1, -1e0, inf(f32), | ||
| 5172 | }); | ||
| 5173 | try testArgs(@Vector(128, f32), .{ | ||
| 5174 | -1e1, -nan(f32), inf(f32), inf(f32), -tmin(f32), -0.0, 0.0, 1e-1, -0.0, fmin(f32), nan(f32), -1e0, nan(f32), -fmax(f32), nan(f32), 0.0, | ||
| 5175 | 1e0, -tmin(f32), 0.0, -nan(f32), 1e-1, 1e-1, -1e0, 1e1, -fmax(f32), -fmin(f32), 1e-1, nan(f32), 1e-1, -fmax(f32), -tmin(f32), -inf(f32), | ||
| 5176 | inf(f32), tmin(f32), -tmin(f32), nan(f32), -inf(f32), -1e1, 1e0, -nan(f32), 1e-1, nan(f32), -1e0, tmin(f32), -fmin(f32), -0.0, -0.0, 1e0, | ||
| 5177 | fmin(f32), -fmin(f32), 1e-1, 1e-1, 1e-1, -1e1, -1e1, -tmin(f32), 1e0, -0.0, 1e1, -fmax(f32), 1e1, -fmax(f32), inf(f32), -1e0, | ||
| 5178 | -fmax(f32), fmin(f32), fmin(f32), fmin(f32), -1e0, -nan(f32), fmax(f32), -nan(f32), 1e-1, -1e0, -fmax(f32), -tmin(f32), -0.0, fmax(f32), -1e1, inf(f32), | ||
| 5179 | 1e1, -inf(f32), 1e-1, fmin(f32), nan(f32), -fmax(f32), -tmin(f32), inf(f32), tmin(f32), -fmin(f32), fmax(f32), 1e0, fmin(f32), -0.0, 1e-1, fmin(f32), | ||
| 5180 | 1e-1, inf(f32), -1e1, inf(f32), 1e1, tmin(f32), 0.0, 1e0, inf(f32), -1e1, -fmin(f32), tmin(f32), 1e0, 1e-1, 1e-1, -fmin(f32), | ||
| 5181 | 1e1, 1e-1, fmax(f32), fmin(f32), 1e0, -1e1, -inf(f32), -1e1, 0.0, -fmax(f32), -inf(f32), -1e0, fmax(f32), -tmin(f32), inf(f32), nan(f32), | ||
| 5182 | }, .{ | ||
| 5183 | -tmin(f32), -fmax(f32), -fmax(f32), 1e1, inf(f32), 1e-1, 1e0, fmin(f32), 1e-1, 1e1, fmin(f32), -fmax(f32), 1e0, fmax(f32), 1e-1, -fmin(f32), | ||
| 5184 | 0.0, -0.0, -0.0, -1e0, -nan(f32), nan(f32), -tmin(f32), 1e1, -tmin(f32), -1e1, inf(f32), 0.0, tmin(f32), 0.0, -fmax(f32), inf(f32), | ||
| 5185 | fmin(f32), 1e-1, -1e1, tmin(f32), tmin(f32), 1e-1, fmin(f32), -tmin(f32), fmin(f32), nan(f32), 1e-1, -fmax(f32), -1e0, -0.0, fmin(f32), -0.0, | ||
| 5186 | -1e0, -0.0, -inf(f32), fmax(f32), -1e1, 1e0, inf(f32), -1e0, -tmin(f32), -tmin(f32), 1e-1, -1e1, -fmin(f32), 1e1, -1e1, -inf(f32), | ||
| 5187 | -1e0, inf(f32), 1e-1, 1e0, -nan(f32), 1e-1, -1e1, -nan(f32), -tmin(f32), 0.0, fmin(f32), -nan(f32), fmax(f32), -tmin(f32), 0.0, 0.0, | ||
| 5188 | -fmax(f32), -inf(f32), -1e0, -0.0, 1e1, nan(f32), 1e-1, tmin(f32), -1e1, 1e1, tmin(f32), -fmax(f32), 1e-1, -1e1, -tmin(f32), fmax(f32), | ||
| 5189 | -fmax(f32), 1e-1, -nan(f32), -fmin(f32), inf(f32), inf(f32), tmin(f32), tmin(f32), -tmin(f32), tmin(f32), 0.0, -0.0, 1e0, 1e1, -1e1, inf(f32), | ||
| 5190 | 0.0, -fmin(f32), fmax(f32), -1e1, fmax(f32), -0.0, 0.0, -fmin(f32), 1e1, -fmin(f32), -fmin(f32), -fmin(f32), 1e1, fmin(f32), -inf(f32), fmax(f32), | ||
| 5191 | }); | ||
| 5192 | try testArgs(@Vector(69, f32), .{ | ||
| 5193 | nan(f32), 1e-1, -tmin(f32), fmax(f32), nan(f32), -fmax(f32), 1e-1, fmax(f32), 1e1, inf(f32), -fmin(f32), -fmax(f32), inf(f32), -nan(f32), 1e-1, 1e0, | ||
| 5194 | fmax(f32), 1e-1, 1e1, 0.0, -1e1, fmax(f32), 1e1, 0.0, 1e0, 1e1, -fmax(f32), 0.0, -tmin(f32), -fmin(f32), 1e-1, 1e0, | ||
| 5195 | fmin(f32), tmin(f32), -fmin(f32), -tmin(f32), tmin(f32), -inf(f32), -fmax(f32), -0.0, -1e0, -0.0, -fmax(f32), fmax(f32), fmin(f32), -0.0, 0.0, -inf(f32), | ||
| 5196 | -tmin(f32), inf(f32), -nan(f32), tmin(f32), -1e0, -tmin(f32), 1e1, -inf(f32), -fmin(f32), 1e-1, -inf(f32), -1e0, nan(f32), -inf(f32), -tmin(f32), 1e1, | ||
| 5197 | 1e1, -nan(f32), -nan(f32), tmin(f32), -nan(f32), | ||
| 5198 | }, .{ | ||
| 5199 | -nan(f32), 1e0, fmax(f32), 1e-1, -0.0, 1e0, -inf(f32), -fmin(f32), -nan(f32), inf(f32), 1e0, -nan(f32), -nan(f32), -inf(f32), tmin(f32), -fmin(f32), | ||
| 5200 | -nan(f32), 1e-1, fmin(f32), -1e0, -fmax(f32), 1e-1, -1e0, 1e-1, 1e-1, -tmin(f32), 1e-1, 1e-1, 1e1, fmin(f32), 0.0, nan(f32), | ||
| 5201 | tmin(f32), 1e0, nan(f32), -fmin(f32), tmin(f32), nan(f32), 1e-1, nan(f32), 1e0, -fmax(f32), tmin(f32), 1e0, 0.0, -1e0, nan(f32), fmin(f32), | ||
| 5202 | -inf(f32), fmax(f32), -0.0, nan(f32), tmin(f32), tmin(f32), -inf(f32), -1e1, -nan(f32), -fmax(f32), -0.0, 1e-1, -inf(f32), 1e0, nan(f32), 1e0, | ||
| 5203 | -1e1, fmin(f32), inf(f32), fmin(f32), 0.0, | ||
| 5204 | }); | ||
| 5205 | |||
| 5206 | try testArgs(@Vector(1, f64), .{ | ||
| 5207 | -0.0, | ||
| 5208 | }, .{ | ||
| 5209 | 1e0, | ||
| 5210 | }); | ||
| 5211 | try testArgs(@Vector(2, f64), .{ | ||
| 5212 | -1e0, 0.0, | ||
| 5213 | }, .{ | ||
| 5214 | -inf(f64), -fmax(f64), | ||
| 5215 | }); | ||
| 5216 | try testArgs(@Vector(4, f64), .{ | ||
| 5217 | -inf(f64), inf(f64), 1e1, 0.0, | ||
| 5218 | }, .{ | ||
| 5219 | -tmin(f64), 1e0, nan(f64), 0.0, | ||
| 5220 | }); | ||
| 5221 | try testArgs(@Vector(8, f64), .{ | ||
| 5222 | 1e-1, -tmin(f64), -fmax(f64), 1e0, inf(f64), -1e1, -tmin(f64), -1e1, | ||
| 5223 | }, .{ | ||
| 5224 | tmin(f64), fmin(f64), 1e-1, 1e1, -0.0, -0.0, fmax(f64), -1e0, | ||
| 5225 | }); | ||
| 5226 | try testArgs(@Vector(16, f64), .{ | ||
| 5227 | 1e-1, -nan(f64), 1e0, tmin(f64), fmax(f64), -fmax(f64), -tmin(f64), -0.0, -fmin(f64), -1e0, -fmax(f64), -nan(f64), -fmax(f64), nan(f64), -0.0, 1e-1, | ||
| 5228 | }, .{ | ||
| 5229 | -1e0, -tmin(f64), -fmin(f64), 1e-1, 1e-1, -0.0, -nan(f64), -inf(f64), -inf(f64), -0.0, nan(f64), tmin(f64), 1e0, 1e-1, tmin(f64), fmin(f64), | ||
| 5230 | }); | ||
| 5231 | try testArgs(@Vector(32, f64), .{ | ||
| 5232 | -fmax(f64), fmin(f64), 1e-1, 1e-1, 0.0, 1e0, -0.0, -tmin(f64), tmin(f64), inf(f64), -tmin(f64), -tmin(f64), -tmin(f64), -fmax(f64), fmin(f64), 1e0, | ||
| 5233 | -fmin(f64), -nan(f64), 1e0, -inf(f64), -nan(f64), -1e0, 0.0, 0.0, nan(f64), -nan(f64), -fmin(f64), fmin(f64), 1e-1, nan(f64), tmin(f64), -fmax(f64), | ||
| 5234 | }, .{ | ||
| 5235 | -tmin(f64), -fmax(f64), -inf(f64), -nan(f64), fmin(f64), -inf(f64), 1e-1, -fmax(f64), -inf(f64), fmin(f64), inf(f64), -1e0, -tmin(f64), inf(f64), 1e-1, nan(f64), | ||
| 5236 | fmin(f64), 1e1, -tmin(f64), -nan(f64), -inf(f64), 1e0, nan(f64), -fmin(f64), -1e0, nan(f64), -1e0, 0.0, 1e0, nan(f64), -1e0, -fmin(f64), | ||
| 5237 | }); | ||
| 5238 | try testArgs(@Vector(64, f64), .{ | ||
| 5239 | -1e1, fmax(f64), -nan(f64), tmin(f64), 1e-1, -1e0, 1e0, -0.0, -fmin(f64), 1e-1, -fmin(f64), -0.0, -0.0, tmin(f64), -1e1, 1e-1, | ||
| 5240 | -1e1, -fmax(f64), -1e1, -fmin(f64), 0.0, -1e1, nan(f64), 1e0, inf(f64), inf(f64), -inf(f64), tmin(f64), tmin(f64), 1e-1, -0.0, 1e-1, | ||
| 5241 | -0.0, 1e-1, -1e1, 1e1, fmax(f64), -fmin(f64), 1e0, fmax(f64), 1e0, -1e1, fmin(f64), fmax(f64), -1e0, -0.0, -0.0, fmax(f64), | ||
| 5242 | -inf(f64), -inf(f64), -tmin(f64), -fmax(f64), -nan(f64), tmin(f64), -1e0, 0.0, -inf(f64), fmax(f64), nan(f64), -inf(f64), fmin(f64), -nan(f64), -nan(f64), -1e1, | ||
| 5243 | }, .{ | ||
| 5244 | nan(f64), -1e0, 0.0, -1e1, -fmax(f64), -fmin(f64), -nan(f64), -tmin(f64), 1e-1, -1e0, -nan(f64), -fmax(f64), 0.0, 0.0, 1e1, inf(f64), | ||
| 5245 | fmin(f64), 0.0, -1e1, 1e0, -tmin(f64), -inf(f64), -fmax(f64), 0.0, -fmin(f64), -1e0, -fmin(f64), tmin(f64), 1e0, -1e1, fmin(f64), 1e-1, | ||
| 5246 | inf(f64), -0.0, tmin(f64), -fmax(f64), -tmin(f64), -fmax(f64), fmin(f64), -fmax(f64), 1e-1, 1e0, 1e0, 0.0, fmin(f64), nan(f64), -1e1, tmin(f64), | ||
| 5247 | inf(f64), 1e-1, 1e0, -nan(f64), 1e0, -fmin(f64), fmax(f64), inf(f64), fmin(f64), -inf(f64), -0.0, 0.0, -1e0, -0.0, 1e-1, 1e-1, | ||
| 5248 | }); | ||
| 5249 | try testArgs(@Vector(128, f64), .{ | ||
| 5250 | nan(f64), -fmin(f64), fmax(f64), fmin(f64), -1e1, nan(f64), tmin(f64), fmax(f64), inf(f64), -nan(f64), tmin(f64), -nan(f64), -0.0, fmin(f64), fmax(f64), | ||
| 5251 | -inf(f64), inf(f64), -1e0, 0.0, 1e-1, fmin(f64), 0.0, 1e-1, -1e0, -inf(f64), 1e-1, fmax(f64), fmin(f64), fmax(f64), -fmax(f64), | ||
| 5252 | fmin(f64), inf(f64), -fmin(f64), -1e1, -0.0, 1e-1, nan(f64), -fmax(f64), -fmax(f64), -1e0, 1e1, 1e1, -1e0, -inf(f64), inf(f64), | ||
| 5253 | -fmin(f64), 1e0, -inf(f64), -1e1, 1e-1, 1e0, 1e1, 1e1, tmin(f64), nan(f64), inf(f64), 0.0, -1e0, -1e1, 1e0, | ||
| 5254 | -tmin(f64), -fmax(f64), -nan(f64), 1e1, 1e-1, tmin(f64), 0.0, 1e1, 1e-1, -tmin(f64), -tmin(f64), 1e0, -fmax(f64), nan(f64), -fmin(f64), | ||
| 5255 | nan(f64), 1e1, -1e0, -0.0, -tmin(f64), nan(f64), 1e1, 1e1, -inf(f64), 1e-1, -nan(f64), -1e1, -tmin(f64), -fmax(f64), -fmax(f64), | ||
| 5256 | inf(f64), -inf(f64), tmin(f64), 1e0, -inf(f64), -1e1, inf(f64), 1e-1, -nan(f64), -inf(f64), fmax(f64), 1e-1, -inf(f64), 1e-1, 1e0, | ||
| 5257 | 1e-1, 1e-1, 1e-1, inf(f64), -inf(f64), 1e0, 1e1, 1e1, nan(f64), 1e1, -tmin(f64), 1e0, -fmin(f64), -1e0, -fmax(f64), | ||
| 5258 | -fmin(f64), -fmin(f64), -1e0, inf(f64), nan(f64), tmin(f64), 1e-1, -1e0, | ||
| 5259 | }, .{ | ||
| 5260 | 0.0, 0.0, inf(f64), -0.0, 1e-1, -nan(f64), 1e1, -nan(f64), tmin(f64), -1e1, -0.0, inf(f64), -fmin(f64), 1e-1, fmax(f64), | ||
| 5261 | nan(f64), -tmin(f64), tmin(f64), 1e0, 1e-1, -1e1, -nan(f64), 1e0, inf(f64), -1e1, fmin(f64), 1e-1, 1e1, -1e1, 1e1, | ||
| 5262 | -nan(f64), -nan(f64), 1e-1, 0.0, 1e1, -fmax(f64), -tmin(f64), tmin(f64), -1e0, -tmin(f64), -1e1, 1e-1, -fmax(f64), 1e1, nan(f64), | ||
| 5263 | fmax(f64), -1e0, -1e0, -tmin(f64), fmax(f64), -1e1, 1e-1, 1e0, fmin(f64), inf(f64), 1e-1, tmin(f64), 1e-1, -fmax(f64), fmax(f64), | ||
| 5264 | -1e1, -fmax(f64), fmax(f64), tmin(f64), -fmin(f64), inf(f64), 1e-1, -0.0, fmax(f64), tmin(f64), 1e-1, 1e0, -inf(f64), 1e0, 1e1, | ||
| 5265 | 1e-1, 0.0, -1e1, -nan(f64), 1e1, -fmin(f64), -tmin(f64), 1e1, 1e0, -tmin(f64), -1e0, -fmin(f64), -0.0, -1e1, 1e-1, | ||
| 5266 | inf(f64), -fmax(f64), 1e-1, tmin(f64), -0.0, fmax(f64), 0.0, -nan(f64), -fmin(f64), fmax(f64), -0.0, nan(f64), -inf(f64), tmin(f64), 1e-1, | ||
| 5267 | inf(f64), 0.0, 1e1, -fmax(f64), tmin(f64), -0.0, fmin(f64), -nan(f64), -1e1, -inf(f64), nan(f64), inf(f64), -0.0, 1e1, fmax(f64), | ||
| 5268 | tmin(f64), -1e1, -nan(f64), 1e1, -inf(f64), -fmax(f64), -inf(f64), -1e0, | ||
| 5269 | }); | ||
| 5270 | try testArgs(@Vector(69, f64), .{ | ||
| 5271 | inf(f64), -0.0, -fmax(f64), fmax(f64), fmax(f64), 0.0, fmin(f64), -nan(f64), 1e-1, 1e-1, 1e-1, -fmin(f64), inf(f64), 1e-1, fmax(f64), nan(f64), | ||
| 5272 | tmin(f64), -1e1, 1e1, -tmin(f64), -0.0, nan(f64), -1e1, fmin(f64), 0.0, -0.0, 1e-1, inf(f64), -tmin(f64), -nan(f64), inf(f64), -nan(f64), | ||
| 5273 | -inf(f64), fmax(f64), 1e-1, -fmin(f64), 1e-1, -1e0, fmin(f64), fmin(f64), fmin(f64), 1e1, -fmin(f64), nan(f64), 0.0, 0.0, 1e1, nan(f64), | ||
| 5274 | -tmin(f64), tmin(f64), tmin(f64), fmin(f64), -0.0, -1e0, 1e-1, 1e0, fmax(f64), tmin(f64), fmin(f64), 0.0, -fmin(f64), fmin(f64), -tmin(f64), 0.0, | ||
| 5275 | -nan(f64), 1e1, -1e0, 1e-1, 0.0, | ||
| 5276 | }, .{ | ||
| 5277 | -1e1, -0.0, fmin(f64), -fmin(f64), nan(f64), 1e1, -tmin(f64), -fmax(f64), 1e1, 1e-1, -fmin(f64), inf(f64), -inf(f64), -tmin(f64), 1e0, tmin(f64), | ||
| 5278 | -tmin(f64), -nan(f64), fmax(f64), 0.0, -1e0, 1e1, inf(f64), fmin(f64), fmax(f64), 1e-1, 1e-1, fmax(f64), -inf(f64), 1e-1, 1e-1, fmin(f64), | ||
| 5279 | 1e-1, fmin(f64), -1e1, nan(f64), 0.0, 0.0, fmax(f64), -inf(f64), tmin(f64), inf(f64), -tmin(f64), fmax(f64), -inf(f64), -1e1, -1e0, fmin(f64), | ||
| 5280 | 1e-1, -nan(f64), fmax(f64), -fmin(f64), fmax(f64), nan(f64), -0.0, -fmax(f64), 1e1, nan(f64), inf(f64), -1e0, -fmin(f64), nan(f64), -fmin(f64), -0.0, | ||
| 5281 | -nan(f64), -fmin(f64), 1e-1, nan(f64), 1e-1, | ||
| 5282 | }); | ||
| 5283 | |||
| 5284 | try testArgs(@Vector(1, f80), .{ | ||
| 5285 | -nan(f80), | ||
| 5286 | }, .{ | ||
| 5287 | -1e0, | ||
| 5288 | }); | ||
| 5289 | try testArgs(@Vector(2, f80), .{ | ||
| 5290 | -fmax(f80), -inf(f80), | ||
| 5291 | }, .{ | ||
| 5292 | 1e-1, 1e1, | ||
| 5293 | }); | ||
| 5294 | try testArgs(@Vector(4, f80), .{ | ||
| 5295 | -0.0, -inf(f80), 1e-1, 1e1, | ||
| 5296 | }, .{ | ||
| 5297 | -1e0, 0.0, 1e-1, -1e1, | ||
| 5298 | }); | ||
| 5299 | try testArgs(@Vector(8, f80), .{ | ||
| 5300 | 1e0, -0.0, -inf(f80), 1e-1, -inf(f80), fmin(f80), 0.0, 1e1, | ||
| 5301 | }, .{ | ||
| 5302 | -0.0, -fmin(f80), fmin(f80), -nan(f80), nan(f80), inf(f80), fmin(f80), 1e1, | ||
| 5303 | }); | ||
| 5304 | try testArgs(@Vector(16, f80), .{ | ||
| 5305 | 1e1, inf(f80), -fmin(f80), 1e-1, -tmin(f80), -0.0, -inf(f80), -1e0, -fmax(f80), -nan(f80), -tmin(f80), 1e1, 1e1, -inf(f80), -fmax(f80), fmax(f80), | ||
| 5306 | }, .{ | ||
| 5307 | -inf(f80), nan(f80), -fmax(f80), fmin(f80), 1e0, 1e-1, -inf(f80), nan(f80), 1e-1, nan(f80), -inf(f80), nan(f80), tmin(f80), 1e-1, -tmin(f80), -1e1, | ||
| 5308 | }); | ||
| 5309 | try testArgs(@Vector(32, f80), .{ | ||
| 5310 | inf(f80), -0.0, 1e-1, -0.0, 1e-1, -fmin(f80), -0.0, fmax(f80), nan(f80), -tmin(f80), nan(f80), -1e1, 0.0, 1e0, 1e1, -fmin(f80), | ||
| 5311 | fmin(f80), 1e-1, inf(f80), -0.0, nan(f80), tmin(f80), -tmin(f80), fmin(f80), tmin(f80), -0.0, nan(f80), -fmax(f80), tmin(f80), -fmin(f80), 1e0, tmin(f80), | ||
| 5312 | }, .{ | ||
| 5313 | 0.0, -1e1, fmax(f80), -inf(f80), 1e-1, -inf(f80), inf(f80), 1e1, -1e0, -1e1, -fmin(f80), 0.0, inf(f80), 1e0, -nan(f80), 0.0, | ||
| 5314 | 1e-1, nan(f80), 1e0, -fmax(f80), fmin(f80), -inf(f80), -fmax(f80), 1e-1, -1e1, tmin(f80), fmax(f80), -0.0, -fmin(f80), -fmin(f80), fmin(f80), -tmin(f80), | ||
| 5315 | }); | ||
| 5316 | try testArgs(@Vector(64, f80), .{ | ||
| 5317 | -fmax(f80), 1e-1, -1e0, 1e0, inf(f80), 1e-1, -1e1, 1e-1, fmin(f80), -fmin(f80), -1e1, -fmax(f80), 0.0, -1e1, -1e0, -nan(f80), | ||
| 5318 | 0.0, 1e-1, -1e0, -tmin(f80), 1e0, tmin(f80), fmax(f80), 0.0, -1e1, -tmin(f80), fmax(f80), -0.0, 1e-1, -inf(f80), -fmax(f80), -1e0, | ||
| 5319 | -nan(f80), tmin(f80), -tmin(f80), -0.0, -0.0, -1e0, -0.0, fmax(f80), inf(f80), -nan(f80), 1e-1, -inf(f80), -tmin(f80), nan(f80), 1e-1, 1e1, | ||
| 5320 | nan(f80), -inf(f80), 1e-1, tmin(f80), -fmin(f80), 1e1, -1e1, tmin(f80), fmin(f80), nan(f80), 1e-1, -nan(f80), tmin(f80), nan(f80), fmax(f80), -fmax(f80), | ||
| 5321 | }, .{ | ||
| 5322 | -nan(f80), -fmax(f80), tmin(f80), -inf(f80), -tmin(f80), fmin(f80), -nan(f80), -fmin(f80), fmax(f80), inf(f80), -0.0, -1e0, 1e-1, -fmax(f80), 1e0, -inf(f80), | ||
| 5323 | 0.0, -nan(f80), -1e1, -1e0, -nan(f80), inf(f80), 1e0, -nan(f80), 1e1, inf(f80), tmin(f80), 1e-1, tmin(f80), -tmin(f80), -inf(f80), -fmin(f80), | ||
| 5324 | fmax(f80), fmax(f80), 1e-1, -tmin(f80), -nan(f80), -1e0, fmin(f80), -nan(f80), -nan(f80), inf(f80), -1e0, 1e-1, -fmin(f80), -tmin(f80), 0.0, -0.0, | ||
| 5325 | 1e-1, -fmin(f80), -inf(f80), -1e0, -tmin(f80), 1e0, -inf(f80), -0.0, 0.0, 1e0, tmin(f80), 0.0, 1e-1, -nan(f80), fmax(f80), 1e0, | ||
| 5326 | }); | ||
| 5327 | try testArgs(@Vector(128, f80), .{ | ||
| 5328 | 1e-1, -0.0, 1e-1, 0.0, fmin(f80), -1e0, 1e0, -inf(f80), fmax(f80), -fmin(f80), nan(f80), 1e1, 1e-1, 1e-1, -fmin(f80), -inf(f80), | ||
| 5329 | -1e0, -inf(f80), 1e0, -fmin(f80), inf(f80), -nan(f80), 1e1, inf(f80), tmin(f80), nan(f80), -1e1, inf(f80), 1e1, inf(f80), -1e1, 0.0, | ||
| 5330 | -1e1, fmin(f80), -tmin(f80), 1e0, -fmax(f80), nan(f80), 0.0, fmax(f80), 1e-1, -1e0, -fmin(f80), inf(f80), -tmin(f80), nan(f80), -tmin(f80), 1e1, | ||
| 5331 | -1e1, -tmin(f80), -1e0, -tmin(f80), -fmax(f80), 1e1, -1e0, -inf(f80), -nan(f80), 0.0, 1e0, fmax(f80), -tmin(f80), -fmin(f80), fmin(f80), fmin(f80), | ||
| 5332 | -1e1, -fmax(f80), -tmin(f80), inf(f80), 1e0, 0.0, tmin(f80), -nan(f80), -fmin(f80), 1e-1, -nan(f80), 0.0, 1e-1, -1e1, -0.0, -nan(f80), | ||
| 5333 | 1e0, 1e1, -1e1, fmin(f80), -nan(f80), fmax(f80), -0.0, 1e0, inf(f80), 1e0, -fmin(f80), -fmin(f80), 0.0, 1e-1, inf(f80), 1e1, | ||
| 5334 | tmin(f80), -1e0, fmax(f80), -0.0, fmax(f80), fmax(f80), 1e-1, -fmin(f80), -1e1, 1e0, -fmin(f80), -fmax(f80), fmin(f80), -fmax(f80), -0.0, -1e0, | ||
| 5335 | -nan(f80), -inf(f80), nan(f80), -fmax(f80), inf(f80), -inf(f80), -nan(f80), fmin(f80), nan(f80), -1e0, tmin(f80), tmin(f80), 1e-1, 1e1, -tmin(f80), -nan(f80), | ||
| 5336 | }, .{ | ||
| 5337 | -1e0, -0.0, 0.0, fmax(f80), -1e0, -0.0, 1e-1, tmin(f80), -inf(f80), 1e1, -0.0, 1e-1, -tmin(f80), -fmax(f80), tmin(f80), inf(f80), | ||
| 5338 | 1e-1, 1e0, tmin(f80), nan(f80), -fmax(f80), 1e1, fmin(f80), -1e0, -fmax(f80), nan(f80), -fmin(f80), 1e1, -1e0, tmin(f80), inf(f80), -0.0, | ||
| 5339 | tmin(f80), 1e0, 0.0, -fmin(f80), 0.0, 1e1, -fmax(f80), -0.0, -inf(f80), fmin(f80), -0.0, -0.0, -0.0, -fmax(f80), 1e-1, fmax(f80), | ||
| 5340 | -tmin(f80), tmin(f80), -fmax(f80), 1e1, -fmax(f80), 1e-1, fmax(f80), -1e1, 1e-1, 1e0, -1e0, -1e0, nan(f80), -nan(f80), 1e1, -nan(f80), | ||
| 5341 | nan(f80), -1e1, -tmin(f80), fmin(f80), -tmin(f80), -fmin(f80), tmin(f80), -0.0, 1e-1, fmax(f80), tmin(f80), tmin(f80), nan(f80), 1e-1, 1e1, 1e-1, | ||
| 5342 | inf(f80), inf(f80), 1e0, -inf(f80), -fmax(f80), 0.0, 1e0, -fmax(f80), fmax(f80), nan(f80), fmin(f80), 1e-1, -1e0, 1e0, 1e-1, -tmin(f80), | ||
| 5343 | 1e1, 1e-1, -fmax(f80), 0.0, nan(f80), -tmin(f80), 1e-1, fmax(f80), fmax(f80), 1e-1, -1e0, inf(f80), nan(f80), 1e1, fmax(f80), -nan(f80), | ||
| 5344 | -1e1, -1e0, tmin(f80), fmin(f80), inf(f80), fmax(f80), -fmin(f80), fmin(f80), -inf(f80), -tmin(f80), 1e0, nan(f80), -fmin(f80), -fmin(f80), fmax(f80), 1e0, | ||
| 5345 | }); | ||
| 5346 | try testArgs(@Vector(69, f80), .{ | ||
| 5347 | -1e1, tmin(f80), 1e-1, -nan(f80), -inf(f80), -nan(f80), fmin(f80), -0.0, 1e1, fmax(f80), -fmin(f80), 1e-1, -nan(f80), inf(f80), 1e0, -1e0, | ||
| 5348 | inf(f80), fmin(f80), -fmax(f80), 1e-1, nan(f80), 0.0, 0.0, nan(f80), -1e1, fmax(f80), fmin(f80), -fmax(f80), 1e0, 1e-1, 0.0, -fmin(f80), | ||
| 5349 | -tmin(f80), 0.0, -1e1, fmin(f80), 1e0, 1e1, 1e-1, nan(f80), -1e1, fmax(f80), 1e-1, fmin(f80), -inf(f80), 0.0, tmin(f80), inf(f80), | ||
| 5350 | fmax(f80), 1e0, 1e-1, nan(f80), inf(f80), tmin(f80), tmin(f80), -fmax(f80), 0.0, fmin(f80), -inf(f80), 1e-1, -tmin(f80), 1e-1, -1e0, 1e-1, | ||
| 5351 | -fmax(f80), -1e0, 1e-1, -1e0, fmax(f80), | ||
| 5352 | }, .{ | ||
| 5353 | -1e0, fmin(f80), inf(f80), -nan(f80), -0.0, fmin(f80), -0.0, nan(f80), -fmax(f80), 1e-1, 1e0, -1e1, -tmin(f80), -fmin(f80), 1e1, inf(f80), | ||
| 5354 | -1e1, -tmin(f80), -fmin(f80), 1e1, 0.0, -tmin(f80), 1e1, -1e1, 1e-1, 1e-1, tmin(f80), fmax(f80), 0.0, 1e-1, 1e-1, -1e1, | ||
| 5355 | fmin(f80), nan(f80), -1e1, -1e1, -1e1, 0.0, -0.0, 1e-1, fmin(f80), fmin(f80), -0.0, -fmin(f80), -nan(f80), -inf(f80), 0.0, -inf(f80), | ||
| 5356 | inf(f80), fmax(f80), -tmin(f80), inf(f80), 1e-1, -nan(f80), 1e-1, tmin(f80), -1e1, -fmax(f80), -fmax(f80), inf(f80), -nan(f80), 1e0, -inf(f80), 1e1, | ||
| 5357 | nan(f80), 1e1, -1e1, 0.0, -fmin(f80), | ||
| 5358 | }); | ||
| 5359 | |||
| 5360 | try testArgs(@Vector(1, f128), .{ | ||
| 5361 | -nan(f128), | ||
| 5362 | }, .{ | ||
| 5363 | -0.0, | ||
| 5364 | }); | ||
| 5365 | try testArgs(@Vector(2, f128), .{ | ||
| 5366 | 0.0, -inf(f128), | ||
| 5367 | }, .{ | ||
| 5368 | 1e-1, -fmin(f128), | ||
| 5369 | }); | ||
| 5370 | try testArgs(@Vector(4, f128), .{ | ||
| 5371 | 1e-1, fmax(f128), 1e1, -fmax(f128), | ||
| 5372 | }, .{ | ||
| 5373 | -tmin(f128), fmax(f128), -0.0, -0.0, | ||
| 5374 | }); | ||
| 5375 | try testArgs(@Vector(8, f128), .{ | ||
| 5376 | 1e1, -fmin(f128), 0.0, -inf(f128), 1e1, -0.0, -1e0, -fmin(f128), | ||
| 5377 | }, .{ | ||
| 5378 | fmin(f128), tmin(f128), -1e0, -1e1, 0.0, -tmin(f128), 0.0, 1e-1, | ||
| 5379 | }); | ||
| 5380 | try testArgs(@Vector(16, f128), .{ | ||
| 5381 | -fmin(f128), -1e1, -fmin(f128), 1e-1, -1e1, 1e0, -fmax(f128), tmin(f128), -nan(f128), -tmin(f128), 1e1, -inf(f128), -1e0, tmin(f128), -0.0, nan(f128), | ||
| 5382 | }, .{ | ||
| 5383 | -fmax(f128), fmin(f128), inf(f128), tmin(f128), -1e1, 1e1, fmax(f128), 1e0, -inf(f128), -inf(f128), -fmax(f128), -nan(f128), 1e0, -inf(f128), tmin(f128), tmin(f128), | ||
| 5384 | }); | ||
| 5385 | try testArgs(@Vector(32, f128), .{ | ||
| 5386 | -0.0, -1e0, 1e0, -fmax(f128), -fmax(f128), 1e-1, -fmin(f128), -fmin(f128), -1e0, -tmin(f128), -0.0, -fmax(f128), tmin(f128), inf(f128), 0.0, fmax(f128), | ||
| 5387 | -nan(f128), -0.0, -inf(f128), -1e0, 1e-1, -fmin(f128), tmin(f128), -1e1, fmax(f128), -nan(f128), -nan(f128), -fmax(f128), 1e-1, inf(f128), -0.0, tmin(f128), | ||
| 5388 | }, .{ | ||
| 5389 | -1e0, -1e1, -fmin(f128), -fmin(f128), inf(f128), tmin(f128), nan(f128), 0.0, -fmin(f128), 1e-1, -nan(f128), 1e-1, -0.0, tmin(f128), 1e0, 0.0, | ||
| 5390 | fmin(f128), fmax(f128), -fmax(f128), -tmin(f128), fmin(f128), -0.0, -1e0, -nan(f128), -inf(f128), 1e0, nan(f128), 1e0, 1e-1, -0.0, -fmax(f128), -1e1, | ||
| 5391 | }); | ||
| 5392 | try testArgs(@Vector(64, f128), .{ | ||
| 5393 | -1e0, -0.0, nan(f128), 1e-1, -1e1, 0.0, 1e0, 1e0, -inf(f128), fmin(f128), fmax(f128), nan(f128), -nan(f128), inf(f128), -0.0, | ||
| 5394 | 1e-1, -inf(f128), -fmax(f128), 1e1, -tmin(f128), -tmin(f128), -fmax(f128), 1e0, 1e-1, 1e-1, nan(f128), 1e1, 1e0, -tmin(f128), 1e1, | ||
| 5395 | -nan(f128), fmax(f128), fmax(f128), 0.0, fmax(f128), inf(f128), 1e0, -0.0, 1e-1, -tmin(f128), fmin(f128), fmax(f128), tmin(f128), inf(f128), -1e1, | ||
| 5396 | -1e0, -1e0, -1e0, -inf(f128), 1e1, -tmin(f128), nan(f128), nan(f128), 1e-1, fmin(f128), 1e-1, tmin(f128), -1e1, 1e-1, 1e1, | ||
| 5397 | fmax(f128), fmax(f128), 1e-1, -fmax(f128), | ||
| 5398 | }, .{ | ||
| 5399 | -0.0, 1e-1, -0.0, -fmin(f128), 1e1, 0.0, 1e0, -inf(f128), tmin(f128), -1e0, fmin(f128), -nan(f128), -1e1, 1e-1, -1e1, 1e-1, | ||
| 5400 | 1e-1, tmin(f128), nan(f128), -1e0, 0.0, -1e1, -1e1, fmax(f128), -fmax(f128), inf(f128), -nan(f128), 1e-1, -nan(f128), 1e0, fmax(f128), inf(f128), | ||
| 5401 | nan(f128), fmin(f128), 1e1, inf(f128), 0.0, -inf(f128), 1e-1, 1e-1, 1e-1, -1e0, 1e-1, -1e1, inf(f128), -nan(f128), 1e-1, inf(f128), | ||
| 5402 | inf(f128), inf(f128), -1e1, -tmin(f128), 1e-1, -inf(f128), -fmin(f128), 1e0, -tmin(f128), 1e0, -tmin(f128), -inf(f128), -0.0, -nan(f128), -1e0, -fmax(f128), | ||
| 5403 | }); | ||
| 5404 | try testArgs(@Vector(128, f128), .{ | ||
| 5405 | -inf(f128), tmin(f128), -fmax(f128), 1e0, fmin(f128), -fmax(f128), -1e0, 1e-1, -fmax(f128), -fmin(f128), -1e1, nan(f128), 1e-1, nan(f128), | ||
| 5406 | inf(f128), -1e0, tmin(f128), -inf(f128), 0.0, fmax(f128), tmin(f128), -fmin(f128), fmin(f128), -1e1, -fmin(f128), -1e1, 1e0, -nan(f128), | ||
| 5407 | -inf(f128), fmin(f128), inf(f128), -tmin(f128), 1e-1, 0.0, 1e1, 1e0, -tmin(f128), -tmin(f128), tmin(f128), 1e0, fmin(f128), 1e-1, | ||
| 5408 | 1e-1, 1e-1, fmax(f128), 1e-1, inf(f128), 0.0, fmin(f128), -fmin(f128), 1e1, 1e1, -1e1, tmin(f128), inf(f128), inf(f128), | ||
| 5409 | -fmin(f128), 0.0, 1e-1, -nan(f128), 1e-1, -inf(f128), -nan(f128), -1e0, fmin(f128), -0.0, 1e1, -tmin(f128), 1e1, 1e0, | ||
| 5410 | 1e-1, -0.0, -tmin(f128), 1e-1, -1e0, -tmin(f128), -fmin(f128), tmin(f128), 1e-1, -tmin(f128), -nan(f128), -1e1, -inf(f128), 0.0, | ||
| 5411 | 1e-1, 0.0, -fmin(f128), 0.0, 1e1, 1e1, tmin(f128), inf(f128), -nan(f128), -inf(f128), -1e0, -fmin(f128), -1e1, -fmin(f128), | ||
| 5412 | -inf(f128), -fmax(f128), tmin(f128), tmin(f128), -fmin(f128), 1e-1, fmin(f128), fmin(f128), -fmin(f128), nan(f128), -1e0, -0.0, -0.0, 1e-1, | ||
| 5413 | fmax(f128), 0.0, -fmax(f128), nan(f128), nan(f128), nan(f128), nan(f128), -nan(f128), fmin(f128), -inf(f128), inf(f128), -fmax(f128), -1e1, fmin(f128), | ||
| 5414 | 1e-1, fmax(f128), | ||
| 5415 | }, .{ | ||
| 5416 | 0.0, 1e1, 1e-1, inf(f128), -0.0, -1e0, nan(f128), -1e1, -inf(f128), 1e-1, -tmin(f128), 1e0, inf(f128), 1e-1, -1e0, | ||
| 5417 | 1e1, 0.0, 1e0, nan(f128), tmin(f128), fmax(f128), 1e1, 1e-1, 1e-1, -fmin(f128), -inf(f128), -nan(f128), -fmin(f128), -0.0, -inf(f128), | ||
| 5418 | -nan(f128), fmax(f128), -fmin(f128), -tmin(f128), -fmin(f128), -fmax(f128), nan(f128), fmin(f128), -fmax(f128), fmax(f128), 1e0, 1e1, -fmax(f128), nan(f128), -fmax(f128), | ||
| 5419 | -inf(f128), nan(f128), -nan(f128), tmin(f128), -1e0, 1e-1, 1e-1, -1e0, -nan(f128), fmax(f128), 1e1, -inf(f128), 1e1, -0.0, -1e0, | ||
| 5420 | -0.0, -tmin(f128), 1e1, -1e0, -fmax(f128), fmin(f128), fmax(f128), tmin(f128), 1e1, fmin(f128), -nan(f128), 1e0, -tmin(f128), -1e0, fmax(f128), | ||
| 5421 | 1e0, -tmin(f128), 1e-1, -nan(f128), inf(f128), 1e-1, 1e-1, fmax(f128), -fmin(f128), fmin(f128), -0.0, fmax(f128), -fmax(f128), -tmin(f128), tmin(f128), | ||
| 5422 | nan(f128), 1e-1, tmin(f128), -1e0, fmin(f128), -nan(f128), fmax(f128), 1e0, nan(f128), -nan(f128), inf(f128), -fmin(f128), fmin(f128), 1e-1, 1e1, | ||
| 5423 | -tmin(f128), -1e1, 0.0, 1e-1, -fmin(f128), -0.0, 0.0, -1e1, fmax(f128), nan(f128), nan(f128), -fmin(f128), -fmax(f128), 1e1, 0.0, | ||
| 5424 | fmin(f128), 1e1, -tmin(f128), -tmin(f128), 0.0, -1e1, 1e0, -fmin(f128), | ||
| 5425 | }); | ||
| 5426 | try testArgs(@Vector(69, f128), .{ | ||
| 5427 | -1e0, nan(f128), 1e-1, 1e-1, 1e-1, -1e0, -1e1, inf(f128), -0.0, inf(f128), tmin(f128), 0.0, -fmax(f128), -tmin(f128), -1e1, -fmax(f128), | ||
| 5428 | -0.0, 0.0, nan(f128), inf(f128), 1e0, -1e0, 1e-1, -0.0, 1e0, fmax(f128), -fmax(f128), 0.0, inf(f128), -inf(f128), -tmin(f128), -inf(f128), | ||
| 5429 | 1e1, fmin(f128), 1e1, -1e1, 1e-1, 1e0, -0.0, nan(f128), tmin(f128), inf(f128), inf(f128), -nan(f128), -nan(f128), 1e0, -tmin(f128), 0.0, | ||
| 5430 | fmin(f128), fmax(f128), fmin(f128), -1e1, nan(f128), 0.0, -nan(f128), -0.0, -nan(f128), 1e-1, -1e1, -tmin(f128), fmax(f128), 1e0, fmin(f128), fmax(f128), | ||
| 5431 | nan(f128), -inf(f128), 1e0, fmin(f128), -nan(f128), | ||
| 5432 | }, .{ | ||
| 5433 | -inf(f128), fmax(f128), 0.0, nan(f128), -1e1, tmin(f128), nan(f128), 1e0, 1e1, -fmin(f128), fmin(f128), tmin(f128), 0.0, -fmin(f128), -0.0, fmin(f128), | ||
| 5434 | inf(f128), inf(f128), fmin(f128), fmin(f128), -tmin(f128), -fmax(f128), 1e1, nan(f128), -0.0, 1e0, 1e1, -1e1, -inf(f128), fmin(f128), -fmax(f128), 1e-1, | ||
| 5435 | -1e0, -nan(f128), -1e1, tmin(f128), inf(f128), nan(f128), 0.0, -1e1, tmin(f128), 0.0, -fmax(f128), -tmin(f128), 1e-1, 1e-1, 1e1, 1e-1, | ||
| 5436 | fmax(f128), 1e-1, 0.0, -fmin(f128), -inf(f128), -inf(f128), -nan(f128), 1e-1, -fmax(f128), fmax(f128), -fmax(f128), -0.0, -tmin(f128), -1e0, nan(f128), 1e-1, | ||
| 5437 | -1e0, -inf(f128), tmin(f128), inf(f128), inf(f128), | ||
| 5438 | }); | ||
| 5439 | } | ||
| 5440 | }; | ||
| 5441 | } | ||
| 5442 | |||
| 5443 | inline fn addUnsafe(comptime Type: type, lhs: Type, rhs: Type) AddOneBit(Type) { | ||
| 5444 | @setRuntimeSafety(false); | ||
| 5445 | return @as(AddOneBit(Type), lhs) + rhs; | ||
| 5446 | } | ||
| 5447 | test addUnsafe { | ||
| 5448 | const test_add_unsafe = binary(addUnsafe, .{}); | ||
| 5449 | try test_add_unsafe.testInts(); | ||
| 5450 | try test_add_unsafe.testIntVectors(); | ||
| 5451 | try test_add_unsafe.testFloats(); | ||
| 5452 | try test_add_unsafe.testFloatVectors(); | ||
| 5453 | } | ||
| 5454 | |||
| 5455 | inline fn addWrap(comptime Type: type, lhs: Type, rhs: Type) Type { | ||
| 5456 | return lhs +% rhs; | ||
| 5457 | } | ||
| 5458 | test addWrap { | ||
| 5459 | const test_add_wrap = binary(addWrap, .{}); | ||
| 5460 | try test_add_wrap.testInts(); | ||
| 5461 | try test_add_wrap.testIntVectors(); | ||
| 5462 | } | ||
| 5463 | |||
| 5464 | inline fn subUnsafe(comptime Type: type, lhs: Type, rhs: Type) AddOneBit(Type) { | ||
| 5465 | @setRuntimeSafety(false); | ||
| 5466 | switch (@typeInfo(Scalar(Type))) { | ||
| 5467 | else => @compileError(@typeName(Type)), | ||
| 5468 | .int => |int| switch (int.signedness) { | ||
| 5469 | .signed => {}, | ||
| 5470 | .unsigned => return @as(AddOneBit(Type), @max(lhs, rhs)) - @min(lhs, rhs), | ||
| 5471 | }, | ||
| 5472 | .float => {}, | ||
| 5473 | } | ||
| 5474 | return @as(AddOneBit(Type), lhs) - rhs; | ||
| 5475 | } | ||
| 5476 | test subUnsafe { | ||
| 5477 | const test_sub_unsafe = binary(subUnsafe, .{}); | ||
| 5478 | try test_sub_unsafe.testInts(); | ||
| 5479 | try test_sub_unsafe.testIntVectors(); | ||
| 5480 | try test_sub_unsafe.testFloats(); | ||
| 5481 | try test_sub_unsafe.testFloatVectors(); | ||
| 5482 | } | ||
| 5483 | |||
| 5484 | inline fn subWrap(comptime Type: type, lhs: Type, rhs: Type) Type { | ||
| 5485 | return lhs -% rhs; | ||
| 5486 | } | ||
| 5487 | test subWrap { | ||
| 5488 | const test_sub_wrap = binary(subWrap, .{}); | ||
| 5489 | try test_sub_wrap.testInts(); | ||
| 5490 | try test_sub_wrap.testIntVectors(); | ||
| 5491 | } | ||
| 5492 | |||
| 5493 | inline fn mulUnsafe(comptime Type: type, lhs: Type, rhs: Type) DoubleBits(Type) { | ||
| 5494 | @setRuntimeSafety(false); | ||
| 5495 | return @as(DoubleBits(Type), lhs) * rhs; | ||
| 5496 | } | ||
| 5497 | test mulUnsafe { | ||
| 5498 | const test_mul_unsafe = binary(mulUnsafe, .{}); | ||
| 5499 | try test_mul_unsafe.testInts(); | ||
| 5500 | try test_mul_unsafe.testIntVectors(); | ||
| 5501 | } | ||
| 5502 | |||
| 5503 | inline fn mulWrap(comptime Type: type, lhs: Type, rhs: Type) Type { | ||
| 5504 | return lhs *% rhs; | ||
| 5505 | } | ||
| 5506 | test mulWrap { | ||
| 5507 | const test_mul_wrap = binary(mulWrap, .{}); | ||
| 5508 | try test_mul_wrap.testInts(); | ||
| 5509 | try test_mul_wrap.testIntVectors(); | ||
| 5510 | } | ||
| 5511 | |||
| 5512 | inline fn multiply(comptime Type: type, lhs: Type, rhs: Type) @TypeOf(lhs * rhs) { | ||
| 5513 | return lhs * rhs; | ||
| 5514 | } | ||
| 5515 | test multiply { | ||
| 5516 | const test_multiply = binary(multiply, .{}); | ||
| 5517 | try test_multiply.testFloats(); | ||
| 5518 | try test_multiply.testFloatVectors(); | ||
| 5519 | } | ||
| 5520 | |||
| 5521 | inline fn divide(comptime Type: type, lhs: Type, rhs: Type) @TypeOf(lhs / rhs) { | ||
| 5522 | return lhs / rhs; | ||
| 5523 | } | ||
| 5524 | test divide { | ||
| 5525 | const test_divide = binary(divide, .{ .compare = .approx }); | ||
| 5526 | try test_divide.testFloats(); | ||
| 5527 | try test_divide.testFloatVectors(); | ||
| 5528 | } | ||
| 5529 | |||
| 5530 | inline fn divTrunc(comptime Type: type, lhs: Type, rhs: Type) @TypeOf(@divTrunc(lhs, rhs)) { | ||
| 5531 | return @divTrunc(lhs, rhs); | ||
| 5532 | } | ||
| 5533 | test divTrunc { | ||
| 5534 | const test_div_trunc = binary(divTrunc, .{ .compare = .approx_int }); | ||
| 5535 | try test_div_trunc.testInts(); | ||
| 5536 | try test_div_trunc.testIntVectors(); | ||
| 5537 | try test_div_trunc.testFloats(); | ||
| 5538 | try test_div_trunc.testFloatVectors(); | ||
| 5539 | } | ||
| 5540 | |||
| 5541 | inline fn divFloor(comptime Type: type, lhs: Type, rhs: Type) @TypeOf(@divFloor(lhs, rhs)) { | ||
| 5542 | return @divFloor(lhs, rhs); | ||
| 5543 | } | ||
| 5544 | test divFloor { | ||
| 5545 | const test_div_floor = binary(divFloor, .{ .compare = .approx_int }); | ||
| 5546 | try test_div_floor.testFloats(); | ||
| 5547 | try test_div_floor.testFloatVectors(); | ||
| 5548 | } | ||
| 5549 | |||
| 5550 | inline fn rem(comptime Type: type, lhs: Type, rhs: Type) @TypeOf(@rem(lhs, rhs)) { | ||
| 5551 | return @rem(lhs, rhs); | ||
| 5552 | } | ||
| 5553 | test rem { | ||
| 5554 | const test_rem = binary(rem, .{}); | ||
| 5555 | try test_rem.testInts(); | ||
| 5556 | try test_rem.testIntVectors(); | ||
| 5557 | try test_rem.testFloats(); | ||
| 5558 | try test_rem.testFloatVectors(); | ||
| 5559 | } | ||
| 5560 | |||
| 5561 | inline fn mod(comptime Type: type, lhs: Type, rhs: Type) @TypeOf(@mod(lhs, rhs)) { | ||
| 5562 | // workaround llvm backend bugs | ||
| 5563 | if (@inComptime()) { | ||
| 5564 | const scalarMod = struct { | ||
| 5565 | fn scalarMod(scalar_lhs: Scalar(Type), scalar_rhs: Scalar(Type)) Scalar(Type) { | ||
| 5566 | const scalar_rem = @rem(scalar_lhs, scalar_rhs); | ||
| 5567 | return if (scalar_rem == 0 or sign(scalar_rem) == sign(scalar_rhs)) scalar_rem else scalar_rem + scalar_rhs; | ||
| 5568 | } | ||
| 5569 | }.scalarMod; | ||
| 5570 | switch (@typeInfo(Type)) { | ||
| 5571 | else => return scalarMod(lhs, rhs), | ||
| 5572 | .vector => |info| { | ||
| 5573 | var res: Type = undefined; | ||
| 5574 | inline for (0..info.len) |i| res[i] = scalarMod(lhs[i], rhs[i]); | ||
| 5575 | return res; | ||
| 5576 | }, | ||
| 5577 | } | ||
| 5578 | } | ||
| 5579 | return @mod(lhs, rhs); | ||
| 5580 | } | ||
| 5581 | test mod { | ||
| 5582 | const test_mod = binary(mod, .{}); | ||
| 5583 | try test_mod.testFloats(); | ||
| 5584 | try test_mod.testFloatVectors(); | ||
| 5585 | } | ||
| 5586 | |||
| 5587 | inline fn max(comptime Type: type, lhs: Type, rhs: Type) Type { | ||
| 5588 | return @max(lhs, rhs); | ||
| 5589 | } | ||
| 5590 | test max { | ||
| 5591 | const test_max = binary(max, .{}); | ||
| 5592 | try test_max.testInts(); | ||
| 5593 | try test_max.testIntVectors(); | ||
| 5594 | try test_max.testFloats(); | ||
| 5595 | try test_max.testFloatVectors(); | ||
| 5596 | } | ||
| 5597 | |||
| 5598 | inline fn min(comptime Type: type, lhs: Type, rhs: Type) Type { | ||
| 5599 | return @min(lhs, rhs); | ||
| 5600 | } | ||
| 5601 | test min { | ||
| 5602 | const test_min = binary(min, .{}); | ||
| 5603 | try test_min.testInts(); | ||
| 5604 | try test_min.testIntVectors(); | ||
| 5605 | try test_min.testFloats(); | ||
| 5606 | try test_min.testFloatVectors(); | ||
| 5607 | } | ||
| 5608 | |||
| 5609 | inline fn equal(comptime Type: type, lhs: Type, rhs: Type) @TypeOf(lhs == rhs) { | ||
| 5610 | return lhs == rhs; | ||
| 5611 | } | ||
| 5612 | test equal { | ||
| 5613 | const test_equal = binary(equal, .{}); | ||
| 5614 | try test_equal.testInts(); | ||
| 5615 | try test_equal.testFloats(); | ||
| 5616 | } | ||
| 5617 | |||
| 5618 | inline fn notEqual(comptime Type: type, lhs: Type, rhs: Type) @TypeOf(lhs != rhs) { | ||
| 5619 | return lhs != rhs; | ||
| 5620 | } | ||
| 5621 | test notEqual { | ||
| 5622 | const test_not_equal = binary(notEqual, .{}); | ||
| 5623 | try test_not_equal.testInts(); | ||
| 5624 | try test_not_equal.testFloats(); | ||
| 5625 | } | ||
| 5626 | |||
| 5627 | inline fn lessThan(comptime Type: type, lhs: Type, rhs: Type) @TypeOf(lhs < rhs) { | ||
| 5628 | return lhs < rhs; | ||
| 5629 | } | ||
| 5630 | test lessThan { | ||
| 5631 | const test_less_than = binary(lessThan, .{}); | ||
| 5632 | try test_less_than.testInts(); | ||
| 5633 | try test_less_than.testFloats(); | ||
| 5634 | } | ||
| 5635 | |||
| 5636 | inline fn lessThanOrEqual(comptime Type: type, lhs: Type, rhs: Type) @TypeOf(lhs <= rhs) { | ||
| 5637 | return lhs <= rhs; | ||
| 5638 | } | ||
| 5639 | test lessThanOrEqual { | ||
| 5640 | const test_less_than_or_equal = binary(lessThanOrEqual, .{}); | ||
| 5641 | try test_less_than_or_equal.testInts(); | ||
| 5642 | try test_less_than_or_equal.testFloats(); | ||
| 5643 | } | ||
| 5644 | |||
| 5645 | inline fn greaterThan(comptime Type: type, lhs: Type, rhs: Type) @TypeOf(lhs > rhs) { | ||
| 5646 | return lhs > rhs; | ||
| 5647 | } | ||
| 5648 | test greaterThan { | ||
| 5649 | const test_greater_than = binary(greaterThan, .{}); | ||
| 5650 | try test_greater_than.testInts(); | ||
| 5651 | try test_greater_than.testFloats(); | ||
| 5652 | } | ||
| 5653 | |||
| 5654 | inline fn greaterThanOrEqual(comptime Type: type, lhs: Type, rhs: Type) @TypeOf(lhs >= rhs) { | ||
| 5655 | return lhs >= rhs; | ||
| 5656 | } | ||
| 5657 | test greaterThanOrEqual { | ||
| 5658 | const test_greater_than_or_equal = binary(greaterThanOrEqual, .{}); | ||
| 5659 | try test_greater_than_or_equal.testInts(); | ||
| 5660 | try test_greater_than_or_equal.testFloats(); | ||
| 5661 | } | ||
| 5662 | |||
| 5663 | inline fn bitAnd(comptime Type: type, lhs: Type, rhs: Type) @TypeOf(lhs & rhs) { | ||
| 5664 | return lhs & rhs; | ||
| 5665 | } | ||
| 5666 | test bitAnd { | ||
| 5667 | const test_bit_and = binary(bitAnd, .{}); | ||
| 5668 | try test_bit_and.testInts(); | ||
| 5669 | try test_bit_and.testIntVectors(); | ||
| 5670 | } | ||
| 5671 | |||
| 5672 | inline fn bitOr(comptime Type: type, lhs: Type, rhs: Type) @TypeOf(lhs | rhs) { | ||
| 5673 | return lhs | rhs; | ||
| 5674 | } | ||
| 5675 | test bitOr { | ||
| 5676 | const test_bit_or = binary(bitOr, .{}); | ||
| 5677 | try test_bit_or.testInts(); | ||
| 5678 | try test_bit_or.testIntVectors(); | ||
| 5679 | } | ||
| 5680 | |||
| 5681 | inline fn shr(comptime Type: type, lhs: Type, rhs: Type) Type { | ||
| 5682 | const bit_cast_rhs: @Type(.{ .int = .{ .signedness = .unsigned, .bits = @bitSizeOf(Type) } }) = @bitCast(rhs); | ||
| 5683 | const truncate_rhs: Log2Int(Type) = @truncate(bit_cast_rhs); | ||
| 5684 | return lhs >> if (comptime cast(Log2Int(Type), @bitSizeOf(Type))) |bits| truncate_rhs % bits else truncate_rhs; | ||
| 5685 | } | ||
| 5686 | test shr { | ||
| 5687 | const test_shr = binary(shr, .{}); | ||
| 5688 | try test_shr.testInts(); | ||
| 5689 | } | ||
| 5690 | |||
| 5691 | inline fn shrExact(comptime Type: type, lhs: Type, rhs: Type) Type { | ||
| 5692 | const bit_cast_rhs: @Type(.{ .int = .{ .signedness = .unsigned, .bits = @bitSizeOf(Type) } }) = @bitCast(rhs); | ||
| 5693 | const truncate_rhs: Log2Int(Type) = @truncate(bit_cast_rhs); | ||
| 5694 | const final_rhs = if (comptime cast(Log2Int(Type), @bitSizeOf(Type))) |bits| truncate_rhs % bits else truncate_rhs; | ||
| 5695 | return @shrExact(lhs >> final_rhs << final_rhs, final_rhs); | ||
| 5696 | } | ||
| 5697 | test shrExact { | ||
| 5698 | const test_shr_exact = binary(shrExact, .{}); | ||
| 5699 | try test_shr_exact.testInts(); | ||
| 5700 | } | ||
| 5701 | |||
| 5702 | inline fn shl(comptime Type: type, lhs: Type, rhs: Type) Type { | ||
| 5703 | const bit_cast_rhs: @Type(.{ .int = .{ .signedness = .unsigned, .bits = @bitSizeOf(Type) } }) = @bitCast(rhs); | ||
| 5704 | const truncate_rhs: Log2Int(Type) = @truncate(bit_cast_rhs); | ||
| 5705 | return lhs << if (comptime cast(Log2Int(Type), @bitSizeOf(Type))) |bits| truncate_rhs % bits else truncate_rhs; | ||
| 5706 | } | ||
| 5707 | test shl { | ||
| 5708 | const test_shl = binary(shl, .{}); | ||
| 5709 | try test_shl.testInts(); | ||
| 5710 | } | ||
| 5711 | |||
| 5712 | inline fn shlExact(comptime Type: type, lhs: Type, rhs: Type) Type { | ||
| 5713 | const bit_cast_rhs: @Type(.{ .int = .{ .signedness = .unsigned, .bits = @bitSizeOf(Type) } }) = @bitCast(rhs); | ||
| 5714 | const truncate_rhs: Log2Int(Type) = @truncate(bit_cast_rhs); | ||
| 5715 | const final_rhs = if (comptime cast(Log2Int(Type), @bitSizeOf(Type))) |bits| truncate_rhs % bits else truncate_rhs; | ||
| 5716 | return @shlExact(lhs << final_rhs >> final_rhs, final_rhs); | ||
| 5717 | } | ||
| 5718 | test shlExact { | ||
| 5719 | const test_shl_exact = binary(shlExact, .{}); | ||
| 5720 | try test_shl_exact.testInts(); | ||
| 5721 | } | ||
| 5722 | |||
| 5723 | inline fn bitXor(comptime Type: type, lhs: Type, rhs: Type) @TypeOf(lhs ^ rhs) { | ||
| 5724 | return lhs ^ rhs; | ||
| 5725 | } | ||
| 5726 | test bitXor { | ||
| 5727 | const test_bit_xor = binary(bitXor, .{}); | ||
| 5728 | try test_bit_xor.testInts(); | ||
| 5729 | try test_bit_xor.testIntVectors(); | ||
| 5730 | } | ||
| 5731 | |||
| 5732 | inline fn optionalsEqual(comptime Type: type, lhs: Type, rhs: Type) bool { | ||
| 5733 | if (@inComptime()) return lhs == rhs; // workaround https://github.com/ziglang/zig/issues/22636 | ||
| 5734 | return @as(?Type, lhs) == rhs; | ||
| 5735 | } | ||
| 5736 | test optionalsEqual { | ||
| 5737 | const test_optionals_equal = binary(optionalsEqual, .{}); | ||
| 5738 | try test_optionals_equal.testInts(); | ||
| 5739 | try test_optionals_equal.testFloats(); | ||
| 5740 | } | ||
| 5741 | |||
| 5742 | inline fn optionalsNotEqual(comptime Type: type, lhs: Type, rhs: Type) bool { | ||
| 5743 | if (@inComptime()) return lhs != rhs; // workaround https://github.com/ziglang/zig/issues/22636 | ||
| 5744 | return lhs != @as(?Type, rhs); | ||
| 5745 | } | ||
| 5746 | test optionalsNotEqual { | ||
| 5747 | const test_optionals_not_equal = binary(optionalsNotEqual, .{}); | ||
| 5748 | try test_optionals_not_equal.testInts(); | ||
| 5749 | try test_optionals_not_equal.testFloats(); | ||
| 5750 | } | ||
| 5751 | |||
| 5752 | inline fn mulAdd(comptime Type: type, lhs: Type, rhs: Type) @TypeOf(@mulAdd(Type, lhs, rhs, rhs)) { | ||
| 5753 | return @mulAdd(Type, lhs, rhs, rhs); | ||
| 5754 | } | ||
| 5755 | test mulAdd { | ||
| 5756 | const test_mul_add = binary(mulAdd, .{ .compare = .approx }); | ||
| 5757 | try test_mul_add.testFloats(); | ||
| 5758 | try test_mul_add.testFloatVectors(); | ||
| 5759 | } | ||
test/behavior/x86_64/build.zig+3-1| ... | @@ -116,8 +116,10 @@ pub fn build(b: *std.Build) void { | ... | @@ -116,8 +116,10 @@ pub fn build(b: *std.Build) void { |
| 116 | const target = b.resolveTargetQuery(query); | 116 | const target = b.resolveTargetQuery(query); |
| 117 | const cpu = query.serializeCpuAlloc(b.allocator) catch @panic("OOM"); | 117 | const cpu = query.serializeCpuAlloc(b.allocator) catch @panic("OOM"); |
| 118 | for ([_][]const u8{ | 118 | for ([_][]const u8{ |
| 119 | "math.zig", | 119 | "binary.zig", |
| 120 | "cast.zig", | ||
| 120 | "mem.zig", | 121 | "mem.zig", |
| 122 | "unary.zig", | ||
| 121 | }) |path| { | 123 | }) |path| { |
| 122 | const test_mod = b.createModule(.{ | 124 | const test_mod = b.createModule(.{ |
| 123 | .root_source_file = b.path(path), | 125 | .root_source_file = b.path(path), |
test/behavior/x86_64/cast.zig created+14565| ... | @@ -0,0 +1,14565 @@ | ||
| 1 | const checkExpected = math.checkExpected; | ||
| 2 | const Compare = math.Compare; | ||
| 3 | const fmax = math.fmax; | ||
| 4 | const fmin = math.fmin; | ||
| 5 | const Gpr = math.Gpr; | ||
| 6 | const imax = math.imax; | ||
| 7 | const imin = math.imin; | ||
| 8 | const inf = math.inf; | ||
| 9 | const Log2Int = math.Log2Int; | ||
| 10 | const Log2IntCeil = math.Log2IntCeil; | ||
| 11 | const math = @import("math.zig"); | ||
| 12 | const nan = math.nan; | ||
| 13 | const next = math.next; | ||
| 14 | const Scalar = math.Scalar; | ||
| 15 | const splat = math.splat; | ||
| 16 | const Sse = math.Sse; | ||
| 17 | const tmin = math.tmin; | ||
| 18 | |||
| 19 | fn cast(comptime op: anytype, comptime opts: struct { compare: Compare = .relaxed }) type { | ||
| 20 | return struct { | ||
| 21 | // noinline so that `mem_arg` is on the stack | ||
| 22 | noinline fn testArgKinds( | ||
| 23 | _: Gpr, | ||
| 24 | _: Gpr, | ||
| 25 | _: Gpr, | ||
| 26 | _: Gpr, | ||
| 27 | _: Gpr, | ||
| 28 | _: Gpr, | ||
| 29 | _: Gpr, | ||
| 30 | _: Gpr, | ||
| 31 | _: Sse, | ||
| 32 | _: Sse, | ||
| 33 | _: Sse, | ||
| 34 | _: Sse, | ||
| 35 | _: Sse, | ||
| 36 | _: Sse, | ||
| 37 | _: Sse, | ||
| 38 | _: Sse, | ||
| 39 | comptime Result: type, | ||
| 40 | comptime Type: type, | ||
| 41 | comptime imm_arg: Type, | ||
| 42 | mem_arg: Type, | ||
| 43 | ) !void { | ||
| 44 | const expected = comptime op(Result, Type, imm_arg, imm_arg); | ||
| 45 | var reg_arg = mem_arg; | ||
| 46 | _ = .{&reg_arg}; | ||
| 47 | try checkExpected(expected, op(Result, Type, reg_arg, imm_arg), opts.compare); | ||
| 48 | try checkExpected(expected, op(Result, Type, mem_arg, imm_arg), opts.compare); | ||
| 49 | try checkExpected(expected, op(Result, Type, imm_arg, imm_arg), opts.compare); | ||
| 50 | } | ||
| 51 | // noinline for a more helpful stack trace | ||
| 52 | noinline fn testArgs(comptime Result: type, comptime Type: type, comptime imm_arg: Type) !void { | ||
| 53 | try testArgKinds( | ||
| 54 | undefined, | ||
| 55 | undefined, | ||
| 56 | undefined, | ||
| 57 | undefined, | ||
| 58 | undefined, | ||
| 59 | undefined, | ||
| 60 | undefined, | ||
| 61 | undefined, | ||
| 62 | undefined, | ||
| 63 | undefined, | ||
| 64 | undefined, | ||
| 65 | undefined, | ||
| 66 | undefined, | ||
| 67 | undefined, | ||
| 68 | undefined, | ||
| 69 | undefined, | ||
| 70 | Result, | ||
| 71 | Type, | ||
| 72 | imm_arg, | ||
| 73 | imm_arg, | ||
| 74 | ); | ||
| 75 | } | ||
| 76 | fn testSameSignednessInts() !void { | ||
| 77 | try testArgs(i8, i1, -1); | ||
| 78 | try testArgs(i8, i1, 0); | ||
| 79 | try testArgs(i16, i1, -1); | ||
| 80 | try testArgs(i16, i1, 0); | ||
| 81 | try testArgs(i32, i1, -1); | ||
| 82 | try testArgs(i32, i1, 0); | ||
| 83 | try testArgs(i64, i1, -1); | ||
| 84 | try testArgs(i64, i1, 0); | ||
| 85 | try testArgs(i128, i1, -1); | ||
| 86 | try testArgs(i128, i1, 0); | ||
| 87 | try testArgs(i256, i1, -1); | ||
| 88 | try testArgs(i256, i1, 0); | ||
| 89 | try testArgs(i512, i1, -1); | ||
| 90 | try testArgs(i512, i1, 0); | ||
| 91 | try testArgs(i1024, i1, -1); | ||
| 92 | try testArgs(i1024, i1, 0); | ||
| 93 | try testArgs(u8, u1, 0); | ||
| 94 | try testArgs(u8, u1, 1 << 0); | ||
| 95 | try testArgs(u16, u1, 0); | ||
| 96 | try testArgs(u16, u1, 1 << 0); | ||
| 97 | try testArgs(u32, u1, 0); | ||
| 98 | try testArgs(u32, u1, 1 << 0); | ||
| 99 | try testArgs(u64, u1, 0); | ||
| 100 | try testArgs(u64, u1, 1 << 0); | ||
| 101 | try testArgs(u128, u1, 0); | ||
| 102 | try testArgs(u128, u1, 1 << 0); | ||
| 103 | try testArgs(u256, u1, 0); | ||
| 104 | try testArgs(u256, u1, 1 << 0); | ||
| 105 | try testArgs(u512, u1, 0); | ||
| 106 | try testArgs(u512, u1, 1 << 0); | ||
| 107 | try testArgs(u1024, u1, 0); | ||
| 108 | try testArgs(u1024, u1, 1 << 0); | ||
| 109 | |||
| 110 | try testArgs(i8, i2, -1 << 1); | ||
| 111 | try testArgs(i8, i2, -1); | ||
| 112 | try testArgs(i8, i2, 0); | ||
| 113 | try testArgs(i16, i2, -1 << 1); | ||
| 114 | try testArgs(i16, i2, -1); | ||
| 115 | try testArgs(i16, i2, 0); | ||
| 116 | try testArgs(i32, i2, -1 << 1); | ||
| 117 | try testArgs(i32, i2, -1); | ||
| 118 | try testArgs(i32, i2, 0); | ||
| 119 | try testArgs(i64, i2, -1 << 1); | ||
| 120 | try testArgs(i64, i2, -1); | ||
| 121 | try testArgs(i64, i2, 0); | ||
| 122 | try testArgs(i128, i2, -1 << 1); | ||
| 123 | try testArgs(i128, i2, -1); | ||
| 124 | try testArgs(i128, i2, 0); | ||
| 125 | try testArgs(i256, i2, -1 << 1); | ||
| 126 | try testArgs(i256, i2, -1); | ||
| 127 | try testArgs(i256, i2, 0); | ||
| 128 | try testArgs(i512, i2, -1 << 1); | ||
| 129 | try testArgs(i512, i2, -1); | ||
| 130 | try testArgs(i512, i2, 0); | ||
| 131 | try testArgs(i1024, i2, -1 << 1); | ||
| 132 | try testArgs(i1024, i2, -1); | ||
| 133 | try testArgs(i1024, i2, 0); | ||
| 134 | try testArgs(u8, u2, 0); | ||
| 135 | try testArgs(u8, u2, 1 << 0); | ||
| 136 | try testArgs(u8, u2, 1 << 1); | ||
| 137 | try testArgs(u16, u2, 0); | ||
| 138 | try testArgs(u16, u2, 1 << 0); | ||
| 139 | try testArgs(u16, u2, 1 << 1); | ||
| 140 | try testArgs(u32, u2, 0); | ||
| 141 | try testArgs(u32, u2, 1 << 0); | ||
| 142 | try testArgs(u32, u2, 1 << 1); | ||
| 143 | try testArgs(u64, u2, 0); | ||
| 144 | try testArgs(u64, u2, 1 << 0); | ||
| 145 | try testArgs(u64, u2, 1 << 1); | ||
| 146 | try testArgs(u128, u2, 0); | ||
| 147 | try testArgs(u128, u2, 1 << 0); | ||
| 148 | try testArgs(u128, u2, 1 << 1); | ||
| 149 | try testArgs(u256, u2, 0); | ||
| 150 | try testArgs(u256, u2, 1 << 0); | ||
| 151 | try testArgs(u256, u2, 1 << 1); | ||
| 152 | try testArgs(u512, u2, 0); | ||
| 153 | try testArgs(u512, u2, 1 << 0); | ||
| 154 | try testArgs(u512, u2, 1 << 1); | ||
| 155 | try testArgs(u1024, u2, 0); | ||
| 156 | try testArgs(u1024, u2, 1 << 0); | ||
| 157 | try testArgs(u1024, u2, 1 << 1); | ||
| 158 | |||
| 159 | try testArgs(i8, i3, -1 << 2); | ||
| 160 | try testArgs(i8, i3, -1); | ||
| 161 | try testArgs(i8, i3, 0); | ||
| 162 | try testArgs(i16, i3, -1 << 2); | ||
| 163 | try testArgs(i16, i3, -1); | ||
| 164 | try testArgs(i16, i3, 0); | ||
| 165 | try testArgs(i32, i3, -1 << 2); | ||
| 166 | try testArgs(i32, i3, -1); | ||
| 167 | try testArgs(i32, i3, 0); | ||
| 168 | try testArgs(i64, i3, -1 << 2); | ||
| 169 | try testArgs(i64, i3, -1); | ||
| 170 | try testArgs(i64, i3, 0); | ||
| 171 | try testArgs(i128, i3, -1 << 2); | ||
| 172 | try testArgs(i128, i3, -1); | ||
| 173 | try testArgs(i128, i3, 0); | ||
| 174 | try testArgs(i256, i3, -1 << 2); | ||
| 175 | try testArgs(i256, i3, -1); | ||
| 176 | try testArgs(i256, i3, 0); | ||
| 177 | try testArgs(i512, i3, -1 << 2); | ||
| 178 | try testArgs(i512, i3, -1); | ||
| 179 | try testArgs(i512, i3, 0); | ||
| 180 | try testArgs(i1024, i3, -1 << 2); | ||
| 181 | try testArgs(i1024, i3, -1); | ||
| 182 | try testArgs(i1024, i3, 0); | ||
| 183 | try testArgs(u8, u3, 0); | ||
| 184 | try testArgs(u8, u3, 1 << 0); | ||
| 185 | try testArgs(u8, u3, 1 << 2); | ||
| 186 | try testArgs(u16, u3, 0); | ||
| 187 | try testArgs(u16, u3, 1 << 0); | ||
| 188 | try testArgs(u16, u3, 1 << 2); | ||
| 189 | try testArgs(u32, u3, 0); | ||
| 190 | try testArgs(u32, u3, 1 << 0); | ||
| 191 | try testArgs(u32, u3, 1 << 2); | ||
| 192 | try testArgs(u64, u3, 0); | ||
| 193 | try testArgs(u64, u3, 1 << 0); | ||
| 194 | try testArgs(u64, u3, 1 << 2); | ||
| 195 | try testArgs(u128, u3, 0); | ||
| 196 | try testArgs(u128, u3, 1 << 0); | ||
| 197 | try testArgs(u128, u3, 1 << 2); | ||
| 198 | try testArgs(u256, u3, 0); | ||
| 199 | try testArgs(u256, u3, 1 << 0); | ||
| 200 | try testArgs(u256, u3, 1 << 2); | ||
| 201 | try testArgs(u512, u3, 0); | ||
| 202 | try testArgs(u512, u3, 1 << 0); | ||
| 203 | try testArgs(u512, u3, 1 << 2); | ||
| 204 | try testArgs(u1024, u3, 0); | ||
| 205 | try testArgs(u1024, u3, 1 << 0); | ||
| 206 | try testArgs(u1024, u3, 1 << 2); | ||
| 207 | |||
| 208 | try testArgs(i8, i4, -1 << 3); | ||
| 209 | try testArgs(i8, i4, -1); | ||
| 210 | try testArgs(i8, i4, 0); | ||
| 211 | try testArgs(i16, i4, -1 << 3); | ||
| 212 | try testArgs(i16, i4, -1); | ||
| 213 | try testArgs(i16, i4, 0); | ||
| 214 | try testArgs(i32, i4, -1 << 3); | ||
| 215 | try testArgs(i32, i4, -1); | ||
| 216 | try testArgs(i32, i4, 0); | ||
| 217 | try testArgs(i64, i4, -1 << 3); | ||
| 218 | try testArgs(i64, i4, -1); | ||
| 219 | try testArgs(i64, i4, 0); | ||
| 220 | try testArgs(i128, i4, -1 << 3); | ||
| 221 | try testArgs(i128, i4, -1); | ||
| 222 | try testArgs(i128, i4, 0); | ||
| 223 | try testArgs(i256, i4, -1 << 3); | ||
| 224 | try testArgs(i256, i4, -1); | ||
| 225 | try testArgs(i256, i4, 0); | ||
| 226 | try testArgs(i512, i4, -1 << 3); | ||
| 227 | try testArgs(i512, i4, -1); | ||
| 228 | try testArgs(i512, i4, 0); | ||
| 229 | try testArgs(i1024, i4, -1 << 3); | ||
| 230 | try testArgs(i1024, i4, -1); | ||
| 231 | try testArgs(i1024, i4, 0); | ||
| 232 | try testArgs(u8, u4, 0); | ||
| 233 | try testArgs(u8, u4, 1 << 0); | ||
| 234 | try testArgs(u8, u4, 1 << 3); | ||
| 235 | try testArgs(u16, u4, 0); | ||
| 236 | try testArgs(u16, u4, 1 << 0); | ||
| 237 | try testArgs(u16, u4, 1 << 3); | ||
| 238 | try testArgs(u32, u4, 0); | ||
| 239 | try testArgs(u32, u4, 1 << 0); | ||
| 240 | try testArgs(u32, u4, 1 << 3); | ||
| 241 | try testArgs(u64, u4, 0); | ||
| 242 | try testArgs(u64, u4, 1 << 0); | ||
| 243 | try testArgs(u64, u4, 1 << 3); | ||
| 244 | try testArgs(u128, u4, 0); | ||
| 245 | try testArgs(u128, u4, 1 << 0); | ||
| 246 | try testArgs(u128, u4, 1 << 3); | ||
| 247 | try testArgs(u256, u4, 0); | ||
| 248 | try testArgs(u256, u4, 1 << 0); | ||
| 249 | try testArgs(u256, u4, 1 << 3); | ||
| 250 | try testArgs(u512, u4, 0); | ||
| 251 | try testArgs(u512, u4, 1 << 0); | ||
| 252 | try testArgs(u512, u4, 1 << 3); | ||
| 253 | try testArgs(u1024, u4, 0); | ||
| 254 | try testArgs(u1024, u4, 1 << 0); | ||
| 255 | try testArgs(u1024, u4, 1 << 3); | ||
| 256 | |||
| 257 | try testArgs(i8, i5, -1 << 4); | ||
| 258 | try testArgs(i8, i5, -1); | ||
| 259 | try testArgs(i8, i5, 0); | ||
| 260 | try testArgs(i16, i5, -1 << 4); | ||
| 261 | try testArgs(i16, i5, -1); | ||
| 262 | try testArgs(i16, i5, 0); | ||
| 263 | try testArgs(i32, i5, -1 << 4); | ||
| 264 | try testArgs(i32, i5, -1); | ||
| 265 | try testArgs(i32, i5, 0); | ||
| 266 | try testArgs(i64, i5, -1 << 4); | ||
| 267 | try testArgs(i64, i5, -1); | ||
| 268 | try testArgs(i64, i5, 0); | ||
| 269 | try testArgs(i128, i5, -1 << 4); | ||
| 270 | try testArgs(i128, i5, -1); | ||
| 271 | try testArgs(i128, i5, 0); | ||
| 272 | try testArgs(i256, i5, -1 << 4); | ||
| 273 | try testArgs(i256, i5, -1); | ||
| 274 | try testArgs(i256, i5, 0); | ||
| 275 | try testArgs(i512, i5, -1 << 4); | ||
| 276 | try testArgs(i512, i5, -1); | ||
| 277 | try testArgs(i512, i5, 0); | ||
| 278 | try testArgs(i1024, i5, -1 << 4); | ||
| 279 | try testArgs(i1024, i5, -1); | ||
| 280 | try testArgs(i1024, i5, 0); | ||
| 281 | try testArgs(u8, u5, 0); | ||
| 282 | try testArgs(u8, u5, 1 << 0); | ||
| 283 | try testArgs(u8, u5, 1 << 4); | ||
| 284 | try testArgs(u16, u5, 0); | ||
| 285 | try testArgs(u16, u5, 1 << 0); | ||
| 286 | try testArgs(u16, u5, 1 << 4); | ||
| 287 | try testArgs(u32, u5, 0); | ||
| 288 | try testArgs(u32, u5, 1 << 0); | ||
| 289 | try testArgs(u32, u5, 1 << 4); | ||
| 290 | try testArgs(u64, u5, 0); | ||
| 291 | try testArgs(u64, u5, 1 << 0); | ||
| 292 | try testArgs(u64, u5, 1 << 4); | ||
| 293 | try testArgs(u128, u5, 0); | ||
| 294 | try testArgs(u128, u5, 1 << 0); | ||
| 295 | try testArgs(u128, u5, 1 << 4); | ||
| 296 | try testArgs(u256, u5, 0); | ||
| 297 | try testArgs(u256, u5, 1 << 0); | ||
| 298 | try testArgs(u256, u5, 1 << 4); | ||
| 299 | try testArgs(u512, u5, 0); | ||
| 300 | try testArgs(u512, u5, 1 << 0); | ||
| 301 | try testArgs(u512, u5, 1 << 4); | ||
| 302 | try testArgs(u1024, u5, 0); | ||
| 303 | try testArgs(u1024, u5, 1 << 0); | ||
| 304 | try testArgs(u1024, u5, 1 << 4); | ||
| 305 | |||
| 306 | try testArgs(i8, i7, -1 << 6); | ||
| 307 | try testArgs(i8, i7, -1); | ||
| 308 | try testArgs(i8, i7, 0); | ||
| 309 | try testArgs(i16, i7, -1 << 6); | ||
| 310 | try testArgs(i16, i7, -1); | ||
| 311 | try testArgs(i16, i7, 0); | ||
| 312 | try testArgs(i32, i7, -1 << 6); | ||
| 313 | try testArgs(i32, i7, -1); | ||
| 314 | try testArgs(i32, i7, 0); | ||
| 315 | try testArgs(i64, i7, -1 << 6); | ||
| 316 | try testArgs(i64, i7, -1); | ||
| 317 | try testArgs(i64, i7, 0); | ||
| 318 | try testArgs(i128, i7, -1 << 6); | ||
| 319 | try testArgs(i128, i7, -1); | ||
| 320 | try testArgs(i128, i7, 0); | ||
| 321 | try testArgs(i256, i7, -1 << 6); | ||
| 322 | try testArgs(i256, i7, -1); | ||
| 323 | try testArgs(i256, i7, 0); | ||
| 324 | try testArgs(i512, i7, -1 << 6); | ||
| 325 | try testArgs(i512, i7, -1); | ||
| 326 | try testArgs(i512, i7, 0); | ||
| 327 | try testArgs(i1024, i7, -1 << 6); | ||
| 328 | try testArgs(i1024, i7, -1); | ||
| 329 | try testArgs(i1024, i7, 0); | ||
| 330 | try testArgs(u8, u7, 0); | ||
| 331 | try testArgs(u8, u7, 1 << 0); | ||
| 332 | try testArgs(u8, u7, 1 << 6); | ||
| 333 | try testArgs(u16, u7, 0); | ||
| 334 | try testArgs(u16, u7, 1 << 0); | ||
| 335 | try testArgs(u16, u7, 1 << 6); | ||
| 336 | try testArgs(u32, u7, 0); | ||
| 337 | try testArgs(u32, u7, 1 << 0); | ||
| 338 | try testArgs(u32, u7, 1 << 6); | ||
| 339 | try testArgs(u64, u7, 0); | ||
| 340 | try testArgs(u64, u7, 1 << 0); | ||
| 341 | try testArgs(u64, u7, 1 << 6); | ||
| 342 | try testArgs(u128, u7, 0); | ||
| 343 | try testArgs(u128, u7, 1 << 0); | ||
| 344 | try testArgs(u128, u7, 1 << 6); | ||
| 345 | try testArgs(u256, u7, 0); | ||
| 346 | try testArgs(u256, u7, 1 << 0); | ||
| 347 | try testArgs(u256, u7, 1 << 6); | ||
| 348 | try testArgs(u512, u7, 0); | ||
| 349 | try testArgs(u512, u7, 1 << 0); | ||
| 350 | try testArgs(u512, u7, 1 << 6); | ||
| 351 | try testArgs(u1024, u7, 0); | ||
| 352 | try testArgs(u1024, u7, 1 << 0); | ||
| 353 | try testArgs(u1024, u7, 1 << 6); | ||
| 354 | |||
| 355 | try testArgs(i8, i8, -1 << 7); | ||
| 356 | try testArgs(i8, i8, -1); | ||
| 357 | try testArgs(i8, i8, 0); | ||
| 358 | try testArgs(i16, i8, -1 << 7); | ||
| 359 | try testArgs(i16, i8, -1); | ||
| 360 | try testArgs(i16, i8, 0); | ||
| 361 | try testArgs(i32, i8, -1 << 7); | ||
| 362 | try testArgs(i32, i8, -1); | ||
| 363 | try testArgs(i32, i8, 0); | ||
| 364 | try testArgs(i64, i8, -1 << 7); | ||
| 365 | try testArgs(i64, i8, -1); | ||
| 366 | try testArgs(i64, i8, 0); | ||
| 367 | try testArgs(i128, i8, -1 << 7); | ||
| 368 | try testArgs(i128, i8, -1); | ||
| 369 | try testArgs(i128, i8, 0); | ||
| 370 | try testArgs(i256, i8, -1 << 7); | ||
| 371 | try testArgs(i256, i8, -1); | ||
| 372 | try testArgs(i256, i8, 0); | ||
| 373 | try testArgs(i512, i8, -1 << 7); | ||
| 374 | try testArgs(i512, i8, -1); | ||
| 375 | try testArgs(i512, i8, 0); | ||
| 376 | try testArgs(i1024, i8, -1 << 7); | ||
| 377 | try testArgs(i1024, i8, -1); | ||
| 378 | try testArgs(i1024, i8, 0); | ||
| 379 | try testArgs(u8, u8, 0); | ||
| 380 | try testArgs(u8, u8, 1 << 0); | ||
| 381 | try testArgs(u8, u8, 1 << 7); | ||
| 382 | try testArgs(u16, u8, 0); | ||
| 383 | try testArgs(u16, u8, 1 << 0); | ||
| 384 | try testArgs(u16, u8, 1 << 7); | ||
| 385 | try testArgs(u32, u8, 0); | ||
| 386 | try testArgs(u32, u8, 1 << 0); | ||
| 387 | try testArgs(u32, u8, 1 << 7); | ||
| 388 | try testArgs(u64, u8, 0); | ||
| 389 | try testArgs(u64, u8, 1 << 0); | ||
| 390 | try testArgs(u64, u8, 1 << 7); | ||
| 391 | try testArgs(u128, u8, 0); | ||
| 392 | try testArgs(u128, u8, 1 << 0); | ||
| 393 | try testArgs(u128, u8, 1 << 7); | ||
| 394 | try testArgs(u256, u8, 0); | ||
| 395 | try testArgs(u256, u8, 1 << 0); | ||
| 396 | try testArgs(u256, u8, 1 << 7); | ||
| 397 | try testArgs(u512, u8, 0); | ||
| 398 | try testArgs(u512, u8, 1 << 0); | ||
| 399 | try testArgs(u512, u8, 1 << 7); | ||
| 400 | try testArgs(u1024, u8, 0); | ||
| 401 | try testArgs(u1024, u8, 1 << 0); | ||
| 402 | try testArgs(u1024, u8, 1 << 7); | ||
| 403 | |||
| 404 | try testArgs(i8, i9, -1 << 8); | ||
| 405 | try testArgs(i8, i9, -1); | ||
| 406 | try testArgs(i8, i9, 0); | ||
| 407 | try testArgs(i16, i9, -1 << 8); | ||
| 408 | try testArgs(i16, i9, -1); | ||
| 409 | try testArgs(i16, i9, 0); | ||
| 410 | try testArgs(i32, i9, -1 << 8); | ||
| 411 | try testArgs(i32, i9, -1); | ||
| 412 | try testArgs(i32, i9, 0); | ||
| 413 | try testArgs(i64, i9, -1 << 8); | ||
| 414 | try testArgs(i64, i9, -1); | ||
| 415 | try testArgs(i64, i9, 0); | ||
| 416 | try testArgs(i128, i9, -1 << 8); | ||
| 417 | try testArgs(i128, i9, -1); | ||
| 418 | try testArgs(i128, i9, 0); | ||
| 419 | try testArgs(i256, i9, -1 << 8); | ||
| 420 | try testArgs(i256, i9, -1); | ||
| 421 | try testArgs(i256, i9, 0); | ||
| 422 | try testArgs(i512, i9, -1 << 8); | ||
| 423 | try testArgs(i512, i9, -1); | ||
| 424 | try testArgs(i512, i9, 0); | ||
| 425 | try testArgs(i1024, i9, -1 << 8); | ||
| 426 | try testArgs(i1024, i9, -1); | ||
| 427 | try testArgs(i1024, i9, 0); | ||
| 428 | try testArgs(u8, u9, 0); | ||
| 429 | try testArgs(u8, u9, 1 << 0); | ||
| 430 | try testArgs(u8, u9, 1 << 8); | ||
| 431 | try testArgs(u16, u9, 0); | ||
| 432 | try testArgs(u16, u9, 1 << 0); | ||
| 433 | try testArgs(u16, u9, 1 << 8); | ||
| 434 | try testArgs(u32, u9, 0); | ||
| 435 | try testArgs(u32, u9, 1 << 0); | ||
| 436 | try testArgs(u32, u9, 1 << 8); | ||
| 437 | try testArgs(u64, u9, 0); | ||
| 438 | try testArgs(u64, u9, 1 << 0); | ||
| 439 | try testArgs(u64, u9, 1 << 8); | ||
| 440 | try testArgs(u128, u9, 0); | ||
| 441 | try testArgs(u128, u9, 1 << 0); | ||
| 442 | try testArgs(u128, u9, 1 << 8); | ||
| 443 | try testArgs(u256, u9, 0); | ||
| 444 | try testArgs(u256, u9, 1 << 0); | ||
| 445 | try testArgs(u256, u9, 1 << 8); | ||
| 446 | try testArgs(u512, u9, 0); | ||
| 447 | try testArgs(u512, u9, 1 << 0); | ||
| 448 | try testArgs(u512, u9, 1 << 8); | ||
| 449 | try testArgs(u1024, u9, 0); | ||
| 450 | try testArgs(u1024, u9, 1 << 0); | ||
| 451 | try testArgs(u1024, u9, 1 << 8); | ||
| 452 | |||
| 453 | try testArgs(i8, i15, -1 << 14); | ||
| 454 | try testArgs(i8, i15, -1); | ||
| 455 | try testArgs(i8, i15, 0); | ||
| 456 | try testArgs(i16, i15, -1 << 14); | ||
| 457 | try testArgs(i16, i15, -1); | ||
| 458 | try testArgs(i16, i15, 0); | ||
| 459 | try testArgs(i32, i15, -1 << 14); | ||
| 460 | try testArgs(i32, i15, -1); | ||
| 461 | try testArgs(i32, i15, 0); | ||
| 462 | try testArgs(i64, i15, -1 << 14); | ||
| 463 | try testArgs(i64, i15, -1); | ||
| 464 | try testArgs(i64, i15, 0); | ||
| 465 | try testArgs(i128, i15, -1 << 14); | ||
| 466 | try testArgs(i128, i15, -1); | ||
| 467 | try testArgs(i128, i15, 0); | ||
| 468 | try testArgs(i256, i15, -1 << 14); | ||
| 469 | try testArgs(i256, i15, -1); | ||
| 470 | try testArgs(i256, i15, 0); | ||
| 471 | try testArgs(i512, i15, -1 << 14); | ||
| 472 | try testArgs(i512, i15, -1); | ||
| 473 | try testArgs(i512, i15, 0); | ||
| 474 | try testArgs(i1024, i15, -1 << 14); | ||
| 475 | try testArgs(i1024, i15, -1); | ||
| 476 | try testArgs(i1024, i15, 0); | ||
| 477 | try testArgs(u8, u15, 0); | ||
| 478 | try testArgs(u8, u15, 1 << 0); | ||
| 479 | try testArgs(u8, u15, 1 << 14); | ||
| 480 | try testArgs(u16, u15, 0); | ||
| 481 | try testArgs(u16, u15, 1 << 0); | ||
| 482 | try testArgs(u16, u15, 1 << 14); | ||
| 483 | try testArgs(u32, u15, 0); | ||
| 484 | try testArgs(u32, u15, 1 << 0); | ||
| 485 | try testArgs(u32, u15, 1 << 14); | ||
| 486 | try testArgs(u64, u15, 0); | ||
| 487 | try testArgs(u64, u15, 1 << 0); | ||
| 488 | try testArgs(u64, u15, 1 << 14); | ||
| 489 | try testArgs(u128, u15, 0); | ||
| 490 | try testArgs(u128, u15, 1 << 0); | ||
| 491 | try testArgs(u128, u15, 1 << 14); | ||
| 492 | try testArgs(u256, u15, 0); | ||
| 493 | try testArgs(u256, u15, 1 << 0); | ||
| 494 | try testArgs(u256, u15, 1 << 14); | ||
| 495 | try testArgs(u512, u15, 0); | ||
| 496 | try testArgs(u512, u15, 1 << 0); | ||
| 497 | try testArgs(u512, u15, 1 << 14); | ||
| 498 | try testArgs(u1024, u15, 0); | ||
| 499 | try testArgs(u1024, u15, 1 << 0); | ||
| 500 | try testArgs(u1024, u15, 1 << 14); | ||
| 501 | |||
| 502 | try testArgs(i8, i16, -1 << 15); | ||
| 503 | try testArgs(i8, i16, -1); | ||
| 504 | try testArgs(i8, i16, 0); | ||
| 505 | try testArgs(i16, i16, -1 << 15); | ||
| 506 | try testArgs(i16, i16, -1); | ||
| 507 | try testArgs(i16, i16, 0); | ||
| 508 | try testArgs(i32, i16, -1 << 15); | ||
| 509 | try testArgs(i32, i16, -1); | ||
| 510 | try testArgs(i32, i16, 0); | ||
| 511 | try testArgs(i64, i16, -1 << 15); | ||
| 512 | try testArgs(i64, i16, -1); | ||
| 513 | try testArgs(i64, i16, 0); | ||
| 514 | try testArgs(i128, i16, -1 << 15); | ||
| 515 | try testArgs(i128, i16, -1); | ||
| 516 | try testArgs(i128, i16, 0); | ||
| 517 | try testArgs(i256, i16, -1 << 15); | ||
| 518 | try testArgs(i256, i16, -1); | ||
| 519 | try testArgs(i256, i16, 0); | ||
| 520 | try testArgs(i512, i16, -1 << 15); | ||
| 521 | try testArgs(i512, i16, -1); | ||
| 522 | try testArgs(i512, i16, 0); | ||
| 523 | try testArgs(i1024, i16, -1 << 15); | ||
| 524 | try testArgs(i1024, i16, -1); | ||
| 525 | try testArgs(i1024, i16, 0); | ||
| 526 | try testArgs(u8, u16, 0); | ||
| 527 | try testArgs(u8, u16, 1 << 0); | ||
| 528 | try testArgs(u8, u16, 1 << 15); | ||
| 529 | try testArgs(u16, u16, 0); | ||
| 530 | try testArgs(u16, u16, 1 << 0); | ||
| 531 | try testArgs(u16, u16, 1 << 15); | ||
| 532 | try testArgs(u32, u16, 0); | ||
| 533 | try testArgs(u32, u16, 1 << 0); | ||
| 534 | try testArgs(u32, u16, 1 << 15); | ||
| 535 | try testArgs(u64, u16, 0); | ||
| 536 | try testArgs(u64, u16, 1 << 0); | ||
| 537 | try testArgs(u64, u16, 1 << 15); | ||
| 538 | try testArgs(u128, u16, 0); | ||
| 539 | try testArgs(u128, u16, 1 << 0); | ||
| 540 | try testArgs(u128, u16, 1 << 15); | ||
| 541 | try testArgs(u256, u16, 0); | ||
| 542 | try testArgs(u256, u16, 1 << 0); | ||
| 543 | try testArgs(u256, u16, 1 << 15); | ||
| 544 | try testArgs(u512, u16, 0); | ||
| 545 | try testArgs(u512, u16, 1 << 0); | ||
| 546 | try testArgs(u512, u16, 1 << 15); | ||
| 547 | try testArgs(u1024, u16, 0); | ||
| 548 | try testArgs(u1024, u16, 1 << 0); | ||
| 549 | try testArgs(u1024, u16, 1 << 15); | ||
| 550 | |||
| 551 | try testArgs(i8, i17, -1 << 16); | ||
| 552 | try testArgs(i8, i17, -1); | ||
| 553 | try testArgs(i8, i17, 0); | ||
| 554 | try testArgs(i16, i17, -1 << 16); | ||
| 555 | try testArgs(i16, i17, -1); | ||
| 556 | try testArgs(i16, i17, 0); | ||
| 557 | try testArgs(i32, i17, -1 << 16); | ||
| 558 | try testArgs(i32, i17, -1); | ||
| 559 | try testArgs(i32, i17, 0); | ||
| 560 | try testArgs(i64, i17, -1 << 16); | ||
| 561 | try testArgs(i64, i17, -1); | ||
| 562 | try testArgs(i64, i17, 0); | ||
| 563 | try testArgs(i128, i17, -1 << 16); | ||
| 564 | try testArgs(i128, i17, -1); | ||
| 565 | try testArgs(i128, i17, 0); | ||
| 566 | try testArgs(i256, i17, -1 << 16); | ||
| 567 | try testArgs(i256, i17, -1); | ||
| 568 | try testArgs(i256, i17, 0); | ||
| 569 | try testArgs(i512, i17, -1 << 16); | ||
| 570 | try testArgs(i512, i17, -1); | ||
| 571 | try testArgs(i512, i17, 0); | ||
| 572 | try testArgs(i1024, i17, -1 << 16); | ||
| 573 | try testArgs(i1024, i17, -1); | ||
| 574 | try testArgs(i1024, i17, 0); | ||
| 575 | try testArgs(u8, u17, 0); | ||
| 576 | try testArgs(u8, u17, 1 << 0); | ||
| 577 | try testArgs(u8, u17, 1 << 16); | ||
| 578 | try testArgs(u16, u17, 0); | ||
| 579 | try testArgs(u16, u17, 1 << 0); | ||
| 580 | try testArgs(u16, u17, 1 << 16); | ||
| 581 | try testArgs(u32, u17, 0); | ||
| 582 | try testArgs(u32, u17, 1 << 0); | ||
| 583 | try testArgs(u32, u17, 1 << 16); | ||
| 584 | try testArgs(u64, u17, 0); | ||
| 585 | try testArgs(u64, u17, 1 << 0); | ||
| 586 | try testArgs(u64, u17, 1 << 16); | ||
| 587 | try testArgs(u128, u17, 0); | ||
| 588 | try testArgs(u128, u17, 1 << 0); | ||
| 589 | try testArgs(u128, u17, 1 << 16); | ||
| 590 | try testArgs(u256, u17, 0); | ||
| 591 | try testArgs(u256, u17, 1 << 0); | ||
| 592 | try testArgs(u256, u17, 1 << 16); | ||
| 593 | try testArgs(u512, u17, 0); | ||
| 594 | try testArgs(u512, u17, 1 << 0); | ||
| 595 | try testArgs(u512, u17, 1 << 16); | ||
| 596 | try testArgs(u1024, u17, 0); | ||
| 597 | try testArgs(u1024, u17, 1 << 0); | ||
| 598 | try testArgs(u1024, u17, 1 << 16); | ||
| 599 | |||
| 600 | try testArgs(i8, i31, -1 << 30); | ||
| 601 | try testArgs(i8, i31, -1); | ||
| 602 | try testArgs(i8, i31, 0); | ||
| 603 | try testArgs(i16, i31, -1 << 30); | ||
| 604 | try testArgs(i16, i31, -1); | ||
| 605 | try testArgs(i16, i31, 0); | ||
| 606 | try testArgs(i32, i31, -1 << 30); | ||
| 607 | try testArgs(i32, i31, -1); | ||
| 608 | try testArgs(i32, i31, 0); | ||
| 609 | try testArgs(i64, i31, -1 << 30); | ||
| 610 | try testArgs(i64, i31, -1); | ||
| 611 | try testArgs(i64, i31, 0); | ||
| 612 | try testArgs(i128, i31, -1 << 30); | ||
| 613 | try testArgs(i128, i31, -1); | ||
| 614 | try testArgs(i128, i31, 0); | ||
| 615 | try testArgs(i256, i31, -1 << 30); | ||
| 616 | try testArgs(i256, i31, -1); | ||
| 617 | try testArgs(i256, i31, 0); | ||
| 618 | try testArgs(i512, i31, -1 << 30); | ||
| 619 | try testArgs(i512, i31, -1); | ||
| 620 | try testArgs(i512, i31, 0); | ||
| 621 | try testArgs(i1024, i31, -1 << 30); | ||
| 622 | try testArgs(i1024, i31, -1); | ||
| 623 | try testArgs(i1024, i31, 0); | ||
| 624 | try testArgs(u8, u31, 0); | ||
| 625 | try testArgs(u8, u31, 1 << 0); | ||
| 626 | try testArgs(u8, u31, 1 << 30); | ||
| 627 | try testArgs(u16, u31, 0); | ||
| 628 | try testArgs(u16, u31, 1 << 0); | ||
| 629 | try testArgs(u16, u31, 1 << 30); | ||
| 630 | try testArgs(u32, u31, 0); | ||
| 631 | try testArgs(u32, u31, 1 << 0); | ||
| 632 | try testArgs(u32, u31, 1 << 30); | ||
| 633 | try testArgs(u64, u31, 0); | ||
| 634 | try testArgs(u64, u31, 1 << 0); | ||
| 635 | try testArgs(u64, u31, 1 << 30); | ||
| 636 | try testArgs(u128, u31, 0); | ||
| 637 | try testArgs(u128, u31, 1 << 0); | ||
| 638 | try testArgs(u128, u31, 1 << 30); | ||
| 639 | try testArgs(u256, u31, 0); | ||
| 640 | try testArgs(u256, u31, 1 << 0); | ||
| 641 | try testArgs(u256, u31, 1 << 30); | ||
| 642 | try testArgs(u512, u31, 0); | ||
| 643 | try testArgs(u512, u31, 1 << 0); | ||
| 644 | try testArgs(u512, u31, 1 << 30); | ||
| 645 | try testArgs(u1024, u31, 0); | ||
| 646 | try testArgs(u1024, u31, 1 << 0); | ||
| 647 | try testArgs(u1024, u31, 1 << 30); | ||
| 648 | |||
| 649 | try testArgs(i8, i32, -1 << 31); | ||
| 650 | try testArgs(i8, i32, -1); | ||
| 651 | try testArgs(i8, i32, 0); | ||
| 652 | try testArgs(i16, i32, -1 << 31); | ||
| 653 | try testArgs(i16, i32, -1); | ||
| 654 | try testArgs(i16, i32, 0); | ||
| 655 | try testArgs(i32, i32, -1 << 31); | ||
| 656 | try testArgs(i32, i32, -1); | ||
| 657 | try testArgs(i32, i32, 0); | ||
| 658 | try testArgs(i64, i32, -1 << 31); | ||
| 659 | try testArgs(i64, i32, -1); | ||
| 660 | try testArgs(i64, i32, 0); | ||
| 661 | try testArgs(i128, i32, -1 << 31); | ||
| 662 | try testArgs(i128, i32, -1); | ||
| 663 | try testArgs(i128, i32, 0); | ||
| 664 | try testArgs(i256, i32, -1 << 31); | ||
| 665 | try testArgs(i256, i32, -1); | ||
| 666 | try testArgs(i256, i32, 0); | ||
| 667 | try testArgs(i512, i32, -1 << 31); | ||
| 668 | try testArgs(i512, i32, -1); | ||
| 669 | try testArgs(i512, i32, 0); | ||
| 670 | try testArgs(i1024, i32, -1 << 31); | ||
| 671 | try testArgs(i1024, i32, -1); | ||
| 672 | try testArgs(i1024, i32, 0); | ||
| 673 | try testArgs(u8, u32, 0); | ||
| 674 | try testArgs(u8, u32, 1 << 0); | ||
| 675 | try testArgs(u8, u32, 1 << 31); | ||
| 676 | try testArgs(u16, u32, 0); | ||
| 677 | try testArgs(u16, u32, 1 << 0); | ||
| 678 | try testArgs(u16, u32, 1 << 31); | ||
| 679 | try testArgs(u32, u32, 0); | ||
| 680 | try testArgs(u32, u32, 1 << 0); | ||
| 681 | try testArgs(u32, u32, 1 << 31); | ||
| 682 | try testArgs(u64, u32, 0); | ||
| 683 | try testArgs(u64, u32, 1 << 0); | ||
| 684 | try testArgs(u64, u32, 1 << 31); | ||
| 685 | try testArgs(u128, u32, 0); | ||
| 686 | try testArgs(u128, u32, 1 << 0); | ||
| 687 | try testArgs(u128, u32, 1 << 31); | ||
| 688 | try testArgs(u256, u32, 0); | ||
| 689 | try testArgs(u256, u32, 1 << 0); | ||
| 690 | try testArgs(u256, u32, 1 << 31); | ||
| 691 | try testArgs(u512, u32, 0); | ||
| 692 | try testArgs(u512, u32, 1 << 0); | ||
| 693 | try testArgs(u512, u32, 1 << 31); | ||
| 694 | try testArgs(u1024, u32, 0); | ||
| 695 | try testArgs(u1024, u32, 1 << 0); | ||
| 696 | try testArgs(u1024, u32, 1 << 31); | ||
| 697 | |||
| 698 | try testArgs(i8, i33, -1 << 32); | ||
| 699 | try testArgs(i8, i33, -1); | ||
| 700 | try testArgs(i8, i33, 0); | ||
| 701 | try testArgs(i16, i33, -1 << 32); | ||
| 702 | try testArgs(i16, i33, -1); | ||
| 703 | try testArgs(i16, i33, 0); | ||
| 704 | try testArgs(i32, i33, -1 << 32); | ||
| 705 | try testArgs(i32, i33, -1); | ||
| 706 | try testArgs(i32, i33, 0); | ||
| 707 | try testArgs(i64, i33, -1 << 32); | ||
| 708 | try testArgs(i64, i33, -1); | ||
| 709 | try testArgs(i64, i33, 0); | ||
| 710 | try testArgs(i128, i33, -1 << 32); | ||
| 711 | try testArgs(i128, i33, -1); | ||
| 712 | try testArgs(i128, i33, 0); | ||
| 713 | try testArgs(i256, i33, -1 << 32); | ||
| 714 | try testArgs(i256, i33, -1); | ||
| 715 | try testArgs(i256, i33, 0); | ||
| 716 | try testArgs(i512, i33, -1 << 32); | ||
| 717 | try testArgs(i512, i33, -1); | ||
| 718 | try testArgs(i512, i33, 0); | ||
| 719 | try testArgs(i1024, i33, -1 << 32); | ||
| 720 | try testArgs(i1024, i33, -1); | ||
| 721 | try testArgs(i1024, i33, 0); | ||
| 722 | try testArgs(u8, u33, 0); | ||
| 723 | try testArgs(u8, u33, 1 << 0); | ||
| 724 | try testArgs(u8, u33, 1 << 32); | ||
| 725 | try testArgs(u16, u33, 0); | ||
| 726 | try testArgs(u16, u33, 1 << 0); | ||
| 727 | try testArgs(u16, u33, 1 << 32); | ||
| 728 | try testArgs(u32, u33, 0); | ||
| 729 | try testArgs(u32, u33, 1 << 0); | ||
| 730 | try testArgs(u32, u33, 1 << 32); | ||
| 731 | try testArgs(u64, u33, 0); | ||
| 732 | try testArgs(u64, u33, 1 << 0); | ||
| 733 | try testArgs(u64, u33, 1 << 32); | ||
| 734 | try testArgs(u128, u33, 0); | ||
| 735 | try testArgs(u128, u33, 1 << 0); | ||
| 736 | try testArgs(u128, u33, 1 << 32); | ||
| 737 | try testArgs(u256, u33, 0); | ||
| 738 | try testArgs(u256, u33, 1 << 0); | ||
| 739 | try testArgs(u256, u33, 1 << 32); | ||
| 740 | try testArgs(u512, u33, 0); | ||
| 741 | try testArgs(u512, u33, 1 << 0); | ||
| 742 | try testArgs(u512, u33, 1 << 32); | ||
| 743 | try testArgs(u1024, u33, 0); | ||
| 744 | try testArgs(u1024, u33, 1 << 0); | ||
| 745 | try testArgs(u1024, u33, 1 << 32); | ||
| 746 | |||
| 747 | try testArgs(i8, i63, -1 << 62); | ||
| 748 | try testArgs(i8, i63, -1); | ||
| 749 | try testArgs(i8, i63, 0); | ||
| 750 | try testArgs(i16, i63, -1 << 62); | ||
| 751 | try testArgs(i16, i63, -1); | ||
| 752 | try testArgs(i16, i63, 0); | ||
| 753 | try testArgs(i32, i63, -1 << 62); | ||
| 754 | try testArgs(i32, i63, -1); | ||
| 755 | try testArgs(i32, i63, 0); | ||
| 756 | try testArgs(i64, i63, -1 << 62); | ||
| 757 | try testArgs(i64, i63, -1); | ||
| 758 | try testArgs(i64, i63, 0); | ||
| 759 | try testArgs(i128, i63, -1 << 62); | ||
| 760 | try testArgs(i128, i63, -1); | ||
| 761 | try testArgs(i128, i63, 0); | ||
| 762 | try testArgs(i256, i63, -1 << 62); | ||
| 763 | try testArgs(i256, i63, -1); | ||
| 764 | try testArgs(i256, i63, 0); | ||
| 765 | try testArgs(i512, i63, -1 << 62); | ||
| 766 | try testArgs(i512, i63, -1); | ||
| 767 | try testArgs(i512, i63, 0); | ||
| 768 | try testArgs(i1024, i63, -1 << 62); | ||
| 769 | try testArgs(i1024, i63, -1); | ||
| 770 | try testArgs(i1024, i63, 0); | ||
| 771 | try testArgs(u8, u63, 0); | ||
| 772 | try testArgs(u8, u63, 1 << 0); | ||
| 773 | try testArgs(u8, u63, 1 << 62); | ||
| 774 | try testArgs(u16, u63, 0); | ||
| 775 | try testArgs(u16, u63, 1 << 0); | ||
| 776 | try testArgs(u16, u63, 1 << 62); | ||
| 777 | try testArgs(u32, u63, 0); | ||
| 778 | try testArgs(u32, u63, 1 << 0); | ||
| 779 | try testArgs(u32, u63, 1 << 62); | ||
| 780 | try testArgs(u64, u63, 0); | ||
| 781 | try testArgs(u64, u63, 1 << 0); | ||
| 782 | try testArgs(u64, u63, 1 << 62); | ||
| 783 | try testArgs(u128, u63, 0); | ||
| 784 | try testArgs(u128, u63, 1 << 0); | ||
| 785 | try testArgs(u128, u63, 1 << 62); | ||
| 786 | try testArgs(u256, u63, 0); | ||
| 787 | try testArgs(u256, u63, 1 << 0); | ||
| 788 | try testArgs(u256, u63, 1 << 62); | ||
| 789 | try testArgs(u512, u63, 0); | ||
| 790 | try testArgs(u512, u63, 1 << 0); | ||
| 791 | try testArgs(u512, u63, 1 << 62); | ||
| 792 | try testArgs(u1024, u63, 0); | ||
| 793 | try testArgs(u1024, u63, 1 << 0); | ||
| 794 | try testArgs(u1024, u63, 1 << 62); | ||
| 795 | |||
| 796 | try testArgs(i8, i64, -1 << 63); | ||
| 797 | try testArgs(i8, i64, -1); | ||
| 798 | try testArgs(i8, i64, 0); | ||
| 799 | try testArgs(i16, i64, -1 << 63); | ||
| 800 | try testArgs(i16, i64, -1); | ||
| 801 | try testArgs(i16, i64, 0); | ||
| 802 | try testArgs(i32, i64, -1 << 63); | ||
| 803 | try testArgs(i32, i64, -1); | ||
| 804 | try testArgs(i32, i64, 0); | ||
| 805 | try testArgs(i64, i64, -1 << 63); | ||
| 806 | try testArgs(i64, i64, -1); | ||
| 807 | try testArgs(i64, i64, 0); | ||
| 808 | try testArgs(i128, i64, -1 << 63); | ||
| 809 | try testArgs(i128, i64, -1); | ||
| 810 | try testArgs(i128, i64, 0); | ||
| 811 | try testArgs(i256, i64, -1 << 63); | ||
| 812 | try testArgs(i256, i64, -1); | ||
| 813 | try testArgs(i256, i64, 0); | ||
| 814 | try testArgs(i512, i64, -1 << 63); | ||
| 815 | try testArgs(i512, i64, -1); | ||
| 816 | try testArgs(i512, i64, 0); | ||
| 817 | try testArgs(i1024, i64, -1 << 63); | ||
| 818 | try testArgs(i1024, i64, -1); | ||
| 819 | try testArgs(i1024, i64, 0); | ||
| 820 | try testArgs(u8, u64, 0); | ||
| 821 | try testArgs(u8, u64, 1 << 0); | ||
| 822 | try testArgs(u8, u64, 1 << 63); | ||
| 823 | try testArgs(u16, u64, 0); | ||
| 824 | try testArgs(u16, u64, 1 << 0); | ||
| 825 | try testArgs(u16, u64, 1 << 63); | ||
| 826 | try testArgs(u32, u64, 0); | ||
| 827 | try testArgs(u32, u64, 1 << 0); | ||
| 828 | try testArgs(u32, u64, 1 << 63); | ||
| 829 | try testArgs(u64, u64, 0); | ||
| 830 | try testArgs(u64, u64, 1 << 0); | ||
| 831 | try testArgs(u64, u64, 1 << 63); | ||
| 832 | try testArgs(u128, u64, 0); | ||
| 833 | try testArgs(u128, u64, 1 << 0); | ||
| 834 | try testArgs(u128, u64, 1 << 63); | ||
| 835 | try testArgs(u256, u64, 0); | ||
| 836 | try testArgs(u256, u64, 1 << 0); | ||
| 837 | try testArgs(u256, u64, 1 << 63); | ||
| 838 | try testArgs(u512, u64, 0); | ||
| 839 | try testArgs(u512, u64, 1 << 0); | ||
| 840 | try testArgs(u512, u64, 1 << 63); | ||
| 841 | try testArgs(u1024, u64, 0); | ||
| 842 | try testArgs(u1024, u64, 1 << 0); | ||
| 843 | try testArgs(u1024, u64, 1 << 63); | ||
| 844 | |||
| 845 | try testArgs(i8, i65, -1 << 64); | ||
| 846 | try testArgs(i8, i65, -1); | ||
| 847 | try testArgs(i8, i65, 0); | ||
| 848 | try testArgs(i16, i65, -1 << 64); | ||
| 849 | try testArgs(i16, i65, -1); | ||
| 850 | try testArgs(i16, i65, 0); | ||
| 851 | try testArgs(i32, i65, -1 << 64); | ||
| 852 | try testArgs(i32, i65, -1); | ||
| 853 | try testArgs(i32, i65, 0); | ||
| 854 | try testArgs(i64, i65, -1 << 64); | ||
| 855 | try testArgs(i64, i65, -1); | ||
| 856 | try testArgs(i64, i65, 0); | ||
| 857 | try testArgs(i128, i65, -1 << 64); | ||
| 858 | try testArgs(i128, i65, -1); | ||
| 859 | try testArgs(i128, i65, 0); | ||
| 860 | try testArgs(i256, i65, -1 << 64); | ||
| 861 | try testArgs(i256, i65, -1); | ||
| 862 | try testArgs(i256, i65, 0); | ||
| 863 | try testArgs(i512, i65, -1 << 64); | ||
| 864 | try testArgs(i512, i65, -1); | ||
| 865 | try testArgs(i512, i65, 0); | ||
| 866 | try testArgs(i1024, i65, -1 << 64); | ||
| 867 | try testArgs(i1024, i65, -1); | ||
| 868 | try testArgs(i1024, i65, 0); | ||
| 869 | try testArgs(u8, u65, 0); | ||
| 870 | try testArgs(u8, u65, 1 << 0); | ||
| 871 | try testArgs(u8, u65, 1 << 64); | ||
| 872 | try testArgs(u16, u65, 0); | ||
| 873 | try testArgs(u16, u65, 1 << 0); | ||
| 874 | try testArgs(u16, u65, 1 << 64); | ||
| 875 | try testArgs(u32, u65, 0); | ||
| 876 | try testArgs(u32, u65, 1 << 0); | ||
| 877 | try testArgs(u32, u65, 1 << 64); | ||
| 878 | try testArgs(u64, u65, 0); | ||
| 879 | try testArgs(u64, u65, 1 << 0); | ||
| 880 | try testArgs(u64, u65, 1 << 64); | ||
| 881 | try testArgs(u128, u65, 0); | ||
| 882 | try testArgs(u128, u65, 1 << 0); | ||
| 883 | try testArgs(u128, u65, 1 << 64); | ||
| 884 | try testArgs(u256, u65, 0); | ||
| 885 | try testArgs(u256, u65, 1 << 0); | ||
| 886 | try testArgs(u256, u65, 1 << 64); | ||
| 887 | try testArgs(u512, u65, 0); | ||
| 888 | try testArgs(u512, u65, 1 << 0); | ||
| 889 | try testArgs(u512, u65, 1 << 64); | ||
| 890 | try testArgs(u1024, u65, 0); | ||
| 891 | try testArgs(u1024, u65, 1 << 0); | ||
| 892 | try testArgs(u1024, u65, 1 << 64); | ||
| 893 | |||
| 894 | try testArgs(i8, i95, -1 << 94); | ||
| 895 | try testArgs(i8, i95, -1); | ||
| 896 | try testArgs(i8, i95, 0); | ||
| 897 | try testArgs(i16, i95, -1 << 94); | ||
| 898 | try testArgs(i16, i95, -1); | ||
| 899 | try testArgs(i16, i95, 0); | ||
| 900 | try testArgs(i32, i95, -1 << 94); | ||
| 901 | try testArgs(i32, i95, -1); | ||
| 902 | try testArgs(i32, i95, 0); | ||
| 903 | try testArgs(i64, i95, -1 << 94); | ||
| 904 | try testArgs(i64, i95, -1); | ||
| 905 | try testArgs(i64, i95, 0); | ||
| 906 | try testArgs(i128, i95, -1 << 94); | ||
| 907 | try testArgs(i128, i95, -1); | ||
| 908 | try testArgs(i128, i95, 0); | ||
| 909 | try testArgs(i256, i95, -1 << 94); | ||
| 910 | try testArgs(i256, i95, -1); | ||
| 911 | try testArgs(i256, i95, 0); | ||
| 912 | try testArgs(i512, i95, -1 << 94); | ||
| 913 | try testArgs(i512, i95, -1); | ||
| 914 | try testArgs(i512, i95, 0); | ||
| 915 | try testArgs(i1024, i95, -1 << 94); | ||
| 916 | try testArgs(i1024, i95, -1); | ||
| 917 | try testArgs(i1024, i95, 0); | ||
| 918 | try testArgs(u8, u95, 0); | ||
| 919 | try testArgs(u8, u95, 1 << 0); | ||
| 920 | try testArgs(u8, u95, 1 << 94); | ||
| 921 | try testArgs(u16, u95, 0); | ||
| 922 | try testArgs(u16, u95, 1 << 0); | ||
| 923 | try testArgs(u16, u95, 1 << 94); | ||
| 924 | try testArgs(u32, u95, 0); | ||
| 925 | try testArgs(u32, u95, 1 << 0); | ||
| 926 | try testArgs(u32, u95, 1 << 94); | ||
| 927 | try testArgs(u64, u95, 0); | ||
| 928 | try testArgs(u64, u95, 1 << 0); | ||
| 929 | try testArgs(u64, u95, 1 << 94); | ||
| 930 | try testArgs(u128, u95, 0); | ||
| 931 | try testArgs(u128, u95, 1 << 0); | ||
| 932 | try testArgs(u128, u95, 1 << 94); | ||
| 933 | try testArgs(u256, u95, 0); | ||
| 934 | try testArgs(u256, u95, 1 << 0); | ||
| 935 | try testArgs(u256, u95, 1 << 94); | ||
| 936 | try testArgs(u512, u95, 0); | ||
| 937 | try testArgs(u512, u95, 1 << 0); | ||
| 938 | try testArgs(u512, u95, 1 << 94); | ||
| 939 | try testArgs(u1024, u95, 0); | ||
| 940 | try testArgs(u1024, u95, 1 << 0); | ||
| 941 | try testArgs(u1024, u95, 1 << 94); | ||
| 942 | |||
| 943 | try testArgs(i8, i97, -1 << 96); | ||
| 944 | try testArgs(i8, i97, -1); | ||
| 945 | try testArgs(i8, i97, 0); | ||
| 946 | try testArgs(i16, i97, -1 << 96); | ||
| 947 | try testArgs(i16, i97, -1); | ||
| 948 | try testArgs(i16, i97, 0); | ||
| 949 | try testArgs(i32, i97, -1 << 96); | ||
| 950 | try testArgs(i32, i97, -1); | ||
| 951 | try testArgs(i32, i97, 0); | ||
| 952 | try testArgs(i64, i97, -1 << 96); | ||
| 953 | try testArgs(i64, i97, -1); | ||
| 954 | try testArgs(i64, i97, 0); | ||
| 955 | try testArgs(i128, i97, -1 << 96); | ||
| 956 | try testArgs(i128, i97, -1); | ||
| 957 | try testArgs(i128, i97, 0); | ||
| 958 | try testArgs(i256, i97, -1 << 96); | ||
| 959 | try testArgs(i256, i97, -1); | ||
| 960 | try testArgs(i256, i97, 0); | ||
| 961 | try testArgs(i512, i97, -1 << 96); | ||
| 962 | try testArgs(i512, i97, -1); | ||
| 963 | try testArgs(i512, i97, 0); | ||
| 964 | try testArgs(i1024, i97, -1 << 96); | ||
| 965 | try testArgs(i1024, i97, -1); | ||
| 966 | try testArgs(i1024, i97, 0); | ||
| 967 | try testArgs(u8, u97, 0); | ||
| 968 | try testArgs(u8, u97, 1 << 0); | ||
| 969 | try testArgs(u8, u97, 1 << 96); | ||
| 970 | try testArgs(u16, u97, 0); | ||
| 971 | try testArgs(u16, u97, 1 << 0); | ||
| 972 | try testArgs(u16, u97, 1 << 96); | ||
| 973 | try testArgs(u32, u97, 0); | ||
| 974 | try testArgs(u32, u97, 1 << 0); | ||
| 975 | try testArgs(u32, u97, 1 << 96); | ||
| 976 | try testArgs(u64, u97, 0); | ||
| 977 | try testArgs(u64, u97, 1 << 0); | ||
| 978 | try testArgs(u64, u97, 1 << 96); | ||
| 979 | try testArgs(u128, u97, 0); | ||
| 980 | try testArgs(u128, u97, 1 << 0); | ||
| 981 | try testArgs(u128, u97, 1 << 96); | ||
| 982 | try testArgs(u256, u97, 0); | ||
| 983 | try testArgs(u256, u97, 1 << 0); | ||
| 984 | try testArgs(u256, u97, 1 << 96); | ||
| 985 | try testArgs(u512, u97, 0); | ||
| 986 | try testArgs(u512, u97, 1 << 0); | ||
| 987 | try testArgs(u512, u97, 1 << 96); | ||
| 988 | try testArgs(u1024, u97, 0); | ||
| 989 | try testArgs(u1024, u97, 1 << 0); | ||
| 990 | try testArgs(u1024, u97, 1 << 96); | ||
| 991 | |||
| 992 | try testArgs(i8, i127, -1 << 126); | ||
| 993 | try testArgs(i8, i127, -1); | ||
| 994 | try testArgs(i8, i127, 0); | ||
| 995 | try testArgs(i16, i127, -1 << 126); | ||
| 996 | try testArgs(i16, i127, -1); | ||
| 997 | try testArgs(i16, i127, 0); | ||
| 998 | try testArgs(i32, i127, -1 << 126); | ||
| 999 | try testArgs(i32, i127, -1); | ||
| 1000 | try testArgs(i32, i127, 0); | ||
| 1001 | try testArgs(i64, i127, -1 << 126); | ||
| 1002 | try testArgs(i64, i127, -1); | ||
| 1003 | try testArgs(i64, i127, 0); | ||
| 1004 | try testArgs(i128, i127, -1 << 126); | ||
| 1005 | try testArgs(i128, i127, -1); | ||
| 1006 | try testArgs(i128, i127, 0); | ||
| 1007 | try testArgs(i256, i127, -1 << 126); | ||
| 1008 | try testArgs(i256, i127, -1); | ||
| 1009 | try testArgs(i256, i127, 0); | ||
| 1010 | try testArgs(i512, i127, -1 << 126); | ||
| 1011 | try testArgs(i512, i127, -1); | ||
| 1012 | try testArgs(i512, i127, 0); | ||
| 1013 | try testArgs(i1024, i127, -1 << 126); | ||
| 1014 | try testArgs(i1024, i127, -1); | ||
| 1015 | try testArgs(i1024, i127, 0); | ||
| 1016 | try testArgs(u8, u127, 0); | ||
| 1017 | try testArgs(u8, u127, 1 << 0); | ||
| 1018 | try testArgs(u8, u127, 1 << 126); | ||
| 1019 | try testArgs(u16, u127, 0); | ||
| 1020 | try testArgs(u16, u127, 1 << 0); | ||
| 1021 | try testArgs(u16, u127, 1 << 126); | ||
| 1022 | try testArgs(u32, u127, 0); | ||
| 1023 | try testArgs(u32, u127, 1 << 0); | ||
| 1024 | try testArgs(u32, u127, 1 << 126); | ||
| 1025 | try testArgs(u64, u127, 0); | ||
| 1026 | try testArgs(u64, u127, 1 << 0); | ||
| 1027 | try testArgs(u64, u127, 1 << 126); | ||
| 1028 | try testArgs(u128, u127, 0); | ||
| 1029 | try testArgs(u128, u127, 1 << 0); | ||
| 1030 | try testArgs(u128, u127, 1 << 126); | ||
| 1031 | try testArgs(u256, u127, 0); | ||
| 1032 | try testArgs(u256, u127, 1 << 0); | ||
| 1033 | try testArgs(u256, u127, 1 << 126); | ||
| 1034 | try testArgs(u512, u127, 0); | ||
| 1035 | try testArgs(u512, u127, 1 << 0); | ||
| 1036 | try testArgs(u512, u127, 1 << 126); | ||
| 1037 | try testArgs(u1024, u127, 0); | ||
| 1038 | try testArgs(u1024, u127, 1 << 0); | ||
| 1039 | try testArgs(u1024, u127, 1 << 126); | ||
| 1040 | |||
| 1041 | try testArgs(i8, i128, -1 << 127); | ||
| 1042 | try testArgs(i8, i128, -1); | ||
| 1043 | try testArgs(i8, i128, 0); | ||
| 1044 | try testArgs(i16, i128, -1 << 127); | ||
| 1045 | try testArgs(i16, i128, -1); | ||
| 1046 | try testArgs(i16, i128, 0); | ||
| 1047 | try testArgs(i32, i128, -1 << 127); | ||
| 1048 | try testArgs(i32, i128, -1); | ||
| 1049 | try testArgs(i32, i128, 0); | ||
| 1050 | try testArgs(i64, i128, -1 << 127); | ||
| 1051 | try testArgs(i64, i128, -1); | ||
| 1052 | try testArgs(i64, i128, 0); | ||
| 1053 | try testArgs(i128, i128, -1 << 127); | ||
| 1054 | try testArgs(i128, i128, -1); | ||
| 1055 | try testArgs(i128, i128, 0); | ||
| 1056 | try testArgs(i256, i128, -1 << 127); | ||
| 1057 | try testArgs(i256, i128, -1); | ||
| 1058 | try testArgs(i256, i128, 0); | ||
| 1059 | try testArgs(i512, i128, -1 << 127); | ||
| 1060 | try testArgs(i512, i128, -1); | ||
| 1061 | try testArgs(i512, i128, 0); | ||
| 1062 | try testArgs(i1024, i128, -1 << 127); | ||
| 1063 | try testArgs(i1024, i128, -1); | ||
| 1064 | try testArgs(i1024, i128, 0); | ||
| 1065 | try testArgs(u8, u128, 0); | ||
| 1066 | try testArgs(u8, u128, 1 << 0); | ||
| 1067 | try testArgs(u8, u128, 1 << 127); | ||
| 1068 | try testArgs(u16, u128, 0); | ||
| 1069 | try testArgs(u16, u128, 1 << 0); | ||
| 1070 | try testArgs(u16, u128, 1 << 127); | ||
| 1071 | try testArgs(u32, u128, 0); | ||
| 1072 | try testArgs(u32, u128, 1 << 0); | ||
| 1073 | try testArgs(u32, u128, 1 << 127); | ||
| 1074 | try testArgs(u64, u128, 0); | ||
| 1075 | try testArgs(u64, u128, 1 << 0); | ||
| 1076 | try testArgs(u64, u128, 1 << 127); | ||
| 1077 | try testArgs(u128, u128, 0); | ||
| 1078 | try testArgs(u128, u128, 1 << 0); | ||
| 1079 | try testArgs(u128, u128, 1 << 127); | ||
| 1080 | try testArgs(u256, u128, 0); | ||
| 1081 | try testArgs(u256, u128, 1 << 0); | ||
| 1082 | try testArgs(u256, u128, 1 << 127); | ||
| 1083 | try testArgs(u512, u128, 0); | ||
| 1084 | try testArgs(u512, u128, 1 << 0); | ||
| 1085 | try testArgs(u512, u128, 1 << 127); | ||
| 1086 | try testArgs(u1024, u128, 0); | ||
| 1087 | try testArgs(u1024, u128, 1 << 0); | ||
| 1088 | try testArgs(u1024, u128, 1 << 127); | ||
| 1089 | |||
| 1090 | try testArgs(i8, i129, -1 << 128); | ||
| 1091 | try testArgs(i8, i129, -1); | ||
| 1092 | try testArgs(i8, i129, 0); | ||
| 1093 | try testArgs(i16, i129, -1 << 128); | ||
| 1094 | try testArgs(i16, i129, -1); | ||
| 1095 | try testArgs(i16, i129, 0); | ||
| 1096 | try testArgs(i32, i129, -1 << 128); | ||
| 1097 | try testArgs(i32, i129, -1); | ||
| 1098 | try testArgs(i32, i129, 0); | ||
| 1099 | try testArgs(i64, i129, -1 << 128); | ||
| 1100 | try testArgs(i64, i129, -1); | ||
| 1101 | try testArgs(i64, i129, 0); | ||
| 1102 | try testArgs(i128, i129, -1 << 128); | ||
| 1103 | try testArgs(i128, i129, -1); | ||
| 1104 | try testArgs(i128, i129, 0); | ||
| 1105 | try testArgs(i256, i129, -1 << 128); | ||
| 1106 | try testArgs(i256, i129, -1); | ||
| 1107 | try testArgs(i256, i129, 0); | ||
| 1108 | try testArgs(i512, i129, -1 << 128); | ||
| 1109 | try testArgs(i512, i129, -1); | ||
| 1110 | try testArgs(i512, i129, 0); | ||
| 1111 | try testArgs(i1024, i129, -1 << 128); | ||
| 1112 | try testArgs(i1024, i129, -1); | ||
| 1113 | try testArgs(i1024, i129, 0); | ||
| 1114 | try testArgs(u8, u129, 0); | ||
| 1115 | try testArgs(u8, u129, 1 << 0); | ||
| 1116 | try testArgs(u8, u129, 1 << 128); | ||
| 1117 | try testArgs(u16, u129, 0); | ||
| 1118 | try testArgs(u16, u129, 1 << 0); | ||
| 1119 | try testArgs(u16, u129, 1 << 128); | ||
| 1120 | try testArgs(u32, u129, 0); | ||
| 1121 | try testArgs(u32, u129, 1 << 0); | ||
| 1122 | try testArgs(u32, u129, 1 << 128); | ||
| 1123 | try testArgs(u64, u129, 0); | ||
| 1124 | try testArgs(u64, u129, 1 << 0); | ||
| 1125 | try testArgs(u64, u129, 1 << 128); | ||
| 1126 | try testArgs(u128, u129, 0); | ||
| 1127 | try testArgs(u128, u129, 1 << 0); | ||
| 1128 | try testArgs(u128, u129, 1 << 128); | ||
| 1129 | try testArgs(u256, u129, 0); | ||
| 1130 | try testArgs(u256, u129, 1 << 0); | ||
| 1131 | try testArgs(u256, u129, 1 << 128); | ||
| 1132 | try testArgs(u512, u129, 0); | ||
| 1133 | try testArgs(u512, u129, 1 << 0); | ||
| 1134 | try testArgs(u512, u129, 1 << 128); | ||
| 1135 | try testArgs(u1024, u129, 0); | ||
| 1136 | try testArgs(u1024, u129, 1 << 0); | ||
| 1137 | try testArgs(u1024, u129, 1 << 128); | ||
| 1138 | |||
| 1139 | try testArgs(i8, i255, -1 << 254); | ||
| 1140 | try testArgs(i8, i255, -1); | ||
| 1141 | try testArgs(i8, i255, 0); | ||
| 1142 | try testArgs(i16, i255, -1 << 254); | ||
| 1143 | try testArgs(i16, i255, -1); | ||
| 1144 | try testArgs(i16, i255, 0); | ||
| 1145 | try testArgs(i32, i255, -1 << 254); | ||
| 1146 | try testArgs(i32, i255, -1); | ||
| 1147 | try testArgs(i32, i255, 0); | ||
| 1148 | try testArgs(i64, i255, -1 << 254); | ||
| 1149 | try testArgs(i64, i255, -1); | ||
| 1150 | try testArgs(i64, i255, 0); | ||
| 1151 | try testArgs(i128, i255, -1 << 254); | ||
| 1152 | try testArgs(i128, i255, -1); | ||
| 1153 | try testArgs(i128, i255, 0); | ||
| 1154 | try testArgs(i256, i255, -1 << 254); | ||
| 1155 | try testArgs(i256, i255, -1); | ||
| 1156 | try testArgs(i256, i255, 0); | ||
| 1157 | try testArgs(i512, i255, -1 << 254); | ||
| 1158 | try testArgs(i512, i255, -1); | ||
| 1159 | try testArgs(i512, i255, 0); | ||
| 1160 | try testArgs(i1024, i255, -1 << 254); | ||
| 1161 | try testArgs(i1024, i255, -1); | ||
| 1162 | try testArgs(i1024, i255, 0); | ||
| 1163 | try testArgs(u8, u255, 0); | ||
| 1164 | try testArgs(u8, u255, 1 << 0); | ||
| 1165 | try testArgs(u8, u255, 1 << 254); | ||
| 1166 | try testArgs(u16, u255, 0); | ||
| 1167 | try testArgs(u16, u255, 1 << 0); | ||
| 1168 | try testArgs(u16, u255, 1 << 254); | ||
| 1169 | try testArgs(u32, u255, 0); | ||
| 1170 | try testArgs(u32, u255, 1 << 0); | ||
| 1171 | try testArgs(u32, u255, 1 << 254); | ||
| 1172 | try testArgs(u64, u255, 0); | ||
| 1173 | try testArgs(u64, u255, 1 << 0); | ||
| 1174 | try testArgs(u64, u255, 1 << 254); | ||
| 1175 | try testArgs(u128, u255, 0); | ||
| 1176 | try testArgs(u128, u255, 1 << 0); | ||
| 1177 | try testArgs(u128, u255, 1 << 254); | ||
| 1178 | try testArgs(u256, u255, 0); | ||
| 1179 | try testArgs(u256, u255, 1 << 0); | ||
| 1180 | try testArgs(u256, u255, 1 << 254); | ||
| 1181 | try testArgs(u512, u255, 0); | ||
| 1182 | try testArgs(u512, u255, 1 << 0); | ||
| 1183 | try testArgs(u512, u255, 1 << 254); | ||
| 1184 | try testArgs(u1024, u255, 0); | ||
| 1185 | try testArgs(u1024, u255, 1 << 0); | ||
| 1186 | try testArgs(u1024, u255, 1 << 254); | ||
| 1187 | |||
| 1188 | try testArgs(i8, i256, -1 << 255); | ||
| 1189 | try testArgs(i8, i256, -1); | ||
| 1190 | try testArgs(i8, i256, 0); | ||
| 1191 | try testArgs(i16, i256, -1 << 255); | ||
| 1192 | try testArgs(i16, i256, -1); | ||
| 1193 | try testArgs(i16, i256, 0); | ||
| 1194 | try testArgs(i32, i256, -1 << 255); | ||
| 1195 | try testArgs(i32, i256, -1); | ||
| 1196 | try testArgs(i32, i256, 0); | ||
| 1197 | try testArgs(i64, i256, -1 << 255); | ||
| 1198 | try testArgs(i64, i256, -1); | ||
| 1199 | try testArgs(i64, i256, 0); | ||
| 1200 | try testArgs(i128, i256, -1 << 255); | ||
| 1201 | try testArgs(i128, i256, -1); | ||
| 1202 | try testArgs(i128, i256, 0); | ||
| 1203 | try testArgs(i256, i256, -1 << 255); | ||
| 1204 | try testArgs(i256, i256, -1); | ||
| 1205 | try testArgs(i256, i256, 0); | ||
| 1206 | try testArgs(i512, i256, -1 << 255); | ||
| 1207 | try testArgs(i512, i256, -1); | ||
| 1208 | try testArgs(i512, i256, 0); | ||
| 1209 | try testArgs(i1024, i256, -1 << 255); | ||
| 1210 | try testArgs(i1024, i256, -1); | ||
| 1211 | try testArgs(i1024, i256, 0); | ||
| 1212 | try testArgs(u8, u256, 0); | ||
| 1213 | try testArgs(u8, u256, 1 << 0); | ||
| 1214 | try testArgs(u8, u256, 1 << 255); | ||
| 1215 | try testArgs(u16, u256, 0); | ||
| 1216 | try testArgs(u16, u256, 1 << 0); | ||
| 1217 | try testArgs(u16, u256, 1 << 255); | ||
| 1218 | try testArgs(u32, u256, 0); | ||
| 1219 | try testArgs(u32, u256, 1 << 0); | ||
| 1220 | try testArgs(u32, u256, 1 << 255); | ||
| 1221 | try testArgs(u64, u256, 0); | ||
| 1222 | try testArgs(u64, u256, 1 << 0); | ||
| 1223 | try testArgs(u64, u256, 1 << 255); | ||
| 1224 | try testArgs(u128, u256, 0); | ||
| 1225 | try testArgs(u128, u256, 1 << 0); | ||
| 1226 | try testArgs(u128, u256, 1 << 255); | ||
| 1227 | try testArgs(u256, u256, 0); | ||
| 1228 | try testArgs(u256, u256, 1 << 0); | ||
| 1229 | try testArgs(u256, u256, 1 << 255); | ||
| 1230 | try testArgs(u512, u256, 0); | ||
| 1231 | try testArgs(u512, u256, 1 << 0); | ||
| 1232 | try testArgs(u512, u256, 1 << 255); | ||
| 1233 | try testArgs(u1024, u256, 0); | ||
| 1234 | try testArgs(u1024, u256, 1 << 0); | ||
| 1235 | try testArgs(u1024, u256, 1 << 255); | ||
| 1236 | |||
| 1237 | try testArgs(i8, i257, -1 << 256); | ||
| 1238 | try testArgs(i8, i257, -1); | ||
| 1239 | try testArgs(i8, i257, 0); | ||
| 1240 | try testArgs(i16, i257, -1 << 256); | ||
| 1241 | try testArgs(i16, i257, -1); | ||
| 1242 | try testArgs(i16, i257, 0); | ||
| 1243 | try testArgs(i32, i257, -1 << 256); | ||
| 1244 | try testArgs(i32, i257, -1); | ||
| 1245 | try testArgs(i32, i257, 0); | ||
| 1246 | try testArgs(i64, i257, -1 << 256); | ||
| 1247 | try testArgs(i64, i257, -1); | ||
| 1248 | try testArgs(i64, i257, 0); | ||
| 1249 | try testArgs(i128, i257, -1 << 256); | ||
| 1250 | try testArgs(i128, i257, -1); | ||
| 1251 | try testArgs(i128, i257, 0); | ||
| 1252 | try testArgs(i256, i257, -1 << 256); | ||
| 1253 | try testArgs(i256, i257, -1); | ||
| 1254 | try testArgs(i256, i257, 0); | ||
| 1255 | try testArgs(i512, i257, -1 << 256); | ||
| 1256 | try testArgs(i512, i257, -1); | ||
| 1257 | try testArgs(i512, i257, 0); | ||
| 1258 | try testArgs(i1024, i257, -1 << 256); | ||
| 1259 | try testArgs(i1024, i257, -1); | ||
| 1260 | try testArgs(i1024, i257, 0); | ||
| 1261 | try testArgs(u8, u257, 0); | ||
| 1262 | try testArgs(u8, u257, 1 << 0); | ||
| 1263 | try testArgs(u8, u257, 1 << 256); | ||
| 1264 | try testArgs(u16, u257, 0); | ||
| 1265 | try testArgs(u16, u257, 1 << 0); | ||
| 1266 | try testArgs(u16, u257, 1 << 256); | ||
| 1267 | try testArgs(u32, u257, 0); | ||
| 1268 | try testArgs(u32, u257, 1 << 0); | ||
| 1269 | try testArgs(u32, u257, 1 << 256); | ||
| 1270 | try testArgs(u64, u257, 0); | ||
| 1271 | try testArgs(u64, u257, 1 << 0); | ||
| 1272 | try testArgs(u64, u257, 1 << 256); | ||
| 1273 | try testArgs(u128, u257, 0); | ||
| 1274 | try testArgs(u128, u257, 1 << 0); | ||
| 1275 | try testArgs(u128, u257, 1 << 256); | ||
| 1276 | try testArgs(u256, u257, 0); | ||
| 1277 | try testArgs(u256, u257, 1 << 0); | ||
| 1278 | try testArgs(u256, u257, 1 << 256); | ||
| 1279 | try testArgs(u512, u257, 0); | ||
| 1280 | try testArgs(u512, u257, 1 << 0); | ||
| 1281 | try testArgs(u512, u257, 1 << 256); | ||
| 1282 | try testArgs(u1024, u257, 0); | ||
| 1283 | try testArgs(u1024, u257, 1 << 0); | ||
| 1284 | try testArgs(u1024, u257, 1 << 256); | ||
| 1285 | |||
| 1286 | try testArgs(i8, i511, -1 << 510); | ||
| 1287 | try testArgs(i8, i511, -1); | ||
| 1288 | try testArgs(i8, i511, 0); | ||
| 1289 | try testArgs(i16, i511, -1 << 510); | ||
| 1290 | try testArgs(i16, i511, -1); | ||
| 1291 | try testArgs(i16, i511, 0); | ||
| 1292 | try testArgs(i32, i511, -1 << 510); | ||
| 1293 | try testArgs(i32, i511, -1); | ||
| 1294 | try testArgs(i32, i511, 0); | ||
| 1295 | try testArgs(i64, i511, -1 << 510); | ||
| 1296 | try testArgs(i64, i511, -1); | ||
| 1297 | try testArgs(i64, i511, 0); | ||
| 1298 | try testArgs(i128, i511, -1 << 510); | ||
| 1299 | try testArgs(i128, i511, -1); | ||
| 1300 | try testArgs(i128, i511, 0); | ||
| 1301 | try testArgs(i256, i511, -1 << 510); | ||
| 1302 | try testArgs(i256, i511, -1); | ||
| 1303 | try testArgs(i256, i511, 0); | ||
| 1304 | try testArgs(i512, i511, -1 << 510); | ||
| 1305 | try testArgs(i512, i511, -1); | ||
| 1306 | try testArgs(i512, i511, 0); | ||
| 1307 | try testArgs(i1024, i511, -1 << 510); | ||
| 1308 | try testArgs(i1024, i511, -1); | ||
| 1309 | try testArgs(i1024, i511, 0); | ||
| 1310 | try testArgs(u8, u511, 0); | ||
| 1311 | try testArgs(u8, u511, 1 << 0); | ||
| 1312 | try testArgs(u8, u511, 1 << 510); | ||
| 1313 | try testArgs(u16, u511, 0); | ||
| 1314 | try testArgs(u16, u511, 1 << 0); | ||
| 1315 | try testArgs(u16, u511, 1 << 510); | ||
| 1316 | try testArgs(u32, u511, 0); | ||
| 1317 | try testArgs(u32, u511, 1 << 0); | ||
| 1318 | try testArgs(u32, u511, 1 << 510); | ||
| 1319 | try testArgs(u64, u511, 0); | ||
| 1320 | try testArgs(u64, u511, 1 << 0); | ||
| 1321 | try testArgs(u64, u511, 1 << 510); | ||
| 1322 | try testArgs(u128, u511, 0); | ||
| 1323 | try testArgs(u128, u511, 1 << 0); | ||
| 1324 | try testArgs(u128, u511, 1 << 510); | ||
| 1325 | try testArgs(u256, u511, 0); | ||
| 1326 | try testArgs(u256, u511, 1 << 0); | ||
| 1327 | try testArgs(u256, u511, 1 << 510); | ||
| 1328 | try testArgs(u512, u511, 0); | ||
| 1329 | try testArgs(u512, u511, 1 << 0); | ||
| 1330 | try testArgs(u512, u511, 1 << 510); | ||
| 1331 | try testArgs(u1024, u511, 0); | ||
| 1332 | try testArgs(u1024, u511, 1 << 0); | ||
| 1333 | try testArgs(u1024, u511, 1 << 510); | ||
| 1334 | |||
| 1335 | try testArgs(i8, i512, -1 << 511); | ||
| 1336 | try testArgs(i8, i512, -1); | ||
| 1337 | try testArgs(i8, i512, 0); | ||
| 1338 | try testArgs(i16, i512, -1 << 511); | ||
| 1339 | try testArgs(i16, i512, -1); | ||
| 1340 | try testArgs(i16, i512, 0); | ||
| 1341 | try testArgs(i32, i512, -1 << 511); | ||
| 1342 | try testArgs(i32, i512, -1); | ||
| 1343 | try testArgs(i32, i512, 0); | ||
| 1344 | try testArgs(i64, i512, -1 << 511); | ||
| 1345 | try testArgs(i64, i512, -1); | ||
| 1346 | try testArgs(i64, i512, 0); | ||
| 1347 | try testArgs(i128, i512, -1 << 511); | ||
| 1348 | try testArgs(i128, i512, -1); | ||
| 1349 | try testArgs(i128, i512, 0); | ||
| 1350 | try testArgs(i256, i512, -1 << 511); | ||
| 1351 | try testArgs(i256, i512, -1); | ||
| 1352 | try testArgs(i256, i512, 0); | ||
| 1353 | try testArgs(i512, i512, -1 << 511); | ||
| 1354 | try testArgs(i512, i512, -1); | ||
| 1355 | try testArgs(i512, i512, 0); | ||
| 1356 | try testArgs(i1024, i512, -1 << 511); | ||
| 1357 | try testArgs(i1024, i512, -1); | ||
| 1358 | try testArgs(i1024, i512, 0); | ||
| 1359 | try testArgs(u8, u512, 0); | ||
| 1360 | try testArgs(u8, u512, 1 << 0); | ||
| 1361 | try testArgs(u8, u512, 1 << 511); | ||
| 1362 | try testArgs(u16, u512, 0); | ||
| 1363 | try testArgs(u16, u512, 1 << 0); | ||
| 1364 | try testArgs(u16, u512, 1 << 511); | ||
| 1365 | try testArgs(u32, u512, 0); | ||
| 1366 | try testArgs(u32, u512, 1 << 0); | ||
| 1367 | try testArgs(u32, u512, 1 << 511); | ||
| 1368 | try testArgs(u64, u512, 0); | ||
| 1369 | try testArgs(u64, u512, 1 << 0); | ||
| 1370 | try testArgs(u64, u512, 1 << 511); | ||
| 1371 | try testArgs(u128, u512, 0); | ||
| 1372 | try testArgs(u128, u512, 1 << 0); | ||
| 1373 | try testArgs(u128, u512, 1 << 511); | ||
| 1374 | try testArgs(u256, u512, 0); | ||
| 1375 | try testArgs(u256, u512, 1 << 0); | ||
| 1376 | try testArgs(u256, u512, 1 << 511); | ||
| 1377 | try testArgs(u512, u512, 0); | ||
| 1378 | try testArgs(u512, u512, 1 << 0); | ||
| 1379 | try testArgs(u512, u512, 1 << 511); | ||
| 1380 | try testArgs(u1024, u512, 0); | ||
| 1381 | try testArgs(u1024, u512, 1 << 0); | ||
| 1382 | try testArgs(u1024, u512, 1 << 511); | ||
| 1383 | |||
| 1384 | try testArgs(i8, i513, -1 << 512); | ||
| 1385 | try testArgs(i8, i513, -1); | ||
| 1386 | try testArgs(i8, i513, 0); | ||
| 1387 | try testArgs(i16, i513, -1 << 512); | ||
| 1388 | try testArgs(i16, i513, -1); | ||
| 1389 | try testArgs(i16, i513, 0); | ||
| 1390 | try testArgs(i32, i513, -1 << 512); | ||
| 1391 | try testArgs(i32, i513, -1); | ||
| 1392 | try testArgs(i32, i513, 0); | ||
| 1393 | try testArgs(i64, i513, -1 << 512); | ||
| 1394 | try testArgs(i64, i513, -1); | ||
| 1395 | try testArgs(i64, i513, 0); | ||
| 1396 | try testArgs(i128, i513, -1 << 512); | ||
| 1397 | try testArgs(i128, i513, -1); | ||
| 1398 | try testArgs(i128, i513, 0); | ||
| 1399 | try testArgs(i256, i513, -1 << 512); | ||
| 1400 | try testArgs(i256, i513, -1); | ||
| 1401 | try testArgs(i256, i513, 0); | ||
| 1402 | try testArgs(i512, i513, -1 << 512); | ||
| 1403 | try testArgs(i512, i513, -1); | ||
| 1404 | try testArgs(i512, i513, 0); | ||
| 1405 | try testArgs(i1024, i513, -1 << 512); | ||
| 1406 | try testArgs(i1024, i513, -1); | ||
| 1407 | try testArgs(i1024, i513, 0); | ||
| 1408 | try testArgs(u8, u513, 0); | ||
| 1409 | try testArgs(u8, u513, 1 << 0); | ||
| 1410 | try testArgs(u8, u513, 1 << 512); | ||
| 1411 | try testArgs(u16, u513, 0); | ||
| 1412 | try testArgs(u16, u513, 1 << 0); | ||
| 1413 | try testArgs(u16, u513, 1 << 512); | ||
| 1414 | try testArgs(u32, u513, 0); | ||
| 1415 | try testArgs(u32, u513, 1 << 0); | ||
| 1416 | try testArgs(u32, u513, 1 << 512); | ||
| 1417 | try testArgs(u64, u513, 0); | ||
| 1418 | try testArgs(u64, u513, 1 << 0); | ||
| 1419 | try testArgs(u64, u513, 1 << 512); | ||
| 1420 | try testArgs(u128, u513, 0); | ||
| 1421 | try testArgs(u128, u513, 1 << 0); | ||
| 1422 | try testArgs(u128, u513, 1 << 512); | ||
| 1423 | try testArgs(u256, u513, 0); | ||
| 1424 | try testArgs(u256, u513, 1 << 0); | ||
| 1425 | try testArgs(u256, u513, 1 << 512); | ||
| 1426 | try testArgs(u512, u513, 0); | ||
| 1427 | try testArgs(u512, u513, 1 << 0); | ||
| 1428 | try testArgs(u512, u513, 1 << 512); | ||
| 1429 | try testArgs(u1024, u513, 0); | ||
| 1430 | try testArgs(u1024, u513, 1 << 0); | ||
| 1431 | try testArgs(u1024, u513, 1 << 512); | ||
| 1432 | |||
| 1433 | try testArgs(i8, i1023, -1 << 1022); | ||
| 1434 | try testArgs(i8, i1023, -1); | ||
| 1435 | try testArgs(i8, i1023, 0); | ||
| 1436 | try testArgs(i16, i1023, -1 << 1022); | ||
| 1437 | try testArgs(i16, i1023, -1); | ||
| 1438 | try testArgs(i16, i1023, 0); | ||
| 1439 | try testArgs(i32, i1023, -1 << 1022); | ||
| 1440 | try testArgs(i32, i1023, -1); | ||
| 1441 | try testArgs(i32, i1023, 0); | ||
| 1442 | try testArgs(i64, i1023, -1 << 1022); | ||
| 1443 | try testArgs(i64, i1023, -1); | ||
| 1444 | try testArgs(i64, i1023, 0); | ||
| 1445 | try testArgs(i128, i1023, -1 << 1022); | ||
| 1446 | try testArgs(i128, i1023, -1); | ||
| 1447 | try testArgs(i128, i1023, 0); | ||
| 1448 | try testArgs(i256, i1023, -1 << 1022); | ||
| 1449 | try testArgs(i256, i1023, -1); | ||
| 1450 | try testArgs(i256, i1023, 0); | ||
| 1451 | try testArgs(i512, i1023, -1 << 1022); | ||
| 1452 | try testArgs(i512, i1023, -1); | ||
| 1453 | try testArgs(i512, i1023, 0); | ||
| 1454 | try testArgs(i1024, i1023, -1 << 1022); | ||
| 1455 | try testArgs(i1024, i1023, -1); | ||
| 1456 | try testArgs(i1024, i1023, 0); | ||
| 1457 | try testArgs(u8, u1023, 0); | ||
| 1458 | try testArgs(u8, u1023, 1 << 0); | ||
| 1459 | try testArgs(u8, u1023, 1 << 1022); | ||
| 1460 | try testArgs(u16, u1023, 0); | ||
| 1461 | try testArgs(u16, u1023, 1 << 0); | ||
| 1462 | try testArgs(u16, u1023, 1 << 1022); | ||
| 1463 | try testArgs(u32, u1023, 0); | ||
| 1464 | try testArgs(u32, u1023, 1 << 0); | ||
| 1465 | try testArgs(u32, u1023, 1 << 1022); | ||
| 1466 | try testArgs(u64, u1023, 0); | ||
| 1467 | try testArgs(u64, u1023, 1 << 0); | ||
| 1468 | try testArgs(u64, u1023, 1 << 1022); | ||
| 1469 | try testArgs(u128, u1023, 0); | ||
| 1470 | try testArgs(u128, u1023, 1 << 0); | ||
| 1471 | try testArgs(u128, u1023, 1 << 1022); | ||
| 1472 | try testArgs(u256, u1023, 0); | ||
| 1473 | try testArgs(u256, u1023, 1 << 0); | ||
| 1474 | try testArgs(u256, u1023, 1 << 1022); | ||
| 1475 | try testArgs(u512, u1023, 0); | ||
| 1476 | try testArgs(u512, u1023, 1 << 0); | ||
| 1477 | try testArgs(u512, u1023, 1 << 1022); | ||
| 1478 | try testArgs(u1024, u1023, 0); | ||
| 1479 | try testArgs(u1024, u1023, 1 << 0); | ||
| 1480 | try testArgs(u1024, u1023, 1 << 1022); | ||
| 1481 | |||
| 1482 | try testArgs(i8, i1024, -1 << 1023); | ||
| 1483 | try testArgs(i8, i1024, -1); | ||
| 1484 | try testArgs(i8, i1024, 0); | ||
| 1485 | try testArgs(i16, i1024, -1 << 1023); | ||
| 1486 | try testArgs(i16, i1024, -1); | ||
| 1487 | try testArgs(i16, i1024, 0); | ||
| 1488 | try testArgs(i32, i1024, -1 << 1023); | ||
| 1489 | try testArgs(i32, i1024, -1); | ||
| 1490 | try testArgs(i32, i1024, 0); | ||
| 1491 | try testArgs(i64, i1024, -1 << 1023); | ||
| 1492 | try testArgs(i64, i1024, -1); | ||
| 1493 | try testArgs(i64, i1024, 0); | ||
| 1494 | try testArgs(i128, i1024, -1 << 1023); | ||
| 1495 | try testArgs(i128, i1024, -1); | ||
| 1496 | try testArgs(i128, i1024, 0); | ||
| 1497 | try testArgs(i256, i1024, -1 << 1023); | ||
| 1498 | try testArgs(i256, i1024, -1); | ||
| 1499 | try testArgs(i256, i1024, 0); | ||
| 1500 | try testArgs(i512, i1024, -1 << 1023); | ||
| 1501 | try testArgs(i512, i1024, -1); | ||
| 1502 | try testArgs(i512, i1024, 0); | ||
| 1503 | try testArgs(i1024, i1024, -1 << 1023); | ||
| 1504 | try testArgs(i1024, i1024, -1); | ||
| 1505 | try testArgs(i1024, i1024, 0); | ||
| 1506 | try testArgs(u8, u1024, 0); | ||
| 1507 | try testArgs(u8, u1024, 1 << 0); | ||
| 1508 | try testArgs(u8, u1024, 1 << 1023); | ||
| 1509 | try testArgs(u16, u1024, 0); | ||
| 1510 | try testArgs(u16, u1024, 1 << 0); | ||
| 1511 | try testArgs(u16, u1024, 1 << 1023); | ||
| 1512 | try testArgs(u32, u1024, 0); | ||
| 1513 | try testArgs(u32, u1024, 1 << 0); | ||
| 1514 | try testArgs(u32, u1024, 1 << 1023); | ||
| 1515 | try testArgs(u64, u1024, 0); | ||
| 1516 | try testArgs(u64, u1024, 1 << 0); | ||
| 1517 | try testArgs(u64, u1024, 1 << 1023); | ||
| 1518 | try testArgs(u128, u1024, 0); | ||
| 1519 | try testArgs(u128, u1024, 1 << 0); | ||
| 1520 | try testArgs(u128, u1024, 1 << 1023); | ||
| 1521 | try testArgs(u256, u1024, 0); | ||
| 1522 | try testArgs(u256, u1024, 1 << 0); | ||
| 1523 | try testArgs(u256, u1024, 1 << 1023); | ||
| 1524 | try testArgs(u512, u1024, 0); | ||
| 1525 | try testArgs(u512, u1024, 1 << 0); | ||
| 1526 | try testArgs(u512, u1024, 1 << 1023); | ||
| 1527 | try testArgs(u1024, u1024, 0); | ||
| 1528 | try testArgs(u1024, u1024, 1 << 0); | ||
| 1529 | try testArgs(u1024, u1024, 1 << 1023); | ||
| 1530 | |||
| 1531 | try testArgs(i8, i1025, -1 << 1024); | ||
| 1532 | try testArgs(i8, i1025, -1); | ||
| 1533 | try testArgs(i8, i1025, 0); | ||
| 1534 | try testArgs(i16, i1025, -1 << 1024); | ||
| 1535 | try testArgs(i16, i1025, -1); | ||
| 1536 | try testArgs(i16, i1025, 0); | ||
| 1537 | try testArgs(i32, i1025, -1 << 1024); | ||
| 1538 | try testArgs(i32, i1025, -1); | ||
| 1539 | try testArgs(i32, i1025, 0); | ||
| 1540 | try testArgs(i64, i1025, -1 << 1024); | ||
| 1541 | try testArgs(i64, i1025, -1); | ||
| 1542 | try testArgs(i64, i1025, 0); | ||
| 1543 | try testArgs(i128, i1025, -1 << 1024); | ||
| 1544 | try testArgs(i128, i1025, -1); | ||
| 1545 | try testArgs(i128, i1025, 0); | ||
| 1546 | try testArgs(i256, i1025, -1 << 1024); | ||
| 1547 | try testArgs(i256, i1025, -1); | ||
| 1548 | try testArgs(i256, i1025, 0); | ||
| 1549 | try testArgs(i512, i1025, -1 << 1024); | ||
| 1550 | try testArgs(i512, i1025, -1); | ||
| 1551 | try testArgs(i512, i1025, 0); | ||
| 1552 | try testArgs(i1024, i1025, -1 << 1024); | ||
| 1553 | try testArgs(i1024, i1025, -1); | ||
| 1554 | try testArgs(i1024, i1025, 0); | ||
| 1555 | try testArgs(u8, u1025, 0); | ||
| 1556 | try testArgs(u8, u1025, 1 << 0); | ||
| 1557 | try testArgs(u8, u1025, 1 << 1024); | ||
| 1558 | try testArgs(u16, u1025, 0); | ||
| 1559 | try testArgs(u16, u1025, 1 << 0); | ||
| 1560 | try testArgs(u16, u1025, 1 << 1024); | ||
| 1561 | try testArgs(u32, u1025, 0); | ||
| 1562 | try testArgs(u32, u1025, 1 << 0); | ||
| 1563 | try testArgs(u32, u1025, 1 << 1024); | ||
| 1564 | try testArgs(u64, u1025, 0); | ||
| 1565 | try testArgs(u64, u1025, 1 << 0); | ||
| 1566 | try testArgs(u64, u1025, 1 << 1024); | ||
| 1567 | try testArgs(u128, u1025, 0); | ||
| 1568 | try testArgs(u128, u1025, 1 << 0); | ||
| 1569 | try testArgs(u128, u1025, 1 << 1024); | ||
| 1570 | try testArgs(u256, u1025, 0); | ||
| 1571 | try testArgs(u256, u1025, 1 << 0); | ||
| 1572 | try testArgs(u256, u1025, 1 << 1024); | ||
| 1573 | try testArgs(u512, u1025, 0); | ||
| 1574 | try testArgs(u512, u1025, 1 << 0); | ||
| 1575 | try testArgs(u512, u1025, 1 << 1024); | ||
| 1576 | try testArgs(u1024, u1025, 0); | ||
| 1577 | try testArgs(u1024, u1025, 1 << 0); | ||
| 1578 | try testArgs(u1024, u1025, 1 << 1024); | ||
| 1579 | } | ||
| 1580 | fn testInts() !void { | ||
| 1581 | try testSameSignednessInts(); | ||
| 1582 | |||
| 1583 | try testArgs(u8, i1, -1); | ||
| 1584 | try testArgs(u8, i1, 0); | ||
| 1585 | try testArgs(u16, i1, -1); | ||
| 1586 | try testArgs(u16, i1, 0); | ||
| 1587 | try testArgs(u32, i1, -1); | ||
| 1588 | try testArgs(u32, i1, 0); | ||
| 1589 | try testArgs(u64, i1, -1); | ||
| 1590 | try testArgs(u64, i1, 0); | ||
| 1591 | try testArgs(u128, i1, -1); | ||
| 1592 | try testArgs(u128, i1, 0); | ||
| 1593 | try testArgs(u256, i1, -1); | ||
| 1594 | try testArgs(u256, i1, 0); | ||
| 1595 | try testArgs(u512, i1, -1); | ||
| 1596 | try testArgs(u512, i1, 0); | ||
| 1597 | try testArgs(u1024, i1, -1); | ||
| 1598 | try testArgs(u1024, i1, 0); | ||
| 1599 | try testArgs(i8, u1, 0); | ||
| 1600 | try testArgs(i8, u1, 1 << 0); | ||
| 1601 | try testArgs(i16, u1, 0); | ||
| 1602 | try testArgs(i16, u1, 1 << 0); | ||
| 1603 | try testArgs(i32, u1, 0); | ||
| 1604 | try testArgs(i32, u1, 1 << 0); | ||
| 1605 | try testArgs(i64, u1, 0); | ||
| 1606 | try testArgs(i64, u1, 1 << 0); | ||
| 1607 | try testArgs(i128, u1, 0); | ||
| 1608 | try testArgs(i128, u1, 1 << 0); | ||
| 1609 | try testArgs(i256, u1, 0); | ||
| 1610 | try testArgs(i256, u1, 1 << 0); | ||
| 1611 | try testArgs(i512, u1, 0); | ||
| 1612 | try testArgs(i512, u1, 1 << 0); | ||
| 1613 | try testArgs(i1024, u1, 0); | ||
| 1614 | try testArgs(i1024, u1, 1 << 0); | ||
| 1615 | |||
| 1616 | try testArgs(u8, i2, -1 << 1); | ||
| 1617 | try testArgs(u8, i2, -1); | ||
| 1618 | try testArgs(u8, i2, 0); | ||
| 1619 | try testArgs(u16, i2, -1 << 1); | ||
| 1620 | try testArgs(u16, i2, -1); | ||
| 1621 | try testArgs(u16, i2, 0); | ||
| 1622 | try testArgs(u32, i2, -1 << 1); | ||
| 1623 | try testArgs(u32, i2, -1); | ||
| 1624 | try testArgs(u32, i2, 0); | ||
| 1625 | try testArgs(u64, i2, -1 << 1); | ||
| 1626 | try testArgs(u64, i2, -1); | ||
| 1627 | try testArgs(u64, i2, 0); | ||
| 1628 | try testArgs(u128, i2, -1 << 1); | ||
| 1629 | try testArgs(u128, i2, -1); | ||
| 1630 | try testArgs(u128, i2, 0); | ||
| 1631 | try testArgs(u256, i2, -1 << 1); | ||
| 1632 | try testArgs(u256, i2, -1); | ||
| 1633 | try testArgs(u256, i2, 0); | ||
| 1634 | try testArgs(u512, i2, -1 << 1); | ||
| 1635 | try testArgs(u512, i2, -1); | ||
| 1636 | try testArgs(u512, i2, 0); | ||
| 1637 | try testArgs(u1024, i2, -1 << 1); | ||
| 1638 | try testArgs(u1024, i2, -1); | ||
| 1639 | try testArgs(u1024, i2, 0); | ||
| 1640 | try testArgs(i8, u2, 0); | ||
| 1641 | try testArgs(i8, u2, 1 << 0); | ||
| 1642 | try testArgs(i8, u2, 1 << 1); | ||
| 1643 | try testArgs(i16, u2, 0); | ||
| 1644 | try testArgs(i16, u2, 1 << 0); | ||
| 1645 | try testArgs(i16, u2, 1 << 1); | ||
| 1646 | try testArgs(i32, u2, 0); | ||
| 1647 | try testArgs(i32, u2, 1 << 0); | ||
| 1648 | try testArgs(i32, u2, 1 << 1); | ||
| 1649 | try testArgs(i64, u2, 0); | ||
| 1650 | try testArgs(i64, u2, 1 << 0); | ||
| 1651 | try testArgs(i64, u2, 1 << 1); | ||
| 1652 | try testArgs(i128, u2, 0); | ||
| 1653 | try testArgs(i128, u2, 1 << 0); | ||
| 1654 | try testArgs(i128, u2, 1 << 1); | ||
| 1655 | try testArgs(i256, u2, 0); | ||
| 1656 | try testArgs(i256, u2, 1 << 0); | ||
| 1657 | try testArgs(i256, u2, 1 << 1); | ||
| 1658 | try testArgs(i512, u2, 0); | ||
| 1659 | try testArgs(i512, u2, 1 << 0); | ||
| 1660 | try testArgs(i512, u2, 1 << 1); | ||
| 1661 | try testArgs(i1024, u2, 0); | ||
| 1662 | try testArgs(i1024, u2, 1 << 0); | ||
| 1663 | try testArgs(i1024, u2, 1 << 1); | ||
| 1664 | |||
| 1665 | try testArgs(u8, i3, -1 << 2); | ||
| 1666 | try testArgs(u8, i3, -1); | ||
| 1667 | try testArgs(u8, i3, 0); | ||
| 1668 | try testArgs(u16, i3, -1 << 2); | ||
| 1669 | try testArgs(u16, i3, -1); | ||
| 1670 | try testArgs(u16, i3, 0); | ||
| 1671 | try testArgs(u32, i3, -1 << 2); | ||
| 1672 | try testArgs(u32, i3, -1); | ||
| 1673 | try testArgs(u32, i3, 0); | ||
| 1674 | try testArgs(u64, i3, -1 << 2); | ||
| 1675 | try testArgs(u64, i3, -1); | ||
| 1676 | try testArgs(u64, i3, 0); | ||
| 1677 | try testArgs(u128, i3, -1 << 2); | ||
| 1678 | try testArgs(u128, i3, -1); | ||
| 1679 | try testArgs(u128, i3, 0); | ||
| 1680 | try testArgs(u256, i3, -1 << 2); | ||
| 1681 | try testArgs(u256, i3, -1); | ||
| 1682 | try testArgs(u256, i3, 0); | ||
| 1683 | try testArgs(u512, i3, -1 << 2); | ||
| 1684 | try testArgs(u512, i3, -1); | ||
| 1685 | try testArgs(u512, i3, 0); | ||
| 1686 | try testArgs(u1024, i3, -1 << 2); | ||
| 1687 | try testArgs(u1024, i3, -1); | ||
| 1688 | try testArgs(u1024, i3, 0); | ||
| 1689 | try testArgs(i8, u3, 0); | ||
| 1690 | try testArgs(i8, u3, 1 << 0); | ||
| 1691 | try testArgs(i8, u3, 1 << 2); | ||
| 1692 | try testArgs(i16, u3, 0); | ||
| 1693 | try testArgs(i16, u3, 1 << 0); | ||
| 1694 | try testArgs(i16, u3, 1 << 2); | ||
| 1695 | try testArgs(i32, u3, 0); | ||
| 1696 | try testArgs(i32, u3, 1 << 0); | ||
| 1697 | try testArgs(i32, u3, 1 << 2); | ||
| 1698 | try testArgs(i64, u3, 0); | ||
| 1699 | try testArgs(i64, u3, 1 << 0); | ||
| 1700 | try testArgs(i64, u3, 1 << 2); | ||
| 1701 | try testArgs(i128, u3, 0); | ||
| 1702 | try testArgs(i128, u3, 1 << 0); | ||
| 1703 | try testArgs(i128, u3, 1 << 2); | ||
| 1704 | try testArgs(i256, u3, 0); | ||
| 1705 | try testArgs(i256, u3, 1 << 0); | ||
| 1706 | try testArgs(i256, u3, 1 << 2); | ||
| 1707 | try testArgs(i512, u3, 0); | ||
| 1708 | try testArgs(i512, u3, 1 << 0); | ||
| 1709 | try testArgs(i512, u3, 1 << 2); | ||
| 1710 | try testArgs(i1024, u3, 0); | ||
| 1711 | try testArgs(i1024, u3, 1 << 0); | ||
| 1712 | try testArgs(i1024, u3, 1 << 2); | ||
| 1713 | |||
| 1714 | try testArgs(u8, i4, -1 << 3); | ||
| 1715 | try testArgs(u8, i4, -1); | ||
| 1716 | try testArgs(u8, i4, 0); | ||
| 1717 | try testArgs(u16, i4, -1 << 3); | ||
| 1718 | try testArgs(u16, i4, -1); | ||
| 1719 | try testArgs(u16, i4, 0); | ||
| 1720 | try testArgs(u32, i4, -1 << 3); | ||
| 1721 | try testArgs(u32, i4, -1); | ||
| 1722 | try testArgs(u32, i4, 0); | ||
| 1723 | try testArgs(u64, i4, -1 << 3); | ||
| 1724 | try testArgs(u64, i4, -1); | ||
| 1725 | try testArgs(u64, i4, 0); | ||
| 1726 | try testArgs(u128, i4, -1 << 3); | ||
| 1727 | try testArgs(u128, i4, -1); | ||
| 1728 | try testArgs(u128, i4, 0); | ||
| 1729 | try testArgs(u256, i4, -1 << 3); | ||
| 1730 | try testArgs(u256, i4, -1); | ||
| 1731 | try testArgs(u256, i4, 0); | ||
| 1732 | try testArgs(u512, i4, -1 << 3); | ||
| 1733 | try testArgs(u512, i4, -1); | ||
| 1734 | try testArgs(u512, i4, 0); | ||
| 1735 | try testArgs(u1024, i4, -1 << 3); | ||
| 1736 | try testArgs(u1024, i4, -1); | ||
| 1737 | try testArgs(u1024, i4, 0); | ||
| 1738 | try testArgs(i8, u4, 0); | ||
| 1739 | try testArgs(i8, u4, 1 << 0); | ||
| 1740 | try testArgs(i8, u4, 1 << 3); | ||
| 1741 | try testArgs(i16, u4, 0); | ||
| 1742 | try testArgs(i16, u4, 1 << 0); | ||
| 1743 | try testArgs(i16, u4, 1 << 3); | ||
| 1744 | try testArgs(i32, u4, 0); | ||
| 1745 | try testArgs(i32, u4, 1 << 0); | ||
| 1746 | try testArgs(i32, u4, 1 << 3); | ||
| 1747 | try testArgs(i64, u4, 0); | ||
| 1748 | try testArgs(i64, u4, 1 << 0); | ||
| 1749 | try testArgs(i64, u4, 1 << 3); | ||
| 1750 | try testArgs(i128, u4, 0); | ||
| 1751 | try testArgs(i128, u4, 1 << 0); | ||
| 1752 | try testArgs(i128, u4, 1 << 3); | ||
| 1753 | try testArgs(i256, u4, 0); | ||
| 1754 | try testArgs(i256, u4, 1 << 0); | ||
| 1755 | try testArgs(i256, u4, 1 << 3); | ||
| 1756 | try testArgs(i512, u4, 0); | ||
| 1757 | try testArgs(i512, u4, 1 << 0); | ||
| 1758 | try testArgs(i512, u4, 1 << 3); | ||
| 1759 | try testArgs(i1024, u4, 0); | ||
| 1760 | try testArgs(i1024, u4, 1 << 0); | ||
| 1761 | try testArgs(i1024, u4, 1 << 3); | ||
| 1762 | |||
| 1763 | try testArgs(u8, i5, -1 << 4); | ||
| 1764 | try testArgs(u8, i5, -1); | ||
| 1765 | try testArgs(u8, i5, 0); | ||
| 1766 | try testArgs(u16, i5, -1 << 4); | ||
| 1767 | try testArgs(u16, i5, -1); | ||
| 1768 | try testArgs(u16, i5, 0); | ||
| 1769 | try testArgs(u32, i5, -1 << 4); | ||
| 1770 | try testArgs(u32, i5, -1); | ||
| 1771 | try testArgs(u32, i5, 0); | ||
| 1772 | try testArgs(u64, i5, -1 << 4); | ||
| 1773 | try testArgs(u64, i5, -1); | ||
| 1774 | try testArgs(u64, i5, 0); | ||
| 1775 | try testArgs(u128, i5, -1 << 4); | ||
| 1776 | try testArgs(u128, i5, -1); | ||
| 1777 | try testArgs(u128, i5, 0); | ||
| 1778 | try testArgs(u256, i5, -1 << 4); | ||
| 1779 | try testArgs(u256, i5, -1); | ||
| 1780 | try testArgs(u256, i5, 0); | ||
| 1781 | try testArgs(u512, i5, -1 << 4); | ||
| 1782 | try testArgs(u512, i5, -1); | ||
| 1783 | try testArgs(u512, i5, 0); | ||
| 1784 | try testArgs(u1024, i5, -1 << 4); | ||
| 1785 | try testArgs(u1024, i5, -1); | ||
| 1786 | try testArgs(u1024, i5, 0); | ||
| 1787 | try testArgs(i8, u5, 0); | ||
| 1788 | try testArgs(i8, u5, 1 << 0); | ||
| 1789 | try testArgs(i8, u5, 1 << 4); | ||
| 1790 | try testArgs(i16, u5, 0); | ||
| 1791 | try testArgs(i16, u5, 1 << 0); | ||
| 1792 | try testArgs(i16, u5, 1 << 4); | ||
| 1793 | try testArgs(i32, u5, 0); | ||
| 1794 | try testArgs(i32, u5, 1 << 0); | ||
| 1795 | try testArgs(i32, u5, 1 << 4); | ||
| 1796 | try testArgs(i64, u5, 0); | ||
| 1797 | try testArgs(i64, u5, 1 << 0); | ||
| 1798 | try testArgs(i64, u5, 1 << 4); | ||
| 1799 | try testArgs(i128, u5, 0); | ||
| 1800 | try testArgs(i128, u5, 1 << 0); | ||
| 1801 | try testArgs(i128, u5, 1 << 4); | ||
| 1802 | try testArgs(i256, u5, 0); | ||
| 1803 | try testArgs(i256, u5, 1 << 0); | ||
| 1804 | try testArgs(i256, u5, 1 << 4); | ||
| 1805 | try testArgs(i512, u5, 0); | ||
| 1806 | try testArgs(i512, u5, 1 << 0); | ||
| 1807 | try testArgs(i512, u5, 1 << 4); | ||
| 1808 | try testArgs(i1024, u5, 0); | ||
| 1809 | try testArgs(i1024, u5, 1 << 0); | ||
| 1810 | try testArgs(i1024, u5, 1 << 4); | ||
| 1811 | |||
| 1812 | try testArgs(u8, i7, -1 << 6); | ||
| 1813 | try testArgs(u8, i7, -1); | ||
| 1814 | try testArgs(u8, i7, 0); | ||
| 1815 | try testArgs(u16, i7, -1 << 6); | ||
| 1816 | try testArgs(u16, i7, -1); | ||
| 1817 | try testArgs(u16, i7, 0); | ||
| 1818 | try testArgs(u32, i7, -1 << 6); | ||
| 1819 | try testArgs(u32, i7, -1); | ||
| 1820 | try testArgs(u32, i7, 0); | ||
| 1821 | try testArgs(u64, i7, -1 << 6); | ||
| 1822 | try testArgs(u64, i7, -1); | ||
| 1823 | try testArgs(u64, i7, 0); | ||
| 1824 | try testArgs(u128, i7, -1 << 6); | ||
| 1825 | try testArgs(u128, i7, -1); | ||
| 1826 | try testArgs(u128, i7, 0); | ||
| 1827 | try testArgs(u256, i7, -1 << 6); | ||
| 1828 | try testArgs(u256, i7, -1); | ||
| 1829 | try testArgs(u256, i7, 0); | ||
| 1830 | try testArgs(u512, i7, -1 << 6); | ||
| 1831 | try testArgs(u512, i7, -1); | ||
| 1832 | try testArgs(u512, i7, 0); | ||
| 1833 | try testArgs(u1024, i7, -1 << 6); | ||
| 1834 | try testArgs(u1024, i7, -1); | ||
| 1835 | try testArgs(u1024, i7, 0); | ||
| 1836 | try testArgs(i8, u7, 0); | ||
| 1837 | try testArgs(i8, u7, 1 << 0); | ||
| 1838 | try testArgs(i8, u7, 1 << 6); | ||
| 1839 | try testArgs(i16, u7, 0); | ||
| 1840 | try testArgs(i16, u7, 1 << 0); | ||
| 1841 | try testArgs(i16, u7, 1 << 6); | ||
| 1842 | try testArgs(i32, u7, 0); | ||
| 1843 | try testArgs(i32, u7, 1 << 0); | ||
| 1844 | try testArgs(i32, u7, 1 << 6); | ||
| 1845 | try testArgs(i64, u7, 0); | ||
| 1846 | try testArgs(i64, u7, 1 << 0); | ||
| 1847 | try testArgs(i64, u7, 1 << 6); | ||
| 1848 | try testArgs(i128, u7, 0); | ||
| 1849 | try testArgs(i128, u7, 1 << 0); | ||
| 1850 | try testArgs(i128, u7, 1 << 6); | ||
| 1851 | try testArgs(i256, u7, 0); | ||
| 1852 | try testArgs(i256, u7, 1 << 0); | ||
| 1853 | try testArgs(i256, u7, 1 << 6); | ||
| 1854 | try testArgs(i512, u7, 0); | ||
| 1855 | try testArgs(i512, u7, 1 << 0); | ||
| 1856 | try testArgs(i512, u7, 1 << 6); | ||
| 1857 | try testArgs(i1024, u7, 0); | ||
| 1858 | try testArgs(i1024, u7, 1 << 0); | ||
| 1859 | try testArgs(i1024, u7, 1 << 6); | ||
| 1860 | |||
| 1861 | try testArgs(u8, i8, -1 << 7); | ||
| 1862 | try testArgs(u8, i8, -1); | ||
| 1863 | try testArgs(u8, i8, 0); | ||
| 1864 | try testArgs(u16, i8, -1 << 7); | ||
| 1865 | try testArgs(u16, i8, -1); | ||
| 1866 | try testArgs(u16, i8, 0); | ||
| 1867 | try testArgs(u32, i8, -1 << 7); | ||
| 1868 | try testArgs(u32, i8, -1); | ||
| 1869 | try testArgs(u32, i8, 0); | ||
| 1870 | try testArgs(u64, i8, -1 << 7); | ||
| 1871 | try testArgs(u64, i8, -1); | ||
| 1872 | try testArgs(u64, i8, 0); | ||
| 1873 | try testArgs(u128, i8, -1 << 7); | ||
| 1874 | try testArgs(u128, i8, -1); | ||
| 1875 | try testArgs(u128, i8, 0); | ||
| 1876 | try testArgs(u256, i8, -1 << 7); | ||
| 1877 | try testArgs(u256, i8, -1); | ||
| 1878 | try testArgs(u256, i8, 0); | ||
| 1879 | try testArgs(u512, i8, -1 << 7); | ||
| 1880 | try testArgs(u512, i8, -1); | ||
| 1881 | try testArgs(u512, i8, 0); | ||
| 1882 | try testArgs(u1024, i8, -1 << 7); | ||
| 1883 | try testArgs(u1024, i8, -1); | ||
| 1884 | try testArgs(u1024, i8, 0); | ||
| 1885 | try testArgs(i8, u8, 0); | ||
| 1886 | try testArgs(i8, u8, 1 << 0); | ||
| 1887 | try testArgs(i8, u8, 1 << 7); | ||
| 1888 | try testArgs(i16, u8, 0); | ||
| 1889 | try testArgs(i16, u8, 1 << 0); | ||
| 1890 | try testArgs(i16, u8, 1 << 7); | ||
| 1891 | try testArgs(i32, u8, 0); | ||
| 1892 | try testArgs(i32, u8, 1 << 0); | ||
| 1893 | try testArgs(i32, u8, 1 << 7); | ||
| 1894 | try testArgs(i64, u8, 0); | ||
| 1895 | try testArgs(i64, u8, 1 << 0); | ||
| 1896 | try testArgs(i64, u8, 1 << 7); | ||
| 1897 | try testArgs(i128, u8, 0); | ||
| 1898 | try testArgs(i128, u8, 1 << 0); | ||
| 1899 | try testArgs(i128, u8, 1 << 7); | ||
| 1900 | try testArgs(i256, u8, 0); | ||
| 1901 | try testArgs(i256, u8, 1 << 0); | ||
| 1902 | try testArgs(i256, u8, 1 << 7); | ||
| 1903 | try testArgs(i512, u8, 0); | ||
| 1904 | try testArgs(i512, u8, 1 << 0); | ||
| 1905 | try testArgs(i512, u8, 1 << 7); | ||
| 1906 | try testArgs(i1024, u8, 0); | ||
| 1907 | try testArgs(i1024, u8, 1 << 0); | ||
| 1908 | try testArgs(i1024, u8, 1 << 7); | ||
| 1909 | |||
| 1910 | try testArgs(u8, i9, -1 << 8); | ||
| 1911 | try testArgs(u8, i9, -1); | ||
| 1912 | try testArgs(u8, i9, 0); | ||
| 1913 | try testArgs(u16, i9, -1 << 8); | ||
| 1914 | try testArgs(u16, i9, -1); | ||
| 1915 | try testArgs(u16, i9, 0); | ||
| 1916 | try testArgs(u32, i9, -1 << 8); | ||
| 1917 | try testArgs(u32, i9, -1); | ||
| 1918 | try testArgs(u32, i9, 0); | ||
| 1919 | try testArgs(u64, i9, -1 << 8); | ||
| 1920 | try testArgs(u64, i9, -1); | ||
| 1921 | try testArgs(u64, i9, 0); | ||
| 1922 | try testArgs(u128, i9, -1 << 8); | ||
| 1923 | try testArgs(u128, i9, -1); | ||
| 1924 | try testArgs(u128, i9, 0); | ||
| 1925 | try testArgs(u256, i9, -1 << 8); | ||
| 1926 | try testArgs(u256, i9, -1); | ||
| 1927 | try testArgs(u256, i9, 0); | ||
| 1928 | try testArgs(u512, i9, -1 << 8); | ||
| 1929 | try testArgs(u512, i9, -1); | ||
| 1930 | try testArgs(u512, i9, 0); | ||
| 1931 | try testArgs(u1024, i9, -1 << 8); | ||
| 1932 | try testArgs(u1024, i9, -1); | ||
| 1933 | try testArgs(u1024, i9, 0); | ||
| 1934 | try testArgs(i8, u9, 0); | ||
| 1935 | try testArgs(i8, u9, 1 << 0); | ||
| 1936 | try testArgs(i8, u9, 1 << 8); | ||
| 1937 | try testArgs(i16, u9, 0); | ||
| 1938 | try testArgs(i16, u9, 1 << 0); | ||
| 1939 | try testArgs(i16, u9, 1 << 8); | ||
| 1940 | try testArgs(i32, u9, 0); | ||
| 1941 | try testArgs(i32, u9, 1 << 0); | ||
| 1942 | try testArgs(i32, u9, 1 << 8); | ||
| 1943 | try testArgs(i64, u9, 0); | ||
| 1944 | try testArgs(i64, u9, 1 << 0); | ||
| 1945 | try testArgs(i64, u9, 1 << 8); | ||
| 1946 | try testArgs(i128, u9, 0); | ||
| 1947 | try testArgs(i128, u9, 1 << 0); | ||
| 1948 | try testArgs(i128, u9, 1 << 8); | ||
| 1949 | try testArgs(i256, u9, 0); | ||
| 1950 | try testArgs(i256, u9, 1 << 0); | ||
| 1951 | try testArgs(i256, u9, 1 << 8); | ||
| 1952 | try testArgs(i512, u9, 0); | ||
| 1953 | try testArgs(i512, u9, 1 << 0); | ||
| 1954 | try testArgs(i512, u9, 1 << 8); | ||
| 1955 | try testArgs(i1024, u9, 0); | ||
| 1956 | try testArgs(i1024, u9, 1 << 0); | ||
| 1957 | try testArgs(i1024, u9, 1 << 8); | ||
| 1958 | |||
| 1959 | try testArgs(u8, i15, -1 << 14); | ||
| 1960 | try testArgs(u8, i15, -1); | ||
| 1961 | try testArgs(u8, i15, 0); | ||
| 1962 | try testArgs(u16, i15, -1 << 14); | ||
| 1963 | try testArgs(u16, i15, -1); | ||
| 1964 | try testArgs(u16, i15, 0); | ||
| 1965 | try testArgs(u32, i15, -1 << 14); | ||
| 1966 | try testArgs(u32, i15, -1); | ||
| 1967 | try testArgs(u32, i15, 0); | ||
| 1968 | try testArgs(u64, i15, -1 << 14); | ||
| 1969 | try testArgs(u64, i15, -1); | ||
| 1970 | try testArgs(u64, i15, 0); | ||
| 1971 | try testArgs(u128, i15, -1 << 14); | ||
| 1972 | try testArgs(u128, i15, -1); | ||
| 1973 | try testArgs(u128, i15, 0); | ||
| 1974 | try testArgs(u256, i15, -1 << 14); | ||
| 1975 | try testArgs(u256, i15, -1); | ||
| 1976 | try testArgs(u256, i15, 0); | ||
| 1977 | try testArgs(u512, i15, -1 << 14); | ||
| 1978 | try testArgs(u512, i15, -1); | ||
| 1979 | try testArgs(u512, i15, 0); | ||
| 1980 | try testArgs(u1024, i15, -1 << 14); | ||
| 1981 | try testArgs(u1024, i15, -1); | ||
| 1982 | try testArgs(u1024, i15, 0); | ||
| 1983 | try testArgs(i8, u15, 0); | ||
| 1984 | try testArgs(i8, u15, 1 << 0); | ||
| 1985 | try testArgs(i8, u15, 1 << 14); | ||
| 1986 | try testArgs(i16, u15, 0); | ||
| 1987 | try testArgs(i16, u15, 1 << 0); | ||
| 1988 | try testArgs(i16, u15, 1 << 14); | ||
| 1989 | try testArgs(i32, u15, 0); | ||
| 1990 | try testArgs(i32, u15, 1 << 0); | ||
| 1991 | try testArgs(i32, u15, 1 << 14); | ||
| 1992 | try testArgs(i64, u15, 0); | ||
| 1993 | try testArgs(i64, u15, 1 << 0); | ||
| 1994 | try testArgs(i64, u15, 1 << 14); | ||
| 1995 | try testArgs(i128, u15, 0); | ||
| 1996 | try testArgs(i128, u15, 1 << 0); | ||
| 1997 | try testArgs(i128, u15, 1 << 14); | ||
| 1998 | try testArgs(i256, u15, 0); | ||
| 1999 | try testArgs(i256, u15, 1 << 0); | ||
| 2000 | try testArgs(i256, u15, 1 << 14); | ||
| 2001 | try testArgs(i512, u15, 0); | ||
| 2002 | try testArgs(i512, u15, 1 << 0); | ||
| 2003 | try testArgs(i512, u15, 1 << 14); | ||
| 2004 | try testArgs(i1024, u15, 0); | ||
| 2005 | try testArgs(i1024, u15, 1 << 0); | ||
| 2006 | try testArgs(i1024, u15, 1 << 14); | ||
| 2007 | |||
| 2008 | try testArgs(u8, i16, -1 << 15); | ||
| 2009 | try testArgs(u8, i16, -1); | ||
| 2010 | try testArgs(u8, i16, 0); | ||
| 2011 | try testArgs(u16, i16, -1 << 15); | ||
| 2012 | try testArgs(u16, i16, -1); | ||
| 2013 | try testArgs(u16, i16, 0); | ||
| 2014 | try testArgs(u32, i16, -1 << 15); | ||
| 2015 | try testArgs(u32, i16, -1); | ||
| 2016 | try testArgs(u32, i16, 0); | ||
| 2017 | try testArgs(u64, i16, -1 << 15); | ||
| 2018 | try testArgs(u64, i16, -1); | ||
| 2019 | try testArgs(u64, i16, 0); | ||
| 2020 | try testArgs(u128, i16, -1 << 15); | ||
| 2021 | try testArgs(u128, i16, -1); | ||
| 2022 | try testArgs(u128, i16, 0); | ||
| 2023 | try testArgs(u256, i16, -1 << 15); | ||
| 2024 | try testArgs(u256, i16, -1); | ||
| 2025 | try testArgs(u256, i16, 0); | ||
| 2026 | try testArgs(u512, i16, -1 << 15); | ||
| 2027 | try testArgs(u512, i16, -1); | ||
| 2028 | try testArgs(u512, i16, 0); | ||
| 2029 | try testArgs(u1024, i16, -1 << 15); | ||
| 2030 | try testArgs(u1024, i16, -1); | ||
| 2031 | try testArgs(u1024, i16, 0); | ||
| 2032 | try testArgs(i8, u16, 0); | ||
| 2033 | try testArgs(i8, u16, 1 << 0); | ||
| 2034 | try testArgs(i8, u16, 1 << 15); | ||
| 2035 | try testArgs(i16, u16, 0); | ||
| 2036 | try testArgs(i16, u16, 1 << 0); | ||
| 2037 | try testArgs(i16, u16, 1 << 15); | ||
| 2038 | try testArgs(i32, u16, 0); | ||
| 2039 | try testArgs(i32, u16, 1 << 0); | ||
| 2040 | try testArgs(i32, u16, 1 << 15); | ||
| 2041 | try testArgs(i64, u16, 0); | ||
| 2042 | try testArgs(i64, u16, 1 << 0); | ||
| 2043 | try testArgs(i64, u16, 1 << 15); | ||
| 2044 | try testArgs(i128, u16, 0); | ||
| 2045 | try testArgs(i128, u16, 1 << 0); | ||
| 2046 | try testArgs(i128, u16, 1 << 15); | ||
| 2047 | try testArgs(i256, u16, 0); | ||
| 2048 | try testArgs(i256, u16, 1 << 0); | ||
| 2049 | try testArgs(i256, u16, 1 << 15); | ||
| 2050 | try testArgs(i512, u16, 0); | ||
| 2051 | try testArgs(i512, u16, 1 << 0); | ||
| 2052 | try testArgs(i512, u16, 1 << 15); | ||
| 2053 | try testArgs(i1024, u16, 0); | ||
| 2054 | try testArgs(i1024, u16, 1 << 0); | ||
| 2055 | try testArgs(i1024, u16, 1 << 15); | ||
| 2056 | |||
| 2057 | try testArgs(u8, i17, -1 << 16); | ||
| 2058 | try testArgs(u8, i17, -1); | ||
| 2059 | try testArgs(u8, i17, 0); | ||
| 2060 | try testArgs(u16, i17, -1 << 16); | ||
| 2061 | try testArgs(u16, i17, -1); | ||
| 2062 | try testArgs(u16, i17, 0); | ||
| 2063 | try testArgs(u32, i17, -1 << 16); | ||
| 2064 | try testArgs(u32, i17, -1); | ||
| 2065 | try testArgs(u32, i17, 0); | ||
| 2066 | try testArgs(u64, i17, -1 << 16); | ||
| 2067 | try testArgs(u64, i17, -1); | ||
| 2068 | try testArgs(u64, i17, 0); | ||
| 2069 | try testArgs(u128, i17, -1 << 16); | ||
| 2070 | try testArgs(u128, i17, -1); | ||
| 2071 | try testArgs(u128, i17, 0); | ||
| 2072 | try testArgs(u256, i17, -1 << 16); | ||
| 2073 | try testArgs(u256, i17, -1); | ||
| 2074 | try testArgs(u256, i17, 0); | ||
| 2075 | try testArgs(u512, i17, -1 << 16); | ||
| 2076 | try testArgs(u512, i17, -1); | ||
| 2077 | try testArgs(u512, i17, 0); | ||
| 2078 | try testArgs(u1024, i17, -1 << 16); | ||
| 2079 | try testArgs(u1024, i17, -1); | ||
| 2080 | try testArgs(u1024, i17, 0); | ||
| 2081 | try testArgs(i8, u17, 0); | ||
| 2082 | try testArgs(i8, u17, 1 << 0); | ||
| 2083 | try testArgs(i8, u17, 1 << 16); | ||
| 2084 | try testArgs(i16, u17, 0); | ||
| 2085 | try testArgs(i16, u17, 1 << 0); | ||
| 2086 | try testArgs(i16, u17, 1 << 16); | ||
| 2087 | try testArgs(i32, u17, 0); | ||
| 2088 | try testArgs(i32, u17, 1 << 0); | ||
| 2089 | try testArgs(i32, u17, 1 << 16); | ||
| 2090 | try testArgs(i64, u17, 0); | ||
| 2091 | try testArgs(i64, u17, 1 << 0); | ||
| 2092 | try testArgs(i64, u17, 1 << 16); | ||
| 2093 | try testArgs(i128, u17, 0); | ||
| 2094 | try testArgs(i128, u17, 1 << 0); | ||
| 2095 | try testArgs(i128, u17, 1 << 16); | ||
| 2096 | try testArgs(i256, u17, 0); | ||
| 2097 | try testArgs(i256, u17, 1 << 0); | ||
| 2098 | try testArgs(i256, u17, 1 << 16); | ||
| 2099 | try testArgs(i512, u17, 0); | ||
| 2100 | try testArgs(i512, u17, 1 << 0); | ||
| 2101 | try testArgs(i512, u17, 1 << 16); | ||
| 2102 | try testArgs(i1024, u17, 0); | ||
| 2103 | try testArgs(i1024, u17, 1 << 0); | ||
| 2104 | try testArgs(i1024, u17, 1 << 16); | ||
| 2105 | |||
| 2106 | try testArgs(u8, i31, -1 << 30); | ||
| 2107 | try testArgs(u8, i31, -1); | ||
| 2108 | try testArgs(u8, i31, 0); | ||
| 2109 | try testArgs(u16, i31, -1 << 30); | ||
| 2110 | try testArgs(u16, i31, -1); | ||
| 2111 | try testArgs(u16, i31, 0); | ||
| 2112 | try testArgs(u32, i31, -1 << 30); | ||
| 2113 | try testArgs(u32, i31, -1); | ||
| 2114 | try testArgs(u32, i31, 0); | ||
| 2115 | try testArgs(u64, i31, -1 << 30); | ||
| 2116 | try testArgs(u64, i31, -1); | ||
| 2117 | try testArgs(u64, i31, 0); | ||
| 2118 | try testArgs(u128, i31, -1 << 30); | ||
| 2119 | try testArgs(u128, i31, -1); | ||
| 2120 | try testArgs(u128, i31, 0); | ||
| 2121 | try testArgs(u256, i31, -1 << 30); | ||
| 2122 | try testArgs(u256, i31, -1); | ||
| 2123 | try testArgs(u256, i31, 0); | ||
| 2124 | try testArgs(u512, i31, -1 << 30); | ||
| 2125 | try testArgs(u512, i31, -1); | ||
| 2126 | try testArgs(u512, i31, 0); | ||
| 2127 | try testArgs(u1024, i31, -1 << 30); | ||
| 2128 | try testArgs(u1024, i31, -1); | ||
| 2129 | try testArgs(u1024, i31, 0); | ||
| 2130 | try testArgs(i8, u31, 0); | ||
| 2131 | try testArgs(i8, u31, 1 << 0); | ||
| 2132 | try testArgs(i8, u31, 1 << 30); | ||
| 2133 | try testArgs(i16, u31, 0); | ||
| 2134 | try testArgs(i16, u31, 1 << 0); | ||
| 2135 | try testArgs(i16, u31, 1 << 30); | ||
| 2136 | try testArgs(i32, u31, 0); | ||
| 2137 | try testArgs(i32, u31, 1 << 0); | ||
| 2138 | try testArgs(i32, u31, 1 << 30); | ||
| 2139 | try testArgs(i64, u31, 0); | ||
| 2140 | try testArgs(i64, u31, 1 << 0); | ||
| 2141 | try testArgs(i64, u31, 1 << 30); | ||
| 2142 | try testArgs(i128, u31, 0); | ||
| 2143 | try testArgs(i128, u31, 1 << 0); | ||
| 2144 | try testArgs(i128, u31, 1 << 30); | ||
| 2145 | try testArgs(i256, u31, 0); | ||
| 2146 | try testArgs(i256, u31, 1 << 0); | ||
| 2147 | try testArgs(i256, u31, 1 << 30); | ||
| 2148 | try testArgs(i512, u31, 0); | ||
| 2149 | try testArgs(i512, u31, 1 << 0); | ||
| 2150 | try testArgs(i512, u31, 1 << 30); | ||
| 2151 | try testArgs(i1024, u31, 0); | ||
| 2152 | try testArgs(i1024, u31, 1 << 0); | ||
| 2153 | try testArgs(i1024, u31, 1 << 30); | ||
| 2154 | |||
| 2155 | try testArgs(u8, i32, -1 << 31); | ||
| 2156 | try testArgs(u8, i32, -1); | ||
| 2157 | try testArgs(u8, i32, 0); | ||
| 2158 | try testArgs(u16, i32, -1 << 31); | ||
| 2159 | try testArgs(u16, i32, -1); | ||
| 2160 | try testArgs(u16, i32, 0); | ||
| 2161 | try testArgs(u32, i32, -1 << 31); | ||
| 2162 | try testArgs(u32, i32, -1); | ||
| 2163 | try testArgs(u32, i32, 0); | ||
| 2164 | try testArgs(u64, i32, -1 << 31); | ||
| 2165 | try testArgs(u64, i32, -1); | ||
| 2166 | try testArgs(u64, i32, 0); | ||
| 2167 | try testArgs(u128, i32, -1 << 31); | ||
| 2168 | try testArgs(u128, i32, -1); | ||
| 2169 | try testArgs(u128, i32, 0); | ||
| 2170 | try testArgs(u256, i32, -1 << 31); | ||
| 2171 | try testArgs(u256, i32, -1); | ||
| 2172 | try testArgs(u256, i32, 0); | ||
| 2173 | try testArgs(u512, i32, -1 << 31); | ||
| 2174 | try testArgs(u512, i32, -1); | ||
| 2175 | try testArgs(u512, i32, 0); | ||
| 2176 | try testArgs(u1024, i32, -1 << 31); | ||
| 2177 | try testArgs(u1024, i32, -1); | ||
| 2178 | try testArgs(u1024, i32, 0); | ||
| 2179 | try testArgs(i8, u32, 0); | ||
| 2180 | try testArgs(i8, u32, 1 << 0); | ||
| 2181 | try testArgs(i8, u32, 1 << 31); | ||
| 2182 | try testArgs(i16, u32, 0); | ||
| 2183 | try testArgs(i16, u32, 1 << 0); | ||
| 2184 | try testArgs(i16, u32, 1 << 31); | ||
| 2185 | try testArgs(i32, u32, 0); | ||
| 2186 | try testArgs(i32, u32, 1 << 0); | ||
| 2187 | try testArgs(i32, u32, 1 << 31); | ||
| 2188 | try testArgs(i64, u32, 0); | ||
| 2189 | try testArgs(i64, u32, 1 << 0); | ||
| 2190 | try testArgs(i64, u32, 1 << 31); | ||
| 2191 | try testArgs(i128, u32, 0); | ||
| 2192 | try testArgs(i128, u32, 1 << 0); | ||
| 2193 | try testArgs(i128, u32, 1 << 31); | ||
| 2194 | try testArgs(i256, u32, 0); | ||
| 2195 | try testArgs(i256, u32, 1 << 0); | ||
| 2196 | try testArgs(i256, u32, 1 << 31); | ||
| 2197 | try testArgs(i512, u32, 0); | ||
| 2198 | try testArgs(i512, u32, 1 << 0); | ||
| 2199 | try testArgs(i512, u32, 1 << 31); | ||
| 2200 | try testArgs(i1024, u32, 0); | ||
| 2201 | try testArgs(i1024, u32, 1 << 0); | ||
| 2202 | try testArgs(i1024, u32, 1 << 31); | ||
| 2203 | |||
| 2204 | try testArgs(u8, i33, -1 << 32); | ||
| 2205 | try testArgs(u8, i33, -1); | ||
| 2206 | try testArgs(u8, i33, 0); | ||
| 2207 | try testArgs(u16, i33, -1 << 32); | ||
| 2208 | try testArgs(u16, i33, -1); | ||
| 2209 | try testArgs(u16, i33, 0); | ||
| 2210 | try testArgs(u32, i33, -1 << 32); | ||
| 2211 | try testArgs(u32, i33, -1); | ||
| 2212 | try testArgs(u32, i33, 0); | ||
| 2213 | try testArgs(u64, i33, -1 << 32); | ||
| 2214 | try testArgs(u64, i33, -1); | ||
| 2215 | try testArgs(u64, i33, 0); | ||
| 2216 | try testArgs(u128, i33, -1 << 32); | ||
| 2217 | try testArgs(u128, i33, -1); | ||
| 2218 | try testArgs(u128, i33, 0); | ||
| 2219 | try testArgs(u256, i33, -1 << 32); | ||
| 2220 | try testArgs(u256, i33, -1); | ||
| 2221 | try testArgs(u256, i33, 0); | ||
| 2222 | try testArgs(u512, i33, -1 << 32); | ||
| 2223 | try testArgs(u512, i33, -1); | ||
| 2224 | try testArgs(u512, i33, 0); | ||
| 2225 | try testArgs(u1024, i33, -1 << 32); | ||
| 2226 | try testArgs(u1024, i33, -1); | ||
| 2227 | try testArgs(u1024, i33, 0); | ||
| 2228 | try testArgs(i8, u33, 0); | ||
| 2229 | try testArgs(i8, u33, 1 << 0); | ||
| 2230 | try testArgs(i8, u33, 1 << 32); | ||
| 2231 | try testArgs(i16, u33, 0); | ||
| 2232 | try testArgs(i16, u33, 1 << 0); | ||
| 2233 | try testArgs(i16, u33, 1 << 32); | ||
| 2234 | try testArgs(i32, u33, 0); | ||
| 2235 | try testArgs(i32, u33, 1 << 0); | ||
| 2236 | try testArgs(i32, u33, 1 << 32); | ||
| 2237 | try testArgs(i64, u33, 0); | ||
| 2238 | try testArgs(i64, u33, 1 << 0); | ||
| 2239 | try testArgs(i64, u33, 1 << 32); | ||
| 2240 | try testArgs(i128, u33, 0); | ||
| 2241 | try testArgs(i128, u33, 1 << 0); | ||
| 2242 | try testArgs(i128, u33, 1 << 32); | ||
| 2243 | try testArgs(i256, u33, 0); | ||
| 2244 | try testArgs(i256, u33, 1 << 0); | ||
| 2245 | try testArgs(i256, u33, 1 << 32); | ||
| 2246 | try testArgs(i512, u33, 0); | ||
| 2247 | try testArgs(i512, u33, 1 << 0); | ||
| 2248 | try testArgs(i512, u33, 1 << 32); | ||
| 2249 | try testArgs(i1024, u33, 0); | ||
| 2250 | try testArgs(i1024, u33, 1 << 0); | ||
| 2251 | try testArgs(i1024, u33, 1 << 32); | ||
| 2252 | |||
| 2253 | try testArgs(u8, i63, -1 << 62); | ||
| 2254 | try testArgs(u8, i63, -1); | ||
| 2255 | try testArgs(u8, i63, 0); | ||
| 2256 | try testArgs(u16, i63, -1 << 62); | ||
| 2257 | try testArgs(u16, i63, -1); | ||
| 2258 | try testArgs(u16, i63, 0); | ||
| 2259 | try testArgs(u32, i63, -1 << 62); | ||
| 2260 | try testArgs(u32, i63, -1); | ||
| 2261 | try testArgs(u32, i63, 0); | ||
| 2262 | try testArgs(u64, i63, -1 << 62); | ||
| 2263 | try testArgs(u64, i63, -1); | ||
| 2264 | try testArgs(u64, i63, 0); | ||
| 2265 | try testArgs(u128, i63, -1 << 62); | ||
| 2266 | try testArgs(u128, i63, -1); | ||
| 2267 | try testArgs(u128, i63, 0); | ||
| 2268 | try testArgs(u256, i63, -1 << 62); | ||
| 2269 | try testArgs(u256, i63, -1); | ||
| 2270 | try testArgs(u256, i63, 0); | ||
| 2271 | try testArgs(u512, i63, -1 << 62); | ||
| 2272 | try testArgs(u512, i63, -1); | ||
| 2273 | try testArgs(u512, i63, 0); | ||
| 2274 | try testArgs(u1024, i63, -1 << 62); | ||
| 2275 | try testArgs(u1024, i63, -1); | ||
| 2276 | try testArgs(u1024, i63, 0); | ||
| 2277 | try testArgs(i8, u63, 0); | ||
| 2278 | try testArgs(i8, u63, 1 << 0); | ||
| 2279 | try testArgs(i8, u63, 1 << 62); | ||
| 2280 | try testArgs(i16, u63, 0); | ||
| 2281 | try testArgs(i16, u63, 1 << 0); | ||
| 2282 | try testArgs(i16, u63, 1 << 62); | ||
| 2283 | try testArgs(i32, u63, 0); | ||
| 2284 | try testArgs(i32, u63, 1 << 0); | ||
| 2285 | try testArgs(i32, u63, 1 << 62); | ||
| 2286 | try testArgs(i64, u63, 0); | ||
| 2287 | try testArgs(i64, u63, 1 << 0); | ||
| 2288 | try testArgs(i64, u63, 1 << 62); | ||
| 2289 | try testArgs(i128, u63, 0); | ||
| 2290 | try testArgs(i128, u63, 1 << 0); | ||
| 2291 | try testArgs(i128, u63, 1 << 62); | ||
| 2292 | try testArgs(i256, u63, 0); | ||
| 2293 | try testArgs(i256, u63, 1 << 0); | ||
| 2294 | try testArgs(i256, u63, 1 << 62); | ||
| 2295 | try testArgs(i512, u63, 0); | ||
| 2296 | try testArgs(i512, u63, 1 << 0); | ||
| 2297 | try testArgs(i512, u63, 1 << 62); | ||
| 2298 | try testArgs(i1024, u63, 0); | ||
| 2299 | try testArgs(i1024, u63, 1 << 0); | ||
| 2300 | try testArgs(i1024, u63, 1 << 62); | ||
| 2301 | |||
| 2302 | try testArgs(u8, i64, -1 << 63); | ||
| 2303 | try testArgs(u8, i64, -1); | ||
| 2304 | try testArgs(u8, i64, 0); | ||
| 2305 | try testArgs(u16, i64, -1 << 63); | ||
| 2306 | try testArgs(u16, i64, -1); | ||
| 2307 | try testArgs(u16, i64, 0); | ||
| 2308 | try testArgs(u32, i64, -1 << 63); | ||
| 2309 | try testArgs(u32, i64, -1); | ||
| 2310 | try testArgs(u32, i64, 0); | ||
| 2311 | try testArgs(u64, i64, -1 << 63); | ||
| 2312 | try testArgs(u64, i64, -1); | ||
| 2313 | try testArgs(u64, i64, 0); | ||
| 2314 | try testArgs(u128, i64, -1 << 63); | ||
| 2315 | try testArgs(u128, i64, -1); | ||
| 2316 | try testArgs(u128, i64, 0); | ||
| 2317 | try testArgs(u256, i64, -1 << 63); | ||
| 2318 | try testArgs(u256, i64, -1); | ||
| 2319 | try testArgs(u256, i64, 0); | ||
| 2320 | try testArgs(u512, i64, -1 << 63); | ||
| 2321 | try testArgs(u512, i64, -1); | ||
| 2322 | try testArgs(u512, i64, 0); | ||
| 2323 | try testArgs(u1024, i64, -1 << 63); | ||
| 2324 | try testArgs(u1024, i64, -1); | ||
| 2325 | try testArgs(u1024, i64, 0); | ||
| 2326 | try testArgs(i8, u64, 0); | ||
| 2327 | try testArgs(i8, u64, 1 << 0); | ||
| 2328 | try testArgs(i8, u64, 1 << 63); | ||
| 2329 | try testArgs(i16, u64, 0); | ||
| 2330 | try testArgs(i16, u64, 1 << 0); | ||
| 2331 | try testArgs(i16, u64, 1 << 63); | ||
| 2332 | try testArgs(i32, u64, 0); | ||
| 2333 | try testArgs(i32, u64, 1 << 0); | ||
| 2334 | try testArgs(i32, u64, 1 << 63); | ||
| 2335 | try testArgs(i64, u64, 0); | ||
| 2336 | try testArgs(i64, u64, 1 << 0); | ||
| 2337 | try testArgs(i64, u64, 1 << 63); | ||
| 2338 | try testArgs(i128, u64, 0); | ||
| 2339 | try testArgs(i128, u64, 1 << 0); | ||
| 2340 | try testArgs(i128, u64, 1 << 63); | ||
| 2341 | try testArgs(i256, u64, 0); | ||
| 2342 | try testArgs(i256, u64, 1 << 0); | ||
| 2343 | try testArgs(i256, u64, 1 << 63); | ||
| 2344 | try testArgs(i512, u64, 0); | ||
| 2345 | try testArgs(i512, u64, 1 << 0); | ||
| 2346 | try testArgs(i512, u64, 1 << 63); | ||
| 2347 | try testArgs(i1024, u64, 0); | ||
| 2348 | try testArgs(i1024, u64, 1 << 0); | ||
| 2349 | try testArgs(i1024, u64, 1 << 63); | ||
| 2350 | |||
| 2351 | try testArgs(u8, i65, -1 << 64); | ||
| 2352 | try testArgs(u8, i65, -1); | ||
| 2353 | try testArgs(u8, i65, 0); | ||
| 2354 | try testArgs(u16, i65, -1 << 64); | ||
| 2355 | try testArgs(u16, i65, -1); | ||
| 2356 | try testArgs(u16, i65, 0); | ||
| 2357 | try testArgs(u32, i65, -1 << 64); | ||
| 2358 | try testArgs(u32, i65, -1); | ||
| 2359 | try testArgs(u32, i65, 0); | ||
| 2360 | try testArgs(u64, i65, -1 << 64); | ||
| 2361 | try testArgs(u64, i65, -1); | ||
| 2362 | try testArgs(u64, i65, 0); | ||
| 2363 | try testArgs(u128, i65, -1 << 64); | ||
| 2364 | try testArgs(u128, i65, -1); | ||
| 2365 | try testArgs(u128, i65, 0); | ||
| 2366 | try testArgs(u256, i65, -1 << 64); | ||
| 2367 | try testArgs(u256, i65, -1); | ||
| 2368 | try testArgs(u256, i65, 0); | ||
| 2369 | try testArgs(u512, i65, -1 << 64); | ||
| 2370 | try testArgs(u512, i65, -1); | ||
| 2371 | try testArgs(u512, i65, 0); | ||
| 2372 | try testArgs(u1024, i65, -1 << 64); | ||
| 2373 | try testArgs(u1024, i65, -1); | ||
| 2374 | try testArgs(u1024, i65, 0); | ||
| 2375 | try testArgs(i8, u65, 0); | ||
| 2376 | try testArgs(i8, u65, 1 << 0); | ||
| 2377 | try testArgs(i8, u65, 1 << 64); | ||
| 2378 | try testArgs(i16, u65, 0); | ||
| 2379 | try testArgs(i16, u65, 1 << 0); | ||
| 2380 | try testArgs(i16, u65, 1 << 64); | ||
| 2381 | try testArgs(i32, u65, 0); | ||
| 2382 | try testArgs(i32, u65, 1 << 0); | ||
| 2383 | try testArgs(i32, u65, 1 << 64); | ||
| 2384 | try testArgs(i64, u65, 0); | ||
| 2385 | try testArgs(i64, u65, 1 << 0); | ||
| 2386 | try testArgs(i64, u65, 1 << 64); | ||
| 2387 | try testArgs(i128, u65, 0); | ||
| 2388 | try testArgs(i128, u65, 1 << 0); | ||
| 2389 | try testArgs(i128, u65, 1 << 64); | ||
| 2390 | try testArgs(i256, u65, 0); | ||
| 2391 | try testArgs(i256, u65, 1 << 0); | ||
| 2392 | try testArgs(i256, u65, 1 << 64); | ||
| 2393 | try testArgs(i512, u65, 0); | ||
| 2394 | try testArgs(i512, u65, 1 << 0); | ||
| 2395 | try testArgs(i512, u65, 1 << 64); | ||
| 2396 | try testArgs(i1024, u65, 0); | ||
| 2397 | try testArgs(i1024, u65, 1 << 0); | ||
| 2398 | try testArgs(i1024, u65, 1 << 64); | ||
| 2399 | |||
| 2400 | try testArgs(u8, i95, -1 << 94); | ||
| 2401 | try testArgs(u8, i95, -1); | ||
| 2402 | try testArgs(u8, i95, 0); | ||
| 2403 | try testArgs(u16, i95, -1 << 94); | ||
| 2404 | try testArgs(u16, i95, -1); | ||
| 2405 | try testArgs(u16, i95, 0); | ||
| 2406 | try testArgs(u32, i95, -1 << 94); | ||
| 2407 | try testArgs(u32, i95, -1); | ||
| 2408 | try testArgs(u32, i95, 0); | ||
| 2409 | try testArgs(u64, i95, -1 << 94); | ||
| 2410 | try testArgs(u64, i95, -1); | ||
| 2411 | try testArgs(u64, i95, 0); | ||
| 2412 | try testArgs(u128, i95, -1 << 94); | ||
| 2413 | try testArgs(u128, i95, -1); | ||
| 2414 | try testArgs(u128, i95, 0); | ||
| 2415 | try testArgs(u256, i95, -1 << 94); | ||
| 2416 | try testArgs(u256, i95, -1); | ||
| 2417 | try testArgs(u256, i95, 0); | ||
| 2418 | try testArgs(u512, i95, -1 << 94); | ||
| 2419 | try testArgs(u512, i95, -1); | ||
| 2420 | try testArgs(u512, i95, 0); | ||
| 2421 | try testArgs(u1024, i95, -1 << 94); | ||
| 2422 | try testArgs(u1024, i95, -1); | ||
| 2423 | try testArgs(u1024, i95, 0); | ||
| 2424 | try testArgs(i8, u95, 0); | ||
| 2425 | try testArgs(i8, u95, 1 << 0); | ||
| 2426 | try testArgs(i8, u95, 1 << 94); | ||
| 2427 | try testArgs(i16, u95, 0); | ||
| 2428 | try testArgs(i16, u95, 1 << 0); | ||
| 2429 | try testArgs(i16, u95, 1 << 94); | ||
| 2430 | try testArgs(i32, u95, 0); | ||
| 2431 | try testArgs(i32, u95, 1 << 0); | ||
| 2432 | try testArgs(i32, u95, 1 << 94); | ||
| 2433 | try testArgs(i64, u95, 0); | ||
| 2434 | try testArgs(i64, u95, 1 << 0); | ||
| 2435 | try testArgs(i64, u95, 1 << 94); | ||
| 2436 | try testArgs(i128, u95, 0); | ||
| 2437 | try testArgs(i128, u95, 1 << 0); | ||
| 2438 | try testArgs(i128, u95, 1 << 94); | ||
| 2439 | try testArgs(i256, u95, 0); | ||
| 2440 | try testArgs(i256, u95, 1 << 0); | ||
| 2441 | try testArgs(i256, u95, 1 << 94); | ||
| 2442 | try testArgs(i512, u95, 0); | ||
| 2443 | try testArgs(i512, u95, 1 << 0); | ||
| 2444 | try testArgs(i512, u95, 1 << 94); | ||
| 2445 | try testArgs(i1024, u95, 0); | ||
| 2446 | try testArgs(i1024, u95, 1 << 0); | ||
| 2447 | try testArgs(i1024, u95, 1 << 94); | ||
| 2448 | |||
| 2449 | try testArgs(u8, i96, -1 << 95); | ||
| 2450 | try testArgs(u8, i96, -1); | ||
| 2451 | try testArgs(u8, i96, 0); | ||
| 2452 | try testArgs(u16, i96, -1 << 95); | ||
| 2453 | try testArgs(u16, i96, -1); | ||
| 2454 | try testArgs(u16, i96, 0); | ||
| 2455 | try testArgs(u32, i96, -1 << 95); | ||
| 2456 | try testArgs(u32, i96, -1); | ||
| 2457 | try testArgs(u32, i96, 0); | ||
| 2458 | try testArgs(u64, i96, -1 << 95); | ||
| 2459 | try testArgs(u64, i96, -1); | ||
| 2460 | try testArgs(u64, i96, 0); | ||
| 2461 | try testArgs(u128, i96, -1 << 95); | ||
| 2462 | try testArgs(u128, i96, -1); | ||
| 2463 | try testArgs(u128, i96, 0); | ||
| 2464 | try testArgs(u256, i96, -1 << 95); | ||
| 2465 | try testArgs(u256, i96, -1); | ||
| 2466 | try testArgs(u256, i96, 0); | ||
| 2467 | try testArgs(u512, i96, -1 << 95); | ||
| 2468 | try testArgs(u512, i96, -1); | ||
| 2469 | try testArgs(u512, i96, 0); | ||
| 2470 | try testArgs(u1024, i96, -1 << 95); | ||
| 2471 | try testArgs(u1024, i96, -1); | ||
| 2472 | try testArgs(u1024, i96, 0); | ||
| 2473 | try testArgs(i8, u96, 0); | ||
| 2474 | try testArgs(i8, u96, 1 << 0); | ||
| 2475 | try testArgs(i8, u96, 1 << 95); | ||
| 2476 | try testArgs(i16, u96, 0); | ||
| 2477 | try testArgs(i16, u96, 1 << 0); | ||
| 2478 | try testArgs(i16, u96, 1 << 95); | ||
| 2479 | try testArgs(i32, u96, 0); | ||
| 2480 | try testArgs(i32, u96, 1 << 0); | ||
| 2481 | try testArgs(i32, u96, 1 << 95); | ||
| 2482 | try testArgs(i64, u96, 0); | ||
| 2483 | try testArgs(i64, u96, 1 << 0); | ||
| 2484 | try testArgs(i64, u96, 1 << 95); | ||
| 2485 | try testArgs(i128, u96, 0); | ||
| 2486 | try testArgs(i128, u96, 1 << 0); | ||
| 2487 | try testArgs(i128, u96, 1 << 95); | ||
| 2488 | try testArgs(i256, u96, 0); | ||
| 2489 | try testArgs(i256, u96, 1 << 0); | ||
| 2490 | try testArgs(i256, u96, 1 << 95); | ||
| 2491 | try testArgs(i512, u96, 0); | ||
| 2492 | try testArgs(i512, u96, 1 << 0); | ||
| 2493 | try testArgs(i512, u96, 1 << 95); | ||
| 2494 | try testArgs(i1024, u96, 0); | ||
| 2495 | try testArgs(i1024, u96, 1 << 0); | ||
| 2496 | try testArgs(i1024, u96, 1 << 95); | ||
| 2497 | |||
| 2498 | try testArgs(u8, i97, -1 << 96); | ||
| 2499 | try testArgs(u8, i97, -1); | ||
| 2500 | try testArgs(u8, i97, 0); | ||
| 2501 | try testArgs(u16, i97, -1 << 96); | ||
| 2502 | try testArgs(u16, i97, -1); | ||
| 2503 | try testArgs(u16, i97, 0); | ||
| 2504 | try testArgs(u32, i97, -1 << 96); | ||
| 2505 | try testArgs(u32, i97, -1); | ||
| 2506 | try testArgs(u32, i97, 0); | ||
| 2507 | try testArgs(u64, i97, -1 << 96); | ||
| 2508 | try testArgs(u64, i97, -1); | ||
| 2509 | try testArgs(u64, i97, 0); | ||
| 2510 | try testArgs(u128, i97, -1 << 96); | ||
| 2511 | try testArgs(u128, i97, -1); | ||
| 2512 | try testArgs(u128, i97, 0); | ||
| 2513 | try testArgs(u256, i97, -1 << 96); | ||
| 2514 | try testArgs(u256, i97, -1); | ||
| 2515 | try testArgs(u256, i97, 0); | ||
| 2516 | try testArgs(u512, i97, -1 << 96); | ||
| 2517 | try testArgs(u512, i97, -1); | ||
| 2518 | try testArgs(u512, i97, 0); | ||
| 2519 | try testArgs(u1024, i97, -1 << 96); | ||
| 2520 | try testArgs(u1024, i97, -1); | ||
| 2521 | try testArgs(u1024, i97, 0); | ||
| 2522 | try testArgs(i8, u97, 0); | ||
| 2523 | try testArgs(i8, u97, 1 << 0); | ||
| 2524 | try testArgs(i8, u97, 1 << 96); | ||
| 2525 | try testArgs(i16, u97, 0); | ||
| 2526 | try testArgs(i16, u97, 1 << 0); | ||
| 2527 | try testArgs(i16, u97, 1 << 96); | ||
| 2528 | try testArgs(i32, u97, 0); | ||
| 2529 | try testArgs(i32, u97, 1 << 0); | ||
| 2530 | try testArgs(i32, u97, 1 << 96); | ||
| 2531 | try testArgs(i64, u97, 0); | ||
| 2532 | try testArgs(i64, u97, 1 << 0); | ||
| 2533 | try testArgs(i64, u97, 1 << 96); | ||
| 2534 | try testArgs(i128, u97, 0); | ||
| 2535 | try testArgs(i128, u97, 1 << 0); | ||
| 2536 | try testArgs(i128, u97, 1 << 96); | ||
| 2537 | try testArgs(i256, u97, 0); | ||
| 2538 | try testArgs(i256, u97, 1 << 0); | ||
| 2539 | try testArgs(i256, u97, 1 << 96); | ||
| 2540 | try testArgs(i512, u97, 0); | ||
| 2541 | try testArgs(i512, u97, 1 << 0); | ||
| 2542 | try testArgs(i512, u97, 1 << 96); | ||
| 2543 | try testArgs(i1024, u97, 0); | ||
| 2544 | try testArgs(i1024, u97, 1 << 0); | ||
| 2545 | try testArgs(i1024, u97, 1 << 96); | ||
| 2546 | |||
| 2547 | try testArgs(u8, i127, -1 << 126); | ||
| 2548 | try testArgs(u8, i127, -1); | ||
| 2549 | try testArgs(u8, i127, 0); | ||
| 2550 | try testArgs(u16, i127, -1 << 126); | ||
| 2551 | try testArgs(u16, i127, -1); | ||
| 2552 | try testArgs(u16, i127, 0); | ||
| 2553 | try testArgs(u32, i127, -1 << 126); | ||
| 2554 | try testArgs(u32, i127, -1); | ||
| 2555 | try testArgs(u32, i127, 0); | ||
| 2556 | try testArgs(u64, i127, -1 << 126); | ||
| 2557 | try testArgs(u64, i127, -1); | ||
| 2558 | try testArgs(u64, i127, 0); | ||
| 2559 | try testArgs(u128, i127, -1 << 126); | ||
| 2560 | try testArgs(u128, i127, -1); | ||
| 2561 | try testArgs(u128, i127, 0); | ||
| 2562 | try testArgs(u256, i127, -1 << 126); | ||
| 2563 | try testArgs(u256, i127, -1); | ||
| 2564 | try testArgs(u256, i127, 0); | ||
| 2565 | try testArgs(u512, i127, -1 << 126); | ||
| 2566 | try testArgs(u512, i127, -1); | ||
| 2567 | try testArgs(u512, i127, 0); | ||
| 2568 | try testArgs(u1024, i127, -1 << 126); | ||
| 2569 | try testArgs(u1024, i127, -1); | ||
| 2570 | try testArgs(u1024, i127, 0); | ||
| 2571 | try testArgs(i8, u127, 0); | ||
| 2572 | try testArgs(i8, u127, 1 << 0); | ||
| 2573 | try testArgs(i8, u127, 1 << 126); | ||
| 2574 | try testArgs(i16, u127, 0); | ||
| 2575 | try testArgs(i16, u127, 1 << 0); | ||
| 2576 | try testArgs(i16, u127, 1 << 126); | ||
| 2577 | try testArgs(i32, u127, 0); | ||
| 2578 | try testArgs(i32, u127, 1 << 0); | ||
| 2579 | try testArgs(i32, u127, 1 << 126); | ||
| 2580 | try testArgs(i64, u127, 0); | ||
| 2581 | try testArgs(i64, u127, 1 << 0); | ||
| 2582 | try testArgs(i64, u127, 1 << 126); | ||
| 2583 | try testArgs(i128, u127, 0); | ||
| 2584 | try testArgs(i128, u127, 1 << 0); | ||
| 2585 | try testArgs(i128, u127, 1 << 126); | ||
| 2586 | try testArgs(i256, u127, 0); | ||
| 2587 | try testArgs(i256, u127, 1 << 0); | ||
| 2588 | try testArgs(i256, u127, 1 << 126); | ||
| 2589 | try testArgs(i512, u127, 0); | ||
| 2590 | try testArgs(i512, u127, 1 << 0); | ||
| 2591 | try testArgs(i512, u127, 1 << 126); | ||
| 2592 | try testArgs(i1024, u127, 0); | ||
| 2593 | try testArgs(i1024, u127, 1 << 0); | ||
| 2594 | try testArgs(i1024, u127, 1 << 126); | ||
| 2595 | |||
| 2596 | try testArgs(u8, i128, -1 << 127); | ||
| 2597 | try testArgs(u8, i128, -1); | ||
| 2598 | try testArgs(u8, i128, 0); | ||
| 2599 | try testArgs(u16, i128, -1 << 127); | ||
| 2600 | try testArgs(u16, i128, -1); | ||
| 2601 | try testArgs(u16, i128, 0); | ||
| 2602 | try testArgs(u32, i128, -1 << 127); | ||
| 2603 | try testArgs(u32, i128, -1); | ||
| 2604 | try testArgs(u32, i128, 0); | ||
| 2605 | try testArgs(u64, i128, -1 << 127); | ||
| 2606 | try testArgs(u64, i128, -1); | ||
| 2607 | try testArgs(u64, i128, 0); | ||
| 2608 | try testArgs(u128, i128, -1 << 127); | ||
| 2609 | try testArgs(u128, i128, -1); | ||
| 2610 | try testArgs(u128, i128, 0); | ||
| 2611 | try testArgs(u256, i128, -1 << 127); | ||
| 2612 | try testArgs(u256, i128, -1); | ||
| 2613 | try testArgs(u256, i128, 0); | ||
| 2614 | try testArgs(u512, i128, -1 << 127); | ||
| 2615 | try testArgs(u512, i128, -1); | ||
| 2616 | try testArgs(u512, i128, 0); | ||
| 2617 | try testArgs(u1024, i128, -1 << 127); | ||
| 2618 | try testArgs(u1024, i128, -1); | ||
| 2619 | try testArgs(u1024, i128, 0); | ||
| 2620 | try testArgs(i8, u128, 0); | ||
| 2621 | try testArgs(i8, u128, 1 << 0); | ||
| 2622 | try testArgs(i8, u128, 1 << 127); | ||
| 2623 | try testArgs(i16, u128, 0); | ||
| 2624 | try testArgs(i16, u128, 1 << 0); | ||
| 2625 | try testArgs(i16, u128, 1 << 127); | ||
| 2626 | try testArgs(i32, u128, 0); | ||
| 2627 | try testArgs(i32, u128, 1 << 0); | ||
| 2628 | try testArgs(i32, u128, 1 << 127); | ||
| 2629 | try testArgs(i64, u128, 0); | ||
| 2630 | try testArgs(i64, u128, 1 << 0); | ||
| 2631 | try testArgs(i64, u128, 1 << 127); | ||
| 2632 | try testArgs(i128, u128, 0); | ||
| 2633 | try testArgs(i128, u128, 1 << 0); | ||
| 2634 | try testArgs(i128, u128, 1 << 127); | ||
| 2635 | try testArgs(i256, u128, 0); | ||
| 2636 | try testArgs(i256, u128, 1 << 0); | ||
| 2637 | try testArgs(i256, u128, 1 << 127); | ||
| 2638 | try testArgs(i512, u128, 0); | ||
| 2639 | try testArgs(i512, u128, 1 << 0); | ||
| 2640 | try testArgs(i512, u128, 1 << 127); | ||
| 2641 | try testArgs(i1024, u128, 0); | ||
| 2642 | try testArgs(i1024, u128, 1 << 0); | ||
| 2643 | try testArgs(i1024, u128, 1 << 127); | ||
| 2644 | |||
| 2645 | try testArgs(u8, i129, -1 << 128); | ||
| 2646 | try testArgs(u8, i129, -1); | ||
| 2647 | try testArgs(u8, i129, 0); | ||
| 2648 | try testArgs(u16, i129, -1 << 128); | ||
| 2649 | try testArgs(u16, i129, -1); | ||
| 2650 | try testArgs(u16, i129, 0); | ||
| 2651 | try testArgs(u32, i129, -1 << 128); | ||
| 2652 | try testArgs(u32, i129, -1); | ||
| 2653 | try testArgs(u32, i129, 0); | ||
| 2654 | try testArgs(u64, i129, -1 << 128); | ||
| 2655 | try testArgs(u64, i129, -1); | ||
| 2656 | try testArgs(u64, i129, 0); | ||
| 2657 | try testArgs(u128, i129, -1 << 128); | ||
| 2658 | try testArgs(u128, i129, -1); | ||
| 2659 | try testArgs(u128, i129, 0); | ||
| 2660 | try testArgs(u256, i129, -1 << 128); | ||
| 2661 | try testArgs(u256, i129, -1); | ||
| 2662 | try testArgs(u256, i129, 0); | ||
| 2663 | try testArgs(u512, i129, -1 << 128); | ||
| 2664 | try testArgs(u512, i129, -1); | ||
| 2665 | try testArgs(u512, i129, 0); | ||
| 2666 | try testArgs(u1024, i129, -1 << 128); | ||
| 2667 | try testArgs(u1024, i129, -1); | ||
| 2668 | try testArgs(u1024, i129, 0); | ||
| 2669 | try testArgs(i8, u129, 0); | ||
| 2670 | try testArgs(i8, u129, 1 << 0); | ||
| 2671 | try testArgs(i8, u129, 1 << 128); | ||
| 2672 | try testArgs(i16, u129, 0); | ||
| 2673 | try testArgs(i16, u129, 1 << 0); | ||
| 2674 | try testArgs(i16, u129, 1 << 128); | ||
| 2675 | try testArgs(i32, u129, 0); | ||
| 2676 | try testArgs(i32, u129, 1 << 0); | ||
| 2677 | try testArgs(i32, u129, 1 << 128); | ||
| 2678 | try testArgs(i64, u129, 0); | ||
| 2679 | try testArgs(i64, u129, 1 << 0); | ||
| 2680 | try testArgs(i64, u129, 1 << 128); | ||
| 2681 | try testArgs(i128, u129, 0); | ||
| 2682 | try testArgs(i128, u129, 1 << 0); | ||
| 2683 | try testArgs(i128, u129, 1 << 128); | ||
| 2684 | try testArgs(i256, u129, 0); | ||
| 2685 | try testArgs(i256, u129, 1 << 0); | ||
| 2686 | try testArgs(i256, u129, 1 << 128); | ||
| 2687 | try testArgs(i512, u129, 0); | ||
| 2688 | try testArgs(i512, u129, 1 << 0); | ||
| 2689 | try testArgs(i512, u129, 1 << 128); | ||
| 2690 | try testArgs(i1024, u129, 0); | ||
| 2691 | try testArgs(i1024, u129, 1 << 0); | ||
| 2692 | try testArgs(i1024, u129, 1 << 128); | ||
| 2693 | |||
| 2694 | try testArgs(u8, i255, -1 << 254); | ||
| 2695 | try testArgs(u8, i255, -1); | ||
| 2696 | try testArgs(u8, i255, 0); | ||
| 2697 | try testArgs(u16, i255, -1 << 254); | ||
| 2698 | try testArgs(u16, i255, -1); | ||
| 2699 | try testArgs(u16, i255, 0); | ||
| 2700 | try testArgs(u32, i255, -1 << 254); | ||
| 2701 | try testArgs(u32, i255, -1); | ||
| 2702 | try testArgs(u32, i255, 0); | ||
| 2703 | try testArgs(u64, i255, -1 << 254); | ||
| 2704 | try testArgs(u64, i255, -1); | ||
| 2705 | try testArgs(u64, i255, 0); | ||
| 2706 | try testArgs(u128, i255, -1 << 254); | ||
| 2707 | try testArgs(u128, i255, -1); | ||
| 2708 | try testArgs(u128, i255, 0); | ||
| 2709 | try testArgs(u256, i255, -1 << 254); | ||
| 2710 | try testArgs(u256, i255, -1); | ||
| 2711 | try testArgs(u256, i255, 0); | ||
| 2712 | try testArgs(u512, i255, -1 << 254); | ||
| 2713 | try testArgs(u512, i255, -1); | ||
| 2714 | try testArgs(u512, i255, 0); | ||
| 2715 | try testArgs(u1024, i255, -1 << 254); | ||
| 2716 | try testArgs(u1024, i255, -1); | ||
| 2717 | try testArgs(u1024, i255, 0); | ||
| 2718 | try testArgs(i8, u255, 0); | ||
| 2719 | try testArgs(i8, u255, 1 << 0); | ||
| 2720 | try testArgs(i8, u255, 1 << 254); | ||
| 2721 | try testArgs(i16, u255, 0); | ||
| 2722 | try testArgs(i16, u255, 1 << 0); | ||
| 2723 | try testArgs(i16, u255, 1 << 254); | ||
| 2724 | try testArgs(i32, u255, 0); | ||
| 2725 | try testArgs(i32, u255, 1 << 0); | ||
| 2726 | try testArgs(i32, u255, 1 << 254); | ||
| 2727 | try testArgs(i64, u255, 0); | ||
| 2728 | try testArgs(i64, u255, 1 << 0); | ||
| 2729 | try testArgs(i64, u255, 1 << 254); | ||
| 2730 | try testArgs(i128, u255, 0); | ||
| 2731 | try testArgs(i128, u255, 1 << 0); | ||
| 2732 | try testArgs(i128, u255, 1 << 254); | ||
| 2733 | try testArgs(i256, u255, 0); | ||
| 2734 | try testArgs(i256, u255, 1 << 0); | ||
| 2735 | try testArgs(i256, u255, 1 << 254); | ||
| 2736 | try testArgs(i512, u255, 0); | ||
| 2737 | try testArgs(i512, u255, 1 << 0); | ||
| 2738 | try testArgs(i512, u255, 1 << 254); | ||
| 2739 | try testArgs(i1024, u255, 0); | ||
| 2740 | try testArgs(i1024, u255, 1 << 0); | ||
| 2741 | try testArgs(i1024, u255, 1 << 254); | ||
| 2742 | |||
| 2743 | try testArgs(u8, i256, -1 << 255); | ||
| 2744 | try testArgs(u8, i256, -1); | ||
| 2745 | try testArgs(u8, i256, 0); | ||
| 2746 | try testArgs(u16, i256, -1 << 255); | ||
| 2747 | try testArgs(u16, i256, -1); | ||
| 2748 | try testArgs(u16, i256, 0); | ||
| 2749 | try testArgs(u32, i256, -1 << 255); | ||
| 2750 | try testArgs(u32, i256, -1); | ||
| 2751 | try testArgs(u32, i256, 0); | ||
| 2752 | try testArgs(u64, i256, -1 << 255); | ||
| 2753 | try testArgs(u64, i256, -1); | ||
| 2754 | try testArgs(u64, i256, 0); | ||
| 2755 | try testArgs(u128, i256, -1 << 255); | ||
| 2756 | try testArgs(u128, i256, -1); | ||
| 2757 | try testArgs(u128, i256, 0); | ||
| 2758 | try testArgs(u256, i256, -1 << 255); | ||
| 2759 | try testArgs(u256, i256, -1); | ||
| 2760 | try testArgs(u256, i256, 0); | ||
| 2761 | try testArgs(u512, i256, -1 << 255); | ||
| 2762 | try testArgs(u512, i256, -1); | ||
| 2763 | try testArgs(u512, i256, 0); | ||
| 2764 | try testArgs(u1024, i256, -1 << 255); | ||
| 2765 | try testArgs(u1024, i256, -1); | ||
| 2766 | try testArgs(u1024, i256, 0); | ||
| 2767 | try testArgs(i8, u256, 0); | ||
| 2768 | try testArgs(i8, u256, 1 << 0); | ||
| 2769 | try testArgs(i8, u256, 1 << 255); | ||
| 2770 | try testArgs(i16, u256, 0); | ||
| 2771 | try testArgs(i16, u256, 1 << 0); | ||
| 2772 | try testArgs(i16, u256, 1 << 255); | ||
| 2773 | try testArgs(i32, u256, 0); | ||
| 2774 | try testArgs(i32, u256, 1 << 0); | ||
| 2775 | try testArgs(i32, u256, 1 << 255); | ||
| 2776 | try testArgs(i64, u256, 0); | ||
| 2777 | try testArgs(i64, u256, 1 << 0); | ||
| 2778 | try testArgs(i64, u256, 1 << 255); | ||
| 2779 | try testArgs(i128, u256, 0); | ||
| 2780 | try testArgs(i128, u256, 1 << 0); | ||
| 2781 | try testArgs(i128, u256, 1 << 255); | ||
| 2782 | try testArgs(i256, u256, 0); | ||
| 2783 | try testArgs(i256, u256, 1 << 0); | ||
| 2784 | try testArgs(i256, u256, 1 << 255); | ||
| 2785 | try testArgs(i512, u256, 0); | ||
| 2786 | try testArgs(i512, u256, 1 << 0); | ||
| 2787 | try testArgs(i512, u256, 1 << 255); | ||
| 2788 | try testArgs(i1024, u256, 0); | ||
| 2789 | try testArgs(i1024, u256, 1 << 0); | ||
| 2790 | try testArgs(i1024, u256, 1 << 255); | ||
| 2791 | |||
| 2792 | try testArgs(u8, i257, -1 << 256); | ||
| 2793 | try testArgs(u8, i257, -1); | ||
| 2794 | try testArgs(u8, i257, 0); | ||
| 2795 | try testArgs(u16, i257, -1 << 256); | ||
| 2796 | try testArgs(u16, i257, -1); | ||
| 2797 | try testArgs(u16, i257, 0); | ||
| 2798 | try testArgs(u32, i257, -1 << 256); | ||
| 2799 | try testArgs(u32, i257, -1); | ||
| 2800 | try testArgs(u32, i257, 0); | ||
| 2801 | try testArgs(u64, i257, -1 << 256); | ||
| 2802 | try testArgs(u64, i257, -1); | ||
| 2803 | try testArgs(u64, i257, 0); | ||
| 2804 | try testArgs(u128, i257, -1 << 256); | ||
| 2805 | try testArgs(u128, i257, -1); | ||
| 2806 | try testArgs(u128, i257, 0); | ||
| 2807 | try testArgs(u256, i257, -1 << 256); | ||
| 2808 | try testArgs(u256, i257, -1); | ||
| 2809 | try testArgs(u256, i257, 0); | ||
| 2810 | try testArgs(u512, i257, -1 << 256); | ||
| 2811 | try testArgs(u512, i257, -1); | ||
| 2812 | try testArgs(u512, i257, 0); | ||
| 2813 | try testArgs(u1024, i257, -1 << 256); | ||
| 2814 | try testArgs(u1024, i257, -1); | ||
| 2815 | try testArgs(u1024, i257, 0); | ||
| 2816 | try testArgs(i8, u257, 0); | ||
| 2817 | try testArgs(i8, u257, 1 << 0); | ||
| 2818 | try testArgs(i8, u257, 1 << 256); | ||
| 2819 | try testArgs(i16, u257, 0); | ||
| 2820 | try testArgs(i16, u257, 1 << 0); | ||
| 2821 | try testArgs(i16, u257, 1 << 256); | ||
| 2822 | try testArgs(i32, u257, 0); | ||
| 2823 | try testArgs(i32, u257, 1 << 0); | ||
| 2824 | try testArgs(i32, u257, 1 << 256); | ||
| 2825 | try testArgs(i64, u257, 0); | ||
| 2826 | try testArgs(i64, u257, 1 << 0); | ||
| 2827 | try testArgs(i64, u257, 1 << 256); | ||
| 2828 | try testArgs(i128, u257, 0); | ||
| 2829 | try testArgs(i128, u257, 1 << 0); | ||
| 2830 | try testArgs(i128, u257, 1 << 256); | ||
| 2831 | try testArgs(i256, u257, 0); | ||
| 2832 | try testArgs(i256, u257, 1 << 0); | ||
| 2833 | try testArgs(i256, u257, 1 << 256); | ||
| 2834 | try testArgs(i512, u257, 0); | ||
| 2835 | try testArgs(i512, u257, 1 << 0); | ||
| 2836 | try testArgs(i512, u257, 1 << 256); | ||
| 2837 | try testArgs(i1024, u257, 0); | ||
| 2838 | try testArgs(i1024, u257, 1 << 0); | ||
| 2839 | try testArgs(i1024, u257, 1 << 256); | ||
| 2840 | |||
| 2841 | try testArgs(u8, i511, -1 << 510); | ||
| 2842 | try testArgs(u8, i511, -1); | ||
| 2843 | try testArgs(u8, i511, 0); | ||
| 2844 | try testArgs(u16, i511, -1 << 510); | ||
| 2845 | try testArgs(u16, i511, -1); | ||
| 2846 | try testArgs(u16, i511, 0); | ||
| 2847 | try testArgs(u32, i511, -1 << 510); | ||
| 2848 | try testArgs(u32, i511, -1); | ||
| 2849 | try testArgs(u32, i511, 0); | ||
| 2850 | try testArgs(u64, i511, -1 << 510); | ||
| 2851 | try testArgs(u64, i511, -1); | ||
| 2852 | try testArgs(u64, i511, 0); | ||
| 2853 | try testArgs(u128, i511, -1 << 510); | ||
| 2854 | try testArgs(u128, i511, -1); | ||
| 2855 | try testArgs(u128, i511, 0); | ||
| 2856 | try testArgs(u256, i511, -1 << 510); | ||
| 2857 | try testArgs(u256, i511, -1); | ||
| 2858 | try testArgs(u256, i511, 0); | ||
| 2859 | try testArgs(u512, i511, -1 << 510); | ||
| 2860 | try testArgs(u512, i511, -1); | ||
| 2861 | try testArgs(u512, i511, 0); | ||
| 2862 | try testArgs(u1024, i511, -1 << 510); | ||
| 2863 | try testArgs(u1024, i511, -1); | ||
| 2864 | try testArgs(u1024, i511, 0); | ||
| 2865 | try testArgs(i8, u511, 0); | ||
| 2866 | try testArgs(i8, u511, 1 << 0); | ||
| 2867 | try testArgs(i8, u511, 1 << 510); | ||
| 2868 | try testArgs(i16, u511, 0); | ||
| 2869 | try testArgs(i16, u511, 1 << 0); | ||
| 2870 | try testArgs(i16, u511, 1 << 510); | ||
| 2871 | try testArgs(i32, u511, 0); | ||
| 2872 | try testArgs(i32, u511, 1 << 0); | ||
| 2873 | try testArgs(i32, u511, 1 << 510); | ||
| 2874 | try testArgs(i64, u511, 0); | ||
| 2875 | try testArgs(i64, u511, 1 << 0); | ||
| 2876 | try testArgs(i64, u511, 1 << 510); | ||
| 2877 | try testArgs(i128, u511, 0); | ||
| 2878 | try testArgs(i128, u511, 1 << 0); | ||
| 2879 | try testArgs(i128, u511, 1 << 510); | ||
| 2880 | try testArgs(i256, u511, 0); | ||
| 2881 | try testArgs(i256, u511, 1 << 0); | ||
| 2882 | try testArgs(i256, u511, 1 << 510); | ||
| 2883 | try testArgs(i512, u511, 0); | ||
| 2884 | try testArgs(i512, u511, 1 << 0); | ||
| 2885 | try testArgs(i512, u511, 1 << 510); | ||
| 2886 | try testArgs(i1024, u511, 0); | ||
| 2887 | try testArgs(i1024, u511, 1 << 0); | ||
| 2888 | try testArgs(i1024, u511, 1 << 510); | ||
| 2889 | |||
| 2890 | try testArgs(u8, i512, -1 << 511); | ||
| 2891 | try testArgs(u8, i512, -1); | ||
| 2892 | try testArgs(u8, i512, 0); | ||
| 2893 | try testArgs(u16, i512, -1 << 511); | ||
| 2894 | try testArgs(u16, i512, -1); | ||
| 2895 | try testArgs(u16, i512, 0); | ||
| 2896 | try testArgs(u32, i512, -1 << 511); | ||
| 2897 | try testArgs(u32, i512, -1); | ||
| 2898 | try testArgs(u32, i512, 0); | ||
| 2899 | try testArgs(u64, i512, -1 << 511); | ||
| 2900 | try testArgs(u64, i512, -1); | ||
| 2901 | try testArgs(u64, i512, 0); | ||
| 2902 | try testArgs(u128, i512, -1 << 511); | ||
| 2903 | try testArgs(u128, i512, -1); | ||
| 2904 | try testArgs(u128, i512, 0); | ||
| 2905 | try testArgs(u256, i512, -1 << 511); | ||
| 2906 | try testArgs(u256, i512, -1); | ||
| 2907 | try testArgs(u256, i512, 0); | ||
| 2908 | try testArgs(u512, i512, -1 << 511); | ||
| 2909 | try testArgs(u512, i512, -1); | ||
| 2910 | try testArgs(u512, i512, 0); | ||
| 2911 | try testArgs(u1024, i512, -1 << 511); | ||
| 2912 | try testArgs(u1024, i512, -1); | ||
| 2913 | try testArgs(u1024, i512, 0); | ||
| 2914 | try testArgs(i8, u512, 0); | ||
| 2915 | try testArgs(i8, u512, 1 << 0); | ||
| 2916 | try testArgs(i8, u512, 1 << 511); | ||
| 2917 | try testArgs(i16, u512, 0); | ||
| 2918 | try testArgs(i16, u512, 1 << 0); | ||
| 2919 | try testArgs(i16, u512, 1 << 511); | ||
| 2920 | try testArgs(i32, u512, 0); | ||
| 2921 | try testArgs(i32, u512, 1 << 0); | ||
| 2922 | try testArgs(i32, u512, 1 << 511); | ||
| 2923 | try testArgs(i64, u512, 0); | ||
| 2924 | try testArgs(i64, u512, 1 << 0); | ||
| 2925 | try testArgs(i64, u512, 1 << 511); | ||
| 2926 | try testArgs(i128, u512, 0); | ||
| 2927 | try testArgs(i128, u512, 1 << 0); | ||
| 2928 | try testArgs(i128, u512, 1 << 511); | ||
| 2929 | try testArgs(i256, u512, 0); | ||
| 2930 | try testArgs(i256, u512, 1 << 0); | ||
| 2931 | try testArgs(i256, u512, 1 << 511); | ||
| 2932 | try testArgs(i512, u512, 0); | ||
| 2933 | try testArgs(i512, u512, 1 << 0); | ||
| 2934 | try testArgs(i512, u512, 1 << 511); | ||
| 2935 | try testArgs(i1024, u512, 0); | ||
| 2936 | try testArgs(i1024, u512, 1 << 0); | ||
| 2937 | try testArgs(i1024, u512, 1 << 511); | ||
| 2938 | |||
| 2939 | try testArgs(u8, i513, -1 << 512); | ||
| 2940 | try testArgs(u8, i513, -1); | ||
| 2941 | try testArgs(u8, i513, 0); | ||
| 2942 | try testArgs(u16, i513, -1 << 512); | ||
| 2943 | try testArgs(u16, i513, -1); | ||
| 2944 | try testArgs(u16, i513, 0); | ||
| 2945 | try testArgs(u32, i513, -1 << 512); | ||
| 2946 | try testArgs(u32, i513, -1); | ||
| 2947 | try testArgs(u32, i513, 0); | ||
| 2948 | try testArgs(u64, i513, -1 << 512); | ||
| 2949 | try testArgs(u64, i513, -1); | ||
| 2950 | try testArgs(u64, i513, 0); | ||
| 2951 | try testArgs(u128, i513, -1 << 512); | ||
| 2952 | try testArgs(u128, i513, -1); | ||
| 2953 | try testArgs(u128, i513, 0); | ||
| 2954 | try testArgs(u256, i513, -1 << 512); | ||
| 2955 | try testArgs(u256, i513, -1); | ||
| 2956 | try testArgs(u256, i513, 0); | ||
| 2957 | try testArgs(u512, i513, -1 << 512); | ||
| 2958 | try testArgs(u512, i513, -1); | ||
| 2959 | try testArgs(u512, i513, 0); | ||
| 2960 | try testArgs(u1024, i513, -1 << 512); | ||
| 2961 | try testArgs(u1024, i513, -1); | ||
| 2962 | try testArgs(u1024, i513, 0); | ||
| 2963 | try testArgs(i8, u513, 0); | ||
| 2964 | try testArgs(i8, u513, 1 << 0); | ||
| 2965 | try testArgs(i8, u513, 1 << 512); | ||
| 2966 | try testArgs(i16, u513, 0); | ||
| 2967 | try testArgs(i16, u513, 1 << 0); | ||
| 2968 | try testArgs(i16, u513, 1 << 512); | ||
| 2969 | try testArgs(i32, u513, 0); | ||
| 2970 | try testArgs(i32, u513, 1 << 0); | ||
| 2971 | try testArgs(i32, u513, 1 << 512); | ||
| 2972 | try testArgs(i64, u513, 0); | ||
| 2973 | try testArgs(i64, u513, 1 << 0); | ||
| 2974 | try testArgs(i64, u513, 1 << 512); | ||
| 2975 | try testArgs(i128, u513, 0); | ||
| 2976 | try testArgs(i128, u513, 1 << 0); | ||
| 2977 | try testArgs(i128, u513, 1 << 512); | ||
| 2978 | try testArgs(i256, u513, 0); | ||
| 2979 | try testArgs(i256, u513, 1 << 0); | ||
| 2980 | try testArgs(i256, u513, 1 << 512); | ||
| 2981 | try testArgs(i512, u513, 0); | ||
| 2982 | try testArgs(i512, u513, 1 << 0); | ||
| 2983 | try testArgs(i512, u513, 1 << 512); | ||
| 2984 | try testArgs(i1024, u513, 0); | ||
| 2985 | try testArgs(i1024, u513, 1 << 0); | ||
| 2986 | try testArgs(i1024, u513, 1 << 512); | ||
| 2987 | |||
| 2988 | try testArgs(u8, i1023, -1 << 1022); | ||
| 2989 | try testArgs(u8, i1023, -1); | ||
| 2990 | try testArgs(u8, i1023, 0); | ||
| 2991 | try testArgs(u16, i1023, -1 << 1022); | ||
| 2992 | try testArgs(u16, i1023, -1); | ||
| 2993 | try testArgs(u16, i1023, 0); | ||
| 2994 | try testArgs(u32, i1023, -1 << 1022); | ||
| 2995 | try testArgs(u32, i1023, -1); | ||
| 2996 | try testArgs(u32, i1023, 0); | ||
| 2997 | try testArgs(u64, i1023, -1 << 1022); | ||
| 2998 | try testArgs(u64, i1023, -1); | ||
| 2999 | try testArgs(u64, i1023, 0); | ||
| 3000 | try testArgs(u128, i1023, -1 << 1022); | ||
| 3001 | try testArgs(u128, i1023, -1); | ||
| 3002 | try testArgs(u128, i1023, 0); | ||
| 3003 | try testArgs(u256, i1023, -1 << 1022); | ||
| 3004 | try testArgs(u256, i1023, -1); | ||
| 3005 | try testArgs(u256, i1023, 0); | ||
| 3006 | try testArgs(u512, i1023, -1 << 1022); | ||
| 3007 | try testArgs(u512, i1023, -1); | ||
| 3008 | try testArgs(u512, i1023, 0); | ||
| 3009 | try testArgs(u1024, i1023, -1 << 1022); | ||
| 3010 | try testArgs(u1024, i1023, -1); | ||
| 3011 | try testArgs(u1024, i1023, 0); | ||
| 3012 | try testArgs(i8, u1023, 0); | ||
| 3013 | try testArgs(i8, u1023, 1 << 0); | ||
| 3014 | try testArgs(i8, u1023, 1 << 1022); | ||
| 3015 | try testArgs(i16, u1023, 0); | ||
| 3016 | try testArgs(i16, u1023, 1 << 0); | ||
| 3017 | try testArgs(i16, u1023, 1 << 1022); | ||
| 3018 | try testArgs(i32, u1023, 0); | ||
| 3019 | try testArgs(i32, u1023, 1 << 0); | ||
| 3020 | try testArgs(i32, u1023, 1 << 1022); | ||
| 3021 | try testArgs(i64, u1023, 0); | ||
| 3022 | try testArgs(i64, u1023, 1 << 0); | ||
| 3023 | try testArgs(i64, u1023, 1 << 1022); | ||
| 3024 | try testArgs(i128, u1023, 0); | ||
| 3025 | try testArgs(i128, u1023, 1 << 0); | ||
| 3026 | try testArgs(i128, u1023, 1 << 1022); | ||
| 3027 | try testArgs(i256, u1023, 0); | ||
| 3028 | try testArgs(i256, u1023, 1 << 0); | ||
| 3029 | try testArgs(i256, u1023, 1 << 1022); | ||
| 3030 | try testArgs(i512, u1023, 0); | ||
| 3031 | try testArgs(i512, u1023, 1 << 0); | ||
| 3032 | try testArgs(i512, u1023, 1 << 1022); | ||
| 3033 | try testArgs(i1024, u1023, 0); | ||
| 3034 | try testArgs(i1024, u1023, 1 << 0); | ||
| 3035 | try testArgs(i1024, u1023, 1 << 1022); | ||
| 3036 | |||
| 3037 | try testArgs(u8, i1024, -1 << 1023); | ||
| 3038 | try testArgs(u8, i1024, -1); | ||
| 3039 | try testArgs(u8, i1024, 0); | ||
| 3040 | try testArgs(u16, i1024, -1 << 1023); | ||
| 3041 | try testArgs(u16, i1024, -1); | ||
| 3042 | try testArgs(u16, i1024, 0); | ||
| 3043 | try testArgs(u32, i1024, -1 << 1023); | ||
| 3044 | try testArgs(u32, i1024, -1); | ||
| 3045 | try testArgs(u32, i1024, 0); | ||
| 3046 | try testArgs(u64, i1024, -1 << 1023); | ||
| 3047 | try testArgs(u64, i1024, -1); | ||
| 3048 | try testArgs(u64, i1024, 0); | ||
| 3049 | try testArgs(u128, i1024, -1 << 1023); | ||
| 3050 | try testArgs(u128, i1024, -1); | ||
| 3051 | try testArgs(u128, i1024, 0); | ||
| 3052 | try testArgs(u256, i1024, -1 << 1023); | ||
| 3053 | try testArgs(u256, i1024, -1); | ||
| 3054 | try testArgs(u256, i1024, 0); | ||
| 3055 | try testArgs(u512, i1024, -1 << 1023); | ||
| 3056 | try testArgs(u512, i1024, -1); | ||
| 3057 | try testArgs(u512, i1024, 0); | ||
| 3058 | try testArgs(u1024, i1024, -1 << 1023); | ||
| 3059 | try testArgs(u1024, i1024, -1); | ||
| 3060 | try testArgs(u1024, i1024, 0); | ||
| 3061 | try testArgs(i8, u1024, 0); | ||
| 3062 | try testArgs(i8, u1024, 1 << 0); | ||
| 3063 | try testArgs(i8, u1024, 1 << 1023); | ||
| 3064 | try testArgs(i16, u1024, 0); | ||
| 3065 | try testArgs(i16, u1024, 1 << 0); | ||
| 3066 | try testArgs(i16, u1024, 1 << 1023); | ||
| 3067 | try testArgs(i32, u1024, 0); | ||
| 3068 | try testArgs(i32, u1024, 1 << 0); | ||
| 3069 | try testArgs(i32, u1024, 1 << 1023); | ||
| 3070 | try testArgs(i64, u1024, 0); | ||
| 3071 | try testArgs(i64, u1024, 1 << 0); | ||
| 3072 | try testArgs(i64, u1024, 1 << 1023); | ||
| 3073 | try testArgs(i128, u1024, 0); | ||
| 3074 | try testArgs(i128, u1024, 1 << 0); | ||
| 3075 | try testArgs(i128, u1024, 1 << 1023); | ||
| 3076 | try testArgs(i256, u1024, 0); | ||
| 3077 | try testArgs(i256, u1024, 1 << 0); | ||
| 3078 | try testArgs(i256, u1024, 1 << 1023); | ||
| 3079 | try testArgs(i512, u1024, 0); | ||
| 3080 | try testArgs(i512, u1024, 1 << 0); | ||
| 3081 | try testArgs(i512, u1024, 1 << 1023); | ||
| 3082 | try testArgs(i1024, u1024, 0); | ||
| 3083 | try testArgs(i1024, u1024, 1 << 0); | ||
| 3084 | try testArgs(i1024, u1024, 1 << 1023); | ||
| 3085 | |||
| 3086 | try testArgs(u8, i1025, -1 << 1024); | ||
| 3087 | try testArgs(u8, i1025, -1); | ||
| 3088 | try testArgs(u8, i1025, 0); | ||
| 3089 | try testArgs(u16, i1025, -1 << 1024); | ||
| 3090 | try testArgs(u16, i1025, -1); | ||
| 3091 | try testArgs(u16, i1025, 0); | ||
| 3092 | try testArgs(u32, i1025, -1 << 1024); | ||
| 3093 | try testArgs(u32, i1025, -1); | ||
| 3094 | try testArgs(u32, i1025, 0); | ||
| 3095 | try testArgs(u64, i1025, -1 << 1024); | ||
| 3096 | try testArgs(u64, i1025, -1); | ||
| 3097 | try testArgs(u64, i1025, 0); | ||
| 3098 | try testArgs(u128, i1025, -1 << 1024); | ||
| 3099 | try testArgs(u128, i1025, -1); | ||
| 3100 | try testArgs(u128, i1025, 0); | ||
| 3101 | try testArgs(u256, i1025, -1 << 1024); | ||
| 3102 | try testArgs(u256, i1025, -1); | ||
| 3103 | try testArgs(u256, i1025, 0); | ||
| 3104 | try testArgs(u512, i1025, -1 << 1024); | ||
| 3105 | try testArgs(u512, i1025, -1); | ||
| 3106 | try testArgs(u512, i1025, 0); | ||
| 3107 | try testArgs(u1024, i1025, -1 << 1024); | ||
| 3108 | try testArgs(u1024, i1025, -1); | ||
| 3109 | try testArgs(u1024, i1025, 0); | ||
| 3110 | try testArgs(i8, u1025, 0); | ||
| 3111 | try testArgs(i8, u1025, 1 << 0); | ||
| 3112 | try testArgs(i8, u1025, 1 << 1024); | ||
| 3113 | try testArgs(i16, u1025, 0); | ||
| 3114 | try testArgs(i16, u1025, 1 << 0); | ||
| 3115 | try testArgs(i16, u1025, 1 << 1024); | ||
| 3116 | try testArgs(i32, u1025, 0); | ||
| 3117 | try testArgs(i32, u1025, 1 << 0); | ||
| 3118 | try testArgs(i32, u1025, 1 << 1024); | ||
| 3119 | try testArgs(i64, u1025, 0); | ||
| 3120 | try testArgs(i64, u1025, 1 << 0); | ||
| 3121 | try testArgs(i64, u1025, 1 << 1024); | ||
| 3122 | try testArgs(i128, u1025, 0); | ||
| 3123 | try testArgs(i128, u1025, 1 << 0); | ||
| 3124 | try testArgs(i128, u1025, 1 << 1024); | ||
| 3125 | try testArgs(i256, u1025, 0); | ||
| 3126 | try testArgs(i256, u1025, 1 << 0); | ||
| 3127 | try testArgs(i256, u1025, 1 << 1024); | ||
| 3128 | try testArgs(i512, u1025, 0); | ||
| 3129 | try testArgs(i512, u1025, 1 << 0); | ||
| 3130 | try testArgs(i512, u1025, 1 << 1024); | ||
| 3131 | try testArgs(i1024, u1025, 0); | ||
| 3132 | try testArgs(i1024, u1025, 1 << 0); | ||
| 3133 | try testArgs(i1024, u1025, 1 << 1024); | ||
| 3134 | } | ||
| 3135 | fn testFloats() !void { | ||
| 3136 | @setEvalBranchQuota(3_100); | ||
| 3137 | |||
| 3138 | try testArgs(f16, f16, -nan(f16)); | ||
| 3139 | try testArgs(f16, f16, -inf(f16)); | ||
| 3140 | try testArgs(f16, f16, -fmax(f16)); | ||
| 3141 | try testArgs(f16, f16, -1e1); | ||
| 3142 | try testArgs(f16, f16, -1e0); | ||
| 3143 | try testArgs(f16, f16, -1e-1); | ||
| 3144 | try testArgs(f16, f16, -fmin(f16)); | ||
| 3145 | try testArgs(f16, f16, -tmin(f16)); | ||
| 3146 | try testArgs(f16, f16, -0.0); | ||
| 3147 | try testArgs(f16, f16, 0.0); | ||
| 3148 | try testArgs(f16, f16, tmin(f16)); | ||
| 3149 | try testArgs(f16, f16, fmin(f16)); | ||
| 3150 | try testArgs(f16, f16, 1e-1); | ||
| 3151 | try testArgs(f16, f16, 1e0); | ||
| 3152 | try testArgs(f16, f16, 1e1); | ||
| 3153 | try testArgs(f16, f16, fmax(f16)); | ||
| 3154 | try testArgs(f16, f16, inf(f16)); | ||
| 3155 | try testArgs(f16, f16, nan(f16)); | ||
| 3156 | |||
| 3157 | try testArgs(f32, f16, -nan(f16)); | ||
| 3158 | try testArgs(f32, f16, -inf(f16)); | ||
| 3159 | try testArgs(f32, f16, -fmax(f16)); | ||
| 3160 | try testArgs(f32, f16, -1e1); | ||
| 3161 | try testArgs(f32, f16, -1e0); | ||
| 3162 | try testArgs(f32, f16, -1e-1); | ||
| 3163 | try testArgs(f32, f16, -fmin(f16)); | ||
| 3164 | try testArgs(f32, f16, -tmin(f16)); | ||
| 3165 | try testArgs(f32, f16, -0.0); | ||
| 3166 | try testArgs(f32, f16, 0.0); | ||
| 3167 | try testArgs(f32, f16, tmin(f16)); | ||
| 3168 | try testArgs(f32, f16, fmin(f16)); | ||
| 3169 | try testArgs(f32, f16, 1e-1); | ||
| 3170 | try testArgs(f32, f16, 1e0); | ||
| 3171 | try testArgs(f32, f16, 1e1); | ||
| 3172 | try testArgs(f32, f16, fmax(f16)); | ||
| 3173 | try testArgs(f32, f16, inf(f16)); | ||
| 3174 | try testArgs(f32, f16, nan(f16)); | ||
| 3175 | |||
| 3176 | try testArgs(f64, f16, -nan(f16)); | ||
| 3177 | try testArgs(f64, f16, -inf(f16)); | ||
| 3178 | try testArgs(f64, f16, -fmax(f16)); | ||
| 3179 | try testArgs(f64, f16, -1e1); | ||
| 3180 | try testArgs(f64, f16, -1e0); | ||
| 3181 | try testArgs(f64, f16, -1e-1); | ||
| 3182 | try testArgs(f64, f16, -fmin(f16)); | ||
| 3183 | try testArgs(f64, f16, -tmin(f16)); | ||
| 3184 | try testArgs(f64, f16, -0.0); | ||
| 3185 | try testArgs(f64, f16, 0.0); | ||
| 3186 | try testArgs(f64, f16, tmin(f16)); | ||
| 3187 | try testArgs(f64, f16, fmin(f16)); | ||
| 3188 | try testArgs(f64, f16, 1e-1); | ||
| 3189 | try testArgs(f64, f16, 1e0); | ||
| 3190 | try testArgs(f64, f16, 1e1); | ||
| 3191 | try testArgs(f64, f16, fmax(f16)); | ||
| 3192 | try testArgs(f64, f16, inf(f16)); | ||
| 3193 | try testArgs(f64, f16, nan(f16)); | ||
| 3194 | |||
| 3195 | try testArgs(f80, f16, -nan(f16)); | ||
| 3196 | try testArgs(f80, f16, -inf(f16)); | ||
| 3197 | try testArgs(f80, f16, -fmax(f16)); | ||
| 3198 | try testArgs(f80, f16, -1e1); | ||
| 3199 | try testArgs(f80, f16, -1e0); | ||
| 3200 | try testArgs(f80, f16, -1e-1); | ||
| 3201 | try testArgs(f80, f16, -fmin(f16)); | ||
| 3202 | try testArgs(f80, f16, -tmin(f16)); | ||
| 3203 | try testArgs(f80, f16, -0.0); | ||
| 3204 | try testArgs(f80, f16, 0.0); | ||
| 3205 | try testArgs(f80, f16, tmin(f16)); | ||
| 3206 | try testArgs(f80, f16, fmin(f16)); | ||
| 3207 | try testArgs(f80, f16, 1e-1); | ||
| 3208 | try testArgs(f80, f16, 1e0); | ||
| 3209 | try testArgs(f80, f16, 1e1); | ||
| 3210 | try testArgs(f80, f16, fmax(f16)); | ||
| 3211 | try testArgs(f80, f16, inf(f16)); | ||
| 3212 | try testArgs(f80, f16, nan(f16)); | ||
| 3213 | |||
| 3214 | try testArgs(f128, f16, -nan(f16)); | ||
| 3215 | try testArgs(f128, f16, -inf(f16)); | ||
| 3216 | try testArgs(f128, f16, -fmax(f16)); | ||
| 3217 | try testArgs(f128, f16, -1e1); | ||
| 3218 | try testArgs(f128, f16, -1e0); | ||
| 3219 | try testArgs(f128, f16, -1e-1); | ||
| 3220 | try testArgs(f128, f16, -fmin(f16)); | ||
| 3221 | try testArgs(f128, f16, -tmin(f16)); | ||
| 3222 | try testArgs(f128, f16, -0.0); | ||
| 3223 | try testArgs(f128, f16, 0.0); | ||
| 3224 | try testArgs(f128, f16, tmin(f16)); | ||
| 3225 | try testArgs(f128, f16, fmin(f16)); | ||
| 3226 | try testArgs(f128, f16, 1e-1); | ||
| 3227 | try testArgs(f128, f16, 1e0); | ||
| 3228 | try testArgs(f128, f16, 1e1); | ||
| 3229 | try testArgs(f128, f16, fmax(f16)); | ||
| 3230 | try testArgs(f128, f16, inf(f16)); | ||
| 3231 | try testArgs(f128, f16, nan(f16)); | ||
| 3232 | |||
| 3233 | try testArgs(f16, f32, -nan(f32)); | ||
| 3234 | try testArgs(f16, f32, -inf(f32)); | ||
| 3235 | try testArgs(f16, f32, -fmax(f32)); | ||
| 3236 | try testArgs(f16, f32, -1e1); | ||
| 3237 | try testArgs(f16, f32, -1e0); | ||
| 3238 | try testArgs(f16, f32, -1e-1); | ||
| 3239 | try testArgs(f16, f32, -fmin(f32)); | ||
| 3240 | try testArgs(f16, f32, -tmin(f32)); | ||
| 3241 | try testArgs(f16, f32, -0.0); | ||
| 3242 | try testArgs(f16, f32, 0.0); | ||
| 3243 | try testArgs(f16, f32, tmin(f32)); | ||
| 3244 | try testArgs(f16, f32, fmin(f32)); | ||
| 3245 | try testArgs(f16, f32, 1e-1); | ||
| 3246 | try testArgs(f16, f32, 1e0); | ||
| 3247 | try testArgs(f16, f32, 1e1); | ||
| 3248 | try testArgs(f16, f32, fmax(f32)); | ||
| 3249 | try testArgs(f16, f32, inf(f32)); | ||
| 3250 | try testArgs(f16, f32, nan(f32)); | ||
| 3251 | |||
| 3252 | try testArgs(f32, f32, -nan(f32)); | ||
| 3253 | try testArgs(f32, f32, -inf(f32)); | ||
| 3254 | try testArgs(f32, f32, -fmax(f32)); | ||
| 3255 | try testArgs(f32, f32, -1e1); | ||
| 3256 | try testArgs(f32, f32, -1e0); | ||
| 3257 | try testArgs(f32, f32, -1e-1); | ||
| 3258 | try testArgs(f32, f32, -fmin(f32)); | ||
| 3259 | try testArgs(f32, f32, -tmin(f32)); | ||
| 3260 | try testArgs(f32, f32, -0.0); | ||
| 3261 | try testArgs(f32, f32, 0.0); | ||
| 3262 | try testArgs(f32, f32, tmin(f32)); | ||
| 3263 | try testArgs(f32, f32, fmin(f32)); | ||
| 3264 | try testArgs(f32, f32, 1e-1); | ||
| 3265 | try testArgs(f32, f32, 1e0); | ||
| 3266 | try testArgs(f32, f32, 1e1); | ||
| 3267 | try testArgs(f32, f32, fmax(f32)); | ||
| 3268 | try testArgs(f32, f32, inf(f32)); | ||
| 3269 | try testArgs(f32, f32, nan(f32)); | ||
| 3270 | |||
| 3271 | try testArgs(f64, f32, -nan(f32)); | ||
| 3272 | try testArgs(f64, f32, -inf(f32)); | ||
| 3273 | try testArgs(f64, f32, -fmax(f32)); | ||
| 3274 | try testArgs(f64, f32, -1e1); | ||
| 3275 | try testArgs(f64, f32, -1e0); | ||
| 3276 | try testArgs(f64, f32, -1e-1); | ||
| 3277 | try testArgs(f64, f32, -fmin(f32)); | ||
| 3278 | try testArgs(f64, f32, -tmin(f32)); | ||
| 3279 | try testArgs(f64, f32, -0.0); | ||
| 3280 | try testArgs(f64, f32, 0.0); | ||
| 3281 | try testArgs(f64, f32, tmin(f32)); | ||
| 3282 | try testArgs(f64, f32, fmin(f32)); | ||
| 3283 | try testArgs(f64, f32, 1e-1); | ||
| 3284 | try testArgs(f64, f32, 1e0); | ||
| 3285 | try testArgs(f64, f32, 1e1); | ||
| 3286 | try testArgs(f64, f32, fmax(f32)); | ||
| 3287 | try testArgs(f64, f32, inf(f32)); | ||
| 3288 | try testArgs(f64, f32, nan(f32)); | ||
| 3289 | |||
| 3290 | try testArgs(f80, f32, -nan(f32)); | ||
| 3291 | try testArgs(f80, f32, -inf(f32)); | ||
| 3292 | try testArgs(f80, f32, -fmax(f32)); | ||
| 3293 | try testArgs(f80, f32, -1e1); | ||
| 3294 | try testArgs(f80, f32, -1e0); | ||
| 3295 | try testArgs(f80, f32, -1e-1); | ||
| 3296 | try testArgs(f80, f32, -fmin(f32)); | ||
| 3297 | try testArgs(f80, f32, -tmin(f32)); | ||
| 3298 | try testArgs(f80, f32, -0.0); | ||
| 3299 | try testArgs(f80, f32, 0.0); | ||
| 3300 | try testArgs(f80, f32, tmin(f32)); | ||
| 3301 | try testArgs(f80, f32, fmin(f32)); | ||
| 3302 | try testArgs(f80, f32, 1e-1); | ||
| 3303 | try testArgs(f80, f32, 1e0); | ||
| 3304 | try testArgs(f80, f32, 1e1); | ||
| 3305 | try testArgs(f80, f32, fmax(f32)); | ||
| 3306 | try testArgs(f80, f32, inf(f32)); | ||
| 3307 | try testArgs(f80, f32, nan(f32)); | ||
| 3308 | |||
| 3309 | try testArgs(f128, f32, -nan(f32)); | ||
| 3310 | try testArgs(f128, f32, -inf(f32)); | ||
| 3311 | try testArgs(f128, f32, -fmax(f32)); | ||
| 3312 | try testArgs(f128, f32, -1e1); | ||
| 3313 | try testArgs(f128, f32, -1e0); | ||
| 3314 | try testArgs(f128, f32, -1e-1); | ||
| 3315 | try testArgs(f128, f32, -fmin(f32)); | ||
| 3316 | try testArgs(f128, f32, -tmin(f32)); | ||
| 3317 | try testArgs(f128, f32, -0.0); | ||
| 3318 | try testArgs(f128, f32, 0.0); | ||
| 3319 | try testArgs(f128, f32, tmin(f32)); | ||
| 3320 | try testArgs(f128, f32, fmin(f32)); | ||
| 3321 | try testArgs(f128, f32, 1e-1); | ||
| 3322 | try testArgs(f128, f32, 1e0); | ||
| 3323 | try testArgs(f128, f32, 1e1); | ||
| 3324 | try testArgs(f128, f32, fmax(f32)); | ||
| 3325 | try testArgs(f128, f32, inf(f32)); | ||
| 3326 | try testArgs(f128, f32, nan(f32)); | ||
| 3327 | |||
| 3328 | try testArgs(f16, f64, -nan(f64)); | ||
| 3329 | try testArgs(f16, f64, -inf(f64)); | ||
| 3330 | try testArgs(f16, f64, -fmax(f64)); | ||
| 3331 | try testArgs(f16, f64, -1e1); | ||
| 3332 | try testArgs(f16, f64, -1e0); | ||
| 3333 | try testArgs(f16, f64, -1e-1); | ||
| 3334 | try testArgs(f16, f64, -fmin(f64)); | ||
| 3335 | try testArgs(f16, f64, -tmin(f64)); | ||
| 3336 | try testArgs(f16, f64, -0.0); | ||
| 3337 | try testArgs(f16, f64, 0.0); | ||
| 3338 | try testArgs(f16, f64, tmin(f64)); | ||
| 3339 | try testArgs(f16, f64, fmin(f64)); | ||
| 3340 | try testArgs(f16, f64, 1e-1); | ||
| 3341 | try testArgs(f16, f64, 1e0); | ||
| 3342 | try testArgs(f16, f64, 1e1); | ||
| 3343 | try testArgs(f16, f64, fmax(f64)); | ||
| 3344 | try testArgs(f16, f64, inf(f64)); | ||
| 3345 | try testArgs(f16, f64, nan(f64)); | ||
| 3346 | |||
| 3347 | try testArgs(f32, f64, -nan(f64)); | ||
| 3348 | try testArgs(f32, f64, -inf(f64)); | ||
| 3349 | try testArgs(f32, f64, -fmax(f64)); | ||
| 3350 | try testArgs(f32, f64, -1e1); | ||
| 3351 | try testArgs(f32, f64, -1e0); | ||
| 3352 | try testArgs(f32, f64, -1e-1); | ||
| 3353 | try testArgs(f32, f64, -fmin(f64)); | ||
| 3354 | try testArgs(f32, f64, -tmin(f64)); | ||
| 3355 | try testArgs(f32, f64, -0.0); | ||
| 3356 | try testArgs(f32, f64, 0.0); | ||
| 3357 | try testArgs(f32, f64, tmin(f64)); | ||
| 3358 | try testArgs(f32, f64, fmin(f64)); | ||
| 3359 | try testArgs(f32, f64, 1e-1); | ||
| 3360 | try testArgs(f32, f64, 1e0); | ||
| 3361 | try testArgs(f32, f64, 1e1); | ||
| 3362 | try testArgs(f32, f64, fmax(f64)); | ||
| 3363 | try testArgs(f32, f64, inf(f64)); | ||
| 3364 | try testArgs(f32, f64, nan(f64)); | ||
| 3365 | |||
| 3366 | try testArgs(f64, f64, -nan(f64)); | ||
| 3367 | try testArgs(f64, f64, -inf(f64)); | ||
| 3368 | try testArgs(f64, f64, -fmax(f64)); | ||
| 3369 | try testArgs(f64, f64, -1e1); | ||
| 3370 | try testArgs(f64, f64, -1e0); | ||
| 3371 | try testArgs(f64, f64, -1e-1); | ||
| 3372 | try testArgs(f64, f64, -fmin(f64)); | ||
| 3373 | try testArgs(f64, f64, -tmin(f64)); | ||
| 3374 | try testArgs(f64, f64, -0.0); | ||
| 3375 | try testArgs(f64, f64, 0.0); | ||
| 3376 | try testArgs(f64, f64, tmin(f64)); | ||
| 3377 | try testArgs(f64, f64, fmin(f64)); | ||
| 3378 | try testArgs(f64, f64, 1e-1); | ||
| 3379 | try testArgs(f64, f64, 1e0); | ||
| 3380 | try testArgs(f64, f64, 1e1); | ||
| 3381 | try testArgs(f64, f64, fmax(f64)); | ||
| 3382 | try testArgs(f64, f64, inf(f64)); | ||
| 3383 | try testArgs(f64, f64, nan(f64)); | ||
| 3384 | |||
| 3385 | try testArgs(f80, f64, -nan(f64)); | ||
| 3386 | try testArgs(f80, f64, -inf(f64)); | ||
| 3387 | try testArgs(f80, f64, -fmax(f64)); | ||
| 3388 | try testArgs(f80, f64, -1e1); | ||
| 3389 | try testArgs(f80, f64, -1e0); | ||
| 3390 | try testArgs(f80, f64, -1e-1); | ||
| 3391 | try testArgs(f80, f64, -fmin(f64)); | ||
| 3392 | try testArgs(f80, f64, -tmin(f64)); | ||
| 3393 | try testArgs(f80, f64, -0.0); | ||
| 3394 | try testArgs(f80, f64, 0.0); | ||
| 3395 | try testArgs(f80, f64, tmin(f64)); | ||
| 3396 | try testArgs(f80, f64, fmin(f64)); | ||
| 3397 | try testArgs(f80, f64, 1e-1); | ||
| 3398 | try testArgs(f80, f64, 1e0); | ||
| 3399 | try testArgs(f80, f64, 1e1); | ||
| 3400 | try testArgs(f80, f64, fmax(f64)); | ||
| 3401 | try testArgs(f80, f64, inf(f64)); | ||
| 3402 | try testArgs(f80, f64, nan(f64)); | ||
| 3403 | |||
| 3404 | try testArgs(f128, f64, -nan(f64)); | ||
| 3405 | try testArgs(f128, f64, -inf(f64)); | ||
| 3406 | try testArgs(f128, f64, -fmax(f64)); | ||
| 3407 | try testArgs(f128, f64, -1e1); | ||
| 3408 | try testArgs(f128, f64, -1e0); | ||
| 3409 | try testArgs(f128, f64, -1e-1); | ||
| 3410 | try testArgs(f128, f64, -fmin(f64)); | ||
| 3411 | try testArgs(f128, f64, -tmin(f64)); | ||
| 3412 | try testArgs(f128, f64, -0.0); | ||
| 3413 | try testArgs(f128, f64, 0.0); | ||
| 3414 | try testArgs(f128, f64, tmin(f64)); | ||
| 3415 | try testArgs(f128, f64, fmin(f64)); | ||
| 3416 | try testArgs(f128, f64, 1e-1); | ||
| 3417 | try testArgs(f128, f64, 1e0); | ||
| 3418 | try testArgs(f128, f64, 1e1); | ||
| 3419 | try testArgs(f128, f64, fmax(f64)); | ||
| 3420 | try testArgs(f128, f64, inf(f64)); | ||
| 3421 | try testArgs(f128, f64, nan(f64)); | ||
| 3422 | |||
| 3423 | try testArgs(f16, f80, -nan(f80)); | ||
| 3424 | try testArgs(f16, f80, -inf(f80)); | ||
| 3425 | try testArgs(f16, f80, -fmax(f80)); | ||
| 3426 | try testArgs(f16, f80, -1e1); | ||
| 3427 | try testArgs(f16, f80, -1e0); | ||
| 3428 | try testArgs(f16, f80, -1e-1); | ||
| 3429 | try testArgs(f16, f80, -fmin(f80)); | ||
| 3430 | try testArgs(f16, f80, -tmin(f80)); | ||
| 3431 | try testArgs(f16, f80, -0.0); | ||
| 3432 | try testArgs(f16, f80, 0.0); | ||
| 3433 | try testArgs(f16, f80, tmin(f80)); | ||
| 3434 | try testArgs(f16, f80, fmin(f80)); | ||
| 3435 | try testArgs(f16, f80, 1e-1); | ||
| 3436 | try testArgs(f16, f80, 1e0); | ||
| 3437 | try testArgs(f16, f80, 1e1); | ||
| 3438 | try testArgs(f16, f80, fmax(f80)); | ||
| 3439 | try testArgs(f16, f80, inf(f80)); | ||
| 3440 | try testArgs(f16, f80, nan(f80)); | ||
| 3441 | |||
| 3442 | try testArgs(f32, f80, -nan(f80)); | ||
| 3443 | try testArgs(f32, f80, -inf(f80)); | ||
| 3444 | try testArgs(f32, f80, -fmax(f80)); | ||
| 3445 | try testArgs(f32, f80, -1e1); | ||
| 3446 | try testArgs(f32, f80, -1e0); | ||
| 3447 | try testArgs(f32, f80, -1e-1); | ||
| 3448 | try testArgs(f32, f80, -fmin(f80)); | ||
| 3449 | try testArgs(f32, f80, -tmin(f80)); | ||
| 3450 | try testArgs(f32, f80, -0.0); | ||
| 3451 | try testArgs(f32, f80, 0.0); | ||
| 3452 | try testArgs(f32, f80, tmin(f80)); | ||
| 3453 | try testArgs(f32, f80, fmin(f80)); | ||
| 3454 | try testArgs(f32, f80, 1e-1); | ||
| 3455 | try testArgs(f32, f80, 1e0); | ||
| 3456 | try testArgs(f32, f80, 1e1); | ||
| 3457 | try testArgs(f32, f80, fmax(f80)); | ||
| 3458 | try testArgs(f32, f80, inf(f80)); | ||
| 3459 | try testArgs(f32, f80, nan(f80)); | ||
| 3460 | |||
| 3461 | try testArgs(f64, f80, -nan(f80)); | ||
| 3462 | try testArgs(f64, f80, -inf(f80)); | ||
| 3463 | try testArgs(f64, f80, -fmax(f80)); | ||
| 3464 | try testArgs(f64, f80, -1e1); | ||
| 3465 | try testArgs(f64, f80, -1e0); | ||
| 3466 | try testArgs(f64, f80, -1e-1); | ||
| 3467 | try testArgs(f64, f80, -fmin(f80)); | ||
| 3468 | try testArgs(f64, f80, -tmin(f80)); | ||
| 3469 | try testArgs(f64, f80, -0.0); | ||
| 3470 | try testArgs(f64, f80, 0.0); | ||
| 3471 | try testArgs(f64, f80, tmin(f80)); | ||
| 3472 | try testArgs(f64, f80, fmin(f80)); | ||
| 3473 | try testArgs(f64, f80, 1e-1); | ||
| 3474 | try testArgs(f64, f80, 1e0); | ||
| 3475 | try testArgs(f64, f80, 1e1); | ||
| 3476 | try testArgs(f64, f80, fmax(f80)); | ||
| 3477 | try testArgs(f64, f80, inf(f80)); | ||
| 3478 | try testArgs(f64, f80, nan(f80)); | ||
| 3479 | |||
| 3480 | try testArgs(f80, f80, -nan(f80)); | ||
| 3481 | try testArgs(f80, f80, -inf(f80)); | ||
| 3482 | try testArgs(f80, f80, -fmax(f80)); | ||
| 3483 | try testArgs(f80, f80, -1e1); | ||
| 3484 | try testArgs(f80, f80, -1e0); | ||
| 3485 | try testArgs(f80, f80, -1e-1); | ||
| 3486 | try testArgs(f80, f80, -fmin(f80)); | ||
| 3487 | try testArgs(f80, f80, -tmin(f80)); | ||
| 3488 | try testArgs(f80, f80, -0.0); | ||
| 3489 | try testArgs(f80, f80, 0.0); | ||
| 3490 | try testArgs(f80, f80, tmin(f80)); | ||
| 3491 | try testArgs(f80, f80, fmin(f80)); | ||
| 3492 | try testArgs(f80, f80, 1e-1); | ||
| 3493 | try testArgs(f80, f80, 1e0); | ||
| 3494 | try testArgs(f80, f80, 1e1); | ||
| 3495 | try testArgs(f80, f80, fmax(f80)); | ||
| 3496 | try testArgs(f80, f80, inf(f80)); | ||
| 3497 | try testArgs(f80, f80, nan(f80)); | ||
| 3498 | |||
| 3499 | try testArgs(f128, f80, -nan(f80)); | ||
| 3500 | try testArgs(f128, f80, -inf(f80)); | ||
| 3501 | try testArgs(f128, f80, -fmax(f80)); | ||
| 3502 | try testArgs(f128, f80, -1e1); | ||
| 3503 | try testArgs(f128, f80, -1e0); | ||
| 3504 | try testArgs(f128, f80, -1e-1); | ||
| 3505 | try testArgs(f128, f80, -fmin(f80)); | ||
| 3506 | try testArgs(f128, f80, -tmin(f80)); | ||
| 3507 | try testArgs(f128, f80, -0.0); | ||
| 3508 | try testArgs(f128, f80, 0.0); | ||
| 3509 | try testArgs(f128, f80, tmin(f80)); | ||
| 3510 | try testArgs(f128, f80, fmin(f80)); | ||
| 3511 | try testArgs(f128, f80, 1e-1); | ||
| 3512 | try testArgs(f128, f80, 1e0); | ||
| 3513 | try testArgs(f128, f80, 1e1); | ||
| 3514 | try testArgs(f128, f80, fmax(f80)); | ||
| 3515 | try testArgs(f128, f80, inf(f80)); | ||
| 3516 | try testArgs(f128, f80, nan(f80)); | ||
| 3517 | |||
| 3518 | try testArgs(f16, f128, -nan(f128)); | ||
| 3519 | try testArgs(f16, f128, -inf(f128)); | ||
| 3520 | try testArgs(f16, f128, -fmax(f128)); | ||
| 3521 | try testArgs(f16, f128, -1e1); | ||
| 3522 | try testArgs(f16, f128, -1e0); | ||
| 3523 | try testArgs(f16, f128, -1e-1); | ||
| 3524 | try testArgs(f16, f128, -fmin(f128)); | ||
| 3525 | try testArgs(f16, f128, -tmin(f128)); | ||
| 3526 | try testArgs(f16, f128, -0.0); | ||
| 3527 | try testArgs(f16, f128, 0.0); | ||
| 3528 | try testArgs(f16, f128, tmin(f128)); | ||
| 3529 | try testArgs(f16, f128, fmin(f128)); | ||
| 3530 | try testArgs(f16, f128, 1e-1); | ||
| 3531 | try testArgs(f16, f128, 1e0); | ||
| 3532 | try testArgs(f16, f128, 1e1); | ||
| 3533 | try testArgs(f16, f128, fmax(f128)); | ||
| 3534 | try testArgs(f16, f128, inf(f128)); | ||
| 3535 | try testArgs(f16, f128, nan(f128)); | ||
| 3536 | |||
| 3537 | try testArgs(f32, f128, -nan(f128)); | ||
| 3538 | try testArgs(f32, f128, -inf(f128)); | ||
| 3539 | try testArgs(f32, f128, -fmax(f128)); | ||
| 3540 | try testArgs(f32, f128, -1e1); | ||
| 3541 | try testArgs(f32, f128, -1e0); | ||
| 3542 | try testArgs(f32, f128, -1e-1); | ||
| 3543 | try testArgs(f32, f128, -fmin(f128)); | ||
| 3544 | try testArgs(f32, f128, -tmin(f128)); | ||
| 3545 | try testArgs(f32, f128, -0.0); | ||
| 3546 | try testArgs(f32, f128, 0.0); | ||
| 3547 | try testArgs(f32, f128, tmin(f128)); | ||
| 3548 | try testArgs(f32, f128, fmin(f128)); | ||
| 3549 | try testArgs(f32, f128, 1e-1); | ||
| 3550 | try testArgs(f32, f128, 1e0); | ||
| 3551 | try testArgs(f32, f128, 1e1); | ||
| 3552 | try testArgs(f32, f128, fmax(f128)); | ||
| 3553 | try testArgs(f32, f128, inf(f128)); | ||
| 3554 | try testArgs(f32, f128, nan(f128)); | ||
| 3555 | |||
| 3556 | try testArgs(f64, f128, -nan(f128)); | ||
| 3557 | try testArgs(f64, f128, -inf(f128)); | ||
| 3558 | try testArgs(f64, f128, -fmax(f128)); | ||
| 3559 | try testArgs(f64, f128, -1e1); | ||
| 3560 | try testArgs(f64, f128, -1e0); | ||
| 3561 | try testArgs(f64, f128, -1e-1); | ||
| 3562 | try testArgs(f64, f128, -fmin(f128)); | ||
| 3563 | try testArgs(f64, f128, -tmin(f128)); | ||
| 3564 | try testArgs(f64, f128, -0.0); | ||
| 3565 | try testArgs(f64, f128, 0.0); | ||
| 3566 | try testArgs(f64, f128, tmin(f128)); | ||
| 3567 | try testArgs(f64, f128, fmin(f128)); | ||
| 3568 | try testArgs(f64, f128, 1e-1); | ||
| 3569 | try testArgs(f64, f128, 1e0); | ||
| 3570 | try testArgs(f64, f128, 1e1); | ||
| 3571 | try testArgs(f64, f128, fmax(f128)); | ||
| 3572 | try testArgs(f64, f128, inf(f128)); | ||
| 3573 | try testArgs(f64, f128, nan(f128)); | ||
| 3574 | |||
| 3575 | try testArgs(f80, f128, -nan(f128)); | ||
| 3576 | try testArgs(f80, f128, -inf(f128)); | ||
| 3577 | try testArgs(f80, f128, -fmax(f128)); | ||
| 3578 | try testArgs(f80, f128, -1e1); | ||
| 3579 | try testArgs(f80, f128, -1e0); | ||
| 3580 | try testArgs(f80, f128, -1e-1); | ||
| 3581 | try testArgs(f80, f128, -fmin(f128)); | ||
| 3582 | try testArgs(f80, f128, -tmin(f128)); | ||
| 3583 | try testArgs(f80, f128, -0.0); | ||
| 3584 | try testArgs(f80, f128, 0.0); | ||
| 3585 | try testArgs(f80, f128, tmin(f128)); | ||
| 3586 | try testArgs(f80, f128, fmin(f128)); | ||
| 3587 | try testArgs(f80, f128, 1e-1); | ||
| 3588 | try testArgs(f80, f128, 1e0); | ||
| 3589 | try testArgs(f80, f128, 1e1); | ||
| 3590 | try testArgs(f80, f128, fmax(f128)); | ||
| 3591 | try testArgs(f80, f128, inf(f128)); | ||
| 3592 | try testArgs(f80, f128, nan(f128)); | ||
| 3593 | |||
| 3594 | try testArgs(f128, f128, -nan(f128)); | ||
| 3595 | try testArgs(f128, f128, -inf(f128)); | ||
| 3596 | try testArgs(f128, f128, -fmax(f128)); | ||
| 3597 | try testArgs(f128, f128, -1e1); | ||
| 3598 | try testArgs(f128, f128, -1e0); | ||
| 3599 | try testArgs(f128, f128, -1e-1); | ||
| 3600 | try testArgs(f128, f128, -fmin(f128)); | ||
| 3601 | try testArgs(f128, f128, -tmin(f128)); | ||
| 3602 | try testArgs(f128, f128, -0.0); | ||
| 3603 | try testArgs(f128, f128, 0.0); | ||
| 3604 | try testArgs(f128, f128, tmin(f128)); | ||
| 3605 | try testArgs(f128, f128, fmin(f128)); | ||
| 3606 | try testArgs(f128, f128, 1e-1); | ||
| 3607 | try testArgs(f128, f128, 1e0); | ||
| 3608 | try testArgs(f128, f128, 1e1); | ||
| 3609 | try testArgs(f128, f128, fmax(f128)); | ||
| 3610 | try testArgs(f128, f128, inf(f128)); | ||
| 3611 | try testArgs(f128, f128, nan(f128)); | ||
| 3612 | } | ||
| 3613 | fn testSameSignednessIntVectors() !void { | ||
| 3614 | try testArgs(@Vector(1, i7), @Vector(1, i1), .{-1}); | ||
| 3615 | try testArgs(@Vector(1, i8), @Vector(1, i1), .{-1}); | ||
| 3616 | try testArgs(@Vector(1, i9), @Vector(1, i1), .{-1}); | ||
| 3617 | try testArgs(@Vector(1, i15), @Vector(1, i1), .{-1}); | ||
| 3618 | try testArgs(@Vector(1, i16), @Vector(1, i1), .{-1}); | ||
| 3619 | try testArgs(@Vector(1, i17), @Vector(1, i1), .{-1}); | ||
| 3620 | try testArgs(@Vector(1, i31), @Vector(1, i1), .{-1}); | ||
| 3621 | try testArgs(@Vector(1, i32), @Vector(1, i1), .{-1}); | ||
| 3622 | try testArgs(@Vector(1, i33), @Vector(1, i1), .{-1}); | ||
| 3623 | try testArgs(@Vector(1, i63), @Vector(1, i1), .{-1}); | ||
| 3624 | try testArgs(@Vector(1, i64), @Vector(1, i1), .{-1}); | ||
| 3625 | try testArgs(@Vector(1, i65), @Vector(1, i1), .{-1}); | ||
| 3626 | try testArgs(@Vector(1, i127), @Vector(1, i1), .{-1}); | ||
| 3627 | try testArgs(@Vector(1, i128), @Vector(1, i1), .{-1}); | ||
| 3628 | try testArgs(@Vector(1, i129), @Vector(1, i1), .{-1}); | ||
| 3629 | try testArgs(@Vector(1, i255), @Vector(1, i1), .{-1}); | ||
| 3630 | try testArgs(@Vector(1, i256), @Vector(1, i1), .{-1}); | ||
| 3631 | try testArgs(@Vector(1, i257), @Vector(1, i1), .{-1}); | ||
| 3632 | try testArgs(@Vector(1, i511), @Vector(1, i1), .{-1}); | ||
| 3633 | try testArgs(@Vector(1, i512), @Vector(1, i1), .{-1}); | ||
| 3634 | try testArgs(@Vector(1, i513), @Vector(1, i1), .{-1}); | ||
| 3635 | try testArgs(@Vector(1, i1023), @Vector(1, i1), .{-1}); | ||
| 3636 | try testArgs(@Vector(1, i1024), @Vector(1, i1), .{-1}); | ||
| 3637 | try testArgs(@Vector(1, i1025), @Vector(1, i1), .{-1}); | ||
| 3638 | try testArgs(@Vector(1, u7), @Vector(1, u1), .{1}); | ||
| 3639 | try testArgs(@Vector(1, u8), @Vector(1, u1), .{1}); | ||
| 3640 | try testArgs(@Vector(1, u9), @Vector(1, u1), .{1}); | ||
| 3641 | try testArgs(@Vector(1, u15), @Vector(1, u1), .{1}); | ||
| 3642 | try testArgs(@Vector(1, u16), @Vector(1, u1), .{1}); | ||
| 3643 | try testArgs(@Vector(1, u17), @Vector(1, u1), .{1}); | ||
| 3644 | try testArgs(@Vector(1, u31), @Vector(1, u1), .{1}); | ||
| 3645 | try testArgs(@Vector(1, u32), @Vector(1, u1), .{1}); | ||
| 3646 | try testArgs(@Vector(1, u33), @Vector(1, u1), .{1}); | ||
| 3647 | try testArgs(@Vector(1, u63), @Vector(1, u1), .{1}); | ||
| 3648 | try testArgs(@Vector(1, u64), @Vector(1, u1), .{1}); | ||
| 3649 | try testArgs(@Vector(1, u65), @Vector(1, u1), .{1}); | ||
| 3650 | try testArgs(@Vector(1, u127), @Vector(1, u1), .{1}); | ||
| 3651 | try testArgs(@Vector(1, u128), @Vector(1, u1), .{1}); | ||
| 3652 | try testArgs(@Vector(1, u129), @Vector(1, u1), .{1}); | ||
| 3653 | try testArgs(@Vector(1, u255), @Vector(1, u1), .{1}); | ||
| 3654 | try testArgs(@Vector(1, u256), @Vector(1, u1), .{1}); | ||
| 3655 | try testArgs(@Vector(1, u257), @Vector(1, u1), .{1}); | ||
| 3656 | try testArgs(@Vector(1, u511), @Vector(1, u1), .{1}); | ||
| 3657 | try testArgs(@Vector(1, u512), @Vector(1, u1), .{1}); | ||
| 3658 | try testArgs(@Vector(1, u513), @Vector(1, u1), .{1}); | ||
| 3659 | try testArgs(@Vector(1, u1023), @Vector(1, u1), .{1}); | ||
| 3660 | try testArgs(@Vector(1, u1024), @Vector(1, u1), .{1}); | ||
| 3661 | try testArgs(@Vector(1, u1025), @Vector(1, u1), .{1}); | ||
| 3662 | |||
| 3663 | try testArgs(@Vector(2, i7), @Vector(2, i1), .{ -1, 0 }); | ||
| 3664 | try testArgs(@Vector(2, i8), @Vector(2, i1), .{ -1, 0 }); | ||
| 3665 | try testArgs(@Vector(2, i9), @Vector(2, i1), .{ -1, 0 }); | ||
| 3666 | try testArgs(@Vector(2, i15), @Vector(2, i1), .{ -1, 0 }); | ||
| 3667 | try testArgs(@Vector(2, i16), @Vector(2, i1), .{ -1, 0 }); | ||
| 3668 | try testArgs(@Vector(2, i17), @Vector(2, i1), .{ -1, 0 }); | ||
| 3669 | try testArgs(@Vector(2, i31), @Vector(2, i1), .{ -1, 0 }); | ||
| 3670 | try testArgs(@Vector(2, i32), @Vector(2, i1), .{ -1, 0 }); | ||
| 3671 | try testArgs(@Vector(2, i33), @Vector(2, i1), .{ -1, 0 }); | ||
| 3672 | try testArgs(@Vector(2, i63), @Vector(2, i1), .{ -1, 0 }); | ||
| 3673 | try testArgs(@Vector(2, i64), @Vector(2, i1), .{ -1, 0 }); | ||
| 3674 | try testArgs(@Vector(2, i65), @Vector(2, i1), .{ -1, 0 }); | ||
| 3675 | try testArgs(@Vector(2, i127), @Vector(2, i1), .{ -1, 0 }); | ||
| 3676 | try testArgs(@Vector(2, i128), @Vector(2, i1), .{ -1, 0 }); | ||
| 3677 | try testArgs(@Vector(2, i129), @Vector(2, i1), .{ -1, 0 }); | ||
| 3678 | try testArgs(@Vector(2, i255), @Vector(2, i1), .{ -1, 0 }); | ||
| 3679 | try testArgs(@Vector(2, i256), @Vector(2, i1), .{ -1, 0 }); | ||
| 3680 | try testArgs(@Vector(2, i257), @Vector(2, i1), .{ -1, 0 }); | ||
| 3681 | try testArgs(@Vector(2, i511), @Vector(2, i1), .{ -1, 0 }); | ||
| 3682 | try testArgs(@Vector(2, i512), @Vector(2, i1), .{ -1, 0 }); | ||
| 3683 | try testArgs(@Vector(2, i513), @Vector(2, i1), .{ -1, 0 }); | ||
| 3684 | try testArgs(@Vector(2, i1023), @Vector(2, i1), .{ -1, 0 }); | ||
| 3685 | try testArgs(@Vector(2, i1024), @Vector(2, i1), .{ -1, 0 }); | ||
| 3686 | try testArgs(@Vector(2, i1025), @Vector(2, i1), .{ -1, 0 }); | ||
| 3687 | try testArgs(@Vector(2, u7), @Vector(2, u1), .{ 0, 1 }); | ||
| 3688 | try testArgs(@Vector(2, u8), @Vector(2, u1), .{ 0, 1 }); | ||
| 3689 | try testArgs(@Vector(2, u9), @Vector(2, u1), .{ 0, 1 }); | ||
| 3690 | try testArgs(@Vector(2, u15), @Vector(2, u1), .{ 0, 1 }); | ||
| 3691 | try testArgs(@Vector(2, u16), @Vector(2, u1), .{ 0, 1 }); | ||
| 3692 | try testArgs(@Vector(2, u17), @Vector(2, u1), .{ 0, 1 }); | ||
| 3693 | try testArgs(@Vector(2, u31), @Vector(2, u1), .{ 0, 1 }); | ||
| 3694 | try testArgs(@Vector(2, u32), @Vector(2, u1), .{ 0, 1 }); | ||
| 3695 | try testArgs(@Vector(2, u33), @Vector(2, u1), .{ 0, 1 }); | ||
| 3696 | try testArgs(@Vector(2, u63), @Vector(2, u1), .{ 0, 1 }); | ||
| 3697 | try testArgs(@Vector(2, u64), @Vector(2, u1), .{ 0, 1 }); | ||
| 3698 | try testArgs(@Vector(2, u65), @Vector(2, u1), .{ 0, 1 }); | ||
| 3699 | try testArgs(@Vector(2, u127), @Vector(2, u1), .{ 0, 1 }); | ||
| 3700 | try testArgs(@Vector(2, u128), @Vector(2, u1), .{ 0, 1 }); | ||
| 3701 | try testArgs(@Vector(2, u129), @Vector(2, u1), .{ 0, 1 }); | ||
| 3702 | try testArgs(@Vector(2, u255), @Vector(2, u1), .{ 0, 1 }); | ||
| 3703 | try testArgs(@Vector(2, u256), @Vector(2, u1), .{ 0, 1 }); | ||
| 3704 | try testArgs(@Vector(2, u257), @Vector(2, u1), .{ 0, 1 }); | ||
| 3705 | try testArgs(@Vector(2, u511), @Vector(2, u1), .{ 0, 1 }); | ||
| 3706 | try testArgs(@Vector(2, u512), @Vector(2, u1), .{ 0, 1 }); | ||
| 3707 | try testArgs(@Vector(2, u513), @Vector(2, u1), .{ 0, 1 }); | ||
| 3708 | try testArgs(@Vector(2, u1023), @Vector(2, u1), .{ 0, 1 }); | ||
| 3709 | try testArgs(@Vector(2, u1024), @Vector(2, u1), .{ 0, 1 }); | ||
| 3710 | try testArgs(@Vector(2, u1025), @Vector(2, u1), .{ 0, 1 }); | ||
| 3711 | |||
| 3712 | try testArgs(@Vector(3, i7), @Vector(3, i2), .{ -1 << 1, -1, 0 }); | ||
| 3713 | try testArgs(@Vector(3, i8), @Vector(3, i2), .{ -1 << 1, -1, 0 }); | ||
| 3714 | try testArgs(@Vector(3, i9), @Vector(3, i2), .{ -1 << 1, -1, 0 }); | ||
| 3715 | try testArgs(@Vector(3, i15), @Vector(3, i2), .{ -1 << 1, -1, 0 }); | ||
| 3716 | try testArgs(@Vector(3, i16), @Vector(3, i2), .{ -1 << 1, -1, 0 }); | ||
| 3717 | try testArgs(@Vector(3, i17), @Vector(3, i2), .{ -1 << 1, -1, 0 }); | ||
| 3718 | try testArgs(@Vector(3, i31), @Vector(3, i2), .{ -1 << 1, -1, 0 }); | ||
| 3719 | try testArgs(@Vector(3, i32), @Vector(3, i2), .{ -1 << 1, -1, 0 }); | ||
| 3720 | try testArgs(@Vector(3, i33), @Vector(3, i2), .{ -1 << 1, -1, 0 }); | ||
| 3721 | try testArgs(@Vector(3, i63), @Vector(3, i2), .{ -1 << 1, -1, 0 }); | ||
| 3722 | try testArgs(@Vector(3, i64), @Vector(3, i2), .{ -1 << 1, -1, 0 }); | ||
| 3723 | try testArgs(@Vector(3, i65), @Vector(3, i2), .{ -1 << 1, -1, 0 }); | ||
| 3724 | try testArgs(@Vector(3, i127), @Vector(3, i2), .{ -1 << 1, -1, 0 }); | ||
| 3725 | try testArgs(@Vector(3, i128), @Vector(3, i2), .{ -1 << 1, -1, 0 }); | ||
| 3726 | try testArgs(@Vector(3, i129), @Vector(3, i2), .{ -1 << 1, -1, 0 }); | ||
| 3727 | try testArgs(@Vector(3, i255), @Vector(3, i2), .{ -1 << 1, -1, 0 }); | ||
| 3728 | try testArgs(@Vector(3, i256), @Vector(3, i2), .{ -1 << 1, -1, 0 }); | ||
| 3729 | try testArgs(@Vector(3, i257), @Vector(3, i2), .{ -1 << 1, -1, 0 }); | ||
| 3730 | try testArgs(@Vector(3, i511), @Vector(3, i2), .{ -1 << 1, -1, 0 }); | ||
| 3731 | try testArgs(@Vector(3, i512), @Vector(3, i2), .{ -1 << 1, -1, 0 }); | ||
| 3732 | try testArgs(@Vector(3, i513), @Vector(3, i2), .{ -1 << 1, -1, 0 }); | ||
| 3733 | try testArgs(@Vector(3, i1023), @Vector(3, i2), .{ -1 << 1, -1, 0 }); | ||
| 3734 | try testArgs(@Vector(3, i1024), @Vector(3, i2), .{ -1 << 1, -1, 0 }); | ||
| 3735 | try testArgs(@Vector(3, i1025), @Vector(3, i2), .{ -1 << 1, -1, 0 }); | ||
| 3736 | try testArgs(@Vector(3, u7), @Vector(3, u2), .{ 0, 1, 1 << 1 }); | ||
| 3737 | try testArgs(@Vector(3, u8), @Vector(3, u2), .{ 0, 1, 1 << 1 }); | ||
| 3738 | try testArgs(@Vector(3, u9), @Vector(3, u2), .{ 0, 1, 1 << 1 }); | ||
| 3739 | try testArgs(@Vector(3, u15), @Vector(3, u2), .{ 0, 1, 1 << 1 }); | ||
| 3740 | try testArgs(@Vector(3, u16), @Vector(3, u2), .{ 0, 1, 1 << 1 }); | ||
| 3741 | try testArgs(@Vector(3, u17), @Vector(3, u2), .{ 0, 1, 1 << 1 }); | ||
| 3742 | try testArgs(@Vector(3, u31), @Vector(3, u2), .{ 0, 1, 1 << 1 }); | ||
| 3743 | try testArgs(@Vector(3, u32), @Vector(3, u2), .{ 0, 1, 1 << 1 }); | ||
| 3744 | try testArgs(@Vector(3, u33), @Vector(3, u2), .{ 0, 1, 1 << 1 }); | ||
| 3745 | try testArgs(@Vector(3, u63), @Vector(3, u2), .{ 0, 1, 1 << 1 }); | ||
| 3746 | try testArgs(@Vector(3, u64), @Vector(3, u2), .{ 0, 1, 1 << 1 }); | ||
| 3747 | try testArgs(@Vector(3, u65), @Vector(3, u2), .{ 0, 1, 1 << 1 }); | ||
| 3748 | try testArgs(@Vector(3, u127), @Vector(3, u2), .{ 0, 1, 1 << 1 }); | ||
| 3749 | try testArgs(@Vector(3, u128), @Vector(3, u2), .{ 0, 1, 1 << 1 }); | ||
| 3750 | try testArgs(@Vector(3, u129), @Vector(3, u2), .{ 0, 1, 1 << 1 }); | ||
| 3751 | try testArgs(@Vector(3, u255), @Vector(3, u2), .{ 0, 1, 1 << 1 }); | ||
| 3752 | try testArgs(@Vector(3, u256), @Vector(3, u2), .{ 0, 1, 1 << 1 }); | ||
| 3753 | try testArgs(@Vector(3, u257), @Vector(3, u2), .{ 0, 1, 1 << 1 }); | ||
| 3754 | try testArgs(@Vector(3, u511), @Vector(3, u2), .{ 0, 1, 1 << 1 }); | ||
| 3755 | try testArgs(@Vector(3, u512), @Vector(3, u2), .{ 0, 1, 1 << 1 }); | ||
| 3756 | try testArgs(@Vector(3, u513), @Vector(3, u2), .{ 0, 1, 1 << 1 }); | ||
| 3757 | try testArgs(@Vector(3, u1023), @Vector(3, u2), .{ 0, 1, 1 << 1 }); | ||
| 3758 | try testArgs(@Vector(3, u1024), @Vector(3, u2), .{ 0, 1, 1 << 1 }); | ||
| 3759 | try testArgs(@Vector(3, u1025), @Vector(3, u2), .{ 0, 1, 1 << 1 }); | ||
| 3760 | |||
| 3761 | try testArgs(@Vector(3, i7), @Vector(3, i3), .{ -1 << 2, -1, 0 }); | ||
| 3762 | try testArgs(@Vector(3, i8), @Vector(3, i3), .{ -1 << 2, -1, 0 }); | ||
| 3763 | try testArgs(@Vector(3, i9), @Vector(3, i3), .{ -1 << 2, -1, 0 }); | ||
| 3764 | try testArgs(@Vector(3, i15), @Vector(3, i3), .{ -1 << 2, -1, 0 }); | ||
| 3765 | try testArgs(@Vector(3, i16), @Vector(3, i3), .{ -1 << 2, -1, 0 }); | ||
| 3766 | try testArgs(@Vector(3, i17), @Vector(3, i3), .{ -1 << 2, -1, 0 }); | ||
| 3767 | try testArgs(@Vector(3, i31), @Vector(3, i3), .{ -1 << 2, -1, 0 }); | ||
| 3768 | try testArgs(@Vector(3, i32), @Vector(3, i3), .{ -1 << 2, -1, 0 }); | ||
| 3769 | try testArgs(@Vector(3, i33), @Vector(3, i3), .{ -1 << 2, -1, 0 }); | ||
| 3770 | try testArgs(@Vector(3, i63), @Vector(3, i3), .{ -1 << 2, -1, 0 }); | ||
| 3771 | try testArgs(@Vector(3, i64), @Vector(3, i3), .{ -1 << 2, -1, 0 }); | ||
| 3772 | try testArgs(@Vector(3, i65), @Vector(3, i3), .{ -1 << 2, -1, 0 }); | ||
| 3773 | try testArgs(@Vector(3, i127), @Vector(3, i3), .{ -1 << 2, -1, 0 }); | ||
| 3774 | try testArgs(@Vector(3, i128), @Vector(3, i3), .{ -1 << 2, -1, 0 }); | ||
| 3775 | try testArgs(@Vector(3, i129), @Vector(3, i3), .{ -1 << 2, -1, 0 }); | ||
| 3776 | try testArgs(@Vector(3, i255), @Vector(3, i3), .{ -1 << 2, -1, 0 }); | ||
| 3777 | try testArgs(@Vector(3, i256), @Vector(3, i3), .{ -1 << 2, -1, 0 }); | ||
| 3778 | try testArgs(@Vector(3, i257), @Vector(3, i3), .{ -1 << 2, -1, 0 }); | ||
| 3779 | try testArgs(@Vector(3, i511), @Vector(3, i3), .{ -1 << 2, -1, 0 }); | ||
| 3780 | try testArgs(@Vector(3, i512), @Vector(3, i3), .{ -1 << 2, -1, 0 }); | ||
| 3781 | try testArgs(@Vector(3, i513), @Vector(3, i3), .{ -1 << 2, -1, 0 }); | ||
| 3782 | try testArgs(@Vector(3, i1023), @Vector(3, i3), .{ -1 << 2, -1, 0 }); | ||
| 3783 | try testArgs(@Vector(3, i1024), @Vector(3, i3), .{ -1 << 2, -1, 0 }); | ||
| 3784 | try testArgs(@Vector(3, i1025), @Vector(3, i3), .{ -1 << 2, -1, 0 }); | ||
| 3785 | try testArgs(@Vector(3, u7), @Vector(3, u3), .{ 0, 1, 1 << 2 }); | ||
| 3786 | try testArgs(@Vector(3, u8), @Vector(3, u3), .{ 0, 1, 1 << 2 }); | ||
| 3787 | try testArgs(@Vector(3, u9), @Vector(3, u3), .{ 0, 1, 1 << 2 }); | ||
| 3788 | try testArgs(@Vector(3, u15), @Vector(3, u3), .{ 0, 1, 1 << 2 }); | ||
| 3789 | try testArgs(@Vector(3, u16), @Vector(3, u3), .{ 0, 1, 1 << 2 }); | ||
| 3790 | try testArgs(@Vector(3, u17), @Vector(3, u3), .{ 0, 1, 1 << 2 }); | ||
| 3791 | try testArgs(@Vector(3, u31), @Vector(3, u3), .{ 0, 1, 1 << 2 }); | ||
| 3792 | try testArgs(@Vector(3, u32), @Vector(3, u3), .{ 0, 1, 1 << 2 }); | ||
| 3793 | try testArgs(@Vector(3, u33), @Vector(3, u3), .{ 0, 1, 1 << 2 }); | ||
| 3794 | try testArgs(@Vector(3, u63), @Vector(3, u3), .{ 0, 1, 1 << 2 }); | ||
| 3795 | try testArgs(@Vector(3, u64), @Vector(3, u3), .{ 0, 1, 1 << 2 }); | ||
| 3796 | try testArgs(@Vector(3, u65), @Vector(3, u3), .{ 0, 1, 1 << 2 }); | ||
| 3797 | try testArgs(@Vector(3, u127), @Vector(3, u3), .{ 0, 1, 1 << 2 }); | ||
| 3798 | try testArgs(@Vector(3, u128), @Vector(3, u3), .{ 0, 1, 1 << 2 }); | ||
| 3799 | try testArgs(@Vector(3, u129), @Vector(3, u3), .{ 0, 1, 1 << 2 }); | ||
| 3800 | try testArgs(@Vector(3, u255), @Vector(3, u3), .{ 0, 1, 1 << 2 }); | ||
| 3801 | try testArgs(@Vector(3, u256), @Vector(3, u3), .{ 0, 1, 1 << 2 }); | ||
| 3802 | try testArgs(@Vector(3, u257), @Vector(3, u3), .{ 0, 1, 1 << 2 }); | ||
| 3803 | try testArgs(@Vector(3, u511), @Vector(3, u3), .{ 0, 1, 1 << 2 }); | ||
| 3804 | try testArgs(@Vector(3, u512), @Vector(3, u3), .{ 0, 1, 1 << 2 }); | ||
| 3805 | try testArgs(@Vector(3, u513), @Vector(3, u3), .{ 0, 1, 1 << 2 }); | ||
| 3806 | try testArgs(@Vector(3, u1023), @Vector(3, u3), .{ 0, 1, 1 << 2 }); | ||
| 3807 | try testArgs(@Vector(3, u1024), @Vector(3, u3), .{ 0, 1, 1 << 2 }); | ||
| 3808 | try testArgs(@Vector(3, u1025), @Vector(3, u3), .{ 0, 1, 1 << 2 }); | ||
| 3809 | |||
| 3810 | try testArgs(@Vector(3, i7), @Vector(3, i4), .{ -1 << 3, -1, 0 }); | ||
| 3811 | try testArgs(@Vector(3, i8), @Vector(3, i4), .{ -1 << 3, -1, 0 }); | ||
| 3812 | try testArgs(@Vector(3, i9), @Vector(3, i4), .{ -1 << 3, -1, 0 }); | ||
| 3813 | try testArgs(@Vector(3, i15), @Vector(3, i4), .{ -1 << 3, -1, 0 }); | ||
| 3814 | try testArgs(@Vector(3, i16), @Vector(3, i4), .{ -1 << 3, -1, 0 }); | ||
| 3815 | try testArgs(@Vector(3, i17), @Vector(3, i4), .{ -1 << 3, -1, 0 }); | ||
| 3816 | try testArgs(@Vector(3, i31), @Vector(3, i4), .{ -1 << 3, -1, 0 }); | ||
| 3817 | try testArgs(@Vector(3, i32), @Vector(3, i4), .{ -1 << 3, -1, 0 }); | ||
| 3818 | try testArgs(@Vector(3, i33), @Vector(3, i4), .{ -1 << 3, -1, 0 }); | ||
| 3819 | try testArgs(@Vector(3, i63), @Vector(3, i4), .{ -1 << 3, -1, 0 }); | ||
| 3820 | try testArgs(@Vector(3, i64), @Vector(3, i4), .{ -1 << 3, -1, 0 }); | ||
| 3821 | try testArgs(@Vector(3, i65), @Vector(3, i4), .{ -1 << 3, -1, 0 }); | ||
| 3822 | try testArgs(@Vector(3, i127), @Vector(3, i4), .{ -1 << 3, -1, 0 }); | ||
| 3823 | try testArgs(@Vector(3, i128), @Vector(3, i4), .{ -1 << 3, -1, 0 }); | ||
| 3824 | try testArgs(@Vector(3, i129), @Vector(3, i4), .{ -1 << 3, -1, 0 }); | ||
| 3825 | try testArgs(@Vector(3, i255), @Vector(3, i4), .{ -1 << 3, -1, 0 }); | ||
| 3826 | try testArgs(@Vector(3, i256), @Vector(3, i4), .{ -1 << 3, -1, 0 }); | ||
| 3827 | try testArgs(@Vector(3, i257), @Vector(3, i4), .{ -1 << 3, -1, 0 }); | ||
| 3828 | try testArgs(@Vector(3, i511), @Vector(3, i4), .{ -1 << 3, -1, 0 }); | ||
| 3829 | try testArgs(@Vector(3, i512), @Vector(3, i4), .{ -1 << 3, -1, 0 }); | ||
| 3830 | try testArgs(@Vector(3, i513), @Vector(3, i4), .{ -1 << 3, -1, 0 }); | ||
| 3831 | try testArgs(@Vector(3, i1023), @Vector(3, i4), .{ -1 << 3, -1, 0 }); | ||
| 3832 | try testArgs(@Vector(3, i1024), @Vector(3, i4), .{ -1 << 3, -1, 0 }); | ||
| 3833 | try testArgs(@Vector(3, i1025), @Vector(3, i4), .{ -1 << 3, -1, 0 }); | ||
| 3834 | try testArgs(@Vector(3, u7), @Vector(3, u4), .{ 0, 1, 1 << 3 }); | ||
| 3835 | try testArgs(@Vector(3, u8), @Vector(3, u4), .{ 0, 1, 1 << 3 }); | ||
| 3836 | try testArgs(@Vector(3, u9), @Vector(3, u4), .{ 0, 1, 1 << 3 }); | ||
| 3837 | try testArgs(@Vector(3, u15), @Vector(3, u4), .{ 0, 1, 1 << 3 }); | ||
| 3838 | try testArgs(@Vector(3, u16), @Vector(3, u4), .{ 0, 1, 1 << 3 }); | ||
| 3839 | try testArgs(@Vector(3, u17), @Vector(3, u4), .{ 0, 1, 1 << 3 }); | ||
| 3840 | try testArgs(@Vector(3, u31), @Vector(3, u4), .{ 0, 1, 1 << 3 }); | ||
| 3841 | try testArgs(@Vector(3, u32), @Vector(3, u4), .{ 0, 1, 1 << 3 }); | ||
| 3842 | try testArgs(@Vector(3, u33), @Vector(3, u4), .{ 0, 1, 1 << 3 }); | ||
| 3843 | try testArgs(@Vector(3, u63), @Vector(3, u4), .{ 0, 1, 1 << 3 }); | ||
| 3844 | try testArgs(@Vector(3, u64), @Vector(3, u4), .{ 0, 1, 1 << 3 }); | ||
| 3845 | try testArgs(@Vector(3, u65), @Vector(3, u4), .{ 0, 1, 1 << 3 }); | ||
| 3846 | try testArgs(@Vector(3, u127), @Vector(3, u4), .{ 0, 1, 1 << 3 }); | ||
| 3847 | try testArgs(@Vector(3, u128), @Vector(3, u4), .{ 0, 1, 1 << 3 }); | ||
| 3848 | try testArgs(@Vector(3, u129), @Vector(3, u4), .{ 0, 1, 1 << 3 }); | ||
| 3849 | try testArgs(@Vector(3, u255), @Vector(3, u4), .{ 0, 1, 1 << 3 }); | ||
| 3850 | try testArgs(@Vector(3, u256), @Vector(3, u4), .{ 0, 1, 1 << 3 }); | ||
| 3851 | try testArgs(@Vector(3, u257), @Vector(3, u4), .{ 0, 1, 1 << 3 }); | ||
| 3852 | try testArgs(@Vector(3, u511), @Vector(3, u4), .{ 0, 1, 1 << 3 }); | ||
| 3853 | try testArgs(@Vector(3, u512), @Vector(3, u4), .{ 0, 1, 1 << 3 }); | ||
| 3854 | try testArgs(@Vector(3, u513), @Vector(3, u4), .{ 0, 1, 1 << 3 }); | ||
| 3855 | try testArgs(@Vector(3, u1023), @Vector(3, u4), .{ 0, 1, 1 << 3 }); | ||
| 3856 | try testArgs(@Vector(3, u1024), @Vector(3, u4), .{ 0, 1, 1 << 3 }); | ||
| 3857 | try testArgs(@Vector(3, u1025), @Vector(3, u4), .{ 0, 1, 1 << 3 }); | ||
| 3858 | |||
| 3859 | try testArgs(@Vector(3, i7), @Vector(3, i5), .{ -1 << 4, -1, 0 }); | ||
| 3860 | try testArgs(@Vector(3, i8), @Vector(3, i5), .{ -1 << 4, -1, 0 }); | ||
| 3861 | try testArgs(@Vector(3, i9), @Vector(3, i5), .{ -1 << 4, -1, 0 }); | ||
| 3862 | try testArgs(@Vector(3, i15), @Vector(3, i5), .{ -1 << 4, -1, 0 }); | ||
| 3863 | try testArgs(@Vector(3, i16), @Vector(3, i5), .{ -1 << 4, -1, 0 }); | ||
| 3864 | try testArgs(@Vector(3, i17), @Vector(3, i5), .{ -1 << 4, -1, 0 }); | ||
| 3865 | try testArgs(@Vector(3, i31), @Vector(3, i5), .{ -1 << 4, -1, 0 }); | ||
| 3866 | try testArgs(@Vector(3, i32), @Vector(3, i5), .{ -1 << 4, -1, 0 }); | ||
| 3867 | try testArgs(@Vector(3, i33), @Vector(3, i5), .{ -1 << 4, -1, 0 }); | ||
| 3868 | try testArgs(@Vector(3, i63), @Vector(3, i5), .{ -1 << 4, -1, 0 }); | ||
| 3869 | try testArgs(@Vector(3, i64), @Vector(3, i5), .{ -1 << 4, -1, 0 }); | ||
| 3870 | try testArgs(@Vector(3, i65), @Vector(3, i5), .{ -1 << 4, -1, 0 }); | ||
| 3871 | try testArgs(@Vector(3, i127), @Vector(3, i5), .{ -1 << 4, -1, 0 }); | ||
| 3872 | try testArgs(@Vector(3, i128), @Vector(3, i5), .{ -1 << 4, -1, 0 }); | ||
| 3873 | try testArgs(@Vector(3, i129), @Vector(3, i5), .{ -1 << 4, -1, 0 }); | ||
| 3874 | try testArgs(@Vector(3, i255), @Vector(3, i5), .{ -1 << 4, -1, 0 }); | ||
| 3875 | try testArgs(@Vector(3, i256), @Vector(3, i5), .{ -1 << 4, -1, 0 }); | ||
| 3876 | try testArgs(@Vector(3, i257), @Vector(3, i5), .{ -1 << 4, -1, 0 }); | ||
| 3877 | try testArgs(@Vector(3, i511), @Vector(3, i5), .{ -1 << 4, -1, 0 }); | ||
| 3878 | try testArgs(@Vector(3, i512), @Vector(3, i5), .{ -1 << 4, -1, 0 }); | ||
| 3879 | try testArgs(@Vector(3, i513), @Vector(3, i5), .{ -1 << 4, -1, 0 }); | ||
| 3880 | try testArgs(@Vector(3, i1023), @Vector(3, i5), .{ -1 << 4, -1, 0 }); | ||
| 3881 | try testArgs(@Vector(3, i1024), @Vector(3, i5), .{ -1 << 4, -1, 0 }); | ||
| 3882 | try testArgs(@Vector(3, i1025), @Vector(3, i5), .{ -1 << 4, -1, 0 }); | ||
| 3883 | try testArgs(@Vector(3, u7), @Vector(3, u5), .{ 0, 1, 1 << 4 }); | ||
| 3884 | try testArgs(@Vector(3, u8), @Vector(3, u5), .{ 0, 1, 1 << 4 }); | ||
| 3885 | try testArgs(@Vector(3, u9), @Vector(3, u5), .{ 0, 1, 1 << 4 }); | ||
| 3886 | try testArgs(@Vector(3, u15), @Vector(3, u5), .{ 0, 1, 1 << 4 }); | ||
| 3887 | try testArgs(@Vector(3, u16), @Vector(3, u5), .{ 0, 1, 1 << 4 }); | ||
| 3888 | try testArgs(@Vector(3, u17), @Vector(3, u5), .{ 0, 1, 1 << 4 }); | ||
| 3889 | try testArgs(@Vector(3, u31), @Vector(3, u5), .{ 0, 1, 1 << 4 }); | ||
| 3890 | try testArgs(@Vector(3, u32), @Vector(3, u5), .{ 0, 1, 1 << 4 }); | ||
| 3891 | try testArgs(@Vector(3, u33), @Vector(3, u5), .{ 0, 1, 1 << 4 }); | ||
| 3892 | try testArgs(@Vector(3, u63), @Vector(3, u5), .{ 0, 1, 1 << 4 }); | ||
| 3893 | try testArgs(@Vector(3, u64), @Vector(3, u5), .{ 0, 1, 1 << 4 }); | ||
| 3894 | try testArgs(@Vector(3, u65), @Vector(3, u5), .{ 0, 1, 1 << 4 }); | ||
| 3895 | try testArgs(@Vector(3, u127), @Vector(3, u5), .{ 0, 1, 1 << 4 }); | ||
| 3896 | try testArgs(@Vector(3, u128), @Vector(3, u5), .{ 0, 1, 1 << 4 }); | ||
| 3897 | try testArgs(@Vector(3, u129), @Vector(3, u5), .{ 0, 1, 1 << 4 }); | ||
| 3898 | try testArgs(@Vector(3, u255), @Vector(3, u5), .{ 0, 1, 1 << 4 }); | ||
| 3899 | try testArgs(@Vector(3, u256), @Vector(3, u5), .{ 0, 1, 1 << 4 }); | ||
| 3900 | try testArgs(@Vector(3, u257), @Vector(3, u5), .{ 0, 1, 1 << 4 }); | ||
| 3901 | try testArgs(@Vector(3, u511), @Vector(3, u5), .{ 0, 1, 1 << 4 }); | ||
| 3902 | try testArgs(@Vector(3, u512), @Vector(3, u5), .{ 0, 1, 1 << 4 }); | ||
| 3903 | try testArgs(@Vector(3, u513), @Vector(3, u5), .{ 0, 1, 1 << 4 }); | ||
| 3904 | try testArgs(@Vector(3, u1023), @Vector(3, u5), .{ 0, 1, 1 << 4 }); | ||
| 3905 | try testArgs(@Vector(3, u1024), @Vector(3, u5), .{ 0, 1, 1 << 4 }); | ||
| 3906 | try testArgs(@Vector(3, u1025), @Vector(3, u5), .{ 0, 1, 1 << 4 }); | ||
| 3907 | |||
| 3908 | try testArgs(@Vector(3, i7), @Vector(3, i7), .{ -1 << 6, -1, 0 }); | ||
| 3909 | try testArgs(@Vector(3, i8), @Vector(3, i7), .{ -1 << 6, -1, 0 }); | ||
| 3910 | try testArgs(@Vector(3, i9), @Vector(3, i7), .{ -1 << 6, -1, 0 }); | ||
| 3911 | try testArgs(@Vector(3, i15), @Vector(3, i7), .{ -1 << 6, -1, 0 }); | ||
| 3912 | try testArgs(@Vector(3, i16), @Vector(3, i7), .{ -1 << 6, -1, 0 }); | ||
| 3913 | try testArgs(@Vector(3, i17), @Vector(3, i7), .{ -1 << 6, -1, 0 }); | ||
| 3914 | try testArgs(@Vector(3, i31), @Vector(3, i7), .{ -1 << 6, -1, 0 }); | ||
| 3915 | try testArgs(@Vector(3, i32), @Vector(3, i7), .{ -1 << 6, -1, 0 }); | ||
| 3916 | try testArgs(@Vector(3, i33), @Vector(3, i7), .{ -1 << 6, -1, 0 }); | ||
| 3917 | try testArgs(@Vector(3, i63), @Vector(3, i7), .{ -1 << 6, -1, 0 }); | ||
| 3918 | try testArgs(@Vector(3, i64), @Vector(3, i7), .{ -1 << 6, -1, 0 }); | ||
| 3919 | try testArgs(@Vector(3, i65), @Vector(3, i7), .{ -1 << 6, -1, 0 }); | ||
| 3920 | try testArgs(@Vector(3, i127), @Vector(3, i7), .{ -1 << 6, -1, 0 }); | ||
| 3921 | try testArgs(@Vector(3, i128), @Vector(3, i7), .{ -1 << 6, -1, 0 }); | ||
| 3922 | try testArgs(@Vector(3, i129), @Vector(3, i7), .{ -1 << 6, -1, 0 }); | ||
| 3923 | try testArgs(@Vector(3, i255), @Vector(3, i7), .{ -1 << 6, -1, 0 }); | ||
| 3924 | try testArgs(@Vector(3, i256), @Vector(3, i7), .{ -1 << 6, -1, 0 }); | ||
| 3925 | try testArgs(@Vector(3, i257), @Vector(3, i7), .{ -1 << 6, -1, 0 }); | ||
| 3926 | try testArgs(@Vector(3, i511), @Vector(3, i7), .{ -1 << 6, -1, 0 }); | ||
| 3927 | try testArgs(@Vector(3, i512), @Vector(3, i7), .{ -1 << 6, -1, 0 }); | ||
| 3928 | try testArgs(@Vector(3, i513), @Vector(3, i7), .{ -1 << 6, -1, 0 }); | ||
| 3929 | try testArgs(@Vector(3, i1023), @Vector(3, i7), .{ -1 << 6, -1, 0 }); | ||
| 3930 | try testArgs(@Vector(3, i1024), @Vector(3, i7), .{ -1 << 6, -1, 0 }); | ||
| 3931 | try testArgs(@Vector(3, i1025), @Vector(3, i7), .{ -1 << 6, -1, 0 }); | ||
| 3932 | try testArgs(@Vector(3, u7), @Vector(3, u7), .{ 0, 1, 1 << 6 }); | ||
| 3933 | try testArgs(@Vector(3, u8), @Vector(3, u7), .{ 0, 1, 1 << 6 }); | ||
| 3934 | try testArgs(@Vector(3, u9), @Vector(3, u7), .{ 0, 1, 1 << 6 }); | ||
| 3935 | try testArgs(@Vector(3, u15), @Vector(3, u7), .{ 0, 1, 1 << 6 }); | ||
| 3936 | try testArgs(@Vector(3, u16), @Vector(3, u7), .{ 0, 1, 1 << 6 }); | ||
| 3937 | try testArgs(@Vector(3, u17), @Vector(3, u7), .{ 0, 1, 1 << 6 }); | ||
| 3938 | try testArgs(@Vector(3, u31), @Vector(3, u7), .{ 0, 1, 1 << 6 }); | ||
| 3939 | try testArgs(@Vector(3, u32), @Vector(3, u7), .{ 0, 1, 1 << 6 }); | ||
| 3940 | try testArgs(@Vector(3, u33), @Vector(3, u7), .{ 0, 1, 1 << 6 }); | ||
| 3941 | try testArgs(@Vector(3, u63), @Vector(3, u7), .{ 0, 1, 1 << 6 }); | ||
| 3942 | try testArgs(@Vector(3, u64), @Vector(3, u7), .{ 0, 1, 1 << 6 }); | ||
| 3943 | try testArgs(@Vector(3, u65), @Vector(3, u7), .{ 0, 1, 1 << 6 }); | ||
| 3944 | try testArgs(@Vector(3, u127), @Vector(3, u7), .{ 0, 1, 1 << 6 }); | ||
| 3945 | try testArgs(@Vector(3, u128), @Vector(3, u7), .{ 0, 1, 1 << 6 }); | ||
| 3946 | try testArgs(@Vector(3, u129), @Vector(3, u7), .{ 0, 1, 1 << 6 }); | ||
| 3947 | try testArgs(@Vector(3, u255), @Vector(3, u7), .{ 0, 1, 1 << 6 }); | ||
| 3948 | try testArgs(@Vector(3, u256), @Vector(3, u7), .{ 0, 1, 1 << 6 }); | ||
| 3949 | try testArgs(@Vector(3, u257), @Vector(3, u7), .{ 0, 1, 1 << 6 }); | ||
| 3950 | try testArgs(@Vector(3, u511), @Vector(3, u7), .{ 0, 1, 1 << 6 }); | ||
| 3951 | try testArgs(@Vector(3, u512), @Vector(3, u7), .{ 0, 1, 1 << 6 }); | ||
| 3952 | try testArgs(@Vector(3, u513), @Vector(3, u7), .{ 0, 1, 1 << 6 }); | ||
| 3953 | try testArgs(@Vector(3, u1023), @Vector(3, u7), .{ 0, 1, 1 << 6 }); | ||
| 3954 | try testArgs(@Vector(3, u1024), @Vector(3, u7), .{ 0, 1, 1 << 6 }); | ||
| 3955 | try testArgs(@Vector(3, u1025), @Vector(3, u7), .{ 0, 1, 1 << 6 }); | ||
| 3956 | |||
| 3957 | try testArgs(@Vector(3, i7), @Vector(3, i8), .{ -1 << 7, -1, 0 }); | ||
| 3958 | try testArgs(@Vector(3, i8), @Vector(3, i8), .{ -1 << 7, -1, 0 }); | ||
| 3959 | try testArgs(@Vector(3, i9), @Vector(3, i8), .{ -1 << 7, -1, 0 }); | ||
| 3960 | try testArgs(@Vector(3, i15), @Vector(3, i8), .{ -1 << 7, -1, 0 }); | ||
| 3961 | try testArgs(@Vector(3, i16), @Vector(3, i8), .{ -1 << 7, -1, 0 }); | ||
| 3962 | try testArgs(@Vector(3, i17), @Vector(3, i8), .{ -1 << 7, -1, 0 }); | ||
| 3963 | try testArgs(@Vector(3, i31), @Vector(3, i8), .{ -1 << 7, -1, 0 }); | ||
| 3964 | try testArgs(@Vector(3, i32), @Vector(3, i8), .{ -1 << 7, -1, 0 }); | ||
| 3965 | try testArgs(@Vector(3, i33), @Vector(3, i8), .{ -1 << 7, -1, 0 }); | ||
| 3966 | try testArgs(@Vector(3, i63), @Vector(3, i8), .{ -1 << 7, -1, 0 }); | ||
| 3967 | try testArgs(@Vector(3, i64), @Vector(3, i8), .{ -1 << 7, -1, 0 }); | ||
| 3968 | try testArgs(@Vector(3, i65), @Vector(3, i8), .{ -1 << 7, -1, 0 }); | ||
| 3969 | try testArgs(@Vector(3, i127), @Vector(3, i8), .{ -1 << 7, -1, 0 }); | ||
| 3970 | try testArgs(@Vector(3, i128), @Vector(3, i8), .{ -1 << 7, -1, 0 }); | ||
| 3971 | try testArgs(@Vector(3, i129), @Vector(3, i8), .{ -1 << 7, -1, 0 }); | ||
| 3972 | try testArgs(@Vector(3, i255), @Vector(3, i8), .{ -1 << 7, -1, 0 }); | ||
| 3973 | try testArgs(@Vector(3, i256), @Vector(3, i8), .{ -1 << 7, -1, 0 }); | ||
| 3974 | try testArgs(@Vector(3, i257), @Vector(3, i8), .{ -1 << 7, -1, 0 }); | ||
| 3975 | try testArgs(@Vector(3, i511), @Vector(3, i8), .{ -1 << 7, -1, 0 }); | ||
| 3976 | try testArgs(@Vector(3, i512), @Vector(3, i8), .{ -1 << 7, -1, 0 }); | ||
| 3977 | try testArgs(@Vector(3, i513), @Vector(3, i8), .{ -1 << 7, -1, 0 }); | ||
| 3978 | try testArgs(@Vector(3, i1023), @Vector(3, i8), .{ -1 << 7, -1, 0 }); | ||
| 3979 | try testArgs(@Vector(3, i1024), @Vector(3, i8), .{ -1 << 7, -1, 0 }); | ||
| 3980 | try testArgs(@Vector(3, i1025), @Vector(3, i8), .{ -1 << 7, -1, 0 }); | ||
| 3981 | try testArgs(@Vector(3, u7), @Vector(3, u8), .{ 0, 1, 1 << 7 }); | ||
| 3982 | try testArgs(@Vector(3, u8), @Vector(3, u8), .{ 0, 1, 1 << 7 }); | ||
| 3983 | try testArgs(@Vector(3, u9), @Vector(3, u8), .{ 0, 1, 1 << 7 }); | ||
| 3984 | try testArgs(@Vector(3, u15), @Vector(3, u8), .{ 0, 1, 1 << 7 }); | ||
| 3985 | try testArgs(@Vector(3, u16), @Vector(3, u8), .{ 0, 1, 1 << 7 }); | ||
| 3986 | try testArgs(@Vector(3, u17), @Vector(3, u8), .{ 0, 1, 1 << 7 }); | ||
| 3987 | try testArgs(@Vector(3, u31), @Vector(3, u8), .{ 0, 1, 1 << 7 }); | ||
| 3988 | try testArgs(@Vector(3, u32), @Vector(3, u8), .{ 0, 1, 1 << 7 }); | ||
| 3989 | try testArgs(@Vector(3, u33), @Vector(3, u8), .{ 0, 1, 1 << 7 }); | ||
| 3990 | try testArgs(@Vector(3, u63), @Vector(3, u8), .{ 0, 1, 1 << 7 }); | ||
| 3991 | try testArgs(@Vector(3, u64), @Vector(3, u8), .{ 0, 1, 1 << 7 }); | ||
| 3992 | try testArgs(@Vector(3, u65), @Vector(3, u8), .{ 0, 1, 1 << 7 }); | ||
| 3993 | try testArgs(@Vector(3, u127), @Vector(3, u8), .{ 0, 1, 1 << 7 }); | ||
| 3994 | try testArgs(@Vector(3, u128), @Vector(3, u8), .{ 0, 1, 1 << 7 }); | ||
| 3995 | try testArgs(@Vector(3, u129), @Vector(3, u8), .{ 0, 1, 1 << 7 }); | ||
| 3996 | try testArgs(@Vector(3, u255), @Vector(3, u8), .{ 0, 1, 1 << 7 }); | ||
| 3997 | try testArgs(@Vector(3, u256), @Vector(3, u8), .{ 0, 1, 1 << 7 }); | ||
| 3998 | try testArgs(@Vector(3, u257), @Vector(3, u8), .{ 0, 1, 1 << 7 }); | ||
| 3999 | try testArgs(@Vector(3, u511), @Vector(3, u8), .{ 0, 1, 1 << 7 }); | ||
| 4000 | try testArgs(@Vector(3, u512), @Vector(3, u8), .{ 0, 1, 1 << 7 }); | ||
| 4001 | try testArgs(@Vector(3, u513), @Vector(3, u8), .{ 0, 1, 1 << 7 }); | ||
| 4002 | try testArgs(@Vector(3, u1023), @Vector(3, u8), .{ 0, 1, 1 << 7 }); | ||
| 4003 | try testArgs(@Vector(3, u1024), @Vector(3, u8), .{ 0, 1, 1 << 7 }); | ||
| 4004 | try testArgs(@Vector(3, u1025), @Vector(3, u8), .{ 0, 1, 1 << 7 }); | ||
| 4005 | |||
| 4006 | try testArgs(@Vector(3, i7), @Vector(3, i9), .{ -1 << 8, -1, 0 }); | ||
| 4007 | try testArgs(@Vector(3, i8), @Vector(3, i9), .{ -1 << 8, -1, 0 }); | ||
| 4008 | try testArgs(@Vector(3, i9), @Vector(3, i9), .{ -1 << 8, -1, 0 }); | ||
| 4009 | try testArgs(@Vector(3, i15), @Vector(3, i9), .{ -1 << 8, -1, 0 }); | ||
| 4010 | try testArgs(@Vector(3, i16), @Vector(3, i9), .{ -1 << 8, -1, 0 }); | ||
| 4011 | try testArgs(@Vector(3, i17), @Vector(3, i9), .{ -1 << 8, -1, 0 }); | ||
| 4012 | try testArgs(@Vector(3, i31), @Vector(3, i9), .{ -1 << 8, -1, 0 }); | ||
| 4013 | try testArgs(@Vector(3, i32), @Vector(3, i9), .{ -1 << 8, -1, 0 }); | ||
| 4014 | try testArgs(@Vector(3, i33), @Vector(3, i9), .{ -1 << 8, -1, 0 }); | ||
| 4015 | try testArgs(@Vector(3, i63), @Vector(3, i9), .{ -1 << 8, -1, 0 }); | ||
| 4016 | try testArgs(@Vector(3, i64), @Vector(3, i9), .{ -1 << 8, -1, 0 }); | ||
| 4017 | try testArgs(@Vector(3, i65), @Vector(3, i9), .{ -1 << 8, -1, 0 }); | ||
| 4018 | try testArgs(@Vector(3, i127), @Vector(3, i9), .{ -1 << 8, -1, 0 }); | ||
| 4019 | try testArgs(@Vector(3, i128), @Vector(3, i9), .{ -1 << 8, -1, 0 }); | ||
| 4020 | try testArgs(@Vector(3, i129), @Vector(3, i9), .{ -1 << 8, -1, 0 }); | ||
| 4021 | try testArgs(@Vector(3, i255), @Vector(3, i9), .{ -1 << 8, -1, 0 }); | ||
| 4022 | try testArgs(@Vector(3, i256), @Vector(3, i9), .{ -1 << 8, -1, 0 }); | ||
| 4023 | try testArgs(@Vector(3, i257), @Vector(3, i9), .{ -1 << 8, -1, 0 }); | ||
| 4024 | try testArgs(@Vector(3, i511), @Vector(3, i9), .{ -1 << 8, -1, 0 }); | ||
| 4025 | try testArgs(@Vector(3, i512), @Vector(3, i9), .{ -1 << 8, -1, 0 }); | ||
| 4026 | try testArgs(@Vector(3, i513), @Vector(3, i9), .{ -1 << 8, -1, 0 }); | ||
| 4027 | try testArgs(@Vector(3, i1023), @Vector(3, i9), .{ -1 << 8, -1, 0 }); | ||
| 4028 | try testArgs(@Vector(3, i1024), @Vector(3, i9), .{ -1 << 8, -1, 0 }); | ||
| 4029 | try testArgs(@Vector(3, i1025), @Vector(3, i9), .{ -1 << 8, -1, 0 }); | ||
| 4030 | try testArgs(@Vector(3, u7), @Vector(3, u9), .{ 0, 1, 1 << 8 }); | ||
| 4031 | try testArgs(@Vector(3, u8), @Vector(3, u9), .{ 0, 1, 1 << 8 }); | ||
| 4032 | try testArgs(@Vector(3, u9), @Vector(3, u9), .{ 0, 1, 1 << 8 }); | ||
| 4033 | try testArgs(@Vector(3, u15), @Vector(3, u9), .{ 0, 1, 1 << 8 }); | ||
| 4034 | try testArgs(@Vector(3, u16), @Vector(3, u9), .{ 0, 1, 1 << 8 }); | ||
| 4035 | try testArgs(@Vector(3, u17), @Vector(3, u9), .{ 0, 1, 1 << 8 }); | ||
| 4036 | try testArgs(@Vector(3, u31), @Vector(3, u9), .{ 0, 1, 1 << 8 }); | ||
| 4037 | try testArgs(@Vector(3, u32), @Vector(3, u9), .{ 0, 1, 1 << 8 }); | ||
| 4038 | try testArgs(@Vector(3, u33), @Vector(3, u9), .{ 0, 1, 1 << 8 }); | ||
| 4039 | try testArgs(@Vector(3, u63), @Vector(3, u9), .{ 0, 1, 1 << 8 }); | ||
| 4040 | try testArgs(@Vector(3, u64), @Vector(3, u9), .{ 0, 1, 1 << 8 }); | ||
| 4041 | try testArgs(@Vector(3, u65), @Vector(3, u9), .{ 0, 1, 1 << 8 }); | ||
| 4042 | try testArgs(@Vector(3, u127), @Vector(3, u9), .{ 0, 1, 1 << 8 }); | ||
| 4043 | try testArgs(@Vector(3, u128), @Vector(3, u9), .{ 0, 1, 1 << 8 }); | ||
| 4044 | try testArgs(@Vector(3, u129), @Vector(3, u9), .{ 0, 1, 1 << 8 }); | ||
| 4045 | try testArgs(@Vector(3, u255), @Vector(3, u9), .{ 0, 1, 1 << 8 }); | ||
| 4046 | try testArgs(@Vector(3, u256), @Vector(3, u9), .{ 0, 1, 1 << 8 }); | ||
| 4047 | try testArgs(@Vector(3, u257), @Vector(3, u9), .{ 0, 1, 1 << 8 }); | ||
| 4048 | try testArgs(@Vector(3, u511), @Vector(3, u9), .{ 0, 1, 1 << 8 }); | ||
| 4049 | try testArgs(@Vector(3, u512), @Vector(3, u9), .{ 0, 1, 1 << 8 }); | ||
| 4050 | try testArgs(@Vector(3, u513), @Vector(3, u9), .{ 0, 1, 1 << 8 }); | ||
| 4051 | try testArgs(@Vector(3, u1023), @Vector(3, u9), .{ 0, 1, 1 << 8 }); | ||
| 4052 | try testArgs(@Vector(3, u1024), @Vector(3, u9), .{ 0, 1, 1 << 8 }); | ||
| 4053 | try testArgs(@Vector(3, u1025), @Vector(3, u9), .{ 0, 1, 1 << 8 }); | ||
| 4054 | |||
| 4055 | try testArgs(@Vector(3, i7), @Vector(3, i15), .{ -1 << 14, -1, 0 }); | ||
| 4056 | try testArgs(@Vector(3, i8), @Vector(3, i15), .{ -1 << 14, -1, 0 }); | ||
| 4057 | try testArgs(@Vector(3, i9), @Vector(3, i15), .{ -1 << 14, -1, 0 }); | ||
| 4058 | try testArgs(@Vector(3, i15), @Vector(3, i15), .{ -1 << 14, -1, 0 }); | ||
| 4059 | try testArgs(@Vector(3, i16), @Vector(3, i15), .{ -1 << 14, -1, 0 }); | ||
| 4060 | try testArgs(@Vector(3, i17), @Vector(3, i15), .{ -1 << 14, -1, 0 }); | ||
| 4061 | try testArgs(@Vector(3, i31), @Vector(3, i15), .{ -1 << 14, -1, 0 }); | ||
| 4062 | try testArgs(@Vector(3, i32), @Vector(3, i15), .{ -1 << 14, -1, 0 }); | ||
| 4063 | try testArgs(@Vector(3, i33), @Vector(3, i15), .{ -1 << 14, -1, 0 }); | ||
| 4064 | try testArgs(@Vector(3, i63), @Vector(3, i15), .{ -1 << 14, -1, 0 }); | ||
| 4065 | try testArgs(@Vector(3, i64), @Vector(3, i15), .{ -1 << 14, -1, 0 }); | ||
| 4066 | try testArgs(@Vector(3, i65), @Vector(3, i15), .{ -1 << 14, -1, 0 }); | ||
| 4067 | try testArgs(@Vector(3, i127), @Vector(3, i15), .{ -1 << 14, -1, 0 }); | ||
| 4068 | try testArgs(@Vector(3, i128), @Vector(3, i15), .{ -1 << 14, -1, 0 }); | ||
| 4069 | try testArgs(@Vector(3, i129), @Vector(3, i15), .{ -1 << 14, -1, 0 }); | ||
| 4070 | try testArgs(@Vector(3, i255), @Vector(3, i15), .{ -1 << 14, -1, 0 }); | ||
| 4071 | try testArgs(@Vector(3, i256), @Vector(3, i15), .{ -1 << 14, -1, 0 }); | ||
| 4072 | try testArgs(@Vector(3, i257), @Vector(3, i15), .{ -1 << 14, -1, 0 }); | ||
| 4073 | try testArgs(@Vector(3, i511), @Vector(3, i15), .{ -1 << 14, -1, 0 }); | ||
| 4074 | try testArgs(@Vector(3, i512), @Vector(3, i15), .{ -1 << 14, -1, 0 }); | ||
| 4075 | try testArgs(@Vector(3, i513), @Vector(3, i15), .{ -1 << 14, -1, 0 }); | ||
| 4076 | try testArgs(@Vector(3, i1023), @Vector(3, i15), .{ -1 << 14, -1, 0 }); | ||
| 4077 | try testArgs(@Vector(3, i1024), @Vector(3, i15), .{ -1 << 14, -1, 0 }); | ||
| 4078 | try testArgs(@Vector(3, i1025), @Vector(3, i15), .{ -1 << 14, -1, 0 }); | ||
| 4079 | try testArgs(@Vector(3, u7), @Vector(3, u15), .{ 0, 1, 1 << 14 }); | ||
| 4080 | try testArgs(@Vector(3, u8), @Vector(3, u15), .{ 0, 1, 1 << 14 }); | ||
| 4081 | try testArgs(@Vector(3, u9), @Vector(3, u15), .{ 0, 1, 1 << 14 }); | ||
| 4082 | try testArgs(@Vector(3, u15), @Vector(3, u15), .{ 0, 1, 1 << 14 }); | ||
| 4083 | try testArgs(@Vector(3, u16), @Vector(3, u15), .{ 0, 1, 1 << 14 }); | ||
| 4084 | try testArgs(@Vector(3, u17), @Vector(3, u15), .{ 0, 1, 1 << 14 }); | ||
| 4085 | try testArgs(@Vector(3, u31), @Vector(3, u15), .{ 0, 1, 1 << 14 }); | ||
| 4086 | try testArgs(@Vector(3, u32), @Vector(3, u15), .{ 0, 1, 1 << 14 }); | ||
| 4087 | try testArgs(@Vector(3, u33), @Vector(3, u15), .{ 0, 1, 1 << 14 }); | ||
| 4088 | try testArgs(@Vector(3, u63), @Vector(3, u15), .{ 0, 1, 1 << 14 }); | ||
| 4089 | try testArgs(@Vector(3, u64), @Vector(3, u15), .{ 0, 1, 1 << 14 }); | ||
| 4090 | try testArgs(@Vector(3, u65), @Vector(3, u15), .{ 0, 1, 1 << 14 }); | ||
| 4091 | try testArgs(@Vector(3, u127), @Vector(3, u15), .{ 0, 1, 1 << 14 }); | ||
| 4092 | try testArgs(@Vector(3, u128), @Vector(3, u15), .{ 0, 1, 1 << 14 }); | ||
| 4093 | try testArgs(@Vector(3, u129), @Vector(3, u15), .{ 0, 1, 1 << 14 }); | ||
| 4094 | try testArgs(@Vector(3, u255), @Vector(3, u15), .{ 0, 1, 1 << 14 }); | ||
| 4095 | try testArgs(@Vector(3, u256), @Vector(3, u15), .{ 0, 1, 1 << 14 }); | ||
| 4096 | try testArgs(@Vector(3, u257), @Vector(3, u15), .{ 0, 1, 1 << 14 }); | ||
| 4097 | try testArgs(@Vector(3, u511), @Vector(3, u15), .{ 0, 1, 1 << 14 }); | ||
| 4098 | try testArgs(@Vector(3, u512), @Vector(3, u15), .{ 0, 1, 1 << 14 }); | ||
| 4099 | try testArgs(@Vector(3, u513), @Vector(3, u15), .{ 0, 1, 1 << 14 }); | ||
| 4100 | try testArgs(@Vector(3, u1023), @Vector(3, u15), .{ 0, 1, 1 << 14 }); | ||
| 4101 | try testArgs(@Vector(3, u1024), @Vector(3, u15), .{ 0, 1, 1 << 14 }); | ||
| 4102 | try testArgs(@Vector(3, u1025), @Vector(3, u15), .{ 0, 1, 1 << 14 }); | ||
| 4103 | |||
| 4104 | try testArgs(@Vector(3, i7), @Vector(3, i16), .{ -1 << 15, -1, 0 }); | ||
| 4105 | try testArgs(@Vector(3, i8), @Vector(3, i16), .{ -1 << 15, -1, 0 }); | ||
| 4106 | try testArgs(@Vector(3, i9), @Vector(3, i16), .{ -1 << 15, -1, 0 }); | ||
| 4107 | try testArgs(@Vector(3, i15), @Vector(3, i16), .{ -1 << 15, -1, 0 }); | ||
| 4108 | try testArgs(@Vector(3, i16), @Vector(3, i16), .{ -1 << 15, -1, 0 }); | ||
| 4109 | try testArgs(@Vector(3, i17), @Vector(3, i16), .{ -1 << 15, -1, 0 }); | ||
| 4110 | try testArgs(@Vector(3, i31), @Vector(3, i16), .{ -1 << 15, -1, 0 }); | ||
| 4111 | try testArgs(@Vector(3, i32), @Vector(3, i16), .{ -1 << 15, -1, 0 }); | ||
| 4112 | try testArgs(@Vector(3, i33), @Vector(3, i16), .{ -1 << 15, -1, 0 }); | ||
| 4113 | try testArgs(@Vector(3, i63), @Vector(3, i16), .{ -1 << 15, -1, 0 }); | ||
| 4114 | try testArgs(@Vector(3, i64), @Vector(3, i16), .{ -1 << 15, -1, 0 }); | ||
| 4115 | try testArgs(@Vector(3, i65), @Vector(3, i16), .{ -1 << 15, -1, 0 }); | ||
| 4116 | try testArgs(@Vector(3, i127), @Vector(3, i16), .{ -1 << 15, -1, 0 }); | ||
| 4117 | try testArgs(@Vector(3, i128), @Vector(3, i16), .{ -1 << 15, -1, 0 }); | ||
| 4118 | try testArgs(@Vector(3, i129), @Vector(3, i16), .{ -1 << 15, -1, 0 }); | ||
| 4119 | try testArgs(@Vector(3, i255), @Vector(3, i16), .{ -1 << 15, -1, 0 }); | ||
| 4120 | try testArgs(@Vector(3, i256), @Vector(3, i16), .{ -1 << 15, -1, 0 }); | ||
| 4121 | try testArgs(@Vector(3, i257), @Vector(3, i16), .{ -1 << 15, -1, 0 }); | ||
| 4122 | try testArgs(@Vector(3, i511), @Vector(3, i16), .{ -1 << 15, -1, 0 }); | ||
| 4123 | try testArgs(@Vector(3, i512), @Vector(3, i16), .{ -1 << 15, -1, 0 }); | ||
| 4124 | try testArgs(@Vector(3, i513), @Vector(3, i16), .{ -1 << 15, -1, 0 }); | ||
| 4125 | try testArgs(@Vector(3, i1023), @Vector(3, i16), .{ -1 << 15, -1, 0 }); | ||
| 4126 | try testArgs(@Vector(3, i1024), @Vector(3, i16), .{ -1 << 15, -1, 0 }); | ||
| 4127 | try testArgs(@Vector(3, i1025), @Vector(3, i16), .{ -1 << 15, -1, 0 }); | ||
| 4128 | try testArgs(@Vector(3, u7), @Vector(3, u16), .{ 0, 1, 1 << 15 }); | ||
| 4129 | try testArgs(@Vector(3, u8), @Vector(3, u16), .{ 0, 1, 1 << 15 }); | ||
| 4130 | try testArgs(@Vector(3, u9), @Vector(3, u16), .{ 0, 1, 1 << 15 }); | ||
| 4131 | try testArgs(@Vector(3, u15), @Vector(3, u16), .{ 0, 1, 1 << 15 }); | ||
| 4132 | try testArgs(@Vector(3, u16), @Vector(3, u16), .{ 0, 1, 1 << 15 }); | ||
| 4133 | try testArgs(@Vector(3, u17), @Vector(3, u16), .{ 0, 1, 1 << 15 }); | ||
| 4134 | try testArgs(@Vector(3, u31), @Vector(3, u16), .{ 0, 1, 1 << 15 }); | ||
| 4135 | try testArgs(@Vector(3, u32), @Vector(3, u16), .{ 0, 1, 1 << 15 }); | ||
| 4136 | try testArgs(@Vector(3, u33), @Vector(3, u16), .{ 0, 1, 1 << 15 }); | ||
| 4137 | try testArgs(@Vector(3, u63), @Vector(3, u16), .{ 0, 1, 1 << 15 }); | ||
| 4138 | try testArgs(@Vector(3, u64), @Vector(3, u16), .{ 0, 1, 1 << 15 }); | ||
| 4139 | try testArgs(@Vector(3, u65), @Vector(3, u16), .{ 0, 1, 1 << 15 }); | ||
| 4140 | try testArgs(@Vector(3, u127), @Vector(3, u16), .{ 0, 1, 1 << 15 }); | ||
| 4141 | try testArgs(@Vector(3, u128), @Vector(3, u16), .{ 0, 1, 1 << 15 }); | ||
| 4142 | try testArgs(@Vector(3, u129), @Vector(3, u16), .{ 0, 1, 1 << 15 }); | ||
| 4143 | try testArgs(@Vector(3, u255), @Vector(3, u16), .{ 0, 1, 1 << 15 }); | ||
| 4144 | try testArgs(@Vector(3, u256), @Vector(3, u16), .{ 0, 1, 1 << 15 }); | ||
| 4145 | try testArgs(@Vector(3, u257), @Vector(3, u16), .{ 0, 1, 1 << 15 }); | ||
| 4146 | try testArgs(@Vector(3, u511), @Vector(3, u16), .{ 0, 1, 1 << 15 }); | ||
| 4147 | try testArgs(@Vector(3, u512), @Vector(3, u16), .{ 0, 1, 1 << 15 }); | ||
| 4148 | try testArgs(@Vector(3, u513), @Vector(3, u16), .{ 0, 1, 1 << 15 }); | ||
| 4149 | try testArgs(@Vector(3, u1023), @Vector(3, u16), .{ 0, 1, 1 << 15 }); | ||
| 4150 | try testArgs(@Vector(3, u1024), @Vector(3, u16), .{ 0, 1, 1 << 15 }); | ||
| 4151 | try testArgs(@Vector(3, u1025), @Vector(3, u16), .{ 0, 1, 1 << 15 }); | ||
| 4152 | |||
| 4153 | try testArgs(@Vector(3, i7), @Vector(3, i17), .{ -1 << 16, -1, 0 }); | ||
| 4154 | try testArgs(@Vector(3, i8), @Vector(3, i17), .{ -1 << 16, -1, 0 }); | ||
| 4155 | try testArgs(@Vector(3, i9), @Vector(3, i17), .{ -1 << 16, -1, 0 }); | ||
| 4156 | try testArgs(@Vector(3, i15), @Vector(3, i17), .{ -1 << 16, -1, 0 }); | ||
| 4157 | try testArgs(@Vector(3, i16), @Vector(3, i17), .{ -1 << 16, -1, 0 }); | ||
| 4158 | try testArgs(@Vector(3, i17), @Vector(3, i17), .{ -1 << 16, -1, 0 }); | ||
| 4159 | try testArgs(@Vector(3, i31), @Vector(3, i17), .{ -1 << 16, -1, 0 }); | ||
| 4160 | try testArgs(@Vector(3, i32), @Vector(3, i17), .{ -1 << 16, -1, 0 }); | ||
| 4161 | try testArgs(@Vector(3, i33), @Vector(3, i17), .{ -1 << 16, -1, 0 }); | ||
| 4162 | try testArgs(@Vector(3, i63), @Vector(3, i17), .{ -1 << 16, -1, 0 }); | ||
| 4163 | try testArgs(@Vector(3, i64), @Vector(3, i17), .{ -1 << 16, -1, 0 }); | ||
| 4164 | try testArgs(@Vector(3, i65), @Vector(3, i17), .{ -1 << 16, -1, 0 }); | ||
| 4165 | try testArgs(@Vector(3, i127), @Vector(3, i17), .{ -1 << 16, -1, 0 }); | ||
| 4166 | try testArgs(@Vector(3, i128), @Vector(3, i17), .{ -1 << 16, -1, 0 }); | ||
| 4167 | try testArgs(@Vector(3, i129), @Vector(3, i17), .{ -1 << 16, -1, 0 }); | ||
| 4168 | try testArgs(@Vector(3, i255), @Vector(3, i17), .{ -1 << 16, -1, 0 }); | ||
| 4169 | try testArgs(@Vector(3, i256), @Vector(3, i17), .{ -1 << 16, -1, 0 }); | ||
| 4170 | try testArgs(@Vector(3, i257), @Vector(3, i17), .{ -1 << 16, -1, 0 }); | ||
| 4171 | try testArgs(@Vector(3, i511), @Vector(3, i17), .{ -1 << 16, -1, 0 }); | ||
| 4172 | try testArgs(@Vector(3, i512), @Vector(3, i17), .{ -1 << 16, -1, 0 }); | ||
| 4173 | try testArgs(@Vector(3, i513), @Vector(3, i17), .{ -1 << 16, -1, 0 }); | ||
| 4174 | try testArgs(@Vector(3, i1023), @Vector(3, i17), .{ -1 << 16, -1, 0 }); | ||
| 4175 | try testArgs(@Vector(3, i1024), @Vector(3, i17), .{ -1 << 16, -1, 0 }); | ||
| 4176 | try testArgs(@Vector(3, i1025), @Vector(3, i17), .{ -1 << 16, -1, 0 }); | ||
| 4177 | try testArgs(@Vector(3, u7), @Vector(3, u17), .{ 0, 1, 1 << 16 }); | ||
| 4178 | try testArgs(@Vector(3, u8), @Vector(3, u17), .{ 0, 1, 1 << 16 }); | ||
| 4179 | try testArgs(@Vector(3, u9), @Vector(3, u17), .{ 0, 1, 1 << 16 }); | ||
| 4180 | try testArgs(@Vector(3, u15), @Vector(3, u17), .{ 0, 1, 1 << 16 }); | ||
| 4181 | try testArgs(@Vector(3, u16), @Vector(3, u17), .{ 0, 1, 1 << 16 }); | ||
| 4182 | try testArgs(@Vector(3, u17), @Vector(3, u17), .{ 0, 1, 1 << 16 }); | ||
| 4183 | try testArgs(@Vector(3, u31), @Vector(3, u17), .{ 0, 1, 1 << 16 }); | ||
| 4184 | try testArgs(@Vector(3, u32), @Vector(3, u17), .{ 0, 1, 1 << 16 }); | ||
| 4185 | try testArgs(@Vector(3, u33), @Vector(3, u17), .{ 0, 1, 1 << 16 }); | ||
| 4186 | try testArgs(@Vector(3, u63), @Vector(3, u17), .{ 0, 1, 1 << 16 }); | ||
| 4187 | try testArgs(@Vector(3, u64), @Vector(3, u17), .{ 0, 1, 1 << 16 }); | ||
| 4188 | try testArgs(@Vector(3, u65), @Vector(3, u17), .{ 0, 1, 1 << 16 }); | ||
| 4189 | try testArgs(@Vector(3, u127), @Vector(3, u17), .{ 0, 1, 1 << 16 }); | ||
| 4190 | try testArgs(@Vector(3, u128), @Vector(3, u17), .{ 0, 1, 1 << 16 }); | ||
| 4191 | try testArgs(@Vector(3, u129), @Vector(3, u17), .{ 0, 1, 1 << 16 }); | ||
| 4192 | try testArgs(@Vector(3, u255), @Vector(3, u17), .{ 0, 1, 1 << 16 }); | ||
| 4193 | try testArgs(@Vector(3, u256), @Vector(3, u17), .{ 0, 1, 1 << 16 }); | ||
| 4194 | try testArgs(@Vector(3, u257), @Vector(3, u17), .{ 0, 1, 1 << 16 }); | ||
| 4195 | try testArgs(@Vector(3, u511), @Vector(3, u17), .{ 0, 1, 1 << 16 }); | ||
| 4196 | try testArgs(@Vector(3, u512), @Vector(3, u17), .{ 0, 1, 1 << 16 }); | ||
| 4197 | try testArgs(@Vector(3, u513), @Vector(3, u17), .{ 0, 1, 1 << 16 }); | ||
| 4198 | try testArgs(@Vector(3, u1023), @Vector(3, u17), .{ 0, 1, 1 << 16 }); | ||
| 4199 | try testArgs(@Vector(3, u1024), @Vector(3, u17), .{ 0, 1, 1 << 16 }); | ||
| 4200 | try testArgs(@Vector(3, u1025), @Vector(3, u17), .{ 0, 1, 1 << 16 }); | ||
| 4201 | |||
| 4202 | try testArgs(@Vector(3, i7), @Vector(3, i31), .{ -1 << 30, -1, 0 }); | ||
| 4203 | try testArgs(@Vector(3, i8), @Vector(3, i31), .{ -1 << 30, -1, 0 }); | ||
| 4204 | try testArgs(@Vector(3, i9), @Vector(3, i31), .{ -1 << 30, -1, 0 }); | ||
| 4205 | try testArgs(@Vector(3, i15), @Vector(3, i31), .{ -1 << 30, -1, 0 }); | ||
| 4206 | try testArgs(@Vector(3, i16), @Vector(3, i31), .{ -1 << 30, -1, 0 }); | ||
| 4207 | try testArgs(@Vector(3, i17), @Vector(3, i31), .{ -1 << 30, -1, 0 }); | ||
| 4208 | try testArgs(@Vector(3, i31), @Vector(3, i31), .{ -1 << 30, -1, 0 }); | ||
| 4209 | try testArgs(@Vector(3, i32), @Vector(3, i31), .{ -1 << 30, -1, 0 }); | ||
| 4210 | try testArgs(@Vector(3, i33), @Vector(3, i31), .{ -1 << 30, -1, 0 }); | ||
| 4211 | try testArgs(@Vector(3, i63), @Vector(3, i31), .{ -1 << 30, -1, 0 }); | ||
| 4212 | try testArgs(@Vector(3, i64), @Vector(3, i31), .{ -1 << 30, -1, 0 }); | ||
| 4213 | try testArgs(@Vector(3, i65), @Vector(3, i31), .{ -1 << 30, -1, 0 }); | ||
| 4214 | try testArgs(@Vector(3, i127), @Vector(3, i31), .{ -1 << 30, -1, 0 }); | ||
| 4215 | try testArgs(@Vector(3, i128), @Vector(3, i31), .{ -1 << 30, -1, 0 }); | ||
| 4216 | try testArgs(@Vector(3, i129), @Vector(3, i31), .{ -1 << 30, -1, 0 }); | ||
| 4217 | try testArgs(@Vector(3, i255), @Vector(3, i31), .{ -1 << 30, -1, 0 }); | ||
| 4218 | try testArgs(@Vector(3, i256), @Vector(3, i31), .{ -1 << 30, -1, 0 }); | ||
| 4219 | try testArgs(@Vector(3, i257), @Vector(3, i31), .{ -1 << 30, -1, 0 }); | ||
| 4220 | try testArgs(@Vector(3, i511), @Vector(3, i31), .{ -1 << 30, -1, 0 }); | ||
| 4221 | try testArgs(@Vector(3, i512), @Vector(3, i31), .{ -1 << 30, -1, 0 }); | ||
| 4222 | try testArgs(@Vector(3, i513), @Vector(3, i31), .{ -1 << 30, -1, 0 }); | ||
| 4223 | try testArgs(@Vector(3, i1023), @Vector(3, i31), .{ -1 << 30, -1, 0 }); | ||
| 4224 | try testArgs(@Vector(3, i1024), @Vector(3, i31), .{ -1 << 30, -1, 0 }); | ||
| 4225 | try testArgs(@Vector(3, i1025), @Vector(3, i31), .{ -1 << 30, -1, 0 }); | ||
| 4226 | try testArgs(@Vector(3, u7), @Vector(3, u31), .{ 0, 1, 1 << 30 }); | ||
| 4227 | try testArgs(@Vector(3, u8), @Vector(3, u31), .{ 0, 1, 1 << 30 }); | ||
| 4228 | try testArgs(@Vector(3, u9), @Vector(3, u31), .{ 0, 1, 1 << 30 }); | ||
| 4229 | try testArgs(@Vector(3, u15), @Vector(3, u31), .{ 0, 1, 1 << 30 }); | ||
| 4230 | try testArgs(@Vector(3, u16), @Vector(3, u31), .{ 0, 1, 1 << 30 }); | ||
| 4231 | try testArgs(@Vector(3, u17), @Vector(3, u31), .{ 0, 1, 1 << 30 }); | ||
| 4232 | try testArgs(@Vector(3, u31), @Vector(3, u31), .{ 0, 1, 1 << 30 }); | ||
| 4233 | try testArgs(@Vector(3, u32), @Vector(3, u31), .{ 0, 1, 1 << 30 }); | ||
| 4234 | try testArgs(@Vector(3, u33), @Vector(3, u31), .{ 0, 1, 1 << 30 }); | ||
| 4235 | try testArgs(@Vector(3, u63), @Vector(3, u31), .{ 0, 1, 1 << 30 }); | ||
| 4236 | try testArgs(@Vector(3, u64), @Vector(3, u31), .{ 0, 1, 1 << 30 }); | ||
| 4237 | try testArgs(@Vector(3, u65), @Vector(3, u31), .{ 0, 1, 1 << 30 }); | ||
| 4238 | try testArgs(@Vector(3, u127), @Vector(3, u31), .{ 0, 1, 1 << 30 }); | ||
| 4239 | try testArgs(@Vector(3, u128), @Vector(3, u31), .{ 0, 1, 1 << 30 }); | ||
| 4240 | try testArgs(@Vector(3, u129), @Vector(3, u31), .{ 0, 1, 1 << 30 }); | ||
| 4241 | try testArgs(@Vector(3, u255), @Vector(3, u31), .{ 0, 1, 1 << 30 }); | ||
| 4242 | try testArgs(@Vector(3, u256), @Vector(3, u31), .{ 0, 1, 1 << 30 }); | ||
| 4243 | try testArgs(@Vector(3, u257), @Vector(3, u31), .{ 0, 1, 1 << 30 }); | ||
| 4244 | try testArgs(@Vector(3, u511), @Vector(3, u31), .{ 0, 1, 1 << 30 }); | ||
| 4245 | try testArgs(@Vector(3, u512), @Vector(3, u31), .{ 0, 1, 1 << 30 }); | ||
| 4246 | try testArgs(@Vector(3, u513), @Vector(3, u31), .{ 0, 1, 1 << 30 }); | ||
| 4247 | try testArgs(@Vector(3, u1023), @Vector(3, u31), .{ 0, 1, 1 << 30 }); | ||
| 4248 | try testArgs(@Vector(3, u1024), @Vector(3, u31), .{ 0, 1, 1 << 30 }); | ||
| 4249 | try testArgs(@Vector(3, u1025), @Vector(3, u31), .{ 0, 1, 1 << 30 }); | ||
| 4250 | |||
| 4251 | try testArgs(@Vector(3, i7), @Vector(3, i32), .{ -1 << 31, -1, 0 }); | ||
| 4252 | try testArgs(@Vector(3, i8), @Vector(3, i32), .{ -1 << 31, -1, 0 }); | ||
| 4253 | try testArgs(@Vector(3, i9), @Vector(3, i32), .{ -1 << 31, -1, 0 }); | ||
| 4254 | try testArgs(@Vector(3, i15), @Vector(3, i32), .{ -1 << 31, -1, 0 }); | ||
| 4255 | try testArgs(@Vector(3, i16), @Vector(3, i32), .{ -1 << 31, -1, 0 }); | ||
| 4256 | try testArgs(@Vector(3, i17), @Vector(3, i32), .{ -1 << 31, -1, 0 }); | ||
| 4257 | try testArgs(@Vector(3, i31), @Vector(3, i32), .{ -1 << 31, -1, 0 }); | ||
| 4258 | try testArgs(@Vector(3, i32), @Vector(3, i32), .{ -1 << 31, -1, 0 }); | ||
| 4259 | try testArgs(@Vector(3, i33), @Vector(3, i32), .{ -1 << 31, -1, 0 }); | ||
| 4260 | try testArgs(@Vector(3, i63), @Vector(3, i32), .{ -1 << 31, -1, 0 }); | ||
| 4261 | try testArgs(@Vector(3, i64), @Vector(3, i32), .{ -1 << 31, -1, 0 }); | ||
| 4262 | try testArgs(@Vector(3, i65), @Vector(3, i32), .{ -1 << 31, -1, 0 }); | ||
| 4263 | try testArgs(@Vector(3, i127), @Vector(3, i32), .{ -1 << 31, -1, 0 }); | ||
| 4264 | try testArgs(@Vector(3, i128), @Vector(3, i32), .{ -1 << 31, -1, 0 }); | ||
| 4265 | try testArgs(@Vector(3, i129), @Vector(3, i32), .{ -1 << 31, -1, 0 }); | ||
| 4266 | try testArgs(@Vector(3, i255), @Vector(3, i32), .{ -1 << 31, -1, 0 }); | ||
| 4267 | try testArgs(@Vector(3, i256), @Vector(3, i32), .{ -1 << 31, -1, 0 }); | ||
| 4268 | try testArgs(@Vector(3, i257), @Vector(3, i32), .{ -1 << 31, -1, 0 }); | ||
| 4269 | try testArgs(@Vector(3, i511), @Vector(3, i32), .{ -1 << 31, -1, 0 }); | ||
| 4270 | try testArgs(@Vector(3, i512), @Vector(3, i32), .{ -1 << 31, -1, 0 }); | ||
| 4271 | try testArgs(@Vector(3, i513), @Vector(3, i32), .{ -1 << 31, -1, 0 }); | ||
| 4272 | try testArgs(@Vector(3, i1023), @Vector(3, i32), .{ -1 << 31, -1, 0 }); | ||
| 4273 | try testArgs(@Vector(3, i1024), @Vector(3, i32), .{ -1 << 31, -1, 0 }); | ||
| 4274 | try testArgs(@Vector(3, i1025), @Vector(3, i32), .{ -1 << 31, -1, 0 }); | ||
| 4275 | try testArgs(@Vector(3, u7), @Vector(3, u32), .{ 0, 1, 1 << 31 }); | ||
| 4276 | try testArgs(@Vector(3, u8), @Vector(3, u32), .{ 0, 1, 1 << 31 }); | ||
| 4277 | try testArgs(@Vector(3, u9), @Vector(3, u32), .{ 0, 1, 1 << 31 }); | ||
| 4278 | try testArgs(@Vector(3, u15), @Vector(3, u32), .{ 0, 1, 1 << 31 }); | ||
| 4279 | try testArgs(@Vector(3, u16), @Vector(3, u32), .{ 0, 1, 1 << 31 }); | ||
| 4280 | try testArgs(@Vector(3, u17), @Vector(3, u32), .{ 0, 1, 1 << 31 }); | ||
| 4281 | try testArgs(@Vector(3, u31), @Vector(3, u32), .{ 0, 1, 1 << 31 }); | ||
| 4282 | try testArgs(@Vector(3, u32), @Vector(3, u32), .{ 0, 1, 1 << 31 }); | ||
| 4283 | try testArgs(@Vector(3, u33), @Vector(3, u32), .{ 0, 1, 1 << 31 }); | ||
| 4284 | try testArgs(@Vector(3, u63), @Vector(3, u32), .{ 0, 1, 1 << 31 }); | ||
| 4285 | try testArgs(@Vector(3, u64), @Vector(3, u32), .{ 0, 1, 1 << 31 }); | ||
| 4286 | try testArgs(@Vector(3, u65), @Vector(3, u32), .{ 0, 1, 1 << 31 }); | ||
| 4287 | try testArgs(@Vector(3, u127), @Vector(3, u32), .{ 0, 1, 1 << 31 }); | ||
| 4288 | try testArgs(@Vector(3, u128), @Vector(3, u32), .{ 0, 1, 1 << 31 }); | ||
| 4289 | try testArgs(@Vector(3, u129), @Vector(3, u32), .{ 0, 1, 1 << 31 }); | ||
| 4290 | try testArgs(@Vector(3, u255), @Vector(3, u32), .{ 0, 1, 1 << 31 }); | ||
| 4291 | try testArgs(@Vector(3, u256), @Vector(3, u32), .{ 0, 1, 1 << 31 }); | ||
| 4292 | try testArgs(@Vector(3, u257), @Vector(3, u32), .{ 0, 1, 1 << 31 }); | ||
| 4293 | try testArgs(@Vector(3, u511), @Vector(3, u32), .{ 0, 1, 1 << 31 }); | ||
| 4294 | try testArgs(@Vector(3, u512), @Vector(3, u32), .{ 0, 1, 1 << 31 }); | ||
| 4295 | try testArgs(@Vector(3, u513), @Vector(3, u32), .{ 0, 1, 1 << 31 }); | ||
| 4296 | try testArgs(@Vector(3, u1023), @Vector(3, u32), .{ 0, 1, 1 << 31 }); | ||
| 4297 | try testArgs(@Vector(3, u1024), @Vector(3, u32), .{ 0, 1, 1 << 31 }); | ||
| 4298 | try testArgs(@Vector(3, u1025), @Vector(3, u32), .{ 0, 1, 1 << 31 }); | ||
| 4299 | |||
| 4300 | try testArgs(@Vector(3, i7), @Vector(3, i33), .{ -1 << 32, -1, 0 }); | ||
| 4301 | try testArgs(@Vector(3, i8), @Vector(3, i33), .{ -1 << 32, -1, 0 }); | ||
| 4302 | try testArgs(@Vector(3, i9), @Vector(3, i33), .{ -1 << 32, -1, 0 }); | ||
| 4303 | try testArgs(@Vector(3, i15), @Vector(3, i33), .{ -1 << 32, -1, 0 }); | ||
| 4304 | try testArgs(@Vector(3, i16), @Vector(3, i33), .{ -1 << 32, -1, 0 }); | ||
| 4305 | try testArgs(@Vector(3, i17), @Vector(3, i33), .{ -1 << 32, -1, 0 }); | ||
| 4306 | try testArgs(@Vector(3, i31), @Vector(3, i33), .{ -1 << 32, -1, 0 }); | ||
| 4307 | try testArgs(@Vector(3, i32), @Vector(3, i33), .{ -1 << 32, -1, 0 }); | ||
| 4308 | try testArgs(@Vector(3, i33), @Vector(3, i33), .{ -1 << 32, -1, 0 }); | ||
| 4309 | try testArgs(@Vector(3, i63), @Vector(3, i33), .{ -1 << 32, -1, 0 }); | ||
| 4310 | try testArgs(@Vector(3, i64), @Vector(3, i33), .{ -1 << 32, -1, 0 }); | ||
| 4311 | try testArgs(@Vector(3, i65), @Vector(3, i33), .{ -1 << 32, -1, 0 }); | ||
| 4312 | try testArgs(@Vector(3, i127), @Vector(3, i33), .{ -1 << 32, -1, 0 }); | ||
| 4313 | try testArgs(@Vector(3, i128), @Vector(3, i33), .{ -1 << 32, -1, 0 }); | ||
| 4314 | try testArgs(@Vector(3, i129), @Vector(3, i33), .{ -1 << 32, -1, 0 }); | ||
| 4315 | try testArgs(@Vector(3, i255), @Vector(3, i33), .{ -1 << 32, -1, 0 }); | ||
| 4316 | try testArgs(@Vector(3, i256), @Vector(3, i33), .{ -1 << 32, -1, 0 }); | ||
| 4317 | try testArgs(@Vector(3, i257), @Vector(3, i33), .{ -1 << 32, -1, 0 }); | ||
| 4318 | try testArgs(@Vector(3, i511), @Vector(3, i33), .{ -1 << 32, -1, 0 }); | ||
| 4319 | try testArgs(@Vector(3, i512), @Vector(3, i33), .{ -1 << 32, -1, 0 }); | ||
| 4320 | try testArgs(@Vector(3, i513), @Vector(3, i33), .{ -1 << 32, -1, 0 }); | ||
| 4321 | try testArgs(@Vector(3, i1023), @Vector(3, i33), .{ -1 << 32, -1, 0 }); | ||
| 4322 | try testArgs(@Vector(3, i1024), @Vector(3, i33), .{ -1 << 32, -1, 0 }); | ||
| 4323 | try testArgs(@Vector(3, i1025), @Vector(3, i33), .{ -1 << 32, -1, 0 }); | ||
| 4324 | try testArgs(@Vector(3, u7), @Vector(3, u33), .{ 0, 1, 1 << 32 }); | ||
| 4325 | try testArgs(@Vector(3, u8), @Vector(3, u33), .{ 0, 1, 1 << 32 }); | ||
| 4326 | try testArgs(@Vector(3, u9), @Vector(3, u33), .{ 0, 1, 1 << 32 }); | ||
| 4327 | try testArgs(@Vector(3, u15), @Vector(3, u33), .{ 0, 1, 1 << 32 }); | ||
| 4328 | try testArgs(@Vector(3, u16), @Vector(3, u33), .{ 0, 1, 1 << 32 }); | ||
| 4329 | try testArgs(@Vector(3, u17), @Vector(3, u33), .{ 0, 1, 1 << 32 }); | ||
| 4330 | try testArgs(@Vector(3, u31), @Vector(3, u33), .{ 0, 1, 1 << 32 }); | ||
| 4331 | try testArgs(@Vector(3, u32), @Vector(3, u33), .{ 0, 1, 1 << 32 }); | ||
| 4332 | try testArgs(@Vector(3, u33), @Vector(3, u33), .{ 0, 1, 1 << 32 }); | ||
| 4333 | try testArgs(@Vector(3, u63), @Vector(3, u33), .{ 0, 1, 1 << 32 }); | ||
| 4334 | try testArgs(@Vector(3, u64), @Vector(3, u33), .{ 0, 1, 1 << 32 }); | ||
| 4335 | try testArgs(@Vector(3, u65), @Vector(3, u33), .{ 0, 1, 1 << 32 }); | ||
| 4336 | try testArgs(@Vector(3, u127), @Vector(3, u33), .{ 0, 1, 1 << 32 }); | ||
| 4337 | try testArgs(@Vector(3, u128), @Vector(3, u33), .{ 0, 1, 1 << 32 }); | ||
| 4338 | try testArgs(@Vector(3, u129), @Vector(3, u33), .{ 0, 1, 1 << 32 }); | ||
| 4339 | try testArgs(@Vector(3, u255), @Vector(3, u33), .{ 0, 1, 1 << 32 }); | ||
| 4340 | try testArgs(@Vector(3, u256), @Vector(3, u33), .{ 0, 1, 1 << 32 }); | ||
| 4341 | try testArgs(@Vector(3, u257), @Vector(3, u33), .{ 0, 1, 1 << 32 }); | ||
| 4342 | try testArgs(@Vector(3, u511), @Vector(3, u33), .{ 0, 1, 1 << 32 }); | ||
| 4343 | try testArgs(@Vector(3, u512), @Vector(3, u33), .{ 0, 1, 1 << 32 }); | ||
| 4344 | try testArgs(@Vector(3, u513), @Vector(3, u33), .{ 0, 1, 1 << 32 }); | ||
| 4345 | try testArgs(@Vector(3, u1023), @Vector(3, u33), .{ 0, 1, 1 << 32 }); | ||
| 4346 | try testArgs(@Vector(3, u1024), @Vector(3, u33), .{ 0, 1, 1 << 32 }); | ||
| 4347 | try testArgs(@Vector(3, u1025), @Vector(3, u33), .{ 0, 1, 1 << 32 }); | ||
| 4348 | |||
| 4349 | try testArgs(@Vector(3, i7), @Vector(3, i63), .{ -1 << 62, -1, 0 }); | ||
| 4350 | try testArgs(@Vector(3, i8), @Vector(3, i63), .{ -1 << 62, -1, 0 }); | ||
| 4351 | try testArgs(@Vector(3, i9), @Vector(3, i63), .{ -1 << 62, -1, 0 }); | ||
| 4352 | try testArgs(@Vector(3, i15), @Vector(3, i63), .{ -1 << 62, -1, 0 }); | ||
| 4353 | try testArgs(@Vector(3, i16), @Vector(3, i63), .{ -1 << 62, -1, 0 }); | ||
| 4354 | try testArgs(@Vector(3, i17), @Vector(3, i63), .{ -1 << 62, -1, 0 }); | ||
| 4355 | try testArgs(@Vector(3, i31), @Vector(3, i63), .{ -1 << 62, -1, 0 }); | ||
| 4356 | try testArgs(@Vector(3, i32), @Vector(3, i63), .{ -1 << 62, -1, 0 }); | ||
| 4357 | try testArgs(@Vector(3, i33), @Vector(3, i63), .{ -1 << 62, -1, 0 }); | ||
| 4358 | try testArgs(@Vector(3, i63), @Vector(3, i63), .{ -1 << 62, -1, 0 }); | ||
| 4359 | try testArgs(@Vector(3, i64), @Vector(3, i63), .{ -1 << 62, -1, 0 }); | ||
| 4360 | try testArgs(@Vector(3, i65), @Vector(3, i63), .{ -1 << 62, -1, 0 }); | ||
| 4361 | try testArgs(@Vector(3, i127), @Vector(3, i63), .{ -1 << 62, -1, 0 }); | ||
| 4362 | try testArgs(@Vector(3, i128), @Vector(3, i63), .{ -1 << 62, -1, 0 }); | ||
| 4363 | try testArgs(@Vector(3, i129), @Vector(3, i63), .{ -1 << 62, -1, 0 }); | ||
| 4364 | try testArgs(@Vector(3, i255), @Vector(3, i63), .{ -1 << 62, -1, 0 }); | ||
| 4365 | try testArgs(@Vector(3, i256), @Vector(3, i63), .{ -1 << 62, -1, 0 }); | ||
| 4366 | try testArgs(@Vector(3, i257), @Vector(3, i63), .{ -1 << 62, -1, 0 }); | ||
| 4367 | try testArgs(@Vector(3, i511), @Vector(3, i63), .{ -1 << 62, -1, 0 }); | ||
| 4368 | try testArgs(@Vector(3, i512), @Vector(3, i63), .{ -1 << 62, -1, 0 }); | ||
| 4369 | try testArgs(@Vector(3, i513), @Vector(3, i63), .{ -1 << 62, -1, 0 }); | ||
| 4370 | try testArgs(@Vector(3, i1023), @Vector(3, i63), .{ -1 << 62, -1, 0 }); | ||
| 4371 | try testArgs(@Vector(3, i1024), @Vector(3, i63), .{ -1 << 62, -1, 0 }); | ||
| 4372 | try testArgs(@Vector(3, i1025), @Vector(3, i63), .{ -1 << 62, -1, 0 }); | ||
| 4373 | try testArgs(@Vector(3, u7), @Vector(3, u63), .{ 0, 1, 1 << 62 }); | ||
| 4374 | try testArgs(@Vector(3, u8), @Vector(3, u63), .{ 0, 1, 1 << 62 }); | ||
| 4375 | try testArgs(@Vector(3, u9), @Vector(3, u63), .{ 0, 1, 1 << 62 }); | ||
| 4376 | try testArgs(@Vector(3, u15), @Vector(3, u63), .{ 0, 1, 1 << 62 }); | ||
| 4377 | try testArgs(@Vector(3, u16), @Vector(3, u63), .{ 0, 1, 1 << 62 }); | ||
| 4378 | try testArgs(@Vector(3, u17), @Vector(3, u63), .{ 0, 1, 1 << 62 }); | ||
| 4379 | try testArgs(@Vector(3, u31), @Vector(3, u63), .{ 0, 1, 1 << 62 }); | ||
| 4380 | try testArgs(@Vector(3, u32), @Vector(3, u63), .{ 0, 1, 1 << 62 }); | ||
| 4381 | try testArgs(@Vector(3, u33), @Vector(3, u63), .{ 0, 1, 1 << 62 }); | ||
| 4382 | try testArgs(@Vector(3, u63), @Vector(3, u63), .{ 0, 1, 1 << 62 }); | ||
| 4383 | try testArgs(@Vector(3, u64), @Vector(3, u63), .{ 0, 1, 1 << 62 }); | ||
| 4384 | try testArgs(@Vector(3, u65), @Vector(3, u63), .{ 0, 1, 1 << 62 }); | ||
| 4385 | try testArgs(@Vector(3, u127), @Vector(3, u63), .{ 0, 1, 1 << 62 }); | ||
| 4386 | try testArgs(@Vector(3, u128), @Vector(3, u63), .{ 0, 1, 1 << 62 }); | ||
| 4387 | try testArgs(@Vector(3, u129), @Vector(3, u63), .{ 0, 1, 1 << 62 }); | ||
| 4388 | try testArgs(@Vector(3, u255), @Vector(3, u63), .{ 0, 1, 1 << 62 }); | ||
| 4389 | try testArgs(@Vector(3, u256), @Vector(3, u63), .{ 0, 1, 1 << 62 }); | ||
| 4390 | try testArgs(@Vector(3, u257), @Vector(3, u63), .{ 0, 1, 1 << 62 }); | ||
| 4391 | try testArgs(@Vector(3, u511), @Vector(3, u63), .{ 0, 1, 1 << 62 }); | ||
| 4392 | try testArgs(@Vector(3, u512), @Vector(3, u63), .{ 0, 1, 1 << 62 }); | ||
| 4393 | try testArgs(@Vector(3, u513), @Vector(3, u63), .{ 0, 1, 1 << 62 }); | ||
| 4394 | try testArgs(@Vector(3, u1023), @Vector(3, u63), .{ 0, 1, 1 << 62 }); | ||
| 4395 | try testArgs(@Vector(3, u1024), @Vector(3, u63), .{ 0, 1, 1 << 62 }); | ||
| 4396 | try testArgs(@Vector(3, u1025), @Vector(3, u63), .{ 0, 1, 1 << 62 }); | ||
| 4397 | |||
| 4398 | try testArgs(@Vector(3, i7), @Vector(3, i64), .{ -1 << 63, -1, 0 }); | ||
| 4399 | try testArgs(@Vector(3, i8), @Vector(3, i64), .{ -1 << 63, -1, 0 }); | ||
| 4400 | try testArgs(@Vector(3, i9), @Vector(3, i64), .{ -1 << 63, -1, 0 }); | ||
| 4401 | try testArgs(@Vector(3, i15), @Vector(3, i64), .{ -1 << 63, -1, 0 }); | ||
| 4402 | try testArgs(@Vector(3, i16), @Vector(3, i64), .{ -1 << 63, -1, 0 }); | ||
| 4403 | try testArgs(@Vector(3, i17), @Vector(3, i64), .{ -1 << 63, -1, 0 }); | ||
| 4404 | try testArgs(@Vector(3, i31), @Vector(3, i64), .{ -1 << 63, -1, 0 }); | ||
| 4405 | try testArgs(@Vector(3, i32), @Vector(3, i64), .{ -1 << 63, -1, 0 }); | ||
| 4406 | try testArgs(@Vector(3, i33), @Vector(3, i64), .{ -1 << 63, -1, 0 }); | ||
| 4407 | try testArgs(@Vector(3, i63), @Vector(3, i64), .{ -1 << 63, -1, 0 }); | ||
| 4408 | try testArgs(@Vector(3, i64), @Vector(3, i64), .{ -1 << 63, -1, 0 }); | ||
| 4409 | try testArgs(@Vector(3, i65), @Vector(3, i64), .{ -1 << 63, -1, 0 }); | ||
| 4410 | try testArgs(@Vector(3, i127), @Vector(3, i64), .{ -1 << 63, -1, 0 }); | ||
| 4411 | try testArgs(@Vector(3, i128), @Vector(3, i64), .{ -1 << 63, -1, 0 }); | ||
| 4412 | try testArgs(@Vector(3, i129), @Vector(3, i64), .{ -1 << 63, -1, 0 }); | ||
| 4413 | try testArgs(@Vector(3, i255), @Vector(3, i64), .{ -1 << 63, -1, 0 }); | ||
| 4414 | try testArgs(@Vector(3, i256), @Vector(3, i64), .{ -1 << 63, -1, 0 }); | ||
| 4415 | try testArgs(@Vector(3, i257), @Vector(3, i64), .{ -1 << 63, -1, 0 }); | ||
| 4416 | try testArgs(@Vector(3, i511), @Vector(3, i64), .{ -1 << 63, -1, 0 }); | ||
| 4417 | try testArgs(@Vector(3, i512), @Vector(3, i64), .{ -1 << 63, -1, 0 }); | ||
| 4418 | try testArgs(@Vector(3, i513), @Vector(3, i64), .{ -1 << 63, -1, 0 }); | ||
| 4419 | try testArgs(@Vector(3, i1023), @Vector(3, i64), .{ -1 << 63, -1, 0 }); | ||
| 4420 | try testArgs(@Vector(3, i1024), @Vector(3, i64), .{ -1 << 63, -1, 0 }); | ||
| 4421 | try testArgs(@Vector(3, i1025), @Vector(3, i64), .{ -1 << 63, -1, 0 }); | ||
| 4422 | try testArgs(@Vector(3, u7), @Vector(3, u64), .{ 0, 1, 1 << 63 }); | ||
| 4423 | try testArgs(@Vector(3, u8), @Vector(3, u64), .{ 0, 1, 1 << 63 }); | ||
| 4424 | try testArgs(@Vector(3, u9), @Vector(3, u64), .{ 0, 1, 1 << 63 }); | ||
| 4425 | try testArgs(@Vector(3, u15), @Vector(3, u64), .{ 0, 1, 1 << 63 }); | ||
| 4426 | try testArgs(@Vector(3, u16), @Vector(3, u64), .{ 0, 1, 1 << 63 }); | ||
| 4427 | try testArgs(@Vector(3, u17), @Vector(3, u64), .{ 0, 1, 1 << 63 }); | ||
| 4428 | try testArgs(@Vector(3, u31), @Vector(3, u64), .{ 0, 1, 1 << 63 }); | ||
| 4429 | try testArgs(@Vector(3, u32), @Vector(3, u64), .{ 0, 1, 1 << 63 }); | ||
| 4430 | try testArgs(@Vector(3, u33), @Vector(3, u64), .{ 0, 1, 1 << 63 }); | ||
| 4431 | try testArgs(@Vector(3, u63), @Vector(3, u64), .{ 0, 1, 1 << 63 }); | ||
| 4432 | try testArgs(@Vector(3, u64), @Vector(3, u64), .{ 0, 1, 1 << 63 }); | ||
| 4433 | try testArgs(@Vector(3, u65), @Vector(3, u64), .{ 0, 1, 1 << 63 }); | ||
| 4434 | try testArgs(@Vector(3, u127), @Vector(3, u64), .{ 0, 1, 1 << 63 }); | ||
| 4435 | try testArgs(@Vector(3, u128), @Vector(3, u64), .{ 0, 1, 1 << 63 }); | ||
| 4436 | try testArgs(@Vector(3, u129), @Vector(3, u64), .{ 0, 1, 1 << 63 }); | ||
| 4437 | try testArgs(@Vector(3, u255), @Vector(3, u64), .{ 0, 1, 1 << 63 }); | ||
| 4438 | try testArgs(@Vector(3, u256), @Vector(3, u64), .{ 0, 1, 1 << 63 }); | ||
| 4439 | try testArgs(@Vector(3, u257), @Vector(3, u64), .{ 0, 1, 1 << 63 }); | ||
| 4440 | try testArgs(@Vector(3, u511), @Vector(3, u64), .{ 0, 1, 1 << 63 }); | ||
| 4441 | try testArgs(@Vector(3, u512), @Vector(3, u64), .{ 0, 1, 1 << 63 }); | ||
| 4442 | try testArgs(@Vector(3, u513), @Vector(3, u64), .{ 0, 1, 1 << 63 }); | ||
| 4443 | try testArgs(@Vector(3, u1023), @Vector(3, u64), .{ 0, 1, 1 << 63 }); | ||
| 4444 | try testArgs(@Vector(3, u1024), @Vector(3, u64), .{ 0, 1, 1 << 63 }); | ||
| 4445 | try testArgs(@Vector(3, u1025), @Vector(3, u64), .{ 0, 1, 1 << 63 }); | ||
| 4446 | |||
| 4447 | try testArgs(@Vector(3, i7), @Vector(3, i65), .{ -1 << 64, -1, 0 }); | ||
| 4448 | try testArgs(@Vector(3, i8), @Vector(3, i65), .{ -1 << 64, -1, 0 }); | ||
| 4449 | try testArgs(@Vector(3, i9), @Vector(3, i65), .{ -1 << 64, -1, 0 }); | ||
| 4450 | try testArgs(@Vector(3, i15), @Vector(3, i65), .{ -1 << 64, -1, 0 }); | ||
| 4451 | try testArgs(@Vector(3, i16), @Vector(3, i65), .{ -1 << 64, -1, 0 }); | ||
| 4452 | try testArgs(@Vector(3, i17), @Vector(3, i65), .{ -1 << 64, -1, 0 }); | ||
| 4453 | try testArgs(@Vector(3, i31), @Vector(3, i65), .{ -1 << 64, -1, 0 }); | ||
| 4454 | try testArgs(@Vector(3, i32), @Vector(3, i65), .{ -1 << 64, -1, 0 }); | ||
| 4455 | try testArgs(@Vector(3, i33), @Vector(3, i65), .{ -1 << 64, -1, 0 }); | ||
| 4456 | try testArgs(@Vector(3, i63), @Vector(3, i65), .{ -1 << 64, -1, 0 }); | ||
| 4457 | try testArgs(@Vector(3, i64), @Vector(3, i65), .{ -1 << 64, -1, 0 }); | ||
| 4458 | try testArgs(@Vector(3, i65), @Vector(3, i65), .{ -1 << 64, -1, 0 }); | ||
| 4459 | try testArgs(@Vector(3, i127), @Vector(3, i65), .{ -1 << 64, -1, 0 }); | ||
| 4460 | try testArgs(@Vector(3, i128), @Vector(3, i65), .{ -1 << 64, -1, 0 }); | ||
| 4461 | try testArgs(@Vector(3, i129), @Vector(3, i65), .{ -1 << 64, -1, 0 }); | ||
| 4462 | try testArgs(@Vector(3, i255), @Vector(3, i65), .{ -1 << 64, -1, 0 }); | ||
| 4463 | try testArgs(@Vector(3, i256), @Vector(3, i65), .{ -1 << 64, -1, 0 }); | ||
| 4464 | try testArgs(@Vector(3, i257), @Vector(3, i65), .{ -1 << 64, -1, 0 }); | ||
| 4465 | try testArgs(@Vector(3, i511), @Vector(3, i65), .{ -1 << 64, -1, 0 }); | ||
| 4466 | try testArgs(@Vector(3, i512), @Vector(3, i65), .{ -1 << 64, -1, 0 }); | ||
| 4467 | try testArgs(@Vector(3, i513), @Vector(3, i65), .{ -1 << 64, -1, 0 }); | ||
| 4468 | try testArgs(@Vector(3, i1023), @Vector(3, i65), .{ -1 << 64, -1, 0 }); | ||
| 4469 | try testArgs(@Vector(3, i1024), @Vector(3, i65), .{ -1 << 64, -1, 0 }); | ||
| 4470 | try testArgs(@Vector(3, i1025), @Vector(3, i65), .{ -1 << 64, -1, 0 }); | ||
| 4471 | try testArgs(@Vector(3, u7), @Vector(3, u65), .{ 0, 1, 1 << 64 }); | ||
| 4472 | try testArgs(@Vector(3, u8), @Vector(3, u65), .{ 0, 1, 1 << 64 }); | ||
| 4473 | try testArgs(@Vector(3, u9), @Vector(3, u65), .{ 0, 1, 1 << 64 }); | ||
| 4474 | try testArgs(@Vector(3, u15), @Vector(3, u65), .{ 0, 1, 1 << 64 }); | ||
| 4475 | try testArgs(@Vector(3, u16), @Vector(3, u65), .{ 0, 1, 1 << 64 }); | ||
| 4476 | try testArgs(@Vector(3, u17), @Vector(3, u65), .{ 0, 1, 1 << 64 }); | ||
| 4477 | try testArgs(@Vector(3, u31), @Vector(3, u65), .{ 0, 1, 1 << 64 }); | ||
| 4478 | try testArgs(@Vector(3, u32), @Vector(3, u65), .{ 0, 1, 1 << 64 }); | ||
| 4479 | try testArgs(@Vector(3, u33), @Vector(3, u65), .{ 0, 1, 1 << 64 }); | ||
| 4480 | try testArgs(@Vector(3, u63), @Vector(3, u65), .{ 0, 1, 1 << 64 }); | ||
| 4481 | try testArgs(@Vector(3, u64), @Vector(3, u65), .{ 0, 1, 1 << 64 }); | ||
| 4482 | try testArgs(@Vector(3, u65), @Vector(3, u65), .{ 0, 1, 1 << 64 }); | ||
| 4483 | try testArgs(@Vector(3, u127), @Vector(3, u65), .{ 0, 1, 1 << 64 }); | ||
| 4484 | try testArgs(@Vector(3, u128), @Vector(3, u65), .{ 0, 1, 1 << 64 }); | ||
| 4485 | try testArgs(@Vector(3, u129), @Vector(3, u65), .{ 0, 1, 1 << 64 }); | ||
| 4486 | try testArgs(@Vector(3, u255), @Vector(3, u65), .{ 0, 1, 1 << 64 }); | ||
| 4487 | try testArgs(@Vector(3, u256), @Vector(3, u65), .{ 0, 1, 1 << 64 }); | ||
| 4488 | try testArgs(@Vector(3, u257), @Vector(3, u65), .{ 0, 1, 1 << 64 }); | ||
| 4489 | try testArgs(@Vector(3, u511), @Vector(3, u65), .{ 0, 1, 1 << 64 }); | ||
| 4490 | try testArgs(@Vector(3, u512), @Vector(3, u65), .{ 0, 1, 1 << 64 }); | ||
| 4491 | try testArgs(@Vector(3, u513), @Vector(3, u65), .{ 0, 1, 1 << 64 }); | ||
| 4492 | try testArgs(@Vector(3, u1023), @Vector(3, u65), .{ 0, 1, 1 << 64 }); | ||
| 4493 | try testArgs(@Vector(3, u1024), @Vector(3, u65), .{ 0, 1, 1 << 64 }); | ||
| 4494 | try testArgs(@Vector(3, u1025), @Vector(3, u65), .{ 0, 1, 1 << 64 }); | ||
| 4495 | |||
| 4496 | try testArgs(@Vector(3, i7), @Vector(3, i95), .{ -1 << 94, -1, 0 }); | ||
| 4497 | try testArgs(@Vector(3, i8), @Vector(3, i95), .{ -1 << 94, -1, 0 }); | ||
| 4498 | try testArgs(@Vector(3, i9), @Vector(3, i95), .{ -1 << 94, -1, 0 }); | ||
| 4499 | try testArgs(@Vector(3, i15), @Vector(3, i95), .{ -1 << 94, -1, 0 }); | ||
| 4500 | try testArgs(@Vector(3, i16), @Vector(3, i95), .{ -1 << 94, -1, 0 }); | ||
| 4501 | try testArgs(@Vector(3, i17), @Vector(3, i95), .{ -1 << 94, -1, 0 }); | ||
| 4502 | try testArgs(@Vector(3, i31), @Vector(3, i95), .{ -1 << 94, -1, 0 }); | ||
| 4503 | try testArgs(@Vector(3, i32), @Vector(3, i95), .{ -1 << 94, -1, 0 }); | ||
| 4504 | try testArgs(@Vector(3, i33), @Vector(3, i95), .{ -1 << 94, -1, 0 }); | ||
| 4505 | try testArgs(@Vector(3, i63), @Vector(3, i95), .{ -1 << 94, -1, 0 }); | ||
| 4506 | try testArgs(@Vector(3, i64), @Vector(3, i95), .{ -1 << 94, -1, 0 }); | ||
| 4507 | try testArgs(@Vector(3, i65), @Vector(3, i95), .{ -1 << 94, -1, 0 }); | ||
| 4508 | try testArgs(@Vector(3, i127), @Vector(3, i95), .{ -1 << 94, -1, 0 }); | ||
| 4509 | try testArgs(@Vector(3, i128), @Vector(3, i95), .{ -1 << 94, -1, 0 }); | ||
| 4510 | try testArgs(@Vector(3, i129), @Vector(3, i95), .{ -1 << 94, -1, 0 }); | ||
| 4511 | try testArgs(@Vector(3, i255), @Vector(3, i95), .{ -1 << 94, -1, 0 }); | ||
| 4512 | try testArgs(@Vector(3, i256), @Vector(3, i95), .{ -1 << 94, -1, 0 }); | ||
| 4513 | try testArgs(@Vector(3, i257), @Vector(3, i95), .{ -1 << 94, -1, 0 }); | ||
| 4514 | try testArgs(@Vector(3, i511), @Vector(3, i95), .{ -1 << 94, -1, 0 }); | ||
| 4515 | try testArgs(@Vector(3, i512), @Vector(3, i95), .{ -1 << 94, -1, 0 }); | ||
| 4516 | try testArgs(@Vector(3, i513), @Vector(3, i95), .{ -1 << 94, -1, 0 }); | ||
| 4517 | try testArgs(@Vector(3, i1023), @Vector(3, i95), .{ -1 << 94, -1, 0 }); | ||
| 4518 | try testArgs(@Vector(3, i1024), @Vector(3, i95), .{ -1 << 94, -1, 0 }); | ||
| 4519 | try testArgs(@Vector(3, i1025), @Vector(3, i95), .{ -1 << 94, -1, 0 }); | ||
| 4520 | try testArgs(@Vector(3, u7), @Vector(3, u95), .{ 0, 1, 1 << 94 }); | ||
| 4521 | try testArgs(@Vector(3, u8), @Vector(3, u95), .{ 0, 1, 1 << 94 }); | ||
| 4522 | try testArgs(@Vector(3, u9), @Vector(3, u95), .{ 0, 1, 1 << 94 }); | ||
| 4523 | try testArgs(@Vector(3, u15), @Vector(3, u95), .{ 0, 1, 1 << 94 }); | ||
| 4524 | try testArgs(@Vector(3, u16), @Vector(3, u95), .{ 0, 1, 1 << 94 }); | ||
| 4525 | try testArgs(@Vector(3, u17), @Vector(3, u95), .{ 0, 1, 1 << 94 }); | ||
| 4526 | try testArgs(@Vector(3, u31), @Vector(3, u95), .{ 0, 1, 1 << 94 }); | ||
| 4527 | try testArgs(@Vector(3, u32), @Vector(3, u95), .{ 0, 1, 1 << 94 }); | ||
| 4528 | try testArgs(@Vector(3, u33), @Vector(3, u95), .{ 0, 1, 1 << 94 }); | ||
| 4529 | try testArgs(@Vector(3, u63), @Vector(3, u95), .{ 0, 1, 1 << 94 }); | ||
| 4530 | try testArgs(@Vector(3, u64), @Vector(3, u95), .{ 0, 1, 1 << 94 }); | ||
| 4531 | try testArgs(@Vector(3, u65), @Vector(3, u95), .{ 0, 1, 1 << 94 }); | ||
| 4532 | try testArgs(@Vector(3, u127), @Vector(3, u95), .{ 0, 1, 1 << 94 }); | ||
| 4533 | try testArgs(@Vector(3, u128), @Vector(3, u95), .{ 0, 1, 1 << 94 }); | ||
| 4534 | try testArgs(@Vector(3, u129), @Vector(3, u95), .{ 0, 1, 1 << 94 }); | ||
| 4535 | try testArgs(@Vector(3, u255), @Vector(3, u95), .{ 0, 1, 1 << 94 }); | ||
| 4536 | try testArgs(@Vector(3, u256), @Vector(3, u95), .{ 0, 1, 1 << 94 }); | ||
| 4537 | try testArgs(@Vector(3, u257), @Vector(3, u95), .{ 0, 1, 1 << 94 }); | ||
| 4538 | try testArgs(@Vector(3, u511), @Vector(3, u95), .{ 0, 1, 1 << 94 }); | ||
| 4539 | try testArgs(@Vector(3, u512), @Vector(3, u95), .{ 0, 1, 1 << 94 }); | ||
| 4540 | try testArgs(@Vector(3, u513), @Vector(3, u95), .{ 0, 1, 1 << 94 }); | ||
| 4541 | try testArgs(@Vector(3, u1023), @Vector(3, u95), .{ 0, 1, 1 << 94 }); | ||
| 4542 | try testArgs(@Vector(3, u1024), @Vector(3, u95), .{ 0, 1, 1 << 94 }); | ||
| 4543 | try testArgs(@Vector(3, u1025), @Vector(3, u95), .{ 0, 1, 1 << 94 }); | ||
| 4544 | |||
| 4545 | try testArgs(@Vector(3, i7), @Vector(3, i96), .{ -1 << 95, -1, 0 }); | ||
| 4546 | try testArgs(@Vector(3, i8), @Vector(3, i96), .{ -1 << 95, -1, 0 }); | ||
| 4547 | try testArgs(@Vector(3, i9), @Vector(3, i96), .{ -1 << 95, -1, 0 }); | ||
| 4548 | try testArgs(@Vector(3, i15), @Vector(3, i96), .{ -1 << 95, -1, 0 }); | ||
| 4549 | try testArgs(@Vector(3, i16), @Vector(3, i96), .{ -1 << 95, -1, 0 }); | ||
| 4550 | try testArgs(@Vector(3, i17), @Vector(3, i96), .{ -1 << 95, -1, 0 }); | ||
| 4551 | try testArgs(@Vector(3, i31), @Vector(3, i96), .{ -1 << 95, -1, 0 }); | ||
| 4552 | try testArgs(@Vector(3, i32), @Vector(3, i96), .{ -1 << 95, -1, 0 }); | ||
| 4553 | try testArgs(@Vector(3, i33), @Vector(3, i96), .{ -1 << 95, -1, 0 }); | ||
| 4554 | try testArgs(@Vector(3, i63), @Vector(3, i96), .{ -1 << 95, -1, 0 }); | ||
| 4555 | try testArgs(@Vector(3, i64), @Vector(3, i96), .{ -1 << 95, -1, 0 }); | ||
| 4556 | try testArgs(@Vector(3, i65), @Vector(3, i96), .{ -1 << 95, -1, 0 }); | ||
| 4557 | try testArgs(@Vector(3, i127), @Vector(3, i96), .{ -1 << 95, -1, 0 }); | ||
| 4558 | try testArgs(@Vector(3, i128), @Vector(3, i96), .{ -1 << 95, -1, 0 }); | ||
| 4559 | try testArgs(@Vector(3, i129), @Vector(3, i96), .{ -1 << 95, -1, 0 }); | ||
| 4560 | try testArgs(@Vector(3, i255), @Vector(3, i96), .{ -1 << 95, -1, 0 }); | ||
| 4561 | try testArgs(@Vector(3, i256), @Vector(3, i96), .{ -1 << 95, -1, 0 }); | ||
| 4562 | try testArgs(@Vector(3, i257), @Vector(3, i96), .{ -1 << 95, -1, 0 }); | ||
| 4563 | try testArgs(@Vector(3, i511), @Vector(3, i96), .{ -1 << 95, -1, 0 }); | ||
| 4564 | try testArgs(@Vector(3, i512), @Vector(3, i96), .{ -1 << 95, -1, 0 }); | ||
| 4565 | try testArgs(@Vector(3, i513), @Vector(3, i96), .{ -1 << 95, -1, 0 }); | ||
| 4566 | try testArgs(@Vector(3, i1023), @Vector(3, i96), .{ -1 << 95, -1, 0 }); | ||
| 4567 | try testArgs(@Vector(3, i1024), @Vector(3, i96), .{ -1 << 95, -1, 0 }); | ||
| 4568 | try testArgs(@Vector(3, i1025), @Vector(3, i96), .{ -1 << 95, -1, 0 }); | ||
| 4569 | try testArgs(@Vector(3, u7), @Vector(3, u96), .{ 0, 1, 1 << 95 }); | ||
| 4570 | try testArgs(@Vector(3, u8), @Vector(3, u96), .{ 0, 1, 1 << 95 }); | ||
| 4571 | try testArgs(@Vector(3, u9), @Vector(3, u96), .{ 0, 1, 1 << 95 }); | ||
| 4572 | try testArgs(@Vector(3, u15), @Vector(3, u96), .{ 0, 1, 1 << 95 }); | ||
| 4573 | try testArgs(@Vector(3, u16), @Vector(3, u96), .{ 0, 1, 1 << 95 }); | ||
| 4574 | try testArgs(@Vector(3, u17), @Vector(3, u96), .{ 0, 1, 1 << 95 }); | ||
| 4575 | try testArgs(@Vector(3, u31), @Vector(3, u96), .{ 0, 1, 1 << 95 }); | ||
| 4576 | try testArgs(@Vector(3, u32), @Vector(3, u96), .{ 0, 1, 1 << 95 }); | ||
| 4577 | try testArgs(@Vector(3, u33), @Vector(3, u96), .{ 0, 1, 1 << 95 }); | ||
| 4578 | try testArgs(@Vector(3, u63), @Vector(3, u96), .{ 0, 1, 1 << 95 }); | ||
| 4579 | try testArgs(@Vector(3, u64), @Vector(3, u96), .{ 0, 1, 1 << 95 }); | ||
| 4580 | try testArgs(@Vector(3, u65), @Vector(3, u96), .{ 0, 1, 1 << 95 }); | ||
| 4581 | try testArgs(@Vector(3, u127), @Vector(3, u96), .{ 0, 1, 1 << 95 }); | ||
| 4582 | try testArgs(@Vector(3, u128), @Vector(3, u96), .{ 0, 1, 1 << 95 }); | ||
| 4583 | try testArgs(@Vector(3, u129), @Vector(3, u96), .{ 0, 1, 1 << 95 }); | ||
| 4584 | try testArgs(@Vector(3, u255), @Vector(3, u96), .{ 0, 1, 1 << 95 }); | ||
| 4585 | try testArgs(@Vector(3, u256), @Vector(3, u96), .{ 0, 1, 1 << 95 }); | ||
| 4586 | try testArgs(@Vector(3, u257), @Vector(3, u96), .{ 0, 1, 1 << 95 }); | ||
| 4587 | try testArgs(@Vector(3, u511), @Vector(3, u96), .{ 0, 1, 1 << 95 }); | ||
| 4588 | try testArgs(@Vector(3, u512), @Vector(3, u96), .{ 0, 1, 1 << 95 }); | ||
| 4589 | try testArgs(@Vector(3, u513), @Vector(3, u96), .{ 0, 1, 1 << 95 }); | ||
| 4590 | try testArgs(@Vector(3, u1023), @Vector(3, u96), .{ 0, 1, 1 << 95 }); | ||
| 4591 | try testArgs(@Vector(3, u1024), @Vector(3, u96), .{ 0, 1, 1 << 95 }); | ||
| 4592 | try testArgs(@Vector(3, u1025), @Vector(3, u96), .{ 0, 1, 1 << 95 }); | ||
| 4593 | |||
| 4594 | try testArgs(@Vector(3, i7), @Vector(3, i97), .{ -1 << 96, -1, 0 }); | ||
| 4595 | try testArgs(@Vector(3, i8), @Vector(3, i97), .{ -1 << 96, -1, 0 }); | ||
| 4596 | try testArgs(@Vector(3, i9), @Vector(3, i97), .{ -1 << 96, -1, 0 }); | ||
| 4597 | try testArgs(@Vector(3, i15), @Vector(3, i97), .{ -1 << 96, -1, 0 }); | ||
| 4598 | try testArgs(@Vector(3, i16), @Vector(3, i97), .{ -1 << 96, -1, 0 }); | ||
| 4599 | try testArgs(@Vector(3, i17), @Vector(3, i97), .{ -1 << 96, -1, 0 }); | ||
| 4600 | try testArgs(@Vector(3, i31), @Vector(3, i97), .{ -1 << 96, -1, 0 }); | ||
| 4601 | try testArgs(@Vector(3, i32), @Vector(3, i97), .{ -1 << 96, -1, 0 }); | ||
| 4602 | try testArgs(@Vector(3, i33), @Vector(3, i97), .{ -1 << 96, -1, 0 }); | ||
| 4603 | try testArgs(@Vector(3, i63), @Vector(3, i97), .{ -1 << 96, -1, 0 }); | ||
| 4604 | try testArgs(@Vector(3, i64), @Vector(3, i97), .{ -1 << 96, -1, 0 }); | ||
| 4605 | try testArgs(@Vector(3, i65), @Vector(3, i97), .{ -1 << 96, -1, 0 }); | ||
| 4606 | try testArgs(@Vector(3, i127), @Vector(3, i97), .{ -1 << 96, -1, 0 }); | ||
| 4607 | try testArgs(@Vector(3, i128), @Vector(3, i97), .{ -1 << 96, -1, 0 }); | ||
| 4608 | try testArgs(@Vector(3, i129), @Vector(3, i97), .{ -1 << 96, -1, 0 }); | ||
| 4609 | try testArgs(@Vector(3, i255), @Vector(3, i97), .{ -1 << 96, -1, 0 }); | ||
| 4610 | try testArgs(@Vector(3, i256), @Vector(3, i97), .{ -1 << 96, -1, 0 }); | ||
| 4611 | try testArgs(@Vector(3, i257), @Vector(3, i97), .{ -1 << 96, -1, 0 }); | ||
| 4612 | try testArgs(@Vector(3, i511), @Vector(3, i97), .{ -1 << 96, -1, 0 }); | ||
| 4613 | try testArgs(@Vector(3, i512), @Vector(3, i97), .{ -1 << 96, -1, 0 }); | ||
| 4614 | try testArgs(@Vector(3, i513), @Vector(3, i97), .{ -1 << 96, -1, 0 }); | ||
| 4615 | try testArgs(@Vector(3, i1023), @Vector(3, i97), .{ -1 << 96, -1, 0 }); | ||
| 4616 | try testArgs(@Vector(3, i1024), @Vector(3, i97), .{ -1 << 96, -1, 0 }); | ||
| 4617 | try testArgs(@Vector(3, i1025), @Vector(3, i97), .{ -1 << 96, -1, 0 }); | ||
| 4618 | try testArgs(@Vector(3, u7), @Vector(3, u97), .{ 0, 1, 1 << 96 }); | ||
| 4619 | try testArgs(@Vector(3, u8), @Vector(3, u97), .{ 0, 1, 1 << 96 }); | ||
| 4620 | try testArgs(@Vector(3, u9), @Vector(3, u97), .{ 0, 1, 1 << 96 }); | ||
| 4621 | try testArgs(@Vector(3, u15), @Vector(3, u97), .{ 0, 1, 1 << 96 }); | ||
| 4622 | try testArgs(@Vector(3, u16), @Vector(3, u97), .{ 0, 1, 1 << 96 }); | ||
| 4623 | try testArgs(@Vector(3, u17), @Vector(3, u97), .{ 0, 1, 1 << 96 }); | ||
| 4624 | try testArgs(@Vector(3, u31), @Vector(3, u97), .{ 0, 1, 1 << 96 }); | ||
| 4625 | try testArgs(@Vector(3, u32), @Vector(3, u97), .{ 0, 1, 1 << 96 }); | ||
| 4626 | try testArgs(@Vector(3, u33), @Vector(3, u97), .{ 0, 1, 1 << 96 }); | ||
| 4627 | try testArgs(@Vector(3, u63), @Vector(3, u97), .{ 0, 1, 1 << 96 }); | ||
| 4628 | try testArgs(@Vector(3, u64), @Vector(3, u97), .{ 0, 1, 1 << 96 }); | ||
| 4629 | try testArgs(@Vector(3, u65), @Vector(3, u97), .{ 0, 1, 1 << 96 }); | ||
| 4630 | try testArgs(@Vector(3, u127), @Vector(3, u97), .{ 0, 1, 1 << 96 }); | ||
| 4631 | try testArgs(@Vector(3, u128), @Vector(3, u97), .{ 0, 1, 1 << 96 }); | ||
| 4632 | try testArgs(@Vector(3, u129), @Vector(3, u97), .{ 0, 1, 1 << 96 }); | ||
| 4633 | try testArgs(@Vector(3, u255), @Vector(3, u97), .{ 0, 1, 1 << 96 }); | ||
| 4634 | try testArgs(@Vector(3, u256), @Vector(3, u97), .{ 0, 1, 1 << 96 }); | ||
| 4635 | try testArgs(@Vector(3, u257), @Vector(3, u97), .{ 0, 1, 1 << 96 }); | ||
| 4636 | try testArgs(@Vector(3, u511), @Vector(3, u97), .{ 0, 1, 1 << 96 }); | ||
| 4637 | try testArgs(@Vector(3, u512), @Vector(3, u97), .{ 0, 1, 1 << 96 }); | ||
| 4638 | try testArgs(@Vector(3, u513), @Vector(3, u97), .{ 0, 1, 1 << 96 }); | ||
| 4639 | try testArgs(@Vector(3, u1023), @Vector(3, u97), .{ 0, 1, 1 << 96 }); | ||
| 4640 | try testArgs(@Vector(3, u1024), @Vector(3, u97), .{ 0, 1, 1 << 96 }); | ||
| 4641 | try testArgs(@Vector(3, u1025), @Vector(3, u97), .{ 0, 1, 1 << 96 }); | ||
| 4642 | |||
| 4643 | try testArgs(@Vector(3, i7), @Vector(3, i127), .{ -1 << 126, -1, 0 }); | ||
| 4644 | try testArgs(@Vector(3, i8), @Vector(3, i127), .{ -1 << 126, -1, 0 }); | ||
| 4645 | try testArgs(@Vector(3, i9), @Vector(3, i127), .{ -1 << 126, -1, 0 }); | ||
| 4646 | try testArgs(@Vector(3, i15), @Vector(3, i127), .{ -1 << 126, -1, 0 }); | ||
| 4647 | try testArgs(@Vector(3, i16), @Vector(3, i127), .{ -1 << 126, -1, 0 }); | ||
| 4648 | try testArgs(@Vector(3, i17), @Vector(3, i127), .{ -1 << 126, -1, 0 }); | ||
| 4649 | try testArgs(@Vector(3, i31), @Vector(3, i127), .{ -1 << 126, -1, 0 }); | ||
| 4650 | try testArgs(@Vector(3, i32), @Vector(3, i127), .{ -1 << 126, -1, 0 }); | ||
| 4651 | try testArgs(@Vector(3, i33), @Vector(3, i127), .{ -1 << 126, -1, 0 }); | ||
| 4652 | try testArgs(@Vector(3, i63), @Vector(3, i127), .{ -1 << 126, -1, 0 }); | ||
| 4653 | try testArgs(@Vector(3, i64), @Vector(3, i127), .{ -1 << 126, -1, 0 }); | ||
| 4654 | try testArgs(@Vector(3, i65), @Vector(3, i127), .{ -1 << 126, -1, 0 }); | ||
| 4655 | try testArgs(@Vector(3, i127), @Vector(3, i127), .{ -1 << 126, -1, 0 }); | ||
| 4656 | try testArgs(@Vector(3, i128), @Vector(3, i127), .{ -1 << 126, -1, 0 }); | ||
| 4657 | try testArgs(@Vector(3, i129), @Vector(3, i127), .{ -1 << 126, -1, 0 }); | ||
| 4658 | try testArgs(@Vector(3, i255), @Vector(3, i127), .{ -1 << 126, -1, 0 }); | ||
| 4659 | try testArgs(@Vector(3, i256), @Vector(3, i127), .{ -1 << 126, -1, 0 }); | ||
| 4660 | try testArgs(@Vector(3, i257), @Vector(3, i127), .{ -1 << 126, -1, 0 }); | ||
| 4661 | try testArgs(@Vector(3, i511), @Vector(3, i127), .{ -1 << 126, -1, 0 }); | ||
| 4662 | try testArgs(@Vector(3, i512), @Vector(3, i127), .{ -1 << 126, -1, 0 }); | ||
| 4663 | try testArgs(@Vector(3, i513), @Vector(3, i127), .{ -1 << 126, -1, 0 }); | ||
| 4664 | try testArgs(@Vector(3, i1023), @Vector(3, i127), .{ -1 << 126, -1, 0 }); | ||
| 4665 | try testArgs(@Vector(3, i1024), @Vector(3, i127), .{ -1 << 126, -1, 0 }); | ||
| 4666 | try testArgs(@Vector(3, i1025), @Vector(3, i127), .{ -1 << 126, -1, 0 }); | ||
| 4667 | try testArgs(@Vector(3, u7), @Vector(3, u127), .{ 0, 1, 1 << 126 }); | ||
| 4668 | try testArgs(@Vector(3, u8), @Vector(3, u127), .{ 0, 1, 1 << 126 }); | ||
| 4669 | try testArgs(@Vector(3, u9), @Vector(3, u127), .{ 0, 1, 1 << 126 }); | ||
| 4670 | try testArgs(@Vector(3, u15), @Vector(3, u127), .{ 0, 1, 1 << 126 }); | ||
| 4671 | try testArgs(@Vector(3, u16), @Vector(3, u127), .{ 0, 1, 1 << 126 }); | ||
| 4672 | try testArgs(@Vector(3, u17), @Vector(3, u127), .{ 0, 1, 1 << 126 }); | ||
| 4673 | try testArgs(@Vector(3, u31), @Vector(3, u127), .{ 0, 1, 1 << 126 }); | ||
| 4674 | try testArgs(@Vector(3, u32), @Vector(3, u127), .{ 0, 1, 1 << 126 }); | ||
| 4675 | try testArgs(@Vector(3, u33), @Vector(3, u127), .{ 0, 1, 1 << 126 }); | ||
| 4676 | try testArgs(@Vector(3, u63), @Vector(3, u127), .{ 0, 1, 1 << 126 }); | ||
| 4677 | try testArgs(@Vector(3, u64), @Vector(3, u127), .{ 0, 1, 1 << 126 }); | ||
| 4678 | try testArgs(@Vector(3, u65), @Vector(3, u127), .{ 0, 1, 1 << 126 }); | ||
| 4679 | try testArgs(@Vector(3, u127), @Vector(3, u127), .{ 0, 1, 1 << 126 }); | ||
| 4680 | try testArgs(@Vector(3, u128), @Vector(3, u127), .{ 0, 1, 1 << 126 }); | ||
| 4681 | try testArgs(@Vector(3, u129), @Vector(3, u127), .{ 0, 1, 1 << 126 }); | ||
| 4682 | try testArgs(@Vector(3, u255), @Vector(3, u127), .{ 0, 1, 1 << 126 }); | ||
| 4683 | try testArgs(@Vector(3, u256), @Vector(3, u127), .{ 0, 1, 1 << 126 }); | ||
| 4684 | try testArgs(@Vector(3, u257), @Vector(3, u127), .{ 0, 1, 1 << 126 }); | ||
| 4685 | try testArgs(@Vector(3, u511), @Vector(3, u127), .{ 0, 1, 1 << 126 }); | ||
| 4686 | try testArgs(@Vector(3, u512), @Vector(3, u127), .{ 0, 1, 1 << 126 }); | ||
| 4687 | try testArgs(@Vector(3, u513), @Vector(3, u127), .{ 0, 1, 1 << 126 }); | ||
| 4688 | try testArgs(@Vector(3, u1023), @Vector(3, u127), .{ 0, 1, 1 << 126 }); | ||
| 4689 | try testArgs(@Vector(3, u1024), @Vector(3, u127), .{ 0, 1, 1 << 126 }); | ||
| 4690 | try testArgs(@Vector(3, u1025), @Vector(3, u127), .{ 0, 1, 1 << 126 }); | ||
| 4691 | |||
| 4692 | try testArgs(@Vector(3, i7), @Vector(3, i128), .{ -1 << 127, -1, 0 }); | ||
| 4693 | try testArgs(@Vector(3, i8), @Vector(3, i128), .{ -1 << 127, -1, 0 }); | ||
| 4694 | try testArgs(@Vector(3, i9), @Vector(3, i128), .{ -1 << 127, -1, 0 }); | ||
| 4695 | try testArgs(@Vector(3, i15), @Vector(3, i128), .{ -1 << 127, -1, 0 }); | ||
| 4696 | try testArgs(@Vector(3, i16), @Vector(3, i128), .{ -1 << 127, -1, 0 }); | ||
| 4697 | try testArgs(@Vector(3, i17), @Vector(3, i128), .{ -1 << 127, -1, 0 }); | ||
| 4698 | try testArgs(@Vector(3, i31), @Vector(3, i128), .{ -1 << 127, -1, 0 }); | ||
| 4699 | try testArgs(@Vector(3, i32), @Vector(3, i128), .{ -1 << 127, -1, 0 }); | ||
| 4700 | try testArgs(@Vector(3, i33), @Vector(3, i128), .{ -1 << 127, -1, 0 }); | ||
| 4701 | try testArgs(@Vector(3, i63), @Vector(3, i128), .{ -1 << 127, -1, 0 }); | ||
| 4702 | try testArgs(@Vector(3, i64), @Vector(3, i128), .{ -1 << 127, -1, 0 }); | ||
| 4703 | try testArgs(@Vector(3, i65), @Vector(3, i128), .{ -1 << 127, -1, 0 }); | ||
| 4704 | try testArgs(@Vector(3, i127), @Vector(3, i128), .{ -1 << 127, -1, 0 }); | ||
| 4705 | try testArgs(@Vector(3, i128), @Vector(3, i128), .{ -1 << 127, -1, 0 }); | ||
| 4706 | try testArgs(@Vector(3, i129), @Vector(3, i128), .{ -1 << 127, -1, 0 }); | ||
| 4707 | try testArgs(@Vector(3, i255), @Vector(3, i128), .{ -1 << 127, -1, 0 }); | ||
| 4708 | try testArgs(@Vector(3, i256), @Vector(3, i128), .{ -1 << 127, -1, 0 }); | ||
| 4709 | try testArgs(@Vector(3, i257), @Vector(3, i128), .{ -1 << 127, -1, 0 }); | ||
| 4710 | try testArgs(@Vector(3, i511), @Vector(3, i128), .{ -1 << 127, -1, 0 }); | ||
| 4711 | try testArgs(@Vector(3, i512), @Vector(3, i128), .{ -1 << 127, -1, 0 }); | ||
| 4712 | try testArgs(@Vector(3, i513), @Vector(3, i128), .{ -1 << 127, -1, 0 }); | ||
| 4713 | try testArgs(@Vector(3, i1023), @Vector(3, i128), .{ -1 << 127, -1, 0 }); | ||
| 4714 | try testArgs(@Vector(3, i1024), @Vector(3, i128), .{ -1 << 127, -1, 0 }); | ||
| 4715 | try testArgs(@Vector(3, i1025), @Vector(3, i128), .{ -1 << 127, -1, 0 }); | ||
| 4716 | try testArgs(@Vector(3, u7), @Vector(3, u128), .{ 0, 1, 1 << 127 }); | ||
| 4717 | try testArgs(@Vector(3, u8), @Vector(3, u128), .{ 0, 1, 1 << 127 }); | ||
| 4718 | try testArgs(@Vector(3, u9), @Vector(3, u128), .{ 0, 1, 1 << 127 }); | ||
| 4719 | try testArgs(@Vector(3, u15), @Vector(3, u128), .{ 0, 1, 1 << 127 }); | ||
| 4720 | try testArgs(@Vector(3, u16), @Vector(3, u128), .{ 0, 1, 1 << 127 }); | ||
| 4721 | try testArgs(@Vector(3, u17), @Vector(3, u128), .{ 0, 1, 1 << 127 }); | ||
| 4722 | try testArgs(@Vector(3, u31), @Vector(3, u128), .{ 0, 1, 1 << 127 }); | ||
| 4723 | try testArgs(@Vector(3, u32), @Vector(3, u128), .{ 0, 1, 1 << 127 }); | ||
| 4724 | try testArgs(@Vector(3, u33), @Vector(3, u128), .{ 0, 1, 1 << 127 }); | ||
| 4725 | try testArgs(@Vector(3, u63), @Vector(3, u128), .{ 0, 1, 1 << 127 }); | ||
| 4726 | try testArgs(@Vector(3, u64), @Vector(3, u128), .{ 0, 1, 1 << 127 }); | ||
| 4727 | try testArgs(@Vector(3, u65), @Vector(3, u128), .{ 0, 1, 1 << 127 }); | ||
| 4728 | try testArgs(@Vector(3, u127), @Vector(3, u128), .{ 0, 1, 1 << 127 }); | ||
| 4729 | try testArgs(@Vector(3, u128), @Vector(3, u128), .{ 0, 1, 1 << 127 }); | ||
| 4730 | try testArgs(@Vector(3, u129), @Vector(3, u128), .{ 0, 1, 1 << 127 }); | ||
| 4731 | try testArgs(@Vector(3, u255), @Vector(3, u128), .{ 0, 1, 1 << 127 }); | ||
| 4732 | try testArgs(@Vector(3, u256), @Vector(3, u128), .{ 0, 1, 1 << 127 }); | ||
| 4733 | try testArgs(@Vector(3, u257), @Vector(3, u128), .{ 0, 1, 1 << 127 }); | ||
| 4734 | try testArgs(@Vector(3, u511), @Vector(3, u128), .{ 0, 1, 1 << 127 }); | ||
| 4735 | try testArgs(@Vector(3, u512), @Vector(3, u128), .{ 0, 1, 1 << 127 }); | ||
| 4736 | try testArgs(@Vector(3, u513), @Vector(3, u128), .{ 0, 1, 1 << 127 }); | ||
| 4737 | try testArgs(@Vector(3, u1023), @Vector(3, u128), .{ 0, 1, 1 << 127 }); | ||
| 4738 | try testArgs(@Vector(3, u1024), @Vector(3, u128), .{ 0, 1, 1 << 127 }); | ||
| 4739 | try testArgs(@Vector(3, u1025), @Vector(3, u128), .{ 0, 1, 1 << 127 }); | ||
| 4740 | |||
| 4741 | try testArgs(@Vector(3, i7), @Vector(3, i129), .{ -1 << 128, -1, 0 }); | ||
| 4742 | try testArgs(@Vector(3, i8), @Vector(3, i129), .{ -1 << 128, -1, 0 }); | ||
| 4743 | try testArgs(@Vector(3, i9), @Vector(3, i129), .{ -1 << 128, -1, 0 }); | ||
| 4744 | try testArgs(@Vector(3, i15), @Vector(3, i129), .{ -1 << 128, -1, 0 }); | ||
| 4745 | try testArgs(@Vector(3, i16), @Vector(3, i129), .{ -1 << 128, -1, 0 }); | ||
| 4746 | try testArgs(@Vector(3, i17), @Vector(3, i129), .{ -1 << 128, -1, 0 }); | ||
| 4747 | try testArgs(@Vector(3, i31), @Vector(3, i129), .{ -1 << 128, -1, 0 }); | ||
| 4748 | try testArgs(@Vector(3, i32), @Vector(3, i129), .{ -1 << 128, -1, 0 }); | ||
| 4749 | try testArgs(@Vector(3, i33), @Vector(3, i129), .{ -1 << 128, -1, 0 }); | ||
| 4750 | try testArgs(@Vector(3, i63), @Vector(3, i129), .{ -1 << 128, -1, 0 }); | ||
| 4751 | try testArgs(@Vector(3, i64), @Vector(3, i129), .{ -1 << 128, -1, 0 }); | ||
| 4752 | try testArgs(@Vector(3, i65), @Vector(3, i129), .{ -1 << 128, -1, 0 }); | ||
| 4753 | try testArgs(@Vector(3, i127), @Vector(3, i129), .{ -1 << 128, -1, 0 }); | ||
| 4754 | try testArgs(@Vector(3, i128), @Vector(3, i129), .{ -1 << 128, -1, 0 }); | ||
| 4755 | try testArgs(@Vector(3, i129), @Vector(3, i129), .{ -1 << 128, -1, 0 }); | ||
| 4756 | try testArgs(@Vector(3, i255), @Vector(3, i129), .{ -1 << 128, -1, 0 }); | ||
| 4757 | try testArgs(@Vector(3, i256), @Vector(3, i129), .{ -1 << 128, -1, 0 }); | ||
| 4758 | try testArgs(@Vector(3, i257), @Vector(3, i129), .{ -1 << 128, -1, 0 }); | ||
| 4759 | try testArgs(@Vector(3, i511), @Vector(3, i129), .{ -1 << 128, -1, 0 }); | ||
| 4760 | try testArgs(@Vector(3, i512), @Vector(3, i129), .{ -1 << 128, -1, 0 }); | ||
| 4761 | try testArgs(@Vector(3, i513), @Vector(3, i129), .{ -1 << 128, -1, 0 }); | ||
| 4762 | try testArgs(@Vector(3, i1023), @Vector(3, i129), .{ -1 << 128, -1, 0 }); | ||
| 4763 | try testArgs(@Vector(3, i1024), @Vector(3, i129), .{ -1 << 128, -1, 0 }); | ||
| 4764 | try testArgs(@Vector(3, i1025), @Vector(3, i129), .{ -1 << 128, -1, 0 }); | ||
| 4765 | try testArgs(@Vector(3, u7), @Vector(3, u129), .{ 0, 1, 1 << 128 }); | ||
| 4766 | try testArgs(@Vector(3, u8), @Vector(3, u129), .{ 0, 1, 1 << 128 }); | ||
| 4767 | try testArgs(@Vector(3, u9), @Vector(3, u129), .{ 0, 1, 1 << 128 }); | ||
| 4768 | try testArgs(@Vector(3, u15), @Vector(3, u129), .{ 0, 1, 1 << 128 }); | ||
| 4769 | try testArgs(@Vector(3, u16), @Vector(3, u129), .{ 0, 1, 1 << 128 }); | ||
| 4770 | try testArgs(@Vector(3, u17), @Vector(3, u129), .{ 0, 1, 1 << 128 }); | ||
| 4771 | try testArgs(@Vector(3, u31), @Vector(3, u129), .{ 0, 1, 1 << 128 }); | ||
| 4772 | try testArgs(@Vector(3, u32), @Vector(3, u129), .{ 0, 1, 1 << 128 }); | ||
| 4773 | try testArgs(@Vector(3, u33), @Vector(3, u129), .{ 0, 1, 1 << 128 }); | ||
| 4774 | try testArgs(@Vector(3, u63), @Vector(3, u129), .{ 0, 1, 1 << 128 }); | ||
| 4775 | try testArgs(@Vector(3, u64), @Vector(3, u129), .{ 0, 1, 1 << 128 }); | ||
| 4776 | try testArgs(@Vector(3, u65), @Vector(3, u129), .{ 0, 1, 1 << 128 }); | ||
| 4777 | try testArgs(@Vector(3, u127), @Vector(3, u129), .{ 0, 1, 1 << 128 }); | ||
| 4778 | try testArgs(@Vector(3, u128), @Vector(3, u129), .{ 0, 1, 1 << 128 }); | ||
| 4779 | try testArgs(@Vector(3, u129), @Vector(3, u129), .{ 0, 1, 1 << 128 }); | ||
| 4780 | try testArgs(@Vector(3, u255), @Vector(3, u129), .{ 0, 1, 1 << 128 }); | ||
| 4781 | try testArgs(@Vector(3, u256), @Vector(3, u129), .{ 0, 1, 1 << 128 }); | ||
| 4782 | try testArgs(@Vector(3, u257), @Vector(3, u129), .{ 0, 1, 1 << 128 }); | ||
| 4783 | try testArgs(@Vector(3, u511), @Vector(3, u129), .{ 0, 1, 1 << 128 }); | ||
| 4784 | try testArgs(@Vector(3, u512), @Vector(3, u129), .{ 0, 1, 1 << 128 }); | ||
| 4785 | try testArgs(@Vector(3, u513), @Vector(3, u129), .{ 0, 1, 1 << 128 }); | ||
| 4786 | try testArgs(@Vector(3, u1023), @Vector(3, u129), .{ 0, 1, 1 << 128 }); | ||
| 4787 | try testArgs(@Vector(3, u1024), @Vector(3, u129), .{ 0, 1, 1 << 128 }); | ||
| 4788 | try testArgs(@Vector(3, u1025), @Vector(3, u129), .{ 0, 1, 1 << 128 }); | ||
| 4789 | |||
| 4790 | try testArgs(@Vector(3, i7), @Vector(3, i159), .{ -1 << 158, -1, 0 }); | ||
| 4791 | try testArgs(@Vector(3, i8), @Vector(3, i159), .{ -1 << 158, -1, 0 }); | ||
| 4792 | try testArgs(@Vector(3, i9), @Vector(3, i159), .{ -1 << 158, -1, 0 }); | ||
| 4793 | try testArgs(@Vector(3, i15), @Vector(3, i159), .{ -1 << 158, -1, 0 }); | ||
| 4794 | try testArgs(@Vector(3, i16), @Vector(3, i159), .{ -1 << 158, -1, 0 }); | ||
| 4795 | try testArgs(@Vector(3, i17), @Vector(3, i159), .{ -1 << 158, -1, 0 }); | ||
| 4796 | try testArgs(@Vector(3, i31), @Vector(3, i159), .{ -1 << 158, -1, 0 }); | ||
| 4797 | try testArgs(@Vector(3, i32), @Vector(3, i159), .{ -1 << 158, -1, 0 }); | ||
| 4798 | try testArgs(@Vector(3, i33), @Vector(3, i159), .{ -1 << 158, -1, 0 }); | ||
| 4799 | try testArgs(@Vector(3, i63), @Vector(3, i159), .{ -1 << 158, -1, 0 }); | ||
| 4800 | try testArgs(@Vector(3, i64), @Vector(3, i159), .{ -1 << 158, -1, 0 }); | ||
| 4801 | try testArgs(@Vector(3, i65), @Vector(3, i159), .{ -1 << 158, -1, 0 }); | ||
| 4802 | try testArgs(@Vector(3, i127), @Vector(3, i159), .{ -1 << 158, -1, 0 }); | ||
| 4803 | try testArgs(@Vector(3, i128), @Vector(3, i159), .{ -1 << 158, -1, 0 }); | ||
| 4804 | try testArgs(@Vector(3, i129), @Vector(3, i159), .{ -1 << 158, -1, 0 }); | ||
| 4805 | try testArgs(@Vector(3, i255), @Vector(3, i159), .{ -1 << 158, -1, 0 }); | ||
| 4806 | try testArgs(@Vector(3, i256), @Vector(3, i159), .{ -1 << 158, -1, 0 }); | ||
| 4807 | try testArgs(@Vector(3, i257), @Vector(3, i159), .{ -1 << 158, -1, 0 }); | ||
| 4808 | try testArgs(@Vector(3, i511), @Vector(3, i159), .{ -1 << 158, -1, 0 }); | ||
| 4809 | try testArgs(@Vector(3, i512), @Vector(3, i159), .{ -1 << 158, -1, 0 }); | ||
| 4810 | try testArgs(@Vector(3, i513), @Vector(3, i159), .{ -1 << 158, -1, 0 }); | ||
| 4811 | try testArgs(@Vector(3, i1023), @Vector(3, i159), .{ -1 << 158, -1, 0 }); | ||
| 4812 | try testArgs(@Vector(3, i1024), @Vector(3, i159), .{ -1 << 158, -1, 0 }); | ||
| 4813 | try testArgs(@Vector(3, i1025), @Vector(3, i159), .{ -1 << 158, -1, 0 }); | ||
| 4814 | try testArgs(@Vector(3, u7), @Vector(3, u159), .{ 0, 1, 1 << 158 }); | ||
| 4815 | try testArgs(@Vector(3, u8), @Vector(3, u159), .{ 0, 1, 1 << 158 }); | ||
| 4816 | try testArgs(@Vector(3, u9), @Vector(3, u159), .{ 0, 1, 1 << 158 }); | ||
| 4817 | try testArgs(@Vector(3, u15), @Vector(3, u159), .{ 0, 1, 1 << 158 }); | ||
| 4818 | try testArgs(@Vector(3, u16), @Vector(3, u159), .{ 0, 1, 1 << 158 }); | ||
| 4819 | try testArgs(@Vector(3, u17), @Vector(3, u159), .{ 0, 1, 1 << 158 }); | ||
| 4820 | try testArgs(@Vector(3, u31), @Vector(3, u159), .{ 0, 1, 1 << 158 }); | ||
| 4821 | try testArgs(@Vector(3, u32), @Vector(3, u159), .{ 0, 1, 1 << 158 }); | ||
| 4822 | try testArgs(@Vector(3, u33), @Vector(3, u159), .{ 0, 1, 1 << 158 }); | ||
| 4823 | try testArgs(@Vector(3, u63), @Vector(3, u159), .{ 0, 1, 1 << 158 }); | ||
| 4824 | try testArgs(@Vector(3, u64), @Vector(3, u159), .{ 0, 1, 1 << 158 }); | ||
| 4825 | try testArgs(@Vector(3, u65), @Vector(3, u159), .{ 0, 1, 1 << 158 }); | ||
| 4826 | try testArgs(@Vector(3, u127), @Vector(3, u159), .{ 0, 1, 1 << 158 }); | ||
| 4827 | try testArgs(@Vector(3, u128), @Vector(3, u159), .{ 0, 1, 1 << 158 }); | ||
| 4828 | try testArgs(@Vector(3, u129), @Vector(3, u159), .{ 0, 1, 1 << 158 }); | ||
| 4829 | try testArgs(@Vector(3, u255), @Vector(3, u159), .{ 0, 1, 1 << 158 }); | ||
| 4830 | try testArgs(@Vector(3, u256), @Vector(3, u159), .{ 0, 1, 1 << 158 }); | ||
| 4831 | try testArgs(@Vector(3, u257), @Vector(3, u159), .{ 0, 1, 1 << 158 }); | ||
| 4832 | try testArgs(@Vector(3, u511), @Vector(3, u159), .{ 0, 1, 1 << 158 }); | ||
| 4833 | try testArgs(@Vector(3, u512), @Vector(3, u159), .{ 0, 1, 1 << 158 }); | ||
| 4834 | try testArgs(@Vector(3, u513), @Vector(3, u159), .{ 0, 1, 1 << 158 }); | ||
| 4835 | try testArgs(@Vector(3, u1023), @Vector(3, u159), .{ 0, 1, 1 << 158 }); | ||
| 4836 | try testArgs(@Vector(3, u1024), @Vector(3, u159), .{ 0, 1, 1 << 158 }); | ||
| 4837 | try testArgs(@Vector(3, u1025), @Vector(3, u159), .{ 0, 1, 1 << 158 }); | ||
| 4838 | |||
| 4839 | try testArgs(@Vector(3, i7), @Vector(3, i160), .{ -1 << 159, -1, 0 }); | ||
| 4840 | try testArgs(@Vector(3, i8), @Vector(3, i160), .{ -1 << 159, -1, 0 }); | ||
| 4841 | try testArgs(@Vector(3, i9), @Vector(3, i160), .{ -1 << 159, -1, 0 }); | ||
| 4842 | try testArgs(@Vector(3, i15), @Vector(3, i160), .{ -1 << 159, -1, 0 }); | ||
| 4843 | try testArgs(@Vector(3, i16), @Vector(3, i160), .{ -1 << 159, -1, 0 }); | ||
| 4844 | try testArgs(@Vector(3, i17), @Vector(3, i160), .{ -1 << 159, -1, 0 }); | ||
| 4845 | try testArgs(@Vector(3, i31), @Vector(3, i160), .{ -1 << 159, -1, 0 }); | ||
| 4846 | try testArgs(@Vector(3, i32), @Vector(3, i160), .{ -1 << 159, -1, 0 }); | ||
| 4847 | try testArgs(@Vector(3, i33), @Vector(3, i160), .{ -1 << 159, -1, 0 }); | ||
| 4848 | try testArgs(@Vector(3, i63), @Vector(3, i160), .{ -1 << 159, -1, 0 }); | ||
| 4849 | try testArgs(@Vector(3, i64), @Vector(3, i160), .{ -1 << 159, -1, 0 }); | ||
| 4850 | try testArgs(@Vector(3, i65), @Vector(3, i160), .{ -1 << 159, -1, 0 }); | ||
| 4851 | try testArgs(@Vector(3, i127), @Vector(3, i160), .{ -1 << 159, -1, 0 }); | ||
| 4852 | try testArgs(@Vector(3, i128), @Vector(3, i160), .{ -1 << 159, -1, 0 }); | ||
| 4853 | try testArgs(@Vector(3, i129), @Vector(3, i160), .{ -1 << 159, -1, 0 }); | ||
| 4854 | try testArgs(@Vector(3, i255), @Vector(3, i160), .{ -1 << 159, -1, 0 }); | ||
| 4855 | try testArgs(@Vector(3, i256), @Vector(3, i160), .{ -1 << 159, -1, 0 }); | ||
| 4856 | try testArgs(@Vector(3, i257), @Vector(3, i160), .{ -1 << 159, -1, 0 }); | ||
| 4857 | try testArgs(@Vector(3, i511), @Vector(3, i160), .{ -1 << 159, -1, 0 }); | ||
| 4858 | try testArgs(@Vector(3, i512), @Vector(3, i160), .{ -1 << 159, -1, 0 }); | ||
| 4859 | try testArgs(@Vector(3, i513), @Vector(3, i160), .{ -1 << 159, -1, 0 }); | ||
| 4860 | try testArgs(@Vector(3, i1023), @Vector(3, i160), .{ -1 << 159, -1, 0 }); | ||
| 4861 | try testArgs(@Vector(3, i1024), @Vector(3, i160), .{ -1 << 159, -1, 0 }); | ||
| 4862 | try testArgs(@Vector(3, i1025), @Vector(3, i160), .{ -1 << 159, -1, 0 }); | ||
| 4863 | try testArgs(@Vector(3, u7), @Vector(3, u160), .{ 0, 1, 1 << 159 }); | ||
| 4864 | try testArgs(@Vector(3, u8), @Vector(3, u160), .{ 0, 1, 1 << 159 }); | ||
| 4865 | try testArgs(@Vector(3, u9), @Vector(3, u160), .{ 0, 1, 1 << 159 }); | ||
| 4866 | try testArgs(@Vector(3, u15), @Vector(3, u160), .{ 0, 1, 1 << 159 }); | ||
| 4867 | try testArgs(@Vector(3, u16), @Vector(3, u160), .{ 0, 1, 1 << 159 }); | ||
| 4868 | try testArgs(@Vector(3, u17), @Vector(3, u160), .{ 0, 1, 1 << 159 }); | ||
| 4869 | try testArgs(@Vector(3, u31), @Vector(3, u160), .{ 0, 1, 1 << 159 }); | ||
| 4870 | try testArgs(@Vector(3, u32), @Vector(3, u160), .{ 0, 1, 1 << 159 }); | ||
| 4871 | try testArgs(@Vector(3, u33), @Vector(3, u160), .{ 0, 1, 1 << 159 }); | ||
| 4872 | try testArgs(@Vector(3, u63), @Vector(3, u160), .{ 0, 1, 1 << 159 }); | ||
| 4873 | try testArgs(@Vector(3, u64), @Vector(3, u160), .{ 0, 1, 1 << 159 }); | ||
| 4874 | try testArgs(@Vector(3, u65), @Vector(3, u160), .{ 0, 1, 1 << 159 }); | ||
| 4875 | try testArgs(@Vector(3, u127), @Vector(3, u160), .{ 0, 1, 1 << 159 }); | ||
| 4876 | try testArgs(@Vector(3, u128), @Vector(3, u160), .{ 0, 1, 1 << 159 }); | ||
| 4877 | try testArgs(@Vector(3, u129), @Vector(3, u160), .{ 0, 1, 1 << 159 }); | ||
| 4878 | try testArgs(@Vector(3, u255), @Vector(3, u160), .{ 0, 1, 1 << 159 }); | ||
| 4879 | try testArgs(@Vector(3, u256), @Vector(3, u160), .{ 0, 1, 1 << 159 }); | ||
| 4880 | try testArgs(@Vector(3, u257), @Vector(3, u160), .{ 0, 1, 1 << 159 }); | ||
| 4881 | try testArgs(@Vector(3, u511), @Vector(3, u160), .{ 0, 1, 1 << 159 }); | ||
| 4882 | try testArgs(@Vector(3, u512), @Vector(3, u160), .{ 0, 1, 1 << 159 }); | ||
| 4883 | try testArgs(@Vector(3, u513), @Vector(3, u160), .{ 0, 1, 1 << 159 }); | ||
| 4884 | try testArgs(@Vector(3, u1023), @Vector(3, u160), .{ 0, 1, 1 << 159 }); | ||
| 4885 | try testArgs(@Vector(3, u1024), @Vector(3, u160), .{ 0, 1, 1 << 159 }); | ||
| 4886 | try testArgs(@Vector(3, u1025), @Vector(3, u160), .{ 0, 1, 1 << 159 }); | ||
| 4887 | |||
| 4888 | try testArgs(@Vector(3, i7), @Vector(3, i161), .{ -1 << 160, -1, 0 }); | ||
| 4889 | try testArgs(@Vector(3, i8), @Vector(3, i161), .{ -1 << 160, -1, 0 }); | ||
| 4890 | try testArgs(@Vector(3, i9), @Vector(3, i161), .{ -1 << 160, -1, 0 }); | ||
| 4891 | try testArgs(@Vector(3, i15), @Vector(3, i161), .{ -1 << 160, -1, 0 }); | ||
| 4892 | try testArgs(@Vector(3, i16), @Vector(3, i161), .{ -1 << 160, -1, 0 }); | ||
| 4893 | try testArgs(@Vector(3, i17), @Vector(3, i161), .{ -1 << 160, -1, 0 }); | ||
| 4894 | try testArgs(@Vector(3, i31), @Vector(3, i161), .{ -1 << 160, -1, 0 }); | ||
| 4895 | try testArgs(@Vector(3, i32), @Vector(3, i161), .{ -1 << 160, -1, 0 }); | ||
| 4896 | try testArgs(@Vector(3, i33), @Vector(3, i161), .{ -1 << 160, -1, 0 }); | ||
| 4897 | try testArgs(@Vector(3, i63), @Vector(3, i161), .{ -1 << 160, -1, 0 }); | ||
| 4898 | try testArgs(@Vector(3, i64), @Vector(3, i161), .{ -1 << 160, -1, 0 }); | ||
| 4899 | try testArgs(@Vector(3, i65), @Vector(3, i161), .{ -1 << 160, -1, 0 }); | ||
| 4900 | try testArgs(@Vector(3, i127), @Vector(3, i161), .{ -1 << 160, -1, 0 }); | ||
| 4901 | try testArgs(@Vector(3, i128), @Vector(3, i161), .{ -1 << 160, -1, 0 }); | ||
| 4902 | try testArgs(@Vector(3, i129), @Vector(3, i161), .{ -1 << 160, -1, 0 }); | ||
| 4903 | try testArgs(@Vector(3, i255), @Vector(3, i161), .{ -1 << 160, -1, 0 }); | ||
| 4904 | try testArgs(@Vector(3, i256), @Vector(3, i161), .{ -1 << 160, -1, 0 }); | ||
| 4905 | try testArgs(@Vector(3, i257), @Vector(3, i161), .{ -1 << 160, -1, 0 }); | ||
| 4906 | try testArgs(@Vector(3, i511), @Vector(3, i161), .{ -1 << 160, -1, 0 }); | ||
| 4907 | try testArgs(@Vector(3, i512), @Vector(3, i161), .{ -1 << 160, -1, 0 }); | ||
| 4908 | try testArgs(@Vector(3, i513), @Vector(3, i161), .{ -1 << 160, -1, 0 }); | ||
| 4909 | try testArgs(@Vector(3, i1023), @Vector(3, i161), .{ -1 << 160, -1, 0 }); | ||
| 4910 | try testArgs(@Vector(3, i1024), @Vector(3, i161), .{ -1 << 160, -1, 0 }); | ||
| 4911 | try testArgs(@Vector(3, i1025), @Vector(3, i161), .{ -1 << 160, -1, 0 }); | ||
| 4912 | try testArgs(@Vector(3, u7), @Vector(3, u161), .{ 0, 1, 1 << 160 }); | ||
| 4913 | try testArgs(@Vector(3, u8), @Vector(3, u161), .{ 0, 1, 1 << 160 }); | ||
| 4914 | try testArgs(@Vector(3, u9), @Vector(3, u161), .{ 0, 1, 1 << 160 }); | ||
| 4915 | try testArgs(@Vector(3, u15), @Vector(3, u161), .{ 0, 1, 1 << 160 }); | ||
| 4916 | try testArgs(@Vector(3, u16), @Vector(3, u161), .{ 0, 1, 1 << 160 }); | ||
| 4917 | try testArgs(@Vector(3, u17), @Vector(3, u161), .{ 0, 1, 1 << 160 }); | ||
| 4918 | try testArgs(@Vector(3, u31), @Vector(3, u161), .{ 0, 1, 1 << 160 }); | ||
| 4919 | try testArgs(@Vector(3, u32), @Vector(3, u161), .{ 0, 1, 1 << 160 }); | ||
| 4920 | try testArgs(@Vector(3, u33), @Vector(3, u161), .{ 0, 1, 1 << 160 }); | ||
| 4921 | try testArgs(@Vector(3, u63), @Vector(3, u161), .{ 0, 1, 1 << 160 }); | ||
| 4922 | try testArgs(@Vector(3, u64), @Vector(3, u161), .{ 0, 1, 1 << 160 }); | ||
| 4923 | try testArgs(@Vector(3, u65), @Vector(3, u161), .{ 0, 1, 1 << 160 }); | ||
| 4924 | try testArgs(@Vector(3, u127), @Vector(3, u161), .{ 0, 1, 1 << 160 }); | ||
| 4925 | try testArgs(@Vector(3, u128), @Vector(3, u161), .{ 0, 1, 1 << 160 }); | ||
| 4926 | try testArgs(@Vector(3, u129), @Vector(3, u161), .{ 0, 1, 1 << 160 }); | ||
| 4927 | try testArgs(@Vector(3, u255), @Vector(3, u161), .{ 0, 1, 1 << 160 }); | ||
| 4928 | try testArgs(@Vector(3, u256), @Vector(3, u161), .{ 0, 1, 1 << 160 }); | ||
| 4929 | try testArgs(@Vector(3, u257), @Vector(3, u161), .{ 0, 1, 1 << 160 }); | ||
| 4930 | try testArgs(@Vector(3, u511), @Vector(3, u161), .{ 0, 1, 1 << 160 }); | ||
| 4931 | try testArgs(@Vector(3, u512), @Vector(3, u161), .{ 0, 1, 1 << 160 }); | ||
| 4932 | try testArgs(@Vector(3, u513), @Vector(3, u161), .{ 0, 1, 1 << 160 }); | ||
| 4933 | try testArgs(@Vector(3, u1023), @Vector(3, u161), .{ 0, 1, 1 << 160 }); | ||
| 4934 | try testArgs(@Vector(3, u1024), @Vector(3, u161), .{ 0, 1, 1 << 160 }); | ||
| 4935 | try testArgs(@Vector(3, u1025), @Vector(3, u161), .{ 0, 1, 1 << 160 }); | ||
| 4936 | |||
| 4937 | try testArgs(@Vector(3, i7), @Vector(3, i191), .{ -1 << 190, -1, 0 }); | ||
| 4938 | try testArgs(@Vector(3, i8), @Vector(3, i191), .{ -1 << 190, -1, 0 }); | ||
| 4939 | try testArgs(@Vector(3, i9), @Vector(3, i191), .{ -1 << 190, -1, 0 }); | ||
| 4940 | try testArgs(@Vector(3, i15), @Vector(3, i191), .{ -1 << 190, -1, 0 }); | ||
| 4941 | try testArgs(@Vector(3, i16), @Vector(3, i191), .{ -1 << 190, -1, 0 }); | ||
| 4942 | try testArgs(@Vector(3, i17), @Vector(3, i191), .{ -1 << 190, -1, 0 }); | ||
| 4943 | try testArgs(@Vector(3, i31), @Vector(3, i191), .{ -1 << 190, -1, 0 }); | ||
| 4944 | try testArgs(@Vector(3, i32), @Vector(3, i191), .{ -1 << 190, -1, 0 }); | ||
| 4945 | try testArgs(@Vector(3, i33), @Vector(3, i191), .{ -1 << 190, -1, 0 }); | ||
| 4946 | try testArgs(@Vector(3, i63), @Vector(3, i191), .{ -1 << 190, -1, 0 }); | ||
| 4947 | try testArgs(@Vector(3, i64), @Vector(3, i191), .{ -1 << 190, -1, 0 }); | ||
| 4948 | try testArgs(@Vector(3, i65), @Vector(3, i191), .{ -1 << 190, -1, 0 }); | ||
| 4949 | try testArgs(@Vector(3, i127), @Vector(3, i191), .{ -1 << 190, -1, 0 }); | ||
| 4950 | try testArgs(@Vector(3, i128), @Vector(3, i191), .{ -1 << 190, -1, 0 }); | ||
| 4951 | try testArgs(@Vector(3, i129), @Vector(3, i191), .{ -1 << 190, -1, 0 }); | ||
| 4952 | try testArgs(@Vector(3, i255), @Vector(3, i191), .{ -1 << 190, -1, 0 }); | ||
| 4953 | try testArgs(@Vector(3, i256), @Vector(3, i191), .{ -1 << 190, -1, 0 }); | ||
| 4954 | try testArgs(@Vector(3, i257), @Vector(3, i191), .{ -1 << 190, -1, 0 }); | ||
| 4955 | try testArgs(@Vector(3, i511), @Vector(3, i191), .{ -1 << 190, -1, 0 }); | ||
| 4956 | try testArgs(@Vector(3, i512), @Vector(3, i191), .{ -1 << 190, -1, 0 }); | ||
| 4957 | try testArgs(@Vector(3, i513), @Vector(3, i191), .{ -1 << 190, -1, 0 }); | ||
| 4958 | try testArgs(@Vector(3, i1023), @Vector(3, i191), .{ -1 << 190, -1, 0 }); | ||
| 4959 | try testArgs(@Vector(3, i1024), @Vector(3, i191), .{ -1 << 190, -1, 0 }); | ||
| 4960 | try testArgs(@Vector(3, i1025), @Vector(3, i191), .{ -1 << 190, -1, 0 }); | ||
| 4961 | try testArgs(@Vector(3, u7), @Vector(3, u191), .{ 0, 1, 1 << 190 }); | ||
| 4962 | try testArgs(@Vector(3, u8), @Vector(3, u191), .{ 0, 1, 1 << 190 }); | ||
| 4963 | try testArgs(@Vector(3, u9), @Vector(3, u191), .{ 0, 1, 1 << 190 }); | ||
| 4964 | try testArgs(@Vector(3, u15), @Vector(3, u191), .{ 0, 1, 1 << 190 }); | ||
| 4965 | try testArgs(@Vector(3, u16), @Vector(3, u191), .{ 0, 1, 1 << 190 }); | ||
| 4966 | try testArgs(@Vector(3, u17), @Vector(3, u191), .{ 0, 1, 1 << 190 }); | ||
| 4967 | try testArgs(@Vector(3, u31), @Vector(3, u191), .{ 0, 1, 1 << 190 }); | ||
| 4968 | try testArgs(@Vector(3, u32), @Vector(3, u191), .{ 0, 1, 1 << 190 }); | ||
| 4969 | try testArgs(@Vector(3, u33), @Vector(3, u191), .{ 0, 1, 1 << 190 }); | ||
| 4970 | try testArgs(@Vector(3, u63), @Vector(3, u191), .{ 0, 1, 1 << 190 }); | ||
| 4971 | try testArgs(@Vector(3, u64), @Vector(3, u191), .{ 0, 1, 1 << 190 }); | ||
| 4972 | try testArgs(@Vector(3, u65), @Vector(3, u191), .{ 0, 1, 1 << 190 }); | ||
| 4973 | try testArgs(@Vector(3, u127), @Vector(3, u191), .{ 0, 1, 1 << 190 }); | ||
| 4974 | try testArgs(@Vector(3, u128), @Vector(3, u191), .{ 0, 1, 1 << 190 }); | ||
| 4975 | try testArgs(@Vector(3, u129), @Vector(3, u191), .{ 0, 1, 1 << 190 }); | ||
| 4976 | try testArgs(@Vector(3, u255), @Vector(3, u191), .{ 0, 1, 1 << 190 }); | ||
| 4977 | try testArgs(@Vector(3, u256), @Vector(3, u191), .{ 0, 1, 1 << 190 }); | ||
| 4978 | try testArgs(@Vector(3, u257), @Vector(3, u191), .{ 0, 1, 1 << 190 }); | ||
| 4979 | try testArgs(@Vector(3, u511), @Vector(3, u191), .{ 0, 1, 1 << 190 }); | ||
| 4980 | try testArgs(@Vector(3, u512), @Vector(3, u191), .{ 0, 1, 1 << 190 }); | ||
| 4981 | try testArgs(@Vector(3, u513), @Vector(3, u191), .{ 0, 1, 1 << 190 }); | ||
| 4982 | try testArgs(@Vector(3, u1023), @Vector(3, u191), .{ 0, 1, 1 << 190 }); | ||
| 4983 | try testArgs(@Vector(3, u1024), @Vector(3, u191), .{ 0, 1, 1 << 190 }); | ||
| 4984 | try testArgs(@Vector(3, u1025), @Vector(3, u191), .{ 0, 1, 1 << 190 }); | ||
| 4985 | |||
| 4986 | try testArgs(@Vector(3, i7), @Vector(3, i192), .{ -1 << 191, -1, 0 }); | ||
| 4987 | try testArgs(@Vector(3, i8), @Vector(3, i192), .{ -1 << 191, -1, 0 }); | ||
| 4988 | try testArgs(@Vector(3, i9), @Vector(3, i192), .{ -1 << 191, -1, 0 }); | ||
| 4989 | try testArgs(@Vector(3, i15), @Vector(3, i192), .{ -1 << 191, -1, 0 }); | ||
| 4990 | try testArgs(@Vector(3, i16), @Vector(3, i192), .{ -1 << 191, -1, 0 }); | ||
| 4991 | try testArgs(@Vector(3, i17), @Vector(3, i192), .{ -1 << 191, -1, 0 }); | ||
| 4992 | try testArgs(@Vector(3, i31), @Vector(3, i192), .{ -1 << 191, -1, 0 }); | ||
| 4993 | try testArgs(@Vector(3, i32), @Vector(3, i192), .{ -1 << 191, -1, 0 }); | ||
| 4994 | try testArgs(@Vector(3, i33), @Vector(3, i192), .{ -1 << 191, -1, 0 }); | ||
| 4995 | try testArgs(@Vector(3, i63), @Vector(3, i192), .{ -1 << 191, -1, 0 }); | ||
| 4996 | try testArgs(@Vector(3, i64), @Vector(3, i192), .{ -1 << 191, -1, 0 }); | ||
| 4997 | try testArgs(@Vector(3, i65), @Vector(3, i192), .{ -1 << 191, -1, 0 }); | ||
| 4998 | try testArgs(@Vector(3, i127), @Vector(3, i192), .{ -1 << 191, -1, 0 }); | ||
| 4999 | try testArgs(@Vector(3, i128), @Vector(3, i192), .{ -1 << 191, -1, 0 }); | ||
| 5000 | try testArgs(@Vector(3, i129), @Vector(3, i192), .{ -1 << 191, -1, 0 }); | ||
| 5001 | try testArgs(@Vector(3, i255), @Vector(3, i192), .{ -1 << 191, -1, 0 }); | ||
| 5002 | try testArgs(@Vector(3, i256), @Vector(3, i192), .{ -1 << 191, -1, 0 }); | ||
| 5003 | try testArgs(@Vector(3, i257), @Vector(3, i192), .{ -1 << 191, -1, 0 }); | ||
| 5004 | try testArgs(@Vector(3, i511), @Vector(3, i192), .{ -1 << 191, -1, 0 }); | ||
| 5005 | try testArgs(@Vector(3, i512), @Vector(3, i192), .{ -1 << 191, -1, 0 }); | ||
| 5006 | try testArgs(@Vector(3, i513), @Vector(3, i192), .{ -1 << 191, -1, 0 }); | ||
| 5007 | try testArgs(@Vector(3, i1023), @Vector(3, i192), .{ -1 << 191, -1, 0 }); | ||
| 5008 | try testArgs(@Vector(3, i1024), @Vector(3, i192), .{ -1 << 191, -1, 0 }); | ||
| 5009 | try testArgs(@Vector(3, i1025), @Vector(3, i192), .{ -1 << 191, -1, 0 }); | ||
| 5010 | try testArgs(@Vector(3, u7), @Vector(3, u192), .{ 0, 1, 1 << 191 }); | ||
| 5011 | try testArgs(@Vector(3, u8), @Vector(3, u192), .{ 0, 1, 1 << 191 }); | ||
| 5012 | try testArgs(@Vector(3, u9), @Vector(3, u192), .{ 0, 1, 1 << 191 }); | ||
| 5013 | try testArgs(@Vector(3, u15), @Vector(3, u192), .{ 0, 1, 1 << 191 }); | ||
| 5014 | try testArgs(@Vector(3, u16), @Vector(3, u192), .{ 0, 1, 1 << 191 }); | ||
| 5015 | try testArgs(@Vector(3, u17), @Vector(3, u192), .{ 0, 1, 1 << 191 }); | ||
| 5016 | try testArgs(@Vector(3, u31), @Vector(3, u192), .{ 0, 1, 1 << 191 }); | ||
| 5017 | try testArgs(@Vector(3, u32), @Vector(3, u192), .{ 0, 1, 1 << 191 }); | ||
| 5018 | try testArgs(@Vector(3, u33), @Vector(3, u192), .{ 0, 1, 1 << 191 }); | ||
| 5019 | try testArgs(@Vector(3, u63), @Vector(3, u192), .{ 0, 1, 1 << 191 }); | ||
| 5020 | try testArgs(@Vector(3, u64), @Vector(3, u192), .{ 0, 1, 1 << 191 }); | ||
| 5021 | try testArgs(@Vector(3, u65), @Vector(3, u192), .{ 0, 1, 1 << 191 }); | ||
| 5022 | try testArgs(@Vector(3, u127), @Vector(3, u192), .{ 0, 1, 1 << 191 }); | ||
| 5023 | try testArgs(@Vector(3, u128), @Vector(3, u192), .{ 0, 1, 1 << 191 }); | ||
| 5024 | try testArgs(@Vector(3, u129), @Vector(3, u192), .{ 0, 1, 1 << 191 }); | ||
| 5025 | try testArgs(@Vector(3, u255), @Vector(3, u192), .{ 0, 1, 1 << 191 }); | ||
| 5026 | try testArgs(@Vector(3, u256), @Vector(3, u192), .{ 0, 1, 1 << 191 }); | ||
| 5027 | try testArgs(@Vector(3, u257), @Vector(3, u192), .{ 0, 1, 1 << 191 }); | ||
| 5028 | try testArgs(@Vector(3, u511), @Vector(3, u192), .{ 0, 1, 1 << 191 }); | ||
| 5029 | try testArgs(@Vector(3, u512), @Vector(3, u192), .{ 0, 1, 1 << 191 }); | ||
| 5030 | try testArgs(@Vector(3, u513), @Vector(3, u192), .{ 0, 1, 1 << 191 }); | ||
| 5031 | try testArgs(@Vector(3, u1023), @Vector(3, u192), .{ 0, 1, 1 << 191 }); | ||
| 5032 | try testArgs(@Vector(3, u1024), @Vector(3, u192), .{ 0, 1, 1 << 191 }); | ||
| 5033 | try testArgs(@Vector(3, u1025), @Vector(3, u192), .{ 0, 1, 1 << 191 }); | ||
| 5034 | |||
| 5035 | try testArgs(@Vector(3, i7), @Vector(3, i193), .{ -1 << 192, -1, 0 }); | ||
| 5036 | try testArgs(@Vector(3, i8), @Vector(3, i193), .{ -1 << 192, -1, 0 }); | ||
| 5037 | try testArgs(@Vector(3, i9), @Vector(3, i193), .{ -1 << 192, -1, 0 }); | ||
| 5038 | try testArgs(@Vector(3, i15), @Vector(3, i193), .{ -1 << 192, -1, 0 }); | ||
| 5039 | try testArgs(@Vector(3, i16), @Vector(3, i193), .{ -1 << 192, -1, 0 }); | ||
| 5040 | try testArgs(@Vector(3, i17), @Vector(3, i193), .{ -1 << 192, -1, 0 }); | ||
| 5041 | try testArgs(@Vector(3, i31), @Vector(3, i193), .{ -1 << 192, -1, 0 }); | ||
| 5042 | try testArgs(@Vector(3, i32), @Vector(3, i193), .{ -1 << 192, -1, 0 }); | ||
| 5043 | try testArgs(@Vector(3, i33), @Vector(3, i193), .{ -1 << 192, -1, 0 }); | ||
| 5044 | try testArgs(@Vector(3, i63), @Vector(3, i193), .{ -1 << 192, -1, 0 }); | ||
| 5045 | try testArgs(@Vector(3, i64), @Vector(3, i193), .{ -1 << 192, -1, 0 }); | ||
| 5046 | try testArgs(@Vector(3, i65), @Vector(3, i193), .{ -1 << 192, -1, 0 }); | ||
| 5047 | try testArgs(@Vector(3, i127), @Vector(3, i193), .{ -1 << 192, -1, 0 }); | ||
| 5048 | try testArgs(@Vector(3, i128), @Vector(3, i193), .{ -1 << 192, -1, 0 }); | ||
| 5049 | try testArgs(@Vector(3, i129), @Vector(3, i193), .{ -1 << 192, -1, 0 }); | ||
| 5050 | try testArgs(@Vector(3, i255), @Vector(3, i193), .{ -1 << 192, -1, 0 }); | ||
| 5051 | try testArgs(@Vector(3, i256), @Vector(3, i193), .{ -1 << 192, -1, 0 }); | ||
| 5052 | try testArgs(@Vector(3, i257), @Vector(3, i193), .{ -1 << 192, -1, 0 }); | ||
| 5053 | try testArgs(@Vector(3, i511), @Vector(3, i193), .{ -1 << 192, -1, 0 }); | ||
| 5054 | try testArgs(@Vector(3, i512), @Vector(3, i193), .{ -1 << 192, -1, 0 }); | ||
| 5055 | try testArgs(@Vector(3, i513), @Vector(3, i193), .{ -1 << 192, -1, 0 }); | ||
| 5056 | try testArgs(@Vector(3, i1023), @Vector(3, i193), .{ -1 << 192, -1, 0 }); | ||
| 5057 | try testArgs(@Vector(3, i1024), @Vector(3, i193), .{ -1 << 192, -1, 0 }); | ||
| 5058 | try testArgs(@Vector(3, i1025), @Vector(3, i193), .{ -1 << 192, -1, 0 }); | ||
| 5059 | try testArgs(@Vector(3, u7), @Vector(3, u193), .{ 0, 1, 1 << 192 }); | ||
| 5060 | try testArgs(@Vector(3, u8), @Vector(3, u193), .{ 0, 1, 1 << 192 }); | ||
| 5061 | try testArgs(@Vector(3, u9), @Vector(3, u193), .{ 0, 1, 1 << 192 }); | ||
| 5062 | try testArgs(@Vector(3, u15), @Vector(3, u193), .{ 0, 1, 1 << 192 }); | ||
| 5063 | try testArgs(@Vector(3, u16), @Vector(3, u193), .{ 0, 1, 1 << 192 }); | ||
| 5064 | try testArgs(@Vector(3, u17), @Vector(3, u193), .{ 0, 1, 1 << 192 }); | ||
| 5065 | try testArgs(@Vector(3, u31), @Vector(3, u193), .{ 0, 1, 1 << 192 }); | ||
| 5066 | try testArgs(@Vector(3, u32), @Vector(3, u193), .{ 0, 1, 1 << 192 }); | ||
| 5067 | try testArgs(@Vector(3, u33), @Vector(3, u193), .{ 0, 1, 1 << 192 }); | ||
| 5068 | try testArgs(@Vector(3, u63), @Vector(3, u193), .{ 0, 1, 1 << 192 }); | ||
| 5069 | try testArgs(@Vector(3, u64), @Vector(3, u193), .{ 0, 1, 1 << 192 }); | ||
| 5070 | try testArgs(@Vector(3, u65), @Vector(3, u193), .{ 0, 1, 1 << 192 }); | ||
| 5071 | try testArgs(@Vector(3, u127), @Vector(3, u193), .{ 0, 1, 1 << 192 }); | ||
| 5072 | try testArgs(@Vector(3, u128), @Vector(3, u193), .{ 0, 1, 1 << 192 }); | ||
| 5073 | try testArgs(@Vector(3, u129), @Vector(3, u193), .{ 0, 1, 1 << 192 }); | ||
| 5074 | try testArgs(@Vector(3, u255), @Vector(3, u193), .{ 0, 1, 1 << 192 }); | ||
| 5075 | try testArgs(@Vector(3, u256), @Vector(3, u193), .{ 0, 1, 1 << 192 }); | ||
| 5076 | try testArgs(@Vector(3, u257), @Vector(3, u193), .{ 0, 1, 1 << 192 }); | ||
| 5077 | try testArgs(@Vector(3, u511), @Vector(3, u193), .{ 0, 1, 1 << 192 }); | ||
| 5078 | try testArgs(@Vector(3, u512), @Vector(3, u193), .{ 0, 1, 1 << 192 }); | ||
| 5079 | try testArgs(@Vector(3, u513), @Vector(3, u193), .{ 0, 1, 1 << 192 }); | ||
| 5080 | try testArgs(@Vector(3, u1023), @Vector(3, u193), .{ 0, 1, 1 << 192 }); | ||
| 5081 | try testArgs(@Vector(3, u1024), @Vector(3, u193), .{ 0, 1, 1 << 192 }); | ||
| 5082 | try testArgs(@Vector(3, u1025), @Vector(3, u193), .{ 0, 1, 1 << 192 }); | ||
| 5083 | |||
| 5084 | try testArgs(@Vector(3, i7), @Vector(3, i223), .{ -1 << 222, -1, 0 }); | ||
| 5085 | try testArgs(@Vector(3, i8), @Vector(3, i223), .{ -1 << 222, -1, 0 }); | ||
| 5086 | try testArgs(@Vector(3, i9), @Vector(3, i223), .{ -1 << 222, -1, 0 }); | ||
| 5087 | try testArgs(@Vector(3, i15), @Vector(3, i223), .{ -1 << 222, -1, 0 }); | ||
| 5088 | try testArgs(@Vector(3, i16), @Vector(3, i223), .{ -1 << 222, -1, 0 }); | ||
| 5089 | try testArgs(@Vector(3, i17), @Vector(3, i223), .{ -1 << 222, -1, 0 }); | ||
| 5090 | try testArgs(@Vector(3, i31), @Vector(3, i223), .{ -1 << 222, -1, 0 }); | ||
| 5091 | try testArgs(@Vector(3, i32), @Vector(3, i223), .{ -1 << 222, -1, 0 }); | ||
| 5092 | try testArgs(@Vector(3, i33), @Vector(3, i223), .{ -1 << 222, -1, 0 }); | ||
| 5093 | try testArgs(@Vector(3, i63), @Vector(3, i223), .{ -1 << 222, -1, 0 }); | ||
| 5094 | try testArgs(@Vector(3, i64), @Vector(3, i223), .{ -1 << 222, -1, 0 }); | ||
| 5095 | try testArgs(@Vector(3, i65), @Vector(3, i223), .{ -1 << 222, -1, 0 }); | ||
| 5096 | try testArgs(@Vector(3, i127), @Vector(3, i223), .{ -1 << 222, -1, 0 }); | ||
| 5097 | try testArgs(@Vector(3, i128), @Vector(3, i223), .{ -1 << 222, -1, 0 }); | ||
| 5098 | try testArgs(@Vector(3, i129), @Vector(3, i223), .{ -1 << 222, -1, 0 }); | ||
| 5099 | try testArgs(@Vector(3, i255), @Vector(3, i223), .{ -1 << 222, -1, 0 }); | ||
| 5100 | try testArgs(@Vector(3, i256), @Vector(3, i223), .{ -1 << 222, -1, 0 }); | ||
| 5101 | try testArgs(@Vector(3, i257), @Vector(3, i223), .{ -1 << 222, -1, 0 }); | ||
| 5102 | try testArgs(@Vector(3, i511), @Vector(3, i223), .{ -1 << 222, -1, 0 }); | ||
| 5103 | try testArgs(@Vector(3, i512), @Vector(3, i223), .{ -1 << 222, -1, 0 }); | ||
| 5104 | try testArgs(@Vector(3, i513), @Vector(3, i223), .{ -1 << 222, -1, 0 }); | ||
| 5105 | try testArgs(@Vector(3, i1023), @Vector(3, i223), .{ -1 << 222, -1, 0 }); | ||
| 5106 | try testArgs(@Vector(3, i1024), @Vector(3, i223), .{ -1 << 222, -1, 0 }); | ||
| 5107 | try testArgs(@Vector(3, i1025), @Vector(3, i223), .{ -1 << 222, -1, 0 }); | ||
| 5108 | try testArgs(@Vector(3, u7), @Vector(3, u223), .{ 0, 1, 1 << 222 }); | ||
| 5109 | try testArgs(@Vector(3, u8), @Vector(3, u223), .{ 0, 1, 1 << 222 }); | ||
| 5110 | try testArgs(@Vector(3, u9), @Vector(3, u223), .{ 0, 1, 1 << 222 }); | ||
| 5111 | try testArgs(@Vector(3, u15), @Vector(3, u223), .{ 0, 1, 1 << 222 }); | ||
| 5112 | try testArgs(@Vector(3, u16), @Vector(3, u223), .{ 0, 1, 1 << 222 }); | ||
| 5113 | try testArgs(@Vector(3, u17), @Vector(3, u223), .{ 0, 1, 1 << 222 }); | ||
| 5114 | try testArgs(@Vector(3, u31), @Vector(3, u223), .{ 0, 1, 1 << 222 }); | ||
| 5115 | try testArgs(@Vector(3, u32), @Vector(3, u223), .{ 0, 1, 1 << 222 }); | ||
| 5116 | try testArgs(@Vector(3, u33), @Vector(3, u223), .{ 0, 1, 1 << 222 }); | ||
| 5117 | try testArgs(@Vector(3, u63), @Vector(3, u223), .{ 0, 1, 1 << 222 }); | ||
| 5118 | try testArgs(@Vector(3, u64), @Vector(3, u223), .{ 0, 1, 1 << 222 }); | ||
| 5119 | try testArgs(@Vector(3, u65), @Vector(3, u223), .{ 0, 1, 1 << 222 }); | ||
| 5120 | try testArgs(@Vector(3, u127), @Vector(3, u223), .{ 0, 1, 1 << 222 }); | ||
| 5121 | try testArgs(@Vector(3, u128), @Vector(3, u223), .{ 0, 1, 1 << 222 }); | ||
| 5122 | try testArgs(@Vector(3, u129), @Vector(3, u223), .{ 0, 1, 1 << 222 }); | ||
| 5123 | try testArgs(@Vector(3, u255), @Vector(3, u223), .{ 0, 1, 1 << 222 }); | ||
| 5124 | try testArgs(@Vector(3, u256), @Vector(3, u223), .{ 0, 1, 1 << 222 }); | ||
| 5125 | try testArgs(@Vector(3, u257), @Vector(3, u223), .{ 0, 1, 1 << 222 }); | ||
| 5126 | try testArgs(@Vector(3, u511), @Vector(3, u223), .{ 0, 1, 1 << 222 }); | ||
| 5127 | try testArgs(@Vector(3, u512), @Vector(3, u223), .{ 0, 1, 1 << 222 }); | ||
| 5128 | try testArgs(@Vector(3, u513), @Vector(3, u223), .{ 0, 1, 1 << 222 }); | ||
| 5129 | try testArgs(@Vector(3, u1023), @Vector(3, u223), .{ 0, 1, 1 << 222 }); | ||
| 5130 | try testArgs(@Vector(3, u1024), @Vector(3, u223), .{ 0, 1, 1 << 222 }); | ||
| 5131 | try testArgs(@Vector(3, u1025), @Vector(3, u223), .{ 0, 1, 1 << 222 }); | ||
| 5132 | |||
| 5133 | try testArgs(@Vector(3, i7), @Vector(3, i224), .{ -1 << 223, -1, 0 }); | ||
| 5134 | try testArgs(@Vector(3, i8), @Vector(3, i224), .{ -1 << 223, -1, 0 }); | ||
| 5135 | try testArgs(@Vector(3, i9), @Vector(3, i224), .{ -1 << 223, -1, 0 }); | ||
| 5136 | try testArgs(@Vector(3, i15), @Vector(3, i224), .{ -1 << 223, -1, 0 }); | ||
| 5137 | try testArgs(@Vector(3, i16), @Vector(3, i224), .{ -1 << 223, -1, 0 }); | ||
| 5138 | try testArgs(@Vector(3, i17), @Vector(3, i224), .{ -1 << 223, -1, 0 }); | ||
| 5139 | try testArgs(@Vector(3, i31), @Vector(3, i224), .{ -1 << 223, -1, 0 }); | ||
| 5140 | try testArgs(@Vector(3, i32), @Vector(3, i224), .{ -1 << 223, -1, 0 }); | ||
| 5141 | try testArgs(@Vector(3, i33), @Vector(3, i224), .{ -1 << 223, -1, 0 }); | ||
| 5142 | try testArgs(@Vector(3, i63), @Vector(3, i224), .{ -1 << 223, -1, 0 }); | ||
| 5143 | try testArgs(@Vector(3, i64), @Vector(3, i224), .{ -1 << 223, -1, 0 }); | ||
| 5144 | try testArgs(@Vector(3, i65), @Vector(3, i224), .{ -1 << 223, -1, 0 }); | ||
| 5145 | try testArgs(@Vector(3, i127), @Vector(3, i224), .{ -1 << 223, -1, 0 }); | ||
| 5146 | try testArgs(@Vector(3, i128), @Vector(3, i224), .{ -1 << 223, -1, 0 }); | ||
| 5147 | try testArgs(@Vector(3, i129), @Vector(3, i224), .{ -1 << 223, -1, 0 }); | ||
| 5148 | try testArgs(@Vector(3, i255), @Vector(3, i224), .{ -1 << 223, -1, 0 }); | ||
| 5149 | try testArgs(@Vector(3, i256), @Vector(3, i224), .{ -1 << 223, -1, 0 }); | ||
| 5150 | try testArgs(@Vector(3, i257), @Vector(3, i224), .{ -1 << 223, -1, 0 }); | ||
| 5151 | try testArgs(@Vector(3, i511), @Vector(3, i224), .{ -1 << 223, -1, 0 }); | ||
| 5152 | try testArgs(@Vector(3, i512), @Vector(3, i224), .{ -1 << 223, -1, 0 }); | ||
| 5153 | try testArgs(@Vector(3, i513), @Vector(3, i224), .{ -1 << 223, -1, 0 }); | ||
| 5154 | try testArgs(@Vector(3, i1023), @Vector(3, i224), .{ -1 << 223, -1, 0 }); | ||
| 5155 | try testArgs(@Vector(3, i1024), @Vector(3, i224), .{ -1 << 223, -1, 0 }); | ||
| 5156 | try testArgs(@Vector(3, i1025), @Vector(3, i224), .{ -1 << 223, -1, 0 }); | ||
| 5157 | try testArgs(@Vector(3, u7), @Vector(3, u224), .{ 0, 1, 1 << 223 }); | ||
| 5158 | try testArgs(@Vector(3, u8), @Vector(3, u224), .{ 0, 1, 1 << 223 }); | ||
| 5159 | try testArgs(@Vector(3, u9), @Vector(3, u224), .{ 0, 1, 1 << 223 }); | ||
| 5160 | try testArgs(@Vector(3, u15), @Vector(3, u224), .{ 0, 1, 1 << 223 }); | ||
| 5161 | try testArgs(@Vector(3, u16), @Vector(3, u224), .{ 0, 1, 1 << 223 }); | ||
| 5162 | try testArgs(@Vector(3, u17), @Vector(3, u224), .{ 0, 1, 1 << 223 }); | ||
| 5163 | try testArgs(@Vector(3, u31), @Vector(3, u224), .{ 0, 1, 1 << 223 }); | ||
| 5164 | try testArgs(@Vector(3, u32), @Vector(3, u224), .{ 0, 1, 1 << 223 }); | ||
| 5165 | try testArgs(@Vector(3, u33), @Vector(3, u224), .{ 0, 1, 1 << 223 }); | ||
| 5166 | try testArgs(@Vector(3, u63), @Vector(3, u224), .{ 0, 1, 1 << 223 }); | ||
| 5167 | try testArgs(@Vector(3, u64), @Vector(3, u224), .{ 0, 1, 1 << 223 }); | ||
| 5168 | try testArgs(@Vector(3, u65), @Vector(3, u224), .{ 0, 1, 1 << 223 }); | ||
| 5169 | try testArgs(@Vector(3, u127), @Vector(3, u224), .{ 0, 1, 1 << 223 }); | ||
| 5170 | try testArgs(@Vector(3, u128), @Vector(3, u224), .{ 0, 1, 1 << 223 }); | ||
| 5171 | try testArgs(@Vector(3, u129), @Vector(3, u224), .{ 0, 1, 1 << 223 }); | ||
| 5172 | try testArgs(@Vector(3, u255), @Vector(3, u224), .{ 0, 1, 1 << 223 }); | ||
| 5173 | try testArgs(@Vector(3, u256), @Vector(3, u224), .{ 0, 1, 1 << 223 }); | ||
| 5174 | try testArgs(@Vector(3, u257), @Vector(3, u224), .{ 0, 1, 1 << 223 }); | ||
| 5175 | try testArgs(@Vector(3, u511), @Vector(3, u224), .{ 0, 1, 1 << 223 }); | ||
| 5176 | try testArgs(@Vector(3, u512), @Vector(3, u224), .{ 0, 1, 1 << 223 }); | ||
| 5177 | try testArgs(@Vector(3, u513), @Vector(3, u224), .{ 0, 1, 1 << 223 }); | ||
| 5178 | try testArgs(@Vector(3, u1023), @Vector(3, u224), .{ 0, 1, 1 << 223 }); | ||
| 5179 | try testArgs(@Vector(3, u1024), @Vector(3, u224), .{ 0, 1, 1 << 223 }); | ||
| 5180 | try testArgs(@Vector(3, u1025), @Vector(3, u224), .{ 0, 1, 1 << 223 }); | ||
| 5181 | |||
| 5182 | try testArgs(@Vector(3, i7), @Vector(3, i225), .{ -1 << 224, -1, 0 }); | ||
| 5183 | try testArgs(@Vector(3, i8), @Vector(3, i225), .{ -1 << 224, -1, 0 }); | ||
| 5184 | try testArgs(@Vector(3, i9), @Vector(3, i225), .{ -1 << 224, -1, 0 }); | ||
| 5185 | try testArgs(@Vector(3, i15), @Vector(3, i225), .{ -1 << 224, -1, 0 }); | ||
| 5186 | try testArgs(@Vector(3, i16), @Vector(3, i225), .{ -1 << 224, -1, 0 }); | ||
| 5187 | try testArgs(@Vector(3, i17), @Vector(3, i225), .{ -1 << 224, -1, 0 }); | ||
| 5188 | try testArgs(@Vector(3, i31), @Vector(3, i225), .{ -1 << 224, -1, 0 }); | ||
| 5189 | try testArgs(@Vector(3, i32), @Vector(3, i225), .{ -1 << 224, -1, 0 }); | ||
| 5190 | try testArgs(@Vector(3, i33), @Vector(3, i225), .{ -1 << 224, -1, 0 }); | ||
| 5191 | try testArgs(@Vector(3, i63), @Vector(3, i225), .{ -1 << 224, -1, 0 }); | ||
| 5192 | try testArgs(@Vector(3, i64), @Vector(3, i225), .{ -1 << 224, -1, 0 }); | ||
| 5193 | try testArgs(@Vector(3, i65), @Vector(3, i225), .{ -1 << 224, -1, 0 }); | ||
| 5194 | try testArgs(@Vector(3, i127), @Vector(3, i225), .{ -1 << 224, -1, 0 }); | ||
| 5195 | try testArgs(@Vector(3, i128), @Vector(3, i225), .{ -1 << 224, -1, 0 }); | ||
| 5196 | try testArgs(@Vector(3, i129), @Vector(3, i225), .{ -1 << 224, -1, 0 }); | ||
| 5197 | try testArgs(@Vector(3, i255), @Vector(3, i225), .{ -1 << 224, -1, 0 }); | ||
| 5198 | try testArgs(@Vector(3, i256), @Vector(3, i225), .{ -1 << 224, -1, 0 }); | ||
| 5199 | try testArgs(@Vector(3, i257), @Vector(3, i225), .{ -1 << 224, -1, 0 }); | ||
| 5200 | try testArgs(@Vector(3, i511), @Vector(3, i225), .{ -1 << 224, -1, 0 }); | ||
| 5201 | try testArgs(@Vector(3, i512), @Vector(3, i225), .{ -1 << 224, -1, 0 }); | ||
| 5202 | try testArgs(@Vector(3, i513), @Vector(3, i225), .{ -1 << 224, -1, 0 }); | ||
| 5203 | try testArgs(@Vector(3, i1023), @Vector(3, i225), .{ -1 << 224, -1, 0 }); | ||
| 5204 | try testArgs(@Vector(3, i1024), @Vector(3, i225), .{ -1 << 224, -1, 0 }); | ||
| 5205 | try testArgs(@Vector(3, i1025), @Vector(3, i225), .{ -1 << 224, -1, 0 }); | ||
| 5206 | try testArgs(@Vector(3, u7), @Vector(3, u225), .{ 0, 1, 1 << 224 }); | ||
| 5207 | try testArgs(@Vector(3, u8), @Vector(3, u225), .{ 0, 1, 1 << 224 }); | ||
| 5208 | try testArgs(@Vector(3, u9), @Vector(3, u225), .{ 0, 1, 1 << 224 }); | ||
| 5209 | try testArgs(@Vector(3, u15), @Vector(3, u225), .{ 0, 1, 1 << 224 }); | ||
| 5210 | try testArgs(@Vector(3, u16), @Vector(3, u225), .{ 0, 1, 1 << 224 }); | ||
| 5211 | try testArgs(@Vector(3, u17), @Vector(3, u225), .{ 0, 1, 1 << 224 }); | ||
| 5212 | try testArgs(@Vector(3, u31), @Vector(3, u225), .{ 0, 1, 1 << 224 }); | ||
| 5213 | try testArgs(@Vector(3, u32), @Vector(3, u225), .{ 0, 1, 1 << 224 }); | ||
| 5214 | try testArgs(@Vector(3, u33), @Vector(3, u225), .{ 0, 1, 1 << 224 }); | ||
| 5215 | try testArgs(@Vector(3, u63), @Vector(3, u225), .{ 0, 1, 1 << 224 }); | ||
| 5216 | try testArgs(@Vector(3, u64), @Vector(3, u225), .{ 0, 1, 1 << 224 }); | ||
| 5217 | try testArgs(@Vector(3, u65), @Vector(3, u225), .{ 0, 1, 1 << 224 }); | ||
| 5218 | try testArgs(@Vector(3, u127), @Vector(3, u225), .{ 0, 1, 1 << 224 }); | ||
| 5219 | try testArgs(@Vector(3, u128), @Vector(3, u225), .{ 0, 1, 1 << 224 }); | ||
| 5220 | try testArgs(@Vector(3, u129), @Vector(3, u225), .{ 0, 1, 1 << 224 }); | ||
| 5221 | try testArgs(@Vector(3, u255), @Vector(3, u225), .{ 0, 1, 1 << 224 }); | ||
| 5222 | try testArgs(@Vector(3, u256), @Vector(3, u225), .{ 0, 1, 1 << 224 }); | ||
| 5223 | try testArgs(@Vector(3, u257), @Vector(3, u225), .{ 0, 1, 1 << 224 }); | ||
| 5224 | try testArgs(@Vector(3, u511), @Vector(3, u225), .{ 0, 1, 1 << 224 }); | ||
| 5225 | try testArgs(@Vector(3, u512), @Vector(3, u225), .{ 0, 1, 1 << 224 }); | ||
| 5226 | try testArgs(@Vector(3, u513), @Vector(3, u225), .{ 0, 1, 1 << 224 }); | ||
| 5227 | try testArgs(@Vector(3, u1023), @Vector(3, u225), .{ 0, 1, 1 << 224 }); | ||
| 5228 | try testArgs(@Vector(3, u1024), @Vector(3, u225), .{ 0, 1, 1 << 224 }); | ||
| 5229 | try testArgs(@Vector(3, u1025), @Vector(3, u225), .{ 0, 1, 1 << 224 }); | ||
| 5230 | |||
| 5231 | try testArgs(@Vector(3, i7), @Vector(3, i255), .{ -1 << 254, -1, 0 }); | ||
| 5232 | try testArgs(@Vector(3, i8), @Vector(3, i255), .{ -1 << 254, -1, 0 }); | ||
| 5233 | try testArgs(@Vector(3, i9), @Vector(3, i255), .{ -1 << 254, -1, 0 }); | ||
| 5234 | try testArgs(@Vector(3, i15), @Vector(3, i255), .{ -1 << 254, -1, 0 }); | ||
| 5235 | try testArgs(@Vector(3, i16), @Vector(3, i255), .{ -1 << 254, -1, 0 }); | ||
| 5236 | try testArgs(@Vector(3, i17), @Vector(3, i255), .{ -1 << 254, -1, 0 }); | ||
| 5237 | try testArgs(@Vector(3, i31), @Vector(3, i255), .{ -1 << 254, -1, 0 }); | ||
| 5238 | try testArgs(@Vector(3, i32), @Vector(3, i255), .{ -1 << 254, -1, 0 }); | ||
| 5239 | try testArgs(@Vector(3, i33), @Vector(3, i255), .{ -1 << 254, -1, 0 }); | ||
| 5240 | try testArgs(@Vector(3, i63), @Vector(3, i255), .{ -1 << 254, -1, 0 }); | ||
| 5241 | try testArgs(@Vector(3, i64), @Vector(3, i255), .{ -1 << 254, -1, 0 }); | ||
| 5242 | try testArgs(@Vector(3, i65), @Vector(3, i255), .{ -1 << 254, -1, 0 }); | ||
| 5243 | try testArgs(@Vector(3, i127), @Vector(3, i255), .{ -1 << 254, -1, 0 }); | ||
| 5244 | try testArgs(@Vector(3, i128), @Vector(3, i255), .{ -1 << 254, -1, 0 }); | ||
| 5245 | try testArgs(@Vector(3, i129), @Vector(3, i255), .{ -1 << 254, -1, 0 }); | ||
| 5246 | try testArgs(@Vector(3, i255), @Vector(3, i255), .{ -1 << 254, -1, 0 }); | ||
| 5247 | try testArgs(@Vector(3, i256), @Vector(3, i255), .{ -1 << 254, -1, 0 }); | ||
| 5248 | try testArgs(@Vector(3, i257), @Vector(3, i255), .{ -1 << 254, -1, 0 }); | ||
| 5249 | try testArgs(@Vector(3, i511), @Vector(3, i255), .{ -1 << 254, -1, 0 }); | ||
| 5250 | try testArgs(@Vector(3, i512), @Vector(3, i255), .{ -1 << 254, -1, 0 }); | ||
| 5251 | try testArgs(@Vector(3, i513), @Vector(3, i255), .{ -1 << 254, -1, 0 }); | ||
| 5252 | try testArgs(@Vector(3, i1023), @Vector(3, i255), .{ -1 << 254, -1, 0 }); | ||
| 5253 | try testArgs(@Vector(3, i1024), @Vector(3, i255), .{ -1 << 254, -1, 0 }); | ||
| 5254 | try testArgs(@Vector(3, i1025), @Vector(3, i255), .{ -1 << 254, -1, 0 }); | ||
| 5255 | try testArgs(@Vector(3, u7), @Vector(3, u255), .{ 0, 1, 1 << 254 }); | ||
| 5256 | try testArgs(@Vector(3, u8), @Vector(3, u255), .{ 0, 1, 1 << 254 }); | ||
| 5257 | try testArgs(@Vector(3, u9), @Vector(3, u255), .{ 0, 1, 1 << 254 }); | ||
| 5258 | try testArgs(@Vector(3, u15), @Vector(3, u255), .{ 0, 1, 1 << 254 }); | ||
| 5259 | try testArgs(@Vector(3, u16), @Vector(3, u255), .{ 0, 1, 1 << 254 }); | ||
| 5260 | try testArgs(@Vector(3, u17), @Vector(3, u255), .{ 0, 1, 1 << 254 }); | ||
| 5261 | try testArgs(@Vector(3, u31), @Vector(3, u255), .{ 0, 1, 1 << 254 }); | ||
| 5262 | try testArgs(@Vector(3, u32), @Vector(3, u255), .{ 0, 1, 1 << 254 }); | ||
| 5263 | try testArgs(@Vector(3, u33), @Vector(3, u255), .{ 0, 1, 1 << 254 }); | ||
| 5264 | try testArgs(@Vector(3, u63), @Vector(3, u255), .{ 0, 1, 1 << 254 }); | ||
| 5265 | try testArgs(@Vector(3, u64), @Vector(3, u255), .{ 0, 1, 1 << 254 }); | ||
| 5266 | try testArgs(@Vector(3, u65), @Vector(3, u255), .{ 0, 1, 1 << 254 }); | ||
| 5267 | try testArgs(@Vector(3, u127), @Vector(3, u255), .{ 0, 1, 1 << 254 }); | ||
| 5268 | try testArgs(@Vector(3, u128), @Vector(3, u255), .{ 0, 1, 1 << 254 }); | ||
| 5269 | try testArgs(@Vector(3, u129), @Vector(3, u255), .{ 0, 1, 1 << 254 }); | ||
| 5270 | try testArgs(@Vector(3, u255), @Vector(3, u255), .{ 0, 1, 1 << 254 }); | ||
| 5271 | try testArgs(@Vector(3, u256), @Vector(3, u255), .{ 0, 1, 1 << 254 }); | ||
| 5272 | try testArgs(@Vector(3, u257), @Vector(3, u255), .{ 0, 1, 1 << 254 }); | ||
| 5273 | try testArgs(@Vector(3, u511), @Vector(3, u255), .{ 0, 1, 1 << 254 }); | ||
| 5274 | try testArgs(@Vector(3, u512), @Vector(3, u255), .{ 0, 1, 1 << 254 }); | ||
| 5275 | try testArgs(@Vector(3, u513), @Vector(3, u255), .{ 0, 1, 1 << 254 }); | ||
| 5276 | try testArgs(@Vector(3, u1023), @Vector(3, u255), .{ 0, 1, 1 << 254 }); | ||
| 5277 | try testArgs(@Vector(3, u1024), @Vector(3, u255), .{ 0, 1, 1 << 254 }); | ||
| 5278 | try testArgs(@Vector(3, u1025), @Vector(3, u255), .{ 0, 1, 1 << 254 }); | ||
| 5279 | |||
| 5280 | try testArgs(@Vector(3, i7), @Vector(3, i256), .{ -1 << 255, -1, 0 }); | ||
| 5281 | try testArgs(@Vector(3, i8), @Vector(3, i256), .{ -1 << 255, -1, 0 }); | ||
| 5282 | try testArgs(@Vector(3, i9), @Vector(3, i256), .{ -1 << 255, -1, 0 }); | ||
| 5283 | try testArgs(@Vector(3, i15), @Vector(3, i256), .{ -1 << 255, -1, 0 }); | ||
| 5284 | try testArgs(@Vector(3, i16), @Vector(3, i256), .{ -1 << 255, -1, 0 }); | ||
| 5285 | try testArgs(@Vector(3, i17), @Vector(3, i256), .{ -1 << 255, -1, 0 }); | ||
| 5286 | try testArgs(@Vector(3, i31), @Vector(3, i256), .{ -1 << 255, -1, 0 }); | ||
| 5287 | try testArgs(@Vector(3, i32), @Vector(3, i256), .{ -1 << 255, -1, 0 }); | ||
| 5288 | try testArgs(@Vector(3, i33), @Vector(3, i256), .{ -1 << 255, -1, 0 }); | ||
| 5289 | try testArgs(@Vector(3, i63), @Vector(3, i256), .{ -1 << 255, -1, 0 }); | ||
| 5290 | try testArgs(@Vector(3, i64), @Vector(3, i256), .{ -1 << 255, -1, 0 }); | ||
| 5291 | try testArgs(@Vector(3, i65), @Vector(3, i256), .{ -1 << 255, -1, 0 }); | ||
| 5292 | try testArgs(@Vector(3, i127), @Vector(3, i256), .{ -1 << 255, -1, 0 }); | ||
| 5293 | try testArgs(@Vector(3, i128), @Vector(3, i256), .{ -1 << 255, -1, 0 }); | ||
| 5294 | try testArgs(@Vector(3, i129), @Vector(3, i256), .{ -1 << 255, -1, 0 }); | ||
| 5295 | try testArgs(@Vector(3, i255), @Vector(3, i256), .{ -1 << 255, -1, 0 }); | ||
| 5296 | try testArgs(@Vector(3, i256), @Vector(3, i256), .{ -1 << 255, -1, 0 }); | ||
| 5297 | try testArgs(@Vector(3, i257), @Vector(3, i256), .{ -1 << 255, -1, 0 }); | ||
| 5298 | try testArgs(@Vector(3, i511), @Vector(3, i256), .{ -1 << 255, -1, 0 }); | ||
| 5299 | try testArgs(@Vector(3, i512), @Vector(3, i256), .{ -1 << 255, -1, 0 }); | ||
| 5300 | try testArgs(@Vector(3, i513), @Vector(3, i256), .{ -1 << 255, -1, 0 }); | ||
| 5301 | try testArgs(@Vector(3, i1023), @Vector(3, i256), .{ -1 << 255, -1, 0 }); | ||
| 5302 | try testArgs(@Vector(3, i1024), @Vector(3, i256), .{ -1 << 255, -1, 0 }); | ||
| 5303 | try testArgs(@Vector(3, i1025), @Vector(3, i256), .{ -1 << 255, -1, 0 }); | ||
| 5304 | try testArgs(@Vector(3, u7), @Vector(3, u256), .{ 0, 1, 1 << 255 }); | ||
| 5305 | try testArgs(@Vector(3, u8), @Vector(3, u256), .{ 0, 1, 1 << 255 }); | ||
| 5306 | try testArgs(@Vector(3, u9), @Vector(3, u256), .{ 0, 1, 1 << 255 }); | ||
| 5307 | try testArgs(@Vector(3, u15), @Vector(3, u256), .{ 0, 1, 1 << 255 }); | ||
| 5308 | try testArgs(@Vector(3, u16), @Vector(3, u256), .{ 0, 1, 1 << 255 }); | ||
| 5309 | try testArgs(@Vector(3, u17), @Vector(3, u256), .{ 0, 1, 1 << 255 }); | ||
| 5310 | try testArgs(@Vector(3, u31), @Vector(3, u256), .{ 0, 1, 1 << 255 }); | ||
| 5311 | try testArgs(@Vector(3, u32), @Vector(3, u256), .{ 0, 1, 1 << 255 }); | ||
| 5312 | try testArgs(@Vector(3, u33), @Vector(3, u256), .{ 0, 1, 1 << 255 }); | ||
| 5313 | try testArgs(@Vector(3, u63), @Vector(3, u256), .{ 0, 1, 1 << 255 }); | ||
| 5314 | try testArgs(@Vector(3, u64), @Vector(3, u256), .{ 0, 1, 1 << 255 }); | ||
| 5315 | try testArgs(@Vector(3, u65), @Vector(3, u256), .{ 0, 1, 1 << 255 }); | ||
| 5316 | try testArgs(@Vector(3, u127), @Vector(3, u256), .{ 0, 1, 1 << 255 }); | ||
| 5317 | try testArgs(@Vector(3, u128), @Vector(3, u256), .{ 0, 1, 1 << 255 }); | ||
| 5318 | try testArgs(@Vector(3, u129), @Vector(3, u256), .{ 0, 1, 1 << 255 }); | ||
| 5319 | try testArgs(@Vector(3, u255), @Vector(3, u256), .{ 0, 1, 1 << 255 }); | ||
| 5320 | try testArgs(@Vector(3, u256), @Vector(3, u256), .{ 0, 1, 1 << 255 }); | ||
| 5321 | try testArgs(@Vector(3, u257), @Vector(3, u256), .{ 0, 1, 1 << 255 }); | ||
| 5322 | try testArgs(@Vector(3, u511), @Vector(3, u256), .{ 0, 1, 1 << 255 }); | ||
| 5323 | try testArgs(@Vector(3, u512), @Vector(3, u256), .{ 0, 1, 1 << 255 }); | ||
| 5324 | try testArgs(@Vector(3, u513), @Vector(3, u256), .{ 0, 1, 1 << 255 }); | ||
| 5325 | try testArgs(@Vector(3, u1023), @Vector(3, u256), .{ 0, 1, 1 << 255 }); | ||
| 5326 | try testArgs(@Vector(3, u1024), @Vector(3, u256), .{ 0, 1, 1 << 255 }); | ||
| 5327 | try testArgs(@Vector(3, u1025), @Vector(3, u256), .{ 0, 1, 1 << 255 }); | ||
| 5328 | |||
| 5329 | try testArgs(@Vector(3, i7), @Vector(3, i257), .{ -1 << 256, -1, 0 }); | ||
| 5330 | try testArgs(@Vector(3, i8), @Vector(3, i257), .{ -1 << 256, -1, 0 }); | ||
| 5331 | try testArgs(@Vector(3, i9), @Vector(3, i257), .{ -1 << 256, -1, 0 }); | ||
| 5332 | try testArgs(@Vector(3, i15), @Vector(3, i257), .{ -1 << 256, -1, 0 }); | ||
| 5333 | try testArgs(@Vector(3, i16), @Vector(3, i257), .{ -1 << 256, -1, 0 }); | ||
| 5334 | try testArgs(@Vector(3, i17), @Vector(3, i257), .{ -1 << 256, -1, 0 }); | ||
| 5335 | try testArgs(@Vector(3, i31), @Vector(3, i257), .{ -1 << 256, -1, 0 }); | ||
| 5336 | try testArgs(@Vector(3, i32), @Vector(3, i257), .{ -1 << 256, -1, 0 }); | ||
| 5337 | try testArgs(@Vector(3, i33), @Vector(3, i257), .{ -1 << 256, -1, 0 }); | ||
| 5338 | try testArgs(@Vector(3, i63), @Vector(3, i257), .{ -1 << 256, -1, 0 }); | ||
| 5339 | try testArgs(@Vector(3, i64), @Vector(3, i257), .{ -1 << 256, -1, 0 }); | ||
| 5340 | try testArgs(@Vector(3, i65), @Vector(3, i257), .{ -1 << 256, -1, 0 }); | ||
| 5341 | try testArgs(@Vector(3, i127), @Vector(3, i257), .{ -1 << 256, -1, 0 }); | ||
| 5342 | try testArgs(@Vector(3, i128), @Vector(3, i257), .{ -1 << 256, -1, 0 }); | ||
| 5343 | try testArgs(@Vector(3, i129), @Vector(3, i257), .{ -1 << 256, -1, 0 }); | ||
| 5344 | try testArgs(@Vector(3, i255), @Vector(3, i257), .{ -1 << 256, -1, 0 }); | ||
| 5345 | try testArgs(@Vector(3, i256), @Vector(3, i257), .{ -1 << 256, -1, 0 }); | ||
| 5346 | try testArgs(@Vector(3, i257), @Vector(3, i257), .{ -1 << 256, -1, 0 }); | ||
| 5347 | try testArgs(@Vector(3, i511), @Vector(3, i257), .{ -1 << 256, -1, 0 }); | ||
| 5348 | try testArgs(@Vector(3, i512), @Vector(3, i257), .{ -1 << 256, -1, 0 }); | ||
| 5349 | try testArgs(@Vector(3, i513), @Vector(3, i257), .{ -1 << 256, -1, 0 }); | ||
| 5350 | try testArgs(@Vector(3, i1023), @Vector(3, i257), .{ -1 << 256, -1, 0 }); | ||
| 5351 | try testArgs(@Vector(3, i1024), @Vector(3, i257), .{ -1 << 256, -1, 0 }); | ||
| 5352 | try testArgs(@Vector(3, i1025), @Vector(3, i257), .{ -1 << 256, -1, 0 }); | ||
| 5353 | try testArgs(@Vector(3, u7), @Vector(3, u257), .{ 0, 1, 1 << 256 }); | ||
| 5354 | try testArgs(@Vector(3, u8), @Vector(3, u257), .{ 0, 1, 1 << 256 }); | ||
| 5355 | try testArgs(@Vector(3, u9), @Vector(3, u257), .{ 0, 1, 1 << 256 }); | ||
| 5356 | try testArgs(@Vector(3, u15), @Vector(3, u257), .{ 0, 1, 1 << 256 }); | ||
| 5357 | try testArgs(@Vector(3, u16), @Vector(3, u257), .{ 0, 1, 1 << 256 }); | ||
| 5358 | try testArgs(@Vector(3, u17), @Vector(3, u257), .{ 0, 1, 1 << 256 }); | ||
| 5359 | try testArgs(@Vector(3, u31), @Vector(3, u257), .{ 0, 1, 1 << 256 }); | ||
| 5360 | try testArgs(@Vector(3, u32), @Vector(3, u257), .{ 0, 1, 1 << 256 }); | ||
| 5361 | try testArgs(@Vector(3, u33), @Vector(3, u257), .{ 0, 1, 1 << 256 }); | ||
| 5362 | try testArgs(@Vector(3, u63), @Vector(3, u257), .{ 0, 1, 1 << 256 }); | ||
| 5363 | try testArgs(@Vector(3, u64), @Vector(3, u257), .{ 0, 1, 1 << 256 }); | ||
| 5364 | try testArgs(@Vector(3, u65), @Vector(3, u257), .{ 0, 1, 1 << 256 }); | ||
| 5365 | try testArgs(@Vector(3, u127), @Vector(3, u257), .{ 0, 1, 1 << 256 }); | ||
| 5366 | try testArgs(@Vector(3, u128), @Vector(3, u257), .{ 0, 1, 1 << 256 }); | ||
| 5367 | try testArgs(@Vector(3, u129), @Vector(3, u257), .{ 0, 1, 1 << 256 }); | ||
| 5368 | try testArgs(@Vector(3, u255), @Vector(3, u257), .{ 0, 1, 1 << 256 }); | ||
| 5369 | try testArgs(@Vector(3, u256), @Vector(3, u257), .{ 0, 1, 1 << 256 }); | ||
| 5370 | try testArgs(@Vector(3, u257), @Vector(3, u257), .{ 0, 1, 1 << 256 }); | ||
| 5371 | try testArgs(@Vector(3, u511), @Vector(3, u257), .{ 0, 1, 1 << 256 }); | ||
| 5372 | try testArgs(@Vector(3, u512), @Vector(3, u257), .{ 0, 1, 1 << 256 }); | ||
| 5373 | try testArgs(@Vector(3, u513), @Vector(3, u257), .{ 0, 1, 1 << 256 }); | ||
| 5374 | try testArgs(@Vector(3, u1023), @Vector(3, u257), .{ 0, 1, 1 << 256 }); | ||
| 5375 | try testArgs(@Vector(3, u1024), @Vector(3, u257), .{ 0, 1, 1 << 256 }); | ||
| 5376 | try testArgs(@Vector(3, u1025), @Vector(3, u257), .{ 0, 1, 1 << 256 }); | ||
| 5377 | |||
| 5378 | try testArgs(@Vector(3, i7), @Vector(3, i511), .{ -1 << 510, -1, 0 }); | ||
| 5379 | try testArgs(@Vector(3, i8), @Vector(3, i511), .{ -1 << 510, -1, 0 }); | ||
| 5380 | try testArgs(@Vector(3, i9), @Vector(3, i511), .{ -1 << 510, -1, 0 }); | ||
| 5381 | try testArgs(@Vector(3, i15), @Vector(3, i511), .{ -1 << 510, -1, 0 }); | ||
| 5382 | try testArgs(@Vector(3, i16), @Vector(3, i511), .{ -1 << 510, -1, 0 }); | ||
| 5383 | try testArgs(@Vector(3, i17), @Vector(3, i511), .{ -1 << 510, -1, 0 }); | ||
| 5384 | try testArgs(@Vector(3, i31), @Vector(3, i511), .{ -1 << 510, -1, 0 }); | ||
| 5385 | try testArgs(@Vector(3, i32), @Vector(3, i511), .{ -1 << 510, -1, 0 }); | ||
| 5386 | try testArgs(@Vector(3, i33), @Vector(3, i511), .{ -1 << 510, -1, 0 }); | ||
| 5387 | try testArgs(@Vector(3, i63), @Vector(3, i511), .{ -1 << 510, -1, 0 }); | ||
| 5388 | try testArgs(@Vector(3, i64), @Vector(3, i511), .{ -1 << 510, -1, 0 }); | ||
| 5389 | try testArgs(@Vector(3, i65), @Vector(3, i511), .{ -1 << 510, -1, 0 }); | ||
| 5390 | try testArgs(@Vector(3, i127), @Vector(3, i511), .{ -1 << 510, -1, 0 }); | ||
| 5391 | try testArgs(@Vector(3, i128), @Vector(3, i511), .{ -1 << 510, -1, 0 }); | ||
| 5392 | try testArgs(@Vector(3, i129), @Vector(3, i511), .{ -1 << 510, -1, 0 }); | ||
| 5393 | try testArgs(@Vector(3, i255), @Vector(3, i511), .{ -1 << 510, -1, 0 }); | ||
| 5394 | try testArgs(@Vector(3, i256), @Vector(3, i511), .{ -1 << 510, -1, 0 }); | ||
| 5395 | try testArgs(@Vector(3, i257), @Vector(3, i511), .{ -1 << 510, -1, 0 }); | ||
| 5396 | try testArgs(@Vector(3, i511), @Vector(3, i511), .{ -1 << 510, -1, 0 }); | ||
| 5397 | try testArgs(@Vector(3, i512), @Vector(3, i511), .{ -1 << 510, -1, 0 }); | ||
| 5398 | try testArgs(@Vector(3, i513), @Vector(3, i511), .{ -1 << 510, -1, 0 }); | ||
| 5399 | try testArgs(@Vector(3, i1023), @Vector(3, i511), .{ -1 << 510, -1, 0 }); | ||
| 5400 | try testArgs(@Vector(3, i1024), @Vector(3, i511), .{ -1 << 510, -1, 0 }); | ||
| 5401 | try testArgs(@Vector(3, i1025), @Vector(3, i511), .{ -1 << 510, -1, 0 }); | ||
| 5402 | try testArgs(@Vector(3, u7), @Vector(3, u511), .{ 0, 1, 1 << 510 }); | ||
| 5403 | try testArgs(@Vector(3, u8), @Vector(3, u511), .{ 0, 1, 1 << 510 }); | ||
| 5404 | try testArgs(@Vector(3, u9), @Vector(3, u511), .{ 0, 1, 1 << 510 }); | ||
| 5405 | try testArgs(@Vector(3, u15), @Vector(3, u511), .{ 0, 1, 1 << 510 }); | ||
| 5406 | try testArgs(@Vector(3, u16), @Vector(3, u511), .{ 0, 1, 1 << 510 }); | ||
| 5407 | try testArgs(@Vector(3, u17), @Vector(3, u511), .{ 0, 1, 1 << 510 }); | ||
| 5408 | try testArgs(@Vector(3, u31), @Vector(3, u511), .{ 0, 1, 1 << 510 }); | ||
| 5409 | try testArgs(@Vector(3, u32), @Vector(3, u511), .{ 0, 1, 1 << 510 }); | ||
| 5410 | try testArgs(@Vector(3, u33), @Vector(3, u511), .{ 0, 1, 1 << 510 }); | ||
| 5411 | try testArgs(@Vector(3, u63), @Vector(3, u511), .{ 0, 1, 1 << 510 }); | ||
| 5412 | try testArgs(@Vector(3, u64), @Vector(3, u511), .{ 0, 1, 1 << 510 }); | ||
| 5413 | try testArgs(@Vector(3, u65), @Vector(3, u511), .{ 0, 1, 1 << 510 }); | ||
| 5414 | try testArgs(@Vector(3, u127), @Vector(3, u511), .{ 0, 1, 1 << 510 }); | ||
| 5415 | try testArgs(@Vector(3, u128), @Vector(3, u511), .{ 0, 1, 1 << 510 }); | ||
| 5416 | try testArgs(@Vector(3, u129), @Vector(3, u511), .{ 0, 1, 1 << 510 }); | ||
| 5417 | try testArgs(@Vector(3, u255), @Vector(3, u511), .{ 0, 1, 1 << 510 }); | ||
| 5418 | try testArgs(@Vector(3, u256), @Vector(3, u511), .{ 0, 1, 1 << 510 }); | ||
| 5419 | try testArgs(@Vector(3, u257), @Vector(3, u511), .{ 0, 1, 1 << 510 }); | ||
| 5420 | try testArgs(@Vector(3, u511), @Vector(3, u511), .{ 0, 1, 1 << 510 }); | ||
| 5421 | try testArgs(@Vector(3, u512), @Vector(3, u511), .{ 0, 1, 1 << 510 }); | ||
| 5422 | try testArgs(@Vector(3, u513), @Vector(3, u511), .{ 0, 1, 1 << 510 }); | ||
| 5423 | try testArgs(@Vector(3, u1023), @Vector(3, u511), .{ 0, 1, 1 << 510 }); | ||
| 5424 | try testArgs(@Vector(3, u1024), @Vector(3, u511), .{ 0, 1, 1 << 510 }); | ||
| 5425 | try testArgs(@Vector(3, u1025), @Vector(3, u511), .{ 0, 1, 1 << 510 }); | ||
| 5426 | |||
| 5427 | try testArgs(@Vector(3, i7), @Vector(3, i512), .{ -1 << 511, -1, 0 }); | ||
| 5428 | try testArgs(@Vector(3, i8), @Vector(3, i512), .{ -1 << 511, -1, 0 }); | ||
| 5429 | try testArgs(@Vector(3, i9), @Vector(3, i512), .{ -1 << 511, -1, 0 }); | ||
| 5430 | try testArgs(@Vector(3, i15), @Vector(3, i512), .{ -1 << 511, -1, 0 }); | ||
| 5431 | try testArgs(@Vector(3, i16), @Vector(3, i512), .{ -1 << 511, -1, 0 }); | ||
| 5432 | try testArgs(@Vector(3, i17), @Vector(3, i512), .{ -1 << 511, -1, 0 }); | ||
| 5433 | try testArgs(@Vector(3, i31), @Vector(3, i512), .{ -1 << 511, -1, 0 }); | ||
| 5434 | try testArgs(@Vector(3, i32), @Vector(3, i512), .{ -1 << 511, -1, 0 }); | ||
| 5435 | try testArgs(@Vector(3, i33), @Vector(3, i512), .{ -1 << 511, -1, 0 }); | ||
| 5436 | try testArgs(@Vector(3, i63), @Vector(3, i512), .{ -1 << 511, -1, 0 }); | ||
| 5437 | try testArgs(@Vector(3, i64), @Vector(3, i512), .{ -1 << 511, -1, 0 }); | ||
| 5438 | try testArgs(@Vector(3, i65), @Vector(3, i512), .{ -1 << 511, -1, 0 }); | ||
| 5439 | try testArgs(@Vector(3, i127), @Vector(3, i512), .{ -1 << 511, -1, 0 }); | ||
| 5440 | try testArgs(@Vector(3, i128), @Vector(3, i512), .{ -1 << 511, -1, 0 }); | ||
| 5441 | try testArgs(@Vector(3, i129), @Vector(3, i512), .{ -1 << 511, -1, 0 }); | ||
| 5442 | try testArgs(@Vector(3, i255), @Vector(3, i512), .{ -1 << 511, -1, 0 }); | ||
| 5443 | try testArgs(@Vector(3, i256), @Vector(3, i512), .{ -1 << 511, -1, 0 }); | ||
| 5444 | try testArgs(@Vector(3, i257), @Vector(3, i512), .{ -1 << 511, -1, 0 }); | ||
| 5445 | try testArgs(@Vector(3, i511), @Vector(3, i512), .{ -1 << 511, -1, 0 }); | ||
| 5446 | try testArgs(@Vector(3, i512), @Vector(3, i512), .{ -1 << 511, -1, 0 }); | ||
| 5447 | try testArgs(@Vector(3, i513), @Vector(3, i512), .{ -1 << 511, -1, 0 }); | ||
| 5448 | try testArgs(@Vector(3, i1023), @Vector(3, i512), .{ -1 << 511, -1, 0 }); | ||
| 5449 | try testArgs(@Vector(3, i1024), @Vector(3, i512), .{ -1 << 511, -1, 0 }); | ||
| 5450 | try testArgs(@Vector(3, i1025), @Vector(3, i512), .{ -1 << 511, -1, 0 }); | ||
| 5451 | try testArgs(@Vector(3, u7), @Vector(3, u512), .{ 0, 1, 1 << 511 }); | ||
| 5452 | try testArgs(@Vector(3, u8), @Vector(3, u512), .{ 0, 1, 1 << 511 }); | ||
| 5453 | try testArgs(@Vector(3, u9), @Vector(3, u512), .{ 0, 1, 1 << 511 }); | ||
| 5454 | try testArgs(@Vector(3, u15), @Vector(3, u512), .{ 0, 1, 1 << 511 }); | ||
| 5455 | try testArgs(@Vector(3, u16), @Vector(3, u512), .{ 0, 1, 1 << 511 }); | ||
| 5456 | try testArgs(@Vector(3, u17), @Vector(3, u512), .{ 0, 1, 1 << 511 }); | ||
| 5457 | try testArgs(@Vector(3, u31), @Vector(3, u512), .{ 0, 1, 1 << 511 }); | ||
| 5458 | try testArgs(@Vector(3, u32), @Vector(3, u512), .{ 0, 1, 1 << 511 }); | ||
| 5459 | try testArgs(@Vector(3, u33), @Vector(3, u512), .{ 0, 1, 1 << 511 }); | ||
| 5460 | try testArgs(@Vector(3, u63), @Vector(3, u512), .{ 0, 1, 1 << 511 }); | ||
| 5461 | try testArgs(@Vector(3, u64), @Vector(3, u512), .{ 0, 1, 1 << 511 }); | ||
| 5462 | try testArgs(@Vector(3, u65), @Vector(3, u512), .{ 0, 1, 1 << 511 }); | ||
| 5463 | try testArgs(@Vector(3, u127), @Vector(3, u512), .{ 0, 1, 1 << 511 }); | ||
| 5464 | try testArgs(@Vector(3, u128), @Vector(3, u512), .{ 0, 1, 1 << 511 }); | ||
| 5465 | try testArgs(@Vector(3, u129), @Vector(3, u512), .{ 0, 1, 1 << 511 }); | ||
| 5466 | try testArgs(@Vector(3, u255), @Vector(3, u512), .{ 0, 1, 1 << 511 }); | ||
| 5467 | try testArgs(@Vector(3, u256), @Vector(3, u512), .{ 0, 1, 1 << 511 }); | ||
| 5468 | try testArgs(@Vector(3, u257), @Vector(3, u512), .{ 0, 1, 1 << 511 }); | ||
| 5469 | try testArgs(@Vector(3, u511), @Vector(3, u512), .{ 0, 1, 1 << 511 }); | ||
| 5470 | try testArgs(@Vector(3, u512), @Vector(3, u512), .{ 0, 1, 1 << 511 }); | ||
| 5471 | try testArgs(@Vector(3, u513), @Vector(3, u512), .{ 0, 1, 1 << 511 }); | ||
| 5472 | try testArgs(@Vector(3, u1023), @Vector(3, u512), .{ 0, 1, 1 << 511 }); | ||
| 5473 | try testArgs(@Vector(3, u1024), @Vector(3, u512), .{ 0, 1, 1 << 511 }); | ||
| 5474 | try testArgs(@Vector(3, u1025), @Vector(3, u512), .{ 0, 1, 1 << 511 }); | ||
| 5475 | |||
| 5476 | try testArgs(@Vector(3, i7), @Vector(3, i513), .{ -1 << 512, -1, 0 }); | ||
| 5477 | try testArgs(@Vector(3, i8), @Vector(3, i513), .{ -1 << 512, -1, 0 }); | ||
| 5478 | try testArgs(@Vector(3, i9), @Vector(3, i513), .{ -1 << 512, -1, 0 }); | ||
| 5479 | try testArgs(@Vector(3, i15), @Vector(3, i513), .{ -1 << 512, -1, 0 }); | ||
| 5480 | try testArgs(@Vector(3, i16), @Vector(3, i513), .{ -1 << 512, -1, 0 }); | ||
| 5481 | try testArgs(@Vector(3, i17), @Vector(3, i513), .{ -1 << 512, -1, 0 }); | ||
| 5482 | try testArgs(@Vector(3, i31), @Vector(3, i513), .{ -1 << 512, -1, 0 }); | ||
| 5483 | try testArgs(@Vector(3, i32), @Vector(3, i513), .{ -1 << 512, -1, 0 }); | ||
| 5484 | try testArgs(@Vector(3, i33), @Vector(3, i513), .{ -1 << 512, -1, 0 }); | ||
| 5485 | try testArgs(@Vector(3, i63), @Vector(3, i513), .{ -1 << 512, -1, 0 }); | ||
| 5486 | try testArgs(@Vector(3, i64), @Vector(3, i513), .{ -1 << 512, -1, 0 }); | ||
| 5487 | try testArgs(@Vector(3, i65), @Vector(3, i513), .{ -1 << 512, -1, 0 }); | ||
| 5488 | try testArgs(@Vector(3, i127), @Vector(3, i513), .{ -1 << 512, -1, 0 }); | ||
| 5489 | try testArgs(@Vector(3, i128), @Vector(3, i513), .{ -1 << 512, -1, 0 }); | ||
| 5490 | try testArgs(@Vector(3, i129), @Vector(3, i513), .{ -1 << 512, -1, 0 }); | ||
| 5491 | try testArgs(@Vector(3, i255), @Vector(3, i513), .{ -1 << 512, -1, 0 }); | ||
| 5492 | try testArgs(@Vector(3, i256), @Vector(3, i513), .{ -1 << 512, -1, 0 }); | ||
| 5493 | try testArgs(@Vector(3, i257), @Vector(3, i513), .{ -1 << 512, -1, 0 }); | ||
| 5494 | try testArgs(@Vector(3, i511), @Vector(3, i513), .{ -1 << 512, -1, 0 }); | ||
| 5495 | try testArgs(@Vector(3, i512), @Vector(3, i513), .{ -1 << 512, -1, 0 }); | ||
| 5496 | try testArgs(@Vector(3, i513), @Vector(3, i513), .{ -1 << 512, -1, 0 }); | ||
| 5497 | try testArgs(@Vector(3, i1023), @Vector(3, i513), .{ -1 << 512, -1, 0 }); | ||
| 5498 | try testArgs(@Vector(3, i1024), @Vector(3, i513), .{ -1 << 512, -1, 0 }); | ||
| 5499 | try testArgs(@Vector(3, i1025), @Vector(3, i513), .{ -1 << 512, -1, 0 }); | ||
| 5500 | try testArgs(@Vector(3, u7), @Vector(3, u513), .{ 0, 1, 1 << 512 }); | ||
| 5501 | try testArgs(@Vector(3, u8), @Vector(3, u513), .{ 0, 1, 1 << 512 }); | ||
| 5502 | try testArgs(@Vector(3, u9), @Vector(3, u513), .{ 0, 1, 1 << 512 }); | ||
| 5503 | try testArgs(@Vector(3, u15), @Vector(3, u513), .{ 0, 1, 1 << 512 }); | ||
| 5504 | try testArgs(@Vector(3, u16), @Vector(3, u513), .{ 0, 1, 1 << 512 }); | ||
| 5505 | try testArgs(@Vector(3, u17), @Vector(3, u513), .{ 0, 1, 1 << 512 }); | ||
| 5506 | try testArgs(@Vector(3, u31), @Vector(3, u513), .{ 0, 1, 1 << 512 }); | ||
| 5507 | try testArgs(@Vector(3, u32), @Vector(3, u513), .{ 0, 1, 1 << 512 }); | ||
| 5508 | try testArgs(@Vector(3, u33), @Vector(3, u513), .{ 0, 1, 1 << 512 }); | ||
| 5509 | try testArgs(@Vector(3, u63), @Vector(3, u513), .{ 0, 1, 1 << 512 }); | ||
| 5510 | try testArgs(@Vector(3, u64), @Vector(3, u513), .{ 0, 1, 1 << 512 }); | ||
| 5511 | try testArgs(@Vector(3, u65), @Vector(3, u513), .{ 0, 1, 1 << 512 }); | ||
| 5512 | try testArgs(@Vector(3, u127), @Vector(3, u513), .{ 0, 1, 1 << 512 }); | ||
| 5513 | try testArgs(@Vector(3, u128), @Vector(3, u513), .{ 0, 1, 1 << 512 }); | ||
| 5514 | try testArgs(@Vector(3, u129), @Vector(3, u513), .{ 0, 1, 1 << 512 }); | ||
| 5515 | try testArgs(@Vector(3, u255), @Vector(3, u513), .{ 0, 1, 1 << 512 }); | ||
| 5516 | try testArgs(@Vector(3, u256), @Vector(3, u513), .{ 0, 1, 1 << 512 }); | ||
| 5517 | try testArgs(@Vector(3, u257), @Vector(3, u513), .{ 0, 1, 1 << 512 }); | ||
| 5518 | try testArgs(@Vector(3, u511), @Vector(3, u513), .{ 0, 1, 1 << 512 }); | ||
| 5519 | try testArgs(@Vector(3, u512), @Vector(3, u513), .{ 0, 1, 1 << 512 }); | ||
| 5520 | try testArgs(@Vector(3, u513), @Vector(3, u513), .{ 0, 1, 1 << 512 }); | ||
| 5521 | try testArgs(@Vector(3, u1023), @Vector(3, u513), .{ 0, 1, 1 << 512 }); | ||
| 5522 | try testArgs(@Vector(3, u1024), @Vector(3, u513), .{ 0, 1, 1 << 512 }); | ||
| 5523 | try testArgs(@Vector(3, u1025), @Vector(3, u513), .{ 0, 1, 1 << 512 }); | ||
| 5524 | |||
| 5525 | try testArgs(@Vector(3, i7), @Vector(3, i1023), .{ -1 << 1022, -1, 0 }); | ||
| 5526 | try testArgs(@Vector(3, i8), @Vector(3, i1023), .{ -1 << 1022, -1, 0 }); | ||
| 5527 | try testArgs(@Vector(3, i9), @Vector(3, i1023), .{ -1 << 1022, -1, 0 }); | ||
| 5528 | try testArgs(@Vector(3, i15), @Vector(3, i1023), .{ -1 << 1022, -1, 0 }); | ||
| 5529 | try testArgs(@Vector(3, i16), @Vector(3, i1023), .{ -1 << 1022, -1, 0 }); | ||
| 5530 | try testArgs(@Vector(3, i17), @Vector(3, i1023), .{ -1 << 1022, -1, 0 }); | ||
| 5531 | try testArgs(@Vector(3, i31), @Vector(3, i1023), .{ -1 << 1022, -1, 0 }); | ||
| 5532 | try testArgs(@Vector(3, i32), @Vector(3, i1023), .{ -1 << 1022, -1, 0 }); | ||
| 5533 | try testArgs(@Vector(3, i33), @Vector(3, i1023), .{ -1 << 1022, -1, 0 }); | ||
| 5534 | try testArgs(@Vector(3, i63), @Vector(3, i1023), .{ -1 << 1022, -1, 0 }); | ||
| 5535 | try testArgs(@Vector(3, i64), @Vector(3, i1023), .{ -1 << 1022, -1, 0 }); | ||
| 5536 | try testArgs(@Vector(3, i65), @Vector(3, i1023), .{ -1 << 1022, -1, 0 }); | ||
| 5537 | try testArgs(@Vector(3, i127), @Vector(3, i1023), .{ -1 << 1022, -1, 0 }); | ||
| 5538 | try testArgs(@Vector(3, i128), @Vector(3, i1023), .{ -1 << 1022, -1, 0 }); | ||
| 5539 | try testArgs(@Vector(3, i129), @Vector(3, i1023), .{ -1 << 1022, -1, 0 }); | ||
| 5540 | try testArgs(@Vector(3, i255), @Vector(3, i1023), .{ -1 << 1022, -1, 0 }); | ||
| 5541 | try testArgs(@Vector(3, i256), @Vector(3, i1023), .{ -1 << 1022, -1, 0 }); | ||
| 5542 | try testArgs(@Vector(3, i257), @Vector(3, i1023), .{ -1 << 1022, -1, 0 }); | ||
| 5543 | try testArgs(@Vector(3, i511), @Vector(3, i1023), .{ -1 << 1022, -1, 0 }); | ||
| 5544 | try testArgs(@Vector(3, i512), @Vector(3, i1023), .{ -1 << 1022, -1, 0 }); | ||
| 5545 | try testArgs(@Vector(3, i513), @Vector(3, i1023), .{ -1 << 1022, -1, 0 }); | ||
| 5546 | try testArgs(@Vector(3, i1023), @Vector(3, i1023), .{ -1 << 1022, -1, 0 }); | ||
| 5547 | try testArgs(@Vector(3, i1024), @Vector(3, i1023), .{ -1 << 1022, -1, 0 }); | ||
| 5548 | try testArgs(@Vector(3, i1025), @Vector(3, i1023), .{ -1 << 1022, -1, 0 }); | ||
| 5549 | try testArgs(@Vector(3, u7), @Vector(3, u1023), .{ 0, 1, 1 << 1022 }); | ||
| 5550 | try testArgs(@Vector(3, u8), @Vector(3, u1023), .{ 0, 1, 1 << 1022 }); | ||
| 5551 | try testArgs(@Vector(3, u9), @Vector(3, u1023), .{ 0, 1, 1 << 1022 }); | ||
| 5552 | try testArgs(@Vector(3, u15), @Vector(3, u1023), .{ 0, 1, 1 << 1022 }); | ||
| 5553 | try testArgs(@Vector(3, u16), @Vector(3, u1023), .{ 0, 1, 1 << 1022 }); | ||
| 5554 | try testArgs(@Vector(3, u17), @Vector(3, u1023), .{ 0, 1, 1 << 1022 }); | ||
| 5555 | try testArgs(@Vector(3, u31), @Vector(3, u1023), .{ 0, 1, 1 << 1022 }); | ||
| 5556 | try testArgs(@Vector(3, u32), @Vector(3, u1023), .{ 0, 1, 1 << 1022 }); | ||
| 5557 | try testArgs(@Vector(3, u33), @Vector(3, u1023), .{ 0, 1, 1 << 1022 }); | ||
| 5558 | try testArgs(@Vector(3, u63), @Vector(3, u1023), .{ 0, 1, 1 << 1022 }); | ||
| 5559 | try testArgs(@Vector(3, u64), @Vector(3, u1023), .{ 0, 1, 1 << 1022 }); | ||
| 5560 | try testArgs(@Vector(3, u65), @Vector(3, u1023), .{ 0, 1, 1 << 1022 }); | ||
| 5561 | try testArgs(@Vector(3, u127), @Vector(3, u1023), .{ 0, 1, 1 << 1022 }); | ||
| 5562 | try testArgs(@Vector(3, u128), @Vector(3, u1023), .{ 0, 1, 1 << 1022 }); | ||
| 5563 | try testArgs(@Vector(3, u129), @Vector(3, u1023), .{ 0, 1, 1 << 1022 }); | ||
| 5564 | try testArgs(@Vector(3, u255), @Vector(3, u1023), .{ 0, 1, 1 << 1022 }); | ||
| 5565 | try testArgs(@Vector(3, u256), @Vector(3, u1023), .{ 0, 1, 1 << 1022 }); | ||
| 5566 | try testArgs(@Vector(3, u257), @Vector(3, u1023), .{ 0, 1, 1 << 1022 }); | ||
| 5567 | try testArgs(@Vector(3, u511), @Vector(3, u1023), .{ 0, 1, 1 << 1022 }); | ||
| 5568 | try testArgs(@Vector(3, u512), @Vector(3, u1023), .{ 0, 1, 1 << 1022 }); | ||
| 5569 | try testArgs(@Vector(3, u513), @Vector(3, u1023), .{ 0, 1, 1 << 1022 }); | ||
| 5570 | try testArgs(@Vector(3, u1023), @Vector(3, u1023), .{ 0, 1, 1 << 1022 }); | ||
| 5571 | try testArgs(@Vector(3, u1024), @Vector(3, u1023), .{ 0, 1, 1 << 1022 }); | ||
| 5572 | try testArgs(@Vector(3, u1025), @Vector(3, u1023), .{ 0, 1, 1 << 1022 }); | ||
| 5573 | |||
| 5574 | try testArgs(@Vector(3, i7), @Vector(3, i1024), .{ -1 << 1023, -1, 0 }); | ||
| 5575 | try testArgs(@Vector(3, i8), @Vector(3, i1024), .{ -1 << 1023, -1, 0 }); | ||
| 5576 | try testArgs(@Vector(3, i9), @Vector(3, i1024), .{ -1 << 1023, -1, 0 }); | ||
| 5577 | try testArgs(@Vector(3, i15), @Vector(3, i1024), .{ -1 << 1023, -1, 0 }); | ||
| 5578 | try testArgs(@Vector(3, i16), @Vector(3, i1024), .{ -1 << 1023, -1, 0 }); | ||
| 5579 | try testArgs(@Vector(3, i17), @Vector(3, i1024), .{ -1 << 1023, -1, 0 }); | ||
| 5580 | try testArgs(@Vector(3, i31), @Vector(3, i1024), .{ -1 << 1023, -1, 0 }); | ||
| 5581 | try testArgs(@Vector(3, i32), @Vector(3, i1024), .{ -1 << 1023, -1, 0 }); | ||
| 5582 | try testArgs(@Vector(3, i33), @Vector(3, i1024), .{ -1 << 1023, -1, 0 }); | ||
| 5583 | try testArgs(@Vector(3, i63), @Vector(3, i1024), .{ -1 << 1023, -1, 0 }); | ||
| 5584 | try testArgs(@Vector(3, i64), @Vector(3, i1024), .{ -1 << 1023, -1, 0 }); | ||
| 5585 | try testArgs(@Vector(3, i65), @Vector(3, i1024), .{ -1 << 1023, -1, 0 }); | ||
| 5586 | try testArgs(@Vector(3, i127), @Vector(3, i1024), .{ -1 << 1023, -1, 0 }); | ||
| 5587 | try testArgs(@Vector(3, i128), @Vector(3, i1024), .{ -1 << 1023, -1, 0 }); | ||
| 5588 | try testArgs(@Vector(3, i129), @Vector(3, i1024), .{ -1 << 1023, -1, 0 }); | ||
| 5589 | try testArgs(@Vector(3, i255), @Vector(3, i1024), .{ -1 << 1023, -1, 0 }); | ||
| 5590 | try testArgs(@Vector(3, i256), @Vector(3, i1024), .{ -1 << 1023, -1, 0 }); | ||
| 5591 | try testArgs(@Vector(3, i257), @Vector(3, i1024), .{ -1 << 1023, -1, 0 }); | ||
| 5592 | try testArgs(@Vector(3, i511), @Vector(3, i1024), .{ -1 << 1023, -1, 0 }); | ||
| 5593 | try testArgs(@Vector(3, i512), @Vector(3, i1024), .{ -1 << 1023, -1, 0 }); | ||
| 5594 | try testArgs(@Vector(3, i513), @Vector(3, i1024), .{ -1 << 1023, -1, 0 }); | ||
| 5595 | try testArgs(@Vector(3, i1023), @Vector(3, i1024), .{ -1 << 1023, -1, 0 }); | ||
| 5596 | try testArgs(@Vector(3, i1024), @Vector(3, i1024), .{ -1 << 1023, -1, 0 }); | ||
| 5597 | try testArgs(@Vector(3, i1025), @Vector(3, i1024), .{ -1 << 1023, -1, 0 }); | ||
| 5598 | try testArgs(@Vector(3, u7), @Vector(3, u1024), .{ 0, 1, 1 << 1023 }); | ||
| 5599 | try testArgs(@Vector(3, u8), @Vector(3, u1024), .{ 0, 1, 1 << 1023 }); | ||
| 5600 | try testArgs(@Vector(3, u9), @Vector(3, u1024), .{ 0, 1, 1 << 1023 }); | ||
| 5601 | try testArgs(@Vector(3, u15), @Vector(3, u1024), .{ 0, 1, 1 << 1023 }); | ||
| 5602 | try testArgs(@Vector(3, u16), @Vector(3, u1024), .{ 0, 1, 1 << 1023 }); | ||
| 5603 | try testArgs(@Vector(3, u17), @Vector(3, u1024), .{ 0, 1, 1 << 1023 }); | ||
| 5604 | try testArgs(@Vector(3, u31), @Vector(3, u1024), .{ 0, 1, 1 << 1023 }); | ||
| 5605 | try testArgs(@Vector(3, u32), @Vector(3, u1024), .{ 0, 1, 1 << 1023 }); | ||
| 5606 | try testArgs(@Vector(3, u33), @Vector(3, u1024), .{ 0, 1, 1 << 1023 }); | ||
| 5607 | try testArgs(@Vector(3, u63), @Vector(3, u1024), .{ 0, 1, 1 << 1023 }); | ||
| 5608 | try testArgs(@Vector(3, u64), @Vector(3, u1024), .{ 0, 1, 1 << 1023 }); | ||
| 5609 | try testArgs(@Vector(3, u65), @Vector(3, u1024), .{ 0, 1, 1 << 1023 }); | ||
| 5610 | try testArgs(@Vector(3, u127), @Vector(3, u1024), .{ 0, 1, 1 << 1023 }); | ||
| 5611 | try testArgs(@Vector(3, u128), @Vector(3, u1024), .{ 0, 1, 1 << 1023 }); | ||
| 5612 | try testArgs(@Vector(3, u129), @Vector(3, u1024), .{ 0, 1, 1 << 1023 }); | ||
| 5613 | try testArgs(@Vector(3, u255), @Vector(3, u1024), .{ 0, 1, 1 << 1023 }); | ||
| 5614 | try testArgs(@Vector(3, u256), @Vector(3, u1024), .{ 0, 1, 1 << 1023 }); | ||
| 5615 | try testArgs(@Vector(3, u257), @Vector(3, u1024), .{ 0, 1, 1 << 1023 }); | ||
| 5616 | try testArgs(@Vector(3, u511), @Vector(3, u1024), .{ 0, 1, 1 << 1023 }); | ||
| 5617 | try testArgs(@Vector(3, u512), @Vector(3, u1024), .{ 0, 1, 1 << 1023 }); | ||
| 5618 | try testArgs(@Vector(3, u513), @Vector(3, u1024), .{ 0, 1, 1 << 1023 }); | ||
| 5619 | try testArgs(@Vector(3, u1023), @Vector(3, u1024), .{ 0, 1, 1 << 1023 }); | ||
| 5620 | try testArgs(@Vector(3, u1024), @Vector(3, u1024), .{ 0, 1, 1 << 1023 }); | ||
| 5621 | try testArgs(@Vector(3, u1025), @Vector(3, u1024), .{ 0, 1, 1 << 1023 }); | ||
| 5622 | |||
| 5623 | try testArgs(@Vector(3, i7), @Vector(3, i1025), .{ -1 << 1024, -1, 0 }); | ||
| 5624 | try testArgs(@Vector(3, i8), @Vector(3, i1025), .{ -1 << 1024, -1, 0 }); | ||
| 5625 | try testArgs(@Vector(3, i9), @Vector(3, i1025), .{ -1 << 1024, -1, 0 }); | ||
| 5626 | try testArgs(@Vector(3, i15), @Vector(3, i1025), .{ -1 << 1024, -1, 0 }); | ||
| 5627 | try testArgs(@Vector(3, i16), @Vector(3, i1025), .{ -1 << 1024, -1, 0 }); | ||
| 5628 | try testArgs(@Vector(3, i17), @Vector(3, i1025), .{ -1 << 1024, -1, 0 }); | ||
| 5629 | try testArgs(@Vector(3, i31), @Vector(3, i1025), .{ -1 << 1024, -1, 0 }); | ||
| 5630 | try testArgs(@Vector(3, i32), @Vector(3, i1025), .{ -1 << 1024, -1, 0 }); | ||
| 5631 | try testArgs(@Vector(3, i33), @Vector(3, i1025), .{ -1 << 1024, -1, 0 }); | ||
| 5632 | try testArgs(@Vector(3, i63), @Vector(3, i1025), .{ -1 << 1024, -1, 0 }); | ||
| 5633 | try testArgs(@Vector(3, i64), @Vector(3, i1025), .{ -1 << 1024, -1, 0 }); | ||
| 5634 | try testArgs(@Vector(3, i65), @Vector(3, i1025), .{ -1 << 1024, -1, 0 }); | ||
| 5635 | try testArgs(@Vector(3, i127), @Vector(3, i1025), .{ -1 << 1024, -1, 0 }); | ||
| 5636 | try testArgs(@Vector(3, i128), @Vector(3, i1025), .{ -1 << 1024, -1, 0 }); | ||
| 5637 | try testArgs(@Vector(3, i129), @Vector(3, i1025), .{ -1 << 1024, -1, 0 }); | ||
| 5638 | try testArgs(@Vector(3, i255), @Vector(3, i1025), .{ -1 << 1024, -1, 0 }); | ||
| 5639 | try testArgs(@Vector(3, i256), @Vector(3, i1025), .{ -1 << 1024, -1, 0 }); | ||
| 5640 | try testArgs(@Vector(3, i257), @Vector(3, i1025), .{ -1 << 1024, -1, 0 }); | ||
| 5641 | try testArgs(@Vector(3, i511), @Vector(3, i1025), .{ -1 << 1024, -1, 0 }); | ||
| 5642 | try testArgs(@Vector(3, i512), @Vector(3, i1025), .{ -1 << 1024, -1, 0 }); | ||
| 5643 | try testArgs(@Vector(3, i513), @Vector(3, i1025), .{ -1 << 1024, -1, 0 }); | ||
| 5644 | try testArgs(@Vector(3, i1023), @Vector(3, i1025), .{ -1 << 1024, -1, 0 }); | ||
| 5645 | try testArgs(@Vector(3, i1024), @Vector(3, i1025), .{ -1 << 1024, -1, 0 }); | ||
| 5646 | try testArgs(@Vector(3, i1025), @Vector(3, i1025), .{ -1 << 1024, -1, 0 }); | ||
| 5647 | try testArgs(@Vector(3, u7), @Vector(3, u1025), .{ 0, 1, 1 << 1024 }); | ||
| 5648 | try testArgs(@Vector(3, u8), @Vector(3, u1025), .{ 0, 1, 1 << 1024 }); | ||
| 5649 | try testArgs(@Vector(3, u9), @Vector(3, u1025), .{ 0, 1, 1 << 1024 }); | ||
| 5650 | try testArgs(@Vector(3, u15), @Vector(3, u1025), .{ 0, 1, 1 << 1024 }); | ||
| 5651 | try testArgs(@Vector(3, u16), @Vector(3, u1025), .{ 0, 1, 1 << 1024 }); | ||
| 5652 | try testArgs(@Vector(3, u17), @Vector(3, u1025), .{ 0, 1, 1 << 1024 }); | ||
| 5653 | try testArgs(@Vector(3, u31), @Vector(3, u1025), .{ 0, 1, 1 << 1024 }); | ||
| 5654 | try testArgs(@Vector(3, u32), @Vector(3, u1025), .{ 0, 1, 1 << 1024 }); | ||
| 5655 | try testArgs(@Vector(3, u33), @Vector(3, u1025), .{ 0, 1, 1 << 1024 }); | ||
| 5656 | try testArgs(@Vector(3, u63), @Vector(3, u1025), .{ 0, 1, 1 << 1024 }); | ||
| 5657 | try testArgs(@Vector(3, u64), @Vector(3, u1025), .{ 0, 1, 1 << 1024 }); | ||
| 5658 | try testArgs(@Vector(3, u65), @Vector(3, u1025), .{ 0, 1, 1 << 1024 }); | ||
| 5659 | try testArgs(@Vector(3, u127), @Vector(3, u1025), .{ 0, 1, 1 << 1024 }); | ||
| 5660 | try testArgs(@Vector(3, u128), @Vector(3, u1025), .{ 0, 1, 1 << 1024 }); | ||
| 5661 | try testArgs(@Vector(3, u129), @Vector(3, u1025), .{ 0, 1, 1 << 1024 }); | ||
| 5662 | try testArgs(@Vector(3, u255), @Vector(3, u1025), .{ 0, 1, 1 << 1024 }); | ||
| 5663 | try testArgs(@Vector(3, u256), @Vector(3, u1025), .{ 0, 1, 1 << 1024 }); | ||
| 5664 | try testArgs(@Vector(3, u257), @Vector(3, u1025), .{ 0, 1, 1 << 1024 }); | ||
| 5665 | try testArgs(@Vector(3, u511), @Vector(3, u1025), .{ 0, 1, 1 << 1024 }); | ||
| 5666 | try testArgs(@Vector(3, u512), @Vector(3, u1025), .{ 0, 1, 1 << 1024 }); | ||
| 5667 | try testArgs(@Vector(3, u513), @Vector(3, u1025), .{ 0, 1, 1 << 1024 }); | ||
| 5668 | try testArgs(@Vector(3, u1023), @Vector(3, u1025), .{ 0, 1, 1 << 1024 }); | ||
| 5669 | try testArgs(@Vector(3, u1024), @Vector(3, u1025), .{ 0, 1, 1 << 1024 }); | ||
| 5670 | try testArgs(@Vector(3, u1025), @Vector(3, u1025), .{ 0, 1, 1 << 1024 }); | ||
| 5671 | } | ||
| 5672 | fn testIntVectors() !void { | ||
| 5673 | try testSameSignednessIntVectors(); | ||
| 5674 | |||
| 5675 | try testArgs(@Vector(1, u8), @Vector(1, i1), .{-1}); | ||
| 5676 | try testArgs(@Vector(1, u16), @Vector(1, i1), .{-1}); | ||
| 5677 | try testArgs(@Vector(1, u32), @Vector(1, i1), .{-1}); | ||
| 5678 | try testArgs(@Vector(1, u64), @Vector(1, i1), .{-1}); | ||
| 5679 | try testArgs(@Vector(1, u128), @Vector(1, i1), .{-1}); | ||
| 5680 | try testArgs(@Vector(1, u256), @Vector(1, i1), .{-1}); | ||
| 5681 | try testArgs(@Vector(1, u512), @Vector(1, i1), .{-1}); | ||
| 5682 | try testArgs(@Vector(1, u1024), @Vector(1, i1), .{-1}); | ||
| 5683 | try testArgs(@Vector(1, i8), @Vector(1, u1), .{1}); | ||
| 5684 | try testArgs(@Vector(1, i16), @Vector(1, u1), .{1}); | ||
| 5685 | try testArgs(@Vector(1, i32), @Vector(1, u1), .{1}); | ||
| 5686 | try testArgs(@Vector(1, i64), @Vector(1, u1), .{1}); | ||
| 5687 | try testArgs(@Vector(1, i128), @Vector(1, u1), .{1}); | ||
| 5688 | try testArgs(@Vector(1, i256), @Vector(1, u1), .{1}); | ||
| 5689 | try testArgs(@Vector(1, i512), @Vector(1, u1), .{1}); | ||
| 5690 | try testArgs(@Vector(1, i1024), @Vector(1, u1), .{1}); | ||
| 5691 | |||
| 5692 | try testArgs(@Vector(2, u8), @Vector(2, i1), .{ -1, 0 }); | ||
| 5693 | try testArgs(@Vector(2, u16), @Vector(2, i1), .{ -1, 0 }); | ||
| 5694 | try testArgs(@Vector(2, u32), @Vector(2, i1), .{ -1, 0 }); | ||
| 5695 | try testArgs(@Vector(2, u64), @Vector(2, i1), .{ -1, 0 }); | ||
| 5696 | try testArgs(@Vector(2, u128), @Vector(2, i1), .{ -1, 0 }); | ||
| 5697 | try testArgs(@Vector(2, u256), @Vector(2, i1), .{ -1, 0 }); | ||
| 5698 | try testArgs(@Vector(2, u512), @Vector(2, i1), .{ -1, 0 }); | ||
| 5699 | try testArgs(@Vector(2, u1024), @Vector(2, i1), .{ -1, 0 }); | ||
| 5700 | try testArgs(@Vector(2, i8), @Vector(2, u1), .{ 0, 1 }); | ||
| 5701 | try testArgs(@Vector(2, i16), @Vector(2, u1), .{ 0, 1 }); | ||
| 5702 | try testArgs(@Vector(2, i32), @Vector(2, u1), .{ 0, 1 }); | ||
| 5703 | try testArgs(@Vector(2, i64), @Vector(2, u1), .{ 0, 1 }); | ||
| 5704 | try testArgs(@Vector(2, i128), @Vector(2, u1), .{ 0, 1 }); | ||
| 5705 | try testArgs(@Vector(2, i256), @Vector(2, u1), .{ 0, 1 }); | ||
| 5706 | try testArgs(@Vector(2, i512), @Vector(2, u1), .{ 0, 1 }); | ||
| 5707 | try testArgs(@Vector(2, i1024), @Vector(2, u1), .{ 0, 1 }); | ||
| 5708 | |||
| 5709 | try testArgs(@Vector(3, u8), @Vector(3, i2), .{ -1 << 1, -1, 0 }); | ||
| 5710 | try testArgs(@Vector(3, u16), @Vector(3, i2), .{ -1 << 1, -1, 0 }); | ||
| 5711 | try testArgs(@Vector(3, u32), @Vector(3, i2), .{ -1 << 1, -1, 0 }); | ||
| 5712 | try testArgs(@Vector(3, u64), @Vector(3, i2), .{ -1 << 1, -1, 0 }); | ||
| 5713 | try testArgs(@Vector(3, u128), @Vector(3, i2), .{ -1 << 1, -1, 0 }); | ||
| 5714 | try testArgs(@Vector(3, u256), @Vector(3, i2), .{ -1 << 1, -1, 0 }); | ||
| 5715 | try testArgs(@Vector(3, u512), @Vector(3, i2), .{ -1 << 1, -1, 0 }); | ||
| 5716 | try testArgs(@Vector(3, u1024), @Vector(3, i2), .{ -1 << 1, -1, 0 }); | ||
| 5717 | try testArgs(@Vector(3, i8), @Vector(3, u2), .{ 0, 1, 1 << 1 }); | ||
| 5718 | try testArgs(@Vector(3, i16), @Vector(3, u2), .{ 0, 1, 1 << 1 }); | ||
| 5719 | try testArgs(@Vector(3, i32), @Vector(3, u2), .{ 0, 1, 1 << 1 }); | ||
| 5720 | try testArgs(@Vector(3, i64), @Vector(3, u2), .{ 0, 1, 1 << 1 }); | ||
| 5721 | try testArgs(@Vector(3, i128), @Vector(3, u2), .{ 0, 1, 1 << 1 }); | ||
| 5722 | try testArgs(@Vector(3, i256), @Vector(3, u2), .{ 0, 1, 1 << 1 }); | ||
| 5723 | try testArgs(@Vector(3, i512), @Vector(3, u2), .{ 0, 1, 1 << 1 }); | ||
| 5724 | try testArgs(@Vector(3, i1024), @Vector(3, u2), .{ 0, 1, 1 << 1 }); | ||
| 5725 | |||
| 5726 | try testArgs(@Vector(3, u8), @Vector(3, i3), .{ -1 << 2, -1, 0 }); | ||
| 5727 | try testArgs(@Vector(3, u16), @Vector(3, i3), .{ -1 << 2, -1, 0 }); | ||
| 5728 | try testArgs(@Vector(3, u32), @Vector(3, i3), .{ -1 << 2, -1, 0 }); | ||
| 5729 | try testArgs(@Vector(3, u64), @Vector(3, i3), .{ -1 << 2, -1, 0 }); | ||
| 5730 | try testArgs(@Vector(3, u128), @Vector(3, i3), .{ -1 << 2, -1, 0 }); | ||
| 5731 | try testArgs(@Vector(3, u256), @Vector(3, i3), .{ -1 << 2, -1, 0 }); | ||
| 5732 | try testArgs(@Vector(3, u512), @Vector(3, i3), .{ -1 << 2, -1, 0 }); | ||
| 5733 | try testArgs(@Vector(3, u1024), @Vector(3, i3), .{ -1 << 2, -1, 0 }); | ||
| 5734 | try testArgs(@Vector(3, i8), @Vector(3, u3), .{ 0, 1, 1 << 2 }); | ||
| 5735 | try testArgs(@Vector(3, i16), @Vector(3, u3), .{ 0, 1, 1 << 2 }); | ||
| 5736 | try testArgs(@Vector(3, i32), @Vector(3, u3), .{ 0, 1, 1 << 2 }); | ||
| 5737 | try testArgs(@Vector(3, i64), @Vector(3, u3), .{ 0, 1, 1 << 2 }); | ||
| 5738 | try testArgs(@Vector(3, i128), @Vector(3, u3), .{ 0, 1, 1 << 2 }); | ||
| 5739 | try testArgs(@Vector(3, i256), @Vector(3, u3), .{ 0, 1, 1 << 2 }); | ||
| 5740 | try testArgs(@Vector(3, i512), @Vector(3, u3), .{ 0, 1, 1 << 2 }); | ||
| 5741 | try testArgs(@Vector(3, i1024), @Vector(3, u3), .{ 0, 1, 1 << 2 }); | ||
| 5742 | |||
| 5743 | try testArgs(@Vector(3, u8), @Vector(3, i4), .{ -1 << 3, -1, 0 }); | ||
| 5744 | try testArgs(@Vector(3, u16), @Vector(3, i4), .{ -1 << 3, -1, 0 }); | ||
| 5745 | try testArgs(@Vector(3, u32), @Vector(3, i4), .{ -1 << 3, -1, 0 }); | ||
| 5746 | try testArgs(@Vector(3, u64), @Vector(3, i4), .{ -1 << 3, -1, 0 }); | ||
| 5747 | try testArgs(@Vector(3, u128), @Vector(3, i4), .{ -1 << 3, -1, 0 }); | ||
| 5748 | try testArgs(@Vector(3, u256), @Vector(3, i4), .{ -1 << 3, -1, 0 }); | ||
| 5749 | try testArgs(@Vector(3, u512), @Vector(3, i4), .{ -1 << 3, -1, 0 }); | ||
| 5750 | try testArgs(@Vector(3, u1024), @Vector(3, i4), .{ -1 << 3, -1, 0 }); | ||
| 5751 | try testArgs(@Vector(3, i8), @Vector(3, u4), .{ 0, 1, 1 << 3 }); | ||
| 5752 | try testArgs(@Vector(3, i16), @Vector(3, u4), .{ 0, 1, 1 << 3 }); | ||
| 5753 | try testArgs(@Vector(3, i32), @Vector(3, u4), .{ 0, 1, 1 << 3 }); | ||
| 5754 | try testArgs(@Vector(3, i64), @Vector(3, u4), .{ 0, 1, 1 << 3 }); | ||
| 5755 | try testArgs(@Vector(3, i128), @Vector(3, u4), .{ 0, 1, 1 << 3 }); | ||
| 5756 | try testArgs(@Vector(3, i256), @Vector(3, u4), .{ 0, 1, 1 << 3 }); | ||
| 5757 | try testArgs(@Vector(3, i512), @Vector(3, u4), .{ 0, 1, 1 << 3 }); | ||
| 5758 | try testArgs(@Vector(3, i1024), @Vector(3, u4), .{ 0, 1, 1 << 3 }); | ||
| 5759 | |||
| 5760 | try testArgs(@Vector(3, u8), @Vector(3, i5), .{ -1 << 4, -1, 0 }); | ||
| 5761 | try testArgs(@Vector(3, u16), @Vector(3, i5), .{ -1 << 4, -1, 0 }); | ||
| 5762 | try testArgs(@Vector(3, u32), @Vector(3, i5), .{ -1 << 4, -1, 0 }); | ||
| 5763 | try testArgs(@Vector(3, u64), @Vector(3, i5), .{ -1 << 4, -1, 0 }); | ||
| 5764 | try testArgs(@Vector(3, u128), @Vector(3, i5), .{ -1 << 4, -1, 0 }); | ||
| 5765 | try testArgs(@Vector(3, u256), @Vector(3, i5), .{ -1 << 4, -1, 0 }); | ||
| 5766 | try testArgs(@Vector(3, u512), @Vector(3, i5), .{ -1 << 4, -1, 0 }); | ||
| 5767 | try testArgs(@Vector(3, u1024), @Vector(3, i5), .{ -1 << 4, -1, 0 }); | ||
| 5768 | try testArgs(@Vector(3, i8), @Vector(3, u5), .{ 0, 1, 1 << 4 }); | ||
| 5769 | try testArgs(@Vector(3, i16), @Vector(3, u5), .{ 0, 1, 1 << 4 }); | ||
| 5770 | try testArgs(@Vector(3, i32), @Vector(3, u5), .{ 0, 1, 1 << 4 }); | ||
| 5771 | try testArgs(@Vector(3, i64), @Vector(3, u5), .{ 0, 1, 1 << 4 }); | ||
| 5772 | try testArgs(@Vector(3, i128), @Vector(3, u5), .{ 0, 1, 1 << 4 }); | ||
| 5773 | try testArgs(@Vector(3, i256), @Vector(3, u5), .{ 0, 1, 1 << 4 }); | ||
| 5774 | try testArgs(@Vector(3, i512), @Vector(3, u5), .{ 0, 1, 1 << 4 }); | ||
| 5775 | try testArgs(@Vector(3, i1024), @Vector(3, u5), .{ 0, 1, 1 << 4 }); | ||
| 5776 | |||
| 5777 | try testArgs(@Vector(3, u8), @Vector(3, i7), .{ -1 << 6, -1, 0 }); | ||
| 5778 | try testArgs(@Vector(3, u16), @Vector(3, i7), .{ -1 << 6, -1, 0 }); | ||
| 5779 | try testArgs(@Vector(3, u32), @Vector(3, i7), .{ -1 << 6, -1, 0 }); | ||
| 5780 | try testArgs(@Vector(3, u64), @Vector(3, i7), .{ -1 << 6, -1, 0 }); | ||
| 5781 | try testArgs(@Vector(3, u128), @Vector(3, i7), .{ -1 << 6, -1, 0 }); | ||
| 5782 | try testArgs(@Vector(3, u256), @Vector(3, i7), .{ -1 << 6, -1, 0 }); | ||
| 5783 | try testArgs(@Vector(3, u512), @Vector(3, i7), .{ -1 << 6, -1, 0 }); | ||
| 5784 | try testArgs(@Vector(3, u1024), @Vector(3, i7), .{ -1 << 6, -1, 0 }); | ||
| 5785 | try testArgs(@Vector(3, i8), @Vector(3, u7), .{ 0, 1, 1 << 6 }); | ||
| 5786 | try testArgs(@Vector(3, i16), @Vector(3, u7), .{ 0, 1, 1 << 6 }); | ||
| 5787 | try testArgs(@Vector(3, i32), @Vector(3, u7), .{ 0, 1, 1 << 6 }); | ||
| 5788 | try testArgs(@Vector(3, i64), @Vector(3, u7), .{ 0, 1, 1 << 6 }); | ||
| 5789 | try testArgs(@Vector(3, i128), @Vector(3, u7), .{ 0, 1, 1 << 6 }); | ||
| 5790 | try testArgs(@Vector(3, i256), @Vector(3, u7), .{ 0, 1, 1 << 6 }); | ||
| 5791 | try testArgs(@Vector(3, i512), @Vector(3, u7), .{ 0, 1, 1 << 6 }); | ||
| 5792 | try testArgs(@Vector(3, i1024), @Vector(3, u7), .{ 0, 1, 1 << 6 }); | ||
| 5793 | |||
| 5794 | try testArgs(@Vector(3, u8), @Vector(3, i8), .{ -1 << 7, -1, 0 }); | ||
| 5795 | try testArgs(@Vector(3, u16), @Vector(3, i8), .{ -1 << 7, -1, 0 }); | ||
| 5796 | try testArgs(@Vector(3, u32), @Vector(3, i8), .{ -1 << 7, -1, 0 }); | ||
| 5797 | try testArgs(@Vector(3, u64), @Vector(3, i8), .{ -1 << 7, -1, 0 }); | ||
| 5798 | try testArgs(@Vector(3, u128), @Vector(3, i8), .{ -1 << 7, -1, 0 }); | ||
| 5799 | try testArgs(@Vector(3, u256), @Vector(3, i8), .{ -1 << 7, -1, 0 }); | ||
| 5800 | try testArgs(@Vector(3, u512), @Vector(3, i8), .{ -1 << 7, -1, 0 }); | ||
| 5801 | try testArgs(@Vector(3, u1024), @Vector(3, i8), .{ -1 << 7, -1, 0 }); | ||
| 5802 | try testArgs(@Vector(3, i8), @Vector(3, u8), .{ 0, 1, 1 << 7 }); | ||
| 5803 | try testArgs(@Vector(3, i16), @Vector(3, u8), .{ 0, 1, 1 << 7 }); | ||
| 5804 | try testArgs(@Vector(3, i32), @Vector(3, u8), .{ 0, 1, 1 << 7 }); | ||
| 5805 | try testArgs(@Vector(3, i64), @Vector(3, u8), .{ 0, 1, 1 << 7 }); | ||
| 5806 | try testArgs(@Vector(3, i128), @Vector(3, u8), .{ 0, 1, 1 << 7 }); | ||
| 5807 | try testArgs(@Vector(3, i256), @Vector(3, u8), .{ 0, 1, 1 << 7 }); | ||
| 5808 | try testArgs(@Vector(3, i512), @Vector(3, u8), .{ 0, 1, 1 << 7 }); | ||
| 5809 | try testArgs(@Vector(3, i1024), @Vector(3, u8), .{ 0, 1, 1 << 7 }); | ||
| 5810 | |||
| 5811 | try testArgs(@Vector(3, u8), @Vector(3, i9), .{ -1 << 8, -1, 0 }); | ||
| 5812 | try testArgs(@Vector(3, u16), @Vector(3, i9), .{ -1 << 8, -1, 0 }); | ||
| 5813 | try testArgs(@Vector(3, u32), @Vector(3, i9), .{ -1 << 8, -1, 0 }); | ||
| 5814 | try testArgs(@Vector(3, u64), @Vector(3, i9), .{ -1 << 8, -1, 0 }); | ||
| 5815 | try testArgs(@Vector(3, u128), @Vector(3, i9), .{ -1 << 8, -1, 0 }); | ||
| 5816 | try testArgs(@Vector(3, u256), @Vector(3, i9), .{ -1 << 8, -1, 0 }); | ||
| 5817 | try testArgs(@Vector(3, u512), @Vector(3, i9), .{ -1 << 8, -1, 0 }); | ||
| 5818 | try testArgs(@Vector(3, u1024), @Vector(3, i9), .{ -1 << 8, -1, 0 }); | ||
| 5819 | try testArgs(@Vector(3, i8), @Vector(3, u9), .{ 0, 1, 1 << 8 }); | ||
| 5820 | try testArgs(@Vector(3, i16), @Vector(3, u9), .{ 0, 1, 1 << 8 }); | ||
| 5821 | try testArgs(@Vector(3, i32), @Vector(3, u9), .{ 0, 1, 1 << 8 }); | ||
| 5822 | try testArgs(@Vector(3, i64), @Vector(3, u9), .{ 0, 1, 1 << 8 }); | ||
| 5823 | try testArgs(@Vector(3, i128), @Vector(3, u9), .{ 0, 1, 1 << 8 }); | ||
| 5824 | try testArgs(@Vector(3, i256), @Vector(3, u9), .{ 0, 1, 1 << 8 }); | ||
| 5825 | try testArgs(@Vector(3, i512), @Vector(3, u9), .{ 0, 1, 1 << 8 }); | ||
| 5826 | try testArgs(@Vector(3, i1024), @Vector(3, u9), .{ 0, 1, 1 << 8 }); | ||
| 5827 | |||
| 5828 | try testArgs(@Vector(3, u8), @Vector(3, i15), .{ -1 << 14, -1, 0 }); | ||
| 5829 | try testArgs(@Vector(3, u16), @Vector(3, i15), .{ -1 << 14, -1, 0 }); | ||
| 5830 | try testArgs(@Vector(3, u32), @Vector(3, i15), .{ -1 << 14, -1, 0 }); | ||
| 5831 | try testArgs(@Vector(3, u64), @Vector(3, i15), .{ -1 << 14, -1, 0 }); | ||
| 5832 | try testArgs(@Vector(3, u128), @Vector(3, i15), .{ -1 << 14, -1, 0 }); | ||
| 5833 | try testArgs(@Vector(3, u256), @Vector(3, i15), .{ -1 << 14, -1, 0 }); | ||
| 5834 | try testArgs(@Vector(3, u512), @Vector(3, i15), .{ -1 << 14, -1, 0 }); | ||
| 5835 | try testArgs(@Vector(3, u1024), @Vector(3, i15), .{ -1 << 14, -1, 0 }); | ||
| 5836 | try testArgs(@Vector(3, i8), @Vector(3, u15), .{ 0, 1, 1 << 14 }); | ||
| 5837 | try testArgs(@Vector(3, i16), @Vector(3, u15), .{ 0, 1, 1 << 14 }); | ||
| 5838 | try testArgs(@Vector(3, i32), @Vector(3, u15), .{ 0, 1, 1 << 14 }); | ||
| 5839 | try testArgs(@Vector(3, i64), @Vector(3, u15), .{ 0, 1, 1 << 14 }); | ||
| 5840 | try testArgs(@Vector(3, i128), @Vector(3, u15), .{ 0, 1, 1 << 14 }); | ||
| 5841 | try testArgs(@Vector(3, i256), @Vector(3, u15), .{ 0, 1, 1 << 14 }); | ||
| 5842 | try testArgs(@Vector(3, i512), @Vector(3, u15), .{ 0, 1, 1 << 14 }); | ||
| 5843 | try testArgs(@Vector(3, i1024), @Vector(3, u15), .{ 0, 1, 1 << 14 }); | ||
| 5844 | |||
| 5845 | try testArgs(@Vector(3, u8), @Vector(3, i16), .{ -1 << 15, -1, 0 }); | ||
| 5846 | try testArgs(@Vector(3, u16), @Vector(3, i16), .{ -1 << 15, -1, 0 }); | ||
| 5847 | try testArgs(@Vector(3, u32), @Vector(3, i16), .{ -1 << 15, -1, 0 }); | ||
| 5848 | try testArgs(@Vector(3, u64), @Vector(3, i16), .{ -1 << 15, -1, 0 }); | ||
| 5849 | try testArgs(@Vector(3, u128), @Vector(3, i16), .{ -1 << 15, -1, 0 }); | ||
| 5850 | try testArgs(@Vector(3, u256), @Vector(3, i16), .{ -1 << 15, -1, 0 }); | ||
| 5851 | try testArgs(@Vector(3, u512), @Vector(3, i16), .{ -1 << 15, -1, 0 }); | ||
| 5852 | try testArgs(@Vector(3, u1024), @Vector(3, i16), .{ -1 << 15, -1, 0 }); | ||
| 5853 | try testArgs(@Vector(3, i8), @Vector(3, u16), .{ 0, 1, 1 << 15 }); | ||
| 5854 | try testArgs(@Vector(3, i16), @Vector(3, u16), .{ 0, 1, 1 << 15 }); | ||
| 5855 | try testArgs(@Vector(3, i32), @Vector(3, u16), .{ 0, 1, 1 << 15 }); | ||
| 5856 | try testArgs(@Vector(3, i64), @Vector(3, u16), .{ 0, 1, 1 << 15 }); | ||
| 5857 | try testArgs(@Vector(3, i128), @Vector(3, u16), .{ 0, 1, 1 << 15 }); | ||
| 5858 | try testArgs(@Vector(3, i256), @Vector(3, u16), .{ 0, 1, 1 << 15 }); | ||
| 5859 | try testArgs(@Vector(3, i512), @Vector(3, u16), .{ 0, 1, 1 << 15 }); | ||
| 5860 | try testArgs(@Vector(3, i1024), @Vector(3, u16), .{ 0, 1, 1 << 15 }); | ||
| 5861 | |||
| 5862 | try testArgs(@Vector(3, u8), @Vector(3, i17), .{ -1 << 16, -1, 0 }); | ||
| 5863 | try testArgs(@Vector(3, u16), @Vector(3, i17), .{ -1 << 16, -1, 0 }); | ||
| 5864 | try testArgs(@Vector(3, u32), @Vector(3, i17), .{ -1 << 16, -1, 0 }); | ||
| 5865 | try testArgs(@Vector(3, u64), @Vector(3, i17), .{ -1 << 16, -1, 0 }); | ||
| 5866 | try testArgs(@Vector(3, u128), @Vector(3, i17), .{ -1 << 16, -1, 0 }); | ||
| 5867 | try testArgs(@Vector(3, u256), @Vector(3, i17), .{ -1 << 16, -1, 0 }); | ||
| 5868 | try testArgs(@Vector(3, u512), @Vector(3, i17), .{ -1 << 16, -1, 0 }); | ||
| 5869 | try testArgs(@Vector(3, u1024), @Vector(3, i17), .{ -1 << 16, -1, 0 }); | ||
| 5870 | try testArgs(@Vector(3, i8), @Vector(3, u17), .{ 0, 1, 1 << 16 }); | ||
| 5871 | try testArgs(@Vector(3, i16), @Vector(3, u17), .{ 0, 1, 1 << 16 }); | ||
| 5872 | try testArgs(@Vector(3, i32), @Vector(3, u17), .{ 0, 1, 1 << 16 }); | ||
| 5873 | try testArgs(@Vector(3, i64), @Vector(3, u17), .{ 0, 1, 1 << 16 }); | ||
| 5874 | try testArgs(@Vector(3, i128), @Vector(3, u17), .{ 0, 1, 1 << 16 }); | ||
| 5875 | try testArgs(@Vector(3, i256), @Vector(3, u17), .{ 0, 1, 1 << 16 }); | ||
| 5876 | try testArgs(@Vector(3, i512), @Vector(3, u17), .{ 0, 1, 1 << 16 }); | ||
| 5877 | try testArgs(@Vector(3, i1024), @Vector(3, u17), .{ 0, 1, 1 << 16 }); | ||
| 5878 | |||
| 5879 | try testArgs(@Vector(3, u8), @Vector(3, i31), .{ -1 << 30, -1, 0 }); | ||
| 5880 | try testArgs(@Vector(3, u16), @Vector(3, i31), .{ -1 << 30, -1, 0 }); | ||
| 5881 | try testArgs(@Vector(3, u32), @Vector(3, i31), .{ -1 << 30, -1, 0 }); | ||
| 5882 | try testArgs(@Vector(3, u64), @Vector(3, i31), .{ -1 << 30, -1, 0 }); | ||
| 5883 | try testArgs(@Vector(3, u128), @Vector(3, i31), .{ -1 << 30, -1, 0 }); | ||
| 5884 | try testArgs(@Vector(3, u256), @Vector(3, i31), .{ -1 << 30, -1, 0 }); | ||
| 5885 | try testArgs(@Vector(3, u512), @Vector(3, i31), .{ -1 << 30, -1, 0 }); | ||
| 5886 | try testArgs(@Vector(3, u1024), @Vector(3, i31), .{ -1 << 30, -1, 0 }); | ||
| 5887 | try testArgs(@Vector(3, i8), @Vector(3, u31), .{ 0, 1, 1 << 30 }); | ||
| 5888 | try testArgs(@Vector(3, i16), @Vector(3, u31), .{ 0, 1, 1 << 30 }); | ||
| 5889 | try testArgs(@Vector(3, i32), @Vector(3, u31), .{ 0, 1, 1 << 30 }); | ||
| 5890 | try testArgs(@Vector(3, i64), @Vector(3, u31), .{ 0, 1, 1 << 30 }); | ||
| 5891 | try testArgs(@Vector(3, i128), @Vector(3, u31), .{ 0, 1, 1 << 30 }); | ||
| 5892 | try testArgs(@Vector(3, i256), @Vector(3, u31), .{ 0, 1, 1 << 30 }); | ||
| 5893 | try testArgs(@Vector(3, i512), @Vector(3, u31), .{ 0, 1, 1 << 30 }); | ||
| 5894 | try testArgs(@Vector(3, i1024), @Vector(3, u31), .{ 0, 1, 1 << 30 }); | ||
| 5895 | |||
| 5896 | try testArgs(@Vector(3, u8), @Vector(3, i32), .{ -1 << 31, -1, 0 }); | ||
| 5897 | try testArgs(@Vector(3, u16), @Vector(3, i32), .{ -1 << 31, -1, 0 }); | ||
| 5898 | try testArgs(@Vector(3, u32), @Vector(3, i32), .{ -1 << 31, -1, 0 }); | ||
| 5899 | try testArgs(@Vector(3, u64), @Vector(3, i32), .{ -1 << 31, -1, 0 }); | ||
| 5900 | try testArgs(@Vector(3, u128), @Vector(3, i32), .{ -1 << 31, -1, 0 }); | ||
| 5901 | try testArgs(@Vector(3, u256), @Vector(3, i32), .{ -1 << 31, -1, 0 }); | ||
| 5902 | try testArgs(@Vector(3, u512), @Vector(3, i32), .{ -1 << 31, -1, 0 }); | ||
| 5903 | try testArgs(@Vector(3, u1024), @Vector(3, i32), .{ -1 << 31, -1, 0 }); | ||
| 5904 | try testArgs(@Vector(3, i8), @Vector(3, u32), .{ 0, 1, 1 << 31 }); | ||
| 5905 | try testArgs(@Vector(3, i16), @Vector(3, u32), .{ 0, 1, 1 << 31 }); | ||
| 5906 | try testArgs(@Vector(3, i32), @Vector(3, u32), .{ 0, 1, 1 << 31 }); | ||
| 5907 | try testArgs(@Vector(3, i64), @Vector(3, u32), .{ 0, 1, 1 << 31 }); | ||
| 5908 | try testArgs(@Vector(3, i128), @Vector(3, u32), .{ 0, 1, 1 << 31 }); | ||
| 5909 | try testArgs(@Vector(3, i256), @Vector(3, u32), .{ 0, 1, 1 << 31 }); | ||
| 5910 | try testArgs(@Vector(3, i512), @Vector(3, u32), .{ 0, 1, 1 << 31 }); | ||
| 5911 | try testArgs(@Vector(3, i1024), @Vector(3, u32), .{ 0, 1, 1 << 31 }); | ||
| 5912 | |||
| 5913 | try testArgs(@Vector(3, u8), @Vector(3, i33), .{ -1 << 32, -1, 0 }); | ||
| 5914 | try testArgs(@Vector(3, u16), @Vector(3, i33), .{ -1 << 32, -1, 0 }); | ||
| 5915 | try testArgs(@Vector(3, u32), @Vector(3, i33), .{ -1 << 32, -1, 0 }); | ||
| 5916 | try testArgs(@Vector(3, u64), @Vector(3, i33), .{ -1 << 32, -1, 0 }); | ||
| 5917 | try testArgs(@Vector(3, u128), @Vector(3, i33), .{ -1 << 32, -1, 0 }); | ||
| 5918 | try testArgs(@Vector(3, u256), @Vector(3, i33), .{ -1 << 32, -1, 0 }); | ||
| 5919 | try testArgs(@Vector(3, u512), @Vector(3, i33), .{ -1 << 32, -1, 0 }); | ||
| 5920 | try testArgs(@Vector(3, u1024), @Vector(3, i33), .{ -1 << 32, -1, 0 }); | ||
| 5921 | try testArgs(@Vector(3, i8), @Vector(3, u33), .{ 0, 1, 1 << 32 }); | ||
| 5922 | try testArgs(@Vector(3, i16), @Vector(3, u33), .{ 0, 1, 1 << 32 }); | ||
| 5923 | try testArgs(@Vector(3, i32), @Vector(3, u33), .{ 0, 1, 1 << 32 }); | ||
| 5924 | try testArgs(@Vector(3, i64), @Vector(3, u33), .{ 0, 1, 1 << 32 }); | ||
| 5925 | try testArgs(@Vector(3, i128), @Vector(3, u33), .{ 0, 1, 1 << 32 }); | ||
| 5926 | try testArgs(@Vector(3, i256), @Vector(3, u33), .{ 0, 1, 1 << 32 }); | ||
| 5927 | try testArgs(@Vector(3, i512), @Vector(3, u33), .{ 0, 1, 1 << 32 }); | ||
| 5928 | try testArgs(@Vector(3, i1024), @Vector(3, u33), .{ 0, 1, 1 << 32 }); | ||
| 5929 | |||
| 5930 | try testArgs(@Vector(3, u8), @Vector(3, i63), .{ -1 << 62, -1, 0 }); | ||
| 5931 | try testArgs(@Vector(3, u16), @Vector(3, i63), .{ -1 << 62, -1, 0 }); | ||
| 5932 | try testArgs(@Vector(3, u32), @Vector(3, i63), .{ -1 << 62, -1, 0 }); | ||
| 5933 | try testArgs(@Vector(3, u64), @Vector(3, i63), .{ -1 << 62, -1, 0 }); | ||
| 5934 | try testArgs(@Vector(3, u128), @Vector(3, i63), .{ -1 << 62, -1, 0 }); | ||
| 5935 | try testArgs(@Vector(3, u256), @Vector(3, i63), .{ -1 << 62, -1, 0 }); | ||
| 5936 | try testArgs(@Vector(3, u512), @Vector(3, i63), .{ -1 << 62, -1, 0 }); | ||
| 5937 | try testArgs(@Vector(3, u1024), @Vector(3, i63), .{ -1 << 62, -1, 0 }); | ||
| 5938 | try testArgs(@Vector(3, i8), @Vector(3, u63), .{ 0, 1, 1 << 62 }); | ||
| 5939 | try testArgs(@Vector(3, i16), @Vector(3, u63), .{ 0, 1, 1 << 62 }); | ||
| 5940 | try testArgs(@Vector(3, i32), @Vector(3, u63), .{ 0, 1, 1 << 62 }); | ||
| 5941 | try testArgs(@Vector(3, i64), @Vector(3, u63), .{ 0, 1, 1 << 62 }); | ||
| 5942 | try testArgs(@Vector(3, i128), @Vector(3, u63), .{ 0, 1, 1 << 62 }); | ||
| 5943 | try testArgs(@Vector(3, i256), @Vector(3, u63), .{ 0, 1, 1 << 62 }); | ||
| 5944 | try testArgs(@Vector(3, i512), @Vector(3, u63), .{ 0, 1, 1 << 62 }); | ||
| 5945 | try testArgs(@Vector(3, i1024), @Vector(3, u63), .{ 0, 1, 1 << 62 }); | ||
| 5946 | |||
| 5947 | try testArgs(@Vector(3, u8), @Vector(3, i64), .{ -1 << 63, -1, 0 }); | ||
| 5948 | try testArgs(@Vector(3, u16), @Vector(3, i64), .{ -1 << 63, -1, 0 }); | ||
| 5949 | try testArgs(@Vector(3, u32), @Vector(3, i64), .{ -1 << 63, -1, 0 }); | ||
| 5950 | try testArgs(@Vector(3, u64), @Vector(3, i64), .{ -1 << 63, -1, 0 }); | ||
| 5951 | try testArgs(@Vector(3, u128), @Vector(3, i64), .{ -1 << 63, -1, 0 }); | ||
| 5952 | try testArgs(@Vector(3, u256), @Vector(3, i64), .{ -1 << 63, -1, 0 }); | ||
| 5953 | try testArgs(@Vector(3, u512), @Vector(3, i64), .{ -1 << 63, -1, 0 }); | ||
| 5954 | try testArgs(@Vector(3, u1024), @Vector(3, i64), .{ -1 << 63, -1, 0 }); | ||
| 5955 | try testArgs(@Vector(3, i8), @Vector(3, u64), .{ 0, 1, 1 << 63 }); | ||
| 5956 | try testArgs(@Vector(3, i16), @Vector(3, u64), .{ 0, 1, 1 << 63 }); | ||
| 5957 | try testArgs(@Vector(3, i32), @Vector(3, u64), .{ 0, 1, 1 << 63 }); | ||
| 5958 | try testArgs(@Vector(3, i64), @Vector(3, u64), .{ 0, 1, 1 << 63 }); | ||
| 5959 | try testArgs(@Vector(3, i128), @Vector(3, u64), .{ 0, 1, 1 << 63 }); | ||
| 5960 | try testArgs(@Vector(3, i256), @Vector(3, u64), .{ 0, 1, 1 << 63 }); | ||
| 5961 | try testArgs(@Vector(3, i512), @Vector(3, u64), .{ 0, 1, 1 << 63 }); | ||
| 5962 | try testArgs(@Vector(3, i1024), @Vector(3, u64), .{ 0, 1, 1 << 63 }); | ||
| 5963 | |||
| 5964 | try testArgs(@Vector(3, u8), @Vector(3, i65), .{ -1 << 64, -1, 0 }); | ||
| 5965 | try testArgs(@Vector(3, u16), @Vector(3, i65), .{ -1 << 64, -1, 0 }); | ||
| 5966 | try testArgs(@Vector(3, u32), @Vector(3, i65), .{ -1 << 64, -1, 0 }); | ||
| 5967 | try testArgs(@Vector(3, u64), @Vector(3, i65), .{ -1 << 64, -1, 0 }); | ||
| 5968 | try testArgs(@Vector(3, u128), @Vector(3, i65), .{ -1 << 64, -1, 0 }); | ||
| 5969 | try testArgs(@Vector(3, u256), @Vector(3, i65), .{ -1 << 64, -1, 0 }); | ||
| 5970 | try testArgs(@Vector(3, u512), @Vector(3, i65), .{ -1 << 64, -1, 0 }); | ||
| 5971 | try testArgs(@Vector(3, u1024), @Vector(3, i65), .{ -1 << 64, -1, 0 }); | ||
| 5972 | try testArgs(@Vector(3, i8), @Vector(3, u65), .{ 0, 1, 1 << 64 }); | ||
| 5973 | try testArgs(@Vector(3, i16), @Vector(3, u65), .{ 0, 1, 1 << 64 }); | ||
| 5974 | try testArgs(@Vector(3, i32), @Vector(3, u65), .{ 0, 1, 1 << 64 }); | ||
| 5975 | try testArgs(@Vector(3, i64), @Vector(3, u65), .{ 0, 1, 1 << 64 }); | ||
| 5976 | try testArgs(@Vector(3, i128), @Vector(3, u65), .{ 0, 1, 1 << 64 }); | ||
| 5977 | try testArgs(@Vector(3, i256), @Vector(3, u65), .{ 0, 1, 1 << 64 }); | ||
| 5978 | try testArgs(@Vector(3, i512), @Vector(3, u65), .{ 0, 1, 1 << 64 }); | ||
| 5979 | try testArgs(@Vector(3, i1024), @Vector(3, u65), .{ 0, 1, 1 << 64 }); | ||
| 5980 | |||
| 5981 | try testArgs(@Vector(3, u8), @Vector(3, i95), .{ -1 << 94, -1, 0 }); | ||
| 5982 | try testArgs(@Vector(3, u16), @Vector(3, i95), .{ -1 << 94, -1, 0 }); | ||
| 5983 | try testArgs(@Vector(3, u32), @Vector(3, i95), .{ -1 << 94, -1, 0 }); | ||
| 5984 | try testArgs(@Vector(3, u64), @Vector(3, i95), .{ -1 << 94, -1, 0 }); | ||
| 5985 | try testArgs(@Vector(3, u128), @Vector(3, i95), .{ -1 << 94, -1, 0 }); | ||
| 5986 | try testArgs(@Vector(3, u256), @Vector(3, i95), .{ -1 << 94, -1, 0 }); | ||
| 5987 | try testArgs(@Vector(3, u512), @Vector(3, i95), .{ -1 << 94, -1, 0 }); | ||
| 5988 | try testArgs(@Vector(3, u1024), @Vector(3, i95), .{ -1 << 94, -1, 0 }); | ||
| 5989 | try testArgs(@Vector(3, i8), @Vector(3, u95), .{ 0, 1, 1 << 94 }); | ||
| 5990 | try testArgs(@Vector(3, i16), @Vector(3, u95), .{ 0, 1, 1 << 94 }); | ||
| 5991 | try testArgs(@Vector(3, i32), @Vector(3, u95), .{ 0, 1, 1 << 94 }); | ||
| 5992 | try testArgs(@Vector(3, i64), @Vector(3, u95), .{ 0, 1, 1 << 94 }); | ||
| 5993 | try testArgs(@Vector(3, i128), @Vector(3, u95), .{ 0, 1, 1 << 94 }); | ||
| 5994 | try testArgs(@Vector(3, i256), @Vector(3, u95), .{ 0, 1, 1 << 94 }); | ||
| 5995 | try testArgs(@Vector(3, i512), @Vector(3, u95), .{ 0, 1, 1 << 94 }); | ||
| 5996 | try testArgs(@Vector(3, i1024), @Vector(3, u95), .{ 0, 1, 1 << 94 }); | ||
| 5997 | |||
| 5998 | try testArgs(@Vector(3, u8), @Vector(3, i96), .{ -1 << 95, -1, 0 }); | ||
| 5999 | try testArgs(@Vector(3, u16), @Vector(3, i96), .{ -1 << 95, -1, 0 }); | ||
| 6000 | try testArgs(@Vector(3, u32), @Vector(3, i96), .{ -1 << 95, -1, 0 }); | ||
| 6001 | try testArgs(@Vector(3, u64), @Vector(3, i96), .{ -1 << 95, -1, 0 }); | ||
| 6002 | try testArgs(@Vector(3, u128), @Vector(3, i96), .{ -1 << 95, -1, 0 }); | ||
| 6003 | try testArgs(@Vector(3, u256), @Vector(3, i96), .{ -1 << 95, -1, 0 }); | ||
| 6004 | try testArgs(@Vector(3, u512), @Vector(3, i96), .{ -1 << 95, -1, 0 }); | ||
| 6005 | try testArgs(@Vector(3, u1024), @Vector(3, i96), .{ -1 << 95, -1, 0 }); | ||
| 6006 | try testArgs(@Vector(3, i8), @Vector(3, u96), .{ 0, 1, 1 << 95 }); | ||
| 6007 | try testArgs(@Vector(3, i16), @Vector(3, u96), .{ 0, 1, 1 << 95 }); | ||
| 6008 | try testArgs(@Vector(3, i32), @Vector(3, u96), .{ 0, 1, 1 << 95 }); | ||
| 6009 | try testArgs(@Vector(3, i64), @Vector(3, u96), .{ 0, 1, 1 << 95 }); | ||
| 6010 | try testArgs(@Vector(3, i128), @Vector(3, u96), .{ 0, 1, 1 << 95 }); | ||
| 6011 | try testArgs(@Vector(3, i256), @Vector(3, u96), .{ 0, 1, 1 << 95 }); | ||
| 6012 | try testArgs(@Vector(3, i512), @Vector(3, u96), .{ 0, 1, 1 << 95 }); | ||
| 6013 | try testArgs(@Vector(3, i1024), @Vector(3, u96), .{ 0, 1, 1 << 95 }); | ||
| 6014 | |||
| 6015 | try testArgs(@Vector(3, u8), @Vector(3, i97), .{ -1 << 96, -1, 0 }); | ||
| 6016 | try testArgs(@Vector(3, u16), @Vector(3, i97), .{ -1 << 96, -1, 0 }); | ||
| 6017 | try testArgs(@Vector(3, u32), @Vector(3, i97), .{ -1 << 96, -1, 0 }); | ||
| 6018 | try testArgs(@Vector(3, u64), @Vector(3, i97), .{ -1 << 96, -1, 0 }); | ||
| 6019 | try testArgs(@Vector(3, u128), @Vector(3, i97), .{ -1 << 96, -1, 0 }); | ||
| 6020 | try testArgs(@Vector(3, u256), @Vector(3, i97), .{ -1 << 96, -1, 0 }); | ||
| 6021 | try testArgs(@Vector(3, u512), @Vector(3, i97), .{ -1 << 96, -1, 0 }); | ||
| 6022 | try testArgs(@Vector(3, u1024), @Vector(3, i97), .{ -1 << 96, -1, 0 }); | ||
| 6023 | try testArgs(@Vector(3, i8), @Vector(3, u97), .{ 0, 1, 1 << 96 }); | ||
| 6024 | try testArgs(@Vector(3, i16), @Vector(3, u97), .{ 0, 1, 1 << 96 }); | ||
| 6025 | try testArgs(@Vector(3, i32), @Vector(3, u97), .{ 0, 1, 1 << 96 }); | ||
| 6026 | try testArgs(@Vector(3, i64), @Vector(3, u97), .{ 0, 1, 1 << 96 }); | ||
| 6027 | try testArgs(@Vector(3, i128), @Vector(3, u97), .{ 0, 1, 1 << 96 }); | ||
| 6028 | try testArgs(@Vector(3, i256), @Vector(3, u97), .{ 0, 1, 1 << 96 }); | ||
| 6029 | try testArgs(@Vector(3, i512), @Vector(3, u97), .{ 0, 1, 1 << 96 }); | ||
| 6030 | try testArgs(@Vector(3, i1024), @Vector(3, u97), .{ 0, 1, 1 << 96 }); | ||
| 6031 | |||
| 6032 | try testArgs(@Vector(3, u8), @Vector(3, i127), .{ -1 << 126, -1, 0 }); | ||
| 6033 | try testArgs(@Vector(3, u16), @Vector(3, i127), .{ -1 << 126, -1, 0 }); | ||
| 6034 | try testArgs(@Vector(3, u32), @Vector(3, i127), .{ -1 << 126, -1, 0 }); | ||
| 6035 | try testArgs(@Vector(3, u64), @Vector(3, i127), .{ -1 << 126, -1, 0 }); | ||
| 6036 | try testArgs(@Vector(3, u128), @Vector(3, i127), .{ -1 << 126, -1, 0 }); | ||
| 6037 | try testArgs(@Vector(3, u256), @Vector(3, i127), .{ -1 << 126, -1, 0 }); | ||
| 6038 | try testArgs(@Vector(3, u512), @Vector(3, i127), .{ -1 << 126, -1, 0 }); | ||
| 6039 | try testArgs(@Vector(3, u1024), @Vector(3, i127), .{ -1 << 126, -1, 0 }); | ||
| 6040 | try testArgs(@Vector(3, i8), @Vector(3, u127), .{ 0, 1, 1 << 126 }); | ||
| 6041 | try testArgs(@Vector(3, i16), @Vector(3, u127), .{ 0, 1, 1 << 126 }); | ||
| 6042 | try testArgs(@Vector(3, i32), @Vector(3, u127), .{ 0, 1, 1 << 126 }); | ||
| 6043 | try testArgs(@Vector(3, i64), @Vector(3, u127), .{ 0, 1, 1 << 126 }); | ||
| 6044 | try testArgs(@Vector(3, i128), @Vector(3, u127), .{ 0, 1, 1 << 126 }); | ||
| 6045 | try testArgs(@Vector(3, i256), @Vector(3, u127), .{ 0, 1, 1 << 126 }); | ||
| 6046 | try testArgs(@Vector(3, i512), @Vector(3, u127), .{ 0, 1, 1 << 126 }); | ||
| 6047 | try testArgs(@Vector(3, i1024), @Vector(3, u127), .{ 0, 1, 1 << 126 }); | ||
| 6048 | |||
| 6049 | try testArgs(@Vector(3, u8), @Vector(3, i128), .{ -1 << 127, -1, 0 }); | ||
| 6050 | try testArgs(@Vector(3, u16), @Vector(3, i128), .{ -1 << 127, -1, 0 }); | ||
| 6051 | try testArgs(@Vector(3, u32), @Vector(3, i128), .{ -1 << 127, -1, 0 }); | ||
| 6052 | try testArgs(@Vector(3, u64), @Vector(3, i128), .{ -1 << 127, -1, 0 }); | ||
| 6053 | try testArgs(@Vector(3, u128), @Vector(3, i128), .{ -1 << 127, -1, 0 }); | ||
| 6054 | try testArgs(@Vector(3, u256), @Vector(3, i128), .{ -1 << 127, -1, 0 }); | ||
| 6055 | try testArgs(@Vector(3, u512), @Vector(3, i128), .{ -1 << 127, -1, 0 }); | ||
| 6056 | try testArgs(@Vector(3, u1024), @Vector(3, i128), .{ -1 << 127, -1, 0 }); | ||
| 6057 | try testArgs(@Vector(3, i8), @Vector(3, u128), .{ 0, 1, 1 << 127 }); | ||
| 6058 | try testArgs(@Vector(3, i16), @Vector(3, u128), .{ 0, 1, 1 << 127 }); | ||
| 6059 | try testArgs(@Vector(3, i32), @Vector(3, u128), .{ 0, 1, 1 << 127 }); | ||
| 6060 | try testArgs(@Vector(3, i64), @Vector(3, u128), .{ 0, 1, 1 << 127 }); | ||
| 6061 | try testArgs(@Vector(3, i128), @Vector(3, u128), .{ 0, 1, 1 << 127 }); | ||
| 6062 | try testArgs(@Vector(3, i256), @Vector(3, u128), .{ 0, 1, 1 << 127 }); | ||
| 6063 | try testArgs(@Vector(3, i512), @Vector(3, u128), .{ 0, 1, 1 << 127 }); | ||
| 6064 | try testArgs(@Vector(3, i1024), @Vector(3, u128), .{ 0, 1, 1 << 127 }); | ||
| 6065 | |||
| 6066 | try testArgs(@Vector(3, u8), @Vector(3, i129), .{ -1 << 128, -1, 0 }); | ||
| 6067 | try testArgs(@Vector(3, u16), @Vector(3, i129), .{ -1 << 128, -1, 0 }); | ||
| 6068 | try testArgs(@Vector(3, u32), @Vector(3, i129), .{ -1 << 128, -1, 0 }); | ||
| 6069 | try testArgs(@Vector(3, u64), @Vector(3, i129), .{ -1 << 128, -1, 0 }); | ||
| 6070 | try testArgs(@Vector(3, u128), @Vector(3, i129), .{ -1 << 128, -1, 0 }); | ||
| 6071 | try testArgs(@Vector(3, u256), @Vector(3, i129), .{ -1 << 128, -1, 0 }); | ||
| 6072 | try testArgs(@Vector(3, u512), @Vector(3, i129), .{ -1 << 128, -1, 0 }); | ||
| 6073 | try testArgs(@Vector(3, u1024), @Vector(3, i129), .{ -1 << 128, -1, 0 }); | ||
| 6074 | try testArgs(@Vector(3, i8), @Vector(3, u129), .{ 0, 1, 1 << 128 }); | ||
| 6075 | try testArgs(@Vector(3, i16), @Vector(3, u129), .{ 0, 1, 1 << 128 }); | ||
| 6076 | try testArgs(@Vector(3, i32), @Vector(3, u129), .{ 0, 1, 1 << 128 }); | ||
| 6077 | try testArgs(@Vector(3, i64), @Vector(3, u129), .{ 0, 1, 1 << 128 }); | ||
| 6078 | try testArgs(@Vector(3, i128), @Vector(3, u129), .{ 0, 1, 1 << 128 }); | ||
| 6079 | try testArgs(@Vector(3, i256), @Vector(3, u129), .{ 0, 1, 1 << 128 }); | ||
| 6080 | try testArgs(@Vector(3, i512), @Vector(3, u129), .{ 0, 1, 1 << 128 }); | ||
| 6081 | try testArgs(@Vector(3, i1024), @Vector(3, u129), .{ 0, 1, 1 << 128 }); | ||
| 6082 | |||
| 6083 | try testArgs(@Vector(3, u8), @Vector(3, i159), .{ -1 << 158, -1, 0 }); | ||
| 6084 | try testArgs(@Vector(3, u16), @Vector(3, i159), .{ -1 << 158, -1, 0 }); | ||
| 6085 | try testArgs(@Vector(3, u32), @Vector(3, i159), .{ -1 << 158, -1, 0 }); | ||
| 6086 | try testArgs(@Vector(3, u64), @Vector(3, i159), .{ -1 << 158, -1, 0 }); | ||
| 6087 | try testArgs(@Vector(3, u128), @Vector(3, i159), .{ -1 << 158, -1, 0 }); | ||
| 6088 | try testArgs(@Vector(3, u256), @Vector(3, i159), .{ -1 << 158, -1, 0 }); | ||
| 6089 | try testArgs(@Vector(3, u512), @Vector(3, i159), .{ -1 << 158, -1, 0 }); | ||
| 6090 | try testArgs(@Vector(3, u1024), @Vector(3, i159), .{ -1 << 158, -1, 0 }); | ||
| 6091 | try testArgs(@Vector(3, i8), @Vector(3, u159), .{ 0, 1, 1 << 158 }); | ||
| 6092 | try testArgs(@Vector(3, i16), @Vector(3, u159), .{ 0, 1, 1 << 158 }); | ||
| 6093 | try testArgs(@Vector(3, i32), @Vector(3, u159), .{ 0, 1, 1 << 158 }); | ||
| 6094 | try testArgs(@Vector(3, i64), @Vector(3, u159), .{ 0, 1, 1 << 158 }); | ||
| 6095 | try testArgs(@Vector(3, i128), @Vector(3, u159), .{ 0, 1, 1 << 158 }); | ||
| 6096 | try testArgs(@Vector(3, i256), @Vector(3, u159), .{ 0, 1, 1 << 158 }); | ||
| 6097 | try testArgs(@Vector(3, i512), @Vector(3, u159), .{ 0, 1, 1 << 158 }); | ||
| 6098 | try testArgs(@Vector(3, i1024), @Vector(3, u159), .{ 0, 1, 1 << 158 }); | ||
| 6099 | |||
| 6100 | try testArgs(@Vector(3, u8), @Vector(3, i160), .{ -1 << 159, -1, 0 }); | ||
| 6101 | try testArgs(@Vector(3, u16), @Vector(3, i160), .{ -1 << 159, -1, 0 }); | ||
| 6102 | try testArgs(@Vector(3, u32), @Vector(3, i160), .{ -1 << 159, -1, 0 }); | ||
| 6103 | try testArgs(@Vector(3, u64), @Vector(3, i160), .{ -1 << 159, -1, 0 }); | ||
| 6104 | try testArgs(@Vector(3, u128), @Vector(3, i160), .{ -1 << 159, -1, 0 }); | ||
| 6105 | try testArgs(@Vector(3, u256), @Vector(3, i160), .{ -1 << 159, -1, 0 }); | ||
| 6106 | try testArgs(@Vector(3, u512), @Vector(3, i160), .{ -1 << 159, -1, 0 }); | ||
| 6107 | try testArgs(@Vector(3, u1024), @Vector(3, i160), .{ -1 << 159, -1, 0 }); | ||
| 6108 | try testArgs(@Vector(3, i8), @Vector(3, u160), .{ 0, 1, 1 << 159 }); | ||
| 6109 | try testArgs(@Vector(3, i16), @Vector(3, u160), .{ 0, 1, 1 << 159 }); | ||
| 6110 | try testArgs(@Vector(3, i32), @Vector(3, u160), .{ 0, 1, 1 << 159 }); | ||
| 6111 | try testArgs(@Vector(3, i64), @Vector(3, u160), .{ 0, 1, 1 << 159 }); | ||
| 6112 | try testArgs(@Vector(3, i128), @Vector(3, u160), .{ 0, 1, 1 << 159 }); | ||
| 6113 | try testArgs(@Vector(3, i256), @Vector(3, u160), .{ 0, 1, 1 << 159 }); | ||
| 6114 | try testArgs(@Vector(3, i512), @Vector(3, u160), .{ 0, 1, 1 << 159 }); | ||
| 6115 | try testArgs(@Vector(3, i1024), @Vector(3, u160), .{ 0, 1, 1 << 159 }); | ||
| 6116 | |||
| 6117 | try testArgs(@Vector(3, u8), @Vector(3, i161), .{ -1 << 160, -1, 0 }); | ||
| 6118 | try testArgs(@Vector(3, u16), @Vector(3, i161), .{ -1 << 160, -1, 0 }); | ||
| 6119 | try testArgs(@Vector(3, u32), @Vector(3, i161), .{ -1 << 160, -1, 0 }); | ||
| 6120 | try testArgs(@Vector(3, u64), @Vector(3, i161), .{ -1 << 160, -1, 0 }); | ||
| 6121 | try testArgs(@Vector(3, u128), @Vector(3, i161), .{ -1 << 160, -1, 0 }); | ||
| 6122 | try testArgs(@Vector(3, u256), @Vector(3, i161), .{ -1 << 160, -1, 0 }); | ||
| 6123 | try testArgs(@Vector(3, u512), @Vector(3, i161), .{ -1 << 160, -1, 0 }); | ||
| 6124 | try testArgs(@Vector(3, u1024), @Vector(3, i161), .{ -1 << 160, -1, 0 }); | ||
| 6125 | try testArgs(@Vector(3, i8), @Vector(3, u161), .{ 0, 1, 1 << 160 }); | ||
| 6126 | try testArgs(@Vector(3, i16), @Vector(3, u161), .{ 0, 1, 1 << 160 }); | ||
| 6127 | try testArgs(@Vector(3, i32), @Vector(3, u161), .{ 0, 1, 1 << 160 }); | ||
| 6128 | try testArgs(@Vector(3, i64), @Vector(3, u161), .{ 0, 1, 1 << 160 }); | ||
| 6129 | try testArgs(@Vector(3, i128), @Vector(3, u161), .{ 0, 1, 1 << 160 }); | ||
| 6130 | try testArgs(@Vector(3, i256), @Vector(3, u161), .{ 0, 1, 1 << 160 }); | ||
| 6131 | try testArgs(@Vector(3, i512), @Vector(3, u161), .{ 0, 1, 1 << 160 }); | ||
| 6132 | try testArgs(@Vector(3, i1024), @Vector(3, u161), .{ 0, 1, 1 << 160 }); | ||
| 6133 | |||
| 6134 | try testArgs(@Vector(3, u8), @Vector(3, i191), .{ -1 << 190, -1, 0 }); | ||
| 6135 | try testArgs(@Vector(3, u16), @Vector(3, i191), .{ -1 << 190, -1, 0 }); | ||
| 6136 | try testArgs(@Vector(3, u32), @Vector(3, i191), .{ -1 << 190, -1, 0 }); | ||
| 6137 | try testArgs(@Vector(3, u64), @Vector(3, i191), .{ -1 << 190, -1, 0 }); | ||
| 6138 | try testArgs(@Vector(3, u128), @Vector(3, i191), .{ -1 << 190, -1, 0 }); | ||
| 6139 | try testArgs(@Vector(3, u256), @Vector(3, i191), .{ -1 << 190, -1, 0 }); | ||
| 6140 | try testArgs(@Vector(3, u512), @Vector(3, i191), .{ -1 << 190, -1, 0 }); | ||
| 6141 | try testArgs(@Vector(3, u1024), @Vector(3, i191), .{ -1 << 190, -1, 0 }); | ||
| 6142 | try testArgs(@Vector(3, i8), @Vector(3, u191), .{ 0, 1, 1 << 190 }); | ||
| 6143 | try testArgs(@Vector(3, i16), @Vector(3, u191), .{ 0, 1, 1 << 190 }); | ||
| 6144 | try testArgs(@Vector(3, i32), @Vector(3, u191), .{ 0, 1, 1 << 190 }); | ||
| 6145 | try testArgs(@Vector(3, i64), @Vector(3, u191), .{ 0, 1, 1 << 190 }); | ||
| 6146 | try testArgs(@Vector(3, i128), @Vector(3, u191), .{ 0, 1, 1 << 190 }); | ||
| 6147 | try testArgs(@Vector(3, i256), @Vector(3, u191), .{ 0, 1, 1 << 190 }); | ||
| 6148 | try testArgs(@Vector(3, i512), @Vector(3, u191), .{ 0, 1, 1 << 190 }); | ||
| 6149 | try testArgs(@Vector(3, i1024), @Vector(3, u191), .{ 0, 1, 1 << 190 }); | ||
| 6150 | |||
| 6151 | try testArgs(@Vector(3, u8), @Vector(3, i192), .{ -1 << 191, -1, 0 }); | ||
| 6152 | try testArgs(@Vector(3, u16), @Vector(3, i192), .{ -1 << 191, -1, 0 }); | ||
| 6153 | try testArgs(@Vector(3, u32), @Vector(3, i192), .{ -1 << 191, -1, 0 }); | ||
| 6154 | try testArgs(@Vector(3, u64), @Vector(3, i192), .{ -1 << 191, -1, 0 }); | ||
| 6155 | try testArgs(@Vector(3, u128), @Vector(3, i192), .{ -1 << 191, -1, 0 }); | ||
| 6156 | try testArgs(@Vector(3, u256), @Vector(3, i192), .{ -1 << 191, -1, 0 }); | ||
| 6157 | try testArgs(@Vector(3, u512), @Vector(3, i192), .{ -1 << 191, -1, 0 }); | ||
| 6158 | try testArgs(@Vector(3, u1024), @Vector(3, i192), .{ -1 << 191, -1, 0 }); | ||
| 6159 | try testArgs(@Vector(3, i8), @Vector(3, u192), .{ 0, 1, 1 << 191 }); | ||
| 6160 | try testArgs(@Vector(3, i16), @Vector(3, u192), .{ 0, 1, 1 << 191 }); | ||
| 6161 | try testArgs(@Vector(3, i32), @Vector(3, u192), .{ 0, 1, 1 << 191 }); | ||
| 6162 | try testArgs(@Vector(3, i64), @Vector(3, u192), .{ 0, 1, 1 << 191 }); | ||
| 6163 | try testArgs(@Vector(3, i128), @Vector(3, u192), .{ 0, 1, 1 << 191 }); | ||
| 6164 | try testArgs(@Vector(3, i256), @Vector(3, u192), .{ 0, 1, 1 << 191 }); | ||
| 6165 | try testArgs(@Vector(3, i512), @Vector(3, u192), .{ 0, 1, 1 << 191 }); | ||
| 6166 | try testArgs(@Vector(3, i1024), @Vector(3, u192), .{ 0, 1, 1 << 191 }); | ||
| 6167 | |||
| 6168 | try testArgs(@Vector(3, u8), @Vector(3, i193), .{ -1 << 192, -1, 0 }); | ||
| 6169 | try testArgs(@Vector(3, u16), @Vector(3, i193), .{ -1 << 192, -1, 0 }); | ||
| 6170 | try testArgs(@Vector(3, u32), @Vector(3, i193), .{ -1 << 192, -1, 0 }); | ||
| 6171 | try testArgs(@Vector(3, u64), @Vector(3, i193), .{ -1 << 192, -1, 0 }); | ||
| 6172 | try testArgs(@Vector(3, u128), @Vector(3, i193), .{ -1 << 192, -1, 0 }); | ||
| 6173 | try testArgs(@Vector(3, u256), @Vector(3, i193), .{ -1 << 192, -1, 0 }); | ||
| 6174 | try testArgs(@Vector(3, u512), @Vector(3, i193), .{ -1 << 192, -1, 0 }); | ||
| 6175 | try testArgs(@Vector(3, u1024), @Vector(3, i193), .{ -1 << 192, -1, 0 }); | ||
| 6176 | try testArgs(@Vector(3, i8), @Vector(3, u193), .{ 0, 1, 1 << 192 }); | ||
| 6177 | try testArgs(@Vector(3, i16), @Vector(3, u193), .{ 0, 1, 1 << 192 }); | ||
| 6178 | try testArgs(@Vector(3, i32), @Vector(3, u193), .{ 0, 1, 1 << 192 }); | ||
| 6179 | try testArgs(@Vector(3, i64), @Vector(3, u193), .{ 0, 1, 1 << 192 }); | ||
| 6180 | try testArgs(@Vector(3, i128), @Vector(3, u193), .{ 0, 1, 1 << 192 }); | ||
| 6181 | try testArgs(@Vector(3, i256), @Vector(3, u193), .{ 0, 1, 1 << 192 }); | ||
| 6182 | try testArgs(@Vector(3, i512), @Vector(3, u193), .{ 0, 1, 1 << 192 }); | ||
| 6183 | try testArgs(@Vector(3, i1024), @Vector(3, u193), .{ 0, 1, 1 << 192 }); | ||
| 6184 | |||
| 6185 | try testArgs(@Vector(3, u8), @Vector(3, i223), .{ -1 << 222, -1, 0 }); | ||
| 6186 | try testArgs(@Vector(3, u16), @Vector(3, i223), .{ -1 << 222, -1, 0 }); | ||
| 6187 | try testArgs(@Vector(3, u32), @Vector(3, i223), .{ -1 << 222, -1, 0 }); | ||
| 6188 | try testArgs(@Vector(3, u64), @Vector(3, i223), .{ -1 << 222, -1, 0 }); | ||
| 6189 | try testArgs(@Vector(3, u128), @Vector(3, i223), .{ -1 << 222, -1, 0 }); | ||
| 6190 | try testArgs(@Vector(3, u256), @Vector(3, i223), .{ -1 << 222, -1, 0 }); | ||
| 6191 | try testArgs(@Vector(3, u512), @Vector(3, i223), .{ -1 << 222, -1, 0 }); | ||
| 6192 | try testArgs(@Vector(3, u1024), @Vector(3, i223), .{ -1 << 222, -1, 0 }); | ||
| 6193 | try testArgs(@Vector(3, i8), @Vector(3, u223), .{ 0, 1, 1 << 222 }); | ||
| 6194 | try testArgs(@Vector(3, i16), @Vector(3, u223), .{ 0, 1, 1 << 222 }); | ||
| 6195 | try testArgs(@Vector(3, i32), @Vector(3, u223), .{ 0, 1, 1 << 222 }); | ||
| 6196 | try testArgs(@Vector(3, i64), @Vector(3, u223), .{ 0, 1, 1 << 222 }); | ||
| 6197 | try testArgs(@Vector(3, i128), @Vector(3, u223), .{ 0, 1, 1 << 222 }); | ||
| 6198 | try testArgs(@Vector(3, i256), @Vector(3, u223), .{ 0, 1, 1 << 222 }); | ||
| 6199 | try testArgs(@Vector(3, i512), @Vector(3, u223), .{ 0, 1, 1 << 222 }); | ||
| 6200 | try testArgs(@Vector(3, i1024), @Vector(3, u223), .{ 0, 1, 1 << 222 }); | ||
| 6201 | |||
| 6202 | try testArgs(@Vector(3, u8), @Vector(3, i224), .{ -1 << 223, -1, 0 }); | ||
| 6203 | try testArgs(@Vector(3, u16), @Vector(3, i224), .{ -1 << 223, -1, 0 }); | ||
| 6204 | try testArgs(@Vector(3, u32), @Vector(3, i224), .{ -1 << 223, -1, 0 }); | ||
| 6205 | try testArgs(@Vector(3, u64), @Vector(3, i224), .{ -1 << 223, -1, 0 }); | ||
| 6206 | try testArgs(@Vector(3, u128), @Vector(3, i224), .{ -1 << 223, -1, 0 }); | ||
| 6207 | try testArgs(@Vector(3, u256), @Vector(3, i224), .{ -1 << 223, -1, 0 }); | ||
| 6208 | try testArgs(@Vector(3, u512), @Vector(3, i224), .{ -1 << 223, -1, 0 }); | ||
| 6209 | try testArgs(@Vector(3, u1024), @Vector(3, i224), .{ -1 << 223, -1, 0 }); | ||
| 6210 | try testArgs(@Vector(3, i8), @Vector(3, u224), .{ 0, 1, 1 << 223 }); | ||
| 6211 | try testArgs(@Vector(3, i16), @Vector(3, u224), .{ 0, 1, 1 << 223 }); | ||
| 6212 | try testArgs(@Vector(3, i32), @Vector(3, u224), .{ 0, 1, 1 << 223 }); | ||
| 6213 | try testArgs(@Vector(3, i64), @Vector(3, u224), .{ 0, 1, 1 << 223 }); | ||
| 6214 | try testArgs(@Vector(3, i128), @Vector(3, u224), .{ 0, 1, 1 << 223 }); | ||
| 6215 | try testArgs(@Vector(3, i256), @Vector(3, u224), .{ 0, 1, 1 << 223 }); | ||
| 6216 | try testArgs(@Vector(3, i512), @Vector(3, u224), .{ 0, 1, 1 << 223 }); | ||
| 6217 | try testArgs(@Vector(3, i1024), @Vector(3, u224), .{ 0, 1, 1 << 223 }); | ||
| 6218 | |||
| 6219 | try testArgs(@Vector(3, u8), @Vector(3, i225), .{ -1 << 224, -1, 0 }); | ||
| 6220 | try testArgs(@Vector(3, u16), @Vector(3, i225), .{ -1 << 224, -1, 0 }); | ||
| 6221 | try testArgs(@Vector(3, u32), @Vector(3, i225), .{ -1 << 224, -1, 0 }); | ||
| 6222 | try testArgs(@Vector(3, u64), @Vector(3, i225), .{ -1 << 224, -1, 0 }); | ||
| 6223 | try testArgs(@Vector(3, u128), @Vector(3, i225), .{ -1 << 224, -1, 0 }); | ||
| 6224 | try testArgs(@Vector(3, u256), @Vector(3, i225), .{ -1 << 224, -1, 0 }); | ||
| 6225 | try testArgs(@Vector(3, u512), @Vector(3, i225), .{ -1 << 224, -1, 0 }); | ||
| 6226 | try testArgs(@Vector(3, u1024), @Vector(3, i225), .{ -1 << 224, -1, 0 }); | ||
| 6227 | try testArgs(@Vector(3, i8), @Vector(3, u225), .{ 0, 1, 1 << 224 }); | ||
| 6228 | try testArgs(@Vector(3, i16), @Vector(3, u225), .{ 0, 1, 1 << 224 }); | ||
| 6229 | try testArgs(@Vector(3, i32), @Vector(3, u225), .{ 0, 1, 1 << 224 }); | ||
| 6230 | try testArgs(@Vector(3, i64), @Vector(3, u225), .{ 0, 1, 1 << 224 }); | ||
| 6231 | try testArgs(@Vector(3, i128), @Vector(3, u225), .{ 0, 1, 1 << 224 }); | ||
| 6232 | try testArgs(@Vector(3, i256), @Vector(3, u225), .{ 0, 1, 1 << 224 }); | ||
| 6233 | try testArgs(@Vector(3, i512), @Vector(3, u225), .{ 0, 1, 1 << 224 }); | ||
| 6234 | try testArgs(@Vector(3, i1024), @Vector(3, u225), .{ 0, 1, 1 << 224 }); | ||
| 6235 | |||
| 6236 | try testArgs(@Vector(3, u8), @Vector(3, i255), .{ -1 << 254, -1, 0 }); | ||
| 6237 | try testArgs(@Vector(3, u16), @Vector(3, i255), .{ -1 << 254, -1, 0 }); | ||
| 6238 | try testArgs(@Vector(3, u32), @Vector(3, i255), .{ -1 << 254, -1, 0 }); | ||
| 6239 | try testArgs(@Vector(3, u64), @Vector(3, i255), .{ -1 << 254, -1, 0 }); | ||
| 6240 | try testArgs(@Vector(3, u128), @Vector(3, i255), .{ -1 << 254, -1, 0 }); | ||
| 6241 | try testArgs(@Vector(3, u256), @Vector(3, i255), .{ -1 << 254, -1, 0 }); | ||
| 6242 | try testArgs(@Vector(3, u512), @Vector(3, i255), .{ -1 << 254, -1, 0 }); | ||
| 6243 | try testArgs(@Vector(3, u1024), @Vector(3, i255), .{ -1 << 254, -1, 0 }); | ||
| 6244 | try testArgs(@Vector(3, i8), @Vector(3, u255), .{ 0, 1, 1 << 254 }); | ||
| 6245 | try testArgs(@Vector(3, i16), @Vector(3, u255), .{ 0, 1, 1 << 254 }); | ||
| 6246 | try testArgs(@Vector(3, i32), @Vector(3, u255), .{ 0, 1, 1 << 254 }); | ||
| 6247 | try testArgs(@Vector(3, i64), @Vector(3, u255), .{ 0, 1, 1 << 254 }); | ||
| 6248 | try testArgs(@Vector(3, i128), @Vector(3, u255), .{ 0, 1, 1 << 254 }); | ||
| 6249 | try testArgs(@Vector(3, i256), @Vector(3, u255), .{ 0, 1, 1 << 254 }); | ||
| 6250 | try testArgs(@Vector(3, i512), @Vector(3, u255), .{ 0, 1, 1 << 254 }); | ||
| 6251 | try testArgs(@Vector(3, i1024), @Vector(3, u255), .{ 0, 1, 1 << 254 }); | ||
| 6252 | |||
| 6253 | try testArgs(@Vector(3, u8), @Vector(3, i256), .{ -1 << 255, -1, 0 }); | ||
| 6254 | try testArgs(@Vector(3, u16), @Vector(3, i256), .{ -1 << 255, -1, 0 }); | ||
| 6255 | try testArgs(@Vector(3, u32), @Vector(3, i256), .{ -1 << 255, -1, 0 }); | ||
| 6256 | try testArgs(@Vector(3, u64), @Vector(3, i256), .{ -1 << 255, -1, 0 }); | ||
| 6257 | try testArgs(@Vector(3, u128), @Vector(3, i256), .{ -1 << 255, -1, 0 }); | ||
| 6258 | try testArgs(@Vector(3, u256), @Vector(3, i256), .{ -1 << 255, -1, 0 }); | ||
| 6259 | try testArgs(@Vector(3, u512), @Vector(3, i256), .{ -1 << 255, -1, 0 }); | ||
| 6260 | try testArgs(@Vector(3, u1024), @Vector(3, i256), .{ -1 << 255, -1, 0 }); | ||
| 6261 | try testArgs(@Vector(3, i8), @Vector(3, u256), .{ 0, 1, 1 << 255 }); | ||
| 6262 | try testArgs(@Vector(3, i16), @Vector(3, u256), .{ 0, 1, 1 << 255 }); | ||
| 6263 | try testArgs(@Vector(3, i32), @Vector(3, u256), .{ 0, 1, 1 << 255 }); | ||
| 6264 | try testArgs(@Vector(3, i64), @Vector(3, u256), .{ 0, 1, 1 << 255 }); | ||
| 6265 | try testArgs(@Vector(3, i128), @Vector(3, u256), .{ 0, 1, 1 << 255 }); | ||
| 6266 | try testArgs(@Vector(3, i256), @Vector(3, u256), .{ 0, 1, 1 << 255 }); | ||
| 6267 | try testArgs(@Vector(3, i512), @Vector(3, u256), .{ 0, 1, 1 << 255 }); | ||
| 6268 | try testArgs(@Vector(3, i1024), @Vector(3, u256), .{ 0, 1, 1 << 255 }); | ||
| 6269 | |||
| 6270 | try testArgs(@Vector(3, u8), @Vector(3, i257), .{ -1 << 256, -1, 0 }); | ||
| 6271 | try testArgs(@Vector(3, u16), @Vector(3, i257), .{ -1 << 256, -1, 0 }); | ||
| 6272 | try testArgs(@Vector(3, u32), @Vector(3, i257), .{ -1 << 256, -1, 0 }); | ||
| 6273 | try testArgs(@Vector(3, u64), @Vector(3, i257), .{ -1 << 256, -1, 0 }); | ||
| 6274 | try testArgs(@Vector(3, u128), @Vector(3, i257), .{ -1 << 256, -1, 0 }); | ||
| 6275 | try testArgs(@Vector(3, u256), @Vector(3, i257), .{ -1 << 256, -1, 0 }); | ||
| 6276 | try testArgs(@Vector(3, u512), @Vector(3, i257), .{ -1 << 256, -1, 0 }); | ||
| 6277 | try testArgs(@Vector(3, u1024), @Vector(3, i257), .{ -1 << 256, -1, 0 }); | ||
| 6278 | try testArgs(@Vector(3, i8), @Vector(3, u257), .{ 0, 1, 1 << 256 }); | ||
| 6279 | try testArgs(@Vector(3, i16), @Vector(3, u257), .{ 0, 1, 1 << 256 }); | ||
| 6280 | try testArgs(@Vector(3, i32), @Vector(3, u257), .{ 0, 1, 1 << 256 }); | ||
| 6281 | try testArgs(@Vector(3, i64), @Vector(3, u257), .{ 0, 1, 1 << 256 }); | ||
| 6282 | try testArgs(@Vector(3, i128), @Vector(3, u257), .{ 0, 1, 1 << 256 }); | ||
| 6283 | try testArgs(@Vector(3, i256), @Vector(3, u257), .{ 0, 1, 1 << 256 }); | ||
| 6284 | try testArgs(@Vector(3, i512), @Vector(3, u257), .{ 0, 1, 1 << 256 }); | ||
| 6285 | try testArgs(@Vector(3, i1024), @Vector(3, u257), .{ 0, 1, 1 << 256 }); | ||
| 6286 | |||
| 6287 | try testArgs(@Vector(3, u8), @Vector(3, i511), .{ -1 << 510, -1, 0 }); | ||
| 6288 | try testArgs(@Vector(3, u16), @Vector(3, i511), .{ -1 << 510, -1, 0 }); | ||
| 6289 | try testArgs(@Vector(3, u32), @Vector(3, i511), .{ -1 << 510, -1, 0 }); | ||
| 6290 | try testArgs(@Vector(3, u64), @Vector(3, i511), .{ -1 << 510, -1, 0 }); | ||
| 6291 | try testArgs(@Vector(3, u128), @Vector(3, i511), .{ -1 << 510, -1, 0 }); | ||
| 6292 | try testArgs(@Vector(3, u256), @Vector(3, i511), .{ -1 << 510, -1, 0 }); | ||
| 6293 | try testArgs(@Vector(3, u512), @Vector(3, i511), .{ -1 << 510, -1, 0 }); | ||
| 6294 | try testArgs(@Vector(3, u1024), @Vector(3, i511), .{ -1 << 510, -1, 0 }); | ||
| 6295 | try testArgs(@Vector(3, i8), @Vector(3, u511), .{ 0, 1, 1 << 510 }); | ||
| 6296 | try testArgs(@Vector(3, i16), @Vector(3, u511), .{ 0, 1, 1 << 510 }); | ||
| 6297 | try testArgs(@Vector(3, i32), @Vector(3, u511), .{ 0, 1, 1 << 510 }); | ||
| 6298 | try testArgs(@Vector(3, i64), @Vector(3, u511), .{ 0, 1, 1 << 510 }); | ||
| 6299 | try testArgs(@Vector(3, i128), @Vector(3, u511), .{ 0, 1, 1 << 510 }); | ||
| 6300 | try testArgs(@Vector(3, i256), @Vector(3, u511), .{ 0, 1, 1 << 510 }); | ||
| 6301 | try testArgs(@Vector(3, i512), @Vector(3, u511), .{ 0, 1, 1 << 510 }); | ||
| 6302 | try testArgs(@Vector(3, i1024), @Vector(3, u511), .{ 0, 1, 1 << 510 }); | ||
| 6303 | |||
| 6304 | try testArgs(@Vector(3, u8), @Vector(3, i512), .{ -1 << 511, -1, 0 }); | ||
| 6305 | try testArgs(@Vector(3, u16), @Vector(3, i512), .{ -1 << 511, -1, 0 }); | ||
| 6306 | try testArgs(@Vector(3, u32), @Vector(3, i512), .{ -1 << 511, -1, 0 }); | ||
| 6307 | try testArgs(@Vector(3, u64), @Vector(3, i512), .{ -1 << 511, -1, 0 }); | ||
| 6308 | try testArgs(@Vector(3, u128), @Vector(3, i512), .{ -1 << 511, -1, 0 }); | ||
| 6309 | try testArgs(@Vector(3, u256), @Vector(3, i512), .{ -1 << 511, -1, 0 }); | ||
| 6310 | try testArgs(@Vector(3, u512), @Vector(3, i512), .{ -1 << 511, -1, 0 }); | ||
| 6311 | try testArgs(@Vector(3, u1024), @Vector(3, i512), .{ -1 << 511, -1, 0 }); | ||
| 6312 | try testArgs(@Vector(3, i8), @Vector(3, u512), .{ 0, 1, 1 << 511 }); | ||
| 6313 | try testArgs(@Vector(3, i16), @Vector(3, u512), .{ 0, 1, 1 << 511 }); | ||
| 6314 | try testArgs(@Vector(3, i32), @Vector(3, u512), .{ 0, 1, 1 << 511 }); | ||
| 6315 | try testArgs(@Vector(3, i64), @Vector(3, u512), .{ 0, 1, 1 << 511 }); | ||
| 6316 | try testArgs(@Vector(3, i128), @Vector(3, u512), .{ 0, 1, 1 << 511 }); | ||
| 6317 | try testArgs(@Vector(3, i256), @Vector(3, u512), .{ 0, 1, 1 << 511 }); | ||
| 6318 | try testArgs(@Vector(3, i512), @Vector(3, u512), .{ 0, 1, 1 << 511 }); | ||
| 6319 | try testArgs(@Vector(3, i1024), @Vector(3, u512), .{ 0, 1, 1 << 511 }); | ||
| 6320 | |||
| 6321 | try testArgs(@Vector(3, u8), @Vector(3, i513), .{ -1 << 512, -1, 0 }); | ||
| 6322 | try testArgs(@Vector(3, u16), @Vector(3, i513), .{ -1 << 512, -1, 0 }); | ||
| 6323 | try testArgs(@Vector(3, u32), @Vector(3, i513), .{ -1 << 512, -1, 0 }); | ||
| 6324 | try testArgs(@Vector(3, u64), @Vector(3, i513), .{ -1 << 512, -1, 0 }); | ||
| 6325 | try testArgs(@Vector(3, u128), @Vector(3, i513), .{ -1 << 512, -1, 0 }); | ||
| 6326 | try testArgs(@Vector(3, u256), @Vector(3, i513), .{ -1 << 512, -1, 0 }); | ||
| 6327 | try testArgs(@Vector(3, u512), @Vector(3, i513), .{ -1 << 512, -1, 0 }); | ||
| 6328 | try testArgs(@Vector(3, u1024), @Vector(3, i513), .{ -1 << 512, -1, 0 }); | ||
| 6329 | try testArgs(@Vector(3, i8), @Vector(3, u513), .{ 0, 1, 1 << 512 }); | ||
| 6330 | try testArgs(@Vector(3, i16), @Vector(3, u513), .{ 0, 1, 1 << 512 }); | ||
| 6331 | try testArgs(@Vector(3, i32), @Vector(3, u513), .{ 0, 1, 1 << 512 }); | ||
| 6332 | try testArgs(@Vector(3, i64), @Vector(3, u513), .{ 0, 1, 1 << 512 }); | ||
| 6333 | try testArgs(@Vector(3, i128), @Vector(3, u513), .{ 0, 1, 1 << 512 }); | ||
| 6334 | try testArgs(@Vector(3, i256), @Vector(3, u513), .{ 0, 1, 1 << 512 }); | ||
| 6335 | try testArgs(@Vector(3, i512), @Vector(3, u513), .{ 0, 1, 1 << 512 }); | ||
| 6336 | try testArgs(@Vector(3, i1024), @Vector(3, u513), .{ 0, 1, 1 << 512 }); | ||
| 6337 | |||
| 6338 | try testArgs(@Vector(3, u8), @Vector(3, i1023), .{ -1 << 1022, -1, 0 }); | ||
| 6339 | try testArgs(@Vector(3, u16), @Vector(3, i1023), .{ -1 << 1022, -1, 0 }); | ||
| 6340 | try testArgs(@Vector(3, u32), @Vector(3, i1023), .{ -1 << 1022, -1, 0 }); | ||
| 6341 | try testArgs(@Vector(3, u64), @Vector(3, i1023), .{ -1 << 1022, -1, 0 }); | ||
| 6342 | try testArgs(@Vector(3, u128), @Vector(3, i1023), .{ -1 << 1022, -1, 0 }); | ||
| 6343 | try testArgs(@Vector(3, u256), @Vector(3, i1023), .{ -1 << 1022, -1, 0 }); | ||
| 6344 | try testArgs(@Vector(3, u512), @Vector(3, i1023), .{ -1 << 1022, -1, 0 }); | ||
| 6345 | try testArgs(@Vector(3, u1024), @Vector(3, i1023), .{ -1 << 1022, -1, 0 }); | ||
| 6346 | try testArgs(@Vector(3, i8), @Vector(3, u1023), .{ 0, 1, 1 << 1022 }); | ||
| 6347 | try testArgs(@Vector(3, i16), @Vector(3, u1023), .{ 0, 1, 1 << 1022 }); | ||
| 6348 | try testArgs(@Vector(3, i32), @Vector(3, u1023), .{ 0, 1, 1 << 1022 }); | ||
| 6349 | try testArgs(@Vector(3, i64), @Vector(3, u1023), .{ 0, 1, 1 << 1022 }); | ||
| 6350 | try testArgs(@Vector(3, i128), @Vector(3, u1023), .{ 0, 1, 1 << 1022 }); | ||
| 6351 | try testArgs(@Vector(3, i256), @Vector(3, u1023), .{ 0, 1, 1 << 1022 }); | ||
| 6352 | try testArgs(@Vector(3, i512), @Vector(3, u1023), .{ 0, 1, 1 << 1022 }); | ||
| 6353 | try testArgs(@Vector(3, i1024), @Vector(3, u1023), .{ 0, 1, 1 << 1022 }); | ||
| 6354 | |||
| 6355 | try testArgs(@Vector(3, u8), @Vector(3, i1024), .{ -1 << 1023, -1, 0 }); | ||
| 6356 | try testArgs(@Vector(3, u16), @Vector(3, i1024), .{ -1 << 1023, -1, 0 }); | ||
| 6357 | try testArgs(@Vector(3, u32), @Vector(3, i1024), .{ -1 << 1023, -1, 0 }); | ||
| 6358 | try testArgs(@Vector(3, u64), @Vector(3, i1024), .{ -1 << 1023, -1, 0 }); | ||
| 6359 | try testArgs(@Vector(3, u128), @Vector(3, i1024), .{ -1 << 1023, -1, 0 }); | ||
| 6360 | try testArgs(@Vector(3, u256), @Vector(3, i1024), .{ -1 << 1023, -1, 0 }); | ||
| 6361 | try testArgs(@Vector(3, u512), @Vector(3, i1024), .{ -1 << 1023, -1, 0 }); | ||
| 6362 | try testArgs(@Vector(3, u1024), @Vector(3, i1024), .{ -1 << 1023, -1, 0 }); | ||
| 6363 | try testArgs(@Vector(3, i8), @Vector(3, u1024), .{ 0, 1, 1 << 1023 }); | ||
| 6364 | try testArgs(@Vector(3, i16), @Vector(3, u1024), .{ 0, 1, 1 << 1023 }); | ||
| 6365 | try testArgs(@Vector(3, i32), @Vector(3, u1024), .{ 0, 1, 1 << 1023 }); | ||
| 6366 | try testArgs(@Vector(3, i64), @Vector(3, u1024), .{ 0, 1, 1 << 1023 }); | ||
| 6367 | try testArgs(@Vector(3, i128), @Vector(3, u1024), .{ 0, 1, 1 << 1023 }); | ||
| 6368 | try testArgs(@Vector(3, i256), @Vector(3, u1024), .{ 0, 1, 1 << 1023 }); | ||
| 6369 | try testArgs(@Vector(3, i512), @Vector(3, u1024), .{ 0, 1, 1 << 1023 }); | ||
| 6370 | try testArgs(@Vector(3, i1024), @Vector(3, u1024), .{ 0, 1, 1 << 1023 }); | ||
| 6371 | |||
| 6372 | try testArgs(@Vector(3, u8), @Vector(3, i1025), .{ -1 << 1024, -1, 0 }); | ||
| 6373 | try testArgs(@Vector(3, u16), @Vector(3, i1025), .{ -1 << 1024, -1, 0 }); | ||
| 6374 | try testArgs(@Vector(3, u32), @Vector(3, i1025), .{ -1 << 1024, -1, 0 }); | ||
| 6375 | try testArgs(@Vector(3, u64), @Vector(3, i1025), .{ -1 << 1024, -1, 0 }); | ||
| 6376 | try testArgs(@Vector(3, u128), @Vector(3, i1025), .{ -1 << 1024, -1, 0 }); | ||
| 6377 | try testArgs(@Vector(3, u256), @Vector(3, i1025), .{ -1 << 1024, -1, 0 }); | ||
| 6378 | try testArgs(@Vector(3, u512), @Vector(3, i1025), .{ -1 << 1024, -1, 0 }); | ||
| 6379 | try testArgs(@Vector(3, u1024), @Vector(3, i1025), .{ -1 << 1024, -1, 0 }); | ||
| 6380 | try testArgs(@Vector(3, i8), @Vector(3, u1025), .{ 0, 1, 1 << 1024 }); | ||
| 6381 | try testArgs(@Vector(3, i16), @Vector(3, u1025), .{ 0, 1, 1 << 1024 }); | ||
| 6382 | try testArgs(@Vector(3, i32), @Vector(3, u1025), .{ 0, 1, 1 << 1024 }); | ||
| 6383 | try testArgs(@Vector(3, i64), @Vector(3, u1025), .{ 0, 1, 1 << 1024 }); | ||
| 6384 | try testArgs(@Vector(3, i128), @Vector(3, u1025), .{ 0, 1, 1 << 1024 }); | ||
| 6385 | try testArgs(@Vector(3, i256), @Vector(3, u1025), .{ 0, 1, 1 << 1024 }); | ||
| 6386 | try testArgs(@Vector(3, i512), @Vector(3, u1025), .{ 0, 1, 1 << 1024 }); | ||
| 6387 | try testArgs(@Vector(3, i1024), @Vector(3, u1025), .{ 0, 1, 1 << 1024 }); | ||
| 6388 | } | ||
| 6389 | fn testFloatVectors() !void { | ||
| 6390 | @setEvalBranchQuota(6_700); | ||
| 6391 | |||
| 6392 | try testArgs(@Vector(1, f16), @Vector(1, f16), .{ | ||
| 6393 | 1e0, | ||
| 6394 | }); | ||
| 6395 | try testArgs(@Vector(2, f16), @Vector(2, f16), .{ | ||
| 6396 | -inf(f16), -1e-2, | ||
| 6397 | }); | ||
| 6398 | try testArgs(@Vector(4, f16), @Vector(4, f16), .{ | ||
| 6399 | -1e2, 1e-1, fmax(f16), 1e-2, | ||
| 6400 | }); | ||
| 6401 | try testArgs(@Vector(8, f16), @Vector(8, f16), .{ | ||
| 6402 | -1e-1, tmin(f16), -1e3, fmin(f16), nan(f16), -1e-3, 1e1, 1e4, | ||
| 6403 | }); | ||
| 6404 | try testArgs(@Vector(16, f16), @Vector(16, f16), .{ | ||
| 6405 | -fmax(f16), -1e0, 1e-4, 1e2, -fmin(f16), -1e1, 0.0, -1e4, -0.0, 1e3, -nan(f16), -tmin(f16), -1e-4, inf(f16), 1e-3, -1e-1, | ||
| 6406 | }); | ||
| 6407 | try testArgs(@Vector(32, f16), @Vector(32, f16), .{ | ||
| 6408 | -1e3, -tmin(f16), inf(f16), -1e4, -0.0, fmax(f16), 1e2, 1e4, -nan(f16), 0.0, -1e-4, -1e1, 1e0, 1e-1, nan(f16), -1e0, | ||
| 6409 | 1e3, -1e-3, -fmin(f16), -inf(f16), 1e-3, tmin(f16), fmin(f16), 1e1, 1e-4, -fmax(f16), -1e2, 1e-2, -1e-2, 1e3, inf(f16), -fmin(f16), | ||
| 6410 | }); | ||
| 6411 | |||
| 6412 | try testArgs(@Vector(1, f32), @Vector(1, f16), .{ | ||
| 6413 | 1e0, | ||
| 6414 | }); | ||
| 6415 | try testArgs(@Vector(2, f32), @Vector(2, f16), .{ | ||
| 6416 | -inf(f16), -1e-2, | ||
| 6417 | }); | ||
| 6418 | try testArgs(@Vector(4, f32), @Vector(4, f16), .{ | ||
| 6419 | -1e2, 1e-1, fmax(f16), 1e-2, | ||
| 6420 | }); | ||
| 6421 | try testArgs(@Vector(8, f32), @Vector(8, f16), .{ | ||
| 6422 | -1e-1, tmin(f16), -1e3, fmin(f16), nan(f16), -1e-3, 1e1, 1e4, | ||
| 6423 | }); | ||
| 6424 | try testArgs(@Vector(16, f32), @Vector(16, f16), .{ | ||
| 6425 | -fmax(f16), -1e0, 1e-4, 1e2, -fmin(f16), -1e1, 0.0, -1e4, -0.0, 1e3, -nan(f16), -tmin(f16), -1e-4, inf(f16), 1e-3, -1e-1, | ||
| 6426 | }); | ||
| 6427 | try testArgs(@Vector(32, f32), @Vector(32, f16), .{ | ||
| 6428 | -1e3, -tmin(f16), inf(f16), -1e4, -0.0, fmax(f16), 1e2, 1e4, -nan(f16), 0.0, -1e-4, -1e1, 1e0, 1e-1, nan(f16), -1e0, | ||
| 6429 | 1e3, -1e-3, -fmin(f16), -inf(f16), 1e-3, tmin(f16), fmin(f16), 1e1, 1e-4, -fmax(f16), -1e2, 1e-2, -1e-2, 1e3, inf(f16), -fmin(f16), | ||
| 6430 | }); | ||
| 6431 | |||
| 6432 | try testArgs(@Vector(1, f64), @Vector(1, f16), .{ | ||
| 6433 | 1e0, | ||
| 6434 | }); | ||
| 6435 | try testArgs(@Vector(2, f64), @Vector(2, f16), .{ | ||
| 6436 | -inf(f16), -1e-2, | ||
| 6437 | }); | ||
| 6438 | try testArgs(@Vector(4, f64), @Vector(4, f16), .{ | ||
| 6439 | -1e2, 1e-1, fmax(f16), 1e-2, | ||
| 6440 | }); | ||
| 6441 | try testArgs(@Vector(8, f64), @Vector(8, f16), .{ | ||
| 6442 | -1e-1, tmin(f16), -1e3, fmin(f16), nan(f16), -1e-3, 1e1, 1e4, | ||
| 6443 | }); | ||
| 6444 | try testArgs(@Vector(16, f64), @Vector(16, f16), .{ | ||
| 6445 | -fmax(f16), -1e0, 1e-4, 1e2, -fmin(f16), -1e1, 0.0, -1e4, -0.0, 1e3, -nan(f16), -tmin(f16), -1e-4, inf(f16), 1e-3, -1e-1, | ||
| 6446 | }); | ||
| 6447 | try testArgs(@Vector(32, f64), @Vector(32, f16), .{ | ||
| 6448 | -1e3, -tmin(f16), inf(f16), -1e4, -0.0, fmax(f16), 1e2, 1e4, -nan(f16), 0.0, -1e-4, -1e1, 1e0, 1e-1, nan(f16), -1e0, | ||
| 6449 | 1e3, -1e-3, -fmin(f16), -inf(f16), 1e-3, tmin(f16), fmin(f16), 1e1, 1e-4, -fmax(f16), -1e2, 1e-2, -1e-2, 1e3, inf(f16), -fmin(f16), | ||
| 6450 | }); | ||
| 6451 | |||
| 6452 | try testArgs(@Vector(1, f80), @Vector(1, f16), .{ | ||
| 6453 | 1e0, | ||
| 6454 | }); | ||
| 6455 | try testArgs(@Vector(2, f80), @Vector(2, f16), .{ | ||
| 6456 | -inf(f16), -1e-2, | ||
| 6457 | }); | ||
| 6458 | try testArgs(@Vector(4, f80), @Vector(4, f16), .{ | ||
| 6459 | -1e2, 1e-1, fmax(f16), 1e-2, | ||
| 6460 | }); | ||
| 6461 | try testArgs(@Vector(8, f80), @Vector(8, f16), .{ | ||
| 6462 | -1e-1, tmin(f16), -1e3, fmin(f16), nan(f16), -1e-3, 1e1, 1e4, | ||
| 6463 | }); | ||
| 6464 | try testArgs(@Vector(16, f80), @Vector(16, f16), .{ | ||
| 6465 | -fmax(f16), -1e0, 1e-4, 1e2, -fmin(f16), -1e1, 0.0, -1e4, -0.0, 1e3, -nan(f16), -tmin(f16), -1e-4, inf(f16), 1e-3, -1e-1, | ||
| 6466 | }); | ||
| 6467 | try testArgs(@Vector(32, f80), @Vector(32, f16), .{ | ||
| 6468 | -1e3, -tmin(f16), inf(f16), -1e4, -0.0, fmax(f16), 1e2, 1e4, -nan(f16), 0.0, -1e-4, -1e1, 1e0, 1e-1, nan(f16), -1e0, | ||
| 6469 | 1e3, -1e-3, -fmin(f16), -inf(f16), 1e-3, tmin(f16), fmin(f16), 1e1, 1e-4, -fmax(f16), -1e2, 1e-2, -1e-2, 1e3, inf(f16), -fmin(f16), | ||
| 6470 | }); | ||
| 6471 | |||
| 6472 | try testArgs(@Vector(1, f128), @Vector(1, f16), .{ | ||
| 6473 | 1e0, | ||
| 6474 | }); | ||
| 6475 | try testArgs(@Vector(2, f128), @Vector(2, f16), .{ | ||
| 6476 | -inf(f16), -1e-2, | ||
| 6477 | }); | ||
| 6478 | try testArgs(@Vector(4, f128), @Vector(4, f16), .{ | ||
| 6479 | -1e2, 1e-1, fmax(f16), 1e-2, | ||
| 6480 | }); | ||
| 6481 | try testArgs(@Vector(8, f128), @Vector(8, f16), .{ | ||
| 6482 | -1e-1, tmin(f16), -1e3, fmin(f16), nan(f16), -1e-3, 1e1, 1e4, | ||
| 6483 | }); | ||
| 6484 | try testArgs(@Vector(16, f128), @Vector(16, f16), .{ | ||
| 6485 | -fmax(f16), -1e0, 1e-4, 1e2, -fmin(f16), -1e1, 0.0, -1e4, -0.0, 1e3, -nan(f16), -tmin(f16), -1e-4, inf(f16), 1e-3, -1e-1, | ||
| 6486 | }); | ||
| 6487 | try testArgs(@Vector(32, f128), @Vector(32, f16), .{ | ||
| 6488 | -1e3, -tmin(f16), inf(f16), -1e4, -0.0, fmax(f16), 1e2, 1e4, -nan(f16), 0.0, -1e-4, -1e1, 1e0, 1e-1, nan(f16), -1e0, | ||
| 6489 | 1e3, -1e-3, -fmin(f16), -inf(f16), 1e-3, tmin(f16), fmin(f16), 1e1, 1e-4, -fmax(f16), -1e2, 1e-2, -1e-2, 1e3, inf(f16), -fmin(f16), | ||
| 6490 | }); | ||
| 6491 | |||
| 6492 | try testArgs(@Vector(1, f16), @Vector(1, f32), .{ | ||
| 6493 | 1e0, | ||
| 6494 | }); | ||
| 6495 | try testArgs(@Vector(2, f16), @Vector(2, f32), .{ | ||
| 6496 | -inf(f32), -1e-2, | ||
| 6497 | }); | ||
| 6498 | try testArgs(@Vector(4, f16), @Vector(4, f32), .{ | ||
| 6499 | -1e2, 1e-1, fmax(f32), 1e-2, | ||
| 6500 | }); | ||
| 6501 | try testArgs(@Vector(8, f16), @Vector(8, f32), .{ | ||
| 6502 | -1e-1, tmin(f32), -1e3, fmin(f32), nan(f32), -1e-3, 1e1, 1e4, | ||
| 6503 | }); | ||
| 6504 | try testArgs(@Vector(16, f16), @Vector(16, f32), .{ | ||
| 6505 | -fmax(f32), -1e0, 1e-4, 1e2, -fmin(f32), -1e1, 0.0, -1e4, -0.0, 1e3, -nan(f32), -tmin(f32), -1e-4, inf(f32), 1e-3, -1e-1, | ||
| 6506 | }); | ||
| 6507 | try testArgs(@Vector(32, f16), @Vector(32, f32), .{ | ||
| 6508 | -1e3, -tmin(f32), inf(f32), -1e4, -0.0, fmax(f32), 1e2, 1e4, -nan(f32), 0.0, -1e-4, -1e1, 1e0, 1e-1, nan(f32), -1e0, | ||
| 6509 | 1e3, -1e-3, -fmin(f32), -inf(f32), 1e-3, tmin(f32), fmin(f32), 1e1, 1e-4, -fmax(f32), -1e2, 1e-2, -1e-2, 1e3, inf(f32), -fmin(f32), | ||
| 6510 | }); | ||
| 6511 | |||
| 6512 | try testArgs(@Vector(1, f32), @Vector(1, f32), .{ | ||
| 6513 | 1e0, | ||
| 6514 | }); | ||
| 6515 | try testArgs(@Vector(2, f32), @Vector(2, f32), .{ | ||
| 6516 | -inf(f32), -1e-2, | ||
| 6517 | }); | ||
| 6518 | try testArgs(@Vector(4, f32), @Vector(4, f32), .{ | ||
| 6519 | -1e2, 1e-1, fmax(f32), 1e-2, | ||
| 6520 | }); | ||
| 6521 | try testArgs(@Vector(8, f32), @Vector(8, f32), .{ | ||
| 6522 | -1e-1, tmin(f32), -1e3, fmin(f32), nan(f32), -1e-3, 1e1, 1e4, | ||
| 6523 | }); | ||
| 6524 | try testArgs(@Vector(16, f32), @Vector(16, f32), .{ | ||
| 6525 | -fmax(f32), -1e0, 1e-4, 1e2, -fmin(f32), -1e1, 0.0, -1e4, -0.0, 1e3, -nan(f32), -tmin(f32), -1e-4, inf(f32), 1e-3, -1e-1, | ||
| 6526 | }); | ||
| 6527 | try testArgs(@Vector(32, f32), @Vector(32, f32), .{ | ||
| 6528 | -1e3, -tmin(f32), inf(f32), -1e4, -0.0, fmax(f32), 1e2, 1e4, -nan(f32), 0.0, -1e-4, -1e1, 1e0, 1e-1, nan(f32), -1e0, | ||
| 6529 | 1e3, -1e-3, -fmin(f32), -inf(f32), 1e-3, tmin(f32), fmin(f32), 1e1, 1e-4, -fmax(f32), -1e2, 1e-2, -1e-2, 1e3, inf(f32), -fmin(f32), | ||
| 6530 | }); | ||
| 6531 | |||
| 6532 | try testArgs(@Vector(1, f64), @Vector(1, f32), .{ | ||
| 6533 | 1e0, | ||
| 6534 | }); | ||
| 6535 | try testArgs(@Vector(2, f64), @Vector(2, f32), .{ | ||
| 6536 | -inf(f32), -1e-2, | ||
| 6537 | }); | ||
| 6538 | try testArgs(@Vector(4, f64), @Vector(4, f32), .{ | ||
| 6539 | -1e2, 1e-1, fmax(f32), 1e-2, | ||
| 6540 | }); | ||
| 6541 | try testArgs(@Vector(8, f64), @Vector(8, f32), .{ | ||
| 6542 | -1e-1, tmin(f32), -1e3, fmin(f32), nan(f32), -1e-3, 1e1, 1e4, | ||
| 6543 | }); | ||
| 6544 | try testArgs(@Vector(16, f64), @Vector(16, f32), .{ | ||
| 6545 | -fmax(f32), -1e0, 1e-4, 1e2, -fmin(f32), -1e1, 0.0, -1e4, -0.0, 1e3, -nan(f32), -tmin(f32), -1e-4, inf(f32), 1e-3, -1e-1, | ||
| 6546 | }); | ||
| 6547 | try testArgs(@Vector(32, f64), @Vector(32, f32), .{ | ||
| 6548 | -1e3, -tmin(f32), inf(f32), -1e4, -0.0, fmax(f32), 1e2, 1e4, -nan(f32), 0.0, -1e-4, -1e1, 1e0, 1e-1, nan(f32), -1e0, | ||
| 6549 | 1e3, -1e-3, -fmin(f32), -inf(f32), 1e-3, tmin(f32), fmin(f32), 1e1, 1e-4, -fmax(f32), -1e2, 1e-2, -1e-2, 1e3, inf(f32), -fmin(f32), | ||
| 6550 | }); | ||
| 6551 | |||
| 6552 | try testArgs(@Vector(1, f80), @Vector(1, f32), .{ | ||
| 6553 | 1e0, | ||
| 6554 | }); | ||
| 6555 | try testArgs(@Vector(2, f80), @Vector(2, f32), .{ | ||
| 6556 | -inf(f32), -1e-2, | ||
| 6557 | }); | ||
| 6558 | try testArgs(@Vector(4, f80), @Vector(4, f32), .{ | ||
| 6559 | -1e2, 1e-1, fmax(f32), 1e-2, | ||
| 6560 | }); | ||
| 6561 | try testArgs(@Vector(8, f80), @Vector(8, f32), .{ | ||
| 6562 | -1e-1, tmin(f32), -1e3, fmin(f32), nan(f32), -1e-3, 1e1, 1e4, | ||
| 6563 | }); | ||
| 6564 | try testArgs(@Vector(16, f80), @Vector(16, f32), .{ | ||
| 6565 | -fmax(f32), -1e0, 1e-4, 1e2, -fmin(f32), -1e1, 0.0, -1e4, -0.0, 1e3, -nan(f32), -tmin(f32), -1e-4, inf(f32), 1e-3, -1e-1, | ||
| 6566 | }); | ||
| 6567 | try testArgs(@Vector(32, f80), @Vector(32, f32), .{ | ||
| 6568 | -1e3, -tmin(f32), inf(f32), -1e4, -0.0, fmax(f32), 1e2, 1e4, -nan(f32), 0.0, -1e-4, -1e1, 1e0, 1e-1, nan(f32), -1e0, | ||
| 6569 | 1e3, -1e-3, -fmin(f32), -inf(f32), 1e-3, tmin(f32), fmin(f32), 1e1, 1e-4, -fmax(f32), -1e2, 1e-2, -1e-2, 1e3, inf(f32), -fmin(f32), | ||
| 6570 | }); | ||
| 6571 | |||
| 6572 | try testArgs(@Vector(1, f128), @Vector(1, f32), .{ | ||
| 6573 | 1e0, | ||
| 6574 | }); | ||
| 6575 | try testArgs(@Vector(2, f128), @Vector(2, f32), .{ | ||
| 6576 | -inf(f32), -1e-2, | ||
| 6577 | }); | ||
| 6578 | try testArgs(@Vector(4, f128), @Vector(4, f32), .{ | ||
| 6579 | -1e2, 1e-1, fmax(f32), 1e-2, | ||
| 6580 | }); | ||
| 6581 | try testArgs(@Vector(8, f128), @Vector(8, f32), .{ | ||
| 6582 | -1e-1, tmin(f32), -1e3, fmin(f32), nan(f32), -1e-3, 1e1, 1e4, | ||
| 6583 | }); | ||
| 6584 | try testArgs(@Vector(16, f128), @Vector(16, f32), .{ | ||
| 6585 | -fmax(f32), -1e0, 1e-4, 1e2, -fmin(f32), -1e1, 0.0, -1e4, -0.0, 1e3, -nan(f32), -tmin(f32), -1e-4, inf(f32), 1e-3, -1e-1, | ||
| 6586 | }); | ||
| 6587 | try testArgs(@Vector(32, f128), @Vector(32, f32), .{ | ||
| 6588 | -1e3, -tmin(f32), inf(f32), -1e4, -0.0, fmax(f32), 1e2, 1e4, -nan(f32), 0.0, -1e-4, -1e1, 1e0, 1e-1, nan(f32), -1e0, | ||
| 6589 | 1e3, -1e-3, -fmin(f32), -inf(f32), 1e-3, tmin(f32), fmin(f32), 1e1, 1e-4, -fmax(f32), -1e2, 1e-2, -1e-2, 1e3, inf(f32), -fmin(f32), | ||
| 6590 | }); | ||
| 6591 | |||
| 6592 | try testArgs(@Vector(1, f16), @Vector(1, f64), .{ | ||
| 6593 | 1e0, | ||
| 6594 | }); | ||
| 6595 | try testArgs(@Vector(2, f16), @Vector(2, f64), .{ | ||
| 6596 | -inf(f64), -1e-2, | ||
| 6597 | }); | ||
| 6598 | try testArgs(@Vector(4, f16), @Vector(4, f64), .{ | ||
| 6599 | -1e2, 1e-1, fmax(f64), 1e-2, | ||
| 6600 | }); | ||
| 6601 | try testArgs(@Vector(8, f16), @Vector(8, f64), .{ | ||
| 6602 | -1e-1, tmin(f64), -1e3, fmin(f64), nan(f64), -1e-3, 1e1, 1e4, | ||
| 6603 | }); | ||
| 6604 | try testArgs(@Vector(16, f16), @Vector(16, f64), .{ | ||
| 6605 | -fmax(f64), -1e0, 1e-4, 1e2, -fmin(f64), -1e1, 0.0, -1e4, -0.0, 1e3, -nan(f64), -tmin(f64), -1e-4, inf(f64), 1e-3, -1e-1, | ||
| 6606 | }); | ||
| 6607 | try testArgs(@Vector(32, f16), @Vector(32, f64), .{ | ||
| 6608 | -1e3, -tmin(f64), inf(f64), -1e4, -0.0, fmax(f64), 1e2, 1e4, -nan(f64), 0.0, -1e-4, -1e1, 1e0, 1e-1, nan(f64), -1e0, | ||
| 6609 | 1e3, -1e-3, -fmin(f64), -inf(f64), 1e-3, tmin(f64), fmin(f64), 1e1, 1e-4, -fmax(f64), -1e2, 1e-2, -1e-2, 1e3, inf(f64), -fmin(f64), | ||
| 6610 | }); | ||
| 6611 | |||
| 6612 | try testArgs(@Vector(1, f32), @Vector(1, f64), .{ | ||
| 6613 | 1e0, | ||
| 6614 | }); | ||
| 6615 | try testArgs(@Vector(2, f32), @Vector(2, f64), .{ | ||
| 6616 | -inf(f64), -1e-2, | ||
| 6617 | }); | ||
| 6618 | try testArgs(@Vector(4, f32), @Vector(4, f64), .{ | ||
| 6619 | -1e2, 1e-1, fmax(f64), 1e-2, | ||
| 6620 | }); | ||
| 6621 | try testArgs(@Vector(8, f32), @Vector(8, f64), .{ | ||
| 6622 | -1e-1, tmin(f64), -1e3, fmin(f64), nan(f64), -1e-3, 1e1, 1e4, | ||
| 6623 | }); | ||
| 6624 | try testArgs(@Vector(16, f32), @Vector(16, f64), .{ | ||
| 6625 | -fmax(f64), -1e0, 1e-4, 1e2, -fmin(f64), -1e1, 0.0, -1e4, -0.0, 1e3, -nan(f64), -tmin(f64), -1e-4, inf(f64), 1e-3, -1e-1, | ||
| 6626 | }); | ||
| 6627 | try testArgs(@Vector(32, f32), @Vector(32, f64), .{ | ||
| 6628 | -1e3, -tmin(f64), inf(f64), -1e4, -0.0, fmax(f64), 1e2, 1e4, -nan(f64), 0.0, -1e-4, -1e1, 1e0, 1e-1, nan(f64), -1e0, | ||
| 6629 | 1e3, -1e-3, -fmin(f64), -inf(f64), 1e-3, tmin(f64), fmin(f64), 1e1, 1e-4, -fmax(f64), -1e2, 1e-2, -1e-2, 1e3, inf(f64), -fmin(f64), | ||
| 6630 | }); | ||
| 6631 | |||
| 6632 | try testArgs(@Vector(1, f64), @Vector(1, f64), .{ | ||
| 6633 | 1e0, | ||
| 6634 | }); | ||
| 6635 | try testArgs(@Vector(2, f64), @Vector(2, f64), .{ | ||
| 6636 | -inf(f64), -1e-2, | ||
| 6637 | }); | ||
| 6638 | try testArgs(@Vector(4, f64), @Vector(4, f64), .{ | ||
| 6639 | -1e2, 1e-1, fmax(f64), 1e-2, | ||
| 6640 | }); | ||
| 6641 | try testArgs(@Vector(8, f64), @Vector(8, f64), .{ | ||
| 6642 | -1e-1, tmin(f64), -1e3, fmin(f64), nan(f64), -1e-3, 1e1, 1e4, | ||
| 6643 | }); | ||
| 6644 | try testArgs(@Vector(16, f64), @Vector(16, f64), .{ | ||
| 6645 | -fmax(f64), -1e0, 1e-4, 1e2, -fmin(f64), -1e1, 0.0, -1e4, -0.0, 1e3, -nan(f64), -tmin(f64), -1e-4, inf(f64), 1e-3, -1e-1, | ||
| 6646 | }); | ||
| 6647 | try testArgs(@Vector(32, f64), @Vector(32, f64), .{ | ||
| 6648 | -1e3, -tmin(f64), inf(f64), -1e4, -0.0, fmax(f64), 1e2, 1e4, -nan(f64), 0.0, -1e-4, -1e1, 1e0, 1e-1, nan(f64), -1e0, | ||
| 6649 | 1e3, -1e-3, -fmin(f64), -inf(f64), 1e-3, tmin(f64), fmin(f64), 1e1, 1e-4, -fmax(f64), -1e2, 1e-2, -1e-2, 1e3, inf(f64), -fmin(f64), | ||
| 6650 | }); | ||
| 6651 | |||
| 6652 | try testArgs(@Vector(1, f80), @Vector(1, f64), .{ | ||
| 6653 | 1e0, | ||
| 6654 | }); | ||
| 6655 | try testArgs(@Vector(2, f80), @Vector(2, f64), .{ | ||
| 6656 | -inf(f64), -1e-2, | ||
| 6657 | }); | ||
| 6658 | try testArgs(@Vector(4, f80), @Vector(4, f64), .{ | ||
| 6659 | -1e2, 1e-1, fmax(f64), 1e-2, | ||
| 6660 | }); | ||
| 6661 | try testArgs(@Vector(8, f80), @Vector(8, f64), .{ | ||
| 6662 | -1e-1, tmin(f64), -1e3, fmin(f64), nan(f64), -1e-3, 1e1, 1e4, | ||
| 6663 | }); | ||
| 6664 | try testArgs(@Vector(16, f80), @Vector(16, f64), .{ | ||
| 6665 | -fmax(f64), -1e0, 1e-4, 1e2, -fmin(f64), -1e1, 0.0, -1e4, -0.0, 1e3, -nan(f64), -tmin(f64), -1e-4, inf(f64), 1e-3, -1e-1, | ||
| 6666 | }); | ||
| 6667 | try testArgs(@Vector(32, f80), @Vector(32, f64), .{ | ||
| 6668 | -1e3, -tmin(f64), inf(f64), -1e4, -0.0, fmax(f64), 1e2, 1e4, -nan(f64), 0.0, -1e-4, -1e1, 1e0, 1e-1, nan(f64), -1e0, | ||
| 6669 | 1e3, -1e-3, -fmin(f64), -inf(f64), 1e-3, tmin(f64), fmin(f64), 1e1, 1e-4, -fmax(f64), -1e2, 1e-2, -1e-2, 1e3, inf(f64), -fmin(f64), | ||
| 6670 | }); | ||
| 6671 | |||
| 6672 | try testArgs(@Vector(1, f128), @Vector(1, f64), .{ | ||
| 6673 | 1e0, | ||
| 6674 | }); | ||
| 6675 | try testArgs(@Vector(2, f128), @Vector(2, f64), .{ | ||
| 6676 | -inf(f64), -1e-2, | ||
| 6677 | }); | ||
| 6678 | try testArgs(@Vector(4, f128), @Vector(4, f64), .{ | ||
| 6679 | -1e2, 1e-1, fmax(f64), 1e-2, | ||
| 6680 | }); | ||
| 6681 | try testArgs(@Vector(8, f128), @Vector(8, f64), .{ | ||
| 6682 | -1e-1, tmin(f64), -1e3, fmin(f64), nan(f64), -1e-3, 1e1, 1e4, | ||
| 6683 | }); | ||
| 6684 | try testArgs(@Vector(16, f128), @Vector(16, f64), .{ | ||
| 6685 | -fmax(f64), -1e0, 1e-4, 1e2, -fmin(f64), -1e1, 0.0, -1e4, -0.0, 1e3, -nan(f64), -tmin(f64), -1e-4, inf(f64), 1e-3, -1e-1, | ||
| 6686 | }); | ||
| 6687 | try testArgs(@Vector(32, f128), @Vector(32, f64), .{ | ||
| 6688 | -1e3, -tmin(f64), inf(f64), -1e4, -0.0, fmax(f64), 1e2, 1e4, -nan(f64), 0.0, -1e-4, -1e1, 1e0, 1e-1, nan(f64), -1e0, | ||
| 6689 | 1e3, -1e-3, -fmin(f64), -inf(f64), 1e-3, tmin(f64), fmin(f64), 1e1, 1e-4, -fmax(f64), -1e2, 1e-2, -1e-2, 1e3, inf(f64), -fmin(f64), | ||
| 6690 | }); | ||
| 6691 | |||
| 6692 | try testArgs(@Vector(1, f16), @Vector(1, f80), .{ | ||
| 6693 | 1e0, | ||
| 6694 | }); | ||
| 6695 | try testArgs(@Vector(2, f16), @Vector(2, f80), .{ | ||
| 6696 | -inf(f80), -1e-2, | ||
| 6697 | }); | ||
| 6698 | try testArgs(@Vector(4, f16), @Vector(4, f80), .{ | ||
| 6699 | -1e2, 1e-1, fmax(f80), 1e-2, | ||
| 6700 | }); | ||
| 6701 | try testArgs(@Vector(8, f16), @Vector(8, f80), .{ | ||
| 6702 | -1e-1, tmin(f80), -1e3, fmin(f80), nan(f80), -1e-3, 1e1, 1e4, | ||
| 6703 | }); | ||
| 6704 | try testArgs(@Vector(16, f16), @Vector(16, f80), .{ | ||
| 6705 | -fmax(f80), -1e0, 1e-4, 1e2, -fmin(f80), -1e1, 0.0, -1e4, -0.0, 1e3, -nan(f80), -tmin(f80), -1e-4, inf(f80), 1e-3, -1e-1, | ||
| 6706 | }); | ||
| 6707 | try testArgs(@Vector(32, f16), @Vector(32, f80), .{ | ||
| 6708 | -1e3, -tmin(f80), inf(f80), -1e4, -0.0, fmax(f80), 1e2, 1e4, -nan(f80), 0.0, -1e-4, -1e1, 1e0, 1e-1, nan(f80), -1e0, | ||
| 6709 | 1e3, -1e-3, -fmin(f80), -inf(f80), 1e-3, tmin(f80), fmin(f80), 1e1, 1e-4, -fmax(f80), -1e2, 1e-2, -1e-2, 1e3, inf(f80), -fmin(f80), | ||
| 6710 | }); | ||
| 6711 | |||
| 6712 | try testArgs(@Vector(1, f32), @Vector(1, f80), .{ | ||
| 6713 | 1e0, | ||
| 6714 | }); | ||
| 6715 | try testArgs(@Vector(2, f32), @Vector(2, f80), .{ | ||
| 6716 | -inf(f80), -1e-2, | ||
| 6717 | }); | ||
| 6718 | try testArgs(@Vector(4, f32), @Vector(4, f80), .{ | ||
| 6719 | -1e2, 1e-1, fmax(f80), 1e-2, | ||
| 6720 | }); | ||
| 6721 | try testArgs(@Vector(8, f32), @Vector(8, f80), .{ | ||
| 6722 | -1e-1, tmin(f80), -1e3, fmin(f80), nan(f80), -1e-3, 1e1, 1e4, | ||
| 6723 | }); | ||
| 6724 | try testArgs(@Vector(16, f32), @Vector(16, f80), .{ | ||
| 6725 | -fmax(f80), -1e0, 1e-4, 1e2, -fmin(f80), -1e1, 0.0, -1e4, -0.0, 1e3, -nan(f80), -tmin(f80), -1e-4, inf(f80), 1e-3, -1e-1, | ||
| 6726 | }); | ||
| 6727 | try testArgs(@Vector(32, f32), @Vector(32, f80), .{ | ||
| 6728 | -1e3, -tmin(f80), inf(f80), -1e4, -0.0, fmax(f80), 1e2, 1e4, -nan(f80), 0.0, -1e-4, -1e1, 1e0, 1e-1, nan(f80), -1e0, | ||
| 6729 | 1e3, -1e-3, -fmin(f80), -inf(f80), 1e-3, tmin(f80), fmin(f80), 1e1, 1e-4, -fmax(f80), -1e2, 1e-2, -1e-2, 1e3, inf(f80), -fmin(f80), | ||
| 6730 | }); | ||
| 6731 | |||
| 6732 | try testArgs(@Vector(1, f64), @Vector(1, f80), .{ | ||
| 6733 | 1e0, | ||
| 6734 | }); | ||
| 6735 | try testArgs(@Vector(2, f64), @Vector(2, f80), .{ | ||
| 6736 | -inf(f80), -1e-2, | ||
| 6737 | }); | ||
| 6738 | try testArgs(@Vector(4, f64), @Vector(4, f80), .{ | ||
| 6739 | -1e2, 1e-1, fmax(f80), 1e-2, | ||
| 6740 | }); | ||
| 6741 | try testArgs(@Vector(8, f64), @Vector(8, f80), .{ | ||
| 6742 | -1e-1, tmin(f80), -1e3, fmin(f80), nan(f80), -1e-3, 1e1, 1e4, | ||
| 6743 | }); | ||
| 6744 | try testArgs(@Vector(16, f64), @Vector(16, f80), .{ | ||
| 6745 | -fmax(f80), -1e0, 1e-4, 1e2, -fmin(f80), -1e1, 0.0, -1e4, -0.0, 1e3, -nan(f80), -tmin(f80), -1e-4, inf(f80), 1e-3, -1e-1, | ||
| 6746 | }); | ||
| 6747 | try testArgs(@Vector(32, f64), @Vector(32, f80), .{ | ||
| 6748 | -1e3, -tmin(f80), inf(f80), -1e4, -0.0, fmax(f80), 1e2, 1e4, -nan(f80), 0.0, -1e-4, -1e1, 1e0, 1e-1, nan(f80), -1e0, | ||
| 6749 | 1e3, -1e-3, -fmin(f80), -inf(f80), 1e-3, tmin(f80), fmin(f80), 1e1, 1e-4, -fmax(f80), -1e2, 1e-2, -1e-2, 1e3, inf(f80), -fmin(f80), | ||
| 6750 | }); | ||
| 6751 | |||
| 6752 | try testArgs(@Vector(1, f80), @Vector(1, f80), .{ | ||
| 6753 | 1e0, | ||
| 6754 | }); | ||
| 6755 | try testArgs(@Vector(2, f80), @Vector(2, f80), .{ | ||
| 6756 | -inf(f80), -1e-2, | ||
| 6757 | }); | ||
| 6758 | try testArgs(@Vector(4, f80), @Vector(4, f80), .{ | ||
| 6759 | -1e2, 1e-1, fmax(f80), 1e-2, | ||
| 6760 | }); | ||
| 6761 | try testArgs(@Vector(8, f80), @Vector(8, f80), .{ | ||
| 6762 | -1e-1, tmin(f80), -1e3, fmin(f80), nan(f80), -1e-3, 1e1, 1e4, | ||
| 6763 | }); | ||
| 6764 | try testArgs(@Vector(16, f80), @Vector(16, f80), .{ | ||
| 6765 | -fmax(f80), -1e0, 1e-4, 1e2, -fmin(f80), -1e1, 0.0, -1e4, -0.0, 1e3, -nan(f80), -tmin(f80), -1e-4, inf(f80), 1e-3, -1e-1, | ||
| 6766 | }); | ||
| 6767 | try testArgs(@Vector(32, f80), @Vector(32, f80), .{ | ||
| 6768 | -1e3, -tmin(f80), inf(f80), -1e4, -0.0, fmax(f80), 1e2, 1e4, -nan(f80), 0.0, -1e-4, -1e1, 1e0, 1e-1, nan(f80), -1e0, | ||
| 6769 | 1e3, -1e-3, -fmin(f80), -inf(f80), 1e-3, tmin(f80), fmin(f80), 1e1, 1e-4, -fmax(f80), -1e2, 1e-2, -1e-2, 1e3, inf(f80), -fmin(f80), | ||
| 6770 | }); | ||
| 6771 | |||
| 6772 | try testArgs(@Vector(1, f128), @Vector(1, f80), .{ | ||
| 6773 | 1e0, | ||
| 6774 | }); | ||
| 6775 | try testArgs(@Vector(2, f128), @Vector(2, f80), .{ | ||
| 6776 | -inf(f80), -1e-2, | ||
| 6777 | }); | ||
| 6778 | try testArgs(@Vector(4, f128), @Vector(4, f80), .{ | ||
| 6779 | -1e2, 1e-1, fmax(f80), 1e-2, | ||
| 6780 | }); | ||
| 6781 | try testArgs(@Vector(8, f128), @Vector(8, f80), .{ | ||
| 6782 | -1e-1, tmin(f80), -1e3, fmin(f80), nan(f80), -1e-3, 1e1, 1e4, | ||
| 6783 | }); | ||
| 6784 | try testArgs(@Vector(16, f128), @Vector(16, f80), .{ | ||
| 6785 | -fmax(f80), -1e0, 1e-4, 1e2, -fmin(f80), -1e1, 0.0, -1e4, -0.0, 1e3, -nan(f80), -tmin(f80), -1e-4, inf(f80), 1e-3, -1e-1, | ||
| 6786 | }); | ||
| 6787 | try testArgs(@Vector(32, f128), @Vector(32, f80), .{ | ||
| 6788 | -1e3, -tmin(f80), inf(f80), -1e4, -0.0, fmax(f80), 1e2, 1e4, -nan(f80), 0.0, -1e-4, -1e1, 1e0, 1e-1, nan(f80), -1e0, | ||
| 6789 | 1e3, -1e-3, -fmin(f80), -inf(f80), 1e-3, tmin(f80), fmin(f80), 1e1, 1e-4, -fmax(f80), -1e2, 1e-2, -1e-2, 1e3, inf(f80), -fmin(f80), | ||
| 6790 | }); | ||
| 6791 | |||
| 6792 | try testArgs(@Vector(1, f16), @Vector(1, f128), .{ | ||
| 6793 | 1e0, | ||
| 6794 | }); | ||
| 6795 | try testArgs(@Vector(2, f16), @Vector(2, f128), .{ | ||
| 6796 | -inf(f128), -1e-2, | ||
| 6797 | }); | ||
| 6798 | try testArgs(@Vector(4, f16), @Vector(4, f128), .{ | ||
| 6799 | -1e2, 1e-1, fmax(f128), 1e-2, | ||
| 6800 | }); | ||
| 6801 | try testArgs(@Vector(8, f16), @Vector(8, f128), .{ | ||
| 6802 | -1e-1, tmin(f128), -1e3, fmin(f128), nan(f128), -1e-3, 1e1, 1e4, | ||
| 6803 | }); | ||
| 6804 | try testArgs(@Vector(16, f16), @Vector(16, f128), .{ | ||
| 6805 | -fmax(f128), -1e0, 1e-4, 1e2, -fmin(f128), -1e1, 0.0, -1e4, -0.0, 1e3, -nan(f128), -tmin(f128), -1e-4, inf(f128), 1e-3, -1e-1, | ||
| 6806 | }); | ||
| 6807 | try testArgs(@Vector(32, f16), @Vector(32, f128), .{ | ||
| 6808 | -1e3, -tmin(f128), inf(f128), -1e4, -0.0, fmax(f128), 1e2, 1e4, -nan(f128), 0.0, -1e-4, -1e1, 1e0, 1e-1, nan(f128), -1e0, | ||
| 6809 | 1e3, -1e-3, -fmin(f128), -inf(f128), 1e-3, tmin(f128), fmin(f128), 1e1, 1e-4, -fmax(f128), -1e2, 1e-2, -1e-2, 1e3, inf(f128), -fmin(f128), | ||
| 6810 | }); | ||
| 6811 | |||
| 6812 | try testArgs(@Vector(1, f32), @Vector(1, f128), .{ | ||
| 6813 | 1e0, | ||
| 6814 | }); | ||
| 6815 | try testArgs(@Vector(2, f32), @Vector(2, f128), .{ | ||
| 6816 | -inf(f128), -1e-2, | ||
| 6817 | }); | ||
| 6818 | try testArgs(@Vector(4, f32), @Vector(4, f128), .{ | ||
| 6819 | -1e2, 1e-1, fmax(f128), 1e-2, | ||
| 6820 | }); | ||
| 6821 | try testArgs(@Vector(8, f32), @Vector(8, f128), .{ | ||
| 6822 | -1e-1, tmin(f128), -1e3, fmin(f128), nan(f128), -1e-3, 1e1, 1e4, | ||
| 6823 | }); | ||
| 6824 | try testArgs(@Vector(16, f32), @Vector(16, f128), .{ | ||
| 6825 | -fmax(f128), -1e0, 1e-4, 1e2, -fmin(f128), -1e1, 0.0, -1e4, -0.0, 1e3, -nan(f128), -tmin(f128), -1e-4, inf(f128), 1e-3, -1e-1, | ||
| 6826 | }); | ||
| 6827 | try testArgs(@Vector(32, f32), @Vector(32, f128), .{ | ||
| 6828 | -1e3, -tmin(f128), inf(f128), -1e4, -0.0, fmax(f128), 1e2, 1e4, -nan(f128), 0.0, -1e-4, -1e1, 1e0, 1e-1, nan(f128), -1e0, | ||
| 6829 | 1e3, -1e-3, -fmin(f128), -inf(f128), 1e-3, tmin(f128), fmin(f128), 1e1, 1e-4, -fmax(f128), -1e2, 1e-2, -1e-2, 1e3, inf(f128), -fmin(f128), | ||
| 6830 | }); | ||
| 6831 | |||
| 6832 | try testArgs(@Vector(1, f64), @Vector(1, f128), .{ | ||
| 6833 | 1e0, | ||
| 6834 | }); | ||
| 6835 | try testArgs(@Vector(2, f64), @Vector(2, f128), .{ | ||
| 6836 | -inf(f128), -1e-2, | ||
| 6837 | }); | ||
| 6838 | try testArgs(@Vector(4, f64), @Vector(4, f128), .{ | ||
| 6839 | -1e2, 1e-1, fmax(f128), 1e-2, | ||
| 6840 | }); | ||
| 6841 | try testArgs(@Vector(8, f64), @Vector(8, f128), .{ | ||
| 6842 | -1e-1, tmin(f128), -1e3, fmin(f128), nan(f128), -1e-3, 1e1, 1e4, | ||
| 6843 | }); | ||
| 6844 | try testArgs(@Vector(16, f64), @Vector(16, f128), .{ | ||
| 6845 | -fmax(f128), -1e0, 1e-4, 1e2, -fmin(f128), -1e1, 0.0, -1e4, -0.0, 1e3, -nan(f128), -tmin(f128), -1e-4, inf(f128), 1e-3, -1e-1, | ||
| 6846 | }); | ||
| 6847 | try testArgs(@Vector(32, f64), @Vector(32, f128), .{ | ||
| 6848 | -1e3, -tmin(f128), inf(f128), -1e4, -0.0, fmax(f128), 1e2, 1e4, -nan(f128), 0.0, -1e-4, -1e1, 1e0, 1e-1, nan(f128), -1e0, | ||
| 6849 | 1e3, -1e-3, -fmin(f128), -inf(f128), 1e-3, tmin(f128), fmin(f128), 1e1, 1e-4, -fmax(f128), -1e2, 1e-2, -1e-2, 1e3, inf(f128), -fmin(f128), | ||
| 6850 | }); | ||
| 6851 | |||
| 6852 | try testArgs(@Vector(1, f80), @Vector(1, f128), .{ | ||
| 6853 | 1e0, | ||
| 6854 | }); | ||
| 6855 | try testArgs(@Vector(2, f80), @Vector(2, f128), .{ | ||
| 6856 | -inf(f128), -1e-2, | ||
| 6857 | }); | ||
| 6858 | try testArgs(@Vector(4, f80), @Vector(4, f128), .{ | ||
| 6859 | -1e2, 1e-1, fmax(f128), 1e-2, | ||
| 6860 | }); | ||
| 6861 | try testArgs(@Vector(8, f80), @Vector(8, f128), .{ | ||
| 6862 | -1e-1, tmin(f128), -1e3, fmin(f128), nan(f128), -1e-3, 1e1, 1e4, | ||
| 6863 | }); | ||
| 6864 | try testArgs(@Vector(16, f80), @Vector(16, f128), .{ | ||
| 6865 | -fmax(f128), -1e0, 1e-4, 1e2, -fmin(f128), -1e1, 0.0, -1e4, -0.0, 1e3, -nan(f128), -tmin(f128), -1e-4, inf(f128), 1e-3, -1e-1, | ||
| 6866 | }); | ||
| 6867 | try testArgs(@Vector(32, f80), @Vector(32, f128), .{ | ||
| 6868 | -1e3, -tmin(f128), inf(f128), -1e4, -0.0, fmax(f128), 1e2, 1e4, -nan(f128), 0.0, -1e-4, -1e1, 1e0, 1e-1, nan(f128), -1e0, | ||
| 6869 | 1e3, -1e-3, -fmin(f128), -inf(f128), 1e-3, tmin(f128), fmin(f128), 1e1, 1e-4, -fmax(f128), -1e2, 1e-2, -1e-2, 1e3, inf(f128), -fmin(f128), | ||
| 6870 | }); | ||
| 6871 | |||
| 6872 | try testArgs(@Vector(1, f128), @Vector(1, f128), .{ | ||
| 6873 | 1e0, | ||
| 6874 | }); | ||
| 6875 | try testArgs(@Vector(2, f128), @Vector(2, f128), .{ | ||
| 6876 | -inf(f128), -1e-2, | ||
| 6877 | }); | ||
| 6878 | try testArgs(@Vector(4, f128), @Vector(4, f128), .{ | ||
| 6879 | -1e2, 1e-1, fmax(f128), 1e-2, | ||
| 6880 | }); | ||
| 6881 | try testArgs(@Vector(8, f128), @Vector(8, f128), .{ | ||
| 6882 | -1e-1, tmin(f128), -1e3, fmin(f128), nan(f128), -1e-3, 1e1, 1e4, | ||
| 6883 | }); | ||
| 6884 | try testArgs(@Vector(16, f128), @Vector(16, f128), .{ | ||
| 6885 | -fmax(f128), -1e0, 1e-4, 1e2, -fmin(f128), -1e1, 0.0, -1e4, -0.0, 1e3, -nan(f128), -tmin(f128), -1e-4, inf(f128), 1e-3, -1e-1, | ||
| 6886 | }); | ||
| 6887 | try testArgs(@Vector(32, f128), @Vector(32, f128), .{ | ||
| 6888 | -1e3, -tmin(f128), inf(f128), -1e4, -0.0, fmax(f128), 1e2, 1e4, -nan(f128), 0.0, -1e-4, -1e1, 1e0, 1e-1, nan(f128), -1e0, | ||
| 6889 | 1e3, -1e-3, -fmin(f128), -inf(f128), 1e-3, tmin(f128), fmin(f128), 1e1, 1e-4, -fmax(f128), -1e2, 1e-2, -1e-2, 1e3, inf(f128), -fmin(f128), | ||
| 6890 | }); | ||
| 6891 | } | ||
| 6892 | fn testIntsFromFloats() !void { | ||
| 6893 | @setEvalBranchQuota(2_600); | ||
| 6894 | |||
| 6895 | try testArgs(i8, f16, -0x0.8p8); | ||
| 6896 | try testArgs(i8, f16, next(f16, -0x0.8p8, -0.0)); | ||
| 6897 | try testArgs(i8, f16, next(f16, next(f16, -0x0.8p8, -0.0), -0.0)); | ||
| 6898 | try testArgs(i8, f16, -1e2); | ||
| 6899 | try testArgs(i8, f16, -1e1); | ||
| 6900 | try testArgs(i8, f16, -1e0); | ||
| 6901 | try testArgs(i8, f16, -1e-1); | ||
| 6902 | try testArgs(i8, f16, -0.0); | ||
| 6903 | try testArgs(i8, f16, 0.0); | ||
| 6904 | try testArgs(i8, f16, 1e-1); | ||
| 6905 | try testArgs(i8, f16, 1e0); | ||
| 6906 | try testArgs(i8, f16, 1e1); | ||
| 6907 | try testArgs(i8, f16, 1e2); | ||
| 6908 | try testArgs(i8, f16, next(f16, next(f16, 0x0.8p8, 0.0), 0.0)); | ||
| 6909 | try testArgs(i8, f16, next(f16, 0x0.8p8, 0.0)); | ||
| 6910 | |||
| 6911 | try testArgs(u8, f16, -0.0); | ||
| 6912 | try testArgs(u8, f16, 0.0); | ||
| 6913 | try testArgs(u8, f16, 1e-1); | ||
| 6914 | try testArgs(u8, f16, 1e0); | ||
| 6915 | try testArgs(u8, f16, 1e1); | ||
| 6916 | try testArgs(u8, f16, 1e2); | ||
| 6917 | try testArgs(u8, f16, next(f16, next(f16, 0x1p8, 0.0), 0.0)); | ||
| 6918 | try testArgs(u8, f16, next(f16, 0x1p8, 0.0)); | ||
| 6919 | |||
| 6920 | try testArgs(i16, f16, -1e4); | ||
| 6921 | try testArgs(i16, f16, -1e3); | ||
| 6922 | try testArgs(i16, f16, -1e2); | ||
| 6923 | try testArgs(i16, f16, -1e1); | ||
| 6924 | try testArgs(i16, f16, -1e0); | ||
| 6925 | try testArgs(i16, f16, -1e-1); | ||
| 6926 | try testArgs(i16, f16, -0.0); | ||
| 6927 | try testArgs(i16, f16, 0.0); | ||
| 6928 | try testArgs(i16, f16, 1e-1); | ||
| 6929 | try testArgs(i16, f16, 1e0); | ||
| 6930 | try testArgs(i16, f16, 1e1); | ||
| 6931 | try testArgs(i16, f16, 1e2); | ||
| 6932 | try testArgs(i16, f16, 1e3); | ||
| 6933 | try testArgs(i16, f16, 1e4); | ||
| 6934 | try testArgs(i16, f16, next(f16, next(f16, 0x0.8p16, 0.0), 0.0)); | ||
| 6935 | try testArgs(i16, f16, next(f16, 0x0.8p16, 0.0)); | ||
| 6936 | |||
| 6937 | try testArgs(u16, f16, -0.0); | ||
| 6938 | try testArgs(u16, f16, 0.0); | ||
| 6939 | try testArgs(u16, f16, 1e-1); | ||
| 6940 | try testArgs(u16, f16, 1e0); | ||
| 6941 | try testArgs(u16, f16, 1e1); | ||
| 6942 | try testArgs(u16, f16, 1e2); | ||
| 6943 | try testArgs(u16, f16, 1e3); | ||
| 6944 | try testArgs(u16, f16, 1e4); | ||
| 6945 | try testArgs(u16, f16, next(f16, next(f16, fmax(f16), 0.0), 0.0)); | ||
| 6946 | try testArgs(u16, f16, next(f16, fmax(f16), 0.0)); | ||
| 6947 | try testArgs(u16, f16, fmax(f16)); | ||
| 6948 | |||
| 6949 | try testArgs(i32, f16, -fmax(f16)); | ||
| 6950 | try testArgs(i32, f16, next(f16, -fmax(f16), -0.0)); | ||
| 6951 | try testArgs(i32, f16, next(f16, next(f16, -fmax(f16), -0.0), -0.0)); | ||
| 6952 | try testArgs(i32, f16, -1e4); | ||
| 6953 | try testArgs(i32, f16, -1e3); | ||
| 6954 | try testArgs(i32, f16, -1e2); | ||
| 6955 | try testArgs(i32, f16, -1e1); | ||
| 6956 | try testArgs(i32, f16, -1e0); | ||
| 6957 | try testArgs(i32, f16, -1e-1); | ||
| 6958 | try testArgs(i32, f16, -0.0); | ||
| 6959 | try testArgs(i32, f16, 0.0); | ||
| 6960 | try testArgs(i32, f16, 1e-1); | ||
| 6961 | try testArgs(i32, f16, 1e0); | ||
| 6962 | try testArgs(i32, f16, 1e1); | ||
| 6963 | try testArgs(i32, f16, 1e2); | ||
| 6964 | try testArgs(i32, f16, 1e3); | ||
| 6965 | try testArgs(i32, f16, 1e4); | ||
| 6966 | try testArgs(i32, f16, next(f16, next(f16, fmax(f16), 0.0), 0.0)); | ||
| 6967 | try testArgs(i32, f16, next(f16, fmax(f16), 0.0)); | ||
| 6968 | try testArgs(i32, f16, fmax(f16)); | ||
| 6969 | |||
| 6970 | try testArgs(u32, f16, -0.0); | ||
| 6971 | try testArgs(u32, f16, 0.0); | ||
| 6972 | try testArgs(u32, f16, 1e-1); | ||
| 6973 | try testArgs(u32, f16, 1e0); | ||
| 6974 | try testArgs(u32, f16, 1e1); | ||
| 6975 | try testArgs(u32, f16, 1e2); | ||
| 6976 | try testArgs(u32, f16, 1e3); | ||
| 6977 | try testArgs(u32, f16, 1e4); | ||
| 6978 | try testArgs(u32, f16, next(f16, next(f16, fmax(f16), 0.0), 0.0)); | ||
| 6979 | try testArgs(u32, f16, next(f16, fmax(f16), 0.0)); | ||
| 6980 | try testArgs(u32, f16, fmax(f16)); | ||
| 6981 | |||
| 6982 | try testArgs(i64, f16, -fmax(f16)); | ||
| 6983 | try testArgs(i64, f16, next(f16, -fmax(f16), -0.0)); | ||
| 6984 | try testArgs(i64, f16, next(f16, next(f16, -fmax(f16), -0.0), -0.0)); | ||
| 6985 | try testArgs(i64, f16, -1e4); | ||
| 6986 | try testArgs(i64, f16, -1e3); | ||
| 6987 | try testArgs(i64, f16, -1e2); | ||
| 6988 | try testArgs(i64, f16, -1e1); | ||
| 6989 | try testArgs(i64, f16, -1e0); | ||
| 6990 | try testArgs(i64, f16, -1e-1); | ||
| 6991 | try testArgs(i64, f16, -0.0); | ||
| 6992 | try testArgs(i64, f16, 0.0); | ||
| 6993 | try testArgs(i64, f16, 1e-1); | ||
| 6994 | try testArgs(i64, f16, 1e0); | ||
| 6995 | try testArgs(i64, f16, 1e1); | ||
| 6996 | try testArgs(i64, f16, 1e2); | ||
| 6997 | try testArgs(i64, f16, 1e3); | ||
| 6998 | try testArgs(i64, f16, 1e4); | ||
| 6999 | try testArgs(i64, f16, next(f16, next(f16, fmax(f16), 0.0), 0.0)); | ||
| 7000 | try testArgs(i64, f16, next(f16, fmax(f16), 0.0)); | ||
| 7001 | try testArgs(i64, f16, fmax(f16)); | ||
| 7002 | |||
| 7003 | try testArgs(u64, f16, -0.0); | ||
| 7004 | try testArgs(u64, f16, 0.0); | ||
| 7005 | try testArgs(u64, f16, 1e-1); | ||
| 7006 | try testArgs(u64, f16, 1e0); | ||
| 7007 | try testArgs(u64, f16, 1e1); | ||
| 7008 | try testArgs(u64, f16, 1e2); | ||
| 7009 | try testArgs(u64, f16, 1e3); | ||
| 7010 | try testArgs(u64, f16, 1e4); | ||
| 7011 | try testArgs(u64, f16, next(f16, next(f16, fmax(f16), 0.0), 0.0)); | ||
| 7012 | try testArgs(u64, f16, next(f16, fmax(f16), 0.0)); | ||
| 7013 | try testArgs(u64, f16, fmax(f16)); | ||
| 7014 | |||
| 7015 | try testArgs(i128, f16, -fmax(f16)); | ||
| 7016 | try testArgs(i128, f16, next(f16, -fmax(f16), -0.0)); | ||
| 7017 | try testArgs(i128, f16, next(f16, next(f16, -fmax(f16), -0.0), -0.0)); | ||
| 7018 | try testArgs(i128, f16, -1e4); | ||
| 7019 | try testArgs(i128, f16, -1e3); | ||
| 7020 | try testArgs(i128, f16, -1e2); | ||
| 7021 | try testArgs(i128, f16, -1e1); | ||
| 7022 | try testArgs(i128, f16, -1e0); | ||
| 7023 | try testArgs(i128, f16, -1e-1); | ||
| 7024 | try testArgs(i128, f16, -0.0); | ||
| 7025 | try testArgs(i128, f16, 0.0); | ||
| 7026 | try testArgs(i128, f16, 1e-1); | ||
| 7027 | try testArgs(i128, f16, 1e0); | ||
| 7028 | try testArgs(i128, f16, 1e1); | ||
| 7029 | try testArgs(i128, f16, 1e2); | ||
| 7030 | try testArgs(i128, f16, 1e3); | ||
| 7031 | try testArgs(i128, f16, 1e4); | ||
| 7032 | try testArgs(i128, f16, next(f16, next(f16, fmax(f16), 0.0), 0.0)); | ||
| 7033 | try testArgs(i128, f16, next(f16, fmax(f16), 0.0)); | ||
| 7034 | try testArgs(i128, f16, fmax(f16)); | ||
| 7035 | |||
| 7036 | try testArgs(u128, f16, -0.0); | ||
| 7037 | try testArgs(u128, f16, 0.0); | ||
| 7038 | try testArgs(u128, f16, 1e-1); | ||
| 7039 | try testArgs(u128, f16, 1e0); | ||
| 7040 | try testArgs(u128, f16, 1e1); | ||
| 7041 | try testArgs(u128, f16, 1e2); | ||
| 7042 | try testArgs(u128, f16, 1e3); | ||
| 7043 | try testArgs(u128, f16, 1e4); | ||
| 7044 | try testArgs(u128, f16, next(f16, next(f16, fmax(f16), 0.0), 0.0)); | ||
| 7045 | try testArgs(u128, f16, next(f16, fmax(f16), 0.0)); | ||
| 7046 | try testArgs(u128, f16, fmax(f16)); | ||
| 7047 | |||
| 7048 | try testArgs(i256, f16, -fmax(f16)); | ||
| 7049 | try testArgs(i256, f16, next(f16, -fmax(f16), -0.0)); | ||
| 7050 | try testArgs(i256, f16, next(f16, next(f16, -fmax(f16), -0.0), -0.0)); | ||
| 7051 | try testArgs(i256, f16, -1e4); | ||
| 7052 | try testArgs(i256, f16, -1e3); | ||
| 7053 | try testArgs(i256, f16, -1e2); | ||
| 7054 | try testArgs(i256, f16, -1e1); | ||
| 7055 | try testArgs(i256, f16, -1e0); | ||
| 7056 | try testArgs(i256, f16, -1e-1); | ||
| 7057 | try testArgs(i256, f16, -0.0); | ||
| 7058 | try testArgs(i256, f16, 0.0); | ||
| 7059 | try testArgs(i256, f16, 1e-1); | ||
| 7060 | try testArgs(i256, f16, 1e0); | ||
| 7061 | try testArgs(i256, f16, 1e1); | ||
| 7062 | try testArgs(i256, f16, 1e2); | ||
| 7063 | try testArgs(i256, f16, 1e3); | ||
| 7064 | try testArgs(i256, f16, 1e4); | ||
| 7065 | try testArgs(i256, f16, next(f16, next(f16, fmax(f16), 0.0), 0.0)); | ||
| 7066 | try testArgs(i256, f16, next(f16, fmax(f16), 0.0)); | ||
| 7067 | try testArgs(i256, f16, fmax(f16)); | ||
| 7068 | |||
| 7069 | try testArgs(u256, f16, -0.0); | ||
| 7070 | try testArgs(u256, f16, 0.0); | ||
| 7071 | try testArgs(u256, f16, 1e-1); | ||
| 7072 | try testArgs(u256, f16, 1e0); | ||
| 7073 | try testArgs(u256, f16, 1e1); | ||
| 7074 | try testArgs(u256, f16, 1e2); | ||
| 7075 | try testArgs(u256, f16, 1e3); | ||
| 7076 | try testArgs(u256, f16, 1e4); | ||
| 7077 | try testArgs(u256, f16, next(f16, next(f16, fmax(f16), 0.0), 0.0)); | ||
| 7078 | try testArgs(u256, f16, next(f16, fmax(f16), 0.0)); | ||
| 7079 | try testArgs(u256, f16, fmax(f16)); | ||
| 7080 | |||
| 7081 | try testArgs(i8, f32, -0x0.8p8); | ||
| 7082 | try testArgs(i8, f32, next(f32, -0x0.8p8, -0.0)); | ||
| 7083 | try testArgs(i8, f32, next(f32, next(f32, -0x0.8p8, -0.0), -0.0)); | ||
| 7084 | try testArgs(i8, f32, -1e2); | ||
| 7085 | try testArgs(i8, f32, -1e1); | ||
| 7086 | try testArgs(i8, f32, -1e0); | ||
| 7087 | try testArgs(i8, f32, -1e-1); | ||
| 7088 | try testArgs(i8, f32, -0.0); | ||
| 7089 | try testArgs(i8, f32, 0.0); | ||
| 7090 | try testArgs(i8, f32, 1e-1); | ||
| 7091 | try testArgs(i8, f32, 1e0); | ||
| 7092 | try testArgs(i8, f32, 1e1); | ||
| 7093 | try testArgs(i8, f32, 1e2); | ||
| 7094 | try testArgs(i8, f32, next(f32, next(f32, 0x0.8p8, 0.0), 0.0)); | ||
| 7095 | try testArgs(i8, f32, next(f32, 0x0.8p8, 0.0)); | ||
| 7096 | |||
| 7097 | try testArgs(u8, f32, -0.0); | ||
| 7098 | try testArgs(u8, f32, 0.0); | ||
| 7099 | try testArgs(u8, f32, 1e-1); | ||
| 7100 | try testArgs(u8, f32, 1e0); | ||
| 7101 | try testArgs(u8, f32, 1e1); | ||
| 7102 | try testArgs(u8, f32, 1e2); | ||
| 7103 | try testArgs(u8, f32, next(f32, next(f32, 0x1p8, 0.0), 0.0)); | ||
| 7104 | try testArgs(u8, f32, next(f32, 0x1p8, 0.0)); | ||
| 7105 | |||
| 7106 | try testArgs(i16, f32, -0x0.8p16); | ||
| 7107 | try testArgs(i16, f32, next(f32, -0x0.8p16, -0.0)); | ||
| 7108 | try testArgs(i16, f32, next(f32, next(f32, -0x0.8p16, -0.0), -0.0)); | ||
| 7109 | try testArgs(i16, f32, -1e4); | ||
| 7110 | try testArgs(i16, f32, -1e3); | ||
| 7111 | try testArgs(i16, f32, -1e2); | ||
| 7112 | try testArgs(i16, f32, -1e1); | ||
| 7113 | try testArgs(i16, f32, -1e0); | ||
| 7114 | try testArgs(i16, f32, -1e-1); | ||
| 7115 | try testArgs(i16, f32, -0.0); | ||
| 7116 | try testArgs(i16, f32, 0.0); | ||
| 7117 | try testArgs(i16, f32, 1e-1); | ||
| 7118 | try testArgs(i16, f32, 1e0); | ||
| 7119 | try testArgs(i16, f32, 1e1); | ||
| 7120 | try testArgs(i16, f32, 1e2); | ||
| 7121 | try testArgs(i16, f32, 1e3); | ||
| 7122 | try testArgs(i16, f32, 1e4); | ||
| 7123 | try testArgs(i16, f32, next(f32, next(f32, 0x0.8p16, 0.0), 0.0)); | ||
| 7124 | try testArgs(i16, f32, next(f32, 0x0.8p16, 0.0)); | ||
| 7125 | |||
| 7126 | try testArgs(u16, f32, -0.0); | ||
| 7127 | try testArgs(u16, f32, 0.0); | ||
| 7128 | try testArgs(u16, f32, 1e-1); | ||
| 7129 | try testArgs(u16, f32, 1e0); | ||
| 7130 | try testArgs(u16, f32, 1e1); | ||
| 7131 | try testArgs(u16, f32, 1e2); | ||
| 7132 | try testArgs(u16, f32, 1e3); | ||
| 7133 | try testArgs(u16, f32, 1e4); | ||
| 7134 | try testArgs(u16, f32, next(f32, next(f32, 0x1p16, 0.0), 0.0)); | ||
| 7135 | try testArgs(u16, f32, next(f32, 0x1p16, 0.0)); | ||
| 7136 | |||
| 7137 | try testArgs(i32, f32, -0x0.8p32); | ||
| 7138 | try testArgs(i32, f32, next(f32, -0x0.8p32, -0.0)); | ||
| 7139 | try testArgs(i32, f32, next(f32, next(f32, -0x0.8p32, -0.0), -0.0)); | ||
| 7140 | try testArgs(i32, f32, -1e9); | ||
| 7141 | try testArgs(i32, f32, -1e8); | ||
| 7142 | try testArgs(i32, f32, -1e7); | ||
| 7143 | try testArgs(i32, f32, -1e6); | ||
| 7144 | try testArgs(i32, f32, -1e5); | ||
| 7145 | try testArgs(i32, f32, -1e4); | ||
| 7146 | try testArgs(i32, f32, -1e3); | ||
| 7147 | try testArgs(i32, f32, -1e2); | ||
| 7148 | try testArgs(i32, f32, -1e1); | ||
| 7149 | try testArgs(i32, f32, -1e0); | ||
| 7150 | try testArgs(i32, f32, -1e-1); | ||
| 7151 | try testArgs(i32, f32, -0.0); | ||
| 7152 | try testArgs(i32, f32, 0.0); | ||
| 7153 | try testArgs(i32, f32, 1e-1); | ||
| 7154 | try testArgs(i32, f32, 1e0); | ||
| 7155 | try testArgs(i32, f32, 1e1); | ||
| 7156 | try testArgs(i32, f32, 1e2); | ||
| 7157 | try testArgs(i32, f32, 1e3); | ||
| 7158 | try testArgs(i32, f32, 1e4); | ||
| 7159 | try testArgs(i32, f32, 1e5); | ||
| 7160 | try testArgs(i32, f32, 1e6); | ||
| 7161 | try testArgs(i32, f32, 1e7); | ||
| 7162 | try testArgs(i32, f32, 1e8); | ||
| 7163 | try testArgs(i32, f32, 1e9); | ||
| 7164 | try testArgs(i32, f32, next(f32, next(f32, 0x0.8p32, 0.0), 0.0)); | ||
| 7165 | try testArgs(i32, f32, next(f32, 0x0.8p32, 0.0)); | ||
| 7166 | |||
| 7167 | try testArgs(u32, f32, -0.0); | ||
| 7168 | try testArgs(u32, f32, 0.0); | ||
| 7169 | try testArgs(u32, f32, 1e-1); | ||
| 7170 | try testArgs(u32, f32, 1e0); | ||
| 7171 | try testArgs(u32, f32, 1e1); | ||
| 7172 | try testArgs(u32, f32, 1e2); | ||
| 7173 | try testArgs(u32, f32, 1e3); | ||
| 7174 | try testArgs(u32, f32, 1e4); | ||
| 7175 | try testArgs(u32, f32, 1e5); | ||
| 7176 | try testArgs(u32, f32, 1e6); | ||
| 7177 | try testArgs(u32, f32, 1e7); | ||
| 7178 | try testArgs(u32, f32, 1e8); | ||
| 7179 | try testArgs(u32, f32, 1e9); | ||
| 7180 | try testArgs(u32, f32, next(f32, next(f32, 0x1p32, 0.0), 0.0)); | ||
| 7181 | try testArgs(u32, f32, next(f32, 0x1p32, 0.0)); | ||
| 7182 | |||
| 7183 | try testArgs(i64, f32, -0x0.8p64); | ||
| 7184 | try testArgs(i64, f32, next(f32, -0x0.8p64, -0.0)); | ||
| 7185 | try testArgs(i64, f32, next(f32, next(f32, -0x0.8p64, -0.0), -0.0)); | ||
| 7186 | try testArgs(i64, f32, -1e18); | ||
| 7187 | try testArgs(i64, f32, -1e16); | ||
| 7188 | try testArgs(i64, f32, -1e14); | ||
| 7189 | try testArgs(i64, f32, -1e12); | ||
| 7190 | try testArgs(i64, f32, -1e10); | ||
| 7191 | try testArgs(i64, f32, -1e8); | ||
| 7192 | try testArgs(i64, f32, -1e6); | ||
| 7193 | try testArgs(i64, f32, -1e4); | ||
| 7194 | try testArgs(i64, f32, -1e2); | ||
| 7195 | try testArgs(i64, f32, -1e0); | ||
| 7196 | try testArgs(i64, f32, -1e-1); | ||
| 7197 | try testArgs(i64, f32, -0.0); | ||
| 7198 | try testArgs(i64, f32, 0.0); | ||
| 7199 | try testArgs(i64, f32, 1e-1); | ||
| 7200 | try testArgs(i64, f32, 1e0); | ||
| 7201 | try testArgs(i64, f32, 1e2); | ||
| 7202 | try testArgs(i64, f32, 1e4); | ||
| 7203 | try testArgs(i64, f32, 1e6); | ||
| 7204 | try testArgs(i64, f32, 1e8); | ||
| 7205 | try testArgs(i64, f32, 1e10); | ||
| 7206 | try testArgs(i64, f32, 1e12); | ||
| 7207 | try testArgs(i64, f32, 1e14); | ||
| 7208 | try testArgs(i64, f32, 1e16); | ||
| 7209 | try testArgs(i64, f32, 1e18); | ||
| 7210 | try testArgs(i64, f32, next(f32, next(f32, 0x0.8p64, 0.0), 0.0)); | ||
| 7211 | try testArgs(i64, f32, next(f32, 0x0.8p64, 0.0)); | ||
| 7212 | |||
| 7213 | try testArgs(u64, f32, -0.0); | ||
| 7214 | try testArgs(u64, f32, 0.0); | ||
| 7215 | try testArgs(u64, f32, 1e-1); | ||
| 7216 | try testArgs(u64, f32, 1e0); | ||
| 7217 | try testArgs(u64, f32, 1e2); | ||
| 7218 | try testArgs(u64, f32, 1e4); | ||
| 7219 | try testArgs(u64, f32, 1e6); | ||
| 7220 | try testArgs(u64, f32, 1e8); | ||
| 7221 | try testArgs(u64, f32, 1e10); | ||
| 7222 | try testArgs(u64, f32, 1e12); | ||
| 7223 | try testArgs(u64, f32, 1e14); | ||
| 7224 | try testArgs(u64, f32, 1e16); | ||
| 7225 | try testArgs(u64, f32, 1e18); | ||
| 7226 | try testArgs(u64, f32, next(f32, next(f32, 0x1p64, 0.0), 0.0)); | ||
| 7227 | try testArgs(u64, f32, next(f32, 0x1p64, 0.0)); | ||
| 7228 | |||
| 7229 | try testArgs(i128, f32, -0x0.8p128); | ||
| 7230 | try testArgs(i128, f32, next(f32, -0x0.8p128, -0.0)); | ||
| 7231 | try testArgs(i128, f32, next(f32, next(f32, -0x0.8p128, -0.0), -0.0)); | ||
| 7232 | try testArgs(i128, f32, -1e38); | ||
| 7233 | try testArgs(i128, f32, -1e34); | ||
| 7234 | try testArgs(i128, f32, -1e30); | ||
| 7235 | try testArgs(i128, f32, -1e26); | ||
| 7236 | try testArgs(i128, f32, -1e22); | ||
| 7237 | try testArgs(i128, f32, -1e18); | ||
| 7238 | try testArgs(i128, f32, -1e14); | ||
| 7239 | try testArgs(i128, f32, -1e10); | ||
| 7240 | try testArgs(i128, f32, -1e6); | ||
| 7241 | try testArgs(i128, f32, -1e2); | ||
| 7242 | try testArgs(i128, f32, -1e0); | ||
| 7243 | try testArgs(i128, f32, -1e-1); | ||
| 7244 | try testArgs(i128, f32, -0.0); | ||
| 7245 | try testArgs(i128, f32, 0.0); | ||
| 7246 | try testArgs(i128, f32, 1e-1); | ||
| 7247 | try testArgs(i128, f32, 1e0); | ||
| 7248 | try testArgs(i128, f32, 1e2); | ||
| 7249 | try testArgs(i128, f32, 1e6); | ||
| 7250 | try testArgs(i128, f32, 1e10); | ||
| 7251 | try testArgs(i128, f32, 1e14); | ||
| 7252 | try testArgs(i128, f32, 1e18); | ||
| 7253 | try testArgs(i128, f32, 1e22); | ||
| 7254 | try testArgs(i128, f32, 1e26); | ||
| 7255 | try testArgs(i128, f32, 1e30); | ||
| 7256 | try testArgs(i128, f32, 1e34); | ||
| 7257 | try testArgs(i128, f32, 1e38); | ||
| 7258 | try testArgs(i128, f32, next(f32, next(f32, 0x0.8p128, 0.0), 0.0)); | ||
| 7259 | try testArgs(i128, f32, next(f32, 0x0.8p128, 0.0)); | ||
| 7260 | |||
| 7261 | try testArgs(u128, f32, -0.0); | ||
| 7262 | try testArgs(u128, f32, 0.0); | ||
| 7263 | try testArgs(u128, f32, 1e-1); | ||
| 7264 | try testArgs(u128, f32, 1e0); | ||
| 7265 | try testArgs(u128, f32, 1e2); | ||
| 7266 | try testArgs(u128, f32, 1e6); | ||
| 7267 | try testArgs(u128, f32, 1e10); | ||
| 7268 | try testArgs(u128, f32, 1e14); | ||
| 7269 | try testArgs(u128, f32, 1e18); | ||
| 7270 | try testArgs(u128, f32, 1e22); | ||
| 7271 | try testArgs(u128, f32, 1e26); | ||
| 7272 | try testArgs(u128, f32, 1e30); | ||
| 7273 | try testArgs(u128, f32, 1e34); | ||
| 7274 | try testArgs(u128, f32, 1e38); | ||
| 7275 | try testArgs(u128, f32, next(f32, next(f32, fmax(f32), 0.0), 0.0)); | ||
| 7276 | try testArgs(u128, f32, next(f32, fmax(f32), 0.0)); | ||
| 7277 | |||
| 7278 | try testArgs(i256, f32, -fmax(f32)); | ||
| 7279 | try testArgs(i256, f32, next(f32, -fmax(f32), -0.0)); | ||
| 7280 | try testArgs(i256, f32, next(f32, next(f32, -fmax(f32), -0.0), -0.0)); | ||
| 7281 | try testArgs(i256, f32, -1e38); | ||
| 7282 | try testArgs(i256, f32, -1e34); | ||
| 7283 | try testArgs(i256, f32, -1e30); | ||
| 7284 | try testArgs(i256, f32, -1e26); | ||
| 7285 | try testArgs(i256, f32, -1e22); | ||
| 7286 | try testArgs(i256, f32, -1e18); | ||
| 7287 | try testArgs(i256, f32, -1e14); | ||
| 7288 | try testArgs(i256, f32, -1e10); | ||
| 7289 | try testArgs(i256, f32, -1e6); | ||
| 7290 | try testArgs(i256, f32, -1e2); | ||
| 7291 | try testArgs(i256, f32, -1e0); | ||
| 7292 | try testArgs(i256, f32, -1e-1); | ||
| 7293 | try testArgs(i256, f32, -0.0); | ||
| 7294 | try testArgs(i256, f32, 0.0); | ||
| 7295 | try testArgs(i256, f32, 1e-1); | ||
| 7296 | try testArgs(i256, f32, 1e0); | ||
| 7297 | try testArgs(i256, f32, 1e2); | ||
| 7298 | try testArgs(i256, f32, 1e6); | ||
| 7299 | try testArgs(i256, f32, 1e10); | ||
| 7300 | try testArgs(i256, f32, 1e14); | ||
| 7301 | try testArgs(i256, f32, 1e18); | ||
| 7302 | try testArgs(i256, f32, 1e22); | ||
| 7303 | try testArgs(i256, f32, 1e26); | ||
| 7304 | try testArgs(i256, f32, 1e30); | ||
| 7305 | try testArgs(i256, f32, 1e34); | ||
| 7306 | try testArgs(i256, f32, 1e38); | ||
| 7307 | try testArgs(i256, f32, next(f32, next(f32, fmax(f32), 0.0), 0.0)); | ||
| 7308 | try testArgs(i256, f32, next(f32, fmax(f32), 0.0)); | ||
| 7309 | |||
| 7310 | try testArgs(u256, f32, -0.0); | ||
| 7311 | try testArgs(u256, f32, 0.0); | ||
| 7312 | try testArgs(u256, f32, 1e-1); | ||
| 7313 | try testArgs(u256, f32, 1e0); | ||
| 7314 | try testArgs(u256, f32, 1e2); | ||
| 7315 | try testArgs(u256, f32, 1e6); | ||
| 7316 | try testArgs(u256, f32, 1e10); | ||
| 7317 | try testArgs(u256, f32, 1e14); | ||
| 7318 | try testArgs(u256, f32, 1e18); | ||
| 7319 | try testArgs(u256, f32, 1e22); | ||
| 7320 | try testArgs(u256, f32, 1e26); | ||
| 7321 | try testArgs(u256, f32, 1e30); | ||
| 7322 | try testArgs(u256, f32, 1e34); | ||
| 7323 | try testArgs(u256, f32, 1e38); | ||
| 7324 | try testArgs(u256, f32, next(f32, next(f32, fmax(f32), 0.0), 0.0)); | ||
| 7325 | try testArgs(u256, f32, next(f32, fmax(f32), 0.0)); | ||
| 7326 | |||
| 7327 | try testArgs(i8, f64, -0x0.8p8); | ||
| 7328 | try testArgs(i8, f64, next(f64, -0x0.8p8, -0.0)); | ||
| 7329 | try testArgs(i8, f64, next(f64, next(f64, -0x0.8p8, -0.0), -0.0)); | ||
| 7330 | try testArgs(i8, f64, -1e2); | ||
| 7331 | try testArgs(i8, f64, -1e1); | ||
| 7332 | try testArgs(i8, f64, -1e0); | ||
| 7333 | try testArgs(i8, f64, -1e-1); | ||
| 7334 | try testArgs(i8, f64, -0.0); | ||
| 7335 | try testArgs(i8, f64, 0.0); | ||
| 7336 | try testArgs(i8, f64, 1e-1); | ||
| 7337 | try testArgs(i8, f64, 1e0); | ||
| 7338 | try testArgs(i8, f64, 1e1); | ||
| 7339 | try testArgs(i8, f64, 1e2); | ||
| 7340 | try testArgs(i8, f64, next(f64, next(f64, 0x0.8p8, 0.0), 0.0)); | ||
| 7341 | try testArgs(i8, f64, next(f64, 0x0.8p8, 0.0)); | ||
| 7342 | |||
| 7343 | try testArgs(u8, f64, -0.0); | ||
| 7344 | try testArgs(u8, f64, 0.0); | ||
| 7345 | try testArgs(u8, f64, 1e-1); | ||
| 7346 | try testArgs(u8, f64, 1e0); | ||
| 7347 | try testArgs(u8, f64, 1e1); | ||
| 7348 | try testArgs(u8, f64, 1e2); | ||
| 7349 | try testArgs(u8, f64, next(f64, next(f64, 0x1p8, 0.0), 0.0)); | ||
| 7350 | try testArgs(u8, f64, next(f64, 0x1p8, 0.0)); | ||
| 7351 | |||
| 7352 | try testArgs(i16, f64, -0x0.8p16); | ||
| 7353 | try testArgs(i16, f64, next(f64, -0x0.8p16, -0.0)); | ||
| 7354 | try testArgs(i16, f64, next(f64, next(f64, -0x0.8p16, -0.0), -0.0)); | ||
| 7355 | try testArgs(i16, f64, -1e4); | ||
| 7356 | try testArgs(i16, f64, -1e3); | ||
| 7357 | try testArgs(i16, f64, -1e2); | ||
| 7358 | try testArgs(i16, f64, -1e1); | ||
| 7359 | try testArgs(i16, f64, -1e0); | ||
| 7360 | try testArgs(i16, f64, -1e-1); | ||
| 7361 | try testArgs(i16, f64, -0.0); | ||
| 7362 | try testArgs(i16, f64, 0.0); | ||
| 7363 | try testArgs(i16, f64, 1e-1); | ||
| 7364 | try testArgs(i16, f64, 1e0); | ||
| 7365 | try testArgs(i16, f64, 1e1); | ||
| 7366 | try testArgs(i16, f64, 1e2); | ||
| 7367 | try testArgs(i16, f64, 1e3); | ||
| 7368 | try testArgs(i16, f64, 1e4); | ||
| 7369 | try testArgs(i16, f64, next(f64, next(f64, 0x0.8p16, 0.0), 0.0)); | ||
| 7370 | try testArgs(i16, f64, next(f64, 0x0.8p16, 0.0)); | ||
| 7371 | |||
| 7372 | try testArgs(u16, f64, -0.0); | ||
| 7373 | try testArgs(u16, f64, 0.0); | ||
| 7374 | try testArgs(u16, f64, 1e-1); | ||
| 7375 | try testArgs(u16, f64, 1e0); | ||
| 7376 | try testArgs(u16, f64, 1e1); | ||
| 7377 | try testArgs(u16, f64, 1e2); | ||
| 7378 | try testArgs(u16, f64, 1e3); | ||
| 7379 | try testArgs(u16, f64, 1e4); | ||
| 7380 | try testArgs(u16, f64, next(f64, next(f64, 0x1p16, 0.0), 0.0)); | ||
| 7381 | try testArgs(u16, f64, next(f64, 0x1p16, 0.0)); | ||
| 7382 | |||
| 7383 | try testArgs(i32, f64, -0x0.8p32); | ||
| 7384 | try testArgs(i32, f64, next(f64, -0x0.8p32, -0.0)); | ||
| 7385 | try testArgs(i32, f64, next(f64, next(f64, -0x0.8p32, -0.0), -0.0)); | ||
| 7386 | try testArgs(i32, f64, -1e9); | ||
| 7387 | try testArgs(i32, f64, -1e8); | ||
| 7388 | try testArgs(i32, f64, -1e7); | ||
| 7389 | try testArgs(i32, f64, -1e6); | ||
| 7390 | try testArgs(i32, f64, -1e5); | ||
| 7391 | try testArgs(i32, f64, -1e4); | ||
| 7392 | try testArgs(i32, f64, -1e3); | ||
| 7393 | try testArgs(i32, f64, -1e2); | ||
| 7394 | try testArgs(i32, f64, -1e1); | ||
| 7395 | try testArgs(i32, f64, -1e0); | ||
| 7396 | try testArgs(i32, f64, -1e-1); | ||
| 7397 | try testArgs(i32, f64, -0.0); | ||
| 7398 | try testArgs(i32, f64, 0.0); | ||
| 7399 | try testArgs(i32, f64, 1e-1); | ||
| 7400 | try testArgs(i32, f64, 1e0); | ||
| 7401 | try testArgs(i32, f64, 1e1); | ||
| 7402 | try testArgs(i32, f64, 1e2); | ||
| 7403 | try testArgs(i32, f64, 1e3); | ||
| 7404 | try testArgs(i32, f64, 1e4); | ||
| 7405 | try testArgs(i32, f64, 1e5); | ||
| 7406 | try testArgs(i32, f64, 1e6); | ||
| 7407 | try testArgs(i32, f64, 1e7); | ||
| 7408 | try testArgs(i32, f64, 1e8); | ||
| 7409 | try testArgs(i32, f64, 1e9); | ||
| 7410 | try testArgs(i32, f64, next(f64, next(f64, 0x0.8p32, 0.0), 0.0)); | ||
| 7411 | try testArgs(i32, f64, next(f64, 0x0.8p32, 0.0)); | ||
| 7412 | |||
| 7413 | try testArgs(u32, f64, -0.0); | ||
| 7414 | try testArgs(u32, f64, 0.0); | ||
| 7415 | try testArgs(u32, f64, 1e-1); | ||
| 7416 | try testArgs(u32, f64, 1e0); | ||
| 7417 | try testArgs(u32, f64, 1e1); | ||
| 7418 | try testArgs(u32, f64, 1e2); | ||
| 7419 | try testArgs(u32, f64, 1e3); | ||
| 7420 | try testArgs(u32, f64, 1e4); | ||
| 7421 | try testArgs(u32, f64, 1e5); | ||
| 7422 | try testArgs(u32, f64, 1e6); | ||
| 7423 | try testArgs(u32, f64, 1e7); | ||
| 7424 | try testArgs(u32, f64, 1e8); | ||
| 7425 | try testArgs(u32, f64, 1e9); | ||
| 7426 | try testArgs(u32, f64, next(f64, next(f64, 0x1p32, 0.0), 0.0)); | ||
| 7427 | try testArgs(u32, f64, next(f64, 0x1p32, 0.0)); | ||
| 7428 | |||
| 7429 | try testArgs(i64, f64, -0x0.8p64); | ||
| 7430 | try testArgs(i64, f64, next(f64, -0x0.8p64, -0.0)); | ||
| 7431 | try testArgs(i64, f64, next(f64, next(f64, -0x0.8p64, -0.0), -0.0)); | ||
| 7432 | try testArgs(i64, f64, -1e18); | ||
| 7433 | try testArgs(i64, f64, -1e16); | ||
| 7434 | try testArgs(i64, f64, -1e14); | ||
| 7435 | try testArgs(i64, f64, -1e12); | ||
| 7436 | try testArgs(i64, f64, -1e10); | ||
| 7437 | try testArgs(i64, f64, -1e8); | ||
| 7438 | try testArgs(i64, f64, -1e6); | ||
| 7439 | try testArgs(i64, f64, -1e4); | ||
| 7440 | try testArgs(i64, f64, -1e2); | ||
| 7441 | try testArgs(i64, f64, -1e0); | ||
| 7442 | try testArgs(i64, f64, -1e-1); | ||
| 7443 | try testArgs(i64, f64, -0.0); | ||
| 7444 | try testArgs(i64, f64, 0.0); | ||
| 7445 | try testArgs(i64, f64, 1e-1); | ||
| 7446 | try testArgs(i64, f64, 1e0); | ||
| 7447 | try testArgs(i64, f64, 1e2); | ||
| 7448 | try testArgs(i64, f64, 1e4); | ||
| 7449 | try testArgs(i64, f64, 1e6); | ||
| 7450 | try testArgs(i64, f64, 1e8); | ||
| 7451 | try testArgs(i64, f64, 1e10); | ||
| 7452 | try testArgs(i64, f64, 1e12); | ||
| 7453 | try testArgs(i64, f64, 1e14); | ||
| 7454 | try testArgs(i64, f64, 1e16); | ||
| 7455 | try testArgs(i64, f64, 1e18); | ||
| 7456 | try testArgs(i64, f64, next(f64, next(f64, 0x0.8p64, 0.0), 0.0)); | ||
| 7457 | try testArgs(i64, f64, next(f64, 0x0.8p64, 0.0)); | ||
| 7458 | |||
| 7459 | try testArgs(u64, f64, -0.0); | ||
| 7460 | try testArgs(u64, f64, 0.0); | ||
| 7461 | try testArgs(u64, f64, 1e-1); | ||
| 7462 | try testArgs(u64, f64, 1e0); | ||
| 7463 | try testArgs(u64, f64, 1e2); | ||
| 7464 | try testArgs(u64, f64, 1e4); | ||
| 7465 | try testArgs(u64, f64, 1e6); | ||
| 7466 | try testArgs(u64, f64, 1e8); | ||
| 7467 | try testArgs(u64, f64, 1e10); | ||
| 7468 | try testArgs(u64, f64, 1e12); | ||
| 7469 | try testArgs(u64, f64, 1e14); | ||
| 7470 | try testArgs(u64, f64, 1e16); | ||
| 7471 | try testArgs(u64, f64, 1e18); | ||
| 7472 | try testArgs(u64, f64, next(f64, next(f64, 0x1p64, 0.0), 0.0)); | ||
| 7473 | try testArgs(u64, f64, next(f64, 0x1p64, 0.0)); | ||
| 7474 | |||
| 7475 | try testArgs(i128, f64, -0x0.8p128); | ||
| 7476 | try testArgs(i128, f64, next(f64, -0x0.8p128, -0.0)); | ||
| 7477 | try testArgs(i128, f64, next(f64, next(f64, -0x0.8p128, -0.0), -0.0)); | ||
| 7478 | try testArgs(i128, f64, -1e38); | ||
| 7479 | try testArgs(i128, f64, -1e34); | ||
| 7480 | try testArgs(i128, f64, -1e30); | ||
| 7481 | try testArgs(i128, f64, -1e26); | ||
| 7482 | try testArgs(i128, f64, -1e22); | ||
| 7483 | try testArgs(i128, f64, -1e18); | ||
| 7484 | try testArgs(i128, f64, -1e14); | ||
| 7485 | try testArgs(i128, f64, -1e10); | ||
| 7486 | try testArgs(i128, f64, -1e6); | ||
| 7487 | try testArgs(i128, f64, -1e2); | ||
| 7488 | try testArgs(i128, f64, -1e0); | ||
| 7489 | try testArgs(i128, f64, -1e-1); | ||
| 7490 | try testArgs(i128, f64, -0.0); | ||
| 7491 | try testArgs(i128, f64, 0.0); | ||
| 7492 | try testArgs(i128, f64, 1e-1); | ||
| 7493 | try testArgs(i128, f64, 1e0); | ||
| 7494 | try testArgs(i128, f64, 1e2); | ||
| 7495 | try testArgs(i128, f64, 1e6); | ||
| 7496 | try testArgs(i128, f64, 1e10); | ||
| 7497 | try testArgs(i128, f64, 1e14); | ||
| 7498 | try testArgs(i128, f64, 1e18); | ||
| 7499 | try testArgs(i128, f64, 1e22); | ||
| 7500 | try testArgs(i128, f64, 1e26); | ||
| 7501 | try testArgs(i128, f64, 1e30); | ||
| 7502 | try testArgs(i128, f64, 1e34); | ||
| 7503 | try testArgs(i128, f64, 1e38); | ||
| 7504 | try testArgs(i128, f64, next(f64, next(f64, 0x0.8p128, 0.0), 0.0)); | ||
| 7505 | try testArgs(i128, f64, next(f64, 0x0.8p128, 0.0)); | ||
| 7506 | |||
| 7507 | try testArgs(u128, f64, -0.0); | ||
| 7508 | try testArgs(u128, f64, 0.0); | ||
| 7509 | try testArgs(u128, f64, 1e-1); | ||
| 7510 | try testArgs(u128, f64, 1e0); | ||
| 7511 | try testArgs(u128, f64, 1e2); | ||
| 7512 | try testArgs(u128, f64, 1e6); | ||
| 7513 | try testArgs(u128, f64, 1e10); | ||
| 7514 | try testArgs(u128, f64, 1e14); | ||
| 7515 | try testArgs(u128, f64, 1e18); | ||
| 7516 | try testArgs(u128, f64, 1e22); | ||
| 7517 | try testArgs(u128, f64, 1e26); | ||
| 7518 | try testArgs(u128, f64, 1e30); | ||
| 7519 | try testArgs(u128, f64, 1e34); | ||
| 7520 | try testArgs(u128, f64, 1e38); | ||
| 7521 | try testArgs(u128, f64, next(f64, next(f64, 0x1p128, 0.0), 0.0)); | ||
| 7522 | try testArgs(u128, f64, next(f64, 0x1p128, 0.0)); | ||
| 7523 | |||
| 7524 | try testArgs(i256, f64, -0x0.8p256); | ||
| 7525 | try testArgs(i256, f64, next(f64, -0x0.8p256, -0.0)); | ||
| 7526 | try testArgs(i256, f64, next(f64, next(f64, -0x0.8p256, -0.0), -0.0)); | ||
| 7527 | try testArgs(i256, f64, -1e76); | ||
| 7528 | try testArgs(i256, f64, -1e69); | ||
| 7529 | try testArgs(i256, f64, -1e62); | ||
| 7530 | try testArgs(i256, f64, -1e55); | ||
| 7531 | try testArgs(i256, f64, -1e48); | ||
| 7532 | try testArgs(i256, f64, -1e41); | ||
| 7533 | try testArgs(i256, f64, -1e34); | ||
| 7534 | try testArgs(i256, f64, -1e27); | ||
| 7535 | try testArgs(i256, f64, -1e20); | ||
| 7536 | try testArgs(i256, f64, -1e13); | ||
| 7537 | try testArgs(i256, f64, -1e6); | ||
| 7538 | try testArgs(i256, f64, -1e0); | ||
| 7539 | try testArgs(i256, f64, -1e-1); | ||
| 7540 | try testArgs(i256, f64, -0.0); | ||
| 7541 | try testArgs(i256, f64, 0.0); | ||
| 7542 | try testArgs(i256, f64, 1e-1); | ||
| 7543 | try testArgs(i256, f64, 1e0); | ||
| 7544 | try testArgs(i256, f64, 1e6); | ||
| 7545 | try testArgs(i256, f64, 1e13); | ||
| 7546 | try testArgs(i256, f64, 1e20); | ||
| 7547 | try testArgs(i256, f64, 1e27); | ||
| 7548 | try testArgs(i256, f64, 1e34); | ||
| 7549 | try testArgs(i256, f64, 1e41); | ||
| 7550 | try testArgs(i256, f64, 1e48); | ||
| 7551 | try testArgs(i256, f64, 1e55); | ||
| 7552 | try testArgs(i256, f64, 1e62); | ||
| 7553 | try testArgs(i256, f64, 1e69); | ||
| 7554 | try testArgs(i256, f64, 1e76); | ||
| 7555 | try testArgs(i256, f64, next(f64, next(f64, 0x0.8p256, 0.0), 0.0)); | ||
| 7556 | try testArgs(i256, f64, next(f64, 0x0.8p256, 0.0)); | ||
| 7557 | |||
| 7558 | try testArgs(u256, f64, -0.0); | ||
| 7559 | try testArgs(u256, f64, 0.0); | ||
| 7560 | try testArgs(u256, f64, 1e-1); | ||
| 7561 | try testArgs(u256, f64, 1e0); | ||
| 7562 | try testArgs(u256, f64, 1e7); | ||
| 7563 | try testArgs(u256, f64, 1e14); | ||
| 7564 | try testArgs(u256, f64, 1e21); | ||
| 7565 | try testArgs(u256, f64, 1e28); | ||
| 7566 | try testArgs(u256, f64, 1e35); | ||
| 7567 | try testArgs(u256, f64, 1e42); | ||
| 7568 | try testArgs(u256, f64, 1e49); | ||
| 7569 | try testArgs(u256, f64, 1e56); | ||
| 7570 | try testArgs(u256, f64, 1e63); | ||
| 7571 | try testArgs(u256, f64, 1e70); | ||
| 7572 | try testArgs(u256, f64, 1e77); | ||
| 7573 | try testArgs(u256, f64, next(f64, next(f64, 0x1p256, 0.0), 0.0)); | ||
| 7574 | try testArgs(u256, f64, next(f64, 0x1p256, 0.0)); | ||
| 7575 | |||
| 7576 | try testArgs(i8, f80, -0x0.8p8); | ||
| 7577 | try testArgs(i8, f80, next(f80, -0x0.8p8, -0.0)); | ||
| 7578 | try testArgs(i8, f80, next(f80, next(f80, -0x0.8p8, -0.0), -0.0)); | ||
| 7579 | try testArgs(i8, f80, -1e2); | ||
| 7580 | try testArgs(i8, f80, -1e1); | ||
| 7581 | try testArgs(i8, f80, -1e0); | ||
| 7582 | try testArgs(i8, f80, -1e-1); | ||
| 7583 | try testArgs(i8, f80, -0.0); | ||
| 7584 | try testArgs(i8, f80, 0.0); | ||
| 7585 | try testArgs(i8, f80, 1e-1); | ||
| 7586 | try testArgs(i8, f80, 1e0); | ||
| 7587 | try testArgs(i8, f80, 1e1); | ||
| 7588 | try testArgs(i8, f80, 1e2); | ||
| 7589 | try testArgs(i8, f80, next(f80, next(f80, 0x0.8p8, 0.0), 0.0)); | ||
| 7590 | try testArgs(i8, f80, next(f80, 0x0.8p8, 0.0)); | ||
| 7591 | |||
| 7592 | try testArgs(u8, f80, -0.0); | ||
| 7593 | try testArgs(u8, f80, 0.0); | ||
| 7594 | try testArgs(u8, f80, 1e-1); | ||
| 7595 | try testArgs(u8, f80, 1e0); | ||
| 7596 | try testArgs(u8, f80, 1e1); | ||
| 7597 | try testArgs(u8, f80, 1e2); | ||
| 7598 | try testArgs(u8, f80, next(f80, next(f80, 0x1p8, 0.0), 0.0)); | ||
| 7599 | try testArgs(u8, f80, next(f80, 0x1p8, 0.0)); | ||
| 7600 | |||
| 7601 | try testArgs(i16, f80, -0x0.8p16); | ||
| 7602 | try testArgs(i16, f80, next(f80, -0x0.8p16, -0.0)); | ||
| 7603 | try testArgs(i16, f80, next(f80, next(f80, -0x0.8p16, -0.0), -0.0)); | ||
| 7604 | try testArgs(i16, f80, -1e4); | ||
| 7605 | try testArgs(i16, f80, -1e3); | ||
| 7606 | try testArgs(i16, f80, -1e2); | ||
| 7607 | try testArgs(i16, f80, -1e1); | ||
| 7608 | try testArgs(i16, f80, -1e0); | ||
| 7609 | try testArgs(i16, f80, -1e-1); | ||
| 7610 | try testArgs(i16, f80, -0.0); | ||
| 7611 | try testArgs(i16, f80, 0.0); | ||
| 7612 | try testArgs(i16, f80, 1e-1); | ||
| 7613 | try testArgs(i16, f80, 1e0); | ||
| 7614 | try testArgs(i16, f80, 1e1); | ||
| 7615 | try testArgs(i16, f80, 1e2); | ||
| 7616 | try testArgs(i16, f80, 1e3); | ||
| 7617 | try testArgs(i16, f80, 1e4); | ||
| 7618 | try testArgs(i16, f80, next(f80, next(f80, 0x0.8p16, 0.0), 0.0)); | ||
| 7619 | try testArgs(i16, f80, next(f80, 0x0.8p16, 0.0)); | ||
| 7620 | |||
| 7621 | try testArgs(u16, f80, -0.0); | ||
| 7622 | try testArgs(u16, f80, 0.0); | ||
| 7623 | try testArgs(u16, f80, 1e-1); | ||
| 7624 | try testArgs(u16, f80, 1e0); | ||
| 7625 | try testArgs(u16, f80, 1e1); | ||
| 7626 | try testArgs(u16, f80, 1e2); | ||
| 7627 | try testArgs(u16, f80, 1e3); | ||
| 7628 | try testArgs(u16, f80, 1e4); | ||
| 7629 | try testArgs(u16, f80, next(f80, next(f80, 0x1p16, 0.0), 0.0)); | ||
| 7630 | try testArgs(u16, f80, next(f80, 0x1p16, 0.0)); | ||
| 7631 | |||
| 7632 | try testArgs(i32, f80, -0x0.8p32); | ||
| 7633 | try testArgs(i32, f80, next(f80, -0x0.8p32, -0.0)); | ||
| 7634 | try testArgs(i32, f80, next(f80, next(f80, -0x0.8p32, -0.0), -0.0)); | ||
| 7635 | try testArgs(i32, f80, -1e9); | ||
| 7636 | try testArgs(i32, f80, -1e8); | ||
| 7637 | try testArgs(i32, f80, -1e7); | ||
| 7638 | try testArgs(i32, f80, -1e6); | ||
| 7639 | try testArgs(i32, f80, -1e5); | ||
| 7640 | try testArgs(i32, f80, -1e4); | ||
| 7641 | try testArgs(i32, f80, -1e3); | ||
| 7642 | try testArgs(i32, f80, -1e2); | ||
| 7643 | try testArgs(i32, f80, -1e1); | ||
| 7644 | try testArgs(i32, f80, -1e0); | ||
| 7645 | try testArgs(i32, f80, -1e-1); | ||
| 7646 | try testArgs(i32, f80, -0.0); | ||
| 7647 | try testArgs(i32, f80, 0.0); | ||
| 7648 | try testArgs(i32, f80, 1e-1); | ||
| 7649 | try testArgs(i32, f80, 1e0); | ||
| 7650 | try testArgs(i32, f80, 1e1); | ||
| 7651 | try testArgs(i32, f80, 1e2); | ||
| 7652 | try testArgs(i32, f80, 1e3); | ||
| 7653 | try testArgs(i32, f80, 1e4); | ||
| 7654 | try testArgs(i32, f80, 1e5); | ||
| 7655 | try testArgs(i32, f80, 1e6); | ||
| 7656 | try testArgs(i32, f80, 1e7); | ||
| 7657 | try testArgs(i32, f80, 1e8); | ||
| 7658 | try testArgs(i32, f80, 1e9); | ||
| 7659 | try testArgs(i32, f80, next(f80, next(f80, 0x0.8p32, 0.0), 0.0)); | ||
| 7660 | try testArgs(i32, f80, next(f80, 0x0.8p32, 0.0)); | ||
| 7661 | |||
| 7662 | try testArgs(u32, f80, -0.0); | ||
| 7663 | try testArgs(u32, f80, 0.0); | ||
| 7664 | try testArgs(u32, f80, 1e-1); | ||
| 7665 | try testArgs(u32, f80, 1e0); | ||
| 7666 | try testArgs(u32, f80, 1e1); | ||
| 7667 | try testArgs(u32, f80, 1e2); | ||
| 7668 | try testArgs(u32, f80, 1e3); | ||
| 7669 | try testArgs(u32, f80, 1e4); | ||
| 7670 | try testArgs(u32, f80, 1e5); | ||
| 7671 | try testArgs(u32, f80, 1e6); | ||
| 7672 | try testArgs(u32, f80, 1e7); | ||
| 7673 | try testArgs(u32, f80, 1e8); | ||
| 7674 | try testArgs(u32, f80, 1e9); | ||
| 7675 | try testArgs(u32, f80, next(f80, next(f80, 0x1p32, 0.0), 0.0)); | ||
| 7676 | try testArgs(u32, f80, next(f80, 0x1p32, 0.0)); | ||
| 7677 | |||
| 7678 | try testArgs(i64, f80, -0x0.8p64); | ||
| 7679 | try testArgs(i64, f80, next(f80, -0x0.8p64, -0.0)); | ||
| 7680 | try testArgs(i64, f80, next(f80, next(f80, -0x0.8p64, -0.0), -0.0)); | ||
| 7681 | try testArgs(i64, f80, -1e18); | ||
| 7682 | try testArgs(i64, f80, -1e16); | ||
| 7683 | try testArgs(i64, f80, -1e14); | ||
| 7684 | try testArgs(i64, f80, -1e12); | ||
| 7685 | try testArgs(i64, f80, -1e10); | ||
| 7686 | try testArgs(i64, f80, -1e8); | ||
| 7687 | try testArgs(i64, f80, -1e6); | ||
| 7688 | try testArgs(i64, f80, -1e4); | ||
| 7689 | try testArgs(i64, f80, -1e2); | ||
| 7690 | try testArgs(i64, f80, -1e0); | ||
| 7691 | try testArgs(i64, f80, -1e-1); | ||
| 7692 | try testArgs(i64, f80, -0.0); | ||
| 7693 | try testArgs(i64, f80, 0.0); | ||
| 7694 | try testArgs(i64, f80, 1e-1); | ||
| 7695 | try testArgs(i64, f80, 1e0); | ||
| 7696 | try testArgs(i64, f80, 1e2); | ||
| 7697 | try testArgs(i64, f80, 1e4); | ||
| 7698 | try testArgs(i64, f80, 1e6); | ||
| 7699 | try testArgs(i64, f80, 1e8); | ||
| 7700 | try testArgs(i64, f80, 1e10); | ||
| 7701 | try testArgs(i64, f80, 1e12); | ||
| 7702 | try testArgs(i64, f80, 1e14); | ||
| 7703 | try testArgs(i64, f80, 1e16); | ||
| 7704 | try testArgs(i64, f80, 1e18); | ||
| 7705 | try testArgs(i64, f80, next(f80, next(f80, 0x0.8p64, 0.0), 0.0)); | ||
| 7706 | try testArgs(i64, f80, next(f80, 0x0.8p64, 0.0)); | ||
| 7707 | |||
| 7708 | try testArgs(u64, f80, -0.0); | ||
| 7709 | try testArgs(u64, f80, 0.0); | ||
| 7710 | try testArgs(u64, f80, 1e-1); | ||
| 7711 | try testArgs(u64, f80, 1e0); | ||
| 7712 | try testArgs(u64, f80, 1e2); | ||
| 7713 | try testArgs(u64, f80, 1e4); | ||
| 7714 | try testArgs(u64, f80, 1e6); | ||
| 7715 | try testArgs(u64, f80, 1e8); | ||
| 7716 | try testArgs(u64, f80, 1e10); | ||
| 7717 | try testArgs(u64, f80, 1e12); | ||
| 7718 | try testArgs(u64, f80, 1e14); | ||
| 7719 | try testArgs(u64, f80, 1e16); | ||
| 7720 | try testArgs(u64, f80, 1e18); | ||
| 7721 | try testArgs(u64, f80, next(f80, next(f80, 0x1p64, 0.0), 0.0)); | ||
| 7722 | try testArgs(u64, f80, next(f80, 0x1p64, 0.0)); | ||
| 7723 | |||
| 7724 | try testArgs(i128, f80, -0x0.8p128); | ||
| 7725 | try testArgs(i128, f80, next(f80, -0x0.8p128, -0.0)); | ||
| 7726 | try testArgs(i128, f80, next(f80, next(f80, -0x0.8p128, -0.0), -0.0)); | ||
| 7727 | try testArgs(i128, f80, -1e38); | ||
| 7728 | try testArgs(i128, f80, -1e34); | ||
| 7729 | try testArgs(i128, f80, -1e30); | ||
| 7730 | try testArgs(i128, f80, -1e26); | ||
| 7731 | try testArgs(i128, f80, -1e22); | ||
| 7732 | try testArgs(i128, f80, -1e18); | ||
| 7733 | try testArgs(i128, f80, -1e14); | ||
| 7734 | try testArgs(i128, f80, -1e10); | ||
| 7735 | try testArgs(i128, f80, -1e6); | ||
| 7736 | try testArgs(i128, f80, -1e2); | ||
| 7737 | try testArgs(i128, f80, -1e0); | ||
| 7738 | try testArgs(i128, f80, -1e-1); | ||
| 7739 | try testArgs(i128, f80, -0.0); | ||
| 7740 | try testArgs(i128, f80, 0.0); | ||
| 7741 | try testArgs(i128, f80, 1e-1); | ||
| 7742 | try testArgs(i128, f80, 1e0); | ||
| 7743 | try testArgs(i128, f80, 1e2); | ||
| 7744 | try testArgs(i128, f80, 1e6); | ||
| 7745 | try testArgs(i128, f80, 1e10); | ||
| 7746 | try testArgs(i128, f80, 1e14); | ||
| 7747 | try testArgs(i128, f80, 1e18); | ||
| 7748 | try testArgs(i128, f80, 1e22); | ||
| 7749 | try testArgs(i128, f80, 1e26); | ||
| 7750 | try testArgs(i128, f80, 1e30); | ||
| 7751 | try testArgs(i128, f80, 1e34); | ||
| 7752 | try testArgs(i128, f80, 1e38); | ||
| 7753 | try testArgs(i128, f80, next(f80, next(f80, 0x0.8p128, 0.0), 0.0)); | ||
| 7754 | try testArgs(i128, f80, next(f80, 0x0.8p128, 0.0)); | ||
| 7755 | |||
| 7756 | try testArgs(u128, f80, -0.0); | ||
| 7757 | try testArgs(u128, f80, 0.0); | ||
| 7758 | try testArgs(u128, f80, 1e-1); | ||
| 7759 | try testArgs(u128, f80, 1e0); | ||
| 7760 | try testArgs(u128, f80, 1e2); | ||
| 7761 | try testArgs(u128, f80, 1e6); | ||
| 7762 | try testArgs(u128, f80, 1e10); | ||
| 7763 | try testArgs(u128, f80, 1e14); | ||
| 7764 | try testArgs(u128, f80, 1e18); | ||
| 7765 | try testArgs(u128, f80, 1e22); | ||
| 7766 | try testArgs(u128, f80, 1e26); | ||
| 7767 | try testArgs(u128, f80, 1e30); | ||
| 7768 | try testArgs(u128, f80, 1e34); | ||
| 7769 | try testArgs(u128, f80, 1e38); | ||
| 7770 | try testArgs(u128, f80, next(f80, next(f80, 0x1p128, 0.0), 0.0)); | ||
| 7771 | try testArgs(u128, f80, next(f80, 0x1p128, 0.0)); | ||
| 7772 | |||
| 7773 | try testArgs(i256, f80, -0x0.8p256); | ||
| 7774 | try testArgs(i256, f80, next(f80, -0x0.8p256, -0.0)); | ||
| 7775 | try testArgs(i256, f80, next(f80, next(f80, -0x0.8p256, -0.0), -0.0)); | ||
| 7776 | try testArgs(i256, f80, -1e76); | ||
| 7777 | try testArgs(i256, f80, -1e69); | ||
| 7778 | try testArgs(i256, f80, -1e62); | ||
| 7779 | try testArgs(i256, f80, -1e55); | ||
| 7780 | try testArgs(i256, f80, -1e48); | ||
| 7781 | try testArgs(i256, f80, -1e41); | ||
| 7782 | try testArgs(i256, f80, -1e34); | ||
| 7783 | try testArgs(i256, f80, -1e27); | ||
| 7784 | try testArgs(i256, f80, -1e20); | ||
| 7785 | try testArgs(i256, f80, -1e13); | ||
| 7786 | try testArgs(i256, f80, -1e6); | ||
| 7787 | try testArgs(i256, f80, -1e0); | ||
| 7788 | try testArgs(i256, f80, -1e-1); | ||
| 7789 | try testArgs(i256, f80, -0.0); | ||
| 7790 | try testArgs(i256, f80, 0.0); | ||
| 7791 | try testArgs(i256, f80, 1e-1); | ||
| 7792 | try testArgs(i256, f80, 1e0); | ||
| 7793 | try testArgs(i256, f80, 1e6); | ||
| 7794 | try testArgs(i256, f80, 1e13); | ||
| 7795 | try testArgs(i256, f80, 1e20); | ||
| 7796 | try testArgs(i256, f80, 1e27); | ||
| 7797 | try testArgs(i256, f80, 1e34); | ||
| 7798 | try testArgs(i256, f80, 1e41); | ||
| 7799 | try testArgs(i256, f80, 1e48); | ||
| 7800 | try testArgs(i256, f80, 1e55); | ||
| 7801 | try testArgs(i256, f80, 1e62); | ||
| 7802 | try testArgs(i256, f80, 1e69); | ||
| 7803 | try testArgs(i256, f80, 1e76); | ||
| 7804 | try testArgs(i256, f80, next(f80, next(f80, 0x0.8p256, 0.0), 0.0)); | ||
| 7805 | try testArgs(i256, f80, next(f80, 0x0.8p256, 0.0)); | ||
| 7806 | |||
| 7807 | try testArgs(u256, f80, -0.0); | ||
| 7808 | try testArgs(u256, f80, 0.0); | ||
| 7809 | try testArgs(u256, f80, 1e-1); | ||
| 7810 | try testArgs(u256, f80, 1e0); | ||
| 7811 | try testArgs(u256, f80, 1e7); | ||
| 7812 | try testArgs(u256, f80, 1e14); | ||
| 7813 | try testArgs(u256, f80, 1e21); | ||
| 7814 | try testArgs(u256, f80, 1e28); | ||
| 7815 | try testArgs(u256, f80, 1e35); | ||
| 7816 | try testArgs(u256, f80, 1e42); | ||
| 7817 | try testArgs(u256, f80, 1e49); | ||
| 7818 | try testArgs(u256, f80, 1e56); | ||
| 7819 | try testArgs(u256, f80, 1e63); | ||
| 7820 | try testArgs(u256, f80, 1e70); | ||
| 7821 | try testArgs(u256, f80, 1e77); | ||
| 7822 | try testArgs(u256, f80, next(f80, next(f80, 0x1p256, 0.0), 0.0)); | ||
| 7823 | try testArgs(u256, f80, next(f80, 0x1p256, 0.0)); | ||
| 7824 | |||
| 7825 | try testArgs(i8, f128, -0x0.8p8); | ||
| 7826 | try testArgs(i8, f128, next(f128, -0x0.8p8, -0.0)); | ||
| 7827 | try testArgs(i8, f128, next(f128, next(f128, -0x0.8p8, -0.0), -0.0)); | ||
| 7828 | try testArgs(i8, f128, -1e2); | ||
| 7829 | try testArgs(i8, f128, -1e1); | ||
| 7830 | try testArgs(i8, f128, -1e0); | ||
| 7831 | try testArgs(i8, f128, -1e-1); | ||
| 7832 | try testArgs(i8, f128, -0.0); | ||
| 7833 | try testArgs(i8, f128, 0.0); | ||
| 7834 | try testArgs(i8, f128, 1e-1); | ||
| 7835 | try testArgs(i8, f128, 1e0); | ||
| 7836 | try testArgs(i8, f128, 1e1); | ||
| 7837 | try testArgs(i8, f128, 1e2); | ||
| 7838 | try testArgs(i8, f128, next(f128, next(f128, 0x0.8p8, 0.0), 0.0)); | ||
| 7839 | try testArgs(i8, f128, next(f128, 0x0.8p8, 0.0)); | ||
| 7840 | |||
| 7841 | try testArgs(u8, f128, -0.0); | ||
| 7842 | try testArgs(u8, f128, 0.0); | ||
| 7843 | try testArgs(u8, f128, 1e-1); | ||
| 7844 | try testArgs(u8, f128, 1e0); | ||
| 7845 | try testArgs(u8, f128, 1e1); | ||
| 7846 | try testArgs(u8, f128, 1e2); | ||
| 7847 | try testArgs(u8, f128, next(f128, next(f128, 0x1p8, 0.0), 0.0)); | ||
| 7848 | try testArgs(u8, f128, next(f128, 0x1p8, 0.0)); | ||
| 7849 | |||
| 7850 | try testArgs(i16, f128, -0x0.8p16); | ||
| 7851 | try testArgs(i16, f128, next(f128, -0x0.8p16, -0.0)); | ||
| 7852 | try testArgs(i16, f128, next(f128, next(f128, -0x0.8p16, -0.0), -0.0)); | ||
| 7853 | try testArgs(i16, f128, -1e4); | ||
| 7854 | try testArgs(i16, f128, -1e3); | ||
| 7855 | try testArgs(i16, f128, -1e2); | ||
| 7856 | try testArgs(i16, f128, -1e1); | ||
| 7857 | try testArgs(i16, f128, -1e0); | ||
| 7858 | try testArgs(i16, f128, -1e-1); | ||
| 7859 | try testArgs(i16, f128, -0.0); | ||
| 7860 | try testArgs(i16, f128, 0.0); | ||
| 7861 | try testArgs(i16, f128, 1e-1); | ||
| 7862 | try testArgs(i16, f128, 1e0); | ||
| 7863 | try testArgs(i16, f128, 1e1); | ||
| 7864 | try testArgs(i16, f128, 1e2); | ||
| 7865 | try testArgs(i16, f128, 1e3); | ||
| 7866 | try testArgs(i16, f128, 1e4); | ||
| 7867 | try testArgs(i16, f128, next(f128, next(f128, 0x0.8p16, 0.0), 0.0)); | ||
| 7868 | try testArgs(i16, f128, next(f128, 0x0.8p16, 0.0)); | ||
| 7869 | |||
| 7870 | try testArgs(u16, f128, -0.0); | ||
| 7871 | try testArgs(u16, f128, 0.0); | ||
| 7872 | try testArgs(u16, f128, 1e-1); | ||
| 7873 | try testArgs(u16, f128, 1e0); | ||
| 7874 | try testArgs(u16, f128, 1e1); | ||
| 7875 | try testArgs(u16, f128, 1e2); | ||
| 7876 | try testArgs(u16, f128, 1e3); | ||
| 7877 | try testArgs(u16, f128, 1e4); | ||
| 7878 | try testArgs(u16, f128, next(f128, next(f128, 0x1p16, 0.0), 0.0)); | ||
| 7879 | try testArgs(u16, f128, next(f128, 0x1p16, 0.0)); | ||
| 7880 | |||
| 7881 | try testArgs(i32, f128, -0x0.8p32); | ||
| 7882 | try testArgs(i32, f128, next(f128, -0x0.8p32, -0.0)); | ||
| 7883 | try testArgs(i32, f128, next(f128, next(f128, -0x0.8p32, -0.0), -0.0)); | ||
| 7884 | try testArgs(i32, f128, -1e9); | ||
| 7885 | try testArgs(i32, f128, -1e8); | ||
| 7886 | try testArgs(i32, f128, -1e7); | ||
| 7887 | try testArgs(i32, f128, -1e6); | ||
| 7888 | try testArgs(i32, f128, -1e5); | ||
| 7889 | try testArgs(i32, f128, -1e4); | ||
| 7890 | try testArgs(i32, f128, -1e3); | ||
| 7891 | try testArgs(i32, f128, -1e2); | ||
| 7892 | try testArgs(i32, f128, -1e1); | ||
| 7893 | try testArgs(i32, f128, -1e0); | ||
| 7894 | try testArgs(i32, f128, -1e-1); | ||
| 7895 | try testArgs(i32, f128, -0.0); | ||
| 7896 | try testArgs(i32, f128, 0.0); | ||
| 7897 | try testArgs(i32, f128, 1e-1); | ||
| 7898 | try testArgs(i32, f128, 1e0); | ||
| 7899 | try testArgs(i32, f128, 1e1); | ||
| 7900 | try testArgs(i32, f128, 1e2); | ||
| 7901 | try testArgs(i32, f128, 1e3); | ||
| 7902 | try testArgs(i32, f128, 1e4); | ||
| 7903 | try testArgs(i32, f128, 1e5); | ||
| 7904 | try testArgs(i32, f128, 1e6); | ||
| 7905 | try testArgs(i32, f128, 1e7); | ||
| 7906 | try testArgs(i32, f128, 1e8); | ||
| 7907 | try testArgs(i32, f128, 1e9); | ||
| 7908 | try testArgs(i32, f128, next(f128, next(f128, 0x0.8p32, 0.0), 0.0)); | ||
| 7909 | try testArgs(i32, f128, next(f128, 0x0.8p32, 0.0)); | ||
| 7910 | |||
| 7911 | try testArgs(u32, f128, -0.0); | ||
| 7912 | try testArgs(u32, f128, 0.0); | ||
| 7913 | try testArgs(u32, f128, 1e-1); | ||
| 7914 | try testArgs(u32, f128, 1e0); | ||
| 7915 | try testArgs(u32, f128, 1e1); | ||
| 7916 | try testArgs(u32, f128, 1e2); | ||
| 7917 | try testArgs(u32, f128, 1e3); | ||
| 7918 | try testArgs(u32, f128, 1e4); | ||
| 7919 | try testArgs(u32, f128, 1e5); | ||
| 7920 | try testArgs(u32, f128, 1e6); | ||
| 7921 | try testArgs(u32, f128, 1e7); | ||
| 7922 | try testArgs(u32, f128, 1e8); | ||
| 7923 | try testArgs(u32, f128, 1e9); | ||
| 7924 | try testArgs(u32, f128, next(f128, next(f128, 0x1p32, 0.0), 0.0)); | ||
| 7925 | try testArgs(u32, f128, next(f128, 0x1p32, 0.0)); | ||
| 7926 | |||
| 7927 | try testArgs(i64, f128, -0x0.8p64); | ||
| 7928 | try testArgs(i64, f128, next(f128, -0x0.8p64, -0.0)); | ||
| 7929 | try testArgs(i64, f128, next(f128, next(f128, -0x0.8p64, -0.0), -0.0)); | ||
| 7930 | try testArgs(i64, f128, -1e18); | ||
| 7931 | try testArgs(i64, f128, -1e16); | ||
| 7932 | try testArgs(i64, f128, -1e14); | ||
| 7933 | try testArgs(i64, f128, -1e12); | ||
| 7934 | try testArgs(i64, f128, -1e10); | ||
| 7935 | try testArgs(i64, f128, -1e8); | ||
| 7936 | try testArgs(i64, f128, -1e6); | ||
| 7937 | try testArgs(i64, f128, -1e4); | ||
| 7938 | try testArgs(i64, f128, -1e2); | ||
| 7939 | try testArgs(i64, f128, -1e0); | ||
| 7940 | try testArgs(i64, f128, -1e-1); | ||
| 7941 | try testArgs(i64, f128, -0.0); | ||
| 7942 | try testArgs(i64, f128, 0.0); | ||
| 7943 | try testArgs(i64, f128, 1e-1); | ||
| 7944 | try testArgs(i64, f128, 1e0); | ||
| 7945 | try testArgs(i64, f128, 1e2); | ||
| 7946 | try testArgs(i64, f128, 1e4); | ||
| 7947 | try testArgs(i64, f128, 1e6); | ||
| 7948 | try testArgs(i64, f128, 1e8); | ||
| 7949 | try testArgs(i64, f128, 1e10); | ||
| 7950 | try testArgs(i64, f128, 1e11); | ||
| 7951 | try testArgs(i64, f128, 1e12); | ||
| 7952 | try testArgs(i64, f128, 1e13); | ||
| 7953 | try testArgs(i64, f128, 1e14); | ||
| 7954 | try testArgs(i64, f128, 1e15); | ||
| 7955 | try testArgs(i64, f128, 1e16); | ||
| 7956 | try testArgs(i64, f128, 1e17); | ||
| 7957 | try testArgs(i64, f128, 1e18); | ||
| 7958 | try testArgs(i64, f128, next(f128, next(f128, 0x0.8p64, 0.0), 0.0)); | ||
| 7959 | try testArgs(i64, f128, next(f128, 0x0.8p64, 0.0)); | ||
| 7960 | |||
| 7961 | try testArgs(u64, f128, -0.0); | ||
| 7962 | try testArgs(u64, f128, 0.0); | ||
| 7963 | try testArgs(u64, f128, 1e-1); | ||
| 7964 | try testArgs(u64, f128, 1e0); | ||
| 7965 | try testArgs(u64, f128, 1e2); | ||
| 7966 | try testArgs(u64, f128, 1e4); | ||
| 7967 | try testArgs(u64, f128, 1e6); | ||
| 7968 | try testArgs(u64, f128, 1e8); | ||
| 7969 | try testArgs(u64, f128, 1e10); | ||
| 7970 | try testArgs(u64, f128, 1e12); | ||
| 7971 | try testArgs(u64, f128, 1e14); | ||
| 7972 | try testArgs(u64, f128, 1e16); | ||
| 7973 | try testArgs(u64, f128, 1e18); | ||
| 7974 | try testArgs(u64, f128, next(f128, next(f128, 0x1p64, 0.0), 0.0)); | ||
| 7975 | try testArgs(u64, f128, next(f128, 0x1p64, 0.0)); | ||
| 7976 | |||
| 7977 | try testArgs(i128, f128, -0x0.8p128); | ||
| 7978 | try testArgs(i128, f128, next(f128, -0x0.8p128, -0.0)); | ||
| 7979 | try testArgs(i128, f128, next(f128, next(f128, -0x0.8p128, -0.0), -0.0)); | ||
| 7980 | try testArgs(i128, f128, -1e38); | ||
| 7981 | try testArgs(i128, f128, -1e34); | ||
| 7982 | try testArgs(i128, f128, -1e30); | ||
| 7983 | try testArgs(i128, f128, -1e26); | ||
| 7984 | try testArgs(i128, f128, -1e22); | ||
| 7985 | try testArgs(i128, f128, -1e18); | ||
| 7986 | try testArgs(i128, f128, -1e14); | ||
| 7987 | try testArgs(i128, f128, -1e10); | ||
| 7988 | try testArgs(i128, f128, -1e6); | ||
| 7989 | try testArgs(i128, f128, -1e2); | ||
| 7990 | try testArgs(i128, f128, -1e0); | ||
| 7991 | try testArgs(i128, f128, -1e-1); | ||
| 7992 | try testArgs(i128, f128, -0.0); | ||
| 7993 | try testArgs(i128, f128, 0.0); | ||
| 7994 | try testArgs(i128, f128, 1e-1); | ||
| 7995 | try testArgs(i128, f128, 1e0); | ||
| 7996 | try testArgs(i128, f128, 1e2); | ||
| 7997 | try testArgs(i128, f128, 1e6); | ||
| 7998 | try testArgs(i128, f128, 1e10); | ||
| 7999 | try testArgs(i128, f128, 1e14); | ||
| 8000 | try testArgs(i128, f128, 1e18); | ||
| 8001 | try testArgs(i128, f128, 1e22); | ||
| 8002 | try testArgs(i128, f128, 1e26); | ||
| 8003 | try testArgs(i128, f128, 1e30); | ||
| 8004 | try testArgs(i128, f128, 1e34); | ||
| 8005 | try testArgs(i128, f128, 1e38); | ||
| 8006 | try testArgs(i128, f128, next(f128, next(f128, 0x0.8p128, 0.0), 0.0)); | ||
| 8007 | try testArgs(i128, f128, next(f128, 0x0.8p128, 0.0)); | ||
| 8008 | |||
| 8009 | try testArgs(u128, f128, -0.0); | ||
| 8010 | try testArgs(u128, f128, 0.0); | ||
| 8011 | try testArgs(u128, f128, 1e-1); | ||
| 8012 | try testArgs(u128, f128, 1e0); | ||
| 8013 | try testArgs(u128, f128, 1e2); | ||
| 8014 | try testArgs(u128, f128, 1e6); | ||
| 8015 | try testArgs(u128, f128, 1e10); | ||
| 8016 | try testArgs(u128, f128, 1e14); | ||
| 8017 | try testArgs(u128, f128, 1e18); | ||
| 8018 | try testArgs(u128, f128, 1e22); | ||
| 8019 | try testArgs(u128, f128, 1e26); | ||
| 8020 | try testArgs(u128, f128, 1e30); | ||
| 8021 | try testArgs(u128, f128, 1e34); | ||
| 8022 | try testArgs(u128, f128, 1e38); | ||
| 8023 | try testArgs(u128, f128, next(f128, next(f128, 0x1p128, 0.0), 0.0)); | ||
| 8024 | try testArgs(u128, f128, next(f128, 0x1p128, 0.0)); | ||
| 8025 | |||
| 8026 | try testArgs(i256, f128, -0x0.8p256); | ||
| 8027 | try testArgs(i256, f128, next(f128, -0x0.8p256, -0.0)); | ||
| 8028 | try testArgs(i256, f128, next(f128, next(f128, -0x0.8p256, -0.0), -0.0)); | ||
| 8029 | try testArgs(i256, f128, -1e76); | ||
| 8030 | try testArgs(i256, f128, -1e69); | ||
| 8031 | try testArgs(i256, f128, -1e62); | ||
| 8032 | try testArgs(i256, f128, -1e55); | ||
| 8033 | try testArgs(i256, f128, -1e48); | ||
| 8034 | try testArgs(i256, f128, -1e41); | ||
| 8035 | try testArgs(i256, f128, -1e34); | ||
| 8036 | try testArgs(i256, f128, -1e27); | ||
| 8037 | try testArgs(i256, f128, -1e20); | ||
| 8038 | try testArgs(i256, f128, -1e13); | ||
| 8039 | try testArgs(i256, f128, -1e6); | ||
| 8040 | try testArgs(i256, f128, -1e0); | ||
| 8041 | try testArgs(i256, f128, -1e-1); | ||
| 8042 | try testArgs(i256, f128, -0.0); | ||
| 8043 | try testArgs(i256, f128, 0.0); | ||
| 8044 | try testArgs(i256, f128, 1e-1); | ||
| 8045 | try testArgs(i256, f128, 1e0); | ||
| 8046 | try testArgs(i256, f128, 1e6); | ||
| 8047 | try testArgs(i256, f128, 1e13); | ||
| 8048 | try testArgs(i256, f128, 1e20); | ||
| 8049 | try testArgs(i256, f128, 1e27); | ||
| 8050 | try testArgs(i256, f128, 1e34); | ||
| 8051 | try testArgs(i256, f128, 1e41); | ||
| 8052 | try testArgs(i256, f128, 1e48); | ||
| 8053 | try testArgs(i256, f128, 1e55); | ||
| 8054 | try testArgs(i256, f128, 1e62); | ||
| 8055 | try testArgs(i256, f128, 1e69); | ||
| 8056 | try testArgs(i256, f128, 1e76); | ||
| 8057 | try testArgs(i256, f128, next(f128, next(f128, 0x0.8p256, 0.0), 0.0)); | ||
| 8058 | try testArgs(i256, f128, next(f128, 0x0.8p256, 0.0)); | ||
| 8059 | |||
| 8060 | try testArgs(u256, f128, -0.0); | ||
| 8061 | try testArgs(u256, f128, 0.0); | ||
| 8062 | try testArgs(u256, f128, 1e-1); | ||
| 8063 | try testArgs(u256, f128, 1e0); | ||
| 8064 | try testArgs(u256, f128, 1e7); | ||
| 8065 | try testArgs(u256, f128, 1e14); | ||
| 8066 | try testArgs(u256, f128, 1e21); | ||
| 8067 | try testArgs(u256, f128, 1e28); | ||
| 8068 | try testArgs(u256, f128, 1e35); | ||
| 8069 | try testArgs(u256, f128, 1e42); | ||
| 8070 | try testArgs(u256, f128, 1e49); | ||
| 8071 | try testArgs(u256, f128, 1e56); | ||
| 8072 | try testArgs(u256, f128, 1e63); | ||
| 8073 | try testArgs(u256, f128, 1e70); | ||
| 8074 | try testArgs(u256, f128, 1e77); | ||
| 8075 | try testArgs(u256, f128, next(f128, next(f128, 0x1p256, 0.0), 0.0)); | ||
| 8076 | try testArgs(u256, f128, next(f128, 0x1p256, 0.0)); | ||
| 8077 | } | ||
| 8078 | fn testFloatsFromInts() !void { | ||
| 8079 | try testArgs(f16, i8, imin(i8)); | ||
| 8080 | try testArgs(f16, i8, imin(i8) + 1); | ||
| 8081 | try testArgs(f16, i8, -1e2); | ||
| 8082 | try testArgs(f16, i8, -1e1); | ||
| 8083 | try testArgs(f16, i8, -1e0); | ||
| 8084 | try testArgs(f16, i8, 0); | ||
| 8085 | try testArgs(f16, i8, 1e0); | ||
| 8086 | try testArgs(f16, i8, 1e1); | ||
| 8087 | try testArgs(f16, i8, 1e2); | ||
| 8088 | try testArgs(f16, i8, imax(i8) - 1); | ||
| 8089 | try testArgs(f16, i8, imax(i8)); | ||
| 8090 | |||
| 8091 | try testArgs(f16, u8, 0); | ||
| 8092 | try testArgs(f16, u8, 1e0); | ||
| 8093 | try testArgs(f16, u8, 1e1); | ||
| 8094 | try testArgs(f16, u8, 1e2); | ||
| 8095 | try testArgs(f16, u8, imax(u8) - 1); | ||
| 8096 | try testArgs(f16, u8, imax(u8)); | ||
| 8097 | |||
| 8098 | try testArgs(f16, i16, imin(i16)); | ||
| 8099 | try testArgs(f16, i16, imin(i16) + 1); | ||
| 8100 | try testArgs(f16, i16, -1e4); | ||
| 8101 | try testArgs(f16, i16, -1e3); | ||
| 8102 | try testArgs(f16, i16, -1e2); | ||
| 8103 | try testArgs(f16, i16, -1e1); | ||
| 8104 | try testArgs(f16, i16, -1e0); | ||
| 8105 | try testArgs(f16, i16, 0); | ||
| 8106 | try testArgs(f16, i16, 1e0); | ||
| 8107 | try testArgs(f16, i16, 1e1); | ||
| 8108 | try testArgs(f16, i16, 1e2); | ||
| 8109 | try testArgs(f16, i16, 1e3); | ||
| 8110 | try testArgs(f16, i16, 1e4); | ||
| 8111 | try testArgs(f16, i16, imax(i16) - 1); | ||
| 8112 | try testArgs(f16, i16, imax(i16)); | ||
| 8113 | |||
| 8114 | try testArgs(f16, u16, 0); | ||
| 8115 | try testArgs(f16, u16, 1e0); | ||
| 8116 | try testArgs(f16, u16, 1e1); | ||
| 8117 | try testArgs(f16, u16, 1e2); | ||
| 8118 | try testArgs(f16, u16, 1e3); | ||
| 8119 | try testArgs(f16, u16, 1e4); | ||
| 8120 | try testArgs(f16, u16, imax(u16) - 1); | ||
| 8121 | try testArgs(f16, u16, imax(u16)); | ||
| 8122 | |||
| 8123 | try testArgs(f16, i32, imin(i32)); | ||
| 8124 | try testArgs(f16, i32, imin(i32) + 1); | ||
| 8125 | try testArgs(f16, i32, -1e9); | ||
| 8126 | try testArgs(f16, i32, -1e8); | ||
| 8127 | try testArgs(f16, i32, -1e7); | ||
| 8128 | try testArgs(f16, i32, -1e6); | ||
| 8129 | try testArgs(f16, i32, -1e5); | ||
| 8130 | try testArgs(f16, i32, -1e4); | ||
| 8131 | try testArgs(f16, i32, -1e3); | ||
| 8132 | try testArgs(f16, i32, -1e2); | ||
| 8133 | try testArgs(f16, i32, -1e1); | ||
| 8134 | try testArgs(f16, i32, -1e0); | ||
| 8135 | try testArgs(f16, i32, 0); | ||
| 8136 | try testArgs(f16, i32, 1e0); | ||
| 8137 | try testArgs(f16, i32, 1e1); | ||
| 8138 | try testArgs(f16, i32, 1e2); | ||
| 8139 | try testArgs(f16, i32, 1e3); | ||
| 8140 | try testArgs(f16, i32, 1e4); | ||
| 8141 | try testArgs(f16, i32, 1e5); | ||
| 8142 | try testArgs(f16, i32, 1e6); | ||
| 8143 | try testArgs(f16, i32, 1e7); | ||
| 8144 | try testArgs(f16, i32, 1e8); | ||
| 8145 | try testArgs(f16, i32, 1e9); | ||
| 8146 | try testArgs(f16, i32, imax(i32) - 1); | ||
| 8147 | try testArgs(f16, i32, imax(i32)); | ||
| 8148 | |||
| 8149 | try testArgs(f16, u32, 0); | ||
| 8150 | try testArgs(f16, u32, 1e0); | ||
| 8151 | try testArgs(f16, u32, 1e1); | ||
| 8152 | try testArgs(f16, u32, 1e2); | ||
| 8153 | try testArgs(f16, u32, 1e3); | ||
| 8154 | try testArgs(f16, u32, 1e4); | ||
| 8155 | try testArgs(f16, u32, 1e5); | ||
| 8156 | try testArgs(f16, u32, 1e6); | ||
| 8157 | try testArgs(f16, u32, 1e7); | ||
| 8158 | try testArgs(f16, u32, 1e8); | ||
| 8159 | try testArgs(f16, u32, 1e9); | ||
| 8160 | try testArgs(f16, u32, imax(u32) - 1); | ||
| 8161 | try testArgs(f16, u32, imax(u32)); | ||
| 8162 | |||
| 8163 | try testArgs(f16, i64, imin(i64)); | ||
| 8164 | try testArgs(f16, i64, imin(i64) + 1); | ||
| 8165 | try testArgs(f16, i64, -1e18); | ||
| 8166 | try testArgs(f16, i64, -1e16); | ||
| 8167 | try testArgs(f16, i64, -1e14); | ||
| 8168 | try testArgs(f16, i64, -1e12); | ||
| 8169 | try testArgs(f16, i64, -1e10); | ||
| 8170 | try testArgs(f16, i64, -1e8); | ||
| 8171 | try testArgs(f16, i64, -1e6); | ||
| 8172 | try testArgs(f16, i64, -1e4); | ||
| 8173 | try testArgs(f16, i64, -1e2); | ||
| 8174 | try testArgs(f16, i64, -1e0); | ||
| 8175 | try testArgs(f16, i64, 0); | ||
| 8176 | try testArgs(f16, i64, 1e0); | ||
| 8177 | try testArgs(f16, i64, 1e2); | ||
| 8178 | try testArgs(f16, i64, 1e4); | ||
| 8179 | try testArgs(f16, i64, 1e6); | ||
| 8180 | try testArgs(f16, i64, 1e8); | ||
| 8181 | try testArgs(f16, i64, 1e10); | ||
| 8182 | try testArgs(f16, i64, 1e12); | ||
| 8183 | try testArgs(f16, i64, 1e14); | ||
| 8184 | try testArgs(f16, i64, 1e16); | ||
| 8185 | try testArgs(f16, i64, 1e18); | ||
| 8186 | try testArgs(f16, i64, imax(i64) - 1); | ||
| 8187 | try testArgs(f16, i64, imax(i64)); | ||
| 8188 | |||
| 8189 | try testArgs(f16, u64, 0); | ||
| 8190 | try testArgs(f16, u64, 1e0); | ||
| 8191 | try testArgs(f16, u64, 1e2); | ||
| 8192 | try testArgs(f16, u64, 1e4); | ||
| 8193 | try testArgs(f16, u64, 1e6); | ||
| 8194 | try testArgs(f16, u64, 1e8); | ||
| 8195 | try testArgs(f16, u64, 1e10); | ||
| 8196 | try testArgs(f16, u64, 1e12); | ||
| 8197 | try testArgs(f16, u64, 1e14); | ||
| 8198 | try testArgs(f16, u64, 1e16); | ||
| 8199 | try testArgs(f16, u64, 1e18); | ||
| 8200 | try testArgs(f16, u64, imax(u64) - 1); | ||
| 8201 | try testArgs(f16, u64, imax(u64)); | ||
| 8202 | |||
| 8203 | try testArgs(f16, i128, imin(i128)); | ||
| 8204 | try testArgs(f16, i128, imin(i128) + 1); | ||
| 8205 | try testArgs(f16, i128, -1e38); | ||
| 8206 | try testArgs(f16, i128, -1e34); | ||
| 8207 | try testArgs(f16, i128, -1e30); | ||
| 8208 | try testArgs(f16, i128, -1e26); | ||
| 8209 | try testArgs(f16, i128, -1e22); | ||
| 8210 | try testArgs(f16, i128, -1e18); | ||
| 8211 | try testArgs(f16, i128, -1e14); | ||
| 8212 | try testArgs(f16, i128, -1e10); | ||
| 8213 | try testArgs(f16, i128, -1e6); | ||
| 8214 | try testArgs(f16, i128, -1e2); | ||
| 8215 | try testArgs(f16, i128, -1e0); | ||
| 8216 | try testArgs(f16, i128, 0); | ||
| 8217 | try testArgs(f16, i128, 1e0); | ||
| 8218 | try testArgs(f16, i128, 1e2); | ||
| 8219 | try testArgs(f16, i128, 1e6); | ||
| 8220 | try testArgs(f16, i128, 1e10); | ||
| 8221 | try testArgs(f16, i128, 1e14); | ||
| 8222 | try testArgs(f16, i128, 1e18); | ||
| 8223 | try testArgs(f16, i128, 1e22); | ||
| 8224 | try testArgs(f16, i128, 1e26); | ||
| 8225 | try testArgs(f16, i128, 1e30); | ||
| 8226 | try testArgs(f16, i128, 1e34); | ||
| 8227 | try testArgs(f16, i128, 1e38); | ||
| 8228 | try testArgs(f16, i128, imax(i128) - 1); | ||
| 8229 | try testArgs(f16, i128, imax(i128)); | ||
| 8230 | |||
| 8231 | try testArgs(f16, u128, 0); | ||
| 8232 | try testArgs(f16, u128, 1e0); | ||
| 8233 | try testArgs(f16, u128, 1e2); | ||
| 8234 | try testArgs(f16, u128, 1e6); | ||
| 8235 | try testArgs(f16, u128, 1e10); | ||
| 8236 | try testArgs(f16, u128, 1e14); | ||
| 8237 | try testArgs(f16, u128, 1e18); | ||
| 8238 | try testArgs(f16, u128, 1e22); | ||
| 8239 | try testArgs(f16, u128, 1e26); | ||
| 8240 | try testArgs(f16, u128, 1e30); | ||
| 8241 | try testArgs(f16, u128, 1e34); | ||
| 8242 | try testArgs(f16, u128, 1e38); | ||
| 8243 | try testArgs(f16, u128, imax(u128) - 1); | ||
| 8244 | try testArgs(f16, u128, imax(u128)); | ||
| 8245 | |||
| 8246 | try testArgs(f16, i256, imin(i256)); | ||
| 8247 | try testArgs(f16, i256, imin(i256) + 1); | ||
| 8248 | try testArgs(f16, i256, -1e76); | ||
| 8249 | try testArgs(f16, i256, -1e69); | ||
| 8250 | try testArgs(f16, i256, -1e62); | ||
| 8251 | try testArgs(f16, i256, -1e55); | ||
| 8252 | try testArgs(f16, i256, -1e48); | ||
| 8253 | try testArgs(f16, i256, -1e41); | ||
| 8254 | try testArgs(f16, i256, -1e34); | ||
| 8255 | try testArgs(f16, i256, -1e27); | ||
| 8256 | try testArgs(f16, i256, -1e20); | ||
| 8257 | try testArgs(f16, i256, -1e13); | ||
| 8258 | try testArgs(f16, i256, -1e6); | ||
| 8259 | try testArgs(f16, i256, -1e0); | ||
| 8260 | try testArgs(f16, i256, 0); | ||
| 8261 | try testArgs(f16, i256, 1e0); | ||
| 8262 | try testArgs(f16, i256, 1e6); | ||
| 8263 | try testArgs(f16, i256, 1e13); | ||
| 8264 | try testArgs(f16, i256, 1e20); | ||
| 8265 | try testArgs(f16, i256, 1e27); | ||
| 8266 | try testArgs(f16, i256, 1e34); | ||
| 8267 | try testArgs(f16, i256, 1e41); | ||
| 8268 | try testArgs(f16, i256, 1e48); | ||
| 8269 | try testArgs(f16, i256, 1e55); | ||
| 8270 | try testArgs(f16, i256, 1e62); | ||
| 8271 | try testArgs(f16, i256, 1e69); | ||
| 8272 | try testArgs(f16, i256, 1e76); | ||
| 8273 | try testArgs(f16, i256, imax(i256) - 1); | ||
| 8274 | try testArgs(f16, i256, imax(i256)); | ||
| 8275 | |||
| 8276 | try testArgs(f16, u256, 0); | ||
| 8277 | try testArgs(f16, u256, 1e0); | ||
| 8278 | try testArgs(f16, u256, 1e7); | ||
| 8279 | try testArgs(f16, u256, 1e14); | ||
| 8280 | try testArgs(f16, u256, 1e21); | ||
| 8281 | try testArgs(f16, u256, 1e28); | ||
| 8282 | try testArgs(f16, u256, 1e35); | ||
| 8283 | try testArgs(f16, u256, 1e42); | ||
| 8284 | try testArgs(f16, u256, 1e49); | ||
| 8285 | try testArgs(f16, u256, 1e56); | ||
| 8286 | try testArgs(f16, u256, 1e63); | ||
| 8287 | try testArgs(f16, u256, 1e70); | ||
| 8288 | try testArgs(f16, u256, 1e77); | ||
| 8289 | try testArgs(f16, u256, imax(u256) - 1); | ||
| 8290 | try testArgs(f16, u256, imax(u256)); | ||
| 8291 | |||
| 8292 | try testArgs(f32, i8, imin(i8)); | ||
| 8293 | try testArgs(f32, i8, imin(i8) + 1); | ||
| 8294 | try testArgs(f32, i8, -1e2); | ||
| 8295 | try testArgs(f32, i8, -1e1); | ||
| 8296 | try testArgs(f32, i8, -1e0); | ||
| 8297 | try testArgs(f32, i8, 0); | ||
| 8298 | try testArgs(f32, i8, 1e0); | ||
| 8299 | try testArgs(f32, i8, 1e1); | ||
| 8300 | try testArgs(f32, i8, 1e2); | ||
| 8301 | try testArgs(f32, i8, imax(i8) - 1); | ||
| 8302 | try testArgs(f32, i8, imax(i8)); | ||
| 8303 | |||
| 8304 | try testArgs(f32, u8, 0); | ||
| 8305 | try testArgs(f32, u8, 1e0); | ||
| 8306 | try testArgs(f32, u8, 1e1); | ||
| 8307 | try testArgs(f32, u8, 1e2); | ||
| 8308 | try testArgs(f32, u8, imax(u8) - 1); | ||
| 8309 | try testArgs(f32, u8, imax(u8)); | ||
| 8310 | |||
| 8311 | try testArgs(f32, i16, imin(i16)); | ||
| 8312 | try testArgs(f32, i16, imin(i16) + 1); | ||
| 8313 | try testArgs(f32, i16, -1e4); | ||
| 8314 | try testArgs(f32, i16, -1e3); | ||
| 8315 | try testArgs(f32, i16, -1e2); | ||
| 8316 | try testArgs(f32, i16, -1e1); | ||
| 8317 | try testArgs(f32, i16, -1e0); | ||
| 8318 | try testArgs(f32, i16, 0); | ||
| 8319 | try testArgs(f32, i16, 1e0); | ||
| 8320 | try testArgs(f32, i16, 1e1); | ||
| 8321 | try testArgs(f32, i16, 1e2); | ||
| 8322 | try testArgs(f32, i16, 1e3); | ||
| 8323 | try testArgs(f32, i16, 1e4); | ||
| 8324 | try testArgs(f32, i16, imax(i16) - 1); | ||
| 8325 | try testArgs(f32, i16, imax(i16)); | ||
| 8326 | |||
| 8327 | try testArgs(f32, u16, 0); | ||
| 8328 | try testArgs(f32, u16, 1e0); | ||
| 8329 | try testArgs(f32, u16, 1e1); | ||
| 8330 | try testArgs(f32, u16, 1e2); | ||
| 8331 | try testArgs(f32, u16, 1e3); | ||
| 8332 | try testArgs(f32, u16, 1e4); | ||
| 8333 | try testArgs(f32, u16, imax(u16) - 1); | ||
| 8334 | try testArgs(f32, u16, imax(u16)); | ||
| 8335 | |||
| 8336 | try testArgs(f32, i32, imin(i32)); | ||
| 8337 | try testArgs(f32, i32, imin(i32) + 1); | ||
| 8338 | try testArgs(f32, i32, -1e9); | ||
| 8339 | try testArgs(f32, i32, -1e8); | ||
| 8340 | try testArgs(f32, i32, -1e7); | ||
| 8341 | try testArgs(f32, i32, -1e6); | ||
| 8342 | try testArgs(f32, i32, -1e5); | ||
| 8343 | try testArgs(f32, i32, -1e4); | ||
| 8344 | try testArgs(f32, i32, -1e3); | ||
| 8345 | try testArgs(f32, i32, -1e2); | ||
| 8346 | try testArgs(f32, i32, -1e1); | ||
| 8347 | try testArgs(f32, i32, -1e0); | ||
| 8348 | try testArgs(f32, i32, 0); | ||
| 8349 | try testArgs(f32, i32, 1e0); | ||
| 8350 | try testArgs(f32, i32, 1e1); | ||
| 8351 | try testArgs(f32, i32, 1e2); | ||
| 8352 | try testArgs(f32, i32, 1e3); | ||
| 8353 | try testArgs(f32, i32, 1e4); | ||
| 8354 | try testArgs(f32, i32, 1e5); | ||
| 8355 | try testArgs(f32, i32, 1e6); | ||
| 8356 | try testArgs(f32, i32, 1e7); | ||
| 8357 | try testArgs(f32, i32, 1e8); | ||
| 8358 | try testArgs(f32, i32, 1e9); | ||
| 8359 | try testArgs(f32, i32, imax(i32) - 1); | ||
| 8360 | try testArgs(f32, i32, imax(i32)); | ||
| 8361 | |||
| 8362 | try testArgs(f32, u32, 0); | ||
| 8363 | try testArgs(f32, u32, 1e0); | ||
| 8364 | try testArgs(f32, u32, 1e1); | ||
| 8365 | try testArgs(f32, u32, 1e2); | ||
| 8366 | try testArgs(f32, u32, 1e3); | ||
| 8367 | try testArgs(f32, u32, 1e4); | ||
| 8368 | try testArgs(f32, u32, 1e5); | ||
| 8369 | try testArgs(f32, u32, 1e6); | ||
| 8370 | try testArgs(f32, u32, 1e7); | ||
| 8371 | try testArgs(f32, u32, 1e8); | ||
| 8372 | try testArgs(f32, u32, 1e9); | ||
| 8373 | try testArgs(f32, u32, imax(u32) - 1); | ||
| 8374 | try testArgs(f32, u32, imax(u32)); | ||
| 8375 | |||
| 8376 | try testArgs(f32, i64, imin(i64)); | ||
| 8377 | try testArgs(f32, i64, imin(i64) + 1); | ||
| 8378 | try testArgs(f32, i64, -1e18); | ||
| 8379 | try testArgs(f32, i64, -1e16); | ||
| 8380 | try testArgs(f32, i64, -1e14); | ||
| 8381 | try testArgs(f32, i64, -1e12); | ||
| 8382 | try testArgs(f32, i64, -1e10); | ||
| 8383 | try testArgs(f32, i64, -1e8); | ||
| 8384 | try testArgs(f32, i64, -1e6); | ||
| 8385 | try testArgs(f32, i64, -1e4); | ||
| 8386 | try testArgs(f32, i64, -1e2); | ||
| 8387 | try testArgs(f32, i64, -1e0); | ||
| 8388 | try testArgs(f32, i64, 0); | ||
| 8389 | try testArgs(f32, i64, 1e0); | ||
| 8390 | try testArgs(f32, i64, 1e2); | ||
| 8391 | try testArgs(f32, i64, 1e4); | ||
| 8392 | try testArgs(f32, i64, 1e6); | ||
| 8393 | try testArgs(f32, i64, 1e8); | ||
| 8394 | try testArgs(f32, i64, 1e10); | ||
| 8395 | try testArgs(f32, i64, 1e12); | ||
| 8396 | try testArgs(f32, i64, 1e14); | ||
| 8397 | try testArgs(f32, i64, 1e16); | ||
| 8398 | try testArgs(f32, i64, 1e18); | ||
| 8399 | try testArgs(f32, i64, imax(i64) - 1); | ||
| 8400 | try testArgs(f32, i64, imax(i64)); | ||
| 8401 | |||
| 8402 | try testArgs(f32, u64, 0); | ||
| 8403 | try testArgs(f32, u64, 1e0); | ||
| 8404 | try testArgs(f32, u64, 1e2); | ||
| 8405 | try testArgs(f32, u64, 1e4); | ||
| 8406 | try testArgs(f32, u64, 1e6); | ||
| 8407 | try testArgs(f32, u64, 1e8); | ||
| 8408 | try testArgs(f32, u64, 1e10); | ||
| 8409 | try testArgs(f32, u64, 1e12); | ||
| 8410 | try testArgs(f32, u64, 1e14); | ||
| 8411 | try testArgs(f32, u64, 1e16); | ||
| 8412 | try testArgs(f32, u64, 1e18); | ||
| 8413 | try testArgs(f32, u64, imax(u64) - 1); | ||
| 8414 | try testArgs(f32, u64, imax(u64)); | ||
| 8415 | |||
| 8416 | try testArgs(f32, i128, imin(i128)); | ||
| 8417 | try testArgs(f32, i128, imin(i128) + 1); | ||
| 8418 | try testArgs(f32, i128, -1e38); | ||
| 8419 | try testArgs(f32, i128, -1e34); | ||
| 8420 | try testArgs(f32, i128, -1e30); | ||
| 8421 | try testArgs(f32, i128, -1e26); | ||
| 8422 | try testArgs(f32, i128, -1e22); | ||
| 8423 | try testArgs(f32, i128, -1e18); | ||
| 8424 | try testArgs(f32, i128, -1e14); | ||
| 8425 | try testArgs(f32, i128, -1e10); | ||
| 8426 | try testArgs(f32, i128, -1e6); | ||
| 8427 | try testArgs(f32, i128, -1e2); | ||
| 8428 | try testArgs(f32, i128, -1e0); | ||
| 8429 | try testArgs(f32, i128, 0); | ||
| 8430 | try testArgs(f32, i128, 1e0); | ||
| 8431 | try testArgs(f32, i128, 1e2); | ||
| 8432 | try testArgs(f32, i128, 1e6); | ||
| 8433 | try testArgs(f32, i128, 1e10); | ||
| 8434 | try testArgs(f32, i128, 1e14); | ||
| 8435 | try testArgs(f32, i128, 1e18); | ||
| 8436 | try testArgs(f32, i128, 1e22); | ||
| 8437 | try testArgs(f32, i128, 1e26); | ||
| 8438 | try testArgs(f32, i128, 1e30); | ||
| 8439 | try testArgs(f32, i128, 1e34); | ||
| 8440 | try testArgs(f32, i128, 1e38); | ||
| 8441 | try testArgs(f32, i128, imax(i128) - 1); | ||
| 8442 | try testArgs(f32, i128, imax(i128)); | ||
| 8443 | |||
| 8444 | try testArgs(f32, u128, 0); | ||
| 8445 | try testArgs(f32, u128, 1e0); | ||
| 8446 | try testArgs(f32, u128, 1e2); | ||
| 8447 | try testArgs(f32, u128, 1e6); | ||
| 8448 | try testArgs(f32, u128, 1e10); | ||
| 8449 | try testArgs(f32, u128, 1e14); | ||
| 8450 | try testArgs(f32, u128, 1e18); | ||
| 8451 | try testArgs(f32, u128, 1e22); | ||
| 8452 | try testArgs(f32, u128, 1e26); | ||
| 8453 | try testArgs(f32, u128, 1e30); | ||
| 8454 | try testArgs(f32, u128, 1e34); | ||
| 8455 | try testArgs(f32, u128, 1e38); | ||
| 8456 | try testArgs(f32, u128, imax(u128) - 1); | ||
| 8457 | try testArgs(f32, u128, imax(u128)); | ||
| 8458 | |||
| 8459 | try testArgs(f32, i256, imin(i256)); | ||
| 8460 | try testArgs(f32, i256, imin(i256) + 1); | ||
| 8461 | try testArgs(f32, i256, -1e76); | ||
| 8462 | try testArgs(f32, i256, -1e69); | ||
| 8463 | try testArgs(f32, i256, -1e62); | ||
| 8464 | try testArgs(f32, i256, -1e55); | ||
| 8465 | try testArgs(f32, i256, -1e48); | ||
| 8466 | try testArgs(f32, i256, -1e41); | ||
| 8467 | try testArgs(f32, i256, -1e34); | ||
| 8468 | try testArgs(f32, i256, -1e27); | ||
| 8469 | try testArgs(f32, i256, -1e20); | ||
| 8470 | try testArgs(f32, i256, -1e13); | ||
| 8471 | try testArgs(f32, i256, -1e6); | ||
| 8472 | try testArgs(f32, i256, -1e0); | ||
| 8473 | try testArgs(f32, i256, 0); | ||
| 8474 | try testArgs(f32, i256, 1e0); | ||
| 8475 | try testArgs(f32, i256, 1e6); | ||
| 8476 | try testArgs(f32, i256, 1e13); | ||
| 8477 | try testArgs(f32, i256, 1e20); | ||
| 8478 | try testArgs(f32, i256, 1e27); | ||
| 8479 | try testArgs(f32, i256, 1e34); | ||
| 8480 | try testArgs(f32, i256, 1e41); | ||
| 8481 | try testArgs(f32, i256, 1e48); | ||
| 8482 | try testArgs(f32, i256, 1e55); | ||
| 8483 | try testArgs(f32, i256, 1e62); | ||
| 8484 | try testArgs(f32, i256, 1e69); | ||
| 8485 | try testArgs(f32, i256, 1e76); | ||
| 8486 | try testArgs(f32, i256, imax(i256) - 1); | ||
| 8487 | try testArgs(f32, i256, imax(i256)); | ||
| 8488 | |||
| 8489 | try testArgs(f32, u256, 0); | ||
| 8490 | try testArgs(f32, u256, 1e0); | ||
| 8491 | try testArgs(f32, u256, 1e7); | ||
| 8492 | try testArgs(f32, u256, 1e14); | ||
| 8493 | try testArgs(f32, u256, 1e21); | ||
| 8494 | try testArgs(f32, u256, 1e28); | ||
| 8495 | try testArgs(f32, u256, 1e35); | ||
| 8496 | try testArgs(f32, u256, 1e42); | ||
| 8497 | try testArgs(f32, u256, 1e49); | ||
| 8498 | try testArgs(f32, u256, 1e56); | ||
| 8499 | try testArgs(f32, u256, 1e63); | ||
| 8500 | try testArgs(f32, u256, 1e70); | ||
| 8501 | try testArgs(f32, u256, 1e77); | ||
| 8502 | try testArgs(f32, u256, imax(u256) - 1); | ||
| 8503 | try testArgs(f32, u256, imax(u256)); | ||
| 8504 | |||
| 8505 | try testArgs(f64, i8, imin(i8)); | ||
| 8506 | try testArgs(f64, i8, imin(i8) + 1); | ||
| 8507 | try testArgs(f64, i8, -1e2); | ||
| 8508 | try testArgs(f64, i8, -1e1); | ||
| 8509 | try testArgs(f64, i8, -1e0); | ||
| 8510 | try testArgs(f64, i8, 0); | ||
| 8511 | try testArgs(f64, i8, 1e0); | ||
| 8512 | try testArgs(f64, i8, 1e1); | ||
| 8513 | try testArgs(f64, i8, 1e2); | ||
| 8514 | try testArgs(f64, i8, imax(i8) - 1); | ||
| 8515 | try testArgs(f64, i8, imax(i8)); | ||
| 8516 | |||
| 8517 | try testArgs(f64, u8, 0); | ||
| 8518 | try testArgs(f64, u8, 1e0); | ||
| 8519 | try testArgs(f64, u8, 1e1); | ||
| 8520 | try testArgs(f64, u8, 1e2); | ||
| 8521 | try testArgs(f64, u8, imax(u8) - 1); | ||
| 8522 | try testArgs(f64, u8, imax(u8)); | ||
| 8523 | |||
| 8524 | try testArgs(f64, i16, imin(i16)); | ||
| 8525 | try testArgs(f64, i16, imin(i16) + 1); | ||
| 8526 | try testArgs(f64, i16, -1e4); | ||
| 8527 | try testArgs(f64, i16, -1e3); | ||
| 8528 | try testArgs(f64, i16, -1e2); | ||
| 8529 | try testArgs(f64, i16, -1e1); | ||
| 8530 | try testArgs(f64, i16, -1e0); | ||
| 8531 | try testArgs(f64, i16, 0); | ||
| 8532 | try testArgs(f64, i16, 1e0); | ||
| 8533 | try testArgs(f64, i16, 1e1); | ||
| 8534 | try testArgs(f64, i16, 1e2); | ||
| 8535 | try testArgs(f64, i16, 1e3); | ||
| 8536 | try testArgs(f64, i16, 1e4); | ||
| 8537 | try testArgs(f64, i16, imax(i16) - 1); | ||
| 8538 | try testArgs(f64, i16, imax(i16)); | ||
| 8539 | |||
| 8540 | try testArgs(f64, u16, 0); | ||
| 8541 | try testArgs(f64, u16, 1e0); | ||
| 8542 | try testArgs(f64, u16, 1e1); | ||
| 8543 | try testArgs(f64, u16, 1e2); | ||
| 8544 | try testArgs(f64, u16, 1e3); | ||
| 8545 | try testArgs(f64, u16, 1e4); | ||
| 8546 | try testArgs(f64, u16, imax(u16) - 1); | ||
| 8547 | try testArgs(f64, u16, imax(u16)); | ||
| 8548 | |||
| 8549 | try testArgs(f64, i32, imin(i32)); | ||
| 8550 | try testArgs(f64, i32, imin(i32) + 1); | ||
| 8551 | try testArgs(f64, i32, -1e9); | ||
| 8552 | try testArgs(f64, i32, -1e8); | ||
| 8553 | try testArgs(f64, i32, -1e7); | ||
| 8554 | try testArgs(f64, i32, -1e6); | ||
| 8555 | try testArgs(f64, i32, -1e5); | ||
| 8556 | try testArgs(f64, i32, -1e4); | ||
| 8557 | try testArgs(f64, i32, -1e3); | ||
| 8558 | try testArgs(f64, i32, -1e2); | ||
| 8559 | try testArgs(f64, i32, -1e1); | ||
| 8560 | try testArgs(f64, i32, -1e0); | ||
| 8561 | try testArgs(f64, i32, 0); | ||
| 8562 | try testArgs(f64, i32, 1e0); | ||
| 8563 | try testArgs(f64, i32, 1e1); | ||
| 8564 | try testArgs(f64, i32, 1e2); | ||
| 8565 | try testArgs(f64, i32, 1e3); | ||
| 8566 | try testArgs(f64, i32, 1e4); | ||
| 8567 | try testArgs(f64, i32, 1e5); | ||
| 8568 | try testArgs(f64, i32, 1e6); | ||
| 8569 | try testArgs(f64, i32, 1e7); | ||
| 8570 | try testArgs(f64, i32, 1e8); | ||
| 8571 | try testArgs(f64, i32, 1e9); | ||
| 8572 | try testArgs(f64, i32, imax(i32) - 1); | ||
| 8573 | try testArgs(f64, i32, imax(i32)); | ||
| 8574 | |||
| 8575 | try testArgs(f64, u32, 0); | ||
| 8576 | try testArgs(f64, u32, 1e0); | ||
| 8577 | try testArgs(f64, u32, 1e1); | ||
| 8578 | try testArgs(f64, u32, 1e2); | ||
| 8579 | try testArgs(f64, u32, 1e3); | ||
| 8580 | try testArgs(f64, u32, 1e4); | ||
| 8581 | try testArgs(f64, u32, 1e5); | ||
| 8582 | try testArgs(f64, u32, 1e6); | ||
| 8583 | try testArgs(f64, u32, 1e7); | ||
| 8584 | try testArgs(f64, u32, 1e8); | ||
| 8585 | try testArgs(f64, u32, 1e9); | ||
| 8586 | try testArgs(f64, u32, imax(u32) - 1); | ||
| 8587 | try testArgs(f64, u32, imax(u32)); | ||
| 8588 | |||
| 8589 | try testArgs(f64, i64, imin(i64)); | ||
| 8590 | try testArgs(f64, i64, imin(i64) + 1); | ||
| 8591 | try testArgs(f64, i64, -1e18); | ||
| 8592 | try testArgs(f64, i64, -1e16); | ||
| 8593 | try testArgs(f64, i64, -1e14); | ||
| 8594 | try testArgs(f64, i64, -1e12); | ||
| 8595 | try testArgs(f64, i64, -1e10); | ||
| 8596 | try testArgs(f64, i64, -1e8); | ||
| 8597 | try testArgs(f64, i64, -1e6); | ||
| 8598 | try testArgs(f64, i64, -1e4); | ||
| 8599 | try testArgs(f64, i64, -1e2); | ||
| 8600 | try testArgs(f64, i64, -1e0); | ||
| 8601 | try testArgs(f64, i64, 0); | ||
| 8602 | try testArgs(f64, i64, 1e0); | ||
| 8603 | try testArgs(f64, i64, 1e2); | ||
| 8604 | try testArgs(f64, i64, 1e4); | ||
| 8605 | try testArgs(f64, i64, 1e6); | ||
| 8606 | try testArgs(f64, i64, 1e8); | ||
| 8607 | try testArgs(f64, i64, 1e10); | ||
| 8608 | try testArgs(f64, i64, 1e12); | ||
| 8609 | try testArgs(f64, i64, 1e14); | ||
| 8610 | try testArgs(f64, i64, 1e16); | ||
| 8611 | try testArgs(f64, i64, 1e18); | ||
| 8612 | try testArgs(f64, i64, imax(i64) - 1); | ||
| 8613 | try testArgs(f64, i64, imax(i64)); | ||
| 8614 | |||
| 8615 | try testArgs(f64, u64, 0); | ||
| 8616 | try testArgs(f64, u64, 1e0); | ||
| 8617 | try testArgs(f64, u64, 1e2); | ||
| 8618 | try testArgs(f64, u64, 1e4); | ||
| 8619 | try testArgs(f64, u64, 1e6); | ||
| 8620 | try testArgs(f64, u64, 1e8); | ||
| 8621 | try testArgs(f64, u64, 1e10); | ||
| 8622 | try testArgs(f64, u64, 1e12); | ||
| 8623 | try testArgs(f64, u64, 1e14); | ||
| 8624 | try testArgs(f64, u64, 1e16); | ||
| 8625 | try testArgs(f64, u64, 1e18); | ||
| 8626 | try testArgs(f64, u64, imax(u64) - 1); | ||
| 8627 | try testArgs(f64, u64, imax(u64)); | ||
| 8628 | |||
| 8629 | try testArgs(f64, i128, imin(i128)); | ||
| 8630 | try testArgs(f64, i128, imin(i128) + 1); | ||
| 8631 | try testArgs(f64, i128, -1e38); | ||
| 8632 | try testArgs(f64, i128, -1e34); | ||
| 8633 | try testArgs(f64, i128, -1e30); | ||
| 8634 | try testArgs(f64, i128, -1e26); | ||
| 8635 | try testArgs(f64, i128, -1e22); | ||
| 8636 | try testArgs(f64, i128, -1e18); | ||
| 8637 | try testArgs(f64, i128, -1e14); | ||
| 8638 | try testArgs(f64, i128, -1e10); | ||
| 8639 | try testArgs(f64, i128, -1e6); | ||
| 8640 | try testArgs(f64, i128, -1e2); | ||
| 8641 | try testArgs(f64, i128, -1e0); | ||
| 8642 | try testArgs(f64, i128, 0); | ||
| 8643 | try testArgs(f64, i128, 1e0); | ||
| 8644 | try testArgs(f64, i128, 1e2); | ||
| 8645 | try testArgs(f64, i128, 1e6); | ||
| 8646 | try testArgs(f64, i128, 1e10); | ||
| 8647 | try testArgs(f64, i128, 1e14); | ||
| 8648 | try testArgs(f64, i128, 1e18); | ||
| 8649 | try testArgs(f64, i128, 1e22); | ||
| 8650 | try testArgs(f64, i128, 1e26); | ||
| 8651 | try testArgs(f64, i128, 1e30); | ||
| 8652 | try testArgs(f64, i128, 1e34); | ||
| 8653 | try testArgs(f64, i128, 1e38); | ||
| 8654 | try testArgs(f64, i128, imax(i128) - 1); | ||
| 8655 | try testArgs(f64, i128, imax(i128)); | ||
| 8656 | |||
| 8657 | try testArgs(f64, u128, 0); | ||
| 8658 | try testArgs(f64, u128, 1e0); | ||
| 8659 | try testArgs(f64, u128, 1e2); | ||
| 8660 | try testArgs(f64, u128, 1e6); | ||
| 8661 | try testArgs(f64, u128, 1e10); | ||
| 8662 | try testArgs(f64, u128, 1e14); | ||
| 8663 | try testArgs(f64, u128, 1e18); | ||
| 8664 | try testArgs(f64, u128, 1e22); | ||
| 8665 | try testArgs(f64, u128, 1e26); | ||
| 8666 | try testArgs(f64, u128, 1e30); | ||
| 8667 | try testArgs(f64, u128, 1e34); | ||
| 8668 | try testArgs(f64, u128, 1e38); | ||
| 8669 | try testArgs(f64, u128, imax(u128) - 1); | ||
| 8670 | try testArgs(f64, u128, imax(u128)); | ||
| 8671 | |||
| 8672 | try testArgs(f64, i256, imin(i256)); | ||
| 8673 | try testArgs(f64, i256, imin(i256) + 1); | ||
| 8674 | try testArgs(f64, i256, -1e76); | ||
| 8675 | try testArgs(f64, i256, -1e69); | ||
| 8676 | try testArgs(f64, i256, -1e62); | ||
| 8677 | try testArgs(f64, i256, -1e55); | ||
| 8678 | try testArgs(f64, i256, -1e48); | ||
| 8679 | try testArgs(f64, i256, -1e41); | ||
| 8680 | try testArgs(f64, i256, -1e34); | ||
| 8681 | try testArgs(f64, i256, -1e27); | ||
| 8682 | try testArgs(f64, i256, -1e20); | ||
| 8683 | try testArgs(f64, i256, -1e13); | ||
| 8684 | try testArgs(f64, i256, -1e6); | ||
| 8685 | try testArgs(f64, i256, -1e0); | ||
| 8686 | try testArgs(f64, i256, 0); | ||
| 8687 | try testArgs(f64, i256, 1e0); | ||
| 8688 | try testArgs(f64, i256, 1e6); | ||
| 8689 | try testArgs(f64, i256, 1e13); | ||
| 8690 | try testArgs(f64, i256, 1e20); | ||
| 8691 | try testArgs(f64, i256, 1e27); | ||
| 8692 | try testArgs(f64, i256, 1e34); | ||
| 8693 | try testArgs(f64, i256, 1e41); | ||
| 8694 | try testArgs(f64, i256, 1e48); | ||
| 8695 | try testArgs(f64, i256, 1e55); | ||
| 8696 | try testArgs(f64, i256, 1e62); | ||
| 8697 | try testArgs(f64, i256, 1e69); | ||
| 8698 | try testArgs(f64, i256, 1e76); | ||
| 8699 | try testArgs(f64, i256, imax(i256) - 1); | ||
| 8700 | try testArgs(f64, i256, imax(i256)); | ||
| 8701 | |||
| 8702 | try testArgs(f64, u256, 0); | ||
| 8703 | try testArgs(f64, u256, 1e0); | ||
| 8704 | try testArgs(f64, u256, 1e7); | ||
| 8705 | try testArgs(f64, u256, 1e14); | ||
| 8706 | try testArgs(f64, u256, 1e21); | ||
| 8707 | try testArgs(f64, u256, 1e28); | ||
| 8708 | try testArgs(f64, u256, 1e35); | ||
| 8709 | try testArgs(f64, u256, 1e42); | ||
| 8710 | try testArgs(f64, u256, 1e49); | ||
| 8711 | try testArgs(f64, u256, 1e56); | ||
| 8712 | try testArgs(f64, u256, 1e63); | ||
| 8713 | try testArgs(f64, u256, 1e70); | ||
| 8714 | try testArgs(f64, u256, 1e77); | ||
| 8715 | try testArgs(f64, u256, imax(u256) - 1); | ||
| 8716 | try testArgs(f64, u256, imax(u256)); | ||
| 8717 | |||
| 8718 | try testArgs(f80, i8, imin(i8)); | ||
| 8719 | try testArgs(f80, i8, imin(i8) + 1); | ||
| 8720 | try testArgs(f80, i8, -1e2); | ||
| 8721 | try testArgs(f80, i8, -1e1); | ||
| 8722 | try testArgs(f80, i8, -1e0); | ||
| 8723 | try testArgs(f80, i8, 0); | ||
| 8724 | try testArgs(f80, i8, 1e0); | ||
| 8725 | try testArgs(f80, i8, 1e1); | ||
| 8726 | try testArgs(f80, i8, 1e2); | ||
| 8727 | try testArgs(f80, i8, imax(i8) - 1); | ||
| 8728 | try testArgs(f80, i8, imax(i8)); | ||
| 8729 | |||
| 8730 | try testArgs(f80, u8, 0); | ||
| 8731 | try testArgs(f80, u8, 1e0); | ||
| 8732 | try testArgs(f80, u8, 1e1); | ||
| 8733 | try testArgs(f80, u8, 1e2); | ||
| 8734 | try testArgs(f80, u8, imax(u8) - 1); | ||
| 8735 | try testArgs(f80, u8, imax(u8)); | ||
| 8736 | |||
| 8737 | try testArgs(f80, i16, imin(i16)); | ||
| 8738 | try testArgs(f80, i16, imin(i16) + 1); | ||
| 8739 | try testArgs(f80, i16, -1e4); | ||
| 8740 | try testArgs(f80, i16, -1e3); | ||
| 8741 | try testArgs(f80, i16, -1e2); | ||
| 8742 | try testArgs(f80, i16, -1e1); | ||
| 8743 | try testArgs(f80, i16, -1e0); | ||
| 8744 | try testArgs(f80, i16, 0); | ||
| 8745 | try testArgs(f80, i16, 1e0); | ||
| 8746 | try testArgs(f80, i16, 1e1); | ||
| 8747 | try testArgs(f80, i16, 1e2); | ||
| 8748 | try testArgs(f80, i16, 1e3); | ||
| 8749 | try testArgs(f80, i16, 1e4); | ||
| 8750 | try testArgs(f80, i16, imax(i16) - 1); | ||
| 8751 | try testArgs(f80, i16, imax(i16)); | ||
| 8752 | |||
| 8753 | try testArgs(f80, u16, 0); | ||
| 8754 | try testArgs(f80, u16, 1e0); | ||
| 8755 | try testArgs(f80, u16, 1e1); | ||
| 8756 | try testArgs(f80, u16, 1e2); | ||
| 8757 | try testArgs(f80, u16, 1e3); | ||
| 8758 | try testArgs(f80, u16, 1e4); | ||
| 8759 | try testArgs(f80, u16, imax(u16) - 1); | ||
| 8760 | try testArgs(f80, u16, imax(u16)); | ||
| 8761 | |||
| 8762 | try testArgs(f80, i32, imin(i32)); | ||
| 8763 | try testArgs(f80, i32, imin(i32) + 1); | ||
| 8764 | try testArgs(f80, i32, -1e9); | ||
| 8765 | try testArgs(f80, i32, -1e8); | ||
| 8766 | try testArgs(f80, i32, -1e7); | ||
| 8767 | try testArgs(f80, i32, -1e6); | ||
| 8768 | try testArgs(f80, i32, -1e5); | ||
| 8769 | try testArgs(f80, i32, -1e4); | ||
| 8770 | try testArgs(f80, i32, -1e3); | ||
| 8771 | try testArgs(f80, i32, -1e2); | ||
| 8772 | try testArgs(f80, i32, -1e1); | ||
| 8773 | try testArgs(f80, i32, -1e0); | ||
| 8774 | try testArgs(f80, i32, 0); | ||
| 8775 | try testArgs(f80, i32, 1e0); | ||
| 8776 | try testArgs(f80, i32, 1e1); | ||
| 8777 | try testArgs(f80, i32, 1e2); | ||
| 8778 | try testArgs(f80, i32, 1e3); | ||
| 8779 | try testArgs(f80, i32, 1e4); | ||
| 8780 | try testArgs(f80, i32, 1e5); | ||
| 8781 | try testArgs(f80, i32, 1e6); | ||
| 8782 | try testArgs(f80, i32, 1e7); | ||
| 8783 | try testArgs(f80, i32, 1e8); | ||
| 8784 | try testArgs(f80, i32, 1e9); | ||
| 8785 | try testArgs(f80, i32, imax(i32) - 1); | ||
| 8786 | try testArgs(f80, i32, imax(i32)); | ||
| 8787 | |||
| 8788 | try testArgs(f80, u32, 0); | ||
| 8789 | try testArgs(f80, u32, 1e0); | ||
| 8790 | try testArgs(f80, u32, 1e1); | ||
| 8791 | try testArgs(f80, u32, 1e2); | ||
| 8792 | try testArgs(f80, u32, 1e3); | ||
| 8793 | try testArgs(f80, u32, 1e4); | ||
| 8794 | try testArgs(f80, u32, 1e5); | ||
| 8795 | try testArgs(f80, u32, 1e6); | ||
| 8796 | try testArgs(f80, u32, 1e7); | ||
| 8797 | try testArgs(f80, u32, 1e8); | ||
| 8798 | try testArgs(f80, u32, 1e9); | ||
| 8799 | try testArgs(f80, u32, imax(u32) - 1); | ||
| 8800 | try testArgs(f80, u32, imax(u32)); | ||
| 8801 | |||
| 8802 | try testArgs(f80, i64, imin(i64)); | ||
| 8803 | try testArgs(f80, i64, imin(i64) + 1); | ||
| 8804 | try testArgs(f80, i64, -1e18); | ||
| 8805 | try testArgs(f80, i64, -1e16); | ||
| 8806 | try testArgs(f80, i64, -1e14); | ||
| 8807 | try testArgs(f80, i64, -1e12); | ||
| 8808 | try testArgs(f80, i64, -1e10); | ||
| 8809 | try testArgs(f80, i64, -1e8); | ||
| 8810 | try testArgs(f80, i64, -1e6); | ||
| 8811 | try testArgs(f80, i64, -1e4); | ||
| 8812 | try testArgs(f80, i64, -1e2); | ||
| 8813 | try testArgs(f80, i64, -1e0); | ||
| 8814 | try testArgs(f80, i64, 0); | ||
| 8815 | try testArgs(f80, i64, 1e0); | ||
| 8816 | try testArgs(f80, i64, 1e2); | ||
| 8817 | try testArgs(f80, i64, 1e4); | ||
| 8818 | try testArgs(f80, i64, 1e6); | ||
| 8819 | try testArgs(f80, i64, 1e8); | ||
| 8820 | try testArgs(f80, i64, 1e10); | ||
| 8821 | try testArgs(f80, i64, 1e12); | ||
| 8822 | try testArgs(f80, i64, 1e14); | ||
| 8823 | try testArgs(f80, i64, 1e16); | ||
| 8824 | try testArgs(f80, i64, 1e18); | ||
| 8825 | try testArgs(f80, i64, imax(i64) - 1); | ||
| 8826 | try testArgs(f80, i64, imax(i64)); | ||
| 8827 | |||
| 8828 | try testArgs(f80, u64, 0); | ||
| 8829 | try testArgs(f80, u64, 1e0); | ||
| 8830 | try testArgs(f80, u64, 1e2); | ||
| 8831 | try testArgs(f80, u64, 1e4); | ||
| 8832 | try testArgs(f80, u64, 1e6); | ||
| 8833 | try testArgs(f80, u64, 1e8); | ||
| 8834 | try testArgs(f80, u64, 1e10); | ||
| 8835 | try testArgs(f80, u64, 1e12); | ||
| 8836 | try testArgs(f80, u64, 1e14); | ||
| 8837 | try testArgs(f80, u64, 1e16); | ||
| 8838 | try testArgs(f80, u64, 1e18); | ||
| 8839 | try testArgs(f80, u64, imax(u64) - 1); | ||
| 8840 | try testArgs(f80, u64, imax(u64)); | ||
| 8841 | |||
| 8842 | try testArgs(f80, i128, imin(i128)); | ||
| 8843 | try testArgs(f80, i128, imin(i128) + 1); | ||
| 8844 | try testArgs(f80, i128, -1e38); | ||
| 8845 | try testArgs(f80, i128, -1e34); | ||
| 8846 | try testArgs(f80, i128, -1e30); | ||
| 8847 | try testArgs(f80, i128, -1e26); | ||
| 8848 | try testArgs(f80, i128, -1e22); | ||
| 8849 | try testArgs(f80, i128, -1e18); | ||
| 8850 | try testArgs(f80, i128, -1e14); | ||
| 8851 | try testArgs(f80, i128, -1e10); | ||
| 8852 | try testArgs(f80, i128, -1e6); | ||
| 8853 | try testArgs(f80, i128, -1e2); | ||
| 8854 | try testArgs(f80, i128, -1e0); | ||
| 8855 | try testArgs(f80, i128, 0); | ||
| 8856 | try testArgs(f80, i128, 1e0); | ||
| 8857 | try testArgs(f80, i128, 1e2); | ||
| 8858 | try testArgs(f80, i128, 1e6); | ||
| 8859 | try testArgs(f80, i128, 1e10); | ||
| 8860 | try testArgs(f80, i128, 1e14); | ||
| 8861 | try testArgs(f80, i128, 1e18); | ||
| 8862 | try testArgs(f80, i128, 1e22); | ||
| 8863 | try testArgs(f80, i128, 1e26); | ||
| 8864 | try testArgs(f80, i128, 1e30); | ||
| 8865 | try testArgs(f80, i128, 1e34); | ||
| 8866 | try testArgs(f80, i128, 1e38); | ||
| 8867 | try testArgs(f80, i128, imax(i128) - 1); | ||
| 8868 | try testArgs(f80, i128, imax(i128)); | ||
| 8869 | |||
| 8870 | try testArgs(f80, u128, 0); | ||
| 8871 | try testArgs(f80, u128, 1e0); | ||
| 8872 | try testArgs(f80, u128, 1e2); | ||
| 8873 | try testArgs(f80, u128, 1e6); | ||
| 8874 | try testArgs(f80, u128, 1e10); | ||
| 8875 | try testArgs(f80, u128, 1e14); | ||
| 8876 | try testArgs(f80, u128, 1e18); | ||
| 8877 | try testArgs(f80, u128, 1e22); | ||
| 8878 | try testArgs(f80, u128, 1e26); | ||
| 8879 | try testArgs(f80, u128, 1e30); | ||
| 8880 | try testArgs(f80, u128, 1e34); | ||
| 8881 | try testArgs(f80, u128, 1e38); | ||
| 8882 | try testArgs(f80, u128, imax(u128) - 1); | ||
| 8883 | try testArgs(f80, u128, imax(u128)); | ||
| 8884 | |||
| 8885 | try testArgs(f80, i256, imin(i256)); | ||
| 8886 | try testArgs(f80, i256, imin(i256) + 1); | ||
| 8887 | try testArgs(f80, i256, -1e76); | ||
| 8888 | try testArgs(f80, i256, -1e69); | ||
| 8889 | try testArgs(f80, i256, -1e62); | ||
| 8890 | try testArgs(f80, i256, -1e55); | ||
| 8891 | try testArgs(f80, i256, -1e48); | ||
| 8892 | try testArgs(f80, i256, -1e41); | ||
| 8893 | try testArgs(f80, i256, -1e34); | ||
| 8894 | try testArgs(f80, i256, -1e27); | ||
| 8895 | try testArgs(f80, i256, -1e20); | ||
| 8896 | try testArgs(f80, i256, -1e13); | ||
| 8897 | try testArgs(f80, i256, -1e6); | ||
| 8898 | try testArgs(f80, i256, -1e0); | ||
| 8899 | try testArgs(f80, i256, 0); | ||
| 8900 | try testArgs(f80, i256, 1e0); | ||
| 8901 | try testArgs(f80, i256, 1e6); | ||
| 8902 | try testArgs(f80, i256, 1e13); | ||
| 8903 | try testArgs(f80, i256, 1e20); | ||
| 8904 | try testArgs(f80, i256, 1e27); | ||
| 8905 | try testArgs(f80, i256, 1e34); | ||
| 8906 | try testArgs(f80, i256, 1e41); | ||
| 8907 | try testArgs(f80, i256, 1e48); | ||
| 8908 | try testArgs(f80, i256, 1e55); | ||
| 8909 | try testArgs(f80, i256, 1e62); | ||
| 8910 | try testArgs(f80, i256, 1e69); | ||
| 8911 | try testArgs(f80, i256, 1e76); | ||
| 8912 | try testArgs(f80, i256, imax(i256) - 1); | ||
| 8913 | try testArgs(f80, i256, imax(i256)); | ||
| 8914 | |||
| 8915 | try testArgs(f80, u256, 0); | ||
| 8916 | try testArgs(f80, u256, 1e0); | ||
| 8917 | try testArgs(f80, u256, 1e7); | ||
| 8918 | try testArgs(f80, u256, 1e14); | ||
| 8919 | try testArgs(f80, u256, 1e21); | ||
| 8920 | try testArgs(f80, u256, 1e28); | ||
| 8921 | try testArgs(f80, u256, 1e35); | ||
| 8922 | try testArgs(f80, u256, 1e42); | ||
| 8923 | try testArgs(f80, u256, 1e49); | ||
| 8924 | try testArgs(f80, u256, 1e56); | ||
| 8925 | try testArgs(f80, u256, 1e63); | ||
| 8926 | try testArgs(f80, u256, 1e70); | ||
| 8927 | try testArgs(f80, u256, 1e77); | ||
| 8928 | try testArgs(f80, u256, imax(u256) - 1); | ||
| 8929 | try testArgs(f80, u256, imax(u256)); | ||
| 8930 | |||
| 8931 | try testArgs(f128, i8, imin(i8)); | ||
| 8932 | try testArgs(f128, i8, imin(i8) + 1); | ||
| 8933 | try testArgs(f128, i8, -1e2); | ||
| 8934 | try testArgs(f128, i8, -1e1); | ||
| 8935 | try testArgs(f128, i8, -1e0); | ||
| 8936 | try testArgs(f128, i8, 0); | ||
| 8937 | try testArgs(f128, i8, 1e0); | ||
| 8938 | try testArgs(f128, i8, 1e1); | ||
| 8939 | try testArgs(f128, i8, 1e2); | ||
| 8940 | try testArgs(f128, i8, imax(i8) - 1); | ||
| 8941 | try testArgs(f128, i8, imax(i8)); | ||
| 8942 | |||
| 8943 | try testArgs(f128, u8, 0); | ||
| 8944 | try testArgs(f128, u8, 1e0); | ||
| 8945 | try testArgs(f128, u8, 1e1); | ||
| 8946 | try testArgs(f128, u8, 1e2); | ||
| 8947 | try testArgs(f128, u8, imax(u8) - 1); | ||
| 8948 | try testArgs(f128, u8, imax(u8)); | ||
| 8949 | |||
| 8950 | try testArgs(f128, i16, imin(i16)); | ||
| 8951 | try testArgs(f128, i16, imin(i16) + 1); | ||
| 8952 | try testArgs(f128, i16, -1e4); | ||
| 8953 | try testArgs(f128, i16, -1e3); | ||
| 8954 | try testArgs(f128, i16, -1e2); | ||
| 8955 | try testArgs(f128, i16, -1e1); | ||
| 8956 | try testArgs(f128, i16, -1e0); | ||
| 8957 | try testArgs(f128, i16, 0); | ||
| 8958 | try testArgs(f128, i16, 1e0); | ||
| 8959 | try testArgs(f128, i16, 1e1); | ||
| 8960 | try testArgs(f128, i16, 1e2); | ||
| 8961 | try testArgs(f128, i16, 1e3); | ||
| 8962 | try testArgs(f128, i16, 1e4); | ||
| 8963 | try testArgs(f128, i16, imax(i16) - 1); | ||
| 8964 | try testArgs(f128, i16, imax(i16)); | ||
| 8965 | |||
| 8966 | try testArgs(f128, u16, 0); | ||
| 8967 | try testArgs(f128, u16, 1e0); | ||
| 8968 | try testArgs(f128, u16, 1e1); | ||
| 8969 | try testArgs(f128, u16, 1e2); | ||
| 8970 | try testArgs(f128, u16, 1e3); | ||
| 8971 | try testArgs(f128, u16, 1e4); | ||
| 8972 | try testArgs(f128, u16, imax(u16) - 1); | ||
| 8973 | try testArgs(f128, u16, imax(u16)); | ||
| 8974 | |||
| 8975 | try testArgs(f128, i32, imin(i32)); | ||
| 8976 | try testArgs(f128, i32, imin(i32) + 1); | ||
| 8977 | try testArgs(f128, i32, -1e9); | ||
| 8978 | try testArgs(f128, i32, -1e8); | ||
| 8979 | try testArgs(f128, i32, -1e7); | ||
| 8980 | try testArgs(f128, i32, -1e6); | ||
| 8981 | try testArgs(f128, i32, -1e5); | ||
| 8982 | try testArgs(f128, i32, -1e4); | ||
| 8983 | try testArgs(f128, i32, -1e3); | ||
| 8984 | try testArgs(f128, i32, -1e2); | ||
| 8985 | try testArgs(f128, i32, -1e1); | ||
| 8986 | try testArgs(f128, i32, -1e0); | ||
| 8987 | try testArgs(f128, i32, 0); | ||
| 8988 | try testArgs(f128, i32, 1e0); | ||
| 8989 | try testArgs(f128, i32, 1e1); | ||
| 8990 | try testArgs(f128, i32, 1e2); | ||
| 8991 | try testArgs(f128, i32, 1e3); | ||
| 8992 | try testArgs(f128, i32, 1e4); | ||
| 8993 | try testArgs(f128, i32, 1e5); | ||
| 8994 | try testArgs(f128, i32, 1e6); | ||
| 8995 | try testArgs(f128, i32, 1e7); | ||
| 8996 | try testArgs(f128, i32, 1e8); | ||
| 8997 | try testArgs(f128, i32, 1e9); | ||
| 8998 | try testArgs(f128, i32, imax(i32) - 1); | ||
| 8999 | try testArgs(f128, i32, imax(i32)); | ||
| 9000 | |||
| 9001 | try testArgs(f128, u32, 0); | ||
| 9002 | try testArgs(f128, u32, 1e0); | ||
| 9003 | try testArgs(f128, u32, 1e1); | ||
| 9004 | try testArgs(f128, u32, 1e2); | ||
| 9005 | try testArgs(f128, u32, 1e3); | ||
| 9006 | try testArgs(f128, u32, 1e4); | ||
| 9007 | try testArgs(f128, u32, 1e5); | ||
| 9008 | try testArgs(f128, u32, 1e6); | ||
| 9009 | try testArgs(f128, u32, 1e7); | ||
| 9010 | try testArgs(f128, u32, 1e8); | ||
| 9011 | try testArgs(f128, u32, 1e9); | ||
| 9012 | try testArgs(f128, u32, imax(u32) - 1); | ||
| 9013 | try testArgs(f128, u32, imax(u32)); | ||
| 9014 | |||
| 9015 | try testArgs(f128, i64, imin(i64)); | ||
| 9016 | try testArgs(f128, i64, imin(i64) + 1); | ||
| 9017 | try testArgs(f128, i64, -1e18); | ||
| 9018 | try testArgs(f128, i64, -1e16); | ||
| 9019 | try testArgs(f128, i64, -1e14); | ||
| 9020 | try testArgs(f128, i64, -1e12); | ||
| 9021 | try testArgs(f128, i64, -1e10); | ||
| 9022 | try testArgs(f128, i64, -1e8); | ||
| 9023 | try testArgs(f128, i64, -1e6); | ||
| 9024 | try testArgs(f128, i64, -1e4); | ||
| 9025 | try testArgs(f128, i64, -1e2); | ||
| 9026 | try testArgs(f128, i64, -1e0); | ||
| 9027 | try testArgs(f128, i64, 0); | ||
| 9028 | try testArgs(f128, i64, 1e0); | ||
| 9029 | try testArgs(f128, i64, 1e2); | ||
| 9030 | try testArgs(f128, i64, 1e4); | ||
| 9031 | try testArgs(f128, i64, 1e6); | ||
| 9032 | try testArgs(f128, i64, 1e8); | ||
| 9033 | try testArgs(f128, i64, 1e10); | ||
| 9034 | try testArgs(f128, i64, 1e12); | ||
| 9035 | try testArgs(f128, i64, 1e14); | ||
| 9036 | try testArgs(f128, i64, 1e16); | ||
| 9037 | try testArgs(f128, i64, 1e18); | ||
| 9038 | try testArgs(f128, i64, imax(i64) - 1); | ||
| 9039 | try testArgs(f128, i64, imax(i64)); | ||
| 9040 | |||
| 9041 | try testArgs(f128, u64, 0); | ||
| 9042 | try testArgs(f128, u64, 1e0); | ||
| 9043 | try testArgs(f128, u64, 1e2); | ||
| 9044 | try testArgs(f128, u64, 1e4); | ||
| 9045 | try testArgs(f128, u64, 1e6); | ||
| 9046 | try testArgs(f128, u64, 1e8); | ||
| 9047 | try testArgs(f128, u64, 1e10); | ||
| 9048 | try testArgs(f128, u64, 1e12); | ||
| 9049 | try testArgs(f128, u64, 1e14); | ||
| 9050 | try testArgs(f128, u64, 1e16); | ||
| 9051 | try testArgs(f128, u64, 1e18); | ||
| 9052 | try testArgs(f128, u64, imax(u64) - 1); | ||
| 9053 | try testArgs(f128, u64, imax(u64)); | ||
| 9054 | |||
| 9055 | try testArgs(f128, i128, imin(i128)); | ||
| 9056 | try testArgs(f128, i128, imin(i128) + 1); | ||
| 9057 | try testArgs(f128, i128, -1e38); | ||
| 9058 | try testArgs(f128, i128, -1e34); | ||
| 9059 | try testArgs(f128, i128, -1e30); | ||
| 9060 | try testArgs(f128, i128, -1e26); | ||
| 9061 | try testArgs(f128, i128, -1e22); | ||
| 9062 | try testArgs(f128, i128, -1e18); | ||
| 9063 | try testArgs(f128, i128, -1e14); | ||
| 9064 | try testArgs(f128, i128, -1e10); | ||
| 9065 | try testArgs(f128, i128, -1e6); | ||
| 9066 | try testArgs(f128, i128, -1e2); | ||
| 9067 | try testArgs(f128, i128, -1e0); | ||
| 9068 | try testArgs(f128, i128, 0); | ||
| 9069 | try testArgs(f128, i128, 1e0); | ||
| 9070 | try testArgs(f128, i128, 1e2); | ||
| 9071 | try testArgs(f128, i128, 1e6); | ||
| 9072 | try testArgs(f128, i128, 1e10); | ||
| 9073 | try testArgs(f128, i128, 1e14); | ||
| 9074 | try testArgs(f128, i128, 1e18); | ||
| 9075 | try testArgs(f128, i128, 1e22); | ||
| 9076 | try testArgs(f128, i128, 1e26); | ||
| 9077 | try testArgs(f128, i128, 1e30); | ||
| 9078 | try testArgs(f128, i128, 1e34); | ||
| 9079 | try testArgs(f128, i128, 1e38); | ||
| 9080 | try testArgs(f128, i128, imax(i128) - 1); | ||
| 9081 | try testArgs(f128, i128, imax(i128)); | ||
| 9082 | |||
| 9083 | try testArgs(f128, u128, 0); | ||
| 9084 | try testArgs(f128, u128, 1e0); | ||
| 9085 | try testArgs(f128, u128, 1e2); | ||
| 9086 | try testArgs(f128, u128, 1e6); | ||
| 9087 | try testArgs(f128, u128, 1e10); | ||
| 9088 | try testArgs(f128, u128, 1e14); | ||
| 9089 | try testArgs(f128, u128, 1e18); | ||
| 9090 | try testArgs(f128, u128, 1e22); | ||
| 9091 | try testArgs(f128, u128, 1e26); | ||
| 9092 | try testArgs(f128, u128, 1e30); | ||
| 9093 | try testArgs(f128, u128, 1e34); | ||
| 9094 | try testArgs(f128, u128, 1e38); | ||
| 9095 | try testArgs(f128, u128, imax(u128) - 1); | ||
| 9096 | try testArgs(f128, u128, imax(u128)); | ||
| 9097 | |||
| 9098 | try testArgs(f128, i256, imin(i256)); | ||
| 9099 | try testArgs(f128, i256, imin(i256) + 1); | ||
| 9100 | try testArgs(f128, i256, -1e76); | ||
| 9101 | try testArgs(f128, i256, -1e69); | ||
| 9102 | try testArgs(f128, i256, -1e62); | ||
| 9103 | try testArgs(f128, i256, -1e55); | ||
| 9104 | try testArgs(f128, i256, -1e48); | ||
| 9105 | try testArgs(f128, i256, -1e41); | ||
| 9106 | try testArgs(f128, i256, -1e34); | ||
| 9107 | try testArgs(f128, i256, -1e27); | ||
| 9108 | try testArgs(f128, i256, -1e20); | ||
| 9109 | try testArgs(f128, i256, -1e13); | ||
| 9110 | try testArgs(f128, i256, -1e6); | ||
| 9111 | try testArgs(f128, i256, -1e0); | ||
| 9112 | try testArgs(f128, i256, 0); | ||
| 9113 | try testArgs(f128, i256, 1e0); | ||
| 9114 | try testArgs(f128, i256, 1e6); | ||
| 9115 | try testArgs(f128, i256, 1e13); | ||
| 9116 | try testArgs(f128, i256, 1e20); | ||
| 9117 | try testArgs(f128, i256, 1e27); | ||
| 9118 | try testArgs(f128, i256, 1e34); | ||
| 9119 | try testArgs(f128, i256, 1e41); | ||
| 9120 | try testArgs(f128, i256, 1e48); | ||
| 9121 | try testArgs(f128, i256, 1e55); | ||
| 9122 | try testArgs(f128, i256, 1e62); | ||
| 9123 | try testArgs(f128, i256, 1e69); | ||
| 9124 | try testArgs(f128, i256, 1e76); | ||
| 9125 | try testArgs(f128, i256, imax(i256) - 1); | ||
| 9126 | try testArgs(f128, i256, imax(i256)); | ||
| 9127 | |||
| 9128 | try testArgs(f128, u256, 0); | ||
| 9129 | try testArgs(f128, u256, 1e0); | ||
| 9130 | try testArgs(f128, u256, 1e7); | ||
| 9131 | try testArgs(f128, u256, 1e14); | ||
| 9132 | try testArgs(f128, u256, 1e21); | ||
| 9133 | try testArgs(f128, u256, 1e28); | ||
| 9134 | try testArgs(f128, u256, 1e35); | ||
| 9135 | try testArgs(f128, u256, 1e42); | ||
| 9136 | try testArgs(f128, u256, 1e49); | ||
| 9137 | try testArgs(f128, u256, 1e56); | ||
| 9138 | try testArgs(f128, u256, 1e63); | ||
| 9139 | try testArgs(f128, u256, 1e70); | ||
| 9140 | try testArgs(f128, u256, 1e77); | ||
| 9141 | try testArgs(f128, u256, imax(u256) - 1); | ||
| 9142 | try testArgs(f128, u256, imax(u256)); | ||
| 9143 | } | ||
| 9144 | fn testIntVectorsFromFloatVectors() !void { | ||
| 9145 | @setEvalBranchQuota(2_500); | ||
| 9146 | |||
| 9147 | try testArgs(@Vector(1, i8), @Vector(1, f16), .{ | ||
| 9148 | -0x0.8p8, | ||
| 9149 | }); | ||
| 9150 | try testArgs(@Vector(2, i8), @Vector(2, f16), .{ | ||
| 9151 | next(f16, -0x0.8p8, -0.0), next(f16, next(f16, -0x0.8p8, -0.0), -0.0), | ||
| 9152 | }); | ||
| 9153 | try testArgs(@Vector(4, i8), @Vector(4, f16), .{ | ||
| 9154 | -1e2, -1e1, -1e0, -1e-1, | ||
| 9155 | }); | ||
| 9156 | try testArgs(@Vector(8, i8), @Vector(8, f16), .{ | ||
| 9157 | -1e-2, -1e-3, -1e-4, -1e-5, -0.0, 0.0, 1e-5, 1e-4, | ||
| 9158 | }); | ||
| 9159 | try testArgs(@Vector(16, i8), @Vector(16, f16), .{ | ||
| 9160 | 1e-3, 1e-2, 1e-1, 1e0, 1e1, 1e2, next(f16, next(f16, 0x0.8p8, 0.0), 0.0), next(f16, 0x0.8p8, 0.0), | ||
| 9161 | -2e1, -2e0, -2e-1, -2e-2, -2e-3, -2e-4, -2e-5, 2e-5, | ||
| 9162 | }); | ||
| 9163 | try testArgs(@Vector(32, i8), @Vector(32, f16), .{ | ||
| 9164 | 2e-4, 2e-3, 2e-2, 2e-1, 2e0, 2e1, -3e1, -3e0, | ||
| 9165 | -3e-1, -3e-2, -3e-3, -3e-4, -3e-5, 3e-5, 3e-4, 3e-3, | ||
| 9166 | 3e-2, 3e-1, 3e0, 3e1, -4e1, -4e0, -4e-1, -4e-2, | ||
| 9167 | -4e-3, -4e-4, -4e-5, 4e-5, 4e-4, 4e-3, 4e-2, 4e-1, | ||
| 9168 | }); | ||
| 9169 | try testArgs(@Vector(64, i8), @Vector(64, f16), .{ | ||
| 9170 | 4e0, 4e1, -5e1, -5e0, -5e-1, -5e-2, -5e-3, -5e-4, | ||
| 9171 | -5e-5, 5e-5, 5e-4, 5e-3, 5e-2, 5e-1, 5e0, 5e1, | ||
| 9172 | -6e1, -6e0, -6e-1, -6e-2, -6e-3, -6e-4, -6e-5, 6e-5, | ||
| 9173 | 6e-4, 6e-3, 6e-2, 6e-1, 6e0, 6e1, -7e1, -7e0, | ||
| 9174 | -7e-1, -7e-2, -7e-3, -7e-4, -7e-5, 7e-5, 7e-4, 7e-3, | ||
| 9175 | 7e-2, 7e-1, 7e0, 7e1, -8e1, -8e0, -8e-1, -8e-2, | ||
| 9176 | -8e-3, -8e-4, -8e-5, 8e-5, 8e-4, 8e-3, 8e-2, 8e-1, | ||
| 9177 | 8e0, 8e1, -9e1, -9e0, -9e-1, -9e-2, -9e-3, -9e-4, | ||
| 9178 | }); | ||
| 9179 | try testArgs(@Vector(128, i8), @Vector(128, f16), .{ | ||
| 9180 | -9e-5, 9e-5, 9e-4, 9e-3, 9e-2, 9e-1, 9e0, 9e1, | ||
| 9181 | -11e1, -11e0, -11e-1, -11e-2, -11e-3, -11e-4, -11e-5, 11e-5, | ||
| 9182 | 11e-4, 11e-3, 11e-2, 11e-1, 11e0, 11e1, -12e1, -12e0, | ||
| 9183 | -12e-1, -12e-2, -12e-3, -12e-4, -12e-5, 12e-5, 12e-4, 12e-3, | ||
| 9184 | 12e-2, 12e-1, 12e0, 12e1, -13e0, -13e-1, -13e-2, -13e-3, | ||
| 9185 | -13e-4, -13e-5, 13e-5, 13e-4, 13e-3, 13e-2, 13e-1, 13e0, | ||
| 9186 | -14e0, -14e-1, -14e-2, -14e-3, -14e-4, -14e-5, 14e-5, 14e-4, | ||
| 9187 | 14e-3, 14e-2, 14e-1, 14e0, -15e0, -15e-1, -15e-2, -15e-3, | ||
| 9188 | -15e-4, -15e-5, 15e-5, 15e-4, 15e-3, 15e-2, 15e-1, 15e0, | ||
| 9189 | -16e0, -16e-1, -16e-2, -16e-3, -16e-4, -16e-5, 16e-5, 16e-4, | ||
| 9190 | 16e-3, 16e-2, 16e-1, 16e0, -17e0, -17e-1, -17e-2, -17e-3, | ||
| 9191 | -17e-4, -17e-5, 17e-5, 17e-4, 17e-3, 17e-2, 17e-1, 17e0, | ||
| 9192 | -18e0, -18e-1, -18e-2, -18e-3, -18e-4, -18e-5, 18e-5, 18e-4, | ||
| 9193 | 18e-3, 18e-2, 18e-1, 18e0, -19e0, -19e-1, -19e-2, -19e-3, | ||
| 9194 | -19e-4, -19e-5, 19e-5, 19e-4, 19e-3, 19e-2, 19e-1, 19e0, | ||
| 9195 | -21e0, -21e-1, -21e-2, -21e-3, -21e-4, -21e-5, 21e-5, 21e-4, | ||
| 9196 | }); | ||
| 9197 | |||
| 9198 | try testArgs(@Vector(1, u8), @Vector(1, f16), .{ | ||
| 9199 | -0.0, | ||
| 9200 | }); | ||
| 9201 | try testArgs(@Vector(2, u8), @Vector(2, f16), .{ | ||
| 9202 | 0.0, 1e-5, | ||
| 9203 | }); | ||
| 9204 | try testArgs(@Vector(4, u8), @Vector(4, f16), .{ | ||
| 9205 | 1e-4, 1e-3, 1e-2, 1e-1, | ||
| 9206 | }); | ||
| 9207 | try testArgs(@Vector(8, u8), @Vector(8, f16), .{ | ||
| 9208 | 1e0, 1e1, 1e2, next(f16, next(f16, 0x1p8, 0.0), 0.0), next(f16, 0x1p8, 0.0), 2e-5, 2e-4, 2e-3, | ||
| 9209 | }); | ||
| 9210 | try testArgs(@Vector(16, u8), @Vector(16, f16), .{ | ||
| 9211 | 2e-2, 2e-1, 2e0, 2e1, 2e2, 3e-5, 3e-4, 3e-3, | ||
| 9212 | 3e-2, 3e-1, 3e0, 3e1, 4e-5, 4e-4, 4e-3, 4e-2, | ||
| 9213 | }); | ||
| 9214 | try testArgs(@Vector(32, u8), @Vector(32, f16), .{ | ||
| 9215 | 4e-1, 4e0, 4e1, 5e-5, 5e-4, 5e-3, 5e-2, 5e-1, | ||
| 9216 | 5e0, 5e1, 6e-5, 6e-4, 6e-3, 6e-2, 6e-1, 6e0, | ||
| 9217 | 6e1, 7e-5, 7e-4, 7e-3, 7e-2, 7e-1, 7e0, 7e1, | ||
| 9218 | 8e-5, 8e-4, 8e-3, 8e-2, 8e-1, 8e0, 8e1, 9e-5, | ||
| 9219 | }); | ||
| 9220 | try testArgs(@Vector(64, u8), @Vector(64, f16), .{ | ||
| 9221 | 9e-4, 9e-3, 9e-2, 9e-1, 9e0, 9e1, 11e-5, 11e-4, | ||
| 9222 | 11e-3, 11e-2, 11e-1, 11e0, 11e1, 13e-5, 13e-4, 13e-3, | ||
| 9223 | 13e-2, 13e-1, 13e0, 14e-5, 14e-4, 14e-3, 14e-2, 14e-1, | ||
| 9224 | 14e0, 14e1, 15e-5, 15e-4, 15e-3, 15e-2, 15e-1, 15e0, | ||
| 9225 | 15e1, 16e-5, 16e-4, 16e-3, 16e-2, 16e-1, 16e0, 16e1, | ||
| 9226 | 17e-5, 17e-4, 17e-3, 17e-2, 17e-1, 17e0, 17e1, 18e-5, | ||
| 9227 | 18e-4, 18e-3, 18e-2, 18e-1, 18e0, 18e1, 19e-5, 19e-4, | ||
| 9228 | 19e-3, 19e-2, 19e-1, 19e0, 19e1, 21e-5, 21e-4, 21e-3, | ||
| 9229 | }); | ||
| 9230 | try testArgs(@Vector(128, u8), @Vector(128, f16), .{ | ||
| 9231 | 21e-2, 21e-1, 21e0, 21e1, 22e-5, 22e-4, 22e-3, 22e-2, | ||
| 9232 | 22e-1, 22e0, 22e1, 23e-5, 23e-4, 23e-3, 23e-2, 23e-1, | ||
| 9233 | 23e0, 23e1, 24e-5, 24e-4, 24e-3, 24e-2, 24e-1, 24e0, | ||
| 9234 | 24e1, 25e-5, 25e-4, 25e-3, 25e-2, 25e-1, 25e0, 25e1, | ||
| 9235 | 26e-5, 26e-4, 26e-3, 26e-2, 26e-1, 26e0, 27e-5, 27e-4, | ||
| 9236 | 27e-3, 27e-2, 27e-1, 27e0, 28e-5, 28e-4, 28e-3, 28e-2, | ||
| 9237 | 28e-1, 28e0, 29e-5, 29e-4, 29e-3, 29e-2, 29e-1, 29e0, | ||
| 9238 | 31e-5, 31e-4, 31e-3, 31e-2, 31e-1, 31e0, 32e-5, 32e-4, | ||
| 9239 | 32e-3, 32e-2, 32e-1, 32e0, 33e-5, 33e-4, 33e-3, 33e-2, | ||
| 9240 | 33e-1, 33e0, 34e-5, 34e-4, 34e-3, 34e-2, 34e-1, 34e0, | ||
| 9241 | 35e-5, 35e-4, 35e-3, 35e-2, 35e-1, 35e0, 36e-5, 36e-4, | ||
| 9242 | 36e-3, 36e-2, 36e-1, 36e0, 37e-5, 37e-4, 37e-3, 37e-2, | ||
| 9243 | 37e-1, 37e0, 38e-5, 38e-4, 38e-3, 38e-2, 38e-1, 38e0, | ||
| 9244 | 39e-5, 39e-4, 39e-3, 39e-2, 39e-1, 39e0, 41e-5, 41e-4, | ||
| 9245 | 41e-3, 41e-2, 41e-1, 41e0, 42e-5, 42e-4, 42e-3, 42e-2, | ||
| 9246 | 42e-1, 42e0, 43e-5, 43e-4, 43e-3, 43e-2, 43e-1, 43e0, | ||
| 9247 | }); | ||
| 9248 | |||
| 9249 | try testArgs(@Vector(1, i16), @Vector(1, f16), .{ | ||
| 9250 | -0x0.8p16, | ||
| 9251 | }); | ||
| 9252 | try testArgs(@Vector(2, i16), @Vector(2, f16), .{ | ||
| 9253 | next(f16, -0x0.8p16, -0.0), next(f16, next(f16, -0x0.8p16, -0.0), -0.0), | ||
| 9254 | }); | ||
| 9255 | try testArgs(@Vector(4, i16), @Vector(4, f16), .{ | ||
| 9256 | -1e4, -1e3, -1e2, -1e1, | ||
| 9257 | }); | ||
| 9258 | try testArgs(@Vector(8, i16), @Vector(8, f16), .{ | ||
| 9259 | -1e0, -1e-1, -1e-2, -1e-3, -1e-4, -1e-5, -0.0, 0.0, | ||
| 9260 | }); | ||
| 9261 | try testArgs(@Vector(16, i16), @Vector(16, f16), .{ | ||
| 9262 | 1e-5, 1e-4, 1e-3, 1e-2, 1e-1, 1e0, 1e1, 1e2, | ||
| 9263 | 1e3, 1e4, next(f16, next(f16, 0x0.8p16, 0.0), 0.0), next(f16, 0x0.8p16, 0.0), -2e4, -2e3, -2e2, -2e1, | ||
| 9264 | }); | ||
| 9265 | try testArgs(@Vector(32, i16), @Vector(32, f16), .{ | ||
| 9266 | -2e0, -2e-1, -2e-2, -2e-3, -2e-4, -2e-5, 2e-5, 2e-4, | ||
| 9267 | 2e-3, 2e-2, 2e-1, 2e0, 2e1, 2e2, 2e3, 2e4, | ||
| 9268 | -3e4, -3e3, -3e2, -3e1, -3e0, -3e-1, -3e-2, -3e-3, | ||
| 9269 | -3e-4, -3e-5, 3e-5, 3e-4, 3e-3, 3e-2, 3e-1, 3e0, | ||
| 9270 | }); | ||
| 9271 | try testArgs(@Vector(64, i16), @Vector(64, f16), .{ | ||
| 9272 | 3e1, 3e2, 3e3, 3e4, -4e3, -4e2, -4e1, -4e0, | ||
| 9273 | -4e-1, -4e-2, -4e-3, -4e-4, -4e-5, 4e-5, 4e-4, 4e-3, | ||
| 9274 | 4e-2, 4e-1, 4e0, 4e1, 4e2, 4e3, -5e3, -5e2, | ||
| 9275 | -5e1, -5e0, -5e-1, -5e-2, -5e-3, -5e-4, -5e-5, 5e-5, | ||
| 9276 | 5e-4, 5e-3, 5e-2, 5e-1, 5e0, 5e1, 5e2, 5e3, | ||
| 9277 | -6e3, -6e2, -6e1, -6e0, -6e-1, -6e-2, -6e-3, -6e-4, | ||
| 9278 | -6e-5, 6e-5, 6e-4, 6e-3, 6e-2, 6e-1, 6e0, 6e1, | ||
| 9279 | 6e2, 6e3, -7e3, -7e2, -7e1, -7e0, -7e-1, -7e-2, | ||
| 9280 | }); | ||
| 9281 | try testArgs(@Vector(128, i16), @Vector(128, f16), .{ | ||
| 9282 | -7e-3, -7e-4, -7e-5, 7e-5, 7e-4, 7e-3, 7e-2, 7e-1, | ||
| 9283 | 7e0, 7e1, 7e2, 7e3, -8e3, -8e2, -8e1, -8e0, | ||
| 9284 | -8e-1, -8e-2, -8e-3, -8e-4, -8e-5, 8e-5, 8e-4, 8e-3, | ||
| 9285 | 8e-2, 8e-1, 8e0, 8e1, 8e2, 8e3, -9e3, -9e2, | ||
| 9286 | -9e1, -9e0, -9e-1, -9e-2, -9e-3, -9e-4, -9e-5, 9e-5, | ||
| 9287 | 9e-4, 9e-3, 9e-2, 9e-1, 9e0, 9e1, 9e2, 9e3, | ||
| 9288 | -11e3, -11e2, -11e1, -11e0, -11e-1, -11e-2, -11e-3, -11e-4, | ||
| 9289 | -11e-5, 11e-5, 11e-4, 11e-3, 11e-2, 11e-1, 11e0, 11e1, | ||
| 9290 | 11e2, 11e3, -12e3, -12e2, -12e1, -12e0, -12e-1, -12e-2, | ||
| 9291 | -12e-3, -12e-4, -12e-5, 12e-5, 12e-4, 12e-3, 12e-2, 12e-1, | ||
| 9292 | 12e0, 12e1, 12e2, 12e3, -13e3, -13e2, -13e1, -13e0, | ||
| 9293 | -13e-1, -13e-2, -13e-3, -13e-4, -13e-5, 13e-5, 13e-4, 13e-3, | ||
| 9294 | 13e-2, 13e-1, 13e0, 13e1, 13e2, -14e2, -14e1, -14e0, | ||
| 9295 | -14e-1, -14e-2, -14e-3, -14e-4, -14e-5, 14e-5, 14e-4, 14e-3, | ||
| 9296 | 14e-2, 14e-1, 14e0, 14e1, 14e2, 14e3, -15e3, -15e2, | ||
| 9297 | -15e1, -15e0, -15e-1, -15e-2, -15e-3, -15e-4, -15e-5, 15e-5, | ||
| 9298 | }); | ||
| 9299 | |||
| 9300 | try testArgs(@Vector(1, u16), @Vector(1, f16), .{ | ||
| 9301 | -0.0, | ||
| 9302 | }); | ||
| 9303 | try testArgs(@Vector(2, u16), @Vector(2, f16), .{ | ||
| 9304 | 0.0, 1e-5, | ||
| 9305 | }); | ||
| 9306 | try testArgs(@Vector(4, u16), @Vector(4, f16), .{ | ||
| 9307 | 1e-4, 1e-3, 1e-2, 1e-1, | ||
| 9308 | }); | ||
| 9309 | try testArgs(@Vector(8, u16), @Vector(8, f16), .{ | ||
| 9310 | 1e0, 1e1, 1e2, 1e3, 1e4, next(f16, next(f16, 0x1p16, 0.0), 0.0), next(f16, 0x1p16, 0.0), 2e-5, | ||
| 9311 | }); | ||
| 9312 | try testArgs(@Vector(16, u16), @Vector(16, f16), .{ | ||
| 9313 | 2e-4, 2e-3, 2e-2, 2e-1, 2e0, 2e1, 2e2, 2e3, | ||
| 9314 | 2e4, 3e-5, 3e-4, 3e-3, 3e-2, 3e-1, 3e0, 3e1, | ||
| 9315 | }); | ||
| 9316 | try testArgs(@Vector(32, u16), @Vector(32, f16), .{ | ||
| 9317 | 3e2, 3e3, 3e4, 4e-5, 4e-4, 4e-3, 4e-2, 4e-1, | ||
| 9318 | 4e0, 4e1, 4e2, 4e3, 5e-5, 5e-4, 5e-3, 5e-2, | ||
| 9319 | 5e-1, 5e0, 5e1, 5e2, 5e3, 6e-5, 6e-4, 6e-3, | ||
| 9320 | 6e-2, 6e-1, 6e0, 6e1, 6e2, 6e3, 7e-5, 7e-4, | ||
| 9321 | }); | ||
| 9322 | try testArgs(@Vector(64, u16), @Vector(64, f16), .{ | ||
| 9323 | 7e-3, 7e-2, 7e-1, 7e0, 7e1, 7e2, 7e3, 8e-5, | ||
| 9324 | 8e-4, 8e-3, 8e-2, 8e-1, 8e0, 8e1, 8e2, 8e3, | ||
| 9325 | 9e-5, 9e-4, 9e-3, 9e-2, 9e-1, 9e0, 9e1, 9e2, | ||
| 9326 | 9e3, 11e-5, 11e-4, 11e-3, 11e-2, 11e-1, 11e0, 11e1, | ||
| 9327 | 11e2, 11e3, 13e-5, 13e-4, 13e-3, 13e-2, 13e-1, 13e0, | ||
| 9328 | 13e1, 13e2, 13e3, 14e-5, 14e-4, 14e-3, 14e-2, 14e-1, | ||
| 9329 | 14e0, 14e1, 14e2, 14e3, 15e-5, 15e-4, 15e-3, 15e-2, | ||
| 9330 | 15e-1, 15e0, 15e1, 15e2, 15e3, 16e-5, 16e-4, 16e-3, | ||
| 9331 | }); | ||
| 9332 | try testArgs(@Vector(128, u16), @Vector(128, f16), .{ | ||
| 9333 | 16e-2, 16e-1, 16e0, 16e1, 16e2, 16e3, 17e-5, 17e-4, | ||
| 9334 | 17e-3, 17e-2, 17e-1, 17e0, 17e1, 17e2, 17e3, 18e-5, | ||
| 9335 | 18e-4, 18e-3, 18e-2, 18e-1, 18e0, 18e1, 18e2, 18e3, | ||
| 9336 | 19e-5, 19e-4, 19e-3, 19e-2, 19e-1, 19e0, 19e1, 19e2, | ||
| 9337 | 19e3, 21e-5, 21e-4, 21e-3, 21e-2, 21e-1, 21e0, 21e1, | ||
| 9338 | 21e2, 21e3, 22e-5, 22e-4, 22e-3, 22e-2, 22e-1, 22e0, | ||
| 9339 | 22e1, 22e2, 22e3, 23e-5, 23e-4, 23e-3, 23e-2, 23e-1, | ||
| 9340 | 23e0, 23e1, 23e2, 23e3, 24e-5, 24e-4, 24e-3, 24e-2, | ||
| 9341 | 24e-1, 24e0, 24e1, 24e2, 24e3, 25e-5, 25e-4, 25e-3, | ||
| 9342 | 25e-2, 25e-1, 25e0, 25e1, 25e2, 25e3, 26e-5, 26e-4, | ||
| 9343 | 26e-3, 26e-2, 26e-1, 26e0, 26e1, 26e2, 26e3, 27e-5, | ||
| 9344 | 27e-4, 27e-3, 27e-2, 27e-1, 27e0, 27e1, 27e2, 27e3, | ||
| 9345 | 28e-5, 28e-4, 28e-3, 28e-2, 28e-1, 28e0, 28e1, 28e2, | ||
| 9346 | 28e3, 29e-5, 29e-4, 29e-3, 29e-2, 29e-1, 29e0, 29e1, | ||
| 9347 | 29e2, 29e3, 31e-5, 31e-4, 31e-3, 31e-2, 31e-1, 31e0, | ||
| 9348 | 31e1, 31e2, 31e3, 32e-5, 32e-4, 32e-3, 32e-2, 32e-1, | ||
| 9349 | }); | ||
| 9350 | |||
| 9351 | try testArgs(@Vector(1, i32), @Vector(1, f16), .{ | ||
| 9352 | -fmax(f16), | ||
| 9353 | }); | ||
| 9354 | try testArgs(@Vector(2, i32), @Vector(2, f16), .{ | ||
| 9355 | next(f16, -fmax(f16), -0.0), next(f16, next(f16, -fmax(f16), -0.0), -0.0), | ||
| 9356 | }); | ||
| 9357 | try testArgs(@Vector(4, i32), @Vector(4, f16), .{ | ||
| 9358 | -1e4, -1e3, -1e2, -1e1, | ||
| 9359 | }); | ||
| 9360 | try testArgs(@Vector(8, i32), @Vector(8, f16), .{ | ||
| 9361 | -1e0, -1e-1, -1e-2, -1e-3, -1e-4, -1e-5, -0.0, 0.0, | ||
| 9362 | }); | ||
| 9363 | try testArgs(@Vector(16, i32), @Vector(16, f16), .{ | ||
| 9364 | 1e-5, 1e-4, 1e-3, 1e-2, 1e-1, 1e0, 1e1, 1e2, | ||
| 9365 | 1e3, 1e4, next(f16, next(f16, fmax(f16), 0.0), 0.0), next(f16, fmax(f16), 0.0), -2e4, -2e3, -2e2, -2e1, | ||
| 9366 | }); | ||
| 9367 | try testArgs(@Vector(32, i32), @Vector(32, f16), .{ | ||
| 9368 | -2e0, -2e-1, -2e-2, -2e-3, -2e-4, -2e-5, 2e-5, 2e-4, | ||
| 9369 | 2e-3, 2e-2, 2e-1, 2e0, 2e1, 2e2, 2e3, 2e4, | ||
| 9370 | -3e4, -3e3, -3e2, -3e1, -3e0, -3e-1, -3e-2, -3e-3, | ||
| 9371 | -3e-4, -3e-5, 3e-5, 3e-4, 3e-3, 3e-2, 3e-1, 3e0, | ||
| 9372 | }); | ||
| 9373 | try testArgs(@Vector(64, i32), @Vector(64, f16), .{ | ||
| 9374 | 3e1, 3e2, 3e3, 3e4, -4e3, -4e2, -4e1, -4e0, | ||
| 9375 | -4e-1, -4e-2, -4e-3, -4e-4, -4e-5, 4e-5, 4e-4, 4e-3, | ||
| 9376 | 4e-2, 4e-1, 4e0, 4e1, 4e2, 4e3, -5e3, -5e2, | ||
| 9377 | -5e1, -5e0, -5e-1, -5e-2, -5e-3, -5e-4, -5e-5, 5e-5, | ||
| 9378 | 5e-4, 5e-3, 5e-2, 5e-1, 5e0, 5e1, 5e2, 5e3, | ||
| 9379 | -6e3, -6e2, -6e1, -6e0, -6e-1, -6e-2, -6e-3, -6e-4, | ||
| 9380 | -6e-5, 6e-5, 6e-4, 6e-3, 6e-2, 6e-1, 6e0, 6e1, | ||
| 9381 | 6e2, 6e3, -7e3, -7e2, -7e1, -7e0, -7e-1, -7e-2, | ||
| 9382 | }); | ||
| 9383 | try testArgs(@Vector(128, i32), @Vector(128, f16), .{ | ||
| 9384 | -7e-3, -7e-4, -7e-5, 7e-5, 7e-4, 7e-3, 7e-2, 7e-1, | ||
| 9385 | 7e0, 7e1, 7e2, 7e3, -8e3, -8e2, -8e1, -8e0, | ||
| 9386 | -8e-1, -8e-2, -8e-3, -8e-4, -8e-5, 8e-5, 8e-4, 8e-3, | ||
| 9387 | 8e-2, 8e-1, 8e0, 8e1, 8e2, 8e3, -9e3, -9e2, | ||
| 9388 | -9e1, -9e0, -9e-1, -9e-2, -9e-3, -9e-4, -9e-5, 9e-5, | ||
| 9389 | 9e-4, 9e-3, 9e-2, 9e-1, 9e0, 9e1, 9e2, 9e3, | ||
| 9390 | -11e3, -11e2, -11e1, -11e0, -11e-1, -11e-2, -11e-3, -11e-4, | ||
| 9391 | -11e-5, 11e-5, 11e-4, 11e-3, 11e-2, 11e-1, 11e0, 11e1, | ||
| 9392 | 11e2, 11e3, -12e3, -12e2, -12e1, -12e0, -12e-1, -12e-2, | ||
| 9393 | -12e-3, -12e-4, -12e-5, 12e-5, 12e-4, 12e-3, 12e-2, 12e-1, | ||
| 9394 | 12e0, 12e1, 12e2, 12e3, -13e3, -13e2, -13e1, -13e0, | ||
| 9395 | -13e-1, -13e-2, -13e-3, -13e-4, -13e-5, 13e-5, 13e-4, 13e-3, | ||
| 9396 | 13e-2, 13e-1, 13e0, 13e1, 13e2, -14e2, -14e1, -14e0, | ||
| 9397 | -14e-1, -14e-2, -14e-3, -14e-4, -14e-5, 14e-5, 14e-4, 14e-3, | ||
| 9398 | 14e-2, 14e-1, 14e0, 14e1, 14e2, 14e3, -15e3, -15e2, | ||
| 9399 | -15e1, -15e0, -15e-1, -15e-2, -15e-3, -15e-4, -15e-5, 15e-5, | ||
| 9400 | }); | ||
| 9401 | |||
| 9402 | try testArgs(@Vector(1, u32), @Vector(1, f16), .{ | ||
| 9403 | -0.0, | ||
| 9404 | }); | ||
| 9405 | try testArgs(@Vector(2, u32), @Vector(2, f16), .{ | ||
| 9406 | 0.0, 1e-5, | ||
| 9407 | }); | ||
| 9408 | try testArgs(@Vector(4, u32), @Vector(4, f16), .{ | ||
| 9409 | 1e-4, 1e-3, 1e-2, 1e-1, | ||
| 9410 | }); | ||
| 9411 | try testArgs(@Vector(8, u32), @Vector(8, f16), .{ | ||
| 9412 | 1e0, 1e1, 1e2, 1e3, 1e4, next(f16, next(f16, fmax(f16), 0.0), 0.0), next(f16, fmax(f16), 0.0), 2e-5, | ||
| 9413 | }); | ||
| 9414 | try testArgs(@Vector(16, u32), @Vector(16, f16), .{ | ||
| 9415 | 2e-4, 2e-3, 2e-2, 2e-1, 2e0, 2e1, 2e2, 2e3, | ||
| 9416 | 2e4, 3e-5, 3e-4, 3e-3, 3e-2, 3e-1, 3e0, 3e1, | ||
| 9417 | }); | ||
| 9418 | try testArgs(@Vector(32, u32), @Vector(32, f16), .{ | ||
| 9419 | 3e2, 3e3, 3e4, 4e-5, 4e-4, 4e-3, 4e-2, 4e-1, | ||
| 9420 | 4e0, 4e1, 4e2, 4e3, 5e-5, 5e-4, 5e-3, 5e-2, | ||
| 9421 | 5e-1, 5e0, 5e1, 5e2, 5e3, 6e-5, 6e-4, 6e-3, | ||
| 9422 | 6e-2, 6e-1, 6e0, 6e1, 6e2, 6e3, 7e-5, 7e-4, | ||
| 9423 | }); | ||
| 9424 | try testArgs(@Vector(64, u32), @Vector(64, f16), .{ | ||
| 9425 | 7e-3, 7e-2, 7e-1, 7e0, 7e1, 7e2, 7e3, 8e-5, | ||
| 9426 | 8e-4, 8e-3, 8e-2, 8e-1, 8e0, 8e1, 8e2, 8e3, | ||
| 9427 | 9e-5, 9e-4, 9e-3, 9e-2, 9e-1, 9e0, 9e1, 9e2, | ||
| 9428 | 9e3, 11e-5, 11e-4, 11e-3, 11e-2, 11e-1, 11e0, 11e1, | ||
| 9429 | 11e2, 11e3, 13e-5, 13e-4, 13e-3, 13e-2, 13e-1, 13e0, | ||
| 9430 | 13e1, 13e2, 13e3, 14e-5, 14e-4, 14e-3, 14e-2, 14e-1, | ||
| 9431 | 14e0, 14e1, 14e2, 14e3, 15e-5, 15e-4, 15e-3, 15e-2, | ||
| 9432 | 15e-1, 15e0, 15e1, 15e2, 15e3, 16e-5, 16e-4, 16e-3, | ||
| 9433 | }); | ||
| 9434 | try testArgs(@Vector(128, u32), @Vector(128, f16), .{ | ||
| 9435 | 16e-2, 16e-1, 16e0, 16e1, 16e2, 16e3, 17e-5, 17e-4, | ||
| 9436 | 17e-3, 17e-2, 17e-1, 17e0, 17e1, 17e2, 17e3, 18e-5, | ||
| 9437 | 18e-4, 18e-3, 18e-2, 18e-1, 18e0, 18e1, 18e2, 18e3, | ||
| 9438 | 19e-5, 19e-4, 19e-3, 19e-2, 19e-1, 19e0, 19e1, 19e2, | ||
| 9439 | 19e3, 21e-5, 21e-4, 21e-3, 21e-2, 21e-1, 21e0, 21e1, | ||
| 9440 | 21e2, 21e3, 22e-5, 22e-4, 22e-3, 22e-2, 22e-1, 22e0, | ||
| 9441 | 22e1, 22e2, 22e3, 23e-5, 23e-4, 23e-3, 23e-2, 23e-1, | ||
| 9442 | 23e0, 23e1, 23e2, 23e3, 24e-5, 24e-4, 24e-3, 24e-2, | ||
| 9443 | 24e-1, 24e0, 24e1, 24e2, 24e3, 25e-5, 25e-4, 25e-3, | ||
| 9444 | 25e-2, 25e-1, 25e0, 25e1, 25e2, 25e3, 26e-5, 26e-4, | ||
| 9445 | 26e-3, 26e-2, 26e-1, 26e0, 26e1, 26e2, 26e3, 27e-5, | ||
| 9446 | 27e-4, 27e-3, 27e-2, 27e-1, 27e0, 27e1, 27e2, 27e3, | ||
| 9447 | 28e-5, 28e-4, 28e-3, 28e-2, 28e-1, 28e0, 28e1, 28e2, | ||
| 9448 | 28e3, 29e-5, 29e-4, 29e-3, 29e-2, 29e-1, 29e0, 29e1, | ||
| 9449 | 29e2, 29e3, 31e-5, 31e-4, 31e-3, 31e-2, 31e-1, 31e0, | ||
| 9450 | 31e1, 31e2, 31e3, 32e-5, 32e-4, 32e-3, 32e-2, 32e-1, | ||
| 9451 | }); | ||
| 9452 | |||
| 9453 | try testArgs(@Vector(1, i64), @Vector(1, f16), .{ | ||
| 9454 | -fmax(f16), | ||
| 9455 | }); | ||
| 9456 | try testArgs(@Vector(2, i64), @Vector(2, f16), .{ | ||
| 9457 | next(f16, -fmax(f16), -0.0), next(f16, next(f16, -fmax(f16), -0.0), -0.0), | ||
| 9458 | }); | ||
| 9459 | try testArgs(@Vector(4, i64), @Vector(4, f16), .{ | ||
| 9460 | -1e4, -1e3, -1e2, -1e1, | ||
| 9461 | }); | ||
| 9462 | try testArgs(@Vector(8, i64), @Vector(8, f16), .{ | ||
| 9463 | -1e0, -1e-1, -1e-2, -1e-3, -1e-4, -1e-5, -0.0, 0.0, | ||
| 9464 | }); | ||
| 9465 | try testArgs(@Vector(16, i64), @Vector(16, f16), .{ | ||
| 9466 | 1e-5, 1e-4, 1e-3, 1e-2, 1e-1, 1e0, 1e1, 1e2, | ||
| 9467 | 1e3, 1e4, next(f16, next(f16, fmax(f16), 0.0), 0.0), next(f16, fmax(f16), 0.0), -2e4, -2e3, -2e2, -2e1, | ||
| 9468 | }); | ||
| 9469 | try testArgs(@Vector(32, i64), @Vector(32, f16), .{ | ||
| 9470 | -2e0, -2e-1, -2e-2, -2e-3, -2e-4, -2e-5, 2e-5, 2e-4, | ||
| 9471 | 2e-3, 2e-2, 2e-1, 2e0, 2e1, 2e2, 2e3, 2e4, | ||
| 9472 | -3e4, -3e3, -3e2, -3e1, -3e0, -3e-1, -3e-2, -3e-3, | ||
| 9473 | -3e-4, -3e-5, 3e-5, 3e-4, 3e-3, 3e-2, 3e-1, 3e0, | ||
| 9474 | }); | ||
| 9475 | try testArgs(@Vector(64, i64), @Vector(64, f16), .{ | ||
| 9476 | 3e1, 3e2, 3e3, 3e4, -4e3, -4e2, -4e1, -4e0, | ||
| 9477 | -4e-1, -4e-2, -4e-3, -4e-4, -4e-5, 4e-5, 4e-4, 4e-3, | ||
| 9478 | 4e-2, 4e-1, 4e0, 4e1, 4e2, 4e3, -5e3, -5e2, | ||
| 9479 | -5e1, -5e0, -5e-1, -5e-2, -5e-3, -5e-4, -5e-5, 5e-5, | ||
| 9480 | 5e-4, 5e-3, 5e-2, 5e-1, 5e0, 5e1, 5e2, 5e3, | ||
| 9481 | -6e3, -6e2, -6e1, -6e0, -6e-1, -6e-2, -6e-3, -6e-4, | ||
| 9482 | -6e-5, 6e-5, 6e-4, 6e-3, 6e-2, 6e-1, 6e0, 6e1, | ||
| 9483 | 6e2, 6e3, -7e3, -7e2, -7e1, -7e0, -7e-1, -7e-2, | ||
| 9484 | }); | ||
| 9485 | try testArgs(@Vector(128, i64), @Vector(128, f16), .{ | ||
| 9486 | -7e-3, -7e-4, -7e-5, 7e-5, 7e-4, 7e-3, 7e-2, 7e-1, | ||
| 9487 | 7e0, 7e1, 7e2, 7e3, -8e3, -8e2, -8e1, -8e0, | ||
| 9488 | -8e-1, -8e-2, -8e-3, -8e-4, -8e-5, 8e-5, 8e-4, 8e-3, | ||
| 9489 | 8e-2, 8e-1, 8e0, 8e1, 8e2, 8e3, -9e3, -9e2, | ||
| 9490 | -9e1, -9e0, -9e-1, -9e-2, -9e-3, -9e-4, -9e-5, 9e-5, | ||
| 9491 | 9e-4, 9e-3, 9e-2, 9e-1, 9e0, 9e1, 9e2, 9e3, | ||
| 9492 | -11e3, -11e2, -11e1, -11e0, -11e-1, -11e-2, -11e-3, -11e-4, | ||
| 9493 | -11e-5, 11e-5, 11e-4, 11e-3, 11e-2, 11e-1, 11e0, 11e1, | ||
| 9494 | 11e2, 11e3, -12e3, -12e2, -12e1, -12e0, -12e-1, -12e-2, | ||
| 9495 | -12e-3, -12e-4, -12e-5, 12e-5, 12e-4, 12e-3, 12e-2, 12e-1, | ||
| 9496 | 12e0, 12e1, 12e2, 12e3, -13e3, -13e2, -13e1, -13e0, | ||
| 9497 | -13e-1, -13e-2, -13e-3, -13e-4, -13e-5, 13e-5, 13e-4, 13e-3, | ||
| 9498 | 13e-2, 13e-1, 13e0, 13e1, 13e2, -14e2, -14e1, -14e0, | ||
| 9499 | -14e-1, -14e-2, -14e-3, -14e-4, -14e-5, 14e-5, 14e-4, 14e-3, | ||
| 9500 | 14e-2, 14e-1, 14e0, 14e1, 14e2, 14e3, -15e3, -15e2, | ||
| 9501 | -15e1, -15e0, -15e-1, -15e-2, -15e-3, -15e-4, -15e-5, 15e-5, | ||
| 9502 | }); | ||
| 9503 | |||
| 9504 | try testArgs(@Vector(1, u64), @Vector(1, f16), .{ | ||
| 9505 | -0.0, | ||
| 9506 | }); | ||
| 9507 | try testArgs(@Vector(2, u64), @Vector(2, f16), .{ | ||
| 9508 | 0.0, 1e-5, | ||
| 9509 | }); | ||
| 9510 | try testArgs(@Vector(4, u64), @Vector(4, f16), .{ | ||
| 9511 | 1e-4, 1e-3, 1e-2, 1e-1, | ||
| 9512 | }); | ||
| 9513 | try testArgs(@Vector(8, u64), @Vector(8, f16), .{ | ||
| 9514 | 1e0, 1e1, 1e2, 1e3, 1e4, next(f16, next(f16, fmax(f16), 0.0), 0.0), next(f16, fmax(f16), 0.0), 2e-5, | ||
| 9515 | }); | ||
| 9516 | try testArgs(@Vector(16, u64), @Vector(16, f16), .{ | ||
| 9517 | 2e-4, 2e-3, 2e-2, 2e-1, 2e0, 2e1, 2e2, 2e3, | ||
| 9518 | 2e4, 3e-5, 3e-4, 3e-3, 3e-2, 3e-1, 3e0, 3e1, | ||
| 9519 | }); | ||
| 9520 | try testArgs(@Vector(32, u64), @Vector(32, f16), .{ | ||
| 9521 | 3e2, 3e3, 3e4, 4e-5, 4e-4, 4e-3, 4e-2, 4e-1, | ||
| 9522 | 4e0, 4e1, 4e2, 4e3, 5e-5, 5e-4, 5e-3, 5e-2, | ||
| 9523 | 5e-1, 5e0, 5e1, 5e2, 5e3, 6e-5, 6e-4, 6e-3, | ||
| 9524 | 6e-2, 6e-1, 6e0, 6e1, 6e2, 6e3, 7e-5, 7e-4, | ||
| 9525 | }); | ||
| 9526 | try testArgs(@Vector(64, u64), @Vector(64, f16), .{ | ||
| 9527 | 7e-3, 7e-2, 7e-1, 7e0, 7e1, 7e2, 7e3, 8e-5, | ||
| 9528 | 8e-4, 8e-3, 8e-2, 8e-1, 8e0, 8e1, 8e2, 8e3, | ||
| 9529 | 9e-5, 9e-4, 9e-3, 9e-2, 9e-1, 9e0, 9e1, 9e2, | ||
| 9530 | 9e3, 11e-5, 11e-4, 11e-3, 11e-2, 11e-1, 11e0, 11e1, | ||
| 9531 | 11e2, 11e3, 13e-5, 13e-4, 13e-3, 13e-2, 13e-1, 13e0, | ||
| 9532 | 13e1, 13e2, 13e3, 14e-5, 14e-4, 14e-3, 14e-2, 14e-1, | ||
| 9533 | 14e0, 14e1, 14e2, 14e3, 15e-5, 15e-4, 15e-3, 15e-2, | ||
| 9534 | 15e-1, 15e0, 15e1, 15e2, 15e3, 16e-5, 16e-4, 16e-3, | ||
| 9535 | }); | ||
| 9536 | try testArgs(@Vector(128, u64), @Vector(128, f16), .{ | ||
| 9537 | 16e-2, 16e-1, 16e0, 16e1, 16e2, 16e3, 17e-5, 17e-4, | ||
| 9538 | 17e-3, 17e-2, 17e-1, 17e0, 17e1, 17e2, 17e3, 18e-5, | ||
| 9539 | 18e-4, 18e-3, 18e-2, 18e-1, 18e0, 18e1, 18e2, 18e3, | ||
| 9540 | 19e-5, 19e-4, 19e-3, 19e-2, 19e-1, 19e0, 19e1, 19e2, | ||
| 9541 | 19e3, 21e-5, 21e-4, 21e-3, 21e-2, 21e-1, 21e0, 21e1, | ||
| 9542 | 21e2, 21e3, 22e-5, 22e-4, 22e-3, 22e-2, 22e-1, 22e0, | ||
| 9543 | 22e1, 22e2, 22e3, 23e-5, 23e-4, 23e-3, 23e-2, 23e-1, | ||
| 9544 | 23e0, 23e1, 23e2, 23e3, 24e-5, 24e-4, 24e-3, 24e-2, | ||
| 9545 | 24e-1, 24e0, 24e1, 24e2, 24e3, 25e-5, 25e-4, 25e-3, | ||
| 9546 | 25e-2, 25e-1, 25e0, 25e1, 25e2, 25e3, 26e-5, 26e-4, | ||
| 9547 | 26e-3, 26e-2, 26e-1, 26e0, 26e1, 26e2, 26e3, 27e-5, | ||
| 9548 | 27e-4, 27e-3, 27e-2, 27e-1, 27e0, 27e1, 27e2, 27e3, | ||
| 9549 | 28e-5, 28e-4, 28e-3, 28e-2, 28e-1, 28e0, 28e1, 28e2, | ||
| 9550 | 28e3, 29e-5, 29e-4, 29e-3, 29e-2, 29e-1, 29e0, 29e1, | ||
| 9551 | 29e2, 29e3, 31e-5, 31e-4, 31e-3, 31e-2, 31e-1, 31e0, | ||
| 9552 | 31e1, 31e2, 31e3, 32e-5, 32e-4, 32e-3, 32e-2, 32e-1, | ||
| 9553 | }); | ||
| 9554 | |||
| 9555 | try testArgs(@Vector(1, i128), @Vector(1, f16), .{ | ||
| 9556 | -fmax(f16), | ||
| 9557 | }); | ||
| 9558 | try testArgs(@Vector(2, i128), @Vector(2, f16), .{ | ||
| 9559 | next(f16, -fmax(f16), -0.0), next(f16, next(f16, -fmax(f16), -0.0), -0.0), | ||
| 9560 | }); | ||
| 9561 | try testArgs(@Vector(4, i128), @Vector(4, f16), .{ | ||
| 9562 | -1e4, -1e3, -1e2, -1e1, | ||
| 9563 | }); | ||
| 9564 | try testArgs(@Vector(8, i128), @Vector(8, f16), .{ | ||
| 9565 | -1e0, -1e-1, -1e-2, -1e-3, -1e-4, -1e-5, -0.0, 0.0, | ||
| 9566 | }); | ||
| 9567 | try testArgs(@Vector(16, i128), @Vector(16, f16), .{ | ||
| 9568 | 1e-5, 1e-4, 1e-3, 1e-2, 1e-1, 1e0, 1e1, 1e2, | ||
| 9569 | 1e3, 1e4, next(f16, next(f16, fmax(f16), 0.0), 0.0), next(f16, fmax(f16), 0.0), -2e4, -2e3, -2e2, -2e1, | ||
| 9570 | }); | ||
| 9571 | try testArgs(@Vector(32, i128), @Vector(32, f16), .{ | ||
| 9572 | -2e0, -2e-1, -2e-2, -2e-3, -2e-4, -2e-5, 2e-5, 2e-4, | ||
| 9573 | 2e-3, 2e-2, 2e-1, 2e0, 2e1, 2e2, 2e3, 2e4, | ||
| 9574 | -3e4, -3e3, -3e2, -3e1, -3e0, -3e-1, -3e-2, -3e-3, | ||
| 9575 | -3e-4, -3e-5, 3e-5, 3e-4, 3e-3, 3e-2, 3e-1, 3e0, | ||
| 9576 | }); | ||
| 9577 | try testArgs(@Vector(64, i128), @Vector(64, f16), .{ | ||
| 9578 | 3e1, 3e2, 3e3, 3e4, -4e3, -4e2, -4e1, -4e0, | ||
| 9579 | -4e-1, -4e-2, -4e-3, -4e-4, -4e-5, 4e-5, 4e-4, 4e-3, | ||
| 9580 | 4e-2, 4e-1, 4e0, 4e1, 4e2, 4e3, -5e3, -5e2, | ||
| 9581 | -5e1, -5e0, -5e-1, -5e-2, -5e-3, -5e-4, -5e-5, 5e-5, | ||
| 9582 | 5e-4, 5e-3, 5e-2, 5e-1, 5e0, 5e1, 5e2, 5e3, | ||
| 9583 | -6e3, -6e2, -6e1, -6e0, -6e-1, -6e-2, -6e-3, -6e-4, | ||
| 9584 | -6e-5, 6e-5, 6e-4, 6e-3, 6e-2, 6e-1, 6e0, 6e1, | ||
| 9585 | 6e2, 6e3, -7e3, -7e2, -7e1, -7e0, -7e-1, -7e-2, | ||
| 9586 | }); | ||
| 9587 | |||
| 9588 | try testArgs(@Vector(1, u128), @Vector(1, f16), .{ | ||
| 9589 | -0.0, | ||
| 9590 | }); | ||
| 9591 | try testArgs(@Vector(2, u128), @Vector(2, f16), .{ | ||
| 9592 | 0.0, 1e-5, | ||
| 9593 | }); | ||
| 9594 | try testArgs(@Vector(4, u128), @Vector(4, f16), .{ | ||
| 9595 | 1e-4, 1e-3, 1e-2, 1e-1, | ||
| 9596 | }); | ||
| 9597 | try testArgs(@Vector(8, u128), @Vector(8, f16), .{ | ||
| 9598 | 1e0, 1e1, 1e2, 1e3, 1e4, next(f16, next(f16, fmax(f16), 0.0), 0.0), next(f16, fmax(f16), 0.0), 2e-5, | ||
| 9599 | }); | ||
| 9600 | try testArgs(@Vector(16, u128), @Vector(16, f16), .{ | ||
| 9601 | 2e-4, 2e-3, 2e-2, 2e-1, 2e0, 2e1, 2e2, 2e3, | ||
| 9602 | 2e4, 3e-5, 3e-4, 3e-3, 3e-2, 3e-1, 3e0, 3e1, | ||
| 9603 | }); | ||
| 9604 | try testArgs(@Vector(32, u128), @Vector(32, f16), .{ | ||
| 9605 | 3e2, 3e3, 3e4, 4e-5, 4e-4, 4e-3, 4e-2, 4e-1, | ||
| 9606 | 4e0, 4e1, 4e2, 4e3, 5e-5, 5e-4, 5e-3, 5e-2, | ||
| 9607 | 5e-1, 5e0, 5e1, 5e2, 5e3, 6e-5, 6e-4, 6e-3, | ||
| 9608 | 6e-2, 6e-1, 6e0, 6e1, 6e2, 6e3, 7e-5, 7e-4, | ||
| 9609 | }); | ||
| 9610 | try testArgs(@Vector(64, u128), @Vector(64, f16), .{ | ||
| 9611 | 7e-3, 7e-2, 7e-1, 7e0, 7e1, 7e2, 7e3, 8e-5, | ||
| 9612 | 8e-4, 8e-3, 8e-2, 8e-1, 8e0, 8e1, 8e2, 8e3, | ||
| 9613 | 9e-5, 9e-4, 9e-3, 9e-2, 9e-1, 9e0, 9e1, 9e2, | ||
| 9614 | 9e3, 11e-5, 11e-4, 11e-3, 11e-2, 11e-1, 11e0, 11e1, | ||
| 9615 | 11e2, 11e3, 13e-5, 13e-4, 13e-3, 13e-2, 13e-1, 13e0, | ||
| 9616 | 13e1, 13e2, 13e3, 14e-5, 14e-4, 14e-3, 14e-2, 14e-1, | ||
| 9617 | 14e0, 14e1, 14e2, 14e3, 15e-5, 15e-4, 15e-3, 15e-2, | ||
| 9618 | 15e-1, 15e0, 15e1, 15e2, 15e3, 16e-5, 16e-4, 16e-3, | ||
| 9619 | }); | ||
| 9620 | |||
| 9621 | try testArgs(@Vector(1, i256), @Vector(1, f16), .{ | ||
| 9622 | -fmax(f16), | ||
| 9623 | }); | ||
| 9624 | try testArgs(@Vector(2, i256), @Vector(2, f16), .{ | ||
| 9625 | next(f16, -fmax(f16), -0.0), next(f16, next(f16, -fmax(f16), -0.0), -0.0), | ||
| 9626 | }); | ||
| 9627 | try testArgs(@Vector(4, i256), @Vector(4, f16), .{ | ||
| 9628 | -1e4, -1e3, -1e2, -1e1, | ||
| 9629 | }); | ||
| 9630 | try testArgs(@Vector(8, i256), @Vector(8, f16), .{ | ||
| 9631 | -1e0, -1e-1, -1e-2, -1e-3, -1e-4, -1e-5, -0.0, 0.0, | ||
| 9632 | }); | ||
| 9633 | try testArgs(@Vector(16, i256), @Vector(16, f16), .{ | ||
| 9634 | 1e-5, 1e-4, 1e-3, 1e-2, 1e-1, 1e0, 1e1, 1e2, | ||
| 9635 | 1e3, 1e4, next(f16, next(f16, fmax(f16), 0.0), 0.0), next(f16, fmax(f16), 0.0), -2e4, -2e3, -2e2, -2e1, | ||
| 9636 | }); | ||
| 9637 | try testArgs(@Vector(32, i256), @Vector(32, f16), .{ | ||
| 9638 | -2e0, -2e-1, -2e-2, -2e-3, -2e-4, -2e-5, 2e-5, 2e-4, | ||
| 9639 | 2e-3, 2e-2, 2e-1, 2e0, 2e1, 2e2, 2e3, 2e4, | ||
| 9640 | -3e4, -3e3, -3e2, -3e1, -3e0, -3e-1, -3e-2, -3e-3, | ||
| 9641 | -3e-4, -3e-5, 3e-5, 3e-4, 3e-3, 3e-2, 3e-1, 3e0, | ||
| 9642 | }); | ||
| 9643 | try testArgs(@Vector(64, i256), @Vector(64, f16), .{ | ||
| 9644 | 3e1, 3e2, 3e3, 3e4, -4e3, -4e2, -4e1, -4e0, | ||
| 9645 | -4e-1, -4e-2, -4e-3, -4e-4, -4e-5, 4e-5, 4e-4, 4e-3, | ||
| 9646 | 4e-2, 4e-1, 4e0, 4e1, 4e2, 4e3, -5e3, -5e2, | ||
| 9647 | -5e1, -5e0, -5e-1, -5e-2, -5e-3, -5e-4, -5e-5, 5e-5, | ||
| 9648 | 5e-4, 5e-3, 5e-2, 5e-1, 5e0, 5e1, 5e2, 5e3, | ||
| 9649 | -6e3, -6e2, -6e1, -6e0, -6e-1, -6e-2, -6e-3, -6e-4, | ||
| 9650 | -6e-5, 6e-5, 6e-4, 6e-3, 6e-2, 6e-1, 6e0, 6e1, | ||
| 9651 | 6e2, 6e3, -7e3, -7e2, -7e1, -7e0, -7e-1, -7e-2, | ||
| 9652 | }); | ||
| 9653 | |||
| 9654 | try testArgs(@Vector(1, u256), @Vector(1, f16), .{ | ||
| 9655 | -0.0, | ||
| 9656 | }); | ||
| 9657 | try testArgs(@Vector(2, u256), @Vector(2, f16), .{ | ||
| 9658 | 0.0, 1e-5, | ||
| 9659 | }); | ||
| 9660 | try testArgs(@Vector(4, u256), @Vector(4, f16), .{ | ||
| 9661 | 1e-4, 1e-3, 1e-2, 1e-1, | ||
| 9662 | }); | ||
| 9663 | try testArgs(@Vector(8, u256), @Vector(8, f16), .{ | ||
| 9664 | 1e0, 1e1, 1e2, 1e3, 1e4, next(f16, next(f16, fmax(f16), 0.0), 0.0), next(f16, fmax(f16), 0.0), 2e-5, | ||
| 9665 | }); | ||
| 9666 | try testArgs(@Vector(16, u256), @Vector(16, f16), .{ | ||
| 9667 | 2e-4, 2e-3, 2e-2, 2e-1, 2e0, 2e1, 2e2, 2e3, | ||
| 9668 | 2e4, 3e-5, 3e-4, 3e-3, 3e-2, 3e-1, 3e0, 3e1, | ||
| 9669 | }); | ||
| 9670 | try testArgs(@Vector(32, u256), @Vector(32, f16), .{ | ||
| 9671 | 3e2, 3e3, 3e4, 4e-5, 4e-4, 4e-3, 4e-2, 4e-1, | ||
| 9672 | 4e0, 4e1, 4e2, 4e3, 5e-5, 5e-4, 5e-3, 5e-2, | ||
| 9673 | 5e-1, 5e0, 5e1, 5e2, 5e3, 6e-5, 6e-4, 6e-3, | ||
| 9674 | 6e-2, 6e-1, 6e0, 6e1, 6e2, 6e3, 7e-5, 7e-4, | ||
| 9675 | }); | ||
| 9676 | try testArgs(@Vector(64, u256), @Vector(64, f16), .{ | ||
| 9677 | 7e-3, 7e-2, 7e-1, 7e0, 7e1, 7e2, 7e3, 8e-5, | ||
| 9678 | 8e-4, 8e-3, 8e-2, 8e-1, 8e0, 8e1, 8e2, 8e3, | ||
| 9679 | 9e-5, 9e-4, 9e-3, 9e-2, 9e-1, 9e0, 9e1, 9e2, | ||
| 9680 | 9e3, 11e-5, 11e-4, 11e-3, 11e-2, 11e-1, 11e0, 11e1, | ||
| 9681 | 11e2, 11e3, 13e-5, 13e-4, 13e-3, 13e-2, 13e-1, 13e0, | ||
| 9682 | 13e1, 13e2, 13e3, 14e-5, 14e-4, 14e-3, 14e-2, 14e-1, | ||
| 9683 | 14e0, 14e1, 14e2, 14e3, 15e-5, 15e-4, 15e-3, 15e-2, | ||
| 9684 | 15e-1, 15e0, 15e1, 15e2, 15e3, 16e-5, 16e-4, 16e-3, | ||
| 9685 | }); | ||
| 9686 | |||
| 9687 | try testArgs(@Vector(1, i8), @Vector(1, f32), .{ | ||
| 9688 | -0x0.8p8, | ||
| 9689 | }); | ||
| 9690 | try testArgs(@Vector(2, i8), @Vector(2, f32), .{ | ||
| 9691 | next(f32, -0x0.8p8, -0.0), next(f32, next(f32, -0x0.8p8, -0.0), -0.0), | ||
| 9692 | }); | ||
| 9693 | try testArgs(@Vector(4, i8), @Vector(4, f32), .{ | ||
| 9694 | -1e2, -1e1, -1e0, -1e-1, | ||
| 9695 | }); | ||
| 9696 | try testArgs(@Vector(8, i8), @Vector(8, f32), .{ | ||
| 9697 | -1e-2, -1e-3, -1e-4, -1e-5, -0.0, 0.0, 1e-5, 1e-4, | ||
| 9698 | }); | ||
| 9699 | try testArgs(@Vector(16, i8), @Vector(16, f32), .{ | ||
| 9700 | 1e-3, 1e-2, 1e-1, 1e0, 1e1, 1e2, next(f32, next(f32, 0x0.8p8, 0.0), 0.0), next(f32, 0x0.8p8, 0.0), | ||
| 9701 | -2e1, -2e0, -2e-1, -2e-2, -2e-3, -2e-4, -2e-5, 2e-5, | ||
| 9702 | }); | ||
| 9703 | try testArgs(@Vector(32, i8), @Vector(32, f32), .{ | ||
| 9704 | 2e-4, 2e-3, 2e-2, 2e-1, 2e0, 2e1, -3e1, -3e0, | ||
| 9705 | -3e-1, -3e-2, -3e-3, -3e-4, -3e-5, 3e-5, 3e-4, 3e-3, | ||
| 9706 | 3e-2, 3e-1, 3e0, 3e1, -4e1, -4e0, -4e-1, -4e-2, | ||
| 9707 | -4e-3, -4e-4, -4e-5, 4e-5, 4e-4, 4e-3, 4e-2, 4e-1, | ||
| 9708 | }); | ||
| 9709 | try testArgs(@Vector(64, i8), @Vector(64, f32), .{ | ||
| 9710 | 4e0, 4e1, -5e1, -5e0, -5e-1, -5e-2, -5e-3, -5e-4, | ||
| 9711 | -5e-5, 5e-5, 5e-4, 5e-3, 5e-2, 5e-1, 5e0, 5e1, | ||
| 9712 | -6e1, -6e0, -6e-1, -6e-2, -6e-3, -6e-4, -6e-5, 6e-5, | ||
| 9713 | 6e-4, 6e-3, 6e-2, 6e-1, 6e0, 6e1, -7e1, -7e0, | ||
| 9714 | -7e-1, -7e-2, -7e-3, -7e-4, -7e-5, 7e-5, 7e-4, 7e-3, | ||
| 9715 | 7e-2, 7e-1, 7e0, 7e1, -8e1, -8e0, -8e-1, -8e-2, | ||
| 9716 | -8e-3, -8e-4, -8e-5, 8e-5, 8e-4, 8e-3, 8e-2, 8e-1, | ||
| 9717 | 8e0, 8e1, -9e1, -9e0, -9e-1, -9e-2, -9e-3, -9e-4, | ||
| 9718 | }); | ||
| 9719 | try testArgs(@Vector(128, i8), @Vector(128, f32), .{ | ||
| 9720 | -9e-5, 9e-5, 9e-4, 9e-3, 9e-2, 9e-1, 9e0, 9e1, | ||
| 9721 | -11e1, -11e0, -11e-1, -11e-2, -11e-3, -11e-4, -11e-5, 11e-5, | ||
| 9722 | 11e-4, 11e-3, 11e-2, 11e-1, 11e0, 11e1, -12e1, -12e0, | ||
| 9723 | -12e-1, -12e-2, -12e-3, -12e-4, -12e-5, 12e-5, 12e-4, 12e-3, | ||
| 9724 | 12e-2, 12e-1, 12e0, 12e1, -13e0, -13e-1, -13e-2, -13e-3, | ||
| 9725 | -13e-4, -13e-5, 13e-5, 13e-4, 13e-3, 13e-2, 13e-1, 13e0, | ||
| 9726 | -14e0, -14e-1, -14e-2, -14e-3, -14e-4, -14e-5, 14e-5, 14e-4, | ||
| 9727 | 14e-3, 14e-2, 14e-1, 14e0, -15e0, -15e-1, -15e-2, -15e-3, | ||
| 9728 | -15e-4, -15e-5, 15e-5, 15e-4, 15e-3, 15e-2, 15e-1, 15e0, | ||
| 9729 | -16e0, -16e-1, -16e-2, -16e-3, -16e-4, -16e-5, 16e-5, 16e-4, | ||
| 9730 | 16e-3, 16e-2, 16e-1, 16e0, -17e0, -17e-1, -17e-2, -17e-3, | ||
| 9731 | -17e-4, -17e-5, 17e-5, 17e-4, 17e-3, 17e-2, 17e-1, 17e0, | ||
| 9732 | -18e0, -18e-1, -18e-2, -18e-3, -18e-4, -18e-5, 18e-5, 18e-4, | ||
| 9733 | 18e-3, 18e-2, 18e-1, 18e0, -19e0, -19e-1, -19e-2, -19e-3, | ||
| 9734 | -19e-4, -19e-5, 19e-5, 19e-4, 19e-3, 19e-2, 19e-1, 19e0, | ||
| 9735 | -21e0, -21e-1, -21e-2, -21e-3, -21e-4, -21e-5, 21e-5, 21e-4, | ||
| 9736 | }); | ||
| 9737 | |||
| 9738 | try testArgs(@Vector(1, u8), @Vector(1, f32), .{ | ||
| 9739 | -0.0, | ||
| 9740 | }); | ||
| 9741 | try testArgs(@Vector(2, u8), @Vector(2, f32), .{ | ||
| 9742 | 0.0, 1e-5, | ||
| 9743 | }); | ||
| 9744 | try testArgs(@Vector(4, u8), @Vector(4, f32), .{ | ||
| 9745 | 1e-4, 1e-3, 1e-2, 1e-1, | ||
| 9746 | }); | ||
| 9747 | try testArgs(@Vector(8, u8), @Vector(8, f32), .{ | ||
| 9748 | 1e0, 1e1, 1e2, next(f32, next(f32, 0x1p8, 0.0), 0.0), next(f32, 0x1p8, 0.0), 2e-5, 2e-4, 2e-3, | ||
| 9749 | }); | ||
| 9750 | try testArgs(@Vector(16, u8), @Vector(16, f32), .{ | ||
| 9751 | 2e-2, 2e-1, 2e0, 2e1, 2e2, 3e-5, 3e-4, 3e-3, | ||
| 9752 | 3e-2, 3e-1, 3e0, 3e1, 4e-5, 4e-4, 4e-3, 4e-2, | ||
| 9753 | }); | ||
| 9754 | try testArgs(@Vector(32, u8), @Vector(32, f32), .{ | ||
| 9755 | 4e-1, 4e0, 4e1, 5e-5, 5e-4, 5e-3, 5e-2, 5e-1, | ||
| 9756 | 5e0, 5e1, 6e-5, 6e-4, 6e-3, 6e-2, 6e-1, 6e0, | ||
| 9757 | 6e1, 7e-5, 7e-4, 7e-3, 7e-2, 7e-1, 7e0, 7e1, | ||
| 9758 | 8e-5, 8e-4, 8e-3, 8e-2, 8e-1, 8e0, 8e1, 9e-5, | ||
| 9759 | }); | ||
| 9760 | try testArgs(@Vector(64, u8), @Vector(64, f32), .{ | ||
| 9761 | 9e-4, 9e-3, 9e-2, 9e-1, 9e0, 9e1, 11e-5, 11e-4, | ||
| 9762 | 11e-3, 11e-2, 11e-1, 11e0, 11e1, 13e-5, 13e-4, 13e-3, | ||
| 9763 | 13e-2, 13e-1, 13e0, 14e-5, 14e-4, 14e-3, 14e-2, 14e-1, | ||
| 9764 | 14e0, 14e1, 15e-5, 15e-4, 15e-3, 15e-2, 15e-1, 15e0, | ||
| 9765 | 15e1, 16e-5, 16e-4, 16e-3, 16e-2, 16e-1, 16e0, 16e1, | ||
| 9766 | 17e-5, 17e-4, 17e-3, 17e-2, 17e-1, 17e0, 17e1, 18e-5, | ||
| 9767 | 18e-4, 18e-3, 18e-2, 18e-1, 18e0, 18e1, 19e-5, 19e-4, | ||
| 9768 | 19e-3, 19e-2, 19e-1, 19e0, 19e1, 21e-5, 21e-4, 21e-3, | ||
| 9769 | }); | ||
| 9770 | try testArgs(@Vector(128, u8), @Vector(128, f32), .{ | ||
| 9771 | 21e-2, 21e-1, 21e0, 21e1, 22e-5, 22e-4, 22e-3, 22e-2, | ||
| 9772 | 22e-1, 22e0, 22e1, 23e-5, 23e-4, 23e-3, 23e-2, 23e-1, | ||
| 9773 | 23e0, 23e1, 24e-5, 24e-4, 24e-3, 24e-2, 24e-1, 24e0, | ||
| 9774 | 24e1, 25e-5, 25e-4, 25e-3, 25e-2, 25e-1, 25e0, 25e1, | ||
| 9775 | 26e-5, 26e-4, 26e-3, 26e-2, 26e-1, 26e0, 27e-5, 27e-4, | ||
| 9776 | 27e-3, 27e-2, 27e-1, 27e0, 28e-5, 28e-4, 28e-3, 28e-2, | ||
| 9777 | 28e-1, 28e0, 29e-5, 29e-4, 29e-3, 29e-2, 29e-1, 29e0, | ||
| 9778 | 31e-5, 31e-4, 31e-3, 31e-2, 31e-1, 31e0, 32e-5, 32e-4, | ||
| 9779 | 32e-3, 32e-2, 32e-1, 32e0, 33e-5, 33e-4, 33e-3, 33e-2, | ||
| 9780 | 33e-1, 33e0, 34e-5, 34e-4, 34e-3, 34e-2, 34e-1, 34e0, | ||
| 9781 | 35e-5, 35e-4, 35e-3, 35e-2, 35e-1, 35e0, 36e-5, 36e-4, | ||
| 9782 | 36e-3, 36e-2, 36e-1, 36e0, 37e-5, 37e-4, 37e-3, 37e-2, | ||
| 9783 | 37e-1, 37e0, 38e-5, 38e-4, 38e-3, 38e-2, 38e-1, 38e0, | ||
| 9784 | 39e-5, 39e-4, 39e-3, 39e-2, 39e-1, 39e0, 41e-5, 41e-4, | ||
| 9785 | 41e-3, 41e-2, 41e-1, 41e0, 42e-5, 42e-4, 42e-3, 42e-2, | ||
| 9786 | 42e-1, 42e0, 43e-5, 43e-4, 43e-3, 43e-2, 43e-1, 43e0, | ||
| 9787 | }); | ||
| 9788 | |||
| 9789 | try testArgs(@Vector(1, i16), @Vector(1, f32), .{ | ||
| 9790 | -0x0.8p16, | ||
| 9791 | }); | ||
| 9792 | try testArgs(@Vector(2, i16), @Vector(2, f32), .{ | ||
| 9793 | next(f32, -0x0.8p16, -0.0), next(f32, next(f32, -0x0.8p16, -0.0), -0.0), | ||
| 9794 | }); | ||
| 9795 | try testArgs(@Vector(4, i16), @Vector(4, f32), .{ | ||
| 9796 | -1e4, -1e3, -1e2, -1e1, | ||
| 9797 | }); | ||
| 9798 | try testArgs(@Vector(8, i16), @Vector(8, f32), .{ | ||
| 9799 | -1e0, -1e-1, -1e-2, -1e-3, -1e-4, -1e-5, -0.0, 0.0, | ||
| 9800 | }); | ||
| 9801 | try testArgs(@Vector(16, i16), @Vector(16, f32), .{ | ||
| 9802 | 1e-5, 1e-4, 1e-3, 1e-2, 1e-1, 1e0, 1e1, 1e2, | ||
| 9803 | 1e3, 1e4, next(f32, next(f32, 0x0.8p16, 0.0), 0.0), next(f32, 0x0.8p16, 0.0), -2e4, -2e3, -2e2, -2e1, | ||
| 9804 | }); | ||
| 9805 | try testArgs(@Vector(32, i16), @Vector(32, f32), .{ | ||
| 9806 | -2e0, -2e-1, -2e-2, -2e-3, -2e-4, -2e-5, 2e-5, 2e-4, | ||
| 9807 | 2e-3, 2e-2, 2e-1, 2e0, 2e1, 2e2, 2e3, 2e4, | ||
| 9808 | -3e4, -3e3, -3e2, -3e1, -3e0, -3e-1, -3e-2, -3e-3, | ||
| 9809 | -3e-4, -3e-5, 3e-5, 3e-4, 3e-3, 3e-2, 3e-1, 3e0, | ||
| 9810 | }); | ||
| 9811 | try testArgs(@Vector(64, i16), @Vector(64, f32), .{ | ||
| 9812 | 3e1, 3e2, 3e3, 3e4, -4e3, -4e2, -4e1, -4e0, | ||
| 9813 | -4e-1, -4e-2, -4e-3, -4e-4, -4e-5, 4e-5, 4e-4, 4e-3, | ||
| 9814 | 4e-2, 4e-1, 4e0, 4e1, 4e2, 4e3, -5e3, -5e2, | ||
| 9815 | -5e1, -5e0, -5e-1, -5e-2, -5e-3, -5e-4, -5e-5, 5e-5, | ||
| 9816 | 5e-4, 5e-3, 5e-2, 5e-1, 5e0, 5e1, 5e2, 5e3, | ||
| 9817 | -6e3, -6e2, -6e1, -6e0, -6e-1, -6e-2, -6e-3, -6e-4, | ||
| 9818 | -6e-5, 6e-5, 6e-4, 6e-3, 6e-2, 6e-1, 6e0, 6e1, | ||
| 9819 | 6e2, 6e3, -7e3, -7e2, -7e1, -7e0, -7e-1, -7e-2, | ||
| 9820 | }); | ||
| 9821 | try testArgs(@Vector(128, i16), @Vector(128, f32), .{ | ||
| 9822 | -7e-3, -7e-4, -7e-5, 7e-5, 7e-4, 7e-3, 7e-2, 7e-1, | ||
| 9823 | 7e0, 7e1, 7e2, 7e3, -8e3, -8e2, -8e1, -8e0, | ||
| 9824 | -8e-1, -8e-2, -8e-3, -8e-4, -8e-5, 8e-5, 8e-4, 8e-3, | ||
| 9825 | 8e-2, 8e-1, 8e0, 8e1, 8e2, 8e3, -9e3, -9e2, | ||
| 9826 | -9e1, -9e0, -9e-1, -9e-2, -9e-3, -9e-4, -9e-5, 9e-5, | ||
| 9827 | 9e-4, 9e-3, 9e-2, 9e-1, 9e0, 9e1, 9e2, 9e3, | ||
| 9828 | -11e3, -11e2, -11e1, -11e0, -11e-1, -11e-2, -11e-3, -11e-4, | ||
| 9829 | -11e-5, 11e-5, 11e-4, 11e-3, 11e-2, 11e-1, 11e0, 11e1, | ||
| 9830 | 11e2, 11e3, -12e3, -12e2, -12e1, -12e0, -12e-1, -12e-2, | ||
| 9831 | -12e-3, -12e-4, -12e-5, 12e-5, 12e-4, 12e-3, 12e-2, 12e-1, | ||
| 9832 | 12e0, 12e1, 12e2, 12e3, -13e3, -13e2, -13e1, -13e0, | ||
| 9833 | -13e-1, -13e-2, -13e-3, -13e-4, -13e-5, 13e-5, 13e-4, 13e-3, | ||
| 9834 | 13e-2, 13e-1, 13e0, 13e1, 13e2, -14e2, -14e1, -14e0, | ||
| 9835 | -14e-1, -14e-2, -14e-3, -14e-4, -14e-5, 14e-5, 14e-4, 14e-3, | ||
| 9836 | 14e-2, 14e-1, 14e0, 14e1, 14e2, 14e3, -15e3, -15e2, | ||
| 9837 | -15e1, -15e0, -15e-1, -15e-2, -15e-3, -15e-4, -15e-5, 15e-5, | ||
| 9838 | }); | ||
| 9839 | |||
| 9840 | try testArgs(@Vector(1, u16), @Vector(1, f32), .{ | ||
| 9841 | -0.0, | ||
| 9842 | }); | ||
| 9843 | try testArgs(@Vector(2, u16), @Vector(2, f32), .{ | ||
| 9844 | 0.0, 1e-5, | ||
| 9845 | }); | ||
| 9846 | try testArgs(@Vector(4, u16), @Vector(4, f32), .{ | ||
| 9847 | 1e-4, 1e-3, 1e-2, 1e-1, | ||
| 9848 | }); | ||
| 9849 | try testArgs(@Vector(8, u16), @Vector(8, f32), .{ | ||
| 9850 | 1e0, 1e1, 1e2, 1e3, 1e4, next(f32, next(f32, 0x1p16, 0.0), 0.0), next(f32, 0x1p16, 0.0), 2e-5, | ||
| 9851 | }); | ||
| 9852 | try testArgs(@Vector(16, u16), @Vector(16, f32), .{ | ||
| 9853 | 2e-4, 2e-3, 2e-2, 2e-1, 2e0, 2e1, 2e2, 2e3, | ||
| 9854 | 2e4, 3e-5, 3e-4, 3e-3, 3e-2, 3e-1, 3e0, 3e1, | ||
| 9855 | }); | ||
| 9856 | try testArgs(@Vector(32, u16), @Vector(32, f32), .{ | ||
| 9857 | 3e2, 3e3, 3e4, 4e-5, 4e-4, 4e-3, 4e-2, 4e-1, | ||
| 9858 | 4e0, 4e1, 4e2, 4e3, 5e-5, 5e-4, 5e-3, 5e-2, | ||
| 9859 | 5e-1, 5e0, 5e1, 5e2, 5e3, 6e-5, 6e-4, 6e-3, | ||
| 9860 | 6e-2, 6e-1, 6e0, 6e1, 6e2, 6e3, 7e-5, 7e-4, | ||
| 9861 | }); | ||
| 9862 | try testArgs(@Vector(64, u16), @Vector(64, f32), .{ | ||
| 9863 | 7e-3, 7e-2, 7e-1, 7e0, 7e1, 7e2, 7e3, 8e-5, | ||
| 9864 | 8e-4, 8e-3, 8e-2, 8e-1, 8e0, 8e1, 8e2, 8e3, | ||
| 9865 | 9e-5, 9e-4, 9e-3, 9e-2, 9e-1, 9e0, 9e1, 9e2, | ||
| 9866 | 9e3, 11e-5, 11e-4, 11e-3, 11e-2, 11e-1, 11e0, 11e1, | ||
| 9867 | 11e2, 11e3, 13e-5, 13e-4, 13e-3, 13e-2, 13e-1, 13e0, | ||
| 9868 | 13e1, 13e2, 13e3, 14e-5, 14e-4, 14e-3, 14e-2, 14e-1, | ||
| 9869 | 14e0, 14e1, 14e2, 14e3, 15e-5, 15e-4, 15e-3, 15e-2, | ||
| 9870 | 15e-1, 15e0, 15e1, 15e2, 15e3, 16e-5, 16e-4, 16e-3, | ||
| 9871 | }); | ||
| 9872 | try testArgs(@Vector(128, u16), @Vector(128, f32), .{ | ||
| 9873 | 16e-2, 16e-1, 16e0, 16e1, 16e2, 16e3, 17e-5, 17e-4, | ||
| 9874 | 17e-3, 17e-2, 17e-1, 17e0, 17e1, 17e2, 17e3, 18e-5, | ||
| 9875 | 18e-4, 18e-3, 18e-2, 18e-1, 18e0, 18e1, 18e2, 18e3, | ||
| 9876 | 19e-5, 19e-4, 19e-3, 19e-2, 19e-1, 19e0, 19e1, 19e2, | ||
| 9877 | 19e3, 21e-5, 21e-4, 21e-3, 21e-2, 21e-1, 21e0, 21e1, | ||
| 9878 | 21e2, 21e3, 22e-5, 22e-4, 22e-3, 22e-2, 22e-1, 22e0, | ||
| 9879 | 22e1, 22e2, 22e3, 23e-5, 23e-4, 23e-3, 23e-2, 23e-1, | ||
| 9880 | 23e0, 23e1, 23e2, 23e3, 24e-5, 24e-4, 24e-3, 24e-2, | ||
| 9881 | 24e-1, 24e0, 24e1, 24e2, 24e3, 25e-5, 25e-4, 25e-3, | ||
| 9882 | 25e-2, 25e-1, 25e0, 25e1, 25e2, 25e3, 26e-5, 26e-4, | ||
| 9883 | 26e-3, 26e-2, 26e-1, 26e0, 26e1, 26e2, 26e3, 27e-5, | ||
| 9884 | 27e-4, 27e-3, 27e-2, 27e-1, 27e0, 27e1, 27e2, 27e3, | ||
| 9885 | 28e-5, 28e-4, 28e-3, 28e-2, 28e-1, 28e0, 28e1, 28e2, | ||
| 9886 | 28e3, 29e-5, 29e-4, 29e-3, 29e-2, 29e-1, 29e0, 29e1, | ||
| 9887 | 29e2, 29e3, 31e-5, 31e-4, 31e-3, 31e-2, 31e-1, 31e0, | ||
| 9888 | 31e1, 31e2, 31e3, 32e-5, 32e-4, 32e-3, 32e-2, 32e-1, | ||
| 9889 | }); | ||
| 9890 | |||
| 9891 | try testArgs(@Vector(1, i32), @Vector(1, f32), .{ | ||
| 9892 | -0x0.8p32, | ||
| 9893 | }); | ||
| 9894 | try testArgs(@Vector(2, i32), @Vector(2, f32), .{ | ||
| 9895 | next(f32, -0x0.8p32, -0.0), next(f32, next(f32, -0x0.8p32, -0.0), -0.0), | ||
| 9896 | }); | ||
| 9897 | try testArgs(@Vector(4, i32), @Vector(4, f32), .{ | ||
| 9898 | -1e4, -1e3, -1e2, -1e1, | ||
| 9899 | }); | ||
| 9900 | try testArgs(@Vector(8, i32), @Vector(8, f32), .{ | ||
| 9901 | -1e0, -1e-1, -1e-2, -1e-3, -1e-4, -1e-5, -0.0, 0.0, | ||
| 9902 | }); | ||
| 9903 | try testArgs(@Vector(16, i32), @Vector(16, f32), .{ | ||
| 9904 | 1e-5, 1e-4, 1e-3, 1e-2, 1e-1, 1e0, 1e1, 1e2, | ||
| 9905 | 1e3, 1e4, next(f32, next(f32, 0x0.8p32, 0.0), 0.0), next(f32, 0x0.8p32, 0.0), -2e4, -2e3, -2e2, -2e1, | ||
| 9906 | }); | ||
| 9907 | try testArgs(@Vector(32, i32), @Vector(32, f32), .{ | ||
| 9908 | -2e0, -2e-1, -2e-2, -2e-3, -2e-4, -2e-5, 2e-5, 2e-4, | ||
| 9909 | 2e-3, 2e-2, 2e-1, 2e0, 2e1, 2e2, 2e3, 2e4, | ||
| 9910 | -3e4, -3e3, -3e2, -3e1, -3e0, -3e-1, -3e-2, -3e-3, | ||
| 9911 | -3e-4, -3e-5, 3e-5, 3e-4, 3e-3, 3e-2, 3e-1, 3e0, | ||
| 9912 | }); | ||
| 9913 | try testArgs(@Vector(64, i32), @Vector(64, f32), .{ | ||
| 9914 | 3e1, 3e2, 3e3, 3e4, -4e3, -4e2, -4e1, -4e0, | ||
| 9915 | -4e-1, -4e-2, -4e-3, -4e-4, -4e-5, 4e-5, 4e-4, 4e-3, | ||
| 9916 | 4e-2, 4e-1, 4e0, 4e1, 4e2, 4e3, -5e3, -5e2, | ||
| 9917 | -5e1, -5e0, -5e-1, -5e-2, -5e-3, -5e-4, -5e-5, 5e-5, | ||
| 9918 | 5e-4, 5e-3, 5e-2, 5e-1, 5e0, 5e1, 5e2, 5e3, | ||
| 9919 | -6e3, -6e2, -6e1, -6e0, -6e-1, -6e-2, -6e-3, -6e-4, | ||
| 9920 | -6e-5, 6e-5, 6e-4, 6e-3, 6e-2, 6e-1, 6e0, 6e1, | ||
| 9921 | 6e2, 6e3, -7e3, -7e2, -7e1, -7e0, -7e-1, -7e-2, | ||
| 9922 | }); | ||
| 9923 | try testArgs(@Vector(128, i32), @Vector(128, f32), .{ | ||
| 9924 | -7e-3, -7e-4, -7e-5, 7e-5, 7e-4, 7e-3, 7e-2, 7e-1, | ||
| 9925 | 7e0, 7e1, 7e2, 7e3, -8e3, -8e2, -8e1, -8e0, | ||
| 9926 | -8e-1, -8e-2, -8e-3, -8e-4, -8e-5, 8e-5, 8e-4, 8e-3, | ||
| 9927 | 8e-2, 8e-1, 8e0, 8e1, 8e2, 8e3, -9e3, -9e2, | ||
| 9928 | -9e1, -9e0, -9e-1, -9e-2, -9e-3, -9e-4, -9e-5, 9e-5, | ||
| 9929 | 9e-4, 9e-3, 9e-2, 9e-1, 9e0, 9e1, 9e2, 9e3, | ||
| 9930 | -11e3, -11e2, -11e1, -11e0, -11e-1, -11e-2, -11e-3, -11e-4, | ||
| 9931 | -11e-5, 11e-5, 11e-4, 11e-3, 11e-2, 11e-1, 11e0, 11e1, | ||
| 9932 | 11e2, 11e3, -12e3, -12e2, -12e1, -12e0, -12e-1, -12e-2, | ||
| 9933 | -12e-3, -12e-4, -12e-5, 12e-5, 12e-4, 12e-3, 12e-2, 12e-1, | ||
| 9934 | 12e0, 12e1, 12e2, 12e3, -13e3, -13e2, -13e1, -13e0, | ||
| 9935 | -13e-1, -13e-2, -13e-3, -13e-4, -13e-5, 13e-5, 13e-4, 13e-3, | ||
| 9936 | 13e-2, 13e-1, 13e0, 13e1, 13e2, -14e2, -14e1, -14e0, | ||
| 9937 | -14e-1, -14e-2, -14e-3, -14e-4, -14e-5, 14e-5, 14e-4, 14e-3, | ||
| 9938 | 14e-2, 14e-1, 14e0, 14e1, 14e2, 14e3, -15e3, -15e2, | ||
| 9939 | -15e1, -15e0, -15e-1, -15e-2, -15e-3, -15e-4, -15e-5, 15e-5, | ||
| 9940 | }); | ||
| 9941 | |||
| 9942 | try testArgs(@Vector(1, u32), @Vector(1, f32), .{ | ||
| 9943 | -0.0, | ||
| 9944 | }); | ||
| 9945 | try testArgs(@Vector(2, u32), @Vector(2, f32), .{ | ||
| 9946 | 0.0, 1e-5, | ||
| 9947 | }); | ||
| 9948 | try testArgs(@Vector(4, u32), @Vector(4, f32), .{ | ||
| 9949 | 1e-4, 1e-3, 1e-2, 1e-1, | ||
| 9950 | }); | ||
| 9951 | try testArgs(@Vector(8, u32), @Vector(8, f32), .{ | ||
| 9952 | 1e0, 1e1, 1e2, 1e3, 1e4, next(f32, next(f32, 0x1p32, 0.0), 0.0), next(f32, 0x1p32, 0.0), 2e-5, | ||
| 9953 | }); | ||
| 9954 | try testArgs(@Vector(16, u32), @Vector(16, f32), .{ | ||
| 9955 | 2e-4, 2e-3, 2e-2, 2e-1, 2e0, 2e1, 2e2, 2e3, | ||
| 9956 | 2e4, 3e-5, 3e-4, 3e-3, 3e-2, 3e-1, 3e0, 3e1, | ||
| 9957 | }); | ||
| 9958 | try testArgs(@Vector(32, u32), @Vector(32, f32), .{ | ||
| 9959 | 3e2, 3e3, 3e4, 4e-5, 4e-4, 4e-3, 4e-2, 4e-1, | ||
| 9960 | 4e0, 4e1, 4e2, 4e3, 5e-5, 5e-4, 5e-3, 5e-2, | ||
| 9961 | 5e-1, 5e0, 5e1, 5e2, 5e3, 6e-5, 6e-4, 6e-3, | ||
| 9962 | 6e-2, 6e-1, 6e0, 6e1, 6e2, 6e3, 7e-5, 7e-4, | ||
| 9963 | }); | ||
| 9964 | try testArgs(@Vector(64, u32), @Vector(64, f32), .{ | ||
| 9965 | 7e-3, 7e-2, 7e-1, 7e0, 7e1, 7e2, 7e3, 8e-5, | ||
| 9966 | 8e-4, 8e-3, 8e-2, 8e-1, 8e0, 8e1, 8e2, 8e3, | ||
| 9967 | 9e-5, 9e-4, 9e-3, 9e-2, 9e-1, 9e0, 9e1, 9e2, | ||
| 9968 | 9e3, 11e-5, 11e-4, 11e-3, 11e-2, 11e-1, 11e0, 11e1, | ||
| 9969 | 11e2, 11e3, 13e-5, 13e-4, 13e-3, 13e-2, 13e-1, 13e0, | ||
| 9970 | 13e1, 13e2, 13e3, 14e-5, 14e-4, 14e-3, 14e-2, 14e-1, | ||
| 9971 | 14e0, 14e1, 14e2, 14e3, 15e-5, 15e-4, 15e-3, 15e-2, | ||
| 9972 | 15e-1, 15e0, 15e1, 15e2, 15e3, 16e-5, 16e-4, 16e-3, | ||
| 9973 | }); | ||
| 9974 | try testArgs(@Vector(128, u32), @Vector(128, f32), .{ | ||
| 9975 | 16e-2, 16e-1, 16e0, 16e1, 16e2, 16e3, 17e-5, 17e-4, | ||
| 9976 | 17e-3, 17e-2, 17e-1, 17e0, 17e1, 17e2, 17e3, 18e-5, | ||
| 9977 | 18e-4, 18e-3, 18e-2, 18e-1, 18e0, 18e1, 18e2, 18e3, | ||
| 9978 | 19e-5, 19e-4, 19e-3, 19e-2, 19e-1, 19e0, 19e1, 19e2, | ||
| 9979 | 19e3, 21e-5, 21e-4, 21e-3, 21e-2, 21e-1, 21e0, 21e1, | ||
| 9980 | 21e2, 21e3, 22e-5, 22e-4, 22e-3, 22e-2, 22e-1, 22e0, | ||
| 9981 | 22e1, 22e2, 22e3, 23e-5, 23e-4, 23e-3, 23e-2, 23e-1, | ||
| 9982 | 23e0, 23e1, 23e2, 23e3, 24e-5, 24e-4, 24e-3, 24e-2, | ||
| 9983 | 24e-1, 24e0, 24e1, 24e2, 24e3, 25e-5, 25e-4, 25e-3, | ||
| 9984 | 25e-2, 25e-1, 25e0, 25e1, 25e2, 25e3, 26e-5, 26e-4, | ||
| 9985 | 26e-3, 26e-2, 26e-1, 26e0, 26e1, 26e2, 26e3, 27e-5, | ||
| 9986 | 27e-4, 27e-3, 27e-2, 27e-1, 27e0, 27e1, 27e2, 27e3, | ||
| 9987 | 28e-5, 28e-4, 28e-3, 28e-2, 28e-1, 28e0, 28e1, 28e2, | ||
| 9988 | 28e3, 29e-5, 29e-4, 29e-3, 29e-2, 29e-1, 29e0, 29e1, | ||
| 9989 | 29e2, 29e3, 31e-5, 31e-4, 31e-3, 31e-2, 31e-1, 31e0, | ||
| 9990 | 31e1, 31e2, 31e3, 32e-5, 32e-4, 32e-3, 32e-2, 32e-1, | ||
| 9991 | }); | ||
| 9992 | |||
| 9993 | try testArgs(@Vector(1, i64), @Vector(1, f32), .{ | ||
| 9994 | -0x0.8p64, | ||
| 9995 | }); | ||
| 9996 | try testArgs(@Vector(2, i64), @Vector(2, f32), .{ | ||
| 9997 | next(f32, -0x0.8p64, -0.0), next(f32, next(f32, -0x0.8p64, -0.0), -0.0), | ||
| 9998 | }); | ||
| 9999 | try testArgs(@Vector(4, i64), @Vector(4, f32), .{ | ||
| 10000 | -1e4, -1e3, -1e2, -1e1, | ||
| 10001 | }); | ||
| 10002 | try testArgs(@Vector(8, i64), @Vector(8, f32), .{ | ||
| 10003 | -1e0, -1e-1, -1e-2, -1e-3, -1e-4, -1e-5, -0.0, 0.0, | ||
| 10004 | }); | ||
| 10005 | try testArgs(@Vector(16, i64), @Vector(16, f32), .{ | ||
| 10006 | 1e-5, 1e-4, 1e-3, 1e-2, 1e-1, 1e0, 1e1, 1e2, | ||
| 10007 | 1e3, 1e4, next(f32, next(f32, 0x0.8p64, 0.0), 0.0), next(f32, 0x0.8p64, 0.0), -2e4, -2e3, -2e2, -2e1, | ||
| 10008 | }); | ||
| 10009 | try testArgs(@Vector(32, i64), @Vector(32, f32), .{ | ||
| 10010 | -2e0, -2e-1, -2e-2, -2e-3, -2e-4, -2e-5, 2e-5, 2e-4, | ||
| 10011 | 2e-3, 2e-2, 2e-1, 2e0, 2e1, 2e2, 2e3, 2e4, | ||
| 10012 | -3e4, -3e3, -3e2, -3e1, -3e0, -3e-1, -3e-2, -3e-3, | ||
| 10013 | -3e-4, -3e-5, 3e-5, 3e-4, 3e-3, 3e-2, 3e-1, 3e0, | ||
| 10014 | }); | ||
| 10015 | try testArgs(@Vector(64, i64), @Vector(64, f32), .{ | ||
| 10016 | 3e1, 3e2, 3e3, 3e4, -4e3, -4e2, -4e1, -4e0, | ||
| 10017 | -4e-1, -4e-2, -4e-3, -4e-4, -4e-5, 4e-5, 4e-4, 4e-3, | ||
| 10018 | 4e-2, 4e-1, 4e0, 4e1, 4e2, 4e3, -5e3, -5e2, | ||
| 10019 | -5e1, -5e0, -5e-1, -5e-2, -5e-3, -5e-4, -5e-5, 5e-5, | ||
| 10020 | 5e-4, 5e-3, 5e-2, 5e-1, 5e0, 5e1, 5e2, 5e3, | ||
| 10021 | -6e3, -6e2, -6e1, -6e0, -6e-1, -6e-2, -6e-3, -6e-4, | ||
| 10022 | -6e-5, 6e-5, 6e-4, 6e-3, 6e-2, 6e-1, 6e0, 6e1, | ||
| 10023 | 6e2, 6e3, -7e3, -7e2, -7e1, -7e0, -7e-1, -7e-2, | ||
| 10024 | }); | ||
| 10025 | try testArgs(@Vector(128, i64), @Vector(128, f32), .{ | ||
| 10026 | -7e-3, -7e-4, -7e-5, 7e-5, 7e-4, 7e-3, 7e-2, 7e-1, | ||
| 10027 | 7e0, 7e1, 7e2, 7e3, -8e3, -8e2, -8e1, -8e0, | ||
| 10028 | -8e-1, -8e-2, -8e-3, -8e-4, -8e-5, 8e-5, 8e-4, 8e-3, | ||
| 10029 | 8e-2, 8e-1, 8e0, 8e1, 8e2, 8e3, -9e3, -9e2, | ||
| 10030 | -9e1, -9e0, -9e-1, -9e-2, -9e-3, -9e-4, -9e-5, 9e-5, | ||
| 10031 | 9e-4, 9e-3, 9e-2, 9e-1, 9e0, 9e1, 9e2, 9e3, | ||
| 10032 | -11e3, -11e2, -11e1, -11e0, -11e-1, -11e-2, -11e-3, -11e-4, | ||
| 10033 | -11e-5, 11e-5, 11e-4, 11e-3, 11e-2, 11e-1, 11e0, 11e1, | ||
| 10034 | 11e2, 11e3, -12e3, -12e2, -12e1, -12e0, -12e-1, -12e-2, | ||
| 10035 | -12e-3, -12e-4, -12e-5, 12e-5, 12e-4, 12e-3, 12e-2, 12e-1, | ||
| 10036 | 12e0, 12e1, 12e2, 12e3, -13e3, -13e2, -13e1, -13e0, | ||
| 10037 | -13e-1, -13e-2, -13e-3, -13e-4, -13e-5, 13e-5, 13e-4, 13e-3, | ||
| 10038 | 13e-2, 13e-1, 13e0, 13e1, 13e2, -14e2, -14e1, -14e0, | ||
| 10039 | -14e-1, -14e-2, -14e-3, -14e-4, -14e-5, 14e-5, 14e-4, 14e-3, | ||
| 10040 | 14e-2, 14e-1, 14e0, 14e1, 14e2, 14e3, -15e3, -15e2, | ||
| 10041 | -15e1, -15e0, -15e-1, -15e-2, -15e-3, -15e-4, -15e-5, 15e-5, | ||
| 10042 | }); | ||
| 10043 | |||
| 10044 | try testArgs(@Vector(1, u64), @Vector(1, f32), .{ | ||
| 10045 | -0.0, | ||
| 10046 | }); | ||
| 10047 | try testArgs(@Vector(2, u64), @Vector(2, f32), .{ | ||
| 10048 | 0.0, 1e-5, | ||
| 10049 | }); | ||
| 10050 | try testArgs(@Vector(4, u64), @Vector(4, f32), .{ | ||
| 10051 | 1e-4, 1e-3, 1e-2, 1e-1, | ||
| 10052 | }); | ||
| 10053 | try testArgs(@Vector(8, u64), @Vector(8, f32), .{ | ||
| 10054 | 1e0, 1e1, 1e2, 1e3, 1e4, next(f32, next(f32, 0x1p64, 0.0), 0.0), next(f32, 0x1p64, 0.0), 2e-5, | ||
| 10055 | }); | ||
| 10056 | try testArgs(@Vector(16, u64), @Vector(16, f32), .{ | ||
| 10057 | 2e-4, 2e-3, 2e-2, 2e-1, 2e0, 2e1, 2e2, 2e3, | ||
| 10058 | 2e4, 3e-5, 3e-4, 3e-3, 3e-2, 3e-1, 3e0, 3e1, | ||
| 10059 | }); | ||
| 10060 | try testArgs(@Vector(32, u64), @Vector(32, f32), .{ | ||
| 10061 | 3e2, 3e3, 3e4, 4e-5, 4e-4, 4e-3, 4e-2, 4e-1, | ||
| 10062 | 4e0, 4e1, 4e2, 4e3, 5e-5, 5e-4, 5e-3, 5e-2, | ||
| 10063 | 5e-1, 5e0, 5e1, 5e2, 5e3, 6e-5, 6e-4, 6e-3, | ||
| 10064 | 6e-2, 6e-1, 6e0, 6e1, 6e2, 6e3, 7e-5, 7e-4, | ||
| 10065 | }); | ||
| 10066 | try testArgs(@Vector(64, u64), @Vector(64, f32), .{ | ||
| 10067 | 7e-3, 7e-2, 7e-1, 7e0, 7e1, 7e2, 7e3, 8e-5, | ||
| 10068 | 8e-4, 8e-3, 8e-2, 8e-1, 8e0, 8e1, 8e2, 8e3, | ||
| 10069 | 9e-5, 9e-4, 9e-3, 9e-2, 9e-1, 9e0, 9e1, 9e2, | ||
| 10070 | 9e3, 11e-5, 11e-4, 11e-3, 11e-2, 11e-1, 11e0, 11e1, | ||
| 10071 | 11e2, 11e3, 13e-5, 13e-4, 13e-3, 13e-2, 13e-1, 13e0, | ||
| 10072 | 13e1, 13e2, 13e3, 14e-5, 14e-4, 14e-3, 14e-2, 14e-1, | ||
| 10073 | 14e0, 14e1, 14e2, 14e3, 15e-5, 15e-4, 15e-3, 15e-2, | ||
| 10074 | 15e-1, 15e0, 15e1, 15e2, 15e3, 16e-5, 16e-4, 16e-3, | ||
| 10075 | }); | ||
| 10076 | try testArgs(@Vector(128, u64), @Vector(128, f32), .{ | ||
| 10077 | 16e-2, 16e-1, 16e0, 16e1, 16e2, 16e3, 17e-5, 17e-4, | ||
| 10078 | 17e-3, 17e-2, 17e-1, 17e0, 17e1, 17e2, 17e3, 18e-5, | ||
| 10079 | 18e-4, 18e-3, 18e-2, 18e-1, 18e0, 18e1, 18e2, 18e3, | ||
| 10080 | 19e-5, 19e-4, 19e-3, 19e-2, 19e-1, 19e0, 19e1, 19e2, | ||
| 10081 | 19e3, 21e-5, 21e-4, 21e-3, 21e-2, 21e-1, 21e0, 21e1, | ||
| 10082 | 21e2, 21e3, 22e-5, 22e-4, 22e-3, 22e-2, 22e-1, 22e0, | ||
| 10083 | 22e1, 22e2, 22e3, 23e-5, 23e-4, 23e-3, 23e-2, 23e-1, | ||
| 10084 | 23e0, 23e1, 23e2, 23e3, 24e-5, 24e-4, 24e-3, 24e-2, | ||
| 10085 | 24e-1, 24e0, 24e1, 24e2, 24e3, 25e-5, 25e-4, 25e-3, | ||
| 10086 | 25e-2, 25e-1, 25e0, 25e1, 25e2, 25e3, 26e-5, 26e-4, | ||
| 10087 | 26e-3, 26e-2, 26e-1, 26e0, 26e1, 26e2, 26e3, 27e-5, | ||
| 10088 | 27e-4, 27e-3, 27e-2, 27e-1, 27e0, 27e1, 27e2, 27e3, | ||
| 10089 | 28e-5, 28e-4, 28e-3, 28e-2, 28e-1, 28e0, 28e1, 28e2, | ||
| 10090 | 28e3, 29e-5, 29e-4, 29e-3, 29e-2, 29e-1, 29e0, 29e1, | ||
| 10091 | 29e2, 29e3, 31e-5, 31e-4, 31e-3, 31e-2, 31e-1, 31e0, | ||
| 10092 | 31e1, 31e2, 31e3, 32e-5, 32e-4, 32e-3, 32e-2, 32e-1, | ||
| 10093 | }); | ||
| 10094 | |||
| 10095 | try testArgs(@Vector(1, i128), @Vector(1, f32), .{ | ||
| 10096 | -0x0.8p128, | ||
| 10097 | }); | ||
| 10098 | try testArgs(@Vector(2, i128), @Vector(2, f32), .{ | ||
| 10099 | next(f32, -0x0.8p128, -0.0), next(f32, next(f32, -0x0.8p128, -0.0), -0.0), | ||
| 10100 | }); | ||
| 10101 | try testArgs(@Vector(4, i128), @Vector(4, f32), .{ | ||
| 10102 | -1e4, -1e3, -1e2, -1e1, | ||
| 10103 | }); | ||
| 10104 | try testArgs(@Vector(8, i128), @Vector(8, f32), .{ | ||
| 10105 | -1e0, -1e-1, -1e-2, -1e-3, -1e-4, -1e-5, -0.0, 0.0, | ||
| 10106 | }); | ||
| 10107 | try testArgs(@Vector(16, i128), @Vector(16, f32), .{ | ||
| 10108 | 1e-5, 1e-4, 1e-3, 1e-2, 1e-1, 1e0, 1e1, 1e2, | ||
| 10109 | 1e3, 1e4, next(f32, next(f32, 0x0.8p128, 0.0), 0.0), next(f32, 0x0.8p128, 0.0), -2e4, -2e3, -2e2, -2e1, | ||
| 10110 | }); | ||
| 10111 | try testArgs(@Vector(32, i128), @Vector(32, f32), .{ | ||
| 10112 | -2e0, -2e-1, -2e-2, -2e-3, -2e-4, -2e-5, 2e-5, 2e-4, | ||
| 10113 | 2e-3, 2e-2, 2e-1, 2e0, 2e1, 2e2, 2e3, 2e4, | ||
| 10114 | -3e4, -3e3, -3e2, -3e1, -3e0, -3e-1, -3e-2, -3e-3, | ||
| 10115 | -3e-4, -3e-5, 3e-5, 3e-4, 3e-3, 3e-2, 3e-1, 3e0, | ||
| 10116 | }); | ||
| 10117 | try testArgs(@Vector(64, i128), @Vector(64, f32), .{ | ||
| 10118 | 3e1, 3e2, 3e3, 3e4, -4e3, -4e2, -4e1, -4e0, | ||
| 10119 | -4e-1, -4e-2, -4e-3, -4e-4, -4e-5, 4e-5, 4e-4, 4e-3, | ||
| 10120 | 4e-2, 4e-1, 4e0, 4e1, 4e2, 4e3, -5e3, -5e2, | ||
| 10121 | -5e1, -5e0, -5e-1, -5e-2, -5e-3, -5e-4, -5e-5, 5e-5, | ||
| 10122 | 5e-4, 5e-3, 5e-2, 5e-1, 5e0, 5e1, 5e2, 5e3, | ||
| 10123 | -6e3, -6e2, -6e1, -6e0, -6e-1, -6e-2, -6e-3, -6e-4, | ||
| 10124 | -6e-5, 6e-5, 6e-4, 6e-3, 6e-2, 6e-1, 6e0, 6e1, | ||
| 10125 | 6e2, 6e3, -7e3, -7e2, -7e1, -7e0, -7e-1, -7e-2, | ||
| 10126 | }); | ||
| 10127 | |||
| 10128 | try testArgs(@Vector(1, u128), @Vector(1, f32), .{ | ||
| 10129 | -0.0, | ||
| 10130 | }); | ||
| 10131 | try testArgs(@Vector(2, u128), @Vector(2, f32), .{ | ||
| 10132 | 0.0, 1e-5, | ||
| 10133 | }); | ||
| 10134 | try testArgs(@Vector(4, u128), @Vector(4, f32), .{ | ||
| 10135 | 1e-4, 1e-3, 1e-2, 1e-1, | ||
| 10136 | }); | ||
| 10137 | try testArgs(@Vector(8, u128), @Vector(8, f32), .{ | ||
| 10138 | 1e0, 1e1, 1e2, 1e3, 1e4, next(f32, next(f32, fmax(f32), 0.0), 0.0), next(f32, fmax(f32), 0.0), 2e-5, | ||
| 10139 | }); | ||
| 10140 | try testArgs(@Vector(16, u128), @Vector(16, f32), .{ | ||
| 10141 | 2e-4, 2e-3, 2e-2, 2e-1, 2e0, 2e1, 2e2, 2e3, | ||
| 10142 | 2e4, 3e-5, 3e-4, 3e-3, 3e-2, 3e-1, 3e0, 3e1, | ||
| 10143 | }); | ||
| 10144 | try testArgs(@Vector(32, u128), @Vector(32, f32), .{ | ||
| 10145 | 3e2, 3e3, 3e4, 4e-5, 4e-4, 4e-3, 4e-2, 4e-1, | ||
| 10146 | 4e0, 4e1, 4e2, 4e3, 5e-5, 5e-4, 5e-3, 5e-2, | ||
| 10147 | 5e-1, 5e0, 5e1, 5e2, 5e3, 6e-5, 6e-4, 6e-3, | ||
| 10148 | 6e-2, 6e-1, 6e0, 6e1, 6e2, 6e3, 7e-5, 7e-4, | ||
| 10149 | }); | ||
| 10150 | try testArgs(@Vector(64, u128), @Vector(64, f32), .{ | ||
| 10151 | 7e-3, 7e-2, 7e-1, 7e0, 7e1, 7e2, 7e3, 8e-5, | ||
| 10152 | 8e-4, 8e-3, 8e-2, 8e-1, 8e0, 8e1, 8e2, 8e3, | ||
| 10153 | 9e-5, 9e-4, 9e-3, 9e-2, 9e-1, 9e0, 9e1, 9e2, | ||
| 10154 | 9e3, 11e-5, 11e-4, 11e-3, 11e-2, 11e-1, 11e0, 11e1, | ||
| 10155 | 11e2, 11e3, 13e-5, 13e-4, 13e-3, 13e-2, 13e-1, 13e0, | ||
| 10156 | 13e1, 13e2, 13e3, 14e-5, 14e-4, 14e-3, 14e-2, 14e-1, | ||
| 10157 | 14e0, 14e1, 14e2, 14e3, 15e-5, 15e-4, 15e-3, 15e-2, | ||
| 10158 | 15e-1, 15e0, 15e1, 15e2, 15e3, 16e-5, 16e-4, 16e-3, | ||
| 10159 | }); | ||
| 10160 | |||
| 10161 | try testArgs(@Vector(1, i256), @Vector(1, f32), .{ | ||
| 10162 | -fmax(f32), | ||
| 10163 | }); | ||
| 10164 | try testArgs(@Vector(2, i256), @Vector(2, f32), .{ | ||
| 10165 | next(f32, -fmax(f32), -0.0), next(f32, next(f32, -fmax(f32), -0.0), -0.0), | ||
| 10166 | }); | ||
| 10167 | try testArgs(@Vector(4, i256), @Vector(4, f32), .{ | ||
| 10168 | -1e4, -1e3, -1e2, -1e1, | ||
| 10169 | }); | ||
| 10170 | try testArgs(@Vector(8, i256), @Vector(8, f32), .{ | ||
| 10171 | -1e0, -1e-1, -1e-2, -1e-3, -1e-4, -1e-5, -0.0, 0.0, | ||
| 10172 | }); | ||
| 10173 | try testArgs(@Vector(16, i256), @Vector(16, f32), .{ | ||
| 10174 | 1e-5, 1e-4, 1e-3, 1e-2, 1e-1, 1e0, 1e1, 1e2, | ||
| 10175 | 1e3, 1e4, next(f32, next(f32, fmax(f32), 0.0), 0.0), next(f32, fmax(f32), 0.0), -2e4, -2e3, -2e2, -2e1, | ||
| 10176 | }); | ||
| 10177 | try testArgs(@Vector(32, i256), @Vector(32, f32), .{ | ||
| 10178 | -2e0, -2e-1, -2e-2, -2e-3, -2e-4, -2e-5, 2e-5, 2e-4, | ||
| 10179 | 2e-3, 2e-2, 2e-1, 2e0, 2e1, 2e2, 2e3, 2e4, | ||
| 10180 | -3e4, -3e3, -3e2, -3e1, -3e0, -3e-1, -3e-2, -3e-3, | ||
| 10181 | -3e-4, -3e-5, 3e-5, 3e-4, 3e-3, 3e-2, 3e-1, 3e0, | ||
| 10182 | }); | ||
| 10183 | try testArgs(@Vector(64, i256), @Vector(64, f32), .{ | ||
| 10184 | 3e1, 3e2, 3e3, 3e4, -4e3, -4e2, -4e1, -4e0, | ||
| 10185 | -4e-1, -4e-2, -4e-3, -4e-4, -4e-5, 4e-5, 4e-4, 4e-3, | ||
| 10186 | 4e-2, 4e-1, 4e0, 4e1, 4e2, 4e3, -5e3, -5e2, | ||
| 10187 | -5e1, -5e0, -5e-1, -5e-2, -5e-3, -5e-4, -5e-5, 5e-5, | ||
| 10188 | 5e-4, 5e-3, 5e-2, 5e-1, 5e0, 5e1, 5e2, 5e3, | ||
| 10189 | -6e3, -6e2, -6e1, -6e0, -6e-1, -6e-2, -6e-3, -6e-4, | ||
| 10190 | -6e-5, 6e-5, 6e-4, 6e-3, 6e-2, 6e-1, 6e0, 6e1, | ||
| 10191 | 6e2, 6e3, -7e3, -7e2, -7e1, -7e0, -7e-1, -7e-2, | ||
| 10192 | }); | ||
| 10193 | |||
| 10194 | try testArgs(@Vector(1, u256), @Vector(1, f32), .{ | ||
| 10195 | -0.0, | ||
| 10196 | }); | ||
| 10197 | try testArgs(@Vector(2, u256), @Vector(2, f32), .{ | ||
| 10198 | 0.0, 1e-5, | ||
| 10199 | }); | ||
| 10200 | try testArgs(@Vector(4, u256), @Vector(4, f32), .{ | ||
| 10201 | 1e-4, 1e-3, 1e-2, 1e-1, | ||
| 10202 | }); | ||
| 10203 | try testArgs(@Vector(8, u256), @Vector(8, f32), .{ | ||
| 10204 | 1e0, 1e1, 1e2, 1e3, 1e4, next(f32, next(f32, fmax(f32), 0.0), 0.0), next(f32, fmax(f32), 0.0), 2e-5, | ||
| 10205 | }); | ||
| 10206 | try testArgs(@Vector(16, u256), @Vector(16, f32), .{ | ||
| 10207 | 2e-4, 2e-3, 2e-2, 2e-1, 2e0, 2e1, 2e2, 2e3, | ||
| 10208 | 2e4, 3e-5, 3e-4, 3e-3, 3e-2, 3e-1, 3e0, 3e1, | ||
| 10209 | }); | ||
| 10210 | try testArgs(@Vector(32, u256), @Vector(32, f32), .{ | ||
| 10211 | 3e2, 3e3, 3e4, 4e-5, 4e-4, 4e-3, 4e-2, 4e-1, | ||
| 10212 | 4e0, 4e1, 4e2, 4e3, 5e-5, 5e-4, 5e-3, 5e-2, | ||
| 10213 | 5e-1, 5e0, 5e1, 5e2, 5e3, 6e-5, 6e-4, 6e-3, | ||
| 10214 | 6e-2, 6e-1, 6e0, 6e1, 6e2, 6e3, 7e-5, 7e-4, | ||
| 10215 | }); | ||
| 10216 | try testArgs(@Vector(64, u256), @Vector(64, f32), .{ | ||
| 10217 | 7e-3, 7e-2, 7e-1, 7e0, 7e1, 7e2, 7e3, 8e-5, | ||
| 10218 | 8e-4, 8e-3, 8e-2, 8e-1, 8e0, 8e1, 8e2, 8e3, | ||
| 10219 | 9e-5, 9e-4, 9e-3, 9e-2, 9e-1, 9e0, 9e1, 9e2, | ||
| 10220 | 9e3, 11e-5, 11e-4, 11e-3, 11e-2, 11e-1, 11e0, 11e1, | ||
| 10221 | 11e2, 11e3, 13e-5, 13e-4, 13e-3, 13e-2, 13e-1, 13e0, | ||
| 10222 | 13e1, 13e2, 13e3, 14e-5, 14e-4, 14e-3, 14e-2, 14e-1, | ||
| 10223 | 14e0, 14e1, 14e2, 14e3, 15e-5, 15e-4, 15e-3, 15e-2, | ||
| 10224 | 15e-1, 15e0, 15e1, 15e2, 15e3, 16e-5, 16e-4, 16e-3, | ||
| 10225 | }); | ||
| 10226 | |||
| 10227 | try testArgs(@Vector(1, i8), @Vector(1, f64), .{ | ||
| 10228 | -0x0.8p8, | ||
| 10229 | }); | ||
| 10230 | try testArgs(@Vector(2, i8), @Vector(2, f64), .{ | ||
| 10231 | next(f64, -0x0.8p8, -0.0), next(f64, next(f64, -0x0.8p8, -0.0), -0.0), | ||
| 10232 | }); | ||
| 10233 | try testArgs(@Vector(4, i8), @Vector(4, f64), .{ | ||
| 10234 | -1e2, -1e1, -1e0, -1e-1, | ||
| 10235 | }); | ||
| 10236 | try testArgs(@Vector(8, i8), @Vector(8, f64), .{ | ||
| 10237 | -1e-2, -1e-3, -1e-4, -1e-5, -0.0, 0.0, 1e-5, 1e-4, | ||
| 10238 | }); | ||
| 10239 | try testArgs(@Vector(16, i8), @Vector(16, f64), .{ | ||
| 10240 | 1e-3, 1e-2, 1e-1, 1e0, 1e1, 1e2, next(f64, next(f64, 0x0.8p8, 0.0), 0.0), next(f64, 0x0.8p8, 0.0), | ||
| 10241 | -2e1, -2e0, -2e-1, -2e-2, -2e-3, -2e-4, -2e-5, 2e-5, | ||
| 10242 | }); | ||
| 10243 | try testArgs(@Vector(32, i8), @Vector(32, f64), .{ | ||
| 10244 | 2e-4, 2e-3, 2e-2, 2e-1, 2e0, 2e1, -3e1, -3e0, | ||
| 10245 | -3e-1, -3e-2, -3e-3, -3e-4, -3e-5, 3e-5, 3e-4, 3e-3, | ||
| 10246 | 3e-2, 3e-1, 3e0, 3e1, -4e1, -4e0, -4e-1, -4e-2, | ||
| 10247 | -4e-3, -4e-4, -4e-5, 4e-5, 4e-4, 4e-3, 4e-2, 4e-1, | ||
| 10248 | }); | ||
| 10249 | try testArgs(@Vector(64, i8), @Vector(64, f64), .{ | ||
| 10250 | 4e0, 4e1, -5e1, -5e0, -5e-1, -5e-2, -5e-3, -5e-4, | ||
| 10251 | -5e-5, 5e-5, 5e-4, 5e-3, 5e-2, 5e-1, 5e0, 5e1, | ||
| 10252 | -6e1, -6e0, -6e-1, -6e-2, -6e-3, -6e-4, -6e-5, 6e-5, | ||
| 10253 | 6e-4, 6e-3, 6e-2, 6e-1, 6e0, 6e1, -7e1, -7e0, | ||
| 10254 | -7e-1, -7e-2, -7e-3, -7e-4, -7e-5, 7e-5, 7e-4, 7e-3, | ||
| 10255 | 7e-2, 7e-1, 7e0, 7e1, -8e1, -8e0, -8e-1, -8e-2, | ||
| 10256 | -8e-3, -8e-4, -8e-5, 8e-5, 8e-4, 8e-3, 8e-2, 8e-1, | ||
| 10257 | 8e0, 8e1, -9e1, -9e0, -9e-1, -9e-2, -9e-3, -9e-4, | ||
| 10258 | }); | ||
| 10259 | try testArgs(@Vector(128, i8), @Vector(128, f64), .{ | ||
| 10260 | -9e-5, 9e-5, 9e-4, 9e-3, 9e-2, 9e-1, 9e0, 9e1, | ||
| 10261 | -11e1, -11e0, -11e-1, -11e-2, -11e-3, -11e-4, -11e-5, 11e-5, | ||
| 10262 | 11e-4, 11e-3, 11e-2, 11e-1, 11e0, 11e1, -12e1, -12e0, | ||
| 10263 | -12e-1, -12e-2, -12e-3, -12e-4, -12e-5, 12e-5, 12e-4, 12e-3, | ||
| 10264 | 12e-2, 12e-1, 12e0, 12e1, -13e0, -13e-1, -13e-2, -13e-3, | ||
| 10265 | -13e-4, -13e-5, 13e-5, 13e-4, 13e-3, 13e-2, 13e-1, 13e0, | ||
| 10266 | -14e0, -14e-1, -14e-2, -14e-3, -14e-4, -14e-5, 14e-5, 14e-4, | ||
| 10267 | 14e-3, 14e-2, 14e-1, 14e0, -15e0, -15e-1, -15e-2, -15e-3, | ||
| 10268 | -15e-4, -15e-5, 15e-5, 15e-4, 15e-3, 15e-2, 15e-1, 15e0, | ||
| 10269 | -16e0, -16e-1, -16e-2, -16e-3, -16e-4, -16e-5, 16e-5, 16e-4, | ||
| 10270 | 16e-3, 16e-2, 16e-1, 16e0, -17e0, -17e-1, -17e-2, -17e-3, | ||
| 10271 | -17e-4, -17e-5, 17e-5, 17e-4, 17e-3, 17e-2, 17e-1, 17e0, | ||
| 10272 | -18e0, -18e-1, -18e-2, -18e-3, -18e-4, -18e-5, 18e-5, 18e-4, | ||
| 10273 | 18e-3, 18e-2, 18e-1, 18e0, -19e0, -19e-1, -19e-2, -19e-3, | ||
| 10274 | -19e-4, -19e-5, 19e-5, 19e-4, 19e-3, 19e-2, 19e-1, 19e0, | ||
| 10275 | -21e0, -21e-1, -21e-2, -21e-3, -21e-4, -21e-5, 21e-5, 21e-4, | ||
| 10276 | }); | ||
| 10277 | |||
| 10278 | try testArgs(@Vector(1, u8), @Vector(1, f64), .{ | ||
| 10279 | -0.0, | ||
| 10280 | }); | ||
| 10281 | try testArgs(@Vector(2, u8), @Vector(2, f64), .{ | ||
| 10282 | 0.0, 1e-5, | ||
| 10283 | }); | ||
| 10284 | try testArgs(@Vector(4, u8), @Vector(4, f64), .{ | ||
| 10285 | 1e-4, 1e-3, 1e-2, 1e-1, | ||
| 10286 | }); | ||
| 10287 | try testArgs(@Vector(8, u8), @Vector(8, f64), .{ | ||
| 10288 | 1e0, 1e1, 1e2, next(f64, next(f64, 0x1p8, 0.0), 0.0), next(f64, 0x1p8, 0.0), 2e-5, 2e-4, 2e-3, | ||
| 10289 | }); | ||
| 10290 | try testArgs(@Vector(16, u8), @Vector(16, f64), .{ | ||
| 10291 | 2e-2, 2e-1, 2e0, 2e1, 2e2, 3e-5, 3e-4, 3e-3, | ||
| 10292 | 3e-2, 3e-1, 3e0, 3e1, 4e-5, 4e-4, 4e-3, 4e-2, | ||
| 10293 | }); | ||
| 10294 | try testArgs(@Vector(32, u8), @Vector(32, f64), .{ | ||
| 10295 | 4e-1, 4e0, 4e1, 5e-5, 5e-4, 5e-3, 5e-2, 5e-1, | ||
| 10296 | 5e0, 5e1, 6e-5, 6e-4, 6e-3, 6e-2, 6e-1, 6e0, | ||
| 10297 | 6e1, 7e-5, 7e-4, 7e-3, 7e-2, 7e-1, 7e0, 7e1, | ||
| 10298 | 8e-5, 8e-4, 8e-3, 8e-2, 8e-1, 8e0, 8e1, 9e-5, | ||
| 10299 | }); | ||
| 10300 | try testArgs(@Vector(64, u8), @Vector(64, f64), .{ | ||
| 10301 | 9e-4, 9e-3, 9e-2, 9e-1, 9e0, 9e1, 11e-5, 11e-4, | ||
| 10302 | 11e-3, 11e-2, 11e-1, 11e0, 11e1, 13e-5, 13e-4, 13e-3, | ||
| 10303 | 13e-2, 13e-1, 13e0, 14e-5, 14e-4, 14e-3, 14e-2, 14e-1, | ||
| 10304 | 14e0, 14e1, 15e-5, 15e-4, 15e-3, 15e-2, 15e-1, 15e0, | ||
| 10305 | 15e1, 16e-5, 16e-4, 16e-3, 16e-2, 16e-1, 16e0, 16e1, | ||
| 10306 | 17e-5, 17e-4, 17e-3, 17e-2, 17e-1, 17e0, 17e1, 18e-5, | ||
| 10307 | 18e-4, 18e-3, 18e-2, 18e-1, 18e0, 18e1, 19e-5, 19e-4, | ||
| 10308 | 19e-3, 19e-2, 19e-1, 19e0, 19e1, 21e-5, 21e-4, 21e-3, | ||
| 10309 | }); | ||
| 10310 | try testArgs(@Vector(128, u8), @Vector(128, f64), .{ | ||
| 10311 | 21e-2, 21e-1, 21e0, 21e1, 22e-5, 22e-4, 22e-3, 22e-2, | ||
| 10312 | 22e-1, 22e0, 22e1, 23e-5, 23e-4, 23e-3, 23e-2, 23e-1, | ||
| 10313 | 23e0, 23e1, 24e-5, 24e-4, 24e-3, 24e-2, 24e-1, 24e0, | ||
| 10314 | 24e1, 25e-5, 25e-4, 25e-3, 25e-2, 25e-1, 25e0, 25e1, | ||
| 10315 | 26e-5, 26e-4, 26e-3, 26e-2, 26e-1, 26e0, 27e-5, 27e-4, | ||
| 10316 | 27e-3, 27e-2, 27e-1, 27e0, 28e-5, 28e-4, 28e-3, 28e-2, | ||
| 10317 | 28e-1, 28e0, 29e-5, 29e-4, 29e-3, 29e-2, 29e-1, 29e0, | ||
| 10318 | 31e-5, 31e-4, 31e-3, 31e-2, 31e-1, 31e0, 32e-5, 32e-4, | ||
| 10319 | 32e-3, 32e-2, 32e-1, 32e0, 33e-5, 33e-4, 33e-3, 33e-2, | ||
| 10320 | 33e-1, 33e0, 34e-5, 34e-4, 34e-3, 34e-2, 34e-1, 34e0, | ||
| 10321 | 35e-5, 35e-4, 35e-3, 35e-2, 35e-1, 35e0, 36e-5, 36e-4, | ||
| 10322 | 36e-3, 36e-2, 36e-1, 36e0, 37e-5, 37e-4, 37e-3, 37e-2, | ||
| 10323 | 37e-1, 37e0, 38e-5, 38e-4, 38e-3, 38e-2, 38e-1, 38e0, | ||
| 10324 | 39e-5, 39e-4, 39e-3, 39e-2, 39e-1, 39e0, 41e-5, 41e-4, | ||
| 10325 | 41e-3, 41e-2, 41e-1, 41e0, 42e-5, 42e-4, 42e-3, 42e-2, | ||
| 10326 | 42e-1, 42e0, 43e-5, 43e-4, 43e-3, 43e-2, 43e-1, 43e0, | ||
| 10327 | }); | ||
| 10328 | |||
| 10329 | try testArgs(@Vector(1, i16), @Vector(1, f64), .{ | ||
| 10330 | -0x0.8p16, | ||
| 10331 | }); | ||
| 10332 | try testArgs(@Vector(2, i16), @Vector(2, f64), .{ | ||
| 10333 | next(f64, -0x0.8p16, -0.0), next(f64, next(f64, -0x0.8p16, -0.0), -0.0), | ||
| 10334 | }); | ||
| 10335 | try testArgs(@Vector(4, i16), @Vector(4, f64), .{ | ||
| 10336 | -1e4, -1e3, -1e2, -1e1, | ||
| 10337 | }); | ||
| 10338 | try testArgs(@Vector(8, i16), @Vector(8, f64), .{ | ||
| 10339 | -1e0, -1e-1, -1e-2, -1e-3, -1e-4, -1e-5, -0.0, 0.0, | ||
| 10340 | }); | ||
| 10341 | try testArgs(@Vector(16, i16), @Vector(16, f64), .{ | ||
| 10342 | 1e-5, 1e-4, 1e-3, 1e-2, 1e-1, 1e0, 1e1, 1e2, | ||
| 10343 | 1e3, 1e4, next(f64, next(f64, 0x0.8p16, 0.0), 0.0), next(f64, 0x0.8p16, 0.0), -2e4, -2e3, -2e2, -2e1, | ||
| 10344 | }); | ||
| 10345 | try testArgs(@Vector(32, i16), @Vector(32, f64), .{ | ||
| 10346 | -2e0, -2e-1, -2e-2, -2e-3, -2e-4, -2e-5, 2e-5, 2e-4, | ||
| 10347 | 2e-3, 2e-2, 2e-1, 2e0, 2e1, 2e2, 2e3, 2e4, | ||
| 10348 | -3e4, -3e3, -3e2, -3e1, -3e0, -3e-1, -3e-2, -3e-3, | ||
| 10349 | -3e-4, -3e-5, 3e-5, 3e-4, 3e-3, 3e-2, 3e-1, 3e0, | ||
| 10350 | }); | ||
| 10351 | try testArgs(@Vector(64, i16), @Vector(64, f64), .{ | ||
| 10352 | 3e1, 3e2, 3e3, 3e4, -4e3, -4e2, -4e1, -4e0, | ||
| 10353 | -4e-1, -4e-2, -4e-3, -4e-4, -4e-5, 4e-5, 4e-4, 4e-3, | ||
| 10354 | 4e-2, 4e-1, 4e0, 4e1, 4e2, 4e3, -5e3, -5e2, | ||
| 10355 | -5e1, -5e0, -5e-1, -5e-2, -5e-3, -5e-4, -5e-5, 5e-5, | ||
| 10356 | 5e-4, 5e-3, 5e-2, 5e-1, 5e0, 5e1, 5e2, 5e3, | ||
| 10357 | -6e3, -6e2, -6e1, -6e0, -6e-1, -6e-2, -6e-3, -6e-4, | ||
| 10358 | -6e-5, 6e-5, 6e-4, 6e-3, 6e-2, 6e-1, 6e0, 6e1, | ||
| 10359 | 6e2, 6e3, -7e3, -7e2, -7e1, -7e0, -7e-1, -7e-2, | ||
| 10360 | }); | ||
| 10361 | try testArgs(@Vector(128, i16), @Vector(128, f64), .{ | ||
| 10362 | -7e-3, -7e-4, -7e-5, 7e-5, 7e-4, 7e-3, 7e-2, 7e-1, | ||
| 10363 | 7e0, 7e1, 7e2, 7e3, -8e3, -8e2, -8e1, -8e0, | ||
| 10364 | -8e-1, -8e-2, -8e-3, -8e-4, -8e-5, 8e-5, 8e-4, 8e-3, | ||
| 10365 | 8e-2, 8e-1, 8e0, 8e1, 8e2, 8e3, -9e3, -9e2, | ||
| 10366 | -9e1, -9e0, -9e-1, -9e-2, -9e-3, -9e-4, -9e-5, 9e-5, | ||
| 10367 | 9e-4, 9e-3, 9e-2, 9e-1, 9e0, 9e1, 9e2, 9e3, | ||
| 10368 | -11e3, -11e2, -11e1, -11e0, -11e-1, -11e-2, -11e-3, -11e-4, | ||
| 10369 | -11e-5, 11e-5, 11e-4, 11e-3, 11e-2, 11e-1, 11e0, 11e1, | ||
| 10370 | 11e2, 11e3, -12e3, -12e2, -12e1, -12e0, -12e-1, -12e-2, | ||
| 10371 | -12e-3, -12e-4, -12e-5, 12e-5, 12e-4, 12e-3, 12e-2, 12e-1, | ||
| 10372 | 12e0, 12e1, 12e2, 12e3, -13e3, -13e2, -13e1, -13e0, | ||
| 10373 | -13e-1, -13e-2, -13e-3, -13e-4, -13e-5, 13e-5, 13e-4, 13e-3, | ||
| 10374 | 13e-2, 13e-1, 13e0, 13e1, 13e2, -14e2, -14e1, -14e0, | ||
| 10375 | -14e-1, -14e-2, -14e-3, -14e-4, -14e-5, 14e-5, 14e-4, 14e-3, | ||
| 10376 | 14e-2, 14e-1, 14e0, 14e1, 14e2, 14e3, -15e3, -15e2, | ||
| 10377 | -15e1, -15e0, -15e-1, -15e-2, -15e-3, -15e-4, -15e-5, 15e-5, | ||
| 10378 | }); | ||
| 10379 | |||
| 10380 | try testArgs(@Vector(1, u16), @Vector(1, f64), .{ | ||
| 10381 | -0.0, | ||
| 10382 | }); | ||
| 10383 | try testArgs(@Vector(2, u16), @Vector(2, f64), .{ | ||
| 10384 | 0.0, 1e-5, | ||
| 10385 | }); | ||
| 10386 | try testArgs(@Vector(4, u16), @Vector(4, f64), .{ | ||
| 10387 | 1e-4, 1e-3, 1e-2, 1e-1, | ||
| 10388 | }); | ||
| 10389 | try testArgs(@Vector(8, u16), @Vector(8, f64), .{ | ||
| 10390 | 1e0, 1e1, 1e2, 1e3, 1e4, next(f64, next(f64, 0x1p16, 0.0), 0.0), next(f64, 0x1p16, 0.0), 2e-5, | ||
| 10391 | }); | ||
| 10392 | try testArgs(@Vector(16, u16), @Vector(16, f64), .{ | ||
| 10393 | 2e-4, 2e-3, 2e-2, 2e-1, 2e0, 2e1, 2e2, 2e3, | ||
| 10394 | 2e4, 3e-5, 3e-4, 3e-3, 3e-2, 3e-1, 3e0, 3e1, | ||
| 10395 | }); | ||
| 10396 | try testArgs(@Vector(32, u16), @Vector(32, f64), .{ | ||
| 10397 | 3e2, 3e3, 3e4, 4e-5, 4e-4, 4e-3, 4e-2, 4e-1, | ||
| 10398 | 4e0, 4e1, 4e2, 4e3, 5e-5, 5e-4, 5e-3, 5e-2, | ||
| 10399 | 5e-1, 5e0, 5e1, 5e2, 5e3, 6e-5, 6e-4, 6e-3, | ||
| 10400 | 6e-2, 6e-1, 6e0, 6e1, 6e2, 6e3, 7e-5, 7e-4, | ||
| 10401 | }); | ||
| 10402 | try testArgs(@Vector(64, u16), @Vector(64, f64), .{ | ||
| 10403 | 7e-3, 7e-2, 7e-1, 7e0, 7e1, 7e2, 7e3, 8e-5, | ||
| 10404 | 8e-4, 8e-3, 8e-2, 8e-1, 8e0, 8e1, 8e2, 8e3, | ||
| 10405 | 9e-5, 9e-4, 9e-3, 9e-2, 9e-1, 9e0, 9e1, 9e2, | ||
| 10406 | 9e3, 11e-5, 11e-4, 11e-3, 11e-2, 11e-1, 11e0, 11e1, | ||
| 10407 | 11e2, 11e3, 13e-5, 13e-4, 13e-3, 13e-2, 13e-1, 13e0, | ||
| 10408 | 13e1, 13e2, 13e3, 14e-5, 14e-4, 14e-3, 14e-2, 14e-1, | ||
| 10409 | 14e0, 14e1, 14e2, 14e3, 15e-5, 15e-4, 15e-3, 15e-2, | ||
| 10410 | 15e-1, 15e0, 15e1, 15e2, 15e3, 16e-5, 16e-4, 16e-3, | ||
| 10411 | }); | ||
| 10412 | try testArgs(@Vector(128, u16), @Vector(128, f64), .{ | ||
| 10413 | 16e-2, 16e-1, 16e0, 16e1, 16e2, 16e3, 17e-5, 17e-4, | ||
| 10414 | 17e-3, 17e-2, 17e-1, 17e0, 17e1, 17e2, 17e3, 18e-5, | ||
| 10415 | 18e-4, 18e-3, 18e-2, 18e-1, 18e0, 18e1, 18e2, 18e3, | ||
| 10416 | 19e-5, 19e-4, 19e-3, 19e-2, 19e-1, 19e0, 19e1, 19e2, | ||
| 10417 | 19e3, 21e-5, 21e-4, 21e-3, 21e-2, 21e-1, 21e0, 21e1, | ||
| 10418 | 21e2, 21e3, 22e-5, 22e-4, 22e-3, 22e-2, 22e-1, 22e0, | ||
| 10419 | 22e1, 22e2, 22e3, 23e-5, 23e-4, 23e-3, 23e-2, 23e-1, | ||
| 10420 | 23e0, 23e1, 23e2, 23e3, 24e-5, 24e-4, 24e-3, 24e-2, | ||
| 10421 | 24e-1, 24e0, 24e1, 24e2, 24e3, 25e-5, 25e-4, 25e-3, | ||
| 10422 | 25e-2, 25e-1, 25e0, 25e1, 25e2, 25e3, 26e-5, 26e-4, | ||
| 10423 | 26e-3, 26e-2, 26e-1, 26e0, 26e1, 26e2, 26e3, 27e-5, | ||
| 10424 | 27e-4, 27e-3, 27e-2, 27e-1, 27e0, 27e1, 27e2, 27e3, | ||
| 10425 | 28e-5, 28e-4, 28e-3, 28e-2, 28e-1, 28e0, 28e1, 28e2, | ||
| 10426 | 28e3, 29e-5, 29e-4, 29e-3, 29e-2, 29e-1, 29e0, 29e1, | ||
| 10427 | 29e2, 29e3, 31e-5, 31e-4, 31e-3, 31e-2, 31e-1, 31e0, | ||
| 10428 | 31e1, 31e2, 31e3, 32e-5, 32e-4, 32e-3, 32e-2, 32e-1, | ||
| 10429 | }); | ||
| 10430 | |||
| 10431 | try testArgs(@Vector(1, i32), @Vector(1, f64), .{ | ||
| 10432 | -0x0.8p32, | ||
| 10433 | }); | ||
| 10434 | try testArgs(@Vector(2, i32), @Vector(2, f64), .{ | ||
| 10435 | next(f64, -0x0.8p32, -0.0), next(f64, next(f64, -0x0.8p32, -0.0), -0.0), | ||
| 10436 | }); | ||
| 10437 | try testArgs(@Vector(4, i32), @Vector(4, f64), .{ | ||
| 10438 | -1e4, -1e3, -1e2, -1e1, | ||
| 10439 | }); | ||
| 10440 | try testArgs(@Vector(8, i32), @Vector(8, f64), .{ | ||
| 10441 | -1e0, -1e-1, -1e-2, -1e-3, -1e-4, -1e-5, -0.0, 0.0, | ||
| 10442 | }); | ||
| 10443 | try testArgs(@Vector(16, i32), @Vector(16, f64), .{ | ||
| 10444 | 1e-5, 1e-4, 1e-3, 1e-2, 1e-1, 1e0, 1e1, 1e2, | ||
| 10445 | 1e3, 1e4, next(f64, next(f64, 0x0.8p32, 0.0), 0.0), next(f64, 0x0.8p32, 0.0), -2e4, -2e3, -2e2, -2e1, | ||
| 10446 | }); | ||
| 10447 | try testArgs(@Vector(32, i32), @Vector(32, f64), .{ | ||
| 10448 | -2e0, -2e-1, -2e-2, -2e-3, -2e-4, -2e-5, 2e-5, 2e-4, | ||
| 10449 | 2e-3, 2e-2, 2e-1, 2e0, 2e1, 2e2, 2e3, 2e4, | ||
| 10450 | -3e4, -3e3, -3e2, -3e1, -3e0, -3e-1, -3e-2, -3e-3, | ||
| 10451 | -3e-4, -3e-5, 3e-5, 3e-4, 3e-3, 3e-2, 3e-1, 3e0, | ||
| 10452 | }); | ||
| 10453 | try testArgs(@Vector(64, i32), @Vector(64, f64), .{ | ||
| 10454 | 3e1, 3e2, 3e3, 3e4, -4e3, -4e2, -4e1, -4e0, | ||
| 10455 | -4e-1, -4e-2, -4e-3, -4e-4, -4e-5, 4e-5, 4e-4, 4e-3, | ||
| 10456 | 4e-2, 4e-1, 4e0, 4e1, 4e2, 4e3, -5e3, -5e2, | ||
| 10457 | -5e1, -5e0, -5e-1, -5e-2, -5e-3, -5e-4, -5e-5, 5e-5, | ||
| 10458 | 5e-4, 5e-3, 5e-2, 5e-1, 5e0, 5e1, 5e2, 5e3, | ||
| 10459 | -6e3, -6e2, -6e1, -6e0, -6e-1, -6e-2, -6e-3, -6e-4, | ||
| 10460 | -6e-5, 6e-5, 6e-4, 6e-3, 6e-2, 6e-1, 6e0, 6e1, | ||
| 10461 | 6e2, 6e3, -7e3, -7e2, -7e1, -7e0, -7e-1, -7e-2, | ||
| 10462 | }); | ||
| 10463 | try testArgs(@Vector(128, i32), @Vector(128, f64), .{ | ||
| 10464 | -7e-3, -7e-4, -7e-5, 7e-5, 7e-4, 7e-3, 7e-2, 7e-1, | ||
| 10465 | 7e0, 7e1, 7e2, 7e3, -8e3, -8e2, -8e1, -8e0, | ||
| 10466 | -8e-1, -8e-2, -8e-3, -8e-4, -8e-5, 8e-5, 8e-4, 8e-3, | ||
| 10467 | 8e-2, 8e-1, 8e0, 8e1, 8e2, 8e3, -9e3, -9e2, | ||
| 10468 | -9e1, -9e0, -9e-1, -9e-2, -9e-3, -9e-4, -9e-5, 9e-5, | ||
| 10469 | 9e-4, 9e-3, 9e-2, 9e-1, 9e0, 9e1, 9e2, 9e3, | ||
| 10470 | -11e3, -11e2, -11e1, -11e0, -11e-1, -11e-2, -11e-3, -11e-4, | ||
| 10471 | -11e-5, 11e-5, 11e-4, 11e-3, 11e-2, 11e-1, 11e0, 11e1, | ||
| 10472 | 11e2, 11e3, -12e3, -12e2, -12e1, -12e0, -12e-1, -12e-2, | ||
| 10473 | -12e-3, -12e-4, -12e-5, 12e-5, 12e-4, 12e-3, 12e-2, 12e-1, | ||
| 10474 | 12e0, 12e1, 12e2, 12e3, -13e3, -13e2, -13e1, -13e0, | ||
| 10475 | -13e-1, -13e-2, -13e-3, -13e-4, -13e-5, 13e-5, 13e-4, 13e-3, | ||
| 10476 | 13e-2, 13e-1, 13e0, 13e1, 13e2, -14e2, -14e1, -14e0, | ||
| 10477 | -14e-1, -14e-2, -14e-3, -14e-4, -14e-5, 14e-5, 14e-4, 14e-3, | ||
| 10478 | 14e-2, 14e-1, 14e0, 14e1, 14e2, 14e3, -15e3, -15e2, | ||
| 10479 | -15e1, -15e0, -15e-1, -15e-2, -15e-3, -15e-4, -15e-5, 15e-5, | ||
| 10480 | }); | ||
| 10481 | |||
| 10482 | try testArgs(@Vector(1, u32), @Vector(1, f64), .{ | ||
| 10483 | -0.0, | ||
| 10484 | }); | ||
| 10485 | try testArgs(@Vector(2, u32), @Vector(2, f64), .{ | ||
| 10486 | 0.0, 1e-5, | ||
| 10487 | }); | ||
| 10488 | try testArgs(@Vector(4, u32), @Vector(4, f64), .{ | ||
| 10489 | 1e-4, 1e-3, 1e-2, 1e-1, | ||
| 10490 | }); | ||
| 10491 | try testArgs(@Vector(8, u32), @Vector(8, f64), .{ | ||
| 10492 | 1e0, 1e1, 1e2, 1e3, 1e4, next(f64, next(f64, 0x1p32, 0.0), 0.0), next(f64, 0x1p32, 0.0), 2e-5, | ||
| 10493 | }); | ||
| 10494 | try testArgs(@Vector(16, u32), @Vector(16, f64), .{ | ||
| 10495 | 2e-4, 2e-3, 2e-2, 2e-1, 2e0, 2e1, 2e2, 2e3, | ||
| 10496 | 2e4, 3e-5, 3e-4, 3e-3, 3e-2, 3e-1, 3e0, 3e1, | ||
| 10497 | }); | ||
| 10498 | try testArgs(@Vector(32, u32), @Vector(32, f64), .{ | ||
| 10499 | 3e2, 3e3, 3e4, 4e-5, 4e-4, 4e-3, 4e-2, 4e-1, | ||
| 10500 | 4e0, 4e1, 4e2, 4e3, 5e-5, 5e-4, 5e-3, 5e-2, | ||
| 10501 | 5e-1, 5e0, 5e1, 5e2, 5e3, 6e-5, 6e-4, 6e-3, | ||
| 10502 | 6e-2, 6e-1, 6e0, 6e1, 6e2, 6e3, 7e-5, 7e-4, | ||
| 10503 | }); | ||
| 10504 | try testArgs(@Vector(64, u32), @Vector(64, f64), .{ | ||
| 10505 | 7e-3, 7e-2, 7e-1, 7e0, 7e1, 7e2, 7e3, 8e-5, | ||
| 10506 | 8e-4, 8e-3, 8e-2, 8e-1, 8e0, 8e1, 8e2, 8e3, | ||
| 10507 | 9e-5, 9e-4, 9e-3, 9e-2, 9e-1, 9e0, 9e1, 9e2, | ||
| 10508 | 9e3, 11e-5, 11e-4, 11e-3, 11e-2, 11e-1, 11e0, 11e1, | ||
| 10509 | 11e2, 11e3, 13e-5, 13e-4, 13e-3, 13e-2, 13e-1, 13e0, | ||
| 10510 | 13e1, 13e2, 13e3, 14e-5, 14e-4, 14e-3, 14e-2, 14e-1, | ||
| 10511 | 14e0, 14e1, 14e2, 14e3, 15e-5, 15e-4, 15e-3, 15e-2, | ||
| 10512 | 15e-1, 15e0, 15e1, 15e2, 15e3, 16e-5, 16e-4, 16e-3, | ||
| 10513 | }); | ||
| 10514 | try testArgs(@Vector(128, u32), @Vector(128, f64), .{ | ||
| 10515 | 16e-2, 16e-1, 16e0, 16e1, 16e2, 16e3, 17e-5, 17e-4, | ||
| 10516 | 17e-3, 17e-2, 17e-1, 17e0, 17e1, 17e2, 17e3, 18e-5, | ||
| 10517 | 18e-4, 18e-3, 18e-2, 18e-1, 18e0, 18e1, 18e2, 18e3, | ||
| 10518 | 19e-5, 19e-4, 19e-3, 19e-2, 19e-1, 19e0, 19e1, 19e2, | ||
| 10519 | 19e3, 21e-5, 21e-4, 21e-3, 21e-2, 21e-1, 21e0, 21e1, | ||
| 10520 | 21e2, 21e3, 22e-5, 22e-4, 22e-3, 22e-2, 22e-1, 22e0, | ||
| 10521 | 22e1, 22e2, 22e3, 23e-5, 23e-4, 23e-3, 23e-2, 23e-1, | ||
| 10522 | 23e0, 23e1, 23e2, 23e3, 24e-5, 24e-4, 24e-3, 24e-2, | ||
| 10523 | 24e-1, 24e0, 24e1, 24e2, 24e3, 25e-5, 25e-4, 25e-3, | ||
| 10524 | 25e-2, 25e-1, 25e0, 25e1, 25e2, 25e3, 26e-5, 26e-4, | ||
| 10525 | 26e-3, 26e-2, 26e-1, 26e0, 26e1, 26e2, 26e3, 27e-5, | ||
| 10526 | 27e-4, 27e-3, 27e-2, 27e-1, 27e0, 27e1, 27e2, 27e3, | ||
| 10527 | 28e-5, 28e-4, 28e-3, 28e-2, 28e-1, 28e0, 28e1, 28e2, | ||
| 10528 | 28e3, 29e-5, 29e-4, 29e-3, 29e-2, 29e-1, 29e0, 29e1, | ||
| 10529 | 29e2, 29e3, 31e-5, 31e-4, 31e-3, 31e-2, 31e-1, 31e0, | ||
| 10530 | 31e1, 31e2, 31e3, 32e-5, 32e-4, 32e-3, 32e-2, 32e-1, | ||
| 10531 | }); | ||
| 10532 | |||
| 10533 | try testArgs(@Vector(1, i64), @Vector(1, f64), .{ | ||
| 10534 | -0x0.8p64, | ||
| 10535 | }); | ||
| 10536 | try testArgs(@Vector(2, i64), @Vector(2, f64), .{ | ||
| 10537 | next(f64, -0x0.8p64, -0.0), next(f64, next(f64, -0x0.8p64, -0.0), -0.0), | ||
| 10538 | }); | ||
| 10539 | try testArgs(@Vector(4, i64), @Vector(4, f64), .{ | ||
| 10540 | -1e4, -1e3, -1e2, -1e1, | ||
| 10541 | }); | ||
| 10542 | try testArgs(@Vector(8, i64), @Vector(8, f64), .{ | ||
| 10543 | -1e0, -1e-1, -1e-2, -1e-3, -1e-4, -1e-5, -0.0, 0.0, | ||
| 10544 | }); | ||
| 10545 | try testArgs(@Vector(16, i64), @Vector(16, f64), .{ | ||
| 10546 | 1e-5, 1e-4, 1e-3, 1e-2, 1e-1, 1e0, 1e1, 1e2, | ||
| 10547 | 1e3, 1e4, next(f64, next(f64, 0x0.8p64, 0.0), 0.0), next(f64, 0x0.8p64, 0.0), -2e4, -2e3, -2e2, -2e1, | ||
| 10548 | }); | ||
| 10549 | try testArgs(@Vector(32, i64), @Vector(32, f64), .{ | ||
| 10550 | -2e0, -2e-1, -2e-2, -2e-3, -2e-4, -2e-5, 2e-5, 2e-4, | ||
| 10551 | 2e-3, 2e-2, 2e-1, 2e0, 2e1, 2e2, 2e3, 2e4, | ||
| 10552 | -3e4, -3e3, -3e2, -3e1, -3e0, -3e-1, -3e-2, -3e-3, | ||
| 10553 | -3e-4, -3e-5, 3e-5, 3e-4, 3e-3, 3e-2, 3e-1, 3e0, | ||
| 10554 | }); | ||
| 10555 | try testArgs(@Vector(64, i64), @Vector(64, f64), .{ | ||
| 10556 | 3e1, 3e2, 3e3, 3e4, -4e3, -4e2, -4e1, -4e0, | ||
| 10557 | -4e-1, -4e-2, -4e-3, -4e-4, -4e-5, 4e-5, 4e-4, 4e-3, | ||
| 10558 | 4e-2, 4e-1, 4e0, 4e1, 4e2, 4e3, -5e3, -5e2, | ||
| 10559 | -5e1, -5e0, -5e-1, -5e-2, -5e-3, -5e-4, -5e-5, 5e-5, | ||
| 10560 | 5e-4, 5e-3, 5e-2, 5e-1, 5e0, 5e1, 5e2, 5e3, | ||
| 10561 | -6e3, -6e2, -6e1, -6e0, -6e-1, -6e-2, -6e-3, -6e-4, | ||
| 10562 | -6e-5, 6e-5, 6e-4, 6e-3, 6e-2, 6e-1, 6e0, 6e1, | ||
| 10563 | 6e2, 6e3, -7e3, -7e2, -7e1, -7e0, -7e-1, -7e-2, | ||
| 10564 | }); | ||
| 10565 | try testArgs(@Vector(128, i64), @Vector(128, f64), .{ | ||
| 10566 | -7e-3, -7e-4, -7e-5, 7e-5, 7e-4, 7e-3, 7e-2, 7e-1, | ||
| 10567 | 7e0, 7e1, 7e2, 7e3, -8e3, -8e2, -8e1, -8e0, | ||
| 10568 | -8e-1, -8e-2, -8e-3, -8e-4, -8e-5, 8e-5, 8e-4, 8e-3, | ||
| 10569 | 8e-2, 8e-1, 8e0, 8e1, 8e2, 8e3, -9e3, -9e2, | ||
| 10570 | -9e1, -9e0, -9e-1, -9e-2, -9e-3, -9e-4, -9e-5, 9e-5, | ||
| 10571 | 9e-4, 9e-3, 9e-2, 9e-1, 9e0, 9e1, 9e2, 9e3, | ||
| 10572 | -11e3, -11e2, -11e1, -11e0, -11e-1, -11e-2, -11e-3, -11e-4, | ||
| 10573 | -11e-5, 11e-5, 11e-4, 11e-3, 11e-2, 11e-1, 11e0, 11e1, | ||
| 10574 | 11e2, 11e3, -12e3, -12e2, -12e1, -12e0, -12e-1, -12e-2, | ||
| 10575 | -12e-3, -12e-4, -12e-5, 12e-5, 12e-4, 12e-3, 12e-2, 12e-1, | ||
| 10576 | 12e0, 12e1, 12e2, 12e3, -13e3, -13e2, -13e1, -13e0, | ||
| 10577 | -13e-1, -13e-2, -13e-3, -13e-4, -13e-5, 13e-5, 13e-4, 13e-3, | ||
| 10578 | 13e-2, 13e-1, 13e0, 13e1, 13e2, -14e2, -14e1, -14e0, | ||
| 10579 | -14e-1, -14e-2, -14e-3, -14e-4, -14e-5, 14e-5, 14e-4, 14e-3, | ||
| 10580 | 14e-2, 14e-1, 14e0, 14e1, 14e2, 14e3, -15e3, -15e2, | ||
| 10581 | -15e1, -15e0, -15e-1, -15e-2, -15e-3, -15e-4, -15e-5, 15e-5, | ||
| 10582 | }); | ||
| 10583 | |||
| 10584 | try testArgs(@Vector(1, u64), @Vector(1, f64), .{ | ||
| 10585 | -0.0, | ||
| 10586 | }); | ||
| 10587 | try testArgs(@Vector(2, u64), @Vector(2, f64), .{ | ||
| 10588 | 0.0, 1e-5, | ||
| 10589 | }); | ||
| 10590 | try testArgs(@Vector(4, u64), @Vector(4, f64), .{ | ||
| 10591 | 1e-4, 1e-3, 1e-2, 1e-1, | ||
| 10592 | }); | ||
| 10593 | try testArgs(@Vector(8, u64), @Vector(8, f64), .{ | ||
| 10594 | 1e0, 1e1, 1e2, 1e3, 1e4, next(f64, next(f64, 0x1p64, 0.0), 0.0), next(f64, 0x1p64, 0.0), 2e-5, | ||
| 10595 | }); | ||
| 10596 | try testArgs(@Vector(16, u64), @Vector(16, f64), .{ | ||
| 10597 | 2e-4, 2e-3, 2e-2, 2e-1, 2e0, 2e1, 2e2, 2e3, | ||
| 10598 | 2e4, 3e-5, 3e-4, 3e-3, 3e-2, 3e-1, 3e0, 3e1, | ||
| 10599 | }); | ||
| 10600 | try testArgs(@Vector(32, u64), @Vector(32, f64), .{ | ||
| 10601 | 3e2, 3e3, 3e4, 4e-5, 4e-4, 4e-3, 4e-2, 4e-1, | ||
| 10602 | 4e0, 4e1, 4e2, 4e3, 5e-5, 5e-4, 5e-3, 5e-2, | ||
| 10603 | 5e-1, 5e0, 5e1, 5e2, 5e3, 6e-5, 6e-4, 6e-3, | ||
| 10604 | 6e-2, 6e-1, 6e0, 6e1, 6e2, 6e3, 7e-5, 7e-4, | ||
| 10605 | }); | ||
| 10606 | try testArgs(@Vector(64, u64), @Vector(64, f64), .{ | ||
| 10607 | 7e-3, 7e-2, 7e-1, 7e0, 7e1, 7e2, 7e3, 8e-5, | ||
| 10608 | 8e-4, 8e-3, 8e-2, 8e-1, 8e0, 8e1, 8e2, 8e3, | ||
| 10609 | 9e-5, 9e-4, 9e-3, 9e-2, 9e-1, 9e0, 9e1, 9e2, | ||
| 10610 | 9e3, 11e-5, 11e-4, 11e-3, 11e-2, 11e-1, 11e0, 11e1, | ||
| 10611 | 11e2, 11e3, 13e-5, 13e-4, 13e-3, 13e-2, 13e-1, 13e0, | ||
| 10612 | 13e1, 13e2, 13e3, 14e-5, 14e-4, 14e-3, 14e-2, 14e-1, | ||
| 10613 | 14e0, 14e1, 14e2, 14e3, 15e-5, 15e-4, 15e-3, 15e-2, | ||
| 10614 | 15e-1, 15e0, 15e1, 15e2, 15e3, 16e-5, 16e-4, 16e-3, | ||
| 10615 | }); | ||
| 10616 | try testArgs(@Vector(128, u64), @Vector(128, f64), .{ | ||
| 10617 | 16e-2, 16e-1, 16e0, 16e1, 16e2, 16e3, 17e-5, 17e-4, | ||
| 10618 | 17e-3, 17e-2, 17e-1, 17e0, 17e1, 17e2, 17e3, 18e-5, | ||
| 10619 | 18e-4, 18e-3, 18e-2, 18e-1, 18e0, 18e1, 18e2, 18e3, | ||
| 10620 | 19e-5, 19e-4, 19e-3, 19e-2, 19e-1, 19e0, 19e1, 19e2, | ||
| 10621 | 19e3, 21e-5, 21e-4, 21e-3, 21e-2, 21e-1, 21e0, 21e1, | ||
| 10622 | 21e2, 21e3, 22e-5, 22e-4, 22e-3, 22e-2, 22e-1, 22e0, | ||
| 10623 | 22e1, 22e2, 22e3, 23e-5, 23e-4, 23e-3, 23e-2, 23e-1, | ||
| 10624 | 23e0, 23e1, 23e2, 23e3, 24e-5, 24e-4, 24e-3, 24e-2, | ||
| 10625 | 24e-1, 24e0, 24e1, 24e2, 24e3, 25e-5, 25e-4, 25e-3, | ||
| 10626 | 25e-2, 25e-1, 25e0, 25e1, 25e2, 25e3, 26e-5, 26e-4, | ||
| 10627 | 26e-3, 26e-2, 26e-1, 26e0, 26e1, 26e2, 26e3, 27e-5, | ||
| 10628 | 27e-4, 27e-3, 27e-2, 27e-1, 27e0, 27e1, 27e2, 27e3, | ||
| 10629 | 28e-5, 28e-4, 28e-3, 28e-2, 28e-1, 28e0, 28e1, 28e2, | ||
| 10630 | 28e3, 29e-5, 29e-4, 29e-3, 29e-2, 29e-1, 29e0, 29e1, | ||
| 10631 | 29e2, 29e3, 31e-5, 31e-4, 31e-3, 31e-2, 31e-1, 31e0, | ||
| 10632 | 31e1, 31e2, 31e3, 32e-5, 32e-4, 32e-3, 32e-2, 32e-1, | ||
| 10633 | }); | ||
| 10634 | |||
| 10635 | try testArgs(@Vector(1, i128), @Vector(1, f64), .{ | ||
| 10636 | -0x0.8p128, | ||
| 10637 | }); | ||
| 10638 | try testArgs(@Vector(2, i128), @Vector(2, f64), .{ | ||
| 10639 | next(f64, -0x0.8p128, -0.0), next(f64, next(f64, -0x0.8p128, -0.0), -0.0), | ||
| 10640 | }); | ||
| 10641 | try testArgs(@Vector(4, i128), @Vector(4, f64), .{ | ||
| 10642 | -1e4, -1e3, -1e2, -1e1, | ||
| 10643 | }); | ||
| 10644 | try testArgs(@Vector(8, i128), @Vector(8, f64), .{ | ||
| 10645 | -1e0, -1e-1, -1e-2, -1e-3, -1e-4, -1e-5, -0.0, 0.0, | ||
| 10646 | }); | ||
| 10647 | try testArgs(@Vector(16, i128), @Vector(16, f64), .{ | ||
| 10648 | 1e-5, 1e-4, 1e-3, 1e-2, 1e-1, 1e0, 1e1, 1e2, | ||
| 10649 | 1e3, 1e4, next(f64, next(f64, 0x0.8p128, 0.0), 0.0), next(f64, 0x0.8p128, 0.0), -2e4, -2e3, -2e2, -2e1, | ||
| 10650 | }); | ||
| 10651 | try testArgs(@Vector(32, i128), @Vector(32, f64), .{ | ||
| 10652 | -2e0, -2e-1, -2e-2, -2e-3, -2e-4, -2e-5, 2e-5, 2e-4, | ||
| 10653 | 2e-3, 2e-2, 2e-1, 2e0, 2e1, 2e2, 2e3, 2e4, | ||
| 10654 | -3e4, -3e3, -3e2, -3e1, -3e0, -3e-1, -3e-2, -3e-3, | ||
| 10655 | -3e-4, -3e-5, 3e-5, 3e-4, 3e-3, 3e-2, 3e-1, 3e0, | ||
| 10656 | }); | ||
| 10657 | try testArgs(@Vector(64, i128), @Vector(64, f64), .{ | ||
| 10658 | 3e1, 3e2, 3e3, 3e4, -4e3, -4e2, -4e1, -4e0, | ||
| 10659 | -4e-1, -4e-2, -4e-3, -4e-4, -4e-5, 4e-5, 4e-4, 4e-3, | ||
| 10660 | 4e-2, 4e-1, 4e0, 4e1, 4e2, 4e3, -5e3, -5e2, | ||
| 10661 | -5e1, -5e0, -5e-1, -5e-2, -5e-3, -5e-4, -5e-5, 5e-5, | ||
| 10662 | 5e-4, 5e-3, 5e-2, 5e-1, 5e0, 5e1, 5e2, 5e3, | ||
| 10663 | -6e3, -6e2, -6e1, -6e0, -6e-1, -6e-2, -6e-3, -6e-4, | ||
| 10664 | -6e-5, 6e-5, 6e-4, 6e-3, 6e-2, 6e-1, 6e0, 6e1, | ||
| 10665 | 6e2, 6e3, -7e3, -7e2, -7e1, -7e0, -7e-1, -7e-2, | ||
| 10666 | }); | ||
| 10667 | |||
| 10668 | try testArgs(@Vector(1, u128), @Vector(1, f64), .{ | ||
| 10669 | -0.0, | ||
| 10670 | }); | ||
| 10671 | try testArgs(@Vector(2, u128), @Vector(2, f64), .{ | ||
| 10672 | 0.0, 1e-5, | ||
| 10673 | }); | ||
| 10674 | try testArgs(@Vector(4, u128), @Vector(4, f64), .{ | ||
| 10675 | 1e-4, 1e-3, 1e-2, 1e-1, | ||
| 10676 | }); | ||
| 10677 | try testArgs(@Vector(8, u128), @Vector(8, f64), .{ | ||
| 10678 | 1e0, 1e1, 1e2, 1e3, 1e4, next(f64, next(f64, 0x1p128, 0.0), 0.0), next(f64, 0x1p128, 0.0), 2e-5, | ||
| 10679 | }); | ||
| 10680 | try testArgs(@Vector(16, u128), @Vector(16, f64), .{ | ||
| 10681 | 2e-4, 2e-3, 2e-2, 2e-1, 2e0, 2e1, 2e2, 2e3, | ||
| 10682 | 2e4, 3e-5, 3e-4, 3e-3, 3e-2, 3e-1, 3e0, 3e1, | ||
| 10683 | }); | ||
| 10684 | try testArgs(@Vector(32, u128), @Vector(32, f64), .{ | ||
| 10685 | 3e2, 3e3, 3e4, 4e-5, 4e-4, 4e-3, 4e-2, 4e-1, | ||
| 10686 | 4e0, 4e1, 4e2, 4e3, 5e-5, 5e-4, 5e-3, 5e-2, | ||
| 10687 | 5e-1, 5e0, 5e1, 5e2, 5e3, 6e-5, 6e-4, 6e-3, | ||
| 10688 | 6e-2, 6e-1, 6e0, 6e1, 6e2, 6e3, 7e-5, 7e-4, | ||
| 10689 | }); | ||
| 10690 | try testArgs(@Vector(64, u128), @Vector(64, f64), .{ | ||
| 10691 | 7e-3, 7e-2, 7e-1, 7e0, 7e1, 7e2, 7e3, 8e-5, | ||
| 10692 | 8e-4, 8e-3, 8e-2, 8e-1, 8e0, 8e1, 8e2, 8e3, | ||
| 10693 | 9e-5, 9e-4, 9e-3, 9e-2, 9e-1, 9e0, 9e1, 9e2, | ||
| 10694 | 9e3, 11e-5, 11e-4, 11e-3, 11e-2, 11e-1, 11e0, 11e1, | ||
| 10695 | 11e2, 11e3, 13e-5, 13e-4, 13e-3, 13e-2, 13e-1, 13e0, | ||
| 10696 | 13e1, 13e2, 13e3, 14e-5, 14e-4, 14e-3, 14e-2, 14e-1, | ||
| 10697 | 14e0, 14e1, 14e2, 14e3, 15e-5, 15e-4, 15e-3, 15e-2, | ||
| 10698 | 15e-1, 15e0, 15e1, 15e2, 15e3, 16e-5, 16e-4, 16e-3, | ||
| 10699 | }); | ||
| 10700 | |||
| 10701 | try testArgs(@Vector(1, i256), @Vector(1, f64), .{ | ||
| 10702 | -0x0.8p256, | ||
| 10703 | }); | ||
| 10704 | try testArgs(@Vector(2, i256), @Vector(2, f64), .{ | ||
| 10705 | next(f64, -0x0.8p256, -0.0), next(f64, next(f64, -0x0.8p256, -0.0), -0.0), | ||
| 10706 | }); | ||
| 10707 | try testArgs(@Vector(4, i256), @Vector(4, f64), .{ | ||
| 10708 | -1e4, -1e3, -1e2, -1e1, | ||
| 10709 | }); | ||
| 10710 | try testArgs(@Vector(8, i256), @Vector(8, f64), .{ | ||
| 10711 | -1e0, -1e-1, -1e-2, -1e-3, -1e-4, -1e-5, -0.0, 0.0, | ||
| 10712 | }); | ||
| 10713 | try testArgs(@Vector(16, i256), @Vector(16, f64), .{ | ||
| 10714 | 1e-5, 1e-4, 1e-3, 1e-2, 1e-1, 1e0, 1e1, 1e2, | ||
| 10715 | 1e3, 1e4, next(f64, next(f64, 0x0.8p256, 0.0), 0.0), next(f64, 0x0.8p256, 0.0), -2e4, -2e3, -2e2, -2e1, | ||
| 10716 | }); | ||
| 10717 | try testArgs(@Vector(32, i256), @Vector(32, f64), .{ | ||
| 10718 | -2e0, -2e-1, -2e-2, -2e-3, -2e-4, -2e-5, 2e-5, 2e-4, | ||
| 10719 | 2e-3, 2e-2, 2e-1, 2e0, 2e1, 2e2, 2e3, 2e4, | ||
| 10720 | -3e4, -3e3, -3e2, -3e1, -3e0, -3e-1, -3e-2, -3e-3, | ||
| 10721 | -3e-4, -3e-5, 3e-5, 3e-4, 3e-3, 3e-2, 3e-1, 3e0, | ||
| 10722 | }); | ||
| 10723 | try testArgs(@Vector(64, i256), @Vector(64, f64), .{ | ||
| 10724 | 3e1, 3e2, 3e3, 3e4, -4e3, -4e2, -4e1, -4e0, | ||
| 10725 | -4e-1, -4e-2, -4e-3, -4e-4, -4e-5, 4e-5, 4e-4, 4e-3, | ||
| 10726 | 4e-2, 4e-1, 4e0, 4e1, 4e2, 4e3, -5e3, -5e2, | ||
| 10727 | -5e1, -5e0, -5e-1, -5e-2, -5e-3, -5e-4, -5e-5, 5e-5, | ||
| 10728 | 5e-4, 5e-3, 5e-2, 5e-1, 5e0, 5e1, 5e2, 5e3, | ||
| 10729 | -6e3, -6e2, -6e1, -6e0, -6e-1, -6e-2, -6e-3, -6e-4, | ||
| 10730 | -6e-5, 6e-5, 6e-4, 6e-3, 6e-2, 6e-1, 6e0, 6e1, | ||
| 10731 | 6e2, 6e3, -7e3, -7e2, -7e1, -7e0, -7e-1, -7e-2, | ||
| 10732 | }); | ||
| 10733 | |||
| 10734 | try testArgs(@Vector(1, u256), @Vector(1, f64), .{ | ||
| 10735 | -0.0, | ||
| 10736 | }); | ||
| 10737 | try testArgs(@Vector(2, u256), @Vector(2, f64), .{ | ||
| 10738 | 0.0, 1e-5, | ||
| 10739 | }); | ||
| 10740 | try testArgs(@Vector(4, u256), @Vector(4, f64), .{ | ||
| 10741 | 1e-4, 1e-3, 1e-2, 1e-1, | ||
| 10742 | }); | ||
| 10743 | try testArgs(@Vector(8, u256), @Vector(8, f64), .{ | ||
| 10744 | 1e0, 1e1, 1e2, 1e3, 1e4, next(f64, next(f64, 0x1p256, 0.0), 0.0), next(f64, 0x1p256, 0.0), 2e-5, | ||
| 10745 | }); | ||
| 10746 | try testArgs(@Vector(16, u256), @Vector(16, f64), .{ | ||
| 10747 | 2e-4, 2e-3, 2e-2, 2e-1, 2e0, 2e1, 2e2, 2e3, | ||
| 10748 | 2e4, 3e-5, 3e-4, 3e-3, 3e-2, 3e-1, 3e0, 3e1, | ||
| 10749 | }); | ||
| 10750 | try testArgs(@Vector(32, u256), @Vector(32, f64), .{ | ||
| 10751 | 3e2, 3e3, 3e4, 4e-5, 4e-4, 4e-3, 4e-2, 4e-1, | ||
| 10752 | 4e0, 4e1, 4e2, 4e3, 5e-5, 5e-4, 5e-3, 5e-2, | ||
| 10753 | 5e-1, 5e0, 5e1, 5e2, 5e3, 6e-5, 6e-4, 6e-3, | ||
| 10754 | 6e-2, 6e-1, 6e0, 6e1, 6e2, 6e3, 7e-5, 7e-4, | ||
| 10755 | }); | ||
| 10756 | try testArgs(@Vector(64, u256), @Vector(64, f64), .{ | ||
| 10757 | 7e-3, 7e-2, 7e-1, 7e0, 7e1, 7e2, 7e3, 8e-5, | ||
| 10758 | 8e-4, 8e-3, 8e-2, 8e-1, 8e0, 8e1, 8e2, 8e3, | ||
| 10759 | 9e-5, 9e-4, 9e-3, 9e-2, 9e-1, 9e0, 9e1, 9e2, | ||
| 10760 | 9e3, 11e-5, 11e-4, 11e-3, 11e-2, 11e-1, 11e0, 11e1, | ||
| 10761 | 11e2, 11e3, 13e-5, 13e-4, 13e-3, 13e-2, 13e-1, 13e0, | ||
| 10762 | 13e1, 13e2, 13e3, 14e-5, 14e-4, 14e-3, 14e-2, 14e-1, | ||
| 10763 | 14e0, 14e1, 14e2, 14e3, 15e-5, 15e-4, 15e-3, 15e-2, | ||
| 10764 | 15e-1, 15e0, 15e1, 15e2, 15e3, 16e-5, 16e-4, 16e-3, | ||
| 10765 | }); | ||
| 10766 | |||
| 10767 | try testArgs(@Vector(1, i8), @Vector(1, f80), .{ | ||
| 10768 | -0x0.8p8, | ||
| 10769 | }); | ||
| 10770 | try testArgs(@Vector(2, i8), @Vector(2, f80), .{ | ||
| 10771 | next(f80, -0x0.8p8, -0.0), next(f80, next(f80, -0x0.8p8, -0.0), -0.0), | ||
| 10772 | }); | ||
| 10773 | try testArgs(@Vector(4, i8), @Vector(4, f80), .{ | ||
| 10774 | -1e2, -1e1, -1e0, -1e-1, | ||
| 10775 | }); | ||
| 10776 | try testArgs(@Vector(8, i8), @Vector(8, f80), .{ | ||
| 10777 | -1e-2, -1e-3, -1e-4, -1e-5, -0.0, 0.0, 1e-5, 1e-4, | ||
| 10778 | }); | ||
| 10779 | try testArgs(@Vector(16, i8), @Vector(16, f80), .{ | ||
| 10780 | 1e-3, 1e-2, 1e-1, 1e0, 1e1, 1e2, next(f80, next(f80, 0x0.8p8, 0.0), 0.0), next(f80, 0x0.8p8, 0.0), | ||
| 10781 | -2e1, -2e0, -2e-1, -2e-2, -2e-3, -2e-4, -2e-5, 2e-5, | ||
| 10782 | }); | ||
| 10783 | try testArgs(@Vector(32, i8), @Vector(32, f80), .{ | ||
| 10784 | 2e-4, 2e-3, 2e-2, 2e-1, 2e0, 2e1, -3e1, -3e0, | ||
| 10785 | -3e-1, -3e-2, -3e-3, -3e-4, -3e-5, 3e-5, 3e-4, 3e-3, | ||
| 10786 | 3e-2, 3e-1, 3e0, 3e1, -4e1, -4e0, -4e-1, -4e-2, | ||
| 10787 | -4e-3, -4e-4, -4e-5, 4e-5, 4e-4, 4e-3, 4e-2, 4e-1, | ||
| 10788 | }); | ||
| 10789 | try testArgs(@Vector(64, i8), @Vector(64, f80), .{ | ||
| 10790 | 4e0, 4e1, -5e1, -5e0, -5e-1, -5e-2, -5e-3, -5e-4, | ||
| 10791 | -5e-5, 5e-5, 5e-4, 5e-3, 5e-2, 5e-1, 5e0, 5e1, | ||
| 10792 | -6e1, -6e0, -6e-1, -6e-2, -6e-3, -6e-4, -6e-5, 6e-5, | ||
| 10793 | 6e-4, 6e-3, 6e-2, 6e-1, 6e0, 6e1, -7e1, -7e0, | ||
| 10794 | -7e-1, -7e-2, -7e-3, -7e-4, -7e-5, 7e-5, 7e-4, 7e-3, | ||
| 10795 | 7e-2, 7e-1, 7e0, 7e1, -8e1, -8e0, -8e-1, -8e-2, | ||
| 10796 | -8e-3, -8e-4, -8e-5, 8e-5, 8e-4, 8e-3, 8e-2, 8e-1, | ||
| 10797 | 8e0, 8e1, -9e1, -9e0, -9e-1, -9e-2, -9e-3, -9e-4, | ||
| 10798 | }); | ||
| 10799 | try testArgs(@Vector(128, i8), @Vector(128, f80), .{ | ||
| 10800 | -9e-5, 9e-5, 9e-4, 9e-3, 9e-2, 9e-1, 9e0, 9e1, | ||
| 10801 | -11e1, -11e0, -11e-1, -11e-2, -11e-3, -11e-4, -11e-5, 11e-5, | ||
| 10802 | 11e-4, 11e-3, 11e-2, 11e-1, 11e0, 11e1, -12e1, -12e0, | ||
| 10803 | -12e-1, -12e-2, -12e-3, -12e-4, -12e-5, 12e-5, 12e-4, 12e-3, | ||
| 10804 | 12e-2, 12e-1, 12e0, 12e1, -13e0, -13e-1, -13e-2, -13e-3, | ||
| 10805 | -13e-4, -13e-5, 13e-5, 13e-4, 13e-3, 13e-2, 13e-1, 13e0, | ||
| 10806 | -14e0, -14e-1, -14e-2, -14e-3, -14e-4, -14e-5, 14e-5, 14e-4, | ||
| 10807 | 14e-3, 14e-2, 14e-1, 14e0, -15e0, -15e-1, -15e-2, -15e-3, | ||
| 10808 | -15e-4, -15e-5, 15e-5, 15e-4, 15e-3, 15e-2, 15e-1, 15e0, | ||
| 10809 | -16e0, -16e-1, -16e-2, -16e-3, -16e-4, -16e-5, 16e-5, 16e-4, | ||
| 10810 | 16e-3, 16e-2, 16e-1, 16e0, -17e0, -17e-1, -17e-2, -17e-3, | ||
| 10811 | -17e-4, -17e-5, 17e-5, 17e-4, 17e-3, 17e-2, 17e-1, 17e0, | ||
| 10812 | -18e0, -18e-1, -18e-2, -18e-3, -18e-4, -18e-5, 18e-5, 18e-4, | ||
| 10813 | 18e-3, 18e-2, 18e-1, 18e0, -19e0, -19e-1, -19e-2, -19e-3, | ||
| 10814 | -19e-4, -19e-5, 19e-5, 19e-4, 19e-3, 19e-2, 19e-1, 19e0, | ||
| 10815 | -21e0, -21e-1, -21e-2, -21e-3, -21e-4, -21e-5, 21e-5, 21e-4, | ||
| 10816 | }); | ||
| 10817 | |||
| 10818 | try testArgs(@Vector(1, u8), @Vector(1, f80), .{ | ||
| 10819 | -0.0, | ||
| 10820 | }); | ||
| 10821 | try testArgs(@Vector(2, u8), @Vector(2, f80), .{ | ||
| 10822 | 0.0, 1e-5, | ||
| 10823 | }); | ||
| 10824 | try testArgs(@Vector(4, u8), @Vector(4, f80), .{ | ||
| 10825 | 1e-4, 1e-3, 1e-2, 1e-1, | ||
| 10826 | }); | ||
| 10827 | try testArgs(@Vector(8, u8), @Vector(8, f80), .{ | ||
| 10828 | 1e0, 1e1, 1e2, next(f80, next(f80, 0x1p8, 0.0), 0.0), next(f80, 0x1p8, 0.0), 2e-5, 2e-4, 2e-3, | ||
| 10829 | }); | ||
| 10830 | try testArgs(@Vector(16, u8), @Vector(16, f80), .{ | ||
| 10831 | 2e-2, 2e-1, 2e0, 2e1, 2e2, 3e-5, 3e-4, 3e-3, | ||
| 10832 | 3e-2, 3e-1, 3e0, 3e1, 4e-5, 4e-4, 4e-3, 4e-2, | ||
| 10833 | }); | ||
| 10834 | try testArgs(@Vector(32, u8), @Vector(32, f80), .{ | ||
| 10835 | 4e-1, 4e0, 4e1, 5e-5, 5e-4, 5e-3, 5e-2, 5e-1, | ||
| 10836 | 5e0, 5e1, 6e-5, 6e-4, 6e-3, 6e-2, 6e-1, 6e0, | ||
| 10837 | 6e1, 7e-5, 7e-4, 7e-3, 7e-2, 7e-1, 7e0, 7e1, | ||
| 10838 | 8e-5, 8e-4, 8e-3, 8e-2, 8e-1, 8e0, 8e1, 9e-5, | ||
| 10839 | }); | ||
| 10840 | try testArgs(@Vector(64, u8), @Vector(64, f80), .{ | ||
| 10841 | 9e-4, 9e-3, 9e-2, 9e-1, 9e0, 9e1, 11e-5, 11e-4, | ||
| 10842 | 11e-3, 11e-2, 11e-1, 11e0, 11e1, 13e-5, 13e-4, 13e-3, | ||
| 10843 | 13e-2, 13e-1, 13e0, 14e-5, 14e-4, 14e-3, 14e-2, 14e-1, | ||
| 10844 | 14e0, 14e1, 15e-5, 15e-4, 15e-3, 15e-2, 15e-1, 15e0, | ||
| 10845 | 15e1, 16e-5, 16e-4, 16e-3, 16e-2, 16e-1, 16e0, 16e1, | ||
| 10846 | 17e-5, 17e-4, 17e-3, 17e-2, 17e-1, 17e0, 17e1, 18e-5, | ||
| 10847 | 18e-4, 18e-3, 18e-2, 18e-1, 18e0, 18e1, 19e-5, 19e-4, | ||
| 10848 | 19e-3, 19e-2, 19e-1, 19e0, 19e1, 21e-5, 21e-4, 21e-3, | ||
| 10849 | }); | ||
| 10850 | try testArgs(@Vector(128, u8), @Vector(128, f80), .{ | ||
| 10851 | 21e-2, 21e-1, 21e0, 21e1, 22e-5, 22e-4, 22e-3, 22e-2, | ||
| 10852 | 22e-1, 22e0, 22e1, 23e-5, 23e-4, 23e-3, 23e-2, 23e-1, | ||
| 10853 | 23e0, 23e1, 24e-5, 24e-4, 24e-3, 24e-2, 24e-1, 24e0, | ||
| 10854 | 24e1, 25e-5, 25e-4, 25e-3, 25e-2, 25e-1, 25e0, 25e1, | ||
| 10855 | 26e-5, 26e-4, 26e-3, 26e-2, 26e-1, 26e0, 27e-5, 27e-4, | ||
| 10856 | 27e-3, 27e-2, 27e-1, 27e0, 28e-5, 28e-4, 28e-3, 28e-2, | ||
| 10857 | 28e-1, 28e0, 29e-5, 29e-4, 29e-3, 29e-2, 29e-1, 29e0, | ||
| 10858 | 31e-5, 31e-4, 31e-3, 31e-2, 31e-1, 31e0, 32e-5, 32e-4, | ||
| 10859 | 32e-3, 32e-2, 32e-1, 32e0, 33e-5, 33e-4, 33e-3, 33e-2, | ||
| 10860 | 33e-1, 33e0, 34e-5, 34e-4, 34e-3, 34e-2, 34e-1, 34e0, | ||
| 10861 | 35e-5, 35e-4, 35e-3, 35e-2, 35e-1, 35e0, 36e-5, 36e-4, | ||
| 10862 | 36e-3, 36e-2, 36e-1, 36e0, 37e-5, 37e-4, 37e-3, 37e-2, | ||
| 10863 | 37e-1, 37e0, 38e-5, 38e-4, 38e-3, 38e-2, 38e-1, 38e0, | ||
| 10864 | 39e-5, 39e-4, 39e-3, 39e-2, 39e-1, 39e0, 41e-5, 41e-4, | ||
| 10865 | 41e-3, 41e-2, 41e-1, 41e0, 42e-5, 42e-4, 42e-3, 42e-2, | ||
| 10866 | 42e-1, 42e0, 43e-5, 43e-4, 43e-3, 43e-2, 43e-1, 43e0, | ||
| 10867 | }); | ||
| 10868 | |||
| 10869 | try testArgs(@Vector(1, i16), @Vector(1, f80), .{ | ||
| 10870 | -0x0.8p16, | ||
| 10871 | }); | ||
| 10872 | try testArgs(@Vector(2, i16), @Vector(2, f80), .{ | ||
| 10873 | next(f80, -0x0.8p16, -0.0), next(f80, next(f80, -0x0.8p16, -0.0), -0.0), | ||
| 10874 | }); | ||
| 10875 | try testArgs(@Vector(4, i16), @Vector(4, f80), .{ | ||
| 10876 | -1e4, -1e3, -1e2, -1e1, | ||
| 10877 | }); | ||
| 10878 | try testArgs(@Vector(8, i16), @Vector(8, f80), .{ | ||
| 10879 | -1e0, -1e-1, -1e-2, -1e-3, -1e-4, -1e-5, -0.0, 0.0, | ||
| 10880 | }); | ||
| 10881 | try testArgs(@Vector(16, i16), @Vector(16, f80), .{ | ||
| 10882 | 1e-5, 1e-4, 1e-3, 1e-2, 1e-1, 1e0, 1e1, 1e2, | ||
| 10883 | 1e3, 1e4, next(f80, next(f80, 0x0.8p16, 0.0), 0.0), next(f80, 0x0.8p16, 0.0), -2e4, -2e3, -2e2, -2e1, | ||
| 10884 | }); | ||
| 10885 | try testArgs(@Vector(32, i16), @Vector(32, f80), .{ | ||
| 10886 | -2e0, -2e-1, -2e-2, -2e-3, -2e-4, -2e-5, 2e-5, 2e-4, | ||
| 10887 | 2e-3, 2e-2, 2e-1, 2e0, 2e1, 2e2, 2e3, 2e4, | ||
| 10888 | -3e4, -3e3, -3e2, -3e1, -3e0, -3e-1, -3e-2, -3e-3, | ||
| 10889 | -3e-4, -3e-5, 3e-5, 3e-4, 3e-3, 3e-2, 3e-1, 3e0, | ||
| 10890 | }); | ||
| 10891 | try testArgs(@Vector(64, i16), @Vector(64, f80), .{ | ||
| 10892 | 3e1, 3e2, 3e3, 3e4, -4e3, -4e2, -4e1, -4e0, | ||
| 10893 | -4e-1, -4e-2, -4e-3, -4e-4, -4e-5, 4e-5, 4e-4, 4e-3, | ||
| 10894 | 4e-2, 4e-1, 4e0, 4e1, 4e2, 4e3, -5e3, -5e2, | ||
| 10895 | -5e1, -5e0, -5e-1, -5e-2, -5e-3, -5e-4, -5e-5, 5e-5, | ||
| 10896 | 5e-4, 5e-3, 5e-2, 5e-1, 5e0, 5e1, 5e2, 5e3, | ||
| 10897 | -6e3, -6e2, -6e1, -6e0, -6e-1, -6e-2, -6e-3, -6e-4, | ||
| 10898 | -6e-5, 6e-5, 6e-4, 6e-3, 6e-2, 6e-1, 6e0, 6e1, | ||
| 10899 | 6e2, 6e3, -7e3, -7e2, -7e1, -7e0, -7e-1, -7e-2, | ||
| 10900 | }); | ||
| 10901 | try testArgs(@Vector(128, i16), @Vector(128, f80), .{ | ||
| 10902 | -7e-3, -7e-4, -7e-5, 7e-5, 7e-4, 7e-3, 7e-2, 7e-1, | ||
| 10903 | 7e0, 7e1, 7e2, 7e3, -8e3, -8e2, -8e1, -8e0, | ||
| 10904 | -8e-1, -8e-2, -8e-3, -8e-4, -8e-5, 8e-5, 8e-4, 8e-3, | ||
| 10905 | 8e-2, 8e-1, 8e0, 8e1, 8e2, 8e3, -9e3, -9e2, | ||
| 10906 | -9e1, -9e0, -9e-1, -9e-2, -9e-3, -9e-4, -9e-5, 9e-5, | ||
| 10907 | 9e-4, 9e-3, 9e-2, 9e-1, 9e0, 9e1, 9e2, 9e3, | ||
| 10908 | -11e3, -11e2, -11e1, -11e0, -11e-1, -11e-2, -11e-3, -11e-4, | ||
| 10909 | -11e-5, 11e-5, 11e-4, 11e-3, 11e-2, 11e-1, 11e0, 11e1, | ||
| 10910 | 11e2, 11e3, -12e3, -12e2, -12e1, -12e0, -12e-1, -12e-2, | ||
| 10911 | -12e-3, -12e-4, -12e-5, 12e-5, 12e-4, 12e-3, 12e-2, 12e-1, | ||
| 10912 | 12e0, 12e1, 12e2, 12e3, -13e3, -13e2, -13e1, -13e0, | ||
| 10913 | -13e-1, -13e-2, -13e-3, -13e-4, -13e-5, 13e-5, 13e-4, 13e-3, | ||
| 10914 | 13e-2, 13e-1, 13e0, 13e1, 13e2, -14e2, -14e1, -14e0, | ||
| 10915 | -14e-1, -14e-2, -14e-3, -14e-4, -14e-5, 14e-5, 14e-4, 14e-3, | ||
| 10916 | 14e-2, 14e-1, 14e0, 14e1, 14e2, 14e3, -15e3, -15e2, | ||
| 10917 | -15e1, -15e0, -15e-1, -15e-2, -15e-3, -15e-4, -15e-5, 15e-5, | ||
| 10918 | }); | ||
| 10919 | |||
| 10920 | try testArgs(@Vector(1, u16), @Vector(1, f80), .{ | ||
| 10921 | -0.0, | ||
| 10922 | }); | ||
| 10923 | try testArgs(@Vector(2, u16), @Vector(2, f80), .{ | ||
| 10924 | 0.0, 1e-5, | ||
| 10925 | }); | ||
| 10926 | try testArgs(@Vector(4, u16), @Vector(4, f80), .{ | ||
| 10927 | 1e-4, 1e-3, 1e-2, 1e-1, | ||
| 10928 | }); | ||
| 10929 | try testArgs(@Vector(8, u16), @Vector(8, f80), .{ | ||
| 10930 | 1e0, 1e1, 1e2, 1e3, 1e4, next(f80, next(f80, 0x1p16, 0.0), 0.0), next(f80, 0x1p16, 0.0), 2e-5, | ||
| 10931 | }); | ||
| 10932 | try testArgs(@Vector(16, u16), @Vector(16, f80), .{ | ||
| 10933 | 2e-4, 2e-3, 2e-2, 2e-1, 2e0, 2e1, 2e2, 2e3, | ||
| 10934 | 2e4, 3e-5, 3e-4, 3e-3, 3e-2, 3e-1, 3e0, 3e1, | ||
| 10935 | }); | ||
| 10936 | try testArgs(@Vector(32, u16), @Vector(32, f80), .{ | ||
| 10937 | 3e2, 3e3, 3e4, 4e-5, 4e-4, 4e-3, 4e-2, 4e-1, | ||
| 10938 | 4e0, 4e1, 4e2, 4e3, 5e-5, 5e-4, 5e-3, 5e-2, | ||
| 10939 | 5e-1, 5e0, 5e1, 5e2, 5e3, 6e-5, 6e-4, 6e-3, | ||
| 10940 | 6e-2, 6e-1, 6e0, 6e1, 6e2, 6e3, 7e-5, 7e-4, | ||
| 10941 | }); | ||
| 10942 | try testArgs(@Vector(64, u16), @Vector(64, f80), .{ | ||
| 10943 | 7e-3, 7e-2, 7e-1, 7e0, 7e1, 7e2, 7e3, 8e-5, | ||
| 10944 | 8e-4, 8e-3, 8e-2, 8e-1, 8e0, 8e1, 8e2, 8e3, | ||
| 10945 | 9e-5, 9e-4, 9e-3, 9e-2, 9e-1, 9e0, 9e1, 9e2, | ||
| 10946 | 9e3, 11e-5, 11e-4, 11e-3, 11e-2, 11e-1, 11e0, 11e1, | ||
| 10947 | 11e2, 11e3, 13e-5, 13e-4, 13e-3, 13e-2, 13e-1, 13e0, | ||
| 10948 | 13e1, 13e2, 13e3, 14e-5, 14e-4, 14e-3, 14e-2, 14e-1, | ||
| 10949 | 14e0, 14e1, 14e2, 14e3, 15e-5, 15e-4, 15e-3, 15e-2, | ||
| 10950 | 15e-1, 15e0, 15e1, 15e2, 15e3, 16e-5, 16e-4, 16e-3, | ||
| 10951 | }); | ||
| 10952 | try testArgs(@Vector(128, u16), @Vector(128, f80), .{ | ||
| 10953 | 16e-2, 16e-1, 16e0, 16e1, 16e2, 16e3, 17e-5, 17e-4, | ||
| 10954 | 17e-3, 17e-2, 17e-1, 17e0, 17e1, 17e2, 17e3, 18e-5, | ||
| 10955 | 18e-4, 18e-3, 18e-2, 18e-1, 18e0, 18e1, 18e2, 18e3, | ||
| 10956 | 19e-5, 19e-4, 19e-3, 19e-2, 19e-1, 19e0, 19e1, 19e2, | ||
| 10957 | 19e3, 21e-5, 21e-4, 21e-3, 21e-2, 21e-1, 21e0, 21e1, | ||
| 10958 | 21e2, 21e3, 22e-5, 22e-4, 22e-3, 22e-2, 22e-1, 22e0, | ||
| 10959 | 22e1, 22e2, 22e3, 23e-5, 23e-4, 23e-3, 23e-2, 23e-1, | ||
| 10960 | 23e0, 23e1, 23e2, 23e3, 24e-5, 24e-4, 24e-3, 24e-2, | ||
| 10961 | 24e-1, 24e0, 24e1, 24e2, 24e3, 25e-5, 25e-4, 25e-3, | ||
| 10962 | 25e-2, 25e-1, 25e0, 25e1, 25e2, 25e3, 26e-5, 26e-4, | ||
| 10963 | 26e-3, 26e-2, 26e-1, 26e0, 26e1, 26e2, 26e3, 27e-5, | ||
| 10964 | 27e-4, 27e-3, 27e-2, 27e-1, 27e0, 27e1, 27e2, 27e3, | ||
| 10965 | 28e-5, 28e-4, 28e-3, 28e-2, 28e-1, 28e0, 28e1, 28e2, | ||
| 10966 | 28e3, 29e-5, 29e-4, 29e-3, 29e-2, 29e-1, 29e0, 29e1, | ||
| 10967 | 29e2, 29e3, 31e-5, 31e-4, 31e-3, 31e-2, 31e-1, 31e0, | ||
| 10968 | 31e1, 31e2, 31e3, 32e-5, 32e-4, 32e-3, 32e-2, 32e-1, | ||
| 10969 | }); | ||
| 10970 | |||
| 10971 | try testArgs(@Vector(1, i32), @Vector(1, f80), .{ | ||
| 10972 | -0x0.8p32, | ||
| 10973 | }); | ||
| 10974 | try testArgs(@Vector(2, i32), @Vector(2, f80), .{ | ||
| 10975 | next(f80, -0x0.8p32, -0.0), next(f80, next(f80, -0x0.8p32, -0.0), -0.0), | ||
| 10976 | }); | ||
| 10977 | try testArgs(@Vector(4, i32), @Vector(4, f80), .{ | ||
| 10978 | -1e4, -1e3, -1e2, -1e1, | ||
| 10979 | }); | ||
| 10980 | try testArgs(@Vector(8, i32), @Vector(8, f80), .{ | ||
| 10981 | -1e0, -1e-1, -1e-2, -1e-3, -1e-4, -1e-5, -0.0, 0.0, | ||
| 10982 | }); | ||
| 10983 | try testArgs(@Vector(16, i32), @Vector(16, f80), .{ | ||
| 10984 | 1e-5, 1e-4, 1e-3, 1e-2, 1e-1, 1e0, 1e1, 1e2, | ||
| 10985 | 1e3, 1e4, next(f80, next(f80, 0x0.8p32, 0.0), 0.0), next(f80, 0x0.8p32, 0.0), -2e4, -2e3, -2e2, -2e1, | ||
| 10986 | }); | ||
| 10987 | try testArgs(@Vector(32, i32), @Vector(32, f80), .{ | ||
| 10988 | -2e0, -2e-1, -2e-2, -2e-3, -2e-4, -2e-5, 2e-5, 2e-4, | ||
| 10989 | 2e-3, 2e-2, 2e-1, 2e0, 2e1, 2e2, 2e3, 2e4, | ||
| 10990 | -3e4, -3e3, -3e2, -3e1, -3e0, -3e-1, -3e-2, -3e-3, | ||
| 10991 | -3e-4, -3e-5, 3e-5, 3e-4, 3e-3, 3e-2, 3e-1, 3e0, | ||
| 10992 | }); | ||
| 10993 | try testArgs(@Vector(64, i32), @Vector(64, f80), .{ | ||
| 10994 | 3e1, 3e2, 3e3, 3e4, -4e3, -4e2, -4e1, -4e0, | ||
| 10995 | -4e-1, -4e-2, -4e-3, -4e-4, -4e-5, 4e-5, 4e-4, 4e-3, | ||
| 10996 | 4e-2, 4e-1, 4e0, 4e1, 4e2, 4e3, -5e3, -5e2, | ||
| 10997 | -5e1, -5e0, -5e-1, -5e-2, -5e-3, -5e-4, -5e-5, 5e-5, | ||
| 10998 | 5e-4, 5e-3, 5e-2, 5e-1, 5e0, 5e1, 5e2, 5e3, | ||
| 10999 | -6e3, -6e2, -6e1, -6e0, -6e-1, -6e-2, -6e-3, -6e-4, | ||
| 11000 | -6e-5, 6e-5, 6e-4, 6e-3, 6e-2, 6e-1, 6e0, 6e1, | ||
| 11001 | 6e2, 6e3, -7e3, -7e2, -7e1, -7e0, -7e-1, -7e-2, | ||
| 11002 | }); | ||
| 11003 | try testArgs(@Vector(128, i32), @Vector(128, f80), .{ | ||
| 11004 | -7e-3, -7e-4, -7e-5, 7e-5, 7e-4, 7e-3, 7e-2, 7e-1, | ||
| 11005 | 7e0, 7e1, 7e2, 7e3, -8e3, -8e2, -8e1, -8e0, | ||
| 11006 | -8e-1, -8e-2, -8e-3, -8e-4, -8e-5, 8e-5, 8e-4, 8e-3, | ||
| 11007 | 8e-2, 8e-1, 8e0, 8e1, 8e2, 8e3, -9e3, -9e2, | ||
| 11008 | -9e1, -9e0, -9e-1, -9e-2, -9e-3, -9e-4, -9e-5, 9e-5, | ||
| 11009 | 9e-4, 9e-3, 9e-2, 9e-1, 9e0, 9e1, 9e2, 9e3, | ||
| 11010 | -11e3, -11e2, -11e1, -11e0, -11e-1, -11e-2, -11e-3, -11e-4, | ||
| 11011 | -11e-5, 11e-5, 11e-4, 11e-3, 11e-2, 11e-1, 11e0, 11e1, | ||
| 11012 | 11e2, 11e3, -12e3, -12e2, -12e1, -12e0, -12e-1, -12e-2, | ||
| 11013 | -12e-3, -12e-4, -12e-5, 12e-5, 12e-4, 12e-3, 12e-2, 12e-1, | ||
| 11014 | 12e0, 12e1, 12e2, 12e3, -13e3, -13e2, -13e1, -13e0, | ||
| 11015 | -13e-1, -13e-2, -13e-3, -13e-4, -13e-5, 13e-5, 13e-4, 13e-3, | ||
| 11016 | 13e-2, 13e-1, 13e0, 13e1, 13e2, -14e2, -14e1, -14e0, | ||
| 11017 | -14e-1, -14e-2, -14e-3, -14e-4, -14e-5, 14e-5, 14e-4, 14e-3, | ||
| 11018 | 14e-2, 14e-1, 14e0, 14e1, 14e2, 14e3, -15e3, -15e2, | ||
| 11019 | -15e1, -15e0, -15e-1, -15e-2, -15e-3, -15e-4, -15e-5, 15e-5, | ||
| 11020 | }); | ||
| 11021 | |||
| 11022 | try testArgs(@Vector(1, u32), @Vector(1, f80), .{ | ||
| 11023 | -0.0, | ||
| 11024 | }); | ||
| 11025 | try testArgs(@Vector(2, u32), @Vector(2, f80), .{ | ||
| 11026 | 0.0, 1e-5, | ||
| 11027 | }); | ||
| 11028 | try testArgs(@Vector(4, u32), @Vector(4, f80), .{ | ||
| 11029 | 1e-4, 1e-3, 1e-2, 1e-1, | ||
| 11030 | }); | ||
| 11031 | try testArgs(@Vector(8, u32), @Vector(8, f80), .{ | ||
| 11032 | 1e0, 1e1, 1e2, 1e3, 1e4, next(f80, next(f80, 0x1p32, 0.0), 0.0), next(f80, 0x1p32, 0.0), 2e-5, | ||
| 11033 | }); | ||
| 11034 | try testArgs(@Vector(16, u32), @Vector(16, f80), .{ | ||
| 11035 | 2e-4, 2e-3, 2e-2, 2e-1, 2e0, 2e1, 2e2, 2e3, | ||
| 11036 | 2e4, 3e-5, 3e-4, 3e-3, 3e-2, 3e-1, 3e0, 3e1, | ||
| 11037 | }); | ||
| 11038 | try testArgs(@Vector(32, u32), @Vector(32, f80), .{ | ||
| 11039 | 3e2, 3e3, 3e4, 4e-5, 4e-4, 4e-3, 4e-2, 4e-1, | ||
| 11040 | 4e0, 4e1, 4e2, 4e3, 5e-5, 5e-4, 5e-3, 5e-2, | ||
| 11041 | 5e-1, 5e0, 5e1, 5e2, 5e3, 6e-5, 6e-4, 6e-3, | ||
| 11042 | 6e-2, 6e-1, 6e0, 6e1, 6e2, 6e3, 7e-5, 7e-4, | ||
| 11043 | }); | ||
| 11044 | try testArgs(@Vector(64, u32), @Vector(64, f80), .{ | ||
| 11045 | 7e-3, 7e-2, 7e-1, 7e0, 7e1, 7e2, 7e3, 8e-5, | ||
| 11046 | 8e-4, 8e-3, 8e-2, 8e-1, 8e0, 8e1, 8e2, 8e3, | ||
| 11047 | 9e-5, 9e-4, 9e-3, 9e-2, 9e-1, 9e0, 9e1, 9e2, | ||
| 11048 | 9e3, 11e-5, 11e-4, 11e-3, 11e-2, 11e-1, 11e0, 11e1, | ||
| 11049 | 11e2, 11e3, 13e-5, 13e-4, 13e-3, 13e-2, 13e-1, 13e0, | ||
| 11050 | 13e1, 13e2, 13e3, 14e-5, 14e-4, 14e-3, 14e-2, 14e-1, | ||
| 11051 | 14e0, 14e1, 14e2, 14e3, 15e-5, 15e-4, 15e-3, 15e-2, | ||
| 11052 | 15e-1, 15e0, 15e1, 15e2, 15e3, 16e-5, 16e-4, 16e-3, | ||
| 11053 | }); | ||
| 11054 | try testArgs(@Vector(128, u32), @Vector(128, f80), .{ | ||
| 11055 | 16e-2, 16e-1, 16e0, 16e1, 16e2, 16e3, 17e-5, 17e-4, | ||
| 11056 | 17e-3, 17e-2, 17e-1, 17e0, 17e1, 17e2, 17e3, 18e-5, | ||
| 11057 | 18e-4, 18e-3, 18e-2, 18e-1, 18e0, 18e1, 18e2, 18e3, | ||
| 11058 | 19e-5, 19e-4, 19e-3, 19e-2, 19e-1, 19e0, 19e1, 19e2, | ||
| 11059 | 19e3, 21e-5, 21e-4, 21e-3, 21e-2, 21e-1, 21e0, 21e1, | ||
| 11060 | 21e2, 21e3, 22e-5, 22e-4, 22e-3, 22e-2, 22e-1, 22e0, | ||
| 11061 | 22e1, 22e2, 22e3, 23e-5, 23e-4, 23e-3, 23e-2, 23e-1, | ||
| 11062 | 23e0, 23e1, 23e2, 23e3, 24e-5, 24e-4, 24e-3, 24e-2, | ||
| 11063 | 24e-1, 24e0, 24e1, 24e2, 24e3, 25e-5, 25e-4, 25e-3, | ||
| 11064 | 25e-2, 25e-1, 25e0, 25e1, 25e2, 25e3, 26e-5, 26e-4, | ||
| 11065 | 26e-3, 26e-2, 26e-1, 26e0, 26e1, 26e2, 26e3, 27e-5, | ||
| 11066 | 27e-4, 27e-3, 27e-2, 27e-1, 27e0, 27e1, 27e2, 27e3, | ||
| 11067 | 28e-5, 28e-4, 28e-3, 28e-2, 28e-1, 28e0, 28e1, 28e2, | ||
| 11068 | 28e3, 29e-5, 29e-4, 29e-3, 29e-2, 29e-1, 29e0, 29e1, | ||
| 11069 | 29e2, 29e3, 31e-5, 31e-4, 31e-3, 31e-2, 31e-1, 31e0, | ||
| 11070 | 31e1, 31e2, 31e3, 32e-5, 32e-4, 32e-3, 32e-2, 32e-1, | ||
| 11071 | }); | ||
| 11072 | |||
| 11073 | try testArgs(@Vector(1, i64), @Vector(1, f80), .{ | ||
| 11074 | -0x0.8p64, | ||
| 11075 | }); | ||
| 11076 | try testArgs(@Vector(2, i64), @Vector(2, f80), .{ | ||
| 11077 | next(f80, -0x0.8p64, -0.0), next(f80, next(f80, -0x0.8p64, -0.0), -0.0), | ||
| 11078 | }); | ||
| 11079 | try testArgs(@Vector(4, i64), @Vector(4, f80), .{ | ||
| 11080 | -1e4, -1e3, -1e2, -1e1, | ||
| 11081 | }); | ||
| 11082 | try testArgs(@Vector(8, i64), @Vector(8, f80), .{ | ||
| 11083 | -1e0, -1e-1, -1e-2, -1e-3, -1e-4, -1e-5, -0.0, 0.0, | ||
| 11084 | }); | ||
| 11085 | try testArgs(@Vector(16, i64), @Vector(16, f80), .{ | ||
| 11086 | 1e-5, 1e-4, 1e-3, 1e-2, 1e-1, 1e0, 1e1, 1e2, | ||
| 11087 | 1e3, 1e4, next(f80, next(f80, 0x0.8p64, 0.0), 0.0), next(f80, 0x0.8p64, 0.0), -2e4, -2e3, -2e2, -2e1, | ||
| 11088 | }); | ||
| 11089 | try testArgs(@Vector(32, i64), @Vector(32, f80), .{ | ||
| 11090 | -2e0, -2e-1, -2e-2, -2e-3, -2e-4, -2e-5, 2e-5, 2e-4, | ||
| 11091 | 2e-3, 2e-2, 2e-1, 2e0, 2e1, 2e2, 2e3, 2e4, | ||
| 11092 | -3e4, -3e3, -3e2, -3e1, -3e0, -3e-1, -3e-2, -3e-3, | ||
| 11093 | -3e-4, -3e-5, 3e-5, 3e-4, 3e-3, 3e-2, 3e-1, 3e0, | ||
| 11094 | }); | ||
| 11095 | try testArgs(@Vector(64, i64), @Vector(64, f80), .{ | ||
| 11096 | 3e1, 3e2, 3e3, 3e4, -4e3, -4e2, -4e1, -4e0, | ||
| 11097 | -4e-1, -4e-2, -4e-3, -4e-4, -4e-5, 4e-5, 4e-4, 4e-3, | ||
| 11098 | 4e-2, 4e-1, 4e0, 4e1, 4e2, 4e3, -5e3, -5e2, | ||
| 11099 | -5e1, -5e0, -5e-1, -5e-2, -5e-3, -5e-4, -5e-5, 5e-5, | ||
| 11100 | 5e-4, 5e-3, 5e-2, 5e-1, 5e0, 5e1, 5e2, 5e3, | ||
| 11101 | -6e3, -6e2, -6e1, -6e0, -6e-1, -6e-2, -6e-3, -6e-4, | ||
| 11102 | -6e-5, 6e-5, 6e-4, 6e-3, 6e-2, 6e-1, 6e0, 6e1, | ||
| 11103 | 6e2, 6e3, -7e3, -7e2, -7e1, -7e0, -7e-1, -7e-2, | ||
| 11104 | }); | ||
| 11105 | try testArgs(@Vector(128, i64), @Vector(128, f80), .{ | ||
| 11106 | -7e-3, -7e-4, -7e-5, 7e-5, 7e-4, 7e-3, 7e-2, 7e-1, | ||
| 11107 | 7e0, 7e1, 7e2, 7e3, -8e3, -8e2, -8e1, -8e0, | ||
| 11108 | -8e-1, -8e-2, -8e-3, -8e-4, -8e-5, 8e-5, 8e-4, 8e-3, | ||
| 11109 | 8e-2, 8e-1, 8e0, 8e1, 8e2, 8e3, -9e3, -9e2, | ||
| 11110 | -9e1, -9e0, -9e-1, -9e-2, -9e-3, -9e-4, -9e-5, 9e-5, | ||
| 11111 | 9e-4, 9e-3, 9e-2, 9e-1, 9e0, 9e1, 9e2, 9e3, | ||
| 11112 | -11e3, -11e2, -11e1, -11e0, -11e-1, -11e-2, -11e-3, -11e-4, | ||
| 11113 | -11e-5, 11e-5, 11e-4, 11e-3, 11e-2, 11e-1, 11e0, 11e1, | ||
| 11114 | 11e2, 11e3, -12e3, -12e2, -12e1, -12e0, -12e-1, -12e-2, | ||
| 11115 | -12e-3, -12e-4, -12e-5, 12e-5, 12e-4, 12e-3, 12e-2, 12e-1, | ||
| 11116 | 12e0, 12e1, 12e2, 12e3, -13e3, -13e2, -13e1, -13e0, | ||
| 11117 | -13e-1, -13e-2, -13e-3, -13e-4, -13e-5, 13e-5, 13e-4, 13e-3, | ||
| 11118 | 13e-2, 13e-1, 13e0, 13e1, 13e2, -14e2, -14e1, -14e0, | ||
| 11119 | -14e-1, -14e-2, -14e-3, -14e-4, -14e-5, 14e-5, 14e-4, 14e-3, | ||
| 11120 | 14e-2, 14e-1, 14e0, 14e1, 14e2, 14e3, -15e3, -15e2, | ||
| 11121 | -15e1, -15e0, -15e-1, -15e-2, -15e-3, -15e-4, -15e-5, 15e-5, | ||
| 11122 | }); | ||
| 11123 | |||
| 11124 | try testArgs(@Vector(1, u64), @Vector(1, f80), .{ | ||
| 11125 | -0.0, | ||
| 11126 | }); | ||
| 11127 | try testArgs(@Vector(2, u64), @Vector(2, f80), .{ | ||
| 11128 | 0.0, 1e-5, | ||
| 11129 | }); | ||
| 11130 | try testArgs(@Vector(4, u64), @Vector(4, f80), .{ | ||
| 11131 | 1e-4, 1e-3, 1e-2, 1e-1, | ||
| 11132 | }); | ||
| 11133 | try testArgs(@Vector(8, u64), @Vector(8, f80), .{ | ||
| 11134 | 1e0, 1e1, 1e2, 1e3, 1e4, next(f80, next(f80, 0x1p64, 0.0), 0.0), next(f80, 0x1p64, 0.0), 2e-5, | ||
| 11135 | }); | ||
| 11136 | try testArgs(@Vector(16, u64), @Vector(16, f80), .{ | ||
| 11137 | 2e-4, 2e-3, 2e-2, 2e-1, 2e0, 2e1, 2e2, 2e3, | ||
| 11138 | 2e4, 3e-5, 3e-4, 3e-3, 3e-2, 3e-1, 3e0, 3e1, | ||
| 11139 | }); | ||
| 11140 | try testArgs(@Vector(32, u64), @Vector(32, f80), .{ | ||
| 11141 | 3e2, 3e3, 3e4, 4e-5, 4e-4, 4e-3, 4e-2, 4e-1, | ||
| 11142 | 4e0, 4e1, 4e2, 4e3, 5e-5, 5e-4, 5e-3, 5e-2, | ||
| 11143 | 5e-1, 5e0, 5e1, 5e2, 5e3, 6e-5, 6e-4, 6e-3, | ||
| 11144 | 6e-2, 6e-1, 6e0, 6e1, 6e2, 6e3, 7e-5, 7e-4, | ||
| 11145 | }); | ||
| 11146 | try testArgs(@Vector(64, u64), @Vector(64, f80), .{ | ||
| 11147 | 7e-3, 7e-2, 7e-1, 7e0, 7e1, 7e2, 7e3, 8e-5, | ||
| 11148 | 8e-4, 8e-3, 8e-2, 8e-1, 8e0, 8e1, 8e2, 8e3, | ||
| 11149 | 9e-5, 9e-4, 9e-3, 9e-2, 9e-1, 9e0, 9e1, 9e2, | ||
| 11150 | 9e3, 11e-5, 11e-4, 11e-3, 11e-2, 11e-1, 11e0, 11e1, | ||
| 11151 | 11e2, 11e3, 13e-5, 13e-4, 13e-3, 13e-2, 13e-1, 13e0, | ||
| 11152 | 13e1, 13e2, 13e3, 14e-5, 14e-4, 14e-3, 14e-2, 14e-1, | ||
| 11153 | 14e0, 14e1, 14e2, 14e3, 15e-5, 15e-4, 15e-3, 15e-2, | ||
| 11154 | 15e-1, 15e0, 15e1, 15e2, 15e3, 16e-5, 16e-4, 16e-3, | ||
| 11155 | }); | ||
| 11156 | try testArgs(@Vector(128, u64), @Vector(128, f80), .{ | ||
| 11157 | 16e-2, 16e-1, 16e0, 16e1, 16e2, 16e3, 17e-5, 17e-4, | ||
| 11158 | 17e-3, 17e-2, 17e-1, 17e0, 17e1, 17e2, 17e3, 18e-5, | ||
| 11159 | 18e-4, 18e-3, 18e-2, 18e-1, 18e0, 18e1, 18e2, 18e3, | ||
| 11160 | 19e-5, 19e-4, 19e-3, 19e-2, 19e-1, 19e0, 19e1, 19e2, | ||
| 11161 | 19e3, 21e-5, 21e-4, 21e-3, 21e-2, 21e-1, 21e0, 21e1, | ||
| 11162 | 21e2, 21e3, 22e-5, 22e-4, 22e-3, 22e-2, 22e-1, 22e0, | ||
| 11163 | 22e1, 22e2, 22e3, 23e-5, 23e-4, 23e-3, 23e-2, 23e-1, | ||
| 11164 | 23e0, 23e1, 23e2, 23e3, 24e-5, 24e-4, 24e-3, 24e-2, | ||
| 11165 | 24e-1, 24e0, 24e1, 24e2, 24e3, 25e-5, 25e-4, 25e-3, | ||
| 11166 | 25e-2, 25e-1, 25e0, 25e1, 25e2, 25e3, 26e-5, 26e-4, | ||
| 11167 | 26e-3, 26e-2, 26e-1, 26e0, 26e1, 26e2, 26e3, 27e-5, | ||
| 11168 | 27e-4, 27e-3, 27e-2, 27e-1, 27e0, 27e1, 27e2, 27e3, | ||
| 11169 | 28e-5, 28e-4, 28e-3, 28e-2, 28e-1, 28e0, 28e1, 28e2, | ||
| 11170 | 28e3, 29e-5, 29e-4, 29e-3, 29e-2, 29e-1, 29e0, 29e1, | ||
| 11171 | 29e2, 29e3, 31e-5, 31e-4, 31e-3, 31e-2, 31e-1, 31e0, | ||
| 11172 | 31e1, 31e2, 31e3, 32e-5, 32e-4, 32e-3, 32e-2, 32e-1, | ||
| 11173 | }); | ||
| 11174 | |||
| 11175 | try testArgs(@Vector(1, i128), @Vector(1, f80), .{ | ||
| 11176 | -0x0.8p128, | ||
| 11177 | }); | ||
| 11178 | try testArgs(@Vector(2, i128), @Vector(2, f80), .{ | ||
| 11179 | next(f80, -0x0.8p128, -0.0), next(f80, next(f80, -0x0.8p128, -0.0), -0.0), | ||
| 11180 | }); | ||
| 11181 | try testArgs(@Vector(4, i128), @Vector(4, f80), .{ | ||
| 11182 | -1e4, -1e3, -1e2, -1e1, | ||
| 11183 | }); | ||
| 11184 | try testArgs(@Vector(8, i128), @Vector(8, f80), .{ | ||
| 11185 | -1e0, -1e-1, -1e-2, -1e-3, -1e-4, -1e-5, -0.0, 0.0, | ||
| 11186 | }); | ||
| 11187 | try testArgs(@Vector(16, i128), @Vector(16, f80), .{ | ||
| 11188 | 1e-5, 1e-4, 1e-3, 1e-2, 1e-1, 1e0, 1e1, 1e2, | ||
| 11189 | 1e3, 1e4, next(f80, next(f80, 0x0.8p128, 0.0), 0.0), next(f80, 0x0.8p128, 0.0), -2e4, -2e3, -2e2, -2e1, | ||
| 11190 | }); | ||
| 11191 | try testArgs(@Vector(32, i128), @Vector(32, f80), .{ | ||
| 11192 | -2e0, -2e-1, -2e-2, -2e-3, -2e-4, -2e-5, 2e-5, 2e-4, | ||
| 11193 | 2e-3, 2e-2, 2e-1, 2e0, 2e1, 2e2, 2e3, 2e4, | ||
| 11194 | -3e4, -3e3, -3e2, -3e1, -3e0, -3e-1, -3e-2, -3e-3, | ||
| 11195 | -3e-4, -3e-5, 3e-5, 3e-4, 3e-3, 3e-2, 3e-1, 3e0, | ||
| 11196 | }); | ||
| 11197 | try testArgs(@Vector(64, i128), @Vector(64, f80), .{ | ||
| 11198 | 3e1, 3e2, 3e3, 3e4, -4e3, -4e2, -4e1, -4e0, | ||
| 11199 | -4e-1, -4e-2, -4e-3, -4e-4, -4e-5, 4e-5, 4e-4, 4e-3, | ||
| 11200 | 4e-2, 4e-1, 4e0, 4e1, 4e2, 4e3, -5e3, -5e2, | ||
| 11201 | -5e1, -5e0, -5e-1, -5e-2, -5e-3, -5e-4, -5e-5, 5e-5, | ||
| 11202 | 5e-4, 5e-3, 5e-2, 5e-1, 5e0, 5e1, 5e2, 5e3, | ||
| 11203 | -6e3, -6e2, -6e1, -6e0, -6e-1, -6e-2, -6e-3, -6e-4, | ||
| 11204 | -6e-5, 6e-5, 6e-4, 6e-3, 6e-2, 6e-1, 6e0, 6e1, | ||
| 11205 | 6e2, 6e3, -7e3, -7e2, -7e1, -7e0, -7e-1, -7e-2, | ||
| 11206 | }); | ||
| 11207 | |||
| 11208 | try testArgs(@Vector(1, u128), @Vector(1, f80), .{ | ||
| 11209 | -0.0, | ||
| 11210 | }); | ||
| 11211 | try testArgs(@Vector(2, u128), @Vector(2, f80), .{ | ||
| 11212 | 0.0, 1e-5, | ||
| 11213 | }); | ||
| 11214 | try testArgs(@Vector(4, u128), @Vector(4, f80), .{ | ||
| 11215 | 1e-4, 1e-3, 1e-2, 1e-1, | ||
| 11216 | }); | ||
| 11217 | try testArgs(@Vector(8, u128), @Vector(8, f80), .{ | ||
| 11218 | 1e0, 1e1, 1e2, 1e3, 1e4, next(f80, next(f80, 0x1p128, 0.0), 0.0), next(f80, 0x1p128, 0.0), 2e-5, | ||
| 11219 | }); | ||
| 11220 | try testArgs(@Vector(16, u128), @Vector(16, f80), .{ | ||
| 11221 | 2e-4, 2e-3, 2e-2, 2e-1, 2e0, 2e1, 2e2, 2e3, | ||
| 11222 | 2e4, 3e-5, 3e-4, 3e-3, 3e-2, 3e-1, 3e0, 3e1, | ||
| 11223 | }); | ||
| 11224 | try testArgs(@Vector(32, u128), @Vector(32, f80), .{ | ||
| 11225 | 3e2, 3e3, 3e4, 4e-5, 4e-4, 4e-3, 4e-2, 4e-1, | ||
| 11226 | 4e0, 4e1, 4e2, 4e3, 5e-5, 5e-4, 5e-3, 5e-2, | ||
| 11227 | 5e-1, 5e0, 5e1, 5e2, 5e3, 6e-5, 6e-4, 6e-3, | ||
| 11228 | 6e-2, 6e-1, 6e0, 6e1, 6e2, 6e3, 7e-5, 7e-4, | ||
| 11229 | }); | ||
| 11230 | try testArgs(@Vector(64, u128), @Vector(64, f80), .{ | ||
| 11231 | 7e-3, 7e-2, 7e-1, 7e0, 7e1, 7e2, 7e3, 8e-5, | ||
| 11232 | 8e-4, 8e-3, 8e-2, 8e-1, 8e0, 8e1, 8e2, 8e3, | ||
| 11233 | 9e-5, 9e-4, 9e-3, 9e-2, 9e-1, 9e0, 9e1, 9e2, | ||
| 11234 | 9e3, 11e-5, 11e-4, 11e-3, 11e-2, 11e-1, 11e0, 11e1, | ||
| 11235 | 11e2, 11e3, 13e-5, 13e-4, 13e-3, 13e-2, 13e-1, 13e0, | ||
| 11236 | 13e1, 13e2, 13e3, 14e-5, 14e-4, 14e-3, 14e-2, 14e-1, | ||
| 11237 | 14e0, 14e1, 14e2, 14e3, 15e-5, 15e-4, 15e-3, 15e-2, | ||
| 11238 | 15e-1, 15e0, 15e1, 15e2, 15e3, 16e-5, 16e-4, 16e-3, | ||
| 11239 | }); | ||
| 11240 | |||
| 11241 | try testArgs(@Vector(1, i256), @Vector(1, f80), .{ | ||
| 11242 | -0x0.8p256, | ||
| 11243 | }); | ||
| 11244 | try testArgs(@Vector(2, i256), @Vector(2, f80), .{ | ||
| 11245 | next(f80, -0x0.8p256, -0.0), next(f80, next(f80, -0x0.8p256, -0.0), -0.0), | ||
| 11246 | }); | ||
| 11247 | try testArgs(@Vector(4, i256), @Vector(4, f80), .{ | ||
| 11248 | -1e4, -1e3, -1e2, -1e1, | ||
| 11249 | }); | ||
| 11250 | try testArgs(@Vector(8, i256), @Vector(8, f80), .{ | ||
| 11251 | -1e0, -1e-1, -1e-2, -1e-3, -1e-4, -1e-5, -0.0, 0.0, | ||
| 11252 | }); | ||
| 11253 | try testArgs(@Vector(16, i256), @Vector(16, f80), .{ | ||
| 11254 | 1e-5, 1e-4, 1e-3, 1e-2, 1e-1, 1e0, 1e1, 1e2, | ||
| 11255 | 1e3, 1e4, next(f80, next(f80, 0x0.8p256, 0.0), 0.0), next(f80, 0x0.8p256, 0.0), -2e4, -2e3, -2e2, -2e1, | ||
| 11256 | }); | ||
| 11257 | try testArgs(@Vector(32, i256), @Vector(32, f80), .{ | ||
| 11258 | -2e0, -2e-1, -2e-2, -2e-3, -2e-4, -2e-5, 2e-5, 2e-4, | ||
| 11259 | 2e-3, 2e-2, 2e-1, 2e0, 2e1, 2e2, 2e3, 2e4, | ||
| 11260 | -3e4, -3e3, -3e2, -3e1, -3e0, -3e-1, -3e-2, -3e-3, | ||
| 11261 | -3e-4, -3e-5, 3e-5, 3e-4, 3e-3, 3e-2, 3e-1, 3e0, | ||
| 11262 | }); | ||
| 11263 | try testArgs(@Vector(64, i256), @Vector(64, f80), .{ | ||
| 11264 | 3e1, 3e2, 3e3, 3e4, -4e3, -4e2, -4e1, -4e0, | ||
| 11265 | -4e-1, -4e-2, -4e-3, -4e-4, -4e-5, 4e-5, 4e-4, 4e-3, | ||
| 11266 | 4e-2, 4e-1, 4e0, 4e1, 4e2, 4e3, -5e3, -5e2, | ||
| 11267 | -5e1, -5e0, -5e-1, -5e-2, -5e-3, -5e-4, -5e-5, 5e-5, | ||
| 11268 | 5e-4, 5e-3, 5e-2, 5e-1, 5e0, 5e1, 5e2, 5e3, | ||
| 11269 | -6e3, -6e2, -6e1, -6e0, -6e-1, -6e-2, -6e-3, -6e-4, | ||
| 11270 | -6e-5, 6e-5, 6e-4, 6e-3, 6e-2, 6e-1, 6e0, 6e1, | ||
| 11271 | 6e2, 6e3, -7e3, -7e2, -7e1, -7e0, -7e-1, -7e-2, | ||
| 11272 | }); | ||
| 11273 | |||
| 11274 | try testArgs(@Vector(1, u256), @Vector(1, f80), .{ | ||
| 11275 | -0.0, | ||
| 11276 | }); | ||
| 11277 | try testArgs(@Vector(2, u256), @Vector(2, f80), .{ | ||
| 11278 | 0.0, 1e-5, | ||
| 11279 | }); | ||
| 11280 | try testArgs(@Vector(4, u256), @Vector(4, f80), .{ | ||
| 11281 | 1e-4, 1e-3, 1e-2, 1e-1, | ||
| 11282 | }); | ||
| 11283 | try testArgs(@Vector(8, u256), @Vector(8, f80), .{ | ||
| 11284 | 1e0, 1e1, 1e2, 1e3, 1e4, next(f80, next(f80, 0x1p256, 0.0), 0.0), next(f80, 0x1p256, 0.0), 2e-5, | ||
| 11285 | }); | ||
| 11286 | try testArgs(@Vector(16, u256), @Vector(16, f80), .{ | ||
| 11287 | 2e-4, 2e-3, 2e-2, 2e-1, 2e0, 2e1, 2e2, 2e3, | ||
| 11288 | 2e4, 3e-5, 3e-4, 3e-3, 3e-2, 3e-1, 3e0, 3e1, | ||
| 11289 | }); | ||
| 11290 | try testArgs(@Vector(32, u256), @Vector(32, f80), .{ | ||
| 11291 | 3e2, 3e3, 3e4, 4e-5, 4e-4, 4e-3, 4e-2, 4e-1, | ||
| 11292 | 4e0, 4e1, 4e2, 4e3, 5e-5, 5e-4, 5e-3, 5e-2, | ||
| 11293 | 5e-1, 5e0, 5e1, 5e2, 5e3, 6e-5, 6e-4, 6e-3, | ||
| 11294 | 6e-2, 6e-1, 6e0, 6e1, 6e2, 6e3, 7e-5, 7e-4, | ||
| 11295 | }); | ||
| 11296 | try testArgs(@Vector(64, u256), @Vector(64, f80), .{ | ||
| 11297 | 7e-3, 7e-2, 7e-1, 7e0, 7e1, 7e2, 7e3, 8e-5, | ||
| 11298 | 8e-4, 8e-3, 8e-2, 8e-1, 8e0, 8e1, 8e2, 8e3, | ||
| 11299 | 9e-5, 9e-4, 9e-3, 9e-2, 9e-1, 9e0, 9e1, 9e2, | ||
| 11300 | 9e3, 11e-5, 11e-4, 11e-3, 11e-2, 11e-1, 11e0, 11e1, | ||
| 11301 | 11e2, 11e3, 13e-5, 13e-4, 13e-3, 13e-2, 13e-1, 13e0, | ||
| 11302 | 13e1, 13e2, 13e3, 14e-5, 14e-4, 14e-3, 14e-2, 14e-1, | ||
| 11303 | 14e0, 14e1, 14e2, 14e3, 15e-5, 15e-4, 15e-3, 15e-2, | ||
| 11304 | 15e-1, 15e0, 15e1, 15e2, 15e3, 16e-5, 16e-4, 16e-3, | ||
| 11305 | }); | ||
| 11306 | |||
| 11307 | try testArgs(@Vector(1, i8), @Vector(1, f128), .{ | ||
| 11308 | -0x0.8p8, | ||
| 11309 | }); | ||
| 11310 | try testArgs(@Vector(2, i8), @Vector(2, f128), .{ | ||
| 11311 | next(f128, -0x0.8p8, -0.0), next(f128, next(f128, -0x0.8p8, -0.0), -0.0), | ||
| 11312 | }); | ||
| 11313 | try testArgs(@Vector(4, i8), @Vector(4, f128), .{ | ||
| 11314 | -1e2, -1e1, -1e0, -1e-1, | ||
| 11315 | }); | ||
| 11316 | try testArgs(@Vector(8, i8), @Vector(8, f128), .{ | ||
| 11317 | -1e-2, -1e-3, -1e-4, -1e-5, -0.0, 0.0, 1e-5, 1e-4, | ||
| 11318 | }); | ||
| 11319 | try testArgs(@Vector(16, i8), @Vector(16, f128), .{ | ||
| 11320 | 1e-3, 1e-2, 1e-1, 1e0, 1e1, 1e2, next(f128, next(f128, 0x0.8p8, 0.0), 0.0), next(f128, 0x0.8p8, 0.0), | ||
| 11321 | -2e1, -2e0, -2e-1, -2e-2, -2e-3, -2e-4, -2e-5, 2e-5, | ||
| 11322 | }); | ||
| 11323 | try testArgs(@Vector(32, i8), @Vector(32, f128), .{ | ||
| 11324 | 2e-4, 2e-3, 2e-2, 2e-1, 2e0, 2e1, -3e1, -3e0, | ||
| 11325 | -3e-1, -3e-2, -3e-3, -3e-4, -3e-5, 3e-5, 3e-4, 3e-3, | ||
| 11326 | 3e-2, 3e-1, 3e0, 3e1, -4e1, -4e0, -4e-1, -4e-2, | ||
| 11327 | -4e-3, -4e-4, -4e-5, 4e-5, 4e-4, 4e-3, 4e-2, 4e-1, | ||
| 11328 | }); | ||
| 11329 | try testArgs(@Vector(64, i8), @Vector(64, f128), .{ | ||
| 11330 | 4e0, 4e1, -5e1, -5e0, -5e-1, -5e-2, -5e-3, -5e-4, | ||
| 11331 | -5e-5, 5e-5, 5e-4, 5e-3, 5e-2, 5e-1, 5e0, 5e1, | ||
| 11332 | -6e1, -6e0, -6e-1, -6e-2, -6e-3, -6e-4, -6e-5, 6e-5, | ||
| 11333 | 6e-4, 6e-3, 6e-2, 6e-1, 6e0, 6e1, -7e1, -7e0, | ||
| 11334 | -7e-1, -7e-2, -7e-3, -7e-4, -7e-5, 7e-5, 7e-4, 7e-3, | ||
| 11335 | 7e-2, 7e-1, 7e0, 7e1, -8e1, -8e0, -8e-1, -8e-2, | ||
| 11336 | -8e-3, -8e-4, -8e-5, 8e-5, 8e-4, 8e-3, 8e-2, 8e-1, | ||
| 11337 | 8e0, 8e1, -9e1, -9e0, -9e-1, -9e-2, -9e-3, -9e-4, | ||
| 11338 | }); | ||
| 11339 | try testArgs(@Vector(128, i8), @Vector(128, f128), .{ | ||
| 11340 | -9e-5, 9e-5, 9e-4, 9e-3, 9e-2, 9e-1, 9e0, 9e1, | ||
| 11341 | -11e1, -11e0, -11e-1, -11e-2, -11e-3, -11e-4, -11e-5, 11e-5, | ||
| 11342 | 11e-4, 11e-3, 11e-2, 11e-1, 11e0, 11e1, -12e1, -12e0, | ||
| 11343 | -12e-1, -12e-2, -12e-3, -12e-4, -12e-5, 12e-5, 12e-4, 12e-3, | ||
| 11344 | 12e-2, 12e-1, 12e0, 12e1, -13e0, -13e-1, -13e-2, -13e-3, | ||
| 11345 | -13e-4, -13e-5, 13e-5, 13e-4, 13e-3, 13e-2, 13e-1, 13e0, | ||
| 11346 | -14e0, -14e-1, -14e-2, -14e-3, -14e-4, -14e-5, 14e-5, 14e-4, | ||
| 11347 | 14e-3, 14e-2, 14e-1, 14e0, -15e0, -15e-1, -15e-2, -15e-3, | ||
| 11348 | -15e-4, -15e-5, 15e-5, 15e-4, 15e-3, 15e-2, 15e-1, 15e0, | ||
| 11349 | -16e0, -16e-1, -16e-2, -16e-3, -16e-4, -16e-5, 16e-5, 16e-4, | ||
| 11350 | 16e-3, 16e-2, 16e-1, 16e0, -17e0, -17e-1, -17e-2, -17e-3, | ||
| 11351 | -17e-4, -17e-5, 17e-5, 17e-4, 17e-3, 17e-2, 17e-1, 17e0, | ||
| 11352 | -18e0, -18e-1, -18e-2, -18e-3, -18e-4, -18e-5, 18e-5, 18e-4, | ||
| 11353 | 18e-3, 18e-2, 18e-1, 18e0, -19e0, -19e-1, -19e-2, -19e-3, | ||
| 11354 | -19e-4, -19e-5, 19e-5, 19e-4, 19e-3, 19e-2, 19e-1, 19e0, | ||
| 11355 | -21e0, -21e-1, -21e-2, -21e-3, -21e-4, -21e-5, 21e-5, 21e-4, | ||
| 11356 | }); | ||
| 11357 | |||
| 11358 | try testArgs(@Vector(1, u8), @Vector(1, f128), .{ | ||
| 11359 | -0.0, | ||
| 11360 | }); | ||
| 11361 | try testArgs(@Vector(2, u8), @Vector(2, f128), .{ | ||
| 11362 | 0.0, 1e-5, | ||
| 11363 | }); | ||
| 11364 | try testArgs(@Vector(4, u8), @Vector(4, f128), .{ | ||
| 11365 | 1e-4, 1e-3, 1e-2, 1e-1, | ||
| 11366 | }); | ||
| 11367 | try testArgs(@Vector(8, u8), @Vector(8, f128), .{ | ||
| 11368 | 1e0, 1e1, 1e2, next(f128, next(f128, 0x1p8, 0.0), 0.0), next(f128, 0x1p8, 0.0), 2e-5, 2e-4, 2e-3, | ||
| 11369 | }); | ||
| 11370 | try testArgs(@Vector(16, u8), @Vector(16, f128), .{ | ||
| 11371 | 2e-2, 2e-1, 2e0, 2e1, 2e2, 3e-5, 3e-4, 3e-3, | ||
| 11372 | 3e-2, 3e-1, 3e0, 3e1, 4e-5, 4e-4, 4e-3, 4e-2, | ||
| 11373 | }); | ||
| 11374 | try testArgs(@Vector(32, u8), @Vector(32, f128), .{ | ||
| 11375 | 4e-1, 4e0, 4e1, 5e-5, 5e-4, 5e-3, 5e-2, 5e-1, | ||
| 11376 | 5e0, 5e1, 6e-5, 6e-4, 6e-3, 6e-2, 6e-1, 6e0, | ||
| 11377 | 6e1, 7e-5, 7e-4, 7e-3, 7e-2, 7e-1, 7e0, 7e1, | ||
| 11378 | 8e-5, 8e-4, 8e-3, 8e-2, 8e-1, 8e0, 8e1, 9e-5, | ||
| 11379 | }); | ||
| 11380 | try testArgs(@Vector(64, u8), @Vector(64, f128), .{ | ||
| 11381 | 9e-4, 9e-3, 9e-2, 9e-1, 9e0, 9e1, 11e-5, 11e-4, | ||
| 11382 | 11e-3, 11e-2, 11e-1, 11e0, 11e1, 13e-5, 13e-4, 13e-3, | ||
| 11383 | 13e-2, 13e-1, 13e0, 14e-5, 14e-4, 14e-3, 14e-2, 14e-1, | ||
| 11384 | 14e0, 14e1, 15e-5, 15e-4, 15e-3, 15e-2, 15e-1, 15e0, | ||
| 11385 | 15e1, 16e-5, 16e-4, 16e-3, 16e-2, 16e-1, 16e0, 16e1, | ||
| 11386 | 17e-5, 17e-4, 17e-3, 17e-2, 17e-1, 17e0, 17e1, 18e-5, | ||
| 11387 | 18e-4, 18e-3, 18e-2, 18e-1, 18e0, 18e1, 19e-5, 19e-4, | ||
| 11388 | 19e-3, 19e-2, 19e-1, 19e0, 19e1, 21e-5, 21e-4, 21e-3, | ||
| 11389 | }); | ||
| 11390 | try testArgs(@Vector(128, u8), @Vector(128, f128), .{ | ||
| 11391 | 21e-2, 21e-1, 21e0, 21e1, 22e-5, 22e-4, 22e-3, 22e-2, | ||
| 11392 | 22e-1, 22e0, 22e1, 23e-5, 23e-4, 23e-3, 23e-2, 23e-1, | ||
| 11393 | 23e0, 23e1, 24e-5, 24e-4, 24e-3, 24e-2, 24e-1, 24e0, | ||
| 11394 | 24e1, 25e-5, 25e-4, 25e-3, 25e-2, 25e-1, 25e0, 25e1, | ||
| 11395 | 26e-5, 26e-4, 26e-3, 26e-2, 26e-1, 26e0, 27e-5, 27e-4, | ||
| 11396 | 27e-3, 27e-2, 27e-1, 27e0, 28e-5, 28e-4, 28e-3, 28e-2, | ||
| 11397 | 28e-1, 28e0, 29e-5, 29e-4, 29e-3, 29e-2, 29e-1, 29e0, | ||
| 11398 | 31e-5, 31e-4, 31e-3, 31e-2, 31e-1, 31e0, 32e-5, 32e-4, | ||
| 11399 | 32e-3, 32e-2, 32e-1, 32e0, 33e-5, 33e-4, 33e-3, 33e-2, | ||
| 11400 | 33e-1, 33e0, 34e-5, 34e-4, 34e-3, 34e-2, 34e-1, 34e0, | ||
| 11401 | 35e-5, 35e-4, 35e-3, 35e-2, 35e-1, 35e0, 36e-5, 36e-4, | ||
| 11402 | 36e-3, 36e-2, 36e-1, 36e0, 37e-5, 37e-4, 37e-3, 37e-2, | ||
| 11403 | 37e-1, 37e0, 38e-5, 38e-4, 38e-3, 38e-2, 38e-1, 38e0, | ||
| 11404 | 39e-5, 39e-4, 39e-3, 39e-2, 39e-1, 39e0, 41e-5, 41e-4, | ||
| 11405 | 41e-3, 41e-2, 41e-1, 41e0, 42e-5, 42e-4, 42e-3, 42e-2, | ||
| 11406 | 42e-1, 42e0, 43e-5, 43e-4, 43e-3, 43e-2, 43e-1, 43e0, | ||
| 11407 | }); | ||
| 11408 | |||
| 11409 | try testArgs(@Vector(1, i16), @Vector(1, f128), .{ | ||
| 11410 | -0x0.8p16, | ||
| 11411 | }); | ||
| 11412 | try testArgs(@Vector(2, i16), @Vector(2, f128), .{ | ||
| 11413 | next(f128, -0x0.8p16, -0.0), next(f128, next(f128, -0x0.8p16, -0.0), -0.0), | ||
| 11414 | }); | ||
| 11415 | try testArgs(@Vector(4, i16), @Vector(4, f128), .{ | ||
| 11416 | -1e4, -1e3, -1e2, -1e1, | ||
| 11417 | }); | ||
| 11418 | try testArgs(@Vector(8, i16), @Vector(8, f128), .{ | ||
| 11419 | -1e0, -1e-1, -1e-2, -1e-3, -1e-4, -1e-5, -0.0, 0.0, | ||
| 11420 | }); | ||
| 11421 | try testArgs(@Vector(16, i16), @Vector(16, f128), .{ | ||
| 11422 | 1e-5, 1e-4, 1e-3, 1e-2, 1e-1, 1e0, 1e1, 1e2, | ||
| 11423 | 1e3, 1e4, next(f128, next(f128, 0x0.8p16, 0.0), 0.0), next(f128, 0x0.8p16, 0.0), -2e4, -2e3, -2e2, -2e1, | ||
| 11424 | }); | ||
| 11425 | try testArgs(@Vector(32, i16), @Vector(32, f128), .{ | ||
| 11426 | -2e0, -2e-1, -2e-2, -2e-3, -2e-4, -2e-5, 2e-5, 2e-4, | ||
| 11427 | 2e-3, 2e-2, 2e-1, 2e0, 2e1, 2e2, 2e3, 2e4, | ||
| 11428 | -3e4, -3e3, -3e2, -3e1, -3e0, -3e-1, -3e-2, -3e-3, | ||
| 11429 | -3e-4, -3e-5, 3e-5, 3e-4, 3e-3, 3e-2, 3e-1, 3e0, | ||
| 11430 | }); | ||
| 11431 | try testArgs(@Vector(64, i16), @Vector(64, f128), .{ | ||
| 11432 | 3e1, 3e2, 3e3, 3e4, -4e3, -4e2, -4e1, -4e0, | ||
| 11433 | -4e-1, -4e-2, -4e-3, -4e-4, -4e-5, 4e-5, 4e-4, 4e-3, | ||
| 11434 | 4e-2, 4e-1, 4e0, 4e1, 4e2, 4e3, -5e3, -5e2, | ||
| 11435 | -5e1, -5e0, -5e-1, -5e-2, -5e-3, -5e-4, -5e-5, 5e-5, | ||
| 11436 | 5e-4, 5e-3, 5e-2, 5e-1, 5e0, 5e1, 5e2, 5e3, | ||
| 11437 | -6e3, -6e2, -6e1, -6e0, -6e-1, -6e-2, -6e-3, -6e-4, | ||
| 11438 | -6e-5, 6e-5, 6e-4, 6e-3, 6e-2, 6e-1, 6e0, 6e1, | ||
| 11439 | 6e2, 6e3, -7e3, -7e2, -7e1, -7e0, -7e-1, -7e-2, | ||
| 11440 | }); | ||
| 11441 | try testArgs(@Vector(128, i16), @Vector(128, f128), .{ | ||
| 11442 | -7e-3, -7e-4, -7e-5, 7e-5, 7e-4, 7e-3, 7e-2, 7e-1, | ||
| 11443 | 7e0, 7e1, 7e2, 7e3, -8e3, -8e2, -8e1, -8e0, | ||
| 11444 | -8e-1, -8e-2, -8e-3, -8e-4, -8e-5, 8e-5, 8e-4, 8e-3, | ||
| 11445 | 8e-2, 8e-1, 8e0, 8e1, 8e2, 8e3, -9e3, -9e2, | ||
| 11446 | -9e1, -9e0, -9e-1, -9e-2, -9e-3, -9e-4, -9e-5, 9e-5, | ||
| 11447 | 9e-4, 9e-3, 9e-2, 9e-1, 9e0, 9e1, 9e2, 9e3, | ||
| 11448 | -11e3, -11e2, -11e1, -11e0, -11e-1, -11e-2, -11e-3, -11e-4, | ||
| 11449 | -11e-5, 11e-5, 11e-4, 11e-3, 11e-2, 11e-1, 11e0, 11e1, | ||
| 11450 | 11e2, 11e3, -12e3, -12e2, -12e1, -12e0, -12e-1, -12e-2, | ||
| 11451 | -12e-3, -12e-4, -12e-5, 12e-5, 12e-4, 12e-3, 12e-2, 12e-1, | ||
| 11452 | 12e0, 12e1, 12e2, 12e3, -13e3, -13e2, -13e1, -13e0, | ||
| 11453 | -13e-1, -13e-2, -13e-3, -13e-4, -13e-5, 13e-5, 13e-4, 13e-3, | ||
| 11454 | 13e-2, 13e-1, 13e0, 13e1, 13e2, -14e2, -14e1, -14e0, | ||
| 11455 | -14e-1, -14e-2, -14e-3, -14e-4, -14e-5, 14e-5, 14e-4, 14e-3, | ||
| 11456 | 14e-2, 14e-1, 14e0, 14e1, 14e2, 14e3, -15e3, -15e2, | ||
| 11457 | -15e1, -15e0, -15e-1, -15e-2, -15e-3, -15e-4, -15e-5, 15e-5, | ||
| 11458 | }); | ||
| 11459 | |||
| 11460 | try testArgs(@Vector(1, u16), @Vector(1, f128), .{ | ||
| 11461 | -0.0, | ||
| 11462 | }); | ||
| 11463 | try testArgs(@Vector(2, u16), @Vector(2, f128), .{ | ||
| 11464 | 0.0, 1e-5, | ||
| 11465 | }); | ||
| 11466 | try testArgs(@Vector(4, u16), @Vector(4, f128), .{ | ||
| 11467 | 1e-4, 1e-3, 1e-2, 1e-1, | ||
| 11468 | }); | ||
| 11469 | try testArgs(@Vector(8, u16), @Vector(8, f128), .{ | ||
| 11470 | 1e0, 1e1, 1e2, 1e3, 1e4, next(f128, next(f128, 0x1p16, 0.0), 0.0), next(f128, 0x1p16, 0.0), 2e-5, | ||
| 11471 | }); | ||
| 11472 | try testArgs(@Vector(16, u16), @Vector(16, f128), .{ | ||
| 11473 | 2e-4, 2e-3, 2e-2, 2e-1, 2e0, 2e1, 2e2, 2e3, | ||
| 11474 | 2e4, 3e-5, 3e-4, 3e-3, 3e-2, 3e-1, 3e0, 3e1, | ||
| 11475 | }); | ||
| 11476 | try testArgs(@Vector(32, u16), @Vector(32, f128), .{ | ||
| 11477 | 3e2, 3e3, 3e4, 4e-5, 4e-4, 4e-3, 4e-2, 4e-1, | ||
| 11478 | 4e0, 4e1, 4e2, 4e3, 5e-5, 5e-4, 5e-3, 5e-2, | ||
| 11479 | 5e-1, 5e0, 5e1, 5e2, 5e3, 6e-5, 6e-4, 6e-3, | ||
| 11480 | 6e-2, 6e-1, 6e0, 6e1, 6e2, 6e3, 7e-5, 7e-4, | ||
| 11481 | }); | ||
| 11482 | try testArgs(@Vector(64, u16), @Vector(64, f128), .{ | ||
| 11483 | 7e-3, 7e-2, 7e-1, 7e0, 7e1, 7e2, 7e3, 8e-5, | ||
| 11484 | 8e-4, 8e-3, 8e-2, 8e-1, 8e0, 8e1, 8e2, 8e3, | ||
| 11485 | 9e-5, 9e-4, 9e-3, 9e-2, 9e-1, 9e0, 9e1, 9e2, | ||
| 11486 | 9e3, 11e-5, 11e-4, 11e-3, 11e-2, 11e-1, 11e0, 11e1, | ||
| 11487 | 11e2, 11e3, 13e-5, 13e-4, 13e-3, 13e-2, 13e-1, 13e0, | ||
| 11488 | 13e1, 13e2, 13e3, 14e-5, 14e-4, 14e-3, 14e-2, 14e-1, | ||
| 11489 | 14e0, 14e1, 14e2, 14e3, 15e-5, 15e-4, 15e-3, 15e-2, | ||
| 11490 | 15e-1, 15e0, 15e1, 15e2, 15e3, 16e-5, 16e-4, 16e-3, | ||
| 11491 | }); | ||
| 11492 | try testArgs(@Vector(128, u16), @Vector(128, f128), .{ | ||
| 11493 | 16e-2, 16e-1, 16e0, 16e1, 16e2, 16e3, 17e-5, 17e-4, | ||
| 11494 | 17e-3, 17e-2, 17e-1, 17e0, 17e1, 17e2, 17e3, 18e-5, | ||
| 11495 | 18e-4, 18e-3, 18e-2, 18e-1, 18e0, 18e1, 18e2, 18e3, | ||
| 11496 | 19e-5, 19e-4, 19e-3, 19e-2, 19e-1, 19e0, 19e1, 19e2, | ||
| 11497 | 19e3, 21e-5, 21e-4, 21e-3, 21e-2, 21e-1, 21e0, 21e1, | ||
| 11498 | 21e2, 21e3, 22e-5, 22e-4, 22e-3, 22e-2, 22e-1, 22e0, | ||
| 11499 | 22e1, 22e2, 22e3, 23e-5, 23e-4, 23e-3, 23e-2, 23e-1, | ||
| 11500 | 23e0, 23e1, 23e2, 23e3, 24e-5, 24e-4, 24e-3, 24e-2, | ||
| 11501 | 24e-1, 24e0, 24e1, 24e2, 24e3, 25e-5, 25e-4, 25e-3, | ||
| 11502 | 25e-2, 25e-1, 25e0, 25e1, 25e2, 25e3, 26e-5, 26e-4, | ||
| 11503 | 26e-3, 26e-2, 26e-1, 26e0, 26e1, 26e2, 26e3, 27e-5, | ||
| 11504 | 27e-4, 27e-3, 27e-2, 27e-1, 27e0, 27e1, 27e2, 27e3, | ||
| 11505 | 28e-5, 28e-4, 28e-3, 28e-2, 28e-1, 28e0, 28e1, 28e2, | ||
| 11506 | 28e3, 29e-5, 29e-4, 29e-3, 29e-2, 29e-1, 29e0, 29e1, | ||
| 11507 | 29e2, 29e3, 31e-5, 31e-4, 31e-3, 31e-2, 31e-1, 31e0, | ||
| 11508 | 31e1, 31e2, 31e3, 32e-5, 32e-4, 32e-3, 32e-2, 32e-1, | ||
| 11509 | }); | ||
| 11510 | |||
| 11511 | try testArgs(@Vector(1, i32), @Vector(1, f128), .{ | ||
| 11512 | -0x0.8p32, | ||
| 11513 | }); | ||
| 11514 | try testArgs(@Vector(2, i32), @Vector(2, f128), .{ | ||
| 11515 | next(f128, -0x0.8p32, -0.0), next(f128, next(f128, -0x0.8p32, -0.0), -0.0), | ||
| 11516 | }); | ||
| 11517 | try testArgs(@Vector(4, i32), @Vector(4, f128), .{ | ||
| 11518 | -1e4, -1e3, -1e2, -1e1, | ||
| 11519 | }); | ||
| 11520 | try testArgs(@Vector(8, i32), @Vector(8, f128), .{ | ||
| 11521 | -1e0, -1e-1, -1e-2, -1e-3, -1e-4, -1e-5, -0.0, 0.0, | ||
| 11522 | }); | ||
| 11523 | try testArgs(@Vector(16, i32), @Vector(16, f128), .{ | ||
| 11524 | 1e-5, 1e-4, 1e-3, 1e-2, 1e-1, 1e0, 1e1, 1e2, | ||
| 11525 | 1e3, 1e4, next(f128, next(f128, 0x0.8p32, 0.0), 0.0), next(f128, 0x0.8p32, 0.0), -2e4, -2e3, -2e2, -2e1, | ||
| 11526 | }); | ||
| 11527 | try testArgs(@Vector(32, i32), @Vector(32, f128), .{ | ||
| 11528 | -2e0, -2e-1, -2e-2, -2e-3, -2e-4, -2e-5, 2e-5, 2e-4, | ||
| 11529 | 2e-3, 2e-2, 2e-1, 2e0, 2e1, 2e2, 2e3, 2e4, | ||
| 11530 | -3e4, -3e3, -3e2, -3e1, -3e0, -3e-1, -3e-2, -3e-3, | ||
| 11531 | -3e-4, -3e-5, 3e-5, 3e-4, 3e-3, 3e-2, 3e-1, 3e0, | ||
| 11532 | }); | ||
| 11533 | try testArgs(@Vector(64, i32), @Vector(64, f128), .{ | ||
| 11534 | 3e1, 3e2, 3e3, 3e4, -4e3, -4e2, -4e1, -4e0, | ||
| 11535 | -4e-1, -4e-2, -4e-3, -4e-4, -4e-5, 4e-5, 4e-4, 4e-3, | ||
| 11536 | 4e-2, 4e-1, 4e0, 4e1, 4e2, 4e3, -5e3, -5e2, | ||
| 11537 | -5e1, -5e0, -5e-1, -5e-2, -5e-3, -5e-4, -5e-5, 5e-5, | ||
| 11538 | 5e-4, 5e-3, 5e-2, 5e-1, 5e0, 5e1, 5e2, 5e3, | ||
| 11539 | -6e3, -6e2, -6e1, -6e0, -6e-1, -6e-2, -6e-3, -6e-4, | ||
| 11540 | -6e-5, 6e-5, 6e-4, 6e-3, 6e-2, 6e-1, 6e0, 6e1, | ||
| 11541 | 6e2, 6e3, -7e3, -7e2, -7e1, -7e0, -7e-1, -7e-2, | ||
| 11542 | }); | ||
| 11543 | try testArgs(@Vector(128, i32), @Vector(128, f128), .{ | ||
| 11544 | -7e-3, -7e-4, -7e-5, 7e-5, 7e-4, 7e-3, 7e-2, 7e-1, | ||
| 11545 | 7e0, 7e1, 7e2, 7e3, -8e3, -8e2, -8e1, -8e0, | ||
| 11546 | -8e-1, -8e-2, -8e-3, -8e-4, -8e-5, 8e-5, 8e-4, 8e-3, | ||
| 11547 | 8e-2, 8e-1, 8e0, 8e1, 8e2, 8e3, -9e3, -9e2, | ||
| 11548 | -9e1, -9e0, -9e-1, -9e-2, -9e-3, -9e-4, -9e-5, 9e-5, | ||
| 11549 | 9e-4, 9e-3, 9e-2, 9e-1, 9e0, 9e1, 9e2, 9e3, | ||
| 11550 | -11e3, -11e2, -11e1, -11e0, -11e-1, -11e-2, -11e-3, -11e-4, | ||
| 11551 | -11e-5, 11e-5, 11e-4, 11e-3, 11e-2, 11e-1, 11e0, 11e1, | ||
| 11552 | 11e2, 11e3, -12e3, -12e2, -12e1, -12e0, -12e-1, -12e-2, | ||
| 11553 | -12e-3, -12e-4, -12e-5, 12e-5, 12e-4, 12e-3, 12e-2, 12e-1, | ||
| 11554 | 12e0, 12e1, 12e2, 12e3, -13e3, -13e2, -13e1, -13e0, | ||
| 11555 | -13e-1, -13e-2, -13e-3, -13e-4, -13e-5, 13e-5, 13e-4, 13e-3, | ||
| 11556 | 13e-2, 13e-1, 13e0, 13e1, 13e2, -14e2, -14e1, -14e0, | ||
| 11557 | -14e-1, -14e-2, -14e-3, -14e-4, -14e-5, 14e-5, 14e-4, 14e-3, | ||
| 11558 | 14e-2, 14e-1, 14e0, 14e1, 14e2, 14e3, -15e3, -15e2, | ||
| 11559 | -15e1, -15e0, -15e-1, -15e-2, -15e-3, -15e-4, -15e-5, 15e-5, | ||
| 11560 | }); | ||
| 11561 | |||
| 11562 | try testArgs(@Vector(1, u32), @Vector(1, f128), .{ | ||
| 11563 | -0.0, | ||
| 11564 | }); | ||
| 11565 | try testArgs(@Vector(2, u32), @Vector(2, f128), .{ | ||
| 11566 | 0.0, 1e-5, | ||
| 11567 | }); | ||
| 11568 | try testArgs(@Vector(4, u32), @Vector(4, f128), .{ | ||
| 11569 | 1e-4, 1e-3, 1e-2, 1e-1, | ||
| 11570 | }); | ||
| 11571 | try testArgs(@Vector(8, u32), @Vector(8, f128), .{ | ||
| 11572 | 1e0, 1e1, 1e2, 1e3, 1e4, next(f128, next(f128, 0x1p32, 0.0), 0.0), next(f128, 0x1p32, 0.0), 2e-5, | ||
| 11573 | }); | ||
| 11574 | try testArgs(@Vector(16, u32), @Vector(16, f128), .{ | ||
| 11575 | 2e-4, 2e-3, 2e-2, 2e-1, 2e0, 2e1, 2e2, 2e3, | ||
| 11576 | 2e4, 3e-5, 3e-4, 3e-3, 3e-2, 3e-1, 3e0, 3e1, | ||
| 11577 | }); | ||
| 11578 | try testArgs(@Vector(32, u32), @Vector(32, f128), .{ | ||
| 11579 | 3e2, 3e3, 3e4, 4e-5, 4e-4, 4e-3, 4e-2, 4e-1, | ||
| 11580 | 4e0, 4e1, 4e2, 4e3, 5e-5, 5e-4, 5e-3, 5e-2, | ||
| 11581 | 5e-1, 5e0, 5e1, 5e2, 5e3, 6e-5, 6e-4, 6e-3, | ||
| 11582 | 6e-2, 6e-1, 6e0, 6e1, 6e2, 6e3, 7e-5, 7e-4, | ||
| 11583 | }); | ||
| 11584 | try testArgs(@Vector(64, u32), @Vector(64, f128), .{ | ||
| 11585 | 7e-3, 7e-2, 7e-1, 7e0, 7e1, 7e2, 7e3, 8e-5, | ||
| 11586 | 8e-4, 8e-3, 8e-2, 8e-1, 8e0, 8e1, 8e2, 8e3, | ||
| 11587 | 9e-5, 9e-4, 9e-3, 9e-2, 9e-1, 9e0, 9e1, 9e2, | ||
| 11588 | 9e3, 11e-5, 11e-4, 11e-3, 11e-2, 11e-1, 11e0, 11e1, | ||
| 11589 | 11e2, 11e3, 13e-5, 13e-4, 13e-3, 13e-2, 13e-1, 13e0, | ||
| 11590 | 13e1, 13e2, 13e3, 14e-5, 14e-4, 14e-3, 14e-2, 14e-1, | ||
| 11591 | 14e0, 14e1, 14e2, 14e3, 15e-5, 15e-4, 15e-3, 15e-2, | ||
| 11592 | 15e-1, 15e0, 15e1, 15e2, 15e3, 16e-5, 16e-4, 16e-3, | ||
| 11593 | }); | ||
| 11594 | try testArgs(@Vector(128, u32), @Vector(128, f128), .{ | ||
| 11595 | 16e-2, 16e-1, 16e0, 16e1, 16e2, 16e3, 17e-5, 17e-4, | ||
| 11596 | 17e-3, 17e-2, 17e-1, 17e0, 17e1, 17e2, 17e3, 18e-5, | ||
| 11597 | 18e-4, 18e-3, 18e-2, 18e-1, 18e0, 18e1, 18e2, 18e3, | ||
| 11598 | 19e-5, 19e-4, 19e-3, 19e-2, 19e-1, 19e0, 19e1, 19e2, | ||
| 11599 | 19e3, 21e-5, 21e-4, 21e-3, 21e-2, 21e-1, 21e0, 21e1, | ||
| 11600 | 21e2, 21e3, 22e-5, 22e-4, 22e-3, 22e-2, 22e-1, 22e0, | ||
| 11601 | 22e1, 22e2, 22e3, 23e-5, 23e-4, 23e-3, 23e-2, 23e-1, | ||
| 11602 | 23e0, 23e1, 23e2, 23e3, 24e-5, 24e-4, 24e-3, 24e-2, | ||
| 11603 | 24e-1, 24e0, 24e1, 24e2, 24e3, 25e-5, 25e-4, 25e-3, | ||
| 11604 | 25e-2, 25e-1, 25e0, 25e1, 25e2, 25e3, 26e-5, 26e-4, | ||
| 11605 | 26e-3, 26e-2, 26e-1, 26e0, 26e1, 26e2, 26e3, 27e-5, | ||
| 11606 | 27e-4, 27e-3, 27e-2, 27e-1, 27e0, 27e1, 27e2, 27e3, | ||
| 11607 | 28e-5, 28e-4, 28e-3, 28e-2, 28e-1, 28e0, 28e1, 28e2, | ||
| 11608 | 28e3, 29e-5, 29e-4, 29e-3, 29e-2, 29e-1, 29e0, 29e1, | ||
| 11609 | 29e2, 29e3, 31e-5, 31e-4, 31e-3, 31e-2, 31e-1, 31e0, | ||
| 11610 | 31e1, 31e2, 31e3, 32e-5, 32e-4, 32e-3, 32e-2, 32e-1, | ||
| 11611 | }); | ||
| 11612 | |||
| 11613 | try testArgs(@Vector(1, i64), @Vector(1, f128), .{ | ||
| 11614 | -0x0.8p64, | ||
| 11615 | }); | ||
| 11616 | try testArgs(@Vector(2, i64), @Vector(2, f128), .{ | ||
| 11617 | next(f128, -0x0.8p64, -0.0), next(f128, next(f128, -0x0.8p64, -0.0), -0.0), | ||
| 11618 | }); | ||
| 11619 | try testArgs(@Vector(4, i64), @Vector(4, f128), .{ | ||
| 11620 | -1e4, -1e3, -1e2, -1e1, | ||
| 11621 | }); | ||
| 11622 | try testArgs(@Vector(8, i64), @Vector(8, f128), .{ | ||
| 11623 | -1e0, -1e-1, -1e-2, -1e-3, -1e-4, -1e-5, -0.0, 0.0, | ||
| 11624 | }); | ||
| 11625 | try testArgs(@Vector(16, i64), @Vector(16, f128), .{ | ||
| 11626 | 1e-5, 1e-4, 1e-3, 1e-2, 1e-1, 1e0, 1e1, 1e2, | ||
| 11627 | 1e3, 1e4, next(f128, next(f128, 0x0.8p64, 0.0), 0.0), next(f128, 0x0.8p64, 0.0), -2e4, -2e3, -2e2, -2e1, | ||
| 11628 | }); | ||
| 11629 | try testArgs(@Vector(32, i64), @Vector(32, f128), .{ | ||
| 11630 | -2e0, -2e-1, -2e-2, -2e-3, -2e-4, -2e-5, 2e-5, 2e-4, | ||
| 11631 | 2e-3, 2e-2, 2e-1, 2e0, 2e1, 2e2, 2e3, 2e4, | ||
| 11632 | -3e4, -3e3, -3e2, -3e1, -3e0, -3e-1, -3e-2, -3e-3, | ||
| 11633 | -3e-4, -3e-5, 3e-5, 3e-4, 3e-3, 3e-2, 3e-1, 3e0, | ||
| 11634 | }); | ||
| 11635 | try testArgs(@Vector(64, i64), @Vector(64, f128), .{ | ||
| 11636 | 3e1, 3e2, 3e3, 3e4, -4e3, -4e2, -4e1, -4e0, | ||
| 11637 | -4e-1, -4e-2, -4e-3, -4e-4, -4e-5, 4e-5, 4e-4, 4e-3, | ||
| 11638 | 4e-2, 4e-1, 4e0, 4e1, 4e2, 4e3, -5e3, -5e2, | ||
| 11639 | -5e1, -5e0, -5e-1, -5e-2, -5e-3, -5e-4, -5e-5, 5e-5, | ||
| 11640 | 5e-4, 5e-3, 5e-2, 5e-1, 5e0, 5e1, 5e2, 5e3, | ||
| 11641 | -6e3, -6e2, -6e1, -6e0, -6e-1, -6e-2, -6e-3, -6e-4, | ||
| 11642 | -6e-5, 6e-5, 6e-4, 6e-3, 6e-2, 6e-1, 6e0, 6e1, | ||
| 11643 | 6e2, 6e3, -7e3, -7e2, -7e1, -7e0, -7e-1, -7e-2, | ||
| 11644 | }); | ||
| 11645 | try testArgs(@Vector(128, i64), @Vector(128, f128), .{ | ||
| 11646 | -7e-3, -7e-4, -7e-5, 7e-5, 7e-4, 7e-3, 7e-2, 7e-1, | ||
| 11647 | 7e0, 7e1, 7e2, 7e3, -8e3, -8e2, -8e1, -8e0, | ||
| 11648 | -8e-1, -8e-2, -8e-3, -8e-4, -8e-5, 8e-5, 8e-4, 8e-3, | ||
| 11649 | 8e-2, 8e-1, 8e0, 8e1, 8e2, 8e3, -9e3, -9e2, | ||
| 11650 | -9e1, -9e0, -9e-1, -9e-2, -9e-3, -9e-4, -9e-5, 9e-5, | ||
| 11651 | 9e-4, 9e-3, 9e-2, 9e-1, 9e0, 9e1, 9e2, 9e3, | ||
| 11652 | -11e3, -11e2, -11e1, -11e0, -11e-1, -11e-2, -11e-3, -11e-4, | ||
| 11653 | -11e-5, 11e-5, 11e-4, 11e-3, 11e-2, 11e-1, 11e0, 11e1, | ||
| 11654 | 11e2, 11e3, -12e3, -12e2, -12e1, -12e0, -12e-1, -12e-2, | ||
| 11655 | -12e-3, -12e-4, -12e-5, 12e-5, 12e-4, 12e-3, 12e-2, 12e-1, | ||
| 11656 | 12e0, 12e1, 12e2, 12e3, -13e3, -13e2, -13e1, -13e0, | ||
| 11657 | -13e-1, -13e-2, -13e-3, -13e-4, -13e-5, 13e-5, 13e-4, 13e-3, | ||
| 11658 | 13e-2, 13e-1, 13e0, 13e1, 13e2, -14e2, -14e1, -14e0, | ||
| 11659 | -14e-1, -14e-2, -14e-3, -14e-4, -14e-5, 14e-5, 14e-4, 14e-3, | ||
| 11660 | 14e-2, 14e-1, 14e0, 14e1, 14e2, 14e3, -15e3, -15e2, | ||
| 11661 | -15e1, -15e0, -15e-1, -15e-2, -15e-3, -15e-4, -15e-5, 15e-5, | ||
| 11662 | }); | ||
| 11663 | |||
| 11664 | try testArgs(@Vector(1, u64), @Vector(1, f128), .{ | ||
| 11665 | -0.0, | ||
| 11666 | }); | ||
| 11667 | try testArgs(@Vector(2, u64), @Vector(2, f128), .{ | ||
| 11668 | 0.0, 1e-5, | ||
| 11669 | }); | ||
| 11670 | try testArgs(@Vector(4, u64), @Vector(4, f128), .{ | ||
| 11671 | 1e-4, 1e-3, 1e-2, 1e-1, | ||
| 11672 | }); | ||
| 11673 | try testArgs(@Vector(8, u64), @Vector(8, f128), .{ | ||
| 11674 | 1e0, 1e1, 1e2, 1e3, 1e4, next(f128, next(f128, 0x1p64, 0.0), 0.0), next(f128, 0x1p64, 0.0), 2e-5, | ||
| 11675 | }); | ||
| 11676 | try testArgs(@Vector(16, u64), @Vector(16, f128), .{ | ||
| 11677 | 2e-4, 2e-3, 2e-2, 2e-1, 2e0, 2e1, 2e2, 2e3, | ||
| 11678 | 2e4, 3e-5, 3e-4, 3e-3, 3e-2, 3e-1, 3e0, 3e1, | ||
| 11679 | }); | ||
| 11680 | try testArgs(@Vector(32, u64), @Vector(32, f128), .{ | ||
| 11681 | 3e2, 3e3, 3e4, 4e-5, 4e-4, 4e-3, 4e-2, 4e-1, | ||
| 11682 | 4e0, 4e1, 4e2, 4e3, 5e-5, 5e-4, 5e-3, 5e-2, | ||
| 11683 | 5e-1, 5e0, 5e1, 5e2, 5e3, 6e-5, 6e-4, 6e-3, | ||
| 11684 | 6e-2, 6e-1, 6e0, 6e1, 6e2, 6e3, 7e-5, 7e-4, | ||
| 11685 | }); | ||
| 11686 | try testArgs(@Vector(64, u64), @Vector(64, f128), .{ | ||
| 11687 | 7e-3, 7e-2, 7e-1, 7e0, 7e1, 7e2, 7e3, 8e-5, | ||
| 11688 | 8e-4, 8e-3, 8e-2, 8e-1, 8e0, 8e1, 8e2, 8e3, | ||
| 11689 | 9e-5, 9e-4, 9e-3, 9e-2, 9e-1, 9e0, 9e1, 9e2, | ||
| 11690 | 9e3, 11e-5, 11e-4, 11e-3, 11e-2, 11e-1, 11e0, 11e1, | ||
| 11691 | 11e2, 11e3, 13e-5, 13e-4, 13e-3, 13e-2, 13e-1, 13e0, | ||
| 11692 | 13e1, 13e2, 13e3, 14e-5, 14e-4, 14e-3, 14e-2, 14e-1, | ||
| 11693 | 14e0, 14e1, 14e2, 14e3, 15e-5, 15e-4, 15e-3, 15e-2, | ||
| 11694 | 15e-1, 15e0, 15e1, 15e2, 15e3, 16e-5, 16e-4, 16e-3, | ||
| 11695 | }); | ||
| 11696 | try testArgs(@Vector(128, u64), @Vector(128, f128), .{ | ||
| 11697 | 16e-2, 16e-1, 16e0, 16e1, 16e2, 16e3, 17e-5, 17e-4, | ||
| 11698 | 17e-3, 17e-2, 17e-1, 17e0, 17e1, 17e2, 17e3, 18e-5, | ||
| 11699 | 18e-4, 18e-3, 18e-2, 18e-1, 18e0, 18e1, 18e2, 18e3, | ||
| 11700 | 19e-5, 19e-4, 19e-3, 19e-2, 19e-1, 19e0, 19e1, 19e2, | ||
| 11701 | 19e3, 21e-5, 21e-4, 21e-3, 21e-2, 21e-1, 21e0, 21e1, | ||
| 11702 | 21e2, 21e3, 22e-5, 22e-4, 22e-3, 22e-2, 22e-1, 22e0, | ||
| 11703 | 22e1, 22e2, 22e3, 23e-5, 23e-4, 23e-3, 23e-2, 23e-1, | ||
| 11704 | 23e0, 23e1, 23e2, 23e3, 24e-5, 24e-4, 24e-3, 24e-2, | ||
| 11705 | 24e-1, 24e0, 24e1, 24e2, 24e3, 25e-5, 25e-4, 25e-3, | ||
| 11706 | 25e-2, 25e-1, 25e0, 25e1, 25e2, 25e3, 26e-5, 26e-4, | ||
| 11707 | 26e-3, 26e-2, 26e-1, 26e0, 26e1, 26e2, 26e3, 27e-5, | ||
| 11708 | 27e-4, 27e-3, 27e-2, 27e-1, 27e0, 27e1, 27e2, 27e3, | ||
| 11709 | 28e-5, 28e-4, 28e-3, 28e-2, 28e-1, 28e0, 28e1, 28e2, | ||
| 11710 | 28e3, 29e-5, 29e-4, 29e-3, 29e-2, 29e-1, 29e0, 29e1, | ||
| 11711 | 29e2, 29e3, 31e-5, 31e-4, 31e-3, 31e-2, 31e-1, 31e0, | ||
| 11712 | 31e1, 31e2, 31e3, 32e-5, 32e-4, 32e-3, 32e-2, 32e-1, | ||
| 11713 | }); | ||
| 11714 | |||
| 11715 | try testArgs(@Vector(1, i128), @Vector(1, f128), .{ | ||
| 11716 | -0x0.8p128, | ||
| 11717 | }); | ||
| 11718 | try testArgs(@Vector(2, i128), @Vector(2, f128), .{ | ||
| 11719 | next(f128, -0x0.8p128, -0.0), next(f128, next(f128, -0x0.8p128, -0.0), -0.0), | ||
| 11720 | }); | ||
| 11721 | try testArgs(@Vector(4, i128), @Vector(4, f128), .{ | ||
| 11722 | -1e4, -1e3, -1e2, -1e1, | ||
| 11723 | }); | ||
| 11724 | try testArgs(@Vector(8, i128), @Vector(8, f128), .{ | ||
| 11725 | -1e0, -1e-1, -1e-2, -1e-3, -1e-4, -1e-5, -0.0, 0.0, | ||
| 11726 | }); | ||
| 11727 | try testArgs(@Vector(16, i128), @Vector(16, f128), .{ | ||
| 11728 | 1e-5, 1e-4, 1e-3, 1e-2, 1e-1, 1e0, 1e1, 1e2, | ||
| 11729 | 1e3, 1e4, next(f128, next(f128, 0x0.8p128, 0.0), 0.0), next(f128, 0x0.8p128, 0.0), -2e4, -2e3, -2e2, -2e1, | ||
| 11730 | }); | ||
| 11731 | try testArgs(@Vector(32, i128), @Vector(32, f128), .{ | ||
| 11732 | -2e0, -2e-1, -2e-2, -2e-3, -2e-4, -2e-5, 2e-5, 2e-4, | ||
| 11733 | 2e-3, 2e-2, 2e-1, 2e0, 2e1, 2e2, 2e3, 2e4, | ||
| 11734 | -3e4, -3e3, -3e2, -3e1, -3e0, -3e-1, -3e-2, -3e-3, | ||
| 11735 | -3e-4, -3e-5, 3e-5, 3e-4, 3e-3, 3e-2, 3e-1, 3e0, | ||
| 11736 | }); | ||
| 11737 | try testArgs(@Vector(64, i128), @Vector(64, f128), .{ | ||
| 11738 | 3e1, 3e2, 3e3, 3e4, -4e3, -4e2, -4e1, -4e0, | ||
| 11739 | -4e-1, -4e-2, -4e-3, -4e-4, -4e-5, 4e-5, 4e-4, 4e-3, | ||
| 11740 | 4e-2, 4e-1, 4e0, 4e1, 4e2, 4e3, -5e3, -5e2, | ||
| 11741 | -5e1, -5e0, -5e-1, -5e-2, -5e-3, -5e-4, -5e-5, 5e-5, | ||
| 11742 | 5e-4, 5e-3, 5e-2, 5e-1, 5e0, 5e1, 5e2, 5e3, | ||
| 11743 | -6e3, -6e2, -6e1, -6e0, -6e-1, -6e-2, -6e-3, -6e-4, | ||
| 11744 | -6e-5, 6e-5, 6e-4, 6e-3, 6e-2, 6e-1, 6e0, 6e1, | ||
| 11745 | 6e2, 6e3, -7e3, -7e2, -7e1, -7e0, -7e-1, -7e-2, | ||
| 11746 | }); | ||
| 11747 | |||
| 11748 | try testArgs(@Vector(1, u128), @Vector(1, f128), .{ | ||
| 11749 | -0.0, | ||
| 11750 | }); | ||
| 11751 | try testArgs(@Vector(2, u128), @Vector(2, f128), .{ | ||
| 11752 | 0.0, 1e-5, | ||
| 11753 | }); | ||
| 11754 | try testArgs(@Vector(4, u128), @Vector(4, f128), .{ | ||
| 11755 | 1e-4, 1e-3, 1e-2, 1e-1, | ||
| 11756 | }); | ||
| 11757 | try testArgs(@Vector(8, u128), @Vector(8, f128), .{ | ||
| 11758 | 1e0, 1e1, 1e2, 1e3, 1e4, next(f128, next(f128, 0x1p128, 0.0), 0.0), next(f128, 0x1p128, 0.0), 2e-5, | ||
| 11759 | }); | ||
| 11760 | try testArgs(@Vector(16, u128), @Vector(16, f128), .{ | ||
| 11761 | 2e-4, 2e-3, 2e-2, 2e-1, 2e0, 2e1, 2e2, 2e3, | ||
| 11762 | 2e4, 3e-5, 3e-4, 3e-3, 3e-2, 3e-1, 3e0, 3e1, | ||
| 11763 | }); | ||
| 11764 | try testArgs(@Vector(32, u128), @Vector(32, f128), .{ | ||
| 11765 | 3e2, 3e3, 3e4, 4e-5, 4e-4, 4e-3, 4e-2, 4e-1, | ||
| 11766 | 4e0, 4e1, 4e2, 4e3, 5e-5, 5e-4, 5e-3, 5e-2, | ||
| 11767 | 5e-1, 5e0, 5e1, 5e2, 5e3, 6e-5, 6e-4, 6e-3, | ||
| 11768 | 6e-2, 6e-1, 6e0, 6e1, 6e2, 6e3, 7e-5, 7e-4, | ||
| 11769 | }); | ||
| 11770 | try testArgs(@Vector(64, u128), @Vector(64, f128), .{ | ||
| 11771 | 7e-3, 7e-2, 7e-1, 7e0, 7e1, 7e2, 7e3, 8e-5, | ||
| 11772 | 8e-4, 8e-3, 8e-2, 8e-1, 8e0, 8e1, 8e2, 8e3, | ||
| 11773 | 9e-5, 9e-4, 9e-3, 9e-2, 9e-1, 9e0, 9e1, 9e2, | ||
| 11774 | 9e3, 11e-5, 11e-4, 11e-3, 11e-2, 11e-1, 11e0, 11e1, | ||
| 11775 | 11e2, 11e3, 13e-5, 13e-4, 13e-3, 13e-2, 13e-1, 13e0, | ||
| 11776 | 13e1, 13e2, 13e3, 14e-5, 14e-4, 14e-3, 14e-2, 14e-1, | ||
| 11777 | 14e0, 14e1, 14e2, 14e3, 15e-5, 15e-4, 15e-3, 15e-2, | ||
| 11778 | 15e-1, 15e0, 15e1, 15e2, 15e3, 16e-5, 16e-4, 16e-3, | ||
| 11779 | }); | ||
| 11780 | |||
| 11781 | try testArgs(@Vector(1, i256), @Vector(1, f128), .{ | ||
| 11782 | -0x0.8p256, | ||
| 11783 | }); | ||
| 11784 | try testArgs(@Vector(2, i256), @Vector(2, f128), .{ | ||
| 11785 | next(f128, -0x0.8p256, -0.0), next(f128, next(f128, -0x0.8p256, -0.0), -0.0), | ||
| 11786 | }); | ||
| 11787 | try testArgs(@Vector(4, i256), @Vector(4, f128), .{ | ||
| 11788 | -1e4, -1e3, -1e2, -1e1, | ||
| 11789 | }); | ||
| 11790 | try testArgs(@Vector(8, i256), @Vector(8, f128), .{ | ||
| 11791 | -1e0, -1e-1, -1e-2, -1e-3, -1e-4, -1e-5, -0.0, 0.0, | ||
| 11792 | }); | ||
| 11793 | try testArgs(@Vector(16, i256), @Vector(16, f128), .{ | ||
| 11794 | 1e-5, 1e-4, 1e-3, 1e-2, 1e-1, 1e0, 1e1, 1e2, | ||
| 11795 | 1e3, 1e4, next(f128, next(f128, 0x0.8p256, 0.0), 0.0), next(f128, 0x0.8p256, 0.0), -2e4, -2e3, -2e2, -2e1, | ||
| 11796 | }); | ||
| 11797 | try testArgs(@Vector(32, i256), @Vector(32, f128), .{ | ||
| 11798 | -2e0, -2e-1, -2e-2, -2e-3, -2e-4, -2e-5, 2e-5, 2e-4, | ||
| 11799 | 2e-3, 2e-2, 2e-1, 2e0, 2e1, 2e2, 2e3, 2e4, | ||
| 11800 | -3e4, -3e3, -3e2, -3e1, -3e0, -3e-1, -3e-2, -3e-3, | ||
| 11801 | -3e-4, -3e-5, 3e-5, 3e-4, 3e-3, 3e-2, 3e-1, 3e0, | ||
| 11802 | }); | ||
| 11803 | try testArgs(@Vector(64, i256), @Vector(64, f128), .{ | ||
| 11804 | 3e1, 3e2, 3e3, 3e4, -4e3, -4e2, -4e1, -4e0, | ||
| 11805 | -4e-1, -4e-2, -4e-3, -4e-4, -4e-5, 4e-5, 4e-4, 4e-3, | ||
| 11806 | 4e-2, 4e-1, 4e0, 4e1, 4e2, 4e3, -5e3, -5e2, | ||
| 11807 | -5e1, -5e0, -5e-1, -5e-2, -5e-3, -5e-4, -5e-5, 5e-5, | ||
| 11808 | 5e-4, 5e-3, 5e-2, 5e-1, 5e0, 5e1, 5e2, 5e3, | ||
| 11809 | -6e3, -6e2, -6e1, -6e0, -6e-1, -6e-2, -6e-3, -6e-4, | ||
| 11810 | -6e-5, 6e-5, 6e-4, 6e-3, 6e-2, 6e-1, 6e0, 6e1, | ||
| 11811 | 6e2, 6e3, -7e3, -7e2, -7e1, -7e0, -7e-1, -7e-2, | ||
| 11812 | }); | ||
| 11813 | |||
| 11814 | try testArgs(@Vector(1, u256), @Vector(1, f128), .{ | ||
| 11815 | -0.0, | ||
| 11816 | }); | ||
| 11817 | try testArgs(@Vector(2, u256), @Vector(2, f128), .{ | ||
| 11818 | 0.0, 1e-5, | ||
| 11819 | }); | ||
| 11820 | try testArgs(@Vector(4, u256), @Vector(4, f128), .{ | ||
| 11821 | 1e-4, 1e-3, 1e-2, 1e-1, | ||
| 11822 | }); | ||
| 11823 | try testArgs(@Vector(8, u256), @Vector(8, f128), .{ | ||
| 11824 | 1e0, 1e1, 1e2, 1e3, 1e4, next(f128, next(f128, 0x1p256, 0.0), 0.0), next(f128, 0x1p256, 0.0), 2e-5, | ||
| 11825 | }); | ||
| 11826 | try testArgs(@Vector(16, u256), @Vector(16, f128), .{ | ||
| 11827 | 2e-4, 2e-3, 2e-2, 2e-1, 2e0, 2e1, 2e2, 2e3, | ||
| 11828 | 2e4, 3e-5, 3e-4, 3e-3, 3e-2, 3e-1, 3e0, 3e1, | ||
| 11829 | }); | ||
| 11830 | try testArgs(@Vector(32, u256), @Vector(32, f128), .{ | ||
| 11831 | 3e2, 3e3, 3e4, 4e-5, 4e-4, 4e-3, 4e-2, 4e-1, | ||
| 11832 | 4e0, 4e1, 4e2, 4e3, 5e-5, 5e-4, 5e-3, 5e-2, | ||
| 11833 | 5e-1, 5e0, 5e1, 5e2, 5e3, 6e-5, 6e-4, 6e-3, | ||
| 11834 | 6e-2, 6e-1, 6e0, 6e1, 6e2, 6e3, 7e-5, 7e-4, | ||
| 11835 | }); | ||
| 11836 | try testArgs(@Vector(64, u256), @Vector(64, f128), .{ | ||
| 11837 | 7e-3, 7e-2, 7e-1, 7e0, 7e1, 7e2, 7e3, 8e-5, | ||
| 11838 | 8e-4, 8e-3, 8e-2, 8e-1, 8e0, 8e1, 8e2, 8e3, | ||
| 11839 | 9e-5, 9e-4, 9e-3, 9e-2, 9e-1, 9e0, 9e1, 9e2, | ||
| 11840 | 9e3, 11e-5, 11e-4, 11e-3, 11e-2, 11e-1, 11e0, 11e1, | ||
| 11841 | 11e2, 11e3, 13e-5, 13e-4, 13e-3, 13e-2, 13e-1, 13e0, | ||
| 11842 | 13e1, 13e2, 13e3, 14e-5, 14e-4, 14e-3, 14e-2, 14e-1, | ||
| 11843 | 14e0, 14e1, 14e2, 14e3, 15e-5, 15e-4, 15e-3, 15e-2, | ||
| 11844 | 15e-1, 15e0, 15e1, 15e2, 15e3, 16e-5, 16e-4, 16e-3, | ||
| 11845 | }); | ||
| 11846 | } | ||
| 11847 | fn testFloatVectorsFromIntVectors() !void { | ||
| 11848 | @setEvalBranchQuota(2_700); | ||
| 11849 | |||
| 11850 | try testArgs(@Vector(1, f16), @Vector(1, i8), .{ | ||
| 11851 | imin(i8), | ||
| 11852 | }); | ||
| 11853 | try testArgs(@Vector(2, f16), @Vector(2, i8), .{ | ||
| 11854 | imin(i8) + 1, -1e2, | ||
| 11855 | }); | ||
| 11856 | try testArgs(@Vector(4, f16), @Vector(4, i8), .{ | ||
| 11857 | -1e1, -1e0, 0, 1e0, | ||
| 11858 | }); | ||
| 11859 | try testArgs(@Vector(8, f16), @Vector(8, i8), .{ | ||
| 11860 | 1e1, 1e2, imax(i8) - 1, imax(i8), imin(i8) + 2, imin(i8) + 3, -2e1, -2e0, | ||
| 11861 | }); | ||
| 11862 | try testArgs(@Vector(16, f16), @Vector(16, i8), .{ | ||
| 11863 | 2e0, 2e1, imax(i8) - 3, imax(i8) - 2, imin(i8) + 4, imin(i8) + 5, -3e1, -3e0, | ||
| 11864 | 3e0, 3e1, imax(i8) - 5, imax(i8) - 4, imin(i8) + 6, imin(i8) + 7, -4e1, -4e0, | ||
| 11865 | }); | ||
| 11866 | try testArgs(@Vector(32, f16), @Vector(32, i8), .{ | ||
| 11867 | 4e0, 4e1, imax(i8) - 7, imax(i8) - 6, imin(i8) + 8, imin(i8) + 9, -5e1, -5e0, | ||
| 11868 | 5e0, 5e1, imax(i8) - 9, imax(i8) - 8, imin(i8) + 10, imin(i8) + 11, -6e1, -6e0, | ||
| 11869 | 6e0, 6e1, imax(i8) - 11, imax(i8) - 10, imin(i8) + 12, imin(i8) + 13, -7e1, -7e0, | ||
| 11870 | 7e0, 7e1, imax(i8) - 13, imax(i8) - 12, imin(i8) + 14, imin(i8) + 15, -8e1, -8e0, | ||
| 11871 | }); | ||
| 11872 | try testArgs(@Vector(64, f16), @Vector(64, i8), .{ | ||
| 11873 | 8e0, 8e1, imax(i8) - 15, imax(i8) - 14, imin(i8) + 16, imin(i8) + 17, -9e1, -9e0, | ||
| 11874 | 9e0, 9e1, imax(i8) - 17, imax(i8) - 16, imin(i8) + 18, imin(i8) + 19, -11e1, -11e0, | ||
| 11875 | 11e0, 11e1, imax(i8) - 19, imax(i8) - 18, imin(i8) + 20, imin(i8) + 21, -12e1, -12e0, | ||
| 11876 | 12e0, 12e1, imax(i8) - 21, imax(i8) - 20, imin(i8) + 22, imin(i8) + 23, -13e0, 13e0, | ||
| 11877 | imax(i8) - 23, imax(i8) - 22, imin(i8) + 24, imin(i8) + 25, -14e0, 14e0, imax(i8) - 25, imax(i8) - 24, | ||
| 11878 | imin(i8) + 26, imin(i8) + 27, -15e0, 15e0, imax(i8) - 27, imax(i8) - 26, imin(i8) + 28, imin(i8) + 29, | ||
| 11879 | -16e0, 16e0, imax(i8) - 29, imax(i8) - 28, imin(i8) + 30, imin(i8) + 31, -17e0, 17e0, | ||
| 11880 | imax(i8) - 31, imax(i8) - 30, imin(i8) + 32, imin(i8) + 33, -18e0, 18e0, imax(i8) - 33, imax(i8) - 32, | ||
| 11881 | }); | ||
| 11882 | try testArgs(@Vector(128, f16), @Vector(128, i8), .{ | ||
| 11883 | imin(i8) + 34, imin(i8) + 35, -19e0, 19e0, imax(i8) - 35, imax(i8) - 34, imin(i8) + 36, imin(i8) + 37, | ||
| 11884 | -21e0, 21e0, imax(i8) - 37, imax(i8) - 36, imin(i8) + 38, imin(i8) + 39, -22e0, 22e0, | ||
| 11885 | imax(i8) - 39, imax(i8) - 38, imin(i8) + 40, imin(i8) + 41, -23e0, 23e0, imax(i8) - 41, imax(i8) - 40, | ||
| 11886 | imin(i8) + 42, imin(i8) + 43, -24e0, 24e0, imax(i8) - 43, imax(i8) - 42, imin(i8) + 44, imin(i8) + 45, | ||
| 11887 | -25e0, 25e0, imax(i8) - 45, imax(i8) - 44, imin(i8) + 46, imin(i8) + 47, -26e0, 26e0, | ||
| 11888 | imax(i8) - 47, imax(i8) - 46, imin(i8) + 48, imin(i8) + 49, -27e0, 27e0, imax(i8) - 49, imax(i8) - 48, | ||
| 11889 | imin(i8) + 50, imin(i8) + 51, -28e0, 28e0, imax(i8) - 51, imax(i8) - 50, imin(i8) + 52, imin(i8) + 53, | ||
| 11890 | -29e0, 29e0, imax(i8) - 53, imax(i8) - 52, imin(i8) + 54, imin(i8) + 55, -31e0, 31e0, | ||
| 11891 | imax(i8) - 55, imax(i8) - 54, imin(i8) + 56, imin(i8) + 57, -32e0, 32e0, imax(i8) - 57, imax(i8) - 56, | ||
| 11892 | imin(i8) + 58, imin(i8) + 59, -33e0, 33e0, imax(i8) - 59, imax(i8) - 58, imin(i8) + 60, imin(i8) + 61, | ||
| 11893 | -34e0, 34e0, imax(i8) - 61, imax(i8) - 60, imin(i8) + 62, imin(i8) + 63, -35e0, 35e0, | ||
| 11894 | imax(i8) - 63, imax(i8) - 62, imin(i8) + 64, imin(i8) + 65, -36e0, 36e0, imax(i8) - 65, imax(i8) - 64, | ||
| 11895 | imin(i8) + 66, imin(i8) + 67, -37e0, 37e0, imax(i8) - 67, imax(i8) - 66, imin(i8) + 68, imin(i8) + 69, | ||
| 11896 | -38e0, 38e0, imax(i8) - 69, imax(i8) - 68, imin(i8) + 70, imin(i8) + 71, -39e0, 39e0, | ||
| 11897 | imax(i8) - 71, imax(i8) - 70, imin(i8) + 72, imin(i8) + 73, -41e0, 41e0, imax(i8) - 73, imax(i8) - 72, | ||
| 11898 | imin(i8) + 74, imin(i8) + 75, -42e0, 42e0, imax(i8) - 75, imax(i8) - 74, imin(i8) + 76, imin(i8) + 77, | ||
| 11899 | }); | ||
| 11900 | |||
| 11901 | try testArgs(@Vector(1, f16), @Vector(1, u8), .{ | ||
| 11902 | 0, | ||
| 11903 | }); | ||
| 11904 | try testArgs(@Vector(2, f16), @Vector(2, u8), .{ | ||
| 11905 | 1e0, 1e1, | ||
| 11906 | }); | ||
| 11907 | try testArgs(@Vector(4, f16), @Vector(4, u8), .{ | ||
| 11908 | 1e2, imax(u8) - 1, imax(u8), 2e0, | ||
| 11909 | }); | ||
| 11910 | try testArgs(@Vector(8, f16), @Vector(8, u8), .{ | ||
| 11911 | 2e1, 2e2, imax(u8) - 3, imax(u8) - 2, 3e0, 3e1, imax(u8) - 5, imax(u8) - 4, | ||
| 11912 | }); | ||
| 11913 | try testArgs(@Vector(16, f16), @Vector(16, u8), .{ | ||
| 11914 | imax(u8) - 7, imax(u8) - 6, 5e0, 5e1, imax(u8) - 9, imax(u8) - 8, 6e0, 6e1, | ||
| 11915 | imax(u8) - 11, imax(u8) - 10, 7e0, 7e1, imax(u8) - 13, imax(u8) - 12, 8e0, 8e1, | ||
| 11916 | }); | ||
| 11917 | try testArgs(@Vector(32, f16), @Vector(32, u8), .{ | ||
| 11918 | imax(u8) - 15, imax(u8) - 14, 9e0, 9e1, imax(u8) - 17, imax(u8) - 16, 11e0, 11e1, | ||
| 11919 | imax(u8) - 19, imax(u8) - 18, 12e0, 12e1, imax(u8) - 21, imax(u8) - 20, 13e0, 13e1, | ||
| 11920 | imax(u8) - 23, imax(u8) - 22, 14e0, 14e1, imax(u8) - 25, imax(u8) - 24, 15e0, 15e1, | ||
| 11921 | imax(u8) - 27, imax(u8) - 26, 16e0, 16e1, imax(u8) - 29, imax(u8) - 28, 17e0, 17e1, | ||
| 11922 | }); | ||
| 11923 | try testArgs(@Vector(64, f16), @Vector(64, u8), .{ | ||
| 11924 | imax(u8) - 31, imax(u8) - 30, 18e0, 18e1, imax(u8) - 33, imax(u8) - 32, 19e0, 19e1, | ||
| 11925 | imax(u8) - 35, imax(u8) - 34, 21e0, 21e1, imax(u8) - 37, imax(u8) - 36, 22e0, 22e1, | ||
| 11926 | imax(u8) - 39, imax(u8) - 38, 23e0, 23e1, imax(u8) - 41, imax(u8) - 40, 24e0, 24e1, | ||
| 11927 | imax(u8) - 43, imax(u8) - 42, 25e0, 25e1, imax(u8) - 45, imax(u8) - 44, 26e0, imax(u8) - 47, | ||
| 11928 | imax(u8) - 46, 27e0, imax(u8) - 49, imax(u8) - 48, 28e0, imax(u8) - 51, imax(u8) - 50, 29e0, | ||
| 11929 | imax(u8) - 53, imax(u8) - 52, 31e0, imax(u8) - 55, imax(u8) - 54, 32e0, imax(u8) - 57, imax(u8) - 56, | ||
| 11930 | 33e0, imax(u8) - 59, imax(u8) - 58, 34e0, imax(u8) - 61, imax(u8) - 60, 35e0, imax(u8) - 63, | ||
| 11931 | imax(u8) - 62, 36e0, imax(u8) - 65, imax(u8) - 64, 37e0, imax(u8) - 67, imax(u8) - 66, 38e0, | ||
| 11932 | }); | ||
| 11933 | try testArgs(@Vector(128, f16), @Vector(128, u8), .{ | ||
| 11934 | imax(u8) - 69, imax(u8) - 68, 39e0, imax(u8) - 71, imax(u8) - 70, 41e0, imax(u8) - 73, imax(u8) - 72, | ||
| 11935 | 42e0, imax(u8) - 75, imax(u8) - 74, 43e0, imax(u8) - 77, imax(u8) - 76, 44e0, imax(u8) - 79, | ||
| 11936 | imax(u8) - 78, 45e0, imax(u8) - 81, imax(u8) - 80, 46e0, imax(u8) - 83, imax(u8) - 82, 47e0, | ||
| 11937 | imax(u8) - 85, imax(u8) - 84, 48e0, imax(u8) - 87, imax(u8) - 86, 49e0, imax(u8) - 89, imax(u8) - 88, | ||
| 11938 | 51e0, imax(u8) - 91, imax(u8) - 90, 52e0, imax(u8) - 93, imax(u8) - 92, 53e0, imax(u8) - 95, | ||
| 11939 | imax(u8) - 94, 54e0, imax(u8) - 97, imax(u8) - 96, 55e0, imax(u8) - 99, imax(u8) - 98, 56e0, | ||
| 11940 | imax(u8) - 101, imax(u8) - 100, 57e0, imax(u8) - 103, imax(u8) - 102, 58e0, imax(u8) - 105, imax(u8) - 104, | ||
| 11941 | 59e0, imax(u8) - 107, imax(u8) - 106, 61e0, imax(u8) - 109, imax(u8) - 108, 62e0, imax(u8) - 111, | ||
| 11942 | imax(u8) - 110, 63e0, imax(u8) - 113, imax(u8) - 112, 64e0, imax(u8) - 115, imax(u8) - 114, 65e0, | ||
| 11943 | imax(u8) - 117, imax(u8) - 116, 66e0, imax(u8) - 119, imax(u8) - 118, 67e0, imax(u8) - 121, imax(u8) - 120, | ||
| 11944 | 68e0, imax(u8) - 123, imax(u8) - 122, 69e0, imax(u8) - 125, imax(u8) - 124, 71e0, imax(u8) - 127, | ||
| 11945 | imax(u8) - 126, 72e0, imax(u8) - 129, imax(u8) - 128, 73e0, imax(u8) - 131, imax(u8) - 130, 74e0, | ||
| 11946 | imax(u8) - 133, imax(u8) - 132, 75e0, imax(u8) - 135, imax(u8) - 134, 76e0, imax(u8) - 137, imax(u8) - 136, | ||
| 11947 | 77e0, imax(u8) - 139, imax(u8) - 138, 78e0, imax(u8) - 141, imax(u8) - 140, 79e0, imax(u8) - 143, | ||
| 11948 | imax(u8) - 142, 81e0, imax(u8) - 145, imax(u8) - 144, 82e0, imax(u8) - 147, imax(u8) - 146, 83e0, | ||
| 11949 | imax(u8) - 149, imax(u8) - 148, 84e0, imax(u8) - 151, imax(u8) - 150, 85e0, imax(u8) - 153, imax(u8) - 152, | ||
| 11950 | }); | ||
| 11951 | |||
| 11952 | try testArgs(@Vector(1, f16), @Vector(1, i16), .{ | ||
| 11953 | imin(i16), | ||
| 11954 | }); | ||
| 11955 | try testArgs(@Vector(2, f16), @Vector(2, i16), .{ | ||
| 11956 | imin(i16) + 1, -1e4, | ||
| 11957 | }); | ||
| 11958 | try testArgs(@Vector(4, f16), @Vector(4, i16), .{ | ||
| 11959 | -1e3, -1e2, -1e1, -1e0, | ||
| 11960 | }); | ||
| 11961 | try testArgs(@Vector(8, f16), @Vector(8, i16), .{ | ||
| 11962 | 0, 1e0, 1e1, 1e2, 1e3, 1e4, imax(i16) - 1, imax(i16), | ||
| 11963 | }); | ||
| 11964 | try testArgs(@Vector(16, f16), @Vector(16, i16), .{ | ||
| 11965 | imin(i16) + 2, imin(i16) + 3, -2e4, -2e3, -2e2, -2e1, -2e0, 2e0, | ||
| 11966 | 2e1, 2e2, 2e3, 2e4, imax(i16) - 3, imax(i16) - 2, imin(i16) + 4, imin(i16) + 5, | ||
| 11967 | }); | ||
| 11968 | try testArgs(@Vector(32, f16), @Vector(32, i16), .{ | ||
| 11969 | -3e4, -3e3, -3e2, -3e1, -3e0, 3e0, 3e1, 3e2, | ||
| 11970 | 3e3, 3e4, imax(i16) - 5, imax(i16) - 4, imin(i16) + 6, imin(i16) + 7, -4e3, -4e2, | ||
| 11971 | -4e1, -4e0, 4e0, 4e1, 4e2, 4e3, imax(i16) - 7, imax(i16) - 6, | ||
| 11972 | imin(i16) + 8, imin(i16) + 9, -5e3, -5e2, -5e1, -5e0, 5e0, 5e1, | ||
| 11973 | }); | ||
| 11974 | try testArgs(@Vector(64, f16), @Vector(64, i16), .{ | ||
| 11975 | 5e2, 5e3, imax(i16) - 9, imax(i16) - 8, imin(i16) + 10, imin(i16) + 11, -6e3, -6e2, | ||
| 11976 | -6e1, -6e0, 6e0, 6e1, 6e2, 6e3, imax(i16) - 11, imax(i16) - 10, | ||
| 11977 | imin(i16) + 12, imin(i16) + 13, -7e3, -7e2, -7e1, -7e0, 7e0, 7e1, | ||
| 11978 | 7e2, 7e3, imax(i16) - 13, imax(i16) - 12, imin(i16) + 14, imin(i16) + 15, -8e3, -8e2, | ||
| 11979 | -8e1, -8e0, 8e0, 8e1, 8e2, 8e3, imax(i16) - 15, imax(i16) - 14, | ||
| 11980 | imin(i16) + 16, imin(i16) + 17, -9e3, -9e2, -9e1, -9e0, 9e0, 9e1, | ||
| 11981 | 9e2, 9e3, imax(i16) - 17, imax(i16) - 16, imin(i16) + 18, imin(i16) + 19, -11e3, -11e2, | ||
| 11982 | -11e1, -11e0, 11e0, 11e1, 11e2, 11e3, imax(i16) - 19, imax(i16) - 18, | ||
| 11983 | }); | ||
| 11984 | try testArgs(@Vector(128, f16), @Vector(128, i16), .{ | ||
| 11985 | imin(i16) + 20, imin(i16) + 21, -12e3, -12e2, -12e1, -12e0, 12e0, 12e1, | ||
| 11986 | 12e2, 12e3, imax(i16) - 21, imax(i16) - 20, imin(i16) + 22, imin(i16) + 23, -13e3, -13e2, | ||
| 11987 | -13e1, -13e0, 13e0, 13e1, 13e2, 13e3, imax(i16) - 23, imax(i16) - 22, | ||
| 11988 | imin(i16) + 24, imin(i16) + 25, -14e3, -14e2, -14e1, -14e0, 14e0, 14e1, | ||
| 11989 | 14e2, 14e3, imax(i16) - 25, imax(i16) - 24, imin(i16) + 26, imin(i16) + 27, -15e3, -15e2, | ||
| 11990 | -15e1, -15e0, 15e0, 15e1, 15e2, 15e3, imax(i16) - 27, imax(i16) - 26, | ||
| 11991 | imin(i16) + 28, imin(i16) + 29, -16e3, -16e2, -16e1, -16e0, 16e0, 16e1, | ||
| 11992 | 16e2, 16e3, imax(i16) - 29, imax(i16) - 28, imin(i16) + 30, imin(i16) + 31, -17e3, -17e2, | ||
| 11993 | -17e1, -17e0, 17e0, 17e1, 17e2, 17e3, imax(i16) - 31, imax(i16) - 30, | ||
| 11994 | imin(i16) + 32, imin(i16) + 33, -18e3, -18e2, -18e1, -18e0, 18e0, 18e1, | ||
| 11995 | 18e2, 18e3, imax(i16) - 33, imax(i16) - 32, imin(i16) + 34, imin(i16) + 35, -19e3, -19e2, | ||
| 11996 | -19e1, -19e0, 19e0, 19e1, 19e2, 19e3, imax(i16) - 35, imax(i16) - 34, | ||
| 11997 | imin(i16) + 36, imin(i16) + 37, -12e3, -21e2, -21e1, -21e0, 21e0, 21e1, | ||
| 11998 | 21e2, 21e3, imax(i16) - 37, imax(i16) - 36, imin(i16) + 38, imin(i16) + 39, -22e3, -22e2, | ||
| 11999 | -22e1, -22e0, 22e0, 22e1, 22e2, 22e3, imax(i16) - 39, imax(i16) - 38, | ||
| 12000 | imin(i16) + 40, imin(i16) + 41, -23e3, -23e2, -23e1, -23e0, 23e0, 23e1, | ||
| 12001 | }); | ||
| 12002 | |||
| 12003 | try testArgs(@Vector(1, f16), @Vector(1, u16), .{ | ||
| 12004 | 0, | ||
| 12005 | }); | ||
| 12006 | try testArgs(@Vector(2, f16), @Vector(2, u16), .{ | ||
| 12007 | 1e0, 1e1, | ||
| 12008 | }); | ||
| 12009 | try testArgs(@Vector(4, f16), @Vector(4, u16), .{ | ||
| 12010 | 1e2, 1e3, 1e4, imax(u16) - 1, | ||
| 12011 | }); | ||
| 12012 | try testArgs(@Vector(8, f16), @Vector(8, u16), .{ | ||
| 12013 | imax(u16), 2e0, 2e1, 2e2, 2e3, 2e4, imax(u16) - 3, imax(u16) - 2, | ||
| 12014 | }); | ||
| 12015 | try testArgs(@Vector(16, f16), @Vector(16, u16), .{ | ||
| 12016 | 3e0, 3e1, 3e2, 3e3, 3e4, imax(u16) - 5, imax(u16) - 4, 4e0, | ||
| 12017 | 4e1, 4e2, 4e3, 4e4, imax(u16) - 7, imax(u16) - 6, 5e0, 5e1, | ||
| 12018 | }); | ||
| 12019 | try testArgs(@Vector(32, f16), @Vector(32, u16), .{ | ||
| 12020 | 5e2, 5e3, 5e4, imax(u16) - 9, imax(u16) - 8, 6e0, 6e1, 6e2, | ||
| 12021 | 6e3, 6e4, imax(u16) - 11, imax(u16) - 10, 7e0, 7e1, 7e2, 7e3, | ||
| 12022 | imax(u16) - 13, imax(u16) - 12, 8e0, 8e1, 8e2, 8e3, imax(u16) - 15, imax(u16) - 14, | ||
| 12023 | 9e0, 9e1, 9e2, 9e3, imax(u16) - 17, imax(u16) - 16, 11e0, 11e1, | ||
| 12024 | }); | ||
| 12025 | try testArgs(@Vector(64, f16), @Vector(64, u16), .{ | ||
| 12026 | 11e2, 11e3, imax(u16) - 19, imax(u16) - 18, 12e0, 12e1, 12e2, 12e3, | ||
| 12027 | imax(u16) - 21, imax(u16) - 20, 13e0, 13e1, 13e2, 13e3, imax(u16) - 23, imax(u16) - 22, | ||
| 12028 | 14e0, 14e1, 14e2, 14e3, imax(u16) - 25, imax(u16) - 24, 15e0, 15e1, | ||
| 12029 | 15e2, 15e3, imax(u16) - 27, imax(u16) - 26, 16e0, 16e1, 16e2, 16e3, | ||
| 12030 | imax(u16) - 29, imax(u16) - 28, 17e0, 17e1, 17e2, 17e3, imax(u16) - 31, imax(u16) - 30, | ||
| 12031 | 18e0, 18e1, 18e2, 18e3, imax(u16) - 33, imax(u16) - 32, 19e0, 19e1, | ||
| 12032 | 19e2, 19e3, imax(u16) - 35, imax(u16) - 34, 21e0, 21e1, 21e2, 21e3, | ||
| 12033 | imax(u16) - 37, imax(u16) - 36, 22e0, 22e1, 22e2, 22e3, imax(u16) - 39, imax(u16) - 38, | ||
| 12034 | }); | ||
| 12035 | try testArgs(@Vector(128, f16), @Vector(128, u16), .{ | ||
| 12036 | 23e0, 23e1, 23e2, 23e3, imax(u16) - 41, imax(u16) - 40, 24e0, 24e1, | ||
| 12037 | 24e2, 24e3, imax(u16) - 43, imax(u16) - 42, 25e0, 25e1, 25e2, 25e3, | ||
| 12038 | imax(u16) - 45, imax(u16) - 44, 26e0, 26e1, 26e2, 26e3, imax(u16) - 47, imax(u16) - 46, | ||
| 12039 | 27e0, 27e1, 27e2, 27e3, imax(u16) - 49, imax(u16) - 48, 28e0, 28e1, | ||
| 12040 | 28e2, 28e3, imax(u16) - 51, imax(u16) - 50, 29e0, 29e1, 29e2, 29e3, | ||
| 12041 | imax(u16) - 53, imax(u16) - 52, 31e0, 31e1, 31e2, 31e3, imax(u16) - 55, imax(u16) - 54, | ||
| 12042 | 32e0, 32e1, 32e2, 32e3, imax(u16) - 57, imax(u16) - 56, 33e0, 33e1, | ||
| 12043 | 33e2, 33e3, imax(u16) - 59, imax(u16) - 58, 34e0, 34e1, 34e2, 34e3, | ||
| 12044 | imax(u16) - 61, imax(u16) - 60, 35e0, 35e1, 35e2, 35e3, imax(u16) - 63, imax(u16) - 62, | ||
| 12045 | 36e0, 36e1, 36e2, 36e3, imax(u16) - 65, imax(u16) - 64, 37e0, 37e1, | ||
| 12046 | 37e2, 37e3, imax(u16) - 67, imax(u16) - 66, 38e0, 38e1, 38e2, 38e3, | ||
| 12047 | imax(u16) - 69, imax(u16) - 68, 39e0, 39e1, 39e2, 39e3, imax(u16) - 71, imax(u16) - 70, | ||
| 12048 | 41e0, 41e1, 41e2, 41e3, imax(u16) - 73, imax(u16) - 72, 42e0, 42e1, | ||
| 12049 | 42e2, 42e3, imax(u16) - 75, imax(u16) - 74, 43e0, 43e1, 43e2, 43e3, | ||
| 12050 | imax(u16) - 77, imax(u16) - 76, 44e0, 44e1, 44e2, 44e3, imax(u16) - 79, imax(u16) - 78, | ||
| 12051 | 45e0, 45e1, 45e2, 45e3, imax(u16) - 81, imax(u16) - 80, 46e0, 46e1, | ||
| 12052 | }); | ||
| 12053 | |||
| 12054 | try testArgs(@Vector(1, f16), @Vector(1, i32), .{ | ||
| 12055 | imin(i32), | ||
| 12056 | }); | ||
| 12057 | try testArgs(@Vector(2, f16), @Vector(2, i32), .{ | ||
| 12058 | imin(i32) + 1, -1e9, | ||
| 12059 | }); | ||
| 12060 | try testArgs(@Vector(4, f16), @Vector(4, i32), .{ | ||
| 12061 | -1e8, -1e7, -1e6, -1e5, | ||
| 12062 | }); | ||
| 12063 | try testArgs(@Vector(8, f16), @Vector(8, i32), .{ | ||
| 12064 | -1e4, -1e3, -1e2, -1e1, -1e0, 0, 1e0, 1e1, | ||
| 12065 | }); | ||
| 12066 | try testArgs(@Vector(16, f16), @Vector(16, i32), .{ | ||
| 12067 | 1e2, 1e3, 1e4, 1e5, 1e6, 1e7, 1e8, 1e9, | ||
| 12068 | imax(i32) - 1, imax(i32), imin(i32) + 2, imin(i32) + 3, -2e9, -2e8, -2e7, -2e6, | ||
| 12069 | }); | ||
| 12070 | try testArgs(@Vector(32, f16), @Vector(32, i32), .{ | ||
| 12071 | -2e5, -2e4, -2e3, -2e2, -2e1, -2e0, 2e0, 2e1, | ||
| 12072 | 2e2, 2e3, 2e4, 2e5, 2e6, 2e7, 2e8, 2e9, | ||
| 12073 | imax(i32) - 3, imax(i32) - 2, imin(i32) + 4, imin(i32) + 5, -3e8, -3e7, -3e6, -3e5, | ||
| 12074 | -3e4, -3e3, -3e2, -3e1, -3e0, 3e0, 3e1, 3e2, | ||
| 12075 | }); | ||
| 12076 | try testArgs(@Vector(64, f16), @Vector(64, i32), .{ | ||
| 12077 | 3e3, 3e4, 3e5, 3e6, 3e7, 3e8, imax(i32) - 5, imax(i32) - 4, | ||
| 12078 | imin(i32) + 6, imin(i32) + 7, -4e8, -4e7, -4e6, -4e5, -4e4, -4e3, | ||
| 12079 | -4e2, -4e1, -4e0, 4e0, 4e1, 4e2, 4e3, 4e4, | ||
| 12080 | 4e5, 4e6, 4e7, 4e8, imax(i32) - 7, imax(i32) - 6, imin(i32) + 8, imin(i32) + 9, | ||
| 12081 | -5e8, -5e7, -5e6, -5e5, -5e4, -5e3, -5e2, -5e1, | ||
| 12082 | -5e0, 5e0, 5e1, 5e2, 5e3, 5e4, 5e5, 5e6, | ||
| 12083 | 5e7, 5e8, imax(i32) - 9, imax(i32) - 8, imin(i32) + 10, imin(i32) + 11, -6e8, -6e7, | ||
| 12084 | -6e6, -6e5, -6e4, -6e3, -6e2, -6e1, -6e0, 6e0, | ||
| 12085 | }); | ||
| 12086 | try testArgs(@Vector(128, f16), @Vector(128, i32), .{ | ||
| 12087 | 6e1, 6e2, 6e3, 6e4, 6e5, 6e6, 6e7, 6e8, | ||
| 12088 | imax(i32) - 11, imax(i32) - 10, imin(i32) + 12, imin(i32) + 13, -7e8, -7e7, -7e6, -7e5, | ||
| 12089 | -7e4, -7e3, -7e2, -7e1, -7e0, 7e0, 7e1, 7e2, | ||
| 12090 | 7e3, 7e4, 7e5, 7e6, 7e7, 7e8, imax(i32) - 13, imax(i32) - 12, | ||
| 12091 | imin(i32) + 14, imin(i32) + 15, -8e8, -8e7, -8e6, -8e5, -8e4, -8e3, | ||
| 12092 | -8e2, -8e1, -8e0, 8e0, 8e1, 8e2, 8e3, 8e4, | ||
| 12093 | 8e5, 8e6, 8e7, 8e8, imax(i32) - 15, imax(i32) - 14, imin(i32) + 16, imin(i32) + 17, | ||
| 12094 | -9e8, -9e7, -9e6, -9e5, -9e4, -9e3, -9e2, -9e1, | ||
| 12095 | -9e0, 9e0, 9e1, 9e2, 9e3, 9e4, 9e5, 9e6, | ||
| 12096 | 9e7, 9e8, imax(i32) - 17, imax(i32) - 16, imin(i32) + 18, imin(i32) + 19, -11e8, -11e7, | ||
| 12097 | -11e6, -11e5, -11e4, -11e3, -11e2, -11e1, -11e0, 11e0, | ||
| 12098 | 11e1, 11e2, 11e3, 11e4, 11e5, 11e6, 11e7, 11e8, | ||
| 12099 | imax(i32) - 19, imax(i32) - 18, imin(i32) + 20, imin(i32) + 21, -12e8, -12e7, -12e6, -12e5, | ||
| 12100 | -12e4, -12e3, -12e2, -12e1, -12e0, 12e0, 12e1, 12e2, | ||
| 12101 | 12e3, 12e4, 12e5, 12e6, 12e7, 12e8, imax(i32) - 21, imax(i32) - 20, | ||
| 12102 | imin(i32) + 22, imin(i32) + 23, -13e8, -13e7, -13e6, -13e5, -13e4, -13e3, | ||
| 12103 | }); | ||
| 12104 | |||
| 12105 | try testArgs(@Vector(1, f16), @Vector(1, u32), .{ | ||
| 12106 | 0, | ||
| 12107 | }); | ||
| 12108 | try testArgs(@Vector(2, f16), @Vector(2, u32), .{ | ||
| 12109 | 1e0, 1e1, | ||
| 12110 | }); | ||
| 12111 | try testArgs(@Vector(4, f16), @Vector(4, u32), .{ | ||
| 12112 | 1e2, 1e3, 1e4, imax(u32) - 1, | ||
| 12113 | }); | ||
| 12114 | try testArgs(@Vector(8, f16), @Vector(8, u32), .{ | ||
| 12115 | imax(u32), 2e0, 2e1, 2e2, 2e3, 2e4, imax(u32) - 3, imax(u32) - 2, | ||
| 12116 | }); | ||
| 12117 | try testArgs(@Vector(16, f16), @Vector(16, u32), .{ | ||
| 12118 | 3e0, 3e1, 3e2, 3e3, 3e4, imax(u32) - 5, imax(u32) - 4, 4e0, | ||
| 12119 | 4e1, 4e2, 4e3, 4e4, imax(u32) - 7, imax(u32) - 6, 5e0, 5e1, | ||
| 12120 | }); | ||
| 12121 | try testArgs(@Vector(32, f16), @Vector(32, u32), .{ | ||
| 12122 | 5e2, 5e3, 5e4, imax(u32) - 9, imax(u32) - 8, 6e0, 6e1, 6e2, | ||
| 12123 | 6e3, 6e4, imax(u32) - 11, imax(u32) - 10, 7e0, 7e1, 7e2, 7e3, | ||
| 12124 | imax(u32) - 13, imax(u32) - 12, 8e0, 8e1, 8e2, 8e3, imax(u32) - 15, imax(u32) - 14, | ||
| 12125 | 9e0, 9e1, 9e2, 9e3, imax(u32) - 17, imax(u32) - 16, 11e0, 11e1, | ||
| 12126 | }); | ||
| 12127 | try testArgs(@Vector(64, f16), @Vector(64, u32), .{ | ||
| 12128 | 11e2, 11e3, imax(u32) - 19, imax(u32) - 18, 12e0, 12e1, 12e2, 12e3, | ||
| 12129 | imax(u32) - 21, imax(u32) - 20, 13e0, 13e1, 13e2, 13e3, imax(u32) - 23, imax(u32) - 22, | ||
| 12130 | 14e0, 14e1, 14e2, 14e3, imax(u32) - 25, imax(u32) - 24, 15e0, 15e1, | ||
| 12131 | 15e2, 15e3, imax(u32) - 27, imax(u32) - 26, 16e0, 16e1, 16e2, 16e3, | ||
| 12132 | imax(u32) - 29, imax(u32) - 28, 17e0, 17e1, 17e2, 17e3, imax(u32) - 31, imax(u32) - 30, | ||
| 12133 | 18e0, 18e1, 18e2, 18e3, imax(u32) - 33, imax(u32) - 32, 19e0, 19e1, | ||
| 12134 | 19e2, 19e3, imax(u32) - 35, imax(u32) - 34, 21e0, 21e1, 21e2, 21e3, | ||
| 12135 | imax(u32) - 37, imax(u32) - 36, 22e0, 22e1, 22e2, 22e3, imax(u32) - 39, imax(u32) - 38, | ||
| 12136 | }); | ||
| 12137 | try testArgs(@Vector(128, f16), @Vector(128, u32), .{ | ||
| 12138 | 23e0, 23e1, 23e2, 23e3, imax(u32) - 41, imax(u32) - 40, 24e0, 24e1, | ||
| 12139 | 24e2, 24e3, imax(u32) - 43, imax(u32) - 42, 25e0, 25e1, 25e2, 25e3, | ||
| 12140 | imax(u32) - 45, imax(u32) - 44, 26e0, 26e1, 26e2, 26e3, imax(u32) - 47, imax(u32) - 46, | ||
| 12141 | 27e0, 27e1, 27e2, 27e3, imax(u32) - 49, imax(u32) - 48, 28e0, 28e1, | ||
| 12142 | 28e2, 28e3, imax(u32) - 51, imax(u32) - 50, 29e0, 29e1, 29e2, 29e3, | ||
| 12143 | imax(u32) - 53, imax(u32) - 52, 31e0, 31e1, 31e2, 31e3, imax(u32) - 55, imax(u32) - 54, | ||
| 12144 | 32e0, 32e1, 32e2, 32e3, imax(u32) - 57, imax(u32) - 56, 33e0, 33e1, | ||
| 12145 | 33e2, 33e3, imax(u32) - 59, imax(u32) - 58, 34e0, 34e1, 34e2, 34e3, | ||
| 12146 | imax(u32) - 61, imax(u32) - 60, 35e0, 35e1, 35e2, 35e3, imax(u32) - 63, imax(u32) - 62, | ||
| 12147 | 36e0, 36e1, 36e2, 36e3, imax(u32) - 65, imax(u32) - 64, 37e0, 37e1, | ||
| 12148 | 37e2, 37e3, imax(u32) - 67, imax(u32) - 66, 38e0, 38e1, 38e2, 38e3, | ||
| 12149 | imax(u32) - 69, imax(u32) - 68, 39e0, 39e1, 39e2, 39e3, imax(u32) - 71, imax(u32) - 70, | ||
| 12150 | 41e0, 41e1, 41e2, 41e3, imax(u32) - 73, imax(u32) - 72, 42e0, 42e1, | ||
| 12151 | 42e2, 42e3, imax(u32) - 75, imax(u32) - 74, 43e0, 43e1, 43e2, 43e3, | ||
| 12152 | imax(u32) - 77, imax(u32) - 76, 44e0, 44e1, 44e2, 44e3, imax(u32) - 79, imax(u32) - 78, | ||
| 12153 | 45e0, 45e1, 45e2, 45e3, imax(u32) - 81, imax(u32) - 80, 46e0, 46e1, | ||
| 12154 | }); | ||
| 12155 | |||
| 12156 | try testArgs(@Vector(1, f16), @Vector(1, i64), .{ | ||
| 12157 | imin(i64), | ||
| 12158 | }); | ||
| 12159 | try testArgs(@Vector(2, f16), @Vector(2, i64), .{ | ||
| 12160 | imin(i64) + 1, -1e18, | ||
| 12161 | }); | ||
| 12162 | try testArgs(@Vector(4, f16), @Vector(4, i64), .{ | ||
| 12163 | -1e17, -1e16, -1e15, -1e14, | ||
| 12164 | }); | ||
| 12165 | try testArgs(@Vector(8, f16), @Vector(8, i64), .{ | ||
| 12166 | -1e13, -1e12, -1e11, -1e10, -1e9, -1e8, -1e7, -1e6, | ||
| 12167 | }); | ||
| 12168 | try testArgs(@Vector(16, f16), @Vector(16, i64), .{ | ||
| 12169 | -1e5, -1e4, -1e3, -1e2, -1e1, -1e0, 0, 1e0, | ||
| 12170 | 1e1, 1e2, 1e3, 1e4, 1e5, 1e6, 1e7, 1e8, | ||
| 12171 | }); | ||
| 12172 | try testArgs(@Vector(32, f16), @Vector(32, i64), .{ | ||
| 12173 | 1e9, 1e10, 1e11, 1e12, 1e13, 1e14, 1e15, 1e16, | ||
| 12174 | 1e17, 1e18, imax(i64) - 1, imax(i64), imin(i64) + 2, imin(i64) + 3, -2e18, -2e17, | ||
| 12175 | -2e16, -2e15, -2e14, -2e13, -2e12, -2e11, -2e10, -2e9, | ||
| 12176 | -2e8, -2e7, -2e6, -2e5, -2e4, -2e3, -2e2, -2e1, | ||
| 12177 | }); | ||
| 12178 | try testArgs(@Vector(64, f16), @Vector(64, i64), .{ | ||
| 12179 | -2e0, 2e0, 2e1, 2e2, 2e3, 2e4, 2e5, 2e6, | ||
| 12180 | 2e7, 2e8, 2e9, 2e10, 2e11, 2e12, 2e13, 2e14, | ||
| 12181 | 2e15, 2e16, 2e17, 2e18, imax(i64) - 3, imax(i64) - 2, imin(i64) + 4, imin(i64) + 5, | ||
| 12182 | -3e18, -3e17, -3e16, -3e15, -3e14, -3e13, -3e12, -3e11, | ||
| 12183 | -3e10, -3e9, -3e8, -3e7, -3e6, -3e5, -3e4, -3e3, | ||
| 12184 | -3e2, -3e1, -3e0, 3e0, 3e1, 3e2, 3e3, 3e4, | ||
| 12185 | 3e5, 3e6, 3e7, 3e8, 3e9, 3e10, 3e11, 3e12, | ||
| 12186 | 3e13, 3e14, 3e15, 3e16, 3e17, 3e18, imax(i64) - 5, imax(i64) - 4, | ||
| 12187 | }); | ||
| 12188 | try testArgs(@Vector(128, f16), @Vector(128, i64), .{ | ||
| 12189 | imin(i64) + 6, imin(i64) + 7, -4e18, -4e17, -4e16, -4e15, -4e14, -4e13, | ||
| 12190 | -4e12, -4e11, -4e10, -4e9, -4e8, -4e7, -4e6, -4e5, | ||
| 12191 | -4e4, -4e3, -4e2, -4e1, -4e0, 4e0, 4e1, 4e2, | ||
| 12192 | 4e3, 4e4, 4e5, 4e6, 4e7, 4e8, 4e9, 4e10, | ||
| 12193 | 4e11, 4e12, 4e13, 4e14, 4e15, 4e16, 4e17, 4e18, | ||
| 12194 | imax(i64) - 7, imax(i64) - 6, imin(i64) + 8, imin(i64) + 9, -5e18, -5e17, -5e16, -5e15, | ||
| 12195 | -5e14, -5e13, -5e12, -5e11, -5e10, -5e9, -5e8, -5e7, | ||
| 12196 | -5e6, -5e5, -5e4, -5e3, -5e2, -5e1, -5e0, 5e0, | ||
| 12197 | 5e1, 5e2, 5e3, 5e4, 5e5, 5e6, 5e7, 5e8, | ||
| 12198 | 5e9, 5e10, 5e11, 5e12, 5e13, 5e14, 5e15, 5e16, | ||
| 12199 | 5e17, 5e18, imax(i64) - 9, imax(i64) - 8, imin(i64) + 10, imin(i64) + 11, -6e18, -6e17, | ||
| 12200 | -6e16, -6e15, -6e14, -6e13, -6e12, -6e11, -6e10, -6e9, | ||
| 12201 | -6e8, -6e7, -6e6, -6e5, -6e4, -6e3, -6e2, -6e1, | ||
| 12202 | -6e0, 6e0, 6e1, 6e2, 6e3, 6e4, 6e5, 6e6, | ||
| 12203 | 6e7, 6e8, 6e9, 6e10, 6e11, 6e12, 6e13, 6e14, | ||
| 12204 | 6e15, 6e16, 6e17, 6e18, imax(i64) - 11, imax(i64) - 10, imin(i64) + 12, imin(i64) + 13, | ||
| 12205 | }); | ||
| 12206 | |||
| 12207 | try testArgs(@Vector(1, f16), @Vector(1, u64), .{ | ||
| 12208 | 0, | ||
| 12209 | }); | ||
| 12210 | try testArgs(@Vector(2, f16), @Vector(2, u64), .{ | ||
| 12211 | 1e0, 1e1, | ||
| 12212 | }); | ||
| 12213 | try testArgs(@Vector(4, f16), @Vector(4, u64), .{ | ||
| 12214 | 1e2, 1e3, 1e4, 1e5, | ||
| 12215 | }); | ||
| 12216 | try testArgs(@Vector(8, f16), @Vector(8, u64), .{ | ||
| 12217 | 1e6, 1e7, 1e8, 1e9, 1e10, 1e11, 1e12, 1e13, | ||
| 12218 | }); | ||
| 12219 | try testArgs(@Vector(16, f16), @Vector(16, u64), .{ | ||
| 12220 | 1e14, 1e15, 1e16, 1e17, 1e18, 1e19, imax(u64) - 1, imax(u64), | ||
| 12221 | 2e0, 2e1, 2e2, 2e3, 2e4, 2e5, 2e6, 2e7, | ||
| 12222 | }); | ||
| 12223 | try testArgs(@Vector(32, f16), @Vector(32, u64), .{ | ||
| 12224 | 2e8, 2e9, 2e10, 2e11, 2e12, 2e13, 2e14, 2e15, | ||
| 12225 | 2e16, 2e17, 2e18, imax(u64) - 3, imax(u64) - 2, 3e0, 3e1, 3e2, | ||
| 12226 | 3e3, 3e4, 3e5, 3e6, 3e7, 3e8, 3e9, 3e10, | ||
| 12227 | 3e11, 3e12, 3e13, 3e14, 3e15, 3e16, 3e17, 3e18, | ||
| 12228 | }); | ||
| 12229 | try testArgs(@Vector(64, f16), @Vector(64, u64), .{ | ||
| 12230 | imax(u64) - 5, imax(u64) - 4, 4e0, 4e1, 4e2, 4e3, 4e4, 4e5, | ||
| 12231 | 4e6, 4e7, 4e8, 4e9, 4e10, 4e11, 4e12, 4e13, | ||
| 12232 | 4e14, 4e15, 4e16, 4e17, 4e18, imax(u64) - 7, imax(u64) - 6, 5e0, | ||
| 12233 | 5e1, 5e2, 5e3, 5e4, 5e5, 5e6, 5e7, 5e8, | ||
| 12234 | 5e9, 5e10, 5e11, 5e12, 5e13, 5e14, 5e15, 5e16, | ||
| 12235 | 5e17, 5e18, imax(u64) - 9, imax(u64) - 8, 6e0, 6e1, 6e2, 6e3, | ||
| 12236 | 6e4, 6e5, 6e6, 6e7, 6e8, 6e9, 6e10, 6e11, | ||
| 12237 | 6e12, 6e13, 6e14, 6e15, 6e16, 6e17, 6e18, imax(u64) - 11, | ||
| 12238 | }); | ||
| 12239 | try testArgs(@Vector(128, f16), @Vector(128, u64), .{ | ||
| 12240 | imax(u64) - 10, 7e0, 7e1, 7e2, 7e3, 7e4, 7e5, 7e6, | ||
| 12241 | 7e7, 7e8, 7e9, 7e10, 7e11, 7e12, 7e13, 7e14, | ||
| 12242 | 7e15, 7e16, 7e17, 7e18, imax(u64) - 13, imax(u64) - 12, 8e0, 8e1, | ||
| 12243 | 8e2, 8e3, 8e4, 8e5, 8e6, 8e7, 8e8, 8e9, | ||
| 12244 | 8e10, 8e11, 8e12, 8e13, 8e14, 8e15, 8e16, 8e17, | ||
| 12245 | 8e18, imax(u64) - 15, imax(u64) - 14, 9e0, 9e1, 9e2, 9e3, 9e4, | ||
| 12246 | 9e5, 9e6, 9e7, 9e8, 9e9, 9e10, 9e11, 9e12, | ||
| 12247 | 9e13, 9e14, 9e15, 9e16, 9e17, 9e18, imax(u64) - 17, imax(u64) - 16, | ||
| 12248 | 11e0, 11e1, 11e2, 11e3, 11e4, 11e5, 11e6, 11e7, | ||
| 12249 | 11e8, 11e9, 11e10, 11e11, 11e12, 11e13, 11e14, 11e15, | ||
| 12250 | 11e16, 11e17, 11e18, imax(u64) - 19, imax(u64) - 18, 12e0, 12e1, 12e2, | ||
| 12251 | 12e3, 12e4, 12e5, 12e6, 12e7, 12e8, 12e9, 12e10, | ||
| 12252 | 12e11, 12e12, 12e13, 12e14, 12e15, 12e16, 12e17, 12e18, | ||
| 12253 | imax(u64) - 21, imax(u64) - 20, 13e0, 13e1, 13e2, 13e3, 13e4, 13e5, | ||
| 12254 | 13e6, 13e7, 13e8, 13e9, 13e10, 13e11, 13e12, 13e13, | ||
| 12255 | 13e14, 13e15, 13e16, 13e17, 13e18, imax(u64) - 23, imax(u64) - 22, 14e0, | ||
| 12256 | }); | ||
| 12257 | |||
| 12258 | try testArgs(@Vector(1, f16), @Vector(1, i128), .{ | ||
| 12259 | imin(i128), | ||
| 12260 | }); | ||
| 12261 | try testArgs(@Vector(2, f16), @Vector(2, i128), .{ | ||
| 12262 | imin(i128) + 1, -1e38, | ||
| 12263 | }); | ||
| 12264 | try testArgs(@Vector(4, f16), @Vector(4, i128), .{ | ||
| 12265 | -1e37, -1e36, -1e35, -1e34, | ||
| 12266 | }); | ||
| 12267 | try testArgs(@Vector(8, f16), @Vector(8, i128), .{ | ||
| 12268 | -1e33, -1e32, -1e31, -1e30, -1e29, -1e28, -1e27, -1e26, | ||
| 12269 | }); | ||
| 12270 | try testArgs(@Vector(16, f16), @Vector(16, i128), .{ | ||
| 12271 | -1e25, -1e24, -1e23, -1e22, -1e21, -1e20, -1e19, -1e18, | ||
| 12272 | -1e17, -1e16, -1e15, -1e14, -1e13, -1e12, -1e11, -1e10, | ||
| 12273 | }); | ||
| 12274 | try testArgs(@Vector(32, f16), @Vector(32, i128), .{ | ||
| 12275 | -1e9, -1e8, -1e7, -1e6, -1e5, -1e4, -1e3, -1e2, | ||
| 12276 | -1e1, -1e0, 0, 1e0, 1e1, 1e2, 1e3, 1e4, | ||
| 12277 | 1e5, 1e6, 1e7, 1e8, 1e9, 1e10, 1e11, 1e12, | ||
| 12278 | 1e13, 1e14, 1e15, 1e16, 1e17, 1e18, 1e19, 1e20, | ||
| 12279 | }); | ||
| 12280 | try testArgs(@Vector(64, f16), @Vector(64, i128), .{ | ||
| 12281 | 1e21, 1e22, 1e23, 1e24, 1e25, 1e26, 1e27, 1e28, | ||
| 12282 | 1e29, 1e30, 1e31, 1e32, 1e33, 1e34, 1e35, 1e36, | ||
| 12283 | 1e37, 1e38, imax(i128) - 1, imax(i128), imin(i128) + 2, imin(i128) + 3, -2e37, -2e36, | ||
| 12284 | -2e35, -2e34, -2e33, -2e32, -2e31, -2e30, -2e29, -2e28, | ||
| 12285 | -2e27, -2e26, -2e25, -2e24, -2e23, -2e22, -2e21, -2e20, | ||
| 12286 | -2e19, -2e18, -2e17, -2e16, -2e15, -2e14, -2e13, -2e12, | ||
| 12287 | -2e11, -2e10, -2e9, -2e8, -2e7, -2e6, -2e5, -2e4, | ||
| 12288 | -2e3, -2e2, -2e1, -2e0, 2e0, 2e1, 2e2, 2e3, | ||
| 12289 | }); | ||
| 12290 | try testArgs(@Vector(128, f16), @Vector(128, i128), .{ | ||
| 12291 | 2e4, 2e5, 2e6, 2e7, 2e8, 2e9, 2e10, 2e11, | ||
| 12292 | 2e12, 2e13, 2e14, 2e15, 2e16, 2e17, 2e18, 2e19, | ||
| 12293 | 2e20, 2e21, 2e22, 2e23, 2e24, 2e25, 2e26, 2e27, | ||
| 12294 | 2e28, 2e29, 2e30, 2e31, 2e32, 2e33, 2e34, 2e35, | ||
| 12295 | 2e36, 2e37, imax(i128) - 3, imax(i128) - 2, imin(i128) + 4, imin(i128) + 5, -3e37, -3e36, | ||
| 12296 | -3e35, -3e34, -3e33, -3e32, -3e31, -3e30, -3e29, -3e28, | ||
| 12297 | -3e27, -3e26, -3e25, -3e24, -3e23, -3e22, -3e21, -3e20, | ||
| 12298 | -3e19, -3e18, -3e17, -3e16, -3e15, -3e14, -3e13, -3e12, | ||
| 12299 | -3e11, -3e10, -3e9, -3e8, -3e7, -3e6, -3e5, -3e4, | ||
| 12300 | -3e3, -3e2, -3e1, -3e0, 3e0, 3e1, 3e2, 3e3, | ||
| 12301 | 3e4, 3e5, 3e6, 3e7, 3e8, 3e9, 3e10, 3e11, | ||
| 12302 | 3e12, 3e13, 3e14, 3e15, 3e16, 3e17, 3e18, 3e19, | ||
| 12303 | 3e20, 3e21, 3e22, 3e23, 3e24, 3e25, 3e26, 3e27, | ||
| 12304 | 3e28, 3e29, 3e30, 3e31, 3e32, 3e33, 3e34, 3e35, | ||
| 12305 | 3e36, 3e37, imax(i128) - 5, imax(i128) - 4, imin(i128) + 6, imin(i128) + 7, -4e37, -4e36, | ||
| 12306 | -4e35, -4e34, -4e33, -4e32, -4e31, -4e30, -4e29, -4e28, | ||
| 12307 | }); | ||
| 12308 | |||
| 12309 | try testArgs(@Vector(1, f16), @Vector(1, u128), .{ | ||
| 12310 | 0, | ||
| 12311 | }); | ||
| 12312 | try testArgs(@Vector(2, f16), @Vector(2, u128), .{ | ||
| 12313 | 1e0, 1e1, | ||
| 12314 | }); | ||
| 12315 | try testArgs(@Vector(4, f16), @Vector(4, u128), .{ | ||
| 12316 | 1e2, 1e3, 1e4, 1e5, | ||
| 12317 | }); | ||
| 12318 | try testArgs(@Vector(8, f16), @Vector(8, u128), .{ | ||
| 12319 | 1e6, 1e7, 1e8, 1e9, 1e10, 1e11, 1e12, 1e13, | ||
| 12320 | }); | ||
| 12321 | try testArgs(@Vector(16, f16), @Vector(16, u128), .{ | ||
| 12322 | 1e14, 1e15, 1e16, 1e17, 1e18, 1e19, 1e20, 1e21, | ||
| 12323 | 1e22, 1e23, 1e24, 1e25, 1e26, 1e27, 1e28, 1e29, | ||
| 12324 | }); | ||
| 12325 | try testArgs(@Vector(32, f16), @Vector(32, u128), .{ | ||
| 12326 | 1e30, 1e31, 1e32, 1e33, 1e34, 1e35, 1e36, 1e37, | ||
| 12327 | 1e38, imax(u128) - 1, imax(u128), 2e0, 2e1, 2e2, 2e3, 2e4, | ||
| 12328 | 2e5, 2e6, 2e7, 2e8, 2e9, 2e10, 2e11, 2e12, | ||
| 12329 | 2e13, 2e14, 2e15, 2e16, 2e17, 2e18, 2e19, 2e20, | ||
| 12330 | }); | ||
| 12331 | try testArgs(@Vector(64, f16), @Vector(64, u128), .{ | ||
| 12332 | 2e21, 2e22, 2e23, 2e24, 2e25, 2e26, 2e27, 2e28, | ||
| 12333 | 2e29, 2e30, 2e31, 2e32, 2e33, 2e34, 2e35, 2e36, | ||
| 12334 | 2e37, 2e38, imax(u128) - 3, imax(u128) - 2, 3e0, 3e1, 3e2, 3e3, | ||
| 12335 | 3e4, 3e5, 3e6, 3e7, 3e8, 3e9, 3e10, 3e11, | ||
| 12336 | 3e12, 3e13, 3e14, 3e15, 3e16, 3e17, 3e18, 3e19, | ||
| 12337 | 3e20, 3e21, 3e22, 3e23, 3e24, 3e25, 3e26, 3e27, | ||
| 12338 | 3e28, 3e29, 3e30, 3e31, 3e32, 3e33, 3e34, 3e35, | ||
| 12339 | 3e36, 3e37, 3e38, imax(u128) - 5, imax(u128) - 4, 4e0, 4e1, 4e2, | ||
| 12340 | }); | ||
| 12341 | try testArgs(@Vector(128, f16), @Vector(128, u128), .{ | ||
| 12342 | 4e3, 4e4, 4e5, 4e6, 4e7, 4e8, 4e9, 4e10, | ||
| 12343 | 4e11, 4e12, 4e13, 4e14, 4e15, 4e16, 4e17, 4e18, | ||
| 12344 | 4e19, 4e20, 4e21, 4e22, 4e23, 4e24, 4e25, 4e26, | ||
| 12345 | 4e27, 4e28, 4e29, 4e30, 4e31, 4e32, 4e33, 4e34, | ||
| 12346 | 4e35, 4e36, 4e37, imax(u128) - 7, imax(u128) - 6, 5e0, 5e1, 5e2, | ||
| 12347 | 5e3, 5e4, 5e5, 5e6, 5e7, 5e8, 5e9, 5e10, | ||
| 12348 | 5e11, 5e12, 5e13, 5e14, 5e15, 5e16, 5e17, 5e18, | ||
| 12349 | 5e19, 5e20, 5e21, 5e22, 5e23, 5e24, 5e25, 5e26, | ||
| 12350 | 5e27, 5e28, 5e29, 5e30, 5e31, 5e32, 5e33, 5e34, | ||
| 12351 | 5e35, 5e36, 5e37, imax(u128) - 9, imax(u128) - 8, 6e0, 6e1, 6e2, | ||
| 12352 | 6e3, 6e4, 6e5, 6e6, 6e7, 6e8, 6e9, 6e10, | ||
| 12353 | 6e11, 6e12, 6e13, 6e14, 6e15, 6e16, 6e17, 6e18, | ||
| 12354 | 6e19, 6e20, 6e21, 6e22, 6e23, 6e24, 6e25, 6e26, | ||
| 12355 | 6e27, 6e28, 6e29, 6e30, 6e31, 6e32, 6e33, 6e34, | ||
| 12356 | 6e35, 6e36, 6e37, imax(u128) - 11, imax(u128) - 10, 7e0, 7e1, 7e2, | ||
| 12357 | 7e3, 7e4, 7e5, 7e6, 7e7, 7e8, 7e9, 7e10, | ||
| 12358 | }); | ||
| 12359 | |||
| 12360 | try testArgs(@Vector(1, f16), @Vector(1, i256), .{ | ||
| 12361 | imin(i256), | ||
| 12362 | }); | ||
| 12363 | try testArgs(@Vector(2, f16), @Vector(2, i256), .{ | ||
| 12364 | imin(i256) + 1, -1e76, | ||
| 12365 | }); | ||
| 12366 | try testArgs(@Vector(4, f16), @Vector(4, i256), .{ | ||
| 12367 | -1e75, -1e74, -1e73, -1e72, | ||
| 12368 | }); | ||
| 12369 | try testArgs(@Vector(8, f16), @Vector(8, i256), .{ | ||
| 12370 | -1e71, -1e70, -1e69, -1e68, -1e67, -1e66, -1e65, -1e64, | ||
| 12371 | }); | ||
| 12372 | try testArgs(@Vector(16, f16), @Vector(16, i256), .{ | ||
| 12373 | -1e63, -1e62, -1e61, -1e60, -1e59, -1e58, -1e57, -1e56, | ||
| 12374 | -1e55, -1e54, -1e53, -1e52, -1e51, -1e50, -1e49, -1e48, | ||
| 12375 | }); | ||
| 12376 | try testArgs(@Vector(32, f16), @Vector(32, i256), .{ | ||
| 12377 | -1e47, -1e46, -1e45, -1e44, -1e43, -1e42, -1e41, -1e40, | ||
| 12378 | -1e39, -1e38, -1e37, -1e36, -1e35, -1e34, -1e33, -1e32, | ||
| 12379 | -1e31, -1e30, -1e29, -1e28, -1e27, -1e26, -1e25, -1e24, | ||
| 12380 | -1e23, -1e22, -1e21, -1e20, -1e19, -1e18, -1e17, -1e16, | ||
| 12381 | }); | ||
| 12382 | try testArgs(@Vector(64, f16), @Vector(64, i256), .{ | ||
| 12383 | -1e15, -1e14, -1e13, -1e12, -1e11, -1e10, -1e9, -1e8, | ||
| 12384 | -1e7, -1e6, -1e5, -1e4, -1e3, -1e2, -1e1, -1e0, | ||
| 12385 | 0, 1e0, 1e1, 1e2, 1e3, 1e4, 1e5, 1e6, | ||
| 12386 | 1e7, 1e8, 1e9, 1e10, 1e11, 1e12, 1e13, 1e14, | ||
| 12387 | 1e15, 1e16, 1e17, 1e18, 1e19, 1e20, 1e21, 1e22, | ||
| 12388 | 1e23, 1e24, 1e25, 1e26, 1e27, 1e28, 1e29, 1e30, | ||
| 12389 | 1e31, 1e32, 1e33, 1e34, 1e35, 1e36, 1e37, 1e38, | ||
| 12390 | 1e39, 1e40, 1e41, 1e42, 1e43, 1e44, 1e45, 1e46, | ||
| 12391 | }); | ||
| 12392 | try testArgs(@Vector(128, f16), @Vector(128, i256), .{ | ||
| 12393 | 1e47, 1e48, 1e49, 1e50, 1e51, 1e52, 1e53, 1e54, | ||
| 12394 | 1e55, 1e56, 1e57, 1e58, 1e59, 1e60, 1e61, 1e62, | ||
| 12395 | 1e63, 1e64, 1e65, 1e66, 1e67, 1e68, 1e69, 1e70, | ||
| 12396 | 1e71, 1e72, 1e73, 1e74, 1e75, 1e76, imax(i256) - 1, imax(i256), | ||
| 12397 | imin(i256) + 2, imin(i256) + 3, -2e76, -2e75, -2e74, -2e73, -2e72, -2e71, | ||
| 12398 | -2e70, -2e69, -2e68, -2e67, -2e66, -2e65, -2e64, -2e63, | ||
| 12399 | -2e62, -2e61, -2e60, -2e59, -2e58, -2e57, -2e56, -2e55, | ||
| 12400 | -2e54, -2e53, -2e52, -2e51, -2e50, -2e49, -2e48, -2e47, | ||
| 12401 | -2e46, -2e45, -2e44, -2e43, -2e42, -2e41, -2e40, -2e39, | ||
| 12402 | -2e38, -2e37, -2e36, -2e35, -2e34, -2e33, -2e32, -2e31, | ||
| 12403 | -2e30, -2e29, -2e28, -2e27, -2e26, -2e25, -2e24, -2e23, | ||
| 12404 | -2e22, -2e21, -2e20, -2e19, -2e18, -2e17, -2e16, -2e15, | ||
| 12405 | -2e14, -2e13, -2e12, -2e11, -2e10, -2e9, -2e8, -2e7, | ||
| 12406 | -2e6, -2e5, -2e4, -2e3, -2e2, -2e1, -2e0, 2e0, | ||
| 12407 | 2e1, 2e2, 2e3, 2e4, 2e5, 2e6, 2e7, 2e8, | ||
| 12408 | 2e9, 2e10, 2e11, 2e12, 2e13, 2e14, 2e15, 2e16, | ||
| 12409 | }); | ||
| 12410 | |||
| 12411 | try testArgs(@Vector(1, f16), @Vector(1, u256), .{ | ||
| 12412 | 0, | ||
| 12413 | }); | ||
| 12414 | try testArgs(@Vector(2, f16), @Vector(2, u256), .{ | ||
| 12415 | 1e0, 1e1, | ||
| 12416 | }); | ||
| 12417 | try testArgs(@Vector(4, f16), @Vector(4, u256), .{ | ||
| 12418 | 1e2, 1e3, 1e4, 1e5, | ||
| 12419 | }); | ||
| 12420 | try testArgs(@Vector(8, f16), @Vector(8, u256), .{ | ||
| 12421 | 1e6, 1e7, 1e8, 1e9, 1e10, 1e11, 1e12, 1e13, | ||
| 12422 | }); | ||
| 12423 | try testArgs(@Vector(16, f16), @Vector(16, u256), .{ | ||
| 12424 | 1e14, 1e15, 1e16, 1e17, 1e18, 1e19, 1e20, 1e21, | ||
| 12425 | 1e22, 1e23, 1e24, 1e25, 1e26, 1e27, 1e28, 1e29, | ||
| 12426 | }); | ||
| 12427 | try testArgs(@Vector(32, f16), @Vector(32, u256), .{ | ||
| 12428 | 1e30, 1e31, 1e32, 1e33, 1e34, 1e35, 1e36, 1e37, | ||
| 12429 | 1e38, 1e39, 1e40, 1e41, 1e42, 1e43, 1e44, 1e45, | ||
| 12430 | 1e46, 1e47, 1e48, 1e49, 1e50, 1e51, 1e52, 1e53, | ||
| 12431 | 1e54, 1e55, 1e56, 1e57, 1e58, 1e59, 1e60, 1e61, | ||
| 12432 | }); | ||
| 12433 | try testArgs(@Vector(64, f16), @Vector(64, u256), .{ | ||
| 12434 | 1e62, 1e63, 1e64, 1e65, 1e66, 1e67, 1e68, 1e69, | ||
| 12435 | 1e70, 1e71, 1e72, 1e73, 1e74, 1e75, 1e76, 1e77, | ||
| 12436 | imax(u256) - 1, imax(u256), 2e0, 2e1, 2e2, 2e3, 2e4, 2e5, | ||
| 12437 | 2e6, 2e7, 2e8, 2e9, 2e10, 2e11, 2e12, 2e13, | ||
| 12438 | 2e14, 2e15, 2e16, 2e17, 2e18, 2e19, 2e20, 2e21, | ||
| 12439 | 2e22, 2e23, 2e24, 2e25, 2e26, 2e27, 2e28, 2e29, | ||
| 12440 | 2e30, 2e31, 2e32, 2e33, 2e34, 2e35, 2e36, 2e37, | ||
| 12441 | 2e38, 2e39, 2e40, 2e41, 2e42, 2e43, 2e44, 2e45, | ||
| 12442 | }); | ||
| 12443 | try testArgs(@Vector(128, f16), @Vector(128, u256), .{ | ||
| 12444 | 2e46, 2e47, 2e48, 2e49, 2e50, 2e51, 2e52, 2e53, | ||
| 12445 | 2e54, 2e55, 2e56, 2e57, 2e58, 2e59, 2e60, 2e61, | ||
| 12446 | 2e62, 2e63, 2e64, 2e65, 2e66, 2e67, 2e68, 2e69, | ||
| 12447 | 2e70, 2e71, 2e72, 2e73, 2e74, 2e75, 2e76, imax(u256) - 3, | ||
| 12448 | imax(u256) - 2, 3e0, 3e1, 3e2, 3e3, 3e4, 3e5, 3e6, | ||
| 12449 | 3e7, 3e8, 3e9, 3e10, 3e11, 3e12, 3e13, 3e14, | ||
| 12450 | 3e15, 3e16, 3e17, 3e18, 3e19, 3e20, 3e21, 3e22, | ||
| 12451 | 3e23, 3e24, 3e25, 3e26, 3e27, 3e28, 3e29, 3e30, | ||
| 12452 | 3e31, 3e32, 3e33, 3e34, 3e35, 3e36, 3e37, 3e38, | ||
| 12453 | 3e39, 3e40, 3e41, 3e42, 3e43, 3e44, 3e45, 3e46, | ||
| 12454 | 3e47, 3e48, 3e49, 3e50, 3e51, 3e52, 3e53, 3e54, | ||
| 12455 | 3e55, 3e56, 3e57, 3e58, 3e59, 3e60, 3e61, 3e62, | ||
| 12456 | 3e63, 3e64, 3e65, 3e66, 3e67, 3e68, 3e69, 3e70, | ||
| 12457 | 3e71, 3e72, 3e73, 3e74, 3e75, 3e76, imax(u256) - 5, imax(u256) - 4, | ||
| 12458 | 4e0, 4e1, 4e2, 4e3, 4e4, 4e5, 4e6, 4e7, | ||
| 12459 | 4e8, 4e9, 4e10, 4e11, 4e12, 4e13, 4e14, 4e15, | ||
| 12460 | }); | ||
| 12461 | |||
| 12462 | try testArgs(@Vector(1, f32), @Vector(1, i8), .{ | ||
| 12463 | imin(i8), | ||
| 12464 | }); | ||
| 12465 | try testArgs(@Vector(2, f32), @Vector(2, i8), .{ | ||
| 12466 | imin(i8) + 1, -1e2, | ||
| 12467 | }); | ||
| 12468 | try testArgs(@Vector(4, f32), @Vector(4, i8), .{ | ||
| 12469 | -1e1, -1e0, 0, 1e0, | ||
| 12470 | }); | ||
| 12471 | try testArgs(@Vector(8, f32), @Vector(8, i8), .{ | ||
| 12472 | 1e1, 1e2, imax(i8) - 1, imax(i8), imin(i8) + 2, imin(i8) + 3, -2e1, -2e0, | ||
| 12473 | }); | ||
| 12474 | try testArgs(@Vector(16, f32), @Vector(16, i8), .{ | ||
| 12475 | 2e0, 2e1, imax(i8) - 3, imax(i8) - 2, imin(i8) + 4, imin(i8) + 5, -3e1, -3e0, | ||
| 12476 | 3e0, 3e1, imax(i8) - 5, imax(i8) - 4, imin(i8) + 6, imin(i8) + 7, -4e1, -4e0, | ||
| 12477 | }); | ||
| 12478 | try testArgs(@Vector(32, f32), @Vector(32, i8), .{ | ||
| 12479 | 4e0, 4e1, imax(i8) - 7, imax(i8) - 6, imin(i8) + 8, imin(i8) + 9, -5e1, -5e0, | ||
| 12480 | 5e0, 5e1, imax(i8) - 9, imax(i8) - 8, imin(i8) + 10, imin(i8) + 11, -6e1, -6e0, | ||
| 12481 | 6e0, 6e1, imax(i8) - 11, imax(i8) - 10, imin(i8) + 12, imin(i8) + 13, -7e1, -7e0, | ||
| 12482 | 7e0, 7e1, imax(i8) - 13, imax(i8) - 12, imin(i8) + 14, imin(i8) + 15, -8e1, -8e0, | ||
| 12483 | }); | ||
| 12484 | try testArgs(@Vector(64, f32), @Vector(64, i8), .{ | ||
| 12485 | 8e0, 8e1, imax(i8) - 15, imax(i8) - 14, imin(i8) + 16, imin(i8) + 17, -9e1, -9e0, | ||
| 12486 | 9e0, 9e1, imax(i8) - 17, imax(i8) - 16, imin(i8) + 18, imin(i8) + 19, -11e1, -11e0, | ||
| 12487 | 11e0, 11e1, imax(i8) - 19, imax(i8) - 18, imin(i8) + 20, imin(i8) + 21, -12e1, -12e0, | ||
| 12488 | 12e0, 12e1, imax(i8) - 21, imax(i8) - 20, imin(i8) + 22, imin(i8) + 23, -13e0, 13e0, | ||
| 12489 | imax(i8) - 23, imax(i8) - 22, imin(i8) + 24, imin(i8) + 25, -14e0, 14e0, imax(i8) - 25, imax(i8) - 24, | ||
| 12490 | imin(i8) + 26, imin(i8) + 27, -15e0, 15e0, imax(i8) - 27, imax(i8) - 26, imin(i8) + 28, imin(i8) + 29, | ||
| 12491 | -16e0, 16e0, imax(i8) - 29, imax(i8) - 28, imin(i8) + 30, imin(i8) + 31, -17e0, 17e0, | ||
| 12492 | imax(i8) - 31, imax(i8) - 30, imin(i8) + 32, imin(i8) + 33, -18e0, 18e0, imax(i8) - 33, imax(i8) - 32, | ||
| 12493 | }); | ||
| 12494 | try testArgs(@Vector(128, f32), @Vector(128, i8), .{ | ||
| 12495 | imin(i8) + 34, imin(i8) + 35, -19e0, 19e0, imax(i8) - 35, imax(i8) - 34, imin(i8) + 36, imin(i8) + 37, | ||
| 12496 | -21e0, 21e0, imax(i8) - 37, imax(i8) - 36, imin(i8) + 38, imin(i8) + 39, -22e0, 22e0, | ||
| 12497 | imax(i8) - 39, imax(i8) - 38, imin(i8) + 40, imin(i8) + 41, -23e0, 23e0, imax(i8) - 41, imax(i8) - 40, | ||
| 12498 | imin(i8) + 42, imin(i8) + 43, -24e0, 24e0, imax(i8) - 43, imax(i8) - 42, imin(i8) + 44, imin(i8) + 45, | ||
| 12499 | -25e0, 25e0, imax(i8) - 45, imax(i8) - 44, imin(i8) + 46, imin(i8) + 47, -26e0, 26e0, | ||
| 12500 | imax(i8) - 47, imax(i8) - 46, imin(i8) + 48, imin(i8) + 49, -27e0, 27e0, imax(i8) - 49, imax(i8) - 48, | ||
| 12501 | imin(i8) + 50, imin(i8) + 51, -28e0, 28e0, imax(i8) - 51, imax(i8) - 50, imin(i8) + 52, imin(i8) + 53, | ||
| 12502 | -29e0, 29e0, imax(i8) - 53, imax(i8) - 52, imin(i8) + 54, imin(i8) + 55, -31e0, 31e0, | ||
| 12503 | imax(i8) - 55, imax(i8) - 54, imin(i8) + 56, imin(i8) + 57, -32e0, 32e0, imax(i8) - 57, imax(i8) - 56, | ||
| 12504 | imin(i8) + 58, imin(i8) + 59, -33e0, 33e0, imax(i8) - 59, imax(i8) - 58, imin(i8) + 60, imin(i8) + 61, | ||
| 12505 | -34e0, 34e0, imax(i8) - 61, imax(i8) - 60, imin(i8) + 62, imin(i8) + 63, -35e0, 35e0, | ||
| 12506 | imax(i8) - 63, imax(i8) - 62, imin(i8) + 64, imin(i8) + 65, -36e0, 36e0, imax(i8) - 65, imax(i8) - 64, | ||
| 12507 | imin(i8) + 66, imin(i8) + 67, -37e0, 37e0, imax(i8) - 67, imax(i8) - 66, imin(i8) + 68, imin(i8) + 69, | ||
| 12508 | -38e0, 38e0, imax(i8) - 69, imax(i8) - 68, imin(i8) + 70, imin(i8) + 71, -39e0, 39e0, | ||
| 12509 | imax(i8) - 71, imax(i8) - 70, imin(i8) + 72, imin(i8) + 73, -41e0, 41e0, imax(i8) - 73, imax(i8) - 72, | ||
| 12510 | imin(i8) + 74, imin(i8) + 75, -42e0, 42e0, imax(i8) - 75, imax(i8) - 74, imin(i8) + 76, imin(i8) + 77, | ||
| 12511 | }); | ||
| 12512 | |||
| 12513 | try testArgs(@Vector(1, f32), @Vector(1, u8), .{ | ||
| 12514 | 0, | ||
| 12515 | }); | ||
| 12516 | try testArgs(@Vector(2, f32), @Vector(2, u8), .{ | ||
| 12517 | 1e0, 1e1, | ||
| 12518 | }); | ||
| 12519 | try testArgs(@Vector(4, f32), @Vector(4, u8), .{ | ||
| 12520 | 1e2, imax(u8) - 1, imax(u8), 2e0, | ||
| 12521 | }); | ||
| 12522 | try testArgs(@Vector(8, f32), @Vector(8, u8), .{ | ||
| 12523 | 2e1, 2e2, imax(u8) - 3, imax(u8) - 2, 3e0, 3e1, imax(u8) - 5, imax(u8) - 4, | ||
| 12524 | }); | ||
| 12525 | try testArgs(@Vector(16, f32), @Vector(16, u8), .{ | ||
| 12526 | imax(u8) - 7, imax(u8) - 6, 5e0, 5e1, imax(u8) - 9, imax(u8) - 8, 6e0, 6e1, | ||
| 12527 | imax(u8) - 11, imax(u8) - 10, 7e0, 7e1, imax(u8) - 13, imax(u8) - 12, 8e0, 8e1, | ||
| 12528 | }); | ||
| 12529 | try testArgs(@Vector(32, f32), @Vector(32, u8), .{ | ||
| 12530 | imax(u8) - 15, imax(u8) - 14, 9e0, 9e1, imax(u8) - 17, imax(u8) - 16, 11e0, 11e1, | ||
| 12531 | imax(u8) - 19, imax(u8) - 18, 12e0, 12e1, imax(u8) - 21, imax(u8) - 20, 13e0, 13e1, | ||
| 12532 | imax(u8) - 23, imax(u8) - 22, 14e0, 14e1, imax(u8) - 25, imax(u8) - 24, 15e0, 15e1, | ||
| 12533 | imax(u8) - 27, imax(u8) - 26, 16e0, 16e1, imax(u8) - 29, imax(u8) - 28, 17e0, 17e1, | ||
| 12534 | }); | ||
| 12535 | try testArgs(@Vector(64, f32), @Vector(64, u8), .{ | ||
| 12536 | imax(u8) - 31, imax(u8) - 30, 18e0, 18e1, imax(u8) - 33, imax(u8) - 32, 19e0, 19e1, | ||
| 12537 | imax(u8) - 35, imax(u8) - 34, 21e0, 21e1, imax(u8) - 37, imax(u8) - 36, 22e0, 22e1, | ||
| 12538 | imax(u8) - 39, imax(u8) - 38, 23e0, 23e1, imax(u8) - 41, imax(u8) - 40, 24e0, 24e1, | ||
| 12539 | imax(u8) - 43, imax(u8) - 42, 25e0, 25e1, imax(u8) - 45, imax(u8) - 44, 26e0, imax(u8) - 47, | ||
| 12540 | imax(u8) - 46, 27e0, imax(u8) - 49, imax(u8) - 48, 28e0, imax(u8) - 51, imax(u8) - 50, 29e0, | ||
| 12541 | imax(u8) - 53, imax(u8) - 52, 31e0, imax(u8) - 55, imax(u8) - 54, 32e0, imax(u8) - 57, imax(u8) - 56, | ||
| 12542 | 33e0, imax(u8) - 59, imax(u8) - 58, 34e0, imax(u8) - 61, imax(u8) - 60, 35e0, imax(u8) - 63, | ||
| 12543 | imax(u8) - 62, 36e0, imax(u8) - 65, imax(u8) - 64, 37e0, imax(u8) - 67, imax(u8) - 66, 38e0, | ||
| 12544 | }); | ||
| 12545 | try testArgs(@Vector(128, f32), @Vector(128, u8), .{ | ||
| 12546 | imax(u8) - 69, imax(u8) - 68, 39e0, imax(u8) - 71, imax(u8) - 70, 41e0, imax(u8) - 73, imax(u8) - 72, | ||
| 12547 | 42e0, imax(u8) - 75, imax(u8) - 74, 43e0, imax(u8) - 77, imax(u8) - 76, 44e0, imax(u8) - 79, | ||
| 12548 | imax(u8) - 78, 45e0, imax(u8) - 81, imax(u8) - 80, 46e0, imax(u8) - 83, imax(u8) - 82, 47e0, | ||
| 12549 | imax(u8) - 85, imax(u8) - 84, 48e0, imax(u8) - 87, imax(u8) - 86, 49e0, imax(u8) - 89, imax(u8) - 88, | ||
| 12550 | 51e0, imax(u8) - 91, imax(u8) - 90, 52e0, imax(u8) - 93, imax(u8) - 92, 53e0, imax(u8) - 95, | ||
| 12551 | imax(u8) - 94, 54e0, imax(u8) - 97, imax(u8) - 96, 55e0, imax(u8) - 99, imax(u8) - 98, 56e0, | ||
| 12552 | imax(u8) - 101, imax(u8) - 100, 57e0, imax(u8) - 103, imax(u8) - 102, 58e0, imax(u8) - 105, imax(u8) - 104, | ||
| 12553 | 59e0, imax(u8) - 107, imax(u8) - 106, 61e0, imax(u8) - 109, imax(u8) - 108, 62e0, imax(u8) - 111, | ||
| 12554 | imax(u8) - 110, 63e0, imax(u8) - 113, imax(u8) - 112, 64e0, imax(u8) - 115, imax(u8) - 114, 65e0, | ||
| 12555 | imax(u8) - 117, imax(u8) - 116, 66e0, imax(u8) - 119, imax(u8) - 118, 67e0, imax(u8) - 121, imax(u8) - 120, | ||
| 12556 | 68e0, imax(u8) - 123, imax(u8) - 122, 69e0, imax(u8) - 125, imax(u8) - 124, 71e0, imax(u8) - 127, | ||
| 12557 | imax(u8) - 126, 72e0, imax(u8) - 129, imax(u8) - 128, 73e0, imax(u8) - 131, imax(u8) - 130, 74e0, | ||
| 12558 | imax(u8) - 133, imax(u8) - 132, 75e0, imax(u8) - 135, imax(u8) - 134, 76e0, imax(u8) - 137, imax(u8) - 136, | ||
| 12559 | 77e0, imax(u8) - 139, imax(u8) - 138, 78e0, imax(u8) - 141, imax(u8) - 140, 79e0, imax(u8) - 143, | ||
| 12560 | imax(u8) - 142, 81e0, imax(u8) - 145, imax(u8) - 144, 82e0, imax(u8) - 147, imax(u8) - 146, 83e0, | ||
| 12561 | imax(u8) - 149, imax(u8) - 148, 84e0, imax(u8) - 151, imax(u8) - 150, 85e0, imax(u8) - 153, imax(u8) - 152, | ||
| 12562 | }); | ||
| 12563 | |||
| 12564 | try testArgs(@Vector(1, f32), @Vector(1, i16), .{ | ||
| 12565 | imin(i16), | ||
| 12566 | }); | ||
| 12567 | try testArgs(@Vector(2, f32), @Vector(2, i16), .{ | ||
| 12568 | imin(i16) + 1, -1e4, | ||
| 12569 | }); | ||
| 12570 | try testArgs(@Vector(4, f32), @Vector(4, i16), .{ | ||
| 12571 | -1e3, -1e2, -1e1, -1e0, | ||
| 12572 | }); | ||
| 12573 | try testArgs(@Vector(8, f32), @Vector(8, i16), .{ | ||
| 12574 | 0, 1e0, 1e1, 1e2, 1e3, 1e4, imax(i16) - 1, imax(i16), | ||
| 12575 | }); | ||
| 12576 | try testArgs(@Vector(16, f32), @Vector(16, i16), .{ | ||
| 12577 | imin(i16) + 2, imin(i16) + 3, -2e4, -2e3, -2e2, -2e1, -2e0, 2e0, | ||
| 12578 | 2e1, 2e2, 2e3, 2e4, imax(i16) - 3, imax(i16) - 2, imin(i16) + 4, imin(i16) + 5, | ||
| 12579 | }); | ||
| 12580 | try testArgs(@Vector(32, f32), @Vector(32, i16), .{ | ||
| 12581 | -3e4, -3e3, -3e2, -3e1, -3e0, 3e0, 3e1, 3e2, | ||
| 12582 | 3e3, 3e4, imax(i16) - 5, imax(i16) - 4, imin(i16) + 6, imin(i16) + 7, -4e3, -4e2, | ||
| 12583 | -4e1, -4e0, 4e0, 4e1, 4e2, 4e3, imax(i16) - 7, imax(i16) - 6, | ||
| 12584 | imin(i16) + 8, imin(i16) + 9, -5e3, -5e2, -5e1, -5e0, 5e0, 5e1, | ||
| 12585 | }); | ||
| 12586 | try testArgs(@Vector(64, f32), @Vector(64, i16), .{ | ||
| 12587 | 5e2, 5e3, imax(i16) - 9, imax(i16) - 8, imin(i16) + 10, imin(i16) + 11, -6e3, -6e2, | ||
| 12588 | -6e1, -6e0, 6e0, 6e1, 6e2, 6e3, imax(i16) - 11, imax(i16) - 10, | ||
| 12589 | imin(i16) + 12, imin(i16) + 13, -7e3, -7e2, -7e1, -7e0, 7e0, 7e1, | ||
| 12590 | 7e2, 7e3, imax(i16) - 13, imax(i16) - 12, imin(i16) + 14, imin(i16) + 15, -8e3, -8e2, | ||
| 12591 | -8e1, -8e0, 8e0, 8e1, 8e2, 8e3, imax(i16) - 15, imax(i16) - 14, | ||
| 12592 | imin(i16) + 16, imin(i16) + 17, -9e3, -9e2, -9e1, -9e0, 9e0, 9e1, | ||
| 12593 | 9e2, 9e3, imax(i16) - 17, imax(i16) - 16, imin(i16) + 18, imin(i16) + 19, -11e3, -11e2, | ||
| 12594 | -11e1, -11e0, 11e0, 11e1, 11e2, 11e3, imax(i16) - 19, imax(i16) - 18, | ||
| 12595 | }); | ||
| 12596 | try testArgs(@Vector(128, f32), @Vector(128, i16), .{ | ||
| 12597 | imin(i16) + 20, imin(i16) + 21, -12e3, -12e2, -12e1, -12e0, 12e0, 12e1, | ||
| 12598 | 12e2, 12e3, imax(i16) - 21, imax(i16) - 20, imin(i16) + 22, imin(i16) + 23, -13e3, -13e2, | ||
| 12599 | -13e1, -13e0, 13e0, 13e1, 13e2, 13e3, imax(i16) - 23, imax(i16) - 22, | ||
| 12600 | imin(i16) + 24, imin(i16) + 25, -14e3, -14e2, -14e1, -14e0, 14e0, 14e1, | ||
| 12601 | 14e2, 14e3, imax(i16) - 25, imax(i16) - 24, imin(i16) + 26, imin(i16) + 27, -15e3, -15e2, | ||
| 12602 | -15e1, -15e0, 15e0, 15e1, 15e2, 15e3, imax(i16) - 27, imax(i16) - 26, | ||
| 12603 | imin(i16) + 28, imin(i16) + 29, -16e3, -16e2, -16e1, -16e0, 16e0, 16e1, | ||
| 12604 | 16e2, 16e3, imax(i16) - 29, imax(i16) - 28, imin(i16) + 30, imin(i16) + 31, -17e3, -17e2, | ||
| 12605 | -17e1, -17e0, 17e0, 17e1, 17e2, 17e3, imax(i16) - 31, imax(i16) - 30, | ||
| 12606 | imin(i16) + 32, imin(i16) + 33, -18e3, -18e2, -18e1, -18e0, 18e0, 18e1, | ||
| 12607 | 18e2, 18e3, imax(i16) - 33, imax(i16) - 32, imin(i16) + 34, imin(i16) + 35, -19e3, -19e2, | ||
| 12608 | -19e1, -19e0, 19e0, 19e1, 19e2, 19e3, imax(i16) - 35, imax(i16) - 34, | ||
| 12609 | imin(i16) + 36, imin(i16) + 37, -12e3, -21e2, -21e1, -21e0, 21e0, 21e1, | ||
| 12610 | 21e2, 21e3, imax(i16) - 37, imax(i16) - 36, imin(i16) + 38, imin(i16) + 39, -22e3, -22e2, | ||
| 12611 | -22e1, -22e0, 22e0, 22e1, 22e2, 22e3, imax(i16) - 39, imax(i16) - 38, | ||
| 12612 | imin(i16) + 40, imin(i16) + 41, -23e3, -23e2, -23e1, -23e0, 23e0, 23e1, | ||
| 12613 | }); | ||
| 12614 | |||
| 12615 | try testArgs(@Vector(1, f32), @Vector(1, u16), .{ | ||
| 12616 | 0, | ||
| 12617 | }); | ||
| 12618 | try testArgs(@Vector(2, f32), @Vector(2, u16), .{ | ||
| 12619 | 1e0, 1e1, | ||
| 12620 | }); | ||
| 12621 | try testArgs(@Vector(4, f32), @Vector(4, u16), .{ | ||
| 12622 | 1e2, 1e3, 1e4, imax(u16) - 1, | ||
| 12623 | }); | ||
| 12624 | try testArgs(@Vector(8, f32), @Vector(8, u16), .{ | ||
| 12625 | imax(u16), 2e0, 2e1, 2e2, 2e3, 2e4, imax(u16) - 3, imax(u16) - 2, | ||
| 12626 | }); | ||
| 12627 | try testArgs(@Vector(16, f32), @Vector(16, u16), .{ | ||
| 12628 | 3e0, 3e1, 3e2, 3e3, 3e4, imax(u16) - 5, imax(u16) - 4, 4e0, | ||
| 12629 | 4e1, 4e2, 4e3, 4e4, imax(u16) - 7, imax(u16) - 6, 5e0, 5e1, | ||
| 12630 | }); | ||
| 12631 | try testArgs(@Vector(32, f32), @Vector(32, u16), .{ | ||
| 12632 | 5e2, 5e3, 5e4, imax(u16) - 9, imax(u16) - 8, 6e0, 6e1, 6e2, | ||
| 12633 | 6e3, 6e4, imax(u16) - 11, imax(u16) - 10, 7e0, 7e1, 7e2, 7e3, | ||
| 12634 | imax(u16) - 13, imax(u16) - 12, 8e0, 8e1, 8e2, 8e3, imax(u16) - 15, imax(u16) - 14, | ||
| 12635 | 9e0, 9e1, 9e2, 9e3, imax(u16) - 17, imax(u16) - 16, 11e0, 11e1, | ||
| 12636 | }); | ||
| 12637 | try testArgs(@Vector(64, f32), @Vector(64, u16), .{ | ||
| 12638 | 11e2, 11e3, imax(u16) - 19, imax(u16) - 18, 12e0, 12e1, 12e2, 12e3, | ||
| 12639 | imax(u16) - 21, imax(u16) - 20, 13e0, 13e1, 13e2, 13e3, imax(u16) - 23, imax(u16) - 22, | ||
| 12640 | 14e0, 14e1, 14e2, 14e3, imax(u16) - 25, imax(u16) - 24, 15e0, 15e1, | ||
| 12641 | 15e2, 15e3, imax(u16) - 27, imax(u16) - 26, 16e0, 16e1, 16e2, 16e3, | ||
| 12642 | imax(u16) - 29, imax(u16) - 28, 17e0, 17e1, 17e2, 17e3, imax(u16) - 31, imax(u16) - 30, | ||
| 12643 | 18e0, 18e1, 18e2, 18e3, imax(u16) - 33, imax(u16) - 32, 19e0, 19e1, | ||
| 12644 | 19e2, 19e3, imax(u16) - 35, imax(u16) - 34, 21e0, 21e1, 21e2, 21e3, | ||
| 12645 | imax(u16) - 37, imax(u16) - 36, 22e0, 22e1, 22e2, 22e3, imax(u16) - 39, imax(u16) - 38, | ||
| 12646 | }); | ||
| 12647 | try testArgs(@Vector(128, f32), @Vector(128, u16), .{ | ||
| 12648 | 23e0, 23e1, 23e2, 23e3, imax(u16) - 41, imax(u16) - 40, 24e0, 24e1, | ||
| 12649 | 24e2, 24e3, imax(u16) - 43, imax(u16) - 42, 25e0, 25e1, 25e2, 25e3, | ||
| 12650 | imax(u16) - 45, imax(u16) - 44, 26e0, 26e1, 26e2, 26e3, imax(u16) - 47, imax(u16) - 46, | ||
| 12651 | 27e0, 27e1, 27e2, 27e3, imax(u16) - 49, imax(u16) - 48, 28e0, 28e1, | ||
| 12652 | 28e2, 28e3, imax(u16) - 51, imax(u16) - 50, 29e0, 29e1, 29e2, 29e3, | ||
| 12653 | imax(u16) - 53, imax(u16) - 52, 31e0, 31e1, 31e2, 31e3, imax(u16) - 55, imax(u16) - 54, | ||
| 12654 | 32e0, 32e1, 32e2, 32e3, imax(u16) - 57, imax(u16) - 56, 33e0, 33e1, | ||
| 12655 | 33e2, 33e3, imax(u16) - 59, imax(u16) - 58, 34e0, 34e1, 34e2, 34e3, | ||
| 12656 | imax(u16) - 61, imax(u16) - 60, 35e0, 35e1, 35e2, 35e3, imax(u16) - 63, imax(u16) - 62, | ||
| 12657 | 36e0, 36e1, 36e2, 36e3, imax(u16) - 65, imax(u16) - 64, 37e0, 37e1, | ||
| 12658 | 37e2, 37e3, imax(u16) - 67, imax(u16) - 66, 38e0, 38e1, 38e2, 38e3, | ||
| 12659 | imax(u16) - 69, imax(u16) - 68, 39e0, 39e1, 39e2, 39e3, imax(u16) - 71, imax(u16) - 70, | ||
| 12660 | 41e0, 41e1, 41e2, 41e3, imax(u16) - 73, imax(u16) - 72, 42e0, 42e1, | ||
| 12661 | 42e2, 42e3, imax(u16) - 75, imax(u16) - 74, 43e0, 43e1, 43e2, 43e3, | ||
| 12662 | imax(u16) - 77, imax(u16) - 76, 44e0, 44e1, 44e2, 44e3, imax(u16) - 79, imax(u16) - 78, | ||
| 12663 | 45e0, 45e1, 45e2, 45e3, imax(u16) - 81, imax(u16) - 80, 46e0, 46e1, | ||
| 12664 | }); | ||
| 12665 | |||
| 12666 | try testArgs(@Vector(1, f32), @Vector(1, i32), .{ | ||
| 12667 | imin(i32), | ||
| 12668 | }); | ||
| 12669 | try testArgs(@Vector(2, f32), @Vector(2, i32), .{ | ||
| 12670 | imin(i32) + 1, -1e9, | ||
| 12671 | }); | ||
| 12672 | try testArgs(@Vector(4, f32), @Vector(4, i32), .{ | ||
| 12673 | -1e8, -1e7, -1e6, -1e5, | ||
| 12674 | }); | ||
| 12675 | try testArgs(@Vector(8, f32), @Vector(8, i32), .{ | ||
| 12676 | -1e4, -1e3, -1e2, -1e1, -1e0, 0, 1e0, 1e1, | ||
| 12677 | }); | ||
| 12678 | try testArgs(@Vector(16, f32), @Vector(16, i32), .{ | ||
| 12679 | 1e2, 1e3, 1e4, 1e5, 1e6, 1e7, 1e8, 1e9, | ||
| 12680 | imax(i32) - 1, imax(i32), imin(i32) + 2, imin(i32) + 3, -2e9, -2e8, -2e7, -2e6, | ||
| 12681 | }); | ||
| 12682 | try testArgs(@Vector(32, f32), @Vector(32, i32), .{ | ||
| 12683 | -2e5, -2e4, -2e3, -2e2, -2e1, -2e0, 2e0, 2e1, | ||
| 12684 | 2e2, 2e3, 2e4, 2e5, 2e6, 2e7, 2e8, 2e9, | ||
| 12685 | imax(i32) - 3, imax(i32) - 2, imin(i32) + 4, imin(i32) + 5, -3e8, -3e7, -3e6, -3e5, | ||
| 12686 | -3e4, -3e3, -3e2, -3e1, -3e0, 3e0, 3e1, 3e2, | ||
| 12687 | }); | ||
| 12688 | try testArgs(@Vector(64, f32), @Vector(64, i32), .{ | ||
| 12689 | 3e3, 3e4, 3e5, 3e6, 3e7, 3e8, imax(i32) - 5, imax(i32) - 4, | ||
| 12690 | imin(i32) + 6, imin(i32) + 7, -4e8, -4e7, -4e6, -4e5, -4e4, -4e3, | ||
| 12691 | -4e2, -4e1, -4e0, 4e0, 4e1, 4e2, 4e3, 4e4, | ||
| 12692 | 4e5, 4e6, 4e7, 4e8, imax(i32) - 7, imax(i32) - 6, imin(i32) + 8, imin(i32) + 9, | ||
| 12693 | -5e8, -5e7, -5e6, -5e5, -5e4, -5e3, -5e2, -5e1, | ||
| 12694 | -5e0, 5e0, 5e1, 5e2, 5e3, 5e4, 5e5, 5e6, | ||
| 12695 | 5e7, 5e8, imax(i32) - 9, imax(i32) - 8, imin(i32) + 10, imin(i32) + 11, -6e8, -6e7, | ||
| 12696 | -6e6, -6e5, -6e4, -6e3, -6e2, -6e1, -6e0, 6e0, | ||
| 12697 | }); | ||
| 12698 | try testArgs(@Vector(128, f32), @Vector(128, i32), .{ | ||
| 12699 | 6e1, 6e2, 6e3, 6e4, 6e5, 6e6, 6e7, 6e8, | ||
| 12700 | imax(i32) - 11, imax(i32) - 10, imin(i32) + 12, imin(i32) + 13, -7e8, -7e7, -7e6, -7e5, | ||
| 12701 | -7e4, -7e3, -7e2, -7e1, -7e0, 7e0, 7e1, 7e2, | ||
| 12702 | 7e3, 7e4, 7e5, 7e6, 7e7, 7e8, imax(i32) - 13, imax(i32) - 12, | ||
| 12703 | imin(i32) + 14, imin(i32) + 15, -8e8, -8e7, -8e6, -8e5, -8e4, -8e3, | ||
| 12704 | -8e2, -8e1, -8e0, 8e0, 8e1, 8e2, 8e3, 8e4, | ||
| 12705 | 8e5, 8e6, 8e7, 8e8, imax(i32) - 15, imax(i32) - 14, imin(i32) + 16, imin(i32) + 17, | ||
| 12706 | -9e8, -9e7, -9e6, -9e5, -9e4, -9e3, -9e2, -9e1, | ||
| 12707 | -9e0, 9e0, 9e1, 9e2, 9e3, 9e4, 9e5, 9e6, | ||
| 12708 | 9e7, 9e8, imax(i32) - 17, imax(i32) - 16, imin(i32) + 18, imin(i32) + 19, -11e8, -11e7, | ||
| 12709 | -11e6, -11e5, -11e4, -11e3, -11e2, -11e1, -11e0, 11e0, | ||
| 12710 | 11e1, 11e2, 11e3, 11e4, 11e5, 11e6, 11e7, 11e8, | ||
| 12711 | imax(i32) - 19, imax(i32) - 18, imin(i32) + 20, imin(i32) + 21, -12e8, -12e7, -12e6, -12e5, | ||
| 12712 | -12e4, -12e3, -12e2, -12e1, -12e0, 12e0, 12e1, 12e2, | ||
| 12713 | 12e3, 12e4, 12e5, 12e6, 12e7, 12e8, imax(i32) - 21, imax(i32) - 20, | ||
| 12714 | imin(i32) + 22, imin(i32) + 23, -13e8, -13e7, -13e6, -13e5, -13e4, -13e3, | ||
| 12715 | }); | ||
| 12716 | |||
| 12717 | try testArgs(@Vector(1, f32), @Vector(1, u32), .{ | ||
| 12718 | 0, | ||
| 12719 | }); | ||
| 12720 | try testArgs(@Vector(2, f32), @Vector(2, u32), .{ | ||
| 12721 | 1e0, 1e1, | ||
| 12722 | }); | ||
| 12723 | try testArgs(@Vector(4, f32), @Vector(4, u32), .{ | ||
| 12724 | 1e2, 1e3, 1e4, imax(u32) - 1, | ||
| 12725 | }); | ||
| 12726 | try testArgs(@Vector(8, f32), @Vector(8, u32), .{ | ||
| 12727 | imax(u32), 2e0, 2e1, 2e2, 2e3, 2e4, imax(u32) - 3, imax(u32) - 2, | ||
| 12728 | }); | ||
| 12729 | try testArgs(@Vector(16, f32), @Vector(16, u32), .{ | ||
| 12730 | 3e0, 3e1, 3e2, 3e3, 3e4, imax(u32) - 5, imax(u32) - 4, 4e0, | ||
| 12731 | 4e1, 4e2, 4e3, 4e4, imax(u32) - 7, imax(u32) - 6, 5e0, 5e1, | ||
| 12732 | }); | ||
| 12733 | try testArgs(@Vector(32, f32), @Vector(32, u32), .{ | ||
| 12734 | 5e2, 5e3, 5e4, imax(u32) - 9, imax(u32) - 8, 6e0, 6e1, 6e2, | ||
| 12735 | 6e3, 6e4, imax(u32) - 11, imax(u32) - 10, 7e0, 7e1, 7e2, 7e3, | ||
| 12736 | imax(u32) - 13, imax(u32) - 12, 8e0, 8e1, 8e2, 8e3, imax(u32) - 15, imax(u32) - 14, | ||
| 12737 | 9e0, 9e1, 9e2, 9e3, imax(u32) - 17, imax(u32) - 16, 11e0, 11e1, | ||
| 12738 | }); | ||
| 12739 | try testArgs(@Vector(64, f32), @Vector(64, u32), .{ | ||
| 12740 | 11e2, 11e3, imax(u32) - 19, imax(u32) - 18, 12e0, 12e1, 12e2, 12e3, | ||
| 12741 | imax(u32) - 21, imax(u32) - 20, 13e0, 13e1, 13e2, 13e3, imax(u32) - 23, imax(u32) - 22, | ||
| 12742 | 14e0, 14e1, 14e2, 14e3, imax(u32) - 25, imax(u32) - 24, 15e0, 15e1, | ||
| 12743 | 15e2, 15e3, imax(u32) - 27, imax(u32) - 26, 16e0, 16e1, 16e2, 16e3, | ||
| 12744 | imax(u32) - 29, imax(u32) - 28, 17e0, 17e1, 17e2, 17e3, imax(u32) - 31, imax(u32) - 30, | ||
| 12745 | 18e0, 18e1, 18e2, 18e3, imax(u32) - 33, imax(u32) - 32, 19e0, 19e1, | ||
| 12746 | 19e2, 19e3, imax(u32) - 35, imax(u32) - 34, 21e0, 21e1, 21e2, 21e3, | ||
| 12747 | imax(u32) - 37, imax(u32) - 36, 22e0, 22e1, 22e2, 22e3, imax(u32) - 39, imax(u32) - 38, | ||
| 12748 | }); | ||
| 12749 | try testArgs(@Vector(128, f32), @Vector(128, u32), .{ | ||
| 12750 | 23e0, 23e1, 23e2, 23e3, imax(u32) - 41, imax(u32) - 40, 24e0, 24e1, | ||
| 12751 | 24e2, 24e3, imax(u32) - 43, imax(u32) - 42, 25e0, 25e1, 25e2, 25e3, | ||
| 12752 | imax(u32) - 45, imax(u32) - 44, 26e0, 26e1, 26e2, 26e3, imax(u32) - 47, imax(u32) - 46, | ||
| 12753 | 27e0, 27e1, 27e2, 27e3, imax(u32) - 49, imax(u32) - 48, 28e0, 28e1, | ||
| 12754 | 28e2, 28e3, imax(u32) - 51, imax(u32) - 50, 29e0, 29e1, 29e2, 29e3, | ||
| 12755 | imax(u32) - 53, imax(u32) - 52, 31e0, 31e1, 31e2, 31e3, imax(u32) - 55, imax(u32) - 54, | ||
| 12756 | 32e0, 32e1, 32e2, 32e3, imax(u32) - 57, imax(u32) - 56, 33e0, 33e1, | ||
| 12757 | 33e2, 33e3, imax(u32) - 59, imax(u32) - 58, 34e0, 34e1, 34e2, 34e3, | ||
| 12758 | imax(u32) - 61, imax(u32) - 60, 35e0, 35e1, 35e2, 35e3, imax(u32) - 63, imax(u32) - 62, | ||
| 12759 | 36e0, 36e1, 36e2, 36e3, imax(u32) - 65, imax(u32) - 64, 37e0, 37e1, | ||
| 12760 | 37e2, 37e3, imax(u32) - 67, imax(u32) - 66, 38e0, 38e1, 38e2, 38e3, | ||
| 12761 | imax(u32) - 69, imax(u32) - 68, 39e0, 39e1, 39e2, 39e3, imax(u32) - 71, imax(u32) - 70, | ||
| 12762 | 41e0, 41e1, 41e2, 41e3, imax(u32) - 73, imax(u32) - 72, 42e0, 42e1, | ||
| 12763 | 42e2, 42e3, imax(u32) - 75, imax(u32) - 74, 43e0, 43e1, 43e2, 43e3, | ||
| 12764 | imax(u32) - 77, imax(u32) - 76, 44e0, 44e1, 44e2, 44e3, imax(u32) - 79, imax(u32) - 78, | ||
| 12765 | 45e0, 45e1, 45e2, 45e3, imax(u32) - 81, imax(u32) - 80, 46e0, 46e1, | ||
| 12766 | }); | ||
| 12767 | |||
| 12768 | try testArgs(@Vector(1, f32), @Vector(1, i64), .{ | ||
| 12769 | imin(i64), | ||
| 12770 | }); | ||
| 12771 | try testArgs(@Vector(2, f32), @Vector(2, i64), .{ | ||
| 12772 | imin(i64) + 1, -1e18, | ||
| 12773 | }); | ||
| 12774 | try testArgs(@Vector(4, f32), @Vector(4, i64), .{ | ||
| 12775 | -1e17, -1e16, -1e15, -1e14, | ||
| 12776 | }); | ||
| 12777 | try testArgs(@Vector(8, f32), @Vector(8, i64), .{ | ||
| 12778 | -1e13, -1e12, -1e11, -1e10, -1e9, -1e8, -1e7, -1e6, | ||
| 12779 | }); | ||
| 12780 | try testArgs(@Vector(16, f32), @Vector(16, i64), .{ | ||
| 12781 | -1e5, -1e4, -1e3, -1e2, -1e1, -1e0, 0, 1e0, | ||
| 12782 | 1e1, 1e2, 1e3, 1e4, 1e5, 1e6, 1e7, 1e8, | ||
| 12783 | }); | ||
| 12784 | try testArgs(@Vector(32, f32), @Vector(32, i64), .{ | ||
| 12785 | 1e9, 1e10, 1e11, 1e12, 1e13, 1e14, 1e15, 1e16, | ||
| 12786 | 1e17, 1e18, imax(i64) - 1, imax(i64), imin(i64) + 2, imin(i64) + 3, -2e18, -2e17, | ||
| 12787 | -2e16, -2e15, -2e14, -2e13, -2e12, -2e11, -2e10, -2e9, | ||
| 12788 | -2e8, -2e7, -2e6, -2e5, -2e4, -2e3, -2e2, -2e1, | ||
| 12789 | }); | ||
| 12790 | try testArgs(@Vector(64, f32), @Vector(64, i64), .{ | ||
| 12791 | -2e0, 2e0, 2e1, 2e2, 2e3, 2e4, 2e5, 2e6, | ||
| 12792 | 2e7, 2e8, 2e9, 2e10, 2e11, 2e12, 2e13, 2e14, | ||
| 12793 | 2e15, 2e16, 2e17, 2e18, imax(i64) - 3, imax(i64) - 2, imin(i64) + 4, imin(i64) + 5, | ||
| 12794 | -3e18, -3e17, -3e16, -3e15, -3e14, -3e13, -3e12, -3e11, | ||
| 12795 | -3e10, -3e9, -3e8, -3e7, -3e6, -3e5, -3e4, -3e3, | ||
| 12796 | -3e2, -3e1, -3e0, 3e0, 3e1, 3e2, 3e3, 3e4, | ||
| 12797 | 3e5, 3e6, 3e7, 3e8, 3e9, 3e10, 3e11, 3e12, | ||
| 12798 | 3e13, 3e14, 3e15, 3e16, 3e17, 3e18, imax(i64) - 5, imax(i64) - 4, | ||
| 12799 | }); | ||
| 12800 | try testArgs(@Vector(128, f32), @Vector(128, i64), .{ | ||
| 12801 | imin(i64) + 6, imin(i64) + 7, -4e18, -4e17, -4e16, -4e15, -4e14, -4e13, | ||
| 12802 | -4e12, -4e11, -4e10, -4e9, -4e8, -4e7, -4e6, -4e5, | ||
| 12803 | -4e4, -4e3, -4e2, -4e1, -4e0, 4e0, 4e1, 4e2, | ||
| 12804 | 4e3, 4e4, 4e5, 4e6, 4e7, 4e8, 4e9, 4e10, | ||
| 12805 | 4e11, 4e12, 4e13, 4e14, 4e15, 4e16, 4e17, 4e18, | ||
| 12806 | imax(i64) - 7, imax(i64) - 6, imin(i64) + 8, imin(i64) + 9, -5e18, -5e17, -5e16, -5e15, | ||
| 12807 | -5e14, -5e13, -5e12, -5e11, -5e10, -5e9, -5e8, -5e7, | ||
| 12808 | -5e6, -5e5, -5e4, -5e3, -5e2, -5e1, -5e0, 5e0, | ||
| 12809 | 5e1, 5e2, 5e3, 5e4, 5e5, 5e6, 5e7, 5e8, | ||
| 12810 | 5e9, 5e10, 5e11, 5e12, 5e13, 5e14, 5e15, 5e16, | ||
| 12811 | 5e17, 5e18, imax(i64) - 9, imax(i64) - 8, imin(i64) + 10, imin(i64) + 11, -6e18, -6e17, | ||
| 12812 | -6e16, -6e15, -6e14, -6e13, -6e12, -6e11, -6e10, -6e9, | ||
| 12813 | -6e8, -6e7, -6e6, -6e5, -6e4, -6e3, -6e2, -6e1, | ||
| 12814 | -6e0, 6e0, 6e1, 6e2, 6e3, 6e4, 6e5, 6e6, | ||
| 12815 | 6e7, 6e8, 6e9, 6e10, 6e11, 6e12, 6e13, 6e14, | ||
| 12816 | 6e15, 6e16, 6e17, 6e18, imax(i64) - 11, imax(i64) - 10, imin(i64) + 12, imin(i64) + 13, | ||
| 12817 | }); | ||
| 12818 | |||
| 12819 | try testArgs(@Vector(1, f32), @Vector(1, u64), .{ | ||
| 12820 | 0, | ||
| 12821 | }); | ||
| 12822 | try testArgs(@Vector(2, f32), @Vector(2, u64), .{ | ||
| 12823 | 1e0, 1e1, | ||
| 12824 | }); | ||
| 12825 | try testArgs(@Vector(4, f32), @Vector(4, u64), .{ | ||
| 12826 | 1e2, 1e3, 1e4, 1e5, | ||
| 12827 | }); | ||
| 12828 | try testArgs(@Vector(8, f32), @Vector(8, u64), .{ | ||
| 12829 | 1e6, 1e7, 1e8, 1e9, 1e10, 1e11, 1e12, 1e13, | ||
| 12830 | }); | ||
| 12831 | try testArgs(@Vector(16, f32), @Vector(16, u64), .{ | ||
| 12832 | 1e14, 1e15, 1e16, 1e17, 1e18, 1e19, imax(u64) - 1, imax(u64), | ||
| 12833 | 2e0, 2e1, 2e2, 2e3, 2e4, 2e5, 2e6, 2e7, | ||
| 12834 | }); | ||
| 12835 | try testArgs(@Vector(32, f32), @Vector(32, u64), .{ | ||
| 12836 | 2e8, 2e9, 2e10, 2e11, 2e12, 2e13, 2e14, 2e15, | ||
| 12837 | 2e16, 2e17, 2e18, imax(u64) - 3, imax(u64) - 2, 3e0, 3e1, 3e2, | ||
| 12838 | 3e3, 3e4, 3e5, 3e6, 3e7, 3e8, 3e9, 3e10, | ||
| 12839 | 3e11, 3e12, 3e13, 3e14, 3e15, 3e16, 3e17, 3e18, | ||
| 12840 | }); | ||
| 12841 | try testArgs(@Vector(64, f32), @Vector(64, u64), .{ | ||
| 12842 | imax(u64) - 5, imax(u64) - 4, 4e0, 4e1, 4e2, 4e3, 4e4, 4e5, | ||
| 12843 | 4e6, 4e7, 4e8, 4e9, 4e10, 4e11, 4e12, 4e13, | ||
| 12844 | 4e14, 4e15, 4e16, 4e17, 4e18, imax(u64) - 7, imax(u64) - 6, 5e0, | ||
| 12845 | 5e1, 5e2, 5e3, 5e4, 5e5, 5e6, 5e7, 5e8, | ||
| 12846 | 5e9, 5e10, 5e11, 5e12, 5e13, 5e14, 5e15, 5e16, | ||
| 12847 | 5e17, 5e18, imax(u64) - 9, imax(u64) - 8, 6e0, 6e1, 6e2, 6e3, | ||
| 12848 | 6e4, 6e5, 6e6, 6e7, 6e8, 6e9, 6e10, 6e11, | ||
| 12849 | 6e12, 6e13, 6e14, 6e15, 6e16, 6e17, 6e18, imax(u64) - 11, | ||
| 12850 | }); | ||
| 12851 | try testArgs(@Vector(128, f32), @Vector(128, u64), .{ | ||
| 12852 | imax(u64) - 10, 7e0, 7e1, 7e2, 7e3, 7e4, 7e5, 7e6, | ||
| 12853 | 7e7, 7e8, 7e9, 7e10, 7e11, 7e12, 7e13, 7e14, | ||
| 12854 | 7e15, 7e16, 7e17, 7e18, imax(u64) - 13, imax(u64) - 12, 8e0, 8e1, | ||
| 12855 | 8e2, 8e3, 8e4, 8e5, 8e6, 8e7, 8e8, 8e9, | ||
| 12856 | 8e10, 8e11, 8e12, 8e13, 8e14, 8e15, 8e16, 8e17, | ||
| 12857 | 8e18, imax(u64) - 15, imax(u64) - 14, 9e0, 9e1, 9e2, 9e3, 9e4, | ||
| 12858 | 9e5, 9e6, 9e7, 9e8, 9e9, 9e10, 9e11, 9e12, | ||
| 12859 | 9e13, 9e14, 9e15, 9e16, 9e17, 9e18, imax(u64) - 17, imax(u64) - 16, | ||
| 12860 | 11e0, 11e1, 11e2, 11e3, 11e4, 11e5, 11e6, 11e7, | ||
| 12861 | 11e8, 11e9, 11e10, 11e11, 11e12, 11e13, 11e14, 11e15, | ||
| 12862 | 11e16, 11e17, 11e18, imax(u64) - 19, imax(u64) - 18, 12e0, 12e1, 12e2, | ||
| 12863 | 12e3, 12e4, 12e5, 12e6, 12e7, 12e8, 12e9, 12e10, | ||
| 12864 | 12e11, 12e12, 12e13, 12e14, 12e15, 12e16, 12e17, 12e18, | ||
| 12865 | imax(u64) - 21, imax(u64) - 20, 13e0, 13e1, 13e2, 13e3, 13e4, 13e5, | ||
| 12866 | 13e6, 13e7, 13e8, 13e9, 13e10, 13e11, 13e12, 13e13, | ||
| 12867 | 13e14, 13e15, 13e16, 13e17, 13e18, imax(u64) - 23, imax(u64) - 22, 14e0, | ||
| 12868 | }); | ||
| 12869 | |||
| 12870 | try testArgs(@Vector(1, f32), @Vector(1, i128), .{ | ||
| 12871 | imin(i128), | ||
| 12872 | }); | ||
| 12873 | try testArgs(@Vector(2, f32), @Vector(2, i128), .{ | ||
| 12874 | imin(i128) + 1, -1e38, | ||
| 12875 | }); | ||
| 12876 | try testArgs(@Vector(4, f32), @Vector(4, i128), .{ | ||
| 12877 | -1e37, -1e36, -1e35, -1e34, | ||
| 12878 | }); | ||
| 12879 | try testArgs(@Vector(8, f32), @Vector(8, i128), .{ | ||
| 12880 | -1e33, -1e32, -1e31, -1e30, -1e29, -1e28, -1e27, -1e26, | ||
| 12881 | }); | ||
| 12882 | try testArgs(@Vector(16, f32), @Vector(16, i128), .{ | ||
| 12883 | -1e25, -1e24, -1e23, -1e22, -1e21, -1e20, -1e19, -1e18, | ||
| 12884 | -1e17, -1e16, -1e15, -1e14, -1e13, -1e12, -1e11, -1e10, | ||
| 12885 | }); | ||
| 12886 | try testArgs(@Vector(32, f32), @Vector(32, i128), .{ | ||
| 12887 | -1e9, -1e8, -1e7, -1e6, -1e5, -1e4, -1e3, -1e2, | ||
| 12888 | -1e1, -1e0, 0, 1e0, 1e1, 1e2, 1e3, 1e4, | ||
| 12889 | 1e5, 1e6, 1e7, 1e8, 1e9, 1e10, 1e11, 1e12, | ||
| 12890 | 1e13, 1e14, 1e15, 1e16, 1e17, 1e18, 1e19, 1e20, | ||
| 12891 | }); | ||
| 12892 | try testArgs(@Vector(64, f32), @Vector(64, i128), .{ | ||
| 12893 | 1e21, 1e22, 1e23, 1e24, 1e25, 1e26, 1e27, 1e28, | ||
| 12894 | 1e29, 1e30, 1e31, 1e32, 1e33, 1e34, 1e35, 1e36, | ||
| 12895 | 1e37, 1e38, imax(i128) - 1, imax(i128), imin(i128) + 2, imin(i128) + 3, -2e37, -2e36, | ||
| 12896 | -2e35, -2e34, -2e33, -2e32, -2e31, -2e30, -2e29, -2e28, | ||
| 12897 | -2e27, -2e26, -2e25, -2e24, -2e23, -2e22, -2e21, -2e20, | ||
| 12898 | -2e19, -2e18, -2e17, -2e16, -2e15, -2e14, -2e13, -2e12, | ||
| 12899 | -2e11, -2e10, -2e9, -2e8, -2e7, -2e6, -2e5, -2e4, | ||
| 12900 | -2e3, -2e2, -2e1, -2e0, 2e0, 2e1, 2e2, 2e3, | ||
| 12901 | }); | ||
| 12902 | try testArgs(@Vector(128, f32), @Vector(128, i128), .{ | ||
| 12903 | 2e4, 2e5, 2e6, 2e7, 2e8, 2e9, 2e10, 2e11, | ||
| 12904 | 2e12, 2e13, 2e14, 2e15, 2e16, 2e17, 2e18, 2e19, | ||
| 12905 | 2e20, 2e21, 2e22, 2e23, 2e24, 2e25, 2e26, 2e27, | ||
| 12906 | 2e28, 2e29, 2e30, 2e31, 2e32, 2e33, 2e34, 2e35, | ||
| 12907 | 2e36, 2e37, imax(i128) - 3, imax(i128) - 2, imin(i128) + 4, imin(i128) + 5, -3e37, -3e36, | ||
| 12908 | -3e35, -3e34, -3e33, -3e32, -3e31, -3e30, -3e29, -3e28, | ||
| 12909 | -3e27, -3e26, -3e25, -3e24, -3e23, -3e22, -3e21, -3e20, | ||
| 12910 | -3e19, -3e18, -3e17, -3e16, -3e15, -3e14, -3e13, -3e12, | ||
| 12911 | -3e11, -3e10, -3e9, -3e8, -3e7, -3e6, -3e5, -3e4, | ||
| 12912 | -3e3, -3e2, -3e1, -3e0, 3e0, 3e1, 3e2, 3e3, | ||
| 12913 | 3e4, 3e5, 3e6, 3e7, 3e8, 3e9, 3e10, 3e11, | ||
| 12914 | 3e12, 3e13, 3e14, 3e15, 3e16, 3e17, 3e18, 3e19, | ||
| 12915 | 3e20, 3e21, 3e22, 3e23, 3e24, 3e25, 3e26, 3e27, | ||
| 12916 | 3e28, 3e29, 3e30, 3e31, 3e32, 3e33, 3e34, 3e35, | ||
| 12917 | 3e36, 3e37, imax(i128) - 5, imax(i128) - 4, imin(i128) + 6, imin(i128) + 7, -4e37, -4e36, | ||
| 12918 | -4e35, -4e34, -4e33, -4e32, -4e31, -4e30, -4e29, -4e28, | ||
| 12919 | }); | ||
| 12920 | |||
| 12921 | try testArgs(@Vector(1, f32), @Vector(1, u128), .{ | ||
| 12922 | 0, | ||
| 12923 | }); | ||
| 12924 | try testArgs(@Vector(2, f32), @Vector(2, u128), .{ | ||
| 12925 | 1e0, 1e1, | ||
| 12926 | }); | ||
| 12927 | try testArgs(@Vector(4, f32), @Vector(4, u128), .{ | ||
| 12928 | 1e2, 1e3, 1e4, 1e5, | ||
| 12929 | }); | ||
| 12930 | try testArgs(@Vector(8, f32), @Vector(8, u128), .{ | ||
| 12931 | 1e6, 1e7, 1e8, 1e9, 1e10, 1e11, 1e12, 1e13, | ||
| 12932 | }); | ||
| 12933 | try testArgs(@Vector(16, f32), @Vector(16, u128), .{ | ||
| 12934 | 1e14, 1e15, 1e16, 1e17, 1e18, 1e19, 1e20, 1e21, | ||
| 12935 | 1e22, 1e23, 1e24, 1e25, 1e26, 1e27, 1e28, 1e29, | ||
| 12936 | }); | ||
| 12937 | try testArgs(@Vector(32, f32), @Vector(32, u128), .{ | ||
| 12938 | 1e30, 1e31, 1e32, 1e33, 1e34, 1e35, 1e36, 1e37, | ||
| 12939 | 1e38, imax(u128) - 1, imax(u128), 2e0, 2e1, 2e2, 2e3, 2e4, | ||
| 12940 | 2e5, 2e6, 2e7, 2e8, 2e9, 2e10, 2e11, 2e12, | ||
| 12941 | 2e13, 2e14, 2e15, 2e16, 2e17, 2e18, 2e19, 2e20, | ||
| 12942 | }); | ||
| 12943 | try testArgs(@Vector(64, f32), @Vector(64, u128), .{ | ||
| 12944 | 2e21, 2e22, 2e23, 2e24, 2e25, 2e26, 2e27, 2e28, | ||
| 12945 | 2e29, 2e30, 2e31, 2e32, 2e33, 2e34, 2e35, 2e36, | ||
| 12946 | 2e37, 2e38, imax(u128) - 3, imax(u128) - 2, 3e0, 3e1, 3e2, 3e3, | ||
| 12947 | 3e4, 3e5, 3e6, 3e7, 3e8, 3e9, 3e10, 3e11, | ||
| 12948 | 3e12, 3e13, 3e14, 3e15, 3e16, 3e17, 3e18, 3e19, | ||
| 12949 | 3e20, 3e21, 3e22, 3e23, 3e24, 3e25, 3e26, 3e27, | ||
| 12950 | 3e28, 3e29, 3e30, 3e31, 3e32, 3e33, 3e34, 3e35, | ||
| 12951 | 3e36, 3e37, 3e38, imax(u128) - 5, imax(u128) - 4, 4e0, 4e1, 4e2, | ||
| 12952 | }); | ||
| 12953 | try testArgs(@Vector(128, f32), @Vector(128, u128), .{ | ||
| 12954 | 4e3, 4e4, 4e5, 4e6, 4e7, 4e8, 4e9, 4e10, | ||
| 12955 | 4e11, 4e12, 4e13, 4e14, 4e15, 4e16, 4e17, 4e18, | ||
| 12956 | 4e19, 4e20, 4e21, 4e22, 4e23, 4e24, 4e25, 4e26, | ||
| 12957 | 4e27, 4e28, 4e29, 4e30, 4e31, 4e32, 4e33, 4e34, | ||
| 12958 | 4e35, 4e36, 4e37, imax(u128) - 7, imax(u128) - 6, 5e0, 5e1, 5e2, | ||
| 12959 | 5e3, 5e4, 5e5, 5e6, 5e7, 5e8, 5e9, 5e10, | ||
| 12960 | 5e11, 5e12, 5e13, 5e14, 5e15, 5e16, 5e17, 5e18, | ||
| 12961 | 5e19, 5e20, 5e21, 5e22, 5e23, 5e24, 5e25, 5e26, | ||
| 12962 | 5e27, 5e28, 5e29, 5e30, 5e31, 5e32, 5e33, 5e34, | ||
| 12963 | 5e35, 5e36, 5e37, imax(u128) - 9, imax(u128) - 8, 6e0, 6e1, 6e2, | ||
| 12964 | 6e3, 6e4, 6e5, 6e6, 6e7, 6e8, 6e9, 6e10, | ||
| 12965 | 6e11, 6e12, 6e13, 6e14, 6e15, 6e16, 6e17, 6e18, | ||
| 12966 | 6e19, 6e20, 6e21, 6e22, 6e23, 6e24, 6e25, 6e26, | ||
| 12967 | 6e27, 6e28, 6e29, 6e30, 6e31, 6e32, 6e33, 6e34, | ||
| 12968 | 6e35, 6e36, 6e37, imax(u128) - 11, imax(u128) - 10, 7e0, 7e1, 7e2, | ||
| 12969 | 7e3, 7e4, 7e5, 7e6, 7e7, 7e8, 7e9, 7e10, | ||
| 12970 | }); | ||
| 12971 | |||
| 12972 | try testArgs(@Vector(1, f32), @Vector(1, i256), .{ | ||
| 12973 | imin(i256), | ||
| 12974 | }); | ||
| 12975 | try testArgs(@Vector(2, f32), @Vector(2, i256), .{ | ||
| 12976 | imin(i256) + 1, -1e76, | ||
| 12977 | }); | ||
| 12978 | try testArgs(@Vector(4, f32), @Vector(4, i256), .{ | ||
| 12979 | -1e75, -1e74, -1e73, -1e72, | ||
| 12980 | }); | ||
| 12981 | try testArgs(@Vector(8, f32), @Vector(8, i256), .{ | ||
| 12982 | -1e71, -1e70, -1e69, -1e68, -1e67, -1e66, -1e65, -1e64, | ||
| 12983 | }); | ||
| 12984 | try testArgs(@Vector(16, f32), @Vector(16, i256), .{ | ||
| 12985 | -1e63, -1e62, -1e61, -1e60, -1e59, -1e58, -1e57, -1e56, | ||
| 12986 | -1e55, -1e54, -1e53, -1e52, -1e51, -1e50, -1e49, -1e48, | ||
| 12987 | }); | ||
| 12988 | try testArgs(@Vector(32, f32), @Vector(32, i256), .{ | ||
| 12989 | -1e47, -1e46, -1e45, -1e44, -1e43, -1e42, -1e41, -1e40, | ||
| 12990 | -1e39, -1e38, -1e37, -1e36, -1e35, -1e34, -1e33, -1e32, | ||
| 12991 | -1e31, -1e30, -1e29, -1e28, -1e27, -1e26, -1e25, -1e24, | ||
| 12992 | -1e23, -1e22, -1e21, -1e20, -1e19, -1e18, -1e17, -1e16, | ||
| 12993 | }); | ||
| 12994 | try testArgs(@Vector(64, f32), @Vector(64, i256), .{ | ||
| 12995 | -1e15, -1e14, -1e13, -1e12, -1e11, -1e10, -1e9, -1e8, | ||
| 12996 | -1e7, -1e6, -1e5, -1e4, -1e3, -1e2, -1e1, -1e0, | ||
| 12997 | 0, 1e0, 1e1, 1e2, 1e3, 1e4, 1e5, 1e6, | ||
| 12998 | 1e7, 1e8, 1e9, 1e10, 1e11, 1e12, 1e13, 1e14, | ||
| 12999 | 1e15, 1e16, 1e17, 1e18, 1e19, 1e20, 1e21, 1e22, | ||
| 13000 | 1e23, 1e24, 1e25, 1e26, 1e27, 1e28, 1e29, 1e30, | ||
| 13001 | 1e31, 1e32, 1e33, 1e34, 1e35, 1e36, 1e37, 1e38, | ||
| 13002 | 1e39, 1e40, 1e41, 1e42, 1e43, 1e44, 1e45, 1e46, | ||
| 13003 | }); | ||
| 13004 | try testArgs(@Vector(128, f32), @Vector(128, i256), .{ | ||
| 13005 | 1e47, 1e48, 1e49, 1e50, 1e51, 1e52, 1e53, 1e54, | ||
| 13006 | 1e55, 1e56, 1e57, 1e58, 1e59, 1e60, 1e61, 1e62, | ||
| 13007 | 1e63, 1e64, 1e65, 1e66, 1e67, 1e68, 1e69, 1e70, | ||
| 13008 | 1e71, 1e72, 1e73, 1e74, 1e75, 1e76, imax(i256) - 1, imax(i256), | ||
| 13009 | imin(i256) + 2, imin(i256) + 3, -2e76, -2e75, -2e74, -2e73, -2e72, -2e71, | ||
| 13010 | -2e70, -2e69, -2e68, -2e67, -2e66, -2e65, -2e64, -2e63, | ||
| 13011 | -2e62, -2e61, -2e60, -2e59, -2e58, -2e57, -2e56, -2e55, | ||
| 13012 | -2e54, -2e53, -2e52, -2e51, -2e50, -2e49, -2e48, -2e47, | ||
| 13013 | -2e46, -2e45, -2e44, -2e43, -2e42, -2e41, -2e40, -2e39, | ||
| 13014 | -2e38, -2e37, -2e36, -2e35, -2e34, -2e33, -2e32, -2e31, | ||
| 13015 | -2e30, -2e29, -2e28, -2e27, -2e26, -2e25, -2e24, -2e23, | ||
| 13016 | -2e22, -2e21, -2e20, -2e19, -2e18, -2e17, -2e16, -2e15, | ||
| 13017 | -2e14, -2e13, -2e12, -2e11, -2e10, -2e9, -2e8, -2e7, | ||
| 13018 | -2e6, -2e5, -2e4, -2e3, -2e2, -2e1, -2e0, 2e0, | ||
| 13019 | 2e1, 2e2, 2e3, 2e4, 2e5, 2e6, 2e7, 2e8, | ||
| 13020 | 2e9, 2e10, 2e11, 2e12, 2e13, 2e14, 2e15, 2e16, | ||
| 13021 | }); | ||
| 13022 | |||
| 13023 | try testArgs(@Vector(1, f32), @Vector(1, u256), .{ | ||
| 13024 | 0, | ||
| 13025 | }); | ||
| 13026 | try testArgs(@Vector(2, f32), @Vector(2, u256), .{ | ||
| 13027 | 1e0, 1e1, | ||
| 13028 | }); | ||
| 13029 | try testArgs(@Vector(4, f32), @Vector(4, u256), .{ | ||
| 13030 | 1e2, 1e3, 1e4, 1e5, | ||
| 13031 | }); | ||
| 13032 | try testArgs(@Vector(8, f32), @Vector(8, u256), .{ | ||
| 13033 | 1e6, 1e7, 1e8, 1e9, 1e10, 1e11, 1e12, 1e13, | ||
| 13034 | }); | ||
| 13035 | try testArgs(@Vector(16, f32), @Vector(16, u256), .{ | ||
| 13036 | 1e14, 1e15, 1e16, 1e17, 1e18, 1e19, 1e20, 1e21, | ||
| 13037 | 1e22, 1e23, 1e24, 1e25, 1e26, 1e27, 1e28, 1e29, | ||
| 13038 | }); | ||
| 13039 | try testArgs(@Vector(32, f32), @Vector(32, u256), .{ | ||
| 13040 | 1e30, 1e31, 1e32, 1e33, 1e34, 1e35, 1e36, 1e37, | ||
| 13041 | 1e38, 1e39, 1e40, 1e41, 1e42, 1e43, 1e44, 1e45, | ||
| 13042 | 1e46, 1e47, 1e48, 1e49, 1e50, 1e51, 1e52, 1e53, | ||
| 13043 | 1e54, 1e55, 1e56, 1e57, 1e58, 1e59, 1e60, 1e61, | ||
| 13044 | }); | ||
| 13045 | try testArgs(@Vector(64, f32), @Vector(64, u256), .{ | ||
| 13046 | 1e62, 1e63, 1e64, 1e65, 1e66, 1e67, 1e68, 1e69, | ||
| 13047 | 1e70, 1e71, 1e72, 1e73, 1e74, 1e75, 1e76, 1e77, | ||
| 13048 | imax(u256) - 1, imax(u256), 2e0, 2e1, 2e2, 2e3, 2e4, 2e5, | ||
| 13049 | 2e6, 2e7, 2e8, 2e9, 2e10, 2e11, 2e12, 2e13, | ||
| 13050 | 2e14, 2e15, 2e16, 2e17, 2e18, 2e19, 2e20, 2e21, | ||
| 13051 | 2e22, 2e23, 2e24, 2e25, 2e26, 2e27, 2e28, 2e29, | ||
| 13052 | 2e30, 2e31, 2e32, 2e33, 2e34, 2e35, 2e36, 2e37, | ||
| 13053 | 2e38, 2e39, 2e40, 2e41, 2e42, 2e43, 2e44, 2e45, | ||
| 13054 | }); | ||
| 13055 | try testArgs(@Vector(128, f32), @Vector(128, u256), .{ | ||
| 13056 | 2e46, 2e47, 2e48, 2e49, 2e50, 2e51, 2e52, 2e53, | ||
| 13057 | 2e54, 2e55, 2e56, 2e57, 2e58, 2e59, 2e60, 2e61, | ||
| 13058 | 2e62, 2e63, 2e64, 2e65, 2e66, 2e67, 2e68, 2e69, | ||
| 13059 | 2e70, 2e71, 2e72, 2e73, 2e74, 2e75, 2e76, imax(u256) - 3, | ||
| 13060 | imax(u256) - 2, 3e0, 3e1, 3e2, 3e3, 3e4, 3e5, 3e6, | ||
| 13061 | 3e7, 3e8, 3e9, 3e10, 3e11, 3e12, 3e13, 3e14, | ||
| 13062 | 3e15, 3e16, 3e17, 3e18, 3e19, 3e20, 3e21, 3e22, | ||
| 13063 | 3e23, 3e24, 3e25, 3e26, 3e27, 3e28, 3e29, 3e30, | ||
| 13064 | 3e31, 3e32, 3e33, 3e34, 3e35, 3e36, 3e37, 3e38, | ||
| 13065 | 3e39, 3e40, 3e41, 3e42, 3e43, 3e44, 3e45, 3e46, | ||
| 13066 | 3e47, 3e48, 3e49, 3e50, 3e51, 3e52, 3e53, 3e54, | ||
| 13067 | 3e55, 3e56, 3e57, 3e58, 3e59, 3e60, 3e61, 3e62, | ||
| 13068 | 3e63, 3e64, 3e65, 3e66, 3e67, 3e68, 3e69, 3e70, | ||
| 13069 | 3e71, 3e72, 3e73, 3e74, 3e75, 3e76, imax(u256) - 5, imax(u256) - 4, | ||
| 13070 | 4e0, 4e1, 4e2, 4e3, 4e4, 4e5, 4e6, 4e7, | ||
| 13071 | 4e8, 4e9, 4e10, 4e11, 4e12, 4e13, 4e14, 4e15, | ||
| 13072 | }); | ||
| 13073 | |||
| 13074 | try testArgs(@Vector(1, f64), @Vector(1, i8), .{ | ||
| 13075 | imin(i8), | ||
| 13076 | }); | ||
| 13077 | try testArgs(@Vector(2, f64), @Vector(2, i8), .{ | ||
| 13078 | imin(i8) + 1, -1e2, | ||
| 13079 | }); | ||
| 13080 | try testArgs(@Vector(4, f64), @Vector(4, i8), .{ | ||
| 13081 | -1e1, -1e0, 0, 1e0, | ||
| 13082 | }); | ||
| 13083 | try testArgs(@Vector(8, f64), @Vector(8, i8), .{ | ||
| 13084 | 1e1, 1e2, imax(i8) - 1, imax(i8), imin(i8) + 2, imin(i8) + 3, -2e1, -2e0, | ||
| 13085 | }); | ||
| 13086 | try testArgs(@Vector(16, f64), @Vector(16, i8), .{ | ||
| 13087 | 2e0, 2e1, imax(i8) - 3, imax(i8) - 2, imin(i8) + 4, imin(i8) + 5, -3e1, -3e0, | ||
| 13088 | 3e0, 3e1, imax(i8) - 5, imax(i8) - 4, imin(i8) + 6, imin(i8) + 7, -4e1, -4e0, | ||
| 13089 | }); | ||
| 13090 | try testArgs(@Vector(32, f64), @Vector(32, i8), .{ | ||
| 13091 | 4e0, 4e1, imax(i8) - 7, imax(i8) - 6, imin(i8) + 8, imin(i8) + 9, -5e1, -5e0, | ||
| 13092 | 5e0, 5e1, imax(i8) - 9, imax(i8) - 8, imin(i8) + 10, imin(i8) + 11, -6e1, -6e0, | ||
| 13093 | 6e0, 6e1, imax(i8) - 11, imax(i8) - 10, imin(i8) + 12, imin(i8) + 13, -7e1, -7e0, | ||
| 13094 | 7e0, 7e1, imax(i8) - 13, imax(i8) - 12, imin(i8) + 14, imin(i8) + 15, -8e1, -8e0, | ||
| 13095 | }); | ||
| 13096 | try testArgs(@Vector(64, f64), @Vector(64, i8), .{ | ||
| 13097 | 8e0, 8e1, imax(i8) - 15, imax(i8) - 14, imin(i8) + 16, imin(i8) + 17, -9e1, -9e0, | ||
| 13098 | 9e0, 9e1, imax(i8) - 17, imax(i8) - 16, imin(i8) + 18, imin(i8) + 19, -11e1, -11e0, | ||
| 13099 | 11e0, 11e1, imax(i8) - 19, imax(i8) - 18, imin(i8) + 20, imin(i8) + 21, -12e1, -12e0, | ||
| 13100 | 12e0, 12e1, imax(i8) - 21, imax(i8) - 20, imin(i8) + 22, imin(i8) + 23, -13e0, 13e0, | ||
| 13101 | imax(i8) - 23, imax(i8) - 22, imin(i8) + 24, imin(i8) + 25, -14e0, 14e0, imax(i8) - 25, imax(i8) - 24, | ||
| 13102 | imin(i8) + 26, imin(i8) + 27, -15e0, 15e0, imax(i8) - 27, imax(i8) - 26, imin(i8) + 28, imin(i8) + 29, | ||
| 13103 | -16e0, 16e0, imax(i8) - 29, imax(i8) - 28, imin(i8) + 30, imin(i8) + 31, -17e0, 17e0, | ||
| 13104 | imax(i8) - 31, imax(i8) - 30, imin(i8) + 32, imin(i8) + 33, -18e0, 18e0, imax(i8) - 33, imax(i8) - 32, | ||
| 13105 | }); | ||
| 13106 | try testArgs(@Vector(128, f64), @Vector(128, i8), .{ | ||
| 13107 | imin(i8) + 34, imin(i8) + 35, -19e0, 19e0, imax(i8) - 35, imax(i8) - 34, imin(i8) + 36, imin(i8) + 37, | ||
| 13108 | -21e0, 21e0, imax(i8) - 37, imax(i8) - 36, imin(i8) + 38, imin(i8) + 39, -22e0, 22e0, | ||
| 13109 | imax(i8) - 39, imax(i8) - 38, imin(i8) + 40, imin(i8) + 41, -23e0, 23e0, imax(i8) - 41, imax(i8) - 40, | ||
| 13110 | imin(i8) + 42, imin(i8) + 43, -24e0, 24e0, imax(i8) - 43, imax(i8) - 42, imin(i8) + 44, imin(i8) + 45, | ||
| 13111 | -25e0, 25e0, imax(i8) - 45, imax(i8) - 44, imin(i8) + 46, imin(i8) + 47, -26e0, 26e0, | ||
| 13112 | imax(i8) - 47, imax(i8) - 46, imin(i8) + 48, imin(i8) + 49, -27e0, 27e0, imax(i8) - 49, imax(i8) - 48, | ||
| 13113 | imin(i8) + 50, imin(i8) + 51, -28e0, 28e0, imax(i8) - 51, imax(i8) - 50, imin(i8) + 52, imin(i8) + 53, | ||
| 13114 | -29e0, 29e0, imax(i8) - 53, imax(i8) - 52, imin(i8) + 54, imin(i8) + 55, -31e0, 31e0, | ||
| 13115 | imax(i8) - 55, imax(i8) - 54, imin(i8) + 56, imin(i8) + 57, -32e0, 32e0, imax(i8) - 57, imax(i8) - 56, | ||
| 13116 | imin(i8) + 58, imin(i8) + 59, -33e0, 33e0, imax(i8) - 59, imax(i8) - 58, imin(i8) + 60, imin(i8) + 61, | ||
| 13117 | -34e0, 34e0, imax(i8) - 61, imax(i8) - 60, imin(i8) + 62, imin(i8) + 63, -35e0, 35e0, | ||
| 13118 | imax(i8) - 63, imax(i8) - 62, imin(i8) + 64, imin(i8) + 65, -36e0, 36e0, imax(i8) - 65, imax(i8) - 64, | ||
| 13119 | imin(i8) + 66, imin(i8) + 67, -37e0, 37e0, imax(i8) - 67, imax(i8) - 66, imin(i8) + 68, imin(i8) + 69, | ||
| 13120 | -38e0, 38e0, imax(i8) - 69, imax(i8) - 68, imin(i8) + 70, imin(i8) + 71, -39e0, 39e0, | ||
| 13121 | imax(i8) - 71, imax(i8) - 70, imin(i8) + 72, imin(i8) + 73, -41e0, 41e0, imax(i8) - 73, imax(i8) - 72, | ||
| 13122 | imin(i8) + 74, imin(i8) + 75, -42e0, 42e0, imax(i8) - 75, imax(i8) - 74, imin(i8) + 76, imin(i8) + 77, | ||
| 13123 | }); | ||
| 13124 | |||
| 13125 | try testArgs(@Vector(1, f64), @Vector(1, u8), .{ | ||
| 13126 | 0, | ||
| 13127 | }); | ||
| 13128 | try testArgs(@Vector(2, f64), @Vector(2, u8), .{ | ||
| 13129 | 1e0, 1e1, | ||
| 13130 | }); | ||
| 13131 | try testArgs(@Vector(4, f64), @Vector(4, u8), .{ | ||
| 13132 | 1e2, imax(u8) - 1, imax(u8), 2e0, | ||
| 13133 | }); | ||
| 13134 | try testArgs(@Vector(8, f64), @Vector(8, u8), .{ | ||
| 13135 | 2e1, 2e2, imax(u8) - 3, imax(u8) - 2, 3e0, 3e1, imax(u8) - 5, imax(u8) - 4, | ||
| 13136 | }); | ||
| 13137 | try testArgs(@Vector(16, f64), @Vector(16, u8), .{ | ||
| 13138 | imax(u8) - 7, imax(u8) - 6, 5e0, 5e1, imax(u8) - 9, imax(u8) - 8, 6e0, 6e1, | ||
| 13139 | imax(u8) - 11, imax(u8) - 10, 7e0, 7e1, imax(u8) - 13, imax(u8) - 12, 8e0, 8e1, | ||
| 13140 | }); | ||
| 13141 | try testArgs(@Vector(32, f64), @Vector(32, u8), .{ | ||
| 13142 | imax(u8) - 15, imax(u8) - 14, 9e0, 9e1, imax(u8) - 17, imax(u8) - 16, 11e0, 11e1, | ||
| 13143 | imax(u8) - 19, imax(u8) - 18, 12e0, 12e1, imax(u8) - 21, imax(u8) - 20, 13e0, 13e1, | ||
| 13144 | imax(u8) - 23, imax(u8) - 22, 14e0, 14e1, imax(u8) - 25, imax(u8) - 24, 15e0, 15e1, | ||
| 13145 | imax(u8) - 27, imax(u8) - 26, 16e0, 16e1, imax(u8) - 29, imax(u8) - 28, 17e0, 17e1, | ||
| 13146 | }); | ||
| 13147 | try testArgs(@Vector(64, f64), @Vector(64, u8), .{ | ||
| 13148 | imax(u8) - 31, imax(u8) - 30, 18e0, 18e1, imax(u8) - 33, imax(u8) - 32, 19e0, 19e1, | ||
| 13149 | imax(u8) - 35, imax(u8) - 34, 21e0, 21e1, imax(u8) - 37, imax(u8) - 36, 22e0, 22e1, | ||
| 13150 | imax(u8) - 39, imax(u8) - 38, 23e0, 23e1, imax(u8) - 41, imax(u8) - 40, 24e0, 24e1, | ||
| 13151 | imax(u8) - 43, imax(u8) - 42, 25e0, 25e1, imax(u8) - 45, imax(u8) - 44, 26e0, imax(u8) - 47, | ||
| 13152 | imax(u8) - 46, 27e0, imax(u8) - 49, imax(u8) - 48, 28e0, imax(u8) - 51, imax(u8) - 50, 29e0, | ||
| 13153 | imax(u8) - 53, imax(u8) - 52, 31e0, imax(u8) - 55, imax(u8) - 54, 32e0, imax(u8) - 57, imax(u8) - 56, | ||
| 13154 | 33e0, imax(u8) - 59, imax(u8) - 58, 34e0, imax(u8) - 61, imax(u8) - 60, 35e0, imax(u8) - 63, | ||
| 13155 | imax(u8) - 62, 36e0, imax(u8) - 65, imax(u8) - 64, 37e0, imax(u8) - 67, imax(u8) - 66, 38e0, | ||
| 13156 | }); | ||
| 13157 | try testArgs(@Vector(128, f64), @Vector(128, u8), .{ | ||
| 13158 | imax(u8) - 69, imax(u8) - 68, 39e0, imax(u8) - 71, imax(u8) - 70, 41e0, imax(u8) - 73, imax(u8) - 72, | ||
| 13159 | 42e0, imax(u8) - 75, imax(u8) - 74, 43e0, imax(u8) - 77, imax(u8) - 76, 44e0, imax(u8) - 79, | ||
| 13160 | imax(u8) - 78, 45e0, imax(u8) - 81, imax(u8) - 80, 46e0, imax(u8) - 83, imax(u8) - 82, 47e0, | ||
| 13161 | imax(u8) - 85, imax(u8) - 84, 48e0, imax(u8) - 87, imax(u8) - 86, 49e0, imax(u8) - 89, imax(u8) - 88, | ||
| 13162 | 51e0, imax(u8) - 91, imax(u8) - 90, 52e0, imax(u8) - 93, imax(u8) - 92, 53e0, imax(u8) - 95, | ||
| 13163 | imax(u8) - 94, 54e0, imax(u8) - 97, imax(u8) - 96, 55e0, imax(u8) - 99, imax(u8) - 98, 56e0, | ||
| 13164 | imax(u8) - 101, imax(u8) - 100, 57e0, imax(u8) - 103, imax(u8) - 102, 58e0, imax(u8) - 105, imax(u8) - 104, | ||
| 13165 | 59e0, imax(u8) - 107, imax(u8) - 106, 61e0, imax(u8) - 109, imax(u8) - 108, 62e0, imax(u8) - 111, | ||
| 13166 | imax(u8) - 110, 63e0, imax(u8) - 113, imax(u8) - 112, 64e0, imax(u8) - 115, imax(u8) - 114, 65e0, | ||
| 13167 | imax(u8) - 117, imax(u8) - 116, 66e0, imax(u8) - 119, imax(u8) - 118, 67e0, imax(u8) - 121, imax(u8) - 120, | ||
| 13168 | 68e0, imax(u8) - 123, imax(u8) - 122, 69e0, imax(u8) - 125, imax(u8) - 124, 71e0, imax(u8) - 127, | ||
| 13169 | imax(u8) - 126, 72e0, imax(u8) - 129, imax(u8) - 128, 73e0, imax(u8) - 131, imax(u8) - 130, 74e0, | ||
| 13170 | imax(u8) - 133, imax(u8) - 132, 75e0, imax(u8) - 135, imax(u8) - 134, 76e0, imax(u8) - 137, imax(u8) - 136, | ||
| 13171 | 77e0, imax(u8) - 139, imax(u8) - 138, 78e0, imax(u8) - 141, imax(u8) - 140, 79e0, imax(u8) - 143, | ||
| 13172 | imax(u8) - 142, 81e0, imax(u8) - 145, imax(u8) - 144, 82e0, imax(u8) - 147, imax(u8) - 146, 83e0, | ||
| 13173 | imax(u8) - 149, imax(u8) - 148, 84e0, imax(u8) - 151, imax(u8) - 150, 85e0, imax(u8) - 153, imax(u8) - 152, | ||
| 13174 | }); | ||
| 13175 | |||
| 13176 | try testArgs(@Vector(1, f64), @Vector(1, i16), .{ | ||
| 13177 | imin(i16), | ||
| 13178 | }); | ||
| 13179 | try testArgs(@Vector(2, f64), @Vector(2, i16), .{ | ||
| 13180 | imin(i16) + 1, -1e4, | ||
| 13181 | }); | ||
| 13182 | try testArgs(@Vector(4, f64), @Vector(4, i16), .{ | ||
| 13183 | -1e3, -1e2, -1e1, -1e0, | ||
| 13184 | }); | ||
| 13185 | try testArgs(@Vector(8, f64), @Vector(8, i16), .{ | ||
| 13186 | 0, 1e0, 1e1, 1e2, 1e3, 1e4, imax(i16) - 1, imax(i16), | ||
| 13187 | }); | ||
| 13188 | try testArgs(@Vector(16, f64), @Vector(16, i16), .{ | ||
| 13189 | imin(i16) + 2, imin(i16) + 3, -2e4, -2e3, -2e2, -2e1, -2e0, 2e0, | ||
| 13190 | 2e1, 2e2, 2e3, 2e4, imax(i16) - 3, imax(i16) - 2, imin(i16) + 4, imin(i16) + 5, | ||
| 13191 | }); | ||
| 13192 | try testArgs(@Vector(32, f64), @Vector(32, i16), .{ | ||
| 13193 | -3e4, -3e3, -3e2, -3e1, -3e0, 3e0, 3e1, 3e2, | ||
| 13194 | 3e3, 3e4, imax(i16) - 5, imax(i16) - 4, imin(i16) + 6, imin(i16) + 7, -4e3, -4e2, | ||
| 13195 | -4e1, -4e0, 4e0, 4e1, 4e2, 4e3, imax(i16) - 7, imax(i16) - 6, | ||
| 13196 | imin(i16) + 8, imin(i16) + 9, -5e3, -5e2, -5e1, -5e0, 5e0, 5e1, | ||
| 13197 | }); | ||
| 13198 | try testArgs(@Vector(64, f64), @Vector(64, i16), .{ | ||
| 13199 | 5e2, 5e3, imax(i16) - 9, imax(i16) - 8, imin(i16) + 10, imin(i16) + 11, -6e3, -6e2, | ||
| 13200 | -6e1, -6e0, 6e0, 6e1, 6e2, 6e3, imax(i16) - 11, imax(i16) - 10, | ||
| 13201 | imin(i16) + 12, imin(i16) + 13, -7e3, -7e2, -7e1, -7e0, 7e0, 7e1, | ||
| 13202 | 7e2, 7e3, imax(i16) - 13, imax(i16) - 12, imin(i16) + 14, imin(i16) + 15, -8e3, -8e2, | ||
| 13203 | -8e1, -8e0, 8e0, 8e1, 8e2, 8e3, imax(i16) - 15, imax(i16) - 14, | ||
| 13204 | imin(i16) + 16, imin(i16) + 17, -9e3, -9e2, -9e1, -9e0, 9e0, 9e1, | ||
| 13205 | 9e2, 9e3, imax(i16) - 17, imax(i16) - 16, imin(i16) + 18, imin(i16) + 19, -11e3, -11e2, | ||
| 13206 | -11e1, -11e0, 11e0, 11e1, 11e2, 11e3, imax(i16) - 19, imax(i16) - 18, | ||
| 13207 | }); | ||
| 13208 | try testArgs(@Vector(128, f64), @Vector(128, i16), .{ | ||
| 13209 | imin(i16) + 20, imin(i16) + 21, -12e3, -12e2, -12e1, -12e0, 12e0, 12e1, | ||
| 13210 | 12e2, 12e3, imax(i16) - 21, imax(i16) - 20, imin(i16) + 22, imin(i16) + 23, -13e3, -13e2, | ||
| 13211 | -13e1, -13e0, 13e0, 13e1, 13e2, 13e3, imax(i16) - 23, imax(i16) - 22, | ||
| 13212 | imin(i16) + 24, imin(i16) + 25, -14e3, -14e2, -14e1, -14e0, 14e0, 14e1, | ||
| 13213 | 14e2, 14e3, imax(i16) - 25, imax(i16) - 24, imin(i16) + 26, imin(i16) + 27, -15e3, -15e2, | ||
| 13214 | -15e1, -15e0, 15e0, 15e1, 15e2, 15e3, imax(i16) - 27, imax(i16) - 26, | ||
| 13215 | imin(i16) + 28, imin(i16) + 29, -16e3, -16e2, -16e1, -16e0, 16e0, 16e1, | ||
| 13216 | 16e2, 16e3, imax(i16) - 29, imax(i16) - 28, imin(i16) + 30, imin(i16) + 31, -17e3, -17e2, | ||
| 13217 | -17e1, -17e0, 17e0, 17e1, 17e2, 17e3, imax(i16) - 31, imax(i16) - 30, | ||
| 13218 | imin(i16) + 32, imin(i16) + 33, -18e3, -18e2, -18e1, -18e0, 18e0, 18e1, | ||
| 13219 | 18e2, 18e3, imax(i16) - 33, imax(i16) - 32, imin(i16) + 34, imin(i16) + 35, -19e3, -19e2, | ||
| 13220 | -19e1, -19e0, 19e0, 19e1, 19e2, 19e3, imax(i16) - 35, imax(i16) - 34, | ||
| 13221 | imin(i16) + 36, imin(i16) + 37, -12e3, -21e2, -21e1, -21e0, 21e0, 21e1, | ||
| 13222 | 21e2, 21e3, imax(i16) - 37, imax(i16) - 36, imin(i16) + 38, imin(i16) + 39, -22e3, -22e2, | ||
| 13223 | -22e1, -22e0, 22e0, 22e1, 22e2, 22e3, imax(i16) - 39, imax(i16) - 38, | ||
| 13224 | imin(i16) + 40, imin(i16) + 41, -23e3, -23e2, -23e1, -23e0, 23e0, 23e1, | ||
| 13225 | }); | ||
| 13226 | |||
| 13227 | try testArgs(@Vector(1, f64), @Vector(1, u16), .{ | ||
| 13228 | 0, | ||
| 13229 | }); | ||
| 13230 | try testArgs(@Vector(2, f64), @Vector(2, u16), .{ | ||
| 13231 | 1e0, 1e1, | ||
| 13232 | }); | ||
| 13233 | try testArgs(@Vector(4, f64), @Vector(4, u16), .{ | ||
| 13234 | 1e2, 1e3, 1e4, imax(u16) - 1, | ||
| 13235 | }); | ||
| 13236 | try testArgs(@Vector(8, f64), @Vector(8, u16), .{ | ||
| 13237 | imax(u16), 2e0, 2e1, 2e2, 2e3, 2e4, imax(u16) - 3, imax(u16) - 2, | ||
| 13238 | }); | ||
| 13239 | try testArgs(@Vector(16, f64), @Vector(16, u16), .{ | ||
| 13240 | 3e0, 3e1, 3e2, 3e3, 3e4, imax(u16) - 5, imax(u16) - 4, 4e0, | ||
| 13241 | 4e1, 4e2, 4e3, 4e4, imax(u16) - 7, imax(u16) - 6, 5e0, 5e1, | ||
| 13242 | }); | ||
| 13243 | try testArgs(@Vector(32, f64), @Vector(32, u16), .{ | ||
| 13244 | 5e2, 5e3, 5e4, imax(u16) - 9, imax(u16) - 8, 6e0, 6e1, 6e2, | ||
| 13245 | 6e3, 6e4, imax(u16) - 11, imax(u16) - 10, 7e0, 7e1, 7e2, 7e3, | ||
| 13246 | imax(u16) - 13, imax(u16) - 12, 8e0, 8e1, 8e2, 8e3, imax(u16) - 15, imax(u16) - 14, | ||
| 13247 | 9e0, 9e1, 9e2, 9e3, imax(u16) - 17, imax(u16) - 16, 11e0, 11e1, | ||
| 13248 | }); | ||
| 13249 | try testArgs(@Vector(64, f64), @Vector(64, u16), .{ | ||
| 13250 | 11e2, 11e3, imax(u16) - 19, imax(u16) - 18, 12e0, 12e1, 12e2, 12e3, | ||
| 13251 | imax(u16) - 21, imax(u16) - 20, 13e0, 13e1, 13e2, 13e3, imax(u16) - 23, imax(u16) - 22, | ||
| 13252 | 14e0, 14e1, 14e2, 14e3, imax(u16) - 25, imax(u16) - 24, 15e0, 15e1, | ||
| 13253 | 15e2, 15e3, imax(u16) - 27, imax(u16) - 26, 16e0, 16e1, 16e2, 16e3, | ||
| 13254 | imax(u16) - 29, imax(u16) - 28, 17e0, 17e1, 17e2, 17e3, imax(u16) - 31, imax(u16) - 30, | ||
| 13255 | 18e0, 18e1, 18e2, 18e3, imax(u16) - 33, imax(u16) - 32, 19e0, 19e1, | ||
| 13256 | 19e2, 19e3, imax(u16) - 35, imax(u16) - 34, 21e0, 21e1, 21e2, 21e3, | ||
| 13257 | imax(u16) - 37, imax(u16) - 36, 22e0, 22e1, 22e2, 22e3, imax(u16) - 39, imax(u16) - 38, | ||
| 13258 | }); | ||
| 13259 | try testArgs(@Vector(128, f64), @Vector(128, u16), .{ | ||
| 13260 | 23e0, 23e1, 23e2, 23e3, imax(u16) - 41, imax(u16) - 40, 24e0, 24e1, | ||
| 13261 | 24e2, 24e3, imax(u16) - 43, imax(u16) - 42, 25e0, 25e1, 25e2, 25e3, | ||
| 13262 | imax(u16) - 45, imax(u16) - 44, 26e0, 26e1, 26e2, 26e3, imax(u16) - 47, imax(u16) - 46, | ||
| 13263 | 27e0, 27e1, 27e2, 27e3, imax(u16) - 49, imax(u16) - 48, 28e0, 28e1, | ||
| 13264 | 28e2, 28e3, imax(u16) - 51, imax(u16) - 50, 29e0, 29e1, 29e2, 29e3, | ||
| 13265 | imax(u16) - 53, imax(u16) - 52, 31e0, 31e1, 31e2, 31e3, imax(u16) - 55, imax(u16) - 54, | ||
| 13266 | 32e0, 32e1, 32e2, 32e3, imax(u16) - 57, imax(u16) - 56, 33e0, 33e1, | ||
| 13267 | 33e2, 33e3, imax(u16) - 59, imax(u16) - 58, 34e0, 34e1, 34e2, 34e3, | ||
| 13268 | imax(u16) - 61, imax(u16) - 60, 35e0, 35e1, 35e2, 35e3, imax(u16) - 63, imax(u16) - 62, | ||
| 13269 | 36e0, 36e1, 36e2, 36e3, imax(u16) - 65, imax(u16) - 64, 37e0, 37e1, | ||
| 13270 | 37e2, 37e3, imax(u16) - 67, imax(u16) - 66, 38e0, 38e1, 38e2, 38e3, | ||
| 13271 | imax(u16) - 69, imax(u16) - 68, 39e0, 39e1, 39e2, 39e3, imax(u16) - 71, imax(u16) - 70, | ||
| 13272 | 41e0, 41e1, 41e2, 41e3, imax(u16) - 73, imax(u16) - 72, 42e0, 42e1, | ||
| 13273 | 42e2, 42e3, imax(u16) - 75, imax(u16) - 74, 43e0, 43e1, 43e2, 43e3, | ||
| 13274 | imax(u16) - 77, imax(u16) - 76, 44e0, 44e1, 44e2, 44e3, imax(u16) - 79, imax(u16) - 78, | ||
| 13275 | 45e0, 45e1, 45e2, 45e3, imax(u16) - 81, imax(u16) - 80, 46e0, 46e1, | ||
| 13276 | }); | ||
| 13277 | |||
| 13278 | try testArgs(@Vector(1, f64), @Vector(1, i32), .{ | ||
| 13279 | imin(i32), | ||
| 13280 | }); | ||
| 13281 | try testArgs(@Vector(2, f64), @Vector(2, i32), .{ | ||
| 13282 | imin(i32) + 1, -1e9, | ||
| 13283 | }); | ||
| 13284 | try testArgs(@Vector(4, f64), @Vector(4, i32), .{ | ||
| 13285 | -1e8, -1e7, -1e6, -1e5, | ||
| 13286 | }); | ||
| 13287 | try testArgs(@Vector(8, f64), @Vector(8, i32), .{ | ||
| 13288 | -1e4, -1e3, -1e2, -1e1, -1e0, 0, 1e0, 1e1, | ||
| 13289 | }); | ||
| 13290 | try testArgs(@Vector(16, f64), @Vector(16, i32), .{ | ||
| 13291 | 1e2, 1e3, 1e4, 1e5, 1e6, 1e7, 1e8, 1e9, | ||
| 13292 | imax(i32) - 1, imax(i32), imin(i32) + 2, imin(i32) + 3, -2e9, -2e8, -2e7, -2e6, | ||
| 13293 | }); | ||
| 13294 | try testArgs(@Vector(32, f64), @Vector(32, i32), .{ | ||
| 13295 | -2e5, -2e4, -2e3, -2e2, -2e1, -2e0, 2e0, 2e1, | ||
| 13296 | 2e2, 2e3, 2e4, 2e5, 2e6, 2e7, 2e8, 2e9, | ||
| 13297 | imax(i32) - 3, imax(i32) - 2, imin(i32) + 4, imin(i32) + 5, -3e8, -3e7, -3e6, -3e5, | ||
| 13298 | -3e4, -3e3, -3e2, -3e1, -3e0, 3e0, 3e1, 3e2, | ||
| 13299 | }); | ||
| 13300 | try testArgs(@Vector(64, f64), @Vector(64, i32), .{ | ||
| 13301 | 3e3, 3e4, 3e5, 3e6, 3e7, 3e8, imax(i32) - 5, imax(i32) - 4, | ||
| 13302 | imin(i32) + 6, imin(i32) + 7, -4e8, -4e7, -4e6, -4e5, -4e4, -4e3, | ||
| 13303 | -4e2, -4e1, -4e0, 4e0, 4e1, 4e2, 4e3, 4e4, | ||
| 13304 | 4e5, 4e6, 4e7, 4e8, imax(i32) - 7, imax(i32) - 6, imin(i32) + 8, imin(i32) + 9, | ||
| 13305 | -5e8, -5e7, -5e6, -5e5, -5e4, -5e3, -5e2, -5e1, | ||
| 13306 | -5e0, 5e0, 5e1, 5e2, 5e3, 5e4, 5e5, 5e6, | ||
| 13307 | 5e7, 5e8, imax(i32) - 9, imax(i32) - 8, imin(i32) + 10, imin(i32) + 11, -6e8, -6e7, | ||
| 13308 | -6e6, -6e5, -6e4, -6e3, -6e2, -6e1, -6e0, 6e0, | ||
| 13309 | }); | ||
| 13310 | try testArgs(@Vector(128, f64), @Vector(128, i32), .{ | ||
| 13311 | 6e1, 6e2, 6e3, 6e4, 6e5, 6e6, 6e7, 6e8, | ||
| 13312 | imax(i32) - 11, imax(i32) - 10, imin(i32) + 12, imin(i32) + 13, -7e8, -7e7, -7e6, -7e5, | ||
| 13313 | -7e4, -7e3, -7e2, -7e1, -7e0, 7e0, 7e1, 7e2, | ||
| 13314 | 7e3, 7e4, 7e5, 7e6, 7e7, 7e8, imax(i32) - 13, imax(i32) - 12, | ||
| 13315 | imin(i32) + 14, imin(i32) + 15, -8e8, -8e7, -8e6, -8e5, -8e4, -8e3, | ||
| 13316 | -8e2, -8e1, -8e0, 8e0, 8e1, 8e2, 8e3, 8e4, | ||
| 13317 | 8e5, 8e6, 8e7, 8e8, imax(i32) - 15, imax(i32) - 14, imin(i32) + 16, imin(i32) + 17, | ||
| 13318 | -9e8, -9e7, -9e6, -9e5, -9e4, -9e3, -9e2, -9e1, | ||
| 13319 | -9e0, 9e0, 9e1, 9e2, 9e3, 9e4, 9e5, 9e6, | ||
| 13320 | 9e7, 9e8, imax(i32) - 17, imax(i32) - 16, imin(i32) + 18, imin(i32) + 19, -11e8, -11e7, | ||
| 13321 | -11e6, -11e5, -11e4, -11e3, -11e2, -11e1, -11e0, 11e0, | ||
| 13322 | 11e1, 11e2, 11e3, 11e4, 11e5, 11e6, 11e7, 11e8, | ||
| 13323 | imax(i32) - 19, imax(i32) - 18, imin(i32) + 20, imin(i32) + 21, -12e8, -12e7, -12e6, -12e5, | ||
| 13324 | -12e4, -12e3, -12e2, -12e1, -12e0, 12e0, 12e1, 12e2, | ||
| 13325 | 12e3, 12e4, 12e5, 12e6, 12e7, 12e8, imax(i32) - 21, imax(i32) - 20, | ||
| 13326 | imin(i32) + 22, imin(i32) + 23, -13e8, -13e7, -13e6, -13e5, -13e4, -13e3, | ||
| 13327 | }); | ||
| 13328 | |||
| 13329 | try testArgs(@Vector(1, f64), @Vector(1, u32), .{ | ||
| 13330 | 0, | ||
| 13331 | }); | ||
| 13332 | try testArgs(@Vector(2, f64), @Vector(2, u32), .{ | ||
| 13333 | 1e0, 1e1, | ||
| 13334 | }); | ||
| 13335 | try testArgs(@Vector(4, f64), @Vector(4, u32), .{ | ||
| 13336 | 1e2, 1e3, 1e4, imax(u32) - 1, | ||
| 13337 | }); | ||
| 13338 | try testArgs(@Vector(8, f64), @Vector(8, u32), .{ | ||
| 13339 | imax(u32), 2e0, 2e1, 2e2, 2e3, 2e4, imax(u32) - 3, imax(u32) - 2, | ||
| 13340 | }); | ||
| 13341 | try testArgs(@Vector(16, f64), @Vector(16, u32), .{ | ||
| 13342 | 3e0, 3e1, 3e2, 3e3, 3e4, imax(u32) - 5, imax(u32) - 4, 4e0, | ||
| 13343 | 4e1, 4e2, 4e3, 4e4, imax(u32) - 7, imax(u32) - 6, 5e0, 5e1, | ||
| 13344 | }); | ||
| 13345 | try testArgs(@Vector(32, f64), @Vector(32, u32), .{ | ||
| 13346 | 5e2, 5e3, 5e4, imax(u32) - 9, imax(u32) - 8, 6e0, 6e1, 6e2, | ||
| 13347 | 6e3, 6e4, imax(u32) - 11, imax(u32) - 10, 7e0, 7e1, 7e2, 7e3, | ||
| 13348 | imax(u32) - 13, imax(u32) - 12, 8e0, 8e1, 8e2, 8e3, imax(u32) - 15, imax(u32) - 14, | ||
| 13349 | 9e0, 9e1, 9e2, 9e3, imax(u32) - 17, imax(u32) - 16, 11e0, 11e1, | ||
| 13350 | }); | ||
| 13351 | try testArgs(@Vector(64, f64), @Vector(64, u32), .{ | ||
| 13352 | 11e2, 11e3, imax(u32) - 19, imax(u32) - 18, 12e0, 12e1, 12e2, 12e3, | ||
| 13353 | imax(u32) - 21, imax(u32) - 20, 13e0, 13e1, 13e2, 13e3, imax(u32) - 23, imax(u32) - 22, | ||
| 13354 | 14e0, 14e1, 14e2, 14e3, imax(u32) - 25, imax(u32) - 24, 15e0, 15e1, | ||
| 13355 | 15e2, 15e3, imax(u32) - 27, imax(u32) - 26, 16e0, 16e1, 16e2, 16e3, | ||
| 13356 | imax(u32) - 29, imax(u32) - 28, 17e0, 17e1, 17e2, 17e3, imax(u32) - 31, imax(u32) - 30, | ||
| 13357 | 18e0, 18e1, 18e2, 18e3, imax(u32) - 33, imax(u32) - 32, 19e0, 19e1, | ||
| 13358 | 19e2, 19e3, imax(u32) - 35, imax(u32) - 34, 21e0, 21e1, 21e2, 21e3, | ||
| 13359 | imax(u32) - 37, imax(u32) - 36, 22e0, 22e1, 22e2, 22e3, imax(u32) - 39, imax(u32) - 38, | ||
| 13360 | }); | ||
| 13361 | try testArgs(@Vector(128, f64), @Vector(128, u32), .{ | ||
| 13362 | 23e0, 23e1, 23e2, 23e3, imax(u32) - 41, imax(u32) - 40, 24e0, 24e1, | ||
| 13363 | 24e2, 24e3, imax(u32) - 43, imax(u32) - 42, 25e0, 25e1, 25e2, 25e3, | ||
| 13364 | imax(u32) - 45, imax(u32) - 44, 26e0, 26e1, 26e2, 26e3, imax(u32) - 47, imax(u32) - 46, | ||
| 13365 | 27e0, 27e1, 27e2, 27e3, imax(u32) - 49, imax(u32) - 48, 28e0, 28e1, | ||
| 13366 | 28e2, 28e3, imax(u32) - 51, imax(u32) - 50, 29e0, 29e1, 29e2, 29e3, | ||
| 13367 | imax(u32) - 53, imax(u32) - 52, 31e0, 31e1, 31e2, 31e3, imax(u32) - 55, imax(u32) - 54, | ||
| 13368 | 32e0, 32e1, 32e2, 32e3, imax(u32) - 57, imax(u32) - 56, 33e0, 33e1, | ||
| 13369 | 33e2, 33e3, imax(u32) - 59, imax(u32) - 58, 34e0, 34e1, 34e2, 34e3, | ||
| 13370 | imax(u32) - 61, imax(u32) - 60, 35e0, 35e1, 35e2, 35e3, imax(u32) - 63, imax(u32) - 62, | ||
| 13371 | 36e0, 36e1, 36e2, 36e3, imax(u32) - 65, imax(u32) - 64, 37e0, 37e1, | ||
| 13372 | 37e2, 37e3, imax(u32) - 67, imax(u32) - 66, 38e0, 38e1, 38e2, 38e3, | ||
| 13373 | imax(u32) - 69, imax(u32) - 68, 39e0, 39e1, 39e2, 39e3, imax(u32) - 71, imax(u32) - 70, | ||
| 13374 | 41e0, 41e1, 41e2, 41e3, imax(u32) - 73, imax(u32) - 72, 42e0, 42e1, | ||
| 13375 | 42e2, 42e3, imax(u32) - 75, imax(u32) - 74, 43e0, 43e1, 43e2, 43e3, | ||
| 13376 | imax(u32) - 77, imax(u32) - 76, 44e0, 44e1, 44e2, 44e3, imax(u32) - 79, imax(u32) - 78, | ||
| 13377 | 45e0, 45e1, 45e2, 45e3, imax(u32) - 81, imax(u32) - 80, 46e0, 46e1, | ||
| 13378 | }); | ||
| 13379 | |||
| 13380 | try testArgs(@Vector(1, f64), @Vector(1, i64), .{ | ||
| 13381 | imin(i64), | ||
| 13382 | }); | ||
| 13383 | try testArgs(@Vector(2, f64), @Vector(2, i64), .{ | ||
| 13384 | imin(i64) + 1, -1e18, | ||
| 13385 | }); | ||
| 13386 | try testArgs(@Vector(4, f64), @Vector(4, i64), .{ | ||
| 13387 | -1e17, -1e16, -1e15, -1e14, | ||
| 13388 | }); | ||
| 13389 | try testArgs(@Vector(8, f64), @Vector(8, i64), .{ | ||
| 13390 | -1e13, -1e12, -1e11, -1e10, -1e9, -1e8, -1e7, -1e6, | ||
| 13391 | }); | ||
| 13392 | try testArgs(@Vector(16, f64), @Vector(16, i64), .{ | ||
| 13393 | -1e5, -1e4, -1e3, -1e2, -1e1, -1e0, 0, 1e0, | ||
| 13394 | 1e1, 1e2, 1e3, 1e4, 1e5, 1e6, 1e7, 1e8, | ||
| 13395 | }); | ||
| 13396 | try testArgs(@Vector(32, f64), @Vector(32, i64), .{ | ||
| 13397 | 1e9, 1e10, 1e11, 1e12, 1e13, 1e14, 1e15, 1e16, | ||
| 13398 | 1e17, 1e18, imax(i64) - 1, imax(i64), imin(i64) + 2, imin(i64) + 3, -2e18, -2e17, | ||
| 13399 | -2e16, -2e15, -2e14, -2e13, -2e12, -2e11, -2e10, -2e9, | ||
| 13400 | -2e8, -2e7, -2e6, -2e5, -2e4, -2e3, -2e2, -2e1, | ||
| 13401 | }); | ||
| 13402 | try testArgs(@Vector(64, f64), @Vector(64, i64), .{ | ||
| 13403 | -2e0, 2e0, 2e1, 2e2, 2e3, 2e4, 2e5, 2e6, | ||
| 13404 | 2e7, 2e8, 2e9, 2e10, 2e11, 2e12, 2e13, 2e14, | ||
| 13405 | 2e15, 2e16, 2e17, 2e18, imax(i64) - 3, imax(i64) - 2, imin(i64) + 4, imin(i64) + 5, | ||
| 13406 | -3e18, -3e17, -3e16, -3e15, -3e14, -3e13, -3e12, -3e11, | ||
| 13407 | -3e10, -3e9, -3e8, -3e7, -3e6, -3e5, -3e4, -3e3, | ||
| 13408 | -3e2, -3e1, -3e0, 3e0, 3e1, 3e2, 3e3, 3e4, | ||
| 13409 | 3e5, 3e6, 3e7, 3e8, 3e9, 3e10, 3e11, 3e12, | ||
| 13410 | 3e13, 3e14, 3e15, 3e16, 3e17, 3e18, imax(i64) - 5, imax(i64) - 4, | ||
| 13411 | }); | ||
| 13412 | try testArgs(@Vector(128, f64), @Vector(128, i64), .{ | ||
| 13413 | imin(i64) + 6, imin(i64) + 7, -4e18, -4e17, -4e16, -4e15, -4e14, -4e13, | ||
| 13414 | -4e12, -4e11, -4e10, -4e9, -4e8, -4e7, -4e6, -4e5, | ||
| 13415 | -4e4, -4e3, -4e2, -4e1, -4e0, 4e0, 4e1, 4e2, | ||
| 13416 | 4e3, 4e4, 4e5, 4e6, 4e7, 4e8, 4e9, 4e10, | ||
| 13417 | 4e11, 4e12, 4e13, 4e14, 4e15, 4e16, 4e17, 4e18, | ||
| 13418 | imax(i64) - 7, imax(i64) - 6, imin(i64) + 8, imin(i64) + 9, -5e18, -5e17, -5e16, -5e15, | ||
| 13419 | -5e14, -5e13, -5e12, -5e11, -5e10, -5e9, -5e8, -5e7, | ||
| 13420 | -5e6, -5e5, -5e4, -5e3, -5e2, -5e1, -5e0, 5e0, | ||
| 13421 | 5e1, 5e2, 5e3, 5e4, 5e5, 5e6, 5e7, 5e8, | ||
| 13422 | 5e9, 5e10, 5e11, 5e12, 5e13, 5e14, 5e15, 5e16, | ||
| 13423 | 5e17, 5e18, imax(i64) - 9, imax(i64) - 8, imin(i64) + 10, imin(i64) + 11, -6e18, -6e17, | ||
| 13424 | -6e16, -6e15, -6e14, -6e13, -6e12, -6e11, -6e10, -6e9, | ||
| 13425 | -6e8, -6e7, -6e6, -6e5, -6e4, -6e3, -6e2, -6e1, | ||
| 13426 | -6e0, 6e0, 6e1, 6e2, 6e3, 6e4, 6e5, 6e6, | ||
| 13427 | 6e7, 6e8, 6e9, 6e10, 6e11, 6e12, 6e13, 6e14, | ||
| 13428 | 6e15, 6e16, 6e17, 6e18, imax(i64) - 11, imax(i64) - 10, imin(i64) + 12, imin(i64) + 13, | ||
| 13429 | }); | ||
| 13430 | |||
| 13431 | try testArgs(@Vector(1, f64), @Vector(1, u64), .{ | ||
| 13432 | 0, | ||
| 13433 | }); | ||
| 13434 | try testArgs(@Vector(2, f64), @Vector(2, u64), .{ | ||
| 13435 | 1e0, 1e1, | ||
| 13436 | }); | ||
| 13437 | try testArgs(@Vector(4, f64), @Vector(4, u64), .{ | ||
| 13438 | 1e2, 1e3, 1e4, 1e5, | ||
| 13439 | }); | ||
| 13440 | try testArgs(@Vector(8, f64), @Vector(8, u64), .{ | ||
| 13441 | 1e6, 1e7, 1e8, 1e9, 1e10, 1e11, 1e12, 1e13, | ||
| 13442 | }); | ||
| 13443 | try testArgs(@Vector(16, f64), @Vector(16, u64), .{ | ||
| 13444 | 1e14, 1e15, 1e16, 1e17, 1e18, 1e19, imax(u64) - 1, imax(u64), | ||
| 13445 | 2e0, 2e1, 2e2, 2e3, 2e4, 2e5, 2e6, 2e7, | ||
| 13446 | }); | ||
| 13447 | try testArgs(@Vector(32, f64), @Vector(32, u64), .{ | ||
| 13448 | 2e8, 2e9, 2e10, 2e11, 2e12, 2e13, 2e14, 2e15, | ||
| 13449 | 2e16, 2e17, 2e18, imax(u64) - 3, imax(u64) - 2, 3e0, 3e1, 3e2, | ||
| 13450 | 3e3, 3e4, 3e5, 3e6, 3e7, 3e8, 3e9, 3e10, | ||
| 13451 | 3e11, 3e12, 3e13, 3e14, 3e15, 3e16, 3e17, 3e18, | ||
| 13452 | }); | ||
| 13453 | try testArgs(@Vector(64, f64), @Vector(64, u64), .{ | ||
| 13454 | imax(u64) - 5, imax(u64) - 4, 4e0, 4e1, 4e2, 4e3, 4e4, 4e5, | ||
| 13455 | 4e6, 4e7, 4e8, 4e9, 4e10, 4e11, 4e12, 4e13, | ||
| 13456 | 4e14, 4e15, 4e16, 4e17, 4e18, imax(u64) - 7, imax(u64) - 6, 5e0, | ||
| 13457 | 5e1, 5e2, 5e3, 5e4, 5e5, 5e6, 5e7, 5e8, | ||
| 13458 | 5e9, 5e10, 5e11, 5e12, 5e13, 5e14, 5e15, 5e16, | ||
| 13459 | 5e17, 5e18, imax(u64) - 9, imax(u64) - 8, 6e0, 6e1, 6e2, 6e3, | ||
| 13460 | 6e4, 6e5, 6e6, 6e7, 6e8, 6e9, 6e10, 6e11, | ||
| 13461 | 6e12, 6e13, 6e14, 6e15, 6e16, 6e17, 6e18, imax(u64) - 11, | ||
| 13462 | }); | ||
| 13463 | try testArgs(@Vector(128, f64), @Vector(128, u64), .{ | ||
| 13464 | imax(u64) - 10, 7e0, 7e1, 7e2, 7e3, 7e4, 7e5, 7e6, | ||
| 13465 | 7e7, 7e8, 7e9, 7e10, 7e11, 7e12, 7e13, 7e14, | ||
| 13466 | 7e15, 7e16, 7e17, 7e18, imax(u64) - 13, imax(u64) - 12, 8e0, 8e1, | ||
| 13467 | 8e2, 8e3, 8e4, 8e5, 8e6, 8e7, 8e8, 8e9, | ||
| 13468 | 8e10, 8e11, 8e12, 8e13, 8e14, 8e15, 8e16, 8e17, | ||
| 13469 | 8e18, imax(u64) - 15, imax(u64) - 14, 9e0, 9e1, 9e2, 9e3, 9e4, | ||
| 13470 | 9e5, 9e6, 9e7, 9e8, 9e9, 9e10, 9e11, 9e12, | ||
| 13471 | 9e13, 9e14, 9e15, 9e16, 9e17, 9e18, imax(u64) - 17, imax(u64) - 16, | ||
| 13472 | 11e0, 11e1, 11e2, 11e3, 11e4, 11e5, 11e6, 11e7, | ||
| 13473 | 11e8, 11e9, 11e10, 11e11, 11e12, 11e13, 11e14, 11e15, | ||
| 13474 | 11e16, 11e17, 11e18, imax(u64) - 19, imax(u64) - 18, 12e0, 12e1, 12e2, | ||
| 13475 | 12e3, 12e4, 12e5, 12e6, 12e7, 12e8, 12e9, 12e10, | ||
| 13476 | 12e11, 12e12, 12e13, 12e14, 12e15, 12e16, 12e17, 12e18, | ||
| 13477 | imax(u64) - 21, imax(u64) - 20, 13e0, 13e1, 13e2, 13e3, 13e4, 13e5, | ||
| 13478 | 13e6, 13e7, 13e8, 13e9, 13e10, 13e11, 13e12, 13e13, | ||
| 13479 | 13e14, 13e15, 13e16, 13e17, 13e18, imax(u64) - 23, imax(u64) - 22, 14e0, | ||
| 13480 | }); | ||
| 13481 | |||
| 13482 | try testArgs(@Vector(1, f64), @Vector(1, i128), .{ | ||
| 13483 | imin(i128), | ||
| 13484 | }); | ||
| 13485 | try testArgs(@Vector(2, f64), @Vector(2, i128), .{ | ||
| 13486 | imin(i128) + 1, -1e38, | ||
| 13487 | }); | ||
| 13488 | try testArgs(@Vector(4, f64), @Vector(4, i128), .{ | ||
| 13489 | -1e37, -1e36, -1e35, -1e34, | ||
| 13490 | }); | ||
| 13491 | try testArgs(@Vector(8, f64), @Vector(8, i128), .{ | ||
| 13492 | -1e33, -1e32, -1e31, -1e30, -1e29, -1e28, -1e27, -1e26, | ||
| 13493 | }); | ||
| 13494 | try testArgs(@Vector(16, f64), @Vector(16, i128), .{ | ||
| 13495 | -1e25, -1e24, -1e23, -1e22, -1e21, -1e20, -1e19, -1e18, | ||
| 13496 | -1e17, -1e16, -1e15, -1e14, -1e13, -1e12, -1e11, -1e10, | ||
| 13497 | }); | ||
| 13498 | try testArgs(@Vector(32, f64), @Vector(32, i128), .{ | ||
| 13499 | -1e9, -1e8, -1e7, -1e6, -1e5, -1e4, -1e3, -1e2, | ||
| 13500 | -1e1, -1e0, 0, 1e0, 1e1, 1e2, 1e3, 1e4, | ||
| 13501 | 1e5, 1e6, 1e7, 1e8, 1e9, 1e10, 1e11, 1e12, | ||
| 13502 | 1e13, 1e14, 1e15, 1e16, 1e17, 1e18, 1e19, 1e20, | ||
| 13503 | }); | ||
| 13504 | try testArgs(@Vector(64, f64), @Vector(64, i128), .{ | ||
| 13505 | 1e21, 1e22, 1e23, 1e24, 1e25, 1e26, 1e27, 1e28, | ||
| 13506 | 1e29, 1e30, 1e31, 1e32, 1e33, 1e34, 1e35, 1e36, | ||
| 13507 | 1e37, 1e38, imax(i128) - 1, imax(i128), imin(i128) + 2, imin(i128) + 3, -2e37, -2e36, | ||
| 13508 | -2e35, -2e34, -2e33, -2e32, -2e31, -2e30, -2e29, -2e28, | ||
| 13509 | -2e27, -2e26, -2e25, -2e24, -2e23, -2e22, -2e21, -2e20, | ||
| 13510 | -2e19, -2e18, -2e17, -2e16, -2e15, -2e14, -2e13, -2e12, | ||
| 13511 | -2e11, -2e10, -2e9, -2e8, -2e7, -2e6, -2e5, -2e4, | ||
| 13512 | -2e3, -2e2, -2e1, -2e0, 2e0, 2e1, 2e2, 2e3, | ||
| 13513 | }); | ||
| 13514 | try testArgs(@Vector(128, f64), @Vector(128, i128), .{ | ||
| 13515 | 2e4, 2e5, 2e6, 2e7, 2e8, 2e9, 2e10, 2e11, | ||
| 13516 | 2e12, 2e13, 2e14, 2e15, 2e16, 2e17, 2e18, 2e19, | ||
| 13517 | 2e20, 2e21, 2e22, 2e23, 2e24, 2e25, 2e26, 2e27, | ||
| 13518 | 2e28, 2e29, 2e30, 2e31, 2e32, 2e33, 2e34, 2e35, | ||
| 13519 | 2e36, 2e37, imax(i128) - 3, imax(i128) - 2, imin(i128) + 4, imin(i128) + 5, -3e37, -3e36, | ||
| 13520 | -3e35, -3e34, -3e33, -3e32, -3e31, -3e30, -3e29, -3e28, | ||
| 13521 | -3e27, -3e26, -3e25, -3e24, -3e23, -3e22, -3e21, -3e20, | ||
| 13522 | -3e19, -3e18, -3e17, -3e16, -3e15, -3e14, -3e13, -3e12, | ||
| 13523 | -3e11, -3e10, -3e9, -3e8, -3e7, -3e6, -3e5, -3e4, | ||
| 13524 | -3e3, -3e2, -3e1, -3e0, 3e0, 3e1, 3e2, 3e3, | ||
| 13525 | 3e4, 3e5, 3e6, 3e7, 3e8, 3e9, 3e10, 3e11, | ||
| 13526 | 3e12, 3e13, 3e14, 3e15, 3e16, 3e17, 3e18, 3e19, | ||
| 13527 | 3e20, 3e21, 3e22, 3e23, 3e24, 3e25, 3e26, 3e27, | ||
| 13528 | 3e28, 3e29, 3e30, 3e31, 3e32, 3e33, 3e34, 3e35, | ||
| 13529 | 3e36, 3e37, imax(i128) - 5, imax(i128) - 4, imin(i128) + 6, imin(i128) + 7, -4e37, -4e36, | ||
| 13530 | -4e35, -4e34, -4e33, -4e32, -4e31, -4e30, -4e29, -4e28, | ||
| 13531 | }); | ||
| 13532 | |||
| 13533 | try testArgs(@Vector(1, f64), @Vector(1, u128), .{ | ||
| 13534 | 0, | ||
| 13535 | }); | ||
| 13536 | try testArgs(@Vector(2, f64), @Vector(2, u128), .{ | ||
| 13537 | 1e0, 1e1, | ||
| 13538 | }); | ||
| 13539 | try testArgs(@Vector(4, f64), @Vector(4, u128), .{ | ||
| 13540 | 1e2, 1e3, 1e4, 1e5, | ||
| 13541 | }); | ||
| 13542 | try testArgs(@Vector(8, f64), @Vector(8, u128), .{ | ||
| 13543 | 1e6, 1e7, 1e8, 1e9, 1e10, 1e11, 1e12, 1e13, | ||
| 13544 | }); | ||
| 13545 | try testArgs(@Vector(16, f64), @Vector(16, u128), .{ | ||
| 13546 | 1e14, 1e15, 1e16, 1e17, 1e18, 1e19, 1e20, 1e21, | ||
| 13547 | 1e22, 1e23, 1e24, 1e25, 1e26, 1e27, 1e28, 1e29, | ||
| 13548 | }); | ||
| 13549 | try testArgs(@Vector(32, f64), @Vector(32, u128), .{ | ||
| 13550 | 1e30, 1e31, 1e32, 1e33, 1e34, 1e35, 1e36, 1e37, | ||
| 13551 | 1e38, imax(u128) - 1, imax(u128), 2e0, 2e1, 2e2, 2e3, 2e4, | ||
| 13552 | 2e5, 2e6, 2e7, 2e8, 2e9, 2e10, 2e11, 2e12, | ||
| 13553 | 2e13, 2e14, 2e15, 2e16, 2e17, 2e18, 2e19, 2e20, | ||
| 13554 | }); | ||
| 13555 | try testArgs(@Vector(64, f64), @Vector(64, u128), .{ | ||
| 13556 | 2e21, 2e22, 2e23, 2e24, 2e25, 2e26, 2e27, 2e28, | ||
| 13557 | 2e29, 2e30, 2e31, 2e32, 2e33, 2e34, 2e35, 2e36, | ||
| 13558 | 2e37, 2e38, imax(u128) - 3, imax(u128) - 2, 3e0, 3e1, 3e2, 3e3, | ||
| 13559 | 3e4, 3e5, 3e6, 3e7, 3e8, 3e9, 3e10, 3e11, | ||
| 13560 | 3e12, 3e13, 3e14, 3e15, 3e16, 3e17, 3e18, 3e19, | ||
| 13561 | 3e20, 3e21, 3e22, 3e23, 3e24, 3e25, 3e26, 3e27, | ||
| 13562 | 3e28, 3e29, 3e30, 3e31, 3e32, 3e33, 3e34, 3e35, | ||
| 13563 | 3e36, 3e37, 3e38, imax(u128) - 5, imax(u128) - 4, 4e0, 4e1, 4e2, | ||
| 13564 | }); | ||
| 13565 | try testArgs(@Vector(128, f64), @Vector(128, u128), .{ | ||
| 13566 | 4e3, 4e4, 4e5, 4e6, 4e7, 4e8, 4e9, 4e10, | ||
| 13567 | 4e11, 4e12, 4e13, 4e14, 4e15, 4e16, 4e17, 4e18, | ||
| 13568 | 4e19, 4e20, 4e21, 4e22, 4e23, 4e24, 4e25, 4e26, | ||
| 13569 | 4e27, 4e28, 4e29, 4e30, 4e31, 4e32, 4e33, 4e34, | ||
| 13570 | 4e35, 4e36, 4e37, imax(u128) - 7, imax(u128) - 6, 5e0, 5e1, 5e2, | ||
| 13571 | 5e3, 5e4, 5e5, 5e6, 5e7, 5e8, 5e9, 5e10, | ||
| 13572 | 5e11, 5e12, 5e13, 5e14, 5e15, 5e16, 5e17, 5e18, | ||
| 13573 | 5e19, 5e20, 5e21, 5e22, 5e23, 5e24, 5e25, 5e26, | ||
| 13574 | 5e27, 5e28, 5e29, 5e30, 5e31, 5e32, 5e33, 5e34, | ||
| 13575 | 5e35, 5e36, 5e37, imax(u128) - 9, imax(u128) - 8, 6e0, 6e1, 6e2, | ||
| 13576 | 6e3, 6e4, 6e5, 6e6, 6e7, 6e8, 6e9, 6e10, | ||
| 13577 | 6e11, 6e12, 6e13, 6e14, 6e15, 6e16, 6e17, 6e18, | ||
| 13578 | 6e19, 6e20, 6e21, 6e22, 6e23, 6e24, 6e25, 6e26, | ||
| 13579 | 6e27, 6e28, 6e29, 6e30, 6e31, 6e32, 6e33, 6e34, | ||
| 13580 | 6e35, 6e36, 6e37, imax(u128) - 11, imax(u128) - 10, 7e0, 7e1, 7e2, | ||
| 13581 | 7e3, 7e4, 7e5, 7e6, 7e7, 7e8, 7e9, 7e10, | ||
| 13582 | }); | ||
| 13583 | |||
| 13584 | try testArgs(@Vector(1, f64), @Vector(1, i256), .{ | ||
| 13585 | imin(i256), | ||
| 13586 | }); | ||
| 13587 | try testArgs(@Vector(2, f64), @Vector(2, i256), .{ | ||
| 13588 | imin(i256) + 1, -1e76, | ||
| 13589 | }); | ||
| 13590 | try testArgs(@Vector(4, f64), @Vector(4, i256), .{ | ||
| 13591 | -1e75, -1e74, -1e73, -1e72, | ||
| 13592 | }); | ||
| 13593 | try testArgs(@Vector(8, f64), @Vector(8, i256), .{ | ||
| 13594 | -1e71, -1e70, -1e69, -1e68, -1e67, -1e66, -1e65, -1e64, | ||
| 13595 | }); | ||
| 13596 | try testArgs(@Vector(16, f64), @Vector(16, i256), .{ | ||
| 13597 | -1e63, -1e62, -1e61, -1e60, -1e59, -1e58, -1e57, -1e56, | ||
| 13598 | -1e55, -1e54, -1e53, -1e52, -1e51, -1e50, -1e49, -1e48, | ||
| 13599 | }); | ||
| 13600 | try testArgs(@Vector(32, f64), @Vector(32, i256), .{ | ||
| 13601 | -1e47, -1e46, -1e45, -1e44, -1e43, -1e42, -1e41, -1e40, | ||
| 13602 | -1e39, -1e38, -1e37, -1e36, -1e35, -1e34, -1e33, -1e32, | ||
| 13603 | -1e31, -1e30, -1e29, -1e28, -1e27, -1e26, -1e25, -1e24, | ||
| 13604 | -1e23, -1e22, -1e21, -1e20, -1e19, -1e18, -1e17, -1e16, | ||
| 13605 | }); | ||
| 13606 | try testArgs(@Vector(64, f64), @Vector(64, i256), .{ | ||
| 13607 | -1e15, -1e14, -1e13, -1e12, -1e11, -1e10, -1e9, -1e8, | ||
| 13608 | -1e7, -1e6, -1e5, -1e4, -1e3, -1e2, -1e1, -1e0, | ||
| 13609 | 0, 1e0, 1e1, 1e2, 1e3, 1e4, 1e5, 1e6, | ||
| 13610 | 1e7, 1e8, 1e9, 1e10, 1e11, 1e12, 1e13, 1e14, | ||
| 13611 | 1e15, 1e16, 1e17, 1e18, 1e19, 1e20, 1e21, 1e22, | ||
| 13612 | 1e23, 1e24, 1e25, 1e26, 1e27, 1e28, 1e29, 1e30, | ||
| 13613 | 1e31, 1e32, 1e33, 1e34, 1e35, 1e36, 1e37, 1e38, | ||
| 13614 | 1e39, 1e40, 1e41, 1e42, 1e43, 1e44, 1e45, 1e46, | ||
| 13615 | }); | ||
| 13616 | try testArgs(@Vector(128, f64), @Vector(128, i256), .{ | ||
| 13617 | 1e47, 1e48, 1e49, 1e50, 1e51, 1e52, 1e53, 1e54, | ||
| 13618 | 1e55, 1e56, 1e57, 1e58, 1e59, 1e60, 1e61, 1e62, | ||
| 13619 | 1e63, 1e64, 1e65, 1e66, 1e67, 1e68, 1e69, 1e70, | ||
| 13620 | 1e71, 1e72, 1e73, 1e74, 1e75, 1e76, imax(i256) - 1, imax(i256), | ||
| 13621 | imin(i256) + 2, imin(i256) + 3, -2e76, -2e75, -2e74, -2e73, -2e72, -2e71, | ||
| 13622 | -2e70, -2e69, -2e68, -2e67, -2e66, -2e65, -2e64, -2e63, | ||
| 13623 | -2e62, -2e61, -2e60, -2e59, -2e58, -2e57, -2e56, -2e55, | ||
| 13624 | -2e54, -2e53, -2e52, -2e51, -2e50, -2e49, -2e48, -2e47, | ||
| 13625 | -2e46, -2e45, -2e44, -2e43, -2e42, -2e41, -2e40, -2e39, | ||
| 13626 | -2e38, -2e37, -2e36, -2e35, -2e34, -2e33, -2e32, -2e31, | ||
| 13627 | -2e30, -2e29, -2e28, -2e27, -2e26, -2e25, -2e24, -2e23, | ||
| 13628 | -2e22, -2e21, -2e20, -2e19, -2e18, -2e17, -2e16, -2e15, | ||
| 13629 | -2e14, -2e13, -2e12, -2e11, -2e10, -2e9, -2e8, -2e7, | ||
| 13630 | -2e6, -2e5, -2e4, -2e3, -2e2, -2e1, -2e0, 2e0, | ||
| 13631 | 2e1, 2e2, 2e3, 2e4, 2e5, 2e6, 2e7, 2e8, | ||
| 13632 | 2e9, 2e10, 2e11, 2e12, 2e13, 2e14, 2e15, 2e16, | ||
| 13633 | }); | ||
| 13634 | |||
| 13635 | try testArgs(@Vector(1, f64), @Vector(1, u256), .{ | ||
| 13636 | 0, | ||
| 13637 | }); | ||
| 13638 | try testArgs(@Vector(2, f64), @Vector(2, u256), .{ | ||
| 13639 | 1e0, 1e1, | ||
| 13640 | }); | ||
| 13641 | try testArgs(@Vector(4, f64), @Vector(4, u256), .{ | ||
| 13642 | 1e2, 1e3, 1e4, 1e5, | ||
| 13643 | }); | ||
| 13644 | try testArgs(@Vector(8, f64), @Vector(8, u256), .{ | ||
| 13645 | 1e6, 1e7, 1e8, 1e9, 1e10, 1e11, 1e12, 1e13, | ||
| 13646 | }); | ||
| 13647 | try testArgs(@Vector(16, f64), @Vector(16, u256), .{ | ||
| 13648 | 1e14, 1e15, 1e16, 1e17, 1e18, 1e19, 1e20, 1e21, | ||
| 13649 | 1e22, 1e23, 1e24, 1e25, 1e26, 1e27, 1e28, 1e29, | ||
| 13650 | }); | ||
| 13651 | try testArgs(@Vector(32, f64), @Vector(32, u256), .{ | ||
| 13652 | 1e30, 1e31, 1e32, 1e33, 1e34, 1e35, 1e36, 1e37, | ||
| 13653 | 1e38, 1e39, 1e40, 1e41, 1e42, 1e43, 1e44, 1e45, | ||
| 13654 | 1e46, 1e47, 1e48, 1e49, 1e50, 1e51, 1e52, 1e53, | ||
| 13655 | 1e54, 1e55, 1e56, 1e57, 1e58, 1e59, 1e60, 1e61, | ||
| 13656 | }); | ||
| 13657 | try testArgs(@Vector(64, f64), @Vector(64, u256), .{ | ||
| 13658 | 1e62, 1e63, 1e64, 1e65, 1e66, 1e67, 1e68, 1e69, | ||
| 13659 | 1e70, 1e71, 1e72, 1e73, 1e74, 1e75, 1e76, 1e77, | ||
| 13660 | imax(u256) - 1, imax(u256), 2e0, 2e1, 2e2, 2e3, 2e4, 2e5, | ||
| 13661 | 2e6, 2e7, 2e8, 2e9, 2e10, 2e11, 2e12, 2e13, | ||
| 13662 | 2e14, 2e15, 2e16, 2e17, 2e18, 2e19, 2e20, 2e21, | ||
| 13663 | 2e22, 2e23, 2e24, 2e25, 2e26, 2e27, 2e28, 2e29, | ||
| 13664 | 2e30, 2e31, 2e32, 2e33, 2e34, 2e35, 2e36, 2e37, | ||
| 13665 | 2e38, 2e39, 2e40, 2e41, 2e42, 2e43, 2e44, 2e45, | ||
| 13666 | }); | ||
| 13667 | try testArgs(@Vector(128, f64), @Vector(128, u256), .{ | ||
| 13668 | 2e46, 2e47, 2e48, 2e49, 2e50, 2e51, 2e52, 2e53, | ||
| 13669 | 2e54, 2e55, 2e56, 2e57, 2e58, 2e59, 2e60, 2e61, | ||
| 13670 | 2e62, 2e63, 2e64, 2e65, 2e66, 2e67, 2e68, 2e69, | ||
| 13671 | 2e70, 2e71, 2e72, 2e73, 2e74, 2e75, 2e76, imax(u256) - 3, | ||
| 13672 | imax(u256) - 2, 3e0, 3e1, 3e2, 3e3, 3e4, 3e5, 3e6, | ||
| 13673 | 3e7, 3e8, 3e9, 3e10, 3e11, 3e12, 3e13, 3e14, | ||
| 13674 | 3e15, 3e16, 3e17, 3e18, 3e19, 3e20, 3e21, 3e22, | ||
| 13675 | 3e23, 3e24, 3e25, 3e26, 3e27, 3e28, 3e29, 3e30, | ||
| 13676 | 3e31, 3e32, 3e33, 3e34, 3e35, 3e36, 3e37, 3e38, | ||
| 13677 | 3e39, 3e40, 3e41, 3e42, 3e43, 3e44, 3e45, 3e46, | ||
| 13678 | 3e47, 3e48, 3e49, 3e50, 3e51, 3e52, 3e53, 3e54, | ||
| 13679 | 3e55, 3e56, 3e57, 3e58, 3e59, 3e60, 3e61, 3e62, | ||
| 13680 | 3e63, 3e64, 3e65, 3e66, 3e67, 3e68, 3e69, 3e70, | ||
| 13681 | 3e71, 3e72, 3e73, 3e74, 3e75, 3e76, imax(u256) - 5, imax(u256) - 4, | ||
| 13682 | 4e0, 4e1, 4e2, 4e3, 4e4, 4e5, 4e6, 4e7, | ||
| 13683 | 4e8, 4e9, 4e10, 4e11, 4e12, 4e13, 4e14, 4e15, | ||
| 13684 | }); | ||
| 13685 | |||
| 13686 | try testArgs(@Vector(1, f80), @Vector(1, i8), .{ | ||
| 13687 | imin(i8), | ||
| 13688 | }); | ||
| 13689 | try testArgs(@Vector(2, f80), @Vector(2, i8), .{ | ||
| 13690 | imin(i8) + 1, -1e2, | ||
| 13691 | }); | ||
| 13692 | try testArgs(@Vector(4, f80), @Vector(4, i8), .{ | ||
| 13693 | -1e1, -1e0, 0, 1e0, | ||
| 13694 | }); | ||
| 13695 | try testArgs(@Vector(8, f80), @Vector(8, i8), .{ | ||
| 13696 | 1e1, 1e2, imax(i8) - 1, imax(i8), imin(i8) + 2, imin(i8) + 3, -2e1, -2e0, | ||
| 13697 | }); | ||
| 13698 | try testArgs(@Vector(16, f80), @Vector(16, i8), .{ | ||
| 13699 | 2e0, 2e1, imax(i8) - 3, imax(i8) - 2, imin(i8) + 4, imin(i8) + 5, -3e1, -3e0, | ||
| 13700 | 3e0, 3e1, imax(i8) - 5, imax(i8) - 4, imin(i8) + 6, imin(i8) + 7, -4e1, -4e0, | ||
| 13701 | }); | ||
| 13702 | try testArgs(@Vector(32, f80), @Vector(32, i8), .{ | ||
| 13703 | 4e0, 4e1, imax(i8) - 7, imax(i8) - 6, imin(i8) + 8, imin(i8) + 9, -5e1, -5e0, | ||
| 13704 | 5e0, 5e1, imax(i8) - 9, imax(i8) - 8, imin(i8) + 10, imin(i8) + 11, -6e1, -6e0, | ||
| 13705 | 6e0, 6e1, imax(i8) - 11, imax(i8) - 10, imin(i8) + 12, imin(i8) + 13, -7e1, -7e0, | ||
| 13706 | 7e0, 7e1, imax(i8) - 13, imax(i8) - 12, imin(i8) + 14, imin(i8) + 15, -8e1, -8e0, | ||
| 13707 | }); | ||
| 13708 | try testArgs(@Vector(64, f80), @Vector(64, i8), .{ | ||
| 13709 | 8e0, 8e1, imax(i8) - 15, imax(i8) - 14, imin(i8) + 16, imin(i8) + 17, -9e1, -9e0, | ||
| 13710 | 9e0, 9e1, imax(i8) - 17, imax(i8) - 16, imin(i8) + 18, imin(i8) + 19, -11e1, -11e0, | ||
| 13711 | 11e0, 11e1, imax(i8) - 19, imax(i8) - 18, imin(i8) + 20, imin(i8) + 21, -12e1, -12e0, | ||
| 13712 | 12e0, 12e1, imax(i8) - 21, imax(i8) - 20, imin(i8) + 22, imin(i8) + 23, -13e0, 13e0, | ||
| 13713 | imax(i8) - 23, imax(i8) - 22, imin(i8) + 24, imin(i8) + 25, -14e0, 14e0, imax(i8) - 25, imax(i8) - 24, | ||
| 13714 | imin(i8) + 26, imin(i8) + 27, -15e0, 15e0, imax(i8) - 27, imax(i8) - 26, imin(i8) + 28, imin(i8) + 29, | ||
| 13715 | -16e0, 16e0, imax(i8) - 29, imax(i8) - 28, imin(i8) + 30, imin(i8) + 31, -17e0, 17e0, | ||
| 13716 | imax(i8) - 31, imax(i8) - 30, imin(i8) + 32, imin(i8) + 33, -18e0, 18e0, imax(i8) - 33, imax(i8) - 32, | ||
| 13717 | }); | ||
| 13718 | |||
| 13719 | try testArgs(@Vector(1, f80), @Vector(1, u8), .{ | ||
| 13720 | 0, | ||
| 13721 | }); | ||
| 13722 | try testArgs(@Vector(2, f80), @Vector(2, u8), .{ | ||
| 13723 | 1e0, 1e1, | ||
| 13724 | }); | ||
| 13725 | try testArgs(@Vector(4, f80), @Vector(4, u8), .{ | ||
| 13726 | 1e2, imax(u8) - 1, imax(u8), 2e0, | ||
| 13727 | }); | ||
| 13728 | try testArgs(@Vector(8, f80), @Vector(8, u8), .{ | ||
| 13729 | 2e1, 2e2, imax(u8) - 3, imax(u8) - 2, 3e0, 3e1, imax(u8) - 5, imax(u8) - 4, | ||
| 13730 | }); | ||
| 13731 | try testArgs(@Vector(16, f80), @Vector(16, u8), .{ | ||
| 13732 | imax(u8) - 7, imax(u8) - 6, 5e0, 5e1, imax(u8) - 9, imax(u8) - 8, 6e0, 6e1, | ||
| 13733 | imax(u8) - 11, imax(u8) - 10, 7e0, 7e1, imax(u8) - 13, imax(u8) - 12, 8e0, 8e1, | ||
| 13734 | }); | ||
| 13735 | try testArgs(@Vector(32, f80), @Vector(32, u8), .{ | ||
| 13736 | imax(u8) - 15, imax(u8) - 14, 9e0, 9e1, imax(u8) - 17, imax(u8) - 16, 11e0, 11e1, | ||
| 13737 | imax(u8) - 19, imax(u8) - 18, 12e0, 12e1, imax(u8) - 21, imax(u8) - 20, 13e0, 13e1, | ||
| 13738 | imax(u8) - 23, imax(u8) - 22, 14e0, 14e1, imax(u8) - 25, imax(u8) - 24, 15e0, 15e1, | ||
| 13739 | imax(u8) - 27, imax(u8) - 26, 16e0, 16e1, imax(u8) - 29, imax(u8) - 28, 17e0, 17e1, | ||
| 13740 | }); | ||
| 13741 | try testArgs(@Vector(64, f80), @Vector(64, u8), .{ | ||
| 13742 | imax(u8) - 31, imax(u8) - 30, 18e0, 18e1, imax(u8) - 33, imax(u8) - 32, 19e0, 19e1, | ||
| 13743 | imax(u8) - 35, imax(u8) - 34, 21e0, 21e1, imax(u8) - 37, imax(u8) - 36, 22e0, 22e1, | ||
| 13744 | imax(u8) - 39, imax(u8) - 38, 23e0, 23e1, imax(u8) - 41, imax(u8) - 40, 24e0, 24e1, | ||
| 13745 | imax(u8) - 43, imax(u8) - 42, 25e0, 25e1, imax(u8) - 45, imax(u8) - 44, 26e0, imax(u8) - 47, | ||
| 13746 | imax(u8) - 46, 27e0, imax(u8) - 49, imax(u8) - 48, 28e0, imax(u8) - 51, imax(u8) - 50, 29e0, | ||
| 13747 | imax(u8) - 53, imax(u8) - 52, 31e0, imax(u8) - 55, imax(u8) - 54, 32e0, imax(u8) - 57, imax(u8) - 56, | ||
| 13748 | 33e0, imax(u8) - 59, imax(u8) - 58, 34e0, imax(u8) - 61, imax(u8) - 60, 35e0, imax(u8) - 63, | ||
| 13749 | imax(u8) - 62, 36e0, imax(u8) - 65, imax(u8) - 64, 37e0, imax(u8) - 67, imax(u8) - 66, 38e0, | ||
| 13750 | }); | ||
| 13751 | |||
| 13752 | try testArgs(@Vector(1, f80), @Vector(1, i16), .{ | ||
| 13753 | imin(i16), | ||
| 13754 | }); | ||
| 13755 | try testArgs(@Vector(2, f80), @Vector(2, i16), .{ | ||
| 13756 | imin(i16) + 1, -1e4, | ||
| 13757 | }); | ||
| 13758 | try testArgs(@Vector(4, f80), @Vector(4, i16), .{ | ||
| 13759 | -1e3, -1e2, -1e1, -1e0, | ||
| 13760 | }); | ||
| 13761 | try testArgs(@Vector(8, f80), @Vector(8, i16), .{ | ||
| 13762 | 0, 1e0, 1e1, 1e2, 1e3, 1e4, imax(i16) - 1, imax(i16), | ||
| 13763 | }); | ||
| 13764 | try testArgs(@Vector(16, f80), @Vector(16, i16), .{ | ||
| 13765 | imin(i16) + 2, imin(i16) + 3, -2e4, -2e3, -2e2, -2e1, -2e0, 2e0, | ||
| 13766 | 2e1, 2e2, 2e3, 2e4, imax(i16) - 3, imax(i16) - 2, imin(i16) + 4, imin(i16) + 5, | ||
| 13767 | }); | ||
| 13768 | try testArgs(@Vector(32, f80), @Vector(32, i16), .{ | ||
| 13769 | -3e4, -3e3, -3e2, -3e1, -3e0, 3e0, 3e1, 3e2, | ||
| 13770 | 3e3, 3e4, imax(i16) - 5, imax(i16) - 4, imin(i16) + 6, imin(i16) + 7, -4e3, -4e2, | ||
| 13771 | -4e1, -4e0, 4e0, 4e1, 4e2, 4e3, imax(i16) - 7, imax(i16) - 6, | ||
| 13772 | imin(i16) + 8, imin(i16) + 9, -5e3, -5e2, -5e1, -5e0, 5e0, 5e1, | ||
| 13773 | }); | ||
| 13774 | try testArgs(@Vector(64, f80), @Vector(64, i16), .{ | ||
| 13775 | 5e2, 5e3, imax(i16) - 9, imax(i16) - 8, imin(i16) + 10, imin(i16) + 11, -6e3, -6e2, | ||
| 13776 | -6e1, -6e0, 6e0, 6e1, 6e2, 6e3, imax(i16) - 11, imax(i16) - 10, | ||
| 13777 | imin(i16) + 12, imin(i16) + 13, -7e3, -7e2, -7e1, -7e0, 7e0, 7e1, | ||
| 13778 | 7e2, 7e3, imax(i16) - 13, imax(i16) - 12, imin(i16) + 14, imin(i16) + 15, -8e3, -8e2, | ||
| 13779 | -8e1, -8e0, 8e0, 8e1, 8e2, 8e3, imax(i16) - 15, imax(i16) - 14, | ||
| 13780 | imin(i16) + 16, imin(i16) + 17, -9e3, -9e2, -9e1, -9e0, 9e0, 9e1, | ||
| 13781 | 9e2, 9e3, imax(i16) - 17, imax(i16) - 16, imin(i16) + 18, imin(i16) + 19, -11e3, -11e2, | ||
| 13782 | -11e1, -11e0, 11e0, 11e1, 11e2, 11e3, imax(i16) - 19, imax(i16) - 18, | ||
| 13783 | }); | ||
| 13784 | |||
| 13785 | try testArgs(@Vector(1, f80), @Vector(1, u16), .{ | ||
| 13786 | 0, | ||
| 13787 | }); | ||
| 13788 | try testArgs(@Vector(2, f80), @Vector(2, u16), .{ | ||
| 13789 | 1e0, 1e1, | ||
| 13790 | }); | ||
| 13791 | try testArgs(@Vector(4, f80), @Vector(4, u16), .{ | ||
| 13792 | 1e2, 1e3, 1e4, imax(u16) - 1, | ||
| 13793 | }); | ||
| 13794 | try testArgs(@Vector(8, f80), @Vector(8, u16), .{ | ||
| 13795 | imax(u16), 2e0, 2e1, 2e2, 2e3, 2e4, imax(u16) - 3, imax(u16) - 2, | ||
| 13796 | }); | ||
| 13797 | try testArgs(@Vector(16, f80), @Vector(16, u16), .{ | ||
| 13798 | 3e0, 3e1, 3e2, 3e3, 3e4, imax(u16) - 5, imax(u16) - 4, 4e0, | ||
| 13799 | 4e1, 4e2, 4e3, 4e4, imax(u16) - 7, imax(u16) - 6, 5e0, 5e1, | ||
| 13800 | }); | ||
| 13801 | try testArgs(@Vector(32, f80), @Vector(32, u16), .{ | ||
| 13802 | 5e2, 5e3, 5e4, imax(u16) - 9, imax(u16) - 8, 6e0, 6e1, 6e2, | ||
| 13803 | 6e3, 6e4, imax(u16) - 11, imax(u16) - 10, 7e0, 7e1, 7e2, 7e3, | ||
| 13804 | imax(u16) - 13, imax(u16) - 12, 8e0, 8e1, 8e2, 8e3, imax(u16) - 15, imax(u16) - 14, | ||
| 13805 | 9e0, 9e1, 9e2, 9e3, imax(u16) - 17, imax(u16) - 16, 11e0, 11e1, | ||
| 13806 | }); | ||
| 13807 | try testArgs(@Vector(64, f80), @Vector(64, u16), .{ | ||
| 13808 | 11e2, 11e3, imax(u16) - 19, imax(u16) - 18, 12e0, 12e1, 12e2, 12e3, | ||
| 13809 | imax(u16) - 21, imax(u16) - 20, 13e0, 13e1, 13e2, 13e3, imax(u16) - 23, imax(u16) - 22, | ||
| 13810 | 14e0, 14e1, 14e2, 14e3, imax(u16) - 25, imax(u16) - 24, 15e0, 15e1, | ||
| 13811 | 15e2, 15e3, imax(u16) - 27, imax(u16) - 26, 16e0, 16e1, 16e2, 16e3, | ||
| 13812 | imax(u16) - 29, imax(u16) - 28, 17e0, 17e1, 17e2, 17e3, imax(u16) - 31, imax(u16) - 30, | ||
| 13813 | 18e0, 18e1, 18e2, 18e3, imax(u16) - 33, imax(u16) - 32, 19e0, 19e1, | ||
| 13814 | 19e2, 19e3, imax(u16) - 35, imax(u16) - 34, 21e0, 21e1, 21e2, 21e3, | ||
| 13815 | imax(u16) - 37, imax(u16) - 36, 22e0, 22e1, 22e2, 22e3, imax(u16) - 39, imax(u16) - 38, | ||
| 13816 | }); | ||
| 13817 | |||
| 13818 | try testArgs(@Vector(1, f80), @Vector(1, i32), .{ | ||
| 13819 | imin(i32), | ||
| 13820 | }); | ||
| 13821 | try testArgs(@Vector(2, f80), @Vector(2, i32), .{ | ||
| 13822 | imin(i32) + 1, -1e9, | ||
| 13823 | }); | ||
| 13824 | try testArgs(@Vector(4, f80), @Vector(4, i32), .{ | ||
| 13825 | -1e8, -1e7, -1e6, -1e5, | ||
| 13826 | }); | ||
| 13827 | try testArgs(@Vector(8, f80), @Vector(8, i32), .{ | ||
| 13828 | -1e4, -1e3, -1e2, -1e1, -1e0, 0, 1e0, 1e1, | ||
| 13829 | }); | ||
| 13830 | try testArgs(@Vector(16, f80), @Vector(16, i32), .{ | ||
| 13831 | 1e2, 1e3, 1e4, 1e5, 1e6, 1e7, 1e8, 1e9, | ||
| 13832 | imax(i32) - 1, imax(i32), imin(i32) + 2, imin(i32) + 3, -2e9, -2e8, -2e7, -2e6, | ||
| 13833 | }); | ||
| 13834 | try testArgs(@Vector(32, f80), @Vector(32, i32), .{ | ||
| 13835 | -2e5, -2e4, -2e3, -2e2, -2e1, -2e0, 2e0, 2e1, | ||
| 13836 | 2e2, 2e3, 2e4, 2e5, 2e6, 2e7, 2e8, 2e9, | ||
| 13837 | imax(i32) - 3, imax(i32) - 2, imin(i32) + 4, imin(i32) + 5, -3e8, -3e7, -3e6, -3e5, | ||
| 13838 | -3e4, -3e3, -3e2, -3e1, -3e0, 3e0, 3e1, 3e2, | ||
| 13839 | }); | ||
| 13840 | try testArgs(@Vector(64, f80), @Vector(64, i32), .{ | ||
| 13841 | 3e3, 3e4, 3e5, 3e6, 3e7, 3e8, imax(i32) - 5, imax(i32) - 4, | ||
| 13842 | imin(i32) + 6, imin(i32) + 7, -4e8, -4e7, -4e6, -4e5, -4e4, -4e3, | ||
| 13843 | -4e2, -4e1, -4e0, 4e0, 4e1, 4e2, 4e3, 4e4, | ||
| 13844 | 4e5, 4e6, 4e7, 4e8, imax(i32) - 7, imax(i32) - 6, imin(i32) + 8, imin(i32) + 9, | ||
| 13845 | -5e8, -5e7, -5e6, -5e5, -5e4, -5e3, -5e2, -5e1, | ||
| 13846 | -5e0, 5e0, 5e1, 5e2, 5e3, 5e4, 5e5, 5e6, | ||
| 13847 | 5e7, 5e8, imax(i32) - 9, imax(i32) - 8, imin(i32) + 10, imin(i32) + 11, -6e8, -6e7, | ||
| 13848 | -6e6, -6e5, -6e4, -6e3, -6e2, -6e1, -6e0, 6e0, | ||
| 13849 | }); | ||
| 13850 | |||
| 13851 | try testArgs(@Vector(1, f80), @Vector(1, u32), .{ | ||
| 13852 | 0, | ||
| 13853 | }); | ||
| 13854 | try testArgs(@Vector(2, f80), @Vector(2, u32), .{ | ||
| 13855 | 1e0, 1e1, | ||
| 13856 | }); | ||
| 13857 | try testArgs(@Vector(4, f80), @Vector(4, u32), .{ | ||
| 13858 | 1e2, 1e3, 1e4, imax(u32) - 1, | ||
| 13859 | }); | ||
| 13860 | try testArgs(@Vector(8, f80), @Vector(8, u32), .{ | ||
| 13861 | imax(u32), 2e0, 2e1, 2e2, 2e3, 2e4, imax(u32) - 3, imax(u32) - 2, | ||
| 13862 | }); | ||
| 13863 | try testArgs(@Vector(16, f80), @Vector(16, u32), .{ | ||
| 13864 | 3e0, 3e1, 3e2, 3e3, 3e4, imax(u32) - 5, imax(u32) - 4, 4e0, | ||
| 13865 | 4e1, 4e2, 4e3, 4e4, imax(u32) - 7, imax(u32) - 6, 5e0, 5e1, | ||
| 13866 | }); | ||
| 13867 | try testArgs(@Vector(32, f80), @Vector(32, u32), .{ | ||
| 13868 | 5e2, 5e3, 5e4, imax(u32) - 9, imax(u32) - 8, 6e0, 6e1, 6e2, | ||
| 13869 | 6e3, 6e4, imax(u32) - 11, imax(u32) - 10, 7e0, 7e1, 7e2, 7e3, | ||
| 13870 | imax(u32) - 13, imax(u32) - 12, 8e0, 8e1, 8e2, 8e3, imax(u32) - 15, imax(u32) - 14, | ||
| 13871 | 9e0, 9e1, 9e2, 9e3, imax(u32) - 17, imax(u32) - 16, 11e0, 11e1, | ||
| 13872 | }); | ||
| 13873 | try testArgs(@Vector(64, f80), @Vector(64, u32), .{ | ||
| 13874 | 11e2, 11e3, imax(u32) - 19, imax(u32) - 18, 12e0, 12e1, 12e2, 12e3, | ||
| 13875 | imax(u32) - 21, imax(u32) - 20, 13e0, 13e1, 13e2, 13e3, imax(u32) - 23, imax(u32) - 22, | ||
| 13876 | 14e0, 14e1, 14e2, 14e3, imax(u32) - 25, imax(u32) - 24, 15e0, 15e1, | ||
| 13877 | 15e2, 15e3, imax(u32) - 27, imax(u32) - 26, 16e0, 16e1, 16e2, 16e3, | ||
| 13878 | imax(u32) - 29, imax(u32) - 28, 17e0, 17e1, 17e2, 17e3, imax(u32) - 31, imax(u32) - 30, | ||
| 13879 | 18e0, 18e1, 18e2, 18e3, imax(u32) - 33, imax(u32) - 32, 19e0, 19e1, | ||
| 13880 | 19e2, 19e3, imax(u32) - 35, imax(u32) - 34, 21e0, 21e1, 21e2, 21e3, | ||
| 13881 | imax(u32) - 37, imax(u32) - 36, 22e0, 22e1, 22e2, 22e3, imax(u32) - 39, imax(u32) - 38, | ||
| 13882 | }); | ||
| 13883 | |||
| 13884 | try testArgs(@Vector(1, f80), @Vector(1, i64), .{ | ||
| 13885 | imin(i64), | ||
| 13886 | }); | ||
| 13887 | try testArgs(@Vector(2, f80), @Vector(2, i64), .{ | ||
| 13888 | imin(i64) + 1, -1e18, | ||
| 13889 | }); | ||
| 13890 | try testArgs(@Vector(4, f80), @Vector(4, i64), .{ | ||
| 13891 | -1e17, -1e16, -1e15, -1e14, | ||
| 13892 | }); | ||
| 13893 | try testArgs(@Vector(8, f80), @Vector(8, i64), .{ | ||
| 13894 | -1e13, -1e12, -1e11, -1e10, -1e9, -1e8, -1e7, -1e6, | ||
| 13895 | }); | ||
| 13896 | try testArgs(@Vector(16, f80), @Vector(16, i64), .{ | ||
| 13897 | -1e5, -1e4, -1e3, -1e2, -1e1, -1e0, 0, 1e0, | ||
| 13898 | 1e1, 1e2, 1e3, 1e4, 1e5, 1e6, 1e7, 1e8, | ||
| 13899 | }); | ||
| 13900 | try testArgs(@Vector(32, f80), @Vector(32, i64), .{ | ||
| 13901 | 1e9, 1e10, 1e11, 1e12, 1e13, 1e14, 1e15, 1e16, | ||
| 13902 | 1e17, 1e18, imax(i64) - 1, imax(i64), imin(i64) + 2, imin(i64) + 3, -2e18, -2e17, | ||
| 13903 | -2e16, -2e15, -2e14, -2e13, -2e12, -2e11, -2e10, -2e9, | ||
| 13904 | -2e8, -2e7, -2e6, -2e5, -2e4, -2e3, -2e2, -2e1, | ||
| 13905 | }); | ||
| 13906 | try testArgs(@Vector(64, f80), @Vector(64, i64), .{ | ||
| 13907 | -2e0, 2e0, 2e1, 2e2, 2e3, 2e4, 2e5, 2e6, | ||
| 13908 | 2e7, 2e8, 2e9, 2e10, 2e11, 2e12, 2e13, 2e14, | ||
| 13909 | 2e15, 2e16, 2e17, 2e18, imax(i64) - 3, imax(i64) - 2, imin(i64) + 4, imin(i64) + 5, | ||
| 13910 | -3e18, -3e17, -3e16, -3e15, -3e14, -3e13, -3e12, -3e11, | ||
| 13911 | -3e10, -3e9, -3e8, -3e7, -3e6, -3e5, -3e4, -3e3, | ||
| 13912 | -3e2, -3e1, -3e0, 3e0, 3e1, 3e2, 3e3, 3e4, | ||
| 13913 | 3e5, 3e6, 3e7, 3e8, 3e9, 3e10, 3e11, 3e12, | ||
| 13914 | 3e13, 3e14, 3e15, 3e16, 3e17, 3e18, imax(i64) - 5, imax(i64) - 4, | ||
| 13915 | }); | ||
| 13916 | |||
| 13917 | try testArgs(@Vector(1, f80), @Vector(1, u64), .{ | ||
| 13918 | 0, | ||
| 13919 | }); | ||
| 13920 | try testArgs(@Vector(2, f80), @Vector(2, u64), .{ | ||
| 13921 | 1e0, 1e1, | ||
| 13922 | }); | ||
| 13923 | try testArgs(@Vector(4, f80), @Vector(4, u64), .{ | ||
| 13924 | 1e2, 1e3, 1e4, 1e5, | ||
| 13925 | }); | ||
| 13926 | try testArgs(@Vector(8, f80), @Vector(8, u64), .{ | ||
| 13927 | 1e6, 1e7, 1e8, 1e9, 1e10, 1e11, 1e12, 1e13, | ||
| 13928 | }); | ||
| 13929 | try testArgs(@Vector(16, f80), @Vector(16, u64), .{ | ||
| 13930 | 1e14, 1e15, 1e16, 1e17, 1e18, 1e19, imax(u64) - 1, imax(u64), | ||
| 13931 | 2e0, 2e1, 2e2, 2e3, 2e4, 2e5, 2e6, 2e7, | ||
| 13932 | }); | ||
| 13933 | try testArgs(@Vector(32, f80), @Vector(32, u64), .{ | ||
| 13934 | 2e8, 2e9, 2e10, 2e11, 2e12, 2e13, 2e14, 2e15, | ||
| 13935 | 2e16, 2e17, 2e18, imax(u64) - 3, imax(u64) - 2, 3e0, 3e1, 3e2, | ||
| 13936 | 3e3, 3e4, 3e5, 3e6, 3e7, 3e8, 3e9, 3e10, | ||
| 13937 | 3e11, 3e12, 3e13, 3e14, 3e15, 3e16, 3e17, 3e18, | ||
| 13938 | }); | ||
| 13939 | try testArgs(@Vector(64, f80), @Vector(64, u64), .{ | ||
| 13940 | imax(u64) - 5, imax(u64) - 4, 4e0, 4e1, 4e2, 4e3, 4e4, 4e5, | ||
| 13941 | 4e6, 4e7, 4e8, 4e9, 4e10, 4e11, 4e12, 4e13, | ||
| 13942 | 4e14, 4e15, 4e16, 4e17, 4e18, imax(u64) - 7, imax(u64) - 6, 5e0, | ||
| 13943 | 5e1, 5e2, 5e3, 5e4, 5e5, 5e6, 5e7, 5e8, | ||
| 13944 | 5e9, 5e10, 5e11, 5e12, 5e13, 5e14, 5e15, 5e16, | ||
| 13945 | 5e17, 5e18, imax(u64) - 9, imax(u64) - 8, 6e0, 6e1, 6e2, 6e3, | ||
| 13946 | 6e4, 6e5, 6e6, 6e7, 6e8, 6e9, 6e10, 6e11, | ||
| 13947 | 6e12, 6e13, 6e14, 6e15, 6e16, 6e17, 6e18, imax(u64) - 11, | ||
| 13948 | }); | ||
| 13949 | |||
| 13950 | try testArgs(@Vector(1, f80), @Vector(1, i128), .{ | ||
| 13951 | imin(i128), | ||
| 13952 | }); | ||
| 13953 | try testArgs(@Vector(2, f80), @Vector(2, i128), .{ | ||
| 13954 | imin(i128) + 1, -1e38, | ||
| 13955 | }); | ||
| 13956 | try testArgs(@Vector(4, f80), @Vector(4, i128), .{ | ||
| 13957 | -1e37, -1e36, -1e35, -1e34, | ||
| 13958 | }); | ||
| 13959 | try testArgs(@Vector(8, f80), @Vector(8, i128), .{ | ||
| 13960 | -1e33, -1e32, -1e31, -1e30, -1e29, -1e28, -1e27, -1e26, | ||
| 13961 | }); | ||
| 13962 | try testArgs(@Vector(16, f80), @Vector(16, i128), .{ | ||
| 13963 | -1e25, -1e24, -1e23, -1e22, -1e21, -1e20, -1e19, -1e18, | ||
| 13964 | -1e17, -1e16, -1e15, -1e14, -1e13, -1e12, -1e11, -1e10, | ||
| 13965 | }); | ||
| 13966 | try testArgs(@Vector(32, f80), @Vector(32, i128), .{ | ||
| 13967 | -1e9, -1e8, -1e7, -1e6, -1e5, -1e4, -1e3, -1e2, | ||
| 13968 | -1e1, -1e0, 0, 1e0, 1e1, 1e2, 1e3, 1e4, | ||
| 13969 | 1e5, 1e6, 1e7, 1e8, 1e9, 1e10, 1e11, 1e12, | ||
| 13970 | 1e13, 1e14, 1e15, 1e16, 1e17, 1e18, 1e19, 1e20, | ||
| 13971 | }); | ||
| 13972 | try testArgs(@Vector(64, f80), @Vector(64, i128), .{ | ||
| 13973 | 1e21, 1e22, 1e23, 1e24, 1e25, 1e26, 1e27, 1e28, | ||
| 13974 | 1e29, 1e30, 1e31, 1e32, 1e33, 1e34, 1e35, 1e36, | ||
| 13975 | 1e37, 1e38, imax(i128) - 1, imax(i128), imin(i128) + 2, imin(i128) + 3, -2e37, -2e36, | ||
| 13976 | -2e35, -2e34, -2e33, -2e32, -2e31, -2e30, -2e29, -2e28, | ||
| 13977 | -2e27, -2e26, -2e25, -2e24, -2e23, -2e22, -2e21, -2e20, | ||
| 13978 | -2e19, -2e18, -2e17, -2e16, -2e15, -2e14, -2e13, -2e12, | ||
| 13979 | -2e11, -2e10, -2e9, -2e8, -2e7, -2e6, -2e5, -2e4, | ||
| 13980 | -2e3, -2e2, -2e1, -2e0, 2e0, 2e1, 2e2, 2e3, | ||
| 13981 | }); | ||
| 13982 | |||
| 13983 | try testArgs(@Vector(1, f80), @Vector(1, u128), .{ | ||
| 13984 | 0, | ||
| 13985 | }); | ||
| 13986 | try testArgs(@Vector(2, f80), @Vector(2, u128), .{ | ||
| 13987 | 1e0, 1e1, | ||
| 13988 | }); | ||
| 13989 | try testArgs(@Vector(4, f80), @Vector(4, u128), .{ | ||
| 13990 | 1e2, 1e3, 1e4, 1e5, | ||
| 13991 | }); | ||
| 13992 | try testArgs(@Vector(8, f80), @Vector(8, u128), .{ | ||
| 13993 | 1e6, 1e7, 1e8, 1e9, 1e10, 1e11, 1e12, 1e13, | ||
| 13994 | }); | ||
| 13995 | try testArgs(@Vector(16, f80), @Vector(16, u128), .{ | ||
| 13996 | 1e14, 1e15, 1e16, 1e17, 1e18, 1e19, 1e20, 1e21, | ||
| 13997 | 1e22, 1e23, 1e24, 1e25, 1e26, 1e27, 1e28, 1e29, | ||
| 13998 | }); | ||
| 13999 | try testArgs(@Vector(32, f80), @Vector(32, u128), .{ | ||
| 14000 | 1e30, 1e31, 1e32, 1e33, 1e34, 1e35, 1e36, 1e37, | ||
| 14001 | 1e38, imax(u128) - 1, imax(u128), 2e0, 2e1, 2e2, 2e3, 2e4, | ||
| 14002 | 2e5, 2e6, 2e7, 2e8, 2e9, 2e10, 2e11, 2e12, | ||
| 14003 | 2e13, 2e14, 2e15, 2e16, 2e17, 2e18, 2e19, 2e20, | ||
| 14004 | }); | ||
| 14005 | try testArgs(@Vector(64, f80), @Vector(64, u128), .{ | ||
| 14006 | 2e21, 2e22, 2e23, 2e24, 2e25, 2e26, 2e27, 2e28, | ||
| 14007 | 2e29, 2e30, 2e31, 2e32, 2e33, 2e34, 2e35, 2e36, | ||
| 14008 | 2e37, 2e38, imax(u128) - 3, imax(u128) - 2, 3e0, 3e1, 3e2, 3e3, | ||
| 14009 | 3e4, 3e5, 3e6, 3e7, 3e8, 3e9, 3e10, 3e11, | ||
| 14010 | 3e12, 3e13, 3e14, 3e15, 3e16, 3e17, 3e18, 3e19, | ||
| 14011 | 3e20, 3e21, 3e22, 3e23, 3e24, 3e25, 3e26, 3e27, | ||
| 14012 | 3e28, 3e29, 3e30, 3e31, 3e32, 3e33, 3e34, 3e35, | ||
| 14013 | 3e36, 3e37, 3e38, imax(u128) - 5, imax(u128) - 4, 4e0, 4e1, 4e2, | ||
| 14014 | }); | ||
| 14015 | |||
| 14016 | try testArgs(@Vector(1, f80), @Vector(1, i256), .{ | ||
| 14017 | imin(i256), | ||
| 14018 | }); | ||
| 14019 | try testArgs(@Vector(2, f80), @Vector(2, i256), .{ | ||
| 14020 | imin(i256) + 1, -1e76, | ||
| 14021 | }); | ||
| 14022 | try testArgs(@Vector(4, f80), @Vector(4, i256), .{ | ||
| 14023 | -1e75, -1e74, -1e73, -1e72, | ||
| 14024 | }); | ||
| 14025 | try testArgs(@Vector(8, f80), @Vector(8, i256), .{ | ||
| 14026 | -1e71, -1e70, -1e69, -1e68, -1e67, -1e66, -1e65, -1e64, | ||
| 14027 | }); | ||
| 14028 | try testArgs(@Vector(16, f80), @Vector(16, i256), .{ | ||
| 14029 | -1e63, -1e62, -1e61, -1e60, -1e59, -1e58, -1e57, -1e56, | ||
| 14030 | -1e55, -1e54, -1e53, -1e52, -1e51, -1e50, -1e49, -1e48, | ||
| 14031 | }); | ||
| 14032 | try testArgs(@Vector(32, f80), @Vector(32, i256), .{ | ||
| 14033 | -1e47, -1e46, -1e45, -1e44, -1e43, -1e42, -1e41, -1e40, | ||
| 14034 | -1e39, -1e38, -1e37, -1e36, -1e35, -1e34, -1e33, -1e32, | ||
| 14035 | -1e31, -1e30, -1e29, -1e28, -1e27, -1e26, -1e25, -1e24, | ||
| 14036 | -1e23, -1e22, -1e21, -1e20, -1e19, -1e18, -1e17, -1e16, | ||
| 14037 | }); | ||
| 14038 | try testArgs(@Vector(64, f80), @Vector(64, i256), .{ | ||
| 14039 | -1e15, -1e14, -1e13, -1e12, -1e11, -1e10, -1e9, -1e8, | ||
| 14040 | -1e7, -1e6, -1e5, -1e4, -1e3, -1e2, -1e1, -1e0, | ||
| 14041 | 0, 1e0, 1e1, 1e2, 1e3, 1e4, 1e5, 1e6, | ||
| 14042 | 1e7, 1e8, 1e9, 1e10, 1e11, 1e12, 1e13, 1e14, | ||
| 14043 | 1e15, 1e16, 1e17, 1e18, 1e19, 1e20, 1e21, 1e22, | ||
| 14044 | 1e23, 1e24, 1e25, 1e26, 1e27, 1e28, 1e29, 1e30, | ||
| 14045 | 1e31, 1e32, 1e33, 1e34, 1e35, 1e36, 1e37, 1e38, | ||
| 14046 | 1e39, 1e40, 1e41, 1e42, 1e43, 1e44, 1e45, 1e46, | ||
| 14047 | }); | ||
| 14048 | |||
| 14049 | try testArgs(@Vector(1, f80), @Vector(1, u256), .{ | ||
| 14050 | 0, | ||
| 14051 | }); | ||
| 14052 | try testArgs(@Vector(2, f80), @Vector(2, u256), .{ | ||
| 14053 | 1e0, 1e1, | ||
| 14054 | }); | ||
| 14055 | try testArgs(@Vector(4, f80), @Vector(4, u256), .{ | ||
| 14056 | 1e2, 1e3, 1e4, 1e5, | ||
| 14057 | }); | ||
| 14058 | try testArgs(@Vector(8, f80), @Vector(8, u256), .{ | ||
| 14059 | 1e6, 1e7, 1e8, 1e9, 1e10, 1e11, 1e12, 1e13, | ||
| 14060 | }); | ||
| 14061 | try testArgs(@Vector(16, f80), @Vector(16, u256), .{ | ||
| 14062 | 1e14, 1e15, 1e16, 1e17, 1e18, 1e19, 1e20, 1e21, | ||
| 14063 | 1e22, 1e23, 1e24, 1e25, 1e26, 1e27, 1e28, 1e29, | ||
| 14064 | }); | ||
| 14065 | try testArgs(@Vector(32, f80), @Vector(32, u256), .{ | ||
| 14066 | 1e30, 1e31, 1e32, 1e33, 1e34, 1e35, 1e36, 1e37, | ||
| 14067 | 1e38, 1e39, 1e40, 1e41, 1e42, 1e43, 1e44, 1e45, | ||
| 14068 | 1e46, 1e47, 1e48, 1e49, 1e50, 1e51, 1e52, 1e53, | ||
| 14069 | 1e54, 1e55, 1e56, 1e57, 1e58, 1e59, 1e60, 1e61, | ||
| 14070 | }); | ||
| 14071 | try testArgs(@Vector(64, f80), @Vector(64, u256), .{ | ||
| 14072 | 1e62, 1e63, 1e64, 1e65, 1e66, 1e67, 1e68, 1e69, | ||
| 14073 | 1e70, 1e71, 1e72, 1e73, 1e74, 1e75, 1e76, 1e77, | ||
| 14074 | imax(u256) - 1, imax(u256), 2e0, 2e1, 2e2, 2e3, 2e4, 2e5, | ||
| 14075 | 2e6, 2e7, 2e8, 2e9, 2e10, 2e11, 2e12, 2e13, | ||
| 14076 | 2e14, 2e15, 2e16, 2e17, 2e18, 2e19, 2e20, 2e21, | ||
| 14077 | 2e22, 2e23, 2e24, 2e25, 2e26, 2e27, 2e28, 2e29, | ||
| 14078 | 2e30, 2e31, 2e32, 2e33, 2e34, 2e35, 2e36, 2e37, | ||
| 14079 | 2e38, 2e39, 2e40, 2e41, 2e42, 2e43, 2e44, 2e45, | ||
| 14080 | }); | ||
| 14081 | |||
| 14082 | try testArgs(@Vector(1, f128), @Vector(1, i8), .{ | ||
| 14083 | imin(i8), | ||
| 14084 | }); | ||
| 14085 | try testArgs(@Vector(2, f128), @Vector(2, i8), .{ | ||
| 14086 | imin(i8) + 1, -1e2, | ||
| 14087 | }); | ||
| 14088 | try testArgs(@Vector(4, f128), @Vector(4, i8), .{ | ||
| 14089 | -1e1, -1e0, 0, 1e0, | ||
| 14090 | }); | ||
| 14091 | try testArgs(@Vector(8, f128), @Vector(8, i8), .{ | ||
| 14092 | 1e1, 1e2, imax(i8) - 1, imax(i8), imin(i8) + 2, imin(i8) + 3, -2e1, -2e0, | ||
| 14093 | }); | ||
| 14094 | try testArgs(@Vector(16, f128), @Vector(16, i8), .{ | ||
| 14095 | 2e0, 2e1, imax(i8) - 3, imax(i8) - 2, imin(i8) + 4, imin(i8) + 5, -3e1, -3e0, | ||
| 14096 | 3e0, 3e1, imax(i8) - 5, imax(i8) - 4, imin(i8) + 6, imin(i8) + 7, -4e1, -4e0, | ||
| 14097 | }); | ||
| 14098 | try testArgs(@Vector(32, f128), @Vector(32, i8), .{ | ||
| 14099 | 4e0, 4e1, imax(i8) - 7, imax(i8) - 6, imin(i8) + 8, imin(i8) + 9, -5e1, -5e0, | ||
| 14100 | 5e0, 5e1, imax(i8) - 9, imax(i8) - 8, imin(i8) + 10, imin(i8) + 11, -6e1, -6e0, | ||
| 14101 | 6e0, 6e1, imax(i8) - 11, imax(i8) - 10, imin(i8) + 12, imin(i8) + 13, -7e1, -7e0, | ||
| 14102 | 7e0, 7e1, imax(i8) - 13, imax(i8) - 12, imin(i8) + 14, imin(i8) + 15, -8e1, -8e0, | ||
| 14103 | }); | ||
| 14104 | try testArgs(@Vector(64, f128), @Vector(64, i8), .{ | ||
| 14105 | 8e0, 8e1, imax(i8) - 15, imax(i8) - 14, imin(i8) + 16, imin(i8) + 17, -9e1, -9e0, | ||
| 14106 | 9e0, 9e1, imax(i8) - 17, imax(i8) - 16, imin(i8) + 18, imin(i8) + 19, -11e1, -11e0, | ||
| 14107 | 11e0, 11e1, imax(i8) - 19, imax(i8) - 18, imin(i8) + 20, imin(i8) + 21, -12e1, -12e0, | ||
| 14108 | 12e0, 12e1, imax(i8) - 21, imax(i8) - 20, imin(i8) + 22, imin(i8) + 23, -13e0, 13e0, | ||
| 14109 | imax(i8) - 23, imax(i8) - 22, imin(i8) + 24, imin(i8) + 25, -14e0, 14e0, imax(i8) - 25, imax(i8) - 24, | ||
| 14110 | imin(i8) + 26, imin(i8) + 27, -15e0, 15e0, imax(i8) - 27, imax(i8) - 26, imin(i8) + 28, imin(i8) + 29, | ||
| 14111 | -16e0, 16e0, imax(i8) - 29, imax(i8) - 28, imin(i8) + 30, imin(i8) + 31, -17e0, 17e0, | ||
| 14112 | imax(i8) - 31, imax(i8) - 30, imin(i8) + 32, imin(i8) + 33, -18e0, 18e0, imax(i8) - 33, imax(i8) - 32, | ||
| 14113 | }); | ||
| 14114 | |||
| 14115 | try testArgs(@Vector(1, f128), @Vector(1, u8), .{ | ||
| 14116 | 0, | ||
| 14117 | }); | ||
| 14118 | try testArgs(@Vector(2, f128), @Vector(2, u8), .{ | ||
| 14119 | 1e0, 1e1, | ||
| 14120 | }); | ||
| 14121 | try testArgs(@Vector(4, f128), @Vector(4, u8), .{ | ||
| 14122 | 1e2, imax(u8) - 1, imax(u8), 2e0, | ||
| 14123 | }); | ||
| 14124 | try testArgs(@Vector(8, f128), @Vector(8, u8), .{ | ||
| 14125 | 2e1, 2e2, imax(u8) - 3, imax(u8) - 2, 3e0, 3e1, imax(u8) - 5, imax(u8) - 4, | ||
| 14126 | }); | ||
| 14127 | try testArgs(@Vector(16, f128), @Vector(16, u8), .{ | ||
| 14128 | imax(u8) - 7, imax(u8) - 6, 5e0, 5e1, imax(u8) - 9, imax(u8) - 8, 6e0, 6e1, | ||
| 14129 | imax(u8) - 11, imax(u8) - 10, 7e0, 7e1, imax(u8) - 13, imax(u8) - 12, 8e0, 8e1, | ||
| 14130 | }); | ||
| 14131 | try testArgs(@Vector(32, f128), @Vector(32, u8), .{ | ||
| 14132 | imax(u8) - 15, imax(u8) - 14, 9e0, 9e1, imax(u8) - 17, imax(u8) - 16, 11e0, 11e1, | ||
| 14133 | imax(u8) - 19, imax(u8) - 18, 12e0, 12e1, imax(u8) - 21, imax(u8) - 20, 13e0, 13e1, | ||
| 14134 | imax(u8) - 23, imax(u8) - 22, 14e0, 14e1, imax(u8) - 25, imax(u8) - 24, 15e0, 15e1, | ||
| 14135 | imax(u8) - 27, imax(u8) - 26, 16e0, 16e1, imax(u8) - 29, imax(u8) - 28, 17e0, 17e1, | ||
| 14136 | }); | ||
| 14137 | try testArgs(@Vector(64, f128), @Vector(64, u8), .{ | ||
| 14138 | imax(u8) - 31, imax(u8) - 30, 18e0, 18e1, imax(u8) - 33, imax(u8) - 32, 19e0, 19e1, | ||
| 14139 | imax(u8) - 35, imax(u8) - 34, 21e0, 21e1, imax(u8) - 37, imax(u8) - 36, 22e0, 22e1, | ||
| 14140 | imax(u8) - 39, imax(u8) - 38, 23e0, 23e1, imax(u8) - 41, imax(u8) - 40, 24e0, 24e1, | ||
| 14141 | imax(u8) - 43, imax(u8) - 42, 25e0, 25e1, imax(u8) - 45, imax(u8) - 44, 26e0, imax(u8) - 47, | ||
| 14142 | imax(u8) - 46, 27e0, imax(u8) - 49, imax(u8) - 48, 28e0, imax(u8) - 51, imax(u8) - 50, 29e0, | ||
| 14143 | imax(u8) - 53, imax(u8) - 52, 31e0, imax(u8) - 55, imax(u8) - 54, 32e0, imax(u8) - 57, imax(u8) - 56, | ||
| 14144 | 33e0, imax(u8) - 59, imax(u8) - 58, 34e0, imax(u8) - 61, imax(u8) - 60, 35e0, imax(u8) - 63, | ||
| 14145 | imax(u8) - 62, 36e0, imax(u8) - 65, imax(u8) - 64, 37e0, imax(u8) - 67, imax(u8) - 66, 38e0, | ||
| 14146 | }); | ||
| 14147 | |||
| 14148 | try testArgs(@Vector(1, f128), @Vector(1, i16), .{ | ||
| 14149 | imin(i16), | ||
| 14150 | }); | ||
| 14151 | try testArgs(@Vector(2, f128), @Vector(2, i16), .{ | ||
| 14152 | imin(i16) + 1, -1e4, | ||
| 14153 | }); | ||
| 14154 | try testArgs(@Vector(4, f128), @Vector(4, i16), .{ | ||
| 14155 | -1e3, -1e2, -1e1, -1e0, | ||
| 14156 | }); | ||
| 14157 | try testArgs(@Vector(8, f128), @Vector(8, i16), .{ | ||
| 14158 | 0, 1e0, 1e1, 1e2, 1e3, 1e4, imax(i16) - 1, imax(i16), | ||
| 14159 | }); | ||
| 14160 | try testArgs(@Vector(16, f128), @Vector(16, i16), .{ | ||
| 14161 | imin(i16) + 2, imin(i16) + 3, -2e4, -2e3, -2e2, -2e1, -2e0, 2e0, | ||
| 14162 | 2e1, 2e2, 2e3, 2e4, imax(i16) - 3, imax(i16) - 2, imin(i16) + 4, imin(i16) + 5, | ||
| 14163 | }); | ||
| 14164 | try testArgs(@Vector(32, f128), @Vector(32, i16), .{ | ||
| 14165 | -3e4, -3e3, -3e2, -3e1, -3e0, 3e0, 3e1, 3e2, | ||
| 14166 | 3e3, 3e4, imax(i16) - 5, imax(i16) - 4, imin(i16) + 6, imin(i16) + 7, -4e3, -4e2, | ||
| 14167 | -4e1, -4e0, 4e0, 4e1, 4e2, 4e3, imax(i16) - 7, imax(i16) - 6, | ||
| 14168 | imin(i16) + 8, imin(i16) + 9, -5e3, -5e2, -5e1, -5e0, 5e0, 5e1, | ||
| 14169 | }); | ||
| 14170 | try testArgs(@Vector(64, f128), @Vector(64, i16), .{ | ||
| 14171 | 5e2, 5e3, imax(i16) - 9, imax(i16) - 8, imin(i16) + 10, imin(i16) + 11, -6e3, -6e2, | ||
| 14172 | -6e1, -6e0, 6e0, 6e1, 6e2, 6e3, imax(i16) - 11, imax(i16) - 10, | ||
| 14173 | imin(i16) + 12, imin(i16) + 13, -7e3, -7e2, -7e1, -7e0, 7e0, 7e1, | ||
| 14174 | 7e2, 7e3, imax(i16) - 13, imax(i16) - 12, imin(i16) + 14, imin(i16) + 15, -8e3, -8e2, | ||
| 14175 | -8e1, -8e0, 8e0, 8e1, 8e2, 8e3, imax(i16) - 15, imax(i16) - 14, | ||
| 14176 | imin(i16) + 16, imin(i16) + 17, -9e3, -9e2, -9e1, -9e0, 9e0, 9e1, | ||
| 14177 | 9e2, 9e3, imax(i16) - 17, imax(i16) - 16, imin(i16) + 18, imin(i16) + 19, -11e3, -11e2, | ||
| 14178 | -11e1, -11e0, 11e0, 11e1, 11e2, 11e3, imax(i16) - 19, imax(i16) - 18, | ||
| 14179 | }); | ||
| 14180 | |||
| 14181 | try testArgs(@Vector(1, f128), @Vector(1, u16), .{ | ||
| 14182 | 0, | ||
| 14183 | }); | ||
| 14184 | try testArgs(@Vector(2, f128), @Vector(2, u16), .{ | ||
| 14185 | 1e0, 1e1, | ||
| 14186 | }); | ||
| 14187 | try testArgs(@Vector(4, f128), @Vector(4, u16), .{ | ||
| 14188 | 1e2, 1e3, 1e4, imax(u16) - 1, | ||
| 14189 | }); | ||
| 14190 | try testArgs(@Vector(8, f128), @Vector(8, u16), .{ | ||
| 14191 | imax(u16), 2e0, 2e1, 2e2, 2e3, 2e4, imax(u16) - 3, imax(u16) - 2, | ||
| 14192 | }); | ||
| 14193 | try testArgs(@Vector(16, f128), @Vector(16, u16), .{ | ||
| 14194 | 3e0, 3e1, 3e2, 3e3, 3e4, imax(u16) - 5, imax(u16) - 4, 4e0, | ||
| 14195 | 4e1, 4e2, 4e3, 4e4, imax(u16) - 7, imax(u16) - 6, 5e0, 5e1, | ||
| 14196 | }); | ||
| 14197 | try testArgs(@Vector(32, f128), @Vector(32, u16), .{ | ||
| 14198 | 5e2, 5e3, 5e4, imax(u16) - 9, imax(u16) - 8, 6e0, 6e1, 6e2, | ||
| 14199 | 6e3, 6e4, imax(u16) - 11, imax(u16) - 10, 7e0, 7e1, 7e2, 7e3, | ||
| 14200 | imax(u16) - 13, imax(u16) - 12, 8e0, 8e1, 8e2, 8e3, imax(u16) - 15, imax(u16) - 14, | ||
| 14201 | 9e0, 9e1, 9e2, 9e3, imax(u16) - 17, imax(u16) - 16, 11e0, 11e1, | ||
| 14202 | }); | ||
| 14203 | try testArgs(@Vector(64, f128), @Vector(64, u16), .{ | ||
| 14204 | 11e2, 11e3, imax(u16) - 19, imax(u16) - 18, 12e0, 12e1, 12e2, 12e3, | ||
| 14205 | imax(u16) - 21, imax(u16) - 20, 13e0, 13e1, 13e2, 13e3, imax(u16) - 23, imax(u16) - 22, | ||
| 14206 | 14e0, 14e1, 14e2, 14e3, imax(u16) - 25, imax(u16) - 24, 15e0, 15e1, | ||
| 14207 | 15e2, 15e3, imax(u16) - 27, imax(u16) - 26, 16e0, 16e1, 16e2, 16e3, | ||
| 14208 | imax(u16) - 29, imax(u16) - 28, 17e0, 17e1, 17e2, 17e3, imax(u16) - 31, imax(u16) - 30, | ||
| 14209 | 18e0, 18e1, 18e2, 18e3, imax(u16) - 33, imax(u16) - 32, 19e0, 19e1, | ||
| 14210 | 19e2, 19e3, imax(u16) - 35, imax(u16) - 34, 21e0, 21e1, 21e2, 21e3, | ||
| 14211 | imax(u16) - 37, imax(u16) - 36, 22e0, 22e1, 22e2, 22e3, imax(u16) - 39, imax(u16) - 38, | ||
| 14212 | }); | ||
| 14213 | |||
| 14214 | try testArgs(@Vector(1, f128), @Vector(1, i32), .{ | ||
| 14215 | imin(i32), | ||
| 14216 | }); | ||
| 14217 | try testArgs(@Vector(2, f128), @Vector(2, i32), .{ | ||
| 14218 | imin(i32) + 1, -1e9, | ||
| 14219 | }); | ||
| 14220 | try testArgs(@Vector(4, f128), @Vector(4, i32), .{ | ||
| 14221 | -1e8, -1e7, -1e6, -1e5, | ||
| 14222 | }); | ||
| 14223 | try testArgs(@Vector(8, f128), @Vector(8, i32), .{ | ||
| 14224 | -1e4, -1e3, -1e2, -1e1, -1e0, 0, 1e0, 1e1, | ||
| 14225 | }); | ||
| 14226 | try testArgs(@Vector(16, f128), @Vector(16, i32), .{ | ||
| 14227 | 1e2, 1e3, 1e4, 1e5, 1e6, 1e7, 1e8, 1e9, | ||
| 14228 | imax(i32) - 1, imax(i32), imin(i32) + 2, imin(i32) + 3, -2e9, -2e8, -2e7, -2e6, | ||
| 14229 | }); | ||
| 14230 | try testArgs(@Vector(32, f128), @Vector(32, i32), .{ | ||
| 14231 | -2e5, -2e4, -2e3, -2e2, -2e1, -2e0, 2e0, 2e1, | ||
| 14232 | 2e2, 2e3, 2e4, 2e5, 2e6, 2e7, 2e8, 2e9, | ||
| 14233 | imax(i32) - 3, imax(i32) - 2, imin(i32) + 4, imin(i32) + 5, -3e8, -3e7, -3e6, -3e5, | ||
| 14234 | -3e4, -3e3, -3e2, -3e1, -3e0, 3e0, 3e1, 3e2, | ||
| 14235 | }); | ||
| 14236 | try testArgs(@Vector(64, f128), @Vector(64, i32), .{ | ||
| 14237 | 3e3, 3e4, 3e5, 3e6, 3e7, 3e8, imax(i32) - 5, imax(i32) - 4, | ||
| 14238 | imin(i32) + 6, imin(i32) + 7, -4e8, -4e7, -4e6, -4e5, -4e4, -4e3, | ||
| 14239 | -4e2, -4e1, -4e0, 4e0, 4e1, 4e2, 4e3, 4e4, | ||
| 14240 | 4e5, 4e6, 4e7, 4e8, imax(i32) - 7, imax(i32) - 6, imin(i32) + 8, imin(i32) + 9, | ||
| 14241 | -5e8, -5e7, -5e6, -5e5, -5e4, -5e3, -5e2, -5e1, | ||
| 14242 | -5e0, 5e0, 5e1, 5e2, 5e3, 5e4, 5e5, 5e6, | ||
| 14243 | 5e7, 5e8, imax(i32) - 9, imax(i32) - 8, imin(i32) + 10, imin(i32) + 11, -6e8, -6e7, | ||
| 14244 | -6e6, -6e5, -6e4, -6e3, -6e2, -6e1, -6e0, 6e0, | ||
| 14245 | }); | ||
| 14246 | |||
| 14247 | try testArgs(@Vector(1, f128), @Vector(1, u32), .{ | ||
| 14248 | 0, | ||
| 14249 | }); | ||
| 14250 | try testArgs(@Vector(2, f128), @Vector(2, u32), .{ | ||
| 14251 | 1e0, 1e1, | ||
| 14252 | }); | ||
| 14253 | try testArgs(@Vector(4, f128), @Vector(4, u32), .{ | ||
| 14254 | 1e2, 1e3, 1e4, imax(u32) - 1, | ||
| 14255 | }); | ||
| 14256 | try testArgs(@Vector(8, f128), @Vector(8, u32), .{ | ||
| 14257 | imax(u32), 2e0, 2e1, 2e2, 2e3, 2e4, imax(u32) - 3, imax(u32) - 2, | ||
| 14258 | }); | ||
| 14259 | try testArgs(@Vector(16, f128), @Vector(16, u32), .{ | ||
| 14260 | 3e0, 3e1, 3e2, 3e3, 3e4, imax(u32) - 5, imax(u32) - 4, 4e0, | ||
| 14261 | 4e1, 4e2, 4e3, 4e4, imax(u32) - 7, imax(u32) - 6, 5e0, 5e1, | ||
| 14262 | }); | ||
| 14263 | try testArgs(@Vector(32, f128), @Vector(32, u32), .{ | ||
| 14264 | 5e2, 5e3, 5e4, imax(u32) - 9, imax(u32) - 8, 6e0, 6e1, 6e2, | ||
| 14265 | 6e3, 6e4, imax(u32) - 11, imax(u32) - 10, 7e0, 7e1, 7e2, 7e3, | ||
| 14266 | imax(u32) - 13, imax(u32) - 12, 8e0, 8e1, 8e2, 8e3, imax(u32) - 15, imax(u32) - 14, | ||
| 14267 | 9e0, 9e1, 9e2, 9e3, imax(u32) - 17, imax(u32) - 16, 11e0, 11e1, | ||
| 14268 | }); | ||
| 14269 | try testArgs(@Vector(64, f128), @Vector(64, u32), .{ | ||
| 14270 | 11e2, 11e3, imax(u32) - 19, imax(u32) - 18, 12e0, 12e1, 12e2, 12e3, | ||
| 14271 | imax(u32) - 21, imax(u32) - 20, 13e0, 13e1, 13e2, 13e3, imax(u32) - 23, imax(u32) - 22, | ||
| 14272 | 14e0, 14e1, 14e2, 14e3, imax(u32) - 25, imax(u32) - 24, 15e0, 15e1, | ||
| 14273 | 15e2, 15e3, imax(u32) - 27, imax(u32) - 26, 16e0, 16e1, 16e2, 16e3, | ||
| 14274 | imax(u32) - 29, imax(u32) - 28, 17e0, 17e1, 17e2, 17e3, imax(u32) - 31, imax(u32) - 30, | ||
| 14275 | 18e0, 18e1, 18e2, 18e3, imax(u32) - 33, imax(u32) - 32, 19e0, 19e1, | ||
| 14276 | 19e2, 19e3, imax(u32) - 35, imax(u32) - 34, 21e0, 21e1, 21e2, 21e3, | ||
| 14277 | imax(u32) - 37, imax(u32) - 36, 22e0, 22e1, 22e2, 22e3, imax(u32) - 39, imax(u32) - 38, | ||
| 14278 | }); | ||
| 14279 | |||
| 14280 | try testArgs(@Vector(1, f128), @Vector(1, i64), .{ | ||
| 14281 | imin(i64), | ||
| 14282 | }); | ||
| 14283 | try testArgs(@Vector(2, f128), @Vector(2, i64), .{ | ||
| 14284 | imin(i64) + 1, -1e18, | ||
| 14285 | }); | ||
| 14286 | try testArgs(@Vector(4, f128), @Vector(4, i64), .{ | ||
| 14287 | -1e17, -1e16, -1e15, -1e14, | ||
| 14288 | }); | ||
| 14289 | try testArgs(@Vector(8, f128), @Vector(8, i64), .{ | ||
| 14290 | -1e13, -1e12, -1e11, -1e10, -1e9, -1e8, -1e7, -1e6, | ||
| 14291 | }); | ||
| 14292 | try testArgs(@Vector(16, f128), @Vector(16, i64), .{ | ||
| 14293 | -1e5, -1e4, -1e3, -1e2, -1e1, -1e0, 0, 1e0, | ||
| 14294 | 1e1, 1e2, 1e3, 1e4, 1e5, 1e6, 1e7, 1e8, | ||
| 14295 | }); | ||
| 14296 | try testArgs(@Vector(32, f128), @Vector(32, i64), .{ | ||
| 14297 | 1e9, 1e10, 1e11, 1e12, 1e13, 1e14, 1e15, 1e16, | ||
| 14298 | 1e17, 1e18, imax(i64) - 1, imax(i64), imin(i64) + 2, imin(i64) + 3, -2e18, -2e17, | ||
| 14299 | -2e16, -2e15, -2e14, -2e13, -2e12, -2e11, -2e10, -2e9, | ||
| 14300 | -2e8, -2e7, -2e6, -2e5, -2e4, -2e3, -2e2, -2e1, | ||
| 14301 | }); | ||
| 14302 | try testArgs(@Vector(64, f128), @Vector(64, i64), .{ | ||
| 14303 | -2e0, 2e0, 2e1, 2e2, 2e3, 2e4, 2e5, 2e6, | ||
| 14304 | 2e7, 2e8, 2e9, 2e10, 2e11, 2e12, 2e13, 2e14, | ||
| 14305 | 2e15, 2e16, 2e17, 2e18, imax(i64) - 3, imax(i64) - 2, imin(i64) + 4, imin(i64) + 5, | ||
| 14306 | -3e18, -3e17, -3e16, -3e15, -3e14, -3e13, -3e12, -3e11, | ||
| 14307 | -3e10, -3e9, -3e8, -3e7, -3e6, -3e5, -3e4, -3e3, | ||
| 14308 | -3e2, -3e1, -3e0, 3e0, 3e1, 3e2, 3e3, 3e4, | ||
| 14309 | 3e5, 3e6, 3e7, 3e8, 3e9, 3e10, 3e11, 3e12, | ||
| 14310 | 3e13, 3e14, 3e15, 3e16, 3e17, 3e18, imax(i64) - 5, imax(i64) - 4, | ||
| 14311 | }); | ||
| 14312 | |||
| 14313 | try testArgs(@Vector(1, f128), @Vector(1, u64), .{ | ||
| 14314 | 0, | ||
| 14315 | }); | ||
| 14316 | try testArgs(@Vector(2, f128), @Vector(2, u64), .{ | ||
| 14317 | 1e0, 1e1, | ||
| 14318 | }); | ||
| 14319 | try testArgs(@Vector(4, f128), @Vector(4, u64), .{ | ||
| 14320 | 1e2, 1e3, 1e4, 1e5, | ||
| 14321 | }); | ||
| 14322 | try testArgs(@Vector(8, f128), @Vector(8, u64), .{ | ||
| 14323 | 1e6, 1e7, 1e8, 1e9, 1e10, 1e11, 1e12, 1e13, | ||
| 14324 | }); | ||
| 14325 | try testArgs(@Vector(16, f128), @Vector(16, u64), .{ | ||
| 14326 | 1e14, 1e15, 1e16, 1e17, 1e18, 1e19, imax(u64) - 1, imax(u64), | ||
| 14327 | 2e0, 2e1, 2e2, 2e3, 2e4, 2e5, 2e6, 2e7, | ||
| 14328 | }); | ||
| 14329 | try testArgs(@Vector(32, f128), @Vector(32, u64), .{ | ||
| 14330 | 2e8, 2e9, 2e10, 2e11, 2e12, 2e13, 2e14, 2e15, | ||
| 14331 | 2e16, 2e17, 2e18, imax(u64) - 3, imax(u64) - 2, 3e0, 3e1, 3e2, | ||
| 14332 | 3e3, 3e4, 3e5, 3e6, 3e7, 3e8, 3e9, 3e10, | ||
| 14333 | 3e11, 3e12, 3e13, 3e14, 3e15, 3e16, 3e17, 3e18, | ||
| 14334 | }); | ||
| 14335 | try testArgs(@Vector(64, f128), @Vector(64, u64), .{ | ||
| 14336 | imax(u64) - 5, imax(u64) - 4, 4e0, 4e1, 4e2, 4e3, 4e4, 4e5, | ||
| 14337 | 4e6, 4e7, 4e8, 4e9, 4e10, 4e11, 4e12, 4e13, | ||
| 14338 | 4e14, 4e15, 4e16, 4e17, 4e18, imax(u64) - 7, imax(u64) - 6, 5e0, | ||
| 14339 | 5e1, 5e2, 5e3, 5e4, 5e5, 5e6, 5e7, 5e8, | ||
| 14340 | 5e9, 5e10, 5e11, 5e12, 5e13, 5e14, 5e15, 5e16, | ||
| 14341 | 5e17, 5e18, imax(u64) - 9, imax(u64) - 8, 6e0, 6e1, 6e2, 6e3, | ||
| 14342 | 6e4, 6e5, 6e6, 6e7, 6e8, 6e9, 6e10, 6e11, | ||
| 14343 | 6e12, 6e13, 6e14, 6e15, 6e16, 6e17, 6e18, imax(u64) - 11, | ||
| 14344 | }); | ||
| 14345 | |||
| 14346 | try testArgs(@Vector(1, f128), @Vector(1, i128), .{ | ||
| 14347 | imin(i128), | ||
| 14348 | }); | ||
| 14349 | try testArgs(@Vector(2, f128), @Vector(2, i128), .{ | ||
| 14350 | imin(i128) + 1, -1e38, | ||
| 14351 | }); | ||
| 14352 | try testArgs(@Vector(4, f128), @Vector(4, i128), .{ | ||
| 14353 | -1e37, -1e36, -1e35, -1e34, | ||
| 14354 | }); | ||
| 14355 | try testArgs(@Vector(8, f128), @Vector(8, i128), .{ | ||
| 14356 | -1e33, -1e32, -1e31, -1e30, -1e29, -1e28, -1e27, -1e26, | ||
| 14357 | }); | ||
| 14358 | try testArgs(@Vector(16, f128), @Vector(16, i128), .{ | ||
| 14359 | -1e25, -1e24, -1e23, -1e22, -1e21, -1e20, -1e19, -1e18, | ||
| 14360 | -1e17, -1e16, -1e15, -1e14, -1e13, -1e12, -1e11, -1e10, | ||
| 14361 | }); | ||
| 14362 | try testArgs(@Vector(32, f128), @Vector(32, i128), .{ | ||
| 14363 | -1e9, -1e8, -1e7, -1e6, -1e5, -1e4, -1e3, -1e2, | ||
| 14364 | -1e1, -1e0, 0, 1e0, 1e1, 1e2, 1e3, 1e4, | ||
| 14365 | 1e5, 1e6, 1e7, 1e8, 1e9, 1e10, 1e11, 1e12, | ||
| 14366 | 1e13, 1e14, 1e15, 1e16, 1e17, 1e18, 1e19, 1e20, | ||
| 14367 | }); | ||
| 14368 | try testArgs(@Vector(64, f128), @Vector(64, i128), .{ | ||
| 14369 | 1e21, 1e22, 1e23, 1e24, 1e25, 1e26, 1e27, 1e28, | ||
| 14370 | 1e29, 1e30, 1e31, 1e32, 1e33, 1e34, 1e35, 1e36, | ||
| 14371 | 1e37, 1e38, imax(i128) - 1, imax(i128), imin(i128) + 2, imin(i128) + 3, -2e37, -2e36, | ||
| 14372 | -2e35, -2e34, -2e33, -2e32, -2e31, -2e30, -2e29, -2e28, | ||
| 14373 | -2e27, -2e26, -2e25, -2e24, -2e23, -2e22, -2e21, -2e20, | ||
| 14374 | -2e19, -2e18, -2e17, -2e16, -2e15, -2e14, -2e13, -2e12, | ||
| 14375 | -2e11, -2e10, -2e9, -2e8, -2e7, -2e6, -2e5, -2e4, | ||
| 14376 | -2e3, -2e2, -2e1, -2e0, 2e0, 2e1, 2e2, 2e3, | ||
| 14377 | }); | ||
| 14378 | |||
| 14379 | try testArgs(@Vector(1, f128), @Vector(1, u128), .{ | ||
| 14380 | 0, | ||
| 14381 | }); | ||
| 14382 | try testArgs(@Vector(2, f128), @Vector(2, u128), .{ | ||
| 14383 | 1e0, 1e1, | ||
| 14384 | }); | ||
| 14385 | try testArgs(@Vector(4, f128), @Vector(4, u128), .{ | ||
| 14386 | 1e2, 1e3, 1e4, 1e5, | ||
| 14387 | }); | ||
| 14388 | try testArgs(@Vector(8, f128), @Vector(8, u128), .{ | ||
| 14389 | 1e6, 1e7, 1e8, 1e9, 1e10, 1e11, 1e12, 1e13, | ||
| 14390 | }); | ||
| 14391 | try testArgs(@Vector(16, f128), @Vector(16, u128), .{ | ||
| 14392 | 1e14, 1e15, 1e16, 1e17, 1e18, 1e19, 1e20, 1e21, | ||
| 14393 | 1e22, 1e23, 1e24, 1e25, 1e26, 1e27, 1e28, 1e29, | ||
| 14394 | }); | ||
| 14395 | try testArgs(@Vector(32, f128), @Vector(32, u128), .{ | ||
| 14396 | 1e30, 1e31, 1e32, 1e33, 1e34, 1e35, 1e36, 1e37, | ||
| 14397 | 1e38, imax(u128) - 1, imax(u128), 2e0, 2e1, 2e2, 2e3, 2e4, | ||
| 14398 | 2e5, 2e6, 2e7, 2e8, 2e9, 2e10, 2e11, 2e12, | ||
| 14399 | 2e13, 2e14, 2e15, 2e16, 2e17, 2e18, 2e19, 2e20, | ||
| 14400 | }); | ||
| 14401 | try testArgs(@Vector(64, f128), @Vector(64, u128), .{ | ||
| 14402 | 2e21, 2e22, 2e23, 2e24, 2e25, 2e26, 2e27, 2e28, | ||
| 14403 | 2e29, 2e30, 2e31, 2e32, 2e33, 2e34, 2e35, 2e36, | ||
| 14404 | 2e37, 2e38, imax(u128) - 3, imax(u128) - 2, 3e0, 3e1, 3e2, 3e3, | ||
| 14405 | 3e4, 3e5, 3e6, 3e7, 3e8, 3e9, 3e10, 3e11, | ||
| 14406 | 3e12, 3e13, 3e14, 3e15, 3e16, 3e17, 3e18, 3e19, | ||
| 14407 | 3e20, 3e21, 3e22, 3e23, 3e24, 3e25, 3e26, 3e27, | ||
| 14408 | 3e28, 3e29, 3e30, 3e31, 3e32, 3e33, 3e34, 3e35, | ||
| 14409 | 3e36, 3e37, 3e38, imax(u128) - 5, imax(u128) - 4, 4e0, 4e1, 4e2, | ||
| 14410 | }); | ||
| 14411 | |||
| 14412 | try testArgs(@Vector(1, f128), @Vector(1, i256), .{ | ||
| 14413 | imin(i256), | ||
| 14414 | }); | ||
| 14415 | try testArgs(@Vector(2, f128), @Vector(2, i256), .{ | ||
| 14416 | imin(i256) + 1, -1e76, | ||
| 14417 | }); | ||
| 14418 | try testArgs(@Vector(4, f128), @Vector(4, i256), .{ | ||
| 14419 | -1e75, -1e74, -1e73, -1e72, | ||
| 14420 | }); | ||
| 14421 | try testArgs(@Vector(8, f128), @Vector(8, i256), .{ | ||
| 14422 | -1e71, -1e70, -1e69, -1e68, -1e67, -1e66, -1e65, -1e64, | ||
| 14423 | }); | ||
| 14424 | try testArgs(@Vector(16, f128), @Vector(16, i256), .{ | ||
| 14425 | -1e63, -1e62, -1e61, -1e60, -1e59, -1e58, -1e57, -1e56, | ||
| 14426 | -1e55, -1e54, -1e53, -1e52, -1e51, -1e50, -1e49, -1e48, | ||
| 14427 | }); | ||
| 14428 | try testArgs(@Vector(32, f128), @Vector(32, i256), .{ | ||
| 14429 | -1e47, -1e46, -1e45, -1e44, -1e43, -1e42, -1e41, -1e40, | ||
| 14430 | -1e39, -1e38, -1e37, -1e36, -1e35, -1e34, -1e33, -1e32, | ||
| 14431 | -1e31, -1e30, -1e29, -1e28, -1e27, -1e26, -1e25, -1e24, | ||
| 14432 | -1e23, -1e22, -1e21, -1e20, -1e19, -1e18, -1e17, -1e16, | ||
| 14433 | }); | ||
| 14434 | try testArgs(@Vector(64, f128), @Vector(64, i256), .{ | ||
| 14435 | -1e15, -1e14, -1e13, -1e12, -1e11, -1e10, -1e9, -1e8, | ||
| 14436 | -1e7, -1e6, -1e5, -1e4, -1e3, -1e2, -1e1, -1e0, | ||
| 14437 | 0, 1e0, 1e1, 1e2, 1e3, 1e4, 1e5, 1e6, | ||
| 14438 | 1e7, 1e8, 1e9, 1e10, 1e11, 1e12, 1e13, 1e14, | ||
| 14439 | 1e15, 1e16, 1e17, 1e18, 1e19, 1e20, 1e21, 1e22, | ||
| 14440 | 1e23, 1e24, 1e25, 1e26, 1e27, 1e28, 1e29, 1e30, | ||
| 14441 | 1e31, 1e32, 1e33, 1e34, 1e35, 1e36, 1e37, 1e38, | ||
| 14442 | 1e39, 1e40, 1e41, 1e42, 1e43, 1e44, 1e45, 1e46, | ||
| 14443 | }); | ||
| 14444 | |||
| 14445 | try testArgs(@Vector(1, f128), @Vector(1, u256), .{ | ||
| 14446 | 0, | ||
| 14447 | }); | ||
| 14448 | try testArgs(@Vector(2, f128), @Vector(2, u256), .{ | ||
| 14449 | 1e0, 1e1, | ||
| 14450 | }); | ||
| 14451 | try testArgs(@Vector(4, f128), @Vector(4, u256), .{ | ||
| 14452 | 1e2, 1e3, 1e4, 1e5, | ||
| 14453 | }); | ||
| 14454 | try testArgs(@Vector(8, f128), @Vector(8, u256), .{ | ||
| 14455 | 1e6, 1e7, 1e8, 1e9, 1e10, 1e11, 1e12, 1e13, | ||
| 14456 | }); | ||
| 14457 | try testArgs(@Vector(16, f128), @Vector(16, u256), .{ | ||
| 14458 | 1e14, 1e15, 1e16, 1e17, 1e18, 1e19, 1e20, 1e21, | ||
| 14459 | 1e22, 1e23, 1e24, 1e25, 1e26, 1e27, 1e28, 1e29, | ||
| 14460 | }); | ||
| 14461 | try testArgs(@Vector(32, f128), @Vector(32, u256), .{ | ||
| 14462 | 1e30, 1e31, 1e32, 1e33, 1e34, 1e35, 1e36, 1e37, | ||
| 14463 | 1e38, 1e39, 1e40, 1e41, 1e42, 1e43, 1e44, 1e45, | ||
| 14464 | 1e46, 1e47, 1e48, 1e49, 1e50, 1e51, 1e52, 1e53, | ||
| 14465 | 1e54, 1e55, 1e56, 1e57, 1e58, 1e59, 1e60, 1e61, | ||
| 14466 | }); | ||
| 14467 | try testArgs(@Vector(64, f128), @Vector(64, u256), .{ | ||
| 14468 | 1e62, 1e63, 1e64, 1e65, 1e66, 1e67, 1e68, 1e69, | ||
| 14469 | 1e70, 1e71, 1e72, 1e73, 1e74, 1e75, 1e76, 1e77, | ||
| 14470 | imax(u256) - 1, imax(u256), 2e0, 2e1, 2e2, 2e3, 2e4, 2e5, | ||
| 14471 | 2e6, 2e7, 2e8, 2e9, 2e10, 2e11, 2e12, 2e13, | ||
| 14472 | 2e14, 2e15, 2e16, 2e17, 2e18, 2e19, 2e20, 2e21, | ||
| 14473 | 2e22, 2e23, 2e24, 2e25, 2e26, 2e27, 2e28, 2e29, | ||
| 14474 | 2e30, 2e31, 2e32, 2e33, 2e34, 2e35, 2e36, 2e37, | ||
| 14475 | 2e38, 2e39, 2e40, 2e41, 2e42, 2e43, 2e44, 2e45, | ||
| 14476 | }); | ||
| 14477 | } | ||
| 14478 | }; | ||
| 14479 | } | ||
| 14480 | |||
| 14481 | inline fn intCast(comptime Result: type, comptime Type: type, rhs: Type, comptime ct_rhs: Type) Result { | ||
| 14482 | @setRuntimeSafety(false); // TODO | ||
| 14483 | const res_info = switch (@typeInfo(Result)) { | ||
| 14484 | .int => |info| info, | ||
| 14485 | .vector => |info| @typeInfo(info.child).int, | ||
| 14486 | else => @compileError(@typeName(Result)), | ||
| 14487 | }; | ||
| 14488 | const rhs_info = @typeInfo(Scalar(Type)).int; | ||
| 14489 | const min_bits = @min(res_info.bits, rhs_info.bits); | ||
| 14490 | return @intCast(switch (@as(union(enum) { | ||
| 14491 | shift: Log2Int(Scalar(Type)), | ||
| 14492 | mask: Log2IntCeil(Scalar(Type)), | ||
| 14493 | }, switch (res_info.signedness) { | ||
| 14494 | .signed => switch (rhs_info.signedness) { | ||
| 14495 | .signed => .{ .shift = rhs_info.bits - min_bits }, | ||
| 14496 | .unsigned => .{ .mask = min_bits - @intFromBool(res_info.bits <= rhs_info.bits) }, | ||
| 14497 | }, | ||
| 14498 | .unsigned => switch (rhs_info.signedness) { | ||
| 14499 | .signed => .{ .mask = min_bits - @intFromBool(res_info.bits >= rhs_info.bits) }, | ||
| 14500 | .unsigned => .{ .mask = min_bits }, | ||
| 14501 | }, | ||
| 14502 | })) { | ||
| 14503 | // TODO: if (bits == 0) rhs else rhs >> bits, | ||
| 14504 | .shift => |bits| if (bits == 0) rhs else switch (@typeInfo(Type)) { | ||
| 14505 | .int => if (ct_rhs < 0) | ||
| 14506 | rhs | imin(Type) >> bits | ||
| 14507 | else | ||
| 14508 | rhs & imax(Type) >> bits, | ||
| 14509 | .vector => rhs | @select( | ||
| 14510 | Scalar(Type), | ||
| 14511 | ct_rhs < splat(Type, 0), | ||
| 14512 | splat(Type, imin(Scalar(Type)) >> bits), | ||
| 14513 | splat(Type, 0), | ||
| 14514 | ) & ~@select( | ||
| 14515 | Scalar(Type), | ||
| 14516 | ct_rhs >= splat(Type, 0), | ||
| 14517 | splat(Type, imin(Scalar(Type)) >> bits), | ||
| 14518 | splat(Type, 0), | ||
| 14519 | ), | ||
| 14520 | else => comptime unreachable, | ||
| 14521 | }, | ||
| 14522 | .mask => |bits| if (bits == rhs_info.bits) rhs else rhs & splat(Type, (1 << bits) - 1), | ||
| 14523 | }); | ||
| 14524 | } | ||
| 14525 | test intCast { | ||
| 14526 | const test_int_cast = cast(intCast, .{}); | ||
| 14527 | try test_int_cast.testInts(); | ||
| 14528 | try test_int_cast.testIntVectors(); | ||
| 14529 | } | ||
| 14530 | |||
| 14531 | inline fn truncate(comptime Result: type, comptime Type: type, rhs: Type, comptime _: Type) Result { | ||
| 14532 | return if (@typeInfo(Scalar(Result)).int.bits <= @typeInfo(Scalar(Type)).int.bits) @truncate(rhs) else rhs; | ||
| 14533 | } | ||
| 14534 | test truncate { | ||
| 14535 | const test_truncate = cast(truncate, .{}); | ||
| 14536 | try test_truncate.testSameSignednessInts(); | ||
| 14537 | try test_truncate.testSameSignednessIntVectors(); | ||
| 14538 | } | ||
| 14539 | |||
| 14540 | inline fn floatCast(comptime Result: type, comptime Type: type, rhs: Type, comptime _: Type) Result { | ||
| 14541 | return @floatCast(rhs); | ||
| 14542 | } | ||
| 14543 | test floatCast { | ||
| 14544 | const test_float_cast = cast(floatCast, .{ .compare = .strict }); | ||
| 14545 | try test_float_cast.testFloats(); | ||
| 14546 | try test_float_cast.testFloatVectors(); | ||
| 14547 | } | ||
| 14548 | |||
| 14549 | inline fn intFromFloat(comptime Result: type, comptime Type: type, rhs: Type, comptime _: Type) Result { | ||
| 14550 | return @intFromFloat(rhs); | ||
| 14551 | } | ||
| 14552 | test intFromFloat { | ||
| 14553 | const test_int_from_float = cast(intFromFloat, .{ .compare = .strict }); | ||
| 14554 | try test_int_from_float.testIntsFromFloats(); | ||
| 14555 | try test_int_from_float.testIntVectorsFromFloatVectors(); | ||
| 14556 | } | ||
| 14557 | |||
| 14558 | inline fn floatFromInt(comptime Result: type, comptime Type: type, rhs: Type, comptime _: Type) Result { | ||
| 14559 | return @floatFromInt(rhs); | ||
| 14560 | } | ||
| 14561 | test floatFromInt { | ||
| 14562 | const test_float_from_int = cast(floatFromInt, .{ .compare = .strict }); | ||
| 14563 | try test_float_from_int.testFloatsFromInts(); | ||
| 14564 | try test_float_from_int.testFloatVectorsFromIntVectors(); | ||
| 14565 | } | ||
test/behavior/x86_64/math.zig+22-22066| ... | @@ -1,39 +1,36 @@ | ... | @@ -1,39 +1,36 @@ |
| 1 | const builtin = @import("builtin"); | 1 | const builtin = @import("builtin"); |
| 2 | const inf = math.inf; | ||
| 3 | const math = std.math; | 2 | const math = std.math; |
| 4 | const fmax = math.floatMax; | ||
| 5 | const fmin = math.floatMin; | ||
| 6 | const imax = math.maxInt; | ||
| 7 | const imin = math.minInt; | ||
| 8 | const nan = math.nan; | ||
| 9 | const next = math.nextAfter; | ||
| 10 | const std = @import("std"); | 3 | const std = @import("std"); |
| 11 | const tmin = math.floatTrueMin; | ||
| 12 | 4 | ||
| 13 | const Gpr = switch (builtin.cpu.arch) { | 5 | pub const cast = math.cast; |
| 6 | pub const fmax = math.floatMax; | ||
| 7 | pub const fmin = math.floatMin; | ||
| 8 | pub const imax = math.maxInt; | ||
| 9 | pub const imin = math.minInt; | ||
| 10 | pub const inf = math.inf; | ||
| 11 | pub const Log2Int = math.Log2Int; | ||
| 12 | pub const Log2IntCeil = math.Log2IntCeil; | ||
| 13 | pub const nan = math.nan; | ||
| 14 | pub const next = math.nextAfter; | ||
| 15 | pub const tmin = math.floatTrueMin; | ||
| 16 | |||
| 17 | pub const Gpr = switch (builtin.cpu.arch) { | ||
| 14 | else => unreachable, | 18 | else => unreachable, |
| 15 | .x86 => u32, | 19 | .x86 => u32, |
| 16 | .x86_64 => u64, | 20 | .x86_64 => u64, |
| 17 | }; | 21 | }; |
| 18 | const Sse = if (std.Target.x86.featureSetHas(builtin.cpu.features, .avx)) | 22 | pub const Sse = if (std.Target.x86.featureSetHas(builtin.cpu.features, .avx)) |
| 19 | @Vector(32, u8) | 23 | @Vector(32, u8) |
| 20 | else | 24 | else |
| 21 | @Vector(16, u8); | 25 | @Vector(16, u8); |
| 22 | 26 | ||
| 23 | inline fn runtime(comptime Type: type, comptime value: Type) Type { | 27 | pub fn Scalar(comptime Type: type) type { |
| 24 | if (@inComptime()) return value; | ||
| 25 | return struct { | ||
| 26 | var variable: Type = value; | ||
| 27 | }.variable; | ||
| 28 | } | ||
| 29 | |||
| 30 | fn Scalar(comptime Type: type) type { | ||
| 31 | return switch (@typeInfo(Type)) { | 28 | return switch (@typeInfo(Type)) { |
| 32 | else => Type, | 29 | else => Type, |
| 33 | .vector => |info| info.child, | 30 | .vector => |info| info.child, |
| 34 | }; | 31 | }; |
| 35 | } | 32 | } |
| 36 | fn AddOneBit(comptime Type: type) type { | 33 | pub fn AddOneBit(comptime Type: type) type { |
| 37 | const ResultScalar = switch (@typeInfo(Scalar(Type))) { | 34 | const ResultScalar = switch (@typeInfo(Scalar(Type))) { |
| 38 | .int => |int| @Type(.{ .int = .{ .signedness = int.signedness, .bits = 1 + int.bits } }), | 35 | .int => |int| @Type(.{ .int = .{ .signedness = int.signedness, .bits = 1 + int.bits } }), |
| 39 | .float => Scalar(Type), | 36 | .float => Scalar(Type), |
| ... | @@ -44,7 +41,7 @@ fn AddOneBit(comptime Type: type) type { | ... | @@ -44,7 +41,7 @@ fn AddOneBit(comptime Type: type) type { |
| 44 | .vector => |vector| @Vector(vector.len, ResultScalar), | 41 | .vector => |vector| @Vector(vector.len, ResultScalar), |
| 45 | }; | 42 | }; |
| 46 | } | 43 | } |
| 47 | fn DoubleBits(comptime Type: type) type { | 44 | pub fn DoubleBits(comptime Type: type) type { |
| 48 | const ResultScalar = switch (@typeInfo(Scalar(Type))) { | 45 | const ResultScalar = switch (@typeInfo(Scalar(Type))) { |
| 49 | .int => |int| @Type(.{ .int = .{ .signedness = int.signedness, .bits = int.bits * 2 } }), | 46 | .int => |int| @Type(.{ .int = .{ .signedness = int.signedness, .bits = int.bits * 2 } }), |
| 50 | .float => Scalar(Type), | 47 | .float => Scalar(Type), |
| ... | @@ -55,7 +52,7 @@ fn DoubleBits(comptime Type: type) type { | ... | @@ -55,7 +52,7 @@ fn DoubleBits(comptime Type: type) type { |
| 55 | .vector => |vector| @Vector(vector.len, ResultScalar), | 52 | .vector => |vector| @Vector(vector.len, ResultScalar), |
| 56 | }; | 53 | }; |
| 57 | } | 54 | } |
| 58 | fn RoundBitsUp(comptime Type: type, comptime multiple: u16) type { | 55 | pub fn RoundBitsUp(comptime Type: type, comptime multiple: u16) type { |
| 59 | const ResultScalar = switch (@typeInfo(Scalar(Type))) { | 56 | const ResultScalar = switch (@typeInfo(Scalar(Type))) { |
| 60 | .int => |int| @Type(.{ .int = .{ .signedness = int.signedness, .bits = std.mem.alignForward(u16, int.bits, multiple) } }), | 57 | .int => |int| @Type(.{ .int = .{ .signedness = int.signedness, .bits = std.mem.alignForward(u16, int.bits, multiple) } }), |
| 61 | .float => Scalar(Type), | 58 | .float => Scalar(Type), |
| ... | @@ -67,7 +64,7 @@ fn RoundBitsUp(comptime Type: type, comptime multiple: u16) type { | ... | @@ -67,7 +64,7 @@ fn RoundBitsUp(comptime Type: type, comptime multiple: u16) type { |
| 67 | }; | 64 | }; |
| 68 | } | 65 | } |
| 69 | // inline to avoid a runtime `@splat` | 66 | // inline to avoid a runtime `@splat` |
| 70 | inline fn splat(comptime Type: type, scalar: Scalar(Type)) Type { | 67 | pub inline fn splat(comptime Type: type, scalar: Scalar(Type)) Type { |
| 71 | return switch (@typeInfo(Type)) { | 68 | return switch (@typeInfo(Type)) { |
| 72 | else => scalar, | 69 | else => scalar, |
| 73 | .vector => @splat(scalar), | 70 | .vector => @splat(scalar), |
| ... | @@ -81,7 +78,7 @@ inline fn select(cond: anytype, lhs: anytype, rhs: @TypeOf(lhs)) @TypeOf(lhs) { | ... | @@ -81,7 +78,7 @@ inline fn select(cond: anytype, lhs: anytype, rhs: @TypeOf(lhs)) @TypeOf(lhs) { |
| 81 | else => @compileError(@typeName(@TypeOf(cond))), | 78 | else => @compileError(@typeName(@TypeOf(cond))), |
| 82 | }; | 79 | }; |
| 83 | } | 80 | } |
| 84 | fn sign(rhs: anytype) switch (@typeInfo(@TypeOf(rhs))) { | 81 | pub fn sign(rhs: anytype) switch (@typeInfo(@TypeOf(rhs))) { |
| 85 | else => bool, | 82 | else => bool, |
| 86 | .vector => |vector| @Vector(vector.len, bool), | 83 | .vector => |vector| @Vector(vector.len, bool), |
| 87 | } { | 84 | } { |
| ... | @@ -128,9 +125,9 @@ fn boolOr(lhs: anytype, rhs: @TypeOf(lhs)) @TypeOf(lhs) { | ... | @@ -128,9 +125,9 @@ fn boolOr(lhs: anytype, rhs: @TypeOf(lhs)) @TypeOf(lhs) { |
| 128 | @compileError("unsupported boolOr type: " ++ @typeName(@TypeOf(lhs))); | 125 | @compileError("unsupported boolOr type: " ++ @typeName(@TypeOf(lhs))); |
| 129 | } | 126 | } |
| 130 | 127 | ||
| 131 | const Compare = enum { strict, relaxed, approx, approx_int }; | 128 | pub const Compare = enum { strict, relaxed, approx, approx_int }; |
| 132 | // noinline for a more helpful stack trace | 129 | // noinline for a more helpful stack trace |
| 133 | noinline fn checkExpected(expected: anytype, actual: @TypeOf(expected), comptime compare: Compare) !void { | 130 | pub noinline fn checkExpected(expected: anytype, actual: @TypeOf(expected), comptime compare: Compare) !void { |
| 134 | const Expected = @TypeOf(expected); | 131 | const Expected = @TypeOf(expected); |
| 135 | const unexpected = unexpected: switch (@typeInfo(Scalar(Expected))) { | 132 | const unexpected = unexpected: switch (@typeInfo(Scalar(Expected))) { |
| 136 | else => expected != actual, | 133 | else => expected != actual, |
| ... | @@ -198,22044 +195,3 @@ test checkExpected { | ... | @@ -198,22044 +195,3 @@ test checkExpected { |
| 198 | if (checkExpected(@as(f128, -0.0), @as(f128, 0.0), .strict) != error.Unexpected) return error.Unexpected; | 195 | if (checkExpected(@as(f128, -0.0), @as(f128, 0.0), .strict) != error.Unexpected) return error.Unexpected; |
| 199 | if (checkExpected(@as(f128, 0.0), @as(f128, -0.0), .strict) != error.Unexpected) return error.Unexpected; | 196 | if (checkExpected(@as(f128, 0.0), @as(f128, -0.0), .strict) != error.Unexpected) return error.Unexpected; |
| 200 | } | 197 | } |
| 201 | |||
| 202 | fn unary(comptime op: anytype, comptime opts: struct { | ||
| 203 | libc_name: ?[]const u8 = null, | ||
| 204 | compare: Compare = .relaxed, | ||
| 205 | }) type { | ||
| 206 | return struct { | ||
| 207 | // noinline so that `mem_arg` is on the stack | ||
| 208 | noinline fn testArgKinds( | ||
| 209 | _: Gpr, | ||
| 210 | _: Gpr, | ||
| 211 | _: Gpr, | ||
| 212 | _: Gpr, | ||
| 213 | _: Gpr, | ||
| 214 | _: Gpr, | ||
| 215 | _: Gpr, | ||
| 216 | _: Gpr, | ||
| 217 | _: Sse, | ||
| 218 | _: Sse, | ||
| 219 | _: Sse, | ||
| 220 | _: Sse, | ||
| 221 | _: Sse, | ||
| 222 | _: Sse, | ||
| 223 | _: Sse, | ||
| 224 | _: Sse, | ||
| 225 | comptime Type: type, | ||
| 226 | comptime imm_arg: Type, | ||
| 227 | mem_arg: Type, | ||
| 228 | ) !void { | ||
| 229 | const expected = expected: { | ||
| 230 | if (opts.libc_name) |libc_name| libc: { | ||
| 231 | const libc_func = @extern(*const fn (Scalar(Type)) callconv(.c) Scalar(Type), .{ | ||
| 232 | .name = switch (Scalar(Type)) { | ||
| 233 | f16 => "__" ++ libc_name ++ "h", | ||
| 234 | f32 => libc_name ++ "f", | ||
| 235 | f64 => libc_name, | ||
| 236 | f80 => "__" ++ libc_name ++ "x", | ||
| 237 | f128 => libc_name ++ "q", | ||
| 238 | else => break :libc, | ||
| 239 | }, | ||
| 240 | }); | ||
| 241 | switch (@typeInfo(Type)) { | ||
| 242 | else => break :expected libc_func(imm_arg), | ||
| 243 | .vector => |vector| { | ||
| 244 | var res: Type = undefined; | ||
| 245 | inline for (0..vector.len) |i| res[i] = libc_func(imm_arg[i]); | ||
| 246 | break :expected res; | ||
| 247 | }, | ||
| 248 | } | ||
| 249 | } | ||
| 250 | break :expected comptime op(Type, imm_arg); | ||
| 251 | }; | ||
| 252 | var reg_arg = mem_arg; | ||
| 253 | _ = .{&reg_arg}; | ||
| 254 | try checkExpected(expected, op(Type, reg_arg), opts.compare); | ||
| 255 | try checkExpected(expected, op(Type, mem_arg), opts.compare); | ||
| 256 | if (opts.libc_name == null) try checkExpected(expected, op(Type, imm_arg), opts.compare); | ||
| 257 | } | ||
| 258 | // noinline for a more helpful stack trace | ||
| 259 | noinline fn testArgs(comptime Type: type, comptime imm_arg: Type) !void { | ||
| 260 | try testArgKinds( | ||
| 261 | undefined, | ||
| 262 | undefined, | ||
| 263 | undefined, | ||
| 264 | undefined, | ||
| 265 | undefined, | ||
| 266 | undefined, | ||
| 267 | undefined, | ||
| 268 | undefined, | ||
| 269 | undefined, | ||
| 270 | undefined, | ||
| 271 | undefined, | ||
| 272 | undefined, | ||
| 273 | undefined, | ||
| 274 | undefined, | ||
| 275 | undefined, | ||
| 276 | undefined, | ||
| 277 | Type, | ||
| 278 | imm_arg, | ||
| 279 | imm_arg, | ||
| 280 | ); | ||
| 281 | } | ||
| 282 | fn testIntTypes() !void { | ||
| 283 | try testArgs(i1, undefined); | ||
| 284 | try testArgs(u1, undefined); | ||
| 285 | try testArgs(i2, undefined); | ||
| 286 | try testArgs(u2, undefined); | ||
| 287 | try testArgs(i3, undefined); | ||
| 288 | try testArgs(u3, undefined); | ||
| 289 | try testArgs(i4, undefined); | ||
| 290 | try testArgs(u4, undefined); | ||
| 291 | try testArgs(i5, undefined); | ||
| 292 | try testArgs(u5, undefined); | ||
| 293 | try testArgs(i7, undefined); | ||
| 294 | try testArgs(u7, undefined); | ||
| 295 | try testArgs(i8, undefined); | ||
| 296 | try testArgs(u8, undefined); | ||
| 297 | try testArgs(i9, undefined); | ||
| 298 | try testArgs(u9, undefined); | ||
| 299 | try testArgs(i15, undefined); | ||
| 300 | try testArgs(u15, undefined); | ||
| 301 | try testArgs(i16, undefined); | ||
| 302 | try testArgs(u16, undefined); | ||
| 303 | try testArgs(i17, undefined); | ||
| 304 | try testArgs(u17, undefined); | ||
| 305 | try testArgs(i31, undefined); | ||
| 306 | try testArgs(u31, undefined); | ||
| 307 | try testArgs(i32, undefined); | ||
| 308 | try testArgs(u32, undefined); | ||
| 309 | try testArgs(i33, undefined); | ||
| 310 | try testArgs(u33, undefined); | ||
| 311 | try testArgs(i63, undefined); | ||
| 312 | try testArgs(u63, undefined); | ||
| 313 | try testArgs(i64, undefined); | ||
| 314 | try testArgs(u64, undefined); | ||
| 315 | try testArgs(i65, undefined); | ||
| 316 | try testArgs(u65, undefined); | ||
| 317 | try testArgs(i95, undefined); | ||
| 318 | try testArgs(u95, undefined); | ||
| 319 | try testArgs(i96, undefined); | ||
| 320 | try testArgs(u96, undefined); | ||
| 321 | try testArgs(i97, undefined); | ||
| 322 | try testArgs(u97, undefined); | ||
| 323 | try testArgs(i127, undefined); | ||
| 324 | try testArgs(u127, undefined); | ||
| 325 | try testArgs(i128, undefined); | ||
| 326 | try testArgs(u128, undefined); | ||
| 327 | try testArgs(i129, undefined); | ||
| 328 | try testArgs(u129, undefined); | ||
| 329 | try testArgs(i159, undefined); | ||
| 330 | try testArgs(u159, undefined); | ||
| 331 | try testArgs(i160, undefined); | ||
| 332 | try testArgs(u160, undefined); | ||
| 333 | try testArgs(i161, undefined); | ||
| 334 | try testArgs(u161, undefined); | ||
| 335 | try testArgs(i191, undefined); | ||
| 336 | try testArgs(u191, undefined); | ||
| 337 | try testArgs(i192, undefined); | ||
| 338 | try testArgs(u192, undefined); | ||
| 339 | try testArgs(i193, undefined); | ||
| 340 | try testArgs(u193, undefined); | ||
| 341 | try testArgs(i223, undefined); | ||
| 342 | try testArgs(u223, undefined); | ||
| 343 | try testArgs(i224, undefined); | ||
| 344 | try testArgs(u224, undefined); | ||
| 345 | try testArgs(i225, undefined); | ||
| 346 | try testArgs(u225, undefined); | ||
| 347 | try testArgs(i255, undefined); | ||
| 348 | try testArgs(u255, undefined); | ||
| 349 | try testArgs(i256, undefined); | ||
| 350 | try testArgs(u256, undefined); | ||
| 351 | try testArgs(i257, undefined); | ||
| 352 | try testArgs(u257, undefined); | ||
| 353 | try testArgs(i511, undefined); | ||
| 354 | try testArgs(u511, undefined); | ||
| 355 | try testArgs(i512, undefined); | ||
| 356 | try testArgs(u512, undefined); | ||
| 357 | try testArgs(i513, undefined); | ||
| 358 | try testArgs(u513, undefined); | ||
| 359 | try testArgs(i1023, undefined); | ||
| 360 | try testArgs(u1023, undefined); | ||
| 361 | try testArgs(i1024, undefined); | ||
| 362 | try testArgs(u1024, undefined); | ||
| 363 | try testArgs(i1025, undefined); | ||
| 364 | try testArgs(u1025, undefined); | ||
| 365 | } | ||
| 366 | fn testInts() !void { | ||
| 367 | try testArgs(i1, -1); | ||
| 368 | try testArgs(i1, 0); | ||
| 369 | try testArgs(u1, 0); | ||
| 370 | try testArgs(u1, 1 << 0); | ||
| 371 | |||
| 372 | try testArgs(i2, -1 << 1); | ||
| 373 | try testArgs(i2, -1); | ||
| 374 | try testArgs(i2, 0); | ||
| 375 | try testArgs(u2, 0); | ||
| 376 | try testArgs(u2, 1 << 0); | ||
| 377 | try testArgs(u2, 1 << 1); | ||
| 378 | |||
| 379 | try testArgs(i3, -1 << 2); | ||
| 380 | try testArgs(i3, -1); | ||
| 381 | try testArgs(i3, 0); | ||
| 382 | try testArgs(u3, 0); | ||
| 383 | try testArgs(u3, 1 << 0); | ||
| 384 | try testArgs(u3, 1 << 1); | ||
| 385 | try testArgs(u3, 1 << 2); | ||
| 386 | |||
| 387 | try testArgs(i4, -1 << 3); | ||
| 388 | try testArgs(i4, -1); | ||
| 389 | try testArgs(i4, 0); | ||
| 390 | try testArgs(u4, 0); | ||
| 391 | try testArgs(u4, 1 << 0); | ||
| 392 | try testArgs(u4, 1 << 1); | ||
| 393 | try testArgs(u4, 1 << 2); | ||
| 394 | try testArgs(u4, 1 << 3); | ||
| 395 | |||
| 396 | try testArgs(i5, -1 << 4); | ||
| 397 | try testArgs(i5, -1); | ||
| 398 | try testArgs(i5, 0); | ||
| 399 | try testArgs(u5, 0); | ||
| 400 | try testArgs(u5, 1 << 0); | ||
| 401 | try testArgs(u5, 1 << 1); | ||
| 402 | try testArgs(u5, 1 << 3); | ||
| 403 | try testArgs(u5, 1 << 4); | ||
| 404 | |||
| 405 | try testArgs(i7, -1 << 6); | ||
| 406 | try testArgs(i7, -1); | ||
| 407 | try testArgs(i7, 0); | ||
| 408 | try testArgs(u7, 0); | ||
| 409 | try testArgs(u7, 1 << 0); | ||
| 410 | try testArgs(u7, 1 << 1); | ||
| 411 | try testArgs(u7, 1 << 5); | ||
| 412 | try testArgs(u7, 1 << 6); | ||
| 413 | |||
| 414 | try testArgs(i8, -1 << 7); | ||
| 415 | try testArgs(i8, -1); | ||
| 416 | try testArgs(i8, 0); | ||
| 417 | try testArgs(u8, 0); | ||
| 418 | try testArgs(u8, 1 << 0); | ||
| 419 | try testArgs(u8, 1 << 1); | ||
| 420 | try testArgs(u8, 1 << 6); | ||
| 421 | try testArgs(u8, 1 << 7); | ||
| 422 | |||
| 423 | try testArgs(i9, -1 << 8); | ||
| 424 | try testArgs(i9, -1); | ||
| 425 | try testArgs(i9, 0); | ||
| 426 | try testArgs(u9, 0); | ||
| 427 | try testArgs(u9, 1 << 0); | ||
| 428 | try testArgs(u9, 1 << 1); | ||
| 429 | try testArgs(u9, 1 << 7); | ||
| 430 | try testArgs(u9, 1 << 8); | ||
| 431 | |||
| 432 | try testArgs(i15, -1 << 14); | ||
| 433 | try testArgs(i15, -1); | ||
| 434 | try testArgs(i15, 0); | ||
| 435 | try testArgs(u15, 0); | ||
| 436 | try testArgs(u15, 1 << 0); | ||
| 437 | try testArgs(u15, 1 << 1); | ||
| 438 | try testArgs(u15, 1 << 13); | ||
| 439 | try testArgs(u15, 1 << 14); | ||
| 440 | |||
| 441 | try testArgs(i16, -1 << 15); | ||
| 442 | try testArgs(i16, -1); | ||
| 443 | try testArgs(i16, 0); | ||
| 444 | try testArgs(u16, 0); | ||
| 445 | try testArgs(u16, 1 << 0); | ||
| 446 | try testArgs(u16, 1 << 1); | ||
| 447 | try testArgs(u16, 1 << 14); | ||
| 448 | try testArgs(u16, 1 << 15); | ||
| 449 | |||
| 450 | try testArgs(i17, -1 << 16); | ||
| 451 | try testArgs(i17, -1); | ||
| 452 | try testArgs(i17, 0); | ||
| 453 | try testArgs(u17, 0); | ||
| 454 | try testArgs(u17, 1 << 0); | ||
| 455 | try testArgs(u17, 1 << 1); | ||
| 456 | try testArgs(u17, 1 << 15); | ||
| 457 | try testArgs(u17, 1 << 16); | ||
| 458 | |||
| 459 | try testArgs(i31, -1 << 30); | ||
| 460 | try testArgs(i31, -1); | ||
| 461 | try testArgs(i31, 0); | ||
| 462 | try testArgs(u31, 0); | ||
| 463 | try testArgs(u31, 1 << 0); | ||
| 464 | try testArgs(u31, 1 << 1); | ||
| 465 | try testArgs(u31, 1 << 29); | ||
| 466 | try testArgs(u31, 1 << 30); | ||
| 467 | |||
| 468 | try testArgs(i32, -1 << 31); | ||
| 469 | try testArgs(i32, -1); | ||
| 470 | try testArgs(i32, 0); | ||
| 471 | try testArgs(u32, 0); | ||
| 472 | try testArgs(u32, 1 << 0); | ||
| 473 | try testArgs(u32, 1 << 1); | ||
| 474 | try testArgs(u32, 1 << 30); | ||
| 475 | try testArgs(u32, 1 << 31); | ||
| 476 | |||
| 477 | try testArgs(i33, -1 << 32); | ||
| 478 | try testArgs(i33, -1); | ||
| 479 | try testArgs(i33, 0); | ||
| 480 | try testArgs(u33, 0); | ||
| 481 | try testArgs(u33, 1 << 0); | ||
| 482 | try testArgs(u33, 1 << 1); | ||
| 483 | try testArgs(u33, 1 << 31); | ||
| 484 | try testArgs(u33, 1 << 32); | ||
| 485 | |||
| 486 | try testArgs(i63, -1 << 62); | ||
| 487 | try testArgs(i63, -1); | ||
| 488 | try testArgs(i63, 0); | ||
| 489 | try testArgs(u63, 0); | ||
| 490 | try testArgs(u63, 1 << 0); | ||
| 491 | try testArgs(u63, 1 << 1); | ||
| 492 | try testArgs(u63, 1 << 61); | ||
| 493 | try testArgs(u63, 1 << 62); | ||
| 494 | |||
| 495 | try testArgs(i64, -1 << 63); | ||
| 496 | try testArgs(i64, -1); | ||
| 497 | try testArgs(i64, 0); | ||
| 498 | try testArgs(u64, 0); | ||
| 499 | try testArgs(u64, 1 << 0); | ||
| 500 | try testArgs(u64, 1 << 1); | ||
| 501 | try testArgs(u64, 1 << 62); | ||
| 502 | try testArgs(u64, 1 << 63); | ||
| 503 | |||
| 504 | try testArgs(i65, -1 << 64); | ||
| 505 | try testArgs(i65, -1); | ||
| 506 | try testArgs(i65, 0); | ||
| 507 | try testArgs(u65, 0); | ||
| 508 | try testArgs(u65, 1 << 0); | ||
| 509 | try testArgs(u65, 1 << 1); | ||
| 510 | try testArgs(u65, 1 << 63); | ||
| 511 | try testArgs(u65, 1 << 64); | ||
| 512 | |||
| 513 | try testArgs(i95, -1 << 94); | ||
| 514 | try testArgs(i95, -1); | ||
| 515 | try testArgs(i95, 0); | ||
| 516 | try testArgs(u95, 0); | ||
| 517 | try testArgs(u95, 1 << 0); | ||
| 518 | try testArgs(u95, 1 << 1); | ||
| 519 | try testArgs(u95, 1 << 93); | ||
| 520 | try testArgs(u95, 1 << 94); | ||
| 521 | |||
| 522 | try testArgs(i96, -1 << 95); | ||
| 523 | try testArgs(i96, -1); | ||
| 524 | try testArgs(i96, 0); | ||
| 525 | try testArgs(u96, 0); | ||
| 526 | try testArgs(u96, 1 << 0); | ||
| 527 | try testArgs(u96, 1 << 1); | ||
| 528 | try testArgs(u96, 1 << 94); | ||
| 529 | try testArgs(u96, 1 << 95); | ||
| 530 | |||
| 531 | try testArgs(i97, -1 << 96); | ||
| 532 | try testArgs(i97, -1); | ||
| 533 | try testArgs(i97, 0); | ||
| 534 | try testArgs(u97, 0); | ||
| 535 | try testArgs(u97, 1 << 0); | ||
| 536 | try testArgs(u97, 1 << 1); | ||
| 537 | try testArgs(u97, 1 << 95); | ||
| 538 | try testArgs(u97, 1 << 96); | ||
| 539 | |||
| 540 | try testArgs(i127, -1 << 126); | ||
| 541 | try testArgs(i127, -1); | ||
| 542 | try testArgs(i127, 0); | ||
| 543 | try testArgs(u127, 0); | ||
| 544 | try testArgs(u127, 1 << 0); | ||
| 545 | try testArgs(u127, 1 << 1); | ||
| 546 | try testArgs(u127, 1 << 125); | ||
| 547 | try testArgs(u127, 1 << 126); | ||
| 548 | |||
| 549 | try testArgs(i128, -1 << 127); | ||
| 550 | try testArgs(i128, -1); | ||
| 551 | try testArgs(i128, 0); | ||
| 552 | try testArgs(u128, 0); | ||
| 553 | try testArgs(u128, 1 << 0); | ||
| 554 | try testArgs(u128, 1 << 1); | ||
| 555 | try testArgs(u128, 1 << 126); | ||
| 556 | try testArgs(u128, 1 << 127); | ||
| 557 | |||
| 558 | try testArgs(i129, -1 << 128); | ||
| 559 | try testArgs(i129, -1); | ||
| 560 | try testArgs(i129, 0); | ||
| 561 | try testArgs(u129, 0); | ||
| 562 | try testArgs(u129, 1 << 0); | ||
| 563 | try testArgs(u129, 1 << 1); | ||
| 564 | try testArgs(u129, 1 << 127); | ||
| 565 | try testArgs(u129, 1 << 128); | ||
| 566 | |||
| 567 | try testArgs(i159, -1 << 158); | ||
| 568 | try testArgs(i159, -1); | ||
| 569 | try testArgs(i159, 0); | ||
| 570 | try testArgs(u159, 0); | ||
| 571 | try testArgs(u159, 1 << 0); | ||
| 572 | try testArgs(u159, 1 << 1); | ||
| 573 | try testArgs(u159, 1 << 157); | ||
| 574 | try testArgs(u159, 1 << 158); | ||
| 575 | |||
| 576 | try testArgs(i160, -1 << 159); | ||
| 577 | try testArgs(i160, -1); | ||
| 578 | try testArgs(i160, 0); | ||
| 579 | try testArgs(u160, 0); | ||
| 580 | try testArgs(u160, 1 << 0); | ||
| 581 | try testArgs(u160, 1 << 1); | ||
| 582 | try testArgs(u160, 1 << 158); | ||
| 583 | try testArgs(u160, 1 << 159); | ||
| 584 | |||
| 585 | try testArgs(i161, -1 << 160); | ||
| 586 | try testArgs(i161, -1); | ||
| 587 | try testArgs(i161, 0); | ||
| 588 | try testArgs(u161, 0); | ||
| 589 | try testArgs(u161, 1 << 0); | ||
| 590 | try testArgs(u161, 1 << 1); | ||
| 591 | try testArgs(u161, 1 << 159); | ||
| 592 | try testArgs(u161, 1 << 160); | ||
| 593 | |||
| 594 | try testArgs(i191, -1 << 190); | ||
| 595 | try testArgs(i191, -1); | ||
| 596 | try testArgs(i191, 0); | ||
| 597 | try testArgs(u191, 0); | ||
| 598 | try testArgs(u191, 1 << 0); | ||
| 599 | try testArgs(u191, 1 << 1); | ||
| 600 | try testArgs(u191, 1 << 189); | ||
| 601 | try testArgs(u191, 1 << 190); | ||
| 602 | |||
| 603 | try testArgs(i192, -1 << 191); | ||
| 604 | try testArgs(i192, -1); | ||
| 605 | try testArgs(i192, 0); | ||
| 606 | try testArgs(u192, 0); | ||
| 607 | try testArgs(u192, 1 << 0); | ||
| 608 | try testArgs(u192, 1 << 1); | ||
| 609 | try testArgs(u192, 1 << 190); | ||
| 610 | try testArgs(u192, 1 << 191); | ||
| 611 | |||
| 612 | try testArgs(i193, -1 << 192); | ||
| 613 | try testArgs(i193, -1); | ||
| 614 | try testArgs(i193, 0); | ||
| 615 | try testArgs(u193, 0); | ||
| 616 | try testArgs(u193, 1 << 0); | ||
| 617 | try testArgs(u193, 1 << 1); | ||
| 618 | try testArgs(u193, 1 << 191); | ||
| 619 | try testArgs(u193, 1 << 192); | ||
| 620 | |||
| 621 | try testArgs(i223, -1 << 222); | ||
| 622 | try testArgs(i223, -1); | ||
| 623 | try testArgs(i223, 0); | ||
| 624 | try testArgs(u223, 0); | ||
| 625 | try testArgs(u223, 1 << 0); | ||
| 626 | try testArgs(u223, 1 << 1); | ||
| 627 | try testArgs(u223, 1 << 221); | ||
| 628 | try testArgs(u223, 1 << 222); | ||
| 629 | |||
| 630 | try testArgs(i224, -1 << 223); | ||
| 631 | try testArgs(i224, -1); | ||
| 632 | try testArgs(i224, 0); | ||
| 633 | try testArgs(u224, 0); | ||
| 634 | try testArgs(u224, 1 << 0); | ||
| 635 | try testArgs(u224, 1 << 1); | ||
| 636 | try testArgs(u224, 1 << 222); | ||
| 637 | try testArgs(u224, 1 << 223); | ||
| 638 | |||
| 639 | try testArgs(i225, -1 << 224); | ||
| 640 | try testArgs(i225, -1); | ||
| 641 | try testArgs(i225, 0); | ||
| 642 | try testArgs(u225, 0); | ||
| 643 | try testArgs(u225, 1 << 0); | ||
| 644 | try testArgs(u225, 1 << 1); | ||
| 645 | try testArgs(u225, 1 << 223); | ||
| 646 | try testArgs(u225, 1 << 224); | ||
| 647 | |||
| 648 | try testArgs(i255, -1 << 254); | ||
| 649 | try testArgs(i255, -1); | ||
| 650 | try testArgs(i255, 0); | ||
| 651 | try testArgs(u255, 0); | ||
| 652 | try testArgs(u255, 1 << 0); | ||
| 653 | try testArgs(u255, 1 << 1); | ||
| 654 | try testArgs(u255, 1 << 253); | ||
| 655 | try testArgs(u255, 1 << 254); | ||
| 656 | |||
| 657 | try testArgs(i256, -1 << 255); | ||
| 658 | try testArgs(i256, -1); | ||
| 659 | try testArgs(i256, 0); | ||
| 660 | try testArgs(u256, 0); | ||
| 661 | try testArgs(u256, 1 << 0); | ||
| 662 | try testArgs(u256, 1 << 1); | ||
| 663 | try testArgs(u256, 1 << 254); | ||
| 664 | try testArgs(u256, 1 << 255); | ||
| 665 | |||
| 666 | try testArgs(i257, -1 << 256); | ||
| 667 | try testArgs(i257, -1); | ||
| 668 | try testArgs(i257, 0); | ||
| 669 | try testArgs(u257, 0); | ||
| 670 | try testArgs(u257, 1 << 0); | ||
| 671 | try testArgs(u257, 1 << 1); | ||
| 672 | try testArgs(u257, 1 << 255); | ||
| 673 | try testArgs(u257, 1 << 256); | ||
| 674 | |||
| 675 | try testArgs(i383, -1 << 382); | ||
| 676 | try testArgs(i383, -1); | ||
| 677 | try testArgs(i383, 0); | ||
| 678 | try testArgs(u383, 0); | ||
| 679 | try testArgs(u383, 1 << 0); | ||
| 680 | try testArgs(u383, 1 << 1); | ||
| 681 | try testArgs(u383, 1 << 381); | ||
| 682 | try testArgs(u383, 1 << 382); | ||
| 683 | |||
| 684 | try testArgs(i384, -1 << 383); | ||
| 685 | try testArgs(i384, -1); | ||
| 686 | try testArgs(i384, 0); | ||
| 687 | try testArgs(u384, 0); | ||
| 688 | try testArgs(u384, 1 << 0); | ||
| 689 | try testArgs(u384, 1 << 1); | ||
| 690 | try testArgs(u384, 1 << 382); | ||
| 691 | try testArgs(u384, 1 << 383); | ||
| 692 | |||
| 693 | try testArgs(i385, -1 << 384); | ||
| 694 | try testArgs(i385, -1); | ||
| 695 | try testArgs(i385, 0); | ||
| 696 | try testArgs(u385, 0); | ||
| 697 | try testArgs(u385, 1 << 0); | ||
| 698 | try testArgs(u385, 1 << 1); | ||
| 699 | try testArgs(u385, 1 << 383); | ||
| 700 | try testArgs(u385, 1 << 384); | ||
| 701 | |||
| 702 | try testArgs(i511, -1 << 510); | ||
| 703 | try testArgs(i511, -1); | ||
| 704 | try testArgs(i511, 0); | ||
| 705 | try testArgs(u511, 0); | ||
| 706 | try testArgs(u511, 1 << 0); | ||
| 707 | try testArgs(u511, 1 << 1); | ||
| 708 | try testArgs(u511, 1 << 509); | ||
| 709 | try testArgs(u511, 1 << 510); | ||
| 710 | |||
| 711 | try testArgs(i512, -1 << 511); | ||
| 712 | try testArgs(i512, -1); | ||
| 713 | try testArgs(i512, 0); | ||
| 714 | try testArgs(u512, 0); | ||
| 715 | try testArgs(u512, 1 << 0); | ||
| 716 | try testArgs(u512, 1 << 1); | ||
| 717 | try testArgs(u512, 1 << 510); | ||
| 718 | try testArgs(u512, 1 << 511); | ||
| 719 | |||
| 720 | try testArgs(i513, -1 << 512); | ||
| 721 | try testArgs(i513, -1); | ||
| 722 | try testArgs(i513, 0); | ||
| 723 | try testArgs(u513, 0); | ||
| 724 | try testArgs(u513, 1 << 0); | ||
| 725 | try testArgs(u513, 1 << 1); | ||
| 726 | try testArgs(u513, 1 << 511); | ||
| 727 | try testArgs(u513, 1 << 512); | ||
| 728 | |||
| 729 | try testArgs(i1023, -1 << 1022); | ||
| 730 | try testArgs(i1023, -1); | ||
| 731 | try testArgs(i1023, 0); | ||
| 732 | try testArgs(u1023, 0); | ||
| 733 | try testArgs(u1023, 1 << 0); | ||
| 734 | try testArgs(u1023, 1 << 1); | ||
| 735 | try testArgs(u1023, 1 << 1021); | ||
| 736 | try testArgs(u1023, 1 << 1022); | ||
| 737 | |||
| 738 | try testArgs(i1024, -1 << 1023); | ||
| 739 | try testArgs(i1024, -1); | ||
| 740 | try testArgs(i1024, 0); | ||
| 741 | try testArgs(u1024, 0); | ||
| 742 | try testArgs(u1024, 1 << 0); | ||
| 743 | try testArgs(u1024, 1 << 1); | ||
| 744 | try testArgs(u1024, 1 << 1022); | ||
| 745 | try testArgs(u1024, 1 << 1023); | ||
| 746 | |||
| 747 | try testArgs(i1025, -1 << 1024); | ||
| 748 | try testArgs(i1025, -1); | ||
| 749 | try testArgs(i1025, 0); | ||
| 750 | try testArgs(u1025, 0); | ||
| 751 | try testArgs(u1025, 1 << 0); | ||
| 752 | try testArgs(u1025, 1 << 1); | ||
| 753 | try testArgs(u1025, 1 << 1023); | ||
| 754 | try testArgs(u1025, 1 << 1024); | ||
| 755 | } | ||
| 756 | fn testFloatTypes() !void { | ||
| 757 | try testArgs(f16, undefined); | ||
| 758 | try testArgs(f32, undefined); | ||
| 759 | try testArgs(f64, undefined); | ||
| 760 | try testArgs(f80, undefined); | ||
| 761 | try testArgs(f128, undefined); | ||
| 762 | } | ||
| 763 | fn testFloats() !void { | ||
| 764 | try testArgs(f16, -nan(f16)); | ||
| 765 | try testArgs(f16, -inf(f16)); | ||
| 766 | try testArgs(f16, -fmax(f16)); | ||
| 767 | try testArgs(f16, -1e1); | ||
| 768 | try testArgs(f16, -1e0); | ||
| 769 | try testArgs(f16, -1e-1); | ||
| 770 | try testArgs(f16, -fmin(f16)); | ||
| 771 | try testArgs(f16, -tmin(f16)); | ||
| 772 | try testArgs(f16, -0.0); | ||
| 773 | try testArgs(f16, 0.0); | ||
| 774 | try testArgs(f16, tmin(f16)); | ||
| 775 | try testArgs(f16, fmin(f16)); | ||
| 776 | try testArgs(f16, 1e-1); | ||
| 777 | try testArgs(f16, 1e0); | ||
| 778 | try testArgs(f16, 1e1); | ||
| 779 | try testArgs(f16, fmax(f16)); | ||
| 780 | try testArgs(f16, inf(f16)); | ||
| 781 | try testArgs(f16, nan(f16)); | ||
| 782 | |||
| 783 | try testArgs(f32, -nan(f32)); | ||
| 784 | try testArgs(f32, -inf(f32)); | ||
| 785 | try testArgs(f32, -fmax(f32)); | ||
| 786 | try testArgs(f32, -1e1); | ||
| 787 | try testArgs(f32, -1e0); | ||
| 788 | try testArgs(f32, -1e-1); | ||
| 789 | try testArgs(f32, -fmin(f32)); | ||
| 790 | try testArgs(f32, -tmin(f32)); | ||
| 791 | try testArgs(f32, -0.0); | ||
| 792 | try testArgs(f32, 0.0); | ||
| 793 | try testArgs(f32, tmin(f32)); | ||
| 794 | try testArgs(f32, fmin(f32)); | ||
| 795 | try testArgs(f32, 1e-1); | ||
| 796 | try testArgs(f32, 1e0); | ||
| 797 | try testArgs(f32, 1e1); | ||
| 798 | try testArgs(f32, fmax(f32)); | ||
| 799 | try testArgs(f32, inf(f32)); | ||
| 800 | try testArgs(f32, nan(f32)); | ||
| 801 | |||
| 802 | try testArgs(f64, -nan(f64)); | ||
| 803 | try testArgs(f64, -inf(f64)); | ||
| 804 | try testArgs(f64, -fmax(f64)); | ||
| 805 | try testArgs(f64, -1e1); | ||
| 806 | try testArgs(f64, -1e0); | ||
| 807 | try testArgs(f64, -1e-1); | ||
| 808 | try testArgs(f64, -fmin(f64)); | ||
| 809 | try testArgs(f64, -tmin(f64)); | ||
| 810 | try testArgs(f64, -0.0); | ||
| 811 | try testArgs(f64, 0.0); | ||
| 812 | try testArgs(f64, tmin(f64)); | ||
| 813 | try testArgs(f64, fmin(f64)); | ||
| 814 | try testArgs(f64, 1e-1); | ||
| 815 | try testArgs(f64, 1e0); | ||
| 816 | try testArgs(f64, 1e1); | ||
| 817 | try testArgs(f64, fmax(f64)); | ||
| 818 | try testArgs(f64, inf(f64)); | ||
| 819 | try testArgs(f64, nan(f64)); | ||
| 820 | |||
| 821 | try testArgs(f80, -nan(f80)); | ||
| 822 | try testArgs(f80, -inf(f80)); | ||
| 823 | try testArgs(f80, -fmax(f80)); | ||
| 824 | try testArgs(f80, -1e1); | ||
| 825 | try testArgs(f80, -1e0); | ||
| 826 | try testArgs(f80, -1e-1); | ||
| 827 | try testArgs(f80, -fmin(f80)); | ||
| 828 | try testArgs(f80, -tmin(f80)); | ||
| 829 | try testArgs(f80, -0.0); | ||
| 830 | try testArgs(f80, 0.0); | ||
| 831 | try testArgs(f80, tmin(f80)); | ||
| 832 | try testArgs(f80, fmin(f80)); | ||
| 833 | try testArgs(f80, 1e-1); | ||
| 834 | try testArgs(f80, 1e0); | ||
| 835 | try testArgs(f80, 1e1); | ||
| 836 | try testArgs(f80, fmax(f80)); | ||
| 837 | try testArgs(f80, inf(f80)); | ||
| 838 | try testArgs(f80, nan(f80)); | ||
| 839 | |||
| 840 | try testArgs(f128, -nan(f128)); | ||
| 841 | try testArgs(f128, -inf(f128)); | ||
| 842 | try testArgs(f128, -fmax(f128)); | ||
| 843 | try testArgs(f128, -1e1); | ||
| 844 | try testArgs(f128, -1e0); | ||
| 845 | try testArgs(f128, -1e-1); | ||
| 846 | try testArgs(f128, -fmin(f128)); | ||
| 847 | try testArgs(f128, -tmin(f128)); | ||
| 848 | try testArgs(f128, -0.0); | ||
| 849 | try testArgs(f128, 0.0); | ||
| 850 | try testArgs(f128, tmin(f128)); | ||
| 851 | try testArgs(f128, fmin(f128)); | ||
| 852 | try testArgs(f128, 1e-1); | ||
| 853 | try testArgs(f128, 1e0); | ||
| 854 | try testArgs(f128, 1e1); | ||
| 855 | try testArgs(f128, fmax(f128)); | ||
| 856 | try testArgs(f128, inf(f128)); | ||
| 857 | try testArgs(f128, nan(f128)); | ||
| 858 | } | ||
| 859 | fn testIntVectorTypes() !void { | ||
| 860 | try testArgs(@Vector(3, i1), undefined); | ||
| 861 | try testArgs(@Vector(3, u1), undefined); | ||
| 862 | try testArgs(@Vector(3, i2), undefined); | ||
| 863 | try testArgs(@Vector(3, u2), undefined); | ||
| 864 | try testArgs(@Vector(3, i3), undefined); | ||
| 865 | try testArgs(@Vector(3, u3), undefined); | ||
| 866 | try testArgs(@Vector(3, i4), undefined); | ||
| 867 | try testArgs(@Vector(1, i4), undefined); | ||
| 868 | try testArgs(@Vector(2, i4), undefined); | ||
| 869 | try testArgs(@Vector(4, i4), undefined); | ||
| 870 | try testArgs(@Vector(8, i4), undefined); | ||
| 871 | try testArgs(@Vector(16, i4), undefined); | ||
| 872 | try testArgs(@Vector(32, i4), undefined); | ||
| 873 | try testArgs(@Vector(64, i4), undefined); | ||
| 874 | try testArgs(@Vector(128, i4), undefined); | ||
| 875 | try testArgs(@Vector(256, i4), undefined); | ||
| 876 | try testArgs(@Vector(3, u4), undefined); | ||
| 877 | try testArgs(@Vector(1, u4), undefined); | ||
| 878 | try testArgs(@Vector(2, u4), undefined); | ||
| 879 | try testArgs(@Vector(4, u4), undefined); | ||
| 880 | try testArgs(@Vector(8, u4), undefined); | ||
| 881 | try testArgs(@Vector(16, u4), undefined); | ||
| 882 | try testArgs(@Vector(32, u4), undefined); | ||
| 883 | try testArgs(@Vector(64, u4), undefined); | ||
| 884 | try testArgs(@Vector(128, u4), undefined); | ||
| 885 | try testArgs(@Vector(256, u4), undefined); | ||
| 886 | try testArgs(@Vector(3, i5), undefined); | ||
| 887 | try testArgs(@Vector(3, u5), undefined); | ||
| 888 | try testArgs(@Vector(3, i7), undefined); | ||
| 889 | try testArgs(@Vector(3, u7), undefined); | ||
| 890 | try testArgs(@Vector(3, i8), undefined); | ||
| 891 | try testArgs(@Vector(1, i8), undefined); | ||
| 892 | try testArgs(@Vector(2, i8), undefined); | ||
| 893 | try testArgs(@Vector(4, i8), undefined); | ||
| 894 | try testArgs(@Vector(8, i8), undefined); | ||
| 895 | try testArgs(@Vector(16, i8), undefined); | ||
| 896 | try testArgs(@Vector(32, i8), undefined); | ||
| 897 | try testArgs(@Vector(64, i8), undefined); | ||
| 898 | try testArgs(@Vector(128, i8), undefined); | ||
| 899 | try testArgs(@Vector(3, u8), undefined); | ||
| 900 | try testArgs(@Vector(1, u8), undefined); | ||
| 901 | try testArgs(@Vector(2, u8), undefined); | ||
| 902 | try testArgs(@Vector(4, u8), undefined); | ||
| 903 | try testArgs(@Vector(8, u8), undefined); | ||
| 904 | try testArgs(@Vector(16, u8), undefined); | ||
| 905 | try testArgs(@Vector(32, u8), undefined); | ||
| 906 | try testArgs(@Vector(64, u8), undefined); | ||
| 907 | try testArgs(@Vector(128, u8), undefined); | ||
| 908 | try testArgs(@Vector(3, i9), undefined); | ||
| 909 | try testArgs(@Vector(3, u9), undefined); | ||
| 910 | try testArgs(@Vector(3, i15), undefined); | ||
| 911 | try testArgs(@Vector(3, u15), undefined); | ||
| 912 | try testArgs(@Vector(3, i16), undefined); | ||
| 913 | try testArgs(@Vector(1, i16), undefined); | ||
| 914 | try testArgs(@Vector(2, i16), undefined); | ||
| 915 | try testArgs(@Vector(4, i16), undefined); | ||
| 916 | try testArgs(@Vector(8, i16), undefined); | ||
| 917 | try testArgs(@Vector(16, i16), undefined); | ||
| 918 | try testArgs(@Vector(32, i16), undefined); | ||
| 919 | try testArgs(@Vector(64, i16), undefined); | ||
| 920 | try testArgs(@Vector(3, u16), undefined); | ||
| 921 | try testArgs(@Vector(1, u16), undefined); | ||
| 922 | try testArgs(@Vector(2, u16), undefined); | ||
| 923 | try testArgs(@Vector(4, u16), undefined); | ||
| 924 | try testArgs(@Vector(8, u16), undefined); | ||
| 925 | try testArgs(@Vector(16, u16), undefined); | ||
| 926 | try testArgs(@Vector(32, u16), undefined); | ||
| 927 | try testArgs(@Vector(64, u16), undefined); | ||
| 928 | try testArgs(@Vector(3, i17), undefined); | ||
| 929 | try testArgs(@Vector(3, u17), undefined); | ||
| 930 | try testArgs(@Vector(3, i31), undefined); | ||
| 931 | try testArgs(@Vector(3, u31), undefined); | ||
| 932 | try testArgs(@Vector(3, i32), undefined); | ||
| 933 | try testArgs(@Vector(1, i32), undefined); | ||
| 934 | try testArgs(@Vector(2, i32), undefined); | ||
| 935 | try testArgs(@Vector(4, i32), undefined); | ||
| 936 | try testArgs(@Vector(8, i32), undefined); | ||
| 937 | try testArgs(@Vector(16, i32), undefined); | ||
| 938 | try testArgs(@Vector(32, i32), undefined); | ||
| 939 | try testArgs(@Vector(3, u32), undefined); | ||
| 940 | try testArgs(@Vector(1, u32), undefined); | ||
| 941 | try testArgs(@Vector(2, u32), undefined); | ||
| 942 | try testArgs(@Vector(4, u32), undefined); | ||
| 943 | try testArgs(@Vector(8, u32), undefined); | ||
| 944 | try testArgs(@Vector(16, u32), undefined); | ||
| 945 | try testArgs(@Vector(32, u32), undefined); | ||
| 946 | try testArgs(@Vector(3, i33), undefined); | ||
| 947 | try testArgs(@Vector(3, u33), undefined); | ||
| 948 | try testArgs(@Vector(3, i63), undefined); | ||
| 949 | try testArgs(@Vector(3, u63), undefined); | ||
| 950 | try testArgs(@Vector(3, i64), undefined); | ||
| 951 | try testArgs(@Vector(1, i64), undefined); | ||
| 952 | try testArgs(@Vector(2, i64), undefined); | ||
| 953 | try testArgs(@Vector(4, i64), undefined); | ||
| 954 | try testArgs(@Vector(8, i64), undefined); | ||
| 955 | try testArgs(@Vector(16, i64), undefined); | ||
| 956 | try testArgs(@Vector(3, u64), undefined); | ||
| 957 | try testArgs(@Vector(1, u64), undefined); | ||
| 958 | try testArgs(@Vector(2, u64), undefined); | ||
| 959 | try testArgs(@Vector(4, u64), undefined); | ||
| 960 | try testArgs(@Vector(8, u64), undefined); | ||
| 961 | try testArgs(@Vector(16, u64), undefined); | ||
| 962 | try testArgs(@Vector(3, i65), undefined); | ||
| 963 | try testArgs(@Vector(3, u65), undefined); | ||
| 964 | try testArgs(@Vector(3, i127), undefined); | ||
| 965 | try testArgs(@Vector(3, u127), undefined); | ||
| 966 | try testArgs(@Vector(3, i128), undefined); | ||
| 967 | try testArgs(@Vector(1, i128), undefined); | ||
| 968 | try testArgs(@Vector(2, i128), undefined); | ||
| 969 | try testArgs(@Vector(4, i128), undefined); | ||
| 970 | try testArgs(@Vector(8, i128), undefined); | ||
| 971 | try testArgs(@Vector(3, u128), undefined); | ||
| 972 | try testArgs(@Vector(1, u128), undefined); | ||
| 973 | try testArgs(@Vector(2, u128), undefined); | ||
| 974 | try testArgs(@Vector(4, u128), undefined); | ||
| 975 | try testArgs(@Vector(8, u128), undefined); | ||
| 976 | try testArgs(@Vector(3, i129), undefined); | ||
| 977 | try testArgs(@Vector(3, u129), undefined); | ||
| 978 | try testArgs(@Vector(3, i191), undefined); | ||
| 979 | try testArgs(@Vector(3, u191), undefined); | ||
| 980 | try testArgs(@Vector(3, i192), undefined); | ||
| 981 | try testArgs(@Vector(1, i192), undefined); | ||
| 982 | try testArgs(@Vector(2, i192), undefined); | ||
| 983 | try testArgs(@Vector(4, i192), undefined); | ||
| 984 | try testArgs(@Vector(3, u192), undefined); | ||
| 985 | try testArgs(@Vector(1, u192), undefined); | ||
| 986 | try testArgs(@Vector(2, u192), undefined); | ||
| 987 | try testArgs(@Vector(4, u192), undefined); | ||
| 988 | try testArgs(@Vector(3, i193), undefined); | ||
| 989 | try testArgs(@Vector(3, u193), undefined); | ||
| 990 | try testArgs(@Vector(3, i255), undefined); | ||
| 991 | try testArgs(@Vector(3, u255), undefined); | ||
| 992 | try testArgs(@Vector(3, i256), undefined); | ||
| 993 | try testArgs(@Vector(1, i256), undefined); | ||
| 994 | try testArgs(@Vector(2, i256), undefined); | ||
| 995 | try testArgs(@Vector(4, i256), undefined); | ||
| 996 | try testArgs(@Vector(3, u256), undefined); | ||
| 997 | try testArgs(@Vector(1, u256), undefined); | ||
| 998 | try testArgs(@Vector(2, u256), undefined); | ||
| 999 | try testArgs(@Vector(4, u256), undefined); | ||
| 1000 | try testArgs(@Vector(3, i257), undefined); | ||
| 1001 | try testArgs(@Vector(3, u257), undefined); | ||
| 1002 | try testArgs(@Vector(3, i511), undefined); | ||
| 1003 | try testArgs(@Vector(3, u511), undefined); | ||
| 1004 | try testArgs(@Vector(3, i512), undefined); | ||
| 1005 | try testArgs(@Vector(1, i512), undefined); | ||
| 1006 | try testArgs(@Vector(2, i512), undefined); | ||
| 1007 | try testArgs(@Vector(3, u512), undefined); | ||
| 1008 | try testArgs(@Vector(1, u512), undefined); | ||
| 1009 | try testArgs(@Vector(2, u512), undefined); | ||
| 1010 | try testArgs(@Vector(3, i513), undefined); | ||
| 1011 | try testArgs(@Vector(3, u513), undefined); | ||
| 1012 | try testArgs(@Vector(3, i1023), undefined); | ||
| 1013 | try testArgs(@Vector(3, u1023), undefined); | ||
| 1014 | try testArgs(@Vector(3, i1024), undefined); | ||
| 1015 | try testArgs(@Vector(1, i1024), undefined); | ||
| 1016 | try testArgs(@Vector(3, u1024), undefined); | ||
| 1017 | try testArgs(@Vector(1, u1024), undefined); | ||
| 1018 | try testArgs(@Vector(3, i1025), undefined); | ||
| 1019 | try testArgs(@Vector(3, u1025), undefined); | ||
| 1020 | } | ||
| 1021 | fn testIntVectors() !void { | ||
| 1022 | try testArgs(@Vector(3, i1), .{ -1 << 0, -1, 0 }); | ||
| 1023 | try testArgs(@Vector(3, u1), .{ 0, 1, 1 << 0 }); | ||
| 1024 | |||
| 1025 | try testArgs(@Vector(3, i2), .{ -1 << 1, -1, 0 }); | ||
| 1026 | try testArgs(@Vector(3, u2), .{ 0, 1, 1 << 1 }); | ||
| 1027 | |||
| 1028 | try testArgs(@Vector(3, i3), .{ -1 << 2, -1, 0 }); | ||
| 1029 | try testArgs(@Vector(3, u3), .{ 0, 1, 1 << 2 }); | ||
| 1030 | |||
| 1031 | try testArgs(@Vector(3, i4), .{ -1 << 3, -1, 0 }); | ||
| 1032 | try testArgs(@Vector(1, i4), .{ | ||
| 1033 | -0x2, | ||
| 1034 | }); | ||
| 1035 | try testArgs(@Vector(2, i4), .{ | ||
| 1036 | -0x7, 0x4, | ||
| 1037 | }); | ||
| 1038 | try testArgs(@Vector(4, i4), .{ | ||
| 1039 | -0x3, 0x4, 0x2, -0x2, | ||
| 1040 | }); | ||
| 1041 | try testArgs(@Vector(8, i4), .{ | ||
| 1042 | -0x6, 0x3, 0x4, 0x3, 0x4, -0x8, -0x3, -0x5, | ||
| 1043 | }); | ||
| 1044 | try testArgs(@Vector(16, i4), .{ | ||
| 1045 | -0x3, 0x5, 0x4, -0x1, 0x2, 0x7, 0x1, 0x0, -0x2, 0x6, -0x1, -0x3, 0x5, -0x3, 0x3, -0x7, | ||
| 1046 | }); | ||
| 1047 | try testArgs(@Vector(32, i4), .{ | ||
| 1048 | -0x4, -0x2, 0x6, 0x6, -0x5, -0x8, -0x8, 0x7, -0x5, -0x5, 0x4, 0x5, -0x6, -0x1, 0x2, 0x0, -0x1, 0x3, 0x5, 0x1, -0x4, 0x2, -0x8, -0x6, -0x1, 0x3, 0x1, -0x8, 0x5, -0x6, 0x0, 0x2, | ||
| 1049 | }); | ||
| 1050 | try testArgs(@Vector(64, i4), .{ | ||
| 1051 | -0x2, 0x6, -0x5, 0x2, 0x6, -0x5, 0x1, -0x6, -0x6, 0x3, -0x5, 0x5, 0x0, 0x3, -0x6, -0x2, 0x0, -0x5, -0x2, -0x7, 0x6, 0x6, -0x6, 0x5, -0x1, 0x1, -0x5, 0x4, -0x1, 0x2, 0x5, 0x0, | ||
| 1052 | 0x6, -0x1, -0x3, -0x1, 0x0, 0x0, -0x2, -0x5, 0x7, 0x4, -0x7, 0x4, -0x8, 0x2, -0x1, -0x5, 0x4, -0x6, -0x3, 0x6, -0x6, 0x5, 0x0, 0x6, -0x3, 0x3, -0x4, -0x4, 0x3, -0x6, -0x5, -0x3, | ||
| 1053 | }); | ||
| 1054 | try testArgs(@Vector(128, i4), .{ | ||
| 1055 | -0x2, 0x7, -0x7, 0x5, 0x4, -0x8, -0x4, 0x2, -0x6, 0x6, 0x3, 0x4, -0x6, -0x3, 0x1, -0x3, 0x4, -0x4, 0x0, -0x5, 0x4, -0x2, 0x4, -0x6, 0x4, 0x7, -0x6, 0x3, -0x6, 0x5, 0x7, -0x7, | ||
| 1056 | -0x8, 0x0, 0x2, -0x6, -0x4, 0x5, -0x2, -0x6, 0x2, -0x3, -0x8, -0x3, -0x1, 0x4, 0x7, -0x2, 0x7, -0x3, 0x5, 0x3, -0x6, 0x5, -0x2, -0x5, -0x1, 0x5, -0x6, -0x2, -0x5, -0x4, -0x7, -0x3, | ||
| 1057 | -0x4, -0x4, 0x6, -0x8, -0x2, 0x3, 0x1, 0x7, 0x1, -0x2, -0x7, -0x2, -0x8, -0x6, -0x6, 0x0, -0x3, -0x4, 0x3, -0x5, -0x3, -0x5, 0x6, 0x5, -0x7, -0x8, -0x5, -0x6, -0x2, -0x5, 0x5, -0x5, | ||
| 1058 | 0x0, -0x6, -0x3, 0x0, 0x7, 0x6, -0x6, -0x7, -0x4, -0x5, 0x3, 0x2, 0x7, -0x3, -0x2, 0x4, -0x4, -0x5, 0x6, 0x1, 0x7, -0x5, -0x6, 0x0, 0x0, -0x8, 0x4, -0x1, -0x7, 0x0, 0x0, 0x5, | ||
| 1059 | }); | ||
| 1060 | try testArgs(@Vector(256, i4), .{ | ||
| 1061 | -0x7, 0x4, 0x7, -0x5, 0x6, -0x2, 0x6, -0x5, 0x5, 0x5, 0x3, -0x3, -0x5, 0x0, 0x5, 0x1, 0x4, -0x1, 0x4, -0x8, -0x4, -0x8, 0x2, -0x8, 0x3, 0x1, -0x7, -0x3, -0x1, 0x5, -0x5, -0x8, | ||
| 1062 | -0x3, -0x3, -0x5, 0x6, 0x0, 0x4, -0x3, -0x5, 0x0, 0x5, -0x1, -0x3, -0x4, -0x3, 0x6, -0x3, -0x1, 0x5, -0x3, -0x3, 0x0, 0x3, -0x2, -0x1, -0x5, 0x3, 0x2, -0x8, 0x7, -0x8, 0x6, 0x4, | ||
| 1063 | -0x5, -0x4, 0x5, 0x5, 0x6, -0x3, 0x2, -0x4, 0x3, 0x7, 0x6, -0x2, -0x8, -0x1, -0x8, 0x2, 0x4, 0x1, 0x2, -0x1, 0x5, 0x1, 0x3, 0x1, 0x3, -0x5, 0x3, -0x5, -0x5, 0x5, -0x6, -0x7, | ||
| 1064 | 0x0, 0x0, -0x3, 0x6, 0x0, 0x5, 0x3, 0x0, 0x0, -0x1, -0x6, -0x4, 0x5, -0x8, -0x4, -0x3, -0x3, 0x2, -0x5, -0x4, 0x4, 0x5, -0x6, -0x3, 0x2, 0x5, -0x7, -0x6, 0x3, 0x7, -0x2, 0x6, | ||
| 1065 | 0x2, 0x3, 0x7, 0x3, 0x2, -0x5, 0x4, 0x5, -0x4, -0x7, 0x2, 0x2, -0x5, 0x7, -0x3, -0x8, 0x2, -0x4, 0x2, 0x4, 0x5, -0x7, 0x7, -0x6, 0x4, -0x8, -0x1, 0x7, 0x0, -0x4, 0x6, -0x8, | ||
| 1066 | -0x5, 0x4, -0x5, 0x1, 0x6, -0x8, -0x1, -0x3, -0x5, 0x7, 0x1, 0x0, -0x3, 0x4, -0x5, -0x7, -0x5, 0x2, 0x0, -0x1, -0x4, 0x0, 0x5, 0x6, -0x3, -0x4, -0x2, 0x4, -0x1, -0x8, 0x0, 0x6, | ||
| 1067 | 0x7, 0x1, 0x5, 0x2, -0x4, -0x7, -0x3, -0x3, -0x8, -0x8, -0x3, -0x4, 0x5, -0x5, -0x2, -0x2, 0x1, 0x1, 0x1, -0x8, 0x5, 0x4, 0x5, 0x6, 0x3, 0x0, -0x2, -0x1, 0x4, -0x4, -0x5, 0x0, | ||
| 1068 | -0x7, -0x8, -0x2, 0x1, 0x5, 0x4, 0x5, -0x7, 0x3, 0x2, 0x2, 0x5, -0x3, 0x7, -0x4, 0x0, -0x3, -0x2, -0x5, 0x1, 0x1, -0x4, -0x4, 0x1, -0x8, -0x3, 0x6, -0x8, -0x2, 0x5, 0x7, -0x3, | ||
| 1069 | }); | ||
| 1070 | |||
| 1071 | try testArgs(@Vector(3, u4), .{ 0, 1, 1 << 3 }); | ||
| 1072 | try testArgs(@Vector(1, u4), .{ | ||
| 1073 | 0xb, | ||
| 1074 | }); | ||
| 1075 | try testArgs(@Vector(2, u4), .{ | ||
| 1076 | 0x3, 0x4, | ||
| 1077 | }); | ||
| 1078 | try testArgs(@Vector(4, u4), .{ | ||
| 1079 | 0x9, 0x2, 0xf, 0xe, | ||
| 1080 | }); | ||
| 1081 | try testArgs(@Vector(8, u4), .{ | ||
| 1082 | 0x8, 0x1, 0xb, 0x1, 0xf, 0x5, 0x9, 0x6, | ||
| 1083 | }); | ||
| 1084 | try testArgs(@Vector(16, u4), .{ | ||
| 1085 | 0xb, 0x6, 0x0, 0x7, 0x8, 0x5, 0x6, 0x9, 0xe, 0xb, 0x3, 0xa, 0xb, 0x5, 0x8, 0xc, | ||
| 1086 | }); | ||
| 1087 | try testArgs(@Vector(32, u4), .{ | ||
| 1088 | 0xe, 0x6, 0xe, 0xa, 0xb, 0x4, 0xa, 0xb, 0x1, 0x3, 0xb, 0xc, 0x0, 0xb, 0x9, 0x4, 0xd, 0xa, 0xd, 0xd, 0x4, 0x8, 0x8, 0x6, 0xb, 0xe, 0x9, 0x6, 0xc, 0xd, 0x5, 0xd, | ||
| 1089 | }); | ||
| 1090 | try testArgs(@Vector(64, u4), .{ | ||
| 1091 | 0x1, 0xc, 0xe, 0x9, 0x9, 0xf, 0x3, 0xf, 0x9, 0x9, 0x5, 0x3, 0xb, 0xd, 0xd, 0xf, 0x1, 0x2, 0xf, 0x9, 0x4, 0x4, 0x8, 0x9, 0x2, 0x9, 0x8, 0xe, 0x8, 0xa, 0x4, 0x3, | ||
| 1092 | 0x4, 0xc, 0xb, 0x6, 0x4, 0x0, 0xa, 0x5, 0x1, 0xa, 0x4, 0xe, 0xa, 0x7, 0xd, 0x0, 0x4, 0xe, 0xe, 0x7, 0x7, 0xa, 0x4, 0x5, 0x6, 0xc, 0x6, 0x2, 0x6, 0xa, 0xe, 0xa, | ||
| 1093 | }); | ||
| 1094 | try testArgs(@Vector(128, u4), .{ | ||
| 1095 | 0xd, 0x5, 0x6, 0xe, 0x3, 0x3, 0x3, 0xe, 0xd, 0xd, 0x9, 0x0, 0x0, 0xe, 0xa, 0x9, 0x8, 0x7, 0xb, 0x5, 0x7, 0xf, 0xb, 0x8, 0x0, 0xf, 0xb, 0x3, 0xa, 0x2, 0xb, 0xc, | ||
| 1096 | 0x1, 0x1, 0xc, 0x8, 0x8, 0x6, 0x9, 0x1, 0xb, 0x0, 0x2, 0xb, 0x2, 0x2, 0x7, 0x6, 0x1, 0x1, 0xb, 0x4, 0x6, 0x4, 0x7, 0xc, 0xd, 0xc, 0xa, 0x8, 0x1, 0x7, 0x8, 0xa, | ||
| 1097 | 0x9, 0xa, 0x1, 0x8, 0x1, 0x7, 0x9, 0x4, 0x5, 0x9, 0xd, 0x0, 0xa, 0xf, 0x3, 0x3, 0x9, 0x2, 0xf, 0x5, 0xb, 0x8, 0x6, 0xb, 0xf, 0x5, 0x8, 0x3, 0x9, 0xf, 0x6, 0x8, | ||
| 1098 | 0xc, 0x8, 0x3, 0x4, 0xa, 0xe, 0xc, 0x1, 0xe, 0x9, 0x1, 0x8, 0xf, 0x6, 0xc, 0xc, 0x6, 0xf, 0x6, 0xd, 0xb, 0x9, 0xc, 0x3, 0xd, 0xa, 0x6, 0x8, 0x4, 0xa, 0x6, 0x9, | ||
| 1099 | }); | ||
| 1100 | try testArgs(@Vector(256, u4), .{ | ||
| 1101 | 0x6, 0xc, 0xe, 0x3, 0x8, 0x2, 0xb, 0xd, 0x3, 0xa, 0x3, 0x8, 0xb, 0x8, 0x3, 0x0, 0xb, 0x5, 0x1, 0x3, 0x2, 0x2, 0xf, 0xc, 0x5, 0x1, 0x3, 0xb, 0x1, 0xc, 0x2, 0xd, | ||
| 1102 | 0xa, 0x8, 0x1, 0xc, 0xb, 0xa, 0x3, 0x1, 0xe, 0x4, 0xf, 0xb, 0xd, 0x8, 0xf, 0xa, 0xc, 0xb, 0xb, 0x0, 0xa, 0xc, 0xf, 0xe, 0x8, 0xd, 0x9, 0x3, 0xa, 0xe, 0x8, 0x7, | ||
| 1103 | 0x5, 0xa, 0x0, 0xe, 0x0, 0xd, 0x2, 0x2, 0x9, 0x4, 0x8, 0x9, 0x0, 0x4, 0x4, 0x8, 0xe, 0x1, 0xf, 0x1, 0x9, 0x3, 0xf, 0xc, 0xa, 0x0, 0x3, 0x2, 0x4, 0x1, 0x2, 0x3, | ||
| 1104 | 0xf, 0x2, 0x7, 0xb, 0x5, 0x0, 0xd, 0x3, 0x4, 0xf, 0xa, 0x3, 0xc, 0x2, 0x5, 0xe, 0x7, 0x5, 0xd, 0x7, 0x9, 0x0, 0xd, 0x7, 0x9, 0xd, 0x5, 0x7, 0xf, 0xd, 0xb, 0x4, | ||
| 1105 | 0x9, 0x6, 0xf, 0xb, 0x1, 0xb, 0x6, 0xb, 0xf, 0x7, 0xf, 0x0, 0x4, 0x7, 0x5, 0xa, 0x8, 0x1, 0xf, 0x9, 0x9, 0x0, 0x6, 0xb, 0x1, 0x2, 0x4, 0x3, 0x2, 0x0, 0x7, 0x0, | ||
| 1106 | 0x6, 0x7, 0xf, 0x1, 0xe, 0xa, 0x8, 0x2, 0x9, 0xc, 0x1, 0x5, 0x7, 0x1, 0xb, 0x0, 0x1, 0x3, 0xd, 0x3, 0x0, 0x1, 0xa, 0x0, 0x3, 0x7, 0x1, 0x2, 0xb, 0xc, 0x2, 0x9, | ||
| 1107 | 0x8, 0x8, 0x7, 0x0, 0xd, 0x5, 0x1, 0x5, 0x7, 0x7, 0x2, 0x3, 0x8, 0x7, 0xc, 0x8, 0xf, 0xa, 0xf, 0xf, 0x3, 0x2, 0x0, 0x4, 0x7, 0x5, 0x6, 0xd, 0x6, 0x3, 0xa, 0x4, | ||
| 1108 | 0x1, 0x1, 0x2, 0xc, 0x3, 0xe, 0x2, 0xc, 0x7, 0x6, 0xe, 0xf, 0xb, 0x8, 0x6, 0x6, 0x9, 0x0, 0x4, 0xb, 0xe, 0x4, 0x2, 0x7, 0xf, 0xc, 0x0, 0x6, 0xd, 0xa, 0xe, 0xc, | ||
| 1109 | }); | ||
| 1110 | |||
| 1111 | try testArgs(@Vector(3, i5), .{ -1 << 4, -1, 0 }); | ||
| 1112 | try testArgs(@Vector(3, u5), .{ 0, 1, 1 << 4 }); | ||
| 1113 | |||
| 1114 | try testArgs(@Vector(3, i7), .{ -1 << 6, -1, 0 }); | ||
| 1115 | try testArgs(@Vector(3, u7), .{ 0, 1, 1 << 6 }); | ||
| 1116 | |||
| 1117 | try testArgs(@Vector(3, i8), .{ -1 << 7, -1, 0 }); | ||
| 1118 | try testArgs(@Vector(1, i8), .{ | ||
| 1119 | 0x71, | ||
| 1120 | }); | ||
| 1121 | try testArgs(@Vector(2, i8), .{ | ||
| 1122 | -0x50, -0x43, | ||
| 1123 | }); | ||
| 1124 | try testArgs(@Vector(4, i8), .{ | ||
| 1125 | -0x09, -0x19, -0x15, -0x5d, | ||
| 1126 | }); | ||
| 1127 | try testArgs(@Vector(8, i8), .{ | ||
| 1128 | -0x4f, -0x55, -0x5b, -0x23, -0x76, 0x36, 0x6f, -0x63, | ||
| 1129 | }); | ||
| 1130 | try testArgs(@Vector(16, i8), .{ | ||
| 1131 | 0x24, -0x03, 0x2e, 0x7b, 0x68, 0x29, 0x6c, 0x7f, -0x2f, -0x3b, -0x11, -0x3c, -0x2e, 0x27, -0x45, 0x45, | ||
| 1132 | }); | ||
| 1133 | try testArgs(@Vector(32, i8), .{ | ||
| 1134 | 0x70, 0x33, -0x28, -0x38, -0x3b, 0x44, -0x1d, 0x7d, -0x48, 0x3c, 0x61, -0x09, -0x49, 0x15, 0x0a, -0x5a, | ||
| 1135 | 0x78, 0x11, -0x07, -0x23, 0x4a, -0x72, 0x25, -0x17, -0x51, -0x04, 0x55, 0x20, -0x80, -0x3d, 0x59, -0x39, | ||
| 1136 | }); | ||
| 1137 | try testArgs(@Vector(64, i8), .{ | ||
| 1138 | 0x4f, 0x40, -0x62, -0x4f, 0x37, -0x06, -0x33, 0x4d, -0x10, 0x55, 0x24, -0x76, 0x1d, 0x2b, -0x54, -0x0f, | ||
| 1139 | 0x21, -0x4c, -0x74, -0x07, 0x23, -0x5a, -0x21, -0x4a, -0x7c, -0x16, -0x20, -0x2e, 0x0a, 0x15, 0x03, 0x44, | ||
| 1140 | 0x19, -0x27, 0x3e, 0x61, 0x6e, -0x76, 0x2a, 0x74, -0x21, 0x34, -0x69, -0x18, -0x21, -0x61, -0x34, -0x02, | ||
| 1141 | 0x5e, -0x36, -0x79, -0x0f, 0x26, 0x6e, 0x5f, 0x52, -0x0f, -0x64, 0x1a, 0x74, -0x37, 0x00, -0x47, -0x57, | ||
| 1142 | }); | ||
| 1143 | try testArgs(@Vector(128, i8), .{ | ||
| 1144 | -0x38, -0x19, 0x51, 0x09, 0x76, -0x3b, -0x33, 0x39, 0x67, 0x51, 0x10, 0x77, 0x24, 0x21, 0x6f, -0x1a, | ||
| 1145 | 0x4e, -0x69, 0x2e, -0x78, -0x06, 0x5c, 0x17, 0x2e, -0x0e, -0x2e, 0x09, 0x2a, -0x5f, -0x40, -0x64, 0x3f, | ||
| 1146 | 0x4a, -0x77, -0x54, 0x38, 0x6b, 0x1f, -0x04, 0x40, 0x27, -0x0c, 0x65, -0x46, 0x49, -0x69, -0x53, 0x64, | ||
| 1147 | 0x13, -0x33, 0x3a, -0x10, -0x15, 0x7f, -0x1c, 0x5e, -0x22, 0x2f, -0x75, 0x77, 0x22, 0x6b, -0x32, -0x55, | ||
| 1148 | 0x18, 0x19, 0x2c, -0x27, -0x03, 0x4f, 0x07, 0x0b, 0x44, -0x21, 0x79, 0x55, -0x65, 0x1d, -0x29, 0x2f, | ||
| 1149 | 0x4a, 0x6f, -0x40, -0x57, -0x2f, 0x42, 0x52, 0x68, -0x2a, -0x6b, 0x6f, -0x49, -0x32, 0x52, 0x1e, -0x60, | ||
| 1150 | -0x80, 0x53, 0x5e, 0x73, -0x1e, 0x2d, -0x46, -0x27, 0x4b, 0x57, 0x1f, 0x6a, -0x65, 0x5f, -0x2b, -0x03, | ||
| 1151 | -0x3a, -0x76, -0x51, 0x20, 0x04, -0x0a, 0x2b, -0x04, -0x1e, -0x18, -0x2d, 0x53, -0x58, -0x69, 0x16, 0x19, | ||
| 1152 | }); | ||
| 1153 | |||
| 1154 | try testArgs(@Vector(3, u8), .{ 0, 1, 1 << 7 }); | ||
| 1155 | try testArgs(@Vector(1, u8), .{ | ||
| 1156 | 0x33, | ||
| 1157 | }); | ||
| 1158 | try testArgs(@Vector(2, u8), .{ | ||
| 1159 | 0x66, 0x87, | ||
| 1160 | }); | ||
| 1161 | try testArgs(@Vector(4, u8), .{ | ||
| 1162 | 0x9d, 0xcb, 0x30, 0x7b, | ||
| 1163 | }); | ||
| 1164 | try testArgs(@Vector(8, u8), .{ | ||
| 1165 | 0x4b, 0x35, 0x3f, 0x5c, 0xa5, 0x91, 0x23, 0x6d, | ||
| 1166 | }); | ||
| 1167 | try testArgs(@Vector(16, u8), .{ | ||
| 1168 | 0xb7, 0x57, 0x27, 0x29, 0x58, 0xf8, 0xc9, 0x6c, 0xbe, 0x41, 0xf4, 0xd7, 0x4d, 0x01, 0xf0, 0x37, | ||
| 1169 | }); | ||
| 1170 | try testArgs(@Vector(32, u8), .{ | ||
| 1171 | 0x5f, 0x61, 0x34, 0xe8, 0x37, 0x12, 0xba, 0x5a, 0x85, 0xf3, 0x3e, 0xa2, 0x0f, 0xd0, 0x65, 0xae, | ||
| 1172 | 0xed, 0xf5, 0xe8, 0x65, 0x61, 0x28, 0x4a, 0x27, 0x2e, 0x01, 0x40, 0x8c, 0xe3, 0x36, 0x5d, 0xb6, | ||
| 1173 | }); | ||
| 1174 | try testArgs(@Vector(64, u8), .{ | ||
| 1175 | 0xb0, 0x19, 0x5c, 0xc2, 0x3b, 0x16, 0x70, 0xad, 0x26, 0x45, 0xf2, 0xe1, 0x4f, 0x0f, 0x01, 0x72, | ||
| 1176 | 0x7f, 0x1f, 0x07, 0x9e, 0xee, 0x9b, 0xb3, 0x38, 0x50, 0xf3, 0x56, 0x73, 0xd0, 0xd1, 0xee, 0xe3, | ||
| 1177 | 0xeb, 0xf3, 0x1b, 0xe0, 0x77, 0x78, 0x75, 0xc6, 0x19, 0xe4, 0x69, 0xaa, 0x73, 0x08, 0xcd, 0x0c, | ||
| 1178 | 0xf9, 0xed, 0x94, 0xf8, 0x79, 0x86, 0x63, 0x31, 0xbf, 0xd1, 0xe3, 0x17, 0x2b, 0xb9, 0xa1, 0x72, | ||
| 1179 | }); | ||
| 1180 | try testArgs(@Vector(128, u8), .{ | ||
| 1181 | 0x2e, 0x93, 0x87, 0x09, 0x4f, 0x68, 0x14, 0xab, 0x3f, 0x04, 0x86, 0xc1, 0x95, 0xe8, 0x74, 0x11, | ||
| 1182 | 0x57, 0x25, 0xe1, 0x88, 0xc0, 0x96, 0x33, 0x99, 0x15, 0x86, 0x2c, 0x84, 0x2e, 0xd7, 0x57, 0x21, | ||
| 1183 | 0xd3, 0x18, 0xd5, 0x0e, 0xb4, 0x60, 0xe2, 0x08, 0xce, 0xbc, 0xd5, 0x4d, 0x8f, 0x59, 0x01, 0x67, | ||
| 1184 | 0x71, 0x0a, 0x74, 0x48, 0xef, 0x39, 0x49, 0x7e, 0xa8, 0x39, 0x34, 0x75, 0x95, 0x3b, 0x38, 0xea, | ||
| 1185 | 0x60, 0xd7, 0xed, 0x8f, 0xbb, 0xc0, 0x7d, 0xc2, 0x79, 0x2d, 0xbf, 0xa5, 0x64, 0xf4, 0x09, 0x86, | ||
| 1186 | 0xfb, 0x29, 0xfe, 0xc7, 0xff, 0x62, 0x1a, 0x6f, 0xf8, 0xbd, 0xfe, 0xa4, 0xac, 0x24, 0xcf, 0x56, | ||
| 1187 | 0x82, 0x69, 0x81, 0x0d, 0xc1, 0x51, 0x8d, 0x85, 0xf4, 0x00, 0xe7, 0x25, 0xab, 0xa5, 0x33, 0x45, | ||
| 1188 | 0x66, 0x2e, 0x33, 0xc8, 0xf3, 0x35, 0x16, 0x7d, 0x1f, 0xc9, 0xf7, 0x44, 0xab, 0x66, 0x28, 0x0d, | ||
| 1189 | }); | ||
| 1190 | |||
| 1191 | try testArgs(@Vector(3, i9), .{ -1 << 8, -1, 0 }); | ||
| 1192 | try testArgs(@Vector(3, u9), .{ 0, 1, 1 << 8 }); | ||
| 1193 | |||
| 1194 | try testArgs(@Vector(3, i15), .{ -1 << 14, -1, 0 }); | ||
| 1195 | try testArgs(@Vector(3, u15), .{ 0, 1, 1 << 14 }); | ||
| 1196 | |||
| 1197 | try testArgs(@Vector(3, i16), .{ -1 << 15, -1, 0 }); | ||
| 1198 | try testArgs(@Vector(1, i16), .{ | ||
| 1199 | -0x015a, | ||
| 1200 | }); | ||
| 1201 | try testArgs(@Vector(2, i16), .{ | ||
| 1202 | -0x1c2f, 0x5ce8, | ||
| 1203 | }); | ||
| 1204 | try testArgs(@Vector(4, i16), .{ | ||
| 1205 | 0x1212, 0x5bfc, -0x20ea, 0x0993, | ||
| 1206 | }); | ||
| 1207 | try testArgs(@Vector(8, i16), .{ | ||
| 1208 | 0x4d55, -0x0dfb, -0x7921, 0x7e20, 0x74a5, -0x7371, -0x08e0, 0x7f23, | ||
| 1209 | }); | ||
| 1210 | try testArgs(@Vector(16, i16), .{ | ||
| 1211 | 0x2354, -0x048a, -0x3ef9, 0x29d4, 0x4e5e, -0x3da9, -0x0cc4, -0x0377, | ||
| 1212 | 0x4d44, 0x4384, -0x1e46, 0x0bf1, 0x3151, -0x57c6, -0x367e, -0x7ae5, | ||
| 1213 | }); | ||
| 1214 | try testArgs(@Vector(32, i16), .{ | ||
| 1215 | 0x5b5a, -0x54c4, -0x2089, -0x448d, 0x38e8, -0x36a5, -0x0a8f, 0x06e0, | ||
| 1216 | 0x09d9, 0x3877, 0x33c8, 0x5d3a, 0x018b, 0x29c9, 0x6f59, -0x4078, | ||
| 1217 | 0x6be4, -0x249e, 0x43b3, -0x0389, 0x545e, 0x6ed7, 0x6636, 0x587d, | ||
| 1218 | 0x55b0, -0x608b, 0x72e0, 0x4dfd, -0x051d, 0x7433, -0x7fc2, 0x2de3, | ||
| 1219 | }); | ||
| 1220 | try testArgs(@Vector(64, i16), .{ | ||
| 1221 | 0x7834, -0x43f9, -0x1cb3, -0x05f2, 0x25b5, 0x55f2, 0x4cfb, -0x58bb, | ||
| 1222 | 0x7292, -0x082e, -0x5a6e, 0x1fc8, -0x1f49, 0x7e3c, 0x4aa5, -0x617e, | ||
| 1223 | 0x2fab, -0x2b96, 0x7474, -0x6644, -0x5484, -0x278e, -0x6a0e, -0x5210, | ||
| 1224 | 0x1adf, -0x2799, 0x61e0, -0x733c, -0x6bcc, -0x6fe2, -0x4e91, 0x5d01, | ||
| 1225 | 0x3745, 0x24eb, 0x6c89, 0x4a94, -0x7339, 0x4907, -0x4f8f, -0x7e39, | ||
| 1226 | 0x1a32, 0x65ca, -0x6c27, -0x3269, 0x107b, 0x1c53, -0x5529, 0x5232, | ||
| 1227 | -0x26ec, 0x4442, -0x63f5, -0x174a, 0x3033, -0x7363, 0x58be, 0x239f, | ||
| 1228 | 0x7f7b, -0x437d, -0x6df6, 0x0a7b, 0x3faa, -0x1d75, -0x7426, 0x1274, | ||
| 1229 | }); | ||
| 1230 | |||
| 1231 | try testArgs(@Vector(3, u16), .{ 0, 1, 1 << 15 }); | ||
| 1232 | try testArgs(@Vector(1, u16), .{ | ||
| 1233 | 0x4da6, | ||
| 1234 | }); | ||
| 1235 | try testArgs(@Vector(2, u16), .{ | ||
| 1236 | 0x04d7, 0x50c6, | ||
| 1237 | }); | ||
| 1238 | try testArgs(@Vector(4, u16), .{ | ||
| 1239 | 0x4c06, 0xd71f, 0x4d8f, 0xe0a4, | ||
| 1240 | }); | ||
| 1241 | try testArgs(@Vector(8, u16), .{ | ||
| 1242 | 0xee9a, 0x881d, 0x31fb, 0xd3f7, 0x2c74, 0x6949, 0x4e04, 0x53d7, | ||
| 1243 | }); | ||
| 1244 | try testArgs(@Vector(16, u16), .{ | ||
| 1245 | 0xeafe, 0x9a7b, 0x0d6f, 0x18cb, 0xaf8f, 0x8ee4, 0xa47e, 0xd39a, | ||
| 1246 | 0x6572, 0x9c53, 0xf36e, 0x982e, 0x41c1, 0x8682, 0xf5dc, 0x7e01, | ||
| 1247 | }); | ||
| 1248 | try testArgs(@Vector(32, u16), .{ | ||
| 1249 | 0xdfb3, 0x7de6, 0xd9ed, 0xb42e, 0x95ac, 0x9b5b, 0x0422, 0xdfcd, | ||
| 1250 | 0x6196, 0x4dbe, 0x1818, 0x8816, 0x75e7, 0xc9b0, 0x92f7, 0x1f71, | ||
| 1251 | 0xe584, 0x576c, 0x043a, 0x0f31, 0xfc4c, 0x2c87, 0x6b02, 0x0229, | ||
| 1252 | 0x25b7, 0x53cd, 0x9bab, 0x866b, 0x9008, 0xf0f3, 0xeb21, 0x88e2, | ||
| 1253 | }); | ||
| 1254 | try testArgs(@Vector(64, u16), .{ | ||
| 1255 | 0x084c, 0x445f, 0xce89, 0xd3ee, 0xb399, 0x315d, 0x8ef8, 0x4f6f, | ||
| 1256 | 0xf9af, 0xcbc4, 0x0332, 0xcd55, 0xa4dc, 0xbc38, 0x6e33, 0x8ead, | ||
| 1257 | 0xd15a, 0x5057, 0x58ef, 0x657a, 0xe9f0, 0x1418, 0x2b62, 0x3387, | ||
| 1258 | 0x1c15, 0x04e1, 0x0276, 0x3783, 0xad9c, 0xea9a, 0x0e5e, 0xe803, | ||
| 1259 | 0x2ee7, 0x0cf1, 0x30f1, 0xb12a, 0x381b, 0x353d, 0xf637, 0xf853, | ||
| 1260 | 0x2ac1, 0x7ce8, 0x6a50, 0xcbb8, 0xc9b8, 0x9b25, 0xd1e9, 0xeff0, | ||
| 1261 | 0xc0a2, 0x8e51, 0xde7a, 0x4e58, 0x5685, 0xeb3f, 0xd29b, 0x66ed, | ||
| 1262 | 0x3dd5, 0xcb59, 0x6003, 0xf710, 0x943a, 0x7276, 0xe547, 0xe48f, | ||
| 1263 | }); | ||
| 1264 | |||
| 1265 | try testArgs(@Vector(3, i17), .{ -1 << 16, -1, 0 }); | ||
| 1266 | try testArgs(@Vector(3, u17), .{ 0, 1, 1 << 16 }); | ||
| 1267 | |||
| 1268 | try testArgs(@Vector(3, i31), .{ -1 << 30, -1, 0 }); | ||
| 1269 | try testArgs(@Vector(3, u31), .{ 0, 1, 1 << 30 }); | ||
| 1270 | |||
| 1271 | try testArgs(@Vector(3, i32), .{ -1 << 31, -1, 0 }); | ||
| 1272 | try testArgs(@Vector(1, i32), .{ | ||
| 1273 | -0x27f49dce, | ||
| 1274 | }); | ||
| 1275 | try testArgs(@Vector(2, i32), .{ | ||
| 1276 | 0x24641ec7, 0x436c5bd2, | ||
| 1277 | }); | ||
| 1278 | try testArgs(@Vector(4, i32), .{ | ||
| 1279 | 0x59e5eff1, -0x46b5b8db, -0x1029efa7, -0x1937fe73, | ||
| 1280 | }); | ||
| 1281 | try testArgs(@Vector(8, i32), .{ | ||
| 1282 | 0x0ca01401, -0x46b2bc0c, 0x51e5dee7, -0x74edfde8, | ||
| 1283 | -0x0ab09a6a, -0x5a51a88b, 0x18c28bc2, 0x63d79966, | ||
| 1284 | }); | ||
| 1285 | try testArgs(@Vector(16, i32), .{ | ||
| 1286 | 0x3900e6c8, 0x2408c2bb, 0x5e01bc6e, -0x0eb8c400, | ||
| 1287 | 0x4c0dc6c2, 0x6c75e7f5, -0x66632ca8, 0x0e978daf, | ||
| 1288 | 0x61ffe725, 0x720253e4, -0x6f6c38c1, -0x3302e60a, | ||
| 1289 | 0x43f53c92, 0x5a3c1075, 0x7044a110, 0x18e41ad8, | ||
| 1290 | }); | ||
| 1291 | try testArgs(@Vector(32, i32), .{ | ||
| 1292 | 0x3a5c2b01, 0x2a52d9fa, -0x5843fc47, 0x6c493c7d, | ||
| 1293 | -0x47937cb1, -0x3ad95ec4, 0x71cf5e7b, -0x3b6719c2, | ||
| 1294 | 0x06bace17, -0x6ccda5ed, 0x42b9ed04, 0x6be2b287, | ||
| 1295 | -0x7cf56523, -0x3c98e2e4, 0x1e7db6c0, -0x7e668ad2, | ||
| 1296 | -0x6c245ecf, -0x09842450, -0x403a4335, -0x7a68e9b7, | ||
| 1297 | 0x0036cf57, -0x251edb4e, -0x67ec3abf, -0x183f0333, | ||
| 1298 | -0x4b46723c, -0x1e5383d6, 0x188c1de3, 0x400b3648, | ||
| 1299 | -0x4b21d9d3, 0x61635257, 0x179eb187, 0x31cd8376, | ||
| 1300 | }); | ||
| 1301 | |||
| 1302 | try testArgs(@Vector(3, u32), .{ 0, 1, 1 << 31 }); | ||
| 1303 | try testArgs(@Vector(1, u32), .{ | ||
| 1304 | 0x17e2805c, | ||
| 1305 | }); | ||
| 1306 | try testArgs(@Vector(2, u32), .{ | ||
| 1307 | 0xdb6aadc5, 0xb1ff3754, | ||
| 1308 | }); | ||
| 1309 | try testArgs(@Vector(4, u32), .{ | ||
| 1310 | 0xf7897b31, 0x342e1af9, 0x190fd76b, 0x283b5374, | ||
| 1311 | }); | ||
| 1312 | try testArgs(@Vector(8, u32), .{ | ||
| 1313 | 0x81a0bd16, 0xc55da94e, 0x910f7e7c, 0x078d5ef7, | ||
| 1314 | 0x0bdb1e4a, 0xf1a96e99, 0xcdd729b5, 0xe6966a1c, | ||
| 1315 | }); | ||
| 1316 | try testArgs(@Vector(16, u32), .{ | ||
| 1317 | 0xfee812db, 0x29eacbed, 0xaed48136, 0x3053de13, | ||
| 1318 | 0xbbda20df, 0x6faa274a, 0xe0b5ec3a, 0x1878b0dc, | ||
| 1319 | 0x98204475, 0x810d8d05, 0x1e6996b6, 0xc543826a, | ||
| 1320 | 0x53b47d8c, 0xc72c3142, 0x12f7e1f9, 0xf6782e54, | ||
| 1321 | }); | ||
| 1322 | try testArgs(@Vector(32, u32), .{ | ||
| 1323 | 0xf0cf30d3, 0xe3c587b8, 0xcee44739, 0xe4a0bd72, | ||
| 1324 | 0x41d44cce, 0x6d7c4259, 0xd85580a5, 0xec4b02d7, | ||
| 1325 | 0xa366483d, 0x2d7b59d4, 0xe9c0ace4, 0x82cb441c, | ||
| 1326 | 0xa23958ba, 0x04a70148, 0x3f0d20a3, 0xf9e21e37, | ||
| 1327 | 0x009fce8b, 0x4a34a229, 0xf09c35cf, 0xc0977d4d, | ||
| 1328 | 0xcc4d4647, 0xa30f1363, 0x27a65b14, 0xe572c785, | ||
| 1329 | 0x8f42e320, 0x2b2cdeca, 0x11205bd4, 0x739d26aa, | ||
| 1330 | 0xcbcc2df0, 0x5f7a3649, 0xbde1b7aa, 0x180a169f, | ||
| 1331 | }); | ||
| 1332 | |||
| 1333 | try testArgs(@Vector(3, i33), .{ -1 << 32, -1, 0 }); | ||
| 1334 | try testArgs(@Vector(3, u33), .{ 0, 1, 1 << 32 }); | ||
| 1335 | |||
| 1336 | try testArgs(@Vector(3, i63), .{ -1 << 62, -1, 0 }); | ||
| 1337 | try testArgs(@Vector(3, u63), .{ 0, 1, 1 << 62 }); | ||
| 1338 | |||
| 1339 | try testArgs(@Vector(3, i64), .{ -1 << 63, -1, 0 }); | ||
| 1340 | try testArgs(@Vector(1, i64), .{ | ||
| 1341 | 0x29113011488d8b65, | ||
| 1342 | }); | ||
| 1343 | try testArgs(@Vector(2, i64), .{ | ||
| 1344 | -0x3f865dcdfd831d03, -0x35512d15095445d6, | ||
| 1345 | }); | ||
| 1346 | try testArgs(@Vector(4, i64), .{ | ||
| 1347 | 0x6f37a9484440251e, 0x2757e5e2b77e6ef3, | ||
| 1348 | 0x4903a91bd2993d0b, 0x162244ba22371f62, | ||
| 1349 | }); | ||
| 1350 | try testArgs(@Vector(8, i64), .{ | ||
| 1351 | -0x46e2340c765175c1, -0x031ee2297e6cc8b3, | ||
| 1352 | -0x2627434d4b4fb796, 0x525e1ef31b6daa46, | ||
| 1353 | 0x72d8eaaea07fa5ea, 0x2a8c0c36da019448, | ||
| 1354 | -0x5419ebf5cd514cde, -0x618c56a881057ac4, | ||
| 1355 | }); | ||
| 1356 | try testArgs(@Vector(16, i64), .{ | ||
| 1357 | 0x36b4a703d084c774, 0x07a500f0d603a4d5, | ||
| 1358 | -0x27387989d2450cdd, 0x02073880984d74c8, | ||
| 1359 | -0x18d1593e36724417, -0x79df283cc6f403d8, | ||
| 1360 | 0x36838a7c54da5f2b, -0x2bf76c1666a1b768, | ||
| 1361 | -0x6ace0d64a2757edc, 0x41442e9979a0ab64, | ||
| 1362 | 0x002612bfdf419826, 0x1128ba5648d22fe8, | ||
| 1363 | 0x49b0f67e0abb8f3b, 0x6bf3e9ac37f73cf3, | ||
| 1364 | -0x5c89f516258c7e77, 0x6b345f04e60d2e56, | ||
| 1365 | }); | ||
| 1366 | |||
| 1367 | try testArgs(@Vector(3, u64), .{ 0, 1, 1 << 63 }); | ||
| 1368 | try testArgs(@Vector(1, u64), .{ | ||
| 1369 | 0x7d2e439abb0edba7, | ||
| 1370 | }); | ||
| 1371 | try testArgs(@Vector(2, u64), .{ | ||
| 1372 | 0x3749ee5a2d237b9f, 0x6d8f4c3e1378f389, | ||
| 1373 | }); | ||
| 1374 | try testArgs(@Vector(4, u64), .{ | ||
| 1375 | 0x03c127040e10d52b, 0xa86fe019072e27eb, | ||
| 1376 | 0x0a554a47b709cdba, 0xf4342cc597e196c3, | ||
| 1377 | }); | ||
| 1378 | try testArgs(@Vector(8, u64), .{ | ||
| 1379 | 0xea455c104375a055, 0x5c35d9d945edb2fa, | ||
| 1380 | 0xc11b73d9d9d546fc, 0x2a9d63aae838dd5b, | ||
| 1381 | 0xed6603f1f5d574b3, 0x2f37b354c81c1e56, | ||
| 1382 | 0xbe7f5e2476bc76bd, 0xb0c88eacfffa9a8f, | ||
| 1383 | }); | ||
| 1384 | try testArgs(@Vector(16, u64), .{ | ||
| 1385 | 0x2258fc04b31f8dbe, 0x3a2e5483003a10d8, | ||
| 1386 | 0xebf24b31c0460510, 0x15d5b4c09b53ffa5, | ||
| 1387 | 0x05abf6e744b17cc6, 0x9747b483f2d159fe, | ||
| 1388 | 0x4616d8b2c8673125, 0x8ae3f91d422447eb, | ||
| 1389 | 0x18da2f101a9e9776, 0x77a1197fb0441007, | ||
| 1390 | 0x4ba480c8ec2dd10b, 0xeb99b9c0a1725278, | ||
| 1391 | 0xd9d0acc5084ecdf0, 0xa0a23317fff4f515, | ||
| 1392 | 0x0901c59a9a6a408b, 0x7c77ca72e25df033, | ||
| 1393 | }); | ||
| 1394 | |||
| 1395 | try testArgs(@Vector(3, i65), .{ -1 << 64, -1, 0 }); | ||
| 1396 | try testArgs(@Vector(3, u65), .{ 0, 1, 1 << 64 }); | ||
| 1397 | |||
| 1398 | try testArgs(@Vector(3, i127), .{ -1 << 126, -1, 0 }); | ||
| 1399 | try testArgs(@Vector(3, u127), .{ 0, 1, 1 << 126 }); | ||
| 1400 | |||
| 1401 | try testArgs(@Vector(3, i128), .{ -1 << 127, -1, 0 }); | ||
| 1402 | try testArgs(@Vector(1, i128), .{ | ||
| 1403 | -0x2b0b1462b44785f39d1b7d763ec7bdb2, | ||
| 1404 | }); | ||
| 1405 | try testArgs(@Vector(2, i128), .{ | ||
| 1406 | -0x2faebe898a6fe60fbc6aadc3623431b7, | ||
| 1407 | 0x5e596259e7b2588860d2b470ba751ace, | ||
| 1408 | }); | ||
| 1409 | try testArgs(@Vector(4, i128), .{ | ||
| 1410 | -0x624cb7e74cf789c06121809a3a5b51ba, | ||
| 1411 | 0x23af4553d4d64672795c2b949635426f, | ||
| 1412 | -0x0b598b1f94876757fb13f2198e902b13, | ||
| 1413 | 0x1daf732f50654d8211d464fda4fc030c, | ||
| 1414 | }); | ||
| 1415 | try testArgs(@Vector(8, i128), .{ | ||
| 1416 | -0x03c7df38daee9bc9a2c659a1a124ef10, | ||
| 1417 | 0x657a590c91905c4021c28b0d6e42304a, | ||
| 1418 | -0x3f5176206dadc974d10e6fcbd67f3d29, | ||
| 1419 | 0x066310ace384b1bc3549c71113b96b8a, | ||
| 1420 | -0x6c0201f66583206fcea7b7fe11889644, | ||
| 1421 | -0x5cc4d2a368002b380b25415be83f8218, | ||
| 1422 | 0x11156c91b97a6a93427009efebcb2c31, | ||
| 1423 | -0x4221b5249ed0686c2ff2d5cab9f1c362, | ||
| 1424 | }); | ||
| 1425 | |||
| 1426 | try testArgs(@Vector(3, u128), .{ 0, 1, 1 << 127 }); | ||
| 1427 | try testArgs(@Vector(1, u128), .{ | ||
| 1428 | 0x809f29e7fbafadc01145e1732590e7d9, | ||
| 1429 | }); | ||
| 1430 | try testArgs(@Vector(2, u128), .{ | ||
| 1431 | 0x5150ac3438aacd0d51132cc2723b2995, | ||
| 1432 | 0x151be9c47ad29cf719cf8358dd40165c, | ||
| 1433 | }); | ||
| 1434 | try testArgs(@Vector(4, u128), .{ | ||
| 1435 | 0x4bae22df929f2f7cb9bd84deaad3e7a8, | ||
| 1436 | 0x1ed46b2d6e1f3569f56b2ac33d8bc1cb, | ||
| 1437 | 0xae93ea459d2ccfd5fb794e6d5c31aabb, | ||
| 1438 | 0xb1177136acf099f550b70949ac202ec4, | ||
| 1439 | }); | ||
| 1440 | try testArgs(@Vector(8, u128), .{ | ||
| 1441 | 0x7cd78db6baed6bfdf8c5265136c4e0fd, | ||
| 1442 | 0xa41b8984c6bbde84640068194b7eba98, | ||
| 1443 | 0xd33102778f2ae1a48d1e9bf8801bbbf0, | ||
| 1444 | 0x0d59f6de003513a60055c86cbce2c200, | ||
| 1445 | 0x825579d90012afddfbf04851c0748561, | ||
| 1446 | 0xc2647c885e9d6f0ee1f5fac5da8ef7f5, | ||
| 1447 | 0xcb4bbc1f81aa8ee68aa4dc140745687b, | ||
| 1448 | 0x4ff10f914f74b46c694407f5bf7c7836, | ||
| 1449 | }); | ||
| 1450 | |||
| 1451 | try testArgs(@Vector(3, i129), .{ -1 << 128, -1, 0 }); | ||
| 1452 | try testArgs(@Vector(3, u129), .{ 0, 1, 1 << 128 }); | ||
| 1453 | |||
| 1454 | try testArgs(@Vector(3, i191), .{ -1 << 190, -1, 0 }); | ||
| 1455 | try testArgs(@Vector(3, u191), .{ 0, 1, 1 << 190 }); | ||
| 1456 | |||
| 1457 | try testArgs(@Vector(3, i192), .{ -1 << 191, -1, 0 }); | ||
| 1458 | try testArgs(@Vector(1, i192), .{ | ||
| 1459 | 0x0206223e53631dfaf431066cf5ac30dd203bb8c7baa0cec7, | ||
| 1460 | }); | ||
| 1461 | try testArgs(@Vector(2, i192), .{ | ||
| 1462 | 0x187a65fa29d1981dacf927e6a8e435481cfdcba6b63b781b, | ||
| 1463 | -0x0f53cb01d7662de0d19fa0b250e5bbc6edf7d3dd152f0dc3, | ||
| 1464 | }); | ||
| 1465 | try testArgs(@Vector(4, i192), .{ | ||
| 1466 | -0x3a456cd0eab663b34d5b6ad15933a31623aacb913adb8e41, | ||
| 1467 | -0x03376d57e9c495ac4ea623e1bf427ae22dcef26e4833da33, | ||
| 1468 | -0x28a90cfee819450e3000f3f2694a7dba2c02311996e01073, | ||
| 1469 | 0x46c6cae4281780acd6a0322c3f4f8b63c3741da31b20a3cd, | ||
| 1470 | }); | ||
| 1471 | |||
| 1472 | try testArgs(@Vector(3, u192), .{ 0, 1, 1 << 191 }); | ||
| 1473 | try testArgs(@Vector(1, u192), .{ | ||
| 1474 | 0xe7baafcb9781626a77571b0539b9471a60c97d6c02106c8b, | ||
| 1475 | }); | ||
| 1476 | try testArgs(@Vector(2, u192), .{ | ||
| 1477 | 0xbc9510913ed09e2c2aa50ffab9f1bc7b303a87f36e232a83, | ||
| 1478 | 0x1f37bee446d7712d1ad457c47a66812cb926198d052aee65, | ||
| 1479 | }); | ||
| 1480 | try testArgs(@Vector(4, u192), .{ | ||
| 1481 | 0xdca6a7cfc19c69efc34022062a8ca36f2569ab3dce001202, | ||
| 1482 | 0xd25a4529e621c9084181fdb6917c6a32eccc58b63601b35d, | ||
| 1483 | 0x0a258afd6debbaf8c158f1caa61fed63b31871d13f51b43d, | ||
| 1484 | 0x6b40a178674fcb82c623ac322f851623d5e993dac97a219a, | ||
| 1485 | }); | ||
| 1486 | |||
| 1487 | try testArgs(@Vector(3, i193), .{ -1 << 192, -1, 0 }); | ||
| 1488 | try testArgs(@Vector(3, u193), .{ 0, 1, 1 << 192 }); | ||
| 1489 | |||
| 1490 | try testArgs(@Vector(3, i255), .{ -1 << 254, -1, 0 }); | ||
| 1491 | try testArgs(@Vector(3, u255), .{ 0, 1, 1 << 254 }); | ||
| 1492 | |||
| 1493 | try testArgs(@Vector(3, i256), .{ -1 << 255, -1, 0 }); | ||
| 1494 | try testArgs(@Vector(1, i256), .{ | ||
| 1495 | 0x59a12bff854679d9b3c6d1d195333d9f748dd1e2a7ad28f24f611a208bf91ed3, | ||
| 1496 | }); | ||
| 1497 | try testArgs(@Vector(2, i256), .{ | ||
| 1498 | 0x6b266e98bd5e7e66ba90f2e1cb2ff555ac755efdbe0946313660c58b46c589bb, | ||
| 1499 | -0x4ab426d26f53253ae3b2fb412d9649fc8071db22605e528f918b9a3ee9d2a832, | ||
| 1500 | }); | ||
| 1501 | try testArgs(@Vector(4, i256), .{ | ||
| 1502 | -0x3a64f67fddd0859c0f3b063fc12b13b1865447b87d1740de51358421f50553b5, | ||
| 1503 | -0x7c364fc0218f1cab29425b1a4c9cbdbf0c676375bee8079b135ce40de3557c0b, | ||
| 1504 | 0x368d25dc3eab1b00decd18679b29b7f4d95314161bd3ee687f2896e8cd525311, | ||
| 1505 | -0x6d9aacd172a363bf2d53ea497c289fd35e62c2484329c208e10a91b4cea88111, | ||
| 1506 | }); | ||
| 1507 | |||
| 1508 | try testArgs(@Vector(3, u256), .{ 0, 1, 1 << 255 }); | ||
| 1509 | try testArgs(@Vector(1, u256), .{ | ||
| 1510 | 0x230413bb481fa3a997796acf282010c560d1942e7339fd584a0f15a90c83fbda, | ||
| 1511 | }); | ||
| 1512 | try testArgs(@Vector(2, u256), .{ | ||
| 1513 | 0x3ad569f8d91fdbc9da8ec0e933565919f2feb90b996c90c352b461aa0908e62d, | ||
| 1514 | 0x0f109696d64647983f1f757042515510729ad1350e862cbf38cb73b5cf99f0f7, | ||
| 1515 | }); | ||
| 1516 | try testArgs(@Vector(4, u256), .{ | ||
| 1517 | 0x1717c6ded4ac6de282d59f75f068da47d5a47a30f2c5053d2d59e715f9d28b97, | ||
| 1518 | 0x3087189ce7540e2e0028b80af571ebc6353a00b2917f243a869ed29ecca0adaa, | ||
| 1519 | 0x1507c6a9d104684bf503cdb08841cf91adab4644306bd67aafff5326604833ce, | ||
| 1520 | 0x857e134ff9179733c871295b25f824bd3eb562977bad30890964fa0cdc15bb07, | ||
| 1521 | }); | ||
| 1522 | |||
| 1523 | try testArgs(@Vector(3, i257), .{ -1 << 256, -1, 0 }); | ||
| 1524 | try testArgs(@Vector(3, u257), .{ 0, 1, 1 << 256 }); | ||
| 1525 | |||
| 1526 | try testArgs(@Vector(3, i511), .{ -1 << 510, -1, 0 }); | ||
| 1527 | try testArgs(@Vector(3, u511), .{ 0, 1, 1 << 510 }); | ||
| 1528 | |||
| 1529 | try testArgs(@Vector(3, i512), .{ -1 << 511, -1, 0 }); | ||
| 1530 | try testArgs(@Vector(1, i512), .{ | ||
| 1531 | -0x235b5d838cdf67b9eb6d7eeb518fb63cff402a74c687927feb363b5040556b8d32c55e565cc2fe33cb4dcc37e8fd1c92989522c11b6c186d11400d17e40d35b5, | ||
| 1532 | }); | ||
| 1533 | try testArgs(@Vector(2, i512), .{ | ||
| 1534 | -0x5f5ff44fec38adc4c9c8bc8de00acf01fcc62bc55d07033f4e788d4f3825382e1e39f6bd69dff328eec9a89486ebaaaffd9ab69d28eb7d952be4ef250cff6de1, | ||
| 1535 | -0x403e0fd866e1598ad928ecd234005debd527483375f5e7e79eee3a129868354acb5b74e42de9f297f81062d04ea41adc158e542ab04770dd039d527cffb81845, | ||
| 1536 | }); | ||
| 1537 | |||
| 1538 | try testArgs(@Vector(3, u512), .{ 0, 1, 1 << 511 }); | ||
| 1539 | try testArgs(@Vector(1, u512), .{ | ||
| 1540 | 0xa3ff51a609f1370e5eeb96b05169bf7469e465cf76ac5b4ea8ffd166c1ba3cd94f2dedf0d647a1fe424f3a06e6d7940f03e257f28100970b00bd5528c52b9ae6, | ||
| 1541 | }); | ||
| 1542 | try testArgs(@Vector(2, u512), .{ | ||
| 1543 | 0xc6d43cd46ae31ab71f9468a895c83bf17516c6b2f1c9b04b9aa113bf7fe1b789eb7d95fcf951f12a9a6f2124589551efdd8c00f528b366a7bfb852faf8f3da53, | ||
| 1544 | 0xc9099d2bdf8d1a0d30485ec6db4a24cbc0d89a863de30e18313ee1d66f71dd2d26235caaa703286cf4a2b51e1a12ef96d2d944c66c0bd3f0d72dd4cf0fc8100e, | ||
| 1545 | }); | ||
| 1546 | |||
| 1547 | try testArgs(@Vector(3, i513), .{ -1 << 512, -1, 0 }); | ||
| 1548 | try testArgs(@Vector(3, u513), .{ 0, 1, 1 << 512 }); | ||
| 1549 | |||
| 1550 | try testArgs(@Vector(3, i1023), .{ -1 << 1022, -1, 0 }); | ||
| 1551 | try testArgs(@Vector(3, u1023), .{ 0, 1, 1 << 1022 }); | ||
| 1552 | |||
| 1553 | try testArgs(@Vector(3, i1024), .{ -1 << 1023, -1, 0 }); | ||
| 1554 | try testArgs(@Vector(1, i1024), .{ | ||
| 1555 | 0x10eee350e115375812126750b24255ca76fdee619b64261c354af58bd4a29af6e2448ccda4d84e1b2fbf76d3710cf1b5e62b1360c3b63e104d0755fa264d6c171f8f7a3292d7859b08a5dff60e9ad8ba9dcdd7e6098eb70be7a27a0cbcc6480661330c21299b2960fac954ee4480f3a2cc1ca5a492e1e75084c079ba701cd7ab, | ||
| 1556 | }); | ||
| 1557 | |||
| 1558 | try testArgs(@Vector(3, u1024), .{ 0, 1, 1 << 1023 }); | ||
| 1559 | try testArgs(@Vector(1, u1024), .{ | ||
| 1560 | 0xc6cfaa6571139552e1f067402dfc131d9b9a58aafda97198a78764b05138fb68cf26f085b7652f3d5ae0e56aa21732f296a581bb411d4a73795c213de793489fa49b173b9f5c089aa6295ff1fcdc14d491a05035b45d08fc35cd67a83d887a02b8db512f07518132e0ba56533c7d6fbe958255eddf5649bd8aba288c0dd84a25, | ||
| 1561 | }); | ||
| 1562 | |||
| 1563 | try testArgs(@Vector(3, i1025), .{ -1 << 1024, -1, 0 }); | ||
| 1564 | try testArgs(@Vector(3, u1025), .{ 0, 1, 1 << 1024 }); | ||
| 1565 | } | ||
| 1566 | fn testFloatVectorTypes() !void { | ||
| 1567 | try testArgs(@Vector(1, f16), undefined); | ||
| 1568 | try testArgs(@Vector(2, f16), undefined); | ||
| 1569 | try testArgs(@Vector(4, f16), undefined); | ||
| 1570 | try testArgs(@Vector(8, f16), undefined); | ||
| 1571 | try testArgs(@Vector(16, f16), undefined); | ||
| 1572 | try testArgs(@Vector(32, f16), undefined); | ||
| 1573 | try testArgs(@Vector(64, f16), undefined); | ||
| 1574 | |||
| 1575 | try testArgs(@Vector(1, f32), undefined); | ||
| 1576 | try testArgs(@Vector(2, f32), undefined); | ||
| 1577 | try testArgs(@Vector(4, f32), undefined); | ||
| 1578 | try testArgs(@Vector(8, f32), undefined); | ||
| 1579 | try testArgs(@Vector(16, f32), undefined); | ||
| 1580 | try testArgs(@Vector(32, f32), undefined); | ||
| 1581 | |||
| 1582 | try testArgs(@Vector(1, f64), undefined); | ||
| 1583 | try testArgs(@Vector(2, f64), undefined); | ||
| 1584 | try testArgs(@Vector(4, f64), undefined); | ||
| 1585 | try testArgs(@Vector(8, f64), undefined); | ||
| 1586 | try testArgs(@Vector(16, f64), undefined); | ||
| 1587 | |||
| 1588 | try testArgs(@Vector(1, f80), undefined); | ||
| 1589 | try testArgs(@Vector(2, f80), undefined); | ||
| 1590 | try testArgs(@Vector(4, f80), undefined); | ||
| 1591 | try testArgs(@Vector(8, f80), undefined); | ||
| 1592 | |||
| 1593 | try testArgs(@Vector(1, f128), undefined); | ||
| 1594 | try testArgs(@Vector(2, f128), undefined); | ||
| 1595 | try testArgs(@Vector(4, f128), undefined); | ||
| 1596 | try testArgs(@Vector(8, f128), undefined); | ||
| 1597 | } | ||
| 1598 | fn testFloatVectors() !void { | ||
| 1599 | try testArgs(@Vector(1, f16), .{ | ||
| 1600 | -0x1.17cp-12, | ||
| 1601 | }); | ||
| 1602 | try testArgs(@Vector(2, f16), .{ | ||
| 1603 | 0x1.47cp9, 0x1.3acp9, | ||
| 1604 | }); | ||
| 1605 | try testArgs(@Vector(4, f16), .{ | ||
| 1606 | 0x1.ab4p0, -0x1.7fcp-7, -0x1.1cp0, -0x1.f14p12, | ||
| 1607 | }); | ||
| 1608 | try testArgs(@Vector(8, f16), .{ | ||
| 1609 | -0x1.8d8p8, 0x1.83p10, -0x1.5ap-1, -0x1.d78p13, -0x1.608p12, 0x1.e8p-9, -0x1.688p-10, -0x1.738p9, | ||
| 1610 | }); | ||
| 1611 | try testArgs(@Vector(16, f16), .{ | ||
| 1612 | 0x1.da8p-1, -0x1.ed4p-10, -0x1.dc8p1, 0x1.b78p-14, nan(f16), 0x1.9d8p8, nan(f16), 0x1.d5p13, | ||
| 1613 | -0x1.2dp13, 0x1.6c4p12, 0x1.a9cp-11, -0x1.0ecp8, 0x0.4ccp-14, -0x1.0a8p-6, -0x1.5bcp-14, 0x1.6d8p-9, | ||
| 1614 | }); | ||
| 1615 | try testArgs(@Vector(32, f16), .{ | ||
| 1616 | 0x1.d5cp-6, -0x1.a98p5, 0x1.49cp5, -0x1.e4p-1, -0x1.21p-13, -0x1.c94p-1, -0x1.adcp-5, -0x1.524p-1, | ||
| 1617 | -0x1.0d8p-3, -0x1.5c4p-2, 0x1.f84p-2, 0x1.664p1, -0x1.f64p13, -0x1.bf4p4, -0x1.4b8p0, -0x0.f64p-14, | ||
| 1618 | -0x1.3f8p1, 0x1.098p2, -0x1.a44p8, 0x1.048p13, 0x1.fd4p-11, 0x1.18p-9, -0x1.504p2, 0x1.d04p7, | ||
| 1619 | -nan(f16), 0x1.a94p2, 0x0.5e8p-14, -0x1.7acp-7, 0x1.4c8p-3, 0x1.518p-4, nan(f16), 0x1.8f8p10, | ||
| 1620 | }); | ||
| 1621 | try testArgs(@Vector(64, f16), .{ | ||
| 1622 | -0x1.c2p2, 0x0.2fcp-14, 0x1.de8p0, -0x1.714p2, 0x1.f9p-7, -0x1.11cp-13, -0x1.558p10, -0x1.2acp-7, | ||
| 1623 | 0x1.348p14, 0x1.2dcp7, -0x1.8acp-12, -0x1.2cp2, 0x1.868p1, -0x1.1f8p-14, 0x1.638p7, -0x1.734p-5, | ||
| 1624 | 0x0.b98p-14, -0x1.7f4p-12, -0x1.38cp15, 0x1.50cp15, 0x1.91cp8, 0x1.cb4p-1, 0x1.fc4p-13, 0x1.9a4p0, | ||
| 1625 | 0x1.18p-4, 0x1.60cp10, 0x1.6fp-12, 0x1.b48p6, 0x1.37cp-11, 0x1.424p7, 0x1.44cp13, 0x1.aep5, | ||
| 1626 | 0x1.968p14, 0x1.e8p13, -0x1.bp2, -0x1.644p5, 0x1.de4p-8, -0x1.5b4p-14, -0x1.4ap1, -0x1.868p9, | ||
| 1627 | -0x1.d14p0, 0x1.d7cp15, 0x1.3c8p14, 0x1.2ccp-14, -0x1.ee4p8, 0x1.49p-3, 0x1.35cp12, 0x1.d34p6, | ||
| 1628 | 0x1.7acp3, -0x1.fa4p2, 0x1.7b4p13, -0x1.cf4p-12, -0x1.ebcp-10, -0x1.5p-3, 0x1.4bp-6, 0x1.83p12, | ||
| 1629 | -0x1.f9cp-8, -0x1.43p-8, -0x1.99p-1, -0x1.dacp3, -0x1.728p-4, -0x1.03cp4, 0x1.604p-2, -0x1.0ep13, | ||
| 1630 | }); | ||
| 1631 | |||
| 1632 | try testArgs(@Vector(1, f32), .{ | ||
| 1633 | -0x1.17cp-12, | ||
| 1634 | }); | ||
| 1635 | try testArgs(@Vector(2, f32), .{ | ||
| 1636 | -0x1.a3123ap90, -0x1.4a2ec6p-54, | ||
| 1637 | }); | ||
| 1638 | try testArgs(@Vector(4, f32), .{ | ||
| 1639 | -0x1.8a41p77, -0x1.7c54e2p-61, -0x1.498556p-41, 0x1.d77c22p-20, | ||
| 1640 | }); | ||
| 1641 | try testArgs(@Vector(8, f32), .{ | ||
| 1642 | 0x1.943da4p-86, 0x1.528792p95, -0x1.9c9bfap-26, -0x1.8df936p-90, | ||
| 1643 | -0x1.6a70cep56, 0x1.626638p-48, 0x1.7bb2bap-57, -0x1.ac5104p94, | ||
| 1644 | }); | ||
| 1645 | try testArgs(@Vector(16, f32), .{ | ||
| 1646 | 0x1.157044p115, -0x1.416c04p-111, 0x1.a8f164p-104, 0x1.9b6678p84, | ||
| 1647 | -0x1.9d065cp9, -0x1.e8c4b4p126, -0x1.ddb968p84, -0x1.fec8c8p74, | ||
| 1648 | 0x1.64ffb2p59, 0x1.548922p20, 0x1.7270fcp22, -0x1.abac68p33, | ||
| 1649 | 0x1.faabfp33, -0x1.8aee82p55, 0x1.1bf8fp75, 0x1.33c46ap-66, | ||
| 1650 | }); | ||
| 1651 | try testArgs(@Vector(32, f32), .{ | ||
| 1652 | -0x1.039b68p37, -0x1.34de4ap-74, -0x1.05d78ap-76, -0x1.be0f5ap-47, | ||
| 1653 | 0x1.032204p-38, 0x1.ef8e2ap-78, -0x1.b013ecp-80, 0x1.71fe4cp99, | ||
| 1654 | 0x1.abdadap-14, 0x1.56a9a8p-48, -0x1.8bbd7ep9, 0x1.edd308p-72, | ||
| 1655 | -0x1.92fafcp-121, -0x1.50812p19, 0x1.f4ddc4p28, -0x1.6f0b12p-50, | ||
| 1656 | -0x1.12ab02p127, 0x1.24df48p21, -0x1.993c3p-14, -0x1.4cc476p-112, | ||
| 1657 | 0x1.13d9a8p-40, 0x1.a6e652p-9, -0x1.9c730cp-21, -0x1.a75aaap-70, | ||
| 1658 | -0x1.39e632p-111, 0x1.8e8da8p-45, 0x1.b5652cp31, 0x1.258366p44, | ||
| 1659 | 0x1.d473aap92, -0x1.951b64p9, 0x1.542edp15, -0x0.f6222ap-126, | ||
| 1660 | }); | ||
| 1661 | |||
| 1662 | try testArgs(@Vector(1, f64), .{ | ||
| 1663 | -0x1.0114613df6f97p816, | ||
| 1664 | }); | ||
| 1665 | try testArgs(@Vector(2, f64), .{ | ||
| 1666 | -0x1.8404dad72003cp720, -0x1.6b14b40bcf3b7p-176, | ||
| 1667 | }); | ||
| 1668 | try testArgs(@Vector(4, f64), .{ | ||
| 1669 | -0x1.04e1acbfddd9cp681, -0x1.ed553cc056da7p-749, | ||
| 1670 | 0x1.3d3f703a0c893p-905, 0x1.0b35633fa78fp691, | ||
| 1671 | }); | ||
| 1672 | try testArgs(@Vector(8, f64), .{ | ||
| 1673 | -0x1.901a2a60f0562p-301, -0x1.2516175ad61ecp-447, | ||
| 1674 | 0x1.e7b12124846bfp564, 0x1.9291384bd7259p209, | ||
| 1675 | -0x1.a7bf62f803c98p900, 0x1.4e2e26257bb3p987, | ||
| 1676 | -0x1.413ca9a32d894p811, 0x1.61b1dd9432e95p479, | ||
| 1677 | }); | ||
| 1678 | try testArgs(@Vector(16, f64), .{ | ||
| 1679 | -0x1.8fc7286d95f54p-235, -0x1.796a7ea8372b6p-837, | ||
| 1680 | -0x1.8c0f930539acbp-98, -0x1.ec80dfbf0b931p-430, | ||
| 1681 | -0x1.e3d80c640652fp-1019, 0x1.8241238fb542fp161, | ||
| 1682 | -0x1.e1f1a79d50263p137, -0x1.9ac5cb2771c28p-791, | ||
| 1683 | 0x1.4d8f00fe881e7p-401, -0x1.87fbd7bfd99d7p346, | ||
| 1684 | -0x1.a8a7cc575335ep1017, 0x1.37bb88dc3fd8bp-355, | ||
| 1685 | 0x1.9d53d346c0e65p929, -0x1.bbae3d0229c34p289, | ||
| 1686 | -0x1.cb8ef994d5ce5p25, 0x1.ba20af512616ap50, | ||
| 1687 | }); | ||
| 1688 | |||
| 1689 | try testArgs(@Vector(1, f80), .{ | ||
| 1690 | -0x1.a2e9410a7dfedabp-2324, | ||
| 1691 | }); | ||
| 1692 | try testArgs(@Vector(2, f80), .{ | ||
| 1693 | -0x1.a2e9410a7dfedabp-2324, | ||
| 1694 | 0x1.2b17da3b9746885p-8665, | ||
| 1695 | }); | ||
| 1696 | try testArgs(@Vector(4, f80), .{ | ||
| 1697 | -0x1.c488fedb7ab646cep-13007, | ||
| 1698 | 0x1.e914deaccaa50016p2073, | ||
| 1699 | -0x1.d1c7ae8ec3c9df86p10642, | ||
| 1700 | -0x1.2da1658f337fa01p9893, | ||
| 1701 | }); | ||
| 1702 | try testArgs(@Vector(8, f80), .{ | ||
| 1703 | -0x1.bed8a74c43750656p890, | ||
| 1704 | -0x1.7bf57f38004ac976p8481, | ||
| 1705 | -0x1.9cdc10ac0657d328p7884, | ||
| 1706 | 0x1.c86f61883da149fp12293, | ||
| 1707 | -0x1.528d6957df6bfdd8p14125, | ||
| 1708 | -0x1.5ebb4006d0243bfep14530, | ||
| 1709 | -0x1.94b9b18636d12402p-1845, | ||
| 1710 | -0x1.25439a6d68add188p5962, | ||
| 1711 | }); | ||
| 1712 | |||
| 1713 | try testArgs(@Vector(1, f128), .{ | ||
| 1714 | -0x1.d1e6fc3b1e66632e7b79051a47dap14300, | ||
| 1715 | }); | ||
| 1716 | try testArgs(@Vector(2, f128), .{ | ||
| 1717 | 0x1.84b3ac8ffe5893b2c6af8d68de9dp-83, | ||
| 1718 | -0x1.438ca2c8a0d8e3ee9062d351c46ep-10235, | ||
| 1719 | }); | ||
| 1720 | try testArgs(@Vector(4, f128), .{ | ||
| 1721 | 0x1.04eb03882d4fd1b090e714d3e5ep806, | ||
| 1722 | -0x1.4082b29f7c26e701764c915642ffp-6182, | ||
| 1723 | -0x1.b6f1e8565e5040415110f18b519ap13383, | ||
| 1724 | 0x1.1c29f8c162cead9061c5797ea15ap11957, | ||
| 1725 | }); | ||
| 1726 | try testArgs(@Vector(8, f128), .{ | ||
| 1727 | -0x1.53d7f00cd204d80e5ff5bb665773p11218, | ||
| 1728 | -0x1.4daa1c81cffe28e8fa5cd703c287p2362, | ||
| 1729 | -0x1.cc6a71c3ad4560871efdbd025cd7p-8116, | ||
| 1730 | -0x1.87f8553cf8772fb6b78e7df3e3bap14523, | ||
| 1731 | -0x1.14b6880f6678f86dfb543dde1c6ep2105, | ||
| 1732 | 0x1.9d2d4398414da9d857e76e8fd7ccp-13668, | ||
| 1733 | 0x1.a37f07af240ded458d103c022064p-1158, | ||
| 1734 | 0x1.425d53e6bd6070b847e5da1ed593p1394, | ||
| 1735 | }); | ||
| 1736 | } | ||
| 1737 | }; | ||
| 1738 | } | ||
| 1739 | |||
| 1740 | fn cast(comptime op: anytype, comptime opts: struct { compare: Compare = .relaxed }) type { | ||
| 1741 | return struct { | ||
| 1742 | // noinline so that `mem_arg` is on the stack | ||
| 1743 | noinline fn testArgKinds( | ||
| 1744 | _: Gpr, | ||
| 1745 | _: Gpr, | ||
| 1746 | _: Gpr, | ||
| 1747 | _: Gpr, | ||
| 1748 | _: Gpr, | ||
| 1749 | _: Gpr, | ||
| 1750 | _: Gpr, | ||
| 1751 | _: Gpr, | ||
| 1752 | _: Sse, | ||
| 1753 | _: Sse, | ||
| 1754 | _: Sse, | ||
| 1755 | _: Sse, | ||
| 1756 | _: Sse, | ||
| 1757 | _: Sse, | ||
| 1758 | _: Sse, | ||
| 1759 | _: Sse, | ||
| 1760 | comptime Result: type, | ||
| 1761 | comptime Type: type, | ||
| 1762 | comptime imm_arg: Type, | ||
| 1763 | mem_arg: Type, | ||
| 1764 | ) !void { | ||
| 1765 | const expected = comptime op(Result, Type, imm_arg, imm_arg); | ||
| 1766 | var reg_arg = mem_arg; | ||
| 1767 | _ = .{&reg_arg}; | ||
| 1768 | try checkExpected(expected, op(Result, Type, reg_arg, imm_arg), opts.compare); | ||
| 1769 | try checkExpected(expected, op(Result, Type, mem_arg, imm_arg), opts.compare); | ||
| 1770 | try checkExpected(expected, op(Result, Type, imm_arg, imm_arg), opts.compare); | ||
| 1771 | } | ||
| 1772 | // noinline for a more helpful stack trace | ||
| 1773 | noinline fn testArgs(comptime Result: type, comptime Type: type, comptime imm_arg: Type) !void { | ||
| 1774 | try testArgKinds( | ||
| 1775 | undefined, | ||
| 1776 | undefined, | ||
| 1777 | undefined, | ||
| 1778 | undefined, | ||
| 1779 | undefined, | ||
| 1780 | undefined, | ||
| 1781 | undefined, | ||
| 1782 | undefined, | ||
| 1783 | undefined, | ||
| 1784 | undefined, | ||
| 1785 | undefined, | ||
| 1786 | undefined, | ||
| 1787 | undefined, | ||
| 1788 | undefined, | ||
| 1789 | undefined, | ||
| 1790 | undefined, | ||
| 1791 | Result, | ||
| 1792 | Type, | ||
| 1793 | imm_arg, | ||
| 1794 | imm_arg, | ||
| 1795 | ); | ||
| 1796 | } | ||
| 1797 | fn testSameSignednessInts() !void { | ||
| 1798 | try testArgs(i8, i1, -1); | ||
| 1799 | try testArgs(i8, i1, 0); | ||
| 1800 | try testArgs(i16, i1, -1); | ||
| 1801 | try testArgs(i16, i1, 0); | ||
| 1802 | try testArgs(i32, i1, -1); | ||
| 1803 | try testArgs(i32, i1, 0); | ||
| 1804 | try testArgs(i64, i1, -1); | ||
| 1805 | try testArgs(i64, i1, 0); | ||
| 1806 | try testArgs(i128, i1, -1); | ||
| 1807 | try testArgs(i128, i1, 0); | ||
| 1808 | try testArgs(i256, i1, -1); | ||
| 1809 | try testArgs(i256, i1, 0); | ||
| 1810 | try testArgs(i512, i1, -1); | ||
| 1811 | try testArgs(i512, i1, 0); | ||
| 1812 | try testArgs(i1024, i1, -1); | ||
| 1813 | try testArgs(i1024, i1, 0); | ||
| 1814 | try testArgs(u8, u1, 0); | ||
| 1815 | try testArgs(u8, u1, 1 << 0); | ||
| 1816 | try testArgs(u16, u1, 0); | ||
| 1817 | try testArgs(u16, u1, 1 << 0); | ||
| 1818 | try testArgs(u32, u1, 0); | ||
| 1819 | try testArgs(u32, u1, 1 << 0); | ||
| 1820 | try testArgs(u64, u1, 0); | ||
| 1821 | try testArgs(u64, u1, 1 << 0); | ||
| 1822 | try testArgs(u128, u1, 0); | ||
| 1823 | try testArgs(u128, u1, 1 << 0); | ||
| 1824 | try testArgs(u256, u1, 0); | ||
| 1825 | try testArgs(u256, u1, 1 << 0); | ||
| 1826 | try testArgs(u512, u1, 0); | ||
| 1827 | try testArgs(u512, u1, 1 << 0); | ||
| 1828 | try testArgs(u1024, u1, 0); | ||
| 1829 | try testArgs(u1024, u1, 1 << 0); | ||
| 1830 | |||
| 1831 | try testArgs(i8, i2, -1 << 1); | ||
| 1832 | try testArgs(i8, i2, -1); | ||
| 1833 | try testArgs(i8, i2, 0); | ||
| 1834 | try testArgs(i16, i2, -1 << 1); | ||
| 1835 | try testArgs(i16, i2, -1); | ||
| 1836 | try testArgs(i16, i2, 0); | ||
| 1837 | try testArgs(i32, i2, -1 << 1); | ||
| 1838 | try testArgs(i32, i2, -1); | ||
| 1839 | try testArgs(i32, i2, 0); | ||
| 1840 | try testArgs(i64, i2, -1 << 1); | ||
| 1841 | try testArgs(i64, i2, -1); | ||
| 1842 | try testArgs(i64, i2, 0); | ||
| 1843 | try testArgs(i128, i2, -1 << 1); | ||
| 1844 | try testArgs(i128, i2, -1); | ||
| 1845 | try testArgs(i128, i2, 0); | ||
| 1846 | try testArgs(i256, i2, -1 << 1); | ||
| 1847 | try testArgs(i256, i2, -1); | ||
| 1848 | try testArgs(i256, i2, 0); | ||
| 1849 | try testArgs(i512, i2, -1 << 1); | ||
| 1850 | try testArgs(i512, i2, -1); | ||
| 1851 | try testArgs(i512, i2, 0); | ||
| 1852 | try testArgs(i1024, i2, -1 << 1); | ||
| 1853 | try testArgs(i1024, i2, -1); | ||
| 1854 | try testArgs(i1024, i2, 0); | ||
| 1855 | try testArgs(u8, u2, 0); | ||
| 1856 | try testArgs(u8, u2, 1 << 0); | ||
| 1857 | try testArgs(u8, u2, 1 << 1); | ||
| 1858 | try testArgs(u16, u2, 0); | ||
| 1859 | try testArgs(u16, u2, 1 << 0); | ||
| 1860 | try testArgs(u16, u2, 1 << 1); | ||
| 1861 | try testArgs(u32, u2, 0); | ||
| 1862 | try testArgs(u32, u2, 1 << 0); | ||
| 1863 | try testArgs(u32, u2, 1 << 1); | ||
| 1864 | try testArgs(u64, u2, 0); | ||
| 1865 | try testArgs(u64, u2, 1 << 0); | ||
| 1866 | try testArgs(u64, u2, 1 << 1); | ||
| 1867 | try testArgs(u128, u2, 0); | ||
| 1868 | try testArgs(u128, u2, 1 << 0); | ||
| 1869 | try testArgs(u128, u2, 1 << 1); | ||
| 1870 | try testArgs(u256, u2, 0); | ||
| 1871 | try testArgs(u256, u2, 1 << 0); | ||
| 1872 | try testArgs(u256, u2, 1 << 1); | ||
| 1873 | try testArgs(u512, u2, 0); | ||
| 1874 | try testArgs(u512, u2, 1 << 0); | ||
| 1875 | try testArgs(u512, u2, 1 << 1); | ||
| 1876 | try testArgs(u1024, u2, 0); | ||
| 1877 | try testArgs(u1024, u2, 1 << 0); | ||
| 1878 | try testArgs(u1024, u2, 1 << 1); | ||
| 1879 | |||
| 1880 | try testArgs(i8, i3, -1 << 2); | ||
| 1881 | try testArgs(i8, i3, -1); | ||
| 1882 | try testArgs(i8, i3, 0); | ||
| 1883 | try testArgs(i16, i3, -1 << 2); | ||
| 1884 | try testArgs(i16, i3, -1); | ||
| 1885 | try testArgs(i16, i3, 0); | ||
| 1886 | try testArgs(i32, i3, -1 << 2); | ||
| 1887 | try testArgs(i32, i3, -1); | ||
| 1888 | try testArgs(i32, i3, 0); | ||
| 1889 | try testArgs(i64, i3, -1 << 2); | ||
| 1890 | try testArgs(i64, i3, -1); | ||
| 1891 | try testArgs(i64, i3, 0); | ||
| 1892 | try testArgs(i128, i3, -1 << 2); | ||
| 1893 | try testArgs(i128, i3, -1); | ||
| 1894 | try testArgs(i128, i3, 0); | ||
| 1895 | try testArgs(i256, i3, -1 << 2); | ||
| 1896 | try testArgs(i256, i3, -1); | ||
| 1897 | try testArgs(i256, i3, 0); | ||
| 1898 | try testArgs(i512, i3, -1 << 2); | ||
| 1899 | try testArgs(i512, i3, -1); | ||
| 1900 | try testArgs(i512, i3, 0); | ||
| 1901 | try testArgs(i1024, i3, -1 << 2); | ||
| 1902 | try testArgs(i1024, i3, -1); | ||
| 1903 | try testArgs(i1024, i3, 0); | ||
| 1904 | try testArgs(u8, u3, 0); | ||
| 1905 | try testArgs(u8, u3, 1 << 0); | ||
| 1906 | try testArgs(u8, u3, 1 << 2); | ||
| 1907 | try testArgs(u16, u3, 0); | ||
| 1908 | try testArgs(u16, u3, 1 << 0); | ||
| 1909 | try testArgs(u16, u3, 1 << 2); | ||
| 1910 | try testArgs(u32, u3, 0); | ||
| 1911 | try testArgs(u32, u3, 1 << 0); | ||
| 1912 | try testArgs(u32, u3, 1 << 2); | ||
| 1913 | try testArgs(u64, u3, 0); | ||
| 1914 | try testArgs(u64, u3, 1 << 0); | ||
| 1915 | try testArgs(u64, u3, 1 << 2); | ||
| 1916 | try testArgs(u128, u3, 0); | ||
| 1917 | try testArgs(u128, u3, 1 << 0); | ||
| 1918 | try testArgs(u128, u3, 1 << 2); | ||
| 1919 | try testArgs(u256, u3, 0); | ||
| 1920 | try testArgs(u256, u3, 1 << 0); | ||
| 1921 | try testArgs(u256, u3, 1 << 2); | ||
| 1922 | try testArgs(u512, u3, 0); | ||
| 1923 | try testArgs(u512, u3, 1 << 0); | ||
| 1924 | try testArgs(u512, u3, 1 << 2); | ||
| 1925 | try testArgs(u1024, u3, 0); | ||
| 1926 | try testArgs(u1024, u3, 1 << 0); | ||
| 1927 | try testArgs(u1024, u3, 1 << 2); | ||
| 1928 | |||
| 1929 | try testArgs(i8, i4, -1 << 3); | ||
| 1930 | try testArgs(i8, i4, -1); | ||
| 1931 | try testArgs(i8, i4, 0); | ||
| 1932 | try testArgs(i16, i4, -1 << 3); | ||
| 1933 | try testArgs(i16, i4, -1); | ||
| 1934 | try testArgs(i16, i4, 0); | ||
| 1935 | try testArgs(i32, i4, -1 << 3); | ||
| 1936 | try testArgs(i32, i4, -1); | ||
| 1937 | try testArgs(i32, i4, 0); | ||
| 1938 | try testArgs(i64, i4, -1 << 3); | ||
| 1939 | try testArgs(i64, i4, -1); | ||
| 1940 | try testArgs(i64, i4, 0); | ||
| 1941 | try testArgs(i128, i4, -1 << 3); | ||
| 1942 | try testArgs(i128, i4, -1); | ||
| 1943 | try testArgs(i128, i4, 0); | ||
| 1944 | try testArgs(i256, i4, -1 << 3); | ||
| 1945 | try testArgs(i256, i4, -1); | ||
| 1946 | try testArgs(i256, i4, 0); | ||
| 1947 | try testArgs(i512, i4, -1 << 3); | ||
| 1948 | try testArgs(i512, i4, -1); | ||
| 1949 | try testArgs(i512, i4, 0); | ||
| 1950 | try testArgs(i1024, i4, -1 << 3); | ||
| 1951 | try testArgs(i1024, i4, -1); | ||
| 1952 | try testArgs(i1024, i4, 0); | ||
| 1953 | try testArgs(u8, u4, 0); | ||
| 1954 | try testArgs(u8, u4, 1 << 0); | ||
| 1955 | try testArgs(u8, u4, 1 << 3); | ||
| 1956 | try testArgs(u16, u4, 0); | ||
| 1957 | try testArgs(u16, u4, 1 << 0); | ||
| 1958 | try testArgs(u16, u4, 1 << 3); | ||
| 1959 | try testArgs(u32, u4, 0); | ||
| 1960 | try testArgs(u32, u4, 1 << 0); | ||
| 1961 | try testArgs(u32, u4, 1 << 3); | ||
| 1962 | try testArgs(u64, u4, 0); | ||
| 1963 | try testArgs(u64, u4, 1 << 0); | ||
| 1964 | try testArgs(u64, u4, 1 << 3); | ||
| 1965 | try testArgs(u128, u4, 0); | ||
| 1966 | try testArgs(u128, u4, 1 << 0); | ||
| 1967 | try testArgs(u128, u4, 1 << 3); | ||
| 1968 | try testArgs(u256, u4, 0); | ||
| 1969 | try testArgs(u256, u4, 1 << 0); | ||
| 1970 | try testArgs(u256, u4, 1 << 3); | ||
| 1971 | try testArgs(u512, u4, 0); | ||
| 1972 | try testArgs(u512, u4, 1 << 0); | ||
| 1973 | try testArgs(u512, u4, 1 << 3); | ||
| 1974 | try testArgs(u1024, u4, 0); | ||
| 1975 | try testArgs(u1024, u4, 1 << 0); | ||
| 1976 | try testArgs(u1024, u4, 1 << 3); | ||
| 1977 | |||
| 1978 | try testArgs(i8, i5, -1 << 4); | ||
| 1979 | try testArgs(i8, i5, -1); | ||
| 1980 | try testArgs(i8, i5, 0); | ||
| 1981 | try testArgs(i16, i5, -1 << 4); | ||
| 1982 | try testArgs(i16, i5, -1); | ||
| 1983 | try testArgs(i16, i5, 0); | ||
| 1984 | try testArgs(i32, i5, -1 << 4); | ||
| 1985 | try testArgs(i32, i5, -1); | ||
| 1986 | try testArgs(i32, i5, 0); | ||
| 1987 | try testArgs(i64, i5, -1 << 4); | ||
| 1988 | try testArgs(i64, i5, -1); | ||
| 1989 | try testArgs(i64, i5, 0); | ||
| 1990 | try testArgs(i128, i5, -1 << 4); | ||
| 1991 | try testArgs(i128, i5, -1); | ||
| 1992 | try testArgs(i128, i5, 0); | ||
| 1993 | try testArgs(i256, i5, -1 << 4); | ||
| 1994 | try testArgs(i256, i5, -1); | ||
| 1995 | try testArgs(i256, i5, 0); | ||
| 1996 | try testArgs(i512, i5, -1 << 4); | ||
| 1997 | try testArgs(i512, i5, -1); | ||
| 1998 | try testArgs(i512, i5, 0); | ||
| 1999 | try testArgs(i1024, i5, -1 << 4); | ||
| 2000 | try testArgs(i1024, i5, -1); | ||
| 2001 | try testArgs(i1024, i5, 0); | ||
| 2002 | try testArgs(u8, u5, 0); | ||
| 2003 | try testArgs(u8, u5, 1 << 0); | ||
| 2004 | try testArgs(u8, u5, 1 << 4); | ||
| 2005 | try testArgs(u16, u5, 0); | ||
| 2006 | try testArgs(u16, u5, 1 << 0); | ||
| 2007 | try testArgs(u16, u5, 1 << 4); | ||
| 2008 | try testArgs(u32, u5, 0); | ||
| 2009 | try testArgs(u32, u5, 1 << 0); | ||
| 2010 | try testArgs(u32, u5, 1 << 4); | ||
| 2011 | try testArgs(u64, u5, 0); | ||
| 2012 | try testArgs(u64, u5, 1 << 0); | ||
| 2013 | try testArgs(u64, u5, 1 << 4); | ||
| 2014 | try testArgs(u128, u5, 0); | ||
| 2015 | try testArgs(u128, u5, 1 << 0); | ||
| 2016 | try testArgs(u128, u5, 1 << 4); | ||
| 2017 | try testArgs(u256, u5, 0); | ||
| 2018 | try testArgs(u256, u5, 1 << 0); | ||
| 2019 | try testArgs(u256, u5, 1 << 4); | ||
| 2020 | try testArgs(u512, u5, 0); | ||
| 2021 | try testArgs(u512, u5, 1 << 0); | ||
| 2022 | try testArgs(u512, u5, 1 << 4); | ||
| 2023 | try testArgs(u1024, u5, 0); | ||
| 2024 | try testArgs(u1024, u5, 1 << 0); | ||
| 2025 | try testArgs(u1024, u5, 1 << 4); | ||
| 2026 | |||
| 2027 | try testArgs(i8, i7, -1 << 6); | ||
| 2028 | try testArgs(i8, i7, -1); | ||
| 2029 | try testArgs(i8, i7, 0); | ||
| 2030 | try testArgs(i16, i7, -1 << 6); | ||
| 2031 | try testArgs(i16, i7, -1); | ||
| 2032 | try testArgs(i16, i7, 0); | ||
| 2033 | try testArgs(i32, i7, -1 << 6); | ||
| 2034 | try testArgs(i32, i7, -1); | ||
| 2035 | try testArgs(i32, i7, 0); | ||
| 2036 | try testArgs(i64, i7, -1 << 6); | ||
| 2037 | try testArgs(i64, i7, -1); | ||
| 2038 | try testArgs(i64, i7, 0); | ||
| 2039 | try testArgs(i128, i7, -1 << 6); | ||
| 2040 | try testArgs(i128, i7, -1); | ||
| 2041 | try testArgs(i128, i7, 0); | ||
| 2042 | try testArgs(i256, i7, -1 << 6); | ||
| 2043 | try testArgs(i256, i7, -1); | ||
| 2044 | try testArgs(i256, i7, 0); | ||
| 2045 | try testArgs(i512, i7, -1 << 6); | ||
| 2046 | try testArgs(i512, i7, -1); | ||
| 2047 | try testArgs(i512, i7, 0); | ||
| 2048 | try testArgs(i1024, i7, -1 << 6); | ||
| 2049 | try testArgs(i1024, i7, -1); | ||
| 2050 | try testArgs(i1024, i7, 0); | ||
| 2051 | try testArgs(u8, u7, 0); | ||
| 2052 | try testArgs(u8, u7, 1 << 0); | ||
| 2053 | try testArgs(u8, u7, 1 << 6); | ||
| 2054 | try testArgs(u16, u7, 0); | ||
| 2055 | try testArgs(u16, u7, 1 << 0); | ||
| 2056 | try testArgs(u16, u7, 1 << 6); | ||
| 2057 | try testArgs(u32, u7, 0); | ||
| 2058 | try testArgs(u32, u7, 1 << 0); | ||
| 2059 | try testArgs(u32, u7, 1 << 6); | ||
| 2060 | try testArgs(u64, u7, 0); | ||
| 2061 | try testArgs(u64, u7, 1 << 0); | ||
| 2062 | try testArgs(u64, u7, 1 << 6); | ||
| 2063 | try testArgs(u128, u7, 0); | ||
| 2064 | try testArgs(u128, u7, 1 << 0); | ||
| 2065 | try testArgs(u128, u7, 1 << 6); | ||
| 2066 | try testArgs(u256, u7, 0); | ||
| 2067 | try testArgs(u256, u7, 1 << 0); | ||
| 2068 | try testArgs(u256, u7, 1 << 6); | ||
| 2069 | try testArgs(u512, u7, 0); | ||
| 2070 | try testArgs(u512, u7, 1 << 0); | ||
| 2071 | try testArgs(u512, u7, 1 << 6); | ||
| 2072 | try testArgs(u1024, u7, 0); | ||
| 2073 | try testArgs(u1024, u7, 1 << 0); | ||
| 2074 | try testArgs(u1024, u7, 1 << 6); | ||
| 2075 | |||
| 2076 | try testArgs(i8, i8, -1 << 7); | ||
| 2077 | try testArgs(i8, i8, -1); | ||
| 2078 | try testArgs(i8, i8, 0); | ||
| 2079 | try testArgs(i16, i8, -1 << 7); | ||
| 2080 | try testArgs(i16, i8, -1); | ||
| 2081 | try testArgs(i16, i8, 0); | ||
| 2082 | try testArgs(i32, i8, -1 << 7); | ||
| 2083 | try testArgs(i32, i8, -1); | ||
| 2084 | try testArgs(i32, i8, 0); | ||
| 2085 | try testArgs(i64, i8, -1 << 7); | ||
| 2086 | try testArgs(i64, i8, -1); | ||
| 2087 | try testArgs(i64, i8, 0); | ||
| 2088 | try testArgs(i128, i8, -1 << 7); | ||
| 2089 | try testArgs(i128, i8, -1); | ||
| 2090 | try testArgs(i128, i8, 0); | ||
| 2091 | try testArgs(i256, i8, -1 << 7); | ||
| 2092 | try testArgs(i256, i8, -1); | ||
| 2093 | try testArgs(i256, i8, 0); | ||
| 2094 | try testArgs(i512, i8, -1 << 7); | ||
| 2095 | try testArgs(i512, i8, -1); | ||
| 2096 | try testArgs(i512, i8, 0); | ||
| 2097 | try testArgs(i1024, i8, -1 << 7); | ||
| 2098 | try testArgs(i1024, i8, -1); | ||
| 2099 | try testArgs(i1024, i8, 0); | ||
| 2100 | try testArgs(u8, u8, 0); | ||
| 2101 | try testArgs(u8, u8, 1 << 0); | ||
| 2102 | try testArgs(u8, u8, 1 << 7); | ||
| 2103 | try testArgs(u16, u8, 0); | ||
| 2104 | try testArgs(u16, u8, 1 << 0); | ||
| 2105 | try testArgs(u16, u8, 1 << 7); | ||
| 2106 | try testArgs(u32, u8, 0); | ||
| 2107 | try testArgs(u32, u8, 1 << 0); | ||
| 2108 | try testArgs(u32, u8, 1 << 7); | ||
| 2109 | try testArgs(u64, u8, 0); | ||
| 2110 | try testArgs(u64, u8, 1 << 0); | ||
| 2111 | try testArgs(u64, u8, 1 << 7); | ||
| 2112 | try testArgs(u128, u8, 0); | ||
| 2113 | try testArgs(u128, u8, 1 << 0); | ||
| 2114 | try testArgs(u128, u8, 1 << 7); | ||
| 2115 | try testArgs(u256, u8, 0); | ||
| 2116 | try testArgs(u256, u8, 1 << 0); | ||
| 2117 | try testArgs(u256, u8, 1 << 7); | ||
| 2118 | try testArgs(u512, u8, 0); | ||
| 2119 | try testArgs(u512, u8, 1 << 0); | ||
| 2120 | try testArgs(u512, u8, 1 << 7); | ||
| 2121 | try testArgs(u1024, u8, 0); | ||
| 2122 | try testArgs(u1024, u8, 1 << 0); | ||
| 2123 | try testArgs(u1024, u8, 1 << 7); | ||
| 2124 | |||
| 2125 | try testArgs(i8, i9, -1 << 8); | ||
| 2126 | try testArgs(i8, i9, -1); | ||
| 2127 | try testArgs(i8, i9, 0); | ||
| 2128 | try testArgs(i16, i9, -1 << 8); | ||
| 2129 | try testArgs(i16, i9, -1); | ||
| 2130 | try testArgs(i16, i9, 0); | ||
| 2131 | try testArgs(i32, i9, -1 << 8); | ||
| 2132 | try testArgs(i32, i9, -1); | ||
| 2133 | try testArgs(i32, i9, 0); | ||
| 2134 | try testArgs(i64, i9, -1 << 8); | ||
| 2135 | try testArgs(i64, i9, -1); | ||
| 2136 | try testArgs(i64, i9, 0); | ||
| 2137 | try testArgs(i128, i9, -1 << 8); | ||
| 2138 | try testArgs(i128, i9, -1); | ||
| 2139 | try testArgs(i128, i9, 0); | ||
| 2140 | try testArgs(i256, i9, -1 << 8); | ||
| 2141 | try testArgs(i256, i9, -1); | ||
| 2142 | try testArgs(i256, i9, 0); | ||
| 2143 | try testArgs(i512, i9, -1 << 8); | ||
| 2144 | try testArgs(i512, i9, -1); | ||
| 2145 | try testArgs(i512, i9, 0); | ||
| 2146 | try testArgs(i1024, i9, -1 << 8); | ||
| 2147 | try testArgs(i1024, i9, -1); | ||
| 2148 | try testArgs(i1024, i9, 0); | ||
| 2149 | try testArgs(u8, u9, 0); | ||
| 2150 | try testArgs(u8, u9, 1 << 0); | ||
| 2151 | try testArgs(u8, u9, 1 << 8); | ||
| 2152 | try testArgs(u16, u9, 0); | ||
| 2153 | try testArgs(u16, u9, 1 << 0); | ||
| 2154 | try testArgs(u16, u9, 1 << 8); | ||
| 2155 | try testArgs(u32, u9, 0); | ||
| 2156 | try testArgs(u32, u9, 1 << 0); | ||
| 2157 | try testArgs(u32, u9, 1 << 8); | ||
| 2158 | try testArgs(u64, u9, 0); | ||
| 2159 | try testArgs(u64, u9, 1 << 0); | ||
| 2160 | try testArgs(u64, u9, 1 << 8); | ||
| 2161 | try testArgs(u128, u9, 0); | ||
| 2162 | try testArgs(u128, u9, 1 << 0); | ||
| 2163 | try testArgs(u128, u9, 1 << 8); | ||
| 2164 | try testArgs(u256, u9, 0); | ||
| 2165 | try testArgs(u256, u9, 1 << 0); | ||
| 2166 | try testArgs(u256, u9, 1 << 8); | ||
| 2167 | try testArgs(u512, u9, 0); | ||
| 2168 | try testArgs(u512, u9, 1 << 0); | ||
| 2169 | try testArgs(u512, u9, 1 << 8); | ||
| 2170 | try testArgs(u1024, u9, 0); | ||
| 2171 | try testArgs(u1024, u9, 1 << 0); | ||
| 2172 | try testArgs(u1024, u9, 1 << 8); | ||
| 2173 | |||
| 2174 | try testArgs(i8, i15, -1 << 14); | ||
| 2175 | try testArgs(i8, i15, -1); | ||
| 2176 | try testArgs(i8, i15, 0); | ||
| 2177 | try testArgs(i16, i15, -1 << 14); | ||
| 2178 | try testArgs(i16, i15, -1); | ||
| 2179 | try testArgs(i16, i15, 0); | ||
| 2180 | try testArgs(i32, i15, -1 << 14); | ||
| 2181 | try testArgs(i32, i15, -1); | ||
| 2182 | try testArgs(i32, i15, 0); | ||
| 2183 | try testArgs(i64, i15, -1 << 14); | ||
| 2184 | try testArgs(i64, i15, -1); | ||
| 2185 | try testArgs(i64, i15, 0); | ||
| 2186 | try testArgs(i128, i15, -1 << 14); | ||
| 2187 | try testArgs(i128, i15, -1); | ||
| 2188 | try testArgs(i128, i15, 0); | ||
| 2189 | try testArgs(i256, i15, -1 << 14); | ||
| 2190 | try testArgs(i256, i15, -1); | ||
| 2191 | try testArgs(i256, i15, 0); | ||
| 2192 | try testArgs(i512, i15, -1 << 14); | ||
| 2193 | try testArgs(i512, i15, -1); | ||
| 2194 | try testArgs(i512, i15, 0); | ||
| 2195 | try testArgs(i1024, i15, -1 << 14); | ||
| 2196 | try testArgs(i1024, i15, -1); | ||
| 2197 | try testArgs(i1024, i15, 0); | ||
| 2198 | try testArgs(u8, u15, 0); | ||
| 2199 | try testArgs(u8, u15, 1 << 0); | ||
| 2200 | try testArgs(u8, u15, 1 << 14); | ||
| 2201 | try testArgs(u16, u15, 0); | ||
| 2202 | try testArgs(u16, u15, 1 << 0); | ||
| 2203 | try testArgs(u16, u15, 1 << 14); | ||
| 2204 | try testArgs(u32, u15, 0); | ||
| 2205 | try testArgs(u32, u15, 1 << 0); | ||
| 2206 | try testArgs(u32, u15, 1 << 14); | ||
| 2207 | try testArgs(u64, u15, 0); | ||
| 2208 | try testArgs(u64, u15, 1 << 0); | ||
| 2209 | try testArgs(u64, u15, 1 << 14); | ||
| 2210 | try testArgs(u128, u15, 0); | ||
| 2211 | try testArgs(u128, u15, 1 << 0); | ||
| 2212 | try testArgs(u128, u15, 1 << 14); | ||
| 2213 | try testArgs(u256, u15, 0); | ||
| 2214 | try testArgs(u256, u15, 1 << 0); | ||
| 2215 | try testArgs(u256, u15, 1 << 14); | ||
| 2216 | try testArgs(u512, u15, 0); | ||
| 2217 | try testArgs(u512, u15, 1 << 0); | ||
| 2218 | try testArgs(u512, u15, 1 << 14); | ||
| 2219 | try testArgs(u1024, u15, 0); | ||
| 2220 | try testArgs(u1024, u15, 1 << 0); | ||
| 2221 | try testArgs(u1024, u15, 1 << 14); | ||
| 2222 | |||
| 2223 | try testArgs(i8, i16, -1 << 15); | ||
| 2224 | try testArgs(i8, i16, -1); | ||
| 2225 | try testArgs(i8, i16, 0); | ||
| 2226 | try testArgs(i16, i16, -1 << 15); | ||
| 2227 | try testArgs(i16, i16, -1); | ||
| 2228 | try testArgs(i16, i16, 0); | ||
| 2229 | try testArgs(i32, i16, -1 << 15); | ||
| 2230 | try testArgs(i32, i16, -1); | ||
| 2231 | try testArgs(i32, i16, 0); | ||
| 2232 | try testArgs(i64, i16, -1 << 15); | ||
| 2233 | try testArgs(i64, i16, -1); | ||
| 2234 | try testArgs(i64, i16, 0); | ||
| 2235 | try testArgs(i128, i16, -1 << 15); | ||
| 2236 | try testArgs(i128, i16, -1); | ||
| 2237 | try testArgs(i128, i16, 0); | ||
| 2238 | try testArgs(i256, i16, -1 << 15); | ||
| 2239 | try testArgs(i256, i16, -1); | ||
| 2240 | try testArgs(i256, i16, 0); | ||
| 2241 | try testArgs(i512, i16, -1 << 15); | ||
| 2242 | try testArgs(i512, i16, -1); | ||
| 2243 | try testArgs(i512, i16, 0); | ||
| 2244 | try testArgs(i1024, i16, -1 << 15); | ||
| 2245 | try testArgs(i1024, i16, -1); | ||
| 2246 | try testArgs(i1024, i16, 0); | ||
| 2247 | try testArgs(u8, u16, 0); | ||
| 2248 | try testArgs(u8, u16, 1 << 0); | ||
| 2249 | try testArgs(u8, u16, 1 << 15); | ||
| 2250 | try testArgs(u16, u16, 0); | ||
| 2251 | try testArgs(u16, u16, 1 << 0); | ||
| 2252 | try testArgs(u16, u16, 1 << 15); | ||
| 2253 | try testArgs(u32, u16, 0); | ||
| 2254 | try testArgs(u32, u16, 1 << 0); | ||
| 2255 | try testArgs(u32, u16, 1 << 15); | ||
| 2256 | try testArgs(u64, u16, 0); | ||
| 2257 | try testArgs(u64, u16, 1 << 0); | ||
| 2258 | try testArgs(u64, u16, 1 << 15); | ||
| 2259 | try testArgs(u128, u16, 0); | ||
| 2260 | try testArgs(u128, u16, 1 << 0); | ||
| 2261 | try testArgs(u128, u16, 1 << 15); | ||
| 2262 | try testArgs(u256, u16, 0); | ||
| 2263 | try testArgs(u256, u16, 1 << 0); | ||
| 2264 | try testArgs(u256, u16, 1 << 15); | ||
| 2265 | try testArgs(u512, u16, 0); | ||
| 2266 | try testArgs(u512, u16, 1 << 0); | ||
| 2267 | try testArgs(u512, u16, 1 << 15); | ||
| 2268 | try testArgs(u1024, u16, 0); | ||
| 2269 | try testArgs(u1024, u16, 1 << 0); | ||
| 2270 | try testArgs(u1024, u16, 1 << 15); | ||
| 2271 | |||
| 2272 | try testArgs(i8, i17, -1 << 16); | ||
| 2273 | try testArgs(i8, i17, -1); | ||
| 2274 | try testArgs(i8, i17, 0); | ||
| 2275 | try testArgs(i16, i17, -1 << 16); | ||
| 2276 | try testArgs(i16, i17, -1); | ||
| 2277 | try testArgs(i16, i17, 0); | ||
| 2278 | try testArgs(i32, i17, -1 << 16); | ||
| 2279 | try testArgs(i32, i17, -1); | ||
| 2280 | try testArgs(i32, i17, 0); | ||
| 2281 | try testArgs(i64, i17, -1 << 16); | ||
| 2282 | try testArgs(i64, i17, -1); | ||
| 2283 | try testArgs(i64, i17, 0); | ||
| 2284 | try testArgs(i128, i17, -1 << 16); | ||
| 2285 | try testArgs(i128, i17, -1); | ||
| 2286 | try testArgs(i128, i17, 0); | ||
| 2287 | try testArgs(i256, i17, -1 << 16); | ||
| 2288 | try testArgs(i256, i17, -1); | ||
| 2289 | try testArgs(i256, i17, 0); | ||
| 2290 | try testArgs(i512, i17, -1 << 16); | ||
| 2291 | try testArgs(i512, i17, -1); | ||
| 2292 | try testArgs(i512, i17, 0); | ||
| 2293 | try testArgs(i1024, i17, -1 << 16); | ||
| 2294 | try testArgs(i1024, i17, -1); | ||
| 2295 | try testArgs(i1024, i17, 0); | ||
| 2296 | try testArgs(u8, u17, 0); | ||
| 2297 | try testArgs(u8, u17, 1 << 0); | ||
| 2298 | try testArgs(u8, u17, 1 << 16); | ||
| 2299 | try testArgs(u16, u17, 0); | ||
| 2300 | try testArgs(u16, u17, 1 << 0); | ||
| 2301 | try testArgs(u16, u17, 1 << 16); | ||
| 2302 | try testArgs(u32, u17, 0); | ||
| 2303 | try testArgs(u32, u17, 1 << 0); | ||
| 2304 | try testArgs(u32, u17, 1 << 16); | ||
| 2305 | try testArgs(u64, u17, 0); | ||
| 2306 | try testArgs(u64, u17, 1 << 0); | ||
| 2307 | try testArgs(u64, u17, 1 << 16); | ||
| 2308 | try testArgs(u128, u17, 0); | ||
| 2309 | try testArgs(u128, u17, 1 << 0); | ||
| 2310 | try testArgs(u128, u17, 1 << 16); | ||
| 2311 | try testArgs(u256, u17, 0); | ||
| 2312 | try testArgs(u256, u17, 1 << 0); | ||
| 2313 | try testArgs(u256, u17, 1 << 16); | ||
| 2314 | try testArgs(u512, u17, 0); | ||
| 2315 | try testArgs(u512, u17, 1 << 0); | ||
| 2316 | try testArgs(u512, u17, 1 << 16); | ||
| 2317 | try testArgs(u1024, u17, 0); | ||
| 2318 | try testArgs(u1024, u17, 1 << 0); | ||
| 2319 | try testArgs(u1024, u17, 1 << 16); | ||
| 2320 | |||
| 2321 | try testArgs(i8, i31, -1 << 30); | ||
| 2322 | try testArgs(i8, i31, -1); | ||
| 2323 | try testArgs(i8, i31, 0); | ||
| 2324 | try testArgs(i16, i31, -1 << 30); | ||
| 2325 | try testArgs(i16, i31, -1); | ||
| 2326 | try testArgs(i16, i31, 0); | ||
| 2327 | try testArgs(i32, i31, -1 << 30); | ||
| 2328 | try testArgs(i32, i31, -1); | ||
| 2329 | try testArgs(i32, i31, 0); | ||
| 2330 | try testArgs(i64, i31, -1 << 30); | ||
| 2331 | try testArgs(i64, i31, -1); | ||
| 2332 | try testArgs(i64, i31, 0); | ||
| 2333 | try testArgs(i128, i31, -1 << 30); | ||
| 2334 | try testArgs(i128, i31, -1); | ||
| 2335 | try testArgs(i128, i31, 0); | ||
| 2336 | try testArgs(i256, i31, -1 << 30); | ||
| 2337 | try testArgs(i256, i31, -1); | ||
| 2338 | try testArgs(i256, i31, 0); | ||
| 2339 | try testArgs(i512, i31, -1 << 30); | ||
| 2340 | try testArgs(i512, i31, -1); | ||
| 2341 | try testArgs(i512, i31, 0); | ||
| 2342 | try testArgs(i1024, i31, -1 << 30); | ||
| 2343 | try testArgs(i1024, i31, -1); | ||
| 2344 | try testArgs(i1024, i31, 0); | ||
| 2345 | try testArgs(u8, u31, 0); | ||
| 2346 | try testArgs(u8, u31, 1 << 0); | ||
| 2347 | try testArgs(u8, u31, 1 << 30); | ||
| 2348 | try testArgs(u16, u31, 0); | ||
| 2349 | try testArgs(u16, u31, 1 << 0); | ||
| 2350 | try testArgs(u16, u31, 1 << 30); | ||
| 2351 | try testArgs(u32, u31, 0); | ||
| 2352 | try testArgs(u32, u31, 1 << 0); | ||
| 2353 | try testArgs(u32, u31, 1 << 30); | ||
| 2354 | try testArgs(u64, u31, 0); | ||
| 2355 | try testArgs(u64, u31, 1 << 0); | ||
| 2356 | try testArgs(u64, u31, 1 << 30); | ||
| 2357 | try testArgs(u128, u31, 0); | ||
| 2358 | try testArgs(u128, u31, 1 << 0); | ||
| 2359 | try testArgs(u128, u31, 1 << 30); | ||
| 2360 | try testArgs(u256, u31, 0); | ||
| 2361 | try testArgs(u256, u31, 1 << 0); | ||
| 2362 | try testArgs(u256, u31, 1 << 30); | ||
| 2363 | try testArgs(u512, u31, 0); | ||
| 2364 | try testArgs(u512, u31, 1 << 0); | ||
| 2365 | try testArgs(u512, u31, 1 << 30); | ||
| 2366 | try testArgs(u1024, u31, 0); | ||
| 2367 | try testArgs(u1024, u31, 1 << 0); | ||
| 2368 | try testArgs(u1024, u31, 1 << 30); | ||
| 2369 | |||
| 2370 | try testArgs(i8, i32, -1 << 31); | ||
| 2371 | try testArgs(i8, i32, -1); | ||
| 2372 | try testArgs(i8, i32, 0); | ||
| 2373 | try testArgs(i16, i32, -1 << 31); | ||
| 2374 | try testArgs(i16, i32, -1); | ||
| 2375 | try testArgs(i16, i32, 0); | ||
| 2376 | try testArgs(i32, i32, -1 << 31); | ||
| 2377 | try testArgs(i32, i32, -1); | ||
| 2378 | try testArgs(i32, i32, 0); | ||
| 2379 | try testArgs(i64, i32, -1 << 31); | ||
| 2380 | try testArgs(i64, i32, -1); | ||
| 2381 | try testArgs(i64, i32, 0); | ||
| 2382 | try testArgs(i128, i32, -1 << 31); | ||
| 2383 | try testArgs(i128, i32, -1); | ||
| 2384 | try testArgs(i128, i32, 0); | ||
| 2385 | try testArgs(i256, i32, -1 << 31); | ||
| 2386 | try testArgs(i256, i32, -1); | ||
| 2387 | try testArgs(i256, i32, 0); | ||
| 2388 | try testArgs(i512, i32, -1 << 31); | ||
| 2389 | try testArgs(i512, i32, -1); | ||
| 2390 | try testArgs(i512, i32, 0); | ||
| 2391 | try testArgs(i1024, i32, -1 << 31); | ||
| 2392 | try testArgs(i1024, i32, -1); | ||
| 2393 | try testArgs(i1024, i32, 0); | ||
| 2394 | try testArgs(u8, u32, 0); | ||
| 2395 | try testArgs(u8, u32, 1 << 0); | ||
| 2396 | try testArgs(u8, u32, 1 << 31); | ||
| 2397 | try testArgs(u16, u32, 0); | ||
| 2398 | try testArgs(u16, u32, 1 << 0); | ||
| 2399 | try testArgs(u16, u32, 1 << 31); | ||
| 2400 | try testArgs(u32, u32, 0); | ||
| 2401 | try testArgs(u32, u32, 1 << 0); | ||
| 2402 | try testArgs(u32, u32, 1 << 31); | ||
| 2403 | try testArgs(u64, u32, 0); | ||
| 2404 | try testArgs(u64, u32, 1 << 0); | ||
| 2405 | try testArgs(u64, u32, 1 << 31); | ||
| 2406 | try testArgs(u128, u32, 0); | ||
| 2407 | try testArgs(u128, u32, 1 << 0); | ||
| 2408 | try testArgs(u128, u32, 1 << 31); | ||
| 2409 | try testArgs(u256, u32, 0); | ||
| 2410 | try testArgs(u256, u32, 1 << 0); | ||
| 2411 | try testArgs(u256, u32, 1 << 31); | ||
| 2412 | try testArgs(u512, u32, 0); | ||
| 2413 | try testArgs(u512, u32, 1 << 0); | ||
| 2414 | try testArgs(u512, u32, 1 << 31); | ||
| 2415 | try testArgs(u1024, u32, 0); | ||
| 2416 | try testArgs(u1024, u32, 1 << 0); | ||
| 2417 | try testArgs(u1024, u32, 1 << 31); | ||
| 2418 | |||
| 2419 | try testArgs(i8, i33, -1 << 32); | ||
| 2420 | try testArgs(i8, i33, -1); | ||
| 2421 | try testArgs(i8, i33, 0); | ||
| 2422 | try testArgs(i16, i33, -1 << 32); | ||
| 2423 | try testArgs(i16, i33, -1); | ||
| 2424 | try testArgs(i16, i33, 0); | ||
| 2425 | try testArgs(i32, i33, -1 << 32); | ||
| 2426 | try testArgs(i32, i33, -1); | ||
| 2427 | try testArgs(i32, i33, 0); | ||
| 2428 | try testArgs(i64, i33, -1 << 32); | ||
| 2429 | try testArgs(i64, i33, -1); | ||
| 2430 | try testArgs(i64, i33, 0); | ||
| 2431 | try testArgs(i128, i33, -1 << 32); | ||
| 2432 | try testArgs(i128, i33, -1); | ||
| 2433 | try testArgs(i128, i33, 0); | ||
| 2434 | try testArgs(i256, i33, -1 << 32); | ||
| 2435 | try testArgs(i256, i33, -1); | ||
| 2436 | try testArgs(i256, i33, 0); | ||
| 2437 | try testArgs(i512, i33, -1 << 32); | ||
| 2438 | try testArgs(i512, i33, -1); | ||
| 2439 | try testArgs(i512, i33, 0); | ||
| 2440 | try testArgs(i1024, i33, -1 << 32); | ||
| 2441 | try testArgs(i1024, i33, -1); | ||
| 2442 | try testArgs(i1024, i33, 0); | ||
| 2443 | try testArgs(u8, u33, 0); | ||
| 2444 | try testArgs(u8, u33, 1 << 0); | ||
| 2445 | try testArgs(u8, u33, 1 << 32); | ||
| 2446 | try testArgs(u16, u33, 0); | ||
| 2447 | try testArgs(u16, u33, 1 << 0); | ||
| 2448 | try testArgs(u16, u33, 1 << 32); | ||
| 2449 | try testArgs(u32, u33, 0); | ||
| 2450 | try testArgs(u32, u33, 1 << 0); | ||
| 2451 | try testArgs(u32, u33, 1 << 32); | ||
| 2452 | try testArgs(u64, u33, 0); | ||
| 2453 | try testArgs(u64, u33, 1 << 0); | ||
| 2454 | try testArgs(u64, u33, 1 << 32); | ||
| 2455 | try testArgs(u128, u33, 0); | ||
| 2456 | try testArgs(u128, u33, 1 << 0); | ||
| 2457 | try testArgs(u128, u33, 1 << 32); | ||
| 2458 | try testArgs(u256, u33, 0); | ||
| 2459 | try testArgs(u256, u33, 1 << 0); | ||
| 2460 | try testArgs(u256, u33, 1 << 32); | ||
| 2461 | try testArgs(u512, u33, 0); | ||
| 2462 | try testArgs(u512, u33, 1 << 0); | ||
| 2463 | try testArgs(u512, u33, 1 << 32); | ||
| 2464 | try testArgs(u1024, u33, 0); | ||
| 2465 | try testArgs(u1024, u33, 1 << 0); | ||
| 2466 | try testArgs(u1024, u33, 1 << 32); | ||
| 2467 | |||
| 2468 | try testArgs(i8, i63, -1 << 62); | ||
| 2469 | try testArgs(i8, i63, -1); | ||
| 2470 | try testArgs(i8, i63, 0); | ||
| 2471 | try testArgs(i16, i63, -1 << 62); | ||
| 2472 | try testArgs(i16, i63, -1); | ||
| 2473 | try testArgs(i16, i63, 0); | ||
| 2474 | try testArgs(i32, i63, -1 << 62); | ||
| 2475 | try testArgs(i32, i63, -1); | ||
| 2476 | try testArgs(i32, i63, 0); | ||
| 2477 | try testArgs(i64, i63, -1 << 62); | ||
| 2478 | try testArgs(i64, i63, -1); | ||
| 2479 | try testArgs(i64, i63, 0); | ||
| 2480 | try testArgs(i128, i63, -1 << 62); | ||
| 2481 | try testArgs(i128, i63, -1); | ||
| 2482 | try testArgs(i128, i63, 0); | ||
| 2483 | try testArgs(i256, i63, -1 << 62); | ||
| 2484 | try testArgs(i256, i63, -1); | ||
| 2485 | try testArgs(i256, i63, 0); | ||
| 2486 | try testArgs(i512, i63, -1 << 62); | ||
| 2487 | try testArgs(i512, i63, -1); | ||
| 2488 | try testArgs(i512, i63, 0); | ||
| 2489 | try testArgs(i1024, i63, -1 << 62); | ||
| 2490 | try testArgs(i1024, i63, -1); | ||
| 2491 | try testArgs(i1024, i63, 0); | ||
| 2492 | try testArgs(u8, u63, 0); | ||
| 2493 | try testArgs(u8, u63, 1 << 0); | ||
| 2494 | try testArgs(u8, u63, 1 << 62); | ||
| 2495 | try testArgs(u16, u63, 0); | ||
| 2496 | try testArgs(u16, u63, 1 << 0); | ||
| 2497 | try testArgs(u16, u63, 1 << 62); | ||
| 2498 | try testArgs(u32, u63, 0); | ||
| 2499 | try testArgs(u32, u63, 1 << 0); | ||
| 2500 | try testArgs(u32, u63, 1 << 62); | ||
| 2501 | try testArgs(u64, u63, 0); | ||
| 2502 | try testArgs(u64, u63, 1 << 0); | ||
| 2503 | try testArgs(u64, u63, 1 << 62); | ||
| 2504 | try testArgs(u128, u63, 0); | ||
| 2505 | try testArgs(u128, u63, 1 << 0); | ||
| 2506 | try testArgs(u128, u63, 1 << 62); | ||
| 2507 | try testArgs(u256, u63, 0); | ||
| 2508 | try testArgs(u256, u63, 1 << 0); | ||
| 2509 | try testArgs(u256, u63, 1 << 62); | ||
| 2510 | try testArgs(u512, u63, 0); | ||
| 2511 | try testArgs(u512, u63, 1 << 0); | ||
| 2512 | try testArgs(u512, u63, 1 << 62); | ||
| 2513 | try testArgs(u1024, u63, 0); | ||
| 2514 | try testArgs(u1024, u63, 1 << 0); | ||
| 2515 | try testArgs(u1024, u63, 1 << 62); | ||
| 2516 | |||
| 2517 | try testArgs(i8, i64, -1 << 63); | ||
| 2518 | try testArgs(i8, i64, -1); | ||
| 2519 | try testArgs(i8, i64, 0); | ||
| 2520 | try testArgs(i16, i64, -1 << 63); | ||
| 2521 | try testArgs(i16, i64, -1); | ||
| 2522 | try testArgs(i16, i64, 0); | ||
| 2523 | try testArgs(i32, i64, -1 << 63); | ||
| 2524 | try testArgs(i32, i64, -1); | ||
| 2525 | try testArgs(i32, i64, 0); | ||
| 2526 | try testArgs(i64, i64, -1 << 63); | ||
| 2527 | try testArgs(i64, i64, -1); | ||
| 2528 | try testArgs(i64, i64, 0); | ||
| 2529 | try testArgs(i128, i64, -1 << 63); | ||
| 2530 | try testArgs(i128, i64, -1); | ||
| 2531 | try testArgs(i128, i64, 0); | ||
| 2532 | try testArgs(i256, i64, -1 << 63); | ||
| 2533 | try testArgs(i256, i64, -1); | ||
| 2534 | try testArgs(i256, i64, 0); | ||
| 2535 | try testArgs(i512, i64, -1 << 63); | ||
| 2536 | try testArgs(i512, i64, -1); | ||
| 2537 | try testArgs(i512, i64, 0); | ||
| 2538 | try testArgs(i1024, i64, -1 << 63); | ||
| 2539 | try testArgs(i1024, i64, -1); | ||
| 2540 | try testArgs(i1024, i64, 0); | ||
| 2541 | try testArgs(u8, u64, 0); | ||
| 2542 | try testArgs(u8, u64, 1 << 0); | ||
| 2543 | try testArgs(u8, u64, 1 << 63); | ||
| 2544 | try testArgs(u16, u64, 0); | ||
| 2545 | try testArgs(u16, u64, 1 << 0); | ||
| 2546 | try testArgs(u16, u64, 1 << 63); | ||
| 2547 | try testArgs(u32, u64, 0); | ||
| 2548 | try testArgs(u32, u64, 1 << 0); | ||
| 2549 | try testArgs(u32, u64, 1 << 63); | ||
| 2550 | try testArgs(u64, u64, 0); | ||
| 2551 | try testArgs(u64, u64, 1 << 0); | ||
| 2552 | try testArgs(u64, u64, 1 << 63); | ||
| 2553 | try testArgs(u128, u64, 0); | ||
| 2554 | try testArgs(u128, u64, 1 << 0); | ||
| 2555 | try testArgs(u128, u64, 1 << 63); | ||
| 2556 | try testArgs(u256, u64, 0); | ||
| 2557 | try testArgs(u256, u64, 1 << 0); | ||
| 2558 | try testArgs(u256, u64, 1 << 63); | ||
| 2559 | try testArgs(u512, u64, 0); | ||
| 2560 | try testArgs(u512, u64, 1 << 0); | ||
| 2561 | try testArgs(u512, u64, 1 << 63); | ||
| 2562 | try testArgs(u1024, u64, 0); | ||
| 2563 | try testArgs(u1024, u64, 1 << 0); | ||
| 2564 | try testArgs(u1024, u64, 1 << 63); | ||
| 2565 | |||
| 2566 | try testArgs(i8, i65, -1 << 64); | ||
| 2567 | try testArgs(i8, i65, -1); | ||
| 2568 | try testArgs(i8, i65, 0); | ||
| 2569 | try testArgs(i16, i65, -1 << 64); | ||
| 2570 | try testArgs(i16, i65, -1); | ||
| 2571 | try testArgs(i16, i65, 0); | ||
| 2572 | try testArgs(i32, i65, -1 << 64); | ||
| 2573 | try testArgs(i32, i65, -1); | ||
| 2574 | try testArgs(i32, i65, 0); | ||
| 2575 | try testArgs(i64, i65, -1 << 64); | ||
| 2576 | try testArgs(i64, i65, -1); | ||
| 2577 | try testArgs(i64, i65, 0); | ||
| 2578 | try testArgs(i128, i65, -1 << 64); | ||
| 2579 | try testArgs(i128, i65, -1); | ||
| 2580 | try testArgs(i128, i65, 0); | ||
| 2581 | try testArgs(i256, i65, -1 << 64); | ||
| 2582 | try testArgs(i256, i65, -1); | ||
| 2583 | try testArgs(i256, i65, 0); | ||
| 2584 | try testArgs(i512, i65, -1 << 64); | ||
| 2585 | try testArgs(i512, i65, -1); | ||
| 2586 | try testArgs(i512, i65, 0); | ||
| 2587 | try testArgs(i1024, i65, -1 << 64); | ||
| 2588 | try testArgs(i1024, i65, -1); | ||
| 2589 | try testArgs(i1024, i65, 0); | ||
| 2590 | try testArgs(u8, u65, 0); | ||
| 2591 | try testArgs(u8, u65, 1 << 0); | ||
| 2592 | try testArgs(u8, u65, 1 << 64); | ||
| 2593 | try testArgs(u16, u65, 0); | ||
| 2594 | try testArgs(u16, u65, 1 << 0); | ||
| 2595 | try testArgs(u16, u65, 1 << 64); | ||
| 2596 | try testArgs(u32, u65, 0); | ||
| 2597 | try testArgs(u32, u65, 1 << 0); | ||
| 2598 | try testArgs(u32, u65, 1 << 64); | ||
| 2599 | try testArgs(u64, u65, 0); | ||
| 2600 | try testArgs(u64, u65, 1 << 0); | ||
| 2601 | try testArgs(u64, u65, 1 << 64); | ||
| 2602 | try testArgs(u128, u65, 0); | ||
| 2603 | try testArgs(u128, u65, 1 << 0); | ||
| 2604 | try testArgs(u128, u65, 1 << 64); | ||
| 2605 | try testArgs(u256, u65, 0); | ||
| 2606 | try testArgs(u256, u65, 1 << 0); | ||
| 2607 | try testArgs(u256, u65, 1 << 64); | ||
| 2608 | try testArgs(u512, u65, 0); | ||
| 2609 | try testArgs(u512, u65, 1 << 0); | ||
| 2610 | try testArgs(u512, u65, 1 << 64); | ||
| 2611 | try testArgs(u1024, u65, 0); | ||
| 2612 | try testArgs(u1024, u65, 1 << 0); | ||
| 2613 | try testArgs(u1024, u65, 1 << 64); | ||
| 2614 | |||
| 2615 | try testArgs(i8, i95, -1 << 94); | ||
| 2616 | try testArgs(i8, i95, -1); | ||
| 2617 | try testArgs(i8, i95, 0); | ||
| 2618 | try testArgs(i16, i95, -1 << 94); | ||
| 2619 | try testArgs(i16, i95, -1); | ||
| 2620 | try testArgs(i16, i95, 0); | ||
| 2621 | try testArgs(i32, i95, -1 << 94); | ||
| 2622 | try testArgs(i32, i95, -1); | ||
| 2623 | try testArgs(i32, i95, 0); | ||
| 2624 | try testArgs(i64, i95, -1 << 94); | ||
| 2625 | try testArgs(i64, i95, -1); | ||
| 2626 | try testArgs(i64, i95, 0); | ||
| 2627 | try testArgs(i128, i95, -1 << 94); | ||
| 2628 | try testArgs(i128, i95, -1); | ||
| 2629 | try testArgs(i128, i95, 0); | ||
| 2630 | try testArgs(i256, i95, -1 << 94); | ||
| 2631 | try testArgs(i256, i95, -1); | ||
| 2632 | try testArgs(i256, i95, 0); | ||
| 2633 | try testArgs(i512, i95, -1 << 94); | ||
| 2634 | try testArgs(i512, i95, -1); | ||
| 2635 | try testArgs(i512, i95, 0); | ||
| 2636 | try testArgs(i1024, i95, -1 << 94); | ||
| 2637 | try testArgs(i1024, i95, -1); | ||
| 2638 | try testArgs(i1024, i95, 0); | ||
| 2639 | try testArgs(u8, u95, 0); | ||
| 2640 | try testArgs(u8, u95, 1 << 0); | ||
| 2641 | try testArgs(u8, u95, 1 << 94); | ||
| 2642 | try testArgs(u16, u95, 0); | ||
| 2643 | try testArgs(u16, u95, 1 << 0); | ||
| 2644 | try testArgs(u16, u95, 1 << 94); | ||
| 2645 | try testArgs(u32, u95, 0); | ||
| 2646 | try testArgs(u32, u95, 1 << 0); | ||
| 2647 | try testArgs(u32, u95, 1 << 94); | ||
| 2648 | try testArgs(u64, u95, 0); | ||
| 2649 | try testArgs(u64, u95, 1 << 0); | ||
| 2650 | try testArgs(u64, u95, 1 << 94); | ||
| 2651 | try testArgs(u128, u95, 0); | ||
| 2652 | try testArgs(u128, u95, 1 << 0); | ||
| 2653 | try testArgs(u128, u95, 1 << 94); | ||
| 2654 | try testArgs(u256, u95, 0); | ||
| 2655 | try testArgs(u256, u95, 1 << 0); | ||
| 2656 | try testArgs(u256, u95, 1 << 94); | ||
| 2657 | try testArgs(u512, u95, 0); | ||
| 2658 | try testArgs(u512, u95, 1 << 0); | ||
| 2659 | try testArgs(u512, u95, 1 << 94); | ||
| 2660 | try testArgs(u1024, u95, 0); | ||
| 2661 | try testArgs(u1024, u95, 1 << 0); | ||
| 2662 | try testArgs(u1024, u95, 1 << 94); | ||
| 2663 | |||
| 2664 | try testArgs(i8, i97, -1 << 96); | ||
| 2665 | try testArgs(i8, i97, -1); | ||
| 2666 | try testArgs(i8, i97, 0); | ||
| 2667 | try testArgs(i16, i97, -1 << 96); | ||
| 2668 | try testArgs(i16, i97, -1); | ||
| 2669 | try testArgs(i16, i97, 0); | ||
| 2670 | try testArgs(i32, i97, -1 << 96); | ||
| 2671 | try testArgs(i32, i97, -1); | ||
| 2672 | try testArgs(i32, i97, 0); | ||
| 2673 | try testArgs(i64, i97, -1 << 96); | ||
| 2674 | try testArgs(i64, i97, -1); | ||
| 2675 | try testArgs(i64, i97, 0); | ||
| 2676 | try testArgs(i128, i97, -1 << 96); | ||
| 2677 | try testArgs(i128, i97, -1); | ||
| 2678 | try testArgs(i128, i97, 0); | ||
| 2679 | try testArgs(i256, i97, -1 << 96); | ||
| 2680 | try testArgs(i256, i97, -1); | ||
| 2681 | try testArgs(i256, i97, 0); | ||
| 2682 | try testArgs(i512, i97, -1 << 96); | ||
| 2683 | try testArgs(i512, i97, -1); | ||
| 2684 | try testArgs(i512, i97, 0); | ||
| 2685 | try testArgs(i1024, i97, -1 << 96); | ||
| 2686 | try testArgs(i1024, i97, -1); | ||
| 2687 | try testArgs(i1024, i97, 0); | ||
| 2688 | try testArgs(u8, u97, 0); | ||
| 2689 | try testArgs(u8, u97, 1 << 0); | ||
| 2690 | try testArgs(u8, u97, 1 << 96); | ||
| 2691 | try testArgs(u16, u97, 0); | ||
| 2692 | try testArgs(u16, u97, 1 << 0); | ||
| 2693 | try testArgs(u16, u97, 1 << 96); | ||
| 2694 | try testArgs(u32, u97, 0); | ||
| 2695 | try testArgs(u32, u97, 1 << 0); | ||
| 2696 | try testArgs(u32, u97, 1 << 96); | ||
| 2697 | try testArgs(u64, u97, 0); | ||
| 2698 | try testArgs(u64, u97, 1 << 0); | ||
| 2699 | try testArgs(u64, u97, 1 << 96); | ||
| 2700 | try testArgs(u128, u97, 0); | ||
| 2701 | try testArgs(u128, u97, 1 << 0); | ||
| 2702 | try testArgs(u128, u97, 1 << 96); | ||
| 2703 | try testArgs(u256, u97, 0); | ||
| 2704 | try testArgs(u256, u97, 1 << 0); | ||
| 2705 | try testArgs(u256, u97, 1 << 96); | ||
| 2706 | try testArgs(u512, u97, 0); | ||
| 2707 | try testArgs(u512, u97, 1 << 0); | ||
| 2708 | try testArgs(u512, u97, 1 << 96); | ||
| 2709 | try testArgs(u1024, u97, 0); | ||
| 2710 | try testArgs(u1024, u97, 1 << 0); | ||
| 2711 | try testArgs(u1024, u97, 1 << 96); | ||
| 2712 | |||
| 2713 | try testArgs(i8, i127, -1 << 126); | ||
| 2714 | try testArgs(i8, i127, -1); | ||
| 2715 | try testArgs(i8, i127, 0); | ||
| 2716 | try testArgs(i16, i127, -1 << 126); | ||
| 2717 | try testArgs(i16, i127, -1); | ||
| 2718 | try testArgs(i16, i127, 0); | ||
| 2719 | try testArgs(i32, i127, -1 << 126); | ||
| 2720 | try testArgs(i32, i127, -1); | ||
| 2721 | try testArgs(i32, i127, 0); | ||
| 2722 | try testArgs(i64, i127, -1 << 126); | ||
| 2723 | try testArgs(i64, i127, -1); | ||
| 2724 | try testArgs(i64, i127, 0); | ||
| 2725 | try testArgs(i128, i127, -1 << 126); | ||
| 2726 | try testArgs(i128, i127, -1); | ||
| 2727 | try testArgs(i128, i127, 0); | ||
| 2728 | try testArgs(i256, i127, -1 << 126); | ||
| 2729 | try testArgs(i256, i127, -1); | ||
| 2730 | try testArgs(i256, i127, 0); | ||
| 2731 | try testArgs(i512, i127, -1 << 126); | ||
| 2732 | try testArgs(i512, i127, -1); | ||
| 2733 | try testArgs(i512, i127, 0); | ||
| 2734 | try testArgs(i1024, i127, -1 << 126); | ||
| 2735 | try testArgs(i1024, i127, -1); | ||
| 2736 | try testArgs(i1024, i127, 0); | ||
| 2737 | try testArgs(u8, u127, 0); | ||
| 2738 | try testArgs(u8, u127, 1 << 0); | ||
| 2739 | try testArgs(u8, u127, 1 << 126); | ||
| 2740 | try testArgs(u16, u127, 0); | ||
| 2741 | try testArgs(u16, u127, 1 << 0); | ||
| 2742 | try testArgs(u16, u127, 1 << 126); | ||
| 2743 | try testArgs(u32, u127, 0); | ||
| 2744 | try testArgs(u32, u127, 1 << 0); | ||
| 2745 | try testArgs(u32, u127, 1 << 126); | ||
| 2746 | try testArgs(u64, u127, 0); | ||
| 2747 | try testArgs(u64, u127, 1 << 0); | ||
| 2748 | try testArgs(u64, u127, 1 << 126); | ||
| 2749 | try testArgs(u128, u127, 0); | ||
| 2750 | try testArgs(u128, u127, 1 << 0); | ||
| 2751 | try testArgs(u128, u127, 1 << 126); | ||
| 2752 | try testArgs(u256, u127, 0); | ||
| 2753 | try testArgs(u256, u127, 1 << 0); | ||
| 2754 | try testArgs(u256, u127, 1 << 126); | ||
| 2755 | try testArgs(u512, u127, 0); | ||
| 2756 | try testArgs(u512, u127, 1 << 0); | ||
| 2757 | try testArgs(u512, u127, 1 << 126); | ||
| 2758 | try testArgs(u1024, u127, 0); | ||
| 2759 | try testArgs(u1024, u127, 1 << 0); | ||
| 2760 | try testArgs(u1024, u127, 1 << 126); | ||
| 2761 | |||
| 2762 | try testArgs(i8, i128, -1 << 127); | ||
| 2763 | try testArgs(i8, i128, -1); | ||
| 2764 | try testArgs(i8, i128, 0); | ||
| 2765 | try testArgs(i16, i128, -1 << 127); | ||
| 2766 | try testArgs(i16, i128, -1); | ||
| 2767 | try testArgs(i16, i128, 0); | ||
| 2768 | try testArgs(i32, i128, -1 << 127); | ||
| 2769 | try testArgs(i32, i128, -1); | ||
| 2770 | try testArgs(i32, i128, 0); | ||
| 2771 | try testArgs(i64, i128, -1 << 127); | ||
| 2772 | try testArgs(i64, i128, -1); | ||
| 2773 | try testArgs(i64, i128, 0); | ||
| 2774 | try testArgs(i128, i128, -1 << 127); | ||
| 2775 | try testArgs(i128, i128, -1); | ||
| 2776 | try testArgs(i128, i128, 0); | ||
| 2777 | try testArgs(i256, i128, -1 << 127); | ||
| 2778 | try testArgs(i256, i128, -1); | ||
| 2779 | try testArgs(i256, i128, 0); | ||
| 2780 | try testArgs(i512, i128, -1 << 127); | ||
| 2781 | try testArgs(i512, i128, -1); | ||
| 2782 | try testArgs(i512, i128, 0); | ||
| 2783 | try testArgs(i1024, i128, -1 << 127); | ||
| 2784 | try testArgs(i1024, i128, -1); | ||
| 2785 | try testArgs(i1024, i128, 0); | ||
| 2786 | try testArgs(u8, u128, 0); | ||
| 2787 | try testArgs(u8, u128, 1 << 0); | ||
| 2788 | try testArgs(u8, u128, 1 << 127); | ||
| 2789 | try testArgs(u16, u128, 0); | ||
| 2790 | try testArgs(u16, u128, 1 << 0); | ||
| 2791 | try testArgs(u16, u128, 1 << 127); | ||
| 2792 | try testArgs(u32, u128, 0); | ||
| 2793 | try testArgs(u32, u128, 1 << 0); | ||
| 2794 | try testArgs(u32, u128, 1 << 127); | ||
| 2795 | try testArgs(u64, u128, 0); | ||
| 2796 | try testArgs(u64, u128, 1 << 0); | ||
| 2797 | try testArgs(u64, u128, 1 << 127); | ||
| 2798 | try testArgs(u128, u128, 0); | ||
| 2799 | try testArgs(u128, u128, 1 << 0); | ||
| 2800 | try testArgs(u128, u128, 1 << 127); | ||
| 2801 | try testArgs(u256, u128, 0); | ||
| 2802 | try testArgs(u256, u128, 1 << 0); | ||
| 2803 | try testArgs(u256, u128, 1 << 127); | ||
| 2804 | try testArgs(u512, u128, 0); | ||
| 2805 | try testArgs(u512, u128, 1 << 0); | ||
| 2806 | try testArgs(u512, u128, 1 << 127); | ||
| 2807 | try testArgs(u1024, u128, 0); | ||
| 2808 | try testArgs(u1024, u128, 1 << 0); | ||
| 2809 | try testArgs(u1024, u128, 1 << 127); | ||
| 2810 | |||
| 2811 | try testArgs(i8, i129, -1 << 128); | ||
| 2812 | try testArgs(i8, i129, -1); | ||
| 2813 | try testArgs(i8, i129, 0); | ||
| 2814 | try testArgs(i16, i129, -1 << 128); | ||
| 2815 | try testArgs(i16, i129, -1); | ||
| 2816 | try testArgs(i16, i129, 0); | ||
| 2817 | try testArgs(i32, i129, -1 << 128); | ||
| 2818 | try testArgs(i32, i129, -1); | ||
| 2819 | try testArgs(i32, i129, 0); | ||
| 2820 | try testArgs(i64, i129, -1 << 128); | ||
| 2821 | try testArgs(i64, i129, -1); | ||
| 2822 | try testArgs(i64, i129, 0); | ||
| 2823 | try testArgs(i128, i129, -1 << 128); | ||
| 2824 | try testArgs(i128, i129, -1); | ||
| 2825 | try testArgs(i128, i129, 0); | ||
| 2826 | try testArgs(i256, i129, -1 << 128); | ||
| 2827 | try testArgs(i256, i129, -1); | ||
| 2828 | try testArgs(i256, i129, 0); | ||
| 2829 | try testArgs(i512, i129, -1 << 128); | ||
| 2830 | try testArgs(i512, i129, -1); | ||
| 2831 | try testArgs(i512, i129, 0); | ||
| 2832 | try testArgs(i1024, i129, -1 << 128); | ||
| 2833 | try testArgs(i1024, i129, -1); | ||
| 2834 | try testArgs(i1024, i129, 0); | ||
| 2835 | try testArgs(u8, u129, 0); | ||
| 2836 | try testArgs(u8, u129, 1 << 0); | ||
| 2837 | try testArgs(u8, u129, 1 << 128); | ||
| 2838 | try testArgs(u16, u129, 0); | ||
| 2839 | try testArgs(u16, u129, 1 << 0); | ||
| 2840 | try testArgs(u16, u129, 1 << 128); | ||
| 2841 | try testArgs(u32, u129, 0); | ||
| 2842 | try testArgs(u32, u129, 1 << 0); | ||
| 2843 | try testArgs(u32, u129, 1 << 128); | ||
| 2844 | try testArgs(u64, u129, 0); | ||
| 2845 | try testArgs(u64, u129, 1 << 0); | ||
| 2846 | try testArgs(u64, u129, 1 << 128); | ||
| 2847 | try testArgs(u128, u129, 0); | ||
| 2848 | try testArgs(u128, u129, 1 << 0); | ||
| 2849 | try testArgs(u128, u129, 1 << 128); | ||
| 2850 | try testArgs(u256, u129, 0); | ||
| 2851 | try testArgs(u256, u129, 1 << 0); | ||
| 2852 | try testArgs(u256, u129, 1 << 128); | ||
| 2853 | try testArgs(u512, u129, 0); | ||
| 2854 | try testArgs(u512, u129, 1 << 0); | ||
| 2855 | try testArgs(u512, u129, 1 << 128); | ||
| 2856 | try testArgs(u1024, u129, 0); | ||
| 2857 | try testArgs(u1024, u129, 1 << 0); | ||
| 2858 | try testArgs(u1024, u129, 1 << 128); | ||
| 2859 | |||
| 2860 | try testArgs(i8, i255, -1 << 254); | ||
| 2861 | try testArgs(i8, i255, -1); | ||
| 2862 | try testArgs(i8, i255, 0); | ||
| 2863 | try testArgs(i16, i255, -1 << 254); | ||
| 2864 | try testArgs(i16, i255, -1); | ||
| 2865 | try testArgs(i16, i255, 0); | ||
| 2866 | try testArgs(i32, i255, -1 << 254); | ||
| 2867 | try testArgs(i32, i255, -1); | ||
| 2868 | try testArgs(i32, i255, 0); | ||
| 2869 | try testArgs(i64, i255, -1 << 254); | ||
| 2870 | try testArgs(i64, i255, -1); | ||
| 2871 | try testArgs(i64, i255, 0); | ||
| 2872 | try testArgs(i128, i255, -1 << 254); | ||
| 2873 | try testArgs(i128, i255, -1); | ||
| 2874 | try testArgs(i128, i255, 0); | ||
| 2875 | try testArgs(i256, i255, -1 << 254); | ||
| 2876 | try testArgs(i256, i255, -1); | ||
| 2877 | try testArgs(i256, i255, 0); | ||
| 2878 | try testArgs(i512, i255, -1 << 254); | ||
| 2879 | try testArgs(i512, i255, -1); | ||
| 2880 | try testArgs(i512, i255, 0); | ||
| 2881 | try testArgs(i1024, i255, -1 << 254); | ||
| 2882 | try testArgs(i1024, i255, -1); | ||
| 2883 | try testArgs(i1024, i255, 0); | ||
| 2884 | try testArgs(u8, u255, 0); | ||
| 2885 | try testArgs(u8, u255, 1 << 0); | ||
| 2886 | try testArgs(u8, u255, 1 << 254); | ||
| 2887 | try testArgs(u16, u255, 0); | ||
| 2888 | try testArgs(u16, u255, 1 << 0); | ||
| 2889 | try testArgs(u16, u255, 1 << 254); | ||
| 2890 | try testArgs(u32, u255, 0); | ||
| 2891 | try testArgs(u32, u255, 1 << 0); | ||
| 2892 | try testArgs(u32, u255, 1 << 254); | ||
| 2893 | try testArgs(u64, u255, 0); | ||
| 2894 | try testArgs(u64, u255, 1 << 0); | ||
| 2895 | try testArgs(u64, u255, 1 << 254); | ||
| 2896 | try testArgs(u128, u255, 0); | ||
| 2897 | try testArgs(u128, u255, 1 << 0); | ||
| 2898 | try testArgs(u128, u255, 1 << 254); | ||
| 2899 | try testArgs(u256, u255, 0); | ||
| 2900 | try testArgs(u256, u255, 1 << 0); | ||
| 2901 | try testArgs(u256, u255, 1 << 254); | ||
| 2902 | try testArgs(u512, u255, 0); | ||
| 2903 | try testArgs(u512, u255, 1 << 0); | ||
| 2904 | try testArgs(u512, u255, 1 << 254); | ||
| 2905 | try testArgs(u1024, u255, 0); | ||
| 2906 | try testArgs(u1024, u255, 1 << 0); | ||
| 2907 | try testArgs(u1024, u255, 1 << 254); | ||
| 2908 | |||
| 2909 | try testArgs(i8, i256, -1 << 255); | ||
| 2910 | try testArgs(i8, i256, -1); | ||
| 2911 | try testArgs(i8, i256, 0); | ||
| 2912 | try testArgs(i16, i256, -1 << 255); | ||
| 2913 | try testArgs(i16, i256, -1); | ||
| 2914 | try testArgs(i16, i256, 0); | ||
| 2915 | try testArgs(i32, i256, -1 << 255); | ||
| 2916 | try testArgs(i32, i256, -1); | ||
| 2917 | try testArgs(i32, i256, 0); | ||
| 2918 | try testArgs(i64, i256, -1 << 255); | ||
| 2919 | try testArgs(i64, i256, -1); | ||
| 2920 | try testArgs(i64, i256, 0); | ||
| 2921 | try testArgs(i128, i256, -1 << 255); | ||
| 2922 | try testArgs(i128, i256, -1); | ||
| 2923 | try testArgs(i128, i256, 0); | ||
| 2924 | try testArgs(i256, i256, -1 << 255); | ||
| 2925 | try testArgs(i256, i256, -1); | ||
| 2926 | try testArgs(i256, i256, 0); | ||
| 2927 | try testArgs(i512, i256, -1 << 255); | ||
| 2928 | try testArgs(i512, i256, -1); | ||
| 2929 | try testArgs(i512, i256, 0); | ||
| 2930 | try testArgs(i1024, i256, -1 << 255); | ||
| 2931 | try testArgs(i1024, i256, -1); | ||
| 2932 | try testArgs(i1024, i256, 0); | ||
| 2933 | try testArgs(u8, u256, 0); | ||
| 2934 | try testArgs(u8, u256, 1 << 0); | ||
| 2935 | try testArgs(u8, u256, 1 << 255); | ||
| 2936 | try testArgs(u16, u256, 0); | ||
| 2937 | try testArgs(u16, u256, 1 << 0); | ||
| 2938 | try testArgs(u16, u256, 1 << 255); | ||
| 2939 | try testArgs(u32, u256, 0); | ||
| 2940 | try testArgs(u32, u256, 1 << 0); | ||
| 2941 | try testArgs(u32, u256, 1 << 255); | ||
| 2942 | try testArgs(u64, u256, 0); | ||
| 2943 | try testArgs(u64, u256, 1 << 0); | ||
| 2944 | try testArgs(u64, u256, 1 << 255); | ||
| 2945 | try testArgs(u128, u256, 0); | ||
| 2946 | try testArgs(u128, u256, 1 << 0); | ||
| 2947 | try testArgs(u128, u256, 1 << 255); | ||
| 2948 | try testArgs(u256, u256, 0); | ||
| 2949 | try testArgs(u256, u256, 1 << 0); | ||
| 2950 | try testArgs(u256, u256, 1 << 255); | ||
| 2951 | try testArgs(u512, u256, 0); | ||
| 2952 | try testArgs(u512, u256, 1 << 0); | ||
| 2953 | try testArgs(u512, u256, 1 << 255); | ||
| 2954 | try testArgs(u1024, u256, 0); | ||
| 2955 | try testArgs(u1024, u256, 1 << 0); | ||
| 2956 | try testArgs(u1024, u256, 1 << 255); | ||
| 2957 | |||
| 2958 | try testArgs(i8, i257, -1 << 256); | ||
| 2959 | try testArgs(i8, i257, -1); | ||
| 2960 | try testArgs(i8, i257, 0); | ||
| 2961 | try testArgs(i16, i257, -1 << 256); | ||
| 2962 | try testArgs(i16, i257, -1); | ||
| 2963 | try testArgs(i16, i257, 0); | ||
| 2964 | try testArgs(i32, i257, -1 << 256); | ||
| 2965 | try testArgs(i32, i257, -1); | ||
| 2966 | try testArgs(i32, i257, 0); | ||
| 2967 | try testArgs(i64, i257, -1 << 256); | ||
| 2968 | try testArgs(i64, i257, -1); | ||
| 2969 | try testArgs(i64, i257, 0); | ||
| 2970 | try testArgs(i128, i257, -1 << 256); | ||
| 2971 | try testArgs(i128, i257, -1); | ||
| 2972 | try testArgs(i128, i257, 0); | ||
| 2973 | try testArgs(i256, i257, -1 << 256); | ||
| 2974 | try testArgs(i256, i257, -1); | ||
| 2975 | try testArgs(i256, i257, 0); | ||
| 2976 | try testArgs(i512, i257, -1 << 256); | ||
| 2977 | try testArgs(i512, i257, -1); | ||
| 2978 | try testArgs(i512, i257, 0); | ||
| 2979 | try testArgs(i1024, i257, -1 << 256); | ||
| 2980 | try testArgs(i1024, i257, -1); | ||
| 2981 | try testArgs(i1024, i257, 0); | ||
| 2982 | try testArgs(u8, u257, 0); | ||
| 2983 | try testArgs(u8, u257, 1 << 0); | ||
| 2984 | try testArgs(u8, u257, 1 << 256); | ||
| 2985 | try testArgs(u16, u257, 0); | ||
| 2986 | try testArgs(u16, u257, 1 << 0); | ||
| 2987 | try testArgs(u16, u257, 1 << 256); | ||
| 2988 | try testArgs(u32, u257, 0); | ||
| 2989 | try testArgs(u32, u257, 1 << 0); | ||
| 2990 | try testArgs(u32, u257, 1 << 256); | ||
| 2991 | try testArgs(u64, u257, 0); | ||
| 2992 | try testArgs(u64, u257, 1 << 0); | ||
| 2993 | try testArgs(u64, u257, 1 << 256); | ||
| 2994 | try testArgs(u128, u257, 0); | ||
| 2995 | try testArgs(u128, u257, 1 << 0); | ||
| 2996 | try testArgs(u128, u257, 1 << 256); | ||
| 2997 | try testArgs(u256, u257, 0); | ||
| 2998 | try testArgs(u256, u257, 1 << 0); | ||
| 2999 | try testArgs(u256, u257, 1 << 256); | ||
| 3000 | try testArgs(u512, u257, 0); | ||
| 3001 | try testArgs(u512, u257, 1 << 0); | ||
| 3002 | try testArgs(u512, u257, 1 << 256); | ||
| 3003 | try testArgs(u1024, u257, 0); | ||
| 3004 | try testArgs(u1024, u257, 1 << 0); | ||
| 3005 | try testArgs(u1024, u257, 1 << 256); | ||
| 3006 | |||
| 3007 | try testArgs(i8, i511, -1 << 510); | ||
| 3008 | try testArgs(i8, i511, -1); | ||
| 3009 | try testArgs(i8, i511, 0); | ||
| 3010 | try testArgs(i16, i511, -1 << 510); | ||
| 3011 | try testArgs(i16, i511, -1); | ||
| 3012 | try testArgs(i16, i511, 0); | ||
| 3013 | try testArgs(i32, i511, -1 << 510); | ||
| 3014 | try testArgs(i32, i511, -1); | ||
| 3015 | try testArgs(i32, i511, 0); | ||
| 3016 | try testArgs(i64, i511, -1 << 510); | ||
| 3017 | try testArgs(i64, i511, -1); | ||
| 3018 | try testArgs(i64, i511, 0); | ||
| 3019 | try testArgs(i128, i511, -1 << 510); | ||
| 3020 | try testArgs(i128, i511, -1); | ||
| 3021 | try testArgs(i128, i511, 0); | ||
| 3022 | try testArgs(i256, i511, -1 << 510); | ||
| 3023 | try testArgs(i256, i511, -1); | ||
| 3024 | try testArgs(i256, i511, 0); | ||
| 3025 | try testArgs(i512, i511, -1 << 510); | ||
| 3026 | try testArgs(i512, i511, -1); | ||
| 3027 | try testArgs(i512, i511, 0); | ||
| 3028 | try testArgs(i1024, i511, -1 << 510); | ||
| 3029 | try testArgs(i1024, i511, -1); | ||
| 3030 | try testArgs(i1024, i511, 0); | ||
| 3031 | try testArgs(u8, u511, 0); | ||
| 3032 | try testArgs(u8, u511, 1 << 0); | ||
| 3033 | try testArgs(u8, u511, 1 << 510); | ||
| 3034 | try testArgs(u16, u511, 0); | ||
| 3035 | try testArgs(u16, u511, 1 << 0); | ||
| 3036 | try testArgs(u16, u511, 1 << 510); | ||
| 3037 | try testArgs(u32, u511, 0); | ||
| 3038 | try testArgs(u32, u511, 1 << 0); | ||
| 3039 | try testArgs(u32, u511, 1 << 510); | ||
| 3040 | try testArgs(u64, u511, 0); | ||
| 3041 | try testArgs(u64, u511, 1 << 0); | ||
| 3042 | try testArgs(u64, u511, 1 << 510); | ||
| 3043 | try testArgs(u128, u511, 0); | ||
| 3044 | try testArgs(u128, u511, 1 << 0); | ||
| 3045 | try testArgs(u128, u511, 1 << 510); | ||
| 3046 | try testArgs(u256, u511, 0); | ||
| 3047 | try testArgs(u256, u511, 1 << 0); | ||
| 3048 | try testArgs(u256, u511, 1 << 510); | ||
| 3049 | try testArgs(u512, u511, 0); | ||
| 3050 | try testArgs(u512, u511, 1 << 0); | ||
| 3051 | try testArgs(u512, u511, 1 << 510); | ||
| 3052 | try testArgs(u1024, u511, 0); | ||
| 3053 | try testArgs(u1024, u511, 1 << 0); | ||
| 3054 | try testArgs(u1024, u511, 1 << 510); | ||
| 3055 | |||
| 3056 | try testArgs(i8, i512, -1 << 511); | ||
| 3057 | try testArgs(i8, i512, -1); | ||
| 3058 | try testArgs(i8, i512, 0); | ||
| 3059 | try testArgs(i16, i512, -1 << 511); | ||
| 3060 | try testArgs(i16, i512, -1); | ||
| 3061 | try testArgs(i16, i512, 0); | ||
| 3062 | try testArgs(i32, i512, -1 << 511); | ||
| 3063 | try testArgs(i32, i512, -1); | ||
| 3064 | try testArgs(i32, i512, 0); | ||
| 3065 | try testArgs(i64, i512, -1 << 511); | ||
| 3066 | try testArgs(i64, i512, -1); | ||
| 3067 | try testArgs(i64, i512, 0); | ||
| 3068 | try testArgs(i128, i512, -1 << 511); | ||
| 3069 | try testArgs(i128, i512, -1); | ||
| 3070 | try testArgs(i128, i512, 0); | ||
| 3071 | try testArgs(i256, i512, -1 << 511); | ||
| 3072 | try testArgs(i256, i512, -1); | ||
| 3073 | try testArgs(i256, i512, 0); | ||
| 3074 | try testArgs(i512, i512, -1 << 511); | ||
| 3075 | try testArgs(i512, i512, -1); | ||
| 3076 | try testArgs(i512, i512, 0); | ||
| 3077 | try testArgs(i1024, i512, -1 << 511); | ||
| 3078 | try testArgs(i1024, i512, -1); | ||
| 3079 | try testArgs(i1024, i512, 0); | ||
| 3080 | try testArgs(u8, u512, 0); | ||
| 3081 | try testArgs(u8, u512, 1 << 0); | ||
| 3082 | try testArgs(u8, u512, 1 << 511); | ||
| 3083 | try testArgs(u16, u512, 0); | ||
| 3084 | try testArgs(u16, u512, 1 << 0); | ||
| 3085 | try testArgs(u16, u512, 1 << 511); | ||
| 3086 | try testArgs(u32, u512, 0); | ||
| 3087 | try testArgs(u32, u512, 1 << 0); | ||
| 3088 | try testArgs(u32, u512, 1 << 511); | ||
| 3089 | try testArgs(u64, u512, 0); | ||
| 3090 | try testArgs(u64, u512, 1 << 0); | ||
| 3091 | try testArgs(u64, u512, 1 << 511); | ||
| 3092 | try testArgs(u128, u512, 0); | ||
| 3093 | try testArgs(u128, u512, 1 << 0); | ||
| 3094 | try testArgs(u128, u512, 1 << 511); | ||
| 3095 | try testArgs(u256, u512, 0); | ||
| 3096 | try testArgs(u256, u512, 1 << 0); | ||
| 3097 | try testArgs(u256, u512, 1 << 511); | ||
| 3098 | try testArgs(u512, u512, 0); | ||
| 3099 | try testArgs(u512, u512, 1 << 0); | ||
| 3100 | try testArgs(u512, u512, 1 << 511); | ||
| 3101 | try testArgs(u1024, u512, 0); | ||
| 3102 | try testArgs(u1024, u512, 1 << 0); | ||
| 3103 | try testArgs(u1024, u512, 1 << 511); | ||
| 3104 | |||
| 3105 | try testArgs(i8, i513, -1 << 512); | ||
| 3106 | try testArgs(i8, i513, -1); | ||
| 3107 | try testArgs(i8, i513, 0); | ||
| 3108 | try testArgs(i16, i513, -1 << 512); | ||
| 3109 | try testArgs(i16, i513, -1); | ||
| 3110 | try testArgs(i16, i513, 0); | ||
| 3111 | try testArgs(i32, i513, -1 << 512); | ||
| 3112 | try testArgs(i32, i513, -1); | ||
| 3113 | try testArgs(i32, i513, 0); | ||
| 3114 | try testArgs(i64, i513, -1 << 512); | ||
| 3115 | try testArgs(i64, i513, -1); | ||
| 3116 | try testArgs(i64, i513, 0); | ||
| 3117 | try testArgs(i128, i513, -1 << 512); | ||
| 3118 | try testArgs(i128, i513, -1); | ||
| 3119 | try testArgs(i128, i513, 0); | ||
| 3120 | try testArgs(i256, i513, -1 << 512); | ||
| 3121 | try testArgs(i256, i513, -1); | ||
| 3122 | try testArgs(i256, i513, 0); | ||
| 3123 | try testArgs(i512, i513, -1 << 512); | ||
| 3124 | try testArgs(i512, i513, -1); | ||
| 3125 | try testArgs(i512, i513, 0); | ||
| 3126 | try testArgs(i1024, i513, -1 << 512); | ||
| 3127 | try testArgs(i1024, i513, -1); | ||
| 3128 | try testArgs(i1024, i513, 0); | ||
| 3129 | try testArgs(u8, u513, 0); | ||
| 3130 | try testArgs(u8, u513, 1 << 0); | ||
| 3131 | try testArgs(u8, u513, 1 << 512); | ||
| 3132 | try testArgs(u16, u513, 0); | ||
| 3133 | try testArgs(u16, u513, 1 << 0); | ||
| 3134 | try testArgs(u16, u513, 1 << 512); | ||
| 3135 | try testArgs(u32, u513, 0); | ||
| 3136 | try testArgs(u32, u513, 1 << 0); | ||
| 3137 | try testArgs(u32, u513, 1 << 512); | ||
| 3138 | try testArgs(u64, u513, 0); | ||
| 3139 | try testArgs(u64, u513, 1 << 0); | ||
| 3140 | try testArgs(u64, u513, 1 << 512); | ||
| 3141 | try testArgs(u128, u513, 0); | ||
| 3142 | try testArgs(u128, u513, 1 << 0); | ||
| 3143 | try testArgs(u128, u513, 1 << 512); | ||
| 3144 | try testArgs(u256, u513, 0); | ||
| 3145 | try testArgs(u256, u513, 1 << 0); | ||
| 3146 | try testArgs(u256, u513, 1 << 512); | ||
| 3147 | try testArgs(u512, u513, 0); | ||
| 3148 | try testArgs(u512, u513, 1 << 0); | ||
| 3149 | try testArgs(u512, u513, 1 << 512); | ||
| 3150 | try testArgs(u1024, u513, 0); | ||
| 3151 | try testArgs(u1024, u513, 1 << 0); | ||
| 3152 | try testArgs(u1024, u513, 1 << 512); | ||
| 3153 | |||
| 3154 | try testArgs(i8, i1023, -1 << 1022); | ||
| 3155 | try testArgs(i8, i1023, -1); | ||
| 3156 | try testArgs(i8, i1023, 0); | ||
| 3157 | try testArgs(i16, i1023, -1 << 1022); | ||
| 3158 | try testArgs(i16, i1023, -1); | ||
| 3159 | try testArgs(i16, i1023, 0); | ||
| 3160 | try testArgs(i32, i1023, -1 << 1022); | ||
| 3161 | try testArgs(i32, i1023, -1); | ||
| 3162 | try testArgs(i32, i1023, 0); | ||
| 3163 | try testArgs(i64, i1023, -1 << 1022); | ||
| 3164 | try testArgs(i64, i1023, -1); | ||
| 3165 | try testArgs(i64, i1023, 0); | ||
| 3166 | try testArgs(i128, i1023, -1 << 1022); | ||
| 3167 | try testArgs(i128, i1023, -1); | ||
| 3168 | try testArgs(i128, i1023, 0); | ||
| 3169 | try testArgs(i256, i1023, -1 << 1022); | ||
| 3170 | try testArgs(i256, i1023, -1); | ||
| 3171 | try testArgs(i256, i1023, 0); | ||
| 3172 | try testArgs(i512, i1023, -1 << 1022); | ||
| 3173 | try testArgs(i512, i1023, -1); | ||
| 3174 | try testArgs(i512, i1023, 0); | ||
| 3175 | try testArgs(i1024, i1023, -1 << 1022); | ||
| 3176 | try testArgs(i1024, i1023, -1); | ||
| 3177 | try testArgs(i1024, i1023, 0); | ||
| 3178 | try testArgs(u8, u1023, 0); | ||
| 3179 | try testArgs(u8, u1023, 1 << 0); | ||
| 3180 | try testArgs(u8, u1023, 1 << 1022); | ||
| 3181 | try testArgs(u16, u1023, 0); | ||
| 3182 | try testArgs(u16, u1023, 1 << 0); | ||
| 3183 | try testArgs(u16, u1023, 1 << 1022); | ||
| 3184 | try testArgs(u32, u1023, 0); | ||
| 3185 | try testArgs(u32, u1023, 1 << 0); | ||
| 3186 | try testArgs(u32, u1023, 1 << 1022); | ||
| 3187 | try testArgs(u64, u1023, 0); | ||
| 3188 | try testArgs(u64, u1023, 1 << 0); | ||
| 3189 | try testArgs(u64, u1023, 1 << 1022); | ||
| 3190 | try testArgs(u128, u1023, 0); | ||
| 3191 | try testArgs(u128, u1023, 1 << 0); | ||
| 3192 | try testArgs(u128, u1023, 1 << 1022); | ||
| 3193 | try testArgs(u256, u1023, 0); | ||
| 3194 | try testArgs(u256, u1023, 1 << 0); | ||
| 3195 | try testArgs(u256, u1023, 1 << 1022); | ||
| 3196 | try testArgs(u512, u1023, 0); | ||
| 3197 | try testArgs(u512, u1023, 1 << 0); | ||
| 3198 | try testArgs(u512, u1023, 1 << 1022); | ||
| 3199 | try testArgs(u1024, u1023, 0); | ||
| 3200 | try testArgs(u1024, u1023, 1 << 0); | ||
| 3201 | try testArgs(u1024, u1023, 1 << 1022); | ||
| 3202 | |||
| 3203 | try testArgs(i8, i1024, -1 << 1023); | ||
| 3204 | try testArgs(i8, i1024, -1); | ||
| 3205 | try testArgs(i8, i1024, 0); | ||
| 3206 | try testArgs(i16, i1024, -1 << 1023); | ||
| 3207 | try testArgs(i16, i1024, -1); | ||
| 3208 | try testArgs(i16, i1024, 0); | ||
| 3209 | try testArgs(i32, i1024, -1 << 1023); | ||
| 3210 | try testArgs(i32, i1024, -1); | ||
| 3211 | try testArgs(i32, i1024, 0); | ||
| 3212 | try testArgs(i64, i1024, -1 << 1023); | ||
| 3213 | try testArgs(i64, i1024, -1); | ||
| 3214 | try testArgs(i64, i1024, 0); | ||
| 3215 | try testArgs(i128, i1024, -1 << 1023); | ||
| 3216 | try testArgs(i128, i1024, -1); | ||
| 3217 | try testArgs(i128, i1024, 0); | ||
| 3218 | try testArgs(i256, i1024, -1 << 1023); | ||
| 3219 | try testArgs(i256, i1024, -1); | ||
| 3220 | try testArgs(i256, i1024, 0); | ||
| 3221 | try testArgs(i512, i1024, -1 << 1023); | ||
| 3222 | try testArgs(i512, i1024, -1); | ||
| 3223 | try testArgs(i512, i1024, 0); | ||
| 3224 | try testArgs(i1024, i1024, -1 << 1023); | ||
| 3225 | try testArgs(i1024, i1024, -1); | ||
| 3226 | try testArgs(i1024, i1024, 0); | ||
| 3227 | try testArgs(u8, u1024, 0); | ||
| 3228 | try testArgs(u8, u1024, 1 << 0); | ||
| 3229 | try testArgs(u8, u1024, 1 << 1023); | ||
| 3230 | try testArgs(u16, u1024, 0); | ||
| 3231 | try testArgs(u16, u1024, 1 << 0); | ||
| 3232 | try testArgs(u16, u1024, 1 << 1023); | ||
| 3233 | try testArgs(u32, u1024, 0); | ||
| 3234 | try testArgs(u32, u1024, 1 << 0); | ||
| 3235 | try testArgs(u32, u1024, 1 << 1023); | ||
| 3236 | try testArgs(u64, u1024, 0); | ||
| 3237 | try testArgs(u64, u1024, 1 << 0); | ||
| 3238 | try testArgs(u64, u1024, 1 << 1023); | ||
| 3239 | try testArgs(u128, u1024, 0); | ||
| 3240 | try testArgs(u128, u1024, 1 << 0); | ||
| 3241 | try testArgs(u128, u1024, 1 << 1023); | ||
| 3242 | try testArgs(u256, u1024, 0); | ||
| 3243 | try testArgs(u256, u1024, 1 << 0); | ||
| 3244 | try testArgs(u256, u1024, 1 << 1023); | ||
| 3245 | try testArgs(u512, u1024, 0); | ||
| 3246 | try testArgs(u512, u1024, 1 << 0); | ||
| 3247 | try testArgs(u512, u1024, 1 << 1023); | ||
| 3248 | try testArgs(u1024, u1024, 0); | ||
| 3249 | try testArgs(u1024, u1024, 1 << 0); | ||
| 3250 | try testArgs(u1024, u1024, 1 << 1023); | ||
| 3251 | |||
| 3252 | try testArgs(i8, i1025, -1 << 1024); | ||
| 3253 | try testArgs(i8, i1025, -1); | ||
| 3254 | try testArgs(i8, i1025, 0); | ||
| 3255 | try testArgs(i16, i1025, -1 << 1024); | ||
| 3256 | try testArgs(i16, i1025, -1); | ||
| 3257 | try testArgs(i16, i1025, 0); | ||
| 3258 | try testArgs(i32, i1025, -1 << 1024); | ||
| 3259 | try testArgs(i32, i1025, -1); | ||
| 3260 | try testArgs(i32, i1025, 0); | ||
| 3261 | try testArgs(i64, i1025, -1 << 1024); | ||
| 3262 | try testArgs(i64, i1025, -1); | ||
| 3263 | try testArgs(i64, i1025, 0); | ||
| 3264 | try testArgs(i128, i1025, -1 << 1024); | ||
| 3265 | try testArgs(i128, i1025, -1); | ||
| 3266 | try testArgs(i128, i1025, 0); | ||
| 3267 | try testArgs(i256, i1025, -1 << 1024); | ||
| 3268 | try testArgs(i256, i1025, -1); | ||
| 3269 | try testArgs(i256, i1025, 0); | ||
| 3270 | try testArgs(i512, i1025, -1 << 1024); | ||
| 3271 | try testArgs(i512, i1025, -1); | ||
| 3272 | try testArgs(i512, i1025, 0); | ||
| 3273 | try testArgs(i1024, i1025, -1 << 1024); | ||
| 3274 | try testArgs(i1024, i1025, -1); | ||
| 3275 | try testArgs(i1024, i1025, 0); | ||
| 3276 | try testArgs(u8, u1025, 0); | ||
| 3277 | try testArgs(u8, u1025, 1 << 0); | ||
| 3278 | try testArgs(u8, u1025, 1 << 1024); | ||
| 3279 | try testArgs(u16, u1025, 0); | ||
| 3280 | try testArgs(u16, u1025, 1 << 0); | ||
| 3281 | try testArgs(u16, u1025, 1 << 1024); | ||
| 3282 | try testArgs(u32, u1025, 0); | ||
| 3283 | try testArgs(u32, u1025, 1 << 0); | ||
| 3284 | try testArgs(u32, u1025, 1 << 1024); | ||
| 3285 | try testArgs(u64, u1025, 0); | ||
| 3286 | try testArgs(u64, u1025, 1 << 0); | ||
| 3287 | try testArgs(u64, u1025, 1 << 1024); | ||
| 3288 | try testArgs(u128, u1025, 0); | ||
| 3289 | try testArgs(u128, u1025, 1 << 0); | ||
| 3290 | try testArgs(u128, u1025, 1 << 1024); | ||
| 3291 | try testArgs(u256, u1025, 0); | ||
| 3292 | try testArgs(u256, u1025, 1 << 0); | ||
| 3293 | try testArgs(u256, u1025, 1 << 1024); | ||
| 3294 | try testArgs(u512, u1025, 0); | ||
| 3295 | try testArgs(u512, u1025, 1 << 0); | ||
| 3296 | try testArgs(u512, u1025, 1 << 1024); | ||
| 3297 | try testArgs(u1024, u1025, 0); | ||
| 3298 | try testArgs(u1024, u1025, 1 << 0); | ||
| 3299 | try testArgs(u1024, u1025, 1 << 1024); | ||
| 3300 | } | ||
| 3301 | fn testInts() !void { | ||
| 3302 | try testSameSignednessInts(); | ||
| 3303 | |||
| 3304 | try testArgs(u8, i1, -1); | ||
| 3305 | try testArgs(u8, i1, 0); | ||
| 3306 | try testArgs(u16, i1, -1); | ||
| 3307 | try testArgs(u16, i1, 0); | ||
| 3308 | try testArgs(u32, i1, -1); | ||
| 3309 | try testArgs(u32, i1, 0); | ||
| 3310 | try testArgs(u64, i1, -1); | ||
| 3311 | try testArgs(u64, i1, 0); | ||
| 3312 | try testArgs(u128, i1, -1); | ||
| 3313 | try testArgs(u128, i1, 0); | ||
| 3314 | try testArgs(u256, i1, -1); | ||
| 3315 | try testArgs(u256, i1, 0); | ||
| 3316 | try testArgs(u512, i1, -1); | ||
| 3317 | try testArgs(u512, i1, 0); | ||
| 3318 | try testArgs(u1024, i1, -1); | ||
| 3319 | try testArgs(u1024, i1, 0); | ||
| 3320 | try testArgs(i8, u1, 0); | ||
| 3321 | try testArgs(i8, u1, 1 << 0); | ||
| 3322 | try testArgs(i16, u1, 0); | ||
| 3323 | try testArgs(i16, u1, 1 << 0); | ||
| 3324 | try testArgs(i32, u1, 0); | ||
| 3325 | try testArgs(i32, u1, 1 << 0); | ||
| 3326 | try testArgs(i64, u1, 0); | ||
| 3327 | try testArgs(i64, u1, 1 << 0); | ||
| 3328 | try testArgs(i128, u1, 0); | ||
| 3329 | try testArgs(i128, u1, 1 << 0); | ||
| 3330 | try testArgs(i256, u1, 0); | ||
| 3331 | try testArgs(i256, u1, 1 << 0); | ||
| 3332 | try testArgs(i512, u1, 0); | ||
| 3333 | try testArgs(i512, u1, 1 << 0); | ||
| 3334 | try testArgs(i1024, u1, 0); | ||
| 3335 | try testArgs(i1024, u1, 1 << 0); | ||
| 3336 | |||
| 3337 | try testArgs(u8, i2, -1 << 1); | ||
| 3338 | try testArgs(u8, i2, -1); | ||
| 3339 | try testArgs(u8, i2, 0); | ||
| 3340 | try testArgs(u16, i2, -1 << 1); | ||
| 3341 | try testArgs(u16, i2, -1); | ||
| 3342 | try testArgs(u16, i2, 0); | ||
| 3343 | try testArgs(u32, i2, -1 << 1); | ||
| 3344 | try testArgs(u32, i2, -1); | ||
| 3345 | try testArgs(u32, i2, 0); | ||
| 3346 | try testArgs(u64, i2, -1 << 1); | ||
| 3347 | try testArgs(u64, i2, -1); | ||
| 3348 | try testArgs(u64, i2, 0); | ||
| 3349 | try testArgs(u128, i2, -1 << 1); | ||
| 3350 | try testArgs(u128, i2, -1); | ||
| 3351 | try testArgs(u128, i2, 0); | ||
| 3352 | try testArgs(u256, i2, -1 << 1); | ||
| 3353 | try testArgs(u256, i2, -1); | ||
| 3354 | try testArgs(u256, i2, 0); | ||
| 3355 | try testArgs(u512, i2, -1 << 1); | ||
| 3356 | try testArgs(u512, i2, -1); | ||
| 3357 | try testArgs(u512, i2, 0); | ||
| 3358 | try testArgs(u1024, i2, -1 << 1); | ||
| 3359 | try testArgs(u1024, i2, -1); | ||
| 3360 | try testArgs(u1024, i2, 0); | ||
| 3361 | try testArgs(i8, u2, 0); | ||
| 3362 | try testArgs(i8, u2, 1 << 0); | ||
| 3363 | try testArgs(i8, u2, 1 << 1); | ||
| 3364 | try testArgs(i16, u2, 0); | ||
| 3365 | try testArgs(i16, u2, 1 << 0); | ||
| 3366 | try testArgs(i16, u2, 1 << 1); | ||
| 3367 | try testArgs(i32, u2, 0); | ||
| 3368 | try testArgs(i32, u2, 1 << 0); | ||
| 3369 | try testArgs(i32, u2, 1 << 1); | ||
| 3370 | try testArgs(i64, u2, 0); | ||
| 3371 | try testArgs(i64, u2, 1 << 0); | ||
| 3372 | try testArgs(i64, u2, 1 << 1); | ||
| 3373 | try testArgs(i128, u2, 0); | ||
| 3374 | try testArgs(i128, u2, 1 << 0); | ||
| 3375 | try testArgs(i128, u2, 1 << 1); | ||
| 3376 | try testArgs(i256, u2, 0); | ||
| 3377 | try testArgs(i256, u2, 1 << 0); | ||
| 3378 | try testArgs(i256, u2, 1 << 1); | ||
| 3379 | try testArgs(i512, u2, 0); | ||
| 3380 | try testArgs(i512, u2, 1 << 0); | ||
| 3381 | try testArgs(i512, u2, 1 << 1); | ||
| 3382 | try testArgs(i1024, u2, 0); | ||
| 3383 | try testArgs(i1024, u2, 1 << 0); | ||
| 3384 | try testArgs(i1024, u2, 1 << 1); | ||
| 3385 | |||
| 3386 | try testArgs(u8, i3, -1 << 2); | ||
| 3387 | try testArgs(u8, i3, -1); | ||
| 3388 | try testArgs(u8, i3, 0); | ||
| 3389 | try testArgs(u16, i3, -1 << 2); | ||
| 3390 | try testArgs(u16, i3, -1); | ||
| 3391 | try testArgs(u16, i3, 0); | ||
| 3392 | try testArgs(u32, i3, -1 << 2); | ||
| 3393 | try testArgs(u32, i3, -1); | ||
| 3394 | try testArgs(u32, i3, 0); | ||
| 3395 | try testArgs(u64, i3, -1 << 2); | ||
| 3396 | try testArgs(u64, i3, -1); | ||
| 3397 | try testArgs(u64, i3, 0); | ||
| 3398 | try testArgs(u128, i3, -1 << 2); | ||
| 3399 | try testArgs(u128, i3, -1); | ||
| 3400 | try testArgs(u128, i3, 0); | ||
| 3401 | try testArgs(u256, i3, -1 << 2); | ||
| 3402 | try testArgs(u256, i3, -1); | ||
| 3403 | try testArgs(u256, i3, 0); | ||
| 3404 | try testArgs(u512, i3, -1 << 2); | ||
| 3405 | try testArgs(u512, i3, -1); | ||
| 3406 | try testArgs(u512, i3, 0); | ||
| 3407 | try testArgs(u1024, i3, -1 << 2); | ||
| 3408 | try testArgs(u1024, i3, -1); | ||
| 3409 | try testArgs(u1024, i3, 0); | ||
| 3410 | try testArgs(i8, u3, 0); | ||
| 3411 | try testArgs(i8, u3, 1 << 0); | ||
| 3412 | try testArgs(i8, u3, 1 << 2); | ||
| 3413 | try testArgs(i16, u3, 0); | ||
| 3414 | try testArgs(i16, u3, 1 << 0); | ||
| 3415 | try testArgs(i16, u3, 1 << 2); | ||
| 3416 | try testArgs(i32, u3, 0); | ||
| 3417 | try testArgs(i32, u3, 1 << 0); | ||
| 3418 | try testArgs(i32, u3, 1 << 2); | ||
| 3419 | try testArgs(i64, u3, 0); | ||
| 3420 | try testArgs(i64, u3, 1 << 0); | ||
| 3421 | try testArgs(i64, u3, 1 << 2); | ||
| 3422 | try testArgs(i128, u3, 0); | ||
| 3423 | try testArgs(i128, u3, 1 << 0); | ||
| 3424 | try testArgs(i128, u3, 1 << 2); | ||
| 3425 | try testArgs(i256, u3, 0); | ||
| 3426 | try testArgs(i256, u3, 1 << 0); | ||
| 3427 | try testArgs(i256, u3, 1 << 2); | ||
| 3428 | try testArgs(i512, u3, 0); | ||
| 3429 | try testArgs(i512, u3, 1 << 0); | ||
| 3430 | try testArgs(i512, u3, 1 << 2); | ||
| 3431 | try testArgs(i1024, u3, 0); | ||
| 3432 | try testArgs(i1024, u3, 1 << 0); | ||
| 3433 | try testArgs(i1024, u3, 1 << 2); | ||
| 3434 | |||
| 3435 | try testArgs(u8, i4, -1 << 3); | ||
| 3436 | try testArgs(u8, i4, -1); | ||
| 3437 | try testArgs(u8, i4, 0); | ||
| 3438 | try testArgs(u16, i4, -1 << 3); | ||
| 3439 | try testArgs(u16, i4, -1); | ||
| 3440 | try testArgs(u16, i4, 0); | ||
| 3441 | try testArgs(u32, i4, -1 << 3); | ||
| 3442 | try testArgs(u32, i4, -1); | ||
| 3443 | try testArgs(u32, i4, 0); | ||
| 3444 | try testArgs(u64, i4, -1 << 3); | ||
| 3445 | try testArgs(u64, i4, -1); | ||
| 3446 | try testArgs(u64, i4, 0); | ||
| 3447 | try testArgs(u128, i4, -1 << 3); | ||
| 3448 | try testArgs(u128, i4, -1); | ||
| 3449 | try testArgs(u128, i4, 0); | ||
| 3450 | try testArgs(u256, i4, -1 << 3); | ||
| 3451 | try testArgs(u256, i4, -1); | ||
| 3452 | try testArgs(u256, i4, 0); | ||
| 3453 | try testArgs(u512, i4, -1 << 3); | ||
| 3454 | try testArgs(u512, i4, -1); | ||
| 3455 | try testArgs(u512, i4, 0); | ||
| 3456 | try testArgs(u1024, i4, -1 << 3); | ||
| 3457 | try testArgs(u1024, i4, -1); | ||
| 3458 | try testArgs(u1024, i4, 0); | ||
| 3459 | try testArgs(i8, u4, 0); | ||
| 3460 | try testArgs(i8, u4, 1 << 0); | ||
| 3461 | try testArgs(i8, u4, 1 << 3); | ||
| 3462 | try testArgs(i16, u4, 0); | ||
| 3463 | try testArgs(i16, u4, 1 << 0); | ||
| 3464 | try testArgs(i16, u4, 1 << 3); | ||
| 3465 | try testArgs(i32, u4, 0); | ||
| 3466 | try testArgs(i32, u4, 1 << 0); | ||
| 3467 | try testArgs(i32, u4, 1 << 3); | ||
| 3468 | try testArgs(i64, u4, 0); | ||
| 3469 | try testArgs(i64, u4, 1 << 0); | ||
| 3470 | try testArgs(i64, u4, 1 << 3); | ||
| 3471 | try testArgs(i128, u4, 0); | ||
| 3472 | try testArgs(i128, u4, 1 << 0); | ||
| 3473 | try testArgs(i128, u4, 1 << 3); | ||
| 3474 | try testArgs(i256, u4, 0); | ||
| 3475 | try testArgs(i256, u4, 1 << 0); | ||
| 3476 | try testArgs(i256, u4, 1 << 3); | ||
| 3477 | try testArgs(i512, u4, 0); | ||
| 3478 | try testArgs(i512, u4, 1 << 0); | ||
| 3479 | try testArgs(i512, u4, 1 << 3); | ||
| 3480 | try testArgs(i1024, u4, 0); | ||
| 3481 | try testArgs(i1024, u4, 1 << 0); | ||
| 3482 | try testArgs(i1024, u4, 1 << 3); | ||
| 3483 | |||
| 3484 | try testArgs(u8, i5, -1 << 4); | ||
| 3485 | try testArgs(u8, i5, -1); | ||
| 3486 | try testArgs(u8, i5, 0); | ||
| 3487 | try testArgs(u16, i5, -1 << 4); | ||
| 3488 | try testArgs(u16, i5, -1); | ||
| 3489 | try testArgs(u16, i5, 0); | ||
| 3490 | try testArgs(u32, i5, -1 << 4); | ||
| 3491 | try testArgs(u32, i5, -1); | ||
| 3492 | try testArgs(u32, i5, 0); | ||
| 3493 | try testArgs(u64, i5, -1 << 4); | ||
| 3494 | try testArgs(u64, i5, -1); | ||
| 3495 | try testArgs(u64, i5, 0); | ||
| 3496 | try testArgs(u128, i5, -1 << 4); | ||
| 3497 | try testArgs(u128, i5, -1); | ||
| 3498 | try testArgs(u128, i5, 0); | ||
| 3499 | try testArgs(u256, i5, -1 << 4); | ||
| 3500 | try testArgs(u256, i5, -1); | ||
| 3501 | try testArgs(u256, i5, 0); | ||
| 3502 | try testArgs(u512, i5, -1 << 4); | ||
| 3503 | try testArgs(u512, i5, -1); | ||
| 3504 | try testArgs(u512, i5, 0); | ||
| 3505 | try testArgs(u1024, i5, -1 << 4); | ||
| 3506 | try testArgs(u1024, i5, -1); | ||
| 3507 | try testArgs(u1024, i5, 0); | ||
| 3508 | try testArgs(i8, u5, 0); | ||
| 3509 | try testArgs(i8, u5, 1 << 0); | ||
| 3510 | try testArgs(i8, u5, 1 << 4); | ||
| 3511 | try testArgs(i16, u5, 0); | ||
| 3512 | try testArgs(i16, u5, 1 << 0); | ||
| 3513 | try testArgs(i16, u5, 1 << 4); | ||
| 3514 | try testArgs(i32, u5, 0); | ||
| 3515 | try testArgs(i32, u5, 1 << 0); | ||
| 3516 | try testArgs(i32, u5, 1 << 4); | ||
| 3517 | try testArgs(i64, u5, 0); | ||
| 3518 | try testArgs(i64, u5, 1 << 0); | ||
| 3519 | try testArgs(i64, u5, 1 << 4); | ||
| 3520 | try testArgs(i128, u5, 0); | ||
| 3521 | try testArgs(i128, u5, 1 << 0); | ||
| 3522 | try testArgs(i128, u5, 1 << 4); | ||
| 3523 | try testArgs(i256, u5, 0); | ||
| 3524 | try testArgs(i256, u5, 1 << 0); | ||
| 3525 | try testArgs(i256, u5, 1 << 4); | ||
| 3526 | try testArgs(i512, u5, 0); | ||
| 3527 | try testArgs(i512, u5, 1 << 0); | ||
| 3528 | try testArgs(i512, u5, 1 << 4); | ||
| 3529 | try testArgs(i1024, u5, 0); | ||
| 3530 | try testArgs(i1024, u5, 1 << 0); | ||
| 3531 | try testArgs(i1024, u5, 1 << 4); | ||
| 3532 | |||
| 3533 | try testArgs(u8, i7, -1 << 6); | ||
| 3534 | try testArgs(u8, i7, -1); | ||
| 3535 | try testArgs(u8, i7, 0); | ||
| 3536 | try testArgs(u16, i7, -1 << 6); | ||
| 3537 | try testArgs(u16, i7, -1); | ||
| 3538 | try testArgs(u16, i7, 0); | ||
| 3539 | try testArgs(u32, i7, -1 << 6); | ||
| 3540 | try testArgs(u32, i7, -1); | ||
| 3541 | try testArgs(u32, i7, 0); | ||
| 3542 | try testArgs(u64, i7, -1 << 6); | ||
| 3543 | try testArgs(u64, i7, -1); | ||
| 3544 | try testArgs(u64, i7, 0); | ||
| 3545 | try testArgs(u128, i7, -1 << 6); | ||
| 3546 | try testArgs(u128, i7, -1); | ||
| 3547 | try testArgs(u128, i7, 0); | ||
| 3548 | try testArgs(u256, i7, -1 << 6); | ||
| 3549 | try testArgs(u256, i7, -1); | ||
| 3550 | try testArgs(u256, i7, 0); | ||
| 3551 | try testArgs(u512, i7, -1 << 6); | ||
| 3552 | try testArgs(u512, i7, -1); | ||
| 3553 | try testArgs(u512, i7, 0); | ||
| 3554 | try testArgs(u1024, i7, -1 << 6); | ||
| 3555 | try testArgs(u1024, i7, -1); | ||
| 3556 | try testArgs(u1024, i7, 0); | ||
| 3557 | try testArgs(i8, u7, 0); | ||
| 3558 | try testArgs(i8, u7, 1 << 0); | ||
| 3559 | try testArgs(i8, u7, 1 << 6); | ||
| 3560 | try testArgs(i16, u7, 0); | ||
| 3561 | try testArgs(i16, u7, 1 << 0); | ||
| 3562 | try testArgs(i16, u7, 1 << 6); | ||
| 3563 | try testArgs(i32, u7, 0); | ||
| 3564 | try testArgs(i32, u7, 1 << 0); | ||
| 3565 | try testArgs(i32, u7, 1 << 6); | ||
| 3566 | try testArgs(i64, u7, 0); | ||
| 3567 | try testArgs(i64, u7, 1 << 0); | ||
| 3568 | try testArgs(i64, u7, 1 << 6); | ||
| 3569 | try testArgs(i128, u7, 0); | ||
| 3570 | try testArgs(i128, u7, 1 << 0); | ||
| 3571 | try testArgs(i128, u7, 1 << 6); | ||
| 3572 | try testArgs(i256, u7, 0); | ||
| 3573 | try testArgs(i256, u7, 1 << 0); | ||
| 3574 | try testArgs(i256, u7, 1 << 6); | ||
| 3575 | try testArgs(i512, u7, 0); | ||
| 3576 | try testArgs(i512, u7, 1 << 0); | ||
| 3577 | try testArgs(i512, u7, 1 << 6); | ||
| 3578 | try testArgs(i1024, u7, 0); | ||
| 3579 | try testArgs(i1024, u7, 1 << 0); | ||
| 3580 | try testArgs(i1024, u7, 1 << 6); | ||
| 3581 | |||
| 3582 | try testArgs(u8, i8, -1 << 7); | ||
| 3583 | try testArgs(u8, i8, -1); | ||
| 3584 | try testArgs(u8, i8, 0); | ||
| 3585 | try testArgs(u16, i8, -1 << 7); | ||
| 3586 | try testArgs(u16, i8, -1); | ||
| 3587 | try testArgs(u16, i8, 0); | ||
| 3588 | try testArgs(u32, i8, -1 << 7); | ||
| 3589 | try testArgs(u32, i8, -1); | ||
| 3590 | try testArgs(u32, i8, 0); | ||
| 3591 | try testArgs(u64, i8, -1 << 7); | ||
| 3592 | try testArgs(u64, i8, -1); | ||
| 3593 | try testArgs(u64, i8, 0); | ||
| 3594 | try testArgs(u128, i8, -1 << 7); | ||
| 3595 | try testArgs(u128, i8, -1); | ||
| 3596 | try testArgs(u128, i8, 0); | ||
| 3597 | try testArgs(u256, i8, -1 << 7); | ||
| 3598 | try testArgs(u256, i8, -1); | ||
| 3599 | try testArgs(u256, i8, 0); | ||
| 3600 | try testArgs(u512, i8, -1 << 7); | ||
| 3601 | try testArgs(u512, i8, -1); | ||
| 3602 | try testArgs(u512, i8, 0); | ||
| 3603 | try testArgs(u1024, i8, -1 << 7); | ||
| 3604 | try testArgs(u1024, i8, -1); | ||
| 3605 | try testArgs(u1024, i8, 0); | ||
| 3606 | try testArgs(i8, u8, 0); | ||
| 3607 | try testArgs(i8, u8, 1 << 0); | ||
| 3608 | try testArgs(i8, u8, 1 << 7); | ||
| 3609 | try testArgs(i16, u8, 0); | ||
| 3610 | try testArgs(i16, u8, 1 << 0); | ||
| 3611 | try testArgs(i16, u8, 1 << 7); | ||
| 3612 | try testArgs(i32, u8, 0); | ||
| 3613 | try testArgs(i32, u8, 1 << 0); | ||
| 3614 | try testArgs(i32, u8, 1 << 7); | ||
| 3615 | try testArgs(i64, u8, 0); | ||
| 3616 | try testArgs(i64, u8, 1 << 0); | ||
| 3617 | try testArgs(i64, u8, 1 << 7); | ||
| 3618 | try testArgs(i128, u8, 0); | ||
| 3619 | try testArgs(i128, u8, 1 << 0); | ||
| 3620 | try testArgs(i128, u8, 1 << 7); | ||
| 3621 | try testArgs(i256, u8, 0); | ||
| 3622 | try testArgs(i256, u8, 1 << 0); | ||
| 3623 | try testArgs(i256, u8, 1 << 7); | ||
| 3624 | try testArgs(i512, u8, 0); | ||
| 3625 | try testArgs(i512, u8, 1 << 0); | ||
| 3626 | try testArgs(i512, u8, 1 << 7); | ||
| 3627 | try testArgs(i1024, u8, 0); | ||
| 3628 | try testArgs(i1024, u8, 1 << 0); | ||
| 3629 | try testArgs(i1024, u8, 1 << 7); | ||
| 3630 | |||
| 3631 | try testArgs(u8, i9, -1 << 8); | ||
| 3632 | try testArgs(u8, i9, -1); | ||
| 3633 | try testArgs(u8, i9, 0); | ||
| 3634 | try testArgs(u16, i9, -1 << 8); | ||
| 3635 | try testArgs(u16, i9, -1); | ||
| 3636 | try testArgs(u16, i9, 0); | ||
| 3637 | try testArgs(u32, i9, -1 << 8); | ||
| 3638 | try testArgs(u32, i9, -1); | ||
| 3639 | try testArgs(u32, i9, 0); | ||
| 3640 | try testArgs(u64, i9, -1 << 8); | ||
| 3641 | try testArgs(u64, i9, -1); | ||
| 3642 | try testArgs(u64, i9, 0); | ||
| 3643 | try testArgs(u128, i9, -1 << 8); | ||
| 3644 | try testArgs(u128, i9, -1); | ||
| 3645 | try testArgs(u128, i9, 0); | ||
| 3646 | try testArgs(u256, i9, -1 << 8); | ||
| 3647 | try testArgs(u256, i9, -1); | ||
| 3648 | try testArgs(u256, i9, 0); | ||
| 3649 | try testArgs(u512, i9, -1 << 8); | ||
| 3650 | try testArgs(u512, i9, -1); | ||
| 3651 | try testArgs(u512, i9, 0); | ||
| 3652 | try testArgs(u1024, i9, -1 << 8); | ||
| 3653 | try testArgs(u1024, i9, -1); | ||
| 3654 | try testArgs(u1024, i9, 0); | ||
| 3655 | try testArgs(i8, u9, 0); | ||
| 3656 | try testArgs(i8, u9, 1 << 0); | ||
| 3657 | try testArgs(i8, u9, 1 << 8); | ||
| 3658 | try testArgs(i16, u9, 0); | ||
| 3659 | try testArgs(i16, u9, 1 << 0); | ||
| 3660 | try testArgs(i16, u9, 1 << 8); | ||
| 3661 | try testArgs(i32, u9, 0); | ||
| 3662 | try testArgs(i32, u9, 1 << 0); | ||
| 3663 | try testArgs(i32, u9, 1 << 8); | ||
| 3664 | try testArgs(i64, u9, 0); | ||
| 3665 | try testArgs(i64, u9, 1 << 0); | ||
| 3666 | try testArgs(i64, u9, 1 << 8); | ||
| 3667 | try testArgs(i128, u9, 0); | ||
| 3668 | try testArgs(i128, u9, 1 << 0); | ||
| 3669 | try testArgs(i128, u9, 1 << 8); | ||
| 3670 | try testArgs(i256, u9, 0); | ||
| 3671 | try testArgs(i256, u9, 1 << 0); | ||
| 3672 | try testArgs(i256, u9, 1 << 8); | ||
| 3673 | try testArgs(i512, u9, 0); | ||
| 3674 | try testArgs(i512, u9, 1 << 0); | ||
| 3675 | try testArgs(i512, u9, 1 << 8); | ||
| 3676 | try testArgs(i1024, u9, 0); | ||
| 3677 | try testArgs(i1024, u9, 1 << 0); | ||
| 3678 | try testArgs(i1024, u9, 1 << 8); | ||
| 3679 | |||
| 3680 | try testArgs(u8, i15, -1 << 14); | ||
| 3681 | try testArgs(u8, i15, -1); | ||
| 3682 | try testArgs(u8, i15, 0); | ||
| 3683 | try testArgs(u16, i15, -1 << 14); | ||
| 3684 | try testArgs(u16, i15, -1); | ||
| 3685 | try testArgs(u16, i15, 0); | ||
| 3686 | try testArgs(u32, i15, -1 << 14); | ||
| 3687 | try testArgs(u32, i15, -1); | ||
| 3688 | try testArgs(u32, i15, 0); | ||
| 3689 | try testArgs(u64, i15, -1 << 14); | ||
| 3690 | try testArgs(u64, i15, -1); | ||
| 3691 | try testArgs(u64, i15, 0); | ||
| 3692 | try testArgs(u128, i15, -1 << 14); | ||
| 3693 | try testArgs(u128, i15, -1); | ||
| 3694 | try testArgs(u128, i15, 0); | ||
| 3695 | try testArgs(u256, i15, -1 << 14); | ||
| 3696 | try testArgs(u256, i15, -1); | ||
| 3697 | try testArgs(u256, i15, 0); | ||
| 3698 | try testArgs(u512, i15, -1 << 14); | ||
| 3699 | try testArgs(u512, i15, -1); | ||
| 3700 | try testArgs(u512, i15, 0); | ||
| 3701 | try testArgs(u1024, i15, -1 << 14); | ||
| 3702 | try testArgs(u1024, i15, -1); | ||
| 3703 | try testArgs(u1024, i15, 0); | ||
| 3704 | try testArgs(i8, u15, 0); | ||
| 3705 | try testArgs(i8, u15, 1 << 0); | ||
| 3706 | try testArgs(i8, u15, 1 << 14); | ||
| 3707 | try testArgs(i16, u15, 0); | ||
| 3708 | try testArgs(i16, u15, 1 << 0); | ||
| 3709 | try testArgs(i16, u15, 1 << 14); | ||
| 3710 | try testArgs(i32, u15, 0); | ||
| 3711 | try testArgs(i32, u15, 1 << 0); | ||
| 3712 | try testArgs(i32, u15, 1 << 14); | ||
| 3713 | try testArgs(i64, u15, 0); | ||
| 3714 | try testArgs(i64, u15, 1 << 0); | ||
| 3715 | try testArgs(i64, u15, 1 << 14); | ||
| 3716 | try testArgs(i128, u15, 0); | ||
| 3717 | try testArgs(i128, u15, 1 << 0); | ||
| 3718 | try testArgs(i128, u15, 1 << 14); | ||
| 3719 | try testArgs(i256, u15, 0); | ||
| 3720 | try testArgs(i256, u15, 1 << 0); | ||
| 3721 | try testArgs(i256, u15, 1 << 14); | ||
| 3722 | try testArgs(i512, u15, 0); | ||
| 3723 | try testArgs(i512, u15, 1 << 0); | ||
| 3724 | try testArgs(i512, u15, 1 << 14); | ||
| 3725 | try testArgs(i1024, u15, 0); | ||
| 3726 | try testArgs(i1024, u15, 1 << 0); | ||
| 3727 | try testArgs(i1024, u15, 1 << 14); | ||
| 3728 | |||
| 3729 | try testArgs(u8, i16, -1 << 15); | ||
| 3730 | try testArgs(u8, i16, -1); | ||
| 3731 | try testArgs(u8, i16, 0); | ||
| 3732 | try testArgs(u16, i16, -1 << 15); | ||
| 3733 | try testArgs(u16, i16, -1); | ||
| 3734 | try testArgs(u16, i16, 0); | ||
| 3735 | try testArgs(u32, i16, -1 << 15); | ||
| 3736 | try testArgs(u32, i16, -1); | ||
| 3737 | try testArgs(u32, i16, 0); | ||
| 3738 | try testArgs(u64, i16, -1 << 15); | ||
| 3739 | try testArgs(u64, i16, -1); | ||
| 3740 | try testArgs(u64, i16, 0); | ||
| 3741 | try testArgs(u128, i16, -1 << 15); | ||
| 3742 | try testArgs(u128, i16, -1); | ||
| 3743 | try testArgs(u128, i16, 0); | ||
| 3744 | try testArgs(u256, i16, -1 << 15); | ||
| 3745 | try testArgs(u256, i16, -1); | ||
| 3746 | try testArgs(u256, i16, 0); | ||
| 3747 | try testArgs(u512, i16, -1 << 15); | ||
| 3748 | try testArgs(u512, i16, -1); | ||
| 3749 | try testArgs(u512, i16, 0); | ||
| 3750 | try testArgs(u1024, i16, -1 << 15); | ||
| 3751 | try testArgs(u1024, i16, -1); | ||
| 3752 | try testArgs(u1024, i16, 0); | ||
| 3753 | try testArgs(i8, u16, 0); | ||
| 3754 | try testArgs(i8, u16, 1 << 0); | ||
| 3755 | try testArgs(i8, u16, 1 << 15); | ||
| 3756 | try testArgs(i16, u16, 0); | ||
| 3757 | try testArgs(i16, u16, 1 << 0); | ||
| 3758 | try testArgs(i16, u16, 1 << 15); | ||
| 3759 | try testArgs(i32, u16, 0); | ||
| 3760 | try testArgs(i32, u16, 1 << 0); | ||
| 3761 | try testArgs(i32, u16, 1 << 15); | ||
| 3762 | try testArgs(i64, u16, 0); | ||
| 3763 | try testArgs(i64, u16, 1 << 0); | ||
| 3764 | try testArgs(i64, u16, 1 << 15); | ||
| 3765 | try testArgs(i128, u16, 0); | ||
| 3766 | try testArgs(i128, u16, 1 << 0); | ||
| 3767 | try testArgs(i128, u16, 1 << 15); | ||
| 3768 | try testArgs(i256, u16, 0); | ||
| 3769 | try testArgs(i256, u16, 1 << 0); | ||
| 3770 | try testArgs(i256, u16, 1 << 15); | ||
| 3771 | try testArgs(i512, u16, 0); | ||
| 3772 | try testArgs(i512, u16, 1 << 0); | ||
| 3773 | try testArgs(i512, u16, 1 << 15); | ||
| 3774 | try testArgs(i1024, u16, 0); | ||
| 3775 | try testArgs(i1024, u16, 1 << 0); | ||
| 3776 | try testArgs(i1024, u16, 1 << 15); | ||
| 3777 | |||
| 3778 | try testArgs(u8, i17, -1 << 16); | ||
| 3779 | try testArgs(u8, i17, -1); | ||
| 3780 | try testArgs(u8, i17, 0); | ||
| 3781 | try testArgs(u16, i17, -1 << 16); | ||
| 3782 | try testArgs(u16, i17, -1); | ||
| 3783 | try testArgs(u16, i17, 0); | ||
| 3784 | try testArgs(u32, i17, -1 << 16); | ||
| 3785 | try testArgs(u32, i17, -1); | ||
| 3786 | try testArgs(u32, i17, 0); | ||
| 3787 | try testArgs(u64, i17, -1 << 16); | ||
| 3788 | try testArgs(u64, i17, -1); | ||
| 3789 | try testArgs(u64, i17, 0); | ||
| 3790 | try testArgs(u128, i17, -1 << 16); | ||
| 3791 | try testArgs(u128, i17, -1); | ||
| 3792 | try testArgs(u128, i17, 0); | ||
| 3793 | try testArgs(u256, i17, -1 << 16); | ||
| 3794 | try testArgs(u256, i17, -1); | ||
| 3795 | try testArgs(u256, i17, 0); | ||
| 3796 | try testArgs(u512, i17, -1 << 16); | ||
| 3797 | try testArgs(u512, i17, -1); | ||
| 3798 | try testArgs(u512, i17, 0); | ||
| 3799 | try testArgs(u1024, i17, -1 << 16); | ||
| 3800 | try testArgs(u1024, i17, -1); | ||
| 3801 | try testArgs(u1024, i17, 0); | ||
| 3802 | try testArgs(i8, u17, 0); | ||
| 3803 | try testArgs(i8, u17, 1 << 0); | ||
| 3804 | try testArgs(i8, u17, 1 << 16); | ||
| 3805 | try testArgs(i16, u17, 0); | ||
| 3806 | try testArgs(i16, u17, 1 << 0); | ||
| 3807 | try testArgs(i16, u17, 1 << 16); | ||
| 3808 | try testArgs(i32, u17, 0); | ||
| 3809 | try testArgs(i32, u17, 1 << 0); | ||
| 3810 | try testArgs(i32, u17, 1 << 16); | ||
| 3811 | try testArgs(i64, u17, 0); | ||
| 3812 | try testArgs(i64, u17, 1 << 0); | ||
| 3813 | try testArgs(i64, u17, 1 << 16); | ||
| 3814 | try testArgs(i128, u17, 0); | ||
| 3815 | try testArgs(i128, u17, 1 << 0); | ||
| 3816 | try testArgs(i128, u17, 1 << 16); | ||
| 3817 | try testArgs(i256, u17, 0); | ||
| 3818 | try testArgs(i256, u17, 1 << 0); | ||
| 3819 | try testArgs(i256, u17, 1 << 16); | ||
| 3820 | try testArgs(i512, u17, 0); | ||
| 3821 | try testArgs(i512, u17, 1 << 0); | ||
| 3822 | try testArgs(i512, u17, 1 << 16); | ||
| 3823 | try testArgs(i1024, u17, 0); | ||
| 3824 | try testArgs(i1024, u17, 1 << 0); | ||
| 3825 | try testArgs(i1024, u17, 1 << 16); | ||
| 3826 | |||
| 3827 | try testArgs(u8, i31, -1 << 30); | ||
| 3828 | try testArgs(u8, i31, -1); | ||
| 3829 | try testArgs(u8, i31, 0); | ||
| 3830 | try testArgs(u16, i31, -1 << 30); | ||
| 3831 | try testArgs(u16, i31, -1); | ||
| 3832 | try testArgs(u16, i31, 0); | ||
| 3833 | try testArgs(u32, i31, -1 << 30); | ||
| 3834 | try testArgs(u32, i31, -1); | ||
| 3835 | try testArgs(u32, i31, 0); | ||
| 3836 | try testArgs(u64, i31, -1 << 30); | ||
| 3837 | try testArgs(u64, i31, -1); | ||
| 3838 | try testArgs(u64, i31, 0); | ||
| 3839 | try testArgs(u128, i31, -1 << 30); | ||
| 3840 | try testArgs(u128, i31, -1); | ||
| 3841 | try testArgs(u128, i31, 0); | ||
| 3842 | try testArgs(u256, i31, -1 << 30); | ||
| 3843 | try testArgs(u256, i31, -1); | ||
| 3844 | try testArgs(u256, i31, 0); | ||
| 3845 | try testArgs(u512, i31, -1 << 30); | ||
| 3846 | try testArgs(u512, i31, -1); | ||
| 3847 | try testArgs(u512, i31, 0); | ||
| 3848 | try testArgs(u1024, i31, -1 << 30); | ||
| 3849 | try testArgs(u1024, i31, -1); | ||
| 3850 | try testArgs(u1024, i31, 0); | ||
| 3851 | try testArgs(i8, u31, 0); | ||
| 3852 | try testArgs(i8, u31, 1 << 0); | ||
| 3853 | try testArgs(i8, u31, 1 << 30); | ||
| 3854 | try testArgs(i16, u31, 0); | ||
| 3855 | try testArgs(i16, u31, 1 << 0); | ||
| 3856 | try testArgs(i16, u31, 1 << 30); | ||
| 3857 | try testArgs(i32, u31, 0); | ||
| 3858 | try testArgs(i32, u31, 1 << 0); | ||
| 3859 | try testArgs(i32, u31, 1 << 30); | ||
| 3860 | try testArgs(i64, u31, 0); | ||
| 3861 | try testArgs(i64, u31, 1 << 0); | ||
| 3862 | try testArgs(i64, u31, 1 << 30); | ||
| 3863 | try testArgs(i128, u31, 0); | ||
| 3864 | try testArgs(i128, u31, 1 << 0); | ||
| 3865 | try testArgs(i128, u31, 1 << 30); | ||
| 3866 | try testArgs(i256, u31, 0); | ||
| 3867 | try testArgs(i256, u31, 1 << 0); | ||
| 3868 | try testArgs(i256, u31, 1 << 30); | ||
| 3869 | try testArgs(i512, u31, 0); | ||
| 3870 | try testArgs(i512, u31, 1 << 0); | ||
| 3871 | try testArgs(i512, u31, 1 << 30); | ||
| 3872 | try testArgs(i1024, u31, 0); | ||
| 3873 | try testArgs(i1024, u31, 1 << 0); | ||
| 3874 | try testArgs(i1024, u31, 1 << 30); | ||
| 3875 | |||
| 3876 | try testArgs(u8, i32, -1 << 31); | ||
| 3877 | try testArgs(u8, i32, -1); | ||
| 3878 | try testArgs(u8, i32, 0); | ||
| 3879 | try testArgs(u16, i32, -1 << 31); | ||
| 3880 | try testArgs(u16, i32, -1); | ||
| 3881 | try testArgs(u16, i32, 0); | ||
| 3882 | try testArgs(u32, i32, -1 << 31); | ||
| 3883 | try testArgs(u32, i32, -1); | ||
| 3884 | try testArgs(u32, i32, 0); | ||
| 3885 | try testArgs(u64, i32, -1 << 31); | ||
| 3886 | try testArgs(u64, i32, -1); | ||
| 3887 | try testArgs(u64, i32, 0); | ||
| 3888 | try testArgs(u128, i32, -1 << 31); | ||
| 3889 | try testArgs(u128, i32, -1); | ||
| 3890 | try testArgs(u128, i32, 0); | ||
| 3891 | try testArgs(u256, i32, -1 << 31); | ||
| 3892 | try testArgs(u256, i32, -1); | ||
| 3893 | try testArgs(u256, i32, 0); | ||
| 3894 | try testArgs(u512, i32, -1 << 31); | ||
| 3895 | try testArgs(u512, i32, -1); | ||
| 3896 | try testArgs(u512, i32, 0); | ||
| 3897 | try testArgs(u1024, i32, -1 << 31); | ||
| 3898 | try testArgs(u1024, i32, -1); | ||
| 3899 | try testArgs(u1024, i32, 0); | ||
| 3900 | try testArgs(i8, u32, 0); | ||
| 3901 | try testArgs(i8, u32, 1 << 0); | ||
| 3902 | try testArgs(i8, u32, 1 << 31); | ||
| 3903 | try testArgs(i16, u32, 0); | ||
| 3904 | try testArgs(i16, u32, 1 << 0); | ||
| 3905 | try testArgs(i16, u32, 1 << 31); | ||
| 3906 | try testArgs(i32, u32, 0); | ||
| 3907 | try testArgs(i32, u32, 1 << 0); | ||
| 3908 | try testArgs(i32, u32, 1 << 31); | ||
| 3909 | try testArgs(i64, u32, 0); | ||
| 3910 | try testArgs(i64, u32, 1 << 0); | ||
| 3911 | try testArgs(i64, u32, 1 << 31); | ||
| 3912 | try testArgs(i128, u32, 0); | ||
| 3913 | try testArgs(i128, u32, 1 << 0); | ||
| 3914 | try testArgs(i128, u32, 1 << 31); | ||
| 3915 | try testArgs(i256, u32, 0); | ||
| 3916 | try testArgs(i256, u32, 1 << 0); | ||
| 3917 | try testArgs(i256, u32, 1 << 31); | ||
| 3918 | try testArgs(i512, u32, 0); | ||
| 3919 | try testArgs(i512, u32, 1 << 0); | ||
| 3920 | try testArgs(i512, u32, 1 << 31); | ||
| 3921 | try testArgs(i1024, u32, 0); | ||
| 3922 | try testArgs(i1024, u32, 1 << 0); | ||
| 3923 | try testArgs(i1024, u32, 1 << 31); | ||
| 3924 | |||
| 3925 | try testArgs(u8, i33, -1 << 32); | ||
| 3926 | try testArgs(u8, i33, -1); | ||
| 3927 | try testArgs(u8, i33, 0); | ||
| 3928 | try testArgs(u16, i33, -1 << 32); | ||
| 3929 | try testArgs(u16, i33, -1); | ||
| 3930 | try testArgs(u16, i33, 0); | ||
| 3931 | try testArgs(u32, i33, -1 << 32); | ||
| 3932 | try testArgs(u32, i33, -1); | ||
| 3933 | try testArgs(u32, i33, 0); | ||
| 3934 | try testArgs(u64, i33, -1 << 32); | ||
| 3935 | try testArgs(u64, i33, -1); | ||
| 3936 | try testArgs(u64, i33, 0); | ||
| 3937 | try testArgs(u128, i33, -1 << 32); | ||
| 3938 | try testArgs(u128, i33, -1); | ||
| 3939 | try testArgs(u128, i33, 0); | ||
| 3940 | try testArgs(u256, i33, -1 << 32); | ||
| 3941 | try testArgs(u256, i33, -1); | ||
| 3942 | try testArgs(u256, i33, 0); | ||
| 3943 | try testArgs(u512, i33, -1 << 32); | ||
| 3944 | try testArgs(u512, i33, -1); | ||
| 3945 | try testArgs(u512, i33, 0); | ||
| 3946 | try testArgs(u1024, i33, -1 << 32); | ||
| 3947 | try testArgs(u1024, i33, -1); | ||
| 3948 | try testArgs(u1024, i33, 0); | ||
| 3949 | try testArgs(i8, u33, 0); | ||
| 3950 | try testArgs(i8, u33, 1 << 0); | ||
| 3951 | try testArgs(i8, u33, 1 << 32); | ||
| 3952 | try testArgs(i16, u33, 0); | ||
| 3953 | try testArgs(i16, u33, 1 << 0); | ||
| 3954 | try testArgs(i16, u33, 1 << 32); | ||
| 3955 | try testArgs(i32, u33, 0); | ||
| 3956 | try testArgs(i32, u33, 1 << 0); | ||
| 3957 | try testArgs(i32, u33, 1 << 32); | ||
| 3958 | try testArgs(i64, u33, 0); | ||
| 3959 | try testArgs(i64, u33, 1 << 0); | ||
| 3960 | try testArgs(i64, u33, 1 << 32); | ||
| 3961 | try testArgs(i128, u33, 0); | ||
| 3962 | try testArgs(i128, u33, 1 << 0); | ||
| 3963 | try testArgs(i128, u33, 1 << 32); | ||
| 3964 | try testArgs(i256, u33, 0); | ||
| 3965 | try testArgs(i256, u33, 1 << 0); | ||
| 3966 | try testArgs(i256, u33, 1 << 32); | ||
| 3967 | try testArgs(i512, u33, 0); | ||
| 3968 | try testArgs(i512, u33, 1 << 0); | ||
| 3969 | try testArgs(i512, u33, 1 << 32); | ||
| 3970 | try testArgs(i1024, u33, 0); | ||
| 3971 | try testArgs(i1024, u33, 1 << 0); | ||
| 3972 | try testArgs(i1024, u33, 1 << 32); | ||
| 3973 | |||
| 3974 | try testArgs(u8, i63, -1 << 62); | ||
| 3975 | try testArgs(u8, i63, -1); | ||
| 3976 | try testArgs(u8, i63, 0); | ||
| 3977 | try testArgs(u16, i63, -1 << 62); | ||
| 3978 | try testArgs(u16, i63, -1); | ||
| 3979 | try testArgs(u16, i63, 0); | ||
| 3980 | try testArgs(u32, i63, -1 << 62); | ||
| 3981 | try testArgs(u32, i63, -1); | ||
| 3982 | try testArgs(u32, i63, 0); | ||
| 3983 | try testArgs(u64, i63, -1 << 62); | ||
| 3984 | try testArgs(u64, i63, -1); | ||
| 3985 | try testArgs(u64, i63, 0); | ||
| 3986 | try testArgs(u128, i63, -1 << 62); | ||
| 3987 | try testArgs(u128, i63, -1); | ||
| 3988 | try testArgs(u128, i63, 0); | ||
| 3989 | try testArgs(u256, i63, -1 << 62); | ||
| 3990 | try testArgs(u256, i63, -1); | ||
| 3991 | try testArgs(u256, i63, 0); | ||
| 3992 | try testArgs(u512, i63, -1 << 62); | ||
| 3993 | try testArgs(u512, i63, -1); | ||
| 3994 | try testArgs(u512, i63, 0); | ||
| 3995 | try testArgs(u1024, i63, -1 << 62); | ||
| 3996 | try testArgs(u1024, i63, -1); | ||
| 3997 | try testArgs(u1024, i63, 0); | ||
| 3998 | try testArgs(i8, u63, 0); | ||
| 3999 | try testArgs(i8, u63, 1 << 0); | ||
| 4000 | try testArgs(i8, u63, 1 << 62); | ||
| 4001 | try testArgs(i16, u63, 0); | ||
| 4002 | try testArgs(i16, u63, 1 << 0); | ||
| 4003 | try testArgs(i16, u63, 1 << 62); | ||
| 4004 | try testArgs(i32, u63, 0); | ||
| 4005 | try testArgs(i32, u63, 1 << 0); | ||
| 4006 | try testArgs(i32, u63, 1 << 62); | ||
| 4007 | try testArgs(i64, u63, 0); | ||
| 4008 | try testArgs(i64, u63, 1 << 0); | ||
| 4009 | try testArgs(i64, u63, 1 << 62); | ||
| 4010 | try testArgs(i128, u63, 0); | ||
| 4011 | try testArgs(i128, u63, 1 << 0); | ||
| 4012 | try testArgs(i128, u63, 1 << 62); | ||
| 4013 | try testArgs(i256, u63, 0); | ||
| 4014 | try testArgs(i256, u63, 1 << 0); | ||
| 4015 | try testArgs(i256, u63, 1 << 62); | ||
| 4016 | try testArgs(i512, u63, 0); | ||
| 4017 | try testArgs(i512, u63, 1 << 0); | ||
| 4018 | try testArgs(i512, u63, 1 << 62); | ||
| 4019 | try testArgs(i1024, u63, 0); | ||
| 4020 | try testArgs(i1024, u63, 1 << 0); | ||
| 4021 | try testArgs(i1024, u63, 1 << 62); | ||
| 4022 | |||
| 4023 | try testArgs(u8, i64, -1 << 63); | ||
| 4024 | try testArgs(u8, i64, -1); | ||
| 4025 | try testArgs(u8, i64, 0); | ||
| 4026 | try testArgs(u16, i64, -1 << 63); | ||
| 4027 | try testArgs(u16, i64, -1); | ||
| 4028 | try testArgs(u16, i64, 0); | ||
| 4029 | try testArgs(u32, i64, -1 << 63); | ||
| 4030 | try testArgs(u32, i64, -1); | ||
| 4031 | try testArgs(u32, i64, 0); | ||
| 4032 | try testArgs(u64, i64, -1 << 63); | ||
| 4033 | try testArgs(u64, i64, -1); | ||
| 4034 | try testArgs(u64, i64, 0); | ||
| 4035 | try testArgs(u128, i64, -1 << 63); | ||
| 4036 | try testArgs(u128, i64, -1); | ||
| 4037 | try testArgs(u128, i64, 0); | ||
| 4038 | try testArgs(u256, i64, -1 << 63); | ||
| 4039 | try testArgs(u256, i64, -1); | ||
| 4040 | try testArgs(u256, i64, 0); | ||
| 4041 | try testArgs(u512, i64, -1 << 63); | ||
| 4042 | try testArgs(u512, i64, -1); | ||
| 4043 | try testArgs(u512, i64, 0); | ||
| 4044 | try testArgs(u1024, i64, -1 << 63); | ||
| 4045 | try testArgs(u1024, i64, -1); | ||
| 4046 | try testArgs(u1024, i64, 0); | ||
| 4047 | try testArgs(i8, u64, 0); | ||
| 4048 | try testArgs(i8, u64, 1 << 0); | ||
| 4049 | try testArgs(i8, u64, 1 << 63); | ||
| 4050 | try testArgs(i16, u64, 0); | ||
| 4051 | try testArgs(i16, u64, 1 << 0); | ||
| 4052 | try testArgs(i16, u64, 1 << 63); | ||
| 4053 | try testArgs(i32, u64, 0); | ||
| 4054 | try testArgs(i32, u64, 1 << 0); | ||
| 4055 | try testArgs(i32, u64, 1 << 63); | ||
| 4056 | try testArgs(i64, u64, 0); | ||
| 4057 | try testArgs(i64, u64, 1 << 0); | ||
| 4058 | try testArgs(i64, u64, 1 << 63); | ||
| 4059 | try testArgs(i128, u64, 0); | ||
| 4060 | try testArgs(i128, u64, 1 << 0); | ||
| 4061 | try testArgs(i128, u64, 1 << 63); | ||
| 4062 | try testArgs(i256, u64, 0); | ||
| 4063 | try testArgs(i256, u64, 1 << 0); | ||
| 4064 | try testArgs(i256, u64, 1 << 63); | ||
| 4065 | try testArgs(i512, u64, 0); | ||
| 4066 | try testArgs(i512, u64, 1 << 0); | ||
| 4067 | try testArgs(i512, u64, 1 << 63); | ||
| 4068 | try testArgs(i1024, u64, 0); | ||
| 4069 | try testArgs(i1024, u64, 1 << 0); | ||
| 4070 | try testArgs(i1024, u64, 1 << 63); | ||
| 4071 | |||
| 4072 | try testArgs(u8, i65, -1 << 64); | ||
| 4073 | try testArgs(u8, i65, -1); | ||
| 4074 | try testArgs(u8, i65, 0); | ||
| 4075 | try testArgs(u16, i65, -1 << 64); | ||
| 4076 | try testArgs(u16, i65, -1); | ||
| 4077 | try testArgs(u16, i65, 0); | ||
| 4078 | try testArgs(u32, i65, -1 << 64); | ||
| 4079 | try testArgs(u32, i65, -1); | ||
| 4080 | try testArgs(u32, i65, 0); | ||
| 4081 | try testArgs(u64, i65, -1 << 64); | ||
| 4082 | try testArgs(u64, i65, -1); | ||
| 4083 | try testArgs(u64, i65, 0); | ||
| 4084 | try testArgs(u128, i65, -1 << 64); | ||
| 4085 | try testArgs(u128, i65, -1); | ||
| 4086 | try testArgs(u128, i65, 0); | ||
| 4087 | try testArgs(u256, i65, -1 << 64); | ||
| 4088 | try testArgs(u256, i65, -1); | ||
| 4089 | try testArgs(u256, i65, 0); | ||
| 4090 | try testArgs(u512, i65, -1 << 64); | ||
| 4091 | try testArgs(u512, i65, -1); | ||
| 4092 | try testArgs(u512, i65, 0); | ||
| 4093 | try testArgs(u1024, i65, -1 << 64); | ||
| 4094 | try testArgs(u1024, i65, -1); | ||
| 4095 | try testArgs(u1024, i65, 0); | ||
| 4096 | try testArgs(i8, u65, 0); | ||
| 4097 | try testArgs(i8, u65, 1 << 0); | ||
| 4098 | try testArgs(i8, u65, 1 << 64); | ||
| 4099 | try testArgs(i16, u65, 0); | ||
| 4100 | try testArgs(i16, u65, 1 << 0); | ||
| 4101 | try testArgs(i16, u65, 1 << 64); | ||
| 4102 | try testArgs(i32, u65, 0); | ||
| 4103 | try testArgs(i32, u65, 1 << 0); | ||
| 4104 | try testArgs(i32, u65, 1 << 64); | ||
| 4105 | try testArgs(i64, u65, 0); | ||
| 4106 | try testArgs(i64, u65, 1 << 0); | ||
| 4107 | try testArgs(i64, u65, 1 << 64); | ||
| 4108 | try testArgs(i128, u65, 0); | ||
| 4109 | try testArgs(i128, u65, 1 << 0); | ||
| 4110 | try testArgs(i128, u65, 1 << 64); | ||
| 4111 | try testArgs(i256, u65, 0); | ||
| 4112 | try testArgs(i256, u65, 1 << 0); | ||
| 4113 | try testArgs(i256, u65, 1 << 64); | ||
| 4114 | try testArgs(i512, u65, 0); | ||
| 4115 | try testArgs(i512, u65, 1 << 0); | ||
| 4116 | try testArgs(i512, u65, 1 << 64); | ||
| 4117 | try testArgs(i1024, u65, 0); | ||
| 4118 | try testArgs(i1024, u65, 1 << 0); | ||
| 4119 | try testArgs(i1024, u65, 1 << 64); | ||
| 4120 | |||
| 4121 | try testArgs(u8, i95, -1 << 94); | ||
| 4122 | try testArgs(u8, i95, -1); | ||
| 4123 | try testArgs(u8, i95, 0); | ||
| 4124 | try testArgs(u16, i95, -1 << 94); | ||
| 4125 | try testArgs(u16, i95, -1); | ||
| 4126 | try testArgs(u16, i95, 0); | ||
| 4127 | try testArgs(u32, i95, -1 << 94); | ||
| 4128 | try testArgs(u32, i95, -1); | ||
| 4129 | try testArgs(u32, i95, 0); | ||
| 4130 | try testArgs(u64, i95, -1 << 94); | ||
| 4131 | try testArgs(u64, i95, -1); | ||
| 4132 | try testArgs(u64, i95, 0); | ||
| 4133 | try testArgs(u128, i95, -1 << 94); | ||
| 4134 | try testArgs(u128, i95, -1); | ||
| 4135 | try testArgs(u128, i95, 0); | ||
| 4136 | try testArgs(u256, i95, -1 << 94); | ||
| 4137 | try testArgs(u256, i95, -1); | ||
| 4138 | try testArgs(u256, i95, 0); | ||
| 4139 | try testArgs(u512, i95, -1 << 94); | ||
| 4140 | try testArgs(u512, i95, -1); | ||
| 4141 | try testArgs(u512, i95, 0); | ||
| 4142 | try testArgs(u1024, i95, -1 << 94); | ||
| 4143 | try testArgs(u1024, i95, -1); | ||
| 4144 | try testArgs(u1024, i95, 0); | ||
| 4145 | try testArgs(i8, u95, 0); | ||
| 4146 | try testArgs(i8, u95, 1 << 0); | ||
| 4147 | try testArgs(i8, u95, 1 << 94); | ||
| 4148 | try testArgs(i16, u95, 0); | ||
| 4149 | try testArgs(i16, u95, 1 << 0); | ||
| 4150 | try testArgs(i16, u95, 1 << 94); | ||
| 4151 | try testArgs(i32, u95, 0); | ||
| 4152 | try testArgs(i32, u95, 1 << 0); | ||
| 4153 | try testArgs(i32, u95, 1 << 94); | ||
| 4154 | try testArgs(i64, u95, 0); | ||
| 4155 | try testArgs(i64, u95, 1 << 0); | ||
| 4156 | try testArgs(i64, u95, 1 << 94); | ||
| 4157 | try testArgs(i128, u95, 0); | ||
| 4158 | try testArgs(i128, u95, 1 << 0); | ||
| 4159 | try testArgs(i128, u95, 1 << 94); | ||
| 4160 | try testArgs(i256, u95, 0); | ||
| 4161 | try testArgs(i256, u95, 1 << 0); | ||
| 4162 | try testArgs(i256, u95, 1 << 94); | ||
| 4163 | try testArgs(i512, u95, 0); | ||
| 4164 | try testArgs(i512, u95, 1 << 0); | ||
| 4165 | try testArgs(i512, u95, 1 << 94); | ||
| 4166 | try testArgs(i1024, u95, 0); | ||
| 4167 | try testArgs(i1024, u95, 1 << 0); | ||
| 4168 | try testArgs(i1024, u95, 1 << 94); | ||
| 4169 | |||
| 4170 | try testArgs(u8, i96, -1 << 95); | ||
| 4171 | try testArgs(u8, i96, -1); | ||
| 4172 | try testArgs(u8, i96, 0); | ||
| 4173 | try testArgs(u16, i96, -1 << 95); | ||
| 4174 | try testArgs(u16, i96, -1); | ||
| 4175 | try testArgs(u16, i96, 0); | ||
| 4176 | try testArgs(u32, i96, -1 << 95); | ||
| 4177 | try testArgs(u32, i96, -1); | ||
| 4178 | try testArgs(u32, i96, 0); | ||
| 4179 | try testArgs(u64, i96, -1 << 95); | ||
| 4180 | try testArgs(u64, i96, -1); | ||
| 4181 | try testArgs(u64, i96, 0); | ||
| 4182 | try testArgs(u128, i96, -1 << 95); | ||
| 4183 | try testArgs(u128, i96, -1); | ||
| 4184 | try testArgs(u128, i96, 0); | ||
| 4185 | try testArgs(u256, i96, -1 << 95); | ||
| 4186 | try testArgs(u256, i96, -1); | ||
| 4187 | try testArgs(u256, i96, 0); | ||
| 4188 | try testArgs(u512, i96, -1 << 95); | ||
| 4189 | try testArgs(u512, i96, -1); | ||
| 4190 | try testArgs(u512, i96, 0); | ||
| 4191 | try testArgs(u1024, i96, -1 << 95); | ||
| 4192 | try testArgs(u1024, i96, -1); | ||
| 4193 | try testArgs(u1024, i96, 0); | ||
| 4194 | try testArgs(i8, u96, 0); | ||
| 4195 | try testArgs(i8, u96, 1 << 0); | ||
| 4196 | try testArgs(i8, u96, 1 << 95); | ||
| 4197 | try testArgs(i16, u96, 0); | ||
| 4198 | try testArgs(i16, u96, 1 << 0); | ||
| 4199 | try testArgs(i16, u96, 1 << 95); | ||
| 4200 | try testArgs(i32, u96, 0); | ||
| 4201 | try testArgs(i32, u96, 1 << 0); | ||
| 4202 | try testArgs(i32, u96, 1 << 95); | ||
| 4203 | try testArgs(i64, u96, 0); | ||
| 4204 | try testArgs(i64, u96, 1 << 0); | ||
| 4205 | try testArgs(i64, u96, 1 << 95); | ||
| 4206 | try testArgs(i128, u96, 0); | ||
| 4207 | try testArgs(i128, u96, 1 << 0); | ||
| 4208 | try testArgs(i128, u96, 1 << 95); | ||
| 4209 | try testArgs(i256, u96, 0); | ||
| 4210 | try testArgs(i256, u96, 1 << 0); | ||
| 4211 | try testArgs(i256, u96, 1 << 95); | ||
| 4212 | try testArgs(i512, u96, 0); | ||
| 4213 | try testArgs(i512, u96, 1 << 0); | ||
| 4214 | try testArgs(i512, u96, 1 << 95); | ||
| 4215 | try testArgs(i1024, u96, 0); | ||
| 4216 | try testArgs(i1024, u96, 1 << 0); | ||
| 4217 | try testArgs(i1024, u96, 1 << 95); | ||
| 4218 | |||
| 4219 | try testArgs(u8, i97, -1 << 96); | ||
| 4220 | try testArgs(u8, i97, -1); | ||
| 4221 | try testArgs(u8, i97, 0); | ||
| 4222 | try testArgs(u16, i97, -1 << 96); | ||
| 4223 | try testArgs(u16, i97, -1); | ||
| 4224 | try testArgs(u16, i97, 0); | ||
| 4225 | try testArgs(u32, i97, -1 << 96); | ||
| 4226 | try testArgs(u32, i97, -1); | ||
| 4227 | try testArgs(u32, i97, 0); | ||
| 4228 | try testArgs(u64, i97, -1 << 96); | ||
| 4229 | try testArgs(u64, i97, -1); | ||
| 4230 | try testArgs(u64, i97, 0); | ||
| 4231 | try testArgs(u128, i97, -1 << 96); | ||
| 4232 | try testArgs(u128, i97, -1); | ||
| 4233 | try testArgs(u128, i97, 0); | ||
| 4234 | try testArgs(u256, i97, -1 << 96); | ||
| 4235 | try testArgs(u256, i97, -1); | ||
| 4236 | try testArgs(u256, i97, 0); | ||
| 4237 | try testArgs(u512, i97, -1 << 96); | ||
| 4238 | try testArgs(u512, i97, -1); | ||
| 4239 | try testArgs(u512, i97, 0); | ||
| 4240 | try testArgs(u1024, i97, -1 << 96); | ||
| 4241 | try testArgs(u1024, i97, -1); | ||
| 4242 | try testArgs(u1024, i97, 0); | ||
| 4243 | try testArgs(i8, u97, 0); | ||
| 4244 | try testArgs(i8, u97, 1 << 0); | ||
| 4245 | try testArgs(i8, u97, 1 << 96); | ||
| 4246 | try testArgs(i16, u97, 0); | ||
| 4247 | try testArgs(i16, u97, 1 << 0); | ||
| 4248 | try testArgs(i16, u97, 1 << 96); | ||
| 4249 | try testArgs(i32, u97, 0); | ||
| 4250 | try testArgs(i32, u97, 1 << 0); | ||
| 4251 | try testArgs(i32, u97, 1 << 96); | ||
| 4252 | try testArgs(i64, u97, 0); | ||
| 4253 | try testArgs(i64, u97, 1 << 0); | ||
| 4254 | try testArgs(i64, u97, 1 << 96); | ||
| 4255 | try testArgs(i128, u97, 0); | ||
| 4256 | try testArgs(i128, u97, 1 << 0); | ||
| 4257 | try testArgs(i128, u97, 1 << 96); | ||
| 4258 | try testArgs(i256, u97, 0); | ||
| 4259 | try testArgs(i256, u97, 1 << 0); | ||
| 4260 | try testArgs(i256, u97, 1 << 96); | ||
| 4261 | try testArgs(i512, u97, 0); | ||
| 4262 | try testArgs(i512, u97, 1 << 0); | ||
| 4263 | try testArgs(i512, u97, 1 << 96); | ||
| 4264 | try testArgs(i1024, u97, 0); | ||
| 4265 | try testArgs(i1024, u97, 1 << 0); | ||
| 4266 | try testArgs(i1024, u97, 1 << 96); | ||
| 4267 | |||
| 4268 | try testArgs(u8, i127, -1 << 126); | ||
| 4269 | try testArgs(u8, i127, -1); | ||
| 4270 | try testArgs(u8, i127, 0); | ||
| 4271 | try testArgs(u16, i127, -1 << 126); | ||
| 4272 | try testArgs(u16, i127, -1); | ||
| 4273 | try testArgs(u16, i127, 0); | ||
| 4274 | try testArgs(u32, i127, -1 << 126); | ||
| 4275 | try testArgs(u32, i127, -1); | ||
| 4276 | try testArgs(u32, i127, 0); | ||
| 4277 | try testArgs(u64, i127, -1 << 126); | ||
| 4278 | try testArgs(u64, i127, -1); | ||
| 4279 | try testArgs(u64, i127, 0); | ||
| 4280 | try testArgs(u128, i127, -1 << 126); | ||
| 4281 | try testArgs(u128, i127, -1); | ||
| 4282 | try testArgs(u128, i127, 0); | ||
| 4283 | try testArgs(u256, i127, -1 << 126); | ||
| 4284 | try testArgs(u256, i127, -1); | ||
| 4285 | try testArgs(u256, i127, 0); | ||
| 4286 | try testArgs(u512, i127, -1 << 126); | ||
| 4287 | try testArgs(u512, i127, -1); | ||
| 4288 | try testArgs(u512, i127, 0); | ||
| 4289 | try testArgs(u1024, i127, -1 << 126); | ||
| 4290 | try testArgs(u1024, i127, -1); | ||
| 4291 | try testArgs(u1024, i127, 0); | ||
| 4292 | try testArgs(i8, u127, 0); | ||
| 4293 | try testArgs(i8, u127, 1 << 0); | ||
| 4294 | try testArgs(i8, u127, 1 << 126); | ||
| 4295 | try testArgs(i16, u127, 0); | ||
| 4296 | try testArgs(i16, u127, 1 << 0); | ||
| 4297 | try testArgs(i16, u127, 1 << 126); | ||
| 4298 | try testArgs(i32, u127, 0); | ||
| 4299 | try testArgs(i32, u127, 1 << 0); | ||
| 4300 | try testArgs(i32, u127, 1 << 126); | ||
| 4301 | try testArgs(i64, u127, 0); | ||
| 4302 | try testArgs(i64, u127, 1 << 0); | ||
| 4303 | try testArgs(i64, u127, 1 << 126); | ||
| 4304 | try testArgs(i128, u127, 0); | ||
| 4305 | try testArgs(i128, u127, 1 << 0); | ||
| 4306 | try testArgs(i128, u127, 1 << 126); | ||
| 4307 | try testArgs(i256, u127, 0); | ||
| 4308 | try testArgs(i256, u127, 1 << 0); | ||
| 4309 | try testArgs(i256, u127, 1 << 126); | ||
| 4310 | try testArgs(i512, u127, 0); | ||
| 4311 | try testArgs(i512, u127, 1 << 0); | ||
| 4312 | try testArgs(i512, u127, 1 << 126); | ||
| 4313 | try testArgs(i1024, u127, 0); | ||
| 4314 | try testArgs(i1024, u127, 1 << 0); | ||
| 4315 | try testArgs(i1024, u127, 1 << 126); | ||
| 4316 | |||
| 4317 | try testArgs(u8, i128, -1 << 127); | ||
| 4318 | try testArgs(u8, i128, -1); | ||
| 4319 | try testArgs(u8, i128, 0); | ||
| 4320 | try testArgs(u16, i128, -1 << 127); | ||
| 4321 | try testArgs(u16, i128, -1); | ||
| 4322 | try testArgs(u16, i128, 0); | ||
| 4323 | try testArgs(u32, i128, -1 << 127); | ||
| 4324 | try testArgs(u32, i128, -1); | ||
| 4325 | try testArgs(u32, i128, 0); | ||
| 4326 | try testArgs(u64, i128, -1 << 127); | ||
| 4327 | try testArgs(u64, i128, -1); | ||
| 4328 | try testArgs(u64, i128, 0); | ||
| 4329 | try testArgs(u128, i128, -1 << 127); | ||
| 4330 | try testArgs(u128, i128, -1); | ||
| 4331 | try testArgs(u128, i128, 0); | ||
| 4332 | try testArgs(u256, i128, -1 << 127); | ||
| 4333 | try testArgs(u256, i128, -1); | ||
| 4334 | try testArgs(u256, i128, 0); | ||
| 4335 | try testArgs(u512, i128, -1 << 127); | ||
| 4336 | try testArgs(u512, i128, -1); | ||
| 4337 | try testArgs(u512, i128, 0); | ||
| 4338 | try testArgs(u1024, i128, -1 << 127); | ||
| 4339 | try testArgs(u1024, i128, -1); | ||
| 4340 | try testArgs(u1024, i128, 0); | ||
| 4341 | try testArgs(i8, u128, 0); | ||
| 4342 | try testArgs(i8, u128, 1 << 0); | ||
| 4343 | try testArgs(i8, u128, 1 << 127); | ||
| 4344 | try testArgs(i16, u128, 0); | ||
| 4345 | try testArgs(i16, u128, 1 << 0); | ||
| 4346 | try testArgs(i16, u128, 1 << 127); | ||
| 4347 | try testArgs(i32, u128, 0); | ||
| 4348 | try testArgs(i32, u128, 1 << 0); | ||
| 4349 | try testArgs(i32, u128, 1 << 127); | ||
| 4350 | try testArgs(i64, u128, 0); | ||
| 4351 | try testArgs(i64, u128, 1 << 0); | ||
| 4352 | try testArgs(i64, u128, 1 << 127); | ||
| 4353 | try testArgs(i128, u128, 0); | ||
| 4354 | try testArgs(i128, u128, 1 << 0); | ||
| 4355 | try testArgs(i128, u128, 1 << 127); | ||
| 4356 | try testArgs(i256, u128, 0); | ||
| 4357 | try testArgs(i256, u128, 1 << 0); | ||
| 4358 | try testArgs(i256, u128, 1 << 127); | ||
| 4359 | try testArgs(i512, u128, 0); | ||
| 4360 | try testArgs(i512, u128, 1 << 0); | ||
| 4361 | try testArgs(i512, u128, 1 << 127); | ||
| 4362 | try testArgs(i1024, u128, 0); | ||
| 4363 | try testArgs(i1024, u128, 1 << 0); | ||
| 4364 | try testArgs(i1024, u128, 1 << 127); | ||
| 4365 | |||
| 4366 | try testArgs(u8, i129, -1 << 128); | ||
| 4367 | try testArgs(u8, i129, -1); | ||
| 4368 | try testArgs(u8, i129, 0); | ||
| 4369 | try testArgs(u16, i129, -1 << 128); | ||
| 4370 | try testArgs(u16, i129, -1); | ||
| 4371 | try testArgs(u16, i129, 0); | ||
| 4372 | try testArgs(u32, i129, -1 << 128); | ||
| 4373 | try testArgs(u32, i129, -1); | ||
| 4374 | try testArgs(u32, i129, 0); | ||
| 4375 | try testArgs(u64, i129, -1 << 128); | ||
| 4376 | try testArgs(u64, i129, -1); | ||
| 4377 | try testArgs(u64, i129, 0); | ||
| 4378 | try testArgs(u128, i129, -1 << 128); | ||
| 4379 | try testArgs(u128, i129, -1); | ||
| 4380 | try testArgs(u128, i129, 0); | ||
| 4381 | try testArgs(u256, i129, -1 << 128); | ||
| 4382 | try testArgs(u256, i129, -1); | ||
| 4383 | try testArgs(u256, i129, 0); | ||
| 4384 | try testArgs(u512, i129, -1 << 128); | ||
| 4385 | try testArgs(u512, i129, -1); | ||
| 4386 | try testArgs(u512, i129, 0); | ||
| 4387 | try testArgs(u1024, i129, -1 << 128); | ||
| 4388 | try testArgs(u1024, i129, -1); | ||
| 4389 | try testArgs(u1024, i129, 0); | ||
| 4390 | try testArgs(i8, u129, 0); | ||
| 4391 | try testArgs(i8, u129, 1 << 0); | ||
| 4392 | try testArgs(i8, u129, 1 << 128); | ||
| 4393 | try testArgs(i16, u129, 0); | ||
| 4394 | try testArgs(i16, u129, 1 << 0); | ||
| 4395 | try testArgs(i16, u129, 1 << 128); | ||
| 4396 | try testArgs(i32, u129, 0); | ||
| 4397 | try testArgs(i32, u129, 1 << 0); | ||
| 4398 | try testArgs(i32, u129, 1 << 128); | ||
| 4399 | try testArgs(i64, u129, 0); | ||
| 4400 | try testArgs(i64, u129, 1 << 0); | ||
| 4401 | try testArgs(i64, u129, 1 << 128); | ||
| 4402 | try testArgs(i128, u129, 0); | ||
| 4403 | try testArgs(i128, u129, 1 << 0); | ||
| 4404 | try testArgs(i128, u129, 1 << 128); | ||
| 4405 | try testArgs(i256, u129, 0); | ||
| 4406 | try testArgs(i256, u129, 1 << 0); | ||
| 4407 | try testArgs(i256, u129, 1 << 128); | ||
| 4408 | try testArgs(i512, u129, 0); | ||
| 4409 | try testArgs(i512, u129, 1 << 0); | ||
| 4410 | try testArgs(i512, u129, 1 << 128); | ||
| 4411 | try testArgs(i1024, u129, 0); | ||
| 4412 | try testArgs(i1024, u129, 1 << 0); | ||
| 4413 | try testArgs(i1024, u129, 1 << 128); | ||
| 4414 | |||
| 4415 | try testArgs(u8, i255, -1 << 254); | ||
| 4416 | try testArgs(u8, i255, -1); | ||
| 4417 | try testArgs(u8, i255, 0); | ||
| 4418 | try testArgs(u16, i255, -1 << 254); | ||
| 4419 | try testArgs(u16, i255, -1); | ||
| 4420 | try testArgs(u16, i255, 0); | ||
| 4421 | try testArgs(u32, i255, -1 << 254); | ||
| 4422 | try testArgs(u32, i255, -1); | ||
| 4423 | try testArgs(u32, i255, 0); | ||
| 4424 | try testArgs(u64, i255, -1 << 254); | ||
| 4425 | try testArgs(u64, i255, -1); | ||
| 4426 | try testArgs(u64, i255, 0); | ||
| 4427 | try testArgs(u128, i255, -1 << 254); | ||
| 4428 | try testArgs(u128, i255, -1); | ||
| 4429 | try testArgs(u128, i255, 0); | ||
| 4430 | try testArgs(u256, i255, -1 << 254); | ||
| 4431 | try testArgs(u256, i255, -1); | ||
| 4432 | try testArgs(u256, i255, 0); | ||
| 4433 | try testArgs(u512, i255, -1 << 254); | ||
| 4434 | try testArgs(u512, i255, -1); | ||
| 4435 | try testArgs(u512, i255, 0); | ||
| 4436 | try testArgs(u1024, i255, -1 << 254); | ||
| 4437 | try testArgs(u1024, i255, -1); | ||
| 4438 | try testArgs(u1024, i255, 0); | ||
| 4439 | try testArgs(i8, u255, 0); | ||
| 4440 | try testArgs(i8, u255, 1 << 0); | ||
| 4441 | try testArgs(i8, u255, 1 << 254); | ||
| 4442 | try testArgs(i16, u255, 0); | ||
| 4443 | try testArgs(i16, u255, 1 << 0); | ||
| 4444 | try testArgs(i16, u255, 1 << 254); | ||
| 4445 | try testArgs(i32, u255, 0); | ||
| 4446 | try testArgs(i32, u255, 1 << 0); | ||
| 4447 | try testArgs(i32, u255, 1 << 254); | ||
| 4448 | try testArgs(i64, u255, 0); | ||
| 4449 | try testArgs(i64, u255, 1 << 0); | ||
| 4450 | try testArgs(i64, u255, 1 << 254); | ||
| 4451 | try testArgs(i128, u255, 0); | ||
| 4452 | try testArgs(i128, u255, 1 << 0); | ||
| 4453 | try testArgs(i128, u255, 1 << 254); | ||
| 4454 | try testArgs(i256, u255, 0); | ||
| 4455 | try testArgs(i256, u255, 1 << 0); | ||
| 4456 | try testArgs(i256, u255, 1 << 254); | ||
| 4457 | try testArgs(i512, u255, 0); | ||
| 4458 | try testArgs(i512, u255, 1 << 0); | ||
| 4459 | try testArgs(i512, u255, 1 << 254); | ||
| 4460 | try testArgs(i1024, u255, 0); | ||
| 4461 | try testArgs(i1024, u255, 1 << 0); | ||
| 4462 | try testArgs(i1024, u255, 1 << 254); | ||
| 4463 | |||
| 4464 | try testArgs(u8, i256, -1 << 255); | ||
| 4465 | try testArgs(u8, i256, -1); | ||
| 4466 | try testArgs(u8, i256, 0); | ||
| 4467 | try testArgs(u16, i256, -1 << 255); | ||
| 4468 | try testArgs(u16, i256, -1); | ||
| 4469 | try testArgs(u16, i256, 0); | ||
| 4470 | try testArgs(u32, i256, -1 << 255); | ||
| 4471 | try testArgs(u32, i256, -1); | ||
| 4472 | try testArgs(u32, i256, 0); | ||
| 4473 | try testArgs(u64, i256, -1 << 255); | ||
| 4474 | try testArgs(u64, i256, -1); | ||
| 4475 | try testArgs(u64, i256, 0); | ||
| 4476 | try testArgs(u128, i256, -1 << 255); | ||
| 4477 | try testArgs(u128, i256, -1); | ||
| 4478 | try testArgs(u128, i256, 0); | ||
| 4479 | try testArgs(u256, i256, -1 << 255); | ||
| 4480 | try testArgs(u256, i256, -1); | ||
| 4481 | try testArgs(u256, i256, 0); | ||
| 4482 | try testArgs(u512, i256, -1 << 255); | ||
| 4483 | try testArgs(u512, i256, -1); | ||
| 4484 | try testArgs(u512, i256, 0); | ||
| 4485 | try testArgs(u1024, i256, -1 << 255); | ||
| 4486 | try testArgs(u1024, i256, -1); | ||
| 4487 | try testArgs(u1024, i256, 0); | ||
| 4488 | try testArgs(i8, u256, 0); | ||
| 4489 | try testArgs(i8, u256, 1 << 0); | ||
| 4490 | try testArgs(i8, u256, 1 << 255); | ||
| 4491 | try testArgs(i16, u256, 0); | ||
| 4492 | try testArgs(i16, u256, 1 << 0); | ||
| 4493 | try testArgs(i16, u256, 1 << 255); | ||
| 4494 | try testArgs(i32, u256, 0); | ||
| 4495 | try testArgs(i32, u256, 1 << 0); | ||
| 4496 | try testArgs(i32, u256, 1 << 255); | ||
| 4497 | try testArgs(i64, u256, 0); | ||
| 4498 | try testArgs(i64, u256, 1 << 0); | ||
| 4499 | try testArgs(i64, u256, 1 << 255); | ||
| 4500 | try testArgs(i128, u256, 0); | ||
| 4501 | try testArgs(i128, u256, 1 << 0); | ||
| 4502 | try testArgs(i128, u256, 1 << 255); | ||
| 4503 | try testArgs(i256, u256, 0); | ||
| 4504 | try testArgs(i256, u256, 1 << 0); | ||
| 4505 | try testArgs(i256, u256, 1 << 255); | ||
| 4506 | try testArgs(i512, u256, 0); | ||
| 4507 | try testArgs(i512, u256, 1 << 0); | ||
| 4508 | try testArgs(i512, u256, 1 << 255); | ||
| 4509 | try testArgs(i1024, u256, 0); | ||
| 4510 | try testArgs(i1024, u256, 1 << 0); | ||
| 4511 | try testArgs(i1024, u256, 1 << 255); | ||
| 4512 | |||
| 4513 | try testArgs(u8, i257, -1 << 256); | ||
| 4514 | try testArgs(u8, i257, -1); | ||
| 4515 | try testArgs(u8, i257, 0); | ||
| 4516 | try testArgs(u16, i257, -1 << 256); | ||
| 4517 | try testArgs(u16, i257, -1); | ||
| 4518 | try testArgs(u16, i257, 0); | ||
| 4519 | try testArgs(u32, i257, -1 << 256); | ||
| 4520 | try testArgs(u32, i257, -1); | ||
| 4521 | try testArgs(u32, i257, 0); | ||
| 4522 | try testArgs(u64, i257, -1 << 256); | ||
| 4523 | try testArgs(u64, i257, -1); | ||
| 4524 | try testArgs(u64, i257, 0); | ||
| 4525 | try testArgs(u128, i257, -1 << 256); | ||
| 4526 | try testArgs(u128, i257, -1); | ||
| 4527 | try testArgs(u128, i257, 0); | ||
| 4528 | try testArgs(u256, i257, -1 << 256); | ||
| 4529 | try testArgs(u256, i257, -1); | ||
| 4530 | try testArgs(u256, i257, 0); | ||
| 4531 | try testArgs(u512, i257, -1 << 256); | ||
| 4532 | try testArgs(u512, i257, -1); | ||
| 4533 | try testArgs(u512, i257, 0); | ||
| 4534 | try testArgs(u1024, i257, -1 << 256); | ||
| 4535 | try testArgs(u1024, i257, -1); | ||
| 4536 | try testArgs(u1024, i257, 0); | ||
| 4537 | try testArgs(i8, u257, 0); | ||
| 4538 | try testArgs(i8, u257, 1 << 0); | ||
| 4539 | try testArgs(i8, u257, 1 << 256); | ||
| 4540 | try testArgs(i16, u257, 0); | ||
| 4541 | try testArgs(i16, u257, 1 << 0); | ||
| 4542 | try testArgs(i16, u257, 1 << 256); | ||
| 4543 | try testArgs(i32, u257, 0); | ||
| 4544 | try testArgs(i32, u257, 1 << 0); | ||
| 4545 | try testArgs(i32, u257, 1 << 256); | ||
| 4546 | try testArgs(i64, u257, 0); | ||
| 4547 | try testArgs(i64, u257, 1 << 0); | ||
| 4548 | try testArgs(i64, u257, 1 << 256); | ||
| 4549 | try testArgs(i128, u257, 0); | ||
| 4550 | try testArgs(i128, u257, 1 << 0); | ||
| 4551 | try testArgs(i128, u257, 1 << 256); | ||
| 4552 | try testArgs(i256, u257, 0); | ||
| 4553 | try testArgs(i256, u257, 1 << 0); | ||
| 4554 | try testArgs(i256, u257, 1 << 256); | ||
| 4555 | try testArgs(i512, u257, 0); | ||
| 4556 | try testArgs(i512, u257, 1 << 0); | ||
| 4557 | try testArgs(i512, u257, 1 << 256); | ||
| 4558 | try testArgs(i1024, u257, 0); | ||
| 4559 | try testArgs(i1024, u257, 1 << 0); | ||
| 4560 | try testArgs(i1024, u257, 1 << 256); | ||
| 4561 | |||
| 4562 | try testArgs(u8, i511, -1 << 510); | ||
| 4563 | try testArgs(u8, i511, -1); | ||
| 4564 | try testArgs(u8, i511, 0); | ||
| 4565 | try testArgs(u16, i511, -1 << 510); | ||
| 4566 | try testArgs(u16, i511, -1); | ||
| 4567 | try testArgs(u16, i511, 0); | ||
| 4568 | try testArgs(u32, i511, -1 << 510); | ||
| 4569 | try testArgs(u32, i511, -1); | ||
| 4570 | try testArgs(u32, i511, 0); | ||
| 4571 | try testArgs(u64, i511, -1 << 510); | ||
| 4572 | try testArgs(u64, i511, -1); | ||
| 4573 | try testArgs(u64, i511, 0); | ||
| 4574 | try testArgs(u128, i511, -1 << 510); | ||
| 4575 | try testArgs(u128, i511, -1); | ||
| 4576 | try testArgs(u128, i511, 0); | ||
| 4577 | try testArgs(u256, i511, -1 << 510); | ||
| 4578 | try testArgs(u256, i511, -1); | ||
| 4579 | try testArgs(u256, i511, 0); | ||
| 4580 | try testArgs(u512, i511, -1 << 510); | ||
| 4581 | try testArgs(u512, i511, -1); | ||
| 4582 | try testArgs(u512, i511, 0); | ||
| 4583 | try testArgs(u1024, i511, -1 << 510); | ||
| 4584 | try testArgs(u1024, i511, -1); | ||
| 4585 | try testArgs(u1024, i511, 0); | ||
| 4586 | try testArgs(i8, u511, 0); | ||
| 4587 | try testArgs(i8, u511, 1 << 0); | ||
| 4588 | try testArgs(i8, u511, 1 << 510); | ||
| 4589 | try testArgs(i16, u511, 0); | ||
| 4590 | try testArgs(i16, u511, 1 << 0); | ||
| 4591 | try testArgs(i16, u511, 1 << 510); | ||
| 4592 | try testArgs(i32, u511, 0); | ||
| 4593 | try testArgs(i32, u511, 1 << 0); | ||
| 4594 | try testArgs(i32, u511, 1 << 510); | ||
| 4595 | try testArgs(i64, u511, 0); | ||
| 4596 | try testArgs(i64, u511, 1 << 0); | ||
| 4597 | try testArgs(i64, u511, 1 << 510); | ||
| 4598 | try testArgs(i128, u511, 0); | ||
| 4599 | try testArgs(i128, u511, 1 << 0); | ||
| 4600 | try testArgs(i128, u511, 1 << 510); | ||
| 4601 | try testArgs(i256, u511, 0); | ||
| 4602 | try testArgs(i256, u511, 1 << 0); | ||
| 4603 | try testArgs(i256, u511, 1 << 510); | ||
| 4604 | try testArgs(i512, u511, 0); | ||
| 4605 | try testArgs(i512, u511, 1 << 0); | ||
| 4606 | try testArgs(i512, u511, 1 << 510); | ||
| 4607 | try testArgs(i1024, u511, 0); | ||
| 4608 | try testArgs(i1024, u511, 1 << 0); | ||
| 4609 | try testArgs(i1024, u511, 1 << 510); | ||
| 4610 | |||
| 4611 | try testArgs(u8, i512, -1 << 511); | ||
| 4612 | try testArgs(u8, i512, -1); | ||
| 4613 | try testArgs(u8, i512, 0); | ||
| 4614 | try testArgs(u16, i512, -1 << 511); | ||
| 4615 | try testArgs(u16, i512, -1); | ||
| 4616 | try testArgs(u16, i512, 0); | ||
| 4617 | try testArgs(u32, i512, -1 << 511); | ||
| 4618 | try testArgs(u32, i512, -1); | ||
| 4619 | try testArgs(u32, i512, 0); | ||
| 4620 | try testArgs(u64, i512, -1 << 511); | ||
| 4621 | try testArgs(u64, i512, -1); | ||
| 4622 | try testArgs(u64, i512, 0); | ||
| 4623 | try testArgs(u128, i512, -1 << 511); | ||
| 4624 | try testArgs(u128, i512, -1); | ||
| 4625 | try testArgs(u128, i512, 0); | ||
| 4626 | try testArgs(u256, i512, -1 << 511); | ||
| 4627 | try testArgs(u256, i512, -1); | ||
| 4628 | try testArgs(u256, i512, 0); | ||
| 4629 | try testArgs(u512, i512, -1 << 511); | ||
| 4630 | try testArgs(u512, i512, -1); | ||
| 4631 | try testArgs(u512, i512, 0); | ||
| 4632 | try testArgs(u1024, i512, -1 << 511); | ||
| 4633 | try testArgs(u1024, i512, -1); | ||
| 4634 | try testArgs(u1024, i512, 0); | ||
| 4635 | try testArgs(i8, u512, 0); | ||
| 4636 | try testArgs(i8, u512, 1 << 0); | ||
| 4637 | try testArgs(i8, u512, 1 << 511); | ||
| 4638 | try testArgs(i16, u512, 0); | ||
| 4639 | try testArgs(i16, u512, 1 << 0); | ||
| 4640 | try testArgs(i16, u512, 1 << 511); | ||
| 4641 | try testArgs(i32, u512, 0); | ||
| 4642 | try testArgs(i32, u512, 1 << 0); | ||
| 4643 | try testArgs(i32, u512, 1 << 511); | ||
| 4644 | try testArgs(i64, u512, 0); | ||
| 4645 | try testArgs(i64, u512, 1 << 0); | ||
| 4646 | try testArgs(i64, u512, 1 << 511); | ||
| 4647 | try testArgs(i128, u512, 0); | ||
| 4648 | try testArgs(i128, u512, 1 << 0); | ||
| 4649 | try testArgs(i128, u512, 1 << 511); | ||
| 4650 | try testArgs(i256, u512, 0); | ||
| 4651 | try testArgs(i256, u512, 1 << 0); | ||
| 4652 | try testArgs(i256, u512, 1 << 511); | ||
| 4653 | try testArgs(i512, u512, 0); | ||
| 4654 | try testArgs(i512, u512, 1 << 0); | ||
| 4655 | try testArgs(i512, u512, 1 << 511); | ||
| 4656 | try testArgs(i1024, u512, 0); | ||
| 4657 | try testArgs(i1024, u512, 1 << 0); | ||
| 4658 | try testArgs(i1024, u512, 1 << 511); | ||
| 4659 | |||
| 4660 | try testArgs(u8, i513, -1 << 512); | ||
| 4661 | try testArgs(u8, i513, -1); | ||
| 4662 | try testArgs(u8, i513, 0); | ||
| 4663 | try testArgs(u16, i513, -1 << 512); | ||
| 4664 | try testArgs(u16, i513, -1); | ||
| 4665 | try testArgs(u16, i513, 0); | ||
| 4666 | try testArgs(u32, i513, -1 << 512); | ||
| 4667 | try testArgs(u32, i513, -1); | ||
| 4668 | try testArgs(u32, i513, 0); | ||
| 4669 | try testArgs(u64, i513, -1 << 512); | ||
| 4670 | try testArgs(u64, i513, -1); | ||
| 4671 | try testArgs(u64, i513, 0); | ||
| 4672 | try testArgs(u128, i513, -1 << 512); | ||
| 4673 | try testArgs(u128, i513, -1); | ||
| 4674 | try testArgs(u128, i513, 0); | ||
| 4675 | try testArgs(u256, i513, -1 << 512); | ||
| 4676 | try testArgs(u256, i513, -1); | ||
| 4677 | try testArgs(u256, i513, 0); | ||
| 4678 | try testArgs(u512, i513, -1 << 512); | ||
| 4679 | try testArgs(u512, i513, -1); | ||
| 4680 | try testArgs(u512, i513, 0); | ||
| 4681 | try testArgs(u1024, i513, -1 << 512); | ||
| 4682 | try testArgs(u1024, i513, -1); | ||
| 4683 | try testArgs(u1024, i513, 0); | ||
| 4684 | try testArgs(i8, u513, 0); | ||
| 4685 | try testArgs(i8, u513, 1 << 0); | ||
| 4686 | try testArgs(i8, u513, 1 << 512); | ||
| 4687 | try testArgs(i16, u513, 0); | ||
| 4688 | try testArgs(i16, u513, 1 << 0); | ||
| 4689 | try testArgs(i16, u513, 1 << 512); | ||
| 4690 | try testArgs(i32, u513, 0); | ||
| 4691 | try testArgs(i32, u513, 1 << 0); | ||
| 4692 | try testArgs(i32, u513, 1 << 512); | ||
| 4693 | try testArgs(i64, u513, 0); | ||
| 4694 | try testArgs(i64, u513, 1 << 0); | ||
| 4695 | try testArgs(i64, u513, 1 << 512); | ||
| 4696 | try testArgs(i128, u513, 0); | ||
| 4697 | try testArgs(i128, u513, 1 << 0); | ||
| 4698 | try testArgs(i128, u513, 1 << 512); | ||
| 4699 | try testArgs(i256, u513, 0); | ||
| 4700 | try testArgs(i256, u513, 1 << 0); | ||
| 4701 | try testArgs(i256, u513, 1 << 512); | ||
| 4702 | try testArgs(i512, u513, 0); | ||
| 4703 | try testArgs(i512, u513, 1 << 0); | ||
| 4704 | try testArgs(i512, u513, 1 << 512); | ||
| 4705 | try testArgs(i1024, u513, 0); | ||
| 4706 | try testArgs(i1024, u513, 1 << 0); | ||
| 4707 | try testArgs(i1024, u513, 1 << 512); | ||
| 4708 | |||
| 4709 | try testArgs(u8, i1023, -1 << 1022); | ||
| 4710 | try testArgs(u8, i1023, -1); | ||
| 4711 | try testArgs(u8, i1023, 0); | ||
| 4712 | try testArgs(u16, i1023, -1 << 1022); | ||
| 4713 | try testArgs(u16, i1023, -1); | ||
| 4714 | try testArgs(u16, i1023, 0); | ||
| 4715 | try testArgs(u32, i1023, -1 << 1022); | ||
| 4716 | try testArgs(u32, i1023, -1); | ||
| 4717 | try testArgs(u32, i1023, 0); | ||
| 4718 | try testArgs(u64, i1023, -1 << 1022); | ||
| 4719 | try testArgs(u64, i1023, -1); | ||
| 4720 | try testArgs(u64, i1023, 0); | ||
| 4721 | try testArgs(u128, i1023, -1 << 1022); | ||
| 4722 | try testArgs(u128, i1023, -1); | ||
| 4723 | try testArgs(u128, i1023, 0); | ||
| 4724 | try testArgs(u256, i1023, -1 << 1022); | ||
| 4725 | try testArgs(u256, i1023, -1); | ||
| 4726 | try testArgs(u256, i1023, 0); | ||
| 4727 | try testArgs(u512, i1023, -1 << 1022); | ||
| 4728 | try testArgs(u512, i1023, -1); | ||
| 4729 | try testArgs(u512, i1023, 0); | ||
| 4730 | try testArgs(u1024, i1023, -1 << 1022); | ||
| 4731 | try testArgs(u1024, i1023, -1); | ||
| 4732 | try testArgs(u1024, i1023, 0); | ||
| 4733 | try testArgs(i8, u1023, 0); | ||
| 4734 | try testArgs(i8, u1023, 1 << 0); | ||
| 4735 | try testArgs(i8, u1023, 1 << 1022); | ||
| 4736 | try testArgs(i16, u1023, 0); | ||
| 4737 | try testArgs(i16, u1023, 1 << 0); | ||
| 4738 | try testArgs(i16, u1023, 1 << 1022); | ||
| 4739 | try testArgs(i32, u1023, 0); | ||
| 4740 | try testArgs(i32, u1023, 1 << 0); | ||
| 4741 | try testArgs(i32, u1023, 1 << 1022); | ||
| 4742 | try testArgs(i64, u1023, 0); | ||
| 4743 | try testArgs(i64, u1023, 1 << 0); | ||
| 4744 | try testArgs(i64, u1023, 1 << 1022); | ||
| 4745 | try testArgs(i128, u1023, 0); | ||
| 4746 | try testArgs(i128, u1023, 1 << 0); | ||
| 4747 | try testArgs(i128, u1023, 1 << 1022); | ||
| 4748 | try testArgs(i256, u1023, 0); | ||
| 4749 | try testArgs(i256, u1023, 1 << 0); | ||
| 4750 | try testArgs(i256, u1023, 1 << 1022); | ||
| 4751 | try testArgs(i512, u1023, 0); | ||
| 4752 | try testArgs(i512, u1023, 1 << 0); | ||
| 4753 | try testArgs(i512, u1023, 1 << 1022); | ||
| 4754 | try testArgs(i1024, u1023, 0); | ||
| 4755 | try testArgs(i1024, u1023, 1 << 0); | ||
| 4756 | try testArgs(i1024, u1023, 1 << 1022); | ||
| 4757 | |||
| 4758 | try testArgs(u8, i1024, -1 << 1023); | ||
| 4759 | try testArgs(u8, i1024, -1); | ||
| 4760 | try testArgs(u8, i1024, 0); | ||
| 4761 | try testArgs(u16, i1024, -1 << 1023); | ||
| 4762 | try testArgs(u16, i1024, -1); | ||
| 4763 | try testArgs(u16, i1024, 0); | ||
| 4764 | try testArgs(u32, i1024, -1 << 1023); | ||
| 4765 | try testArgs(u32, i1024, -1); | ||
| 4766 | try testArgs(u32, i1024, 0); | ||
| 4767 | try testArgs(u64, i1024, -1 << 1023); | ||
| 4768 | try testArgs(u64, i1024, -1); | ||
| 4769 | try testArgs(u64, i1024, 0); | ||
| 4770 | try testArgs(u128, i1024, -1 << 1023); | ||
| 4771 | try testArgs(u128, i1024, -1); | ||
| 4772 | try testArgs(u128, i1024, 0); | ||
| 4773 | try testArgs(u256, i1024, -1 << 1023); | ||
| 4774 | try testArgs(u256, i1024, -1); | ||
| 4775 | try testArgs(u256, i1024, 0); | ||
| 4776 | try testArgs(u512, i1024, -1 << 1023); | ||
| 4777 | try testArgs(u512, i1024, -1); | ||
| 4778 | try testArgs(u512, i1024, 0); | ||
| 4779 | try testArgs(u1024, i1024, -1 << 1023); | ||
| 4780 | try testArgs(u1024, i1024, -1); | ||
| 4781 | try testArgs(u1024, i1024, 0); | ||
| 4782 | try testArgs(i8, u1024, 0); | ||
| 4783 | try testArgs(i8, u1024, 1 << 0); | ||
| 4784 | try testArgs(i8, u1024, 1 << 1023); | ||
| 4785 | try testArgs(i16, u1024, 0); | ||
| 4786 | try testArgs(i16, u1024, 1 << 0); | ||
| 4787 | try testArgs(i16, u1024, 1 << 1023); | ||
| 4788 | try testArgs(i32, u1024, 0); | ||
| 4789 | try testArgs(i32, u1024, 1 << 0); | ||
| 4790 | try testArgs(i32, u1024, 1 << 1023); | ||
| 4791 | try testArgs(i64, u1024, 0); | ||
| 4792 | try testArgs(i64, u1024, 1 << 0); | ||
| 4793 | try testArgs(i64, u1024, 1 << 1023); | ||
| 4794 | try testArgs(i128, u1024, 0); | ||
| 4795 | try testArgs(i128, u1024, 1 << 0); | ||
| 4796 | try testArgs(i128, u1024, 1 << 1023); | ||
| 4797 | try testArgs(i256, u1024, 0); | ||
| 4798 | try testArgs(i256, u1024, 1 << 0); | ||
| 4799 | try testArgs(i256, u1024, 1 << 1023); | ||
| 4800 | try testArgs(i512, u1024, 0); | ||
| 4801 | try testArgs(i512, u1024, 1 << 0); | ||
| 4802 | try testArgs(i512, u1024, 1 << 1023); | ||
| 4803 | try testArgs(i1024, u1024, 0); | ||
| 4804 | try testArgs(i1024, u1024, 1 << 0); | ||
| 4805 | try testArgs(i1024, u1024, 1 << 1023); | ||
| 4806 | |||
| 4807 | try testArgs(u8, i1025, -1 << 1024); | ||
| 4808 | try testArgs(u8, i1025, -1); | ||
| 4809 | try testArgs(u8, i1025, 0); | ||
| 4810 | try testArgs(u16, i1025, -1 << 1024); | ||
| 4811 | try testArgs(u16, i1025, -1); | ||
| 4812 | try testArgs(u16, i1025, 0); | ||
| 4813 | try testArgs(u32, i1025, -1 << 1024); | ||
| 4814 | try testArgs(u32, i1025, -1); | ||
| 4815 | try testArgs(u32, i1025, 0); | ||
| 4816 | try testArgs(u64, i1025, -1 << 1024); | ||
| 4817 | try testArgs(u64, i1025, -1); | ||
| 4818 | try testArgs(u64, i1025, 0); | ||
| 4819 | try testArgs(u128, i1025, -1 << 1024); | ||
| 4820 | try testArgs(u128, i1025, -1); | ||
| 4821 | try testArgs(u128, i1025, 0); | ||
| 4822 | try testArgs(u256, i1025, -1 << 1024); | ||
| 4823 | try testArgs(u256, i1025, -1); | ||
| 4824 | try testArgs(u256, i1025, 0); | ||
| 4825 | try testArgs(u512, i1025, -1 << 1024); | ||
| 4826 | try testArgs(u512, i1025, -1); | ||
| 4827 | try testArgs(u512, i1025, 0); | ||
| 4828 | try testArgs(u1024, i1025, -1 << 1024); | ||
| 4829 | try testArgs(u1024, i1025, -1); | ||
| 4830 | try testArgs(u1024, i1025, 0); | ||
| 4831 | try testArgs(i8, u1025, 0); | ||
| 4832 | try testArgs(i8, u1025, 1 << 0); | ||
| 4833 | try testArgs(i8, u1025, 1 << 1024); | ||
| 4834 | try testArgs(i16, u1025, 0); | ||
| 4835 | try testArgs(i16, u1025, 1 << 0); | ||
| 4836 | try testArgs(i16, u1025, 1 << 1024); | ||
| 4837 | try testArgs(i32, u1025, 0); | ||
| 4838 | try testArgs(i32, u1025, 1 << 0); | ||
| 4839 | try testArgs(i32, u1025, 1 << 1024); | ||
| 4840 | try testArgs(i64, u1025, 0); | ||
| 4841 | try testArgs(i64, u1025, 1 << 0); | ||
| 4842 | try testArgs(i64, u1025, 1 << 1024); | ||
| 4843 | try testArgs(i128, u1025, 0); | ||
| 4844 | try testArgs(i128, u1025, 1 << 0); | ||
| 4845 | try testArgs(i128, u1025, 1 << 1024); | ||
| 4846 | try testArgs(i256, u1025, 0); | ||
| 4847 | try testArgs(i256, u1025, 1 << 0); | ||
| 4848 | try testArgs(i256, u1025, 1 << 1024); | ||
| 4849 | try testArgs(i512, u1025, 0); | ||
| 4850 | try testArgs(i512, u1025, 1 << 0); | ||
| 4851 | try testArgs(i512, u1025, 1 << 1024); | ||
| 4852 | try testArgs(i1024, u1025, 0); | ||
| 4853 | try testArgs(i1024, u1025, 1 << 0); | ||
| 4854 | try testArgs(i1024, u1025, 1 << 1024); | ||
| 4855 | } | ||
| 4856 | fn testFloats() !void { | ||
| 4857 | @setEvalBranchQuota(3_100); | ||
| 4858 | |||
| 4859 | try testArgs(f16, f16, -nan(f16)); | ||
| 4860 | try testArgs(f16, f16, -inf(f16)); | ||
| 4861 | try testArgs(f16, f16, -fmax(f16)); | ||
| 4862 | try testArgs(f16, f16, -1e1); | ||
| 4863 | try testArgs(f16, f16, -1e0); | ||
| 4864 | try testArgs(f16, f16, -1e-1); | ||
| 4865 | try testArgs(f16, f16, -fmin(f16)); | ||
| 4866 | try testArgs(f16, f16, -tmin(f16)); | ||
| 4867 | try testArgs(f16, f16, -0.0); | ||
| 4868 | try testArgs(f16, f16, 0.0); | ||
| 4869 | try testArgs(f16, f16, tmin(f16)); | ||
| 4870 | try testArgs(f16, f16, fmin(f16)); | ||
| 4871 | try testArgs(f16, f16, 1e-1); | ||
| 4872 | try testArgs(f16, f16, 1e0); | ||
| 4873 | try testArgs(f16, f16, 1e1); | ||
| 4874 | try testArgs(f16, f16, fmax(f16)); | ||
| 4875 | try testArgs(f16, f16, inf(f16)); | ||
| 4876 | try testArgs(f16, f16, nan(f16)); | ||
| 4877 | |||
| 4878 | try testArgs(f32, f16, -nan(f16)); | ||
| 4879 | try testArgs(f32, f16, -inf(f16)); | ||
| 4880 | try testArgs(f32, f16, -fmax(f16)); | ||
| 4881 | try testArgs(f32, f16, -1e1); | ||
| 4882 | try testArgs(f32, f16, -1e0); | ||
| 4883 | try testArgs(f32, f16, -1e-1); | ||
| 4884 | try testArgs(f32, f16, -fmin(f16)); | ||
| 4885 | try testArgs(f32, f16, -tmin(f16)); | ||
| 4886 | try testArgs(f32, f16, -0.0); | ||
| 4887 | try testArgs(f32, f16, 0.0); | ||
| 4888 | try testArgs(f32, f16, tmin(f16)); | ||
| 4889 | try testArgs(f32, f16, fmin(f16)); | ||
| 4890 | try testArgs(f32, f16, 1e-1); | ||
| 4891 | try testArgs(f32, f16, 1e0); | ||
| 4892 | try testArgs(f32, f16, 1e1); | ||
| 4893 | try testArgs(f32, f16, fmax(f16)); | ||
| 4894 | try testArgs(f32, f16, inf(f16)); | ||
| 4895 | try testArgs(f32, f16, nan(f16)); | ||
| 4896 | |||
| 4897 | try testArgs(f64, f16, -nan(f16)); | ||
| 4898 | try testArgs(f64, f16, -inf(f16)); | ||
| 4899 | try testArgs(f64, f16, -fmax(f16)); | ||
| 4900 | try testArgs(f64, f16, -1e1); | ||
| 4901 | try testArgs(f64, f16, -1e0); | ||
| 4902 | try testArgs(f64, f16, -1e-1); | ||
| 4903 | try testArgs(f64, f16, -fmin(f16)); | ||
| 4904 | try testArgs(f64, f16, -tmin(f16)); | ||
| 4905 | try testArgs(f64, f16, -0.0); | ||
| 4906 | try testArgs(f64, f16, 0.0); | ||
| 4907 | try testArgs(f64, f16, tmin(f16)); | ||
| 4908 | try testArgs(f64, f16, fmin(f16)); | ||
| 4909 | try testArgs(f64, f16, 1e-1); | ||
| 4910 | try testArgs(f64, f16, 1e0); | ||
| 4911 | try testArgs(f64, f16, 1e1); | ||
| 4912 | try testArgs(f64, f16, fmax(f16)); | ||
| 4913 | try testArgs(f64, f16, inf(f16)); | ||
| 4914 | try testArgs(f64, f16, nan(f16)); | ||
| 4915 | |||
| 4916 | try testArgs(f80, f16, -nan(f16)); | ||
| 4917 | try testArgs(f80, f16, -inf(f16)); | ||
| 4918 | try testArgs(f80, f16, -fmax(f16)); | ||
| 4919 | try testArgs(f80, f16, -1e1); | ||
| 4920 | try testArgs(f80, f16, -1e0); | ||
| 4921 | try testArgs(f80, f16, -1e-1); | ||
| 4922 | try testArgs(f80, f16, -fmin(f16)); | ||
| 4923 | try testArgs(f80, f16, -tmin(f16)); | ||
| 4924 | try testArgs(f80, f16, -0.0); | ||
| 4925 | try testArgs(f80, f16, 0.0); | ||
| 4926 | try testArgs(f80, f16, tmin(f16)); | ||
| 4927 | try testArgs(f80, f16, fmin(f16)); | ||
| 4928 | try testArgs(f80, f16, 1e-1); | ||
| 4929 | try testArgs(f80, f16, 1e0); | ||
| 4930 | try testArgs(f80, f16, 1e1); | ||
| 4931 | try testArgs(f80, f16, fmax(f16)); | ||
| 4932 | try testArgs(f80, f16, inf(f16)); | ||
| 4933 | try testArgs(f80, f16, nan(f16)); | ||
| 4934 | |||
| 4935 | try testArgs(f128, f16, -nan(f16)); | ||
| 4936 | try testArgs(f128, f16, -inf(f16)); | ||
| 4937 | try testArgs(f128, f16, -fmax(f16)); | ||
| 4938 | try testArgs(f128, f16, -1e1); | ||
| 4939 | try testArgs(f128, f16, -1e0); | ||
| 4940 | try testArgs(f128, f16, -1e-1); | ||
| 4941 | try testArgs(f128, f16, -fmin(f16)); | ||
| 4942 | try testArgs(f128, f16, -tmin(f16)); | ||
| 4943 | try testArgs(f128, f16, -0.0); | ||
| 4944 | try testArgs(f128, f16, 0.0); | ||
| 4945 | try testArgs(f128, f16, tmin(f16)); | ||
| 4946 | try testArgs(f128, f16, fmin(f16)); | ||
| 4947 | try testArgs(f128, f16, 1e-1); | ||
| 4948 | try testArgs(f128, f16, 1e0); | ||
| 4949 | try testArgs(f128, f16, 1e1); | ||
| 4950 | try testArgs(f128, f16, fmax(f16)); | ||
| 4951 | try testArgs(f128, f16, inf(f16)); | ||
| 4952 | try testArgs(f128, f16, nan(f16)); | ||
| 4953 | |||
| 4954 | try testArgs(f16, f32, -nan(f32)); | ||
| 4955 | try testArgs(f16, f32, -inf(f32)); | ||
| 4956 | try testArgs(f16, f32, -fmax(f32)); | ||
| 4957 | try testArgs(f16, f32, -1e1); | ||
| 4958 | try testArgs(f16, f32, -1e0); | ||
| 4959 | try testArgs(f16, f32, -1e-1); | ||
| 4960 | try testArgs(f16, f32, -fmin(f32)); | ||
| 4961 | try testArgs(f16, f32, -tmin(f32)); | ||
| 4962 | try testArgs(f16, f32, -0.0); | ||
| 4963 | try testArgs(f16, f32, 0.0); | ||
| 4964 | try testArgs(f16, f32, tmin(f32)); | ||
| 4965 | try testArgs(f16, f32, fmin(f32)); | ||
| 4966 | try testArgs(f16, f32, 1e-1); | ||
| 4967 | try testArgs(f16, f32, 1e0); | ||
| 4968 | try testArgs(f16, f32, 1e1); | ||
| 4969 | try testArgs(f16, f32, fmax(f32)); | ||
| 4970 | try testArgs(f16, f32, inf(f32)); | ||
| 4971 | try testArgs(f16, f32, nan(f32)); | ||
| 4972 | |||
| 4973 | try testArgs(f32, f32, -nan(f32)); | ||
| 4974 | try testArgs(f32, f32, -inf(f32)); | ||
| 4975 | try testArgs(f32, f32, -fmax(f32)); | ||
| 4976 | try testArgs(f32, f32, -1e1); | ||
| 4977 | try testArgs(f32, f32, -1e0); | ||
| 4978 | try testArgs(f32, f32, -1e-1); | ||
| 4979 | try testArgs(f32, f32, -fmin(f32)); | ||
| 4980 | try testArgs(f32, f32, -tmin(f32)); | ||
| 4981 | try testArgs(f32, f32, -0.0); | ||
| 4982 | try testArgs(f32, f32, 0.0); | ||
| 4983 | try testArgs(f32, f32, tmin(f32)); | ||
| 4984 | try testArgs(f32, f32, fmin(f32)); | ||
| 4985 | try testArgs(f32, f32, 1e-1); | ||
| 4986 | try testArgs(f32, f32, 1e0); | ||
| 4987 | try testArgs(f32, f32, 1e1); | ||
| 4988 | try testArgs(f32, f32, fmax(f32)); | ||
| 4989 | try testArgs(f32, f32, inf(f32)); | ||
| 4990 | try testArgs(f32, f32, nan(f32)); | ||
| 4991 | |||
| 4992 | try testArgs(f64, f32, -nan(f32)); | ||
| 4993 | try testArgs(f64, f32, -inf(f32)); | ||
| 4994 | try testArgs(f64, f32, -fmax(f32)); | ||
| 4995 | try testArgs(f64, f32, -1e1); | ||
| 4996 | try testArgs(f64, f32, -1e0); | ||
| 4997 | try testArgs(f64, f32, -1e-1); | ||
| 4998 | try testArgs(f64, f32, -fmin(f32)); | ||
| 4999 | try testArgs(f64, f32, -tmin(f32)); | ||
| 5000 | try testArgs(f64, f32, -0.0); | ||
| 5001 | try testArgs(f64, f32, 0.0); | ||
| 5002 | try testArgs(f64, f32, tmin(f32)); | ||
| 5003 | try testArgs(f64, f32, fmin(f32)); | ||
| 5004 | try testArgs(f64, f32, 1e-1); | ||
| 5005 | try testArgs(f64, f32, 1e0); | ||
| 5006 | try testArgs(f64, f32, 1e1); | ||
| 5007 | try testArgs(f64, f32, fmax(f32)); | ||
| 5008 | try testArgs(f64, f32, inf(f32)); | ||
| 5009 | try testArgs(f64, f32, nan(f32)); | ||
| 5010 | |||
| 5011 | try testArgs(f80, f32, -nan(f32)); | ||
| 5012 | try testArgs(f80, f32, -inf(f32)); | ||
| 5013 | try testArgs(f80, f32, -fmax(f32)); | ||
| 5014 | try testArgs(f80, f32, -1e1); | ||
| 5015 | try testArgs(f80, f32, -1e0); | ||
| 5016 | try testArgs(f80, f32, -1e-1); | ||
| 5017 | try testArgs(f80, f32, -fmin(f32)); | ||
| 5018 | try testArgs(f80, f32, -tmin(f32)); | ||
| 5019 | try testArgs(f80, f32, -0.0); | ||
| 5020 | try testArgs(f80, f32, 0.0); | ||
| 5021 | try testArgs(f80, f32, tmin(f32)); | ||
| 5022 | try testArgs(f80, f32, fmin(f32)); | ||
| 5023 | try testArgs(f80, f32, 1e-1); | ||
| 5024 | try testArgs(f80, f32, 1e0); | ||
| 5025 | try testArgs(f80, f32, 1e1); | ||
| 5026 | try testArgs(f80, f32, fmax(f32)); | ||
| 5027 | try testArgs(f80, f32, inf(f32)); | ||
| 5028 | try testArgs(f80, f32, nan(f32)); | ||
| 5029 | |||
| 5030 | try testArgs(f128, f32, -nan(f32)); | ||
| 5031 | try testArgs(f128, f32, -inf(f32)); | ||
| 5032 | try testArgs(f128, f32, -fmax(f32)); | ||
| 5033 | try testArgs(f128, f32, -1e1); | ||
| 5034 | try testArgs(f128, f32, -1e0); | ||
| 5035 | try testArgs(f128, f32, -1e-1); | ||
| 5036 | try testArgs(f128, f32, -fmin(f32)); | ||
| 5037 | try testArgs(f128, f32, -tmin(f32)); | ||
| 5038 | try testArgs(f128, f32, -0.0); | ||
| 5039 | try testArgs(f128, f32, 0.0); | ||
| 5040 | try testArgs(f128, f32, tmin(f32)); | ||
| 5041 | try testArgs(f128, f32, fmin(f32)); | ||
| 5042 | try testArgs(f128, f32, 1e-1); | ||
| 5043 | try testArgs(f128, f32, 1e0); | ||
| 5044 | try testArgs(f128, f32, 1e1); | ||
| 5045 | try testArgs(f128, f32, fmax(f32)); | ||
| 5046 | try testArgs(f128, f32, inf(f32)); | ||
| 5047 | try testArgs(f128, f32, nan(f32)); | ||
| 5048 | |||
| 5049 | try testArgs(f16, f64, -nan(f64)); | ||
| 5050 | try testArgs(f16, f64, -inf(f64)); | ||
| 5051 | try testArgs(f16, f64, -fmax(f64)); | ||
| 5052 | try testArgs(f16, f64, -1e1); | ||
| 5053 | try testArgs(f16, f64, -1e0); | ||
| 5054 | try testArgs(f16, f64, -1e-1); | ||
| 5055 | try testArgs(f16, f64, -fmin(f64)); | ||
| 5056 | try testArgs(f16, f64, -tmin(f64)); | ||
| 5057 | try testArgs(f16, f64, -0.0); | ||
| 5058 | try testArgs(f16, f64, 0.0); | ||
| 5059 | try testArgs(f16, f64, tmin(f64)); | ||
| 5060 | try testArgs(f16, f64, fmin(f64)); | ||
| 5061 | try testArgs(f16, f64, 1e-1); | ||
| 5062 | try testArgs(f16, f64, 1e0); | ||
| 5063 | try testArgs(f16, f64, 1e1); | ||
| 5064 | try testArgs(f16, f64, fmax(f64)); | ||
| 5065 | try testArgs(f16, f64, inf(f64)); | ||
| 5066 | try testArgs(f16, f64, nan(f64)); | ||
| 5067 | |||
| 5068 | try testArgs(f32, f64, -nan(f64)); | ||
| 5069 | try testArgs(f32, f64, -inf(f64)); | ||
| 5070 | try testArgs(f32, f64, -fmax(f64)); | ||
| 5071 | try testArgs(f32, f64, -1e1); | ||
| 5072 | try testArgs(f32, f64, -1e0); | ||
| 5073 | try testArgs(f32, f64, -1e-1); | ||
| 5074 | try testArgs(f32, f64, -fmin(f64)); | ||
| 5075 | try testArgs(f32, f64, -tmin(f64)); | ||
| 5076 | try testArgs(f32, f64, -0.0); | ||
| 5077 | try testArgs(f32, f64, 0.0); | ||
| 5078 | try testArgs(f32, f64, tmin(f64)); | ||
| 5079 | try testArgs(f32, f64, fmin(f64)); | ||
| 5080 | try testArgs(f32, f64, 1e-1); | ||
| 5081 | try testArgs(f32, f64, 1e0); | ||
| 5082 | try testArgs(f32, f64, 1e1); | ||
| 5083 | try testArgs(f32, f64, fmax(f64)); | ||
| 5084 | try testArgs(f32, f64, inf(f64)); | ||
| 5085 | try testArgs(f32, f64, nan(f64)); | ||
| 5086 | |||
| 5087 | try testArgs(f64, f64, -nan(f64)); | ||
| 5088 | try testArgs(f64, f64, -inf(f64)); | ||
| 5089 | try testArgs(f64, f64, -fmax(f64)); | ||
| 5090 | try testArgs(f64, f64, -1e1); | ||
| 5091 | try testArgs(f64, f64, -1e0); | ||
| 5092 | try testArgs(f64, f64, -1e-1); | ||
| 5093 | try testArgs(f64, f64, -fmin(f64)); | ||
| 5094 | try testArgs(f64, f64, -tmin(f64)); | ||
| 5095 | try testArgs(f64, f64, -0.0); | ||
| 5096 | try testArgs(f64, f64, 0.0); | ||
| 5097 | try testArgs(f64, f64, tmin(f64)); | ||
| 5098 | try testArgs(f64, f64, fmin(f64)); | ||
| 5099 | try testArgs(f64, f64, 1e-1); | ||
| 5100 | try testArgs(f64, f64, 1e0); | ||
| 5101 | try testArgs(f64, f64, 1e1); | ||
| 5102 | try testArgs(f64, f64, fmax(f64)); | ||
| 5103 | try testArgs(f64, f64, inf(f64)); | ||
| 5104 | try testArgs(f64, f64, nan(f64)); | ||
| 5105 | |||
| 5106 | try testArgs(f80, f64, -nan(f64)); | ||
| 5107 | try testArgs(f80, f64, -inf(f64)); | ||
| 5108 | try testArgs(f80, f64, -fmax(f64)); | ||
| 5109 | try testArgs(f80, f64, -1e1); | ||
| 5110 | try testArgs(f80, f64, -1e0); | ||
| 5111 | try testArgs(f80, f64, -1e-1); | ||
| 5112 | try testArgs(f80, f64, -fmin(f64)); | ||
| 5113 | try testArgs(f80, f64, -tmin(f64)); | ||
| 5114 | try testArgs(f80, f64, -0.0); | ||
| 5115 | try testArgs(f80, f64, 0.0); | ||
| 5116 | try testArgs(f80, f64, tmin(f64)); | ||
| 5117 | try testArgs(f80, f64, fmin(f64)); | ||
| 5118 | try testArgs(f80, f64, 1e-1); | ||
| 5119 | try testArgs(f80, f64, 1e0); | ||
| 5120 | try testArgs(f80, f64, 1e1); | ||
| 5121 | try testArgs(f80, f64, fmax(f64)); | ||
| 5122 | try testArgs(f80, f64, inf(f64)); | ||
| 5123 | try testArgs(f80, f64, nan(f64)); | ||
| 5124 | |||
| 5125 | try testArgs(f128, f64, -nan(f64)); | ||
| 5126 | try testArgs(f128, f64, -inf(f64)); | ||
| 5127 | try testArgs(f128, f64, -fmax(f64)); | ||
| 5128 | try testArgs(f128, f64, -1e1); | ||
| 5129 | try testArgs(f128, f64, -1e0); | ||
| 5130 | try testArgs(f128, f64, -1e-1); | ||
| 5131 | try testArgs(f128, f64, -fmin(f64)); | ||
| 5132 | try testArgs(f128, f64, -tmin(f64)); | ||
| 5133 | try testArgs(f128, f64, -0.0); | ||
| 5134 | try testArgs(f128, f64, 0.0); | ||
| 5135 | try testArgs(f128, f64, tmin(f64)); | ||
| 5136 | try testArgs(f128, f64, fmin(f64)); | ||
| 5137 | try testArgs(f128, f64, 1e-1); | ||
| 5138 | try testArgs(f128, f64, 1e0); | ||
| 5139 | try testArgs(f128, f64, 1e1); | ||
| 5140 | try testArgs(f128, f64, fmax(f64)); | ||
| 5141 | try testArgs(f128, f64, inf(f64)); | ||
| 5142 | try testArgs(f128, f64, nan(f64)); | ||
| 5143 | |||
| 5144 | try testArgs(f16, f80, -nan(f80)); | ||
| 5145 | try testArgs(f16, f80, -inf(f80)); | ||
| 5146 | try testArgs(f16, f80, -fmax(f80)); | ||
| 5147 | try testArgs(f16, f80, -1e1); | ||
| 5148 | try testArgs(f16, f80, -1e0); | ||
| 5149 | try testArgs(f16, f80, -1e-1); | ||
| 5150 | try testArgs(f16, f80, -fmin(f80)); | ||
| 5151 | try testArgs(f16, f80, -tmin(f80)); | ||
| 5152 | try testArgs(f16, f80, -0.0); | ||
| 5153 | try testArgs(f16, f80, 0.0); | ||
| 5154 | try testArgs(f16, f80, tmin(f80)); | ||
| 5155 | try testArgs(f16, f80, fmin(f80)); | ||
| 5156 | try testArgs(f16, f80, 1e-1); | ||
| 5157 | try testArgs(f16, f80, 1e0); | ||
| 5158 | try testArgs(f16, f80, 1e1); | ||
| 5159 | try testArgs(f16, f80, fmax(f80)); | ||
| 5160 | try testArgs(f16, f80, inf(f80)); | ||
| 5161 | try testArgs(f16, f80, nan(f80)); | ||
| 5162 | |||
| 5163 | try testArgs(f32, f80, -nan(f80)); | ||
| 5164 | try testArgs(f32, f80, -inf(f80)); | ||
| 5165 | try testArgs(f32, f80, -fmax(f80)); | ||
| 5166 | try testArgs(f32, f80, -1e1); | ||
| 5167 | try testArgs(f32, f80, -1e0); | ||
| 5168 | try testArgs(f32, f80, -1e-1); | ||
| 5169 | try testArgs(f32, f80, -fmin(f80)); | ||
| 5170 | try testArgs(f32, f80, -tmin(f80)); | ||
| 5171 | try testArgs(f32, f80, -0.0); | ||
| 5172 | try testArgs(f32, f80, 0.0); | ||
| 5173 | try testArgs(f32, f80, tmin(f80)); | ||
| 5174 | try testArgs(f32, f80, fmin(f80)); | ||
| 5175 | try testArgs(f32, f80, 1e-1); | ||
| 5176 | try testArgs(f32, f80, 1e0); | ||
| 5177 | try testArgs(f32, f80, 1e1); | ||
| 5178 | try testArgs(f32, f80, fmax(f80)); | ||
| 5179 | try testArgs(f32, f80, inf(f80)); | ||
| 5180 | try testArgs(f32, f80, nan(f80)); | ||
| 5181 | |||
| 5182 | try testArgs(f64, f80, -nan(f80)); | ||
| 5183 | try testArgs(f64, f80, -inf(f80)); | ||
| 5184 | try testArgs(f64, f80, -fmax(f80)); | ||
| 5185 | try testArgs(f64, f80, -1e1); | ||
| 5186 | try testArgs(f64, f80, -1e0); | ||
| 5187 | try testArgs(f64, f80, -1e-1); | ||
| 5188 | try testArgs(f64, f80, -fmin(f80)); | ||
| 5189 | try testArgs(f64, f80, -tmin(f80)); | ||
| 5190 | try testArgs(f64, f80, -0.0); | ||
| 5191 | try testArgs(f64, f80, 0.0); | ||
| 5192 | try testArgs(f64, f80, tmin(f80)); | ||
| 5193 | try testArgs(f64, f80, fmin(f80)); | ||
| 5194 | try testArgs(f64, f80, 1e-1); | ||
| 5195 | try testArgs(f64, f80, 1e0); | ||
| 5196 | try testArgs(f64, f80, 1e1); | ||
| 5197 | try testArgs(f64, f80, fmax(f80)); | ||
| 5198 | try testArgs(f64, f80, inf(f80)); | ||
| 5199 | try testArgs(f64, f80, nan(f80)); | ||
| 5200 | |||
| 5201 | try testArgs(f80, f80, -nan(f80)); | ||
| 5202 | try testArgs(f80, f80, -inf(f80)); | ||
| 5203 | try testArgs(f80, f80, -fmax(f80)); | ||
| 5204 | try testArgs(f80, f80, -1e1); | ||
| 5205 | try testArgs(f80, f80, -1e0); | ||
| 5206 | try testArgs(f80, f80, -1e-1); | ||
| 5207 | try testArgs(f80, f80, -fmin(f80)); | ||
| 5208 | try testArgs(f80, f80, -tmin(f80)); | ||
| 5209 | try testArgs(f80, f80, -0.0); | ||
| 5210 | try testArgs(f80, f80, 0.0); | ||
| 5211 | try testArgs(f80, f80, tmin(f80)); | ||
| 5212 | try testArgs(f80, f80, fmin(f80)); | ||
| 5213 | try testArgs(f80, f80, 1e-1); | ||
| 5214 | try testArgs(f80, f80, 1e0); | ||
| 5215 | try testArgs(f80, f80, 1e1); | ||
| 5216 | try testArgs(f80, f80, fmax(f80)); | ||
| 5217 | try testArgs(f80, f80, inf(f80)); | ||
| 5218 | try testArgs(f80, f80, nan(f80)); | ||
| 5219 | |||
| 5220 | try testArgs(f128, f80, -nan(f80)); | ||
| 5221 | try testArgs(f128, f80, -inf(f80)); | ||
| 5222 | try testArgs(f128, f80, -fmax(f80)); | ||
| 5223 | try testArgs(f128, f80, -1e1); | ||
| 5224 | try testArgs(f128, f80, -1e0); | ||
| 5225 | try testArgs(f128, f80, -1e-1); | ||
| 5226 | try testArgs(f128, f80, -fmin(f80)); | ||
| 5227 | try testArgs(f128, f80, -tmin(f80)); | ||
| 5228 | try testArgs(f128, f80, -0.0); | ||
| 5229 | try testArgs(f128, f80, 0.0); | ||
| 5230 | try testArgs(f128, f80, tmin(f80)); | ||
| 5231 | try testArgs(f128, f80, fmin(f80)); | ||
| 5232 | try testArgs(f128, f80, 1e-1); | ||
| 5233 | try testArgs(f128, f80, 1e0); | ||
| 5234 | try testArgs(f128, f80, 1e1); | ||
| 5235 | try testArgs(f128, f80, fmax(f80)); | ||
| 5236 | try testArgs(f128, f80, inf(f80)); | ||
| 5237 | try testArgs(f128, f80, nan(f80)); | ||
| 5238 | |||
| 5239 | try testArgs(f16, f128, -nan(f128)); | ||
| 5240 | try testArgs(f16, f128, -inf(f128)); | ||
| 5241 | try testArgs(f16, f128, -fmax(f128)); | ||
| 5242 | try testArgs(f16, f128, -1e1); | ||
| 5243 | try testArgs(f16, f128, -1e0); | ||
| 5244 | try testArgs(f16, f128, -1e-1); | ||
| 5245 | try testArgs(f16, f128, -fmin(f128)); | ||
| 5246 | try testArgs(f16, f128, -tmin(f128)); | ||
| 5247 | try testArgs(f16, f128, -0.0); | ||
| 5248 | try testArgs(f16, f128, 0.0); | ||
| 5249 | try testArgs(f16, f128, tmin(f128)); | ||
| 5250 | try testArgs(f16, f128, fmin(f128)); | ||
| 5251 | try testArgs(f16, f128, 1e-1); | ||
| 5252 | try testArgs(f16, f128, 1e0); | ||
| 5253 | try testArgs(f16, f128, 1e1); | ||
| 5254 | try testArgs(f16, f128, fmax(f128)); | ||
| 5255 | try testArgs(f16, f128, inf(f128)); | ||
| 5256 | try testArgs(f16, f128, nan(f128)); | ||
| 5257 | |||
| 5258 | try testArgs(f32, f128, -nan(f128)); | ||
| 5259 | try testArgs(f32, f128, -inf(f128)); | ||
| 5260 | try testArgs(f32, f128, -fmax(f128)); | ||
| 5261 | try testArgs(f32, f128, -1e1); | ||
| 5262 | try testArgs(f32, f128, -1e0); | ||
| 5263 | try testArgs(f32, f128, -1e-1); | ||
| 5264 | try testArgs(f32, f128, -fmin(f128)); | ||
| 5265 | try testArgs(f32, f128, -tmin(f128)); | ||
| 5266 | try testArgs(f32, f128, -0.0); | ||
| 5267 | try testArgs(f32, f128, 0.0); | ||
| 5268 | try testArgs(f32, f128, tmin(f128)); | ||
| 5269 | try testArgs(f32, f128, fmin(f128)); | ||
| 5270 | try testArgs(f32, f128, 1e-1); | ||
| 5271 | try testArgs(f32, f128, 1e0); | ||
| 5272 | try testArgs(f32, f128, 1e1); | ||
| 5273 | try testArgs(f32, f128, fmax(f128)); | ||
| 5274 | try testArgs(f32, f128, inf(f128)); | ||
| 5275 | try testArgs(f32, f128, nan(f128)); | ||
| 5276 | |||
| 5277 | try testArgs(f64, f128, -nan(f128)); | ||
| 5278 | try testArgs(f64, f128, -inf(f128)); | ||
| 5279 | try testArgs(f64, f128, -fmax(f128)); | ||
| 5280 | try testArgs(f64, f128, -1e1); | ||
| 5281 | try testArgs(f64, f128, -1e0); | ||
| 5282 | try testArgs(f64, f128, -1e-1); | ||
| 5283 | try testArgs(f64, f128, -fmin(f128)); | ||
| 5284 | try testArgs(f64, f128, -tmin(f128)); | ||
| 5285 | try testArgs(f64, f128, -0.0); | ||
| 5286 | try testArgs(f64, f128, 0.0); | ||
| 5287 | try testArgs(f64, f128, tmin(f128)); | ||
| 5288 | try testArgs(f64, f128, fmin(f128)); | ||
| 5289 | try testArgs(f64, f128, 1e-1); | ||
| 5290 | try testArgs(f64, f128, 1e0); | ||
| 5291 | try testArgs(f64, f128, 1e1); | ||
| 5292 | try testArgs(f64, f128, fmax(f128)); | ||
| 5293 | try testArgs(f64, f128, inf(f128)); | ||
| 5294 | try testArgs(f64, f128, nan(f128)); | ||
| 5295 | |||
| 5296 | try testArgs(f80, f128, -nan(f128)); | ||
| 5297 | try testArgs(f80, f128, -inf(f128)); | ||
| 5298 | try testArgs(f80, f128, -fmax(f128)); | ||
| 5299 | try testArgs(f80, f128, -1e1); | ||
| 5300 | try testArgs(f80, f128, -1e0); | ||
| 5301 | try testArgs(f80, f128, -1e-1); | ||
| 5302 | try testArgs(f80, f128, -fmin(f128)); | ||
| 5303 | try testArgs(f80, f128, -tmin(f128)); | ||
| 5304 | try testArgs(f80, f128, -0.0); | ||
| 5305 | try testArgs(f80, f128, 0.0); | ||
| 5306 | try testArgs(f80, f128, tmin(f128)); | ||
| 5307 | try testArgs(f80, f128, fmin(f128)); | ||
| 5308 | try testArgs(f80, f128, 1e-1); | ||
| 5309 | try testArgs(f80, f128, 1e0); | ||
| 5310 | try testArgs(f80, f128, 1e1); | ||
| 5311 | try testArgs(f80, f128, fmax(f128)); | ||
| 5312 | try testArgs(f80, f128, inf(f128)); | ||
| 5313 | try testArgs(f80, f128, nan(f128)); | ||
| 5314 | |||
| 5315 | try testArgs(f128, f128, -nan(f128)); | ||
| 5316 | try testArgs(f128, f128, -inf(f128)); | ||
| 5317 | try testArgs(f128, f128, -fmax(f128)); | ||
| 5318 | try testArgs(f128, f128, -1e1); | ||
| 5319 | try testArgs(f128, f128, -1e0); | ||
| 5320 | try testArgs(f128, f128, -1e-1); | ||
| 5321 | try testArgs(f128, f128, -fmin(f128)); | ||
| 5322 | try testArgs(f128, f128, -tmin(f128)); | ||
| 5323 | try testArgs(f128, f128, -0.0); | ||
| 5324 | try testArgs(f128, f128, 0.0); | ||
| 5325 | try testArgs(f128, f128, tmin(f128)); | ||
| 5326 | try testArgs(f128, f128, fmin(f128)); | ||
| 5327 | try testArgs(f128, f128, 1e-1); | ||
| 5328 | try testArgs(f128, f128, 1e0); | ||
| 5329 | try testArgs(f128, f128, 1e1); | ||
| 5330 | try testArgs(f128, f128, fmax(f128)); | ||
| 5331 | try testArgs(f128, f128, inf(f128)); | ||
| 5332 | try testArgs(f128, f128, nan(f128)); | ||
| 5333 | } | ||
| 5334 | fn testSameSignednessIntVectors() !void { | ||
| 5335 | try testArgs(@Vector(1, i7), @Vector(1, i1), .{-1}); | ||
| 5336 | try testArgs(@Vector(1, i8), @Vector(1, i1), .{-1}); | ||
| 5337 | try testArgs(@Vector(1, i9), @Vector(1, i1), .{-1}); | ||
| 5338 | try testArgs(@Vector(1, i15), @Vector(1, i1), .{-1}); | ||
| 5339 | try testArgs(@Vector(1, i16), @Vector(1, i1), .{-1}); | ||
| 5340 | try testArgs(@Vector(1, i17), @Vector(1, i1), .{-1}); | ||
| 5341 | try testArgs(@Vector(1, i31), @Vector(1, i1), .{-1}); | ||
| 5342 | try testArgs(@Vector(1, i32), @Vector(1, i1), .{-1}); | ||
| 5343 | try testArgs(@Vector(1, i33), @Vector(1, i1), .{-1}); | ||
| 5344 | try testArgs(@Vector(1, i63), @Vector(1, i1), .{-1}); | ||
| 5345 | try testArgs(@Vector(1, i64), @Vector(1, i1), .{-1}); | ||
| 5346 | try testArgs(@Vector(1, i65), @Vector(1, i1), .{-1}); | ||
| 5347 | try testArgs(@Vector(1, i127), @Vector(1, i1), .{-1}); | ||
| 5348 | try testArgs(@Vector(1, i128), @Vector(1, i1), .{-1}); | ||
| 5349 | try testArgs(@Vector(1, i129), @Vector(1, i1), .{-1}); | ||
| 5350 | try testArgs(@Vector(1, i255), @Vector(1, i1), .{-1}); | ||
| 5351 | try testArgs(@Vector(1, i256), @Vector(1, i1), .{-1}); | ||
| 5352 | try testArgs(@Vector(1, i257), @Vector(1, i1), .{-1}); | ||
| 5353 | try testArgs(@Vector(1, i511), @Vector(1, i1), .{-1}); | ||
| 5354 | try testArgs(@Vector(1, i512), @Vector(1, i1), .{-1}); | ||
| 5355 | try testArgs(@Vector(1, i513), @Vector(1, i1), .{-1}); | ||
| 5356 | try testArgs(@Vector(1, i1023), @Vector(1, i1), .{-1}); | ||
| 5357 | try testArgs(@Vector(1, i1024), @Vector(1, i1), .{-1}); | ||
| 5358 | try testArgs(@Vector(1, i1025), @Vector(1, i1), .{-1}); | ||
| 5359 | try testArgs(@Vector(1, u7), @Vector(1, u1), .{1}); | ||
| 5360 | try testArgs(@Vector(1, u8), @Vector(1, u1), .{1}); | ||
| 5361 | try testArgs(@Vector(1, u9), @Vector(1, u1), .{1}); | ||
| 5362 | try testArgs(@Vector(1, u15), @Vector(1, u1), .{1}); | ||
| 5363 | try testArgs(@Vector(1, u16), @Vector(1, u1), .{1}); | ||
| 5364 | try testArgs(@Vector(1, u17), @Vector(1, u1), .{1}); | ||
| 5365 | try testArgs(@Vector(1, u31), @Vector(1, u1), .{1}); | ||
| 5366 | try testArgs(@Vector(1, u32), @Vector(1, u1), .{1}); | ||
| 5367 | try testArgs(@Vector(1, u33), @Vector(1, u1), .{1}); | ||
| 5368 | try testArgs(@Vector(1, u63), @Vector(1, u1), .{1}); | ||
| 5369 | try testArgs(@Vector(1, u64), @Vector(1, u1), .{1}); | ||
| 5370 | try testArgs(@Vector(1, u65), @Vector(1, u1), .{1}); | ||
| 5371 | try testArgs(@Vector(1, u127), @Vector(1, u1), .{1}); | ||
| 5372 | try testArgs(@Vector(1, u128), @Vector(1, u1), .{1}); | ||
| 5373 | try testArgs(@Vector(1, u129), @Vector(1, u1), .{1}); | ||
| 5374 | try testArgs(@Vector(1, u255), @Vector(1, u1), .{1}); | ||
| 5375 | try testArgs(@Vector(1, u256), @Vector(1, u1), .{1}); | ||
| 5376 | try testArgs(@Vector(1, u257), @Vector(1, u1), .{1}); | ||
| 5377 | try testArgs(@Vector(1, u511), @Vector(1, u1), .{1}); | ||
| 5378 | try testArgs(@Vector(1, u512), @Vector(1, u1), .{1}); | ||
| 5379 | try testArgs(@Vector(1, u513), @Vector(1, u1), .{1}); | ||
| 5380 | try testArgs(@Vector(1, u1023), @Vector(1, u1), .{1}); | ||
| 5381 | try testArgs(@Vector(1, u1024), @Vector(1, u1), .{1}); | ||
| 5382 | try testArgs(@Vector(1, u1025), @Vector(1, u1), .{1}); | ||
| 5383 | |||
| 5384 | try testArgs(@Vector(2, i7), @Vector(2, i1), .{ -1, 0 }); | ||
| 5385 | try testArgs(@Vector(2, i8), @Vector(2, i1), .{ -1, 0 }); | ||
| 5386 | try testArgs(@Vector(2, i9), @Vector(2, i1), .{ -1, 0 }); | ||
| 5387 | try testArgs(@Vector(2, i15), @Vector(2, i1), .{ -1, 0 }); | ||
| 5388 | try testArgs(@Vector(2, i16), @Vector(2, i1), .{ -1, 0 }); | ||
| 5389 | try testArgs(@Vector(2, i17), @Vector(2, i1), .{ -1, 0 }); | ||
| 5390 | try testArgs(@Vector(2, i31), @Vector(2, i1), .{ -1, 0 }); | ||
| 5391 | try testArgs(@Vector(2, i32), @Vector(2, i1), .{ -1, 0 }); | ||
| 5392 | try testArgs(@Vector(2, i33), @Vector(2, i1), .{ -1, 0 }); | ||
| 5393 | try testArgs(@Vector(2, i63), @Vector(2, i1), .{ -1, 0 }); | ||
| 5394 | try testArgs(@Vector(2, i64), @Vector(2, i1), .{ -1, 0 }); | ||
| 5395 | try testArgs(@Vector(2, i65), @Vector(2, i1), .{ -1, 0 }); | ||
| 5396 | try testArgs(@Vector(2, i127), @Vector(2, i1), .{ -1, 0 }); | ||
| 5397 | try testArgs(@Vector(2, i128), @Vector(2, i1), .{ -1, 0 }); | ||
| 5398 | try testArgs(@Vector(2, i129), @Vector(2, i1), .{ -1, 0 }); | ||
| 5399 | try testArgs(@Vector(2, i255), @Vector(2, i1), .{ -1, 0 }); | ||
| 5400 | try testArgs(@Vector(2, i256), @Vector(2, i1), .{ -1, 0 }); | ||
| 5401 | try testArgs(@Vector(2, i257), @Vector(2, i1), .{ -1, 0 }); | ||
| 5402 | try testArgs(@Vector(2, i511), @Vector(2, i1), .{ -1, 0 }); | ||
| 5403 | try testArgs(@Vector(2, i512), @Vector(2, i1), .{ -1, 0 }); | ||
| 5404 | try testArgs(@Vector(2, i513), @Vector(2, i1), .{ -1, 0 }); | ||
| 5405 | try testArgs(@Vector(2, i1023), @Vector(2, i1), .{ -1, 0 }); | ||
| 5406 | try testArgs(@Vector(2, i1024), @Vector(2, i1), .{ -1, 0 }); | ||
| 5407 | try testArgs(@Vector(2, i1025), @Vector(2, i1), .{ -1, 0 }); | ||
| 5408 | try testArgs(@Vector(2, u7), @Vector(2, u1), .{ 0, 1 }); | ||
| 5409 | try testArgs(@Vector(2, u8), @Vector(2, u1), .{ 0, 1 }); | ||
| 5410 | try testArgs(@Vector(2, u9), @Vector(2, u1), .{ 0, 1 }); | ||
| 5411 | try testArgs(@Vector(2, u15), @Vector(2, u1), .{ 0, 1 }); | ||
| 5412 | try testArgs(@Vector(2, u16), @Vector(2, u1), .{ 0, 1 }); | ||
| 5413 | try testArgs(@Vector(2, u17), @Vector(2, u1), .{ 0, 1 }); | ||
| 5414 | try testArgs(@Vector(2, u31), @Vector(2, u1), .{ 0, 1 }); | ||
| 5415 | try testArgs(@Vector(2, u32), @Vector(2, u1), .{ 0, 1 }); | ||
| 5416 | try testArgs(@Vector(2, u33), @Vector(2, u1), .{ 0, 1 }); | ||
| 5417 | try testArgs(@Vector(2, u63), @Vector(2, u1), .{ 0, 1 }); | ||
| 5418 | try testArgs(@Vector(2, u64), @Vector(2, u1), .{ 0, 1 }); | ||
| 5419 | try testArgs(@Vector(2, u65), @Vector(2, u1), .{ 0, 1 }); | ||
| 5420 | try testArgs(@Vector(2, u127), @Vector(2, u1), .{ 0, 1 }); | ||
| 5421 | try testArgs(@Vector(2, u128), @Vector(2, u1), .{ 0, 1 }); | ||
| 5422 | try testArgs(@Vector(2, u129), @Vector(2, u1), .{ 0, 1 }); | ||
| 5423 | try testArgs(@Vector(2, u255), @Vector(2, u1), .{ 0, 1 }); | ||
| 5424 | try testArgs(@Vector(2, u256), @Vector(2, u1), .{ 0, 1 }); | ||
| 5425 | try testArgs(@Vector(2, u257), @Vector(2, u1), .{ 0, 1 }); | ||
| 5426 | try testArgs(@Vector(2, u511), @Vector(2, u1), .{ 0, 1 }); | ||
| 5427 | try testArgs(@Vector(2, u512), @Vector(2, u1), .{ 0, 1 }); | ||
| 5428 | try testArgs(@Vector(2, u513), @Vector(2, u1), .{ 0, 1 }); | ||
| 5429 | try testArgs(@Vector(2, u1023), @Vector(2, u1), .{ 0, 1 }); | ||
| 5430 | try testArgs(@Vector(2, u1024), @Vector(2, u1), .{ 0, 1 }); | ||
| 5431 | try testArgs(@Vector(2, u1025), @Vector(2, u1), .{ 0, 1 }); | ||
| 5432 | |||
| 5433 | try testArgs(@Vector(3, i7), @Vector(3, i2), .{ -1 << 1, -1, 0 }); | ||
| 5434 | try testArgs(@Vector(3, i8), @Vector(3, i2), .{ -1 << 1, -1, 0 }); | ||
| 5435 | try testArgs(@Vector(3, i9), @Vector(3, i2), .{ -1 << 1, -1, 0 }); | ||
| 5436 | try testArgs(@Vector(3, i15), @Vector(3, i2), .{ -1 << 1, -1, 0 }); | ||
| 5437 | try testArgs(@Vector(3, i16), @Vector(3, i2), .{ -1 << 1, -1, 0 }); | ||
| 5438 | try testArgs(@Vector(3, i17), @Vector(3, i2), .{ -1 << 1, -1, 0 }); | ||
| 5439 | try testArgs(@Vector(3, i31), @Vector(3, i2), .{ -1 << 1, -1, 0 }); | ||
| 5440 | try testArgs(@Vector(3, i32), @Vector(3, i2), .{ -1 << 1, -1, 0 }); | ||
| 5441 | try testArgs(@Vector(3, i33), @Vector(3, i2), .{ -1 << 1, -1, 0 }); | ||
| 5442 | try testArgs(@Vector(3, i63), @Vector(3, i2), .{ -1 << 1, -1, 0 }); | ||
| 5443 | try testArgs(@Vector(3, i64), @Vector(3, i2), .{ -1 << 1, -1, 0 }); | ||
| 5444 | try testArgs(@Vector(3, i65), @Vector(3, i2), .{ -1 << 1, -1, 0 }); | ||
| 5445 | try testArgs(@Vector(3, i127), @Vector(3, i2), .{ -1 << 1, -1, 0 }); | ||
| 5446 | try testArgs(@Vector(3, i128), @Vector(3, i2), .{ -1 << 1, -1, 0 }); | ||
| 5447 | try testArgs(@Vector(3, i129), @Vector(3, i2), .{ -1 << 1, -1, 0 }); | ||
| 5448 | try testArgs(@Vector(3, i255), @Vector(3, i2), .{ -1 << 1, -1, 0 }); | ||
| 5449 | try testArgs(@Vector(3, i256), @Vector(3, i2), .{ -1 << 1, -1, 0 }); | ||
| 5450 | try testArgs(@Vector(3, i257), @Vector(3, i2), .{ -1 << 1, -1, 0 }); | ||
| 5451 | try testArgs(@Vector(3, i511), @Vector(3, i2), .{ -1 << 1, -1, 0 }); | ||
| 5452 | try testArgs(@Vector(3, i512), @Vector(3, i2), .{ -1 << 1, -1, 0 }); | ||
| 5453 | try testArgs(@Vector(3, i513), @Vector(3, i2), .{ -1 << 1, -1, 0 }); | ||
| 5454 | try testArgs(@Vector(3, i1023), @Vector(3, i2), .{ -1 << 1, -1, 0 }); | ||
| 5455 | try testArgs(@Vector(3, i1024), @Vector(3, i2), .{ -1 << 1, -1, 0 }); | ||
| 5456 | try testArgs(@Vector(3, i1025), @Vector(3, i2), .{ -1 << 1, -1, 0 }); | ||
| 5457 | try testArgs(@Vector(3, u7), @Vector(3, u2), .{ 0, 1, 1 << 1 }); | ||
| 5458 | try testArgs(@Vector(3, u8), @Vector(3, u2), .{ 0, 1, 1 << 1 }); | ||
| 5459 | try testArgs(@Vector(3, u9), @Vector(3, u2), .{ 0, 1, 1 << 1 }); | ||
| 5460 | try testArgs(@Vector(3, u15), @Vector(3, u2), .{ 0, 1, 1 << 1 }); | ||
| 5461 | try testArgs(@Vector(3, u16), @Vector(3, u2), .{ 0, 1, 1 << 1 }); | ||
| 5462 | try testArgs(@Vector(3, u17), @Vector(3, u2), .{ 0, 1, 1 << 1 }); | ||
| 5463 | try testArgs(@Vector(3, u31), @Vector(3, u2), .{ 0, 1, 1 << 1 }); | ||
| 5464 | try testArgs(@Vector(3, u32), @Vector(3, u2), .{ 0, 1, 1 << 1 }); | ||
| 5465 | try testArgs(@Vector(3, u33), @Vector(3, u2), .{ 0, 1, 1 << 1 }); | ||
| 5466 | try testArgs(@Vector(3, u63), @Vector(3, u2), .{ 0, 1, 1 << 1 }); | ||
| 5467 | try testArgs(@Vector(3, u64), @Vector(3, u2), .{ 0, 1, 1 << 1 }); | ||
| 5468 | try testArgs(@Vector(3, u65), @Vector(3, u2), .{ 0, 1, 1 << 1 }); | ||
| 5469 | try testArgs(@Vector(3, u127), @Vector(3, u2), .{ 0, 1, 1 << 1 }); | ||
| 5470 | try testArgs(@Vector(3, u128), @Vector(3, u2), .{ 0, 1, 1 << 1 }); | ||
| 5471 | try testArgs(@Vector(3, u129), @Vector(3, u2), .{ 0, 1, 1 << 1 }); | ||
| 5472 | try testArgs(@Vector(3, u255), @Vector(3, u2), .{ 0, 1, 1 << 1 }); | ||
| 5473 | try testArgs(@Vector(3, u256), @Vector(3, u2), .{ 0, 1, 1 << 1 }); | ||
| 5474 | try testArgs(@Vector(3, u257), @Vector(3, u2), .{ 0, 1, 1 << 1 }); | ||
| 5475 | try testArgs(@Vector(3, u511), @Vector(3, u2), .{ 0, 1, 1 << 1 }); | ||
| 5476 | try testArgs(@Vector(3, u512), @Vector(3, u2), .{ 0, 1, 1 << 1 }); | ||
| 5477 | try testArgs(@Vector(3, u513), @Vector(3, u2), .{ 0, 1, 1 << 1 }); | ||
| 5478 | try testArgs(@Vector(3, u1023), @Vector(3, u2), .{ 0, 1, 1 << 1 }); | ||
| 5479 | try testArgs(@Vector(3, u1024), @Vector(3, u2), .{ 0, 1, 1 << 1 }); | ||
| 5480 | try testArgs(@Vector(3, u1025), @Vector(3, u2), .{ 0, 1, 1 << 1 }); | ||
| 5481 | |||
| 5482 | try testArgs(@Vector(3, i7), @Vector(3, i3), .{ -1 << 2, -1, 0 }); | ||
| 5483 | try testArgs(@Vector(3, i8), @Vector(3, i3), .{ -1 << 2, -1, 0 }); | ||
| 5484 | try testArgs(@Vector(3, i9), @Vector(3, i3), .{ -1 << 2, -1, 0 }); | ||
| 5485 | try testArgs(@Vector(3, i15), @Vector(3, i3), .{ -1 << 2, -1, 0 }); | ||
| 5486 | try testArgs(@Vector(3, i16), @Vector(3, i3), .{ -1 << 2, -1, 0 }); | ||
| 5487 | try testArgs(@Vector(3, i17), @Vector(3, i3), .{ -1 << 2, -1, 0 }); | ||
| 5488 | try testArgs(@Vector(3, i31), @Vector(3, i3), .{ -1 << 2, -1, 0 }); | ||
| 5489 | try testArgs(@Vector(3, i32), @Vector(3, i3), .{ -1 << 2, -1, 0 }); | ||
| 5490 | try testArgs(@Vector(3, i33), @Vector(3, i3), .{ -1 << 2, -1, 0 }); | ||
| 5491 | try testArgs(@Vector(3, i63), @Vector(3, i3), .{ -1 << 2, -1, 0 }); | ||
| 5492 | try testArgs(@Vector(3, i64), @Vector(3, i3), .{ -1 << 2, -1, 0 }); | ||
| 5493 | try testArgs(@Vector(3, i65), @Vector(3, i3), .{ -1 << 2, -1, 0 }); | ||
| 5494 | try testArgs(@Vector(3, i127), @Vector(3, i3), .{ -1 << 2, -1, 0 }); | ||
| 5495 | try testArgs(@Vector(3, i128), @Vector(3, i3), .{ -1 << 2, -1, 0 }); | ||
| 5496 | try testArgs(@Vector(3, i129), @Vector(3, i3), .{ -1 << 2, -1, 0 }); | ||
| 5497 | try testArgs(@Vector(3, i255), @Vector(3, i3), .{ -1 << 2, -1, 0 }); | ||
| 5498 | try testArgs(@Vector(3, i256), @Vector(3, i3), .{ -1 << 2, -1, 0 }); | ||
| 5499 | try testArgs(@Vector(3, i257), @Vector(3, i3), .{ -1 << 2, -1, 0 }); | ||
| 5500 | try testArgs(@Vector(3, i511), @Vector(3, i3), .{ -1 << 2, -1, 0 }); | ||
| 5501 | try testArgs(@Vector(3, i512), @Vector(3, i3), .{ -1 << 2, -1, 0 }); | ||
| 5502 | try testArgs(@Vector(3, i513), @Vector(3, i3), .{ -1 << 2, -1, 0 }); | ||
| 5503 | try testArgs(@Vector(3, i1023), @Vector(3, i3), .{ -1 << 2, -1, 0 }); | ||
| 5504 | try testArgs(@Vector(3, i1024), @Vector(3, i3), .{ -1 << 2, -1, 0 }); | ||
| 5505 | try testArgs(@Vector(3, i1025), @Vector(3, i3), .{ -1 << 2, -1, 0 }); | ||
| 5506 | try testArgs(@Vector(3, u7), @Vector(3, u3), .{ 0, 1, 1 << 2 }); | ||
| 5507 | try testArgs(@Vector(3, u8), @Vector(3, u3), .{ 0, 1, 1 << 2 }); | ||
| 5508 | try testArgs(@Vector(3, u9), @Vector(3, u3), .{ 0, 1, 1 << 2 }); | ||
| 5509 | try testArgs(@Vector(3, u15), @Vector(3, u3), .{ 0, 1, 1 << 2 }); | ||
| 5510 | try testArgs(@Vector(3, u16), @Vector(3, u3), .{ 0, 1, 1 << 2 }); | ||
| 5511 | try testArgs(@Vector(3, u17), @Vector(3, u3), .{ 0, 1, 1 << 2 }); | ||
| 5512 | try testArgs(@Vector(3, u31), @Vector(3, u3), .{ 0, 1, 1 << 2 }); | ||
| 5513 | try testArgs(@Vector(3, u32), @Vector(3, u3), .{ 0, 1, 1 << 2 }); | ||
| 5514 | try testArgs(@Vector(3, u33), @Vector(3, u3), .{ 0, 1, 1 << 2 }); | ||
| 5515 | try testArgs(@Vector(3, u63), @Vector(3, u3), .{ 0, 1, 1 << 2 }); | ||
| 5516 | try testArgs(@Vector(3, u64), @Vector(3, u3), .{ 0, 1, 1 << 2 }); | ||
| 5517 | try testArgs(@Vector(3, u65), @Vector(3, u3), .{ 0, 1, 1 << 2 }); | ||
| 5518 | try testArgs(@Vector(3, u127), @Vector(3, u3), .{ 0, 1, 1 << 2 }); | ||
| 5519 | try testArgs(@Vector(3, u128), @Vector(3, u3), .{ 0, 1, 1 << 2 }); | ||
| 5520 | try testArgs(@Vector(3, u129), @Vector(3, u3), .{ 0, 1, 1 << 2 }); | ||
| 5521 | try testArgs(@Vector(3, u255), @Vector(3, u3), .{ 0, 1, 1 << 2 }); | ||
| 5522 | try testArgs(@Vector(3, u256), @Vector(3, u3), .{ 0, 1, 1 << 2 }); | ||
| 5523 | try testArgs(@Vector(3, u257), @Vector(3, u3), .{ 0, 1, 1 << 2 }); | ||
| 5524 | try testArgs(@Vector(3, u511), @Vector(3, u3), .{ 0, 1, 1 << 2 }); | ||
| 5525 | try testArgs(@Vector(3, u512), @Vector(3, u3), .{ 0, 1, 1 << 2 }); | ||
| 5526 | try testArgs(@Vector(3, u513), @Vector(3, u3), .{ 0, 1, 1 << 2 }); | ||
| 5527 | try testArgs(@Vector(3, u1023), @Vector(3, u3), .{ 0, 1, 1 << 2 }); | ||
| 5528 | try testArgs(@Vector(3, u1024), @Vector(3, u3), .{ 0, 1, 1 << 2 }); | ||
| 5529 | try testArgs(@Vector(3, u1025), @Vector(3, u3), .{ 0, 1, 1 << 2 }); | ||
| 5530 | |||
| 5531 | try testArgs(@Vector(3, i7), @Vector(3, i4), .{ -1 << 3, -1, 0 }); | ||
| 5532 | try testArgs(@Vector(3, i8), @Vector(3, i4), .{ -1 << 3, -1, 0 }); | ||
| 5533 | try testArgs(@Vector(3, i9), @Vector(3, i4), .{ -1 << 3, -1, 0 }); | ||
| 5534 | try testArgs(@Vector(3, i15), @Vector(3, i4), .{ -1 << 3, -1, 0 }); | ||
| 5535 | try testArgs(@Vector(3, i16), @Vector(3, i4), .{ -1 << 3, -1, 0 }); | ||
| 5536 | try testArgs(@Vector(3, i17), @Vector(3, i4), .{ -1 << 3, -1, 0 }); | ||
| 5537 | try testArgs(@Vector(3, i31), @Vector(3, i4), .{ -1 << 3, -1, 0 }); | ||
| 5538 | try testArgs(@Vector(3, i32), @Vector(3, i4), .{ -1 << 3, -1, 0 }); | ||
| 5539 | try testArgs(@Vector(3, i33), @Vector(3, i4), .{ -1 << 3, -1, 0 }); | ||
| 5540 | try testArgs(@Vector(3, i63), @Vector(3, i4), .{ -1 << 3, -1, 0 }); | ||
| 5541 | try testArgs(@Vector(3, i64), @Vector(3, i4), .{ -1 << 3, -1, 0 }); | ||
| 5542 | try testArgs(@Vector(3, i65), @Vector(3, i4), .{ -1 << 3, -1, 0 }); | ||
| 5543 | try testArgs(@Vector(3, i127), @Vector(3, i4), .{ -1 << 3, -1, 0 }); | ||
| 5544 | try testArgs(@Vector(3, i128), @Vector(3, i4), .{ -1 << 3, -1, 0 }); | ||
| 5545 | try testArgs(@Vector(3, i129), @Vector(3, i4), .{ -1 << 3, -1, 0 }); | ||
| 5546 | try testArgs(@Vector(3, i255), @Vector(3, i4), .{ -1 << 3, -1, 0 }); | ||
| 5547 | try testArgs(@Vector(3, i256), @Vector(3, i4), .{ -1 << 3, -1, 0 }); | ||
| 5548 | try testArgs(@Vector(3, i257), @Vector(3, i4), .{ -1 << 3, -1, 0 }); | ||
| 5549 | try testArgs(@Vector(3, i511), @Vector(3, i4), .{ -1 << 3, -1, 0 }); | ||
| 5550 | try testArgs(@Vector(3, i512), @Vector(3, i4), .{ -1 << 3, -1, 0 }); | ||
| 5551 | try testArgs(@Vector(3, i513), @Vector(3, i4), .{ -1 << 3, -1, 0 }); | ||
| 5552 | try testArgs(@Vector(3, i1023), @Vector(3, i4), .{ -1 << 3, -1, 0 }); | ||
| 5553 | try testArgs(@Vector(3, i1024), @Vector(3, i4), .{ -1 << 3, -1, 0 }); | ||
| 5554 | try testArgs(@Vector(3, i1025), @Vector(3, i4), .{ -1 << 3, -1, 0 }); | ||
| 5555 | try testArgs(@Vector(3, u7), @Vector(3, u4), .{ 0, 1, 1 << 3 }); | ||
| 5556 | try testArgs(@Vector(3, u8), @Vector(3, u4), .{ 0, 1, 1 << 3 }); | ||
| 5557 | try testArgs(@Vector(3, u9), @Vector(3, u4), .{ 0, 1, 1 << 3 }); | ||
| 5558 | try testArgs(@Vector(3, u15), @Vector(3, u4), .{ 0, 1, 1 << 3 }); | ||
| 5559 | try testArgs(@Vector(3, u16), @Vector(3, u4), .{ 0, 1, 1 << 3 }); | ||
| 5560 | try testArgs(@Vector(3, u17), @Vector(3, u4), .{ 0, 1, 1 << 3 }); | ||
| 5561 | try testArgs(@Vector(3, u31), @Vector(3, u4), .{ 0, 1, 1 << 3 }); | ||
| 5562 | try testArgs(@Vector(3, u32), @Vector(3, u4), .{ 0, 1, 1 << 3 }); | ||
| 5563 | try testArgs(@Vector(3, u33), @Vector(3, u4), .{ 0, 1, 1 << 3 }); | ||
| 5564 | try testArgs(@Vector(3, u63), @Vector(3, u4), .{ 0, 1, 1 << 3 }); | ||
| 5565 | try testArgs(@Vector(3, u64), @Vector(3, u4), .{ 0, 1, 1 << 3 }); | ||
| 5566 | try testArgs(@Vector(3, u65), @Vector(3, u4), .{ 0, 1, 1 << 3 }); | ||
| 5567 | try testArgs(@Vector(3, u127), @Vector(3, u4), .{ 0, 1, 1 << 3 }); | ||
| 5568 | try testArgs(@Vector(3, u128), @Vector(3, u4), .{ 0, 1, 1 << 3 }); | ||
| 5569 | try testArgs(@Vector(3, u129), @Vector(3, u4), .{ 0, 1, 1 << 3 }); | ||
| 5570 | try testArgs(@Vector(3, u255), @Vector(3, u4), .{ 0, 1, 1 << 3 }); | ||
| 5571 | try testArgs(@Vector(3, u256), @Vector(3, u4), .{ 0, 1, 1 << 3 }); | ||
| 5572 | try testArgs(@Vector(3, u257), @Vector(3, u4), .{ 0, 1, 1 << 3 }); | ||
| 5573 | try testArgs(@Vector(3, u511), @Vector(3, u4), .{ 0, 1, 1 << 3 }); | ||
| 5574 | try testArgs(@Vector(3, u512), @Vector(3, u4), .{ 0, 1, 1 << 3 }); | ||
| 5575 | try testArgs(@Vector(3, u513), @Vector(3, u4), .{ 0, 1, 1 << 3 }); | ||
| 5576 | try testArgs(@Vector(3, u1023), @Vector(3, u4), .{ 0, 1, 1 << 3 }); | ||
| 5577 | try testArgs(@Vector(3, u1024), @Vector(3, u4), .{ 0, 1, 1 << 3 }); | ||
| 5578 | try testArgs(@Vector(3, u1025), @Vector(3, u4), .{ 0, 1, 1 << 3 }); | ||
| 5579 | |||
| 5580 | try testArgs(@Vector(3, i7), @Vector(3, i5), .{ -1 << 4, -1, 0 }); | ||
| 5581 | try testArgs(@Vector(3, i8), @Vector(3, i5), .{ -1 << 4, -1, 0 }); | ||
| 5582 | try testArgs(@Vector(3, i9), @Vector(3, i5), .{ -1 << 4, -1, 0 }); | ||
| 5583 | try testArgs(@Vector(3, i15), @Vector(3, i5), .{ -1 << 4, -1, 0 }); | ||
| 5584 | try testArgs(@Vector(3, i16), @Vector(3, i5), .{ -1 << 4, -1, 0 }); | ||
| 5585 | try testArgs(@Vector(3, i17), @Vector(3, i5), .{ -1 << 4, -1, 0 }); | ||
| 5586 | try testArgs(@Vector(3, i31), @Vector(3, i5), .{ -1 << 4, -1, 0 }); | ||
| 5587 | try testArgs(@Vector(3, i32), @Vector(3, i5), .{ -1 << 4, -1, 0 }); | ||
| 5588 | try testArgs(@Vector(3, i33), @Vector(3, i5), .{ -1 << 4, -1, 0 }); | ||
| 5589 | try testArgs(@Vector(3, i63), @Vector(3, i5), .{ -1 << 4, -1, 0 }); | ||
| 5590 | try testArgs(@Vector(3, i64), @Vector(3, i5), .{ -1 << 4, -1, 0 }); | ||
| 5591 | try testArgs(@Vector(3, i65), @Vector(3, i5), .{ -1 << 4, -1, 0 }); | ||
| 5592 | try testArgs(@Vector(3, i127), @Vector(3, i5), .{ -1 << 4, -1, 0 }); | ||
| 5593 | try testArgs(@Vector(3, i128), @Vector(3, i5), .{ -1 << 4, -1, 0 }); | ||
| 5594 | try testArgs(@Vector(3, i129), @Vector(3, i5), .{ -1 << 4, -1, 0 }); | ||
| 5595 | try testArgs(@Vector(3, i255), @Vector(3, i5), .{ -1 << 4, -1, 0 }); | ||
| 5596 | try testArgs(@Vector(3, i256), @Vector(3, i5), .{ -1 << 4, -1, 0 }); | ||
| 5597 | try testArgs(@Vector(3, i257), @Vector(3, i5), .{ -1 << 4, -1, 0 }); | ||
| 5598 | try testArgs(@Vector(3, i511), @Vector(3, i5), .{ -1 << 4, -1, 0 }); | ||
| 5599 | try testArgs(@Vector(3, i512), @Vector(3, i5), .{ -1 << 4, -1, 0 }); | ||
| 5600 | try testArgs(@Vector(3, i513), @Vector(3, i5), .{ -1 << 4, -1, 0 }); | ||
| 5601 | try testArgs(@Vector(3, i1023), @Vector(3, i5), .{ -1 << 4, -1, 0 }); | ||
| 5602 | try testArgs(@Vector(3, i1024), @Vector(3, i5), .{ -1 << 4, -1, 0 }); | ||
| 5603 | try testArgs(@Vector(3, i1025), @Vector(3, i5), .{ -1 << 4, -1, 0 }); | ||
| 5604 | try testArgs(@Vector(3, u7), @Vector(3, u5), .{ 0, 1, 1 << 4 }); | ||
| 5605 | try testArgs(@Vector(3, u8), @Vector(3, u5), .{ 0, 1, 1 << 4 }); | ||
| 5606 | try testArgs(@Vector(3, u9), @Vector(3, u5), .{ 0, 1, 1 << 4 }); | ||
| 5607 | try testArgs(@Vector(3, u15), @Vector(3, u5), .{ 0, 1, 1 << 4 }); | ||
| 5608 | try testArgs(@Vector(3, u16), @Vector(3, u5), .{ 0, 1, 1 << 4 }); | ||
| 5609 | try testArgs(@Vector(3, u17), @Vector(3, u5), .{ 0, 1, 1 << 4 }); | ||
| 5610 | try testArgs(@Vector(3, u31), @Vector(3, u5), .{ 0, 1, 1 << 4 }); | ||
| 5611 | try testArgs(@Vector(3, u32), @Vector(3, u5), .{ 0, 1, 1 << 4 }); | ||
| 5612 | try testArgs(@Vector(3, u33), @Vector(3, u5), .{ 0, 1, 1 << 4 }); | ||
| 5613 | try testArgs(@Vector(3, u63), @Vector(3, u5), .{ 0, 1, 1 << 4 }); | ||
| 5614 | try testArgs(@Vector(3, u64), @Vector(3, u5), .{ 0, 1, 1 << 4 }); | ||
| 5615 | try testArgs(@Vector(3, u65), @Vector(3, u5), .{ 0, 1, 1 << 4 }); | ||
| 5616 | try testArgs(@Vector(3, u127), @Vector(3, u5), .{ 0, 1, 1 << 4 }); | ||
| 5617 | try testArgs(@Vector(3, u128), @Vector(3, u5), .{ 0, 1, 1 << 4 }); | ||
| 5618 | try testArgs(@Vector(3, u129), @Vector(3, u5), .{ 0, 1, 1 << 4 }); | ||
| 5619 | try testArgs(@Vector(3, u255), @Vector(3, u5), .{ 0, 1, 1 << 4 }); | ||
| 5620 | try testArgs(@Vector(3, u256), @Vector(3, u5), .{ 0, 1, 1 << 4 }); | ||
| 5621 | try testArgs(@Vector(3, u257), @Vector(3, u5), .{ 0, 1, 1 << 4 }); | ||
| 5622 | try testArgs(@Vector(3, u511), @Vector(3, u5), .{ 0, 1, 1 << 4 }); | ||
| 5623 | try testArgs(@Vector(3, u512), @Vector(3, u5), .{ 0, 1, 1 << 4 }); | ||
| 5624 | try testArgs(@Vector(3, u513), @Vector(3, u5), .{ 0, 1, 1 << 4 }); | ||
| 5625 | try testArgs(@Vector(3, u1023), @Vector(3, u5), .{ 0, 1, 1 << 4 }); | ||
| 5626 | try testArgs(@Vector(3, u1024), @Vector(3, u5), .{ 0, 1, 1 << 4 }); | ||
| 5627 | try testArgs(@Vector(3, u1025), @Vector(3, u5), .{ 0, 1, 1 << 4 }); | ||
| 5628 | |||
| 5629 | try testArgs(@Vector(3, i7), @Vector(3, i7), .{ -1 << 6, -1, 0 }); | ||
| 5630 | try testArgs(@Vector(3, i8), @Vector(3, i7), .{ -1 << 6, -1, 0 }); | ||
| 5631 | try testArgs(@Vector(3, i9), @Vector(3, i7), .{ -1 << 6, -1, 0 }); | ||
| 5632 | try testArgs(@Vector(3, i15), @Vector(3, i7), .{ -1 << 6, -1, 0 }); | ||
| 5633 | try testArgs(@Vector(3, i16), @Vector(3, i7), .{ -1 << 6, -1, 0 }); | ||
| 5634 | try testArgs(@Vector(3, i17), @Vector(3, i7), .{ -1 << 6, -1, 0 }); | ||
| 5635 | try testArgs(@Vector(3, i31), @Vector(3, i7), .{ -1 << 6, -1, 0 }); | ||
| 5636 | try testArgs(@Vector(3, i32), @Vector(3, i7), .{ -1 << 6, -1, 0 }); | ||
| 5637 | try testArgs(@Vector(3, i33), @Vector(3, i7), .{ -1 << 6, -1, 0 }); | ||
| 5638 | try testArgs(@Vector(3, i63), @Vector(3, i7), .{ -1 << 6, -1, 0 }); | ||
| 5639 | try testArgs(@Vector(3, i64), @Vector(3, i7), .{ -1 << 6, -1, 0 }); | ||
| 5640 | try testArgs(@Vector(3, i65), @Vector(3, i7), .{ -1 << 6, -1, 0 }); | ||
| 5641 | try testArgs(@Vector(3, i127), @Vector(3, i7), .{ -1 << 6, -1, 0 }); | ||
| 5642 | try testArgs(@Vector(3, i128), @Vector(3, i7), .{ -1 << 6, -1, 0 }); | ||
| 5643 | try testArgs(@Vector(3, i129), @Vector(3, i7), .{ -1 << 6, -1, 0 }); | ||
| 5644 | try testArgs(@Vector(3, i255), @Vector(3, i7), .{ -1 << 6, -1, 0 }); | ||
| 5645 | try testArgs(@Vector(3, i256), @Vector(3, i7), .{ -1 << 6, -1, 0 }); | ||
| 5646 | try testArgs(@Vector(3, i257), @Vector(3, i7), .{ -1 << 6, -1, 0 }); | ||
| 5647 | try testArgs(@Vector(3, i511), @Vector(3, i7), .{ -1 << 6, -1, 0 }); | ||
| 5648 | try testArgs(@Vector(3, i512), @Vector(3, i7), .{ -1 << 6, -1, 0 }); | ||
| 5649 | try testArgs(@Vector(3, i513), @Vector(3, i7), .{ -1 << 6, -1, 0 }); | ||
| 5650 | try testArgs(@Vector(3, i1023), @Vector(3, i7), .{ -1 << 6, -1, 0 }); | ||
| 5651 | try testArgs(@Vector(3, i1024), @Vector(3, i7), .{ -1 << 6, -1, 0 }); | ||
| 5652 | try testArgs(@Vector(3, i1025), @Vector(3, i7), .{ -1 << 6, -1, 0 }); | ||
| 5653 | try testArgs(@Vector(3, u7), @Vector(3, u7), .{ 0, 1, 1 << 6 }); | ||
| 5654 | try testArgs(@Vector(3, u8), @Vector(3, u7), .{ 0, 1, 1 << 6 }); | ||
| 5655 | try testArgs(@Vector(3, u9), @Vector(3, u7), .{ 0, 1, 1 << 6 }); | ||
| 5656 | try testArgs(@Vector(3, u15), @Vector(3, u7), .{ 0, 1, 1 << 6 }); | ||
| 5657 | try testArgs(@Vector(3, u16), @Vector(3, u7), .{ 0, 1, 1 << 6 }); | ||
| 5658 | try testArgs(@Vector(3, u17), @Vector(3, u7), .{ 0, 1, 1 << 6 }); | ||
| 5659 | try testArgs(@Vector(3, u31), @Vector(3, u7), .{ 0, 1, 1 << 6 }); | ||
| 5660 | try testArgs(@Vector(3, u32), @Vector(3, u7), .{ 0, 1, 1 << 6 }); | ||
| 5661 | try testArgs(@Vector(3, u33), @Vector(3, u7), .{ 0, 1, 1 << 6 }); | ||
| 5662 | try testArgs(@Vector(3, u63), @Vector(3, u7), .{ 0, 1, 1 << 6 }); | ||
| 5663 | try testArgs(@Vector(3, u64), @Vector(3, u7), .{ 0, 1, 1 << 6 }); | ||
| 5664 | try testArgs(@Vector(3, u65), @Vector(3, u7), .{ 0, 1, 1 << 6 }); | ||
| 5665 | try testArgs(@Vector(3, u127), @Vector(3, u7), .{ 0, 1, 1 << 6 }); | ||
| 5666 | try testArgs(@Vector(3, u128), @Vector(3, u7), .{ 0, 1, 1 << 6 }); | ||
| 5667 | try testArgs(@Vector(3, u129), @Vector(3, u7), .{ 0, 1, 1 << 6 }); | ||
| 5668 | try testArgs(@Vector(3, u255), @Vector(3, u7), .{ 0, 1, 1 << 6 }); | ||
| 5669 | try testArgs(@Vector(3, u256), @Vector(3, u7), .{ 0, 1, 1 << 6 }); | ||
| 5670 | try testArgs(@Vector(3, u257), @Vector(3, u7), .{ 0, 1, 1 << 6 }); | ||
| 5671 | try testArgs(@Vector(3, u511), @Vector(3, u7), .{ 0, 1, 1 << 6 }); | ||
| 5672 | try testArgs(@Vector(3, u512), @Vector(3, u7), .{ 0, 1, 1 << 6 }); | ||
| 5673 | try testArgs(@Vector(3, u513), @Vector(3, u7), .{ 0, 1, 1 << 6 }); | ||
| 5674 | try testArgs(@Vector(3, u1023), @Vector(3, u7), .{ 0, 1, 1 << 6 }); | ||
| 5675 | try testArgs(@Vector(3, u1024), @Vector(3, u7), .{ 0, 1, 1 << 6 }); | ||
| 5676 | try testArgs(@Vector(3, u1025), @Vector(3, u7), .{ 0, 1, 1 << 6 }); | ||
| 5677 | |||
| 5678 | try testArgs(@Vector(3, i7), @Vector(3, i8), .{ -1 << 7, -1, 0 }); | ||
| 5679 | try testArgs(@Vector(3, i8), @Vector(3, i8), .{ -1 << 7, -1, 0 }); | ||
| 5680 | try testArgs(@Vector(3, i9), @Vector(3, i8), .{ -1 << 7, -1, 0 }); | ||
| 5681 | try testArgs(@Vector(3, i15), @Vector(3, i8), .{ -1 << 7, -1, 0 }); | ||
| 5682 | try testArgs(@Vector(3, i16), @Vector(3, i8), .{ -1 << 7, -1, 0 }); | ||
| 5683 | try testArgs(@Vector(3, i17), @Vector(3, i8), .{ -1 << 7, -1, 0 }); | ||
| 5684 | try testArgs(@Vector(3, i31), @Vector(3, i8), .{ -1 << 7, -1, 0 }); | ||
| 5685 | try testArgs(@Vector(3, i32), @Vector(3, i8), .{ -1 << 7, -1, 0 }); | ||
| 5686 | try testArgs(@Vector(3, i33), @Vector(3, i8), .{ -1 << 7, -1, 0 }); | ||
| 5687 | try testArgs(@Vector(3, i63), @Vector(3, i8), .{ -1 << 7, -1, 0 }); | ||
| 5688 | try testArgs(@Vector(3, i64), @Vector(3, i8), .{ -1 << 7, -1, 0 }); | ||
| 5689 | try testArgs(@Vector(3, i65), @Vector(3, i8), .{ -1 << 7, -1, 0 }); | ||
| 5690 | try testArgs(@Vector(3, i127), @Vector(3, i8), .{ -1 << 7, -1, 0 }); | ||
| 5691 | try testArgs(@Vector(3, i128), @Vector(3, i8), .{ -1 << 7, -1, 0 }); | ||
| 5692 | try testArgs(@Vector(3, i129), @Vector(3, i8), .{ -1 << 7, -1, 0 }); | ||
| 5693 | try testArgs(@Vector(3, i255), @Vector(3, i8), .{ -1 << 7, -1, 0 }); | ||
| 5694 | try testArgs(@Vector(3, i256), @Vector(3, i8), .{ -1 << 7, -1, 0 }); | ||
| 5695 | try testArgs(@Vector(3, i257), @Vector(3, i8), .{ -1 << 7, -1, 0 }); | ||
| 5696 | try testArgs(@Vector(3, i511), @Vector(3, i8), .{ -1 << 7, -1, 0 }); | ||
| 5697 | try testArgs(@Vector(3, i512), @Vector(3, i8), .{ -1 << 7, -1, 0 }); | ||
| 5698 | try testArgs(@Vector(3, i513), @Vector(3, i8), .{ -1 << 7, -1, 0 }); | ||
| 5699 | try testArgs(@Vector(3, i1023), @Vector(3, i8), .{ -1 << 7, -1, 0 }); | ||
| 5700 | try testArgs(@Vector(3, i1024), @Vector(3, i8), .{ -1 << 7, -1, 0 }); | ||
| 5701 | try testArgs(@Vector(3, i1025), @Vector(3, i8), .{ -1 << 7, -1, 0 }); | ||
| 5702 | try testArgs(@Vector(3, u7), @Vector(3, u8), .{ 0, 1, 1 << 7 }); | ||
| 5703 | try testArgs(@Vector(3, u8), @Vector(3, u8), .{ 0, 1, 1 << 7 }); | ||
| 5704 | try testArgs(@Vector(3, u9), @Vector(3, u8), .{ 0, 1, 1 << 7 }); | ||
| 5705 | try testArgs(@Vector(3, u15), @Vector(3, u8), .{ 0, 1, 1 << 7 }); | ||
| 5706 | try testArgs(@Vector(3, u16), @Vector(3, u8), .{ 0, 1, 1 << 7 }); | ||
| 5707 | try testArgs(@Vector(3, u17), @Vector(3, u8), .{ 0, 1, 1 << 7 }); | ||
| 5708 | try testArgs(@Vector(3, u31), @Vector(3, u8), .{ 0, 1, 1 << 7 }); | ||
| 5709 | try testArgs(@Vector(3, u32), @Vector(3, u8), .{ 0, 1, 1 << 7 }); | ||
| 5710 | try testArgs(@Vector(3, u33), @Vector(3, u8), .{ 0, 1, 1 << 7 }); | ||
| 5711 | try testArgs(@Vector(3, u63), @Vector(3, u8), .{ 0, 1, 1 << 7 }); | ||
| 5712 | try testArgs(@Vector(3, u64), @Vector(3, u8), .{ 0, 1, 1 << 7 }); | ||
| 5713 | try testArgs(@Vector(3, u65), @Vector(3, u8), .{ 0, 1, 1 << 7 }); | ||
| 5714 | try testArgs(@Vector(3, u127), @Vector(3, u8), .{ 0, 1, 1 << 7 }); | ||
| 5715 | try testArgs(@Vector(3, u128), @Vector(3, u8), .{ 0, 1, 1 << 7 }); | ||
| 5716 | try testArgs(@Vector(3, u129), @Vector(3, u8), .{ 0, 1, 1 << 7 }); | ||
| 5717 | try testArgs(@Vector(3, u255), @Vector(3, u8), .{ 0, 1, 1 << 7 }); | ||
| 5718 | try testArgs(@Vector(3, u256), @Vector(3, u8), .{ 0, 1, 1 << 7 }); | ||
| 5719 | try testArgs(@Vector(3, u257), @Vector(3, u8), .{ 0, 1, 1 << 7 }); | ||
| 5720 | try testArgs(@Vector(3, u511), @Vector(3, u8), .{ 0, 1, 1 << 7 }); | ||
| 5721 | try testArgs(@Vector(3, u512), @Vector(3, u8), .{ 0, 1, 1 << 7 }); | ||
| 5722 | try testArgs(@Vector(3, u513), @Vector(3, u8), .{ 0, 1, 1 << 7 }); | ||
| 5723 | try testArgs(@Vector(3, u1023), @Vector(3, u8), .{ 0, 1, 1 << 7 }); | ||
| 5724 | try testArgs(@Vector(3, u1024), @Vector(3, u8), .{ 0, 1, 1 << 7 }); | ||
| 5725 | try testArgs(@Vector(3, u1025), @Vector(3, u8), .{ 0, 1, 1 << 7 }); | ||
| 5726 | |||
| 5727 | try testArgs(@Vector(3, i7), @Vector(3, i9), .{ -1 << 8, -1, 0 }); | ||
| 5728 | try testArgs(@Vector(3, i8), @Vector(3, i9), .{ -1 << 8, -1, 0 }); | ||
| 5729 | try testArgs(@Vector(3, i9), @Vector(3, i9), .{ -1 << 8, -1, 0 }); | ||
| 5730 | try testArgs(@Vector(3, i15), @Vector(3, i9), .{ -1 << 8, -1, 0 }); | ||
| 5731 | try testArgs(@Vector(3, i16), @Vector(3, i9), .{ -1 << 8, -1, 0 }); | ||
| 5732 | try testArgs(@Vector(3, i17), @Vector(3, i9), .{ -1 << 8, -1, 0 }); | ||
| 5733 | try testArgs(@Vector(3, i31), @Vector(3, i9), .{ -1 << 8, -1, 0 }); | ||
| 5734 | try testArgs(@Vector(3, i32), @Vector(3, i9), .{ -1 << 8, -1, 0 }); | ||
| 5735 | try testArgs(@Vector(3, i33), @Vector(3, i9), .{ -1 << 8, -1, 0 }); | ||
| 5736 | try testArgs(@Vector(3, i63), @Vector(3, i9), .{ -1 << 8, -1, 0 }); | ||
| 5737 | try testArgs(@Vector(3, i64), @Vector(3, i9), .{ -1 << 8, -1, 0 }); | ||
| 5738 | try testArgs(@Vector(3, i65), @Vector(3, i9), .{ -1 << 8, -1, 0 }); | ||
| 5739 | try testArgs(@Vector(3, i127), @Vector(3, i9), .{ -1 << 8, -1, 0 }); | ||
| 5740 | try testArgs(@Vector(3, i128), @Vector(3, i9), .{ -1 << 8, -1, 0 }); | ||
| 5741 | try testArgs(@Vector(3, i129), @Vector(3, i9), .{ -1 << 8, -1, 0 }); | ||
| 5742 | try testArgs(@Vector(3, i255), @Vector(3, i9), .{ -1 << 8, -1, 0 }); | ||
| 5743 | try testArgs(@Vector(3, i256), @Vector(3, i9), .{ -1 << 8, -1, 0 }); | ||
| 5744 | try testArgs(@Vector(3, i257), @Vector(3, i9), .{ -1 << 8, -1, 0 }); | ||
| 5745 | try testArgs(@Vector(3, i511), @Vector(3, i9), .{ -1 << 8, -1, 0 }); | ||
| 5746 | try testArgs(@Vector(3, i512), @Vector(3, i9), .{ -1 << 8, -1, 0 }); | ||
| 5747 | try testArgs(@Vector(3, i513), @Vector(3, i9), .{ -1 << 8, -1, 0 }); | ||
| 5748 | try testArgs(@Vector(3, i1023), @Vector(3, i9), .{ -1 << 8, -1, 0 }); | ||
| 5749 | try testArgs(@Vector(3, i1024), @Vector(3, i9), .{ -1 << 8, -1, 0 }); | ||
| 5750 | try testArgs(@Vector(3, i1025), @Vector(3, i9), .{ -1 << 8, -1, 0 }); | ||
| 5751 | try testArgs(@Vector(3, u7), @Vector(3, u9), .{ 0, 1, 1 << 8 }); | ||
| 5752 | try testArgs(@Vector(3, u8), @Vector(3, u9), .{ 0, 1, 1 << 8 }); | ||
| 5753 | try testArgs(@Vector(3, u9), @Vector(3, u9), .{ 0, 1, 1 << 8 }); | ||
| 5754 | try testArgs(@Vector(3, u15), @Vector(3, u9), .{ 0, 1, 1 << 8 }); | ||
| 5755 | try testArgs(@Vector(3, u16), @Vector(3, u9), .{ 0, 1, 1 << 8 }); | ||
| 5756 | try testArgs(@Vector(3, u17), @Vector(3, u9), .{ 0, 1, 1 << 8 }); | ||
| 5757 | try testArgs(@Vector(3, u31), @Vector(3, u9), .{ 0, 1, 1 << 8 }); | ||
| 5758 | try testArgs(@Vector(3, u32), @Vector(3, u9), .{ 0, 1, 1 << 8 }); | ||
| 5759 | try testArgs(@Vector(3, u33), @Vector(3, u9), .{ 0, 1, 1 << 8 }); | ||
| 5760 | try testArgs(@Vector(3, u63), @Vector(3, u9), .{ 0, 1, 1 << 8 }); | ||
| 5761 | try testArgs(@Vector(3, u64), @Vector(3, u9), .{ 0, 1, 1 << 8 }); | ||
| 5762 | try testArgs(@Vector(3, u65), @Vector(3, u9), .{ 0, 1, 1 << 8 }); | ||
| 5763 | try testArgs(@Vector(3, u127), @Vector(3, u9), .{ 0, 1, 1 << 8 }); | ||
| 5764 | try testArgs(@Vector(3, u128), @Vector(3, u9), .{ 0, 1, 1 << 8 }); | ||
| 5765 | try testArgs(@Vector(3, u129), @Vector(3, u9), .{ 0, 1, 1 << 8 }); | ||
| 5766 | try testArgs(@Vector(3, u255), @Vector(3, u9), .{ 0, 1, 1 << 8 }); | ||
| 5767 | try testArgs(@Vector(3, u256), @Vector(3, u9), .{ 0, 1, 1 << 8 }); | ||
| 5768 | try testArgs(@Vector(3, u257), @Vector(3, u9), .{ 0, 1, 1 << 8 }); | ||
| 5769 | try testArgs(@Vector(3, u511), @Vector(3, u9), .{ 0, 1, 1 << 8 }); | ||
| 5770 | try testArgs(@Vector(3, u512), @Vector(3, u9), .{ 0, 1, 1 << 8 }); | ||
| 5771 | try testArgs(@Vector(3, u513), @Vector(3, u9), .{ 0, 1, 1 << 8 }); | ||
| 5772 | try testArgs(@Vector(3, u1023), @Vector(3, u9), .{ 0, 1, 1 << 8 }); | ||
| 5773 | try testArgs(@Vector(3, u1024), @Vector(3, u9), .{ 0, 1, 1 << 8 }); | ||
| 5774 | try testArgs(@Vector(3, u1025), @Vector(3, u9), .{ 0, 1, 1 << 8 }); | ||
| 5775 | |||
| 5776 | try testArgs(@Vector(3, i7), @Vector(3, i15), .{ -1 << 14, -1, 0 }); | ||
| 5777 | try testArgs(@Vector(3, i8), @Vector(3, i15), .{ -1 << 14, -1, 0 }); | ||
| 5778 | try testArgs(@Vector(3, i9), @Vector(3, i15), .{ -1 << 14, -1, 0 }); | ||
| 5779 | try testArgs(@Vector(3, i15), @Vector(3, i15), .{ -1 << 14, -1, 0 }); | ||
| 5780 | try testArgs(@Vector(3, i16), @Vector(3, i15), .{ -1 << 14, -1, 0 }); | ||
| 5781 | try testArgs(@Vector(3, i17), @Vector(3, i15), .{ -1 << 14, -1, 0 }); | ||
| 5782 | try testArgs(@Vector(3, i31), @Vector(3, i15), .{ -1 << 14, -1, 0 }); | ||
| 5783 | try testArgs(@Vector(3, i32), @Vector(3, i15), .{ -1 << 14, -1, 0 }); | ||
| 5784 | try testArgs(@Vector(3, i33), @Vector(3, i15), .{ -1 << 14, -1, 0 }); | ||
| 5785 | try testArgs(@Vector(3, i63), @Vector(3, i15), .{ -1 << 14, -1, 0 }); | ||
| 5786 | try testArgs(@Vector(3, i64), @Vector(3, i15), .{ -1 << 14, -1, 0 }); | ||
| 5787 | try testArgs(@Vector(3, i65), @Vector(3, i15), .{ -1 << 14, -1, 0 }); | ||
| 5788 | try testArgs(@Vector(3, i127), @Vector(3, i15), .{ -1 << 14, -1, 0 }); | ||
| 5789 | try testArgs(@Vector(3, i128), @Vector(3, i15), .{ -1 << 14, -1, 0 }); | ||
| 5790 | try testArgs(@Vector(3, i129), @Vector(3, i15), .{ -1 << 14, -1, 0 }); | ||
| 5791 | try testArgs(@Vector(3, i255), @Vector(3, i15), .{ -1 << 14, -1, 0 }); | ||
| 5792 | try testArgs(@Vector(3, i256), @Vector(3, i15), .{ -1 << 14, -1, 0 }); | ||
| 5793 | try testArgs(@Vector(3, i257), @Vector(3, i15), .{ -1 << 14, -1, 0 }); | ||
| 5794 | try testArgs(@Vector(3, i511), @Vector(3, i15), .{ -1 << 14, -1, 0 }); | ||
| 5795 | try testArgs(@Vector(3, i512), @Vector(3, i15), .{ -1 << 14, -1, 0 }); | ||
| 5796 | try testArgs(@Vector(3, i513), @Vector(3, i15), .{ -1 << 14, -1, 0 }); | ||
| 5797 | try testArgs(@Vector(3, i1023), @Vector(3, i15), .{ -1 << 14, -1, 0 }); | ||
| 5798 | try testArgs(@Vector(3, i1024), @Vector(3, i15), .{ -1 << 14, -1, 0 }); | ||
| 5799 | try testArgs(@Vector(3, i1025), @Vector(3, i15), .{ -1 << 14, -1, 0 }); | ||
| 5800 | try testArgs(@Vector(3, u7), @Vector(3, u15), .{ 0, 1, 1 << 14 }); | ||
| 5801 | try testArgs(@Vector(3, u8), @Vector(3, u15), .{ 0, 1, 1 << 14 }); | ||
| 5802 | try testArgs(@Vector(3, u9), @Vector(3, u15), .{ 0, 1, 1 << 14 }); | ||
| 5803 | try testArgs(@Vector(3, u15), @Vector(3, u15), .{ 0, 1, 1 << 14 }); | ||
| 5804 | try testArgs(@Vector(3, u16), @Vector(3, u15), .{ 0, 1, 1 << 14 }); | ||
| 5805 | try testArgs(@Vector(3, u17), @Vector(3, u15), .{ 0, 1, 1 << 14 }); | ||
| 5806 | try testArgs(@Vector(3, u31), @Vector(3, u15), .{ 0, 1, 1 << 14 }); | ||
| 5807 | try testArgs(@Vector(3, u32), @Vector(3, u15), .{ 0, 1, 1 << 14 }); | ||
| 5808 | try testArgs(@Vector(3, u33), @Vector(3, u15), .{ 0, 1, 1 << 14 }); | ||
| 5809 | try testArgs(@Vector(3, u63), @Vector(3, u15), .{ 0, 1, 1 << 14 }); | ||
| 5810 | try testArgs(@Vector(3, u64), @Vector(3, u15), .{ 0, 1, 1 << 14 }); | ||
| 5811 | try testArgs(@Vector(3, u65), @Vector(3, u15), .{ 0, 1, 1 << 14 }); | ||
| 5812 | try testArgs(@Vector(3, u127), @Vector(3, u15), .{ 0, 1, 1 << 14 }); | ||
| 5813 | try testArgs(@Vector(3, u128), @Vector(3, u15), .{ 0, 1, 1 << 14 }); | ||
| 5814 | try testArgs(@Vector(3, u129), @Vector(3, u15), .{ 0, 1, 1 << 14 }); | ||
| 5815 | try testArgs(@Vector(3, u255), @Vector(3, u15), .{ 0, 1, 1 << 14 }); | ||
| 5816 | try testArgs(@Vector(3, u256), @Vector(3, u15), .{ 0, 1, 1 << 14 }); | ||
| 5817 | try testArgs(@Vector(3, u257), @Vector(3, u15), .{ 0, 1, 1 << 14 }); | ||
| 5818 | try testArgs(@Vector(3, u511), @Vector(3, u15), .{ 0, 1, 1 << 14 }); | ||
| 5819 | try testArgs(@Vector(3, u512), @Vector(3, u15), .{ 0, 1, 1 << 14 }); | ||
| 5820 | try testArgs(@Vector(3, u513), @Vector(3, u15), .{ 0, 1, 1 << 14 }); | ||
| 5821 | try testArgs(@Vector(3, u1023), @Vector(3, u15), .{ 0, 1, 1 << 14 }); | ||
| 5822 | try testArgs(@Vector(3, u1024), @Vector(3, u15), .{ 0, 1, 1 << 14 }); | ||
| 5823 | try testArgs(@Vector(3, u1025), @Vector(3, u15), .{ 0, 1, 1 << 14 }); | ||
| 5824 | |||
| 5825 | try testArgs(@Vector(3, i7), @Vector(3, i16), .{ -1 << 15, -1, 0 }); | ||
| 5826 | try testArgs(@Vector(3, i8), @Vector(3, i16), .{ -1 << 15, -1, 0 }); | ||
| 5827 | try testArgs(@Vector(3, i9), @Vector(3, i16), .{ -1 << 15, -1, 0 }); | ||
| 5828 | try testArgs(@Vector(3, i15), @Vector(3, i16), .{ -1 << 15, -1, 0 }); | ||
| 5829 | try testArgs(@Vector(3, i16), @Vector(3, i16), .{ -1 << 15, -1, 0 }); | ||
| 5830 | try testArgs(@Vector(3, i17), @Vector(3, i16), .{ -1 << 15, -1, 0 }); | ||
| 5831 | try testArgs(@Vector(3, i31), @Vector(3, i16), .{ -1 << 15, -1, 0 }); | ||
| 5832 | try testArgs(@Vector(3, i32), @Vector(3, i16), .{ -1 << 15, -1, 0 }); | ||
| 5833 | try testArgs(@Vector(3, i33), @Vector(3, i16), .{ -1 << 15, -1, 0 }); | ||
| 5834 | try testArgs(@Vector(3, i63), @Vector(3, i16), .{ -1 << 15, -1, 0 }); | ||
| 5835 | try testArgs(@Vector(3, i64), @Vector(3, i16), .{ -1 << 15, -1, 0 }); | ||
| 5836 | try testArgs(@Vector(3, i65), @Vector(3, i16), .{ -1 << 15, -1, 0 }); | ||
| 5837 | try testArgs(@Vector(3, i127), @Vector(3, i16), .{ -1 << 15, -1, 0 }); | ||
| 5838 | try testArgs(@Vector(3, i128), @Vector(3, i16), .{ -1 << 15, -1, 0 }); | ||
| 5839 | try testArgs(@Vector(3, i129), @Vector(3, i16), .{ -1 << 15, -1, 0 }); | ||
| 5840 | try testArgs(@Vector(3, i255), @Vector(3, i16), .{ -1 << 15, -1, 0 }); | ||
| 5841 | try testArgs(@Vector(3, i256), @Vector(3, i16), .{ -1 << 15, -1, 0 }); | ||
| 5842 | try testArgs(@Vector(3, i257), @Vector(3, i16), .{ -1 << 15, -1, 0 }); | ||
| 5843 | try testArgs(@Vector(3, i511), @Vector(3, i16), .{ -1 << 15, -1, 0 }); | ||
| 5844 | try testArgs(@Vector(3, i512), @Vector(3, i16), .{ -1 << 15, -1, 0 }); | ||
| 5845 | try testArgs(@Vector(3, i513), @Vector(3, i16), .{ -1 << 15, -1, 0 }); | ||
| 5846 | try testArgs(@Vector(3, i1023), @Vector(3, i16), .{ -1 << 15, -1, 0 }); | ||
| 5847 | try testArgs(@Vector(3, i1024), @Vector(3, i16), .{ -1 << 15, -1, 0 }); | ||
| 5848 | try testArgs(@Vector(3, i1025), @Vector(3, i16), .{ -1 << 15, -1, 0 }); | ||
| 5849 | try testArgs(@Vector(3, u7), @Vector(3, u16), .{ 0, 1, 1 << 15 }); | ||
| 5850 | try testArgs(@Vector(3, u8), @Vector(3, u16), .{ 0, 1, 1 << 15 }); | ||
| 5851 | try testArgs(@Vector(3, u9), @Vector(3, u16), .{ 0, 1, 1 << 15 }); | ||
| 5852 | try testArgs(@Vector(3, u15), @Vector(3, u16), .{ 0, 1, 1 << 15 }); | ||
| 5853 | try testArgs(@Vector(3, u16), @Vector(3, u16), .{ 0, 1, 1 << 15 }); | ||
| 5854 | try testArgs(@Vector(3, u17), @Vector(3, u16), .{ 0, 1, 1 << 15 }); | ||
| 5855 | try testArgs(@Vector(3, u31), @Vector(3, u16), .{ 0, 1, 1 << 15 }); | ||
| 5856 | try testArgs(@Vector(3, u32), @Vector(3, u16), .{ 0, 1, 1 << 15 }); | ||
| 5857 | try testArgs(@Vector(3, u33), @Vector(3, u16), .{ 0, 1, 1 << 15 }); | ||
| 5858 | try testArgs(@Vector(3, u63), @Vector(3, u16), .{ 0, 1, 1 << 15 }); | ||
| 5859 | try testArgs(@Vector(3, u64), @Vector(3, u16), .{ 0, 1, 1 << 15 }); | ||
| 5860 | try testArgs(@Vector(3, u65), @Vector(3, u16), .{ 0, 1, 1 << 15 }); | ||
| 5861 | try testArgs(@Vector(3, u127), @Vector(3, u16), .{ 0, 1, 1 << 15 }); | ||
| 5862 | try testArgs(@Vector(3, u128), @Vector(3, u16), .{ 0, 1, 1 << 15 }); | ||
| 5863 | try testArgs(@Vector(3, u129), @Vector(3, u16), .{ 0, 1, 1 << 15 }); | ||
| 5864 | try testArgs(@Vector(3, u255), @Vector(3, u16), .{ 0, 1, 1 << 15 }); | ||
| 5865 | try testArgs(@Vector(3, u256), @Vector(3, u16), .{ 0, 1, 1 << 15 }); | ||
| 5866 | try testArgs(@Vector(3, u257), @Vector(3, u16), .{ 0, 1, 1 << 15 }); | ||
| 5867 | try testArgs(@Vector(3, u511), @Vector(3, u16), .{ 0, 1, 1 << 15 }); | ||
| 5868 | try testArgs(@Vector(3, u512), @Vector(3, u16), .{ 0, 1, 1 << 15 }); | ||
| 5869 | try testArgs(@Vector(3, u513), @Vector(3, u16), .{ 0, 1, 1 << 15 }); | ||
| 5870 | try testArgs(@Vector(3, u1023), @Vector(3, u16), .{ 0, 1, 1 << 15 }); | ||
| 5871 | try testArgs(@Vector(3, u1024), @Vector(3, u16), .{ 0, 1, 1 << 15 }); | ||
| 5872 | try testArgs(@Vector(3, u1025), @Vector(3, u16), .{ 0, 1, 1 << 15 }); | ||
| 5873 | |||
| 5874 | try testArgs(@Vector(3, i7), @Vector(3, i17), .{ -1 << 16, -1, 0 }); | ||
| 5875 | try testArgs(@Vector(3, i8), @Vector(3, i17), .{ -1 << 16, -1, 0 }); | ||
| 5876 | try testArgs(@Vector(3, i9), @Vector(3, i17), .{ -1 << 16, -1, 0 }); | ||
| 5877 | try testArgs(@Vector(3, i15), @Vector(3, i17), .{ -1 << 16, -1, 0 }); | ||
| 5878 | try testArgs(@Vector(3, i16), @Vector(3, i17), .{ -1 << 16, -1, 0 }); | ||
| 5879 | try testArgs(@Vector(3, i17), @Vector(3, i17), .{ -1 << 16, -1, 0 }); | ||
| 5880 | try testArgs(@Vector(3, i31), @Vector(3, i17), .{ -1 << 16, -1, 0 }); | ||
| 5881 | try testArgs(@Vector(3, i32), @Vector(3, i17), .{ -1 << 16, -1, 0 }); | ||
| 5882 | try testArgs(@Vector(3, i33), @Vector(3, i17), .{ -1 << 16, -1, 0 }); | ||
| 5883 | try testArgs(@Vector(3, i63), @Vector(3, i17), .{ -1 << 16, -1, 0 }); | ||
| 5884 | try testArgs(@Vector(3, i64), @Vector(3, i17), .{ -1 << 16, -1, 0 }); | ||
| 5885 | try testArgs(@Vector(3, i65), @Vector(3, i17), .{ -1 << 16, -1, 0 }); | ||
| 5886 | try testArgs(@Vector(3, i127), @Vector(3, i17), .{ -1 << 16, -1, 0 }); | ||
| 5887 | try testArgs(@Vector(3, i128), @Vector(3, i17), .{ -1 << 16, -1, 0 }); | ||
| 5888 | try testArgs(@Vector(3, i129), @Vector(3, i17), .{ -1 << 16, -1, 0 }); | ||
| 5889 | try testArgs(@Vector(3, i255), @Vector(3, i17), .{ -1 << 16, -1, 0 }); | ||
| 5890 | try testArgs(@Vector(3, i256), @Vector(3, i17), .{ -1 << 16, -1, 0 }); | ||
| 5891 | try testArgs(@Vector(3, i257), @Vector(3, i17), .{ -1 << 16, -1, 0 }); | ||
| 5892 | try testArgs(@Vector(3, i511), @Vector(3, i17), .{ -1 << 16, -1, 0 }); | ||
| 5893 | try testArgs(@Vector(3, i512), @Vector(3, i17), .{ -1 << 16, -1, 0 }); | ||
| 5894 | try testArgs(@Vector(3, i513), @Vector(3, i17), .{ -1 << 16, -1, 0 }); | ||
| 5895 | try testArgs(@Vector(3, i1023), @Vector(3, i17), .{ -1 << 16, -1, 0 }); | ||
| 5896 | try testArgs(@Vector(3, i1024), @Vector(3, i17), .{ -1 << 16, -1, 0 }); | ||
| 5897 | try testArgs(@Vector(3, i1025), @Vector(3, i17), .{ -1 << 16, -1, 0 }); | ||
| 5898 | try testArgs(@Vector(3, u7), @Vector(3, u17), .{ 0, 1, 1 << 16 }); | ||
| 5899 | try testArgs(@Vector(3, u8), @Vector(3, u17), .{ 0, 1, 1 << 16 }); | ||
| 5900 | try testArgs(@Vector(3, u9), @Vector(3, u17), .{ 0, 1, 1 << 16 }); | ||
| 5901 | try testArgs(@Vector(3, u15), @Vector(3, u17), .{ 0, 1, 1 << 16 }); | ||
| 5902 | try testArgs(@Vector(3, u16), @Vector(3, u17), .{ 0, 1, 1 << 16 }); | ||
| 5903 | try testArgs(@Vector(3, u17), @Vector(3, u17), .{ 0, 1, 1 << 16 }); | ||
| 5904 | try testArgs(@Vector(3, u31), @Vector(3, u17), .{ 0, 1, 1 << 16 }); | ||
| 5905 | try testArgs(@Vector(3, u32), @Vector(3, u17), .{ 0, 1, 1 << 16 }); | ||
| 5906 | try testArgs(@Vector(3, u33), @Vector(3, u17), .{ 0, 1, 1 << 16 }); | ||
| 5907 | try testArgs(@Vector(3, u63), @Vector(3, u17), .{ 0, 1, 1 << 16 }); | ||
| 5908 | try testArgs(@Vector(3, u64), @Vector(3, u17), .{ 0, 1, 1 << 16 }); | ||
| 5909 | try testArgs(@Vector(3, u65), @Vector(3, u17), .{ 0, 1, 1 << 16 }); | ||
| 5910 | try testArgs(@Vector(3, u127), @Vector(3, u17), .{ 0, 1, 1 << 16 }); | ||
| 5911 | try testArgs(@Vector(3, u128), @Vector(3, u17), .{ 0, 1, 1 << 16 }); | ||
| 5912 | try testArgs(@Vector(3, u129), @Vector(3, u17), .{ 0, 1, 1 << 16 }); | ||
| 5913 | try testArgs(@Vector(3, u255), @Vector(3, u17), .{ 0, 1, 1 << 16 }); | ||
| 5914 | try testArgs(@Vector(3, u256), @Vector(3, u17), .{ 0, 1, 1 << 16 }); | ||
| 5915 | try testArgs(@Vector(3, u257), @Vector(3, u17), .{ 0, 1, 1 << 16 }); | ||
| 5916 | try testArgs(@Vector(3, u511), @Vector(3, u17), .{ 0, 1, 1 << 16 }); | ||
| 5917 | try testArgs(@Vector(3, u512), @Vector(3, u17), .{ 0, 1, 1 << 16 }); | ||
| 5918 | try testArgs(@Vector(3, u513), @Vector(3, u17), .{ 0, 1, 1 << 16 }); | ||
| 5919 | try testArgs(@Vector(3, u1023), @Vector(3, u17), .{ 0, 1, 1 << 16 }); | ||
| 5920 | try testArgs(@Vector(3, u1024), @Vector(3, u17), .{ 0, 1, 1 << 16 }); | ||
| 5921 | try testArgs(@Vector(3, u1025), @Vector(3, u17), .{ 0, 1, 1 << 16 }); | ||
| 5922 | |||
| 5923 | try testArgs(@Vector(3, i7), @Vector(3, i31), .{ -1 << 30, -1, 0 }); | ||
| 5924 | try testArgs(@Vector(3, i8), @Vector(3, i31), .{ -1 << 30, -1, 0 }); | ||
| 5925 | try testArgs(@Vector(3, i9), @Vector(3, i31), .{ -1 << 30, -1, 0 }); | ||
| 5926 | try testArgs(@Vector(3, i15), @Vector(3, i31), .{ -1 << 30, -1, 0 }); | ||
| 5927 | try testArgs(@Vector(3, i16), @Vector(3, i31), .{ -1 << 30, -1, 0 }); | ||
| 5928 | try testArgs(@Vector(3, i17), @Vector(3, i31), .{ -1 << 30, -1, 0 }); | ||
| 5929 | try testArgs(@Vector(3, i31), @Vector(3, i31), .{ -1 << 30, -1, 0 }); | ||
| 5930 | try testArgs(@Vector(3, i32), @Vector(3, i31), .{ -1 << 30, -1, 0 }); | ||
| 5931 | try testArgs(@Vector(3, i33), @Vector(3, i31), .{ -1 << 30, -1, 0 }); | ||
| 5932 | try testArgs(@Vector(3, i63), @Vector(3, i31), .{ -1 << 30, -1, 0 }); | ||
| 5933 | try testArgs(@Vector(3, i64), @Vector(3, i31), .{ -1 << 30, -1, 0 }); | ||
| 5934 | try testArgs(@Vector(3, i65), @Vector(3, i31), .{ -1 << 30, -1, 0 }); | ||
| 5935 | try testArgs(@Vector(3, i127), @Vector(3, i31), .{ -1 << 30, -1, 0 }); | ||
| 5936 | try testArgs(@Vector(3, i128), @Vector(3, i31), .{ -1 << 30, -1, 0 }); | ||
| 5937 | try testArgs(@Vector(3, i129), @Vector(3, i31), .{ -1 << 30, -1, 0 }); | ||
| 5938 | try testArgs(@Vector(3, i255), @Vector(3, i31), .{ -1 << 30, -1, 0 }); | ||
| 5939 | try testArgs(@Vector(3, i256), @Vector(3, i31), .{ -1 << 30, -1, 0 }); | ||
| 5940 | try testArgs(@Vector(3, i257), @Vector(3, i31), .{ -1 << 30, -1, 0 }); | ||
| 5941 | try testArgs(@Vector(3, i511), @Vector(3, i31), .{ -1 << 30, -1, 0 }); | ||
| 5942 | try testArgs(@Vector(3, i512), @Vector(3, i31), .{ -1 << 30, -1, 0 }); | ||
| 5943 | try testArgs(@Vector(3, i513), @Vector(3, i31), .{ -1 << 30, -1, 0 }); | ||
| 5944 | try testArgs(@Vector(3, i1023), @Vector(3, i31), .{ -1 << 30, -1, 0 }); | ||
| 5945 | try testArgs(@Vector(3, i1024), @Vector(3, i31), .{ -1 << 30, -1, 0 }); | ||
| 5946 | try testArgs(@Vector(3, i1025), @Vector(3, i31), .{ -1 << 30, -1, 0 }); | ||
| 5947 | try testArgs(@Vector(3, u7), @Vector(3, u31), .{ 0, 1, 1 << 30 }); | ||
| 5948 | try testArgs(@Vector(3, u8), @Vector(3, u31), .{ 0, 1, 1 << 30 }); | ||
| 5949 | try testArgs(@Vector(3, u9), @Vector(3, u31), .{ 0, 1, 1 << 30 }); | ||
| 5950 | try testArgs(@Vector(3, u15), @Vector(3, u31), .{ 0, 1, 1 << 30 }); | ||
| 5951 | try testArgs(@Vector(3, u16), @Vector(3, u31), .{ 0, 1, 1 << 30 }); | ||
| 5952 | try testArgs(@Vector(3, u17), @Vector(3, u31), .{ 0, 1, 1 << 30 }); | ||
| 5953 | try testArgs(@Vector(3, u31), @Vector(3, u31), .{ 0, 1, 1 << 30 }); | ||
| 5954 | try testArgs(@Vector(3, u32), @Vector(3, u31), .{ 0, 1, 1 << 30 }); | ||
| 5955 | try testArgs(@Vector(3, u33), @Vector(3, u31), .{ 0, 1, 1 << 30 }); | ||
| 5956 | try testArgs(@Vector(3, u63), @Vector(3, u31), .{ 0, 1, 1 << 30 }); | ||
| 5957 | try testArgs(@Vector(3, u64), @Vector(3, u31), .{ 0, 1, 1 << 30 }); | ||
| 5958 | try testArgs(@Vector(3, u65), @Vector(3, u31), .{ 0, 1, 1 << 30 }); | ||
| 5959 | try testArgs(@Vector(3, u127), @Vector(3, u31), .{ 0, 1, 1 << 30 }); | ||
| 5960 | try testArgs(@Vector(3, u128), @Vector(3, u31), .{ 0, 1, 1 << 30 }); | ||
| 5961 | try testArgs(@Vector(3, u129), @Vector(3, u31), .{ 0, 1, 1 << 30 }); | ||
| 5962 | try testArgs(@Vector(3, u255), @Vector(3, u31), .{ 0, 1, 1 << 30 }); | ||
| 5963 | try testArgs(@Vector(3, u256), @Vector(3, u31), .{ 0, 1, 1 << 30 }); | ||
| 5964 | try testArgs(@Vector(3, u257), @Vector(3, u31), .{ 0, 1, 1 << 30 }); | ||
| 5965 | try testArgs(@Vector(3, u511), @Vector(3, u31), .{ 0, 1, 1 << 30 }); | ||
| 5966 | try testArgs(@Vector(3, u512), @Vector(3, u31), .{ 0, 1, 1 << 30 }); | ||
| 5967 | try testArgs(@Vector(3, u513), @Vector(3, u31), .{ 0, 1, 1 << 30 }); | ||
| 5968 | try testArgs(@Vector(3, u1023), @Vector(3, u31), .{ 0, 1, 1 << 30 }); | ||
| 5969 | try testArgs(@Vector(3, u1024), @Vector(3, u31), .{ 0, 1, 1 << 30 }); | ||
| 5970 | try testArgs(@Vector(3, u1025), @Vector(3, u31), .{ 0, 1, 1 << 30 }); | ||
| 5971 | |||
| 5972 | try testArgs(@Vector(3, i7), @Vector(3, i32), .{ -1 << 31, -1, 0 }); | ||
| 5973 | try testArgs(@Vector(3, i8), @Vector(3, i32), .{ -1 << 31, -1, 0 }); | ||
| 5974 | try testArgs(@Vector(3, i9), @Vector(3, i32), .{ -1 << 31, -1, 0 }); | ||
| 5975 | try testArgs(@Vector(3, i15), @Vector(3, i32), .{ -1 << 31, -1, 0 }); | ||
| 5976 | try testArgs(@Vector(3, i16), @Vector(3, i32), .{ -1 << 31, -1, 0 }); | ||
| 5977 | try testArgs(@Vector(3, i17), @Vector(3, i32), .{ -1 << 31, -1, 0 }); | ||
| 5978 | try testArgs(@Vector(3, i31), @Vector(3, i32), .{ -1 << 31, -1, 0 }); | ||
| 5979 | try testArgs(@Vector(3, i32), @Vector(3, i32), .{ -1 << 31, -1, 0 }); | ||
| 5980 | try testArgs(@Vector(3, i33), @Vector(3, i32), .{ -1 << 31, -1, 0 }); | ||
| 5981 | try testArgs(@Vector(3, i63), @Vector(3, i32), .{ -1 << 31, -1, 0 }); | ||
| 5982 | try testArgs(@Vector(3, i64), @Vector(3, i32), .{ -1 << 31, -1, 0 }); | ||
| 5983 | try testArgs(@Vector(3, i65), @Vector(3, i32), .{ -1 << 31, -1, 0 }); | ||
| 5984 | try testArgs(@Vector(3, i127), @Vector(3, i32), .{ -1 << 31, -1, 0 }); | ||
| 5985 | try testArgs(@Vector(3, i128), @Vector(3, i32), .{ -1 << 31, -1, 0 }); | ||
| 5986 | try testArgs(@Vector(3, i129), @Vector(3, i32), .{ -1 << 31, -1, 0 }); | ||
| 5987 | try testArgs(@Vector(3, i255), @Vector(3, i32), .{ -1 << 31, -1, 0 }); | ||
| 5988 | try testArgs(@Vector(3, i256), @Vector(3, i32), .{ -1 << 31, -1, 0 }); | ||
| 5989 | try testArgs(@Vector(3, i257), @Vector(3, i32), .{ -1 << 31, -1, 0 }); | ||
| 5990 | try testArgs(@Vector(3, i511), @Vector(3, i32), .{ -1 << 31, -1, 0 }); | ||
| 5991 | try testArgs(@Vector(3, i512), @Vector(3, i32), .{ -1 << 31, -1, 0 }); | ||
| 5992 | try testArgs(@Vector(3, i513), @Vector(3, i32), .{ -1 << 31, -1, 0 }); | ||
| 5993 | try testArgs(@Vector(3, i1023), @Vector(3, i32), .{ -1 << 31, -1, 0 }); | ||
| 5994 | try testArgs(@Vector(3, i1024), @Vector(3, i32), .{ -1 << 31, -1, 0 }); | ||
| 5995 | try testArgs(@Vector(3, i1025), @Vector(3, i32), .{ -1 << 31, -1, 0 }); | ||
| 5996 | try testArgs(@Vector(3, u7), @Vector(3, u32), .{ 0, 1, 1 << 31 }); | ||
| 5997 | try testArgs(@Vector(3, u8), @Vector(3, u32), .{ 0, 1, 1 << 31 }); | ||
| 5998 | try testArgs(@Vector(3, u9), @Vector(3, u32), .{ 0, 1, 1 << 31 }); | ||
| 5999 | try testArgs(@Vector(3, u15), @Vector(3, u32), .{ 0, 1, 1 << 31 }); | ||
| 6000 | try testArgs(@Vector(3, u16), @Vector(3, u32), .{ 0, 1, 1 << 31 }); | ||
| 6001 | try testArgs(@Vector(3, u17), @Vector(3, u32), .{ 0, 1, 1 << 31 }); | ||
| 6002 | try testArgs(@Vector(3, u31), @Vector(3, u32), .{ 0, 1, 1 << 31 }); | ||
| 6003 | try testArgs(@Vector(3, u32), @Vector(3, u32), .{ 0, 1, 1 << 31 }); | ||
| 6004 | try testArgs(@Vector(3, u33), @Vector(3, u32), .{ 0, 1, 1 << 31 }); | ||
| 6005 | try testArgs(@Vector(3, u63), @Vector(3, u32), .{ 0, 1, 1 << 31 }); | ||
| 6006 | try testArgs(@Vector(3, u64), @Vector(3, u32), .{ 0, 1, 1 << 31 }); | ||
| 6007 | try testArgs(@Vector(3, u65), @Vector(3, u32), .{ 0, 1, 1 << 31 }); | ||
| 6008 | try testArgs(@Vector(3, u127), @Vector(3, u32), .{ 0, 1, 1 << 31 }); | ||
| 6009 | try testArgs(@Vector(3, u128), @Vector(3, u32), .{ 0, 1, 1 << 31 }); | ||
| 6010 | try testArgs(@Vector(3, u129), @Vector(3, u32), .{ 0, 1, 1 << 31 }); | ||
| 6011 | try testArgs(@Vector(3, u255), @Vector(3, u32), .{ 0, 1, 1 << 31 }); | ||
| 6012 | try testArgs(@Vector(3, u256), @Vector(3, u32), .{ 0, 1, 1 << 31 }); | ||
| 6013 | try testArgs(@Vector(3, u257), @Vector(3, u32), .{ 0, 1, 1 << 31 }); | ||
| 6014 | try testArgs(@Vector(3, u511), @Vector(3, u32), .{ 0, 1, 1 << 31 }); | ||
| 6015 | try testArgs(@Vector(3, u512), @Vector(3, u32), .{ 0, 1, 1 << 31 }); | ||
| 6016 | try testArgs(@Vector(3, u513), @Vector(3, u32), .{ 0, 1, 1 << 31 }); | ||
| 6017 | try testArgs(@Vector(3, u1023), @Vector(3, u32), .{ 0, 1, 1 << 31 }); | ||
| 6018 | try testArgs(@Vector(3, u1024), @Vector(3, u32), .{ 0, 1, 1 << 31 }); | ||
| 6019 | try testArgs(@Vector(3, u1025), @Vector(3, u32), .{ 0, 1, 1 << 31 }); | ||
| 6020 | |||
| 6021 | try testArgs(@Vector(3, i7), @Vector(3, i33), .{ -1 << 32, -1, 0 }); | ||
| 6022 | try testArgs(@Vector(3, i8), @Vector(3, i33), .{ -1 << 32, -1, 0 }); | ||
| 6023 | try testArgs(@Vector(3, i9), @Vector(3, i33), .{ -1 << 32, -1, 0 }); | ||
| 6024 | try testArgs(@Vector(3, i15), @Vector(3, i33), .{ -1 << 32, -1, 0 }); | ||
| 6025 | try testArgs(@Vector(3, i16), @Vector(3, i33), .{ -1 << 32, -1, 0 }); | ||
| 6026 | try testArgs(@Vector(3, i17), @Vector(3, i33), .{ -1 << 32, -1, 0 }); | ||
| 6027 | try testArgs(@Vector(3, i31), @Vector(3, i33), .{ -1 << 32, -1, 0 }); | ||
| 6028 | try testArgs(@Vector(3, i32), @Vector(3, i33), .{ -1 << 32, -1, 0 }); | ||
| 6029 | try testArgs(@Vector(3, i33), @Vector(3, i33), .{ -1 << 32, -1, 0 }); | ||
| 6030 | try testArgs(@Vector(3, i63), @Vector(3, i33), .{ -1 << 32, -1, 0 }); | ||
| 6031 | try testArgs(@Vector(3, i64), @Vector(3, i33), .{ -1 << 32, -1, 0 }); | ||
| 6032 | try testArgs(@Vector(3, i65), @Vector(3, i33), .{ -1 << 32, -1, 0 }); | ||
| 6033 | try testArgs(@Vector(3, i127), @Vector(3, i33), .{ -1 << 32, -1, 0 }); | ||
| 6034 | try testArgs(@Vector(3, i128), @Vector(3, i33), .{ -1 << 32, -1, 0 }); | ||
| 6035 | try testArgs(@Vector(3, i129), @Vector(3, i33), .{ -1 << 32, -1, 0 }); | ||
| 6036 | try testArgs(@Vector(3, i255), @Vector(3, i33), .{ -1 << 32, -1, 0 }); | ||
| 6037 | try testArgs(@Vector(3, i256), @Vector(3, i33), .{ -1 << 32, -1, 0 }); | ||
| 6038 | try testArgs(@Vector(3, i257), @Vector(3, i33), .{ -1 << 32, -1, 0 }); | ||
| 6039 | try testArgs(@Vector(3, i511), @Vector(3, i33), .{ -1 << 32, -1, 0 }); | ||
| 6040 | try testArgs(@Vector(3, i512), @Vector(3, i33), .{ -1 << 32, -1, 0 }); | ||
| 6041 | try testArgs(@Vector(3, i513), @Vector(3, i33), .{ -1 << 32, -1, 0 }); | ||
| 6042 | try testArgs(@Vector(3, i1023), @Vector(3, i33), .{ -1 << 32, -1, 0 }); | ||
| 6043 | try testArgs(@Vector(3, i1024), @Vector(3, i33), .{ -1 << 32, -1, 0 }); | ||
| 6044 | try testArgs(@Vector(3, i1025), @Vector(3, i33), .{ -1 << 32, -1, 0 }); | ||
| 6045 | try testArgs(@Vector(3, u7), @Vector(3, u33), .{ 0, 1, 1 << 32 }); | ||
| 6046 | try testArgs(@Vector(3, u8), @Vector(3, u33), .{ 0, 1, 1 << 32 }); | ||
| 6047 | try testArgs(@Vector(3, u9), @Vector(3, u33), .{ 0, 1, 1 << 32 }); | ||
| 6048 | try testArgs(@Vector(3, u15), @Vector(3, u33), .{ 0, 1, 1 << 32 }); | ||
| 6049 | try testArgs(@Vector(3, u16), @Vector(3, u33), .{ 0, 1, 1 << 32 }); | ||
| 6050 | try testArgs(@Vector(3, u17), @Vector(3, u33), .{ 0, 1, 1 << 32 }); | ||
| 6051 | try testArgs(@Vector(3, u31), @Vector(3, u33), .{ 0, 1, 1 << 32 }); | ||
| 6052 | try testArgs(@Vector(3, u32), @Vector(3, u33), .{ 0, 1, 1 << 32 }); | ||
| 6053 | try testArgs(@Vector(3, u33), @Vector(3, u33), .{ 0, 1, 1 << 32 }); | ||
| 6054 | try testArgs(@Vector(3, u63), @Vector(3, u33), .{ 0, 1, 1 << 32 }); | ||
| 6055 | try testArgs(@Vector(3, u64), @Vector(3, u33), .{ 0, 1, 1 << 32 }); | ||
| 6056 | try testArgs(@Vector(3, u65), @Vector(3, u33), .{ 0, 1, 1 << 32 }); | ||
| 6057 | try testArgs(@Vector(3, u127), @Vector(3, u33), .{ 0, 1, 1 << 32 }); | ||
| 6058 | try testArgs(@Vector(3, u128), @Vector(3, u33), .{ 0, 1, 1 << 32 }); | ||
| 6059 | try testArgs(@Vector(3, u129), @Vector(3, u33), .{ 0, 1, 1 << 32 }); | ||
| 6060 | try testArgs(@Vector(3, u255), @Vector(3, u33), .{ 0, 1, 1 << 32 }); | ||
| 6061 | try testArgs(@Vector(3, u256), @Vector(3, u33), .{ 0, 1, 1 << 32 }); | ||
| 6062 | try testArgs(@Vector(3, u257), @Vector(3, u33), .{ 0, 1, 1 << 32 }); | ||
| 6063 | try testArgs(@Vector(3, u511), @Vector(3, u33), .{ 0, 1, 1 << 32 }); | ||
| 6064 | try testArgs(@Vector(3, u512), @Vector(3, u33), .{ 0, 1, 1 << 32 }); | ||
| 6065 | try testArgs(@Vector(3, u513), @Vector(3, u33), .{ 0, 1, 1 << 32 }); | ||
| 6066 | try testArgs(@Vector(3, u1023), @Vector(3, u33), .{ 0, 1, 1 << 32 }); | ||
| 6067 | try testArgs(@Vector(3, u1024), @Vector(3, u33), .{ 0, 1, 1 << 32 }); | ||
| 6068 | try testArgs(@Vector(3, u1025), @Vector(3, u33), .{ 0, 1, 1 << 32 }); | ||
| 6069 | |||
| 6070 | try testArgs(@Vector(3, i7), @Vector(3, i63), .{ -1 << 62, -1, 0 }); | ||
| 6071 | try testArgs(@Vector(3, i8), @Vector(3, i63), .{ -1 << 62, -1, 0 }); | ||
| 6072 | try testArgs(@Vector(3, i9), @Vector(3, i63), .{ -1 << 62, -1, 0 }); | ||
| 6073 | try testArgs(@Vector(3, i15), @Vector(3, i63), .{ -1 << 62, -1, 0 }); | ||
| 6074 | try testArgs(@Vector(3, i16), @Vector(3, i63), .{ -1 << 62, -1, 0 }); | ||
| 6075 | try testArgs(@Vector(3, i17), @Vector(3, i63), .{ -1 << 62, -1, 0 }); | ||
| 6076 | try testArgs(@Vector(3, i31), @Vector(3, i63), .{ -1 << 62, -1, 0 }); | ||
| 6077 | try testArgs(@Vector(3, i32), @Vector(3, i63), .{ -1 << 62, -1, 0 }); | ||
| 6078 | try testArgs(@Vector(3, i33), @Vector(3, i63), .{ -1 << 62, -1, 0 }); | ||
| 6079 | try testArgs(@Vector(3, i63), @Vector(3, i63), .{ -1 << 62, -1, 0 }); | ||
| 6080 | try testArgs(@Vector(3, i64), @Vector(3, i63), .{ -1 << 62, -1, 0 }); | ||
| 6081 | try testArgs(@Vector(3, i65), @Vector(3, i63), .{ -1 << 62, -1, 0 }); | ||
| 6082 | try testArgs(@Vector(3, i127), @Vector(3, i63), .{ -1 << 62, -1, 0 }); | ||
| 6083 | try testArgs(@Vector(3, i128), @Vector(3, i63), .{ -1 << 62, -1, 0 }); | ||
| 6084 | try testArgs(@Vector(3, i129), @Vector(3, i63), .{ -1 << 62, -1, 0 }); | ||
| 6085 | try testArgs(@Vector(3, i255), @Vector(3, i63), .{ -1 << 62, -1, 0 }); | ||
| 6086 | try testArgs(@Vector(3, i256), @Vector(3, i63), .{ -1 << 62, -1, 0 }); | ||
| 6087 | try testArgs(@Vector(3, i257), @Vector(3, i63), .{ -1 << 62, -1, 0 }); | ||
| 6088 | try testArgs(@Vector(3, i511), @Vector(3, i63), .{ -1 << 62, -1, 0 }); | ||
| 6089 | try testArgs(@Vector(3, i512), @Vector(3, i63), .{ -1 << 62, -1, 0 }); | ||
| 6090 | try testArgs(@Vector(3, i513), @Vector(3, i63), .{ -1 << 62, -1, 0 }); | ||
| 6091 | try testArgs(@Vector(3, i1023), @Vector(3, i63), .{ -1 << 62, -1, 0 }); | ||
| 6092 | try testArgs(@Vector(3, i1024), @Vector(3, i63), .{ -1 << 62, -1, 0 }); | ||
| 6093 | try testArgs(@Vector(3, i1025), @Vector(3, i63), .{ -1 << 62, -1, 0 }); | ||
| 6094 | try testArgs(@Vector(3, u7), @Vector(3, u63), .{ 0, 1, 1 << 62 }); | ||
| 6095 | try testArgs(@Vector(3, u8), @Vector(3, u63), .{ 0, 1, 1 << 62 }); | ||
| 6096 | try testArgs(@Vector(3, u9), @Vector(3, u63), .{ 0, 1, 1 << 62 }); | ||
| 6097 | try testArgs(@Vector(3, u15), @Vector(3, u63), .{ 0, 1, 1 << 62 }); | ||
| 6098 | try testArgs(@Vector(3, u16), @Vector(3, u63), .{ 0, 1, 1 << 62 }); | ||
| 6099 | try testArgs(@Vector(3, u17), @Vector(3, u63), .{ 0, 1, 1 << 62 }); | ||
| 6100 | try testArgs(@Vector(3, u31), @Vector(3, u63), .{ 0, 1, 1 << 62 }); | ||
| 6101 | try testArgs(@Vector(3, u32), @Vector(3, u63), .{ 0, 1, 1 << 62 }); | ||
| 6102 | try testArgs(@Vector(3, u33), @Vector(3, u63), .{ 0, 1, 1 << 62 }); | ||
| 6103 | try testArgs(@Vector(3, u63), @Vector(3, u63), .{ 0, 1, 1 << 62 }); | ||
| 6104 | try testArgs(@Vector(3, u64), @Vector(3, u63), .{ 0, 1, 1 << 62 }); | ||
| 6105 | try testArgs(@Vector(3, u65), @Vector(3, u63), .{ 0, 1, 1 << 62 }); | ||
| 6106 | try testArgs(@Vector(3, u127), @Vector(3, u63), .{ 0, 1, 1 << 62 }); | ||
| 6107 | try testArgs(@Vector(3, u128), @Vector(3, u63), .{ 0, 1, 1 << 62 }); | ||
| 6108 | try testArgs(@Vector(3, u129), @Vector(3, u63), .{ 0, 1, 1 << 62 }); | ||
| 6109 | try testArgs(@Vector(3, u255), @Vector(3, u63), .{ 0, 1, 1 << 62 }); | ||
| 6110 | try testArgs(@Vector(3, u256), @Vector(3, u63), .{ 0, 1, 1 << 62 }); | ||
| 6111 | try testArgs(@Vector(3, u257), @Vector(3, u63), .{ 0, 1, 1 << 62 }); | ||
| 6112 | try testArgs(@Vector(3, u511), @Vector(3, u63), .{ 0, 1, 1 << 62 }); | ||
| 6113 | try testArgs(@Vector(3, u512), @Vector(3, u63), .{ 0, 1, 1 << 62 }); | ||
| 6114 | try testArgs(@Vector(3, u513), @Vector(3, u63), .{ 0, 1, 1 << 62 }); | ||
| 6115 | try testArgs(@Vector(3, u1023), @Vector(3, u63), .{ 0, 1, 1 << 62 }); | ||
| 6116 | try testArgs(@Vector(3, u1024), @Vector(3, u63), .{ 0, 1, 1 << 62 }); | ||
| 6117 | try testArgs(@Vector(3, u1025), @Vector(3, u63), .{ 0, 1, 1 << 62 }); | ||
| 6118 | |||
| 6119 | try testArgs(@Vector(3, i7), @Vector(3, i64), .{ -1 << 63, -1, 0 }); | ||
| 6120 | try testArgs(@Vector(3, i8), @Vector(3, i64), .{ -1 << 63, -1, 0 }); | ||
| 6121 | try testArgs(@Vector(3, i9), @Vector(3, i64), .{ -1 << 63, -1, 0 }); | ||
| 6122 | try testArgs(@Vector(3, i15), @Vector(3, i64), .{ -1 << 63, -1, 0 }); | ||
| 6123 | try testArgs(@Vector(3, i16), @Vector(3, i64), .{ -1 << 63, -1, 0 }); | ||
| 6124 | try testArgs(@Vector(3, i17), @Vector(3, i64), .{ -1 << 63, -1, 0 }); | ||
| 6125 | try testArgs(@Vector(3, i31), @Vector(3, i64), .{ -1 << 63, -1, 0 }); | ||
| 6126 | try testArgs(@Vector(3, i32), @Vector(3, i64), .{ -1 << 63, -1, 0 }); | ||
| 6127 | try testArgs(@Vector(3, i33), @Vector(3, i64), .{ -1 << 63, -1, 0 }); | ||
| 6128 | try testArgs(@Vector(3, i63), @Vector(3, i64), .{ -1 << 63, -1, 0 }); | ||
| 6129 | try testArgs(@Vector(3, i64), @Vector(3, i64), .{ -1 << 63, -1, 0 }); | ||
| 6130 | try testArgs(@Vector(3, i65), @Vector(3, i64), .{ -1 << 63, -1, 0 }); | ||
| 6131 | try testArgs(@Vector(3, i127), @Vector(3, i64), .{ -1 << 63, -1, 0 }); | ||
| 6132 | try testArgs(@Vector(3, i128), @Vector(3, i64), .{ -1 << 63, -1, 0 }); | ||
| 6133 | try testArgs(@Vector(3, i129), @Vector(3, i64), .{ -1 << 63, -1, 0 }); | ||
| 6134 | try testArgs(@Vector(3, i255), @Vector(3, i64), .{ -1 << 63, -1, 0 }); | ||
| 6135 | try testArgs(@Vector(3, i256), @Vector(3, i64), .{ -1 << 63, -1, 0 }); | ||
| 6136 | try testArgs(@Vector(3, i257), @Vector(3, i64), .{ -1 << 63, -1, 0 }); | ||
| 6137 | try testArgs(@Vector(3, i511), @Vector(3, i64), .{ -1 << 63, -1, 0 }); | ||
| 6138 | try testArgs(@Vector(3, i512), @Vector(3, i64), .{ -1 << 63, -1, 0 }); | ||
| 6139 | try testArgs(@Vector(3, i513), @Vector(3, i64), .{ -1 << 63, -1, 0 }); | ||
| 6140 | try testArgs(@Vector(3, i1023), @Vector(3, i64), .{ -1 << 63, -1, 0 }); | ||
| 6141 | try testArgs(@Vector(3, i1024), @Vector(3, i64), .{ -1 << 63, -1, 0 }); | ||
| 6142 | try testArgs(@Vector(3, i1025), @Vector(3, i64), .{ -1 << 63, -1, 0 }); | ||
| 6143 | try testArgs(@Vector(3, u7), @Vector(3, u64), .{ 0, 1, 1 << 63 }); | ||
| 6144 | try testArgs(@Vector(3, u8), @Vector(3, u64), .{ 0, 1, 1 << 63 }); | ||
| 6145 | try testArgs(@Vector(3, u9), @Vector(3, u64), .{ 0, 1, 1 << 63 }); | ||
| 6146 | try testArgs(@Vector(3, u15), @Vector(3, u64), .{ 0, 1, 1 << 63 }); | ||
| 6147 | try testArgs(@Vector(3, u16), @Vector(3, u64), .{ 0, 1, 1 << 63 }); | ||
| 6148 | try testArgs(@Vector(3, u17), @Vector(3, u64), .{ 0, 1, 1 << 63 }); | ||
| 6149 | try testArgs(@Vector(3, u31), @Vector(3, u64), .{ 0, 1, 1 << 63 }); | ||
| 6150 | try testArgs(@Vector(3, u32), @Vector(3, u64), .{ 0, 1, 1 << 63 }); | ||
| 6151 | try testArgs(@Vector(3, u33), @Vector(3, u64), .{ 0, 1, 1 << 63 }); | ||
| 6152 | try testArgs(@Vector(3, u63), @Vector(3, u64), .{ 0, 1, 1 << 63 }); | ||
| 6153 | try testArgs(@Vector(3, u64), @Vector(3, u64), .{ 0, 1, 1 << 63 }); | ||
| 6154 | try testArgs(@Vector(3, u65), @Vector(3, u64), .{ 0, 1, 1 << 63 }); | ||
| 6155 | try testArgs(@Vector(3, u127), @Vector(3, u64), .{ 0, 1, 1 << 63 }); | ||
| 6156 | try testArgs(@Vector(3, u128), @Vector(3, u64), .{ 0, 1, 1 << 63 }); | ||
| 6157 | try testArgs(@Vector(3, u129), @Vector(3, u64), .{ 0, 1, 1 << 63 }); | ||
| 6158 | try testArgs(@Vector(3, u255), @Vector(3, u64), .{ 0, 1, 1 << 63 }); | ||
| 6159 | try testArgs(@Vector(3, u256), @Vector(3, u64), .{ 0, 1, 1 << 63 }); | ||
| 6160 | try testArgs(@Vector(3, u257), @Vector(3, u64), .{ 0, 1, 1 << 63 }); | ||
| 6161 | try testArgs(@Vector(3, u511), @Vector(3, u64), .{ 0, 1, 1 << 63 }); | ||
| 6162 | try testArgs(@Vector(3, u512), @Vector(3, u64), .{ 0, 1, 1 << 63 }); | ||
| 6163 | try testArgs(@Vector(3, u513), @Vector(3, u64), .{ 0, 1, 1 << 63 }); | ||
| 6164 | try testArgs(@Vector(3, u1023), @Vector(3, u64), .{ 0, 1, 1 << 63 }); | ||
| 6165 | try testArgs(@Vector(3, u1024), @Vector(3, u64), .{ 0, 1, 1 << 63 }); | ||
| 6166 | try testArgs(@Vector(3, u1025), @Vector(3, u64), .{ 0, 1, 1 << 63 }); | ||
| 6167 | |||
| 6168 | try testArgs(@Vector(3, i7), @Vector(3, i65), .{ -1 << 64, -1, 0 }); | ||
| 6169 | try testArgs(@Vector(3, i8), @Vector(3, i65), .{ -1 << 64, -1, 0 }); | ||
| 6170 | try testArgs(@Vector(3, i9), @Vector(3, i65), .{ -1 << 64, -1, 0 }); | ||
| 6171 | try testArgs(@Vector(3, i15), @Vector(3, i65), .{ -1 << 64, -1, 0 }); | ||
| 6172 | try testArgs(@Vector(3, i16), @Vector(3, i65), .{ -1 << 64, -1, 0 }); | ||
| 6173 | try testArgs(@Vector(3, i17), @Vector(3, i65), .{ -1 << 64, -1, 0 }); | ||
| 6174 | try testArgs(@Vector(3, i31), @Vector(3, i65), .{ -1 << 64, -1, 0 }); | ||
| 6175 | try testArgs(@Vector(3, i32), @Vector(3, i65), .{ -1 << 64, -1, 0 }); | ||
| 6176 | try testArgs(@Vector(3, i33), @Vector(3, i65), .{ -1 << 64, -1, 0 }); | ||
| 6177 | try testArgs(@Vector(3, i63), @Vector(3, i65), .{ -1 << 64, -1, 0 }); | ||
| 6178 | try testArgs(@Vector(3, i64), @Vector(3, i65), .{ -1 << 64, -1, 0 }); | ||
| 6179 | try testArgs(@Vector(3, i65), @Vector(3, i65), .{ -1 << 64, -1, 0 }); | ||
| 6180 | try testArgs(@Vector(3, i127), @Vector(3, i65), .{ -1 << 64, -1, 0 }); | ||
| 6181 | try testArgs(@Vector(3, i128), @Vector(3, i65), .{ -1 << 64, -1, 0 }); | ||
| 6182 | try testArgs(@Vector(3, i129), @Vector(3, i65), .{ -1 << 64, -1, 0 }); | ||
| 6183 | try testArgs(@Vector(3, i255), @Vector(3, i65), .{ -1 << 64, -1, 0 }); | ||
| 6184 | try testArgs(@Vector(3, i256), @Vector(3, i65), .{ -1 << 64, -1, 0 }); | ||
| 6185 | try testArgs(@Vector(3, i257), @Vector(3, i65), .{ -1 << 64, -1, 0 }); | ||
| 6186 | try testArgs(@Vector(3, i511), @Vector(3, i65), .{ -1 << 64, -1, 0 }); | ||
| 6187 | try testArgs(@Vector(3, i512), @Vector(3, i65), .{ -1 << 64, -1, 0 }); | ||
| 6188 | try testArgs(@Vector(3, i513), @Vector(3, i65), .{ -1 << 64, -1, 0 }); | ||
| 6189 | try testArgs(@Vector(3, i1023), @Vector(3, i65), .{ -1 << 64, -1, 0 }); | ||
| 6190 | try testArgs(@Vector(3, i1024), @Vector(3, i65), .{ -1 << 64, -1, 0 }); | ||
| 6191 | try testArgs(@Vector(3, i1025), @Vector(3, i65), .{ -1 << 64, -1, 0 }); | ||
| 6192 | try testArgs(@Vector(3, u7), @Vector(3, u65), .{ 0, 1, 1 << 64 }); | ||
| 6193 | try testArgs(@Vector(3, u8), @Vector(3, u65), .{ 0, 1, 1 << 64 }); | ||
| 6194 | try testArgs(@Vector(3, u9), @Vector(3, u65), .{ 0, 1, 1 << 64 }); | ||
| 6195 | try testArgs(@Vector(3, u15), @Vector(3, u65), .{ 0, 1, 1 << 64 }); | ||
| 6196 | try testArgs(@Vector(3, u16), @Vector(3, u65), .{ 0, 1, 1 << 64 }); | ||
| 6197 | try testArgs(@Vector(3, u17), @Vector(3, u65), .{ 0, 1, 1 << 64 }); | ||
| 6198 | try testArgs(@Vector(3, u31), @Vector(3, u65), .{ 0, 1, 1 << 64 }); | ||
| 6199 | try testArgs(@Vector(3, u32), @Vector(3, u65), .{ 0, 1, 1 << 64 }); | ||
| 6200 | try testArgs(@Vector(3, u33), @Vector(3, u65), .{ 0, 1, 1 << 64 }); | ||
| 6201 | try testArgs(@Vector(3, u63), @Vector(3, u65), .{ 0, 1, 1 << 64 }); | ||
| 6202 | try testArgs(@Vector(3, u64), @Vector(3, u65), .{ 0, 1, 1 << 64 }); | ||
| 6203 | try testArgs(@Vector(3, u65), @Vector(3, u65), .{ 0, 1, 1 << 64 }); | ||
| 6204 | try testArgs(@Vector(3, u127), @Vector(3, u65), .{ 0, 1, 1 << 64 }); | ||
| 6205 | try testArgs(@Vector(3, u128), @Vector(3, u65), .{ 0, 1, 1 << 64 }); | ||
| 6206 | try testArgs(@Vector(3, u129), @Vector(3, u65), .{ 0, 1, 1 << 64 }); | ||
| 6207 | try testArgs(@Vector(3, u255), @Vector(3, u65), .{ 0, 1, 1 << 64 }); | ||
| 6208 | try testArgs(@Vector(3, u256), @Vector(3, u65), .{ 0, 1, 1 << 64 }); | ||
| 6209 | try testArgs(@Vector(3, u257), @Vector(3, u65), .{ 0, 1, 1 << 64 }); | ||
| 6210 | try testArgs(@Vector(3, u511), @Vector(3, u65), .{ 0, 1, 1 << 64 }); | ||
| 6211 | try testArgs(@Vector(3, u512), @Vector(3, u65), .{ 0, 1, 1 << 64 }); | ||
| 6212 | try testArgs(@Vector(3, u513), @Vector(3, u65), .{ 0, 1, 1 << 64 }); | ||
| 6213 | try testArgs(@Vector(3, u1023), @Vector(3, u65), .{ 0, 1, 1 << 64 }); | ||
| 6214 | try testArgs(@Vector(3, u1024), @Vector(3, u65), .{ 0, 1, 1 << 64 }); | ||
| 6215 | try testArgs(@Vector(3, u1025), @Vector(3, u65), .{ 0, 1, 1 << 64 }); | ||
| 6216 | |||
| 6217 | try testArgs(@Vector(3, i7), @Vector(3, i95), .{ -1 << 94, -1, 0 }); | ||
| 6218 | try testArgs(@Vector(3, i8), @Vector(3, i95), .{ -1 << 94, -1, 0 }); | ||
| 6219 | try testArgs(@Vector(3, i9), @Vector(3, i95), .{ -1 << 94, -1, 0 }); | ||
| 6220 | try testArgs(@Vector(3, i15), @Vector(3, i95), .{ -1 << 94, -1, 0 }); | ||
| 6221 | try testArgs(@Vector(3, i16), @Vector(3, i95), .{ -1 << 94, -1, 0 }); | ||
| 6222 | try testArgs(@Vector(3, i17), @Vector(3, i95), .{ -1 << 94, -1, 0 }); | ||
| 6223 | try testArgs(@Vector(3, i31), @Vector(3, i95), .{ -1 << 94, -1, 0 }); | ||
| 6224 | try testArgs(@Vector(3, i32), @Vector(3, i95), .{ -1 << 94, -1, 0 }); | ||
| 6225 | try testArgs(@Vector(3, i33), @Vector(3, i95), .{ -1 << 94, -1, 0 }); | ||
| 6226 | try testArgs(@Vector(3, i63), @Vector(3, i95), .{ -1 << 94, -1, 0 }); | ||
| 6227 | try testArgs(@Vector(3, i64), @Vector(3, i95), .{ -1 << 94, -1, 0 }); | ||
| 6228 | try testArgs(@Vector(3, i65), @Vector(3, i95), .{ -1 << 94, -1, 0 }); | ||
| 6229 | try testArgs(@Vector(3, i127), @Vector(3, i95), .{ -1 << 94, -1, 0 }); | ||
| 6230 | try testArgs(@Vector(3, i128), @Vector(3, i95), .{ -1 << 94, -1, 0 }); | ||
| 6231 | try testArgs(@Vector(3, i129), @Vector(3, i95), .{ -1 << 94, -1, 0 }); | ||
| 6232 | try testArgs(@Vector(3, i255), @Vector(3, i95), .{ -1 << 94, -1, 0 }); | ||
| 6233 | try testArgs(@Vector(3, i256), @Vector(3, i95), .{ -1 << 94, -1, 0 }); | ||
| 6234 | try testArgs(@Vector(3, i257), @Vector(3, i95), .{ -1 << 94, -1, 0 }); | ||
| 6235 | try testArgs(@Vector(3, i511), @Vector(3, i95), .{ -1 << 94, -1, 0 }); | ||
| 6236 | try testArgs(@Vector(3, i512), @Vector(3, i95), .{ -1 << 94, -1, 0 }); | ||
| 6237 | try testArgs(@Vector(3, i513), @Vector(3, i95), .{ -1 << 94, -1, 0 }); | ||
| 6238 | try testArgs(@Vector(3, i1023), @Vector(3, i95), .{ -1 << 94, -1, 0 }); | ||
| 6239 | try testArgs(@Vector(3, i1024), @Vector(3, i95), .{ -1 << 94, -1, 0 }); | ||
| 6240 | try testArgs(@Vector(3, i1025), @Vector(3, i95), .{ -1 << 94, -1, 0 }); | ||
| 6241 | try testArgs(@Vector(3, u7), @Vector(3, u95), .{ 0, 1, 1 << 94 }); | ||
| 6242 | try testArgs(@Vector(3, u8), @Vector(3, u95), .{ 0, 1, 1 << 94 }); | ||
| 6243 | try testArgs(@Vector(3, u9), @Vector(3, u95), .{ 0, 1, 1 << 94 }); | ||
| 6244 | try testArgs(@Vector(3, u15), @Vector(3, u95), .{ 0, 1, 1 << 94 }); | ||
| 6245 | try testArgs(@Vector(3, u16), @Vector(3, u95), .{ 0, 1, 1 << 94 }); | ||
| 6246 | try testArgs(@Vector(3, u17), @Vector(3, u95), .{ 0, 1, 1 << 94 }); | ||
| 6247 | try testArgs(@Vector(3, u31), @Vector(3, u95), .{ 0, 1, 1 << 94 }); | ||
| 6248 | try testArgs(@Vector(3, u32), @Vector(3, u95), .{ 0, 1, 1 << 94 }); | ||
| 6249 | try testArgs(@Vector(3, u33), @Vector(3, u95), .{ 0, 1, 1 << 94 }); | ||
| 6250 | try testArgs(@Vector(3, u63), @Vector(3, u95), .{ 0, 1, 1 << 94 }); | ||
| 6251 | try testArgs(@Vector(3, u64), @Vector(3, u95), .{ 0, 1, 1 << 94 }); | ||
| 6252 | try testArgs(@Vector(3, u65), @Vector(3, u95), .{ 0, 1, 1 << 94 }); | ||
| 6253 | try testArgs(@Vector(3, u127), @Vector(3, u95), .{ 0, 1, 1 << 94 }); | ||
| 6254 | try testArgs(@Vector(3, u128), @Vector(3, u95), .{ 0, 1, 1 << 94 }); | ||
| 6255 | try testArgs(@Vector(3, u129), @Vector(3, u95), .{ 0, 1, 1 << 94 }); | ||
| 6256 | try testArgs(@Vector(3, u255), @Vector(3, u95), .{ 0, 1, 1 << 94 }); | ||
| 6257 | try testArgs(@Vector(3, u256), @Vector(3, u95), .{ 0, 1, 1 << 94 }); | ||
| 6258 | try testArgs(@Vector(3, u257), @Vector(3, u95), .{ 0, 1, 1 << 94 }); | ||
| 6259 | try testArgs(@Vector(3, u511), @Vector(3, u95), .{ 0, 1, 1 << 94 }); | ||
| 6260 | try testArgs(@Vector(3, u512), @Vector(3, u95), .{ 0, 1, 1 << 94 }); | ||
| 6261 | try testArgs(@Vector(3, u513), @Vector(3, u95), .{ 0, 1, 1 << 94 }); | ||
| 6262 | try testArgs(@Vector(3, u1023), @Vector(3, u95), .{ 0, 1, 1 << 94 }); | ||
| 6263 | try testArgs(@Vector(3, u1024), @Vector(3, u95), .{ 0, 1, 1 << 94 }); | ||
| 6264 | try testArgs(@Vector(3, u1025), @Vector(3, u95), .{ 0, 1, 1 << 94 }); | ||
| 6265 | |||
| 6266 | try testArgs(@Vector(3, i7), @Vector(3, i96), .{ -1 << 95, -1, 0 }); | ||
| 6267 | try testArgs(@Vector(3, i8), @Vector(3, i96), .{ -1 << 95, -1, 0 }); | ||
| 6268 | try testArgs(@Vector(3, i9), @Vector(3, i96), .{ -1 << 95, -1, 0 }); | ||
| 6269 | try testArgs(@Vector(3, i15), @Vector(3, i96), .{ -1 << 95, -1, 0 }); | ||
| 6270 | try testArgs(@Vector(3, i16), @Vector(3, i96), .{ -1 << 95, -1, 0 }); | ||
| 6271 | try testArgs(@Vector(3, i17), @Vector(3, i96), .{ -1 << 95, -1, 0 }); | ||
| 6272 | try testArgs(@Vector(3, i31), @Vector(3, i96), .{ -1 << 95, -1, 0 }); | ||
| 6273 | try testArgs(@Vector(3, i32), @Vector(3, i96), .{ -1 << 95, -1, 0 }); | ||
| 6274 | try testArgs(@Vector(3, i33), @Vector(3, i96), .{ -1 << 95, -1, 0 }); | ||
| 6275 | try testArgs(@Vector(3, i63), @Vector(3, i96), .{ -1 << 95, -1, 0 }); | ||
| 6276 | try testArgs(@Vector(3, i64), @Vector(3, i96), .{ -1 << 95, -1, 0 }); | ||
| 6277 | try testArgs(@Vector(3, i65), @Vector(3, i96), .{ -1 << 95, -1, 0 }); | ||
| 6278 | try testArgs(@Vector(3, i127), @Vector(3, i96), .{ -1 << 95, -1, 0 }); | ||
| 6279 | try testArgs(@Vector(3, i128), @Vector(3, i96), .{ -1 << 95, -1, 0 }); | ||
| 6280 | try testArgs(@Vector(3, i129), @Vector(3, i96), .{ -1 << 95, -1, 0 }); | ||
| 6281 | try testArgs(@Vector(3, i255), @Vector(3, i96), .{ -1 << 95, -1, 0 }); | ||
| 6282 | try testArgs(@Vector(3, i256), @Vector(3, i96), .{ -1 << 95, -1, 0 }); | ||
| 6283 | try testArgs(@Vector(3, i257), @Vector(3, i96), .{ -1 << 95, -1, 0 }); | ||
| 6284 | try testArgs(@Vector(3, i511), @Vector(3, i96), .{ -1 << 95, -1, 0 }); | ||
| 6285 | try testArgs(@Vector(3, i512), @Vector(3, i96), .{ -1 << 95, -1, 0 }); | ||
| 6286 | try testArgs(@Vector(3, i513), @Vector(3, i96), .{ -1 << 95, -1, 0 }); | ||
| 6287 | try testArgs(@Vector(3, i1023), @Vector(3, i96), .{ -1 << 95, -1, 0 }); | ||
| 6288 | try testArgs(@Vector(3, i1024), @Vector(3, i96), .{ -1 << 95, -1, 0 }); | ||
| 6289 | try testArgs(@Vector(3, i1025), @Vector(3, i96), .{ -1 << 95, -1, 0 }); | ||
| 6290 | try testArgs(@Vector(3, u7), @Vector(3, u96), .{ 0, 1, 1 << 95 }); | ||
| 6291 | try testArgs(@Vector(3, u8), @Vector(3, u96), .{ 0, 1, 1 << 95 }); | ||
| 6292 | try testArgs(@Vector(3, u9), @Vector(3, u96), .{ 0, 1, 1 << 95 }); | ||
| 6293 | try testArgs(@Vector(3, u15), @Vector(3, u96), .{ 0, 1, 1 << 95 }); | ||
| 6294 | try testArgs(@Vector(3, u16), @Vector(3, u96), .{ 0, 1, 1 << 95 }); | ||
| 6295 | try testArgs(@Vector(3, u17), @Vector(3, u96), .{ 0, 1, 1 << 95 }); | ||
| 6296 | try testArgs(@Vector(3, u31), @Vector(3, u96), .{ 0, 1, 1 << 95 }); | ||
| 6297 | try testArgs(@Vector(3, u32), @Vector(3, u96), .{ 0, 1, 1 << 95 }); | ||
| 6298 | try testArgs(@Vector(3, u33), @Vector(3, u96), .{ 0, 1, 1 << 95 }); | ||
| 6299 | try testArgs(@Vector(3, u63), @Vector(3, u96), .{ 0, 1, 1 << 95 }); | ||
| 6300 | try testArgs(@Vector(3, u64), @Vector(3, u96), .{ 0, 1, 1 << 95 }); | ||
| 6301 | try testArgs(@Vector(3, u65), @Vector(3, u96), .{ 0, 1, 1 << 95 }); | ||
| 6302 | try testArgs(@Vector(3, u127), @Vector(3, u96), .{ 0, 1, 1 << 95 }); | ||
| 6303 | try testArgs(@Vector(3, u128), @Vector(3, u96), .{ 0, 1, 1 << 95 }); | ||
| 6304 | try testArgs(@Vector(3, u129), @Vector(3, u96), .{ 0, 1, 1 << 95 }); | ||
| 6305 | try testArgs(@Vector(3, u255), @Vector(3, u96), .{ 0, 1, 1 << 95 }); | ||
| 6306 | try testArgs(@Vector(3, u256), @Vector(3, u96), .{ 0, 1, 1 << 95 }); | ||
| 6307 | try testArgs(@Vector(3, u257), @Vector(3, u96), .{ 0, 1, 1 << 95 }); | ||
| 6308 | try testArgs(@Vector(3, u511), @Vector(3, u96), .{ 0, 1, 1 << 95 }); | ||
| 6309 | try testArgs(@Vector(3, u512), @Vector(3, u96), .{ 0, 1, 1 << 95 }); | ||
| 6310 | try testArgs(@Vector(3, u513), @Vector(3, u96), .{ 0, 1, 1 << 95 }); | ||
| 6311 | try testArgs(@Vector(3, u1023), @Vector(3, u96), .{ 0, 1, 1 << 95 }); | ||
| 6312 | try testArgs(@Vector(3, u1024), @Vector(3, u96), .{ 0, 1, 1 << 95 }); | ||
| 6313 | try testArgs(@Vector(3, u1025), @Vector(3, u96), .{ 0, 1, 1 << 95 }); | ||
| 6314 | |||
| 6315 | try testArgs(@Vector(3, i7), @Vector(3, i97), .{ -1 << 96, -1, 0 }); | ||
| 6316 | try testArgs(@Vector(3, i8), @Vector(3, i97), .{ -1 << 96, -1, 0 }); | ||
| 6317 | try testArgs(@Vector(3, i9), @Vector(3, i97), .{ -1 << 96, -1, 0 }); | ||
| 6318 | try testArgs(@Vector(3, i15), @Vector(3, i97), .{ -1 << 96, -1, 0 }); | ||
| 6319 | try testArgs(@Vector(3, i16), @Vector(3, i97), .{ -1 << 96, -1, 0 }); | ||
| 6320 | try testArgs(@Vector(3, i17), @Vector(3, i97), .{ -1 << 96, -1, 0 }); | ||
| 6321 | try testArgs(@Vector(3, i31), @Vector(3, i97), .{ -1 << 96, -1, 0 }); | ||
| 6322 | try testArgs(@Vector(3, i32), @Vector(3, i97), .{ -1 << 96, -1, 0 }); | ||
| 6323 | try testArgs(@Vector(3, i33), @Vector(3, i97), .{ -1 << 96, -1, 0 }); | ||
| 6324 | try testArgs(@Vector(3, i63), @Vector(3, i97), .{ -1 << 96, -1, 0 }); | ||
| 6325 | try testArgs(@Vector(3, i64), @Vector(3, i97), .{ -1 << 96, -1, 0 }); | ||
| 6326 | try testArgs(@Vector(3, i65), @Vector(3, i97), .{ -1 << 96, -1, 0 }); | ||
| 6327 | try testArgs(@Vector(3, i127), @Vector(3, i97), .{ -1 << 96, -1, 0 }); | ||
| 6328 | try testArgs(@Vector(3, i128), @Vector(3, i97), .{ -1 << 96, -1, 0 }); | ||
| 6329 | try testArgs(@Vector(3, i129), @Vector(3, i97), .{ -1 << 96, -1, 0 }); | ||
| 6330 | try testArgs(@Vector(3, i255), @Vector(3, i97), .{ -1 << 96, -1, 0 }); | ||
| 6331 | try testArgs(@Vector(3, i256), @Vector(3, i97), .{ -1 << 96, -1, 0 }); | ||
| 6332 | try testArgs(@Vector(3, i257), @Vector(3, i97), .{ -1 << 96, -1, 0 }); | ||
| 6333 | try testArgs(@Vector(3, i511), @Vector(3, i97), .{ -1 << 96, -1, 0 }); | ||
| 6334 | try testArgs(@Vector(3, i512), @Vector(3, i97), .{ -1 << 96, -1, 0 }); | ||
| 6335 | try testArgs(@Vector(3, i513), @Vector(3, i97), .{ -1 << 96, -1, 0 }); | ||
| 6336 | try testArgs(@Vector(3, i1023), @Vector(3, i97), .{ -1 << 96, -1, 0 }); | ||
| 6337 | try testArgs(@Vector(3, i1024), @Vector(3, i97), .{ -1 << 96, -1, 0 }); | ||
| 6338 | try testArgs(@Vector(3, i1025), @Vector(3, i97), .{ -1 << 96, -1, 0 }); | ||
| 6339 | try testArgs(@Vector(3, u7), @Vector(3, u97), .{ 0, 1, 1 << 96 }); | ||
| 6340 | try testArgs(@Vector(3, u8), @Vector(3, u97), .{ 0, 1, 1 << 96 }); | ||
| 6341 | try testArgs(@Vector(3, u9), @Vector(3, u97), .{ 0, 1, 1 << 96 }); | ||
| 6342 | try testArgs(@Vector(3, u15), @Vector(3, u97), .{ 0, 1, 1 << 96 }); | ||
| 6343 | try testArgs(@Vector(3, u16), @Vector(3, u97), .{ 0, 1, 1 << 96 }); | ||
| 6344 | try testArgs(@Vector(3, u17), @Vector(3, u97), .{ 0, 1, 1 << 96 }); | ||
| 6345 | try testArgs(@Vector(3, u31), @Vector(3, u97), .{ 0, 1, 1 << 96 }); | ||
| 6346 | try testArgs(@Vector(3, u32), @Vector(3, u97), .{ 0, 1, 1 << 96 }); | ||
| 6347 | try testArgs(@Vector(3, u33), @Vector(3, u97), .{ 0, 1, 1 << 96 }); | ||
| 6348 | try testArgs(@Vector(3, u63), @Vector(3, u97), .{ 0, 1, 1 << 96 }); | ||
| 6349 | try testArgs(@Vector(3, u64), @Vector(3, u97), .{ 0, 1, 1 << 96 }); | ||
| 6350 | try testArgs(@Vector(3, u65), @Vector(3, u97), .{ 0, 1, 1 << 96 }); | ||
| 6351 | try testArgs(@Vector(3, u127), @Vector(3, u97), .{ 0, 1, 1 << 96 }); | ||
| 6352 | try testArgs(@Vector(3, u128), @Vector(3, u97), .{ 0, 1, 1 << 96 }); | ||
| 6353 | try testArgs(@Vector(3, u129), @Vector(3, u97), .{ 0, 1, 1 << 96 }); | ||
| 6354 | try testArgs(@Vector(3, u255), @Vector(3, u97), .{ 0, 1, 1 << 96 }); | ||
| 6355 | try testArgs(@Vector(3, u256), @Vector(3, u97), .{ 0, 1, 1 << 96 }); | ||
| 6356 | try testArgs(@Vector(3, u257), @Vector(3, u97), .{ 0, 1, 1 << 96 }); | ||
| 6357 | try testArgs(@Vector(3, u511), @Vector(3, u97), .{ 0, 1, 1 << 96 }); | ||
| 6358 | try testArgs(@Vector(3, u512), @Vector(3, u97), .{ 0, 1, 1 << 96 }); | ||
| 6359 | try testArgs(@Vector(3, u513), @Vector(3, u97), .{ 0, 1, 1 << 96 }); | ||
| 6360 | try testArgs(@Vector(3, u1023), @Vector(3, u97), .{ 0, 1, 1 << 96 }); | ||
| 6361 | try testArgs(@Vector(3, u1024), @Vector(3, u97), .{ 0, 1, 1 << 96 }); | ||
| 6362 | try testArgs(@Vector(3, u1025), @Vector(3, u97), .{ 0, 1, 1 << 96 }); | ||
| 6363 | |||
| 6364 | try testArgs(@Vector(3, i7), @Vector(3, i127), .{ -1 << 126, -1, 0 }); | ||
| 6365 | try testArgs(@Vector(3, i8), @Vector(3, i127), .{ -1 << 126, -1, 0 }); | ||
| 6366 | try testArgs(@Vector(3, i9), @Vector(3, i127), .{ -1 << 126, -1, 0 }); | ||
| 6367 | try testArgs(@Vector(3, i15), @Vector(3, i127), .{ -1 << 126, -1, 0 }); | ||
| 6368 | try testArgs(@Vector(3, i16), @Vector(3, i127), .{ -1 << 126, -1, 0 }); | ||
| 6369 | try testArgs(@Vector(3, i17), @Vector(3, i127), .{ -1 << 126, -1, 0 }); | ||
| 6370 | try testArgs(@Vector(3, i31), @Vector(3, i127), .{ -1 << 126, -1, 0 }); | ||
| 6371 | try testArgs(@Vector(3, i32), @Vector(3, i127), .{ -1 << 126, -1, 0 }); | ||
| 6372 | try testArgs(@Vector(3, i33), @Vector(3, i127), .{ -1 << 126, -1, 0 }); | ||
| 6373 | try testArgs(@Vector(3, i63), @Vector(3, i127), .{ -1 << 126, -1, 0 }); | ||
| 6374 | try testArgs(@Vector(3, i64), @Vector(3, i127), .{ -1 << 126, -1, 0 }); | ||
| 6375 | try testArgs(@Vector(3, i65), @Vector(3, i127), .{ -1 << 126, -1, 0 }); | ||
| 6376 | try testArgs(@Vector(3, i127), @Vector(3, i127), .{ -1 << 126, -1, 0 }); | ||
| 6377 | try testArgs(@Vector(3, i128), @Vector(3, i127), .{ -1 << 126, -1, 0 }); | ||
| 6378 | try testArgs(@Vector(3, i129), @Vector(3, i127), .{ -1 << 126, -1, 0 }); | ||
| 6379 | try testArgs(@Vector(3, i255), @Vector(3, i127), .{ -1 << 126, -1, 0 }); | ||
| 6380 | try testArgs(@Vector(3, i256), @Vector(3, i127), .{ -1 << 126, -1, 0 }); | ||
| 6381 | try testArgs(@Vector(3, i257), @Vector(3, i127), .{ -1 << 126, -1, 0 }); | ||
| 6382 | try testArgs(@Vector(3, i511), @Vector(3, i127), .{ -1 << 126, -1, 0 }); | ||
| 6383 | try testArgs(@Vector(3, i512), @Vector(3, i127), .{ -1 << 126, -1, 0 }); | ||
| 6384 | try testArgs(@Vector(3, i513), @Vector(3, i127), .{ -1 << 126, -1, 0 }); | ||
| 6385 | try testArgs(@Vector(3, i1023), @Vector(3, i127), .{ -1 << 126, -1, 0 }); | ||
| 6386 | try testArgs(@Vector(3, i1024), @Vector(3, i127), .{ -1 << 126, -1, 0 }); | ||
| 6387 | try testArgs(@Vector(3, i1025), @Vector(3, i127), .{ -1 << 126, -1, 0 }); | ||
| 6388 | try testArgs(@Vector(3, u7), @Vector(3, u127), .{ 0, 1, 1 << 126 }); | ||
| 6389 | try testArgs(@Vector(3, u8), @Vector(3, u127), .{ 0, 1, 1 << 126 }); | ||
| 6390 | try testArgs(@Vector(3, u9), @Vector(3, u127), .{ 0, 1, 1 << 126 }); | ||
| 6391 | try testArgs(@Vector(3, u15), @Vector(3, u127), .{ 0, 1, 1 << 126 }); | ||
| 6392 | try testArgs(@Vector(3, u16), @Vector(3, u127), .{ 0, 1, 1 << 126 }); | ||
| 6393 | try testArgs(@Vector(3, u17), @Vector(3, u127), .{ 0, 1, 1 << 126 }); | ||
| 6394 | try testArgs(@Vector(3, u31), @Vector(3, u127), .{ 0, 1, 1 << 126 }); | ||
| 6395 | try testArgs(@Vector(3, u32), @Vector(3, u127), .{ 0, 1, 1 << 126 }); | ||
| 6396 | try testArgs(@Vector(3, u33), @Vector(3, u127), .{ 0, 1, 1 << 126 }); | ||
| 6397 | try testArgs(@Vector(3, u63), @Vector(3, u127), .{ 0, 1, 1 << 126 }); | ||
| 6398 | try testArgs(@Vector(3, u64), @Vector(3, u127), .{ 0, 1, 1 << 126 }); | ||
| 6399 | try testArgs(@Vector(3, u65), @Vector(3, u127), .{ 0, 1, 1 << 126 }); | ||
| 6400 | try testArgs(@Vector(3, u127), @Vector(3, u127), .{ 0, 1, 1 << 126 }); | ||
| 6401 | try testArgs(@Vector(3, u128), @Vector(3, u127), .{ 0, 1, 1 << 126 }); | ||
| 6402 | try testArgs(@Vector(3, u129), @Vector(3, u127), .{ 0, 1, 1 << 126 }); | ||
| 6403 | try testArgs(@Vector(3, u255), @Vector(3, u127), .{ 0, 1, 1 << 126 }); | ||
| 6404 | try testArgs(@Vector(3, u256), @Vector(3, u127), .{ 0, 1, 1 << 126 }); | ||
| 6405 | try testArgs(@Vector(3, u257), @Vector(3, u127), .{ 0, 1, 1 << 126 }); | ||
| 6406 | try testArgs(@Vector(3, u511), @Vector(3, u127), .{ 0, 1, 1 << 126 }); | ||
| 6407 | try testArgs(@Vector(3, u512), @Vector(3, u127), .{ 0, 1, 1 << 126 }); | ||
| 6408 | try testArgs(@Vector(3, u513), @Vector(3, u127), .{ 0, 1, 1 << 126 }); | ||
| 6409 | try testArgs(@Vector(3, u1023), @Vector(3, u127), .{ 0, 1, 1 << 126 }); | ||
| 6410 | try testArgs(@Vector(3, u1024), @Vector(3, u127), .{ 0, 1, 1 << 126 }); | ||
| 6411 | try testArgs(@Vector(3, u1025), @Vector(3, u127), .{ 0, 1, 1 << 126 }); | ||
| 6412 | |||
| 6413 | try testArgs(@Vector(3, i7), @Vector(3, i128), .{ -1 << 127, -1, 0 }); | ||
| 6414 | try testArgs(@Vector(3, i8), @Vector(3, i128), .{ -1 << 127, -1, 0 }); | ||
| 6415 | try testArgs(@Vector(3, i9), @Vector(3, i128), .{ -1 << 127, -1, 0 }); | ||
| 6416 | try testArgs(@Vector(3, i15), @Vector(3, i128), .{ -1 << 127, -1, 0 }); | ||
| 6417 | try testArgs(@Vector(3, i16), @Vector(3, i128), .{ -1 << 127, -1, 0 }); | ||
| 6418 | try testArgs(@Vector(3, i17), @Vector(3, i128), .{ -1 << 127, -1, 0 }); | ||
| 6419 | try testArgs(@Vector(3, i31), @Vector(3, i128), .{ -1 << 127, -1, 0 }); | ||
| 6420 | try testArgs(@Vector(3, i32), @Vector(3, i128), .{ -1 << 127, -1, 0 }); | ||
| 6421 | try testArgs(@Vector(3, i33), @Vector(3, i128), .{ -1 << 127, -1, 0 }); | ||
| 6422 | try testArgs(@Vector(3, i63), @Vector(3, i128), .{ -1 << 127, -1, 0 }); | ||
| 6423 | try testArgs(@Vector(3, i64), @Vector(3, i128), .{ -1 << 127, -1, 0 }); | ||
| 6424 | try testArgs(@Vector(3, i65), @Vector(3, i128), .{ -1 << 127, -1, 0 }); | ||
| 6425 | try testArgs(@Vector(3, i127), @Vector(3, i128), .{ -1 << 127, -1, 0 }); | ||
| 6426 | try testArgs(@Vector(3, i128), @Vector(3, i128), .{ -1 << 127, -1, 0 }); | ||
| 6427 | try testArgs(@Vector(3, i129), @Vector(3, i128), .{ -1 << 127, -1, 0 }); | ||
| 6428 | try testArgs(@Vector(3, i255), @Vector(3, i128), .{ -1 << 127, -1, 0 }); | ||
| 6429 | try testArgs(@Vector(3, i256), @Vector(3, i128), .{ -1 << 127, -1, 0 }); | ||
| 6430 | try testArgs(@Vector(3, i257), @Vector(3, i128), .{ -1 << 127, -1, 0 }); | ||
| 6431 | try testArgs(@Vector(3, i511), @Vector(3, i128), .{ -1 << 127, -1, 0 }); | ||
| 6432 | try testArgs(@Vector(3, i512), @Vector(3, i128), .{ -1 << 127, -1, 0 }); | ||
| 6433 | try testArgs(@Vector(3, i513), @Vector(3, i128), .{ -1 << 127, -1, 0 }); | ||
| 6434 | try testArgs(@Vector(3, i1023), @Vector(3, i128), .{ -1 << 127, -1, 0 }); | ||
| 6435 | try testArgs(@Vector(3, i1024), @Vector(3, i128), .{ -1 << 127, -1, 0 }); | ||
| 6436 | try testArgs(@Vector(3, i1025), @Vector(3, i128), .{ -1 << 127, -1, 0 }); | ||
| 6437 | try testArgs(@Vector(3, u7), @Vector(3, u128), .{ 0, 1, 1 << 127 }); | ||
| 6438 | try testArgs(@Vector(3, u8), @Vector(3, u128), .{ 0, 1, 1 << 127 }); | ||
| 6439 | try testArgs(@Vector(3, u9), @Vector(3, u128), .{ 0, 1, 1 << 127 }); | ||
| 6440 | try testArgs(@Vector(3, u15), @Vector(3, u128), .{ 0, 1, 1 << 127 }); | ||
| 6441 | try testArgs(@Vector(3, u16), @Vector(3, u128), .{ 0, 1, 1 << 127 }); | ||
| 6442 | try testArgs(@Vector(3, u17), @Vector(3, u128), .{ 0, 1, 1 << 127 }); | ||
| 6443 | try testArgs(@Vector(3, u31), @Vector(3, u128), .{ 0, 1, 1 << 127 }); | ||
| 6444 | try testArgs(@Vector(3, u32), @Vector(3, u128), .{ 0, 1, 1 << 127 }); | ||
| 6445 | try testArgs(@Vector(3, u33), @Vector(3, u128), .{ 0, 1, 1 << 127 }); | ||
| 6446 | try testArgs(@Vector(3, u63), @Vector(3, u128), .{ 0, 1, 1 << 127 }); | ||
| 6447 | try testArgs(@Vector(3, u64), @Vector(3, u128), .{ 0, 1, 1 << 127 }); | ||
| 6448 | try testArgs(@Vector(3, u65), @Vector(3, u128), .{ 0, 1, 1 << 127 }); | ||
| 6449 | try testArgs(@Vector(3, u127), @Vector(3, u128), .{ 0, 1, 1 << 127 }); | ||
| 6450 | try testArgs(@Vector(3, u128), @Vector(3, u128), .{ 0, 1, 1 << 127 }); | ||
| 6451 | try testArgs(@Vector(3, u129), @Vector(3, u128), .{ 0, 1, 1 << 127 }); | ||
| 6452 | try testArgs(@Vector(3, u255), @Vector(3, u128), .{ 0, 1, 1 << 127 }); | ||
| 6453 | try testArgs(@Vector(3, u256), @Vector(3, u128), .{ 0, 1, 1 << 127 }); | ||
| 6454 | try testArgs(@Vector(3, u257), @Vector(3, u128), .{ 0, 1, 1 << 127 }); | ||
| 6455 | try testArgs(@Vector(3, u511), @Vector(3, u128), .{ 0, 1, 1 << 127 }); | ||
| 6456 | try testArgs(@Vector(3, u512), @Vector(3, u128), .{ 0, 1, 1 << 127 }); | ||
| 6457 | try testArgs(@Vector(3, u513), @Vector(3, u128), .{ 0, 1, 1 << 127 }); | ||
| 6458 | try testArgs(@Vector(3, u1023), @Vector(3, u128), .{ 0, 1, 1 << 127 }); | ||
| 6459 | try testArgs(@Vector(3, u1024), @Vector(3, u128), .{ 0, 1, 1 << 127 }); | ||
| 6460 | try testArgs(@Vector(3, u1025), @Vector(3, u128), .{ 0, 1, 1 << 127 }); | ||
| 6461 | |||
| 6462 | try testArgs(@Vector(3, i7), @Vector(3, i129), .{ -1 << 128, -1, 0 }); | ||
| 6463 | try testArgs(@Vector(3, i8), @Vector(3, i129), .{ -1 << 128, -1, 0 }); | ||
| 6464 | try testArgs(@Vector(3, i9), @Vector(3, i129), .{ -1 << 128, -1, 0 }); | ||
| 6465 | try testArgs(@Vector(3, i15), @Vector(3, i129), .{ -1 << 128, -1, 0 }); | ||
| 6466 | try testArgs(@Vector(3, i16), @Vector(3, i129), .{ -1 << 128, -1, 0 }); | ||
| 6467 | try testArgs(@Vector(3, i17), @Vector(3, i129), .{ -1 << 128, -1, 0 }); | ||
| 6468 | try testArgs(@Vector(3, i31), @Vector(3, i129), .{ -1 << 128, -1, 0 }); | ||
| 6469 | try testArgs(@Vector(3, i32), @Vector(3, i129), .{ -1 << 128, -1, 0 }); | ||
| 6470 | try testArgs(@Vector(3, i33), @Vector(3, i129), .{ -1 << 128, -1, 0 }); | ||
| 6471 | try testArgs(@Vector(3, i63), @Vector(3, i129), .{ -1 << 128, -1, 0 }); | ||
| 6472 | try testArgs(@Vector(3, i64), @Vector(3, i129), .{ -1 << 128, -1, 0 }); | ||
| 6473 | try testArgs(@Vector(3, i65), @Vector(3, i129), .{ -1 << 128, -1, 0 }); | ||
| 6474 | try testArgs(@Vector(3, i127), @Vector(3, i129), .{ -1 << 128, -1, 0 }); | ||
| 6475 | try testArgs(@Vector(3, i128), @Vector(3, i129), .{ -1 << 128, -1, 0 }); | ||
| 6476 | try testArgs(@Vector(3, i129), @Vector(3, i129), .{ -1 << 128, -1, 0 }); | ||
| 6477 | try testArgs(@Vector(3, i255), @Vector(3, i129), .{ -1 << 128, -1, 0 }); | ||
| 6478 | try testArgs(@Vector(3, i256), @Vector(3, i129), .{ -1 << 128, -1, 0 }); | ||
| 6479 | try testArgs(@Vector(3, i257), @Vector(3, i129), .{ -1 << 128, -1, 0 }); | ||
| 6480 | try testArgs(@Vector(3, i511), @Vector(3, i129), .{ -1 << 128, -1, 0 }); | ||
| 6481 | try testArgs(@Vector(3, i512), @Vector(3, i129), .{ -1 << 128, -1, 0 }); | ||
| 6482 | try testArgs(@Vector(3, i513), @Vector(3, i129), .{ -1 << 128, -1, 0 }); | ||
| 6483 | try testArgs(@Vector(3, i1023), @Vector(3, i129), .{ -1 << 128, -1, 0 }); | ||
| 6484 | try testArgs(@Vector(3, i1024), @Vector(3, i129), .{ -1 << 128, -1, 0 }); | ||
| 6485 | try testArgs(@Vector(3, i1025), @Vector(3, i129), .{ -1 << 128, -1, 0 }); | ||
| 6486 | try testArgs(@Vector(3, u7), @Vector(3, u129), .{ 0, 1, 1 << 128 }); | ||
| 6487 | try testArgs(@Vector(3, u8), @Vector(3, u129), .{ 0, 1, 1 << 128 }); | ||
| 6488 | try testArgs(@Vector(3, u9), @Vector(3, u129), .{ 0, 1, 1 << 128 }); | ||
| 6489 | try testArgs(@Vector(3, u15), @Vector(3, u129), .{ 0, 1, 1 << 128 }); | ||
| 6490 | try testArgs(@Vector(3, u16), @Vector(3, u129), .{ 0, 1, 1 << 128 }); | ||
| 6491 | try testArgs(@Vector(3, u17), @Vector(3, u129), .{ 0, 1, 1 << 128 }); | ||
| 6492 | try testArgs(@Vector(3, u31), @Vector(3, u129), .{ 0, 1, 1 << 128 }); | ||
| 6493 | try testArgs(@Vector(3, u32), @Vector(3, u129), .{ 0, 1, 1 << 128 }); | ||
| 6494 | try testArgs(@Vector(3, u33), @Vector(3, u129), .{ 0, 1, 1 << 128 }); | ||
| 6495 | try testArgs(@Vector(3, u63), @Vector(3, u129), .{ 0, 1, 1 << 128 }); | ||
| 6496 | try testArgs(@Vector(3, u64), @Vector(3, u129), .{ 0, 1, 1 << 128 }); | ||
| 6497 | try testArgs(@Vector(3, u65), @Vector(3, u129), .{ 0, 1, 1 << 128 }); | ||
| 6498 | try testArgs(@Vector(3, u127), @Vector(3, u129), .{ 0, 1, 1 << 128 }); | ||
| 6499 | try testArgs(@Vector(3, u128), @Vector(3, u129), .{ 0, 1, 1 << 128 }); | ||
| 6500 | try testArgs(@Vector(3, u129), @Vector(3, u129), .{ 0, 1, 1 << 128 }); | ||
| 6501 | try testArgs(@Vector(3, u255), @Vector(3, u129), .{ 0, 1, 1 << 128 }); | ||
| 6502 | try testArgs(@Vector(3, u256), @Vector(3, u129), .{ 0, 1, 1 << 128 }); | ||
| 6503 | try testArgs(@Vector(3, u257), @Vector(3, u129), .{ 0, 1, 1 << 128 }); | ||
| 6504 | try testArgs(@Vector(3, u511), @Vector(3, u129), .{ 0, 1, 1 << 128 }); | ||
| 6505 | try testArgs(@Vector(3, u512), @Vector(3, u129), .{ 0, 1, 1 << 128 }); | ||
| 6506 | try testArgs(@Vector(3, u513), @Vector(3, u129), .{ 0, 1, 1 << 128 }); | ||
| 6507 | try testArgs(@Vector(3, u1023), @Vector(3, u129), .{ 0, 1, 1 << 128 }); | ||
| 6508 | try testArgs(@Vector(3, u1024), @Vector(3, u129), .{ 0, 1, 1 << 128 }); | ||
| 6509 | try testArgs(@Vector(3, u1025), @Vector(3, u129), .{ 0, 1, 1 << 128 }); | ||
| 6510 | |||
| 6511 | try testArgs(@Vector(3, i7), @Vector(3, i159), .{ -1 << 158, -1, 0 }); | ||
| 6512 | try testArgs(@Vector(3, i8), @Vector(3, i159), .{ -1 << 158, -1, 0 }); | ||
| 6513 | try testArgs(@Vector(3, i9), @Vector(3, i159), .{ -1 << 158, -1, 0 }); | ||
| 6514 | try testArgs(@Vector(3, i15), @Vector(3, i159), .{ -1 << 158, -1, 0 }); | ||
| 6515 | try testArgs(@Vector(3, i16), @Vector(3, i159), .{ -1 << 158, -1, 0 }); | ||
| 6516 | try testArgs(@Vector(3, i17), @Vector(3, i159), .{ -1 << 158, -1, 0 }); | ||
| 6517 | try testArgs(@Vector(3, i31), @Vector(3, i159), .{ -1 << 158, -1, 0 }); | ||
| 6518 | try testArgs(@Vector(3, i32), @Vector(3, i159), .{ -1 << 158, -1, 0 }); | ||
| 6519 | try testArgs(@Vector(3, i33), @Vector(3, i159), .{ -1 << 158, -1, 0 }); | ||
| 6520 | try testArgs(@Vector(3, i63), @Vector(3, i159), .{ -1 << 158, -1, 0 }); | ||
| 6521 | try testArgs(@Vector(3, i64), @Vector(3, i159), .{ -1 << 158, -1, 0 }); | ||
| 6522 | try testArgs(@Vector(3, i65), @Vector(3, i159), .{ -1 << 158, -1, 0 }); | ||
| 6523 | try testArgs(@Vector(3, i127), @Vector(3, i159), .{ -1 << 158, -1, 0 }); | ||
| 6524 | try testArgs(@Vector(3, i128), @Vector(3, i159), .{ -1 << 158, -1, 0 }); | ||
| 6525 | try testArgs(@Vector(3, i129), @Vector(3, i159), .{ -1 << 158, -1, 0 }); | ||
| 6526 | try testArgs(@Vector(3, i255), @Vector(3, i159), .{ -1 << 158, -1, 0 }); | ||
| 6527 | try testArgs(@Vector(3, i256), @Vector(3, i159), .{ -1 << 158, -1, 0 }); | ||
| 6528 | try testArgs(@Vector(3, i257), @Vector(3, i159), .{ -1 << 158, -1, 0 }); | ||
| 6529 | try testArgs(@Vector(3, i511), @Vector(3, i159), .{ -1 << 158, -1, 0 }); | ||
| 6530 | try testArgs(@Vector(3, i512), @Vector(3, i159), .{ -1 << 158, -1, 0 }); | ||
| 6531 | try testArgs(@Vector(3, i513), @Vector(3, i159), .{ -1 << 158, -1, 0 }); | ||
| 6532 | try testArgs(@Vector(3, i1023), @Vector(3, i159), .{ -1 << 158, -1, 0 }); | ||
| 6533 | try testArgs(@Vector(3, i1024), @Vector(3, i159), .{ -1 << 158, -1, 0 }); | ||
| 6534 | try testArgs(@Vector(3, i1025), @Vector(3, i159), .{ -1 << 158, -1, 0 }); | ||
| 6535 | try testArgs(@Vector(3, u7), @Vector(3, u159), .{ 0, 1, 1 << 158 }); | ||
| 6536 | try testArgs(@Vector(3, u8), @Vector(3, u159), .{ 0, 1, 1 << 158 }); | ||
| 6537 | try testArgs(@Vector(3, u9), @Vector(3, u159), .{ 0, 1, 1 << 158 }); | ||
| 6538 | try testArgs(@Vector(3, u15), @Vector(3, u159), .{ 0, 1, 1 << 158 }); | ||
| 6539 | try testArgs(@Vector(3, u16), @Vector(3, u159), .{ 0, 1, 1 << 158 }); | ||
| 6540 | try testArgs(@Vector(3, u17), @Vector(3, u159), .{ 0, 1, 1 << 158 }); | ||
| 6541 | try testArgs(@Vector(3, u31), @Vector(3, u159), .{ 0, 1, 1 << 158 }); | ||
| 6542 | try testArgs(@Vector(3, u32), @Vector(3, u159), .{ 0, 1, 1 << 158 }); | ||
| 6543 | try testArgs(@Vector(3, u33), @Vector(3, u159), .{ 0, 1, 1 << 158 }); | ||
| 6544 | try testArgs(@Vector(3, u63), @Vector(3, u159), .{ 0, 1, 1 << 158 }); | ||
| 6545 | try testArgs(@Vector(3, u64), @Vector(3, u159), .{ 0, 1, 1 << 158 }); | ||
| 6546 | try testArgs(@Vector(3, u65), @Vector(3, u159), .{ 0, 1, 1 << 158 }); | ||
| 6547 | try testArgs(@Vector(3, u127), @Vector(3, u159), .{ 0, 1, 1 << 158 }); | ||
| 6548 | try testArgs(@Vector(3, u128), @Vector(3, u159), .{ 0, 1, 1 << 158 }); | ||
| 6549 | try testArgs(@Vector(3, u129), @Vector(3, u159), .{ 0, 1, 1 << 158 }); | ||
| 6550 | try testArgs(@Vector(3, u255), @Vector(3, u159), .{ 0, 1, 1 << 158 }); | ||
| 6551 | try testArgs(@Vector(3, u256), @Vector(3, u159), .{ 0, 1, 1 << 158 }); | ||
| 6552 | try testArgs(@Vector(3, u257), @Vector(3, u159), .{ 0, 1, 1 << 158 }); | ||
| 6553 | try testArgs(@Vector(3, u511), @Vector(3, u159), .{ 0, 1, 1 << 158 }); | ||
| 6554 | try testArgs(@Vector(3, u512), @Vector(3, u159), .{ 0, 1, 1 << 158 }); | ||
| 6555 | try testArgs(@Vector(3, u513), @Vector(3, u159), .{ 0, 1, 1 << 158 }); | ||
| 6556 | try testArgs(@Vector(3, u1023), @Vector(3, u159), .{ 0, 1, 1 << 158 }); | ||
| 6557 | try testArgs(@Vector(3, u1024), @Vector(3, u159), .{ 0, 1, 1 << 158 }); | ||
| 6558 | try testArgs(@Vector(3, u1025), @Vector(3, u159), .{ 0, 1, 1 << 158 }); | ||
| 6559 | |||
| 6560 | try testArgs(@Vector(3, i7), @Vector(3, i160), .{ -1 << 159, -1, 0 }); | ||
| 6561 | try testArgs(@Vector(3, i8), @Vector(3, i160), .{ -1 << 159, -1, 0 }); | ||
| 6562 | try testArgs(@Vector(3, i9), @Vector(3, i160), .{ -1 << 159, -1, 0 }); | ||
| 6563 | try testArgs(@Vector(3, i15), @Vector(3, i160), .{ -1 << 159, -1, 0 }); | ||
| 6564 | try testArgs(@Vector(3, i16), @Vector(3, i160), .{ -1 << 159, -1, 0 }); | ||
| 6565 | try testArgs(@Vector(3, i17), @Vector(3, i160), .{ -1 << 159, -1, 0 }); | ||
| 6566 | try testArgs(@Vector(3, i31), @Vector(3, i160), .{ -1 << 159, -1, 0 }); | ||
| 6567 | try testArgs(@Vector(3, i32), @Vector(3, i160), .{ -1 << 159, -1, 0 }); | ||
| 6568 | try testArgs(@Vector(3, i33), @Vector(3, i160), .{ -1 << 159, -1, 0 }); | ||
| 6569 | try testArgs(@Vector(3, i63), @Vector(3, i160), .{ -1 << 159, -1, 0 }); | ||
| 6570 | try testArgs(@Vector(3, i64), @Vector(3, i160), .{ -1 << 159, -1, 0 }); | ||
| 6571 | try testArgs(@Vector(3, i65), @Vector(3, i160), .{ -1 << 159, -1, 0 }); | ||
| 6572 | try testArgs(@Vector(3, i127), @Vector(3, i160), .{ -1 << 159, -1, 0 }); | ||
| 6573 | try testArgs(@Vector(3, i128), @Vector(3, i160), .{ -1 << 159, -1, 0 }); | ||
| 6574 | try testArgs(@Vector(3, i129), @Vector(3, i160), .{ -1 << 159, -1, 0 }); | ||
| 6575 | try testArgs(@Vector(3, i255), @Vector(3, i160), .{ -1 << 159, -1, 0 }); | ||
| 6576 | try testArgs(@Vector(3, i256), @Vector(3, i160), .{ -1 << 159, -1, 0 }); | ||
| 6577 | try testArgs(@Vector(3, i257), @Vector(3, i160), .{ -1 << 159, -1, 0 }); | ||
| 6578 | try testArgs(@Vector(3, i511), @Vector(3, i160), .{ -1 << 159, -1, 0 }); | ||
| 6579 | try testArgs(@Vector(3, i512), @Vector(3, i160), .{ -1 << 159, -1, 0 }); | ||
| 6580 | try testArgs(@Vector(3, i513), @Vector(3, i160), .{ -1 << 159, -1, 0 }); | ||
| 6581 | try testArgs(@Vector(3, i1023), @Vector(3, i160), .{ -1 << 159, -1, 0 }); | ||
| 6582 | try testArgs(@Vector(3, i1024), @Vector(3, i160), .{ -1 << 159, -1, 0 }); | ||
| 6583 | try testArgs(@Vector(3, i1025), @Vector(3, i160), .{ -1 << 159, -1, 0 }); | ||
| 6584 | try testArgs(@Vector(3, u7), @Vector(3, u160), .{ 0, 1, 1 << 159 }); | ||
| 6585 | try testArgs(@Vector(3, u8), @Vector(3, u160), .{ 0, 1, 1 << 159 }); | ||
| 6586 | try testArgs(@Vector(3, u9), @Vector(3, u160), .{ 0, 1, 1 << 159 }); | ||
| 6587 | try testArgs(@Vector(3, u15), @Vector(3, u160), .{ 0, 1, 1 << 159 }); | ||
| 6588 | try testArgs(@Vector(3, u16), @Vector(3, u160), .{ 0, 1, 1 << 159 }); | ||
| 6589 | try testArgs(@Vector(3, u17), @Vector(3, u160), .{ 0, 1, 1 << 159 }); | ||
| 6590 | try testArgs(@Vector(3, u31), @Vector(3, u160), .{ 0, 1, 1 << 159 }); | ||
| 6591 | try testArgs(@Vector(3, u32), @Vector(3, u160), .{ 0, 1, 1 << 159 }); | ||
| 6592 | try testArgs(@Vector(3, u33), @Vector(3, u160), .{ 0, 1, 1 << 159 }); | ||
| 6593 | try testArgs(@Vector(3, u63), @Vector(3, u160), .{ 0, 1, 1 << 159 }); | ||
| 6594 | try testArgs(@Vector(3, u64), @Vector(3, u160), .{ 0, 1, 1 << 159 }); | ||
| 6595 | try testArgs(@Vector(3, u65), @Vector(3, u160), .{ 0, 1, 1 << 159 }); | ||
| 6596 | try testArgs(@Vector(3, u127), @Vector(3, u160), .{ 0, 1, 1 << 159 }); | ||
| 6597 | try testArgs(@Vector(3, u128), @Vector(3, u160), .{ 0, 1, 1 << 159 }); | ||
| 6598 | try testArgs(@Vector(3, u129), @Vector(3, u160), .{ 0, 1, 1 << 159 }); | ||
| 6599 | try testArgs(@Vector(3, u255), @Vector(3, u160), .{ 0, 1, 1 << 159 }); | ||
| 6600 | try testArgs(@Vector(3, u256), @Vector(3, u160), .{ 0, 1, 1 << 159 }); | ||
| 6601 | try testArgs(@Vector(3, u257), @Vector(3, u160), .{ 0, 1, 1 << 159 }); | ||
| 6602 | try testArgs(@Vector(3, u511), @Vector(3, u160), .{ 0, 1, 1 << 159 }); | ||
| 6603 | try testArgs(@Vector(3, u512), @Vector(3, u160), .{ 0, 1, 1 << 159 }); | ||
| 6604 | try testArgs(@Vector(3, u513), @Vector(3, u160), .{ 0, 1, 1 << 159 }); | ||
| 6605 | try testArgs(@Vector(3, u1023), @Vector(3, u160), .{ 0, 1, 1 << 159 }); | ||
| 6606 | try testArgs(@Vector(3, u1024), @Vector(3, u160), .{ 0, 1, 1 << 159 }); | ||
| 6607 | try testArgs(@Vector(3, u1025), @Vector(3, u160), .{ 0, 1, 1 << 159 }); | ||
| 6608 | |||
| 6609 | try testArgs(@Vector(3, i7), @Vector(3, i161), .{ -1 << 160, -1, 0 }); | ||
| 6610 | try testArgs(@Vector(3, i8), @Vector(3, i161), .{ -1 << 160, -1, 0 }); | ||
| 6611 | try testArgs(@Vector(3, i9), @Vector(3, i161), .{ -1 << 160, -1, 0 }); | ||
| 6612 | try testArgs(@Vector(3, i15), @Vector(3, i161), .{ -1 << 160, -1, 0 }); | ||
| 6613 | try testArgs(@Vector(3, i16), @Vector(3, i161), .{ -1 << 160, -1, 0 }); | ||
| 6614 | try testArgs(@Vector(3, i17), @Vector(3, i161), .{ -1 << 160, -1, 0 }); | ||
| 6615 | try testArgs(@Vector(3, i31), @Vector(3, i161), .{ -1 << 160, -1, 0 }); | ||
| 6616 | try testArgs(@Vector(3, i32), @Vector(3, i161), .{ -1 << 160, -1, 0 }); | ||
| 6617 | try testArgs(@Vector(3, i33), @Vector(3, i161), .{ -1 << 160, -1, 0 }); | ||
| 6618 | try testArgs(@Vector(3, i63), @Vector(3, i161), .{ -1 << 160, -1, 0 }); | ||
| 6619 | try testArgs(@Vector(3, i64), @Vector(3, i161), .{ -1 << 160, -1, 0 }); | ||
| 6620 | try testArgs(@Vector(3, i65), @Vector(3, i161), .{ -1 << 160, -1, 0 }); | ||
| 6621 | try testArgs(@Vector(3, i127), @Vector(3, i161), .{ -1 << 160, -1, 0 }); | ||
| 6622 | try testArgs(@Vector(3, i128), @Vector(3, i161), .{ -1 << 160, -1, 0 }); | ||
| 6623 | try testArgs(@Vector(3, i129), @Vector(3, i161), .{ -1 << 160, -1, 0 }); | ||
| 6624 | try testArgs(@Vector(3, i255), @Vector(3, i161), .{ -1 << 160, -1, 0 }); | ||
| 6625 | try testArgs(@Vector(3, i256), @Vector(3, i161), .{ -1 << 160, -1, 0 }); | ||
| 6626 | try testArgs(@Vector(3, i257), @Vector(3, i161), .{ -1 << 160, -1, 0 }); | ||
| 6627 | try testArgs(@Vector(3, i511), @Vector(3, i161), .{ -1 << 160, -1, 0 }); | ||
| 6628 | try testArgs(@Vector(3, i512), @Vector(3, i161), .{ -1 << 160, -1, 0 }); | ||
| 6629 | try testArgs(@Vector(3, i513), @Vector(3, i161), .{ -1 << 160, -1, 0 }); | ||
| 6630 | try testArgs(@Vector(3, i1023), @Vector(3, i161), .{ -1 << 160, -1, 0 }); | ||
| 6631 | try testArgs(@Vector(3, i1024), @Vector(3, i161), .{ -1 << 160, -1, 0 }); | ||
| 6632 | try testArgs(@Vector(3, i1025), @Vector(3, i161), .{ -1 << 160, -1, 0 }); | ||
| 6633 | try testArgs(@Vector(3, u7), @Vector(3, u161), .{ 0, 1, 1 << 160 }); | ||
| 6634 | try testArgs(@Vector(3, u8), @Vector(3, u161), .{ 0, 1, 1 << 160 }); | ||
| 6635 | try testArgs(@Vector(3, u9), @Vector(3, u161), .{ 0, 1, 1 << 160 }); | ||
| 6636 | try testArgs(@Vector(3, u15), @Vector(3, u161), .{ 0, 1, 1 << 160 }); | ||
| 6637 | try testArgs(@Vector(3, u16), @Vector(3, u161), .{ 0, 1, 1 << 160 }); | ||
| 6638 | try testArgs(@Vector(3, u17), @Vector(3, u161), .{ 0, 1, 1 << 160 }); | ||
| 6639 | try testArgs(@Vector(3, u31), @Vector(3, u161), .{ 0, 1, 1 << 160 }); | ||
| 6640 | try testArgs(@Vector(3, u32), @Vector(3, u161), .{ 0, 1, 1 << 160 }); | ||
| 6641 | try testArgs(@Vector(3, u33), @Vector(3, u161), .{ 0, 1, 1 << 160 }); | ||
| 6642 | try testArgs(@Vector(3, u63), @Vector(3, u161), .{ 0, 1, 1 << 160 }); | ||
| 6643 | try testArgs(@Vector(3, u64), @Vector(3, u161), .{ 0, 1, 1 << 160 }); | ||
| 6644 | try testArgs(@Vector(3, u65), @Vector(3, u161), .{ 0, 1, 1 << 160 }); | ||
| 6645 | try testArgs(@Vector(3, u127), @Vector(3, u161), .{ 0, 1, 1 << 160 }); | ||
| 6646 | try testArgs(@Vector(3, u128), @Vector(3, u161), .{ 0, 1, 1 << 160 }); | ||
| 6647 | try testArgs(@Vector(3, u129), @Vector(3, u161), .{ 0, 1, 1 << 160 }); | ||
| 6648 | try testArgs(@Vector(3, u255), @Vector(3, u161), .{ 0, 1, 1 << 160 }); | ||
| 6649 | try testArgs(@Vector(3, u256), @Vector(3, u161), .{ 0, 1, 1 << 160 }); | ||
| 6650 | try testArgs(@Vector(3, u257), @Vector(3, u161), .{ 0, 1, 1 << 160 }); | ||
| 6651 | try testArgs(@Vector(3, u511), @Vector(3, u161), .{ 0, 1, 1 << 160 }); | ||
| 6652 | try testArgs(@Vector(3, u512), @Vector(3, u161), .{ 0, 1, 1 << 160 }); | ||
| 6653 | try testArgs(@Vector(3, u513), @Vector(3, u161), .{ 0, 1, 1 << 160 }); | ||
| 6654 | try testArgs(@Vector(3, u1023), @Vector(3, u161), .{ 0, 1, 1 << 160 }); | ||
| 6655 | try testArgs(@Vector(3, u1024), @Vector(3, u161), .{ 0, 1, 1 << 160 }); | ||
| 6656 | try testArgs(@Vector(3, u1025), @Vector(3, u161), .{ 0, 1, 1 << 160 }); | ||
| 6657 | |||
| 6658 | try testArgs(@Vector(3, i7), @Vector(3, i191), .{ -1 << 190, -1, 0 }); | ||
| 6659 | try testArgs(@Vector(3, i8), @Vector(3, i191), .{ -1 << 190, -1, 0 }); | ||
| 6660 | try testArgs(@Vector(3, i9), @Vector(3, i191), .{ -1 << 190, -1, 0 }); | ||
| 6661 | try testArgs(@Vector(3, i15), @Vector(3, i191), .{ -1 << 190, -1, 0 }); | ||
| 6662 | try testArgs(@Vector(3, i16), @Vector(3, i191), .{ -1 << 190, -1, 0 }); | ||
| 6663 | try testArgs(@Vector(3, i17), @Vector(3, i191), .{ -1 << 190, -1, 0 }); | ||
| 6664 | try testArgs(@Vector(3, i31), @Vector(3, i191), .{ -1 << 190, -1, 0 }); | ||
| 6665 | try testArgs(@Vector(3, i32), @Vector(3, i191), .{ -1 << 190, -1, 0 }); | ||
| 6666 | try testArgs(@Vector(3, i33), @Vector(3, i191), .{ -1 << 190, -1, 0 }); | ||
| 6667 | try testArgs(@Vector(3, i63), @Vector(3, i191), .{ -1 << 190, -1, 0 }); | ||
| 6668 | try testArgs(@Vector(3, i64), @Vector(3, i191), .{ -1 << 190, -1, 0 }); | ||
| 6669 | try testArgs(@Vector(3, i65), @Vector(3, i191), .{ -1 << 190, -1, 0 }); | ||
| 6670 | try testArgs(@Vector(3, i127), @Vector(3, i191), .{ -1 << 190, -1, 0 }); | ||
| 6671 | try testArgs(@Vector(3, i128), @Vector(3, i191), .{ -1 << 190, -1, 0 }); | ||
| 6672 | try testArgs(@Vector(3, i129), @Vector(3, i191), .{ -1 << 190, -1, 0 }); | ||
| 6673 | try testArgs(@Vector(3, i255), @Vector(3, i191), .{ -1 << 190, -1, 0 }); | ||
| 6674 | try testArgs(@Vector(3, i256), @Vector(3, i191), .{ -1 << 190, -1, 0 }); | ||
| 6675 | try testArgs(@Vector(3, i257), @Vector(3, i191), .{ -1 << 190, -1, 0 }); | ||
| 6676 | try testArgs(@Vector(3, i511), @Vector(3, i191), .{ -1 << 190, -1, 0 }); | ||
| 6677 | try testArgs(@Vector(3, i512), @Vector(3, i191), .{ -1 << 190, -1, 0 }); | ||
| 6678 | try testArgs(@Vector(3, i513), @Vector(3, i191), .{ -1 << 190, -1, 0 }); | ||
| 6679 | try testArgs(@Vector(3, i1023), @Vector(3, i191), .{ -1 << 190, -1, 0 }); | ||
| 6680 | try testArgs(@Vector(3, i1024), @Vector(3, i191), .{ -1 << 190, -1, 0 }); | ||
| 6681 | try testArgs(@Vector(3, i1025), @Vector(3, i191), .{ -1 << 190, -1, 0 }); | ||
| 6682 | try testArgs(@Vector(3, u7), @Vector(3, u191), .{ 0, 1, 1 << 190 }); | ||
| 6683 | try testArgs(@Vector(3, u8), @Vector(3, u191), .{ 0, 1, 1 << 190 }); | ||
| 6684 | try testArgs(@Vector(3, u9), @Vector(3, u191), .{ 0, 1, 1 << 190 }); | ||
| 6685 | try testArgs(@Vector(3, u15), @Vector(3, u191), .{ 0, 1, 1 << 190 }); | ||
| 6686 | try testArgs(@Vector(3, u16), @Vector(3, u191), .{ 0, 1, 1 << 190 }); | ||
| 6687 | try testArgs(@Vector(3, u17), @Vector(3, u191), .{ 0, 1, 1 << 190 }); | ||
| 6688 | try testArgs(@Vector(3, u31), @Vector(3, u191), .{ 0, 1, 1 << 190 }); | ||
| 6689 | try testArgs(@Vector(3, u32), @Vector(3, u191), .{ 0, 1, 1 << 190 }); | ||
| 6690 | try testArgs(@Vector(3, u33), @Vector(3, u191), .{ 0, 1, 1 << 190 }); | ||
| 6691 | try testArgs(@Vector(3, u63), @Vector(3, u191), .{ 0, 1, 1 << 190 }); | ||
| 6692 | try testArgs(@Vector(3, u64), @Vector(3, u191), .{ 0, 1, 1 << 190 }); | ||
| 6693 | try testArgs(@Vector(3, u65), @Vector(3, u191), .{ 0, 1, 1 << 190 }); | ||
| 6694 | try testArgs(@Vector(3, u127), @Vector(3, u191), .{ 0, 1, 1 << 190 }); | ||
| 6695 | try testArgs(@Vector(3, u128), @Vector(3, u191), .{ 0, 1, 1 << 190 }); | ||
| 6696 | try testArgs(@Vector(3, u129), @Vector(3, u191), .{ 0, 1, 1 << 190 }); | ||
| 6697 | try testArgs(@Vector(3, u255), @Vector(3, u191), .{ 0, 1, 1 << 190 }); | ||
| 6698 | try testArgs(@Vector(3, u256), @Vector(3, u191), .{ 0, 1, 1 << 190 }); | ||
| 6699 | try testArgs(@Vector(3, u257), @Vector(3, u191), .{ 0, 1, 1 << 190 }); | ||
| 6700 | try testArgs(@Vector(3, u511), @Vector(3, u191), .{ 0, 1, 1 << 190 }); | ||
| 6701 | try testArgs(@Vector(3, u512), @Vector(3, u191), .{ 0, 1, 1 << 190 }); | ||
| 6702 | try testArgs(@Vector(3, u513), @Vector(3, u191), .{ 0, 1, 1 << 190 }); | ||
| 6703 | try testArgs(@Vector(3, u1023), @Vector(3, u191), .{ 0, 1, 1 << 190 }); | ||
| 6704 | try testArgs(@Vector(3, u1024), @Vector(3, u191), .{ 0, 1, 1 << 190 }); | ||
| 6705 | try testArgs(@Vector(3, u1025), @Vector(3, u191), .{ 0, 1, 1 << 190 }); | ||
| 6706 | |||
| 6707 | try testArgs(@Vector(3, i7), @Vector(3, i192), .{ -1 << 191, -1, 0 }); | ||
| 6708 | try testArgs(@Vector(3, i8), @Vector(3, i192), .{ -1 << 191, -1, 0 }); | ||
| 6709 | try testArgs(@Vector(3, i9), @Vector(3, i192), .{ -1 << 191, -1, 0 }); | ||
| 6710 | try testArgs(@Vector(3, i15), @Vector(3, i192), .{ -1 << 191, -1, 0 }); | ||
| 6711 | try testArgs(@Vector(3, i16), @Vector(3, i192), .{ -1 << 191, -1, 0 }); | ||
| 6712 | try testArgs(@Vector(3, i17), @Vector(3, i192), .{ -1 << 191, -1, 0 }); | ||
| 6713 | try testArgs(@Vector(3, i31), @Vector(3, i192), .{ -1 << 191, -1, 0 }); | ||
| 6714 | try testArgs(@Vector(3, i32), @Vector(3, i192), .{ -1 << 191, -1, 0 }); | ||
| 6715 | try testArgs(@Vector(3, i33), @Vector(3, i192), .{ -1 << 191, -1, 0 }); | ||
| 6716 | try testArgs(@Vector(3, i63), @Vector(3, i192), .{ -1 << 191, -1, 0 }); | ||
| 6717 | try testArgs(@Vector(3, i64), @Vector(3, i192), .{ -1 << 191, -1, 0 }); | ||
| 6718 | try testArgs(@Vector(3, i65), @Vector(3, i192), .{ -1 << 191, -1, 0 }); | ||
| 6719 | try testArgs(@Vector(3, i127), @Vector(3, i192), .{ -1 << 191, -1, 0 }); | ||
| 6720 | try testArgs(@Vector(3, i128), @Vector(3, i192), .{ -1 << 191, -1, 0 }); | ||
| 6721 | try testArgs(@Vector(3, i129), @Vector(3, i192), .{ -1 << 191, -1, 0 }); | ||
| 6722 | try testArgs(@Vector(3, i255), @Vector(3, i192), .{ -1 << 191, -1, 0 }); | ||
| 6723 | try testArgs(@Vector(3, i256), @Vector(3, i192), .{ -1 << 191, -1, 0 }); | ||
| 6724 | try testArgs(@Vector(3, i257), @Vector(3, i192), .{ -1 << 191, -1, 0 }); | ||
| 6725 | try testArgs(@Vector(3, i511), @Vector(3, i192), .{ -1 << 191, -1, 0 }); | ||
| 6726 | try testArgs(@Vector(3, i512), @Vector(3, i192), .{ -1 << 191, -1, 0 }); | ||
| 6727 | try testArgs(@Vector(3, i513), @Vector(3, i192), .{ -1 << 191, -1, 0 }); | ||
| 6728 | try testArgs(@Vector(3, i1023), @Vector(3, i192), .{ -1 << 191, -1, 0 }); | ||
| 6729 | try testArgs(@Vector(3, i1024), @Vector(3, i192), .{ -1 << 191, -1, 0 }); | ||
| 6730 | try testArgs(@Vector(3, i1025), @Vector(3, i192), .{ -1 << 191, -1, 0 }); | ||
| 6731 | try testArgs(@Vector(3, u7), @Vector(3, u192), .{ 0, 1, 1 << 191 }); | ||
| 6732 | try testArgs(@Vector(3, u8), @Vector(3, u192), .{ 0, 1, 1 << 191 }); | ||
| 6733 | try testArgs(@Vector(3, u9), @Vector(3, u192), .{ 0, 1, 1 << 191 }); | ||
| 6734 | try testArgs(@Vector(3, u15), @Vector(3, u192), .{ 0, 1, 1 << 191 }); | ||
| 6735 | try testArgs(@Vector(3, u16), @Vector(3, u192), .{ 0, 1, 1 << 191 }); | ||
| 6736 | try testArgs(@Vector(3, u17), @Vector(3, u192), .{ 0, 1, 1 << 191 }); | ||
| 6737 | try testArgs(@Vector(3, u31), @Vector(3, u192), .{ 0, 1, 1 << 191 }); | ||
| 6738 | try testArgs(@Vector(3, u32), @Vector(3, u192), .{ 0, 1, 1 << 191 }); | ||
| 6739 | try testArgs(@Vector(3, u33), @Vector(3, u192), .{ 0, 1, 1 << 191 }); | ||
| 6740 | try testArgs(@Vector(3, u63), @Vector(3, u192), .{ 0, 1, 1 << 191 }); | ||
| 6741 | try testArgs(@Vector(3, u64), @Vector(3, u192), .{ 0, 1, 1 << 191 }); | ||
| 6742 | try testArgs(@Vector(3, u65), @Vector(3, u192), .{ 0, 1, 1 << 191 }); | ||
| 6743 | try testArgs(@Vector(3, u127), @Vector(3, u192), .{ 0, 1, 1 << 191 }); | ||
| 6744 | try testArgs(@Vector(3, u128), @Vector(3, u192), .{ 0, 1, 1 << 191 }); | ||
| 6745 | try testArgs(@Vector(3, u129), @Vector(3, u192), .{ 0, 1, 1 << 191 }); | ||
| 6746 | try testArgs(@Vector(3, u255), @Vector(3, u192), .{ 0, 1, 1 << 191 }); | ||
| 6747 | try testArgs(@Vector(3, u256), @Vector(3, u192), .{ 0, 1, 1 << 191 }); | ||
| 6748 | try testArgs(@Vector(3, u257), @Vector(3, u192), .{ 0, 1, 1 << 191 }); | ||
| 6749 | try testArgs(@Vector(3, u511), @Vector(3, u192), .{ 0, 1, 1 << 191 }); | ||
| 6750 | try testArgs(@Vector(3, u512), @Vector(3, u192), .{ 0, 1, 1 << 191 }); | ||
| 6751 | try testArgs(@Vector(3, u513), @Vector(3, u192), .{ 0, 1, 1 << 191 }); | ||
| 6752 | try testArgs(@Vector(3, u1023), @Vector(3, u192), .{ 0, 1, 1 << 191 }); | ||
| 6753 | try testArgs(@Vector(3, u1024), @Vector(3, u192), .{ 0, 1, 1 << 191 }); | ||
| 6754 | try testArgs(@Vector(3, u1025), @Vector(3, u192), .{ 0, 1, 1 << 191 }); | ||
| 6755 | |||
| 6756 | try testArgs(@Vector(3, i7), @Vector(3, i193), .{ -1 << 192, -1, 0 }); | ||
| 6757 | try testArgs(@Vector(3, i8), @Vector(3, i193), .{ -1 << 192, -1, 0 }); | ||
| 6758 | try testArgs(@Vector(3, i9), @Vector(3, i193), .{ -1 << 192, -1, 0 }); | ||
| 6759 | try testArgs(@Vector(3, i15), @Vector(3, i193), .{ -1 << 192, -1, 0 }); | ||
| 6760 | try testArgs(@Vector(3, i16), @Vector(3, i193), .{ -1 << 192, -1, 0 }); | ||
| 6761 | try testArgs(@Vector(3, i17), @Vector(3, i193), .{ -1 << 192, -1, 0 }); | ||
| 6762 | try testArgs(@Vector(3, i31), @Vector(3, i193), .{ -1 << 192, -1, 0 }); | ||
| 6763 | try testArgs(@Vector(3, i32), @Vector(3, i193), .{ -1 << 192, -1, 0 }); | ||
| 6764 | try testArgs(@Vector(3, i33), @Vector(3, i193), .{ -1 << 192, -1, 0 }); | ||
| 6765 | try testArgs(@Vector(3, i63), @Vector(3, i193), .{ -1 << 192, -1, 0 }); | ||
| 6766 | try testArgs(@Vector(3, i64), @Vector(3, i193), .{ -1 << 192, -1, 0 }); | ||
| 6767 | try testArgs(@Vector(3, i65), @Vector(3, i193), .{ -1 << 192, -1, 0 }); | ||
| 6768 | try testArgs(@Vector(3, i127), @Vector(3, i193), .{ -1 << 192, -1, 0 }); | ||
| 6769 | try testArgs(@Vector(3, i128), @Vector(3, i193), .{ -1 << 192, -1, 0 }); | ||
| 6770 | try testArgs(@Vector(3, i129), @Vector(3, i193), .{ -1 << 192, -1, 0 }); | ||
| 6771 | try testArgs(@Vector(3, i255), @Vector(3, i193), .{ -1 << 192, -1, 0 }); | ||
| 6772 | try testArgs(@Vector(3, i256), @Vector(3, i193), .{ -1 << 192, -1, 0 }); | ||
| 6773 | try testArgs(@Vector(3, i257), @Vector(3, i193), .{ -1 << 192, -1, 0 }); | ||
| 6774 | try testArgs(@Vector(3, i511), @Vector(3, i193), .{ -1 << 192, -1, 0 }); | ||
| 6775 | try testArgs(@Vector(3, i512), @Vector(3, i193), .{ -1 << 192, -1, 0 }); | ||
| 6776 | try testArgs(@Vector(3, i513), @Vector(3, i193), .{ -1 << 192, -1, 0 }); | ||
| 6777 | try testArgs(@Vector(3, i1023), @Vector(3, i193), .{ -1 << 192, -1, 0 }); | ||
| 6778 | try testArgs(@Vector(3, i1024), @Vector(3, i193), .{ -1 << 192, -1, 0 }); | ||
| 6779 | try testArgs(@Vector(3, i1025), @Vector(3, i193), .{ -1 << 192, -1, 0 }); | ||
| 6780 | try testArgs(@Vector(3, u7), @Vector(3, u193), .{ 0, 1, 1 << 192 }); | ||
| 6781 | try testArgs(@Vector(3, u8), @Vector(3, u193), .{ 0, 1, 1 << 192 }); | ||
| 6782 | try testArgs(@Vector(3, u9), @Vector(3, u193), .{ 0, 1, 1 << 192 }); | ||
| 6783 | try testArgs(@Vector(3, u15), @Vector(3, u193), .{ 0, 1, 1 << 192 }); | ||
| 6784 | try testArgs(@Vector(3, u16), @Vector(3, u193), .{ 0, 1, 1 << 192 }); | ||
| 6785 | try testArgs(@Vector(3, u17), @Vector(3, u193), .{ 0, 1, 1 << 192 }); | ||
| 6786 | try testArgs(@Vector(3, u31), @Vector(3, u193), .{ 0, 1, 1 << 192 }); | ||
| 6787 | try testArgs(@Vector(3, u32), @Vector(3, u193), .{ 0, 1, 1 << 192 }); | ||
| 6788 | try testArgs(@Vector(3, u33), @Vector(3, u193), .{ 0, 1, 1 << 192 }); | ||
| 6789 | try testArgs(@Vector(3, u63), @Vector(3, u193), .{ 0, 1, 1 << 192 }); | ||
| 6790 | try testArgs(@Vector(3, u64), @Vector(3, u193), .{ 0, 1, 1 << 192 }); | ||
| 6791 | try testArgs(@Vector(3, u65), @Vector(3, u193), .{ 0, 1, 1 << 192 }); | ||
| 6792 | try testArgs(@Vector(3, u127), @Vector(3, u193), .{ 0, 1, 1 << 192 }); | ||
| 6793 | try testArgs(@Vector(3, u128), @Vector(3, u193), .{ 0, 1, 1 << 192 }); | ||
| 6794 | try testArgs(@Vector(3, u129), @Vector(3, u193), .{ 0, 1, 1 << 192 }); | ||
| 6795 | try testArgs(@Vector(3, u255), @Vector(3, u193), .{ 0, 1, 1 << 192 }); | ||
| 6796 | try testArgs(@Vector(3, u256), @Vector(3, u193), .{ 0, 1, 1 << 192 }); | ||
| 6797 | try testArgs(@Vector(3, u257), @Vector(3, u193), .{ 0, 1, 1 << 192 }); | ||
| 6798 | try testArgs(@Vector(3, u511), @Vector(3, u193), .{ 0, 1, 1 << 192 }); | ||
| 6799 | try testArgs(@Vector(3, u512), @Vector(3, u193), .{ 0, 1, 1 << 192 }); | ||
| 6800 | try testArgs(@Vector(3, u513), @Vector(3, u193), .{ 0, 1, 1 << 192 }); | ||
| 6801 | try testArgs(@Vector(3, u1023), @Vector(3, u193), .{ 0, 1, 1 << 192 }); | ||
| 6802 | try testArgs(@Vector(3, u1024), @Vector(3, u193), .{ 0, 1, 1 << 192 }); | ||
| 6803 | try testArgs(@Vector(3, u1025), @Vector(3, u193), .{ 0, 1, 1 << 192 }); | ||
| 6804 | |||
| 6805 | try testArgs(@Vector(3, i7), @Vector(3, i223), .{ -1 << 222, -1, 0 }); | ||
| 6806 | try testArgs(@Vector(3, i8), @Vector(3, i223), .{ -1 << 222, -1, 0 }); | ||
| 6807 | try testArgs(@Vector(3, i9), @Vector(3, i223), .{ -1 << 222, -1, 0 }); | ||
| 6808 | try testArgs(@Vector(3, i15), @Vector(3, i223), .{ -1 << 222, -1, 0 }); | ||
| 6809 | try testArgs(@Vector(3, i16), @Vector(3, i223), .{ -1 << 222, -1, 0 }); | ||
| 6810 | try testArgs(@Vector(3, i17), @Vector(3, i223), .{ -1 << 222, -1, 0 }); | ||
| 6811 | try testArgs(@Vector(3, i31), @Vector(3, i223), .{ -1 << 222, -1, 0 }); | ||
| 6812 | try testArgs(@Vector(3, i32), @Vector(3, i223), .{ -1 << 222, -1, 0 }); | ||
| 6813 | try testArgs(@Vector(3, i33), @Vector(3, i223), .{ -1 << 222, -1, 0 }); | ||
| 6814 | try testArgs(@Vector(3, i63), @Vector(3, i223), .{ -1 << 222, -1, 0 }); | ||
| 6815 | try testArgs(@Vector(3, i64), @Vector(3, i223), .{ -1 << 222, -1, 0 }); | ||
| 6816 | try testArgs(@Vector(3, i65), @Vector(3, i223), .{ -1 << 222, -1, 0 }); | ||
| 6817 | try testArgs(@Vector(3, i127), @Vector(3, i223), .{ -1 << 222, -1, 0 }); | ||
| 6818 | try testArgs(@Vector(3, i128), @Vector(3, i223), .{ -1 << 222, -1, 0 }); | ||
| 6819 | try testArgs(@Vector(3, i129), @Vector(3, i223), .{ -1 << 222, -1, 0 }); | ||
| 6820 | try testArgs(@Vector(3, i255), @Vector(3, i223), .{ -1 << 222, -1, 0 }); | ||
| 6821 | try testArgs(@Vector(3, i256), @Vector(3, i223), .{ -1 << 222, -1, 0 }); | ||
| 6822 | try testArgs(@Vector(3, i257), @Vector(3, i223), .{ -1 << 222, -1, 0 }); | ||
| 6823 | try testArgs(@Vector(3, i511), @Vector(3, i223), .{ -1 << 222, -1, 0 }); | ||
| 6824 | try testArgs(@Vector(3, i512), @Vector(3, i223), .{ -1 << 222, -1, 0 }); | ||
| 6825 | try testArgs(@Vector(3, i513), @Vector(3, i223), .{ -1 << 222, -1, 0 }); | ||
| 6826 | try testArgs(@Vector(3, i1023), @Vector(3, i223), .{ -1 << 222, -1, 0 }); | ||
| 6827 | try testArgs(@Vector(3, i1024), @Vector(3, i223), .{ -1 << 222, -1, 0 }); | ||
| 6828 | try testArgs(@Vector(3, i1025), @Vector(3, i223), .{ -1 << 222, -1, 0 }); | ||
| 6829 | try testArgs(@Vector(3, u7), @Vector(3, u223), .{ 0, 1, 1 << 222 }); | ||
| 6830 | try testArgs(@Vector(3, u8), @Vector(3, u223), .{ 0, 1, 1 << 222 }); | ||
| 6831 | try testArgs(@Vector(3, u9), @Vector(3, u223), .{ 0, 1, 1 << 222 }); | ||
| 6832 | try testArgs(@Vector(3, u15), @Vector(3, u223), .{ 0, 1, 1 << 222 }); | ||
| 6833 | try testArgs(@Vector(3, u16), @Vector(3, u223), .{ 0, 1, 1 << 222 }); | ||
| 6834 | try testArgs(@Vector(3, u17), @Vector(3, u223), .{ 0, 1, 1 << 222 }); | ||
| 6835 | try testArgs(@Vector(3, u31), @Vector(3, u223), .{ 0, 1, 1 << 222 }); | ||
| 6836 | try testArgs(@Vector(3, u32), @Vector(3, u223), .{ 0, 1, 1 << 222 }); | ||
| 6837 | try testArgs(@Vector(3, u33), @Vector(3, u223), .{ 0, 1, 1 << 222 }); | ||
| 6838 | try testArgs(@Vector(3, u63), @Vector(3, u223), .{ 0, 1, 1 << 222 }); | ||
| 6839 | try testArgs(@Vector(3, u64), @Vector(3, u223), .{ 0, 1, 1 << 222 }); | ||
| 6840 | try testArgs(@Vector(3, u65), @Vector(3, u223), .{ 0, 1, 1 << 222 }); | ||
| 6841 | try testArgs(@Vector(3, u127), @Vector(3, u223), .{ 0, 1, 1 << 222 }); | ||
| 6842 | try testArgs(@Vector(3, u128), @Vector(3, u223), .{ 0, 1, 1 << 222 }); | ||
| 6843 | try testArgs(@Vector(3, u129), @Vector(3, u223), .{ 0, 1, 1 << 222 }); | ||
| 6844 | try testArgs(@Vector(3, u255), @Vector(3, u223), .{ 0, 1, 1 << 222 }); | ||
| 6845 | try testArgs(@Vector(3, u256), @Vector(3, u223), .{ 0, 1, 1 << 222 }); | ||
| 6846 | try testArgs(@Vector(3, u257), @Vector(3, u223), .{ 0, 1, 1 << 222 }); | ||
| 6847 | try testArgs(@Vector(3, u511), @Vector(3, u223), .{ 0, 1, 1 << 222 }); | ||
| 6848 | try testArgs(@Vector(3, u512), @Vector(3, u223), .{ 0, 1, 1 << 222 }); | ||
| 6849 | try testArgs(@Vector(3, u513), @Vector(3, u223), .{ 0, 1, 1 << 222 }); | ||
| 6850 | try testArgs(@Vector(3, u1023), @Vector(3, u223), .{ 0, 1, 1 << 222 }); | ||
| 6851 | try testArgs(@Vector(3, u1024), @Vector(3, u223), .{ 0, 1, 1 << 222 }); | ||
| 6852 | try testArgs(@Vector(3, u1025), @Vector(3, u223), .{ 0, 1, 1 << 222 }); | ||
| 6853 | |||
| 6854 | try testArgs(@Vector(3, i7), @Vector(3, i224), .{ -1 << 223, -1, 0 }); | ||
| 6855 | try testArgs(@Vector(3, i8), @Vector(3, i224), .{ -1 << 223, -1, 0 }); | ||
| 6856 | try testArgs(@Vector(3, i9), @Vector(3, i224), .{ -1 << 223, -1, 0 }); | ||
| 6857 | try testArgs(@Vector(3, i15), @Vector(3, i224), .{ -1 << 223, -1, 0 }); | ||
| 6858 | try testArgs(@Vector(3, i16), @Vector(3, i224), .{ -1 << 223, -1, 0 }); | ||
| 6859 | try testArgs(@Vector(3, i17), @Vector(3, i224), .{ -1 << 223, -1, 0 }); | ||
| 6860 | try testArgs(@Vector(3, i31), @Vector(3, i224), .{ -1 << 223, -1, 0 }); | ||
| 6861 | try testArgs(@Vector(3, i32), @Vector(3, i224), .{ -1 << 223, -1, 0 }); | ||
| 6862 | try testArgs(@Vector(3, i33), @Vector(3, i224), .{ -1 << 223, -1, 0 }); | ||
| 6863 | try testArgs(@Vector(3, i63), @Vector(3, i224), .{ -1 << 223, -1, 0 }); | ||
| 6864 | try testArgs(@Vector(3, i64), @Vector(3, i224), .{ -1 << 223, -1, 0 }); | ||
| 6865 | try testArgs(@Vector(3, i65), @Vector(3, i224), .{ -1 << 223, -1, 0 }); | ||
| 6866 | try testArgs(@Vector(3, i127), @Vector(3, i224), .{ -1 << 223, -1, 0 }); | ||
| 6867 | try testArgs(@Vector(3, i128), @Vector(3, i224), .{ -1 << 223, -1, 0 }); | ||
| 6868 | try testArgs(@Vector(3, i129), @Vector(3, i224), .{ -1 << 223, -1, 0 }); | ||
| 6869 | try testArgs(@Vector(3, i255), @Vector(3, i224), .{ -1 << 223, -1, 0 }); | ||
| 6870 | try testArgs(@Vector(3, i256), @Vector(3, i224), .{ -1 << 223, -1, 0 }); | ||
| 6871 | try testArgs(@Vector(3, i257), @Vector(3, i224), .{ -1 << 223, -1, 0 }); | ||
| 6872 | try testArgs(@Vector(3, i511), @Vector(3, i224), .{ -1 << 223, -1, 0 }); | ||
| 6873 | try testArgs(@Vector(3, i512), @Vector(3, i224), .{ -1 << 223, -1, 0 }); | ||
| 6874 | try testArgs(@Vector(3, i513), @Vector(3, i224), .{ -1 << 223, -1, 0 }); | ||
| 6875 | try testArgs(@Vector(3, i1023), @Vector(3, i224), .{ -1 << 223, -1, 0 }); | ||
| 6876 | try testArgs(@Vector(3, i1024), @Vector(3, i224), .{ -1 << 223, -1, 0 }); | ||
| 6877 | try testArgs(@Vector(3, i1025), @Vector(3, i224), .{ -1 << 223, -1, 0 }); | ||
| 6878 | try testArgs(@Vector(3, u7), @Vector(3, u224), .{ 0, 1, 1 << 223 }); | ||
| 6879 | try testArgs(@Vector(3, u8), @Vector(3, u224), .{ 0, 1, 1 << 223 }); | ||
| 6880 | try testArgs(@Vector(3, u9), @Vector(3, u224), .{ 0, 1, 1 << 223 }); | ||
| 6881 | try testArgs(@Vector(3, u15), @Vector(3, u224), .{ 0, 1, 1 << 223 }); | ||
| 6882 | try testArgs(@Vector(3, u16), @Vector(3, u224), .{ 0, 1, 1 << 223 }); | ||
| 6883 | try testArgs(@Vector(3, u17), @Vector(3, u224), .{ 0, 1, 1 << 223 }); | ||
| 6884 | try testArgs(@Vector(3, u31), @Vector(3, u224), .{ 0, 1, 1 << 223 }); | ||
| 6885 | try testArgs(@Vector(3, u32), @Vector(3, u224), .{ 0, 1, 1 << 223 }); | ||
| 6886 | try testArgs(@Vector(3, u33), @Vector(3, u224), .{ 0, 1, 1 << 223 }); | ||
| 6887 | try testArgs(@Vector(3, u63), @Vector(3, u224), .{ 0, 1, 1 << 223 }); | ||
| 6888 | try testArgs(@Vector(3, u64), @Vector(3, u224), .{ 0, 1, 1 << 223 }); | ||
| 6889 | try testArgs(@Vector(3, u65), @Vector(3, u224), .{ 0, 1, 1 << 223 }); | ||
| 6890 | try testArgs(@Vector(3, u127), @Vector(3, u224), .{ 0, 1, 1 << 223 }); | ||
| 6891 | try testArgs(@Vector(3, u128), @Vector(3, u224), .{ 0, 1, 1 << 223 }); | ||
| 6892 | try testArgs(@Vector(3, u129), @Vector(3, u224), .{ 0, 1, 1 << 223 }); | ||
| 6893 | try testArgs(@Vector(3, u255), @Vector(3, u224), .{ 0, 1, 1 << 223 }); | ||
| 6894 | try testArgs(@Vector(3, u256), @Vector(3, u224), .{ 0, 1, 1 << 223 }); | ||
| 6895 | try testArgs(@Vector(3, u257), @Vector(3, u224), .{ 0, 1, 1 << 223 }); | ||
| 6896 | try testArgs(@Vector(3, u511), @Vector(3, u224), .{ 0, 1, 1 << 223 }); | ||
| 6897 | try testArgs(@Vector(3, u512), @Vector(3, u224), .{ 0, 1, 1 << 223 }); | ||
| 6898 | try testArgs(@Vector(3, u513), @Vector(3, u224), .{ 0, 1, 1 << 223 }); | ||
| 6899 | try testArgs(@Vector(3, u1023), @Vector(3, u224), .{ 0, 1, 1 << 223 }); | ||
| 6900 | try testArgs(@Vector(3, u1024), @Vector(3, u224), .{ 0, 1, 1 << 223 }); | ||
| 6901 | try testArgs(@Vector(3, u1025), @Vector(3, u224), .{ 0, 1, 1 << 223 }); | ||
| 6902 | |||
| 6903 | try testArgs(@Vector(3, i7), @Vector(3, i225), .{ -1 << 224, -1, 0 }); | ||
| 6904 | try testArgs(@Vector(3, i8), @Vector(3, i225), .{ -1 << 224, -1, 0 }); | ||
| 6905 | try testArgs(@Vector(3, i9), @Vector(3, i225), .{ -1 << 224, -1, 0 }); | ||
| 6906 | try testArgs(@Vector(3, i15), @Vector(3, i225), .{ -1 << 224, -1, 0 }); | ||
| 6907 | try testArgs(@Vector(3, i16), @Vector(3, i225), .{ -1 << 224, -1, 0 }); | ||
| 6908 | try testArgs(@Vector(3, i17), @Vector(3, i225), .{ -1 << 224, -1, 0 }); | ||
| 6909 | try testArgs(@Vector(3, i31), @Vector(3, i225), .{ -1 << 224, -1, 0 }); | ||
| 6910 | try testArgs(@Vector(3, i32), @Vector(3, i225), .{ -1 << 224, -1, 0 }); | ||
| 6911 | try testArgs(@Vector(3, i33), @Vector(3, i225), .{ -1 << 224, -1, 0 }); | ||
| 6912 | try testArgs(@Vector(3, i63), @Vector(3, i225), .{ -1 << 224, -1, 0 }); | ||
| 6913 | try testArgs(@Vector(3, i64), @Vector(3, i225), .{ -1 << 224, -1, 0 }); | ||
| 6914 | try testArgs(@Vector(3, i65), @Vector(3, i225), .{ -1 << 224, -1, 0 }); | ||
| 6915 | try testArgs(@Vector(3, i127), @Vector(3, i225), .{ -1 << 224, -1, 0 }); | ||
| 6916 | try testArgs(@Vector(3, i128), @Vector(3, i225), .{ -1 << 224, -1, 0 }); | ||
| 6917 | try testArgs(@Vector(3, i129), @Vector(3, i225), .{ -1 << 224, -1, 0 }); | ||
| 6918 | try testArgs(@Vector(3, i255), @Vector(3, i225), .{ -1 << 224, -1, 0 }); | ||
| 6919 | try testArgs(@Vector(3, i256), @Vector(3, i225), .{ -1 << 224, -1, 0 }); | ||
| 6920 | try testArgs(@Vector(3, i257), @Vector(3, i225), .{ -1 << 224, -1, 0 }); | ||
| 6921 | try testArgs(@Vector(3, i511), @Vector(3, i225), .{ -1 << 224, -1, 0 }); | ||
| 6922 | try testArgs(@Vector(3, i512), @Vector(3, i225), .{ -1 << 224, -1, 0 }); | ||
| 6923 | try testArgs(@Vector(3, i513), @Vector(3, i225), .{ -1 << 224, -1, 0 }); | ||
| 6924 | try testArgs(@Vector(3, i1023), @Vector(3, i225), .{ -1 << 224, -1, 0 }); | ||
| 6925 | try testArgs(@Vector(3, i1024), @Vector(3, i225), .{ -1 << 224, -1, 0 }); | ||
| 6926 | try testArgs(@Vector(3, i1025), @Vector(3, i225), .{ -1 << 224, -1, 0 }); | ||
| 6927 | try testArgs(@Vector(3, u7), @Vector(3, u225), .{ 0, 1, 1 << 224 }); | ||
| 6928 | try testArgs(@Vector(3, u8), @Vector(3, u225), .{ 0, 1, 1 << 224 }); | ||
| 6929 | try testArgs(@Vector(3, u9), @Vector(3, u225), .{ 0, 1, 1 << 224 }); | ||
| 6930 | try testArgs(@Vector(3, u15), @Vector(3, u225), .{ 0, 1, 1 << 224 }); | ||
| 6931 | try testArgs(@Vector(3, u16), @Vector(3, u225), .{ 0, 1, 1 << 224 }); | ||
| 6932 | try testArgs(@Vector(3, u17), @Vector(3, u225), .{ 0, 1, 1 << 224 }); | ||
| 6933 | try testArgs(@Vector(3, u31), @Vector(3, u225), .{ 0, 1, 1 << 224 }); | ||
| 6934 | try testArgs(@Vector(3, u32), @Vector(3, u225), .{ 0, 1, 1 << 224 }); | ||
| 6935 | try testArgs(@Vector(3, u33), @Vector(3, u225), .{ 0, 1, 1 << 224 }); | ||
| 6936 | try testArgs(@Vector(3, u63), @Vector(3, u225), .{ 0, 1, 1 << 224 }); | ||
| 6937 | try testArgs(@Vector(3, u64), @Vector(3, u225), .{ 0, 1, 1 << 224 }); | ||
| 6938 | try testArgs(@Vector(3, u65), @Vector(3, u225), .{ 0, 1, 1 << 224 }); | ||
| 6939 | try testArgs(@Vector(3, u127), @Vector(3, u225), .{ 0, 1, 1 << 224 }); | ||
| 6940 | try testArgs(@Vector(3, u128), @Vector(3, u225), .{ 0, 1, 1 << 224 }); | ||
| 6941 | try testArgs(@Vector(3, u129), @Vector(3, u225), .{ 0, 1, 1 << 224 }); | ||
| 6942 | try testArgs(@Vector(3, u255), @Vector(3, u225), .{ 0, 1, 1 << 224 }); | ||
| 6943 | try testArgs(@Vector(3, u256), @Vector(3, u225), .{ 0, 1, 1 << 224 }); | ||
| 6944 | try testArgs(@Vector(3, u257), @Vector(3, u225), .{ 0, 1, 1 << 224 }); | ||
| 6945 | try testArgs(@Vector(3, u511), @Vector(3, u225), .{ 0, 1, 1 << 224 }); | ||
| 6946 | try testArgs(@Vector(3, u512), @Vector(3, u225), .{ 0, 1, 1 << 224 }); | ||
| 6947 | try testArgs(@Vector(3, u513), @Vector(3, u225), .{ 0, 1, 1 << 224 }); | ||
| 6948 | try testArgs(@Vector(3, u1023), @Vector(3, u225), .{ 0, 1, 1 << 224 }); | ||
| 6949 | try testArgs(@Vector(3, u1024), @Vector(3, u225), .{ 0, 1, 1 << 224 }); | ||
| 6950 | try testArgs(@Vector(3, u1025), @Vector(3, u225), .{ 0, 1, 1 << 224 }); | ||
| 6951 | |||
| 6952 | try testArgs(@Vector(3, i7), @Vector(3, i255), .{ -1 << 254, -1, 0 }); | ||
| 6953 | try testArgs(@Vector(3, i8), @Vector(3, i255), .{ -1 << 254, -1, 0 }); | ||
| 6954 | try testArgs(@Vector(3, i9), @Vector(3, i255), .{ -1 << 254, -1, 0 }); | ||
| 6955 | try testArgs(@Vector(3, i15), @Vector(3, i255), .{ -1 << 254, -1, 0 }); | ||
| 6956 | try testArgs(@Vector(3, i16), @Vector(3, i255), .{ -1 << 254, -1, 0 }); | ||
| 6957 | try testArgs(@Vector(3, i17), @Vector(3, i255), .{ -1 << 254, -1, 0 }); | ||
| 6958 | try testArgs(@Vector(3, i31), @Vector(3, i255), .{ -1 << 254, -1, 0 }); | ||
| 6959 | try testArgs(@Vector(3, i32), @Vector(3, i255), .{ -1 << 254, -1, 0 }); | ||
| 6960 | try testArgs(@Vector(3, i33), @Vector(3, i255), .{ -1 << 254, -1, 0 }); | ||
| 6961 | try testArgs(@Vector(3, i63), @Vector(3, i255), .{ -1 << 254, -1, 0 }); | ||
| 6962 | try testArgs(@Vector(3, i64), @Vector(3, i255), .{ -1 << 254, -1, 0 }); | ||
| 6963 | try testArgs(@Vector(3, i65), @Vector(3, i255), .{ -1 << 254, -1, 0 }); | ||
| 6964 | try testArgs(@Vector(3, i127), @Vector(3, i255), .{ -1 << 254, -1, 0 }); | ||
| 6965 | try testArgs(@Vector(3, i128), @Vector(3, i255), .{ -1 << 254, -1, 0 }); | ||
| 6966 | try testArgs(@Vector(3, i129), @Vector(3, i255), .{ -1 << 254, -1, 0 }); | ||
| 6967 | try testArgs(@Vector(3, i255), @Vector(3, i255), .{ -1 << 254, -1, 0 }); | ||
| 6968 | try testArgs(@Vector(3, i256), @Vector(3, i255), .{ -1 << 254, -1, 0 }); | ||
| 6969 | try testArgs(@Vector(3, i257), @Vector(3, i255), .{ -1 << 254, -1, 0 }); | ||
| 6970 | try testArgs(@Vector(3, i511), @Vector(3, i255), .{ -1 << 254, -1, 0 }); | ||
| 6971 | try testArgs(@Vector(3, i512), @Vector(3, i255), .{ -1 << 254, -1, 0 }); | ||
| 6972 | try testArgs(@Vector(3, i513), @Vector(3, i255), .{ -1 << 254, -1, 0 }); | ||
| 6973 | try testArgs(@Vector(3, i1023), @Vector(3, i255), .{ -1 << 254, -1, 0 }); | ||
| 6974 | try testArgs(@Vector(3, i1024), @Vector(3, i255), .{ -1 << 254, -1, 0 }); | ||
| 6975 | try testArgs(@Vector(3, i1025), @Vector(3, i255), .{ -1 << 254, -1, 0 }); | ||
| 6976 | try testArgs(@Vector(3, u7), @Vector(3, u255), .{ 0, 1, 1 << 254 }); | ||
| 6977 | try testArgs(@Vector(3, u8), @Vector(3, u255), .{ 0, 1, 1 << 254 }); | ||
| 6978 | try testArgs(@Vector(3, u9), @Vector(3, u255), .{ 0, 1, 1 << 254 }); | ||
| 6979 | try testArgs(@Vector(3, u15), @Vector(3, u255), .{ 0, 1, 1 << 254 }); | ||
| 6980 | try testArgs(@Vector(3, u16), @Vector(3, u255), .{ 0, 1, 1 << 254 }); | ||
| 6981 | try testArgs(@Vector(3, u17), @Vector(3, u255), .{ 0, 1, 1 << 254 }); | ||
| 6982 | try testArgs(@Vector(3, u31), @Vector(3, u255), .{ 0, 1, 1 << 254 }); | ||
| 6983 | try testArgs(@Vector(3, u32), @Vector(3, u255), .{ 0, 1, 1 << 254 }); | ||
| 6984 | try testArgs(@Vector(3, u33), @Vector(3, u255), .{ 0, 1, 1 << 254 }); | ||
| 6985 | try testArgs(@Vector(3, u63), @Vector(3, u255), .{ 0, 1, 1 << 254 }); | ||
| 6986 | try testArgs(@Vector(3, u64), @Vector(3, u255), .{ 0, 1, 1 << 254 }); | ||
| 6987 | try testArgs(@Vector(3, u65), @Vector(3, u255), .{ 0, 1, 1 << 254 }); | ||
| 6988 | try testArgs(@Vector(3, u127), @Vector(3, u255), .{ 0, 1, 1 << 254 }); | ||
| 6989 | try testArgs(@Vector(3, u128), @Vector(3, u255), .{ 0, 1, 1 << 254 }); | ||
| 6990 | try testArgs(@Vector(3, u129), @Vector(3, u255), .{ 0, 1, 1 << 254 }); | ||
| 6991 | try testArgs(@Vector(3, u255), @Vector(3, u255), .{ 0, 1, 1 << 254 }); | ||
| 6992 | try testArgs(@Vector(3, u256), @Vector(3, u255), .{ 0, 1, 1 << 254 }); | ||
| 6993 | try testArgs(@Vector(3, u257), @Vector(3, u255), .{ 0, 1, 1 << 254 }); | ||
| 6994 | try testArgs(@Vector(3, u511), @Vector(3, u255), .{ 0, 1, 1 << 254 }); | ||
| 6995 | try testArgs(@Vector(3, u512), @Vector(3, u255), .{ 0, 1, 1 << 254 }); | ||
| 6996 | try testArgs(@Vector(3, u513), @Vector(3, u255), .{ 0, 1, 1 << 254 }); | ||
| 6997 | try testArgs(@Vector(3, u1023), @Vector(3, u255), .{ 0, 1, 1 << 254 }); | ||
| 6998 | try testArgs(@Vector(3, u1024), @Vector(3, u255), .{ 0, 1, 1 << 254 }); | ||
| 6999 | try testArgs(@Vector(3, u1025), @Vector(3, u255), .{ 0, 1, 1 << 254 }); | ||
| 7000 | |||
| 7001 | try testArgs(@Vector(3, i7), @Vector(3, i256), .{ -1 << 255, -1, 0 }); | ||
| 7002 | try testArgs(@Vector(3, i8), @Vector(3, i256), .{ -1 << 255, -1, 0 }); | ||
| 7003 | try testArgs(@Vector(3, i9), @Vector(3, i256), .{ -1 << 255, -1, 0 }); | ||
| 7004 | try testArgs(@Vector(3, i15), @Vector(3, i256), .{ -1 << 255, -1, 0 }); | ||
| 7005 | try testArgs(@Vector(3, i16), @Vector(3, i256), .{ -1 << 255, -1, 0 }); | ||
| 7006 | try testArgs(@Vector(3, i17), @Vector(3, i256), .{ -1 << 255, -1, 0 }); | ||
| 7007 | try testArgs(@Vector(3, i31), @Vector(3, i256), .{ -1 << 255, -1, 0 }); | ||
| 7008 | try testArgs(@Vector(3, i32), @Vector(3, i256), .{ -1 << 255, -1, 0 }); | ||
| 7009 | try testArgs(@Vector(3, i33), @Vector(3, i256), .{ -1 << 255, -1, 0 }); | ||
| 7010 | try testArgs(@Vector(3, i63), @Vector(3, i256), .{ -1 << 255, -1, 0 }); | ||
| 7011 | try testArgs(@Vector(3, i64), @Vector(3, i256), .{ -1 << 255, -1, 0 }); | ||
| 7012 | try testArgs(@Vector(3, i65), @Vector(3, i256), .{ -1 << 255, -1, 0 }); | ||
| 7013 | try testArgs(@Vector(3, i127), @Vector(3, i256), .{ -1 << 255, -1, 0 }); | ||
| 7014 | try testArgs(@Vector(3, i128), @Vector(3, i256), .{ -1 << 255, -1, 0 }); | ||
| 7015 | try testArgs(@Vector(3, i129), @Vector(3, i256), .{ -1 << 255, -1, 0 }); | ||
| 7016 | try testArgs(@Vector(3, i255), @Vector(3, i256), .{ -1 << 255, -1, 0 }); | ||
| 7017 | try testArgs(@Vector(3, i256), @Vector(3, i256), .{ -1 << 255, -1, 0 }); | ||
| 7018 | try testArgs(@Vector(3, i257), @Vector(3, i256), .{ -1 << 255, -1, 0 }); | ||
| 7019 | try testArgs(@Vector(3, i511), @Vector(3, i256), .{ -1 << 255, -1, 0 }); | ||
| 7020 | try testArgs(@Vector(3, i512), @Vector(3, i256), .{ -1 << 255, -1, 0 }); | ||
| 7021 | try testArgs(@Vector(3, i513), @Vector(3, i256), .{ -1 << 255, -1, 0 }); | ||
| 7022 | try testArgs(@Vector(3, i1023), @Vector(3, i256), .{ -1 << 255, -1, 0 }); | ||
| 7023 | try testArgs(@Vector(3, i1024), @Vector(3, i256), .{ -1 << 255, -1, 0 }); | ||
| 7024 | try testArgs(@Vector(3, i1025), @Vector(3, i256), .{ -1 << 255, -1, 0 }); | ||
| 7025 | try testArgs(@Vector(3, u7), @Vector(3, u256), .{ 0, 1, 1 << 255 }); | ||
| 7026 | try testArgs(@Vector(3, u8), @Vector(3, u256), .{ 0, 1, 1 << 255 }); | ||
| 7027 | try testArgs(@Vector(3, u9), @Vector(3, u256), .{ 0, 1, 1 << 255 }); | ||
| 7028 | try testArgs(@Vector(3, u15), @Vector(3, u256), .{ 0, 1, 1 << 255 }); | ||
| 7029 | try testArgs(@Vector(3, u16), @Vector(3, u256), .{ 0, 1, 1 << 255 }); | ||
| 7030 | try testArgs(@Vector(3, u17), @Vector(3, u256), .{ 0, 1, 1 << 255 }); | ||
| 7031 | try testArgs(@Vector(3, u31), @Vector(3, u256), .{ 0, 1, 1 << 255 }); | ||
| 7032 | try testArgs(@Vector(3, u32), @Vector(3, u256), .{ 0, 1, 1 << 255 }); | ||
| 7033 | try testArgs(@Vector(3, u33), @Vector(3, u256), .{ 0, 1, 1 << 255 }); | ||
| 7034 | try testArgs(@Vector(3, u63), @Vector(3, u256), .{ 0, 1, 1 << 255 }); | ||
| 7035 | try testArgs(@Vector(3, u64), @Vector(3, u256), .{ 0, 1, 1 << 255 }); | ||
| 7036 | try testArgs(@Vector(3, u65), @Vector(3, u256), .{ 0, 1, 1 << 255 }); | ||
| 7037 | try testArgs(@Vector(3, u127), @Vector(3, u256), .{ 0, 1, 1 << 255 }); | ||
| 7038 | try testArgs(@Vector(3, u128), @Vector(3, u256), .{ 0, 1, 1 << 255 }); | ||
| 7039 | try testArgs(@Vector(3, u129), @Vector(3, u256), .{ 0, 1, 1 << 255 }); | ||
| 7040 | try testArgs(@Vector(3, u255), @Vector(3, u256), .{ 0, 1, 1 << 255 }); | ||
| 7041 | try testArgs(@Vector(3, u256), @Vector(3, u256), .{ 0, 1, 1 << 255 }); | ||
| 7042 | try testArgs(@Vector(3, u257), @Vector(3, u256), .{ 0, 1, 1 << 255 }); | ||
| 7043 | try testArgs(@Vector(3, u511), @Vector(3, u256), .{ 0, 1, 1 << 255 }); | ||
| 7044 | try testArgs(@Vector(3, u512), @Vector(3, u256), .{ 0, 1, 1 << 255 }); | ||
| 7045 | try testArgs(@Vector(3, u513), @Vector(3, u256), .{ 0, 1, 1 << 255 }); | ||
| 7046 | try testArgs(@Vector(3, u1023), @Vector(3, u256), .{ 0, 1, 1 << 255 }); | ||
| 7047 | try testArgs(@Vector(3, u1024), @Vector(3, u256), .{ 0, 1, 1 << 255 }); | ||
| 7048 | try testArgs(@Vector(3, u1025), @Vector(3, u256), .{ 0, 1, 1 << 255 }); | ||
| 7049 | |||
| 7050 | try testArgs(@Vector(3, i7), @Vector(3, i257), .{ -1 << 256, -1, 0 }); | ||
| 7051 | try testArgs(@Vector(3, i8), @Vector(3, i257), .{ -1 << 256, -1, 0 }); | ||
| 7052 | try testArgs(@Vector(3, i9), @Vector(3, i257), .{ -1 << 256, -1, 0 }); | ||
| 7053 | try testArgs(@Vector(3, i15), @Vector(3, i257), .{ -1 << 256, -1, 0 }); | ||
| 7054 | try testArgs(@Vector(3, i16), @Vector(3, i257), .{ -1 << 256, -1, 0 }); | ||
| 7055 | try testArgs(@Vector(3, i17), @Vector(3, i257), .{ -1 << 256, -1, 0 }); | ||
| 7056 | try testArgs(@Vector(3, i31), @Vector(3, i257), .{ -1 << 256, -1, 0 }); | ||
| 7057 | try testArgs(@Vector(3, i32), @Vector(3, i257), .{ -1 << 256, -1, 0 }); | ||
| 7058 | try testArgs(@Vector(3, i33), @Vector(3, i257), .{ -1 << 256, -1, 0 }); | ||
| 7059 | try testArgs(@Vector(3, i63), @Vector(3, i257), .{ -1 << 256, -1, 0 }); | ||
| 7060 | try testArgs(@Vector(3, i64), @Vector(3, i257), .{ -1 << 256, -1, 0 }); | ||
| 7061 | try testArgs(@Vector(3, i65), @Vector(3, i257), .{ -1 << 256, -1, 0 }); | ||
| 7062 | try testArgs(@Vector(3, i127), @Vector(3, i257), .{ -1 << 256, -1, 0 }); | ||
| 7063 | try testArgs(@Vector(3, i128), @Vector(3, i257), .{ -1 << 256, -1, 0 }); | ||
| 7064 | try testArgs(@Vector(3, i129), @Vector(3, i257), .{ -1 << 256, -1, 0 }); | ||
| 7065 | try testArgs(@Vector(3, i255), @Vector(3, i257), .{ -1 << 256, -1, 0 }); | ||
| 7066 | try testArgs(@Vector(3, i256), @Vector(3, i257), .{ -1 << 256, -1, 0 }); | ||
| 7067 | try testArgs(@Vector(3, i257), @Vector(3, i257), .{ -1 << 256, -1, 0 }); | ||
| 7068 | try testArgs(@Vector(3, i511), @Vector(3, i257), .{ -1 << 256, -1, 0 }); | ||
| 7069 | try testArgs(@Vector(3, i512), @Vector(3, i257), .{ -1 << 256, -1, 0 }); | ||
| 7070 | try testArgs(@Vector(3, i513), @Vector(3, i257), .{ -1 << 256, -1, 0 }); | ||
| 7071 | try testArgs(@Vector(3, i1023), @Vector(3, i257), .{ -1 << 256, -1, 0 }); | ||
| 7072 | try testArgs(@Vector(3, i1024), @Vector(3, i257), .{ -1 << 256, -1, 0 }); | ||
| 7073 | try testArgs(@Vector(3, i1025), @Vector(3, i257), .{ -1 << 256, -1, 0 }); | ||
| 7074 | try testArgs(@Vector(3, u7), @Vector(3, u257), .{ 0, 1, 1 << 256 }); | ||
| 7075 | try testArgs(@Vector(3, u8), @Vector(3, u257), .{ 0, 1, 1 << 256 }); | ||
| 7076 | try testArgs(@Vector(3, u9), @Vector(3, u257), .{ 0, 1, 1 << 256 }); | ||
| 7077 | try testArgs(@Vector(3, u15), @Vector(3, u257), .{ 0, 1, 1 << 256 }); | ||
| 7078 | try testArgs(@Vector(3, u16), @Vector(3, u257), .{ 0, 1, 1 << 256 }); | ||
| 7079 | try testArgs(@Vector(3, u17), @Vector(3, u257), .{ 0, 1, 1 << 256 }); | ||
| 7080 | try testArgs(@Vector(3, u31), @Vector(3, u257), .{ 0, 1, 1 << 256 }); | ||
| 7081 | try testArgs(@Vector(3, u32), @Vector(3, u257), .{ 0, 1, 1 << 256 }); | ||
| 7082 | try testArgs(@Vector(3, u33), @Vector(3, u257), .{ 0, 1, 1 << 256 }); | ||
| 7083 | try testArgs(@Vector(3, u63), @Vector(3, u257), .{ 0, 1, 1 << 256 }); | ||
| 7084 | try testArgs(@Vector(3, u64), @Vector(3, u257), .{ 0, 1, 1 << 256 }); | ||
| 7085 | try testArgs(@Vector(3, u65), @Vector(3, u257), .{ 0, 1, 1 << 256 }); | ||
| 7086 | try testArgs(@Vector(3, u127), @Vector(3, u257), .{ 0, 1, 1 << 256 }); | ||
| 7087 | try testArgs(@Vector(3, u128), @Vector(3, u257), .{ 0, 1, 1 << 256 }); | ||
| 7088 | try testArgs(@Vector(3, u129), @Vector(3, u257), .{ 0, 1, 1 << 256 }); | ||
| 7089 | try testArgs(@Vector(3, u255), @Vector(3, u257), .{ 0, 1, 1 << 256 }); | ||
| 7090 | try testArgs(@Vector(3, u256), @Vector(3, u257), .{ 0, 1, 1 << 256 }); | ||
| 7091 | try testArgs(@Vector(3, u257), @Vector(3, u257), .{ 0, 1, 1 << 256 }); | ||
| 7092 | try testArgs(@Vector(3, u511), @Vector(3, u257), .{ 0, 1, 1 << 256 }); | ||
| 7093 | try testArgs(@Vector(3, u512), @Vector(3, u257), .{ 0, 1, 1 << 256 }); | ||
| 7094 | try testArgs(@Vector(3, u513), @Vector(3, u257), .{ 0, 1, 1 << 256 }); | ||
| 7095 | try testArgs(@Vector(3, u1023), @Vector(3, u257), .{ 0, 1, 1 << 256 }); | ||
| 7096 | try testArgs(@Vector(3, u1024), @Vector(3, u257), .{ 0, 1, 1 << 256 }); | ||
| 7097 | try testArgs(@Vector(3, u1025), @Vector(3, u257), .{ 0, 1, 1 << 256 }); | ||
| 7098 | |||
| 7099 | try testArgs(@Vector(3, i7), @Vector(3, i511), .{ -1 << 510, -1, 0 }); | ||
| 7100 | try testArgs(@Vector(3, i8), @Vector(3, i511), .{ -1 << 510, -1, 0 }); | ||
| 7101 | try testArgs(@Vector(3, i9), @Vector(3, i511), .{ -1 << 510, -1, 0 }); | ||
| 7102 | try testArgs(@Vector(3, i15), @Vector(3, i511), .{ -1 << 510, -1, 0 }); | ||
| 7103 | try testArgs(@Vector(3, i16), @Vector(3, i511), .{ -1 << 510, -1, 0 }); | ||
| 7104 | try testArgs(@Vector(3, i17), @Vector(3, i511), .{ -1 << 510, -1, 0 }); | ||
| 7105 | try testArgs(@Vector(3, i31), @Vector(3, i511), .{ -1 << 510, -1, 0 }); | ||
| 7106 | try testArgs(@Vector(3, i32), @Vector(3, i511), .{ -1 << 510, -1, 0 }); | ||
| 7107 | try testArgs(@Vector(3, i33), @Vector(3, i511), .{ -1 << 510, -1, 0 }); | ||
| 7108 | try testArgs(@Vector(3, i63), @Vector(3, i511), .{ -1 << 510, -1, 0 }); | ||
| 7109 | try testArgs(@Vector(3, i64), @Vector(3, i511), .{ -1 << 510, -1, 0 }); | ||
| 7110 | try testArgs(@Vector(3, i65), @Vector(3, i511), .{ -1 << 510, -1, 0 }); | ||
| 7111 | try testArgs(@Vector(3, i127), @Vector(3, i511), .{ -1 << 510, -1, 0 }); | ||
| 7112 | try testArgs(@Vector(3, i128), @Vector(3, i511), .{ -1 << 510, -1, 0 }); | ||
| 7113 | try testArgs(@Vector(3, i129), @Vector(3, i511), .{ -1 << 510, -1, 0 }); | ||
| 7114 | try testArgs(@Vector(3, i255), @Vector(3, i511), .{ -1 << 510, -1, 0 }); | ||
| 7115 | try testArgs(@Vector(3, i256), @Vector(3, i511), .{ -1 << 510, -1, 0 }); | ||
| 7116 | try testArgs(@Vector(3, i257), @Vector(3, i511), .{ -1 << 510, -1, 0 }); | ||
| 7117 | try testArgs(@Vector(3, i511), @Vector(3, i511), .{ -1 << 510, -1, 0 }); | ||
| 7118 | try testArgs(@Vector(3, i512), @Vector(3, i511), .{ -1 << 510, -1, 0 }); | ||
| 7119 | try testArgs(@Vector(3, i513), @Vector(3, i511), .{ -1 << 510, -1, 0 }); | ||
| 7120 | try testArgs(@Vector(3, i1023), @Vector(3, i511), .{ -1 << 510, -1, 0 }); | ||
| 7121 | try testArgs(@Vector(3, i1024), @Vector(3, i511), .{ -1 << 510, -1, 0 }); | ||
| 7122 | try testArgs(@Vector(3, i1025), @Vector(3, i511), .{ -1 << 510, -1, 0 }); | ||
| 7123 | try testArgs(@Vector(3, u7), @Vector(3, u511), .{ 0, 1, 1 << 510 }); | ||
| 7124 | try testArgs(@Vector(3, u8), @Vector(3, u511), .{ 0, 1, 1 << 510 }); | ||
| 7125 | try testArgs(@Vector(3, u9), @Vector(3, u511), .{ 0, 1, 1 << 510 }); | ||
| 7126 | try testArgs(@Vector(3, u15), @Vector(3, u511), .{ 0, 1, 1 << 510 }); | ||
| 7127 | try testArgs(@Vector(3, u16), @Vector(3, u511), .{ 0, 1, 1 << 510 }); | ||
| 7128 | try testArgs(@Vector(3, u17), @Vector(3, u511), .{ 0, 1, 1 << 510 }); | ||
| 7129 | try testArgs(@Vector(3, u31), @Vector(3, u511), .{ 0, 1, 1 << 510 }); | ||
| 7130 | try testArgs(@Vector(3, u32), @Vector(3, u511), .{ 0, 1, 1 << 510 }); | ||
| 7131 | try testArgs(@Vector(3, u33), @Vector(3, u511), .{ 0, 1, 1 << 510 }); | ||
| 7132 | try testArgs(@Vector(3, u63), @Vector(3, u511), .{ 0, 1, 1 << 510 }); | ||
| 7133 | try testArgs(@Vector(3, u64), @Vector(3, u511), .{ 0, 1, 1 << 510 }); | ||
| 7134 | try testArgs(@Vector(3, u65), @Vector(3, u511), .{ 0, 1, 1 << 510 }); | ||
| 7135 | try testArgs(@Vector(3, u127), @Vector(3, u511), .{ 0, 1, 1 << 510 }); | ||
| 7136 | try testArgs(@Vector(3, u128), @Vector(3, u511), .{ 0, 1, 1 << 510 }); | ||
| 7137 | try testArgs(@Vector(3, u129), @Vector(3, u511), .{ 0, 1, 1 << 510 }); | ||
| 7138 | try testArgs(@Vector(3, u255), @Vector(3, u511), .{ 0, 1, 1 << 510 }); | ||
| 7139 | try testArgs(@Vector(3, u256), @Vector(3, u511), .{ 0, 1, 1 << 510 }); | ||
| 7140 | try testArgs(@Vector(3, u257), @Vector(3, u511), .{ 0, 1, 1 << 510 }); | ||
| 7141 | try testArgs(@Vector(3, u511), @Vector(3, u511), .{ 0, 1, 1 << 510 }); | ||
| 7142 | try testArgs(@Vector(3, u512), @Vector(3, u511), .{ 0, 1, 1 << 510 }); | ||
| 7143 | try testArgs(@Vector(3, u513), @Vector(3, u511), .{ 0, 1, 1 << 510 }); | ||
| 7144 | try testArgs(@Vector(3, u1023), @Vector(3, u511), .{ 0, 1, 1 << 510 }); | ||
| 7145 | try testArgs(@Vector(3, u1024), @Vector(3, u511), .{ 0, 1, 1 << 510 }); | ||
| 7146 | try testArgs(@Vector(3, u1025), @Vector(3, u511), .{ 0, 1, 1 << 510 }); | ||
| 7147 | |||
| 7148 | try testArgs(@Vector(3, i7), @Vector(3, i512), .{ -1 << 511, -1, 0 }); | ||
| 7149 | try testArgs(@Vector(3, i8), @Vector(3, i512), .{ -1 << 511, -1, 0 }); | ||
| 7150 | try testArgs(@Vector(3, i9), @Vector(3, i512), .{ -1 << 511, -1, 0 }); | ||
| 7151 | try testArgs(@Vector(3, i15), @Vector(3, i512), .{ -1 << 511, -1, 0 }); | ||
| 7152 | try testArgs(@Vector(3, i16), @Vector(3, i512), .{ -1 << 511, -1, 0 }); | ||
| 7153 | try testArgs(@Vector(3, i17), @Vector(3, i512), .{ -1 << 511, -1, 0 }); | ||
| 7154 | try testArgs(@Vector(3, i31), @Vector(3, i512), .{ -1 << 511, -1, 0 }); | ||
| 7155 | try testArgs(@Vector(3, i32), @Vector(3, i512), .{ -1 << 511, -1, 0 }); | ||
| 7156 | try testArgs(@Vector(3, i33), @Vector(3, i512), .{ -1 << 511, -1, 0 }); | ||
| 7157 | try testArgs(@Vector(3, i63), @Vector(3, i512), .{ -1 << 511, -1, 0 }); | ||
| 7158 | try testArgs(@Vector(3, i64), @Vector(3, i512), .{ -1 << 511, -1, 0 }); | ||
| 7159 | try testArgs(@Vector(3, i65), @Vector(3, i512), .{ -1 << 511, -1, 0 }); | ||
| 7160 | try testArgs(@Vector(3, i127), @Vector(3, i512), .{ -1 << 511, -1, 0 }); | ||
| 7161 | try testArgs(@Vector(3, i128), @Vector(3, i512), .{ -1 << 511, -1, 0 }); | ||
| 7162 | try testArgs(@Vector(3, i129), @Vector(3, i512), .{ -1 << 511, -1, 0 }); | ||
| 7163 | try testArgs(@Vector(3, i255), @Vector(3, i512), .{ -1 << 511, -1, 0 }); | ||
| 7164 | try testArgs(@Vector(3, i256), @Vector(3, i512), .{ -1 << 511, -1, 0 }); | ||
| 7165 | try testArgs(@Vector(3, i257), @Vector(3, i512), .{ -1 << 511, -1, 0 }); | ||
| 7166 | try testArgs(@Vector(3, i511), @Vector(3, i512), .{ -1 << 511, -1, 0 }); | ||
| 7167 | try testArgs(@Vector(3, i512), @Vector(3, i512), .{ -1 << 511, -1, 0 }); | ||
| 7168 | try testArgs(@Vector(3, i513), @Vector(3, i512), .{ -1 << 511, -1, 0 }); | ||
| 7169 | try testArgs(@Vector(3, i1023), @Vector(3, i512), .{ -1 << 511, -1, 0 }); | ||
| 7170 | try testArgs(@Vector(3, i1024), @Vector(3, i512), .{ -1 << 511, -1, 0 }); | ||
| 7171 | try testArgs(@Vector(3, i1025), @Vector(3, i512), .{ -1 << 511, -1, 0 }); | ||
| 7172 | try testArgs(@Vector(3, u7), @Vector(3, u512), .{ 0, 1, 1 << 511 }); | ||
| 7173 | try testArgs(@Vector(3, u8), @Vector(3, u512), .{ 0, 1, 1 << 511 }); | ||
| 7174 | try testArgs(@Vector(3, u9), @Vector(3, u512), .{ 0, 1, 1 << 511 }); | ||
| 7175 | try testArgs(@Vector(3, u15), @Vector(3, u512), .{ 0, 1, 1 << 511 }); | ||
| 7176 | try testArgs(@Vector(3, u16), @Vector(3, u512), .{ 0, 1, 1 << 511 }); | ||
| 7177 | try testArgs(@Vector(3, u17), @Vector(3, u512), .{ 0, 1, 1 << 511 }); | ||
| 7178 | try testArgs(@Vector(3, u31), @Vector(3, u512), .{ 0, 1, 1 << 511 }); | ||
| 7179 | try testArgs(@Vector(3, u32), @Vector(3, u512), .{ 0, 1, 1 << 511 }); | ||
| 7180 | try testArgs(@Vector(3, u33), @Vector(3, u512), .{ 0, 1, 1 << 511 }); | ||
| 7181 | try testArgs(@Vector(3, u63), @Vector(3, u512), .{ 0, 1, 1 << 511 }); | ||
| 7182 | try testArgs(@Vector(3, u64), @Vector(3, u512), .{ 0, 1, 1 << 511 }); | ||
| 7183 | try testArgs(@Vector(3, u65), @Vector(3, u512), .{ 0, 1, 1 << 511 }); | ||
| 7184 | try testArgs(@Vector(3, u127), @Vector(3, u512), .{ 0, 1, 1 << 511 }); | ||
| 7185 | try testArgs(@Vector(3, u128), @Vector(3, u512), .{ 0, 1, 1 << 511 }); | ||
| 7186 | try testArgs(@Vector(3, u129), @Vector(3, u512), .{ 0, 1, 1 << 511 }); | ||
| 7187 | try testArgs(@Vector(3, u255), @Vector(3, u512), .{ 0, 1, 1 << 511 }); | ||
| 7188 | try testArgs(@Vector(3, u256), @Vector(3, u512), .{ 0, 1, 1 << 511 }); | ||
| 7189 | try testArgs(@Vector(3, u257), @Vector(3, u512), .{ 0, 1, 1 << 511 }); | ||
| 7190 | try testArgs(@Vector(3, u511), @Vector(3, u512), .{ 0, 1, 1 << 511 }); | ||
| 7191 | try testArgs(@Vector(3, u512), @Vector(3, u512), .{ 0, 1, 1 << 511 }); | ||
| 7192 | try testArgs(@Vector(3, u513), @Vector(3, u512), .{ 0, 1, 1 << 511 }); | ||
| 7193 | try testArgs(@Vector(3, u1023), @Vector(3, u512), .{ 0, 1, 1 << 511 }); | ||
| 7194 | try testArgs(@Vector(3, u1024), @Vector(3, u512), .{ 0, 1, 1 << 511 }); | ||
| 7195 | try testArgs(@Vector(3, u1025), @Vector(3, u512), .{ 0, 1, 1 << 511 }); | ||
| 7196 | |||
| 7197 | try testArgs(@Vector(3, i7), @Vector(3, i513), .{ -1 << 512, -1, 0 }); | ||
| 7198 | try testArgs(@Vector(3, i8), @Vector(3, i513), .{ -1 << 512, -1, 0 }); | ||
| 7199 | try testArgs(@Vector(3, i9), @Vector(3, i513), .{ -1 << 512, -1, 0 }); | ||
| 7200 | try testArgs(@Vector(3, i15), @Vector(3, i513), .{ -1 << 512, -1, 0 }); | ||
| 7201 | try testArgs(@Vector(3, i16), @Vector(3, i513), .{ -1 << 512, -1, 0 }); | ||
| 7202 | try testArgs(@Vector(3, i17), @Vector(3, i513), .{ -1 << 512, -1, 0 }); | ||
| 7203 | try testArgs(@Vector(3, i31), @Vector(3, i513), .{ -1 << 512, -1, 0 }); | ||
| 7204 | try testArgs(@Vector(3, i32), @Vector(3, i513), .{ -1 << 512, -1, 0 }); | ||
| 7205 | try testArgs(@Vector(3, i33), @Vector(3, i513), .{ -1 << 512, -1, 0 }); | ||
| 7206 | try testArgs(@Vector(3, i63), @Vector(3, i513), .{ -1 << 512, -1, 0 }); | ||
| 7207 | try testArgs(@Vector(3, i64), @Vector(3, i513), .{ -1 << 512, -1, 0 }); | ||
| 7208 | try testArgs(@Vector(3, i65), @Vector(3, i513), .{ -1 << 512, -1, 0 }); | ||
| 7209 | try testArgs(@Vector(3, i127), @Vector(3, i513), .{ -1 << 512, -1, 0 }); | ||
| 7210 | try testArgs(@Vector(3, i128), @Vector(3, i513), .{ -1 << 512, -1, 0 }); | ||
| 7211 | try testArgs(@Vector(3, i129), @Vector(3, i513), .{ -1 << 512, -1, 0 }); | ||
| 7212 | try testArgs(@Vector(3, i255), @Vector(3, i513), .{ -1 << 512, -1, 0 }); | ||
| 7213 | try testArgs(@Vector(3, i256), @Vector(3, i513), .{ -1 << 512, -1, 0 }); | ||
| 7214 | try testArgs(@Vector(3, i257), @Vector(3, i513), .{ -1 << 512, -1, 0 }); | ||
| 7215 | try testArgs(@Vector(3, i511), @Vector(3, i513), .{ -1 << 512, -1, 0 }); | ||
| 7216 | try testArgs(@Vector(3, i512), @Vector(3, i513), .{ -1 << 512, -1, 0 }); | ||
| 7217 | try testArgs(@Vector(3, i513), @Vector(3, i513), .{ -1 << 512, -1, 0 }); | ||
| 7218 | try testArgs(@Vector(3, i1023), @Vector(3, i513), .{ -1 << 512, -1, 0 }); | ||
| 7219 | try testArgs(@Vector(3, i1024), @Vector(3, i513), .{ -1 << 512, -1, 0 }); | ||
| 7220 | try testArgs(@Vector(3, i1025), @Vector(3, i513), .{ -1 << 512, -1, 0 }); | ||
| 7221 | try testArgs(@Vector(3, u7), @Vector(3, u513), .{ 0, 1, 1 << 512 }); | ||
| 7222 | try testArgs(@Vector(3, u8), @Vector(3, u513), .{ 0, 1, 1 << 512 }); | ||
| 7223 | try testArgs(@Vector(3, u9), @Vector(3, u513), .{ 0, 1, 1 << 512 }); | ||
| 7224 | try testArgs(@Vector(3, u15), @Vector(3, u513), .{ 0, 1, 1 << 512 }); | ||
| 7225 | try testArgs(@Vector(3, u16), @Vector(3, u513), .{ 0, 1, 1 << 512 }); | ||
| 7226 | try testArgs(@Vector(3, u17), @Vector(3, u513), .{ 0, 1, 1 << 512 }); | ||
| 7227 | try testArgs(@Vector(3, u31), @Vector(3, u513), .{ 0, 1, 1 << 512 }); | ||
| 7228 | try testArgs(@Vector(3, u32), @Vector(3, u513), .{ 0, 1, 1 << 512 }); | ||
| 7229 | try testArgs(@Vector(3, u33), @Vector(3, u513), .{ 0, 1, 1 << 512 }); | ||
| 7230 | try testArgs(@Vector(3, u63), @Vector(3, u513), .{ 0, 1, 1 << 512 }); | ||
| 7231 | try testArgs(@Vector(3, u64), @Vector(3, u513), .{ 0, 1, 1 << 512 }); | ||
| 7232 | try testArgs(@Vector(3, u65), @Vector(3, u513), .{ 0, 1, 1 << 512 }); | ||
| 7233 | try testArgs(@Vector(3, u127), @Vector(3, u513), .{ 0, 1, 1 << 512 }); | ||
| 7234 | try testArgs(@Vector(3, u128), @Vector(3, u513), .{ 0, 1, 1 << 512 }); | ||
| 7235 | try testArgs(@Vector(3, u129), @Vector(3, u513), .{ 0, 1, 1 << 512 }); | ||
| 7236 | try testArgs(@Vector(3, u255), @Vector(3, u513), .{ 0, 1, 1 << 512 }); | ||
| 7237 | try testArgs(@Vector(3, u256), @Vector(3, u513), .{ 0, 1, 1 << 512 }); | ||
| 7238 | try testArgs(@Vector(3, u257), @Vector(3, u513), .{ 0, 1, 1 << 512 }); | ||
| 7239 | try testArgs(@Vector(3, u511), @Vector(3, u513), .{ 0, 1, 1 << 512 }); | ||
| 7240 | try testArgs(@Vector(3, u512), @Vector(3, u513), .{ 0, 1, 1 << 512 }); | ||
| 7241 | try testArgs(@Vector(3, u513), @Vector(3, u513), .{ 0, 1, 1 << 512 }); | ||
| 7242 | try testArgs(@Vector(3, u1023), @Vector(3, u513), .{ 0, 1, 1 << 512 }); | ||
| 7243 | try testArgs(@Vector(3, u1024), @Vector(3, u513), .{ 0, 1, 1 << 512 }); | ||
| 7244 | try testArgs(@Vector(3, u1025), @Vector(3, u513), .{ 0, 1, 1 << 512 }); | ||
| 7245 | |||
| 7246 | try testArgs(@Vector(3, i7), @Vector(3, i1023), .{ -1 << 1022, -1, 0 }); | ||
| 7247 | try testArgs(@Vector(3, i8), @Vector(3, i1023), .{ -1 << 1022, -1, 0 }); | ||
| 7248 | try testArgs(@Vector(3, i9), @Vector(3, i1023), .{ -1 << 1022, -1, 0 }); | ||
| 7249 | try testArgs(@Vector(3, i15), @Vector(3, i1023), .{ -1 << 1022, -1, 0 }); | ||
| 7250 | try testArgs(@Vector(3, i16), @Vector(3, i1023), .{ -1 << 1022, -1, 0 }); | ||
| 7251 | try testArgs(@Vector(3, i17), @Vector(3, i1023), .{ -1 << 1022, -1, 0 }); | ||
| 7252 | try testArgs(@Vector(3, i31), @Vector(3, i1023), .{ -1 << 1022, -1, 0 }); | ||
| 7253 | try testArgs(@Vector(3, i32), @Vector(3, i1023), .{ -1 << 1022, -1, 0 }); | ||
| 7254 | try testArgs(@Vector(3, i33), @Vector(3, i1023), .{ -1 << 1022, -1, 0 }); | ||
| 7255 | try testArgs(@Vector(3, i63), @Vector(3, i1023), .{ -1 << 1022, -1, 0 }); | ||
| 7256 | try testArgs(@Vector(3, i64), @Vector(3, i1023), .{ -1 << 1022, -1, 0 }); | ||
| 7257 | try testArgs(@Vector(3, i65), @Vector(3, i1023), .{ -1 << 1022, -1, 0 }); | ||
| 7258 | try testArgs(@Vector(3, i127), @Vector(3, i1023), .{ -1 << 1022, -1, 0 }); | ||
| 7259 | try testArgs(@Vector(3, i128), @Vector(3, i1023), .{ -1 << 1022, -1, 0 }); | ||
| 7260 | try testArgs(@Vector(3, i129), @Vector(3, i1023), .{ -1 << 1022, -1, 0 }); | ||
| 7261 | try testArgs(@Vector(3, i255), @Vector(3, i1023), .{ -1 << 1022, -1, 0 }); | ||
| 7262 | try testArgs(@Vector(3, i256), @Vector(3, i1023), .{ -1 << 1022, -1, 0 }); | ||
| 7263 | try testArgs(@Vector(3, i257), @Vector(3, i1023), .{ -1 << 1022, -1, 0 }); | ||
| 7264 | try testArgs(@Vector(3, i511), @Vector(3, i1023), .{ -1 << 1022, -1, 0 }); | ||
| 7265 | try testArgs(@Vector(3, i512), @Vector(3, i1023), .{ -1 << 1022, -1, 0 }); | ||
| 7266 | try testArgs(@Vector(3, i513), @Vector(3, i1023), .{ -1 << 1022, -1, 0 }); | ||
| 7267 | try testArgs(@Vector(3, i1023), @Vector(3, i1023), .{ -1 << 1022, -1, 0 }); | ||
| 7268 | try testArgs(@Vector(3, i1024), @Vector(3, i1023), .{ -1 << 1022, -1, 0 }); | ||
| 7269 | try testArgs(@Vector(3, i1025), @Vector(3, i1023), .{ -1 << 1022, -1, 0 }); | ||
| 7270 | try testArgs(@Vector(3, u7), @Vector(3, u1023), .{ 0, 1, 1 << 1022 }); | ||
| 7271 | try testArgs(@Vector(3, u8), @Vector(3, u1023), .{ 0, 1, 1 << 1022 }); | ||
| 7272 | try testArgs(@Vector(3, u9), @Vector(3, u1023), .{ 0, 1, 1 << 1022 }); | ||
| 7273 | try testArgs(@Vector(3, u15), @Vector(3, u1023), .{ 0, 1, 1 << 1022 }); | ||
| 7274 | try testArgs(@Vector(3, u16), @Vector(3, u1023), .{ 0, 1, 1 << 1022 }); | ||
| 7275 | try testArgs(@Vector(3, u17), @Vector(3, u1023), .{ 0, 1, 1 << 1022 }); | ||
| 7276 | try testArgs(@Vector(3, u31), @Vector(3, u1023), .{ 0, 1, 1 << 1022 }); | ||
| 7277 | try testArgs(@Vector(3, u32), @Vector(3, u1023), .{ 0, 1, 1 << 1022 }); | ||
| 7278 | try testArgs(@Vector(3, u33), @Vector(3, u1023), .{ 0, 1, 1 << 1022 }); | ||
| 7279 | try testArgs(@Vector(3, u63), @Vector(3, u1023), .{ 0, 1, 1 << 1022 }); | ||
| 7280 | try testArgs(@Vector(3, u64), @Vector(3, u1023), .{ 0, 1, 1 << 1022 }); | ||
| 7281 | try testArgs(@Vector(3, u65), @Vector(3, u1023), .{ 0, 1, 1 << 1022 }); | ||
| 7282 | try testArgs(@Vector(3, u127), @Vector(3, u1023), .{ 0, 1, 1 << 1022 }); | ||
| 7283 | try testArgs(@Vector(3, u128), @Vector(3, u1023), .{ 0, 1, 1 << 1022 }); | ||
| 7284 | try testArgs(@Vector(3, u129), @Vector(3, u1023), .{ 0, 1, 1 << 1022 }); | ||
| 7285 | try testArgs(@Vector(3, u255), @Vector(3, u1023), .{ 0, 1, 1 << 1022 }); | ||
| 7286 | try testArgs(@Vector(3, u256), @Vector(3, u1023), .{ 0, 1, 1 << 1022 }); | ||
| 7287 | try testArgs(@Vector(3, u257), @Vector(3, u1023), .{ 0, 1, 1 << 1022 }); | ||
| 7288 | try testArgs(@Vector(3, u511), @Vector(3, u1023), .{ 0, 1, 1 << 1022 }); | ||
| 7289 | try testArgs(@Vector(3, u512), @Vector(3, u1023), .{ 0, 1, 1 << 1022 }); | ||
| 7290 | try testArgs(@Vector(3, u513), @Vector(3, u1023), .{ 0, 1, 1 << 1022 }); | ||
| 7291 | try testArgs(@Vector(3, u1023), @Vector(3, u1023), .{ 0, 1, 1 << 1022 }); | ||
| 7292 | try testArgs(@Vector(3, u1024), @Vector(3, u1023), .{ 0, 1, 1 << 1022 }); | ||
| 7293 | try testArgs(@Vector(3, u1025), @Vector(3, u1023), .{ 0, 1, 1 << 1022 }); | ||
| 7294 | |||
| 7295 | try testArgs(@Vector(3, i7), @Vector(3, i1024), .{ -1 << 1023, -1, 0 }); | ||
| 7296 | try testArgs(@Vector(3, i8), @Vector(3, i1024), .{ -1 << 1023, -1, 0 }); | ||
| 7297 | try testArgs(@Vector(3, i9), @Vector(3, i1024), .{ -1 << 1023, -1, 0 }); | ||
| 7298 | try testArgs(@Vector(3, i15), @Vector(3, i1024), .{ -1 << 1023, -1, 0 }); | ||
| 7299 | try testArgs(@Vector(3, i16), @Vector(3, i1024), .{ -1 << 1023, -1, 0 }); | ||
| 7300 | try testArgs(@Vector(3, i17), @Vector(3, i1024), .{ -1 << 1023, -1, 0 }); | ||
| 7301 | try testArgs(@Vector(3, i31), @Vector(3, i1024), .{ -1 << 1023, -1, 0 }); | ||
| 7302 | try testArgs(@Vector(3, i32), @Vector(3, i1024), .{ -1 << 1023, -1, 0 }); | ||
| 7303 | try testArgs(@Vector(3, i33), @Vector(3, i1024), .{ -1 << 1023, -1, 0 }); | ||
| 7304 | try testArgs(@Vector(3, i63), @Vector(3, i1024), .{ -1 << 1023, -1, 0 }); | ||
| 7305 | try testArgs(@Vector(3, i64), @Vector(3, i1024), .{ -1 << 1023, -1, 0 }); | ||
| 7306 | try testArgs(@Vector(3, i65), @Vector(3, i1024), .{ -1 << 1023, -1, 0 }); | ||
| 7307 | try testArgs(@Vector(3, i127), @Vector(3, i1024), .{ -1 << 1023, -1, 0 }); | ||
| 7308 | try testArgs(@Vector(3, i128), @Vector(3, i1024), .{ -1 << 1023, -1, 0 }); | ||
| 7309 | try testArgs(@Vector(3, i129), @Vector(3, i1024), .{ -1 << 1023, -1, 0 }); | ||
| 7310 | try testArgs(@Vector(3, i255), @Vector(3, i1024), .{ -1 << 1023, -1, 0 }); | ||
| 7311 | try testArgs(@Vector(3, i256), @Vector(3, i1024), .{ -1 << 1023, -1, 0 }); | ||
| 7312 | try testArgs(@Vector(3, i257), @Vector(3, i1024), .{ -1 << 1023, -1, 0 }); | ||
| 7313 | try testArgs(@Vector(3, i511), @Vector(3, i1024), .{ -1 << 1023, -1, 0 }); | ||
| 7314 | try testArgs(@Vector(3, i512), @Vector(3, i1024), .{ -1 << 1023, -1, 0 }); | ||
| 7315 | try testArgs(@Vector(3, i513), @Vector(3, i1024), .{ -1 << 1023, -1, 0 }); | ||
| 7316 | try testArgs(@Vector(3, i1023), @Vector(3, i1024), .{ -1 << 1023, -1, 0 }); | ||
| 7317 | try testArgs(@Vector(3, i1024), @Vector(3, i1024), .{ -1 << 1023, -1, 0 }); | ||
| 7318 | try testArgs(@Vector(3, i1025), @Vector(3, i1024), .{ -1 << 1023, -1, 0 }); | ||
| 7319 | try testArgs(@Vector(3, u7), @Vector(3, u1024), .{ 0, 1, 1 << 1023 }); | ||
| 7320 | try testArgs(@Vector(3, u8), @Vector(3, u1024), .{ 0, 1, 1 << 1023 }); | ||
| 7321 | try testArgs(@Vector(3, u9), @Vector(3, u1024), .{ 0, 1, 1 << 1023 }); | ||
| 7322 | try testArgs(@Vector(3, u15), @Vector(3, u1024), .{ 0, 1, 1 << 1023 }); | ||
| 7323 | try testArgs(@Vector(3, u16), @Vector(3, u1024), .{ 0, 1, 1 << 1023 }); | ||
| 7324 | try testArgs(@Vector(3, u17), @Vector(3, u1024), .{ 0, 1, 1 << 1023 }); | ||
| 7325 | try testArgs(@Vector(3, u31), @Vector(3, u1024), .{ 0, 1, 1 << 1023 }); | ||
| 7326 | try testArgs(@Vector(3, u32), @Vector(3, u1024), .{ 0, 1, 1 << 1023 }); | ||
| 7327 | try testArgs(@Vector(3, u33), @Vector(3, u1024), .{ 0, 1, 1 << 1023 }); | ||
| 7328 | try testArgs(@Vector(3, u63), @Vector(3, u1024), .{ 0, 1, 1 << 1023 }); | ||
| 7329 | try testArgs(@Vector(3, u64), @Vector(3, u1024), .{ 0, 1, 1 << 1023 }); | ||
| 7330 | try testArgs(@Vector(3, u65), @Vector(3, u1024), .{ 0, 1, 1 << 1023 }); | ||
| 7331 | try testArgs(@Vector(3, u127), @Vector(3, u1024), .{ 0, 1, 1 << 1023 }); | ||
| 7332 | try testArgs(@Vector(3, u128), @Vector(3, u1024), .{ 0, 1, 1 << 1023 }); | ||
| 7333 | try testArgs(@Vector(3, u129), @Vector(3, u1024), .{ 0, 1, 1 << 1023 }); | ||
| 7334 | try testArgs(@Vector(3, u255), @Vector(3, u1024), .{ 0, 1, 1 << 1023 }); | ||
| 7335 | try testArgs(@Vector(3, u256), @Vector(3, u1024), .{ 0, 1, 1 << 1023 }); | ||
| 7336 | try testArgs(@Vector(3, u257), @Vector(3, u1024), .{ 0, 1, 1 << 1023 }); | ||
| 7337 | try testArgs(@Vector(3, u511), @Vector(3, u1024), .{ 0, 1, 1 << 1023 }); | ||
| 7338 | try testArgs(@Vector(3, u512), @Vector(3, u1024), .{ 0, 1, 1 << 1023 }); | ||
| 7339 | try testArgs(@Vector(3, u513), @Vector(3, u1024), .{ 0, 1, 1 << 1023 }); | ||
| 7340 | try testArgs(@Vector(3, u1023), @Vector(3, u1024), .{ 0, 1, 1 << 1023 }); | ||
| 7341 | try testArgs(@Vector(3, u1024), @Vector(3, u1024), .{ 0, 1, 1 << 1023 }); | ||
| 7342 | try testArgs(@Vector(3, u1025), @Vector(3, u1024), .{ 0, 1, 1 << 1023 }); | ||
| 7343 | |||
| 7344 | try testArgs(@Vector(3, i7), @Vector(3, i1025), .{ -1 << 1024, -1, 0 }); | ||
| 7345 | try testArgs(@Vector(3, i8), @Vector(3, i1025), .{ -1 << 1024, -1, 0 }); | ||
| 7346 | try testArgs(@Vector(3, i9), @Vector(3, i1025), .{ -1 << 1024, -1, 0 }); | ||
| 7347 | try testArgs(@Vector(3, i15), @Vector(3, i1025), .{ -1 << 1024, -1, 0 }); | ||
| 7348 | try testArgs(@Vector(3, i16), @Vector(3, i1025), .{ -1 << 1024, -1, 0 }); | ||
| 7349 | try testArgs(@Vector(3, i17), @Vector(3, i1025), .{ -1 << 1024, -1, 0 }); | ||
| 7350 | try testArgs(@Vector(3, i31), @Vector(3, i1025), .{ -1 << 1024, -1, 0 }); | ||
| 7351 | try testArgs(@Vector(3, i32), @Vector(3, i1025), .{ -1 << 1024, -1, 0 }); | ||
| 7352 | try testArgs(@Vector(3, i33), @Vector(3, i1025), .{ -1 << 1024, -1, 0 }); | ||
| 7353 | try testArgs(@Vector(3, i63), @Vector(3, i1025), .{ -1 << 1024, -1, 0 }); | ||
| 7354 | try testArgs(@Vector(3, i64), @Vector(3, i1025), .{ -1 << 1024, -1, 0 }); | ||
| 7355 | try testArgs(@Vector(3, i65), @Vector(3, i1025), .{ -1 << 1024, -1, 0 }); | ||
| 7356 | try testArgs(@Vector(3, i127), @Vector(3, i1025), .{ -1 << 1024, -1, 0 }); | ||
| 7357 | try testArgs(@Vector(3, i128), @Vector(3, i1025), .{ -1 << 1024, -1, 0 }); | ||
| 7358 | try testArgs(@Vector(3, i129), @Vector(3, i1025), .{ -1 << 1024, -1, 0 }); | ||
| 7359 | try testArgs(@Vector(3, i255), @Vector(3, i1025), .{ -1 << 1024, -1, 0 }); | ||
| 7360 | try testArgs(@Vector(3, i256), @Vector(3, i1025), .{ -1 << 1024, -1, 0 }); | ||
| 7361 | try testArgs(@Vector(3, i257), @Vector(3, i1025), .{ -1 << 1024, -1, 0 }); | ||
| 7362 | try testArgs(@Vector(3, i511), @Vector(3, i1025), .{ -1 << 1024, -1, 0 }); | ||
| 7363 | try testArgs(@Vector(3, i512), @Vector(3, i1025), .{ -1 << 1024, -1, 0 }); | ||
| 7364 | try testArgs(@Vector(3, i513), @Vector(3, i1025), .{ -1 << 1024, -1, 0 }); | ||
| 7365 | try testArgs(@Vector(3, i1023), @Vector(3, i1025), .{ -1 << 1024, -1, 0 }); | ||
| 7366 | try testArgs(@Vector(3, i1024), @Vector(3, i1025), .{ -1 << 1024, -1, 0 }); | ||
| 7367 | try testArgs(@Vector(3, i1025), @Vector(3, i1025), .{ -1 << 1024, -1, 0 }); | ||
| 7368 | try testArgs(@Vector(3, u7), @Vector(3, u1025), .{ 0, 1, 1 << 1024 }); | ||
| 7369 | try testArgs(@Vector(3, u8), @Vector(3, u1025), .{ 0, 1, 1 << 1024 }); | ||
| 7370 | try testArgs(@Vector(3, u9), @Vector(3, u1025), .{ 0, 1, 1 << 1024 }); | ||
| 7371 | try testArgs(@Vector(3, u15), @Vector(3, u1025), .{ 0, 1, 1 << 1024 }); | ||
| 7372 | try testArgs(@Vector(3, u16), @Vector(3, u1025), .{ 0, 1, 1 << 1024 }); | ||
| 7373 | try testArgs(@Vector(3, u17), @Vector(3, u1025), .{ 0, 1, 1 << 1024 }); | ||
| 7374 | try testArgs(@Vector(3, u31), @Vector(3, u1025), .{ 0, 1, 1 << 1024 }); | ||
| 7375 | try testArgs(@Vector(3, u32), @Vector(3, u1025), .{ 0, 1, 1 << 1024 }); | ||
| 7376 | try testArgs(@Vector(3, u33), @Vector(3, u1025), .{ 0, 1, 1 << 1024 }); | ||
| 7377 | try testArgs(@Vector(3, u63), @Vector(3, u1025), .{ 0, 1, 1 << 1024 }); | ||
| 7378 | try testArgs(@Vector(3, u64), @Vector(3, u1025), .{ 0, 1, 1 << 1024 }); | ||
| 7379 | try testArgs(@Vector(3, u65), @Vector(3, u1025), .{ 0, 1, 1 << 1024 }); | ||
| 7380 | try testArgs(@Vector(3, u127), @Vector(3, u1025), .{ 0, 1, 1 << 1024 }); | ||
| 7381 | try testArgs(@Vector(3, u128), @Vector(3, u1025), .{ 0, 1, 1 << 1024 }); | ||
| 7382 | try testArgs(@Vector(3, u129), @Vector(3, u1025), .{ 0, 1, 1 << 1024 }); | ||
| 7383 | try testArgs(@Vector(3, u255), @Vector(3, u1025), .{ 0, 1, 1 << 1024 }); | ||
| 7384 | try testArgs(@Vector(3, u256), @Vector(3, u1025), .{ 0, 1, 1 << 1024 }); | ||
| 7385 | try testArgs(@Vector(3, u257), @Vector(3, u1025), .{ 0, 1, 1 << 1024 }); | ||
| 7386 | try testArgs(@Vector(3, u511), @Vector(3, u1025), .{ 0, 1, 1 << 1024 }); | ||
| 7387 | try testArgs(@Vector(3, u512), @Vector(3, u1025), .{ 0, 1, 1 << 1024 }); | ||
| 7388 | try testArgs(@Vector(3, u513), @Vector(3, u1025), .{ 0, 1, 1 << 1024 }); | ||
| 7389 | try testArgs(@Vector(3, u1023), @Vector(3, u1025), .{ 0, 1, 1 << 1024 }); | ||
| 7390 | try testArgs(@Vector(3, u1024), @Vector(3, u1025), .{ 0, 1, 1 << 1024 }); | ||
| 7391 | try testArgs(@Vector(3, u1025), @Vector(3, u1025), .{ 0, 1, 1 << 1024 }); | ||
| 7392 | } | ||
| 7393 | fn testIntVectors() !void { | ||
| 7394 | try testSameSignednessIntVectors(); | ||
| 7395 | |||
| 7396 | try testArgs(@Vector(1, u8), @Vector(1, i1), .{-1}); | ||
| 7397 | try testArgs(@Vector(1, u16), @Vector(1, i1), .{-1}); | ||
| 7398 | try testArgs(@Vector(1, u32), @Vector(1, i1), .{-1}); | ||
| 7399 | try testArgs(@Vector(1, u64), @Vector(1, i1), .{-1}); | ||
| 7400 | try testArgs(@Vector(1, u128), @Vector(1, i1), .{-1}); | ||
| 7401 | try testArgs(@Vector(1, u256), @Vector(1, i1), .{-1}); | ||
| 7402 | try testArgs(@Vector(1, u512), @Vector(1, i1), .{-1}); | ||
| 7403 | try testArgs(@Vector(1, u1024), @Vector(1, i1), .{-1}); | ||
| 7404 | try testArgs(@Vector(1, i8), @Vector(1, u1), .{1}); | ||
| 7405 | try testArgs(@Vector(1, i16), @Vector(1, u1), .{1}); | ||
| 7406 | try testArgs(@Vector(1, i32), @Vector(1, u1), .{1}); | ||
| 7407 | try testArgs(@Vector(1, i64), @Vector(1, u1), .{1}); | ||
| 7408 | try testArgs(@Vector(1, i128), @Vector(1, u1), .{1}); | ||
| 7409 | try testArgs(@Vector(1, i256), @Vector(1, u1), .{1}); | ||
| 7410 | try testArgs(@Vector(1, i512), @Vector(1, u1), .{1}); | ||
| 7411 | try testArgs(@Vector(1, i1024), @Vector(1, u1), .{1}); | ||
| 7412 | |||
| 7413 | try testArgs(@Vector(2, u8), @Vector(2, i1), .{ -1, 0 }); | ||
| 7414 | try testArgs(@Vector(2, u16), @Vector(2, i1), .{ -1, 0 }); | ||
| 7415 | try testArgs(@Vector(2, u32), @Vector(2, i1), .{ -1, 0 }); | ||
| 7416 | try testArgs(@Vector(2, u64), @Vector(2, i1), .{ -1, 0 }); | ||
| 7417 | try testArgs(@Vector(2, u128), @Vector(2, i1), .{ -1, 0 }); | ||
| 7418 | try testArgs(@Vector(2, u256), @Vector(2, i1), .{ -1, 0 }); | ||
| 7419 | try testArgs(@Vector(2, u512), @Vector(2, i1), .{ -1, 0 }); | ||
| 7420 | try testArgs(@Vector(2, u1024), @Vector(2, i1), .{ -1, 0 }); | ||
| 7421 | try testArgs(@Vector(2, i8), @Vector(2, u1), .{ 0, 1 }); | ||
| 7422 | try testArgs(@Vector(2, i16), @Vector(2, u1), .{ 0, 1 }); | ||
| 7423 | try testArgs(@Vector(2, i32), @Vector(2, u1), .{ 0, 1 }); | ||
| 7424 | try testArgs(@Vector(2, i64), @Vector(2, u1), .{ 0, 1 }); | ||
| 7425 | try testArgs(@Vector(2, i128), @Vector(2, u1), .{ 0, 1 }); | ||
| 7426 | try testArgs(@Vector(2, i256), @Vector(2, u1), .{ 0, 1 }); | ||
| 7427 | try testArgs(@Vector(2, i512), @Vector(2, u1), .{ 0, 1 }); | ||
| 7428 | try testArgs(@Vector(2, i1024), @Vector(2, u1), .{ 0, 1 }); | ||
| 7429 | |||
| 7430 | try testArgs(@Vector(3, u8), @Vector(3, i2), .{ -1 << 1, -1, 0 }); | ||
| 7431 | try testArgs(@Vector(3, u16), @Vector(3, i2), .{ -1 << 1, -1, 0 }); | ||
| 7432 | try testArgs(@Vector(3, u32), @Vector(3, i2), .{ -1 << 1, -1, 0 }); | ||
| 7433 | try testArgs(@Vector(3, u64), @Vector(3, i2), .{ -1 << 1, -1, 0 }); | ||
| 7434 | try testArgs(@Vector(3, u128), @Vector(3, i2), .{ -1 << 1, -1, 0 }); | ||
| 7435 | try testArgs(@Vector(3, u256), @Vector(3, i2), .{ -1 << 1, -1, 0 }); | ||
| 7436 | try testArgs(@Vector(3, u512), @Vector(3, i2), .{ -1 << 1, -1, 0 }); | ||
| 7437 | try testArgs(@Vector(3, u1024), @Vector(3, i2), .{ -1 << 1, -1, 0 }); | ||
| 7438 | try testArgs(@Vector(3, i8), @Vector(3, u2), .{ 0, 1, 1 << 1 }); | ||
| 7439 | try testArgs(@Vector(3, i16), @Vector(3, u2), .{ 0, 1, 1 << 1 }); | ||
| 7440 | try testArgs(@Vector(3, i32), @Vector(3, u2), .{ 0, 1, 1 << 1 }); | ||
| 7441 | try testArgs(@Vector(3, i64), @Vector(3, u2), .{ 0, 1, 1 << 1 }); | ||
| 7442 | try testArgs(@Vector(3, i128), @Vector(3, u2), .{ 0, 1, 1 << 1 }); | ||
| 7443 | try testArgs(@Vector(3, i256), @Vector(3, u2), .{ 0, 1, 1 << 1 }); | ||
| 7444 | try testArgs(@Vector(3, i512), @Vector(3, u2), .{ 0, 1, 1 << 1 }); | ||
| 7445 | try testArgs(@Vector(3, i1024), @Vector(3, u2), .{ 0, 1, 1 << 1 }); | ||
| 7446 | |||
| 7447 | try testArgs(@Vector(3, u8), @Vector(3, i3), .{ -1 << 2, -1, 0 }); | ||
| 7448 | try testArgs(@Vector(3, u16), @Vector(3, i3), .{ -1 << 2, -1, 0 }); | ||
| 7449 | try testArgs(@Vector(3, u32), @Vector(3, i3), .{ -1 << 2, -1, 0 }); | ||
| 7450 | try testArgs(@Vector(3, u64), @Vector(3, i3), .{ -1 << 2, -1, 0 }); | ||
| 7451 | try testArgs(@Vector(3, u128), @Vector(3, i3), .{ -1 << 2, -1, 0 }); | ||
| 7452 | try testArgs(@Vector(3, u256), @Vector(3, i3), .{ -1 << 2, -1, 0 }); | ||
| 7453 | try testArgs(@Vector(3, u512), @Vector(3, i3), .{ -1 << 2, -1, 0 }); | ||
| 7454 | try testArgs(@Vector(3, u1024), @Vector(3, i3), .{ -1 << 2, -1, 0 }); | ||
| 7455 | try testArgs(@Vector(3, i8), @Vector(3, u3), .{ 0, 1, 1 << 2 }); | ||
| 7456 | try testArgs(@Vector(3, i16), @Vector(3, u3), .{ 0, 1, 1 << 2 }); | ||
| 7457 | try testArgs(@Vector(3, i32), @Vector(3, u3), .{ 0, 1, 1 << 2 }); | ||
| 7458 | try testArgs(@Vector(3, i64), @Vector(3, u3), .{ 0, 1, 1 << 2 }); | ||
| 7459 | try testArgs(@Vector(3, i128), @Vector(3, u3), .{ 0, 1, 1 << 2 }); | ||
| 7460 | try testArgs(@Vector(3, i256), @Vector(3, u3), .{ 0, 1, 1 << 2 }); | ||
| 7461 | try testArgs(@Vector(3, i512), @Vector(3, u3), .{ 0, 1, 1 << 2 }); | ||
| 7462 | try testArgs(@Vector(3, i1024), @Vector(3, u3), .{ 0, 1, 1 << 2 }); | ||
| 7463 | |||
| 7464 | try testArgs(@Vector(3, u8), @Vector(3, i4), .{ -1 << 3, -1, 0 }); | ||
| 7465 | try testArgs(@Vector(3, u16), @Vector(3, i4), .{ -1 << 3, -1, 0 }); | ||
| 7466 | try testArgs(@Vector(3, u32), @Vector(3, i4), .{ -1 << 3, -1, 0 }); | ||
| 7467 | try testArgs(@Vector(3, u64), @Vector(3, i4), .{ -1 << 3, -1, 0 }); | ||
| 7468 | try testArgs(@Vector(3, u128), @Vector(3, i4), .{ -1 << 3, -1, 0 }); | ||
| 7469 | try testArgs(@Vector(3, u256), @Vector(3, i4), .{ -1 << 3, -1, 0 }); | ||
| 7470 | try testArgs(@Vector(3, u512), @Vector(3, i4), .{ -1 << 3, -1, 0 }); | ||
| 7471 | try testArgs(@Vector(3, u1024), @Vector(3, i4), .{ -1 << 3, -1, 0 }); | ||
| 7472 | try testArgs(@Vector(3, i8), @Vector(3, u4), .{ 0, 1, 1 << 3 }); | ||
| 7473 | try testArgs(@Vector(3, i16), @Vector(3, u4), .{ 0, 1, 1 << 3 }); | ||
| 7474 | try testArgs(@Vector(3, i32), @Vector(3, u4), .{ 0, 1, 1 << 3 }); | ||
| 7475 | try testArgs(@Vector(3, i64), @Vector(3, u4), .{ 0, 1, 1 << 3 }); | ||
| 7476 | try testArgs(@Vector(3, i128), @Vector(3, u4), .{ 0, 1, 1 << 3 }); | ||
| 7477 | try testArgs(@Vector(3, i256), @Vector(3, u4), .{ 0, 1, 1 << 3 }); | ||
| 7478 | try testArgs(@Vector(3, i512), @Vector(3, u4), .{ 0, 1, 1 << 3 }); | ||
| 7479 | try testArgs(@Vector(3, i1024), @Vector(3, u4), .{ 0, 1, 1 << 3 }); | ||
| 7480 | |||
| 7481 | try testArgs(@Vector(3, u8), @Vector(3, i5), .{ -1 << 4, -1, 0 }); | ||
| 7482 | try testArgs(@Vector(3, u16), @Vector(3, i5), .{ -1 << 4, -1, 0 }); | ||
| 7483 | try testArgs(@Vector(3, u32), @Vector(3, i5), .{ -1 << 4, -1, 0 }); | ||
| 7484 | try testArgs(@Vector(3, u64), @Vector(3, i5), .{ -1 << 4, -1, 0 }); | ||
| 7485 | try testArgs(@Vector(3, u128), @Vector(3, i5), .{ -1 << 4, -1, 0 }); | ||
| 7486 | try testArgs(@Vector(3, u256), @Vector(3, i5), .{ -1 << 4, -1, 0 }); | ||
| 7487 | try testArgs(@Vector(3, u512), @Vector(3, i5), .{ -1 << 4, -1, 0 }); | ||
| 7488 | try testArgs(@Vector(3, u1024), @Vector(3, i5), .{ -1 << 4, -1, 0 }); | ||
| 7489 | try testArgs(@Vector(3, i8), @Vector(3, u5), .{ 0, 1, 1 << 4 }); | ||
| 7490 | try testArgs(@Vector(3, i16), @Vector(3, u5), .{ 0, 1, 1 << 4 }); | ||
| 7491 | try testArgs(@Vector(3, i32), @Vector(3, u5), .{ 0, 1, 1 << 4 }); | ||
| 7492 | try testArgs(@Vector(3, i64), @Vector(3, u5), .{ 0, 1, 1 << 4 }); | ||
| 7493 | try testArgs(@Vector(3, i128), @Vector(3, u5), .{ 0, 1, 1 << 4 }); | ||
| 7494 | try testArgs(@Vector(3, i256), @Vector(3, u5), .{ 0, 1, 1 << 4 }); | ||
| 7495 | try testArgs(@Vector(3, i512), @Vector(3, u5), .{ 0, 1, 1 << 4 }); | ||
| 7496 | try testArgs(@Vector(3, i1024), @Vector(3, u5), .{ 0, 1, 1 << 4 }); | ||
| 7497 | |||
| 7498 | try testArgs(@Vector(3, u8), @Vector(3, i7), .{ -1 << 6, -1, 0 }); | ||
| 7499 | try testArgs(@Vector(3, u16), @Vector(3, i7), .{ -1 << 6, -1, 0 }); | ||
| 7500 | try testArgs(@Vector(3, u32), @Vector(3, i7), .{ -1 << 6, -1, 0 }); | ||
| 7501 | try testArgs(@Vector(3, u64), @Vector(3, i7), .{ -1 << 6, -1, 0 }); | ||
| 7502 | try testArgs(@Vector(3, u128), @Vector(3, i7), .{ -1 << 6, -1, 0 }); | ||
| 7503 | try testArgs(@Vector(3, u256), @Vector(3, i7), .{ -1 << 6, -1, 0 }); | ||
| 7504 | try testArgs(@Vector(3, u512), @Vector(3, i7), .{ -1 << 6, -1, 0 }); | ||
| 7505 | try testArgs(@Vector(3, u1024), @Vector(3, i7), .{ -1 << 6, -1, 0 }); | ||
| 7506 | try testArgs(@Vector(3, i8), @Vector(3, u7), .{ 0, 1, 1 << 6 }); | ||
| 7507 | try testArgs(@Vector(3, i16), @Vector(3, u7), .{ 0, 1, 1 << 6 }); | ||
| 7508 | try testArgs(@Vector(3, i32), @Vector(3, u7), .{ 0, 1, 1 << 6 }); | ||
| 7509 | try testArgs(@Vector(3, i64), @Vector(3, u7), .{ 0, 1, 1 << 6 }); | ||
| 7510 | try testArgs(@Vector(3, i128), @Vector(3, u7), .{ 0, 1, 1 << 6 }); | ||
| 7511 | try testArgs(@Vector(3, i256), @Vector(3, u7), .{ 0, 1, 1 << 6 }); | ||
| 7512 | try testArgs(@Vector(3, i512), @Vector(3, u7), .{ 0, 1, 1 << 6 }); | ||
| 7513 | try testArgs(@Vector(3, i1024), @Vector(3, u7), .{ 0, 1, 1 << 6 }); | ||
| 7514 | |||
| 7515 | try testArgs(@Vector(3, u8), @Vector(3, i8), .{ -1 << 7, -1, 0 }); | ||
| 7516 | try testArgs(@Vector(3, u16), @Vector(3, i8), .{ -1 << 7, -1, 0 }); | ||
| 7517 | try testArgs(@Vector(3, u32), @Vector(3, i8), .{ -1 << 7, -1, 0 }); | ||
| 7518 | try testArgs(@Vector(3, u64), @Vector(3, i8), .{ -1 << 7, -1, 0 }); | ||
| 7519 | try testArgs(@Vector(3, u128), @Vector(3, i8), .{ -1 << 7, -1, 0 }); | ||
| 7520 | try testArgs(@Vector(3, u256), @Vector(3, i8), .{ -1 << 7, -1, 0 }); | ||
| 7521 | try testArgs(@Vector(3, u512), @Vector(3, i8), .{ -1 << 7, -1, 0 }); | ||
| 7522 | try testArgs(@Vector(3, u1024), @Vector(3, i8), .{ -1 << 7, -1, 0 }); | ||
| 7523 | try testArgs(@Vector(3, i8), @Vector(3, u8), .{ 0, 1, 1 << 7 }); | ||
| 7524 | try testArgs(@Vector(3, i16), @Vector(3, u8), .{ 0, 1, 1 << 7 }); | ||
| 7525 | try testArgs(@Vector(3, i32), @Vector(3, u8), .{ 0, 1, 1 << 7 }); | ||
| 7526 | try testArgs(@Vector(3, i64), @Vector(3, u8), .{ 0, 1, 1 << 7 }); | ||
| 7527 | try testArgs(@Vector(3, i128), @Vector(3, u8), .{ 0, 1, 1 << 7 }); | ||
| 7528 | try testArgs(@Vector(3, i256), @Vector(3, u8), .{ 0, 1, 1 << 7 }); | ||
| 7529 | try testArgs(@Vector(3, i512), @Vector(3, u8), .{ 0, 1, 1 << 7 }); | ||
| 7530 | try testArgs(@Vector(3, i1024), @Vector(3, u8), .{ 0, 1, 1 << 7 }); | ||
| 7531 | |||
| 7532 | try testArgs(@Vector(3, u8), @Vector(3, i9), .{ -1 << 8, -1, 0 }); | ||
| 7533 | try testArgs(@Vector(3, u16), @Vector(3, i9), .{ -1 << 8, -1, 0 }); | ||
| 7534 | try testArgs(@Vector(3, u32), @Vector(3, i9), .{ -1 << 8, -1, 0 }); | ||
| 7535 | try testArgs(@Vector(3, u64), @Vector(3, i9), .{ -1 << 8, -1, 0 }); | ||
| 7536 | try testArgs(@Vector(3, u128), @Vector(3, i9), .{ -1 << 8, -1, 0 }); | ||
| 7537 | try testArgs(@Vector(3, u256), @Vector(3, i9), .{ -1 << 8, -1, 0 }); | ||
| 7538 | try testArgs(@Vector(3, u512), @Vector(3, i9), .{ -1 << 8, -1, 0 }); | ||
| 7539 | try testArgs(@Vector(3, u1024), @Vector(3, i9), .{ -1 << 8, -1, 0 }); | ||
| 7540 | try testArgs(@Vector(3, i8), @Vector(3, u9), .{ 0, 1, 1 << 8 }); | ||
| 7541 | try testArgs(@Vector(3, i16), @Vector(3, u9), .{ 0, 1, 1 << 8 }); | ||
| 7542 | try testArgs(@Vector(3, i32), @Vector(3, u9), .{ 0, 1, 1 << 8 }); | ||
| 7543 | try testArgs(@Vector(3, i64), @Vector(3, u9), .{ 0, 1, 1 << 8 }); | ||
| 7544 | try testArgs(@Vector(3, i128), @Vector(3, u9), .{ 0, 1, 1 << 8 }); | ||
| 7545 | try testArgs(@Vector(3, i256), @Vector(3, u9), .{ 0, 1, 1 << 8 }); | ||
| 7546 | try testArgs(@Vector(3, i512), @Vector(3, u9), .{ 0, 1, 1 << 8 }); | ||
| 7547 | try testArgs(@Vector(3, i1024), @Vector(3, u9), .{ 0, 1, 1 << 8 }); | ||
| 7548 | |||
| 7549 | try testArgs(@Vector(3, u8), @Vector(3, i15), .{ -1 << 14, -1, 0 }); | ||
| 7550 | try testArgs(@Vector(3, u16), @Vector(3, i15), .{ -1 << 14, -1, 0 }); | ||
| 7551 | try testArgs(@Vector(3, u32), @Vector(3, i15), .{ -1 << 14, -1, 0 }); | ||
| 7552 | try testArgs(@Vector(3, u64), @Vector(3, i15), .{ -1 << 14, -1, 0 }); | ||
| 7553 | try testArgs(@Vector(3, u128), @Vector(3, i15), .{ -1 << 14, -1, 0 }); | ||
| 7554 | try testArgs(@Vector(3, u256), @Vector(3, i15), .{ -1 << 14, -1, 0 }); | ||
| 7555 | try testArgs(@Vector(3, u512), @Vector(3, i15), .{ -1 << 14, -1, 0 }); | ||
| 7556 | try testArgs(@Vector(3, u1024), @Vector(3, i15), .{ -1 << 14, -1, 0 }); | ||
| 7557 | try testArgs(@Vector(3, i8), @Vector(3, u15), .{ 0, 1, 1 << 14 }); | ||
| 7558 | try testArgs(@Vector(3, i16), @Vector(3, u15), .{ 0, 1, 1 << 14 }); | ||
| 7559 | try testArgs(@Vector(3, i32), @Vector(3, u15), .{ 0, 1, 1 << 14 }); | ||
| 7560 | try testArgs(@Vector(3, i64), @Vector(3, u15), .{ 0, 1, 1 << 14 }); | ||
| 7561 | try testArgs(@Vector(3, i128), @Vector(3, u15), .{ 0, 1, 1 << 14 }); | ||
| 7562 | try testArgs(@Vector(3, i256), @Vector(3, u15), .{ 0, 1, 1 << 14 }); | ||
| 7563 | try testArgs(@Vector(3, i512), @Vector(3, u15), .{ 0, 1, 1 << 14 }); | ||
| 7564 | try testArgs(@Vector(3, i1024), @Vector(3, u15), .{ 0, 1, 1 << 14 }); | ||
| 7565 | |||
| 7566 | try testArgs(@Vector(3, u8), @Vector(3, i16), .{ -1 << 15, -1, 0 }); | ||
| 7567 | try testArgs(@Vector(3, u16), @Vector(3, i16), .{ -1 << 15, -1, 0 }); | ||
| 7568 | try testArgs(@Vector(3, u32), @Vector(3, i16), .{ -1 << 15, -1, 0 }); | ||
| 7569 | try testArgs(@Vector(3, u64), @Vector(3, i16), .{ -1 << 15, -1, 0 }); | ||
| 7570 | try testArgs(@Vector(3, u128), @Vector(3, i16), .{ -1 << 15, -1, 0 }); | ||
| 7571 | try testArgs(@Vector(3, u256), @Vector(3, i16), .{ -1 << 15, -1, 0 }); | ||
| 7572 | try testArgs(@Vector(3, u512), @Vector(3, i16), .{ -1 << 15, -1, 0 }); | ||
| 7573 | try testArgs(@Vector(3, u1024), @Vector(3, i16), .{ -1 << 15, -1, 0 }); | ||
| 7574 | try testArgs(@Vector(3, i8), @Vector(3, u16), .{ 0, 1, 1 << 15 }); | ||
| 7575 | try testArgs(@Vector(3, i16), @Vector(3, u16), .{ 0, 1, 1 << 15 }); | ||
| 7576 | try testArgs(@Vector(3, i32), @Vector(3, u16), .{ 0, 1, 1 << 15 }); | ||
| 7577 | try testArgs(@Vector(3, i64), @Vector(3, u16), .{ 0, 1, 1 << 15 }); | ||
| 7578 | try testArgs(@Vector(3, i128), @Vector(3, u16), .{ 0, 1, 1 << 15 }); | ||
| 7579 | try testArgs(@Vector(3, i256), @Vector(3, u16), .{ 0, 1, 1 << 15 }); | ||
| 7580 | try testArgs(@Vector(3, i512), @Vector(3, u16), .{ 0, 1, 1 << 15 }); | ||
| 7581 | try testArgs(@Vector(3, i1024), @Vector(3, u16), .{ 0, 1, 1 << 15 }); | ||
| 7582 | |||
| 7583 | try testArgs(@Vector(3, u8), @Vector(3, i17), .{ -1 << 16, -1, 0 }); | ||
| 7584 | try testArgs(@Vector(3, u16), @Vector(3, i17), .{ -1 << 16, -1, 0 }); | ||
| 7585 | try testArgs(@Vector(3, u32), @Vector(3, i17), .{ -1 << 16, -1, 0 }); | ||
| 7586 | try testArgs(@Vector(3, u64), @Vector(3, i17), .{ -1 << 16, -1, 0 }); | ||
| 7587 | try testArgs(@Vector(3, u128), @Vector(3, i17), .{ -1 << 16, -1, 0 }); | ||
| 7588 | try testArgs(@Vector(3, u256), @Vector(3, i17), .{ -1 << 16, -1, 0 }); | ||
| 7589 | try testArgs(@Vector(3, u512), @Vector(3, i17), .{ -1 << 16, -1, 0 }); | ||
| 7590 | try testArgs(@Vector(3, u1024), @Vector(3, i17), .{ -1 << 16, -1, 0 }); | ||
| 7591 | try testArgs(@Vector(3, i8), @Vector(3, u17), .{ 0, 1, 1 << 16 }); | ||
| 7592 | try testArgs(@Vector(3, i16), @Vector(3, u17), .{ 0, 1, 1 << 16 }); | ||
| 7593 | try testArgs(@Vector(3, i32), @Vector(3, u17), .{ 0, 1, 1 << 16 }); | ||
| 7594 | try testArgs(@Vector(3, i64), @Vector(3, u17), .{ 0, 1, 1 << 16 }); | ||
| 7595 | try testArgs(@Vector(3, i128), @Vector(3, u17), .{ 0, 1, 1 << 16 }); | ||
| 7596 | try testArgs(@Vector(3, i256), @Vector(3, u17), .{ 0, 1, 1 << 16 }); | ||
| 7597 | try testArgs(@Vector(3, i512), @Vector(3, u17), .{ 0, 1, 1 << 16 }); | ||
| 7598 | try testArgs(@Vector(3, i1024), @Vector(3, u17), .{ 0, 1, 1 << 16 }); | ||
| 7599 | |||
| 7600 | try testArgs(@Vector(3, u8), @Vector(3, i31), .{ -1 << 30, -1, 0 }); | ||
| 7601 | try testArgs(@Vector(3, u16), @Vector(3, i31), .{ -1 << 30, -1, 0 }); | ||
| 7602 | try testArgs(@Vector(3, u32), @Vector(3, i31), .{ -1 << 30, -1, 0 }); | ||
| 7603 | try testArgs(@Vector(3, u64), @Vector(3, i31), .{ -1 << 30, -1, 0 }); | ||
| 7604 | try testArgs(@Vector(3, u128), @Vector(3, i31), .{ -1 << 30, -1, 0 }); | ||
| 7605 | try testArgs(@Vector(3, u256), @Vector(3, i31), .{ -1 << 30, -1, 0 }); | ||
| 7606 | try testArgs(@Vector(3, u512), @Vector(3, i31), .{ -1 << 30, -1, 0 }); | ||
| 7607 | try testArgs(@Vector(3, u1024), @Vector(3, i31), .{ -1 << 30, -1, 0 }); | ||
| 7608 | try testArgs(@Vector(3, i8), @Vector(3, u31), .{ 0, 1, 1 << 30 }); | ||
| 7609 | try testArgs(@Vector(3, i16), @Vector(3, u31), .{ 0, 1, 1 << 30 }); | ||
| 7610 | try testArgs(@Vector(3, i32), @Vector(3, u31), .{ 0, 1, 1 << 30 }); | ||
| 7611 | try testArgs(@Vector(3, i64), @Vector(3, u31), .{ 0, 1, 1 << 30 }); | ||
| 7612 | try testArgs(@Vector(3, i128), @Vector(3, u31), .{ 0, 1, 1 << 30 }); | ||
| 7613 | try testArgs(@Vector(3, i256), @Vector(3, u31), .{ 0, 1, 1 << 30 }); | ||
| 7614 | try testArgs(@Vector(3, i512), @Vector(3, u31), .{ 0, 1, 1 << 30 }); | ||
| 7615 | try testArgs(@Vector(3, i1024), @Vector(3, u31), .{ 0, 1, 1 << 30 }); | ||
| 7616 | |||
| 7617 | try testArgs(@Vector(3, u8), @Vector(3, i32), .{ -1 << 31, -1, 0 }); | ||
| 7618 | try testArgs(@Vector(3, u16), @Vector(3, i32), .{ -1 << 31, -1, 0 }); | ||
| 7619 | try testArgs(@Vector(3, u32), @Vector(3, i32), .{ -1 << 31, -1, 0 }); | ||
| 7620 | try testArgs(@Vector(3, u64), @Vector(3, i32), .{ -1 << 31, -1, 0 }); | ||
| 7621 | try testArgs(@Vector(3, u128), @Vector(3, i32), .{ -1 << 31, -1, 0 }); | ||
| 7622 | try testArgs(@Vector(3, u256), @Vector(3, i32), .{ -1 << 31, -1, 0 }); | ||
| 7623 | try testArgs(@Vector(3, u512), @Vector(3, i32), .{ -1 << 31, -1, 0 }); | ||
| 7624 | try testArgs(@Vector(3, u1024), @Vector(3, i32), .{ -1 << 31, -1, 0 }); | ||
| 7625 | try testArgs(@Vector(3, i8), @Vector(3, u32), .{ 0, 1, 1 << 31 }); | ||
| 7626 | try testArgs(@Vector(3, i16), @Vector(3, u32), .{ 0, 1, 1 << 31 }); | ||
| 7627 | try testArgs(@Vector(3, i32), @Vector(3, u32), .{ 0, 1, 1 << 31 }); | ||
| 7628 | try testArgs(@Vector(3, i64), @Vector(3, u32), .{ 0, 1, 1 << 31 }); | ||
| 7629 | try testArgs(@Vector(3, i128), @Vector(3, u32), .{ 0, 1, 1 << 31 }); | ||
| 7630 | try testArgs(@Vector(3, i256), @Vector(3, u32), .{ 0, 1, 1 << 31 }); | ||
| 7631 | try testArgs(@Vector(3, i512), @Vector(3, u32), .{ 0, 1, 1 << 31 }); | ||
| 7632 | try testArgs(@Vector(3, i1024), @Vector(3, u32), .{ 0, 1, 1 << 31 }); | ||
| 7633 | |||
| 7634 | try testArgs(@Vector(3, u8), @Vector(3, i33), .{ -1 << 32, -1, 0 }); | ||
| 7635 | try testArgs(@Vector(3, u16), @Vector(3, i33), .{ -1 << 32, -1, 0 }); | ||
| 7636 | try testArgs(@Vector(3, u32), @Vector(3, i33), .{ -1 << 32, -1, 0 }); | ||
| 7637 | try testArgs(@Vector(3, u64), @Vector(3, i33), .{ -1 << 32, -1, 0 }); | ||
| 7638 | try testArgs(@Vector(3, u128), @Vector(3, i33), .{ -1 << 32, -1, 0 }); | ||
| 7639 | try testArgs(@Vector(3, u256), @Vector(3, i33), .{ -1 << 32, -1, 0 }); | ||
| 7640 | try testArgs(@Vector(3, u512), @Vector(3, i33), .{ -1 << 32, -1, 0 }); | ||
| 7641 | try testArgs(@Vector(3, u1024), @Vector(3, i33), .{ -1 << 32, -1, 0 }); | ||
| 7642 | try testArgs(@Vector(3, i8), @Vector(3, u33), .{ 0, 1, 1 << 32 }); | ||
| 7643 | try testArgs(@Vector(3, i16), @Vector(3, u33), .{ 0, 1, 1 << 32 }); | ||
| 7644 | try testArgs(@Vector(3, i32), @Vector(3, u33), .{ 0, 1, 1 << 32 }); | ||
| 7645 | try testArgs(@Vector(3, i64), @Vector(3, u33), .{ 0, 1, 1 << 32 }); | ||
| 7646 | try testArgs(@Vector(3, i128), @Vector(3, u33), .{ 0, 1, 1 << 32 }); | ||
| 7647 | try testArgs(@Vector(3, i256), @Vector(3, u33), .{ 0, 1, 1 << 32 }); | ||
| 7648 | try testArgs(@Vector(3, i512), @Vector(3, u33), .{ 0, 1, 1 << 32 }); | ||
| 7649 | try testArgs(@Vector(3, i1024), @Vector(3, u33), .{ 0, 1, 1 << 32 }); | ||
| 7650 | |||
| 7651 | try testArgs(@Vector(3, u8), @Vector(3, i63), .{ -1 << 62, -1, 0 }); | ||
| 7652 | try testArgs(@Vector(3, u16), @Vector(3, i63), .{ -1 << 62, -1, 0 }); | ||
| 7653 | try testArgs(@Vector(3, u32), @Vector(3, i63), .{ -1 << 62, -1, 0 }); | ||
| 7654 | try testArgs(@Vector(3, u64), @Vector(3, i63), .{ -1 << 62, -1, 0 }); | ||
| 7655 | try testArgs(@Vector(3, u128), @Vector(3, i63), .{ -1 << 62, -1, 0 }); | ||
| 7656 | try testArgs(@Vector(3, u256), @Vector(3, i63), .{ -1 << 62, -1, 0 }); | ||
| 7657 | try testArgs(@Vector(3, u512), @Vector(3, i63), .{ -1 << 62, -1, 0 }); | ||
| 7658 | try testArgs(@Vector(3, u1024), @Vector(3, i63), .{ -1 << 62, -1, 0 }); | ||
| 7659 | try testArgs(@Vector(3, i8), @Vector(3, u63), .{ 0, 1, 1 << 62 }); | ||
| 7660 | try testArgs(@Vector(3, i16), @Vector(3, u63), .{ 0, 1, 1 << 62 }); | ||
| 7661 | try testArgs(@Vector(3, i32), @Vector(3, u63), .{ 0, 1, 1 << 62 }); | ||
| 7662 | try testArgs(@Vector(3, i64), @Vector(3, u63), .{ 0, 1, 1 << 62 }); | ||
| 7663 | try testArgs(@Vector(3, i128), @Vector(3, u63), .{ 0, 1, 1 << 62 }); | ||
| 7664 | try testArgs(@Vector(3, i256), @Vector(3, u63), .{ 0, 1, 1 << 62 }); | ||
| 7665 | try testArgs(@Vector(3, i512), @Vector(3, u63), .{ 0, 1, 1 << 62 }); | ||
| 7666 | try testArgs(@Vector(3, i1024), @Vector(3, u63), .{ 0, 1, 1 << 62 }); | ||
| 7667 | |||
| 7668 | try testArgs(@Vector(3, u8), @Vector(3, i64), .{ -1 << 63, -1, 0 }); | ||
| 7669 | try testArgs(@Vector(3, u16), @Vector(3, i64), .{ -1 << 63, -1, 0 }); | ||
| 7670 | try testArgs(@Vector(3, u32), @Vector(3, i64), .{ -1 << 63, -1, 0 }); | ||
| 7671 | try testArgs(@Vector(3, u64), @Vector(3, i64), .{ -1 << 63, -1, 0 }); | ||
| 7672 | try testArgs(@Vector(3, u128), @Vector(3, i64), .{ -1 << 63, -1, 0 }); | ||
| 7673 | try testArgs(@Vector(3, u256), @Vector(3, i64), .{ -1 << 63, -1, 0 }); | ||
| 7674 | try testArgs(@Vector(3, u512), @Vector(3, i64), .{ -1 << 63, -1, 0 }); | ||
| 7675 | try testArgs(@Vector(3, u1024), @Vector(3, i64), .{ -1 << 63, -1, 0 }); | ||
| 7676 | try testArgs(@Vector(3, i8), @Vector(3, u64), .{ 0, 1, 1 << 63 }); | ||
| 7677 | try testArgs(@Vector(3, i16), @Vector(3, u64), .{ 0, 1, 1 << 63 }); | ||
| 7678 | try testArgs(@Vector(3, i32), @Vector(3, u64), .{ 0, 1, 1 << 63 }); | ||
| 7679 | try testArgs(@Vector(3, i64), @Vector(3, u64), .{ 0, 1, 1 << 63 }); | ||
| 7680 | try testArgs(@Vector(3, i128), @Vector(3, u64), .{ 0, 1, 1 << 63 }); | ||
| 7681 | try testArgs(@Vector(3, i256), @Vector(3, u64), .{ 0, 1, 1 << 63 }); | ||
| 7682 | try testArgs(@Vector(3, i512), @Vector(3, u64), .{ 0, 1, 1 << 63 }); | ||
| 7683 | try testArgs(@Vector(3, i1024), @Vector(3, u64), .{ 0, 1, 1 << 63 }); | ||
| 7684 | |||
| 7685 | try testArgs(@Vector(3, u8), @Vector(3, i65), .{ -1 << 64, -1, 0 }); | ||
| 7686 | try testArgs(@Vector(3, u16), @Vector(3, i65), .{ -1 << 64, -1, 0 }); | ||
| 7687 | try testArgs(@Vector(3, u32), @Vector(3, i65), .{ -1 << 64, -1, 0 }); | ||
| 7688 | try testArgs(@Vector(3, u64), @Vector(3, i65), .{ -1 << 64, -1, 0 }); | ||
| 7689 | try testArgs(@Vector(3, u128), @Vector(3, i65), .{ -1 << 64, -1, 0 }); | ||
| 7690 | try testArgs(@Vector(3, u256), @Vector(3, i65), .{ -1 << 64, -1, 0 }); | ||
| 7691 | try testArgs(@Vector(3, u512), @Vector(3, i65), .{ -1 << 64, -1, 0 }); | ||
| 7692 | try testArgs(@Vector(3, u1024), @Vector(3, i65), .{ -1 << 64, -1, 0 }); | ||
| 7693 | try testArgs(@Vector(3, i8), @Vector(3, u65), .{ 0, 1, 1 << 64 }); | ||
| 7694 | try testArgs(@Vector(3, i16), @Vector(3, u65), .{ 0, 1, 1 << 64 }); | ||
| 7695 | try testArgs(@Vector(3, i32), @Vector(3, u65), .{ 0, 1, 1 << 64 }); | ||
| 7696 | try testArgs(@Vector(3, i64), @Vector(3, u65), .{ 0, 1, 1 << 64 }); | ||
| 7697 | try testArgs(@Vector(3, i128), @Vector(3, u65), .{ 0, 1, 1 << 64 }); | ||
| 7698 | try testArgs(@Vector(3, i256), @Vector(3, u65), .{ 0, 1, 1 << 64 }); | ||
| 7699 | try testArgs(@Vector(3, i512), @Vector(3, u65), .{ 0, 1, 1 << 64 }); | ||
| 7700 | try testArgs(@Vector(3, i1024), @Vector(3, u65), .{ 0, 1, 1 << 64 }); | ||
| 7701 | |||
| 7702 | try testArgs(@Vector(3, u8), @Vector(3, i95), .{ -1 << 94, -1, 0 }); | ||
| 7703 | try testArgs(@Vector(3, u16), @Vector(3, i95), .{ -1 << 94, -1, 0 }); | ||
| 7704 | try testArgs(@Vector(3, u32), @Vector(3, i95), .{ -1 << 94, -1, 0 }); | ||
| 7705 | try testArgs(@Vector(3, u64), @Vector(3, i95), .{ -1 << 94, -1, 0 }); | ||
| 7706 | try testArgs(@Vector(3, u128), @Vector(3, i95), .{ -1 << 94, -1, 0 }); | ||
| 7707 | try testArgs(@Vector(3, u256), @Vector(3, i95), .{ -1 << 94, -1, 0 }); | ||
| 7708 | try testArgs(@Vector(3, u512), @Vector(3, i95), .{ -1 << 94, -1, 0 }); | ||
| 7709 | try testArgs(@Vector(3, u1024), @Vector(3, i95), .{ -1 << 94, -1, 0 }); | ||
| 7710 | try testArgs(@Vector(3, i8), @Vector(3, u95), .{ 0, 1, 1 << 94 }); | ||
| 7711 | try testArgs(@Vector(3, i16), @Vector(3, u95), .{ 0, 1, 1 << 94 }); | ||
| 7712 | try testArgs(@Vector(3, i32), @Vector(3, u95), .{ 0, 1, 1 << 94 }); | ||
| 7713 | try testArgs(@Vector(3, i64), @Vector(3, u95), .{ 0, 1, 1 << 94 }); | ||
| 7714 | try testArgs(@Vector(3, i128), @Vector(3, u95), .{ 0, 1, 1 << 94 }); | ||
| 7715 | try testArgs(@Vector(3, i256), @Vector(3, u95), .{ 0, 1, 1 << 94 }); | ||
| 7716 | try testArgs(@Vector(3, i512), @Vector(3, u95), .{ 0, 1, 1 << 94 }); | ||
| 7717 | try testArgs(@Vector(3, i1024), @Vector(3, u95), .{ 0, 1, 1 << 94 }); | ||
| 7718 | |||
| 7719 | try testArgs(@Vector(3, u8), @Vector(3, i96), .{ -1 << 95, -1, 0 }); | ||
| 7720 | try testArgs(@Vector(3, u16), @Vector(3, i96), .{ -1 << 95, -1, 0 }); | ||
| 7721 | try testArgs(@Vector(3, u32), @Vector(3, i96), .{ -1 << 95, -1, 0 }); | ||
| 7722 | try testArgs(@Vector(3, u64), @Vector(3, i96), .{ -1 << 95, -1, 0 }); | ||
| 7723 | try testArgs(@Vector(3, u128), @Vector(3, i96), .{ -1 << 95, -1, 0 }); | ||
| 7724 | try testArgs(@Vector(3, u256), @Vector(3, i96), .{ -1 << 95, -1, 0 }); | ||
| 7725 | try testArgs(@Vector(3, u512), @Vector(3, i96), .{ -1 << 95, -1, 0 }); | ||
| 7726 | try testArgs(@Vector(3, u1024), @Vector(3, i96), .{ -1 << 95, -1, 0 }); | ||
| 7727 | try testArgs(@Vector(3, i8), @Vector(3, u96), .{ 0, 1, 1 << 95 }); | ||
| 7728 | try testArgs(@Vector(3, i16), @Vector(3, u96), .{ 0, 1, 1 << 95 }); | ||
| 7729 | try testArgs(@Vector(3, i32), @Vector(3, u96), .{ 0, 1, 1 << 95 }); | ||
| 7730 | try testArgs(@Vector(3, i64), @Vector(3, u96), .{ 0, 1, 1 << 95 }); | ||
| 7731 | try testArgs(@Vector(3, i128), @Vector(3, u96), .{ 0, 1, 1 << 95 }); | ||
| 7732 | try testArgs(@Vector(3, i256), @Vector(3, u96), .{ 0, 1, 1 << 95 }); | ||
| 7733 | try testArgs(@Vector(3, i512), @Vector(3, u96), .{ 0, 1, 1 << 95 }); | ||
| 7734 | try testArgs(@Vector(3, i1024), @Vector(3, u96), .{ 0, 1, 1 << 95 }); | ||
| 7735 | |||
| 7736 | try testArgs(@Vector(3, u8), @Vector(3, i97), .{ -1 << 96, -1, 0 }); | ||
| 7737 | try testArgs(@Vector(3, u16), @Vector(3, i97), .{ -1 << 96, -1, 0 }); | ||
| 7738 | try testArgs(@Vector(3, u32), @Vector(3, i97), .{ -1 << 96, -1, 0 }); | ||
| 7739 | try testArgs(@Vector(3, u64), @Vector(3, i97), .{ -1 << 96, -1, 0 }); | ||
| 7740 | try testArgs(@Vector(3, u128), @Vector(3, i97), .{ -1 << 96, -1, 0 }); | ||
| 7741 | try testArgs(@Vector(3, u256), @Vector(3, i97), .{ -1 << 96, -1, 0 }); | ||
| 7742 | try testArgs(@Vector(3, u512), @Vector(3, i97), .{ -1 << 96, -1, 0 }); | ||
| 7743 | try testArgs(@Vector(3, u1024), @Vector(3, i97), .{ -1 << 96, -1, 0 }); | ||
| 7744 | try testArgs(@Vector(3, i8), @Vector(3, u97), .{ 0, 1, 1 << 96 }); | ||
| 7745 | try testArgs(@Vector(3, i16), @Vector(3, u97), .{ 0, 1, 1 << 96 }); | ||
| 7746 | try testArgs(@Vector(3, i32), @Vector(3, u97), .{ 0, 1, 1 << 96 }); | ||
| 7747 | try testArgs(@Vector(3, i64), @Vector(3, u97), .{ 0, 1, 1 << 96 }); | ||
| 7748 | try testArgs(@Vector(3, i128), @Vector(3, u97), .{ 0, 1, 1 << 96 }); | ||
| 7749 | try testArgs(@Vector(3, i256), @Vector(3, u97), .{ 0, 1, 1 << 96 }); | ||
| 7750 | try testArgs(@Vector(3, i512), @Vector(3, u97), .{ 0, 1, 1 << 96 }); | ||
| 7751 | try testArgs(@Vector(3, i1024), @Vector(3, u97), .{ 0, 1, 1 << 96 }); | ||
| 7752 | |||
| 7753 | try testArgs(@Vector(3, u8), @Vector(3, i127), .{ -1 << 126, -1, 0 }); | ||
| 7754 | try testArgs(@Vector(3, u16), @Vector(3, i127), .{ -1 << 126, -1, 0 }); | ||
| 7755 | try testArgs(@Vector(3, u32), @Vector(3, i127), .{ -1 << 126, -1, 0 }); | ||
| 7756 | try testArgs(@Vector(3, u64), @Vector(3, i127), .{ -1 << 126, -1, 0 }); | ||
| 7757 | try testArgs(@Vector(3, u128), @Vector(3, i127), .{ -1 << 126, -1, 0 }); | ||
| 7758 | try testArgs(@Vector(3, u256), @Vector(3, i127), .{ -1 << 126, -1, 0 }); | ||
| 7759 | try testArgs(@Vector(3, u512), @Vector(3, i127), .{ -1 << 126, -1, 0 }); | ||
| 7760 | try testArgs(@Vector(3, u1024), @Vector(3, i127), .{ -1 << 126, -1, 0 }); | ||
| 7761 | try testArgs(@Vector(3, i8), @Vector(3, u127), .{ 0, 1, 1 << 126 }); | ||
| 7762 | try testArgs(@Vector(3, i16), @Vector(3, u127), .{ 0, 1, 1 << 126 }); | ||
| 7763 | try testArgs(@Vector(3, i32), @Vector(3, u127), .{ 0, 1, 1 << 126 }); | ||
| 7764 | try testArgs(@Vector(3, i64), @Vector(3, u127), .{ 0, 1, 1 << 126 }); | ||
| 7765 | try testArgs(@Vector(3, i128), @Vector(3, u127), .{ 0, 1, 1 << 126 }); | ||
| 7766 | try testArgs(@Vector(3, i256), @Vector(3, u127), .{ 0, 1, 1 << 126 }); | ||
| 7767 | try testArgs(@Vector(3, i512), @Vector(3, u127), .{ 0, 1, 1 << 126 }); | ||
| 7768 | try testArgs(@Vector(3, i1024), @Vector(3, u127), .{ 0, 1, 1 << 126 }); | ||
| 7769 | |||
| 7770 | try testArgs(@Vector(3, u8), @Vector(3, i128), .{ -1 << 127, -1, 0 }); | ||
| 7771 | try testArgs(@Vector(3, u16), @Vector(3, i128), .{ -1 << 127, -1, 0 }); | ||
| 7772 | try testArgs(@Vector(3, u32), @Vector(3, i128), .{ -1 << 127, -1, 0 }); | ||
| 7773 | try testArgs(@Vector(3, u64), @Vector(3, i128), .{ -1 << 127, -1, 0 }); | ||
| 7774 | try testArgs(@Vector(3, u128), @Vector(3, i128), .{ -1 << 127, -1, 0 }); | ||
| 7775 | try testArgs(@Vector(3, u256), @Vector(3, i128), .{ -1 << 127, -1, 0 }); | ||
| 7776 | try testArgs(@Vector(3, u512), @Vector(3, i128), .{ -1 << 127, -1, 0 }); | ||
| 7777 | try testArgs(@Vector(3, u1024), @Vector(3, i128), .{ -1 << 127, -1, 0 }); | ||
| 7778 | try testArgs(@Vector(3, i8), @Vector(3, u128), .{ 0, 1, 1 << 127 }); | ||
| 7779 | try testArgs(@Vector(3, i16), @Vector(3, u128), .{ 0, 1, 1 << 127 }); | ||
| 7780 | try testArgs(@Vector(3, i32), @Vector(3, u128), .{ 0, 1, 1 << 127 }); | ||
| 7781 | try testArgs(@Vector(3, i64), @Vector(3, u128), .{ 0, 1, 1 << 127 }); | ||
| 7782 | try testArgs(@Vector(3, i128), @Vector(3, u128), .{ 0, 1, 1 << 127 }); | ||
| 7783 | try testArgs(@Vector(3, i256), @Vector(3, u128), .{ 0, 1, 1 << 127 }); | ||
| 7784 | try testArgs(@Vector(3, i512), @Vector(3, u128), .{ 0, 1, 1 << 127 }); | ||
| 7785 | try testArgs(@Vector(3, i1024), @Vector(3, u128), .{ 0, 1, 1 << 127 }); | ||
| 7786 | |||
| 7787 | try testArgs(@Vector(3, u8), @Vector(3, i129), .{ -1 << 128, -1, 0 }); | ||
| 7788 | try testArgs(@Vector(3, u16), @Vector(3, i129), .{ -1 << 128, -1, 0 }); | ||
| 7789 | try testArgs(@Vector(3, u32), @Vector(3, i129), .{ -1 << 128, -1, 0 }); | ||
| 7790 | try testArgs(@Vector(3, u64), @Vector(3, i129), .{ -1 << 128, -1, 0 }); | ||
| 7791 | try testArgs(@Vector(3, u128), @Vector(3, i129), .{ -1 << 128, -1, 0 }); | ||
| 7792 | try testArgs(@Vector(3, u256), @Vector(3, i129), .{ -1 << 128, -1, 0 }); | ||
| 7793 | try testArgs(@Vector(3, u512), @Vector(3, i129), .{ -1 << 128, -1, 0 }); | ||
| 7794 | try testArgs(@Vector(3, u1024), @Vector(3, i129), .{ -1 << 128, -1, 0 }); | ||
| 7795 | try testArgs(@Vector(3, i8), @Vector(3, u129), .{ 0, 1, 1 << 128 }); | ||
| 7796 | try testArgs(@Vector(3, i16), @Vector(3, u129), .{ 0, 1, 1 << 128 }); | ||
| 7797 | try testArgs(@Vector(3, i32), @Vector(3, u129), .{ 0, 1, 1 << 128 }); | ||
| 7798 | try testArgs(@Vector(3, i64), @Vector(3, u129), .{ 0, 1, 1 << 128 }); | ||
| 7799 | try testArgs(@Vector(3, i128), @Vector(3, u129), .{ 0, 1, 1 << 128 }); | ||
| 7800 | try testArgs(@Vector(3, i256), @Vector(3, u129), .{ 0, 1, 1 << 128 }); | ||
| 7801 | try testArgs(@Vector(3, i512), @Vector(3, u129), .{ 0, 1, 1 << 128 }); | ||
| 7802 | try testArgs(@Vector(3, i1024), @Vector(3, u129), .{ 0, 1, 1 << 128 }); | ||
| 7803 | |||
| 7804 | try testArgs(@Vector(3, u8), @Vector(3, i159), .{ -1 << 158, -1, 0 }); | ||
| 7805 | try testArgs(@Vector(3, u16), @Vector(3, i159), .{ -1 << 158, -1, 0 }); | ||
| 7806 | try testArgs(@Vector(3, u32), @Vector(3, i159), .{ -1 << 158, -1, 0 }); | ||
| 7807 | try testArgs(@Vector(3, u64), @Vector(3, i159), .{ -1 << 158, -1, 0 }); | ||
| 7808 | try testArgs(@Vector(3, u128), @Vector(3, i159), .{ -1 << 158, -1, 0 }); | ||
| 7809 | try testArgs(@Vector(3, u256), @Vector(3, i159), .{ -1 << 158, -1, 0 }); | ||
| 7810 | try testArgs(@Vector(3, u512), @Vector(3, i159), .{ -1 << 158, -1, 0 }); | ||
| 7811 | try testArgs(@Vector(3, u1024), @Vector(3, i159), .{ -1 << 158, -1, 0 }); | ||
| 7812 | try testArgs(@Vector(3, i8), @Vector(3, u159), .{ 0, 1, 1 << 158 }); | ||
| 7813 | try testArgs(@Vector(3, i16), @Vector(3, u159), .{ 0, 1, 1 << 158 }); | ||
| 7814 | try testArgs(@Vector(3, i32), @Vector(3, u159), .{ 0, 1, 1 << 158 }); | ||
| 7815 | try testArgs(@Vector(3, i64), @Vector(3, u159), .{ 0, 1, 1 << 158 }); | ||
| 7816 | try testArgs(@Vector(3, i128), @Vector(3, u159), .{ 0, 1, 1 << 158 }); | ||
| 7817 | try testArgs(@Vector(3, i256), @Vector(3, u159), .{ 0, 1, 1 << 158 }); | ||
| 7818 | try testArgs(@Vector(3, i512), @Vector(3, u159), .{ 0, 1, 1 << 158 }); | ||
| 7819 | try testArgs(@Vector(3, i1024), @Vector(3, u159), .{ 0, 1, 1 << 158 }); | ||
| 7820 | |||
| 7821 | try testArgs(@Vector(3, u8), @Vector(3, i160), .{ -1 << 159, -1, 0 }); | ||
| 7822 | try testArgs(@Vector(3, u16), @Vector(3, i160), .{ -1 << 159, -1, 0 }); | ||
| 7823 | try testArgs(@Vector(3, u32), @Vector(3, i160), .{ -1 << 159, -1, 0 }); | ||
| 7824 | try testArgs(@Vector(3, u64), @Vector(3, i160), .{ -1 << 159, -1, 0 }); | ||
| 7825 | try testArgs(@Vector(3, u128), @Vector(3, i160), .{ -1 << 159, -1, 0 }); | ||
| 7826 | try testArgs(@Vector(3, u256), @Vector(3, i160), .{ -1 << 159, -1, 0 }); | ||
| 7827 | try testArgs(@Vector(3, u512), @Vector(3, i160), .{ -1 << 159, -1, 0 }); | ||
| 7828 | try testArgs(@Vector(3, u1024), @Vector(3, i160), .{ -1 << 159, -1, 0 }); | ||
| 7829 | try testArgs(@Vector(3, i8), @Vector(3, u160), .{ 0, 1, 1 << 159 }); | ||
| 7830 | try testArgs(@Vector(3, i16), @Vector(3, u160), .{ 0, 1, 1 << 159 }); | ||
| 7831 | try testArgs(@Vector(3, i32), @Vector(3, u160), .{ 0, 1, 1 << 159 }); | ||
| 7832 | try testArgs(@Vector(3, i64), @Vector(3, u160), .{ 0, 1, 1 << 159 }); | ||
| 7833 | try testArgs(@Vector(3, i128), @Vector(3, u160), .{ 0, 1, 1 << 159 }); | ||
| 7834 | try testArgs(@Vector(3, i256), @Vector(3, u160), .{ 0, 1, 1 << 159 }); | ||
| 7835 | try testArgs(@Vector(3, i512), @Vector(3, u160), .{ 0, 1, 1 << 159 }); | ||
| 7836 | try testArgs(@Vector(3, i1024), @Vector(3, u160), .{ 0, 1, 1 << 159 }); | ||
| 7837 | |||
| 7838 | try testArgs(@Vector(3, u8), @Vector(3, i161), .{ -1 << 160, -1, 0 }); | ||
| 7839 | try testArgs(@Vector(3, u16), @Vector(3, i161), .{ -1 << 160, -1, 0 }); | ||
| 7840 | try testArgs(@Vector(3, u32), @Vector(3, i161), .{ -1 << 160, -1, 0 }); | ||
| 7841 | try testArgs(@Vector(3, u64), @Vector(3, i161), .{ -1 << 160, -1, 0 }); | ||
| 7842 | try testArgs(@Vector(3, u128), @Vector(3, i161), .{ -1 << 160, -1, 0 }); | ||
| 7843 | try testArgs(@Vector(3, u256), @Vector(3, i161), .{ -1 << 160, -1, 0 }); | ||
| 7844 | try testArgs(@Vector(3, u512), @Vector(3, i161), .{ -1 << 160, -1, 0 }); | ||
| 7845 | try testArgs(@Vector(3, u1024), @Vector(3, i161), .{ -1 << 160, -1, 0 }); | ||
| 7846 | try testArgs(@Vector(3, i8), @Vector(3, u161), .{ 0, 1, 1 << 160 }); | ||
| 7847 | try testArgs(@Vector(3, i16), @Vector(3, u161), .{ 0, 1, 1 << 160 }); | ||
| 7848 | try testArgs(@Vector(3, i32), @Vector(3, u161), .{ 0, 1, 1 << 160 }); | ||
| 7849 | try testArgs(@Vector(3, i64), @Vector(3, u161), .{ 0, 1, 1 << 160 }); | ||
| 7850 | try testArgs(@Vector(3, i128), @Vector(3, u161), .{ 0, 1, 1 << 160 }); | ||
| 7851 | try testArgs(@Vector(3, i256), @Vector(3, u161), .{ 0, 1, 1 << 160 }); | ||
| 7852 | try testArgs(@Vector(3, i512), @Vector(3, u161), .{ 0, 1, 1 << 160 }); | ||
| 7853 | try testArgs(@Vector(3, i1024), @Vector(3, u161), .{ 0, 1, 1 << 160 }); | ||
| 7854 | |||
| 7855 | try testArgs(@Vector(3, u8), @Vector(3, i191), .{ -1 << 190, -1, 0 }); | ||
| 7856 | try testArgs(@Vector(3, u16), @Vector(3, i191), .{ -1 << 190, -1, 0 }); | ||
| 7857 | try testArgs(@Vector(3, u32), @Vector(3, i191), .{ -1 << 190, -1, 0 }); | ||
| 7858 | try testArgs(@Vector(3, u64), @Vector(3, i191), .{ -1 << 190, -1, 0 }); | ||
| 7859 | try testArgs(@Vector(3, u128), @Vector(3, i191), .{ -1 << 190, -1, 0 }); | ||
| 7860 | try testArgs(@Vector(3, u256), @Vector(3, i191), .{ -1 << 190, -1, 0 }); | ||
| 7861 | try testArgs(@Vector(3, u512), @Vector(3, i191), .{ -1 << 190, -1, 0 }); | ||
| 7862 | try testArgs(@Vector(3, u1024), @Vector(3, i191), .{ -1 << 190, -1, 0 }); | ||
| 7863 | try testArgs(@Vector(3, i8), @Vector(3, u191), .{ 0, 1, 1 << 190 }); | ||
| 7864 | try testArgs(@Vector(3, i16), @Vector(3, u191), .{ 0, 1, 1 << 190 }); | ||
| 7865 | try testArgs(@Vector(3, i32), @Vector(3, u191), .{ 0, 1, 1 << 190 }); | ||
| 7866 | try testArgs(@Vector(3, i64), @Vector(3, u191), .{ 0, 1, 1 << 190 }); | ||
| 7867 | try testArgs(@Vector(3, i128), @Vector(3, u191), .{ 0, 1, 1 << 190 }); | ||
| 7868 | try testArgs(@Vector(3, i256), @Vector(3, u191), .{ 0, 1, 1 << 190 }); | ||
| 7869 | try testArgs(@Vector(3, i512), @Vector(3, u191), .{ 0, 1, 1 << 190 }); | ||
| 7870 | try testArgs(@Vector(3, i1024), @Vector(3, u191), .{ 0, 1, 1 << 190 }); | ||
| 7871 | |||
| 7872 | try testArgs(@Vector(3, u8), @Vector(3, i192), .{ -1 << 191, -1, 0 }); | ||
| 7873 | try testArgs(@Vector(3, u16), @Vector(3, i192), .{ -1 << 191, -1, 0 }); | ||
| 7874 | try testArgs(@Vector(3, u32), @Vector(3, i192), .{ -1 << 191, -1, 0 }); | ||
| 7875 | try testArgs(@Vector(3, u64), @Vector(3, i192), .{ -1 << 191, -1, 0 }); | ||
| 7876 | try testArgs(@Vector(3, u128), @Vector(3, i192), .{ -1 << 191, -1, 0 }); | ||
| 7877 | try testArgs(@Vector(3, u256), @Vector(3, i192), .{ -1 << 191, -1, 0 }); | ||
| 7878 | try testArgs(@Vector(3, u512), @Vector(3, i192), .{ -1 << 191, -1, 0 }); | ||
| 7879 | try testArgs(@Vector(3, u1024), @Vector(3, i192), .{ -1 << 191, -1, 0 }); | ||
| 7880 | try testArgs(@Vector(3, i8), @Vector(3, u192), .{ 0, 1, 1 << 191 }); | ||
| 7881 | try testArgs(@Vector(3, i16), @Vector(3, u192), .{ 0, 1, 1 << 191 }); | ||
| 7882 | try testArgs(@Vector(3, i32), @Vector(3, u192), .{ 0, 1, 1 << 191 }); | ||
| 7883 | try testArgs(@Vector(3, i64), @Vector(3, u192), .{ 0, 1, 1 << 191 }); | ||
| 7884 | try testArgs(@Vector(3, i128), @Vector(3, u192), .{ 0, 1, 1 << 191 }); | ||
| 7885 | try testArgs(@Vector(3, i256), @Vector(3, u192), .{ 0, 1, 1 << 191 }); | ||
| 7886 | try testArgs(@Vector(3, i512), @Vector(3, u192), .{ 0, 1, 1 << 191 }); | ||
| 7887 | try testArgs(@Vector(3, i1024), @Vector(3, u192), .{ 0, 1, 1 << 191 }); | ||
| 7888 | |||
| 7889 | try testArgs(@Vector(3, u8), @Vector(3, i193), .{ -1 << 192, -1, 0 }); | ||
| 7890 | try testArgs(@Vector(3, u16), @Vector(3, i193), .{ -1 << 192, -1, 0 }); | ||
| 7891 | try testArgs(@Vector(3, u32), @Vector(3, i193), .{ -1 << 192, -1, 0 }); | ||
| 7892 | try testArgs(@Vector(3, u64), @Vector(3, i193), .{ -1 << 192, -1, 0 }); | ||
| 7893 | try testArgs(@Vector(3, u128), @Vector(3, i193), .{ -1 << 192, -1, 0 }); | ||
| 7894 | try testArgs(@Vector(3, u256), @Vector(3, i193), .{ -1 << 192, -1, 0 }); | ||
| 7895 | try testArgs(@Vector(3, u512), @Vector(3, i193), .{ -1 << 192, -1, 0 }); | ||
| 7896 | try testArgs(@Vector(3, u1024), @Vector(3, i193), .{ -1 << 192, -1, 0 }); | ||
| 7897 | try testArgs(@Vector(3, i8), @Vector(3, u193), .{ 0, 1, 1 << 192 }); | ||
| 7898 | try testArgs(@Vector(3, i16), @Vector(3, u193), .{ 0, 1, 1 << 192 }); | ||
| 7899 | try testArgs(@Vector(3, i32), @Vector(3, u193), .{ 0, 1, 1 << 192 }); | ||
| 7900 | try testArgs(@Vector(3, i64), @Vector(3, u193), .{ 0, 1, 1 << 192 }); | ||
| 7901 | try testArgs(@Vector(3, i128), @Vector(3, u193), .{ 0, 1, 1 << 192 }); | ||
| 7902 | try testArgs(@Vector(3, i256), @Vector(3, u193), .{ 0, 1, 1 << 192 }); | ||
| 7903 | try testArgs(@Vector(3, i512), @Vector(3, u193), .{ 0, 1, 1 << 192 }); | ||
| 7904 | try testArgs(@Vector(3, i1024), @Vector(3, u193), .{ 0, 1, 1 << 192 }); | ||
| 7905 | |||
| 7906 | try testArgs(@Vector(3, u8), @Vector(3, i223), .{ -1 << 222, -1, 0 }); | ||
| 7907 | try testArgs(@Vector(3, u16), @Vector(3, i223), .{ -1 << 222, -1, 0 }); | ||
| 7908 | try testArgs(@Vector(3, u32), @Vector(3, i223), .{ -1 << 222, -1, 0 }); | ||
| 7909 | try testArgs(@Vector(3, u64), @Vector(3, i223), .{ -1 << 222, -1, 0 }); | ||
| 7910 | try testArgs(@Vector(3, u128), @Vector(3, i223), .{ -1 << 222, -1, 0 }); | ||
| 7911 | try testArgs(@Vector(3, u256), @Vector(3, i223), .{ -1 << 222, -1, 0 }); | ||
| 7912 | try testArgs(@Vector(3, u512), @Vector(3, i223), .{ -1 << 222, -1, 0 }); | ||
| 7913 | try testArgs(@Vector(3, u1024), @Vector(3, i223), .{ -1 << 222, -1, 0 }); | ||
| 7914 | try testArgs(@Vector(3, i8), @Vector(3, u223), .{ 0, 1, 1 << 222 }); | ||
| 7915 | try testArgs(@Vector(3, i16), @Vector(3, u223), .{ 0, 1, 1 << 222 }); | ||
| 7916 | try testArgs(@Vector(3, i32), @Vector(3, u223), .{ 0, 1, 1 << 222 }); | ||
| 7917 | try testArgs(@Vector(3, i64), @Vector(3, u223), .{ 0, 1, 1 << 222 }); | ||
| 7918 | try testArgs(@Vector(3, i128), @Vector(3, u223), .{ 0, 1, 1 << 222 }); | ||
| 7919 | try testArgs(@Vector(3, i256), @Vector(3, u223), .{ 0, 1, 1 << 222 }); | ||
| 7920 | try testArgs(@Vector(3, i512), @Vector(3, u223), .{ 0, 1, 1 << 222 }); | ||
| 7921 | try testArgs(@Vector(3, i1024), @Vector(3, u223), .{ 0, 1, 1 << 222 }); | ||
| 7922 | |||
| 7923 | try testArgs(@Vector(3, u8), @Vector(3, i224), .{ -1 << 223, -1, 0 }); | ||
| 7924 | try testArgs(@Vector(3, u16), @Vector(3, i224), .{ -1 << 223, -1, 0 }); | ||
| 7925 | try testArgs(@Vector(3, u32), @Vector(3, i224), .{ -1 << 223, -1, 0 }); | ||
| 7926 | try testArgs(@Vector(3, u64), @Vector(3, i224), .{ -1 << 223, -1, 0 }); | ||
| 7927 | try testArgs(@Vector(3, u128), @Vector(3, i224), .{ -1 << 223, -1, 0 }); | ||
| 7928 | try testArgs(@Vector(3, u256), @Vector(3, i224), .{ -1 << 223, -1, 0 }); | ||
| 7929 | try testArgs(@Vector(3, u512), @Vector(3, i224), .{ -1 << 223, -1, 0 }); | ||
| 7930 | try testArgs(@Vector(3, u1024), @Vector(3, i224), .{ -1 << 223, -1, 0 }); | ||
| 7931 | try testArgs(@Vector(3, i8), @Vector(3, u224), .{ 0, 1, 1 << 223 }); | ||
| 7932 | try testArgs(@Vector(3, i16), @Vector(3, u224), .{ 0, 1, 1 << 223 }); | ||
| 7933 | try testArgs(@Vector(3, i32), @Vector(3, u224), .{ 0, 1, 1 << 223 }); | ||
| 7934 | try testArgs(@Vector(3, i64), @Vector(3, u224), .{ 0, 1, 1 << 223 }); | ||
| 7935 | try testArgs(@Vector(3, i128), @Vector(3, u224), .{ 0, 1, 1 << 223 }); | ||
| 7936 | try testArgs(@Vector(3, i256), @Vector(3, u224), .{ 0, 1, 1 << 223 }); | ||
| 7937 | try testArgs(@Vector(3, i512), @Vector(3, u224), .{ 0, 1, 1 << 223 }); | ||
| 7938 | try testArgs(@Vector(3, i1024), @Vector(3, u224), .{ 0, 1, 1 << 223 }); | ||
| 7939 | |||
| 7940 | try testArgs(@Vector(3, u8), @Vector(3, i225), .{ -1 << 224, -1, 0 }); | ||
| 7941 | try testArgs(@Vector(3, u16), @Vector(3, i225), .{ -1 << 224, -1, 0 }); | ||
| 7942 | try testArgs(@Vector(3, u32), @Vector(3, i225), .{ -1 << 224, -1, 0 }); | ||
| 7943 | try testArgs(@Vector(3, u64), @Vector(3, i225), .{ -1 << 224, -1, 0 }); | ||
| 7944 | try testArgs(@Vector(3, u128), @Vector(3, i225), .{ -1 << 224, -1, 0 }); | ||
| 7945 | try testArgs(@Vector(3, u256), @Vector(3, i225), .{ -1 << 224, -1, 0 }); | ||
| 7946 | try testArgs(@Vector(3, u512), @Vector(3, i225), .{ -1 << 224, -1, 0 }); | ||
| 7947 | try testArgs(@Vector(3, u1024), @Vector(3, i225), .{ -1 << 224, -1, 0 }); | ||
| 7948 | try testArgs(@Vector(3, i8), @Vector(3, u225), .{ 0, 1, 1 << 224 }); | ||
| 7949 | try testArgs(@Vector(3, i16), @Vector(3, u225), .{ 0, 1, 1 << 224 }); | ||
| 7950 | try testArgs(@Vector(3, i32), @Vector(3, u225), .{ 0, 1, 1 << 224 }); | ||
| 7951 | try testArgs(@Vector(3, i64), @Vector(3, u225), .{ 0, 1, 1 << 224 }); | ||
| 7952 | try testArgs(@Vector(3, i128), @Vector(3, u225), .{ 0, 1, 1 << 224 }); | ||
| 7953 | try testArgs(@Vector(3, i256), @Vector(3, u225), .{ 0, 1, 1 << 224 }); | ||
| 7954 | try testArgs(@Vector(3, i512), @Vector(3, u225), .{ 0, 1, 1 << 224 }); | ||
| 7955 | try testArgs(@Vector(3, i1024), @Vector(3, u225), .{ 0, 1, 1 << 224 }); | ||
| 7956 | |||
| 7957 | try testArgs(@Vector(3, u8), @Vector(3, i255), .{ -1 << 254, -1, 0 }); | ||
| 7958 | try testArgs(@Vector(3, u16), @Vector(3, i255), .{ -1 << 254, -1, 0 }); | ||
| 7959 | try testArgs(@Vector(3, u32), @Vector(3, i255), .{ -1 << 254, -1, 0 }); | ||
| 7960 | try testArgs(@Vector(3, u64), @Vector(3, i255), .{ -1 << 254, -1, 0 }); | ||
| 7961 | try testArgs(@Vector(3, u128), @Vector(3, i255), .{ -1 << 254, -1, 0 }); | ||
| 7962 | try testArgs(@Vector(3, u256), @Vector(3, i255), .{ -1 << 254, -1, 0 }); | ||
| 7963 | try testArgs(@Vector(3, u512), @Vector(3, i255), .{ -1 << 254, -1, 0 }); | ||
| 7964 | try testArgs(@Vector(3, u1024), @Vector(3, i255), .{ -1 << 254, -1, 0 }); | ||
| 7965 | try testArgs(@Vector(3, i8), @Vector(3, u255), .{ 0, 1, 1 << 254 }); | ||
| 7966 | try testArgs(@Vector(3, i16), @Vector(3, u255), .{ 0, 1, 1 << 254 }); | ||
| 7967 | try testArgs(@Vector(3, i32), @Vector(3, u255), .{ 0, 1, 1 << 254 }); | ||
| 7968 | try testArgs(@Vector(3, i64), @Vector(3, u255), .{ 0, 1, 1 << 254 }); | ||
| 7969 | try testArgs(@Vector(3, i128), @Vector(3, u255), .{ 0, 1, 1 << 254 }); | ||
| 7970 | try testArgs(@Vector(3, i256), @Vector(3, u255), .{ 0, 1, 1 << 254 }); | ||
| 7971 | try testArgs(@Vector(3, i512), @Vector(3, u255), .{ 0, 1, 1 << 254 }); | ||
| 7972 | try testArgs(@Vector(3, i1024), @Vector(3, u255), .{ 0, 1, 1 << 254 }); | ||
| 7973 | |||
| 7974 | try testArgs(@Vector(3, u8), @Vector(3, i256), .{ -1 << 255, -1, 0 }); | ||
| 7975 | try testArgs(@Vector(3, u16), @Vector(3, i256), .{ -1 << 255, -1, 0 }); | ||
| 7976 | try testArgs(@Vector(3, u32), @Vector(3, i256), .{ -1 << 255, -1, 0 }); | ||
| 7977 | try testArgs(@Vector(3, u64), @Vector(3, i256), .{ -1 << 255, -1, 0 }); | ||
| 7978 | try testArgs(@Vector(3, u128), @Vector(3, i256), .{ -1 << 255, -1, 0 }); | ||
| 7979 | try testArgs(@Vector(3, u256), @Vector(3, i256), .{ -1 << 255, -1, 0 }); | ||
| 7980 | try testArgs(@Vector(3, u512), @Vector(3, i256), .{ -1 << 255, -1, 0 }); | ||
| 7981 | try testArgs(@Vector(3, u1024), @Vector(3, i256), .{ -1 << 255, -1, 0 }); | ||
| 7982 | try testArgs(@Vector(3, i8), @Vector(3, u256), .{ 0, 1, 1 << 255 }); | ||
| 7983 | try testArgs(@Vector(3, i16), @Vector(3, u256), .{ 0, 1, 1 << 255 }); | ||
| 7984 | try testArgs(@Vector(3, i32), @Vector(3, u256), .{ 0, 1, 1 << 255 }); | ||
| 7985 | try testArgs(@Vector(3, i64), @Vector(3, u256), .{ 0, 1, 1 << 255 }); | ||
| 7986 | try testArgs(@Vector(3, i128), @Vector(3, u256), .{ 0, 1, 1 << 255 }); | ||
| 7987 | try testArgs(@Vector(3, i256), @Vector(3, u256), .{ 0, 1, 1 << 255 }); | ||
| 7988 | try testArgs(@Vector(3, i512), @Vector(3, u256), .{ 0, 1, 1 << 255 }); | ||
| 7989 | try testArgs(@Vector(3, i1024), @Vector(3, u256), .{ 0, 1, 1 << 255 }); | ||
| 7990 | |||
| 7991 | try testArgs(@Vector(3, u8), @Vector(3, i257), .{ -1 << 256, -1, 0 }); | ||
| 7992 | try testArgs(@Vector(3, u16), @Vector(3, i257), .{ -1 << 256, -1, 0 }); | ||
| 7993 | try testArgs(@Vector(3, u32), @Vector(3, i257), .{ -1 << 256, -1, 0 }); | ||
| 7994 | try testArgs(@Vector(3, u64), @Vector(3, i257), .{ -1 << 256, -1, 0 }); | ||
| 7995 | try testArgs(@Vector(3, u128), @Vector(3, i257), .{ -1 << 256, -1, 0 }); | ||
| 7996 | try testArgs(@Vector(3, u256), @Vector(3, i257), .{ -1 << 256, -1, 0 }); | ||
| 7997 | try testArgs(@Vector(3, u512), @Vector(3, i257), .{ -1 << 256, -1, 0 }); | ||
| 7998 | try testArgs(@Vector(3, u1024), @Vector(3, i257), .{ -1 << 256, -1, 0 }); | ||
| 7999 | try testArgs(@Vector(3, i8), @Vector(3, u257), .{ 0, 1, 1 << 256 }); | ||
| 8000 | try testArgs(@Vector(3, i16), @Vector(3, u257), .{ 0, 1, 1 << 256 }); | ||
| 8001 | try testArgs(@Vector(3, i32), @Vector(3, u257), .{ 0, 1, 1 << 256 }); | ||
| 8002 | try testArgs(@Vector(3, i64), @Vector(3, u257), .{ 0, 1, 1 << 256 }); | ||
| 8003 | try testArgs(@Vector(3, i128), @Vector(3, u257), .{ 0, 1, 1 << 256 }); | ||
| 8004 | try testArgs(@Vector(3, i256), @Vector(3, u257), .{ 0, 1, 1 << 256 }); | ||
| 8005 | try testArgs(@Vector(3, i512), @Vector(3, u257), .{ 0, 1, 1 << 256 }); | ||
| 8006 | try testArgs(@Vector(3, i1024), @Vector(3, u257), .{ 0, 1, 1 << 256 }); | ||
| 8007 | |||
| 8008 | try testArgs(@Vector(3, u8), @Vector(3, i511), .{ -1 << 510, -1, 0 }); | ||
| 8009 | try testArgs(@Vector(3, u16), @Vector(3, i511), .{ -1 << 510, -1, 0 }); | ||
| 8010 | try testArgs(@Vector(3, u32), @Vector(3, i511), .{ -1 << 510, -1, 0 }); | ||
| 8011 | try testArgs(@Vector(3, u64), @Vector(3, i511), .{ -1 << 510, -1, 0 }); | ||
| 8012 | try testArgs(@Vector(3, u128), @Vector(3, i511), .{ -1 << 510, -1, 0 }); | ||
| 8013 | try testArgs(@Vector(3, u256), @Vector(3, i511), .{ -1 << 510, -1, 0 }); | ||
| 8014 | try testArgs(@Vector(3, u512), @Vector(3, i511), .{ -1 << 510, -1, 0 }); | ||
| 8015 | try testArgs(@Vector(3, u1024), @Vector(3, i511), .{ -1 << 510, -1, 0 }); | ||
| 8016 | try testArgs(@Vector(3, i8), @Vector(3, u511), .{ 0, 1, 1 << 510 }); | ||
| 8017 | try testArgs(@Vector(3, i16), @Vector(3, u511), .{ 0, 1, 1 << 510 }); | ||
| 8018 | try testArgs(@Vector(3, i32), @Vector(3, u511), .{ 0, 1, 1 << 510 }); | ||
| 8019 | try testArgs(@Vector(3, i64), @Vector(3, u511), .{ 0, 1, 1 << 510 }); | ||
| 8020 | try testArgs(@Vector(3, i128), @Vector(3, u511), .{ 0, 1, 1 << 510 }); | ||
| 8021 | try testArgs(@Vector(3, i256), @Vector(3, u511), .{ 0, 1, 1 << 510 }); | ||
| 8022 | try testArgs(@Vector(3, i512), @Vector(3, u511), .{ 0, 1, 1 << 510 }); | ||
| 8023 | try testArgs(@Vector(3, i1024), @Vector(3, u511), .{ 0, 1, 1 << 510 }); | ||
| 8024 | |||
| 8025 | try testArgs(@Vector(3, u8), @Vector(3, i512), .{ -1 << 511, -1, 0 }); | ||
| 8026 | try testArgs(@Vector(3, u16), @Vector(3, i512), .{ -1 << 511, -1, 0 }); | ||
| 8027 | try testArgs(@Vector(3, u32), @Vector(3, i512), .{ -1 << 511, -1, 0 }); | ||
| 8028 | try testArgs(@Vector(3, u64), @Vector(3, i512), .{ -1 << 511, -1, 0 }); | ||
| 8029 | try testArgs(@Vector(3, u128), @Vector(3, i512), .{ -1 << 511, -1, 0 }); | ||
| 8030 | try testArgs(@Vector(3, u256), @Vector(3, i512), .{ -1 << 511, -1, 0 }); | ||
| 8031 | try testArgs(@Vector(3, u512), @Vector(3, i512), .{ -1 << 511, -1, 0 }); | ||
| 8032 | try testArgs(@Vector(3, u1024), @Vector(3, i512), .{ -1 << 511, -1, 0 }); | ||
| 8033 | try testArgs(@Vector(3, i8), @Vector(3, u512), .{ 0, 1, 1 << 511 }); | ||
| 8034 | try testArgs(@Vector(3, i16), @Vector(3, u512), .{ 0, 1, 1 << 511 }); | ||
| 8035 | try testArgs(@Vector(3, i32), @Vector(3, u512), .{ 0, 1, 1 << 511 }); | ||
| 8036 | try testArgs(@Vector(3, i64), @Vector(3, u512), .{ 0, 1, 1 << 511 }); | ||
| 8037 | try testArgs(@Vector(3, i128), @Vector(3, u512), .{ 0, 1, 1 << 511 }); | ||
| 8038 | try testArgs(@Vector(3, i256), @Vector(3, u512), .{ 0, 1, 1 << 511 }); | ||
| 8039 | try testArgs(@Vector(3, i512), @Vector(3, u512), .{ 0, 1, 1 << 511 }); | ||
| 8040 | try testArgs(@Vector(3, i1024), @Vector(3, u512), .{ 0, 1, 1 << 511 }); | ||
| 8041 | |||
| 8042 | try testArgs(@Vector(3, u8), @Vector(3, i513), .{ -1 << 512, -1, 0 }); | ||
| 8043 | try testArgs(@Vector(3, u16), @Vector(3, i513), .{ -1 << 512, -1, 0 }); | ||
| 8044 | try testArgs(@Vector(3, u32), @Vector(3, i513), .{ -1 << 512, -1, 0 }); | ||
| 8045 | try testArgs(@Vector(3, u64), @Vector(3, i513), .{ -1 << 512, -1, 0 }); | ||
| 8046 | try testArgs(@Vector(3, u128), @Vector(3, i513), .{ -1 << 512, -1, 0 }); | ||
| 8047 | try testArgs(@Vector(3, u256), @Vector(3, i513), .{ -1 << 512, -1, 0 }); | ||
| 8048 | try testArgs(@Vector(3, u512), @Vector(3, i513), .{ -1 << 512, -1, 0 }); | ||
| 8049 | try testArgs(@Vector(3, u1024), @Vector(3, i513), .{ -1 << 512, -1, 0 }); | ||
| 8050 | try testArgs(@Vector(3, i8), @Vector(3, u513), .{ 0, 1, 1 << 512 }); | ||
| 8051 | try testArgs(@Vector(3, i16), @Vector(3, u513), .{ 0, 1, 1 << 512 }); | ||
| 8052 | try testArgs(@Vector(3, i32), @Vector(3, u513), .{ 0, 1, 1 << 512 }); | ||
| 8053 | try testArgs(@Vector(3, i64), @Vector(3, u513), .{ 0, 1, 1 << 512 }); | ||
| 8054 | try testArgs(@Vector(3, i128), @Vector(3, u513), .{ 0, 1, 1 << 512 }); | ||
| 8055 | try testArgs(@Vector(3, i256), @Vector(3, u513), .{ 0, 1, 1 << 512 }); | ||
| 8056 | try testArgs(@Vector(3, i512), @Vector(3, u513), .{ 0, 1, 1 << 512 }); | ||
| 8057 | try testArgs(@Vector(3, i1024), @Vector(3, u513), .{ 0, 1, 1 << 512 }); | ||
| 8058 | |||
| 8059 | try testArgs(@Vector(3, u8), @Vector(3, i1023), .{ -1 << 1022, -1, 0 }); | ||
| 8060 | try testArgs(@Vector(3, u16), @Vector(3, i1023), .{ -1 << 1022, -1, 0 }); | ||
| 8061 | try testArgs(@Vector(3, u32), @Vector(3, i1023), .{ -1 << 1022, -1, 0 }); | ||
| 8062 | try testArgs(@Vector(3, u64), @Vector(3, i1023), .{ -1 << 1022, -1, 0 }); | ||
| 8063 | try testArgs(@Vector(3, u128), @Vector(3, i1023), .{ -1 << 1022, -1, 0 }); | ||
| 8064 | try testArgs(@Vector(3, u256), @Vector(3, i1023), .{ -1 << 1022, -1, 0 }); | ||
| 8065 | try testArgs(@Vector(3, u512), @Vector(3, i1023), .{ -1 << 1022, -1, 0 }); | ||
| 8066 | try testArgs(@Vector(3, u1024), @Vector(3, i1023), .{ -1 << 1022, -1, 0 }); | ||
| 8067 | try testArgs(@Vector(3, i8), @Vector(3, u1023), .{ 0, 1, 1 << 1022 }); | ||
| 8068 | try testArgs(@Vector(3, i16), @Vector(3, u1023), .{ 0, 1, 1 << 1022 }); | ||
| 8069 | try testArgs(@Vector(3, i32), @Vector(3, u1023), .{ 0, 1, 1 << 1022 }); | ||
| 8070 | try testArgs(@Vector(3, i64), @Vector(3, u1023), .{ 0, 1, 1 << 1022 }); | ||
| 8071 | try testArgs(@Vector(3, i128), @Vector(3, u1023), .{ 0, 1, 1 << 1022 }); | ||
| 8072 | try testArgs(@Vector(3, i256), @Vector(3, u1023), .{ 0, 1, 1 << 1022 }); | ||
| 8073 | try testArgs(@Vector(3, i512), @Vector(3, u1023), .{ 0, 1, 1 << 1022 }); | ||
| 8074 | try testArgs(@Vector(3, i1024), @Vector(3, u1023), .{ 0, 1, 1 << 1022 }); | ||
| 8075 | |||
| 8076 | try testArgs(@Vector(3, u8), @Vector(3, i1024), .{ -1 << 1023, -1, 0 }); | ||
| 8077 | try testArgs(@Vector(3, u16), @Vector(3, i1024), .{ -1 << 1023, -1, 0 }); | ||
| 8078 | try testArgs(@Vector(3, u32), @Vector(3, i1024), .{ -1 << 1023, -1, 0 }); | ||
| 8079 | try testArgs(@Vector(3, u64), @Vector(3, i1024), .{ -1 << 1023, -1, 0 }); | ||
| 8080 | try testArgs(@Vector(3, u128), @Vector(3, i1024), .{ -1 << 1023, -1, 0 }); | ||
| 8081 | try testArgs(@Vector(3, u256), @Vector(3, i1024), .{ -1 << 1023, -1, 0 }); | ||
| 8082 | try testArgs(@Vector(3, u512), @Vector(3, i1024), .{ -1 << 1023, -1, 0 }); | ||
| 8083 | try testArgs(@Vector(3, u1024), @Vector(3, i1024), .{ -1 << 1023, -1, 0 }); | ||
| 8084 | try testArgs(@Vector(3, i8), @Vector(3, u1024), .{ 0, 1, 1 << 1023 }); | ||
| 8085 | try testArgs(@Vector(3, i16), @Vector(3, u1024), .{ 0, 1, 1 << 1023 }); | ||
| 8086 | try testArgs(@Vector(3, i32), @Vector(3, u1024), .{ 0, 1, 1 << 1023 }); | ||
| 8087 | try testArgs(@Vector(3, i64), @Vector(3, u1024), .{ 0, 1, 1 << 1023 }); | ||
| 8088 | try testArgs(@Vector(3, i128), @Vector(3, u1024), .{ 0, 1, 1 << 1023 }); | ||
| 8089 | try testArgs(@Vector(3, i256), @Vector(3, u1024), .{ 0, 1, 1 << 1023 }); | ||
| 8090 | try testArgs(@Vector(3, i512), @Vector(3, u1024), .{ 0, 1, 1 << 1023 }); | ||
| 8091 | try testArgs(@Vector(3, i1024), @Vector(3, u1024), .{ 0, 1, 1 << 1023 }); | ||
| 8092 | |||
| 8093 | try testArgs(@Vector(3, u8), @Vector(3, i1025), .{ -1 << 1024, -1, 0 }); | ||
| 8094 | try testArgs(@Vector(3, u16), @Vector(3, i1025), .{ -1 << 1024, -1, 0 }); | ||
| 8095 | try testArgs(@Vector(3, u32), @Vector(3, i1025), .{ -1 << 1024, -1, 0 }); | ||
| 8096 | try testArgs(@Vector(3, u64), @Vector(3, i1025), .{ -1 << 1024, -1, 0 }); | ||
| 8097 | try testArgs(@Vector(3, u128), @Vector(3, i1025), .{ -1 << 1024, -1, 0 }); | ||
| 8098 | try testArgs(@Vector(3, u256), @Vector(3, i1025), .{ -1 << 1024, -1, 0 }); | ||
| 8099 | try testArgs(@Vector(3, u512), @Vector(3, i1025), .{ -1 << 1024, -1, 0 }); | ||
| 8100 | try testArgs(@Vector(3, u1024), @Vector(3, i1025), .{ -1 << 1024, -1, 0 }); | ||
| 8101 | try testArgs(@Vector(3, i8), @Vector(3, u1025), .{ 0, 1, 1 << 1024 }); | ||
| 8102 | try testArgs(@Vector(3, i16), @Vector(3, u1025), .{ 0, 1, 1 << 1024 }); | ||
| 8103 | try testArgs(@Vector(3, i32), @Vector(3, u1025), .{ 0, 1, 1 << 1024 }); | ||
| 8104 | try testArgs(@Vector(3, i64), @Vector(3, u1025), .{ 0, 1, 1 << 1024 }); | ||
| 8105 | try testArgs(@Vector(3, i128), @Vector(3, u1025), .{ 0, 1, 1 << 1024 }); | ||
| 8106 | try testArgs(@Vector(3, i256), @Vector(3, u1025), .{ 0, 1, 1 << 1024 }); | ||
| 8107 | try testArgs(@Vector(3, i512), @Vector(3, u1025), .{ 0, 1, 1 << 1024 }); | ||
| 8108 | try testArgs(@Vector(3, i1024), @Vector(3, u1025), .{ 0, 1, 1 << 1024 }); | ||
| 8109 | } | ||
| 8110 | fn testFloatVectors() !void { | ||
| 8111 | @setEvalBranchQuota(6_700); | ||
| 8112 | |||
| 8113 | try testArgs(@Vector(1, f16), @Vector(1, f16), .{ | ||
| 8114 | 1e0, | ||
| 8115 | }); | ||
| 8116 | try testArgs(@Vector(2, f16), @Vector(2, f16), .{ | ||
| 8117 | -inf(f16), -1e-2, | ||
| 8118 | }); | ||
| 8119 | try testArgs(@Vector(4, f16), @Vector(4, f16), .{ | ||
| 8120 | -1e2, 1e-1, fmax(f16), 1e-2, | ||
| 8121 | }); | ||
| 8122 | try testArgs(@Vector(8, f16), @Vector(8, f16), .{ | ||
| 8123 | -1e-1, tmin(f16), -1e3, fmin(f16), nan(f16), -1e-3, 1e1, 1e4, | ||
| 8124 | }); | ||
| 8125 | try testArgs(@Vector(16, f16), @Vector(16, f16), .{ | ||
| 8126 | -fmax(f16), -1e0, 1e-4, 1e2, -fmin(f16), -1e1, 0.0, -1e4, -0.0, 1e3, -nan(f16), -tmin(f16), -1e-4, inf(f16), 1e-3, -1e-1, | ||
| 8127 | }); | ||
| 8128 | try testArgs(@Vector(32, f16), @Vector(32, f16), .{ | ||
| 8129 | -1e3, -tmin(f16), inf(f16), -1e4, -0.0, fmax(f16), 1e2, 1e4, -nan(f16), 0.0, -1e-4, -1e1, 1e0, 1e-1, nan(f16), -1e0, | ||
| 8130 | 1e3, -1e-3, -fmin(f16), -inf(f16), 1e-3, tmin(f16), fmin(f16), 1e1, 1e-4, -fmax(f16), -1e2, 1e-2, -1e-2, 1e3, inf(f16), -fmin(f16), | ||
| 8131 | }); | ||
| 8132 | |||
| 8133 | try testArgs(@Vector(1, f32), @Vector(1, f16), .{ | ||
| 8134 | 1e0, | ||
| 8135 | }); | ||
| 8136 | try testArgs(@Vector(2, f32), @Vector(2, f16), .{ | ||
| 8137 | -inf(f16), -1e-2, | ||
| 8138 | }); | ||
| 8139 | try testArgs(@Vector(4, f32), @Vector(4, f16), .{ | ||
| 8140 | -1e2, 1e-1, fmax(f16), 1e-2, | ||
| 8141 | }); | ||
| 8142 | try testArgs(@Vector(8, f32), @Vector(8, f16), .{ | ||
| 8143 | -1e-1, tmin(f16), -1e3, fmin(f16), nan(f16), -1e-3, 1e1, 1e4, | ||
| 8144 | }); | ||
| 8145 | try testArgs(@Vector(16, f32), @Vector(16, f16), .{ | ||
| 8146 | -fmax(f16), -1e0, 1e-4, 1e2, -fmin(f16), -1e1, 0.0, -1e4, -0.0, 1e3, -nan(f16), -tmin(f16), -1e-4, inf(f16), 1e-3, -1e-1, | ||
| 8147 | }); | ||
| 8148 | try testArgs(@Vector(32, f32), @Vector(32, f16), .{ | ||
| 8149 | -1e3, -tmin(f16), inf(f16), -1e4, -0.0, fmax(f16), 1e2, 1e4, -nan(f16), 0.0, -1e-4, -1e1, 1e0, 1e-1, nan(f16), -1e0, | ||
| 8150 | 1e3, -1e-3, -fmin(f16), -inf(f16), 1e-3, tmin(f16), fmin(f16), 1e1, 1e-4, -fmax(f16), -1e2, 1e-2, -1e-2, 1e3, inf(f16), -fmin(f16), | ||
| 8151 | }); | ||
| 8152 | |||
| 8153 | try testArgs(@Vector(1, f64), @Vector(1, f16), .{ | ||
| 8154 | 1e0, | ||
| 8155 | }); | ||
| 8156 | try testArgs(@Vector(2, f64), @Vector(2, f16), .{ | ||
| 8157 | -inf(f16), -1e-2, | ||
| 8158 | }); | ||
| 8159 | try testArgs(@Vector(4, f64), @Vector(4, f16), .{ | ||
| 8160 | -1e2, 1e-1, fmax(f16), 1e-2, | ||
| 8161 | }); | ||
| 8162 | try testArgs(@Vector(8, f64), @Vector(8, f16), .{ | ||
| 8163 | -1e-1, tmin(f16), -1e3, fmin(f16), nan(f16), -1e-3, 1e1, 1e4, | ||
| 8164 | }); | ||
| 8165 | try testArgs(@Vector(16, f64), @Vector(16, f16), .{ | ||
| 8166 | -fmax(f16), -1e0, 1e-4, 1e2, -fmin(f16), -1e1, 0.0, -1e4, -0.0, 1e3, -nan(f16), -tmin(f16), -1e-4, inf(f16), 1e-3, -1e-1, | ||
| 8167 | }); | ||
| 8168 | try testArgs(@Vector(32, f64), @Vector(32, f16), .{ | ||
| 8169 | -1e3, -tmin(f16), inf(f16), -1e4, -0.0, fmax(f16), 1e2, 1e4, -nan(f16), 0.0, -1e-4, -1e1, 1e0, 1e-1, nan(f16), -1e0, | ||
| 8170 | 1e3, -1e-3, -fmin(f16), -inf(f16), 1e-3, tmin(f16), fmin(f16), 1e1, 1e-4, -fmax(f16), -1e2, 1e-2, -1e-2, 1e3, inf(f16), -fmin(f16), | ||
| 8171 | }); | ||
| 8172 | |||
| 8173 | try testArgs(@Vector(1, f80), @Vector(1, f16), .{ | ||
| 8174 | 1e0, | ||
| 8175 | }); | ||
| 8176 | try testArgs(@Vector(2, f80), @Vector(2, f16), .{ | ||
| 8177 | -inf(f16), -1e-2, | ||
| 8178 | }); | ||
| 8179 | try testArgs(@Vector(4, f80), @Vector(4, f16), .{ | ||
| 8180 | -1e2, 1e-1, fmax(f16), 1e-2, | ||
| 8181 | }); | ||
| 8182 | try testArgs(@Vector(8, f80), @Vector(8, f16), .{ | ||
| 8183 | -1e-1, tmin(f16), -1e3, fmin(f16), nan(f16), -1e-3, 1e1, 1e4, | ||
| 8184 | }); | ||
| 8185 | try testArgs(@Vector(16, f80), @Vector(16, f16), .{ | ||
| 8186 | -fmax(f16), -1e0, 1e-4, 1e2, -fmin(f16), -1e1, 0.0, -1e4, -0.0, 1e3, -nan(f16), -tmin(f16), -1e-4, inf(f16), 1e-3, -1e-1, | ||
| 8187 | }); | ||
| 8188 | try testArgs(@Vector(32, f80), @Vector(32, f16), .{ | ||
| 8189 | -1e3, -tmin(f16), inf(f16), -1e4, -0.0, fmax(f16), 1e2, 1e4, -nan(f16), 0.0, -1e-4, -1e1, 1e0, 1e-1, nan(f16), -1e0, | ||
| 8190 | 1e3, -1e-3, -fmin(f16), -inf(f16), 1e-3, tmin(f16), fmin(f16), 1e1, 1e-4, -fmax(f16), -1e2, 1e-2, -1e-2, 1e3, inf(f16), -fmin(f16), | ||
| 8191 | }); | ||
| 8192 | |||
| 8193 | try testArgs(@Vector(1, f128), @Vector(1, f16), .{ | ||
| 8194 | 1e0, | ||
| 8195 | }); | ||
| 8196 | try testArgs(@Vector(2, f128), @Vector(2, f16), .{ | ||
| 8197 | -inf(f16), -1e-2, | ||
| 8198 | }); | ||
| 8199 | try testArgs(@Vector(4, f128), @Vector(4, f16), .{ | ||
| 8200 | -1e2, 1e-1, fmax(f16), 1e-2, | ||
| 8201 | }); | ||
| 8202 | try testArgs(@Vector(8, f128), @Vector(8, f16), .{ | ||
| 8203 | -1e-1, tmin(f16), -1e3, fmin(f16), nan(f16), -1e-3, 1e1, 1e4, | ||
| 8204 | }); | ||
| 8205 | try testArgs(@Vector(16, f128), @Vector(16, f16), .{ | ||
| 8206 | -fmax(f16), -1e0, 1e-4, 1e2, -fmin(f16), -1e1, 0.0, -1e4, -0.0, 1e3, -nan(f16), -tmin(f16), -1e-4, inf(f16), 1e-3, -1e-1, | ||
| 8207 | }); | ||
| 8208 | try testArgs(@Vector(32, f128), @Vector(32, f16), .{ | ||
| 8209 | -1e3, -tmin(f16), inf(f16), -1e4, -0.0, fmax(f16), 1e2, 1e4, -nan(f16), 0.0, -1e-4, -1e1, 1e0, 1e-1, nan(f16), -1e0, | ||
| 8210 | 1e3, -1e-3, -fmin(f16), -inf(f16), 1e-3, tmin(f16), fmin(f16), 1e1, 1e-4, -fmax(f16), -1e2, 1e-2, -1e-2, 1e3, inf(f16), -fmin(f16), | ||
| 8211 | }); | ||
| 8212 | |||
| 8213 | try testArgs(@Vector(1, f16), @Vector(1, f32), .{ | ||
| 8214 | 1e0, | ||
| 8215 | }); | ||
| 8216 | try testArgs(@Vector(2, f16), @Vector(2, f32), .{ | ||
| 8217 | -inf(f32), -1e-2, | ||
| 8218 | }); | ||
| 8219 | try testArgs(@Vector(4, f16), @Vector(4, f32), .{ | ||
| 8220 | -1e2, 1e-1, fmax(f32), 1e-2, | ||
| 8221 | }); | ||
| 8222 | try testArgs(@Vector(8, f16), @Vector(8, f32), .{ | ||
| 8223 | -1e-1, tmin(f32), -1e3, fmin(f32), nan(f32), -1e-3, 1e1, 1e4, | ||
| 8224 | }); | ||
| 8225 | try testArgs(@Vector(16, f16), @Vector(16, f32), .{ | ||
| 8226 | -fmax(f32), -1e0, 1e-4, 1e2, -fmin(f32), -1e1, 0.0, -1e4, -0.0, 1e3, -nan(f32), -tmin(f32), -1e-4, inf(f32), 1e-3, -1e-1, | ||
| 8227 | }); | ||
| 8228 | try testArgs(@Vector(32, f16), @Vector(32, f32), .{ | ||
| 8229 | -1e3, -tmin(f32), inf(f32), -1e4, -0.0, fmax(f32), 1e2, 1e4, -nan(f32), 0.0, -1e-4, -1e1, 1e0, 1e-1, nan(f32), -1e0, | ||
| 8230 | 1e3, -1e-3, -fmin(f32), -inf(f32), 1e-3, tmin(f32), fmin(f32), 1e1, 1e-4, -fmax(f32), -1e2, 1e-2, -1e-2, 1e3, inf(f32), -fmin(f32), | ||
| 8231 | }); | ||
| 8232 | |||
| 8233 | try testArgs(@Vector(1, f32), @Vector(1, f32), .{ | ||
| 8234 | 1e0, | ||
| 8235 | }); | ||
| 8236 | try testArgs(@Vector(2, f32), @Vector(2, f32), .{ | ||
| 8237 | -inf(f32), -1e-2, | ||
| 8238 | }); | ||
| 8239 | try testArgs(@Vector(4, f32), @Vector(4, f32), .{ | ||
| 8240 | -1e2, 1e-1, fmax(f32), 1e-2, | ||
| 8241 | }); | ||
| 8242 | try testArgs(@Vector(8, f32), @Vector(8, f32), .{ | ||
| 8243 | -1e-1, tmin(f32), -1e3, fmin(f32), nan(f32), -1e-3, 1e1, 1e4, | ||
| 8244 | }); | ||
| 8245 | try testArgs(@Vector(16, f32), @Vector(16, f32), .{ | ||
| 8246 | -fmax(f32), -1e0, 1e-4, 1e2, -fmin(f32), -1e1, 0.0, -1e4, -0.0, 1e3, -nan(f32), -tmin(f32), -1e-4, inf(f32), 1e-3, -1e-1, | ||
| 8247 | }); | ||
| 8248 | try testArgs(@Vector(32, f32), @Vector(32, f32), .{ | ||
| 8249 | -1e3, -tmin(f32), inf(f32), -1e4, -0.0, fmax(f32), 1e2, 1e4, -nan(f32), 0.0, -1e-4, -1e1, 1e0, 1e-1, nan(f32), -1e0, | ||
| 8250 | 1e3, -1e-3, -fmin(f32), -inf(f32), 1e-3, tmin(f32), fmin(f32), 1e1, 1e-4, -fmax(f32), -1e2, 1e-2, -1e-2, 1e3, inf(f32), -fmin(f32), | ||
| 8251 | }); | ||
| 8252 | |||
| 8253 | try testArgs(@Vector(1, f64), @Vector(1, f32), .{ | ||
| 8254 | 1e0, | ||
| 8255 | }); | ||
| 8256 | try testArgs(@Vector(2, f64), @Vector(2, f32), .{ | ||
| 8257 | -inf(f32), -1e-2, | ||
| 8258 | }); | ||
| 8259 | try testArgs(@Vector(4, f64), @Vector(4, f32), .{ | ||
| 8260 | -1e2, 1e-1, fmax(f32), 1e-2, | ||
| 8261 | }); | ||
| 8262 | try testArgs(@Vector(8, f64), @Vector(8, f32), .{ | ||
| 8263 | -1e-1, tmin(f32), -1e3, fmin(f32), nan(f32), -1e-3, 1e1, 1e4, | ||
| 8264 | }); | ||
| 8265 | try testArgs(@Vector(16, f64), @Vector(16, f32), .{ | ||
| 8266 | -fmax(f32), -1e0, 1e-4, 1e2, -fmin(f32), -1e1, 0.0, -1e4, -0.0, 1e3, -nan(f32), -tmin(f32), -1e-4, inf(f32), 1e-3, -1e-1, | ||
| 8267 | }); | ||
| 8268 | try testArgs(@Vector(32, f64), @Vector(32, f32), .{ | ||
| 8269 | -1e3, -tmin(f32), inf(f32), -1e4, -0.0, fmax(f32), 1e2, 1e4, -nan(f32), 0.0, -1e-4, -1e1, 1e0, 1e-1, nan(f32), -1e0, | ||
| 8270 | 1e3, -1e-3, -fmin(f32), -inf(f32), 1e-3, tmin(f32), fmin(f32), 1e1, 1e-4, -fmax(f32), -1e2, 1e-2, -1e-2, 1e3, inf(f32), -fmin(f32), | ||
| 8271 | }); | ||
| 8272 | |||
| 8273 | try testArgs(@Vector(1, f80), @Vector(1, f32), .{ | ||
| 8274 | 1e0, | ||
| 8275 | }); | ||
| 8276 | try testArgs(@Vector(2, f80), @Vector(2, f32), .{ | ||
| 8277 | -inf(f32), -1e-2, | ||
| 8278 | }); | ||
| 8279 | try testArgs(@Vector(4, f80), @Vector(4, f32), .{ | ||
| 8280 | -1e2, 1e-1, fmax(f32), 1e-2, | ||
| 8281 | }); | ||
| 8282 | try testArgs(@Vector(8, f80), @Vector(8, f32), .{ | ||
| 8283 | -1e-1, tmin(f32), -1e3, fmin(f32), nan(f32), -1e-3, 1e1, 1e4, | ||
| 8284 | }); | ||
| 8285 | try testArgs(@Vector(16, f80), @Vector(16, f32), .{ | ||
| 8286 | -fmax(f32), -1e0, 1e-4, 1e2, -fmin(f32), -1e1, 0.0, -1e4, -0.0, 1e3, -nan(f32), -tmin(f32), -1e-4, inf(f32), 1e-3, -1e-1, | ||
| 8287 | }); | ||
| 8288 | try testArgs(@Vector(32, f80), @Vector(32, f32), .{ | ||
| 8289 | -1e3, -tmin(f32), inf(f32), -1e4, -0.0, fmax(f32), 1e2, 1e4, -nan(f32), 0.0, -1e-4, -1e1, 1e0, 1e-1, nan(f32), -1e0, | ||
| 8290 | 1e3, -1e-3, -fmin(f32), -inf(f32), 1e-3, tmin(f32), fmin(f32), 1e1, 1e-4, -fmax(f32), -1e2, 1e-2, -1e-2, 1e3, inf(f32), -fmin(f32), | ||
| 8291 | }); | ||
| 8292 | |||
| 8293 | try testArgs(@Vector(1, f128), @Vector(1, f32), .{ | ||
| 8294 | 1e0, | ||
| 8295 | }); | ||
| 8296 | try testArgs(@Vector(2, f128), @Vector(2, f32), .{ | ||
| 8297 | -inf(f32), -1e-2, | ||
| 8298 | }); | ||
| 8299 | try testArgs(@Vector(4, f128), @Vector(4, f32), .{ | ||
| 8300 | -1e2, 1e-1, fmax(f32), 1e-2, | ||
| 8301 | }); | ||
| 8302 | try testArgs(@Vector(8, f128), @Vector(8, f32), .{ | ||
| 8303 | -1e-1, tmin(f32), -1e3, fmin(f32), nan(f32), -1e-3, 1e1, 1e4, | ||
| 8304 | }); | ||
| 8305 | try testArgs(@Vector(16, f128), @Vector(16, f32), .{ | ||
| 8306 | -fmax(f32), -1e0, 1e-4, 1e2, -fmin(f32), -1e1, 0.0, -1e4, -0.0, 1e3, -nan(f32), -tmin(f32), -1e-4, inf(f32), 1e-3, -1e-1, | ||
| 8307 | }); | ||
| 8308 | try testArgs(@Vector(32, f128), @Vector(32, f32), .{ | ||
| 8309 | -1e3, -tmin(f32), inf(f32), -1e4, -0.0, fmax(f32), 1e2, 1e4, -nan(f32), 0.0, -1e-4, -1e1, 1e0, 1e-1, nan(f32), -1e0, | ||
| 8310 | 1e3, -1e-3, -fmin(f32), -inf(f32), 1e-3, tmin(f32), fmin(f32), 1e1, 1e-4, -fmax(f32), -1e2, 1e-2, -1e-2, 1e3, inf(f32), -fmin(f32), | ||
| 8311 | }); | ||
| 8312 | |||
| 8313 | try testArgs(@Vector(1, f16), @Vector(1, f64), .{ | ||
| 8314 | 1e0, | ||
| 8315 | }); | ||
| 8316 | try testArgs(@Vector(2, f16), @Vector(2, f64), .{ | ||
| 8317 | -inf(f64), -1e-2, | ||
| 8318 | }); | ||
| 8319 | try testArgs(@Vector(4, f16), @Vector(4, f64), .{ | ||
| 8320 | -1e2, 1e-1, fmax(f64), 1e-2, | ||
| 8321 | }); | ||
| 8322 | try testArgs(@Vector(8, f16), @Vector(8, f64), .{ | ||
| 8323 | -1e-1, tmin(f64), -1e3, fmin(f64), nan(f64), -1e-3, 1e1, 1e4, | ||
| 8324 | }); | ||
| 8325 | try testArgs(@Vector(16, f16), @Vector(16, f64), .{ | ||
| 8326 | -fmax(f64), -1e0, 1e-4, 1e2, -fmin(f64), -1e1, 0.0, -1e4, -0.0, 1e3, -nan(f64), -tmin(f64), -1e-4, inf(f64), 1e-3, -1e-1, | ||
| 8327 | }); | ||
| 8328 | try testArgs(@Vector(32, f16), @Vector(32, f64), .{ | ||
| 8329 | -1e3, -tmin(f64), inf(f64), -1e4, -0.0, fmax(f64), 1e2, 1e4, -nan(f64), 0.0, -1e-4, -1e1, 1e0, 1e-1, nan(f64), -1e0, | ||
| 8330 | 1e3, -1e-3, -fmin(f64), -inf(f64), 1e-3, tmin(f64), fmin(f64), 1e1, 1e-4, -fmax(f64), -1e2, 1e-2, -1e-2, 1e3, inf(f64), -fmin(f64), | ||
| 8331 | }); | ||
| 8332 | |||
| 8333 | try testArgs(@Vector(1, f32), @Vector(1, f64), .{ | ||
| 8334 | 1e0, | ||
| 8335 | }); | ||
| 8336 | try testArgs(@Vector(2, f32), @Vector(2, f64), .{ | ||
| 8337 | -inf(f64), -1e-2, | ||
| 8338 | }); | ||
| 8339 | try testArgs(@Vector(4, f32), @Vector(4, f64), .{ | ||
| 8340 | -1e2, 1e-1, fmax(f64), 1e-2, | ||
| 8341 | }); | ||
| 8342 | try testArgs(@Vector(8, f32), @Vector(8, f64), .{ | ||
| 8343 | -1e-1, tmin(f64), -1e3, fmin(f64), nan(f64), -1e-3, 1e1, 1e4, | ||
| 8344 | }); | ||
| 8345 | try testArgs(@Vector(16, f32), @Vector(16, f64), .{ | ||
| 8346 | -fmax(f64), -1e0, 1e-4, 1e2, -fmin(f64), -1e1, 0.0, -1e4, -0.0, 1e3, -nan(f64), -tmin(f64), -1e-4, inf(f64), 1e-3, -1e-1, | ||
| 8347 | }); | ||
| 8348 | try testArgs(@Vector(32, f32), @Vector(32, f64), .{ | ||
| 8349 | -1e3, -tmin(f64), inf(f64), -1e4, -0.0, fmax(f64), 1e2, 1e4, -nan(f64), 0.0, -1e-4, -1e1, 1e0, 1e-1, nan(f64), -1e0, | ||
| 8350 | 1e3, -1e-3, -fmin(f64), -inf(f64), 1e-3, tmin(f64), fmin(f64), 1e1, 1e-4, -fmax(f64), -1e2, 1e-2, -1e-2, 1e3, inf(f64), -fmin(f64), | ||
| 8351 | }); | ||
| 8352 | |||
| 8353 | try testArgs(@Vector(1, f64), @Vector(1, f64), .{ | ||
| 8354 | 1e0, | ||
| 8355 | }); | ||
| 8356 | try testArgs(@Vector(2, f64), @Vector(2, f64), .{ | ||
| 8357 | -inf(f64), -1e-2, | ||
| 8358 | }); | ||
| 8359 | try testArgs(@Vector(4, f64), @Vector(4, f64), .{ | ||
| 8360 | -1e2, 1e-1, fmax(f64), 1e-2, | ||
| 8361 | }); | ||
| 8362 | try testArgs(@Vector(8, f64), @Vector(8, f64), .{ | ||
| 8363 | -1e-1, tmin(f64), -1e3, fmin(f64), nan(f64), -1e-3, 1e1, 1e4, | ||
| 8364 | }); | ||
| 8365 | try testArgs(@Vector(16, f64), @Vector(16, f64), .{ | ||
| 8366 | -fmax(f64), -1e0, 1e-4, 1e2, -fmin(f64), -1e1, 0.0, -1e4, -0.0, 1e3, -nan(f64), -tmin(f64), -1e-4, inf(f64), 1e-3, -1e-1, | ||
| 8367 | }); | ||
| 8368 | try testArgs(@Vector(32, f64), @Vector(32, f64), .{ | ||
| 8369 | -1e3, -tmin(f64), inf(f64), -1e4, -0.0, fmax(f64), 1e2, 1e4, -nan(f64), 0.0, -1e-4, -1e1, 1e0, 1e-1, nan(f64), -1e0, | ||
| 8370 | 1e3, -1e-3, -fmin(f64), -inf(f64), 1e-3, tmin(f64), fmin(f64), 1e1, 1e-4, -fmax(f64), -1e2, 1e-2, -1e-2, 1e3, inf(f64), -fmin(f64), | ||
| 8371 | }); | ||
| 8372 | |||
| 8373 | try testArgs(@Vector(1, f80), @Vector(1, f64), .{ | ||
| 8374 | 1e0, | ||
| 8375 | }); | ||
| 8376 | try testArgs(@Vector(2, f80), @Vector(2, f64), .{ | ||
| 8377 | -inf(f64), -1e-2, | ||
| 8378 | }); | ||
| 8379 | try testArgs(@Vector(4, f80), @Vector(4, f64), .{ | ||
| 8380 | -1e2, 1e-1, fmax(f64), 1e-2, | ||
| 8381 | }); | ||
| 8382 | try testArgs(@Vector(8, f80), @Vector(8, f64), .{ | ||
| 8383 | -1e-1, tmin(f64), -1e3, fmin(f64), nan(f64), -1e-3, 1e1, 1e4, | ||
| 8384 | }); | ||
| 8385 | try testArgs(@Vector(16, f80), @Vector(16, f64), .{ | ||
| 8386 | -fmax(f64), -1e0, 1e-4, 1e2, -fmin(f64), -1e1, 0.0, -1e4, -0.0, 1e3, -nan(f64), -tmin(f64), -1e-4, inf(f64), 1e-3, -1e-1, | ||
| 8387 | }); | ||
| 8388 | try testArgs(@Vector(32, f80), @Vector(32, f64), .{ | ||
| 8389 | -1e3, -tmin(f64), inf(f64), -1e4, -0.0, fmax(f64), 1e2, 1e4, -nan(f64), 0.0, -1e-4, -1e1, 1e0, 1e-1, nan(f64), -1e0, | ||
| 8390 | 1e3, -1e-3, -fmin(f64), -inf(f64), 1e-3, tmin(f64), fmin(f64), 1e1, 1e-4, -fmax(f64), -1e2, 1e-2, -1e-2, 1e3, inf(f64), -fmin(f64), | ||
| 8391 | }); | ||
| 8392 | |||
| 8393 | try testArgs(@Vector(1, f128), @Vector(1, f64), .{ | ||
| 8394 | 1e0, | ||
| 8395 | }); | ||
| 8396 | try testArgs(@Vector(2, f128), @Vector(2, f64), .{ | ||
| 8397 | -inf(f64), -1e-2, | ||
| 8398 | }); | ||
| 8399 | try testArgs(@Vector(4, f128), @Vector(4, f64), .{ | ||
| 8400 | -1e2, 1e-1, fmax(f64), 1e-2, | ||
| 8401 | }); | ||
| 8402 | try testArgs(@Vector(8, f128), @Vector(8, f64), .{ | ||
| 8403 | -1e-1, tmin(f64), -1e3, fmin(f64), nan(f64), -1e-3, 1e1, 1e4, | ||
| 8404 | }); | ||
| 8405 | try testArgs(@Vector(16, f128), @Vector(16, f64), .{ | ||
| 8406 | -fmax(f64), -1e0, 1e-4, 1e2, -fmin(f64), -1e1, 0.0, -1e4, -0.0, 1e3, -nan(f64), -tmin(f64), -1e-4, inf(f64), 1e-3, -1e-1, | ||
| 8407 | }); | ||
| 8408 | try testArgs(@Vector(32, f128), @Vector(32, f64), .{ | ||
| 8409 | -1e3, -tmin(f64), inf(f64), -1e4, -0.0, fmax(f64), 1e2, 1e4, -nan(f64), 0.0, -1e-4, -1e1, 1e0, 1e-1, nan(f64), -1e0, | ||
| 8410 | 1e3, -1e-3, -fmin(f64), -inf(f64), 1e-3, tmin(f64), fmin(f64), 1e1, 1e-4, -fmax(f64), -1e2, 1e-2, -1e-2, 1e3, inf(f64), -fmin(f64), | ||
| 8411 | }); | ||
| 8412 | |||
| 8413 | try testArgs(@Vector(1, f16), @Vector(1, f80), .{ | ||
| 8414 | 1e0, | ||
| 8415 | }); | ||
| 8416 | try testArgs(@Vector(2, f16), @Vector(2, f80), .{ | ||
| 8417 | -inf(f80), -1e-2, | ||
| 8418 | }); | ||
| 8419 | try testArgs(@Vector(4, f16), @Vector(4, f80), .{ | ||
| 8420 | -1e2, 1e-1, fmax(f80), 1e-2, | ||
| 8421 | }); | ||
| 8422 | try testArgs(@Vector(8, f16), @Vector(8, f80), .{ | ||
| 8423 | -1e-1, tmin(f80), -1e3, fmin(f80), nan(f80), -1e-3, 1e1, 1e4, | ||
| 8424 | }); | ||
| 8425 | try testArgs(@Vector(16, f16), @Vector(16, f80), .{ | ||
| 8426 | -fmax(f80), -1e0, 1e-4, 1e2, -fmin(f80), -1e1, 0.0, -1e4, -0.0, 1e3, -nan(f80), -tmin(f80), -1e-4, inf(f80), 1e-3, -1e-1, | ||
| 8427 | }); | ||
| 8428 | try testArgs(@Vector(32, f16), @Vector(32, f80), .{ | ||
| 8429 | -1e3, -tmin(f80), inf(f80), -1e4, -0.0, fmax(f80), 1e2, 1e4, -nan(f80), 0.0, -1e-4, -1e1, 1e0, 1e-1, nan(f80), -1e0, | ||
| 8430 | 1e3, -1e-3, -fmin(f80), -inf(f80), 1e-3, tmin(f80), fmin(f80), 1e1, 1e-4, -fmax(f80), -1e2, 1e-2, -1e-2, 1e3, inf(f80), -fmin(f80), | ||
| 8431 | }); | ||
| 8432 | |||
| 8433 | try testArgs(@Vector(1, f32), @Vector(1, f80), .{ | ||
| 8434 | 1e0, | ||
| 8435 | }); | ||
| 8436 | try testArgs(@Vector(2, f32), @Vector(2, f80), .{ | ||
| 8437 | -inf(f80), -1e-2, | ||
| 8438 | }); | ||
| 8439 | try testArgs(@Vector(4, f32), @Vector(4, f80), .{ | ||
| 8440 | -1e2, 1e-1, fmax(f80), 1e-2, | ||
| 8441 | }); | ||
| 8442 | try testArgs(@Vector(8, f32), @Vector(8, f80), .{ | ||
| 8443 | -1e-1, tmin(f80), -1e3, fmin(f80), nan(f80), -1e-3, 1e1, 1e4, | ||
| 8444 | }); | ||
| 8445 | try testArgs(@Vector(16, f32), @Vector(16, f80), .{ | ||
| 8446 | -fmax(f80), -1e0, 1e-4, 1e2, -fmin(f80), -1e1, 0.0, -1e4, -0.0, 1e3, -nan(f80), -tmin(f80), -1e-4, inf(f80), 1e-3, -1e-1, | ||
| 8447 | }); | ||
| 8448 | try testArgs(@Vector(32, f32), @Vector(32, f80), .{ | ||
| 8449 | -1e3, -tmin(f80), inf(f80), -1e4, -0.0, fmax(f80), 1e2, 1e4, -nan(f80), 0.0, -1e-4, -1e1, 1e0, 1e-1, nan(f80), -1e0, | ||
| 8450 | 1e3, -1e-3, -fmin(f80), -inf(f80), 1e-3, tmin(f80), fmin(f80), 1e1, 1e-4, -fmax(f80), -1e2, 1e-2, -1e-2, 1e3, inf(f80), -fmin(f80), | ||
| 8451 | }); | ||
| 8452 | |||
| 8453 | try testArgs(@Vector(1, f64), @Vector(1, f80), .{ | ||
| 8454 | 1e0, | ||
| 8455 | }); | ||
| 8456 | try testArgs(@Vector(2, f64), @Vector(2, f80), .{ | ||
| 8457 | -inf(f80), -1e-2, | ||
| 8458 | }); | ||
| 8459 | try testArgs(@Vector(4, f64), @Vector(4, f80), .{ | ||
| 8460 | -1e2, 1e-1, fmax(f80), 1e-2, | ||
| 8461 | }); | ||
| 8462 | try testArgs(@Vector(8, f64), @Vector(8, f80), .{ | ||
| 8463 | -1e-1, tmin(f80), -1e3, fmin(f80), nan(f80), -1e-3, 1e1, 1e4, | ||
| 8464 | }); | ||
| 8465 | try testArgs(@Vector(16, f64), @Vector(16, f80), .{ | ||
| 8466 | -fmax(f80), -1e0, 1e-4, 1e2, -fmin(f80), -1e1, 0.0, -1e4, -0.0, 1e3, -nan(f80), -tmin(f80), -1e-4, inf(f80), 1e-3, -1e-1, | ||
| 8467 | }); | ||
| 8468 | try testArgs(@Vector(32, f64), @Vector(32, f80), .{ | ||
| 8469 | -1e3, -tmin(f80), inf(f80), -1e4, -0.0, fmax(f80), 1e2, 1e4, -nan(f80), 0.0, -1e-4, -1e1, 1e0, 1e-1, nan(f80), -1e0, | ||
| 8470 | 1e3, -1e-3, -fmin(f80), -inf(f80), 1e-3, tmin(f80), fmin(f80), 1e1, 1e-4, -fmax(f80), -1e2, 1e-2, -1e-2, 1e3, inf(f80), -fmin(f80), | ||
| 8471 | }); | ||
| 8472 | |||
| 8473 | try testArgs(@Vector(1, f80), @Vector(1, f80), .{ | ||
| 8474 | 1e0, | ||
| 8475 | }); | ||
| 8476 | try testArgs(@Vector(2, f80), @Vector(2, f80), .{ | ||
| 8477 | -inf(f80), -1e-2, | ||
| 8478 | }); | ||
| 8479 | try testArgs(@Vector(4, f80), @Vector(4, f80), .{ | ||
| 8480 | -1e2, 1e-1, fmax(f80), 1e-2, | ||
| 8481 | }); | ||
| 8482 | try testArgs(@Vector(8, f80), @Vector(8, f80), .{ | ||
| 8483 | -1e-1, tmin(f80), -1e3, fmin(f80), nan(f80), -1e-3, 1e1, 1e4, | ||
| 8484 | }); | ||
| 8485 | try testArgs(@Vector(16, f80), @Vector(16, f80), .{ | ||
| 8486 | -fmax(f80), -1e0, 1e-4, 1e2, -fmin(f80), -1e1, 0.0, -1e4, -0.0, 1e3, -nan(f80), -tmin(f80), -1e-4, inf(f80), 1e-3, -1e-1, | ||
| 8487 | }); | ||
| 8488 | try testArgs(@Vector(32, f80), @Vector(32, f80), .{ | ||
| 8489 | -1e3, -tmin(f80), inf(f80), -1e4, -0.0, fmax(f80), 1e2, 1e4, -nan(f80), 0.0, -1e-4, -1e1, 1e0, 1e-1, nan(f80), -1e0, | ||
| 8490 | 1e3, -1e-3, -fmin(f80), -inf(f80), 1e-3, tmin(f80), fmin(f80), 1e1, 1e-4, -fmax(f80), -1e2, 1e-2, -1e-2, 1e3, inf(f80), -fmin(f80), | ||
| 8491 | }); | ||
| 8492 | |||
| 8493 | try testArgs(@Vector(1, f128), @Vector(1, f80), .{ | ||
| 8494 | 1e0, | ||
| 8495 | }); | ||
| 8496 | try testArgs(@Vector(2, f128), @Vector(2, f80), .{ | ||
| 8497 | -inf(f80), -1e-2, | ||
| 8498 | }); | ||
| 8499 | try testArgs(@Vector(4, f128), @Vector(4, f80), .{ | ||
| 8500 | -1e2, 1e-1, fmax(f80), 1e-2, | ||
| 8501 | }); | ||
| 8502 | try testArgs(@Vector(8, f128), @Vector(8, f80), .{ | ||
| 8503 | -1e-1, tmin(f80), -1e3, fmin(f80), nan(f80), -1e-3, 1e1, 1e4, | ||
| 8504 | }); | ||
| 8505 | try testArgs(@Vector(16, f128), @Vector(16, f80), .{ | ||
| 8506 | -fmax(f80), -1e0, 1e-4, 1e2, -fmin(f80), -1e1, 0.0, -1e4, -0.0, 1e3, -nan(f80), -tmin(f80), -1e-4, inf(f80), 1e-3, -1e-1, | ||
| 8507 | }); | ||
| 8508 | try testArgs(@Vector(32, f128), @Vector(32, f80), .{ | ||
| 8509 | -1e3, -tmin(f80), inf(f80), -1e4, -0.0, fmax(f80), 1e2, 1e4, -nan(f80), 0.0, -1e-4, -1e1, 1e0, 1e-1, nan(f80), -1e0, | ||
| 8510 | 1e3, -1e-3, -fmin(f80), -inf(f80), 1e-3, tmin(f80), fmin(f80), 1e1, 1e-4, -fmax(f80), -1e2, 1e-2, -1e-2, 1e3, inf(f80), -fmin(f80), | ||
| 8511 | }); | ||
| 8512 | |||
| 8513 | try testArgs(@Vector(1, f16), @Vector(1, f128), .{ | ||
| 8514 | 1e0, | ||
| 8515 | }); | ||
| 8516 | try testArgs(@Vector(2, f16), @Vector(2, f128), .{ | ||
| 8517 | -inf(f128), -1e-2, | ||
| 8518 | }); | ||
| 8519 | try testArgs(@Vector(4, f16), @Vector(4, f128), .{ | ||
| 8520 | -1e2, 1e-1, fmax(f128), 1e-2, | ||
| 8521 | }); | ||
| 8522 | try testArgs(@Vector(8, f16), @Vector(8, f128), .{ | ||
| 8523 | -1e-1, tmin(f128), -1e3, fmin(f128), nan(f128), -1e-3, 1e1, 1e4, | ||
| 8524 | }); | ||
| 8525 | try testArgs(@Vector(16, f16), @Vector(16, f128), .{ | ||
| 8526 | -fmax(f128), -1e0, 1e-4, 1e2, -fmin(f128), -1e1, 0.0, -1e4, -0.0, 1e3, -nan(f128), -tmin(f128), -1e-4, inf(f128), 1e-3, -1e-1, | ||
| 8527 | }); | ||
| 8528 | try testArgs(@Vector(32, f16), @Vector(32, f128), .{ | ||
| 8529 | -1e3, -tmin(f128), inf(f128), -1e4, -0.0, fmax(f128), 1e2, 1e4, -nan(f128), 0.0, -1e-4, -1e1, 1e0, 1e-1, nan(f128), -1e0, | ||
| 8530 | 1e3, -1e-3, -fmin(f128), -inf(f128), 1e-3, tmin(f128), fmin(f128), 1e1, 1e-4, -fmax(f128), -1e2, 1e-2, -1e-2, 1e3, inf(f128), -fmin(f128), | ||
| 8531 | }); | ||
| 8532 | |||
| 8533 | try testArgs(@Vector(1, f32), @Vector(1, f128), .{ | ||
| 8534 | 1e0, | ||
| 8535 | }); | ||
| 8536 | try testArgs(@Vector(2, f32), @Vector(2, f128), .{ | ||
| 8537 | -inf(f128), -1e-2, | ||
| 8538 | }); | ||
| 8539 | try testArgs(@Vector(4, f32), @Vector(4, f128), .{ | ||
| 8540 | -1e2, 1e-1, fmax(f128), 1e-2, | ||
| 8541 | }); | ||
| 8542 | try testArgs(@Vector(8, f32), @Vector(8, f128), .{ | ||
| 8543 | -1e-1, tmin(f128), -1e3, fmin(f128), nan(f128), -1e-3, 1e1, 1e4, | ||
| 8544 | }); | ||
| 8545 | try testArgs(@Vector(16, f32), @Vector(16, f128), .{ | ||
| 8546 | -fmax(f128), -1e0, 1e-4, 1e2, -fmin(f128), -1e1, 0.0, -1e4, -0.0, 1e3, -nan(f128), -tmin(f128), -1e-4, inf(f128), 1e-3, -1e-1, | ||
| 8547 | }); | ||
| 8548 | try testArgs(@Vector(32, f32), @Vector(32, f128), .{ | ||
| 8549 | -1e3, -tmin(f128), inf(f128), -1e4, -0.0, fmax(f128), 1e2, 1e4, -nan(f128), 0.0, -1e-4, -1e1, 1e0, 1e-1, nan(f128), -1e0, | ||
| 8550 | 1e3, -1e-3, -fmin(f128), -inf(f128), 1e-3, tmin(f128), fmin(f128), 1e1, 1e-4, -fmax(f128), -1e2, 1e-2, -1e-2, 1e3, inf(f128), -fmin(f128), | ||
| 8551 | }); | ||
| 8552 | |||
| 8553 | try testArgs(@Vector(1, f64), @Vector(1, f128), .{ | ||
| 8554 | 1e0, | ||
| 8555 | }); | ||
| 8556 | try testArgs(@Vector(2, f64), @Vector(2, f128), .{ | ||
| 8557 | -inf(f128), -1e-2, | ||
| 8558 | }); | ||
| 8559 | try testArgs(@Vector(4, f64), @Vector(4, f128), .{ | ||
| 8560 | -1e2, 1e-1, fmax(f128), 1e-2, | ||
| 8561 | }); | ||
| 8562 | try testArgs(@Vector(8, f64), @Vector(8, f128), .{ | ||
| 8563 | -1e-1, tmin(f128), -1e3, fmin(f128), nan(f128), -1e-3, 1e1, 1e4, | ||
| 8564 | }); | ||
| 8565 | try testArgs(@Vector(16, f64), @Vector(16, f128), .{ | ||
| 8566 | -fmax(f128), -1e0, 1e-4, 1e2, -fmin(f128), -1e1, 0.0, -1e4, -0.0, 1e3, -nan(f128), -tmin(f128), -1e-4, inf(f128), 1e-3, -1e-1, | ||
| 8567 | }); | ||
| 8568 | try testArgs(@Vector(32, f64), @Vector(32, f128), .{ | ||
| 8569 | -1e3, -tmin(f128), inf(f128), -1e4, -0.0, fmax(f128), 1e2, 1e4, -nan(f128), 0.0, -1e-4, -1e1, 1e0, 1e-1, nan(f128), -1e0, | ||
| 8570 | 1e3, -1e-3, -fmin(f128), -inf(f128), 1e-3, tmin(f128), fmin(f128), 1e1, 1e-4, -fmax(f128), -1e2, 1e-2, -1e-2, 1e3, inf(f128), -fmin(f128), | ||
| 8571 | }); | ||
| 8572 | |||
| 8573 | try testArgs(@Vector(1, f80), @Vector(1, f128), .{ | ||
| 8574 | 1e0, | ||
| 8575 | }); | ||
| 8576 | try testArgs(@Vector(2, f80), @Vector(2, f128), .{ | ||
| 8577 | -inf(f128), -1e-2, | ||
| 8578 | }); | ||
| 8579 | try testArgs(@Vector(4, f80), @Vector(4, f128), .{ | ||
| 8580 | -1e2, 1e-1, fmax(f128), 1e-2, | ||
| 8581 | }); | ||
| 8582 | try testArgs(@Vector(8, f80), @Vector(8, f128), .{ | ||
| 8583 | -1e-1, tmin(f128), -1e3, fmin(f128), nan(f128), -1e-3, 1e1, 1e4, | ||
| 8584 | }); | ||
| 8585 | try testArgs(@Vector(16, f80), @Vector(16, f128), .{ | ||
| 8586 | -fmax(f128), -1e0, 1e-4, 1e2, -fmin(f128), -1e1, 0.0, -1e4, -0.0, 1e3, -nan(f128), -tmin(f128), -1e-4, inf(f128), 1e-3, -1e-1, | ||
| 8587 | }); | ||
| 8588 | try testArgs(@Vector(32, f80), @Vector(32, f128), .{ | ||
| 8589 | -1e3, -tmin(f128), inf(f128), -1e4, -0.0, fmax(f128), 1e2, 1e4, -nan(f128), 0.0, -1e-4, -1e1, 1e0, 1e-1, nan(f128), -1e0, | ||
| 8590 | 1e3, -1e-3, -fmin(f128), -inf(f128), 1e-3, tmin(f128), fmin(f128), 1e1, 1e-4, -fmax(f128), -1e2, 1e-2, -1e-2, 1e3, inf(f128), -fmin(f128), | ||
| 8591 | }); | ||
| 8592 | |||
| 8593 | try testArgs(@Vector(1, f128), @Vector(1, f128), .{ | ||
| 8594 | 1e0, | ||
| 8595 | }); | ||
| 8596 | try testArgs(@Vector(2, f128), @Vector(2, f128), .{ | ||
| 8597 | -inf(f128), -1e-2, | ||
| 8598 | }); | ||
| 8599 | try testArgs(@Vector(4, f128), @Vector(4, f128), .{ | ||
| 8600 | -1e2, 1e-1, fmax(f128), 1e-2, | ||
| 8601 | }); | ||
| 8602 | try testArgs(@Vector(8, f128), @Vector(8, f128), .{ | ||
| 8603 | -1e-1, tmin(f128), -1e3, fmin(f128), nan(f128), -1e-3, 1e1, 1e4, | ||
| 8604 | }); | ||
| 8605 | try testArgs(@Vector(16, f128), @Vector(16, f128), .{ | ||
| 8606 | -fmax(f128), -1e0, 1e-4, 1e2, -fmin(f128), -1e1, 0.0, -1e4, -0.0, 1e3, -nan(f128), -tmin(f128), -1e-4, inf(f128), 1e-3, -1e-1, | ||
| 8607 | }); | ||
| 8608 | try testArgs(@Vector(32, f128), @Vector(32, f128), .{ | ||
| 8609 | -1e3, -tmin(f128), inf(f128), -1e4, -0.0, fmax(f128), 1e2, 1e4, -nan(f128), 0.0, -1e-4, -1e1, 1e0, 1e-1, nan(f128), -1e0, | ||
| 8610 | 1e3, -1e-3, -fmin(f128), -inf(f128), 1e-3, tmin(f128), fmin(f128), 1e1, 1e-4, -fmax(f128), -1e2, 1e-2, -1e-2, 1e3, inf(f128), -fmin(f128), | ||
| 8611 | }); | ||
| 8612 | } | ||
| 8613 | fn testIntsFromFloats() !void { | ||
| 8614 | @setEvalBranchQuota(2_600); | ||
| 8615 | |||
| 8616 | try testArgs(i8, f16, -0x0.8p8); | ||
| 8617 | try testArgs(i8, f16, next(f16, -0x0.8p8, -0.0)); | ||
| 8618 | try testArgs(i8, f16, next(f16, next(f16, -0x0.8p8, -0.0), -0.0)); | ||
| 8619 | try testArgs(i8, f16, -1e2); | ||
| 8620 | try testArgs(i8, f16, -1e1); | ||
| 8621 | try testArgs(i8, f16, -1e0); | ||
| 8622 | try testArgs(i8, f16, -1e-1); | ||
| 8623 | try testArgs(i8, f16, -0.0); | ||
| 8624 | try testArgs(i8, f16, 0.0); | ||
| 8625 | try testArgs(i8, f16, 1e-1); | ||
| 8626 | try testArgs(i8, f16, 1e0); | ||
| 8627 | try testArgs(i8, f16, 1e1); | ||
| 8628 | try testArgs(i8, f16, 1e2); | ||
| 8629 | try testArgs(i8, f16, next(f16, next(f16, 0x0.8p8, 0.0), 0.0)); | ||
| 8630 | try testArgs(i8, f16, next(f16, 0x0.8p8, 0.0)); | ||
| 8631 | |||
| 8632 | try testArgs(u8, f16, -0.0); | ||
| 8633 | try testArgs(u8, f16, 0.0); | ||
| 8634 | try testArgs(u8, f16, 1e-1); | ||
| 8635 | try testArgs(u8, f16, 1e0); | ||
| 8636 | try testArgs(u8, f16, 1e1); | ||
| 8637 | try testArgs(u8, f16, 1e2); | ||
| 8638 | try testArgs(u8, f16, next(f16, next(f16, 0x1p8, 0.0), 0.0)); | ||
| 8639 | try testArgs(u8, f16, next(f16, 0x1p8, 0.0)); | ||
| 8640 | |||
| 8641 | try testArgs(i16, f16, -1e4); | ||
| 8642 | try testArgs(i16, f16, -1e3); | ||
| 8643 | try testArgs(i16, f16, -1e2); | ||
| 8644 | try testArgs(i16, f16, -1e1); | ||
| 8645 | try testArgs(i16, f16, -1e0); | ||
| 8646 | try testArgs(i16, f16, -1e-1); | ||
| 8647 | try testArgs(i16, f16, -0.0); | ||
| 8648 | try testArgs(i16, f16, 0.0); | ||
| 8649 | try testArgs(i16, f16, 1e-1); | ||
| 8650 | try testArgs(i16, f16, 1e0); | ||
| 8651 | try testArgs(i16, f16, 1e1); | ||
| 8652 | try testArgs(i16, f16, 1e2); | ||
| 8653 | try testArgs(i16, f16, 1e3); | ||
| 8654 | try testArgs(i16, f16, 1e4); | ||
| 8655 | try testArgs(i16, f16, next(f16, next(f16, 0x0.8p16, 0.0), 0.0)); | ||
| 8656 | try testArgs(i16, f16, next(f16, 0x0.8p16, 0.0)); | ||
| 8657 | |||
| 8658 | try testArgs(u16, f16, -0.0); | ||
| 8659 | try testArgs(u16, f16, 0.0); | ||
| 8660 | try testArgs(u16, f16, 1e-1); | ||
| 8661 | try testArgs(u16, f16, 1e0); | ||
| 8662 | try testArgs(u16, f16, 1e1); | ||
| 8663 | try testArgs(u16, f16, 1e2); | ||
| 8664 | try testArgs(u16, f16, 1e3); | ||
| 8665 | try testArgs(u16, f16, 1e4); | ||
| 8666 | try testArgs(u16, f16, next(f16, next(f16, fmax(f16), 0.0), 0.0)); | ||
| 8667 | try testArgs(u16, f16, next(f16, fmax(f16), 0.0)); | ||
| 8668 | try testArgs(u16, f16, fmax(f16)); | ||
| 8669 | |||
| 8670 | try testArgs(i32, f16, -fmax(f16)); | ||
| 8671 | try testArgs(i32, f16, next(f16, -fmax(f16), -0.0)); | ||
| 8672 | try testArgs(i32, f16, next(f16, next(f16, -fmax(f16), -0.0), -0.0)); | ||
| 8673 | try testArgs(i32, f16, -1e4); | ||
| 8674 | try testArgs(i32, f16, -1e3); | ||
| 8675 | try testArgs(i32, f16, -1e2); | ||
| 8676 | try testArgs(i32, f16, -1e1); | ||
| 8677 | try testArgs(i32, f16, -1e0); | ||
| 8678 | try testArgs(i32, f16, -1e-1); | ||
| 8679 | try testArgs(i32, f16, -0.0); | ||
| 8680 | try testArgs(i32, f16, 0.0); | ||
| 8681 | try testArgs(i32, f16, 1e-1); | ||
| 8682 | try testArgs(i32, f16, 1e0); | ||
| 8683 | try testArgs(i32, f16, 1e1); | ||
| 8684 | try testArgs(i32, f16, 1e2); | ||
| 8685 | try testArgs(i32, f16, 1e3); | ||
| 8686 | try testArgs(i32, f16, 1e4); | ||
| 8687 | try testArgs(i32, f16, next(f16, next(f16, fmax(f16), 0.0), 0.0)); | ||
| 8688 | try testArgs(i32, f16, next(f16, fmax(f16), 0.0)); | ||
| 8689 | try testArgs(i32, f16, fmax(f16)); | ||
| 8690 | |||
| 8691 | try testArgs(u32, f16, -0.0); | ||
| 8692 | try testArgs(u32, f16, 0.0); | ||
| 8693 | try testArgs(u32, f16, 1e-1); | ||
| 8694 | try testArgs(u32, f16, 1e0); | ||
| 8695 | try testArgs(u32, f16, 1e1); | ||
| 8696 | try testArgs(u32, f16, 1e2); | ||
| 8697 | try testArgs(u32, f16, 1e3); | ||
| 8698 | try testArgs(u32, f16, 1e4); | ||
| 8699 | try testArgs(u32, f16, next(f16, next(f16, fmax(f16), 0.0), 0.0)); | ||
| 8700 | try testArgs(u32, f16, next(f16, fmax(f16), 0.0)); | ||
| 8701 | try testArgs(u32, f16, fmax(f16)); | ||
| 8702 | |||
| 8703 | try testArgs(i64, f16, -fmax(f16)); | ||
| 8704 | try testArgs(i64, f16, next(f16, -fmax(f16), -0.0)); | ||
| 8705 | try testArgs(i64, f16, next(f16, next(f16, -fmax(f16), -0.0), -0.0)); | ||
| 8706 | try testArgs(i64, f16, -1e4); | ||
| 8707 | try testArgs(i64, f16, -1e3); | ||
| 8708 | try testArgs(i64, f16, -1e2); | ||
| 8709 | try testArgs(i64, f16, -1e1); | ||
| 8710 | try testArgs(i64, f16, -1e0); | ||
| 8711 | try testArgs(i64, f16, -1e-1); | ||
| 8712 | try testArgs(i64, f16, -0.0); | ||
| 8713 | try testArgs(i64, f16, 0.0); | ||
| 8714 | try testArgs(i64, f16, 1e-1); | ||
| 8715 | try testArgs(i64, f16, 1e0); | ||
| 8716 | try testArgs(i64, f16, 1e1); | ||
| 8717 | try testArgs(i64, f16, 1e2); | ||
| 8718 | try testArgs(i64, f16, 1e3); | ||
| 8719 | try testArgs(i64, f16, 1e4); | ||
| 8720 | try testArgs(i64, f16, next(f16, next(f16, fmax(f16), 0.0), 0.0)); | ||
| 8721 | try testArgs(i64, f16, next(f16, fmax(f16), 0.0)); | ||
| 8722 | try testArgs(i64, f16, fmax(f16)); | ||
| 8723 | |||
| 8724 | try testArgs(u64, f16, -0.0); | ||
| 8725 | try testArgs(u64, f16, 0.0); | ||
| 8726 | try testArgs(u64, f16, 1e-1); | ||
| 8727 | try testArgs(u64, f16, 1e0); | ||
| 8728 | try testArgs(u64, f16, 1e1); | ||
| 8729 | try testArgs(u64, f16, 1e2); | ||
| 8730 | try testArgs(u64, f16, 1e3); | ||
| 8731 | try testArgs(u64, f16, 1e4); | ||
| 8732 | try testArgs(u64, f16, next(f16, next(f16, fmax(f16), 0.0), 0.0)); | ||
| 8733 | try testArgs(u64, f16, next(f16, fmax(f16), 0.0)); | ||
| 8734 | try testArgs(u64, f16, fmax(f16)); | ||
| 8735 | |||
| 8736 | try testArgs(i128, f16, -fmax(f16)); | ||
| 8737 | try testArgs(i128, f16, next(f16, -fmax(f16), -0.0)); | ||
| 8738 | try testArgs(i128, f16, next(f16, next(f16, -fmax(f16), -0.0), -0.0)); | ||
| 8739 | try testArgs(i128, f16, -1e4); | ||
| 8740 | try testArgs(i128, f16, -1e3); | ||
| 8741 | try testArgs(i128, f16, -1e2); | ||
| 8742 | try testArgs(i128, f16, -1e1); | ||
| 8743 | try testArgs(i128, f16, -1e0); | ||
| 8744 | try testArgs(i128, f16, -1e-1); | ||
| 8745 | try testArgs(i128, f16, -0.0); | ||
| 8746 | try testArgs(i128, f16, 0.0); | ||
| 8747 | try testArgs(i128, f16, 1e-1); | ||
| 8748 | try testArgs(i128, f16, 1e0); | ||
| 8749 | try testArgs(i128, f16, 1e1); | ||
| 8750 | try testArgs(i128, f16, 1e2); | ||
| 8751 | try testArgs(i128, f16, 1e3); | ||
| 8752 | try testArgs(i128, f16, 1e4); | ||
| 8753 | try testArgs(i128, f16, next(f16, next(f16, fmax(f16), 0.0), 0.0)); | ||
| 8754 | try testArgs(i128, f16, next(f16, fmax(f16), 0.0)); | ||
| 8755 | try testArgs(i128, f16, fmax(f16)); | ||
| 8756 | |||
| 8757 | try testArgs(u128, f16, -0.0); | ||
| 8758 | try testArgs(u128, f16, 0.0); | ||
| 8759 | try testArgs(u128, f16, 1e-1); | ||
| 8760 | try testArgs(u128, f16, 1e0); | ||
| 8761 | try testArgs(u128, f16, 1e1); | ||
| 8762 | try testArgs(u128, f16, 1e2); | ||
| 8763 | try testArgs(u128, f16, 1e3); | ||
| 8764 | try testArgs(u128, f16, 1e4); | ||
| 8765 | try testArgs(u128, f16, next(f16, next(f16, fmax(f16), 0.0), 0.0)); | ||
| 8766 | try testArgs(u128, f16, next(f16, fmax(f16), 0.0)); | ||
| 8767 | try testArgs(u128, f16, fmax(f16)); | ||
| 8768 | |||
| 8769 | try testArgs(i256, f16, -fmax(f16)); | ||
| 8770 | try testArgs(i256, f16, next(f16, -fmax(f16), -0.0)); | ||
| 8771 | try testArgs(i256, f16, next(f16, next(f16, -fmax(f16), -0.0), -0.0)); | ||
| 8772 | try testArgs(i256, f16, -1e4); | ||
| 8773 | try testArgs(i256, f16, -1e3); | ||
| 8774 | try testArgs(i256, f16, -1e2); | ||
| 8775 | try testArgs(i256, f16, -1e1); | ||
| 8776 | try testArgs(i256, f16, -1e0); | ||
| 8777 | try testArgs(i256, f16, -1e-1); | ||
| 8778 | try testArgs(i256, f16, -0.0); | ||
| 8779 | try testArgs(i256, f16, 0.0); | ||
| 8780 | try testArgs(i256, f16, 1e-1); | ||
| 8781 | try testArgs(i256, f16, 1e0); | ||
| 8782 | try testArgs(i256, f16, 1e1); | ||
| 8783 | try testArgs(i256, f16, 1e2); | ||
| 8784 | try testArgs(i256, f16, 1e3); | ||
| 8785 | try testArgs(i256, f16, 1e4); | ||
| 8786 | try testArgs(i256, f16, next(f16, next(f16, fmax(f16), 0.0), 0.0)); | ||
| 8787 | try testArgs(i256, f16, next(f16, fmax(f16), 0.0)); | ||
| 8788 | try testArgs(i256, f16, fmax(f16)); | ||
| 8789 | |||
| 8790 | try testArgs(u256, f16, -0.0); | ||
| 8791 | try testArgs(u256, f16, 0.0); | ||
| 8792 | try testArgs(u256, f16, 1e-1); | ||
| 8793 | try testArgs(u256, f16, 1e0); | ||
| 8794 | try testArgs(u256, f16, 1e1); | ||
| 8795 | try testArgs(u256, f16, 1e2); | ||
| 8796 | try testArgs(u256, f16, 1e3); | ||
| 8797 | try testArgs(u256, f16, 1e4); | ||
| 8798 | try testArgs(u256, f16, next(f16, next(f16, fmax(f16), 0.0), 0.0)); | ||
| 8799 | try testArgs(u256, f16, next(f16, fmax(f16), 0.0)); | ||
| 8800 | try testArgs(u256, f16, fmax(f16)); | ||
| 8801 | |||
| 8802 | try testArgs(i8, f32, -0x0.8p8); | ||
| 8803 | try testArgs(i8, f32, next(f32, -0x0.8p8, -0.0)); | ||
| 8804 | try testArgs(i8, f32, next(f32, next(f32, -0x0.8p8, -0.0), -0.0)); | ||
| 8805 | try testArgs(i8, f32, -1e2); | ||
| 8806 | try testArgs(i8, f32, -1e1); | ||
| 8807 | try testArgs(i8, f32, -1e0); | ||
| 8808 | try testArgs(i8, f32, -1e-1); | ||
| 8809 | try testArgs(i8, f32, -0.0); | ||
| 8810 | try testArgs(i8, f32, 0.0); | ||
| 8811 | try testArgs(i8, f32, 1e-1); | ||
| 8812 | try testArgs(i8, f32, 1e0); | ||
| 8813 | try testArgs(i8, f32, 1e1); | ||
| 8814 | try testArgs(i8, f32, 1e2); | ||
| 8815 | try testArgs(i8, f32, next(f32, next(f32, 0x0.8p8, 0.0), 0.0)); | ||
| 8816 | try testArgs(i8, f32, next(f32, 0x0.8p8, 0.0)); | ||
| 8817 | |||
| 8818 | try testArgs(u8, f32, -0.0); | ||
| 8819 | try testArgs(u8, f32, 0.0); | ||
| 8820 | try testArgs(u8, f32, 1e-1); | ||
| 8821 | try testArgs(u8, f32, 1e0); | ||
| 8822 | try testArgs(u8, f32, 1e1); | ||
| 8823 | try testArgs(u8, f32, 1e2); | ||
| 8824 | try testArgs(u8, f32, next(f32, next(f32, 0x1p8, 0.0), 0.0)); | ||
| 8825 | try testArgs(u8, f32, next(f32, 0x1p8, 0.0)); | ||
| 8826 | |||
| 8827 | try testArgs(i16, f32, -0x0.8p16); | ||
| 8828 | try testArgs(i16, f32, next(f32, -0x0.8p16, -0.0)); | ||
| 8829 | try testArgs(i16, f32, next(f32, next(f32, -0x0.8p16, -0.0), -0.0)); | ||
| 8830 | try testArgs(i16, f32, -1e4); | ||
| 8831 | try testArgs(i16, f32, -1e3); | ||
| 8832 | try testArgs(i16, f32, -1e2); | ||
| 8833 | try testArgs(i16, f32, -1e1); | ||
| 8834 | try testArgs(i16, f32, -1e0); | ||
| 8835 | try testArgs(i16, f32, -1e-1); | ||
| 8836 | try testArgs(i16, f32, -0.0); | ||
| 8837 | try testArgs(i16, f32, 0.0); | ||
| 8838 | try testArgs(i16, f32, 1e-1); | ||
| 8839 | try testArgs(i16, f32, 1e0); | ||
| 8840 | try testArgs(i16, f32, 1e1); | ||
| 8841 | try testArgs(i16, f32, 1e2); | ||
| 8842 | try testArgs(i16, f32, 1e3); | ||
| 8843 | try testArgs(i16, f32, 1e4); | ||
| 8844 | try testArgs(i16, f32, next(f32, next(f32, 0x0.8p16, 0.0), 0.0)); | ||
| 8845 | try testArgs(i16, f32, next(f32, 0x0.8p16, 0.0)); | ||
| 8846 | |||
| 8847 | try testArgs(u16, f32, -0.0); | ||
| 8848 | try testArgs(u16, f32, 0.0); | ||
| 8849 | try testArgs(u16, f32, 1e-1); | ||
| 8850 | try testArgs(u16, f32, 1e0); | ||
| 8851 | try testArgs(u16, f32, 1e1); | ||
| 8852 | try testArgs(u16, f32, 1e2); | ||
| 8853 | try testArgs(u16, f32, 1e3); | ||
| 8854 | try testArgs(u16, f32, 1e4); | ||
| 8855 | try testArgs(u16, f32, next(f32, next(f32, 0x1p16, 0.0), 0.0)); | ||
| 8856 | try testArgs(u16, f32, next(f32, 0x1p16, 0.0)); | ||
| 8857 | |||
| 8858 | try testArgs(i32, f32, -0x0.8p32); | ||
| 8859 | try testArgs(i32, f32, next(f32, -0x0.8p32, -0.0)); | ||
| 8860 | try testArgs(i32, f32, next(f32, next(f32, -0x0.8p32, -0.0), -0.0)); | ||
| 8861 | try testArgs(i32, f32, -1e9); | ||
| 8862 | try testArgs(i32, f32, -1e8); | ||
| 8863 | try testArgs(i32, f32, -1e7); | ||
| 8864 | try testArgs(i32, f32, -1e6); | ||
| 8865 | try testArgs(i32, f32, -1e5); | ||
| 8866 | try testArgs(i32, f32, -1e4); | ||
| 8867 | try testArgs(i32, f32, -1e3); | ||
| 8868 | try testArgs(i32, f32, -1e2); | ||
| 8869 | try testArgs(i32, f32, -1e1); | ||
| 8870 | try testArgs(i32, f32, -1e0); | ||
| 8871 | try testArgs(i32, f32, -1e-1); | ||
| 8872 | try testArgs(i32, f32, -0.0); | ||
| 8873 | try testArgs(i32, f32, 0.0); | ||
| 8874 | try testArgs(i32, f32, 1e-1); | ||
| 8875 | try testArgs(i32, f32, 1e0); | ||
| 8876 | try testArgs(i32, f32, 1e1); | ||
| 8877 | try testArgs(i32, f32, 1e2); | ||
| 8878 | try testArgs(i32, f32, 1e3); | ||
| 8879 | try testArgs(i32, f32, 1e4); | ||
| 8880 | try testArgs(i32, f32, 1e5); | ||
| 8881 | try testArgs(i32, f32, 1e6); | ||
| 8882 | try testArgs(i32, f32, 1e7); | ||
| 8883 | try testArgs(i32, f32, 1e8); | ||
| 8884 | try testArgs(i32, f32, 1e9); | ||
| 8885 | try testArgs(i32, f32, next(f32, next(f32, 0x0.8p32, 0.0), 0.0)); | ||
| 8886 | try testArgs(i32, f32, next(f32, 0x0.8p32, 0.0)); | ||
| 8887 | |||
| 8888 | try testArgs(u32, f32, -0.0); | ||
| 8889 | try testArgs(u32, f32, 0.0); | ||
| 8890 | try testArgs(u32, f32, 1e-1); | ||
| 8891 | try testArgs(u32, f32, 1e0); | ||
| 8892 | try testArgs(u32, f32, 1e1); | ||
| 8893 | try testArgs(u32, f32, 1e2); | ||
| 8894 | try testArgs(u32, f32, 1e3); | ||
| 8895 | try testArgs(u32, f32, 1e4); | ||
| 8896 | try testArgs(u32, f32, 1e5); | ||
| 8897 | try testArgs(u32, f32, 1e6); | ||
| 8898 | try testArgs(u32, f32, 1e7); | ||
| 8899 | try testArgs(u32, f32, 1e8); | ||
| 8900 | try testArgs(u32, f32, 1e9); | ||
| 8901 | try testArgs(u32, f32, next(f32, next(f32, 0x1p32, 0.0), 0.0)); | ||
| 8902 | try testArgs(u32, f32, next(f32, 0x1p32, 0.0)); | ||
| 8903 | |||
| 8904 | try testArgs(i64, f32, -0x0.8p64); | ||
| 8905 | try testArgs(i64, f32, next(f32, -0x0.8p64, -0.0)); | ||
| 8906 | try testArgs(i64, f32, next(f32, next(f32, -0x0.8p64, -0.0), -0.0)); | ||
| 8907 | try testArgs(i64, f32, -1e18); | ||
| 8908 | try testArgs(i64, f32, -1e16); | ||
| 8909 | try testArgs(i64, f32, -1e14); | ||
| 8910 | try testArgs(i64, f32, -1e12); | ||
| 8911 | try testArgs(i64, f32, -1e10); | ||
| 8912 | try testArgs(i64, f32, -1e8); | ||
| 8913 | try testArgs(i64, f32, -1e6); | ||
| 8914 | try testArgs(i64, f32, -1e4); | ||
| 8915 | try testArgs(i64, f32, -1e2); | ||
| 8916 | try testArgs(i64, f32, -1e0); | ||
| 8917 | try testArgs(i64, f32, -1e-1); | ||
| 8918 | try testArgs(i64, f32, -0.0); | ||
| 8919 | try testArgs(i64, f32, 0.0); | ||
| 8920 | try testArgs(i64, f32, 1e-1); | ||
| 8921 | try testArgs(i64, f32, 1e0); | ||
| 8922 | try testArgs(i64, f32, 1e2); | ||
| 8923 | try testArgs(i64, f32, 1e4); | ||
| 8924 | try testArgs(i64, f32, 1e6); | ||
| 8925 | try testArgs(i64, f32, 1e8); | ||
| 8926 | try testArgs(i64, f32, 1e10); | ||
| 8927 | try testArgs(i64, f32, 1e12); | ||
| 8928 | try testArgs(i64, f32, 1e14); | ||
| 8929 | try testArgs(i64, f32, 1e16); | ||
| 8930 | try testArgs(i64, f32, 1e18); | ||
| 8931 | try testArgs(i64, f32, next(f32, next(f32, 0x0.8p64, 0.0), 0.0)); | ||
| 8932 | try testArgs(i64, f32, next(f32, 0x0.8p64, 0.0)); | ||
| 8933 | |||
| 8934 | try testArgs(u64, f32, -0.0); | ||
| 8935 | try testArgs(u64, f32, 0.0); | ||
| 8936 | try testArgs(u64, f32, 1e-1); | ||
| 8937 | try testArgs(u64, f32, 1e0); | ||
| 8938 | try testArgs(u64, f32, 1e2); | ||
| 8939 | try testArgs(u64, f32, 1e4); | ||
| 8940 | try testArgs(u64, f32, 1e6); | ||
| 8941 | try testArgs(u64, f32, 1e8); | ||
| 8942 | try testArgs(u64, f32, 1e10); | ||
| 8943 | try testArgs(u64, f32, 1e12); | ||
| 8944 | try testArgs(u64, f32, 1e14); | ||
| 8945 | try testArgs(u64, f32, 1e16); | ||
| 8946 | try testArgs(u64, f32, 1e18); | ||
| 8947 | try testArgs(u64, f32, next(f32, next(f32, 0x1p64, 0.0), 0.0)); | ||
| 8948 | try testArgs(u64, f32, next(f32, 0x1p64, 0.0)); | ||
| 8949 | |||
| 8950 | try testArgs(i128, f32, -0x0.8p128); | ||
| 8951 | try testArgs(i128, f32, next(f32, -0x0.8p128, -0.0)); | ||
| 8952 | try testArgs(i128, f32, next(f32, next(f32, -0x0.8p128, -0.0), -0.0)); | ||
| 8953 | try testArgs(i128, f32, -1e38); | ||
| 8954 | try testArgs(i128, f32, -1e34); | ||
| 8955 | try testArgs(i128, f32, -1e30); | ||
| 8956 | try testArgs(i128, f32, -1e26); | ||
| 8957 | try testArgs(i128, f32, -1e22); | ||
| 8958 | try testArgs(i128, f32, -1e18); | ||
| 8959 | try testArgs(i128, f32, -1e14); | ||
| 8960 | try testArgs(i128, f32, -1e10); | ||
| 8961 | try testArgs(i128, f32, -1e6); | ||
| 8962 | try testArgs(i128, f32, -1e2); | ||
| 8963 | try testArgs(i128, f32, -1e0); | ||
| 8964 | try testArgs(i128, f32, -1e-1); | ||
| 8965 | try testArgs(i128, f32, -0.0); | ||
| 8966 | try testArgs(i128, f32, 0.0); | ||
| 8967 | try testArgs(i128, f32, 1e-1); | ||
| 8968 | try testArgs(i128, f32, 1e0); | ||
| 8969 | try testArgs(i128, f32, 1e2); | ||
| 8970 | try testArgs(i128, f32, 1e6); | ||
| 8971 | try testArgs(i128, f32, 1e10); | ||
| 8972 | try testArgs(i128, f32, 1e14); | ||
| 8973 | try testArgs(i128, f32, 1e18); | ||
| 8974 | try testArgs(i128, f32, 1e22); | ||
| 8975 | try testArgs(i128, f32, 1e26); | ||
| 8976 | try testArgs(i128, f32, 1e30); | ||
| 8977 | try testArgs(i128, f32, 1e34); | ||
| 8978 | try testArgs(i128, f32, 1e38); | ||
| 8979 | try testArgs(i128, f32, next(f32, next(f32, 0x0.8p128, 0.0), 0.0)); | ||
| 8980 | try testArgs(i128, f32, next(f32, 0x0.8p128, 0.0)); | ||
| 8981 | |||
| 8982 | try testArgs(u128, f32, -0.0); | ||
| 8983 | try testArgs(u128, f32, 0.0); | ||
| 8984 | try testArgs(u128, f32, 1e-1); | ||
| 8985 | try testArgs(u128, f32, 1e0); | ||
| 8986 | try testArgs(u128, f32, 1e2); | ||
| 8987 | try testArgs(u128, f32, 1e6); | ||
| 8988 | try testArgs(u128, f32, 1e10); | ||
| 8989 | try testArgs(u128, f32, 1e14); | ||
| 8990 | try testArgs(u128, f32, 1e18); | ||
| 8991 | try testArgs(u128, f32, 1e22); | ||
| 8992 | try testArgs(u128, f32, 1e26); | ||
| 8993 | try testArgs(u128, f32, 1e30); | ||
| 8994 | try testArgs(u128, f32, 1e34); | ||
| 8995 | try testArgs(u128, f32, 1e38); | ||
| 8996 | try testArgs(u128, f32, next(f32, next(f32, fmax(f32), 0.0), 0.0)); | ||
| 8997 | try testArgs(u128, f32, next(f32, fmax(f32), 0.0)); | ||
| 8998 | |||
| 8999 | try testArgs(i256, f32, -fmax(f32)); | ||
| 9000 | try testArgs(i256, f32, next(f32, -fmax(f32), -0.0)); | ||
| 9001 | try testArgs(i256, f32, next(f32, next(f32, -fmax(f32), -0.0), -0.0)); | ||
| 9002 | try testArgs(i256, f32, -1e38); | ||
| 9003 | try testArgs(i256, f32, -1e34); | ||
| 9004 | try testArgs(i256, f32, -1e30); | ||
| 9005 | try testArgs(i256, f32, -1e26); | ||
| 9006 | try testArgs(i256, f32, -1e22); | ||
| 9007 | try testArgs(i256, f32, -1e18); | ||
| 9008 | try testArgs(i256, f32, -1e14); | ||
| 9009 | try testArgs(i256, f32, -1e10); | ||
| 9010 | try testArgs(i256, f32, -1e6); | ||
| 9011 | try testArgs(i256, f32, -1e2); | ||
| 9012 | try testArgs(i256, f32, -1e0); | ||
| 9013 | try testArgs(i256, f32, -1e-1); | ||
| 9014 | try testArgs(i256, f32, -0.0); | ||
| 9015 | try testArgs(i256, f32, 0.0); | ||
| 9016 | try testArgs(i256, f32, 1e-1); | ||
| 9017 | try testArgs(i256, f32, 1e0); | ||
| 9018 | try testArgs(i256, f32, 1e2); | ||
| 9019 | try testArgs(i256, f32, 1e6); | ||
| 9020 | try testArgs(i256, f32, 1e10); | ||
| 9021 | try testArgs(i256, f32, 1e14); | ||
| 9022 | try testArgs(i256, f32, 1e18); | ||
| 9023 | try testArgs(i256, f32, 1e22); | ||
| 9024 | try testArgs(i256, f32, 1e26); | ||
| 9025 | try testArgs(i256, f32, 1e30); | ||
| 9026 | try testArgs(i256, f32, 1e34); | ||
| 9027 | try testArgs(i256, f32, 1e38); | ||
| 9028 | try testArgs(i256, f32, next(f32, next(f32, fmax(f32), 0.0), 0.0)); | ||
| 9029 | try testArgs(i256, f32, next(f32, fmax(f32), 0.0)); | ||
| 9030 | |||
| 9031 | try testArgs(u256, f32, -0.0); | ||
| 9032 | try testArgs(u256, f32, 0.0); | ||
| 9033 | try testArgs(u256, f32, 1e-1); | ||
| 9034 | try testArgs(u256, f32, 1e0); | ||
| 9035 | try testArgs(u256, f32, 1e2); | ||
| 9036 | try testArgs(u256, f32, 1e6); | ||
| 9037 | try testArgs(u256, f32, 1e10); | ||
| 9038 | try testArgs(u256, f32, 1e14); | ||
| 9039 | try testArgs(u256, f32, 1e18); | ||
| 9040 | try testArgs(u256, f32, 1e22); | ||
| 9041 | try testArgs(u256, f32, 1e26); | ||
| 9042 | try testArgs(u256, f32, 1e30); | ||
| 9043 | try testArgs(u256, f32, 1e34); | ||
| 9044 | try testArgs(u256, f32, 1e38); | ||
| 9045 | try testArgs(u256, f32, next(f32, next(f32, fmax(f32), 0.0), 0.0)); | ||
| 9046 | try testArgs(u256, f32, next(f32, fmax(f32), 0.0)); | ||
| 9047 | |||
| 9048 | try testArgs(i8, f64, -0x0.8p8); | ||
| 9049 | try testArgs(i8, f64, next(f64, -0x0.8p8, -0.0)); | ||
| 9050 | try testArgs(i8, f64, next(f64, next(f64, -0x0.8p8, -0.0), -0.0)); | ||
| 9051 | try testArgs(i8, f64, -1e2); | ||
| 9052 | try testArgs(i8, f64, -1e1); | ||
| 9053 | try testArgs(i8, f64, -1e0); | ||
| 9054 | try testArgs(i8, f64, -1e-1); | ||
| 9055 | try testArgs(i8, f64, -0.0); | ||
| 9056 | try testArgs(i8, f64, 0.0); | ||
| 9057 | try testArgs(i8, f64, 1e-1); | ||
| 9058 | try testArgs(i8, f64, 1e0); | ||
| 9059 | try testArgs(i8, f64, 1e1); | ||
| 9060 | try testArgs(i8, f64, 1e2); | ||
| 9061 | try testArgs(i8, f64, next(f64, next(f64, 0x0.8p8, 0.0), 0.0)); | ||
| 9062 | try testArgs(i8, f64, next(f64, 0x0.8p8, 0.0)); | ||
| 9063 | |||
| 9064 | try testArgs(u8, f64, -0.0); | ||
| 9065 | try testArgs(u8, f64, 0.0); | ||
| 9066 | try testArgs(u8, f64, 1e-1); | ||
| 9067 | try testArgs(u8, f64, 1e0); | ||
| 9068 | try testArgs(u8, f64, 1e1); | ||
| 9069 | try testArgs(u8, f64, 1e2); | ||
| 9070 | try testArgs(u8, f64, next(f64, next(f64, 0x1p8, 0.0), 0.0)); | ||
| 9071 | try testArgs(u8, f64, next(f64, 0x1p8, 0.0)); | ||
| 9072 | |||
| 9073 | try testArgs(i16, f64, -0x0.8p16); | ||
| 9074 | try testArgs(i16, f64, next(f64, -0x0.8p16, -0.0)); | ||
| 9075 | try testArgs(i16, f64, next(f64, next(f64, -0x0.8p16, -0.0), -0.0)); | ||
| 9076 | try testArgs(i16, f64, -1e4); | ||
| 9077 | try testArgs(i16, f64, -1e3); | ||
| 9078 | try testArgs(i16, f64, -1e2); | ||
| 9079 | try testArgs(i16, f64, -1e1); | ||
| 9080 | try testArgs(i16, f64, -1e0); | ||
| 9081 | try testArgs(i16, f64, -1e-1); | ||
| 9082 | try testArgs(i16, f64, -0.0); | ||
| 9083 | try testArgs(i16, f64, 0.0); | ||
| 9084 | try testArgs(i16, f64, 1e-1); | ||
| 9085 | try testArgs(i16, f64, 1e0); | ||
| 9086 | try testArgs(i16, f64, 1e1); | ||
| 9087 | try testArgs(i16, f64, 1e2); | ||
| 9088 | try testArgs(i16, f64, 1e3); | ||
| 9089 | try testArgs(i16, f64, 1e4); | ||
| 9090 | try testArgs(i16, f64, next(f64, next(f64, 0x0.8p16, 0.0), 0.0)); | ||
| 9091 | try testArgs(i16, f64, next(f64, 0x0.8p16, 0.0)); | ||
| 9092 | |||
| 9093 | try testArgs(u16, f64, -0.0); | ||
| 9094 | try testArgs(u16, f64, 0.0); | ||
| 9095 | try testArgs(u16, f64, 1e-1); | ||
| 9096 | try testArgs(u16, f64, 1e0); | ||
| 9097 | try testArgs(u16, f64, 1e1); | ||
| 9098 | try testArgs(u16, f64, 1e2); | ||
| 9099 | try testArgs(u16, f64, 1e3); | ||
| 9100 | try testArgs(u16, f64, 1e4); | ||
| 9101 | try testArgs(u16, f64, next(f64, next(f64, 0x1p16, 0.0), 0.0)); | ||
| 9102 | try testArgs(u16, f64, next(f64, 0x1p16, 0.0)); | ||
| 9103 | |||
| 9104 | try testArgs(i32, f64, -0x0.8p32); | ||
| 9105 | try testArgs(i32, f64, next(f64, -0x0.8p32, -0.0)); | ||
| 9106 | try testArgs(i32, f64, next(f64, next(f64, -0x0.8p32, -0.0), -0.0)); | ||
| 9107 | try testArgs(i32, f64, -1e9); | ||
| 9108 | try testArgs(i32, f64, -1e8); | ||
| 9109 | try testArgs(i32, f64, -1e7); | ||
| 9110 | try testArgs(i32, f64, -1e6); | ||
| 9111 | try testArgs(i32, f64, -1e5); | ||
| 9112 | try testArgs(i32, f64, -1e4); | ||
| 9113 | try testArgs(i32, f64, -1e3); | ||
| 9114 | try testArgs(i32, f64, -1e2); | ||
| 9115 | try testArgs(i32, f64, -1e1); | ||
| 9116 | try testArgs(i32, f64, -1e0); | ||
| 9117 | try testArgs(i32, f64, -1e-1); | ||
| 9118 | try testArgs(i32, f64, -0.0); | ||
| 9119 | try testArgs(i32, f64, 0.0); | ||
| 9120 | try testArgs(i32, f64, 1e-1); | ||
| 9121 | try testArgs(i32, f64, 1e0); | ||
| 9122 | try testArgs(i32, f64, 1e1); | ||
| 9123 | try testArgs(i32, f64, 1e2); | ||
| 9124 | try testArgs(i32, f64, 1e3); | ||
| 9125 | try testArgs(i32, f64, 1e4); | ||
| 9126 | try testArgs(i32, f64, 1e5); | ||
| 9127 | try testArgs(i32, f64, 1e6); | ||
| 9128 | try testArgs(i32, f64, 1e7); | ||
| 9129 | try testArgs(i32, f64, 1e8); | ||
| 9130 | try testArgs(i32, f64, 1e9); | ||
| 9131 | try testArgs(i32, f64, next(f64, next(f64, 0x0.8p32, 0.0), 0.0)); | ||
| 9132 | try testArgs(i32, f64, next(f64, 0x0.8p32, 0.0)); | ||
| 9133 | |||
| 9134 | try testArgs(u32, f64, -0.0); | ||
| 9135 | try testArgs(u32, f64, 0.0); | ||
| 9136 | try testArgs(u32, f64, 1e-1); | ||
| 9137 | try testArgs(u32, f64, 1e0); | ||
| 9138 | try testArgs(u32, f64, 1e1); | ||
| 9139 | try testArgs(u32, f64, 1e2); | ||
| 9140 | try testArgs(u32, f64, 1e3); | ||
| 9141 | try testArgs(u32, f64, 1e4); | ||
| 9142 | try testArgs(u32, f64, 1e5); | ||
| 9143 | try testArgs(u32, f64, 1e6); | ||
| 9144 | try testArgs(u32, f64, 1e7); | ||
| 9145 | try testArgs(u32, f64, 1e8); | ||
| 9146 | try testArgs(u32, f64, 1e9); | ||
| 9147 | try testArgs(u32, f64, next(f64, next(f64, 0x1p32, 0.0), 0.0)); | ||
| 9148 | try testArgs(u32, f64, next(f64, 0x1p32, 0.0)); | ||
| 9149 | |||
| 9150 | try testArgs(i64, f64, -0x0.8p64); | ||
| 9151 | try testArgs(i64, f64, next(f64, -0x0.8p64, -0.0)); | ||
| 9152 | try testArgs(i64, f64, next(f64, next(f64, -0x0.8p64, -0.0), -0.0)); | ||
| 9153 | try testArgs(i64, f64, -1e18); | ||
| 9154 | try testArgs(i64, f64, -1e16); | ||
| 9155 | try testArgs(i64, f64, -1e14); | ||
| 9156 | try testArgs(i64, f64, -1e12); | ||
| 9157 | try testArgs(i64, f64, -1e10); | ||
| 9158 | try testArgs(i64, f64, -1e8); | ||
| 9159 | try testArgs(i64, f64, -1e6); | ||
| 9160 | try testArgs(i64, f64, -1e4); | ||
| 9161 | try testArgs(i64, f64, -1e2); | ||
| 9162 | try testArgs(i64, f64, -1e0); | ||
| 9163 | try testArgs(i64, f64, -1e-1); | ||
| 9164 | try testArgs(i64, f64, -0.0); | ||
| 9165 | try testArgs(i64, f64, 0.0); | ||
| 9166 | try testArgs(i64, f64, 1e-1); | ||
| 9167 | try testArgs(i64, f64, 1e0); | ||
| 9168 | try testArgs(i64, f64, 1e2); | ||
| 9169 | try testArgs(i64, f64, 1e4); | ||
| 9170 | try testArgs(i64, f64, 1e6); | ||
| 9171 | try testArgs(i64, f64, 1e8); | ||
| 9172 | try testArgs(i64, f64, 1e10); | ||
| 9173 | try testArgs(i64, f64, 1e12); | ||
| 9174 | try testArgs(i64, f64, 1e14); | ||
| 9175 | try testArgs(i64, f64, 1e16); | ||
| 9176 | try testArgs(i64, f64, 1e18); | ||
| 9177 | try testArgs(i64, f64, next(f64, next(f64, 0x0.8p64, 0.0), 0.0)); | ||
| 9178 | try testArgs(i64, f64, next(f64, 0x0.8p64, 0.0)); | ||
| 9179 | |||
| 9180 | try testArgs(u64, f64, -0.0); | ||
| 9181 | try testArgs(u64, f64, 0.0); | ||
| 9182 | try testArgs(u64, f64, 1e-1); | ||
| 9183 | try testArgs(u64, f64, 1e0); | ||
| 9184 | try testArgs(u64, f64, 1e2); | ||
| 9185 | try testArgs(u64, f64, 1e4); | ||
| 9186 | try testArgs(u64, f64, 1e6); | ||
| 9187 | try testArgs(u64, f64, 1e8); | ||
| 9188 | try testArgs(u64, f64, 1e10); | ||
| 9189 | try testArgs(u64, f64, 1e12); | ||
| 9190 | try testArgs(u64, f64, 1e14); | ||
| 9191 | try testArgs(u64, f64, 1e16); | ||
| 9192 | try testArgs(u64, f64, 1e18); | ||
| 9193 | try testArgs(u64, f64, next(f64, next(f64, 0x1p64, 0.0), 0.0)); | ||
| 9194 | try testArgs(u64, f64, next(f64, 0x1p64, 0.0)); | ||
| 9195 | |||
| 9196 | try testArgs(i128, f64, -0x0.8p128); | ||
| 9197 | try testArgs(i128, f64, next(f64, -0x0.8p128, -0.0)); | ||
| 9198 | try testArgs(i128, f64, next(f64, next(f64, -0x0.8p128, -0.0), -0.0)); | ||
| 9199 | try testArgs(i128, f64, -1e38); | ||
| 9200 | try testArgs(i128, f64, -1e34); | ||
| 9201 | try testArgs(i128, f64, -1e30); | ||
| 9202 | try testArgs(i128, f64, -1e26); | ||
| 9203 | try testArgs(i128, f64, -1e22); | ||
| 9204 | try testArgs(i128, f64, -1e18); | ||
| 9205 | try testArgs(i128, f64, -1e14); | ||
| 9206 | try testArgs(i128, f64, -1e10); | ||
| 9207 | try testArgs(i128, f64, -1e6); | ||
| 9208 | try testArgs(i128, f64, -1e2); | ||
| 9209 | try testArgs(i128, f64, -1e0); | ||
| 9210 | try testArgs(i128, f64, -1e-1); | ||
| 9211 | try testArgs(i128, f64, -0.0); | ||
| 9212 | try testArgs(i128, f64, 0.0); | ||
| 9213 | try testArgs(i128, f64, 1e-1); | ||
| 9214 | try testArgs(i128, f64, 1e0); | ||
| 9215 | try testArgs(i128, f64, 1e2); | ||
| 9216 | try testArgs(i128, f64, 1e6); | ||
| 9217 | try testArgs(i128, f64, 1e10); | ||
| 9218 | try testArgs(i128, f64, 1e14); | ||
| 9219 | try testArgs(i128, f64, 1e18); | ||
| 9220 | try testArgs(i128, f64, 1e22); | ||
| 9221 | try testArgs(i128, f64, 1e26); | ||
| 9222 | try testArgs(i128, f64, 1e30); | ||
| 9223 | try testArgs(i128, f64, 1e34); | ||
| 9224 | try testArgs(i128, f64, 1e38); | ||
| 9225 | try testArgs(i128, f64, next(f64, next(f64, 0x0.8p128, 0.0), 0.0)); | ||
| 9226 | try testArgs(i128, f64, next(f64, 0x0.8p128, 0.0)); | ||
| 9227 | |||
| 9228 | try testArgs(u128, f64, -0.0); | ||
| 9229 | try testArgs(u128, f64, 0.0); | ||
| 9230 | try testArgs(u128, f64, 1e-1); | ||
| 9231 | try testArgs(u128, f64, 1e0); | ||
| 9232 | try testArgs(u128, f64, 1e2); | ||
| 9233 | try testArgs(u128, f64, 1e6); | ||
| 9234 | try testArgs(u128, f64, 1e10); | ||
| 9235 | try testArgs(u128, f64, 1e14); | ||
| 9236 | try testArgs(u128, f64, 1e18); | ||
| 9237 | try testArgs(u128, f64, 1e22); | ||
| 9238 | try testArgs(u128, f64, 1e26); | ||
| 9239 | try testArgs(u128, f64, 1e30); | ||
| 9240 | try testArgs(u128, f64, 1e34); | ||
| 9241 | try testArgs(u128, f64, 1e38); | ||
| 9242 | try testArgs(u128, f64, next(f64, next(f64, 0x1p128, 0.0), 0.0)); | ||
| 9243 | try testArgs(u128, f64, next(f64, 0x1p128, 0.0)); | ||
| 9244 | |||
| 9245 | try testArgs(i256, f64, -0x0.8p256); | ||
| 9246 | try testArgs(i256, f64, next(f64, -0x0.8p256, -0.0)); | ||
| 9247 | try testArgs(i256, f64, next(f64, next(f64, -0x0.8p256, -0.0), -0.0)); | ||
| 9248 | try testArgs(i256, f64, -1e76); | ||
| 9249 | try testArgs(i256, f64, -1e69); | ||
| 9250 | try testArgs(i256, f64, -1e62); | ||
| 9251 | try testArgs(i256, f64, -1e55); | ||
| 9252 | try testArgs(i256, f64, -1e48); | ||
| 9253 | try testArgs(i256, f64, -1e41); | ||
| 9254 | try testArgs(i256, f64, -1e34); | ||
| 9255 | try testArgs(i256, f64, -1e27); | ||
| 9256 | try testArgs(i256, f64, -1e20); | ||
| 9257 | try testArgs(i256, f64, -1e13); | ||
| 9258 | try testArgs(i256, f64, -1e6); | ||
| 9259 | try testArgs(i256, f64, -1e0); | ||
| 9260 | try testArgs(i256, f64, -1e-1); | ||
| 9261 | try testArgs(i256, f64, -0.0); | ||
| 9262 | try testArgs(i256, f64, 0.0); | ||
| 9263 | try testArgs(i256, f64, 1e-1); | ||
| 9264 | try testArgs(i256, f64, 1e0); | ||
| 9265 | try testArgs(i256, f64, 1e6); | ||
| 9266 | try testArgs(i256, f64, 1e13); | ||
| 9267 | try testArgs(i256, f64, 1e20); | ||
| 9268 | try testArgs(i256, f64, 1e27); | ||
| 9269 | try testArgs(i256, f64, 1e34); | ||
| 9270 | try testArgs(i256, f64, 1e41); | ||
| 9271 | try testArgs(i256, f64, 1e48); | ||
| 9272 | try testArgs(i256, f64, 1e55); | ||
| 9273 | try testArgs(i256, f64, 1e62); | ||
| 9274 | try testArgs(i256, f64, 1e69); | ||
| 9275 | try testArgs(i256, f64, 1e76); | ||
| 9276 | try testArgs(i256, f64, next(f64, next(f64, 0x0.8p256, 0.0), 0.0)); | ||
| 9277 | try testArgs(i256, f64, next(f64, 0x0.8p256, 0.0)); | ||
| 9278 | |||
| 9279 | try testArgs(u256, f64, -0.0); | ||
| 9280 | try testArgs(u256, f64, 0.0); | ||
| 9281 | try testArgs(u256, f64, 1e-1); | ||
| 9282 | try testArgs(u256, f64, 1e0); | ||
| 9283 | try testArgs(u256, f64, 1e7); | ||
| 9284 | try testArgs(u256, f64, 1e14); | ||
| 9285 | try testArgs(u256, f64, 1e21); | ||
| 9286 | try testArgs(u256, f64, 1e28); | ||
| 9287 | try testArgs(u256, f64, 1e35); | ||
| 9288 | try testArgs(u256, f64, 1e42); | ||
| 9289 | try testArgs(u256, f64, 1e49); | ||
| 9290 | try testArgs(u256, f64, 1e56); | ||
| 9291 | try testArgs(u256, f64, 1e63); | ||
| 9292 | try testArgs(u256, f64, 1e70); | ||
| 9293 | try testArgs(u256, f64, 1e77); | ||
| 9294 | try testArgs(u256, f64, next(f64, next(f64, 0x1p256, 0.0), 0.0)); | ||
| 9295 | try testArgs(u256, f64, next(f64, 0x1p256, 0.0)); | ||
| 9296 | |||
| 9297 | try testArgs(i8, f80, -0x0.8p8); | ||
| 9298 | try testArgs(i8, f80, next(f80, -0x0.8p8, -0.0)); | ||
| 9299 | try testArgs(i8, f80, next(f80, next(f80, -0x0.8p8, -0.0), -0.0)); | ||
| 9300 | try testArgs(i8, f80, -1e2); | ||
| 9301 | try testArgs(i8, f80, -1e1); | ||
| 9302 | try testArgs(i8, f80, -1e0); | ||
| 9303 | try testArgs(i8, f80, -1e-1); | ||
| 9304 | try testArgs(i8, f80, -0.0); | ||
| 9305 | try testArgs(i8, f80, 0.0); | ||
| 9306 | try testArgs(i8, f80, 1e-1); | ||
| 9307 | try testArgs(i8, f80, 1e0); | ||
| 9308 | try testArgs(i8, f80, 1e1); | ||
| 9309 | try testArgs(i8, f80, 1e2); | ||
| 9310 | try testArgs(i8, f80, next(f80, next(f80, 0x0.8p8, 0.0), 0.0)); | ||
| 9311 | try testArgs(i8, f80, next(f80, 0x0.8p8, 0.0)); | ||
| 9312 | |||
| 9313 | try testArgs(u8, f80, -0.0); | ||
| 9314 | try testArgs(u8, f80, 0.0); | ||
| 9315 | try testArgs(u8, f80, 1e-1); | ||
| 9316 | try testArgs(u8, f80, 1e0); | ||
| 9317 | try testArgs(u8, f80, 1e1); | ||
| 9318 | try testArgs(u8, f80, 1e2); | ||
| 9319 | try testArgs(u8, f80, next(f80, next(f80, 0x1p8, 0.0), 0.0)); | ||
| 9320 | try testArgs(u8, f80, next(f80, 0x1p8, 0.0)); | ||
| 9321 | |||
| 9322 | try testArgs(i16, f80, -0x0.8p16); | ||
| 9323 | try testArgs(i16, f80, next(f80, -0x0.8p16, -0.0)); | ||
| 9324 | try testArgs(i16, f80, next(f80, next(f80, -0x0.8p16, -0.0), -0.0)); | ||
| 9325 | try testArgs(i16, f80, -1e4); | ||
| 9326 | try testArgs(i16, f80, -1e3); | ||
| 9327 | try testArgs(i16, f80, -1e2); | ||
| 9328 | try testArgs(i16, f80, -1e1); | ||
| 9329 | try testArgs(i16, f80, -1e0); | ||
| 9330 | try testArgs(i16, f80, -1e-1); | ||
| 9331 | try testArgs(i16, f80, -0.0); | ||
| 9332 | try testArgs(i16, f80, 0.0); | ||
| 9333 | try testArgs(i16, f80, 1e-1); | ||
| 9334 | try testArgs(i16, f80, 1e0); | ||
| 9335 | try testArgs(i16, f80, 1e1); | ||
| 9336 | try testArgs(i16, f80, 1e2); | ||
| 9337 | try testArgs(i16, f80, 1e3); | ||
| 9338 | try testArgs(i16, f80, 1e4); | ||
| 9339 | try testArgs(i16, f80, next(f80, next(f80, 0x0.8p16, 0.0), 0.0)); | ||
| 9340 | try testArgs(i16, f80, next(f80, 0x0.8p16, 0.0)); | ||
| 9341 | |||
| 9342 | try testArgs(u16, f80, -0.0); | ||
| 9343 | try testArgs(u16, f80, 0.0); | ||
| 9344 | try testArgs(u16, f80, 1e-1); | ||
| 9345 | try testArgs(u16, f80, 1e0); | ||
| 9346 | try testArgs(u16, f80, 1e1); | ||
| 9347 | try testArgs(u16, f80, 1e2); | ||
| 9348 | try testArgs(u16, f80, 1e3); | ||
| 9349 | try testArgs(u16, f80, 1e4); | ||
| 9350 | try testArgs(u16, f80, next(f80, next(f80, 0x1p16, 0.0), 0.0)); | ||
| 9351 | try testArgs(u16, f80, next(f80, 0x1p16, 0.0)); | ||
| 9352 | |||
| 9353 | try testArgs(i32, f80, -0x0.8p32); | ||
| 9354 | try testArgs(i32, f80, next(f80, -0x0.8p32, -0.0)); | ||
| 9355 | try testArgs(i32, f80, next(f80, next(f80, -0x0.8p32, -0.0), -0.0)); | ||
| 9356 | try testArgs(i32, f80, -1e9); | ||
| 9357 | try testArgs(i32, f80, -1e8); | ||
| 9358 | try testArgs(i32, f80, -1e7); | ||
| 9359 | try testArgs(i32, f80, -1e6); | ||
| 9360 | try testArgs(i32, f80, -1e5); | ||
| 9361 | try testArgs(i32, f80, -1e4); | ||
| 9362 | try testArgs(i32, f80, -1e3); | ||
| 9363 | try testArgs(i32, f80, -1e2); | ||
| 9364 | try testArgs(i32, f80, -1e1); | ||
| 9365 | try testArgs(i32, f80, -1e0); | ||
| 9366 | try testArgs(i32, f80, -1e-1); | ||
| 9367 | try testArgs(i32, f80, -0.0); | ||
| 9368 | try testArgs(i32, f80, 0.0); | ||
| 9369 | try testArgs(i32, f80, 1e-1); | ||
| 9370 | try testArgs(i32, f80, 1e0); | ||
| 9371 | try testArgs(i32, f80, 1e1); | ||
| 9372 | try testArgs(i32, f80, 1e2); | ||
| 9373 | try testArgs(i32, f80, 1e3); | ||
| 9374 | try testArgs(i32, f80, 1e4); | ||
| 9375 | try testArgs(i32, f80, 1e5); | ||
| 9376 | try testArgs(i32, f80, 1e6); | ||
| 9377 | try testArgs(i32, f80, 1e7); | ||
| 9378 | try testArgs(i32, f80, 1e8); | ||
| 9379 | try testArgs(i32, f80, 1e9); | ||
| 9380 | try testArgs(i32, f80, next(f80, next(f80, 0x0.8p32, 0.0), 0.0)); | ||
| 9381 | try testArgs(i32, f80, next(f80, 0x0.8p32, 0.0)); | ||
| 9382 | |||
| 9383 | try testArgs(u32, f80, -0.0); | ||
| 9384 | try testArgs(u32, f80, 0.0); | ||
| 9385 | try testArgs(u32, f80, 1e-1); | ||
| 9386 | try testArgs(u32, f80, 1e0); | ||
| 9387 | try testArgs(u32, f80, 1e1); | ||
| 9388 | try testArgs(u32, f80, 1e2); | ||
| 9389 | try testArgs(u32, f80, 1e3); | ||
| 9390 | try testArgs(u32, f80, 1e4); | ||
| 9391 | try testArgs(u32, f80, 1e5); | ||
| 9392 | try testArgs(u32, f80, 1e6); | ||
| 9393 | try testArgs(u32, f80, 1e7); | ||
| 9394 | try testArgs(u32, f80, 1e8); | ||
| 9395 | try testArgs(u32, f80, 1e9); | ||
| 9396 | try testArgs(u32, f80, next(f80, next(f80, 0x1p32, 0.0), 0.0)); | ||
| 9397 | try testArgs(u32, f80, next(f80, 0x1p32, 0.0)); | ||
| 9398 | |||
| 9399 | try testArgs(i64, f80, -0x0.8p64); | ||
| 9400 | try testArgs(i64, f80, next(f80, -0x0.8p64, -0.0)); | ||
| 9401 | try testArgs(i64, f80, next(f80, next(f80, -0x0.8p64, -0.0), -0.0)); | ||
| 9402 | try testArgs(i64, f80, -1e18); | ||
| 9403 | try testArgs(i64, f80, -1e16); | ||
| 9404 | try testArgs(i64, f80, -1e14); | ||
| 9405 | try testArgs(i64, f80, -1e12); | ||
| 9406 | try testArgs(i64, f80, -1e10); | ||
| 9407 | try testArgs(i64, f80, -1e8); | ||
| 9408 | try testArgs(i64, f80, -1e6); | ||
| 9409 | try testArgs(i64, f80, -1e4); | ||
| 9410 | try testArgs(i64, f80, -1e2); | ||
| 9411 | try testArgs(i64, f80, -1e0); | ||
| 9412 | try testArgs(i64, f80, -1e-1); | ||
| 9413 | try testArgs(i64, f80, -0.0); | ||
| 9414 | try testArgs(i64, f80, 0.0); | ||
| 9415 | try testArgs(i64, f80, 1e-1); | ||
| 9416 | try testArgs(i64, f80, 1e0); | ||
| 9417 | try testArgs(i64, f80, 1e2); | ||
| 9418 | try testArgs(i64, f80, 1e4); | ||
| 9419 | try testArgs(i64, f80, 1e6); | ||
| 9420 | try testArgs(i64, f80, 1e8); | ||
| 9421 | try testArgs(i64, f80, 1e10); | ||
| 9422 | try testArgs(i64, f80, 1e12); | ||
| 9423 | try testArgs(i64, f80, 1e14); | ||
| 9424 | try testArgs(i64, f80, 1e16); | ||
| 9425 | try testArgs(i64, f80, 1e18); | ||
| 9426 | try testArgs(i64, f80, next(f80, next(f80, 0x0.8p64, 0.0), 0.0)); | ||
| 9427 | try testArgs(i64, f80, next(f80, 0x0.8p64, 0.0)); | ||
| 9428 | |||
| 9429 | try testArgs(u64, f80, -0.0); | ||
| 9430 | try testArgs(u64, f80, 0.0); | ||
| 9431 | try testArgs(u64, f80, 1e-1); | ||
| 9432 | try testArgs(u64, f80, 1e0); | ||
| 9433 | try testArgs(u64, f80, 1e2); | ||
| 9434 | try testArgs(u64, f80, 1e4); | ||
| 9435 | try testArgs(u64, f80, 1e6); | ||
| 9436 | try testArgs(u64, f80, 1e8); | ||
| 9437 | try testArgs(u64, f80, 1e10); | ||
| 9438 | try testArgs(u64, f80, 1e12); | ||
| 9439 | try testArgs(u64, f80, 1e14); | ||
| 9440 | try testArgs(u64, f80, 1e16); | ||
| 9441 | try testArgs(u64, f80, 1e18); | ||
| 9442 | try testArgs(u64, f80, next(f80, next(f80, 0x1p64, 0.0), 0.0)); | ||
| 9443 | try testArgs(u64, f80, next(f80, 0x1p64, 0.0)); | ||
| 9444 | |||
| 9445 | try testArgs(i128, f80, -0x0.8p128); | ||
| 9446 | try testArgs(i128, f80, next(f80, -0x0.8p128, -0.0)); | ||
| 9447 | try testArgs(i128, f80, next(f80, next(f80, -0x0.8p128, -0.0), -0.0)); | ||
| 9448 | try testArgs(i128, f80, -1e38); | ||
| 9449 | try testArgs(i128, f80, -1e34); | ||
| 9450 | try testArgs(i128, f80, -1e30); | ||
| 9451 | try testArgs(i128, f80, -1e26); | ||
| 9452 | try testArgs(i128, f80, -1e22); | ||
| 9453 | try testArgs(i128, f80, -1e18); | ||
| 9454 | try testArgs(i128, f80, -1e14); | ||
| 9455 | try testArgs(i128, f80, -1e10); | ||
| 9456 | try testArgs(i128, f80, -1e6); | ||
| 9457 | try testArgs(i128, f80, -1e2); | ||
| 9458 | try testArgs(i128, f80, -1e0); | ||
| 9459 | try testArgs(i128, f80, -1e-1); | ||
| 9460 | try testArgs(i128, f80, -0.0); | ||
| 9461 | try testArgs(i128, f80, 0.0); | ||
| 9462 | try testArgs(i128, f80, 1e-1); | ||
| 9463 | try testArgs(i128, f80, 1e0); | ||
| 9464 | try testArgs(i128, f80, 1e2); | ||
| 9465 | try testArgs(i128, f80, 1e6); | ||
| 9466 | try testArgs(i128, f80, 1e10); | ||
| 9467 | try testArgs(i128, f80, 1e14); | ||
| 9468 | try testArgs(i128, f80, 1e18); | ||
| 9469 | try testArgs(i128, f80, 1e22); | ||
| 9470 | try testArgs(i128, f80, 1e26); | ||
| 9471 | try testArgs(i128, f80, 1e30); | ||
| 9472 | try testArgs(i128, f80, 1e34); | ||
| 9473 | try testArgs(i128, f80, 1e38); | ||
| 9474 | try testArgs(i128, f80, next(f80, next(f80, 0x0.8p128, 0.0), 0.0)); | ||
| 9475 | try testArgs(i128, f80, next(f80, 0x0.8p128, 0.0)); | ||
| 9476 | |||
| 9477 | try testArgs(u128, f80, -0.0); | ||
| 9478 | try testArgs(u128, f80, 0.0); | ||
| 9479 | try testArgs(u128, f80, 1e-1); | ||
| 9480 | try testArgs(u128, f80, 1e0); | ||
| 9481 | try testArgs(u128, f80, 1e2); | ||
| 9482 | try testArgs(u128, f80, 1e6); | ||
| 9483 | try testArgs(u128, f80, 1e10); | ||
| 9484 | try testArgs(u128, f80, 1e14); | ||
| 9485 | try testArgs(u128, f80, 1e18); | ||
| 9486 | try testArgs(u128, f80, 1e22); | ||
| 9487 | try testArgs(u128, f80, 1e26); | ||
| 9488 | try testArgs(u128, f80, 1e30); | ||
| 9489 | try testArgs(u128, f80, 1e34); | ||
| 9490 | try testArgs(u128, f80, 1e38); | ||
| 9491 | try testArgs(u128, f80, next(f80, next(f80, 0x1p128, 0.0), 0.0)); | ||
| 9492 | try testArgs(u128, f80, next(f80, 0x1p128, 0.0)); | ||
| 9493 | |||
| 9494 | try testArgs(i256, f80, -0x0.8p256); | ||
| 9495 | try testArgs(i256, f80, next(f80, -0x0.8p256, -0.0)); | ||
| 9496 | try testArgs(i256, f80, next(f80, next(f80, -0x0.8p256, -0.0), -0.0)); | ||
| 9497 | try testArgs(i256, f80, -1e76); | ||
| 9498 | try testArgs(i256, f80, -1e69); | ||
| 9499 | try testArgs(i256, f80, -1e62); | ||
| 9500 | try testArgs(i256, f80, -1e55); | ||
| 9501 | try testArgs(i256, f80, -1e48); | ||
| 9502 | try testArgs(i256, f80, -1e41); | ||
| 9503 | try testArgs(i256, f80, -1e34); | ||
| 9504 | try testArgs(i256, f80, -1e27); | ||
| 9505 | try testArgs(i256, f80, -1e20); | ||
| 9506 | try testArgs(i256, f80, -1e13); | ||
| 9507 | try testArgs(i256, f80, -1e6); | ||
| 9508 | try testArgs(i256, f80, -1e0); | ||
| 9509 | try testArgs(i256, f80, -1e-1); | ||
| 9510 | try testArgs(i256, f80, -0.0); | ||
| 9511 | try testArgs(i256, f80, 0.0); | ||
| 9512 | try testArgs(i256, f80, 1e-1); | ||
| 9513 | try testArgs(i256, f80, 1e0); | ||
| 9514 | try testArgs(i256, f80, 1e6); | ||
| 9515 | try testArgs(i256, f80, 1e13); | ||
| 9516 | try testArgs(i256, f80, 1e20); | ||
| 9517 | try testArgs(i256, f80, 1e27); | ||
| 9518 | try testArgs(i256, f80, 1e34); | ||
| 9519 | try testArgs(i256, f80, 1e41); | ||
| 9520 | try testArgs(i256, f80, 1e48); | ||
| 9521 | try testArgs(i256, f80, 1e55); | ||
| 9522 | try testArgs(i256, f80, 1e62); | ||
| 9523 | try testArgs(i256, f80, 1e69); | ||
| 9524 | try testArgs(i256, f80, 1e76); | ||
| 9525 | try testArgs(i256, f80, next(f80, next(f80, 0x0.8p256, 0.0), 0.0)); | ||
| 9526 | try testArgs(i256, f80, next(f80, 0x0.8p256, 0.0)); | ||
| 9527 | |||
| 9528 | try testArgs(u256, f80, -0.0); | ||
| 9529 | try testArgs(u256, f80, 0.0); | ||
| 9530 | try testArgs(u256, f80, 1e-1); | ||
| 9531 | try testArgs(u256, f80, 1e0); | ||
| 9532 | try testArgs(u256, f80, 1e7); | ||
| 9533 | try testArgs(u256, f80, 1e14); | ||
| 9534 | try testArgs(u256, f80, 1e21); | ||
| 9535 | try testArgs(u256, f80, 1e28); | ||
| 9536 | try testArgs(u256, f80, 1e35); | ||
| 9537 | try testArgs(u256, f80, 1e42); | ||
| 9538 | try testArgs(u256, f80, 1e49); | ||
| 9539 | try testArgs(u256, f80, 1e56); | ||
| 9540 | try testArgs(u256, f80, 1e63); | ||
| 9541 | try testArgs(u256, f80, 1e70); | ||
| 9542 | try testArgs(u256, f80, 1e77); | ||
| 9543 | try testArgs(u256, f80, next(f80, next(f80, 0x1p256, 0.0), 0.0)); | ||
| 9544 | try testArgs(u256, f80, next(f80, 0x1p256, 0.0)); | ||
| 9545 | |||
| 9546 | try testArgs(i8, f128, -0x0.8p8); | ||
| 9547 | try testArgs(i8, f128, next(f128, -0x0.8p8, -0.0)); | ||
| 9548 | try testArgs(i8, f128, next(f128, next(f128, -0x0.8p8, -0.0), -0.0)); | ||
| 9549 | try testArgs(i8, f128, -1e2); | ||
| 9550 | try testArgs(i8, f128, -1e1); | ||
| 9551 | try testArgs(i8, f128, -1e0); | ||
| 9552 | try testArgs(i8, f128, -1e-1); | ||
| 9553 | try testArgs(i8, f128, -0.0); | ||
| 9554 | try testArgs(i8, f128, 0.0); | ||
| 9555 | try testArgs(i8, f128, 1e-1); | ||
| 9556 | try testArgs(i8, f128, 1e0); | ||
| 9557 | try testArgs(i8, f128, 1e1); | ||
| 9558 | try testArgs(i8, f128, 1e2); | ||
| 9559 | try testArgs(i8, f128, next(f128, next(f128, 0x0.8p8, 0.0), 0.0)); | ||
| 9560 | try testArgs(i8, f128, next(f128, 0x0.8p8, 0.0)); | ||
| 9561 | |||
| 9562 | try testArgs(u8, f128, -0.0); | ||
| 9563 | try testArgs(u8, f128, 0.0); | ||
| 9564 | try testArgs(u8, f128, 1e-1); | ||
| 9565 | try testArgs(u8, f128, 1e0); | ||
| 9566 | try testArgs(u8, f128, 1e1); | ||
| 9567 | try testArgs(u8, f128, 1e2); | ||
| 9568 | try testArgs(u8, f128, next(f128, next(f128, 0x1p8, 0.0), 0.0)); | ||
| 9569 | try testArgs(u8, f128, next(f128, 0x1p8, 0.0)); | ||
| 9570 | |||
| 9571 | try testArgs(i16, f128, -0x0.8p16); | ||
| 9572 | try testArgs(i16, f128, next(f128, -0x0.8p16, -0.0)); | ||
| 9573 | try testArgs(i16, f128, next(f128, next(f128, -0x0.8p16, -0.0), -0.0)); | ||
| 9574 | try testArgs(i16, f128, -1e4); | ||
| 9575 | try testArgs(i16, f128, -1e3); | ||
| 9576 | try testArgs(i16, f128, -1e2); | ||
| 9577 | try testArgs(i16, f128, -1e1); | ||
| 9578 | try testArgs(i16, f128, -1e0); | ||
| 9579 | try testArgs(i16, f128, -1e-1); | ||
| 9580 | try testArgs(i16, f128, -0.0); | ||
| 9581 | try testArgs(i16, f128, 0.0); | ||
| 9582 | try testArgs(i16, f128, 1e-1); | ||
| 9583 | try testArgs(i16, f128, 1e0); | ||
| 9584 | try testArgs(i16, f128, 1e1); | ||
| 9585 | try testArgs(i16, f128, 1e2); | ||
| 9586 | try testArgs(i16, f128, 1e3); | ||
| 9587 | try testArgs(i16, f128, 1e4); | ||
| 9588 | try testArgs(i16, f128, next(f128, next(f128, 0x0.8p16, 0.0), 0.0)); | ||
| 9589 | try testArgs(i16, f128, next(f128, 0x0.8p16, 0.0)); | ||
| 9590 | |||
| 9591 | try testArgs(u16, f128, -0.0); | ||
| 9592 | try testArgs(u16, f128, 0.0); | ||
| 9593 | try testArgs(u16, f128, 1e-1); | ||
| 9594 | try testArgs(u16, f128, 1e0); | ||
| 9595 | try testArgs(u16, f128, 1e1); | ||
| 9596 | try testArgs(u16, f128, 1e2); | ||
| 9597 | try testArgs(u16, f128, 1e3); | ||
| 9598 | try testArgs(u16, f128, 1e4); | ||
| 9599 | try testArgs(u16, f128, next(f128, next(f128, 0x1p16, 0.0), 0.0)); | ||
| 9600 | try testArgs(u16, f128, next(f128, 0x1p16, 0.0)); | ||
| 9601 | |||
| 9602 | try testArgs(i32, f128, -0x0.8p32); | ||
| 9603 | try testArgs(i32, f128, next(f128, -0x0.8p32, -0.0)); | ||
| 9604 | try testArgs(i32, f128, next(f128, next(f128, -0x0.8p32, -0.0), -0.0)); | ||
| 9605 | try testArgs(i32, f128, -1e9); | ||
| 9606 | try testArgs(i32, f128, -1e8); | ||
| 9607 | try testArgs(i32, f128, -1e7); | ||
| 9608 | try testArgs(i32, f128, -1e6); | ||
| 9609 | try testArgs(i32, f128, -1e5); | ||
| 9610 | try testArgs(i32, f128, -1e4); | ||
| 9611 | try testArgs(i32, f128, -1e3); | ||
| 9612 | try testArgs(i32, f128, -1e2); | ||
| 9613 | try testArgs(i32, f128, -1e1); | ||
| 9614 | try testArgs(i32, f128, -1e0); | ||
| 9615 | try testArgs(i32, f128, -1e-1); | ||
| 9616 | try testArgs(i32, f128, -0.0); | ||
| 9617 | try testArgs(i32, f128, 0.0); | ||
| 9618 | try testArgs(i32, f128, 1e-1); | ||
| 9619 | try testArgs(i32, f128, 1e0); | ||
| 9620 | try testArgs(i32, f128, 1e1); | ||
| 9621 | try testArgs(i32, f128, 1e2); | ||
| 9622 | try testArgs(i32, f128, 1e3); | ||
| 9623 | try testArgs(i32, f128, 1e4); | ||
| 9624 | try testArgs(i32, f128, 1e5); | ||
| 9625 | try testArgs(i32, f128, 1e6); | ||
| 9626 | try testArgs(i32, f128, 1e7); | ||
| 9627 | try testArgs(i32, f128, 1e8); | ||
| 9628 | try testArgs(i32, f128, 1e9); | ||
| 9629 | try testArgs(i32, f128, next(f128, next(f128, 0x0.8p32, 0.0), 0.0)); | ||
| 9630 | try testArgs(i32, f128, next(f128, 0x0.8p32, 0.0)); | ||
| 9631 | |||
| 9632 | try testArgs(u32, f128, -0.0); | ||
| 9633 | try testArgs(u32, f128, 0.0); | ||
| 9634 | try testArgs(u32, f128, 1e-1); | ||
| 9635 | try testArgs(u32, f128, 1e0); | ||
| 9636 | try testArgs(u32, f128, 1e1); | ||
| 9637 | try testArgs(u32, f128, 1e2); | ||
| 9638 | try testArgs(u32, f128, 1e3); | ||
| 9639 | try testArgs(u32, f128, 1e4); | ||
| 9640 | try testArgs(u32, f128, 1e5); | ||
| 9641 | try testArgs(u32, f128, 1e6); | ||
| 9642 | try testArgs(u32, f128, 1e7); | ||
| 9643 | try testArgs(u32, f128, 1e8); | ||
| 9644 | try testArgs(u32, f128, 1e9); | ||
| 9645 | try testArgs(u32, f128, next(f128, next(f128, 0x1p32, 0.0), 0.0)); | ||
| 9646 | try testArgs(u32, f128, next(f128, 0x1p32, 0.0)); | ||
| 9647 | |||
| 9648 | try testArgs(i64, f128, -0x0.8p64); | ||
| 9649 | try testArgs(i64, f128, next(f128, -0x0.8p64, -0.0)); | ||
| 9650 | try testArgs(i64, f128, next(f128, next(f128, -0x0.8p64, -0.0), -0.0)); | ||
| 9651 | try testArgs(i64, f128, -1e18); | ||
| 9652 | try testArgs(i64, f128, -1e16); | ||
| 9653 | try testArgs(i64, f128, -1e14); | ||
| 9654 | try testArgs(i64, f128, -1e12); | ||
| 9655 | try testArgs(i64, f128, -1e10); | ||
| 9656 | try testArgs(i64, f128, -1e8); | ||
| 9657 | try testArgs(i64, f128, -1e6); | ||
| 9658 | try testArgs(i64, f128, -1e4); | ||
| 9659 | try testArgs(i64, f128, -1e2); | ||
| 9660 | try testArgs(i64, f128, -1e0); | ||
| 9661 | try testArgs(i64, f128, -1e-1); | ||
| 9662 | try testArgs(i64, f128, -0.0); | ||
| 9663 | try testArgs(i64, f128, 0.0); | ||
| 9664 | try testArgs(i64, f128, 1e-1); | ||
| 9665 | try testArgs(i64, f128, 1e0); | ||
| 9666 | try testArgs(i64, f128, 1e2); | ||
| 9667 | try testArgs(i64, f128, 1e4); | ||
| 9668 | try testArgs(i64, f128, 1e6); | ||
| 9669 | try testArgs(i64, f128, 1e8); | ||
| 9670 | try testArgs(i64, f128, 1e10); | ||
| 9671 | try testArgs(i64, f128, 1e11); | ||
| 9672 | try testArgs(i64, f128, 1e12); | ||
| 9673 | try testArgs(i64, f128, 1e13); | ||
| 9674 | try testArgs(i64, f128, 1e14); | ||
| 9675 | try testArgs(i64, f128, 1e15); | ||
| 9676 | try testArgs(i64, f128, 1e16); | ||
| 9677 | try testArgs(i64, f128, 1e17); | ||
| 9678 | try testArgs(i64, f128, 1e18); | ||
| 9679 | try testArgs(i64, f128, next(f128, next(f128, 0x0.8p64, 0.0), 0.0)); | ||
| 9680 | try testArgs(i64, f128, next(f128, 0x0.8p64, 0.0)); | ||
| 9681 | |||
| 9682 | try testArgs(u64, f128, -0.0); | ||
| 9683 | try testArgs(u64, f128, 0.0); | ||
| 9684 | try testArgs(u64, f128, 1e-1); | ||
| 9685 | try testArgs(u64, f128, 1e0); | ||
| 9686 | try testArgs(u64, f128, 1e2); | ||
| 9687 | try testArgs(u64, f128, 1e4); | ||
| 9688 | try testArgs(u64, f128, 1e6); | ||
| 9689 | try testArgs(u64, f128, 1e8); | ||
| 9690 | try testArgs(u64, f128, 1e10); | ||
| 9691 | try testArgs(u64, f128, 1e12); | ||
| 9692 | try testArgs(u64, f128, 1e14); | ||
| 9693 | try testArgs(u64, f128, 1e16); | ||
| 9694 | try testArgs(u64, f128, 1e18); | ||
| 9695 | try testArgs(u64, f128, next(f128, next(f128, 0x1p64, 0.0), 0.0)); | ||
| 9696 | try testArgs(u64, f128, next(f128, 0x1p64, 0.0)); | ||
| 9697 | |||
| 9698 | try testArgs(i128, f128, -0x0.8p128); | ||
| 9699 | try testArgs(i128, f128, next(f128, -0x0.8p128, -0.0)); | ||
| 9700 | try testArgs(i128, f128, next(f128, next(f128, -0x0.8p128, -0.0), -0.0)); | ||
| 9701 | try testArgs(i128, f128, -1e38); | ||
| 9702 | try testArgs(i128, f128, -1e34); | ||
| 9703 | try testArgs(i128, f128, -1e30); | ||
| 9704 | try testArgs(i128, f128, -1e26); | ||
| 9705 | try testArgs(i128, f128, -1e22); | ||
| 9706 | try testArgs(i128, f128, -1e18); | ||
| 9707 | try testArgs(i128, f128, -1e14); | ||
| 9708 | try testArgs(i128, f128, -1e10); | ||
| 9709 | try testArgs(i128, f128, -1e6); | ||
| 9710 | try testArgs(i128, f128, -1e2); | ||
| 9711 | try testArgs(i128, f128, -1e0); | ||
| 9712 | try testArgs(i128, f128, -1e-1); | ||
| 9713 | try testArgs(i128, f128, -0.0); | ||
| 9714 | try testArgs(i128, f128, 0.0); | ||
| 9715 | try testArgs(i128, f128, 1e-1); | ||
| 9716 | try testArgs(i128, f128, 1e0); | ||
| 9717 | try testArgs(i128, f128, 1e2); | ||
| 9718 | try testArgs(i128, f128, 1e6); | ||
| 9719 | try testArgs(i128, f128, 1e10); | ||
| 9720 | try testArgs(i128, f128, 1e14); | ||
| 9721 | try testArgs(i128, f128, 1e18); | ||
| 9722 | try testArgs(i128, f128, 1e22); | ||
| 9723 | try testArgs(i128, f128, 1e26); | ||
| 9724 | try testArgs(i128, f128, 1e30); | ||
| 9725 | try testArgs(i128, f128, 1e34); | ||
| 9726 | try testArgs(i128, f128, 1e38); | ||
| 9727 | try testArgs(i128, f128, next(f128, next(f128, 0x0.8p128, 0.0), 0.0)); | ||
| 9728 | try testArgs(i128, f128, next(f128, 0x0.8p128, 0.0)); | ||
| 9729 | |||
| 9730 | try testArgs(u128, f128, -0.0); | ||
| 9731 | try testArgs(u128, f128, 0.0); | ||
| 9732 | try testArgs(u128, f128, 1e-1); | ||
| 9733 | try testArgs(u128, f128, 1e0); | ||
| 9734 | try testArgs(u128, f128, 1e2); | ||
| 9735 | try testArgs(u128, f128, 1e6); | ||
| 9736 | try testArgs(u128, f128, 1e10); | ||
| 9737 | try testArgs(u128, f128, 1e14); | ||
| 9738 | try testArgs(u128, f128, 1e18); | ||
| 9739 | try testArgs(u128, f128, 1e22); | ||
| 9740 | try testArgs(u128, f128, 1e26); | ||
| 9741 | try testArgs(u128, f128, 1e30); | ||
| 9742 | try testArgs(u128, f128, 1e34); | ||
| 9743 | try testArgs(u128, f128, 1e38); | ||
| 9744 | try testArgs(u128, f128, next(f128, next(f128, 0x1p128, 0.0), 0.0)); | ||
| 9745 | try testArgs(u128, f128, next(f128, 0x1p128, 0.0)); | ||
| 9746 | |||
| 9747 | try testArgs(i256, f128, -0x0.8p256); | ||
| 9748 | try testArgs(i256, f128, next(f128, -0x0.8p256, -0.0)); | ||
| 9749 | try testArgs(i256, f128, next(f128, next(f128, -0x0.8p256, -0.0), -0.0)); | ||
| 9750 | try testArgs(i256, f128, -1e76); | ||
| 9751 | try testArgs(i256, f128, -1e69); | ||
| 9752 | try testArgs(i256, f128, -1e62); | ||
| 9753 | try testArgs(i256, f128, -1e55); | ||
| 9754 | try testArgs(i256, f128, -1e48); | ||
| 9755 | try testArgs(i256, f128, -1e41); | ||
| 9756 | try testArgs(i256, f128, -1e34); | ||
| 9757 | try testArgs(i256, f128, -1e27); | ||
| 9758 | try testArgs(i256, f128, -1e20); | ||
| 9759 | try testArgs(i256, f128, -1e13); | ||
| 9760 | try testArgs(i256, f128, -1e6); | ||
| 9761 | try testArgs(i256, f128, -1e0); | ||
| 9762 | try testArgs(i256, f128, -1e-1); | ||
| 9763 | try testArgs(i256, f128, -0.0); | ||
| 9764 | try testArgs(i256, f128, 0.0); | ||
| 9765 | try testArgs(i256, f128, 1e-1); | ||
| 9766 | try testArgs(i256, f128, 1e0); | ||
| 9767 | try testArgs(i256, f128, 1e6); | ||
| 9768 | try testArgs(i256, f128, 1e13); | ||
| 9769 | try testArgs(i256, f128, 1e20); | ||
| 9770 | try testArgs(i256, f128, 1e27); | ||
| 9771 | try testArgs(i256, f128, 1e34); | ||
| 9772 | try testArgs(i256, f128, 1e41); | ||
| 9773 | try testArgs(i256, f128, 1e48); | ||
| 9774 | try testArgs(i256, f128, 1e55); | ||
| 9775 | try testArgs(i256, f128, 1e62); | ||
| 9776 | try testArgs(i256, f128, 1e69); | ||
| 9777 | try testArgs(i256, f128, 1e76); | ||
| 9778 | try testArgs(i256, f128, next(f128, next(f128, 0x0.8p256, 0.0), 0.0)); | ||
| 9779 | try testArgs(i256, f128, next(f128, 0x0.8p256, 0.0)); | ||
| 9780 | |||
| 9781 | try testArgs(u256, f128, -0.0); | ||
| 9782 | try testArgs(u256, f128, 0.0); | ||
| 9783 | try testArgs(u256, f128, 1e-1); | ||
| 9784 | try testArgs(u256, f128, 1e0); | ||
| 9785 | try testArgs(u256, f128, 1e7); | ||
| 9786 | try testArgs(u256, f128, 1e14); | ||
| 9787 | try testArgs(u256, f128, 1e21); | ||
| 9788 | try testArgs(u256, f128, 1e28); | ||
| 9789 | try testArgs(u256, f128, 1e35); | ||
| 9790 | try testArgs(u256, f128, 1e42); | ||
| 9791 | try testArgs(u256, f128, 1e49); | ||
| 9792 | try testArgs(u256, f128, 1e56); | ||
| 9793 | try testArgs(u256, f128, 1e63); | ||
| 9794 | try testArgs(u256, f128, 1e70); | ||
| 9795 | try testArgs(u256, f128, 1e77); | ||
| 9796 | try testArgs(u256, f128, next(f128, next(f128, 0x1p256, 0.0), 0.0)); | ||
| 9797 | try testArgs(u256, f128, next(f128, 0x1p256, 0.0)); | ||
| 9798 | } | ||
| 9799 | fn testFloatsFromInts() !void { | ||
| 9800 | try testArgs(f16, i8, imin(i8)); | ||
| 9801 | try testArgs(f16, i8, imin(i8) + 1); | ||
| 9802 | try testArgs(f16, i8, -1e2); | ||
| 9803 | try testArgs(f16, i8, -1e1); | ||
| 9804 | try testArgs(f16, i8, -1e0); | ||
| 9805 | try testArgs(f16, i8, 0); | ||
| 9806 | try testArgs(f16, i8, 1e0); | ||
| 9807 | try testArgs(f16, i8, 1e1); | ||
| 9808 | try testArgs(f16, i8, 1e2); | ||
| 9809 | try testArgs(f16, i8, imax(i8) - 1); | ||
| 9810 | try testArgs(f16, i8, imax(i8)); | ||
| 9811 | |||
| 9812 | try testArgs(f16, u8, 0); | ||
| 9813 | try testArgs(f16, u8, 1e0); | ||
| 9814 | try testArgs(f16, u8, 1e1); | ||
| 9815 | try testArgs(f16, u8, 1e2); | ||
| 9816 | try testArgs(f16, u8, imax(u8) - 1); | ||
| 9817 | try testArgs(f16, u8, imax(u8)); | ||
| 9818 | |||
| 9819 | try testArgs(f16, i16, imin(i16)); | ||
| 9820 | try testArgs(f16, i16, imin(i16) + 1); | ||
| 9821 | try testArgs(f16, i16, -1e4); | ||
| 9822 | try testArgs(f16, i16, -1e3); | ||
| 9823 | try testArgs(f16, i16, -1e2); | ||
| 9824 | try testArgs(f16, i16, -1e1); | ||
| 9825 | try testArgs(f16, i16, -1e0); | ||
| 9826 | try testArgs(f16, i16, 0); | ||
| 9827 | try testArgs(f16, i16, 1e0); | ||
| 9828 | try testArgs(f16, i16, 1e1); | ||
| 9829 | try testArgs(f16, i16, 1e2); | ||
| 9830 | try testArgs(f16, i16, 1e3); | ||
| 9831 | try testArgs(f16, i16, 1e4); | ||
| 9832 | try testArgs(f16, i16, imax(i16) - 1); | ||
| 9833 | try testArgs(f16, i16, imax(i16)); | ||
| 9834 | |||
| 9835 | try testArgs(f16, u16, 0); | ||
| 9836 | try testArgs(f16, u16, 1e0); | ||
| 9837 | try testArgs(f16, u16, 1e1); | ||
| 9838 | try testArgs(f16, u16, 1e2); | ||
| 9839 | try testArgs(f16, u16, 1e3); | ||
| 9840 | try testArgs(f16, u16, 1e4); | ||
| 9841 | try testArgs(f16, u16, imax(u16) - 1); | ||
| 9842 | try testArgs(f16, u16, imax(u16)); | ||
| 9843 | |||
| 9844 | try testArgs(f16, i32, imin(i32)); | ||
| 9845 | try testArgs(f16, i32, imin(i32) + 1); | ||
| 9846 | try testArgs(f16, i32, -1e9); | ||
| 9847 | try testArgs(f16, i32, -1e8); | ||
| 9848 | try testArgs(f16, i32, -1e7); | ||
| 9849 | try testArgs(f16, i32, -1e6); | ||
| 9850 | try testArgs(f16, i32, -1e5); | ||
| 9851 | try testArgs(f16, i32, -1e4); | ||
| 9852 | try testArgs(f16, i32, -1e3); | ||
| 9853 | try testArgs(f16, i32, -1e2); | ||
| 9854 | try testArgs(f16, i32, -1e1); | ||
| 9855 | try testArgs(f16, i32, -1e0); | ||
| 9856 | try testArgs(f16, i32, 0); | ||
| 9857 | try testArgs(f16, i32, 1e0); | ||
| 9858 | try testArgs(f16, i32, 1e1); | ||
| 9859 | try testArgs(f16, i32, 1e2); | ||
| 9860 | try testArgs(f16, i32, 1e3); | ||
| 9861 | try testArgs(f16, i32, 1e4); | ||
| 9862 | try testArgs(f16, i32, 1e5); | ||
| 9863 | try testArgs(f16, i32, 1e6); | ||
| 9864 | try testArgs(f16, i32, 1e7); | ||
| 9865 | try testArgs(f16, i32, 1e8); | ||
| 9866 | try testArgs(f16, i32, 1e9); | ||
| 9867 | try testArgs(f16, i32, imax(i32) - 1); | ||
| 9868 | try testArgs(f16, i32, imax(i32)); | ||
| 9869 | |||
| 9870 | try testArgs(f16, u32, 0); | ||
| 9871 | try testArgs(f16, u32, 1e0); | ||
| 9872 | try testArgs(f16, u32, 1e1); | ||
| 9873 | try testArgs(f16, u32, 1e2); | ||
| 9874 | try testArgs(f16, u32, 1e3); | ||
| 9875 | try testArgs(f16, u32, 1e4); | ||
| 9876 | try testArgs(f16, u32, 1e5); | ||
| 9877 | try testArgs(f16, u32, 1e6); | ||
| 9878 | try testArgs(f16, u32, 1e7); | ||
| 9879 | try testArgs(f16, u32, 1e8); | ||
| 9880 | try testArgs(f16, u32, 1e9); | ||
| 9881 | try testArgs(f16, u32, imax(u32) - 1); | ||
| 9882 | try testArgs(f16, u32, imax(u32)); | ||
| 9883 | |||
| 9884 | try testArgs(f16, i64, imin(i64)); | ||
| 9885 | try testArgs(f16, i64, imin(i64) + 1); | ||
| 9886 | try testArgs(f16, i64, -1e18); | ||
| 9887 | try testArgs(f16, i64, -1e16); | ||
| 9888 | try testArgs(f16, i64, -1e14); | ||
| 9889 | try testArgs(f16, i64, -1e12); | ||
| 9890 | try testArgs(f16, i64, -1e10); | ||
| 9891 | try testArgs(f16, i64, -1e8); | ||
| 9892 | try testArgs(f16, i64, -1e6); | ||
| 9893 | try testArgs(f16, i64, -1e4); | ||
| 9894 | try testArgs(f16, i64, -1e2); | ||
| 9895 | try testArgs(f16, i64, -1e0); | ||
| 9896 | try testArgs(f16, i64, 0); | ||
| 9897 | try testArgs(f16, i64, 1e0); | ||
| 9898 | try testArgs(f16, i64, 1e2); | ||
| 9899 | try testArgs(f16, i64, 1e4); | ||
| 9900 | try testArgs(f16, i64, 1e6); | ||
| 9901 | try testArgs(f16, i64, 1e8); | ||
| 9902 | try testArgs(f16, i64, 1e10); | ||
| 9903 | try testArgs(f16, i64, 1e12); | ||
| 9904 | try testArgs(f16, i64, 1e14); | ||
| 9905 | try testArgs(f16, i64, 1e16); | ||
| 9906 | try testArgs(f16, i64, 1e18); | ||
| 9907 | try testArgs(f16, i64, imax(i64) - 1); | ||
| 9908 | try testArgs(f16, i64, imax(i64)); | ||
| 9909 | |||
| 9910 | try testArgs(f16, u64, 0); | ||
| 9911 | try testArgs(f16, u64, 1e0); | ||
| 9912 | try testArgs(f16, u64, 1e2); | ||
| 9913 | try testArgs(f16, u64, 1e4); | ||
| 9914 | try testArgs(f16, u64, 1e6); | ||
| 9915 | try testArgs(f16, u64, 1e8); | ||
| 9916 | try testArgs(f16, u64, 1e10); | ||
| 9917 | try testArgs(f16, u64, 1e12); | ||
| 9918 | try testArgs(f16, u64, 1e14); | ||
| 9919 | try testArgs(f16, u64, 1e16); | ||
| 9920 | try testArgs(f16, u64, 1e18); | ||
| 9921 | try testArgs(f16, u64, imax(u64) - 1); | ||
| 9922 | try testArgs(f16, u64, imax(u64)); | ||
| 9923 | |||
| 9924 | try testArgs(f16, i128, imin(i128)); | ||
| 9925 | try testArgs(f16, i128, imin(i128) + 1); | ||
| 9926 | try testArgs(f16, i128, -1e38); | ||
| 9927 | try testArgs(f16, i128, -1e34); | ||
| 9928 | try testArgs(f16, i128, -1e30); | ||
| 9929 | try testArgs(f16, i128, -1e26); | ||
| 9930 | try testArgs(f16, i128, -1e22); | ||
| 9931 | try testArgs(f16, i128, -1e18); | ||
| 9932 | try testArgs(f16, i128, -1e14); | ||
| 9933 | try testArgs(f16, i128, -1e10); | ||
| 9934 | try testArgs(f16, i128, -1e6); | ||
| 9935 | try testArgs(f16, i128, -1e2); | ||
| 9936 | try testArgs(f16, i128, -1e0); | ||
| 9937 | try testArgs(f16, i128, 0); | ||
| 9938 | try testArgs(f16, i128, 1e0); | ||
| 9939 | try testArgs(f16, i128, 1e2); | ||
| 9940 | try testArgs(f16, i128, 1e6); | ||
| 9941 | try testArgs(f16, i128, 1e10); | ||
| 9942 | try testArgs(f16, i128, 1e14); | ||
| 9943 | try testArgs(f16, i128, 1e18); | ||
| 9944 | try testArgs(f16, i128, 1e22); | ||
| 9945 | try testArgs(f16, i128, 1e26); | ||
| 9946 | try testArgs(f16, i128, 1e30); | ||
| 9947 | try testArgs(f16, i128, 1e34); | ||
| 9948 | try testArgs(f16, i128, 1e38); | ||
| 9949 | try testArgs(f16, i128, imax(i128) - 1); | ||
| 9950 | try testArgs(f16, i128, imax(i128)); | ||
| 9951 | |||
| 9952 | try testArgs(f16, u128, 0); | ||
| 9953 | try testArgs(f16, u128, 1e0); | ||
| 9954 | try testArgs(f16, u128, 1e2); | ||
| 9955 | try testArgs(f16, u128, 1e6); | ||
| 9956 | try testArgs(f16, u128, 1e10); | ||
| 9957 | try testArgs(f16, u128, 1e14); | ||
| 9958 | try testArgs(f16, u128, 1e18); | ||
| 9959 | try testArgs(f16, u128, 1e22); | ||
| 9960 | try testArgs(f16, u128, 1e26); | ||
| 9961 | try testArgs(f16, u128, 1e30); | ||
| 9962 | try testArgs(f16, u128, 1e34); | ||
| 9963 | try testArgs(f16, u128, 1e38); | ||
| 9964 | try testArgs(f16, u128, imax(u128) - 1); | ||
| 9965 | try testArgs(f16, u128, imax(u128)); | ||
| 9966 | |||
| 9967 | try testArgs(f16, i256, imin(i256)); | ||
| 9968 | try testArgs(f16, i256, imin(i256) + 1); | ||
| 9969 | try testArgs(f16, i256, -1e76); | ||
| 9970 | try testArgs(f16, i256, -1e69); | ||
| 9971 | try testArgs(f16, i256, -1e62); | ||
| 9972 | try testArgs(f16, i256, -1e55); | ||
| 9973 | try testArgs(f16, i256, -1e48); | ||
| 9974 | try testArgs(f16, i256, -1e41); | ||
| 9975 | try testArgs(f16, i256, -1e34); | ||
| 9976 | try testArgs(f16, i256, -1e27); | ||
| 9977 | try testArgs(f16, i256, -1e20); | ||
| 9978 | try testArgs(f16, i256, -1e13); | ||
| 9979 | try testArgs(f16, i256, -1e6); | ||
| 9980 | try testArgs(f16, i256, -1e0); | ||
| 9981 | try testArgs(f16, i256, 0); | ||
| 9982 | try testArgs(f16, i256, 1e0); | ||
| 9983 | try testArgs(f16, i256, 1e6); | ||
| 9984 | try testArgs(f16, i256, 1e13); | ||
| 9985 | try testArgs(f16, i256, 1e20); | ||
| 9986 | try testArgs(f16, i256, 1e27); | ||
| 9987 | try testArgs(f16, i256, 1e34); | ||
| 9988 | try testArgs(f16, i256, 1e41); | ||
| 9989 | try testArgs(f16, i256, 1e48); | ||
| 9990 | try testArgs(f16, i256, 1e55); | ||
| 9991 | try testArgs(f16, i256, 1e62); | ||
| 9992 | try testArgs(f16, i256, 1e69); | ||
| 9993 | try testArgs(f16, i256, 1e76); | ||
| 9994 | try testArgs(f16, i256, imax(i256) - 1); | ||
| 9995 | try testArgs(f16, i256, imax(i256)); | ||
| 9996 | |||
| 9997 | try testArgs(f16, u256, 0); | ||
| 9998 | try testArgs(f16, u256, 1e0); | ||
| 9999 | try testArgs(f16, u256, 1e7); | ||
| 10000 | try testArgs(f16, u256, 1e14); | ||
| 10001 | try testArgs(f16, u256, 1e21); | ||
| 10002 | try testArgs(f16, u256, 1e28); | ||
| 10003 | try testArgs(f16, u256, 1e35); | ||
| 10004 | try testArgs(f16, u256, 1e42); | ||
| 10005 | try testArgs(f16, u256, 1e49); | ||
| 10006 | try testArgs(f16, u256, 1e56); | ||
| 10007 | try testArgs(f16, u256, 1e63); | ||
| 10008 | try testArgs(f16, u256, 1e70); | ||
| 10009 | try testArgs(f16, u256, 1e77); | ||
| 10010 | try testArgs(f16, u256, imax(u256) - 1); | ||
| 10011 | try testArgs(f16, u256, imax(u256)); | ||
| 10012 | |||
| 10013 | try testArgs(f32, i8, imin(i8)); | ||
| 10014 | try testArgs(f32, i8, imin(i8) + 1); | ||
| 10015 | try testArgs(f32, i8, -1e2); | ||
| 10016 | try testArgs(f32, i8, -1e1); | ||
| 10017 | try testArgs(f32, i8, -1e0); | ||
| 10018 | try testArgs(f32, i8, 0); | ||
| 10019 | try testArgs(f32, i8, 1e0); | ||
| 10020 | try testArgs(f32, i8, 1e1); | ||
| 10021 | try testArgs(f32, i8, 1e2); | ||
| 10022 | try testArgs(f32, i8, imax(i8) - 1); | ||
| 10023 | try testArgs(f32, i8, imax(i8)); | ||
| 10024 | |||
| 10025 | try testArgs(f32, u8, 0); | ||
| 10026 | try testArgs(f32, u8, 1e0); | ||
| 10027 | try testArgs(f32, u8, 1e1); | ||
| 10028 | try testArgs(f32, u8, 1e2); | ||
| 10029 | try testArgs(f32, u8, imax(u8) - 1); | ||
| 10030 | try testArgs(f32, u8, imax(u8)); | ||
| 10031 | |||
| 10032 | try testArgs(f32, i16, imin(i16)); | ||
| 10033 | try testArgs(f32, i16, imin(i16) + 1); | ||
| 10034 | try testArgs(f32, i16, -1e4); | ||
| 10035 | try testArgs(f32, i16, -1e3); | ||
| 10036 | try testArgs(f32, i16, -1e2); | ||
| 10037 | try testArgs(f32, i16, -1e1); | ||
| 10038 | try testArgs(f32, i16, -1e0); | ||
| 10039 | try testArgs(f32, i16, 0); | ||
| 10040 | try testArgs(f32, i16, 1e0); | ||
| 10041 | try testArgs(f32, i16, 1e1); | ||
| 10042 | try testArgs(f32, i16, 1e2); | ||
| 10043 | try testArgs(f32, i16, 1e3); | ||
| 10044 | try testArgs(f32, i16, 1e4); | ||
| 10045 | try testArgs(f32, i16, imax(i16) - 1); | ||
| 10046 | try testArgs(f32, i16, imax(i16)); | ||
| 10047 | |||
| 10048 | try testArgs(f32, u16, 0); | ||
| 10049 | try testArgs(f32, u16, 1e0); | ||
| 10050 | try testArgs(f32, u16, 1e1); | ||
| 10051 | try testArgs(f32, u16, 1e2); | ||
| 10052 | try testArgs(f32, u16, 1e3); | ||
| 10053 | try testArgs(f32, u16, 1e4); | ||
| 10054 | try testArgs(f32, u16, imax(u16) - 1); | ||
| 10055 | try testArgs(f32, u16, imax(u16)); | ||
| 10056 | |||
| 10057 | try testArgs(f32, i32, imin(i32)); | ||
| 10058 | try testArgs(f32, i32, imin(i32) + 1); | ||
| 10059 | try testArgs(f32, i32, -1e9); | ||
| 10060 | try testArgs(f32, i32, -1e8); | ||
| 10061 | try testArgs(f32, i32, -1e7); | ||
| 10062 | try testArgs(f32, i32, -1e6); | ||
| 10063 | try testArgs(f32, i32, -1e5); | ||
| 10064 | try testArgs(f32, i32, -1e4); | ||
| 10065 | try testArgs(f32, i32, -1e3); | ||
| 10066 | try testArgs(f32, i32, -1e2); | ||
| 10067 | try testArgs(f32, i32, -1e1); | ||
| 10068 | try testArgs(f32, i32, -1e0); | ||
| 10069 | try testArgs(f32, i32, 0); | ||
| 10070 | try testArgs(f32, i32, 1e0); | ||
| 10071 | try testArgs(f32, i32, 1e1); | ||
| 10072 | try testArgs(f32, i32, 1e2); | ||
| 10073 | try testArgs(f32, i32, 1e3); | ||
| 10074 | try testArgs(f32, i32, 1e4); | ||
| 10075 | try testArgs(f32, i32, 1e5); | ||
| 10076 | try testArgs(f32, i32, 1e6); | ||
| 10077 | try testArgs(f32, i32, 1e7); | ||
| 10078 | try testArgs(f32, i32, 1e8); | ||
| 10079 | try testArgs(f32, i32, 1e9); | ||
| 10080 | try testArgs(f32, i32, imax(i32) - 1); | ||
| 10081 | try testArgs(f32, i32, imax(i32)); | ||
| 10082 | |||
| 10083 | try testArgs(f32, u32, 0); | ||
| 10084 | try testArgs(f32, u32, 1e0); | ||
| 10085 | try testArgs(f32, u32, 1e1); | ||
| 10086 | try testArgs(f32, u32, 1e2); | ||
| 10087 | try testArgs(f32, u32, 1e3); | ||
| 10088 | try testArgs(f32, u32, 1e4); | ||
| 10089 | try testArgs(f32, u32, 1e5); | ||
| 10090 | try testArgs(f32, u32, 1e6); | ||
| 10091 | try testArgs(f32, u32, 1e7); | ||
| 10092 | try testArgs(f32, u32, 1e8); | ||
| 10093 | try testArgs(f32, u32, 1e9); | ||
| 10094 | try testArgs(f32, u32, imax(u32) - 1); | ||
| 10095 | try testArgs(f32, u32, imax(u32)); | ||
| 10096 | |||
| 10097 | try testArgs(f32, i64, imin(i64)); | ||
| 10098 | try testArgs(f32, i64, imin(i64) + 1); | ||
| 10099 | try testArgs(f32, i64, -1e18); | ||
| 10100 | try testArgs(f32, i64, -1e16); | ||
| 10101 | try testArgs(f32, i64, -1e14); | ||
| 10102 | try testArgs(f32, i64, -1e12); | ||
| 10103 | try testArgs(f32, i64, -1e10); | ||
| 10104 | try testArgs(f32, i64, -1e8); | ||
| 10105 | try testArgs(f32, i64, -1e6); | ||
| 10106 | try testArgs(f32, i64, -1e4); | ||
| 10107 | try testArgs(f32, i64, -1e2); | ||
| 10108 | try testArgs(f32, i64, -1e0); | ||
| 10109 | try testArgs(f32, i64, 0); | ||
| 10110 | try testArgs(f32, i64, 1e0); | ||
| 10111 | try testArgs(f32, i64, 1e2); | ||
| 10112 | try testArgs(f32, i64, 1e4); | ||
| 10113 | try testArgs(f32, i64, 1e6); | ||
| 10114 | try testArgs(f32, i64, 1e8); | ||
| 10115 | try testArgs(f32, i64, 1e10); | ||
| 10116 | try testArgs(f32, i64, 1e12); | ||
| 10117 | try testArgs(f32, i64, 1e14); | ||
| 10118 | try testArgs(f32, i64, 1e16); | ||
| 10119 | try testArgs(f32, i64, 1e18); | ||
| 10120 | try testArgs(f32, i64, imax(i64) - 1); | ||
| 10121 | try testArgs(f32, i64, imax(i64)); | ||
| 10122 | |||
| 10123 | try testArgs(f32, u64, 0); | ||
| 10124 | try testArgs(f32, u64, 1e0); | ||
| 10125 | try testArgs(f32, u64, 1e2); | ||
| 10126 | try testArgs(f32, u64, 1e4); | ||
| 10127 | try testArgs(f32, u64, 1e6); | ||
| 10128 | try testArgs(f32, u64, 1e8); | ||
| 10129 | try testArgs(f32, u64, 1e10); | ||
| 10130 | try testArgs(f32, u64, 1e12); | ||
| 10131 | try testArgs(f32, u64, 1e14); | ||
| 10132 | try testArgs(f32, u64, 1e16); | ||
| 10133 | try testArgs(f32, u64, 1e18); | ||
| 10134 | try testArgs(f32, u64, imax(u64) - 1); | ||
| 10135 | try testArgs(f32, u64, imax(u64)); | ||
| 10136 | |||
| 10137 | try testArgs(f32, i128, imin(i128)); | ||
| 10138 | try testArgs(f32, i128, imin(i128) + 1); | ||
| 10139 | try testArgs(f32, i128, -1e38); | ||
| 10140 | try testArgs(f32, i128, -1e34); | ||
| 10141 | try testArgs(f32, i128, -1e30); | ||
| 10142 | try testArgs(f32, i128, -1e26); | ||
| 10143 | try testArgs(f32, i128, -1e22); | ||
| 10144 | try testArgs(f32, i128, -1e18); | ||
| 10145 | try testArgs(f32, i128, -1e14); | ||
| 10146 | try testArgs(f32, i128, -1e10); | ||
| 10147 | try testArgs(f32, i128, -1e6); | ||
| 10148 | try testArgs(f32, i128, -1e2); | ||
| 10149 | try testArgs(f32, i128, -1e0); | ||
| 10150 | try testArgs(f32, i128, 0); | ||
| 10151 | try testArgs(f32, i128, 1e0); | ||
| 10152 | try testArgs(f32, i128, 1e2); | ||
| 10153 | try testArgs(f32, i128, 1e6); | ||
| 10154 | try testArgs(f32, i128, 1e10); | ||
| 10155 | try testArgs(f32, i128, 1e14); | ||
| 10156 | try testArgs(f32, i128, 1e18); | ||
| 10157 | try testArgs(f32, i128, 1e22); | ||
| 10158 | try testArgs(f32, i128, 1e26); | ||
| 10159 | try testArgs(f32, i128, 1e30); | ||
| 10160 | try testArgs(f32, i128, 1e34); | ||
| 10161 | try testArgs(f32, i128, 1e38); | ||
| 10162 | try testArgs(f32, i128, imax(i128) - 1); | ||
| 10163 | try testArgs(f32, i128, imax(i128)); | ||
| 10164 | |||
| 10165 | try testArgs(f32, u128, 0); | ||
| 10166 | try testArgs(f32, u128, 1e0); | ||
| 10167 | try testArgs(f32, u128, 1e2); | ||
| 10168 | try testArgs(f32, u128, 1e6); | ||
| 10169 | try testArgs(f32, u128, 1e10); | ||
| 10170 | try testArgs(f32, u128, 1e14); | ||
| 10171 | try testArgs(f32, u128, 1e18); | ||
| 10172 | try testArgs(f32, u128, 1e22); | ||
| 10173 | try testArgs(f32, u128, 1e26); | ||
| 10174 | try testArgs(f32, u128, 1e30); | ||
| 10175 | try testArgs(f32, u128, 1e34); | ||
| 10176 | try testArgs(f32, u128, 1e38); | ||
| 10177 | try testArgs(f32, u128, imax(u128) - 1); | ||
| 10178 | try testArgs(f32, u128, imax(u128)); | ||
| 10179 | |||
| 10180 | try testArgs(f32, i256, imin(i256)); | ||
| 10181 | try testArgs(f32, i256, imin(i256) + 1); | ||
| 10182 | try testArgs(f32, i256, -1e76); | ||
| 10183 | try testArgs(f32, i256, -1e69); | ||
| 10184 | try testArgs(f32, i256, -1e62); | ||
| 10185 | try testArgs(f32, i256, -1e55); | ||
| 10186 | try testArgs(f32, i256, -1e48); | ||
| 10187 | try testArgs(f32, i256, -1e41); | ||
| 10188 | try testArgs(f32, i256, -1e34); | ||
| 10189 | try testArgs(f32, i256, -1e27); | ||
| 10190 | try testArgs(f32, i256, -1e20); | ||
| 10191 | try testArgs(f32, i256, -1e13); | ||
| 10192 | try testArgs(f32, i256, -1e6); | ||
| 10193 | try testArgs(f32, i256, -1e0); | ||
| 10194 | try testArgs(f32, i256, 0); | ||
| 10195 | try testArgs(f32, i256, 1e0); | ||
| 10196 | try testArgs(f32, i256, 1e6); | ||
| 10197 | try testArgs(f32, i256, 1e13); | ||
| 10198 | try testArgs(f32, i256, 1e20); | ||
| 10199 | try testArgs(f32, i256, 1e27); | ||
| 10200 | try testArgs(f32, i256, 1e34); | ||
| 10201 | try testArgs(f32, i256, 1e41); | ||
| 10202 | try testArgs(f32, i256, 1e48); | ||
| 10203 | try testArgs(f32, i256, 1e55); | ||
| 10204 | try testArgs(f32, i256, 1e62); | ||
| 10205 | try testArgs(f32, i256, 1e69); | ||
| 10206 | try testArgs(f32, i256, 1e76); | ||
| 10207 | try testArgs(f32, i256, imax(i256) - 1); | ||
| 10208 | try testArgs(f32, i256, imax(i256)); | ||
| 10209 | |||
| 10210 | try testArgs(f32, u256, 0); | ||
| 10211 | try testArgs(f32, u256, 1e0); | ||
| 10212 | try testArgs(f32, u256, 1e7); | ||
| 10213 | try testArgs(f32, u256, 1e14); | ||
| 10214 | try testArgs(f32, u256, 1e21); | ||
| 10215 | try testArgs(f32, u256, 1e28); | ||
| 10216 | try testArgs(f32, u256, 1e35); | ||
| 10217 | try testArgs(f32, u256, 1e42); | ||
| 10218 | try testArgs(f32, u256, 1e49); | ||
| 10219 | try testArgs(f32, u256, 1e56); | ||
| 10220 | try testArgs(f32, u256, 1e63); | ||
| 10221 | try testArgs(f32, u256, 1e70); | ||
| 10222 | try testArgs(f32, u256, 1e77); | ||
| 10223 | try testArgs(f32, u256, imax(u256) - 1); | ||
| 10224 | try testArgs(f32, u256, imax(u256)); | ||
| 10225 | |||
| 10226 | try testArgs(f64, i8, imin(i8)); | ||
| 10227 | try testArgs(f64, i8, imin(i8) + 1); | ||
| 10228 | try testArgs(f64, i8, -1e2); | ||
| 10229 | try testArgs(f64, i8, -1e1); | ||
| 10230 | try testArgs(f64, i8, -1e0); | ||
| 10231 | try testArgs(f64, i8, 0); | ||
| 10232 | try testArgs(f64, i8, 1e0); | ||
| 10233 | try testArgs(f64, i8, 1e1); | ||
| 10234 | try testArgs(f64, i8, 1e2); | ||
| 10235 | try testArgs(f64, i8, imax(i8) - 1); | ||
| 10236 | try testArgs(f64, i8, imax(i8)); | ||
| 10237 | |||
| 10238 | try testArgs(f64, u8, 0); | ||
| 10239 | try testArgs(f64, u8, 1e0); | ||
| 10240 | try testArgs(f64, u8, 1e1); | ||
| 10241 | try testArgs(f64, u8, 1e2); | ||
| 10242 | try testArgs(f64, u8, imax(u8) - 1); | ||
| 10243 | try testArgs(f64, u8, imax(u8)); | ||
| 10244 | |||
| 10245 | try testArgs(f64, i16, imin(i16)); | ||
| 10246 | try testArgs(f64, i16, imin(i16) + 1); | ||
| 10247 | try testArgs(f64, i16, -1e4); | ||
| 10248 | try testArgs(f64, i16, -1e3); | ||
| 10249 | try testArgs(f64, i16, -1e2); | ||
| 10250 | try testArgs(f64, i16, -1e1); | ||
| 10251 | try testArgs(f64, i16, -1e0); | ||
| 10252 | try testArgs(f64, i16, 0); | ||
| 10253 | try testArgs(f64, i16, 1e0); | ||
| 10254 | try testArgs(f64, i16, 1e1); | ||
| 10255 | try testArgs(f64, i16, 1e2); | ||
| 10256 | try testArgs(f64, i16, 1e3); | ||
| 10257 | try testArgs(f64, i16, 1e4); | ||
| 10258 | try testArgs(f64, i16, imax(i16) - 1); | ||
| 10259 | try testArgs(f64, i16, imax(i16)); | ||
| 10260 | |||
| 10261 | try testArgs(f64, u16, 0); | ||
| 10262 | try testArgs(f64, u16, 1e0); | ||
| 10263 | try testArgs(f64, u16, 1e1); | ||
| 10264 | try testArgs(f64, u16, 1e2); | ||
| 10265 | try testArgs(f64, u16, 1e3); | ||
| 10266 | try testArgs(f64, u16, 1e4); | ||
| 10267 | try testArgs(f64, u16, imax(u16) - 1); | ||
| 10268 | try testArgs(f64, u16, imax(u16)); | ||
| 10269 | |||
| 10270 | try testArgs(f64, i32, imin(i32)); | ||
| 10271 | try testArgs(f64, i32, imin(i32) + 1); | ||
| 10272 | try testArgs(f64, i32, -1e9); | ||
| 10273 | try testArgs(f64, i32, -1e8); | ||
| 10274 | try testArgs(f64, i32, -1e7); | ||
| 10275 | try testArgs(f64, i32, -1e6); | ||
| 10276 | try testArgs(f64, i32, -1e5); | ||
| 10277 | try testArgs(f64, i32, -1e4); | ||
| 10278 | try testArgs(f64, i32, -1e3); | ||
| 10279 | try testArgs(f64, i32, -1e2); | ||
| 10280 | try testArgs(f64, i32, -1e1); | ||
| 10281 | try testArgs(f64, i32, -1e0); | ||
| 10282 | try testArgs(f64, i32, 0); | ||
| 10283 | try testArgs(f64, i32, 1e0); | ||
| 10284 | try testArgs(f64, i32, 1e1); | ||
| 10285 | try testArgs(f64, i32, 1e2); | ||
| 10286 | try testArgs(f64, i32, 1e3); | ||
| 10287 | try testArgs(f64, i32, 1e4); | ||
| 10288 | try testArgs(f64, i32, 1e5); | ||
| 10289 | try testArgs(f64, i32, 1e6); | ||
| 10290 | try testArgs(f64, i32, 1e7); | ||
| 10291 | try testArgs(f64, i32, 1e8); | ||
| 10292 | try testArgs(f64, i32, 1e9); | ||
| 10293 | try testArgs(f64, i32, imax(i32) - 1); | ||
| 10294 | try testArgs(f64, i32, imax(i32)); | ||
| 10295 | |||
| 10296 | try testArgs(f64, u32, 0); | ||
| 10297 | try testArgs(f64, u32, 1e0); | ||
| 10298 | try testArgs(f64, u32, 1e1); | ||
| 10299 | try testArgs(f64, u32, 1e2); | ||
| 10300 | try testArgs(f64, u32, 1e3); | ||
| 10301 | try testArgs(f64, u32, 1e4); | ||
| 10302 | try testArgs(f64, u32, 1e5); | ||
| 10303 | try testArgs(f64, u32, 1e6); | ||
| 10304 | try testArgs(f64, u32, 1e7); | ||
| 10305 | try testArgs(f64, u32, 1e8); | ||
| 10306 | try testArgs(f64, u32, 1e9); | ||
| 10307 | try testArgs(f64, u32, imax(u32) - 1); | ||
| 10308 | try testArgs(f64, u32, imax(u32)); | ||
| 10309 | |||
| 10310 | try testArgs(f64, i64, imin(i64)); | ||
| 10311 | try testArgs(f64, i64, imin(i64) + 1); | ||
| 10312 | try testArgs(f64, i64, -1e18); | ||
| 10313 | try testArgs(f64, i64, -1e16); | ||
| 10314 | try testArgs(f64, i64, -1e14); | ||
| 10315 | try testArgs(f64, i64, -1e12); | ||
| 10316 | try testArgs(f64, i64, -1e10); | ||
| 10317 | try testArgs(f64, i64, -1e8); | ||
| 10318 | try testArgs(f64, i64, -1e6); | ||
| 10319 | try testArgs(f64, i64, -1e4); | ||
| 10320 | try testArgs(f64, i64, -1e2); | ||
| 10321 | try testArgs(f64, i64, -1e0); | ||
| 10322 | try testArgs(f64, i64, 0); | ||
| 10323 | try testArgs(f64, i64, 1e0); | ||
| 10324 | try testArgs(f64, i64, 1e2); | ||
| 10325 | try testArgs(f64, i64, 1e4); | ||
| 10326 | try testArgs(f64, i64, 1e6); | ||
| 10327 | try testArgs(f64, i64, 1e8); | ||
| 10328 | try testArgs(f64, i64, 1e10); | ||
| 10329 | try testArgs(f64, i64, 1e12); | ||
| 10330 | try testArgs(f64, i64, 1e14); | ||
| 10331 | try testArgs(f64, i64, 1e16); | ||
| 10332 | try testArgs(f64, i64, 1e18); | ||
| 10333 | try testArgs(f64, i64, imax(i64) - 1); | ||
| 10334 | try testArgs(f64, i64, imax(i64)); | ||
| 10335 | |||
| 10336 | try testArgs(f64, u64, 0); | ||
| 10337 | try testArgs(f64, u64, 1e0); | ||
| 10338 | try testArgs(f64, u64, 1e2); | ||
| 10339 | try testArgs(f64, u64, 1e4); | ||
| 10340 | try testArgs(f64, u64, 1e6); | ||
| 10341 | try testArgs(f64, u64, 1e8); | ||
| 10342 | try testArgs(f64, u64, 1e10); | ||
| 10343 | try testArgs(f64, u64, 1e12); | ||
| 10344 | try testArgs(f64, u64, 1e14); | ||
| 10345 | try testArgs(f64, u64, 1e16); | ||
| 10346 | try testArgs(f64, u64, 1e18); | ||
| 10347 | try testArgs(f64, u64, imax(u64) - 1); | ||
| 10348 | try testArgs(f64, u64, imax(u64)); | ||
| 10349 | |||
| 10350 | try testArgs(f64, i128, imin(i128)); | ||
| 10351 | try testArgs(f64, i128, imin(i128) + 1); | ||
| 10352 | try testArgs(f64, i128, -1e38); | ||
| 10353 | try testArgs(f64, i128, -1e34); | ||
| 10354 | try testArgs(f64, i128, -1e30); | ||
| 10355 | try testArgs(f64, i128, -1e26); | ||
| 10356 | try testArgs(f64, i128, -1e22); | ||
| 10357 | try testArgs(f64, i128, -1e18); | ||
| 10358 | try testArgs(f64, i128, -1e14); | ||
| 10359 | try testArgs(f64, i128, -1e10); | ||
| 10360 | try testArgs(f64, i128, -1e6); | ||
| 10361 | try testArgs(f64, i128, -1e2); | ||
| 10362 | try testArgs(f64, i128, -1e0); | ||
| 10363 | try testArgs(f64, i128, 0); | ||
| 10364 | try testArgs(f64, i128, 1e0); | ||
| 10365 | try testArgs(f64, i128, 1e2); | ||
| 10366 | try testArgs(f64, i128, 1e6); | ||
| 10367 | try testArgs(f64, i128, 1e10); | ||
| 10368 | try testArgs(f64, i128, 1e14); | ||
| 10369 | try testArgs(f64, i128, 1e18); | ||
| 10370 | try testArgs(f64, i128, 1e22); | ||
| 10371 | try testArgs(f64, i128, 1e26); | ||
| 10372 | try testArgs(f64, i128, 1e30); | ||
| 10373 | try testArgs(f64, i128, 1e34); | ||
| 10374 | try testArgs(f64, i128, 1e38); | ||
| 10375 | try testArgs(f64, i128, imax(i128) - 1); | ||
| 10376 | try testArgs(f64, i128, imax(i128)); | ||
| 10377 | |||
| 10378 | try testArgs(f64, u128, 0); | ||
| 10379 | try testArgs(f64, u128, 1e0); | ||
| 10380 | try testArgs(f64, u128, 1e2); | ||
| 10381 | try testArgs(f64, u128, 1e6); | ||
| 10382 | try testArgs(f64, u128, 1e10); | ||
| 10383 | try testArgs(f64, u128, 1e14); | ||
| 10384 | try testArgs(f64, u128, 1e18); | ||
| 10385 | try testArgs(f64, u128, 1e22); | ||
| 10386 | try testArgs(f64, u128, 1e26); | ||
| 10387 | try testArgs(f64, u128, 1e30); | ||
| 10388 | try testArgs(f64, u128, 1e34); | ||
| 10389 | try testArgs(f64, u128, 1e38); | ||
| 10390 | try testArgs(f64, u128, imax(u128) - 1); | ||
| 10391 | try testArgs(f64, u128, imax(u128)); | ||
| 10392 | |||
| 10393 | try testArgs(f64, i256, imin(i256)); | ||
| 10394 | try testArgs(f64, i256, imin(i256) + 1); | ||
| 10395 | try testArgs(f64, i256, -1e76); | ||
| 10396 | try testArgs(f64, i256, -1e69); | ||
| 10397 | try testArgs(f64, i256, -1e62); | ||
| 10398 | try testArgs(f64, i256, -1e55); | ||
| 10399 | try testArgs(f64, i256, -1e48); | ||
| 10400 | try testArgs(f64, i256, -1e41); | ||
| 10401 | try testArgs(f64, i256, -1e34); | ||
| 10402 | try testArgs(f64, i256, -1e27); | ||
| 10403 | try testArgs(f64, i256, -1e20); | ||
| 10404 | try testArgs(f64, i256, -1e13); | ||
| 10405 | try testArgs(f64, i256, -1e6); | ||
| 10406 | try testArgs(f64, i256, -1e0); | ||
| 10407 | try testArgs(f64, i256, 0); | ||
| 10408 | try testArgs(f64, i256, 1e0); | ||
| 10409 | try testArgs(f64, i256, 1e6); | ||
| 10410 | try testArgs(f64, i256, 1e13); | ||
| 10411 | try testArgs(f64, i256, 1e20); | ||
| 10412 | try testArgs(f64, i256, 1e27); | ||
| 10413 | try testArgs(f64, i256, 1e34); | ||
| 10414 | try testArgs(f64, i256, 1e41); | ||
| 10415 | try testArgs(f64, i256, 1e48); | ||
| 10416 | try testArgs(f64, i256, 1e55); | ||
| 10417 | try testArgs(f64, i256, 1e62); | ||
| 10418 | try testArgs(f64, i256, 1e69); | ||
| 10419 | try testArgs(f64, i256, 1e76); | ||
| 10420 | try testArgs(f64, i256, imax(i256) - 1); | ||
| 10421 | try testArgs(f64, i256, imax(i256)); | ||
| 10422 | |||
| 10423 | try testArgs(f64, u256, 0); | ||
| 10424 | try testArgs(f64, u256, 1e0); | ||
| 10425 | try testArgs(f64, u256, 1e7); | ||
| 10426 | try testArgs(f64, u256, 1e14); | ||
| 10427 | try testArgs(f64, u256, 1e21); | ||
| 10428 | try testArgs(f64, u256, 1e28); | ||
| 10429 | try testArgs(f64, u256, 1e35); | ||
| 10430 | try testArgs(f64, u256, 1e42); | ||
| 10431 | try testArgs(f64, u256, 1e49); | ||
| 10432 | try testArgs(f64, u256, 1e56); | ||
| 10433 | try testArgs(f64, u256, 1e63); | ||
| 10434 | try testArgs(f64, u256, 1e70); | ||
| 10435 | try testArgs(f64, u256, 1e77); | ||
| 10436 | try testArgs(f64, u256, imax(u256) - 1); | ||
| 10437 | try testArgs(f64, u256, imax(u256)); | ||
| 10438 | |||
| 10439 | try testArgs(f80, i8, imin(i8)); | ||
| 10440 | try testArgs(f80, i8, imin(i8) + 1); | ||
| 10441 | try testArgs(f80, i8, -1e2); | ||
| 10442 | try testArgs(f80, i8, -1e1); | ||
| 10443 | try testArgs(f80, i8, -1e0); | ||
| 10444 | try testArgs(f80, i8, 0); | ||
| 10445 | try testArgs(f80, i8, 1e0); | ||
| 10446 | try testArgs(f80, i8, 1e1); | ||
| 10447 | try testArgs(f80, i8, 1e2); | ||
| 10448 | try testArgs(f80, i8, imax(i8) - 1); | ||
| 10449 | try testArgs(f80, i8, imax(i8)); | ||
| 10450 | |||
| 10451 | try testArgs(f80, u8, 0); | ||
| 10452 | try testArgs(f80, u8, 1e0); | ||
| 10453 | try testArgs(f80, u8, 1e1); | ||
| 10454 | try testArgs(f80, u8, 1e2); | ||
| 10455 | try testArgs(f80, u8, imax(u8) - 1); | ||
| 10456 | try testArgs(f80, u8, imax(u8)); | ||
| 10457 | |||
| 10458 | try testArgs(f80, i16, imin(i16)); | ||
| 10459 | try testArgs(f80, i16, imin(i16) + 1); | ||
| 10460 | try testArgs(f80, i16, -1e4); | ||
| 10461 | try testArgs(f80, i16, -1e3); | ||
| 10462 | try testArgs(f80, i16, -1e2); | ||
| 10463 | try testArgs(f80, i16, -1e1); | ||
| 10464 | try testArgs(f80, i16, -1e0); | ||
| 10465 | try testArgs(f80, i16, 0); | ||
| 10466 | try testArgs(f80, i16, 1e0); | ||
| 10467 | try testArgs(f80, i16, 1e1); | ||
| 10468 | try testArgs(f80, i16, 1e2); | ||
| 10469 | try testArgs(f80, i16, 1e3); | ||
| 10470 | try testArgs(f80, i16, 1e4); | ||
| 10471 | try testArgs(f80, i16, imax(i16) - 1); | ||
| 10472 | try testArgs(f80, i16, imax(i16)); | ||
| 10473 | |||
| 10474 | try testArgs(f80, u16, 0); | ||
| 10475 | try testArgs(f80, u16, 1e0); | ||
| 10476 | try testArgs(f80, u16, 1e1); | ||
| 10477 | try testArgs(f80, u16, 1e2); | ||
| 10478 | try testArgs(f80, u16, 1e3); | ||
| 10479 | try testArgs(f80, u16, 1e4); | ||
| 10480 | try testArgs(f80, u16, imax(u16) - 1); | ||
| 10481 | try testArgs(f80, u16, imax(u16)); | ||
| 10482 | |||
| 10483 | try testArgs(f80, i32, imin(i32)); | ||
| 10484 | try testArgs(f80, i32, imin(i32) + 1); | ||
| 10485 | try testArgs(f80, i32, -1e9); | ||
| 10486 | try testArgs(f80, i32, -1e8); | ||
| 10487 | try testArgs(f80, i32, -1e7); | ||
| 10488 | try testArgs(f80, i32, -1e6); | ||
| 10489 | try testArgs(f80, i32, -1e5); | ||
| 10490 | try testArgs(f80, i32, -1e4); | ||
| 10491 | try testArgs(f80, i32, -1e3); | ||
| 10492 | try testArgs(f80, i32, -1e2); | ||
| 10493 | try testArgs(f80, i32, -1e1); | ||
| 10494 | try testArgs(f80, i32, -1e0); | ||
| 10495 | try testArgs(f80, i32, 0); | ||
| 10496 | try testArgs(f80, i32, 1e0); | ||
| 10497 | try testArgs(f80, i32, 1e1); | ||
| 10498 | try testArgs(f80, i32, 1e2); | ||
| 10499 | try testArgs(f80, i32, 1e3); | ||
| 10500 | try testArgs(f80, i32, 1e4); | ||
| 10501 | try testArgs(f80, i32, 1e5); | ||
| 10502 | try testArgs(f80, i32, 1e6); | ||
| 10503 | try testArgs(f80, i32, 1e7); | ||
| 10504 | try testArgs(f80, i32, 1e8); | ||
| 10505 | try testArgs(f80, i32, 1e9); | ||
| 10506 | try testArgs(f80, i32, imax(i32) - 1); | ||
| 10507 | try testArgs(f80, i32, imax(i32)); | ||
| 10508 | |||
| 10509 | try testArgs(f80, u32, 0); | ||
| 10510 | try testArgs(f80, u32, 1e0); | ||
| 10511 | try testArgs(f80, u32, 1e1); | ||
| 10512 | try testArgs(f80, u32, 1e2); | ||
| 10513 | try testArgs(f80, u32, 1e3); | ||
| 10514 | try testArgs(f80, u32, 1e4); | ||
| 10515 | try testArgs(f80, u32, 1e5); | ||
| 10516 | try testArgs(f80, u32, 1e6); | ||
| 10517 | try testArgs(f80, u32, 1e7); | ||
| 10518 | try testArgs(f80, u32, 1e8); | ||
| 10519 | try testArgs(f80, u32, 1e9); | ||
| 10520 | try testArgs(f80, u32, imax(u32) - 1); | ||
| 10521 | try testArgs(f80, u32, imax(u32)); | ||
| 10522 | |||
| 10523 | try testArgs(f80, i64, imin(i64)); | ||
| 10524 | try testArgs(f80, i64, imin(i64) + 1); | ||
| 10525 | try testArgs(f80, i64, -1e18); | ||
| 10526 | try testArgs(f80, i64, -1e16); | ||
| 10527 | try testArgs(f80, i64, -1e14); | ||
| 10528 | try testArgs(f80, i64, -1e12); | ||
| 10529 | try testArgs(f80, i64, -1e10); | ||
| 10530 | try testArgs(f80, i64, -1e8); | ||
| 10531 | try testArgs(f80, i64, -1e6); | ||
| 10532 | try testArgs(f80, i64, -1e4); | ||
| 10533 | try testArgs(f80, i64, -1e2); | ||
| 10534 | try testArgs(f80, i64, -1e0); | ||
| 10535 | try testArgs(f80, i64, 0); | ||
| 10536 | try testArgs(f80, i64, 1e0); | ||
| 10537 | try testArgs(f80, i64, 1e2); | ||
| 10538 | try testArgs(f80, i64, 1e4); | ||
| 10539 | try testArgs(f80, i64, 1e6); | ||
| 10540 | try testArgs(f80, i64, 1e8); | ||
| 10541 | try testArgs(f80, i64, 1e10); | ||
| 10542 | try testArgs(f80, i64, 1e12); | ||
| 10543 | try testArgs(f80, i64, 1e14); | ||
| 10544 | try testArgs(f80, i64, 1e16); | ||
| 10545 | try testArgs(f80, i64, 1e18); | ||
| 10546 | try testArgs(f80, i64, imax(i64) - 1); | ||
| 10547 | try testArgs(f80, i64, imax(i64)); | ||
| 10548 | |||
| 10549 | try testArgs(f80, u64, 0); | ||
| 10550 | try testArgs(f80, u64, 1e0); | ||
| 10551 | try testArgs(f80, u64, 1e2); | ||
| 10552 | try testArgs(f80, u64, 1e4); | ||
| 10553 | try testArgs(f80, u64, 1e6); | ||
| 10554 | try testArgs(f80, u64, 1e8); | ||
| 10555 | try testArgs(f80, u64, 1e10); | ||
| 10556 | try testArgs(f80, u64, 1e12); | ||
| 10557 | try testArgs(f80, u64, 1e14); | ||
| 10558 | try testArgs(f80, u64, 1e16); | ||
| 10559 | try testArgs(f80, u64, 1e18); | ||
| 10560 | try testArgs(f80, u64, imax(u64) - 1); | ||
| 10561 | try testArgs(f80, u64, imax(u64)); | ||
| 10562 | |||
| 10563 | try testArgs(f80, i128, imin(i128)); | ||
| 10564 | try testArgs(f80, i128, imin(i128) + 1); | ||
| 10565 | try testArgs(f80, i128, -1e38); | ||
| 10566 | try testArgs(f80, i128, -1e34); | ||
| 10567 | try testArgs(f80, i128, -1e30); | ||
| 10568 | try testArgs(f80, i128, -1e26); | ||
| 10569 | try testArgs(f80, i128, -1e22); | ||
| 10570 | try testArgs(f80, i128, -1e18); | ||
| 10571 | try testArgs(f80, i128, -1e14); | ||
| 10572 | try testArgs(f80, i128, -1e10); | ||
| 10573 | try testArgs(f80, i128, -1e6); | ||
| 10574 | try testArgs(f80, i128, -1e2); | ||
| 10575 | try testArgs(f80, i128, -1e0); | ||
| 10576 | try testArgs(f80, i128, 0); | ||
| 10577 | try testArgs(f80, i128, 1e0); | ||
| 10578 | try testArgs(f80, i128, 1e2); | ||
| 10579 | try testArgs(f80, i128, 1e6); | ||
| 10580 | try testArgs(f80, i128, 1e10); | ||
| 10581 | try testArgs(f80, i128, 1e14); | ||
| 10582 | try testArgs(f80, i128, 1e18); | ||
| 10583 | try testArgs(f80, i128, 1e22); | ||
| 10584 | try testArgs(f80, i128, 1e26); | ||
| 10585 | try testArgs(f80, i128, 1e30); | ||
| 10586 | try testArgs(f80, i128, 1e34); | ||
| 10587 | try testArgs(f80, i128, 1e38); | ||
| 10588 | try testArgs(f80, i128, imax(i128) - 1); | ||
| 10589 | try testArgs(f80, i128, imax(i128)); | ||
| 10590 | |||
| 10591 | try testArgs(f80, u128, 0); | ||
| 10592 | try testArgs(f80, u128, 1e0); | ||
| 10593 | try testArgs(f80, u128, 1e2); | ||
| 10594 | try testArgs(f80, u128, 1e6); | ||
| 10595 | try testArgs(f80, u128, 1e10); | ||
| 10596 | try testArgs(f80, u128, 1e14); | ||
| 10597 | try testArgs(f80, u128, 1e18); | ||
| 10598 | try testArgs(f80, u128, 1e22); | ||
| 10599 | try testArgs(f80, u128, 1e26); | ||
| 10600 | try testArgs(f80, u128, 1e30); | ||
| 10601 | try testArgs(f80, u128, 1e34); | ||
| 10602 | try testArgs(f80, u128, 1e38); | ||
| 10603 | try testArgs(f80, u128, imax(u128) - 1); | ||
| 10604 | try testArgs(f80, u128, imax(u128)); | ||
| 10605 | |||
| 10606 | try testArgs(f80, i256, imin(i256)); | ||
| 10607 | try testArgs(f80, i256, imin(i256) + 1); | ||
| 10608 | try testArgs(f80, i256, -1e76); | ||
| 10609 | try testArgs(f80, i256, -1e69); | ||
| 10610 | try testArgs(f80, i256, -1e62); | ||
| 10611 | try testArgs(f80, i256, -1e55); | ||
| 10612 | try testArgs(f80, i256, -1e48); | ||
| 10613 | try testArgs(f80, i256, -1e41); | ||
| 10614 | try testArgs(f80, i256, -1e34); | ||
| 10615 | try testArgs(f80, i256, -1e27); | ||
| 10616 | try testArgs(f80, i256, -1e20); | ||
| 10617 | try testArgs(f80, i256, -1e13); | ||
| 10618 | try testArgs(f80, i256, -1e6); | ||
| 10619 | try testArgs(f80, i256, -1e0); | ||
| 10620 | try testArgs(f80, i256, 0); | ||
| 10621 | try testArgs(f80, i256, 1e0); | ||
| 10622 | try testArgs(f80, i256, 1e6); | ||
| 10623 | try testArgs(f80, i256, 1e13); | ||
| 10624 | try testArgs(f80, i256, 1e20); | ||
| 10625 | try testArgs(f80, i256, 1e27); | ||
| 10626 | try testArgs(f80, i256, 1e34); | ||
| 10627 | try testArgs(f80, i256, 1e41); | ||
| 10628 | try testArgs(f80, i256, 1e48); | ||
| 10629 | try testArgs(f80, i256, 1e55); | ||
| 10630 | try testArgs(f80, i256, 1e62); | ||
| 10631 | try testArgs(f80, i256, 1e69); | ||
| 10632 | try testArgs(f80, i256, 1e76); | ||
| 10633 | try testArgs(f80, i256, imax(i256) - 1); | ||
| 10634 | try testArgs(f80, i256, imax(i256)); | ||
| 10635 | |||
| 10636 | try testArgs(f80, u256, 0); | ||
| 10637 | try testArgs(f80, u256, 1e0); | ||
| 10638 | try testArgs(f80, u256, 1e7); | ||
| 10639 | try testArgs(f80, u256, 1e14); | ||
| 10640 | try testArgs(f80, u256, 1e21); | ||
| 10641 | try testArgs(f80, u256, 1e28); | ||
| 10642 | try testArgs(f80, u256, 1e35); | ||
| 10643 | try testArgs(f80, u256, 1e42); | ||
| 10644 | try testArgs(f80, u256, 1e49); | ||
| 10645 | try testArgs(f80, u256, 1e56); | ||
| 10646 | try testArgs(f80, u256, 1e63); | ||
| 10647 | try testArgs(f80, u256, 1e70); | ||
| 10648 | try testArgs(f80, u256, 1e77); | ||
| 10649 | try testArgs(f80, u256, imax(u256) - 1); | ||
| 10650 | try testArgs(f80, u256, imax(u256)); | ||
| 10651 | |||
| 10652 | try testArgs(f128, i8, imin(i8)); | ||
| 10653 | try testArgs(f128, i8, imin(i8) + 1); | ||
| 10654 | try testArgs(f128, i8, -1e2); | ||
| 10655 | try testArgs(f128, i8, -1e1); | ||
| 10656 | try testArgs(f128, i8, -1e0); | ||
| 10657 | try testArgs(f128, i8, 0); | ||
| 10658 | try testArgs(f128, i8, 1e0); | ||
| 10659 | try testArgs(f128, i8, 1e1); | ||
| 10660 | try testArgs(f128, i8, 1e2); | ||
| 10661 | try testArgs(f128, i8, imax(i8) - 1); | ||
| 10662 | try testArgs(f128, i8, imax(i8)); | ||
| 10663 | |||
| 10664 | try testArgs(f128, u8, 0); | ||
| 10665 | try testArgs(f128, u8, 1e0); | ||
| 10666 | try testArgs(f128, u8, 1e1); | ||
| 10667 | try testArgs(f128, u8, 1e2); | ||
| 10668 | try testArgs(f128, u8, imax(u8) - 1); | ||
| 10669 | try testArgs(f128, u8, imax(u8)); | ||
| 10670 | |||
| 10671 | try testArgs(f128, i16, imin(i16)); | ||
| 10672 | try testArgs(f128, i16, imin(i16) + 1); | ||
| 10673 | try testArgs(f128, i16, -1e4); | ||
| 10674 | try testArgs(f128, i16, -1e3); | ||
| 10675 | try testArgs(f128, i16, -1e2); | ||
| 10676 | try testArgs(f128, i16, -1e1); | ||
| 10677 | try testArgs(f128, i16, -1e0); | ||
| 10678 | try testArgs(f128, i16, 0); | ||
| 10679 | try testArgs(f128, i16, 1e0); | ||
| 10680 | try testArgs(f128, i16, 1e1); | ||
| 10681 | try testArgs(f128, i16, 1e2); | ||
| 10682 | try testArgs(f128, i16, 1e3); | ||
| 10683 | try testArgs(f128, i16, 1e4); | ||
| 10684 | try testArgs(f128, i16, imax(i16) - 1); | ||
| 10685 | try testArgs(f128, i16, imax(i16)); | ||
| 10686 | |||
| 10687 | try testArgs(f128, u16, 0); | ||
| 10688 | try testArgs(f128, u16, 1e0); | ||
| 10689 | try testArgs(f128, u16, 1e1); | ||
| 10690 | try testArgs(f128, u16, 1e2); | ||
| 10691 | try testArgs(f128, u16, 1e3); | ||
| 10692 | try testArgs(f128, u16, 1e4); | ||
| 10693 | try testArgs(f128, u16, imax(u16) - 1); | ||
| 10694 | try testArgs(f128, u16, imax(u16)); | ||
| 10695 | |||
| 10696 | try testArgs(f128, i32, imin(i32)); | ||
| 10697 | try testArgs(f128, i32, imin(i32) + 1); | ||
| 10698 | try testArgs(f128, i32, -1e9); | ||
| 10699 | try testArgs(f128, i32, -1e8); | ||
| 10700 | try testArgs(f128, i32, -1e7); | ||
| 10701 | try testArgs(f128, i32, -1e6); | ||
| 10702 | try testArgs(f128, i32, -1e5); | ||
| 10703 | try testArgs(f128, i32, -1e4); | ||
| 10704 | try testArgs(f128, i32, -1e3); | ||
| 10705 | try testArgs(f128, i32, -1e2); | ||
| 10706 | try testArgs(f128, i32, -1e1); | ||
| 10707 | try testArgs(f128, i32, -1e0); | ||
| 10708 | try testArgs(f128, i32, 0); | ||
| 10709 | try testArgs(f128, i32, 1e0); | ||
| 10710 | try testArgs(f128, i32, 1e1); | ||
| 10711 | try testArgs(f128, i32, 1e2); | ||
| 10712 | try testArgs(f128, i32, 1e3); | ||
| 10713 | try testArgs(f128, i32, 1e4); | ||
| 10714 | try testArgs(f128, i32, 1e5); | ||
| 10715 | try testArgs(f128, i32, 1e6); | ||
| 10716 | try testArgs(f128, i32, 1e7); | ||
| 10717 | try testArgs(f128, i32, 1e8); | ||
| 10718 | try testArgs(f128, i32, 1e9); | ||
| 10719 | try testArgs(f128, i32, imax(i32) - 1); | ||
| 10720 | try testArgs(f128, i32, imax(i32)); | ||
| 10721 | |||
| 10722 | try testArgs(f128, u32, 0); | ||
| 10723 | try testArgs(f128, u32, 1e0); | ||
| 10724 | try testArgs(f128, u32, 1e1); | ||
| 10725 | try testArgs(f128, u32, 1e2); | ||
| 10726 | try testArgs(f128, u32, 1e3); | ||
| 10727 | try testArgs(f128, u32, 1e4); | ||
| 10728 | try testArgs(f128, u32, 1e5); | ||
| 10729 | try testArgs(f128, u32, 1e6); | ||
| 10730 | try testArgs(f128, u32, 1e7); | ||
| 10731 | try testArgs(f128, u32, 1e8); | ||
| 10732 | try testArgs(f128, u32, 1e9); | ||
| 10733 | try testArgs(f128, u32, imax(u32) - 1); | ||
| 10734 | try testArgs(f128, u32, imax(u32)); | ||
| 10735 | |||
| 10736 | try testArgs(f128, i64, imin(i64)); | ||
| 10737 | try testArgs(f128, i64, imin(i64) + 1); | ||
| 10738 | try testArgs(f128, i64, -1e18); | ||
| 10739 | try testArgs(f128, i64, -1e16); | ||
| 10740 | try testArgs(f128, i64, -1e14); | ||
| 10741 | try testArgs(f128, i64, -1e12); | ||
| 10742 | try testArgs(f128, i64, -1e10); | ||
| 10743 | try testArgs(f128, i64, -1e8); | ||
| 10744 | try testArgs(f128, i64, -1e6); | ||
| 10745 | try testArgs(f128, i64, -1e4); | ||
| 10746 | try testArgs(f128, i64, -1e2); | ||
| 10747 | try testArgs(f128, i64, -1e0); | ||
| 10748 | try testArgs(f128, i64, 0); | ||
| 10749 | try testArgs(f128, i64, 1e0); | ||
| 10750 | try testArgs(f128, i64, 1e2); | ||
| 10751 | try testArgs(f128, i64, 1e4); | ||
| 10752 | try testArgs(f128, i64, 1e6); | ||
| 10753 | try testArgs(f128, i64, 1e8); | ||
| 10754 | try testArgs(f128, i64, 1e10); | ||
| 10755 | try testArgs(f128, i64, 1e12); | ||
| 10756 | try testArgs(f128, i64, 1e14); | ||
| 10757 | try testArgs(f128, i64, 1e16); | ||
| 10758 | try testArgs(f128, i64, 1e18); | ||
| 10759 | try testArgs(f128, i64, imax(i64) - 1); | ||
| 10760 | try testArgs(f128, i64, imax(i64)); | ||
| 10761 | |||
| 10762 | try testArgs(f128, u64, 0); | ||
| 10763 | try testArgs(f128, u64, 1e0); | ||
| 10764 | try testArgs(f128, u64, 1e2); | ||
| 10765 | try testArgs(f128, u64, 1e4); | ||
| 10766 | try testArgs(f128, u64, 1e6); | ||
| 10767 | try testArgs(f128, u64, 1e8); | ||
| 10768 | try testArgs(f128, u64, 1e10); | ||
| 10769 | try testArgs(f128, u64, 1e12); | ||
| 10770 | try testArgs(f128, u64, 1e14); | ||
| 10771 | try testArgs(f128, u64, 1e16); | ||
| 10772 | try testArgs(f128, u64, 1e18); | ||
| 10773 | try testArgs(f128, u64, imax(u64) - 1); | ||
| 10774 | try testArgs(f128, u64, imax(u64)); | ||
| 10775 | |||
| 10776 | try testArgs(f128, i128, imin(i128)); | ||
| 10777 | try testArgs(f128, i128, imin(i128) + 1); | ||
| 10778 | try testArgs(f128, i128, -1e38); | ||
| 10779 | try testArgs(f128, i128, -1e34); | ||
| 10780 | try testArgs(f128, i128, -1e30); | ||
| 10781 | try testArgs(f128, i128, -1e26); | ||
| 10782 | try testArgs(f128, i128, -1e22); | ||
| 10783 | try testArgs(f128, i128, -1e18); | ||
| 10784 | try testArgs(f128, i128, -1e14); | ||
| 10785 | try testArgs(f128, i128, -1e10); | ||
| 10786 | try testArgs(f128, i128, -1e6); | ||
| 10787 | try testArgs(f128, i128, -1e2); | ||
| 10788 | try testArgs(f128, i128, -1e0); | ||
| 10789 | try testArgs(f128, i128, 0); | ||
| 10790 | try testArgs(f128, i128, 1e0); | ||
| 10791 | try testArgs(f128, i128, 1e2); | ||
| 10792 | try testArgs(f128, i128, 1e6); | ||
| 10793 | try testArgs(f128, i128, 1e10); | ||
| 10794 | try testArgs(f128, i128, 1e14); | ||
| 10795 | try testArgs(f128, i128, 1e18); | ||
| 10796 | try testArgs(f128, i128, 1e22); | ||
| 10797 | try testArgs(f128, i128, 1e26); | ||
| 10798 | try testArgs(f128, i128, 1e30); | ||
| 10799 | try testArgs(f128, i128, 1e34); | ||
| 10800 | try testArgs(f128, i128, 1e38); | ||
| 10801 | try testArgs(f128, i128, imax(i128) - 1); | ||
| 10802 | try testArgs(f128, i128, imax(i128)); | ||
| 10803 | |||
| 10804 | try testArgs(f128, u128, 0); | ||
| 10805 | try testArgs(f128, u128, 1e0); | ||
| 10806 | try testArgs(f128, u128, 1e2); | ||
| 10807 | try testArgs(f128, u128, 1e6); | ||
| 10808 | try testArgs(f128, u128, 1e10); | ||
| 10809 | try testArgs(f128, u128, 1e14); | ||
| 10810 | try testArgs(f128, u128, 1e18); | ||
| 10811 | try testArgs(f128, u128, 1e22); | ||
| 10812 | try testArgs(f128, u128, 1e26); | ||
| 10813 | try testArgs(f128, u128, 1e30); | ||
| 10814 | try testArgs(f128, u128, 1e34); | ||
| 10815 | try testArgs(f128, u128, 1e38); | ||
| 10816 | try testArgs(f128, u128, imax(u128) - 1); | ||
| 10817 | try testArgs(f128, u128, imax(u128)); | ||
| 10818 | |||
| 10819 | try testArgs(f128, i256, imin(i256)); | ||
| 10820 | try testArgs(f128, i256, imin(i256) + 1); | ||
| 10821 | try testArgs(f128, i256, -1e76); | ||
| 10822 | try testArgs(f128, i256, -1e69); | ||
| 10823 | try testArgs(f128, i256, -1e62); | ||
| 10824 | try testArgs(f128, i256, -1e55); | ||
| 10825 | try testArgs(f128, i256, -1e48); | ||
| 10826 | try testArgs(f128, i256, -1e41); | ||
| 10827 | try testArgs(f128, i256, -1e34); | ||
| 10828 | try testArgs(f128, i256, -1e27); | ||
| 10829 | try testArgs(f128, i256, -1e20); | ||
| 10830 | try testArgs(f128, i256, -1e13); | ||
| 10831 | try testArgs(f128, i256, -1e6); | ||
| 10832 | try testArgs(f128, i256, -1e0); | ||
| 10833 | try testArgs(f128, i256, 0); | ||
| 10834 | try testArgs(f128, i256, 1e0); | ||
| 10835 | try testArgs(f128, i256, 1e6); | ||
| 10836 | try testArgs(f128, i256, 1e13); | ||
| 10837 | try testArgs(f128, i256, 1e20); | ||
| 10838 | try testArgs(f128, i256, 1e27); | ||
| 10839 | try testArgs(f128, i256, 1e34); | ||
| 10840 | try testArgs(f128, i256, 1e41); | ||
| 10841 | try testArgs(f128, i256, 1e48); | ||
| 10842 | try testArgs(f128, i256, 1e55); | ||
| 10843 | try testArgs(f128, i256, 1e62); | ||
| 10844 | try testArgs(f128, i256, 1e69); | ||
| 10845 | try testArgs(f128, i256, 1e76); | ||
| 10846 | try testArgs(f128, i256, imax(i256) - 1); | ||
| 10847 | try testArgs(f128, i256, imax(i256)); | ||
| 10848 | |||
| 10849 | try testArgs(f128, u256, 0); | ||
| 10850 | try testArgs(f128, u256, 1e0); | ||
| 10851 | try testArgs(f128, u256, 1e7); | ||
| 10852 | try testArgs(f128, u256, 1e14); | ||
| 10853 | try testArgs(f128, u256, 1e21); | ||
| 10854 | try testArgs(f128, u256, 1e28); | ||
| 10855 | try testArgs(f128, u256, 1e35); | ||
| 10856 | try testArgs(f128, u256, 1e42); | ||
| 10857 | try testArgs(f128, u256, 1e49); | ||
| 10858 | try testArgs(f128, u256, 1e56); | ||
| 10859 | try testArgs(f128, u256, 1e63); | ||
| 10860 | try testArgs(f128, u256, 1e70); | ||
| 10861 | try testArgs(f128, u256, 1e77); | ||
| 10862 | try testArgs(f128, u256, imax(u256) - 1); | ||
| 10863 | try testArgs(f128, u256, imax(u256)); | ||
| 10864 | } | ||
| 10865 | fn testIntVectorsFromFloatVectors() !void { | ||
| 10866 | @setEvalBranchQuota(2_500); | ||
| 10867 | |||
| 10868 | try testArgs(@Vector(1, i8), @Vector(1, f16), .{ | ||
| 10869 | -0x0.8p8, | ||
| 10870 | }); | ||
| 10871 | try testArgs(@Vector(2, i8), @Vector(2, f16), .{ | ||
| 10872 | next(f16, -0x0.8p8, -0.0), next(f16, next(f16, -0x0.8p8, -0.0), -0.0), | ||
| 10873 | }); | ||
| 10874 | try testArgs(@Vector(4, i8), @Vector(4, f16), .{ | ||
| 10875 | -1e2, -1e1, -1e0, -1e-1, | ||
| 10876 | }); | ||
| 10877 | try testArgs(@Vector(8, i8), @Vector(8, f16), .{ | ||
| 10878 | -1e-2, -1e-3, -1e-4, -1e-5, -0.0, 0.0, 1e-5, 1e-4, | ||
| 10879 | }); | ||
| 10880 | try testArgs(@Vector(16, i8), @Vector(16, f16), .{ | ||
| 10881 | 1e-3, 1e-2, 1e-1, 1e0, 1e1, 1e2, next(f16, next(f16, 0x0.8p8, 0.0), 0.0), next(f16, 0x0.8p8, 0.0), | ||
| 10882 | -2e1, -2e0, -2e-1, -2e-2, -2e-3, -2e-4, -2e-5, 2e-5, | ||
| 10883 | }); | ||
| 10884 | try testArgs(@Vector(32, i8), @Vector(32, f16), .{ | ||
| 10885 | 2e-4, 2e-3, 2e-2, 2e-1, 2e0, 2e1, -3e1, -3e0, | ||
| 10886 | -3e-1, -3e-2, -3e-3, -3e-4, -3e-5, 3e-5, 3e-4, 3e-3, | ||
| 10887 | 3e-2, 3e-1, 3e0, 3e1, -4e1, -4e0, -4e-1, -4e-2, | ||
| 10888 | -4e-3, -4e-4, -4e-5, 4e-5, 4e-4, 4e-3, 4e-2, 4e-1, | ||
| 10889 | }); | ||
| 10890 | try testArgs(@Vector(64, i8), @Vector(64, f16), .{ | ||
| 10891 | 4e0, 4e1, -5e1, -5e0, -5e-1, -5e-2, -5e-3, -5e-4, | ||
| 10892 | -5e-5, 5e-5, 5e-4, 5e-3, 5e-2, 5e-1, 5e0, 5e1, | ||
| 10893 | -6e1, -6e0, -6e-1, -6e-2, -6e-3, -6e-4, -6e-5, 6e-5, | ||
| 10894 | 6e-4, 6e-3, 6e-2, 6e-1, 6e0, 6e1, -7e1, -7e0, | ||
| 10895 | -7e-1, -7e-2, -7e-3, -7e-4, -7e-5, 7e-5, 7e-4, 7e-3, | ||
| 10896 | 7e-2, 7e-1, 7e0, 7e1, -8e1, -8e0, -8e-1, -8e-2, | ||
| 10897 | -8e-3, -8e-4, -8e-5, 8e-5, 8e-4, 8e-3, 8e-2, 8e-1, | ||
| 10898 | 8e0, 8e1, -9e1, -9e0, -9e-1, -9e-2, -9e-3, -9e-4, | ||
| 10899 | }); | ||
| 10900 | try testArgs(@Vector(128, i8), @Vector(128, f16), .{ | ||
| 10901 | -9e-5, 9e-5, 9e-4, 9e-3, 9e-2, 9e-1, 9e0, 9e1, | ||
| 10902 | -11e1, -11e0, -11e-1, -11e-2, -11e-3, -11e-4, -11e-5, 11e-5, | ||
| 10903 | 11e-4, 11e-3, 11e-2, 11e-1, 11e0, 11e1, -12e1, -12e0, | ||
| 10904 | -12e-1, -12e-2, -12e-3, -12e-4, -12e-5, 12e-5, 12e-4, 12e-3, | ||
| 10905 | 12e-2, 12e-1, 12e0, 12e1, -13e0, -13e-1, -13e-2, -13e-3, | ||
| 10906 | -13e-4, -13e-5, 13e-5, 13e-4, 13e-3, 13e-2, 13e-1, 13e0, | ||
| 10907 | -14e0, -14e-1, -14e-2, -14e-3, -14e-4, -14e-5, 14e-5, 14e-4, | ||
| 10908 | 14e-3, 14e-2, 14e-1, 14e0, -15e0, -15e-1, -15e-2, -15e-3, | ||
| 10909 | -15e-4, -15e-5, 15e-5, 15e-4, 15e-3, 15e-2, 15e-1, 15e0, | ||
| 10910 | -16e0, -16e-1, -16e-2, -16e-3, -16e-4, -16e-5, 16e-5, 16e-4, | ||
| 10911 | 16e-3, 16e-2, 16e-1, 16e0, -17e0, -17e-1, -17e-2, -17e-3, | ||
| 10912 | -17e-4, -17e-5, 17e-5, 17e-4, 17e-3, 17e-2, 17e-1, 17e0, | ||
| 10913 | -18e0, -18e-1, -18e-2, -18e-3, -18e-4, -18e-5, 18e-5, 18e-4, | ||
| 10914 | 18e-3, 18e-2, 18e-1, 18e0, -19e0, -19e-1, -19e-2, -19e-3, | ||
| 10915 | -19e-4, -19e-5, 19e-5, 19e-4, 19e-3, 19e-2, 19e-1, 19e0, | ||
| 10916 | -21e0, -21e-1, -21e-2, -21e-3, -21e-4, -21e-5, 21e-5, 21e-4, | ||
| 10917 | }); | ||
| 10918 | |||
| 10919 | try testArgs(@Vector(1, u8), @Vector(1, f16), .{ | ||
| 10920 | -0.0, | ||
| 10921 | }); | ||
| 10922 | try testArgs(@Vector(2, u8), @Vector(2, f16), .{ | ||
| 10923 | 0.0, 1e-5, | ||
| 10924 | }); | ||
| 10925 | try testArgs(@Vector(4, u8), @Vector(4, f16), .{ | ||
| 10926 | 1e-4, 1e-3, 1e-2, 1e-1, | ||
| 10927 | }); | ||
| 10928 | try testArgs(@Vector(8, u8), @Vector(8, f16), .{ | ||
| 10929 | 1e0, 1e1, 1e2, next(f16, next(f16, 0x1p8, 0.0), 0.0), next(f16, 0x1p8, 0.0), 2e-5, 2e-4, 2e-3, | ||
| 10930 | }); | ||
| 10931 | try testArgs(@Vector(16, u8), @Vector(16, f16), .{ | ||
| 10932 | 2e-2, 2e-1, 2e0, 2e1, 2e2, 3e-5, 3e-4, 3e-3, | ||
| 10933 | 3e-2, 3e-1, 3e0, 3e1, 4e-5, 4e-4, 4e-3, 4e-2, | ||
| 10934 | }); | ||
| 10935 | try testArgs(@Vector(32, u8), @Vector(32, f16), .{ | ||
| 10936 | 4e-1, 4e0, 4e1, 5e-5, 5e-4, 5e-3, 5e-2, 5e-1, | ||
| 10937 | 5e0, 5e1, 6e-5, 6e-4, 6e-3, 6e-2, 6e-1, 6e0, | ||
| 10938 | 6e1, 7e-5, 7e-4, 7e-3, 7e-2, 7e-1, 7e0, 7e1, | ||
| 10939 | 8e-5, 8e-4, 8e-3, 8e-2, 8e-1, 8e0, 8e1, 9e-5, | ||
| 10940 | }); | ||
| 10941 | try testArgs(@Vector(64, u8), @Vector(64, f16), .{ | ||
| 10942 | 9e-4, 9e-3, 9e-2, 9e-1, 9e0, 9e1, 11e-5, 11e-4, | ||
| 10943 | 11e-3, 11e-2, 11e-1, 11e0, 11e1, 13e-5, 13e-4, 13e-3, | ||
| 10944 | 13e-2, 13e-1, 13e0, 14e-5, 14e-4, 14e-3, 14e-2, 14e-1, | ||
| 10945 | 14e0, 14e1, 15e-5, 15e-4, 15e-3, 15e-2, 15e-1, 15e0, | ||
| 10946 | 15e1, 16e-5, 16e-4, 16e-3, 16e-2, 16e-1, 16e0, 16e1, | ||
| 10947 | 17e-5, 17e-4, 17e-3, 17e-2, 17e-1, 17e0, 17e1, 18e-5, | ||
| 10948 | 18e-4, 18e-3, 18e-2, 18e-1, 18e0, 18e1, 19e-5, 19e-4, | ||
| 10949 | 19e-3, 19e-2, 19e-1, 19e0, 19e1, 21e-5, 21e-4, 21e-3, | ||
| 10950 | }); | ||
| 10951 | try testArgs(@Vector(128, u8), @Vector(128, f16), .{ | ||
| 10952 | 21e-2, 21e-1, 21e0, 21e1, 22e-5, 22e-4, 22e-3, 22e-2, | ||
| 10953 | 22e-1, 22e0, 22e1, 23e-5, 23e-4, 23e-3, 23e-2, 23e-1, | ||
| 10954 | 23e0, 23e1, 24e-5, 24e-4, 24e-3, 24e-2, 24e-1, 24e0, | ||
| 10955 | 24e1, 25e-5, 25e-4, 25e-3, 25e-2, 25e-1, 25e0, 25e1, | ||
| 10956 | 26e-5, 26e-4, 26e-3, 26e-2, 26e-1, 26e0, 27e-5, 27e-4, | ||
| 10957 | 27e-3, 27e-2, 27e-1, 27e0, 28e-5, 28e-4, 28e-3, 28e-2, | ||
| 10958 | 28e-1, 28e0, 29e-5, 29e-4, 29e-3, 29e-2, 29e-1, 29e0, | ||
| 10959 | 31e-5, 31e-4, 31e-3, 31e-2, 31e-1, 31e0, 32e-5, 32e-4, | ||
| 10960 | 32e-3, 32e-2, 32e-1, 32e0, 33e-5, 33e-4, 33e-3, 33e-2, | ||
| 10961 | 33e-1, 33e0, 34e-5, 34e-4, 34e-3, 34e-2, 34e-1, 34e0, | ||
| 10962 | 35e-5, 35e-4, 35e-3, 35e-2, 35e-1, 35e0, 36e-5, 36e-4, | ||
| 10963 | 36e-3, 36e-2, 36e-1, 36e0, 37e-5, 37e-4, 37e-3, 37e-2, | ||
| 10964 | 37e-1, 37e0, 38e-5, 38e-4, 38e-3, 38e-2, 38e-1, 38e0, | ||
| 10965 | 39e-5, 39e-4, 39e-3, 39e-2, 39e-1, 39e0, 41e-5, 41e-4, | ||
| 10966 | 41e-3, 41e-2, 41e-1, 41e0, 42e-5, 42e-4, 42e-3, 42e-2, | ||
| 10967 | 42e-1, 42e0, 43e-5, 43e-4, 43e-3, 43e-2, 43e-1, 43e0, | ||
| 10968 | }); | ||
| 10969 | |||
| 10970 | try testArgs(@Vector(1, i16), @Vector(1, f16), .{ | ||
| 10971 | -0x0.8p16, | ||
| 10972 | }); | ||
| 10973 | try testArgs(@Vector(2, i16), @Vector(2, f16), .{ | ||
| 10974 | next(f16, -0x0.8p16, -0.0), next(f16, next(f16, -0x0.8p16, -0.0), -0.0), | ||
| 10975 | }); | ||
| 10976 | try testArgs(@Vector(4, i16), @Vector(4, f16), .{ | ||
| 10977 | -1e4, -1e3, -1e2, -1e1, | ||
| 10978 | }); | ||
| 10979 | try testArgs(@Vector(8, i16), @Vector(8, f16), .{ | ||
| 10980 | -1e0, -1e-1, -1e-2, -1e-3, -1e-4, -1e-5, -0.0, 0.0, | ||
| 10981 | }); | ||
| 10982 | try testArgs(@Vector(16, i16), @Vector(16, f16), .{ | ||
| 10983 | 1e-5, 1e-4, 1e-3, 1e-2, 1e-1, 1e0, 1e1, 1e2, | ||
| 10984 | 1e3, 1e4, next(f16, next(f16, 0x0.8p16, 0.0), 0.0), next(f16, 0x0.8p16, 0.0), -2e4, -2e3, -2e2, -2e1, | ||
| 10985 | }); | ||
| 10986 | try testArgs(@Vector(32, i16), @Vector(32, f16), .{ | ||
| 10987 | -2e0, -2e-1, -2e-2, -2e-3, -2e-4, -2e-5, 2e-5, 2e-4, | ||
| 10988 | 2e-3, 2e-2, 2e-1, 2e0, 2e1, 2e2, 2e3, 2e4, | ||
| 10989 | -3e4, -3e3, -3e2, -3e1, -3e0, -3e-1, -3e-2, -3e-3, | ||
| 10990 | -3e-4, -3e-5, 3e-5, 3e-4, 3e-3, 3e-2, 3e-1, 3e0, | ||
| 10991 | }); | ||
| 10992 | try testArgs(@Vector(64, i16), @Vector(64, f16), .{ | ||
| 10993 | 3e1, 3e2, 3e3, 3e4, -4e3, -4e2, -4e1, -4e0, | ||
| 10994 | -4e-1, -4e-2, -4e-3, -4e-4, -4e-5, 4e-5, 4e-4, 4e-3, | ||
| 10995 | 4e-2, 4e-1, 4e0, 4e1, 4e2, 4e3, -5e3, -5e2, | ||
| 10996 | -5e1, -5e0, -5e-1, -5e-2, -5e-3, -5e-4, -5e-5, 5e-5, | ||
| 10997 | 5e-4, 5e-3, 5e-2, 5e-1, 5e0, 5e1, 5e2, 5e3, | ||
| 10998 | -6e3, -6e2, -6e1, -6e0, -6e-1, -6e-2, -6e-3, -6e-4, | ||
| 10999 | -6e-5, 6e-5, 6e-4, 6e-3, 6e-2, 6e-1, 6e0, 6e1, | ||
| 11000 | 6e2, 6e3, -7e3, -7e2, -7e1, -7e0, -7e-1, -7e-2, | ||
| 11001 | }); | ||
| 11002 | try testArgs(@Vector(128, i16), @Vector(128, f16), .{ | ||
| 11003 | -7e-3, -7e-4, -7e-5, 7e-5, 7e-4, 7e-3, 7e-2, 7e-1, | ||
| 11004 | 7e0, 7e1, 7e2, 7e3, -8e3, -8e2, -8e1, -8e0, | ||
| 11005 | -8e-1, -8e-2, -8e-3, -8e-4, -8e-5, 8e-5, 8e-4, 8e-3, | ||
| 11006 | 8e-2, 8e-1, 8e0, 8e1, 8e2, 8e3, -9e3, -9e2, | ||
| 11007 | -9e1, -9e0, -9e-1, -9e-2, -9e-3, -9e-4, -9e-5, 9e-5, | ||
| 11008 | 9e-4, 9e-3, 9e-2, 9e-1, 9e0, 9e1, 9e2, 9e3, | ||
| 11009 | -11e3, -11e2, -11e1, -11e0, -11e-1, -11e-2, -11e-3, -11e-4, | ||
| 11010 | -11e-5, 11e-5, 11e-4, 11e-3, 11e-2, 11e-1, 11e0, 11e1, | ||
| 11011 | 11e2, 11e3, -12e3, -12e2, -12e1, -12e0, -12e-1, -12e-2, | ||
| 11012 | -12e-3, -12e-4, -12e-5, 12e-5, 12e-4, 12e-3, 12e-2, 12e-1, | ||
| 11013 | 12e0, 12e1, 12e2, 12e3, -13e3, -13e2, -13e1, -13e0, | ||
| 11014 | -13e-1, -13e-2, -13e-3, -13e-4, -13e-5, 13e-5, 13e-4, 13e-3, | ||
| 11015 | 13e-2, 13e-1, 13e0, 13e1, 13e2, -14e2, -14e1, -14e0, | ||
| 11016 | -14e-1, -14e-2, -14e-3, -14e-4, -14e-5, 14e-5, 14e-4, 14e-3, | ||
| 11017 | 14e-2, 14e-1, 14e0, 14e1, 14e2, 14e3, -15e3, -15e2, | ||
| 11018 | -15e1, -15e0, -15e-1, -15e-2, -15e-3, -15e-4, -15e-5, 15e-5, | ||
| 11019 | }); | ||
| 11020 | |||
| 11021 | try testArgs(@Vector(1, u16), @Vector(1, f16), .{ | ||
| 11022 | -0.0, | ||
| 11023 | }); | ||
| 11024 | try testArgs(@Vector(2, u16), @Vector(2, f16), .{ | ||
| 11025 | 0.0, 1e-5, | ||
| 11026 | }); | ||
| 11027 | try testArgs(@Vector(4, u16), @Vector(4, f16), .{ | ||
| 11028 | 1e-4, 1e-3, 1e-2, 1e-1, | ||
| 11029 | }); | ||
| 11030 | try testArgs(@Vector(8, u16), @Vector(8, f16), .{ | ||
| 11031 | 1e0, 1e1, 1e2, 1e3, 1e4, next(f16, next(f16, 0x1p16, 0.0), 0.0), next(f16, 0x1p16, 0.0), 2e-5, | ||
| 11032 | }); | ||
| 11033 | try testArgs(@Vector(16, u16), @Vector(16, f16), .{ | ||
| 11034 | 2e-4, 2e-3, 2e-2, 2e-1, 2e0, 2e1, 2e2, 2e3, | ||
| 11035 | 2e4, 3e-5, 3e-4, 3e-3, 3e-2, 3e-1, 3e0, 3e1, | ||
| 11036 | }); | ||
| 11037 | try testArgs(@Vector(32, u16), @Vector(32, f16), .{ | ||
| 11038 | 3e2, 3e3, 3e4, 4e-5, 4e-4, 4e-3, 4e-2, 4e-1, | ||
| 11039 | 4e0, 4e1, 4e2, 4e3, 5e-5, 5e-4, 5e-3, 5e-2, | ||
| 11040 | 5e-1, 5e0, 5e1, 5e2, 5e3, 6e-5, 6e-4, 6e-3, | ||
| 11041 | 6e-2, 6e-1, 6e0, 6e1, 6e2, 6e3, 7e-5, 7e-4, | ||
| 11042 | }); | ||
| 11043 | try testArgs(@Vector(64, u16), @Vector(64, f16), .{ | ||
| 11044 | 7e-3, 7e-2, 7e-1, 7e0, 7e1, 7e2, 7e3, 8e-5, | ||
| 11045 | 8e-4, 8e-3, 8e-2, 8e-1, 8e0, 8e1, 8e2, 8e3, | ||
| 11046 | 9e-5, 9e-4, 9e-3, 9e-2, 9e-1, 9e0, 9e1, 9e2, | ||
| 11047 | 9e3, 11e-5, 11e-4, 11e-3, 11e-2, 11e-1, 11e0, 11e1, | ||
| 11048 | 11e2, 11e3, 13e-5, 13e-4, 13e-3, 13e-2, 13e-1, 13e0, | ||
| 11049 | 13e1, 13e2, 13e3, 14e-5, 14e-4, 14e-3, 14e-2, 14e-1, | ||
| 11050 | 14e0, 14e1, 14e2, 14e3, 15e-5, 15e-4, 15e-3, 15e-2, | ||
| 11051 | 15e-1, 15e0, 15e1, 15e2, 15e3, 16e-5, 16e-4, 16e-3, | ||
| 11052 | }); | ||
| 11053 | try testArgs(@Vector(128, u16), @Vector(128, f16), .{ | ||
| 11054 | 16e-2, 16e-1, 16e0, 16e1, 16e2, 16e3, 17e-5, 17e-4, | ||
| 11055 | 17e-3, 17e-2, 17e-1, 17e0, 17e1, 17e2, 17e3, 18e-5, | ||
| 11056 | 18e-4, 18e-3, 18e-2, 18e-1, 18e0, 18e1, 18e2, 18e3, | ||
| 11057 | 19e-5, 19e-4, 19e-3, 19e-2, 19e-1, 19e0, 19e1, 19e2, | ||
| 11058 | 19e3, 21e-5, 21e-4, 21e-3, 21e-2, 21e-1, 21e0, 21e1, | ||
| 11059 | 21e2, 21e3, 22e-5, 22e-4, 22e-3, 22e-2, 22e-1, 22e0, | ||
| 11060 | 22e1, 22e2, 22e3, 23e-5, 23e-4, 23e-3, 23e-2, 23e-1, | ||
| 11061 | 23e0, 23e1, 23e2, 23e3, 24e-5, 24e-4, 24e-3, 24e-2, | ||
| 11062 | 24e-1, 24e0, 24e1, 24e2, 24e3, 25e-5, 25e-4, 25e-3, | ||
| 11063 | 25e-2, 25e-1, 25e0, 25e1, 25e2, 25e3, 26e-5, 26e-4, | ||
| 11064 | 26e-3, 26e-2, 26e-1, 26e0, 26e1, 26e2, 26e3, 27e-5, | ||
| 11065 | 27e-4, 27e-3, 27e-2, 27e-1, 27e0, 27e1, 27e2, 27e3, | ||
| 11066 | 28e-5, 28e-4, 28e-3, 28e-2, 28e-1, 28e0, 28e1, 28e2, | ||
| 11067 | 28e3, 29e-5, 29e-4, 29e-3, 29e-2, 29e-1, 29e0, 29e1, | ||
| 11068 | 29e2, 29e3, 31e-5, 31e-4, 31e-3, 31e-2, 31e-1, 31e0, | ||
| 11069 | 31e1, 31e2, 31e3, 32e-5, 32e-4, 32e-3, 32e-2, 32e-1, | ||
| 11070 | }); | ||
| 11071 | |||
| 11072 | try testArgs(@Vector(1, i32), @Vector(1, f16), .{ | ||
| 11073 | -fmax(f16), | ||
| 11074 | }); | ||
| 11075 | try testArgs(@Vector(2, i32), @Vector(2, f16), .{ | ||
| 11076 | next(f16, -fmax(f16), -0.0), next(f16, next(f16, -fmax(f16), -0.0), -0.0), | ||
| 11077 | }); | ||
| 11078 | try testArgs(@Vector(4, i32), @Vector(4, f16), .{ | ||
| 11079 | -1e4, -1e3, -1e2, -1e1, | ||
| 11080 | }); | ||
| 11081 | try testArgs(@Vector(8, i32), @Vector(8, f16), .{ | ||
| 11082 | -1e0, -1e-1, -1e-2, -1e-3, -1e-4, -1e-5, -0.0, 0.0, | ||
| 11083 | }); | ||
| 11084 | try testArgs(@Vector(16, i32), @Vector(16, f16), .{ | ||
| 11085 | 1e-5, 1e-4, 1e-3, 1e-2, 1e-1, 1e0, 1e1, 1e2, | ||
| 11086 | 1e3, 1e4, next(f16, next(f16, fmax(f16), 0.0), 0.0), next(f16, fmax(f16), 0.0), -2e4, -2e3, -2e2, -2e1, | ||
| 11087 | }); | ||
| 11088 | try testArgs(@Vector(32, i32), @Vector(32, f16), .{ | ||
| 11089 | -2e0, -2e-1, -2e-2, -2e-3, -2e-4, -2e-5, 2e-5, 2e-4, | ||
| 11090 | 2e-3, 2e-2, 2e-1, 2e0, 2e1, 2e2, 2e3, 2e4, | ||
| 11091 | -3e4, -3e3, -3e2, -3e1, -3e0, -3e-1, -3e-2, -3e-3, | ||
| 11092 | -3e-4, -3e-5, 3e-5, 3e-4, 3e-3, 3e-2, 3e-1, 3e0, | ||
| 11093 | }); | ||
| 11094 | try testArgs(@Vector(64, i32), @Vector(64, f16), .{ | ||
| 11095 | 3e1, 3e2, 3e3, 3e4, -4e3, -4e2, -4e1, -4e0, | ||
| 11096 | -4e-1, -4e-2, -4e-3, -4e-4, -4e-5, 4e-5, 4e-4, 4e-3, | ||
| 11097 | 4e-2, 4e-1, 4e0, 4e1, 4e2, 4e3, -5e3, -5e2, | ||
| 11098 | -5e1, -5e0, -5e-1, -5e-2, -5e-3, -5e-4, -5e-5, 5e-5, | ||
| 11099 | 5e-4, 5e-3, 5e-2, 5e-1, 5e0, 5e1, 5e2, 5e3, | ||
| 11100 | -6e3, -6e2, -6e1, -6e0, -6e-1, -6e-2, -6e-3, -6e-4, | ||
| 11101 | -6e-5, 6e-5, 6e-4, 6e-3, 6e-2, 6e-1, 6e0, 6e1, | ||
| 11102 | 6e2, 6e3, -7e3, -7e2, -7e1, -7e0, -7e-1, -7e-2, | ||
| 11103 | }); | ||
| 11104 | try testArgs(@Vector(128, i32), @Vector(128, f16), .{ | ||
| 11105 | -7e-3, -7e-4, -7e-5, 7e-5, 7e-4, 7e-3, 7e-2, 7e-1, | ||
| 11106 | 7e0, 7e1, 7e2, 7e3, -8e3, -8e2, -8e1, -8e0, | ||
| 11107 | -8e-1, -8e-2, -8e-3, -8e-4, -8e-5, 8e-5, 8e-4, 8e-3, | ||
| 11108 | 8e-2, 8e-1, 8e0, 8e1, 8e2, 8e3, -9e3, -9e2, | ||
| 11109 | -9e1, -9e0, -9e-1, -9e-2, -9e-3, -9e-4, -9e-5, 9e-5, | ||
| 11110 | 9e-4, 9e-3, 9e-2, 9e-1, 9e0, 9e1, 9e2, 9e3, | ||
| 11111 | -11e3, -11e2, -11e1, -11e0, -11e-1, -11e-2, -11e-3, -11e-4, | ||
| 11112 | -11e-5, 11e-5, 11e-4, 11e-3, 11e-2, 11e-1, 11e0, 11e1, | ||
| 11113 | 11e2, 11e3, -12e3, -12e2, -12e1, -12e0, -12e-1, -12e-2, | ||
| 11114 | -12e-3, -12e-4, -12e-5, 12e-5, 12e-4, 12e-3, 12e-2, 12e-1, | ||
| 11115 | 12e0, 12e1, 12e2, 12e3, -13e3, -13e2, -13e1, -13e0, | ||
| 11116 | -13e-1, -13e-2, -13e-3, -13e-4, -13e-5, 13e-5, 13e-4, 13e-3, | ||
| 11117 | 13e-2, 13e-1, 13e0, 13e1, 13e2, -14e2, -14e1, -14e0, | ||
| 11118 | -14e-1, -14e-2, -14e-3, -14e-4, -14e-5, 14e-5, 14e-4, 14e-3, | ||
| 11119 | 14e-2, 14e-1, 14e0, 14e1, 14e2, 14e3, -15e3, -15e2, | ||
| 11120 | -15e1, -15e0, -15e-1, -15e-2, -15e-3, -15e-4, -15e-5, 15e-5, | ||
| 11121 | }); | ||
| 11122 | |||
| 11123 | try testArgs(@Vector(1, u32), @Vector(1, f16), .{ | ||
| 11124 | -0.0, | ||
| 11125 | }); | ||
| 11126 | try testArgs(@Vector(2, u32), @Vector(2, f16), .{ | ||
| 11127 | 0.0, 1e-5, | ||
| 11128 | }); | ||
| 11129 | try testArgs(@Vector(4, u32), @Vector(4, f16), .{ | ||
| 11130 | 1e-4, 1e-3, 1e-2, 1e-1, | ||
| 11131 | }); | ||
| 11132 | try testArgs(@Vector(8, u32), @Vector(8, f16), .{ | ||
| 11133 | 1e0, 1e1, 1e2, 1e3, 1e4, next(f16, next(f16, fmax(f16), 0.0), 0.0), next(f16, fmax(f16), 0.0), 2e-5, | ||
| 11134 | }); | ||
| 11135 | try testArgs(@Vector(16, u32), @Vector(16, f16), .{ | ||
| 11136 | 2e-4, 2e-3, 2e-2, 2e-1, 2e0, 2e1, 2e2, 2e3, | ||
| 11137 | 2e4, 3e-5, 3e-4, 3e-3, 3e-2, 3e-1, 3e0, 3e1, | ||
| 11138 | }); | ||
| 11139 | try testArgs(@Vector(32, u32), @Vector(32, f16), .{ | ||
| 11140 | 3e2, 3e3, 3e4, 4e-5, 4e-4, 4e-3, 4e-2, 4e-1, | ||
| 11141 | 4e0, 4e1, 4e2, 4e3, 5e-5, 5e-4, 5e-3, 5e-2, | ||
| 11142 | 5e-1, 5e0, 5e1, 5e2, 5e3, 6e-5, 6e-4, 6e-3, | ||
| 11143 | 6e-2, 6e-1, 6e0, 6e1, 6e2, 6e3, 7e-5, 7e-4, | ||
| 11144 | }); | ||
| 11145 | try testArgs(@Vector(64, u32), @Vector(64, f16), .{ | ||
| 11146 | 7e-3, 7e-2, 7e-1, 7e0, 7e1, 7e2, 7e3, 8e-5, | ||
| 11147 | 8e-4, 8e-3, 8e-2, 8e-1, 8e0, 8e1, 8e2, 8e3, | ||
| 11148 | 9e-5, 9e-4, 9e-3, 9e-2, 9e-1, 9e0, 9e1, 9e2, | ||
| 11149 | 9e3, 11e-5, 11e-4, 11e-3, 11e-2, 11e-1, 11e0, 11e1, | ||
| 11150 | 11e2, 11e3, 13e-5, 13e-4, 13e-3, 13e-2, 13e-1, 13e0, | ||
| 11151 | 13e1, 13e2, 13e3, 14e-5, 14e-4, 14e-3, 14e-2, 14e-1, | ||
| 11152 | 14e0, 14e1, 14e2, 14e3, 15e-5, 15e-4, 15e-3, 15e-2, | ||
| 11153 | 15e-1, 15e0, 15e1, 15e2, 15e3, 16e-5, 16e-4, 16e-3, | ||
| 11154 | }); | ||
| 11155 | try testArgs(@Vector(128, u32), @Vector(128, f16), .{ | ||
| 11156 | 16e-2, 16e-1, 16e0, 16e1, 16e2, 16e3, 17e-5, 17e-4, | ||
| 11157 | 17e-3, 17e-2, 17e-1, 17e0, 17e1, 17e2, 17e3, 18e-5, | ||
| 11158 | 18e-4, 18e-3, 18e-2, 18e-1, 18e0, 18e1, 18e2, 18e3, | ||
| 11159 | 19e-5, 19e-4, 19e-3, 19e-2, 19e-1, 19e0, 19e1, 19e2, | ||
| 11160 | 19e3, 21e-5, 21e-4, 21e-3, 21e-2, 21e-1, 21e0, 21e1, | ||
| 11161 | 21e2, 21e3, 22e-5, 22e-4, 22e-3, 22e-2, 22e-1, 22e0, | ||
| 11162 | 22e1, 22e2, 22e3, 23e-5, 23e-4, 23e-3, 23e-2, 23e-1, | ||
| 11163 | 23e0, 23e1, 23e2, 23e3, 24e-5, 24e-4, 24e-3, 24e-2, | ||
| 11164 | 24e-1, 24e0, 24e1, 24e2, 24e3, 25e-5, 25e-4, 25e-3, | ||
| 11165 | 25e-2, 25e-1, 25e0, 25e1, 25e2, 25e3, 26e-5, 26e-4, | ||
| 11166 | 26e-3, 26e-2, 26e-1, 26e0, 26e1, 26e2, 26e3, 27e-5, | ||
| 11167 | 27e-4, 27e-3, 27e-2, 27e-1, 27e0, 27e1, 27e2, 27e3, | ||
| 11168 | 28e-5, 28e-4, 28e-3, 28e-2, 28e-1, 28e0, 28e1, 28e2, | ||
| 11169 | 28e3, 29e-5, 29e-4, 29e-3, 29e-2, 29e-1, 29e0, 29e1, | ||
| 11170 | 29e2, 29e3, 31e-5, 31e-4, 31e-3, 31e-2, 31e-1, 31e0, | ||
| 11171 | 31e1, 31e2, 31e3, 32e-5, 32e-4, 32e-3, 32e-2, 32e-1, | ||
| 11172 | }); | ||
| 11173 | |||
| 11174 | try testArgs(@Vector(1, i64), @Vector(1, f16), .{ | ||
| 11175 | -fmax(f16), | ||
| 11176 | }); | ||
| 11177 | try testArgs(@Vector(2, i64), @Vector(2, f16), .{ | ||
| 11178 | next(f16, -fmax(f16), -0.0), next(f16, next(f16, -fmax(f16), -0.0), -0.0), | ||
| 11179 | }); | ||
| 11180 | try testArgs(@Vector(4, i64), @Vector(4, f16), .{ | ||
| 11181 | -1e4, -1e3, -1e2, -1e1, | ||
| 11182 | }); | ||
| 11183 | try testArgs(@Vector(8, i64), @Vector(8, f16), .{ | ||
| 11184 | -1e0, -1e-1, -1e-2, -1e-3, -1e-4, -1e-5, -0.0, 0.0, | ||
| 11185 | }); | ||
| 11186 | try testArgs(@Vector(16, i64), @Vector(16, f16), .{ | ||
| 11187 | 1e-5, 1e-4, 1e-3, 1e-2, 1e-1, 1e0, 1e1, 1e2, | ||
| 11188 | 1e3, 1e4, next(f16, next(f16, fmax(f16), 0.0), 0.0), next(f16, fmax(f16), 0.0), -2e4, -2e3, -2e2, -2e1, | ||
| 11189 | }); | ||
| 11190 | try testArgs(@Vector(32, i64), @Vector(32, f16), .{ | ||
| 11191 | -2e0, -2e-1, -2e-2, -2e-3, -2e-4, -2e-5, 2e-5, 2e-4, | ||
| 11192 | 2e-3, 2e-2, 2e-1, 2e0, 2e1, 2e2, 2e3, 2e4, | ||
| 11193 | -3e4, -3e3, -3e2, -3e1, -3e0, -3e-1, -3e-2, -3e-3, | ||
| 11194 | -3e-4, -3e-5, 3e-5, 3e-4, 3e-3, 3e-2, 3e-1, 3e0, | ||
| 11195 | }); | ||
| 11196 | try testArgs(@Vector(64, i64), @Vector(64, f16), .{ | ||
| 11197 | 3e1, 3e2, 3e3, 3e4, -4e3, -4e2, -4e1, -4e0, | ||
| 11198 | -4e-1, -4e-2, -4e-3, -4e-4, -4e-5, 4e-5, 4e-4, 4e-3, | ||
| 11199 | 4e-2, 4e-1, 4e0, 4e1, 4e2, 4e3, -5e3, -5e2, | ||
| 11200 | -5e1, -5e0, -5e-1, -5e-2, -5e-3, -5e-4, -5e-5, 5e-5, | ||
| 11201 | 5e-4, 5e-3, 5e-2, 5e-1, 5e0, 5e1, 5e2, 5e3, | ||
| 11202 | -6e3, -6e2, -6e1, -6e0, -6e-1, -6e-2, -6e-3, -6e-4, | ||
| 11203 | -6e-5, 6e-5, 6e-4, 6e-3, 6e-2, 6e-1, 6e0, 6e1, | ||
| 11204 | 6e2, 6e3, -7e3, -7e2, -7e1, -7e0, -7e-1, -7e-2, | ||
| 11205 | }); | ||
| 11206 | try testArgs(@Vector(128, i64), @Vector(128, f16), .{ | ||
| 11207 | -7e-3, -7e-4, -7e-5, 7e-5, 7e-4, 7e-3, 7e-2, 7e-1, | ||
| 11208 | 7e0, 7e1, 7e2, 7e3, -8e3, -8e2, -8e1, -8e0, | ||
| 11209 | -8e-1, -8e-2, -8e-3, -8e-4, -8e-5, 8e-5, 8e-4, 8e-3, | ||
| 11210 | 8e-2, 8e-1, 8e0, 8e1, 8e2, 8e3, -9e3, -9e2, | ||
| 11211 | -9e1, -9e0, -9e-1, -9e-2, -9e-3, -9e-4, -9e-5, 9e-5, | ||
| 11212 | 9e-4, 9e-3, 9e-2, 9e-1, 9e0, 9e1, 9e2, 9e3, | ||
| 11213 | -11e3, -11e2, -11e1, -11e0, -11e-1, -11e-2, -11e-3, -11e-4, | ||
| 11214 | -11e-5, 11e-5, 11e-4, 11e-3, 11e-2, 11e-1, 11e0, 11e1, | ||
| 11215 | 11e2, 11e3, -12e3, -12e2, -12e1, -12e0, -12e-1, -12e-2, | ||
| 11216 | -12e-3, -12e-4, -12e-5, 12e-5, 12e-4, 12e-3, 12e-2, 12e-1, | ||
| 11217 | 12e0, 12e1, 12e2, 12e3, -13e3, -13e2, -13e1, -13e0, | ||
| 11218 | -13e-1, -13e-2, -13e-3, -13e-4, -13e-5, 13e-5, 13e-4, 13e-3, | ||
| 11219 | 13e-2, 13e-1, 13e0, 13e1, 13e2, -14e2, -14e1, -14e0, | ||
| 11220 | -14e-1, -14e-2, -14e-3, -14e-4, -14e-5, 14e-5, 14e-4, 14e-3, | ||
| 11221 | 14e-2, 14e-1, 14e0, 14e1, 14e2, 14e3, -15e3, -15e2, | ||
| 11222 | -15e1, -15e0, -15e-1, -15e-2, -15e-3, -15e-4, -15e-5, 15e-5, | ||
| 11223 | }); | ||
| 11224 | |||
| 11225 | try testArgs(@Vector(1, u64), @Vector(1, f16), .{ | ||
| 11226 | -0.0, | ||
| 11227 | }); | ||
| 11228 | try testArgs(@Vector(2, u64), @Vector(2, f16), .{ | ||
| 11229 | 0.0, 1e-5, | ||
| 11230 | }); | ||
| 11231 | try testArgs(@Vector(4, u64), @Vector(4, f16), .{ | ||
| 11232 | 1e-4, 1e-3, 1e-2, 1e-1, | ||
| 11233 | }); | ||
| 11234 | try testArgs(@Vector(8, u64), @Vector(8, f16), .{ | ||
| 11235 | 1e0, 1e1, 1e2, 1e3, 1e4, next(f16, next(f16, fmax(f16), 0.0), 0.0), next(f16, fmax(f16), 0.0), 2e-5, | ||
| 11236 | }); | ||
| 11237 | try testArgs(@Vector(16, u64), @Vector(16, f16), .{ | ||
| 11238 | 2e-4, 2e-3, 2e-2, 2e-1, 2e0, 2e1, 2e2, 2e3, | ||
| 11239 | 2e4, 3e-5, 3e-4, 3e-3, 3e-2, 3e-1, 3e0, 3e1, | ||
| 11240 | }); | ||
| 11241 | try testArgs(@Vector(32, u64), @Vector(32, f16), .{ | ||
| 11242 | 3e2, 3e3, 3e4, 4e-5, 4e-4, 4e-3, 4e-2, 4e-1, | ||
| 11243 | 4e0, 4e1, 4e2, 4e3, 5e-5, 5e-4, 5e-3, 5e-2, | ||
| 11244 | 5e-1, 5e0, 5e1, 5e2, 5e3, 6e-5, 6e-4, 6e-3, | ||
| 11245 | 6e-2, 6e-1, 6e0, 6e1, 6e2, 6e3, 7e-5, 7e-4, | ||
| 11246 | }); | ||
| 11247 | try testArgs(@Vector(64, u64), @Vector(64, f16), .{ | ||
| 11248 | 7e-3, 7e-2, 7e-1, 7e0, 7e1, 7e2, 7e3, 8e-5, | ||
| 11249 | 8e-4, 8e-3, 8e-2, 8e-1, 8e0, 8e1, 8e2, 8e3, | ||
| 11250 | 9e-5, 9e-4, 9e-3, 9e-2, 9e-1, 9e0, 9e1, 9e2, | ||
| 11251 | 9e3, 11e-5, 11e-4, 11e-3, 11e-2, 11e-1, 11e0, 11e1, | ||
| 11252 | 11e2, 11e3, 13e-5, 13e-4, 13e-3, 13e-2, 13e-1, 13e0, | ||
| 11253 | 13e1, 13e2, 13e3, 14e-5, 14e-4, 14e-3, 14e-2, 14e-1, | ||
| 11254 | 14e0, 14e1, 14e2, 14e3, 15e-5, 15e-4, 15e-3, 15e-2, | ||
| 11255 | 15e-1, 15e0, 15e1, 15e2, 15e3, 16e-5, 16e-4, 16e-3, | ||
| 11256 | }); | ||
| 11257 | try testArgs(@Vector(128, u64), @Vector(128, f16), .{ | ||
| 11258 | 16e-2, 16e-1, 16e0, 16e1, 16e2, 16e3, 17e-5, 17e-4, | ||
| 11259 | 17e-3, 17e-2, 17e-1, 17e0, 17e1, 17e2, 17e3, 18e-5, | ||
| 11260 | 18e-4, 18e-3, 18e-2, 18e-1, 18e0, 18e1, 18e2, 18e3, | ||
| 11261 | 19e-5, 19e-4, 19e-3, 19e-2, 19e-1, 19e0, 19e1, 19e2, | ||
| 11262 | 19e3, 21e-5, 21e-4, 21e-3, 21e-2, 21e-1, 21e0, 21e1, | ||
| 11263 | 21e2, 21e3, 22e-5, 22e-4, 22e-3, 22e-2, 22e-1, 22e0, | ||
| 11264 | 22e1, 22e2, 22e3, 23e-5, 23e-4, 23e-3, 23e-2, 23e-1, | ||
| 11265 | 23e0, 23e1, 23e2, 23e3, 24e-5, 24e-4, 24e-3, 24e-2, | ||
| 11266 | 24e-1, 24e0, 24e1, 24e2, 24e3, 25e-5, 25e-4, 25e-3, | ||
| 11267 | 25e-2, 25e-1, 25e0, 25e1, 25e2, 25e3, 26e-5, 26e-4, | ||
| 11268 | 26e-3, 26e-2, 26e-1, 26e0, 26e1, 26e2, 26e3, 27e-5, | ||
| 11269 | 27e-4, 27e-3, 27e-2, 27e-1, 27e0, 27e1, 27e2, 27e3, | ||
| 11270 | 28e-5, 28e-4, 28e-3, 28e-2, 28e-1, 28e0, 28e1, 28e2, | ||
| 11271 | 28e3, 29e-5, 29e-4, 29e-3, 29e-2, 29e-1, 29e0, 29e1, | ||
| 11272 | 29e2, 29e3, 31e-5, 31e-4, 31e-3, 31e-2, 31e-1, 31e0, | ||
| 11273 | 31e1, 31e2, 31e3, 32e-5, 32e-4, 32e-3, 32e-2, 32e-1, | ||
| 11274 | }); | ||
| 11275 | |||
| 11276 | try testArgs(@Vector(1, i128), @Vector(1, f16), .{ | ||
| 11277 | -fmax(f16), | ||
| 11278 | }); | ||
| 11279 | try testArgs(@Vector(2, i128), @Vector(2, f16), .{ | ||
| 11280 | next(f16, -fmax(f16), -0.0), next(f16, next(f16, -fmax(f16), -0.0), -0.0), | ||
| 11281 | }); | ||
| 11282 | try testArgs(@Vector(4, i128), @Vector(4, f16), .{ | ||
| 11283 | -1e4, -1e3, -1e2, -1e1, | ||
| 11284 | }); | ||
| 11285 | try testArgs(@Vector(8, i128), @Vector(8, f16), .{ | ||
| 11286 | -1e0, -1e-1, -1e-2, -1e-3, -1e-4, -1e-5, -0.0, 0.0, | ||
| 11287 | }); | ||
| 11288 | try testArgs(@Vector(16, i128), @Vector(16, f16), .{ | ||
| 11289 | 1e-5, 1e-4, 1e-3, 1e-2, 1e-1, 1e0, 1e1, 1e2, | ||
| 11290 | 1e3, 1e4, next(f16, next(f16, fmax(f16), 0.0), 0.0), next(f16, fmax(f16), 0.0), -2e4, -2e3, -2e2, -2e1, | ||
| 11291 | }); | ||
| 11292 | try testArgs(@Vector(32, i128), @Vector(32, f16), .{ | ||
| 11293 | -2e0, -2e-1, -2e-2, -2e-3, -2e-4, -2e-5, 2e-5, 2e-4, | ||
| 11294 | 2e-3, 2e-2, 2e-1, 2e0, 2e1, 2e2, 2e3, 2e4, | ||
| 11295 | -3e4, -3e3, -3e2, -3e1, -3e0, -3e-1, -3e-2, -3e-3, | ||
| 11296 | -3e-4, -3e-5, 3e-5, 3e-4, 3e-3, 3e-2, 3e-1, 3e0, | ||
| 11297 | }); | ||
| 11298 | try testArgs(@Vector(64, i128), @Vector(64, f16), .{ | ||
| 11299 | 3e1, 3e2, 3e3, 3e4, -4e3, -4e2, -4e1, -4e0, | ||
| 11300 | -4e-1, -4e-2, -4e-3, -4e-4, -4e-5, 4e-5, 4e-4, 4e-3, | ||
| 11301 | 4e-2, 4e-1, 4e0, 4e1, 4e2, 4e3, -5e3, -5e2, | ||
| 11302 | -5e1, -5e0, -5e-1, -5e-2, -5e-3, -5e-4, -5e-5, 5e-5, | ||
| 11303 | 5e-4, 5e-3, 5e-2, 5e-1, 5e0, 5e1, 5e2, 5e3, | ||
| 11304 | -6e3, -6e2, -6e1, -6e0, -6e-1, -6e-2, -6e-3, -6e-4, | ||
| 11305 | -6e-5, 6e-5, 6e-4, 6e-3, 6e-2, 6e-1, 6e0, 6e1, | ||
| 11306 | 6e2, 6e3, -7e3, -7e2, -7e1, -7e0, -7e-1, -7e-2, | ||
| 11307 | }); | ||
| 11308 | |||
| 11309 | try testArgs(@Vector(1, u128), @Vector(1, f16), .{ | ||
| 11310 | -0.0, | ||
| 11311 | }); | ||
| 11312 | try testArgs(@Vector(2, u128), @Vector(2, f16), .{ | ||
| 11313 | 0.0, 1e-5, | ||
| 11314 | }); | ||
| 11315 | try testArgs(@Vector(4, u128), @Vector(4, f16), .{ | ||
| 11316 | 1e-4, 1e-3, 1e-2, 1e-1, | ||
| 11317 | }); | ||
| 11318 | try testArgs(@Vector(8, u128), @Vector(8, f16), .{ | ||
| 11319 | 1e0, 1e1, 1e2, 1e3, 1e4, next(f16, next(f16, fmax(f16), 0.0), 0.0), next(f16, fmax(f16), 0.0), 2e-5, | ||
| 11320 | }); | ||
| 11321 | try testArgs(@Vector(16, u128), @Vector(16, f16), .{ | ||
| 11322 | 2e-4, 2e-3, 2e-2, 2e-1, 2e0, 2e1, 2e2, 2e3, | ||
| 11323 | 2e4, 3e-5, 3e-4, 3e-3, 3e-2, 3e-1, 3e0, 3e1, | ||
| 11324 | }); | ||
| 11325 | try testArgs(@Vector(32, u128), @Vector(32, f16), .{ | ||
| 11326 | 3e2, 3e3, 3e4, 4e-5, 4e-4, 4e-3, 4e-2, 4e-1, | ||
| 11327 | 4e0, 4e1, 4e2, 4e3, 5e-5, 5e-4, 5e-3, 5e-2, | ||
| 11328 | 5e-1, 5e0, 5e1, 5e2, 5e3, 6e-5, 6e-4, 6e-3, | ||
| 11329 | 6e-2, 6e-1, 6e0, 6e1, 6e2, 6e3, 7e-5, 7e-4, | ||
| 11330 | }); | ||
| 11331 | try testArgs(@Vector(64, u128), @Vector(64, f16), .{ | ||
| 11332 | 7e-3, 7e-2, 7e-1, 7e0, 7e1, 7e2, 7e3, 8e-5, | ||
| 11333 | 8e-4, 8e-3, 8e-2, 8e-1, 8e0, 8e1, 8e2, 8e3, | ||
| 11334 | 9e-5, 9e-4, 9e-3, 9e-2, 9e-1, 9e0, 9e1, 9e2, | ||
| 11335 | 9e3, 11e-5, 11e-4, 11e-3, 11e-2, 11e-1, 11e0, 11e1, | ||
| 11336 | 11e2, 11e3, 13e-5, 13e-4, 13e-3, 13e-2, 13e-1, 13e0, | ||
| 11337 | 13e1, 13e2, 13e3, 14e-5, 14e-4, 14e-3, 14e-2, 14e-1, | ||
| 11338 | 14e0, 14e1, 14e2, 14e3, 15e-5, 15e-4, 15e-3, 15e-2, | ||
| 11339 | 15e-1, 15e0, 15e1, 15e2, 15e3, 16e-5, 16e-4, 16e-3, | ||
| 11340 | }); | ||
| 11341 | |||
| 11342 | try testArgs(@Vector(1, i256), @Vector(1, f16), .{ | ||
| 11343 | -fmax(f16), | ||
| 11344 | }); | ||
| 11345 | try testArgs(@Vector(2, i256), @Vector(2, f16), .{ | ||
| 11346 | next(f16, -fmax(f16), -0.0), next(f16, next(f16, -fmax(f16), -0.0), -0.0), | ||
| 11347 | }); | ||
| 11348 | try testArgs(@Vector(4, i256), @Vector(4, f16), .{ | ||
| 11349 | -1e4, -1e3, -1e2, -1e1, | ||
| 11350 | }); | ||
| 11351 | try testArgs(@Vector(8, i256), @Vector(8, f16), .{ | ||
| 11352 | -1e0, -1e-1, -1e-2, -1e-3, -1e-4, -1e-5, -0.0, 0.0, | ||
| 11353 | }); | ||
| 11354 | try testArgs(@Vector(16, i256), @Vector(16, f16), .{ | ||
| 11355 | 1e-5, 1e-4, 1e-3, 1e-2, 1e-1, 1e0, 1e1, 1e2, | ||
| 11356 | 1e3, 1e4, next(f16, next(f16, fmax(f16), 0.0), 0.0), next(f16, fmax(f16), 0.0), -2e4, -2e3, -2e2, -2e1, | ||
| 11357 | }); | ||
| 11358 | try testArgs(@Vector(32, i256), @Vector(32, f16), .{ | ||
| 11359 | -2e0, -2e-1, -2e-2, -2e-3, -2e-4, -2e-5, 2e-5, 2e-4, | ||
| 11360 | 2e-3, 2e-2, 2e-1, 2e0, 2e1, 2e2, 2e3, 2e4, | ||
| 11361 | -3e4, -3e3, -3e2, -3e1, -3e0, -3e-1, -3e-2, -3e-3, | ||
| 11362 | -3e-4, -3e-5, 3e-5, 3e-4, 3e-3, 3e-2, 3e-1, 3e0, | ||
| 11363 | }); | ||
| 11364 | try testArgs(@Vector(64, i256), @Vector(64, f16), .{ | ||
| 11365 | 3e1, 3e2, 3e3, 3e4, -4e3, -4e2, -4e1, -4e0, | ||
| 11366 | -4e-1, -4e-2, -4e-3, -4e-4, -4e-5, 4e-5, 4e-4, 4e-3, | ||
| 11367 | 4e-2, 4e-1, 4e0, 4e1, 4e2, 4e3, -5e3, -5e2, | ||
| 11368 | -5e1, -5e0, -5e-1, -5e-2, -5e-3, -5e-4, -5e-5, 5e-5, | ||
| 11369 | 5e-4, 5e-3, 5e-2, 5e-1, 5e0, 5e1, 5e2, 5e3, | ||
| 11370 | -6e3, -6e2, -6e1, -6e0, -6e-1, -6e-2, -6e-3, -6e-4, | ||
| 11371 | -6e-5, 6e-5, 6e-4, 6e-3, 6e-2, 6e-1, 6e0, 6e1, | ||
| 11372 | 6e2, 6e3, -7e3, -7e2, -7e1, -7e0, -7e-1, -7e-2, | ||
| 11373 | }); | ||
| 11374 | |||
| 11375 | try testArgs(@Vector(1, u256), @Vector(1, f16), .{ | ||
| 11376 | -0.0, | ||
| 11377 | }); | ||
| 11378 | try testArgs(@Vector(2, u256), @Vector(2, f16), .{ | ||
| 11379 | 0.0, 1e-5, | ||
| 11380 | }); | ||
| 11381 | try testArgs(@Vector(4, u256), @Vector(4, f16), .{ | ||
| 11382 | 1e-4, 1e-3, 1e-2, 1e-1, | ||
| 11383 | }); | ||
| 11384 | try testArgs(@Vector(8, u256), @Vector(8, f16), .{ | ||
| 11385 | 1e0, 1e1, 1e2, 1e3, 1e4, next(f16, next(f16, fmax(f16), 0.0), 0.0), next(f16, fmax(f16), 0.0), 2e-5, | ||
| 11386 | }); | ||
| 11387 | try testArgs(@Vector(16, u256), @Vector(16, f16), .{ | ||
| 11388 | 2e-4, 2e-3, 2e-2, 2e-1, 2e0, 2e1, 2e2, 2e3, | ||
| 11389 | 2e4, 3e-5, 3e-4, 3e-3, 3e-2, 3e-1, 3e0, 3e1, | ||
| 11390 | }); | ||
| 11391 | try testArgs(@Vector(32, u256), @Vector(32, f16), .{ | ||
| 11392 | 3e2, 3e3, 3e4, 4e-5, 4e-4, 4e-3, 4e-2, 4e-1, | ||
| 11393 | 4e0, 4e1, 4e2, 4e3, 5e-5, 5e-4, 5e-3, 5e-2, | ||
| 11394 | 5e-1, 5e0, 5e1, 5e2, 5e3, 6e-5, 6e-4, 6e-3, | ||
| 11395 | 6e-2, 6e-1, 6e0, 6e1, 6e2, 6e3, 7e-5, 7e-4, | ||
| 11396 | }); | ||
| 11397 | try testArgs(@Vector(64, u256), @Vector(64, f16), .{ | ||
| 11398 | 7e-3, 7e-2, 7e-1, 7e0, 7e1, 7e2, 7e3, 8e-5, | ||
| 11399 | 8e-4, 8e-3, 8e-2, 8e-1, 8e0, 8e1, 8e2, 8e3, | ||
| 11400 | 9e-5, 9e-4, 9e-3, 9e-2, 9e-1, 9e0, 9e1, 9e2, | ||
| 11401 | 9e3, 11e-5, 11e-4, 11e-3, 11e-2, 11e-1, 11e0, 11e1, | ||
| 11402 | 11e2, 11e3, 13e-5, 13e-4, 13e-3, 13e-2, 13e-1, 13e0, | ||
| 11403 | 13e1, 13e2, 13e3, 14e-5, 14e-4, 14e-3, 14e-2, 14e-1, | ||
| 11404 | 14e0, 14e1, 14e2, 14e3, 15e-5, 15e-4, 15e-3, 15e-2, | ||
| 11405 | 15e-1, 15e0, 15e1, 15e2, 15e3, 16e-5, 16e-4, 16e-3, | ||
| 11406 | }); | ||
| 11407 | |||
| 11408 | try testArgs(@Vector(1, i8), @Vector(1, f32), .{ | ||
| 11409 | -0x0.8p8, | ||
| 11410 | }); | ||
| 11411 | try testArgs(@Vector(2, i8), @Vector(2, f32), .{ | ||
| 11412 | next(f32, -0x0.8p8, -0.0), next(f32, next(f32, -0x0.8p8, -0.0), -0.0), | ||
| 11413 | }); | ||
| 11414 | try testArgs(@Vector(4, i8), @Vector(4, f32), .{ | ||
| 11415 | -1e2, -1e1, -1e0, -1e-1, | ||
| 11416 | }); | ||
| 11417 | try testArgs(@Vector(8, i8), @Vector(8, f32), .{ | ||
| 11418 | -1e-2, -1e-3, -1e-4, -1e-5, -0.0, 0.0, 1e-5, 1e-4, | ||
| 11419 | }); | ||
| 11420 | try testArgs(@Vector(16, i8), @Vector(16, f32), .{ | ||
| 11421 | 1e-3, 1e-2, 1e-1, 1e0, 1e1, 1e2, next(f32, next(f32, 0x0.8p8, 0.0), 0.0), next(f32, 0x0.8p8, 0.0), | ||
| 11422 | -2e1, -2e0, -2e-1, -2e-2, -2e-3, -2e-4, -2e-5, 2e-5, | ||
| 11423 | }); | ||
| 11424 | try testArgs(@Vector(32, i8), @Vector(32, f32), .{ | ||
| 11425 | 2e-4, 2e-3, 2e-2, 2e-1, 2e0, 2e1, -3e1, -3e0, | ||
| 11426 | -3e-1, -3e-2, -3e-3, -3e-4, -3e-5, 3e-5, 3e-4, 3e-3, | ||
| 11427 | 3e-2, 3e-1, 3e0, 3e1, -4e1, -4e0, -4e-1, -4e-2, | ||
| 11428 | -4e-3, -4e-4, -4e-5, 4e-5, 4e-4, 4e-3, 4e-2, 4e-1, | ||
| 11429 | }); | ||
| 11430 | try testArgs(@Vector(64, i8), @Vector(64, f32), .{ | ||
| 11431 | 4e0, 4e1, -5e1, -5e0, -5e-1, -5e-2, -5e-3, -5e-4, | ||
| 11432 | -5e-5, 5e-5, 5e-4, 5e-3, 5e-2, 5e-1, 5e0, 5e1, | ||
| 11433 | -6e1, -6e0, -6e-1, -6e-2, -6e-3, -6e-4, -6e-5, 6e-5, | ||
| 11434 | 6e-4, 6e-3, 6e-2, 6e-1, 6e0, 6e1, -7e1, -7e0, | ||
| 11435 | -7e-1, -7e-2, -7e-3, -7e-4, -7e-5, 7e-5, 7e-4, 7e-3, | ||
| 11436 | 7e-2, 7e-1, 7e0, 7e1, -8e1, -8e0, -8e-1, -8e-2, | ||
| 11437 | -8e-3, -8e-4, -8e-5, 8e-5, 8e-4, 8e-3, 8e-2, 8e-1, | ||
| 11438 | 8e0, 8e1, -9e1, -9e0, -9e-1, -9e-2, -9e-3, -9e-4, | ||
| 11439 | }); | ||
| 11440 | try testArgs(@Vector(128, i8), @Vector(128, f32), .{ | ||
| 11441 | -9e-5, 9e-5, 9e-4, 9e-3, 9e-2, 9e-1, 9e0, 9e1, | ||
| 11442 | -11e1, -11e0, -11e-1, -11e-2, -11e-3, -11e-4, -11e-5, 11e-5, | ||
| 11443 | 11e-4, 11e-3, 11e-2, 11e-1, 11e0, 11e1, -12e1, -12e0, | ||
| 11444 | -12e-1, -12e-2, -12e-3, -12e-4, -12e-5, 12e-5, 12e-4, 12e-3, | ||
| 11445 | 12e-2, 12e-1, 12e0, 12e1, -13e0, -13e-1, -13e-2, -13e-3, | ||
| 11446 | -13e-4, -13e-5, 13e-5, 13e-4, 13e-3, 13e-2, 13e-1, 13e0, | ||
| 11447 | -14e0, -14e-1, -14e-2, -14e-3, -14e-4, -14e-5, 14e-5, 14e-4, | ||
| 11448 | 14e-3, 14e-2, 14e-1, 14e0, -15e0, -15e-1, -15e-2, -15e-3, | ||
| 11449 | -15e-4, -15e-5, 15e-5, 15e-4, 15e-3, 15e-2, 15e-1, 15e0, | ||
| 11450 | -16e0, -16e-1, -16e-2, -16e-3, -16e-4, -16e-5, 16e-5, 16e-4, | ||
| 11451 | 16e-3, 16e-2, 16e-1, 16e0, -17e0, -17e-1, -17e-2, -17e-3, | ||
| 11452 | -17e-4, -17e-5, 17e-5, 17e-4, 17e-3, 17e-2, 17e-1, 17e0, | ||
| 11453 | -18e0, -18e-1, -18e-2, -18e-3, -18e-4, -18e-5, 18e-5, 18e-4, | ||
| 11454 | 18e-3, 18e-2, 18e-1, 18e0, -19e0, -19e-1, -19e-2, -19e-3, | ||
| 11455 | -19e-4, -19e-5, 19e-5, 19e-4, 19e-3, 19e-2, 19e-1, 19e0, | ||
| 11456 | -21e0, -21e-1, -21e-2, -21e-3, -21e-4, -21e-5, 21e-5, 21e-4, | ||
| 11457 | }); | ||
| 11458 | |||
| 11459 | try testArgs(@Vector(1, u8), @Vector(1, f32), .{ | ||
| 11460 | -0.0, | ||
| 11461 | }); | ||
| 11462 | try testArgs(@Vector(2, u8), @Vector(2, f32), .{ | ||
| 11463 | 0.0, 1e-5, | ||
| 11464 | }); | ||
| 11465 | try testArgs(@Vector(4, u8), @Vector(4, f32), .{ | ||
| 11466 | 1e-4, 1e-3, 1e-2, 1e-1, | ||
| 11467 | }); | ||
| 11468 | try testArgs(@Vector(8, u8), @Vector(8, f32), .{ | ||
| 11469 | 1e0, 1e1, 1e2, next(f32, next(f32, 0x1p8, 0.0), 0.0), next(f32, 0x1p8, 0.0), 2e-5, 2e-4, 2e-3, | ||
| 11470 | }); | ||
| 11471 | try testArgs(@Vector(16, u8), @Vector(16, f32), .{ | ||
| 11472 | 2e-2, 2e-1, 2e0, 2e1, 2e2, 3e-5, 3e-4, 3e-3, | ||
| 11473 | 3e-2, 3e-1, 3e0, 3e1, 4e-5, 4e-4, 4e-3, 4e-2, | ||
| 11474 | }); | ||
| 11475 | try testArgs(@Vector(32, u8), @Vector(32, f32), .{ | ||
| 11476 | 4e-1, 4e0, 4e1, 5e-5, 5e-4, 5e-3, 5e-2, 5e-1, | ||
| 11477 | 5e0, 5e1, 6e-5, 6e-4, 6e-3, 6e-2, 6e-1, 6e0, | ||
| 11478 | 6e1, 7e-5, 7e-4, 7e-3, 7e-2, 7e-1, 7e0, 7e1, | ||
| 11479 | 8e-5, 8e-4, 8e-3, 8e-2, 8e-1, 8e0, 8e1, 9e-5, | ||
| 11480 | }); | ||
| 11481 | try testArgs(@Vector(64, u8), @Vector(64, f32), .{ | ||
| 11482 | 9e-4, 9e-3, 9e-2, 9e-1, 9e0, 9e1, 11e-5, 11e-4, | ||
| 11483 | 11e-3, 11e-2, 11e-1, 11e0, 11e1, 13e-5, 13e-4, 13e-3, | ||
| 11484 | 13e-2, 13e-1, 13e0, 14e-5, 14e-4, 14e-3, 14e-2, 14e-1, | ||
| 11485 | 14e0, 14e1, 15e-5, 15e-4, 15e-3, 15e-2, 15e-1, 15e0, | ||
| 11486 | 15e1, 16e-5, 16e-4, 16e-3, 16e-2, 16e-1, 16e0, 16e1, | ||
| 11487 | 17e-5, 17e-4, 17e-3, 17e-2, 17e-1, 17e0, 17e1, 18e-5, | ||
| 11488 | 18e-4, 18e-3, 18e-2, 18e-1, 18e0, 18e1, 19e-5, 19e-4, | ||
| 11489 | 19e-3, 19e-2, 19e-1, 19e0, 19e1, 21e-5, 21e-4, 21e-3, | ||
| 11490 | }); | ||
| 11491 | try testArgs(@Vector(128, u8), @Vector(128, f32), .{ | ||
| 11492 | 21e-2, 21e-1, 21e0, 21e1, 22e-5, 22e-4, 22e-3, 22e-2, | ||
| 11493 | 22e-1, 22e0, 22e1, 23e-5, 23e-4, 23e-3, 23e-2, 23e-1, | ||
| 11494 | 23e0, 23e1, 24e-5, 24e-4, 24e-3, 24e-2, 24e-1, 24e0, | ||
| 11495 | 24e1, 25e-5, 25e-4, 25e-3, 25e-2, 25e-1, 25e0, 25e1, | ||
| 11496 | 26e-5, 26e-4, 26e-3, 26e-2, 26e-1, 26e0, 27e-5, 27e-4, | ||
| 11497 | 27e-3, 27e-2, 27e-1, 27e0, 28e-5, 28e-4, 28e-3, 28e-2, | ||
| 11498 | 28e-1, 28e0, 29e-5, 29e-4, 29e-3, 29e-2, 29e-1, 29e0, | ||
| 11499 | 31e-5, 31e-4, 31e-3, 31e-2, 31e-1, 31e0, 32e-5, 32e-4, | ||
| 11500 | 32e-3, 32e-2, 32e-1, 32e0, 33e-5, 33e-4, 33e-3, 33e-2, | ||
| 11501 | 33e-1, 33e0, 34e-5, 34e-4, 34e-3, 34e-2, 34e-1, 34e0, | ||
| 11502 | 35e-5, 35e-4, 35e-3, 35e-2, 35e-1, 35e0, 36e-5, 36e-4, | ||
| 11503 | 36e-3, 36e-2, 36e-1, 36e0, 37e-5, 37e-4, 37e-3, 37e-2, | ||
| 11504 | 37e-1, 37e0, 38e-5, 38e-4, 38e-3, 38e-2, 38e-1, 38e0, | ||
| 11505 | 39e-5, 39e-4, 39e-3, 39e-2, 39e-1, 39e0, 41e-5, 41e-4, | ||
| 11506 | 41e-3, 41e-2, 41e-1, 41e0, 42e-5, 42e-4, 42e-3, 42e-2, | ||
| 11507 | 42e-1, 42e0, 43e-5, 43e-4, 43e-3, 43e-2, 43e-1, 43e0, | ||
| 11508 | }); | ||
| 11509 | |||
| 11510 | try testArgs(@Vector(1, i16), @Vector(1, f32), .{ | ||
| 11511 | -0x0.8p16, | ||
| 11512 | }); | ||
| 11513 | try testArgs(@Vector(2, i16), @Vector(2, f32), .{ | ||
| 11514 | next(f32, -0x0.8p16, -0.0), next(f32, next(f32, -0x0.8p16, -0.0), -0.0), | ||
| 11515 | }); | ||
| 11516 | try testArgs(@Vector(4, i16), @Vector(4, f32), .{ | ||
| 11517 | -1e4, -1e3, -1e2, -1e1, | ||
| 11518 | }); | ||
| 11519 | try testArgs(@Vector(8, i16), @Vector(8, f32), .{ | ||
| 11520 | -1e0, -1e-1, -1e-2, -1e-3, -1e-4, -1e-5, -0.0, 0.0, | ||
| 11521 | }); | ||
| 11522 | try testArgs(@Vector(16, i16), @Vector(16, f32), .{ | ||
| 11523 | 1e-5, 1e-4, 1e-3, 1e-2, 1e-1, 1e0, 1e1, 1e2, | ||
| 11524 | 1e3, 1e4, next(f32, next(f32, 0x0.8p16, 0.0), 0.0), next(f32, 0x0.8p16, 0.0), -2e4, -2e3, -2e2, -2e1, | ||
| 11525 | }); | ||
| 11526 | try testArgs(@Vector(32, i16), @Vector(32, f32), .{ | ||
| 11527 | -2e0, -2e-1, -2e-2, -2e-3, -2e-4, -2e-5, 2e-5, 2e-4, | ||
| 11528 | 2e-3, 2e-2, 2e-1, 2e0, 2e1, 2e2, 2e3, 2e4, | ||
| 11529 | -3e4, -3e3, -3e2, -3e1, -3e0, -3e-1, -3e-2, -3e-3, | ||
| 11530 | -3e-4, -3e-5, 3e-5, 3e-4, 3e-3, 3e-2, 3e-1, 3e0, | ||
| 11531 | }); | ||
| 11532 | try testArgs(@Vector(64, i16), @Vector(64, f32), .{ | ||
| 11533 | 3e1, 3e2, 3e3, 3e4, -4e3, -4e2, -4e1, -4e0, | ||
| 11534 | -4e-1, -4e-2, -4e-3, -4e-4, -4e-5, 4e-5, 4e-4, 4e-3, | ||
| 11535 | 4e-2, 4e-1, 4e0, 4e1, 4e2, 4e3, -5e3, -5e2, | ||
| 11536 | -5e1, -5e0, -5e-1, -5e-2, -5e-3, -5e-4, -5e-5, 5e-5, | ||
| 11537 | 5e-4, 5e-3, 5e-2, 5e-1, 5e0, 5e1, 5e2, 5e3, | ||
| 11538 | -6e3, -6e2, -6e1, -6e0, -6e-1, -6e-2, -6e-3, -6e-4, | ||
| 11539 | -6e-5, 6e-5, 6e-4, 6e-3, 6e-2, 6e-1, 6e0, 6e1, | ||
| 11540 | 6e2, 6e3, -7e3, -7e2, -7e1, -7e0, -7e-1, -7e-2, | ||
| 11541 | }); | ||
| 11542 | try testArgs(@Vector(128, i16), @Vector(128, f32), .{ | ||
| 11543 | -7e-3, -7e-4, -7e-5, 7e-5, 7e-4, 7e-3, 7e-2, 7e-1, | ||
| 11544 | 7e0, 7e1, 7e2, 7e3, -8e3, -8e2, -8e1, -8e0, | ||
| 11545 | -8e-1, -8e-2, -8e-3, -8e-4, -8e-5, 8e-5, 8e-4, 8e-3, | ||
| 11546 | 8e-2, 8e-1, 8e0, 8e1, 8e2, 8e3, -9e3, -9e2, | ||
| 11547 | -9e1, -9e0, -9e-1, -9e-2, -9e-3, -9e-4, -9e-5, 9e-5, | ||
| 11548 | 9e-4, 9e-3, 9e-2, 9e-1, 9e0, 9e1, 9e2, 9e3, | ||
| 11549 | -11e3, -11e2, -11e1, -11e0, -11e-1, -11e-2, -11e-3, -11e-4, | ||
| 11550 | -11e-5, 11e-5, 11e-4, 11e-3, 11e-2, 11e-1, 11e0, 11e1, | ||
| 11551 | 11e2, 11e3, -12e3, -12e2, -12e1, -12e0, -12e-1, -12e-2, | ||
| 11552 | -12e-3, -12e-4, -12e-5, 12e-5, 12e-4, 12e-3, 12e-2, 12e-1, | ||
| 11553 | 12e0, 12e1, 12e2, 12e3, -13e3, -13e2, -13e1, -13e0, | ||
| 11554 | -13e-1, -13e-2, -13e-3, -13e-4, -13e-5, 13e-5, 13e-4, 13e-3, | ||
| 11555 | 13e-2, 13e-1, 13e0, 13e1, 13e2, -14e2, -14e1, -14e0, | ||
| 11556 | -14e-1, -14e-2, -14e-3, -14e-4, -14e-5, 14e-5, 14e-4, 14e-3, | ||
| 11557 | 14e-2, 14e-1, 14e0, 14e1, 14e2, 14e3, -15e3, -15e2, | ||
| 11558 | -15e1, -15e0, -15e-1, -15e-2, -15e-3, -15e-4, -15e-5, 15e-5, | ||
| 11559 | }); | ||
| 11560 | |||
| 11561 | try testArgs(@Vector(1, u16), @Vector(1, f32), .{ | ||
| 11562 | -0.0, | ||
| 11563 | }); | ||
| 11564 | try testArgs(@Vector(2, u16), @Vector(2, f32), .{ | ||
| 11565 | 0.0, 1e-5, | ||
| 11566 | }); | ||
| 11567 | try testArgs(@Vector(4, u16), @Vector(4, f32), .{ | ||
| 11568 | 1e-4, 1e-3, 1e-2, 1e-1, | ||
| 11569 | }); | ||
| 11570 | try testArgs(@Vector(8, u16), @Vector(8, f32), .{ | ||
| 11571 | 1e0, 1e1, 1e2, 1e3, 1e4, next(f32, next(f32, 0x1p16, 0.0), 0.0), next(f32, 0x1p16, 0.0), 2e-5, | ||
| 11572 | }); | ||
| 11573 | try testArgs(@Vector(16, u16), @Vector(16, f32), .{ | ||
| 11574 | 2e-4, 2e-3, 2e-2, 2e-1, 2e0, 2e1, 2e2, 2e3, | ||
| 11575 | 2e4, 3e-5, 3e-4, 3e-3, 3e-2, 3e-1, 3e0, 3e1, | ||
| 11576 | }); | ||
| 11577 | try testArgs(@Vector(32, u16), @Vector(32, f32), .{ | ||
| 11578 | 3e2, 3e3, 3e4, 4e-5, 4e-4, 4e-3, 4e-2, 4e-1, | ||
| 11579 | 4e0, 4e1, 4e2, 4e3, 5e-5, 5e-4, 5e-3, 5e-2, | ||
| 11580 | 5e-1, 5e0, 5e1, 5e2, 5e3, 6e-5, 6e-4, 6e-3, | ||
| 11581 | 6e-2, 6e-1, 6e0, 6e1, 6e2, 6e3, 7e-5, 7e-4, | ||
| 11582 | }); | ||
| 11583 | try testArgs(@Vector(64, u16), @Vector(64, f32), .{ | ||
| 11584 | 7e-3, 7e-2, 7e-1, 7e0, 7e1, 7e2, 7e3, 8e-5, | ||
| 11585 | 8e-4, 8e-3, 8e-2, 8e-1, 8e0, 8e1, 8e2, 8e3, | ||
| 11586 | 9e-5, 9e-4, 9e-3, 9e-2, 9e-1, 9e0, 9e1, 9e2, | ||
| 11587 | 9e3, 11e-5, 11e-4, 11e-3, 11e-2, 11e-1, 11e0, 11e1, | ||
| 11588 | 11e2, 11e3, 13e-5, 13e-4, 13e-3, 13e-2, 13e-1, 13e0, | ||
| 11589 | 13e1, 13e2, 13e3, 14e-5, 14e-4, 14e-3, 14e-2, 14e-1, | ||
| 11590 | 14e0, 14e1, 14e2, 14e3, 15e-5, 15e-4, 15e-3, 15e-2, | ||
| 11591 | 15e-1, 15e0, 15e1, 15e2, 15e3, 16e-5, 16e-4, 16e-3, | ||
| 11592 | }); | ||
| 11593 | try testArgs(@Vector(128, u16), @Vector(128, f32), .{ | ||
| 11594 | 16e-2, 16e-1, 16e0, 16e1, 16e2, 16e3, 17e-5, 17e-4, | ||
| 11595 | 17e-3, 17e-2, 17e-1, 17e0, 17e1, 17e2, 17e3, 18e-5, | ||
| 11596 | 18e-4, 18e-3, 18e-2, 18e-1, 18e0, 18e1, 18e2, 18e3, | ||
| 11597 | 19e-5, 19e-4, 19e-3, 19e-2, 19e-1, 19e0, 19e1, 19e2, | ||
| 11598 | 19e3, 21e-5, 21e-4, 21e-3, 21e-2, 21e-1, 21e0, 21e1, | ||
| 11599 | 21e2, 21e3, 22e-5, 22e-4, 22e-3, 22e-2, 22e-1, 22e0, | ||
| 11600 | 22e1, 22e2, 22e3, 23e-5, 23e-4, 23e-3, 23e-2, 23e-1, | ||
| 11601 | 23e0, 23e1, 23e2, 23e3, 24e-5, 24e-4, 24e-3, 24e-2, | ||
| 11602 | 24e-1, 24e0, 24e1, 24e2, 24e3, 25e-5, 25e-4, 25e-3, | ||
| 11603 | 25e-2, 25e-1, 25e0, 25e1, 25e2, 25e3, 26e-5, 26e-4, | ||
| 11604 | 26e-3, 26e-2, 26e-1, 26e0, 26e1, 26e2, 26e3, 27e-5, | ||
| 11605 | 27e-4, 27e-3, 27e-2, 27e-1, 27e0, 27e1, 27e2, 27e3, | ||
| 11606 | 28e-5, 28e-4, 28e-3, 28e-2, 28e-1, 28e0, 28e1, 28e2, | ||
| 11607 | 28e3, 29e-5, 29e-4, 29e-3, 29e-2, 29e-1, 29e0, 29e1, | ||
| 11608 | 29e2, 29e3, 31e-5, 31e-4, 31e-3, 31e-2, 31e-1, 31e0, | ||
| 11609 | 31e1, 31e2, 31e3, 32e-5, 32e-4, 32e-3, 32e-2, 32e-1, | ||
| 11610 | }); | ||
| 11611 | |||
| 11612 | try testArgs(@Vector(1, i32), @Vector(1, f32), .{ | ||
| 11613 | -0x0.8p32, | ||
| 11614 | }); | ||
| 11615 | try testArgs(@Vector(2, i32), @Vector(2, f32), .{ | ||
| 11616 | next(f32, -0x0.8p32, -0.0), next(f32, next(f32, -0x0.8p32, -0.0), -0.0), | ||
| 11617 | }); | ||
| 11618 | try testArgs(@Vector(4, i32), @Vector(4, f32), .{ | ||
| 11619 | -1e4, -1e3, -1e2, -1e1, | ||
| 11620 | }); | ||
| 11621 | try testArgs(@Vector(8, i32), @Vector(8, f32), .{ | ||
| 11622 | -1e0, -1e-1, -1e-2, -1e-3, -1e-4, -1e-5, -0.0, 0.0, | ||
| 11623 | }); | ||
| 11624 | try testArgs(@Vector(16, i32), @Vector(16, f32), .{ | ||
| 11625 | 1e-5, 1e-4, 1e-3, 1e-2, 1e-1, 1e0, 1e1, 1e2, | ||
| 11626 | 1e3, 1e4, next(f32, next(f32, 0x0.8p32, 0.0), 0.0), next(f32, 0x0.8p32, 0.0), -2e4, -2e3, -2e2, -2e1, | ||
| 11627 | }); | ||
| 11628 | try testArgs(@Vector(32, i32), @Vector(32, f32), .{ | ||
| 11629 | -2e0, -2e-1, -2e-2, -2e-3, -2e-4, -2e-5, 2e-5, 2e-4, | ||
| 11630 | 2e-3, 2e-2, 2e-1, 2e0, 2e1, 2e2, 2e3, 2e4, | ||
| 11631 | -3e4, -3e3, -3e2, -3e1, -3e0, -3e-1, -3e-2, -3e-3, | ||
| 11632 | -3e-4, -3e-5, 3e-5, 3e-4, 3e-3, 3e-2, 3e-1, 3e0, | ||
| 11633 | }); | ||
| 11634 | try testArgs(@Vector(64, i32), @Vector(64, f32), .{ | ||
| 11635 | 3e1, 3e2, 3e3, 3e4, -4e3, -4e2, -4e1, -4e0, | ||
| 11636 | -4e-1, -4e-2, -4e-3, -4e-4, -4e-5, 4e-5, 4e-4, 4e-3, | ||
| 11637 | 4e-2, 4e-1, 4e0, 4e1, 4e2, 4e3, -5e3, -5e2, | ||
| 11638 | -5e1, -5e0, -5e-1, -5e-2, -5e-3, -5e-4, -5e-5, 5e-5, | ||
| 11639 | 5e-4, 5e-3, 5e-2, 5e-1, 5e0, 5e1, 5e2, 5e3, | ||
| 11640 | -6e3, -6e2, -6e1, -6e0, -6e-1, -6e-2, -6e-3, -6e-4, | ||
| 11641 | -6e-5, 6e-5, 6e-4, 6e-3, 6e-2, 6e-1, 6e0, 6e1, | ||
| 11642 | 6e2, 6e3, -7e3, -7e2, -7e1, -7e0, -7e-1, -7e-2, | ||
| 11643 | }); | ||
| 11644 | try testArgs(@Vector(128, i32), @Vector(128, f32), .{ | ||
| 11645 | -7e-3, -7e-4, -7e-5, 7e-5, 7e-4, 7e-3, 7e-2, 7e-1, | ||
| 11646 | 7e0, 7e1, 7e2, 7e3, -8e3, -8e2, -8e1, -8e0, | ||
| 11647 | -8e-1, -8e-2, -8e-3, -8e-4, -8e-5, 8e-5, 8e-4, 8e-3, | ||
| 11648 | 8e-2, 8e-1, 8e0, 8e1, 8e2, 8e3, -9e3, -9e2, | ||
| 11649 | -9e1, -9e0, -9e-1, -9e-2, -9e-3, -9e-4, -9e-5, 9e-5, | ||
| 11650 | 9e-4, 9e-3, 9e-2, 9e-1, 9e0, 9e1, 9e2, 9e3, | ||
| 11651 | -11e3, -11e2, -11e1, -11e0, -11e-1, -11e-2, -11e-3, -11e-4, | ||
| 11652 | -11e-5, 11e-5, 11e-4, 11e-3, 11e-2, 11e-1, 11e0, 11e1, | ||
| 11653 | 11e2, 11e3, -12e3, -12e2, -12e1, -12e0, -12e-1, -12e-2, | ||
| 11654 | -12e-3, -12e-4, -12e-5, 12e-5, 12e-4, 12e-3, 12e-2, 12e-1, | ||
| 11655 | 12e0, 12e1, 12e2, 12e3, -13e3, -13e2, -13e1, -13e0, | ||
| 11656 | -13e-1, -13e-2, -13e-3, -13e-4, -13e-5, 13e-5, 13e-4, 13e-3, | ||
| 11657 | 13e-2, 13e-1, 13e0, 13e1, 13e2, -14e2, -14e1, -14e0, | ||
| 11658 | -14e-1, -14e-2, -14e-3, -14e-4, -14e-5, 14e-5, 14e-4, 14e-3, | ||
| 11659 | 14e-2, 14e-1, 14e0, 14e1, 14e2, 14e3, -15e3, -15e2, | ||
| 11660 | -15e1, -15e0, -15e-1, -15e-2, -15e-3, -15e-4, -15e-5, 15e-5, | ||
| 11661 | }); | ||
| 11662 | |||
| 11663 | try testArgs(@Vector(1, u32), @Vector(1, f32), .{ | ||
| 11664 | -0.0, | ||
| 11665 | }); | ||
| 11666 | try testArgs(@Vector(2, u32), @Vector(2, f32), .{ | ||
| 11667 | 0.0, 1e-5, | ||
| 11668 | }); | ||
| 11669 | try testArgs(@Vector(4, u32), @Vector(4, f32), .{ | ||
| 11670 | 1e-4, 1e-3, 1e-2, 1e-1, | ||
| 11671 | }); | ||
| 11672 | try testArgs(@Vector(8, u32), @Vector(8, f32), .{ | ||
| 11673 | 1e0, 1e1, 1e2, 1e3, 1e4, next(f32, next(f32, 0x1p32, 0.0), 0.0), next(f32, 0x1p32, 0.0), 2e-5, | ||
| 11674 | }); | ||
| 11675 | try testArgs(@Vector(16, u32), @Vector(16, f32), .{ | ||
| 11676 | 2e-4, 2e-3, 2e-2, 2e-1, 2e0, 2e1, 2e2, 2e3, | ||
| 11677 | 2e4, 3e-5, 3e-4, 3e-3, 3e-2, 3e-1, 3e0, 3e1, | ||
| 11678 | }); | ||
| 11679 | try testArgs(@Vector(32, u32), @Vector(32, f32), .{ | ||
| 11680 | 3e2, 3e3, 3e4, 4e-5, 4e-4, 4e-3, 4e-2, 4e-1, | ||
| 11681 | 4e0, 4e1, 4e2, 4e3, 5e-5, 5e-4, 5e-3, 5e-2, | ||
| 11682 | 5e-1, 5e0, 5e1, 5e2, 5e3, 6e-5, 6e-4, 6e-3, | ||
| 11683 | 6e-2, 6e-1, 6e0, 6e1, 6e2, 6e3, 7e-5, 7e-4, | ||
| 11684 | }); | ||
| 11685 | try testArgs(@Vector(64, u32), @Vector(64, f32), .{ | ||
| 11686 | 7e-3, 7e-2, 7e-1, 7e0, 7e1, 7e2, 7e3, 8e-5, | ||
| 11687 | 8e-4, 8e-3, 8e-2, 8e-1, 8e0, 8e1, 8e2, 8e3, | ||
| 11688 | 9e-5, 9e-4, 9e-3, 9e-2, 9e-1, 9e0, 9e1, 9e2, | ||
| 11689 | 9e3, 11e-5, 11e-4, 11e-3, 11e-2, 11e-1, 11e0, 11e1, | ||
| 11690 | 11e2, 11e3, 13e-5, 13e-4, 13e-3, 13e-2, 13e-1, 13e0, | ||
| 11691 | 13e1, 13e2, 13e3, 14e-5, 14e-4, 14e-3, 14e-2, 14e-1, | ||
| 11692 | 14e0, 14e1, 14e2, 14e3, 15e-5, 15e-4, 15e-3, 15e-2, | ||
| 11693 | 15e-1, 15e0, 15e1, 15e2, 15e3, 16e-5, 16e-4, 16e-3, | ||
| 11694 | }); | ||
| 11695 | try testArgs(@Vector(128, u32), @Vector(128, f32), .{ | ||
| 11696 | 16e-2, 16e-1, 16e0, 16e1, 16e2, 16e3, 17e-5, 17e-4, | ||
| 11697 | 17e-3, 17e-2, 17e-1, 17e0, 17e1, 17e2, 17e3, 18e-5, | ||
| 11698 | 18e-4, 18e-3, 18e-2, 18e-1, 18e0, 18e1, 18e2, 18e3, | ||
| 11699 | 19e-5, 19e-4, 19e-3, 19e-2, 19e-1, 19e0, 19e1, 19e2, | ||
| 11700 | 19e3, 21e-5, 21e-4, 21e-3, 21e-2, 21e-1, 21e0, 21e1, | ||
| 11701 | 21e2, 21e3, 22e-5, 22e-4, 22e-3, 22e-2, 22e-1, 22e0, | ||
| 11702 | 22e1, 22e2, 22e3, 23e-5, 23e-4, 23e-3, 23e-2, 23e-1, | ||
| 11703 | 23e0, 23e1, 23e2, 23e3, 24e-5, 24e-4, 24e-3, 24e-2, | ||
| 11704 | 24e-1, 24e0, 24e1, 24e2, 24e3, 25e-5, 25e-4, 25e-3, | ||
| 11705 | 25e-2, 25e-1, 25e0, 25e1, 25e2, 25e3, 26e-5, 26e-4, | ||
| 11706 | 26e-3, 26e-2, 26e-1, 26e0, 26e1, 26e2, 26e3, 27e-5, | ||
| 11707 | 27e-4, 27e-3, 27e-2, 27e-1, 27e0, 27e1, 27e2, 27e3, | ||
| 11708 | 28e-5, 28e-4, 28e-3, 28e-2, 28e-1, 28e0, 28e1, 28e2, | ||
| 11709 | 28e3, 29e-5, 29e-4, 29e-3, 29e-2, 29e-1, 29e0, 29e1, | ||
| 11710 | 29e2, 29e3, 31e-5, 31e-4, 31e-3, 31e-2, 31e-1, 31e0, | ||
| 11711 | 31e1, 31e2, 31e3, 32e-5, 32e-4, 32e-3, 32e-2, 32e-1, | ||
| 11712 | }); | ||
| 11713 | |||
| 11714 | try testArgs(@Vector(1, i64), @Vector(1, f32), .{ | ||
| 11715 | -0x0.8p64, | ||
| 11716 | }); | ||
| 11717 | try testArgs(@Vector(2, i64), @Vector(2, f32), .{ | ||
| 11718 | next(f32, -0x0.8p64, -0.0), next(f32, next(f32, -0x0.8p64, -0.0), -0.0), | ||
| 11719 | }); | ||
| 11720 | try testArgs(@Vector(4, i64), @Vector(4, f32), .{ | ||
| 11721 | -1e4, -1e3, -1e2, -1e1, | ||
| 11722 | }); | ||
| 11723 | try testArgs(@Vector(8, i64), @Vector(8, f32), .{ | ||
| 11724 | -1e0, -1e-1, -1e-2, -1e-3, -1e-4, -1e-5, -0.0, 0.0, | ||
| 11725 | }); | ||
| 11726 | try testArgs(@Vector(16, i64), @Vector(16, f32), .{ | ||
| 11727 | 1e-5, 1e-4, 1e-3, 1e-2, 1e-1, 1e0, 1e1, 1e2, | ||
| 11728 | 1e3, 1e4, next(f32, next(f32, 0x0.8p64, 0.0), 0.0), next(f32, 0x0.8p64, 0.0), -2e4, -2e3, -2e2, -2e1, | ||
| 11729 | }); | ||
| 11730 | try testArgs(@Vector(32, i64), @Vector(32, f32), .{ | ||
| 11731 | -2e0, -2e-1, -2e-2, -2e-3, -2e-4, -2e-5, 2e-5, 2e-4, | ||
| 11732 | 2e-3, 2e-2, 2e-1, 2e0, 2e1, 2e2, 2e3, 2e4, | ||
| 11733 | -3e4, -3e3, -3e2, -3e1, -3e0, -3e-1, -3e-2, -3e-3, | ||
| 11734 | -3e-4, -3e-5, 3e-5, 3e-4, 3e-3, 3e-2, 3e-1, 3e0, | ||
| 11735 | }); | ||
| 11736 | try testArgs(@Vector(64, i64), @Vector(64, f32), .{ | ||
| 11737 | 3e1, 3e2, 3e3, 3e4, -4e3, -4e2, -4e1, -4e0, | ||
| 11738 | -4e-1, -4e-2, -4e-3, -4e-4, -4e-5, 4e-5, 4e-4, 4e-3, | ||
| 11739 | 4e-2, 4e-1, 4e0, 4e1, 4e2, 4e3, -5e3, -5e2, | ||
| 11740 | -5e1, -5e0, -5e-1, -5e-2, -5e-3, -5e-4, -5e-5, 5e-5, | ||
| 11741 | 5e-4, 5e-3, 5e-2, 5e-1, 5e0, 5e1, 5e2, 5e3, | ||
| 11742 | -6e3, -6e2, -6e1, -6e0, -6e-1, -6e-2, -6e-3, -6e-4, | ||
| 11743 | -6e-5, 6e-5, 6e-4, 6e-3, 6e-2, 6e-1, 6e0, 6e1, | ||
| 11744 | 6e2, 6e3, -7e3, -7e2, -7e1, -7e0, -7e-1, -7e-2, | ||
| 11745 | }); | ||
| 11746 | try testArgs(@Vector(128, i64), @Vector(128, f32), .{ | ||
| 11747 | -7e-3, -7e-4, -7e-5, 7e-5, 7e-4, 7e-3, 7e-2, 7e-1, | ||
| 11748 | 7e0, 7e1, 7e2, 7e3, -8e3, -8e2, -8e1, -8e0, | ||
| 11749 | -8e-1, -8e-2, -8e-3, -8e-4, -8e-5, 8e-5, 8e-4, 8e-3, | ||
| 11750 | 8e-2, 8e-1, 8e0, 8e1, 8e2, 8e3, -9e3, -9e2, | ||
| 11751 | -9e1, -9e0, -9e-1, -9e-2, -9e-3, -9e-4, -9e-5, 9e-5, | ||
| 11752 | 9e-4, 9e-3, 9e-2, 9e-1, 9e0, 9e1, 9e2, 9e3, | ||
| 11753 | -11e3, -11e2, -11e1, -11e0, -11e-1, -11e-2, -11e-3, -11e-4, | ||
| 11754 | -11e-5, 11e-5, 11e-4, 11e-3, 11e-2, 11e-1, 11e0, 11e1, | ||
| 11755 | 11e2, 11e3, -12e3, -12e2, -12e1, -12e0, -12e-1, -12e-2, | ||
| 11756 | -12e-3, -12e-4, -12e-5, 12e-5, 12e-4, 12e-3, 12e-2, 12e-1, | ||
| 11757 | 12e0, 12e1, 12e2, 12e3, -13e3, -13e2, -13e1, -13e0, | ||
| 11758 | -13e-1, -13e-2, -13e-3, -13e-4, -13e-5, 13e-5, 13e-4, 13e-3, | ||
| 11759 | 13e-2, 13e-1, 13e0, 13e1, 13e2, -14e2, -14e1, -14e0, | ||
| 11760 | -14e-1, -14e-2, -14e-3, -14e-4, -14e-5, 14e-5, 14e-4, 14e-3, | ||
| 11761 | 14e-2, 14e-1, 14e0, 14e1, 14e2, 14e3, -15e3, -15e2, | ||
| 11762 | -15e1, -15e0, -15e-1, -15e-2, -15e-3, -15e-4, -15e-5, 15e-5, | ||
| 11763 | }); | ||
| 11764 | |||
| 11765 | try testArgs(@Vector(1, u64), @Vector(1, f32), .{ | ||
| 11766 | -0.0, | ||
| 11767 | }); | ||
| 11768 | try testArgs(@Vector(2, u64), @Vector(2, f32), .{ | ||
| 11769 | 0.0, 1e-5, | ||
| 11770 | }); | ||
| 11771 | try testArgs(@Vector(4, u64), @Vector(4, f32), .{ | ||
| 11772 | 1e-4, 1e-3, 1e-2, 1e-1, | ||
| 11773 | }); | ||
| 11774 | try testArgs(@Vector(8, u64), @Vector(8, f32), .{ | ||
| 11775 | 1e0, 1e1, 1e2, 1e3, 1e4, next(f32, next(f32, 0x1p64, 0.0), 0.0), next(f32, 0x1p64, 0.0), 2e-5, | ||
| 11776 | }); | ||
| 11777 | try testArgs(@Vector(16, u64), @Vector(16, f32), .{ | ||
| 11778 | 2e-4, 2e-3, 2e-2, 2e-1, 2e0, 2e1, 2e2, 2e3, | ||
| 11779 | 2e4, 3e-5, 3e-4, 3e-3, 3e-2, 3e-1, 3e0, 3e1, | ||
| 11780 | }); | ||
| 11781 | try testArgs(@Vector(32, u64), @Vector(32, f32), .{ | ||
| 11782 | 3e2, 3e3, 3e4, 4e-5, 4e-4, 4e-3, 4e-2, 4e-1, | ||
| 11783 | 4e0, 4e1, 4e2, 4e3, 5e-5, 5e-4, 5e-3, 5e-2, | ||
| 11784 | 5e-1, 5e0, 5e1, 5e2, 5e3, 6e-5, 6e-4, 6e-3, | ||
| 11785 | 6e-2, 6e-1, 6e0, 6e1, 6e2, 6e3, 7e-5, 7e-4, | ||
| 11786 | }); | ||
| 11787 | try testArgs(@Vector(64, u64), @Vector(64, f32), .{ | ||
| 11788 | 7e-3, 7e-2, 7e-1, 7e0, 7e1, 7e2, 7e3, 8e-5, | ||
| 11789 | 8e-4, 8e-3, 8e-2, 8e-1, 8e0, 8e1, 8e2, 8e3, | ||
| 11790 | 9e-5, 9e-4, 9e-3, 9e-2, 9e-1, 9e0, 9e1, 9e2, | ||
| 11791 | 9e3, 11e-5, 11e-4, 11e-3, 11e-2, 11e-1, 11e0, 11e1, | ||
| 11792 | 11e2, 11e3, 13e-5, 13e-4, 13e-3, 13e-2, 13e-1, 13e0, | ||
| 11793 | 13e1, 13e2, 13e3, 14e-5, 14e-4, 14e-3, 14e-2, 14e-1, | ||
| 11794 | 14e0, 14e1, 14e2, 14e3, 15e-5, 15e-4, 15e-3, 15e-2, | ||
| 11795 | 15e-1, 15e0, 15e1, 15e2, 15e3, 16e-5, 16e-4, 16e-3, | ||
| 11796 | }); | ||
| 11797 | try testArgs(@Vector(128, u64), @Vector(128, f32), .{ | ||
| 11798 | 16e-2, 16e-1, 16e0, 16e1, 16e2, 16e3, 17e-5, 17e-4, | ||
| 11799 | 17e-3, 17e-2, 17e-1, 17e0, 17e1, 17e2, 17e3, 18e-5, | ||
| 11800 | 18e-4, 18e-3, 18e-2, 18e-1, 18e0, 18e1, 18e2, 18e3, | ||
| 11801 | 19e-5, 19e-4, 19e-3, 19e-2, 19e-1, 19e0, 19e1, 19e2, | ||
| 11802 | 19e3, 21e-5, 21e-4, 21e-3, 21e-2, 21e-1, 21e0, 21e1, | ||
| 11803 | 21e2, 21e3, 22e-5, 22e-4, 22e-3, 22e-2, 22e-1, 22e0, | ||
| 11804 | 22e1, 22e2, 22e3, 23e-5, 23e-4, 23e-3, 23e-2, 23e-1, | ||
| 11805 | 23e0, 23e1, 23e2, 23e3, 24e-5, 24e-4, 24e-3, 24e-2, | ||
| 11806 | 24e-1, 24e0, 24e1, 24e2, 24e3, 25e-5, 25e-4, 25e-3, | ||
| 11807 | 25e-2, 25e-1, 25e0, 25e1, 25e2, 25e3, 26e-5, 26e-4, | ||
| 11808 | 26e-3, 26e-2, 26e-1, 26e0, 26e1, 26e2, 26e3, 27e-5, | ||
| 11809 | 27e-4, 27e-3, 27e-2, 27e-1, 27e0, 27e1, 27e2, 27e3, | ||
| 11810 | 28e-5, 28e-4, 28e-3, 28e-2, 28e-1, 28e0, 28e1, 28e2, | ||
| 11811 | 28e3, 29e-5, 29e-4, 29e-3, 29e-2, 29e-1, 29e0, 29e1, | ||
| 11812 | 29e2, 29e3, 31e-5, 31e-4, 31e-3, 31e-2, 31e-1, 31e0, | ||
| 11813 | 31e1, 31e2, 31e3, 32e-5, 32e-4, 32e-3, 32e-2, 32e-1, | ||
| 11814 | }); | ||
| 11815 | |||
| 11816 | try testArgs(@Vector(1, i128), @Vector(1, f32), .{ | ||
| 11817 | -0x0.8p128, | ||
| 11818 | }); | ||
| 11819 | try testArgs(@Vector(2, i128), @Vector(2, f32), .{ | ||
| 11820 | next(f32, -0x0.8p128, -0.0), next(f32, next(f32, -0x0.8p128, -0.0), -0.0), | ||
| 11821 | }); | ||
| 11822 | try testArgs(@Vector(4, i128), @Vector(4, f32), .{ | ||
| 11823 | -1e4, -1e3, -1e2, -1e1, | ||
| 11824 | }); | ||
| 11825 | try testArgs(@Vector(8, i128), @Vector(8, f32), .{ | ||
| 11826 | -1e0, -1e-1, -1e-2, -1e-3, -1e-4, -1e-5, -0.0, 0.0, | ||
| 11827 | }); | ||
| 11828 | try testArgs(@Vector(16, i128), @Vector(16, f32), .{ | ||
| 11829 | 1e-5, 1e-4, 1e-3, 1e-2, 1e-1, 1e0, 1e1, 1e2, | ||
| 11830 | 1e3, 1e4, next(f32, next(f32, 0x0.8p128, 0.0), 0.0), next(f32, 0x0.8p128, 0.0), -2e4, -2e3, -2e2, -2e1, | ||
| 11831 | }); | ||
| 11832 | try testArgs(@Vector(32, i128), @Vector(32, f32), .{ | ||
| 11833 | -2e0, -2e-1, -2e-2, -2e-3, -2e-4, -2e-5, 2e-5, 2e-4, | ||
| 11834 | 2e-3, 2e-2, 2e-1, 2e0, 2e1, 2e2, 2e3, 2e4, | ||
| 11835 | -3e4, -3e3, -3e2, -3e1, -3e0, -3e-1, -3e-2, -3e-3, | ||
| 11836 | -3e-4, -3e-5, 3e-5, 3e-4, 3e-3, 3e-2, 3e-1, 3e0, | ||
| 11837 | }); | ||
| 11838 | try testArgs(@Vector(64, i128), @Vector(64, f32), .{ | ||
| 11839 | 3e1, 3e2, 3e3, 3e4, -4e3, -4e2, -4e1, -4e0, | ||
| 11840 | -4e-1, -4e-2, -4e-3, -4e-4, -4e-5, 4e-5, 4e-4, 4e-3, | ||
| 11841 | 4e-2, 4e-1, 4e0, 4e1, 4e2, 4e3, -5e3, -5e2, | ||
| 11842 | -5e1, -5e0, -5e-1, -5e-2, -5e-3, -5e-4, -5e-5, 5e-5, | ||
| 11843 | 5e-4, 5e-3, 5e-2, 5e-1, 5e0, 5e1, 5e2, 5e3, | ||
| 11844 | -6e3, -6e2, -6e1, -6e0, -6e-1, -6e-2, -6e-3, -6e-4, | ||
| 11845 | -6e-5, 6e-5, 6e-4, 6e-3, 6e-2, 6e-1, 6e0, 6e1, | ||
| 11846 | 6e2, 6e3, -7e3, -7e2, -7e1, -7e0, -7e-1, -7e-2, | ||
| 11847 | }); | ||
| 11848 | |||
| 11849 | try testArgs(@Vector(1, u128), @Vector(1, f32), .{ | ||
| 11850 | -0.0, | ||
| 11851 | }); | ||
| 11852 | try testArgs(@Vector(2, u128), @Vector(2, f32), .{ | ||
| 11853 | 0.0, 1e-5, | ||
| 11854 | }); | ||
| 11855 | try testArgs(@Vector(4, u128), @Vector(4, f32), .{ | ||
| 11856 | 1e-4, 1e-3, 1e-2, 1e-1, | ||
| 11857 | }); | ||
| 11858 | try testArgs(@Vector(8, u128), @Vector(8, f32), .{ | ||
| 11859 | 1e0, 1e1, 1e2, 1e3, 1e4, next(f32, next(f32, fmax(f32), 0.0), 0.0), next(f32, fmax(f32), 0.0), 2e-5, | ||
| 11860 | }); | ||
| 11861 | try testArgs(@Vector(16, u128), @Vector(16, f32), .{ | ||
| 11862 | 2e-4, 2e-3, 2e-2, 2e-1, 2e0, 2e1, 2e2, 2e3, | ||
| 11863 | 2e4, 3e-5, 3e-4, 3e-3, 3e-2, 3e-1, 3e0, 3e1, | ||
| 11864 | }); | ||
| 11865 | try testArgs(@Vector(32, u128), @Vector(32, f32), .{ | ||
| 11866 | 3e2, 3e3, 3e4, 4e-5, 4e-4, 4e-3, 4e-2, 4e-1, | ||
| 11867 | 4e0, 4e1, 4e2, 4e3, 5e-5, 5e-4, 5e-3, 5e-2, | ||
| 11868 | 5e-1, 5e0, 5e1, 5e2, 5e3, 6e-5, 6e-4, 6e-3, | ||
| 11869 | 6e-2, 6e-1, 6e0, 6e1, 6e2, 6e3, 7e-5, 7e-4, | ||
| 11870 | }); | ||
| 11871 | try testArgs(@Vector(64, u128), @Vector(64, f32), .{ | ||
| 11872 | 7e-3, 7e-2, 7e-1, 7e0, 7e1, 7e2, 7e3, 8e-5, | ||
| 11873 | 8e-4, 8e-3, 8e-2, 8e-1, 8e0, 8e1, 8e2, 8e3, | ||
| 11874 | 9e-5, 9e-4, 9e-3, 9e-2, 9e-1, 9e0, 9e1, 9e2, | ||
| 11875 | 9e3, 11e-5, 11e-4, 11e-3, 11e-2, 11e-1, 11e0, 11e1, | ||
| 11876 | 11e2, 11e3, 13e-5, 13e-4, 13e-3, 13e-2, 13e-1, 13e0, | ||
| 11877 | 13e1, 13e2, 13e3, 14e-5, 14e-4, 14e-3, 14e-2, 14e-1, | ||
| 11878 | 14e0, 14e1, 14e2, 14e3, 15e-5, 15e-4, 15e-3, 15e-2, | ||
| 11879 | 15e-1, 15e0, 15e1, 15e2, 15e3, 16e-5, 16e-4, 16e-3, | ||
| 11880 | }); | ||
| 11881 | |||
| 11882 | try testArgs(@Vector(1, i256), @Vector(1, f32), .{ | ||
| 11883 | -fmax(f32), | ||
| 11884 | }); | ||
| 11885 | try testArgs(@Vector(2, i256), @Vector(2, f32), .{ | ||
| 11886 | next(f32, -fmax(f32), -0.0), next(f32, next(f32, -fmax(f32), -0.0), -0.0), | ||
| 11887 | }); | ||
| 11888 | try testArgs(@Vector(4, i256), @Vector(4, f32), .{ | ||
| 11889 | -1e4, -1e3, -1e2, -1e1, | ||
| 11890 | }); | ||
| 11891 | try testArgs(@Vector(8, i256), @Vector(8, f32), .{ | ||
| 11892 | -1e0, -1e-1, -1e-2, -1e-3, -1e-4, -1e-5, -0.0, 0.0, | ||
| 11893 | }); | ||
| 11894 | try testArgs(@Vector(16, i256), @Vector(16, f32), .{ | ||
| 11895 | 1e-5, 1e-4, 1e-3, 1e-2, 1e-1, 1e0, 1e1, 1e2, | ||
| 11896 | 1e3, 1e4, next(f32, next(f32, fmax(f32), 0.0), 0.0), next(f32, fmax(f32), 0.0), -2e4, -2e3, -2e2, -2e1, | ||
| 11897 | }); | ||
| 11898 | try testArgs(@Vector(32, i256), @Vector(32, f32), .{ | ||
| 11899 | -2e0, -2e-1, -2e-2, -2e-3, -2e-4, -2e-5, 2e-5, 2e-4, | ||
| 11900 | 2e-3, 2e-2, 2e-1, 2e0, 2e1, 2e2, 2e3, 2e4, | ||
| 11901 | -3e4, -3e3, -3e2, -3e1, -3e0, -3e-1, -3e-2, -3e-3, | ||
| 11902 | -3e-4, -3e-5, 3e-5, 3e-4, 3e-3, 3e-2, 3e-1, 3e0, | ||
| 11903 | }); | ||
| 11904 | try testArgs(@Vector(64, i256), @Vector(64, f32), .{ | ||
| 11905 | 3e1, 3e2, 3e3, 3e4, -4e3, -4e2, -4e1, -4e0, | ||
| 11906 | -4e-1, -4e-2, -4e-3, -4e-4, -4e-5, 4e-5, 4e-4, 4e-3, | ||
| 11907 | 4e-2, 4e-1, 4e0, 4e1, 4e2, 4e3, -5e3, -5e2, | ||
| 11908 | -5e1, -5e0, -5e-1, -5e-2, -5e-3, -5e-4, -5e-5, 5e-5, | ||
| 11909 | 5e-4, 5e-3, 5e-2, 5e-1, 5e0, 5e1, 5e2, 5e3, | ||
| 11910 | -6e3, -6e2, -6e1, -6e0, -6e-1, -6e-2, -6e-3, -6e-4, | ||
| 11911 | -6e-5, 6e-5, 6e-4, 6e-3, 6e-2, 6e-1, 6e0, 6e1, | ||
| 11912 | 6e2, 6e3, -7e3, -7e2, -7e1, -7e0, -7e-1, -7e-2, | ||
| 11913 | }); | ||
| 11914 | |||
| 11915 | try testArgs(@Vector(1, u256), @Vector(1, f32), .{ | ||
| 11916 | -0.0, | ||
| 11917 | }); | ||
| 11918 | try testArgs(@Vector(2, u256), @Vector(2, f32), .{ | ||
| 11919 | 0.0, 1e-5, | ||
| 11920 | }); | ||
| 11921 | try testArgs(@Vector(4, u256), @Vector(4, f32), .{ | ||
| 11922 | 1e-4, 1e-3, 1e-2, 1e-1, | ||
| 11923 | }); | ||
| 11924 | try testArgs(@Vector(8, u256), @Vector(8, f32), .{ | ||
| 11925 | 1e0, 1e1, 1e2, 1e3, 1e4, next(f32, next(f32, fmax(f32), 0.0), 0.0), next(f32, fmax(f32), 0.0), 2e-5, | ||
| 11926 | }); | ||
| 11927 | try testArgs(@Vector(16, u256), @Vector(16, f32), .{ | ||
| 11928 | 2e-4, 2e-3, 2e-2, 2e-1, 2e0, 2e1, 2e2, 2e3, | ||
| 11929 | 2e4, 3e-5, 3e-4, 3e-3, 3e-2, 3e-1, 3e0, 3e1, | ||
| 11930 | }); | ||
| 11931 | try testArgs(@Vector(32, u256), @Vector(32, f32), .{ | ||
| 11932 | 3e2, 3e3, 3e4, 4e-5, 4e-4, 4e-3, 4e-2, 4e-1, | ||
| 11933 | 4e0, 4e1, 4e2, 4e3, 5e-5, 5e-4, 5e-3, 5e-2, | ||
| 11934 | 5e-1, 5e0, 5e1, 5e2, 5e3, 6e-5, 6e-4, 6e-3, | ||
| 11935 | 6e-2, 6e-1, 6e0, 6e1, 6e2, 6e3, 7e-5, 7e-4, | ||
| 11936 | }); | ||
| 11937 | try testArgs(@Vector(64, u256), @Vector(64, f32), .{ | ||
| 11938 | 7e-3, 7e-2, 7e-1, 7e0, 7e1, 7e2, 7e3, 8e-5, | ||
| 11939 | 8e-4, 8e-3, 8e-2, 8e-1, 8e0, 8e1, 8e2, 8e3, | ||
| 11940 | 9e-5, 9e-4, 9e-3, 9e-2, 9e-1, 9e0, 9e1, 9e2, | ||
| 11941 | 9e3, 11e-5, 11e-4, 11e-3, 11e-2, 11e-1, 11e0, 11e1, | ||
| 11942 | 11e2, 11e3, 13e-5, 13e-4, 13e-3, 13e-2, 13e-1, 13e0, | ||
| 11943 | 13e1, 13e2, 13e3, 14e-5, 14e-4, 14e-3, 14e-2, 14e-1, | ||
| 11944 | 14e0, 14e1, 14e2, 14e3, 15e-5, 15e-4, 15e-3, 15e-2, | ||
| 11945 | 15e-1, 15e0, 15e1, 15e2, 15e3, 16e-5, 16e-4, 16e-3, | ||
| 11946 | }); | ||
| 11947 | |||
| 11948 | try testArgs(@Vector(1, i8), @Vector(1, f64), .{ | ||
| 11949 | -0x0.8p8, | ||
| 11950 | }); | ||
| 11951 | try testArgs(@Vector(2, i8), @Vector(2, f64), .{ | ||
| 11952 | next(f64, -0x0.8p8, -0.0), next(f64, next(f64, -0x0.8p8, -0.0), -0.0), | ||
| 11953 | }); | ||
| 11954 | try testArgs(@Vector(4, i8), @Vector(4, f64), .{ | ||
| 11955 | -1e2, -1e1, -1e0, -1e-1, | ||
| 11956 | }); | ||
| 11957 | try testArgs(@Vector(8, i8), @Vector(8, f64), .{ | ||
| 11958 | -1e-2, -1e-3, -1e-4, -1e-5, -0.0, 0.0, 1e-5, 1e-4, | ||
| 11959 | }); | ||
| 11960 | try testArgs(@Vector(16, i8), @Vector(16, f64), .{ | ||
| 11961 | 1e-3, 1e-2, 1e-1, 1e0, 1e1, 1e2, next(f64, next(f64, 0x0.8p8, 0.0), 0.0), next(f64, 0x0.8p8, 0.0), | ||
| 11962 | -2e1, -2e0, -2e-1, -2e-2, -2e-3, -2e-4, -2e-5, 2e-5, | ||
| 11963 | }); | ||
| 11964 | try testArgs(@Vector(32, i8), @Vector(32, f64), .{ | ||
| 11965 | 2e-4, 2e-3, 2e-2, 2e-1, 2e0, 2e1, -3e1, -3e0, | ||
| 11966 | -3e-1, -3e-2, -3e-3, -3e-4, -3e-5, 3e-5, 3e-4, 3e-3, | ||
| 11967 | 3e-2, 3e-1, 3e0, 3e1, -4e1, -4e0, -4e-1, -4e-2, | ||
| 11968 | -4e-3, -4e-4, -4e-5, 4e-5, 4e-4, 4e-3, 4e-2, 4e-1, | ||
| 11969 | }); | ||
| 11970 | try testArgs(@Vector(64, i8), @Vector(64, f64), .{ | ||
| 11971 | 4e0, 4e1, -5e1, -5e0, -5e-1, -5e-2, -5e-3, -5e-4, | ||
| 11972 | -5e-5, 5e-5, 5e-4, 5e-3, 5e-2, 5e-1, 5e0, 5e1, | ||
| 11973 | -6e1, -6e0, -6e-1, -6e-2, -6e-3, -6e-4, -6e-5, 6e-5, | ||
| 11974 | 6e-4, 6e-3, 6e-2, 6e-1, 6e0, 6e1, -7e1, -7e0, | ||
| 11975 | -7e-1, -7e-2, -7e-3, -7e-4, -7e-5, 7e-5, 7e-4, 7e-3, | ||
| 11976 | 7e-2, 7e-1, 7e0, 7e1, -8e1, -8e0, -8e-1, -8e-2, | ||
| 11977 | -8e-3, -8e-4, -8e-5, 8e-5, 8e-4, 8e-3, 8e-2, 8e-1, | ||
| 11978 | 8e0, 8e1, -9e1, -9e0, -9e-1, -9e-2, -9e-3, -9e-4, | ||
| 11979 | }); | ||
| 11980 | try testArgs(@Vector(128, i8), @Vector(128, f64), .{ | ||
| 11981 | -9e-5, 9e-5, 9e-4, 9e-3, 9e-2, 9e-1, 9e0, 9e1, | ||
| 11982 | -11e1, -11e0, -11e-1, -11e-2, -11e-3, -11e-4, -11e-5, 11e-5, | ||
| 11983 | 11e-4, 11e-3, 11e-2, 11e-1, 11e0, 11e1, -12e1, -12e0, | ||
| 11984 | -12e-1, -12e-2, -12e-3, -12e-4, -12e-5, 12e-5, 12e-4, 12e-3, | ||
| 11985 | 12e-2, 12e-1, 12e0, 12e1, -13e0, -13e-1, -13e-2, -13e-3, | ||
| 11986 | -13e-4, -13e-5, 13e-5, 13e-4, 13e-3, 13e-2, 13e-1, 13e0, | ||
| 11987 | -14e0, -14e-1, -14e-2, -14e-3, -14e-4, -14e-5, 14e-5, 14e-4, | ||
| 11988 | 14e-3, 14e-2, 14e-1, 14e0, -15e0, -15e-1, -15e-2, -15e-3, | ||
| 11989 | -15e-4, -15e-5, 15e-5, 15e-4, 15e-3, 15e-2, 15e-1, 15e0, | ||
| 11990 | -16e0, -16e-1, -16e-2, -16e-3, -16e-4, -16e-5, 16e-5, 16e-4, | ||
| 11991 | 16e-3, 16e-2, 16e-1, 16e0, -17e0, -17e-1, -17e-2, -17e-3, | ||
| 11992 | -17e-4, -17e-5, 17e-5, 17e-4, 17e-3, 17e-2, 17e-1, 17e0, | ||
| 11993 | -18e0, -18e-1, -18e-2, -18e-3, -18e-4, -18e-5, 18e-5, 18e-4, | ||
| 11994 | 18e-3, 18e-2, 18e-1, 18e0, -19e0, -19e-1, -19e-2, -19e-3, | ||
| 11995 | -19e-4, -19e-5, 19e-5, 19e-4, 19e-3, 19e-2, 19e-1, 19e0, | ||
| 11996 | -21e0, -21e-1, -21e-2, -21e-3, -21e-4, -21e-5, 21e-5, 21e-4, | ||
| 11997 | }); | ||
| 11998 | |||
| 11999 | try testArgs(@Vector(1, u8), @Vector(1, f64), .{ | ||
| 12000 | -0.0, | ||
| 12001 | }); | ||
| 12002 | try testArgs(@Vector(2, u8), @Vector(2, f64), .{ | ||
| 12003 | 0.0, 1e-5, | ||
| 12004 | }); | ||
| 12005 | try testArgs(@Vector(4, u8), @Vector(4, f64), .{ | ||
| 12006 | 1e-4, 1e-3, 1e-2, 1e-1, | ||
| 12007 | }); | ||
| 12008 | try testArgs(@Vector(8, u8), @Vector(8, f64), .{ | ||
| 12009 | 1e0, 1e1, 1e2, next(f64, next(f64, 0x1p8, 0.0), 0.0), next(f64, 0x1p8, 0.0), 2e-5, 2e-4, 2e-3, | ||
| 12010 | }); | ||
| 12011 | try testArgs(@Vector(16, u8), @Vector(16, f64), .{ | ||
| 12012 | 2e-2, 2e-1, 2e0, 2e1, 2e2, 3e-5, 3e-4, 3e-3, | ||
| 12013 | 3e-2, 3e-1, 3e0, 3e1, 4e-5, 4e-4, 4e-3, 4e-2, | ||
| 12014 | }); | ||
| 12015 | try testArgs(@Vector(32, u8), @Vector(32, f64), .{ | ||
| 12016 | 4e-1, 4e0, 4e1, 5e-5, 5e-4, 5e-3, 5e-2, 5e-1, | ||
| 12017 | 5e0, 5e1, 6e-5, 6e-4, 6e-3, 6e-2, 6e-1, 6e0, | ||
| 12018 | 6e1, 7e-5, 7e-4, 7e-3, 7e-2, 7e-1, 7e0, 7e1, | ||
| 12019 | 8e-5, 8e-4, 8e-3, 8e-2, 8e-1, 8e0, 8e1, 9e-5, | ||
| 12020 | }); | ||
| 12021 | try testArgs(@Vector(64, u8), @Vector(64, f64), .{ | ||
| 12022 | 9e-4, 9e-3, 9e-2, 9e-1, 9e0, 9e1, 11e-5, 11e-4, | ||
| 12023 | 11e-3, 11e-2, 11e-1, 11e0, 11e1, 13e-5, 13e-4, 13e-3, | ||
| 12024 | 13e-2, 13e-1, 13e0, 14e-5, 14e-4, 14e-3, 14e-2, 14e-1, | ||
| 12025 | 14e0, 14e1, 15e-5, 15e-4, 15e-3, 15e-2, 15e-1, 15e0, | ||
| 12026 | 15e1, 16e-5, 16e-4, 16e-3, 16e-2, 16e-1, 16e0, 16e1, | ||
| 12027 | 17e-5, 17e-4, 17e-3, 17e-2, 17e-1, 17e0, 17e1, 18e-5, | ||
| 12028 | 18e-4, 18e-3, 18e-2, 18e-1, 18e0, 18e1, 19e-5, 19e-4, | ||
| 12029 | 19e-3, 19e-2, 19e-1, 19e0, 19e1, 21e-5, 21e-4, 21e-3, | ||
| 12030 | }); | ||
| 12031 | try testArgs(@Vector(128, u8), @Vector(128, f64), .{ | ||
| 12032 | 21e-2, 21e-1, 21e0, 21e1, 22e-5, 22e-4, 22e-3, 22e-2, | ||
| 12033 | 22e-1, 22e0, 22e1, 23e-5, 23e-4, 23e-3, 23e-2, 23e-1, | ||
| 12034 | 23e0, 23e1, 24e-5, 24e-4, 24e-3, 24e-2, 24e-1, 24e0, | ||
| 12035 | 24e1, 25e-5, 25e-4, 25e-3, 25e-2, 25e-1, 25e0, 25e1, | ||
| 12036 | 26e-5, 26e-4, 26e-3, 26e-2, 26e-1, 26e0, 27e-5, 27e-4, | ||
| 12037 | 27e-3, 27e-2, 27e-1, 27e0, 28e-5, 28e-4, 28e-3, 28e-2, | ||
| 12038 | 28e-1, 28e0, 29e-5, 29e-4, 29e-3, 29e-2, 29e-1, 29e0, | ||
| 12039 | 31e-5, 31e-4, 31e-3, 31e-2, 31e-1, 31e0, 32e-5, 32e-4, | ||
| 12040 | 32e-3, 32e-2, 32e-1, 32e0, 33e-5, 33e-4, 33e-3, 33e-2, | ||
| 12041 | 33e-1, 33e0, 34e-5, 34e-4, 34e-3, 34e-2, 34e-1, 34e0, | ||
| 12042 | 35e-5, 35e-4, 35e-3, 35e-2, 35e-1, 35e0, 36e-5, 36e-4, | ||
| 12043 | 36e-3, 36e-2, 36e-1, 36e0, 37e-5, 37e-4, 37e-3, 37e-2, | ||
| 12044 | 37e-1, 37e0, 38e-5, 38e-4, 38e-3, 38e-2, 38e-1, 38e0, | ||
| 12045 | 39e-5, 39e-4, 39e-3, 39e-2, 39e-1, 39e0, 41e-5, 41e-4, | ||
| 12046 | 41e-3, 41e-2, 41e-1, 41e0, 42e-5, 42e-4, 42e-3, 42e-2, | ||
| 12047 | 42e-1, 42e0, 43e-5, 43e-4, 43e-3, 43e-2, 43e-1, 43e0, | ||
| 12048 | }); | ||
| 12049 | |||
| 12050 | try testArgs(@Vector(1, i16), @Vector(1, f64), .{ | ||
| 12051 | -0x0.8p16, | ||
| 12052 | }); | ||
| 12053 | try testArgs(@Vector(2, i16), @Vector(2, f64), .{ | ||
| 12054 | next(f64, -0x0.8p16, -0.0), next(f64, next(f64, -0x0.8p16, -0.0), -0.0), | ||
| 12055 | }); | ||
| 12056 | try testArgs(@Vector(4, i16), @Vector(4, f64), .{ | ||
| 12057 | -1e4, -1e3, -1e2, -1e1, | ||
| 12058 | }); | ||
| 12059 | try testArgs(@Vector(8, i16), @Vector(8, f64), .{ | ||
| 12060 | -1e0, -1e-1, -1e-2, -1e-3, -1e-4, -1e-5, -0.0, 0.0, | ||
| 12061 | }); | ||
| 12062 | try testArgs(@Vector(16, i16), @Vector(16, f64), .{ | ||
| 12063 | 1e-5, 1e-4, 1e-3, 1e-2, 1e-1, 1e0, 1e1, 1e2, | ||
| 12064 | 1e3, 1e4, next(f64, next(f64, 0x0.8p16, 0.0), 0.0), next(f64, 0x0.8p16, 0.0), -2e4, -2e3, -2e2, -2e1, | ||
| 12065 | }); | ||
| 12066 | try testArgs(@Vector(32, i16), @Vector(32, f64), .{ | ||
| 12067 | -2e0, -2e-1, -2e-2, -2e-3, -2e-4, -2e-5, 2e-5, 2e-4, | ||
| 12068 | 2e-3, 2e-2, 2e-1, 2e0, 2e1, 2e2, 2e3, 2e4, | ||
| 12069 | -3e4, -3e3, -3e2, -3e1, -3e0, -3e-1, -3e-2, -3e-3, | ||
| 12070 | -3e-4, -3e-5, 3e-5, 3e-4, 3e-3, 3e-2, 3e-1, 3e0, | ||
| 12071 | }); | ||
| 12072 | try testArgs(@Vector(64, i16), @Vector(64, f64), .{ | ||
| 12073 | 3e1, 3e2, 3e3, 3e4, -4e3, -4e2, -4e1, -4e0, | ||
| 12074 | -4e-1, -4e-2, -4e-3, -4e-4, -4e-5, 4e-5, 4e-4, 4e-3, | ||
| 12075 | 4e-2, 4e-1, 4e0, 4e1, 4e2, 4e3, -5e3, -5e2, | ||
| 12076 | -5e1, -5e0, -5e-1, -5e-2, -5e-3, -5e-4, -5e-5, 5e-5, | ||
| 12077 | 5e-4, 5e-3, 5e-2, 5e-1, 5e0, 5e1, 5e2, 5e3, | ||
| 12078 | -6e3, -6e2, -6e1, -6e0, -6e-1, -6e-2, -6e-3, -6e-4, | ||
| 12079 | -6e-5, 6e-5, 6e-4, 6e-3, 6e-2, 6e-1, 6e0, 6e1, | ||
| 12080 | 6e2, 6e3, -7e3, -7e2, -7e1, -7e0, -7e-1, -7e-2, | ||
| 12081 | }); | ||
| 12082 | try testArgs(@Vector(128, i16), @Vector(128, f64), .{ | ||
| 12083 | -7e-3, -7e-4, -7e-5, 7e-5, 7e-4, 7e-3, 7e-2, 7e-1, | ||
| 12084 | 7e0, 7e1, 7e2, 7e3, -8e3, -8e2, -8e1, -8e0, | ||
| 12085 | -8e-1, -8e-2, -8e-3, -8e-4, -8e-5, 8e-5, 8e-4, 8e-3, | ||
| 12086 | 8e-2, 8e-1, 8e0, 8e1, 8e2, 8e3, -9e3, -9e2, | ||
| 12087 | -9e1, -9e0, -9e-1, -9e-2, -9e-3, -9e-4, -9e-5, 9e-5, | ||
| 12088 | 9e-4, 9e-3, 9e-2, 9e-1, 9e0, 9e1, 9e2, 9e3, | ||
| 12089 | -11e3, -11e2, -11e1, -11e0, -11e-1, -11e-2, -11e-3, -11e-4, | ||
| 12090 | -11e-5, 11e-5, 11e-4, 11e-3, 11e-2, 11e-1, 11e0, 11e1, | ||
| 12091 | 11e2, 11e3, -12e3, -12e2, -12e1, -12e0, -12e-1, -12e-2, | ||
| 12092 | -12e-3, -12e-4, -12e-5, 12e-5, 12e-4, 12e-3, 12e-2, 12e-1, | ||
| 12093 | 12e0, 12e1, 12e2, 12e3, -13e3, -13e2, -13e1, -13e0, | ||
| 12094 | -13e-1, -13e-2, -13e-3, -13e-4, -13e-5, 13e-5, 13e-4, 13e-3, | ||
| 12095 | 13e-2, 13e-1, 13e0, 13e1, 13e2, -14e2, -14e1, -14e0, | ||
| 12096 | -14e-1, -14e-2, -14e-3, -14e-4, -14e-5, 14e-5, 14e-4, 14e-3, | ||
| 12097 | 14e-2, 14e-1, 14e0, 14e1, 14e2, 14e3, -15e3, -15e2, | ||
| 12098 | -15e1, -15e0, -15e-1, -15e-2, -15e-3, -15e-4, -15e-5, 15e-5, | ||
| 12099 | }); | ||
| 12100 | |||
| 12101 | try testArgs(@Vector(1, u16), @Vector(1, f64), .{ | ||
| 12102 | -0.0, | ||
| 12103 | }); | ||
| 12104 | try testArgs(@Vector(2, u16), @Vector(2, f64), .{ | ||
| 12105 | 0.0, 1e-5, | ||
| 12106 | }); | ||
| 12107 | try testArgs(@Vector(4, u16), @Vector(4, f64), .{ | ||
| 12108 | 1e-4, 1e-3, 1e-2, 1e-1, | ||
| 12109 | }); | ||
| 12110 | try testArgs(@Vector(8, u16), @Vector(8, f64), .{ | ||
| 12111 | 1e0, 1e1, 1e2, 1e3, 1e4, next(f64, next(f64, 0x1p16, 0.0), 0.0), next(f64, 0x1p16, 0.0), 2e-5, | ||
| 12112 | }); | ||
| 12113 | try testArgs(@Vector(16, u16), @Vector(16, f64), .{ | ||
| 12114 | 2e-4, 2e-3, 2e-2, 2e-1, 2e0, 2e1, 2e2, 2e3, | ||
| 12115 | 2e4, 3e-5, 3e-4, 3e-3, 3e-2, 3e-1, 3e0, 3e1, | ||
| 12116 | }); | ||
| 12117 | try testArgs(@Vector(32, u16), @Vector(32, f64), .{ | ||
| 12118 | 3e2, 3e3, 3e4, 4e-5, 4e-4, 4e-3, 4e-2, 4e-1, | ||
| 12119 | 4e0, 4e1, 4e2, 4e3, 5e-5, 5e-4, 5e-3, 5e-2, | ||
| 12120 | 5e-1, 5e0, 5e1, 5e2, 5e3, 6e-5, 6e-4, 6e-3, | ||
| 12121 | 6e-2, 6e-1, 6e0, 6e1, 6e2, 6e3, 7e-5, 7e-4, | ||
| 12122 | }); | ||
| 12123 | try testArgs(@Vector(64, u16), @Vector(64, f64), .{ | ||
| 12124 | 7e-3, 7e-2, 7e-1, 7e0, 7e1, 7e2, 7e3, 8e-5, | ||
| 12125 | 8e-4, 8e-3, 8e-2, 8e-1, 8e0, 8e1, 8e2, 8e3, | ||
| 12126 | 9e-5, 9e-4, 9e-3, 9e-2, 9e-1, 9e0, 9e1, 9e2, | ||
| 12127 | 9e3, 11e-5, 11e-4, 11e-3, 11e-2, 11e-1, 11e0, 11e1, | ||
| 12128 | 11e2, 11e3, 13e-5, 13e-4, 13e-3, 13e-2, 13e-1, 13e0, | ||
| 12129 | 13e1, 13e2, 13e3, 14e-5, 14e-4, 14e-3, 14e-2, 14e-1, | ||
| 12130 | 14e0, 14e1, 14e2, 14e3, 15e-5, 15e-4, 15e-3, 15e-2, | ||
| 12131 | 15e-1, 15e0, 15e1, 15e2, 15e3, 16e-5, 16e-4, 16e-3, | ||
| 12132 | }); | ||
| 12133 | try testArgs(@Vector(128, u16), @Vector(128, f64), .{ | ||
| 12134 | 16e-2, 16e-1, 16e0, 16e1, 16e2, 16e3, 17e-5, 17e-4, | ||
| 12135 | 17e-3, 17e-2, 17e-1, 17e0, 17e1, 17e2, 17e3, 18e-5, | ||
| 12136 | 18e-4, 18e-3, 18e-2, 18e-1, 18e0, 18e1, 18e2, 18e3, | ||
| 12137 | 19e-5, 19e-4, 19e-3, 19e-2, 19e-1, 19e0, 19e1, 19e2, | ||
| 12138 | 19e3, 21e-5, 21e-4, 21e-3, 21e-2, 21e-1, 21e0, 21e1, | ||
| 12139 | 21e2, 21e3, 22e-5, 22e-4, 22e-3, 22e-2, 22e-1, 22e0, | ||
| 12140 | 22e1, 22e2, 22e3, 23e-5, 23e-4, 23e-3, 23e-2, 23e-1, | ||
| 12141 | 23e0, 23e1, 23e2, 23e3, 24e-5, 24e-4, 24e-3, 24e-2, | ||
| 12142 | 24e-1, 24e0, 24e1, 24e2, 24e3, 25e-5, 25e-4, 25e-3, | ||
| 12143 | 25e-2, 25e-1, 25e0, 25e1, 25e2, 25e3, 26e-5, 26e-4, | ||
| 12144 | 26e-3, 26e-2, 26e-1, 26e0, 26e1, 26e2, 26e3, 27e-5, | ||
| 12145 | 27e-4, 27e-3, 27e-2, 27e-1, 27e0, 27e1, 27e2, 27e3, | ||
| 12146 | 28e-5, 28e-4, 28e-3, 28e-2, 28e-1, 28e0, 28e1, 28e2, | ||
| 12147 | 28e3, 29e-5, 29e-4, 29e-3, 29e-2, 29e-1, 29e0, 29e1, | ||
| 12148 | 29e2, 29e3, 31e-5, 31e-4, 31e-3, 31e-2, 31e-1, 31e0, | ||
| 12149 | 31e1, 31e2, 31e3, 32e-5, 32e-4, 32e-3, 32e-2, 32e-1, | ||
| 12150 | }); | ||
| 12151 | |||
| 12152 | try testArgs(@Vector(1, i32), @Vector(1, f64), .{ | ||
| 12153 | -0x0.8p32, | ||
| 12154 | }); | ||
| 12155 | try testArgs(@Vector(2, i32), @Vector(2, f64), .{ | ||
| 12156 | next(f64, -0x0.8p32, -0.0), next(f64, next(f64, -0x0.8p32, -0.0), -0.0), | ||
| 12157 | }); | ||
| 12158 | try testArgs(@Vector(4, i32), @Vector(4, f64), .{ | ||
| 12159 | -1e4, -1e3, -1e2, -1e1, | ||
| 12160 | }); | ||
| 12161 | try testArgs(@Vector(8, i32), @Vector(8, f64), .{ | ||
| 12162 | -1e0, -1e-1, -1e-2, -1e-3, -1e-4, -1e-5, -0.0, 0.0, | ||
| 12163 | }); | ||
| 12164 | try testArgs(@Vector(16, i32), @Vector(16, f64), .{ | ||
| 12165 | 1e-5, 1e-4, 1e-3, 1e-2, 1e-1, 1e0, 1e1, 1e2, | ||
| 12166 | 1e3, 1e4, next(f64, next(f64, 0x0.8p32, 0.0), 0.0), next(f64, 0x0.8p32, 0.0), -2e4, -2e3, -2e2, -2e1, | ||
| 12167 | }); | ||
| 12168 | try testArgs(@Vector(32, i32), @Vector(32, f64), .{ | ||
| 12169 | -2e0, -2e-1, -2e-2, -2e-3, -2e-4, -2e-5, 2e-5, 2e-4, | ||
| 12170 | 2e-3, 2e-2, 2e-1, 2e0, 2e1, 2e2, 2e3, 2e4, | ||
| 12171 | -3e4, -3e3, -3e2, -3e1, -3e0, -3e-1, -3e-2, -3e-3, | ||
| 12172 | -3e-4, -3e-5, 3e-5, 3e-4, 3e-3, 3e-2, 3e-1, 3e0, | ||
| 12173 | }); | ||
| 12174 | try testArgs(@Vector(64, i32), @Vector(64, f64), .{ | ||
| 12175 | 3e1, 3e2, 3e3, 3e4, -4e3, -4e2, -4e1, -4e0, | ||
| 12176 | -4e-1, -4e-2, -4e-3, -4e-4, -4e-5, 4e-5, 4e-4, 4e-3, | ||
| 12177 | 4e-2, 4e-1, 4e0, 4e1, 4e2, 4e3, -5e3, -5e2, | ||
| 12178 | -5e1, -5e0, -5e-1, -5e-2, -5e-3, -5e-4, -5e-5, 5e-5, | ||
| 12179 | 5e-4, 5e-3, 5e-2, 5e-1, 5e0, 5e1, 5e2, 5e3, | ||
| 12180 | -6e3, -6e2, -6e1, -6e0, -6e-1, -6e-2, -6e-3, -6e-4, | ||
| 12181 | -6e-5, 6e-5, 6e-4, 6e-3, 6e-2, 6e-1, 6e0, 6e1, | ||
| 12182 | 6e2, 6e3, -7e3, -7e2, -7e1, -7e0, -7e-1, -7e-2, | ||
| 12183 | }); | ||
| 12184 | try testArgs(@Vector(128, i32), @Vector(128, f64), .{ | ||
| 12185 | -7e-3, -7e-4, -7e-5, 7e-5, 7e-4, 7e-3, 7e-2, 7e-1, | ||
| 12186 | 7e0, 7e1, 7e2, 7e3, -8e3, -8e2, -8e1, -8e0, | ||
| 12187 | -8e-1, -8e-2, -8e-3, -8e-4, -8e-5, 8e-5, 8e-4, 8e-3, | ||
| 12188 | 8e-2, 8e-1, 8e0, 8e1, 8e2, 8e3, -9e3, -9e2, | ||
| 12189 | -9e1, -9e0, -9e-1, -9e-2, -9e-3, -9e-4, -9e-5, 9e-5, | ||
| 12190 | 9e-4, 9e-3, 9e-2, 9e-1, 9e0, 9e1, 9e2, 9e3, | ||
| 12191 | -11e3, -11e2, -11e1, -11e0, -11e-1, -11e-2, -11e-3, -11e-4, | ||
| 12192 | -11e-5, 11e-5, 11e-4, 11e-3, 11e-2, 11e-1, 11e0, 11e1, | ||
| 12193 | 11e2, 11e3, -12e3, -12e2, -12e1, -12e0, -12e-1, -12e-2, | ||
| 12194 | -12e-3, -12e-4, -12e-5, 12e-5, 12e-4, 12e-3, 12e-2, 12e-1, | ||
| 12195 | 12e0, 12e1, 12e2, 12e3, -13e3, -13e2, -13e1, -13e0, | ||
| 12196 | -13e-1, -13e-2, -13e-3, -13e-4, -13e-5, 13e-5, 13e-4, 13e-3, | ||
| 12197 | 13e-2, 13e-1, 13e0, 13e1, 13e2, -14e2, -14e1, -14e0, | ||
| 12198 | -14e-1, -14e-2, -14e-3, -14e-4, -14e-5, 14e-5, 14e-4, 14e-3, | ||
| 12199 | 14e-2, 14e-1, 14e0, 14e1, 14e2, 14e3, -15e3, -15e2, | ||
| 12200 | -15e1, -15e0, -15e-1, -15e-2, -15e-3, -15e-4, -15e-5, 15e-5, | ||
| 12201 | }); | ||
| 12202 | |||
| 12203 | try testArgs(@Vector(1, u32), @Vector(1, f64), .{ | ||
| 12204 | -0.0, | ||
| 12205 | }); | ||
| 12206 | try testArgs(@Vector(2, u32), @Vector(2, f64), .{ | ||
| 12207 | 0.0, 1e-5, | ||
| 12208 | }); | ||
| 12209 | try testArgs(@Vector(4, u32), @Vector(4, f64), .{ | ||
| 12210 | 1e-4, 1e-3, 1e-2, 1e-1, | ||
| 12211 | }); | ||
| 12212 | try testArgs(@Vector(8, u32), @Vector(8, f64), .{ | ||
| 12213 | 1e0, 1e1, 1e2, 1e3, 1e4, next(f64, next(f64, 0x1p32, 0.0), 0.0), next(f64, 0x1p32, 0.0), 2e-5, | ||
| 12214 | }); | ||
| 12215 | try testArgs(@Vector(16, u32), @Vector(16, f64), .{ | ||
| 12216 | 2e-4, 2e-3, 2e-2, 2e-1, 2e0, 2e1, 2e2, 2e3, | ||
| 12217 | 2e4, 3e-5, 3e-4, 3e-3, 3e-2, 3e-1, 3e0, 3e1, | ||
| 12218 | }); | ||
| 12219 | try testArgs(@Vector(32, u32), @Vector(32, f64), .{ | ||
| 12220 | 3e2, 3e3, 3e4, 4e-5, 4e-4, 4e-3, 4e-2, 4e-1, | ||
| 12221 | 4e0, 4e1, 4e2, 4e3, 5e-5, 5e-4, 5e-3, 5e-2, | ||
| 12222 | 5e-1, 5e0, 5e1, 5e2, 5e3, 6e-5, 6e-4, 6e-3, | ||
| 12223 | 6e-2, 6e-1, 6e0, 6e1, 6e2, 6e3, 7e-5, 7e-4, | ||
| 12224 | }); | ||
| 12225 | try testArgs(@Vector(64, u32), @Vector(64, f64), .{ | ||
| 12226 | 7e-3, 7e-2, 7e-1, 7e0, 7e1, 7e2, 7e3, 8e-5, | ||
| 12227 | 8e-4, 8e-3, 8e-2, 8e-1, 8e0, 8e1, 8e2, 8e3, | ||
| 12228 | 9e-5, 9e-4, 9e-3, 9e-2, 9e-1, 9e0, 9e1, 9e2, | ||
| 12229 | 9e3, 11e-5, 11e-4, 11e-3, 11e-2, 11e-1, 11e0, 11e1, | ||
| 12230 | 11e2, 11e3, 13e-5, 13e-4, 13e-3, 13e-2, 13e-1, 13e0, | ||
| 12231 | 13e1, 13e2, 13e3, 14e-5, 14e-4, 14e-3, 14e-2, 14e-1, | ||
| 12232 | 14e0, 14e1, 14e2, 14e3, 15e-5, 15e-4, 15e-3, 15e-2, | ||
| 12233 | 15e-1, 15e0, 15e1, 15e2, 15e3, 16e-5, 16e-4, 16e-3, | ||
| 12234 | }); | ||
| 12235 | try testArgs(@Vector(128, u32), @Vector(128, f64), .{ | ||
| 12236 | 16e-2, 16e-1, 16e0, 16e1, 16e2, 16e3, 17e-5, 17e-4, | ||
| 12237 | 17e-3, 17e-2, 17e-1, 17e0, 17e1, 17e2, 17e3, 18e-5, | ||
| 12238 | 18e-4, 18e-3, 18e-2, 18e-1, 18e0, 18e1, 18e2, 18e3, | ||
| 12239 | 19e-5, 19e-4, 19e-3, 19e-2, 19e-1, 19e0, 19e1, 19e2, | ||
| 12240 | 19e3, 21e-5, 21e-4, 21e-3, 21e-2, 21e-1, 21e0, 21e1, | ||
| 12241 | 21e2, 21e3, 22e-5, 22e-4, 22e-3, 22e-2, 22e-1, 22e0, | ||
| 12242 | 22e1, 22e2, 22e3, 23e-5, 23e-4, 23e-3, 23e-2, 23e-1, | ||
| 12243 | 23e0, 23e1, 23e2, 23e3, 24e-5, 24e-4, 24e-3, 24e-2, | ||
| 12244 | 24e-1, 24e0, 24e1, 24e2, 24e3, 25e-5, 25e-4, 25e-3, | ||
| 12245 | 25e-2, 25e-1, 25e0, 25e1, 25e2, 25e3, 26e-5, 26e-4, | ||
| 12246 | 26e-3, 26e-2, 26e-1, 26e0, 26e1, 26e2, 26e3, 27e-5, | ||
| 12247 | 27e-4, 27e-3, 27e-2, 27e-1, 27e0, 27e1, 27e2, 27e3, | ||
| 12248 | 28e-5, 28e-4, 28e-3, 28e-2, 28e-1, 28e0, 28e1, 28e2, | ||
| 12249 | 28e3, 29e-5, 29e-4, 29e-3, 29e-2, 29e-1, 29e0, 29e1, | ||
| 12250 | 29e2, 29e3, 31e-5, 31e-4, 31e-3, 31e-2, 31e-1, 31e0, | ||
| 12251 | 31e1, 31e2, 31e3, 32e-5, 32e-4, 32e-3, 32e-2, 32e-1, | ||
| 12252 | }); | ||
| 12253 | |||
| 12254 | try testArgs(@Vector(1, i64), @Vector(1, f64), .{ | ||
| 12255 | -0x0.8p64, | ||
| 12256 | }); | ||
| 12257 | try testArgs(@Vector(2, i64), @Vector(2, f64), .{ | ||
| 12258 | next(f64, -0x0.8p64, -0.0), next(f64, next(f64, -0x0.8p64, -0.0), -0.0), | ||
| 12259 | }); | ||
| 12260 | try testArgs(@Vector(4, i64), @Vector(4, f64), .{ | ||
| 12261 | -1e4, -1e3, -1e2, -1e1, | ||
| 12262 | }); | ||
| 12263 | try testArgs(@Vector(8, i64), @Vector(8, f64), .{ | ||
| 12264 | -1e0, -1e-1, -1e-2, -1e-3, -1e-4, -1e-5, -0.0, 0.0, | ||
| 12265 | }); | ||
| 12266 | try testArgs(@Vector(16, i64), @Vector(16, f64), .{ | ||
| 12267 | 1e-5, 1e-4, 1e-3, 1e-2, 1e-1, 1e0, 1e1, 1e2, | ||
| 12268 | 1e3, 1e4, next(f64, next(f64, 0x0.8p64, 0.0), 0.0), next(f64, 0x0.8p64, 0.0), -2e4, -2e3, -2e2, -2e1, | ||
| 12269 | }); | ||
| 12270 | try testArgs(@Vector(32, i64), @Vector(32, f64), .{ | ||
| 12271 | -2e0, -2e-1, -2e-2, -2e-3, -2e-4, -2e-5, 2e-5, 2e-4, | ||
| 12272 | 2e-3, 2e-2, 2e-1, 2e0, 2e1, 2e2, 2e3, 2e4, | ||
| 12273 | -3e4, -3e3, -3e2, -3e1, -3e0, -3e-1, -3e-2, -3e-3, | ||
| 12274 | -3e-4, -3e-5, 3e-5, 3e-4, 3e-3, 3e-2, 3e-1, 3e0, | ||
| 12275 | }); | ||
| 12276 | try testArgs(@Vector(64, i64), @Vector(64, f64), .{ | ||
| 12277 | 3e1, 3e2, 3e3, 3e4, -4e3, -4e2, -4e1, -4e0, | ||
| 12278 | -4e-1, -4e-2, -4e-3, -4e-4, -4e-5, 4e-5, 4e-4, 4e-3, | ||
| 12279 | 4e-2, 4e-1, 4e0, 4e1, 4e2, 4e3, -5e3, -5e2, | ||
| 12280 | -5e1, -5e0, -5e-1, -5e-2, -5e-3, -5e-4, -5e-5, 5e-5, | ||
| 12281 | 5e-4, 5e-3, 5e-2, 5e-1, 5e0, 5e1, 5e2, 5e3, | ||
| 12282 | -6e3, -6e2, -6e1, -6e0, -6e-1, -6e-2, -6e-3, -6e-4, | ||
| 12283 | -6e-5, 6e-5, 6e-4, 6e-3, 6e-2, 6e-1, 6e0, 6e1, | ||
| 12284 | 6e2, 6e3, -7e3, -7e2, -7e1, -7e0, -7e-1, -7e-2, | ||
| 12285 | }); | ||
| 12286 | try testArgs(@Vector(128, i64), @Vector(128, f64), .{ | ||
| 12287 | -7e-3, -7e-4, -7e-5, 7e-5, 7e-4, 7e-3, 7e-2, 7e-1, | ||
| 12288 | 7e0, 7e1, 7e2, 7e3, -8e3, -8e2, -8e1, -8e0, | ||
| 12289 | -8e-1, -8e-2, -8e-3, -8e-4, -8e-5, 8e-5, 8e-4, 8e-3, | ||
| 12290 | 8e-2, 8e-1, 8e0, 8e1, 8e2, 8e3, -9e3, -9e2, | ||
| 12291 | -9e1, -9e0, -9e-1, -9e-2, -9e-3, -9e-4, -9e-5, 9e-5, | ||
| 12292 | 9e-4, 9e-3, 9e-2, 9e-1, 9e0, 9e1, 9e2, 9e3, | ||
| 12293 | -11e3, -11e2, -11e1, -11e0, -11e-1, -11e-2, -11e-3, -11e-4, | ||
| 12294 | -11e-5, 11e-5, 11e-4, 11e-3, 11e-2, 11e-1, 11e0, 11e1, | ||
| 12295 | 11e2, 11e3, -12e3, -12e2, -12e1, -12e0, -12e-1, -12e-2, | ||
| 12296 | -12e-3, -12e-4, -12e-5, 12e-5, 12e-4, 12e-3, 12e-2, 12e-1, | ||
| 12297 | 12e0, 12e1, 12e2, 12e3, -13e3, -13e2, -13e1, -13e0, | ||
| 12298 | -13e-1, -13e-2, -13e-3, -13e-4, -13e-5, 13e-5, 13e-4, 13e-3, | ||
| 12299 | 13e-2, 13e-1, 13e0, 13e1, 13e2, -14e2, -14e1, -14e0, | ||
| 12300 | -14e-1, -14e-2, -14e-3, -14e-4, -14e-5, 14e-5, 14e-4, 14e-3, | ||
| 12301 | 14e-2, 14e-1, 14e0, 14e1, 14e2, 14e3, -15e3, -15e2, | ||
| 12302 | -15e1, -15e0, -15e-1, -15e-2, -15e-3, -15e-4, -15e-5, 15e-5, | ||
| 12303 | }); | ||
| 12304 | |||
| 12305 | try testArgs(@Vector(1, u64), @Vector(1, f64), .{ | ||
| 12306 | -0.0, | ||
| 12307 | }); | ||
| 12308 | try testArgs(@Vector(2, u64), @Vector(2, f64), .{ | ||
| 12309 | 0.0, 1e-5, | ||
| 12310 | }); | ||
| 12311 | try testArgs(@Vector(4, u64), @Vector(4, f64), .{ | ||
| 12312 | 1e-4, 1e-3, 1e-2, 1e-1, | ||
| 12313 | }); | ||
| 12314 | try testArgs(@Vector(8, u64), @Vector(8, f64), .{ | ||
| 12315 | 1e0, 1e1, 1e2, 1e3, 1e4, next(f64, next(f64, 0x1p64, 0.0), 0.0), next(f64, 0x1p64, 0.0), 2e-5, | ||
| 12316 | }); | ||
| 12317 | try testArgs(@Vector(16, u64), @Vector(16, f64), .{ | ||
| 12318 | 2e-4, 2e-3, 2e-2, 2e-1, 2e0, 2e1, 2e2, 2e3, | ||
| 12319 | 2e4, 3e-5, 3e-4, 3e-3, 3e-2, 3e-1, 3e0, 3e1, | ||
| 12320 | }); | ||
| 12321 | try testArgs(@Vector(32, u64), @Vector(32, f64), .{ | ||
| 12322 | 3e2, 3e3, 3e4, 4e-5, 4e-4, 4e-3, 4e-2, 4e-1, | ||
| 12323 | 4e0, 4e1, 4e2, 4e3, 5e-5, 5e-4, 5e-3, 5e-2, | ||
| 12324 | 5e-1, 5e0, 5e1, 5e2, 5e3, 6e-5, 6e-4, 6e-3, | ||
| 12325 | 6e-2, 6e-1, 6e0, 6e1, 6e2, 6e3, 7e-5, 7e-4, | ||
| 12326 | }); | ||
| 12327 | try testArgs(@Vector(64, u64), @Vector(64, f64), .{ | ||
| 12328 | 7e-3, 7e-2, 7e-1, 7e0, 7e1, 7e2, 7e3, 8e-5, | ||
| 12329 | 8e-4, 8e-3, 8e-2, 8e-1, 8e0, 8e1, 8e2, 8e3, | ||
| 12330 | 9e-5, 9e-4, 9e-3, 9e-2, 9e-1, 9e0, 9e1, 9e2, | ||
| 12331 | 9e3, 11e-5, 11e-4, 11e-3, 11e-2, 11e-1, 11e0, 11e1, | ||
| 12332 | 11e2, 11e3, 13e-5, 13e-4, 13e-3, 13e-2, 13e-1, 13e0, | ||
| 12333 | 13e1, 13e2, 13e3, 14e-5, 14e-4, 14e-3, 14e-2, 14e-1, | ||
| 12334 | 14e0, 14e1, 14e2, 14e3, 15e-5, 15e-4, 15e-3, 15e-2, | ||
| 12335 | 15e-1, 15e0, 15e1, 15e2, 15e3, 16e-5, 16e-4, 16e-3, | ||
| 12336 | }); | ||
| 12337 | try testArgs(@Vector(128, u64), @Vector(128, f64), .{ | ||
| 12338 | 16e-2, 16e-1, 16e0, 16e1, 16e2, 16e3, 17e-5, 17e-4, | ||
| 12339 | 17e-3, 17e-2, 17e-1, 17e0, 17e1, 17e2, 17e3, 18e-5, | ||
| 12340 | 18e-4, 18e-3, 18e-2, 18e-1, 18e0, 18e1, 18e2, 18e3, | ||
| 12341 | 19e-5, 19e-4, 19e-3, 19e-2, 19e-1, 19e0, 19e1, 19e2, | ||
| 12342 | 19e3, 21e-5, 21e-4, 21e-3, 21e-2, 21e-1, 21e0, 21e1, | ||
| 12343 | 21e2, 21e3, 22e-5, 22e-4, 22e-3, 22e-2, 22e-1, 22e0, | ||
| 12344 | 22e1, 22e2, 22e3, 23e-5, 23e-4, 23e-3, 23e-2, 23e-1, | ||
| 12345 | 23e0, 23e1, 23e2, 23e3, 24e-5, 24e-4, 24e-3, 24e-2, | ||
| 12346 | 24e-1, 24e0, 24e1, 24e2, 24e3, 25e-5, 25e-4, 25e-3, | ||
| 12347 | 25e-2, 25e-1, 25e0, 25e1, 25e2, 25e3, 26e-5, 26e-4, | ||
| 12348 | 26e-3, 26e-2, 26e-1, 26e0, 26e1, 26e2, 26e3, 27e-5, | ||
| 12349 | 27e-4, 27e-3, 27e-2, 27e-1, 27e0, 27e1, 27e2, 27e3, | ||
| 12350 | 28e-5, 28e-4, 28e-3, 28e-2, 28e-1, 28e0, 28e1, 28e2, | ||
| 12351 | 28e3, 29e-5, 29e-4, 29e-3, 29e-2, 29e-1, 29e0, 29e1, | ||
| 12352 | 29e2, 29e3, 31e-5, 31e-4, 31e-3, 31e-2, 31e-1, 31e0, | ||
| 12353 | 31e1, 31e2, 31e3, 32e-5, 32e-4, 32e-3, 32e-2, 32e-1, | ||
| 12354 | }); | ||
| 12355 | |||
| 12356 | try testArgs(@Vector(1, i128), @Vector(1, f64), .{ | ||
| 12357 | -0x0.8p128, | ||
| 12358 | }); | ||
| 12359 | try testArgs(@Vector(2, i128), @Vector(2, f64), .{ | ||
| 12360 | next(f64, -0x0.8p128, -0.0), next(f64, next(f64, -0x0.8p128, -0.0), -0.0), | ||
| 12361 | }); | ||
| 12362 | try testArgs(@Vector(4, i128), @Vector(4, f64), .{ | ||
| 12363 | -1e4, -1e3, -1e2, -1e1, | ||
| 12364 | }); | ||
| 12365 | try testArgs(@Vector(8, i128), @Vector(8, f64), .{ | ||
| 12366 | -1e0, -1e-1, -1e-2, -1e-3, -1e-4, -1e-5, -0.0, 0.0, | ||
| 12367 | }); | ||
| 12368 | try testArgs(@Vector(16, i128), @Vector(16, f64), .{ | ||
| 12369 | 1e-5, 1e-4, 1e-3, 1e-2, 1e-1, 1e0, 1e1, 1e2, | ||
| 12370 | 1e3, 1e4, next(f64, next(f64, 0x0.8p128, 0.0), 0.0), next(f64, 0x0.8p128, 0.0), -2e4, -2e3, -2e2, -2e1, | ||
| 12371 | }); | ||
| 12372 | try testArgs(@Vector(32, i128), @Vector(32, f64), .{ | ||
| 12373 | -2e0, -2e-1, -2e-2, -2e-3, -2e-4, -2e-5, 2e-5, 2e-4, | ||
| 12374 | 2e-3, 2e-2, 2e-1, 2e0, 2e1, 2e2, 2e3, 2e4, | ||
| 12375 | -3e4, -3e3, -3e2, -3e1, -3e0, -3e-1, -3e-2, -3e-3, | ||
| 12376 | -3e-4, -3e-5, 3e-5, 3e-4, 3e-3, 3e-2, 3e-1, 3e0, | ||
| 12377 | }); | ||
| 12378 | try testArgs(@Vector(64, i128), @Vector(64, f64), .{ | ||
| 12379 | 3e1, 3e2, 3e3, 3e4, -4e3, -4e2, -4e1, -4e0, | ||
| 12380 | -4e-1, -4e-2, -4e-3, -4e-4, -4e-5, 4e-5, 4e-4, 4e-3, | ||
| 12381 | 4e-2, 4e-1, 4e0, 4e1, 4e2, 4e3, -5e3, -5e2, | ||
| 12382 | -5e1, -5e0, -5e-1, -5e-2, -5e-3, -5e-4, -5e-5, 5e-5, | ||
| 12383 | 5e-4, 5e-3, 5e-2, 5e-1, 5e0, 5e1, 5e2, 5e3, | ||
| 12384 | -6e3, -6e2, -6e1, -6e0, -6e-1, -6e-2, -6e-3, -6e-4, | ||
| 12385 | -6e-5, 6e-5, 6e-4, 6e-3, 6e-2, 6e-1, 6e0, 6e1, | ||
| 12386 | 6e2, 6e3, -7e3, -7e2, -7e1, -7e0, -7e-1, -7e-2, | ||
| 12387 | }); | ||
| 12388 | |||
| 12389 | try testArgs(@Vector(1, u128), @Vector(1, f64), .{ | ||
| 12390 | -0.0, | ||
| 12391 | }); | ||
| 12392 | try testArgs(@Vector(2, u128), @Vector(2, f64), .{ | ||
| 12393 | 0.0, 1e-5, | ||
| 12394 | }); | ||
| 12395 | try testArgs(@Vector(4, u128), @Vector(4, f64), .{ | ||
| 12396 | 1e-4, 1e-3, 1e-2, 1e-1, | ||
| 12397 | }); | ||
| 12398 | try testArgs(@Vector(8, u128), @Vector(8, f64), .{ | ||
| 12399 | 1e0, 1e1, 1e2, 1e3, 1e4, next(f64, next(f64, 0x1p128, 0.0), 0.0), next(f64, 0x1p128, 0.0), 2e-5, | ||
| 12400 | }); | ||
| 12401 | try testArgs(@Vector(16, u128), @Vector(16, f64), .{ | ||
| 12402 | 2e-4, 2e-3, 2e-2, 2e-1, 2e0, 2e1, 2e2, 2e3, | ||
| 12403 | 2e4, 3e-5, 3e-4, 3e-3, 3e-2, 3e-1, 3e0, 3e1, | ||
| 12404 | }); | ||
| 12405 | try testArgs(@Vector(32, u128), @Vector(32, f64), .{ | ||
| 12406 | 3e2, 3e3, 3e4, 4e-5, 4e-4, 4e-3, 4e-2, 4e-1, | ||
| 12407 | 4e0, 4e1, 4e2, 4e3, 5e-5, 5e-4, 5e-3, 5e-2, | ||
| 12408 | 5e-1, 5e0, 5e1, 5e2, 5e3, 6e-5, 6e-4, 6e-3, | ||
| 12409 | 6e-2, 6e-1, 6e0, 6e1, 6e2, 6e3, 7e-5, 7e-4, | ||
| 12410 | }); | ||
| 12411 | try testArgs(@Vector(64, u128), @Vector(64, f64), .{ | ||
| 12412 | 7e-3, 7e-2, 7e-1, 7e0, 7e1, 7e2, 7e3, 8e-5, | ||
| 12413 | 8e-4, 8e-3, 8e-2, 8e-1, 8e0, 8e1, 8e2, 8e3, | ||
| 12414 | 9e-5, 9e-4, 9e-3, 9e-2, 9e-1, 9e0, 9e1, 9e2, | ||
| 12415 | 9e3, 11e-5, 11e-4, 11e-3, 11e-2, 11e-1, 11e0, 11e1, | ||
| 12416 | 11e2, 11e3, 13e-5, 13e-4, 13e-3, 13e-2, 13e-1, 13e0, | ||
| 12417 | 13e1, 13e2, 13e3, 14e-5, 14e-4, 14e-3, 14e-2, 14e-1, | ||
| 12418 | 14e0, 14e1, 14e2, 14e3, 15e-5, 15e-4, 15e-3, 15e-2, | ||
| 12419 | 15e-1, 15e0, 15e1, 15e2, 15e3, 16e-5, 16e-4, 16e-3, | ||
| 12420 | }); | ||
| 12421 | |||
| 12422 | try testArgs(@Vector(1, i256), @Vector(1, f64), .{ | ||
| 12423 | -0x0.8p256, | ||
| 12424 | }); | ||
| 12425 | try testArgs(@Vector(2, i256), @Vector(2, f64), .{ | ||
| 12426 | next(f64, -0x0.8p256, -0.0), next(f64, next(f64, -0x0.8p256, -0.0), -0.0), | ||
| 12427 | }); | ||
| 12428 | try testArgs(@Vector(4, i256), @Vector(4, f64), .{ | ||
| 12429 | -1e4, -1e3, -1e2, -1e1, | ||
| 12430 | }); | ||
| 12431 | try testArgs(@Vector(8, i256), @Vector(8, f64), .{ | ||
| 12432 | -1e0, -1e-1, -1e-2, -1e-3, -1e-4, -1e-5, -0.0, 0.0, | ||
| 12433 | }); | ||
| 12434 | try testArgs(@Vector(16, i256), @Vector(16, f64), .{ | ||
| 12435 | 1e-5, 1e-4, 1e-3, 1e-2, 1e-1, 1e0, 1e1, 1e2, | ||
| 12436 | 1e3, 1e4, next(f64, next(f64, 0x0.8p256, 0.0), 0.0), next(f64, 0x0.8p256, 0.0), -2e4, -2e3, -2e2, -2e1, | ||
| 12437 | }); | ||
| 12438 | try testArgs(@Vector(32, i256), @Vector(32, f64), .{ | ||
| 12439 | -2e0, -2e-1, -2e-2, -2e-3, -2e-4, -2e-5, 2e-5, 2e-4, | ||
| 12440 | 2e-3, 2e-2, 2e-1, 2e0, 2e1, 2e2, 2e3, 2e4, | ||
| 12441 | -3e4, -3e3, -3e2, -3e1, -3e0, -3e-1, -3e-2, -3e-3, | ||
| 12442 | -3e-4, -3e-5, 3e-5, 3e-4, 3e-3, 3e-2, 3e-1, 3e0, | ||
| 12443 | }); | ||
| 12444 | try testArgs(@Vector(64, i256), @Vector(64, f64), .{ | ||
| 12445 | 3e1, 3e2, 3e3, 3e4, -4e3, -4e2, -4e1, -4e0, | ||
| 12446 | -4e-1, -4e-2, -4e-3, -4e-4, -4e-5, 4e-5, 4e-4, 4e-3, | ||
| 12447 | 4e-2, 4e-1, 4e0, 4e1, 4e2, 4e3, -5e3, -5e2, | ||
| 12448 | -5e1, -5e0, -5e-1, -5e-2, -5e-3, -5e-4, -5e-5, 5e-5, | ||
| 12449 | 5e-4, 5e-3, 5e-2, 5e-1, 5e0, 5e1, 5e2, 5e3, | ||
| 12450 | -6e3, -6e2, -6e1, -6e0, -6e-1, -6e-2, -6e-3, -6e-4, | ||
| 12451 | -6e-5, 6e-5, 6e-4, 6e-3, 6e-2, 6e-1, 6e0, 6e1, | ||
| 12452 | 6e2, 6e3, -7e3, -7e2, -7e1, -7e0, -7e-1, -7e-2, | ||
| 12453 | }); | ||
| 12454 | |||
| 12455 | try testArgs(@Vector(1, u256), @Vector(1, f64), .{ | ||
| 12456 | -0.0, | ||
| 12457 | }); | ||
| 12458 | try testArgs(@Vector(2, u256), @Vector(2, f64), .{ | ||
| 12459 | 0.0, 1e-5, | ||
| 12460 | }); | ||
| 12461 | try testArgs(@Vector(4, u256), @Vector(4, f64), .{ | ||
| 12462 | 1e-4, 1e-3, 1e-2, 1e-1, | ||
| 12463 | }); | ||
| 12464 | try testArgs(@Vector(8, u256), @Vector(8, f64), .{ | ||
| 12465 | 1e0, 1e1, 1e2, 1e3, 1e4, next(f64, next(f64, 0x1p256, 0.0), 0.0), next(f64, 0x1p256, 0.0), 2e-5, | ||
| 12466 | }); | ||
| 12467 | try testArgs(@Vector(16, u256), @Vector(16, f64), .{ | ||
| 12468 | 2e-4, 2e-3, 2e-2, 2e-1, 2e0, 2e1, 2e2, 2e3, | ||
| 12469 | 2e4, 3e-5, 3e-4, 3e-3, 3e-2, 3e-1, 3e0, 3e1, | ||
| 12470 | }); | ||
| 12471 | try testArgs(@Vector(32, u256), @Vector(32, f64), .{ | ||
| 12472 | 3e2, 3e3, 3e4, 4e-5, 4e-4, 4e-3, 4e-2, 4e-1, | ||
| 12473 | 4e0, 4e1, 4e2, 4e3, 5e-5, 5e-4, 5e-3, 5e-2, | ||
| 12474 | 5e-1, 5e0, 5e1, 5e2, 5e3, 6e-5, 6e-4, 6e-3, | ||
| 12475 | 6e-2, 6e-1, 6e0, 6e1, 6e2, 6e3, 7e-5, 7e-4, | ||
| 12476 | }); | ||
| 12477 | try testArgs(@Vector(64, u256), @Vector(64, f64), .{ | ||
| 12478 | 7e-3, 7e-2, 7e-1, 7e0, 7e1, 7e2, 7e3, 8e-5, | ||
| 12479 | 8e-4, 8e-3, 8e-2, 8e-1, 8e0, 8e1, 8e2, 8e3, | ||
| 12480 | 9e-5, 9e-4, 9e-3, 9e-2, 9e-1, 9e0, 9e1, 9e2, | ||
| 12481 | 9e3, 11e-5, 11e-4, 11e-3, 11e-2, 11e-1, 11e0, 11e1, | ||
| 12482 | 11e2, 11e3, 13e-5, 13e-4, 13e-3, 13e-2, 13e-1, 13e0, | ||
| 12483 | 13e1, 13e2, 13e3, 14e-5, 14e-4, 14e-3, 14e-2, 14e-1, | ||
| 12484 | 14e0, 14e1, 14e2, 14e3, 15e-5, 15e-4, 15e-3, 15e-2, | ||
| 12485 | 15e-1, 15e0, 15e1, 15e2, 15e3, 16e-5, 16e-4, 16e-3, | ||
| 12486 | }); | ||
| 12487 | |||
| 12488 | try testArgs(@Vector(1, i8), @Vector(1, f80), .{ | ||
| 12489 | -0x0.8p8, | ||
| 12490 | }); | ||
| 12491 | try testArgs(@Vector(2, i8), @Vector(2, f80), .{ | ||
| 12492 | next(f80, -0x0.8p8, -0.0), next(f80, next(f80, -0x0.8p8, -0.0), -0.0), | ||
| 12493 | }); | ||
| 12494 | try testArgs(@Vector(4, i8), @Vector(4, f80), .{ | ||
| 12495 | -1e2, -1e1, -1e0, -1e-1, | ||
| 12496 | }); | ||
| 12497 | try testArgs(@Vector(8, i8), @Vector(8, f80), .{ | ||
| 12498 | -1e-2, -1e-3, -1e-4, -1e-5, -0.0, 0.0, 1e-5, 1e-4, | ||
| 12499 | }); | ||
| 12500 | try testArgs(@Vector(16, i8), @Vector(16, f80), .{ | ||
| 12501 | 1e-3, 1e-2, 1e-1, 1e0, 1e1, 1e2, next(f80, next(f80, 0x0.8p8, 0.0), 0.0), next(f80, 0x0.8p8, 0.0), | ||
| 12502 | -2e1, -2e0, -2e-1, -2e-2, -2e-3, -2e-4, -2e-5, 2e-5, | ||
| 12503 | }); | ||
| 12504 | try testArgs(@Vector(32, i8), @Vector(32, f80), .{ | ||
| 12505 | 2e-4, 2e-3, 2e-2, 2e-1, 2e0, 2e1, -3e1, -3e0, | ||
| 12506 | -3e-1, -3e-2, -3e-3, -3e-4, -3e-5, 3e-5, 3e-4, 3e-3, | ||
| 12507 | 3e-2, 3e-1, 3e0, 3e1, -4e1, -4e0, -4e-1, -4e-2, | ||
| 12508 | -4e-3, -4e-4, -4e-5, 4e-5, 4e-4, 4e-3, 4e-2, 4e-1, | ||
| 12509 | }); | ||
| 12510 | try testArgs(@Vector(64, i8), @Vector(64, f80), .{ | ||
| 12511 | 4e0, 4e1, -5e1, -5e0, -5e-1, -5e-2, -5e-3, -5e-4, | ||
| 12512 | -5e-5, 5e-5, 5e-4, 5e-3, 5e-2, 5e-1, 5e0, 5e1, | ||
| 12513 | -6e1, -6e0, -6e-1, -6e-2, -6e-3, -6e-4, -6e-5, 6e-5, | ||
| 12514 | 6e-4, 6e-3, 6e-2, 6e-1, 6e0, 6e1, -7e1, -7e0, | ||
| 12515 | -7e-1, -7e-2, -7e-3, -7e-4, -7e-5, 7e-5, 7e-4, 7e-3, | ||
| 12516 | 7e-2, 7e-1, 7e0, 7e1, -8e1, -8e0, -8e-1, -8e-2, | ||
| 12517 | -8e-3, -8e-4, -8e-5, 8e-5, 8e-4, 8e-3, 8e-2, 8e-1, | ||
| 12518 | 8e0, 8e1, -9e1, -9e0, -9e-1, -9e-2, -9e-3, -9e-4, | ||
| 12519 | }); | ||
| 12520 | try testArgs(@Vector(128, i8), @Vector(128, f80), .{ | ||
| 12521 | -9e-5, 9e-5, 9e-4, 9e-3, 9e-2, 9e-1, 9e0, 9e1, | ||
| 12522 | -11e1, -11e0, -11e-1, -11e-2, -11e-3, -11e-4, -11e-5, 11e-5, | ||
| 12523 | 11e-4, 11e-3, 11e-2, 11e-1, 11e0, 11e1, -12e1, -12e0, | ||
| 12524 | -12e-1, -12e-2, -12e-3, -12e-4, -12e-5, 12e-5, 12e-4, 12e-3, | ||
| 12525 | 12e-2, 12e-1, 12e0, 12e1, -13e0, -13e-1, -13e-2, -13e-3, | ||
| 12526 | -13e-4, -13e-5, 13e-5, 13e-4, 13e-3, 13e-2, 13e-1, 13e0, | ||
| 12527 | -14e0, -14e-1, -14e-2, -14e-3, -14e-4, -14e-5, 14e-5, 14e-4, | ||
| 12528 | 14e-3, 14e-2, 14e-1, 14e0, -15e0, -15e-1, -15e-2, -15e-3, | ||
| 12529 | -15e-4, -15e-5, 15e-5, 15e-4, 15e-3, 15e-2, 15e-1, 15e0, | ||
| 12530 | -16e0, -16e-1, -16e-2, -16e-3, -16e-4, -16e-5, 16e-5, 16e-4, | ||
| 12531 | 16e-3, 16e-2, 16e-1, 16e0, -17e0, -17e-1, -17e-2, -17e-3, | ||
| 12532 | -17e-4, -17e-5, 17e-5, 17e-4, 17e-3, 17e-2, 17e-1, 17e0, | ||
| 12533 | -18e0, -18e-1, -18e-2, -18e-3, -18e-4, -18e-5, 18e-5, 18e-4, | ||
| 12534 | 18e-3, 18e-2, 18e-1, 18e0, -19e0, -19e-1, -19e-2, -19e-3, | ||
| 12535 | -19e-4, -19e-5, 19e-5, 19e-4, 19e-3, 19e-2, 19e-1, 19e0, | ||
| 12536 | -21e0, -21e-1, -21e-2, -21e-3, -21e-4, -21e-5, 21e-5, 21e-4, | ||
| 12537 | }); | ||
| 12538 | |||
| 12539 | try testArgs(@Vector(1, u8), @Vector(1, f80), .{ | ||
| 12540 | -0.0, | ||
| 12541 | }); | ||
| 12542 | try testArgs(@Vector(2, u8), @Vector(2, f80), .{ | ||
| 12543 | 0.0, 1e-5, | ||
| 12544 | }); | ||
| 12545 | try testArgs(@Vector(4, u8), @Vector(4, f80), .{ | ||
| 12546 | 1e-4, 1e-3, 1e-2, 1e-1, | ||
| 12547 | }); | ||
| 12548 | try testArgs(@Vector(8, u8), @Vector(8, f80), .{ | ||
| 12549 | 1e0, 1e1, 1e2, next(f80, next(f80, 0x1p8, 0.0), 0.0), next(f80, 0x1p8, 0.0), 2e-5, 2e-4, 2e-3, | ||
| 12550 | }); | ||
| 12551 | try testArgs(@Vector(16, u8), @Vector(16, f80), .{ | ||
| 12552 | 2e-2, 2e-1, 2e0, 2e1, 2e2, 3e-5, 3e-4, 3e-3, | ||
| 12553 | 3e-2, 3e-1, 3e0, 3e1, 4e-5, 4e-4, 4e-3, 4e-2, | ||
| 12554 | }); | ||
| 12555 | try testArgs(@Vector(32, u8), @Vector(32, f80), .{ | ||
| 12556 | 4e-1, 4e0, 4e1, 5e-5, 5e-4, 5e-3, 5e-2, 5e-1, | ||
| 12557 | 5e0, 5e1, 6e-5, 6e-4, 6e-3, 6e-2, 6e-1, 6e0, | ||
| 12558 | 6e1, 7e-5, 7e-4, 7e-3, 7e-2, 7e-1, 7e0, 7e1, | ||
| 12559 | 8e-5, 8e-4, 8e-3, 8e-2, 8e-1, 8e0, 8e1, 9e-5, | ||
| 12560 | }); | ||
| 12561 | try testArgs(@Vector(64, u8), @Vector(64, f80), .{ | ||
| 12562 | 9e-4, 9e-3, 9e-2, 9e-1, 9e0, 9e1, 11e-5, 11e-4, | ||
| 12563 | 11e-3, 11e-2, 11e-1, 11e0, 11e1, 13e-5, 13e-4, 13e-3, | ||
| 12564 | 13e-2, 13e-1, 13e0, 14e-5, 14e-4, 14e-3, 14e-2, 14e-1, | ||
| 12565 | 14e0, 14e1, 15e-5, 15e-4, 15e-3, 15e-2, 15e-1, 15e0, | ||
| 12566 | 15e1, 16e-5, 16e-4, 16e-3, 16e-2, 16e-1, 16e0, 16e1, | ||
| 12567 | 17e-5, 17e-4, 17e-3, 17e-2, 17e-1, 17e0, 17e1, 18e-5, | ||
| 12568 | 18e-4, 18e-3, 18e-2, 18e-1, 18e0, 18e1, 19e-5, 19e-4, | ||
| 12569 | 19e-3, 19e-2, 19e-1, 19e0, 19e1, 21e-5, 21e-4, 21e-3, | ||
| 12570 | }); | ||
| 12571 | try testArgs(@Vector(128, u8), @Vector(128, f80), .{ | ||
| 12572 | 21e-2, 21e-1, 21e0, 21e1, 22e-5, 22e-4, 22e-3, 22e-2, | ||
| 12573 | 22e-1, 22e0, 22e1, 23e-5, 23e-4, 23e-3, 23e-2, 23e-1, | ||
| 12574 | 23e0, 23e1, 24e-5, 24e-4, 24e-3, 24e-2, 24e-1, 24e0, | ||
| 12575 | 24e1, 25e-5, 25e-4, 25e-3, 25e-2, 25e-1, 25e0, 25e1, | ||
| 12576 | 26e-5, 26e-4, 26e-3, 26e-2, 26e-1, 26e0, 27e-5, 27e-4, | ||
| 12577 | 27e-3, 27e-2, 27e-1, 27e0, 28e-5, 28e-4, 28e-3, 28e-2, | ||
| 12578 | 28e-1, 28e0, 29e-5, 29e-4, 29e-3, 29e-2, 29e-1, 29e0, | ||
| 12579 | 31e-5, 31e-4, 31e-3, 31e-2, 31e-1, 31e0, 32e-5, 32e-4, | ||
| 12580 | 32e-3, 32e-2, 32e-1, 32e0, 33e-5, 33e-4, 33e-3, 33e-2, | ||
| 12581 | 33e-1, 33e0, 34e-5, 34e-4, 34e-3, 34e-2, 34e-1, 34e0, | ||
| 12582 | 35e-5, 35e-4, 35e-3, 35e-2, 35e-1, 35e0, 36e-5, 36e-4, | ||
| 12583 | 36e-3, 36e-2, 36e-1, 36e0, 37e-5, 37e-4, 37e-3, 37e-2, | ||
| 12584 | 37e-1, 37e0, 38e-5, 38e-4, 38e-3, 38e-2, 38e-1, 38e0, | ||
| 12585 | 39e-5, 39e-4, 39e-3, 39e-2, 39e-1, 39e0, 41e-5, 41e-4, | ||
| 12586 | 41e-3, 41e-2, 41e-1, 41e0, 42e-5, 42e-4, 42e-3, 42e-2, | ||
| 12587 | 42e-1, 42e0, 43e-5, 43e-4, 43e-3, 43e-2, 43e-1, 43e0, | ||
| 12588 | }); | ||
| 12589 | |||
| 12590 | try testArgs(@Vector(1, i16), @Vector(1, f80), .{ | ||
| 12591 | -0x0.8p16, | ||
| 12592 | }); | ||
| 12593 | try testArgs(@Vector(2, i16), @Vector(2, f80), .{ | ||
| 12594 | next(f80, -0x0.8p16, -0.0), next(f80, next(f80, -0x0.8p16, -0.0), -0.0), | ||
| 12595 | }); | ||
| 12596 | try testArgs(@Vector(4, i16), @Vector(4, f80), .{ | ||
| 12597 | -1e4, -1e3, -1e2, -1e1, | ||
| 12598 | }); | ||
| 12599 | try testArgs(@Vector(8, i16), @Vector(8, f80), .{ | ||
| 12600 | -1e0, -1e-1, -1e-2, -1e-3, -1e-4, -1e-5, -0.0, 0.0, | ||
| 12601 | }); | ||
| 12602 | try testArgs(@Vector(16, i16), @Vector(16, f80), .{ | ||
| 12603 | 1e-5, 1e-4, 1e-3, 1e-2, 1e-1, 1e0, 1e1, 1e2, | ||
| 12604 | 1e3, 1e4, next(f80, next(f80, 0x0.8p16, 0.0), 0.0), next(f80, 0x0.8p16, 0.0), -2e4, -2e3, -2e2, -2e1, | ||
| 12605 | }); | ||
| 12606 | try testArgs(@Vector(32, i16), @Vector(32, f80), .{ | ||
| 12607 | -2e0, -2e-1, -2e-2, -2e-3, -2e-4, -2e-5, 2e-5, 2e-4, | ||
| 12608 | 2e-3, 2e-2, 2e-1, 2e0, 2e1, 2e2, 2e3, 2e4, | ||
| 12609 | -3e4, -3e3, -3e2, -3e1, -3e0, -3e-1, -3e-2, -3e-3, | ||
| 12610 | -3e-4, -3e-5, 3e-5, 3e-4, 3e-3, 3e-2, 3e-1, 3e0, | ||
| 12611 | }); | ||
| 12612 | try testArgs(@Vector(64, i16), @Vector(64, f80), .{ | ||
| 12613 | 3e1, 3e2, 3e3, 3e4, -4e3, -4e2, -4e1, -4e0, | ||
| 12614 | -4e-1, -4e-2, -4e-3, -4e-4, -4e-5, 4e-5, 4e-4, 4e-3, | ||
| 12615 | 4e-2, 4e-1, 4e0, 4e1, 4e2, 4e3, -5e3, -5e2, | ||
| 12616 | -5e1, -5e0, -5e-1, -5e-2, -5e-3, -5e-4, -5e-5, 5e-5, | ||
| 12617 | 5e-4, 5e-3, 5e-2, 5e-1, 5e0, 5e1, 5e2, 5e3, | ||
| 12618 | -6e3, -6e2, -6e1, -6e0, -6e-1, -6e-2, -6e-3, -6e-4, | ||
| 12619 | -6e-5, 6e-5, 6e-4, 6e-3, 6e-2, 6e-1, 6e0, 6e1, | ||
| 12620 | 6e2, 6e3, -7e3, -7e2, -7e1, -7e0, -7e-1, -7e-2, | ||
| 12621 | }); | ||
| 12622 | try testArgs(@Vector(128, i16), @Vector(128, f80), .{ | ||
| 12623 | -7e-3, -7e-4, -7e-5, 7e-5, 7e-4, 7e-3, 7e-2, 7e-1, | ||
| 12624 | 7e0, 7e1, 7e2, 7e3, -8e3, -8e2, -8e1, -8e0, | ||
| 12625 | -8e-1, -8e-2, -8e-3, -8e-4, -8e-5, 8e-5, 8e-4, 8e-3, | ||
| 12626 | 8e-2, 8e-1, 8e0, 8e1, 8e2, 8e3, -9e3, -9e2, | ||
| 12627 | -9e1, -9e0, -9e-1, -9e-2, -9e-3, -9e-4, -9e-5, 9e-5, | ||
| 12628 | 9e-4, 9e-3, 9e-2, 9e-1, 9e0, 9e1, 9e2, 9e3, | ||
| 12629 | -11e3, -11e2, -11e1, -11e0, -11e-1, -11e-2, -11e-3, -11e-4, | ||
| 12630 | -11e-5, 11e-5, 11e-4, 11e-3, 11e-2, 11e-1, 11e0, 11e1, | ||
| 12631 | 11e2, 11e3, -12e3, -12e2, -12e1, -12e0, -12e-1, -12e-2, | ||
| 12632 | -12e-3, -12e-4, -12e-5, 12e-5, 12e-4, 12e-3, 12e-2, 12e-1, | ||
| 12633 | 12e0, 12e1, 12e2, 12e3, -13e3, -13e2, -13e1, -13e0, | ||
| 12634 | -13e-1, -13e-2, -13e-3, -13e-4, -13e-5, 13e-5, 13e-4, 13e-3, | ||
| 12635 | 13e-2, 13e-1, 13e0, 13e1, 13e2, -14e2, -14e1, -14e0, | ||
| 12636 | -14e-1, -14e-2, -14e-3, -14e-4, -14e-5, 14e-5, 14e-4, 14e-3, | ||
| 12637 | 14e-2, 14e-1, 14e0, 14e1, 14e2, 14e3, -15e3, -15e2, | ||
| 12638 | -15e1, -15e0, -15e-1, -15e-2, -15e-3, -15e-4, -15e-5, 15e-5, | ||
| 12639 | }); | ||
| 12640 | |||
| 12641 | try testArgs(@Vector(1, u16), @Vector(1, f80), .{ | ||
| 12642 | -0.0, | ||
| 12643 | }); | ||
| 12644 | try testArgs(@Vector(2, u16), @Vector(2, f80), .{ | ||
| 12645 | 0.0, 1e-5, | ||
| 12646 | }); | ||
| 12647 | try testArgs(@Vector(4, u16), @Vector(4, f80), .{ | ||
| 12648 | 1e-4, 1e-3, 1e-2, 1e-1, | ||
| 12649 | }); | ||
| 12650 | try testArgs(@Vector(8, u16), @Vector(8, f80), .{ | ||
| 12651 | 1e0, 1e1, 1e2, 1e3, 1e4, next(f80, next(f80, 0x1p16, 0.0), 0.0), next(f80, 0x1p16, 0.0), 2e-5, | ||
| 12652 | }); | ||
| 12653 | try testArgs(@Vector(16, u16), @Vector(16, f80), .{ | ||
| 12654 | 2e-4, 2e-3, 2e-2, 2e-1, 2e0, 2e1, 2e2, 2e3, | ||
| 12655 | 2e4, 3e-5, 3e-4, 3e-3, 3e-2, 3e-1, 3e0, 3e1, | ||
| 12656 | }); | ||
| 12657 | try testArgs(@Vector(32, u16), @Vector(32, f80), .{ | ||
| 12658 | 3e2, 3e3, 3e4, 4e-5, 4e-4, 4e-3, 4e-2, 4e-1, | ||
| 12659 | 4e0, 4e1, 4e2, 4e3, 5e-5, 5e-4, 5e-3, 5e-2, | ||
| 12660 | 5e-1, 5e0, 5e1, 5e2, 5e3, 6e-5, 6e-4, 6e-3, | ||
| 12661 | 6e-2, 6e-1, 6e0, 6e1, 6e2, 6e3, 7e-5, 7e-4, | ||
| 12662 | }); | ||
| 12663 | try testArgs(@Vector(64, u16), @Vector(64, f80), .{ | ||
| 12664 | 7e-3, 7e-2, 7e-1, 7e0, 7e1, 7e2, 7e3, 8e-5, | ||
| 12665 | 8e-4, 8e-3, 8e-2, 8e-1, 8e0, 8e1, 8e2, 8e3, | ||
| 12666 | 9e-5, 9e-4, 9e-3, 9e-2, 9e-1, 9e0, 9e1, 9e2, | ||
| 12667 | 9e3, 11e-5, 11e-4, 11e-3, 11e-2, 11e-1, 11e0, 11e1, | ||
| 12668 | 11e2, 11e3, 13e-5, 13e-4, 13e-3, 13e-2, 13e-1, 13e0, | ||
| 12669 | 13e1, 13e2, 13e3, 14e-5, 14e-4, 14e-3, 14e-2, 14e-1, | ||
| 12670 | 14e0, 14e1, 14e2, 14e3, 15e-5, 15e-4, 15e-3, 15e-2, | ||
| 12671 | 15e-1, 15e0, 15e1, 15e2, 15e3, 16e-5, 16e-4, 16e-3, | ||
| 12672 | }); | ||
| 12673 | try testArgs(@Vector(128, u16), @Vector(128, f80), .{ | ||
| 12674 | 16e-2, 16e-1, 16e0, 16e1, 16e2, 16e3, 17e-5, 17e-4, | ||
| 12675 | 17e-3, 17e-2, 17e-1, 17e0, 17e1, 17e2, 17e3, 18e-5, | ||
| 12676 | 18e-4, 18e-3, 18e-2, 18e-1, 18e0, 18e1, 18e2, 18e3, | ||
| 12677 | 19e-5, 19e-4, 19e-3, 19e-2, 19e-1, 19e0, 19e1, 19e2, | ||
| 12678 | 19e3, 21e-5, 21e-4, 21e-3, 21e-2, 21e-1, 21e0, 21e1, | ||
| 12679 | 21e2, 21e3, 22e-5, 22e-4, 22e-3, 22e-2, 22e-1, 22e0, | ||
| 12680 | 22e1, 22e2, 22e3, 23e-5, 23e-4, 23e-3, 23e-2, 23e-1, | ||
| 12681 | 23e0, 23e1, 23e2, 23e3, 24e-5, 24e-4, 24e-3, 24e-2, | ||
| 12682 | 24e-1, 24e0, 24e1, 24e2, 24e3, 25e-5, 25e-4, 25e-3, | ||
| 12683 | 25e-2, 25e-1, 25e0, 25e1, 25e2, 25e3, 26e-5, 26e-4, | ||
| 12684 | 26e-3, 26e-2, 26e-1, 26e0, 26e1, 26e2, 26e3, 27e-5, | ||
| 12685 | 27e-4, 27e-3, 27e-2, 27e-1, 27e0, 27e1, 27e2, 27e3, | ||
| 12686 | 28e-5, 28e-4, 28e-3, 28e-2, 28e-1, 28e0, 28e1, 28e2, | ||
| 12687 | 28e3, 29e-5, 29e-4, 29e-3, 29e-2, 29e-1, 29e0, 29e1, | ||
| 12688 | 29e2, 29e3, 31e-5, 31e-4, 31e-3, 31e-2, 31e-1, 31e0, | ||
| 12689 | 31e1, 31e2, 31e3, 32e-5, 32e-4, 32e-3, 32e-2, 32e-1, | ||
| 12690 | }); | ||
| 12691 | |||
| 12692 | try testArgs(@Vector(1, i32), @Vector(1, f80), .{ | ||
| 12693 | -0x0.8p32, | ||
| 12694 | }); | ||
| 12695 | try testArgs(@Vector(2, i32), @Vector(2, f80), .{ | ||
| 12696 | next(f80, -0x0.8p32, -0.0), next(f80, next(f80, -0x0.8p32, -0.0), -0.0), | ||
| 12697 | }); | ||
| 12698 | try testArgs(@Vector(4, i32), @Vector(4, f80), .{ | ||
| 12699 | -1e4, -1e3, -1e2, -1e1, | ||
| 12700 | }); | ||
| 12701 | try testArgs(@Vector(8, i32), @Vector(8, f80), .{ | ||
| 12702 | -1e0, -1e-1, -1e-2, -1e-3, -1e-4, -1e-5, -0.0, 0.0, | ||
| 12703 | }); | ||
| 12704 | try testArgs(@Vector(16, i32), @Vector(16, f80), .{ | ||
| 12705 | 1e-5, 1e-4, 1e-3, 1e-2, 1e-1, 1e0, 1e1, 1e2, | ||
| 12706 | 1e3, 1e4, next(f80, next(f80, 0x0.8p32, 0.0), 0.0), next(f80, 0x0.8p32, 0.0), -2e4, -2e3, -2e2, -2e1, | ||
| 12707 | }); | ||
| 12708 | try testArgs(@Vector(32, i32), @Vector(32, f80), .{ | ||
| 12709 | -2e0, -2e-1, -2e-2, -2e-3, -2e-4, -2e-5, 2e-5, 2e-4, | ||
| 12710 | 2e-3, 2e-2, 2e-1, 2e0, 2e1, 2e2, 2e3, 2e4, | ||
| 12711 | -3e4, -3e3, -3e2, -3e1, -3e0, -3e-1, -3e-2, -3e-3, | ||
| 12712 | -3e-4, -3e-5, 3e-5, 3e-4, 3e-3, 3e-2, 3e-1, 3e0, | ||
| 12713 | }); | ||
| 12714 | try testArgs(@Vector(64, i32), @Vector(64, f80), .{ | ||
| 12715 | 3e1, 3e2, 3e3, 3e4, -4e3, -4e2, -4e1, -4e0, | ||
| 12716 | -4e-1, -4e-2, -4e-3, -4e-4, -4e-5, 4e-5, 4e-4, 4e-3, | ||
| 12717 | 4e-2, 4e-1, 4e0, 4e1, 4e2, 4e3, -5e3, -5e2, | ||
| 12718 | -5e1, -5e0, -5e-1, -5e-2, -5e-3, -5e-4, -5e-5, 5e-5, | ||
| 12719 | 5e-4, 5e-3, 5e-2, 5e-1, 5e0, 5e1, 5e2, 5e3, | ||
| 12720 | -6e3, -6e2, -6e1, -6e0, -6e-1, -6e-2, -6e-3, -6e-4, | ||
| 12721 | -6e-5, 6e-5, 6e-4, 6e-3, 6e-2, 6e-1, 6e0, 6e1, | ||
| 12722 | 6e2, 6e3, -7e3, -7e2, -7e1, -7e0, -7e-1, -7e-2, | ||
| 12723 | }); | ||
| 12724 | try testArgs(@Vector(128, i32), @Vector(128, f80), .{ | ||
| 12725 | -7e-3, -7e-4, -7e-5, 7e-5, 7e-4, 7e-3, 7e-2, 7e-1, | ||
| 12726 | 7e0, 7e1, 7e2, 7e3, -8e3, -8e2, -8e1, -8e0, | ||
| 12727 | -8e-1, -8e-2, -8e-3, -8e-4, -8e-5, 8e-5, 8e-4, 8e-3, | ||
| 12728 | 8e-2, 8e-1, 8e0, 8e1, 8e2, 8e3, -9e3, -9e2, | ||
| 12729 | -9e1, -9e0, -9e-1, -9e-2, -9e-3, -9e-4, -9e-5, 9e-5, | ||
| 12730 | 9e-4, 9e-3, 9e-2, 9e-1, 9e0, 9e1, 9e2, 9e3, | ||
| 12731 | -11e3, -11e2, -11e1, -11e0, -11e-1, -11e-2, -11e-3, -11e-4, | ||
| 12732 | -11e-5, 11e-5, 11e-4, 11e-3, 11e-2, 11e-1, 11e0, 11e1, | ||
| 12733 | 11e2, 11e3, -12e3, -12e2, -12e1, -12e0, -12e-1, -12e-2, | ||
| 12734 | -12e-3, -12e-4, -12e-5, 12e-5, 12e-4, 12e-3, 12e-2, 12e-1, | ||
| 12735 | 12e0, 12e1, 12e2, 12e3, -13e3, -13e2, -13e1, -13e0, | ||
| 12736 | -13e-1, -13e-2, -13e-3, -13e-4, -13e-5, 13e-5, 13e-4, 13e-3, | ||
| 12737 | 13e-2, 13e-1, 13e0, 13e1, 13e2, -14e2, -14e1, -14e0, | ||
| 12738 | -14e-1, -14e-2, -14e-3, -14e-4, -14e-5, 14e-5, 14e-4, 14e-3, | ||
| 12739 | 14e-2, 14e-1, 14e0, 14e1, 14e2, 14e3, -15e3, -15e2, | ||
| 12740 | -15e1, -15e0, -15e-1, -15e-2, -15e-3, -15e-4, -15e-5, 15e-5, | ||
| 12741 | }); | ||
| 12742 | |||
| 12743 | try testArgs(@Vector(1, u32), @Vector(1, f80), .{ | ||
| 12744 | -0.0, | ||
| 12745 | }); | ||
| 12746 | try testArgs(@Vector(2, u32), @Vector(2, f80), .{ | ||
| 12747 | 0.0, 1e-5, | ||
| 12748 | }); | ||
| 12749 | try testArgs(@Vector(4, u32), @Vector(4, f80), .{ | ||
| 12750 | 1e-4, 1e-3, 1e-2, 1e-1, | ||
| 12751 | }); | ||
| 12752 | try testArgs(@Vector(8, u32), @Vector(8, f80), .{ | ||
| 12753 | 1e0, 1e1, 1e2, 1e3, 1e4, next(f80, next(f80, 0x1p32, 0.0), 0.0), next(f80, 0x1p32, 0.0), 2e-5, | ||
| 12754 | }); | ||
| 12755 | try testArgs(@Vector(16, u32), @Vector(16, f80), .{ | ||
| 12756 | 2e-4, 2e-3, 2e-2, 2e-1, 2e0, 2e1, 2e2, 2e3, | ||
| 12757 | 2e4, 3e-5, 3e-4, 3e-3, 3e-2, 3e-1, 3e0, 3e1, | ||
| 12758 | }); | ||
| 12759 | try testArgs(@Vector(32, u32), @Vector(32, f80), .{ | ||
| 12760 | 3e2, 3e3, 3e4, 4e-5, 4e-4, 4e-3, 4e-2, 4e-1, | ||
| 12761 | 4e0, 4e1, 4e2, 4e3, 5e-5, 5e-4, 5e-3, 5e-2, | ||
| 12762 | 5e-1, 5e0, 5e1, 5e2, 5e3, 6e-5, 6e-4, 6e-3, | ||
| 12763 | 6e-2, 6e-1, 6e0, 6e1, 6e2, 6e3, 7e-5, 7e-4, | ||
| 12764 | }); | ||
| 12765 | try testArgs(@Vector(64, u32), @Vector(64, f80), .{ | ||
| 12766 | 7e-3, 7e-2, 7e-1, 7e0, 7e1, 7e2, 7e3, 8e-5, | ||
| 12767 | 8e-4, 8e-3, 8e-2, 8e-1, 8e0, 8e1, 8e2, 8e3, | ||
| 12768 | 9e-5, 9e-4, 9e-3, 9e-2, 9e-1, 9e0, 9e1, 9e2, | ||
| 12769 | 9e3, 11e-5, 11e-4, 11e-3, 11e-2, 11e-1, 11e0, 11e1, | ||
| 12770 | 11e2, 11e3, 13e-5, 13e-4, 13e-3, 13e-2, 13e-1, 13e0, | ||
| 12771 | 13e1, 13e2, 13e3, 14e-5, 14e-4, 14e-3, 14e-2, 14e-1, | ||
| 12772 | 14e0, 14e1, 14e2, 14e3, 15e-5, 15e-4, 15e-3, 15e-2, | ||
| 12773 | 15e-1, 15e0, 15e1, 15e2, 15e3, 16e-5, 16e-4, 16e-3, | ||
| 12774 | }); | ||
| 12775 | try testArgs(@Vector(128, u32), @Vector(128, f80), .{ | ||
| 12776 | 16e-2, 16e-1, 16e0, 16e1, 16e2, 16e3, 17e-5, 17e-4, | ||
| 12777 | 17e-3, 17e-2, 17e-1, 17e0, 17e1, 17e2, 17e3, 18e-5, | ||
| 12778 | 18e-4, 18e-3, 18e-2, 18e-1, 18e0, 18e1, 18e2, 18e3, | ||
| 12779 | 19e-5, 19e-4, 19e-3, 19e-2, 19e-1, 19e0, 19e1, 19e2, | ||
| 12780 | 19e3, 21e-5, 21e-4, 21e-3, 21e-2, 21e-1, 21e0, 21e1, | ||
| 12781 | 21e2, 21e3, 22e-5, 22e-4, 22e-3, 22e-2, 22e-1, 22e0, | ||
| 12782 | 22e1, 22e2, 22e3, 23e-5, 23e-4, 23e-3, 23e-2, 23e-1, | ||
| 12783 | 23e0, 23e1, 23e2, 23e3, 24e-5, 24e-4, 24e-3, 24e-2, | ||
| 12784 | 24e-1, 24e0, 24e1, 24e2, 24e3, 25e-5, 25e-4, 25e-3, | ||
| 12785 | 25e-2, 25e-1, 25e0, 25e1, 25e2, 25e3, 26e-5, 26e-4, | ||
| 12786 | 26e-3, 26e-2, 26e-1, 26e0, 26e1, 26e2, 26e3, 27e-5, | ||
| 12787 | 27e-4, 27e-3, 27e-2, 27e-1, 27e0, 27e1, 27e2, 27e3, | ||
| 12788 | 28e-5, 28e-4, 28e-3, 28e-2, 28e-1, 28e0, 28e1, 28e2, | ||
| 12789 | 28e3, 29e-5, 29e-4, 29e-3, 29e-2, 29e-1, 29e0, 29e1, | ||
| 12790 | 29e2, 29e3, 31e-5, 31e-4, 31e-3, 31e-2, 31e-1, 31e0, | ||
| 12791 | 31e1, 31e2, 31e3, 32e-5, 32e-4, 32e-3, 32e-2, 32e-1, | ||
| 12792 | }); | ||
| 12793 | |||
| 12794 | try testArgs(@Vector(1, i64), @Vector(1, f80), .{ | ||
| 12795 | -0x0.8p64, | ||
| 12796 | }); | ||
| 12797 | try testArgs(@Vector(2, i64), @Vector(2, f80), .{ | ||
| 12798 | next(f80, -0x0.8p64, -0.0), next(f80, next(f80, -0x0.8p64, -0.0), -0.0), | ||
| 12799 | }); | ||
| 12800 | try testArgs(@Vector(4, i64), @Vector(4, f80), .{ | ||
| 12801 | -1e4, -1e3, -1e2, -1e1, | ||
| 12802 | }); | ||
| 12803 | try testArgs(@Vector(8, i64), @Vector(8, f80), .{ | ||
| 12804 | -1e0, -1e-1, -1e-2, -1e-3, -1e-4, -1e-5, -0.0, 0.0, | ||
| 12805 | }); | ||
| 12806 | try testArgs(@Vector(16, i64), @Vector(16, f80), .{ | ||
| 12807 | 1e-5, 1e-4, 1e-3, 1e-2, 1e-1, 1e0, 1e1, 1e2, | ||
| 12808 | 1e3, 1e4, next(f80, next(f80, 0x0.8p64, 0.0), 0.0), next(f80, 0x0.8p64, 0.0), -2e4, -2e3, -2e2, -2e1, | ||
| 12809 | }); | ||
| 12810 | try testArgs(@Vector(32, i64), @Vector(32, f80), .{ | ||
| 12811 | -2e0, -2e-1, -2e-2, -2e-3, -2e-4, -2e-5, 2e-5, 2e-4, | ||
| 12812 | 2e-3, 2e-2, 2e-1, 2e0, 2e1, 2e2, 2e3, 2e4, | ||
| 12813 | -3e4, -3e3, -3e2, -3e1, -3e0, -3e-1, -3e-2, -3e-3, | ||
| 12814 | -3e-4, -3e-5, 3e-5, 3e-4, 3e-3, 3e-2, 3e-1, 3e0, | ||
| 12815 | }); | ||
| 12816 | try testArgs(@Vector(64, i64), @Vector(64, f80), .{ | ||
| 12817 | 3e1, 3e2, 3e3, 3e4, -4e3, -4e2, -4e1, -4e0, | ||
| 12818 | -4e-1, -4e-2, -4e-3, -4e-4, -4e-5, 4e-5, 4e-4, 4e-3, | ||
| 12819 | 4e-2, 4e-1, 4e0, 4e1, 4e2, 4e3, -5e3, -5e2, | ||
| 12820 | -5e1, -5e0, -5e-1, -5e-2, -5e-3, -5e-4, -5e-5, 5e-5, | ||
| 12821 | 5e-4, 5e-3, 5e-2, 5e-1, 5e0, 5e1, 5e2, 5e3, | ||
| 12822 | -6e3, -6e2, -6e1, -6e0, -6e-1, -6e-2, -6e-3, -6e-4, | ||
| 12823 | -6e-5, 6e-5, 6e-4, 6e-3, 6e-2, 6e-1, 6e0, 6e1, | ||
| 12824 | 6e2, 6e3, -7e3, -7e2, -7e1, -7e0, -7e-1, -7e-2, | ||
| 12825 | }); | ||
| 12826 | try testArgs(@Vector(128, i64), @Vector(128, f80), .{ | ||
| 12827 | -7e-3, -7e-4, -7e-5, 7e-5, 7e-4, 7e-3, 7e-2, 7e-1, | ||
| 12828 | 7e0, 7e1, 7e2, 7e3, -8e3, -8e2, -8e1, -8e0, | ||
| 12829 | -8e-1, -8e-2, -8e-3, -8e-4, -8e-5, 8e-5, 8e-4, 8e-3, | ||
| 12830 | 8e-2, 8e-1, 8e0, 8e1, 8e2, 8e3, -9e3, -9e2, | ||
| 12831 | -9e1, -9e0, -9e-1, -9e-2, -9e-3, -9e-4, -9e-5, 9e-5, | ||
| 12832 | 9e-4, 9e-3, 9e-2, 9e-1, 9e0, 9e1, 9e2, 9e3, | ||
| 12833 | -11e3, -11e2, -11e1, -11e0, -11e-1, -11e-2, -11e-3, -11e-4, | ||
| 12834 | -11e-5, 11e-5, 11e-4, 11e-3, 11e-2, 11e-1, 11e0, 11e1, | ||
| 12835 | 11e2, 11e3, -12e3, -12e2, -12e1, -12e0, -12e-1, -12e-2, | ||
| 12836 | -12e-3, -12e-4, -12e-5, 12e-5, 12e-4, 12e-3, 12e-2, 12e-1, | ||
| 12837 | 12e0, 12e1, 12e2, 12e3, -13e3, -13e2, -13e1, -13e0, | ||
| 12838 | -13e-1, -13e-2, -13e-3, -13e-4, -13e-5, 13e-5, 13e-4, 13e-3, | ||
| 12839 | 13e-2, 13e-1, 13e0, 13e1, 13e2, -14e2, -14e1, -14e0, | ||
| 12840 | -14e-1, -14e-2, -14e-3, -14e-4, -14e-5, 14e-5, 14e-4, 14e-3, | ||
| 12841 | 14e-2, 14e-1, 14e0, 14e1, 14e2, 14e3, -15e3, -15e2, | ||
| 12842 | -15e1, -15e0, -15e-1, -15e-2, -15e-3, -15e-4, -15e-5, 15e-5, | ||
| 12843 | }); | ||
| 12844 | |||
| 12845 | try testArgs(@Vector(1, u64), @Vector(1, f80), .{ | ||
| 12846 | -0.0, | ||
| 12847 | }); | ||
| 12848 | try testArgs(@Vector(2, u64), @Vector(2, f80), .{ | ||
| 12849 | 0.0, 1e-5, | ||
| 12850 | }); | ||
| 12851 | try testArgs(@Vector(4, u64), @Vector(4, f80), .{ | ||
| 12852 | 1e-4, 1e-3, 1e-2, 1e-1, | ||
| 12853 | }); | ||
| 12854 | try testArgs(@Vector(8, u64), @Vector(8, f80), .{ | ||
| 12855 | 1e0, 1e1, 1e2, 1e3, 1e4, next(f80, next(f80, 0x1p64, 0.0), 0.0), next(f80, 0x1p64, 0.0), 2e-5, | ||
| 12856 | }); | ||
| 12857 | try testArgs(@Vector(16, u64), @Vector(16, f80), .{ | ||
| 12858 | 2e-4, 2e-3, 2e-2, 2e-1, 2e0, 2e1, 2e2, 2e3, | ||
| 12859 | 2e4, 3e-5, 3e-4, 3e-3, 3e-2, 3e-1, 3e0, 3e1, | ||
| 12860 | }); | ||
| 12861 | try testArgs(@Vector(32, u64), @Vector(32, f80), .{ | ||
| 12862 | 3e2, 3e3, 3e4, 4e-5, 4e-4, 4e-3, 4e-2, 4e-1, | ||
| 12863 | 4e0, 4e1, 4e2, 4e3, 5e-5, 5e-4, 5e-3, 5e-2, | ||
| 12864 | 5e-1, 5e0, 5e1, 5e2, 5e3, 6e-5, 6e-4, 6e-3, | ||
| 12865 | 6e-2, 6e-1, 6e0, 6e1, 6e2, 6e3, 7e-5, 7e-4, | ||
| 12866 | }); | ||
| 12867 | try testArgs(@Vector(64, u64), @Vector(64, f80), .{ | ||
| 12868 | 7e-3, 7e-2, 7e-1, 7e0, 7e1, 7e2, 7e3, 8e-5, | ||
| 12869 | 8e-4, 8e-3, 8e-2, 8e-1, 8e0, 8e1, 8e2, 8e3, | ||
| 12870 | 9e-5, 9e-4, 9e-3, 9e-2, 9e-1, 9e0, 9e1, 9e2, | ||
| 12871 | 9e3, 11e-5, 11e-4, 11e-3, 11e-2, 11e-1, 11e0, 11e1, | ||
| 12872 | 11e2, 11e3, 13e-5, 13e-4, 13e-3, 13e-2, 13e-1, 13e0, | ||
| 12873 | 13e1, 13e2, 13e3, 14e-5, 14e-4, 14e-3, 14e-2, 14e-1, | ||
| 12874 | 14e0, 14e1, 14e2, 14e3, 15e-5, 15e-4, 15e-3, 15e-2, | ||
| 12875 | 15e-1, 15e0, 15e1, 15e2, 15e3, 16e-5, 16e-4, 16e-3, | ||
| 12876 | }); | ||
| 12877 | try testArgs(@Vector(128, u64), @Vector(128, f80), .{ | ||
| 12878 | 16e-2, 16e-1, 16e0, 16e1, 16e2, 16e3, 17e-5, 17e-4, | ||
| 12879 | 17e-3, 17e-2, 17e-1, 17e0, 17e1, 17e2, 17e3, 18e-5, | ||
| 12880 | 18e-4, 18e-3, 18e-2, 18e-1, 18e0, 18e1, 18e2, 18e3, | ||
| 12881 | 19e-5, 19e-4, 19e-3, 19e-2, 19e-1, 19e0, 19e1, 19e2, | ||
| 12882 | 19e3, 21e-5, 21e-4, 21e-3, 21e-2, 21e-1, 21e0, 21e1, | ||
| 12883 | 21e2, 21e3, 22e-5, 22e-4, 22e-3, 22e-2, 22e-1, 22e0, | ||
| 12884 | 22e1, 22e2, 22e3, 23e-5, 23e-4, 23e-3, 23e-2, 23e-1, | ||
| 12885 | 23e0, 23e1, 23e2, 23e3, 24e-5, 24e-4, 24e-3, 24e-2, | ||
| 12886 | 24e-1, 24e0, 24e1, 24e2, 24e3, 25e-5, 25e-4, 25e-3, | ||
| 12887 | 25e-2, 25e-1, 25e0, 25e1, 25e2, 25e3, 26e-5, 26e-4, | ||
| 12888 | 26e-3, 26e-2, 26e-1, 26e0, 26e1, 26e2, 26e3, 27e-5, | ||
| 12889 | 27e-4, 27e-3, 27e-2, 27e-1, 27e0, 27e1, 27e2, 27e3, | ||
| 12890 | 28e-5, 28e-4, 28e-3, 28e-2, 28e-1, 28e0, 28e1, 28e2, | ||
| 12891 | 28e3, 29e-5, 29e-4, 29e-3, 29e-2, 29e-1, 29e0, 29e1, | ||
| 12892 | 29e2, 29e3, 31e-5, 31e-4, 31e-3, 31e-2, 31e-1, 31e0, | ||
| 12893 | 31e1, 31e2, 31e3, 32e-5, 32e-4, 32e-3, 32e-2, 32e-1, | ||
| 12894 | }); | ||
| 12895 | |||
| 12896 | try testArgs(@Vector(1, i128), @Vector(1, f80), .{ | ||
| 12897 | -0x0.8p128, | ||
| 12898 | }); | ||
| 12899 | try testArgs(@Vector(2, i128), @Vector(2, f80), .{ | ||
| 12900 | next(f80, -0x0.8p128, -0.0), next(f80, next(f80, -0x0.8p128, -0.0), -0.0), | ||
| 12901 | }); | ||
| 12902 | try testArgs(@Vector(4, i128), @Vector(4, f80), .{ | ||
| 12903 | -1e4, -1e3, -1e2, -1e1, | ||
| 12904 | }); | ||
| 12905 | try testArgs(@Vector(8, i128), @Vector(8, f80), .{ | ||
| 12906 | -1e0, -1e-1, -1e-2, -1e-3, -1e-4, -1e-5, -0.0, 0.0, | ||
| 12907 | }); | ||
| 12908 | try testArgs(@Vector(16, i128), @Vector(16, f80), .{ | ||
| 12909 | 1e-5, 1e-4, 1e-3, 1e-2, 1e-1, 1e0, 1e1, 1e2, | ||
| 12910 | 1e3, 1e4, next(f80, next(f80, 0x0.8p128, 0.0), 0.0), next(f80, 0x0.8p128, 0.0), -2e4, -2e3, -2e2, -2e1, | ||
| 12911 | }); | ||
| 12912 | try testArgs(@Vector(32, i128), @Vector(32, f80), .{ | ||
| 12913 | -2e0, -2e-1, -2e-2, -2e-3, -2e-4, -2e-5, 2e-5, 2e-4, | ||
| 12914 | 2e-3, 2e-2, 2e-1, 2e0, 2e1, 2e2, 2e3, 2e4, | ||
| 12915 | -3e4, -3e3, -3e2, -3e1, -3e0, -3e-1, -3e-2, -3e-3, | ||
| 12916 | -3e-4, -3e-5, 3e-5, 3e-4, 3e-3, 3e-2, 3e-1, 3e0, | ||
| 12917 | }); | ||
| 12918 | try testArgs(@Vector(64, i128), @Vector(64, f80), .{ | ||
| 12919 | 3e1, 3e2, 3e3, 3e4, -4e3, -4e2, -4e1, -4e0, | ||
| 12920 | -4e-1, -4e-2, -4e-3, -4e-4, -4e-5, 4e-5, 4e-4, 4e-3, | ||
| 12921 | 4e-2, 4e-1, 4e0, 4e1, 4e2, 4e3, -5e3, -5e2, | ||
| 12922 | -5e1, -5e0, -5e-1, -5e-2, -5e-3, -5e-4, -5e-5, 5e-5, | ||
| 12923 | 5e-4, 5e-3, 5e-2, 5e-1, 5e0, 5e1, 5e2, 5e3, | ||
| 12924 | -6e3, -6e2, -6e1, -6e0, -6e-1, -6e-2, -6e-3, -6e-4, | ||
| 12925 | -6e-5, 6e-5, 6e-4, 6e-3, 6e-2, 6e-1, 6e0, 6e1, | ||
| 12926 | 6e2, 6e3, -7e3, -7e2, -7e1, -7e0, -7e-1, -7e-2, | ||
| 12927 | }); | ||
| 12928 | |||
| 12929 | try testArgs(@Vector(1, u128), @Vector(1, f80), .{ | ||
| 12930 | -0.0, | ||
| 12931 | }); | ||
| 12932 | try testArgs(@Vector(2, u128), @Vector(2, f80), .{ | ||
| 12933 | 0.0, 1e-5, | ||
| 12934 | }); | ||
| 12935 | try testArgs(@Vector(4, u128), @Vector(4, f80), .{ | ||
| 12936 | 1e-4, 1e-3, 1e-2, 1e-1, | ||
| 12937 | }); | ||
| 12938 | try testArgs(@Vector(8, u128), @Vector(8, f80), .{ | ||
| 12939 | 1e0, 1e1, 1e2, 1e3, 1e4, next(f80, next(f80, 0x1p128, 0.0), 0.0), next(f80, 0x1p128, 0.0), 2e-5, | ||
| 12940 | }); | ||
| 12941 | try testArgs(@Vector(16, u128), @Vector(16, f80), .{ | ||
| 12942 | 2e-4, 2e-3, 2e-2, 2e-1, 2e0, 2e1, 2e2, 2e3, | ||
| 12943 | 2e4, 3e-5, 3e-4, 3e-3, 3e-2, 3e-1, 3e0, 3e1, | ||
| 12944 | }); | ||
| 12945 | try testArgs(@Vector(32, u128), @Vector(32, f80), .{ | ||
| 12946 | 3e2, 3e3, 3e4, 4e-5, 4e-4, 4e-3, 4e-2, 4e-1, | ||
| 12947 | 4e0, 4e1, 4e2, 4e3, 5e-5, 5e-4, 5e-3, 5e-2, | ||
| 12948 | 5e-1, 5e0, 5e1, 5e2, 5e3, 6e-5, 6e-4, 6e-3, | ||
| 12949 | 6e-2, 6e-1, 6e0, 6e1, 6e2, 6e3, 7e-5, 7e-4, | ||
| 12950 | }); | ||
| 12951 | try testArgs(@Vector(64, u128), @Vector(64, f80), .{ | ||
| 12952 | 7e-3, 7e-2, 7e-1, 7e0, 7e1, 7e2, 7e3, 8e-5, | ||
| 12953 | 8e-4, 8e-3, 8e-2, 8e-1, 8e0, 8e1, 8e2, 8e3, | ||
| 12954 | 9e-5, 9e-4, 9e-3, 9e-2, 9e-1, 9e0, 9e1, 9e2, | ||
| 12955 | 9e3, 11e-5, 11e-4, 11e-3, 11e-2, 11e-1, 11e0, 11e1, | ||
| 12956 | 11e2, 11e3, 13e-5, 13e-4, 13e-3, 13e-2, 13e-1, 13e0, | ||
| 12957 | 13e1, 13e2, 13e3, 14e-5, 14e-4, 14e-3, 14e-2, 14e-1, | ||
| 12958 | 14e0, 14e1, 14e2, 14e3, 15e-5, 15e-4, 15e-3, 15e-2, | ||
| 12959 | 15e-1, 15e0, 15e1, 15e2, 15e3, 16e-5, 16e-4, 16e-3, | ||
| 12960 | }); | ||
| 12961 | |||
| 12962 | try testArgs(@Vector(1, i256), @Vector(1, f80), .{ | ||
| 12963 | -0x0.8p256, | ||
| 12964 | }); | ||
| 12965 | try testArgs(@Vector(2, i256), @Vector(2, f80), .{ | ||
| 12966 | next(f80, -0x0.8p256, -0.0), next(f80, next(f80, -0x0.8p256, -0.0), -0.0), | ||
| 12967 | }); | ||
| 12968 | try testArgs(@Vector(4, i256), @Vector(4, f80), .{ | ||
| 12969 | -1e4, -1e3, -1e2, -1e1, | ||
| 12970 | }); | ||
| 12971 | try testArgs(@Vector(8, i256), @Vector(8, f80), .{ | ||
| 12972 | -1e0, -1e-1, -1e-2, -1e-3, -1e-4, -1e-5, -0.0, 0.0, | ||
| 12973 | }); | ||
| 12974 | try testArgs(@Vector(16, i256), @Vector(16, f80), .{ | ||
| 12975 | 1e-5, 1e-4, 1e-3, 1e-2, 1e-1, 1e0, 1e1, 1e2, | ||
| 12976 | 1e3, 1e4, next(f80, next(f80, 0x0.8p256, 0.0), 0.0), next(f80, 0x0.8p256, 0.0), -2e4, -2e3, -2e2, -2e1, | ||
| 12977 | }); | ||
| 12978 | try testArgs(@Vector(32, i256), @Vector(32, f80), .{ | ||
| 12979 | -2e0, -2e-1, -2e-2, -2e-3, -2e-4, -2e-5, 2e-5, 2e-4, | ||
| 12980 | 2e-3, 2e-2, 2e-1, 2e0, 2e1, 2e2, 2e3, 2e4, | ||
| 12981 | -3e4, -3e3, -3e2, -3e1, -3e0, -3e-1, -3e-2, -3e-3, | ||
| 12982 | -3e-4, -3e-5, 3e-5, 3e-4, 3e-3, 3e-2, 3e-1, 3e0, | ||
| 12983 | }); | ||
| 12984 | try testArgs(@Vector(64, i256), @Vector(64, f80), .{ | ||
| 12985 | 3e1, 3e2, 3e3, 3e4, -4e3, -4e2, -4e1, -4e0, | ||
| 12986 | -4e-1, -4e-2, -4e-3, -4e-4, -4e-5, 4e-5, 4e-4, 4e-3, | ||
| 12987 | 4e-2, 4e-1, 4e0, 4e1, 4e2, 4e3, -5e3, -5e2, | ||
| 12988 | -5e1, -5e0, -5e-1, -5e-2, -5e-3, -5e-4, -5e-5, 5e-5, | ||
| 12989 | 5e-4, 5e-3, 5e-2, 5e-1, 5e0, 5e1, 5e2, 5e3, | ||
| 12990 | -6e3, -6e2, -6e1, -6e0, -6e-1, -6e-2, -6e-3, -6e-4, | ||
| 12991 | -6e-5, 6e-5, 6e-4, 6e-3, 6e-2, 6e-1, 6e0, 6e1, | ||
| 12992 | 6e2, 6e3, -7e3, -7e2, -7e1, -7e0, -7e-1, -7e-2, | ||
| 12993 | }); | ||
| 12994 | |||
| 12995 | try testArgs(@Vector(1, u256), @Vector(1, f80), .{ | ||
| 12996 | -0.0, | ||
| 12997 | }); | ||
| 12998 | try testArgs(@Vector(2, u256), @Vector(2, f80), .{ | ||
| 12999 | 0.0, 1e-5, | ||
| 13000 | }); | ||
| 13001 | try testArgs(@Vector(4, u256), @Vector(4, f80), .{ | ||
| 13002 | 1e-4, 1e-3, 1e-2, 1e-1, | ||
| 13003 | }); | ||
| 13004 | try testArgs(@Vector(8, u256), @Vector(8, f80), .{ | ||
| 13005 | 1e0, 1e1, 1e2, 1e3, 1e4, next(f80, next(f80, 0x1p256, 0.0), 0.0), next(f80, 0x1p256, 0.0), 2e-5, | ||
| 13006 | }); | ||
| 13007 | try testArgs(@Vector(16, u256), @Vector(16, f80), .{ | ||
| 13008 | 2e-4, 2e-3, 2e-2, 2e-1, 2e0, 2e1, 2e2, 2e3, | ||
| 13009 | 2e4, 3e-5, 3e-4, 3e-3, 3e-2, 3e-1, 3e0, 3e1, | ||
| 13010 | }); | ||
| 13011 | try testArgs(@Vector(32, u256), @Vector(32, f80), .{ | ||
| 13012 | 3e2, 3e3, 3e4, 4e-5, 4e-4, 4e-3, 4e-2, 4e-1, | ||
| 13013 | 4e0, 4e1, 4e2, 4e3, 5e-5, 5e-4, 5e-3, 5e-2, | ||
| 13014 | 5e-1, 5e0, 5e1, 5e2, 5e3, 6e-5, 6e-4, 6e-3, | ||
| 13015 | 6e-2, 6e-1, 6e0, 6e1, 6e2, 6e3, 7e-5, 7e-4, | ||
| 13016 | }); | ||
| 13017 | try testArgs(@Vector(64, u256), @Vector(64, f80), .{ | ||
| 13018 | 7e-3, 7e-2, 7e-1, 7e0, 7e1, 7e2, 7e3, 8e-5, | ||
| 13019 | 8e-4, 8e-3, 8e-2, 8e-1, 8e0, 8e1, 8e2, 8e3, | ||
| 13020 | 9e-5, 9e-4, 9e-3, 9e-2, 9e-1, 9e0, 9e1, 9e2, | ||
| 13021 | 9e3, 11e-5, 11e-4, 11e-3, 11e-2, 11e-1, 11e0, 11e1, | ||
| 13022 | 11e2, 11e3, 13e-5, 13e-4, 13e-3, 13e-2, 13e-1, 13e0, | ||
| 13023 | 13e1, 13e2, 13e3, 14e-5, 14e-4, 14e-3, 14e-2, 14e-1, | ||
| 13024 | 14e0, 14e1, 14e2, 14e3, 15e-5, 15e-4, 15e-3, 15e-2, | ||
| 13025 | 15e-1, 15e0, 15e1, 15e2, 15e3, 16e-5, 16e-4, 16e-3, | ||
| 13026 | }); | ||
| 13027 | |||
| 13028 | try testArgs(@Vector(1, i8), @Vector(1, f128), .{ | ||
| 13029 | -0x0.8p8, | ||
| 13030 | }); | ||
| 13031 | try testArgs(@Vector(2, i8), @Vector(2, f128), .{ | ||
| 13032 | next(f128, -0x0.8p8, -0.0), next(f128, next(f128, -0x0.8p8, -0.0), -0.0), | ||
| 13033 | }); | ||
| 13034 | try testArgs(@Vector(4, i8), @Vector(4, f128), .{ | ||
| 13035 | -1e2, -1e1, -1e0, -1e-1, | ||
| 13036 | }); | ||
| 13037 | try testArgs(@Vector(8, i8), @Vector(8, f128), .{ | ||
| 13038 | -1e-2, -1e-3, -1e-4, -1e-5, -0.0, 0.0, 1e-5, 1e-4, | ||
| 13039 | }); | ||
| 13040 | try testArgs(@Vector(16, i8), @Vector(16, f128), .{ | ||
| 13041 | 1e-3, 1e-2, 1e-1, 1e0, 1e1, 1e2, next(f128, next(f128, 0x0.8p8, 0.0), 0.0), next(f128, 0x0.8p8, 0.0), | ||
| 13042 | -2e1, -2e0, -2e-1, -2e-2, -2e-3, -2e-4, -2e-5, 2e-5, | ||
| 13043 | }); | ||
| 13044 | try testArgs(@Vector(32, i8), @Vector(32, f128), .{ | ||
| 13045 | 2e-4, 2e-3, 2e-2, 2e-1, 2e0, 2e1, -3e1, -3e0, | ||
| 13046 | -3e-1, -3e-2, -3e-3, -3e-4, -3e-5, 3e-5, 3e-4, 3e-3, | ||
| 13047 | 3e-2, 3e-1, 3e0, 3e1, -4e1, -4e0, -4e-1, -4e-2, | ||
| 13048 | -4e-3, -4e-4, -4e-5, 4e-5, 4e-4, 4e-3, 4e-2, 4e-1, | ||
| 13049 | }); | ||
| 13050 | try testArgs(@Vector(64, i8), @Vector(64, f128), .{ | ||
| 13051 | 4e0, 4e1, -5e1, -5e0, -5e-1, -5e-2, -5e-3, -5e-4, | ||
| 13052 | -5e-5, 5e-5, 5e-4, 5e-3, 5e-2, 5e-1, 5e0, 5e1, | ||
| 13053 | -6e1, -6e0, -6e-1, -6e-2, -6e-3, -6e-4, -6e-5, 6e-5, | ||
| 13054 | 6e-4, 6e-3, 6e-2, 6e-1, 6e0, 6e1, -7e1, -7e0, | ||
| 13055 | -7e-1, -7e-2, -7e-3, -7e-4, -7e-5, 7e-5, 7e-4, 7e-3, | ||
| 13056 | 7e-2, 7e-1, 7e0, 7e1, -8e1, -8e0, -8e-1, -8e-2, | ||
| 13057 | -8e-3, -8e-4, -8e-5, 8e-5, 8e-4, 8e-3, 8e-2, 8e-1, | ||
| 13058 | 8e0, 8e1, -9e1, -9e0, -9e-1, -9e-2, -9e-3, -9e-4, | ||
| 13059 | }); | ||
| 13060 | try testArgs(@Vector(128, i8), @Vector(128, f128), .{ | ||
| 13061 | -9e-5, 9e-5, 9e-4, 9e-3, 9e-2, 9e-1, 9e0, 9e1, | ||
| 13062 | -11e1, -11e0, -11e-1, -11e-2, -11e-3, -11e-4, -11e-5, 11e-5, | ||
| 13063 | 11e-4, 11e-3, 11e-2, 11e-1, 11e0, 11e1, -12e1, -12e0, | ||
| 13064 | -12e-1, -12e-2, -12e-3, -12e-4, -12e-5, 12e-5, 12e-4, 12e-3, | ||
| 13065 | 12e-2, 12e-1, 12e0, 12e1, -13e0, -13e-1, -13e-2, -13e-3, | ||
| 13066 | -13e-4, -13e-5, 13e-5, 13e-4, 13e-3, 13e-2, 13e-1, 13e0, | ||
| 13067 | -14e0, -14e-1, -14e-2, -14e-3, -14e-4, -14e-5, 14e-5, 14e-4, | ||
| 13068 | 14e-3, 14e-2, 14e-1, 14e0, -15e0, -15e-1, -15e-2, -15e-3, | ||
| 13069 | -15e-4, -15e-5, 15e-5, 15e-4, 15e-3, 15e-2, 15e-1, 15e0, | ||
| 13070 | -16e0, -16e-1, -16e-2, -16e-3, -16e-4, -16e-5, 16e-5, 16e-4, | ||
| 13071 | 16e-3, 16e-2, 16e-1, 16e0, -17e0, -17e-1, -17e-2, -17e-3, | ||
| 13072 | -17e-4, -17e-5, 17e-5, 17e-4, 17e-3, 17e-2, 17e-1, 17e0, | ||
| 13073 | -18e0, -18e-1, -18e-2, -18e-3, -18e-4, -18e-5, 18e-5, 18e-4, | ||
| 13074 | 18e-3, 18e-2, 18e-1, 18e0, -19e0, -19e-1, -19e-2, -19e-3, | ||
| 13075 | -19e-4, -19e-5, 19e-5, 19e-4, 19e-3, 19e-2, 19e-1, 19e0, | ||
| 13076 | -21e0, -21e-1, -21e-2, -21e-3, -21e-4, -21e-5, 21e-5, 21e-4, | ||
| 13077 | }); | ||
| 13078 | |||
| 13079 | try testArgs(@Vector(1, u8), @Vector(1, f128), .{ | ||
| 13080 | -0.0, | ||
| 13081 | }); | ||
| 13082 | try testArgs(@Vector(2, u8), @Vector(2, f128), .{ | ||
| 13083 | 0.0, 1e-5, | ||
| 13084 | }); | ||
| 13085 | try testArgs(@Vector(4, u8), @Vector(4, f128), .{ | ||
| 13086 | 1e-4, 1e-3, 1e-2, 1e-1, | ||
| 13087 | }); | ||
| 13088 | try testArgs(@Vector(8, u8), @Vector(8, f128), .{ | ||
| 13089 | 1e0, 1e1, 1e2, next(f128, next(f128, 0x1p8, 0.0), 0.0), next(f128, 0x1p8, 0.0), 2e-5, 2e-4, 2e-3, | ||
| 13090 | }); | ||
| 13091 | try testArgs(@Vector(16, u8), @Vector(16, f128), .{ | ||
| 13092 | 2e-2, 2e-1, 2e0, 2e1, 2e2, 3e-5, 3e-4, 3e-3, | ||
| 13093 | 3e-2, 3e-1, 3e0, 3e1, 4e-5, 4e-4, 4e-3, 4e-2, | ||
| 13094 | }); | ||
| 13095 | try testArgs(@Vector(32, u8), @Vector(32, f128), .{ | ||
| 13096 | 4e-1, 4e0, 4e1, 5e-5, 5e-4, 5e-3, 5e-2, 5e-1, | ||
| 13097 | 5e0, 5e1, 6e-5, 6e-4, 6e-3, 6e-2, 6e-1, 6e0, | ||
| 13098 | 6e1, 7e-5, 7e-4, 7e-3, 7e-2, 7e-1, 7e0, 7e1, | ||
| 13099 | 8e-5, 8e-4, 8e-3, 8e-2, 8e-1, 8e0, 8e1, 9e-5, | ||
| 13100 | }); | ||
| 13101 | try testArgs(@Vector(64, u8), @Vector(64, f128), .{ | ||
| 13102 | 9e-4, 9e-3, 9e-2, 9e-1, 9e0, 9e1, 11e-5, 11e-4, | ||
| 13103 | 11e-3, 11e-2, 11e-1, 11e0, 11e1, 13e-5, 13e-4, 13e-3, | ||
| 13104 | 13e-2, 13e-1, 13e0, 14e-5, 14e-4, 14e-3, 14e-2, 14e-1, | ||
| 13105 | 14e0, 14e1, 15e-5, 15e-4, 15e-3, 15e-2, 15e-1, 15e0, | ||
| 13106 | 15e1, 16e-5, 16e-4, 16e-3, 16e-2, 16e-1, 16e0, 16e1, | ||
| 13107 | 17e-5, 17e-4, 17e-3, 17e-2, 17e-1, 17e0, 17e1, 18e-5, | ||
| 13108 | 18e-4, 18e-3, 18e-2, 18e-1, 18e0, 18e1, 19e-5, 19e-4, | ||
| 13109 | 19e-3, 19e-2, 19e-1, 19e0, 19e1, 21e-5, 21e-4, 21e-3, | ||
| 13110 | }); | ||
| 13111 | try testArgs(@Vector(128, u8), @Vector(128, f128), .{ | ||
| 13112 | 21e-2, 21e-1, 21e0, 21e1, 22e-5, 22e-4, 22e-3, 22e-2, | ||
| 13113 | 22e-1, 22e0, 22e1, 23e-5, 23e-4, 23e-3, 23e-2, 23e-1, | ||
| 13114 | 23e0, 23e1, 24e-5, 24e-4, 24e-3, 24e-2, 24e-1, 24e0, | ||
| 13115 | 24e1, 25e-5, 25e-4, 25e-3, 25e-2, 25e-1, 25e0, 25e1, | ||
| 13116 | 26e-5, 26e-4, 26e-3, 26e-2, 26e-1, 26e0, 27e-5, 27e-4, | ||
| 13117 | 27e-3, 27e-2, 27e-1, 27e0, 28e-5, 28e-4, 28e-3, 28e-2, | ||
| 13118 | 28e-1, 28e0, 29e-5, 29e-4, 29e-3, 29e-2, 29e-1, 29e0, | ||
| 13119 | 31e-5, 31e-4, 31e-3, 31e-2, 31e-1, 31e0, 32e-5, 32e-4, | ||
| 13120 | 32e-3, 32e-2, 32e-1, 32e0, 33e-5, 33e-4, 33e-3, 33e-2, | ||
| 13121 | 33e-1, 33e0, 34e-5, 34e-4, 34e-3, 34e-2, 34e-1, 34e0, | ||
| 13122 | 35e-5, 35e-4, 35e-3, 35e-2, 35e-1, 35e0, 36e-5, 36e-4, | ||
| 13123 | 36e-3, 36e-2, 36e-1, 36e0, 37e-5, 37e-4, 37e-3, 37e-2, | ||
| 13124 | 37e-1, 37e0, 38e-5, 38e-4, 38e-3, 38e-2, 38e-1, 38e0, | ||
| 13125 | 39e-5, 39e-4, 39e-3, 39e-2, 39e-1, 39e0, 41e-5, 41e-4, | ||
| 13126 | 41e-3, 41e-2, 41e-1, 41e0, 42e-5, 42e-4, 42e-3, 42e-2, | ||
| 13127 | 42e-1, 42e0, 43e-5, 43e-4, 43e-3, 43e-2, 43e-1, 43e0, | ||
| 13128 | }); | ||
| 13129 | |||
| 13130 | try testArgs(@Vector(1, i16), @Vector(1, f128), .{ | ||
| 13131 | -0x0.8p16, | ||
| 13132 | }); | ||
| 13133 | try testArgs(@Vector(2, i16), @Vector(2, f128), .{ | ||
| 13134 | next(f128, -0x0.8p16, -0.0), next(f128, next(f128, -0x0.8p16, -0.0), -0.0), | ||
| 13135 | }); | ||
| 13136 | try testArgs(@Vector(4, i16), @Vector(4, f128), .{ | ||
| 13137 | -1e4, -1e3, -1e2, -1e1, | ||
| 13138 | }); | ||
| 13139 | try testArgs(@Vector(8, i16), @Vector(8, f128), .{ | ||
| 13140 | -1e0, -1e-1, -1e-2, -1e-3, -1e-4, -1e-5, -0.0, 0.0, | ||
| 13141 | }); | ||
| 13142 | try testArgs(@Vector(16, i16), @Vector(16, f128), .{ | ||
| 13143 | 1e-5, 1e-4, 1e-3, 1e-2, 1e-1, 1e0, 1e1, 1e2, | ||
| 13144 | 1e3, 1e4, next(f128, next(f128, 0x0.8p16, 0.0), 0.0), next(f128, 0x0.8p16, 0.0), -2e4, -2e3, -2e2, -2e1, | ||
| 13145 | }); | ||
| 13146 | try testArgs(@Vector(32, i16), @Vector(32, f128), .{ | ||
| 13147 | -2e0, -2e-1, -2e-2, -2e-3, -2e-4, -2e-5, 2e-5, 2e-4, | ||
| 13148 | 2e-3, 2e-2, 2e-1, 2e0, 2e1, 2e2, 2e3, 2e4, | ||
| 13149 | -3e4, -3e3, -3e2, -3e1, -3e0, -3e-1, -3e-2, -3e-3, | ||
| 13150 | -3e-4, -3e-5, 3e-5, 3e-4, 3e-3, 3e-2, 3e-1, 3e0, | ||
| 13151 | }); | ||
| 13152 | try testArgs(@Vector(64, i16), @Vector(64, f128), .{ | ||
| 13153 | 3e1, 3e2, 3e3, 3e4, -4e3, -4e2, -4e1, -4e0, | ||
| 13154 | -4e-1, -4e-2, -4e-3, -4e-4, -4e-5, 4e-5, 4e-4, 4e-3, | ||
| 13155 | 4e-2, 4e-1, 4e0, 4e1, 4e2, 4e3, -5e3, -5e2, | ||
| 13156 | -5e1, -5e0, -5e-1, -5e-2, -5e-3, -5e-4, -5e-5, 5e-5, | ||
| 13157 | 5e-4, 5e-3, 5e-2, 5e-1, 5e0, 5e1, 5e2, 5e3, | ||
| 13158 | -6e3, -6e2, -6e1, -6e0, -6e-1, -6e-2, -6e-3, -6e-4, | ||
| 13159 | -6e-5, 6e-5, 6e-4, 6e-3, 6e-2, 6e-1, 6e0, 6e1, | ||
| 13160 | 6e2, 6e3, -7e3, -7e2, -7e1, -7e0, -7e-1, -7e-2, | ||
| 13161 | }); | ||
| 13162 | try testArgs(@Vector(128, i16), @Vector(128, f128), .{ | ||
| 13163 | -7e-3, -7e-4, -7e-5, 7e-5, 7e-4, 7e-3, 7e-2, 7e-1, | ||
| 13164 | 7e0, 7e1, 7e2, 7e3, -8e3, -8e2, -8e1, -8e0, | ||
| 13165 | -8e-1, -8e-2, -8e-3, -8e-4, -8e-5, 8e-5, 8e-4, 8e-3, | ||
| 13166 | 8e-2, 8e-1, 8e0, 8e1, 8e2, 8e3, -9e3, -9e2, | ||
| 13167 | -9e1, -9e0, -9e-1, -9e-2, -9e-3, -9e-4, -9e-5, 9e-5, | ||
| 13168 | 9e-4, 9e-3, 9e-2, 9e-1, 9e0, 9e1, 9e2, 9e3, | ||
| 13169 | -11e3, -11e2, -11e1, -11e0, -11e-1, -11e-2, -11e-3, -11e-4, | ||
| 13170 | -11e-5, 11e-5, 11e-4, 11e-3, 11e-2, 11e-1, 11e0, 11e1, | ||
| 13171 | 11e2, 11e3, -12e3, -12e2, -12e1, -12e0, -12e-1, -12e-2, | ||
| 13172 | -12e-3, -12e-4, -12e-5, 12e-5, 12e-4, 12e-3, 12e-2, 12e-1, | ||
| 13173 | 12e0, 12e1, 12e2, 12e3, -13e3, -13e2, -13e1, -13e0, | ||
| 13174 | -13e-1, -13e-2, -13e-3, -13e-4, -13e-5, 13e-5, 13e-4, 13e-3, | ||
| 13175 | 13e-2, 13e-1, 13e0, 13e1, 13e2, -14e2, -14e1, -14e0, | ||
| 13176 | -14e-1, -14e-2, -14e-3, -14e-4, -14e-5, 14e-5, 14e-4, 14e-3, | ||
| 13177 | 14e-2, 14e-1, 14e0, 14e1, 14e2, 14e3, -15e3, -15e2, | ||
| 13178 | -15e1, -15e0, -15e-1, -15e-2, -15e-3, -15e-4, -15e-5, 15e-5, | ||
| 13179 | }); | ||
| 13180 | |||
| 13181 | try testArgs(@Vector(1, u16), @Vector(1, f128), .{ | ||
| 13182 | -0.0, | ||
| 13183 | }); | ||
| 13184 | try testArgs(@Vector(2, u16), @Vector(2, f128), .{ | ||
| 13185 | 0.0, 1e-5, | ||
| 13186 | }); | ||
| 13187 | try testArgs(@Vector(4, u16), @Vector(4, f128), .{ | ||
| 13188 | 1e-4, 1e-3, 1e-2, 1e-1, | ||
| 13189 | }); | ||
| 13190 | try testArgs(@Vector(8, u16), @Vector(8, f128), .{ | ||
| 13191 | 1e0, 1e1, 1e2, 1e3, 1e4, next(f128, next(f128, 0x1p16, 0.0), 0.0), next(f128, 0x1p16, 0.0), 2e-5, | ||
| 13192 | }); | ||
| 13193 | try testArgs(@Vector(16, u16), @Vector(16, f128), .{ | ||
| 13194 | 2e-4, 2e-3, 2e-2, 2e-1, 2e0, 2e1, 2e2, 2e3, | ||
| 13195 | 2e4, 3e-5, 3e-4, 3e-3, 3e-2, 3e-1, 3e0, 3e1, | ||
| 13196 | }); | ||
| 13197 | try testArgs(@Vector(32, u16), @Vector(32, f128), .{ | ||
| 13198 | 3e2, 3e3, 3e4, 4e-5, 4e-4, 4e-3, 4e-2, 4e-1, | ||
| 13199 | 4e0, 4e1, 4e2, 4e3, 5e-5, 5e-4, 5e-3, 5e-2, | ||
| 13200 | 5e-1, 5e0, 5e1, 5e2, 5e3, 6e-5, 6e-4, 6e-3, | ||
| 13201 | 6e-2, 6e-1, 6e0, 6e1, 6e2, 6e3, 7e-5, 7e-4, | ||
| 13202 | }); | ||
| 13203 | try testArgs(@Vector(64, u16), @Vector(64, f128), .{ | ||
| 13204 | 7e-3, 7e-2, 7e-1, 7e0, 7e1, 7e2, 7e3, 8e-5, | ||
| 13205 | 8e-4, 8e-3, 8e-2, 8e-1, 8e0, 8e1, 8e2, 8e3, | ||
| 13206 | 9e-5, 9e-4, 9e-3, 9e-2, 9e-1, 9e0, 9e1, 9e2, | ||
| 13207 | 9e3, 11e-5, 11e-4, 11e-3, 11e-2, 11e-1, 11e0, 11e1, | ||
| 13208 | 11e2, 11e3, 13e-5, 13e-4, 13e-3, 13e-2, 13e-1, 13e0, | ||
| 13209 | 13e1, 13e2, 13e3, 14e-5, 14e-4, 14e-3, 14e-2, 14e-1, | ||
| 13210 | 14e0, 14e1, 14e2, 14e3, 15e-5, 15e-4, 15e-3, 15e-2, | ||
| 13211 | 15e-1, 15e0, 15e1, 15e2, 15e3, 16e-5, 16e-4, 16e-3, | ||
| 13212 | }); | ||
| 13213 | try testArgs(@Vector(128, u16), @Vector(128, f128), .{ | ||
| 13214 | 16e-2, 16e-1, 16e0, 16e1, 16e2, 16e3, 17e-5, 17e-4, | ||
| 13215 | 17e-3, 17e-2, 17e-1, 17e0, 17e1, 17e2, 17e3, 18e-5, | ||
| 13216 | 18e-4, 18e-3, 18e-2, 18e-1, 18e0, 18e1, 18e2, 18e3, | ||
| 13217 | 19e-5, 19e-4, 19e-3, 19e-2, 19e-1, 19e0, 19e1, 19e2, | ||
| 13218 | 19e3, 21e-5, 21e-4, 21e-3, 21e-2, 21e-1, 21e0, 21e1, | ||
| 13219 | 21e2, 21e3, 22e-5, 22e-4, 22e-3, 22e-2, 22e-1, 22e0, | ||
| 13220 | 22e1, 22e2, 22e3, 23e-5, 23e-4, 23e-3, 23e-2, 23e-1, | ||
| 13221 | 23e0, 23e1, 23e2, 23e3, 24e-5, 24e-4, 24e-3, 24e-2, | ||
| 13222 | 24e-1, 24e0, 24e1, 24e2, 24e3, 25e-5, 25e-4, 25e-3, | ||
| 13223 | 25e-2, 25e-1, 25e0, 25e1, 25e2, 25e3, 26e-5, 26e-4, | ||
| 13224 | 26e-3, 26e-2, 26e-1, 26e0, 26e1, 26e2, 26e3, 27e-5, | ||
| 13225 | 27e-4, 27e-3, 27e-2, 27e-1, 27e0, 27e1, 27e2, 27e3, | ||
| 13226 | 28e-5, 28e-4, 28e-3, 28e-2, 28e-1, 28e0, 28e1, 28e2, | ||
| 13227 | 28e3, 29e-5, 29e-4, 29e-3, 29e-2, 29e-1, 29e0, 29e1, | ||
| 13228 | 29e2, 29e3, 31e-5, 31e-4, 31e-3, 31e-2, 31e-1, 31e0, | ||
| 13229 | 31e1, 31e2, 31e3, 32e-5, 32e-4, 32e-3, 32e-2, 32e-1, | ||
| 13230 | }); | ||
| 13231 | |||
| 13232 | try testArgs(@Vector(1, i32), @Vector(1, f128), .{ | ||
| 13233 | -0x0.8p32, | ||
| 13234 | }); | ||
| 13235 | try testArgs(@Vector(2, i32), @Vector(2, f128), .{ | ||
| 13236 | next(f128, -0x0.8p32, -0.0), next(f128, next(f128, -0x0.8p32, -0.0), -0.0), | ||
| 13237 | }); | ||
| 13238 | try testArgs(@Vector(4, i32), @Vector(4, f128), .{ | ||
| 13239 | -1e4, -1e3, -1e2, -1e1, | ||
| 13240 | }); | ||
| 13241 | try testArgs(@Vector(8, i32), @Vector(8, f128), .{ | ||
| 13242 | -1e0, -1e-1, -1e-2, -1e-3, -1e-4, -1e-5, -0.0, 0.0, | ||
| 13243 | }); | ||
| 13244 | try testArgs(@Vector(16, i32), @Vector(16, f128), .{ | ||
| 13245 | 1e-5, 1e-4, 1e-3, 1e-2, 1e-1, 1e0, 1e1, 1e2, | ||
| 13246 | 1e3, 1e4, next(f128, next(f128, 0x0.8p32, 0.0), 0.0), next(f128, 0x0.8p32, 0.0), -2e4, -2e3, -2e2, -2e1, | ||
| 13247 | }); | ||
| 13248 | try testArgs(@Vector(32, i32), @Vector(32, f128), .{ | ||
| 13249 | -2e0, -2e-1, -2e-2, -2e-3, -2e-4, -2e-5, 2e-5, 2e-4, | ||
| 13250 | 2e-3, 2e-2, 2e-1, 2e0, 2e1, 2e2, 2e3, 2e4, | ||
| 13251 | -3e4, -3e3, -3e2, -3e1, -3e0, -3e-1, -3e-2, -3e-3, | ||
| 13252 | -3e-4, -3e-5, 3e-5, 3e-4, 3e-3, 3e-2, 3e-1, 3e0, | ||
| 13253 | }); | ||
| 13254 | try testArgs(@Vector(64, i32), @Vector(64, f128), .{ | ||
| 13255 | 3e1, 3e2, 3e3, 3e4, -4e3, -4e2, -4e1, -4e0, | ||
| 13256 | -4e-1, -4e-2, -4e-3, -4e-4, -4e-5, 4e-5, 4e-4, 4e-3, | ||
| 13257 | 4e-2, 4e-1, 4e0, 4e1, 4e2, 4e3, -5e3, -5e2, | ||
| 13258 | -5e1, -5e0, -5e-1, -5e-2, -5e-3, -5e-4, -5e-5, 5e-5, | ||
| 13259 | 5e-4, 5e-3, 5e-2, 5e-1, 5e0, 5e1, 5e2, 5e3, | ||
| 13260 | -6e3, -6e2, -6e1, -6e0, -6e-1, -6e-2, -6e-3, -6e-4, | ||
| 13261 | -6e-5, 6e-5, 6e-4, 6e-3, 6e-2, 6e-1, 6e0, 6e1, | ||
| 13262 | 6e2, 6e3, -7e3, -7e2, -7e1, -7e0, -7e-1, -7e-2, | ||
| 13263 | }); | ||
| 13264 | try testArgs(@Vector(128, i32), @Vector(128, f128), .{ | ||
| 13265 | -7e-3, -7e-4, -7e-5, 7e-5, 7e-4, 7e-3, 7e-2, 7e-1, | ||
| 13266 | 7e0, 7e1, 7e2, 7e3, -8e3, -8e2, -8e1, -8e0, | ||
| 13267 | -8e-1, -8e-2, -8e-3, -8e-4, -8e-5, 8e-5, 8e-4, 8e-3, | ||
| 13268 | 8e-2, 8e-1, 8e0, 8e1, 8e2, 8e3, -9e3, -9e2, | ||
| 13269 | -9e1, -9e0, -9e-1, -9e-2, -9e-3, -9e-4, -9e-5, 9e-5, | ||
| 13270 | 9e-4, 9e-3, 9e-2, 9e-1, 9e0, 9e1, 9e2, 9e3, | ||
| 13271 | -11e3, -11e2, -11e1, -11e0, -11e-1, -11e-2, -11e-3, -11e-4, | ||
| 13272 | -11e-5, 11e-5, 11e-4, 11e-3, 11e-2, 11e-1, 11e0, 11e1, | ||
| 13273 | 11e2, 11e3, -12e3, -12e2, -12e1, -12e0, -12e-1, -12e-2, | ||
| 13274 | -12e-3, -12e-4, -12e-5, 12e-5, 12e-4, 12e-3, 12e-2, 12e-1, | ||
| 13275 | 12e0, 12e1, 12e2, 12e3, -13e3, -13e2, -13e1, -13e0, | ||
| 13276 | -13e-1, -13e-2, -13e-3, -13e-4, -13e-5, 13e-5, 13e-4, 13e-3, | ||
| 13277 | 13e-2, 13e-1, 13e0, 13e1, 13e2, -14e2, -14e1, -14e0, | ||
| 13278 | -14e-1, -14e-2, -14e-3, -14e-4, -14e-5, 14e-5, 14e-4, 14e-3, | ||
| 13279 | 14e-2, 14e-1, 14e0, 14e1, 14e2, 14e3, -15e3, -15e2, | ||
| 13280 | -15e1, -15e0, -15e-1, -15e-2, -15e-3, -15e-4, -15e-5, 15e-5, | ||
| 13281 | }); | ||
| 13282 | |||
| 13283 | try testArgs(@Vector(1, u32), @Vector(1, f128), .{ | ||
| 13284 | -0.0, | ||
| 13285 | }); | ||
| 13286 | try testArgs(@Vector(2, u32), @Vector(2, f128), .{ | ||
| 13287 | 0.0, 1e-5, | ||
| 13288 | }); | ||
| 13289 | try testArgs(@Vector(4, u32), @Vector(4, f128), .{ | ||
| 13290 | 1e-4, 1e-3, 1e-2, 1e-1, | ||
| 13291 | }); | ||
| 13292 | try testArgs(@Vector(8, u32), @Vector(8, f128), .{ | ||
| 13293 | 1e0, 1e1, 1e2, 1e3, 1e4, next(f128, next(f128, 0x1p32, 0.0), 0.0), next(f128, 0x1p32, 0.0), 2e-5, | ||
| 13294 | }); | ||
| 13295 | try testArgs(@Vector(16, u32), @Vector(16, f128), .{ | ||
| 13296 | 2e-4, 2e-3, 2e-2, 2e-1, 2e0, 2e1, 2e2, 2e3, | ||
| 13297 | 2e4, 3e-5, 3e-4, 3e-3, 3e-2, 3e-1, 3e0, 3e1, | ||
| 13298 | }); | ||
| 13299 | try testArgs(@Vector(32, u32), @Vector(32, f128), .{ | ||
| 13300 | 3e2, 3e3, 3e4, 4e-5, 4e-4, 4e-3, 4e-2, 4e-1, | ||
| 13301 | 4e0, 4e1, 4e2, 4e3, 5e-5, 5e-4, 5e-3, 5e-2, | ||
| 13302 | 5e-1, 5e0, 5e1, 5e2, 5e3, 6e-5, 6e-4, 6e-3, | ||
| 13303 | 6e-2, 6e-1, 6e0, 6e1, 6e2, 6e3, 7e-5, 7e-4, | ||
| 13304 | }); | ||
| 13305 | try testArgs(@Vector(64, u32), @Vector(64, f128), .{ | ||
| 13306 | 7e-3, 7e-2, 7e-1, 7e0, 7e1, 7e2, 7e3, 8e-5, | ||
| 13307 | 8e-4, 8e-3, 8e-2, 8e-1, 8e0, 8e1, 8e2, 8e3, | ||
| 13308 | 9e-5, 9e-4, 9e-3, 9e-2, 9e-1, 9e0, 9e1, 9e2, | ||
| 13309 | 9e3, 11e-5, 11e-4, 11e-3, 11e-2, 11e-1, 11e0, 11e1, | ||
| 13310 | 11e2, 11e3, 13e-5, 13e-4, 13e-3, 13e-2, 13e-1, 13e0, | ||
| 13311 | 13e1, 13e2, 13e3, 14e-5, 14e-4, 14e-3, 14e-2, 14e-1, | ||
| 13312 | 14e0, 14e1, 14e2, 14e3, 15e-5, 15e-4, 15e-3, 15e-2, | ||
| 13313 | 15e-1, 15e0, 15e1, 15e2, 15e3, 16e-5, 16e-4, 16e-3, | ||
| 13314 | }); | ||
| 13315 | try testArgs(@Vector(128, u32), @Vector(128, f128), .{ | ||
| 13316 | 16e-2, 16e-1, 16e0, 16e1, 16e2, 16e3, 17e-5, 17e-4, | ||
| 13317 | 17e-3, 17e-2, 17e-1, 17e0, 17e1, 17e2, 17e3, 18e-5, | ||
| 13318 | 18e-4, 18e-3, 18e-2, 18e-1, 18e0, 18e1, 18e2, 18e3, | ||
| 13319 | 19e-5, 19e-4, 19e-3, 19e-2, 19e-1, 19e0, 19e1, 19e2, | ||
| 13320 | 19e3, 21e-5, 21e-4, 21e-3, 21e-2, 21e-1, 21e0, 21e1, | ||
| 13321 | 21e2, 21e3, 22e-5, 22e-4, 22e-3, 22e-2, 22e-1, 22e0, | ||
| 13322 | 22e1, 22e2, 22e3, 23e-5, 23e-4, 23e-3, 23e-2, 23e-1, | ||
| 13323 | 23e0, 23e1, 23e2, 23e3, 24e-5, 24e-4, 24e-3, 24e-2, | ||
| 13324 | 24e-1, 24e0, 24e1, 24e2, 24e3, 25e-5, 25e-4, 25e-3, | ||
| 13325 | 25e-2, 25e-1, 25e0, 25e1, 25e2, 25e3, 26e-5, 26e-4, | ||
| 13326 | 26e-3, 26e-2, 26e-1, 26e0, 26e1, 26e2, 26e3, 27e-5, | ||
| 13327 | 27e-4, 27e-3, 27e-2, 27e-1, 27e0, 27e1, 27e2, 27e3, | ||
| 13328 | 28e-5, 28e-4, 28e-3, 28e-2, 28e-1, 28e0, 28e1, 28e2, | ||
| 13329 | 28e3, 29e-5, 29e-4, 29e-3, 29e-2, 29e-1, 29e0, 29e1, | ||
| 13330 | 29e2, 29e3, 31e-5, 31e-4, 31e-3, 31e-2, 31e-1, 31e0, | ||
| 13331 | 31e1, 31e2, 31e3, 32e-5, 32e-4, 32e-3, 32e-2, 32e-1, | ||
| 13332 | }); | ||
| 13333 | |||
| 13334 | try testArgs(@Vector(1, i64), @Vector(1, f128), .{ | ||
| 13335 | -0x0.8p64, | ||
| 13336 | }); | ||
| 13337 | try testArgs(@Vector(2, i64), @Vector(2, f128), .{ | ||
| 13338 | next(f128, -0x0.8p64, -0.0), next(f128, next(f128, -0x0.8p64, -0.0), -0.0), | ||
| 13339 | }); | ||
| 13340 | try testArgs(@Vector(4, i64), @Vector(4, f128), .{ | ||
| 13341 | -1e4, -1e3, -1e2, -1e1, | ||
| 13342 | }); | ||
| 13343 | try testArgs(@Vector(8, i64), @Vector(8, f128), .{ | ||
| 13344 | -1e0, -1e-1, -1e-2, -1e-3, -1e-4, -1e-5, -0.0, 0.0, | ||
| 13345 | }); | ||
| 13346 | try testArgs(@Vector(16, i64), @Vector(16, f128), .{ | ||
| 13347 | 1e-5, 1e-4, 1e-3, 1e-2, 1e-1, 1e0, 1e1, 1e2, | ||
| 13348 | 1e3, 1e4, next(f128, next(f128, 0x0.8p64, 0.0), 0.0), next(f128, 0x0.8p64, 0.0), -2e4, -2e3, -2e2, -2e1, | ||
| 13349 | }); | ||
| 13350 | try testArgs(@Vector(32, i64), @Vector(32, f128), .{ | ||
| 13351 | -2e0, -2e-1, -2e-2, -2e-3, -2e-4, -2e-5, 2e-5, 2e-4, | ||
| 13352 | 2e-3, 2e-2, 2e-1, 2e0, 2e1, 2e2, 2e3, 2e4, | ||
| 13353 | -3e4, -3e3, -3e2, -3e1, -3e0, -3e-1, -3e-2, -3e-3, | ||
| 13354 | -3e-4, -3e-5, 3e-5, 3e-4, 3e-3, 3e-2, 3e-1, 3e0, | ||
| 13355 | }); | ||
| 13356 | try testArgs(@Vector(64, i64), @Vector(64, f128), .{ | ||
| 13357 | 3e1, 3e2, 3e3, 3e4, -4e3, -4e2, -4e1, -4e0, | ||
| 13358 | -4e-1, -4e-2, -4e-3, -4e-4, -4e-5, 4e-5, 4e-4, 4e-3, | ||
| 13359 | 4e-2, 4e-1, 4e0, 4e1, 4e2, 4e3, -5e3, -5e2, | ||
| 13360 | -5e1, -5e0, -5e-1, -5e-2, -5e-3, -5e-4, -5e-5, 5e-5, | ||
| 13361 | 5e-4, 5e-3, 5e-2, 5e-1, 5e0, 5e1, 5e2, 5e3, | ||
| 13362 | -6e3, -6e2, -6e1, -6e0, -6e-1, -6e-2, -6e-3, -6e-4, | ||
| 13363 | -6e-5, 6e-5, 6e-4, 6e-3, 6e-2, 6e-1, 6e0, 6e1, | ||
| 13364 | 6e2, 6e3, -7e3, -7e2, -7e1, -7e0, -7e-1, -7e-2, | ||
| 13365 | }); | ||
| 13366 | try testArgs(@Vector(128, i64), @Vector(128, f128), .{ | ||
| 13367 | -7e-3, -7e-4, -7e-5, 7e-5, 7e-4, 7e-3, 7e-2, 7e-1, | ||
| 13368 | 7e0, 7e1, 7e2, 7e3, -8e3, -8e2, -8e1, -8e0, | ||
| 13369 | -8e-1, -8e-2, -8e-3, -8e-4, -8e-5, 8e-5, 8e-4, 8e-3, | ||
| 13370 | 8e-2, 8e-1, 8e0, 8e1, 8e2, 8e3, -9e3, -9e2, | ||
| 13371 | -9e1, -9e0, -9e-1, -9e-2, -9e-3, -9e-4, -9e-5, 9e-5, | ||
| 13372 | 9e-4, 9e-3, 9e-2, 9e-1, 9e0, 9e1, 9e2, 9e3, | ||
| 13373 | -11e3, -11e2, -11e1, -11e0, -11e-1, -11e-2, -11e-3, -11e-4, | ||
| 13374 | -11e-5, 11e-5, 11e-4, 11e-3, 11e-2, 11e-1, 11e0, 11e1, | ||
| 13375 | 11e2, 11e3, -12e3, -12e2, -12e1, -12e0, -12e-1, -12e-2, | ||
| 13376 | -12e-3, -12e-4, -12e-5, 12e-5, 12e-4, 12e-3, 12e-2, 12e-1, | ||
| 13377 | 12e0, 12e1, 12e2, 12e3, -13e3, -13e2, -13e1, -13e0, | ||
| 13378 | -13e-1, -13e-2, -13e-3, -13e-4, -13e-5, 13e-5, 13e-4, 13e-3, | ||
| 13379 | 13e-2, 13e-1, 13e0, 13e1, 13e2, -14e2, -14e1, -14e0, | ||
| 13380 | -14e-1, -14e-2, -14e-3, -14e-4, -14e-5, 14e-5, 14e-4, 14e-3, | ||
| 13381 | 14e-2, 14e-1, 14e0, 14e1, 14e2, 14e3, -15e3, -15e2, | ||
| 13382 | -15e1, -15e0, -15e-1, -15e-2, -15e-3, -15e-4, -15e-5, 15e-5, | ||
| 13383 | }); | ||
| 13384 | |||
| 13385 | try testArgs(@Vector(1, u64), @Vector(1, f128), .{ | ||
| 13386 | -0.0, | ||
| 13387 | }); | ||
| 13388 | try testArgs(@Vector(2, u64), @Vector(2, f128), .{ | ||
| 13389 | 0.0, 1e-5, | ||
| 13390 | }); | ||
| 13391 | try testArgs(@Vector(4, u64), @Vector(4, f128), .{ | ||
| 13392 | 1e-4, 1e-3, 1e-2, 1e-1, | ||
| 13393 | }); | ||
| 13394 | try testArgs(@Vector(8, u64), @Vector(8, f128), .{ | ||
| 13395 | 1e0, 1e1, 1e2, 1e3, 1e4, next(f128, next(f128, 0x1p64, 0.0), 0.0), next(f128, 0x1p64, 0.0), 2e-5, | ||
| 13396 | }); | ||
| 13397 | try testArgs(@Vector(16, u64), @Vector(16, f128), .{ | ||
| 13398 | 2e-4, 2e-3, 2e-2, 2e-1, 2e0, 2e1, 2e2, 2e3, | ||
| 13399 | 2e4, 3e-5, 3e-4, 3e-3, 3e-2, 3e-1, 3e0, 3e1, | ||
| 13400 | }); | ||
| 13401 | try testArgs(@Vector(32, u64), @Vector(32, f128), .{ | ||
| 13402 | 3e2, 3e3, 3e4, 4e-5, 4e-4, 4e-3, 4e-2, 4e-1, | ||
| 13403 | 4e0, 4e1, 4e2, 4e3, 5e-5, 5e-4, 5e-3, 5e-2, | ||
| 13404 | 5e-1, 5e0, 5e1, 5e2, 5e3, 6e-5, 6e-4, 6e-3, | ||
| 13405 | 6e-2, 6e-1, 6e0, 6e1, 6e2, 6e3, 7e-5, 7e-4, | ||
| 13406 | }); | ||
| 13407 | try testArgs(@Vector(64, u64), @Vector(64, f128), .{ | ||
| 13408 | 7e-3, 7e-2, 7e-1, 7e0, 7e1, 7e2, 7e3, 8e-5, | ||
| 13409 | 8e-4, 8e-3, 8e-2, 8e-1, 8e0, 8e1, 8e2, 8e3, | ||
| 13410 | 9e-5, 9e-4, 9e-3, 9e-2, 9e-1, 9e0, 9e1, 9e2, | ||
| 13411 | 9e3, 11e-5, 11e-4, 11e-3, 11e-2, 11e-1, 11e0, 11e1, | ||
| 13412 | 11e2, 11e3, 13e-5, 13e-4, 13e-3, 13e-2, 13e-1, 13e0, | ||
| 13413 | 13e1, 13e2, 13e3, 14e-5, 14e-4, 14e-3, 14e-2, 14e-1, | ||
| 13414 | 14e0, 14e1, 14e2, 14e3, 15e-5, 15e-4, 15e-3, 15e-2, | ||
| 13415 | 15e-1, 15e0, 15e1, 15e2, 15e3, 16e-5, 16e-4, 16e-3, | ||
| 13416 | }); | ||
| 13417 | try testArgs(@Vector(128, u64), @Vector(128, f128), .{ | ||
| 13418 | 16e-2, 16e-1, 16e0, 16e1, 16e2, 16e3, 17e-5, 17e-4, | ||
| 13419 | 17e-3, 17e-2, 17e-1, 17e0, 17e1, 17e2, 17e3, 18e-5, | ||
| 13420 | 18e-4, 18e-3, 18e-2, 18e-1, 18e0, 18e1, 18e2, 18e3, | ||
| 13421 | 19e-5, 19e-4, 19e-3, 19e-2, 19e-1, 19e0, 19e1, 19e2, | ||
| 13422 | 19e3, 21e-5, 21e-4, 21e-3, 21e-2, 21e-1, 21e0, 21e1, | ||
| 13423 | 21e2, 21e3, 22e-5, 22e-4, 22e-3, 22e-2, 22e-1, 22e0, | ||
| 13424 | 22e1, 22e2, 22e3, 23e-5, 23e-4, 23e-3, 23e-2, 23e-1, | ||
| 13425 | 23e0, 23e1, 23e2, 23e3, 24e-5, 24e-4, 24e-3, 24e-2, | ||
| 13426 | 24e-1, 24e0, 24e1, 24e2, 24e3, 25e-5, 25e-4, 25e-3, | ||
| 13427 | 25e-2, 25e-1, 25e0, 25e1, 25e2, 25e3, 26e-5, 26e-4, | ||
| 13428 | 26e-3, 26e-2, 26e-1, 26e0, 26e1, 26e2, 26e3, 27e-5, | ||
| 13429 | 27e-4, 27e-3, 27e-2, 27e-1, 27e0, 27e1, 27e2, 27e3, | ||
| 13430 | 28e-5, 28e-4, 28e-3, 28e-2, 28e-1, 28e0, 28e1, 28e2, | ||
| 13431 | 28e3, 29e-5, 29e-4, 29e-3, 29e-2, 29e-1, 29e0, 29e1, | ||
| 13432 | 29e2, 29e3, 31e-5, 31e-4, 31e-3, 31e-2, 31e-1, 31e0, | ||
| 13433 | 31e1, 31e2, 31e3, 32e-5, 32e-4, 32e-3, 32e-2, 32e-1, | ||
| 13434 | }); | ||
| 13435 | |||
| 13436 | try testArgs(@Vector(1, i128), @Vector(1, f128), .{ | ||
| 13437 | -0x0.8p128, | ||
| 13438 | }); | ||
| 13439 | try testArgs(@Vector(2, i128), @Vector(2, f128), .{ | ||
| 13440 | next(f128, -0x0.8p128, -0.0), next(f128, next(f128, -0x0.8p128, -0.0), -0.0), | ||
| 13441 | }); | ||
| 13442 | try testArgs(@Vector(4, i128), @Vector(4, f128), .{ | ||
| 13443 | -1e4, -1e3, -1e2, -1e1, | ||
| 13444 | }); | ||
| 13445 | try testArgs(@Vector(8, i128), @Vector(8, f128), .{ | ||
| 13446 | -1e0, -1e-1, -1e-2, -1e-3, -1e-4, -1e-5, -0.0, 0.0, | ||
| 13447 | }); | ||
| 13448 | try testArgs(@Vector(16, i128), @Vector(16, f128), .{ | ||
| 13449 | 1e-5, 1e-4, 1e-3, 1e-2, 1e-1, 1e0, 1e1, 1e2, | ||
| 13450 | 1e3, 1e4, next(f128, next(f128, 0x0.8p128, 0.0), 0.0), next(f128, 0x0.8p128, 0.0), -2e4, -2e3, -2e2, -2e1, | ||
| 13451 | }); | ||
| 13452 | try testArgs(@Vector(32, i128), @Vector(32, f128), .{ | ||
| 13453 | -2e0, -2e-1, -2e-2, -2e-3, -2e-4, -2e-5, 2e-5, 2e-4, | ||
| 13454 | 2e-3, 2e-2, 2e-1, 2e0, 2e1, 2e2, 2e3, 2e4, | ||
| 13455 | -3e4, -3e3, -3e2, -3e1, -3e0, -3e-1, -3e-2, -3e-3, | ||
| 13456 | -3e-4, -3e-5, 3e-5, 3e-4, 3e-3, 3e-2, 3e-1, 3e0, | ||
| 13457 | }); | ||
| 13458 | try testArgs(@Vector(64, i128), @Vector(64, f128), .{ | ||
| 13459 | 3e1, 3e2, 3e3, 3e4, -4e3, -4e2, -4e1, -4e0, | ||
| 13460 | -4e-1, -4e-2, -4e-3, -4e-4, -4e-5, 4e-5, 4e-4, 4e-3, | ||
| 13461 | 4e-2, 4e-1, 4e0, 4e1, 4e2, 4e3, -5e3, -5e2, | ||
| 13462 | -5e1, -5e0, -5e-1, -5e-2, -5e-3, -5e-4, -5e-5, 5e-5, | ||
| 13463 | 5e-4, 5e-3, 5e-2, 5e-1, 5e0, 5e1, 5e2, 5e3, | ||
| 13464 | -6e3, -6e2, -6e1, -6e0, -6e-1, -6e-2, -6e-3, -6e-4, | ||
| 13465 | -6e-5, 6e-5, 6e-4, 6e-3, 6e-2, 6e-1, 6e0, 6e1, | ||
| 13466 | 6e2, 6e3, -7e3, -7e2, -7e1, -7e0, -7e-1, -7e-2, | ||
| 13467 | }); | ||
| 13468 | |||
| 13469 | try testArgs(@Vector(1, u128), @Vector(1, f128), .{ | ||
| 13470 | -0.0, | ||
| 13471 | }); | ||
| 13472 | try testArgs(@Vector(2, u128), @Vector(2, f128), .{ | ||
| 13473 | 0.0, 1e-5, | ||
| 13474 | }); | ||
| 13475 | try testArgs(@Vector(4, u128), @Vector(4, f128), .{ | ||
| 13476 | 1e-4, 1e-3, 1e-2, 1e-1, | ||
| 13477 | }); | ||
| 13478 | try testArgs(@Vector(8, u128), @Vector(8, f128), .{ | ||
| 13479 | 1e0, 1e1, 1e2, 1e3, 1e4, next(f128, next(f128, 0x1p128, 0.0), 0.0), next(f128, 0x1p128, 0.0), 2e-5, | ||
| 13480 | }); | ||
| 13481 | try testArgs(@Vector(16, u128), @Vector(16, f128), .{ | ||
| 13482 | 2e-4, 2e-3, 2e-2, 2e-1, 2e0, 2e1, 2e2, 2e3, | ||
| 13483 | 2e4, 3e-5, 3e-4, 3e-3, 3e-2, 3e-1, 3e0, 3e1, | ||
| 13484 | }); | ||
| 13485 | try testArgs(@Vector(32, u128), @Vector(32, f128), .{ | ||
| 13486 | 3e2, 3e3, 3e4, 4e-5, 4e-4, 4e-3, 4e-2, 4e-1, | ||
| 13487 | 4e0, 4e1, 4e2, 4e3, 5e-5, 5e-4, 5e-3, 5e-2, | ||
| 13488 | 5e-1, 5e0, 5e1, 5e2, 5e3, 6e-5, 6e-4, 6e-3, | ||
| 13489 | 6e-2, 6e-1, 6e0, 6e1, 6e2, 6e3, 7e-5, 7e-4, | ||
| 13490 | }); | ||
| 13491 | try testArgs(@Vector(64, u128), @Vector(64, f128), .{ | ||
| 13492 | 7e-3, 7e-2, 7e-1, 7e0, 7e1, 7e2, 7e3, 8e-5, | ||
| 13493 | 8e-4, 8e-3, 8e-2, 8e-1, 8e0, 8e1, 8e2, 8e3, | ||
| 13494 | 9e-5, 9e-4, 9e-3, 9e-2, 9e-1, 9e0, 9e1, 9e2, | ||
| 13495 | 9e3, 11e-5, 11e-4, 11e-3, 11e-2, 11e-1, 11e0, 11e1, | ||
| 13496 | 11e2, 11e3, 13e-5, 13e-4, 13e-3, 13e-2, 13e-1, 13e0, | ||
| 13497 | 13e1, 13e2, 13e3, 14e-5, 14e-4, 14e-3, 14e-2, 14e-1, | ||
| 13498 | 14e0, 14e1, 14e2, 14e3, 15e-5, 15e-4, 15e-3, 15e-2, | ||
| 13499 | 15e-1, 15e0, 15e1, 15e2, 15e3, 16e-5, 16e-4, 16e-3, | ||
| 13500 | }); | ||
| 13501 | |||
| 13502 | try testArgs(@Vector(1, i256), @Vector(1, f128), .{ | ||
| 13503 | -0x0.8p256, | ||
| 13504 | }); | ||
| 13505 | try testArgs(@Vector(2, i256), @Vector(2, f128), .{ | ||
| 13506 | next(f128, -0x0.8p256, -0.0), next(f128, next(f128, -0x0.8p256, -0.0), -0.0), | ||
| 13507 | }); | ||
| 13508 | try testArgs(@Vector(4, i256), @Vector(4, f128), .{ | ||
| 13509 | -1e4, -1e3, -1e2, -1e1, | ||
| 13510 | }); | ||
| 13511 | try testArgs(@Vector(8, i256), @Vector(8, f128), .{ | ||
| 13512 | -1e0, -1e-1, -1e-2, -1e-3, -1e-4, -1e-5, -0.0, 0.0, | ||
| 13513 | }); | ||
| 13514 | try testArgs(@Vector(16, i256), @Vector(16, f128), .{ | ||
| 13515 | 1e-5, 1e-4, 1e-3, 1e-2, 1e-1, 1e0, 1e1, 1e2, | ||
| 13516 | 1e3, 1e4, next(f128, next(f128, 0x0.8p256, 0.0), 0.0), next(f128, 0x0.8p256, 0.0), -2e4, -2e3, -2e2, -2e1, | ||
| 13517 | }); | ||
| 13518 | try testArgs(@Vector(32, i256), @Vector(32, f128), .{ | ||
| 13519 | -2e0, -2e-1, -2e-2, -2e-3, -2e-4, -2e-5, 2e-5, 2e-4, | ||
| 13520 | 2e-3, 2e-2, 2e-1, 2e0, 2e1, 2e2, 2e3, 2e4, | ||
| 13521 | -3e4, -3e3, -3e2, -3e1, -3e0, -3e-1, -3e-2, -3e-3, | ||
| 13522 | -3e-4, -3e-5, 3e-5, 3e-4, 3e-3, 3e-2, 3e-1, 3e0, | ||
| 13523 | }); | ||
| 13524 | try testArgs(@Vector(64, i256), @Vector(64, f128), .{ | ||
| 13525 | 3e1, 3e2, 3e3, 3e4, -4e3, -4e2, -4e1, -4e0, | ||
| 13526 | -4e-1, -4e-2, -4e-3, -4e-4, -4e-5, 4e-5, 4e-4, 4e-3, | ||
| 13527 | 4e-2, 4e-1, 4e0, 4e1, 4e2, 4e3, -5e3, -5e2, | ||
| 13528 | -5e1, -5e0, -5e-1, -5e-2, -5e-3, -5e-4, -5e-5, 5e-5, | ||
| 13529 | 5e-4, 5e-3, 5e-2, 5e-1, 5e0, 5e1, 5e2, 5e3, | ||
| 13530 | -6e3, -6e2, -6e1, -6e0, -6e-1, -6e-2, -6e-3, -6e-4, | ||
| 13531 | -6e-5, 6e-5, 6e-4, 6e-3, 6e-2, 6e-1, 6e0, 6e1, | ||
| 13532 | 6e2, 6e3, -7e3, -7e2, -7e1, -7e0, -7e-1, -7e-2, | ||
| 13533 | }); | ||
| 13534 | |||
| 13535 | try testArgs(@Vector(1, u256), @Vector(1, f128), .{ | ||
| 13536 | -0.0, | ||
| 13537 | }); | ||
| 13538 | try testArgs(@Vector(2, u256), @Vector(2, f128), .{ | ||
| 13539 | 0.0, 1e-5, | ||
| 13540 | }); | ||
| 13541 | try testArgs(@Vector(4, u256), @Vector(4, f128), .{ | ||
| 13542 | 1e-4, 1e-3, 1e-2, 1e-1, | ||
| 13543 | }); | ||
| 13544 | try testArgs(@Vector(8, u256), @Vector(8, f128), .{ | ||
| 13545 | 1e0, 1e1, 1e2, 1e3, 1e4, next(f128, next(f128, 0x1p256, 0.0), 0.0), next(f128, 0x1p256, 0.0), 2e-5, | ||
| 13546 | }); | ||
| 13547 | try testArgs(@Vector(16, u256), @Vector(16, f128), .{ | ||
| 13548 | 2e-4, 2e-3, 2e-2, 2e-1, 2e0, 2e1, 2e2, 2e3, | ||
| 13549 | 2e4, 3e-5, 3e-4, 3e-3, 3e-2, 3e-1, 3e0, 3e1, | ||
| 13550 | }); | ||
| 13551 | try testArgs(@Vector(32, u256), @Vector(32, f128), .{ | ||
| 13552 | 3e2, 3e3, 3e4, 4e-5, 4e-4, 4e-3, 4e-2, 4e-1, | ||
| 13553 | 4e0, 4e1, 4e2, 4e3, 5e-5, 5e-4, 5e-3, 5e-2, | ||
| 13554 | 5e-1, 5e0, 5e1, 5e2, 5e3, 6e-5, 6e-4, 6e-3, | ||
| 13555 | 6e-2, 6e-1, 6e0, 6e1, 6e2, 6e3, 7e-5, 7e-4, | ||
| 13556 | }); | ||
| 13557 | try testArgs(@Vector(64, u256), @Vector(64, f128), .{ | ||
| 13558 | 7e-3, 7e-2, 7e-1, 7e0, 7e1, 7e2, 7e3, 8e-5, | ||
| 13559 | 8e-4, 8e-3, 8e-2, 8e-1, 8e0, 8e1, 8e2, 8e3, | ||
| 13560 | 9e-5, 9e-4, 9e-3, 9e-2, 9e-1, 9e0, 9e1, 9e2, | ||
| 13561 | 9e3, 11e-5, 11e-4, 11e-3, 11e-2, 11e-1, 11e0, 11e1, | ||
| 13562 | 11e2, 11e3, 13e-5, 13e-4, 13e-3, 13e-2, 13e-1, 13e0, | ||
| 13563 | 13e1, 13e2, 13e3, 14e-5, 14e-4, 14e-3, 14e-2, 14e-1, | ||
| 13564 | 14e0, 14e1, 14e2, 14e3, 15e-5, 15e-4, 15e-3, 15e-2, | ||
| 13565 | 15e-1, 15e0, 15e1, 15e2, 15e3, 16e-5, 16e-4, 16e-3, | ||
| 13566 | }); | ||
| 13567 | } | ||
| 13568 | fn testFloatVectorsFromIntVectors() !void { | ||
| 13569 | @setEvalBranchQuota(2_700); | ||
| 13570 | |||
| 13571 | try testArgs(@Vector(1, f16), @Vector(1, i8), .{ | ||
| 13572 | imin(i8), | ||
| 13573 | }); | ||
| 13574 | try testArgs(@Vector(2, f16), @Vector(2, i8), .{ | ||
| 13575 | imin(i8) + 1, -1e2, | ||
| 13576 | }); | ||
| 13577 | try testArgs(@Vector(4, f16), @Vector(4, i8), .{ | ||
| 13578 | -1e1, -1e0, 0, 1e0, | ||
| 13579 | }); | ||
| 13580 | try testArgs(@Vector(8, f16), @Vector(8, i8), .{ | ||
| 13581 | 1e1, 1e2, imax(i8) - 1, imax(i8), imin(i8) + 2, imin(i8) + 3, -2e1, -2e0, | ||
| 13582 | }); | ||
| 13583 | try testArgs(@Vector(16, f16), @Vector(16, i8), .{ | ||
| 13584 | 2e0, 2e1, imax(i8) - 3, imax(i8) - 2, imin(i8) + 4, imin(i8) + 5, -3e1, -3e0, | ||
| 13585 | 3e0, 3e1, imax(i8) - 5, imax(i8) - 4, imin(i8) + 6, imin(i8) + 7, -4e1, -4e0, | ||
| 13586 | }); | ||
| 13587 | try testArgs(@Vector(32, f16), @Vector(32, i8), .{ | ||
| 13588 | 4e0, 4e1, imax(i8) - 7, imax(i8) - 6, imin(i8) + 8, imin(i8) + 9, -5e1, -5e0, | ||
| 13589 | 5e0, 5e1, imax(i8) - 9, imax(i8) - 8, imin(i8) + 10, imin(i8) + 11, -6e1, -6e0, | ||
| 13590 | 6e0, 6e1, imax(i8) - 11, imax(i8) - 10, imin(i8) + 12, imin(i8) + 13, -7e1, -7e0, | ||
| 13591 | 7e0, 7e1, imax(i8) - 13, imax(i8) - 12, imin(i8) + 14, imin(i8) + 15, -8e1, -8e0, | ||
| 13592 | }); | ||
| 13593 | try testArgs(@Vector(64, f16), @Vector(64, i8), .{ | ||
| 13594 | 8e0, 8e1, imax(i8) - 15, imax(i8) - 14, imin(i8) + 16, imin(i8) + 17, -9e1, -9e0, | ||
| 13595 | 9e0, 9e1, imax(i8) - 17, imax(i8) - 16, imin(i8) + 18, imin(i8) + 19, -11e1, -11e0, | ||
| 13596 | 11e0, 11e1, imax(i8) - 19, imax(i8) - 18, imin(i8) + 20, imin(i8) + 21, -12e1, -12e0, | ||
| 13597 | 12e0, 12e1, imax(i8) - 21, imax(i8) - 20, imin(i8) + 22, imin(i8) + 23, -13e0, 13e0, | ||
| 13598 | imax(i8) - 23, imax(i8) - 22, imin(i8) + 24, imin(i8) + 25, -14e0, 14e0, imax(i8) - 25, imax(i8) - 24, | ||
| 13599 | imin(i8) + 26, imin(i8) + 27, -15e0, 15e0, imax(i8) - 27, imax(i8) - 26, imin(i8) + 28, imin(i8) + 29, | ||
| 13600 | -16e0, 16e0, imax(i8) - 29, imax(i8) - 28, imin(i8) + 30, imin(i8) + 31, -17e0, 17e0, | ||
| 13601 | imax(i8) - 31, imax(i8) - 30, imin(i8) + 32, imin(i8) + 33, -18e0, 18e0, imax(i8) - 33, imax(i8) - 32, | ||
| 13602 | }); | ||
| 13603 | try testArgs(@Vector(128, f16), @Vector(128, i8), .{ | ||
| 13604 | imin(i8) + 34, imin(i8) + 35, -19e0, 19e0, imax(i8) - 35, imax(i8) - 34, imin(i8) + 36, imin(i8) + 37, | ||
| 13605 | -21e0, 21e0, imax(i8) - 37, imax(i8) - 36, imin(i8) + 38, imin(i8) + 39, -22e0, 22e0, | ||
| 13606 | imax(i8) - 39, imax(i8) - 38, imin(i8) + 40, imin(i8) + 41, -23e0, 23e0, imax(i8) - 41, imax(i8) - 40, | ||
| 13607 | imin(i8) + 42, imin(i8) + 43, -24e0, 24e0, imax(i8) - 43, imax(i8) - 42, imin(i8) + 44, imin(i8) + 45, | ||
| 13608 | -25e0, 25e0, imax(i8) - 45, imax(i8) - 44, imin(i8) + 46, imin(i8) + 47, -26e0, 26e0, | ||
| 13609 | imax(i8) - 47, imax(i8) - 46, imin(i8) + 48, imin(i8) + 49, -27e0, 27e0, imax(i8) - 49, imax(i8) - 48, | ||
| 13610 | imin(i8) + 50, imin(i8) + 51, -28e0, 28e0, imax(i8) - 51, imax(i8) - 50, imin(i8) + 52, imin(i8) + 53, | ||
| 13611 | -29e0, 29e0, imax(i8) - 53, imax(i8) - 52, imin(i8) + 54, imin(i8) + 55, -31e0, 31e0, | ||
| 13612 | imax(i8) - 55, imax(i8) - 54, imin(i8) + 56, imin(i8) + 57, -32e0, 32e0, imax(i8) - 57, imax(i8) - 56, | ||
| 13613 | imin(i8) + 58, imin(i8) + 59, -33e0, 33e0, imax(i8) - 59, imax(i8) - 58, imin(i8) + 60, imin(i8) + 61, | ||
| 13614 | -34e0, 34e0, imax(i8) - 61, imax(i8) - 60, imin(i8) + 62, imin(i8) + 63, -35e0, 35e0, | ||
| 13615 | imax(i8) - 63, imax(i8) - 62, imin(i8) + 64, imin(i8) + 65, -36e0, 36e0, imax(i8) - 65, imax(i8) - 64, | ||
| 13616 | imin(i8) + 66, imin(i8) + 67, -37e0, 37e0, imax(i8) - 67, imax(i8) - 66, imin(i8) + 68, imin(i8) + 69, | ||
| 13617 | -38e0, 38e0, imax(i8) - 69, imax(i8) - 68, imin(i8) + 70, imin(i8) + 71, -39e0, 39e0, | ||
| 13618 | imax(i8) - 71, imax(i8) - 70, imin(i8) + 72, imin(i8) + 73, -41e0, 41e0, imax(i8) - 73, imax(i8) - 72, | ||
| 13619 | imin(i8) + 74, imin(i8) + 75, -42e0, 42e0, imax(i8) - 75, imax(i8) - 74, imin(i8) + 76, imin(i8) + 77, | ||
| 13620 | }); | ||
| 13621 | |||
| 13622 | try testArgs(@Vector(1, f16), @Vector(1, u8), .{ | ||
| 13623 | 0, | ||
| 13624 | }); | ||
| 13625 | try testArgs(@Vector(2, f16), @Vector(2, u8), .{ | ||
| 13626 | 1e0, 1e1, | ||
| 13627 | }); | ||
| 13628 | try testArgs(@Vector(4, f16), @Vector(4, u8), .{ | ||
| 13629 | 1e2, imax(u8) - 1, imax(u8), 2e0, | ||
| 13630 | }); | ||
| 13631 | try testArgs(@Vector(8, f16), @Vector(8, u8), .{ | ||
| 13632 | 2e1, 2e2, imax(u8) - 3, imax(u8) - 2, 3e0, 3e1, imax(u8) - 5, imax(u8) - 4, | ||
| 13633 | }); | ||
| 13634 | try testArgs(@Vector(16, f16), @Vector(16, u8), .{ | ||
| 13635 | imax(u8) - 7, imax(u8) - 6, 5e0, 5e1, imax(u8) - 9, imax(u8) - 8, 6e0, 6e1, | ||
| 13636 | imax(u8) - 11, imax(u8) - 10, 7e0, 7e1, imax(u8) - 13, imax(u8) - 12, 8e0, 8e1, | ||
| 13637 | }); | ||
| 13638 | try testArgs(@Vector(32, f16), @Vector(32, u8), .{ | ||
| 13639 | imax(u8) - 15, imax(u8) - 14, 9e0, 9e1, imax(u8) - 17, imax(u8) - 16, 11e0, 11e1, | ||
| 13640 | imax(u8) - 19, imax(u8) - 18, 12e0, 12e1, imax(u8) - 21, imax(u8) - 20, 13e0, 13e1, | ||
| 13641 | imax(u8) - 23, imax(u8) - 22, 14e0, 14e1, imax(u8) - 25, imax(u8) - 24, 15e0, 15e1, | ||
| 13642 | imax(u8) - 27, imax(u8) - 26, 16e0, 16e1, imax(u8) - 29, imax(u8) - 28, 17e0, 17e1, | ||
| 13643 | }); | ||
| 13644 | try testArgs(@Vector(64, f16), @Vector(64, u8), .{ | ||
| 13645 | imax(u8) - 31, imax(u8) - 30, 18e0, 18e1, imax(u8) - 33, imax(u8) - 32, 19e0, 19e1, | ||
| 13646 | imax(u8) - 35, imax(u8) - 34, 21e0, 21e1, imax(u8) - 37, imax(u8) - 36, 22e0, 22e1, | ||
| 13647 | imax(u8) - 39, imax(u8) - 38, 23e0, 23e1, imax(u8) - 41, imax(u8) - 40, 24e0, 24e1, | ||
| 13648 | imax(u8) - 43, imax(u8) - 42, 25e0, 25e1, imax(u8) - 45, imax(u8) - 44, 26e0, imax(u8) - 47, | ||
| 13649 | imax(u8) - 46, 27e0, imax(u8) - 49, imax(u8) - 48, 28e0, imax(u8) - 51, imax(u8) - 50, 29e0, | ||
| 13650 | imax(u8) - 53, imax(u8) - 52, 31e0, imax(u8) - 55, imax(u8) - 54, 32e0, imax(u8) - 57, imax(u8) - 56, | ||
| 13651 | 33e0, imax(u8) - 59, imax(u8) - 58, 34e0, imax(u8) - 61, imax(u8) - 60, 35e0, imax(u8) - 63, | ||
| 13652 | imax(u8) - 62, 36e0, imax(u8) - 65, imax(u8) - 64, 37e0, imax(u8) - 67, imax(u8) - 66, 38e0, | ||
| 13653 | }); | ||
| 13654 | try testArgs(@Vector(128, f16), @Vector(128, u8), .{ | ||
| 13655 | imax(u8) - 69, imax(u8) - 68, 39e0, imax(u8) - 71, imax(u8) - 70, 41e0, imax(u8) - 73, imax(u8) - 72, | ||
| 13656 | 42e0, imax(u8) - 75, imax(u8) - 74, 43e0, imax(u8) - 77, imax(u8) - 76, 44e0, imax(u8) - 79, | ||
| 13657 | imax(u8) - 78, 45e0, imax(u8) - 81, imax(u8) - 80, 46e0, imax(u8) - 83, imax(u8) - 82, 47e0, | ||
| 13658 | imax(u8) - 85, imax(u8) - 84, 48e0, imax(u8) - 87, imax(u8) - 86, 49e0, imax(u8) - 89, imax(u8) - 88, | ||
| 13659 | 51e0, imax(u8) - 91, imax(u8) - 90, 52e0, imax(u8) - 93, imax(u8) - 92, 53e0, imax(u8) - 95, | ||
| 13660 | imax(u8) - 94, 54e0, imax(u8) - 97, imax(u8) - 96, 55e0, imax(u8) - 99, imax(u8) - 98, 56e0, | ||
| 13661 | imax(u8) - 101, imax(u8) - 100, 57e0, imax(u8) - 103, imax(u8) - 102, 58e0, imax(u8) - 105, imax(u8) - 104, | ||
| 13662 | 59e0, imax(u8) - 107, imax(u8) - 106, 61e0, imax(u8) - 109, imax(u8) - 108, 62e0, imax(u8) - 111, | ||
| 13663 | imax(u8) - 110, 63e0, imax(u8) - 113, imax(u8) - 112, 64e0, imax(u8) - 115, imax(u8) - 114, 65e0, | ||
| 13664 | imax(u8) - 117, imax(u8) - 116, 66e0, imax(u8) - 119, imax(u8) - 118, 67e0, imax(u8) - 121, imax(u8) - 120, | ||
| 13665 | 68e0, imax(u8) - 123, imax(u8) - 122, 69e0, imax(u8) - 125, imax(u8) - 124, 71e0, imax(u8) - 127, | ||
| 13666 | imax(u8) - 126, 72e0, imax(u8) - 129, imax(u8) - 128, 73e0, imax(u8) - 131, imax(u8) - 130, 74e0, | ||
| 13667 | imax(u8) - 133, imax(u8) - 132, 75e0, imax(u8) - 135, imax(u8) - 134, 76e0, imax(u8) - 137, imax(u8) - 136, | ||
| 13668 | 77e0, imax(u8) - 139, imax(u8) - 138, 78e0, imax(u8) - 141, imax(u8) - 140, 79e0, imax(u8) - 143, | ||
| 13669 | imax(u8) - 142, 81e0, imax(u8) - 145, imax(u8) - 144, 82e0, imax(u8) - 147, imax(u8) - 146, 83e0, | ||
| 13670 | imax(u8) - 149, imax(u8) - 148, 84e0, imax(u8) - 151, imax(u8) - 150, 85e0, imax(u8) - 153, imax(u8) - 152, | ||
| 13671 | }); | ||
| 13672 | |||
| 13673 | try testArgs(@Vector(1, f16), @Vector(1, i16), .{ | ||
| 13674 | imin(i16), | ||
| 13675 | }); | ||
| 13676 | try testArgs(@Vector(2, f16), @Vector(2, i16), .{ | ||
| 13677 | imin(i16) + 1, -1e4, | ||
| 13678 | }); | ||
| 13679 | try testArgs(@Vector(4, f16), @Vector(4, i16), .{ | ||
| 13680 | -1e3, -1e2, -1e1, -1e0, | ||
| 13681 | }); | ||
| 13682 | try testArgs(@Vector(8, f16), @Vector(8, i16), .{ | ||
| 13683 | 0, 1e0, 1e1, 1e2, 1e3, 1e4, imax(i16) - 1, imax(i16), | ||
| 13684 | }); | ||
| 13685 | try testArgs(@Vector(16, f16), @Vector(16, i16), .{ | ||
| 13686 | imin(i16) + 2, imin(i16) + 3, -2e4, -2e3, -2e2, -2e1, -2e0, 2e0, | ||
| 13687 | 2e1, 2e2, 2e3, 2e4, imax(i16) - 3, imax(i16) - 2, imin(i16) + 4, imin(i16) + 5, | ||
| 13688 | }); | ||
| 13689 | try testArgs(@Vector(32, f16), @Vector(32, i16), .{ | ||
| 13690 | -3e4, -3e3, -3e2, -3e1, -3e0, 3e0, 3e1, 3e2, | ||
| 13691 | 3e3, 3e4, imax(i16) - 5, imax(i16) - 4, imin(i16) + 6, imin(i16) + 7, -4e3, -4e2, | ||
| 13692 | -4e1, -4e0, 4e0, 4e1, 4e2, 4e3, imax(i16) - 7, imax(i16) - 6, | ||
| 13693 | imin(i16) + 8, imin(i16) + 9, -5e3, -5e2, -5e1, -5e0, 5e0, 5e1, | ||
| 13694 | }); | ||
| 13695 | try testArgs(@Vector(64, f16), @Vector(64, i16), .{ | ||
| 13696 | 5e2, 5e3, imax(i16) - 9, imax(i16) - 8, imin(i16) + 10, imin(i16) + 11, -6e3, -6e2, | ||
| 13697 | -6e1, -6e0, 6e0, 6e1, 6e2, 6e3, imax(i16) - 11, imax(i16) - 10, | ||
| 13698 | imin(i16) + 12, imin(i16) + 13, -7e3, -7e2, -7e1, -7e0, 7e0, 7e1, | ||
| 13699 | 7e2, 7e3, imax(i16) - 13, imax(i16) - 12, imin(i16) + 14, imin(i16) + 15, -8e3, -8e2, | ||
| 13700 | -8e1, -8e0, 8e0, 8e1, 8e2, 8e3, imax(i16) - 15, imax(i16) - 14, | ||
| 13701 | imin(i16) + 16, imin(i16) + 17, -9e3, -9e2, -9e1, -9e0, 9e0, 9e1, | ||
| 13702 | 9e2, 9e3, imax(i16) - 17, imax(i16) - 16, imin(i16) + 18, imin(i16) + 19, -11e3, -11e2, | ||
| 13703 | -11e1, -11e0, 11e0, 11e1, 11e2, 11e3, imax(i16) - 19, imax(i16) - 18, | ||
| 13704 | }); | ||
| 13705 | try testArgs(@Vector(128, f16), @Vector(128, i16), .{ | ||
| 13706 | imin(i16) + 20, imin(i16) + 21, -12e3, -12e2, -12e1, -12e0, 12e0, 12e1, | ||
| 13707 | 12e2, 12e3, imax(i16) - 21, imax(i16) - 20, imin(i16) + 22, imin(i16) + 23, -13e3, -13e2, | ||
| 13708 | -13e1, -13e0, 13e0, 13e1, 13e2, 13e3, imax(i16) - 23, imax(i16) - 22, | ||
| 13709 | imin(i16) + 24, imin(i16) + 25, -14e3, -14e2, -14e1, -14e0, 14e0, 14e1, | ||
| 13710 | 14e2, 14e3, imax(i16) - 25, imax(i16) - 24, imin(i16) + 26, imin(i16) + 27, -15e3, -15e2, | ||
| 13711 | -15e1, -15e0, 15e0, 15e1, 15e2, 15e3, imax(i16) - 27, imax(i16) - 26, | ||
| 13712 | imin(i16) + 28, imin(i16) + 29, -16e3, -16e2, -16e1, -16e0, 16e0, 16e1, | ||
| 13713 | 16e2, 16e3, imax(i16) - 29, imax(i16) - 28, imin(i16) + 30, imin(i16) + 31, -17e3, -17e2, | ||
| 13714 | -17e1, -17e0, 17e0, 17e1, 17e2, 17e3, imax(i16) - 31, imax(i16) - 30, | ||
| 13715 | imin(i16) + 32, imin(i16) + 33, -18e3, -18e2, -18e1, -18e0, 18e0, 18e1, | ||
| 13716 | 18e2, 18e3, imax(i16) - 33, imax(i16) - 32, imin(i16) + 34, imin(i16) + 35, -19e3, -19e2, | ||
| 13717 | -19e1, -19e0, 19e0, 19e1, 19e2, 19e3, imax(i16) - 35, imax(i16) - 34, | ||
| 13718 | imin(i16) + 36, imin(i16) + 37, -12e3, -21e2, -21e1, -21e0, 21e0, 21e1, | ||
| 13719 | 21e2, 21e3, imax(i16) - 37, imax(i16) - 36, imin(i16) + 38, imin(i16) + 39, -22e3, -22e2, | ||
| 13720 | -22e1, -22e0, 22e0, 22e1, 22e2, 22e3, imax(i16) - 39, imax(i16) - 38, | ||
| 13721 | imin(i16) + 40, imin(i16) + 41, -23e3, -23e2, -23e1, -23e0, 23e0, 23e1, | ||
| 13722 | }); | ||
| 13723 | |||
| 13724 | try testArgs(@Vector(1, f16), @Vector(1, u16), .{ | ||
| 13725 | 0, | ||
| 13726 | }); | ||
| 13727 | try testArgs(@Vector(2, f16), @Vector(2, u16), .{ | ||
| 13728 | 1e0, 1e1, | ||
| 13729 | }); | ||
| 13730 | try testArgs(@Vector(4, f16), @Vector(4, u16), .{ | ||
| 13731 | 1e2, 1e3, 1e4, imax(u16) - 1, | ||
| 13732 | }); | ||
| 13733 | try testArgs(@Vector(8, f16), @Vector(8, u16), .{ | ||
| 13734 | imax(u16), 2e0, 2e1, 2e2, 2e3, 2e4, imax(u16) - 3, imax(u16) - 2, | ||
| 13735 | }); | ||
| 13736 | try testArgs(@Vector(16, f16), @Vector(16, u16), .{ | ||
| 13737 | 3e0, 3e1, 3e2, 3e3, 3e4, imax(u16) - 5, imax(u16) - 4, 4e0, | ||
| 13738 | 4e1, 4e2, 4e3, 4e4, imax(u16) - 7, imax(u16) - 6, 5e0, 5e1, | ||
| 13739 | }); | ||
| 13740 | try testArgs(@Vector(32, f16), @Vector(32, u16), .{ | ||
| 13741 | 5e2, 5e3, 5e4, imax(u16) - 9, imax(u16) - 8, 6e0, 6e1, 6e2, | ||
| 13742 | 6e3, 6e4, imax(u16) - 11, imax(u16) - 10, 7e0, 7e1, 7e2, 7e3, | ||
| 13743 | imax(u16) - 13, imax(u16) - 12, 8e0, 8e1, 8e2, 8e3, imax(u16) - 15, imax(u16) - 14, | ||
| 13744 | 9e0, 9e1, 9e2, 9e3, imax(u16) - 17, imax(u16) - 16, 11e0, 11e1, | ||
| 13745 | }); | ||
| 13746 | try testArgs(@Vector(64, f16), @Vector(64, u16), .{ | ||
| 13747 | 11e2, 11e3, imax(u16) - 19, imax(u16) - 18, 12e0, 12e1, 12e2, 12e3, | ||
| 13748 | imax(u16) - 21, imax(u16) - 20, 13e0, 13e1, 13e2, 13e3, imax(u16) - 23, imax(u16) - 22, | ||
| 13749 | 14e0, 14e1, 14e2, 14e3, imax(u16) - 25, imax(u16) - 24, 15e0, 15e1, | ||
| 13750 | 15e2, 15e3, imax(u16) - 27, imax(u16) - 26, 16e0, 16e1, 16e2, 16e3, | ||
| 13751 | imax(u16) - 29, imax(u16) - 28, 17e0, 17e1, 17e2, 17e3, imax(u16) - 31, imax(u16) - 30, | ||
| 13752 | 18e0, 18e1, 18e2, 18e3, imax(u16) - 33, imax(u16) - 32, 19e0, 19e1, | ||
| 13753 | 19e2, 19e3, imax(u16) - 35, imax(u16) - 34, 21e0, 21e1, 21e2, 21e3, | ||
| 13754 | imax(u16) - 37, imax(u16) - 36, 22e0, 22e1, 22e2, 22e3, imax(u16) - 39, imax(u16) - 38, | ||
| 13755 | }); | ||
| 13756 | try testArgs(@Vector(128, f16), @Vector(128, u16), .{ | ||
| 13757 | 23e0, 23e1, 23e2, 23e3, imax(u16) - 41, imax(u16) - 40, 24e0, 24e1, | ||
| 13758 | 24e2, 24e3, imax(u16) - 43, imax(u16) - 42, 25e0, 25e1, 25e2, 25e3, | ||
| 13759 | imax(u16) - 45, imax(u16) - 44, 26e0, 26e1, 26e2, 26e3, imax(u16) - 47, imax(u16) - 46, | ||
| 13760 | 27e0, 27e1, 27e2, 27e3, imax(u16) - 49, imax(u16) - 48, 28e0, 28e1, | ||
| 13761 | 28e2, 28e3, imax(u16) - 51, imax(u16) - 50, 29e0, 29e1, 29e2, 29e3, | ||
| 13762 | imax(u16) - 53, imax(u16) - 52, 31e0, 31e1, 31e2, 31e3, imax(u16) - 55, imax(u16) - 54, | ||
| 13763 | 32e0, 32e1, 32e2, 32e3, imax(u16) - 57, imax(u16) - 56, 33e0, 33e1, | ||
| 13764 | 33e2, 33e3, imax(u16) - 59, imax(u16) - 58, 34e0, 34e1, 34e2, 34e3, | ||
| 13765 | imax(u16) - 61, imax(u16) - 60, 35e0, 35e1, 35e2, 35e3, imax(u16) - 63, imax(u16) - 62, | ||
| 13766 | 36e0, 36e1, 36e2, 36e3, imax(u16) - 65, imax(u16) - 64, 37e0, 37e1, | ||
| 13767 | 37e2, 37e3, imax(u16) - 67, imax(u16) - 66, 38e0, 38e1, 38e2, 38e3, | ||
| 13768 | imax(u16) - 69, imax(u16) - 68, 39e0, 39e1, 39e2, 39e3, imax(u16) - 71, imax(u16) - 70, | ||
| 13769 | 41e0, 41e1, 41e2, 41e3, imax(u16) - 73, imax(u16) - 72, 42e0, 42e1, | ||
| 13770 | 42e2, 42e3, imax(u16) - 75, imax(u16) - 74, 43e0, 43e1, 43e2, 43e3, | ||
| 13771 | imax(u16) - 77, imax(u16) - 76, 44e0, 44e1, 44e2, 44e3, imax(u16) - 79, imax(u16) - 78, | ||
| 13772 | 45e0, 45e1, 45e2, 45e3, imax(u16) - 81, imax(u16) - 80, 46e0, 46e1, | ||
| 13773 | }); | ||
| 13774 | |||
| 13775 | try testArgs(@Vector(1, f16), @Vector(1, i32), .{ | ||
| 13776 | imin(i32), | ||
| 13777 | }); | ||
| 13778 | try testArgs(@Vector(2, f16), @Vector(2, i32), .{ | ||
| 13779 | imin(i32) + 1, -1e9, | ||
| 13780 | }); | ||
| 13781 | try testArgs(@Vector(4, f16), @Vector(4, i32), .{ | ||
| 13782 | -1e8, -1e7, -1e6, -1e5, | ||
| 13783 | }); | ||
| 13784 | try testArgs(@Vector(8, f16), @Vector(8, i32), .{ | ||
| 13785 | -1e4, -1e3, -1e2, -1e1, -1e0, 0, 1e0, 1e1, | ||
| 13786 | }); | ||
| 13787 | try testArgs(@Vector(16, f16), @Vector(16, i32), .{ | ||
| 13788 | 1e2, 1e3, 1e4, 1e5, 1e6, 1e7, 1e8, 1e9, | ||
| 13789 | imax(i32) - 1, imax(i32), imin(i32) + 2, imin(i32) + 3, -2e9, -2e8, -2e7, -2e6, | ||
| 13790 | }); | ||
| 13791 | try testArgs(@Vector(32, f16), @Vector(32, i32), .{ | ||
| 13792 | -2e5, -2e4, -2e3, -2e2, -2e1, -2e0, 2e0, 2e1, | ||
| 13793 | 2e2, 2e3, 2e4, 2e5, 2e6, 2e7, 2e8, 2e9, | ||
| 13794 | imax(i32) - 3, imax(i32) - 2, imin(i32) + 4, imin(i32) + 5, -3e8, -3e7, -3e6, -3e5, | ||
| 13795 | -3e4, -3e3, -3e2, -3e1, -3e0, 3e0, 3e1, 3e2, | ||
| 13796 | }); | ||
| 13797 | try testArgs(@Vector(64, f16), @Vector(64, i32), .{ | ||
| 13798 | 3e3, 3e4, 3e5, 3e6, 3e7, 3e8, imax(i32) - 5, imax(i32) - 4, | ||
| 13799 | imin(i32) + 6, imin(i32) + 7, -4e8, -4e7, -4e6, -4e5, -4e4, -4e3, | ||
| 13800 | -4e2, -4e1, -4e0, 4e0, 4e1, 4e2, 4e3, 4e4, | ||
| 13801 | 4e5, 4e6, 4e7, 4e8, imax(i32) - 7, imax(i32) - 6, imin(i32) + 8, imin(i32) + 9, | ||
| 13802 | -5e8, -5e7, -5e6, -5e5, -5e4, -5e3, -5e2, -5e1, | ||
| 13803 | -5e0, 5e0, 5e1, 5e2, 5e3, 5e4, 5e5, 5e6, | ||
| 13804 | 5e7, 5e8, imax(i32) - 9, imax(i32) - 8, imin(i32) + 10, imin(i32) + 11, -6e8, -6e7, | ||
| 13805 | -6e6, -6e5, -6e4, -6e3, -6e2, -6e1, -6e0, 6e0, | ||
| 13806 | }); | ||
| 13807 | try testArgs(@Vector(128, f16), @Vector(128, i32), .{ | ||
| 13808 | 6e1, 6e2, 6e3, 6e4, 6e5, 6e6, 6e7, 6e8, | ||
| 13809 | imax(i32) - 11, imax(i32) - 10, imin(i32) + 12, imin(i32) + 13, -7e8, -7e7, -7e6, -7e5, | ||
| 13810 | -7e4, -7e3, -7e2, -7e1, -7e0, 7e0, 7e1, 7e2, | ||
| 13811 | 7e3, 7e4, 7e5, 7e6, 7e7, 7e8, imax(i32) - 13, imax(i32) - 12, | ||
| 13812 | imin(i32) + 14, imin(i32) + 15, -8e8, -8e7, -8e6, -8e5, -8e4, -8e3, | ||
| 13813 | -8e2, -8e1, -8e0, 8e0, 8e1, 8e2, 8e3, 8e4, | ||
| 13814 | 8e5, 8e6, 8e7, 8e8, imax(i32) - 15, imax(i32) - 14, imin(i32) + 16, imin(i32) + 17, | ||
| 13815 | -9e8, -9e7, -9e6, -9e5, -9e4, -9e3, -9e2, -9e1, | ||
| 13816 | -9e0, 9e0, 9e1, 9e2, 9e3, 9e4, 9e5, 9e6, | ||
| 13817 | 9e7, 9e8, imax(i32) - 17, imax(i32) - 16, imin(i32) + 18, imin(i32) + 19, -11e8, -11e7, | ||
| 13818 | -11e6, -11e5, -11e4, -11e3, -11e2, -11e1, -11e0, 11e0, | ||
| 13819 | 11e1, 11e2, 11e3, 11e4, 11e5, 11e6, 11e7, 11e8, | ||
| 13820 | imax(i32) - 19, imax(i32) - 18, imin(i32) + 20, imin(i32) + 21, -12e8, -12e7, -12e6, -12e5, | ||
| 13821 | -12e4, -12e3, -12e2, -12e1, -12e0, 12e0, 12e1, 12e2, | ||
| 13822 | 12e3, 12e4, 12e5, 12e6, 12e7, 12e8, imax(i32) - 21, imax(i32) - 20, | ||
| 13823 | imin(i32) + 22, imin(i32) + 23, -13e8, -13e7, -13e6, -13e5, -13e4, -13e3, | ||
| 13824 | }); | ||
| 13825 | |||
| 13826 | try testArgs(@Vector(1, f16), @Vector(1, u32), .{ | ||
| 13827 | 0, | ||
| 13828 | }); | ||
| 13829 | try testArgs(@Vector(2, f16), @Vector(2, u32), .{ | ||
| 13830 | 1e0, 1e1, | ||
| 13831 | }); | ||
| 13832 | try testArgs(@Vector(4, f16), @Vector(4, u32), .{ | ||
| 13833 | 1e2, 1e3, 1e4, imax(u32) - 1, | ||
| 13834 | }); | ||
| 13835 | try testArgs(@Vector(8, f16), @Vector(8, u32), .{ | ||
| 13836 | imax(u32), 2e0, 2e1, 2e2, 2e3, 2e4, imax(u32) - 3, imax(u32) - 2, | ||
| 13837 | }); | ||
| 13838 | try testArgs(@Vector(16, f16), @Vector(16, u32), .{ | ||
| 13839 | 3e0, 3e1, 3e2, 3e3, 3e4, imax(u32) - 5, imax(u32) - 4, 4e0, | ||
| 13840 | 4e1, 4e2, 4e3, 4e4, imax(u32) - 7, imax(u32) - 6, 5e0, 5e1, | ||
| 13841 | }); | ||
| 13842 | try testArgs(@Vector(32, f16), @Vector(32, u32), .{ | ||
| 13843 | 5e2, 5e3, 5e4, imax(u32) - 9, imax(u32) - 8, 6e0, 6e1, 6e2, | ||
| 13844 | 6e3, 6e4, imax(u32) - 11, imax(u32) - 10, 7e0, 7e1, 7e2, 7e3, | ||
| 13845 | imax(u32) - 13, imax(u32) - 12, 8e0, 8e1, 8e2, 8e3, imax(u32) - 15, imax(u32) - 14, | ||
| 13846 | 9e0, 9e1, 9e2, 9e3, imax(u32) - 17, imax(u32) - 16, 11e0, 11e1, | ||
| 13847 | }); | ||
| 13848 | try testArgs(@Vector(64, f16), @Vector(64, u32), .{ | ||
| 13849 | 11e2, 11e3, imax(u32) - 19, imax(u32) - 18, 12e0, 12e1, 12e2, 12e3, | ||
| 13850 | imax(u32) - 21, imax(u32) - 20, 13e0, 13e1, 13e2, 13e3, imax(u32) - 23, imax(u32) - 22, | ||
| 13851 | 14e0, 14e1, 14e2, 14e3, imax(u32) - 25, imax(u32) - 24, 15e0, 15e1, | ||
| 13852 | 15e2, 15e3, imax(u32) - 27, imax(u32) - 26, 16e0, 16e1, 16e2, 16e3, | ||
| 13853 | imax(u32) - 29, imax(u32) - 28, 17e0, 17e1, 17e2, 17e3, imax(u32) - 31, imax(u32) - 30, | ||
| 13854 | 18e0, 18e1, 18e2, 18e3, imax(u32) - 33, imax(u32) - 32, 19e0, 19e1, | ||
| 13855 | 19e2, 19e3, imax(u32) - 35, imax(u32) - 34, 21e0, 21e1, 21e2, 21e3, | ||
| 13856 | imax(u32) - 37, imax(u32) - 36, 22e0, 22e1, 22e2, 22e3, imax(u32) - 39, imax(u32) - 38, | ||
| 13857 | }); | ||
| 13858 | try testArgs(@Vector(128, f16), @Vector(128, u32), .{ | ||
| 13859 | 23e0, 23e1, 23e2, 23e3, imax(u32) - 41, imax(u32) - 40, 24e0, 24e1, | ||
| 13860 | 24e2, 24e3, imax(u32) - 43, imax(u32) - 42, 25e0, 25e1, 25e2, 25e3, | ||
| 13861 | imax(u32) - 45, imax(u32) - 44, 26e0, 26e1, 26e2, 26e3, imax(u32) - 47, imax(u32) - 46, | ||
| 13862 | 27e0, 27e1, 27e2, 27e3, imax(u32) - 49, imax(u32) - 48, 28e0, 28e1, | ||
| 13863 | 28e2, 28e3, imax(u32) - 51, imax(u32) - 50, 29e0, 29e1, 29e2, 29e3, | ||
| 13864 | imax(u32) - 53, imax(u32) - 52, 31e0, 31e1, 31e2, 31e3, imax(u32) - 55, imax(u32) - 54, | ||
| 13865 | 32e0, 32e1, 32e2, 32e3, imax(u32) - 57, imax(u32) - 56, 33e0, 33e1, | ||
| 13866 | 33e2, 33e3, imax(u32) - 59, imax(u32) - 58, 34e0, 34e1, 34e2, 34e3, | ||
| 13867 | imax(u32) - 61, imax(u32) - 60, 35e0, 35e1, 35e2, 35e3, imax(u32) - 63, imax(u32) - 62, | ||
| 13868 | 36e0, 36e1, 36e2, 36e3, imax(u32) - 65, imax(u32) - 64, 37e0, 37e1, | ||
| 13869 | 37e2, 37e3, imax(u32) - 67, imax(u32) - 66, 38e0, 38e1, 38e2, 38e3, | ||
| 13870 | imax(u32) - 69, imax(u32) - 68, 39e0, 39e1, 39e2, 39e3, imax(u32) - 71, imax(u32) - 70, | ||
| 13871 | 41e0, 41e1, 41e2, 41e3, imax(u32) - 73, imax(u32) - 72, 42e0, 42e1, | ||
| 13872 | 42e2, 42e3, imax(u32) - 75, imax(u32) - 74, 43e0, 43e1, 43e2, 43e3, | ||
| 13873 | imax(u32) - 77, imax(u32) - 76, 44e0, 44e1, 44e2, 44e3, imax(u32) - 79, imax(u32) - 78, | ||
| 13874 | 45e0, 45e1, 45e2, 45e3, imax(u32) - 81, imax(u32) - 80, 46e0, 46e1, | ||
| 13875 | }); | ||
| 13876 | |||
| 13877 | try testArgs(@Vector(1, f16), @Vector(1, i64), .{ | ||
| 13878 | imin(i64), | ||
| 13879 | }); | ||
| 13880 | try testArgs(@Vector(2, f16), @Vector(2, i64), .{ | ||
| 13881 | imin(i64) + 1, -1e18, | ||
| 13882 | }); | ||
| 13883 | try testArgs(@Vector(4, f16), @Vector(4, i64), .{ | ||
| 13884 | -1e17, -1e16, -1e15, -1e14, | ||
| 13885 | }); | ||
| 13886 | try testArgs(@Vector(8, f16), @Vector(8, i64), .{ | ||
| 13887 | -1e13, -1e12, -1e11, -1e10, -1e9, -1e8, -1e7, -1e6, | ||
| 13888 | }); | ||
| 13889 | try testArgs(@Vector(16, f16), @Vector(16, i64), .{ | ||
| 13890 | -1e5, -1e4, -1e3, -1e2, -1e1, -1e0, 0, 1e0, | ||
| 13891 | 1e1, 1e2, 1e3, 1e4, 1e5, 1e6, 1e7, 1e8, | ||
| 13892 | }); | ||
| 13893 | try testArgs(@Vector(32, f16), @Vector(32, i64), .{ | ||
| 13894 | 1e9, 1e10, 1e11, 1e12, 1e13, 1e14, 1e15, 1e16, | ||
| 13895 | 1e17, 1e18, imax(i64) - 1, imax(i64), imin(i64) + 2, imin(i64) + 3, -2e18, -2e17, | ||
| 13896 | -2e16, -2e15, -2e14, -2e13, -2e12, -2e11, -2e10, -2e9, | ||
| 13897 | -2e8, -2e7, -2e6, -2e5, -2e4, -2e3, -2e2, -2e1, | ||
| 13898 | }); | ||
| 13899 | try testArgs(@Vector(64, f16), @Vector(64, i64), .{ | ||
| 13900 | -2e0, 2e0, 2e1, 2e2, 2e3, 2e4, 2e5, 2e6, | ||
| 13901 | 2e7, 2e8, 2e9, 2e10, 2e11, 2e12, 2e13, 2e14, | ||
| 13902 | 2e15, 2e16, 2e17, 2e18, imax(i64) - 3, imax(i64) - 2, imin(i64) + 4, imin(i64) + 5, | ||
| 13903 | -3e18, -3e17, -3e16, -3e15, -3e14, -3e13, -3e12, -3e11, | ||
| 13904 | -3e10, -3e9, -3e8, -3e7, -3e6, -3e5, -3e4, -3e3, | ||
| 13905 | -3e2, -3e1, -3e0, 3e0, 3e1, 3e2, 3e3, 3e4, | ||
| 13906 | 3e5, 3e6, 3e7, 3e8, 3e9, 3e10, 3e11, 3e12, | ||
| 13907 | 3e13, 3e14, 3e15, 3e16, 3e17, 3e18, imax(i64) - 5, imax(i64) - 4, | ||
| 13908 | }); | ||
| 13909 | try testArgs(@Vector(128, f16), @Vector(128, i64), .{ | ||
| 13910 | imin(i64) + 6, imin(i64) + 7, -4e18, -4e17, -4e16, -4e15, -4e14, -4e13, | ||
| 13911 | -4e12, -4e11, -4e10, -4e9, -4e8, -4e7, -4e6, -4e5, | ||
| 13912 | -4e4, -4e3, -4e2, -4e1, -4e0, 4e0, 4e1, 4e2, | ||
| 13913 | 4e3, 4e4, 4e5, 4e6, 4e7, 4e8, 4e9, 4e10, | ||
| 13914 | 4e11, 4e12, 4e13, 4e14, 4e15, 4e16, 4e17, 4e18, | ||
| 13915 | imax(i64) - 7, imax(i64) - 6, imin(i64) + 8, imin(i64) + 9, -5e18, -5e17, -5e16, -5e15, | ||
| 13916 | -5e14, -5e13, -5e12, -5e11, -5e10, -5e9, -5e8, -5e7, | ||
| 13917 | -5e6, -5e5, -5e4, -5e3, -5e2, -5e1, -5e0, 5e0, | ||
| 13918 | 5e1, 5e2, 5e3, 5e4, 5e5, 5e6, 5e7, 5e8, | ||
| 13919 | 5e9, 5e10, 5e11, 5e12, 5e13, 5e14, 5e15, 5e16, | ||
| 13920 | 5e17, 5e18, imax(i64) - 9, imax(i64) - 8, imin(i64) + 10, imin(i64) + 11, -6e18, -6e17, | ||
| 13921 | -6e16, -6e15, -6e14, -6e13, -6e12, -6e11, -6e10, -6e9, | ||
| 13922 | -6e8, -6e7, -6e6, -6e5, -6e4, -6e3, -6e2, -6e1, | ||
| 13923 | -6e0, 6e0, 6e1, 6e2, 6e3, 6e4, 6e5, 6e6, | ||
| 13924 | 6e7, 6e8, 6e9, 6e10, 6e11, 6e12, 6e13, 6e14, | ||
| 13925 | 6e15, 6e16, 6e17, 6e18, imax(i64) - 11, imax(i64) - 10, imin(i64) + 12, imin(i64) + 13, | ||
| 13926 | }); | ||
| 13927 | |||
| 13928 | try testArgs(@Vector(1, f16), @Vector(1, u64), .{ | ||
| 13929 | 0, | ||
| 13930 | }); | ||
| 13931 | try testArgs(@Vector(2, f16), @Vector(2, u64), .{ | ||
| 13932 | 1e0, 1e1, | ||
| 13933 | }); | ||
| 13934 | try testArgs(@Vector(4, f16), @Vector(4, u64), .{ | ||
| 13935 | 1e2, 1e3, 1e4, 1e5, | ||
| 13936 | }); | ||
| 13937 | try testArgs(@Vector(8, f16), @Vector(8, u64), .{ | ||
| 13938 | 1e6, 1e7, 1e8, 1e9, 1e10, 1e11, 1e12, 1e13, | ||
| 13939 | }); | ||
| 13940 | try testArgs(@Vector(16, f16), @Vector(16, u64), .{ | ||
| 13941 | 1e14, 1e15, 1e16, 1e17, 1e18, 1e19, imax(u64) - 1, imax(u64), | ||
| 13942 | 2e0, 2e1, 2e2, 2e3, 2e4, 2e5, 2e6, 2e7, | ||
| 13943 | }); | ||
| 13944 | try testArgs(@Vector(32, f16), @Vector(32, u64), .{ | ||
| 13945 | 2e8, 2e9, 2e10, 2e11, 2e12, 2e13, 2e14, 2e15, | ||
| 13946 | 2e16, 2e17, 2e18, imax(u64) - 3, imax(u64) - 2, 3e0, 3e1, 3e2, | ||
| 13947 | 3e3, 3e4, 3e5, 3e6, 3e7, 3e8, 3e9, 3e10, | ||
| 13948 | 3e11, 3e12, 3e13, 3e14, 3e15, 3e16, 3e17, 3e18, | ||
| 13949 | }); | ||
| 13950 | try testArgs(@Vector(64, f16), @Vector(64, u64), .{ | ||
| 13951 | imax(u64) - 5, imax(u64) - 4, 4e0, 4e1, 4e2, 4e3, 4e4, 4e5, | ||
| 13952 | 4e6, 4e7, 4e8, 4e9, 4e10, 4e11, 4e12, 4e13, | ||
| 13953 | 4e14, 4e15, 4e16, 4e17, 4e18, imax(u64) - 7, imax(u64) - 6, 5e0, | ||
| 13954 | 5e1, 5e2, 5e3, 5e4, 5e5, 5e6, 5e7, 5e8, | ||
| 13955 | 5e9, 5e10, 5e11, 5e12, 5e13, 5e14, 5e15, 5e16, | ||
| 13956 | 5e17, 5e18, imax(u64) - 9, imax(u64) - 8, 6e0, 6e1, 6e2, 6e3, | ||
| 13957 | 6e4, 6e5, 6e6, 6e7, 6e8, 6e9, 6e10, 6e11, | ||
| 13958 | 6e12, 6e13, 6e14, 6e15, 6e16, 6e17, 6e18, imax(u64) - 11, | ||
| 13959 | }); | ||
| 13960 | try testArgs(@Vector(128, f16), @Vector(128, u64), .{ | ||
| 13961 | imax(u64) - 10, 7e0, 7e1, 7e2, 7e3, 7e4, 7e5, 7e6, | ||
| 13962 | 7e7, 7e8, 7e9, 7e10, 7e11, 7e12, 7e13, 7e14, | ||
| 13963 | 7e15, 7e16, 7e17, 7e18, imax(u64) - 13, imax(u64) - 12, 8e0, 8e1, | ||
| 13964 | 8e2, 8e3, 8e4, 8e5, 8e6, 8e7, 8e8, 8e9, | ||
| 13965 | 8e10, 8e11, 8e12, 8e13, 8e14, 8e15, 8e16, 8e17, | ||
| 13966 | 8e18, imax(u64) - 15, imax(u64) - 14, 9e0, 9e1, 9e2, 9e3, 9e4, | ||
| 13967 | 9e5, 9e6, 9e7, 9e8, 9e9, 9e10, 9e11, 9e12, | ||
| 13968 | 9e13, 9e14, 9e15, 9e16, 9e17, 9e18, imax(u64) - 17, imax(u64) - 16, | ||
| 13969 | 11e0, 11e1, 11e2, 11e3, 11e4, 11e5, 11e6, 11e7, | ||
| 13970 | 11e8, 11e9, 11e10, 11e11, 11e12, 11e13, 11e14, 11e15, | ||
| 13971 | 11e16, 11e17, 11e18, imax(u64) - 19, imax(u64) - 18, 12e0, 12e1, 12e2, | ||
| 13972 | 12e3, 12e4, 12e5, 12e6, 12e7, 12e8, 12e9, 12e10, | ||
| 13973 | 12e11, 12e12, 12e13, 12e14, 12e15, 12e16, 12e17, 12e18, | ||
| 13974 | imax(u64) - 21, imax(u64) - 20, 13e0, 13e1, 13e2, 13e3, 13e4, 13e5, | ||
| 13975 | 13e6, 13e7, 13e8, 13e9, 13e10, 13e11, 13e12, 13e13, | ||
| 13976 | 13e14, 13e15, 13e16, 13e17, 13e18, imax(u64) - 23, imax(u64) - 22, 14e0, | ||
| 13977 | }); | ||
| 13978 | |||
| 13979 | try testArgs(@Vector(1, f16), @Vector(1, i128), .{ | ||
| 13980 | imin(i128), | ||
| 13981 | }); | ||
| 13982 | try testArgs(@Vector(2, f16), @Vector(2, i128), .{ | ||
| 13983 | imin(i128) + 1, -1e38, | ||
| 13984 | }); | ||
| 13985 | try testArgs(@Vector(4, f16), @Vector(4, i128), .{ | ||
| 13986 | -1e37, -1e36, -1e35, -1e34, | ||
| 13987 | }); | ||
| 13988 | try testArgs(@Vector(8, f16), @Vector(8, i128), .{ | ||
| 13989 | -1e33, -1e32, -1e31, -1e30, -1e29, -1e28, -1e27, -1e26, | ||
| 13990 | }); | ||
| 13991 | try testArgs(@Vector(16, f16), @Vector(16, i128), .{ | ||
| 13992 | -1e25, -1e24, -1e23, -1e22, -1e21, -1e20, -1e19, -1e18, | ||
| 13993 | -1e17, -1e16, -1e15, -1e14, -1e13, -1e12, -1e11, -1e10, | ||
| 13994 | }); | ||
| 13995 | try testArgs(@Vector(32, f16), @Vector(32, i128), .{ | ||
| 13996 | -1e9, -1e8, -1e7, -1e6, -1e5, -1e4, -1e3, -1e2, | ||
| 13997 | -1e1, -1e0, 0, 1e0, 1e1, 1e2, 1e3, 1e4, | ||
| 13998 | 1e5, 1e6, 1e7, 1e8, 1e9, 1e10, 1e11, 1e12, | ||
| 13999 | 1e13, 1e14, 1e15, 1e16, 1e17, 1e18, 1e19, 1e20, | ||
| 14000 | }); | ||
| 14001 | try testArgs(@Vector(64, f16), @Vector(64, i128), .{ | ||
| 14002 | 1e21, 1e22, 1e23, 1e24, 1e25, 1e26, 1e27, 1e28, | ||
| 14003 | 1e29, 1e30, 1e31, 1e32, 1e33, 1e34, 1e35, 1e36, | ||
| 14004 | 1e37, 1e38, imax(i128) - 1, imax(i128), imin(i128) + 2, imin(i128) + 3, -2e37, -2e36, | ||
| 14005 | -2e35, -2e34, -2e33, -2e32, -2e31, -2e30, -2e29, -2e28, | ||
| 14006 | -2e27, -2e26, -2e25, -2e24, -2e23, -2e22, -2e21, -2e20, | ||
| 14007 | -2e19, -2e18, -2e17, -2e16, -2e15, -2e14, -2e13, -2e12, | ||
| 14008 | -2e11, -2e10, -2e9, -2e8, -2e7, -2e6, -2e5, -2e4, | ||
| 14009 | -2e3, -2e2, -2e1, -2e0, 2e0, 2e1, 2e2, 2e3, | ||
| 14010 | }); | ||
| 14011 | try testArgs(@Vector(128, f16), @Vector(128, i128), .{ | ||
| 14012 | 2e4, 2e5, 2e6, 2e7, 2e8, 2e9, 2e10, 2e11, | ||
| 14013 | 2e12, 2e13, 2e14, 2e15, 2e16, 2e17, 2e18, 2e19, | ||
| 14014 | 2e20, 2e21, 2e22, 2e23, 2e24, 2e25, 2e26, 2e27, | ||
| 14015 | 2e28, 2e29, 2e30, 2e31, 2e32, 2e33, 2e34, 2e35, | ||
| 14016 | 2e36, 2e37, imax(i128) - 3, imax(i128) - 2, imin(i128) + 4, imin(i128) + 5, -3e37, -3e36, | ||
| 14017 | -3e35, -3e34, -3e33, -3e32, -3e31, -3e30, -3e29, -3e28, | ||
| 14018 | -3e27, -3e26, -3e25, -3e24, -3e23, -3e22, -3e21, -3e20, | ||
| 14019 | -3e19, -3e18, -3e17, -3e16, -3e15, -3e14, -3e13, -3e12, | ||
| 14020 | -3e11, -3e10, -3e9, -3e8, -3e7, -3e6, -3e5, -3e4, | ||
| 14021 | -3e3, -3e2, -3e1, -3e0, 3e0, 3e1, 3e2, 3e3, | ||
| 14022 | 3e4, 3e5, 3e6, 3e7, 3e8, 3e9, 3e10, 3e11, | ||
| 14023 | 3e12, 3e13, 3e14, 3e15, 3e16, 3e17, 3e18, 3e19, | ||
| 14024 | 3e20, 3e21, 3e22, 3e23, 3e24, 3e25, 3e26, 3e27, | ||
| 14025 | 3e28, 3e29, 3e30, 3e31, 3e32, 3e33, 3e34, 3e35, | ||
| 14026 | 3e36, 3e37, imax(i128) - 5, imax(i128) - 4, imin(i128) + 6, imin(i128) + 7, -4e37, -4e36, | ||
| 14027 | -4e35, -4e34, -4e33, -4e32, -4e31, -4e30, -4e29, -4e28, | ||
| 14028 | }); | ||
| 14029 | |||
| 14030 | try testArgs(@Vector(1, f16), @Vector(1, u128), .{ | ||
| 14031 | 0, | ||
| 14032 | }); | ||
| 14033 | try testArgs(@Vector(2, f16), @Vector(2, u128), .{ | ||
| 14034 | 1e0, 1e1, | ||
| 14035 | }); | ||
| 14036 | try testArgs(@Vector(4, f16), @Vector(4, u128), .{ | ||
| 14037 | 1e2, 1e3, 1e4, 1e5, | ||
| 14038 | }); | ||
| 14039 | try testArgs(@Vector(8, f16), @Vector(8, u128), .{ | ||
| 14040 | 1e6, 1e7, 1e8, 1e9, 1e10, 1e11, 1e12, 1e13, | ||
| 14041 | }); | ||
| 14042 | try testArgs(@Vector(16, f16), @Vector(16, u128), .{ | ||
| 14043 | 1e14, 1e15, 1e16, 1e17, 1e18, 1e19, 1e20, 1e21, | ||
| 14044 | 1e22, 1e23, 1e24, 1e25, 1e26, 1e27, 1e28, 1e29, | ||
| 14045 | }); | ||
| 14046 | try testArgs(@Vector(32, f16), @Vector(32, u128), .{ | ||
| 14047 | 1e30, 1e31, 1e32, 1e33, 1e34, 1e35, 1e36, 1e37, | ||
| 14048 | 1e38, imax(u128) - 1, imax(u128), 2e0, 2e1, 2e2, 2e3, 2e4, | ||
| 14049 | 2e5, 2e6, 2e7, 2e8, 2e9, 2e10, 2e11, 2e12, | ||
| 14050 | 2e13, 2e14, 2e15, 2e16, 2e17, 2e18, 2e19, 2e20, | ||
| 14051 | }); | ||
| 14052 | try testArgs(@Vector(64, f16), @Vector(64, u128), .{ | ||
| 14053 | 2e21, 2e22, 2e23, 2e24, 2e25, 2e26, 2e27, 2e28, | ||
| 14054 | 2e29, 2e30, 2e31, 2e32, 2e33, 2e34, 2e35, 2e36, | ||
| 14055 | 2e37, 2e38, imax(u128) - 3, imax(u128) - 2, 3e0, 3e1, 3e2, 3e3, | ||
| 14056 | 3e4, 3e5, 3e6, 3e7, 3e8, 3e9, 3e10, 3e11, | ||
| 14057 | 3e12, 3e13, 3e14, 3e15, 3e16, 3e17, 3e18, 3e19, | ||
| 14058 | 3e20, 3e21, 3e22, 3e23, 3e24, 3e25, 3e26, 3e27, | ||
| 14059 | 3e28, 3e29, 3e30, 3e31, 3e32, 3e33, 3e34, 3e35, | ||
| 14060 | 3e36, 3e37, 3e38, imax(u128) - 5, imax(u128) - 4, 4e0, 4e1, 4e2, | ||
| 14061 | }); | ||
| 14062 | try testArgs(@Vector(128, f16), @Vector(128, u128), .{ | ||
| 14063 | 4e3, 4e4, 4e5, 4e6, 4e7, 4e8, 4e9, 4e10, | ||
| 14064 | 4e11, 4e12, 4e13, 4e14, 4e15, 4e16, 4e17, 4e18, | ||
| 14065 | 4e19, 4e20, 4e21, 4e22, 4e23, 4e24, 4e25, 4e26, | ||
| 14066 | 4e27, 4e28, 4e29, 4e30, 4e31, 4e32, 4e33, 4e34, | ||
| 14067 | 4e35, 4e36, 4e37, imax(u128) - 7, imax(u128) - 6, 5e0, 5e1, 5e2, | ||
| 14068 | 5e3, 5e4, 5e5, 5e6, 5e7, 5e8, 5e9, 5e10, | ||
| 14069 | 5e11, 5e12, 5e13, 5e14, 5e15, 5e16, 5e17, 5e18, | ||
| 14070 | 5e19, 5e20, 5e21, 5e22, 5e23, 5e24, 5e25, 5e26, | ||
| 14071 | 5e27, 5e28, 5e29, 5e30, 5e31, 5e32, 5e33, 5e34, | ||
| 14072 | 5e35, 5e36, 5e37, imax(u128) - 9, imax(u128) - 8, 6e0, 6e1, 6e2, | ||
| 14073 | 6e3, 6e4, 6e5, 6e6, 6e7, 6e8, 6e9, 6e10, | ||
| 14074 | 6e11, 6e12, 6e13, 6e14, 6e15, 6e16, 6e17, 6e18, | ||
| 14075 | 6e19, 6e20, 6e21, 6e22, 6e23, 6e24, 6e25, 6e26, | ||
| 14076 | 6e27, 6e28, 6e29, 6e30, 6e31, 6e32, 6e33, 6e34, | ||
| 14077 | 6e35, 6e36, 6e37, imax(u128) - 11, imax(u128) - 10, 7e0, 7e1, 7e2, | ||
| 14078 | 7e3, 7e4, 7e5, 7e6, 7e7, 7e8, 7e9, 7e10, | ||
| 14079 | }); | ||
| 14080 | |||
| 14081 | try testArgs(@Vector(1, f16), @Vector(1, i256), .{ | ||
| 14082 | imin(i256), | ||
| 14083 | }); | ||
| 14084 | try testArgs(@Vector(2, f16), @Vector(2, i256), .{ | ||
| 14085 | imin(i256) + 1, -1e76, | ||
| 14086 | }); | ||
| 14087 | try testArgs(@Vector(4, f16), @Vector(4, i256), .{ | ||
| 14088 | -1e75, -1e74, -1e73, -1e72, | ||
| 14089 | }); | ||
| 14090 | try testArgs(@Vector(8, f16), @Vector(8, i256), .{ | ||
| 14091 | -1e71, -1e70, -1e69, -1e68, -1e67, -1e66, -1e65, -1e64, | ||
| 14092 | }); | ||
| 14093 | try testArgs(@Vector(16, f16), @Vector(16, i256), .{ | ||
| 14094 | -1e63, -1e62, -1e61, -1e60, -1e59, -1e58, -1e57, -1e56, | ||
| 14095 | -1e55, -1e54, -1e53, -1e52, -1e51, -1e50, -1e49, -1e48, | ||
| 14096 | }); | ||
| 14097 | try testArgs(@Vector(32, f16), @Vector(32, i256), .{ | ||
| 14098 | -1e47, -1e46, -1e45, -1e44, -1e43, -1e42, -1e41, -1e40, | ||
| 14099 | -1e39, -1e38, -1e37, -1e36, -1e35, -1e34, -1e33, -1e32, | ||
| 14100 | -1e31, -1e30, -1e29, -1e28, -1e27, -1e26, -1e25, -1e24, | ||
| 14101 | -1e23, -1e22, -1e21, -1e20, -1e19, -1e18, -1e17, -1e16, | ||
| 14102 | }); | ||
| 14103 | try testArgs(@Vector(64, f16), @Vector(64, i256), .{ | ||
| 14104 | -1e15, -1e14, -1e13, -1e12, -1e11, -1e10, -1e9, -1e8, | ||
| 14105 | -1e7, -1e6, -1e5, -1e4, -1e3, -1e2, -1e1, -1e0, | ||
| 14106 | 0, 1e0, 1e1, 1e2, 1e3, 1e4, 1e5, 1e6, | ||
| 14107 | 1e7, 1e8, 1e9, 1e10, 1e11, 1e12, 1e13, 1e14, | ||
| 14108 | 1e15, 1e16, 1e17, 1e18, 1e19, 1e20, 1e21, 1e22, | ||
| 14109 | 1e23, 1e24, 1e25, 1e26, 1e27, 1e28, 1e29, 1e30, | ||
| 14110 | 1e31, 1e32, 1e33, 1e34, 1e35, 1e36, 1e37, 1e38, | ||
| 14111 | 1e39, 1e40, 1e41, 1e42, 1e43, 1e44, 1e45, 1e46, | ||
| 14112 | }); | ||
| 14113 | try testArgs(@Vector(128, f16), @Vector(128, i256), .{ | ||
| 14114 | 1e47, 1e48, 1e49, 1e50, 1e51, 1e52, 1e53, 1e54, | ||
| 14115 | 1e55, 1e56, 1e57, 1e58, 1e59, 1e60, 1e61, 1e62, | ||
| 14116 | 1e63, 1e64, 1e65, 1e66, 1e67, 1e68, 1e69, 1e70, | ||
| 14117 | 1e71, 1e72, 1e73, 1e74, 1e75, 1e76, imax(i256) - 1, imax(i256), | ||
| 14118 | imin(i256) + 2, imin(i256) + 3, -2e76, -2e75, -2e74, -2e73, -2e72, -2e71, | ||
| 14119 | -2e70, -2e69, -2e68, -2e67, -2e66, -2e65, -2e64, -2e63, | ||
| 14120 | -2e62, -2e61, -2e60, -2e59, -2e58, -2e57, -2e56, -2e55, | ||
| 14121 | -2e54, -2e53, -2e52, -2e51, -2e50, -2e49, -2e48, -2e47, | ||
| 14122 | -2e46, -2e45, -2e44, -2e43, -2e42, -2e41, -2e40, -2e39, | ||
| 14123 | -2e38, -2e37, -2e36, -2e35, -2e34, -2e33, -2e32, -2e31, | ||
| 14124 | -2e30, -2e29, -2e28, -2e27, -2e26, -2e25, -2e24, -2e23, | ||
| 14125 | -2e22, -2e21, -2e20, -2e19, -2e18, -2e17, -2e16, -2e15, | ||
| 14126 | -2e14, -2e13, -2e12, -2e11, -2e10, -2e9, -2e8, -2e7, | ||
| 14127 | -2e6, -2e5, -2e4, -2e3, -2e2, -2e1, -2e0, 2e0, | ||
| 14128 | 2e1, 2e2, 2e3, 2e4, 2e5, 2e6, 2e7, 2e8, | ||
| 14129 | 2e9, 2e10, 2e11, 2e12, 2e13, 2e14, 2e15, 2e16, | ||
| 14130 | }); | ||
| 14131 | |||
| 14132 | try testArgs(@Vector(1, f16), @Vector(1, u256), .{ | ||
| 14133 | 0, | ||
| 14134 | }); | ||
| 14135 | try testArgs(@Vector(2, f16), @Vector(2, u256), .{ | ||
| 14136 | 1e0, 1e1, | ||
| 14137 | }); | ||
| 14138 | try testArgs(@Vector(4, f16), @Vector(4, u256), .{ | ||
| 14139 | 1e2, 1e3, 1e4, 1e5, | ||
| 14140 | }); | ||
| 14141 | try testArgs(@Vector(8, f16), @Vector(8, u256), .{ | ||
| 14142 | 1e6, 1e7, 1e8, 1e9, 1e10, 1e11, 1e12, 1e13, | ||
| 14143 | }); | ||
| 14144 | try testArgs(@Vector(16, f16), @Vector(16, u256), .{ | ||
| 14145 | 1e14, 1e15, 1e16, 1e17, 1e18, 1e19, 1e20, 1e21, | ||
| 14146 | 1e22, 1e23, 1e24, 1e25, 1e26, 1e27, 1e28, 1e29, | ||
| 14147 | }); | ||
| 14148 | try testArgs(@Vector(32, f16), @Vector(32, u256), .{ | ||
| 14149 | 1e30, 1e31, 1e32, 1e33, 1e34, 1e35, 1e36, 1e37, | ||
| 14150 | 1e38, 1e39, 1e40, 1e41, 1e42, 1e43, 1e44, 1e45, | ||
| 14151 | 1e46, 1e47, 1e48, 1e49, 1e50, 1e51, 1e52, 1e53, | ||
| 14152 | 1e54, 1e55, 1e56, 1e57, 1e58, 1e59, 1e60, 1e61, | ||
| 14153 | }); | ||
| 14154 | try testArgs(@Vector(64, f16), @Vector(64, u256), .{ | ||
| 14155 | 1e62, 1e63, 1e64, 1e65, 1e66, 1e67, 1e68, 1e69, | ||
| 14156 | 1e70, 1e71, 1e72, 1e73, 1e74, 1e75, 1e76, 1e77, | ||
| 14157 | imax(u256) - 1, imax(u256), 2e0, 2e1, 2e2, 2e3, 2e4, 2e5, | ||
| 14158 | 2e6, 2e7, 2e8, 2e9, 2e10, 2e11, 2e12, 2e13, | ||
| 14159 | 2e14, 2e15, 2e16, 2e17, 2e18, 2e19, 2e20, 2e21, | ||
| 14160 | 2e22, 2e23, 2e24, 2e25, 2e26, 2e27, 2e28, 2e29, | ||
| 14161 | 2e30, 2e31, 2e32, 2e33, 2e34, 2e35, 2e36, 2e37, | ||
| 14162 | 2e38, 2e39, 2e40, 2e41, 2e42, 2e43, 2e44, 2e45, | ||
| 14163 | }); | ||
| 14164 | try testArgs(@Vector(128, f16), @Vector(128, u256), .{ | ||
| 14165 | 2e46, 2e47, 2e48, 2e49, 2e50, 2e51, 2e52, 2e53, | ||
| 14166 | 2e54, 2e55, 2e56, 2e57, 2e58, 2e59, 2e60, 2e61, | ||
| 14167 | 2e62, 2e63, 2e64, 2e65, 2e66, 2e67, 2e68, 2e69, | ||
| 14168 | 2e70, 2e71, 2e72, 2e73, 2e74, 2e75, 2e76, imax(u256) - 3, | ||
| 14169 | imax(u256) - 2, 3e0, 3e1, 3e2, 3e3, 3e4, 3e5, 3e6, | ||
| 14170 | 3e7, 3e8, 3e9, 3e10, 3e11, 3e12, 3e13, 3e14, | ||
| 14171 | 3e15, 3e16, 3e17, 3e18, 3e19, 3e20, 3e21, 3e22, | ||
| 14172 | 3e23, 3e24, 3e25, 3e26, 3e27, 3e28, 3e29, 3e30, | ||
| 14173 | 3e31, 3e32, 3e33, 3e34, 3e35, 3e36, 3e37, 3e38, | ||
| 14174 | 3e39, 3e40, 3e41, 3e42, 3e43, 3e44, 3e45, 3e46, | ||
| 14175 | 3e47, 3e48, 3e49, 3e50, 3e51, 3e52, 3e53, 3e54, | ||
| 14176 | 3e55, 3e56, 3e57, 3e58, 3e59, 3e60, 3e61, 3e62, | ||
| 14177 | 3e63, 3e64, 3e65, 3e66, 3e67, 3e68, 3e69, 3e70, | ||
| 14178 | 3e71, 3e72, 3e73, 3e74, 3e75, 3e76, imax(u256) - 5, imax(u256) - 4, | ||
| 14179 | 4e0, 4e1, 4e2, 4e3, 4e4, 4e5, 4e6, 4e7, | ||
| 14180 | 4e8, 4e9, 4e10, 4e11, 4e12, 4e13, 4e14, 4e15, | ||
| 14181 | }); | ||
| 14182 | |||
| 14183 | try testArgs(@Vector(1, f32), @Vector(1, i8), .{ | ||
| 14184 | imin(i8), | ||
| 14185 | }); | ||
| 14186 | try testArgs(@Vector(2, f32), @Vector(2, i8), .{ | ||
| 14187 | imin(i8) + 1, -1e2, | ||
| 14188 | }); | ||
| 14189 | try testArgs(@Vector(4, f32), @Vector(4, i8), .{ | ||
| 14190 | -1e1, -1e0, 0, 1e0, | ||
| 14191 | }); | ||
| 14192 | try testArgs(@Vector(8, f32), @Vector(8, i8), .{ | ||
| 14193 | 1e1, 1e2, imax(i8) - 1, imax(i8), imin(i8) + 2, imin(i8) + 3, -2e1, -2e0, | ||
| 14194 | }); | ||
| 14195 | try testArgs(@Vector(16, f32), @Vector(16, i8), .{ | ||
| 14196 | 2e0, 2e1, imax(i8) - 3, imax(i8) - 2, imin(i8) + 4, imin(i8) + 5, -3e1, -3e0, | ||
| 14197 | 3e0, 3e1, imax(i8) - 5, imax(i8) - 4, imin(i8) + 6, imin(i8) + 7, -4e1, -4e0, | ||
| 14198 | }); | ||
| 14199 | try testArgs(@Vector(32, f32), @Vector(32, i8), .{ | ||
| 14200 | 4e0, 4e1, imax(i8) - 7, imax(i8) - 6, imin(i8) + 8, imin(i8) + 9, -5e1, -5e0, | ||
| 14201 | 5e0, 5e1, imax(i8) - 9, imax(i8) - 8, imin(i8) + 10, imin(i8) + 11, -6e1, -6e0, | ||
| 14202 | 6e0, 6e1, imax(i8) - 11, imax(i8) - 10, imin(i8) + 12, imin(i8) + 13, -7e1, -7e0, | ||
| 14203 | 7e0, 7e1, imax(i8) - 13, imax(i8) - 12, imin(i8) + 14, imin(i8) + 15, -8e1, -8e0, | ||
| 14204 | }); | ||
| 14205 | try testArgs(@Vector(64, f32), @Vector(64, i8), .{ | ||
| 14206 | 8e0, 8e1, imax(i8) - 15, imax(i8) - 14, imin(i8) + 16, imin(i8) + 17, -9e1, -9e0, | ||
| 14207 | 9e0, 9e1, imax(i8) - 17, imax(i8) - 16, imin(i8) + 18, imin(i8) + 19, -11e1, -11e0, | ||
| 14208 | 11e0, 11e1, imax(i8) - 19, imax(i8) - 18, imin(i8) + 20, imin(i8) + 21, -12e1, -12e0, | ||
| 14209 | 12e0, 12e1, imax(i8) - 21, imax(i8) - 20, imin(i8) + 22, imin(i8) + 23, -13e0, 13e0, | ||
| 14210 | imax(i8) - 23, imax(i8) - 22, imin(i8) + 24, imin(i8) + 25, -14e0, 14e0, imax(i8) - 25, imax(i8) - 24, | ||
| 14211 | imin(i8) + 26, imin(i8) + 27, -15e0, 15e0, imax(i8) - 27, imax(i8) - 26, imin(i8) + 28, imin(i8) + 29, | ||
| 14212 | -16e0, 16e0, imax(i8) - 29, imax(i8) - 28, imin(i8) + 30, imin(i8) + 31, -17e0, 17e0, | ||
| 14213 | imax(i8) - 31, imax(i8) - 30, imin(i8) + 32, imin(i8) + 33, -18e0, 18e0, imax(i8) - 33, imax(i8) - 32, | ||
| 14214 | }); | ||
| 14215 | try testArgs(@Vector(128, f32), @Vector(128, i8), .{ | ||
| 14216 | imin(i8) + 34, imin(i8) + 35, -19e0, 19e0, imax(i8) - 35, imax(i8) - 34, imin(i8) + 36, imin(i8) + 37, | ||
| 14217 | -21e0, 21e0, imax(i8) - 37, imax(i8) - 36, imin(i8) + 38, imin(i8) + 39, -22e0, 22e0, | ||
| 14218 | imax(i8) - 39, imax(i8) - 38, imin(i8) + 40, imin(i8) + 41, -23e0, 23e0, imax(i8) - 41, imax(i8) - 40, | ||
| 14219 | imin(i8) + 42, imin(i8) + 43, -24e0, 24e0, imax(i8) - 43, imax(i8) - 42, imin(i8) + 44, imin(i8) + 45, | ||
| 14220 | -25e0, 25e0, imax(i8) - 45, imax(i8) - 44, imin(i8) + 46, imin(i8) + 47, -26e0, 26e0, | ||
| 14221 | imax(i8) - 47, imax(i8) - 46, imin(i8) + 48, imin(i8) + 49, -27e0, 27e0, imax(i8) - 49, imax(i8) - 48, | ||
| 14222 | imin(i8) + 50, imin(i8) + 51, -28e0, 28e0, imax(i8) - 51, imax(i8) - 50, imin(i8) + 52, imin(i8) + 53, | ||
| 14223 | -29e0, 29e0, imax(i8) - 53, imax(i8) - 52, imin(i8) + 54, imin(i8) + 55, -31e0, 31e0, | ||
| 14224 | imax(i8) - 55, imax(i8) - 54, imin(i8) + 56, imin(i8) + 57, -32e0, 32e0, imax(i8) - 57, imax(i8) - 56, | ||
| 14225 | imin(i8) + 58, imin(i8) + 59, -33e0, 33e0, imax(i8) - 59, imax(i8) - 58, imin(i8) + 60, imin(i8) + 61, | ||
| 14226 | -34e0, 34e0, imax(i8) - 61, imax(i8) - 60, imin(i8) + 62, imin(i8) + 63, -35e0, 35e0, | ||
| 14227 | imax(i8) - 63, imax(i8) - 62, imin(i8) + 64, imin(i8) + 65, -36e0, 36e0, imax(i8) - 65, imax(i8) - 64, | ||
| 14228 | imin(i8) + 66, imin(i8) + 67, -37e0, 37e0, imax(i8) - 67, imax(i8) - 66, imin(i8) + 68, imin(i8) + 69, | ||
| 14229 | -38e0, 38e0, imax(i8) - 69, imax(i8) - 68, imin(i8) + 70, imin(i8) + 71, -39e0, 39e0, | ||
| 14230 | imax(i8) - 71, imax(i8) - 70, imin(i8) + 72, imin(i8) + 73, -41e0, 41e0, imax(i8) - 73, imax(i8) - 72, | ||
| 14231 | imin(i8) + 74, imin(i8) + 75, -42e0, 42e0, imax(i8) - 75, imax(i8) - 74, imin(i8) + 76, imin(i8) + 77, | ||
| 14232 | }); | ||
| 14233 | |||
| 14234 | try testArgs(@Vector(1, f32), @Vector(1, u8), .{ | ||
| 14235 | 0, | ||
| 14236 | }); | ||
| 14237 | try testArgs(@Vector(2, f32), @Vector(2, u8), .{ | ||
| 14238 | 1e0, 1e1, | ||
| 14239 | }); | ||
| 14240 | try testArgs(@Vector(4, f32), @Vector(4, u8), .{ | ||
| 14241 | 1e2, imax(u8) - 1, imax(u8), 2e0, | ||
| 14242 | }); | ||
| 14243 | try testArgs(@Vector(8, f32), @Vector(8, u8), .{ | ||
| 14244 | 2e1, 2e2, imax(u8) - 3, imax(u8) - 2, 3e0, 3e1, imax(u8) - 5, imax(u8) - 4, | ||
| 14245 | }); | ||
| 14246 | try testArgs(@Vector(16, f32), @Vector(16, u8), .{ | ||
| 14247 | imax(u8) - 7, imax(u8) - 6, 5e0, 5e1, imax(u8) - 9, imax(u8) - 8, 6e0, 6e1, | ||
| 14248 | imax(u8) - 11, imax(u8) - 10, 7e0, 7e1, imax(u8) - 13, imax(u8) - 12, 8e0, 8e1, | ||
| 14249 | }); | ||
| 14250 | try testArgs(@Vector(32, f32), @Vector(32, u8), .{ | ||
| 14251 | imax(u8) - 15, imax(u8) - 14, 9e0, 9e1, imax(u8) - 17, imax(u8) - 16, 11e0, 11e1, | ||
| 14252 | imax(u8) - 19, imax(u8) - 18, 12e0, 12e1, imax(u8) - 21, imax(u8) - 20, 13e0, 13e1, | ||
| 14253 | imax(u8) - 23, imax(u8) - 22, 14e0, 14e1, imax(u8) - 25, imax(u8) - 24, 15e0, 15e1, | ||
| 14254 | imax(u8) - 27, imax(u8) - 26, 16e0, 16e1, imax(u8) - 29, imax(u8) - 28, 17e0, 17e1, | ||
| 14255 | }); | ||
| 14256 | try testArgs(@Vector(64, f32), @Vector(64, u8), .{ | ||
| 14257 | imax(u8) - 31, imax(u8) - 30, 18e0, 18e1, imax(u8) - 33, imax(u8) - 32, 19e0, 19e1, | ||
| 14258 | imax(u8) - 35, imax(u8) - 34, 21e0, 21e1, imax(u8) - 37, imax(u8) - 36, 22e0, 22e1, | ||
| 14259 | imax(u8) - 39, imax(u8) - 38, 23e0, 23e1, imax(u8) - 41, imax(u8) - 40, 24e0, 24e1, | ||
| 14260 | imax(u8) - 43, imax(u8) - 42, 25e0, 25e1, imax(u8) - 45, imax(u8) - 44, 26e0, imax(u8) - 47, | ||
| 14261 | imax(u8) - 46, 27e0, imax(u8) - 49, imax(u8) - 48, 28e0, imax(u8) - 51, imax(u8) - 50, 29e0, | ||
| 14262 | imax(u8) - 53, imax(u8) - 52, 31e0, imax(u8) - 55, imax(u8) - 54, 32e0, imax(u8) - 57, imax(u8) - 56, | ||
| 14263 | 33e0, imax(u8) - 59, imax(u8) - 58, 34e0, imax(u8) - 61, imax(u8) - 60, 35e0, imax(u8) - 63, | ||
| 14264 | imax(u8) - 62, 36e0, imax(u8) - 65, imax(u8) - 64, 37e0, imax(u8) - 67, imax(u8) - 66, 38e0, | ||
| 14265 | }); | ||
| 14266 | try testArgs(@Vector(128, f32), @Vector(128, u8), .{ | ||
| 14267 | imax(u8) - 69, imax(u8) - 68, 39e0, imax(u8) - 71, imax(u8) - 70, 41e0, imax(u8) - 73, imax(u8) - 72, | ||
| 14268 | 42e0, imax(u8) - 75, imax(u8) - 74, 43e0, imax(u8) - 77, imax(u8) - 76, 44e0, imax(u8) - 79, | ||
| 14269 | imax(u8) - 78, 45e0, imax(u8) - 81, imax(u8) - 80, 46e0, imax(u8) - 83, imax(u8) - 82, 47e0, | ||
| 14270 | imax(u8) - 85, imax(u8) - 84, 48e0, imax(u8) - 87, imax(u8) - 86, 49e0, imax(u8) - 89, imax(u8) - 88, | ||
| 14271 | 51e0, imax(u8) - 91, imax(u8) - 90, 52e0, imax(u8) - 93, imax(u8) - 92, 53e0, imax(u8) - 95, | ||
| 14272 | imax(u8) - 94, 54e0, imax(u8) - 97, imax(u8) - 96, 55e0, imax(u8) - 99, imax(u8) - 98, 56e0, | ||
| 14273 | imax(u8) - 101, imax(u8) - 100, 57e0, imax(u8) - 103, imax(u8) - 102, 58e0, imax(u8) - 105, imax(u8) - 104, | ||
| 14274 | 59e0, imax(u8) - 107, imax(u8) - 106, 61e0, imax(u8) - 109, imax(u8) - 108, 62e0, imax(u8) - 111, | ||
| 14275 | imax(u8) - 110, 63e0, imax(u8) - 113, imax(u8) - 112, 64e0, imax(u8) - 115, imax(u8) - 114, 65e0, | ||
| 14276 | imax(u8) - 117, imax(u8) - 116, 66e0, imax(u8) - 119, imax(u8) - 118, 67e0, imax(u8) - 121, imax(u8) - 120, | ||
| 14277 | 68e0, imax(u8) - 123, imax(u8) - 122, 69e0, imax(u8) - 125, imax(u8) - 124, 71e0, imax(u8) - 127, | ||
| 14278 | imax(u8) - 126, 72e0, imax(u8) - 129, imax(u8) - 128, 73e0, imax(u8) - 131, imax(u8) - 130, 74e0, | ||
| 14279 | imax(u8) - 133, imax(u8) - 132, 75e0, imax(u8) - 135, imax(u8) - 134, 76e0, imax(u8) - 137, imax(u8) - 136, | ||
| 14280 | 77e0, imax(u8) - 139, imax(u8) - 138, 78e0, imax(u8) - 141, imax(u8) - 140, 79e0, imax(u8) - 143, | ||
| 14281 | imax(u8) - 142, 81e0, imax(u8) - 145, imax(u8) - 144, 82e0, imax(u8) - 147, imax(u8) - 146, 83e0, | ||
| 14282 | imax(u8) - 149, imax(u8) - 148, 84e0, imax(u8) - 151, imax(u8) - 150, 85e0, imax(u8) - 153, imax(u8) - 152, | ||
| 14283 | }); | ||
| 14284 | |||
| 14285 | try testArgs(@Vector(1, f32), @Vector(1, i16), .{ | ||
| 14286 | imin(i16), | ||
| 14287 | }); | ||
| 14288 | try testArgs(@Vector(2, f32), @Vector(2, i16), .{ | ||
| 14289 | imin(i16) + 1, -1e4, | ||
| 14290 | }); | ||
| 14291 | try testArgs(@Vector(4, f32), @Vector(4, i16), .{ | ||
| 14292 | -1e3, -1e2, -1e1, -1e0, | ||
| 14293 | }); | ||
| 14294 | try testArgs(@Vector(8, f32), @Vector(8, i16), .{ | ||
| 14295 | 0, 1e0, 1e1, 1e2, 1e3, 1e4, imax(i16) - 1, imax(i16), | ||
| 14296 | }); | ||
| 14297 | try testArgs(@Vector(16, f32), @Vector(16, i16), .{ | ||
| 14298 | imin(i16) + 2, imin(i16) + 3, -2e4, -2e3, -2e2, -2e1, -2e0, 2e0, | ||
| 14299 | 2e1, 2e2, 2e3, 2e4, imax(i16) - 3, imax(i16) - 2, imin(i16) + 4, imin(i16) + 5, | ||
| 14300 | }); | ||
| 14301 | try testArgs(@Vector(32, f32), @Vector(32, i16), .{ | ||
| 14302 | -3e4, -3e3, -3e2, -3e1, -3e0, 3e0, 3e1, 3e2, | ||
| 14303 | 3e3, 3e4, imax(i16) - 5, imax(i16) - 4, imin(i16) + 6, imin(i16) + 7, -4e3, -4e2, | ||
| 14304 | -4e1, -4e0, 4e0, 4e1, 4e2, 4e3, imax(i16) - 7, imax(i16) - 6, | ||
| 14305 | imin(i16) + 8, imin(i16) + 9, -5e3, -5e2, -5e1, -5e0, 5e0, 5e1, | ||
| 14306 | }); | ||
| 14307 | try testArgs(@Vector(64, f32), @Vector(64, i16), .{ | ||
| 14308 | 5e2, 5e3, imax(i16) - 9, imax(i16) - 8, imin(i16) + 10, imin(i16) + 11, -6e3, -6e2, | ||
| 14309 | -6e1, -6e0, 6e0, 6e1, 6e2, 6e3, imax(i16) - 11, imax(i16) - 10, | ||
| 14310 | imin(i16) + 12, imin(i16) + 13, -7e3, -7e2, -7e1, -7e0, 7e0, 7e1, | ||
| 14311 | 7e2, 7e3, imax(i16) - 13, imax(i16) - 12, imin(i16) + 14, imin(i16) + 15, -8e3, -8e2, | ||
| 14312 | -8e1, -8e0, 8e0, 8e1, 8e2, 8e3, imax(i16) - 15, imax(i16) - 14, | ||
| 14313 | imin(i16) + 16, imin(i16) + 17, -9e3, -9e2, -9e1, -9e0, 9e0, 9e1, | ||
| 14314 | 9e2, 9e3, imax(i16) - 17, imax(i16) - 16, imin(i16) + 18, imin(i16) + 19, -11e3, -11e2, | ||
| 14315 | -11e1, -11e0, 11e0, 11e1, 11e2, 11e3, imax(i16) - 19, imax(i16) - 18, | ||
| 14316 | }); | ||
| 14317 | try testArgs(@Vector(128, f32), @Vector(128, i16), .{ | ||
| 14318 | imin(i16) + 20, imin(i16) + 21, -12e3, -12e2, -12e1, -12e0, 12e0, 12e1, | ||
| 14319 | 12e2, 12e3, imax(i16) - 21, imax(i16) - 20, imin(i16) + 22, imin(i16) + 23, -13e3, -13e2, | ||
| 14320 | -13e1, -13e0, 13e0, 13e1, 13e2, 13e3, imax(i16) - 23, imax(i16) - 22, | ||
| 14321 | imin(i16) + 24, imin(i16) + 25, -14e3, -14e2, -14e1, -14e0, 14e0, 14e1, | ||
| 14322 | 14e2, 14e3, imax(i16) - 25, imax(i16) - 24, imin(i16) + 26, imin(i16) + 27, -15e3, -15e2, | ||
| 14323 | -15e1, -15e0, 15e0, 15e1, 15e2, 15e3, imax(i16) - 27, imax(i16) - 26, | ||
| 14324 | imin(i16) + 28, imin(i16) + 29, -16e3, -16e2, -16e1, -16e0, 16e0, 16e1, | ||
| 14325 | 16e2, 16e3, imax(i16) - 29, imax(i16) - 28, imin(i16) + 30, imin(i16) + 31, -17e3, -17e2, | ||
| 14326 | -17e1, -17e0, 17e0, 17e1, 17e2, 17e3, imax(i16) - 31, imax(i16) - 30, | ||
| 14327 | imin(i16) + 32, imin(i16) + 33, -18e3, -18e2, -18e1, -18e0, 18e0, 18e1, | ||
| 14328 | 18e2, 18e3, imax(i16) - 33, imax(i16) - 32, imin(i16) + 34, imin(i16) + 35, -19e3, -19e2, | ||
| 14329 | -19e1, -19e0, 19e0, 19e1, 19e2, 19e3, imax(i16) - 35, imax(i16) - 34, | ||
| 14330 | imin(i16) + 36, imin(i16) + 37, -12e3, -21e2, -21e1, -21e0, 21e0, 21e1, | ||
| 14331 | 21e2, 21e3, imax(i16) - 37, imax(i16) - 36, imin(i16) + 38, imin(i16) + 39, -22e3, -22e2, | ||
| 14332 | -22e1, -22e0, 22e0, 22e1, 22e2, 22e3, imax(i16) - 39, imax(i16) - 38, | ||
| 14333 | imin(i16) + 40, imin(i16) + 41, -23e3, -23e2, -23e1, -23e0, 23e0, 23e1, | ||
| 14334 | }); | ||
| 14335 | |||
| 14336 | try testArgs(@Vector(1, f32), @Vector(1, u16), .{ | ||
| 14337 | 0, | ||
| 14338 | }); | ||
| 14339 | try testArgs(@Vector(2, f32), @Vector(2, u16), .{ | ||
| 14340 | 1e0, 1e1, | ||
| 14341 | }); | ||
| 14342 | try testArgs(@Vector(4, f32), @Vector(4, u16), .{ | ||
| 14343 | 1e2, 1e3, 1e4, imax(u16) - 1, | ||
| 14344 | }); | ||
| 14345 | try testArgs(@Vector(8, f32), @Vector(8, u16), .{ | ||
| 14346 | imax(u16), 2e0, 2e1, 2e2, 2e3, 2e4, imax(u16) - 3, imax(u16) - 2, | ||
| 14347 | }); | ||
| 14348 | try testArgs(@Vector(16, f32), @Vector(16, u16), .{ | ||
| 14349 | 3e0, 3e1, 3e2, 3e3, 3e4, imax(u16) - 5, imax(u16) - 4, 4e0, | ||
| 14350 | 4e1, 4e2, 4e3, 4e4, imax(u16) - 7, imax(u16) - 6, 5e0, 5e1, | ||
| 14351 | }); | ||
| 14352 | try testArgs(@Vector(32, f32), @Vector(32, u16), .{ | ||
| 14353 | 5e2, 5e3, 5e4, imax(u16) - 9, imax(u16) - 8, 6e0, 6e1, 6e2, | ||
| 14354 | 6e3, 6e4, imax(u16) - 11, imax(u16) - 10, 7e0, 7e1, 7e2, 7e3, | ||
| 14355 | imax(u16) - 13, imax(u16) - 12, 8e0, 8e1, 8e2, 8e3, imax(u16) - 15, imax(u16) - 14, | ||
| 14356 | 9e0, 9e1, 9e2, 9e3, imax(u16) - 17, imax(u16) - 16, 11e0, 11e1, | ||
| 14357 | }); | ||
| 14358 | try testArgs(@Vector(64, f32), @Vector(64, u16), .{ | ||
| 14359 | 11e2, 11e3, imax(u16) - 19, imax(u16) - 18, 12e0, 12e1, 12e2, 12e3, | ||
| 14360 | imax(u16) - 21, imax(u16) - 20, 13e0, 13e1, 13e2, 13e3, imax(u16) - 23, imax(u16) - 22, | ||
| 14361 | 14e0, 14e1, 14e2, 14e3, imax(u16) - 25, imax(u16) - 24, 15e0, 15e1, | ||
| 14362 | 15e2, 15e3, imax(u16) - 27, imax(u16) - 26, 16e0, 16e1, 16e2, 16e3, | ||
| 14363 | imax(u16) - 29, imax(u16) - 28, 17e0, 17e1, 17e2, 17e3, imax(u16) - 31, imax(u16) - 30, | ||
| 14364 | 18e0, 18e1, 18e2, 18e3, imax(u16) - 33, imax(u16) - 32, 19e0, 19e1, | ||
| 14365 | 19e2, 19e3, imax(u16) - 35, imax(u16) - 34, 21e0, 21e1, 21e2, 21e3, | ||
| 14366 | imax(u16) - 37, imax(u16) - 36, 22e0, 22e1, 22e2, 22e3, imax(u16) - 39, imax(u16) - 38, | ||
| 14367 | }); | ||
| 14368 | try testArgs(@Vector(128, f32), @Vector(128, u16), .{ | ||
| 14369 | 23e0, 23e1, 23e2, 23e3, imax(u16) - 41, imax(u16) - 40, 24e0, 24e1, | ||
| 14370 | 24e2, 24e3, imax(u16) - 43, imax(u16) - 42, 25e0, 25e1, 25e2, 25e3, | ||
| 14371 | imax(u16) - 45, imax(u16) - 44, 26e0, 26e1, 26e2, 26e3, imax(u16) - 47, imax(u16) - 46, | ||
| 14372 | 27e0, 27e1, 27e2, 27e3, imax(u16) - 49, imax(u16) - 48, 28e0, 28e1, | ||
| 14373 | 28e2, 28e3, imax(u16) - 51, imax(u16) - 50, 29e0, 29e1, 29e2, 29e3, | ||
| 14374 | imax(u16) - 53, imax(u16) - 52, 31e0, 31e1, 31e2, 31e3, imax(u16) - 55, imax(u16) - 54, | ||
| 14375 | 32e0, 32e1, 32e2, 32e3, imax(u16) - 57, imax(u16) - 56, 33e0, 33e1, | ||
| 14376 | 33e2, 33e3, imax(u16) - 59, imax(u16) - 58, 34e0, 34e1, 34e2, 34e3, | ||
| 14377 | imax(u16) - 61, imax(u16) - 60, 35e0, 35e1, 35e2, 35e3, imax(u16) - 63, imax(u16) - 62, | ||
| 14378 | 36e0, 36e1, 36e2, 36e3, imax(u16) - 65, imax(u16) - 64, 37e0, 37e1, | ||
| 14379 | 37e2, 37e3, imax(u16) - 67, imax(u16) - 66, 38e0, 38e1, 38e2, 38e3, | ||
| 14380 | imax(u16) - 69, imax(u16) - 68, 39e0, 39e1, 39e2, 39e3, imax(u16) - 71, imax(u16) - 70, | ||
| 14381 | 41e0, 41e1, 41e2, 41e3, imax(u16) - 73, imax(u16) - 72, 42e0, 42e1, | ||
| 14382 | 42e2, 42e3, imax(u16) - 75, imax(u16) - 74, 43e0, 43e1, 43e2, 43e3, | ||
| 14383 | imax(u16) - 77, imax(u16) - 76, 44e0, 44e1, 44e2, 44e3, imax(u16) - 79, imax(u16) - 78, | ||
| 14384 | 45e0, 45e1, 45e2, 45e3, imax(u16) - 81, imax(u16) - 80, 46e0, 46e1, | ||
| 14385 | }); | ||
| 14386 | |||
| 14387 | try testArgs(@Vector(1, f32), @Vector(1, i32), .{ | ||
| 14388 | imin(i32), | ||
| 14389 | }); | ||
| 14390 | try testArgs(@Vector(2, f32), @Vector(2, i32), .{ | ||
| 14391 | imin(i32) + 1, -1e9, | ||
| 14392 | }); | ||
| 14393 | try testArgs(@Vector(4, f32), @Vector(4, i32), .{ | ||
| 14394 | -1e8, -1e7, -1e6, -1e5, | ||
| 14395 | }); | ||
| 14396 | try testArgs(@Vector(8, f32), @Vector(8, i32), .{ | ||
| 14397 | -1e4, -1e3, -1e2, -1e1, -1e0, 0, 1e0, 1e1, | ||
| 14398 | }); | ||
| 14399 | try testArgs(@Vector(16, f32), @Vector(16, i32), .{ | ||
| 14400 | 1e2, 1e3, 1e4, 1e5, 1e6, 1e7, 1e8, 1e9, | ||
| 14401 | imax(i32) - 1, imax(i32), imin(i32) + 2, imin(i32) + 3, -2e9, -2e8, -2e7, -2e6, | ||
| 14402 | }); | ||
| 14403 | try testArgs(@Vector(32, f32), @Vector(32, i32), .{ | ||
| 14404 | -2e5, -2e4, -2e3, -2e2, -2e1, -2e0, 2e0, 2e1, | ||
| 14405 | 2e2, 2e3, 2e4, 2e5, 2e6, 2e7, 2e8, 2e9, | ||
| 14406 | imax(i32) - 3, imax(i32) - 2, imin(i32) + 4, imin(i32) + 5, -3e8, -3e7, -3e6, -3e5, | ||
| 14407 | -3e4, -3e3, -3e2, -3e1, -3e0, 3e0, 3e1, 3e2, | ||
| 14408 | }); | ||
| 14409 | try testArgs(@Vector(64, f32), @Vector(64, i32), .{ | ||
| 14410 | 3e3, 3e4, 3e5, 3e6, 3e7, 3e8, imax(i32) - 5, imax(i32) - 4, | ||
| 14411 | imin(i32) + 6, imin(i32) + 7, -4e8, -4e7, -4e6, -4e5, -4e4, -4e3, | ||
| 14412 | -4e2, -4e1, -4e0, 4e0, 4e1, 4e2, 4e3, 4e4, | ||
| 14413 | 4e5, 4e6, 4e7, 4e8, imax(i32) - 7, imax(i32) - 6, imin(i32) + 8, imin(i32) + 9, | ||
| 14414 | -5e8, -5e7, -5e6, -5e5, -5e4, -5e3, -5e2, -5e1, | ||
| 14415 | -5e0, 5e0, 5e1, 5e2, 5e3, 5e4, 5e5, 5e6, | ||
| 14416 | 5e7, 5e8, imax(i32) - 9, imax(i32) - 8, imin(i32) + 10, imin(i32) + 11, -6e8, -6e7, | ||
| 14417 | -6e6, -6e5, -6e4, -6e3, -6e2, -6e1, -6e0, 6e0, | ||
| 14418 | }); | ||
| 14419 | try testArgs(@Vector(128, f32), @Vector(128, i32), .{ | ||
| 14420 | 6e1, 6e2, 6e3, 6e4, 6e5, 6e6, 6e7, 6e8, | ||
| 14421 | imax(i32) - 11, imax(i32) - 10, imin(i32) + 12, imin(i32) + 13, -7e8, -7e7, -7e6, -7e5, | ||
| 14422 | -7e4, -7e3, -7e2, -7e1, -7e0, 7e0, 7e1, 7e2, | ||
| 14423 | 7e3, 7e4, 7e5, 7e6, 7e7, 7e8, imax(i32) - 13, imax(i32) - 12, | ||
| 14424 | imin(i32) + 14, imin(i32) + 15, -8e8, -8e7, -8e6, -8e5, -8e4, -8e3, | ||
| 14425 | -8e2, -8e1, -8e0, 8e0, 8e1, 8e2, 8e3, 8e4, | ||
| 14426 | 8e5, 8e6, 8e7, 8e8, imax(i32) - 15, imax(i32) - 14, imin(i32) + 16, imin(i32) + 17, | ||
| 14427 | -9e8, -9e7, -9e6, -9e5, -9e4, -9e3, -9e2, -9e1, | ||
| 14428 | -9e0, 9e0, 9e1, 9e2, 9e3, 9e4, 9e5, 9e6, | ||
| 14429 | 9e7, 9e8, imax(i32) - 17, imax(i32) - 16, imin(i32) + 18, imin(i32) + 19, -11e8, -11e7, | ||
| 14430 | -11e6, -11e5, -11e4, -11e3, -11e2, -11e1, -11e0, 11e0, | ||
| 14431 | 11e1, 11e2, 11e3, 11e4, 11e5, 11e6, 11e7, 11e8, | ||
| 14432 | imax(i32) - 19, imax(i32) - 18, imin(i32) + 20, imin(i32) + 21, -12e8, -12e7, -12e6, -12e5, | ||
| 14433 | -12e4, -12e3, -12e2, -12e1, -12e0, 12e0, 12e1, 12e2, | ||
| 14434 | 12e3, 12e4, 12e5, 12e6, 12e7, 12e8, imax(i32) - 21, imax(i32) - 20, | ||
| 14435 | imin(i32) + 22, imin(i32) + 23, -13e8, -13e7, -13e6, -13e5, -13e4, -13e3, | ||
| 14436 | }); | ||
| 14437 | |||
| 14438 | try testArgs(@Vector(1, f32), @Vector(1, u32), .{ | ||
| 14439 | 0, | ||
| 14440 | }); | ||
| 14441 | try testArgs(@Vector(2, f32), @Vector(2, u32), .{ | ||
| 14442 | 1e0, 1e1, | ||
| 14443 | }); | ||
| 14444 | try testArgs(@Vector(4, f32), @Vector(4, u32), .{ | ||
| 14445 | 1e2, 1e3, 1e4, imax(u32) - 1, | ||
| 14446 | }); | ||
| 14447 | try testArgs(@Vector(8, f32), @Vector(8, u32), .{ | ||
| 14448 | imax(u32), 2e0, 2e1, 2e2, 2e3, 2e4, imax(u32) - 3, imax(u32) - 2, | ||
| 14449 | }); | ||
| 14450 | try testArgs(@Vector(16, f32), @Vector(16, u32), .{ | ||
| 14451 | 3e0, 3e1, 3e2, 3e3, 3e4, imax(u32) - 5, imax(u32) - 4, 4e0, | ||
| 14452 | 4e1, 4e2, 4e3, 4e4, imax(u32) - 7, imax(u32) - 6, 5e0, 5e1, | ||
| 14453 | }); | ||
| 14454 | try testArgs(@Vector(32, f32), @Vector(32, u32), .{ | ||
| 14455 | 5e2, 5e3, 5e4, imax(u32) - 9, imax(u32) - 8, 6e0, 6e1, 6e2, | ||
| 14456 | 6e3, 6e4, imax(u32) - 11, imax(u32) - 10, 7e0, 7e1, 7e2, 7e3, | ||
| 14457 | imax(u32) - 13, imax(u32) - 12, 8e0, 8e1, 8e2, 8e3, imax(u32) - 15, imax(u32) - 14, | ||
| 14458 | 9e0, 9e1, 9e2, 9e3, imax(u32) - 17, imax(u32) - 16, 11e0, 11e1, | ||
| 14459 | }); | ||
| 14460 | try testArgs(@Vector(64, f32), @Vector(64, u32), .{ | ||
| 14461 | 11e2, 11e3, imax(u32) - 19, imax(u32) - 18, 12e0, 12e1, 12e2, 12e3, | ||
| 14462 | imax(u32) - 21, imax(u32) - 20, 13e0, 13e1, 13e2, 13e3, imax(u32) - 23, imax(u32) - 22, | ||
| 14463 | 14e0, 14e1, 14e2, 14e3, imax(u32) - 25, imax(u32) - 24, 15e0, 15e1, | ||
| 14464 | 15e2, 15e3, imax(u32) - 27, imax(u32) - 26, 16e0, 16e1, 16e2, 16e3, | ||
| 14465 | imax(u32) - 29, imax(u32) - 28, 17e0, 17e1, 17e2, 17e3, imax(u32) - 31, imax(u32) - 30, | ||
| 14466 | 18e0, 18e1, 18e2, 18e3, imax(u32) - 33, imax(u32) - 32, 19e0, 19e1, | ||
| 14467 | 19e2, 19e3, imax(u32) - 35, imax(u32) - 34, 21e0, 21e1, 21e2, 21e3, | ||
| 14468 | imax(u32) - 37, imax(u32) - 36, 22e0, 22e1, 22e2, 22e3, imax(u32) - 39, imax(u32) - 38, | ||
| 14469 | }); | ||
| 14470 | try testArgs(@Vector(128, f32), @Vector(128, u32), .{ | ||
| 14471 | 23e0, 23e1, 23e2, 23e3, imax(u32) - 41, imax(u32) - 40, 24e0, 24e1, | ||
| 14472 | 24e2, 24e3, imax(u32) - 43, imax(u32) - 42, 25e0, 25e1, 25e2, 25e3, | ||
| 14473 | imax(u32) - 45, imax(u32) - 44, 26e0, 26e1, 26e2, 26e3, imax(u32) - 47, imax(u32) - 46, | ||
| 14474 | 27e0, 27e1, 27e2, 27e3, imax(u32) - 49, imax(u32) - 48, 28e0, 28e1, | ||
| 14475 | 28e2, 28e3, imax(u32) - 51, imax(u32) - 50, 29e0, 29e1, 29e2, 29e3, | ||
| 14476 | imax(u32) - 53, imax(u32) - 52, 31e0, 31e1, 31e2, 31e3, imax(u32) - 55, imax(u32) - 54, | ||
| 14477 | 32e0, 32e1, 32e2, 32e3, imax(u32) - 57, imax(u32) - 56, 33e0, 33e1, | ||
| 14478 | 33e2, 33e3, imax(u32) - 59, imax(u32) - 58, 34e0, 34e1, 34e2, 34e3, | ||
| 14479 | imax(u32) - 61, imax(u32) - 60, 35e0, 35e1, 35e2, 35e3, imax(u32) - 63, imax(u32) - 62, | ||
| 14480 | 36e0, 36e1, 36e2, 36e3, imax(u32) - 65, imax(u32) - 64, 37e0, 37e1, | ||
| 14481 | 37e2, 37e3, imax(u32) - 67, imax(u32) - 66, 38e0, 38e1, 38e2, 38e3, | ||
| 14482 | imax(u32) - 69, imax(u32) - 68, 39e0, 39e1, 39e2, 39e3, imax(u32) - 71, imax(u32) - 70, | ||
| 14483 | 41e0, 41e1, 41e2, 41e3, imax(u32) - 73, imax(u32) - 72, 42e0, 42e1, | ||
| 14484 | 42e2, 42e3, imax(u32) - 75, imax(u32) - 74, 43e0, 43e1, 43e2, 43e3, | ||
| 14485 | imax(u32) - 77, imax(u32) - 76, 44e0, 44e1, 44e2, 44e3, imax(u32) - 79, imax(u32) - 78, | ||
| 14486 | 45e0, 45e1, 45e2, 45e3, imax(u32) - 81, imax(u32) - 80, 46e0, 46e1, | ||
| 14487 | }); | ||
| 14488 | |||
| 14489 | try testArgs(@Vector(1, f32), @Vector(1, i64), .{ | ||
| 14490 | imin(i64), | ||
| 14491 | }); | ||
| 14492 | try testArgs(@Vector(2, f32), @Vector(2, i64), .{ | ||
| 14493 | imin(i64) + 1, -1e18, | ||
| 14494 | }); | ||
| 14495 | try testArgs(@Vector(4, f32), @Vector(4, i64), .{ | ||
| 14496 | -1e17, -1e16, -1e15, -1e14, | ||
| 14497 | }); | ||
| 14498 | try testArgs(@Vector(8, f32), @Vector(8, i64), .{ | ||
| 14499 | -1e13, -1e12, -1e11, -1e10, -1e9, -1e8, -1e7, -1e6, | ||
| 14500 | }); | ||
| 14501 | try testArgs(@Vector(16, f32), @Vector(16, i64), .{ | ||
| 14502 | -1e5, -1e4, -1e3, -1e2, -1e1, -1e0, 0, 1e0, | ||
| 14503 | 1e1, 1e2, 1e3, 1e4, 1e5, 1e6, 1e7, 1e8, | ||
| 14504 | }); | ||
| 14505 | try testArgs(@Vector(32, f32), @Vector(32, i64), .{ | ||
| 14506 | 1e9, 1e10, 1e11, 1e12, 1e13, 1e14, 1e15, 1e16, | ||
| 14507 | 1e17, 1e18, imax(i64) - 1, imax(i64), imin(i64) + 2, imin(i64) + 3, -2e18, -2e17, | ||
| 14508 | -2e16, -2e15, -2e14, -2e13, -2e12, -2e11, -2e10, -2e9, | ||
| 14509 | -2e8, -2e7, -2e6, -2e5, -2e4, -2e3, -2e2, -2e1, | ||
| 14510 | }); | ||
| 14511 | try testArgs(@Vector(64, f32), @Vector(64, i64), .{ | ||
| 14512 | -2e0, 2e0, 2e1, 2e2, 2e3, 2e4, 2e5, 2e6, | ||
| 14513 | 2e7, 2e8, 2e9, 2e10, 2e11, 2e12, 2e13, 2e14, | ||
| 14514 | 2e15, 2e16, 2e17, 2e18, imax(i64) - 3, imax(i64) - 2, imin(i64) + 4, imin(i64) + 5, | ||
| 14515 | -3e18, -3e17, -3e16, -3e15, -3e14, -3e13, -3e12, -3e11, | ||
| 14516 | -3e10, -3e9, -3e8, -3e7, -3e6, -3e5, -3e4, -3e3, | ||
| 14517 | -3e2, -3e1, -3e0, 3e0, 3e1, 3e2, 3e3, 3e4, | ||
| 14518 | 3e5, 3e6, 3e7, 3e8, 3e9, 3e10, 3e11, 3e12, | ||
| 14519 | 3e13, 3e14, 3e15, 3e16, 3e17, 3e18, imax(i64) - 5, imax(i64) - 4, | ||
| 14520 | }); | ||
| 14521 | try testArgs(@Vector(128, f32), @Vector(128, i64), .{ | ||
| 14522 | imin(i64) + 6, imin(i64) + 7, -4e18, -4e17, -4e16, -4e15, -4e14, -4e13, | ||
| 14523 | -4e12, -4e11, -4e10, -4e9, -4e8, -4e7, -4e6, -4e5, | ||
| 14524 | -4e4, -4e3, -4e2, -4e1, -4e0, 4e0, 4e1, 4e2, | ||
| 14525 | 4e3, 4e4, 4e5, 4e6, 4e7, 4e8, 4e9, 4e10, | ||
| 14526 | 4e11, 4e12, 4e13, 4e14, 4e15, 4e16, 4e17, 4e18, | ||
| 14527 | imax(i64) - 7, imax(i64) - 6, imin(i64) + 8, imin(i64) + 9, -5e18, -5e17, -5e16, -5e15, | ||
| 14528 | -5e14, -5e13, -5e12, -5e11, -5e10, -5e9, -5e8, -5e7, | ||
| 14529 | -5e6, -5e5, -5e4, -5e3, -5e2, -5e1, -5e0, 5e0, | ||
| 14530 | 5e1, 5e2, 5e3, 5e4, 5e5, 5e6, 5e7, 5e8, | ||
| 14531 | 5e9, 5e10, 5e11, 5e12, 5e13, 5e14, 5e15, 5e16, | ||
| 14532 | 5e17, 5e18, imax(i64) - 9, imax(i64) - 8, imin(i64) + 10, imin(i64) + 11, -6e18, -6e17, | ||
| 14533 | -6e16, -6e15, -6e14, -6e13, -6e12, -6e11, -6e10, -6e9, | ||
| 14534 | -6e8, -6e7, -6e6, -6e5, -6e4, -6e3, -6e2, -6e1, | ||
| 14535 | -6e0, 6e0, 6e1, 6e2, 6e3, 6e4, 6e5, 6e6, | ||
| 14536 | 6e7, 6e8, 6e9, 6e10, 6e11, 6e12, 6e13, 6e14, | ||
| 14537 | 6e15, 6e16, 6e17, 6e18, imax(i64) - 11, imax(i64) - 10, imin(i64) + 12, imin(i64) + 13, | ||
| 14538 | }); | ||
| 14539 | |||
| 14540 | try testArgs(@Vector(1, f32), @Vector(1, u64), .{ | ||
| 14541 | 0, | ||
| 14542 | }); | ||
| 14543 | try testArgs(@Vector(2, f32), @Vector(2, u64), .{ | ||
| 14544 | 1e0, 1e1, | ||
| 14545 | }); | ||
| 14546 | try testArgs(@Vector(4, f32), @Vector(4, u64), .{ | ||
| 14547 | 1e2, 1e3, 1e4, 1e5, | ||
| 14548 | }); | ||
| 14549 | try testArgs(@Vector(8, f32), @Vector(8, u64), .{ | ||
| 14550 | 1e6, 1e7, 1e8, 1e9, 1e10, 1e11, 1e12, 1e13, | ||
| 14551 | }); | ||
| 14552 | try testArgs(@Vector(16, f32), @Vector(16, u64), .{ | ||
| 14553 | 1e14, 1e15, 1e16, 1e17, 1e18, 1e19, imax(u64) - 1, imax(u64), | ||
| 14554 | 2e0, 2e1, 2e2, 2e3, 2e4, 2e5, 2e6, 2e7, | ||
| 14555 | }); | ||
| 14556 | try testArgs(@Vector(32, f32), @Vector(32, u64), .{ | ||
| 14557 | 2e8, 2e9, 2e10, 2e11, 2e12, 2e13, 2e14, 2e15, | ||
| 14558 | 2e16, 2e17, 2e18, imax(u64) - 3, imax(u64) - 2, 3e0, 3e1, 3e2, | ||
| 14559 | 3e3, 3e4, 3e5, 3e6, 3e7, 3e8, 3e9, 3e10, | ||
| 14560 | 3e11, 3e12, 3e13, 3e14, 3e15, 3e16, 3e17, 3e18, | ||
| 14561 | }); | ||
| 14562 | try testArgs(@Vector(64, f32), @Vector(64, u64), .{ | ||
| 14563 | imax(u64) - 5, imax(u64) - 4, 4e0, 4e1, 4e2, 4e3, 4e4, 4e5, | ||
| 14564 | 4e6, 4e7, 4e8, 4e9, 4e10, 4e11, 4e12, 4e13, | ||
| 14565 | 4e14, 4e15, 4e16, 4e17, 4e18, imax(u64) - 7, imax(u64) - 6, 5e0, | ||
| 14566 | 5e1, 5e2, 5e3, 5e4, 5e5, 5e6, 5e7, 5e8, | ||
| 14567 | 5e9, 5e10, 5e11, 5e12, 5e13, 5e14, 5e15, 5e16, | ||
| 14568 | 5e17, 5e18, imax(u64) - 9, imax(u64) - 8, 6e0, 6e1, 6e2, 6e3, | ||
| 14569 | 6e4, 6e5, 6e6, 6e7, 6e8, 6e9, 6e10, 6e11, | ||
| 14570 | 6e12, 6e13, 6e14, 6e15, 6e16, 6e17, 6e18, imax(u64) - 11, | ||
| 14571 | }); | ||
| 14572 | try testArgs(@Vector(128, f32), @Vector(128, u64), .{ | ||
| 14573 | imax(u64) - 10, 7e0, 7e1, 7e2, 7e3, 7e4, 7e5, 7e6, | ||
| 14574 | 7e7, 7e8, 7e9, 7e10, 7e11, 7e12, 7e13, 7e14, | ||
| 14575 | 7e15, 7e16, 7e17, 7e18, imax(u64) - 13, imax(u64) - 12, 8e0, 8e1, | ||
| 14576 | 8e2, 8e3, 8e4, 8e5, 8e6, 8e7, 8e8, 8e9, | ||
| 14577 | 8e10, 8e11, 8e12, 8e13, 8e14, 8e15, 8e16, 8e17, | ||
| 14578 | 8e18, imax(u64) - 15, imax(u64) - 14, 9e0, 9e1, 9e2, 9e3, 9e4, | ||
| 14579 | 9e5, 9e6, 9e7, 9e8, 9e9, 9e10, 9e11, 9e12, | ||
| 14580 | 9e13, 9e14, 9e15, 9e16, 9e17, 9e18, imax(u64) - 17, imax(u64) - 16, | ||
| 14581 | 11e0, 11e1, 11e2, 11e3, 11e4, 11e5, 11e6, 11e7, | ||
| 14582 | 11e8, 11e9, 11e10, 11e11, 11e12, 11e13, 11e14, 11e15, | ||
| 14583 | 11e16, 11e17, 11e18, imax(u64) - 19, imax(u64) - 18, 12e0, 12e1, 12e2, | ||
| 14584 | 12e3, 12e4, 12e5, 12e6, 12e7, 12e8, 12e9, 12e10, | ||
| 14585 | 12e11, 12e12, 12e13, 12e14, 12e15, 12e16, 12e17, 12e18, | ||
| 14586 | imax(u64) - 21, imax(u64) - 20, 13e0, 13e1, 13e2, 13e3, 13e4, 13e5, | ||
| 14587 | 13e6, 13e7, 13e8, 13e9, 13e10, 13e11, 13e12, 13e13, | ||
| 14588 | 13e14, 13e15, 13e16, 13e17, 13e18, imax(u64) - 23, imax(u64) - 22, 14e0, | ||
| 14589 | }); | ||
| 14590 | |||
| 14591 | try testArgs(@Vector(1, f32), @Vector(1, i128), .{ | ||
| 14592 | imin(i128), | ||
| 14593 | }); | ||
| 14594 | try testArgs(@Vector(2, f32), @Vector(2, i128), .{ | ||
| 14595 | imin(i128) + 1, -1e38, | ||
| 14596 | }); | ||
| 14597 | try testArgs(@Vector(4, f32), @Vector(4, i128), .{ | ||
| 14598 | -1e37, -1e36, -1e35, -1e34, | ||
| 14599 | }); | ||
| 14600 | try testArgs(@Vector(8, f32), @Vector(8, i128), .{ | ||
| 14601 | -1e33, -1e32, -1e31, -1e30, -1e29, -1e28, -1e27, -1e26, | ||
| 14602 | }); | ||
| 14603 | try testArgs(@Vector(16, f32), @Vector(16, i128), .{ | ||
| 14604 | -1e25, -1e24, -1e23, -1e22, -1e21, -1e20, -1e19, -1e18, | ||
| 14605 | -1e17, -1e16, -1e15, -1e14, -1e13, -1e12, -1e11, -1e10, | ||
| 14606 | }); | ||
| 14607 | try testArgs(@Vector(32, f32), @Vector(32, i128), .{ | ||
| 14608 | -1e9, -1e8, -1e7, -1e6, -1e5, -1e4, -1e3, -1e2, | ||
| 14609 | -1e1, -1e0, 0, 1e0, 1e1, 1e2, 1e3, 1e4, | ||
| 14610 | 1e5, 1e6, 1e7, 1e8, 1e9, 1e10, 1e11, 1e12, | ||
| 14611 | 1e13, 1e14, 1e15, 1e16, 1e17, 1e18, 1e19, 1e20, | ||
| 14612 | }); | ||
| 14613 | try testArgs(@Vector(64, f32), @Vector(64, i128), .{ | ||
| 14614 | 1e21, 1e22, 1e23, 1e24, 1e25, 1e26, 1e27, 1e28, | ||
| 14615 | 1e29, 1e30, 1e31, 1e32, 1e33, 1e34, 1e35, 1e36, | ||
| 14616 | 1e37, 1e38, imax(i128) - 1, imax(i128), imin(i128) + 2, imin(i128) + 3, -2e37, -2e36, | ||
| 14617 | -2e35, -2e34, -2e33, -2e32, -2e31, -2e30, -2e29, -2e28, | ||
| 14618 | -2e27, -2e26, -2e25, -2e24, -2e23, -2e22, -2e21, -2e20, | ||
| 14619 | -2e19, -2e18, -2e17, -2e16, -2e15, -2e14, -2e13, -2e12, | ||
| 14620 | -2e11, -2e10, -2e9, -2e8, -2e7, -2e6, -2e5, -2e4, | ||
| 14621 | -2e3, -2e2, -2e1, -2e0, 2e0, 2e1, 2e2, 2e3, | ||
| 14622 | }); | ||
| 14623 | try testArgs(@Vector(128, f32), @Vector(128, i128), .{ | ||
| 14624 | 2e4, 2e5, 2e6, 2e7, 2e8, 2e9, 2e10, 2e11, | ||
| 14625 | 2e12, 2e13, 2e14, 2e15, 2e16, 2e17, 2e18, 2e19, | ||
| 14626 | 2e20, 2e21, 2e22, 2e23, 2e24, 2e25, 2e26, 2e27, | ||
| 14627 | 2e28, 2e29, 2e30, 2e31, 2e32, 2e33, 2e34, 2e35, | ||
| 14628 | 2e36, 2e37, imax(i128) - 3, imax(i128) - 2, imin(i128) + 4, imin(i128) + 5, -3e37, -3e36, | ||
| 14629 | -3e35, -3e34, -3e33, -3e32, -3e31, -3e30, -3e29, -3e28, | ||
| 14630 | -3e27, -3e26, -3e25, -3e24, -3e23, -3e22, -3e21, -3e20, | ||
| 14631 | -3e19, -3e18, -3e17, -3e16, -3e15, -3e14, -3e13, -3e12, | ||
| 14632 | -3e11, -3e10, -3e9, -3e8, -3e7, -3e6, -3e5, -3e4, | ||
| 14633 | -3e3, -3e2, -3e1, -3e0, 3e0, 3e1, 3e2, 3e3, | ||
| 14634 | 3e4, 3e5, 3e6, 3e7, 3e8, 3e9, 3e10, 3e11, | ||
| 14635 | 3e12, 3e13, 3e14, 3e15, 3e16, 3e17, 3e18, 3e19, | ||
| 14636 | 3e20, 3e21, 3e22, 3e23, 3e24, 3e25, 3e26, 3e27, | ||
| 14637 | 3e28, 3e29, 3e30, 3e31, 3e32, 3e33, 3e34, 3e35, | ||
| 14638 | 3e36, 3e37, imax(i128) - 5, imax(i128) - 4, imin(i128) + 6, imin(i128) + 7, -4e37, -4e36, | ||
| 14639 | -4e35, -4e34, -4e33, -4e32, -4e31, -4e30, -4e29, -4e28, | ||
| 14640 | }); | ||
| 14641 | |||
| 14642 | try testArgs(@Vector(1, f32), @Vector(1, u128), .{ | ||
| 14643 | 0, | ||
| 14644 | }); | ||
| 14645 | try testArgs(@Vector(2, f32), @Vector(2, u128), .{ | ||
| 14646 | 1e0, 1e1, | ||
| 14647 | }); | ||
| 14648 | try testArgs(@Vector(4, f32), @Vector(4, u128), .{ | ||
| 14649 | 1e2, 1e3, 1e4, 1e5, | ||
| 14650 | }); | ||
| 14651 | try testArgs(@Vector(8, f32), @Vector(8, u128), .{ | ||
| 14652 | 1e6, 1e7, 1e8, 1e9, 1e10, 1e11, 1e12, 1e13, | ||
| 14653 | }); | ||
| 14654 | try testArgs(@Vector(16, f32), @Vector(16, u128), .{ | ||
| 14655 | 1e14, 1e15, 1e16, 1e17, 1e18, 1e19, 1e20, 1e21, | ||
| 14656 | 1e22, 1e23, 1e24, 1e25, 1e26, 1e27, 1e28, 1e29, | ||
| 14657 | }); | ||
| 14658 | try testArgs(@Vector(32, f32), @Vector(32, u128), .{ | ||
| 14659 | 1e30, 1e31, 1e32, 1e33, 1e34, 1e35, 1e36, 1e37, | ||
| 14660 | 1e38, imax(u128) - 1, imax(u128), 2e0, 2e1, 2e2, 2e3, 2e4, | ||
| 14661 | 2e5, 2e6, 2e7, 2e8, 2e9, 2e10, 2e11, 2e12, | ||
| 14662 | 2e13, 2e14, 2e15, 2e16, 2e17, 2e18, 2e19, 2e20, | ||
| 14663 | }); | ||
| 14664 | try testArgs(@Vector(64, f32), @Vector(64, u128), .{ | ||
| 14665 | 2e21, 2e22, 2e23, 2e24, 2e25, 2e26, 2e27, 2e28, | ||
| 14666 | 2e29, 2e30, 2e31, 2e32, 2e33, 2e34, 2e35, 2e36, | ||
| 14667 | 2e37, 2e38, imax(u128) - 3, imax(u128) - 2, 3e0, 3e1, 3e2, 3e3, | ||
| 14668 | 3e4, 3e5, 3e6, 3e7, 3e8, 3e9, 3e10, 3e11, | ||
| 14669 | 3e12, 3e13, 3e14, 3e15, 3e16, 3e17, 3e18, 3e19, | ||
| 14670 | 3e20, 3e21, 3e22, 3e23, 3e24, 3e25, 3e26, 3e27, | ||
| 14671 | 3e28, 3e29, 3e30, 3e31, 3e32, 3e33, 3e34, 3e35, | ||
| 14672 | 3e36, 3e37, 3e38, imax(u128) - 5, imax(u128) - 4, 4e0, 4e1, 4e2, | ||
| 14673 | }); | ||
| 14674 | try testArgs(@Vector(128, f32), @Vector(128, u128), .{ | ||
| 14675 | 4e3, 4e4, 4e5, 4e6, 4e7, 4e8, 4e9, 4e10, | ||
| 14676 | 4e11, 4e12, 4e13, 4e14, 4e15, 4e16, 4e17, 4e18, | ||
| 14677 | 4e19, 4e20, 4e21, 4e22, 4e23, 4e24, 4e25, 4e26, | ||
| 14678 | 4e27, 4e28, 4e29, 4e30, 4e31, 4e32, 4e33, 4e34, | ||
| 14679 | 4e35, 4e36, 4e37, imax(u128) - 7, imax(u128) - 6, 5e0, 5e1, 5e2, | ||
| 14680 | 5e3, 5e4, 5e5, 5e6, 5e7, 5e8, 5e9, 5e10, | ||
| 14681 | 5e11, 5e12, 5e13, 5e14, 5e15, 5e16, 5e17, 5e18, | ||
| 14682 | 5e19, 5e20, 5e21, 5e22, 5e23, 5e24, 5e25, 5e26, | ||
| 14683 | 5e27, 5e28, 5e29, 5e30, 5e31, 5e32, 5e33, 5e34, | ||
| 14684 | 5e35, 5e36, 5e37, imax(u128) - 9, imax(u128) - 8, 6e0, 6e1, 6e2, | ||
| 14685 | 6e3, 6e4, 6e5, 6e6, 6e7, 6e8, 6e9, 6e10, | ||
| 14686 | 6e11, 6e12, 6e13, 6e14, 6e15, 6e16, 6e17, 6e18, | ||
| 14687 | 6e19, 6e20, 6e21, 6e22, 6e23, 6e24, 6e25, 6e26, | ||
| 14688 | 6e27, 6e28, 6e29, 6e30, 6e31, 6e32, 6e33, 6e34, | ||
| 14689 | 6e35, 6e36, 6e37, imax(u128) - 11, imax(u128) - 10, 7e0, 7e1, 7e2, | ||
| 14690 | 7e3, 7e4, 7e5, 7e6, 7e7, 7e8, 7e9, 7e10, | ||
| 14691 | }); | ||
| 14692 | |||
| 14693 | try testArgs(@Vector(1, f32), @Vector(1, i256), .{ | ||
| 14694 | imin(i256), | ||
| 14695 | }); | ||
| 14696 | try testArgs(@Vector(2, f32), @Vector(2, i256), .{ | ||
| 14697 | imin(i256) + 1, -1e76, | ||
| 14698 | }); | ||
| 14699 | try testArgs(@Vector(4, f32), @Vector(4, i256), .{ | ||
| 14700 | -1e75, -1e74, -1e73, -1e72, | ||
| 14701 | }); | ||
| 14702 | try testArgs(@Vector(8, f32), @Vector(8, i256), .{ | ||
| 14703 | -1e71, -1e70, -1e69, -1e68, -1e67, -1e66, -1e65, -1e64, | ||
| 14704 | }); | ||
| 14705 | try testArgs(@Vector(16, f32), @Vector(16, i256), .{ | ||
| 14706 | -1e63, -1e62, -1e61, -1e60, -1e59, -1e58, -1e57, -1e56, | ||
| 14707 | -1e55, -1e54, -1e53, -1e52, -1e51, -1e50, -1e49, -1e48, | ||
| 14708 | }); | ||
| 14709 | try testArgs(@Vector(32, f32), @Vector(32, i256), .{ | ||
| 14710 | -1e47, -1e46, -1e45, -1e44, -1e43, -1e42, -1e41, -1e40, | ||
| 14711 | -1e39, -1e38, -1e37, -1e36, -1e35, -1e34, -1e33, -1e32, | ||
| 14712 | -1e31, -1e30, -1e29, -1e28, -1e27, -1e26, -1e25, -1e24, | ||
| 14713 | -1e23, -1e22, -1e21, -1e20, -1e19, -1e18, -1e17, -1e16, | ||
| 14714 | }); | ||
| 14715 | try testArgs(@Vector(64, f32), @Vector(64, i256), .{ | ||
| 14716 | -1e15, -1e14, -1e13, -1e12, -1e11, -1e10, -1e9, -1e8, | ||
| 14717 | -1e7, -1e6, -1e5, -1e4, -1e3, -1e2, -1e1, -1e0, | ||
| 14718 | 0, 1e0, 1e1, 1e2, 1e3, 1e4, 1e5, 1e6, | ||
| 14719 | 1e7, 1e8, 1e9, 1e10, 1e11, 1e12, 1e13, 1e14, | ||
| 14720 | 1e15, 1e16, 1e17, 1e18, 1e19, 1e20, 1e21, 1e22, | ||
| 14721 | 1e23, 1e24, 1e25, 1e26, 1e27, 1e28, 1e29, 1e30, | ||
| 14722 | 1e31, 1e32, 1e33, 1e34, 1e35, 1e36, 1e37, 1e38, | ||
| 14723 | 1e39, 1e40, 1e41, 1e42, 1e43, 1e44, 1e45, 1e46, | ||
| 14724 | }); | ||
| 14725 | try testArgs(@Vector(128, f32), @Vector(128, i256), .{ | ||
| 14726 | 1e47, 1e48, 1e49, 1e50, 1e51, 1e52, 1e53, 1e54, | ||
| 14727 | 1e55, 1e56, 1e57, 1e58, 1e59, 1e60, 1e61, 1e62, | ||
| 14728 | 1e63, 1e64, 1e65, 1e66, 1e67, 1e68, 1e69, 1e70, | ||
| 14729 | 1e71, 1e72, 1e73, 1e74, 1e75, 1e76, imax(i256) - 1, imax(i256), | ||
| 14730 | imin(i256) + 2, imin(i256) + 3, -2e76, -2e75, -2e74, -2e73, -2e72, -2e71, | ||
| 14731 | -2e70, -2e69, -2e68, -2e67, -2e66, -2e65, -2e64, -2e63, | ||
| 14732 | -2e62, -2e61, -2e60, -2e59, -2e58, -2e57, -2e56, -2e55, | ||
| 14733 | -2e54, -2e53, -2e52, -2e51, -2e50, -2e49, -2e48, -2e47, | ||
| 14734 | -2e46, -2e45, -2e44, -2e43, -2e42, -2e41, -2e40, -2e39, | ||
| 14735 | -2e38, -2e37, -2e36, -2e35, -2e34, -2e33, -2e32, -2e31, | ||
| 14736 | -2e30, -2e29, -2e28, -2e27, -2e26, -2e25, -2e24, -2e23, | ||
| 14737 | -2e22, -2e21, -2e20, -2e19, -2e18, -2e17, -2e16, -2e15, | ||
| 14738 | -2e14, -2e13, -2e12, -2e11, -2e10, -2e9, -2e8, -2e7, | ||
| 14739 | -2e6, -2e5, -2e4, -2e3, -2e2, -2e1, -2e0, 2e0, | ||
| 14740 | 2e1, 2e2, 2e3, 2e4, 2e5, 2e6, 2e7, 2e8, | ||
| 14741 | 2e9, 2e10, 2e11, 2e12, 2e13, 2e14, 2e15, 2e16, | ||
| 14742 | }); | ||
| 14743 | |||
| 14744 | try testArgs(@Vector(1, f32), @Vector(1, u256), .{ | ||
| 14745 | 0, | ||
| 14746 | }); | ||
| 14747 | try testArgs(@Vector(2, f32), @Vector(2, u256), .{ | ||
| 14748 | 1e0, 1e1, | ||
| 14749 | }); | ||
| 14750 | try testArgs(@Vector(4, f32), @Vector(4, u256), .{ | ||
| 14751 | 1e2, 1e3, 1e4, 1e5, | ||
| 14752 | }); | ||
| 14753 | try testArgs(@Vector(8, f32), @Vector(8, u256), .{ | ||
| 14754 | 1e6, 1e7, 1e8, 1e9, 1e10, 1e11, 1e12, 1e13, | ||
| 14755 | }); | ||
| 14756 | try testArgs(@Vector(16, f32), @Vector(16, u256), .{ | ||
| 14757 | 1e14, 1e15, 1e16, 1e17, 1e18, 1e19, 1e20, 1e21, | ||
| 14758 | 1e22, 1e23, 1e24, 1e25, 1e26, 1e27, 1e28, 1e29, | ||
| 14759 | }); | ||
| 14760 | try testArgs(@Vector(32, f32), @Vector(32, u256), .{ | ||
| 14761 | 1e30, 1e31, 1e32, 1e33, 1e34, 1e35, 1e36, 1e37, | ||
| 14762 | 1e38, 1e39, 1e40, 1e41, 1e42, 1e43, 1e44, 1e45, | ||
| 14763 | 1e46, 1e47, 1e48, 1e49, 1e50, 1e51, 1e52, 1e53, | ||
| 14764 | 1e54, 1e55, 1e56, 1e57, 1e58, 1e59, 1e60, 1e61, | ||
| 14765 | }); | ||
| 14766 | try testArgs(@Vector(64, f32), @Vector(64, u256), .{ | ||
| 14767 | 1e62, 1e63, 1e64, 1e65, 1e66, 1e67, 1e68, 1e69, | ||
| 14768 | 1e70, 1e71, 1e72, 1e73, 1e74, 1e75, 1e76, 1e77, | ||
| 14769 | imax(u256) - 1, imax(u256), 2e0, 2e1, 2e2, 2e3, 2e4, 2e5, | ||
| 14770 | 2e6, 2e7, 2e8, 2e9, 2e10, 2e11, 2e12, 2e13, | ||
| 14771 | 2e14, 2e15, 2e16, 2e17, 2e18, 2e19, 2e20, 2e21, | ||
| 14772 | 2e22, 2e23, 2e24, 2e25, 2e26, 2e27, 2e28, 2e29, | ||
| 14773 | 2e30, 2e31, 2e32, 2e33, 2e34, 2e35, 2e36, 2e37, | ||
| 14774 | 2e38, 2e39, 2e40, 2e41, 2e42, 2e43, 2e44, 2e45, | ||
| 14775 | }); | ||
| 14776 | try testArgs(@Vector(128, f32), @Vector(128, u256), .{ | ||
| 14777 | 2e46, 2e47, 2e48, 2e49, 2e50, 2e51, 2e52, 2e53, | ||
| 14778 | 2e54, 2e55, 2e56, 2e57, 2e58, 2e59, 2e60, 2e61, | ||
| 14779 | 2e62, 2e63, 2e64, 2e65, 2e66, 2e67, 2e68, 2e69, | ||
| 14780 | 2e70, 2e71, 2e72, 2e73, 2e74, 2e75, 2e76, imax(u256) - 3, | ||
| 14781 | imax(u256) - 2, 3e0, 3e1, 3e2, 3e3, 3e4, 3e5, 3e6, | ||
| 14782 | 3e7, 3e8, 3e9, 3e10, 3e11, 3e12, 3e13, 3e14, | ||
| 14783 | 3e15, 3e16, 3e17, 3e18, 3e19, 3e20, 3e21, 3e22, | ||
| 14784 | 3e23, 3e24, 3e25, 3e26, 3e27, 3e28, 3e29, 3e30, | ||
| 14785 | 3e31, 3e32, 3e33, 3e34, 3e35, 3e36, 3e37, 3e38, | ||
| 14786 | 3e39, 3e40, 3e41, 3e42, 3e43, 3e44, 3e45, 3e46, | ||
| 14787 | 3e47, 3e48, 3e49, 3e50, 3e51, 3e52, 3e53, 3e54, | ||
| 14788 | 3e55, 3e56, 3e57, 3e58, 3e59, 3e60, 3e61, 3e62, | ||
| 14789 | 3e63, 3e64, 3e65, 3e66, 3e67, 3e68, 3e69, 3e70, | ||
| 14790 | 3e71, 3e72, 3e73, 3e74, 3e75, 3e76, imax(u256) - 5, imax(u256) - 4, | ||
| 14791 | 4e0, 4e1, 4e2, 4e3, 4e4, 4e5, 4e6, 4e7, | ||
| 14792 | 4e8, 4e9, 4e10, 4e11, 4e12, 4e13, 4e14, 4e15, | ||
| 14793 | }); | ||
| 14794 | |||
| 14795 | try testArgs(@Vector(1, f64), @Vector(1, i8), .{ | ||
| 14796 | imin(i8), | ||
| 14797 | }); | ||
| 14798 | try testArgs(@Vector(2, f64), @Vector(2, i8), .{ | ||
| 14799 | imin(i8) + 1, -1e2, | ||
| 14800 | }); | ||
| 14801 | try testArgs(@Vector(4, f64), @Vector(4, i8), .{ | ||
| 14802 | -1e1, -1e0, 0, 1e0, | ||
| 14803 | }); | ||
| 14804 | try testArgs(@Vector(8, f64), @Vector(8, i8), .{ | ||
| 14805 | 1e1, 1e2, imax(i8) - 1, imax(i8), imin(i8) + 2, imin(i8) + 3, -2e1, -2e0, | ||
| 14806 | }); | ||
| 14807 | try testArgs(@Vector(16, f64), @Vector(16, i8), .{ | ||
| 14808 | 2e0, 2e1, imax(i8) - 3, imax(i8) - 2, imin(i8) + 4, imin(i8) + 5, -3e1, -3e0, | ||
| 14809 | 3e0, 3e1, imax(i8) - 5, imax(i8) - 4, imin(i8) + 6, imin(i8) + 7, -4e1, -4e0, | ||
| 14810 | }); | ||
| 14811 | try testArgs(@Vector(32, f64), @Vector(32, i8), .{ | ||
| 14812 | 4e0, 4e1, imax(i8) - 7, imax(i8) - 6, imin(i8) + 8, imin(i8) + 9, -5e1, -5e0, | ||
| 14813 | 5e0, 5e1, imax(i8) - 9, imax(i8) - 8, imin(i8) + 10, imin(i8) + 11, -6e1, -6e0, | ||
| 14814 | 6e0, 6e1, imax(i8) - 11, imax(i8) - 10, imin(i8) + 12, imin(i8) + 13, -7e1, -7e0, | ||
| 14815 | 7e0, 7e1, imax(i8) - 13, imax(i8) - 12, imin(i8) + 14, imin(i8) + 15, -8e1, -8e0, | ||
| 14816 | }); | ||
| 14817 | try testArgs(@Vector(64, f64), @Vector(64, i8), .{ | ||
| 14818 | 8e0, 8e1, imax(i8) - 15, imax(i8) - 14, imin(i8) + 16, imin(i8) + 17, -9e1, -9e0, | ||
| 14819 | 9e0, 9e1, imax(i8) - 17, imax(i8) - 16, imin(i8) + 18, imin(i8) + 19, -11e1, -11e0, | ||
| 14820 | 11e0, 11e1, imax(i8) - 19, imax(i8) - 18, imin(i8) + 20, imin(i8) + 21, -12e1, -12e0, | ||
| 14821 | 12e0, 12e1, imax(i8) - 21, imax(i8) - 20, imin(i8) + 22, imin(i8) + 23, -13e0, 13e0, | ||
| 14822 | imax(i8) - 23, imax(i8) - 22, imin(i8) + 24, imin(i8) + 25, -14e0, 14e0, imax(i8) - 25, imax(i8) - 24, | ||
| 14823 | imin(i8) + 26, imin(i8) + 27, -15e0, 15e0, imax(i8) - 27, imax(i8) - 26, imin(i8) + 28, imin(i8) + 29, | ||
| 14824 | -16e0, 16e0, imax(i8) - 29, imax(i8) - 28, imin(i8) + 30, imin(i8) + 31, -17e0, 17e0, | ||
| 14825 | imax(i8) - 31, imax(i8) - 30, imin(i8) + 32, imin(i8) + 33, -18e0, 18e0, imax(i8) - 33, imax(i8) - 32, | ||
| 14826 | }); | ||
| 14827 | try testArgs(@Vector(128, f64), @Vector(128, i8), .{ | ||
| 14828 | imin(i8) + 34, imin(i8) + 35, -19e0, 19e0, imax(i8) - 35, imax(i8) - 34, imin(i8) + 36, imin(i8) + 37, | ||
| 14829 | -21e0, 21e0, imax(i8) - 37, imax(i8) - 36, imin(i8) + 38, imin(i8) + 39, -22e0, 22e0, | ||
| 14830 | imax(i8) - 39, imax(i8) - 38, imin(i8) + 40, imin(i8) + 41, -23e0, 23e0, imax(i8) - 41, imax(i8) - 40, | ||
| 14831 | imin(i8) + 42, imin(i8) + 43, -24e0, 24e0, imax(i8) - 43, imax(i8) - 42, imin(i8) + 44, imin(i8) + 45, | ||
| 14832 | -25e0, 25e0, imax(i8) - 45, imax(i8) - 44, imin(i8) + 46, imin(i8) + 47, -26e0, 26e0, | ||
| 14833 | imax(i8) - 47, imax(i8) - 46, imin(i8) + 48, imin(i8) + 49, -27e0, 27e0, imax(i8) - 49, imax(i8) - 48, | ||
| 14834 | imin(i8) + 50, imin(i8) + 51, -28e0, 28e0, imax(i8) - 51, imax(i8) - 50, imin(i8) + 52, imin(i8) + 53, | ||
| 14835 | -29e0, 29e0, imax(i8) - 53, imax(i8) - 52, imin(i8) + 54, imin(i8) + 55, -31e0, 31e0, | ||
| 14836 | imax(i8) - 55, imax(i8) - 54, imin(i8) + 56, imin(i8) + 57, -32e0, 32e0, imax(i8) - 57, imax(i8) - 56, | ||
| 14837 | imin(i8) + 58, imin(i8) + 59, -33e0, 33e0, imax(i8) - 59, imax(i8) - 58, imin(i8) + 60, imin(i8) + 61, | ||
| 14838 | -34e0, 34e0, imax(i8) - 61, imax(i8) - 60, imin(i8) + 62, imin(i8) + 63, -35e0, 35e0, | ||
| 14839 | imax(i8) - 63, imax(i8) - 62, imin(i8) + 64, imin(i8) + 65, -36e0, 36e0, imax(i8) - 65, imax(i8) - 64, | ||
| 14840 | imin(i8) + 66, imin(i8) + 67, -37e0, 37e0, imax(i8) - 67, imax(i8) - 66, imin(i8) + 68, imin(i8) + 69, | ||
| 14841 | -38e0, 38e0, imax(i8) - 69, imax(i8) - 68, imin(i8) + 70, imin(i8) + 71, -39e0, 39e0, | ||
| 14842 | imax(i8) - 71, imax(i8) - 70, imin(i8) + 72, imin(i8) + 73, -41e0, 41e0, imax(i8) - 73, imax(i8) - 72, | ||
| 14843 | imin(i8) + 74, imin(i8) + 75, -42e0, 42e0, imax(i8) - 75, imax(i8) - 74, imin(i8) + 76, imin(i8) + 77, | ||
| 14844 | }); | ||
| 14845 | |||
| 14846 | try testArgs(@Vector(1, f64), @Vector(1, u8), .{ | ||
| 14847 | 0, | ||
| 14848 | }); | ||
| 14849 | try testArgs(@Vector(2, f64), @Vector(2, u8), .{ | ||
| 14850 | 1e0, 1e1, | ||
| 14851 | }); | ||
| 14852 | try testArgs(@Vector(4, f64), @Vector(4, u8), .{ | ||
| 14853 | 1e2, imax(u8) - 1, imax(u8), 2e0, | ||
| 14854 | }); | ||
| 14855 | try testArgs(@Vector(8, f64), @Vector(8, u8), .{ | ||
| 14856 | 2e1, 2e2, imax(u8) - 3, imax(u8) - 2, 3e0, 3e1, imax(u8) - 5, imax(u8) - 4, | ||
| 14857 | }); | ||
| 14858 | try testArgs(@Vector(16, f64), @Vector(16, u8), .{ | ||
| 14859 | imax(u8) - 7, imax(u8) - 6, 5e0, 5e1, imax(u8) - 9, imax(u8) - 8, 6e0, 6e1, | ||
| 14860 | imax(u8) - 11, imax(u8) - 10, 7e0, 7e1, imax(u8) - 13, imax(u8) - 12, 8e0, 8e1, | ||
| 14861 | }); | ||
| 14862 | try testArgs(@Vector(32, f64), @Vector(32, u8), .{ | ||
| 14863 | imax(u8) - 15, imax(u8) - 14, 9e0, 9e1, imax(u8) - 17, imax(u8) - 16, 11e0, 11e1, | ||
| 14864 | imax(u8) - 19, imax(u8) - 18, 12e0, 12e1, imax(u8) - 21, imax(u8) - 20, 13e0, 13e1, | ||
| 14865 | imax(u8) - 23, imax(u8) - 22, 14e0, 14e1, imax(u8) - 25, imax(u8) - 24, 15e0, 15e1, | ||
| 14866 | imax(u8) - 27, imax(u8) - 26, 16e0, 16e1, imax(u8) - 29, imax(u8) - 28, 17e0, 17e1, | ||
| 14867 | }); | ||
| 14868 | try testArgs(@Vector(64, f64), @Vector(64, u8), .{ | ||
| 14869 | imax(u8) - 31, imax(u8) - 30, 18e0, 18e1, imax(u8) - 33, imax(u8) - 32, 19e0, 19e1, | ||
| 14870 | imax(u8) - 35, imax(u8) - 34, 21e0, 21e1, imax(u8) - 37, imax(u8) - 36, 22e0, 22e1, | ||
| 14871 | imax(u8) - 39, imax(u8) - 38, 23e0, 23e1, imax(u8) - 41, imax(u8) - 40, 24e0, 24e1, | ||
| 14872 | imax(u8) - 43, imax(u8) - 42, 25e0, 25e1, imax(u8) - 45, imax(u8) - 44, 26e0, imax(u8) - 47, | ||
| 14873 | imax(u8) - 46, 27e0, imax(u8) - 49, imax(u8) - 48, 28e0, imax(u8) - 51, imax(u8) - 50, 29e0, | ||
| 14874 | imax(u8) - 53, imax(u8) - 52, 31e0, imax(u8) - 55, imax(u8) - 54, 32e0, imax(u8) - 57, imax(u8) - 56, | ||
| 14875 | 33e0, imax(u8) - 59, imax(u8) - 58, 34e0, imax(u8) - 61, imax(u8) - 60, 35e0, imax(u8) - 63, | ||
| 14876 | imax(u8) - 62, 36e0, imax(u8) - 65, imax(u8) - 64, 37e0, imax(u8) - 67, imax(u8) - 66, 38e0, | ||
| 14877 | }); | ||
| 14878 | try testArgs(@Vector(128, f64), @Vector(128, u8), .{ | ||
| 14879 | imax(u8) - 69, imax(u8) - 68, 39e0, imax(u8) - 71, imax(u8) - 70, 41e0, imax(u8) - 73, imax(u8) - 72, | ||
| 14880 | 42e0, imax(u8) - 75, imax(u8) - 74, 43e0, imax(u8) - 77, imax(u8) - 76, 44e0, imax(u8) - 79, | ||
| 14881 | imax(u8) - 78, 45e0, imax(u8) - 81, imax(u8) - 80, 46e0, imax(u8) - 83, imax(u8) - 82, 47e0, | ||
| 14882 | imax(u8) - 85, imax(u8) - 84, 48e0, imax(u8) - 87, imax(u8) - 86, 49e0, imax(u8) - 89, imax(u8) - 88, | ||
| 14883 | 51e0, imax(u8) - 91, imax(u8) - 90, 52e0, imax(u8) - 93, imax(u8) - 92, 53e0, imax(u8) - 95, | ||
| 14884 | imax(u8) - 94, 54e0, imax(u8) - 97, imax(u8) - 96, 55e0, imax(u8) - 99, imax(u8) - 98, 56e0, | ||
| 14885 | imax(u8) - 101, imax(u8) - 100, 57e0, imax(u8) - 103, imax(u8) - 102, 58e0, imax(u8) - 105, imax(u8) - 104, | ||
| 14886 | 59e0, imax(u8) - 107, imax(u8) - 106, 61e0, imax(u8) - 109, imax(u8) - 108, 62e0, imax(u8) - 111, | ||
| 14887 | imax(u8) - 110, 63e0, imax(u8) - 113, imax(u8) - 112, 64e0, imax(u8) - 115, imax(u8) - 114, 65e0, | ||
| 14888 | imax(u8) - 117, imax(u8) - 116, 66e0, imax(u8) - 119, imax(u8) - 118, 67e0, imax(u8) - 121, imax(u8) - 120, | ||
| 14889 | 68e0, imax(u8) - 123, imax(u8) - 122, 69e0, imax(u8) - 125, imax(u8) - 124, 71e0, imax(u8) - 127, | ||
| 14890 | imax(u8) - 126, 72e0, imax(u8) - 129, imax(u8) - 128, 73e0, imax(u8) - 131, imax(u8) - 130, 74e0, | ||
| 14891 | imax(u8) - 133, imax(u8) - 132, 75e0, imax(u8) - 135, imax(u8) - 134, 76e0, imax(u8) - 137, imax(u8) - 136, | ||
| 14892 | 77e0, imax(u8) - 139, imax(u8) - 138, 78e0, imax(u8) - 141, imax(u8) - 140, 79e0, imax(u8) - 143, | ||
| 14893 | imax(u8) - 142, 81e0, imax(u8) - 145, imax(u8) - 144, 82e0, imax(u8) - 147, imax(u8) - 146, 83e0, | ||
| 14894 | imax(u8) - 149, imax(u8) - 148, 84e0, imax(u8) - 151, imax(u8) - 150, 85e0, imax(u8) - 153, imax(u8) - 152, | ||
| 14895 | }); | ||
| 14896 | |||
| 14897 | try testArgs(@Vector(1, f64), @Vector(1, i16), .{ | ||
| 14898 | imin(i16), | ||
| 14899 | }); | ||
| 14900 | try testArgs(@Vector(2, f64), @Vector(2, i16), .{ | ||
| 14901 | imin(i16) + 1, -1e4, | ||
| 14902 | }); | ||
| 14903 | try testArgs(@Vector(4, f64), @Vector(4, i16), .{ | ||
| 14904 | -1e3, -1e2, -1e1, -1e0, | ||
| 14905 | }); | ||
| 14906 | try testArgs(@Vector(8, f64), @Vector(8, i16), .{ | ||
| 14907 | 0, 1e0, 1e1, 1e2, 1e3, 1e4, imax(i16) - 1, imax(i16), | ||
| 14908 | }); | ||
| 14909 | try testArgs(@Vector(16, f64), @Vector(16, i16), .{ | ||
| 14910 | imin(i16) + 2, imin(i16) + 3, -2e4, -2e3, -2e2, -2e1, -2e0, 2e0, | ||
| 14911 | 2e1, 2e2, 2e3, 2e4, imax(i16) - 3, imax(i16) - 2, imin(i16) + 4, imin(i16) + 5, | ||
| 14912 | }); | ||
| 14913 | try testArgs(@Vector(32, f64), @Vector(32, i16), .{ | ||
| 14914 | -3e4, -3e3, -3e2, -3e1, -3e0, 3e0, 3e1, 3e2, | ||
| 14915 | 3e3, 3e4, imax(i16) - 5, imax(i16) - 4, imin(i16) + 6, imin(i16) + 7, -4e3, -4e2, | ||
| 14916 | -4e1, -4e0, 4e0, 4e1, 4e2, 4e3, imax(i16) - 7, imax(i16) - 6, | ||
| 14917 | imin(i16) + 8, imin(i16) + 9, -5e3, -5e2, -5e1, -5e0, 5e0, 5e1, | ||
| 14918 | }); | ||
| 14919 | try testArgs(@Vector(64, f64), @Vector(64, i16), .{ | ||
| 14920 | 5e2, 5e3, imax(i16) - 9, imax(i16) - 8, imin(i16) + 10, imin(i16) + 11, -6e3, -6e2, | ||
| 14921 | -6e1, -6e0, 6e0, 6e1, 6e2, 6e3, imax(i16) - 11, imax(i16) - 10, | ||
| 14922 | imin(i16) + 12, imin(i16) + 13, -7e3, -7e2, -7e1, -7e0, 7e0, 7e1, | ||
| 14923 | 7e2, 7e3, imax(i16) - 13, imax(i16) - 12, imin(i16) + 14, imin(i16) + 15, -8e3, -8e2, | ||
| 14924 | -8e1, -8e0, 8e0, 8e1, 8e2, 8e3, imax(i16) - 15, imax(i16) - 14, | ||
| 14925 | imin(i16) + 16, imin(i16) + 17, -9e3, -9e2, -9e1, -9e0, 9e0, 9e1, | ||
| 14926 | 9e2, 9e3, imax(i16) - 17, imax(i16) - 16, imin(i16) + 18, imin(i16) + 19, -11e3, -11e2, | ||
| 14927 | -11e1, -11e0, 11e0, 11e1, 11e2, 11e3, imax(i16) - 19, imax(i16) - 18, | ||
| 14928 | }); | ||
| 14929 | try testArgs(@Vector(128, f64), @Vector(128, i16), .{ | ||
| 14930 | imin(i16) + 20, imin(i16) + 21, -12e3, -12e2, -12e1, -12e0, 12e0, 12e1, | ||
| 14931 | 12e2, 12e3, imax(i16) - 21, imax(i16) - 20, imin(i16) + 22, imin(i16) + 23, -13e3, -13e2, | ||
| 14932 | -13e1, -13e0, 13e0, 13e1, 13e2, 13e3, imax(i16) - 23, imax(i16) - 22, | ||
| 14933 | imin(i16) + 24, imin(i16) + 25, -14e3, -14e2, -14e1, -14e0, 14e0, 14e1, | ||
| 14934 | 14e2, 14e3, imax(i16) - 25, imax(i16) - 24, imin(i16) + 26, imin(i16) + 27, -15e3, -15e2, | ||
| 14935 | -15e1, -15e0, 15e0, 15e1, 15e2, 15e3, imax(i16) - 27, imax(i16) - 26, | ||
| 14936 | imin(i16) + 28, imin(i16) + 29, -16e3, -16e2, -16e1, -16e0, 16e0, 16e1, | ||
| 14937 | 16e2, 16e3, imax(i16) - 29, imax(i16) - 28, imin(i16) + 30, imin(i16) + 31, -17e3, -17e2, | ||
| 14938 | -17e1, -17e0, 17e0, 17e1, 17e2, 17e3, imax(i16) - 31, imax(i16) - 30, | ||
| 14939 | imin(i16) + 32, imin(i16) + 33, -18e3, -18e2, -18e1, -18e0, 18e0, 18e1, | ||
| 14940 | 18e2, 18e3, imax(i16) - 33, imax(i16) - 32, imin(i16) + 34, imin(i16) + 35, -19e3, -19e2, | ||
| 14941 | -19e1, -19e0, 19e0, 19e1, 19e2, 19e3, imax(i16) - 35, imax(i16) - 34, | ||
| 14942 | imin(i16) + 36, imin(i16) + 37, -12e3, -21e2, -21e1, -21e0, 21e0, 21e1, | ||
| 14943 | 21e2, 21e3, imax(i16) - 37, imax(i16) - 36, imin(i16) + 38, imin(i16) + 39, -22e3, -22e2, | ||
| 14944 | -22e1, -22e0, 22e0, 22e1, 22e2, 22e3, imax(i16) - 39, imax(i16) - 38, | ||
| 14945 | imin(i16) + 40, imin(i16) + 41, -23e3, -23e2, -23e1, -23e0, 23e0, 23e1, | ||
| 14946 | }); | ||
| 14947 | |||
| 14948 | try testArgs(@Vector(1, f64), @Vector(1, u16), .{ | ||
| 14949 | 0, | ||
| 14950 | }); | ||
| 14951 | try testArgs(@Vector(2, f64), @Vector(2, u16), .{ | ||
| 14952 | 1e0, 1e1, | ||
| 14953 | }); | ||
| 14954 | try testArgs(@Vector(4, f64), @Vector(4, u16), .{ | ||
| 14955 | 1e2, 1e3, 1e4, imax(u16) - 1, | ||
| 14956 | }); | ||
| 14957 | try testArgs(@Vector(8, f64), @Vector(8, u16), .{ | ||
| 14958 | imax(u16), 2e0, 2e1, 2e2, 2e3, 2e4, imax(u16) - 3, imax(u16) - 2, | ||
| 14959 | }); | ||
| 14960 | try testArgs(@Vector(16, f64), @Vector(16, u16), .{ | ||
| 14961 | 3e0, 3e1, 3e2, 3e3, 3e4, imax(u16) - 5, imax(u16) - 4, 4e0, | ||
| 14962 | 4e1, 4e2, 4e3, 4e4, imax(u16) - 7, imax(u16) - 6, 5e0, 5e1, | ||
| 14963 | }); | ||
| 14964 | try testArgs(@Vector(32, f64), @Vector(32, u16), .{ | ||
| 14965 | 5e2, 5e3, 5e4, imax(u16) - 9, imax(u16) - 8, 6e0, 6e1, 6e2, | ||
| 14966 | 6e3, 6e4, imax(u16) - 11, imax(u16) - 10, 7e0, 7e1, 7e2, 7e3, | ||
| 14967 | imax(u16) - 13, imax(u16) - 12, 8e0, 8e1, 8e2, 8e3, imax(u16) - 15, imax(u16) - 14, | ||
| 14968 | 9e0, 9e1, 9e2, 9e3, imax(u16) - 17, imax(u16) - 16, 11e0, 11e1, | ||
| 14969 | }); | ||
| 14970 | try testArgs(@Vector(64, f64), @Vector(64, u16), .{ | ||
| 14971 | 11e2, 11e3, imax(u16) - 19, imax(u16) - 18, 12e0, 12e1, 12e2, 12e3, | ||
| 14972 | imax(u16) - 21, imax(u16) - 20, 13e0, 13e1, 13e2, 13e3, imax(u16) - 23, imax(u16) - 22, | ||
| 14973 | 14e0, 14e1, 14e2, 14e3, imax(u16) - 25, imax(u16) - 24, 15e0, 15e1, | ||
| 14974 | 15e2, 15e3, imax(u16) - 27, imax(u16) - 26, 16e0, 16e1, 16e2, 16e3, | ||
| 14975 | imax(u16) - 29, imax(u16) - 28, 17e0, 17e1, 17e2, 17e3, imax(u16) - 31, imax(u16) - 30, | ||
| 14976 | 18e0, 18e1, 18e2, 18e3, imax(u16) - 33, imax(u16) - 32, 19e0, 19e1, | ||
| 14977 | 19e2, 19e3, imax(u16) - 35, imax(u16) - 34, 21e0, 21e1, 21e2, 21e3, | ||
| 14978 | imax(u16) - 37, imax(u16) - 36, 22e0, 22e1, 22e2, 22e3, imax(u16) - 39, imax(u16) - 38, | ||
| 14979 | }); | ||
| 14980 | try testArgs(@Vector(128, f64), @Vector(128, u16), .{ | ||
| 14981 | 23e0, 23e1, 23e2, 23e3, imax(u16) - 41, imax(u16) - 40, 24e0, 24e1, | ||
| 14982 | 24e2, 24e3, imax(u16) - 43, imax(u16) - 42, 25e0, 25e1, 25e2, 25e3, | ||
| 14983 | imax(u16) - 45, imax(u16) - 44, 26e0, 26e1, 26e2, 26e3, imax(u16) - 47, imax(u16) - 46, | ||
| 14984 | 27e0, 27e1, 27e2, 27e3, imax(u16) - 49, imax(u16) - 48, 28e0, 28e1, | ||
| 14985 | 28e2, 28e3, imax(u16) - 51, imax(u16) - 50, 29e0, 29e1, 29e2, 29e3, | ||
| 14986 | imax(u16) - 53, imax(u16) - 52, 31e0, 31e1, 31e2, 31e3, imax(u16) - 55, imax(u16) - 54, | ||
| 14987 | 32e0, 32e1, 32e2, 32e3, imax(u16) - 57, imax(u16) - 56, 33e0, 33e1, | ||
| 14988 | 33e2, 33e3, imax(u16) - 59, imax(u16) - 58, 34e0, 34e1, 34e2, 34e3, | ||
| 14989 | imax(u16) - 61, imax(u16) - 60, 35e0, 35e1, 35e2, 35e3, imax(u16) - 63, imax(u16) - 62, | ||
| 14990 | 36e0, 36e1, 36e2, 36e3, imax(u16) - 65, imax(u16) - 64, 37e0, 37e1, | ||
| 14991 | 37e2, 37e3, imax(u16) - 67, imax(u16) - 66, 38e0, 38e1, 38e2, 38e3, | ||
| 14992 | imax(u16) - 69, imax(u16) - 68, 39e0, 39e1, 39e2, 39e3, imax(u16) - 71, imax(u16) - 70, | ||
| 14993 | 41e0, 41e1, 41e2, 41e3, imax(u16) - 73, imax(u16) - 72, 42e0, 42e1, | ||
| 14994 | 42e2, 42e3, imax(u16) - 75, imax(u16) - 74, 43e0, 43e1, 43e2, 43e3, | ||
| 14995 | imax(u16) - 77, imax(u16) - 76, 44e0, 44e1, 44e2, 44e3, imax(u16) - 79, imax(u16) - 78, | ||
| 14996 | 45e0, 45e1, 45e2, 45e3, imax(u16) - 81, imax(u16) - 80, 46e0, 46e1, | ||
| 14997 | }); | ||
| 14998 | |||
| 14999 | try testArgs(@Vector(1, f64), @Vector(1, i32), .{ | ||
| 15000 | imin(i32), | ||
| 15001 | }); | ||
| 15002 | try testArgs(@Vector(2, f64), @Vector(2, i32), .{ | ||
| 15003 | imin(i32) + 1, -1e9, | ||
| 15004 | }); | ||
| 15005 | try testArgs(@Vector(4, f64), @Vector(4, i32), .{ | ||
| 15006 | -1e8, -1e7, -1e6, -1e5, | ||
| 15007 | }); | ||
| 15008 | try testArgs(@Vector(8, f64), @Vector(8, i32), .{ | ||
| 15009 | -1e4, -1e3, -1e2, -1e1, -1e0, 0, 1e0, 1e1, | ||
| 15010 | }); | ||
| 15011 | try testArgs(@Vector(16, f64), @Vector(16, i32), .{ | ||
| 15012 | 1e2, 1e3, 1e4, 1e5, 1e6, 1e7, 1e8, 1e9, | ||
| 15013 | imax(i32) - 1, imax(i32), imin(i32) + 2, imin(i32) + 3, -2e9, -2e8, -2e7, -2e6, | ||
| 15014 | }); | ||
| 15015 | try testArgs(@Vector(32, f64), @Vector(32, i32), .{ | ||
| 15016 | -2e5, -2e4, -2e3, -2e2, -2e1, -2e0, 2e0, 2e1, | ||
| 15017 | 2e2, 2e3, 2e4, 2e5, 2e6, 2e7, 2e8, 2e9, | ||
| 15018 | imax(i32) - 3, imax(i32) - 2, imin(i32) + 4, imin(i32) + 5, -3e8, -3e7, -3e6, -3e5, | ||
| 15019 | -3e4, -3e3, -3e2, -3e1, -3e0, 3e0, 3e1, 3e2, | ||
| 15020 | }); | ||
| 15021 | try testArgs(@Vector(64, f64), @Vector(64, i32), .{ | ||
| 15022 | 3e3, 3e4, 3e5, 3e6, 3e7, 3e8, imax(i32) - 5, imax(i32) - 4, | ||
| 15023 | imin(i32) + 6, imin(i32) + 7, -4e8, -4e7, -4e6, -4e5, -4e4, -4e3, | ||
| 15024 | -4e2, -4e1, -4e0, 4e0, 4e1, 4e2, 4e3, 4e4, | ||
| 15025 | 4e5, 4e6, 4e7, 4e8, imax(i32) - 7, imax(i32) - 6, imin(i32) + 8, imin(i32) + 9, | ||
| 15026 | -5e8, -5e7, -5e6, -5e5, -5e4, -5e3, -5e2, -5e1, | ||
| 15027 | -5e0, 5e0, 5e1, 5e2, 5e3, 5e4, 5e5, 5e6, | ||
| 15028 | 5e7, 5e8, imax(i32) - 9, imax(i32) - 8, imin(i32) + 10, imin(i32) + 11, -6e8, -6e7, | ||
| 15029 | -6e6, -6e5, -6e4, -6e3, -6e2, -6e1, -6e0, 6e0, | ||
| 15030 | }); | ||
| 15031 | try testArgs(@Vector(128, f64), @Vector(128, i32), .{ | ||
| 15032 | 6e1, 6e2, 6e3, 6e4, 6e5, 6e6, 6e7, 6e8, | ||
| 15033 | imax(i32) - 11, imax(i32) - 10, imin(i32) + 12, imin(i32) + 13, -7e8, -7e7, -7e6, -7e5, | ||
| 15034 | -7e4, -7e3, -7e2, -7e1, -7e0, 7e0, 7e1, 7e2, | ||
| 15035 | 7e3, 7e4, 7e5, 7e6, 7e7, 7e8, imax(i32) - 13, imax(i32) - 12, | ||
| 15036 | imin(i32) + 14, imin(i32) + 15, -8e8, -8e7, -8e6, -8e5, -8e4, -8e3, | ||
| 15037 | -8e2, -8e1, -8e0, 8e0, 8e1, 8e2, 8e3, 8e4, | ||
| 15038 | 8e5, 8e6, 8e7, 8e8, imax(i32) - 15, imax(i32) - 14, imin(i32) + 16, imin(i32) + 17, | ||
| 15039 | -9e8, -9e7, -9e6, -9e5, -9e4, -9e3, -9e2, -9e1, | ||
| 15040 | -9e0, 9e0, 9e1, 9e2, 9e3, 9e4, 9e5, 9e6, | ||
| 15041 | 9e7, 9e8, imax(i32) - 17, imax(i32) - 16, imin(i32) + 18, imin(i32) + 19, -11e8, -11e7, | ||
| 15042 | -11e6, -11e5, -11e4, -11e3, -11e2, -11e1, -11e0, 11e0, | ||
| 15043 | 11e1, 11e2, 11e3, 11e4, 11e5, 11e6, 11e7, 11e8, | ||
| 15044 | imax(i32) - 19, imax(i32) - 18, imin(i32) + 20, imin(i32) + 21, -12e8, -12e7, -12e6, -12e5, | ||
| 15045 | -12e4, -12e3, -12e2, -12e1, -12e0, 12e0, 12e1, 12e2, | ||
| 15046 | 12e3, 12e4, 12e5, 12e6, 12e7, 12e8, imax(i32) - 21, imax(i32) - 20, | ||
| 15047 | imin(i32) + 22, imin(i32) + 23, -13e8, -13e7, -13e6, -13e5, -13e4, -13e3, | ||
| 15048 | }); | ||
| 15049 | |||
| 15050 | try testArgs(@Vector(1, f64), @Vector(1, u32), .{ | ||
| 15051 | 0, | ||
| 15052 | }); | ||
| 15053 | try testArgs(@Vector(2, f64), @Vector(2, u32), .{ | ||
| 15054 | 1e0, 1e1, | ||
| 15055 | }); | ||
| 15056 | try testArgs(@Vector(4, f64), @Vector(4, u32), .{ | ||
| 15057 | 1e2, 1e3, 1e4, imax(u32) - 1, | ||
| 15058 | }); | ||
| 15059 | try testArgs(@Vector(8, f64), @Vector(8, u32), .{ | ||
| 15060 | imax(u32), 2e0, 2e1, 2e2, 2e3, 2e4, imax(u32) - 3, imax(u32) - 2, | ||
| 15061 | }); | ||
| 15062 | try testArgs(@Vector(16, f64), @Vector(16, u32), .{ | ||
| 15063 | 3e0, 3e1, 3e2, 3e3, 3e4, imax(u32) - 5, imax(u32) - 4, 4e0, | ||
| 15064 | 4e1, 4e2, 4e3, 4e4, imax(u32) - 7, imax(u32) - 6, 5e0, 5e1, | ||
| 15065 | }); | ||
| 15066 | try testArgs(@Vector(32, f64), @Vector(32, u32), .{ | ||
| 15067 | 5e2, 5e3, 5e4, imax(u32) - 9, imax(u32) - 8, 6e0, 6e1, 6e2, | ||
| 15068 | 6e3, 6e4, imax(u32) - 11, imax(u32) - 10, 7e0, 7e1, 7e2, 7e3, | ||
| 15069 | imax(u32) - 13, imax(u32) - 12, 8e0, 8e1, 8e2, 8e3, imax(u32) - 15, imax(u32) - 14, | ||
| 15070 | 9e0, 9e1, 9e2, 9e3, imax(u32) - 17, imax(u32) - 16, 11e0, 11e1, | ||
| 15071 | }); | ||
| 15072 | try testArgs(@Vector(64, f64), @Vector(64, u32), .{ | ||
| 15073 | 11e2, 11e3, imax(u32) - 19, imax(u32) - 18, 12e0, 12e1, 12e2, 12e3, | ||
| 15074 | imax(u32) - 21, imax(u32) - 20, 13e0, 13e1, 13e2, 13e3, imax(u32) - 23, imax(u32) - 22, | ||
| 15075 | 14e0, 14e1, 14e2, 14e3, imax(u32) - 25, imax(u32) - 24, 15e0, 15e1, | ||
| 15076 | 15e2, 15e3, imax(u32) - 27, imax(u32) - 26, 16e0, 16e1, 16e2, 16e3, | ||
| 15077 | imax(u32) - 29, imax(u32) - 28, 17e0, 17e1, 17e2, 17e3, imax(u32) - 31, imax(u32) - 30, | ||
| 15078 | 18e0, 18e1, 18e2, 18e3, imax(u32) - 33, imax(u32) - 32, 19e0, 19e1, | ||
| 15079 | 19e2, 19e3, imax(u32) - 35, imax(u32) - 34, 21e0, 21e1, 21e2, 21e3, | ||
| 15080 | imax(u32) - 37, imax(u32) - 36, 22e0, 22e1, 22e2, 22e3, imax(u32) - 39, imax(u32) - 38, | ||
| 15081 | }); | ||
| 15082 | try testArgs(@Vector(128, f64), @Vector(128, u32), .{ | ||
| 15083 | 23e0, 23e1, 23e2, 23e3, imax(u32) - 41, imax(u32) - 40, 24e0, 24e1, | ||
| 15084 | 24e2, 24e3, imax(u32) - 43, imax(u32) - 42, 25e0, 25e1, 25e2, 25e3, | ||
| 15085 | imax(u32) - 45, imax(u32) - 44, 26e0, 26e1, 26e2, 26e3, imax(u32) - 47, imax(u32) - 46, | ||
| 15086 | 27e0, 27e1, 27e2, 27e3, imax(u32) - 49, imax(u32) - 48, 28e0, 28e1, | ||
| 15087 | 28e2, 28e3, imax(u32) - 51, imax(u32) - 50, 29e0, 29e1, 29e2, 29e3, | ||
| 15088 | imax(u32) - 53, imax(u32) - 52, 31e0, 31e1, 31e2, 31e3, imax(u32) - 55, imax(u32) - 54, | ||
| 15089 | 32e0, 32e1, 32e2, 32e3, imax(u32) - 57, imax(u32) - 56, 33e0, 33e1, | ||
| 15090 | 33e2, 33e3, imax(u32) - 59, imax(u32) - 58, 34e0, 34e1, 34e2, 34e3, | ||
| 15091 | imax(u32) - 61, imax(u32) - 60, 35e0, 35e1, 35e2, 35e3, imax(u32) - 63, imax(u32) - 62, | ||
| 15092 | 36e0, 36e1, 36e2, 36e3, imax(u32) - 65, imax(u32) - 64, 37e0, 37e1, | ||
| 15093 | 37e2, 37e3, imax(u32) - 67, imax(u32) - 66, 38e0, 38e1, 38e2, 38e3, | ||
| 15094 | imax(u32) - 69, imax(u32) - 68, 39e0, 39e1, 39e2, 39e3, imax(u32) - 71, imax(u32) - 70, | ||
| 15095 | 41e0, 41e1, 41e2, 41e3, imax(u32) - 73, imax(u32) - 72, 42e0, 42e1, | ||
| 15096 | 42e2, 42e3, imax(u32) - 75, imax(u32) - 74, 43e0, 43e1, 43e2, 43e3, | ||
| 15097 | imax(u32) - 77, imax(u32) - 76, 44e0, 44e1, 44e2, 44e3, imax(u32) - 79, imax(u32) - 78, | ||
| 15098 | 45e0, 45e1, 45e2, 45e3, imax(u32) - 81, imax(u32) - 80, 46e0, 46e1, | ||
| 15099 | }); | ||
| 15100 | |||
| 15101 | try testArgs(@Vector(1, f64), @Vector(1, i64), .{ | ||
| 15102 | imin(i64), | ||
| 15103 | }); | ||
| 15104 | try testArgs(@Vector(2, f64), @Vector(2, i64), .{ | ||
| 15105 | imin(i64) + 1, -1e18, | ||
| 15106 | }); | ||
| 15107 | try testArgs(@Vector(4, f64), @Vector(4, i64), .{ | ||
| 15108 | -1e17, -1e16, -1e15, -1e14, | ||
| 15109 | }); | ||
| 15110 | try testArgs(@Vector(8, f64), @Vector(8, i64), .{ | ||
| 15111 | -1e13, -1e12, -1e11, -1e10, -1e9, -1e8, -1e7, -1e6, | ||
| 15112 | }); | ||
| 15113 | try testArgs(@Vector(16, f64), @Vector(16, i64), .{ | ||
| 15114 | -1e5, -1e4, -1e3, -1e2, -1e1, -1e0, 0, 1e0, | ||
| 15115 | 1e1, 1e2, 1e3, 1e4, 1e5, 1e6, 1e7, 1e8, | ||
| 15116 | }); | ||
| 15117 | try testArgs(@Vector(32, f64), @Vector(32, i64), .{ | ||
| 15118 | 1e9, 1e10, 1e11, 1e12, 1e13, 1e14, 1e15, 1e16, | ||
| 15119 | 1e17, 1e18, imax(i64) - 1, imax(i64), imin(i64) + 2, imin(i64) + 3, -2e18, -2e17, | ||
| 15120 | -2e16, -2e15, -2e14, -2e13, -2e12, -2e11, -2e10, -2e9, | ||
| 15121 | -2e8, -2e7, -2e6, -2e5, -2e4, -2e3, -2e2, -2e1, | ||
| 15122 | }); | ||
| 15123 | try testArgs(@Vector(64, f64), @Vector(64, i64), .{ | ||
| 15124 | -2e0, 2e0, 2e1, 2e2, 2e3, 2e4, 2e5, 2e6, | ||
| 15125 | 2e7, 2e8, 2e9, 2e10, 2e11, 2e12, 2e13, 2e14, | ||
| 15126 | 2e15, 2e16, 2e17, 2e18, imax(i64) - 3, imax(i64) - 2, imin(i64) + 4, imin(i64) + 5, | ||
| 15127 | -3e18, -3e17, -3e16, -3e15, -3e14, -3e13, -3e12, -3e11, | ||
| 15128 | -3e10, -3e9, -3e8, -3e7, -3e6, -3e5, -3e4, -3e3, | ||
| 15129 | -3e2, -3e1, -3e0, 3e0, 3e1, 3e2, 3e3, 3e4, | ||
| 15130 | 3e5, 3e6, 3e7, 3e8, 3e9, 3e10, 3e11, 3e12, | ||
| 15131 | 3e13, 3e14, 3e15, 3e16, 3e17, 3e18, imax(i64) - 5, imax(i64) - 4, | ||
| 15132 | }); | ||
| 15133 | try testArgs(@Vector(128, f64), @Vector(128, i64), .{ | ||
| 15134 | imin(i64) + 6, imin(i64) + 7, -4e18, -4e17, -4e16, -4e15, -4e14, -4e13, | ||
| 15135 | -4e12, -4e11, -4e10, -4e9, -4e8, -4e7, -4e6, -4e5, | ||
| 15136 | -4e4, -4e3, -4e2, -4e1, -4e0, 4e0, 4e1, 4e2, | ||
| 15137 | 4e3, 4e4, 4e5, 4e6, 4e7, 4e8, 4e9, 4e10, | ||
| 15138 | 4e11, 4e12, 4e13, 4e14, 4e15, 4e16, 4e17, 4e18, | ||
| 15139 | imax(i64) - 7, imax(i64) - 6, imin(i64) + 8, imin(i64) + 9, -5e18, -5e17, -5e16, -5e15, | ||
| 15140 | -5e14, -5e13, -5e12, -5e11, -5e10, -5e9, -5e8, -5e7, | ||
| 15141 | -5e6, -5e5, -5e4, -5e3, -5e2, -5e1, -5e0, 5e0, | ||
| 15142 | 5e1, 5e2, 5e3, 5e4, 5e5, 5e6, 5e7, 5e8, | ||
| 15143 | 5e9, 5e10, 5e11, 5e12, 5e13, 5e14, 5e15, 5e16, | ||
| 15144 | 5e17, 5e18, imax(i64) - 9, imax(i64) - 8, imin(i64) + 10, imin(i64) + 11, -6e18, -6e17, | ||
| 15145 | -6e16, -6e15, -6e14, -6e13, -6e12, -6e11, -6e10, -6e9, | ||
| 15146 | -6e8, -6e7, -6e6, -6e5, -6e4, -6e3, -6e2, -6e1, | ||
| 15147 | -6e0, 6e0, 6e1, 6e2, 6e3, 6e4, 6e5, 6e6, | ||
| 15148 | 6e7, 6e8, 6e9, 6e10, 6e11, 6e12, 6e13, 6e14, | ||
| 15149 | 6e15, 6e16, 6e17, 6e18, imax(i64) - 11, imax(i64) - 10, imin(i64) + 12, imin(i64) + 13, | ||
| 15150 | }); | ||
| 15151 | |||
| 15152 | try testArgs(@Vector(1, f64), @Vector(1, u64), .{ | ||
| 15153 | 0, | ||
| 15154 | }); | ||
| 15155 | try testArgs(@Vector(2, f64), @Vector(2, u64), .{ | ||
| 15156 | 1e0, 1e1, | ||
| 15157 | }); | ||
| 15158 | try testArgs(@Vector(4, f64), @Vector(4, u64), .{ | ||
| 15159 | 1e2, 1e3, 1e4, 1e5, | ||
| 15160 | }); | ||
| 15161 | try testArgs(@Vector(8, f64), @Vector(8, u64), .{ | ||
| 15162 | 1e6, 1e7, 1e8, 1e9, 1e10, 1e11, 1e12, 1e13, | ||
| 15163 | }); | ||
| 15164 | try testArgs(@Vector(16, f64), @Vector(16, u64), .{ | ||
| 15165 | 1e14, 1e15, 1e16, 1e17, 1e18, 1e19, imax(u64) - 1, imax(u64), | ||
| 15166 | 2e0, 2e1, 2e2, 2e3, 2e4, 2e5, 2e6, 2e7, | ||
| 15167 | }); | ||
| 15168 | try testArgs(@Vector(32, f64), @Vector(32, u64), .{ | ||
| 15169 | 2e8, 2e9, 2e10, 2e11, 2e12, 2e13, 2e14, 2e15, | ||
| 15170 | 2e16, 2e17, 2e18, imax(u64) - 3, imax(u64) - 2, 3e0, 3e1, 3e2, | ||
| 15171 | 3e3, 3e4, 3e5, 3e6, 3e7, 3e8, 3e9, 3e10, | ||
| 15172 | 3e11, 3e12, 3e13, 3e14, 3e15, 3e16, 3e17, 3e18, | ||
| 15173 | }); | ||
| 15174 | try testArgs(@Vector(64, f64), @Vector(64, u64), .{ | ||
| 15175 | imax(u64) - 5, imax(u64) - 4, 4e0, 4e1, 4e2, 4e3, 4e4, 4e5, | ||
| 15176 | 4e6, 4e7, 4e8, 4e9, 4e10, 4e11, 4e12, 4e13, | ||
| 15177 | 4e14, 4e15, 4e16, 4e17, 4e18, imax(u64) - 7, imax(u64) - 6, 5e0, | ||
| 15178 | 5e1, 5e2, 5e3, 5e4, 5e5, 5e6, 5e7, 5e8, | ||
| 15179 | 5e9, 5e10, 5e11, 5e12, 5e13, 5e14, 5e15, 5e16, | ||
| 15180 | 5e17, 5e18, imax(u64) - 9, imax(u64) - 8, 6e0, 6e1, 6e2, 6e3, | ||
| 15181 | 6e4, 6e5, 6e6, 6e7, 6e8, 6e9, 6e10, 6e11, | ||
| 15182 | 6e12, 6e13, 6e14, 6e15, 6e16, 6e17, 6e18, imax(u64) - 11, | ||
| 15183 | }); | ||
| 15184 | try testArgs(@Vector(128, f64), @Vector(128, u64), .{ | ||
| 15185 | imax(u64) - 10, 7e0, 7e1, 7e2, 7e3, 7e4, 7e5, 7e6, | ||
| 15186 | 7e7, 7e8, 7e9, 7e10, 7e11, 7e12, 7e13, 7e14, | ||
| 15187 | 7e15, 7e16, 7e17, 7e18, imax(u64) - 13, imax(u64) - 12, 8e0, 8e1, | ||
| 15188 | 8e2, 8e3, 8e4, 8e5, 8e6, 8e7, 8e8, 8e9, | ||
| 15189 | 8e10, 8e11, 8e12, 8e13, 8e14, 8e15, 8e16, 8e17, | ||
| 15190 | 8e18, imax(u64) - 15, imax(u64) - 14, 9e0, 9e1, 9e2, 9e3, 9e4, | ||
| 15191 | 9e5, 9e6, 9e7, 9e8, 9e9, 9e10, 9e11, 9e12, | ||
| 15192 | 9e13, 9e14, 9e15, 9e16, 9e17, 9e18, imax(u64) - 17, imax(u64) - 16, | ||
| 15193 | 11e0, 11e1, 11e2, 11e3, 11e4, 11e5, 11e6, 11e7, | ||
| 15194 | 11e8, 11e9, 11e10, 11e11, 11e12, 11e13, 11e14, 11e15, | ||
| 15195 | 11e16, 11e17, 11e18, imax(u64) - 19, imax(u64) - 18, 12e0, 12e1, 12e2, | ||
| 15196 | 12e3, 12e4, 12e5, 12e6, 12e7, 12e8, 12e9, 12e10, | ||
| 15197 | 12e11, 12e12, 12e13, 12e14, 12e15, 12e16, 12e17, 12e18, | ||
| 15198 | imax(u64) - 21, imax(u64) - 20, 13e0, 13e1, 13e2, 13e3, 13e4, 13e5, | ||
| 15199 | 13e6, 13e7, 13e8, 13e9, 13e10, 13e11, 13e12, 13e13, | ||
| 15200 | 13e14, 13e15, 13e16, 13e17, 13e18, imax(u64) - 23, imax(u64) - 22, 14e0, | ||
| 15201 | }); | ||
| 15202 | |||
| 15203 | try testArgs(@Vector(1, f64), @Vector(1, i128), .{ | ||
| 15204 | imin(i128), | ||
| 15205 | }); | ||
| 15206 | try testArgs(@Vector(2, f64), @Vector(2, i128), .{ | ||
| 15207 | imin(i128) + 1, -1e38, | ||
| 15208 | }); | ||
| 15209 | try testArgs(@Vector(4, f64), @Vector(4, i128), .{ | ||
| 15210 | -1e37, -1e36, -1e35, -1e34, | ||
| 15211 | }); | ||
| 15212 | try testArgs(@Vector(8, f64), @Vector(8, i128), .{ | ||
| 15213 | -1e33, -1e32, -1e31, -1e30, -1e29, -1e28, -1e27, -1e26, | ||
| 15214 | }); | ||
| 15215 | try testArgs(@Vector(16, f64), @Vector(16, i128), .{ | ||
| 15216 | -1e25, -1e24, -1e23, -1e22, -1e21, -1e20, -1e19, -1e18, | ||
| 15217 | -1e17, -1e16, -1e15, -1e14, -1e13, -1e12, -1e11, -1e10, | ||
| 15218 | }); | ||
| 15219 | try testArgs(@Vector(32, f64), @Vector(32, i128), .{ | ||
| 15220 | -1e9, -1e8, -1e7, -1e6, -1e5, -1e4, -1e3, -1e2, | ||
| 15221 | -1e1, -1e0, 0, 1e0, 1e1, 1e2, 1e3, 1e4, | ||
| 15222 | 1e5, 1e6, 1e7, 1e8, 1e9, 1e10, 1e11, 1e12, | ||
| 15223 | 1e13, 1e14, 1e15, 1e16, 1e17, 1e18, 1e19, 1e20, | ||
| 15224 | }); | ||
| 15225 | try testArgs(@Vector(64, f64), @Vector(64, i128), .{ | ||
| 15226 | 1e21, 1e22, 1e23, 1e24, 1e25, 1e26, 1e27, 1e28, | ||
| 15227 | 1e29, 1e30, 1e31, 1e32, 1e33, 1e34, 1e35, 1e36, | ||
| 15228 | 1e37, 1e38, imax(i128) - 1, imax(i128), imin(i128) + 2, imin(i128) + 3, -2e37, -2e36, | ||
| 15229 | -2e35, -2e34, -2e33, -2e32, -2e31, -2e30, -2e29, -2e28, | ||
| 15230 | -2e27, -2e26, -2e25, -2e24, -2e23, -2e22, -2e21, -2e20, | ||
| 15231 | -2e19, -2e18, -2e17, -2e16, -2e15, -2e14, -2e13, -2e12, | ||
| 15232 | -2e11, -2e10, -2e9, -2e8, -2e7, -2e6, -2e5, -2e4, | ||
| 15233 | -2e3, -2e2, -2e1, -2e0, 2e0, 2e1, 2e2, 2e3, | ||
| 15234 | }); | ||
| 15235 | try testArgs(@Vector(128, f64), @Vector(128, i128), .{ | ||
| 15236 | 2e4, 2e5, 2e6, 2e7, 2e8, 2e9, 2e10, 2e11, | ||
| 15237 | 2e12, 2e13, 2e14, 2e15, 2e16, 2e17, 2e18, 2e19, | ||
| 15238 | 2e20, 2e21, 2e22, 2e23, 2e24, 2e25, 2e26, 2e27, | ||
| 15239 | 2e28, 2e29, 2e30, 2e31, 2e32, 2e33, 2e34, 2e35, | ||
| 15240 | 2e36, 2e37, imax(i128) - 3, imax(i128) - 2, imin(i128) + 4, imin(i128) + 5, -3e37, -3e36, | ||
| 15241 | -3e35, -3e34, -3e33, -3e32, -3e31, -3e30, -3e29, -3e28, | ||
| 15242 | -3e27, -3e26, -3e25, -3e24, -3e23, -3e22, -3e21, -3e20, | ||
| 15243 | -3e19, -3e18, -3e17, -3e16, -3e15, -3e14, -3e13, -3e12, | ||
| 15244 | -3e11, -3e10, -3e9, -3e8, -3e7, -3e6, -3e5, -3e4, | ||
| 15245 | -3e3, -3e2, -3e1, -3e0, 3e0, 3e1, 3e2, 3e3, | ||
| 15246 | 3e4, 3e5, 3e6, 3e7, 3e8, 3e9, 3e10, 3e11, | ||
| 15247 | 3e12, 3e13, 3e14, 3e15, 3e16, 3e17, 3e18, 3e19, | ||
| 15248 | 3e20, 3e21, 3e22, 3e23, 3e24, 3e25, 3e26, 3e27, | ||
| 15249 | 3e28, 3e29, 3e30, 3e31, 3e32, 3e33, 3e34, 3e35, | ||
| 15250 | 3e36, 3e37, imax(i128) - 5, imax(i128) - 4, imin(i128) + 6, imin(i128) + 7, -4e37, -4e36, | ||
| 15251 | -4e35, -4e34, -4e33, -4e32, -4e31, -4e30, -4e29, -4e28, | ||
| 15252 | }); | ||
| 15253 | |||
| 15254 | try testArgs(@Vector(1, f64), @Vector(1, u128), .{ | ||
| 15255 | 0, | ||
| 15256 | }); | ||
| 15257 | try testArgs(@Vector(2, f64), @Vector(2, u128), .{ | ||
| 15258 | 1e0, 1e1, | ||
| 15259 | }); | ||
| 15260 | try testArgs(@Vector(4, f64), @Vector(4, u128), .{ | ||
| 15261 | 1e2, 1e3, 1e4, 1e5, | ||
| 15262 | }); | ||
| 15263 | try testArgs(@Vector(8, f64), @Vector(8, u128), .{ | ||
| 15264 | 1e6, 1e7, 1e8, 1e9, 1e10, 1e11, 1e12, 1e13, | ||
| 15265 | }); | ||
| 15266 | try testArgs(@Vector(16, f64), @Vector(16, u128), .{ | ||
| 15267 | 1e14, 1e15, 1e16, 1e17, 1e18, 1e19, 1e20, 1e21, | ||
| 15268 | 1e22, 1e23, 1e24, 1e25, 1e26, 1e27, 1e28, 1e29, | ||
| 15269 | }); | ||
| 15270 | try testArgs(@Vector(32, f64), @Vector(32, u128), .{ | ||
| 15271 | 1e30, 1e31, 1e32, 1e33, 1e34, 1e35, 1e36, 1e37, | ||
| 15272 | 1e38, imax(u128) - 1, imax(u128), 2e0, 2e1, 2e2, 2e3, 2e4, | ||
| 15273 | 2e5, 2e6, 2e7, 2e8, 2e9, 2e10, 2e11, 2e12, | ||
| 15274 | 2e13, 2e14, 2e15, 2e16, 2e17, 2e18, 2e19, 2e20, | ||
| 15275 | }); | ||
| 15276 | try testArgs(@Vector(64, f64), @Vector(64, u128), .{ | ||
| 15277 | 2e21, 2e22, 2e23, 2e24, 2e25, 2e26, 2e27, 2e28, | ||
| 15278 | 2e29, 2e30, 2e31, 2e32, 2e33, 2e34, 2e35, 2e36, | ||
| 15279 | 2e37, 2e38, imax(u128) - 3, imax(u128) - 2, 3e0, 3e1, 3e2, 3e3, | ||
| 15280 | 3e4, 3e5, 3e6, 3e7, 3e8, 3e9, 3e10, 3e11, | ||
| 15281 | 3e12, 3e13, 3e14, 3e15, 3e16, 3e17, 3e18, 3e19, | ||
| 15282 | 3e20, 3e21, 3e22, 3e23, 3e24, 3e25, 3e26, 3e27, | ||
| 15283 | 3e28, 3e29, 3e30, 3e31, 3e32, 3e33, 3e34, 3e35, | ||
| 15284 | 3e36, 3e37, 3e38, imax(u128) - 5, imax(u128) - 4, 4e0, 4e1, 4e2, | ||
| 15285 | }); | ||
| 15286 | try testArgs(@Vector(128, f64), @Vector(128, u128), .{ | ||
| 15287 | 4e3, 4e4, 4e5, 4e6, 4e7, 4e8, 4e9, 4e10, | ||
| 15288 | 4e11, 4e12, 4e13, 4e14, 4e15, 4e16, 4e17, 4e18, | ||
| 15289 | 4e19, 4e20, 4e21, 4e22, 4e23, 4e24, 4e25, 4e26, | ||
| 15290 | 4e27, 4e28, 4e29, 4e30, 4e31, 4e32, 4e33, 4e34, | ||
| 15291 | 4e35, 4e36, 4e37, imax(u128) - 7, imax(u128) - 6, 5e0, 5e1, 5e2, | ||
| 15292 | 5e3, 5e4, 5e5, 5e6, 5e7, 5e8, 5e9, 5e10, | ||
| 15293 | 5e11, 5e12, 5e13, 5e14, 5e15, 5e16, 5e17, 5e18, | ||
| 15294 | 5e19, 5e20, 5e21, 5e22, 5e23, 5e24, 5e25, 5e26, | ||
| 15295 | 5e27, 5e28, 5e29, 5e30, 5e31, 5e32, 5e33, 5e34, | ||
| 15296 | 5e35, 5e36, 5e37, imax(u128) - 9, imax(u128) - 8, 6e0, 6e1, 6e2, | ||
| 15297 | 6e3, 6e4, 6e5, 6e6, 6e7, 6e8, 6e9, 6e10, | ||
| 15298 | 6e11, 6e12, 6e13, 6e14, 6e15, 6e16, 6e17, 6e18, | ||
| 15299 | 6e19, 6e20, 6e21, 6e22, 6e23, 6e24, 6e25, 6e26, | ||
| 15300 | 6e27, 6e28, 6e29, 6e30, 6e31, 6e32, 6e33, 6e34, | ||
| 15301 | 6e35, 6e36, 6e37, imax(u128) - 11, imax(u128) - 10, 7e0, 7e1, 7e2, | ||
| 15302 | 7e3, 7e4, 7e5, 7e6, 7e7, 7e8, 7e9, 7e10, | ||
| 15303 | }); | ||
| 15304 | |||
| 15305 | try testArgs(@Vector(1, f64), @Vector(1, i256), .{ | ||
| 15306 | imin(i256), | ||
| 15307 | }); | ||
| 15308 | try testArgs(@Vector(2, f64), @Vector(2, i256), .{ | ||
| 15309 | imin(i256) + 1, -1e76, | ||
| 15310 | }); | ||
| 15311 | try testArgs(@Vector(4, f64), @Vector(4, i256), .{ | ||
| 15312 | -1e75, -1e74, -1e73, -1e72, | ||
| 15313 | }); | ||
| 15314 | try testArgs(@Vector(8, f64), @Vector(8, i256), .{ | ||
| 15315 | -1e71, -1e70, -1e69, -1e68, -1e67, -1e66, -1e65, -1e64, | ||
| 15316 | }); | ||
| 15317 | try testArgs(@Vector(16, f64), @Vector(16, i256), .{ | ||
| 15318 | -1e63, -1e62, -1e61, -1e60, -1e59, -1e58, -1e57, -1e56, | ||
| 15319 | -1e55, -1e54, -1e53, -1e52, -1e51, -1e50, -1e49, -1e48, | ||
| 15320 | }); | ||
| 15321 | try testArgs(@Vector(32, f64), @Vector(32, i256), .{ | ||
| 15322 | -1e47, -1e46, -1e45, -1e44, -1e43, -1e42, -1e41, -1e40, | ||
| 15323 | -1e39, -1e38, -1e37, -1e36, -1e35, -1e34, -1e33, -1e32, | ||
| 15324 | -1e31, -1e30, -1e29, -1e28, -1e27, -1e26, -1e25, -1e24, | ||
| 15325 | -1e23, -1e22, -1e21, -1e20, -1e19, -1e18, -1e17, -1e16, | ||
| 15326 | }); | ||
| 15327 | try testArgs(@Vector(64, f64), @Vector(64, i256), .{ | ||
| 15328 | -1e15, -1e14, -1e13, -1e12, -1e11, -1e10, -1e9, -1e8, | ||
| 15329 | -1e7, -1e6, -1e5, -1e4, -1e3, -1e2, -1e1, -1e0, | ||
| 15330 | 0, 1e0, 1e1, 1e2, 1e3, 1e4, 1e5, 1e6, | ||
| 15331 | 1e7, 1e8, 1e9, 1e10, 1e11, 1e12, 1e13, 1e14, | ||
| 15332 | 1e15, 1e16, 1e17, 1e18, 1e19, 1e20, 1e21, 1e22, | ||
| 15333 | 1e23, 1e24, 1e25, 1e26, 1e27, 1e28, 1e29, 1e30, | ||
| 15334 | 1e31, 1e32, 1e33, 1e34, 1e35, 1e36, 1e37, 1e38, | ||
| 15335 | 1e39, 1e40, 1e41, 1e42, 1e43, 1e44, 1e45, 1e46, | ||
| 15336 | }); | ||
| 15337 | try testArgs(@Vector(128, f64), @Vector(128, i256), .{ | ||
| 15338 | 1e47, 1e48, 1e49, 1e50, 1e51, 1e52, 1e53, 1e54, | ||
| 15339 | 1e55, 1e56, 1e57, 1e58, 1e59, 1e60, 1e61, 1e62, | ||
| 15340 | 1e63, 1e64, 1e65, 1e66, 1e67, 1e68, 1e69, 1e70, | ||
| 15341 | 1e71, 1e72, 1e73, 1e74, 1e75, 1e76, imax(i256) - 1, imax(i256), | ||
| 15342 | imin(i256) + 2, imin(i256) + 3, -2e76, -2e75, -2e74, -2e73, -2e72, -2e71, | ||
| 15343 | -2e70, -2e69, -2e68, -2e67, -2e66, -2e65, -2e64, -2e63, | ||
| 15344 | -2e62, -2e61, -2e60, -2e59, -2e58, -2e57, -2e56, -2e55, | ||
| 15345 | -2e54, -2e53, -2e52, -2e51, -2e50, -2e49, -2e48, -2e47, | ||
| 15346 | -2e46, -2e45, -2e44, -2e43, -2e42, -2e41, -2e40, -2e39, | ||
| 15347 | -2e38, -2e37, -2e36, -2e35, -2e34, -2e33, -2e32, -2e31, | ||
| 15348 | -2e30, -2e29, -2e28, -2e27, -2e26, -2e25, -2e24, -2e23, | ||
| 15349 | -2e22, -2e21, -2e20, -2e19, -2e18, -2e17, -2e16, -2e15, | ||
| 15350 | -2e14, -2e13, -2e12, -2e11, -2e10, -2e9, -2e8, -2e7, | ||
| 15351 | -2e6, -2e5, -2e4, -2e3, -2e2, -2e1, -2e0, 2e0, | ||
| 15352 | 2e1, 2e2, 2e3, 2e4, 2e5, 2e6, 2e7, 2e8, | ||
| 15353 | 2e9, 2e10, 2e11, 2e12, 2e13, 2e14, 2e15, 2e16, | ||
| 15354 | }); | ||
| 15355 | |||
| 15356 | try testArgs(@Vector(1, f64), @Vector(1, u256), .{ | ||
| 15357 | 0, | ||
| 15358 | }); | ||
| 15359 | try testArgs(@Vector(2, f64), @Vector(2, u256), .{ | ||
| 15360 | 1e0, 1e1, | ||
| 15361 | }); | ||
| 15362 | try testArgs(@Vector(4, f64), @Vector(4, u256), .{ | ||
| 15363 | 1e2, 1e3, 1e4, 1e5, | ||
| 15364 | }); | ||
| 15365 | try testArgs(@Vector(8, f64), @Vector(8, u256), .{ | ||
| 15366 | 1e6, 1e7, 1e8, 1e9, 1e10, 1e11, 1e12, 1e13, | ||
| 15367 | }); | ||
| 15368 | try testArgs(@Vector(16, f64), @Vector(16, u256), .{ | ||
| 15369 | 1e14, 1e15, 1e16, 1e17, 1e18, 1e19, 1e20, 1e21, | ||
| 15370 | 1e22, 1e23, 1e24, 1e25, 1e26, 1e27, 1e28, 1e29, | ||
| 15371 | }); | ||
| 15372 | try testArgs(@Vector(32, f64), @Vector(32, u256), .{ | ||
| 15373 | 1e30, 1e31, 1e32, 1e33, 1e34, 1e35, 1e36, 1e37, | ||
| 15374 | 1e38, 1e39, 1e40, 1e41, 1e42, 1e43, 1e44, 1e45, | ||
| 15375 | 1e46, 1e47, 1e48, 1e49, 1e50, 1e51, 1e52, 1e53, | ||
| 15376 | 1e54, 1e55, 1e56, 1e57, 1e58, 1e59, 1e60, 1e61, | ||
| 15377 | }); | ||
| 15378 | try testArgs(@Vector(64, f64), @Vector(64, u256), .{ | ||
| 15379 | 1e62, 1e63, 1e64, 1e65, 1e66, 1e67, 1e68, 1e69, | ||
| 15380 | 1e70, 1e71, 1e72, 1e73, 1e74, 1e75, 1e76, 1e77, | ||
| 15381 | imax(u256) - 1, imax(u256), 2e0, 2e1, 2e2, 2e3, 2e4, 2e5, | ||
| 15382 | 2e6, 2e7, 2e8, 2e9, 2e10, 2e11, 2e12, 2e13, | ||
| 15383 | 2e14, 2e15, 2e16, 2e17, 2e18, 2e19, 2e20, 2e21, | ||
| 15384 | 2e22, 2e23, 2e24, 2e25, 2e26, 2e27, 2e28, 2e29, | ||
| 15385 | 2e30, 2e31, 2e32, 2e33, 2e34, 2e35, 2e36, 2e37, | ||
| 15386 | 2e38, 2e39, 2e40, 2e41, 2e42, 2e43, 2e44, 2e45, | ||
| 15387 | }); | ||
| 15388 | try testArgs(@Vector(128, f64), @Vector(128, u256), .{ | ||
| 15389 | 2e46, 2e47, 2e48, 2e49, 2e50, 2e51, 2e52, 2e53, | ||
| 15390 | 2e54, 2e55, 2e56, 2e57, 2e58, 2e59, 2e60, 2e61, | ||
| 15391 | 2e62, 2e63, 2e64, 2e65, 2e66, 2e67, 2e68, 2e69, | ||
| 15392 | 2e70, 2e71, 2e72, 2e73, 2e74, 2e75, 2e76, imax(u256) - 3, | ||
| 15393 | imax(u256) - 2, 3e0, 3e1, 3e2, 3e3, 3e4, 3e5, 3e6, | ||
| 15394 | 3e7, 3e8, 3e9, 3e10, 3e11, 3e12, 3e13, 3e14, | ||
| 15395 | 3e15, 3e16, 3e17, 3e18, 3e19, 3e20, 3e21, 3e22, | ||
| 15396 | 3e23, 3e24, 3e25, 3e26, 3e27, 3e28, 3e29, 3e30, | ||
| 15397 | 3e31, 3e32, 3e33, 3e34, 3e35, 3e36, 3e37, 3e38, | ||
| 15398 | 3e39, 3e40, 3e41, 3e42, 3e43, 3e44, 3e45, 3e46, | ||
| 15399 | 3e47, 3e48, 3e49, 3e50, 3e51, 3e52, 3e53, 3e54, | ||
| 15400 | 3e55, 3e56, 3e57, 3e58, 3e59, 3e60, 3e61, 3e62, | ||
| 15401 | 3e63, 3e64, 3e65, 3e66, 3e67, 3e68, 3e69, 3e70, | ||
| 15402 | 3e71, 3e72, 3e73, 3e74, 3e75, 3e76, imax(u256) - 5, imax(u256) - 4, | ||
| 15403 | 4e0, 4e1, 4e2, 4e3, 4e4, 4e5, 4e6, 4e7, | ||
| 15404 | 4e8, 4e9, 4e10, 4e11, 4e12, 4e13, 4e14, 4e15, | ||
| 15405 | }); | ||
| 15406 | |||
| 15407 | try testArgs(@Vector(1, f80), @Vector(1, i8), .{ | ||
| 15408 | imin(i8), | ||
| 15409 | }); | ||
| 15410 | try testArgs(@Vector(2, f80), @Vector(2, i8), .{ | ||
| 15411 | imin(i8) + 1, -1e2, | ||
| 15412 | }); | ||
| 15413 | try testArgs(@Vector(4, f80), @Vector(4, i8), .{ | ||
| 15414 | -1e1, -1e0, 0, 1e0, | ||
| 15415 | }); | ||
| 15416 | try testArgs(@Vector(8, f80), @Vector(8, i8), .{ | ||
| 15417 | 1e1, 1e2, imax(i8) - 1, imax(i8), imin(i8) + 2, imin(i8) + 3, -2e1, -2e0, | ||
| 15418 | }); | ||
| 15419 | try testArgs(@Vector(16, f80), @Vector(16, i8), .{ | ||
| 15420 | 2e0, 2e1, imax(i8) - 3, imax(i8) - 2, imin(i8) + 4, imin(i8) + 5, -3e1, -3e0, | ||
| 15421 | 3e0, 3e1, imax(i8) - 5, imax(i8) - 4, imin(i8) + 6, imin(i8) + 7, -4e1, -4e0, | ||
| 15422 | }); | ||
| 15423 | try testArgs(@Vector(32, f80), @Vector(32, i8), .{ | ||
| 15424 | 4e0, 4e1, imax(i8) - 7, imax(i8) - 6, imin(i8) + 8, imin(i8) + 9, -5e1, -5e0, | ||
| 15425 | 5e0, 5e1, imax(i8) - 9, imax(i8) - 8, imin(i8) + 10, imin(i8) + 11, -6e1, -6e0, | ||
| 15426 | 6e0, 6e1, imax(i8) - 11, imax(i8) - 10, imin(i8) + 12, imin(i8) + 13, -7e1, -7e0, | ||
| 15427 | 7e0, 7e1, imax(i8) - 13, imax(i8) - 12, imin(i8) + 14, imin(i8) + 15, -8e1, -8e0, | ||
| 15428 | }); | ||
| 15429 | try testArgs(@Vector(64, f80), @Vector(64, i8), .{ | ||
| 15430 | 8e0, 8e1, imax(i8) - 15, imax(i8) - 14, imin(i8) + 16, imin(i8) + 17, -9e1, -9e0, | ||
| 15431 | 9e0, 9e1, imax(i8) - 17, imax(i8) - 16, imin(i8) + 18, imin(i8) + 19, -11e1, -11e0, | ||
| 15432 | 11e0, 11e1, imax(i8) - 19, imax(i8) - 18, imin(i8) + 20, imin(i8) + 21, -12e1, -12e0, | ||
| 15433 | 12e0, 12e1, imax(i8) - 21, imax(i8) - 20, imin(i8) + 22, imin(i8) + 23, -13e0, 13e0, | ||
| 15434 | imax(i8) - 23, imax(i8) - 22, imin(i8) + 24, imin(i8) + 25, -14e0, 14e0, imax(i8) - 25, imax(i8) - 24, | ||
| 15435 | imin(i8) + 26, imin(i8) + 27, -15e0, 15e0, imax(i8) - 27, imax(i8) - 26, imin(i8) + 28, imin(i8) + 29, | ||
| 15436 | -16e0, 16e0, imax(i8) - 29, imax(i8) - 28, imin(i8) + 30, imin(i8) + 31, -17e0, 17e0, | ||
| 15437 | imax(i8) - 31, imax(i8) - 30, imin(i8) + 32, imin(i8) + 33, -18e0, 18e0, imax(i8) - 33, imax(i8) - 32, | ||
| 15438 | }); | ||
| 15439 | |||
| 15440 | try testArgs(@Vector(1, f80), @Vector(1, u8), .{ | ||
| 15441 | 0, | ||
| 15442 | }); | ||
| 15443 | try testArgs(@Vector(2, f80), @Vector(2, u8), .{ | ||
| 15444 | 1e0, 1e1, | ||
| 15445 | }); | ||
| 15446 | try testArgs(@Vector(4, f80), @Vector(4, u8), .{ | ||
| 15447 | 1e2, imax(u8) - 1, imax(u8), 2e0, | ||
| 15448 | }); | ||
| 15449 | try testArgs(@Vector(8, f80), @Vector(8, u8), .{ | ||
| 15450 | 2e1, 2e2, imax(u8) - 3, imax(u8) - 2, 3e0, 3e1, imax(u8) - 5, imax(u8) - 4, | ||
| 15451 | }); | ||
| 15452 | try testArgs(@Vector(16, f80), @Vector(16, u8), .{ | ||
| 15453 | imax(u8) - 7, imax(u8) - 6, 5e0, 5e1, imax(u8) - 9, imax(u8) - 8, 6e0, 6e1, | ||
| 15454 | imax(u8) - 11, imax(u8) - 10, 7e0, 7e1, imax(u8) - 13, imax(u8) - 12, 8e0, 8e1, | ||
| 15455 | }); | ||
| 15456 | try testArgs(@Vector(32, f80), @Vector(32, u8), .{ | ||
| 15457 | imax(u8) - 15, imax(u8) - 14, 9e0, 9e1, imax(u8) - 17, imax(u8) - 16, 11e0, 11e1, | ||
| 15458 | imax(u8) - 19, imax(u8) - 18, 12e0, 12e1, imax(u8) - 21, imax(u8) - 20, 13e0, 13e1, | ||
| 15459 | imax(u8) - 23, imax(u8) - 22, 14e0, 14e1, imax(u8) - 25, imax(u8) - 24, 15e0, 15e1, | ||
| 15460 | imax(u8) - 27, imax(u8) - 26, 16e0, 16e1, imax(u8) - 29, imax(u8) - 28, 17e0, 17e1, | ||
| 15461 | }); | ||
| 15462 | try testArgs(@Vector(64, f80), @Vector(64, u8), .{ | ||
| 15463 | imax(u8) - 31, imax(u8) - 30, 18e0, 18e1, imax(u8) - 33, imax(u8) - 32, 19e0, 19e1, | ||
| 15464 | imax(u8) - 35, imax(u8) - 34, 21e0, 21e1, imax(u8) - 37, imax(u8) - 36, 22e0, 22e1, | ||
| 15465 | imax(u8) - 39, imax(u8) - 38, 23e0, 23e1, imax(u8) - 41, imax(u8) - 40, 24e0, 24e1, | ||
| 15466 | imax(u8) - 43, imax(u8) - 42, 25e0, 25e1, imax(u8) - 45, imax(u8) - 44, 26e0, imax(u8) - 47, | ||
| 15467 | imax(u8) - 46, 27e0, imax(u8) - 49, imax(u8) - 48, 28e0, imax(u8) - 51, imax(u8) - 50, 29e0, | ||
| 15468 | imax(u8) - 53, imax(u8) - 52, 31e0, imax(u8) - 55, imax(u8) - 54, 32e0, imax(u8) - 57, imax(u8) - 56, | ||
| 15469 | 33e0, imax(u8) - 59, imax(u8) - 58, 34e0, imax(u8) - 61, imax(u8) - 60, 35e0, imax(u8) - 63, | ||
| 15470 | imax(u8) - 62, 36e0, imax(u8) - 65, imax(u8) - 64, 37e0, imax(u8) - 67, imax(u8) - 66, 38e0, | ||
| 15471 | }); | ||
| 15472 | |||
| 15473 | try testArgs(@Vector(1, f80), @Vector(1, i16), .{ | ||
| 15474 | imin(i16), | ||
| 15475 | }); | ||
| 15476 | try testArgs(@Vector(2, f80), @Vector(2, i16), .{ | ||
| 15477 | imin(i16) + 1, -1e4, | ||
| 15478 | }); | ||
| 15479 | try testArgs(@Vector(4, f80), @Vector(4, i16), .{ | ||
| 15480 | -1e3, -1e2, -1e1, -1e0, | ||
| 15481 | }); | ||
| 15482 | try testArgs(@Vector(8, f80), @Vector(8, i16), .{ | ||
| 15483 | 0, 1e0, 1e1, 1e2, 1e3, 1e4, imax(i16) - 1, imax(i16), | ||
| 15484 | }); | ||
| 15485 | try testArgs(@Vector(16, f80), @Vector(16, i16), .{ | ||
| 15486 | imin(i16) + 2, imin(i16) + 3, -2e4, -2e3, -2e2, -2e1, -2e0, 2e0, | ||
| 15487 | 2e1, 2e2, 2e3, 2e4, imax(i16) - 3, imax(i16) - 2, imin(i16) + 4, imin(i16) + 5, | ||
| 15488 | }); | ||
| 15489 | try testArgs(@Vector(32, f80), @Vector(32, i16), .{ | ||
| 15490 | -3e4, -3e3, -3e2, -3e1, -3e0, 3e0, 3e1, 3e2, | ||
| 15491 | 3e3, 3e4, imax(i16) - 5, imax(i16) - 4, imin(i16) + 6, imin(i16) + 7, -4e3, -4e2, | ||
| 15492 | -4e1, -4e0, 4e0, 4e1, 4e2, 4e3, imax(i16) - 7, imax(i16) - 6, | ||
| 15493 | imin(i16) + 8, imin(i16) + 9, -5e3, -5e2, -5e1, -5e0, 5e0, 5e1, | ||
| 15494 | }); | ||
| 15495 | try testArgs(@Vector(64, f80), @Vector(64, i16), .{ | ||
| 15496 | 5e2, 5e3, imax(i16) - 9, imax(i16) - 8, imin(i16) + 10, imin(i16) + 11, -6e3, -6e2, | ||
| 15497 | -6e1, -6e0, 6e0, 6e1, 6e2, 6e3, imax(i16) - 11, imax(i16) - 10, | ||
| 15498 | imin(i16) + 12, imin(i16) + 13, -7e3, -7e2, -7e1, -7e0, 7e0, 7e1, | ||
| 15499 | 7e2, 7e3, imax(i16) - 13, imax(i16) - 12, imin(i16) + 14, imin(i16) + 15, -8e3, -8e2, | ||
| 15500 | -8e1, -8e0, 8e0, 8e1, 8e2, 8e3, imax(i16) - 15, imax(i16) - 14, | ||
| 15501 | imin(i16) + 16, imin(i16) + 17, -9e3, -9e2, -9e1, -9e0, 9e0, 9e1, | ||
| 15502 | 9e2, 9e3, imax(i16) - 17, imax(i16) - 16, imin(i16) + 18, imin(i16) + 19, -11e3, -11e2, | ||
| 15503 | -11e1, -11e0, 11e0, 11e1, 11e2, 11e3, imax(i16) - 19, imax(i16) - 18, | ||
| 15504 | }); | ||
| 15505 | |||
| 15506 | try testArgs(@Vector(1, f80), @Vector(1, u16), .{ | ||
| 15507 | 0, | ||
| 15508 | }); | ||
| 15509 | try testArgs(@Vector(2, f80), @Vector(2, u16), .{ | ||
| 15510 | 1e0, 1e1, | ||
| 15511 | }); | ||
| 15512 | try testArgs(@Vector(4, f80), @Vector(4, u16), .{ | ||
| 15513 | 1e2, 1e3, 1e4, imax(u16) - 1, | ||
| 15514 | }); | ||
| 15515 | try testArgs(@Vector(8, f80), @Vector(8, u16), .{ | ||
| 15516 | imax(u16), 2e0, 2e1, 2e2, 2e3, 2e4, imax(u16) - 3, imax(u16) - 2, | ||
| 15517 | }); | ||
| 15518 | try testArgs(@Vector(16, f80), @Vector(16, u16), .{ | ||
| 15519 | 3e0, 3e1, 3e2, 3e3, 3e4, imax(u16) - 5, imax(u16) - 4, 4e0, | ||
| 15520 | 4e1, 4e2, 4e3, 4e4, imax(u16) - 7, imax(u16) - 6, 5e0, 5e1, | ||
| 15521 | }); | ||
| 15522 | try testArgs(@Vector(32, f80), @Vector(32, u16), .{ | ||
| 15523 | 5e2, 5e3, 5e4, imax(u16) - 9, imax(u16) - 8, 6e0, 6e1, 6e2, | ||
| 15524 | 6e3, 6e4, imax(u16) - 11, imax(u16) - 10, 7e0, 7e1, 7e2, 7e3, | ||
| 15525 | imax(u16) - 13, imax(u16) - 12, 8e0, 8e1, 8e2, 8e3, imax(u16) - 15, imax(u16) - 14, | ||
| 15526 | 9e0, 9e1, 9e2, 9e3, imax(u16) - 17, imax(u16) - 16, 11e0, 11e1, | ||
| 15527 | }); | ||
| 15528 | try testArgs(@Vector(64, f80), @Vector(64, u16), .{ | ||
| 15529 | 11e2, 11e3, imax(u16) - 19, imax(u16) - 18, 12e0, 12e1, 12e2, 12e3, | ||
| 15530 | imax(u16) - 21, imax(u16) - 20, 13e0, 13e1, 13e2, 13e3, imax(u16) - 23, imax(u16) - 22, | ||
| 15531 | 14e0, 14e1, 14e2, 14e3, imax(u16) - 25, imax(u16) - 24, 15e0, 15e1, | ||
| 15532 | 15e2, 15e3, imax(u16) - 27, imax(u16) - 26, 16e0, 16e1, 16e2, 16e3, | ||
| 15533 | imax(u16) - 29, imax(u16) - 28, 17e0, 17e1, 17e2, 17e3, imax(u16) - 31, imax(u16) - 30, | ||
| 15534 | 18e0, 18e1, 18e2, 18e3, imax(u16) - 33, imax(u16) - 32, 19e0, 19e1, | ||
| 15535 | 19e2, 19e3, imax(u16) - 35, imax(u16) - 34, 21e0, 21e1, 21e2, 21e3, | ||
| 15536 | imax(u16) - 37, imax(u16) - 36, 22e0, 22e1, 22e2, 22e3, imax(u16) - 39, imax(u16) - 38, | ||
| 15537 | }); | ||
| 15538 | |||
| 15539 | try testArgs(@Vector(1, f80), @Vector(1, i32), .{ | ||
| 15540 | imin(i32), | ||
| 15541 | }); | ||
| 15542 | try testArgs(@Vector(2, f80), @Vector(2, i32), .{ | ||
| 15543 | imin(i32) + 1, -1e9, | ||
| 15544 | }); | ||
| 15545 | try testArgs(@Vector(4, f80), @Vector(4, i32), .{ | ||
| 15546 | -1e8, -1e7, -1e6, -1e5, | ||
| 15547 | }); | ||
| 15548 | try testArgs(@Vector(8, f80), @Vector(8, i32), .{ | ||
| 15549 | -1e4, -1e3, -1e2, -1e1, -1e0, 0, 1e0, 1e1, | ||
| 15550 | }); | ||
| 15551 | try testArgs(@Vector(16, f80), @Vector(16, i32), .{ | ||
| 15552 | 1e2, 1e3, 1e4, 1e5, 1e6, 1e7, 1e8, 1e9, | ||
| 15553 | imax(i32) - 1, imax(i32), imin(i32) + 2, imin(i32) + 3, -2e9, -2e8, -2e7, -2e6, | ||
| 15554 | }); | ||
| 15555 | try testArgs(@Vector(32, f80), @Vector(32, i32), .{ | ||
| 15556 | -2e5, -2e4, -2e3, -2e2, -2e1, -2e0, 2e0, 2e1, | ||
| 15557 | 2e2, 2e3, 2e4, 2e5, 2e6, 2e7, 2e8, 2e9, | ||
| 15558 | imax(i32) - 3, imax(i32) - 2, imin(i32) + 4, imin(i32) + 5, -3e8, -3e7, -3e6, -3e5, | ||
| 15559 | -3e4, -3e3, -3e2, -3e1, -3e0, 3e0, 3e1, 3e2, | ||
| 15560 | }); | ||
| 15561 | try testArgs(@Vector(64, f80), @Vector(64, i32), .{ | ||
| 15562 | 3e3, 3e4, 3e5, 3e6, 3e7, 3e8, imax(i32) - 5, imax(i32) - 4, | ||
| 15563 | imin(i32) + 6, imin(i32) + 7, -4e8, -4e7, -4e6, -4e5, -4e4, -4e3, | ||
| 15564 | -4e2, -4e1, -4e0, 4e0, 4e1, 4e2, 4e3, 4e4, | ||
| 15565 | 4e5, 4e6, 4e7, 4e8, imax(i32) - 7, imax(i32) - 6, imin(i32) + 8, imin(i32) + 9, | ||
| 15566 | -5e8, -5e7, -5e6, -5e5, -5e4, -5e3, -5e2, -5e1, | ||
| 15567 | -5e0, 5e0, 5e1, 5e2, 5e3, 5e4, 5e5, 5e6, | ||
| 15568 | 5e7, 5e8, imax(i32) - 9, imax(i32) - 8, imin(i32) + 10, imin(i32) + 11, -6e8, -6e7, | ||
| 15569 | -6e6, -6e5, -6e4, -6e3, -6e2, -6e1, -6e0, 6e0, | ||
| 15570 | }); | ||
| 15571 | |||
| 15572 | try testArgs(@Vector(1, f80), @Vector(1, u32), .{ | ||
| 15573 | 0, | ||
| 15574 | }); | ||
| 15575 | try testArgs(@Vector(2, f80), @Vector(2, u32), .{ | ||
| 15576 | 1e0, 1e1, | ||
| 15577 | }); | ||
| 15578 | try testArgs(@Vector(4, f80), @Vector(4, u32), .{ | ||
| 15579 | 1e2, 1e3, 1e4, imax(u32) - 1, | ||
| 15580 | }); | ||
| 15581 | try testArgs(@Vector(8, f80), @Vector(8, u32), .{ | ||
| 15582 | imax(u32), 2e0, 2e1, 2e2, 2e3, 2e4, imax(u32) - 3, imax(u32) - 2, | ||
| 15583 | }); | ||
| 15584 | try testArgs(@Vector(16, f80), @Vector(16, u32), .{ | ||
| 15585 | 3e0, 3e1, 3e2, 3e3, 3e4, imax(u32) - 5, imax(u32) - 4, 4e0, | ||
| 15586 | 4e1, 4e2, 4e3, 4e4, imax(u32) - 7, imax(u32) - 6, 5e0, 5e1, | ||
| 15587 | }); | ||
| 15588 | try testArgs(@Vector(32, f80), @Vector(32, u32), .{ | ||
| 15589 | 5e2, 5e3, 5e4, imax(u32) - 9, imax(u32) - 8, 6e0, 6e1, 6e2, | ||
| 15590 | 6e3, 6e4, imax(u32) - 11, imax(u32) - 10, 7e0, 7e1, 7e2, 7e3, | ||
| 15591 | imax(u32) - 13, imax(u32) - 12, 8e0, 8e1, 8e2, 8e3, imax(u32) - 15, imax(u32) - 14, | ||
| 15592 | 9e0, 9e1, 9e2, 9e3, imax(u32) - 17, imax(u32) - 16, 11e0, 11e1, | ||
| 15593 | }); | ||
| 15594 | try testArgs(@Vector(64, f80), @Vector(64, u32), .{ | ||
| 15595 | 11e2, 11e3, imax(u32) - 19, imax(u32) - 18, 12e0, 12e1, 12e2, 12e3, | ||
| 15596 | imax(u32) - 21, imax(u32) - 20, 13e0, 13e1, 13e2, 13e3, imax(u32) - 23, imax(u32) - 22, | ||
| 15597 | 14e0, 14e1, 14e2, 14e3, imax(u32) - 25, imax(u32) - 24, 15e0, 15e1, | ||
| 15598 | 15e2, 15e3, imax(u32) - 27, imax(u32) - 26, 16e0, 16e1, 16e2, 16e3, | ||
| 15599 | imax(u32) - 29, imax(u32) - 28, 17e0, 17e1, 17e2, 17e3, imax(u32) - 31, imax(u32) - 30, | ||
| 15600 | 18e0, 18e1, 18e2, 18e3, imax(u32) - 33, imax(u32) - 32, 19e0, 19e1, | ||
| 15601 | 19e2, 19e3, imax(u32) - 35, imax(u32) - 34, 21e0, 21e1, 21e2, 21e3, | ||
| 15602 | imax(u32) - 37, imax(u32) - 36, 22e0, 22e1, 22e2, 22e3, imax(u32) - 39, imax(u32) - 38, | ||
| 15603 | }); | ||
| 15604 | |||
| 15605 | try testArgs(@Vector(1, f80), @Vector(1, i64), .{ | ||
| 15606 | imin(i64), | ||
| 15607 | }); | ||
| 15608 | try testArgs(@Vector(2, f80), @Vector(2, i64), .{ | ||
| 15609 | imin(i64) + 1, -1e18, | ||
| 15610 | }); | ||
| 15611 | try testArgs(@Vector(4, f80), @Vector(4, i64), .{ | ||
| 15612 | -1e17, -1e16, -1e15, -1e14, | ||
| 15613 | }); | ||
| 15614 | try testArgs(@Vector(8, f80), @Vector(8, i64), .{ | ||
| 15615 | -1e13, -1e12, -1e11, -1e10, -1e9, -1e8, -1e7, -1e6, | ||
| 15616 | }); | ||
| 15617 | try testArgs(@Vector(16, f80), @Vector(16, i64), .{ | ||
| 15618 | -1e5, -1e4, -1e3, -1e2, -1e1, -1e0, 0, 1e0, | ||
| 15619 | 1e1, 1e2, 1e3, 1e4, 1e5, 1e6, 1e7, 1e8, | ||
| 15620 | }); | ||
| 15621 | try testArgs(@Vector(32, f80), @Vector(32, i64), .{ | ||
| 15622 | 1e9, 1e10, 1e11, 1e12, 1e13, 1e14, 1e15, 1e16, | ||
| 15623 | 1e17, 1e18, imax(i64) - 1, imax(i64), imin(i64) + 2, imin(i64) + 3, -2e18, -2e17, | ||
| 15624 | -2e16, -2e15, -2e14, -2e13, -2e12, -2e11, -2e10, -2e9, | ||
| 15625 | -2e8, -2e7, -2e6, -2e5, -2e4, -2e3, -2e2, -2e1, | ||
| 15626 | }); | ||
| 15627 | try testArgs(@Vector(64, f80), @Vector(64, i64), .{ | ||
| 15628 | -2e0, 2e0, 2e1, 2e2, 2e3, 2e4, 2e5, 2e6, | ||
| 15629 | 2e7, 2e8, 2e9, 2e10, 2e11, 2e12, 2e13, 2e14, | ||
| 15630 | 2e15, 2e16, 2e17, 2e18, imax(i64) - 3, imax(i64) - 2, imin(i64) + 4, imin(i64) + 5, | ||
| 15631 | -3e18, -3e17, -3e16, -3e15, -3e14, -3e13, -3e12, -3e11, | ||
| 15632 | -3e10, -3e9, -3e8, -3e7, -3e6, -3e5, -3e4, -3e3, | ||
| 15633 | -3e2, -3e1, -3e0, 3e0, 3e1, 3e2, 3e3, 3e4, | ||
| 15634 | 3e5, 3e6, 3e7, 3e8, 3e9, 3e10, 3e11, 3e12, | ||
| 15635 | 3e13, 3e14, 3e15, 3e16, 3e17, 3e18, imax(i64) - 5, imax(i64) - 4, | ||
| 15636 | }); | ||
| 15637 | |||
| 15638 | try testArgs(@Vector(1, f80), @Vector(1, u64), .{ | ||
| 15639 | 0, | ||
| 15640 | }); | ||
| 15641 | try testArgs(@Vector(2, f80), @Vector(2, u64), .{ | ||
| 15642 | 1e0, 1e1, | ||
| 15643 | }); | ||
| 15644 | try testArgs(@Vector(4, f80), @Vector(4, u64), .{ | ||
| 15645 | 1e2, 1e3, 1e4, 1e5, | ||
| 15646 | }); | ||
| 15647 | try testArgs(@Vector(8, f80), @Vector(8, u64), .{ | ||
| 15648 | 1e6, 1e7, 1e8, 1e9, 1e10, 1e11, 1e12, 1e13, | ||
| 15649 | }); | ||
| 15650 | try testArgs(@Vector(16, f80), @Vector(16, u64), .{ | ||
| 15651 | 1e14, 1e15, 1e16, 1e17, 1e18, 1e19, imax(u64) - 1, imax(u64), | ||
| 15652 | 2e0, 2e1, 2e2, 2e3, 2e4, 2e5, 2e6, 2e7, | ||
| 15653 | }); | ||
| 15654 | try testArgs(@Vector(32, f80), @Vector(32, u64), .{ | ||
| 15655 | 2e8, 2e9, 2e10, 2e11, 2e12, 2e13, 2e14, 2e15, | ||
| 15656 | 2e16, 2e17, 2e18, imax(u64) - 3, imax(u64) - 2, 3e0, 3e1, 3e2, | ||
| 15657 | 3e3, 3e4, 3e5, 3e6, 3e7, 3e8, 3e9, 3e10, | ||
| 15658 | 3e11, 3e12, 3e13, 3e14, 3e15, 3e16, 3e17, 3e18, | ||
| 15659 | }); | ||
| 15660 | try testArgs(@Vector(64, f80), @Vector(64, u64), .{ | ||
| 15661 | imax(u64) - 5, imax(u64) - 4, 4e0, 4e1, 4e2, 4e3, 4e4, 4e5, | ||
| 15662 | 4e6, 4e7, 4e8, 4e9, 4e10, 4e11, 4e12, 4e13, | ||
| 15663 | 4e14, 4e15, 4e16, 4e17, 4e18, imax(u64) - 7, imax(u64) - 6, 5e0, | ||
| 15664 | 5e1, 5e2, 5e3, 5e4, 5e5, 5e6, 5e7, 5e8, | ||
| 15665 | 5e9, 5e10, 5e11, 5e12, 5e13, 5e14, 5e15, 5e16, | ||
| 15666 | 5e17, 5e18, imax(u64) - 9, imax(u64) - 8, 6e0, 6e1, 6e2, 6e3, | ||
| 15667 | 6e4, 6e5, 6e6, 6e7, 6e8, 6e9, 6e10, 6e11, | ||
| 15668 | 6e12, 6e13, 6e14, 6e15, 6e16, 6e17, 6e18, imax(u64) - 11, | ||
| 15669 | }); | ||
| 15670 | |||
| 15671 | try testArgs(@Vector(1, f80), @Vector(1, i128), .{ | ||
| 15672 | imin(i128), | ||
| 15673 | }); | ||
| 15674 | try testArgs(@Vector(2, f80), @Vector(2, i128), .{ | ||
| 15675 | imin(i128) + 1, -1e38, | ||
| 15676 | }); | ||
| 15677 | try testArgs(@Vector(4, f80), @Vector(4, i128), .{ | ||
| 15678 | -1e37, -1e36, -1e35, -1e34, | ||
| 15679 | }); | ||
| 15680 | try testArgs(@Vector(8, f80), @Vector(8, i128), .{ | ||
| 15681 | -1e33, -1e32, -1e31, -1e30, -1e29, -1e28, -1e27, -1e26, | ||
| 15682 | }); | ||
| 15683 | try testArgs(@Vector(16, f80), @Vector(16, i128), .{ | ||
| 15684 | -1e25, -1e24, -1e23, -1e22, -1e21, -1e20, -1e19, -1e18, | ||
| 15685 | -1e17, -1e16, -1e15, -1e14, -1e13, -1e12, -1e11, -1e10, | ||
| 15686 | }); | ||
| 15687 | try testArgs(@Vector(32, f80), @Vector(32, i128), .{ | ||
| 15688 | -1e9, -1e8, -1e7, -1e6, -1e5, -1e4, -1e3, -1e2, | ||
| 15689 | -1e1, -1e0, 0, 1e0, 1e1, 1e2, 1e3, 1e4, | ||
| 15690 | 1e5, 1e6, 1e7, 1e8, 1e9, 1e10, 1e11, 1e12, | ||
| 15691 | 1e13, 1e14, 1e15, 1e16, 1e17, 1e18, 1e19, 1e20, | ||
| 15692 | }); | ||
| 15693 | try testArgs(@Vector(64, f80), @Vector(64, i128), .{ | ||
| 15694 | 1e21, 1e22, 1e23, 1e24, 1e25, 1e26, 1e27, 1e28, | ||
| 15695 | 1e29, 1e30, 1e31, 1e32, 1e33, 1e34, 1e35, 1e36, | ||
| 15696 | 1e37, 1e38, imax(i128) - 1, imax(i128), imin(i128) + 2, imin(i128) + 3, -2e37, -2e36, | ||
| 15697 | -2e35, -2e34, -2e33, -2e32, -2e31, -2e30, -2e29, -2e28, | ||
| 15698 | -2e27, -2e26, -2e25, -2e24, -2e23, -2e22, -2e21, -2e20, | ||
| 15699 | -2e19, -2e18, -2e17, -2e16, -2e15, -2e14, -2e13, -2e12, | ||
| 15700 | -2e11, -2e10, -2e9, -2e8, -2e7, -2e6, -2e5, -2e4, | ||
| 15701 | -2e3, -2e2, -2e1, -2e0, 2e0, 2e1, 2e2, 2e3, | ||
| 15702 | }); | ||
| 15703 | |||
| 15704 | try testArgs(@Vector(1, f80), @Vector(1, u128), .{ | ||
| 15705 | 0, | ||
| 15706 | }); | ||
| 15707 | try testArgs(@Vector(2, f80), @Vector(2, u128), .{ | ||
| 15708 | 1e0, 1e1, | ||
| 15709 | }); | ||
| 15710 | try testArgs(@Vector(4, f80), @Vector(4, u128), .{ | ||
| 15711 | 1e2, 1e3, 1e4, 1e5, | ||
| 15712 | }); | ||
| 15713 | try testArgs(@Vector(8, f80), @Vector(8, u128), .{ | ||
| 15714 | 1e6, 1e7, 1e8, 1e9, 1e10, 1e11, 1e12, 1e13, | ||
| 15715 | }); | ||
| 15716 | try testArgs(@Vector(16, f80), @Vector(16, u128), .{ | ||
| 15717 | 1e14, 1e15, 1e16, 1e17, 1e18, 1e19, 1e20, 1e21, | ||
| 15718 | 1e22, 1e23, 1e24, 1e25, 1e26, 1e27, 1e28, 1e29, | ||
| 15719 | }); | ||
| 15720 | try testArgs(@Vector(32, f80), @Vector(32, u128), .{ | ||
| 15721 | 1e30, 1e31, 1e32, 1e33, 1e34, 1e35, 1e36, 1e37, | ||
| 15722 | 1e38, imax(u128) - 1, imax(u128), 2e0, 2e1, 2e2, 2e3, 2e4, | ||
| 15723 | 2e5, 2e6, 2e7, 2e8, 2e9, 2e10, 2e11, 2e12, | ||
| 15724 | 2e13, 2e14, 2e15, 2e16, 2e17, 2e18, 2e19, 2e20, | ||
| 15725 | }); | ||
| 15726 | try testArgs(@Vector(64, f80), @Vector(64, u128), .{ | ||
| 15727 | 2e21, 2e22, 2e23, 2e24, 2e25, 2e26, 2e27, 2e28, | ||
| 15728 | 2e29, 2e30, 2e31, 2e32, 2e33, 2e34, 2e35, 2e36, | ||
| 15729 | 2e37, 2e38, imax(u128) - 3, imax(u128) - 2, 3e0, 3e1, 3e2, 3e3, | ||
| 15730 | 3e4, 3e5, 3e6, 3e7, 3e8, 3e9, 3e10, 3e11, | ||
| 15731 | 3e12, 3e13, 3e14, 3e15, 3e16, 3e17, 3e18, 3e19, | ||
| 15732 | 3e20, 3e21, 3e22, 3e23, 3e24, 3e25, 3e26, 3e27, | ||
| 15733 | 3e28, 3e29, 3e30, 3e31, 3e32, 3e33, 3e34, 3e35, | ||
| 15734 | 3e36, 3e37, 3e38, imax(u128) - 5, imax(u128) - 4, 4e0, 4e1, 4e2, | ||
| 15735 | }); | ||
| 15736 | |||
| 15737 | try testArgs(@Vector(1, f80), @Vector(1, i256), .{ | ||
| 15738 | imin(i256), | ||
| 15739 | }); | ||
| 15740 | try testArgs(@Vector(2, f80), @Vector(2, i256), .{ | ||
| 15741 | imin(i256) + 1, -1e76, | ||
| 15742 | }); | ||
| 15743 | try testArgs(@Vector(4, f80), @Vector(4, i256), .{ | ||
| 15744 | -1e75, -1e74, -1e73, -1e72, | ||
| 15745 | }); | ||
| 15746 | try testArgs(@Vector(8, f80), @Vector(8, i256), .{ | ||
| 15747 | -1e71, -1e70, -1e69, -1e68, -1e67, -1e66, -1e65, -1e64, | ||
| 15748 | }); | ||
| 15749 | try testArgs(@Vector(16, f80), @Vector(16, i256), .{ | ||
| 15750 | -1e63, -1e62, -1e61, -1e60, -1e59, -1e58, -1e57, -1e56, | ||
| 15751 | -1e55, -1e54, -1e53, -1e52, -1e51, -1e50, -1e49, -1e48, | ||
| 15752 | }); | ||
| 15753 | try testArgs(@Vector(32, f80), @Vector(32, i256), .{ | ||
| 15754 | -1e47, -1e46, -1e45, -1e44, -1e43, -1e42, -1e41, -1e40, | ||
| 15755 | -1e39, -1e38, -1e37, -1e36, -1e35, -1e34, -1e33, -1e32, | ||
| 15756 | -1e31, -1e30, -1e29, -1e28, -1e27, -1e26, -1e25, -1e24, | ||
| 15757 | -1e23, -1e22, -1e21, -1e20, -1e19, -1e18, -1e17, -1e16, | ||
| 15758 | }); | ||
| 15759 | try testArgs(@Vector(64, f80), @Vector(64, i256), .{ | ||
| 15760 | -1e15, -1e14, -1e13, -1e12, -1e11, -1e10, -1e9, -1e8, | ||
| 15761 | -1e7, -1e6, -1e5, -1e4, -1e3, -1e2, -1e1, -1e0, | ||
| 15762 | 0, 1e0, 1e1, 1e2, 1e3, 1e4, 1e5, 1e6, | ||
| 15763 | 1e7, 1e8, 1e9, 1e10, 1e11, 1e12, 1e13, 1e14, | ||
| 15764 | 1e15, 1e16, 1e17, 1e18, 1e19, 1e20, 1e21, 1e22, | ||
| 15765 | 1e23, 1e24, 1e25, 1e26, 1e27, 1e28, 1e29, 1e30, | ||
| 15766 | 1e31, 1e32, 1e33, 1e34, 1e35, 1e36, 1e37, 1e38, | ||
| 15767 | 1e39, 1e40, 1e41, 1e42, 1e43, 1e44, 1e45, 1e46, | ||
| 15768 | }); | ||
| 15769 | |||
| 15770 | try testArgs(@Vector(1, f80), @Vector(1, u256), .{ | ||
| 15771 | 0, | ||
| 15772 | }); | ||
| 15773 | try testArgs(@Vector(2, f80), @Vector(2, u256), .{ | ||
| 15774 | 1e0, 1e1, | ||
| 15775 | }); | ||
| 15776 | try testArgs(@Vector(4, f80), @Vector(4, u256), .{ | ||
| 15777 | 1e2, 1e3, 1e4, 1e5, | ||
| 15778 | }); | ||
| 15779 | try testArgs(@Vector(8, f80), @Vector(8, u256), .{ | ||
| 15780 | 1e6, 1e7, 1e8, 1e9, 1e10, 1e11, 1e12, 1e13, | ||
| 15781 | }); | ||
| 15782 | try testArgs(@Vector(16, f80), @Vector(16, u256), .{ | ||
| 15783 | 1e14, 1e15, 1e16, 1e17, 1e18, 1e19, 1e20, 1e21, | ||
| 15784 | 1e22, 1e23, 1e24, 1e25, 1e26, 1e27, 1e28, 1e29, | ||
| 15785 | }); | ||
| 15786 | try testArgs(@Vector(32, f80), @Vector(32, u256), .{ | ||
| 15787 | 1e30, 1e31, 1e32, 1e33, 1e34, 1e35, 1e36, 1e37, | ||
| 15788 | 1e38, 1e39, 1e40, 1e41, 1e42, 1e43, 1e44, 1e45, | ||
| 15789 | 1e46, 1e47, 1e48, 1e49, 1e50, 1e51, 1e52, 1e53, | ||
| 15790 | 1e54, 1e55, 1e56, 1e57, 1e58, 1e59, 1e60, 1e61, | ||
| 15791 | }); | ||
| 15792 | try testArgs(@Vector(64, f80), @Vector(64, u256), .{ | ||
| 15793 | 1e62, 1e63, 1e64, 1e65, 1e66, 1e67, 1e68, 1e69, | ||
| 15794 | 1e70, 1e71, 1e72, 1e73, 1e74, 1e75, 1e76, 1e77, | ||
| 15795 | imax(u256) - 1, imax(u256), 2e0, 2e1, 2e2, 2e3, 2e4, 2e5, | ||
| 15796 | 2e6, 2e7, 2e8, 2e9, 2e10, 2e11, 2e12, 2e13, | ||
| 15797 | 2e14, 2e15, 2e16, 2e17, 2e18, 2e19, 2e20, 2e21, | ||
| 15798 | 2e22, 2e23, 2e24, 2e25, 2e26, 2e27, 2e28, 2e29, | ||
| 15799 | 2e30, 2e31, 2e32, 2e33, 2e34, 2e35, 2e36, 2e37, | ||
| 15800 | 2e38, 2e39, 2e40, 2e41, 2e42, 2e43, 2e44, 2e45, | ||
| 15801 | }); | ||
| 15802 | |||
| 15803 | try testArgs(@Vector(1, f128), @Vector(1, i8), .{ | ||
| 15804 | imin(i8), | ||
| 15805 | }); | ||
| 15806 | try testArgs(@Vector(2, f128), @Vector(2, i8), .{ | ||
| 15807 | imin(i8) + 1, -1e2, | ||
| 15808 | }); | ||
| 15809 | try testArgs(@Vector(4, f128), @Vector(4, i8), .{ | ||
| 15810 | -1e1, -1e0, 0, 1e0, | ||
| 15811 | }); | ||
| 15812 | try testArgs(@Vector(8, f128), @Vector(8, i8), .{ | ||
| 15813 | 1e1, 1e2, imax(i8) - 1, imax(i8), imin(i8) + 2, imin(i8) + 3, -2e1, -2e0, | ||
| 15814 | }); | ||
| 15815 | try testArgs(@Vector(16, f128), @Vector(16, i8), .{ | ||
| 15816 | 2e0, 2e1, imax(i8) - 3, imax(i8) - 2, imin(i8) + 4, imin(i8) + 5, -3e1, -3e0, | ||
| 15817 | 3e0, 3e1, imax(i8) - 5, imax(i8) - 4, imin(i8) + 6, imin(i8) + 7, -4e1, -4e0, | ||
| 15818 | }); | ||
| 15819 | try testArgs(@Vector(32, f128), @Vector(32, i8), .{ | ||
| 15820 | 4e0, 4e1, imax(i8) - 7, imax(i8) - 6, imin(i8) + 8, imin(i8) + 9, -5e1, -5e0, | ||
| 15821 | 5e0, 5e1, imax(i8) - 9, imax(i8) - 8, imin(i8) + 10, imin(i8) + 11, -6e1, -6e0, | ||
| 15822 | 6e0, 6e1, imax(i8) - 11, imax(i8) - 10, imin(i8) + 12, imin(i8) + 13, -7e1, -7e0, | ||
| 15823 | 7e0, 7e1, imax(i8) - 13, imax(i8) - 12, imin(i8) + 14, imin(i8) + 15, -8e1, -8e0, | ||
| 15824 | }); | ||
| 15825 | try testArgs(@Vector(64, f128), @Vector(64, i8), .{ | ||
| 15826 | 8e0, 8e1, imax(i8) - 15, imax(i8) - 14, imin(i8) + 16, imin(i8) + 17, -9e1, -9e0, | ||
| 15827 | 9e0, 9e1, imax(i8) - 17, imax(i8) - 16, imin(i8) + 18, imin(i8) + 19, -11e1, -11e0, | ||
| 15828 | 11e0, 11e1, imax(i8) - 19, imax(i8) - 18, imin(i8) + 20, imin(i8) + 21, -12e1, -12e0, | ||
| 15829 | 12e0, 12e1, imax(i8) - 21, imax(i8) - 20, imin(i8) + 22, imin(i8) + 23, -13e0, 13e0, | ||
| 15830 | imax(i8) - 23, imax(i8) - 22, imin(i8) + 24, imin(i8) + 25, -14e0, 14e0, imax(i8) - 25, imax(i8) - 24, | ||
| 15831 | imin(i8) + 26, imin(i8) + 27, -15e0, 15e0, imax(i8) - 27, imax(i8) - 26, imin(i8) + 28, imin(i8) + 29, | ||
| 15832 | -16e0, 16e0, imax(i8) - 29, imax(i8) - 28, imin(i8) + 30, imin(i8) + 31, -17e0, 17e0, | ||
| 15833 | imax(i8) - 31, imax(i8) - 30, imin(i8) + 32, imin(i8) + 33, -18e0, 18e0, imax(i8) - 33, imax(i8) - 32, | ||
| 15834 | }); | ||
| 15835 | |||
| 15836 | try testArgs(@Vector(1, f128), @Vector(1, u8), .{ | ||
| 15837 | 0, | ||
| 15838 | }); | ||
| 15839 | try testArgs(@Vector(2, f128), @Vector(2, u8), .{ | ||
| 15840 | 1e0, 1e1, | ||
| 15841 | }); | ||
| 15842 | try testArgs(@Vector(4, f128), @Vector(4, u8), .{ | ||
| 15843 | 1e2, imax(u8) - 1, imax(u8), 2e0, | ||
| 15844 | }); | ||
| 15845 | try testArgs(@Vector(8, f128), @Vector(8, u8), .{ | ||
| 15846 | 2e1, 2e2, imax(u8) - 3, imax(u8) - 2, 3e0, 3e1, imax(u8) - 5, imax(u8) - 4, | ||
| 15847 | }); | ||
| 15848 | try testArgs(@Vector(16, f128), @Vector(16, u8), .{ | ||
| 15849 | imax(u8) - 7, imax(u8) - 6, 5e0, 5e1, imax(u8) - 9, imax(u8) - 8, 6e0, 6e1, | ||
| 15850 | imax(u8) - 11, imax(u8) - 10, 7e0, 7e1, imax(u8) - 13, imax(u8) - 12, 8e0, 8e1, | ||
| 15851 | }); | ||
| 15852 | try testArgs(@Vector(32, f128), @Vector(32, u8), .{ | ||
| 15853 | imax(u8) - 15, imax(u8) - 14, 9e0, 9e1, imax(u8) - 17, imax(u8) - 16, 11e0, 11e1, | ||
| 15854 | imax(u8) - 19, imax(u8) - 18, 12e0, 12e1, imax(u8) - 21, imax(u8) - 20, 13e0, 13e1, | ||
| 15855 | imax(u8) - 23, imax(u8) - 22, 14e0, 14e1, imax(u8) - 25, imax(u8) - 24, 15e0, 15e1, | ||
| 15856 | imax(u8) - 27, imax(u8) - 26, 16e0, 16e1, imax(u8) - 29, imax(u8) - 28, 17e0, 17e1, | ||
| 15857 | }); | ||
| 15858 | try testArgs(@Vector(64, f128), @Vector(64, u8), .{ | ||
| 15859 | imax(u8) - 31, imax(u8) - 30, 18e0, 18e1, imax(u8) - 33, imax(u8) - 32, 19e0, 19e1, | ||
| 15860 | imax(u8) - 35, imax(u8) - 34, 21e0, 21e1, imax(u8) - 37, imax(u8) - 36, 22e0, 22e1, | ||
| 15861 | imax(u8) - 39, imax(u8) - 38, 23e0, 23e1, imax(u8) - 41, imax(u8) - 40, 24e0, 24e1, | ||
| 15862 | imax(u8) - 43, imax(u8) - 42, 25e0, 25e1, imax(u8) - 45, imax(u8) - 44, 26e0, imax(u8) - 47, | ||
| 15863 | imax(u8) - 46, 27e0, imax(u8) - 49, imax(u8) - 48, 28e0, imax(u8) - 51, imax(u8) - 50, 29e0, | ||
| 15864 | imax(u8) - 53, imax(u8) - 52, 31e0, imax(u8) - 55, imax(u8) - 54, 32e0, imax(u8) - 57, imax(u8) - 56, | ||
| 15865 | 33e0, imax(u8) - 59, imax(u8) - 58, 34e0, imax(u8) - 61, imax(u8) - 60, 35e0, imax(u8) - 63, | ||
| 15866 | imax(u8) - 62, 36e0, imax(u8) - 65, imax(u8) - 64, 37e0, imax(u8) - 67, imax(u8) - 66, 38e0, | ||
| 15867 | }); | ||
| 15868 | |||
| 15869 | try testArgs(@Vector(1, f128), @Vector(1, i16), .{ | ||
| 15870 | imin(i16), | ||
| 15871 | }); | ||
| 15872 | try testArgs(@Vector(2, f128), @Vector(2, i16), .{ | ||
| 15873 | imin(i16) + 1, -1e4, | ||
| 15874 | }); | ||
| 15875 | try testArgs(@Vector(4, f128), @Vector(4, i16), .{ | ||
| 15876 | -1e3, -1e2, -1e1, -1e0, | ||
| 15877 | }); | ||
| 15878 | try testArgs(@Vector(8, f128), @Vector(8, i16), .{ | ||
| 15879 | 0, 1e0, 1e1, 1e2, 1e3, 1e4, imax(i16) - 1, imax(i16), | ||
| 15880 | }); | ||
| 15881 | try testArgs(@Vector(16, f128), @Vector(16, i16), .{ | ||
| 15882 | imin(i16) + 2, imin(i16) + 3, -2e4, -2e3, -2e2, -2e1, -2e0, 2e0, | ||
| 15883 | 2e1, 2e2, 2e3, 2e4, imax(i16) - 3, imax(i16) - 2, imin(i16) + 4, imin(i16) + 5, | ||
| 15884 | }); | ||
| 15885 | try testArgs(@Vector(32, f128), @Vector(32, i16), .{ | ||
| 15886 | -3e4, -3e3, -3e2, -3e1, -3e0, 3e0, 3e1, 3e2, | ||
| 15887 | 3e3, 3e4, imax(i16) - 5, imax(i16) - 4, imin(i16) + 6, imin(i16) + 7, -4e3, -4e2, | ||
| 15888 | -4e1, -4e0, 4e0, 4e1, 4e2, 4e3, imax(i16) - 7, imax(i16) - 6, | ||
| 15889 | imin(i16) + 8, imin(i16) + 9, -5e3, -5e2, -5e1, -5e0, 5e0, 5e1, | ||
| 15890 | }); | ||
| 15891 | try testArgs(@Vector(64, f128), @Vector(64, i16), .{ | ||
| 15892 | 5e2, 5e3, imax(i16) - 9, imax(i16) - 8, imin(i16) + 10, imin(i16) + 11, -6e3, -6e2, | ||
| 15893 | -6e1, -6e0, 6e0, 6e1, 6e2, 6e3, imax(i16) - 11, imax(i16) - 10, | ||
| 15894 | imin(i16) + 12, imin(i16) + 13, -7e3, -7e2, -7e1, -7e0, 7e0, 7e1, | ||
| 15895 | 7e2, 7e3, imax(i16) - 13, imax(i16) - 12, imin(i16) + 14, imin(i16) + 15, -8e3, -8e2, | ||
| 15896 | -8e1, -8e0, 8e0, 8e1, 8e2, 8e3, imax(i16) - 15, imax(i16) - 14, | ||
| 15897 | imin(i16) + 16, imin(i16) + 17, -9e3, -9e2, -9e1, -9e0, 9e0, 9e1, | ||
| 15898 | 9e2, 9e3, imax(i16) - 17, imax(i16) - 16, imin(i16) + 18, imin(i16) + 19, -11e3, -11e2, | ||
| 15899 | -11e1, -11e0, 11e0, 11e1, 11e2, 11e3, imax(i16) - 19, imax(i16) - 18, | ||
| 15900 | }); | ||
| 15901 | |||
| 15902 | try testArgs(@Vector(1, f128), @Vector(1, u16), .{ | ||
| 15903 | 0, | ||
| 15904 | }); | ||
| 15905 | try testArgs(@Vector(2, f128), @Vector(2, u16), .{ | ||
| 15906 | 1e0, 1e1, | ||
| 15907 | }); | ||
| 15908 | try testArgs(@Vector(4, f128), @Vector(4, u16), .{ | ||
| 15909 | 1e2, 1e3, 1e4, imax(u16) - 1, | ||
| 15910 | }); | ||
| 15911 | try testArgs(@Vector(8, f128), @Vector(8, u16), .{ | ||
| 15912 | imax(u16), 2e0, 2e1, 2e2, 2e3, 2e4, imax(u16) - 3, imax(u16) - 2, | ||
| 15913 | }); | ||
| 15914 | try testArgs(@Vector(16, f128), @Vector(16, u16), .{ | ||
| 15915 | 3e0, 3e1, 3e2, 3e3, 3e4, imax(u16) - 5, imax(u16) - 4, 4e0, | ||
| 15916 | 4e1, 4e2, 4e3, 4e4, imax(u16) - 7, imax(u16) - 6, 5e0, 5e1, | ||
| 15917 | }); | ||
| 15918 | try testArgs(@Vector(32, f128), @Vector(32, u16), .{ | ||
| 15919 | 5e2, 5e3, 5e4, imax(u16) - 9, imax(u16) - 8, 6e0, 6e1, 6e2, | ||
| 15920 | 6e3, 6e4, imax(u16) - 11, imax(u16) - 10, 7e0, 7e1, 7e2, 7e3, | ||
| 15921 | imax(u16) - 13, imax(u16) - 12, 8e0, 8e1, 8e2, 8e3, imax(u16) - 15, imax(u16) - 14, | ||
| 15922 | 9e0, 9e1, 9e2, 9e3, imax(u16) - 17, imax(u16) - 16, 11e0, 11e1, | ||
| 15923 | }); | ||
| 15924 | try testArgs(@Vector(64, f128), @Vector(64, u16), .{ | ||
| 15925 | 11e2, 11e3, imax(u16) - 19, imax(u16) - 18, 12e0, 12e1, 12e2, 12e3, | ||
| 15926 | imax(u16) - 21, imax(u16) - 20, 13e0, 13e1, 13e2, 13e3, imax(u16) - 23, imax(u16) - 22, | ||
| 15927 | 14e0, 14e1, 14e2, 14e3, imax(u16) - 25, imax(u16) - 24, 15e0, 15e1, | ||
| 15928 | 15e2, 15e3, imax(u16) - 27, imax(u16) - 26, 16e0, 16e1, 16e2, 16e3, | ||
| 15929 | imax(u16) - 29, imax(u16) - 28, 17e0, 17e1, 17e2, 17e3, imax(u16) - 31, imax(u16) - 30, | ||
| 15930 | 18e0, 18e1, 18e2, 18e3, imax(u16) - 33, imax(u16) - 32, 19e0, 19e1, | ||
| 15931 | 19e2, 19e3, imax(u16) - 35, imax(u16) - 34, 21e0, 21e1, 21e2, 21e3, | ||
| 15932 | imax(u16) - 37, imax(u16) - 36, 22e0, 22e1, 22e2, 22e3, imax(u16) - 39, imax(u16) - 38, | ||
| 15933 | }); | ||
| 15934 | |||
| 15935 | try testArgs(@Vector(1, f128), @Vector(1, i32), .{ | ||
| 15936 | imin(i32), | ||
| 15937 | }); | ||
| 15938 | try testArgs(@Vector(2, f128), @Vector(2, i32), .{ | ||
| 15939 | imin(i32) + 1, -1e9, | ||
| 15940 | }); | ||
| 15941 | try testArgs(@Vector(4, f128), @Vector(4, i32), .{ | ||
| 15942 | -1e8, -1e7, -1e6, -1e5, | ||
| 15943 | }); | ||
| 15944 | try testArgs(@Vector(8, f128), @Vector(8, i32), .{ | ||
| 15945 | -1e4, -1e3, -1e2, -1e1, -1e0, 0, 1e0, 1e1, | ||
| 15946 | }); | ||
| 15947 | try testArgs(@Vector(16, f128), @Vector(16, i32), .{ | ||
| 15948 | 1e2, 1e3, 1e4, 1e5, 1e6, 1e7, 1e8, 1e9, | ||
| 15949 | imax(i32) - 1, imax(i32), imin(i32) + 2, imin(i32) + 3, -2e9, -2e8, -2e7, -2e6, | ||
| 15950 | }); | ||
| 15951 | try testArgs(@Vector(32, f128), @Vector(32, i32), .{ | ||
| 15952 | -2e5, -2e4, -2e3, -2e2, -2e1, -2e0, 2e0, 2e1, | ||
| 15953 | 2e2, 2e3, 2e4, 2e5, 2e6, 2e7, 2e8, 2e9, | ||
| 15954 | imax(i32) - 3, imax(i32) - 2, imin(i32) + 4, imin(i32) + 5, -3e8, -3e7, -3e6, -3e5, | ||
| 15955 | -3e4, -3e3, -3e2, -3e1, -3e0, 3e0, 3e1, 3e2, | ||
| 15956 | }); | ||
| 15957 | try testArgs(@Vector(64, f128), @Vector(64, i32), .{ | ||
| 15958 | 3e3, 3e4, 3e5, 3e6, 3e7, 3e8, imax(i32) - 5, imax(i32) - 4, | ||
| 15959 | imin(i32) + 6, imin(i32) + 7, -4e8, -4e7, -4e6, -4e5, -4e4, -4e3, | ||
| 15960 | -4e2, -4e1, -4e0, 4e0, 4e1, 4e2, 4e3, 4e4, | ||
| 15961 | 4e5, 4e6, 4e7, 4e8, imax(i32) - 7, imax(i32) - 6, imin(i32) + 8, imin(i32) + 9, | ||
| 15962 | -5e8, -5e7, -5e6, -5e5, -5e4, -5e3, -5e2, -5e1, | ||
| 15963 | -5e0, 5e0, 5e1, 5e2, 5e3, 5e4, 5e5, 5e6, | ||
| 15964 | 5e7, 5e8, imax(i32) - 9, imax(i32) - 8, imin(i32) + 10, imin(i32) + 11, -6e8, -6e7, | ||
| 15965 | -6e6, -6e5, -6e4, -6e3, -6e2, -6e1, -6e0, 6e0, | ||
| 15966 | }); | ||
| 15967 | |||
| 15968 | try testArgs(@Vector(1, f128), @Vector(1, u32), .{ | ||
| 15969 | 0, | ||
| 15970 | }); | ||
| 15971 | try testArgs(@Vector(2, f128), @Vector(2, u32), .{ | ||
| 15972 | 1e0, 1e1, | ||
| 15973 | }); | ||
| 15974 | try testArgs(@Vector(4, f128), @Vector(4, u32), .{ | ||
| 15975 | 1e2, 1e3, 1e4, imax(u32) - 1, | ||
| 15976 | }); | ||
| 15977 | try testArgs(@Vector(8, f128), @Vector(8, u32), .{ | ||
| 15978 | imax(u32), 2e0, 2e1, 2e2, 2e3, 2e4, imax(u32) - 3, imax(u32) - 2, | ||
| 15979 | }); | ||
| 15980 | try testArgs(@Vector(16, f128), @Vector(16, u32), .{ | ||
| 15981 | 3e0, 3e1, 3e2, 3e3, 3e4, imax(u32) - 5, imax(u32) - 4, 4e0, | ||
| 15982 | 4e1, 4e2, 4e3, 4e4, imax(u32) - 7, imax(u32) - 6, 5e0, 5e1, | ||
| 15983 | }); | ||
| 15984 | try testArgs(@Vector(32, f128), @Vector(32, u32), .{ | ||
| 15985 | 5e2, 5e3, 5e4, imax(u32) - 9, imax(u32) - 8, 6e0, 6e1, 6e2, | ||
| 15986 | 6e3, 6e4, imax(u32) - 11, imax(u32) - 10, 7e0, 7e1, 7e2, 7e3, | ||
| 15987 | imax(u32) - 13, imax(u32) - 12, 8e0, 8e1, 8e2, 8e3, imax(u32) - 15, imax(u32) - 14, | ||
| 15988 | 9e0, 9e1, 9e2, 9e3, imax(u32) - 17, imax(u32) - 16, 11e0, 11e1, | ||
| 15989 | }); | ||
| 15990 | try testArgs(@Vector(64, f128), @Vector(64, u32), .{ | ||
| 15991 | 11e2, 11e3, imax(u32) - 19, imax(u32) - 18, 12e0, 12e1, 12e2, 12e3, | ||
| 15992 | imax(u32) - 21, imax(u32) - 20, 13e0, 13e1, 13e2, 13e3, imax(u32) - 23, imax(u32) - 22, | ||
| 15993 | 14e0, 14e1, 14e2, 14e3, imax(u32) - 25, imax(u32) - 24, 15e0, 15e1, | ||
| 15994 | 15e2, 15e3, imax(u32) - 27, imax(u32) - 26, 16e0, 16e1, 16e2, 16e3, | ||
| 15995 | imax(u32) - 29, imax(u32) - 28, 17e0, 17e1, 17e2, 17e3, imax(u32) - 31, imax(u32) - 30, | ||
| 15996 | 18e0, 18e1, 18e2, 18e3, imax(u32) - 33, imax(u32) - 32, 19e0, 19e1, | ||
| 15997 | 19e2, 19e3, imax(u32) - 35, imax(u32) - 34, 21e0, 21e1, 21e2, 21e3, | ||
| 15998 | imax(u32) - 37, imax(u32) - 36, 22e0, 22e1, 22e2, 22e3, imax(u32) - 39, imax(u32) - 38, | ||
| 15999 | }); | ||
| 16000 | |||
| 16001 | try testArgs(@Vector(1, f128), @Vector(1, i64), .{ | ||
| 16002 | imin(i64), | ||
| 16003 | }); | ||
| 16004 | try testArgs(@Vector(2, f128), @Vector(2, i64), .{ | ||
| 16005 | imin(i64) + 1, -1e18, | ||
| 16006 | }); | ||
| 16007 | try testArgs(@Vector(4, f128), @Vector(4, i64), .{ | ||
| 16008 | -1e17, -1e16, -1e15, -1e14, | ||
| 16009 | }); | ||
| 16010 | try testArgs(@Vector(8, f128), @Vector(8, i64), .{ | ||
| 16011 | -1e13, -1e12, -1e11, -1e10, -1e9, -1e8, -1e7, -1e6, | ||
| 16012 | }); | ||
| 16013 | try testArgs(@Vector(16, f128), @Vector(16, i64), .{ | ||
| 16014 | -1e5, -1e4, -1e3, -1e2, -1e1, -1e0, 0, 1e0, | ||
| 16015 | 1e1, 1e2, 1e3, 1e4, 1e5, 1e6, 1e7, 1e8, | ||
| 16016 | }); | ||
| 16017 | try testArgs(@Vector(32, f128), @Vector(32, i64), .{ | ||
| 16018 | 1e9, 1e10, 1e11, 1e12, 1e13, 1e14, 1e15, 1e16, | ||
| 16019 | 1e17, 1e18, imax(i64) - 1, imax(i64), imin(i64) + 2, imin(i64) + 3, -2e18, -2e17, | ||
| 16020 | -2e16, -2e15, -2e14, -2e13, -2e12, -2e11, -2e10, -2e9, | ||
| 16021 | -2e8, -2e7, -2e6, -2e5, -2e4, -2e3, -2e2, -2e1, | ||
| 16022 | }); | ||
| 16023 | try testArgs(@Vector(64, f128), @Vector(64, i64), .{ | ||
| 16024 | -2e0, 2e0, 2e1, 2e2, 2e3, 2e4, 2e5, 2e6, | ||
| 16025 | 2e7, 2e8, 2e9, 2e10, 2e11, 2e12, 2e13, 2e14, | ||
| 16026 | 2e15, 2e16, 2e17, 2e18, imax(i64) - 3, imax(i64) - 2, imin(i64) + 4, imin(i64) + 5, | ||
| 16027 | -3e18, -3e17, -3e16, -3e15, -3e14, -3e13, -3e12, -3e11, | ||
| 16028 | -3e10, -3e9, -3e8, -3e7, -3e6, -3e5, -3e4, -3e3, | ||
| 16029 | -3e2, -3e1, -3e0, 3e0, 3e1, 3e2, 3e3, 3e4, | ||
| 16030 | 3e5, 3e6, 3e7, 3e8, 3e9, 3e10, 3e11, 3e12, | ||
| 16031 | 3e13, 3e14, 3e15, 3e16, 3e17, 3e18, imax(i64) - 5, imax(i64) - 4, | ||
| 16032 | }); | ||
| 16033 | |||
| 16034 | try testArgs(@Vector(1, f128), @Vector(1, u64), .{ | ||
| 16035 | 0, | ||
| 16036 | }); | ||
| 16037 | try testArgs(@Vector(2, f128), @Vector(2, u64), .{ | ||
| 16038 | 1e0, 1e1, | ||
| 16039 | }); | ||
| 16040 | try testArgs(@Vector(4, f128), @Vector(4, u64), .{ | ||
| 16041 | 1e2, 1e3, 1e4, 1e5, | ||
| 16042 | }); | ||
| 16043 | try testArgs(@Vector(8, f128), @Vector(8, u64), .{ | ||
| 16044 | 1e6, 1e7, 1e8, 1e9, 1e10, 1e11, 1e12, 1e13, | ||
| 16045 | }); | ||
| 16046 | try testArgs(@Vector(16, f128), @Vector(16, u64), .{ | ||
| 16047 | 1e14, 1e15, 1e16, 1e17, 1e18, 1e19, imax(u64) - 1, imax(u64), | ||
| 16048 | 2e0, 2e1, 2e2, 2e3, 2e4, 2e5, 2e6, 2e7, | ||
| 16049 | }); | ||
| 16050 | try testArgs(@Vector(32, f128), @Vector(32, u64), .{ | ||
| 16051 | 2e8, 2e9, 2e10, 2e11, 2e12, 2e13, 2e14, 2e15, | ||
| 16052 | 2e16, 2e17, 2e18, imax(u64) - 3, imax(u64) - 2, 3e0, 3e1, 3e2, | ||
| 16053 | 3e3, 3e4, 3e5, 3e6, 3e7, 3e8, 3e9, 3e10, | ||
| 16054 | 3e11, 3e12, 3e13, 3e14, 3e15, 3e16, 3e17, 3e18, | ||
| 16055 | }); | ||
| 16056 | try testArgs(@Vector(64, f128), @Vector(64, u64), .{ | ||
| 16057 | imax(u64) - 5, imax(u64) - 4, 4e0, 4e1, 4e2, 4e3, 4e4, 4e5, | ||
| 16058 | 4e6, 4e7, 4e8, 4e9, 4e10, 4e11, 4e12, 4e13, | ||
| 16059 | 4e14, 4e15, 4e16, 4e17, 4e18, imax(u64) - 7, imax(u64) - 6, 5e0, | ||
| 16060 | 5e1, 5e2, 5e3, 5e4, 5e5, 5e6, 5e7, 5e8, | ||
| 16061 | 5e9, 5e10, 5e11, 5e12, 5e13, 5e14, 5e15, 5e16, | ||
| 16062 | 5e17, 5e18, imax(u64) - 9, imax(u64) - 8, 6e0, 6e1, 6e2, 6e3, | ||
| 16063 | 6e4, 6e5, 6e6, 6e7, 6e8, 6e9, 6e10, 6e11, | ||
| 16064 | 6e12, 6e13, 6e14, 6e15, 6e16, 6e17, 6e18, imax(u64) - 11, | ||
| 16065 | }); | ||
| 16066 | |||
| 16067 | try testArgs(@Vector(1, f128), @Vector(1, i128), .{ | ||
| 16068 | imin(i128), | ||
| 16069 | }); | ||
| 16070 | try testArgs(@Vector(2, f128), @Vector(2, i128), .{ | ||
| 16071 | imin(i128) + 1, -1e38, | ||
| 16072 | }); | ||
| 16073 | try testArgs(@Vector(4, f128), @Vector(4, i128), .{ | ||
| 16074 | -1e37, -1e36, -1e35, -1e34, | ||
| 16075 | }); | ||
| 16076 | try testArgs(@Vector(8, f128), @Vector(8, i128), .{ | ||
| 16077 | -1e33, -1e32, -1e31, -1e30, -1e29, -1e28, -1e27, -1e26, | ||
| 16078 | }); | ||
| 16079 | try testArgs(@Vector(16, f128), @Vector(16, i128), .{ | ||
| 16080 | -1e25, -1e24, -1e23, -1e22, -1e21, -1e20, -1e19, -1e18, | ||
| 16081 | -1e17, -1e16, -1e15, -1e14, -1e13, -1e12, -1e11, -1e10, | ||
| 16082 | }); | ||
| 16083 | try testArgs(@Vector(32, f128), @Vector(32, i128), .{ | ||
| 16084 | -1e9, -1e8, -1e7, -1e6, -1e5, -1e4, -1e3, -1e2, | ||
| 16085 | -1e1, -1e0, 0, 1e0, 1e1, 1e2, 1e3, 1e4, | ||
| 16086 | 1e5, 1e6, 1e7, 1e8, 1e9, 1e10, 1e11, 1e12, | ||
| 16087 | 1e13, 1e14, 1e15, 1e16, 1e17, 1e18, 1e19, 1e20, | ||
| 16088 | }); | ||
| 16089 | try testArgs(@Vector(64, f128), @Vector(64, i128), .{ | ||
| 16090 | 1e21, 1e22, 1e23, 1e24, 1e25, 1e26, 1e27, 1e28, | ||
| 16091 | 1e29, 1e30, 1e31, 1e32, 1e33, 1e34, 1e35, 1e36, | ||
| 16092 | 1e37, 1e38, imax(i128) - 1, imax(i128), imin(i128) + 2, imin(i128) + 3, -2e37, -2e36, | ||
| 16093 | -2e35, -2e34, -2e33, -2e32, -2e31, -2e30, -2e29, -2e28, | ||
| 16094 | -2e27, -2e26, -2e25, -2e24, -2e23, -2e22, -2e21, -2e20, | ||
| 16095 | -2e19, -2e18, -2e17, -2e16, -2e15, -2e14, -2e13, -2e12, | ||
| 16096 | -2e11, -2e10, -2e9, -2e8, -2e7, -2e6, -2e5, -2e4, | ||
| 16097 | -2e3, -2e2, -2e1, -2e0, 2e0, 2e1, 2e2, 2e3, | ||
| 16098 | }); | ||
| 16099 | |||
| 16100 | try testArgs(@Vector(1, f128), @Vector(1, u128), .{ | ||
| 16101 | 0, | ||
| 16102 | }); | ||
| 16103 | try testArgs(@Vector(2, f128), @Vector(2, u128), .{ | ||
| 16104 | 1e0, 1e1, | ||
| 16105 | }); | ||
| 16106 | try testArgs(@Vector(4, f128), @Vector(4, u128), .{ | ||
| 16107 | 1e2, 1e3, 1e4, 1e5, | ||
| 16108 | }); | ||
| 16109 | try testArgs(@Vector(8, f128), @Vector(8, u128), .{ | ||
| 16110 | 1e6, 1e7, 1e8, 1e9, 1e10, 1e11, 1e12, 1e13, | ||
| 16111 | }); | ||
| 16112 | try testArgs(@Vector(16, f128), @Vector(16, u128), .{ | ||
| 16113 | 1e14, 1e15, 1e16, 1e17, 1e18, 1e19, 1e20, 1e21, | ||
| 16114 | 1e22, 1e23, 1e24, 1e25, 1e26, 1e27, 1e28, 1e29, | ||
| 16115 | }); | ||
| 16116 | try testArgs(@Vector(32, f128), @Vector(32, u128), .{ | ||
| 16117 | 1e30, 1e31, 1e32, 1e33, 1e34, 1e35, 1e36, 1e37, | ||
| 16118 | 1e38, imax(u128) - 1, imax(u128), 2e0, 2e1, 2e2, 2e3, 2e4, | ||
| 16119 | 2e5, 2e6, 2e7, 2e8, 2e9, 2e10, 2e11, 2e12, | ||
| 16120 | 2e13, 2e14, 2e15, 2e16, 2e17, 2e18, 2e19, 2e20, | ||
| 16121 | }); | ||
| 16122 | try testArgs(@Vector(64, f128), @Vector(64, u128), .{ | ||
| 16123 | 2e21, 2e22, 2e23, 2e24, 2e25, 2e26, 2e27, 2e28, | ||
| 16124 | 2e29, 2e30, 2e31, 2e32, 2e33, 2e34, 2e35, 2e36, | ||
| 16125 | 2e37, 2e38, imax(u128) - 3, imax(u128) - 2, 3e0, 3e1, 3e2, 3e3, | ||
| 16126 | 3e4, 3e5, 3e6, 3e7, 3e8, 3e9, 3e10, 3e11, | ||
| 16127 | 3e12, 3e13, 3e14, 3e15, 3e16, 3e17, 3e18, 3e19, | ||
| 16128 | 3e20, 3e21, 3e22, 3e23, 3e24, 3e25, 3e26, 3e27, | ||
| 16129 | 3e28, 3e29, 3e30, 3e31, 3e32, 3e33, 3e34, 3e35, | ||
| 16130 | 3e36, 3e37, 3e38, imax(u128) - 5, imax(u128) - 4, 4e0, 4e1, 4e2, | ||
| 16131 | }); | ||
| 16132 | |||
| 16133 | try testArgs(@Vector(1, f128), @Vector(1, i256), .{ | ||
| 16134 | imin(i256), | ||
| 16135 | }); | ||
| 16136 | try testArgs(@Vector(2, f128), @Vector(2, i256), .{ | ||
| 16137 | imin(i256) + 1, -1e76, | ||
| 16138 | }); | ||
| 16139 | try testArgs(@Vector(4, f128), @Vector(4, i256), .{ | ||
| 16140 | -1e75, -1e74, -1e73, -1e72, | ||
| 16141 | }); | ||
| 16142 | try testArgs(@Vector(8, f128), @Vector(8, i256), .{ | ||
| 16143 | -1e71, -1e70, -1e69, -1e68, -1e67, -1e66, -1e65, -1e64, | ||
| 16144 | }); | ||
| 16145 | try testArgs(@Vector(16, f128), @Vector(16, i256), .{ | ||
| 16146 | -1e63, -1e62, -1e61, -1e60, -1e59, -1e58, -1e57, -1e56, | ||
| 16147 | -1e55, -1e54, -1e53, -1e52, -1e51, -1e50, -1e49, -1e48, | ||
| 16148 | }); | ||
| 16149 | try testArgs(@Vector(32, f128), @Vector(32, i256), .{ | ||
| 16150 | -1e47, -1e46, -1e45, -1e44, -1e43, -1e42, -1e41, -1e40, | ||
| 16151 | -1e39, -1e38, -1e37, -1e36, -1e35, -1e34, -1e33, -1e32, | ||
| 16152 | -1e31, -1e30, -1e29, -1e28, -1e27, -1e26, -1e25, -1e24, | ||
| 16153 | -1e23, -1e22, -1e21, -1e20, -1e19, -1e18, -1e17, -1e16, | ||
| 16154 | }); | ||
| 16155 | try testArgs(@Vector(64, f128), @Vector(64, i256), .{ | ||
| 16156 | -1e15, -1e14, -1e13, -1e12, -1e11, -1e10, -1e9, -1e8, | ||
| 16157 | -1e7, -1e6, -1e5, -1e4, -1e3, -1e2, -1e1, -1e0, | ||
| 16158 | 0, 1e0, 1e1, 1e2, 1e3, 1e4, 1e5, 1e6, | ||
| 16159 | 1e7, 1e8, 1e9, 1e10, 1e11, 1e12, 1e13, 1e14, | ||
| 16160 | 1e15, 1e16, 1e17, 1e18, 1e19, 1e20, 1e21, 1e22, | ||
| 16161 | 1e23, 1e24, 1e25, 1e26, 1e27, 1e28, 1e29, 1e30, | ||
| 16162 | 1e31, 1e32, 1e33, 1e34, 1e35, 1e36, 1e37, 1e38, | ||
| 16163 | 1e39, 1e40, 1e41, 1e42, 1e43, 1e44, 1e45, 1e46, | ||
| 16164 | }); | ||
| 16165 | |||
| 16166 | try testArgs(@Vector(1, f128), @Vector(1, u256), .{ | ||
| 16167 | 0, | ||
| 16168 | }); | ||
| 16169 | try testArgs(@Vector(2, f128), @Vector(2, u256), .{ | ||
| 16170 | 1e0, 1e1, | ||
| 16171 | }); | ||
| 16172 | try testArgs(@Vector(4, f128), @Vector(4, u256), .{ | ||
| 16173 | 1e2, 1e3, 1e4, 1e5, | ||
| 16174 | }); | ||
| 16175 | try testArgs(@Vector(8, f128), @Vector(8, u256), .{ | ||
| 16176 | 1e6, 1e7, 1e8, 1e9, 1e10, 1e11, 1e12, 1e13, | ||
| 16177 | }); | ||
| 16178 | try testArgs(@Vector(16, f128), @Vector(16, u256), .{ | ||
| 16179 | 1e14, 1e15, 1e16, 1e17, 1e18, 1e19, 1e20, 1e21, | ||
| 16180 | 1e22, 1e23, 1e24, 1e25, 1e26, 1e27, 1e28, 1e29, | ||
| 16181 | }); | ||
| 16182 | try testArgs(@Vector(32, f128), @Vector(32, u256), .{ | ||
| 16183 | 1e30, 1e31, 1e32, 1e33, 1e34, 1e35, 1e36, 1e37, | ||
| 16184 | 1e38, 1e39, 1e40, 1e41, 1e42, 1e43, 1e44, 1e45, | ||
| 16185 | 1e46, 1e47, 1e48, 1e49, 1e50, 1e51, 1e52, 1e53, | ||
| 16186 | 1e54, 1e55, 1e56, 1e57, 1e58, 1e59, 1e60, 1e61, | ||
| 16187 | }); | ||
| 16188 | try testArgs(@Vector(64, f128), @Vector(64, u256), .{ | ||
| 16189 | 1e62, 1e63, 1e64, 1e65, 1e66, 1e67, 1e68, 1e69, | ||
| 16190 | 1e70, 1e71, 1e72, 1e73, 1e74, 1e75, 1e76, 1e77, | ||
| 16191 | imax(u256) - 1, imax(u256), 2e0, 2e1, 2e2, 2e3, 2e4, 2e5, | ||
| 16192 | 2e6, 2e7, 2e8, 2e9, 2e10, 2e11, 2e12, 2e13, | ||
| 16193 | 2e14, 2e15, 2e16, 2e17, 2e18, 2e19, 2e20, 2e21, | ||
| 16194 | 2e22, 2e23, 2e24, 2e25, 2e26, 2e27, 2e28, 2e29, | ||
| 16195 | 2e30, 2e31, 2e32, 2e33, 2e34, 2e35, 2e36, 2e37, | ||
| 16196 | 2e38, 2e39, 2e40, 2e41, 2e42, 2e43, 2e44, 2e45, | ||
| 16197 | }); | ||
| 16198 | } | ||
| 16199 | }; | ||
| 16200 | } | ||
| 16201 | |||
| 16202 | fn binary(comptime op: anytype, comptime opts: struct { compare: Compare = .relaxed }) type { | ||
| 16203 | return struct { | ||
| 16204 | // noinline so that `mem_lhs` and `mem_rhs` are on the stack | ||
| 16205 | noinline fn testArgKinds( | ||
| 16206 | _: Gpr, | ||
| 16207 | _: Gpr, | ||
| 16208 | _: Gpr, | ||
| 16209 | _: Gpr, | ||
| 16210 | _: Gpr, | ||
| 16211 | _: Gpr, | ||
| 16212 | _: Gpr, | ||
| 16213 | _: Gpr, | ||
| 16214 | _: Sse, | ||
| 16215 | _: Sse, | ||
| 16216 | _: Sse, | ||
| 16217 | _: Sse, | ||
| 16218 | _: Sse, | ||
| 16219 | _: Sse, | ||
| 16220 | _: Sse, | ||
| 16221 | _: Sse, | ||
| 16222 | comptime Type: type, | ||
| 16223 | comptime imm_lhs: Type, | ||
| 16224 | mem_lhs: Type, | ||
| 16225 | comptime imm_rhs: Type, | ||
| 16226 | mem_rhs: Type, | ||
| 16227 | ) !void { | ||
| 16228 | const expected = comptime op(Type, imm_lhs, imm_rhs); | ||
| 16229 | var reg_lhs = mem_lhs; | ||
| 16230 | var reg_rhs = mem_rhs; | ||
| 16231 | _ = .{ &reg_lhs, &reg_rhs }; | ||
| 16232 | try checkExpected(expected, op(Type, reg_lhs, reg_rhs), opts.compare); | ||
| 16233 | try checkExpected(expected, op(Type, reg_lhs, mem_rhs), opts.compare); | ||
| 16234 | try checkExpected(expected, op(Type, reg_lhs, imm_rhs), opts.compare); | ||
| 16235 | try checkExpected(expected, op(Type, mem_lhs, reg_rhs), opts.compare); | ||
| 16236 | try checkExpected(expected, op(Type, mem_lhs, mem_rhs), opts.compare); | ||
| 16237 | try checkExpected(expected, op(Type, mem_lhs, imm_rhs), opts.compare); | ||
| 16238 | try checkExpected(expected, op(Type, imm_lhs, reg_rhs), opts.compare); | ||
| 16239 | try checkExpected(expected, op(Type, imm_lhs, mem_rhs), opts.compare); | ||
| 16240 | } | ||
| 16241 | // noinline for a more helpful stack trace | ||
| 16242 | noinline fn testArgs(comptime Type: type, comptime imm_lhs: Type, comptime imm_rhs: Type) !void { | ||
| 16243 | try testArgKinds( | ||
| 16244 | undefined, | ||
| 16245 | undefined, | ||
| 16246 | undefined, | ||
| 16247 | undefined, | ||
| 16248 | undefined, | ||
| 16249 | undefined, | ||
| 16250 | undefined, | ||
| 16251 | undefined, | ||
| 16252 | undefined, | ||
| 16253 | undefined, | ||
| 16254 | undefined, | ||
| 16255 | undefined, | ||
| 16256 | undefined, | ||
| 16257 | undefined, | ||
| 16258 | undefined, | ||
| 16259 | undefined, | ||
| 16260 | Type, | ||
| 16261 | imm_lhs, | ||
| 16262 | imm_lhs, | ||
| 16263 | imm_rhs, | ||
| 16264 | imm_rhs, | ||
| 16265 | ); | ||
| 16266 | } | ||
| 16267 | fn testInts() !void { | ||
| 16268 | try testArgs(i4, 0x3, 0x2); | ||
| 16269 | try testArgs(u4, 0xe, 0x6); | ||
| 16270 | try testArgs(i8, 0x48, 0x6c); | ||
| 16271 | try testArgs(u8, 0xbb, 0x43); | ||
| 16272 | try testArgs(i16, -0x0fdf, 0x302e); | ||
| 16273 | try testArgs(u16, 0xb8bf, 0x626d); | ||
| 16274 | try testArgs(i32, -0x6280178f, 0x6802c034); | ||
| 16275 | try testArgs(u32, 0x80d7a2c6, 0xbff6a402); | ||
| 16276 | try testArgs(i64, 0x0365a53b8ee0c987, -0x1bb6d3013500a7d2); | ||
| 16277 | try testArgs(u64, 0x71138bc6b4a38898, 0x1bc4043de9438c7b); | ||
| 16278 | try testArgs(i128, 0x76d428c46cdeaa2ac43de8abffb22f6d, 0x427f7545abe434a12544fdbe2a012889); | ||
| 16279 | try testArgs(u128, 0xe05fc132ef2cd8affee00a907f0a851f, 0x29f912a72cfc6a7c6973426a9636da9a); | ||
| 16280 | try testArgs(i256, -0x53d4148cee74ea43477a65b3daa7b8fdadcbf4508e793f4af113b8d8da5a7eb6, -0x30dcbaf7b9b7a3df033694e6795444d842fb0b8f79bc18b3ea8a6b7ccad3ea91); | ||
| 16281 | try testArgs(u256, 0xb7935f5c2f3b1ae7a422c0a7c446884294b7d5370bada307d2fe5a4c4284a999, 0x310e6e196ba4f143b8d285ca6addf7f3bb3344224aff221b27607a31e148be08); | ||
| 16282 | try testArgs(i258, -0x0eee283365108dbeea0bec82f5147418d8ffe86f9eed00e414b4eccd65c21239a, -0x122c730073fc29a24cd6e3e6263566879bc5325d8566b8db31fcb4a76f7ab95eb); | ||
| 16283 | try testArgs(u258, 0x186d5ddaab8cb8cb04e5b41e36f812e039d008baf49f12894c39e29a07796d800, 0x2072daba6ffad168826163eb136f6d28ca4360c8e7e5e41e29755e19e4753a4f5); | ||
| 16284 | try testArgs(i495, 0x2fe6bc5448c55ce18252e2c9d44777505dfe63ff249a8027a6626c7d8dd9893fd5731e51474727be556f757facb586a4e04bbc0148c6c7ad692302f46fbd, -0x016a358821ef8240172f3a08e8830c06e6bcf2225f5f4d41ed42b44d249385f55cc594e1278ecac31c73faed890e5054af1a561483bb1bb6fb1f753514cf); | ||
| 16285 | try testArgs(u495, 0x6eaf4e252b3bf74b75bac59e0b43ca5326bad2a25b3fdb74a67ef132ac5e47d72eebc3316fb2351ee66c50dc5afb92a75cea9b0e35160652c7db39eeb158, 0x49fbed744a92b549d8c05bb3512c617d24dd824f3f69bdf3923bc326a75674b85f5b828d2566fab9c86f571d12c2a63c9164feb0d191d27905533d09622a); | ||
| 16286 | try testArgs(i512, -0x3a6876ca92775286c6e1504a64a9b8d56985bebf4a1b66539d404e0e96f24b226f70c4bcff295fdc2043b82513b2052dc45fd78f7e9e80e5b3e101757289f054, 0x5080c516a819bd32a0a5f0976441bbfbcf89e77684f1f10eb326aeb28e1f8d593278cff60fc99b8ffc87d8696882c64728dd3c322b7142803f4341f85a03bc10); | ||
| 16287 | try testArgs(u512, 0xe5b1fedca3c77db765e517aabd05ffc524a3a8aff1784bbf67c45b894447ede32b65b9940e78173c591e56e078932d465f235aece7ad47b7f229df7ba8f12295, 0x8b4bb7c2969e3b121cc1082c442f8b4330f0a50058438fed56447175bb10178607ecfe425cb54dacc25ef26810f3e04681de1844f1aa8d029aca75d658634806); | ||
| 16288 | } | ||
| 16289 | fn testFloats() !void { | ||
| 16290 | @setEvalBranchQuota(21_700); | ||
| 16291 | |||
| 16292 | try testArgs(f16, -nan(f16), -nan(f16)); | ||
| 16293 | try testArgs(f16, -nan(f16), -inf(f16)); | ||
| 16294 | try testArgs(f16, -nan(f16), -fmax(f16)); | ||
| 16295 | try testArgs(f16, -nan(f16), -1e1); | ||
| 16296 | try testArgs(f16, -nan(f16), -1e0); | ||
| 16297 | try testArgs(f16, -nan(f16), -1e-1); | ||
| 16298 | try testArgs(f16, -nan(f16), -fmin(f16)); | ||
| 16299 | try testArgs(f16, -nan(f16), -tmin(f16)); | ||
| 16300 | try testArgs(f16, -nan(f16), -0.0); | ||
| 16301 | try testArgs(f16, -nan(f16), 0.0); | ||
| 16302 | try testArgs(f16, -nan(f16), tmin(f16)); | ||
| 16303 | try testArgs(f16, -nan(f16), fmin(f16)); | ||
| 16304 | try testArgs(f16, -nan(f16), 1e-1); | ||
| 16305 | try testArgs(f16, -nan(f16), 1e0); | ||
| 16306 | try testArgs(f16, -nan(f16), 1e1); | ||
| 16307 | try testArgs(f16, -nan(f16), fmax(f16)); | ||
| 16308 | try testArgs(f16, -nan(f16), inf(f16)); | ||
| 16309 | try testArgs(f16, -nan(f16), nan(f16)); | ||
| 16310 | |||
| 16311 | try testArgs(f16, -inf(f16), -nan(f16)); | ||
| 16312 | try testArgs(f16, -inf(f16), -inf(f16)); | ||
| 16313 | try testArgs(f16, -inf(f16), -fmax(f16)); | ||
| 16314 | try testArgs(f16, -inf(f16), -1e1); | ||
| 16315 | try testArgs(f16, -inf(f16), -1e0); | ||
| 16316 | try testArgs(f16, -inf(f16), -1e-1); | ||
| 16317 | try testArgs(f16, -inf(f16), -fmin(f16)); | ||
| 16318 | try testArgs(f16, -inf(f16), -tmin(f16)); | ||
| 16319 | try testArgs(f16, -inf(f16), -0.0); | ||
| 16320 | try testArgs(f16, -inf(f16), 0.0); | ||
| 16321 | try testArgs(f16, -inf(f16), tmin(f16)); | ||
| 16322 | try testArgs(f16, -inf(f16), fmin(f16)); | ||
| 16323 | try testArgs(f16, -inf(f16), 1e-1); | ||
| 16324 | try testArgs(f16, -inf(f16), 1e0); | ||
| 16325 | try testArgs(f16, -inf(f16), 1e1); | ||
| 16326 | try testArgs(f16, -inf(f16), fmax(f16)); | ||
| 16327 | try testArgs(f16, -inf(f16), inf(f16)); | ||
| 16328 | try testArgs(f16, -inf(f16), nan(f16)); | ||
| 16329 | |||
| 16330 | try testArgs(f16, -fmax(f16), -nan(f16)); | ||
| 16331 | try testArgs(f16, -fmax(f16), -inf(f16)); | ||
| 16332 | try testArgs(f16, -fmax(f16), -fmax(f16)); | ||
| 16333 | try testArgs(f16, -fmax(f16), -1e1); | ||
| 16334 | try testArgs(f16, -fmax(f16), -1e0); | ||
| 16335 | try testArgs(f16, -fmax(f16), -1e-1); | ||
| 16336 | try testArgs(f16, -fmax(f16), -fmin(f16)); | ||
| 16337 | try testArgs(f16, -fmax(f16), -tmin(f16)); | ||
| 16338 | try testArgs(f16, -fmax(f16), -0.0); | ||
| 16339 | try testArgs(f16, -fmax(f16), 0.0); | ||
| 16340 | try testArgs(f16, -fmax(f16), tmin(f16)); | ||
| 16341 | try testArgs(f16, -fmax(f16), fmin(f16)); | ||
| 16342 | try testArgs(f16, -fmax(f16), 1e-1); | ||
| 16343 | try testArgs(f16, -fmax(f16), 1e0); | ||
| 16344 | try testArgs(f16, -fmax(f16), 1e1); | ||
| 16345 | try testArgs(f16, -fmax(f16), fmax(f16)); | ||
| 16346 | try testArgs(f16, -fmax(f16), inf(f16)); | ||
| 16347 | try testArgs(f16, -fmax(f16), nan(f16)); | ||
| 16348 | |||
| 16349 | try testArgs(f16, -1e1, -nan(f16)); | ||
| 16350 | try testArgs(f16, -1e1, -inf(f16)); | ||
| 16351 | try testArgs(f16, -1e1, -fmax(f16)); | ||
| 16352 | try testArgs(f16, -1e1, -1e1); | ||
| 16353 | try testArgs(f16, -1e1, -1e0); | ||
| 16354 | try testArgs(f16, -1e1, -1e-1); | ||
| 16355 | try testArgs(f16, -1e1, -fmin(f16)); | ||
| 16356 | try testArgs(f16, -1e1, -tmin(f16)); | ||
| 16357 | try testArgs(f16, -1e1, -0.0); | ||
| 16358 | try testArgs(f16, -1e1, 0.0); | ||
| 16359 | try testArgs(f16, -1e1, tmin(f16)); | ||
| 16360 | try testArgs(f16, -1e1, fmin(f16)); | ||
| 16361 | try testArgs(f16, -1e1, 1e-1); | ||
| 16362 | try testArgs(f16, -1e1, 1e0); | ||
| 16363 | try testArgs(f16, -1e1, 1e1); | ||
| 16364 | try testArgs(f16, -1e1, fmax(f16)); | ||
| 16365 | try testArgs(f16, -1e1, inf(f16)); | ||
| 16366 | try testArgs(f16, -1e1, nan(f16)); | ||
| 16367 | |||
| 16368 | try testArgs(f16, -1e0, -nan(f16)); | ||
| 16369 | try testArgs(f16, -1e0, -inf(f16)); | ||
| 16370 | try testArgs(f16, -1e0, -fmax(f16)); | ||
| 16371 | try testArgs(f16, -1e0, -1e1); | ||
| 16372 | try testArgs(f16, -1e0, -1e0); | ||
| 16373 | try testArgs(f16, -1e0, -1e-1); | ||
| 16374 | try testArgs(f16, -1e0, -fmin(f16)); | ||
| 16375 | try testArgs(f16, -1e0, -tmin(f16)); | ||
| 16376 | try testArgs(f16, -1e0, -0.0); | ||
| 16377 | try testArgs(f16, -1e0, 0.0); | ||
| 16378 | try testArgs(f16, -1e0, tmin(f16)); | ||
| 16379 | try testArgs(f16, -1e0, fmin(f16)); | ||
| 16380 | try testArgs(f16, -1e0, 1e-1); | ||
| 16381 | try testArgs(f16, -1e0, 1e0); | ||
| 16382 | try testArgs(f16, -1e0, 1e1); | ||
| 16383 | try testArgs(f16, -1e0, fmax(f16)); | ||
| 16384 | try testArgs(f16, -1e0, inf(f16)); | ||
| 16385 | try testArgs(f16, -1e0, nan(f16)); | ||
| 16386 | |||
| 16387 | try testArgs(f16, -1e-1, -nan(f16)); | ||
| 16388 | try testArgs(f16, -1e-1, -inf(f16)); | ||
| 16389 | try testArgs(f16, -1e-1, -fmax(f16)); | ||
| 16390 | try testArgs(f16, -1e-1, -1e1); | ||
| 16391 | try testArgs(f16, -1e-1, -1e0); | ||
| 16392 | try testArgs(f16, -1e-1, -1e-1); | ||
| 16393 | try testArgs(f16, -1e-1, -fmin(f16)); | ||
| 16394 | try testArgs(f16, -1e-1, -tmin(f16)); | ||
| 16395 | try testArgs(f16, -1e-1, -0.0); | ||
| 16396 | try testArgs(f16, -1e-1, 0.0); | ||
| 16397 | try testArgs(f16, -1e-1, tmin(f16)); | ||
| 16398 | try testArgs(f16, -1e-1, fmin(f16)); | ||
| 16399 | try testArgs(f16, -1e-1, 1e-1); | ||
| 16400 | try testArgs(f16, -1e-1, 1e0); | ||
| 16401 | try testArgs(f16, -1e-1, 1e1); | ||
| 16402 | try testArgs(f16, -1e-1, fmax(f16)); | ||
| 16403 | try testArgs(f16, -1e-1, inf(f16)); | ||
| 16404 | try testArgs(f16, -1e-1, nan(f16)); | ||
| 16405 | |||
| 16406 | try testArgs(f16, -fmin(f16), -nan(f16)); | ||
| 16407 | try testArgs(f16, -fmin(f16), -inf(f16)); | ||
| 16408 | try testArgs(f16, -fmin(f16), -fmax(f16)); | ||
| 16409 | try testArgs(f16, -fmin(f16), -1e1); | ||
| 16410 | try testArgs(f16, -fmin(f16), -1e0); | ||
| 16411 | try testArgs(f16, -fmin(f16), -1e-1); | ||
| 16412 | try testArgs(f16, -fmin(f16), -fmin(f16)); | ||
| 16413 | try testArgs(f16, -fmin(f16), -tmin(f16)); | ||
| 16414 | try testArgs(f16, -fmin(f16), -0.0); | ||
| 16415 | try testArgs(f16, -fmin(f16), 0.0); | ||
| 16416 | try testArgs(f16, -fmin(f16), tmin(f16)); | ||
| 16417 | try testArgs(f16, -fmin(f16), fmin(f16)); | ||
| 16418 | try testArgs(f16, -fmin(f16), 1e-1); | ||
| 16419 | try testArgs(f16, -fmin(f16), 1e0); | ||
| 16420 | try testArgs(f16, -fmin(f16), 1e1); | ||
| 16421 | try testArgs(f16, -fmin(f16), fmax(f16)); | ||
| 16422 | try testArgs(f16, -fmin(f16), inf(f16)); | ||
| 16423 | try testArgs(f16, -fmin(f16), nan(f16)); | ||
| 16424 | |||
| 16425 | try testArgs(f16, -tmin(f16), -nan(f16)); | ||
| 16426 | try testArgs(f16, -tmin(f16), -inf(f16)); | ||
| 16427 | try testArgs(f16, -tmin(f16), -fmax(f16)); | ||
| 16428 | try testArgs(f16, -tmin(f16), -1e1); | ||
| 16429 | try testArgs(f16, -tmin(f16), -1e0); | ||
| 16430 | try testArgs(f16, -tmin(f16), -1e-1); | ||
| 16431 | try testArgs(f16, -tmin(f16), -fmin(f16)); | ||
| 16432 | try testArgs(f16, -tmin(f16), -tmin(f16)); | ||
| 16433 | try testArgs(f16, -tmin(f16), -0.0); | ||
| 16434 | try testArgs(f16, -tmin(f16), 0.0); | ||
| 16435 | try testArgs(f16, -tmin(f16), tmin(f16)); | ||
| 16436 | try testArgs(f16, -tmin(f16), fmin(f16)); | ||
| 16437 | try testArgs(f16, -tmin(f16), 1e-1); | ||
| 16438 | try testArgs(f16, -tmin(f16), 1e0); | ||
| 16439 | try testArgs(f16, -tmin(f16), 1e1); | ||
| 16440 | try testArgs(f16, -tmin(f16), fmax(f16)); | ||
| 16441 | try testArgs(f16, -tmin(f16), inf(f16)); | ||
| 16442 | try testArgs(f16, -tmin(f16), nan(f16)); | ||
| 16443 | |||
| 16444 | try testArgs(f16, -0.0, -nan(f16)); | ||
| 16445 | try testArgs(f16, -0.0, -inf(f16)); | ||
| 16446 | try testArgs(f16, -0.0, -fmax(f16)); | ||
| 16447 | try testArgs(f16, -0.0, -1e1); | ||
| 16448 | try testArgs(f16, -0.0, -1e0); | ||
| 16449 | try testArgs(f16, -0.0, -1e-1); | ||
| 16450 | try testArgs(f16, -0.0, -fmin(f16)); | ||
| 16451 | try testArgs(f16, -0.0, -tmin(f16)); | ||
| 16452 | try testArgs(f16, -0.0, -0.0); | ||
| 16453 | try testArgs(f16, -0.0, 0.0); | ||
| 16454 | try testArgs(f16, -0.0, tmin(f16)); | ||
| 16455 | try testArgs(f16, -0.0, fmin(f16)); | ||
| 16456 | try testArgs(f16, -0.0, 1e-1); | ||
| 16457 | try testArgs(f16, -0.0, 1e0); | ||
| 16458 | try testArgs(f16, -0.0, 1e1); | ||
| 16459 | try testArgs(f16, -0.0, fmax(f16)); | ||
| 16460 | try testArgs(f16, -0.0, inf(f16)); | ||
| 16461 | try testArgs(f16, -0.0, nan(f16)); | ||
| 16462 | |||
| 16463 | try testArgs(f16, 0.0, -nan(f16)); | ||
| 16464 | try testArgs(f16, 0.0, -inf(f16)); | ||
| 16465 | try testArgs(f16, 0.0, -fmax(f16)); | ||
| 16466 | try testArgs(f16, 0.0, -1e1); | ||
| 16467 | try testArgs(f16, 0.0, -1e0); | ||
| 16468 | try testArgs(f16, 0.0, -1e-1); | ||
| 16469 | try testArgs(f16, 0.0, -fmin(f16)); | ||
| 16470 | try testArgs(f16, 0.0, -tmin(f16)); | ||
| 16471 | try testArgs(f16, 0.0, -0.0); | ||
| 16472 | try testArgs(f16, 0.0, 0.0); | ||
| 16473 | try testArgs(f16, 0.0, tmin(f16)); | ||
| 16474 | try testArgs(f16, 0.0, fmin(f16)); | ||
| 16475 | try testArgs(f16, 0.0, 1e-1); | ||
| 16476 | try testArgs(f16, 0.0, 1e0); | ||
| 16477 | try testArgs(f16, 0.0, 1e1); | ||
| 16478 | try testArgs(f16, 0.0, fmax(f16)); | ||
| 16479 | try testArgs(f16, 0.0, inf(f16)); | ||
| 16480 | try testArgs(f16, 0.0, nan(f16)); | ||
| 16481 | |||
| 16482 | try testArgs(f16, tmin(f16), -nan(f16)); | ||
| 16483 | try testArgs(f16, tmin(f16), -inf(f16)); | ||
| 16484 | try testArgs(f16, tmin(f16), -fmax(f16)); | ||
| 16485 | try testArgs(f16, tmin(f16), -1e1); | ||
| 16486 | try testArgs(f16, tmin(f16), -1e0); | ||
| 16487 | try testArgs(f16, tmin(f16), -1e-1); | ||
| 16488 | try testArgs(f16, tmin(f16), -fmin(f16)); | ||
| 16489 | try testArgs(f16, tmin(f16), -tmin(f16)); | ||
| 16490 | try testArgs(f16, tmin(f16), -0.0); | ||
| 16491 | try testArgs(f16, tmin(f16), 0.0); | ||
| 16492 | try testArgs(f16, tmin(f16), tmin(f16)); | ||
| 16493 | try testArgs(f16, tmin(f16), fmin(f16)); | ||
| 16494 | try testArgs(f16, tmin(f16), 1e-1); | ||
| 16495 | try testArgs(f16, tmin(f16), 1e0); | ||
| 16496 | try testArgs(f16, tmin(f16), 1e1); | ||
| 16497 | try testArgs(f16, tmin(f16), fmax(f16)); | ||
| 16498 | try testArgs(f16, tmin(f16), inf(f16)); | ||
| 16499 | try testArgs(f16, tmin(f16), nan(f16)); | ||
| 16500 | |||
| 16501 | try testArgs(f16, fmin(f16), -nan(f16)); | ||
| 16502 | try testArgs(f16, fmin(f16), -inf(f16)); | ||
| 16503 | try testArgs(f16, fmin(f16), -fmax(f16)); | ||
| 16504 | try testArgs(f16, fmin(f16), -1e1); | ||
| 16505 | try testArgs(f16, fmin(f16), -1e0); | ||
| 16506 | try testArgs(f16, fmin(f16), -1e-1); | ||
| 16507 | try testArgs(f16, fmin(f16), -fmin(f16)); | ||
| 16508 | try testArgs(f16, fmin(f16), -tmin(f16)); | ||
| 16509 | try testArgs(f16, fmin(f16), -0.0); | ||
| 16510 | try testArgs(f16, fmin(f16), 0.0); | ||
| 16511 | try testArgs(f16, fmin(f16), tmin(f16)); | ||
| 16512 | try testArgs(f16, fmin(f16), fmin(f16)); | ||
| 16513 | try testArgs(f16, fmin(f16), 1e-1); | ||
| 16514 | try testArgs(f16, fmin(f16), 1e0); | ||
| 16515 | try testArgs(f16, fmin(f16), 1e1); | ||
| 16516 | try testArgs(f16, fmin(f16), fmax(f16)); | ||
| 16517 | try testArgs(f16, fmin(f16), inf(f16)); | ||
| 16518 | try testArgs(f16, fmin(f16), nan(f16)); | ||
| 16519 | |||
| 16520 | try testArgs(f16, 1e-1, -nan(f16)); | ||
| 16521 | try testArgs(f16, 1e-1, -inf(f16)); | ||
| 16522 | try testArgs(f16, 1e-1, -fmax(f16)); | ||
| 16523 | try testArgs(f16, 1e-1, -1e1); | ||
| 16524 | try testArgs(f16, 1e-1, -1e0); | ||
| 16525 | try testArgs(f16, 1e-1, -1e-1); | ||
| 16526 | try testArgs(f16, 1e-1, -fmin(f16)); | ||
| 16527 | try testArgs(f16, 1e-1, -tmin(f16)); | ||
| 16528 | try testArgs(f16, 1e-1, -0.0); | ||
| 16529 | try testArgs(f16, 1e-1, 0.0); | ||
| 16530 | try testArgs(f16, 1e-1, tmin(f16)); | ||
| 16531 | try testArgs(f16, 1e-1, fmin(f16)); | ||
| 16532 | try testArgs(f16, 1e-1, 1e-1); | ||
| 16533 | try testArgs(f16, 1e-1, 1e0); | ||
| 16534 | try testArgs(f16, 1e-1, 1e1); | ||
| 16535 | try testArgs(f16, 1e-1, fmax(f16)); | ||
| 16536 | try testArgs(f16, 1e-1, inf(f16)); | ||
| 16537 | try testArgs(f16, 1e-1, nan(f16)); | ||
| 16538 | |||
| 16539 | try testArgs(f16, 1e0, -nan(f16)); | ||
| 16540 | try testArgs(f16, 1e0, -inf(f16)); | ||
| 16541 | try testArgs(f16, 1e0, -fmax(f16)); | ||
| 16542 | try testArgs(f16, 1e0, -1e1); | ||
| 16543 | try testArgs(f16, 1e0, -1e0); | ||
| 16544 | try testArgs(f16, 1e0, -1e-1); | ||
| 16545 | try testArgs(f16, 1e0, -fmin(f16)); | ||
| 16546 | try testArgs(f16, 1e0, -tmin(f16)); | ||
| 16547 | try testArgs(f16, 1e0, -0.0); | ||
| 16548 | try testArgs(f16, 1e0, 0.0); | ||
| 16549 | try testArgs(f16, 1e0, tmin(f16)); | ||
| 16550 | try testArgs(f16, 1e0, fmin(f16)); | ||
| 16551 | try testArgs(f16, 1e0, 1e-1); | ||
| 16552 | try testArgs(f16, 1e0, 1e0); | ||
| 16553 | try testArgs(f16, 1e0, 1e1); | ||
| 16554 | try testArgs(f16, 1e0, fmax(f16)); | ||
| 16555 | try testArgs(f16, 1e0, inf(f16)); | ||
| 16556 | try testArgs(f16, 1e0, nan(f16)); | ||
| 16557 | |||
| 16558 | try testArgs(f16, 1e1, -nan(f16)); | ||
| 16559 | try testArgs(f16, 1e1, -inf(f16)); | ||
| 16560 | try testArgs(f16, 1e1, -fmax(f16)); | ||
| 16561 | try testArgs(f16, 1e1, -1e1); | ||
| 16562 | try testArgs(f16, 1e1, -1e0); | ||
| 16563 | try testArgs(f16, 1e1, -1e-1); | ||
| 16564 | try testArgs(f16, 1e1, -fmin(f16)); | ||
| 16565 | try testArgs(f16, 1e1, -tmin(f16)); | ||
| 16566 | try testArgs(f16, 1e1, -0.0); | ||
| 16567 | try testArgs(f16, 1e1, 0.0); | ||
| 16568 | try testArgs(f16, 1e1, tmin(f16)); | ||
| 16569 | try testArgs(f16, 1e1, fmin(f16)); | ||
| 16570 | try testArgs(f16, 1e1, 1e-1); | ||
| 16571 | try testArgs(f16, 1e1, 1e0); | ||
| 16572 | try testArgs(f16, 1e1, 1e1); | ||
| 16573 | try testArgs(f16, 1e1, fmax(f16)); | ||
| 16574 | try testArgs(f16, 1e1, inf(f16)); | ||
| 16575 | try testArgs(f16, 1e1, nan(f16)); | ||
| 16576 | |||
| 16577 | try testArgs(f16, fmax(f16), -nan(f16)); | ||
| 16578 | try testArgs(f16, fmax(f16), -inf(f16)); | ||
| 16579 | try testArgs(f16, fmax(f16), -fmax(f16)); | ||
| 16580 | try testArgs(f16, fmax(f16), -1e1); | ||
| 16581 | try testArgs(f16, fmax(f16), -1e0); | ||
| 16582 | try testArgs(f16, fmax(f16), -1e-1); | ||
| 16583 | try testArgs(f16, fmax(f16), -fmin(f16)); | ||
| 16584 | try testArgs(f16, fmax(f16), -tmin(f16)); | ||
| 16585 | try testArgs(f16, fmax(f16), -0.0); | ||
| 16586 | try testArgs(f16, fmax(f16), 0.0); | ||
| 16587 | try testArgs(f16, fmax(f16), tmin(f16)); | ||
| 16588 | try testArgs(f16, fmax(f16), fmin(f16)); | ||
| 16589 | try testArgs(f16, fmax(f16), 1e-1); | ||
| 16590 | try testArgs(f16, fmax(f16), 1e0); | ||
| 16591 | try testArgs(f16, fmax(f16), 1e1); | ||
| 16592 | try testArgs(f16, fmax(f16), fmax(f16)); | ||
| 16593 | try testArgs(f16, fmax(f16), inf(f16)); | ||
| 16594 | try testArgs(f16, fmax(f16), nan(f16)); | ||
| 16595 | |||
| 16596 | try testArgs(f16, inf(f16), -nan(f16)); | ||
| 16597 | try testArgs(f16, inf(f16), -inf(f16)); | ||
| 16598 | try testArgs(f16, inf(f16), -fmax(f16)); | ||
| 16599 | try testArgs(f16, inf(f16), -1e1); | ||
| 16600 | try testArgs(f16, inf(f16), -1e0); | ||
| 16601 | try testArgs(f16, inf(f16), -1e-1); | ||
| 16602 | try testArgs(f16, inf(f16), -fmin(f16)); | ||
| 16603 | try testArgs(f16, inf(f16), -tmin(f16)); | ||
| 16604 | try testArgs(f16, inf(f16), -0.0); | ||
| 16605 | try testArgs(f16, inf(f16), 0.0); | ||
| 16606 | try testArgs(f16, inf(f16), tmin(f16)); | ||
| 16607 | try testArgs(f16, inf(f16), fmin(f16)); | ||
| 16608 | try testArgs(f16, inf(f16), 1e-1); | ||
| 16609 | try testArgs(f16, inf(f16), 1e0); | ||
| 16610 | try testArgs(f16, inf(f16), 1e1); | ||
| 16611 | try testArgs(f16, inf(f16), fmax(f16)); | ||
| 16612 | try testArgs(f16, inf(f16), inf(f16)); | ||
| 16613 | try testArgs(f16, inf(f16), nan(f16)); | ||
| 16614 | |||
| 16615 | try testArgs(f16, nan(f16), -nan(f16)); | ||
| 16616 | try testArgs(f16, nan(f16), -inf(f16)); | ||
| 16617 | try testArgs(f16, nan(f16), -fmax(f16)); | ||
| 16618 | try testArgs(f16, nan(f16), -1e1); | ||
| 16619 | try testArgs(f16, nan(f16), -1e0); | ||
| 16620 | try testArgs(f16, nan(f16), -1e-1); | ||
| 16621 | try testArgs(f16, nan(f16), -fmin(f16)); | ||
| 16622 | try testArgs(f16, nan(f16), -tmin(f16)); | ||
| 16623 | try testArgs(f16, nan(f16), -0.0); | ||
| 16624 | try testArgs(f16, nan(f16), 0.0); | ||
| 16625 | try testArgs(f16, nan(f16), tmin(f16)); | ||
| 16626 | try testArgs(f16, nan(f16), fmin(f16)); | ||
| 16627 | try testArgs(f16, nan(f16), 1e-1); | ||
| 16628 | try testArgs(f16, nan(f16), 1e0); | ||
| 16629 | try testArgs(f16, nan(f16), 1e1); | ||
| 16630 | try testArgs(f16, nan(f16), fmax(f16)); | ||
| 16631 | try testArgs(f16, nan(f16), inf(f16)); | ||
| 16632 | try testArgs(f16, nan(f16), nan(f16)); | ||
| 16633 | |||
| 16634 | try testArgs(f32, -nan(f32), -nan(f32)); | ||
| 16635 | try testArgs(f32, -nan(f32), -inf(f32)); | ||
| 16636 | try testArgs(f32, -nan(f32), -fmax(f32)); | ||
| 16637 | try testArgs(f32, -nan(f32), -1e1); | ||
| 16638 | try testArgs(f32, -nan(f32), -1e0); | ||
| 16639 | try testArgs(f32, -nan(f32), -1e-1); | ||
| 16640 | try testArgs(f32, -nan(f32), -fmin(f32)); | ||
| 16641 | try testArgs(f32, -nan(f32), -tmin(f32)); | ||
| 16642 | try testArgs(f32, -nan(f32), -0.0); | ||
| 16643 | try testArgs(f32, -nan(f32), 0.0); | ||
| 16644 | try testArgs(f32, -nan(f32), tmin(f32)); | ||
| 16645 | try testArgs(f32, -nan(f32), fmin(f32)); | ||
| 16646 | try testArgs(f32, -nan(f32), 1e-1); | ||
| 16647 | try testArgs(f32, -nan(f32), 1e0); | ||
| 16648 | try testArgs(f32, -nan(f32), 1e1); | ||
| 16649 | try testArgs(f32, -nan(f32), fmax(f32)); | ||
| 16650 | try testArgs(f32, -nan(f32), inf(f32)); | ||
| 16651 | try testArgs(f32, -nan(f32), nan(f32)); | ||
| 16652 | |||
| 16653 | try testArgs(f32, -inf(f32), -nan(f32)); | ||
| 16654 | try testArgs(f32, -inf(f32), -inf(f32)); | ||
| 16655 | try testArgs(f32, -inf(f32), -fmax(f32)); | ||
| 16656 | try testArgs(f32, -inf(f32), -1e1); | ||
| 16657 | try testArgs(f32, -inf(f32), -1e0); | ||
| 16658 | try testArgs(f32, -inf(f32), -1e-1); | ||
| 16659 | try testArgs(f32, -inf(f32), -fmin(f32)); | ||
| 16660 | try testArgs(f32, -inf(f32), -tmin(f32)); | ||
| 16661 | try testArgs(f32, -inf(f32), -0.0); | ||
| 16662 | try testArgs(f32, -inf(f32), 0.0); | ||
| 16663 | try testArgs(f32, -inf(f32), tmin(f32)); | ||
| 16664 | try testArgs(f32, -inf(f32), fmin(f32)); | ||
| 16665 | try testArgs(f32, -inf(f32), 1e-1); | ||
| 16666 | try testArgs(f32, -inf(f32), 1e0); | ||
| 16667 | try testArgs(f32, -inf(f32), 1e1); | ||
| 16668 | try testArgs(f32, -inf(f32), fmax(f32)); | ||
| 16669 | try testArgs(f32, -inf(f32), inf(f32)); | ||
| 16670 | try testArgs(f32, -inf(f32), nan(f32)); | ||
| 16671 | |||
| 16672 | try testArgs(f32, -fmax(f32), -nan(f32)); | ||
| 16673 | try testArgs(f32, -fmax(f32), -inf(f32)); | ||
| 16674 | try testArgs(f32, -fmax(f32), -fmax(f32)); | ||
| 16675 | try testArgs(f32, -fmax(f32), -1e1); | ||
| 16676 | try testArgs(f32, -fmax(f32), -1e0); | ||
| 16677 | try testArgs(f32, -fmax(f32), -1e-1); | ||
| 16678 | try testArgs(f32, -fmax(f32), -fmin(f32)); | ||
| 16679 | try testArgs(f32, -fmax(f32), -tmin(f32)); | ||
| 16680 | try testArgs(f32, -fmax(f32), -0.0); | ||
| 16681 | try testArgs(f32, -fmax(f32), 0.0); | ||
| 16682 | try testArgs(f32, -fmax(f32), tmin(f32)); | ||
| 16683 | try testArgs(f32, -fmax(f32), fmin(f32)); | ||
| 16684 | try testArgs(f32, -fmax(f32), 1e-1); | ||
| 16685 | try testArgs(f32, -fmax(f32), 1e0); | ||
| 16686 | try testArgs(f32, -fmax(f32), 1e1); | ||
| 16687 | try testArgs(f32, -fmax(f32), fmax(f32)); | ||
| 16688 | try testArgs(f32, -fmax(f32), inf(f32)); | ||
| 16689 | try testArgs(f32, -fmax(f32), nan(f32)); | ||
| 16690 | |||
| 16691 | try testArgs(f32, -1e1, -nan(f32)); | ||
| 16692 | try testArgs(f32, -1e1, -inf(f32)); | ||
| 16693 | try testArgs(f32, -1e1, -fmax(f32)); | ||
| 16694 | try testArgs(f32, -1e1, -1e1); | ||
| 16695 | try testArgs(f32, -1e1, -1e0); | ||
| 16696 | try testArgs(f32, -1e1, -1e-1); | ||
| 16697 | try testArgs(f32, -1e1, -fmin(f32)); | ||
| 16698 | try testArgs(f32, -1e1, -tmin(f32)); | ||
| 16699 | try testArgs(f32, -1e1, -0.0); | ||
| 16700 | try testArgs(f32, -1e1, 0.0); | ||
| 16701 | try testArgs(f32, -1e1, tmin(f32)); | ||
| 16702 | try testArgs(f32, -1e1, fmin(f32)); | ||
| 16703 | try testArgs(f32, -1e1, 1e-1); | ||
| 16704 | try testArgs(f32, -1e1, 1e0); | ||
| 16705 | try testArgs(f32, -1e1, 1e1); | ||
| 16706 | try testArgs(f32, -1e1, fmax(f32)); | ||
| 16707 | try testArgs(f32, -1e1, inf(f32)); | ||
| 16708 | try testArgs(f32, -1e1, nan(f32)); | ||
| 16709 | |||
| 16710 | try testArgs(f32, -1e0, -nan(f32)); | ||
| 16711 | try testArgs(f32, -1e0, -inf(f32)); | ||
| 16712 | try testArgs(f32, -1e0, -fmax(f32)); | ||
| 16713 | try testArgs(f32, -1e0, -1e1); | ||
| 16714 | try testArgs(f32, -1e0, -1e0); | ||
| 16715 | try testArgs(f32, -1e0, -1e-1); | ||
| 16716 | try testArgs(f32, -1e0, -fmin(f32)); | ||
| 16717 | try testArgs(f32, -1e0, -tmin(f32)); | ||
| 16718 | try testArgs(f32, -1e0, -0.0); | ||
| 16719 | try testArgs(f32, -1e0, 0.0); | ||
| 16720 | try testArgs(f32, -1e0, tmin(f32)); | ||
| 16721 | try testArgs(f32, -1e0, fmin(f32)); | ||
| 16722 | try testArgs(f32, -1e0, 1e-1); | ||
| 16723 | try testArgs(f32, -1e0, 1e0); | ||
| 16724 | try testArgs(f32, -1e0, 1e1); | ||
| 16725 | try testArgs(f32, -1e0, fmax(f32)); | ||
| 16726 | try testArgs(f32, -1e0, inf(f32)); | ||
| 16727 | try testArgs(f32, -1e0, nan(f32)); | ||
| 16728 | |||
| 16729 | try testArgs(f32, -1e-1, -nan(f32)); | ||
| 16730 | try testArgs(f32, -1e-1, -inf(f32)); | ||
| 16731 | try testArgs(f32, -1e-1, -fmax(f32)); | ||
| 16732 | try testArgs(f32, -1e-1, -1e1); | ||
| 16733 | try testArgs(f32, -1e-1, -1e0); | ||
| 16734 | try testArgs(f32, -1e-1, -1e-1); | ||
| 16735 | try testArgs(f32, -1e-1, -fmin(f32)); | ||
| 16736 | try testArgs(f32, -1e-1, -tmin(f32)); | ||
| 16737 | try testArgs(f32, -1e-1, -0.0); | ||
| 16738 | try testArgs(f32, -1e-1, 0.0); | ||
| 16739 | try testArgs(f32, -1e-1, tmin(f32)); | ||
| 16740 | try testArgs(f32, -1e-1, fmin(f32)); | ||
| 16741 | try testArgs(f32, -1e-1, 1e-1); | ||
| 16742 | try testArgs(f32, -1e-1, 1e0); | ||
| 16743 | try testArgs(f32, -1e-1, 1e1); | ||
| 16744 | try testArgs(f32, -1e-1, fmax(f32)); | ||
| 16745 | try testArgs(f32, -1e-1, inf(f32)); | ||
| 16746 | try testArgs(f32, -1e-1, nan(f32)); | ||
| 16747 | |||
| 16748 | try testArgs(f32, -fmin(f32), -nan(f32)); | ||
| 16749 | try testArgs(f32, -fmin(f32), -inf(f32)); | ||
| 16750 | try testArgs(f32, -fmin(f32), -fmax(f32)); | ||
| 16751 | try testArgs(f32, -fmin(f32), -1e1); | ||
| 16752 | try testArgs(f32, -fmin(f32), -1e0); | ||
| 16753 | try testArgs(f32, -fmin(f32), -1e-1); | ||
| 16754 | try testArgs(f32, -fmin(f32), -fmin(f32)); | ||
| 16755 | try testArgs(f32, -fmin(f32), -tmin(f32)); | ||
| 16756 | try testArgs(f32, -fmin(f32), -0.0); | ||
| 16757 | try testArgs(f32, -fmin(f32), 0.0); | ||
| 16758 | try testArgs(f32, -fmin(f32), tmin(f32)); | ||
| 16759 | try testArgs(f32, -fmin(f32), fmin(f32)); | ||
| 16760 | try testArgs(f32, -fmin(f32), 1e-1); | ||
| 16761 | try testArgs(f32, -fmin(f32), 1e0); | ||
| 16762 | try testArgs(f32, -fmin(f32), 1e1); | ||
| 16763 | try testArgs(f32, -fmin(f32), fmax(f32)); | ||
| 16764 | try testArgs(f32, -fmin(f32), inf(f32)); | ||
| 16765 | try testArgs(f32, -fmin(f32), nan(f32)); | ||
| 16766 | |||
| 16767 | try testArgs(f32, -tmin(f32), -nan(f32)); | ||
| 16768 | try testArgs(f32, -tmin(f32), -inf(f32)); | ||
| 16769 | try testArgs(f32, -tmin(f32), -fmax(f32)); | ||
| 16770 | try testArgs(f32, -tmin(f32), -1e1); | ||
| 16771 | try testArgs(f32, -tmin(f32), -1e0); | ||
| 16772 | try testArgs(f32, -tmin(f32), -1e-1); | ||
| 16773 | try testArgs(f32, -tmin(f32), -fmin(f32)); | ||
| 16774 | try testArgs(f32, -tmin(f32), -tmin(f32)); | ||
| 16775 | try testArgs(f32, -tmin(f32), -0.0); | ||
| 16776 | try testArgs(f32, -tmin(f32), 0.0); | ||
| 16777 | try testArgs(f32, -tmin(f32), tmin(f32)); | ||
| 16778 | try testArgs(f32, -tmin(f32), fmin(f32)); | ||
| 16779 | try testArgs(f32, -tmin(f32), 1e-1); | ||
| 16780 | try testArgs(f32, -tmin(f32), 1e0); | ||
| 16781 | try testArgs(f32, -tmin(f32), 1e1); | ||
| 16782 | try testArgs(f32, -tmin(f32), fmax(f32)); | ||
| 16783 | try testArgs(f32, -tmin(f32), inf(f32)); | ||
| 16784 | try testArgs(f32, -tmin(f32), nan(f32)); | ||
| 16785 | |||
| 16786 | try testArgs(f32, -0.0, -nan(f32)); | ||
| 16787 | try testArgs(f32, -0.0, -inf(f32)); | ||
| 16788 | try testArgs(f32, -0.0, -fmax(f32)); | ||
| 16789 | try testArgs(f32, -0.0, -1e1); | ||
| 16790 | try testArgs(f32, -0.0, -1e0); | ||
| 16791 | try testArgs(f32, -0.0, -1e-1); | ||
| 16792 | try testArgs(f32, -0.0, -fmin(f32)); | ||
| 16793 | try testArgs(f32, -0.0, -tmin(f32)); | ||
| 16794 | try testArgs(f32, -0.0, -0.0); | ||
| 16795 | try testArgs(f32, -0.0, 0.0); | ||
| 16796 | try testArgs(f32, -0.0, tmin(f32)); | ||
| 16797 | try testArgs(f32, -0.0, fmin(f32)); | ||
| 16798 | try testArgs(f32, -0.0, 1e-1); | ||
| 16799 | try testArgs(f32, -0.0, 1e0); | ||
| 16800 | try testArgs(f32, -0.0, 1e1); | ||
| 16801 | try testArgs(f32, -0.0, fmax(f32)); | ||
| 16802 | try testArgs(f32, -0.0, inf(f32)); | ||
| 16803 | try testArgs(f32, -0.0, nan(f32)); | ||
| 16804 | |||
| 16805 | try testArgs(f32, 0.0, -nan(f32)); | ||
| 16806 | try testArgs(f32, 0.0, -inf(f32)); | ||
| 16807 | try testArgs(f32, 0.0, -fmax(f32)); | ||
| 16808 | try testArgs(f32, 0.0, -1e1); | ||
| 16809 | try testArgs(f32, 0.0, -1e0); | ||
| 16810 | try testArgs(f32, 0.0, -1e-1); | ||
| 16811 | try testArgs(f32, 0.0, -fmin(f32)); | ||
| 16812 | try testArgs(f32, 0.0, -tmin(f32)); | ||
| 16813 | try testArgs(f32, 0.0, -0.0); | ||
| 16814 | try testArgs(f32, 0.0, 0.0); | ||
| 16815 | try testArgs(f32, 0.0, tmin(f32)); | ||
| 16816 | try testArgs(f32, 0.0, fmin(f32)); | ||
| 16817 | try testArgs(f32, 0.0, 1e-1); | ||
| 16818 | try testArgs(f32, 0.0, 1e0); | ||
| 16819 | try testArgs(f32, 0.0, 1e1); | ||
| 16820 | try testArgs(f32, 0.0, fmax(f32)); | ||
| 16821 | try testArgs(f32, 0.0, inf(f32)); | ||
| 16822 | try testArgs(f32, 0.0, nan(f32)); | ||
| 16823 | |||
| 16824 | try testArgs(f32, tmin(f32), -nan(f32)); | ||
| 16825 | try testArgs(f32, tmin(f32), -inf(f32)); | ||
| 16826 | try testArgs(f32, tmin(f32), -fmax(f32)); | ||
| 16827 | try testArgs(f32, tmin(f32), -1e1); | ||
| 16828 | try testArgs(f32, tmin(f32), -1e0); | ||
| 16829 | try testArgs(f32, tmin(f32), -1e-1); | ||
| 16830 | try testArgs(f32, tmin(f32), -fmin(f32)); | ||
| 16831 | try testArgs(f32, tmin(f32), -tmin(f32)); | ||
| 16832 | try testArgs(f32, tmin(f32), -0.0); | ||
| 16833 | try testArgs(f32, tmin(f32), 0.0); | ||
| 16834 | try testArgs(f32, tmin(f32), tmin(f32)); | ||
| 16835 | try testArgs(f32, tmin(f32), fmin(f32)); | ||
| 16836 | try testArgs(f32, tmin(f32), 1e-1); | ||
| 16837 | try testArgs(f32, tmin(f32), 1e0); | ||
| 16838 | try testArgs(f32, tmin(f32), 1e1); | ||
| 16839 | try testArgs(f32, tmin(f32), fmax(f32)); | ||
| 16840 | try testArgs(f32, tmin(f32), inf(f32)); | ||
| 16841 | try testArgs(f32, tmin(f32), nan(f32)); | ||
| 16842 | |||
| 16843 | try testArgs(f32, fmin(f32), -nan(f32)); | ||
| 16844 | try testArgs(f32, fmin(f32), -inf(f32)); | ||
| 16845 | try testArgs(f32, fmin(f32), -fmax(f32)); | ||
| 16846 | try testArgs(f32, fmin(f32), -1e1); | ||
| 16847 | try testArgs(f32, fmin(f32), -1e0); | ||
| 16848 | try testArgs(f32, fmin(f32), -1e-1); | ||
| 16849 | try testArgs(f32, fmin(f32), -fmin(f32)); | ||
| 16850 | try testArgs(f32, fmin(f32), -tmin(f32)); | ||
| 16851 | try testArgs(f32, fmin(f32), -0.0); | ||
| 16852 | try testArgs(f32, fmin(f32), 0.0); | ||
| 16853 | try testArgs(f32, fmin(f32), tmin(f32)); | ||
| 16854 | try testArgs(f32, fmin(f32), fmin(f32)); | ||
| 16855 | try testArgs(f32, fmin(f32), 1e-1); | ||
| 16856 | try testArgs(f32, fmin(f32), 1e0); | ||
| 16857 | try testArgs(f32, fmin(f32), 1e1); | ||
| 16858 | try testArgs(f32, fmin(f32), fmax(f32)); | ||
| 16859 | try testArgs(f32, fmin(f32), inf(f32)); | ||
| 16860 | try testArgs(f32, fmin(f32), nan(f32)); | ||
| 16861 | |||
| 16862 | try testArgs(f32, 1e-1, -nan(f32)); | ||
| 16863 | try testArgs(f32, 1e-1, -inf(f32)); | ||
| 16864 | try testArgs(f32, 1e-1, -fmax(f32)); | ||
| 16865 | try testArgs(f32, 1e-1, -1e1); | ||
| 16866 | try testArgs(f32, 1e-1, -1e0); | ||
| 16867 | try testArgs(f32, 1e-1, -1e-1); | ||
| 16868 | try testArgs(f32, 1e-1, -fmin(f32)); | ||
| 16869 | try testArgs(f32, 1e-1, -tmin(f32)); | ||
| 16870 | try testArgs(f32, 1e-1, -0.0); | ||
| 16871 | try testArgs(f32, 1e-1, 0.0); | ||
| 16872 | try testArgs(f32, 1e-1, tmin(f32)); | ||
| 16873 | try testArgs(f32, 1e-1, fmin(f32)); | ||
| 16874 | try testArgs(f32, 1e-1, 1e-1); | ||
| 16875 | try testArgs(f32, 1e-1, 1e0); | ||
| 16876 | try testArgs(f32, 1e-1, 1e1); | ||
| 16877 | try testArgs(f32, 1e-1, fmax(f32)); | ||
| 16878 | try testArgs(f32, 1e-1, inf(f32)); | ||
| 16879 | try testArgs(f32, 1e-1, nan(f32)); | ||
| 16880 | |||
| 16881 | try testArgs(f32, 1e0, -nan(f32)); | ||
| 16882 | try testArgs(f32, 1e0, -inf(f32)); | ||
| 16883 | try testArgs(f32, 1e0, -fmax(f32)); | ||
| 16884 | try testArgs(f32, 1e0, -1e1); | ||
| 16885 | try testArgs(f32, 1e0, -1e0); | ||
| 16886 | try testArgs(f32, 1e0, -1e-1); | ||
| 16887 | try testArgs(f32, 1e0, -fmin(f32)); | ||
| 16888 | try testArgs(f32, 1e0, -tmin(f32)); | ||
| 16889 | try testArgs(f32, 1e0, -0.0); | ||
| 16890 | try testArgs(f32, 1e0, 0.0); | ||
| 16891 | try testArgs(f32, 1e0, tmin(f32)); | ||
| 16892 | try testArgs(f32, 1e0, fmin(f32)); | ||
| 16893 | try testArgs(f32, 1e0, 1e-1); | ||
| 16894 | try testArgs(f32, 1e0, 1e0); | ||
| 16895 | try testArgs(f32, 1e0, 1e1); | ||
| 16896 | try testArgs(f32, 1e0, fmax(f32)); | ||
| 16897 | try testArgs(f32, 1e0, inf(f32)); | ||
| 16898 | try testArgs(f32, 1e0, nan(f32)); | ||
| 16899 | |||
| 16900 | try testArgs(f32, 1e1, -nan(f32)); | ||
| 16901 | try testArgs(f32, 1e1, -inf(f32)); | ||
| 16902 | try testArgs(f32, 1e1, -fmax(f32)); | ||
| 16903 | try testArgs(f32, 1e1, -1e1); | ||
| 16904 | try testArgs(f32, 1e1, -1e0); | ||
| 16905 | try testArgs(f32, 1e1, -1e-1); | ||
| 16906 | try testArgs(f32, 1e1, -fmin(f32)); | ||
| 16907 | try testArgs(f32, 1e1, -tmin(f32)); | ||
| 16908 | try testArgs(f32, 1e1, -0.0); | ||
| 16909 | try testArgs(f32, 1e1, 0.0); | ||
| 16910 | try testArgs(f32, 1e1, tmin(f32)); | ||
| 16911 | try testArgs(f32, 1e1, fmin(f32)); | ||
| 16912 | try testArgs(f32, 1e1, 1e-1); | ||
| 16913 | try testArgs(f32, 1e1, 1e0); | ||
| 16914 | try testArgs(f32, 1e1, 1e1); | ||
| 16915 | try testArgs(f32, 1e1, fmax(f32)); | ||
| 16916 | try testArgs(f32, 1e1, inf(f32)); | ||
| 16917 | try testArgs(f32, 1e1, nan(f32)); | ||
| 16918 | |||
| 16919 | try testArgs(f32, fmax(f32), -nan(f32)); | ||
| 16920 | try testArgs(f32, fmax(f32), -inf(f32)); | ||
| 16921 | try testArgs(f32, fmax(f32), -fmax(f32)); | ||
| 16922 | try testArgs(f32, fmax(f32), -1e1); | ||
| 16923 | try testArgs(f32, fmax(f32), -1e0); | ||
| 16924 | try testArgs(f32, fmax(f32), -1e-1); | ||
| 16925 | try testArgs(f32, fmax(f32), -fmin(f32)); | ||
| 16926 | try testArgs(f32, fmax(f32), -tmin(f32)); | ||
| 16927 | try testArgs(f32, fmax(f32), -0.0); | ||
| 16928 | try testArgs(f32, fmax(f32), 0.0); | ||
| 16929 | try testArgs(f32, fmax(f32), tmin(f32)); | ||
| 16930 | try testArgs(f32, fmax(f32), fmin(f32)); | ||
| 16931 | try testArgs(f32, fmax(f32), 1e-1); | ||
| 16932 | try testArgs(f32, fmax(f32), 1e0); | ||
| 16933 | try testArgs(f32, fmax(f32), 1e1); | ||
| 16934 | try testArgs(f32, fmax(f32), fmax(f32)); | ||
| 16935 | try testArgs(f32, fmax(f32), inf(f32)); | ||
| 16936 | try testArgs(f32, fmax(f32), nan(f32)); | ||
| 16937 | |||
| 16938 | try testArgs(f32, inf(f32), -nan(f32)); | ||
| 16939 | try testArgs(f32, inf(f32), -inf(f32)); | ||
| 16940 | try testArgs(f32, inf(f32), -fmax(f32)); | ||
| 16941 | try testArgs(f32, inf(f32), -1e1); | ||
| 16942 | try testArgs(f32, inf(f32), -1e0); | ||
| 16943 | try testArgs(f32, inf(f32), -1e-1); | ||
| 16944 | try testArgs(f32, inf(f32), -fmin(f32)); | ||
| 16945 | try testArgs(f32, inf(f32), -tmin(f32)); | ||
| 16946 | try testArgs(f32, inf(f32), -0.0); | ||
| 16947 | try testArgs(f32, inf(f32), 0.0); | ||
| 16948 | try testArgs(f32, inf(f32), tmin(f32)); | ||
| 16949 | try testArgs(f32, inf(f32), fmin(f32)); | ||
| 16950 | try testArgs(f32, inf(f32), 1e-1); | ||
| 16951 | try testArgs(f32, inf(f32), 1e0); | ||
| 16952 | try testArgs(f32, inf(f32), 1e1); | ||
| 16953 | try testArgs(f32, inf(f32), fmax(f32)); | ||
| 16954 | try testArgs(f32, inf(f32), inf(f32)); | ||
| 16955 | try testArgs(f32, inf(f32), nan(f32)); | ||
| 16956 | |||
| 16957 | try testArgs(f32, nan(f32), -nan(f32)); | ||
| 16958 | try testArgs(f32, nan(f32), -inf(f32)); | ||
| 16959 | try testArgs(f32, nan(f32), -fmax(f32)); | ||
| 16960 | try testArgs(f32, nan(f32), -1e1); | ||
| 16961 | try testArgs(f32, nan(f32), -1e0); | ||
| 16962 | try testArgs(f32, nan(f32), -1e-1); | ||
| 16963 | try testArgs(f32, nan(f32), -fmin(f32)); | ||
| 16964 | try testArgs(f32, nan(f32), -tmin(f32)); | ||
| 16965 | try testArgs(f32, nan(f32), -0.0); | ||
| 16966 | try testArgs(f32, nan(f32), 0.0); | ||
| 16967 | try testArgs(f32, nan(f32), tmin(f32)); | ||
| 16968 | try testArgs(f32, nan(f32), fmin(f32)); | ||
| 16969 | try testArgs(f32, nan(f32), 1e-1); | ||
| 16970 | try testArgs(f32, nan(f32), 1e0); | ||
| 16971 | try testArgs(f32, nan(f32), 1e1); | ||
| 16972 | try testArgs(f32, nan(f32), fmax(f32)); | ||
| 16973 | try testArgs(f32, nan(f32), inf(f32)); | ||
| 16974 | try testArgs(f32, nan(f32), nan(f32)); | ||
| 16975 | |||
| 16976 | try testArgs(f64, -nan(f64), -nan(f64)); | ||
| 16977 | try testArgs(f64, -nan(f64), -inf(f64)); | ||
| 16978 | try testArgs(f64, -nan(f64), -fmax(f64)); | ||
| 16979 | try testArgs(f64, -nan(f64), -1e1); | ||
| 16980 | try testArgs(f64, -nan(f64), -1e0); | ||
| 16981 | try testArgs(f64, -nan(f64), -1e-1); | ||
| 16982 | try testArgs(f64, -nan(f64), -fmin(f64)); | ||
| 16983 | try testArgs(f64, -nan(f64), -tmin(f64)); | ||
| 16984 | try testArgs(f64, -nan(f64), -0.0); | ||
| 16985 | try testArgs(f64, -nan(f64), 0.0); | ||
| 16986 | try testArgs(f64, -nan(f64), tmin(f64)); | ||
| 16987 | try testArgs(f64, -nan(f64), fmin(f64)); | ||
| 16988 | try testArgs(f64, -nan(f64), 1e-1); | ||
| 16989 | try testArgs(f64, -nan(f64), 1e0); | ||
| 16990 | try testArgs(f64, -nan(f64), 1e1); | ||
| 16991 | try testArgs(f64, -nan(f64), fmax(f64)); | ||
| 16992 | try testArgs(f64, -nan(f64), inf(f64)); | ||
| 16993 | try testArgs(f64, -nan(f64), nan(f64)); | ||
| 16994 | |||
| 16995 | try testArgs(f64, -inf(f64), -nan(f64)); | ||
| 16996 | try testArgs(f64, -inf(f64), -inf(f64)); | ||
| 16997 | try testArgs(f64, -inf(f64), -fmax(f64)); | ||
| 16998 | try testArgs(f64, -inf(f64), -1e1); | ||
| 16999 | try testArgs(f64, -inf(f64), -1e0); | ||
| 17000 | try testArgs(f64, -inf(f64), -1e-1); | ||
| 17001 | try testArgs(f64, -inf(f64), -fmin(f64)); | ||
| 17002 | try testArgs(f64, -inf(f64), -tmin(f64)); | ||
| 17003 | try testArgs(f64, -inf(f64), -0.0); | ||
| 17004 | try testArgs(f64, -inf(f64), 0.0); | ||
| 17005 | try testArgs(f64, -inf(f64), tmin(f64)); | ||
| 17006 | try testArgs(f64, -inf(f64), fmin(f64)); | ||
| 17007 | try testArgs(f64, -inf(f64), 1e-1); | ||
| 17008 | try testArgs(f64, -inf(f64), 1e0); | ||
| 17009 | try testArgs(f64, -inf(f64), 1e1); | ||
| 17010 | try testArgs(f64, -inf(f64), fmax(f64)); | ||
| 17011 | try testArgs(f64, -inf(f64), inf(f64)); | ||
| 17012 | try testArgs(f64, -inf(f64), nan(f64)); | ||
| 17013 | |||
| 17014 | try testArgs(f64, -fmax(f64), -nan(f64)); | ||
| 17015 | try testArgs(f64, -fmax(f64), -inf(f64)); | ||
| 17016 | try testArgs(f64, -fmax(f64), -fmax(f64)); | ||
| 17017 | try testArgs(f64, -fmax(f64), -1e1); | ||
| 17018 | try testArgs(f64, -fmax(f64), -1e0); | ||
| 17019 | try testArgs(f64, -fmax(f64), -1e-1); | ||
| 17020 | try testArgs(f64, -fmax(f64), -fmin(f64)); | ||
| 17021 | try testArgs(f64, -fmax(f64), -tmin(f64)); | ||
| 17022 | try testArgs(f64, -fmax(f64), -0.0); | ||
| 17023 | try testArgs(f64, -fmax(f64), 0.0); | ||
| 17024 | try testArgs(f64, -fmax(f64), tmin(f64)); | ||
| 17025 | try testArgs(f64, -fmax(f64), fmin(f64)); | ||
| 17026 | try testArgs(f64, -fmax(f64), 1e-1); | ||
| 17027 | try testArgs(f64, -fmax(f64), 1e0); | ||
| 17028 | try testArgs(f64, -fmax(f64), 1e1); | ||
| 17029 | try testArgs(f64, -fmax(f64), fmax(f64)); | ||
| 17030 | try testArgs(f64, -fmax(f64), inf(f64)); | ||
| 17031 | try testArgs(f64, -fmax(f64), nan(f64)); | ||
| 17032 | |||
| 17033 | try testArgs(f64, -1e1, -nan(f64)); | ||
| 17034 | try testArgs(f64, -1e1, -inf(f64)); | ||
| 17035 | try testArgs(f64, -1e1, -fmax(f64)); | ||
| 17036 | try testArgs(f64, -1e1, -1e1); | ||
| 17037 | try testArgs(f64, -1e1, -1e0); | ||
| 17038 | try testArgs(f64, -1e1, -1e-1); | ||
| 17039 | try testArgs(f64, -1e1, -fmin(f64)); | ||
| 17040 | try testArgs(f64, -1e1, -tmin(f64)); | ||
| 17041 | try testArgs(f64, -1e1, -0.0); | ||
| 17042 | try testArgs(f64, -1e1, 0.0); | ||
| 17043 | try testArgs(f64, -1e1, tmin(f64)); | ||
| 17044 | try testArgs(f64, -1e1, fmin(f64)); | ||
| 17045 | try testArgs(f64, -1e1, 1e-1); | ||
| 17046 | try testArgs(f64, -1e1, 1e0); | ||
| 17047 | try testArgs(f64, -1e1, 1e1); | ||
| 17048 | try testArgs(f64, -1e1, fmax(f64)); | ||
| 17049 | try testArgs(f64, -1e1, inf(f64)); | ||
| 17050 | try testArgs(f64, -1e1, nan(f64)); | ||
| 17051 | |||
| 17052 | try testArgs(f64, -1e0, -nan(f64)); | ||
| 17053 | try testArgs(f64, -1e0, -inf(f64)); | ||
| 17054 | try testArgs(f64, -1e0, -fmax(f64)); | ||
| 17055 | try testArgs(f64, -1e0, -1e1); | ||
| 17056 | try testArgs(f64, -1e0, -1e0); | ||
| 17057 | try testArgs(f64, -1e0, -1e-1); | ||
| 17058 | try testArgs(f64, -1e0, -fmin(f64)); | ||
| 17059 | try testArgs(f64, -1e0, -tmin(f64)); | ||
| 17060 | try testArgs(f64, -1e0, -0.0); | ||
| 17061 | try testArgs(f64, -1e0, 0.0); | ||
| 17062 | try testArgs(f64, -1e0, tmin(f64)); | ||
| 17063 | try testArgs(f64, -1e0, fmin(f64)); | ||
| 17064 | try testArgs(f64, -1e0, 1e-1); | ||
| 17065 | try testArgs(f64, -1e0, 1e0); | ||
| 17066 | try testArgs(f64, -1e0, 1e1); | ||
| 17067 | try testArgs(f64, -1e0, fmax(f64)); | ||
| 17068 | try testArgs(f64, -1e0, inf(f64)); | ||
| 17069 | try testArgs(f64, -1e0, nan(f64)); | ||
| 17070 | |||
| 17071 | try testArgs(f64, -1e-1, -nan(f64)); | ||
| 17072 | try testArgs(f64, -1e-1, -inf(f64)); | ||
| 17073 | try testArgs(f64, -1e-1, -fmax(f64)); | ||
| 17074 | try testArgs(f64, -1e-1, -1e1); | ||
| 17075 | try testArgs(f64, -1e-1, -1e0); | ||
| 17076 | try testArgs(f64, -1e-1, -1e-1); | ||
| 17077 | try testArgs(f64, -1e-1, -fmin(f64)); | ||
| 17078 | try testArgs(f64, -1e-1, -tmin(f64)); | ||
| 17079 | try testArgs(f64, -1e-1, -0.0); | ||
| 17080 | try testArgs(f64, -1e-1, 0.0); | ||
| 17081 | try testArgs(f64, -1e-1, tmin(f64)); | ||
| 17082 | try testArgs(f64, -1e-1, fmin(f64)); | ||
| 17083 | try testArgs(f64, -1e-1, 1e-1); | ||
| 17084 | try testArgs(f64, -1e-1, 1e0); | ||
| 17085 | try testArgs(f64, -1e-1, 1e1); | ||
| 17086 | try testArgs(f64, -1e-1, fmax(f64)); | ||
| 17087 | try testArgs(f64, -1e-1, inf(f64)); | ||
| 17088 | try testArgs(f64, -1e-1, nan(f64)); | ||
| 17089 | |||
| 17090 | try testArgs(f64, -fmin(f64), -nan(f64)); | ||
| 17091 | try testArgs(f64, -fmin(f64), -inf(f64)); | ||
| 17092 | try testArgs(f64, -fmin(f64), -fmax(f64)); | ||
| 17093 | try testArgs(f64, -fmin(f64), -1e1); | ||
| 17094 | try testArgs(f64, -fmin(f64), -1e0); | ||
| 17095 | try testArgs(f64, -fmin(f64), -1e-1); | ||
| 17096 | try testArgs(f64, -fmin(f64), -fmin(f64)); | ||
| 17097 | try testArgs(f64, -fmin(f64), -tmin(f64)); | ||
| 17098 | try testArgs(f64, -fmin(f64), -0.0); | ||
| 17099 | try testArgs(f64, -fmin(f64), 0.0); | ||
| 17100 | try testArgs(f64, -fmin(f64), tmin(f64)); | ||
| 17101 | try testArgs(f64, -fmin(f64), fmin(f64)); | ||
| 17102 | try testArgs(f64, -fmin(f64), 1e-1); | ||
| 17103 | try testArgs(f64, -fmin(f64), 1e0); | ||
| 17104 | try testArgs(f64, -fmin(f64), 1e1); | ||
| 17105 | try testArgs(f64, -fmin(f64), fmax(f64)); | ||
| 17106 | try testArgs(f64, -fmin(f64), inf(f64)); | ||
| 17107 | try testArgs(f64, -fmin(f64), nan(f64)); | ||
| 17108 | |||
| 17109 | try testArgs(f64, -tmin(f64), -nan(f64)); | ||
| 17110 | try testArgs(f64, -tmin(f64), -inf(f64)); | ||
| 17111 | try testArgs(f64, -tmin(f64), -fmax(f64)); | ||
| 17112 | try testArgs(f64, -tmin(f64), -1e1); | ||
| 17113 | try testArgs(f64, -tmin(f64), -1e0); | ||
| 17114 | try testArgs(f64, -tmin(f64), -1e-1); | ||
| 17115 | try testArgs(f64, -tmin(f64), -fmin(f64)); | ||
| 17116 | try testArgs(f64, -tmin(f64), -tmin(f64)); | ||
| 17117 | try testArgs(f64, -tmin(f64), -0.0); | ||
| 17118 | try testArgs(f64, -tmin(f64), 0.0); | ||
| 17119 | try testArgs(f64, -tmin(f64), tmin(f64)); | ||
| 17120 | try testArgs(f64, -tmin(f64), fmin(f64)); | ||
| 17121 | try testArgs(f64, -tmin(f64), 1e-1); | ||
| 17122 | try testArgs(f64, -tmin(f64), 1e0); | ||
| 17123 | try testArgs(f64, -tmin(f64), 1e1); | ||
| 17124 | try testArgs(f64, -tmin(f64), fmax(f64)); | ||
| 17125 | try testArgs(f64, -tmin(f64), inf(f64)); | ||
| 17126 | try testArgs(f64, -tmin(f64), nan(f64)); | ||
| 17127 | |||
| 17128 | try testArgs(f64, -0.0, -nan(f64)); | ||
| 17129 | try testArgs(f64, -0.0, -inf(f64)); | ||
| 17130 | try testArgs(f64, -0.0, -fmax(f64)); | ||
| 17131 | try testArgs(f64, -0.0, -1e1); | ||
| 17132 | try testArgs(f64, -0.0, -1e0); | ||
| 17133 | try testArgs(f64, -0.0, -1e-1); | ||
| 17134 | try testArgs(f64, -0.0, -fmin(f64)); | ||
| 17135 | try testArgs(f64, -0.0, -tmin(f64)); | ||
| 17136 | try testArgs(f64, -0.0, -0.0); | ||
| 17137 | try testArgs(f64, -0.0, 0.0); | ||
| 17138 | try testArgs(f64, -0.0, tmin(f64)); | ||
| 17139 | try testArgs(f64, -0.0, fmin(f64)); | ||
| 17140 | try testArgs(f64, -0.0, 1e-1); | ||
| 17141 | try testArgs(f64, -0.0, 1e0); | ||
| 17142 | try testArgs(f64, -0.0, 1e1); | ||
| 17143 | try testArgs(f64, -0.0, fmax(f64)); | ||
| 17144 | try testArgs(f64, -0.0, inf(f64)); | ||
| 17145 | try testArgs(f64, -0.0, nan(f64)); | ||
| 17146 | |||
| 17147 | try testArgs(f64, 0.0, -nan(f64)); | ||
| 17148 | try testArgs(f64, 0.0, -inf(f64)); | ||
| 17149 | try testArgs(f64, 0.0, -fmax(f64)); | ||
| 17150 | try testArgs(f64, 0.0, -1e1); | ||
| 17151 | try testArgs(f64, 0.0, -1e0); | ||
| 17152 | try testArgs(f64, 0.0, -1e-1); | ||
| 17153 | try testArgs(f64, 0.0, -fmin(f64)); | ||
| 17154 | try testArgs(f64, 0.0, -tmin(f64)); | ||
| 17155 | try testArgs(f64, 0.0, -0.0); | ||
| 17156 | try testArgs(f64, 0.0, 0.0); | ||
| 17157 | try testArgs(f64, 0.0, tmin(f64)); | ||
| 17158 | try testArgs(f64, 0.0, fmin(f64)); | ||
| 17159 | try testArgs(f64, 0.0, 1e-1); | ||
| 17160 | try testArgs(f64, 0.0, 1e0); | ||
| 17161 | try testArgs(f64, 0.0, 1e1); | ||
| 17162 | try testArgs(f64, 0.0, fmax(f64)); | ||
| 17163 | try testArgs(f64, 0.0, inf(f64)); | ||
| 17164 | try testArgs(f64, 0.0, nan(f64)); | ||
| 17165 | |||
| 17166 | try testArgs(f64, tmin(f64), -nan(f64)); | ||
| 17167 | try testArgs(f64, tmin(f64), -inf(f64)); | ||
| 17168 | try testArgs(f64, tmin(f64), -fmax(f64)); | ||
| 17169 | try testArgs(f64, tmin(f64), -1e1); | ||
| 17170 | try testArgs(f64, tmin(f64), -1e0); | ||
| 17171 | try testArgs(f64, tmin(f64), -1e-1); | ||
| 17172 | try testArgs(f64, tmin(f64), -fmin(f64)); | ||
| 17173 | try testArgs(f64, tmin(f64), -tmin(f64)); | ||
| 17174 | try testArgs(f64, tmin(f64), -0.0); | ||
| 17175 | try testArgs(f64, tmin(f64), 0.0); | ||
| 17176 | try testArgs(f64, tmin(f64), tmin(f64)); | ||
| 17177 | try testArgs(f64, tmin(f64), fmin(f64)); | ||
| 17178 | try testArgs(f64, tmin(f64), 1e-1); | ||
| 17179 | try testArgs(f64, tmin(f64), 1e0); | ||
| 17180 | try testArgs(f64, tmin(f64), 1e1); | ||
| 17181 | try testArgs(f64, tmin(f64), fmax(f64)); | ||
| 17182 | try testArgs(f64, tmin(f64), inf(f64)); | ||
| 17183 | try testArgs(f64, tmin(f64), nan(f64)); | ||
| 17184 | |||
| 17185 | try testArgs(f64, fmin(f64), -nan(f64)); | ||
| 17186 | try testArgs(f64, fmin(f64), -inf(f64)); | ||
| 17187 | try testArgs(f64, fmin(f64), -fmax(f64)); | ||
| 17188 | try testArgs(f64, fmin(f64), -1e1); | ||
| 17189 | try testArgs(f64, fmin(f64), -1e0); | ||
| 17190 | try testArgs(f64, fmin(f64), -1e-1); | ||
| 17191 | try testArgs(f64, fmin(f64), -fmin(f64)); | ||
| 17192 | try testArgs(f64, fmin(f64), -tmin(f64)); | ||
| 17193 | try testArgs(f64, fmin(f64), -0.0); | ||
| 17194 | try testArgs(f64, fmin(f64), 0.0); | ||
| 17195 | try testArgs(f64, fmin(f64), tmin(f64)); | ||
| 17196 | try testArgs(f64, fmin(f64), fmin(f64)); | ||
| 17197 | try testArgs(f64, fmin(f64), 1e-1); | ||
| 17198 | try testArgs(f64, fmin(f64), 1e0); | ||
| 17199 | try testArgs(f64, fmin(f64), 1e1); | ||
| 17200 | try testArgs(f64, fmin(f64), fmax(f64)); | ||
| 17201 | try testArgs(f64, fmin(f64), inf(f64)); | ||
| 17202 | try testArgs(f64, fmin(f64), nan(f64)); | ||
| 17203 | |||
| 17204 | try testArgs(f64, 1e-1, -nan(f64)); | ||
| 17205 | try testArgs(f64, 1e-1, -inf(f64)); | ||
| 17206 | try testArgs(f64, 1e-1, -fmax(f64)); | ||
| 17207 | try testArgs(f64, 1e-1, -1e1); | ||
| 17208 | try testArgs(f64, 1e-1, -1e0); | ||
| 17209 | try testArgs(f64, 1e-1, -1e-1); | ||
| 17210 | try testArgs(f64, 1e-1, -fmin(f64)); | ||
| 17211 | try testArgs(f64, 1e-1, -tmin(f64)); | ||
| 17212 | try testArgs(f64, 1e-1, -0.0); | ||
| 17213 | try testArgs(f64, 1e-1, 0.0); | ||
| 17214 | try testArgs(f64, 1e-1, tmin(f64)); | ||
| 17215 | try testArgs(f64, 1e-1, fmin(f64)); | ||
| 17216 | try testArgs(f64, 1e-1, 1e-1); | ||
| 17217 | try testArgs(f64, 1e-1, 1e0); | ||
| 17218 | try testArgs(f64, 1e-1, 1e1); | ||
| 17219 | try testArgs(f64, 1e-1, fmax(f64)); | ||
| 17220 | try testArgs(f64, 1e-1, inf(f64)); | ||
| 17221 | try testArgs(f64, 1e-1, nan(f64)); | ||
| 17222 | |||
| 17223 | try testArgs(f64, 1e0, -nan(f64)); | ||
| 17224 | try testArgs(f64, 1e0, -inf(f64)); | ||
| 17225 | try testArgs(f64, 1e0, -fmax(f64)); | ||
| 17226 | try testArgs(f64, 1e0, -1e1); | ||
| 17227 | try testArgs(f64, 1e0, -1e0); | ||
| 17228 | try testArgs(f64, 1e0, -1e-1); | ||
| 17229 | try testArgs(f64, 1e0, -fmin(f64)); | ||
| 17230 | try testArgs(f64, 1e0, -tmin(f64)); | ||
| 17231 | try testArgs(f64, 1e0, -0.0); | ||
| 17232 | try testArgs(f64, 1e0, 0.0); | ||
| 17233 | try testArgs(f64, 1e0, tmin(f64)); | ||
| 17234 | try testArgs(f64, 1e0, fmin(f64)); | ||
| 17235 | try testArgs(f64, 1e0, 1e-1); | ||
| 17236 | try testArgs(f64, 1e0, 1e0); | ||
| 17237 | try testArgs(f64, 1e0, 1e1); | ||
| 17238 | try testArgs(f64, 1e0, fmax(f64)); | ||
| 17239 | try testArgs(f64, 1e0, inf(f64)); | ||
| 17240 | try testArgs(f64, 1e0, nan(f64)); | ||
| 17241 | |||
| 17242 | try testArgs(f64, 1e1, -nan(f64)); | ||
| 17243 | try testArgs(f64, 1e1, -inf(f64)); | ||
| 17244 | try testArgs(f64, 1e1, -fmax(f64)); | ||
| 17245 | try testArgs(f64, 1e1, -1e1); | ||
| 17246 | try testArgs(f64, 1e1, -1e0); | ||
| 17247 | try testArgs(f64, 1e1, -1e-1); | ||
| 17248 | try testArgs(f64, 1e1, -fmin(f64)); | ||
| 17249 | try testArgs(f64, 1e1, -tmin(f64)); | ||
| 17250 | try testArgs(f64, 1e1, -0.0); | ||
| 17251 | try testArgs(f64, 1e1, 0.0); | ||
| 17252 | try testArgs(f64, 1e1, tmin(f64)); | ||
| 17253 | try testArgs(f64, 1e1, fmin(f64)); | ||
| 17254 | try testArgs(f64, 1e1, 1e-1); | ||
| 17255 | try testArgs(f64, 1e1, 1e0); | ||
| 17256 | try testArgs(f64, 1e1, 1e1); | ||
| 17257 | try testArgs(f64, 1e1, fmax(f64)); | ||
| 17258 | try testArgs(f64, 1e1, inf(f64)); | ||
| 17259 | try testArgs(f64, 1e1, nan(f64)); | ||
| 17260 | |||
| 17261 | try testArgs(f64, fmax(f64), -nan(f64)); | ||
| 17262 | try testArgs(f64, fmax(f64), -inf(f64)); | ||
| 17263 | try testArgs(f64, fmax(f64), -fmax(f64)); | ||
| 17264 | try testArgs(f64, fmax(f64), -1e1); | ||
| 17265 | try testArgs(f64, fmax(f64), -1e0); | ||
| 17266 | try testArgs(f64, fmax(f64), -1e-1); | ||
| 17267 | try testArgs(f64, fmax(f64), -fmin(f64)); | ||
| 17268 | try testArgs(f64, fmax(f64), -tmin(f64)); | ||
| 17269 | try testArgs(f64, fmax(f64), -0.0); | ||
| 17270 | try testArgs(f64, fmax(f64), 0.0); | ||
| 17271 | try testArgs(f64, fmax(f64), tmin(f64)); | ||
| 17272 | try testArgs(f64, fmax(f64), fmin(f64)); | ||
| 17273 | try testArgs(f64, fmax(f64), 1e-1); | ||
| 17274 | try testArgs(f64, fmax(f64), 1e0); | ||
| 17275 | try testArgs(f64, fmax(f64), 1e1); | ||
| 17276 | try testArgs(f64, fmax(f64), fmax(f64)); | ||
| 17277 | try testArgs(f64, fmax(f64), inf(f64)); | ||
| 17278 | try testArgs(f64, fmax(f64), nan(f64)); | ||
| 17279 | |||
| 17280 | try testArgs(f64, inf(f64), -nan(f64)); | ||
| 17281 | try testArgs(f64, inf(f64), -inf(f64)); | ||
| 17282 | try testArgs(f64, inf(f64), -fmax(f64)); | ||
| 17283 | try testArgs(f64, inf(f64), -1e1); | ||
| 17284 | try testArgs(f64, inf(f64), -1e0); | ||
| 17285 | try testArgs(f64, inf(f64), -1e-1); | ||
| 17286 | try testArgs(f64, inf(f64), -fmin(f64)); | ||
| 17287 | try testArgs(f64, inf(f64), -tmin(f64)); | ||
| 17288 | try testArgs(f64, inf(f64), -0.0); | ||
| 17289 | try testArgs(f64, inf(f64), 0.0); | ||
| 17290 | try testArgs(f64, inf(f64), tmin(f64)); | ||
| 17291 | try testArgs(f64, inf(f64), fmin(f64)); | ||
| 17292 | try testArgs(f64, inf(f64), 1e-1); | ||
| 17293 | try testArgs(f64, inf(f64), 1e0); | ||
| 17294 | try testArgs(f64, inf(f64), 1e1); | ||
| 17295 | try testArgs(f64, inf(f64), fmax(f64)); | ||
| 17296 | try testArgs(f64, inf(f64), inf(f64)); | ||
| 17297 | try testArgs(f64, inf(f64), nan(f64)); | ||
| 17298 | |||
| 17299 | try testArgs(f64, nan(f64), -nan(f64)); | ||
| 17300 | try testArgs(f64, nan(f64), -inf(f64)); | ||
| 17301 | try testArgs(f64, nan(f64), -fmax(f64)); | ||
| 17302 | try testArgs(f64, nan(f64), -1e1); | ||
| 17303 | try testArgs(f64, nan(f64), -1e0); | ||
| 17304 | try testArgs(f64, nan(f64), -1e-1); | ||
| 17305 | try testArgs(f64, nan(f64), -fmin(f64)); | ||
| 17306 | try testArgs(f64, nan(f64), -tmin(f64)); | ||
| 17307 | try testArgs(f64, nan(f64), -0.0); | ||
| 17308 | try testArgs(f64, nan(f64), 0.0); | ||
| 17309 | try testArgs(f64, nan(f64), tmin(f64)); | ||
| 17310 | try testArgs(f64, nan(f64), fmin(f64)); | ||
| 17311 | try testArgs(f64, nan(f64), 1e-1); | ||
| 17312 | try testArgs(f64, nan(f64), 1e0); | ||
| 17313 | try testArgs(f64, nan(f64), 1e1); | ||
| 17314 | try testArgs(f64, nan(f64), fmax(f64)); | ||
| 17315 | try testArgs(f64, nan(f64), inf(f64)); | ||
| 17316 | try testArgs(f64, nan(f64), nan(f64)); | ||
| 17317 | |||
| 17318 | try testArgs(f80, -nan(f80), -nan(f80)); | ||
| 17319 | try testArgs(f80, -nan(f80), -inf(f80)); | ||
| 17320 | try testArgs(f80, -nan(f80), -fmax(f80)); | ||
| 17321 | try testArgs(f80, -nan(f80), -1e1); | ||
| 17322 | try testArgs(f80, -nan(f80), -1e0); | ||
| 17323 | try testArgs(f80, -nan(f80), -1e-1); | ||
| 17324 | try testArgs(f80, -nan(f80), -fmin(f80)); | ||
| 17325 | try testArgs(f80, -nan(f80), -tmin(f80)); | ||
| 17326 | try testArgs(f80, -nan(f80), -0.0); | ||
| 17327 | try testArgs(f80, -nan(f80), 0.0); | ||
| 17328 | try testArgs(f80, -nan(f80), tmin(f80)); | ||
| 17329 | try testArgs(f80, -nan(f80), fmin(f80)); | ||
| 17330 | try testArgs(f80, -nan(f80), 1e-1); | ||
| 17331 | try testArgs(f80, -nan(f80), 1e0); | ||
| 17332 | try testArgs(f80, -nan(f80), 1e1); | ||
| 17333 | try testArgs(f80, -nan(f80), fmax(f80)); | ||
| 17334 | try testArgs(f80, -nan(f80), inf(f80)); | ||
| 17335 | try testArgs(f80, -nan(f80), nan(f80)); | ||
| 17336 | |||
| 17337 | try testArgs(f80, -inf(f80), -nan(f80)); | ||
| 17338 | try testArgs(f80, -inf(f80), -inf(f80)); | ||
| 17339 | try testArgs(f80, -inf(f80), -fmax(f80)); | ||
| 17340 | try testArgs(f80, -inf(f80), -1e1); | ||
| 17341 | try testArgs(f80, -inf(f80), -1e0); | ||
| 17342 | try testArgs(f80, -inf(f80), -1e-1); | ||
| 17343 | try testArgs(f80, -inf(f80), -fmin(f80)); | ||
| 17344 | try testArgs(f80, -inf(f80), -tmin(f80)); | ||
| 17345 | try testArgs(f80, -inf(f80), -0.0); | ||
| 17346 | try testArgs(f80, -inf(f80), 0.0); | ||
| 17347 | try testArgs(f80, -inf(f80), tmin(f80)); | ||
| 17348 | try testArgs(f80, -inf(f80), fmin(f80)); | ||
| 17349 | try testArgs(f80, -inf(f80), 1e-1); | ||
| 17350 | try testArgs(f80, -inf(f80), 1e0); | ||
| 17351 | try testArgs(f80, -inf(f80), 1e1); | ||
| 17352 | try testArgs(f80, -inf(f80), fmax(f80)); | ||
| 17353 | try testArgs(f80, -inf(f80), inf(f80)); | ||
| 17354 | try testArgs(f80, -inf(f80), nan(f80)); | ||
| 17355 | |||
| 17356 | try testArgs(f80, -fmax(f80), -nan(f80)); | ||
| 17357 | try testArgs(f80, -fmax(f80), -inf(f80)); | ||
| 17358 | try testArgs(f80, -fmax(f80), -fmax(f80)); | ||
| 17359 | try testArgs(f80, -fmax(f80), -1e1); | ||
| 17360 | try testArgs(f80, -fmax(f80), -1e0); | ||
| 17361 | try testArgs(f80, -fmax(f80), -1e-1); | ||
| 17362 | try testArgs(f80, -fmax(f80), -fmin(f80)); | ||
| 17363 | try testArgs(f80, -fmax(f80), -tmin(f80)); | ||
| 17364 | try testArgs(f80, -fmax(f80), -0.0); | ||
| 17365 | try testArgs(f80, -fmax(f80), 0.0); | ||
| 17366 | try testArgs(f80, -fmax(f80), tmin(f80)); | ||
| 17367 | try testArgs(f80, -fmax(f80), fmin(f80)); | ||
| 17368 | try testArgs(f80, -fmax(f80), 1e-1); | ||
| 17369 | try testArgs(f80, -fmax(f80), 1e0); | ||
| 17370 | try testArgs(f80, -fmax(f80), 1e1); | ||
| 17371 | try testArgs(f80, -fmax(f80), fmax(f80)); | ||
| 17372 | try testArgs(f80, -fmax(f80), inf(f80)); | ||
| 17373 | try testArgs(f80, -fmax(f80), nan(f80)); | ||
| 17374 | |||
| 17375 | try testArgs(f80, -1e1, -nan(f80)); | ||
| 17376 | try testArgs(f80, -1e1, -inf(f80)); | ||
| 17377 | try testArgs(f80, -1e1, -fmax(f80)); | ||
| 17378 | try testArgs(f80, -1e1, -1e1); | ||
| 17379 | try testArgs(f80, -1e1, -1e0); | ||
| 17380 | try testArgs(f80, -1e1, -1e-1); | ||
| 17381 | try testArgs(f80, -1e1, -fmin(f80)); | ||
| 17382 | try testArgs(f80, -1e1, -tmin(f80)); | ||
| 17383 | try testArgs(f80, -1e1, -0.0); | ||
| 17384 | try testArgs(f80, -1e1, 0.0); | ||
| 17385 | try testArgs(f80, -1e1, tmin(f80)); | ||
| 17386 | try testArgs(f80, -1e1, fmin(f80)); | ||
| 17387 | try testArgs(f80, -1e1, 1e-1); | ||
| 17388 | try testArgs(f80, -1e1, 1e0); | ||
| 17389 | try testArgs(f80, -1e1, 1e1); | ||
| 17390 | try testArgs(f80, -1e1, fmax(f80)); | ||
| 17391 | try testArgs(f80, -1e1, inf(f80)); | ||
| 17392 | try testArgs(f80, -1e1, nan(f80)); | ||
| 17393 | |||
| 17394 | try testArgs(f80, -1e0, -nan(f80)); | ||
| 17395 | try testArgs(f80, -1e0, -inf(f80)); | ||
| 17396 | try testArgs(f80, -1e0, -fmax(f80)); | ||
| 17397 | try testArgs(f80, -1e0, -1e1); | ||
| 17398 | try testArgs(f80, -1e0, -1e0); | ||
| 17399 | try testArgs(f80, -1e0, -1e-1); | ||
| 17400 | try testArgs(f80, -1e0, -fmin(f80)); | ||
| 17401 | try testArgs(f80, -1e0, -tmin(f80)); | ||
| 17402 | try testArgs(f80, -1e0, -0.0); | ||
| 17403 | try testArgs(f80, -1e0, 0.0); | ||
| 17404 | try testArgs(f80, -1e0, tmin(f80)); | ||
| 17405 | try testArgs(f80, -1e0, fmin(f80)); | ||
| 17406 | try testArgs(f80, -1e0, 1e-1); | ||
| 17407 | try testArgs(f80, -1e0, 1e0); | ||
| 17408 | try testArgs(f80, -1e0, 1e1); | ||
| 17409 | try testArgs(f80, -1e0, fmax(f80)); | ||
| 17410 | try testArgs(f80, -1e0, inf(f80)); | ||
| 17411 | try testArgs(f80, -1e0, nan(f80)); | ||
| 17412 | |||
| 17413 | try testArgs(f80, -1e-1, -nan(f80)); | ||
| 17414 | try testArgs(f80, -1e-1, -inf(f80)); | ||
| 17415 | try testArgs(f80, -1e-1, -fmax(f80)); | ||
| 17416 | try testArgs(f80, -1e-1, -1e1); | ||
| 17417 | try testArgs(f80, -1e-1, -1e0); | ||
| 17418 | try testArgs(f80, -1e-1, -1e-1); | ||
| 17419 | try testArgs(f80, -1e-1, -fmin(f80)); | ||
| 17420 | try testArgs(f80, -1e-1, -tmin(f80)); | ||
| 17421 | try testArgs(f80, -1e-1, -0.0); | ||
| 17422 | try testArgs(f80, -1e-1, 0.0); | ||
| 17423 | try testArgs(f80, -1e-1, tmin(f80)); | ||
| 17424 | try testArgs(f80, -1e-1, fmin(f80)); | ||
| 17425 | try testArgs(f80, -1e-1, 1e-1); | ||
| 17426 | try testArgs(f80, -1e-1, 1e0); | ||
| 17427 | try testArgs(f80, -1e-1, 1e1); | ||
| 17428 | try testArgs(f80, -1e-1, fmax(f80)); | ||
| 17429 | try testArgs(f80, -1e-1, inf(f80)); | ||
| 17430 | try testArgs(f80, -1e-1, nan(f80)); | ||
| 17431 | |||
| 17432 | try testArgs(f80, -fmin(f80), -nan(f80)); | ||
| 17433 | try testArgs(f80, -fmin(f80), -inf(f80)); | ||
| 17434 | try testArgs(f80, -fmin(f80), -fmax(f80)); | ||
| 17435 | try testArgs(f80, -fmin(f80), -1e1); | ||
| 17436 | try testArgs(f80, -fmin(f80), -1e0); | ||
| 17437 | try testArgs(f80, -fmin(f80), -1e-1); | ||
| 17438 | try testArgs(f80, -fmin(f80), -fmin(f80)); | ||
| 17439 | try testArgs(f80, -fmin(f80), -tmin(f80)); | ||
| 17440 | try testArgs(f80, -fmin(f80), -0.0); | ||
| 17441 | try testArgs(f80, -fmin(f80), 0.0); | ||
| 17442 | try testArgs(f80, -fmin(f80), tmin(f80)); | ||
| 17443 | try testArgs(f80, -fmin(f80), fmin(f80)); | ||
| 17444 | try testArgs(f80, -fmin(f80), 1e-1); | ||
| 17445 | try testArgs(f80, -fmin(f80), 1e0); | ||
| 17446 | try testArgs(f80, -fmin(f80), 1e1); | ||
| 17447 | try testArgs(f80, -fmin(f80), fmax(f80)); | ||
| 17448 | try testArgs(f80, -fmin(f80), inf(f80)); | ||
| 17449 | try testArgs(f80, -fmin(f80), nan(f80)); | ||
| 17450 | |||
| 17451 | try testArgs(f80, -tmin(f80), -nan(f80)); | ||
| 17452 | try testArgs(f80, -tmin(f80), -inf(f80)); | ||
| 17453 | try testArgs(f80, -tmin(f80), -fmax(f80)); | ||
| 17454 | try testArgs(f80, -tmin(f80), -1e1); | ||
| 17455 | try testArgs(f80, -tmin(f80), -1e0); | ||
| 17456 | try testArgs(f80, -tmin(f80), -1e-1); | ||
| 17457 | try testArgs(f80, -tmin(f80), -fmin(f80)); | ||
| 17458 | try testArgs(f80, -tmin(f80), -tmin(f80)); | ||
| 17459 | try testArgs(f80, -tmin(f80), -0.0); | ||
| 17460 | try testArgs(f80, -tmin(f80), 0.0); | ||
| 17461 | try testArgs(f80, -tmin(f80), tmin(f80)); | ||
| 17462 | try testArgs(f80, -tmin(f80), fmin(f80)); | ||
| 17463 | try testArgs(f80, -tmin(f80), 1e-1); | ||
| 17464 | try testArgs(f80, -tmin(f80), 1e0); | ||
| 17465 | try testArgs(f80, -tmin(f80), 1e1); | ||
| 17466 | try testArgs(f80, -tmin(f80), fmax(f80)); | ||
| 17467 | try testArgs(f80, -tmin(f80), inf(f80)); | ||
| 17468 | try testArgs(f80, -tmin(f80), nan(f80)); | ||
| 17469 | |||
| 17470 | try testArgs(f80, -0.0, -nan(f80)); | ||
| 17471 | try testArgs(f80, -0.0, -inf(f80)); | ||
| 17472 | try testArgs(f80, -0.0, -fmax(f80)); | ||
| 17473 | try testArgs(f80, -0.0, -1e1); | ||
| 17474 | try testArgs(f80, -0.0, -1e0); | ||
| 17475 | try testArgs(f80, -0.0, -1e-1); | ||
| 17476 | try testArgs(f80, -0.0, -fmin(f80)); | ||
| 17477 | try testArgs(f80, -0.0, -tmin(f80)); | ||
| 17478 | try testArgs(f80, -0.0, -0.0); | ||
| 17479 | try testArgs(f80, -0.0, 0.0); | ||
| 17480 | try testArgs(f80, -0.0, tmin(f80)); | ||
| 17481 | try testArgs(f80, -0.0, fmin(f80)); | ||
| 17482 | try testArgs(f80, -0.0, 1e-1); | ||
| 17483 | try testArgs(f80, -0.0, 1e0); | ||
| 17484 | try testArgs(f80, -0.0, 1e1); | ||
| 17485 | try testArgs(f80, -0.0, fmax(f80)); | ||
| 17486 | try testArgs(f80, -0.0, inf(f80)); | ||
| 17487 | try testArgs(f80, -0.0, nan(f80)); | ||
| 17488 | |||
| 17489 | try testArgs(f80, 0.0, -nan(f80)); | ||
| 17490 | try testArgs(f80, 0.0, -inf(f80)); | ||
| 17491 | try testArgs(f80, 0.0, -fmax(f80)); | ||
| 17492 | try testArgs(f80, 0.0, -1e1); | ||
| 17493 | try testArgs(f80, 0.0, -1e0); | ||
| 17494 | try testArgs(f80, 0.0, -1e-1); | ||
| 17495 | try testArgs(f80, 0.0, -fmin(f80)); | ||
| 17496 | try testArgs(f80, 0.0, -tmin(f80)); | ||
| 17497 | try testArgs(f80, 0.0, -0.0); | ||
| 17498 | try testArgs(f80, 0.0, 0.0); | ||
| 17499 | try testArgs(f80, 0.0, tmin(f80)); | ||
| 17500 | try testArgs(f80, 0.0, fmin(f80)); | ||
| 17501 | try testArgs(f80, 0.0, 1e-1); | ||
| 17502 | try testArgs(f80, 0.0, 1e0); | ||
| 17503 | try testArgs(f80, 0.0, 1e1); | ||
| 17504 | try testArgs(f80, 0.0, fmax(f80)); | ||
| 17505 | try testArgs(f80, 0.0, inf(f80)); | ||
| 17506 | try testArgs(f80, 0.0, nan(f80)); | ||
| 17507 | |||
| 17508 | try testArgs(f80, tmin(f80), -nan(f80)); | ||
| 17509 | try testArgs(f80, tmin(f80), -inf(f80)); | ||
| 17510 | try testArgs(f80, tmin(f80), -fmax(f80)); | ||
| 17511 | try testArgs(f80, tmin(f80), -1e1); | ||
| 17512 | try testArgs(f80, tmin(f80), -1e0); | ||
| 17513 | try testArgs(f80, tmin(f80), -1e-1); | ||
| 17514 | try testArgs(f80, tmin(f80), -fmin(f80)); | ||
| 17515 | try testArgs(f80, tmin(f80), -tmin(f80)); | ||
| 17516 | try testArgs(f80, tmin(f80), -0.0); | ||
| 17517 | try testArgs(f80, tmin(f80), 0.0); | ||
| 17518 | try testArgs(f80, tmin(f80), tmin(f80)); | ||
| 17519 | try testArgs(f80, tmin(f80), fmin(f80)); | ||
| 17520 | try testArgs(f80, tmin(f80), 1e-1); | ||
| 17521 | try testArgs(f80, tmin(f80), 1e0); | ||
| 17522 | try testArgs(f80, tmin(f80), 1e1); | ||
| 17523 | try testArgs(f80, tmin(f80), fmax(f80)); | ||
| 17524 | try testArgs(f80, tmin(f80), inf(f80)); | ||
| 17525 | try testArgs(f80, tmin(f80), nan(f80)); | ||
| 17526 | |||
| 17527 | try testArgs(f80, fmin(f80), -nan(f80)); | ||
| 17528 | try testArgs(f80, fmin(f80), -inf(f80)); | ||
| 17529 | try testArgs(f80, fmin(f80), -fmax(f80)); | ||
| 17530 | try testArgs(f80, fmin(f80), -1e1); | ||
| 17531 | try testArgs(f80, fmin(f80), -1e0); | ||
| 17532 | try testArgs(f80, fmin(f80), -1e-1); | ||
| 17533 | try testArgs(f80, fmin(f80), -fmin(f80)); | ||
| 17534 | try testArgs(f80, fmin(f80), -tmin(f80)); | ||
| 17535 | try testArgs(f80, fmin(f80), -0.0); | ||
| 17536 | try testArgs(f80, fmin(f80), 0.0); | ||
| 17537 | try testArgs(f80, fmin(f80), tmin(f80)); | ||
| 17538 | try testArgs(f80, fmin(f80), fmin(f80)); | ||
| 17539 | try testArgs(f80, fmin(f80), 1e-1); | ||
| 17540 | try testArgs(f80, fmin(f80), 1e0); | ||
| 17541 | try testArgs(f80, fmin(f80), 1e1); | ||
| 17542 | try testArgs(f80, fmin(f80), fmax(f80)); | ||
| 17543 | try testArgs(f80, fmin(f80), inf(f80)); | ||
| 17544 | try testArgs(f80, fmin(f80), nan(f80)); | ||
| 17545 | |||
| 17546 | try testArgs(f80, 1e-1, -nan(f80)); | ||
| 17547 | try testArgs(f80, 1e-1, -inf(f80)); | ||
| 17548 | try testArgs(f80, 1e-1, -fmax(f80)); | ||
| 17549 | try testArgs(f80, 1e-1, -1e1); | ||
| 17550 | try testArgs(f80, 1e-1, -1e0); | ||
| 17551 | try testArgs(f80, 1e-1, -1e-1); | ||
| 17552 | try testArgs(f80, 1e-1, -fmin(f80)); | ||
| 17553 | try testArgs(f80, 1e-1, -tmin(f80)); | ||
| 17554 | try testArgs(f80, 1e-1, -0.0); | ||
| 17555 | try testArgs(f80, 1e-1, 0.0); | ||
| 17556 | try testArgs(f80, 1e-1, tmin(f80)); | ||
| 17557 | try testArgs(f80, 1e-1, fmin(f80)); | ||
| 17558 | try testArgs(f80, 1e-1, 1e-1); | ||
| 17559 | try testArgs(f80, 1e-1, 1e0); | ||
| 17560 | try testArgs(f80, 1e-1, 1e1); | ||
| 17561 | try testArgs(f80, 1e-1, fmax(f80)); | ||
| 17562 | try testArgs(f80, 1e-1, inf(f80)); | ||
| 17563 | try testArgs(f80, 1e-1, nan(f80)); | ||
| 17564 | |||
| 17565 | try testArgs(f80, 1e0, -nan(f80)); | ||
| 17566 | try testArgs(f80, 1e0, -inf(f80)); | ||
| 17567 | try testArgs(f80, 1e0, -fmax(f80)); | ||
| 17568 | try testArgs(f80, 1e0, -1e1); | ||
| 17569 | try testArgs(f80, 1e0, -1e0); | ||
| 17570 | try testArgs(f80, 1e0, -1e-1); | ||
| 17571 | try testArgs(f80, 1e0, -fmin(f80)); | ||
| 17572 | try testArgs(f80, 1e0, -tmin(f80)); | ||
| 17573 | try testArgs(f80, 1e0, -0.0); | ||
| 17574 | try testArgs(f80, 1e0, 0.0); | ||
| 17575 | try testArgs(f80, 1e0, tmin(f80)); | ||
| 17576 | try testArgs(f80, 1e0, fmin(f80)); | ||
| 17577 | try testArgs(f80, 1e0, 1e-1); | ||
| 17578 | try testArgs(f80, 1e0, 1e0); | ||
| 17579 | try testArgs(f80, 1e0, 1e1); | ||
| 17580 | try testArgs(f80, 1e0, fmax(f80)); | ||
| 17581 | try testArgs(f80, 1e0, inf(f80)); | ||
| 17582 | try testArgs(f80, 1e0, nan(f80)); | ||
| 17583 | |||
| 17584 | try testArgs(f80, 1e1, -nan(f80)); | ||
| 17585 | try testArgs(f80, 1e1, -inf(f80)); | ||
| 17586 | try testArgs(f80, 1e1, -fmax(f80)); | ||
| 17587 | try testArgs(f80, 1e1, -1e1); | ||
| 17588 | try testArgs(f80, 1e1, -1e0); | ||
| 17589 | try testArgs(f80, 1e1, -1e-1); | ||
| 17590 | try testArgs(f80, 1e1, -fmin(f80)); | ||
| 17591 | try testArgs(f80, 1e1, -tmin(f80)); | ||
| 17592 | try testArgs(f80, 1e1, -0.0); | ||
| 17593 | try testArgs(f80, 1e1, 0.0); | ||
| 17594 | try testArgs(f80, 1e1, tmin(f80)); | ||
| 17595 | try testArgs(f80, 1e1, fmin(f80)); | ||
| 17596 | try testArgs(f80, 1e1, 1e-1); | ||
| 17597 | try testArgs(f80, 1e1, 1e0); | ||
| 17598 | try testArgs(f80, 1e1, 1e1); | ||
| 17599 | try testArgs(f80, 1e1, fmax(f80)); | ||
| 17600 | try testArgs(f80, 1e1, inf(f80)); | ||
| 17601 | try testArgs(f80, 1e1, nan(f80)); | ||
| 17602 | |||
| 17603 | try testArgs(f80, fmax(f80), -nan(f80)); | ||
| 17604 | try testArgs(f80, fmax(f80), -inf(f80)); | ||
| 17605 | try testArgs(f80, fmax(f80), -fmax(f80)); | ||
| 17606 | try testArgs(f80, fmax(f80), -1e1); | ||
| 17607 | try testArgs(f80, fmax(f80), -1e0); | ||
| 17608 | try testArgs(f80, fmax(f80), -1e-1); | ||
| 17609 | try testArgs(f80, fmax(f80), -fmin(f80)); | ||
| 17610 | try testArgs(f80, fmax(f80), -tmin(f80)); | ||
| 17611 | try testArgs(f80, fmax(f80), -0.0); | ||
| 17612 | try testArgs(f80, fmax(f80), 0.0); | ||
| 17613 | try testArgs(f80, fmax(f80), tmin(f80)); | ||
| 17614 | try testArgs(f80, fmax(f80), fmin(f80)); | ||
| 17615 | try testArgs(f80, fmax(f80), 1e-1); | ||
| 17616 | try testArgs(f80, fmax(f80), 1e0); | ||
| 17617 | try testArgs(f80, fmax(f80), 1e1); | ||
| 17618 | try testArgs(f80, fmax(f80), fmax(f80)); | ||
| 17619 | try testArgs(f80, fmax(f80), inf(f80)); | ||
| 17620 | try testArgs(f80, fmax(f80), nan(f80)); | ||
| 17621 | |||
| 17622 | try testArgs(f80, inf(f80), -nan(f80)); | ||
| 17623 | try testArgs(f80, inf(f80), -inf(f80)); | ||
| 17624 | try testArgs(f80, inf(f80), -fmax(f80)); | ||
| 17625 | try testArgs(f80, inf(f80), -1e1); | ||
| 17626 | try testArgs(f80, inf(f80), -1e0); | ||
| 17627 | try testArgs(f80, inf(f80), -1e-1); | ||
| 17628 | try testArgs(f80, inf(f80), -fmin(f80)); | ||
| 17629 | try testArgs(f80, inf(f80), -tmin(f80)); | ||
| 17630 | try testArgs(f80, inf(f80), -0.0); | ||
| 17631 | try testArgs(f80, inf(f80), 0.0); | ||
| 17632 | try testArgs(f80, inf(f80), tmin(f80)); | ||
| 17633 | try testArgs(f80, inf(f80), fmin(f80)); | ||
| 17634 | try testArgs(f80, inf(f80), 1e-1); | ||
| 17635 | try testArgs(f80, inf(f80), 1e0); | ||
| 17636 | try testArgs(f80, inf(f80), 1e1); | ||
| 17637 | try testArgs(f80, inf(f80), fmax(f80)); | ||
| 17638 | try testArgs(f80, inf(f80), inf(f80)); | ||
| 17639 | try testArgs(f80, inf(f80), nan(f80)); | ||
| 17640 | |||
| 17641 | try testArgs(f80, nan(f80), -nan(f80)); | ||
| 17642 | try testArgs(f80, nan(f80), -inf(f80)); | ||
| 17643 | try testArgs(f80, nan(f80), -fmax(f80)); | ||
| 17644 | try testArgs(f80, nan(f80), -1e1); | ||
| 17645 | try testArgs(f80, nan(f80), -1e0); | ||
| 17646 | try testArgs(f80, nan(f80), -1e-1); | ||
| 17647 | try testArgs(f80, nan(f80), -fmin(f80)); | ||
| 17648 | try testArgs(f80, nan(f80), -tmin(f80)); | ||
| 17649 | try testArgs(f80, nan(f80), -0.0); | ||
| 17650 | try testArgs(f80, nan(f80), 0.0); | ||
| 17651 | try testArgs(f80, nan(f80), tmin(f80)); | ||
| 17652 | try testArgs(f80, nan(f80), fmin(f80)); | ||
| 17653 | try testArgs(f80, nan(f80), 1e-1); | ||
| 17654 | try testArgs(f80, nan(f80), 1e0); | ||
| 17655 | try testArgs(f80, nan(f80), 1e1); | ||
| 17656 | try testArgs(f80, nan(f80), fmax(f80)); | ||
| 17657 | try testArgs(f80, nan(f80), inf(f80)); | ||
| 17658 | try testArgs(f80, nan(f80), nan(f80)); | ||
| 17659 | |||
| 17660 | try testArgs(f128, -nan(f128), -nan(f128)); | ||
| 17661 | try testArgs(f128, -nan(f128), -inf(f128)); | ||
| 17662 | try testArgs(f128, -nan(f128), -fmax(f128)); | ||
| 17663 | try testArgs(f128, -nan(f128), -1e1); | ||
| 17664 | try testArgs(f128, -nan(f128), -1e0); | ||
| 17665 | try testArgs(f128, -nan(f128), -1e-1); | ||
| 17666 | try testArgs(f128, -nan(f128), -fmin(f128)); | ||
| 17667 | try testArgs(f128, -nan(f128), -tmin(f128)); | ||
| 17668 | try testArgs(f128, -nan(f128), -0.0); | ||
| 17669 | try testArgs(f128, -nan(f128), 0.0); | ||
| 17670 | try testArgs(f128, -nan(f128), tmin(f128)); | ||
| 17671 | try testArgs(f128, -nan(f128), fmin(f128)); | ||
| 17672 | try testArgs(f128, -nan(f128), 1e-1); | ||
| 17673 | try testArgs(f128, -nan(f128), 1e0); | ||
| 17674 | try testArgs(f128, -nan(f128), 1e1); | ||
| 17675 | try testArgs(f128, -nan(f128), fmax(f128)); | ||
| 17676 | try testArgs(f128, -nan(f128), inf(f128)); | ||
| 17677 | try testArgs(f128, -nan(f128), nan(f128)); | ||
| 17678 | |||
| 17679 | try testArgs(f128, -inf(f128), -nan(f128)); | ||
| 17680 | try testArgs(f128, -inf(f128), -inf(f128)); | ||
| 17681 | try testArgs(f128, -inf(f128), -fmax(f128)); | ||
| 17682 | try testArgs(f128, -inf(f128), -1e1); | ||
| 17683 | try testArgs(f128, -inf(f128), -1e0); | ||
| 17684 | try testArgs(f128, -inf(f128), -1e-1); | ||
| 17685 | try testArgs(f128, -inf(f128), -fmin(f128)); | ||
| 17686 | try testArgs(f128, -inf(f128), -tmin(f128)); | ||
| 17687 | try testArgs(f128, -inf(f128), -0.0); | ||
| 17688 | try testArgs(f128, -inf(f128), 0.0); | ||
| 17689 | try testArgs(f128, -inf(f128), tmin(f128)); | ||
| 17690 | try testArgs(f128, -inf(f128), fmin(f128)); | ||
| 17691 | try testArgs(f128, -inf(f128), 1e-1); | ||
| 17692 | try testArgs(f128, -inf(f128), 1e0); | ||
| 17693 | try testArgs(f128, -inf(f128), 1e1); | ||
| 17694 | try testArgs(f128, -inf(f128), fmax(f128)); | ||
| 17695 | try testArgs(f128, -inf(f128), inf(f128)); | ||
| 17696 | try testArgs(f128, -inf(f128), nan(f128)); | ||
| 17697 | |||
| 17698 | try testArgs(f128, -fmax(f128), -nan(f128)); | ||
| 17699 | try testArgs(f128, -fmax(f128), -inf(f128)); | ||
| 17700 | try testArgs(f128, -fmax(f128), -fmax(f128)); | ||
| 17701 | try testArgs(f128, -fmax(f128), -1e1); | ||
| 17702 | try testArgs(f128, -fmax(f128), -1e0); | ||
| 17703 | try testArgs(f128, -fmax(f128), -1e-1); | ||
| 17704 | try testArgs(f128, -fmax(f128), -fmin(f128)); | ||
| 17705 | try testArgs(f128, -fmax(f128), -tmin(f128)); | ||
| 17706 | try testArgs(f128, -fmax(f128), -0.0); | ||
| 17707 | try testArgs(f128, -fmax(f128), 0.0); | ||
| 17708 | try testArgs(f128, -fmax(f128), tmin(f128)); | ||
| 17709 | try testArgs(f128, -fmax(f128), fmin(f128)); | ||
| 17710 | try testArgs(f128, -fmax(f128), 1e-1); | ||
| 17711 | try testArgs(f128, -fmax(f128), 1e0); | ||
| 17712 | try testArgs(f128, -fmax(f128), 1e1); | ||
| 17713 | try testArgs(f128, -fmax(f128), fmax(f128)); | ||
| 17714 | try testArgs(f128, -fmax(f128), inf(f128)); | ||
| 17715 | try testArgs(f128, -fmax(f128), nan(f128)); | ||
| 17716 | |||
| 17717 | try testArgs(f128, -1e1, -nan(f128)); | ||
| 17718 | try testArgs(f128, -1e1, -inf(f128)); | ||
| 17719 | try testArgs(f128, -1e1, -fmax(f128)); | ||
| 17720 | try testArgs(f128, -1e1, -1e1); | ||
| 17721 | try testArgs(f128, -1e1, -1e0); | ||
| 17722 | try testArgs(f128, -1e1, -1e-1); | ||
| 17723 | try testArgs(f128, -1e1, -fmin(f128)); | ||
| 17724 | try testArgs(f128, -1e1, -tmin(f128)); | ||
| 17725 | try testArgs(f128, -1e1, -0.0); | ||
| 17726 | try testArgs(f128, -1e1, 0.0); | ||
| 17727 | try testArgs(f128, -1e1, tmin(f128)); | ||
| 17728 | try testArgs(f128, -1e1, fmin(f128)); | ||
| 17729 | try testArgs(f128, -1e1, 1e-1); | ||
| 17730 | try testArgs(f128, -1e1, 1e0); | ||
| 17731 | try testArgs(f128, -1e1, 1e1); | ||
| 17732 | try testArgs(f128, -1e1, fmax(f128)); | ||
| 17733 | try testArgs(f128, -1e1, inf(f128)); | ||
| 17734 | try testArgs(f128, -1e1, nan(f128)); | ||
| 17735 | |||
| 17736 | try testArgs(f128, -1e0, -nan(f128)); | ||
| 17737 | try testArgs(f128, -1e0, -inf(f128)); | ||
| 17738 | try testArgs(f128, -1e0, -fmax(f128)); | ||
| 17739 | try testArgs(f128, -1e0, -1e1); | ||
| 17740 | try testArgs(f128, -1e0, -1e0); | ||
| 17741 | try testArgs(f128, -1e0, -1e-1); | ||
| 17742 | try testArgs(f128, -1e0, -fmin(f128)); | ||
| 17743 | try testArgs(f128, -1e0, -tmin(f128)); | ||
| 17744 | try testArgs(f128, -1e0, -0.0); | ||
| 17745 | try testArgs(f128, -1e0, 0.0); | ||
| 17746 | try testArgs(f128, -1e0, tmin(f128)); | ||
| 17747 | try testArgs(f128, -1e0, fmin(f128)); | ||
| 17748 | try testArgs(f128, -1e0, 1e-1); | ||
| 17749 | try testArgs(f128, -1e0, 1e0); | ||
| 17750 | try testArgs(f128, -1e0, 1e1); | ||
| 17751 | try testArgs(f128, -1e0, fmax(f128)); | ||
| 17752 | try testArgs(f128, -1e0, inf(f128)); | ||
| 17753 | try testArgs(f128, -1e0, nan(f128)); | ||
| 17754 | |||
| 17755 | try testArgs(f128, -1e-1, -nan(f128)); | ||
| 17756 | try testArgs(f128, -1e-1, -inf(f128)); | ||
| 17757 | try testArgs(f128, -1e-1, -fmax(f128)); | ||
| 17758 | try testArgs(f128, -1e-1, -1e1); | ||
| 17759 | try testArgs(f128, -1e-1, -1e0); | ||
| 17760 | try testArgs(f128, -1e-1, -1e-1); | ||
| 17761 | try testArgs(f128, -1e-1, -fmin(f128)); | ||
| 17762 | try testArgs(f128, -1e-1, -tmin(f128)); | ||
| 17763 | try testArgs(f128, -1e-1, -0.0); | ||
| 17764 | try testArgs(f128, -1e-1, 0.0); | ||
| 17765 | try testArgs(f128, -1e-1, tmin(f128)); | ||
| 17766 | try testArgs(f128, -1e-1, fmin(f128)); | ||
| 17767 | try testArgs(f128, -1e-1, 1e-1); | ||
| 17768 | try testArgs(f128, -1e-1, 1e0); | ||
| 17769 | try testArgs(f128, -1e-1, 1e1); | ||
| 17770 | try testArgs(f128, -1e-1, fmax(f128)); | ||
| 17771 | try testArgs(f128, -1e-1, inf(f128)); | ||
| 17772 | try testArgs(f128, -1e-1, nan(f128)); | ||
| 17773 | |||
| 17774 | try testArgs(f128, -fmin(f128), -nan(f128)); | ||
| 17775 | try testArgs(f128, -fmin(f128), -inf(f128)); | ||
| 17776 | try testArgs(f128, -fmin(f128), -fmax(f128)); | ||
| 17777 | try testArgs(f128, -fmin(f128), -1e1); | ||
| 17778 | try testArgs(f128, -fmin(f128), -1e0); | ||
| 17779 | try testArgs(f128, -fmin(f128), -1e-1); | ||
| 17780 | try testArgs(f128, -fmin(f128), -fmin(f128)); | ||
| 17781 | try testArgs(f128, -fmin(f128), -tmin(f128)); | ||
| 17782 | try testArgs(f128, -fmin(f128), -0.0); | ||
| 17783 | try testArgs(f128, -fmin(f128), 0.0); | ||
| 17784 | try testArgs(f128, -fmin(f128), tmin(f128)); | ||
| 17785 | try testArgs(f128, -fmin(f128), fmin(f128)); | ||
| 17786 | try testArgs(f128, -fmin(f128), 1e-1); | ||
| 17787 | try testArgs(f128, -fmin(f128), 1e0); | ||
| 17788 | try testArgs(f128, -fmin(f128), 1e1); | ||
| 17789 | try testArgs(f128, -fmin(f128), fmax(f128)); | ||
| 17790 | try testArgs(f128, -fmin(f128), inf(f128)); | ||
| 17791 | try testArgs(f128, -fmin(f128), nan(f128)); | ||
| 17792 | |||
| 17793 | try testArgs(f128, -tmin(f128), -nan(f128)); | ||
| 17794 | try testArgs(f128, -tmin(f128), -inf(f128)); | ||
| 17795 | try testArgs(f128, -tmin(f128), -fmax(f128)); | ||
| 17796 | try testArgs(f128, -tmin(f128), -1e1); | ||
| 17797 | try testArgs(f128, -tmin(f128), -1e0); | ||
| 17798 | try testArgs(f128, -tmin(f128), -1e-1); | ||
| 17799 | try testArgs(f128, -tmin(f128), -fmin(f128)); | ||
| 17800 | try testArgs(f128, -tmin(f128), -tmin(f128)); | ||
| 17801 | try testArgs(f128, -tmin(f128), -0.0); | ||
| 17802 | try testArgs(f128, -tmin(f128), 0.0); | ||
| 17803 | try testArgs(f128, -tmin(f128), tmin(f128)); | ||
| 17804 | try testArgs(f128, -tmin(f128), fmin(f128)); | ||
| 17805 | try testArgs(f128, -tmin(f128), 1e-1); | ||
| 17806 | try testArgs(f128, -tmin(f128), 1e0); | ||
| 17807 | try testArgs(f128, -tmin(f128), 1e1); | ||
| 17808 | try testArgs(f128, -tmin(f128), fmax(f128)); | ||
| 17809 | try testArgs(f128, -tmin(f128), inf(f128)); | ||
| 17810 | try testArgs(f128, -tmin(f128), nan(f128)); | ||
| 17811 | |||
| 17812 | try testArgs(f128, -0.0, -nan(f128)); | ||
| 17813 | try testArgs(f128, -0.0, -inf(f128)); | ||
| 17814 | try testArgs(f128, -0.0, -fmax(f128)); | ||
| 17815 | try testArgs(f128, -0.0, -1e1); | ||
| 17816 | try testArgs(f128, -0.0, -1e0); | ||
| 17817 | try testArgs(f128, -0.0, -1e-1); | ||
| 17818 | try testArgs(f128, -0.0, -fmin(f128)); | ||
| 17819 | try testArgs(f128, -0.0, -tmin(f128)); | ||
| 17820 | try testArgs(f128, -0.0, -0.0); | ||
| 17821 | try testArgs(f128, -0.0, 0.0); | ||
| 17822 | try testArgs(f128, -0.0, tmin(f128)); | ||
| 17823 | try testArgs(f128, -0.0, fmin(f128)); | ||
| 17824 | try testArgs(f128, -0.0, 1e-1); | ||
| 17825 | try testArgs(f128, -0.0, 1e0); | ||
| 17826 | try testArgs(f128, -0.0, 1e1); | ||
| 17827 | try testArgs(f128, -0.0, fmax(f128)); | ||
| 17828 | try testArgs(f128, -0.0, inf(f128)); | ||
| 17829 | try testArgs(f128, -0.0, nan(f128)); | ||
| 17830 | |||
| 17831 | try testArgs(f128, 0.0, -nan(f128)); | ||
| 17832 | try testArgs(f128, 0.0, -inf(f128)); | ||
| 17833 | try testArgs(f128, 0.0, -fmax(f128)); | ||
| 17834 | try testArgs(f128, 0.0, -1e1); | ||
| 17835 | try testArgs(f128, 0.0, -1e0); | ||
| 17836 | try testArgs(f128, 0.0, -1e-1); | ||
| 17837 | try testArgs(f128, 0.0, -fmin(f128)); | ||
| 17838 | try testArgs(f128, 0.0, -tmin(f128)); | ||
| 17839 | try testArgs(f128, 0.0, -0.0); | ||
| 17840 | try testArgs(f128, 0.0, 0.0); | ||
| 17841 | try testArgs(f128, 0.0, tmin(f128)); | ||
| 17842 | try testArgs(f128, 0.0, fmin(f128)); | ||
| 17843 | try testArgs(f128, 0.0, 1e-1); | ||
| 17844 | try testArgs(f128, 0.0, 1e0); | ||
| 17845 | try testArgs(f128, 0.0, 1e1); | ||
| 17846 | try testArgs(f128, 0.0, fmax(f128)); | ||
| 17847 | try testArgs(f128, 0.0, inf(f128)); | ||
| 17848 | try testArgs(f128, 0.0, nan(f128)); | ||
| 17849 | |||
| 17850 | try testArgs(f128, tmin(f128), -nan(f128)); | ||
| 17851 | try testArgs(f128, tmin(f128), -inf(f128)); | ||
| 17852 | try testArgs(f128, tmin(f128), -fmax(f128)); | ||
| 17853 | try testArgs(f128, tmin(f128), -1e1); | ||
| 17854 | try testArgs(f128, tmin(f128), -1e0); | ||
| 17855 | try testArgs(f128, tmin(f128), -1e-1); | ||
| 17856 | try testArgs(f128, tmin(f128), -fmin(f128)); | ||
| 17857 | try testArgs(f128, tmin(f128), -tmin(f128)); | ||
| 17858 | try testArgs(f128, tmin(f128), -0.0); | ||
| 17859 | try testArgs(f128, tmin(f128), 0.0); | ||
| 17860 | try testArgs(f128, tmin(f128), tmin(f128)); | ||
| 17861 | try testArgs(f128, tmin(f128), fmin(f128)); | ||
| 17862 | try testArgs(f128, tmin(f128), 1e-1); | ||
| 17863 | try testArgs(f128, tmin(f128), 1e0); | ||
| 17864 | try testArgs(f128, tmin(f128), 1e1); | ||
| 17865 | try testArgs(f128, tmin(f128), fmax(f128)); | ||
| 17866 | try testArgs(f128, tmin(f128), inf(f128)); | ||
| 17867 | try testArgs(f128, tmin(f128), nan(f128)); | ||
| 17868 | |||
| 17869 | try testArgs(f128, fmin(f128), -nan(f128)); | ||
| 17870 | try testArgs(f128, fmin(f128), -inf(f128)); | ||
| 17871 | try testArgs(f128, fmin(f128), -fmax(f128)); | ||
| 17872 | try testArgs(f128, fmin(f128), -1e1); | ||
| 17873 | try testArgs(f128, fmin(f128), -1e0); | ||
| 17874 | try testArgs(f128, fmin(f128), -1e-1); | ||
| 17875 | try testArgs(f128, fmin(f128), -fmin(f128)); | ||
| 17876 | try testArgs(f128, fmin(f128), -tmin(f128)); | ||
| 17877 | try testArgs(f128, fmin(f128), -0.0); | ||
| 17878 | try testArgs(f128, fmin(f128), 0.0); | ||
| 17879 | try testArgs(f128, fmin(f128), tmin(f128)); | ||
| 17880 | try testArgs(f128, fmin(f128), fmin(f128)); | ||
| 17881 | try testArgs(f128, fmin(f128), 1e-1); | ||
| 17882 | try testArgs(f128, fmin(f128), 1e0); | ||
| 17883 | try testArgs(f128, fmin(f128), 1e1); | ||
| 17884 | try testArgs(f128, fmin(f128), fmax(f128)); | ||
| 17885 | try testArgs(f128, fmin(f128), inf(f128)); | ||
| 17886 | try testArgs(f128, fmin(f128), nan(f128)); | ||
| 17887 | |||
| 17888 | try testArgs(f128, 1e-1, -nan(f128)); | ||
| 17889 | try testArgs(f128, 1e-1, -inf(f128)); | ||
| 17890 | try testArgs(f128, 1e-1, -fmax(f128)); | ||
| 17891 | try testArgs(f128, 1e-1, -1e1); | ||
| 17892 | try testArgs(f128, 1e-1, -1e0); | ||
| 17893 | try testArgs(f128, 1e-1, -1e-1); | ||
| 17894 | try testArgs(f128, 1e-1, -fmin(f128)); | ||
| 17895 | try testArgs(f128, 1e-1, -tmin(f128)); | ||
| 17896 | try testArgs(f128, 1e-1, -0.0); | ||
| 17897 | try testArgs(f128, 1e-1, 0.0); | ||
| 17898 | try testArgs(f128, 1e-1, tmin(f128)); | ||
| 17899 | try testArgs(f128, 1e-1, fmin(f128)); | ||
| 17900 | try testArgs(f128, 1e-1, 1e-1); | ||
| 17901 | try testArgs(f128, 1e-1, 1e0); | ||
| 17902 | try testArgs(f128, 1e-1, 1e1); | ||
| 17903 | try testArgs(f128, 1e-1, fmax(f128)); | ||
| 17904 | try testArgs(f128, 1e-1, inf(f128)); | ||
| 17905 | try testArgs(f128, 1e-1, nan(f128)); | ||
| 17906 | |||
| 17907 | try testArgs(f128, 1e0, -nan(f128)); | ||
| 17908 | try testArgs(f128, 1e0, -inf(f128)); | ||
| 17909 | try testArgs(f128, 1e0, -fmax(f128)); | ||
| 17910 | try testArgs(f128, 1e0, -1e1); | ||
| 17911 | try testArgs(f128, 1e0, -1e0); | ||
| 17912 | try testArgs(f128, 1e0, -1e-1); | ||
| 17913 | try testArgs(f128, 1e0, -fmin(f128)); | ||
| 17914 | try testArgs(f128, 1e0, -tmin(f128)); | ||
| 17915 | try testArgs(f128, 1e0, -0.0); | ||
| 17916 | try testArgs(f128, 1e0, 0.0); | ||
| 17917 | try testArgs(f128, 1e0, tmin(f128)); | ||
| 17918 | try testArgs(f128, 1e0, fmin(f128)); | ||
| 17919 | try testArgs(f128, 1e0, 1e-1); | ||
| 17920 | try testArgs(f128, 1e0, 1e0); | ||
| 17921 | try testArgs(f128, 1e0, 1e1); | ||
| 17922 | try testArgs(f128, 1e0, fmax(f128)); | ||
| 17923 | try testArgs(f128, 1e0, inf(f128)); | ||
| 17924 | try testArgs(f128, 1e0, nan(f128)); | ||
| 17925 | |||
| 17926 | try testArgs(f128, 1e1, -nan(f128)); | ||
| 17927 | try testArgs(f128, 1e1, -inf(f128)); | ||
| 17928 | try testArgs(f128, 1e1, -fmax(f128)); | ||
| 17929 | try testArgs(f128, 1e1, -1e1); | ||
| 17930 | try testArgs(f128, 1e1, -1e0); | ||
| 17931 | try testArgs(f128, 1e1, -1e-1); | ||
| 17932 | try testArgs(f128, 1e1, -fmin(f128)); | ||
| 17933 | try testArgs(f128, 1e1, -tmin(f128)); | ||
| 17934 | try testArgs(f128, 1e1, -0.0); | ||
| 17935 | try testArgs(f128, 1e1, 0.0); | ||
| 17936 | try testArgs(f128, 1e1, tmin(f128)); | ||
| 17937 | try testArgs(f128, 1e1, fmin(f128)); | ||
| 17938 | try testArgs(f128, 1e1, 1e-1); | ||
| 17939 | try testArgs(f128, 1e1, 1e0); | ||
| 17940 | try testArgs(f128, 1e1, 1e1); | ||
| 17941 | try testArgs(f128, 1e1, fmax(f128)); | ||
| 17942 | try testArgs(f128, 1e1, inf(f128)); | ||
| 17943 | try testArgs(f128, 1e1, nan(f128)); | ||
| 17944 | |||
| 17945 | try testArgs(f128, fmax(f128), -nan(f128)); | ||
| 17946 | try testArgs(f128, fmax(f128), -inf(f128)); | ||
| 17947 | try testArgs(f128, fmax(f128), -fmax(f128)); | ||
| 17948 | try testArgs(f128, fmax(f128), -1e1); | ||
| 17949 | try testArgs(f128, fmax(f128), -1e0); | ||
| 17950 | try testArgs(f128, fmax(f128), -1e-1); | ||
| 17951 | try testArgs(f128, fmax(f128), -fmin(f128)); | ||
| 17952 | try testArgs(f128, fmax(f128), -tmin(f128)); | ||
| 17953 | try testArgs(f128, fmax(f128), -0.0); | ||
| 17954 | try testArgs(f128, fmax(f128), 0.0); | ||
| 17955 | try testArgs(f128, fmax(f128), tmin(f128)); | ||
| 17956 | try testArgs(f128, fmax(f128), fmin(f128)); | ||
| 17957 | try testArgs(f128, fmax(f128), 1e-1); | ||
| 17958 | try testArgs(f128, fmax(f128), 1e0); | ||
| 17959 | try testArgs(f128, fmax(f128), 1e1); | ||
| 17960 | try testArgs(f128, fmax(f128), fmax(f128)); | ||
| 17961 | try testArgs(f128, fmax(f128), inf(f128)); | ||
| 17962 | try testArgs(f128, fmax(f128), nan(f128)); | ||
| 17963 | |||
| 17964 | try testArgs(f128, inf(f128), -nan(f128)); | ||
| 17965 | try testArgs(f128, inf(f128), -inf(f128)); | ||
| 17966 | try testArgs(f128, inf(f128), -fmax(f128)); | ||
| 17967 | try testArgs(f128, inf(f128), -1e1); | ||
| 17968 | try testArgs(f128, inf(f128), -1e0); | ||
| 17969 | try testArgs(f128, inf(f128), -1e-1); | ||
| 17970 | try testArgs(f128, inf(f128), -fmin(f128)); | ||
| 17971 | try testArgs(f128, inf(f128), -tmin(f128)); | ||
| 17972 | try testArgs(f128, inf(f128), -0.0); | ||
| 17973 | try testArgs(f128, inf(f128), 0.0); | ||
| 17974 | try testArgs(f128, inf(f128), tmin(f128)); | ||
| 17975 | try testArgs(f128, inf(f128), fmin(f128)); | ||
| 17976 | try testArgs(f128, inf(f128), 1e-1); | ||
| 17977 | try testArgs(f128, inf(f128), 1e0); | ||
| 17978 | try testArgs(f128, inf(f128), 1e1); | ||
| 17979 | try testArgs(f128, inf(f128), fmax(f128)); | ||
| 17980 | try testArgs(f128, inf(f128), inf(f128)); | ||
| 17981 | try testArgs(f128, inf(f128), nan(f128)); | ||
| 17982 | |||
| 17983 | try testArgs(f128, nan(f128), -nan(f128)); | ||
| 17984 | try testArgs(f128, nan(f128), -inf(f128)); | ||
| 17985 | try testArgs(f128, nan(f128), -fmax(f128)); | ||
| 17986 | try testArgs(f128, nan(f128), -1e1); | ||
| 17987 | try testArgs(f128, nan(f128), -1e0); | ||
| 17988 | try testArgs(f128, nan(f128), -1e-1); | ||
| 17989 | try testArgs(f128, nan(f128), -fmin(f128)); | ||
| 17990 | try testArgs(f128, nan(f128), -tmin(f128)); | ||
| 17991 | try testArgs(f128, nan(f128), -0.0); | ||
| 17992 | try testArgs(f128, nan(f128), 0.0); | ||
| 17993 | try testArgs(f128, nan(f128), tmin(f128)); | ||
| 17994 | try testArgs(f128, nan(f128), fmin(f128)); | ||
| 17995 | try testArgs(f128, nan(f128), 1e-1); | ||
| 17996 | try testArgs(f128, nan(f128), 1e0); | ||
| 17997 | try testArgs(f128, nan(f128), 1e1); | ||
| 17998 | try testArgs(f128, nan(f128), fmax(f128)); | ||
| 17999 | try testArgs(f128, nan(f128), inf(f128)); | ||
| 18000 | try testArgs(f128, nan(f128), nan(f128)); | ||
| 18001 | } | ||
| 18002 | fn testIntVectors() !void { | ||
| 18003 | try testArgs(@Vector(1, i1), .{ | ||
| 18004 | 0x0, | ||
| 18005 | }, .{ | ||
| 18006 | -0x1, | ||
| 18007 | }); | ||
| 18008 | try testArgs(@Vector(2, i1), .{ | ||
| 18009 | 0x0, 0x00, | ||
| 18010 | }, .{ | ||
| 18011 | -0x1, -0x1, | ||
| 18012 | }); | ||
| 18013 | try testArgs(@Vector(4, i1), .{ | ||
| 18014 | 0x0, 0x0, 0x0, 0x0, | ||
| 18015 | }, .{ | ||
| 18016 | -0x1, -0x1, -0x1, -0x1, | ||
| 18017 | }); | ||
| 18018 | try testArgs(@Vector(8, i1), .{ | ||
| 18019 | 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, | ||
| 18020 | }, .{ | ||
| 18021 | -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, | ||
| 18022 | }); | ||
| 18023 | try testArgs(@Vector(16, i1), .{ | ||
| 18024 | 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, | ||
| 18025 | }, .{ | ||
| 18026 | -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, | ||
| 18027 | }); | ||
| 18028 | try testArgs(@Vector(32, i1), .{ | ||
| 18029 | 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, | ||
| 18030 | 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, | ||
| 18031 | }, .{ | ||
| 18032 | -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, | ||
| 18033 | -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, | ||
| 18034 | }); | ||
| 18035 | try testArgs(@Vector(64, i1), .{ | ||
| 18036 | 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, | ||
| 18037 | 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, | ||
| 18038 | 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, | ||
| 18039 | 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, | ||
| 18040 | }, .{ | ||
| 18041 | -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, | ||
| 18042 | -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, | ||
| 18043 | -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, | ||
| 18044 | -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, | ||
| 18045 | }); | ||
| 18046 | try testArgs(@Vector(128, i1), .{ | ||
| 18047 | 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, | ||
| 18048 | 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, | ||
| 18049 | 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, | ||
| 18050 | 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, | ||
| 18051 | 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, | ||
| 18052 | 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, | ||
| 18053 | 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, | ||
| 18054 | 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, | ||
| 18055 | }, .{ | ||
| 18056 | -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, | ||
| 18057 | -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, | ||
| 18058 | -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, | ||
| 18059 | -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, | ||
| 18060 | -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, | ||
| 18061 | -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, | ||
| 18062 | -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, | ||
| 18063 | -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, | ||
| 18064 | }); | ||
| 18065 | |||
| 18066 | try testArgs(@Vector(1, u1), .{ | ||
| 18067 | 0x0, | ||
| 18068 | }, .{ | ||
| 18069 | 0x1, | ||
| 18070 | }); | ||
| 18071 | try testArgs(@Vector(2, u1), .{ | ||
| 18072 | 0x0, 0x1, | ||
| 18073 | }, .{ | ||
| 18074 | 0x1, 0x1, | ||
| 18075 | }); | ||
| 18076 | try testArgs(@Vector(4, u1), .{ | ||
| 18077 | 0x0, 0x0, 0x1, 0x0, | ||
| 18078 | }, .{ | ||
| 18079 | 0x1, 0x1, 0x1, 0x1, | ||
| 18080 | }); | ||
| 18081 | try testArgs(@Vector(8, u1), .{ | ||
| 18082 | 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x1, | ||
| 18083 | }, .{ | ||
| 18084 | 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, | ||
| 18085 | }); | ||
| 18086 | try testArgs(@Vector(16, u1), .{ | ||
| 18087 | 0x1, 0x0, 0x0, 0x1, 0x0, 0x0, 0x1, 0x0, 0x1, 0x0, 0x0, 0x1, 0x1, 0x1, 0x0, 0x1, | ||
| 18088 | }, .{ | ||
| 18089 | 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, | ||
| 18090 | }); | ||
| 18091 | try testArgs(@Vector(32, u1), .{ | ||
| 18092 | 0x0, 0x1, 0x1, 0x1, 0x0, 0x0, 0x0, 0x1, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, | ||
| 18093 | 0x1, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x1, 0x0, 0x1, 0x0, 0x0, | ||
| 18094 | }, .{ | ||
| 18095 | 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, | ||
| 18096 | 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, | ||
| 18097 | }); | ||
| 18098 | try testArgs(@Vector(64, u1), .{ | ||
| 18099 | 0x1, 0x1, 0x0, 0x1, 0x0, 0x1, 0x0, 0x1, 0x0, 0x1, 0x0, 0x1, 0x0, 0x0, 0x1, 0x1, | ||
| 18100 | 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x1, 0x0, 0x1, 0x1, 0x1, 0x1, | ||
| 18101 | 0x1, 0x0, 0x0, 0x1, 0x1, 0x0, 0x1, 0x1, 0x1, 0x1, 0x0, 0x1, 0x1, 0x0, 0x0, 0x1, | ||
| 18102 | 0x1, 0x0, 0x0, 0x1, 0x0, 0x0, 0x1, 0x0, 0x0, 0x1, 0x1, 0x0, 0x0, 0x1, 0x1, 0x0, | ||
| 18103 | }, .{ | ||
| 18104 | 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, | ||
| 18105 | 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, | ||
| 18106 | 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, | ||
| 18107 | 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, | ||
| 18108 | }); | ||
| 18109 | try testArgs(@Vector(128, u1), .{ | ||
| 18110 | 0x0, 0x0, 0x1, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x1, 0x0, 0x0, 0x0, 0x1, | ||
| 18111 | 0x1, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x1, 0x1, 0x1, 0x0, 0x0, 0x1, | ||
| 18112 | 0x1, 0x1, 0x0, 0x1, 0x1, 0x0, 0x0, 0x1, 0x1, 0x0, 0x0, 0x0, 0x1, 0x0, 0x1, 0x1, | ||
| 18113 | 0x1, 0x1, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x1, 0x1, 0x1, 0x0, 0x1, | ||
| 18114 | 0x1, 0x0, 0x1, 0x1, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x1, 0x1, | ||
| 18115 | 0x0, 0x1, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x1, 0x1, 0x0, 0x1, 0x1, | ||
| 18116 | 0x1, 0x0, 0x0, 0x1, 0x0, 0x1, 0x1, 0x1, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, | ||
| 18117 | 0x0, 0x0, 0x1, 0x1, 0x0, 0x1, 0x0, 0x0, 0x0, 0x1, 0x0, 0x1, 0x1, 0x1, 0x0, 0x1, | ||
| 18118 | }, .{ | ||
| 18119 | 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, | ||
| 18120 | 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, | ||
| 18121 | 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, | ||
| 18122 | 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, | ||
| 18123 | 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, | ||
| 18124 | 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, | ||
| 18125 | 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, | ||
| 18126 | 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, | ||
| 18127 | }); | ||
| 18128 | |||
| 18129 | // workaround https://github.com/ziglang/zig/issues/22914 | ||
| 18130 | // TODO: try testArgs(@Vector(1, i2), .{ | ||
| 18131 | // 0x1, | ||
| 18132 | // }, .{ | ||
| 18133 | // 0x1, | ||
| 18134 | // }); | ||
| 18135 | // try testArgs(@Vector(2, i2), .{ | ||
| 18136 | // 0x0, -0x2, | ||
| 18137 | // }, .{ | ||
| 18138 | // -0x2, -0x2, | ||
| 18139 | // }); | ||
| 18140 | // try testArgs(@Vector(4, i2), .{ | ||
| 18141 | // -0x2, -0x1, 0x0, -0x2, | ||
| 18142 | // }, .{ | ||
| 18143 | // -0x2, 0x1, -0x1, -0x2, | ||
| 18144 | // }); | ||
| 18145 | // try testArgs(@Vector(8, i2), .{ | ||
| 18146 | // -0x1, 0x1, 0x1, -0x1, -0x2, -0x2, 0x0, -0x2, | ||
| 18147 | // }, .{ | ||
| 18148 | // -0x1, -0x1, -0x2, -0x1, -0x2, 0x1, -0x1, 0x1, | ||
| 18149 | // }); | ||
| 18150 | // try testArgs(@Vector(16, i2), .{ | ||
| 18151 | // 0x0, -0x2, -0x1, -0x2, 0x1, 0x0, -0x1, 0x0, 0x1, -0x2, 0x1, -0x1, -0x2, -0x2, 0x1, 0x0, | ||
| 18152 | // }, .{ | ||
| 18153 | // -0x2, -0x2, 0x1, -0x2, -0x1, -0x2, -0x1, -0x2, -0x2, -0x2, -0x1, -0x2, 0x1, -0x2, -0x2, -0x2, | ||
| 18154 | // }); | ||
| 18155 | // try testArgs(@Vector(32, i2), .{ | ||
| 18156 | // -0x2, 0x1, -0x1, 0x1, 0x0, -0x2, 0x1, -0x2, -0x2, 0x0, -0x1, 0x0, -0x2, -0x2, 0x0, 0x1, | ||
| 18157 | // -0x1, 0x1, -0x1, 0x1, 0x1, 0x1, 0x1, -0x2, -0x1, -0x1, 0x1, -0x2, 0x0, -0x1, 0x0, -0x2, | ||
| 18158 | // }, .{ | ||
| 18159 | // 0x1, -0x1, 0x1, -0x1, 0x1, 0x1, 0x1, -0x2, 0x1, -0x2, -0x1, -0x2, 0x1, 0x1, 0x1, -0x1, | ||
| 18160 | // -0x2, 0x1, 0x1, -0x1, -0x2, -0x2, -0x1, -0x2, -0x1, -0x2, 0x1, -0x2, -0x1, 0x1, -0x2, -0x2, | ||
| 18161 | // }); | ||
| 18162 | // try testArgs(@Vector(64, i2), .{ | ||
| 18163 | // 0x1, -0x2, -0x1, 0x0, 0x1, -0x2, -0x1, -0x2, -0x2, -0x1, -0x2, -0x1, 0x1, 0x1, 0x0, 0x1, | ||
| 18164 | // -0x1, -0x1, -0x1, 0x1, 0x1, -0x1, 0x0, 0x1, -0x1, 0x0, 0x0, 0x1, 0x1, 0x0, -0x2, -0x2, | ||
| 18165 | // 0x1, 0x0, -0x2, -0x2, 0x1, -0x2, -0x2, 0x1, 0x1, -0x2, 0x1, 0x0, 0x0, -0x1, 0x0, 0x1, | ||
| 18166 | // -0x2, 0x0, 0x0, -0x1, -0x1, 0x1, -0x2, 0x0, -0x2, 0x0, -0x2, 0x1, 0x0, -0x1, -0x1, 0x1, | ||
| 18167 | // }, .{ | ||
| 18168 | // -0x2, -0x2, 0x1, -0x1, -0x2, -0x2, -0x1, -0x2, 0x1, 0x1, 0x1, -0x1, 0x1, 0x1, 0x1, -0x1, | ||
| 18169 | // -0x2, 0x1, 0x1, -0x2, -0x2, 0x1, 0x1, -0x1, -0x2, -0x2, 0x1, -0x1, -0x2, 0x1, -0x2, 0x1, | ||
| 18170 | // 0x1, -0x2, -0x2, -0x2, -0x2, 0x1, 0x1, 0x1, -0x2, 0x1, -0x1, 0x1, -0x1, 0x1, 0x1, -0x1, | ||
| 18171 | // -0x2, 0x1, -0x1, 0x1, -0x1, -0x1, 0x1, 0x1, -0x2, 0x1, 0x1, -0x2, -0x2, -0x1, -0x2, -0x2, | ||
| 18172 | // }); | ||
| 18173 | // try testArgs(@Vector(128, i2), .{ | ||
| 18174 | // -0x1, -0x2, 0x0, -0x2, -0x2, 0x1, -0x1, 0x0, -0x1, -0x2, 0x0, -0x2, 0x0, 0x1, 0x0, -0x1, | ||
| 18175 | // 0x0, -0x2, 0x1, 0x0, 0x1, 0x0, -0x2, 0x1, 0x1, 0x1, -0x1, 0x1, 0x0, -0x1, 0x1, -0x1, | ||
| 18176 | // 0x1, -0x2, 0x1, -0x2, 0x1, -0x2, 0x1, -0x2, -0x2, -0x2, 0x0, 0x0, 0x1, 0x1, -0x2, -0x1, | ||
| 18177 | // 0x1, 0x0, 0x0, 0x1, -0x2, -0x1, 0x0, -0x1, 0x1, -0x2, 0x1, 0x0, 0x1, 0x0, 0x0, -0x2, | ||
| 18178 | // 0x0, 0x0, -0x1, 0x1, -0x1, 0x0, -0x1, -0x2, 0x1, -0x2, -0x2, -0x1, -0x2, 0x0, 0x0, 0x0, | ||
| 18179 | // -0x1, -0x1, -0x1, -0x1, -0x2, 0x0, -0x1, 0x1, 0x0, 0x0, -0x2, 0x0, 0x0, 0x0, 0x0, 0x1, | ||
| 18180 | // 0x1, -0x2, 0x0, 0x0, -0x1, -0x1, 0x1, -0x1, -0x2, 0x0, -0x1, -0x1, -0x2, -0x2, 0x0, 0x0, | ||
| 18181 | // -0x1, 0x0, 0x1, 0x0, -0x1, -0x2, 0x1, -0x2, -0x1, -0x1, 0x0, 0x0, -0x1, 0x0, 0x0, 0x1, | ||
| 18182 | // }, .{ | ||
| 18183 | // -0x2, -0x2, 0x1, 0x1, -0x2, -0x1, 0x1, 0x1, 0x1, -0x2, -0x2, 0x1, -0x2, -0x2, 0x1, -0x1, | ||
| 18184 | // -0x1, -0x2, 0x1, -0x1, 0x1, 0x1, 0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, 0x1, 0x1, -0x2, | ||
| 18185 | // -0x1, -0x2, -0x2, -0x2, -0x2, -0x2, -0x1, -0x2, 0x1, 0x1, -0x1, -0x1, -0x1, -0x1, 0x1, -0x2, | ||
| 18186 | // 0x1, -0x1, 0x1, -0x1, 0x1, 0x1, -0x1, -0x2, 0x1, 0x1, -0x2, -0x2, -0x2, 0x1, 0x1, -0x2, | ||
| 18187 | // -0x1, 0x1, -0x2, -0x1, -0x1, 0x1, -0x2, -0x2, 0x1, 0x1, -0x2, -0x1, -0x2, -0x2, -0x2, -0x2, | ||
| 18188 | // 0x1, -0x1, 0x1, -0x2, 0x1, -0x1, -0x1, 0x1, 0x1, -0x1, 0x1, -0x1, -0x2, -0x2, -0x1, -0x2, | ||
| 18189 | // -0x2, 0x1, -0x2, -0x2, -0x1, -0x1, -0x1, -0x2, 0x1, -0x2, 0x1, -0x2, 0x1, -0x2, -0x2, 0x1, | ||
| 18190 | // 0x1, -0x1, 0x1, 0x1, -0x1, -0x2, 0x1, 0x1, -0x1, -0x2, -0x1, -0x1, 0x1, -0x2, -0x2, -0x2, | ||
| 18191 | // }); | ||
| 18192 | try testArgs(@Vector(1, i2), .{ | ||
| 18193 | -0x1, | ||
| 18194 | }, .{ | ||
| 18195 | -0x2, | ||
| 18196 | }); | ||
| 18197 | try testArgs(@Vector(2, i2), .{ | ||
| 18198 | -0x1, -0x1, | ||
| 18199 | }, .{ | ||
| 18200 | 0x1, -0x1, | ||
| 18201 | }); | ||
| 18202 | try testArgs(@Vector(4, i2), .{ | ||
| 18203 | -0x1, 0x1, -0x1, -0x1, | ||
| 18204 | }, .{ | ||
| 18205 | 0x1, -0x1, -0x1, 0x1, | ||
| 18206 | }); | ||
| 18207 | try testArgs(@Vector(8, i2), .{ | ||
| 18208 | 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, -0x1, 0x1, | ||
| 18209 | }, .{ | ||
| 18210 | 0x1, -0x1, -0x1, -0x2, -0x1, -0x2, -0x1, 0x1, | ||
| 18211 | }); | ||
| 18212 | try testArgs(@Vector(16, i2), .{ | ||
| 18213 | 0x1, 0x0, 0x0, -0x1, 0x1, 0x0, 0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, 0x1, 0x1, 0x0, | ||
| 18214 | }, .{ | ||
| 18215 | 0x1, 0x1, 0x1, 0x1, -0x2, -0x2, -0x1, -0x1, -0x1, -0x2, 0x1, 0x1, -0x1, -0x2, -0x1, -0x1, | ||
| 18216 | }); | ||
| 18217 | try testArgs(@Vector(32, i2), .{ | ||
| 18218 | 0x0, 0x1, -0x1, -0x1, -0x1, 0x0, -0x1, 0x0, -0x1, -0x1, 0x1, -0x1, 0x0, -0x1, 0x0, -0x1, | ||
| 18219 | -0x1, 0x1, 0x1, 0x1, -0x1, -0x1, 0x1, -0x1, -0x1, 0x1, -0x1, -0x1, 0x1, 0x0, 0x0, 0x1, | ||
| 18220 | }, .{ | ||
| 18221 | -0x2, -0x1, -0x2, 0x1, -0x1, 0x1, -0x2, -0x2, -0x1, -0x1, -0x1, -0x1, 0x1, 0x1, 0x1, -0x2, | ||
| 18222 | -0x1, -0x1, -0x2, -0x2, -0x1, -0x2, -0x1, 0x1, -0x2, -0x1, -0x1, -0x2, 0x1, -0x2, -0x2, -0x1, | ||
| 18223 | }); | ||
| 18224 | try testArgs(@Vector(64, i2), .{ | ||
| 18225 | 0x1, 0x1, -0x1, 0x0, 0x0, 0x1, 0x1, -0x1, 0x0, 0x1, 0x1, 0x1, 0x1, 0x1, 0x0, 0x0, | ||
| 18226 | -0x1, 0x0, 0x0, 0x0, 0x0, -0x1, 0x0, 0x1, 0x1, 0x0, 0x1, -0x1, -0x1, 0x0, -0x1, 0x0, | ||
| 18227 | -0x1, 0x1, -0x1, 0x0, -0x1, 0x1, 0x0, 0x0, 0x0, 0x1, -0x1, 0x0, -0x1, 0x1, 0x0, 0x0, | ||
| 18228 | 0x1, -0x1, -0x1, 0x0, 0x1, -0x1, -0x1, 0x0, 0x1, 0x1, -0x1, 0x0, 0x1, -0x1, 0x0, 0x0, | ||
| 18229 | }, .{ | ||
| 18230 | -0x1, 0x1, -0x2, -0x1, -0x1, 0x1, 0x1, -0x2, -0x2, 0x1, 0x1, -0x1, -0x2, 0x1, 0x1, -0x1, | ||
| 18231 | -0x1, -0x1, 0x1, -0x2, -0x2, -0x2, -0x1, -0x1, -0x2, 0x1, -0x2, -0x2, -0x2, 0x1, -0x2, -0x2, | ||
| 18232 | -0x2, -0x1, -0x1, 0x1, -0x2, -0x1, -0x1, -0x1, -0x2, 0x1, -0x1, 0x1, -0x2, -0x2, 0x1, -0x1, | ||
| 18233 | -0x1, 0x1, -0x2, -0x2, -0x2, -0x2, -0x2, -0x2, -0x2, 0x1, 0x1, -0x1, 0x1, 0x1, -0x1, -0x2, | ||
| 18234 | }); | ||
| 18235 | try testArgs(@Vector(128, i2), .{ | ||
| 18236 | 0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, 0x0, 0x1, 0x0, -0x1, 0x0, -0x1, 0x0, 0x0, 0x0, | ||
| 18237 | 0x0, 0x0, 0x1, -0x1, 0x1, -0x1, -0x1, 0x1, 0x0, 0x1, 0x1, 0x0, 0x1, -0x1, 0x0, -0x1, | ||
| 18238 | 0x0, 0x1, -0x1, 0x1, -0x1, -0x1, 0x0, 0x1, 0x1, 0x0, 0x0, 0x0, 0x1, 0x0, -0x1, 0x1, | ||
| 18239 | 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, -0x1, 0x1, 0x1, -0x1, 0x1, -0x1, 0x0, 0x1, 0x0, 0x1, | ||
| 18240 | 0x0, -0x1, 0x0, 0x0, 0x1, -0x1, 0x0, 0x0, -0x1, -0x1, 0x0, 0x0, 0x0, 0x0, 0x1, 0x1, | ||
| 18241 | 0x0, -0x1, 0x1, -0x1, -0x1, 0x0, 0x0, 0x1, -0x1, -0x1, 0x1, 0x0, -0x1, 0x1, 0x0, -0x1, | ||
| 18242 | 0x1, 0x0, 0x1, -0x1, 0x1, 0x0, 0x0, 0x1, 0x0, 0x0, 0x1, -0x1, -0x1, 0x0, 0x1, 0x0, | ||
| 18243 | 0x0, 0x0, 0x1, 0x0, 0x0, 0x1, -0x1, 0x0, -0x1, -0x1, 0x0, 0x0, 0x0, 0x1, 0x1, -0x1, | ||
| 18244 | }, .{ | ||
| 18245 | -0x2, -0x2, -0x1, -0x2, -0x1, -0x1, -0x2, -0x2, -0x2, 0x1, -0x2, -0x2, -0x2, -0x2, -0x2, 0x1, | ||
| 18246 | -0x1, 0x1, -0x1, -0x1, -0x2, -0x2, -0x1, -0x2, 0x1, -0x2, -0x1, -0x2, -0x2, -0x1, 0x1, -0x1, | ||
| 18247 | -0x2, -0x1, -0x1, -0x2, -0x1, -0x2, -0x1, 0x1, -0x1, -0x1, 0x1, -0x1, -0x2, 0x1, -0x2, -0x1, | ||
| 18248 | -0x2, 0x1, -0x1, -0x2, -0x2, -0x2, -0x2, -0x1, 0x1, 0x1, 0x1, 0x1, -0x1, -0x2, -0x1, -0x1, | ||
| 18249 | -0x2, -0x2, 0x1, 0x1, -0x2, -0x1, 0x1, -0x2, -0x1, -0x2, -0x1, -0x2, -0x2, 0x1, -0x1, 0x1, | ||
| 18250 | -0x2, -0x2, 0x1, -0x2, -0x1, -0x1, 0x1, -0x1, -0x1, -0x1, -0x2, -0x2, -0x1, 0x1, 0x1, -0x2, | ||
| 18251 | -0x1, -0x2, 0x1, 0x1, 0x1, 0x1, -0x2, 0x1, -0x1, -0x1, -0x2, 0x1, -0x1, -0x2, -0x1, -0x2, | ||
| 18252 | -0x2, -0x2, -0x1, -0x1, -0x2, -0x1, 0x1, -0x1, 0x1, 0x1, 0x1, -0x2, -0x1, 0x1, -0x2, 0x1, | ||
| 18253 | }); | ||
| 18254 | |||
| 18255 | try testArgs(@Vector(1, u2), .{ | ||
| 18256 | 0x2, | ||
| 18257 | }, .{ | ||
| 18258 | 0x2, | ||
| 18259 | }); | ||
| 18260 | try testArgs(@Vector(2, u2), .{ | ||
| 18261 | 0x1, 0x0, | ||
| 18262 | }, .{ | ||
| 18263 | 0x2, 0x1, | ||
| 18264 | }); | ||
| 18265 | try testArgs(@Vector(4, u2), .{ | ||
| 18266 | 0x3, 0x3, 0x0, 0x2, | ||
| 18267 | }, .{ | ||
| 18268 | 0x3, 0x1, 0x1, 0x3, | ||
| 18269 | }); | ||
| 18270 | try testArgs(@Vector(8, u2), .{ | ||
| 18271 | 0x0, 0x3, 0x3, 0x2, 0x1, 0x2, 0x3, 0x1, | ||
| 18272 | }, .{ | ||
| 18273 | 0x1, 0x1, 0x3, 0x1, 0x2, 0x2, 0x2, 0x2, | ||
| 18274 | }); | ||
| 18275 | try testArgs(@Vector(16, u2), .{ | ||
| 18276 | 0x1, 0x1, 0x0, 0x1, 0x0, 0x2, 0x2, 0x1, 0x2, 0x1, 0x3, 0x1, 0x1, 0x3, 0x3, 0x1, | ||
| 18277 | }, .{ | ||
| 18278 | 0x1, 0x2, 0x2, 0x2, 0x1, 0x2, 0x3, 0x1, 0x3, 0x3, 0x2, 0x2, 0x2, 0x1, 0x3, 0x1, | ||
| 18279 | }); | ||
| 18280 | try testArgs(@Vector(32, u2), .{ | ||
| 18281 | 0x2, 0x2, 0x3, 0x1, 0x3, 0x2, 0x1, 0x3, 0x3, 0x0, 0x0, 0x3, 0x3, 0x1, 0x3, 0x0, | ||
| 18282 | 0x1, 0x0, 0x2, 0x3, 0x2, 0x3, 0x2, 0x0, 0x1, 0x3, 0x1, 0x0, 0x2, 0x0, 0x3, 0x0, | ||
| 18283 | }, .{ | ||
| 18284 | 0x3, 0x2, 0x1, 0x1, 0x2, 0x3, 0x1, 0x3, 0x1, 0x1, 0x3, 0x1, 0x2, 0x3, 0x3, 0x2, | ||
| 18285 | 0x2, 0x2, 0x1, 0x1, 0x1, 0x2, 0x1, 0x1, 0x2, 0x2, 0x2, 0x1, 0x3, 0x2, 0x3, 0x3, | ||
| 18286 | }); | ||
| 18287 | try testArgs(@Vector(64, u2), .{ | ||
| 18288 | 0x1, 0x3, 0x2, 0x1, 0x1, 0x3, 0x1, 0x3, 0x2, 0x1, 0x3, 0x2, 0x2, 0x2, 0x3, 0x0, | ||
| 18289 | 0x3, 0x1, 0x1, 0x0, 0x1, 0x0, 0x1, 0x1, 0x0, 0x0, 0x0, 0x1, 0x3, 0x3, 0x1, 0x3, | ||
| 18290 | 0x1, 0x2, 0x3, 0x2, 0x3, 0x0, 0x1, 0x1, 0x2, 0x1, 0x0, 0x3, 0x2, 0x3, 0x3, 0x0, | ||
| 18291 | 0x0, 0x0, 0x3, 0x1, 0x3, 0x0, 0x1, 0x0, 0x2, 0x0, 0x3, 0x0, 0x1, 0x0, 0x3, 0x3, | ||
| 18292 | }, .{ | ||
| 18293 | 0x1, 0x2, 0x2, 0x1, 0x2, 0x1, 0x2, 0x3, 0x3, 0x2, 0x1, 0x2, 0x3, 0x1, 0x2, 0x3, | ||
| 18294 | 0x2, 0x2, 0x3, 0x1, 0x2, 0x2, 0x2, 0x1, 0x1, 0x2, 0x3, 0x3, 0x2, 0x3, 0x1, 0x1, | ||
| 18295 | 0x3, 0x2, 0x1, 0x1, 0x3, 0x1, 0x1, 0x1, 0x2, 0x1, 0x3, 0x1, 0x1, 0x3, 0x2, 0x2, | ||
| 18296 | 0x3, 0x2, 0x3, 0x3, 0x3, 0x1, 0x2, 0x1, 0x3, 0x1, 0x1, 0x2, 0x1, 0x3, 0x3, 0x1, | ||
| 18297 | }); | ||
| 18298 | try testArgs(@Vector(128, u2), .{ | ||
| 18299 | 0x2, 0x0, 0x0, 0x1, 0x3, 0x0, 0x0, 0x3, 0x0, 0x1, 0x2, 0x0, 0x0, 0x2, 0x0, 0x1, | ||
| 18300 | 0x3, 0x0, 0x0, 0x1, 0x3, 0x0, 0x3, 0x0, 0x1, 0x1, 0x2, 0x3, 0x0, 0x1, 0x2, 0x1, | ||
| 18301 | 0x0, 0x0, 0x3, 0x3, 0x3, 0x2, 0x2, 0x1, 0x0, 0x3, 0x1, 0x1, 0x3, 0x3, 0x1, 0x0, | ||
| 18302 | 0x1, 0x2, 0x2, 0x1, 0x0, 0x1, 0x2, 0x2, 0x2, 0x1, 0x2, 0x3, 0x2, 0x0, 0x0, 0x0, | ||
| 18303 | 0x1, 0x3, 0x2, 0x3, 0x0, 0x0, 0x0, 0x3, 0x0, 0x0, 0x1, 0x0, 0x2, 0x1, 0x0, 0x3, | ||
| 18304 | 0x2, 0x1, 0x3, 0x3, 0x1, 0x2, 0x1, 0x3, 0x3, 0x0, 0x1, 0x3, 0x2, 0x1, 0x0, 0x1, | ||
| 18305 | 0x1, 0x0, 0x2, 0x0, 0x2, 0x2, 0x2, 0x1, 0x3, 0x2, 0x2, 0x3, 0x2, 0x0, 0x0, 0x1, | ||
| 18306 | 0x1, 0x1, 0x1, 0x1, 0x0, 0x3, 0x1, 0x1, 0x2, 0x1, 0x0, 0x2, 0x3, 0x3, 0x1, 0x2, | ||
| 18307 | }, .{ | ||
| 18308 | 0x3, 0x2, 0x2, 0x1, 0x3, 0x3, 0x1, 0x3, 0x2, 0x3, 0x3, 0x1, 0x1, 0x1, 0x3, 0x1, | ||
| 18309 | 0x2, 0x2, 0x1, 0x3, 0x1, 0x2, 0x3, 0x3, 0x3, 0x3, 0x1, 0x2, 0x3, 0x1, 0x3, 0x3, | ||
| 18310 | 0x2, 0x1, 0x2, 0x3, 0x1, 0x2, 0x1, 0x2, 0x3, 0x3, 0x3, 0x1, 0x1, 0x2, 0x1, 0x3, | ||
| 18311 | 0x1, 0x3, 0x1, 0x3, 0x2, 0x2, 0x2, 0x1, 0x3, 0x2, 0x2, 0x2, 0x2, 0x3, 0x1, 0x2, | ||
| 18312 | 0x2, 0x2, 0x2, 0x3, 0x2, 0x2, 0x2, 0x2, 0x1, 0x2, 0x3, 0x3, 0x1, 0x3, 0x1, 0x2, | ||
| 18313 | 0x1, 0x1, 0x3, 0x2, 0x2, 0x1, 0x3, 0x2, 0x3, 0x1, 0x2, 0x2, 0x2, 0x2, 0x1, 0x1, | ||
| 18314 | 0x1, 0x3, 0x1, 0x3, 0x1, 0x3, 0x3, 0x3, 0x2, 0x3, 0x1, 0x1, 0x2, 0x2, 0x3, 0x1, | ||
| 18315 | 0x2, 0x2, 0x3, 0x3, 0x1, 0x1, 0x1, 0x1, 0x2, 0x1, 0x3, 0x1, 0x3, 0x2, 0x3, 0x1, | ||
| 18316 | }); | ||
| 18317 | |||
| 18318 | // workaround https://github.com/ziglang/zig/issues/22914 | ||
| 18319 | // TODO: try testArgs(@Vector(1, i3), .{ | ||
| 18320 | // -0x3, | ||
| 18321 | // }, .{ | ||
| 18322 | // -0x1, | ||
| 18323 | // }); | ||
| 18324 | // try testArgs(@Vector(2, i3), .{ | ||
| 18325 | // 0x2, -0x3, | ||
| 18326 | // }, .{ | ||
| 18327 | // 0x1, 0x3, | ||
| 18328 | // }); | ||
| 18329 | // try testArgs(@Vector(4, i3), .{ | ||
| 18330 | // 0x1, -0x4, -0x2, -0x3, | ||
| 18331 | // }, .{ | ||
| 18332 | // -0x2, -0x4, 0x2, 0x2, | ||
| 18333 | // }); | ||
| 18334 | // try testArgs(@Vector(8, i3), .{ | ||
| 18335 | // 0x0, 0x1, 0x3, 0x1, -0x3, 0x1, 0x3, 0x3, | ||
| 18336 | // }, .{ | ||
| 18337 | // -0x3, 0x2, 0x1, 0x1, -0x4, -0x1, 0x3, -0x2, | ||
| 18338 | // }); | ||
| 18339 | // try testArgs(@Vector(16, i3), .{ | ||
| 18340 | // -0x4, 0x3, -0x2, 0x0, -0x2, -0x1, 0x2, -0x4, 0x1, -0x3, 0x2, -0x2, 0x1, -0x2, 0x2, -0x4, | ||
| 18341 | // }, .{ | ||
| 18342 | // 0x2, -0x3, 0x3, 0x1, -0x4, 0x1, -0x1, 0x1, -0x1, -0x3, -0x4, 0x2, 0x3, 0x3, -0x1, -0x4, | ||
| 18343 | // }); | ||
| 18344 | // try testArgs(@Vector(32, i3), .{ | ||
| 18345 | // 0x1, -0x3, -0x1, -0x3, -0x3, 0x2, 0x1, 0x0, 0x0, -0x1, 0x3, -0x2, 0x3, 0x0, -0x3, 0x0, | ||
| 18346 | // -0x4, -0x2, -0x1, -0x4, -0x4, 0x2, 0x2, 0x3, 0x1, 0x2, -0x4, -0x4, -0x3, 0x1, -0x1, -0x2, | ||
| 18347 | // }, .{ | ||
| 18348 | // -0x4, -0x2, 0x1, -0x1, 0x3, 0x1, 0x2, -0x3, 0x2, -0x2, 0x1, -0x1, -0x2, -0x1, -0x1, -0x2, | ||
| 18349 | // -0x2, -0x3, 0x3, -0x3, -0x4, 0x1, -0x3, 0x3, 0x1, -0x3, 0x3, 0x3, -0x4, 0x3, 0x2, -0x2, | ||
| 18350 | // }); | ||
| 18351 | // try testArgs(@Vector(64, i3), .{ | ||
| 18352 | // 0x1, 0x2, 0x1, 0x2, -0x2, 0x2, 0x2, -0x1, -0x4, 0x1, 0x3, 0x0, -0x2, -0x2, 0x2, -0x2, | ||
| 18353 | // 0x0, -0x4, -0x3, -0x4, -0x1, -0x1, 0x2, 0x2, -0x2, -0x1, -0x1, 0x3, 0x3, -0x4, 0x2, 0x0, | ||
| 18354 | // 0x3, 0x2, -0x4, -0x1, 0x1, 0x1, 0x3, 0x1, 0x2, 0x3, -0x3, 0x1, -0x4, -0x2, 0x1, -0x3, | ||
| 18355 | // -0x3, -0x1, 0x1, -0x3, -0x1, 0x3, -0x4, -0x4, 0x0, 0x0, -0x4, -0x2, 0x3, -0x1, -0x3, -0x3, | ||
| 18356 | // }, .{ | ||
| 18357 | // 0x3, -0x2, 0x1, -0x4, 0x1, 0x3, -0x3, 0x1, 0x3, 0x1, 0x1, -0x1, -0x2, 0x1, -0x3, 0x1, | ||
| 18358 | // -0x2, -0x2, 0x3, -0x3, -0x1, -0x3, 0x1, -0x1, -0x3, -0x3, 0x1, -0x2, 0x1, -0x2, 0x1, 0x2, | ||
| 18359 | // 0x3, -0x4, -0x4, -0x1, 0x1, 0x3, 0x1, 0x1, -0x4, 0x2, -0x3, 0x3, 0x3, -0x1, 0x1, -0x1, | ||
| 18360 | // -0x2, 0x2, 0x2, -0x4, -0x4, 0x3, -0x2, -0x4, -0x1, -0x2, -0x4, 0x1, 0x2, 0x1, -0x1, -0x2, | ||
| 18361 | // }); | ||
| 18362 | // try testArgs(@Vector(128, i3), .{ | ||
| 18363 | // -0x4, 0x1, 0x0, -0x4, -0x4, 0x1, -0x4, -0x2, 0x2, 0x2, -0x3, 0x1, 0x2, -0x2, 0x1, 0x1, | ||
| 18364 | // 0x3, 0x0, 0x3, -0x4, -0x1, 0x3, 0x3, -0x4, 0x0, -0x3, 0x2, -0x2, 0x0, 0x3, 0x1, -0x2, | ||
| 18365 | // -0x1, -0x1, 0x3, -0x1, -0x2, 0x3, 0x3, 0x1, -0x3, 0x1, -0x1, -0x2, -0x4, 0x2, -0x2, -0x1, | ||
| 18366 | // 0x1, 0x1, 0x1, 0x0, -0x1, 0x2, -0x1, 0x3, 0x2, -0x1, -0x2, 0x3, -0x2, 0x3, 0x3, 0x1, | ||
| 18367 | // 0x3, -0x3, -0x4, -0x1, 0x2, 0x2, -0x2, 0x3, -0x4, -0x2, -0x1, 0x0, 0x1, -0x1, 0x0, 0x0, | ||
| 18368 | // -0x2, 0x3, 0x0, -0x3, -0x4, 0x2, -0x3, -0x2, -0x4, 0x0, -0x3, -0x4, -0x4, -0x2, -0x1, -0x3, | ||
| 18369 | // 0x0, -0x1, 0x0, -0x1, 0x2, -0x4, -0x3, 0x0, -0x4, 0x0, -0x2, 0x1, -0x2, -0x4, -0x1, -0x1, | ||
| 18370 | // -0x3, 0x3, -0x1, -0x1, -0x2, 0x1, 0x3, 0x1, -0x3, 0x1, -0x4, -0x2, 0x0, -0x1, -0x2, 0x2, | ||
| 18371 | // }, .{ | ||
| 18372 | // -0x3, 0x2, -0x3, 0x1, -0x2, -0x1, -0x3, 0x1, 0x2, 0x2, -0x2, 0x2, 0x2, 0x1, 0x3, -0x1, | ||
| 18373 | // -0x4, -0x3, 0x2, -0x3, -0x2, 0x3, -0x3, 0x2, -0x1, -0x3, 0x1, 0x2, -0x4, 0x2, -0x2, -0x3, | ||
| 18374 | // 0x1, -0x1, 0x2, 0x2, -0x1, -0x3, -0x4, 0x2, 0x1, -0x4, 0x1, -0x4, 0x2, -0x1, 0x2, -0x2, | ||
| 18375 | // 0x2, 0x1, -0x4, 0x3, 0x1, -0x2, -0x3, -0x4, 0x3, -0x1, 0x3, -0x4, -0x2, 0x1, -0x2, 0x3, | ||
| 18376 | // 0x1, 0x1, 0x2, 0x1, -0x1, -0x2, 0x2, -0x1, 0x1, -0x1, -0x3, -0x1, 0x1, -0x4, -0x1, -0x1, | ||
| 18377 | // -0x3, -0x1, -0x4, 0x3, 0x1, -0x1, -0x1, -0x1, 0x1, -0x4, 0x1, -0x2, -0x4, 0x2, -0x4, -0x3, | ||
| 18378 | // 0x2, -0x4, -0x1, 0x1, 0x3, 0x2, -0x1, 0x3, 0x2, 0x2, 0x1, -0x4, -0x3, 0x1, -0x1, 0x1, | ||
| 18379 | // -0x2, -0x4, 0x1, 0x3, -0x1, 0x3, 0x1, 0x2, -0x4, 0x2, 0x2, -0x3, -0x3, -0x4, -0x2, 0x3, | ||
| 18380 | // }); | ||
| 18381 | try testArgs(@Vector(1, i3), .{ | ||
| 18382 | -0x1, | ||
| 18383 | }, .{ | ||
| 18384 | -0x3, | ||
| 18385 | }); | ||
| 18386 | try testArgs(@Vector(2, i3), .{ | ||
| 18387 | 0x2, -0x2, | ||
| 18388 | }, .{ | ||
| 18389 | 0x3, 0x3, | ||
| 18390 | }); | ||
| 18391 | try testArgs(@Vector(4, i3), .{ | ||
| 18392 | 0x1, 0x0, -0x2, 0x0, | ||
| 18393 | }, .{ | ||
| 18394 | 0x2, -0x2, -0x4, 0x3, | ||
| 18395 | }); | ||
| 18396 | try testArgs(@Vector(8, i3), .{ | ||
| 18397 | 0x3, -0x1, -0x3, -0x3, -0x3, -0x2, 0x2, -0x3, | ||
| 18398 | }, .{ | ||
| 18399 | -0x1, 0x1, -0x2, 0x2, 0x1, -0x2, -0x3, -0x1, | ||
| 18400 | }); | ||
| 18401 | try testArgs(@Vector(16, i3), .{ | ||
| 18402 | -0x1, -0x1, 0x3, -0x2, -0x2, -0x2, -0x2, -0x1, 0x2, 0x1, -0x2, 0x2, -0x2, 0x1, 0x1, -0x3, | ||
| 18403 | }, .{ | ||
| 18404 | 0x1, -0x1, -0x1, -0x1, 0x1, 0x3, -0x1, -0x1, 0x1, 0x3, -0x1, -0x3, 0x1, 0x3, 0x1, -0x2, | ||
| 18405 | }); | ||
| 18406 | try testArgs(@Vector(32, i3), .{ | ||
| 18407 | 0x3, -0x1, -0x3, 0x1, 0x0, 0x0, -0x3, -0x1, -0x3, 0x1, 0x1, 0x2, -0x1, 0x1, -0x1, -0x1, | ||
| 18408 | 0x1, -0x3, 0x1, -0x1, 0x1, 0x0, -0x2, 0x3, -0x2, -0x3, 0x3, 0x1, -0x1, 0x0, 0x3, -0x1, | ||
| 18409 | }, .{ | ||
| 18410 | 0x1, -0x2, -0x4, -0x4, 0x2, 0x1, -0x4, -0x3, -0x4, 0x1, -0x3, -0x4, -0x1, 0x2, -0x1, 0x1, | ||
| 18411 | 0x2, -0x2, -0x4, 0x3, -0x3, 0x1, 0x2, -0x2, -0x2, 0x3, 0x3, 0x2, -0x2, -0x4, -0x2, -0x3, | ||
| 18412 | }); | ||
| 18413 | try testArgs(@Vector(64, i3), .{ | ||
| 18414 | -0x2, 0x1, 0x3, -0x1, -0x3, -0x1, 0x1, -0x3, 0x1, -0x2, 0x0, 0x3, 0x0, -0x2, 0x1, -0x3, | ||
| 18415 | -0x2, 0x1, -0x2, 0x2, 0x0, 0x1, -0x3, 0x0, -0x3, 0x0, -0x3, -0x2, -0x2, -0x3, -0x2, 0x3, | ||
| 18416 | -0x1, 0x1, 0x1, 0x1, -0x1, 0x0, -0x3, -0x3, -0x3, -0x3, -0x2, 0x2, 0x3, 0x2, -0x3, 0x1, | ||
| 18417 | -0x3, -0x3, -0x1, -0x1, -0x1, -0x3, -0x2, -0x2, 0x2, 0x3, 0x3, -0x3, 0x0, 0x3, -0x3, -0x3, | ||
| 18418 | }, .{ | ||
| 18419 | 0x2, 0x1, -0x1, -0x3, -0x1, -0x4, -0x2, -0x3, 0x2, -0x2, -0x4, 0x2, 0x2, -0x2, 0x1, 0x1, | ||
| 18420 | 0x1, -0x1, -0x3, 0x2, -0x2, 0x2, -0x1, 0x3, 0x3, -0x1, -0x1, -0x3, -0x1, 0x2, -0x2, 0x2, | ||
| 18421 | 0x1, -0x4, -0x2, -0x4, 0x2, -0x1, -0x2, 0x3, 0x3, 0x3, -0x4, -0x2, 0x3, -0x4, 0x1, -0x2, | ||
| 18422 | -0x2, 0x2, -0x3, -0x3, 0x1, -0x3, 0x3, 0x2, 0x1, 0x3, -0x3, 0x3, 0x2, -0x2, -0x2, 0x2, | ||
| 18423 | }); | ||
| 18424 | try testArgs(@Vector(128, i3), .{ | ||
| 18425 | -0x1, 0x2, 0x1, 0x2, 0x1, 0x1, 0x2, 0x1, -0x3, 0x1, -0x2, -0x1, 0x0, 0x2, 0x3, -0x3, | ||
| 18426 | -0x1, -0x1, -0x2, 0x3, 0x1, 0x2, 0x2, 0x3, -0x2, 0x3, -0x2, -0x3, 0x1, 0x0, -0x1, -0x2, | ||
| 18427 | -0x1, -0x1, 0x1, -0x1, 0x2, -0x3, 0x1, -0x2, -0x1, 0x2, -0x2, 0x1, 0x1, -0x3, -0x2, 0x3, | ||
| 18428 | -0x1, -0x1, 0x1, -0x3, -0x1, -0x2, 0x0, 0x1, -0x1, 0x0, -0x1, 0x2, 0x1, 0x2, 0x3, -0x1, | ||
| 18429 | 0x0, 0x1, 0x2, 0x3, -0x2, 0x2, -0x3, 0x2, 0x0, -0x2, -0x3, -0x2, 0x0, 0x1, 0x2, 0x1, | ||
| 18430 | -0x3, 0x0, -0x2, -0x3, -0x1, 0x2, -0x3, 0x2, 0x3, 0x1, 0x1, -0x1, 0x2, 0x1, -0x1, 0x2, | ||
| 18431 | 0x2, 0x0, 0x1, -0x3, -0x3, 0x1, 0x2, 0x0, 0x1, 0x0, 0x0, -0x1, 0x0, 0x0, 0x3, 0x3, | ||
| 18432 | 0x0, -0x2, -0x2, -0x2, 0x3, 0x0, -0x1, -0x2, 0x0, 0x3, -0x3, 0x1, 0x2, -0x1, 0x1, 0x1, | ||
| 18433 | }, .{ | ||
| 18434 | 0x3, 0x3, 0x2, 0x3, -0x3, -0x4, 0x1, -0x3, 0x2, 0x3, 0x3, -0x2, 0x2, -0x1, 0x1, 0x3, | ||
| 18435 | -0x4, -0x4, -0x1, -0x1, 0x2, -0x3, -0x3, -0x3, -0x2, -0x3, -0x2, -0x1, 0x1, 0x3, -0x4, -0x2, | ||
| 18436 | -0x3, 0x1, 0x3, 0x1, -0x2, 0x1, 0x1, 0x2, 0x1, 0x2, -0x4, -0x4, -0x3, -0x2, -0x1, -0x2, | ||
| 18437 | 0x3, 0x2, -0x3, -0x2, -0x2, 0x3, -0x3, -0x4, 0x3, -0x3, 0x3, -0x1, 0x3, -0x1, -0x1, 0x2, | ||
| 18438 | 0x3, -0x4, -0x4, -0x2, -0x4, 0x2, -0x2, -0x4, -0x2, -0x2, -0x3, 0x3, 0x2, 0x2, 0x2, -0x4, | ||
| 18439 | 0x1, -0x4, -0x3, -0x2, -0x4, -0x4, 0x1, -0x4, -0x1, 0x3, -0x2, -0x4, 0x3, -0x4, 0x3, -0x1, | ||
| 18440 | 0x3, 0x1, -0x1, 0x1, 0x1, 0x2, 0x1, -0x3, -0x4, -0x1, -0x1, -0x2, -0x3, -0x2, 0x3, -0x2, | ||
| 18441 | -0x1, 0x3, 0x3, -0x1, 0x3, 0x1, 0x1, 0x2, -0x3, 0x3, -0x1, 0x3, -0x3, -0x4, -0x4, 0x1, | ||
| 18442 | }); | ||
| 18443 | |||
| 18444 | try testArgs(@Vector(1, u3), .{ | ||
| 18445 | 0x5, | ||
| 18446 | }, .{ | ||
| 18447 | 0x2, | ||
| 18448 | }); | ||
| 18449 | try testArgs(@Vector(2, u3), .{ | ||
| 18450 | 0x4, 0x5, | ||
| 18451 | }, .{ | ||
| 18452 | 0x2, 0x4, | ||
| 18453 | }); | ||
| 18454 | try testArgs(@Vector(4, u3), .{ | ||
| 18455 | 0x7, 0x7, 0x2, 0x3, | ||
| 18456 | }, .{ | ||
| 18457 | 0x4, 0x5, 0x7, 0x1, | ||
| 18458 | }); | ||
| 18459 | try testArgs(@Vector(8, u3), .{ | ||
| 18460 | 0x1, 0x5, 0x3, 0x7, 0x2, 0x5, 0x4, 0x7, | ||
| 18461 | }, .{ | ||
| 18462 | 0x5, 0x2, 0x3, 0x5, 0x5, 0x1, 0x3, 0x1, | ||
| 18463 | }); | ||
| 18464 | try testArgs(@Vector(16, u3), .{ | ||
| 18465 | 0x6, 0x5, 0x7, 0x4, 0x7, 0x2, 0x2, 0x3, 0x7, 0x6, 0x6, 0x5, 0x6, 0x4, 0x7, 0x5, | ||
| 18466 | }, .{ | ||
| 18467 | 0x6, 0x3, 0x5, 0x7, 0x4, 0x4, 0x4, 0x4, 0x6, 0x5, 0x3, 0x7, 0x4, 0x3, 0x3, 0x2, | ||
| 18468 | }); | ||
| 18469 | try testArgs(@Vector(32, u3), .{ | ||
| 18470 | 0x0, 0x6, 0x4, 0x3, 0x2, 0x4, 0x7, 0x5, 0x7, 0x5, 0x0, 0x6, 0x7, 0x2, 0x2, 0x2, | ||
| 18471 | 0x6, 0x2, 0x6, 0x5, 0x2, 0x3, 0x1, 0x0, 0x7, 0x1, 0x7, 0x0, 0x3, 0x1, 0x6, 0x2, | ||
| 18472 | }, .{ | ||
| 18473 | 0x2, 0x5, 0x3, 0x2, 0x2, 0x2, 0x5, 0x4, 0x4, 0x1, 0x7, 0x2, 0x2, 0x2, 0x5, 0x1, | ||
| 18474 | 0x2, 0x4, 0x3, 0x5, 0x5, 0x1, 0x5, 0x4, 0x7, 0x5, 0x4, 0x3, 0x1, 0x7, 0x5, 0x6, | ||
| 18475 | }); | ||
| 18476 | try testArgs(@Vector(64, u3), .{ | ||
| 18477 | 0x2, 0x3, 0x1, 0x0, 0x5, 0x6, 0x1, 0x2, 0x2, 0x3, 0x1, 0x1, 0x5, 0x2, 0x2, 0x5, | ||
| 18478 | 0x0, 0x0, 0x1, 0x1, 0x0, 0x6, 0x5, 0x2, 0x7, 0x3, 0x1, 0x1, 0x1, 0x0, 0x4, 0x7, | ||
| 18479 | 0x2, 0x6, 0x4, 0x0, 0x1, 0x1, 0x6, 0x5, 0x2, 0x0, 0x3, 0x4, 0x1, 0x4, 0x5, 0x2, | ||
| 18480 | 0x7, 0x4, 0x6, 0x6, 0x0, 0x2, 0x6, 0x2, 0x4, 0x6, 0x6, 0x5, 0x7, 0x0, 0x3, 0x6, | ||
| 18481 | }, .{ | ||
| 18482 | 0x7, 0x3, 0x3, 0x2, 0x6, 0x4, 0x3, 0x3, 0x7, 0x2, 0x3, 0x4, 0x7, 0x5, 0x2, 0x4, | ||
| 18483 | 0x6, 0x3, 0x6, 0x1, 0x7, 0x4, 0x1, 0x6, 0x7, 0x3, 0x1, 0x3, 0x6, 0x6, 0x5, 0x5, | ||
| 18484 | 0x2, 0x5, 0x7, 0x7, 0x4, 0x2, 0x2, 0x7, 0x4, 0x6, 0x6, 0x6, 0x4, 0x6, 0x2, 0x4, | ||
| 18485 | 0x3, 0x2, 0x2, 0x1, 0x7, 0x7, 0x4, 0x4, 0x2, 0x4, 0x7, 0x6, 0x7, 0x2, 0x2, 0x3, | ||
| 18486 | }); | ||
| 18487 | try testArgs(@Vector(128, u3), .{ | ||
| 18488 | 0x5, 0x2, 0x5, 0x4, 0x6, 0x0, 0x7, 0x2, 0x0, 0x6, 0x7, 0x4, 0x6, 0x4, 0x2, 0x6, | ||
| 18489 | 0x7, 0x3, 0x5, 0x6, 0x4, 0x5, 0x3, 0x0, 0x1, 0x5, 0x2, 0x0, 0x7, 0x2, 0x7, 0x5, | ||
| 18490 | 0x4, 0x6, 0x5, 0x4, 0x4, 0x3, 0x5, 0x7, 0x0, 0x2, 0x0, 0x6, 0x6, 0x1, 0x3, 0x3, | ||
| 18491 | 0x3, 0x7, 0x3, 0x3, 0x1, 0x0, 0x5, 0x3, 0x0, 0x0, 0x5, 0x5, 0x2, 0x4, 0x7, 0x4, | ||
| 18492 | 0x4, 0x1, 0x5, 0x0, 0x3, 0x2, 0x1, 0x3, 0x7, 0x3, 0x1, 0x4, 0x3, 0x1, 0x3, 0x2, | ||
| 18493 | 0x5, 0x7, 0x7, 0x2, 0x3, 0x7, 0x1, 0x1, 0x0, 0x7, 0x2, 0x5, 0x7, 0x0, 0x1, 0x4, | ||
| 18494 | 0x5, 0x6, 0x0, 0x1, 0x1, 0x4, 0x7, 0x5, 0x2, 0x3, 0x7, 0x7, 0x1, 0x3, 0x6, 0x4, | ||
| 18495 | 0x6, 0x0, 0x1, 0x0, 0x3, 0x7, 0x5, 0x4, 0x7, 0x4, 0x6, 0x5, 0x6, 0x6, 0x7, 0x4, | ||
| 18496 | }, .{ | ||
| 18497 | 0x5, 0x7, 0x5, 0x1, 0x7, 0x1, 0x3, 0x5, 0x1, 0x4, 0x3, 0x2, 0x5, 0x5, 0x2, 0x1, | ||
| 18498 | 0x4, 0x2, 0x2, 0x2, 0x5, 0x7, 0x1, 0x6, 0x2, 0x5, 0x2, 0x7, 0x2, 0x7, 0x4, 0x4, | ||
| 18499 | 0x1, 0x5, 0x4, 0x3, 0x2, 0x1, 0x1, 0x6, 0x3, 0x4, 0x7, 0x2, 0x7, 0x4, 0x1, 0x4, | ||
| 18500 | 0x3, 0x5, 0x3, 0x4, 0x6, 0x3, 0x7, 0x6, 0x6, 0x1, 0x7, 0x6, 0x3, 0x3, 0x5, 0x5, | ||
| 18501 | 0x7, 0x1, 0x1, 0x3, 0x3, 0x3, 0x1, 0x1, 0x1, 0x2, 0x6, 0x5, 0x3, 0x7, 0x1, 0x1, | ||
| 18502 | 0x5, 0x3, 0x1, 0x2, 0x7, 0x2, 0x5, 0x6, 0x4, 0x7, 0x3, 0x6, 0x5, 0x4, 0x3, 0x3, | ||
| 18503 | 0x5, 0x3, 0x7, 0x2, 0x3, 0x3, 0x7, 0x3, 0x1, 0x5, 0x3, 0x4, 0x7, 0x7, 0x5, 0x7, | ||
| 18504 | 0x1, 0x1, 0x2, 0x7, 0x2, 0x5, 0x1, 0x6, 0x4, 0x6, 0x1, 0x6, 0x5, 0x1, 0x2, 0x1, | ||
| 18505 | }); | ||
| 18506 | |||
| 18507 | // workaround https://github.com/ziglang/zig/issues/22914 | ||
| 18508 | // TODO: try testArgs(@Vector(1, i4), .{ | ||
| 18509 | // 0x2, | ||
| 18510 | // }, .{ | ||
| 18511 | // 0x1, | ||
| 18512 | // }); | ||
| 18513 | // try testArgs(@Vector(2, i4), .{ | ||
| 18514 | // -0x2, 0x5, | ||
| 18515 | // }, .{ | ||
| 18516 | // -0x1, 0x2, | ||
| 18517 | // }); | ||
| 18518 | // try testArgs(@Vector(4, i4), .{ | ||
| 18519 | // -0x8, 0x5, 0x5, -0x2, | ||
| 18520 | // }, .{ | ||
| 18521 | // -0x3, -0x7, -0x4, -0x5, | ||
| 18522 | // }); | ||
| 18523 | // try testArgs(@Vector(8, i4), .{ | ||
| 18524 | // 0x7, 0x3, 0x2, -0x1, -0x8, -0x2, 0x7, 0x1, | ||
| 18525 | // }, .{ | ||
| 18526 | // -0x2, 0x4, -0x8, 0x7, 0x1, -0x5, 0x6, -0x7, | ||
| 18527 | // }); | ||
| 18528 | // try testArgs(@Vector(16, i4), .{ | ||
| 18529 | // 0x6, -0x3, 0x6, 0x6, -0x5, 0x6, 0x3, 0x7, -0x6, 0x7, -0x7, 0x6, -0x2, -0x2, -0x5, 0x0, | ||
| 18530 | // }, .{ | ||
| 18531 | // 0x2, -0x3, -0x4, -0x5, 0x3, 0x3, -0x5, 0x5, 0x4, -0x1, -0x6, 0x4, 0x7, -0x2, 0x3, 0x2, | ||
| 18532 | // }); | ||
| 18533 | // try testArgs(@Vector(32, i4), .{ | ||
| 18534 | // -0x1, -0x4, 0x6, 0x6, 0x5, 0x3, 0x4, 0x0, 0x3, 0x7, -0x6, 0x7, -0x2, -0x7, -0x4, 0x6, | ||
| 18535 | // 0x3, -0x7, -0x5, 0x1, -0x7, -0x6, 0x1, 0x3, 0x7, -0x8, -0x5, 0x6, -0x5, 0x0, 0x0, -0x8, | ||
| 18536 | // }, .{ | ||
| 18537 | // -0x4, -0x4, -0x4, 0x4, -0x5, 0x3, -0x1, 0x6, 0x1, -0x3, -0x1, 0x6, 0x5, -0x8, 0x1, -0x4, | ||
| 18538 | // -0x1, -0x4, 0x1, -0x3, 0x4, 0x6, -0x3, -0x8, -0x7, -0x4, 0x2, -0x3, -0x1, -0x2, 0x6, -0x6, | ||
| 18539 | // }); | ||
| 18540 | // try testArgs(@Vector(64, i4), .{ | ||
| 18541 | // 0x0, -0x3, -0x3, 0x5, 0x2, -0x1, 0x4, 0x5, 0x6, -0x2, 0x1, 0x5, -0x3, -0x1, -0x2, -0x1, | ||
| 18542 | // -0x8, 0x2, -0x1, -0x2, 0x7, -0x3, -0x2, -0x3, 0x1, -0x5, 0x5, 0x2, -0x1, -0x6, -0x2, -0x1, | ||
| 18543 | // -0x2, -0x5, 0x0, 0x6, 0x3, -0x4, -0x5, -0x5, -0x4, -0x7, -0x4, 0x1, 0x0, -0x6, -0x7, -0x6, | ||
| 18544 | // 0x1, -0x6, 0x4, -0x4, -0x2, 0x6, -0x7, 0x4, 0x4, 0x5, 0x3, -0x6, -0x8, -0x5, 0x5, -0x7, | ||
| 18545 | // }, .{ | ||
| 18546 | // -0x1, -0x5, 0x5, -0x2, 0x6, -0x6, -0x4, -0x5, -0x4, 0x7, -0x6, 0x7, 0x4, -0x5, 0x5, 0x7, | ||
| 18547 | // -0x6, 0x3, -0x4, 0x2, -0x8, 0x4, -0x2, 0x5, -0x5, -0x5, -0x8, 0x3, -0x1, -0x4, -0x8, -0x2, | ||
| 18548 | // -0x2, 0x5, -0x7, -0x3, 0x2, -0x5, -0x6, -0x7, -0x8, -0x2, 0x5, -0x3, 0x2, -0x1, -0x7, -0x4, | ||
| 18549 | // -0x3, -0x3, 0x6, -0x8, 0x3, -0x4, 0x7, 0x3, -0x2, 0x7, -0x1, 0x1, 0x1, 0x6, -0x2, -0x2, | ||
| 18550 | // }); | ||
| 18551 | // try testArgs(@Vector(128, i4), .{ | ||
| 18552 | // -0x1, -0x3, -0x3, -0x4, 0x3, -0x4, 0x0, -0x4, 0x7, 0x3, 0x5, -0x4, -0x5, -0x4, -0x2, -0x7, | ||
| 18553 | // 0x2, 0x0, -0x4, 0x7, 0x3, -0x5, 0x4, 0x5, -0x2, -0x3, -0x4, 0x6, -0x7, -0x1, 0x1, -0x6, | ||
| 18554 | // 0x1, 0x5, 0x2, 0x5, 0x2, 0x2, -0x4, -0x4, 0x5, 0x2, -0x2, -0x8, -0x1, -0x2, 0x5, 0x3, | ||
| 18555 | // 0x0, -0x5, 0x5, 0x7, 0x6, -0x3, -0x2, 0x0, -0x7, -0x7, -0x4, 0x2, -0x4, 0x7, 0x1, -0x5, | ||
| 18556 | // -0x4, -0x8, 0x2, -0x7, 0x3, -0x4, 0x7, 0x6, -0x7, -0x3, -0x7, 0x2, 0x4, 0x2, -0x5, -0x6, | ||
| 18557 | // 0x3, 0x5, 0x1, 0x6, 0x5, 0x7, 0x7, -0x4, -0x7, -0x1, 0x0, -0x7, 0x6, 0x0, 0x6, 0x0, | ||
| 18558 | // 0x0, -0x5, -0x1, -0x8, 0x7, -0x6, -0x5, -0x2, -0x4, 0x1, 0x1, -0x8, 0x2, 0x6, -0x1, -0x3, | ||
| 18559 | // -0x6, 0x5, -0x8, 0x3, 0x3, 0x1, -0x1, -0x3, -0x3, -0x6, 0x7, -0x6, -0x8, 0x1, -0x7, -0x8, | ||
| 18560 | // }, .{ | ||
| 18561 | // 0x1, 0x3, 0x1, 0x3, -0x6, 0x6, 0x2, -0x3, 0x1, -0x7, 0x7, -0x3, -0x1, -0x1, 0x7, 0x2, | ||
| 18562 | // -0x8, 0x2, -0x3, -0x4, 0x4, -0x4, 0x7, 0x6, -0x5, -0x2, -0x1, 0x6, -0x7, 0x4, 0x7, -0x3, | ||
| 18563 | // -0x5, -0x8, -0x5, -0x6, -0x6, 0x2, 0x1, -0x8, 0x4, 0x3, -0x5, 0x7, -0x8, 0x3, -0x1, 0x7, | ||
| 18564 | // -0x3, 0x7, -0x3, -0x2, -0x6, 0x4, 0x2, -0x2, -0x2, -0x7, 0x5, -0x1, -0x6, 0x7, -0x5, 0x5, | ||
| 18565 | // 0x4, 0x5, -0x8, -0x5, 0x6, 0x1, -0x5, 0x7, -0x6, -0x3, -0x4, 0x6, -0x8, 0x7, 0x7, -0x6, | ||
| 18566 | // 0x6, -0x4, 0x2, -0x8, -0x8, -0x4, -0x8, -0x3, 0x6, 0x5, 0x7, -0x6, 0x1, 0x2, -0x7, -0x3, | ||
| 18567 | // -0x3, 0x1, -0x3, 0x3, -0x1, 0x3, -0x7, -0x8, 0x1, -0x3, -0x3, -0x3, -0x4, 0x5, 0x7, -0x7, | ||
| 18568 | // 0x3, 0x2, 0x6, -0x2, -0x4, -0x3, -0x1, 0x5, -0x6, 0x2, 0x3, -0x5, 0x5, -0x3, -0x2, -0x8, | ||
| 18569 | // }); | ||
| 18570 | try testArgs(@Vector(1, i4), .{ | ||
| 18571 | -0x1, | ||
| 18572 | }, .{ | ||
| 18573 | -0x1, | ||
| 18574 | }); | ||
| 18575 | try testArgs(@Vector(2, i4), .{ | ||
| 18576 | 0x7, 0x5, | ||
| 18577 | }, .{ | ||
| 18578 | 0x4, 0x1, | ||
| 18579 | }); | ||
| 18580 | try testArgs(@Vector(4, i4), .{ | ||
| 18581 | -0x2, -0x3, -0x6, 0x1, | ||
| 18582 | }, .{ | ||
| 18583 | 0x3, -0x5, -0x1, -0x3, | ||
| 18584 | }); | ||
| 18585 | try testArgs(@Vector(8, i4), .{ | ||
| 18586 | -0x5, -0x3, -0x2, 0x2, -0x4, -0x4, 0x0, 0x1, | ||
| 18587 | }, .{ | ||
| 18588 | -0x7, -0x2, -0x7, 0x1, 0x6, 0x2, -0x7, 0x7, | ||
| 18589 | }); | ||
| 18590 | try testArgs(@Vector(16, i4), .{ | ||
| 18591 | -0x1, -0x1, 0x6, 0x3, -0x1, 0x2, -0x6, 0x6, 0x1, 0x5, -0x1, 0x7, 0x7, -0x3, -0x1, 0x4, | ||
| 18592 | }, .{ | ||
| 18593 | 0x1, -0x3, 0x4, -0x1, 0x2, 0x5, -0x3, -0x5, -0x5, 0x5, -0x7, 0x7, 0x1, 0x5, -0x5, -0x6, | ||
| 18594 | }); | ||
| 18595 | try testArgs(@Vector(32, i4), .{ | ||
| 18596 | -0x7, 0x4, -0x5, -0x5, -0x5, 0x1, 0x7, 0x3, -0x2, 0x7, -0x3, -0x7, -0x3, -0x2, -0x5, -0x7, | ||
| 18597 | 0x5, 0x4, 0x3, 0x0, -0x6, -0x2, -0x4, -0x1, 0x5, 0x4, -0x7, -0x7, -0x5, 0x5, -0x5, -0x1, | ||
| 18598 | }, .{ | ||
| 18599 | 0x4, 0x4, 0x5, 0x2, 0x3, -0x4, 0x6, 0x2, -0x7, 0x3, 0x7, 0x2, 0x6, 0x2, 0x2, 0x3, | ||
| 18600 | 0x7, -0x3, -0x7, -0x2, 0x3, -0x1, -0x4, 0x4, -0x8, 0x1, 0x6, -0x7, 0x5, 0x1, 0x7, -0x2, | ||
| 18601 | }); | ||
| 18602 | try testArgs(@Vector(64, i4), .{ | ||
| 18603 | 0x0, 0x3, 0x7, -0x7, 0x1, -0x5, -0x4, 0x2, 0x2, 0x5, 0x4, 0x0, -0x3, -0x4, -0x4, -0x4, | ||
| 18604 | -0x7, 0x6, 0x2, 0x1, 0x0, 0x3, -0x6, 0x4, -0x4, 0x2, 0x7, 0x3, -0x4, -0x3, -0x3, -0x3, | ||
| 18605 | -0x4, 0x0, -0x3, -0x6, 0x0, 0x1, -0x5, -0x7, -0x2, -0x1, -0x1, -0x7, 0x3, -0x5, -0x4, -0x3, | ||
| 18606 | 0x5, 0x1, -0x4, 0x7, 0x1, 0x7, -0x5, 0x4, 0x5, -0x4, 0x1, -0x4, 0x4, 0x5, 0x4, -0x2, | ||
| 18607 | }, .{ | ||
| 18608 | 0x2, -0x4, -0x1, 0x4, 0x4, -0x1, -0x3, 0x6, 0x4, 0x2, 0x4, 0x3, -0x6, -0x7, -0x4, 0x6, | ||
| 18609 | 0x6, 0x4, 0x6, -0x7, 0x2, 0x4, -0x8, -0x1, -0x8, 0x3, -0x2, -0x7, 0x1, 0x5, -0x3, -0x6, | ||
| 18610 | -0x8, 0x2, -0x5, 0x7, 0x4, 0x7, -0x4, 0x3, 0x6, -0x7, -0x1, 0x1, -0x8, -0x2, -0x3, 0x3, | ||
| 18611 | 0x3, -0x4, 0x4, -0x7, 0x5, -0x4, -0x1, 0x2, 0x6, -0x2, -0x5, 0x2, 0x7, 0x2, -0x8, -0x3, | ||
| 18612 | }); | ||
| 18613 | try testArgs(@Vector(128, i4), .{ | ||
| 18614 | 0x3, 0x3, -0x6, 0x3, 0x2, 0x1, 0x5, -0x2, 0x0, -0x7, 0x4, 0x3, 0x0, -0x3, -0x7, -0x5, | ||
| 18615 | 0x4, 0x0, 0x1, 0x6, 0x3, 0x3, -0x4, 0x7, -0x6, -0x6, 0x6, 0x1, 0x6, -0x5, -0x6, -0x6, | ||
| 18616 | 0x4, -0x2, 0x3, -0x1, -0x4, -0x6, -0x1, 0x2, 0x4, 0x3, -0x2, 0x2, 0x3, 0x5, 0x0, -0x2, | ||
| 18617 | 0x5, 0x6, -0x1, -0x5, 0x6, 0x7, 0x7, -0x6, -0x6, 0x0, 0x0, -0x6, -0x2, -0x7, -0x6, 0x3, | ||
| 18618 | -0x6, -0x6, 0x4, -0x4, 0x4, -0x5, 0x0, 0x6, 0x6, 0x7, 0x4, -0x5, 0x5, -0x7, -0x7, 0x6, | ||
| 18619 | -0x4, 0x4, -0x7, 0x4, 0x3, 0x2, -0x4, -0x1, -0x6, -0x2, 0x5, -0x2, 0x4, -0x7, -0x3, -0x3, | ||
| 18620 | 0x4, 0x1, -0x1, 0x2, -0x1, 0x4, -0x5, -0x3, -0x1, -0x3, 0x3, 0x7, 0x5, -0x1, -0x1, -0x4, | ||
| 18621 | 0x2, 0x1, -0x3, 0x7, -0x6, -0x7, -0x6, -0x4, -0x5, -0x2, 0x5, 0x0, -0x5, 0x7, -0x7, 0x5, | ||
| 18622 | }, .{ | ||
| 18623 | -0x6, -0x5, -0x1, 0x4, 0x6, 0x4, -0x1, -0x7, -0x3, 0x4, -0x6, -0x2, -0x3, 0x1, 0x6, 0x2, | ||
| 18624 | -0x1, -0x3, -0x4, 0x2, 0x3, 0x6, -0x7, 0x3, 0x7, -0x6, 0x1, -0x7, -0x5, 0x6, 0x7, -0x4, | ||
| 18625 | 0x7, -0x4, 0x2, -0x5, 0x4, 0x5, 0x5, -0x3, -0x1, 0x6, -0x6, -0x2, -0x4, 0x3, -0x4, -0x4, | ||
| 18626 | -0x5, 0x6, -0x6, 0x3, -0x6, -0x3, 0x6, 0x5, 0x6, -0x6, -0x3, 0x1, -0x4, -0x5, -0x8, -0x3, | ||
| 18627 | -0x4, 0x7, -0x2, -0x1, 0x4, 0x2, -0x3, 0x6, 0x4, 0x6, -0x3, 0x6, 0x5, -0x2, -0x1, 0x5, | ||
| 18628 | 0x6, -0x6, -0x8, -0x2, -0x3, 0x6, -0x6, 0x5, -0x2, -0x6, 0x5, -0x6, 0x2, 0x1, 0x3, -0x3, | ||
| 18629 | 0x7, 0x7, 0x3, -0x1, 0x5, -0x2, -0x3, 0x4, 0x7, -0x7, 0x7, 0x6, -0x2, -0x5, 0x4, -0x5, | ||
| 18630 | -0x1, -0x2, 0x1, 0x4, -0x2, 0x1, -0x3, 0x1, -0x4, 0x3, -0x2, -0x6, -0x4, -0x2, -0x8, 0x2, | ||
| 18631 | }); | ||
| 18632 | |||
| 18633 | try testArgs(@Vector(1, u4), .{ | ||
| 18634 | 0x2, | ||
| 18635 | }, .{ | ||
| 18636 | 0xa, | ||
| 18637 | }); | ||
| 18638 | try testArgs(@Vector(2, u4), .{ | ||
| 18639 | 0x0, 0xa, | ||
| 18640 | }, .{ | ||
| 18641 | 0xb, 0xa, | ||
| 18642 | }); | ||
| 18643 | try testArgs(@Vector(4, u4), .{ | ||
| 18644 | 0xb, 0x7, 0x0, 0xd, | ||
| 18645 | }, .{ | ||
| 18646 | 0x4, 0x5, 0xf, 0x3, | ||
| 18647 | }); | ||
| 18648 | try testArgs(@Vector(8, u4), .{ | ||
| 18649 | 0x9, 0xf, 0x0, 0x5, 0x4, 0x9, 0x3, 0x7, | ||
| 18650 | }, .{ | ||
| 18651 | 0xc, 0x6, 0x8, 0x8, 0x9, 0x8, 0x9, 0x2, | ||
| 18652 | }); | ||
| 18653 | try testArgs(@Vector(16, u4), .{ | ||
| 18654 | 0x0, 0xb, 0xd, 0x2, 0x8, 0xa, 0x6, 0x7, 0xa, 0xf, 0xf, 0x4, 0x9, 0x9, 0x9, 0xf, | ||
| 18655 | }, .{ | ||
| 18656 | 0xd, 0x1, 0xf, 0x8, 0xb, 0xa, 0xe, 0x4, 0x5, 0x3, 0xd, 0x4, 0x1, 0xd, 0xd, 0xe, | ||
| 18657 | }); | ||
| 18658 | try testArgs(@Vector(32, u4), .{ | ||
| 18659 | 0x3, 0xc, 0x5, 0x1, 0xa, 0x6, 0x7, 0xe, 0x5, 0x8, 0x5, 0x6, 0xe, 0x0, 0xe, 0x6, | ||
| 18660 | 0x9, 0x5, 0x3, 0x6, 0xd, 0xe, 0x9, 0x4, 0xf, 0x1, 0x1, 0x5, 0x0, 0x2, 0xa, 0x0, | ||
| 18661 | }, .{ | ||
| 18662 | 0xd, 0x8, 0x7, 0xe, 0xa, 0x2, 0x5, 0x8, 0x5, 0x1, 0xa, 0x8, 0x1, 0x8, 0xb, 0x3, | ||
| 18663 | 0xb, 0xe, 0x5, 0xf, 0xb, 0x8, 0xd, 0x7, 0x6, 0x4, 0x7, 0x5, 0x5, 0x7, 0xf, 0x6, | ||
| 18664 | }); | ||
| 18665 | try testArgs(@Vector(64, u4), .{ | ||
| 18666 | 0x5, 0xd, 0x0, 0xd, 0x1, 0xb, 0xb, 0xe, 0xb, 0x7, 0xa, 0xc, 0xb, 0xe, 0x8, 0x9, | ||
| 18667 | 0x1, 0xb, 0x9, 0x5, 0xa, 0x6, 0xc, 0x5, 0x1, 0xe, 0x5, 0xb, 0x2, 0x8, 0x1, 0x4, | ||
| 18668 | 0x2, 0x6, 0x5, 0x1, 0x0, 0x5, 0xa, 0x5, 0xf, 0xf, 0x0, 0xb, 0x5, 0x4, 0xf, 0xb, | ||
| 18669 | 0x6, 0x0, 0xb, 0x4, 0x7, 0x8, 0xd, 0xf, 0xc, 0xc, 0x1, 0xe, 0x0, 0xb, 0xa, 0xd, | ||
| 18670 | }, .{ | ||
| 18671 | 0xc, 0x5, 0xb, 0x3, 0x1, 0x5, 0xb, 0x1, 0x2, 0x1, 0x8, 0x4, 0xe, 0x1, 0xa, 0x7, | ||
| 18672 | 0x2, 0x9, 0x4, 0xd, 0xa, 0x5, 0x4, 0xe, 0x1, 0x4, 0xb, 0x2, 0x9, 0x7, 0x4, 0x2, | ||
| 18673 | 0x7, 0xd, 0x7, 0xb, 0xb, 0xf, 0xc, 0x5, 0xe, 0xf, 0x4, 0x8, 0x9, 0x5, 0x3, 0x6, | ||
| 18674 | 0x8, 0x4, 0x2, 0x5, 0x8, 0x2, 0x3, 0x5, 0x4, 0xf, 0x5, 0x9, 0x4, 0x8, 0x9, 0x8, | ||
| 18675 | }); | ||
| 18676 | try testArgs(@Vector(128, u4), .{ | ||
| 18677 | 0xe, 0x0, 0xa, 0xa, 0xf, 0x3, 0x3, 0x9, 0xe, 0x2, 0x7, 0x2, 0xf, 0x7, 0xf, 0x6, | ||
| 18678 | 0xa, 0x8, 0x0, 0x5, 0x6, 0x4, 0xf, 0x6, 0x5, 0xd, 0x0, 0xc, 0x3, 0xe, 0x3, 0x3, | ||
| 18679 | 0x5, 0x4, 0x8, 0x8, 0xb, 0x0, 0x7, 0x3, 0x8, 0xa, 0x8, 0x0, 0x8, 0x4, 0x7, 0x4, | ||
| 18680 | 0x9, 0x6, 0xa, 0x2, 0xe, 0x2, 0x0, 0x1, 0xe, 0xf, 0x9, 0x0, 0x9, 0x4, 0xb, 0xa, | ||
| 18681 | 0x1, 0x7, 0xf, 0xd, 0x6, 0x6, 0x2, 0x2, 0x1, 0xd, 0xe, 0x7, 0x5, 0xd, 0x9, 0x7, | ||
| 18682 | 0xd, 0xc, 0xc, 0x0, 0xa, 0xc, 0x1, 0xa, 0x5, 0x3, 0xf, 0xc, 0xf, 0x7, 0x1, 0xc, | ||
| 18683 | 0xa, 0x4, 0x3, 0xa, 0xc, 0x8, 0x2, 0xc, 0xf, 0x7, 0x3, 0x7, 0xf, 0x0, 0x0, 0x8, | ||
| 18684 | 0x7, 0x3, 0x4, 0x9, 0xb, 0xc, 0x5, 0x0, 0x1, 0x2, 0xa, 0x7, 0x9, 0x1, 0x3, 0x1, | ||
| 18685 | }, .{ | ||
| 18686 | 0xb, 0x1, 0x9, 0x3, 0x4, 0xb, 0xb, 0x4, 0xb, 0x7, 0x2, 0x7, 0x4, 0x5, 0x1, 0x4, | ||
| 18687 | 0x5, 0xa, 0xb, 0x4, 0x4, 0x2, 0xa, 0xb, 0xe, 0x4, 0x7, 0xb, 0xb, 0x4, 0x1, 0x6, | ||
| 18688 | 0xd, 0x3, 0xc, 0x7, 0x8, 0x1, 0x7, 0x6, 0xf, 0x9, 0x8, 0x4, 0x5, 0x2, 0x6, 0xe, | ||
| 18689 | 0xb, 0xd, 0x4, 0x6, 0x5, 0xb, 0x2, 0x8, 0x7, 0x2, 0xf, 0xe, 0x9, 0xe, 0xa, 0x5, | ||
| 18690 | 0x6, 0xc, 0xb, 0x1, 0x8, 0xc, 0xd, 0x3, 0x1, 0x4, 0x4, 0xf, 0x4, 0x3, 0x5, 0x7, | ||
| 18691 | 0xf, 0x3, 0x5, 0xf, 0xe, 0x2, 0xd, 0x7, 0x6, 0x2, 0x4, 0xd, 0xd, 0xa, 0x1, 0xa, | ||
| 18692 | 0xb, 0xa, 0xa, 0x2, 0x4, 0x9, 0x8, 0xa, 0xe, 0xb, 0xf, 0xf, 0x6, 0x4, 0x9, 0x8, | ||
| 18693 | 0x9, 0x6, 0x4, 0x5, 0xf, 0xe, 0x8, 0x5, 0x2, 0x5, 0xf, 0xb, 0xf, 0x4, 0x6, 0x4, | ||
| 18694 | }); | ||
| 18695 | |||
| 18696 | // workaround https://github.com/ziglang/zig/issues/22914 | ||
| 18697 | // TODO: try testArgs(@Vector(1, i5), .{ | ||
| 18698 | // 0x03, | ||
| 18699 | // }, .{ | ||
| 18700 | // 0x0a, | ||
| 18701 | // }); | ||
| 18702 | // try testArgs(@Vector(2, i5), .{ | ||
| 18703 | // 0x0c, -0x0e, | ||
| 18704 | // }, .{ | ||
| 18705 | // -0x0f, -0x0e, | ||
| 18706 | // }); | ||
| 18707 | // try testArgs(@Vector(4, i5), .{ | ||
| 18708 | // -0x0a, 0x06, -0x05, 0x09, | ||
| 18709 | // }, .{ | ||
| 18710 | // -0x0f, 0x05, 0x05, 0x09, | ||
| 18711 | // }); | ||
| 18712 | // try testArgs(@Vector(8, i5), .{ | ||
| 18713 | // -0x04, -0x04, 0x05, -0x05, 0x0f, -0x0e, 0x0f, -0x0e, | ||
| 18714 | // }, .{ | ||
| 18715 | // -0x09, -0x0d, 0x02, 0x01, 0x08, -0x05, -0x09, -0x03, | ||
| 18716 | // }); | ||
| 18717 | // try testArgs(@Vector(16, i5), .{ | ||
| 18718 | // -0x0e, -0x08, -0x10, -0x0b, -0x10, -0x09, -0x0f, -0x05, -0x10, 0x06, 0x0d, -0x04, 0x09, -0x0e, -0x10, -0x10, | ||
| 18719 | // }, .{ | ||
| 18720 | // 0x03, 0x0b, 0x0c, 0x06, -0x0d, 0x0e, -0x09, -0x04, 0x0a, -0x0e, -0x0d, 0x0f, -0x09, -0x0e, -0x0b, 0x03, | ||
| 18721 | // }); | ||
| 18722 | // try testArgs(@Vector(32, i5), .{ | ||
| 18723 | // -0x08, -0x05, 0x09, -0x08, 0x01, 0x0e, -0x0c, 0x0b, -0x0e, 0x0f, -0x0b, 0x01, -0x03, 0x03, 0x08, 0x04, | ||
| 18724 | // 0x02, 0x0f, -0x0b, -0x0b, 0x0d, 0x00, 0x09, 0x00, -0x06, -0x08, -0x01, 0x0b, 0x05, 0x03, -0x05, -0x07, | ||
| 18725 | // }, .{ | ||
| 18726 | // -0x0c, 0x07, 0x0d, -0x09, 0x0a, 0x06, -0x0b, -0x07, -0x0a, 0x08, 0x07, -0x0d, 0x08, 0x07, 0x09, -0x07, | ||
| 18727 | // 0x0b, -0x02, -0x02, -0x02, -0x06, -0x08, 0x0a, -0x0a, 0x02, -0x07, -0x0a, 0x0d, -0x07, -0x05, -0x0e, 0x05, | ||
| 18728 | // }); | ||
| 18729 | // try testArgs(@Vector(64, i5), .{ | ||
| 18730 | // 0x04, -0x0d, 0x0d, -0x01, 0x07, 0x0c, 0x00, 0x01, -0x07, 0x0a, -0x01, -0x01, 0x08, -0x0b, -0x03, -0x06, | ||
| 18731 | // -0x03, -0x03, -0x0c, 0x0e, -0x0c, -0x02, 0x07, -0x03, 0x0e, -0x0a, -0x0e, -0x06, -0x08, 0x0a, -0x0c, -0x0c, | ||
| 18732 | // 0x06, -0x04, 0x04, 0x00, 0x05, 0x07, 0x04, 0x06, -0x01, 0x0a, 0x07, -0x08, 0x00, 0x0f, 0x0f, 0x0d, | ||
| 18733 | // -0x07, 0x0f, 0x05, -0x0b, -0x08, -0x0c, 0x0d, -0x05, -0x05, 0x0e, 0x02, 0x06, 0x0d, 0x06, 0x00, 0x0a, | ||
| 18734 | // }, .{ | ||
| 18735 | // 0x02, -0x09, -0x01, -0x10, -0x0c, -0x0f, -0x10, -0x0d, 0x02, 0x0e, 0x07, -0x01, -0x0a, -0x0b, 0x05, -0x0e, | ||
| 18736 | // -0x09, 0x03, 0x08, -0x0d, 0x0d, 0x03, -0x02, 0x0e, 0x0c, 0x03, 0x0b, -0x0d, -0x04, -0x10, 0x0e, 0x0d, | ||
| 18737 | // 0x09, -0x03, -0x0e, -0x03, -0x05, -0x0c, -0x07, 0x08, -0x06, 0x08, -0x0e, 0x02, -0x10, 0x01, 0x01, -0x0a, | ||
| 18738 | // 0x01, -0x09, 0x03, -0x01, 0x05, 0x09, 0x06, -0x03, -0x0a, 0x08, -0x0e, 0x0e, 0x07, -0x05, -0x0c, -0x10, | ||
| 18739 | // }); | ||
| 18740 | // try testArgs(@Vector(128, i5), .{ | ||
| 18741 | // 0x01, 0x0b, -0x01, -0x10, -0x05, 0x05, -0x09, 0x0e, -0x0e, 0x04, 0x0f, -0x06, 0x0f, 0x04, -0x02, 0x0a, | ||
| 18742 | // -0x08, -0x06, 0x08, -0x07, -0x08, 0x0e, 0x06, 0x0d, -0x07, -0x04, 0x04, -0x0b, 0x02, -0x06, 0x07, -0x10, | ||
| 18743 | // 0x0d, 0x09, 0x0b, -0x04, 0x0e, -0x06, -0x0a, 0x01, 0x06, 0x08, 0x01, -0x0b, -0x09, -0x08, -0x0c, -0x0b, | ||
| 18744 | // 0x07, 0x06, 0x0d, 0x0c, -0x0b, -0x03, -0x06, -0x0c, -0x0e, 0x05, 0x0b, 0x08, -0x01, 0x00, 0x01, 0x0a, | ||
| 18745 | // 0x00, 0x0a, 0x06, 0x06, -0x10, -0x05, -0x05, -0x0f, 0x02, -0x06, -0x08, -0x08, 0x0f, 0x09, -0x07, -0x05, | ||
| 18746 | // 0x07, 0x06, 0x03, 0x05, 0x02, 0x0f, 0x0d, -0x0e, -0x03, -0x01, -0x06, -0x02, -0x01, -0x07, 0x09, 0x05, | ||
| 18747 | // -0x07, -0x07, -0x08, 0x0c, -0x0e, 0x09, -0x0c, -0x0d, 0x07, 0x04, 0x07, -0x03, 0x09, 0x0e, 0x04, 0x02, | ||
| 18748 | // 0x0f, -0x02, -0x10, -0x03, -0x0d, -0x04, 0x0c, -0x06, -0x01, -0x0e, -0x0e, -0x0a, 0x0d, -0x0e, 0x04, 0x03, | ||
| 18749 | // }, .{ | ||
| 18750 | // -0x08, -0x09, -0x04, 0x0f, -0x0f, -0x08, -0x04, 0x0b, 0x09, -0x0b, -0x02, 0x0f, 0x01, -0x01, -0x0a, -0x0a, | ||
| 18751 | // 0x08, 0x09, 0x0d, -0x06, 0x0f, -0x02, 0x0c, 0x01, 0x0c, 0x02, -0x04, 0x0b, 0x05, 0x02, -0x08, -0x09, | ||
| 18752 | // 0x01, 0x0f, -0x0b, 0x02, -0x06, 0x08, -0x0e, -0x02, -0x0b, -0x03, -0x01, 0x0c, 0x09, -0x04, 0x08, -0x0a, | ||
| 18753 | // 0x09, -0x05, 0x08, 0x0e, 0x05, 0x03, -0x0a, 0x0d, -0x03, 0x06, 0x0f, -0x09, 0x0a, 0x03, 0x02, 0x0c, | ||
| 18754 | // 0x08, -0x0a, 0x06, 0x0e, 0x08, 0x02, 0x08, -0x04, -0x0d, -0x02, -0x08, -0x0a, 0x0a, 0x0c, -0x03, 0x04, | ||
| 18755 | // 0x0b, -0x0c, -0x0e, 0x01, 0x07, -0x01, 0x09, 0x0f, -0x06, -0x05, -0x0e, -0x01, -0x04, 0x0a, -0x0a, -0x0d, | ||
| 18756 | // -0x10, -0x10, -0x03, -0x0f, -0x0c, -0x0a, -0x0b, -0x06, -0x04, -0x0f, -0x0b, -0x08, 0x0e, 0x04, -0x01, -0x0b, | ||
| 18757 | // -0x06, 0x0a, 0x0a, -0x0c, -0x0c, 0x0b, -0x02, 0x0c, -0x04, -0x06, -0x0c, -0x09, -0x09, -0x0b, -0x0c, -0x0b, | ||
| 18758 | // }); | ||
| 18759 | try testArgs(@Vector(1, i5), .{ | ||
| 18760 | -0x0f, | ||
| 18761 | }, .{ | ||
| 18762 | -0x03, | ||
| 18763 | }); | ||
| 18764 | try testArgs(@Vector(2, i5), .{ | ||
| 18765 | 0x0b, -0x04, | ||
| 18766 | }, .{ | ||
| 18767 | -0x05, -0x08, | ||
| 18768 | }); | ||
| 18769 | try testArgs(@Vector(4, i5), .{ | ||
| 18770 | 0x08, 0x0f, -0x06, -0x0d, | ||
| 18771 | }, .{ | ||
| 18772 | -0x03, -0x0a, -0x05, -0x03, | ||
| 18773 | }); | ||
| 18774 | try testArgs(@Vector(8, i5), .{ | ||
| 18775 | 0x08, 0x0c, 0x07, 0x00, -0x06, 0x08, 0x08, 0x0d, | ||
| 18776 | }, .{ | ||
| 18777 | 0x07, 0x09, 0x05, -0x08, 0x08, -0x0e, -0x0e, -0x0e, | ||
| 18778 | }); | ||
| 18779 | try testArgs(@Vector(16, i5), .{ | ||
| 18780 | 0x06, 0x0b, 0x07, 0x0e, 0x0e, 0x02, -0x08, -0x0b, -0x03, 0x09, -0x08, 0x0e, -0x03, -0x0a, 0x01, 0x0b, | ||
| 18781 | }, .{ | ||
| 18782 | -0x05, 0x0f, -0x08, -0x10, -0x07, 0x06, 0x08, 0x01, 0x0a, 0x06, 0x05, -0x0f, 0x03, 0x05, 0x0b, -0x06, | ||
| 18783 | }); | ||
| 18784 | try testArgs(@Vector(32, i5), .{ | ||
| 18785 | 0x0e, 0x07, -0x08, 0x0b, 0x04, -0x05, 0x0f, 0x02, 0x04, -0x0c, 0x0d, 0x09, 0x0e, -0x02, -0x0f, 0x04, | ||
| 18786 | -0x03, -0x02, 0x09, -0x0d, 0x01, 0x00, -0x0e, -0x0a, 0x02, -0x06, 0x0c, 0x03, 0x06, 0x0e, 0x06, -0x07, | ||
| 18787 | }, .{ | ||
| 18788 | -0x0a, 0x01, 0x0a, -0x10, 0x06, 0x09, 0x0e, 0x03, 0x0e, -0x09, 0x08, -0x08, 0x06, 0x0c, -0x0a, -0x07, | ||
| 18789 | 0x04, -0x02, -0x09, 0x0b, 0x0e, -0x03, -0x01, -0x0d, 0x0e, -0x0a, -0x02, 0x08, 0x0e, 0x02, -0x04, -0x05, | ||
| 18790 | }); | ||
| 18791 | try testArgs(@Vector(64, i5), .{ | ||
| 18792 | 0x04, 0x02, -0x04, -0x0a, -0x0b, -0x0b, -0x0c, -0x08, -0x0b, -0x05, 0x0c, 0x0b, 0x05, 0x02, -0x01, -0x06, | ||
| 18793 | -0x09, -0x06, 0x0a, 0x0f, -0x06, -0x0d, 0x0c, 0x05, 0x0b, -0x06, -0x02, 0x09, 0x0e, -0x09, 0x05, 0x0a, | ||
| 18794 | -0x0c, 0x0b, -0x01, -0x04, 0x01, 0x0c, 0x0f, -0x0f, -0x07, 0x0a, 0x04, 0x02, 0x08, -0x01, -0x03, 0x0a, | ||
| 18795 | -0x0e, -0x04, -0x03, -0x0b, -0x01, 0x02, -0x05, 0x08, -0x03, 0x02, -0x01, -0x05, 0x07, -0x09, 0x0f, 0x00, | ||
| 18796 | }, .{ | ||
| 18797 | -0x09, -0x02, -0x0a, -0x05, -0x05, -0x0d, 0x04, -0x05, 0x0e, -0x01, -0x07, 0x04, 0x0d, -0x0f, -0x09, -0x04, | ||
| 18798 | -0x0b, -0x0b, 0x0e, 0x01, 0x06, -0x0f, -0x0b, 0x03, -0x04, 0x05, -0x03, -0x09, 0x0a, 0x04, 0x04, -0x06, | ||
| 18799 | -0x02, 0x01, 0x0e, 0x0c, -0x10, 0x0f, -0x09, -0x08, -0x10, -0x02, -0x07, -0x0d, 0x08, 0x07, -0x03, 0x01, | ||
| 18800 | -0x0d, -0x10, -0x07, 0x08, 0x0d, 0x07, 0x09, 0x0f, 0x04, 0x06, -0x05, -0x09, 0x04, -0x04, -0x04, 0x0d, | ||
| 18801 | }); | ||
| 18802 | try testArgs(@Vector(128, i5), .{ | ||
| 18803 | -0x02, -0x07, -0x03, 0x08, -0x0b, -0x09, -0x0c, 0x0d, -0x0e, 0x08, -0x03, -0x09, 0x0a, 0x02, -0x0d, 0x05, | ||
| 18804 | -0x04, -0x0c, -0x07, 0x08, -0x0a, 0x04, 0x08, -0x07, 0x0c, 0x03, 0x0e, 0x0f, 0x08, -0x08, -0x02, -0x0a, | ||
| 18805 | -0x08, 0x04, -0x0c, -0x09, 0x0a, -0x0e, -0x04, -0x05, 0x02, 0x0d, -0x04, -0x0f, -0x0d, -0x02, 0x05, -0x07, | ||
| 18806 | 0x06, 0x0b, -0x0b, -0x04, -0x04, -0x0e, -0x0c, 0x09, 0x02, -0x0c, 0x0e, 0x09, 0x02, -0x04, 0x05, 0x04, | ||
| 18807 | -0x0e, -0x02, -0x08, 0x05, 0x00, 0x0f, -0x0a, 0x0a, 0x0b, 0x0b, 0x02, -0x02, -0x0d, -0x08, -0x0d, 0x03, | ||
| 18808 | 0x0b, -0x0b, 0x02, 0x05, -0x06, -0x07, -0x08, -0x0a, -0x09, -0x03, -0x0e, -0x0f, -0x0b, 0x03, 0x00, 0x09, | ||
| 18809 | 0x07, 0x0a, -0x0b, 0x06, 0x01, -0x03, -0x0a, -0x09, -0x07, -0x0d, 0x0a, -0x0c, 0x01, -0x09, -0x01, -0x01, | ||
| 18810 | -0x09, 0x00, 0x0f, 0x05, -0x0b, 0x0c, 0x04, 0x0c, 0x0b, -0x08, 0x01, -0x05, -0x04, 0x02, 0x0c, 0x04, | ||
| 18811 | }, .{ | ||
| 18812 | -0x08, -0x05, -0x0a, 0x06, -0x06, -0x04, 0x01, 0x07, 0x0d, -0x0a, -0x02, 0x0b, -0x01, -0x0c, -0x04, 0x0c, | ||
| 18813 | -0x06, 0x0d, 0x04, 0x0b, 0x07, 0x0c, 0x02, 0x02, -0x02, 0x09, 0x0d, -0x07, -0x08, 0x07, -0x04, 0x06, | ||
| 18814 | -0x0a, 0x07, 0x01, 0x07, -0x0d, 0x02, 0x09, -0x02, 0x0e, -0x08, -0x03, -0x07, 0x07, 0x0a, -0x0e, -0x06, | ||
| 18815 | 0x0b, -0x0d, 0x0c, -0x06, -0x07, 0x0a, 0x0b, -0x0a, 0x05, 0x01, -0x0d, -0x08, -0x0e, -0x08, -0x07, -0x01, | ||
| 18816 | -0x10, 0x07, 0x03, 0x06, 0x03, 0x0a, 0x08, -0x0a, 0x04, -0x09, 0x0c, 0x01, -0x10, 0x02, 0x09, 0x0d, | ||
| 18817 | 0x0f, -0x01, -0x06, -0x0a, 0x04, 0x01, 0x07, 0x07, 0x0e, 0x0e, -0x04, -0x0a, -0x03, 0x07, 0x07, -0x10, | ||
| 18818 | -0x04, 0x0e, -0x09, -0x0f, -0x0b, -0x0e, 0x0c, -0x0d, 0x0b, -0x06, 0x0f, -0x0d, 0x0b, 0x04, -0x10, -0x10, | ||
| 18819 | -0x0e, 0x09, 0x0d, -0x02, -0x0e, -0x06, -0x0b, -0x0f, -0x08, -0x0f, -0x0d, -0x0a, -0x02, 0x03, 0x0b, -0x0a, | ||
| 18820 | }); | ||
| 18821 | |||
| 18822 | try testArgs(@Vector(1, u5), .{ | ||
| 18823 | 0x0a, | ||
| 18824 | }, .{ | ||
| 18825 | 0x1c, | ||
| 18826 | }); | ||
| 18827 | try testArgs(@Vector(2, u5), .{ | ||
| 18828 | 0x01, 0x07, | ||
| 18829 | }, .{ | ||
| 18830 | 0x03, 0x1d, | ||
| 18831 | }); | ||
| 18832 | try testArgs(@Vector(4, u5), .{ | ||
| 18833 | 0x1c, 0x0d, 0x1f, 0x0a, | ||
| 18834 | }, .{ | ||
| 18835 | 0x14, 0x03, 0x07, 0x02, | ||
| 18836 | }); | ||
| 18837 | try testArgs(@Vector(8, u5), .{ | ||
| 18838 | 0x00, 0x0c, 0x1f, 0x01, 0x12, 0x14, 0x12, 0x10, | ||
| 18839 | }, .{ | ||
| 18840 | 0x0c, 0x14, 0x05, 0x1a, 0x04, 0x17, 0x06, 0x1a, | ||
| 18841 | }); | ||
| 18842 | try testArgs(@Vector(16, u5), .{ | ||
| 18843 | 0x1e, 0x17, 0x03, 0x16, 0x1f, 0x10, 0x00, 0x05, 0x19, 0x10, 0x18, 0x0d, 0x0f, 0x1b, 0x1e, 0x05, | ||
| 18844 | }, .{ | ||
| 18845 | 0x18, 0x13, 0x14, 0x12, 0x10, 0x11, 0x18, 0x0c, 0x03, 0x02, 0x11, 0x03, 0x17, 0x0c, 0x19, 0x05, | ||
| 18846 | }); | ||
| 18847 | try testArgs(@Vector(32, u5), .{ | ||
| 18848 | 0x1a, 0x10, 0x16, 0x1f, 0x08, 0x07, 0x1a, 0x04, 0x05, 0x16, 0x07, 0x09, 0x09, 0x03, 0x0f, 0x00, | ||
| 18849 | 0x03, 0x05, 0x1c, 0x00, 0x07, 0x16, 0x17, 0x1b, 0x0b, 0x01, 0x0e, 0x08, 0x15, 0x12, 0x04, 0x16, | ||
| 18850 | }, .{ | ||
| 18851 | 0x02, 0x14, 0x09, 0x17, 0x0c, 0x10, 0x1a, 0x1e, 0x14, 0x06, 0x03, 0x1b, 0x1d, 0x1f, 0x18, 0x0b, | ||
| 18852 | 0x16, 0x1b, 0x11, 0x14, 0x0d, 0x18, 0x05, 0x18, 0x16, 0x1a, 0x14, 0x04, 0x14, 0x1a, 0x0c, 0x1e, | ||
| 18853 | }); | ||
| 18854 | try testArgs(@Vector(64, u5), .{ | ||
| 18855 | 0x0c, 0x09, 0x0c, 0x05, 0x0e, 0x08, 0x0b, 0x07, 0x18, 0x05, 0x0a, 0x1e, 0x06, 0x14, 0x0d, 0x03, | ||
| 18856 | 0x0c, 0x0d, 0x00, 0x10, 0x0f, 0x05, 0x12, 0x0e, 0x0c, 0x1c, 0x16, 0x11, 0x14, 0x0b, 0x16, 0x06, | ||
| 18857 | 0x1e, 0x07, 0x00, 0x13, 0x09, 0x13, 0x1b, 0x03, 0x12, 0x1c, 0x0b, 0x04, 0x18, 0x0a, 0x18, 0x16, | ||
| 18858 | 0x16, 0x0a, 0x11, 0x19, 0x00, 0x1d, 0x08, 0x06, 0x0a, 0x1e, 0x09, 0x1d, 0x18, 0x1e, 0x06, 0x1b, | ||
| 18859 | }, .{ | ||
| 18860 | 0x0d, 0x10, 0x05, 0x18, 0x10, 0x0a, 0x06, 0x03, 0x1c, 0x10, 0x1c, 0x1e, 0x19, 0x1c, 0x04, 0x03, | ||
| 18861 | 0x0a, 0x1d, 0x1f, 0x10, 0x0e, 0x04, 0x0c, 0x18, 0x14, 0x05, 0x11, 0x19, 0x19, 0x14, 0x10, 0x06, | ||
| 18862 | 0x0b, 0x16, 0x0f, 0x01, 0x12, 0x0c, 0x1b, 0x03, 0x19, 0x0d, 0x12, 0x15, 0x15, 0x11, 0x16, 0x1f, | ||
| 18863 | 0x03, 0x11, 0x06, 0x11, 0x1d, 0x16, 0x0c, 0x17, 0x19, 0x1a, 0x06, 0x16, 0x13, 0x0a, 0x09, 0x1c, | ||
| 18864 | }); | ||
| 18865 | try testArgs(@Vector(128, u5), .{ | ||
| 18866 | 0x09, 0x16, 0x11, 0x1e, 0x17, 0x13, 0x1d, 0x14, 0x07, 0x15, 0x1c, 0x0b, 0x08, 0x19, 0x01, 0x0b, | ||
| 18867 | 0x1b, 0x19, 0x00, 0x0c, 0x0c, 0x0a, 0x10, 0x08, 0x1a, 0x1c, 0x03, 0x14, 0x1c, 0x0b, 0x18, 0x1f, | ||
| 18868 | 0x0c, 0x10, 0x17, 0x16, 0x05, 0x16, 0x0e, 0x03, 0x02, 0x0b, 0x13, 0x0b, 0x0a, 0x09, 0x0f, 0x01, | ||
| 18869 | 0x17, 0x0f, 0x1c, 0x13, 0x1d, 0x0b, 0x03, 0x0e, 0x01, 0x04, 0x1f, 0x18, 0x04, 0x07, 0x10, 0x05, | ||
| 18870 | 0x18, 0x09, 0x08, 0x16, 0x1e, 0x0e, 0x0f, 0x0c, 0x11, 0x0b, 0x0c, 0x13, 0x0f, 0x13, 0x13, 0x1d, | ||
| 18871 | 0x02, 0x01, 0x0f, 0x03, 0x17, 0x0f, 0x0f, 0x09, 0x0a, 0x1e, 0x1c, 0x0e, 0x0d, 0x17, 0x1e, 0x02, | ||
| 18872 | 0x07, 0x05, 0x0f, 0x0b, 0x01, 0x1f, 0x13, 0x17, 0x1a, 0x01, 0x1d, 0x12, 0x07, 0x01, 0x11, 0x10, | ||
| 18873 | 0x1a, 0x19, 0x02, 0x06, 0x1a, 0x1e, 0x13, 0x18, 0x11, 0x14, 0x19, 0x15, 0x1a, 0x1f, 0x01, 0x01, | ||
| 18874 | }, .{ | ||
| 18875 | 0x10, 0x04, 0x14, 0x13, 0x04, 0x0f, 0x1d, 0x17, 0x0a, 0x08, 0x17, 0x1a, 0x02, 0x0c, 0x0c, 0x12, | ||
| 18876 | 0x07, 0x0d, 0x11, 0x1c, 0x01, 0x17, 0x13, 0x1b, 0x11, 0x1c, 0x02, 0x16, 0x10, 0x0c, 0x16, 0x07, | ||
| 18877 | 0x02, 0x18, 0x03, 0x04, 0x1c, 0x1c, 0x18, 0x0c, 0x15, 0x14, 0x17, 0x1c, 0x1e, 0x0b, 0x1c, 0x1f, | ||
| 18878 | 0x18, 0x13, 0x02, 0x06, 0x18, 0x03, 0x1e, 0x12, 0x0a, 0x03, 0x07, 0x11, 0x09, 0x1a, 0x1c, 0x07, | ||
| 18879 | 0x10, 0x1b, 0x19, 0x0b, 0x1c, 0x10, 0x08, 0x05, 0x02, 0x09, 0x04, 0x02, 0x11, 0x05, 0x13, 0x1a, | ||
| 18880 | 0x0b, 0x1b, 0x1e, 0x11, 0x1e, 0x0e, 0x05, 0x18, 0x08, 0x0c, 0x04, 0x04, 0x06, 0x15, 0x05, 0x04, | ||
| 18881 | 0x14, 0x1f, 0x18, 0x0c, 0x04, 0x04, 0x03, 0x1c, 0x1e, 0x09, 0x1d, 0x08, 0x13, 0x16, 0x0d, 0x1c, | ||
| 18882 | 0x15, 0x16, 0x04, 0x02, 0x0c, 0x04, 0x13, 0x1d, 0x1d, 0x07, 0x1a, 0x1c, 0x15, 0x15, 0x19, 0x09, | ||
| 18883 | }); | ||
| 18884 | |||
| 18885 | try testArgs(@Vector(1, i7), .{ | ||
| 18886 | 0x3b, | ||
| 18887 | }, .{ | ||
| 18888 | 0x0d, | ||
| 18889 | }); | ||
| 18890 | try testArgs(@Vector(2, i7), .{ | ||
| 18891 | -0x3e, -0x06, | ||
| 18892 | }, .{ | ||
| 18893 | -0x37, -0x0f, | ||
| 18894 | }); | ||
| 18895 | try testArgs(@Vector(4, i7), .{ | ||
| 18896 | 0x35, 0x29, -0x17, 0x39, | ||
| 18897 | }, .{ | ||
| 18898 | -0x2c, -0x02, -0x29, -0x1a, | ||
| 18899 | }); | ||
| 18900 | try testArgs(@Vector(8, i7), .{ | ||
| 18901 | 0x1d, 0x25, 0x03, 0x1c, -0x12, -0x09, 0x1d, 0x3c, | ||
| 18902 | }, .{ | ||
| 18903 | 0x34, 0x33, 0x3e, -0x21, 0x13, 0x2d, 0x1f, 0x05, | ||
| 18904 | }); | ||
| 18905 | try testArgs(@Vector(16, i7), .{ | ||
| 18906 | -0x12, 0x39, 0x11, 0x28, 0x29, -0x30, 0x08, -0x33, 0x2e, 0x03, 0x31, -0x2b, -0x1f, 0x37, 0x0f, -0x31, | ||
| 18907 | }, .{ | ||
| 18908 | -0x0d, -0x1a, -0x22, -0x38, 0x30, 0x32, -0x38, -0x3b, -0x04, -0x2c, 0x27, -0x0d, -0x02, -0x2d, 0x18, 0x09, | ||
| 18909 | }); | ||
| 18910 | try testArgs(@Vector(32, i7), .{ | ||
| 18911 | 0x04, 0x09, 0x1e, -0x1b, -0x33, 0x1f, -0x08, 0x2d, -0x30, -0x3c, 0x11, -0x2a, 0x29, -0x16, -0x3b, -0x1e, | ||
| 18912 | 0x3a, -0x0d, 0x11, 0x16, 0x27, 0x0f, 0x2f, 0x14, 0x3b, -0x2f, -0x3d, 0x1d, -0x08, -0x2e, -0x2a, -0x33, | ||
| 18913 | }, .{ | ||
| 18914 | -0x09, 0x3c, 0x15, -0x25, -0x03, 0x0a, 0x11, 0x03, 0x12, -0x1d, -0x23, 0x29, -0x30, -0x35, -0x0e, -0x15, | ||
| 18915 | -0x1c, -0x14, 0x07, 0x29, -0x0d, -0x2e, 0x12, -0x3b, -0x0c, 0x22, -0x15, -0x2d, 0x04, 0x19, 0x14, -0x1d, | ||
| 18916 | }); | ||
| 18917 | try testArgs(@Vector(64, i7), .{ | ||
| 18918 | 0x23, 0x09, -0x13, 0x03, 0x19, -0x35, -0x06, -0x3c, -0x31, 0x12, 0x09, 0x22, -0x15, -0x1c, -0x25, -0x31, | ||
| 18919 | 0x3a, -0x31, 0x05, 0x0b, -0x14, 0x38, 0x39, 0x15, 0x15, -0x11, 0x11, -0x21, 0x2f, 0x3d, -0x2e, -0x33, | ||
| 18920 | -0x38, 0x1b, 0x14, 0x1d, 0x0d, -0x16, 0x10, -0x0a, 0x25, 0x0d, 0x1e, 0x1a, -0x15, 0x21, 0x3e, -0x0c, | ||
| 18921 | 0x03, 0x3f, 0x1f, 0x17, 0x2c, -0x0a, -0x2b, 0x1f, 0x32, 0x09, 0x0f, -0x15, 0x24, -0x35, 0x27, -0x13, | ||
| 18922 | }, .{ | ||
| 18923 | -0x20, 0x25, 0x38, -0x28, 0x06, -0x2f, -0x0b, -0x2b, 0x21, -0x23, -0x08, 0x06, -0x2a, -0x26, 0x33, -0x2f, | ||
| 18924 | 0x06, -0x1b, 0x3c, -0x3d, 0x3e, 0x1f, 0x27, 0x28, -0x05, -0x31, -0x29, -0x25, -0x13, -0x07, -0x3e, 0x3e, | ||
| 18925 | 0x0e, -0x2c, -0x0f, -0x3b, 0x1b, 0x17, 0x3f, -0x3a, 0x21, -0x16, 0x11, -0x0a, 0x1b, 0x2a, 0x27, 0x3e, | ||
| 18926 | -0x09, -0x34, 0x20, 0x3e, -0x29, -0x35, -0x0b, -0x20, -0x19, 0x21, 0x13, 0x22, 0x0c, -0x1f, 0x38, 0x21, | ||
| 18927 | }); | ||
| 18928 | try testArgs(@Vector(128, i7), .{ | ||
| 18929 | -0x38, -0x10, 0x08, -0x2b, 0x3e, -0x19, 0x39, -0x1f, -0x27, -0x10, -0x0c, 0x02, 0x07, 0x10, -0x1a, 0x0b, | ||
| 18930 | 0x3c, -0x2e, 0x1b, -0x17, 0x3e, -0x1b, -0x04, 0x35, 0x2d, 0x0d, 0x33, 0x0f, 0x18, 0x0b, 0x1a, -0x09, | ||
| 18931 | 0x25, -0x0b, -0x21, 0x3a, -0x28, 0x12, 0x16, 0x03, -0x1f, 0x1d, -0x1c, -0x1a, -0x38, 0x32, 0x3d, -0x2a, | ||
| 18932 | -0x0b, -0x1b, -0x39, -0x0d, -0x20, -0x1e, -0x39, 0x02, -0x13, -0x23, 0x2f, 0x0a, -0x22, 0x15, 0x34, -0x06, | ||
| 18933 | -0x2e, -0x3b, 0x26, 0x38, 0x33, -0x29, -0x0c, 0x2e, 0x07, -0x19, 0x3c, -0x35, -0x33, 0x39, 0x3c, 0x37, | ||
| 18934 | -0x07, -0x13, 0x16, 0x05, -0x27, 0x28, -0x2b, -0x07, -0x25, -0x01, 0x1d, -0x0a, -0x01, 0x1d, -0x2a, -0x30, | ||
| 18935 | 0x31, 0x0a, -0x24, 0x0c, 0x35, -0x1c, -0x04, 0x21, -0x35, 0x12, 0x19, 0x3d, -0x0c, 0x20, 0x28, -0x22, | ||
| 18936 | -0x3c, 0x09, 0x11, -0x0c, -0x14, -0x39, 0x0f, -0x40, -0x0a, 0x0f, 0x1b, 0x34, -0x27, 0x35, 0x0e, -0x3d, | ||
| 18937 | }, .{ | ||
| 18938 | -0x1a, 0x06, 0x1f, -0x24, -0x21, -0x3d, 0x1f, -0x18, 0x2f, -0x38, 0x2f, -0x0f, 0x20, 0x2d, 0x31, -0x09, | ||
| 18939 | -0x1d, 0x3a, 0x24, -0x09, 0x0c, -0x3b, -0x35, -0x2a, -0x08, -0x2d, 0x29, 0x23, -0x37, -0x05, 0x27, -0x12, | ||
| 18940 | 0x23, -0x14, 0x26, 0x36, -0x33, -0x1d, -0x0f, 0x32, 0x2a, -0x34, -0x31, 0x0a, -0x33, -0x34, 0x30, 0x3d, | ||
| 18941 | -0x1a, 0x0f, 0x16, 0x07, 0x2d, -0x2b, 0x2c, -0x2d, 0x34, -0x07, 0x32, 0x3a, 0x2e, -0x1c, 0x2e, 0x0f, | ||
| 18942 | 0x02, 0x33, -0x1e, -0x05, -0x40, -0x0a, 0x3d, -0x28, -0x21, -0x2b, -0x18, 0x02, 0x01, -0x2c, -0x16, -0x3b, | ||
| 18943 | 0x27, 0x23, -0x19, 0x13, -0x2c, 0x3c, -0x1a, 0x0e, -0x25, -0x19, 0x06, 0x1b, -0x3f, 0x26, 0x30, 0x0d, | ||
| 18944 | -0x0e, -0x2f, -0x28, 0x3b, -0x0e, 0x2d, 0x3d, 0x03, 0x0d, -0x23, 0x02, 0x26, 0x0c, 0x31, -0x10, -0x10, | ||
| 18945 | 0x37, -0x38, -0x0f, 0x20, -0x17, 0x02, 0x3e, -0x40, 0x37, 0x22, 0x06, 0x14, -0x31, -0x1e, -0x36, -0x2c, | ||
| 18946 | }); | ||
| 18947 | |||
| 18948 | try testArgs(@Vector(1, u7), .{ | ||
| 18949 | 0x72, | ||
| 18950 | }, .{ | ||
| 18951 | 0x0c, | ||
| 18952 | }); | ||
| 18953 | try testArgs(@Vector(2, u7), .{ | ||
| 18954 | 0x0c, 0x3a, | ||
| 18955 | }, .{ | ||
| 18956 | 0x72, 0x0b, | ||
| 18957 | }); | ||
| 18958 | try testArgs(@Vector(4, u7), .{ | ||
| 18959 | 0x68, 0x2b, 0x52, 0x6e, | ||
| 18960 | }, .{ | ||
| 18961 | 0x74, 0x79, 0x10, 0x67, | ||
| 18962 | }); | ||
| 18963 | try testArgs(@Vector(8, u7), .{ | ||
| 18964 | 0x68, 0x30, 0x65, 0x49, 0x3f, 0x3c, 0x05, 0x1b, | ||
| 18965 | }, .{ | ||
| 18966 | 0x3f, 0x0e, 0x04, 0x50, 0x20, 0x07, 0x07, 0x4c, | ||
| 18967 | }); | ||
| 18968 | try testArgs(@Vector(16, u7), .{ | ||
| 18969 | 0x46, 0x73, 0x34, 0x68, 0x66, 0x0d, 0x69, 0x38, 0x7d, 0x40, 0x34, 0x22, 0x7b, 0x57, 0x76, 0x69, | ||
| 18970 | }, .{ | ||
| 18971 | 0x12, 0x45, 0x1b, 0x5d, 0x24, 0x36, 0x72, 0x70, 0x51, 0x1c, 0x23, 0x77, 0x7d, 0x7a, 0x20, 0x4b, | ||
| 18972 | }); | ||
| 18973 | try testArgs(@Vector(32, u7), .{ | ||
| 18974 | 0x1e, 0x74, 0x19, 0x6c, 0x74, 0x05, 0x6f, 0x08, 0x54, 0x56, 0x25, 0x40, 0x07, 0x2d, 0x42, 0x73, | ||
| 18975 | 0x5c, 0x1c, 0x60, 0x1e, 0x5a, 0x1d, 0x00, 0x33, 0x3b, 0x09, 0x28, 0x58, 0x66, 0x1d, 0x4e, 0x6b, | ||
| 18976 | }, .{ | ||
| 18977 | 0x22, 0x79, 0x72, 0x19, 0x19, 0x0b, 0x64, 0x6b, 0x15, 0x70, 0x10, 0x70, 0x73, 0x56, 0x48, 0x68, | ||
| 18978 | 0x01, 0x16, 0x1b, 0x68, 0x67, 0x09, 0x37, 0x36, 0x29, 0x25, 0x01, 0x7c, 0x58, 0x37, 0x61, 0x1c, | ||
| 18979 | }); | ||
| 18980 | try testArgs(@Vector(64, u7), .{ | ||
| 18981 | 0x79, 0x75, 0x24, 0x4a, 0x05, 0x1b, 0x28, 0x74, 0x43, 0x1c, 0x35, 0x06, 0x0d, 0x53, 0x07, 0x75, | ||
| 18982 | 0x37, 0x3b, 0x6c, 0x50, 0x5d, 0x52, 0x3f, 0x76, 0x3e, 0x57, 0x1e, 0x12, 0x31, 0x7b, 0x62, 0x6e, | ||
| 18983 | 0x30, 0x09, 0x1c, 0x0d, 0x3e, 0x52, 0x64, 0x6e, 0x23, 0x41, 0x2f, 0x4b, 0x69, 0x65, 0x67, 0x3f, | ||
| 18984 | 0x56, 0x6d, 0x4d, 0x35, 0x54, 0x7c, 0x63, 0x5d, 0x24, 0x49, 0x0a, 0x71, 0x55, 0x48, 0x3e, 0x4b, | ||
| 18985 | }, .{ | ||
| 18986 | 0x6a, 0x1d, 0x23, 0x7d, 0x12, 0x29, 0x23, 0x0b, 0x53, 0x3d, 0x39, 0x4b, 0x45, 0x05, 0x1b, 0x4a, | ||
| 18987 | 0x5c, 0x66, 0x38, 0x2d, 0x38, 0x70, 0x29, 0x5b, 0x32, 0x38, 0x39, 0x2e, 0x01, 0x3c, 0x15, 0x05, | ||
| 18988 | 0x1f, 0x28, 0x3a, 0x0f, 0x0a, 0x09, 0x11, 0x5e, 0x0a, 0x7a, 0x3f, 0x7d, 0x2c, 0x34, 0x63, 0x34, | ||
| 18989 | 0x1b, 0x61, 0x73, 0x63, 0x2c, 0x35, 0x25, 0x19, 0x09, 0x0c, 0x75, 0x5d, 0x01, 0x29, 0x3b, 0x0c, | ||
| 18990 | }); | ||
| 18991 | try testArgs(@Vector(128, u7), .{ | ||
| 18992 | 0x5c, | ||
| 18993 | 0x65, | ||
| 18994 | 0x65, | ||
| 18995 | 0x34, | ||
| 18996 | 0x31, | ||
| 18997 | 0x03, | ||
| 18998 | 0x7a, | ||
| 18999 | 0x56, | ||
| 19000 | 0x16, | ||
| 19001 | 0x74, | ||
| 19002 | 0x5c, | ||
| 19003 | 0x7f, | ||
| 19004 | 0x2a, | ||
| 19005 | 0x46, | ||
| 19006 | 0x2a, | ||
| 19007 | 0x5f, | ||
| 19008 | 0x62, | ||
| 19009 | 0x06, | ||
| 19010 | 0x51, | ||
| 19011 | 0x23, | ||
| 19012 | 0x58, | ||
| 19013 | 0x1f, | ||
| 19014 | 0x5a, | ||
| 19015 | 0x2d, | ||
| 19016 | 0x29, | ||
| 19017 | 0x21, | ||
| 19018 | 0x26, | ||
| 19019 | 0x5a, | ||
| 19020 | 0x5a, | ||
| 19021 | 0x13, | ||
| 19022 | 0x13, | ||
| 19023 | 0x46, | ||
| 19024 | 0x26, | ||
| 19025 | 0x1c, | ||
| 19026 | 0x06, | ||
| 19027 | 0x2d, | ||
| 19028 | 0x08, | ||
| 19029 | 0x52, | ||
| 19030 | 0x5b, | ||
| 19031 | 0x6f, | ||
| 19032 | 0x2d, | ||
| 19033 | 0x4a, | ||
| 19034 | 0x00, | ||
| 19035 | 0x40, | ||
| 19036 | 0x68, | ||
| 19037 | 0x27, | ||
| 19038 | 0x00, | ||
| 19039 | 0x4a, | ||
| 19040 | 0x3a, | ||
| 19041 | 0x22, | ||
| 19042 | 0x2d, | ||
| 19043 | 0x5b, | ||
| 19044 | 0x05, | ||
| 19045 | 0x26, | ||
| 19046 | 0x4e, | ||
| 19047 | 0x6f, | ||
| 19048 | 0x46, | ||
| 19049 | 0x4d, | ||
| 19050 | 0x14, | ||
| 19051 | 0x70, | ||
| 19052 | 0x51, | ||
| 19053 | 0x04, | ||
| 19054 | 0x66, | ||
| 19055 | 0x13, | ||
| 19056 | 0x4c, | ||
| 19057 | 0x7c, | ||
| 19058 | 0x67, | ||
| 19059 | 0x23, | ||
| 19060 | 0x13, | ||
| 19061 | 0x55, | ||
| 19062 | 0x1b, | ||
| 19063 | 0x30, | ||
| 19064 | 0x7d, | ||
| 19065 | 0x04, | ||
| 19066 | 0x47, | ||
| 19067 | 0x78, | ||
| 19068 | 0x05, | ||
| 19069 | 0x09, | ||
| 19070 | 0x5a, | ||
| 19071 | 0x20, | ||
| 19072 | 0x2e, | ||
| 19073 | 0x17, | ||
| 19074 | 0x11, | ||
| 19075 | 0x49, | ||
| 19076 | 0x6c, | ||
| 19077 | 0x5e, | ||
| 19078 | 0x34, | ||
| 19079 | 0x3e, | ||
| 19080 | 0x66, | ||
| 19081 | 0x60, | ||
| 19082 | 0x5d, | ||
| 19083 | 0x75, | ||
| 19084 | 0x48, | ||
| 19085 | 0x1d, | ||
| 19086 | 0x69, | ||
| 19087 | 0x67, | ||
| 19088 | 0x40, | ||
| 19089 | 0x2d, | ||
| 19090 | 0x7b, | ||
| 19091 | 0x31, | ||
| 19092 | 0x13, | ||
| 19093 | 0x60, | ||
| 19094 | 0x19, | ||
| 19095 | 0x2f, | ||
| 19096 | 0x3e, | ||
| 19097 | 0x7d, | ||
| 19098 | 0x23, | ||
| 19099 | 0x6a, | ||
| 19100 | 0x0e, | ||
| 19101 | 0x16, | ||
| 19102 | 0x44, | ||
| 19103 | 0x34, | ||
| 19104 | 0x5d, | ||
| 19105 | 0x5a, | ||
| 19106 | 0x2a, | ||
| 19107 | 0x0b, | ||
| 19108 | 0x64, | ||
| 19109 | 0x07, | ||
| 19110 | 0x22, | ||
| 19111 | 0x5b, | ||
| 19112 | 0x24, | ||
| 19113 | 0x22, | ||
| 19114 | 0x3b, | ||
| 19115 | 0x46, | ||
| 19116 | 0x23, | ||
| 19117 | 0x65, | ||
| 19118 | 0x5d, | ||
| 19119 | 0x34, | ||
| 19120 | }, .{ | ||
| 19121 | 0x4b, | ||
| 19122 | 0x36, | ||
| 19123 | 0x7a, | ||
| 19124 | 0x13, | ||
| 19125 | 0x5a, | ||
| 19126 | 0x4b, | ||
| 19127 | 0x69, | ||
| 19128 | 0x4b, | ||
| 19129 | 0x1d, | ||
| 19130 | 0x02, | ||
| 19131 | 0x1b, | ||
| 19132 | 0x3f, | ||
| 19133 | 0x61, | ||
| 19134 | 0x21, | ||
| 19135 | 0x45, | ||
| 19136 | 0x48, | ||
| 19137 | 0x44, | ||
| 19138 | 0x61, | ||
| 19139 | 0x25, | ||
| 19140 | 0x42, | ||
| 19141 | 0x57, | ||
| 19142 | 0x7d, | ||
| 19143 | 0x7a, | ||
| 19144 | 0x45, | ||
| 19145 | 0x22, | ||
| 19146 | 0x2e, | ||
| 19147 | 0x44, | ||
| 19148 | 0x3f, | ||
| 19149 | 0x3a, | ||
| 19150 | 0x14, | ||
| 19151 | 0x07, | ||
| 19152 | 0x6e, | ||
| 19153 | 0x68, | ||
| 19154 | 0x51, | ||
| 19155 | 0x03, | ||
| 19156 | 0x6b, | ||
| 19157 | 0x11, | ||
| 19158 | 0x32, | ||
| 19159 | 0x6d, | ||
| 19160 | 0x6f, | ||
| 19161 | 0x44, | ||
| 19162 | 0x5a, | ||
| 19163 | 0x61, | ||
| 19164 | 0x6d, | ||
| 19165 | 0x71, | ||
| 19166 | 0x66, | ||
| 19167 | 0x54, | ||
| 19168 | 0x14, | ||
| 19169 | 0x5d, | ||
| 19170 | 0x56, | ||
| 19171 | 0x22, | ||
| 19172 | 0x5c, | ||
| 19173 | 0x3a, | ||
| 19174 | 0x72, | ||
| 19175 | 0x16, | ||
| 19176 | 0x39, | ||
| 19177 | 0x59, | ||
| 19178 | 0x3e, | ||
| 19179 | 0x27, | ||
| 19180 | 0x4d, | ||
| 19181 | 0x3d, | ||
| 19182 | 0x44, | ||
| 19183 | 0x72, | ||
| 19184 | 0x2c, | ||
| 19185 | 0x71, | ||
| 19186 | 0x74, | ||
| 19187 | 0x3b, | ||
| 19188 | 0x6c, | ||
| 19189 | 0x70, | ||
| 19190 | 0x39, | ||
| 19191 | 0x0f, | ||
| 19192 | 0x5c, | ||
| 19193 | 0x71, | ||
| 19194 | 0x04, | ||
| 19195 | 0x67, | ||
| 19196 | 0x02, | ||
| 19197 | 0x2c, | ||
| 19198 | 0x18, | ||
| 19199 | 0x0f, | ||
| 19200 | 0x14, | ||
| 19201 | 0x2d, | ||
| 19202 | 0x24, | ||
| 19203 | 0x51, | ||
| 19204 | 0x34, | ||
| 19205 | 0x6d, | ||
| 19206 | 0x0c, | ||
| 19207 | 0x19, | ||
| 19208 | 0x0f, | ||
| 19209 | 0x73, | ||
| 19210 | 0x79, | ||
| 19211 | 0x3d, | ||
| 19212 | 0x74, | ||
| 19213 | 0x20, | ||
| 19214 | 0x15, | ||
| 19215 | 0x22, | ||
| 19216 | 0x25, | ||
| 19217 | 0x09, | ||
| 19218 | 0x14, | ||
| 19219 | 0x09, | ||
| 19220 | 0x71, | ||
| 19221 | 0x2d, | ||
| 19222 | 0x6f, | ||
| 19223 | 0x09, | ||
| 19224 | 0x2e, | ||
| 19225 | 0x27, | ||
| 19226 | 0x75, | ||
| 19227 | 0x57, | ||
| 19228 | 0x62, | ||
| 19229 | 0x4d, | ||
| 19230 | 0x07, | ||
| 19231 | 0x62, | ||
| 19232 | 0x01, | ||
| 19233 | 0x41, | ||
| 19234 | 0x2d, | ||
| 19235 | 0x5d, | ||
| 19236 | 0x4c, | ||
| 19237 | 0x77, | ||
| 19238 | 0x10, | ||
| 19239 | 0x7f, | ||
| 19240 | 0x30, | ||
| 19241 | 0x0f, | ||
| 19242 | 0x50, | ||
| 19243 | 0x15, | ||
| 19244 | 0x39, | ||
| 19245 | 0x34, | ||
| 19246 | 0x7c, | ||
| 19247 | 0x33, | ||
| 19248 | 0x16, | ||
| 19249 | }); | ||
| 19250 | |||
| 19251 | try testArgs(@Vector(1, i8), .{ | ||
| 19252 | -0x54, | ||
| 19253 | }, .{ | ||
| 19254 | 0x0f, | ||
| 19255 | }); | ||
| 19256 | try testArgs(@Vector(2, i8), .{ | ||
| 19257 | -0x4d, 0x55, | ||
| 19258 | }, .{ | ||
| 19259 | 0x7d, -0x5d, | ||
| 19260 | }); | ||
| 19261 | try testArgs(@Vector(4, i8), .{ | ||
| 19262 | 0x73, 0x6f, 0x6e, -0x49, | ||
| 19263 | }, .{ | ||
| 19264 | -0x66, 0x23, 0x21, -0x56, | ||
| 19265 | }); | ||
| 19266 | try testArgs(@Vector(8, i8), .{ | ||
| 19267 | 0x44, -0x37, 0x33, -0x2b, -0x1f, 0x3e, 0x50, -0x4d, | ||
| 19268 | }, .{ | ||
| 19269 | 0x6a, 0x1a, -0x0e, 0x4c, -0x46, 0x03, -0x17, 0x3e, | ||
| 19270 | }); | ||
| 19271 | try testArgs(@Vector(16, i8), .{ | ||
| 19272 | -0x52, 0x1a, -0x4b, 0x4e, -0x75, 0x33, -0x43, 0x30, 0x71, -0x30, -0x73, -0x53, 0x64, 0x1f, -0x27, 0x36, | ||
| 19273 | }, .{ | ||
| 19274 | 0x65, 0x77, -0x62, 0x0f, 0x15, 0x52, 0x5c, 0x12, -0x10, 0x36, 0x6d, 0x42, -0x24, -0x79, -0x32, -0x75, | ||
| 19275 | }); | ||
| 19276 | try testArgs(@Vector(32, i8), .{ | ||
| 19277 | -0x12, -0x1e, 0x18, 0x6e, 0x31, 0x53, -0x6a, -0x34, 0x13, 0x4d, 0x30, -0x7d, -0x31, 0x1e, -0x24, 0x32, | ||
| 19278 | -0x1e, -0x01, 0x55, 0x33, -0x75, -0x44, -0x57, 0x2b, -0x66, 0x19, 0x7f, -0x28, -0x3f, -0x7e, -0x5d, -0x06, | ||
| 19279 | }, .{ | ||
| 19280 | 0x05, -0x23, 0x43, -0x54, -0x41, 0x7f, -0x6a, -0x31, 0x04, 0x15, -0x7a, -0x37, 0x6d, 0x16, 0x01, 0x4a, | ||
| 19281 | 0x15, 0x55, -0x4a, 0x16, -0x73, -0x0c, 0x1c, -0x26, -0x14, -0x01, 0x55, 0x7b, 0x16, -0x2e, -0x5f, -0x67, | ||
| 19282 | }); | ||
| 19283 | try testArgs(@Vector(64, i8), .{ | ||
| 19284 | -0x05, 0x76, 0x4e, -0x5c, 0x7b, -0x1a, -0x38, -0x2e, 0x3d, 0x36, 0x01, 0x30, -0x02, -0x71, -0x24, 0x24, | ||
| 19285 | -0x2e, -0x6e, -0x60, 0x74, -0x80, -0x1c, -0x34, -0x08, -0x33, 0x77, 0x1c, -0x0f, 0x45, -0x51, -0x1d, 0x35, | ||
| 19286 | -0x45, 0x44, 0x27, -0x3c, 0x6b, 0x58, -0x6a, -0x26, 0x06, -0x30, -0x21, -0x0a, 0x60, -0x11, -0x05, 0x75, | ||
| 19287 | 0x38, 0x72, -0x6d, -0x1f, -0x7f, 0x74, -0x6b, -0x14, -0x80, 0x35, -0x0f, -0x1e, 0x6a, 0x17, -0x74, -0x6c, | ||
| 19288 | }, .{ | ||
| 19289 | -0x5d, 0x2d, 0x55, 0x40, -0x7c, 0x67, 0x61, 0x5f, 0x14, 0x5b, -0x0c, -0x4d, -0x5f, 0x25, 0x36, 0x3c, | ||
| 19290 | -0x75, -0x48, -0x2b, 0x76, -0x57, -0x4a, 0x1d, 0x65, -0x32, 0x18, -0x2a, -0x0a, -0x6e, -0x3c, -0x62, 0x4e, | ||
| 19291 | -0x24, -0x3c, 0x7d, -0x79, -0x1a, -0x14, -0x03, -0x56, 0x7a, 0x5f, 0x64, -0x68, 0x5f, -0x10, -0x63, -0x07, | ||
| 19292 | 0x79, -0x44, 0x47, 0x7d, 0x6e, 0x77, 0x03, -0x4e, 0x67, 0x38, 0x46, -0x44, -0x41, 0x66, -0x16, -0x0a, | ||
| 19293 | }); | ||
| 19294 | try testArgs(@Vector(128, i8), .{ | ||
| 19295 | 0x30, 0x70, -0x2a, -0x29, -0x35, -0x69, -0x18, 0x2b, 0x4a, -0x17, -0x5f, -0x36, 0x34, -0x26, 0x03, -0x2d, | ||
| 19296 | -0x75, -0x27, -0x07, -0x49, -0x58, 0x00, -0x45, 0x5d, -0x11, -0x68, 0x34, 0x73, -0x4d, 0x7f, -0x25, -0x6a, | ||
| 19297 | 0x46, -0x1d, -0x68, 0x04, 0x64, -0x0d, 0x30, 0x27, -0x24, 0x67, 0x3c, -0x7c, -0x2e, -0x24, 0x24, 0x3e, | ||
| 19298 | -0x2c, -0x05, 0x4e, -0x17, 0x6d, 0x57, 0x76, 0x35, -0x3d, 0x51, 0x71, -0x4e, 0x50, 0x26, 0x4a, -0x42, | ||
| 19299 | 0x73, -0x36, -0x5d, 0x2a, 0x55, 0x33, -0x2b, -0x76, 0x08, 0x43, 0x77, -0x73, -0x0a, 0x5c, -0x03, -0x50, | ||
| 19300 | -0x0a, -0x1c, -0x20, 0x3c, -0x7e, 0x60, 0x11, -0x77, 0x25, -0x71, 0x31, 0x2d, -0x4b, -0x26, -0x2a, 0x7f, | ||
| 19301 | -0x1f, 0x23, -0x34, -0x1f, 0x35, 0x0d, 0x3e, 0x76, -0x08, 0x2c, 0x12, 0x3e, -0x09, -0x3e, 0x4b, -0x52, | ||
| 19302 | -0x1a, -0x44, -0x53, -0x41, -0x6d, -0x5e, -0x06, -0x04, 0x3f, -0x2e, 0x01, 0x54, 0x19, -0x5a, -0x62, -0x3a, | ||
| 19303 | }, .{ | ||
| 19304 | 0x42, -0x11, -0x08, -0x64, -0x55, 0x31, 0x27, -0x66, 0x38, 0x5a, 0x25, -0x68, 0x0b, -0x41, -0x0d, 0x60, | ||
| 19305 | -0x17, -0x6d, 0x62, -0x65, -0x5e, -0x1c, -0x35, 0x28, 0x1c, -0x74, -0x7f, -0x1c, 0x3a, 0x4e, 0x05, -0x08, | ||
| 19306 | 0x30, -0x77, 0x03, 0x68, -0x2c, 0x5c, 0x74, 0x6a, -0x21, 0x0a, 0x36, -0x55, 0x21, 0x29, -0x05, 0x70, | ||
| 19307 | 0x23, 0x3b, 0x0a, 0x7a, 0x19, 0x14, 0x65, -0x1d, 0x2b, 0x65, 0x33, 0x2a, 0x52, -0x63, 0x57, 0x10, | ||
| 19308 | -0x1b, 0x26, -0x46, -0x7e, -0x25, 0x79, -0x01, -0x0d, -0x49, -0x4d, 0x74, 0x03, 0x77, 0x16, 0x03, -0x3d, | ||
| 19309 | 0x1c, 0x25, 0x5a, -0x2f, -0x16, -0x5f, -0x36, -0x55, -0x44, -0x0c, -0x0f, 0x7b, -0x15, -0x1d, 0x32, 0x31, | ||
| 19310 | 0x6e, -0x44, -0x4a, -0x64, 0x67, 0x04, 0x47, -0x02, 0x3c, -0x0a, -0x79, 0x3d, 0x48, 0x5a, 0x61, -0x2c, | ||
| 19311 | 0x6d, -0x68, -0x71, -0x6b, -0x11, 0x44, -0x75, -0x55, -0x67, -0x52, 0x64, -0x3d, -0x05, -0x76, -0x6d, -0x44, | ||
| 19312 | }); | ||
| 19313 | |||
| 19314 | try testArgs(@Vector(1, u8), .{ | ||
| 19315 | 0x1f, | ||
| 19316 | }, .{ | ||
| 19317 | 0x06, | ||
| 19318 | }); | ||
| 19319 | try testArgs(@Vector(2, u8), .{ | ||
| 19320 | 0x80, 0x63, | ||
| 19321 | }, .{ | ||
| 19322 | 0xe4, 0x28, | ||
| 19323 | }); | ||
| 19324 | try testArgs(@Vector(4, u8), .{ | ||
| 19325 | 0x83, 0x9e, 0x1e, 0xc1, | ||
| 19326 | }, .{ | ||
| 19327 | 0xf0, 0x5c, 0x46, 0x85, | ||
| 19328 | }); | ||
| 19329 | try testArgs(@Vector(8, u8), .{ | ||
| 19330 | 0x1e, 0x4d, 0x9d, 0x2a, 0x4c, 0x74, 0x0a, 0x83, | ||
| 19331 | }, .{ | ||
| 19332 | 0x28, 0x60, 0xa9, 0xb5, 0xd9, 0xa6, 0xf1, 0xb6, | ||
| 19333 | }); | ||
| 19334 | try testArgs(@Vector(16, u8), .{ | ||
| 19335 | 0xea, 0x80, 0xbb, 0xe8, 0x74, 0x81, 0xc8, 0x66, 0x7b, 0x41, 0x90, 0xcb, 0x30, 0x70, 0x4b, 0x0f, | ||
| 19336 | }, .{ | ||
| 19337 | 0x61, 0x26, 0xbe, 0x47, 0x02, 0x9c, 0x55, 0xa5, 0x59, 0xf0, 0xb2, 0x20, 0x30, 0xaf, 0x82, 0x3e, | ||
| 19338 | }); | ||
| 19339 | try testArgs(@Vector(32, u8), .{ | ||
| 19340 | 0xa1, 0x88, 0xc4, 0xf4, 0x77, 0x0b, 0xf5, 0xbb, 0x09, 0x03, 0xbf, 0xf5, 0xcc, 0x7f, 0x6b, 0x2a, | ||
| 19341 | 0x4c, 0x05, 0x37, 0xc9, 0x8a, 0xcb, 0x91, 0x23, 0x09, 0x5f, 0xb8, 0x99, 0x4a, 0x75, 0x26, 0xe4, | ||
| 19342 | }, .{ | ||
| 19343 | 0xff, 0x0f, 0x99, 0x49, 0xa6, 0x25, 0xa7, 0xd4, 0xc9, 0x2f, 0x97, 0x6a, 0x01, 0xd6, 0x6e, 0x41, | ||
| 19344 | 0xa4, 0xb5, 0x3c, 0x03, 0xea, 0x82, 0x9c, 0x5f, 0xac, 0x07, 0x16, 0x15, 0x1c, 0x64, 0x25, 0x2f, | ||
| 19345 | }); | ||
| 19346 | try testArgs(@Vector(64, u8), .{ | ||
| 19347 | 0xaa, 0x08, 0xeb, 0xb2, 0xd7, 0x89, 0x0f, 0x98, 0xda, 0x9f, 0xa6, 0x4e, 0x3c, 0xce, 0x1b, 0x1b, | ||
| 19348 | 0x9e, 0x5f, 0x2b, 0xd6, 0x59, 0x26, 0x47, 0x05, 0x2a, 0xb7, 0xd1, 0x10, 0xde, 0xd9, 0x84, 0x00, | ||
| 19349 | 0x07, 0xc0, 0xaa, 0x6e, 0xfa, 0x3b, 0x97, 0x85, 0xa8, 0x42, 0xd7, 0xa5, 0x90, 0xe6, 0x10, 0x1a, | ||
| 19350 | 0x47, 0x84, 0xe1, 0x3e, 0xb0, 0x70, 0x26, 0x3f, 0xea, 0x24, 0xb8, 0x5f, 0xe3, 0xe3, 0x4c, 0xed, | ||
| 19351 | }, .{ | ||
| 19352 | 0x3b, 0xc5, 0xe0, 0x3d, 0x4f, 0x2e, 0x1d, 0xa9, 0xf7, 0x7b, 0xc7, 0xc1, 0x48, 0xc6, 0xe5, 0x9e, | ||
| 19353 | 0x4d, 0xa8, 0x21, 0x37, 0xa1, 0x1a, 0x95, 0x69, 0x89, 0x2f, 0x15, 0x07, 0x3d, 0x7b, 0x69, 0x89, | ||
| 19354 | 0xea, 0x87, 0xf0, 0x94, 0x67, 0xf2, 0x3d, 0x04, 0x96, 0x8a, 0xd6, 0x70, 0x7c, 0x16, 0xe7, 0x62, | ||
| 19355 | 0xf0, 0x8d, 0x96, 0x65, 0xd1, 0x4a, 0x35, 0x3e, 0x7a, 0x67, 0xa6, 0x1f, 0x37, 0x66, 0xe3, 0x45, | ||
| 19356 | }); | ||
| 19357 | try testArgs(@Vector(128, u8), .{ | ||
| 19358 | 0xa1, 0xd0, 0x7b, 0xf9, 0x7b, 0x77, 0x7b, 0x3d, 0x2d, 0x68, 0xc2, 0x7b, 0xb0, 0xb8, 0xd4, 0x7c, | ||
| 19359 | 0x1a, 0x1f, 0xd2, 0x92, 0x3e, 0xcb, 0xc1, 0x6b, 0xb9, 0x4d, 0xf1, 0x67, 0x58, 0x8e, 0x77, 0xa6, | ||
| 19360 | 0xb9, 0xdf, 0x10, 0x6f, 0xbe, 0xe3, 0x33, 0xb6, 0x93, 0x77, 0x80, 0xef, 0x09, 0x9d, 0x61, 0x40, | ||
| 19361 | 0xa2, 0xf4, 0x52, 0x18, 0x9d, 0xe4, 0xb0, 0xaf, 0x0a, 0xa7, 0x0b, 0x09, 0x67, 0x38, 0x71, 0x04, | ||
| 19362 | 0x72, 0xa1, 0xd2, 0xfd, 0xf8, 0xf0, 0xa7, 0x23, 0x24, 0x5b, 0x7d, 0xfb, 0x43, 0xba, 0x6c, 0xc4, | ||
| 19363 | 0x83, 0x46, 0x0e, 0x4d, 0x6c, 0x92, 0xab, 0x4f, 0xd2, 0x70, 0x9d, 0xfe, 0xce, 0xf8, 0x05, 0x9f, | ||
| 19364 | 0x98, 0x36, 0x9c, 0x90, 0x9a, 0xd0, 0xb5, 0x76, 0x16, 0xe8, 0x25, 0xc2, 0xbd, 0x91, 0xab, 0xf9, | ||
| 19365 | 0x6f, 0x6c, 0xc5, 0x60, 0xe5, 0x30, 0xf2, 0xb7, 0x59, 0xc4, 0x9c, 0xdd, 0xdf, 0x04, 0x65, 0xd9, | ||
| 19366 | }, .{ | ||
| 19367 | 0xed, 0xe1, 0x8a, 0xf6, 0xf3, 0x8b, 0xfd, 0x1d, 0x3c, 0x87, 0xbf, 0xfe, 0x04, 0x52, 0x15, 0x82, | ||
| 19368 | 0x0b, 0xb0, 0xcf, 0xcf, 0xf8, 0x03, 0x9c, 0xef, 0xc1, 0x76, 0x7e, 0xe3, 0xe9, 0xa8, 0x18, 0x90, | ||
| 19369 | 0xd4, 0xc4, 0x91, 0x15, 0x68, 0x7f, 0x65, 0xd8, 0xe1, 0xb3, 0x23, 0xc2, 0x7d, 0x84, 0x3b, 0xaf, | ||
| 19370 | 0x74, 0x69, 0x07, 0x2a, 0x1b, 0x5f, 0x0e, 0x44, 0x0d, 0x2b, 0x9c, 0x82, 0x41, 0xf9, 0x7f, 0xb5, | ||
| 19371 | 0xc4, 0xd9, 0xcb, 0xd3, 0xc5, 0x31, 0x8b, 0x5f, 0xda, 0x09, 0x9b, 0x29, 0xa3, 0xb7, 0x13, 0x0d, | ||
| 19372 | 0x55, 0x9b, 0x59, 0x33, 0x2a, 0x59, 0x3a, 0x44, 0x1f, 0xd3, 0x40, 0x4e, 0xde, 0x2c, 0xe4, 0x16, | ||
| 19373 | 0xfd, 0xc3, 0x02, 0x74, 0xaa, 0x65, 0xfd, 0xc8, 0x2a, 0x8a, 0xdb, 0xae, 0x44, 0x28, 0x62, 0xa4, | ||
| 19374 | 0x56, 0x4f, 0xf1, 0xaa, 0x0a, 0x0f, 0xdb, 0x1b, 0xc8, 0x45, 0x9b, 0x12, 0xb4, 0x1a, 0xe4, 0xa3, | ||
| 19375 | }); | ||
| 19376 | |||
| 19377 | try testArgs(@Vector(1, i9), .{ | ||
| 19378 | 0x002, | ||
| 19379 | }, .{ | ||
| 19380 | 0x0bd, | ||
| 19381 | }); | ||
| 19382 | try testArgs(@Vector(2, i9), .{ | ||
| 19383 | 0x00c, 0x0b1, | ||
| 19384 | }, .{ | ||
| 19385 | -0x00b, -0x009, | ||
| 19386 | }); | ||
| 19387 | try testArgs(@Vector(4, i9), .{ | ||
| 19388 | 0x0b2, 0x02b, -0x09d, -0x03c, | ||
| 19389 | }, .{ | ||
| 19390 | 0x031, 0x078, 0x016, -0x08a, | ||
| 19391 | }); | ||
| 19392 | try testArgs(@Vector(8, i9), .{ | ||
| 19393 | 0x066, -0x03b, 0x007, 0x054, 0x0a7, 0x0ee, 0x00f, -0x0f8, | ||
| 19394 | }, .{ | ||
| 19395 | 0x01e, 0x0af, 0x047, 0x0d8, 0x002, -0x030, -0x01d, 0x003, | ||
| 19396 | }); | ||
| 19397 | try testArgs(@Vector(16, i9), .{ | ||
| 19398 | 0x0e7, -0x066, 0x079, -0x08d, -0x01a, -0x009, 0x0c8, 0x0c0, -0x070, 0x001, -0x00e, 0x014, -0x0f7, -0x07f, 0x0c8, -0x09a, | ||
| 19399 | }, .{ | ||
| 19400 | 0x0ea, -0x040, -0x045, -0x06d, 0x02c, -0x0b0, -0x0ba, -0x01a, 0x0af, 0x055, -0x015, -0x0fa, 0x0ca, 0x0f4, 0x007, -0x0a0, | ||
| 19401 | }); | ||
| 19402 | try testArgs(@Vector(32, i9), .{ | ||
| 19403 | -0x003, 0x01b, 0x0b6, -0x009, 0x090, 0x047, -0x00b, -0x0f2, 0x0f6, -0x09d, 0x0bf, 0x06a, -0x0e0, 0x03f, 0x007, 0x0a1, | ||
| 19404 | 0x009, -0x0fb, 0x034, 0x0ba, 0x0cb, -0x0c9, -0x0ff, -0x0c1, 0x0d3, 0x029, -0x076, 0x044, 0x0d4, 0x083, -0x002, 0x04e, | ||
| 19405 | }, .{ | ||
| 19406 | -0x0cb, 0x0e3, 0x014, 0x02f, -0x0da, -0x06a, 0x07f, 0x07d, -0x0ea, -0x014, 0x09a, 0x050, 0x017, -0x00d, 0x041, 0x03e, | ||
| 19407 | -0x096, -0x008, 0x075, -0x0bc, 0x0f9, -0x0fc, -0x0a7, 0x0ef, 0x0f9, 0x066, 0x02f, 0x0d3, -0x0f0, -0x04a, -0x100, -0x0c6, | ||
| 19408 | }); | ||
| 19409 | try testArgs(@Vector(64, i9), .{ | ||
| 19410 | -0x016, -0x0ae, 0x08b, -0x0eb, -0x0b2, 0x02f, 0x039, -0x0ba, -0x08d, -0x0a8, -0x0eb, -0x01a, 0x0eb, 0x0ca, -0x049, 0x04e, | ||
| 19411 | -0x019, -0x0d9, -0x0bd, 0x0ae, -0x07d, -0x092, -0x0fb, -0x06c, -0x0e6, 0x0d9, 0x02c, 0x0cc, 0x093, -0x022, 0x07a, -0x093, | ||
| 19412 | 0x0e5, -0x011, -0x003, 0x070, -0x042, -0x0ad, 0x0be, -0x038, -0x0bf, 0x098, 0x090, -0x09e, -0x0a5, -0x0e1, -0x0e2, 0x039, | ||
| 19413 | -0x035, -0x0e5, -0x054, 0x04c, 0x04b, -0x09f, 0x091, -0x039, 0x09b, -0x029, 0x014, -0x0d3, 0x06b, 0x0ae, 0x091, 0x082, | ||
| 19414 | }, .{ | ||
| 19415 | -0x0bb, -0x0ec, 0x0fa, 0x055, 0x06f, 0x011, -0x09d, 0x083, -0x066, 0x014, 0x007, 0x002, -0x0ee, -0x0d9, 0x0c3, -0x087, | ||
| 19416 | 0x03c, -0x065, -0x0cf, -0x075, -0x0c7, -0x0c1, 0x06b, -0x0e3, -0x07a, 0x0b2, -0x0f8, -0x0fa, 0x001, -0x0ba, 0x0c4, 0x0bb, | ||
| 19417 | 0x032, 0x01e, -0x074, -0x058, -0x040, 0x0aa, 0x077, 0x028, -0x061, 0x076, -0x04e, 0x01a, -0x05f, -0x073, 0x0ea, 0x06e, | ||
| 19418 | -0x069, -0x0a1, -0x041, 0x013, -0x01c, -0x0f8, 0x053, 0x0f8, -0x0c3, 0x058, -0x02d, 0x0f1, -0x045, 0x04b, -0x0b1, -0x0f3, | ||
| 19419 | }); | ||
| 19420 | try testArgs(@Vector(128, i9), .{ | ||
| 19421 | 0x0d4, 0x036, 0x0bd, -0x046, -0x0a7, 0x09e, 0x0dd, 0x043, 0x098, -0x09a, -0x06f, 0x0bb, -0x0b7, 0x021, 0x0a3, 0x0f0, | ||
| 19422 | 0x069, -0x08b, 0x0da, 0x016, -0x049, 0x0d0, 0x07b, 0x004, 0x0ad, -0x07c, -0x04e, -0x011, 0x01f, -0x035, 0x028, -0x0c9, | ||
| 19423 | -0x0eb, 0x077, 0x08b, -0x009, 0x024, -0x058, 0x04e, -0x0c0, -0x01d, -0x0a7, 0x088, 0x01b, -0x0f3, -0x0c5, -0x08e, 0x0dc, | ||
| 19424 | 0x07d, 0x086, -0x032, 0x0a9, -0x00c, -0x06a, 0x06c, 0x032, 0x083, 0x0ec, 0x0ec, -0x0a6, 0x029, 0x044, -0x07f, 0x068, | ||
| 19425 | -0x038, 0x0f6, 0x0b5, -0x00d, -0x051, -0x0c6, -0x0af, -0x0eb, -0x0b6, 0x03c, -0x037, 0x0cc, -0x033, 0x08a, -0x0b4, -0x039, | ||
| 19426 | 0x01e, 0x06c, 0x015, -0x081, -0x029, 0x017, -0x080, -0x01e, -0x081, 0x04f, -0x071, -0x073, 0x0c3, 0x079, 0x0ad, 0x087, | ||
| 19427 | -0x072, 0x067, -0x064, -0x0d4, 0x0b4, 0x003, 0x0b1, 0x0bb, 0x0cc, -0x0e9, 0x0e7, 0x015, 0x07b, 0x0e4, -0x0ee, -0x07f, | ||
| 19428 | -0x0bf, 0x0cd, -0x056, 0x0ea, 0x0e5, 0x0fa, 0x0e1, -0x087, 0x0fe, 0x017, 0x071, -0x0d1, -0x053, -0x088, -0x0ef, 0x01b, | ||
| 19429 | }, .{ | ||
| 19430 | 0x0ea, -0x018, 0x0ab, 0x039, 0x0ec, 0x0cc, -0x033, -0x0e6, -0x037, -0x075, -0x055, -0x09a, 0x0bc, 0x099, -0x03c, -0x0b4, | ||
| 19431 | -0x0fe, -0x0ce, 0x0d6, -0x084, 0x08f, 0x04b, 0x0cc, -0x023, 0x01e, -0x09c, 0x058, 0x0f4, -0x0a7, 0x085, -0x049, -0x050, | ||
| 19432 | 0x0f3, -0x036, -0x0fe, 0x070, -0x0a2, -0x081, -0x066, 0x057, -0x017, -0x0c8, 0x070, 0x09b, -0x0e4, -0x03b, -0x0d9, 0x081, | ||
| 19433 | 0x041, 0x0ec, -0x062, 0x0b9, -0x0d2, -0x02a, 0x0ab, 0x072, 0x001, -0x082, -0x0cd, 0x0c8, 0x017, -0x09d, 0x094, -0x027, | ||
| 19434 | 0x09c, 0x024, -0x0ec, 0x02f, 0x066, -0x08e, 0x0ee, 0x099, 0x08e, -0x0e5, -0x094, 0x0bb, 0x02f, -0x0fe, -0x07e, -0x0ad, | ||
| 19435 | 0x05c, 0x066, 0x07e, -0x0a9, 0x0fe, -0x0e3, -0x068, 0x058, -0x007, 0x0d6, -0x0e8, -0x0d6, 0x038, 0x0b8, -0x0b2, 0x0c1, | ||
| 19436 | 0x09a, 0x02f, 0x0d9, 0x07d, 0x0fc, 0x0f7, -0x005, -0x01c, 0x0c2, 0x066, 0x064, -0x096, -0x040, 0x065, -0x00d, -0x063, | ||
| 19437 | 0x031, -0x088, 0x090, -0x077, 0x0e2, 0x0a8, -0x0e0, -0x077, 0x0eb, 0x0c3, -0x0ad, 0x008, 0x04e, -0x095, -0x041, -0x0a6, | ||
| 19438 | }); | ||
| 19439 | |||
| 19440 | try testArgs(@Vector(1, u9), .{ | ||
| 19441 | 0x09e, | ||
| 19442 | }, .{ | ||
| 19443 | 0x171, | ||
| 19444 | }); | ||
| 19445 | try testArgs(@Vector(2, u9), .{ | ||
| 19446 | 0x0bf, 0x042, | ||
| 19447 | }, .{ | ||
| 19448 | 0x154, 0x14b, | ||
| 19449 | }); | ||
| 19450 | try testArgs(@Vector(4, u9), .{ | ||
| 19451 | 0x0a5, 0x1ba, 0x1ef, 0x0b3, | ||
| 19452 | }, .{ | ||
| 19453 | 0x15d, 0x1d3, 0x00e, 0x13b, | ||
| 19454 | }); | ||
| 19455 | try testArgs(@Vector(8, u9), .{ | ||
| 19456 | 0x068, 0x125, 0x1ac, 0x105, 0x0cb, 0x14b, 0x18b, 0x07f, | ||
| 19457 | }, .{ | ||
| 19458 | 0x04a, 0x011, 0x0ad, 0x1d7, 0x1b8, 0x083, 0x16d, 0x052, | ||
| 19459 | }); | ||
| 19460 | try testArgs(@Vector(16, u9), .{ | ||
| 19461 | 0x00e, 0x0b4, 0x0d2, 0x149, 0x012, 0x17d, 0x13f, 0x1cb, 0x0f2, 0x145, 0x098, 0x005, 0x055, 0x141, 0x115, 0x01c, | ||
| 19462 | }, .{ | ||
| 19463 | 0x06c, 0x1da, 0x192, 0x0cf, 0x180, 0x0c2, 0x158, 0x0c6, 0x141, 0x105, 0x168, 0x165, 0x0aa, 0x0d5, 0x0a1, 0x03d, | ||
| 19464 | }); | ||
| 19465 | try testArgs(@Vector(32, u9), .{ | ||
| 19466 | 0x1bd, 0x05b, 0x1e1, 0x03e, 0x18b, 0x1ad, 0x102, 0x1bc, 0x0cd, 0x09f, 0x028, 0x057, 0x0cd, 0x14f, 0x02b, 0x00f, | ||
| 19467 | 0x140, 0x0b3, 0x155, 0x161, 0x1b6, 0x0ae, 0x13f, 0x1a7, 0x1b5, 0x0d4, 0x1f1, 0x1f5, 0x01c, 0x04b, 0x110, 0x0e2, | ||
| 19468 | }, .{ | ||
| 19469 | 0x027, 0x046, 0x00a, 0x035, 0x0ad, 0x10c, 0x010, 0x0ef, 0x096, 0x061, 0x016, 0x0cb, 0x17a, 0x0aa, 0x0d6, 0x1ad, | ||
| 19470 | 0x108, 0x0e3, 0x078, 0x020, 0x145, 0x0fc, 0x109, 0x04e, 0x13b, 0x02b, 0x11c, 0x125, 0x0f0, 0x185, 0x06b, 0x0b2, | ||
| 19471 | }); | ||
| 19472 | try testArgs(@Vector(64, u9), .{ | ||
| 19473 | 0x17b, 0x094, 0x1e8, 0x089, 0x0ec, 0x15d, 0x190, 0x0eb, 0x086, 0x091, 0x132, 0x074, 0x004, 0x142, 0x136, 0x066, | ||
| 19474 | 0x0a1, 0x1dc, 0x1d2, 0x026, 0x11e, 0x1eb, 0x1d5, 0x055, 0x047, 0x116, 0x0b7, 0x14a, 0x1ea, 0x067, 0x1c1, 0x19e, | ||
| 19475 | 0x13e, 0x11a, 0x16d, 0x0a6, 0x1b8, 0x0ef, 0x179, 0x076, 0x13e, 0x118, 0x0a3, 0x04e, 0x10a, 0x1bd, 0x186, 0x170, | ||
| 19476 | 0x172, 0x14f, 0x15e, 0x0f2, 0x1bc, 0x016, 0x189, 0x199, 0x0ee, 0x1ac, 0x0d8, 0x094, 0x19f, 0x0c8, 0x0f2, 0x06a, | ||
| 19477 | }, .{ | ||
| 19478 | 0x096, 0x19f, 0x094, 0x03d, 0x060, 0x164, 0x171, 0x101, 0x1ab, 0x172, 0x14b, 0x177, 0x1d6, 0x10d, 0x193, 0x13e, | ||
| 19479 | 0x1cf, 0x1be, 0x16a, 0x088, 0x0bb, 0x1bf, 0x052, 0x14c, 0x1fa, 0x060, 0x1c7, 0x073, 0x19d, 0x158, 0x1dc, 0x12d, | ||
| 19480 | 0x1c1, 0x15c, 0x10e, 0x16e, 0x1d2, 0x155, 0x0d1, 0x0e1, 0x126, 0x0bd, 0x081, 0x17e, 0x1f9, 0x1aa, 0x1ad, 0x0fe, | ||
| 19481 | 0x0f8, 0x158, 0x0ec, 0x00f, 0x033, 0x053, 0x033, 0x1e4, 0x05b, 0x072, 0x06b, 0x1a3, 0x157, 0x0ed, 0x1c8, 0x01b, | ||
| 19482 | }); | ||
| 19483 | try testArgs(@Vector(128, u9), .{ | ||
| 19484 | 0x13e, 0x0ad, 0x121, 0x0b1, 0x186, 0x0af, 0x058, 0x1b6, 0x16c, 0x0b0, 0x1e4, 0x1a2, 0x1f7, 0x1e1, 0x12c, 0x098, | ||
| 19485 | 0x0a5, 0x138, 0x1dd, 0x1d5, 0x0a0, 0x01e, 0x01e, 0x077, 0x0a9, 0x0f9, 0x12b, 0x153, 0x0bd, 0x0ac, 0x13e, 0x097, | ||
| 19486 | 0x062, 0x064, 0x091, 0x100, 0x0be, 0x196, 0x096, 0x183, 0x18f, 0x006, 0x07f, 0x14c, 0x0ec, 0x028, 0x0cd, 0x09c, | ||
| 19487 | 0x054, 0x0c7, 0x0cf, 0x019, 0x058, 0x0fa, 0x1ec, 0x1c4, 0x0d8, 0x0f7, 0x187, 0x1a5, 0x17f, 0x008, 0x087, 0x199, | ||
| 19488 | 0x1cd, 0x094, 0x100, 0x011, 0x050, 0x09d, 0x05e, 0x1f8, 0x0a7, 0x0a7, 0x0f7, 0x06b, 0x05e, 0x14f, 0x03c, 0x08c, | ||
| 19489 | 0x110, 0x16a, 0x08b, 0x1a3, 0x173, 0x1e0, 0x01a, 0x18a, 0x061, 0x0e8, 0x0d7, 0x0a6, 0x11b, 0x1fa, 0x004, 0x1fe, | ||
| 19490 | 0x045, 0x117, 0x0ab, 0x11a, 0x079, 0x1f6, 0x1bb, 0x0b6, 0x04a, 0x01b, 0x0d5, 0x0a6, 0x15a, 0x088, 0x0fa, 0x180, | ||
| 19491 | 0x0a4, 0x1fa, 0x17b, 0x117, 0x120, 0x110, 0x199, 0x109, 0x171, 0x1cb, 0x1cb, 0x0f3, 0x127, 0x1b2, 0x0e5, 0x152, | ||
| 19492 | }, .{ | ||
| 19493 | 0x137, 0x1c8, 0x1e2, 0x04a, 0x0f9, 0x0a7, 0x1d7, 0x1ba, 0x1a6, 0x035, 0x09b, 0x018, 0x1bd, 0x0fe, 0x08d, 0x029, | ||
| 19494 | 0x0d8, 0x1cc, 0x06f, 0x174, 0x132, 0x02b, 0x188, 0x15f, 0x036, 0x15e, 0x0bc, 0x1bd, 0x1b2, 0x0f1, 0x193, 0x0b7, | ||
| 19495 | 0x192, 0x03d, 0x0df, 0x1b7, 0x087, 0x14a, 0x137, 0x102, 0x117, 0x0de, 0x031, 0x03e, 0x1b0, 0x021, 0x0f4, 0x13e, | ||
| 19496 | 0x148, 0x0a7, 0x19c, 0x11e, 0x0e6, 0x0f1, 0x043, 0x1b3, 0x0c6, 0x1b2, 0x162, 0x098, 0x1c1, 0x0e7, 0x142, 0x032, | ||
| 19497 | 0x00d, 0x196, 0x124, 0x11e, 0x011, 0x19b, 0x023, 0x101, 0x0a1, 0x1ae, 0x03a, 0x0ec, 0x146, 0x020, 0x0c0, 0x0d7, | ||
| 19498 | 0x135, 0x152, 0x0fe, 0x08b, 0x193, 0x147, 0x0bf, 0x1c3, 0x0a2, 0x0c2, 0x0f7, 0x1c5, 0x1fe, 0x0a2, 0x033, 0x1ec, | ||
| 19499 | 0x043, 0x1a9, 0x1f5, 0x151, 0x04d, 0x176, 0x0df, 0x1f4, 0x09f, 0x054, 0x119, 0x0f8, 0x197, 0x0e9, 0x189, 0x196, | ||
| 19500 | 0x083, 0x1bb, 0x19b, 0x1a9, 0x15b, 0x136, 0x192, 0x08f, 0x0ba, 0x166, 0x178, 0x0c2, 0x0d0, 0x1b7, 0x181, 0x1e2, | ||
| 19501 | }); | ||
| 19502 | |||
| 19503 | try testArgs(@Vector(1, i15), .{ | ||
| 19504 | 0x1309, | ||
| 19505 | }, .{ | ||
| 19506 | 0x1422, | ||
| 19507 | }); | ||
| 19508 | try testArgs(@Vector(2, i15), .{ | ||
| 19509 | 0x32e8, 0x3d81, | ||
| 19510 | }, .{ | ||
| 19511 | 0x195c, 0x13e8, | ||
| 19512 | }); | ||
| 19513 | try testArgs(@Vector(4, i15), .{ | ||
| 19514 | -0x3485, 0x2320, -0x1725, 0x1e6e, | ||
| 19515 | }, .{ | ||
| 19516 | 0x2910, 0x3293, 0x3144, -0x3bbc, | ||
| 19517 | }); | ||
| 19518 | try testArgs(@Vector(8, i15), .{ | ||
| 19519 | 0x1c0d, 0x2f06, -0x0e9e, 0x230a, 0x0a7b, 0x19ae, -0x19b6, -0x2ace, | ||
| 19520 | }, .{ | ||
| 19521 | -0x34a3, -0x342a, -0x0aaf, 0x1ece, 0x12fc, 0x0562, 0x0d22, -0x310f, | ||
| 19522 | }); | ||
| 19523 | try testArgs(@Vector(16, i15), .{ | ||
| 19524 | -0x0abb, -0x1bbc, -0x3112, -0x23bf, -0x08b5, -0x1517, 0x1586, 0x06b2, | ||
| 19525 | 0x25ec, 0x3cf1, 0x07ea, 0x3972, 0x09d8, -0x18a6, 0x06dd, -0x1c34, | ||
| 19526 | }, .{ | ||
| 19527 | -0x0ec7, 0x1144, -0x1a94, 0x255f, -0x1fbb, -0x1500, -0x0e4f, 0x0b67, | ||
| 19528 | 0x1352, -0x0d6b, 0x2f3e, -0x086b, -0x19dc, -0x149b, -0x013e, 0x0ce6, | ||
| 19529 | }); | ||
| 19530 | try testArgs(@Vector(32, i15), .{ | ||
| 19531 | -0x330a, -0x0a40, -0x2533, -0x1e99, 0x1aa6, -0x2587, 0x2778, 0x394a, | ||
| 19532 | -0x0383, -0x2fb7, 0x04cf, 0x033a, 0x2bff, 0x3997, -0x112c, 0x3a1a, | ||
| 19533 | 0x1adf, 0x270b, 0x182e, -0x23f6, 0x1a33, 0x2644, -0x0b41, -0x1c48, | ||
| 19534 | 0x1c2d, -0x2a40, 0x007c, 0x1a62, 0x30d9, 0x0e4b, 0x32ee, 0x2b46, | ||
| 19535 | }, .{ | ||
| 19536 | 0x1af0, 0x286f, -0x14fe, 0x2318, 0x002a, -0x26b2, 0x350b, 0x0884, | ||
| 19537 | 0x3011, 0x276a, 0x2b2a, 0x22d3, -0x1ece, 0x0143, 0x2f5b, -0x0fa2, | ||
| 19538 | 0x2412, -0x3d86, -0x3774, -0x09a5, 0x0fbf, 0x32f7, -0x0a23, -0x3d5a, | ||
| 19539 | -0x1523, -0x27c5, 0x097f, 0x2923, 0x3060, 0x113e, -0x0643, -0x1287, | ||
| 19540 | }); | ||
| 19541 | try testArgs(@Vector(64, i15), .{ | ||
| 19542 | 0x0419, 0x1803, -0x3897, 0x2b0c, 0x08a3, -0x39d0, 0x174e, -0x29c6, | ||
| 19543 | 0x0152, -0x1078, 0x1113, 0x23bf, 0x0990, -0x2777, 0x2ba4, -0x058b, | ||
| 19544 | -0x2d4a, -0x23ba, 0x3875, -0x1720, -0x2625, -0x1c8f, 0x1f7c, 0x3f73, | ||
| 19545 | 0x3780, -0x3043, -0x0d8d, 0x2ced, 0x091a, 0x3481, -0x1917, -0x352f, | ||
| 19546 | 0x34c7, 0x322f, -0x20ae, -0x0653, 0x1c82, 0x09a8, -0x1a0b, -0x1dff, | ||
| 19547 | -0x24c2, -0x2592, -0x3ff7, 0x1515, -0x3d32, 0x1e9e, -0x334d, 0x352b, | ||
| 19548 | -0x2439, -0x3d0b, -0x2bcc, -0x2d29, 0x197c, -0x2bad, -0x2682, 0x32cf, | ||
| 19549 | 0x31e4, -0x085c, -0x0c84, -0x2f11, 0x03ba, -0x0111, -0x2634, 0x344f, | ||
| 19550 | }, .{ | ||
| 19551 | 0x011a, 0x186c, -0x2d7e, 0x29b1, 0x2cfb, -0x077b, 0x3e8c, -0x3a62, | ||
| 19552 | 0x3575, 0x35f0, -0x2529, -0x3040, 0x398e, -0x0c56, 0x2aa5, 0x0a72, | ||
| 19553 | -0x0c36, -0x2c53, 0x275b, -0x1155, 0x1a9d, -0x34af, -0x3d4f, 0x14a0, | ||
| 19554 | -0x0b88, 0x0b34, 0x2d60, 0x19ee, -0x0ac4, -0x2f1b, -0x1e20, -0x2d8b, | ||
| 19555 | -0x23f4, 0x0472, 0x1977, -0x33f2, -0x301d, -0x1931, -0x1abe, 0x307f, | ||
| 19556 | -0x2dcb, 0x2e99, 0x0dd1, 0x0377, -0x3f91, -0x3719, 0x0248, 0x3c40, | ||
| 19557 | -0x08d4, -0x2f12, -0x12ee, 0x3bc0, 0x3c4a, 0x1ff3, -0x1096, -0x37e0, | ||
| 19558 | -0x0879, -0x354f, -0x2277, 0x1ced, 0x0833, -0x0f7e, 0x2070, 0x0d81, | ||
| 19559 | }); | ||
| 19560 | |||
| 19561 | try testArgs(@Vector(1, u15), .{ | ||
| 19562 | 0x18c0, | ||
| 19563 | }, .{ | ||
| 19564 | 0x0c85, | ||
| 19565 | }); | ||
| 19566 | try testArgs(@Vector(2, u15), .{ | ||
| 19567 | 0x3697, 0x744b, | ||
| 19568 | }, .{ | ||
| 19569 | 0x60d5, 0x4172, | ||
| 19570 | }); | ||
| 19571 | try testArgs(@Vector(4, u15), .{ | ||
| 19572 | 0x7c31, 0x62c3, 0x7fe9, 0x4a52, | ||
| 19573 | }, .{ | ||
| 19574 | 0x28bf, 0x58a9, 0x09d5, 0x111f, | ||
| 19575 | }); | ||
| 19576 | try testArgs(@Vector(8, u15), .{ | ||
| 19577 | 0x3be1, 0x1928, 0x227e, 0x7ab4, 0x7e26, 0x4761, 0x586a, 0x4665, | ||
| 19578 | }, .{ | ||
| 19579 | 0x11b8, 0x4079, 0x39eb, 0x79d2, 0x7871, 0x5a40, 0x793c, 0x4a66, | ||
| 19580 | }); | ||
| 19581 | try testArgs(@Vector(16, u15), .{ | ||
| 19582 | 0x30fe, 0x6781, 0x6db6, 0x16f7, 0x736f, 0x1dca, 0x122e, 0x4e43, | ||
| 19583 | 0x41d8, 0x5b7a, 0x183b, 0x5036, 0x6a3a, 0x4301, 0x6c05, 0x5e7f, | ||
| 19584 | }, .{ | ||
| 19585 | 0x7dd5, 0x0897, 0x7f63, 0x0375, 0x5d05, 0x74c8, 0x0bc8, 0x6ac2, | ||
| 19586 | 0x5063, 0x335a, 0x283c, 0x452d, 0x6274, 0x2531, 0x1f90, 0x05c3, | ||
| 19587 | }); | ||
| 19588 | try testArgs(@Vector(32, u15), .{ | ||
| 19589 | 0x122d, 0x54a6, 0x7cf1, 0x5b48, 0x47e3, 0x6918, 0x0d81, 0x6074, | ||
| 19590 | 0x06d3, 0x0951, 0x40d8, 0x52db, 0x6258, 0x13fa, 0x3fe0, 0x0cdc, | ||
| 19591 | 0x6c69, 0x4fa8, 0x7bc7, 0x66e7, 0x1417, 0x368a, 0x46fc, 0x1850, | ||
| 19592 | 0x2a1d, 0x2622, 0x3877, 0x524a, 0x64b0, 0x6391, 0x2f16, 0x5b7c, | ||
| 19593 | }, .{ | ||
| 19594 | 0x4c22, 0x7689, 0x57ba, 0x04b5, 0x2720, 0x081e, 0x25e4, 0x3f89, | ||
| 19595 | 0x3065, 0x2d1e, 0x0386, 0x0f0c, 0x740a, 0x5fa5, 0x6b0a, 0x1fda, | ||
| 19596 | 0x2b3c, 0x5e71, 0x77c5, 0x3e29, 0x6a2e, 0x147e, 0x79a1, 0x77f6, | ||
| 19597 | 0x4bdd, 0x7fb1, 0x632c, 0x3898, 0x3dd3, 0x78b3, 0x75b9, 0x4960, | ||
| 19598 | }); | ||
| 19599 | try testArgs(@Vector(64, u15), .{ | ||
| 19600 | 0x2bb1, 0x0225, 0x151a, 0x056c, 0x0655, 0x3f5b, 0x5fea, 0x000a, | ||
| 19601 | 0x4f56, 0x7e08, 0x20b4, 0x4f64, 0x0da1, 0x74a0, 0x11b7, 0x38c7, | ||
| 19602 | 0x7a25, 0x6608, 0x50a7, 0x79b8, 0x5444, 0x4cc4, 0x110d, 0x1cf0, | ||
| 19603 | 0x5a2e, 0x4462, 0x03dc, 0x785a, 0x2d1c, 0x4592, 0x1855, 0x14c6, | ||
| 19604 | 0x2c4d, 0x7ae3, 0x7b45, 0x6cb0, 0x197d, 0x6fcc, 0x269e, 0x6f98, | ||
| 19605 | 0x7527, 0x7895, 0x0259, 0x2b3f, 0x181a, 0x5f50, 0x401d, 0x54d2, | ||
| 19606 | 0x2acc, 0x0aa8, 0x6822, 0x5d64, 0x3459, 0x5823, 0x4e62, 0x395e, | ||
| 19607 | 0x339f, 0x0b56, 0x25b8, 0x0c30, 0x5b3d, 0x7005, 0x0411, 0x074d, | ||
| 19608 | }, .{ | ||
| 19609 | 0x155c, 0x6c07, 0x5880, 0x1766, 0x661b, 0x5cfd, 0x1fb9, 0x67e1, | ||
| 19610 | 0x617c, 0x2bb4, 0x251b, 0x7ace, 0x4940, 0x584b, 0x708c, 0x3849, | ||
| 19611 | 0x0cdb, 0x3204, 0x4667, 0x7bee, 0x3279, 0x4c74, 0x7561, 0x2d6f, | ||
| 19612 | 0x5676, 0x530e, 0x39a1, 0x7c05, 0x1b23, 0x7bd7, 0x25ce, 0x7e97, | ||
| 19613 | 0x56c0, 0x0d59, 0x17f7, 0x6fed, 0x3b0e, 0x7470, 0x52a4, 0x5da3, | ||
| 19614 | 0x17c8, 0x2a51, 0x031f, 0x5879, 0x22bb, 0x674e, 0x3a55, 0x13a2, | ||
| 19615 | 0x1fef, 0x1cd8, 0x5067, 0x6602, 0x3d5b, 0x2f5e, 0x4b7f, 0x6cfc, | ||
| 19616 | 0x197d, 0x5afc, 0x4254, 0x07de, 0x6b37, 0x07d5, 0x4435, 0x0b29, | ||
| 19617 | }); | ||
| 19618 | |||
| 19619 | try testArgs(@Vector(1, i16), .{ | ||
| 19620 | -0x7b9c, | ||
| 19621 | }, .{ | ||
| 19622 | 0x600a, | ||
| 19623 | }); | ||
| 19624 | try testArgs(@Vector(2, i16), .{ | ||
| 19625 | 0x43cc, -0x1421, | ||
| 19626 | }, .{ | ||
| 19627 | -0x2b0e, 0x4d99, | ||
| 19628 | }); | ||
| 19629 | try testArgs(@Vector(4, i16), .{ | ||
| 19630 | 0x558f, 0x6d92, 0x488f, 0x0a04, | ||
| 19631 | }, .{ | ||
| 19632 | -0x01a9, | ||
| 19633 | 0x2ee4, | ||
| 19634 | 0x24a9, | ||
| 19635 | -0x5fee, | ||
| 19636 | }); | ||
| 19637 | try testArgs(@Vector(8, i16), .{ | ||
| 19638 | -0x7e5d, -0x02e4, -0x3a72, -0x2e30, 0x7c87, 0x3ea0, 0x4f02, 0x06e4, | ||
| 19639 | }, .{ | ||
| 19640 | -0x417f, 0x5a13, -0x117b, 0x4c28, -0x3769, -0x56a8, 0x1656, -0x4431, | ||
| 19641 | }); | ||
| 19642 | try testArgs(@Vector(16, i16), .{ | ||
| 19643 | 0x04be, 0x774a, 0x7395, -0x6ca2, -0x21a0, 0x35be, 0x186c, 0x5991, | ||
| 19644 | -0x1a82, 0x4527, -0x2278, -0x3554, 0x42c1, 0x7f53, -0x670d, 0x1fad, | ||
| 19645 | }, .{ | ||
| 19646 | 0x7a7d, 0x47dd, 0x1975, 0x4028, 0x26ef, -0x24f5, -0x77c9, -0x19a5, | ||
| 19647 | -0x4b04, -0x6939, -0x1b8d, 0x3718, -0x78e6, 0x0941, -0x1208, -0x392d, | ||
| 19648 | }); | ||
| 19649 | try testArgs(@Vector(32, i16), .{ | ||
| 19650 | 0x4cde, 0x3ab0, 0x354e, 0x0bc0, -0x5333, 0x4857, -0x7ccf, -0x69da, | ||
| 19651 | 0x6ab8, 0x2bf3, 0x1c5a, 0x7b11, -0x5653, 0x7bc5, 0x497e, -0x0b55, | ||
| 19652 | 0x7aa8, -0x5a8c, -0x6d05, 0x6210, 0x1b64, 0x3f6f, 0x1a02, 0x65e4, | ||
| 19653 | -0x6795, 0x5867, -0x6faf, -0x07cb, -0x762c, -0x7500, 0x1f1c, -0x4348, | ||
| 19654 | }, .{ | ||
| 19655 | 0x72f6, -0x5405, -0x3aac, 0x2857, 0x34cd, -0x1dce, -0x56d8, 0x7150, | ||
| 19656 | -0x6549, 0x61bd, -0x3a9f, -0x1e02, -0x5a5a, -0x7910, -0x166d, 0x7c8e, | ||
| 19657 | -0x5292, -0x6c6e, -0x37e3, 0x1514, 0x1787, 0x58cb, -0x4d99, -0x6c15, | ||
| 19658 | 0x592e, -0x045f, 0x7682, -0x1eef, 0x1fb2, -0x7117, -0x2a17, -0x2d8e, | ||
| 19659 | }); | ||
| 19660 | try testArgs(@Vector(64, i16), .{ | ||
| 19661 | 0x29c3, -0x1b1f, -0x17ce, -0x50d0, -0x5de3, 0x5ffd, 0x184a, -0x7769, | ||
| 19662 | 0x445e, 0x0d8a, 0x7844, -0x757d, 0x2b32, 0x5374, -0x6ab2, -0x71c4, | ||
| 19663 | 0x38f9, 0x347f, 0x2d4c, 0x69a4, -0x2f92, -0x4479, 0x427b, -0x0c5f, | ||
| 19664 | 0x15ae, 0x2c86, 0x1864, -0x0095, 0x6803, -0x3484, 0x1001, -0x0560, | ||
| 19665 | -0x0824, 0x7bf6, 0x7a3c, -0x458a, -0x65cc, -0x54b1, -0x75c6, 0x782e, | ||
| 19666 | 0x35a7, -0x3188, -0x58ba, 0x40d0, -0x4a9c, 0x6b79, 0x1ef5, 0x67a2, | ||
| 19667 | -0x3fb8, 0x1885, -0x093d, -0x4802, 0x0379, 0x2f52, 0x7f1f, 0x256c, | ||
| 19668 | 0x1052, 0x1b3b, -0x6146, 0x7e0d, 0x79ca, -0x79ee, 0x3d58, 0x7482, | ||
| 19669 | }, .{ | ||
| 19670 | -0x0017, -0x3fdd, -0x6f93, 0x6178, 0x5c2b, 0x4eb3, 0x685b, 0x12c8, | ||
| 19671 | 0x0290, -0x34f4, -0x6572, 0x3ab6, -0x3ed1, -0x5e5f, 0x3a90, -0x4540, | ||
| 19672 | -0x2098, 0x6bde, 0x1246, 0x2212, -0x4d6a, -0x2a5a, 0x5cc4, -0x240f, | ||
| 19673 | 0x51b2, 0x5ec0, -0x5b5f, -0x1b6e, -0x57a5, -0x06bd, -0x5132, 0x7889, | ||
| 19674 | 0x2817, 0x6ada, -0x6b46, -0x6a37, -0x6475, -0x5ff4, 0x5a27, 0x1dfa, | ||
| 19675 | 0x6bd6, -0x49da, -0x09bf, -0x7c53, 0x2cd3, -0x6be0, -0x2dca, 0x44bd, | ||
| 19676 | -0x1b95, 0x7680, -0x5bb0, 0x7ad7, -0x1988, 0x149f, 0x631e, -0x1d2d, | ||
| 19677 | 0x632b, 0x55c7, -0x3433, 0x0dde, -0x27a7, 0x560e, -0x2063, 0x4570, | ||
| 19678 | }); | ||
| 19679 | |||
| 19680 | try testArgs(@Vector(1, u16), .{ | ||
| 19681 | 0x9d6f, | ||
| 19682 | }, .{ | ||
| 19683 | 0x44b1, | ||
| 19684 | }); | ||
| 19685 | try testArgs(@Vector(2, u16), .{ | ||
| 19686 | 0xa0fa, 0xc365, | ||
| 19687 | }, .{ | ||
| 19688 | 0xe736, 0xc394, | ||
| 19689 | }); | ||
| 19690 | try testArgs(@Vector(4, u16), .{ | ||
| 19691 | 0x9608, 0xa558, 0x161b, 0x206f, | ||
| 19692 | }, .{ | ||
| 19693 | 0x3088, 0xf25c, 0x7837, 0x9b3f, | ||
| 19694 | }); | ||
| 19695 | try testArgs(@Vector(8, u16), .{ | ||
| 19696 | 0xcf61, 0xb121, 0x3cf1, 0x3e9f, 0x43a7, 0x8d69, 0x96f5, 0xc11e, | ||
| 19697 | }, .{ | ||
| 19698 | 0xee30, 0x82f0, 0x270b, 0x1498, 0x4c60, 0x6e72, 0x0b64, 0x02d4, | ||
| 19699 | }); | ||
| 19700 | try testArgs(@Vector(16, u16), .{ | ||
| 19701 | 0x9191, 0xd23e, 0xf844, 0xd84a, 0xe907, 0xf1e8, 0x712d, 0x90af, | ||
| 19702 | 0x6541, 0x3fa6, 0x92eb, 0xe35a, 0xc0c9, 0xcb47, 0xb790, 0x4453, | ||
| 19703 | }, .{ | ||
| 19704 | 0x21c3, 0x4039, 0x9b71, 0x60bd, 0xcd7f, 0x2ec8, 0x50ba, 0xe810, | ||
| 19705 | 0xebd4, 0x06e5, 0xed18, 0x2f66, 0x7e31, 0xe282, 0xad63, 0xb25e, | ||
| 19706 | }); | ||
| 19707 | try testArgs(@Vector(32, u16), .{ | ||
| 19708 | 0x6b6a, 0x30a9, 0xc267, 0x2231, 0xbf4c, 0x00bc, 0x9c2c, 0x2928, | ||
| 19709 | 0xecad, 0x82df, 0xcfb0, 0xa4e5, 0x909b, 0x1b05, 0xaf40, 0x1fd9, | ||
| 19710 | 0xcec6, 0xd8dc, 0xd4b5, 0x6d59, 0x8e3f, 0x4d8a, 0xb83a, 0x808e, | ||
| 19711 | 0x47e2, 0x5782, 0x59bf, 0xcefc, 0x5179, 0x3f48, 0x93dc, 0x66d2, | ||
| 19712 | }, .{ | ||
| 19713 | 0x1be8, 0xe98c, 0xf9b3, 0xb008, 0x2f8d, 0xf087, 0xc9b9, 0x75aa, | ||
| 19714 | 0xbd16, 0x9540, 0xc5bd, 0x2b2c, 0xd43f, 0x9394, 0x3e1d, 0xf695, | ||
| 19715 | 0x167d, 0xff7a, 0xf09d, 0xdff8, 0xdfa2, 0xc779, 0x70b7, 0x01bd, | ||
| 19716 | 0x46b3, 0x995a, 0xb7bc, 0xa79d, 0x5542, 0x961e, 0x37cd, 0x9c2a, | ||
| 19717 | }); | ||
| 19718 | try testArgs(@Vector(64, u16), .{ | ||
| 19719 | 0x6b87, 0xfd84, 0x436b, 0xe345, 0xfb82, 0x81fc, 0x0992, 0x45f9, | ||
| 19720 | 0x5527, 0x1f6d, 0xda46, 0x6a16, 0xf6e1, 0x8fb7, 0x3619, 0xdfe3, | ||
| 19721 | 0x64ce, 0x8ac6, 0x3ae8, 0x30e3, 0xec3b, 0x4ba7, 0x02a4, 0xa694, | ||
| 19722 | 0x8e68, 0x8f0c, 0x5e30, 0x0e55, 0x6538, 0x9852, 0xea35, 0x7be2, | ||
| 19723 | 0xdabd, 0x57e6, 0x5b38, 0x0fb2, 0x2604, 0x85e7, 0x6595, 0x8de9, | ||
| 19724 | 0x49b1, 0xe9a2, 0x3758, 0xa4d9, 0x505b, 0xc9d3, 0xddc5, 0x9a43, | ||
| 19725 | 0xfd44, 0x50f5, 0x379e, 0x03b6, 0x6375, 0x692f, 0x5586, 0xc717, | ||
| 19726 | 0x94dd, 0xee06, 0xb32d, 0x0bb9, 0x0e35, 0x5f8f, 0x0ba4, 0x19a8, | ||
| 19727 | }, .{ | ||
| 19728 | 0xbeeb, 0x3e54, 0x6486, 0x5167, 0xe432, 0x57cf, 0x9cac, 0x922e, | ||
| 19729 | 0xd2f8, 0x5614, 0x2e7f, 0x19cf, 0x9a07, 0x0524, 0x168f, 0x4464, | ||
| 19730 | 0x4def, 0x83ce, 0x97b4, 0xf269, 0xda5f, 0x28c1, 0x9cc3, 0xfa7c, | ||
| 19731 | 0x25a0, 0x912d, 0x25b2, 0xd60d, 0xcd82, 0x0e03, 0x40cc, 0xc9dc, | ||
| 19732 | 0x18eb, 0xc609, 0xb06d, 0x29e0, 0xf3c7, 0x997b, 0x8ca2, 0xa750, | ||
| 19733 | 0xc9bc, 0x8f0e, 0x3916, 0xd905, 0x94f8, 0x397f, 0x98b5, 0xc61d, | ||
| 19734 | 0x05db, 0x3e7a, 0xf750, 0xe8de, 0x3225, 0x81d9, 0x612e, 0x0a7e, | ||
| 19735 | 0x2c02, 0xff5b, 0x19ca, 0xbbf5, 0x870e, 0xc9ca, 0x47bb, 0xcfcc, | ||
| 19736 | }); | ||
| 19737 | |||
| 19738 | try testArgs(@Vector(1, i17), .{ | ||
| 19739 | 0x0538f, | ||
| 19740 | }, .{ | ||
| 19741 | 0x01de0, | ||
| 19742 | }); | ||
| 19743 | try testArgs(@Vector(2, i17), .{ | ||
| 19744 | 0x0cb5d, 0x00c0b, | ||
| 19745 | }, .{ | ||
| 19746 | -0x0ef1d, -0x0797c, | ||
| 19747 | }); | ||
| 19748 | try testArgs(@Vector(4, i17), .{ | ||
| 19749 | -0x06cbb, 0x08fcd, 0x05d91, -0x05824, | ||
| 19750 | }, .{ | ||
| 19751 | 0x0714b, 0x09218, -0x0c0d8, 0x000dd, | ||
| 19752 | }); | ||
| 19753 | try testArgs(@Vector(8, i17), .{ | ||
| 19754 | 0x0d8db, 0x0c58a, 0x09110, 0x0d637, -0x0a7e5, -0x00bc2, 0x08ffb, -0x0cf79, | ||
| 19755 | }, .{ | ||
| 19756 | 0x0a1ce, 0x0b491, 0x0aff1, -0x0b794, -0x085e7, 0x05c84, 0x040bc, 0x0f21f, | ||
| 19757 | }); | ||
| 19758 | try testArgs(@Vector(16, i17), .{ | ||
| 19759 | -0x0ccb0, -0x04d27, -0x0199e, -0x06dae, 0x0b1a1, 0x05324, -0x0edee, -0x0e52d, | ||
| 19760 | 0x042d2, 0x06121, 0x0241f, 0x06833, 0x0a33b, 0x0f526, 0x0671a, 0x0c2a3, | ||
| 19761 | }, .{ | ||
| 19762 | 0x02be2, -0x08589, 0x0d95c, -0x001cc, -0x03183, 0x08c1a, -0x001db, 0x07604, | ||
| 19763 | 0x08d92, 0x094ad, -0x08aa5, -0x0b495, -0x0d6cd, -0x0dff1, -0x027f1, -0x0214e, | ||
| 19764 | }); | ||
| 19765 | try testArgs(@Vector(32, i17), .{ | ||
| 19766 | 0x01222, 0x022bc, 0x042df, 0x02205, -0x06de8, -0x0aaaf, 0x0fa4c, -0x0c708, | ||
| 19767 | -0x06edd, -0x0acbe, 0x0b01f, 0x003f5, -0x0b82a, 0x0a189, -0x04f4b, 0x02122, | ||
| 19768 | -0x0debd, -0x0b05f, 0x091b6, -0x074ff, 0x054e5, -0x03355, 0x08ab0, 0x0c3c8, | ||
| 19769 | -0x0f488, -0x04304, -0x0168e, -0x0224a, -0x0cbaa, 0x0ac99, -0x0f096, 0x0e064, | ||
| 19770 | }, .{ | ||
| 19771 | 0x0d1c0, 0x02f93, 0x0e28c, 0x0862d, -0x09e1e, -0x02247, -0x01b56, 0x06633, | ||
| 19772 | 0x0fdcc, -0x0731f, 0x0e084, 0x0b865, 0x089ac, -0x09e31, 0x0c730, 0x0af1d, | ||
| 19773 | 0x0c9b2, -0x0bbbd, -0x0f0a4, -0x0aba7, 0x0e593, -0x02c83, -0x04e28, 0x0f375, | ||
| 19774 | -0x0e805, 0x0390f, 0x042a3, -0x02aed, 0x03a5a, 0x070d3, -0x0ed6a, 0x02b14, | ||
| 19775 | }); | ||
| 19776 | try testArgs(@Vector(64, i17), .{ | ||
| 19777 | 0x0be66, 0x0e4fb, -0x0b918, -0x029b8, 0x019e8, 0x00621, 0x0e380, 0x040f6, | ||
| 19778 | -0x0d095, 0x0b4d8, -0x0a3ad, -0x0eaf2, 0x03bd3, 0x0635c, 0x02444, -0x0830f, | ||
| 19779 | 0x01239, -0x037ed, -0x071d1, 0x057e7, -0x02cdb, 0x0504c, 0x0612c, -0x005bf, | ||
| 19780 | -0x04793, 0x03909, 0x0061c, -0x06423, 0x040d6, 0x0bc6a, -0x09204, 0x0e890, | ||
| 19781 | 0x04b98, 0x00257, 0x0dc85, -0x0af2b, -0x0a1e7, 0x04ff6, 0x0b680, -0x07c61, | ||
| 19782 | -0x0eaff, -0x0da01, -0x04b21, -0x0088d, 0x068a8, 0x06b52, -0x0d619, -0x09344, | ||
| 19783 | -0x09b96, 0x0b81e, 0x04df8, -0x012f6, -0x0c3bd, 0x067cc, -0x0fa47, -0x05e93, | ||
| 19784 | 0x07d29, 0x00d87, 0x0de1f, 0x0d24f, -0x0aede, -0x03414, -0x09a6c, 0x094dc, | ||
| 19785 | }, .{ | ||
| 19786 | 0x03d8e, -0x0f297, -0x0d810, 0x05b8e, -0x0630e, -0x0656f, 0x02f56, 0x0190b, | ||
| 19787 | 0x0a1e6, -0x0783a, -0x00bde, 0x01bb2, -0x093a5, -0x02b3f, 0x0198c, 0x0cc55, | ||
| 19788 | 0x04ec1, -0x0ed31, -0x00a80, -0x0be6d, 0x0712b, 0x0451b, 0x067a4, 0x061cd, | ||
| 19789 | 0x0e799, -0x06c74, -0x09b05, 0x0dc73, -0x0a87d, -0x0cf60, -0x00f07, 0x0b101, | ||
| 19790 | 0x06d5b, 0x09d61, -0x01092, 0x002ee, 0x0f192, 0x0024b, 0x04778, 0x06d05, | ||
| 19791 | -0x0e460, 0x08524, -0x0ba27, -0x0611e, -0x0d944, -0x0a3de, -0x0c278, 0x015e5, | ||
| 19792 | 0x071fe, 0x016d5, -0x076e2, -0x035d8, 0x02763, -0x0676f, -0x0a9aa, -0x0ab0b, | ||
| 19793 | 0x012de, -0x00d05, 0x0f528, 0x07837, 0x0fc4e, -0x06304, 0x0616f, -0x0b10d, | ||
| 19794 | }); | ||
| 19795 | |||
| 19796 | try testArgs(@Vector(1, u17), .{ | ||
| 19797 | 0x17ba6, | ||
| 19798 | }, .{ | ||
| 19799 | 0x1ac3a, | ||
| 19800 | }); | ||
| 19801 | try testArgs(@Vector(2, u17), .{ | ||
| 19802 | 0x1d26d, 0x18548, | ||
| 19803 | }, .{ | ||
| 19804 | 0x0c0eb, 0x1bbc8, | ||
| 19805 | }); | ||
| 19806 | try testArgs(@Vector(4, u17), .{ | ||
| 19807 | 0x1a01c, 0x12671, 0x175cc, 0x0ed36, | ||
| 19808 | }, .{ | ||
| 19809 | 0x141d6, 0x1b2bc, 0x1c2b9, 0x1eb18, | ||
| 19810 | }); | ||
| 19811 | try testArgs(@Vector(8, u17), .{ | ||
| 19812 | 0x0cb1b, 0x0f5ce, 0x1eba1, 0x04fdc, 0x0510f, 0x02c4c, 0x09310, 0x132df, | ||
| 19813 | }, .{ | ||
| 19814 | 0x1b732, 0x0b446, 0x048a7, 0x04c58, 0x03a0b, 0x19346, 0x07688, 0x1d4d5, | ||
| 19815 | }); | ||
| 19816 | try testArgs(@Vector(16, u17), .{ | ||
| 19817 | 0x1e6a3, 0x0eae5, 0x1065a, 0x18766, 0x1b70a, 0x1605b, 0x18256, 0x1e254, | ||
| 19818 | 0x0d926, 0x0f023, 0x1d9de, 0x14549, 0x051dd, 0x1e89e, 0x0baba, 0x00f38, | ||
| 19819 | }, .{ | ||
| 19820 | 0x1e050, 0x0f727, 0x1dfef, 0x151a6, 0x05593, 0x04a79, 0x1c54c, 0x147b6, | ||
| 19821 | 0x07173, 0x0480b, 0x094a6, 0x105ce, 0x0540c, 0x19d78, 0x15501, 0x1133a, | ||
| 19822 | }); | ||
| 19823 | try testArgs(@Vector(32, u17), .{ | ||
| 19824 | 0x0d98a, 0x1c869, 0x12b2b, 0x1fc00, 0x00b1b, 0x1c7b9, 0x09dd0, 0x1b560, | ||
| 19825 | 0x1f409, 0x18cdf, 0x04275, 0x07da6, 0x069e5, 0x12aa8, 0x0513a, 0x0dea5, | ||
| 19826 | 0x00df4, 0x1f8da, 0x0df92, 0x07885, 0x1c4d7, 0x14e64, 0x09648, 0x040cb, | ||
| 19827 | 0x04fc6, 0x122cb, 0x1022d, 0x1bbd5, 0x0fd59, 0x1978f, 0x17d5a, 0x06299, | ||
| 19828 | }, .{ | ||
| 19829 | 0x0086f, 0x023b6, 0x0d964, 0x0e90b, 0x1bd4b, 0x18f58, 0x09f26, 0x0a831, | ||
| 19830 | 0x00c03, 0x03ad1, 0x01c05, 0x1aded, 0x1d300, 0x12529, 0x14124, 0x1e684, | ||
| 19831 | 0x1b40d, 0x09328, 0x1a3b6, 0x1e492, 0x00f2a, 0x13b51, 0x1606e, 0x1d7f1, | ||
| 19832 | 0x0a5e6, 0x04172, 0x1aaea, 0x1e96f, 0x1c3ae, 0x11494, 0x06aac, 0x01dee, | ||
| 19833 | }); | ||
| 19834 | try testArgs(@Vector(64, u17), .{ | ||
| 19835 | 0x1b753, 0x10620, 0x0c1de, 0x1fa10, 0x118bf, 0x0a549, 0x06b32, 0x095dc, | ||
| 19836 | 0x177a2, 0x0aee7, 0x0f2cf, 0x118e0, 0x0b694, 0x0f270, 0x00917, 0x0048c, | ||
| 19837 | 0x1d903, 0x1de14, 0x10aa2, 0x06885, 0x1bba1, 0x0a5c5, 0x19373, 0x01355, | ||
| 19838 | 0x153f9, 0x18b94, 0x0e8a3, 0x0cc07, 0x0a014, 0x0f9ed, 0x02d95, 0x18388, | ||
| 19839 | 0x01de4, 0x0c8fa, 0x15858, 0x0ff57, 0x1fc97, 0x18d83, 0x11836, 0x0f136, | ||
| 19840 | 0x0d4e3, 0x1742d, 0x09f22, 0x088cf, 0x134f8, 0x1b9a8, 0x11fd2, 0x18428, | ||
| 19841 | 0x17411, 0x146e1, 0x0edea, 0x1d57d, 0x04059, 0x18b93, 0x10fc8, 0x01cd7, | ||
| 19842 | 0x12d54, 0x0cb27, 0x04fc3, 0x0d479, 0x0202c, 0x0cfab, 0x11e82, 0x000e7, | ||
| 19843 | }, .{ | ||
| 19844 | 0x0122f, 0x06698, 0x0c704, 0x012de, 0x0e36c, 0x0d81b, 0x00d34, 0x10ad6, | ||
| 19845 | 0x1f156, 0x00fca, 0x1f869, 0x1d14b, 0x13165, 0x1e11e, 0x1e60c, 0x00d18, | ||
| 19846 | 0x164bf, 0x1881f, 0x18a59, 0x14f13, 0x04ef2, 0x0e2a7, 0x021b0, 0x15884, | ||
| 19847 | 0x1ac75, 0x19969, 0x1353d, 0x073ec, 0x190ef, 0x1c777, 0x14b19, 0x12e43, | ||
| 19848 | 0x1b93f, 0x06daf, 0x02a1f, 0x1a801, 0x0facc, 0x132db, 0x13fb2, 0x00791, | ||
| 19849 | 0x11f11, 0x0ebc1, 0x0a376, 0x10e6d, 0x0321c, 0x154d7, 0x01180, 0x0cce1, | ||
| 19850 | 0x1a449, 0x0383b, 0x0d5bb, 0x0e5dd, 0x07e94, 0x08f78, 0x1c681, 0x1a146, | ||
| 19851 | 0x170db, 0x0da34, 0x1bd7f, 0x07a96, 0x0a017, 0x0b946, 0x0f98a, 0x0e9e5, | ||
| 19852 | }); | ||
| 19853 | |||
| 19854 | try testArgs(@Vector(1, i31), .{ | ||
| 19855 | 0x2b94a60e, | ||
| 19856 | }, .{ | ||
| 19857 | 0x20451023, | ||
| 19858 | }); | ||
| 19859 | try testArgs(@Vector(2, i31), .{ | ||
| 19860 | 0x21d4d18c, -0x1f73454a, | ||
| 19861 | }, .{ | ||
| 19862 | -0x18dcc667, -0x2e81b7f1, | ||
| 19863 | }); | ||
| 19864 | try testArgs(@Vector(4, i31), .{ | ||
| 19865 | -0x1d8f56b6, -0x2beae9b1, 0x3d488b10, -0x14ce8669, | ||
| 19866 | }, .{ | ||
| 19867 | -0x03a922a5, -0x0ea0c434, -0x029db0c1, -0x3b8d64f3, | ||
| 19868 | }); | ||
| 19869 | try testArgs(@Vector(8, i31), .{ | ||
| 19870 | 0x0ffaa22c, 0x15914f94, -0x20cec195, -0x35e7b06a, | ||
| 19871 | -0x1d212622, -0x2bb576e4, -0x0dede257, 0x1cc1066e, | ||
| 19872 | }, .{ | ||
| 19873 | -0x178ffdb4, -0x10934a93, 0x08c3b058, -0x1579a89f, | ||
| 19874 | 0x2340c302, 0x00280e85, -0x38983c31, 0x0349891e, | ||
| 19875 | }); | ||
| 19876 | try testArgs(@Vector(16, i31), .{ | ||
| 19877 | -0x11bc6f72, 0x1ca1ca00, 0x0b49c711, -0x07fd7d21, | ||
| 19878 | 0x20ab59d2, -0x07f45e94, -0x0d33151d, 0x065b8bff, | ||
| 19879 | 0x2231354e, 0x21ff00a7, -0x35061bb0, -0x1135899e, | ||
| 19880 | 0x2ed1c690, -0x1c1b598f, -0x19157726, -0x11c4d2c7, | ||
| 19881 | }, .{ | ||
| 19882 | 0x304dbbfb, -0x3e59fd39, 0x1029151a, -0x1e4d2063, | ||
| 19883 | -0x3e164c14, -0x35fb3d09, -0x22070b0d, 0x1b730749, | ||
| 19884 | 0x380ae142, 0x357f1b30, -0x17ccaa0d, -0x32cd12b4, | ||
| 19885 | 0x305256f7, -0x298ce473, 0x244faaf4, 0x23450241, | ||
| 19886 | }); | ||
| 19887 | try testArgs(@Vector(32, i31), .{ | ||
| 19888 | -0x2e3a0d66, -0x0df709be, 0x3bfd8b3f, 0x2a4f2d06, | ||
| 19889 | -0x2b7ea7af, -0x28016bef, -0x34a3b4f9, -0x2dfdded7, | ||
| 19890 | 0x357e8c45, 0x0434b6b9, 0x28a3c5f9, 0x2d5b9944, | ||
| 19891 | 0x316614a1, 0x0c12a228, 0x0422665d, 0x33c0dec9, | ||
| 19892 | 0x0a7ede17, -0x02e88ae9, -0x39e76560, 0x1e4b90af, | ||
| 19893 | 0x0a1527bb, 0x3a9f0405, 0x163b6eae, -0x3ff84429, | ||
| 19894 | 0x1eb85fcc, 0x265f1f44, 0x2536ec34, -0x30c952a2, | ||
| 19895 | -0x1f7864e5, 0x033737cd, -0x20b5718a, -0x0aad3a2f, | ||
| 19896 | }, .{ | ||
| 19897 | -0x2455af85, 0x210b1040, 0x39915c7d, 0x2d56c08e, | ||
| 19898 | 0x1f318b8d, -0x1e125926, -0x3faaabbb, -0x254d4da5, | ||
| 19899 | -0x1b2ded0f, -0x27fa4874, 0x02c0d73b, 0x123e9344, | ||
| 19900 | 0x0351c023, 0x14cca255, -0x2072b9d7, 0x1e624059, | ||
| 19901 | -0x07d014a1, 0x2eda3228, -0x300ff9b4, 0x333f25ad, | ||
| 19902 | -0x3c653e21, 0x04b4a50e, -0x20f17e80, 0x29063cd1, | ||
| 19903 | 0x2d52f6ad, -0x0b2cdb6b, -0x2e4c9778, 0x303ded7c, | ||
| 19904 | 0x397162ee, -0x2aa6708b, -0x0ef146b4, 0x04f36039, | ||
| 19905 | }); | ||
| 19906 | |||
| 19907 | try testArgs(@Vector(1, u31), .{ | ||
| 19908 | 0x3ed1fb2d, | ||
| 19909 | }, .{ | ||
| 19910 | 0x1b75c3fd, | ||
| 19911 | }); | ||
| 19912 | try testArgs(@Vector(2, u31), .{ | ||
| 19913 | 0x38754d45, 0x04a454d9, | ||
| 19914 | }, .{ | ||
| 19915 | 0x7d06646d, 0x228e6c44, | ||
| 19916 | }); | ||
| 19917 | try testArgs(@Vector(4, u31), .{ | ||
| 19918 | 0x725a3790, 0x43680c3d, 0x058a6acf, 0x76172c1c, | ||
| 19919 | }, .{ | ||
| 19920 | 0x77fa9932, 0x7354fc00, 0x1756db7a, 0x559bf7c1, | ||
| 19921 | }); | ||
| 19922 | try testArgs(@Vector(8, u31), .{ | ||
| 19923 | 0x375a41f8, 0x761db971, 0x1c633348, 0x556c2682, | ||
| 19924 | 0x2478e967, 0x4fc61f7d, 0x0b0c0fbc, 0x3989659e, | ||
| 19925 | }, .{ | ||
| 19926 | 0x2cd6c7c1, 0x518c1da4, 0x2a52dd59, 0x0a9165dd, | ||
| 19927 | 0x5f2a31fd, 0x04dd2dba, 0x6eb0e7f6, 0x078c7a78, | ||
| 19928 | }); | ||
| 19929 | try testArgs(@Vector(16, u31), .{ | ||
| 19930 | 0x4d4ae18f, 0x3f131977, 0x337240bd, 0x4461dafc, | ||
| 19931 | 0x36bf5c5f, 0x527cca5e, 0x788a765b, 0x51da84b2, | ||
| 19932 | 0x58afe262, 0x289694c8, 0x7f3dc333, 0x05f123e9, | ||
| 19933 | 0x49182e11, 0x05ec0bb8, 0x0a760c6a, 0x4e74999f, | ||
| 19934 | }, .{ | ||
| 19935 | 0x107f6e90, 0x38d44d8e, 0x4b3adb3c, 0x7d6c21c0, | ||
| 19936 | 0x3ec0863b, 0x72422c85, 0x45e72de4, 0x07fc07d3, | ||
| 19937 | 0x7e30044d, 0x3ee5687d, 0x34037d8f, 0x1f3e1e71, | ||
| 19938 | 0x77aec6b0, 0x02db5151, 0x697fe49b, 0x49f9ad57, | ||
| 19939 | }); | ||
| 19940 | try testArgs(@Vector(32, u31), .{ | ||
| 19941 | 0x3b815f8c, 0x01c443d3, 0x22f036bf, 0x3d86e477, | ||
| 19942 | 0x3f631301, 0x51df4ff2, 0x7edd9a1c, 0x1b8d97fc, | ||
| 19943 | 0x7758837d, 0x23944d5a, 0x6b6fe951, 0x1cea3c27, | ||
| 19944 | 0x27033a47, 0x00b7643b, 0x407e47c9, 0x6004a994, | ||
| 19945 | 0x2efac78c, 0x22720791, 0x4308438b, 0x7776b2be, | ||
| 19946 | 0x139db08a, 0x4d9068a5, 0x4e26c811, 0x5e05d0a0, | ||
| 19947 | 0x0a651f83, 0x7f7a1fcc, 0x6b0f3eb0, 0x3467ea73, | ||
| 19948 | 0x4827410b, 0x3e48eece, 0x73a3abf5, 0x212b7737, | ||
| 19949 | }, .{ | ||
| 19950 | 0x13031751, 0x08fb38ec, 0x4aff2c4e, 0x25046a42, | ||
| 19951 | 0x0e9e35bf, 0x27349249, 0x54067ba1, 0x5a229b53, | ||
| 19952 | 0x6e68895f, 0x74f3d476, 0x6584d407, 0x0ef73f77, | ||
| 19953 | 0x2473e0ce, 0x3b936b7c, 0x2cf9dd51, 0x7100aa6b, | ||
| 19954 | 0x6dca745e, 0x739f6346, 0x32407063, 0x40de144d, | ||
| 19955 | 0x3dc73803, 0x3afedeab, 0x56cbbfe7, 0x4273c6db, | ||
| 19956 | 0x7b2eeb85, 0x6bf11881, 0x4e8148c7, 0x7b8daec4, | ||
| 19957 | 0x75c63050, 0x0001d08d, 0x7f14dd77, 0x13f23338, | ||
| 19958 | }); | ||
| 19959 | |||
| 19960 | try testArgs(@Vector(1, i32), .{ | ||
| 19961 | 0x7aef7b1e, | ||
| 19962 | }, .{ | ||
| 19963 | 0x60310858, | ||
| 19964 | }); | ||
| 19965 | try testArgs(@Vector(2, i32), .{ | ||
| 19966 | -0x21910ac9, 0x669f37ef, | ||
| 19967 | }, .{ | ||
| 19968 | 0x1a2a1681, 0x003b1fdf, | ||
| 19969 | }); | ||
| 19970 | try testArgs(@Vector(4, i32), .{ | ||
| 19971 | 0x7906cf0d, 0x4818a45f, -0x0a2833b6, 0x51a018c9, | ||
| 19972 | }, .{ | ||
| 19973 | -0x05a3e6a7, -0x47f4a500, 0x50d1141f, -0x264c85c2, | ||
| 19974 | }); | ||
| 19975 | try testArgs(@Vector(8, i32), .{ | ||
| 19976 | 0x7566235a, -0x7720144f, -0x7d4f5489, 0x3cd736c8, | ||
| 19977 | -0x77388801, 0x4e7f955a, 0x4cdf52bc, 0x50b0b53f, | ||
| 19978 | }, .{ | ||
| 19979 | 0x00ed6fc5, 0x37320361, 0x70c563c2, -0x09acb495, | ||
| 19980 | 0x0688e83f, 0x797295c4, -0x23bfbfdb, 0x38552096, | ||
| 19981 | }); | ||
| 19982 | try testArgs(@Vector(16, i32), .{ | ||
| 19983 | -0x0214589d, 0x74a7537f, 0x7a7dcb26, 0x3e2e4c44, | ||
| 19984 | -0x23bfc358, 0x60e8ef18, 0x5524a7bc, -0x3d88c153, | ||
| 19985 | -0x7dc8ff0f, 0x6e2698f6, 0x05641ab8, -0x45e9e405, | ||
| 19986 | -0x7c1a04d0, -0x4a8d1e91, 0x41d56723, 0x4ba924ab, | ||
| 19987 | }, .{ | ||
| 19988 | -0x528dc756, -0x6bc217f4, 0x40789b06, 0x65f08d3a, | ||
| 19989 | -0x077140ea, -0x43bdaa79, 0x5d98f4e7, -0x2356a1ca, | ||
| 19990 | -0x36ef2b49, -0x7cd09b06, 0x71c8176e, 0x5b005860, | ||
| 19991 | 0x6ce8cfab, -0x49fd7609, 0x6cbb4e33, 0x6c7c121d, | ||
| 19992 | }); | ||
| 19993 | try testArgs(@Vector(32, i32), .{ | ||
| 19994 | 0x7d22905d, -0x354e4bbe, -0x68662618, -0x246e1858, | ||
| 19995 | -0x1c4285a9, -0x0338059c, -0x60f5bbf4, -0x04f06917, | ||
| 19996 | -0x55f837b6, -0x2fba5fe3, 0x092aabf4, -0x5f533b31, | ||
| 19997 | 0x6e81a558, -0x7bcac358, 0x6c4d8d04, 0x3e2f9852, | ||
| 19998 | -0x78589b1a, -0x68a00fd4, -0x77d55e25, 0x7f79b51c, | ||
| 19999 | -0x66b88f45, 0x7f6dc8a5, -0x27299a82, -0x426c8e1c, | ||
| 20000 | 0x0c288f16, 0x158f8c3f, 0x26708be1, -0x0b73626e, | ||
| 20001 | -0x32df1bee, 0x196330f4, -0x68bb9529, -0x26376ab6, | ||
| 20002 | }, .{ | ||
| 20003 | 0x63bd0bd4, 0x4e507611, -0x5e5222b8, -0x35d8e114, | ||
| 20004 | 0x1feab77b, -0x20de7dfd, -0x0ed0b09f, -0x7fc3d585, | ||
| 20005 | -0x2d3018e9, -0x261d431b, 0x54451864, 0x1415288f, | ||
| 20006 | -0x3ab89593, -0x7060e4c1, -0x54fcd501, -0x26324630, | ||
| 20007 | 0x53fc8294, 0x2d4aceef, -0x4ac8efd2, -0x2fec97b7, | ||
| 20008 | -0x4de3a2fc, 0x2269fe52, -0x58c8b473, -0x21026285, | ||
| 20009 | -0x23438776, 0x3d5c8c41, -0x1fc946b2, -0x161c7005, | ||
| 20010 | 0x44913ff1, -0x76e2bfaa, -0x54636350, -0x6ec53870, | ||
| 20011 | }); | ||
| 20012 | |||
| 20013 | try testArgs(@Vector(1, u32), .{ | ||
| 20014 | 0x1d0d9cc4, | ||
| 20015 | }, .{ | ||
| 20016 | 0xce2d0ab6, | ||
| 20017 | }); | ||
| 20018 | try testArgs(@Vector(2, u32), .{ | ||
| 20019 | 0x5ab78c03, 0xd21bb513, | ||
| 20020 | }, .{ | ||
| 20021 | 0x8a6664eb, 0x79eac37d, | ||
| 20022 | }); | ||
| 20023 | try testArgs(@Vector(4, u32), .{ | ||
| 20024 | 0x234d576e, 0x4151cc9c, 0x39f558e4, 0xba935a32, | ||
| 20025 | }, .{ | ||
| 20026 | 0x398f2a9d, 0x4540f093, 0x9225551c, 0x3bac865b, | ||
| 20027 | }); | ||
| 20028 | try testArgs(@Vector(8, u32), .{ | ||
| 20029 | 0xb8336635, 0x2fc3182c, 0x27a00123, 0x71587fbe, | ||
| 20030 | 0x9cbc65d2, 0x6f4bb0e6, 0x362594ce, 0x9971df38, | ||
| 20031 | }, .{ | ||
| 20032 | 0x5727e734, 0x972b0313, 0xff25f5dc, 0x924f8e55, | ||
| 20033 | 0x04920a61, 0xa1c3b334, 0xf52df4b6, 0x5ef72ecc, | ||
| 20034 | }); | ||
| 20035 | try testArgs(@Vector(16, u32), .{ | ||
| 20036 | 0xfb566f9e, 0x9ad4691a, 0x5b5f9ec0, 0x5a572d2a, | ||
| 20037 | 0x8f2f226b, 0x2dfc7e33, 0x9fb07e32, 0x9d672a2e, | ||
| 20038 | 0xbedc3cee, 0x6872428d, 0xbc73a9fd, 0xd4d5f055, | ||
| 20039 | 0x69c1e9ee, 0x65038deb, 0x1449061a, 0x48412ec2, | ||
| 20040 | }, .{ | ||
| 20041 | 0x96cbe946, 0x3f24f60b, 0xaeacdc53, 0x7611a8b4, | ||
| 20042 | 0x031a67a8, 0x52a26828, 0x75646f4b, 0xb75902c3, | ||
| 20043 | 0x1f881f08, 0x834e02a4, 0x5e5b40eb, 0xc75c264d, | ||
| 20044 | 0xa8251e09, 0x28e46bbd, 0x12cb1f31, 0x9a2af615, | ||
| 20045 | }); | ||
| 20046 | try testArgs(@Vector(32, u32), .{ | ||
| 20047 | 0x131bbb7b, 0xa7311026, 0x9d5e59a0, 0x99b090d6, | ||
| 20048 | 0xfe969e2e, 0x04547697, 0x357d3250, 0x43be6d7a, | ||
| 20049 | 0x16ecf5c5, 0xf60febcc, 0x1d1e2602, 0x138a96d2, | ||
| 20050 | 0x9117ba72, 0x9f185b32, 0xc10e23fd, 0x3e6b7fd8, | ||
| 20051 | 0x4dc9be70, 0x2ee30047, 0xaffeab60, 0x7172d362, | ||
| 20052 | 0x6154bfcf, 0x5388dc3e, 0xd6e5a76e, 0x8b782f2d, | ||
| 20053 | 0xacbef4a2, 0x843aca71, 0x25d8ab5c, 0xe1a63a39, | ||
| 20054 | 0xc26212e5, 0x0847b84b, 0xb53541e5, 0x0c8e44db, | ||
| 20055 | }, .{ | ||
| 20056 | 0x4ad92822, 0x715b623f, 0xa5bed8a7, 0x937447a9, | ||
| 20057 | 0x7ecb38eb, 0x0a2f3dfc, 0x96f467a2, 0xec882793, | ||
| 20058 | 0x41a8707f, 0xf7310656, 0x76217b80, 0x2058e5fc, | ||
| 20059 | 0x26682154, 0x87313e31, 0x4bdc480a, 0x193572ff, | ||
| 20060 | 0x60b03c75, 0x0fe45908, 0x56c73703, 0xdb86554c, | ||
| 20061 | 0xdda2dd7d, 0x34371b27, 0xe4e6ad50, 0x422d1828, | ||
| 20062 | 0x1de3801b, 0xdce268d3, 0x20af9ec8, 0x188a591f, | ||
| 20063 | 0xf080e943, 0xc8718d14, 0x3f920382, 0x18d101b5, | ||
| 20064 | }); | ||
| 20065 | |||
| 20066 | try testArgs(@Vector(1, i33), .{ | ||
| 20067 | 0x0a9a3088e, | ||
| 20068 | }, .{ | ||
| 20069 | 0x06c76b26e, | ||
| 20070 | }); | ||
| 20071 | try testArgs(@Vector(2, i33), .{ | ||
| 20072 | 0x0a9bd1d56, 0x05b0b9015, | ||
| 20073 | }, .{ | ||
| 20074 | -0x05af6217c, 0x0227b5d3a, | ||
| 20075 | }); | ||
| 20076 | try testArgs(@Vector(4, i33), .{ | ||
| 20077 | -0x0405ee2ea, -0x0ff2c72eb, 0x0817f6727, 0x09093b663, | ||
| 20078 | }, .{ | ||
| 20079 | -0x0ffdf18ee, 0x0956db821, -0x01ed194af, 0x059e085e9, | ||
| 20080 | }); | ||
| 20081 | try testArgs(@Vector(8, i33), .{ | ||
| 20082 | 0x09d4fea1c, 0x0cd4254ba, 0x008d5f732, 0x0566c6f55, | ||
| 20083 | -0x01c2e54c3, -0x0469292fe, -0x00ba9ba6f, -0x076670146, | ||
| 20084 | }, .{ | ||
| 20085 | 0x02c01d901, 0x04407fcae, -0x0e6a223a6, -0x0bd9499f8, | ||
| 20086 | 0x0f9da76ed, -0x07483b289, -0x0bfc2d58e, -0x078b3055e, | ||
| 20087 | }); | ||
| 20088 | try testArgs(@Vector(16, i33), .{ | ||
| 20089 | -0x05a738cb0, -0x0be006f3e, 0x09271a365, 0x039d2f00d, | ||
| 20090 | -0x0d502b660, 0x0dd465278, 0x042a7e451, 0x03c1c3671, | ||
| 20091 | 0x00eb6f4a9, 0x08982dbc4, 0x0421b8852, 0x015ee0e53, | ||
| 20092 | 0x0e6924014, 0x0c6ddbc65, 0x00260ea59, 0x0d98aaedf, | ||
| 20093 | }, .{ | ||
| 20094 | -0x0d285a53d, 0x0800f42de, -0x048e48809, -0x052d65f47, | ||
| 20095 | -0x0bda689e0, 0x0bc437a1b, -0x05cc595ba, 0x04b335861, | ||
| 20096 | -0x0f5ec6456, 0x0580ceda6, 0x06f0e76c9, 0x0b0064ff1, | ||
| 20097 | -0x0eae28371, 0x075c3c6b1, 0x07c8d26dd, -0x06af4f476, | ||
| 20098 | }); | ||
| 20099 | try testArgs(@Vector(32, i33), .{ | ||
| 20100 | 0x07b887609, -0x004a23b00, 0x09b664a97, -0x0d4932ed0, | ||
| 20101 | -0x01a63850e, -0x0a4298efc, -0x01e409b55, 0x01452fb7a, | ||
| 20102 | 0x03d12175b, -0x0463cd854, 0x0cf448f1d, 0x0d1d02e2e, | ||
| 20103 | -0x0da681c00, 0x0d1173267, 0x08faa4e2c, 0x0634c9df5, | ||
| 20104 | 0x037e682e2, 0x0db055022, -0x0641f3daa, 0x053852c9b, | ||
| 20105 | 0x035822a2b, -0x0b12bfe53, 0x084f704c9, 0x018cfacee, | ||
| 20106 | -0x07130725b, -0x0b301dece, 0x00e1765b3, -0x0e0f0c97c, | ||
| 20107 | 0x0ccd5e7fd, -0x0ee60c481, -0x0c918345b, 0x04b2c6ec3, | ||
| 20108 | }, .{ | ||
| 20109 | 0x0df3d6e88, 0x00b4748ff, -0x0d0381c05, -0x093d68cb5, | ||
| 20110 | -0x027834cc7, 0x05aa9ca20, -0x04bc88f40, 0x080f0d937, | ||
| 20111 | 0x06699a6b8, -0x0fed64f1d, 0x0a79fe089, -0x016a9c385, | ||
| 20112 | 0x0186e6b5b, -0x0a3c83fe6, 0x09a4f87ec, 0x011ce03bf, | ||
| 20113 | -0x0f742cb8c, 0x066be2e66, -0x03b0beb52, 0x059bfda10, | ||
| 20114 | 0x04bc221c0, 0x07d8b0344, -0x0c6e34f34, -0x0de0338ce, | ||
| 20115 | -0x09571f80c, 0x0d36e8ea7, -0x052c44147, 0x0072ce503, | ||
| 20116 | -0x0ef8dec64, 0x0b5956cb3, -0x02b72b4b1, 0x0f2585167, | ||
| 20117 | }); | ||
| 20118 | |||
| 20119 | try testArgs(@Vector(1, u33), .{ | ||
| 20120 | 0x197ead992, | ||
| 20121 | }, .{ | ||
| 20122 | 0x0be595917, | ||
| 20123 | }); | ||
| 20124 | try testArgs(@Vector(2, u33), .{ | ||
| 20125 | 0x1485499a5, 0x1e12b23e3, | ||
| 20126 | }, .{ | ||
| 20127 | 0x1431cd300, 0x0762a7b51, | ||
| 20128 | }); | ||
| 20129 | try testArgs(@Vector(4, u33), .{ | ||
| 20130 | 0x00d6f907d, 0x19a2c1e5e, 0x18a597564, 0x0bea832ed, | ||
| 20131 | }, .{ | ||
| 20132 | 0x004f8c83b, 0x18fd5422c, 0x1b02cb79b, 0x092af8ba2, | ||
| 20133 | }); | ||
| 20134 | try testArgs(@Vector(8, u33), .{ | ||
| 20135 | 0x100a8bdce, 0x182aa3624, 0x0a0523393, 0x0cc8b944f, | ||
| 20136 | 0x0797fe181, 0x19c2ef2f6, 0x1b43977a0, 0x1513a878a, | ||
| 20137 | }, .{ | ||
| 20138 | 0x10da86327, 0x16e25c8c1, 0x036e09027, 0x1d85d870c, | ||
| 20139 | 0x0ff720340, 0x07d3901ec, 0x03df35db0, 0x0b3e4a05e, | ||
| 20140 | }); | ||
| 20141 | try testArgs(@Vector(16, u33), .{ | ||
| 20142 | 0x1c323b838, 0x03e15bdff, 0x0d11e109b, 0x152199f53, | ||
| 20143 | 0x1f3fc1542, 0x0e7b471e0, 0x0d291cc97, 0x1f5576bf6, | ||
| 20144 | 0x1c64d5f2e, 0x1468c9947, 0x18f1bb596, 0x0250829ac, | ||
| 20145 | 0x08d1b66a0, 0x1102178a6, 0x03eaf21e6, 0x1d0012275, | ||
| 20146 | }, .{ | ||
| 20147 | 0x11bcb3f84, 0x13150388c, 0x0e41a521a, 0x1c6c23e22, | ||
| 20148 | 0x130ac516c, 0x02d3a49c2, 0x1dd028aca, 0x1b83e56ef, | ||
| 20149 | 0x161d93875, 0x0a0fcb218, 0x1d27943a8, 0x09c919906, | ||
| 20150 | 0x182582997, 0x1c2acc0c7, 0x1cb8a9324, 0x0f456f948, | ||
| 20151 | }); | ||
| 20152 | try testArgs(@Vector(32, u33), .{ | ||
| 20153 | 0x1819f161e, 0x11b0c6f8b, 0x10e54ef82, 0x0f56ffe99, | ||
| 20154 | 0x1c128ddba, 0x0c70e8d84, 0x15e26011b, 0x1ed2f16e4, | ||
| 20155 | 0x1c498769a, 0x1b3a95b06, 0x0580ebb27, 0x16ef0aa01, | ||
| 20156 | 0x00a5a7986, 0x011a5fbf1, 0x092059f35, 0x065d9a218, | ||
| 20157 | 0x18b3c3508, 0x1f8a52f0b, 0x12a0c771c, 0x15c566333, | ||
| 20158 | 0x0882ec701, 0x0856047ee, 0x06974b33a, 0x049a97da9, | ||
| 20159 | 0x103730040, 0x0fabaaafc, 0x08e6b9887, 0x12e97722d, | ||
| 20160 | 0x00a2e302f, 0x144df5d90, 0x1dcc2f7d4, 0x1b6a6c079, | ||
| 20161 | }, .{ | ||
| 20162 | 0x13e4aa8fb, 0x1ff2fa13d, 0x0fd3d4549, 0x10837c43c, | ||
| 20163 | 0x1db62d7c2, 0x0e92f9f8b, 0x10c7ee602, 0x0e010e5f6, | ||
| 20164 | 0x1b216ca4f, 0x15808c554, 0x1ff8df1f7, 0x0c30cb60b, | ||
| 20165 | 0x191d83ae9, 0x17dc4326a, 0x1ff1e287e, 0x12e08bb58, | ||
| 20166 | 0x17787d83b, 0x074306807, 0x0ad4d40f7, 0x157b2e8a1, | ||
| 20167 | 0x1830cc0d0, 0x18e688eec, 0x1f87405f3, 0x19443ff22, | ||
| 20168 | 0x16ebfdd93, 0x07bb98b57, 0x01cd6f301, 0x08adbcc33, | ||
| 20169 | 0x1ffbcb919, 0x007455180, 0x1edbabfcb, 0x0b5519b97, | ||
| 20170 | }); | ||
| 20171 | |||
| 20172 | try testArgs(@Vector(1, i63), .{ | ||
| 20173 | -0x2d99033c3223ad4f, | ||
| 20174 | }, .{ | ||
| 20175 | 0x023c8c6807737a0e, | ||
| 20176 | }); | ||
| 20177 | try testArgs(@Vector(2, i63), .{ | ||
| 20178 | -0x08fe3255607ce099, -0x3bf678cfa16a59d2, | ||
| 20179 | }, .{ | ||
| 20180 | -0x1b8733d130c49d54, 0x39deb4fe6c836b3f, | ||
| 20181 | }); | ||
| 20182 | try testArgs(@Vector(4, i63), .{ | ||
| 20183 | 0x1e81cf3e0f9eae80, -0x0886f09bd1723b08, | ||
| 20184 | 0x16e84b8d985e5b82, 0x0fa327538c09a281, | ||
| 20185 | }, .{ | ||
| 20186 | -0x2594908bb49f963f, -0x29639632db767665, | ||
| 20187 | 0x012d5330f966e1be, -0x1143fddd48bf9752, | ||
| 20188 | }); | ||
| 20189 | try testArgs(@Vector(8, i63), .{ | ||
| 20190 | -0x08e352cf330c1852, -0x17bc1f760120ff85, | ||
| 20191 | -0x0f180e5c748c0e20, 0x07ee9290e2d53335, | ||
| 20192 | -0x33945ea070fbb445, 0x104802af8984525d, | ||
| 20193 | 0x36d27ad0f35fcfd8, 0x292141a0133227a0, | ||
| 20194 | }, .{ | ||
| 20195 | 0x2adad30092da2886, -0x1694bcdda9b82c45, | ||
| 20196 | 0x1f5a019d638ba22c, -0x2e7853134888b613, | ||
| 20197 | -0x2bb77a420f280a6d, -0x377771e94e493751, | ||
| 20198 | 0x1dd5373311160f2f, -0x02bb5248b7e0c55e, | ||
| 20199 | }); | ||
| 20200 | try testArgs(@Vector(16, i63), .{ | ||
| 20201 | 0x2d930d47aa078416, 0x1edf9abe8d562bd5, | ||
| 20202 | 0x3ef3a5266f822396, -0x102f82f23c5608e1, | ||
| 20203 | -0x38755dccf6c87ae1, 0x09f11b107d033f85, | ||
| 20204 | 0x079829e968213db8, 0x17248ef600ddb53d, | ||
| 20205 | 0x19e16a7a4e6aa0cc, 0x11e21ddfb7b5b946, | ||
| 20206 | 0x26ad3768e80b1258, 0x3672a14b31cb7f1a, | ||
| 20207 | 0x3235b83f829966b4, 0x3b4009ac38f728b8, | ||
| 20208 | -0x205d4b6cd8a164ad, -0x2fc581f11fa0eb42, | ||
| 20209 | }, .{ | ||
| 20210 | -0x1428b8c4947715ea, -0x0a5626024843736e, | ||
| 20211 | 0x075a1a0d0d47f0af, 0x0ea460d282e8dcc0, | ||
| 20212 | -0x124b2a6e2957dc53, -0x0d2602075af449d5, | ||
| 20213 | -0x0db76b825400293c, -0x17c13cd693d2db13, | ||
| 20214 | 0x0ad907bb94e64687, -0x05fd33e10be897ad, | ||
| 20215 | -0x3210cf60aa544f0b, -0x10f80c3ee6d7c510, | ||
| 20216 | 0x0106683b57f2cf9e, 0x353bea8a4c199155, | ||
| 20217 | 0x3942af4e40b65cb0, 0x3da0254a739aa17a, | ||
| 20218 | }); | ||
| 20219 | |||
| 20220 | try testArgs(@Vector(1, u63), .{ | ||
| 20221 | 0x17beef25621255fb, | ||
| 20222 | }, .{ | ||
| 20223 | 0x79bc7e82d16c5e15, | ||
| 20224 | }); | ||
| 20225 | try testArgs(@Vector(2, u63), .{ | ||
| 20226 | 0x58aeb180f136af8b, 0x0ed5f2cdb8ffe659, | ||
| 20227 | }, .{ | ||
| 20228 | 0x5df7aae04a4a1126, 0x53568966decbd14f, | ||
| 20229 | }); | ||
| 20230 | try testArgs(@Vector(4, u63), .{ | ||
| 20231 | 0x3d50a0f4755d87e3, 0x722e93c0b1355665, | ||
| 20232 | 0x3c8325a3e3640be1, 0x34eef2706884b9ab, | ||
| 20233 | }, .{ | ||
| 20234 | 0x2671797fd253520d, 0x22f81938e525536e, | ||
| 20235 | 0x08ca256b0b348d57, 0x1cdbe1867f422280, | ||
| 20236 | }); | ||
| 20237 | try testArgs(@Vector(8, u63), .{ | ||
| 20238 | 0x49ab492d75830041, 0x28f4065197f361cf, | ||
| 20239 | 0x3fcebb5fe8968a08, 0x0ab4e3fd7b158803, | ||
| 20240 | 0x7f517fcfc0451068, 0x05eaa5d2f93407b2, | ||
| 20241 | 0x0fe06447fdbec4d6, 0x34862504232f73d8, | ||
| 20242 | }, .{ | ||
| 20243 | 0x64a1796fe76dcc4d, 0x159bd1a9228a8c41, | ||
| 20244 | 0x093a4794b5759276, 0x40a740fa4d288585, | ||
| 20245 | 0x5d2d1aede616f40e, 0x7e7af17ddce8e03e, | ||
| 20246 | 0x7555fb4a1c18d5ff, 0x11b45e151e8724d0, | ||
| 20247 | }); | ||
| 20248 | try testArgs(@Vector(16, u63), .{ | ||
| 20249 | 0x456de088589c1035, 0x23239ed26d0e198f, | ||
| 20250 | 0x4f3c4ae380a12430, 0x1cb11ef73131a6f4, | ||
| 20251 | 0x6e51a370969ec7ae, 0x38bed7b267bb163d, | ||
| 20252 | 0x2fcfab012fb79669, 0x45e203406a43fe95, | ||
| 20253 | 0x38468cff64a44f74, 0x3cc86f1d717e8c60, | ||
| 20254 | 0x2ae5f2a7c73c6c2c, 0x0c8856138b43dff8, | ||
| 20255 | 0x1a7493c9bb7b265c, 0x6e8536e5f32317d8, | ||
| 20256 | 0x634701c32688fd34, 0x7a4e4a7f35ef9651, | ||
| 20257 | }, .{ | ||
| 20258 | 0x3da82f0beb7a091d, 0x040c9bbf428787fa, | ||
| 20259 | 0x795418c55742e8d2, 0x700f9b62c01cdf30, | ||
| 20260 | 0x78d567c18e7ce16d, 0x300da37dc14b6705, | ||
| 20261 | 0x68bf0e06ec9054ca, 0x2e45a80bcd5dd30d, | ||
| 20262 | 0x00e8c13b3acf4557, 0x19adb837145a0267, | ||
| 20263 | 0x594889dd8e1ff4c2, 0x561da6bd7e2ba593, | ||
| 20264 | 0x6a8ed2f67f586604, 0x2ce6d9d2663cb1fc, | ||
| 20265 | 0x68ec40831cb6b863, 0x2862d922ed7a78eb, | ||
| 20266 | }); | ||
| 20267 | |||
| 20268 | try testArgs(@Vector(1, i64), .{ | ||
| 20269 | 0x4a31679b316d8b59, | ||
| 20270 | }, .{ | ||
| 20271 | 0x34a583368386afde, | ||
| 20272 | }); | ||
| 20273 | try testArgs(@Vector(2, i64), .{ | ||
| 20274 | 0x3bae373f9cb990b3, -0x7e8c6c876e8fd34a, | ||
| 20275 | }, .{ | ||
| 20276 | 0x09dbef6f7cb9c726, 0x48dfeca879b0df51, | ||
| 20277 | }); | ||
| 20278 | try testArgs(@Vector(4, i64), .{ | ||
| 20279 | -0x2bd24dd5f5da94bf, -0x144113bae33082c2, | ||
| 20280 | 0x51e8cb7027ba4b12, -0x47b02168e2e22f13, | ||
| 20281 | }, .{ | ||
| 20282 | 0x769f113245641b91, -0x414d0e24ea97bc53, | ||
| 20283 | -0x0d2a570e7ef9e923, -0x070513d46d3b5a4c, | ||
| 20284 | }); | ||
| 20285 | try testArgs(@Vector(8, i64), .{ | ||
| 20286 | 0x10bb6779b6a55ca9, 0x5f6ffd567a187af4, | ||
| 20287 | -0x6ba191b1168486b4, -0x441b92ce455870a1, | ||
| 20288 | 0x2b6fdefbec9386ad, -0x6fdd3938d79217e4, | ||
| 20289 | 0x6aa8fe1fb891501f, 0x20802f5bbdf6dc50, | ||
| 20290 | }, .{ | ||
| 20291 | -0x7500319df437b479, 0x00ceb712d4fa62d4, | ||
| 20292 | 0x67e715b9e99e660d, -0x17ae00e1f0009ec2, | ||
| 20293 | -0x5b700b948503acdf, -0x3ff61fb5cce5a530, | ||
| 20294 | 0x55a3efac2e3694a4, 0x7f951a8d842f1670, | ||
| 20295 | }); | ||
| 20296 | try testArgs(@Vector(16, i64), .{ | ||
| 20297 | 0x37a205109a685810, -0x50ff5d13134ccaa6, | ||
| 20298 | 0x26813391c5505d5d, -0x502cdc01603a2f21, | ||
| 20299 | -0x6b1b44b1c850c7ea, 0x1f6db974ace9dd70, | ||
| 20300 | -0x47d15da8b519e328, 0x3ac0763abbf79d8d, | ||
| 20301 | 0x5f12e0dc1aed4a4f, -0x46a973e16061e928, | ||
| 20302 | -0x3f59a3fa9699b4d5, -0x2f5012d390c78315, | ||
| 20303 | -0x40e510dea2c47e9c, 0x221c51defe0acc9a, | ||
| 20304 | -0x385fd6f1d390b84b, 0x35932fe2783fa6b9, | ||
| 20305 | }, .{ | ||
| 20306 | 0x0ba5202b71ad73dd, 0x65c8d2d5e2a14fe5, | ||
| 20307 | 0x2e4d97cd66c41a3d, 0x14babbb47da51193, | ||
| 20308 | 0x59d1d12b42ade3aa, -0x3c3617e556dfa8fb, | ||
| 20309 | -0x5a36602ba43279c4, -0x61f1ddda13665d9f, | ||
| 20310 | -0x50cd6128589ddd04, 0x135ae0dcc85674ae, | ||
| 20311 | -0x25e80592affc038d, 0x07e184c44fbe9b12, | ||
| 20312 | -0x70ede1b90964bbaa, 0x3ec48b32e8efd98e, | ||
| 20313 | -0x5267d41d85a29f46, 0x53099805f9116b60, | ||
| 20314 | }); | ||
| 20315 | |||
| 20316 | try testArgs(@Vector(1, u64), .{ | ||
| 20317 | 0x333f593bf9d08546, | ||
| 20318 | }, .{ | ||
| 20319 | 0x6918bd767e730778, | ||
| 20320 | }); | ||
| 20321 | try testArgs(@Vector(2, u64), .{ | ||
| 20322 | 0x4cd89a317b03d430, 0x28998f61842f63a9, | ||
| 20323 | }, .{ | ||
| 20324 | 0x6c34db64af0e217e, 0x57aa5d02cd45dceb, | ||
| 20325 | }); | ||
| 20326 | try testArgs(@Vector(4, u64), .{ | ||
| 20327 | 0x946cf7e7484691c9, 0xf4fc5be2a762fcbf, | ||
| 20328 | 0x71cc83bc25abaf14, 0xc69cef44c6f833a1, | ||
| 20329 | }, .{ | ||
| 20330 | 0x9f90cbd6c3ce1d4e, 0x182f65295dff4e84, | ||
| 20331 | 0x4dfe62c59fed0040, 0x18402347c1db1999, | ||
| 20332 | }); | ||
| 20333 | try testArgs(@Vector(8, u64), .{ | ||
| 20334 | 0x92c6281333943e2c, 0xa97750504668efb5, | ||
| 20335 | 0x234be51057c0181f, 0xefbc1f407f3df4fb, | ||
| 20336 | 0x8da6cc7c39cebb94, 0xb408f7e56feee497, | ||
| 20337 | 0x2363f1f8821592ed, 0x01716e800c0619e1, | ||
| 20338 | }, .{ | ||
| 20339 | 0xa617426684147e7e, 0x7542da7ebe093a7b, | ||
| 20340 | 0x3f21d99ac57606b7, 0x65cd36d697d22de4, | ||
| 20341 | 0xed23d6bdf176c844, 0x2d4573f100ff7b58, | ||
| 20342 | 0x4968f4d21b49f8ab, 0xf5d9a205d453e933, | ||
| 20343 | }); | ||
| 20344 | try testArgs(@Vector(16, u64), .{ | ||
| 20345 | 0x2f61a4ee66177b4a, 0xf13b286b279f6a93, | ||
| 20346 | 0x36b46beb63665318, 0x74294dbde0da98d2, | ||
| 20347 | 0x3aa872ba60b936eb, 0xe8f698b36e62600b, | ||
| 20348 | 0x9e8930c21a6a1a76, 0x876998b09b8eb03c, | ||
| 20349 | 0xa0244771a2ec0adb, 0xb4c72bff3d3ac1a2, | ||
| 20350 | 0xd70677210830eced, 0x6622abc1734dd72d, | ||
| 20351 | 0x157e2bb0d57d6596, 0x2aac8192fb7ef973, | ||
| 20352 | 0xc4a0ca92f34d7b13, 0x04300f8ad1845246, | ||
| 20353 | }, .{ | ||
| 20354 | 0xeaf71dcf0eb76f5d, 0x0e84b1b63dc97139, | ||
| 20355 | 0x0f64cc38d23c94a1, 0x12775cf0816349b7, | ||
| 20356 | 0xfdcf13387ba48d54, 0xf8d3c672cacd8779, | ||
| 20357 | 0xe728c1f5eb56ab1e, 0x05931a34877f7a69, | ||
| 20358 | 0x1861a763c8dafd1f, 0x4ac97573ecd5739f, | ||
| 20359 | 0x3384414c9bf77b8c, 0x32c15bbd04a5ddc4, | ||
| 20360 | 0xbfd88aee1d82ed32, 0x20e91c15b701059a, | ||
| 20361 | 0xed533d18f8657f3f, 0x1ddd7cd7f6bab957, | ||
| 20362 | }); | ||
| 20363 | |||
| 20364 | try testArgs(@Vector(1, i65), .{ | ||
| 20365 | 0x0ca0853f57c0686c8, | ||
| 20366 | }, .{ | ||
| 20367 | -0x05c79d7369ef879fd, | ||
| 20368 | }); | ||
| 20369 | try testArgs(@Vector(2, i65), .{ | ||
| 20370 | 0x0c65f685f4839bc8d, -0x079057ad04859d897, | ||
| 20371 | }, .{ | ||
| 20372 | -0x0dbb1951a67a71fc6, -0x0d4763ead1d5f66aa, | ||
| 20373 | }); | ||
| 20374 | try testArgs(@Vector(4, i65), .{ | ||
| 20375 | 0x0d6a03163f101695e, -0x0ebe991e54e61156d, | ||
| 20376 | -0x0715adf48176985dc, 0x01e57dbe6ea50b22f, | ||
| 20377 | }, .{ | ||
| 20378 | -0x0b308d8311a45a38d, 0x07c292cc15044b1f5, | ||
| 20379 | 0x0e69e3eae81046bc8, 0x053b75d6a544ca0db, | ||
| 20380 | }); | ||
| 20381 | try testArgs(@Vector(8, i65), .{ | ||
| 20382 | 0x0066315a88896ba00, 0x026c8109f087eb4e3, | ||
| 20383 | -0x0b9928ad2e41d98ef, 0x0fc5ab9c89a8ee6ff, | ||
| 20384 | 0x0dcdd248c4575dbb1, -0x09db7d03c38a83255, | ||
| 20385 | -0x097bc9d5397c57594, 0x0e6af866eed43b462, | ||
| 20386 | }, .{ | ||
| 20387 | -0x06ac0448a06876866, 0x0f89dbafcbbb065d7, | ||
| 20388 | -0x02b88b31ed9fc24dd, -0x005c56246687ed4f0, | ||
| 20389 | -0x085a4a7b09dcec260, -0x0068e92e14823a98a, | ||
| 20390 | -0x0ac4a04dd6de87eb9, 0x0716ed52ef9704b71, | ||
| 20391 | }); | ||
| 20392 | try testArgs(@Vector(16, i65), .{ | ||
| 20393 | -0x09fd6493584cf3a50, 0x0e6dc4b5655cb9d36, | ||
| 20394 | -0x03b55c156ac2bdcf1, 0x002cfefc233d5bcb8, | ||
| 20395 | 0x0dbebb830228d2945, -0x02133deab2ebd8699, | ||
| 20396 | -0x0ff9bc10c14c58c6c, -0x09170272ba214dabc, | ||
| 20397 | -0x06ed685bdc535a55e, 0x0c12e1ca45cf7be9a, | ||
| 20398 | -0x04e1094b79391df4a, 0x03b3fbc230416592d, | ||
| 20399 | 0x08799db1379e6b1ba, -0x0fa7c7aed60863358, | ||
| 20400 | -0x0c44dd44a770610bd, -0x0349cdc54719b2e37, | ||
| 20401 | }, .{ | ||
| 20402 | 0x03146cdf203a80cfd, 0x0e22a03fe80f3e2ed, | ||
| 20403 | 0x07fa7a66dbe252222, 0x000a3bc923a32648a, | ||
| 20404 | -0x078bac9e36d66da71, -0x03055804cd3b73168, | ||
| 20405 | 0x0d9280808858f006d, -0x09415dfb2fd33fe5a, | ||
| 20406 | -0x01bb25a93961b763c, -0x0d7b9f64e9b0c5c82, | ||
| 20407 | -0x096d7b6ee9a0b1e11, -0x0358047a2c33fc157, | ||
| 20408 | 0x0ac0128bbf7a5200e, -0x009e0b2ab770e711b, | ||
| 20409 | 0x05473b5629f372ee9, -0x02eda67313ff7fa47, | ||
| 20410 | }); | ||
| 20411 | |||
| 20412 | try testArgs(@Vector(1, u65), .{ | ||
| 20413 | 0x1879059aca94dd383, | ||
| 20414 | }, .{ | ||
| 20415 | 0x0051da1f25078e919, | ||
| 20416 | }); | ||
| 20417 | try testArgs(@Vector(2, u65), .{ | ||
| 20418 | 0x18f39bb41f03223f5, 0x16a59f6838a63e737, | ||
| 20419 | }, .{ | ||
| 20420 | 0x105aa15beae036a1a, 0x1b47ef7ef744b70fe, | ||
| 20421 | }); | ||
| 20422 | try testArgs(@Vector(4, u65), .{ | ||
| 20423 | 0x18c685254b3c7170c, 0x0de8048a66902ebfd, | ||
| 20424 | 0x02bc97f62163e7e31, 0x152b6eba67c1e76db, | ||
| 20425 | }, .{ | ||
| 20426 | 0x1f45ab5e13037f07b, 0x1a6ac8ec084a115ee, | ||
| 20427 | 0x1db62793f956492ba, 0x0e4262599ec54c2a4, | ||
| 20428 | }); | ||
| 20429 | try testArgs(@Vector(8, u65), .{ | ||
| 20430 | 0x07c1dbda5d0ddd69a, 0x18f5741ef462a799b, | ||
| 20431 | 0x1fd2f93384860df65, 0x01827fcdb6c715d64, | ||
| 20432 | 0x03869c173a922b018, 0x0addd48a4671a2f6b, | ||
| 20433 | 0x1eee0f78995f9f118, 0x1e1d0d6b2396bcf38, | ||
| 20434 | }, .{ | ||
| 20435 | 0x159e9494fc84ed452, 0x0834f6aaa7666a22b, | ||
| 20436 | 0x066765389e84150b4, 0x1e722ae23908c7e96, | ||
| 20437 | 0x0d64ec725397e6ee0, 0x19f3a147a355baa22, | ||
| 20438 | 0x02f1b100538b6dbc3, 0x175885a34aefca91b, | ||
| 20439 | }); | ||
| 20440 | try testArgs(@Vector(16, u65), .{ | ||
| 20441 | 0x105647e12b2b76daa, 0x04dcca29537263f6a, | ||
| 20442 | 0x16c112620be731a4e, 0x0d6c088da3c158fa0, | ||
| 20443 | 0x02ff8ce4fc8331ec4, 0x127a7d10ab851980c, | ||
| 20444 | 0x05703068045915d95, 0x07cc42e0bb216b310, | ||
| 20445 | 0x08a15a16e4247ad98, 0x1c17b2292e34aa369, | ||
| 20446 | 0x14c9808748fa615c3, 0x187449666c2f5375b, | ||
| 20447 | 0x133fcb93a31d2f369, 0x047729af594c8c1c1, | ||
| 20448 | 0x1ce798ff51a064ad2, 0x0800a3c18b944f0e4, | ||
| 20449 | }, .{ | ||
| 20450 | 0x0d65b8b643703ef96, 0x1c55c2e0816c5d056, | ||
| 20451 | 0x0390a06d3ec60e632, 0x0d543d346db055847, | ||
| 20452 | 0x017e27c7d663d7005, 0x112f7b98a78014ea3, | ||
| 20453 | 0x030136142f19042d7, 0x059f9b6e576f79ef7, | ||
| 20454 | 0x1dd78fb3577c5ed37, 0x1a4594314b3f1adde, | ||
| 20455 | 0x1e26cd964c656292a, 0x0579c10261478da1d, | ||
| 20456 | 0x0406f2849ab5ad15c, 0x024b15c729f2211b7, | ||
| 20457 | 0x10f0505cc2f7f110c, 0x133cfa11f995e0afc, | ||
| 20458 | }); | ||
| 20459 | |||
| 20460 | try testArgs(@Vector(1, i127), .{ | ||
| 20461 | 0x226b8faf65414a9a0ffcd438c7fa9eea, | ||
| 20462 | }, .{ | ||
| 20463 | 0x2c582610b08531ca208fef1c2b839bdc, | ||
| 20464 | }); | ||
| 20465 | try testArgs(@Vector(2, i127), .{ | ||
| 20466 | 0x35e8caffc9fc8e1b3b6d3667cb6a128c, | ||
| 20467 | -0x070d99d51807ae2314ea61e4f0166145, | ||
| 20468 | }, .{ | ||
| 20469 | -0x3a59d011c2a385a6dcf00a40efd85b77, | ||
| 20470 | 0x3b5f506c3fa0c8552fba624d1b5debec, | ||
| 20471 | }); | ||
| 20472 | try testArgs(@Vector(4, i127), .{ | ||
| 20473 | 0x191594cc2356ffeac739f1841b06adcf, | ||
| 20474 | 0x1f45176996076de7c3891f14f831e192, | ||
| 20475 | 0x1c9047002e0a4f00656556fffeb50349, | ||
| 20476 | -0x38049f47bcc36ab26600bc475295389f, | ||
| 20477 | }, .{ | ||
| 20478 | -0x2f8c1618324c60c40f65d216943d59d2, | ||
| 20479 | -0x21429f90bd9dff7b5d49c9d7f2655928, | ||
| 20480 | 0x3baeef72d0d168fb50564c9f6eb5d778, | ||
| 20481 | 0x3affe6f2eddfc6a69206c357633d0eeb, | ||
| 20482 | }); | ||
| 20483 | try testArgs(@Vector(8, i127), .{ | ||
| 20484 | -0x00c48629a415129f66e74a1a215d683a, | ||
| 20485 | 0x3920a425cbec4c9af649a00d5747136a, | ||
| 20486 | 0x11f53b9db15a12814c948c6a809b96f8, | ||
| 20487 | -0x1f7e272db97efc88762dedf54978e795, | ||
| 20488 | 0x13e56ca8ed41f64d04ef01019703f402, | ||
| 20489 | 0x294014109f4313454d9994f1003b4572, | ||
| 20490 | 0x0f3d6fe7adde96149ffcc5c0808b708f, | ||
| 20491 | 0x2d9bcd407da37ff3d43cc5f6b64fd385, | ||
| 20492 | }, .{ | ||
| 20493 | 0x3f95f21d3bc39fe8e3fcc184d150a984, | ||
| 20494 | 0x2a8c36a5986d8c245bbdd302737b7e29, | ||
| 20495 | 0x37c61446e10efe6a94f797da05a28fae, | ||
| 20496 | -0x096b2f4e16aef099d623066e941d13d1, | ||
| 20497 | 0x3df11d4af3229ed59c52628cac02f506, | ||
| 20498 | 0x326f78cbf454566daa3bc235a1fb3fb8, | ||
| 20499 | -0x2cf6b4872dffea018c77892e433b6784, | ||
| 20500 | 0x345dfdd52635c224c70949913255ab68, | ||
| 20501 | }); | ||
| 20502 | |||
| 20503 | try testArgs(@Vector(1, u127), .{ | ||
| 20504 | 0x49a0cd1849f9adbed215770c6f97a584, | ||
| 20505 | }, .{ | ||
| 20506 | 0x5e10826a03aeb57d4a9a9ef2a8f02faa, | ||
| 20507 | }); | ||
| 20508 | try testArgs(@Vector(2, u127), .{ | ||
| 20509 | 0x1c2544fbb76890de5c00f42c9a516846, | ||
| 20510 | 0x324f292d72694d409152a311b5a0441c, | ||
| 20511 | }, .{ | ||
| 20512 | 0x01cc87106db8e357e85f875d46feac96, | ||
| 20513 | 0x49e775cc0db88cf9725af13113d7d457, | ||
| 20514 | }); | ||
| 20515 | try testArgs(@Vector(4, u127), .{ | ||
| 20516 | 0x3e82ddcd074646a0a489a4fd300c32c9, | ||
| 20517 | 0x2a511ac041c17a68c5a71bc6d3cb3ba9, | ||
| 20518 | 0x2dace4189083411634b753ae476579a8, | ||
| 20519 | 0x4e1d5cb04d9681d806312d72d6dc5262, | ||
| 20520 | }, .{ | ||
| 20521 | 0x5f489e689ff15fcf38aad995b1796af2, | ||
| 20522 | 0x49ee549bd8e20092c8ccebb992cde8b8, | ||
| 20523 | 0x4e52d33281cba3fda6ae8d1f463c7a1f, | ||
| 20524 | 0x0de0279b2dec3fffe44c1c7decc430f8, | ||
| 20525 | }); | ||
| 20526 | try testArgs(@Vector(8, u127), .{ | ||
| 20527 | 0x636de193fbadb1984a0ed9969f88d38d, | ||
| 20528 | 0x64426b7e468cb323b1d75656879fb9b2, | ||
| 20529 | 0x48afb4cc5a11f2ca4b8609b057758312, | ||
| 20530 | 0x176157ce93422bb4463d6f0dda275b94, | ||
| 20531 | 0x746015d0e8cb5e36af43840a6df11aab, | ||
| 20532 | 0x279b665776118bc2759134c19cbf1bb0, | ||
| 20533 | 0x52cb4dc56d3935090fb7db710c8f9660, | ||
| 20534 | 0x591884d8d8e2fe2f77b7f8508dddeaaa, | ||
| 20535 | }, .{ | ||
| 20536 | 0x42e00bc05d50ea63d546085642b8831b, | ||
| 20537 | 0x4241ff07ce99ee055b48ed2939b8d6b7, | ||
| 20538 | 0x45a5f53a5c5cb13f1a9e6621fec8cf4a, | ||
| 20539 | 0x68d6938c1b348dc6cc98d4b6ab3a1c22, | ||
| 20540 | 0x1f9448fc11e38500ec7ecf57a33a278b, | ||
| 20541 | 0x7b331526d6fcfb958f3c88fc4656e123, | ||
| 20542 | 0x4f1e8ddf41a7105cc1a1c815040a2693, | ||
| 20543 | 0x31ac7bd68686d531d53ecca75e6d8b81, | ||
| 20544 | }); | ||
| 20545 | |||
| 20546 | try testArgs(@Vector(1, i128), .{ | ||
| 20547 | -0x3bb56309fcad13fc1011dc671cf57bdc, | ||
| 20548 | }, .{ | ||
| 20549 | -0x05338bb517db516ee08c45d1408e5836, | ||
| 20550 | }); | ||
| 20551 | try testArgs(@Vector(2, i128), .{ | ||
| 20552 | 0x295f2901e3837e5592b9435f8c4df8a7, | ||
| 20553 | -0x1f246b0ff2d02a6bf30a63392fc63371, | ||
| 20554 | }, .{ | ||
| 20555 | -0x31060c09e29b545670c4cbc721a4e26b, | ||
| 20556 | -0x631eb286321325d51c617aa798195392, | ||
| 20557 | }); | ||
| 20558 | try testArgs(@Vector(4, i128), .{ | ||
| 20559 | 0x47110102c74f620f08e5b7c5dbe193c2, | ||
| 20560 | -0x61d12d2650413ad3ffeeeab3ba57e1f0, | ||
| 20561 | 0x449781e64b29dc8a17a88f4b7a5b0717, | ||
| 20562 | 0x0d2170e9238d12a585dc5377566e1938, | ||
| 20563 | }, .{ | ||
| 20564 | 0x0bf948e19bd01823dcb3887937d97079, | ||
| 20565 | -0x16f933ab12bfba3560d0d39ffe69b64a, | ||
| 20566 | 0x3d0bfce3907a5cd157348f0329e2548e, | ||
| 20567 | -0x3c2d182e2e238a4bebd7defbd7f9699a, | ||
| 20568 | }); | ||
| 20569 | try testArgs(@Vector(8, i128), .{ | ||
| 20570 | -0x775678727c721662f02480619acbfc82, | ||
| 20571 | -0x6f504fcbff673cb91e4706af4373665f, | ||
| 20572 | -0x670f888d4186387c3106d125b856c294, | ||
| 20573 | 0x0641e7efdfdd924d126b446d874154f8, | ||
| 20574 | 0x57d7aef0f82d3351917f43c8f677392b, | ||
| 20575 | -0x4077e745dede8367d145c94f20ab8810, | ||
| 20576 | -0x0344a74fb60e1f1f72ba8ec288b05939, | ||
| 20577 | -0x0be3ce9be461aca1d25ad8e74dcc36e1, | ||
| 20578 | }, .{ | ||
| 20579 | -0x4a873d91e5a2331def0d34c008d33d83, | ||
| 20580 | 0x2744cecfd4c683bdd12f3cfc11d7f520, | ||
| 20581 | -0x0cb8e468fc1de93a7c5ad2a5a61e8f50, | ||
| 20582 | -0x1a3be9e58e918d6586cc4948a54515d3, | ||
| 20583 | -0x512ec6f88c3a34950a8aaee47130120b, | ||
| 20584 | -0x2e772e4a8812e553bcf9b2754a493709, | ||
| 20585 | 0x0c7b137937dc25f9f9cbaf4d7a88ee6b, | ||
| 20586 | -0x2ecdd5eb81eb0e98ed8d0aa9516c1617, | ||
| 20587 | }); | ||
| 20588 | |||
| 20589 | try testArgs(@Vector(1, u128), .{ | ||
| 20590 | 0x5f11e16b0ca3392f907a857881455d2e, | ||
| 20591 | }, .{ | ||
| 20592 | 0xf9142d73b408fd6955922f9fc147f7d7, | ||
| 20593 | }); | ||
| 20594 | try testArgs(@Vector(2, u128), .{ | ||
| 20595 | 0xee0fb41fabd805923fb21b5c658e3a87, | ||
| 20596 | 0x2352e74aad6c58b3255ff0bba5aa6552, | ||
| 20597 | }, .{ | ||
| 20598 | 0x8d822f9fdd9cb9a5b43513b14419b224, | ||
| 20599 | 0x1aef2a02704379e38ead4d53d69e4cc4, | ||
| 20600 | }); | ||
| 20601 | try testArgs(@Vector(4, u128), .{ | ||
| 20602 | 0xc74437a4ea3bbbb193dbf0ea2f0c5281, | ||
| 20603 | 0x039e4b1640868248780db1834a0027eb, | ||
| 20604 | 0xb9e8bb34155b2b238da20331d08ff85b, | ||
| 20605 | 0x863802d34a54c2e6aa71dd0f067c4904, | ||
| 20606 | }, .{ | ||
| 20607 | 0x7471bae24ff7b84ab107f86ba2b7d1e7, | ||
| 20608 | 0x8f34c449d0576e682c20bda74aa6b6c9, | ||
| 20609 | 0x1f34c3efa167b61c48c9d5ec01a1a93f, | ||
| 20610 | 0x71c8318fcf3ddc7be058c73a52dce9e3, | ||
| 20611 | }); | ||
| 20612 | try testArgs(@Vector(8, u128), .{ | ||
| 20613 | 0xbf2db71463037f55ee338431f902a906, | ||
| 20614 | 0xb7ad317626655f38ab25ae30d8a1aa67, | ||
| 20615 | 0x7d3c5a3ffaa607b5560d69ae3fcf7863, | ||
| 20616 | 0x009a39a8badf8b628c686dc176aa1273, | ||
| 20617 | 0x49dba3744c91304cc7bbbdab61b6c969, | ||
| 20618 | 0x6ec664b624f7acf79ce69d80ed7bc85c, | ||
| 20619 | 0xe02d7a303c0f00c39010f3b815547f1c, | ||
| 20620 | 0xb13e1ee914616f58cffe6acd33d9b5c8, | ||
| 20621 | }, .{ | ||
| 20622 | 0x2f2d355a071942a7384f82ba72a945b8, | ||
| 20623 | 0x61f151b3afec8cb7664f813cecf581d1, | ||
| 20624 | 0x5bfbf5484f3a07f0eacc4739ff48af80, | ||
| 20625 | 0x59c0abbf8d829cf525a87d5c9c41a38a, | ||
| 20626 | 0xdad8b18eb680f0520ca49ebfb5842e22, | ||
| 20627 | 0xa05adcaedd9057480b3ba0413d003cec, | ||
| 20628 | 0x8b0b4a27fc94a0e90652d19bc755b63d, | ||
| 20629 | 0xa858bce5ad0e48c13588a4e170e8667c, | ||
| 20630 | }); | ||
| 20631 | |||
| 20632 | try testArgs(@Vector(1, i129), .{ | ||
| 20633 | -0x09c126c4e31389b174cb2b45e76c086dd, | ||
| 20634 | }, .{ | ||
| 20635 | 0x0d023f2566c56400f4b7edb9c4f364ecb, | ||
| 20636 | }); | ||
| 20637 | try testArgs(@Vector(2, i129), .{ | ||
| 20638 | -0x072be32e116741732f9422d9b20777db5, | ||
| 20639 | -0x010829386cc3d93283a83591bd994ca58, | ||
| 20640 | }, .{ | ||
| 20641 | 0x004671167d0681d46945832d16f70cfba, | ||
| 20642 | 0x098550137341cbadfe8378987e3a83265, | ||
| 20643 | }); | ||
| 20644 | try testArgs(@Vector(4, i129), .{ | ||
| 20645 | 0x04167620c7f5e094208fb204f06b9792c, | ||
| 20646 | 0x07a6690c0b5f9de6c8955873f19b98f23, | ||
| 20647 | -0x06505997d01e5a971f820742210c7adc6, | ||
| 20648 | -0x07013921eab8d92559f17ad9e3712bc61, | ||
| 20649 | }, .{ | ||
| 20650 | -0x0bdbf7ce4079fa628feb05f5814402e15, | ||
| 20651 | -0x0e6ee5464de547ce92ee5a6037f175e52, | ||
| 20652 | -0x009d079b88cdc765ab72758854b753d98, | ||
| 20653 | -0x085af31dd5243f61b46e6dc950728ff49, | ||
| 20654 | }); | ||
| 20655 | try testArgs(@Vector(8, i129), .{ | ||
| 20656 | 0x0d85f471bdc56611e9187113f1489bd38, | ||
| 20657 | 0x06e1e9cae044bb17b63c380fd6f2652b5, | ||
| 20658 | 0x0921d649288a16481f2ec69747f443e5e, | ||
| 20659 | 0x0e8db24d1aefd91cfab20bac61f560274, | ||
| 20660 | 0x0187abef7578e5e02a396e4ebd5859c23, | ||
| 20661 | 0x0d2dec5a6bd72afe18288ca428ec2b94d, | ||
| 20662 | 0x0c52c111a077bffb1fa4483523cd044c3, | ||
| 20663 | -0x0b6a90c79d6230f271bf625c9a6c0dfc5, | ||
| 20664 | }, .{ | ||
| 20665 | 0x0d47c566bdedae2e9485f7aa381a98d30, | ||
| 20666 | -0x0e5d9573c01a9e56361b202c47f0e51f8, | ||
| 20667 | -0x0bdcafb1f08db4920121521b2d2679931, | ||
| 20668 | 0x08de42eec43f2a5175f928f8a1812575d, | ||
| 20669 | 0x0c3f57e712a7f8494e51b62d11573d9a0, | ||
| 20670 | -0x09287910d439c9bafd56bc8a6faf50cb3, | ||
| 20671 | 0x07b494af9634c8f95bed2f50fcaf08dda, | ||
| 20672 | -0x0a150693d83af2e823dcc0765e4e331e2, | ||
| 20673 | }); | ||
| 20674 | |||
| 20675 | try testArgs(@Vector(1, u129), .{ | ||
| 20676 | 0x1e51bd13747df8fae52f0471e9f1ad3f2, | ||
| 20677 | }, .{ | ||
| 20678 | 0x00aba9f2c80c71b1ed07201486ea44d00, | ||
| 20679 | }); | ||
| 20680 | try testArgs(@Vector(2, u129), .{ | ||
| 20681 | 0x0c7967a19d13d4bd3f6ebfa0f8fdeab92, | ||
| 20682 | 0x01614ee2c32757cc92e2efd97e94321a7, | ||
| 20683 | }, .{ | ||
| 20684 | 0x175803a2c0bf888bd01e2a5bae28e4523, | ||
| 20685 | 0x07d05a98ec8f4e7e72aac2712bc09a23a, | ||
| 20686 | }); | ||
| 20687 | try testArgs(@Vector(4, u129), .{ | ||
| 20688 | 0x1b18b768c5852bb1f0a7b34ceaeac4a0c, | ||
| 20689 | 0x038fc1f995d9378fcf1043598810d7a56, | ||
| 20690 | 0x06eebd77f9920e79932decf0f29ef658d, | ||
| 20691 | 0x1f31a766145022050d0b16a4f5d06f1e3, | ||
| 20692 | }, .{ | ||
| 20693 | 0x033b20a528a722b6704bf5c8aea497e68, | ||
| 20694 | 0x0ea05276fb8de4e77e4a8d4ef55f64bba, | ||
| 20695 | 0x1c632cf252683b00faae6dcb7d73d8b90, | ||
| 20696 | 0x11a7e1e98bb34fc7f5ed36c327476b122, | ||
| 20697 | }); | ||
| 20698 | try testArgs(@Vector(8, u129), .{ | ||
| 20699 | 0x1b85991584b26492938854a6f6953b766, | ||
| 20700 | 0x119472b0f4b7199f1267639f601833e3d, | ||
| 20701 | 0x130d19e6ccfebce09c61c8c8fb526fec0, | ||
| 20702 | 0x1379f4fa9d25e18ef5138c193b7ec9ef3, | ||
| 20703 | 0x15fc62d9e21c2c0c63f9cab5ab0a8cf36, | ||
| 20704 | 0x123ceb2a65f200a0b3e559c801bdbfa58, | ||
| 20705 | 0x0e740ae3c7ab0cd24c5ff94d9367e3ebb, | ||
| 20706 | 0x008c7dd67796949390355d866e4f171ef, | ||
| 20707 | }, .{ | ||
| 20708 | 0x0ffdda009048cf61476610425d5e55560, | ||
| 20709 | 0x061bcb9d024d015891b5666e7b317cc84, | ||
| 20710 | 0x060c013386fb8c129a3bd65b7909f2bc5, | ||
| 20711 | 0x01c8efdd7ea806b1dc984c6183da53d8f, | ||
| 20712 | 0x02fae7cee43d7f97448e82b907335bd45, | ||
| 20713 | 0x0365e7cadcbd0a64decc1377339967c53, | ||
| 20714 | 0x1a52793ba8a9689e1d7f5036e8cb613e1, | ||
| 20715 | 0x1257d7cdd8f04058d285a5bce173b5262, | ||
| 20716 | }); | ||
| 20717 | |||
| 20718 | try testArgs(@Vector(1, i191), .{ | ||
| 20719 | -0x23ce1d6b12e301d243024c60aef14b6d068e1d4b1c4f442d, | ||
| 20720 | }, .{ | ||
| 20721 | 0x1a7b04f33aa590b99c1162bb32e7681ec267b7826e162512, | ||
| 20722 | }); | ||
| 20723 | try testArgs(@Vector(2, i191), .{ | ||
| 20724 | -0x25ed7b5b9a9cd517f7f1e2e796f8c5a28ae04af6c1e7bfb3, | ||
| 20725 | 0x3f298efedf4269276db60344c2bed556ee25d24c5f887000, | ||
| 20726 | }, .{ | ||
| 20727 | 0x3c92b38c6c6eb449c25011a4248df259b8452293390d8ad7, | ||
| 20728 | -0x35743fe2fa86686c496ffd16f93f2fca1ed742b67b8722a7, | ||
| 20729 | }); | ||
| 20730 | try testArgs(@Vector(4, i191), .{ | ||
| 20731 | -0x1743b70ad78994b68b5f7ad6066447ce8aefaba4852af2c7, | ||
| 20732 | -0x10974462633ebb5631bf83d65ffde3239ff4029c9f62b7ef, | ||
| 20733 | 0x1783dc9f0afa815051e6d338ef35da013e807da475815af5, | ||
| 20734 | 0x3f32dd0689a9437b7acc4290920370205825a3f6a4453916, | ||
| 20735 | }, .{ | ||
| 20736 | 0x2ef1b4f92da40e0c33a1611f48f25d8f1c4208b5396e51dd, | ||
| 20737 | 0x0d1e8846fd1a2055386c4d74aa55914ef085196399964a29, | ||
| 20738 | 0x272c9065c4395186cf7c164fc5d43aeee7fdd08bfd98ad86, | ||
| 20739 | 0x25438380cc92dba5c9f3d57ef311fad8e14e3a3c18910546, | ||
| 20740 | }); | ||
| 20741 | try testArgs(@Vector(8, i191), .{ | ||
| 20742 | -0x36d4fd6afdc4bae957b5caed3360891ac4c44383f77e0225, | ||
| 20743 | 0x2bd89636510607345813f74ee303d3b22435b37a7d09c7ed, | ||
| 20744 | -0x3cc372c1659789b967ed7000bfae20f73829a093e9ac9232, | ||
| 20745 | -0x2e27691dc3d8ea12093136cf859ef8e0c686ae66e56e073d, | ||
| 20746 | -0x24150a1f8bb0097625000af9b186a8927f70993e76702c17, | ||
| 20747 | -0x3adebb65a71f180fbf21117bc38fa3aeddebe1e216ae5a70, | ||
| 20748 | -0x257688d6ef63e2046bb8bfa11ba84b665e4e12522d56d085, | ||
| 20749 | 0x173a71a3792e72cbd31f2f10142cf568ff0987e8dfd4ed35, | ||
| 20750 | }, .{ | ||
| 20751 | 0x056e3bbfe91bd5adf441278fccaeabbe86cba8ae545dee95, | ||
| 20752 | -0x02705836e891812aba265ee3e12d17f6fcdbc69320e52ee9, | ||
| 20753 | -0x276a852ba9a4163fe636cf31007b5e3cb087bc44c0948a02, | ||
| 20754 | -0x14053135d82f772dd82e7a472315b6b9fa836a27bebcf980, | ||
| 20755 | -0x153f064d28f4fb27c827bb5fe2a44c95e3b54d21eba40a1c, | ||
| 20756 | -0x30ac5165fa3f132f294a5241d3201973a0671aa3b536e3ae, | ||
| 20757 | -0x2ce2be59f487892c58bf667a55724b117e3e8ba3b00c1c31, | ||
| 20758 | 0x138bb8e5b837ffd06d296ea0af9f533ffe3a36073fafc2d3, | ||
| 20759 | }); | ||
| 20760 | |||
| 20761 | try testArgs(@Vector(1, u191), .{ | ||
| 20762 | 0x24f26e4c0b4b20639550564263b0be7083e112cdef6c2d83, | ||
| 20763 | }, .{ | ||
| 20764 | 0x020334928f4583d332043b7aef15e832047dfd01b2933038, | ||
| 20765 | }); | ||
| 20766 | try testArgs(@Vector(2, u191), .{ | ||
| 20767 | 0x67074e5315030f5c1a4d035100736de691b5589f6d349162, | ||
| 20768 | 0x0e655397f96e3fd66b317294a37975d36478242fd6392259, | ||
| 20769 | }, .{ | ||
| 20770 | 0x56bb6bd23999b9af6230833f3c661fd54fa2f012673f88bf, | ||
| 20771 | 0x005c4fd0feb22f04ae76cd1479b6f0d6e62b76b249073cfd, | ||
| 20772 | }); | ||
| 20773 | try testArgs(@Vector(4, u191), .{ | ||
| 20774 | 0x793af4124df65a0815c1f1603d309d0094e1ee29a571ec57, | ||
| 20775 | 0x32163b39813a85f3c4ca626d14130258782eae8704f2ceb1, | ||
| 20776 | 0x64a0ac41f560153b3d1f3193faa818db7be2c66f0dbc2457, | ||
| 20777 | 0x195e210a66b88674fcb13b0bf26190442b71bd53b2df52fc, | ||
| 20778 | }, .{ | ||
| 20779 | 0x2668ee718a179e0fa57a1b72aa6a5dea00b60d8fe69a019c, | ||
| 20780 | 0x447df595f31d0bac74b0dd7a379fbaecb92b2aba1b8615f7, | ||
| 20781 | 0x0c794ae8369677209d714dd97092b5e4d0c6b9e794e6d9b9, | ||
| 20782 | 0x2c7a81900b3eef44190b5d0264f9bf072588720247f69693, | ||
| 20783 | }); | ||
| 20784 | try testArgs(@Vector(8, u191), .{ | ||
| 20785 | 0x1afd856825f4458371e2adcbdd7c1b1dbb935b8a6f4a6dca, | ||
| 20786 | 0x738efc41846cf88223553ed8b4c1b45366088bece1fe8052, | ||
| 20787 | 0x7841b17a1c38e4066376e5ae204959c02c524635740a9013, | ||
| 20788 | 0x4ea41d7c910dca17242c74dfb1aedbaf05c9b93fee1e5b77, | ||
| 20789 | 0x5c6ba91cfae1f4d49cb2b5cedfc090f0ffbde9afa6794788, | ||
| 20790 | 0x4582bfd463bdf1f5ff4da91fc65bc2a38823f45c05bc485e, | ||
| 20791 | 0x7cbac126c09224be8017d7d1c9a84014d2af0a3afb14a5b3, | ||
| 20792 | 0x3068064c244d43736c5454d45b576f4c62324dd5aec39e8a, | ||
| 20793 | }, .{ | ||
| 20794 | 0x49907c71f5e8fb9626727be7a949ae8ee47bfc3658b09614, | ||
| 20795 | 0x5a8f50d921fcdf9d0a20ff050ecbd2447cd3ab7ea3c4d9fc, | ||
| 20796 | 0x11bfcb2033ef38914dd35cf384f22d5ece33c1685616ba90, | ||
| 20797 | 0x1996b77370fef92a696ccd5e316eed50b2bc33ae10b245d7, | ||
| 20798 | 0x1aeacf955748c195f4ead3b032cafce35db2cf253f4065c1, | ||
| 20799 | 0x6661ba1be480a8ca7cb1ed35c01ec591c34ed15524412434, | ||
| 20800 | 0x0d357b77a9e3b924156e18bcf41a83620246ad419a9ce9c2, | ||
| 20801 | 0x467f70d48dfc54fa6cc3ba3f98e66cd1410283f1ec0ae934, | ||
| 20802 | }); | ||
| 20803 | |||
| 20804 | try testArgs(@Vector(1, i192), .{ | ||
| 20805 | 0x5348bc83a6f352c931d06b9817458273408470e8ce312bef, | ||
| 20806 | }, .{ | ||
| 20807 | -0x1e9beca133a9c8cde4b5dae26e198968806ca966c6b8c07d, | ||
| 20808 | }); | ||
| 20809 | try testArgs(@Vector(2, i192), .{ | ||
| 20810 | 0x468c1d585cd2e9549f9ead72889e80fedd3eb95a2ee8d869, | ||
| 20811 | -0x1c0276cb4b61b673492f493520098742edfa913d455c4f5b, | ||
| 20812 | }, .{ | ||
| 20813 | 0x4a503063a094c7e29c2ca37b6c686e16da8d921aa89c05be, | ||
| 20814 | 0x4c2141b98f3736551e6e08f1d24eb864842753a8c7112ef2, | ||
| 20815 | }); | ||
| 20816 | try testArgs(@Vector(4, i192), .{ | ||
| 20817 | -0x62a9e282152d85abe46e802c276f18b0542871984cd7bacf, | ||
| 20818 | -0x3f01fc751a8bdef2e7a884d7984d6189b36c46048de3035f, | ||
| 20819 | 0x2eb5379125d8169909e66f4b6bc903c5f6c92952872bf2fc, | ||
| 20820 | 0x308053e7f5da3a2906cf5b48ab3752a5820cb90ab56d58ce, | ||
| 20821 | }, .{ | ||
| 20822 | 0x6bcb4f6375a8ee60b73240550c89edbe0976acd548588d06, | ||
| 20823 | 0x1b63863c7a8871c34b2eed238ac4747508150578f60fd993, | ||
| 20824 | -0x2bc4a2065ebda452635e3c9cd420f9c01f869bf7abe75255, | ||
| 20825 | 0x6093a6f058b4da28e5f64ebe7684a5d34e2ed48c98bef114, | ||
| 20826 | }); | ||
| 20827 | try testArgs(@Vector(8, i192), .{ | ||
| 20828 | -0x41d1d3675490a69b9455f1dd57f0c6a7c5e88e734adee8d9, | ||
| 20829 | 0x03c5f5e58058b7a4a9038ac6717a1b70caf3851d017ed2e7, | ||
| 20830 | 0x1829fef2dd242cca51c638d69b51e00a6e7847e79df6117c, | ||
| 20831 | -0x4622b84d4b52f94d9c933ef3ac435968b1c0b1b3ac1d07a3, | ||
| 20832 | -0x1bb5b63f2ad4dbc0c0090131116680074a83f51f79d1af32, | ||
| 20833 | -0x6b75cf9bc97f9b012305b718bbc0672f86543a245c363297, | ||
| 20834 | -0x43eb0ec7a8995f1340977273858be8f3d620b503a5931574, | ||
| 20835 | -0x1dcfa8f4475abd395fb4e8f696cb25625de768b2d5cb0464, | ||
| 20836 | }, .{ | ||
| 20837 | -0x685420e7656ef93e813658d4eef9d44cb0acab0560894da6, | ||
| 20838 | -0x191a07e070edaa52554347726d2c0e1d701b52dd462b716a, | ||
| 20839 | -0x6a336f271fb3fa7cc33a441e6a0d9bba741d56bc5f83b113, | ||
| 20840 | -0x6313298dfc0492db682940661b6ae1a2f56159663f4ba525, | ||
| 20841 | 0x35b1588853218d6e00c358bff9d9bf86e399a8b5e3db2b67, | ||
| 20842 | -0x6bb7cfcd5f78cc6437544a271922eba4fc64c25d4a8a0732, | ||
| 20843 | -0x1a40ab85aabcabc56a4e5523c38f5e184aa5c81d9cdc93f5, | ||
| 20844 | 0x74438ae4acd2fa943409ad7b87feb48a467a845041aa8d21, | ||
| 20845 | }); | ||
| 20846 | |||
| 20847 | try testArgs(@Vector(1, u192), .{ | ||
| 20848 | 0x2058bb0137e3c0cf5c4afb9a17d6ca0646594ceadb5a041d, | ||
| 20849 | }, .{ | ||
| 20850 | 0xc1a1bff0426a68458ea170fba78d09a9fe172a5a3609e8eb, | ||
| 20851 | }); | ||
| 20852 | try testArgs(@Vector(2, u192), .{ | ||
| 20853 | 0x693ffb174c224e1139c22e38405ad42e96d229c3fd7a8af2, | ||
| 20854 | 0xce93932e25a8f26d8f3314dd0a56868ee899eeddb321da8d, | ||
| 20855 | }, .{ | ||
| 20856 | 0x69b7060f45d65d5d71ffd171aeebb3aaab8a3b313426f9b0, | ||
| 20857 | 0xd2953b80f910619b3e0af7d65fe8f840b055f8690b3b7a5e, | ||
| 20858 | }); | ||
| 20859 | try testArgs(@Vector(4, u192), .{ | ||
| 20860 | 0x4770c1f64c87afde65aec11764deed53f9a2d533875eb2be, | ||
| 20861 | 0x40b75e355dc0b2962e5ce23a5b990642371d9f6a80b133bd, | ||
| 20862 | 0x99c6d4c37fe86bd4d207fc56822f7ff6e8dfbda5f9d71256, | ||
| 20863 | 0x43d7f6d2a18f88224c447e88848ae335cb58f3122d36de74, | ||
| 20864 | }, .{ | ||
| 20865 | 0xaa5d91b484e03b2dc31fc09b69192c265155f978e1ec2294, | ||
| 20866 | 0xe474f9f62162317d3115396d50a33753b6b709cd3a06f5e5, | ||
| 20867 | 0xeab9e1fc9c5da4e6e676ebf7cb0d871e9633d738928b8134, | ||
| 20868 | 0xe493f9557f2e1eda644ee3a5055c912db265c302d588e2ec, | ||
| 20869 | }); | ||
| 20870 | try testArgs(@Vector(8, u192), .{ | ||
| 20871 | 0x3a38fe23afa76c5ac5f8e0c0b27c70d0ca17c8e184033066, | ||
| 20872 | 0x28104df9a858c83c6301788c0058fd6c58f7e62f0b735099, | ||
| 20873 | 0x040f1bad46838cfd6bd5d269415512f7fd129b8322e944c4, | ||
| 20874 | 0x5cc3d6202e8efb4d769535a20db0876c5142ce975cc175e3, | ||
| 20875 | 0x24211e6d3db188ef22afa6ab4a382bfebb0520b76562bcf7, | ||
| 20876 | 0x41c2ba9d1d085d99ffd58fd992c9508ed6cd975441710d0a, | ||
| 20877 | 0x09e6ae22e1869faba24973fc0f686f4310b06c8da2b8b9cb, | ||
| 20878 | 0x8ae0677c9dcdbe674d252a0c985a81bf9bf32001e2e8cc7e, | ||
| 20879 | }, .{ | ||
| 20880 | 0xe10819f5757f84ae79f934711e8cdcd6aac2848c9af0744d, | ||
| 20881 | 0xf0264ebb8882377dff3f82dcdb9dadfa2350d058be09933e, | ||
| 20882 | 0xa47708aedbc8100ef25a6de5eb01d7cd5f98074f69e1227b, | ||
| 20883 | 0xd0145ba1e2d64d053034e2beed2f47179bbafb8b90b5e5f9, | ||
| 20884 | 0xde348762a0ce1397ad611e84921a7f6f7e0683fd733b9a09, | ||
| 20885 | 0x4de07b2982883977940773c44ea2a2e2cbf1e1db94fc832d, | ||
| 20886 | 0x5af700739769e9ce05217e76638edf92a169bc4c3ee7542c, | ||
| 20887 | 0xa58a80368b056aa1987f504ff1261cff3f5ffc4474ab48a1, | ||
| 20888 | }); | ||
| 20889 | |||
| 20890 | try testArgs(@Vector(1, i193), .{ | ||
| 20891 | -0x0ccbf216d85fdae8d3a7ee2e7746bc6cc3aca87f3f8067f66, | ||
| 20892 | }, .{ | ||
| 20893 | 0x0906ac1fd6d47d6c762db9fcc02fa2987ee0c4d66312b79d5, | ||
| 20894 | }); | ||
| 20895 | try testArgs(@Vector(2, i193), .{ | ||
| 20896 | 0x0f3a3fe06faf1140bbe4eb5e0d0268edb529918745ef3ec9f, | ||
| 20897 | -0x0609f53b7f095f629a4b358fb0b77332a89dc203ac0cf28b6, | ||
| 20898 | }, .{ | ||
| 20899 | -0x0188251925a3542ea0d568901a19d67796b17339e9b73f88a, | ||
| 20900 | 0x00f9037c3dab02483b14195ab2ef737090f187b90ebee13e9, | ||
| 20901 | }); | ||
| 20902 | try testArgs(@Vector(4, i193), .{ | ||
| 20903 | -0x072798ac04a8ca26a36f587412c9bad03e855fd2049ba72ac, | ||
| 20904 | -0x01a8dd5d7cc5ae4f3342ea2af61c4349bb777e9d14108eeda, | ||
| 20905 | 0x0516fc9ec2e14cd7a5e27c0ea83826082c1097fe35f9f006a, | ||
| 20906 | -0x06bd00e1b3a8aff93618d16bcec743ad577e379a15eee0a72, | ||
| 20907 | }, .{ | ||
| 20908 | 0x0bdf3724329572c17cf6b82f7011daf08bf56bc28acfe650d, | ||
| 20909 | 0x08049ade287c9661565a18c5bf57d487cdfb5c111033ba199, | ||
| 20910 | -0x0917208e354d2765f0944bc9f50836d4bfcdafabfe8e2442a, | ||
| 20911 | -0x0a354ea6608f71254d97e615dc45495e0bcccf05466a2db2f, | ||
| 20912 | }); | ||
| 20913 | try testArgs(@Vector(8, i193), .{ | ||
| 20914 | -0x027bd975ae44664a34f52fd844ada5c23e4b0fa5586a274ec, | ||
| 20915 | -0x077e3522a9cb0c6aa10beeb1430e0ac356a48e90f6466c233, | ||
| 20916 | -0x0d0d02b7ab7876460c3d4d3118bef476e2c5ddae50af453d5, | ||
| 20917 | -0x065c502be097b15379af566a20c4ee93893718330c9a258ce, | ||
| 20918 | 0x08b5e11e5ff7422f25c99ab70c216eb77e35f269b5fb739a9, | ||
| 20919 | 0x0d827f83698f1365a5140e1d38072571dac4169c2124ee1d6, | ||
| 20920 | 0x062e1435b91faafeecadee5551c61dd01f0f132f56e849973, | ||
| 20921 | -0x0dbcd14bffb526c9f3286428e5eb273785128417f05336ce0, | ||
| 20922 | }, .{ | ||
| 20923 | 0x0a99c2d8d15184fcdaa5b68180f4e10b0c9fcde51d213c257, | ||
| 20924 | 0x02065bf7e8d093371795f7f376e2fb3ac857a05a3e1f6befb, | ||
| 20925 | -0x060f3874a6f65b46738d0117db38b749aff45725000c06213, | ||
| 20926 | 0x06019cbc9b1466b7669690ae9c6f095257d1c8874e5e27353, | ||
| 20927 | 0x0bde8419e795cbad708c76ca90de50c00b585c44d78b2ad68, | ||
| 20928 | -0x02e271e95d11dbe0cb77c8b829c739bc00e6c9b2f7b532a29, | ||
| 20929 | 0x0318a691ab34dabf1804facf1b773a9fb6f9e9fd9e63d985e, | ||
| 20930 | -0x04d151cd85a0bc49683bbdba28e2410292dc5648335819fae, | ||
| 20931 | }); | ||
| 20932 | |||
| 20933 | try testArgs(@Vector(1, u193), .{ | ||
| 20934 | 0x16d3f2329dafe80b17fdff6bfa688636ae9b5ba311b276f3a, | ||
| 20935 | }, .{ | ||
| 20936 | 0x15f95cc088cd4d4cabf9de25cad565d1880515c869da2866e, | ||
| 20937 | }); | ||
| 20938 | try testArgs(@Vector(2, u193), .{ | ||
| 20939 | 0x1a40ffb1b6f0762c975581a45d9b6811b96eda8cdd6eb497c, | ||
| 20940 | 0x1b010ecf0ba30ca695c39cce25d82142f4c67aa1f8ae39947, | ||
| 20941 | }, .{ | ||
| 20942 | 0x0851339a84dee70faac763dbd9cbf884c09f011f093846f20, | ||
| 20943 | 0x16be7f51577c5cfcd423ecdac1bd0edd1fbce6755d7b20cac, | ||
| 20944 | }); | ||
| 20945 | try testArgs(@Vector(4, u193), .{ | ||
| 20946 | 0x10e099200fef4497ed4be9e11269a254ee4f7fea53ae1e360, | ||
| 20947 | 0x16cef44c285c1d6364cefe22db70934fba8d31dcbcefe2699, | ||
| 20948 | 0x074c07744bd683a1a5ec77bcb1ac4cda8b840d5b6e5da9852, | ||
| 20949 | 0x063c5565fbb29b63de719fb574657d50af454f33fb79f59fa, | ||
| 20950 | }, .{ | ||
| 20951 | 0x09cd6adfaaf1b9ed0fd6370049a2227088d9b834b74412a3c, | ||
| 20952 | 0x0162bc69f5c0da662e3862ea235ea46819b737de31d258a45, | ||
| 20953 | 0x111191f24663c0a425bd31ead4496b4693a089d6bd6082a11, | ||
| 20954 | 0x127c9d184e79d0b80a87d9acd7fb79d93fd9b08ff480acef9, | ||
| 20955 | }); | ||
| 20956 | try testArgs(@Vector(8, u193), .{ | ||
| 20957 | 0x171ea804993233dcf14ec91b9185a1520416bebdbb2f0f4b3, | ||
| 20958 | 0x0f74e7e8f4b4759d22de5120dfb4db57205990a899ab3698b, | ||
| 20959 | 0x094e8a7bf8cf2a802d3a79f77d3932e8a65d11378fb6f8ece, | ||
| 20960 | 0x06d07aea60256fcb65c306b32ace35809b45baf5fca21efd1, | ||
| 20961 | 0x17df00d2223a949f6119a3c8cf0cd87165ed48f93ad0eb921, | ||
| 20962 | 0x173b7201aa391de8d236ff30ed8ae82b7be2ff5de51285361, | ||
| 20963 | 0x02a95d9fae7d18739a93e174d9ea1b2f108bd2f5997dfa42f, | ||
| 20964 | 0x0bffa67d4ac0f4bb56cd4fec9ea53d47896f05fd4efc0f6e0, | ||
| 20965 | }, .{ | ||
| 20966 | 0x08485a8df517ac7bf9d02ec8d0c34c246dad221f1ea51596b, | ||
| 20967 | 0x0986d1fda1bca4b83da2cace25768e4d91d89028889443cfa, | ||
| 20968 | 0x1faa463b7389740db0cf14b3274f1f955536c6a929c89df82, | ||
| 20969 | 0x072b004463fc7c58f3ae51d7d5d44ca208205ad3396fa6c8b, | ||
| 20970 | 0x1ee3603ef444b40e5ef74b6d79f3433648fdbfb918d50e4b7, | ||
| 20971 | 0x1612fe2493d3e02b2fd38ef7664aa9fb079db6843bb201100, | ||
| 20972 | 0x0d1a4e0c9596afd18e6f06c04ec3fb1bfb660133fc0c7f7aa, | ||
| 20973 | 0x0de0220f630f0ac5a699cb36d7ced9da11b272dd2eb66e96e, | ||
| 20974 | }); | ||
| 20975 | |||
| 20976 | try testArgs(@Vector(1, i255), .{ | ||
| 20977 | -0x228071e5036248a576fc6f30bda6553bc4f08505cd4fd272e681ddd1a551db11, | ||
| 20978 | }, .{ | ||
| 20979 | -0x14c82347566b6d8eb19064009a7ef16e2d08cd6e40b4bf34f1e6723ad9b0d625, | ||
| 20980 | }); | ||
| 20981 | try testArgs(@Vector(2, i255), .{ | ||
| 20982 | -0x39313c0014d4850a7957418b2fdfc83a0c29c5f04d90ccd634d7b4e52ee6aef2, | ||
| 20983 | -0x096abeb3fdc6451052a96557657d917e9128765c256f83403f788992dd0cd486, | ||
| 20984 | }, .{ | ||
| 20985 | 0x2765779b4ffc6c405173fe64f621af1c7d63a91ab3fe5809d066fc428f630c47, | ||
| 20986 | 0x206df1159f268d4fd99dc8d2228718189161d7095f0af64c7dee86a34a7b875f, | ||
| 20987 | }); | ||
| 20988 | try testArgs(@Vector(4, i255), .{ | ||
| 20989 | -0x2c31b98911222faeed03f6625c8a75e0ce5fa53be49e79a26695dde5610e28e4, | ||
| 20990 | 0x38506947b5f5e5ed4cf3f0738140bb988af9e7cf514862861ec7259a8426b4c1, | ||
| 20991 | 0x01ba20e69c07a1e8845b1cc837d8d588480a2a52b15f0a5532c763f91f3dad9a, | ||
| 20992 | 0x1877f8233a0a96c33ea2aed47e3388f8961d4a81dd6c8c1a48c77aefe1b7ed6d, | ||
| 20993 | }, .{ | ||
| 20994 | 0x021a3c326f7841068338bbc9ee73fba9b36050156f2a6d3b44ecfdf2273496dd, | ||
| 20995 | 0x0865f2eb5a35c85c480880b26a9a03f51e0f4cd9bbc2b8ab2755f2aadf1cf0e6, | ||
| 20996 | 0x0d41a6c3956465b187286d95a42d42033f593be4bd681e757f1154a0735b894a, | ||
| 20997 | -0x0b87a6b415579cd9889321b01ad8d2b722dc6c932cf7aa97a0c8c807be5f6d68, | ||
| 20998 | }); | ||
| 20999 | |||
| 21000 | try testArgs(@Vector(1, u255), .{ | ||
| 21001 | 0x49ee4da820d884bb3693fb576d5b2f16c9f064ba1da5a81838911813a6445dc9, | ||
| 21002 | }, .{ | ||
| 21003 | 0x0afbdec22d512f0d88a95d179e6fc901c7f682be0746ce9acfca17b748543381, | ||
| 21004 | }); | ||
| 21005 | try testArgs(@Vector(2, u255), .{ | ||
| 21006 | 0x293f83519c238a446748193388e0ab75567a03a458b4873f4c2b16b9250f15ff, | ||
| 21007 | 0x1f0f33f7c2d6fc271ae497b6e3b7a7c6fdff096a321843aebd6d07d7f3050bef, | ||
| 21008 | }, .{ | ||
| 21009 | 0x788c4bf8d34d23eb8147a7f36ab2d09a96be0f4bcaa6be6816447e9e6e39d0f8, | ||
| 21010 | 0x2fec35d0092202f654993429949fd5c121554c3cf6072239fcf35aa44d45dd1b, | ||
| 21011 | }); | ||
| 21012 | try testArgs(@Vector(4, u255), .{ | ||
| 21013 | 0x5477956be73c0d9af22c5214b47a39761bf0e88c92dc08ad1955b12f60575982, | ||
| 21014 | 0x4fd80abb62788804ff3edac72d91096e3747a8fe5a53e5f63b0cb4c1ec85a626, | ||
| 21015 | 0x411f513c4e4dffd0a699f99b3d9aa50c315fccee34d183086b8209f42d965cd4, | ||
| 21016 | 0x2561cd45d8e7fb3ddd810396823997354e7c2c4c5529d66b30f5a6ef095d92ce, | ||
| 21017 | }, .{ | ||
| 21018 | 0x4bb37f557ba14ab84ebc762ec943d39f5250ecb6005935f3269ba60d8df20d61, | ||
| 21019 | 0x38358daa8c05bc317383942e3a9189d2f205ba705a76f9285acf9f223d954b36, | ||
| 21020 | 0x3616b6288a23c31fb4412739d002df3d50b19d23995585a43dfcacc547f1eb49, | ||
| 21021 | 0x00b4ecb3ddfce395458e448c299f74d8f5c37e36a14d9ba5b6bf8dd3917522d7, | ||
| 21022 | }); | ||
| 21023 | |||
| 21024 | try testArgs(@Vector(1, i256), .{ | ||
| 21025 | 0x1fe30aed39db1accf4d1b43845aec28c1094b500492555fdf59b4f2f85c6a1ce, | ||
| 21026 | }, .{ | ||
| 21027 | 0x6932f4faf261c45ecd701a4fe3015d4255e486b04c4ab448fe162980cead63fb, | ||
| 21028 | }); | ||
| 21029 | try testArgs(@Vector(2, i256), .{ | ||
| 21030 | -0x23daa9bab59dc1e685f4220c189930c3420a55784f0dec1028c2778d907ccfe2, | ||
| 21031 | 0x521c992e4f46d61709d39e076ed94d5d884585f85ccbf71ca4d593da34f61bf5, | ||
| 21032 | }, .{ | ||
| 21033 | 0x2d880cb5aa793218a32411389db31e935932029645573a9625dd174099c9e5b2, | ||
| 21034 | 0x2394a6cde7e8b2dc2995f07f22f815baa6c223d99c0b1ec4b2d8abd0094db853, | ||
| 21035 | }); | ||
| 21036 | try testArgs(@Vector(4, i256), .{ | ||
| 21037 | 0x244e66ed932a4d970fd8735c10bfbd5f59bd4452c20fa0fcf873823b8c9e6321, | ||
| 21038 | -0x31577b747614b1ab83fd0178293cd80b3cb92e739459b2d038688a2471f6d659, | ||
| 21039 | -0x0dbdfc3d8bbd7cab6a33598cef29125aab7571fb0db9a528e42966963d6ce0e7, | ||
| 21040 | -0x72c58cce172d8a34019a44407a4baf1f8f8a4a611711bd5bb4daa2a2739dd67b, | ||
| 21041 | }, .{ | ||
| 21042 | -0x2e88bc68893fc2d61af0e5ccb541f31fa6169504e8cfcbeab0b74a03b9e86c33, | ||
| 21043 | -0x7eba0783f3382b59a17ffbea57ba1dd8fa30e2d4f7eba7ed68d336d3c37b4561, | ||
| 21044 | -0x66d1463efd38e9e994e126d09b5c65c8efc932ffea9ec6cdf6042561ba05f801, | ||
| 21045 | 0x2024bbacefbabbfd5b32a09be631451764a1f889a77918f9094382dc6d02aef2, | ||
| 21046 | }); | ||
| 21047 | |||
| 21048 | try testArgs(@Vector(1, u256), .{ | ||
| 21049 | 0x28df37e1f57a56133ba3f5b5b2164ce24eb6c29a8973a597fd91fbee8ab4bafb, | ||
| 21050 | }, .{ | ||
| 21051 | 0x63f725028cab082b5b1e6cb474428c8c3655cf438f3bb05c7a87f8270198f357, | ||
| 21052 | }); | ||
| 21053 | try testArgs(@Vector(2, u256), .{ | ||
| 21054 | 0xcc79740b85597ef411e6d7e92049dfaa2328781ea4911540a3dcb512b71c7f3c, | ||
| 21055 | 0x51ae46d2f93cbecff1578481f6ddc633dacee94ecaf81597c752c5c5db0ae766, | ||
| 21056 | }, .{ | ||
| 21057 | 0x257f0107305cb71cef582a9a58612a019f335e390d7998f51f5898f245874a6e, | ||
| 21058 | 0x0a95a17323a4d16a715720f122b752785e9877e3dd3d3f9b72cdac3d1139a81f, | ||
| 21059 | }); | ||
| 21060 | try testArgs(@Vector(4, u256), .{ | ||
| 21061 | 0x19667a6e269342cba437a8904c7ba42a762358d32723723ae2637b01124e63c5, | ||
| 21062 | 0x14f7d3599a7edc7bcc46874f68d4291793e6ef72bd1f3763bc5e923f54f2f781, | ||
| 21063 | 0x1c939de0ae980b80de773a04088ba45813441336cdfdc281ee356c98d71f653b, | ||
| 21064 | 0x39f5d755965382fe13d1b1d6690b8e3827f153f8166768c4ad8a28a963b781f2, | ||
| 21065 | }, .{ | ||
| 21066 | 0xbe03de37cdcb8126083b4e86cd8a9803121d31b186fd5ce555ad77ce624dd6c7, | ||
| 21067 | 0xa0c0730f0d7f141cc959849d09730b049f00693361539f1bc4758270554a60c1, | ||
| 21068 | 0x2664bdba8de4eaa36ecee72f6bfec5b4daa6b4e00272d8116f2cc532c29490cc, | ||
| 21069 | 0xe47a122bd45d5e7d69722d864a6b795ddee965a0993094f8791dd309d692de8b, | ||
| 21070 | }); | ||
| 21071 | |||
| 21072 | try testArgs(@Vector(1, i257), .{ | ||
| 21073 | -0x037f102b7ce87d2f4c704b7dd9c77c79d5ef99cbaa890cdf5be7f1c991b377f12, | ||
| 21074 | }, .{ | ||
| 21075 | 0x0e6613140253b86eb76f9cf0da699c734f1073559d4d59b876727531aa1566a3a, | ||
| 21076 | }); | ||
| 21077 | try testArgs(@Vector(2, i257), .{ | ||
| 21078 | -0x0516f834d832f5b33a8b766b5830ae9b6ed2a8be3347d7cce6a0d536c0ccdcda3, | ||
| 21079 | -0x04148b4556c411a3db079163f1aba615971677b03abf31a34abe73cf054957e01, | ||
| 21080 | }, .{ | ||
| 21081 | 0x01de4743d129cde4400547974ca9e9cfe234fe8fa67ec3c00f70b52f16a683ac9, | ||
| 21082 | -0x010dfb09c7a42112f07962065751b8bcabe282143d79aaad484080f2c15ac41a1, | ||
| 21083 | }); | ||
| 21084 | try testArgs(@Vector(4, i257), .{ | ||
| 21085 | -0x097f0ce2c2a4de17cd779503e3e86de1fa9153ca69674546367166703b79658aa, | ||
| 21086 | 0x0d6414d92755101344039202da1d6ea15e7054817dbcf4f30c16f85eaf48f3a85, | ||
| 21087 | 0x01e73273f475e7fb3111f8a4212eba3f736c536006f1f1a0fa0656fd3fc34fc66, | ||
| 21088 | -0x0277808e445419c1f814213ef86dec08f7a0192ac985dd22043a8161e0f291c42, | ||
| 21089 | }, .{ | ||
| 21090 | 0x0a3a6678ee5f9458ea259d8434c1604cbfab67b294525a7b2e6ee5dee752db0d8, | ||
| 21091 | 0x009f39291d0f97269ce694958d6252a666b928737e645865e38fc70995307290a, | ||
| 21092 | -0x0beed4ee766fb1a04a66a0cbad3da0f471b5c0e32c252279b23feddad2877d35c, | ||
| 21093 | -0x02ad0e2fa1940ad0d2ba67f8f27b486ec781bf5da1f580a9bba0ba8bb0d11aff5, | ||
| 21094 | }); | ||
| 21095 | |||
| 21096 | try testArgs(@Vector(1, u257), .{ | ||
| 21097 | 0x1bb62cd7dbcbbbf2e708871d12f647840997f16f6d322eae96393b3b46ad0ae11, | ||
| 21098 | }, .{ | ||
| 21099 | 0x1d4361c83425068c40a7a142019b4004a496cf16649773aa04431225b189fbd68, | ||
| 21100 | }); | ||
| 21101 | try testArgs(@Vector(2, u257), .{ | ||
| 21102 | 0x08459d63d1124e6bf747a2dba45df79ba9813451189f4e9bd8fcae37d92646ef9, | ||
| 21103 | 0x1336f89e29d7da4d741e10a8a8016e007ad3f475c7b302a03271f0edcb2dbaa98, | ||
| 21104 | }, .{ | ||
| 21105 | 0x0fd91b46af0a41227ae191250a1d49b7e44e4435f371eac7e8355b8f3ccff1ccb, | ||
| 21106 | 0x03914f3814478e96cf3efb4169aa36747aa4bc33daa56ca41134dd71a3af85de6, | ||
| 21107 | }); | ||
| 21108 | try testArgs(@Vector(4, u257), .{ | ||
| 21109 | 0x0aa2d811711d70ec5dd639ecb979dda726c157bdc18dc34447c3026fac49d3909, | ||
| 21110 | 0x00652c96fa6a34772a424e4b9c7c3613558c79f4144349e0d700c15ff9ec2f974, | ||
| 21111 | 0x11b10abfe69b4f75c11e0a0ee128526ec9f3fb7b32502d1005984b0c0652ff7c4, | ||
| 21112 | 0x053ea83a9caded41dd751a742b49b062fe1fd62af3d3025486bc1af7921225ab0, | ||
| 21113 | }, .{ | ||
| 21114 | 0x018c2110a0432d0acd462886f559f826bdfb05e91e61e2928a3a43b98d1e6bfab, | ||
| 21115 | 0x1b212dde794f97203018963e51b025b21a5dd47f04a007fee80aaaadb87e30140, | ||
| 21116 | 0x1394a84c2431e46862d33dbf0dd0cf23f7ff7f85c0107c04cdeca1c168df5c556, | ||
| 21117 | 0x060c9e2ba327cde7650bbe329345b4184223d77adda253c5f425531676e863c8b, | ||
| 21118 | }); | ||
| 21119 | |||
| 21120 | try testArgs(@Vector(1, i511), .{ | ||
| 21121 | 0x25c69b25440d3059c5c38ba2771252430152afcbcb988d8c5de0832f49f1d8649a17a4e0dd508d8cd7349adc4ba228902099092726af175a8f04f29a19ded5ed, | ||
| 21122 | }, .{ | ||
| 21123 | 0x0c28729ed05abb52e888bb7fefe58f783ed5c7ef3c8a4cdd7349fe47edca26db746de0308e642b64b659a52e17405dac9932ec43499e6f17b6cbebcab597e577, | ||
| 21124 | }); | ||
| 21125 | try testArgs(@Vector(2, i511), .{ | ||
| 21126 | 0x2b6235f2d231f63ebc67ac71893fa5ad6f2125b6d50a5f9eedaf8bb4de3e116939ab5b2c0e9b7cbc0a2308c3a5dd4a99049f4538cffd4155b24721e3c77bc268, | ||
| 21127 | 0x10cac70f8d1dbb88f1dfd913823e8fa53ad58f54929222c1c7bedb591dd3c90ecc5c1239fccc80515b5bbf4c4d47669f267b3880dd8f465f6c7e9fc6e63faac4, | ||
| 21128 | }, .{ | ||
| 21129 | -0x3dc3af786e95767befb16c51f5602029a5fdbc76dafafeab2c409168332f8c5c038a0e7f3d0021acaf6eb6f6ff9a232a9dd19e5b33c7c4158f8f1798150448f1, | ||
| 21130 | -0x0eeaa2dc65820153224f26847a99a3626d6ee9991ecba613e721bbd169e69371dd5bcadc8983ae9b82d77376b0e8179997e400fce64c74c9efd2b4a5f174b854, | ||
| 21131 | }); | ||
| 21132 | |||
| 21133 | try testArgs(@Vector(1, u511), .{ | ||
| 21134 | 0x207381c6b742f50bf76d0d220943d9354d96f4cf27e979bac6c8f47d70d64d44153dd6c2ed62cc7b5a4fce98600382fbece15ee4e4b3d1c0d4277a553ac01c10, | ||
| 21135 | }, .{ | ||
| 21136 | 0x35ad1698d693b3b7618d1243163f1ce2beb5f6c3c7b6e33a24ce9639e5a3a30f78350f4c3c818512377bf89851388e1d444a50b20a10a2ce66c60d0af1bebc84, | ||
| 21137 | }); | ||
| 21138 | try testArgs(@Vector(2, u511), .{ | ||
| 21139 | 0x039131b98944347f35fe54337902bba6b975a1b6bd9e36a20e236f3149b53156b5bfa0b468a56dfb1c09684a8f24b5d548c6e216c20dde01813c044cf031a3eb, | ||
| 21140 | 0x43ac7c9afa88f5169405ff4963557bb7e78ed15eda5bfa91335f7d9117ee13d969d6cdd2f0910f8865cb57687fd2e0f4e6cb188bb34759609724a7ce128c0db1, | ||
| 21141 | }, .{ | ||
| 21142 | 0x43dc8c03e26c12e96d69076a68afd3e0515ffd67fd2b2aeb8457c92e7e2ec6c503a362866ddd99d4a4f21e7bece901e3df76a9496e978d11f4c4cc50d1e52601, | ||
| 21143 | 0x4f97c33b53b3c4b5a59c257b575149524e7e4ec4fcfe1574a9a3111b066959d39affe87e6e99656a80d64ae95d60ef4f90c2544559d22abbf26d6ab34e5b3074, | ||
| 21144 | }); | ||
| 21145 | |||
| 21146 | try testArgs(@Vector(1, i512), .{ | ||
| 21147 | -0x439ba81b44584e0c4d7abc80d18ab9d679a4e921884e877b28d04eb15b2d3e7be8d670b0aba2c4cc25c12655e1899ab514d0a6e50a221bcf076d506e6411d5c2, | ||
| 21148 | }, .{ | ||
| 21149 | 0x18b1d3be5a03310d82859a4ab72f056a33d1a4b554522bcc062fb33eda3b8111045ee79e045dd1a665d250b897f6f2e12003a03313c2547698f8c1eab452eae1, | ||
| 21150 | }); | ||
| 21151 | try testArgs(@Vector(2, i512), .{ | ||
| 21152 | 0x28e2ab84d87d5fb12be65d8650de67b992dd162fe563ca74b62f51f2f32e1084e03e32c8370930816445ac5052b4d345059c8ace582e3ef44377b160e265ec9b, | ||
| 21153 | -0x3a96548c707219326c42063997e71bc7a17b3067d402063843f84c86e747b71e09338079c28943d20601c0cde018bad57f5615fc89784bcb6232e45c54dff1db, | ||
| 21154 | }, .{ | ||
| 21155 | 0x64beecc90609b7156653b75a861e174c58fb42d5c7bf8d793efbb1cbe785c6b8cd52ce5f9aa859f174123c387820d40a2f93122b81396d739eb85c3ea33fcd37, | ||
| 21156 | -0x3632e347bc6d794940424ca0945dafa04328a924ec6b0ccdedcda6d296e09aa2dd5dca83b934cac752993238aa4fe826be8d62991c9347bae6f01bc0b1b4223d, | ||
| 21157 | }); | ||
| 21158 | |||
| 21159 | try testArgs(@Vector(1, u512), .{ | ||
| 21160 | 0x651058c1d89a8f34cfc5e66b6d25294eecfcc4a7e1e4a356eb51ee7d7b2db25378e4afee51b7d18d16e520772a60c50a02d7966f40ced1870b32c658e5821397, | ||
| 21161 | }, .{ | ||
| 21162 | 0xd726e265ec80cb99510ba4f480ca64e959de5c528a7f54c386ecad22eeeefa845f0fd44b1bd64258a5f868197ee2d8fed59df9c9f0b72e74051a7ff20230880e, | ||
| 21163 | }); | ||
| 21164 | try testArgs(@Vector(2, u512), .{ | ||
| 21165 | 0x22c8183c95cca8b09fdf541e431b73e9e4a1a5a00dff12381937fab52681d09d38ea25727d7025a2be08942cfa01535759e1644792e347c7901ec94b343c6337, | ||
| 21166 | 0x292fdf644e75927e1aea9465ae2f60fb27550cd095f1afdea2cf7855286d26fbeed1c0b9c0474b73cb6b75621f7eadaa2f94ec358179ce2aaa0766df20da1ef3, | ||
| 21167 | }, .{ | ||
| 21168 | 0xe1cd8c0ca244c6626d4415e10b4ac43fa69e454c529c24fec4b13e6b945684d4ea833709c16c636ca78cffa5c5bf0fe945cd714a9ad695184a6bdad31dec9e31, | ||
| 21169 | 0x8fa3d86099e9e2789d72f8e792290356d659ab20ac0414ff94745984c6ae7d986082197bb849889f912e896670aa2c1a11bd7e66e3f650710b0f0a18a1533f90, | ||
| 21170 | }); | ||
| 21171 | |||
| 21172 | try testArgs(@Vector(1, i513), .{ | ||
| 21173 | 0x0dd56664962c44dbd9941a8e45102e1e050ef164752b954c4029ce6a28752c97b76ce3b0ae50dd09076fc16c89c628bf82ea7d3250101c3ee1316e8c51a746a4b, | ||
| 21174 | }, .{ | ||
| 21175 | -0x0c4f50a700f8d91c3944c66e6932ea9cf0433a309dd41fd8ec1ab6e7c7f031de17c7fa7bde7a162fd653c1911aeddd176271f5bd76cca68eeab79ffde88835808, | ||
| 21176 | }); | ||
| 21177 | try testArgs(@Vector(2, i513), .{ | ||
| 21178 | 0x0099b42682a76cfc1d6a0b680cd44c907387e78ca92d4c30c555dd6b05f136ad7e136f892641f1b256ef2aa10b1497d1e5a25c9e29260bd861b4fdc1ccc821a4c, | ||
| 21179 | -0x03aafdfa35c0b27515ee422ee71afcb157c6b578a77b514a6134e759bd80100f41344d6016a4dc252034667cb7a9b5165c058c5af0a632ed4b9a49d345b54d711, | ||
| 21180 | }, .{ | ||
| 21181 | -0x07c699f50cc1592587bae58fa52742130df1dcd12da8ab1a15d48cbb3c8adeccacd16da37b91ba8a4ffe02669a089e3a1aadf325f161b99a010e76275a11f8dd0, | ||
| 21182 | 0x0cec94f5064e3d4736016908cee5bd5469c2c60ed22c560a68b5bbc3a912b984195d7a2aa499db9b67779eadf0158ac9e9c166d58d42720834c5cde96d9a22c33, | ||
| 21183 | }); | ||
| 21184 | |||
| 21185 | try testArgs(@Vector(1, u513), .{ | ||
| 21186 | 0x167f9eb1095f756f462ceb2a48b7a5230a92f9ca6c572f394d741475cfa791e9666852b7696944f624f938f9474fe64e2189c1a584bdadc70d0f6db5c94355c78, | ||
| 21187 | }, .{ | ||
| 21188 | 0x06566ddffb298aee609074e06fbd881774623431f401410416645844a6c95f65cb08e1765f9c80bdf8f6d0d4c8ec9113d96b6e94cf97909d7da8c6165773162d8, | ||
| 21189 | }); | ||
| 21190 | try testArgs(@Vector(2, u513), .{ | ||
| 21191 | 0x0e58f2fad85c025548e8c011faf78307d5237f25c41a319b0ea826704fba3db56f5e1074e6c76c8ecb83004058ff7dc5157d397d93d6725ac604efe0a48e27b8e, | ||
| 21192 | 0x1635d3b34a3186f0e3c8d6ecdea25c84be4ef1f1bbc503dba90e9a260ffd8ec781b857c28e30fcc108ea93c3afa6acb91de3ad3fdb8e68cacdf412bcd31121c5e, | ||
| 21193 | }, .{ | ||
| 21194 | 0x043c3969668c05c0bec64d7be9741790a17588b8fd35ab88b8708c32658acc6e92dfc1691ee41da1278f7abbfc3f92aea885cabc17c556688f0971ca40b2acdef, | ||
| 21195 | 0x198d4fc313ec8bafc85712c426223460c465a976aade6ca2b21ccb216257519675dda21f0707134920d23479c983e0d8fc75bb5e113f19fa3b4f63a69329cf723, | ||
| 21196 | }); | ||
| 21197 | |||
| 21198 | try testArgs(@Vector(1, i1023), .{ | ||
| 21199 | -0x18ad357e523014b4b2b02d7802e8d6687e0b37e0e20bc992d9a1d3498cdccc3683c62628505026725ccab8e2d7da378de5e3dd539f168530e83b8add890851977a58c640102ebeb7d15f56b024a54636008af9232f73ac4a83f9e502ed1f6cf0647e4d6c2cc6c6e8fc4a49abcb2e34fa927cc114692905d73ffed1aed664eab4, | ||
| 21200 | }, .{ | ||
| 21201 | 0x29757ede90f3fd7a77d970667941eee2f7f7df5dc1100562c8e3bd45dcf1cbbbffface90f0b4f2aef49642e1cdeaa19045cc6dcf9f81750bee8e9d84d951da233d16878ae1473d42146660bc454a78a4bc22ebf2916b7f535c4b88302ea0108b458bd38660e95b0ae703d268cff78b39be828918cf6bd9ad16a90d407d3ee5b1, | ||
| 21202 | }); | ||
| 21203 | |||
| 21204 | try testArgs(@Vector(1, u1023), .{ | ||
| 21205 | 0x7e22aa4f394329943e1f265df8327c44032b28baea5ce81dfdf9781ed2c9ad337964b57c1ad4cb03cb920035c85e8c6e475ad33742874226beeba62e3e130ff6fbd21e902e49f7f95c7c3b1c6d7ce34a1ed85ba8028b41d19ab9547e05da56e6c8fba7c9c4f949412808ac3fb8709e490a859bebe22a77e704c04ea44a4579a0, | ||
| 21206 | }, .{ | ||
| 21207 | 0x4d2ec73e1a38a7373514259ed749a9895a5c45e53498ad3e75690116ec167321c0bcaa4fe86301b486eba831e7c15c3872676afe677d01ad5d088b51d64248d1bce2e191dcb87d6c9f9b944554b5c5a74bb64c7eea50a0badc2f292251b640c97d5b8e9010eb2f034d77b3a7f14aafb76c104b196a4b76073503acb085055209, | ||
| 21208 | }); | ||
| 21209 | |||
| 21210 | try testArgs(@Vector(1, i1024), .{ | ||
| 21211 | -0x4fe568569c0531c9bfbbda1516e93a6c61a3d035c98e13fdc85225165a3bea84d5dc6b610ced008f9321453af42ea50bbf6881d40d2759b73b9b6186c0d6d243f367e292cbbf6b5c5c30d7f4e8de19701c7b0fc9e67cdf31228daa1675a4887f6c4f1588b48855d6f4730a21f27dec8a756c568727709b65cd531020d53ff394, | ||
| 21212 | }, .{ | ||
| 21213 | -0x7cab2a053dfbf944cd342460350c989fd1b4469a6c7b54ddcacd54e605d29c03651b5c463495610d82269c9ac5b51bfd07816a0f7b1ab50cb598989ed64607b3faff79a190702eb285b0fedc050ec1a71537abc47ec590eb671d4f76b19567049ba4789d1a4348385607a0320fbff9b78260536a9b6030bddb0b09da689d1687, | ||
| 21214 | }); | ||
| 21215 | |||
| 21216 | try testArgs(@Vector(1, u1024), .{ | ||
| 21217 | 0x0ca1a0dfaf8bb1da714b457d23c71aef948e66c7cd45c0aa941498a796fb18502ec32f34e885d0a107d44ae81595f8b52c2f0fb38e584b7139903a0e8a823ae20d01ca0662722dd474e7efc40f32d74cc065d97d8a09d0447f1ab6107fa0a57f3f8c866ae872506627ce82f18add79cee8dc69837f4ead3ca770c4d622d7e544, | ||
| 21218 | }, .{ | ||
| 21219 | 0xf1e3bbe031d59351770a7a501b6e969b2c00d144f17648db3f944b69dfeb7be72e5ff933a061eba4eaa422f8ca09e5a97d0b0dd740fd4076eba8c72d7a278523f399202dc2d043c4e0eb58a2bcd4066e2146e321810b1ee4d3afdddb4f026bcc7905ce17e033a7727b4e08f33b53c63d8c9f763fc6c31d0523eb38c30d5e40bc, | ||
| 21220 | }); | ||
| 21221 | |||
| 21222 | try testArgs(@Vector(1, i1025), .{ | ||
| 21223 | -0x0aac7daecbe81ad0f5b3582238ce842a9e57f580af344429c55785eb8ce32d28658417792d10e5263c6c7d0ab7d8ab6198d78bd024ce9c23de9470b20aa6eaf9dd301034cfee6b22025be5df4e91708d7cc9e980959a449b0cb893355392d1c94c4a4ed67d91108df655383f5f8fcde66f22dbd6453d838c1d160fb80ee07ab18, | ||
| 21224 | }, .{ | ||
| 21225 | -0x0be0a1d4693d8969af6e26aa98ddb82f44124aa292fb336dd90cb5f28d708a33ef2d055db58e32578c5c20bb436a613b8ca214914db5066d458599600ced96129f4894b80293a3975e2bf7fd1a1f396d128ef89fd0609d2e518534e66c5e46c90b0a73e4a807c8a6decba204ac6e11859a492df1c81beec8b04961afa8544e081, | ||
| 21226 | }); | ||
| 21227 | |||
| 21228 | try testArgs(@Vector(1, u1025), .{ | ||
| 21229 | 0x129e165d8601a1ef41658e3ab9a7d0993124c46a37a672395a1314d5f8984de3c73e4569f1bd91f28aa8bf3e940d2121ef8bb557023abd80deb6761a7b0e2597763e5b895a52fc32308cc39b34a31f17fd8fe04bd1817e5b4a1046bbc1ee2bd360274e667be4392874a7dd8de7c8c054e3e6919302cb2ad46743798591ad0accb, | ||
| 21230 | }, .{ | ||
| 21231 | 0x07ff746b3d7ed091996cb20d21d6e85397c7daa127063a9f30cdb91483b145f2af3aa0bcf58188bc171e97a7b07800ee007af0305fb40e086ed2289dc7c303961d325bb799920a47de27bb16f6a868d80e93769982d81aa56cc3d1dbc87f1138179f0af4f6def885ade090d2725a044b500ef56fe39794906d45330fab9a4f81f, | ||
| 21232 | }); | ||
| 21233 | } | ||
| 21234 | fn testFloatVectors() !void { | ||
| 21235 | @setEvalBranchQuota(21_700); | ||
| 21236 | |||
| 21237 | try testArgs(@Vector(1, f16), .{ | ||
| 21238 | -tmin(f16), | ||
| 21239 | }, .{ | ||
| 21240 | fmax(f16), | ||
| 21241 | }); | ||
| 21242 | try testArgs(@Vector(2, f16), .{ | ||
| 21243 | 1e-1, 1e0, | ||
| 21244 | }, .{ | ||
| 21245 | -nan(f16), -fmin(f16), | ||
| 21246 | }); | ||
| 21247 | try testArgs(@Vector(4, f16), .{ | ||
| 21248 | 1e-1, -fmax(f16), 0.0, 1e-1, | ||
| 21249 | }, .{ | ||
| 21250 | -fmin(f16), -1e1, 1e0, -tmin(f16), | ||
| 21251 | }); | ||
| 21252 | try testArgs(@Vector(8, f16), .{ | ||
| 21253 | -fmax(f16), -fmin(f16), -nan(f16), -0.0, tmin(f16), -0.0, 0.0, 1e-1, | ||
| 21254 | }, .{ | ||
| 21255 | -1e0, tmin(f16), nan(f16), nan(f16), -fmax(f16), -1e1, -nan(f16), 1e1, | ||
| 21256 | }); | ||
| 21257 | try testArgs(@Vector(16, f16), .{ | ||
| 21258 | 1e-1, fmax(f16), -1e1, fmax(f16), -1e1, 1e-1, -tmin(f16), -inf(f16), -tmin(f16), -1e0, -fmin(f16), tmin(f16), 1e1, -fmax(f16), 0.0, -fmin(f16), | ||
| 21259 | }, .{ | ||
| 21260 | inf(f16), -1e1, -fmax(f16), fmax(f16), -tmin(f16), 0.0, -1e0, -1e0, 1e-1, -nan(f16), -tmin(f16), 1e0, 1e-1, fmax(f16), -0.0, inf(f16), | ||
| 21261 | }); | ||
| 21262 | try testArgs(@Vector(32, f16), .{ | ||
| 21263 | -inf(f16), tmin(f16), fmin(f16), -nan(f16), nan(f16), 1e-1, 0.0, 1e1, -tmin(f16), inf(f16), 1e0, -1e1, fmin(f16), -0.0, 1e0, -fmax(f16), | ||
| 21264 | 1e1, -0.0, -1e1, -tmin(f16), fmax(f16), nan(f16), -fmin(f16), -1e0, 0.0, -1e1, -nan(f16), 1e0, -tmin(f16), -0.0, nan(f16), 1e1, | ||
| 21265 | }, .{ | ||
| 21266 | 0.0, 1e1, -nan(f16), -0.0, tmin(f16), fmax(f16), nan(f16), tmin(f16), -1e1, 1e-1, 1e1, fmin(f16), -fmax(f16), inf(f16), inf(f16), -tmin(f16), | ||
| 21267 | inf(f16), -0.0, 1e-1, 0.0, -fmin(f16), -0.0, -nan(f16), -inf(f16), -fmin(f16), fmax(f16), 1e0, fmin(f16), -0.0, -tmin(f16), -fmax(f16), -1e1, | ||
| 21268 | }); | ||
| 21269 | try testArgs(@Vector(64, f16), .{ | ||
| 21270 | -nan(f16), fmin(f16), -inf(f16), inf(f16), -tmin(f16), inf(f16), 1e-1, -1e0, -inf(f16), nan(f16), -fmin(f16), 1e-1, -tmin(f16), -fmax(f16), -1e1, inf(f16), | ||
| 21271 | 0.0, -fmin(f16), -fmax(f16), 1e1, -fmax(f16), fmax(f16), 1e1, fmin(f16), -inf(f16), -nan(f16), -tmin(f16), nan(f16), -0.0, 0.0, 1e-1, -fmin(f16), | ||
| 21272 | 0.0, nan(f16), inf(f16), fmax(f16), nan(f16), tmin(f16), 1e0, tmin(f16), fmin(f16), -1e1, 0.0, 1e-1, inf(f16), -1e1, inf(f16), 1e0, | ||
| 21273 | 1e-1, -inf(f16), 1e1, -0.0, -1e0, -tmin(f16), -nan(f16), 1e-1, 1e-1, -nan(f16), -0.0, -1e1, -0.0, -nan(f16), 1e-1, fmin(f16), | ||
| 21274 | }, .{ | ||
| 21275 | 1e1, 0.0, fmax(f16), -inf(f16), -fmax(f16), -fmax(f16), tmin(f16), -1e0, -tmin(f16), -1e1, nan(f16), -nan(f16), tmin(f16), -fmin(f16), nan(f16), -1e1, | ||
| 21276 | 1e1, fmax(f16), 1e-1, 0.0, 1e-1, -fmax(f16), -0.0, -fmin(f16), inf(f16), -1e0, inf(f16), fmin(f16), -inf(f16), -tmin(f16), 1e1, 1e1, | ||
| 21277 | 1e-1, 1e-1, 1e-1, 1e1, -fmin(f16), inf(f16), 1e-1, fmax(f16), inf(f16), -0.0, -1e1, tmin(f16), -fmin(f16), 0.0, 1e1, 0.0, | ||
| 21278 | -tmin(f16), -inf(f16), 1e0, -fmax(f16), inf(f16), 1e1, fmax(f16), -1e0, 0.0, 1e-1, -1e0, -inf(f16), 1e-1, 0.0, -1e1, fmax(f16), | ||
| 21279 | }); | ||
| 21280 | try testArgs(@Vector(128, f16), .{ | ||
| 21281 | -fmin(f16), 1e0, 0.0, 1e-1, nan(f16), 1e-1, 1e-1, -inf(f16), -tmin(f16), 1e0, -fmin(f16), -fmax(f16), -1e0, -fmin(f16), 1e1, -nan(f16), | ||
| 21282 | inf(f16), -inf(f16), tmin(f16), -1e1, -1e0, -0.0, -0.0, 1e0, nan(f16), -1e1, fmin(f16), -tmin(f16), tmin(f16), 1e-1, -fmax(f16), fmax(f16), | ||
| 21283 | tmin(f16), -fmin(f16), nan(f16), 1e1, 1e0, -fmin(f16), 1e-1, 1e1, fmax(f16), fmax(f16), fmax(f16), -1e0, -nan(f16), 1e1, tmin(f16), -nan(f16), | ||
| 21284 | -nan(f16), -inf(f16), -0.0, -inf(f16), nan(f16), -1e0, 1e-1, -fmax(f16), -1e1, nan(f16), 1e0, -1e1, tmin(f16), 1e0, 1e-1, 1e0, | ||
| 21285 | 1e1, 1e-1, tmin(f16), nan(f16), -inf(f16), -1e0, -1e0, -fmax(f16), -inf(f16), 1e-1, 1e-1, -0.0, 1e1, fmin(f16), -1e0, inf(f16), | ||
| 21286 | 1e-1, -1e1, inf(f16), -0.0, 1e-1, 0.0, inf(f16), 1e0, tmin(f16), -tmin(f16), 1e-1, inf(f16), tmin(f16), -inf(f16), 1e1, 1e0, | ||
| 21287 | -inf(f16), 1e-1, 1e0, fmax(f16), -fmin(f16), nan(f16), -nan(f16), fmin(f16), -1e0, -fmax(f16), inf(f16), -fmax(f16), 0.0, -1e1, fmin(f16), -fmax(f16), | ||
| 21288 | -0.0, -1e0, 1e-1, 1e1, inf(f16), fmax(f16), inf(f16), 1e1, fmax(f16), -0.0, -tmin(f16), fmin(f16), inf(f16), nan(f16), -fmin(f16), -1e0, | ||
| 21289 | }, .{ | ||
| 21290 | -fmax(f16), fmax(f16), inf(f16), 1e0, nan(f16), 1e-1, -fmax(f16), 1e1, -fmin(f16), 1e-1, fmin(f16), -0.0, 1e-1, -0.0, -nan(f16), -nan(f16), | ||
| 21291 | inf(f16), 1e0, -1e0, 1e-1, 1e-1, 1e-1, 0.0, -tmin(f16), -1e0, -1e1, -tmin(f16), 1e0, -1e1, fmin(f16), -fmax(f16), -nan(f16), | ||
| 21292 | -tmin(f16), -inf(f16), inf(f16), -fmin(f16), -nan(f16), 0.0, -inf(f16), -fmax(f16), 1e-1, -inf(f16), tmin(f16), nan(f16), tmin(f16), fmin(f16), -0.0, 1e-1, | ||
| 21293 | fmin(f16), fmin(f16), 1e0, tmin(f16), 0.0, 1e1, 1e-1, inf(f16), 1e1, -tmin(f16), tmin(f16), -1e0, -fmin(f16), 1e0, nan(f16), -fmax(f16), | ||
| 21294 | nan(f16), -fmin(f16), 1e-1, 1e1, -1e1, 1e0, -0.0, tmin(f16), nan(f16), inf(f16), -fmax(f16), tmin(f16), -tmin(f16), 1e1, fmin(f16), -tmin(f16), | ||
| 21295 | -0.0, 1e0, tmin(f16), fmax(f16), 1e0, -inf(f16), -nan(f16), -0.0, 1e-1, -inf(f16), 1e-1, fmax(f16), -inf(f16), -nan(f16), -1e0, -inf(f16), | ||
| 21296 | 1e-1, fmin(f16), -1e1, -tmin(f16), 1e0, -nan(f16), -fmax(f16), -1e1, -tmin(f16), 1e1, nan(f16), fmin(f16), fmax(f16), tmin(f16), -inf(f16), 1e0, | ||
| 21297 | -fmin(f16), tmin(f16), -1e0, 1e-1, 0.0, nan(f16), 1e0, fmax(f16), -1e0, 1e1, nan(f16), 1e0, fmin(f16), 1e0, -1e1, -1e1, | ||
| 21298 | }); | ||
| 21299 | try testArgs(@Vector(69, f16), .{ | ||
| 21300 | -nan(f16), -1e0, -fmin(f16), fmin(f16), inf(f16), 1e-1, 0.0, fmax(f16), tmin(f16), 1e-1, 0.0, -tmin(f16), 0.0, 0.0, 1e0, -inf(f16), | ||
| 21301 | tmin(f16), -inf(f16), -tmin(f16), fmin(f16), -inf(f16), -nan(f16), tmin(f16), -tmin(f16), 1e-1, -1e0, -tmin(f16), fmax(f16), nan(f16), -fmin(f16), fmin(f16), 1e1, | ||
| 21302 | fmin(f16), -1e1, 0.0, fmin(f16), fmax(f16), -nan(f16), fmax(f16), -fmax(f16), nan(f16), -nan(f16), fmin(f16), -1e1, -fmin(f16), fmin(f16), -fmin(f16), -nan(f16), | ||
| 21303 | 0.0, -1e0, fmax(f16), 1e-1, inf(f16), 1e0, -1e0, -0.0, 1e1, 1e-1, -fmax(f16), tmin(f16), -inf(f16), tmin(f16), -fmax(f16), 1e-1, | ||
| 21304 | -1e1, -0.0, -fmax(f16), nan(f16), fmax(f16), | ||
| 21305 | }, .{ | ||
| 21306 | inf(f16), -fmin(f16), 1e-1, 1e-1, -0.0, fmax(f16), 1e-1, -0.0, 0.0, -0.0, 0.0, -tmin(f16), tmin(f16), -1e0, nan(f16), -fmin(f16), | ||
| 21307 | fmin(f16), 1e-1, 1e-1, nan(f16), -fmax(f16), -inf(f16), -nan(f16), -nan(f16), 1e-1, -fmax(f16), fmin(f16), 1e-1, 1e-1, 1e-1, -0.0, 1e1, | ||
| 21308 | tmin(f16), -nan(f16), fmin(f16), -1e0, 1e0, -tmin(f16), 0.0, nan(f16), fmax(f16), -1e1, fmin(f16), -fmin(f16), -1e0, 1e-1, -fmin(f16), -fmin(f16), | ||
| 21309 | -fmax(f16), 0.0, fmin(f16), -1e1, -1e0, -1e0, fmax(f16), -nan(f16), -inf(f16), -inf(f16), 0.0, tmin(f16), -0.0, nan(f16), -inf(f16), nan(f16), | ||
| 21310 | inf(f16), fmin(f16), -nan(f16), -inf(f16), inf(f16), | ||
| 21311 | }); | ||
| 21312 | |||
| 21313 | try testArgs(@Vector(1, f32), .{ | ||
| 21314 | fmin(f32), | ||
| 21315 | }, .{ | ||
| 21316 | -tmin(f32), | ||
| 21317 | }); | ||
| 21318 | try testArgs(@Vector(2, f32), .{ | ||
| 21319 | nan(f32), -1e1, | ||
| 21320 | }, .{ | ||
| 21321 | -tmin(f32), fmin(f32), | ||
| 21322 | }); | ||
| 21323 | try testArgs(@Vector(4, f32), .{ | ||
| 21324 | fmax(f32), -fmax(f32), -1e1, 0.0, | ||
| 21325 | }, .{ | ||
| 21326 | inf(f32), inf(f32), -1e1, inf(f32), | ||
| 21327 | }); | ||
| 21328 | try testArgs(@Vector(8, f32), .{ | ||
| 21329 | -1e1, fmax(f32), inf(f32), -0.0, -tmin(f32), -tmin(f32), 1e1, 1e-1, | ||
| 21330 | }, .{ | ||
| 21331 | 1e1, -1e0, -1e0, inf(f32), 1e0, -tmin(f32), nan(f32), 1e1, | ||
| 21332 | }); | ||
| 21333 | try testArgs(@Vector(16, f32), .{ | ||
| 21334 | 1e-1, 1e-1, -nan(f32), -1e1, -nan(f32), 0.0, fmin(f32), fmin(f32), -1e1, 1e0, -fmax(f32), -0.0, inf(f32), -0.0, fmax(f32), -fmin(f32), | ||
| 21335 | }, .{ | ||
| 21336 | nan(f32), 0.0, tmin(f32), -1e0, -1e1, -tmin(f32), fmin(f32), -fmax(f32), 1e-1, 1e-1, -inf(f32), tmin(f32), -0.0, 1e1, -0.0, -inf(f32), | ||
| 21337 | }); | ||
| 21338 | try testArgs(@Vector(32, f32), .{ | ||
| 21339 | 1e-1, tmin(f32), -1e0, 1e0, tmin(f32), -1e1, fmax(f32), 0.0, tmin(f32), 1e-1, -1e0, fmax(f32), -nan(f32), -0.0, fmin(f32), 0.0, | ||
| 21340 | -fmax(f32), fmax(f32), -fmin(f32), -inf(f32), tmin(f32), -nan(f32), -1e0, tmin(f32), -fmin(f32), -inf(f32), nan(f32), -tmin(f32), inf(f32), -inf(f32), -nan(f32), 1e-1, | ||
| 21341 | }, .{ | ||
| 21342 | -fmin(f32), -1e0, fmax(f32), inf(f32), -fmin(f32), fmax(f32), 0.0, -1e1, 0.0, 1e-1, fmin(f32), -inf(f32), 1e0, -nan(f32), -nan(f32), | ||
| 21343 | -inf(f32), -0.0, nan(f32), -fmax(f32), 1e1, -tmin(f32), fmax(f32), -1e1, 1e-1, tmin(f32), 1e-1, -fmax(f32), 0.0, 1e-1, -nan(f32), | ||
| 21344 | -fmin(f32), fmax(f32), | ||
| 21345 | }); | ||
| 21346 | try testArgs(@Vector(64, f32), .{ | ||
| 21347 | fmin(f32), 0.0, -inf(f32), 1e-1, -1e1, -fmin(f32), 1e1, nan(f32), 1e-1, 1e0, -1e0, 1e1, 1e1, 1e-1, -fmax(f32), -1e0, | ||
| 21348 | -fmin(f32), 1e-1, -inf(f32), -inf(f32), 1e-1, 1e-1, 0.0, -1e0, nan(f32), -0.0, -0.0, -fmin(f32), -inf(f32), inf(f32), tmin(f32), -nan(f32), | ||
| 21349 | 1e-1, 0.0, 1e0, tmin(f32), 1e1, fmin(f32), -fmin(f32), fmax(f32), nan(f32), 1e0, -nan(f32), -nan(f32), 1e0, nan(f32), 1e0, fmax(f32), | ||
| 21350 | -0.0, 0.0, inf(f32), nan(f32), tmin(f32), 0.0, fmin(f32), -0.0, -fmin(f32), tmin(f32), -1e0, -1e1, 1e-1, -tmin(f32), -inf(f32), -1e0, | ||
| 21351 | }, .{ | ||
| 21352 | nan(f32), -nan(f32), -tmin(f32), inf(f32), -inf(f32), 1e-1, 1e-1, 1e-1, -1e0, -inf(f32), -0.0, fmax(f32), tmin(f32), -nan(f32), -fmax(f32), -1e0, | ||
| 21353 | -fmin(f32), -0.0, fmax(f32), -fmax(f32), 1e0, -0.0, 0.0, 1e1, -1e0, -fmin(f32), 0.0, fmax(f32), 1e-1, 1e0, 1e1, 1e-1, | ||
| 21354 | 1e-1, fmin(f32), -nan(f32), -inf(f32), -0.0, -inf(f32), 1e-1, -fmax(f32), -1e1, -1e1, nan(f32), 1e1, -1e0, -fmin(f32), 1e1, fmin(f32), | ||
| 21355 | 1e0, -fmax(f32), nan(f32), inf(f32), fmax(f32), fmax(f32), -fmin(f32), -inf(f32), -tmin(f32), -nan(f32), nan(f32), nan(f32), 1e-1, 1e-1, -1e0, inf(f32), | ||
| 21356 | }); | ||
| 21357 | try testArgs(@Vector(128, f32), .{ | ||
| 21358 | -1e1, -nan(f32), inf(f32), inf(f32), -tmin(f32), -0.0, 0.0, 1e-1, -0.0, fmin(f32), nan(f32), -1e0, nan(f32), -fmax(f32), nan(f32), 0.0, | ||
| 21359 | 1e0, -tmin(f32), 0.0, -nan(f32), 1e-1, 1e-1, -1e0, 1e1, -fmax(f32), -fmin(f32), 1e-1, nan(f32), 1e-1, -fmax(f32), -tmin(f32), -inf(f32), | ||
| 21360 | inf(f32), tmin(f32), -tmin(f32), nan(f32), -inf(f32), -1e1, 1e0, -nan(f32), 1e-1, nan(f32), -1e0, tmin(f32), -fmin(f32), -0.0, -0.0, 1e0, | ||
| 21361 | fmin(f32), -fmin(f32), 1e-1, 1e-1, 1e-1, -1e1, -1e1, -tmin(f32), 1e0, -0.0, 1e1, -fmax(f32), 1e1, -fmax(f32), inf(f32), -1e0, | ||
| 21362 | -fmax(f32), fmin(f32), fmin(f32), fmin(f32), -1e0, -nan(f32), fmax(f32), -nan(f32), 1e-1, -1e0, -fmax(f32), -tmin(f32), -0.0, fmax(f32), -1e1, inf(f32), | ||
| 21363 | 1e1, -inf(f32), 1e-1, fmin(f32), nan(f32), -fmax(f32), -tmin(f32), inf(f32), tmin(f32), -fmin(f32), fmax(f32), 1e0, fmin(f32), -0.0, 1e-1, fmin(f32), | ||
| 21364 | 1e-1, inf(f32), -1e1, inf(f32), 1e1, tmin(f32), 0.0, 1e0, inf(f32), -1e1, -fmin(f32), tmin(f32), 1e0, 1e-1, 1e-1, -fmin(f32), | ||
| 21365 | 1e1, 1e-1, fmax(f32), fmin(f32), 1e0, -1e1, -inf(f32), -1e1, 0.0, -fmax(f32), -inf(f32), -1e0, fmax(f32), -tmin(f32), inf(f32), nan(f32), | ||
| 21366 | }, .{ | ||
| 21367 | -tmin(f32), -fmax(f32), -fmax(f32), 1e1, inf(f32), 1e-1, 1e0, fmin(f32), 1e-1, 1e1, fmin(f32), -fmax(f32), 1e0, fmax(f32), 1e-1, -fmin(f32), | ||
| 21368 | 0.0, -0.0, -0.0, -1e0, -nan(f32), nan(f32), -tmin(f32), 1e1, -tmin(f32), -1e1, inf(f32), 0.0, tmin(f32), 0.0, -fmax(f32), inf(f32), | ||
| 21369 | fmin(f32), 1e-1, -1e1, tmin(f32), tmin(f32), 1e-1, fmin(f32), -tmin(f32), fmin(f32), nan(f32), 1e-1, -fmax(f32), -1e0, -0.0, fmin(f32), -0.0, | ||
| 21370 | -1e0, -0.0, -inf(f32), fmax(f32), -1e1, 1e0, inf(f32), -1e0, -tmin(f32), -tmin(f32), 1e-1, -1e1, -fmin(f32), 1e1, -1e1, -inf(f32), | ||
| 21371 | -1e0, inf(f32), 1e-1, 1e0, -nan(f32), 1e-1, -1e1, -nan(f32), -tmin(f32), 0.0, fmin(f32), -nan(f32), fmax(f32), -tmin(f32), 0.0, 0.0, | ||
| 21372 | -fmax(f32), -inf(f32), -1e0, -0.0, 1e1, nan(f32), 1e-1, tmin(f32), -1e1, 1e1, tmin(f32), -fmax(f32), 1e-1, -1e1, -tmin(f32), fmax(f32), | ||
| 21373 | -fmax(f32), 1e-1, -nan(f32), -fmin(f32), inf(f32), inf(f32), tmin(f32), tmin(f32), -tmin(f32), tmin(f32), 0.0, -0.0, 1e0, 1e1, -1e1, inf(f32), | ||
| 21374 | 0.0, -fmin(f32), fmax(f32), -1e1, fmax(f32), -0.0, 0.0, -fmin(f32), 1e1, -fmin(f32), -fmin(f32), -fmin(f32), 1e1, fmin(f32), -inf(f32), fmax(f32), | ||
| 21375 | }); | ||
| 21376 | try testArgs(@Vector(69, f32), .{ | ||
| 21377 | nan(f32), 1e-1, -tmin(f32), fmax(f32), nan(f32), -fmax(f32), 1e-1, fmax(f32), 1e1, inf(f32), -fmin(f32), -fmax(f32), inf(f32), -nan(f32), 1e-1, 1e0, | ||
| 21378 | fmax(f32), 1e-1, 1e1, 0.0, -1e1, fmax(f32), 1e1, 0.0, 1e0, 1e1, -fmax(f32), 0.0, -tmin(f32), -fmin(f32), 1e-1, 1e0, | ||
| 21379 | fmin(f32), tmin(f32), -fmin(f32), -tmin(f32), tmin(f32), -inf(f32), -fmax(f32), -0.0, -1e0, -0.0, -fmax(f32), fmax(f32), fmin(f32), -0.0, 0.0, -inf(f32), | ||
| 21380 | -tmin(f32), inf(f32), -nan(f32), tmin(f32), -1e0, -tmin(f32), 1e1, -inf(f32), -fmin(f32), 1e-1, -inf(f32), -1e0, nan(f32), -inf(f32), -tmin(f32), 1e1, | ||
| 21381 | 1e1, -nan(f32), -nan(f32), tmin(f32), -nan(f32), | ||
| 21382 | }, .{ | ||
| 21383 | -nan(f32), 1e0, fmax(f32), 1e-1, -0.0, 1e0, -inf(f32), -fmin(f32), -nan(f32), inf(f32), 1e0, -nan(f32), -nan(f32), -inf(f32), tmin(f32), -fmin(f32), | ||
| 21384 | -nan(f32), 1e-1, fmin(f32), -1e0, -fmax(f32), 1e-1, -1e0, 1e-1, 1e-1, -tmin(f32), 1e-1, 1e-1, 1e1, fmin(f32), 0.0, nan(f32), | ||
| 21385 | tmin(f32), 1e0, nan(f32), -fmin(f32), tmin(f32), nan(f32), 1e-1, nan(f32), 1e0, -fmax(f32), tmin(f32), 1e0, 0.0, -1e0, nan(f32), fmin(f32), | ||
| 21386 | -inf(f32), fmax(f32), -0.0, nan(f32), tmin(f32), tmin(f32), -inf(f32), -1e1, -nan(f32), -fmax(f32), -0.0, 1e-1, -inf(f32), 1e0, nan(f32), 1e0, | ||
| 21387 | -1e1, fmin(f32), inf(f32), fmin(f32), 0.0, | ||
| 21388 | }); | ||
| 21389 | |||
| 21390 | try testArgs(@Vector(1, f64), .{ | ||
| 21391 | -0.0, | ||
| 21392 | }, .{ | ||
| 21393 | 1e0, | ||
| 21394 | }); | ||
| 21395 | try testArgs(@Vector(2, f64), .{ | ||
| 21396 | -1e0, 0.0, | ||
| 21397 | }, .{ | ||
| 21398 | -inf(f64), -fmax(f64), | ||
| 21399 | }); | ||
| 21400 | try testArgs(@Vector(4, f64), .{ | ||
| 21401 | -inf(f64), inf(f64), 1e1, 0.0, | ||
| 21402 | }, .{ | ||
| 21403 | -tmin(f64), 1e0, nan(f64), 0.0, | ||
| 21404 | }); | ||
| 21405 | try testArgs(@Vector(8, f64), .{ | ||
| 21406 | 1e-1, -tmin(f64), -fmax(f64), 1e0, inf(f64), -1e1, -tmin(f64), -1e1, | ||
| 21407 | }, .{ | ||
| 21408 | tmin(f64), fmin(f64), 1e-1, 1e1, -0.0, -0.0, fmax(f64), -1e0, | ||
| 21409 | }); | ||
| 21410 | try testArgs(@Vector(16, f64), .{ | ||
| 21411 | 1e-1, -nan(f64), 1e0, tmin(f64), fmax(f64), -fmax(f64), -tmin(f64), -0.0, -fmin(f64), -1e0, -fmax(f64), -nan(f64), -fmax(f64), nan(f64), -0.0, 1e-1, | ||
| 21412 | }, .{ | ||
| 21413 | -1e0, -tmin(f64), -fmin(f64), 1e-1, 1e-1, -0.0, -nan(f64), -inf(f64), -inf(f64), -0.0, nan(f64), tmin(f64), 1e0, 1e-1, tmin(f64), fmin(f64), | ||
| 21414 | }); | ||
| 21415 | try testArgs(@Vector(32, f64), .{ | ||
| 21416 | -fmax(f64), fmin(f64), 1e-1, 1e-1, 0.0, 1e0, -0.0, -tmin(f64), tmin(f64), inf(f64), -tmin(f64), -tmin(f64), -tmin(f64), -fmax(f64), fmin(f64), 1e0, | ||
| 21417 | -fmin(f64), -nan(f64), 1e0, -inf(f64), -nan(f64), -1e0, 0.0, 0.0, nan(f64), -nan(f64), -fmin(f64), fmin(f64), 1e-1, nan(f64), tmin(f64), -fmax(f64), | ||
| 21418 | }, .{ | ||
| 21419 | -tmin(f64), -fmax(f64), -inf(f64), -nan(f64), fmin(f64), -inf(f64), 1e-1, -fmax(f64), -inf(f64), fmin(f64), inf(f64), -1e0, -tmin(f64), inf(f64), 1e-1, nan(f64), | ||
| 21420 | fmin(f64), 1e1, -tmin(f64), -nan(f64), -inf(f64), 1e0, nan(f64), -fmin(f64), -1e0, nan(f64), -1e0, 0.0, 1e0, nan(f64), -1e0, -fmin(f64), | ||
| 21421 | }); | ||
| 21422 | try testArgs(@Vector(64, f64), .{ | ||
| 21423 | -1e1, fmax(f64), -nan(f64), tmin(f64), 1e-1, -1e0, 1e0, -0.0, -fmin(f64), 1e-1, -fmin(f64), -0.0, -0.0, tmin(f64), -1e1, 1e-1, | ||
| 21424 | -1e1, -fmax(f64), -1e1, -fmin(f64), 0.0, -1e1, nan(f64), 1e0, inf(f64), inf(f64), -inf(f64), tmin(f64), tmin(f64), 1e-1, -0.0, 1e-1, | ||
| 21425 | -0.0, 1e-1, -1e1, 1e1, fmax(f64), -fmin(f64), 1e0, fmax(f64), 1e0, -1e1, fmin(f64), fmax(f64), -1e0, -0.0, -0.0, fmax(f64), | ||
| 21426 | -inf(f64), -inf(f64), -tmin(f64), -fmax(f64), -nan(f64), tmin(f64), -1e0, 0.0, -inf(f64), fmax(f64), nan(f64), -inf(f64), fmin(f64), -nan(f64), -nan(f64), -1e1, | ||
| 21427 | }, .{ | ||
| 21428 | nan(f64), -1e0, 0.0, -1e1, -fmax(f64), -fmin(f64), -nan(f64), -tmin(f64), 1e-1, -1e0, -nan(f64), -fmax(f64), 0.0, 0.0, 1e1, inf(f64), | ||
| 21429 | fmin(f64), 0.0, -1e1, 1e0, -tmin(f64), -inf(f64), -fmax(f64), 0.0, -fmin(f64), -1e0, -fmin(f64), tmin(f64), 1e0, -1e1, fmin(f64), 1e-1, | ||
| 21430 | inf(f64), -0.0, tmin(f64), -fmax(f64), -tmin(f64), -fmax(f64), fmin(f64), -fmax(f64), 1e-1, 1e0, 1e0, 0.0, fmin(f64), nan(f64), -1e1, tmin(f64), | ||
| 21431 | inf(f64), 1e-1, 1e0, -nan(f64), 1e0, -fmin(f64), fmax(f64), inf(f64), fmin(f64), -inf(f64), -0.0, 0.0, -1e0, -0.0, 1e-1, 1e-1, | ||
| 21432 | }); | ||
| 21433 | try testArgs(@Vector(128, f64), .{ | ||
| 21434 | nan(f64), -fmin(f64), fmax(f64), fmin(f64), -1e1, nan(f64), tmin(f64), fmax(f64), inf(f64), -nan(f64), tmin(f64), -nan(f64), -0.0, fmin(f64), fmax(f64), | ||
| 21435 | -inf(f64), inf(f64), -1e0, 0.0, 1e-1, fmin(f64), 0.0, 1e-1, -1e0, -inf(f64), 1e-1, fmax(f64), fmin(f64), fmax(f64), -fmax(f64), | ||
| 21436 | fmin(f64), inf(f64), -fmin(f64), -1e1, -0.0, 1e-1, nan(f64), -fmax(f64), -fmax(f64), -1e0, 1e1, 1e1, -1e0, -inf(f64), inf(f64), | ||
| 21437 | -fmin(f64), 1e0, -inf(f64), -1e1, 1e-1, 1e0, 1e1, 1e1, tmin(f64), nan(f64), inf(f64), 0.0, -1e0, -1e1, 1e0, | ||
| 21438 | -tmin(f64), -fmax(f64), -nan(f64), 1e1, 1e-1, tmin(f64), 0.0, 1e1, 1e-1, -tmin(f64), -tmin(f64), 1e0, -fmax(f64), nan(f64), -fmin(f64), | ||
| 21439 | nan(f64), 1e1, -1e0, -0.0, -tmin(f64), nan(f64), 1e1, 1e1, -inf(f64), 1e-1, -nan(f64), -1e1, -tmin(f64), -fmax(f64), -fmax(f64), | ||
| 21440 | inf(f64), -inf(f64), tmin(f64), 1e0, -inf(f64), -1e1, inf(f64), 1e-1, -nan(f64), -inf(f64), fmax(f64), 1e-1, -inf(f64), 1e-1, 1e0, | ||
| 21441 | 1e-1, 1e-1, 1e-1, inf(f64), -inf(f64), 1e0, 1e1, 1e1, nan(f64), 1e1, -tmin(f64), 1e0, -fmin(f64), -1e0, -fmax(f64), | ||
| 21442 | -fmin(f64), -fmin(f64), -1e0, inf(f64), nan(f64), tmin(f64), 1e-1, -1e0, | ||
| 21443 | }, .{ | ||
| 21444 | 0.0, 0.0, inf(f64), -0.0, 1e-1, -nan(f64), 1e1, -nan(f64), tmin(f64), -1e1, -0.0, inf(f64), -fmin(f64), 1e-1, fmax(f64), | ||
| 21445 | nan(f64), -tmin(f64), tmin(f64), 1e0, 1e-1, -1e1, -nan(f64), 1e0, inf(f64), -1e1, fmin(f64), 1e-1, 1e1, -1e1, 1e1, | ||
| 21446 | -nan(f64), -nan(f64), 1e-1, 0.0, 1e1, -fmax(f64), -tmin(f64), tmin(f64), -1e0, -tmin(f64), -1e1, 1e-1, -fmax(f64), 1e1, nan(f64), | ||
| 21447 | fmax(f64), -1e0, -1e0, -tmin(f64), fmax(f64), -1e1, 1e-1, 1e0, fmin(f64), inf(f64), 1e-1, tmin(f64), 1e-1, -fmax(f64), fmax(f64), | ||
| 21448 | -1e1, -fmax(f64), fmax(f64), tmin(f64), -fmin(f64), inf(f64), 1e-1, -0.0, fmax(f64), tmin(f64), 1e-1, 1e0, -inf(f64), 1e0, 1e1, | ||
| 21449 | 1e-1, 0.0, -1e1, -nan(f64), 1e1, -fmin(f64), -tmin(f64), 1e1, 1e0, -tmin(f64), -1e0, -fmin(f64), -0.0, -1e1, 1e-1, | ||
| 21450 | inf(f64), -fmax(f64), 1e-1, tmin(f64), -0.0, fmax(f64), 0.0, -nan(f64), -fmin(f64), fmax(f64), -0.0, nan(f64), -inf(f64), tmin(f64), 1e-1, | ||
| 21451 | inf(f64), 0.0, 1e1, -fmax(f64), tmin(f64), -0.0, fmin(f64), -nan(f64), -1e1, -inf(f64), nan(f64), inf(f64), -0.0, 1e1, fmax(f64), | ||
| 21452 | tmin(f64), -1e1, -nan(f64), 1e1, -inf(f64), -fmax(f64), -inf(f64), -1e0, | ||
| 21453 | }); | ||
| 21454 | try testArgs(@Vector(69, f64), .{ | ||
| 21455 | inf(f64), -0.0, -fmax(f64), fmax(f64), fmax(f64), 0.0, fmin(f64), -nan(f64), 1e-1, 1e-1, 1e-1, -fmin(f64), inf(f64), 1e-1, fmax(f64), nan(f64), | ||
| 21456 | tmin(f64), -1e1, 1e1, -tmin(f64), -0.0, nan(f64), -1e1, fmin(f64), 0.0, -0.0, 1e-1, inf(f64), -tmin(f64), -nan(f64), inf(f64), -nan(f64), | ||
| 21457 | -inf(f64), fmax(f64), 1e-1, -fmin(f64), 1e-1, -1e0, fmin(f64), fmin(f64), fmin(f64), 1e1, -fmin(f64), nan(f64), 0.0, 0.0, 1e1, nan(f64), | ||
| 21458 | -tmin(f64), tmin(f64), tmin(f64), fmin(f64), -0.0, -1e0, 1e-1, 1e0, fmax(f64), tmin(f64), fmin(f64), 0.0, -fmin(f64), fmin(f64), -tmin(f64), 0.0, | ||
| 21459 | -nan(f64), 1e1, -1e0, 1e-1, 0.0, | ||
| 21460 | }, .{ | ||
| 21461 | -1e1, -0.0, fmin(f64), -fmin(f64), nan(f64), 1e1, -tmin(f64), -fmax(f64), 1e1, 1e-1, -fmin(f64), inf(f64), -inf(f64), -tmin(f64), 1e0, tmin(f64), | ||
| 21462 | -tmin(f64), -nan(f64), fmax(f64), 0.0, -1e0, 1e1, inf(f64), fmin(f64), fmax(f64), 1e-1, 1e-1, fmax(f64), -inf(f64), 1e-1, 1e-1, fmin(f64), | ||
| 21463 | 1e-1, fmin(f64), -1e1, nan(f64), 0.0, 0.0, fmax(f64), -inf(f64), tmin(f64), inf(f64), -tmin(f64), fmax(f64), -inf(f64), -1e1, -1e0, fmin(f64), | ||
| 21464 | 1e-1, -nan(f64), fmax(f64), -fmin(f64), fmax(f64), nan(f64), -0.0, -fmax(f64), 1e1, nan(f64), inf(f64), -1e0, -fmin(f64), nan(f64), -fmin(f64), -0.0, | ||
| 21465 | -nan(f64), -fmin(f64), 1e-1, nan(f64), 1e-1, | ||
| 21466 | }); | ||
| 21467 | |||
| 21468 | try testArgs(@Vector(1, f80), .{ | ||
| 21469 | -nan(f80), | ||
| 21470 | }, .{ | ||
| 21471 | -1e0, | ||
| 21472 | }); | ||
| 21473 | try testArgs(@Vector(2, f80), .{ | ||
| 21474 | -fmax(f80), -inf(f80), | ||
| 21475 | }, .{ | ||
| 21476 | 1e-1, 1e1, | ||
| 21477 | }); | ||
| 21478 | try testArgs(@Vector(4, f80), .{ | ||
| 21479 | -0.0, -inf(f80), 1e-1, 1e1, | ||
| 21480 | }, .{ | ||
| 21481 | -1e0, 0.0, 1e-1, -1e1, | ||
| 21482 | }); | ||
| 21483 | try testArgs(@Vector(8, f80), .{ | ||
| 21484 | 1e0, -0.0, -inf(f80), 1e-1, -inf(f80), fmin(f80), 0.0, 1e1, | ||
| 21485 | }, .{ | ||
| 21486 | -0.0, -fmin(f80), fmin(f80), -nan(f80), nan(f80), inf(f80), fmin(f80), 1e1, | ||
| 21487 | }); | ||
| 21488 | try testArgs(@Vector(16, f80), .{ | ||
| 21489 | 1e1, inf(f80), -fmin(f80), 1e-1, -tmin(f80), -0.0, -inf(f80), -1e0, -fmax(f80), -nan(f80), -tmin(f80), 1e1, 1e1, -inf(f80), -fmax(f80), fmax(f80), | ||
| 21490 | }, .{ | ||
| 21491 | -inf(f80), nan(f80), -fmax(f80), fmin(f80), 1e0, 1e-1, -inf(f80), nan(f80), 1e-1, nan(f80), -inf(f80), nan(f80), tmin(f80), 1e-1, -tmin(f80), -1e1, | ||
| 21492 | }); | ||
| 21493 | try testArgs(@Vector(32, f80), .{ | ||
| 21494 | inf(f80), -0.0, 1e-1, -0.0, 1e-1, -fmin(f80), -0.0, fmax(f80), nan(f80), -tmin(f80), nan(f80), -1e1, 0.0, 1e0, 1e1, -fmin(f80), | ||
| 21495 | fmin(f80), 1e-1, inf(f80), -0.0, nan(f80), tmin(f80), -tmin(f80), fmin(f80), tmin(f80), -0.0, nan(f80), -fmax(f80), tmin(f80), -fmin(f80), 1e0, tmin(f80), | ||
| 21496 | }, .{ | ||
| 21497 | 0.0, -1e1, fmax(f80), -inf(f80), 1e-1, -inf(f80), inf(f80), 1e1, -1e0, -1e1, -fmin(f80), 0.0, inf(f80), 1e0, -nan(f80), 0.0, | ||
| 21498 | 1e-1, nan(f80), 1e0, -fmax(f80), fmin(f80), -inf(f80), -fmax(f80), 1e-1, -1e1, tmin(f80), fmax(f80), -0.0, -fmin(f80), -fmin(f80), fmin(f80), -tmin(f80), | ||
| 21499 | }); | ||
| 21500 | try testArgs(@Vector(64, f80), .{ | ||
| 21501 | -fmax(f80), 1e-1, -1e0, 1e0, inf(f80), 1e-1, -1e1, 1e-1, fmin(f80), -fmin(f80), -1e1, -fmax(f80), 0.0, -1e1, -1e0, -nan(f80), | ||
| 21502 | 0.0, 1e-1, -1e0, -tmin(f80), 1e0, tmin(f80), fmax(f80), 0.0, -1e1, -tmin(f80), fmax(f80), -0.0, 1e-1, -inf(f80), -fmax(f80), -1e0, | ||
| 21503 | -nan(f80), tmin(f80), -tmin(f80), -0.0, -0.0, -1e0, -0.0, fmax(f80), inf(f80), -nan(f80), 1e-1, -inf(f80), -tmin(f80), nan(f80), 1e-1, 1e1, | ||
| 21504 | nan(f80), -inf(f80), 1e-1, tmin(f80), -fmin(f80), 1e1, -1e1, tmin(f80), fmin(f80), nan(f80), 1e-1, -nan(f80), tmin(f80), nan(f80), fmax(f80), -fmax(f80), | ||
| 21505 | }, .{ | ||
| 21506 | -nan(f80), -fmax(f80), tmin(f80), -inf(f80), -tmin(f80), fmin(f80), -nan(f80), -fmin(f80), fmax(f80), inf(f80), -0.0, -1e0, 1e-1, -fmax(f80), 1e0, -inf(f80), | ||
| 21507 | 0.0, -nan(f80), -1e1, -1e0, -nan(f80), inf(f80), 1e0, -nan(f80), 1e1, inf(f80), tmin(f80), 1e-1, tmin(f80), -tmin(f80), -inf(f80), -fmin(f80), | ||
| 21508 | fmax(f80), fmax(f80), 1e-1, -tmin(f80), -nan(f80), -1e0, fmin(f80), -nan(f80), -nan(f80), inf(f80), -1e0, 1e-1, -fmin(f80), -tmin(f80), 0.0, -0.0, | ||
| 21509 | 1e-1, -fmin(f80), -inf(f80), -1e0, -tmin(f80), 1e0, -inf(f80), -0.0, 0.0, 1e0, tmin(f80), 0.0, 1e-1, -nan(f80), fmax(f80), 1e0, | ||
| 21510 | }); | ||
| 21511 | try testArgs(@Vector(128, f80), .{ | ||
| 21512 | 1e-1, -0.0, 1e-1, 0.0, fmin(f80), -1e0, 1e0, -inf(f80), fmax(f80), -fmin(f80), nan(f80), 1e1, 1e-1, 1e-1, -fmin(f80), -inf(f80), | ||
| 21513 | -1e0, -inf(f80), 1e0, -fmin(f80), inf(f80), -nan(f80), 1e1, inf(f80), tmin(f80), nan(f80), -1e1, inf(f80), 1e1, inf(f80), -1e1, 0.0, | ||
| 21514 | -1e1, fmin(f80), -tmin(f80), 1e0, -fmax(f80), nan(f80), 0.0, fmax(f80), 1e-1, -1e0, -fmin(f80), inf(f80), -tmin(f80), nan(f80), -tmin(f80), 1e1, | ||
| 21515 | -1e1, -tmin(f80), -1e0, -tmin(f80), -fmax(f80), 1e1, -1e0, -inf(f80), -nan(f80), 0.0, 1e0, fmax(f80), -tmin(f80), -fmin(f80), fmin(f80), fmin(f80), | ||
| 21516 | -1e1, -fmax(f80), -tmin(f80), inf(f80), 1e0, 0.0, tmin(f80), -nan(f80), -fmin(f80), 1e-1, -nan(f80), 0.0, 1e-1, -1e1, -0.0, -nan(f80), | ||
| 21517 | 1e0, 1e1, -1e1, fmin(f80), -nan(f80), fmax(f80), -0.0, 1e0, inf(f80), 1e0, -fmin(f80), -fmin(f80), 0.0, 1e-1, inf(f80), 1e1, | ||
| 21518 | tmin(f80), -1e0, fmax(f80), -0.0, fmax(f80), fmax(f80), 1e-1, -fmin(f80), -1e1, 1e0, -fmin(f80), -fmax(f80), fmin(f80), -fmax(f80), -0.0, -1e0, | ||
| 21519 | -nan(f80), -inf(f80), nan(f80), -fmax(f80), inf(f80), -inf(f80), -nan(f80), fmin(f80), nan(f80), -1e0, tmin(f80), tmin(f80), 1e-1, 1e1, -tmin(f80), -nan(f80), | ||
| 21520 | }, .{ | ||
| 21521 | -1e0, -0.0, 0.0, fmax(f80), -1e0, -0.0, 1e-1, tmin(f80), -inf(f80), 1e1, -0.0, 1e-1, -tmin(f80), -fmax(f80), tmin(f80), inf(f80), | ||
| 21522 | 1e-1, 1e0, tmin(f80), nan(f80), -fmax(f80), 1e1, fmin(f80), -1e0, -fmax(f80), nan(f80), -fmin(f80), 1e1, -1e0, tmin(f80), inf(f80), -0.0, | ||
| 21523 | tmin(f80), 1e0, 0.0, -fmin(f80), 0.0, 1e1, -fmax(f80), -0.0, -inf(f80), fmin(f80), -0.0, -0.0, -0.0, -fmax(f80), 1e-1, fmax(f80), | ||
| 21524 | -tmin(f80), tmin(f80), -fmax(f80), 1e1, -fmax(f80), 1e-1, fmax(f80), -1e1, 1e-1, 1e0, -1e0, -1e0, nan(f80), -nan(f80), 1e1, -nan(f80), | ||
| 21525 | nan(f80), -1e1, -tmin(f80), fmin(f80), -tmin(f80), -fmin(f80), tmin(f80), -0.0, 1e-1, fmax(f80), tmin(f80), tmin(f80), nan(f80), 1e-1, 1e1, 1e-1, | ||
| 21526 | inf(f80), inf(f80), 1e0, -inf(f80), -fmax(f80), 0.0, 1e0, -fmax(f80), fmax(f80), nan(f80), fmin(f80), 1e-1, -1e0, 1e0, 1e-1, -tmin(f80), | ||
| 21527 | 1e1, 1e-1, -fmax(f80), 0.0, nan(f80), -tmin(f80), 1e-1, fmax(f80), fmax(f80), 1e-1, -1e0, inf(f80), nan(f80), 1e1, fmax(f80), -nan(f80), | ||
| 21528 | -1e1, -1e0, tmin(f80), fmin(f80), inf(f80), fmax(f80), -fmin(f80), fmin(f80), -inf(f80), -tmin(f80), 1e0, nan(f80), -fmin(f80), -fmin(f80), fmax(f80), 1e0, | ||
| 21529 | }); | ||
| 21530 | try testArgs(@Vector(69, f80), .{ | ||
| 21531 | -1e1, tmin(f80), 1e-1, -nan(f80), -inf(f80), -nan(f80), fmin(f80), -0.0, 1e1, fmax(f80), -fmin(f80), 1e-1, -nan(f80), inf(f80), 1e0, -1e0, | ||
| 21532 | inf(f80), fmin(f80), -fmax(f80), 1e-1, nan(f80), 0.0, 0.0, nan(f80), -1e1, fmax(f80), fmin(f80), -fmax(f80), 1e0, 1e-1, 0.0, -fmin(f80), | ||
| 21533 | -tmin(f80), 0.0, -1e1, fmin(f80), 1e0, 1e1, 1e-1, nan(f80), -1e1, fmax(f80), 1e-1, fmin(f80), -inf(f80), 0.0, tmin(f80), inf(f80), | ||
| 21534 | fmax(f80), 1e0, 1e-1, nan(f80), inf(f80), tmin(f80), tmin(f80), -fmax(f80), 0.0, fmin(f80), -inf(f80), 1e-1, -tmin(f80), 1e-1, -1e0, 1e-1, | ||
| 21535 | -fmax(f80), -1e0, 1e-1, -1e0, fmax(f80), | ||
| 21536 | }, .{ | ||
| 21537 | -1e0, fmin(f80), inf(f80), -nan(f80), -0.0, fmin(f80), -0.0, nan(f80), -fmax(f80), 1e-1, 1e0, -1e1, -tmin(f80), -fmin(f80), 1e1, inf(f80), | ||
| 21538 | -1e1, -tmin(f80), -fmin(f80), 1e1, 0.0, -tmin(f80), 1e1, -1e1, 1e-1, 1e-1, tmin(f80), fmax(f80), 0.0, 1e-1, 1e-1, -1e1, | ||
| 21539 | fmin(f80), nan(f80), -1e1, -1e1, -1e1, 0.0, -0.0, 1e-1, fmin(f80), fmin(f80), -0.0, -fmin(f80), -nan(f80), -inf(f80), 0.0, -inf(f80), | ||
| 21540 | inf(f80), fmax(f80), -tmin(f80), inf(f80), 1e-1, -nan(f80), 1e-1, tmin(f80), -1e1, -fmax(f80), -fmax(f80), inf(f80), -nan(f80), 1e0, -inf(f80), 1e1, | ||
| 21541 | nan(f80), 1e1, -1e1, 0.0, -fmin(f80), | ||
| 21542 | }); | ||
| 21543 | |||
| 21544 | try testArgs(@Vector(1, f128), .{ | ||
| 21545 | -nan(f128), | ||
| 21546 | }, .{ | ||
| 21547 | -0.0, | ||
| 21548 | }); | ||
| 21549 | try testArgs(@Vector(2, f128), .{ | ||
| 21550 | 0.0, -inf(f128), | ||
| 21551 | }, .{ | ||
| 21552 | 1e-1, -fmin(f128), | ||
| 21553 | }); | ||
| 21554 | try testArgs(@Vector(4, f128), .{ | ||
| 21555 | 1e-1, fmax(f128), 1e1, -fmax(f128), | ||
| 21556 | }, .{ | ||
| 21557 | -tmin(f128), fmax(f128), -0.0, -0.0, | ||
| 21558 | }); | ||
| 21559 | try testArgs(@Vector(8, f128), .{ | ||
| 21560 | 1e1, -fmin(f128), 0.0, -inf(f128), 1e1, -0.0, -1e0, -fmin(f128), | ||
| 21561 | }, .{ | ||
| 21562 | fmin(f128), tmin(f128), -1e0, -1e1, 0.0, -tmin(f128), 0.0, 1e-1, | ||
| 21563 | }); | ||
| 21564 | try testArgs(@Vector(16, f128), .{ | ||
| 21565 | -fmin(f128), -1e1, -fmin(f128), 1e-1, -1e1, 1e0, -fmax(f128), tmin(f128), -nan(f128), -tmin(f128), 1e1, -inf(f128), -1e0, tmin(f128), -0.0, nan(f128), | ||
| 21566 | }, .{ | ||
| 21567 | -fmax(f128), fmin(f128), inf(f128), tmin(f128), -1e1, 1e1, fmax(f128), 1e0, -inf(f128), -inf(f128), -fmax(f128), -nan(f128), 1e0, -inf(f128), tmin(f128), tmin(f128), | ||
| 21568 | }); | ||
| 21569 | try testArgs(@Vector(32, f128), .{ | ||
| 21570 | -0.0, -1e0, 1e0, -fmax(f128), -fmax(f128), 1e-1, -fmin(f128), -fmin(f128), -1e0, -tmin(f128), -0.0, -fmax(f128), tmin(f128), inf(f128), 0.0, fmax(f128), | ||
| 21571 | -nan(f128), -0.0, -inf(f128), -1e0, 1e-1, -fmin(f128), tmin(f128), -1e1, fmax(f128), -nan(f128), -nan(f128), -fmax(f128), 1e-1, inf(f128), -0.0, tmin(f128), | ||
| 21572 | }, .{ | ||
| 21573 | -1e0, -1e1, -fmin(f128), -fmin(f128), inf(f128), tmin(f128), nan(f128), 0.0, -fmin(f128), 1e-1, -nan(f128), 1e-1, -0.0, tmin(f128), 1e0, 0.0, | ||
| 21574 | fmin(f128), fmax(f128), -fmax(f128), -tmin(f128), fmin(f128), -0.0, -1e0, -nan(f128), -inf(f128), 1e0, nan(f128), 1e0, 1e-1, -0.0, -fmax(f128), -1e1, | ||
| 21575 | }); | ||
| 21576 | try testArgs(@Vector(64, f128), .{ | ||
| 21577 | -1e0, -0.0, nan(f128), 1e-1, -1e1, 0.0, 1e0, 1e0, -inf(f128), fmin(f128), fmax(f128), nan(f128), -nan(f128), inf(f128), -0.0, | ||
| 21578 | 1e-1, -inf(f128), -fmax(f128), 1e1, -tmin(f128), -tmin(f128), -fmax(f128), 1e0, 1e-1, 1e-1, nan(f128), 1e1, 1e0, -tmin(f128), 1e1, | ||
| 21579 | -nan(f128), fmax(f128), fmax(f128), 0.0, fmax(f128), inf(f128), 1e0, -0.0, 1e-1, -tmin(f128), fmin(f128), fmax(f128), tmin(f128), inf(f128), -1e1, | ||
| 21580 | -1e0, -1e0, -1e0, -inf(f128), 1e1, -tmin(f128), nan(f128), nan(f128), 1e-1, fmin(f128), 1e-1, tmin(f128), -1e1, 1e-1, 1e1, | ||
| 21581 | fmax(f128), fmax(f128), 1e-1, -fmax(f128), | ||
| 21582 | }, .{ | ||
| 21583 | -0.0, 1e-1, -0.0, -fmin(f128), 1e1, 0.0, 1e0, -inf(f128), tmin(f128), -1e0, fmin(f128), -nan(f128), -1e1, 1e-1, -1e1, 1e-1, | ||
| 21584 | 1e-1, tmin(f128), nan(f128), -1e0, 0.0, -1e1, -1e1, fmax(f128), -fmax(f128), inf(f128), -nan(f128), 1e-1, -nan(f128), 1e0, fmax(f128), inf(f128), | ||
| 21585 | nan(f128), fmin(f128), 1e1, inf(f128), 0.0, -inf(f128), 1e-1, 1e-1, 1e-1, -1e0, 1e-1, -1e1, inf(f128), -nan(f128), 1e-1, inf(f128), | ||
| 21586 | inf(f128), inf(f128), -1e1, -tmin(f128), 1e-1, -inf(f128), -fmin(f128), 1e0, -tmin(f128), 1e0, -tmin(f128), -inf(f128), -0.0, -nan(f128), -1e0, -fmax(f128), | ||
| 21587 | }); | ||
| 21588 | try testArgs(@Vector(128, f128), .{ | ||
| 21589 | -inf(f128), tmin(f128), -fmax(f128), 1e0, fmin(f128), -fmax(f128), -1e0, 1e-1, -fmax(f128), -fmin(f128), -1e1, nan(f128), 1e-1, nan(f128), | ||
| 21590 | inf(f128), -1e0, tmin(f128), -inf(f128), 0.0, fmax(f128), tmin(f128), -fmin(f128), fmin(f128), -1e1, -fmin(f128), -1e1, 1e0, -nan(f128), | ||
| 21591 | -inf(f128), fmin(f128), inf(f128), -tmin(f128), 1e-1, 0.0, 1e1, 1e0, -tmin(f128), -tmin(f128), tmin(f128), 1e0, fmin(f128), 1e-1, | ||
| 21592 | 1e-1, 1e-1, fmax(f128), 1e-1, inf(f128), 0.0, fmin(f128), -fmin(f128), 1e1, 1e1, -1e1, tmin(f128), inf(f128), inf(f128), | ||
| 21593 | -fmin(f128), 0.0, 1e-1, -nan(f128), 1e-1, -inf(f128), -nan(f128), -1e0, fmin(f128), -0.0, 1e1, -tmin(f128), 1e1, 1e0, | ||
| 21594 | 1e-1, -0.0, -tmin(f128), 1e-1, -1e0, -tmin(f128), -fmin(f128), tmin(f128), 1e-1, -tmin(f128), -nan(f128), -1e1, -inf(f128), 0.0, | ||
| 21595 | 1e-1, 0.0, -fmin(f128), 0.0, 1e1, 1e1, tmin(f128), inf(f128), -nan(f128), -inf(f128), -1e0, -fmin(f128), -1e1, -fmin(f128), | ||
| 21596 | -inf(f128), -fmax(f128), tmin(f128), tmin(f128), -fmin(f128), 1e-1, fmin(f128), fmin(f128), -fmin(f128), nan(f128), -1e0, -0.0, -0.0, 1e-1, | ||
| 21597 | fmax(f128), 0.0, -fmax(f128), nan(f128), nan(f128), nan(f128), nan(f128), -nan(f128), fmin(f128), -inf(f128), inf(f128), -fmax(f128), -1e1, fmin(f128), | ||
| 21598 | 1e-1, fmax(f128), | ||
| 21599 | }, .{ | ||
| 21600 | 0.0, 1e1, 1e-1, inf(f128), -0.0, -1e0, nan(f128), -1e1, -inf(f128), 1e-1, -tmin(f128), 1e0, inf(f128), 1e-1, -1e0, | ||
| 21601 | 1e1, 0.0, 1e0, nan(f128), tmin(f128), fmax(f128), 1e1, 1e-1, 1e-1, -fmin(f128), -inf(f128), -nan(f128), -fmin(f128), -0.0, -inf(f128), | ||
| 21602 | -nan(f128), fmax(f128), -fmin(f128), -tmin(f128), -fmin(f128), -fmax(f128), nan(f128), fmin(f128), -fmax(f128), fmax(f128), 1e0, 1e1, -fmax(f128), nan(f128), -fmax(f128), | ||
| 21603 | -inf(f128), nan(f128), -nan(f128), tmin(f128), -1e0, 1e-1, 1e-1, -1e0, -nan(f128), fmax(f128), 1e1, -inf(f128), 1e1, -0.0, -1e0, | ||
| 21604 | -0.0, -tmin(f128), 1e1, -1e0, -fmax(f128), fmin(f128), fmax(f128), tmin(f128), 1e1, fmin(f128), -nan(f128), 1e0, -tmin(f128), -1e0, fmax(f128), | ||
| 21605 | 1e0, -tmin(f128), 1e-1, -nan(f128), inf(f128), 1e-1, 1e-1, fmax(f128), -fmin(f128), fmin(f128), -0.0, fmax(f128), -fmax(f128), -tmin(f128), tmin(f128), | ||
| 21606 | nan(f128), 1e-1, tmin(f128), -1e0, fmin(f128), -nan(f128), fmax(f128), 1e0, nan(f128), -nan(f128), inf(f128), -fmin(f128), fmin(f128), 1e-1, 1e1, | ||
| 21607 | -tmin(f128), -1e1, 0.0, 1e-1, -fmin(f128), -0.0, 0.0, -1e1, fmax(f128), nan(f128), nan(f128), -fmin(f128), -fmax(f128), 1e1, 0.0, | ||
| 21608 | fmin(f128), 1e1, -tmin(f128), -tmin(f128), 0.0, -1e1, 1e0, -fmin(f128), | ||
| 21609 | }); | ||
| 21610 | try testArgs(@Vector(69, f128), .{ | ||
| 21611 | -1e0, nan(f128), 1e-1, 1e-1, 1e-1, -1e0, -1e1, inf(f128), -0.0, inf(f128), tmin(f128), 0.0, -fmax(f128), -tmin(f128), -1e1, -fmax(f128), | ||
| 21612 | -0.0, 0.0, nan(f128), inf(f128), 1e0, -1e0, 1e-1, -0.0, 1e0, fmax(f128), -fmax(f128), 0.0, inf(f128), -inf(f128), -tmin(f128), -inf(f128), | ||
| 21613 | 1e1, fmin(f128), 1e1, -1e1, 1e-1, 1e0, -0.0, nan(f128), tmin(f128), inf(f128), inf(f128), -nan(f128), -nan(f128), 1e0, -tmin(f128), 0.0, | ||
| 21614 | fmin(f128), fmax(f128), fmin(f128), -1e1, nan(f128), 0.0, -nan(f128), -0.0, -nan(f128), 1e-1, -1e1, -tmin(f128), fmax(f128), 1e0, fmin(f128), fmax(f128), | ||
| 21615 | nan(f128), -inf(f128), 1e0, fmin(f128), -nan(f128), | ||
| 21616 | }, .{ | ||
| 21617 | -inf(f128), fmax(f128), 0.0, nan(f128), -1e1, tmin(f128), nan(f128), 1e0, 1e1, -fmin(f128), fmin(f128), tmin(f128), 0.0, -fmin(f128), -0.0, fmin(f128), | ||
| 21618 | inf(f128), inf(f128), fmin(f128), fmin(f128), -tmin(f128), -fmax(f128), 1e1, nan(f128), -0.0, 1e0, 1e1, -1e1, -inf(f128), fmin(f128), -fmax(f128), 1e-1, | ||
| 21619 | -1e0, -nan(f128), -1e1, tmin(f128), inf(f128), nan(f128), 0.0, -1e1, tmin(f128), 0.0, -fmax(f128), -tmin(f128), 1e-1, 1e-1, 1e1, 1e-1, | ||
| 21620 | fmax(f128), 1e-1, 0.0, -fmin(f128), -inf(f128), -inf(f128), -nan(f128), 1e-1, -fmax(f128), fmax(f128), -fmax(f128), -0.0, -tmin(f128), -1e0, nan(f128), 1e-1, | ||
| 21621 | -1e0, -inf(f128), tmin(f128), inf(f128), inf(f128), | ||
| 21622 | }); | ||
| 21623 | } | ||
| 21624 | }; | ||
| 21625 | } | ||
| 21626 | |||
| 21627 | inline fn addUnsafe(comptime Type: type, lhs: Type, rhs: Type) AddOneBit(Type) { | ||
| 21628 | @setRuntimeSafety(false); | ||
| 21629 | return @as(AddOneBit(Type), lhs) + rhs; | ||
| 21630 | } | ||
| 21631 | test addUnsafe { | ||
| 21632 | const test_add_unsafe = binary(addUnsafe, .{}); | ||
| 21633 | try test_add_unsafe.testInts(); | ||
| 21634 | try test_add_unsafe.testIntVectors(); | ||
| 21635 | try test_add_unsafe.testFloats(); | ||
| 21636 | try test_add_unsafe.testFloatVectors(); | ||
| 21637 | } | ||
| 21638 | |||
| 21639 | inline fn addWrap(comptime Type: type, lhs: Type, rhs: Type) Type { | ||
| 21640 | return lhs +% rhs; | ||
| 21641 | } | ||
| 21642 | test addWrap { | ||
| 21643 | const test_add_wrap = binary(addWrap, .{}); | ||
| 21644 | try test_add_wrap.testInts(); | ||
| 21645 | try test_add_wrap.testIntVectors(); | ||
| 21646 | } | ||
| 21647 | |||
| 21648 | inline fn subUnsafe(comptime Type: type, lhs: Type, rhs: Type) AddOneBit(Type) { | ||
| 21649 | @setRuntimeSafety(false); | ||
| 21650 | switch (@typeInfo(Scalar(Type))) { | ||
| 21651 | else => @compileError(@typeName(Type)), | ||
| 21652 | .int => |int| switch (int.signedness) { | ||
| 21653 | .signed => {}, | ||
| 21654 | .unsigned => return @as(AddOneBit(Type), @max(lhs, rhs)) - @min(lhs, rhs), | ||
| 21655 | }, | ||
| 21656 | .float => {}, | ||
| 21657 | } | ||
| 21658 | return @as(AddOneBit(Type), lhs) - rhs; | ||
| 21659 | } | ||
| 21660 | test subUnsafe { | ||
| 21661 | const test_sub_unsafe = binary(subUnsafe, .{}); | ||
| 21662 | try test_sub_unsafe.testInts(); | ||
| 21663 | try test_sub_unsafe.testIntVectors(); | ||
| 21664 | try test_sub_unsafe.testFloats(); | ||
| 21665 | try test_sub_unsafe.testFloatVectors(); | ||
| 21666 | } | ||
| 21667 | |||
| 21668 | inline fn subWrap(comptime Type: type, lhs: Type, rhs: Type) Type { | ||
| 21669 | return lhs -% rhs; | ||
| 21670 | } | ||
| 21671 | test subWrap { | ||
| 21672 | const test_sub_wrap = binary(subWrap, .{}); | ||
| 21673 | try test_sub_wrap.testInts(); | ||
| 21674 | try test_sub_wrap.testIntVectors(); | ||
| 21675 | } | ||
| 21676 | |||
| 21677 | inline fn mulUnsafe(comptime Type: type, lhs: Type, rhs: Type) DoubleBits(Type) { | ||
| 21678 | @setRuntimeSafety(false); | ||
| 21679 | return @as(DoubleBits(Type), lhs) * rhs; | ||
| 21680 | } | ||
| 21681 | test mulUnsafe { | ||
| 21682 | const test_mul_unsafe = binary(mulUnsafe, .{}); | ||
| 21683 | try test_mul_unsafe.testInts(); | ||
| 21684 | try test_mul_unsafe.testIntVectors(); | ||
| 21685 | } | ||
| 21686 | |||
| 21687 | inline fn multiply(comptime Type: type, lhs: Type, rhs: Type) @TypeOf(lhs * rhs) { | ||
| 21688 | return lhs * rhs; | ||
| 21689 | } | ||
| 21690 | test multiply { | ||
| 21691 | const test_multiply = binary(multiply, .{}); | ||
| 21692 | try test_multiply.testFloats(); | ||
| 21693 | try test_multiply.testFloatVectors(); | ||
| 21694 | } | ||
| 21695 | |||
| 21696 | inline fn divide(comptime Type: type, lhs: Type, rhs: Type) @TypeOf(lhs / rhs) { | ||
| 21697 | return lhs / rhs; | ||
| 21698 | } | ||
| 21699 | test divide { | ||
| 21700 | const test_divide = binary(divide, .{ .compare = .approx }); | ||
| 21701 | try test_divide.testFloats(); | ||
| 21702 | try test_divide.testFloatVectors(); | ||
| 21703 | } | ||
| 21704 | |||
| 21705 | inline fn divTrunc(comptime Type: type, lhs: Type, rhs: Type) @TypeOf(@divTrunc(lhs, rhs)) { | ||
| 21706 | return @divTrunc(lhs, rhs); | ||
| 21707 | } | ||
| 21708 | test divTrunc { | ||
| 21709 | const test_div_trunc = binary(divTrunc, .{ .compare = .approx_int }); | ||
| 21710 | try test_div_trunc.testInts(); | ||
| 21711 | try test_div_trunc.testIntVectors(); | ||
| 21712 | try test_div_trunc.testFloats(); | ||
| 21713 | try test_div_trunc.testFloatVectors(); | ||
| 21714 | } | ||
| 21715 | |||
| 21716 | inline fn divFloor(comptime Type: type, lhs: Type, rhs: Type) @TypeOf(@divFloor(lhs, rhs)) { | ||
| 21717 | return @divFloor(lhs, rhs); | ||
| 21718 | } | ||
| 21719 | test divFloor { | ||
| 21720 | const test_div_floor = binary(divFloor, .{ .compare = .approx_int }); | ||
| 21721 | try test_div_floor.testFloats(); | ||
| 21722 | try test_div_floor.testFloatVectors(); | ||
| 21723 | } | ||
| 21724 | |||
| 21725 | inline fn rem(comptime Type: type, lhs: Type, rhs: Type) @TypeOf(@rem(lhs, rhs)) { | ||
| 21726 | return @rem(lhs, rhs); | ||
| 21727 | } | ||
| 21728 | test rem { | ||
| 21729 | const test_rem = binary(rem, .{}); | ||
| 21730 | try test_rem.testInts(); | ||
| 21731 | try test_rem.testIntVectors(); | ||
| 21732 | try test_rem.testFloats(); | ||
| 21733 | try test_rem.testFloatVectors(); | ||
| 21734 | } | ||
| 21735 | |||
| 21736 | inline fn mod(comptime Type: type, lhs: Type, rhs: Type) @TypeOf(@mod(lhs, rhs)) { | ||
| 21737 | // workaround llvm backend bugs | ||
| 21738 | if (@inComptime()) { | ||
| 21739 | const scalarMod = struct { | ||
| 21740 | fn scalarMod(scalar_lhs: Scalar(Type), scalar_rhs: Scalar(Type)) Scalar(Type) { | ||
| 21741 | const scalar_rem = @rem(scalar_lhs, scalar_rhs); | ||
| 21742 | return if (scalar_rem == 0 or math.signbit(scalar_rem) == math.signbit(scalar_rhs)) scalar_rem else scalar_rem + scalar_rhs; | ||
| 21743 | } | ||
| 21744 | }.scalarMod; | ||
| 21745 | switch (@typeInfo(Type)) { | ||
| 21746 | else => return scalarMod(lhs, rhs), | ||
| 21747 | .vector => |info| { | ||
| 21748 | var res: Type = undefined; | ||
| 21749 | inline for (0..info.len) |i| res[i] = scalarMod(lhs[i], rhs[i]); | ||
| 21750 | return res; | ||
| 21751 | }, | ||
| 21752 | } | ||
| 21753 | } | ||
| 21754 | return @mod(lhs, rhs); | ||
| 21755 | } | ||
| 21756 | test mod { | ||
| 21757 | const test_mod = binary(mod, .{}); | ||
| 21758 | try test_mod.testFloats(); | ||
| 21759 | try test_mod.testFloatVectors(); | ||
| 21760 | } | ||
| 21761 | |||
| 21762 | inline fn bitNot(comptime Type: type, rhs: Type) @TypeOf(~rhs) { | ||
| 21763 | return ~rhs; | ||
| 21764 | } | ||
| 21765 | test bitNot { | ||
| 21766 | const test_bit_not = unary(bitNot, .{}); | ||
| 21767 | try test_bit_not.testInts(); | ||
| 21768 | try test_bit_not.testIntVectors(); | ||
| 21769 | } | ||
| 21770 | |||
| 21771 | inline fn clz(comptime Type: type, rhs: Type) @TypeOf(@clz(rhs)) { | ||
| 21772 | return @clz(rhs); | ||
| 21773 | } | ||
| 21774 | test clz { | ||
| 21775 | const test_clz = unary(clz, .{}); | ||
| 21776 | try test_clz.testInts(); | ||
| 21777 | try test_clz.testIntVectors(); | ||
| 21778 | } | ||
| 21779 | |||
| 21780 | inline fn ctz(comptime Type: type, rhs: Type) @TypeOf(@ctz(rhs)) { | ||
| 21781 | return @ctz(rhs); | ||
| 21782 | } | ||
| 21783 | test ctz { | ||
| 21784 | const test_ctz = unary(ctz, .{}); | ||
| 21785 | try test_ctz.testInts(); | ||
| 21786 | } | ||
| 21787 | |||
| 21788 | inline fn popCount(comptime Type: type, rhs: Type) @TypeOf(@popCount(rhs)) { | ||
| 21789 | return @popCount(rhs); | ||
| 21790 | } | ||
| 21791 | test popCount { | ||
| 21792 | const test_pop_count = unary(popCount, .{}); | ||
| 21793 | try test_pop_count.testInts(); | ||
| 21794 | } | ||
| 21795 | |||
| 21796 | inline fn byteSwap(comptime Type: type, rhs: Type) RoundBitsUp(Type, 8) { | ||
| 21797 | return @byteSwap(@as(RoundBitsUp(Type, 8), rhs)); | ||
| 21798 | } | ||
| 21799 | test byteSwap { | ||
| 21800 | const test_byte_swap = unary(byteSwap, .{}); | ||
| 21801 | try test_byte_swap.testInts(); | ||
| 21802 | } | ||
| 21803 | |||
| 21804 | inline fn bitReverse(comptime Type: type, rhs: Type) @TypeOf(@bitReverse(rhs)) { | ||
| 21805 | return @bitReverse(rhs); | ||
| 21806 | } | ||
| 21807 | test bitReverse { | ||
| 21808 | const test_bit_reverse = unary(bitReverse, .{}); | ||
| 21809 | try test_bit_reverse.testInts(); | ||
| 21810 | } | ||
| 21811 | |||
| 21812 | inline fn sqrt(comptime Type: type, rhs: Type) @TypeOf(@sqrt(rhs)) { | ||
| 21813 | return @sqrt(rhs); | ||
| 21814 | } | ||
| 21815 | test sqrt { | ||
| 21816 | const test_sqrt = unary(sqrt, .{ .libc_name = "sqrt", .compare = .approx }); | ||
| 21817 | try test_sqrt.testFloats(); | ||
| 21818 | try test_sqrt.testFloatVectors(); | ||
| 21819 | } | ||
| 21820 | |||
| 21821 | inline fn sin(comptime Type: type, rhs: Type) @TypeOf(@sin(rhs)) { | ||
| 21822 | return @sin(rhs); | ||
| 21823 | } | ||
| 21824 | test sin { | ||
| 21825 | const test_sin = unary(sin, .{ .libc_name = "sin", .compare = .strict }); | ||
| 21826 | try test_sin.testFloats(); | ||
| 21827 | try test_sin.testFloatVectors(); | ||
| 21828 | } | ||
| 21829 | |||
| 21830 | inline fn cos(comptime Type: type, rhs: Type) @TypeOf(@cos(rhs)) { | ||
| 21831 | return @cos(rhs); | ||
| 21832 | } | ||
| 21833 | test cos { | ||
| 21834 | const test_cos = unary(cos, .{ .libc_name = "cos", .compare = .strict }); | ||
| 21835 | try test_cos.testFloats(); | ||
| 21836 | try test_cos.testFloatVectors(); | ||
| 21837 | } | ||
| 21838 | |||
| 21839 | inline fn tan(comptime Type: type, rhs: Type) @TypeOf(@tan(rhs)) { | ||
| 21840 | return @tan(rhs); | ||
| 21841 | } | ||
| 21842 | test tan { | ||
| 21843 | const test_tan = unary(tan, .{ .libc_name = "tan", .compare = .strict }); | ||
| 21844 | try test_tan.testFloats(); | ||
| 21845 | try test_tan.testFloatVectors(); | ||
| 21846 | } | ||
| 21847 | |||
| 21848 | inline fn exp(comptime Type: type, rhs: Type) @TypeOf(@exp(rhs)) { | ||
| 21849 | return @exp(rhs); | ||
| 21850 | } | ||
| 21851 | test exp { | ||
| 21852 | const test_exp = unary(exp, .{ .libc_name = "exp", .compare = .strict }); | ||
| 21853 | try test_exp.testFloats(); | ||
| 21854 | try test_exp.testFloatVectors(); | ||
| 21855 | } | ||
| 21856 | |||
| 21857 | inline fn exp2(comptime Type: type, rhs: Type) @TypeOf(@exp2(rhs)) { | ||
| 21858 | return @exp2(rhs); | ||
| 21859 | } | ||
| 21860 | test exp2 { | ||
| 21861 | const test_exp2 = unary(exp2, .{ .libc_name = "exp2", .compare = .strict }); | ||
| 21862 | try test_exp2.testFloats(); | ||
| 21863 | try test_exp2.testFloatVectors(); | ||
| 21864 | } | ||
| 21865 | |||
| 21866 | inline fn log(comptime Type: type, rhs: Type) @TypeOf(@log(rhs)) { | ||
| 21867 | return @log(rhs); | ||
| 21868 | } | ||
| 21869 | test log { | ||
| 21870 | const test_log = unary(log, .{ .libc_name = "log", .compare = .strict }); | ||
| 21871 | try test_log.testFloats(); | ||
| 21872 | try test_log.testFloatVectors(); | ||
| 21873 | } | ||
| 21874 | |||
| 21875 | inline fn log2(comptime Type: type, rhs: Type) @TypeOf(@log2(rhs)) { | ||
| 21876 | return @log2(rhs); | ||
| 21877 | } | ||
| 21878 | test log2 { | ||
| 21879 | const test_log2 = unary(log2, .{ .libc_name = "log2", .compare = .strict }); | ||
| 21880 | try test_log2.testFloats(); | ||
| 21881 | try test_log2.testFloatVectors(); | ||
| 21882 | } | ||
| 21883 | |||
| 21884 | inline fn log10(comptime Type: type, rhs: Type) @TypeOf(@log10(rhs)) { | ||
| 21885 | return @log10(rhs); | ||
| 21886 | } | ||
| 21887 | test log10 { | ||
| 21888 | const test_log10 = unary(log10, .{ .libc_name = "log10", .compare = .strict }); | ||
| 21889 | try test_log10.testFloats(); | ||
| 21890 | try test_log10.testFloatVectors(); | ||
| 21891 | } | ||
| 21892 | |||
| 21893 | inline fn abs(comptime Type: type, rhs: Type) @TypeOf(@abs(rhs)) { | ||
| 21894 | return @abs(rhs); | ||
| 21895 | } | ||
| 21896 | test abs { | ||
| 21897 | const test_abs = unary(abs, .{ .compare = .strict }); | ||
| 21898 | try test_abs.testInts(); | ||
| 21899 | try test_abs.testIntVectors(); | ||
| 21900 | try test_abs.testFloats(); | ||
| 21901 | try test_abs.testFloatVectors(); | ||
| 21902 | } | ||
| 21903 | |||
| 21904 | inline fn floor(comptime Type: type, rhs: Type) @TypeOf(@floor(rhs)) { | ||
| 21905 | return @floor(rhs); | ||
| 21906 | } | ||
| 21907 | test floor { | ||
| 21908 | const test_floor = unary(floor, .{ .libc_name = "floor", .compare = .strict }); | ||
| 21909 | try test_floor.testFloats(); | ||
| 21910 | try test_floor.testFloatVectors(); | ||
| 21911 | } | ||
| 21912 | |||
| 21913 | inline fn ceil(comptime Type: type, rhs: Type) @TypeOf(@ceil(rhs)) { | ||
| 21914 | return @ceil(rhs); | ||
| 21915 | } | ||
| 21916 | test ceil { | ||
| 21917 | const test_ceil = unary(ceil, .{ .libc_name = "ceil", .compare = .strict }); | ||
| 21918 | try test_ceil.testFloats(); | ||
| 21919 | try test_ceil.testFloatVectors(); | ||
| 21920 | } | ||
| 21921 | |||
| 21922 | inline fn round(comptime Type: type, rhs: Type) @TypeOf(@round(rhs)) { | ||
| 21923 | return @round(rhs); | ||
| 21924 | } | ||
| 21925 | test round { | ||
| 21926 | const test_round = unary(round, .{ .libc_name = "round", .compare = .strict }); | ||
| 21927 | try test_round.testFloats(); | ||
| 21928 | try test_round.testFloatVectors(); | ||
| 21929 | } | ||
| 21930 | |||
| 21931 | inline fn trunc(comptime Type: type, rhs: Type) @TypeOf(@trunc(rhs)) { | ||
| 21932 | return @trunc(rhs); | ||
| 21933 | } | ||
| 21934 | test trunc { | ||
| 21935 | const test_trunc = unary(trunc, .{ .libc_name = "trunc", .compare = .strict }); | ||
| 21936 | try test_trunc.testFloats(); | ||
| 21937 | try test_trunc.testFloatVectors(); | ||
| 21938 | } | ||
| 21939 | |||
| 21940 | inline fn negate(comptime Type: type, rhs: Type) @TypeOf(-rhs) { | ||
| 21941 | return -rhs; | ||
| 21942 | } | ||
| 21943 | test negate { | ||
| 21944 | const test_negate = unary(negate, .{ .compare = .strict }); | ||
| 21945 | try test_negate.testFloats(); | ||
| 21946 | try test_negate.testFloatVectors(); | ||
| 21947 | } | ||
| 21948 | |||
| 21949 | inline fn intCast(comptime Result: type, comptime Type: type, rhs: Type, comptime ct_rhs: Type) Result { | ||
| 21950 | @setRuntimeSafety(false); // TODO | ||
| 21951 | const res_info = switch (@typeInfo(Result)) { | ||
| 21952 | .int => |info| info, | ||
| 21953 | .vector => |info| @typeInfo(info.child).int, | ||
| 21954 | else => @compileError(@typeName(Result)), | ||
| 21955 | }; | ||
| 21956 | const rhs_info = @typeInfo(Scalar(Type)).int; | ||
| 21957 | const min_bits = @min(res_info.bits, rhs_info.bits); | ||
| 21958 | return @intCast(switch (@as(union(enum) { | ||
| 21959 | shift: std.math.Log2Int(Scalar(Type)), | ||
| 21960 | mask: std.math.Log2IntCeil(Scalar(Type)), | ||
| 21961 | }, switch (res_info.signedness) { | ||
| 21962 | .signed => switch (rhs_info.signedness) { | ||
| 21963 | .signed => .{ .shift = rhs_info.bits - min_bits }, | ||
| 21964 | .unsigned => .{ .mask = min_bits - @intFromBool(res_info.bits <= rhs_info.bits) }, | ||
| 21965 | }, | ||
| 21966 | .unsigned => switch (rhs_info.signedness) { | ||
| 21967 | .signed => .{ .mask = min_bits - @intFromBool(res_info.bits >= rhs_info.bits) }, | ||
| 21968 | .unsigned => .{ .mask = min_bits }, | ||
| 21969 | }, | ||
| 21970 | })) { | ||
| 21971 | // TODO: if (bits == 0) rhs else rhs >> bits, | ||
| 21972 | .shift => |bits| if (bits == 0) rhs else switch (@typeInfo(Type)) { | ||
| 21973 | .int => if (ct_rhs < 0) | ||
| 21974 | rhs | std.math.minInt(Type) >> bits | ||
| 21975 | else | ||
| 21976 | rhs & std.math.maxInt(Type) >> bits, | ||
| 21977 | .vector => rhs | @select( | ||
| 21978 | Scalar(Type), | ||
| 21979 | ct_rhs < splat(Type, 0), | ||
| 21980 | splat(Type, std.math.minInt(Scalar(Type)) >> bits), | ||
| 21981 | splat(Type, 0), | ||
| 21982 | ) & ~@select( | ||
| 21983 | Scalar(Type), | ||
| 21984 | ct_rhs >= splat(Type, 0), | ||
| 21985 | splat(Type, std.math.minInt(Scalar(Type)) >> bits), | ||
| 21986 | splat(Type, 0), | ||
| 21987 | ), | ||
| 21988 | else => comptime unreachable, | ||
| 21989 | }, | ||
| 21990 | .mask => |bits| if (bits == rhs_info.bits) rhs else rhs & splat(Type, (1 << bits) - 1), | ||
| 21991 | }); | ||
| 21992 | } | ||
| 21993 | test intCast { | ||
| 21994 | const test_int_cast = cast(intCast, .{}); | ||
| 21995 | try test_int_cast.testInts(); | ||
| 21996 | try test_int_cast.testIntVectors(); | ||
| 21997 | } | ||
| 21998 | |||
| 21999 | inline fn truncate(comptime Result: type, comptime Type: type, rhs: Type, comptime _: Type) Result { | ||
| 22000 | return if (@typeInfo(Scalar(Result)).int.bits <= @typeInfo(Scalar(Type)).int.bits) @truncate(rhs) else rhs; | ||
| 22001 | } | ||
| 22002 | test truncate { | ||
| 22003 | const test_truncate = cast(truncate, .{}); | ||
| 22004 | try test_truncate.testSameSignednessInts(); | ||
| 22005 | try test_truncate.testSameSignednessIntVectors(); | ||
| 22006 | } | ||
| 22007 | |||
| 22008 | inline fn floatCast(comptime Result: type, comptime Type: type, rhs: Type, comptime _: Type) Result { | ||
| 22009 | return @floatCast(rhs); | ||
| 22010 | } | ||
| 22011 | test floatCast { | ||
| 22012 | const test_float_cast = cast(floatCast, .{ .compare = .strict }); | ||
| 22013 | try test_float_cast.testFloats(); | ||
| 22014 | try test_float_cast.testFloatVectors(); | ||
| 22015 | } | ||
| 22016 | |||
| 22017 | inline fn intFromFloat(comptime Result: type, comptime Type: type, rhs: Type, comptime _: Type) Result { | ||
| 22018 | return @intFromFloat(rhs); | ||
| 22019 | } | ||
| 22020 | test intFromFloat { | ||
| 22021 | const test_int_from_float = cast(intFromFloat, .{ .compare = .strict }); | ||
| 22022 | try test_int_from_float.testIntsFromFloats(); | ||
| 22023 | try test_int_from_float.testIntVectorsFromFloatVectors(); | ||
| 22024 | } | ||
| 22025 | |||
| 22026 | inline fn floatFromInt(comptime Result: type, comptime Type: type, rhs: Type, comptime _: Type) Result { | ||
| 22027 | return @floatFromInt(rhs); | ||
| 22028 | } | ||
| 22029 | test floatFromInt { | ||
| 22030 | const test_float_from_int = cast(floatFromInt, .{ .compare = .strict }); | ||
| 22031 | try test_float_from_int.testFloatsFromInts(); | ||
| 22032 | try test_float_from_int.testFloatVectorsFromIntVectors(); | ||
| 22033 | } | ||
| 22034 | |||
| 22035 | inline fn equal(comptime Type: type, lhs: Type, rhs: Type) @TypeOf(lhs == rhs) { | ||
| 22036 | return lhs == rhs; | ||
| 22037 | } | ||
| 22038 | test equal { | ||
| 22039 | const test_equal = binary(equal, .{}); | ||
| 22040 | try test_equal.testInts(); | ||
| 22041 | try test_equal.testFloats(); | ||
| 22042 | } | ||
| 22043 | |||
| 22044 | inline fn notEqual(comptime Type: type, lhs: Type, rhs: Type) @TypeOf(lhs != rhs) { | ||
| 22045 | return lhs != rhs; | ||
| 22046 | } | ||
| 22047 | test notEqual { | ||
| 22048 | const test_not_equal = binary(notEqual, .{}); | ||
| 22049 | try test_not_equal.testInts(); | ||
| 22050 | try test_not_equal.testFloats(); | ||
| 22051 | } | ||
| 22052 | |||
| 22053 | inline fn lessThan(comptime Type: type, lhs: Type, rhs: Type) @TypeOf(lhs < rhs) { | ||
| 22054 | return lhs < rhs; | ||
| 22055 | } | ||
| 22056 | test lessThan { | ||
| 22057 | const test_less_than = binary(lessThan, .{}); | ||
| 22058 | try test_less_than.testInts(); | ||
| 22059 | try test_less_than.testFloats(); | ||
| 22060 | } | ||
| 22061 | |||
| 22062 | inline fn lessThanOrEqual(comptime Type: type, lhs: Type, rhs: Type) @TypeOf(lhs <= rhs) { | ||
| 22063 | return lhs <= rhs; | ||
| 22064 | } | ||
| 22065 | test lessThanOrEqual { | ||
| 22066 | const test_less_than_or_equal = binary(lessThanOrEqual, .{}); | ||
| 22067 | try test_less_than_or_equal.testInts(); | ||
| 22068 | try test_less_than_or_equal.testFloats(); | ||
| 22069 | } | ||
| 22070 | |||
| 22071 | inline fn greaterThan(comptime Type: type, lhs: Type, rhs: Type) @TypeOf(lhs > rhs) { | ||
| 22072 | return lhs > rhs; | ||
| 22073 | } | ||
| 22074 | test greaterThan { | ||
| 22075 | const test_greater_than = binary(greaterThan, .{}); | ||
| 22076 | try test_greater_than.testInts(); | ||
| 22077 | try test_greater_than.testFloats(); | ||
| 22078 | } | ||
| 22079 | |||
| 22080 | inline fn greaterThanOrEqual(comptime Type: type, lhs: Type, rhs: Type) @TypeOf(lhs >= rhs) { | ||
| 22081 | return lhs >= rhs; | ||
| 22082 | } | ||
| 22083 | test greaterThanOrEqual { | ||
| 22084 | const test_greater_than_or_equal = binary(greaterThanOrEqual, .{}); | ||
| 22085 | try test_greater_than_or_equal.testInts(); | ||
| 22086 | try test_greater_than_or_equal.testFloats(); | ||
| 22087 | } | ||
| 22088 | |||
| 22089 | inline fn bitAnd(comptime Type: type, lhs: Type, rhs: Type) @TypeOf(lhs & rhs) { | ||
| 22090 | return lhs & rhs; | ||
| 22091 | } | ||
| 22092 | test bitAnd { | ||
| 22093 | const test_bit_and = binary(bitAnd, .{}); | ||
| 22094 | try test_bit_and.testInts(); | ||
| 22095 | try test_bit_and.testIntVectors(); | ||
| 22096 | } | ||
| 22097 | |||
| 22098 | inline fn bitOr(comptime Type: type, lhs: Type, rhs: Type) @TypeOf(lhs | rhs) { | ||
| 22099 | return lhs | rhs; | ||
| 22100 | } | ||
| 22101 | test bitOr { | ||
| 22102 | const test_bit_or = binary(bitOr, .{}); | ||
| 22103 | try test_bit_or.testInts(); | ||
| 22104 | try test_bit_or.testIntVectors(); | ||
| 22105 | } | ||
| 22106 | |||
| 22107 | inline fn bitXor(comptime Type: type, lhs: Type, rhs: Type) @TypeOf(lhs ^ rhs) { | ||
| 22108 | return lhs ^ rhs; | ||
| 22109 | } | ||
| 22110 | test bitXor { | ||
| 22111 | const test_bit_xor = binary(bitXor, .{}); | ||
| 22112 | try test_bit_xor.testInts(); | ||
| 22113 | try test_bit_xor.testIntVectors(); | ||
| 22114 | } | ||
| 22115 | |||
| 22116 | inline fn min(comptime Type: type, lhs: Type, rhs: Type) Type { | ||
| 22117 | return @min(lhs, rhs); | ||
| 22118 | } | ||
| 22119 | test min { | ||
| 22120 | const test_min = binary(min, .{}); | ||
| 22121 | try test_min.testInts(); | ||
| 22122 | try test_min.testIntVectors(); | ||
| 22123 | try test_min.testFloats(); | ||
| 22124 | try test_min.testFloatVectors(); | ||
| 22125 | } | ||
| 22126 | |||
| 22127 | inline fn max(comptime Type: type, lhs: Type, rhs: Type) Type { | ||
| 22128 | return @max(lhs, rhs); | ||
| 22129 | } | ||
| 22130 | test max { | ||
| 22131 | const test_max = binary(max, .{}); | ||
| 22132 | try test_max.testInts(); | ||
| 22133 | try test_max.testIntVectors(); | ||
| 22134 | try test_max.testFloats(); | ||
| 22135 | try test_max.testFloatVectors(); | ||
| 22136 | } | ||
| 22137 | |||
| 22138 | inline fn nullIsNull(comptime Type: type, _: Type) bool { | ||
| 22139 | return runtime(?Type, null) == null; | ||
| 22140 | } | ||
| 22141 | test nullIsNull { | ||
| 22142 | const test_null_is_null = unary(nullIsNull, .{}); | ||
| 22143 | try test_null_is_null.testIntTypes(); | ||
| 22144 | try test_null_is_null.testIntVectorTypes(); | ||
| 22145 | try test_null_is_null.testFloatTypes(); | ||
| 22146 | try test_null_is_null.testFloatVectorTypes(); | ||
| 22147 | } | ||
| 22148 | |||
| 22149 | inline fn nullIsNotNull(comptime Type: type, _: Type) bool { | ||
| 22150 | return runtime(?Type, null) != null; | ||
| 22151 | } | ||
| 22152 | test nullIsNotNull { | ||
| 22153 | const test_null_is_not_null = unary(nullIsNotNull, .{}); | ||
| 22154 | try test_null_is_not_null.testIntTypes(); | ||
| 22155 | try test_null_is_not_null.testIntVectorTypes(); | ||
| 22156 | try test_null_is_not_null.testFloatTypes(); | ||
| 22157 | try test_null_is_not_null.testFloatVectorTypes(); | ||
| 22158 | } | ||
| 22159 | |||
| 22160 | inline fn optionalIsNull(comptime Type: type, lhs: Type) bool { | ||
| 22161 | return @as(?Type, lhs) == null; | ||
| 22162 | } | ||
| 22163 | test optionalIsNull { | ||
| 22164 | const test_optional_is_null = unary(optionalIsNull, .{}); | ||
| 22165 | try test_optional_is_null.testInts(); | ||
| 22166 | try test_optional_is_null.testFloats(); | ||
| 22167 | } | ||
| 22168 | |||
| 22169 | inline fn optionalIsNotNull(comptime Type: type, lhs: Type) bool { | ||
| 22170 | return @as(?Type, lhs) != null; | ||
| 22171 | } | ||
| 22172 | test optionalIsNotNull { | ||
| 22173 | const test_optional_is_not_null = unary(optionalIsNotNull, .{}); | ||
| 22174 | try test_optional_is_not_null.testInts(); | ||
| 22175 | try test_optional_is_not_null.testFloats(); | ||
| 22176 | } | ||
| 22177 | |||
| 22178 | inline fn nullEqualNull(comptime Type: type, _: Type) bool { | ||
| 22179 | return runtime(?Type, null) == runtime(?Type, null); | ||
| 22180 | } | ||
| 22181 | test nullEqualNull { | ||
| 22182 | const test_null_equal_null = unary(nullEqualNull, .{}); | ||
| 22183 | try test_null_equal_null.testIntTypes(); | ||
| 22184 | try test_null_equal_null.testFloatTypes(); | ||
| 22185 | } | ||
| 22186 | |||
| 22187 | inline fn nullNotEqualNull(comptime Type: type, _: Type) bool { | ||
| 22188 | return runtime(?Type, null) != runtime(?Type, null); | ||
| 22189 | } | ||
| 22190 | test nullNotEqualNull { | ||
| 22191 | const test_null_not_equal_null = unary(nullNotEqualNull, .{}); | ||
| 22192 | try test_null_not_equal_null.testIntTypes(); | ||
| 22193 | try test_null_not_equal_null.testFloatTypes(); | ||
| 22194 | } | ||
| 22195 | |||
| 22196 | inline fn optionalEqualNull(comptime Type: type, lhs: Type) bool { | ||
| 22197 | return lhs == runtime(?Type, null); | ||
| 22198 | } | ||
| 22199 | test optionalEqualNull { | ||
| 22200 | const test_optional_equal_null = unary(optionalEqualNull, .{}); | ||
| 22201 | try test_optional_equal_null.testInts(); | ||
| 22202 | try test_optional_equal_null.testFloats(); | ||
| 22203 | } | ||
| 22204 | |||
| 22205 | inline fn optionalNotEqualNull(comptime Type: type, lhs: Type) bool { | ||
| 22206 | return lhs != runtime(?Type, null); | ||
| 22207 | } | ||
| 22208 | test optionalNotEqualNull { | ||
| 22209 | const test_optional_not_equal_null = unary(optionalIsNotNull, .{}); | ||
| 22210 | try test_optional_not_equal_null.testInts(); | ||
| 22211 | try test_optional_not_equal_null.testFloats(); | ||
| 22212 | } | ||
| 22213 | |||
| 22214 | inline fn optionalsEqual(comptime Type: type, lhs: Type, rhs: Type) bool { | ||
| 22215 | if (@inComptime()) return lhs == rhs; // workaround https://github.com/ziglang/zig/issues/22636 | ||
| 22216 | return @as(?Type, lhs) == rhs; | ||
| 22217 | } | ||
| 22218 | test optionalsEqual { | ||
| 22219 | const test_optionals_equal = binary(optionalsEqual, .{}); | ||
| 22220 | try test_optionals_equal.testInts(); | ||
| 22221 | try test_optionals_equal.testFloats(); | ||
| 22222 | } | ||
| 22223 | |||
| 22224 | inline fn optionalsNotEqual(comptime Type: type, lhs: Type, rhs: Type) bool { | ||
| 22225 | if (@inComptime()) return lhs != rhs; // workaround https://github.com/ziglang/zig/issues/22636 | ||
| 22226 | return lhs != @as(?Type, rhs); | ||
| 22227 | } | ||
| 22228 | test optionalsNotEqual { | ||
| 22229 | const test_optionals_not_equal = binary(optionalsNotEqual, .{}); | ||
| 22230 | try test_optionals_not_equal.testInts(); | ||
| 22231 | try test_optionals_not_equal.testFloats(); | ||
| 22232 | } | ||
| 22233 | |||
| 22234 | inline fn mulAdd(comptime Type: type, lhs: Type, rhs: Type) @TypeOf(@mulAdd(Type, lhs, rhs, rhs)) { | ||
| 22235 | return @mulAdd(Type, lhs, rhs, rhs); | ||
| 22236 | } | ||
| 22237 | test mulAdd { | ||
| 22238 | const test_mul_add = binary(mulAdd, .{ .compare = .approx }); | ||
| 22239 | try test_mul_add.testFloats(); | ||
| 22240 | try test_mul_add.testFloatVectors(); | ||
| 22241 | } |
test/behavior/x86_64/unary.zig created+1820| ... | @@ -0,0 +1,1820 @@ | ||
| 1 | const checkExpected = math.checkExpected; | ||
| 2 | const Compare = math.Compare; | ||
| 3 | const fmax = math.fmax; | ||
| 4 | const fmin = math.fmin; | ||
| 5 | const Gpr = math.Gpr; | ||
| 6 | const inf = math.inf; | ||
| 7 | const math = @import("math.zig"); | ||
| 8 | const nan = math.nan; | ||
| 9 | const RoundBitsUp = math.RoundBitsUp; | ||
| 10 | const Scalar = math.Scalar; | ||
| 11 | const Sse = math.Sse; | ||
| 12 | const tmin = math.tmin; | ||
| 13 | |||
| 14 | inline fn runtime(comptime Type: type, comptime value: Type) Type { | ||
| 15 | if (@inComptime()) return value; | ||
| 16 | return struct { | ||
| 17 | var variable: Type = value; | ||
| 18 | }.variable; | ||
| 19 | } | ||
| 20 | |||
| 21 | fn unary(comptime op: anytype, comptime opts: struct { | ||
| 22 | libc_name: ?[]const u8 = null, | ||
| 23 | compare: Compare = .relaxed, | ||
| 24 | }) type { | ||
| 25 | return struct { | ||
| 26 | // noinline so that `mem_arg` is on the stack | ||
| 27 | noinline fn testArgKinds( | ||
| 28 | _: Gpr, | ||
| 29 | _: Gpr, | ||
| 30 | _: Gpr, | ||
| 31 | _: Gpr, | ||
| 32 | _: Gpr, | ||
| 33 | _: Gpr, | ||
| 34 | _: Gpr, | ||
| 35 | _: Gpr, | ||
| 36 | _: Sse, | ||
| 37 | _: Sse, | ||
| 38 | _: Sse, | ||
| 39 | _: Sse, | ||
| 40 | _: Sse, | ||
| 41 | _: Sse, | ||
| 42 | _: Sse, | ||
| 43 | _: Sse, | ||
| 44 | comptime Type: type, | ||
| 45 | comptime imm_arg: Type, | ||
| 46 | mem_arg: Type, | ||
| 47 | ) !void { | ||
| 48 | const expected = expected: { | ||
| 49 | if (opts.libc_name) |libc_name| libc: { | ||
| 50 | const libc_func = @extern(*const fn (Scalar(Type)) callconv(.c) Scalar(Type), .{ | ||
| 51 | .name = switch (Scalar(Type)) { | ||
| 52 | f16 => "__" ++ libc_name ++ "h", | ||
| 53 | f32 => libc_name ++ "f", | ||
| 54 | f64 => libc_name, | ||
| 55 | f80 => "__" ++ libc_name ++ "x", | ||
| 56 | f128 => libc_name ++ "q", | ||
| 57 | else => break :libc, | ||
| 58 | }, | ||
| 59 | }); | ||
| 60 | switch (@typeInfo(Type)) { | ||
| 61 | else => break :expected libc_func(imm_arg), | ||
| 62 | .vector => |vector| { | ||
| 63 | var res: Type = undefined; | ||
| 64 | inline for (0..vector.len) |i| res[i] = libc_func(imm_arg[i]); | ||
| 65 | break :expected res; | ||
| 66 | }, | ||
| 67 | } | ||
| 68 | } | ||
| 69 | break :expected comptime op(Type, imm_arg); | ||
| 70 | }; | ||
| 71 | var reg_arg = mem_arg; | ||
| 72 | _ = .{&reg_arg}; | ||
| 73 | try checkExpected(expected, op(Type, reg_arg), opts.compare); | ||
| 74 | try checkExpected(expected, op(Type, mem_arg), opts.compare); | ||
| 75 | if (opts.libc_name == null) try checkExpected(expected, op(Type, imm_arg), opts.compare); | ||
| 76 | } | ||
| 77 | // noinline for a more helpful stack trace | ||
| 78 | noinline fn testArgs(comptime Type: type, comptime imm_arg: Type) !void { | ||
| 79 | try testArgKinds( | ||
| 80 | undefined, | ||
| 81 | undefined, | ||
| 82 | undefined, | ||
| 83 | undefined, | ||
| 84 | undefined, | ||
| 85 | undefined, | ||
| 86 | undefined, | ||
| 87 | undefined, | ||
| 88 | undefined, | ||
| 89 | undefined, | ||
| 90 | undefined, | ||
| 91 | undefined, | ||
| 92 | undefined, | ||
| 93 | undefined, | ||
| 94 | undefined, | ||
| 95 | undefined, | ||
| 96 | Type, | ||
| 97 | imm_arg, | ||
| 98 | imm_arg, | ||
| 99 | ); | ||
| 100 | } | ||
| 101 | fn testIntTypes() !void { | ||
| 102 | try testArgs(i1, undefined); | ||
| 103 | try testArgs(u1, undefined); | ||
| 104 | try testArgs(i2, undefined); | ||
| 105 | try testArgs(u2, undefined); | ||
| 106 | try testArgs(i3, undefined); | ||
| 107 | try testArgs(u3, undefined); | ||
| 108 | try testArgs(i4, undefined); | ||
| 109 | try testArgs(u4, undefined); | ||
| 110 | try testArgs(i5, undefined); | ||
| 111 | try testArgs(u5, undefined); | ||
| 112 | try testArgs(i7, undefined); | ||
| 113 | try testArgs(u7, undefined); | ||
| 114 | try testArgs(i8, undefined); | ||
| 115 | try testArgs(u8, undefined); | ||
| 116 | try testArgs(i9, undefined); | ||
| 117 | try testArgs(u9, undefined); | ||
| 118 | try testArgs(i15, undefined); | ||
| 119 | try testArgs(u15, undefined); | ||
| 120 | try testArgs(i16, undefined); | ||
| 121 | try testArgs(u16, undefined); | ||
| 122 | try testArgs(i17, undefined); | ||
| 123 | try testArgs(u17, undefined); | ||
| 124 | try testArgs(i31, undefined); | ||
| 125 | try testArgs(u31, undefined); | ||
| 126 | try testArgs(i32, undefined); | ||
| 127 | try testArgs(u32, undefined); | ||
| 128 | try testArgs(i33, undefined); | ||
| 129 | try testArgs(u33, undefined); | ||
| 130 | try testArgs(i63, undefined); | ||
| 131 | try testArgs(u63, undefined); | ||
| 132 | try testArgs(i64, undefined); | ||
| 133 | try testArgs(u64, undefined); | ||
| 134 | try testArgs(i65, undefined); | ||
| 135 | try testArgs(u65, undefined); | ||
| 136 | try testArgs(i95, undefined); | ||
| 137 | try testArgs(u95, undefined); | ||
| 138 | try testArgs(i96, undefined); | ||
| 139 | try testArgs(u96, undefined); | ||
| 140 | try testArgs(i97, undefined); | ||
| 141 | try testArgs(u97, undefined); | ||
| 142 | try testArgs(i127, undefined); | ||
| 143 | try testArgs(u127, undefined); | ||
| 144 | try testArgs(i128, undefined); | ||
| 145 | try testArgs(u128, undefined); | ||
| 146 | try testArgs(i129, undefined); | ||
| 147 | try testArgs(u129, undefined); | ||
| 148 | try testArgs(i159, undefined); | ||
| 149 | try testArgs(u159, undefined); | ||
| 150 | try testArgs(i160, undefined); | ||
| 151 | try testArgs(u160, undefined); | ||
| 152 | try testArgs(i161, undefined); | ||
| 153 | try testArgs(u161, undefined); | ||
| 154 | try testArgs(i191, undefined); | ||
| 155 | try testArgs(u191, undefined); | ||
| 156 | try testArgs(i192, undefined); | ||
| 157 | try testArgs(u192, undefined); | ||
| 158 | try testArgs(i193, undefined); | ||
| 159 | try testArgs(u193, undefined); | ||
| 160 | try testArgs(i223, undefined); | ||
| 161 | try testArgs(u223, undefined); | ||
| 162 | try testArgs(i224, undefined); | ||
| 163 | try testArgs(u224, undefined); | ||
| 164 | try testArgs(i225, undefined); | ||
| 165 | try testArgs(u225, undefined); | ||
| 166 | try testArgs(i255, undefined); | ||
| 167 | try testArgs(u255, undefined); | ||
| 168 | try testArgs(i256, undefined); | ||
| 169 | try testArgs(u256, undefined); | ||
| 170 | try testArgs(i257, undefined); | ||
| 171 | try testArgs(u257, undefined); | ||
| 172 | try testArgs(i511, undefined); | ||
| 173 | try testArgs(u511, undefined); | ||
| 174 | try testArgs(i512, undefined); | ||
| 175 | try testArgs(u512, undefined); | ||
| 176 | try testArgs(i513, undefined); | ||
| 177 | try testArgs(u513, undefined); | ||
| 178 | try testArgs(i1023, undefined); | ||
| 179 | try testArgs(u1023, undefined); | ||
| 180 | try testArgs(i1024, undefined); | ||
| 181 | try testArgs(u1024, undefined); | ||
| 182 | try testArgs(i1025, undefined); | ||
| 183 | try testArgs(u1025, undefined); | ||
| 184 | } | ||
| 185 | fn testInts() !void { | ||
| 186 | try testArgs(i1, -1); | ||
| 187 | try testArgs(i1, 0); | ||
| 188 | try testArgs(u1, 0); | ||
| 189 | try testArgs(u1, 1 << 0); | ||
| 190 | |||
| 191 | try testArgs(i2, -1 << 1); | ||
| 192 | try testArgs(i2, -1); | ||
| 193 | try testArgs(i2, 0); | ||
| 194 | try testArgs(u2, 0); | ||
| 195 | try testArgs(u2, 1 << 0); | ||
| 196 | try testArgs(u2, 1 << 1); | ||
| 197 | |||
| 198 | try testArgs(i3, -1 << 2); | ||
| 199 | try testArgs(i3, -1); | ||
| 200 | try testArgs(i3, 0); | ||
| 201 | try testArgs(u3, 0); | ||
| 202 | try testArgs(u3, 1 << 0); | ||
| 203 | try testArgs(u3, 1 << 1); | ||
| 204 | try testArgs(u3, 1 << 2); | ||
| 205 | |||
| 206 | try testArgs(i4, -1 << 3); | ||
| 207 | try testArgs(i4, -1); | ||
| 208 | try testArgs(i4, 0); | ||
| 209 | try testArgs(u4, 0); | ||
| 210 | try testArgs(u4, 1 << 0); | ||
| 211 | try testArgs(u4, 1 << 1); | ||
| 212 | try testArgs(u4, 1 << 2); | ||
| 213 | try testArgs(u4, 1 << 3); | ||
| 214 | |||
| 215 | try testArgs(i5, -1 << 4); | ||
| 216 | try testArgs(i5, -1); | ||
| 217 | try testArgs(i5, 0); | ||
| 218 | try testArgs(u5, 0); | ||
| 219 | try testArgs(u5, 1 << 0); | ||
| 220 | try testArgs(u5, 1 << 1); | ||
| 221 | try testArgs(u5, 1 << 3); | ||
| 222 | try testArgs(u5, 1 << 4); | ||
| 223 | |||
| 224 | try testArgs(i7, -1 << 6); | ||
| 225 | try testArgs(i7, -1); | ||
| 226 | try testArgs(i7, 0); | ||
| 227 | try testArgs(u7, 0); | ||
| 228 | try testArgs(u7, 1 << 0); | ||
| 229 | try testArgs(u7, 1 << 1); | ||
| 230 | try testArgs(u7, 1 << 5); | ||
| 231 | try testArgs(u7, 1 << 6); | ||
| 232 | |||
| 233 | try testArgs(i8, -1 << 7); | ||
| 234 | try testArgs(i8, -1); | ||
| 235 | try testArgs(i8, 0); | ||
| 236 | try testArgs(u8, 0); | ||
| 237 | try testArgs(u8, 1 << 0); | ||
| 238 | try testArgs(u8, 1 << 1); | ||
| 239 | try testArgs(u8, 1 << 6); | ||
| 240 | try testArgs(u8, 1 << 7); | ||
| 241 | |||
| 242 | try testArgs(i9, -1 << 8); | ||
| 243 | try testArgs(i9, -1); | ||
| 244 | try testArgs(i9, 0); | ||
| 245 | try testArgs(u9, 0); | ||
| 246 | try testArgs(u9, 1 << 0); | ||
| 247 | try testArgs(u9, 1 << 1); | ||
| 248 | try testArgs(u9, 1 << 7); | ||
| 249 | try testArgs(u9, 1 << 8); | ||
| 250 | |||
| 251 | try testArgs(i15, -1 << 14); | ||
| 252 | try testArgs(i15, -1); | ||
| 253 | try testArgs(i15, 0); | ||
| 254 | try testArgs(u15, 0); | ||
| 255 | try testArgs(u15, 1 << 0); | ||
| 256 | try testArgs(u15, 1 << 1); | ||
| 257 | try testArgs(u15, 1 << 13); | ||
| 258 | try testArgs(u15, 1 << 14); | ||
| 259 | |||
| 260 | try testArgs(i16, -1 << 15); | ||
| 261 | try testArgs(i16, -1); | ||
| 262 | try testArgs(i16, 0); | ||
| 263 | try testArgs(u16, 0); | ||
| 264 | try testArgs(u16, 1 << 0); | ||
| 265 | try testArgs(u16, 1 << 1); | ||
| 266 | try testArgs(u16, 1 << 14); | ||
| 267 | try testArgs(u16, 1 << 15); | ||
| 268 | |||
| 269 | try testArgs(i17, -1 << 16); | ||
| 270 | try testArgs(i17, -1); | ||
| 271 | try testArgs(i17, 0); | ||
| 272 | try testArgs(u17, 0); | ||
| 273 | try testArgs(u17, 1 << 0); | ||
| 274 | try testArgs(u17, 1 << 1); | ||
| 275 | try testArgs(u17, 1 << 15); | ||
| 276 | try testArgs(u17, 1 << 16); | ||
| 277 | |||
| 278 | try testArgs(i31, -1 << 30); | ||
| 279 | try testArgs(i31, -1); | ||
| 280 | try testArgs(i31, 0); | ||
| 281 | try testArgs(u31, 0); | ||
| 282 | try testArgs(u31, 1 << 0); | ||
| 283 | try testArgs(u31, 1 << 1); | ||
| 284 | try testArgs(u31, 1 << 29); | ||
| 285 | try testArgs(u31, 1 << 30); | ||
| 286 | |||
| 287 | try testArgs(i32, -1 << 31); | ||
| 288 | try testArgs(i32, -1); | ||
| 289 | try testArgs(i32, 0); | ||
| 290 | try testArgs(u32, 0); | ||
| 291 | try testArgs(u32, 1 << 0); | ||
| 292 | try testArgs(u32, 1 << 1); | ||
| 293 | try testArgs(u32, 1 << 30); | ||
| 294 | try testArgs(u32, 1 << 31); | ||
| 295 | |||
| 296 | try testArgs(i33, -1 << 32); | ||
| 297 | try testArgs(i33, -1); | ||
| 298 | try testArgs(i33, 0); | ||
| 299 | try testArgs(u33, 0); | ||
| 300 | try testArgs(u33, 1 << 0); | ||
| 301 | try testArgs(u33, 1 << 1); | ||
| 302 | try testArgs(u33, 1 << 31); | ||
| 303 | try testArgs(u33, 1 << 32); | ||
| 304 | |||
| 305 | try testArgs(i63, -1 << 62); | ||
| 306 | try testArgs(i63, -1); | ||
| 307 | try testArgs(i63, 0); | ||
| 308 | try testArgs(u63, 0); | ||
| 309 | try testArgs(u63, 1 << 0); | ||
| 310 | try testArgs(u63, 1 << 1); | ||
| 311 | try testArgs(u63, 1 << 61); | ||
| 312 | try testArgs(u63, 1 << 62); | ||
| 313 | |||
| 314 | try testArgs(i64, -1 << 63); | ||
| 315 | try testArgs(i64, -1); | ||
| 316 | try testArgs(i64, 0); | ||
| 317 | try testArgs(u64, 0); | ||
| 318 | try testArgs(u64, 1 << 0); | ||
| 319 | try testArgs(u64, 1 << 1); | ||
| 320 | try testArgs(u64, 1 << 62); | ||
| 321 | try testArgs(u64, 1 << 63); | ||
| 322 | |||
| 323 | try testArgs(i65, -1 << 64); | ||
| 324 | try testArgs(i65, -1); | ||
| 325 | try testArgs(i65, 0); | ||
| 326 | try testArgs(u65, 0); | ||
| 327 | try testArgs(u65, 1 << 0); | ||
| 328 | try testArgs(u65, 1 << 1); | ||
| 329 | try testArgs(u65, 1 << 63); | ||
| 330 | try testArgs(u65, 1 << 64); | ||
| 331 | |||
| 332 | try testArgs(i95, -1 << 94); | ||
| 333 | try testArgs(i95, -1); | ||
| 334 | try testArgs(i95, 0); | ||
| 335 | try testArgs(u95, 0); | ||
| 336 | try testArgs(u95, 1 << 0); | ||
| 337 | try testArgs(u95, 1 << 1); | ||
| 338 | try testArgs(u95, 1 << 93); | ||
| 339 | try testArgs(u95, 1 << 94); | ||
| 340 | |||
| 341 | try testArgs(i96, -1 << 95); | ||
| 342 | try testArgs(i96, -1); | ||
| 343 | try testArgs(i96, 0); | ||
| 344 | try testArgs(u96, 0); | ||
| 345 | try testArgs(u96, 1 << 0); | ||
| 346 | try testArgs(u96, 1 << 1); | ||
| 347 | try testArgs(u96, 1 << 94); | ||
| 348 | try testArgs(u96, 1 << 95); | ||
| 349 | |||
| 350 | try testArgs(i97, -1 << 96); | ||
| 351 | try testArgs(i97, -1); | ||
| 352 | try testArgs(i97, 0); | ||
| 353 | try testArgs(u97, 0); | ||
| 354 | try testArgs(u97, 1 << 0); | ||
| 355 | try testArgs(u97, 1 << 1); | ||
| 356 | try testArgs(u97, 1 << 95); | ||
| 357 | try testArgs(u97, 1 << 96); | ||
| 358 | |||
| 359 | try testArgs(i127, -1 << 126); | ||
| 360 | try testArgs(i127, -1); | ||
| 361 | try testArgs(i127, 0); | ||
| 362 | try testArgs(u127, 0); | ||
| 363 | try testArgs(u127, 1 << 0); | ||
| 364 | try testArgs(u127, 1 << 1); | ||
| 365 | try testArgs(u127, 1 << 125); | ||
| 366 | try testArgs(u127, 1 << 126); | ||
| 367 | |||
| 368 | try testArgs(i128, -1 << 127); | ||
| 369 | try testArgs(i128, -1); | ||
| 370 | try testArgs(i128, 0); | ||
| 371 | try testArgs(u128, 0); | ||
| 372 | try testArgs(u128, 1 << 0); | ||
| 373 | try testArgs(u128, 1 << 1); | ||
| 374 | try testArgs(u128, 1 << 126); | ||
| 375 | try testArgs(u128, 1 << 127); | ||
| 376 | |||
| 377 | try testArgs(i129, -1 << 128); | ||
| 378 | try testArgs(i129, -1); | ||
| 379 | try testArgs(i129, 0); | ||
| 380 | try testArgs(u129, 0); | ||
| 381 | try testArgs(u129, 1 << 0); | ||
| 382 | try testArgs(u129, 1 << 1); | ||
| 383 | try testArgs(u129, 1 << 127); | ||
| 384 | try testArgs(u129, 1 << 128); | ||
| 385 | |||
| 386 | try testArgs(i159, -1 << 158); | ||
| 387 | try testArgs(i159, -1); | ||
| 388 | try testArgs(i159, 0); | ||
| 389 | try testArgs(u159, 0); | ||
| 390 | try testArgs(u159, 1 << 0); | ||
| 391 | try testArgs(u159, 1 << 1); | ||
| 392 | try testArgs(u159, 1 << 157); | ||
| 393 | try testArgs(u159, 1 << 158); | ||
| 394 | |||
| 395 | try testArgs(i160, -1 << 159); | ||
| 396 | try testArgs(i160, -1); | ||
| 397 | try testArgs(i160, 0); | ||
| 398 | try testArgs(u160, 0); | ||
| 399 | try testArgs(u160, 1 << 0); | ||
| 400 | try testArgs(u160, 1 << 1); | ||
| 401 | try testArgs(u160, 1 << 158); | ||
| 402 | try testArgs(u160, 1 << 159); | ||
| 403 | |||
| 404 | try testArgs(i161, -1 << 160); | ||
| 405 | try testArgs(i161, -1); | ||
| 406 | try testArgs(i161, 0); | ||
| 407 | try testArgs(u161, 0); | ||
| 408 | try testArgs(u161, 1 << 0); | ||
| 409 | try testArgs(u161, 1 << 1); | ||
| 410 | try testArgs(u161, 1 << 159); | ||
| 411 | try testArgs(u161, 1 << 160); | ||
| 412 | |||
| 413 | try testArgs(i191, -1 << 190); | ||
| 414 | try testArgs(i191, -1); | ||
| 415 | try testArgs(i191, 0); | ||
| 416 | try testArgs(u191, 0); | ||
| 417 | try testArgs(u191, 1 << 0); | ||
| 418 | try testArgs(u191, 1 << 1); | ||
| 419 | try testArgs(u191, 1 << 189); | ||
| 420 | try testArgs(u191, 1 << 190); | ||
| 421 | |||
| 422 | try testArgs(i192, -1 << 191); | ||
| 423 | try testArgs(i192, -1); | ||
| 424 | try testArgs(i192, 0); | ||
| 425 | try testArgs(u192, 0); | ||
| 426 | try testArgs(u192, 1 << 0); | ||
| 427 | try testArgs(u192, 1 << 1); | ||
| 428 | try testArgs(u192, 1 << 190); | ||
| 429 | try testArgs(u192, 1 << 191); | ||
| 430 | |||
| 431 | try testArgs(i193, -1 << 192); | ||
| 432 | try testArgs(i193, -1); | ||
| 433 | try testArgs(i193, 0); | ||
| 434 | try testArgs(u193, 0); | ||
| 435 | try testArgs(u193, 1 << 0); | ||
| 436 | try testArgs(u193, 1 << 1); | ||
| 437 | try testArgs(u193, 1 << 191); | ||
| 438 | try testArgs(u193, 1 << 192); | ||
| 439 | |||
| 440 | try testArgs(i223, -1 << 222); | ||
| 441 | try testArgs(i223, -1); | ||
| 442 | try testArgs(i223, 0); | ||
| 443 | try testArgs(u223, 0); | ||
| 444 | try testArgs(u223, 1 << 0); | ||
| 445 | try testArgs(u223, 1 << 1); | ||
| 446 | try testArgs(u223, 1 << 221); | ||
| 447 | try testArgs(u223, 1 << 222); | ||
| 448 | |||
| 449 | try testArgs(i224, -1 << 223); | ||
| 450 | try testArgs(i224, -1); | ||
| 451 | try testArgs(i224, 0); | ||
| 452 | try testArgs(u224, 0); | ||
| 453 | try testArgs(u224, 1 << 0); | ||
| 454 | try testArgs(u224, 1 << 1); | ||
| 455 | try testArgs(u224, 1 << 222); | ||
| 456 | try testArgs(u224, 1 << 223); | ||
| 457 | |||
| 458 | try testArgs(i225, -1 << 224); | ||
| 459 | try testArgs(i225, -1); | ||
| 460 | try testArgs(i225, 0); | ||
| 461 | try testArgs(u225, 0); | ||
| 462 | try testArgs(u225, 1 << 0); | ||
| 463 | try testArgs(u225, 1 << 1); | ||
| 464 | try testArgs(u225, 1 << 223); | ||
| 465 | try testArgs(u225, 1 << 224); | ||
| 466 | |||
| 467 | try testArgs(i255, -1 << 254); | ||
| 468 | try testArgs(i255, -1); | ||
| 469 | try testArgs(i255, 0); | ||
| 470 | try testArgs(u255, 0); | ||
| 471 | try testArgs(u255, 1 << 0); | ||
| 472 | try testArgs(u255, 1 << 1); | ||
| 473 | try testArgs(u255, 1 << 253); | ||
| 474 | try testArgs(u255, 1 << 254); | ||
| 475 | |||
| 476 | try testArgs(i256, -1 << 255); | ||
| 477 | try testArgs(i256, -1); | ||
| 478 | try testArgs(i256, 0); | ||
| 479 | try testArgs(u256, 0); | ||
| 480 | try testArgs(u256, 1 << 0); | ||
| 481 | try testArgs(u256, 1 << 1); | ||
| 482 | try testArgs(u256, 1 << 254); | ||
| 483 | try testArgs(u256, 1 << 255); | ||
| 484 | |||
| 485 | try testArgs(i257, -1 << 256); | ||
| 486 | try testArgs(i257, -1); | ||
| 487 | try testArgs(i257, 0); | ||
| 488 | try testArgs(u257, 0); | ||
| 489 | try testArgs(u257, 1 << 0); | ||
| 490 | try testArgs(u257, 1 << 1); | ||
| 491 | try testArgs(u257, 1 << 255); | ||
| 492 | try testArgs(u257, 1 << 256); | ||
| 493 | |||
| 494 | try testArgs(i383, -1 << 382); | ||
| 495 | try testArgs(i383, -1); | ||
| 496 | try testArgs(i383, 0); | ||
| 497 | try testArgs(u383, 0); | ||
| 498 | try testArgs(u383, 1 << 0); | ||
| 499 | try testArgs(u383, 1 << 1); | ||
| 500 | try testArgs(u383, 1 << 381); | ||
| 501 | try testArgs(u383, 1 << 382); | ||
| 502 | |||
| 503 | try testArgs(i384, -1 << 383); | ||
| 504 | try testArgs(i384, -1); | ||
| 505 | try testArgs(i384, 0); | ||
| 506 | try testArgs(u384, 0); | ||
| 507 | try testArgs(u384, 1 << 0); | ||
| 508 | try testArgs(u384, 1 << 1); | ||
| 509 | try testArgs(u384, 1 << 382); | ||
| 510 | try testArgs(u384, 1 << 383); | ||
| 511 | |||
| 512 | try testArgs(i385, -1 << 384); | ||
| 513 | try testArgs(i385, -1); | ||
| 514 | try testArgs(i385, 0); | ||
| 515 | try testArgs(u385, 0); | ||
| 516 | try testArgs(u385, 1 << 0); | ||
| 517 | try testArgs(u385, 1 << 1); | ||
| 518 | try testArgs(u385, 1 << 383); | ||
| 519 | try testArgs(u385, 1 << 384); | ||
| 520 | |||
| 521 | try testArgs(i511, -1 << 510); | ||
| 522 | try testArgs(i511, -1); | ||
| 523 | try testArgs(i511, 0); | ||
| 524 | try testArgs(u511, 0); | ||
| 525 | try testArgs(u511, 1 << 0); | ||
| 526 | try testArgs(u511, 1 << 1); | ||
| 527 | try testArgs(u511, 1 << 509); | ||
| 528 | try testArgs(u511, 1 << 510); | ||
| 529 | |||
| 530 | try testArgs(i512, -1 << 511); | ||
| 531 | try testArgs(i512, -1); | ||
| 532 | try testArgs(i512, 0); | ||
| 533 | try testArgs(u512, 0); | ||
| 534 | try testArgs(u512, 1 << 0); | ||
| 535 | try testArgs(u512, 1 << 1); | ||
| 536 | try testArgs(u512, 1 << 510); | ||
| 537 | try testArgs(u512, 1 << 511); | ||
| 538 | |||
| 539 | try testArgs(i513, -1 << 512); | ||
| 540 | try testArgs(i513, -1); | ||
| 541 | try testArgs(i513, 0); | ||
| 542 | try testArgs(u513, 0); | ||
| 543 | try testArgs(u513, 1 << 0); | ||
| 544 | try testArgs(u513, 1 << 1); | ||
| 545 | try testArgs(u513, 1 << 511); | ||
| 546 | try testArgs(u513, 1 << 512); | ||
| 547 | |||
| 548 | try testArgs(i1023, -1 << 1022); | ||
| 549 | try testArgs(i1023, -1); | ||
| 550 | try testArgs(i1023, 0); | ||
| 551 | try testArgs(u1023, 0); | ||
| 552 | try testArgs(u1023, 1 << 0); | ||
| 553 | try testArgs(u1023, 1 << 1); | ||
| 554 | try testArgs(u1023, 1 << 1021); | ||
| 555 | try testArgs(u1023, 1 << 1022); | ||
| 556 | |||
| 557 | try testArgs(i1024, -1 << 1023); | ||
| 558 | try testArgs(i1024, -1); | ||
| 559 | try testArgs(i1024, 0); | ||
| 560 | try testArgs(u1024, 0); | ||
| 561 | try testArgs(u1024, 1 << 0); | ||
| 562 | try testArgs(u1024, 1 << 1); | ||
| 563 | try testArgs(u1024, 1 << 1022); | ||
| 564 | try testArgs(u1024, 1 << 1023); | ||
| 565 | |||
| 566 | try testArgs(i1025, -1 << 1024); | ||
| 567 | try testArgs(i1025, -1); | ||
| 568 | try testArgs(i1025, 0); | ||
| 569 | try testArgs(u1025, 0); | ||
| 570 | try testArgs(u1025, 1 << 0); | ||
| 571 | try testArgs(u1025, 1 << 1); | ||
| 572 | try testArgs(u1025, 1 << 1023); | ||
| 573 | try testArgs(u1025, 1 << 1024); | ||
| 574 | } | ||
| 575 | fn testFloatTypes() !void { | ||
| 576 | try testArgs(f16, undefined); | ||
| 577 | try testArgs(f32, undefined); | ||
| 578 | try testArgs(f64, undefined); | ||
| 579 | try testArgs(f80, undefined); | ||
| 580 | try testArgs(f128, undefined); | ||
| 581 | } | ||
| 582 | fn testFloats() !void { | ||
| 583 | try testArgs(f16, -nan(f16)); | ||
| 584 | try testArgs(f16, -inf(f16)); | ||
| 585 | try testArgs(f16, -fmax(f16)); | ||
| 586 | try testArgs(f16, -1e1); | ||
| 587 | try testArgs(f16, -1e0); | ||
| 588 | try testArgs(f16, -1e-1); | ||
| 589 | try testArgs(f16, -fmin(f16)); | ||
| 590 | try testArgs(f16, -tmin(f16)); | ||
| 591 | try testArgs(f16, -0.0); | ||
| 592 | try testArgs(f16, 0.0); | ||
| 593 | try testArgs(f16, tmin(f16)); | ||
| 594 | try testArgs(f16, fmin(f16)); | ||
| 595 | try testArgs(f16, 1e-1); | ||
| 596 | try testArgs(f16, 1e0); | ||
| 597 | try testArgs(f16, 1e1); | ||
| 598 | try testArgs(f16, fmax(f16)); | ||
| 599 | try testArgs(f16, inf(f16)); | ||
| 600 | try testArgs(f16, nan(f16)); | ||
| 601 | |||
| 602 | try testArgs(f32, -nan(f32)); | ||
| 603 | try testArgs(f32, -inf(f32)); | ||
| 604 | try testArgs(f32, -fmax(f32)); | ||
| 605 | try testArgs(f32, -1e1); | ||
| 606 | try testArgs(f32, -1e0); | ||
| 607 | try testArgs(f32, -1e-1); | ||
| 608 | try testArgs(f32, -fmin(f32)); | ||
| 609 | try testArgs(f32, -tmin(f32)); | ||
| 610 | try testArgs(f32, -0.0); | ||
| 611 | try testArgs(f32, 0.0); | ||
| 612 | try testArgs(f32, tmin(f32)); | ||
| 613 | try testArgs(f32, fmin(f32)); | ||
| 614 | try testArgs(f32, 1e-1); | ||
| 615 | try testArgs(f32, 1e0); | ||
| 616 | try testArgs(f32, 1e1); | ||
| 617 | try testArgs(f32, fmax(f32)); | ||
| 618 | try testArgs(f32, inf(f32)); | ||
| 619 | try testArgs(f32, nan(f32)); | ||
| 620 | |||
| 621 | try testArgs(f64, -nan(f64)); | ||
| 622 | try testArgs(f64, -inf(f64)); | ||
| 623 | try testArgs(f64, -fmax(f64)); | ||
| 624 | try testArgs(f64, -1e1); | ||
| 625 | try testArgs(f64, -1e0); | ||
| 626 | try testArgs(f64, -1e-1); | ||
| 627 | try testArgs(f64, -fmin(f64)); | ||
| 628 | try testArgs(f64, -tmin(f64)); | ||
| 629 | try testArgs(f64, -0.0); | ||
| 630 | try testArgs(f64, 0.0); | ||
| 631 | try testArgs(f64, tmin(f64)); | ||
| 632 | try testArgs(f64, fmin(f64)); | ||
| 633 | try testArgs(f64, 1e-1); | ||
| 634 | try testArgs(f64, 1e0); | ||
| 635 | try testArgs(f64, 1e1); | ||
| 636 | try testArgs(f64, fmax(f64)); | ||
| 637 | try testArgs(f64, inf(f64)); | ||
| 638 | try testArgs(f64, nan(f64)); | ||
| 639 | |||
| 640 | try testArgs(f80, -nan(f80)); | ||
| 641 | try testArgs(f80, -inf(f80)); | ||
| 642 | try testArgs(f80, -fmax(f80)); | ||
| 643 | try testArgs(f80, -1e1); | ||
| 644 | try testArgs(f80, -1e0); | ||
| 645 | try testArgs(f80, -1e-1); | ||
| 646 | try testArgs(f80, -fmin(f80)); | ||
| 647 | try testArgs(f80, -tmin(f80)); | ||
| 648 | try testArgs(f80, -0.0); | ||
| 649 | try testArgs(f80, 0.0); | ||
| 650 | try testArgs(f80, tmin(f80)); | ||
| 651 | try testArgs(f80, fmin(f80)); | ||
| 652 | try testArgs(f80, 1e-1); | ||
| 653 | try testArgs(f80, 1e0); | ||
| 654 | try testArgs(f80, 1e1); | ||
| 655 | try testArgs(f80, fmax(f80)); | ||
| 656 | try testArgs(f80, inf(f80)); | ||
| 657 | try testArgs(f80, nan(f80)); | ||
| 658 | |||
| 659 | try testArgs(f128, -nan(f128)); | ||
| 660 | try testArgs(f128, -inf(f128)); | ||
| 661 | try testArgs(f128, -fmax(f128)); | ||
| 662 | try testArgs(f128, -1e1); | ||
| 663 | try testArgs(f128, -1e0); | ||
| 664 | try testArgs(f128, -1e-1); | ||
| 665 | try testArgs(f128, -fmin(f128)); | ||
| 666 | try testArgs(f128, -tmin(f128)); | ||
| 667 | try testArgs(f128, -0.0); | ||
| 668 | try testArgs(f128, 0.0); | ||
| 669 | try testArgs(f128, tmin(f128)); | ||
| 670 | try testArgs(f128, fmin(f128)); | ||
| 671 | try testArgs(f128, 1e-1); | ||
| 672 | try testArgs(f128, 1e0); | ||
| 673 | try testArgs(f128, 1e1); | ||
| 674 | try testArgs(f128, fmax(f128)); | ||
| 675 | try testArgs(f128, inf(f128)); | ||
| 676 | try testArgs(f128, nan(f128)); | ||
| 677 | } | ||
| 678 | fn testIntVectorTypes() !void { | ||
| 679 | try testArgs(@Vector(3, i1), undefined); | ||
| 680 | try testArgs(@Vector(3, u1), undefined); | ||
| 681 | try testArgs(@Vector(3, i2), undefined); | ||
| 682 | try testArgs(@Vector(3, u2), undefined); | ||
| 683 | try testArgs(@Vector(3, i3), undefined); | ||
| 684 | try testArgs(@Vector(3, u3), undefined); | ||
| 685 | try testArgs(@Vector(3, i4), undefined); | ||
| 686 | try testArgs(@Vector(1, i4), undefined); | ||
| 687 | try testArgs(@Vector(2, i4), undefined); | ||
| 688 | try testArgs(@Vector(4, i4), undefined); | ||
| 689 | try testArgs(@Vector(8, i4), undefined); | ||
| 690 | try testArgs(@Vector(16, i4), undefined); | ||
| 691 | try testArgs(@Vector(32, i4), undefined); | ||
| 692 | try testArgs(@Vector(64, i4), undefined); | ||
| 693 | try testArgs(@Vector(128, i4), undefined); | ||
| 694 | try testArgs(@Vector(256, i4), undefined); | ||
| 695 | try testArgs(@Vector(3, u4), undefined); | ||
| 696 | try testArgs(@Vector(1, u4), undefined); | ||
| 697 | try testArgs(@Vector(2, u4), undefined); | ||
| 698 | try testArgs(@Vector(4, u4), undefined); | ||
| 699 | try testArgs(@Vector(8, u4), undefined); | ||
| 700 | try testArgs(@Vector(16, u4), undefined); | ||
| 701 | try testArgs(@Vector(32, u4), undefined); | ||
| 702 | try testArgs(@Vector(64, u4), undefined); | ||
| 703 | try testArgs(@Vector(128, u4), undefined); | ||
| 704 | try testArgs(@Vector(256, u4), undefined); | ||
| 705 | try testArgs(@Vector(3, i5), undefined); | ||
| 706 | try testArgs(@Vector(3, u5), undefined); | ||
| 707 | try testArgs(@Vector(3, i7), undefined); | ||
| 708 | try testArgs(@Vector(3, u7), undefined); | ||
| 709 | try testArgs(@Vector(3, i8), undefined); | ||
| 710 | try testArgs(@Vector(1, i8), undefined); | ||
| 711 | try testArgs(@Vector(2, i8), undefined); | ||
| 712 | try testArgs(@Vector(4, i8), undefined); | ||
| 713 | try testArgs(@Vector(8, i8), undefined); | ||
| 714 | try testArgs(@Vector(16, i8), undefined); | ||
| 715 | try testArgs(@Vector(32, i8), undefined); | ||
| 716 | try testArgs(@Vector(64, i8), undefined); | ||
| 717 | try testArgs(@Vector(128, i8), undefined); | ||
| 718 | try testArgs(@Vector(3, u8), undefined); | ||
| 719 | try testArgs(@Vector(1, u8), undefined); | ||
| 720 | try testArgs(@Vector(2, u8), undefined); | ||
| 721 | try testArgs(@Vector(4, u8), undefined); | ||
| 722 | try testArgs(@Vector(8, u8), undefined); | ||
| 723 | try testArgs(@Vector(16, u8), undefined); | ||
| 724 | try testArgs(@Vector(32, u8), undefined); | ||
| 725 | try testArgs(@Vector(64, u8), undefined); | ||
| 726 | try testArgs(@Vector(128, u8), undefined); | ||
| 727 | try testArgs(@Vector(3, i9), undefined); | ||
| 728 | try testArgs(@Vector(3, u9), undefined); | ||
| 729 | try testArgs(@Vector(3, i15), undefined); | ||
| 730 | try testArgs(@Vector(3, u15), undefined); | ||
| 731 | try testArgs(@Vector(3, i16), undefined); | ||
| 732 | try testArgs(@Vector(1, i16), undefined); | ||
| 733 | try testArgs(@Vector(2, i16), undefined); | ||
| 734 | try testArgs(@Vector(4, i16), undefined); | ||
| 735 | try testArgs(@Vector(8, i16), undefined); | ||
| 736 | try testArgs(@Vector(16, i16), undefined); | ||
| 737 | try testArgs(@Vector(32, i16), undefined); | ||
| 738 | try testArgs(@Vector(64, i16), undefined); | ||
| 739 | try testArgs(@Vector(3, u16), undefined); | ||
| 740 | try testArgs(@Vector(1, u16), undefined); | ||
| 741 | try testArgs(@Vector(2, u16), undefined); | ||
| 742 | try testArgs(@Vector(4, u16), undefined); | ||
| 743 | try testArgs(@Vector(8, u16), undefined); | ||
| 744 | try testArgs(@Vector(16, u16), undefined); | ||
| 745 | try testArgs(@Vector(32, u16), undefined); | ||
| 746 | try testArgs(@Vector(64, u16), undefined); | ||
| 747 | try testArgs(@Vector(3, i17), undefined); | ||
| 748 | try testArgs(@Vector(3, u17), undefined); | ||
| 749 | try testArgs(@Vector(3, i31), undefined); | ||
| 750 | try testArgs(@Vector(3, u31), undefined); | ||
| 751 | try testArgs(@Vector(3, i32), undefined); | ||
| 752 | try testArgs(@Vector(1, i32), undefined); | ||
| 753 | try testArgs(@Vector(2, i32), undefined); | ||
| 754 | try testArgs(@Vector(4, i32), undefined); | ||
| 755 | try testArgs(@Vector(8, i32), undefined); | ||
| 756 | try testArgs(@Vector(16, i32), undefined); | ||
| 757 | try testArgs(@Vector(32, i32), undefined); | ||
| 758 | try testArgs(@Vector(3, u32), undefined); | ||
| 759 | try testArgs(@Vector(1, u32), undefined); | ||
| 760 | try testArgs(@Vector(2, u32), undefined); | ||
| 761 | try testArgs(@Vector(4, u32), undefined); | ||
| 762 | try testArgs(@Vector(8, u32), undefined); | ||
| 763 | try testArgs(@Vector(16, u32), undefined); | ||
| 764 | try testArgs(@Vector(32, u32), undefined); | ||
| 765 | try testArgs(@Vector(3, i33), undefined); | ||
| 766 | try testArgs(@Vector(3, u33), undefined); | ||
| 767 | try testArgs(@Vector(3, i63), undefined); | ||
| 768 | try testArgs(@Vector(3, u63), undefined); | ||
| 769 | try testArgs(@Vector(3, i64), undefined); | ||
| 770 | try testArgs(@Vector(1, i64), undefined); | ||
| 771 | try testArgs(@Vector(2, i64), undefined); | ||
| 772 | try testArgs(@Vector(4, i64), undefined); | ||
| 773 | try testArgs(@Vector(8, i64), undefined); | ||
| 774 | try testArgs(@Vector(16, i64), undefined); | ||
| 775 | try testArgs(@Vector(3, u64), undefined); | ||
| 776 | try testArgs(@Vector(1, u64), undefined); | ||
| 777 | try testArgs(@Vector(2, u64), undefined); | ||
| 778 | try testArgs(@Vector(4, u64), undefined); | ||
| 779 | try testArgs(@Vector(8, u64), undefined); | ||
| 780 | try testArgs(@Vector(16, u64), undefined); | ||
| 781 | try testArgs(@Vector(3, i65), undefined); | ||
| 782 | try testArgs(@Vector(3, u65), undefined); | ||
| 783 | try testArgs(@Vector(3, i127), undefined); | ||
| 784 | try testArgs(@Vector(3, u127), undefined); | ||
| 785 | try testArgs(@Vector(3, i128), undefined); | ||
| 786 | try testArgs(@Vector(1, i128), undefined); | ||
| 787 | try testArgs(@Vector(2, i128), undefined); | ||
| 788 | try testArgs(@Vector(4, i128), undefined); | ||
| 789 | try testArgs(@Vector(8, i128), undefined); | ||
| 790 | try testArgs(@Vector(3, u128), undefined); | ||
| 791 | try testArgs(@Vector(1, u128), undefined); | ||
| 792 | try testArgs(@Vector(2, u128), undefined); | ||
| 793 | try testArgs(@Vector(4, u128), undefined); | ||
| 794 | try testArgs(@Vector(8, u128), undefined); | ||
| 795 | try testArgs(@Vector(3, i129), undefined); | ||
| 796 | try testArgs(@Vector(3, u129), undefined); | ||
| 797 | try testArgs(@Vector(3, i191), undefined); | ||
| 798 | try testArgs(@Vector(3, u191), undefined); | ||
| 799 | try testArgs(@Vector(3, i192), undefined); | ||
| 800 | try testArgs(@Vector(1, i192), undefined); | ||
| 801 | try testArgs(@Vector(2, i192), undefined); | ||
| 802 | try testArgs(@Vector(4, i192), undefined); | ||
| 803 | try testArgs(@Vector(3, u192), undefined); | ||
| 804 | try testArgs(@Vector(1, u192), undefined); | ||
| 805 | try testArgs(@Vector(2, u192), undefined); | ||
| 806 | try testArgs(@Vector(4, u192), undefined); | ||
| 807 | try testArgs(@Vector(3, i193), undefined); | ||
| 808 | try testArgs(@Vector(3, u193), undefined); | ||
| 809 | try testArgs(@Vector(3, i255), undefined); | ||
| 810 | try testArgs(@Vector(3, u255), undefined); | ||
| 811 | try testArgs(@Vector(3, i256), undefined); | ||
| 812 | try testArgs(@Vector(1, i256), undefined); | ||
| 813 | try testArgs(@Vector(2, i256), undefined); | ||
| 814 | try testArgs(@Vector(4, i256), undefined); | ||
| 815 | try testArgs(@Vector(3, u256), undefined); | ||
| 816 | try testArgs(@Vector(1, u256), undefined); | ||
| 817 | try testArgs(@Vector(2, u256), undefined); | ||
| 818 | try testArgs(@Vector(4, u256), undefined); | ||
| 819 | try testArgs(@Vector(3, i257), undefined); | ||
| 820 | try testArgs(@Vector(3, u257), undefined); | ||
| 821 | try testArgs(@Vector(3, i511), undefined); | ||
| 822 | try testArgs(@Vector(3, u511), undefined); | ||
| 823 | try testArgs(@Vector(3, i512), undefined); | ||
| 824 | try testArgs(@Vector(1, i512), undefined); | ||
| 825 | try testArgs(@Vector(2, i512), undefined); | ||
| 826 | try testArgs(@Vector(3, u512), undefined); | ||
| 827 | try testArgs(@Vector(1, u512), undefined); | ||
| 828 | try testArgs(@Vector(2, u512), undefined); | ||
| 829 | try testArgs(@Vector(3, i513), undefined); | ||
| 830 | try testArgs(@Vector(3, u513), undefined); | ||
| 831 | try testArgs(@Vector(3, i1023), undefined); | ||
| 832 | try testArgs(@Vector(3, u1023), undefined); | ||
| 833 | try testArgs(@Vector(3, i1024), undefined); | ||
| 834 | try testArgs(@Vector(1, i1024), undefined); | ||
| 835 | try testArgs(@Vector(3, u1024), undefined); | ||
| 836 | try testArgs(@Vector(1, u1024), undefined); | ||
| 837 | try testArgs(@Vector(3, i1025), undefined); | ||
| 838 | try testArgs(@Vector(3, u1025), undefined); | ||
| 839 | } | ||
| 840 | fn testIntVectors() !void { | ||
| 841 | try testArgs(@Vector(3, i1), .{ -1 << 0, -1, 0 }); | ||
| 842 | try testArgs(@Vector(3, u1), .{ 0, 1, 1 << 0 }); | ||
| 843 | |||
| 844 | try testArgs(@Vector(3, i2), .{ -1 << 1, -1, 0 }); | ||
| 845 | try testArgs(@Vector(3, u2), .{ 0, 1, 1 << 1 }); | ||
| 846 | |||
| 847 | try testArgs(@Vector(3, i3), .{ -1 << 2, -1, 0 }); | ||
| 848 | try testArgs(@Vector(3, u3), .{ 0, 1, 1 << 2 }); | ||
| 849 | |||
| 850 | try testArgs(@Vector(3, i4), .{ -1 << 3, -1, 0 }); | ||
| 851 | try testArgs(@Vector(1, i4), .{ | ||
| 852 | -0x2, | ||
| 853 | }); | ||
| 854 | try testArgs(@Vector(2, i4), .{ | ||
| 855 | -0x7, 0x4, | ||
| 856 | }); | ||
| 857 | try testArgs(@Vector(4, i4), .{ | ||
| 858 | -0x3, 0x4, 0x2, -0x2, | ||
| 859 | }); | ||
| 860 | try testArgs(@Vector(8, i4), .{ | ||
| 861 | -0x6, 0x3, 0x4, 0x3, 0x4, -0x8, -0x3, -0x5, | ||
| 862 | }); | ||
| 863 | try testArgs(@Vector(16, i4), .{ | ||
| 864 | -0x3, 0x5, 0x4, -0x1, 0x2, 0x7, 0x1, 0x0, -0x2, 0x6, -0x1, -0x3, 0x5, -0x3, 0x3, -0x7, | ||
| 865 | }); | ||
| 866 | try testArgs(@Vector(32, i4), .{ | ||
| 867 | -0x4, -0x2, 0x6, 0x6, -0x5, -0x8, -0x8, 0x7, -0x5, -0x5, 0x4, 0x5, -0x6, -0x1, 0x2, 0x0, -0x1, 0x3, 0x5, 0x1, -0x4, 0x2, -0x8, -0x6, -0x1, 0x3, 0x1, -0x8, 0x5, -0x6, 0x0, 0x2, | ||
| 868 | }); | ||
| 869 | try testArgs(@Vector(64, i4), .{ | ||
| 870 | -0x2, 0x6, -0x5, 0x2, 0x6, -0x5, 0x1, -0x6, -0x6, 0x3, -0x5, 0x5, 0x0, 0x3, -0x6, -0x2, 0x0, -0x5, -0x2, -0x7, 0x6, 0x6, -0x6, 0x5, -0x1, 0x1, -0x5, 0x4, -0x1, 0x2, 0x5, 0x0, | ||
| 871 | 0x6, -0x1, -0x3, -0x1, 0x0, 0x0, -0x2, -0x5, 0x7, 0x4, -0x7, 0x4, -0x8, 0x2, -0x1, -0x5, 0x4, -0x6, -0x3, 0x6, -0x6, 0x5, 0x0, 0x6, -0x3, 0x3, -0x4, -0x4, 0x3, -0x6, -0x5, -0x3, | ||
| 872 | }); | ||
| 873 | try testArgs(@Vector(128, i4), .{ | ||
| 874 | -0x2, 0x7, -0x7, 0x5, 0x4, -0x8, -0x4, 0x2, -0x6, 0x6, 0x3, 0x4, -0x6, -0x3, 0x1, -0x3, 0x4, -0x4, 0x0, -0x5, 0x4, -0x2, 0x4, -0x6, 0x4, 0x7, -0x6, 0x3, -0x6, 0x5, 0x7, -0x7, | ||
| 875 | -0x8, 0x0, 0x2, -0x6, -0x4, 0x5, -0x2, -0x6, 0x2, -0x3, -0x8, -0x3, -0x1, 0x4, 0x7, -0x2, 0x7, -0x3, 0x5, 0x3, -0x6, 0x5, -0x2, -0x5, -0x1, 0x5, -0x6, -0x2, -0x5, -0x4, -0x7, -0x3, | ||
| 876 | -0x4, -0x4, 0x6, -0x8, -0x2, 0x3, 0x1, 0x7, 0x1, -0x2, -0x7, -0x2, -0x8, -0x6, -0x6, 0x0, -0x3, -0x4, 0x3, -0x5, -0x3, -0x5, 0x6, 0x5, -0x7, -0x8, -0x5, -0x6, -0x2, -0x5, 0x5, -0x5, | ||
| 877 | 0x0, -0x6, -0x3, 0x0, 0x7, 0x6, -0x6, -0x7, -0x4, -0x5, 0x3, 0x2, 0x7, -0x3, -0x2, 0x4, -0x4, -0x5, 0x6, 0x1, 0x7, -0x5, -0x6, 0x0, 0x0, -0x8, 0x4, -0x1, -0x7, 0x0, 0x0, 0x5, | ||
| 878 | }); | ||
| 879 | try testArgs(@Vector(256, i4), .{ | ||
| 880 | -0x7, 0x4, 0x7, -0x5, 0x6, -0x2, 0x6, -0x5, 0x5, 0x5, 0x3, -0x3, -0x5, 0x0, 0x5, 0x1, 0x4, -0x1, 0x4, -0x8, -0x4, -0x8, 0x2, -0x8, 0x3, 0x1, -0x7, -0x3, -0x1, 0x5, -0x5, -0x8, | ||
| 881 | -0x3, -0x3, -0x5, 0x6, 0x0, 0x4, -0x3, -0x5, 0x0, 0x5, -0x1, -0x3, -0x4, -0x3, 0x6, -0x3, -0x1, 0x5, -0x3, -0x3, 0x0, 0x3, -0x2, -0x1, -0x5, 0x3, 0x2, -0x8, 0x7, -0x8, 0x6, 0x4, | ||
| 882 | -0x5, -0x4, 0x5, 0x5, 0x6, -0x3, 0x2, -0x4, 0x3, 0x7, 0x6, -0x2, -0x8, -0x1, -0x8, 0x2, 0x4, 0x1, 0x2, -0x1, 0x5, 0x1, 0x3, 0x1, 0x3, -0x5, 0x3, -0x5, -0x5, 0x5, -0x6, -0x7, | ||
| 883 | 0x0, 0x0, -0x3, 0x6, 0x0, 0x5, 0x3, 0x0, 0x0, -0x1, -0x6, -0x4, 0x5, -0x8, -0x4, -0x3, -0x3, 0x2, -0x5, -0x4, 0x4, 0x5, -0x6, -0x3, 0x2, 0x5, -0x7, -0x6, 0x3, 0x7, -0x2, 0x6, | ||
| 884 | 0x2, 0x3, 0x7, 0x3, 0x2, -0x5, 0x4, 0x5, -0x4, -0x7, 0x2, 0x2, -0x5, 0x7, -0x3, -0x8, 0x2, -0x4, 0x2, 0x4, 0x5, -0x7, 0x7, -0x6, 0x4, -0x8, -0x1, 0x7, 0x0, -0x4, 0x6, -0x8, | ||
| 885 | -0x5, 0x4, -0x5, 0x1, 0x6, -0x8, -0x1, -0x3, -0x5, 0x7, 0x1, 0x0, -0x3, 0x4, -0x5, -0x7, -0x5, 0x2, 0x0, -0x1, -0x4, 0x0, 0x5, 0x6, -0x3, -0x4, -0x2, 0x4, -0x1, -0x8, 0x0, 0x6, | ||
| 886 | 0x7, 0x1, 0x5, 0x2, -0x4, -0x7, -0x3, -0x3, -0x8, -0x8, -0x3, -0x4, 0x5, -0x5, -0x2, -0x2, 0x1, 0x1, 0x1, -0x8, 0x5, 0x4, 0x5, 0x6, 0x3, 0x0, -0x2, -0x1, 0x4, -0x4, -0x5, 0x0, | ||
| 887 | -0x7, -0x8, -0x2, 0x1, 0x5, 0x4, 0x5, -0x7, 0x3, 0x2, 0x2, 0x5, -0x3, 0x7, -0x4, 0x0, -0x3, -0x2, -0x5, 0x1, 0x1, -0x4, -0x4, 0x1, -0x8, -0x3, 0x6, -0x8, -0x2, 0x5, 0x7, -0x3, | ||
| 888 | }); | ||
| 889 | |||
| 890 | try testArgs(@Vector(3, u4), .{ 0, 1, 1 << 3 }); | ||
| 891 | try testArgs(@Vector(1, u4), .{ | ||
| 892 | 0xb, | ||
| 893 | }); | ||
| 894 | try testArgs(@Vector(2, u4), .{ | ||
| 895 | 0x3, 0x4, | ||
| 896 | }); | ||
| 897 | try testArgs(@Vector(4, u4), .{ | ||
| 898 | 0x9, 0x2, 0xf, 0xe, | ||
| 899 | }); | ||
| 900 | try testArgs(@Vector(8, u4), .{ | ||
| 901 | 0x8, 0x1, 0xb, 0x1, 0xf, 0x5, 0x9, 0x6, | ||
| 902 | }); | ||
| 903 | try testArgs(@Vector(16, u4), .{ | ||
| 904 | 0xb, 0x6, 0x0, 0x7, 0x8, 0x5, 0x6, 0x9, 0xe, 0xb, 0x3, 0xa, 0xb, 0x5, 0x8, 0xc, | ||
| 905 | }); | ||
| 906 | try testArgs(@Vector(32, u4), .{ | ||
| 907 | 0xe, 0x6, 0xe, 0xa, 0xb, 0x4, 0xa, 0xb, 0x1, 0x3, 0xb, 0xc, 0x0, 0xb, 0x9, 0x4, 0xd, 0xa, 0xd, 0xd, 0x4, 0x8, 0x8, 0x6, 0xb, 0xe, 0x9, 0x6, 0xc, 0xd, 0x5, 0xd, | ||
| 908 | }); | ||
| 909 | try testArgs(@Vector(64, u4), .{ | ||
| 910 | 0x1, 0xc, 0xe, 0x9, 0x9, 0xf, 0x3, 0xf, 0x9, 0x9, 0x5, 0x3, 0xb, 0xd, 0xd, 0xf, 0x1, 0x2, 0xf, 0x9, 0x4, 0x4, 0x8, 0x9, 0x2, 0x9, 0x8, 0xe, 0x8, 0xa, 0x4, 0x3, | ||
| 911 | 0x4, 0xc, 0xb, 0x6, 0x4, 0x0, 0xa, 0x5, 0x1, 0xa, 0x4, 0xe, 0xa, 0x7, 0xd, 0x0, 0x4, 0xe, 0xe, 0x7, 0x7, 0xa, 0x4, 0x5, 0x6, 0xc, 0x6, 0x2, 0x6, 0xa, 0xe, 0xa, | ||
| 912 | }); | ||
| 913 | try testArgs(@Vector(128, u4), .{ | ||
| 914 | 0xd, 0x5, 0x6, 0xe, 0x3, 0x3, 0x3, 0xe, 0xd, 0xd, 0x9, 0x0, 0x0, 0xe, 0xa, 0x9, 0x8, 0x7, 0xb, 0x5, 0x7, 0xf, 0xb, 0x8, 0x0, 0xf, 0xb, 0x3, 0xa, 0x2, 0xb, 0xc, | ||
| 915 | 0x1, 0x1, 0xc, 0x8, 0x8, 0x6, 0x9, 0x1, 0xb, 0x0, 0x2, 0xb, 0x2, 0x2, 0x7, 0x6, 0x1, 0x1, 0xb, 0x4, 0x6, 0x4, 0x7, 0xc, 0xd, 0xc, 0xa, 0x8, 0x1, 0x7, 0x8, 0xa, | ||
| 916 | 0x9, 0xa, 0x1, 0x8, 0x1, 0x7, 0x9, 0x4, 0x5, 0x9, 0xd, 0x0, 0xa, 0xf, 0x3, 0x3, 0x9, 0x2, 0xf, 0x5, 0xb, 0x8, 0x6, 0xb, 0xf, 0x5, 0x8, 0x3, 0x9, 0xf, 0x6, 0x8, | ||
| 917 | 0xc, 0x8, 0x3, 0x4, 0xa, 0xe, 0xc, 0x1, 0xe, 0x9, 0x1, 0x8, 0xf, 0x6, 0xc, 0xc, 0x6, 0xf, 0x6, 0xd, 0xb, 0x9, 0xc, 0x3, 0xd, 0xa, 0x6, 0x8, 0x4, 0xa, 0x6, 0x9, | ||
| 918 | }); | ||
| 919 | try testArgs(@Vector(256, u4), .{ | ||
| 920 | 0x6, 0xc, 0xe, 0x3, 0x8, 0x2, 0xb, 0xd, 0x3, 0xa, 0x3, 0x8, 0xb, 0x8, 0x3, 0x0, 0xb, 0x5, 0x1, 0x3, 0x2, 0x2, 0xf, 0xc, 0x5, 0x1, 0x3, 0xb, 0x1, 0xc, 0x2, 0xd, | ||
| 921 | 0xa, 0x8, 0x1, 0xc, 0xb, 0xa, 0x3, 0x1, 0xe, 0x4, 0xf, 0xb, 0xd, 0x8, 0xf, 0xa, 0xc, 0xb, 0xb, 0x0, 0xa, 0xc, 0xf, 0xe, 0x8, 0xd, 0x9, 0x3, 0xa, 0xe, 0x8, 0x7, | ||
| 922 | 0x5, 0xa, 0x0, 0xe, 0x0, 0xd, 0x2, 0x2, 0x9, 0x4, 0x8, 0x9, 0x0, 0x4, 0x4, 0x8, 0xe, 0x1, 0xf, 0x1, 0x9, 0x3, 0xf, 0xc, 0xa, 0x0, 0x3, 0x2, 0x4, 0x1, 0x2, 0x3, | ||
| 923 | 0xf, 0x2, 0x7, 0xb, 0x5, 0x0, 0xd, 0x3, 0x4, 0xf, 0xa, 0x3, 0xc, 0x2, 0x5, 0xe, 0x7, 0x5, 0xd, 0x7, 0x9, 0x0, 0xd, 0x7, 0x9, 0xd, 0x5, 0x7, 0xf, 0xd, 0xb, 0x4, | ||
| 924 | 0x9, 0x6, 0xf, 0xb, 0x1, 0xb, 0x6, 0xb, 0xf, 0x7, 0xf, 0x0, 0x4, 0x7, 0x5, 0xa, 0x8, 0x1, 0xf, 0x9, 0x9, 0x0, 0x6, 0xb, 0x1, 0x2, 0x4, 0x3, 0x2, 0x0, 0x7, 0x0, | ||
| 925 | 0x6, 0x7, 0xf, 0x1, 0xe, 0xa, 0x8, 0x2, 0x9, 0xc, 0x1, 0x5, 0x7, 0x1, 0xb, 0x0, 0x1, 0x3, 0xd, 0x3, 0x0, 0x1, 0xa, 0x0, 0x3, 0x7, 0x1, 0x2, 0xb, 0xc, 0x2, 0x9, | ||
| 926 | 0x8, 0x8, 0x7, 0x0, 0xd, 0x5, 0x1, 0x5, 0x7, 0x7, 0x2, 0x3, 0x8, 0x7, 0xc, 0x8, 0xf, 0xa, 0xf, 0xf, 0x3, 0x2, 0x0, 0x4, 0x7, 0x5, 0x6, 0xd, 0x6, 0x3, 0xa, 0x4, | ||
| 927 | 0x1, 0x1, 0x2, 0xc, 0x3, 0xe, 0x2, 0xc, 0x7, 0x6, 0xe, 0xf, 0xb, 0x8, 0x6, 0x6, 0x9, 0x0, 0x4, 0xb, 0xe, 0x4, 0x2, 0x7, 0xf, 0xc, 0x0, 0x6, 0xd, 0xa, 0xe, 0xc, | ||
| 928 | }); | ||
| 929 | |||
| 930 | try testArgs(@Vector(3, i5), .{ -1 << 4, -1, 0 }); | ||
| 931 | try testArgs(@Vector(3, u5), .{ 0, 1, 1 << 4 }); | ||
| 932 | |||
| 933 | try testArgs(@Vector(3, i7), .{ -1 << 6, -1, 0 }); | ||
| 934 | try testArgs(@Vector(3, u7), .{ 0, 1, 1 << 6 }); | ||
| 935 | |||
| 936 | try testArgs(@Vector(3, i8), .{ -1 << 7, -1, 0 }); | ||
| 937 | try testArgs(@Vector(1, i8), .{ | ||
| 938 | 0x71, | ||
| 939 | }); | ||
| 940 | try testArgs(@Vector(2, i8), .{ | ||
| 941 | -0x50, -0x43, | ||
| 942 | }); | ||
| 943 | try testArgs(@Vector(4, i8), .{ | ||
| 944 | -0x09, -0x19, -0x15, -0x5d, | ||
| 945 | }); | ||
| 946 | try testArgs(@Vector(8, i8), .{ | ||
| 947 | -0x4f, -0x55, -0x5b, -0x23, -0x76, 0x36, 0x6f, -0x63, | ||
| 948 | }); | ||
| 949 | try testArgs(@Vector(16, i8), .{ | ||
| 950 | 0x24, -0x03, 0x2e, 0x7b, 0x68, 0x29, 0x6c, 0x7f, -0x2f, -0x3b, -0x11, -0x3c, -0x2e, 0x27, -0x45, 0x45, | ||
| 951 | }); | ||
| 952 | try testArgs(@Vector(32, i8), .{ | ||
| 953 | 0x70, 0x33, -0x28, -0x38, -0x3b, 0x44, -0x1d, 0x7d, -0x48, 0x3c, 0x61, -0x09, -0x49, 0x15, 0x0a, -0x5a, | ||
| 954 | 0x78, 0x11, -0x07, -0x23, 0x4a, -0x72, 0x25, -0x17, -0x51, -0x04, 0x55, 0x20, -0x80, -0x3d, 0x59, -0x39, | ||
| 955 | }); | ||
| 956 | try testArgs(@Vector(64, i8), .{ | ||
| 957 | 0x4f, 0x40, -0x62, -0x4f, 0x37, -0x06, -0x33, 0x4d, -0x10, 0x55, 0x24, -0x76, 0x1d, 0x2b, -0x54, -0x0f, | ||
| 958 | 0x21, -0x4c, -0x74, -0x07, 0x23, -0x5a, -0x21, -0x4a, -0x7c, -0x16, -0x20, -0x2e, 0x0a, 0x15, 0x03, 0x44, | ||
| 959 | 0x19, -0x27, 0x3e, 0x61, 0x6e, -0x76, 0x2a, 0x74, -0x21, 0x34, -0x69, -0x18, -0x21, -0x61, -0x34, -0x02, | ||
| 960 | 0x5e, -0x36, -0x79, -0x0f, 0x26, 0x6e, 0x5f, 0x52, -0x0f, -0x64, 0x1a, 0x74, -0x37, 0x00, -0x47, -0x57, | ||
| 961 | }); | ||
| 962 | try testArgs(@Vector(128, i8), .{ | ||
| 963 | -0x38, -0x19, 0x51, 0x09, 0x76, -0x3b, -0x33, 0x39, 0x67, 0x51, 0x10, 0x77, 0x24, 0x21, 0x6f, -0x1a, | ||
| 964 | 0x4e, -0x69, 0x2e, -0x78, -0x06, 0x5c, 0x17, 0x2e, -0x0e, -0x2e, 0x09, 0x2a, -0x5f, -0x40, -0x64, 0x3f, | ||
| 965 | 0x4a, -0x77, -0x54, 0x38, 0x6b, 0x1f, -0x04, 0x40, 0x27, -0x0c, 0x65, -0x46, 0x49, -0x69, -0x53, 0x64, | ||
| 966 | 0x13, -0x33, 0x3a, -0x10, -0x15, 0x7f, -0x1c, 0x5e, -0x22, 0x2f, -0x75, 0x77, 0x22, 0x6b, -0x32, -0x55, | ||
| 967 | 0x18, 0x19, 0x2c, -0x27, -0x03, 0x4f, 0x07, 0x0b, 0x44, -0x21, 0x79, 0x55, -0x65, 0x1d, -0x29, 0x2f, | ||
| 968 | 0x4a, 0x6f, -0x40, -0x57, -0x2f, 0x42, 0x52, 0x68, -0x2a, -0x6b, 0x6f, -0x49, -0x32, 0x52, 0x1e, -0x60, | ||
| 969 | -0x80, 0x53, 0x5e, 0x73, -0x1e, 0x2d, -0x46, -0x27, 0x4b, 0x57, 0x1f, 0x6a, -0x65, 0x5f, -0x2b, -0x03, | ||
| 970 | -0x3a, -0x76, -0x51, 0x20, 0x04, -0x0a, 0x2b, -0x04, -0x1e, -0x18, -0x2d, 0x53, -0x58, -0x69, 0x16, 0x19, | ||
| 971 | }); | ||
| 972 | |||
| 973 | try testArgs(@Vector(3, u8), .{ 0, 1, 1 << 7 }); | ||
| 974 | try testArgs(@Vector(1, u8), .{ | ||
| 975 | 0x33, | ||
| 976 | }); | ||
| 977 | try testArgs(@Vector(2, u8), .{ | ||
| 978 | 0x66, 0x87, | ||
| 979 | }); | ||
| 980 | try testArgs(@Vector(4, u8), .{ | ||
| 981 | 0x9d, 0xcb, 0x30, 0x7b, | ||
| 982 | }); | ||
| 983 | try testArgs(@Vector(8, u8), .{ | ||
| 984 | 0x4b, 0x35, 0x3f, 0x5c, 0xa5, 0x91, 0x23, 0x6d, | ||
| 985 | }); | ||
| 986 | try testArgs(@Vector(16, u8), .{ | ||
| 987 | 0xb7, 0x57, 0x27, 0x29, 0x58, 0xf8, 0xc9, 0x6c, 0xbe, 0x41, 0xf4, 0xd7, 0x4d, 0x01, 0xf0, 0x37, | ||
| 988 | }); | ||
| 989 | try testArgs(@Vector(32, u8), .{ | ||
| 990 | 0x5f, 0x61, 0x34, 0xe8, 0x37, 0x12, 0xba, 0x5a, 0x85, 0xf3, 0x3e, 0xa2, 0x0f, 0xd0, 0x65, 0xae, | ||
| 991 | 0xed, 0xf5, 0xe8, 0x65, 0x61, 0x28, 0x4a, 0x27, 0x2e, 0x01, 0x40, 0x8c, 0xe3, 0x36, 0x5d, 0xb6, | ||
| 992 | }); | ||
| 993 | try testArgs(@Vector(64, u8), .{ | ||
| 994 | 0xb0, 0x19, 0x5c, 0xc2, 0x3b, 0x16, 0x70, 0xad, 0x26, 0x45, 0xf2, 0xe1, 0x4f, 0x0f, 0x01, 0x72, | ||
| 995 | 0x7f, 0x1f, 0x07, 0x9e, 0xee, 0x9b, 0xb3, 0x38, 0x50, 0xf3, 0x56, 0x73, 0xd0, 0xd1, 0xee, 0xe3, | ||
| 996 | 0xeb, 0xf3, 0x1b, 0xe0, 0x77, 0x78, 0x75, 0xc6, 0x19, 0xe4, 0x69, 0xaa, 0x73, 0x08, 0xcd, 0x0c, | ||
| 997 | 0xf9, 0xed, 0x94, 0xf8, 0x79, 0x86, 0x63, 0x31, 0xbf, 0xd1, 0xe3, 0x17, 0x2b, 0xb9, 0xa1, 0x72, | ||
| 998 | }); | ||
| 999 | try testArgs(@Vector(128, u8), .{ | ||
| 1000 | 0x2e, 0x93, 0x87, 0x09, 0x4f, 0x68, 0x14, 0xab, 0x3f, 0x04, 0x86, 0xc1, 0x95, 0xe8, 0x74, 0x11, | ||
| 1001 | 0x57, 0x25, 0xe1, 0x88, 0xc0, 0x96, 0x33, 0x99, 0x15, 0x86, 0x2c, 0x84, 0x2e, 0xd7, 0x57, 0x21, | ||
| 1002 | 0xd3, 0x18, 0xd5, 0x0e, 0xb4, 0x60, 0xe2, 0x08, 0xce, 0xbc, 0xd5, 0x4d, 0x8f, 0x59, 0x01, 0x67, | ||
| 1003 | 0x71, 0x0a, 0x74, 0x48, 0xef, 0x39, 0x49, 0x7e, 0xa8, 0x39, 0x34, 0x75, 0x95, 0x3b, 0x38, 0xea, | ||
| 1004 | 0x60, 0xd7, 0xed, 0x8f, 0xbb, 0xc0, 0x7d, 0xc2, 0x79, 0x2d, 0xbf, 0xa5, 0x64, 0xf4, 0x09, 0x86, | ||
| 1005 | 0xfb, 0x29, 0xfe, 0xc7, 0xff, 0x62, 0x1a, 0x6f, 0xf8, 0xbd, 0xfe, 0xa4, 0xac, 0x24, 0xcf, 0x56, | ||
| 1006 | 0x82, 0x69, 0x81, 0x0d, 0xc1, 0x51, 0x8d, 0x85, 0xf4, 0x00, 0xe7, 0x25, 0xab, 0xa5, 0x33, 0x45, | ||
| 1007 | 0x66, 0x2e, 0x33, 0xc8, 0xf3, 0x35, 0x16, 0x7d, 0x1f, 0xc9, 0xf7, 0x44, 0xab, 0x66, 0x28, 0x0d, | ||
| 1008 | }); | ||
| 1009 | |||
| 1010 | try testArgs(@Vector(3, i9), .{ -1 << 8, -1, 0 }); | ||
| 1011 | try testArgs(@Vector(3, u9), .{ 0, 1, 1 << 8 }); | ||
| 1012 | |||
| 1013 | try testArgs(@Vector(3, i15), .{ -1 << 14, -1, 0 }); | ||
| 1014 | try testArgs(@Vector(3, u15), .{ 0, 1, 1 << 14 }); | ||
| 1015 | |||
| 1016 | try testArgs(@Vector(3, i16), .{ -1 << 15, -1, 0 }); | ||
| 1017 | try testArgs(@Vector(1, i16), .{ | ||
| 1018 | -0x015a, | ||
| 1019 | }); | ||
| 1020 | try testArgs(@Vector(2, i16), .{ | ||
| 1021 | -0x1c2f, 0x5ce8, | ||
| 1022 | }); | ||
| 1023 | try testArgs(@Vector(4, i16), .{ | ||
| 1024 | 0x1212, 0x5bfc, -0x20ea, 0x0993, | ||
| 1025 | }); | ||
| 1026 | try testArgs(@Vector(8, i16), .{ | ||
| 1027 | 0x4d55, -0x0dfb, -0x7921, 0x7e20, 0x74a5, -0x7371, -0x08e0, 0x7f23, | ||
| 1028 | }); | ||
| 1029 | try testArgs(@Vector(16, i16), .{ | ||
| 1030 | 0x2354, -0x048a, -0x3ef9, 0x29d4, 0x4e5e, -0x3da9, -0x0cc4, -0x0377, | ||
| 1031 | 0x4d44, 0x4384, -0x1e46, 0x0bf1, 0x3151, -0x57c6, -0x367e, -0x7ae5, | ||
| 1032 | }); | ||
| 1033 | try testArgs(@Vector(32, i16), .{ | ||
| 1034 | 0x5b5a, -0x54c4, -0x2089, -0x448d, 0x38e8, -0x36a5, -0x0a8f, 0x06e0, | ||
| 1035 | 0x09d9, 0x3877, 0x33c8, 0x5d3a, 0x018b, 0x29c9, 0x6f59, -0x4078, | ||
| 1036 | 0x6be4, -0x249e, 0x43b3, -0x0389, 0x545e, 0x6ed7, 0x6636, 0x587d, | ||
| 1037 | 0x55b0, -0x608b, 0x72e0, 0x4dfd, -0x051d, 0x7433, -0x7fc2, 0x2de3, | ||
| 1038 | }); | ||
| 1039 | try testArgs(@Vector(64, i16), .{ | ||
| 1040 | 0x7834, -0x43f9, -0x1cb3, -0x05f2, 0x25b5, 0x55f2, 0x4cfb, -0x58bb, | ||
| 1041 | 0x7292, -0x082e, -0x5a6e, 0x1fc8, -0x1f49, 0x7e3c, 0x4aa5, -0x617e, | ||
| 1042 | 0x2fab, -0x2b96, 0x7474, -0x6644, -0x5484, -0x278e, -0x6a0e, -0x5210, | ||
| 1043 | 0x1adf, -0x2799, 0x61e0, -0x733c, -0x6bcc, -0x6fe2, -0x4e91, 0x5d01, | ||
| 1044 | 0x3745, 0x24eb, 0x6c89, 0x4a94, -0x7339, 0x4907, -0x4f8f, -0x7e39, | ||
| 1045 | 0x1a32, 0x65ca, -0x6c27, -0x3269, 0x107b, 0x1c53, -0x5529, 0x5232, | ||
| 1046 | -0x26ec, 0x4442, -0x63f5, -0x174a, 0x3033, -0x7363, 0x58be, 0x239f, | ||
| 1047 | 0x7f7b, -0x437d, -0x6df6, 0x0a7b, 0x3faa, -0x1d75, -0x7426, 0x1274, | ||
| 1048 | }); | ||
| 1049 | |||
| 1050 | try testArgs(@Vector(3, u16), .{ 0, 1, 1 << 15 }); | ||
| 1051 | try testArgs(@Vector(1, u16), .{ | ||
| 1052 | 0x4da6, | ||
| 1053 | }); | ||
| 1054 | try testArgs(@Vector(2, u16), .{ | ||
| 1055 | 0x04d7, 0x50c6, | ||
| 1056 | }); | ||
| 1057 | try testArgs(@Vector(4, u16), .{ | ||
| 1058 | 0x4c06, 0xd71f, 0x4d8f, 0xe0a4, | ||
| 1059 | }); | ||
| 1060 | try testArgs(@Vector(8, u16), .{ | ||
| 1061 | 0xee9a, 0x881d, 0x31fb, 0xd3f7, 0x2c74, 0x6949, 0x4e04, 0x53d7, | ||
| 1062 | }); | ||
| 1063 | try testArgs(@Vector(16, u16), .{ | ||
| 1064 | 0xeafe, 0x9a7b, 0x0d6f, 0x18cb, 0xaf8f, 0x8ee4, 0xa47e, 0xd39a, | ||
| 1065 | 0x6572, 0x9c53, 0xf36e, 0x982e, 0x41c1, 0x8682, 0xf5dc, 0x7e01, | ||
| 1066 | }); | ||
| 1067 | try testArgs(@Vector(32, u16), .{ | ||
| 1068 | 0xdfb3, 0x7de6, 0xd9ed, 0xb42e, 0x95ac, 0x9b5b, 0x0422, 0xdfcd, | ||
| 1069 | 0x6196, 0x4dbe, 0x1818, 0x8816, 0x75e7, 0xc9b0, 0x92f7, 0x1f71, | ||
| 1070 | 0xe584, 0x576c, 0x043a, 0x0f31, 0xfc4c, 0x2c87, 0x6b02, 0x0229, | ||
| 1071 | 0x25b7, 0x53cd, 0x9bab, 0x866b, 0x9008, 0xf0f3, 0xeb21, 0x88e2, | ||
| 1072 | }); | ||
| 1073 | try testArgs(@Vector(64, u16), .{ | ||
| 1074 | 0x084c, 0x445f, 0xce89, 0xd3ee, 0xb399, 0x315d, 0x8ef8, 0x4f6f, | ||
| 1075 | 0xf9af, 0xcbc4, 0x0332, 0xcd55, 0xa4dc, 0xbc38, 0x6e33, 0x8ead, | ||
| 1076 | 0xd15a, 0x5057, 0x58ef, 0x657a, 0xe9f0, 0x1418, 0x2b62, 0x3387, | ||
| 1077 | 0x1c15, 0x04e1, 0x0276, 0x3783, 0xad9c, 0xea9a, 0x0e5e, 0xe803, | ||
| 1078 | 0x2ee7, 0x0cf1, 0x30f1, 0xb12a, 0x381b, 0x353d, 0xf637, 0xf853, | ||
| 1079 | 0x2ac1, 0x7ce8, 0x6a50, 0xcbb8, 0xc9b8, 0x9b25, 0xd1e9, 0xeff0, | ||
| 1080 | 0xc0a2, 0x8e51, 0xde7a, 0x4e58, 0x5685, 0xeb3f, 0xd29b, 0x66ed, | ||
| 1081 | 0x3dd5, 0xcb59, 0x6003, 0xf710, 0x943a, 0x7276, 0xe547, 0xe48f, | ||
| 1082 | }); | ||
| 1083 | |||
| 1084 | try testArgs(@Vector(3, i17), .{ -1 << 16, -1, 0 }); | ||
| 1085 | try testArgs(@Vector(3, u17), .{ 0, 1, 1 << 16 }); | ||
| 1086 | |||
| 1087 | try testArgs(@Vector(3, i31), .{ -1 << 30, -1, 0 }); | ||
| 1088 | try testArgs(@Vector(3, u31), .{ 0, 1, 1 << 30 }); | ||
| 1089 | |||
| 1090 | try testArgs(@Vector(3, i32), .{ -1 << 31, -1, 0 }); | ||
| 1091 | try testArgs(@Vector(1, i32), .{ | ||
| 1092 | -0x27f49dce, | ||
| 1093 | }); | ||
| 1094 | try testArgs(@Vector(2, i32), .{ | ||
| 1095 | 0x24641ec7, 0x436c5bd2, | ||
| 1096 | }); | ||
| 1097 | try testArgs(@Vector(4, i32), .{ | ||
| 1098 | 0x59e5eff1, -0x46b5b8db, -0x1029efa7, -0x1937fe73, | ||
| 1099 | }); | ||
| 1100 | try testArgs(@Vector(8, i32), .{ | ||
| 1101 | 0x0ca01401, -0x46b2bc0c, 0x51e5dee7, -0x74edfde8, | ||
| 1102 | -0x0ab09a6a, -0x5a51a88b, 0x18c28bc2, 0x63d79966, | ||
| 1103 | }); | ||
| 1104 | try testArgs(@Vector(16, i32), .{ | ||
| 1105 | 0x3900e6c8, 0x2408c2bb, 0x5e01bc6e, -0x0eb8c400, | ||
| 1106 | 0x4c0dc6c2, 0x6c75e7f5, -0x66632ca8, 0x0e978daf, | ||
| 1107 | 0x61ffe725, 0x720253e4, -0x6f6c38c1, -0x3302e60a, | ||
| 1108 | 0x43f53c92, 0x5a3c1075, 0x7044a110, 0x18e41ad8, | ||
| 1109 | }); | ||
| 1110 | try testArgs(@Vector(32, i32), .{ | ||
| 1111 | 0x3a5c2b01, 0x2a52d9fa, -0x5843fc47, 0x6c493c7d, | ||
| 1112 | -0x47937cb1, -0x3ad95ec4, 0x71cf5e7b, -0x3b6719c2, | ||
| 1113 | 0x06bace17, -0x6ccda5ed, 0x42b9ed04, 0x6be2b287, | ||
| 1114 | -0x7cf56523, -0x3c98e2e4, 0x1e7db6c0, -0x7e668ad2, | ||
| 1115 | -0x6c245ecf, -0x09842450, -0x403a4335, -0x7a68e9b7, | ||
| 1116 | 0x0036cf57, -0x251edb4e, -0x67ec3abf, -0x183f0333, | ||
| 1117 | -0x4b46723c, -0x1e5383d6, 0x188c1de3, 0x400b3648, | ||
| 1118 | -0x4b21d9d3, 0x61635257, 0x179eb187, 0x31cd8376, | ||
| 1119 | }); | ||
| 1120 | |||
| 1121 | try testArgs(@Vector(3, u32), .{ 0, 1, 1 << 31 }); | ||
| 1122 | try testArgs(@Vector(1, u32), .{ | ||
| 1123 | 0x17e2805c, | ||
| 1124 | }); | ||
| 1125 | try testArgs(@Vector(2, u32), .{ | ||
| 1126 | 0xdb6aadc5, 0xb1ff3754, | ||
| 1127 | }); | ||
| 1128 | try testArgs(@Vector(4, u32), .{ | ||
| 1129 | 0xf7897b31, 0x342e1af9, 0x190fd76b, 0x283b5374, | ||
| 1130 | }); | ||
| 1131 | try testArgs(@Vector(8, u32), .{ | ||
| 1132 | 0x81a0bd16, 0xc55da94e, 0x910f7e7c, 0x078d5ef7, | ||
| 1133 | 0x0bdb1e4a, 0xf1a96e99, 0xcdd729b5, 0xe6966a1c, | ||
| 1134 | }); | ||
| 1135 | try testArgs(@Vector(16, u32), .{ | ||
| 1136 | 0xfee812db, 0x29eacbed, 0xaed48136, 0x3053de13, | ||
| 1137 | 0xbbda20df, 0x6faa274a, 0xe0b5ec3a, 0x1878b0dc, | ||
| 1138 | 0x98204475, 0x810d8d05, 0x1e6996b6, 0xc543826a, | ||
| 1139 | 0x53b47d8c, 0xc72c3142, 0x12f7e1f9, 0xf6782e54, | ||
| 1140 | }); | ||
| 1141 | try testArgs(@Vector(32, u32), .{ | ||
| 1142 | 0xf0cf30d3, 0xe3c587b8, 0xcee44739, 0xe4a0bd72, | ||
| 1143 | 0x41d44cce, 0x6d7c4259, 0xd85580a5, 0xec4b02d7, | ||
| 1144 | 0xa366483d, 0x2d7b59d4, 0xe9c0ace4, 0x82cb441c, | ||
| 1145 | 0xa23958ba, 0x04a70148, 0x3f0d20a3, 0xf9e21e37, | ||
| 1146 | 0x009fce8b, 0x4a34a229, 0xf09c35cf, 0xc0977d4d, | ||
| 1147 | 0xcc4d4647, 0xa30f1363, 0x27a65b14, 0xe572c785, | ||
| 1148 | 0x8f42e320, 0x2b2cdeca, 0x11205bd4, 0x739d26aa, | ||
| 1149 | 0xcbcc2df0, 0x5f7a3649, 0xbde1b7aa, 0x180a169f, | ||
| 1150 | }); | ||
| 1151 | |||
| 1152 | try testArgs(@Vector(3, i33), .{ -1 << 32, -1, 0 }); | ||
| 1153 | try testArgs(@Vector(3, u33), .{ 0, 1, 1 << 32 }); | ||
| 1154 | |||
| 1155 | try testArgs(@Vector(3, i63), .{ -1 << 62, -1, 0 }); | ||
| 1156 | try testArgs(@Vector(3, u63), .{ 0, 1, 1 << 62 }); | ||
| 1157 | |||
| 1158 | try testArgs(@Vector(3, i64), .{ -1 << 63, -1, 0 }); | ||
| 1159 | try testArgs(@Vector(1, i64), .{ | ||
| 1160 | 0x29113011488d8b65, | ||
| 1161 | }); | ||
| 1162 | try testArgs(@Vector(2, i64), .{ | ||
| 1163 | -0x3f865dcdfd831d03, -0x35512d15095445d6, | ||
| 1164 | }); | ||
| 1165 | try testArgs(@Vector(4, i64), .{ | ||
| 1166 | 0x6f37a9484440251e, 0x2757e5e2b77e6ef3, | ||
| 1167 | 0x4903a91bd2993d0b, 0x162244ba22371f62, | ||
| 1168 | }); | ||
| 1169 | try testArgs(@Vector(8, i64), .{ | ||
| 1170 | -0x46e2340c765175c1, -0x031ee2297e6cc8b3, | ||
| 1171 | -0x2627434d4b4fb796, 0x525e1ef31b6daa46, | ||
| 1172 | 0x72d8eaaea07fa5ea, 0x2a8c0c36da019448, | ||
| 1173 | -0x5419ebf5cd514cde, -0x618c56a881057ac4, | ||
| 1174 | }); | ||
| 1175 | try testArgs(@Vector(16, i64), .{ | ||
| 1176 | 0x36b4a703d084c774, 0x07a500f0d603a4d5, | ||
| 1177 | -0x27387989d2450cdd, 0x02073880984d74c8, | ||
| 1178 | -0x18d1593e36724417, -0x79df283cc6f403d8, | ||
| 1179 | 0x36838a7c54da5f2b, -0x2bf76c1666a1b768, | ||
| 1180 | -0x6ace0d64a2757edc, 0x41442e9979a0ab64, | ||
| 1181 | 0x002612bfdf419826, 0x1128ba5648d22fe8, | ||
| 1182 | 0x49b0f67e0abb8f3b, 0x6bf3e9ac37f73cf3, | ||
| 1183 | -0x5c89f516258c7e77, 0x6b345f04e60d2e56, | ||
| 1184 | }); | ||
| 1185 | |||
| 1186 | try testArgs(@Vector(3, u64), .{ 0, 1, 1 << 63 }); | ||
| 1187 | try testArgs(@Vector(1, u64), .{ | ||
| 1188 | 0x7d2e439abb0edba7, | ||
| 1189 | }); | ||
| 1190 | try testArgs(@Vector(2, u64), .{ | ||
| 1191 | 0x3749ee5a2d237b9f, 0x6d8f4c3e1378f389, | ||
| 1192 | }); | ||
| 1193 | try testArgs(@Vector(4, u64), .{ | ||
| 1194 | 0x03c127040e10d52b, 0xa86fe019072e27eb, | ||
| 1195 | 0x0a554a47b709cdba, 0xf4342cc597e196c3, | ||
| 1196 | }); | ||
| 1197 | try testArgs(@Vector(8, u64), .{ | ||
| 1198 | 0xea455c104375a055, 0x5c35d9d945edb2fa, | ||
| 1199 | 0xc11b73d9d9d546fc, 0x2a9d63aae838dd5b, | ||
| 1200 | 0xed6603f1f5d574b3, 0x2f37b354c81c1e56, | ||
| 1201 | 0xbe7f5e2476bc76bd, 0xb0c88eacfffa9a8f, | ||
| 1202 | }); | ||
| 1203 | try testArgs(@Vector(16, u64), .{ | ||
| 1204 | 0x2258fc04b31f8dbe, 0x3a2e5483003a10d8, | ||
| 1205 | 0xebf24b31c0460510, 0x15d5b4c09b53ffa5, | ||
| 1206 | 0x05abf6e744b17cc6, 0x9747b483f2d159fe, | ||
| 1207 | 0x4616d8b2c8673125, 0x8ae3f91d422447eb, | ||
| 1208 | 0x18da2f101a9e9776, 0x77a1197fb0441007, | ||
| 1209 | 0x4ba480c8ec2dd10b, 0xeb99b9c0a1725278, | ||
| 1210 | 0xd9d0acc5084ecdf0, 0xa0a23317fff4f515, | ||
| 1211 | 0x0901c59a9a6a408b, 0x7c77ca72e25df033, | ||
| 1212 | }); | ||
| 1213 | |||
| 1214 | try testArgs(@Vector(3, i65), .{ -1 << 64, -1, 0 }); | ||
| 1215 | try testArgs(@Vector(3, u65), .{ 0, 1, 1 << 64 }); | ||
| 1216 | |||
| 1217 | try testArgs(@Vector(3, i127), .{ -1 << 126, -1, 0 }); | ||
| 1218 | try testArgs(@Vector(3, u127), .{ 0, 1, 1 << 126 }); | ||
| 1219 | |||
| 1220 | try testArgs(@Vector(3, i128), .{ -1 << 127, -1, 0 }); | ||
| 1221 | try testArgs(@Vector(1, i128), .{ | ||
| 1222 | -0x2b0b1462b44785f39d1b7d763ec7bdb2, | ||
| 1223 | }); | ||
| 1224 | try testArgs(@Vector(2, i128), .{ | ||
| 1225 | -0x2faebe898a6fe60fbc6aadc3623431b7, | ||
| 1226 | 0x5e596259e7b2588860d2b470ba751ace, | ||
| 1227 | }); | ||
| 1228 | try testArgs(@Vector(4, i128), .{ | ||
| 1229 | -0x624cb7e74cf789c06121809a3a5b51ba, | ||
| 1230 | 0x23af4553d4d64672795c2b949635426f, | ||
| 1231 | -0x0b598b1f94876757fb13f2198e902b13, | ||
| 1232 | 0x1daf732f50654d8211d464fda4fc030c, | ||
| 1233 | }); | ||
| 1234 | try testArgs(@Vector(8, i128), .{ | ||
| 1235 | -0x03c7df38daee9bc9a2c659a1a124ef10, | ||
| 1236 | 0x657a590c91905c4021c28b0d6e42304a, | ||
| 1237 | -0x3f5176206dadc974d10e6fcbd67f3d29, | ||
| 1238 | 0x066310ace384b1bc3549c71113b96b8a, | ||
| 1239 | -0x6c0201f66583206fcea7b7fe11889644, | ||
| 1240 | -0x5cc4d2a368002b380b25415be83f8218, | ||
| 1241 | 0x11156c91b97a6a93427009efebcb2c31, | ||
| 1242 | -0x4221b5249ed0686c2ff2d5cab9f1c362, | ||
| 1243 | }); | ||
| 1244 | |||
| 1245 | try testArgs(@Vector(3, u128), .{ 0, 1, 1 << 127 }); | ||
| 1246 | try testArgs(@Vector(1, u128), .{ | ||
| 1247 | 0x809f29e7fbafadc01145e1732590e7d9, | ||
| 1248 | }); | ||
| 1249 | try testArgs(@Vector(2, u128), .{ | ||
| 1250 | 0x5150ac3438aacd0d51132cc2723b2995, | ||
| 1251 | 0x151be9c47ad29cf719cf8358dd40165c, | ||
| 1252 | }); | ||
| 1253 | try testArgs(@Vector(4, u128), .{ | ||
| 1254 | 0x4bae22df929f2f7cb9bd84deaad3e7a8, | ||
| 1255 | 0x1ed46b2d6e1f3569f56b2ac33d8bc1cb, | ||
| 1256 | 0xae93ea459d2ccfd5fb794e6d5c31aabb, | ||
| 1257 | 0xb1177136acf099f550b70949ac202ec4, | ||
| 1258 | }); | ||
| 1259 | try testArgs(@Vector(8, u128), .{ | ||
| 1260 | 0x7cd78db6baed6bfdf8c5265136c4e0fd, | ||
| 1261 | 0xa41b8984c6bbde84640068194b7eba98, | ||
| 1262 | 0xd33102778f2ae1a48d1e9bf8801bbbf0, | ||
| 1263 | 0x0d59f6de003513a60055c86cbce2c200, | ||
| 1264 | 0x825579d90012afddfbf04851c0748561, | ||
| 1265 | 0xc2647c885e9d6f0ee1f5fac5da8ef7f5, | ||
| 1266 | 0xcb4bbc1f81aa8ee68aa4dc140745687b, | ||
| 1267 | 0x4ff10f914f74b46c694407f5bf7c7836, | ||
| 1268 | }); | ||
| 1269 | |||
| 1270 | try testArgs(@Vector(3, i129), .{ -1 << 128, -1, 0 }); | ||
| 1271 | try testArgs(@Vector(3, u129), .{ 0, 1, 1 << 128 }); | ||
| 1272 | |||
| 1273 | try testArgs(@Vector(3, i191), .{ -1 << 190, -1, 0 }); | ||
| 1274 | try testArgs(@Vector(3, u191), .{ 0, 1, 1 << 190 }); | ||
| 1275 | |||
| 1276 | try testArgs(@Vector(3, i192), .{ -1 << 191, -1, 0 }); | ||
| 1277 | try testArgs(@Vector(1, i192), .{ | ||
| 1278 | 0x0206223e53631dfaf431066cf5ac30dd203bb8c7baa0cec7, | ||
| 1279 | }); | ||
| 1280 | try testArgs(@Vector(2, i192), .{ | ||
| 1281 | 0x187a65fa29d1981dacf927e6a8e435481cfdcba6b63b781b, | ||
| 1282 | -0x0f53cb01d7662de0d19fa0b250e5bbc6edf7d3dd152f0dc3, | ||
| 1283 | }); | ||
| 1284 | try testArgs(@Vector(4, i192), .{ | ||
| 1285 | -0x3a456cd0eab663b34d5b6ad15933a31623aacb913adb8e41, | ||
| 1286 | -0x03376d57e9c495ac4ea623e1bf427ae22dcef26e4833da33, | ||
| 1287 | -0x28a90cfee819450e3000f3f2694a7dba2c02311996e01073, | ||
| 1288 | 0x46c6cae4281780acd6a0322c3f4f8b63c3741da31b20a3cd, | ||
| 1289 | }); | ||
| 1290 | |||
| 1291 | try testArgs(@Vector(3, u192), .{ 0, 1, 1 << 191 }); | ||
| 1292 | try testArgs(@Vector(1, u192), .{ | ||
| 1293 | 0xe7baafcb9781626a77571b0539b9471a60c97d6c02106c8b, | ||
| 1294 | }); | ||
| 1295 | try testArgs(@Vector(2, u192), .{ | ||
| 1296 | 0xbc9510913ed09e2c2aa50ffab9f1bc7b303a87f36e232a83, | ||
| 1297 | 0x1f37bee446d7712d1ad457c47a66812cb926198d052aee65, | ||
| 1298 | }); | ||
| 1299 | try testArgs(@Vector(4, u192), .{ | ||
| 1300 | 0xdca6a7cfc19c69efc34022062a8ca36f2569ab3dce001202, | ||
| 1301 | 0xd25a4529e621c9084181fdb6917c6a32eccc58b63601b35d, | ||
| 1302 | 0x0a258afd6debbaf8c158f1caa61fed63b31871d13f51b43d, | ||
| 1303 | 0x6b40a178674fcb82c623ac322f851623d5e993dac97a219a, | ||
| 1304 | }); | ||
| 1305 | |||
| 1306 | try testArgs(@Vector(3, i193), .{ -1 << 192, -1, 0 }); | ||
| 1307 | try testArgs(@Vector(3, u193), .{ 0, 1, 1 << 192 }); | ||
| 1308 | |||
| 1309 | try testArgs(@Vector(3, i255), .{ -1 << 254, -1, 0 }); | ||
| 1310 | try testArgs(@Vector(3, u255), .{ 0, 1, 1 << 254 }); | ||
| 1311 | |||
| 1312 | try testArgs(@Vector(3, i256), .{ -1 << 255, -1, 0 }); | ||
| 1313 | try testArgs(@Vector(1, i256), .{ | ||
| 1314 | 0x59a12bff854679d9b3c6d1d195333d9f748dd1e2a7ad28f24f611a208bf91ed3, | ||
| 1315 | }); | ||
| 1316 | try testArgs(@Vector(2, i256), .{ | ||
| 1317 | 0x6b266e98bd5e7e66ba90f2e1cb2ff555ac755efdbe0946313660c58b46c589bb, | ||
| 1318 | -0x4ab426d26f53253ae3b2fb412d9649fc8071db22605e528f918b9a3ee9d2a832, | ||
| 1319 | }); | ||
| 1320 | try testArgs(@Vector(4, i256), .{ | ||
| 1321 | -0x3a64f67fddd0859c0f3b063fc12b13b1865447b87d1740de51358421f50553b5, | ||
| 1322 | -0x7c364fc0218f1cab29425b1a4c9cbdbf0c676375bee8079b135ce40de3557c0b, | ||
| 1323 | 0x368d25dc3eab1b00decd18679b29b7f4d95314161bd3ee687f2896e8cd525311, | ||
| 1324 | -0x6d9aacd172a363bf2d53ea497c289fd35e62c2484329c208e10a91b4cea88111, | ||
| 1325 | }); | ||
| 1326 | |||
| 1327 | try testArgs(@Vector(3, u256), .{ 0, 1, 1 << 255 }); | ||
| 1328 | try testArgs(@Vector(1, u256), .{ | ||
| 1329 | 0x230413bb481fa3a997796acf282010c560d1942e7339fd584a0f15a90c83fbda, | ||
| 1330 | }); | ||
| 1331 | try testArgs(@Vector(2, u256), .{ | ||
| 1332 | 0x3ad569f8d91fdbc9da8ec0e933565919f2feb90b996c90c352b461aa0908e62d, | ||
| 1333 | 0x0f109696d64647983f1f757042515510729ad1350e862cbf38cb73b5cf99f0f7, | ||
| 1334 | }); | ||
| 1335 | try testArgs(@Vector(4, u256), .{ | ||
| 1336 | 0x1717c6ded4ac6de282d59f75f068da47d5a47a30f2c5053d2d59e715f9d28b97, | ||
| 1337 | 0x3087189ce7540e2e0028b80af571ebc6353a00b2917f243a869ed29ecca0adaa, | ||
| 1338 | 0x1507c6a9d104684bf503cdb08841cf91adab4644306bd67aafff5326604833ce, | ||
| 1339 | 0x857e134ff9179733c871295b25f824bd3eb562977bad30890964fa0cdc15bb07, | ||
| 1340 | }); | ||
| 1341 | |||
| 1342 | try testArgs(@Vector(3, i257), .{ -1 << 256, -1, 0 }); | ||
| 1343 | try testArgs(@Vector(3, u257), .{ 0, 1, 1 << 256 }); | ||
| 1344 | |||
| 1345 | try testArgs(@Vector(3, i511), .{ -1 << 510, -1, 0 }); | ||
| 1346 | try testArgs(@Vector(3, u511), .{ 0, 1, 1 << 510 }); | ||
| 1347 | |||
| 1348 | try testArgs(@Vector(3, i512), .{ -1 << 511, -1, 0 }); | ||
| 1349 | try testArgs(@Vector(1, i512), .{ | ||
| 1350 | -0x235b5d838cdf67b9eb6d7eeb518fb63cff402a74c687927feb363b5040556b8d32c55e565cc2fe33cb4dcc37e8fd1c92989522c11b6c186d11400d17e40d35b5, | ||
| 1351 | }); | ||
| 1352 | try testArgs(@Vector(2, i512), .{ | ||
| 1353 | -0x5f5ff44fec38adc4c9c8bc8de00acf01fcc62bc55d07033f4e788d4f3825382e1e39f6bd69dff328eec9a89486ebaaaffd9ab69d28eb7d952be4ef250cff6de1, | ||
| 1354 | -0x403e0fd866e1598ad928ecd234005debd527483375f5e7e79eee3a129868354acb5b74e42de9f297f81062d04ea41adc158e542ab04770dd039d527cffb81845, | ||
| 1355 | }); | ||
| 1356 | |||
| 1357 | try testArgs(@Vector(3, u512), .{ 0, 1, 1 << 511 }); | ||
| 1358 | try testArgs(@Vector(1, u512), .{ | ||
| 1359 | 0xa3ff51a609f1370e5eeb96b05169bf7469e465cf76ac5b4ea8ffd166c1ba3cd94f2dedf0d647a1fe424f3a06e6d7940f03e257f28100970b00bd5528c52b9ae6, | ||
| 1360 | }); | ||
| 1361 | try testArgs(@Vector(2, u512), .{ | ||
| 1362 | 0xc6d43cd46ae31ab71f9468a895c83bf17516c6b2f1c9b04b9aa113bf7fe1b789eb7d95fcf951f12a9a6f2124589551efdd8c00f528b366a7bfb852faf8f3da53, | ||
| 1363 | 0xc9099d2bdf8d1a0d30485ec6db4a24cbc0d89a863de30e18313ee1d66f71dd2d26235caaa703286cf4a2b51e1a12ef96d2d944c66c0bd3f0d72dd4cf0fc8100e, | ||
| 1364 | }); | ||
| 1365 | |||
| 1366 | try testArgs(@Vector(3, i513), .{ -1 << 512, -1, 0 }); | ||
| 1367 | try testArgs(@Vector(3, u513), .{ 0, 1, 1 << 512 }); | ||
| 1368 | |||
| 1369 | try testArgs(@Vector(3, i1023), .{ -1 << 1022, -1, 0 }); | ||
| 1370 | try testArgs(@Vector(3, u1023), .{ 0, 1, 1 << 1022 }); | ||
| 1371 | |||
| 1372 | try testArgs(@Vector(3, i1024), .{ -1 << 1023, -1, 0 }); | ||
| 1373 | try testArgs(@Vector(1, i1024), .{ | ||
| 1374 | 0x10eee350e115375812126750b24255ca76fdee619b64261c354af58bd4a29af6e2448ccda4d84e1b2fbf76d3710cf1b5e62b1360c3b63e104d0755fa264d6c171f8f7a3292d7859b08a5dff60e9ad8ba9dcdd7e6098eb70be7a27a0cbcc6480661330c21299b2960fac954ee4480f3a2cc1ca5a492e1e75084c079ba701cd7ab, | ||
| 1375 | }); | ||
| 1376 | |||
| 1377 | try testArgs(@Vector(3, u1024), .{ 0, 1, 1 << 1023 }); | ||
| 1378 | try testArgs(@Vector(1, u1024), .{ | ||
| 1379 | 0xc6cfaa6571139552e1f067402dfc131d9b9a58aafda97198a78764b05138fb68cf26f085b7652f3d5ae0e56aa21732f296a581bb411d4a73795c213de793489fa49b173b9f5c089aa6295ff1fcdc14d491a05035b45d08fc35cd67a83d887a02b8db512f07518132e0ba56533c7d6fbe958255eddf5649bd8aba288c0dd84a25, | ||
| 1380 | }); | ||
| 1381 | |||
| 1382 | try testArgs(@Vector(3, i1025), .{ -1 << 1024, -1, 0 }); | ||
| 1383 | try testArgs(@Vector(3, u1025), .{ 0, 1, 1 << 1024 }); | ||
| 1384 | } | ||
| 1385 | fn testFloatVectorTypes() !void { | ||
| 1386 | try testArgs(@Vector(1, f16), undefined); | ||
| 1387 | try testArgs(@Vector(2, f16), undefined); | ||
| 1388 | try testArgs(@Vector(4, f16), undefined); | ||
| 1389 | try testArgs(@Vector(8, f16), undefined); | ||
| 1390 | try testArgs(@Vector(16, f16), undefined); | ||
| 1391 | try testArgs(@Vector(32, f16), undefined); | ||
| 1392 | try testArgs(@Vector(64, f16), undefined); | ||
| 1393 | |||
| 1394 | try testArgs(@Vector(1, f32), undefined); | ||
| 1395 | try testArgs(@Vector(2, f32), undefined); | ||
| 1396 | try testArgs(@Vector(4, f32), undefined); | ||
| 1397 | try testArgs(@Vector(8, f32), undefined); | ||
| 1398 | try testArgs(@Vector(16, f32), undefined); | ||
| 1399 | try testArgs(@Vector(32, f32), undefined); | ||
| 1400 | |||
| 1401 | try testArgs(@Vector(1, f64), undefined); | ||
| 1402 | try testArgs(@Vector(2, f64), undefined); | ||
| 1403 | try testArgs(@Vector(4, f64), undefined); | ||
| 1404 | try testArgs(@Vector(8, f64), undefined); | ||
| 1405 | try testArgs(@Vector(16, f64), undefined); | ||
| 1406 | |||
| 1407 | try testArgs(@Vector(1, f80), undefined); | ||
| 1408 | try testArgs(@Vector(2, f80), undefined); | ||
| 1409 | try testArgs(@Vector(4, f80), undefined); | ||
| 1410 | try testArgs(@Vector(8, f80), undefined); | ||
| 1411 | |||
| 1412 | try testArgs(@Vector(1, f128), undefined); | ||
| 1413 | try testArgs(@Vector(2, f128), undefined); | ||
| 1414 | try testArgs(@Vector(4, f128), undefined); | ||
| 1415 | try testArgs(@Vector(8, f128), undefined); | ||
| 1416 | } | ||
| 1417 | fn testFloatVectors() !void { | ||
| 1418 | try testArgs(@Vector(1, f16), .{ | ||
| 1419 | -0x1.17cp-12, | ||
| 1420 | }); | ||
| 1421 | try testArgs(@Vector(2, f16), .{ | ||
| 1422 | 0x1.47cp9, 0x1.3acp9, | ||
| 1423 | }); | ||
| 1424 | try testArgs(@Vector(4, f16), .{ | ||
| 1425 | 0x1.ab4p0, -0x1.7fcp-7, -0x1.1cp0, -0x1.f14p12, | ||
| 1426 | }); | ||
| 1427 | try testArgs(@Vector(8, f16), .{ | ||
| 1428 | -0x1.8d8p8, 0x1.83p10, -0x1.5ap-1, -0x1.d78p13, -0x1.608p12, 0x1.e8p-9, -0x1.688p-10, -0x1.738p9, | ||
| 1429 | }); | ||
| 1430 | try testArgs(@Vector(16, f16), .{ | ||
| 1431 | 0x1.da8p-1, -0x1.ed4p-10, -0x1.dc8p1, 0x1.b78p-14, nan(f16), 0x1.9d8p8, nan(f16), 0x1.d5p13, | ||
| 1432 | -0x1.2dp13, 0x1.6c4p12, 0x1.a9cp-11, -0x1.0ecp8, 0x0.4ccp-14, -0x1.0a8p-6, -0x1.5bcp-14, 0x1.6d8p-9, | ||
| 1433 | }); | ||
| 1434 | try testArgs(@Vector(32, f16), .{ | ||
| 1435 | 0x1.d5cp-6, -0x1.a98p5, 0x1.49cp5, -0x1.e4p-1, -0x1.21p-13, -0x1.c94p-1, -0x1.adcp-5, -0x1.524p-1, | ||
| 1436 | -0x1.0d8p-3, -0x1.5c4p-2, 0x1.f84p-2, 0x1.664p1, -0x1.f64p13, -0x1.bf4p4, -0x1.4b8p0, -0x0.f64p-14, | ||
| 1437 | -0x1.3f8p1, 0x1.098p2, -0x1.a44p8, 0x1.048p13, 0x1.fd4p-11, 0x1.18p-9, -0x1.504p2, 0x1.d04p7, | ||
| 1438 | -nan(f16), 0x1.a94p2, 0x0.5e8p-14, -0x1.7acp-7, 0x1.4c8p-3, 0x1.518p-4, nan(f16), 0x1.8f8p10, | ||
| 1439 | }); | ||
| 1440 | try testArgs(@Vector(64, f16), .{ | ||
| 1441 | -0x1.c2p2, 0x0.2fcp-14, 0x1.de8p0, -0x1.714p2, 0x1.f9p-7, -0x1.11cp-13, -0x1.558p10, -0x1.2acp-7, | ||
| 1442 | 0x1.348p14, 0x1.2dcp7, -0x1.8acp-12, -0x1.2cp2, 0x1.868p1, -0x1.1f8p-14, 0x1.638p7, -0x1.734p-5, | ||
| 1443 | 0x0.b98p-14, -0x1.7f4p-12, -0x1.38cp15, 0x1.50cp15, 0x1.91cp8, 0x1.cb4p-1, 0x1.fc4p-13, 0x1.9a4p0, | ||
| 1444 | 0x1.18p-4, 0x1.60cp10, 0x1.6fp-12, 0x1.b48p6, 0x1.37cp-11, 0x1.424p7, 0x1.44cp13, 0x1.aep5, | ||
| 1445 | 0x1.968p14, 0x1.e8p13, -0x1.bp2, -0x1.644p5, 0x1.de4p-8, -0x1.5b4p-14, -0x1.4ap1, -0x1.868p9, | ||
| 1446 | -0x1.d14p0, 0x1.d7cp15, 0x1.3c8p14, 0x1.2ccp-14, -0x1.ee4p8, 0x1.49p-3, 0x1.35cp12, 0x1.d34p6, | ||
| 1447 | 0x1.7acp3, -0x1.fa4p2, 0x1.7b4p13, -0x1.cf4p-12, -0x1.ebcp-10, -0x1.5p-3, 0x1.4bp-6, 0x1.83p12, | ||
| 1448 | -0x1.f9cp-8, -0x1.43p-8, -0x1.99p-1, -0x1.dacp3, -0x1.728p-4, -0x1.03cp4, 0x1.604p-2, -0x1.0ep13, | ||
| 1449 | }); | ||
| 1450 | |||
| 1451 | try testArgs(@Vector(1, f32), .{ | ||
| 1452 | -0x1.17cp-12, | ||
| 1453 | }); | ||
| 1454 | try testArgs(@Vector(2, f32), .{ | ||
| 1455 | -0x1.a3123ap90, -0x1.4a2ec6p-54, | ||
| 1456 | }); | ||
| 1457 | try testArgs(@Vector(4, f32), .{ | ||
| 1458 | -0x1.8a41p77, -0x1.7c54e2p-61, -0x1.498556p-41, 0x1.d77c22p-20, | ||
| 1459 | }); | ||
| 1460 | try testArgs(@Vector(8, f32), .{ | ||
| 1461 | 0x1.943da4p-86, 0x1.528792p95, -0x1.9c9bfap-26, -0x1.8df936p-90, | ||
| 1462 | -0x1.6a70cep56, 0x1.626638p-48, 0x1.7bb2bap-57, -0x1.ac5104p94, | ||
| 1463 | }); | ||
| 1464 | try testArgs(@Vector(16, f32), .{ | ||
| 1465 | 0x1.157044p115, -0x1.416c04p-111, 0x1.a8f164p-104, 0x1.9b6678p84, | ||
| 1466 | -0x1.9d065cp9, -0x1.e8c4b4p126, -0x1.ddb968p84, -0x1.fec8c8p74, | ||
| 1467 | 0x1.64ffb2p59, 0x1.548922p20, 0x1.7270fcp22, -0x1.abac68p33, | ||
| 1468 | 0x1.faabfp33, -0x1.8aee82p55, 0x1.1bf8fp75, 0x1.33c46ap-66, | ||
| 1469 | }); | ||
| 1470 | try testArgs(@Vector(32, f32), .{ | ||
| 1471 | -0x1.039b68p37, -0x1.34de4ap-74, -0x1.05d78ap-76, -0x1.be0f5ap-47, | ||
| 1472 | 0x1.032204p-38, 0x1.ef8e2ap-78, -0x1.b013ecp-80, 0x1.71fe4cp99, | ||
| 1473 | 0x1.abdadap-14, 0x1.56a9a8p-48, -0x1.8bbd7ep9, 0x1.edd308p-72, | ||
| 1474 | -0x1.92fafcp-121, -0x1.50812p19, 0x1.f4ddc4p28, -0x1.6f0b12p-50, | ||
| 1475 | -0x1.12ab02p127, 0x1.24df48p21, -0x1.993c3p-14, -0x1.4cc476p-112, | ||
| 1476 | 0x1.13d9a8p-40, 0x1.a6e652p-9, -0x1.9c730cp-21, -0x1.a75aaap-70, | ||
| 1477 | -0x1.39e632p-111, 0x1.8e8da8p-45, 0x1.b5652cp31, 0x1.258366p44, | ||
| 1478 | 0x1.d473aap92, -0x1.951b64p9, 0x1.542edp15, -0x0.f6222ap-126, | ||
| 1479 | }); | ||
| 1480 | |||
| 1481 | try testArgs(@Vector(1, f64), .{ | ||
| 1482 | -0x1.0114613df6f97p816, | ||
| 1483 | }); | ||
| 1484 | try testArgs(@Vector(2, f64), .{ | ||
| 1485 | -0x1.8404dad72003cp720, -0x1.6b14b40bcf3b7p-176, | ||
| 1486 | }); | ||
| 1487 | try testArgs(@Vector(4, f64), .{ | ||
| 1488 | -0x1.04e1acbfddd9cp681, -0x1.ed553cc056da7p-749, | ||
| 1489 | 0x1.3d3f703a0c893p-905, 0x1.0b35633fa78fp691, | ||
| 1490 | }); | ||
| 1491 | try testArgs(@Vector(8, f64), .{ | ||
| 1492 | -0x1.901a2a60f0562p-301, -0x1.2516175ad61ecp-447, | ||
| 1493 | 0x1.e7b12124846bfp564, 0x1.9291384bd7259p209, | ||
| 1494 | -0x1.a7bf62f803c98p900, 0x1.4e2e26257bb3p987, | ||
| 1495 | -0x1.413ca9a32d894p811, 0x1.61b1dd9432e95p479, | ||
| 1496 | }); | ||
| 1497 | try testArgs(@Vector(16, f64), .{ | ||
| 1498 | -0x1.8fc7286d95f54p-235, -0x1.796a7ea8372b6p-837, | ||
| 1499 | -0x1.8c0f930539acbp-98, -0x1.ec80dfbf0b931p-430, | ||
| 1500 | -0x1.e3d80c640652fp-1019, 0x1.8241238fb542fp161, | ||
| 1501 | -0x1.e1f1a79d50263p137, -0x1.9ac5cb2771c28p-791, | ||
| 1502 | 0x1.4d8f00fe881e7p-401, -0x1.87fbd7bfd99d7p346, | ||
| 1503 | -0x1.a8a7cc575335ep1017, 0x1.37bb88dc3fd8bp-355, | ||
| 1504 | 0x1.9d53d346c0e65p929, -0x1.bbae3d0229c34p289, | ||
| 1505 | -0x1.cb8ef994d5ce5p25, 0x1.ba20af512616ap50, | ||
| 1506 | }); | ||
| 1507 | |||
| 1508 | try testArgs(@Vector(1, f80), .{ | ||
| 1509 | -0x1.a2e9410a7dfedabp-2324, | ||
| 1510 | }); | ||
| 1511 | try testArgs(@Vector(2, f80), .{ | ||
| 1512 | -0x1.a2e9410a7dfedabp-2324, | ||
| 1513 | 0x1.2b17da3b9746885p-8665, | ||
| 1514 | }); | ||
| 1515 | try testArgs(@Vector(4, f80), .{ | ||
| 1516 | -0x1.c488fedb7ab646cep-13007, | ||
| 1517 | 0x1.e914deaccaa50016p2073, | ||
| 1518 | -0x1.d1c7ae8ec3c9df86p10642, | ||
| 1519 | -0x1.2da1658f337fa01p9893, | ||
| 1520 | }); | ||
| 1521 | try testArgs(@Vector(8, f80), .{ | ||
| 1522 | -0x1.bed8a74c43750656p890, | ||
| 1523 | -0x1.7bf57f38004ac976p8481, | ||
| 1524 | -0x1.9cdc10ac0657d328p7884, | ||
| 1525 | 0x1.c86f61883da149fp12293, | ||
| 1526 | -0x1.528d6957df6bfdd8p14125, | ||
| 1527 | -0x1.5ebb4006d0243bfep14530, | ||
| 1528 | -0x1.94b9b18636d12402p-1845, | ||
| 1529 | -0x1.25439a6d68add188p5962, | ||
| 1530 | }); | ||
| 1531 | |||
| 1532 | try testArgs(@Vector(1, f128), .{ | ||
| 1533 | -0x1.d1e6fc3b1e66632e7b79051a47dap14300, | ||
| 1534 | }); | ||
| 1535 | try testArgs(@Vector(2, f128), .{ | ||
| 1536 | 0x1.84b3ac8ffe5893b2c6af8d68de9dp-83, | ||
| 1537 | -0x1.438ca2c8a0d8e3ee9062d351c46ep-10235, | ||
| 1538 | }); | ||
| 1539 | try testArgs(@Vector(4, f128), .{ | ||
| 1540 | 0x1.04eb03882d4fd1b090e714d3e5ep806, | ||
| 1541 | -0x1.4082b29f7c26e701764c915642ffp-6182, | ||
| 1542 | -0x1.b6f1e8565e5040415110f18b519ap13383, | ||
| 1543 | 0x1.1c29f8c162cead9061c5797ea15ap11957, | ||
| 1544 | }); | ||
| 1545 | try testArgs(@Vector(8, f128), .{ | ||
| 1546 | -0x1.53d7f00cd204d80e5ff5bb665773p11218, | ||
| 1547 | -0x1.4daa1c81cffe28e8fa5cd703c287p2362, | ||
| 1548 | -0x1.cc6a71c3ad4560871efdbd025cd7p-8116, | ||
| 1549 | -0x1.87f8553cf8772fb6b78e7df3e3bap14523, | ||
| 1550 | -0x1.14b6880f6678f86dfb543dde1c6ep2105, | ||
| 1551 | 0x1.9d2d4398414da9d857e76e8fd7ccp-13668, | ||
| 1552 | 0x1.a37f07af240ded458d103c022064p-1158, | ||
| 1553 | 0x1.425d53e6bd6070b847e5da1ed593p1394, | ||
| 1554 | }); | ||
| 1555 | } | ||
| 1556 | }; | ||
| 1557 | } | ||
| 1558 | |||
| 1559 | inline fn bitNot(comptime Type: type, rhs: Type) @TypeOf(~rhs) { | ||
| 1560 | return ~rhs; | ||
| 1561 | } | ||
| 1562 | test bitNot { | ||
| 1563 | const test_bit_not = unary(bitNot, .{}); | ||
| 1564 | try test_bit_not.testInts(); | ||
| 1565 | try test_bit_not.testIntVectors(); | ||
| 1566 | } | ||
| 1567 | |||
| 1568 | inline fn clz(comptime Type: type, rhs: Type) @TypeOf(@clz(rhs)) { | ||
| 1569 | return @clz(rhs); | ||
| 1570 | } | ||
| 1571 | test clz { | ||
| 1572 | const test_clz = unary(clz, .{}); | ||
| 1573 | try test_clz.testInts(); | ||
| 1574 | try test_clz.testIntVectors(); | ||
| 1575 | } | ||
| 1576 | |||
| 1577 | inline fn ctz(comptime Type: type, rhs: Type) @TypeOf(@ctz(rhs)) { | ||
| 1578 | return @ctz(rhs); | ||
| 1579 | } | ||
| 1580 | test ctz { | ||
| 1581 | const test_ctz = unary(ctz, .{}); | ||
| 1582 | try test_ctz.testInts(); | ||
| 1583 | } | ||
| 1584 | |||
| 1585 | inline fn popCount(comptime Type: type, rhs: Type) @TypeOf(@popCount(rhs)) { | ||
| 1586 | return @popCount(rhs); | ||
| 1587 | } | ||
| 1588 | test popCount { | ||
| 1589 | const test_pop_count = unary(popCount, .{}); | ||
| 1590 | try test_pop_count.testInts(); | ||
| 1591 | } | ||
| 1592 | |||
| 1593 | inline fn byteSwap(comptime Type: type, rhs: Type) RoundBitsUp(Type, 8) { | ||
| 1594 | return @byteSwap(@as(RoundBitsUp(Type, 8), rhs)); | ||
| 1595 | } | ||
| 1596 | test byteSwap { | ||
| 1597 | const test_byte_swap = unary(byteSwap, .{}); | ||
| 1598 | try test_byte_swap.testInts(); | ||
| 1599 | } | ||
| 1600 | |||
| 1601 | inline fn bitReverse(comptime Type: type, rhs: Type) @TypeOf(@bitReverse(rhs)) { | ||
| 1602 | return @bitReverse(rhs); | ||
| 1603 | } | ||
| 1604 | test bitReverse { | ||
| 1605 | const test_bit_reverse = unary(bitReverse, .{}); | ||
| 1606 | try test_bit_reverse.testInts(); | ||
| 1607 | } | ||
| 1608 | |||
| 1609 | inline fn sqrt(comptime Type: type, rhs: Type) @TypeOf(@sqrt(rhs)) { | ||
| 1610 | return @sqrt(rhs); | ||
| 1611 | } | ||
| 1612 | test sqrt { | ||
| 1613 | const test_sqrt = unary(sqrt, .{ .libc_name = "sqrt", .compare = .approx }); | ||
| 1614 | try test_sqrt.testFloats(); | ||
| 1615 | try test_sqrt.testFloatVectors(); | ||
| 1616 | } | ||
| 1617 | |||
| 1618 | inline fn sin(comptime Type: type, rhs: Type) @TypeOf(@sin(rhs)) { | ||
| 1619 | return @sin(rhs); | ||
| 1620 | } | ||
| 1621 | test sin { | ||
| 1622 | const test_sin = unary(sin, .{ .libc_name = "sin", .compare = .strict }); | ||
| 1623 | try test_sin.testFloats(); | ||
| 1624 | try test_sin.testFloatVectors(); | ||
| 1625 | } | ||
| 1626 | |||
| 1627 | inline fn cos(comptime Type: type, rhs: Type) @TypeOf(@cos(rhs)) { | ||
| 1628 | return @cos(rhs); | ||
| 1629 | } | ||
| 1630 | test cos { | ||
| 1631 | const test_cos = unary(cos, .{ .libc_name = "cos", .compare = .strict }); | ||
| 1632 | try test_cos.testFloats(); | ||
| 1633 | try test_cos.testFloatVectors(); | ||
| 1634 | } | ||
| 1635 | |||
| 1636 | inline fn tan(comptime Type: type, rhs: Type) @TypeOf(@tan(rhs)) { | ||
| 1637 | return @tan(rhs); | ||
| 1638 | } | ||
| 1639 | test tan { | ||
| 1640 | const test_tan = unary(tan, .{ .libc_name = "tan", .compare = .strict }); | ||
| 1641 | try test_tan.testFloats(); | ||
| 1642 | try test_tan.testFloatVectors(); | ||
| 1643 | } | ||
| 1644 | |||
| 1645 | inline fn exp(comptime Type: type, rhs: Type) @TypeOf(@exp(rhs)) { | ||
| 1646 | return @exp(rhs); | ||
| 1647 | } | ||
| 1648 | test exp { | ||
| 1649 | const test_exp = unary(exp, .{ .libc_name = "exp", .compare = .strict }); | ||
| 1650 | try test_exp.testFloats(); | ||
| 1651 | try test_exp.testFloatVectors(); | ||
| 1652 | } | ||
| 1653 | |||
| 1654 | inline fn exp2(comptime Type: type, rhs: Type) @TypeOf(@exp2(rhs)) { | ||
| 1655 | return @exp2(rhs); | ||
| 1656 | } | ||
| 1657 | test exp2 { | ||
| 1658 | const test_exp2 = unary(exp2, .{ .libc_name = "exp2", .compare = .strict }); | ||
| 1659 | try test_exp2.testFloats(); | ||
| 1660 | try test_exp2.testFloatVectors(); | ||
| 1661 | } | ||
| 1662 | |||
| 1663 | inline fn log(comptime Type: type, rhs: Type) @TypeOf(@log(rhs)) { | ||
| 1664 | return @log(rhs); | ||
| 1665 | } | ||
| 1666 | test log { | ||
| 1667 | const test_log = unary(log, .{ .libc_name = "log", .compare = .strict }); | ||
| 1668 | try test_log.testFloats(); | ||
| 1669 | try test_log.testFloatVectors(); | ||
| 1670 | } | ||
| 1671 | |||
| 1672 | inline fn log2(comptime Type: type, rhs: Type) @TypeOf(@log2(rhs)) { | ||
| 1673 | return @log2(rhs); | ||
| 1674 | } | ||
| 1675 | test log2 { | ||
| 1676 | const test_log2 = unary(log2, .{ .libc_name = "log2", .compare = .strict }); | ||
| 1677 | try test_log2.testFloats(); | ||
| 1678 | try test_log2.testFloatVectors(); | ||
| 1679 | } | ||
| 1680 | |||
| 1681 | inline fn log10(comptime Type: type, rhs: Type) @TypeOf(@log10(rhs)) { | ||
| 1682 | return @log10(rhs); | ||
| 1683 | } | ||
| 1684 | test log10 { | ||
| 1685 | const test_log10 = unary(log10, .{ .libc_name = "log10", .compare = .strict }); | ||
| 1686 | try test_log10.testFloats(); | ||
| 1687 | try test_log10.testFloatVectors(); | ||
| 1688 | } | ||
| 1689 | |||
| 1690 | inline fn abs(comptime Type: type, rhs: Type) @TypeOf(@abs(rhs)) { | ||
| 1691 | return @abs(rhs); | ||
| 1692 | } | ||
| 1693 | test abs { | ||
| 1694 | const test_abs = unary(abs, .{ .compare = .strict }); | ||
| 1695 | try test_abs.testInts(); | ||
| 1696 | try test_abs.testIntVectors(); | ||
| 1697 | try test_abs.testFloats(); | ||
| 1698 | try test_abs.testFloatVectors(); | ||
| 1699 | } | ||
| 1700 | |||
| 1701 | inline fn floor(comptime Type: type, rhs: Type) @TypeOf(@floor(rhs)) { | ||
| 1702 | return @floor(rhs); | ||
| 1703 | } | ||
| 1704 | test floor { | ||
| 1705 | const test_floor = unary(floor, .{ .libc_name = "floor", .compare = .strict }); | ||
| 1706 | try test_floor.testFloats(); | ||
| 1707 | try test_floor.testFloatVectors(); | ||
| 1708 | } | ||
| 1709 | |||
| 1710 | inline fn ceil(comptime Type: type, rhs: Type) @TypeOf(@ceil(rhs)) { | ||
| 1711 | return @ceil(rhs); | ||
| 1712 | } | ||
| 1713 | test ceil { | ||
| 1714 | const test_ceil = unary(ceil, .{ .libc_name = "ceil", .compare = .strict }); | ||
| 1715 | try test_ceil.testFloats(); | ||
| 1716 | try test_ceil.testFloatVectors(); | ||
| 1717 | } | ||
| 1718 | |||
| 1719 | inline fn round(comptime Type: type, rhs: Type) @TypeOf(@round(rhs)) { | ||
| 1720 | return @round(rhs); | ||
| 1721 | } | ||
| 1722 | test round { | ||
| 1723 | const test_round = unary(round, .{ .libc_name = "round", .compare = .strict }); | ||
| 1724 | try test_round.testFloats(); | ||
| 1725 | try test_round.testFloatVectors(); | ||
| 1726 | } | ||
| 1727 | |||
| 1728 | inline fn trunc(comptime Type: type, rhs: Type) @TypeOf(@trunc(rhs)) { | ||
| 1729 | return @trunc(rhs); | ||
| 1730 | } | ||
| 1731 | test trunc { | ||
| 1732 | const test_trunc = unary(trunc, .{ .libc_name = "trunc", .compare = .strict }); | ||
| 1733 | try test_trunc.testFloats(); | ||
| 1734 | try test_trunc.testFloatVectors(); | ||
| 1735 | } | ||
| 1736 | |||
| 1737 | inline fn negate(comptime Type: type, rhs: Type) @TypeOf(-rhs) { | ||
| 1738 | return -rhs; | ||
| 1739 | } | ||
| 1740 | test negate { | ||
| 1741 | const test_negate = unary(negate, .{ .compare = .strict }); | ||
| 1742 | try test_negate.testFloats(); | ||
| 1743 | try test_negate.testFloatVectors(); | ||
| 1744 | } | ||
| 1745 | |||
| 1746 | inline fn nullIsNull(comptime Type: type, _: Type) bool { | ||
| 1747 | return runtime(?Type, null) == null; | ||
| 1748 | } | ||
| 1749 | test nullIsNull { | ||
| 1750 | const test_null_is_null = unary(nullIsNull, .{}); | ||
| 1751 | try test_null_is_null.testIntTypes(); | ||
| 1752 | try test_null_is_null.testIntVectorTypes(); | ||
| 1753 | try test_null_is_null.testFloatTypes(); | ||
| 1754 | try test_null_is_null.testFloatVectorTypes(); | ||
| 1755 | } | ||
| 1756 | |||
| 1757 | inline fn nullIsNotNull(comptime Type: type, _: Type) bool { | ||
| 1758 | return runtime(?Type, null) != null; | ||
| 1759 | } | ||
| 1760 | test nullIsNotNull { | ||
| 1761 | const test_null_is_not_null = unary(nullIsNotNull, .{}); | ||
| 1762 | try test_null_is_not_null.testIntTypes(); | ||
| 1763 | try test_null_is_not_null.testIntVectorTypes(); | ||
| 1764 | try test_null_is_not_null.testFloatTypes(); | ||
| 1765 | try test_null_is_not_null.testFloatVectorTypes(); | ||
| 1766 | } | ||
| 1767 | |||
| 1768 | inline fn optionalIsNull(comptime Type: type, lhs: Type) bool { | ||
| 1769 | return @as(?Type, lhs) == null; | ||
| 1770 | } | ||
| 1771 | test optionalIsNull { | ||
| 1772 | const test_optional_is_null = unary(optionalIsNull, .{}); | ||
| 1773 | try test_optional_is_null.testInts(); | ||
| 1774 | try test_optional_is_null.testFloats(); | ||
| 1775 | } | ||
| 1776 | |||
| 1777 | inline fn optionalIsNotNull(comptime Type: type, lhs: Type) bool { | ||
| 1778 | return @as(?Type, lhs) != null; | ||
| 1779 | } | ||
| 1780 | test optionalIsNotNull { | ||
| 1781 | const test_optional_is_not_null = unary(optionalIsNotNull, .{}); | ||
| 1782 | try test_optional_is_not_null.testInts(); | ||
| 1783 | try test_optional_is_not_null.testFloats(); | ||
| 1784 | } | ||
| 1785 | |||
| 1786 | inline fn nullEqualNull(comptime Type: type, _: Type) bool { | ||
| 1787 | return runtime(?Type, null) == runtime(?Type, null); | ||
| 1788 | } | ||
| 1789 | test nullEqualNull { | ||
| 1790 | const test_null_equal_null = unary(nullEqualNull, .{}); | ||
| 1791 | try test_null_equal_null.testIntTypes(); | ||
| 1792 | try test_null_equal_null.testFloatTypes(); | ||
| 1793 | } | ||
| 1794 | |||
| 1795 | inline fn nullNotEqualNull(comptime Type: type, _: Type) bool { | ||
| 1796 | return runtime(?Type, null) != runtime(?Type, null); | ||
| 1797 | } | ||
| 1798 | test nullNotEqualNull { | ||
| 1799 | const test_null_not_equal_null = unary(nullNotEqualNull, .{}); | ||
| 1800 | try test_null_not_equal_null.testIntTypes(); | ||
| 1801 | try test_null_not_equal_null.testFloatTypes(); | ||
| 1802 | } | ||
| 1803 | |||
| 1804 | inline fn optionalEqualNull(comptime Type: type, lhs: Type) bool { | ||
| 1805 | return lhs == runtime(?Type, null); | ||
| 1806 | } | ||
| 1807 | test optionalEqualNull { | ||
| 1808 | const test_optional_equal_null = unary(optionalEqualNull, .{}); | ||
| 1809 | try test_optional_equal_null.testInts(); | ||
| 1810 | try test_optional_equal_null.testFloats(); | ||
| 1811 | } | ||
| 1812 | |||
| 1813 | inline fn optionalNotEqualNull(comptime Type: type, lhs: Type) bool { | ||
| 1814 | return lhs != runtime(?Type, null); | ||
| 1815 | } | ||
| 1816 | test optionalNotEqualNull { | ||
| 1817 | const test_optional_not_equal_null = unary(optionalIsNotNull, .{}); | ||
| 1818 | try test_optional_not_equal_null.testInts(); | ||
| 1819 | try test_optional_not_equal_null.testFloats(); | ||
| 1820 | } | ||
test/cases/compile_errors/@import_zon_bad_type.zig+3-3| ... | @@ -117,9 +117,9 @@ export fn testMutablePointer() void { | ... | @@ -117,9 +117,9 @@ export fn testMutablePointer() void { |
| 117 | // tmp.zig:37:38: note: imported here | 117 | // tmp.zig:37:38: note: imported here |
| 118 | // neg_inf.zon:1:1: error: expected type '?u8' | 118 | // neg_inf.zon:1:1: error: expected type '?u8' |
| 119 | // tmp.zig:57:28: note: imported here | 119 | // tmp.zig:57:28: note: imported here |
| 120 | // neg_inf.zon:1:1: error: expected type 'tmp.testNonExhaustiveEnum__enum_487' | 120 | // neg_inf.zon:1:1: error: expected type 'tmp.testNonExhaustiveEnum__enum_491' |
| 121 | // tmp.zig:62:39: note: imported here | 121 | // tmp.zig:62:39: note: imported here |
| 122 | // neg_inf.zon:1:1: error: expected type 'tmp.testUntaggedUnion__union_489' | 122 | // neg_inf.zon:1:1: error: expected type 'tmp.testUntaggedUnion__union_493' |
| 123 | // tmp.zig:67:44: note: imported here | 123 | // tmp.zig:67:44: note: imported here |
| 124 | // neg_inf.zon:1:1: error: expected type 'tmp.testTaggedUnionVoid__union_492' | 124 | // neg_inf.zon:1:1: error: expected type 'tmp.testTaggedUnionVoid__union_496' |
| 125 | // tmp.zig:72:50: note: imported here | 125 | // tmp.zig:72:50: note: imported here |
test/cases/compile_errors/anytype_param_requires_comptime.zig+1-1| ... | @@ -15,6 +15,6 @@ pub export fn entry() void { | ... | @@ -15,6 +15,6 @@ pub export fn entry() void { |
| 15 | // error | 15 | // error |
| 16 | // | 16 | // |
| 17 | // :7:25: error: unable to resolve comptime value | 17 | // :7:25: error: unable to resolve comptime value |
| 18 | // :7:25: note: initializer of comptime-only struct 'tmp.S.foo__anon_461.C' must be comptime-known | 18 | // :7:25: note: initializer of comptime-only struct 'tmp.S.foo__anon_465.C' must be comptime-known |
| 19 | // :4:16: note: struct requires comptime because of this field | 19 | // :4:16: note: struct requires comptime because of this field |
| 20 | // :4:16: note: types are not available at runtime | 20 | // :4:16: note: types are not available at runtime |
test/cases/compile_errors/bogus_method_call_on_slice.zig+1-1| ... | @@ -16,5 +16,5 @@ pub export fn entry2() void { | ... | @@ -16,5 +16,5 @@ pub export fn entry2() void { |
| 16 | // | 16 | // |
| 17 | // :3:6: error: no field or member function named 'copy' in '[]const u8' | 17 | // :3:6: error: no field or member function named 'copy' in '[]const u8' |
| 18 | // :9:8: error: no field or member function named 'bar' in '@TypeOf(.{})' | 18 | // :9:8: error: no field or member function named 'bar' in '@TypeOf(.{})' |
| 19 | // :12:18: error: no field or member function named 'bar' in 'tmp.entry2__struct_465' | 19 | // :12:18: error: no field or member function named 'bar' in 'tmp.entry2__struct_469' |
| 20 | // :12:6: note: struct declared here | 20 | // :12:6: note: struct declared here |
test/cases/compile_errors/coerce_anon_struct.zig+1-1| ... | @@ -6,6 +6,6 @@ export fn foo() void { | ... | @@ -6,6 +6,6 @@ export fn foo() void { |
| 6 | 6 | ||
| 7 | // error | 7 | // error |
| 8 | // | 8 | // |
| 9 | // :4:16: error: expected type 'tmp.T', found 'tmp.foo__struct_454' | 9 | // :4:16: error: expected type 'tmp.T', found 'tmp.foo__struct_458' |
| 10 | // :3:16: note: struct declared here | 10 | // :3:16: note: struct declared here |
| 11 | // :1:11: note: struct declared here | 11 | // :1:11: note: struct declared here |
test/cases/compile_errors/redundant_try.zig+2-2| ... | @@ -44,9 +44,9 @@ comptime { | ... | @@ -44,9 +44,9 @@ comptime { |
| 44 | // | 44 | // |
| 45 | // :5:23: error: expected error union type, found 'comptime_int' | 45 | // :5:23: error: expected error union type, found 'comptime_int' |
| 46 | // :10:23: error: expected error union type, found '@TypeOf(.{})' | 46 | // :10:23: error: expected error union type, found '@TypeOf(.{})' |
| 47 | // :15:23: error: expected error union type, found 'tmp.test2__struct_491' | 47 | // :15:23: error: expected error union type, found 'tmp.test2__struct_495' |
| 48 | // :15:23: note: struct declared here | 48 | // :15:23: note: struct declared here |
| 49 | // :20:27: error: expected error union type, found 'tmp.test3__struct_493' | 49 | // :20:27: error: expected error union type, found 'tmp.test3__struct_497' |
| 50 | // :20:27: note: struct declared here | 50 | // :20:27: note: struct declared here |
| 51 | // :25:23: error: expected error union type, found 'struct { comptime *const [5:0]u8 = "hello" }' | 51 | // :25:23: error: expected error union type, found 'struct { comptime *const [5:0]u8 = "hello" }' |
| 52 | // :31:13: error: expected error union type, found 'u32' | 52 | // :31:13: error: expected error union type, found 'u32' |