96 | 927M | } quant_weights.cc:hwy::N_SCALAR::Vec1<float> jxl::N_SCALAR::(anonymous namespace)::EvalRationalPolynomial<12ul, 12ul, hwy::N_SCALAR::Simd<float, 1ul, 0>, hwy::N_SCALAR::Vec1<float>, float>(hwy::N_SCALAR::Simd<float, 1ul, 0>, hwy::N_SCALAR::Vec1<float>, float const (&) [12ul], float const (&) [12ul]) Line | Count | Source | 61 | 5.43M | const T (&q)[NQ]) { | 62 | 5.43M | constexpr size_t kDegP = NP / 4 - 1; | 63 | 5.43M | constexpr size_t kDegQ = NQ / 4 - 1; | 64 | 5.43M | auto yp = LoadDup128(d, &p[kDegP * 4]); | 65 | 5.43M | auto yq = LoadDup128(d, &q[kDegQ * 4]); | 66 | | // We use pointer arithmetic to refer to &p[(kDegP - n) * 4] to avoid a | 67 | | // compiler warning that the index is out of bounds since we are already | 68 | | // checking that it is not out of bounds with (kDegP >= n) and the access | 69 | | // will be optimized away. Similarly with q and kDegQ. | 70 | 5.43M | HWY_FENCE; | 71 | 5.43M | if (kDegP >= 1) yp = MulAdd(yp, x, LoadDup128(d, p + ((kDegP - 1) * 4))); | 72 | 5.43M | if (kDegQ >= 1) yq = MulAdd(yq, x, LoadDup128(d, q + ((kDegQ - 1) * 4))); | 73 | 5.43M | HWY_FENCE; | 74 | 5.43M | if (kDegP >= 2) yp = MulAdd(yp, x, LoadDup128(d, p + ((kDegP - 2) * 4))); | 75 | 5.43M | if (kDegQ >= 2) yq = MulAdd(yq, x, LoadDup128(d, q + ((kDegQ - 2) * 4))); | 76 | 5.43M | HWY_FENCE; | 77 | 5.43M | if (kDegP >= 3) yp = MulAdd(yp, x, LoadDup128(d, p + ((kDegP - 3) * 4))); | 78 | 5.43M | if (kDegQ >= 3) yq = MulAdd(yq, x, LoadDup128(d, q + ((kDegQ - 3) * 4))); | 79 | 5.43M | HWY_FENCE; | 80 | 5.43M | if (kDegP >= 4) yp = MulAdd(yp, x, LoadDup128(d, p + ((kDegP - 4) * 4))); | 81 | 5.43M | if (kDegQ >= 4) yq = MulAdd(yq, x, LoadDup128(d, q + ((kDegQ - 4) * 4))); | 82 | 5.43M | HWY_FENCE; | 83 | 5.43M | if (kDegP >= 5) yp = MulAdd(yp, x, LoadDup128(d, p + ((kDegP - 5) * 4))); | 84 | 5.43M | if (kDegQ >= 5) yq = MulAdd(yq, x, LoadDup128(d, q + ((kDegQ - 5) * 4))); | 85 | 5.43M | HWY_FENCE; | 86 | 5.43M | if (kDegP >= 6) yp = MulAdd(yp, x, LoadDup128(d, p + ((kDegP - 6) * 4))); | 87 | 5.43M | if (kDegQ >= 6) yq = MulAdd(yq, x, LoadDup128(d, q + ((kDegQ - 6) * 4))); | 88 | 5.43M | HWY_FENCE; | 89 | 5.43M | if (kDegP >= 7) yp = MulAdd(yp, x, LoadDup128(d, p + ((kDegP - 7) * 4))); | 90 | 5.43M | if (kDegQ >= 7) yq = MulAdd(yq, x, LoadDup128(d, q + ((kDegQ - 7) * 4))); | 91 | | | 92 | 5.43M | static_assert(kDegP < 8, "Polynomial degree is too high"); | 93 | 5.43M | static_assert(kDegQ < 8, "Polynomial degree is too high"); | 94 | | | 95 | 5.43M | return FastDivision<T, V>()(yp, yq); | 96 | 5.43M | } |
Unexecuted instantiation: enc_xyb.cc:hwy::N_SCALAR::Vec1<float> jxl::N_SCALAR::(anonymous namespace)::EvalRationalPolynomial<20ul, 20ul, hwy::N_SCALAR::Simd<float, 1ul, 0>, hwy::N_SCALAR::Vec1<float>, float>(hwy::N_SCALAR::Simd<float, 1ul, 0>, hwy::N_SCALAR::Vec1<float>, float const (&) [20ul], float const (&) [20ul]) Unexecuted instantiation: enc_xyb.cc:hwy::N_SCALAR::Vec1<float> jxl::N_SCALAR::(anonymous namespace)::EvalRationalPolynomial<12ul, 12ul, hwy::N_SCALAR::Simd<float, 1ul, 0>, hwy::N_SCALAR::Vec1<float>, float>(hwy::N_SCALAR::Simd<float, 1ul, 0>, hwy::N_SCALAR::Vec1<float>, float const (&) [12ul], float const (&) [12ul]) Unexecuted instantiation: enc_ma.cc:hwy::N_SCALAR::Vec1<float> jxl::N_SCALAR::(anonymous namespace)::EvalRationalPolynomial<12ul, 12ul, hwy::N_SCALAR::Simd<float, 1ul, 0>, hwy::N_SCALAR::Vec1<float>, float>(hwy::N_SCALAR::Simd<float, 1ul, 0>, hwy::N_SCALAR::Vec1<float>, float const (&) [12ul], float const (&) [12ul]) stage_from_linear.cc:hwy::N_SCALAR::Vec1<float> jxl::N_SCALAR::(anonymous namespace)::EvalRationalPolynomial<20ul, 20ul, hwy::N_SCALAR::Simd<float, 1ul, 0>, hwy::N_SCALAR::Vec1<float>, float>(hwy::N_SCALAR::Simd<float, 1ul, 0>, hwy::N_SCALAR::Vec1<float>, float const (&) [20ul], float const (&) [20ul]) Line | Count | Source | 61 | 794M | const T (&q)[NQ]) { | 62 | 794M | constexpr size_t kDegP = NP / 4 - 1; | 63 | 794M | constexpr size_t kDegQ = NQ / 4 - 1; | 64 | 794M | auto yp = LoadDup128(d, &p[kDegP * 4]); | 65 | 794M | auto yq = LoadDup128(d, &q[kDegQ * 4]); | 66 | | // We use pointer arithmetic to refer to &p[(kDegP - n) * 4] to avoid a | 67 | | // compiler warning that the index is out of bounds since we are already | 68 | | // checking that it is not out of bounds with (kDegP >= n) and the access | 69 | | // will be optimized away. Similarly with q and kDegQ. | 70 | 794M | HWY_FENCE; | 71 | 794M | if (kDegP >= 1) yp = MulAdd(yp, x, LoadDup128(d, p + ((kDegP - 1) * 4))); | 72 | 794M | if (kDegQ >= 1) yq = MulAdd(yq, x, LoadDup128(d, q + ((kDegQ - 1) * 4))); | 73 | 794M | HWY_FENCE; | 74 | 794M | if (kDegP >= 2) yp = MulAdd(yp, x, LoadDup128(d, p + ((kDegP - 2) * 4))); | 75 | 794M | if (kDegQ >= 2) yq = MulAdd(yq, x, LoadDup128(d, q + ((kDegQ - 2) * 4))); | 76 | 794M | HWY_FENCE; | 77 | 794M | if (kDegP >= 3) yp = MulAdd(yp, x, LoadDup128(d, p + ((kDegP - 3) * 4))); | 78 | 794M | if (kDegQ >= 3) yq = MulAdd(yq, x, LoadDup128(d, q + ((kDegQ - 3) * 4))); | 79 | 794M | HWY_FENCE; | 80 | 794M | if (kDegP >= 4) yp = MulAdd(yp, x, LoadDup128(d, p + ((kDegP - 4) * 4))); | 81 | 794M | if (kDegQ >= 4) yq = MulAdd(yq, x, LoadDup128(d, q + ((kDegQ - 4) * 4))); | 82 | 794M | HWY_FENCE; | 83 | 794M | if (kDegP >= 5) yp = MulAdd(yp, x, LoadDup128(d, p + ((kDegP - 5) * 4))); | 84 | 794M | if (kDegQ >= 5) yq = MulAdd(yq, x, LoadDup128(d, q + ((kDegQ - 5) * 4))); | 85 | 794M | HWY_FENCE; | 86 | 794M | if (kDegP >= 6) yp = MulAdd(yp, x, LoadDup128(d, p + ((kDegP - 6) * 4))); | 87 | 794M | if (kDegQ >= 6) yq = MulAdd(yq, x, LoadDup128(d, q + ((kDegQ - 6) * 4))); | 88 | 794M | HWY_FENCE; | 89 | 794M | if (kDegP >= 7) yp = MulAdd(yp, x, LoadDup128(d, p + ((kDegP - 7) * 4))); | 90 | 794M | if (kDegQ >= 7) yq = MulAdd(yq, x, LoadDup128(d, q + ((kDegQ - 7) * 4))); | 91 | | | 92 | 794M | static_assert(kDegP < 8, "Polynomial degree is too high"); | 93 | 794M | static_assert(kDegQ < 8, "Polynomial degree is too high"); | 94 | | | 95 | 794M | return FastDivision<T, V>()(yp, yq); | 96 | 794M | } |
Unexecuted instantiation: stage_from_linear.cc:hwy::N_SCALAR::Vec1<float> jxl::N_SCALAR::(anonymous namespace)::EvalRationalPolynomial<12ul, 12ul, hwy::N_SCALAR::Simd<float, 1ul, 0>, hwy::N_SCALAR::Vec1<float>, float>(hwy::N_SCALAR::Simd<float, 1ul, 0>, hwy::N_SCALAR::Vec1<float>, float const (&) [12ul], float const (&) [12ul]) Unexecuted instantiation: stage_to_linear.cc:hwy::N_SCALAR::Vec1<float> jxl::N_SCALAR::(anonymous namespace)::EvalRationalPolynomial<20ul, 20ul, hwy::N_SCALAR::Simd<float, 1ul, 0>, hwy::N_SCALAR::Vec1<float>, float>(hwy::N_SCALAR::Simd<float, 1ul, 0>, hwy::N_SCALAR::Vec1<float>, float const (&) [20ul], float const (&) [20ul]) Unexecuted instantiation: stage_to_linear.cc:hwy::N_SCALAR::Vec1<float> jxl::N_SCALAR::(anonymous namespace)::EvalRationalPolynomial<12ul, 12ul, hwy::N_SCALAR::Simd<float, 1ul, 0>, hwy::N_SCALAR::Vec1<float>, float>(hwy::N_SCALAR::Simd<float, 1ul, 0>, hwy::N_SCALAR::Vec1<float>, float const (&) [12ul], float const (&) [12ul]) Unexecuted instantiation: stage_tone_mapping.cc:hwy::N_SCALAR::Vec1<float> jxl::N_SCALAR::(anonymous namespace)::EvalRationalPolynomial<20ul, 20ul, hwy::N_SCALAR::Simd<float, 1ul, 0>, hwy::N_SCALAR::Vec1<float>, float>(hwy::N_SCALAR::Simd<float, 1ul, 0>, hwy::N_SCALAR::Vec1<float>, float const (&) [20ul], float const (&) [20ul]) Unexecuted instantiation: stage_tone_mapping.cc:hwy::N_SCALAR::Vec1<float> jxl::N_SCALAR::(anonymous namespace)::EvalRationalPolynomial<12ul, 12ul, hwy::N_SCALAR::Simd<float, 1ul, 0>, hwy::N_SCALAR::Vec1<float>, float>(hwy::N_SCALAR::Simd<float, 1ul, 0>, hwy::N_SCALAR::Vec1<float>, float const (&) [12ul], float const (&) [12ul]) Unexecuted instantiation: splines.cc:hwy::N_SCALAR::Vec1<float> jxl::N_SCALAR::(anonymous namespace)::EvalRationalPolynomial<12ul, 12ul, hwy::N_SCALAR::Simd<float, 1ul, 0>, hwy::N_SCALAR::Vec1<float>, float>(hwy::N_SCALAR::Simd<float, 1ul, 0>, hwy::N_SCALAR::Vec1<float>, float const (&) [12ul], float const (&) [12ul]) Unexecuted instantiation: butteraugli.cc:hwy::N_SCALAR::Vec1<float> jxl::N_SCALAR::(anonymous namespace)::EvalRationalPolynomial<12ul, 12ul, hwy::N_SCALAR::Simd<float, 1ul, 0>, hwy::N_SCALAR::Vec1<float>, float>(hwy::N_SCALAR::Simd<float, 1ul, 0>, hwy::N_SCALAR::Vec1<float>, float const (&) [12ul], float const (&) [12ul]) Unexecuted instantiation: enc_ac_strategy.cc:hwy::N_SCALAR::Vec1<float> jxl::N_SCALAR::(anonymous namespace)::EvalRationalPolynomial<12ul, 12ul, hwy::N_SCALAR::Simd<float, 1ul, 0>, hwy::N_SCALAR::Vec1<float>, float>(hwy::N_SCALAR::Simd<float, 1ul, 0>, hwy::N_SCALAR::Vec1<float>, float const (&) [12ul], float const (&) [12ul]) Unexecuted instantiation: enc_adaptive_quantization.cc:hwy::N_SCALAR::Vec1<float> jxl::N_SCALAR::(anonymous namespace)::EvalRationalPolynomial<12ul, 12ul, hwy::N_SCALAR::Simd<float, 1ul, 0>, hwy::N_SCALAR::Vec1<float>, float>(hwy::N_SCALAR::Simd<float, 1ul, 0>, hwy::N_SCALAR::Vec1<float>, float const (&) [12ul], float const (&) [12ul]) Unexecuted instantiation: enc_ans.cc:hwy::N_SCALAR::Vec1<float> jxl::N_SCALAR::(anonymous namespace)::EvalRationalPolynomial<12ul, 12ul, hwy::N_SCALAR::Simd<float, 1ul, 0>, hwy::N_SCALAR::Vec1<float>, float>(hwy::N_SCALAR::Simd<float, 1ul, 0>, hwy::N_SCALAR::Vec1<float>, float const (&) [12ul], float const (&) [12ul]) Unexecuted instantiation: enc_cluster.cc:hwy::N_SCALAR::Vec1<float> jxl::N_SCALAR::(anonymous namespace)::EvalRationalPolynomial<12ul, 12ul, hwy::N_SCALAR::Simd<float, 1ul, 0>, hwy::N_SCALAR::Vec1<float>, float>(hwy::N_SCALAR::Simd<float, 1ul, 0>, hwy::N_SCALAR::Vec1<float>, float const (&) [12ul], float const (&) [12ul]) jxl_cms.cc:hwy::N_SCALAR::Vec1<float> jxl::N_SCALAR::(anonymous namespace)::EvalRationalPolynomial<20ul, 20ul, hwy::N_SCALAR::Simd<float, 1ul, 0>, hwy::N_SCALAR::Vec1<float>, float>(hwy::N_SCALAR::Simd<float, 1ul, 0>, hwy::N_SCALAR::Vec1<float>, float const (&) [20ul], float const (&) [20ul]) Line | Count | Source | 61 | 127M | const T (&q)[NQ]) { | 62 | 127M | constexpr size_t kDegP = NP / 4 - 1; | 63 | 127M | constexpr size_t kDegQ = NQ / 4 - 1; | 64 | 127M | auto yp = LoadDup128(d, &p[kDegP * 4]); | 65 | 127M | auto yq = LoadDup128(d, &q[kDegQ * 4]); | 66 | | // We use pointer arithmetic to refer to &p[(kDegP - n) * 4] to avoid a | 67 | | // compiler warning that the index is out of bounds since we are already | 68 | | // checking that it is not out of bounds with (kDegP >= n) and the access | 69 | | // will be optimized away. Similarly with q and kDegQ. | 70 | 127M | HWY_FENCE; | 71 | 127M | if (kDegP >= 1) yp = MulAdd(yp, x, LoadDup128(d, p + ((kDegP - 1) * 4))); | 72 | 127M | if (kDegQ >= 1) yq = MulAdd(yq, x, LoadDup128(d, q + ((kDegQ - 1) * 4))); | 73 | 127M | HWY_FENCE; | 74 | 127M | if (kDegP >= 2) yp = MulAdd(yp, x, LoadDup128(d, p + ((kDegP - 2) * 4))); | 75 | 127M | if (kDegQ >= 2) yq = MulAdd(yq, x, LoadDup128(d, q + ((kDegQ - 2) * 4))); | 76 | 127M | HWY_FENCE; | 77 | 127M | if (kDegP >= 3) yp = MulAdd(yp, x, LoadDup128(d, p + ((kDegP - 3) * 4))); | 78 | 127M | if (kDegQ >= 3) yq = MulAdd(yq, x, LoadDup128(d, q + ((kDegQ - 3) * 4))); | 79 | 127M | HWY_FENCE; | 80 | 127M | if (kDegP >= 4) yp = MulAdd(yp, x, LoadDup128(d, p + ((kDegP - 4) * 4))); | 81 | 127M | if (kDegQ >= 4) yq = MulAdd(yq, x, LoadDup128(d, q + ((kDegQ - 4) * 4))); | 82 | 127M | HWY_FENCE; | 83 | 127M | if (kDegP >= 5) yp = MulAdd(yp, x, LoadDup128(d, p + ((kDegP - 5) * 4))); | 84 | 127M | if (kDegQ >= 5) yq = MulAdd(yq, x, LoadDup128(d, q + ((kDegQ - 5) * 4))); | 85 | 127M | HWY_FENCE; | 86 | 127M | if (kDegP >= 6) yp = MulAdd(yp, x, LoadDup128(d, p + ((kDegP - 6) * 4))); | 87 | 127M | if (kDegQ >= 6) yq = MulAdd(yq, x, LoadDup128(d, q + ((kDegQ - 6) * 4))); | 88 | 127M | HWY_FENCE; | 89 | 127M | if (kDegP >= 7) yp = MulAdd(yp, x, LoadDup128(d, p + ((kDegP - 7) * 4))); | 90 | 127M | if (kDegQ >= 7) yq = MulAdd(yq, x, LoadDup128(d, q + ((kDegQ - 7) * 4))); | 91 | | | 92 | 127M | static_assert(kDegP < 8, "Polynomial degree is too high"); | 93 | 127M | static_assert(kDegQ < 8, "Polynomial degree is too high"); | 94 | | | 95 | 127M | return FastDivision<T, V>()(yp, yq); | 96 | 127M | } |
Unexecuted instantiation: jxl_cms.cc:hwy::N_SCALAR::Vec1<float> jxl::N_SCALAR::(anonymous namespace)::EvalRationalPolynomial<12ul, 12ul, hwy::N_SCALAR::Simd<float, 1ul, 0>, hwy::N_SCALAR::Vec1<float>, float>(hwy::N_SCALAR::Simd<float, 1ul, 0>, hwy::N_SCALAR::Vec1<float>, float const (&) [12ul], float const (&) [12ul]) |