OLD | NEW |
1 // Copyright 2013 the V8 project authors. All rights reserved. | 1 // Copyright 2013 the V8 project authors. All rights reserved. |
2 // Redistribution and use in source and binary forms, with or without | 2 // Redistribution and use in source and binary forms, with or without |
3 // modification, are permitted provided that the following conditions are | 3 // modification, are permitted provided that the following conditions are |
4 // met: | 4 // met: |
5 // | 5 // |
6 // * Redistributions of source code must retain the above copyright | 6 // * Redistributions of source code must retain the above copyright |
7 // notice, this list of conditions and the following disclaimer. | 7 // notice, this list of conditions and the following disclaimer. |
8 // * Redistributions in binary form must reproduce the above | 8 // * Redistributions in binary form must reproduce the above |
9 // copyright notice, this list of conditions and the following | 9 // copyright notice, this list of conditions and the following |
10 // disclaimer in the documentation and/or other materials provided | 10 // disclaimer in the documentation and/or other materials provided |
(...skipping 5840 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5851 qnan_processed, qnan_processed, | 5851 qnan_processed, qnan_processed, |
5852 0, 0); | 5852 0, 0); |
5853 FminFmaxDoubleHelper(qnan, snan, | 5853 FminFmaxDoubleHelper(qnan, snan, |
5854 snan_processed, snan_processed, | 5854 snan_processed, snan_processed, |
5855 snan_processed, snan_processed); | 5855 snan_processed, snan_processed); |
5856 FminFmaxDoubleHelper(snan, qnan, | 5856 FminFmaxDoubleHelper(snan, qnan, |
5857 snan_processed, snan_processed, | 5857 snan_processed, snan_processed, |
5858 snan_processed, snan_processed); | 5858 snan_processed, snan_processed); |
5859 | 5859 |
5860 // Iterate over all combinations of inputs. | 5860 // Iterate over all combinations of inputs. |
5861 double inputs[] = { | 5861 double inputs[] = { DBL_MAX, DBL_MIN, 1.0, 0.0, |
5862 std::numeric_limits<double>::max(), std::numeric_limits<double>::min(), | 5862 -DBL_MAX, -DBL_MIN, -1.0, -0.0, |
5863 1.0, 0.0, -std::numeric_limits<double>::max(), | 5863 kFP64PositiveInfinity, kFP64NegativeInfinity, |
5864 -std::numeric_limits<double>::min(), -1.0, -0.0, kFP64PositiveInfinity, | 5864 kFP64QuietNaN, kFP64SignallingNaN }; |
5865 kFP64NegativeInfinity, kFP64QuietNaN, kFP64SignallingNaN}; | |
5866 | 5865 |
5867 const int count = sizeof(inputs) / sizeof(inputs[0]); | 5866 const int count = sizeof(inputs) / sizeof(inputs[0]); |
5868 | 5867 |
5869 for (int in = 0; in < count; in++) { | 5868 for (int in = 0; in < count; in++) { |
5870 double n = inputs[in]; | 5869 double n = inputs[in]; |
5871 for (int im = 0; im < count; im++) { | 5870 for (int im = 0; im < count; im++) { |
5872 double m = inputs[im]; | 5871 double m = inputs[im]; |
5873 FminFmaxDoubleHelper(n, m, | 5872 FminFmaxDoubleHelper(n, m, |
5874 MinMaxHelper(n, m, true), | 5873 MinMaxHelper(n, m, true), |
5875 MinMaxHelper(n, m, false), | 5874 MinMaxHelper(n, m, false), |
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5937 qnan_processed, qnan_processed, | 5936 qnan_processed, qnan_processed, |
5938 0, 0); | 5937 0, 0); |
5939 FminFmaxFloatHelper(qnan, snan, | 5938 FminFmaxFloatHelper(qnan, snan, |
5940 snan_processed, snan_processed, | 5939 snan_processed, snan_processed, |
5941 snan_processed, snan_processed); | 5940 snan_processed, snan_processed); |
5942 FminFmaxFloatHelper(snan, qnan, | 5941 FminFmaxFloatHelper(snan, qnan, |
5943 snan_processed, snan_processed, | 5942 snan_processed, snan_processed, |
5944 snan_processed, snan_processed); | 5943 snan_processed, snan_processed); |
5945 | 5944 |
5946 // Iterate over all combinations of inputs. | 5945 // Iterate over all combinations of inputs. |
5947 float inputs[] = { | 5946 float inputs[] = { FLT_MAX, FLT_MIN, 1.0, 0.0, |
5948 std::numeric_limits<float>::max(), std::numeric_limits<float>::min(), 1.0, | 5947 -FLT_MAX, -FLT_MIN, -1.0, -0.0, |
5949 0.0, -std::numeric_limits<float>::max(), | 5948 kFP32PositiveInfinity, kFP32NegativeInfinity, |
5950 -std::numeric_limits<float>::min(), -1.0, -0.0, kFP32PositiveInfinity, | 5949 kFP32QuietNaN, kFP32SignallingNaN }; |
5951 kFP32NegativeInfinity, kFP32QuietNaN, kFP32SignallingNaN}; | |
5952 | 5950 |
5953 const int count = sizeof(inputs) / sizeof(inputs[0]); | 5951 const int count = sizeof(inputs) / sizeof(inputs[0]); |
5954 | 5952 |
5955 for (int in = 0; in < count; in++) { | 5953 for (int in = 0; in < count; in++) { |
5956 float n = inputs[in]; | 5954 float n = inputs[in]; |
5957 for (int im = 0; im < count; im++) { | 5955 for (int im = 0; im < count; im++) { |
5958 float m = inputs[im]; | 5956 float m = inputs[im]; |
5959 FminFmaxFloatHelper(n, m, | 5957 FminFmaxFloatHelper(n, m, |
5960 MinMaxHelper(n, m, true), | 5958 MinMaxHelper(n, m, true), |
5961 MinMaxHelper(n, m, false), | 5959 MinMaxHelper(n, m, false), |
(...skipping 775 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
6737 __ Fmov(s17, 1.1); | 6735 __ Fmov(s17, 1.1); |
6738 __ Fmov(s18, 1.5); | 6736 __ Fmov(s18, 1.5); |
6739 __ Fmov(s19, 1.9); | 6737 __ Fmov(s19, 1.9); |
6740 __ Fmov(s20, 2.5); | 6738 __ Fmov(s20, 2.5); |
6741 __ Fmov(s21, -1.5); | 6739 __ Fmov(s21, -1.5); |
6742 __ Fmov(s22, -2.5); | 6740 __ Fmov(s22, -2.5); |
6743 __ Fmov(s23, kFP32PositiveInfinity); | 6741 __ Fmov(s23, kFP32PositiveInfinity); |
6744 __ Fmov(s24, kFP32NegativeInfinity); | 6742 __ Fmov(s24, kFP32NegativeInfinity); |
6745 __ Fmov(s25, 0.0); | 6743 __ Fmov(s25, 0.0); |
6746 __ Fmov(s26, -0.0); | 6744 __ Fmov(s26, -0.0); |
6747 __ Fmov(s27, std::numeric_limits<float>::max()); | 6745 __ Fmov(s27, FLT_MAX); |
6748 __ Fmov(s28, std::numeric_limits<float>::min()); | 6746 __ Fmov(s28, FLT_MIN); |
6749 __ Fmov(s29, rawbits_to_float(0x7fc12345)); // Quiet NaN. | 6747 __ Fmov(s29, rawbits_to_float(0x7fc12345)); // Quiet NaN. |
6750 __ Fmov(s30, rawbits_to_float(0x7f812345)); // Signalling NaN. | 6748 __ Fmov(s30, rawbits_to_float(0x7f812345)); // Signalling NaN. |
6751 | 6749 |
6752 __ Fcvt(d0, s16); | 6750 __ Fcvt(d0, s16); |
6753 __ Fcvt(d1, s17); | 6751 __ Fcvt(d1, s17); |
6754 __ Fcvt(d2, s18); | 6752 __ Fcvt(d2, s18); |
6755 __ Fcvt(d3, s19); | 6753 __ Fcvt(d3, s19); |
6756 __ Fcvt(d4, s20); | 6754 __ Fcvt(d4, s20); |
6757 __ Fcvt(d5, s21); | 6755 __ Fcvt(d5, s21); |
6758 __ Fcvt(d6, s22); | 6756 __ Fcvt(d6, s22); |
(...skipping 13 matching lines...) Expand all Loading... |
6772 CHECK_EQUAL_FP64(1.1f, d1); | 6770 CHECK_EQUAL_FP64(1.1f, d1); |
6773 CHECK_EQUAL_FP64(1.5f, d2); | 6771 CHECK_EQUAL_FP64(1.5f, d2); |
6774 CHECK_EQUAL_FP64(1.9f, d3); | 6772 CHECK_EQUAL_FP64(1.9f, d3); |
6775 CHECK_EQUAL_FP64(2.5f, d4); | 6773 CHECK_EQUAL_FP64(2.5f, d4); |
6776 CHECK_EQUAL_FP64(-1.5f, d5); | 6774 CHECK_EQUAL_FP64(-1.5f, d5); |
6777 CHECK_EQUAL_FP64(-2.5f, d6); | 6775 CHECK_EQUAL_FP64(-2.5f, d6); |
6778 CHECK_EQUAL_FP64(kFP64PositiveInfinity, d7); | 6776 CHECK_EQUAL_FP64(kFP64PositiveInfinity, d7); |
6779 CHECK_EQUAL_FP64(kFP64NegativeInfinity, d8); | 6777 CHECK_EQUAL_FP64(kFP64NegativeInfinity, d8); |
6780 CHECK_EQUAL_FP64(0.0f, d9); | 6778 CHECK_EQUAL_FP64(0.0f, d9); |
6781 CHECK_EQUAL_FP64(-0.0f, d10); | 6779 CHECK_EQUAL_FP64(-0.0f, d10); |
6782 CHECK_EQUAL_FP64(std::numeric_limits<float>::max(), d11); | 6780 CHECK_EQUAL_FP64(FLT_MAX, d11); |
6783 CHECK_EQUAL_FP64(std::numeric_limits<float>::min(), d12); | 6781 CHECK_EQUAL_FP64(FLT_MIN, d12); |
6784 | 6782 |
6785 // Check that the NaN payload is preserved according to ARM64 conversion | 6783 // Check that the NaN payload is preserved according to ARM64 conversion |
6786 // rules: | 6784 // rules: |
6787 // - The sign bit is preserved. | 6785 // - The sign bit is preserved. |
6788 // - The top bit of the mantissa is forced to 1 (making it a quiet NaN). | 6786 // - The top bit of the mantissa is forced to 1 (making it a quiet NaN). |
6789 // - The remaining mantissa bits are copied until they run out. | 6787 // - The remaining mantissa bits are copied until they run out. |
6790 // - The low-order bits that haven't already been assigned are set to 0. | 6788 // - The low-order bits that haven't already been assigned are set to 0. |
6791 CHECK_EQUAL_FP64(rawbits_to_double(0x7ff82468a0000000), d13); | 6789 CHECK_EQUAL_FP64(rawbits_to_double(0x7ff82468a0000000), d13); |
6792 CHECK_EQUAL_FP64(rawbits_to_double(0x7ff82468a0000000), d14); | 6790 CHECK_EQUAL_FP64(rawbits_to_double(0x7ff82468a0000000), d14); |
6793 | 6791 |
6794 TEARDOWN(); | 6792 TEARDOWN(); |
6795 } | 6793 } |
6796 | 6794 |
6797 | 6795 |
6798 TEST(fcvt_sd) { | 6796 TEST(fcvt_sd) { |
6799 INIT_V8(); | 6797 INIT_V8(); |
6800 // There are a huge number of corner-cases to check, so this test iterates | 6798 // There are a huge number of corner-cases to check, so this test iterates |
6801 // through a list. The list is then negated and checked again (since the sign | 6799 // through a list. The list is then negated and checked again (since the sign |
6802 // is irrelevant in ties-to-even rounding), so the list shouldn't include any | 6800 // is irrelevant in ties-to-even rounding), so the list shouldn't include any |
6803 // negative values. | 6801 // negative values. |
6804 // | 6802 // |
6805 // Note that this test only checks ties-to-even rounding, because that is all | 6803 // Note that this test only checks ties-to-even rounding, because that is all |
6806 // that the simulator supports. | 6804 // that the simulator supports. |
6807 struct { | 6805 struct {double in; float expected;} test[] = { |
6808 double in; | 6806 // Check some simple conversions. |
6809 float expected; | 6807 {0.0, 0.0f}, |
6810 } test[] = { | 6808 {1.0, 1.0f}, |
6811 // Check some simple conversions. | 6809 {1.5, 1.5f}, |
6812 {0.0, 0.0f}, | 6810 {2.0, 2.0f}, |
6813 {1.0, 1.0f}, | 6811 {FLT_MAX, FLT_MAX}, |
6814 {1.5, 1.5f}, | 6812 // - The smallest normalized float. |
6815 {2.0, 2.0f}, | 6813 {pow(2.0, -126), powf(2, -126)}, |
6816 {std::numeric_limits<float>::max(), std::numeric_limits<float>::max()}, | 6814 // - Normal floats that need (ties-to-even) rounding. |
6817 // - The smallest normalized float. | 6815 // For normalized numbers: |
6818 {pow(2.0, -126), powf(2, -126)}, | 6816 // bit 29 (0x0000000020000000) is the lowest-order bit which will |
6819 // - Normal floats that need (ties-to-even) rounding. | 6817 // fit in the float's mantissa. |
6820 // For normalized numbers: | 6818 {rawbits_to_double(0x3ff0000000000000), rawbits_to_float(0x3f800000)}, |
6821 // bit 29 (0x0000000020000000) is the lowest-order bit which will | 6819 {rawbits_to_double(0x3ff0000000000001), rawbits_to_float(0x3f800000)}, |
6822 // fit in the float's mantissa. | 6820 {rawbits_to_double(0x3ff0000010000000), rawbits_to_float(0x3f800000)}, |
6823 {rawbits_to_double(0x3ff0000000000000), rawbits_to_float(0x3f800000)}, | 6821 {rawbits_to_double(0x3ff0000010000001), rawbits_to_float(0x3f800001)}, |
6824 {rawbits_to_double(0x3ff0000000000001), rawbits_to_float(0x3f800000)}, | 6822 {rawbits_to_double(0x3ff0000020000000), rawbits_to_float(0x3f800001)}, |
6825 {rawbits_to_double(0x3ff0000010000000), rawbits_to_float(0x3f800000)}, | 6823 {rawbits_to_double(0x3ff0000020000001), rawbits_to_float(0x3f800001)}, |
6826 {rawbits_to_double(0x3ff0000010000001), rawbits_to_float(0x3f800001)}, | 6824 {rawbits_to_double(0x3ff0000030000000), rawbits_to_float(0x3f800002)}, |
6827 {rawbits_to_double(0x3ff0000020000000), rawbits_to_float(0x3f800001)}, | 6825 {rawbits_to_double(0x3ff0000030000001), rawbits_to_float(0x3f800002)}, |
6828 {rawbits_to_double(0x3ff0000020000001), rawbits_to_float(0x3f800001)}, | 6826 {rawbits_to_double(0x3ff0000040000000), rawbits_to_float(0x3f800002)}, |
6829 {rawbits_to_double(0x3ff0000030000000), rawbits_to_float(0x3f800002)}, | 6827 {rawbits_to_double(0x3ff0000040000001), rawbits_to_float(0x3f800002)}, |
6830 {rawbits_to_double(0x3ff0000030000001), rawbits_to_float(0x3f800002)}, | 6828 {rawbits_to_double(0x3ff0000050000000), rawbits_to_float(0x3f800002)}, |
6831 {rawbits_to_double(0x3ff0000040000000), rawbits_to_float(0x3f800002)}, | 6829 {rawbits_to_double(0x3ff0000050000001), rawbits_to_float(0x3f800003)}, |
6832 {rawbits_to_double(0x3ff0000040000001), rawbits_to_float(0x3f800002)}, | 6830 {rawbits_to_double(0x3ff0000060000000), rawbits_to_float(0x3f800003)}, |
6833 {rawbits_to_double(0x3ff0000050000000), rawbits_to_float(0x3f800002)}, | 6831 // - A mantissa that overflows into the exponent during rounding. |
6834 {rawbits_to_double(0x3ff0000050000001), rawbits_to_float(0x3f800003)}, | 6832 {rawbits_to_double(0x3feffffff0000000), rawbits_to_float(0x3f800000)}, |
6835 {rawbits_to_double(0x3ff0000060000000), rawbits_to_float(0x3f800003)}, | 6833 // - The largest double that rounds to a normal float. |
6836 // - A mantissa that overflows into the exponent during rounding. | 6834 {rawbits_to_double(0x47efffffefffffff), rawbits_to_float(0x7f7fffff)}, |
6837 {rawbits_to_double(0x3feffffff0000000), rawbits_to_float(0x3f800000)}, | |
6838 // - The largest double that rounds to a normal float. | |
6839 {rawbits_to_double(0x47efffffefffffff), rawbits_to_float(0x7f7fffff)}, | |
6840 | 6835 |
6841 // Doubles that are too big for a float. | 6836 // Doubles that are too big for a float. |
6842 {kFP64PositiveInfinity, kFP32PositiveInfinity}, | 6837 {kFP64PositiveInfinity, kFP32PositiveInfinity}, |
6843 {std::numeric_limits<double>::max(), kFP32PositiveInfinity}, | 6838 {DBL_MAX, kFP32PositiveInfinity}, |
6844 // - The smallest exponent that's too big for a float. | 6839 // - The smallest exponent that's too big for a float. |
6845 {pow(2.0, 128), kFP32PositiveInfinity}, | 6840 {pow(2.0, 128), kFP32PositiveInfinity}, |
6846 // - This exponent is in range, but the value rounds to infinity. | 6841 // - This exponent is in range, but the value rounds to infinity. |
6847 {rawbits_to_double(0x47effffff0000000), kFP32PositiveInfinity}, | 6842 {rawbits_to_double(0x47effffff0000000), kFP32PositiveInfinity}, |
6848 | 6843 |
6849 // Doubles that are too small for a float. | 6844 // Doubles that are too small for a float. |
6850 // - The smallest (subnormal) double. | 6845 // - The smallest (subnormal) double. |
6851 {std::numeric_limits<double>::min(), 0.0}, | 6846 {DBL_MIN, 0.0}, |
6852 // - The largest double which is too small for a subnormal float. | 6847 // - The largest double which is too small for a subnormal float. |
6853 {rawbits_to_double(0x3690000000000000), rawbits_to_float(0x00000000)}, | 6848 {rawbits_to_double(0x3690000000000000), rawbits_to_float(0x00000000)}, |
6854 | 6849 |
6855 // Normal doubles that become subnormal floats. | 6850 // Normal doubles that become subnormal floats. |
6856 // - The largest subnormal float. | 6851 // - The largest subnormal float. |
6857 {rawbits_to_double(0x380fffffc0000000), rawbits_to_float(0x007fffff)}, | 6852 {rawbits_to_double(0x380fffffc0000000), rawbits_to_float(0x007fffff)}, |
6858 // - The smallest subnormal float. | 6853 // - The smallest subnormal float. |
6859 {rawbits_to_double(0x36a0000000000000), rawbits_to_float(0x00000001)}, | 6854 {rawbits_to_double(0x36a0000000000000), rawbits_to_float(0x00000001)}, |
6860 // - Subnormal floats that need (ties-to-even) rounding. | 6855 // - Subnormal floats that need (ties-to-even) rounding. |
6861 // For these subnormals: | 6856 // For these subnormals: |
6862 // bit 34 (0x0000000400000000) is the lowest-order bit which will | 6857 // bit 34 (0x0000000400000000) is the lowest-order bit which will |
6863 // fit in the float's mantissa. | 6858 // fit in the float's mantissa. |
6864 {rawbits_to_double(0x37c159e000000000), rawbits_to_float(0x00045678)}, | 6859 {rawbits_to_double(0x37c159e000000000), rawbits_to_float(0x00045678)}, |
6865 {rawbits_to_double(0x37c159e000000001), rawbits_to_float(0x00045678)}, | 6860 {rawbits_to_double(0x37c159e000000001), rawbits_to_float(0x00045678)}, |
6866 {rawbits_to_double(0x37c159e200000000), rawbits_to_float(0x00045678)}, | 6861 {rawbits_to_double(0x37c159e200000000), rawbits_to_float(0x00045678)}, |
6867 {rawbits_to_double(0x37c159e200000001), rawbits_to_float(0x00045679)}, | 6862 {rawbits_to_double(0x37c159e200000001), rawbits_to_float(0x00045679)}, |
6868 {rawbits_to_double(0x37c159e400000000), rawbits_to_float(0x00045679)}, | 6863 {rawbits_to_double(0x37c159e400000000), rawbits_to_float(0x00045679)}, |
6869 {rawbits_to_double(0x37c159e400000001), rawbits_to_float(0x00045679)}, | 6864 {rawbits_to_double(0x37c159e400000001), rawbits_to_float(0x00045679)}, |
6870 {rawbits_to_double(0x37c159e600000000), rawbits_to_float(0x0004567a)}, | 6865 {rawbits_to_double(0x37c159e600000000), rawbits_to_float(0x0004567a)}, |
6871 {rawbits_to_double(0x37c159e600000001), rawbits_to_float(0x0004567a)}, | 6866 {rawbits_to_double(0x37c159e600000001), rawbits_to_float(0x0004567a)}, |
6872 {rawbits_to_double(0x37c159e800000000), rawbits_to_float(0x0004567a)}, | 6867 {rawbits_to_double(0x37c159e800000000), rawbits_to_float(0x0004567a)}, |
6873 {rawbits_to_double(0x37c159e800000001), rawbits_to_float(0x0004567a)}, | 6868 {rawbits_to_double(0x37c159e800000001), rawbits_to_float(0x0004567a)}, |
6874 {rawbits_to_double(0x37c159ea00000000), rawbits_to_float(0x0004567a)}, | 6869 {rawbits_to_double(0x37c159ea00000000), rawbits_to_float(0x0004567a)}, |
6875 {rawbits_to_double(0x37c159ea00000001), rawbits_to_float(0x0004567b)}, | 6870 {rawbits_to_double(0x37c159ea00000001), rawbits_to_float(0x0004567b)}, |
6876 {rawbits_to_double(0x37c159ec00000000), rawbits_to_float(0x0004567b)}, | 6871 {rawbits_to_double(0x37c159ec00000000), rawbits_to_float(0x0004567b)}, |
6877 // - The smallest double which rounds up to become a subnormal float. | 6872 // - The smallest double which rounds up to become a subnormal float. |
6878 {rawbits_to_double(0x3690000000000001), rawbits_to_float(0x00000001)}, | 6873 {rawbits_to_double(0x3690000000000001), rawbits_to_float(0x00000001)}, |
6879 | 6874 |
6880 // Check NaN payload preservation. | 6875 // Check NaN payload preservation. |
6881 {rawbits_to_double(0x7ff82468a0000000), rawbits_to_float(0x7fc12345)}, | 6876 {rawbits_to_double(0x7ff82468a0000000), rawbits_to_float(0x7fc12345)}, |
6882 {rawbits_to_double(0x7ff82468bfffffff), rawbits_to_float(0x7fc12345)}, | 6877 {rawbits_to_double(0x7ff82468bfffffff), rawbits_to_float(0x7fc12345)}, |
6883 // - Signalling NaNs become quiet NaNs. | 6878 // - Signalling NaNs become quiet NaNs. |
6884 {rawbits_to_double(0x7ff02468a0000000), rawbits_to_float(0x7fc12345)}, | 6879 {rawbits_to_double(0x7ff02468a0000000), rawbits_to_float(0x7fc12345)}, |
6885 {rawbits_to_double(0x7ff02468bfffffff), rawbits_to_float(0x7fc12345)}, | 6880 {rawbits_to_double(0x7ff02468bfffffff), rawbits_to_float(0x7fc12345)}, |
6886 {rawbits_to_double(0x7ff000001fffffff), rawbits_to_float(0x7fc00000)}, | 6881 {rawbits_to_double(0x7ff000001fffffff), rawbits_to_float(0x7fc00000)}, |
6887 }; | 6882 }; |
6888 int count = sizeof(test) / sizeof(test[0]); | 6883 int count = sizeof(test) / sizeof(test[0]); |
6889 | 6884 |
6890 for (int i = 0; i < count; i++) { | 6885 for (int i = 0; i < count; i++) { |
6891 double in = test[i].in; | 6886 double in = test[i].in; |
6892 float expected = test[i].expected; | 6887 float expected = test[i].expected; |
6893 | 6888 |
6894 // We only expect positive input. | 6889 // We only expect positive input. |
6895 DCHECK(std::signbit(in) == 0); | 6890 DCHECK(std::signbit(in) == 0); |
6896 DCHECK(std::signbit(expected) == 0); | 6891 DCHECK(std::signbit(expected) == 0); |
(...skipping 4324 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
11221 if (RelocInfo::IsVeneerPool(info->rmode())) { | 11216 if (RelocInfo::IsVeneerPool(info->rmode())) { |
11222 DCHECK(info->data() == veneer_pool_size); | 11217 DCHECK(info->data() == veneer_pool_size); |
11223 ++pool_count; | 11218 ++pool_count; |
11224 } | 11219 } |
11225 } | 11220 } |
11226 | 11221 |
11227 DCHECK(pool_count == 2); | 11222 DCHECK(pool_count == 2); |
11228 | 11223 |
11229 TEARDOWN(); | 11224 TEARDOWN(); |
11230 } | 11225 } |
OLD | NEW |