Coverage Report

Created: 2026-09-28 06:47

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/libjxl/lib/jxl/transpose-inl.h
Line
Count
Source
1
// Copyright (c) the JPEG XL Project Authors. All rights reserved.
2
//
3
// Use of this source code is governed by a BSD-style
4
// license that can be found in the LICENSE file.
5
6
// Block transpose for DCT/IDCT
7
8
#include "lib/jxl/base/compiler_specific.h"
9
10
#if defined(LIB_JXL_TRANSPOSE_INL_H_) == defined(HWY_TARGET_TOGGLE)
11
#ifdef LIB_JXL_TRANSPOSE_INL_H_
12
#undef LIB_JXL_TRANSPOSE_INL_H_
13
#else
14
#define LIB_JXL_TRANSPOSE_INL_H_
15
#endif
16
17
#include <stddef.h>
18
19
#include <hwy/highway.h>
20
#include <type_traits>
21
22
#include "lib/jxl/base/status.h"
23
#include "lib/jxl/dct_block-inl.h"
24
25
HWY_BEFORE_NAMESPACE();
26
namespace jxl {
27
namespace HWY_NAMESPACE {
28
namespace {
29
30
#ifndef JXL_INLINE_TRANSPOSE
31
// Workaround for issue #42 - (excessive?) inlining causes invalid codegen.
32
#if defined(__arm__)
33
#define JXL_INLINE_TRANSPOSE HWY_NOINLINE
34
#else
35
#define JXL_INLINE_TRANSPOSE HWY_INLINE
36
#endif
37
#endif  // JXL_INLINE_TRANSPOSE
38
39
// Simple wrapper that ensures that a function will not be inlined.
40
template <typename T, typename... Args>
41
142M
JXL_NOINLINE void NoInlineWrapper(const T& f, const Args&... args) {
42
142M
  return f(args...);
43
142M
}
Unexecuted instantiation: enc_adaptive_quantization.cc:void jxl::N_SSE4::(anonymous namespace)::NoInlineWrapper<void (jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&, unsigned long, float*), jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo, unsigned long, float* restrict>(void ( const&)(jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&, unsigned long, float*), jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&, unsigned long const&, float* restrict const&)
Unexecuted instantiation: enc_adaptive_quantization.cc:void jxl::N_SSE4::(anonymous namespace)::NoInlineWrapper<void (*)(jxl::N_SSE4::(anonymous namespace)::TransposeSimdTag<true>, jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long), jxl::N_SSE4::(anonymous namespace)::TransposeSimdTag<true>, jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo, unsigned long, unsigned long>(void (* const&)(jxl::N_SSE4::(anonymous namespace)::TransposeSimdTag<true>, jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long), jxl::N_SSE4::(anonymous namespace)::TransposeSimdTag<true> const&, jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&, unsigned long const&, unsigned long const&)
Unexecuted instantiation: enc_adaptive_quantization.cc:void jxl::N_AVX2::(anonymous namespace)::NoInlineWrapper<void (jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&, unsigned long, float*), jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo, unsigned long, float* restrict>(void ( const&)(jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&, unsigned long, float*), jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&, unsigned long const&, float* restrict const&)
Unexecuted instantiation: enc_adaptive_quantization.cc:void jxl::N_AVX2::(anonymous namespace)::NoInlineWrapper<void (*)(jxl::N_AVX2::(anonymous namespace)::TransposeSimdTag<true>, jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long), jxl::N_AVX2::(anonymous namespace)::TransposeSimdTag<true>, jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo, unsigned long, unsigned long>(void (* const&)(jxl::N_AVX2::(anonymous namespace)::TransposeSimdTag<true>, jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long), jxl::N_AVX2::(anonymous namespace)::TransposeSimdTag<true> const&, jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&, unsigned long const&, unsigned long const&)
Unexecuted instantiation: enc_adaptive_quantization.cc:void jxl::N_SSE2::(anonymous namespace)::NoInlineWrapper<void (jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&, unsigned long, float*), jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo, unsigned long, float* restrict>(void ( const&)(jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&, unsigned long, float*), jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&, unsigned long const&, float* restrict const&)
Unexecuted instantiation: enc_adaptive_quantization.cc:void jxl::N_SSE2::(anonymous namespace)::NoInlineWrapper<void (*)(jxl::N_SSE2::(anonymous namespace)::TransposeSimdTag<true>, jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long), jxl::N_SSE2::(anonymous namespace)::TransposeSimdTag<true>, jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo, unsigned long, unsigned long>(void (* const&)(jxl::N_SSE2::(anonymous namespace)::TransposeSimdTag<true>, jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long), jxl::N_SSE2::(anonymous namespace)::TransposeSimdTag<true> const&, jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&, unsigned long const&, unsigned long const&)
Unexecuted instantiation: enc_group.cc:void jxl::N_SSE4::(anonymous namespace)::NoInlineWrapper<void (jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&, unsigned long, float*), jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo, unsigned long, float* restrict>(void ( const&)(jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&, unsigned long, float*), jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&, unsigned long const&, float* restrict const&)
Unexecuted instantiation: enc_group.cc:void jxl::N_SSE4::(anonymous namespace)::NoInlineWrapper<void (*)(jxl::N_SSE4::(anonymous namespace)::TransposeSimdTag<true>, jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long), jxl::N_SSE4::(anonymous namespace)::TransposeSimdTag<true>, jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo, unsigned long, unsigned long>(void (* const&)(jxl::N_SSE4::(anonymous namespace)::TransposeSimdTag<true>, jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long), jxl::N_SSE4::(anonymous namespace)::TransposeSimdTag<true> const&, jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&, unsigned long const&, unsigned long const&)
enc_group.cc:void jxl::N_AVX2::(anonymous namespace)::NoInlineWrapper<void (jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&, unsigned long, float*), jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo, unsigned long, float* restrict>(void ( const&)(jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&, unsigned long, float*), jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&, unsigned long const&, float* restrict const&)
Line
Count
Source
41
1.66M
JXL_NOINLINE void NoInlineWrapper(const T& f, const Args&... args) {
42
1.66M
  return f(args...);
43
1.66M
}
enc_group.cc:void jxl::N_AVX2::(anonymous namespace)::NoInlineWrapper<void (*)(jxl::N_AVX2::(anonymous namespace)::TransposeSimdTag<true>, jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long), jxl::N_AVX2::(anonymous namespace)::TransposeSimdTag<true>, jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo, unsigned long, unsigned long>(void (* const&)(jxl::N_AVX2::(anonymous namespace)::TransposeSimdTag<true>, jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long), jxl::N_AVX2::(anonymous namespace)::TransposeSimdTag<true> const&, jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&, unsigned long const&, unsigned long const&)
Line
Count
Source
41
427k
JXL_NOINLINE void NoInlineWrapper(const T& f, const Args&... args) {
42
427k
  return f(args...);
43
427k
}
Unexecuted instantiation: enc_group.cc:void jxl::N_SSE2::(anonymous namespace)::NoInlineWrapper<void (jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&, unsigned long, float*), jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo, unsigned long, float* restrict>(void ( const&)(jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&, unsigned long, float*), jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&, unsigned long const&, float* restrict const&)
Unexecuted instantiation: enc_group.cc:void jxl::N_SSE2::(anonymous namespace)::NoInlineWrapper<void (*)(jxl::N_SSE2::(anonymous namespace)::TransposeSimdTag<true>, jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long), jxl::N_SSE2::(anonymous namespace)::TransposeSimdTag<true>, jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo, unsigned long, unsigned long>(void (* const&)(jxl::N_SSE2::(anonymous namespace)::TransposeSimdTag<true>, jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long), jxl::N_SSE2::(anonymous namespace)::TransposeSimdTag<true> const&, jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&, unsigned long const&, unsigned long const&)
Unexecuted instantiation: enc_chroma_from_luma.cc:void jxl::N_SSE4::(anonymous namespace)::NoInlineWrapper<void (jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&, unsigned long, float*), jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo, unsigned long, float* restrict>(void ( const&)(jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&, unsigned long, float*), jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&, unsigned long const&, float* restrict const&)
Unexecuted instantiation: enc_chroma_from_luma.cc:void jxl::N_SSE4::(anonymous namespace)::NoInlineWrapper<void (*)(jxl::N_SSE4::(anonymous namespace)::TransposeSimdTag<true>, jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long), jxl::N_SSE4::(anonymous namespace)::TransposeSimdTag<true>, jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo, unsigned long, unsigned long>(void (* const&)(jxl::N_SSE4::(anonymous namespace)::TransposeSimdTag<true>, jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long), jxl::N_SSE4::(anonymous namespace)::TransposeSimdTag<true> const&, jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&, unsigned long const&, unsigned long const&)
enc_chroma_from_luma.cc:void jxl::N_AVX2::(anonymous namespace)::NoInlineWrapper<void (jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&, unsigned long, float*), jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo, unsigned long, float* restrict>(void ( const&)(jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&, unsigned long, float*), jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&, unsigned long const&, float* restrict const&)
Line
Count
Source
41
1.66M
JXL_NOINLINE void NoInlineWrapper(const T& f, const Args&... args) {
42
1.66M
  return f(args...);
43
1.66M
}
enc_chroma_from_luma.cc:void jxl::N_AVX2::(anonymous namespace)::NoInlineWrapper<void (*)(jxl::N_AVX2::(anonymous namespace)::TransposeSimdTag<true>, jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long), jxl::N_AVX2::(anonymous namespace)::TransposeSimdTag<true>, jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo, unsigned long, unsigned long>(void (* const&)(jxl::N_AVX2::(anonymous namespace)::TransposeSimdTag<true>, jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long), jxl::N_AVX2::(anonymous namespace)::TransposeSimdTag<true> const&, jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&, unsigned long const&, unsigned long const&)
Line
Count
Source
41
427k
JXL_NOINLINE void NoInlineWrapper(const T& f, const Args&... args) {
42
427k
  return f(args...);
43
427k
}
Unexecuted instantiation: enc_chroma_from_luma.cc:void jxl::N_SSE2::(anonymous namespace)::NoInlineWrapper<void (jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&, unsigned long, float*), jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo, unsigned long, float* restrict>(void ( const&)(jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&, unsigned long, float*), jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&, unsigned long const&, float* restrict const&)
Unexecuted instantiation: enc_chroma_from_luma.cc:void jxl::N_SSE2::(anonymous namespace)::NoInlineWrapper<void (*)(jxl::N_SSE2::(anonymous namespace)::TransposeSimdTag<true>, jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long), jxl::N_SSE2::(anonymous namespace)::TransposeSimdTag<true>, jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo, unsigned long, unsigned long>(void (* const&)(jxl::N_SSE2::(anonymous namespace)::TransposeSimdTag<true>, jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long), jxl::N_SSE2::(anonymous namespace)::TransposeSimdTag<true> const&, jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&, unsigned long const&, unsigned long const&)
Unexecuted instantiation: enc_ac_strategy.cc:void jxl::N_SSE4::(anonymous namespace)::NoInlineWrapper<void (jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&, unsigned long, float*), jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo, unsigned long, float* restrict>(void ( const&)(jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&, unsigned long, float*), jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&, unsigned long const&, float* restrict const&)
Unexecuted instantiation: enc_ac_strategy.cc:void jxl::N_SSE4::(anonymous namespace)::NoInlineWrapper<void (*)(jxl::N_SSE4::(anonymous namespace)::TransposeSimdTag<true>, jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long), jxl::N_SSE4::(anonymous namespace)::TransposeSimdTag<true>, jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo, unsigned long, unsigned long>(void (* const&)(jxl::N_SSE4::(anonymous namespace)::TransposeSimdTag<true>, jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long), jxl::N_SSE4::(anonymous namespace)::TransposeSimdTag<true> const&, jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&, unsigned long const&, unsigned long const&)
enc_ac_strategy.cc:void jxl::N_AVX2::(anonymous namespace)::NoInlineWrapper<void (jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&, unsigned long, float*), jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo, unsigned long, float* restrict>(void ( const&)(jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&, unsigned long, float*), jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&, unsigned long const&, float* restrict const&)
Line
Count
Source
41
110M
JXL_NOINLINE void NoInlineWrapper(const T& f, const Args&... args) {
42
110M
  return f(args...);
43
110M
}
enc_ac_strategy.cc:void jxl::N_AVX2::(anonymous namespace)::NoInlineWrapper<void (*)(jxl::N_AVX2::(anonymous namespace)::TransposeSimdTag<true>, jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long), jxl::N_AVX2::(anonymous namespace)::TransposeSimdTag<true>, jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo, unsigned long, unsigned long>(void (* const&)(jxl::N_AVX2::(anonymous namespace)::TransposeSimdTag<true>, jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long), jxl::N_AVX2::(anonymous namespace)::TransposeSimdTag<true> const&, jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&, unsigned long const&, unsigned long const&)
Line
Count
Source
41
21.9M
JXL_NOINLINE void NoInlineWrapper(const T& f, const Args&... args) {
42
21.9M
  return f(args...);
43
21.9M
}
Unexecuted instantiation: enc_ac_strategy.cc:void jxl::N_SSE2::(anonymous namespace)::NoInlineWrapper<void (jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&, unsigned long, float*), jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo, unsigned long, float* restrict>(void ( const&)(jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&, unsigned long, float*), jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&, unsigned long const&, float* restrict const&)
Unexecuted instantiation: enc_ac_strategy.cc:void jxl::N_SSE2::(anonymous namespace)::NoInlineWrapper<void (*)(jxl::N_SSE2::(anonymous namespace)::TransposeSimdTag<true>, jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long), jxl::N_SSE2::(anonymous namespace)::TransposeSimdTag<true>, jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo, unsigned long, unsigned long>(void (* const&)(jxl::N_SSE2::(anonymous namespace)::TransposeSimdTag<true>, jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long), jxl::N_SSE2::(anonymous namespace)::TransposeSimdTag<true> const&, jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&, unsigned long const&, unsigned long const&)
Unexecuted instantiation: dec_group.cc:void jxl::N_SSE4::(anonymous namespace)::NoInlineWrapper<void (jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&, unsigned long, float*), jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo, unsigned long, float* restrict>(void ( const&)(jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&, unsigned long, float*), jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&, unsigned long const&, float* restrict const&)
Unexecuted instantiation: dec_group.cc:void jxl::N_SSE4::(anonymous namespace)::NoInlineWrapper<void (*)(jxl::N_SSE4::(anonymous namespace)::TransposeSimdTag<true>, jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long), jxl::N_SSE4::(anonymous namespace)::TransposeSimdTag<true>, jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo, unsigned long, unsigned long>(void (* const&)(jxl::N_SSE4::(anonymous namespace)::TransposeSimdTag<true>, jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long), jxl::N_SSE4::(anonymous namespace)::TransposeSimdTag<true> const&, jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&, unsigned long const&, unsigned long const&)
dec_group.cc:void jxl::N_AVX2::(anonymous namespace)::NoInlineWrapper<void (jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&, unsigned long, float*), jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo, unsigned long, float* restrict>(void ( const&)(jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&, unsigned long, float*), jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&, unsigned long const&, float* restrict const&)
Line
Count
Source
41
4.94M
JXL_NOINLINE void NoInlineWrapper(const T& f, const Args&... args) {
42
4.94M
  return f(args...);
43
4.94M
}
dec_group.cc:void jxl::N_AVX2::(anonymous namespace)::NoInlineWrapper<void (*)(jxl::N_AVX2::(anonymous namespace)::TransposeSimdTag<true>, jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long), jxl::N_AVX2::(anonymous namespace)::TransposeSimdTag<true>, jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo, unsigned long, unsigned long>(void (* const&)(jxl::N_AVX2::(anonymous namespace)::TransposeSimdTag<true>, jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long), jxl::N_AVX2::(anonymous namespace)::TransposeSimdTag<true> const&, jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&, unsigned long const&, unsigned long const&)
Line
Count
Source
41
1.26M
JXL_NOINLINE void NoInlineWrapper(const T& f, const Args&... args) {
42
1.26M
  return f(args...);
43
1.26M
}
Unexecuted instantiation: dec_group.cc:void jxl::N_SSE2::(anonymous namespace)::NoInlineWrapper<void (jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&, unsigned long, float*), jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo, unsigned long, float* restrict>(void ( const&)(jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&, unsigned long, float*), jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&, unsigned long const&, float* restrict const&)
Unexecuted instantiation: dec_group.cc:void jxl::N_SSE2::(anonymous namespace)::NoInlineWrapper<void (*)(jxl::N_SSE2::(anonymous namespace)::TransposeSimdTag<true>, jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long), jxl::N_SSE2::(anonymous namespace)::TransposeSimdTag<true>, jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo, unsigned long, unsigned long>(void (* const&)(jxl::N_SSE2::(anonymous namespace)::TransposeSimdTag<true>, jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long), jxl::N_SSE2::(anonymous namespace)::TransposeSimdTag<true> const&, jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&, unsigned long const&, unsigned long const&)
44
45
template <bool enabled>
46
struct TransposeSimdTag {};
47
48
// TODO(veluca): it's not super useful to have this in the SIMD namespace.
49
template <size_t ROWS_or_0, size_t COLS_or_0, class From, class To>
50
JXL_INLINE_TRANSPOSE void GenericTransposeBlock(
51
    TransposeSimdTag<false> /* tag */, const From& from, const To& to,
52
733M
    size_t ROWSp, size_t COLSp) {
53
733M
  size_t ROWS = ROWS_or_0 == 0 ? ROWSp : ROWS_or_0;
54
733M
  size_t COLS = COLS_or_0 == 0 ? COLSp : COLS_or_0;
55
4.58G
  for (size_t n = 0; n < ROWS; ++n) {
56
22.9G
    for (size_t m = 0; m < COLS; ++m) {
57
19.0G
      to.Write(from.Read(n, m), m, n);
58
19.0G
    }
59
3.84G
  }
60
733M
}
Unexecuted instantiation: enc_adaptive_quantization.cc:void jxl::N_SSE4::(anonymous namespace)::GenericTransposeBlock<2ul, 1ul, jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::TransposeSimdTag<false>, jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_adaptive_quantization.cc:void jxl::N_SSE4::(anonymous namespace)::GenericTransposeBlock<1ul, 2ul, jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::TransposeSimdTag<false>, jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_adaptive_quantization.cc:void jxl::N_SSE4::(anonymous namespace)::GenericTransposeBlock<2ul, 2ul, jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::TransposeSimdTag<false>, jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_adaptive_quantization.cc:void jxl::N_SSE4::(anonymous namespace)::GenericTransposeBlock<4ul, 1ul, jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::TransposeSimdTag<false>, jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_adaptive_quantization.cc:void jxl::N_SSE4::(anonymous namespace)::GenericTransposeBlock<1ul, 4ul, jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::TransposeSimdTag<false>, jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_adaptive_quantization.cc:void jxl::N_SSE4::(anonymous namespace)::GenericTransposeBlock<4ul, 2ul, jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::TransposeSimdTag<false>, jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_adaptive_quantization.cc:void jxl::N_SSE4::(anonymous namespace)::GenericTransposeBlock<2ul, 4ul, jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::TransposeSimdTag<false>, jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_adaptive_quantization.cc:void jxl::N_AVX2::(anonymous namespace)::GenericTransposeBlock<8ul, 4ul, jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::TransposeSimdTag<false>, jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_adaptive_quantization.cc:void jxl::N_AVX2::(anonymous namespace)::GenericTransposeBlock<4ul, 8ul, jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::TransposeSimdTag<false>, jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_adaptive_quantization.cc:void jxl::N_AVX2::(anonymous namespace)::GenericTransposeBlock<4ul, 4ul, jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::TransposeSimdTag<false>, jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_adaptive_quantization.cc:void jxl::N_AVX2::(anonymous namespace)::GenericTransposeBlock<2ul, 1ul, jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::TransposeSimdTag<false>, jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_adaptive_quantization.cc:void jxl::N_AVX2::(anonymous namespace)::GenericTransposeBlock<1ul, 2ul, jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::TransposeSimdTag<false>, jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_adaptive_quantization.cc:void jxl::N_AVX2::(anonymous namespace)::GenericTransposeBlock<2ul, 2ul, jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::TransposeSimdTag<false>, jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_adaptive_quantization.cc:void jxl::N_AVX2::(anonymous namespace)::GenericTransposeBlock<4ul, 1ul, jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::TransposeSimdTag<false>, jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_adaptive_quantization.cc:void jxl::N_AVX2::(anonymous namespace)::GenericTransposeBlock<1ul, 4ul, jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::TransposeSimdTag<false>, jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_adaptive_quantization.cc:void jxl::N_AVX2::(anonymous namespace)::GenericTransposeBlock<4ul, 2ul, jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::TransposeSimdTag<false>, jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_adaptive_quantization.cc:void jxl::N_AVX2::(anonymous namespace)::GenericTransposeBlock<2ul, 4ul, jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::TransposeSimdTag<false>, jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_adaptive_quantization.cc:void jxl::N_SSE2::(anonymous namespace)::GenericTransposeBlock<2ul, 1ul, jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::TransposeSimdTag<false>, jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_adaptive_quantization.cc:void jxl::N_SSE2::(anonymous namespace)::GenericTransposeBlock<1ul, 2ul, jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::TransposeSimdTag<false>, jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_adaptive_quantization.cc:void jxl::N_SSE2::(anonymous namespace)::GenericTransposeBlock<2ul, 2ul, jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::TransposeSimdTag<false>, jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_adaptive_quantization.cc:void jxl::N_SSE2::(anonymous namespace)::GenericTransposeBlock<4ul, 1ul, jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::TransposeSimdTag<false>, jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_adaptive_quantization.cc:void jxl::N_SSE2::(anonymous namespace)::GenericTransposeBlock<1ul, 4ul, jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::TransposeSimdTag<false>, jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_adaptive_quantization.cc:void jxl::N_SSE2::(anonymous namespace)::GenericTransposeBlock<4ul, 2ul, jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::TransposeSimdTag<false>, jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_adaptive_quantization.cc:void jxl::N_SSE2::(anonymous namespace)::GenericTransposeBlock<2ul, 4ul, jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::TransposeSimdTag<false>, jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_group.cc:void jxl::N_SSE4::(anonymous namespace)::GenericTransposeBlock<1ul, 2ul, jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::TransposeSimdTag<false>, jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_group.cc:void jxl::N_SSE4::(anonymous namespace)::GenericTransposeBlock<2ul, 1ul, jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::TransposeSimdTag<false>, jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_group.cc:void jxl::N_SSE4::(anonymous namespace)::GenericTransposeBlock<2ul, 2ul, jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::TransposeSimdTag<false>, jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_group.cc:void jxl::N_SSE4::(anonymous namespace)::GenericTransposeBlock<1ul, 4ul, jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::TransposeSimdTag<false>, jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_group.cc:void jxl::N_SSE4::(anonymous namespace)::GenericTransposeBlock<4ul, 1ul, jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::TransposeSimdTag<false>, jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_group.cc:void jxl::N_SSE4::(anonymous namespace)::GenericTransposeBlock<2ul, 4ul, jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::TransposeSimdTag<false>, jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_group.cc:void jxl::N_SSE4::(anonymous namespace)::GenericTransposeBlock<4ul, 2ul, jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::TransposeSimdTag<false>, jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
enc_group.cc:void jxl::N_AVX2::(anonymous namespace)::GenericTransposeBlock<8ul, 4ul, jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::TransposeSimdTag<false>, jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Line
Count
Source
52
925k
    size_t ROWSp, size_t COLSp) {
53
925k
  size_t ROWS = ROWS_or_0 == 0 ? ROWSp : ROWS_or_0;
54
925k
  size_t COLS = COLS_or_0 == 0 ? COLSp : COLS_or_0;
55
8.32M
  for (size_t n = 0; n < ROWS; ++n) {
56
37.0M
    for (size_t m = 0; m < COLS; ++m) {
57
29.6M
      to.Write(from.Read(n, m), m, n);
58
29.6M
    }
59
7.40M
  }
60
925k
}
enc_group.cc:void jxl::N_AVX2::(anonymous namespace)::GenericTransposeBlock<4ul, 8ul, jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::TransposeSimdTag<false>, jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Line
Count
Source
52
565k
    size_t ROWSp, size_t COLSp) {
53
565k
  size_t ROWS = ROWS_or_0 == 0 ? ROWSp : ROWS_or_0;
54
565k
  size_t COLS = COLS_or_0 == 0 ? COLSp : COLS_or_0;
55
2.82M
  for (size_t n = 0; n < ROWS; ++n) {
56
20.3M
    for (size_t m = 0; m < COLS; ++m) {
57
18.0M
      to.Write(from.Read(n, m), m, n);
58
18.0M
    }
59
2.26M
  }
60
565k
}
enc_group.cc:void jxl::N_AVX2::(anonymous namespace)::GenericTransposeBlock<4ul, 4ul, jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::TransposeSimdTag<false>, jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Line
Count
Source
52
505k
    size_t ROWSp, size_t COLSp) {
53
505k
  size_t ROWS = ROWS_or_0 == 0 ? ROWSp : ROWS_or_0;
54
505k
  size_t COLS = COLS_or_0 == 0 ? COLSp : COLS_or_0;
55
2.52M
  for (size_t n = 0; n < ROWS; ++n) {
56
10.1M
    for (size_t m = 0; m < COLS; ++m) {
57
8.09M
      to.Write(from.Read(n, m), m, n);
58
8.09M
    }
59
2.02M
  }
60
505k
}
enc_group.cc:void jxl::N_AVX2::(anonymous namespace)::GenericTransposeBlock<1ul, 2ul, jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::TransposeSimdTag<false>, jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Line
Count
Source
52
559k
    size_t ROWSp, size_t COLSp) {
53
559k
  size_t ROWS = ROWS_or_0 == 0 ? ROWSp : ROWS_or_0;
54
559k
  size_t COLS = COLS_or_0 == 0 ? COLSp : COLS_or_0;
55
1.11M
  for (size_t n = 0; n < ROWS; ++n) {
56
1.67M
    for (size_t m = 0; m < COLS; ++m) {
57
1.11M
      to.Write(from.Read(n, m), m, n);
58
1.11M
    }
59
559k
  }
60
559k
}
enc_group.cc:void jxl::N_AVX2::(anonymous namespace)::GenericTransposeBlock<2ul, 1ul, jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::TransposeSimdTag<false>, jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Line
Count
Source
52
287k
    size_t ROWSp, size_t COLSp) {
53
287k
  size_t ROWS = ROWS_or_0 == 0 ? ROWSp : ROWS_or_0;
54
287k
  size_t COLS = COLS_or_0 == 0 ? COLSp : COLS_or_0;
55
863k
  for (size_t n = 0; n < ROWS; ++n) {
56
1.15M
    for (size_t m = 0; m < COLS; ++m) {
57
575k
      to.Write(from.Read(n, m), m, n);
58
575k
    }
59
575k
  }
60
287k
}
enc_group.cc:void jxl::N_AVX2::(anonymous namespace)::GenericTransposeBlock<2ul, 2ul, jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::TransposeSimdTag<false>, jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Line
Count
Source
52
199k
    size_t ROWSp, size_t COLSp) {
53
199k
  size_t ROWS = ROWS_or_0 == 0 ? ROWSp : ROWS_or_0;
54
199k
  size_t COLS = COLS_or_0 == 0 ? COLSp : COLS_or_0;
55
599k
  for (size_t n = 0; n < ROWS; ++n) {
56
1.19M
    for (size_t m = 0; m < COLS; ++m) {
57
799k
      to.Write(from.Read(n, m), m, n);
58
799k
    }
59
399k
  }
60
199k
}
Unexecuted instantiation: enc_group.cc:void jxl::N_AVX2::(anonymous namespace)::GenericTransposeBlock<1ul, 4ul, jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::TransposeSimdTag<false>, jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_group.cc:void jxl::N_AVX2::(anonymous namespace)::GenericTransposeBlock<4ul, 1ul, jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::TransposeSimdTag<false>, jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
enc_group.cc:void jxl::N_AVX2::(anonymous namespace)::GenericTransposeBlock<2ul, 4ul, jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::TransposeSimdTag<false>, jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Line
Count
Source
52
130k
    size_t ROWSp, size_t COLSp) {
53
130k
  size_t ROWS = ROWS_or_0 == 0 ? ROWSp : ROWS_or_0;
54
130k
  size_t COLS = COLS_or_0 == 0 ? COLSp : COLS_or_0;
55
392k
  for (size_t n = 0; n < ROWS; ++n) {
56
1.30M
    for (size_t m = 0; m < COLS; ++m) {
57
1.04M
      to.Write(from.Read(n, m), m, n);
58
1.04M
    }
59
261k
  }
60
130k
}
enc_group.cc:void jxl::N_AVX2::(anonymous namespace)::GenericTransposeBlock<4ul, 2ul, jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::TransposeSimdTag<false>, jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Line
Count
Source
52
67.3k
    size_t ROWSp, size_t COLSp) {
53
67.3k
  size_t ROWS = ROWS_or_0 == 0 ? ROWSp : ROWS_or_0;
54
67.3k
  size_t COLS = COLS_or_0 == 0 ? COLSp : COLS_or_0;
55
336k
  for (size_t n = 0; n < ROWS; ++n) {
56
808k
    for (size_t m = 0; m < COLS; ++m) {
57
538k
      to.Write(from.Read(n, m), m, n);
58
538k
    }
59
269k
  }
60
67.3k
}
Unexecuted instantiation: enc_group.cc:void jxl::N_SSE2::(anonymous namespace)::GenericTransposeBlock<1ul, 2ul, jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::TransposeSimdTag<false>, jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_group.cc:void jxl::N_SSE2::(anonymous namespace)::GenericTransposeBlock<2ul, 1ul, jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::TransposeSimdTag<false>, jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_group.cc:void jxl::N_SSE2::(anonymous namespace)::GenericTransposeBlock<2ul, 2ul, jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::TransposeSimdTag<false>, jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_group.cc:void jxl::N_SSE2::(anonymous namespace)::GenericTransposeBlock<1ul, 4ul, jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::TransposeSimdTag<false>, jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_group.cc:void jxl::N_SSE2::(anonymous namespace)::GenericTransposeBlock<4ul, 1ul, jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::TransposeSimdTag<false>, jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_group.cc:void jxl::N_SSE2::(anonymous namespace)::GenericTransposeBlock<2ul, 4ul, jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::TransposeSimdTag<false>, jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_group.cc:void jxl::N_SSE2::(anonymous namespace)::GenericTransposeBlock<4ul, 2ul, jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::TransposeSimdTag<false>, jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_chroma_from_luma.cc:void jxl::N_SSE4::(anonymous namespace)::GenericTransposeBlock<1ul, 2ul, jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::TransposeSimdTag<false>, jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_chroma_from_luma.cc:void jxl::N_SSE4::(anonymous namespace)::GenericTransposeBlock<2ul, 1ul, jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::TransposeSimdTag<false>, jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_chroma_from_luma.cc:void jxl::N_SSE4::(anonymous namespace)::GenericTransposeBlock<2ul, 2ul, jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::TransposeSimdTag<false>, jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_chroma_from_luma.cc:void jxl::N_SSE4::(anonymous namespace)::GenericTransposeBlock<1ul, 4ul, jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::TransposeSimdTag<false>, jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_chroma_from_luma.cc:void jxl::N_SSE4::(anonymous namespace)::GenericTransposeBlock<4ul, 1ul, jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::TransposeSimdTag<false>, jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_chroma_from_luma.cc:void jxl::N_SSE4::(anonymous namespace)::GenericTransposeBlock<2ul, 4ul, jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::TransposeSimdTag<false>, jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_chroma_from_luma.cc:void jxl::N_SSE4::(anonymous namespace)::GenericTransposeBlock<4ul, 2ul, jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::TransposeSimdTag<false>, jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
enc_chroma_from_luma.cc:void jxl::N_AVX2::(anonymous namespace)::GenericTransposeBlock<8ul, 4ul, jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::TransposeSimdTag<false>, jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Line
Count
Source
52
925k
    size_t ROWSp, size_t COLSp) {
53
925k
  size_t ROWS = ROWS_or_0 == 0 ? ROWSp : ROWS_or_0;
54
925k
  size_t COLS = COLS_or_0 == 0 ? COLSp : COLS_or_0;
55
8.32M
  for (size_t n = 0; n < ROWS; ++n) {
56
37.0M
    for (size_t m = 0; m < COLS; ++m) {
57
29.6M
      to.Write(from.Read(n, m), m, n);
58
29.6M
    }
59
7.40M
  }
60
925k
}
enc_chroma_from_luma.cc:void jxl::N_AVX2::(anonymous namespace)::GenericTransposeBlock<4ul, 8ul, jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::TransposeSimdTag<false>, jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Line
Count
Source
52
565k
    size_t ROWSp, size_t COLSp) {
53
565k
  size_t ROWS = ROWS_or_0 == 0 ? ROWSp : ROWS_or_0;
54
565k
  size_t COLS = COLS_or_0 == 0 ? COLSp : COLS_or_0;
55
2.82M
  for (size_t n = 0; n < ROWS; ++n) {
56
20.3M
    for (size_t m = 0; m < COLS; ++m) {
57
18.0M
      to.Write(from.Read(n, m), m, n);
58
18.0M
    }
59
2.26M
  }
60
565k
}
enc_chroma_from_luma.cc:void jxl::N_AVX2::(anonymous namespace)::GenericTransposeBlock<4ul, 4ul, jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::TransposeSimdTag<false>, jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Line
Count
Source
52
505k
    size_t ROWSp, size_t COLSp) {
53
505k
  size_t ROWS = ROWS_or_0 == 0 ? ROWSp : ROWS_or_0;
54
505k
  size_t COLS = COLS_or_0 == 0 ? COLSp : COLS_or_0;
55
2.52M
  for (size_t n = 0; n < ROWS; ++n) {
56
10.1M
    for (size_t m = 0; m < COLS; ++m) {
57
8.09M
      to.Write(from.Read(n, m), m, n);
58
8.09M
    }
59
2.02M
  }
60
505k
}
enc_chroma_from_luma.cc:void jxl::N_AVX2::(anonymous namespace)::GenericTransposeBlock<1ul, 2ul, jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::TransposeSimdTag<false>, jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Line
Count
Source
52
559k
    size_t ROWSp, size_t COLSp) {
53
559k
  size_t ROWS = ROWS_or_0 == 0 ? ROWSp : ROWS_or_0;
54
559k
  size_t COLS = COLS_or_0 == 0 ? COLSp : COLS_or_0;
55
1.11M
  for (size_t n = 0; n < ROWS; ++n) {
56
1.67M
    for (size_t m = 0; m < COLS; ++m) {
57
1.11M
      to.Write(from.Read(n, m), m, n);
58
1.11M
    }
59
559k
  }
60
559k
}
enc_chroma_from_luma.cc:void jxl::N_AVX2::(anonymous namespace)::GenericTransposeBlock<2ul, 1ul, jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::TransposeSimdTag<false>, jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Line
Count
Source
52
287k
    size_t ROWSp, size_t COLSp) {
53
287k
  size_t ROWS = ROWS_or_0 == 0 ? ROWSp : ROWS_or_0;
54
287k
  size_t COLS = COLS_or_0 == 0 ? COLSp : COLS_or_0;
55
863k
  for (size_t n = 0; n < ROWS; ++n) {
56
1.15M
    for (size_t m = 0; m < COLS; ++m) {
57
575k
      to.Write(from.Read(n, m), m, n);
58
575k
    }
59
575k
  }
60
287k
}
enc_chroma_from_luma.cc:void jxl::N_AVX2::(anonymous namespace)::GenericTransposeBlock<2ul, 2ul, jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::TransposeSimdTag<false>, jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Line
Count
Source
52
199k
    size_t ROWSp, size_t COLSp) {
53
199k
  size_t ROWS = ROWS_or_0 == 0 ? ROWSp : ROWS_or_0;
54
199k
  size_t COLS = COLS_or_0 == 0 ? COLSp : COLS_or_0;
55
599k
  for (size_t n = 0; n < ROWS; ++n) {
56
1.19M
    for (size_t m = 0; m < COLS; ++m) {
57
799k
      to.Write(from.Read(n, m), m, n);
58
799k
    }
59
399k
  }
60
199k
}
Unexecuted instantiation: enc_chroma_from_luma.cc:void jxl::N_AVX2::(anonymous namespace)::GenericTransposeBlock<1ul, 4ul, jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::TransposeSimdTag<false>, jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_chroma_from_luma.cc:void jxl::N_AVX2::(anonymous namespace)::GenericTransposeBlock<4ul, 1ul, jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::TransposeSimdTag<false>, jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
enc_chroma_from_luma.cc:void jxl::N_AVX2::(anonymous namespace)::GenericTransposeBlock<2ul, 4ul, jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::TransposeSimdTag<false>, jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Line
Count
Source
52
130k
    size_t ROWSp, size_t COLSp) {
53
130k
  size_t ROWS = ROWS_or_0 == 0 ? ROWSp : ROWS_or_0;
54
130k
  size_t COLS = COLS_or_0 == 0 ? COLSp : COLS_or_0;
55
392k
  for (size_t n = 0; n < ROWS; ++n) {
56
1.30M
    for (size_t m = 0; m < COLS; ++m) {
57
1.04M
      to.Write(from.Read(n, m), m, n);
58
1.04M
    }
59
261k
  }
60
130k
}
enc_chroma_from_luma.cc:void jxl::N_AVX2::(anonymous namespace)::GenericTransposeBlock<4ul, 2ul, jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::TransposeSimdTag<false>, jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Line
Count
Source
52
67.3k
    size_t ROWSp, size_t COLSp) {
53
67.3k
  size_t ROWS = ROWS_or_0 == 0 ? ROWSp : ROWS_or_0;
54
67.3k
  size_t COLS = COLS_or_0 == 0 ? COLSp : COLS_or_0;
55
336k
  for (size_t n = 0; n < ROWS; ++n) {
56
808k
    for (size_t m = 0; m < COLS; ++m) {
57
538k
      to.Write(from.Read(n, m), m, n);
58
538k
    }
59
269k
  }
60
67.3k
}
Unexecuted instantiation: enc_chroma_from_luma.cc:void jxl::N_SSE2::(anonymous namespace)::GenericTransposeBlock<1ul, 2ul, jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::TransposeSimdTag<false>, jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_chroma_from_luma.cc:void jxl::N_SSE2::(anonymous namespace)::GenericTransposeBlock<2ul, 1ul, jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::TransposeSimdTag<false>, jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_chroma_from_luma.cc:void jxl::N_SSE2::(anonymous namespace)::GenericTransposeBlock<2ul, 2ul, jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::TransposeSimdTag<false>, jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_chroma_from_luma.cc:void jxl::N_SSE2::(anonymous namespace)::GenericTransposeBlock<1ul, 4ul, jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::TransposeSimdTag<false>, jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_chroma_from_luma.cc:void jxl::N_SSE2::(anonymous namespace)::GenericTransposeBlock<4ul, 1ul, jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::TransposeSimdTag<false>, jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_chroma_from_luma.cc:void jxl::N_SSE2::(anonymous namespace)::GenericTransposeBlock<2ul, 4ul, jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::TransposeSimdTag<false>, jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_chroma_from_luma.cc:void jxl::N_SSE2::(anonymous namespace)::GenericTransposeBlock<4ul, 2ul, jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::TransposeSimdTag<false>, jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
enc_ac_strategy.cc:void jxl::N_AVX2::(anonymous namespace)::GenericTransposeBlock<8ul, 4ul, jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::TransposeSimdTag<false>, jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Line
Count
Source
52
228M
    size_t ROWSp, size_t COLSp) {
53
228M
  size_t ROWS = ROWS_or_0 == 0 ? ROWSp : ROWS_or_0;
54
228M
  size_t COLS = COLS_or_0 == 0 ? COLSp : COLS_or_0;
55
2.05G
  for (size_t n = 0; n < ROWS; ++n) {
56
9.12G
    for (size_t m = 0; m < COLS; ++m) {
57
7.30G
      to.Write(from.Read(n, m), m, n);
58
7.30G
    }
59
1.82G
  }
60
228M
}
enc_ac_strategy.cc:void jxl::N_AVX2::(anonymous namespace)::GenericTransposeBlock<4ul, 8ul, jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::TransposeSimdTag<false>, jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Line
Count
Source
52
228M
    size_t ROWSp, size_t COLSp) {
53
228M
  size_t ROWS = ROWS_or_0 == 0 ? ROWSp : ROWS_or_0;
54
228M
  size_t COLS = COLS_or_0 == 0 ? COLSp : COLS_or_0;
55
1.14G
  for (size_t n = 0; n < ROWS; ++n) {
56
8.21G
    for (size_t m = 0; m < COLS; ++m) {
57
7.30G
      to.Write(from.Read(n, m), m, n);
58
7.30G
    }
59
912M
  }
60
228M
}
enc_ac_strategy.cc:void jxl::N_AVX2::(anonymous namespace)::GenericTransposeBlock<4ul, 4ul, jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::TransposeSimdTag<false>, jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Line
Count
Source
52
260M
    size_t ROWSp, size_t COLSp) {
53
260M
  size_t ROWS = ROWS_or_0 == 0 ? ROWSp : ROWS_or_0;
54
260M
  size_t COLS = COLS_or_0 == 0 ? COLSp : COLS_or_0;
55
1.30G
  for (size_t n = 0; n < ROWS; ++n) {
56
5.21G
    for (size_t m = 0; m < COLS; ++m) {
57
4.17G
      to.Write(from.Read(n, m), m, n);
58
4.17G
    }
59
1.04G
  }
60
260M
}
Unexecuted instantiation: enc_ac_strategy.cc:void jxl::N_SSE4::(anonymous namespace)::GenericTransposeBlock<2ul, 1ul, jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::TransposeSimdTag<false>, jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_ac_strategy.cc:void jxl::N_SSE4::(anonymous namespace)::GenericTransposeBlock<1ul, 2ul, jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::TransposeSimdTag<false>, jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_ac_strategy.cc:void jxl::N_SSE4::(anonymous namespace)::GenericTransposeBlock<2ul, 2ul, jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::TransposeSimdTag<false>, jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_ac_strategy.cc:void jxl::N_SSE4::(anonymous namespace)::GenericTransposeBlock<4ul, 1ul, jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::TransposeSimdTag<false>, jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_ac_strategy.cc:void jxl::N_SSE4::(anonymous namespace)::GenericTransposeBlock<1ul, 4ul, jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::TransposeSimdTag<false>, jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_ac_strategy.cc:void jxl::N_SSE4::(anonymous namespace)::GenericTransposeBlock<4ul, 2ul, jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::TransposeSimdTag<false>, jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_ac_strategy.cc:void jxl::N_SSE4::(anonymous namespace)::GenericTransposeBlock<2ul, 4ul, jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::TransposeSimdTag<false>, jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_ac_strategy.cc:void jxl::N_AVX2::(anonymous namespace)::GenericTransposeBlock<2ul, 1ul, jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::TransposeSimdTag<false>, jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_ac_strategy.cc:void jxl::N_AVX2::(anonymous namespace)::GenericTransposeBlock<1ul, 2ul, jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::TransposeSimdTag<false>, jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_ac_strategy.cc:void jxl::N_AVX2::(anonymous namespace)::GenericTransposeBlock<2ul, 2ul, jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::TransposeSimdTag<false>, jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_ac_strategy.cc:void jxl::N_AVX2::(anonymous namespace)::GenericTransposeBlock<4ul, 1ul, jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::TransposeSimdTag<false>, jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_ac_strategy.cc:void jxl::N_AVX2::(anonymous namespace)::GenericTransposeBlock<1ul, 4ul, jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::TransposeSimdTag<false>, jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_ac_strategy.cc:void jxl::N_AVX2::(anonymous namespace)::GenericTransposeBlock<4ul, 2ul, jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::TransposeSimdTag<false>, jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_ac_strategy.cc:void jxl::N_AVX2::(anonymous namespace)::GenericTransposeBlock<2ul, 4ul, jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::TransposeSimdTag<false>, jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_ac_strategy.cc:void jxl::N_SSE2::(anonymous namespace)::GenericTransposeBlock<2ul, 1ul, jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::TransposeSimdTag<false>, jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_ac_strategy.cc:void jxl::N_SSE2::(anonymous namespace)::GenericTransposeBlock<1ul, 2ul, jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::TransposeSimdTag<false>, jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_ac_strategy.cc:void jxl::N_SSE2::(anonymous namespace)::GenericTransposeBlock<2ul, 2ul, jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::TransposeSimdTag<false>, jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_ac_strategy.cc:void jxl::N_SSE2::(anonymous namespace)::GenericTransposeBlock<4ul, 1ul, jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::TransposeSimdTag<false>, jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_ac_strategy.cc:void jxl::N_SSE2::(anonymous namespace)::GenericTransposeBlock<1ul, 4ul, jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::TransposeSimdTag<false>, jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_ac_strategy.cc:void jxl::N_SSE2::(anonymous namespace)::GenericTransposeBlock<4ul, 2ul, jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::TransposeSimdTag<false>, jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_ac_strategy.cc:void jxl::N_SSE2::(anonymous namespace)::GenericTransposeBlock<2ul, 4ul, jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::TransposeSimdTag<false>, jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
dec_group.cc:void jxl::N_AVX2::(anonymous namespace)::GenericTransposeBlock<4ul, 8ul, jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::TransposeSimdTag<false>, jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Line
Count
Source
52
2.75M
    size_t ROWSp, size_t COLSp) {
53
2.75M
  size_t ROWS = ROWS_or_0 == 0 ? ROWSp : ROWS_or_0;
54
2.75M
  size_t COLS = COLS_or_0 == 0 ? COLSp : COLS_or_0;
55
13.7M
  for (size_t n = 0; n < ROWS; ++n) {
56
99.2M
    for (size_t m = 0; m < COLS; ++m) {
57
88.2M
      to.Write(from.Read(n, m), m, n);
58
88.2M
    }
59
11.0M
  }
60
2.75M
}
dec_group.cc:void jxl::N_AVX2::(anonymous namespace)::GenericTransposeBlock<8ul, 4ul, jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::TransposeSimdTag<false>, jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Line
Count
Source
52
1.67M
    size_t ROWSp, size_t COLSp) {
53
1.67M
  size_t ROWS = ROWS_or_0 == 0 ? ROWSp : ROWS_or_0;
54
1.67M
  size_t COLS = COLS_or_0 == 0 ? COLSp : COLS_or_0;
55
15.0M
  for (size_t n = 0; n < ROWS; ++n) {
56
66.8M
    for (size_t m = 0; m < COLS; ++m) {
57
53.4M
      to.Write(from.Read(n, m), m, n);
58
53.4M
    }
59
13.3M
  }
60
1.67M
}
dec_group.cc:void jxl::N_AVX2::(anonymous namespace)::GenericTransposeBlock<4ul, 4ul, jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::TransposeSimdTag<false>, jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Line
Count
Source
52
1.52M
    size_t ROWSp, size_t COLSp) {
53
1.52M
  size_t ROWS = ROWS_or_0 == 0 ? ROWSp : ROWS_or_0;
54
1.52M
  size_t COLS = COLS_or_0 == 0 ? COLSp : COLS_or_0;
55
7.62M
  for (size_t n = 0; n < ROWS; ++n) {
56
30.4M
    for (size_t m = 0; m < COLS; ++m) {
57
24.3M
      to.Write(from.Read(n, m), m, n);
58
24.3M
    }
59
6.09M
  }
60
1.52M
}
Unexecuted instantiation: dec_group.cc:void jxl::N_SSE4::(anonymous namespace)::GenericTransposeBlock<2ul, 1ul, jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::TransposeSimdTag<false>, jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: dec_group.cc:void jxl::N_SSE4::(anonymous namespace)::GenericTransposeBlock<1ul, 2ul, jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::TransposeSimdTag<false>, jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: dec_group.cc:void jxl::N_SSE4::(anonymous namespace)::GenericTransposeBlock<2ul, 2ul, jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::TransposeSimdTag<false>, jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: dec_group.cc:void jxl::N_SSE4::(anonymous namespace)::GenericTransposeBlock<4ul, 1ul, jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::TransposeSimdTag<false>, jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: dec_group.cc:void jxl::N_SSE4::(anonymous namespace)::GenericTransposeBlock<1ul, 4ul, jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::TransposeSimdTag<false>, jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: dec_group.cc:void jxl::N_SSE4::(anonymous namespace)::GenericTransposeBlock<4ul, 2ul, jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::TransposeSimdTag<false>, jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: dec_group.cc:void jxl::N_SSE4::(anonymous namespace)::GenericTransposeBlock<2ul, 4ul, jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::TransposeSimdTag<false>, jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
dec_group.cc:void jxl::N_AVX2::(anonymous namespace)::GenericTransposeBlock<2ul, 1ul, jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::TransposeSimdTag<false>, jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Line
Count
Source
52
1.67M
    size_t ROWSp, size_t COLSp) {
53
1.67M
  size_t ROWS = ROWS_or_0 == 0 ? ROWSp : ROWS_or_0;
54
1.67M
  size_t COLS = COLS_or_0 == 0 ? COLSp : COLS_or_0;
55
5.02M
  for (size_t n = 0; n < ROWS; ++n) {
56
6.69M
    for (size_t m = 0; m < COLS; ++m) {
57
3.34M
      to.Write(from.Read(n, m), m, n);
58
3.34M
    }
59
3.34M
  }
60
1.67M
}
dec_group.cc:void jxl::N_AVX2::(anonymous namespace)::GenericTransposeBlock<1ul, 2ul, jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::TransposeSimdTag<false>, jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Line
Count
Source
52
867k
    size_t ROWSp, size_t COLSp) {
53
867k
  size_t ROWS = ROWS_or_0 == 0 ? ROWSp : ROWS_or_0;
54
867k
  size_t COLS = COLS_or_0 == 0 ? COLSp : COLS_or_0;
55
1.73M
  for (size_t n = 0; n < ROWS; ++n) {
56
2.60M
    for (size_t m = 0; m < COLS; ++m) {
57
1.73M
      to.Write(from.Read(n, m), m, n);
58
1.73M
    }
59
867k
  }
60
867k
}
dec_group.cc:void jxl::N_AVX2::(anonymous namespace)::GenericTransposeBlock<2ul, 2ul, jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::TransposeSimdTag<false>, jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Line
Count
Source
52
598k
    size_t ROWSp, size_t COLSp) {
53
598k
  size_t ROWS = ROWS_or_0 == 0 ? ROWSp : ROWS_or_0;
54
598k
  size_t COLS = COLS_or_0 == 0 ? COLSp : COLS_or_0;
55
1.79M
  for (size_t n = 0; n < ROWS; ++n) {
56
3.59M
    for (size_t m = 0; m < COLS; ++m) {
57
2.39M
      to.Write(from.Read(n, m), m, n);
58
2.39M
    }
59
1.19M
  }
60
598k
}
dec_group.cc:void jxl::N_AVX2::(anonymous namespace)::GenericTransposeBlock<4ul, 1ul, jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::TransposeSimdTag<false>, jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Line
Count
Source
52
168
    size_t ROWSp, size_t COLSp) {
53
168
  size_t ROWS = ROWS_or_0 == 0 ? ROWSp : ROWS_or_0;
54
168
  size_t COLS = COLS_or_0 == 0 ? COLSp : COLS_or_0;
55
840
  for (size_t n = 0; n < ROWS; ++n) {
56
1.34k
    for (size_t m = 0; m < COLS; ++m) {
57
672
      to.Write(from.Read(n, m), m, n);
58
672
    }
59
672
  }
60
168
}
dec_group.cc:void jxl::N_AVX2::(anonymous namespace)::GenericTransposeBlock<1ul, 4ul, jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::TransposeSimdTag<false>, jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Line
Count
Source
52
132
    size_t ROWSp, size_t COLSp) {
53
132
  size_t ROWS = ROWS_or_0 == 0 ? ROWSp : ROWS_or_0;
54
132
  size_t COLS = COLS_or_0 == 0 ? COLSp : COLS_or_0;
55
264
  for (size_t n = 0; n < ROWS; ++n) {
56
660
    for (size_t m = 0; m < COLS; ++m) {
57
528
      to.Write(from.Read(n, m), m, n);
58
528
    }
59
132
  }
60
132
}
dec_group.cc:void jxl::N_AVX2::(anonymous namespace)::GenericTransposeBlock<4ul, 2ul, jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::TransposeSimdTag<false>, jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Line
Count
Source
52
389k
    size_t ROWSp, size_t COLSp) {
53
389k
  size_t ROWS = ROWS_or_0 == 0 ? ROWSp : ROWS_or_0;
54
389k
  size_t COLS = COLS_or_0 == 0 ? COLSp : COLS_or_0;
55
1.94M
  for (size_t n = 0; n < ROWS; ++n) {
56
4.67M
    for (size_t m = 0; m < COLS; ++m) {
57
3.11M
      to.Write(from.Read(n, m), m, n);
58
3.11M
    }
59
1.55M
  }
60
389k
}
dec_group.cc:void jxl::N_AVX2::(anonymous namespace)::GenericTransposeBlock<2ul, 4ul, jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::TransposeSimdTag<false>, jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Line
Count
Source
52
200k
    size_t ROWSp, size_t COLSp) {
53
200k
  size_t ROWS = ROWS_or_0 == 0 ? ROWSp : ROWS_or_0;
54
200k
  size_t COLS = COLS_or_0 == 0 ? COLSp : COLS_or_0;
55
602k
  for (size_t n = 0; n < ROWS; ++n) {
56
2.00M
    for (size_t m = 0; m < COLS; ++m) {
57
1.60M
      to.Write(from.Read(n, m), m, n);
58
1.60M
    }
59
401k
  }
60
200k
}
Unexecuted instantiation: dec_group.cc:void jxl::N_SSE2::(anonymous namespace)::GenericTransposeBlock<2ul, 1ul, jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::TransposeSimdTag<false>, jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: dec_group.cc:void jxl::N_SSE2::(anonymous namespace)::GenericTransposeBlock<1ul, 2ul, jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::TransposeSimdTag<false>, jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: dec_group.cc:void jxl::N_SSE2::(anonymous namespace)::GenericTransposeBlock<2ul, 2ul, jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::TransposeSimdTag<false>, jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: dec_group.cc:void jxl::N_SSE2::(anonymous namespace)::GenericTransposeBlock<4ul, 1ul, jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::TransposeSimdTag<false>, jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: dec_group.cc:void jxl::N_SSE2::(anonymous namespace)::GenericTransposeBlock<1ul, 4ul, jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::TransposeSimdTag<false>, jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: dec_group.cc:void jxl::N_SSE2::(anonymous namespace)::GenericTransposeBlock<4ul, 2ul, jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::TransposeSimdTag<false>, jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: dec_group.cc:void jxl::N_SSE2::(anonymous namespace)::GenericTransposeBlock<2ul, 4ul, jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::TransposeSimdTag<false>, jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
61
62
// TODO(veluca): AVX3?
63
#if HWY_CAP_GE256
64
0
constexpr bool TransposeUseSimd(size_t ROWS, size_t COLS) {
65
0
  return ROWS % 8 == 0 && COLS % 8 == 0;
66
0
}
Unexecuted instantiation: enc_adaptive_quantization.cc:jxl::N_AVX2::(anonymous namespace)::TransposeUseSimd(unsigned long, unsigned long)
Unexecuted instantiation: enc_group.cc:jxl::N_AVX2::(anonymous namespace)::TransposeUseSimd(unsigned long, unsigned long)
Unexecuted instantiation: enc_chroma_from_luma.cc:jxl::N_AVX2::(anonymous namespace)::TransposeUseSimd(unsigned long, unsigned long)
Unexecuted instantiation: enc_ac_strategy.cc:jxl::N_AVX2::(anonymous namespace)::TransposeUseSimd(unsigned long, unsigned long)
Unexecuted instantiation: dec_group.cc:jxl::N_AVX2::(anonymous namespace)::TransposeUseSimd(unsigned long, unsigned long)
67
68
template <size_t ROWS_or_0, size_t COLS_or_0, class From, class To>
69
JXL_INLINE_TRANSPOSE void GenericTransposeBlock(
70
    TransposeSimdTag<true> /* tag */, const From& from, const To& to,
71
180M
    size_t ROWSp, size_t COLSp) {
72
180M
  size_t ROWS = ROWS_or_0 == 0 ? ROWSp : ROWS_or_0;
73
180M
  size_t COLS = COLS_or_0 == 0 ? COLSp : COLS_or_0;
74
180M
  JXL_DASSERT(Lanes(BlockDesc<8>()) == 8);
75
180M
  static_assert(ROWS_or_0 % 8 == 0, "Invalid number of rows");
76
180M
  static_assert(COLS_or_0 % 8 == 0, "Invalid number of columns");
77
482M
  for (size_t n = 0; n < ROWS; n += 8) {
78
933M
    for (size_t m = 0; m < COLS; m += 8) {
79
631M
      const BlockDesc<8> d;
80
631M
      auto i0 = from.LoadPart(d, n + 0, m + 0);
81
631M
      auto i1 = from.LoadPart(d, n + 1, m + 0);
82
631M
      auto i2 = from.LoadPart(d, n + 2, m + 0);
83
631M
      auto i3 = from.LoadPart(d, n + 3, m + 0);
84
631M
      auto i4 = from.LoadPart(d, n + 4, m + 0);
85
631M
      auto i5 = from.LoadPart(d, n + 5, m + 0);
86
631M
      auto i6 = from.LoadPart(d, n + 6, m + 0);
87
631M
      auto i7 = from.LoadPart(d, n + 7, m + 0);
88
      // Surprisingly, this straightforward implementation (24 cycles on port5)
89
      // is faster than load128+insert and LoadDup128+ConcatUpperLower+blend.
90
631M
      const auto q0 = InterleaveLower(d, i0, i2);
91
631M
      const auto q1 = InterleaveLower(d, i1, i3);
92
631M
      const auto q2 = InterleaveUpper(d, i0, i2);
93
631M
      const auto q3 = InterleaveUpper(d, i1, i3);
94
631M
      const auto q4 = InterleaveLower(d, i4, i6);
95
631M
      const auto q5 = InterleaveLower(d, i5, i7);
96
631M
      const auto q6 = InterleaveUpper(d, i4, i6);
97
631M
      const auto q7 = InterleaveUpper(d, i5, i7);
98
99
631M
      const auto r0 = InterleaveLower(d, q0, q1);
100
631M
      const auto r1 = InterleaveUpper(d, q0, q1);
101
631M
      const auto r2 = InterleaveLower(d, q2, q3);
102
631M
      const auto r3 = InterleaveUpper(d, q2, q3);
103
631M
      const auto r4 = InterleaveLower(d, q4, q5);
104
631M
      const auto r5 = InterleaveUpper(d, q4, q5);
105
631M
      const auto r6 = InterleaveLower(d, q6, q7);
106
631M
      const auto r7 = InterleaveUpper(d, q6, q7);
107
108
631M
      i0 = ConcatLowerLower(d, r4, r0);
109
631M
      i1 = ConcatLowerLower(d, r5, r1);
110
631M
      i2 = ConcatLowerLower(d, r6, r2);
111
631M
      i3 = ConcatLowerLower(d, r7, r3);
112
631M
      i4 = ConcatUpperUpper(d, r4, r0);
113
631M
      i5 = ConcatUpperUpper(d, r5, r1);
114
631M
      i6 = ConcatUpperUpper(d, r6, r2);
115
631M
      i7 = ConcatUpperUpper(d, r7, r3);
116
631M
      to.StorePart(d, i0, m + 0, n + 0);
117
631M
      to.StorePart(d, i1, m + 1, n + 0);
118
631M
      to.StorePart(d, i2, m + 2, n + 0);
119
631M
      to.StorePart(d, i3, m + 3, n + 0);
120
631M
      to.StorePart(d, i4, m + 4, n + 0);
121
631M
      to.StorePart(d, i5, m + 5, n + 0);
122
631M
      to.StorePart(d, i6, m + 6, n + 0);
123
631M
      to.StorePart(d, i7, m + 7, n + 0);
124
631M
    }
125
301M
  }
126
180M
}
Unexecuted instantiation: enc_adaptive_quantization.cc:void jxl::N_AVX2::(anonymous namespace)::GenericTransposeBlock<16ul, 16ul, jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::TransposeSimdTag<true>, jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_adaptive_quantization.cc:void jxl::N_AVX2::(anonymous namespace)::GenericTransposeBlock<16ul, 8ul, jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::TransposeSimdTag<true>, jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_adaptive_quantization.cc:void jxl::N_AVX2::(anonymous namespace)::GenericTransposeBlock<8ul, 16ul, jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::TransposeSimdTag<true>, jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_adaptive_quantization.cc:void jxl::N_AVX2::(anonymous namespace)::GenericTransposeBlock<32ul, 8ul, jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::TransposeSimdTag<true>, jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_adaptive_quantization.cc:void jxl::N_AVX2::(anonymous namespace)::GenericTransposeBlock<8ul, 32ul, jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::TransposeSimdTag<true>, jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_adaptive_quantization.cc:void jxl::N_AVX2::(anonymous namespace)::GenericTransposeBlock<0ul, 0ul, jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::TransposeSimdTag<true>, jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_adaptive_quantization.cc:void jxl::N_AVX2::(anonymous namespace)::GenericTransposeBlock<8ul, 8ul, jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::TransposeSimdTag<true>, jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
enc_group.cc:void jxl::N_AVX2::(anonymous namespace)::GenericTransposeBlock<16ul, 16ul, jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::TransposeSimdTag<true>, jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Line
Count
Source
71
199k
    size_t ROWSp, size_t COLSp) {
72
199k
  size_t ROWS = ROWS_or_0 == 0 ? ROWSp : ROWS_or_0;
73
199k
  size_t COLS = COLS_or_0 == 0 ? COLSp : COLS_or_0;
74
199k
  JXL_DASSERT(Lanes(BlockDesc<8>()) == 8);
75
199k
  static_assert(ROWS_or_0 % 8 == 0, "Invalid number of rows");
76
199k
  static_assert(COLS_or_0 % 8 == 0, "Invalid number of columns");
77
599k
  for (size_t n = 0; n < ROWS; n += 8) {
78
1.19M
    for (size_t m = 0; m < COLS; m += 8) {
79
799k
      const BlockDesc<8> d;
80
799k
      auto i0 = from.LoadPart(d, n + 0, m + 0);
81
799k
      auto i1 = from.LoadPart(d, n + 1, m + 0);
82
799k
      auto i2 = from.LoadPart(d, n + 2, m + 0);
83
799k
      auto i3 = from.LoadPart(d, n + 3, m + 0);
84
799k
      auto i4 = from.LoadPart(d, n + 4, m + 0);
85
799k
      auto i5 = from.LoadPart(d, n + 5, m + 0);
86
799k
      auto i6 = from.LoadPart(d, n + 6, m + 0);
87
799k
      auto i7 = from.LoadPart(d, n + 7, m + 0);
88
      // Surprisingly, this straightforward implementation (24 cycles on port5)
89
      // is faster than load128+insert and LoadDup128+ConcatUpperLower+blend.
90
799k
      const auto q0 = InterleaveLower(d, i0, i2);
91
799k
      const auto q1 = InterleaveLower(d, i1, i3);
92
799k
      const auto q2 = InterleaveUpper(d, i0, i2);
93
799k
      const auto q3 = InterleaveUpper(d, i1, i3);
94
799k
      const auto q4 = InterleaveLower(d, i4, i6);
95
799k
      const auto q5 = InterleaveLower(d, i5, i7);
96
799k
      const auto q6 = InterleaveUpper(d, i4, i6);
97
799k
      const auto q7 = InterleaveUpper(d, i5, i7);
98
99
799k
      const auto r0 = InterleaveLower(d, q0, q1);
100
799k
      const auto r1 = InterleaveUpper(d, q0, q1);
101
799k
      const auto r2 = InterleaveLower(d, q2, q3);
102
799k
      const auto r3 = InterleaveUpper(d, q2, q3);
103
799k
      const auto r4 = InterleaveLower(d, q4, q5);
104
799k
      const auto r5 = InterleaveUpper(d, q4, q5);
105
799k
      const auto r6 = InterleaveLower(d, q6, q7);
106
799k
      const auto r7 = InterleaveUpper(d, q6, q7);
107
108
799k
      i0 = ConcatLowerLower(d, r4, r0);
109
799k
      i1 = ConcatLowerLower(d, r5, r1);
110
799k
      i2 = ConcatLowerLower(d, r6, r2);
111
799k
      i3 = ConcatLowerLower(d, r7, r3);
112
799k
      i4 = ConcatUpperUpper(d, r4, r0);
113
799k
      i5 = ConcatUpperUpper(d, r5, r1);
114
799k
      i6 = ConcatUpperUpper(d, r6, r2);
115
799k
      i7 = ConcatUpperUpper(d, r7, r3);
116
799k
      to.StorePart(d, i0, m + 0, n + 0);
117
799k
      to.StorePart(d, i1, m + 1, n + 0);
118
799k
      to.StorePart(d, i2, m + 2, n + 0);
119
799k
      to.StorePart(d, i3, m + 3, n + 0);
120
799k
      to.StorePart(d, i4, m + 4, n + 0);
121
799k
      to.StorePart(d, i5, m + 5, n + 0);
122
799k
      to.StorePart(d, i6, m + 6, n + 0);
123
799k
      to.StorePart(d, i7, m + 7, n + 0);
124
799k
    }
125
399k
  }
126
199k
}
enc_group.cc:void jxl::N_AVX2::(anonymous namespace)::GenericTransposeBlock<16ul, 8ul, jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::TransposeSimdTag<true>, jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Line
Count
Source
71
559k
    size_t ROWSp, size_t COLSp) {
72
559k
  size_t ROWS = ROWS_or_0 == 0 ? ROWSp : ROWS_or_0;
73
559k
  size_t COLS = COLS_or_0 == 0 ? COLSp : COLS_or_0;
74
559k
  JXL_DASSERT(Lanes(BlockDesc<8>()) == 8);
75
559k
  static_assert(ROWS_or_0 % 8 == 0, "Invalid number of rows");
76
559k
  static_assert(COLS_or_0 % 8 == 0, "Invalid number of columns");
77
1.67M
  for (size_t n = 0; n < ROWS; n += 8) {
78
2.23M
    for (size_t m = 0; m < COLS; m += 8) {
79
1.11M
      const BlockDesc<8> d;
80
1.11M
      auto i0 = from.LoadPart(d, n + 0, m + 0);
81
1.11M
      auto i1 = from.LoadPart(d, n + 1, m + 0);
82
1.11M
      auto i2 = from.LoadPart(d, n + 2, m + 0);
83
1.11M
      auto i3 = from.LoadPart(d, n + 3, m + 0);
84
1.11M
      auto i4 = from.LoadPart(d, n + 4, m + 0);
85
1.11M
      auto i5 = from.LoadPart(d, n + 5, m + 0);
86
1.11M
      auto i6 = from.LoadPart(d, n + 6, m + 0);
87
1.11M
      auto i7 = from.LoadPart(d, n + 7, m + 0);
88
      // Surprisingly, this straightforward implementation (24 cycles on port5)
89
      // is faster than load128+insert and LoadDup128+ConcatUpperLower+blend.
90
1.11M
      const auto q0 = InterleaveLower(d, i0, i2);
91
1.11M
      const auto q1 = InterleaveLower(d, i1, i3);
92
1.11M
      const auto q2 = InterleaveUpper(d, i0, i2);
93
1.11M
      const auto q3 = InterleaveUpper(d, i1, i3);
94
1.11M
      const auto q4 = InterleaveLower(d, i4, i6);
95
1.11M
      const auto q5 = InterleaveLower(d, i5, i7);
96
1.11M
      const auto q6 = InterleaveUpper(d, i4, i6);
97
1.11M
      const auto q7 = InterleaveUpper(d, i5, i7);
98
99
1.11M
      const auto r0 = InterleaveLower(d, q0, q1);
100
1.11M
      const auto r1 = InterleaveUpper(d, q0, q1);
101
1.11M
      const auto r2 = InterleaveLower(d, q2, q3);
102
1.11M
      const auto r3 = InterleaveUpper(d, q2, q3);
103
1.11M
      const auto r4 = InterleaveLower(d, q4, q5);
104
1.11M
      const auto r5 = InterleaveUpper(d, q4, q5);
105
1.11M
      const auto r6 = InterleaveLower(d, q6, q7);
106
1.11M
      const auto r7 = InterleaveUpper(d, q6, q7);
107
108
1.11M
      i0 = ConcatLowerLower(d, r4, r0);
109
1.11M
      i1 = ConcatLowerLower(d, r5, r1);
110
1.11M
      i2 = ConcatLowerLower(d, r6, r2);
111
1.11M
      i3 = ConcatLowerLower(d, r7, r3);
112
1.11M
      i4 = ConcatUpperUpper(d, r4, r0);
113
1.11M
      i5 = ConcatUpperUpper(d, r5, r1);
114
1.11M
      i6 = ConcatUpperUpper(d, r6, r2);
115
1.11M
      i7 = ConcatUpperUpper(d, r7, r3);
116
1.11M
      to.StorePart(d, i0, m + 0, n + 0);
117
1.11M
      to.StorePart(d, i1, m + 1, n + 0);
118
1.11M
      to.StorePart(d, i2, m + 2, n + 0);
119
1.11M
      to.StorePart(d, i3, m + 3, n + 0);
120
1.11M
      to.StorePart(d, i4, m + 4, n + 0);
121
1.11M
      to.StorePart(d, i5, m + 5, n + 0);
122
1.11M
      to.StorePart(d, i6, m + 6, n + 0);
123
1.11M
      to.StorePart(d, i7, m + 7, n + 0);
124
1.11M
    }
125
1.11M
  }
126
559k
}
enc_group.cc:void jxl::N_AVX2::(anonymous namespace)::GenericTransposeBlock<8ul, 16ul, jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::TransposeSimdTag<true>, jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Line
Count
Source
71
287k
    size_t ROWSp, size_t COLSp) {
72
287k
  size_t ROWS = ROWS_or_0 == 0 ? ROWSp : ROWS_or_0;
73
287k
  size_t COLS = COLS_or_0 == 0 ? COLSp : COLS_or_0;
74
287k
  JXL_DASSERT(Lanes(BlockDesc<8>()) == 8);
75
287k
  static_assert(ROWS_or_0 % 8 == 0, "Invalid number of rows");
76
287k
  static_assert(COLS_or_0 % 8 == 0, "Invalid number of columns");
77
575k
  for (size_t n = 0; n < ROWS; n += 8) {
78
863k
    for (size_t m = 0; m < COLS; m += 8) {
79
575k
      const BlockDesc<8> d;
80
575k
      auto i0 = from.LoadPart(d, n + 0, m + 0);
81
575k
      auto i1 = from.LoadPart(d, n + 1, m + 0);
82
575k
      auto i2 = from.LoadPart(d, n + 2, m + 0);
83
575k
      auto i3 = from.LoadPart(d, n + 3, m + 0);
84
575k
      auto i4 = from.LoadPart(d, n + 4, m + 0);
85
575k
      auto i5 = from.LoadPart(d, n + 5, m + 0);
86
575k
      auto i6 = from.LoadPart(d, n + 6, m + 0);
87
575k
      auto i7 = from.LoadPart(d, n + 7, m + 0);
88
      // Surprisingly, this straightforward implementation (24 cycles on port5)
89
      // is faster than load128+insert and LoadDup128+ConcatUpperLower+blend.
90
575k
      const auto q0 = InterleaveLower(d, i0, i2);
91
575k
      const auto q1 = InterleaveLower(d, i1, i3);
92
575k
      const auto q2 = InterleaveUpper(d, i0, i2);
93
575k
      const auto q3 = InterleaveUpper(d, i1, i3);
94
575k
      const auto q4 = InterleaveLower(d, i4, i6);
95
575k
      const auto q5 = InterleaveLower(d, i5, i7);
96
575k
      const auto q6 = InterleaveUpper(d, i4, i6);
97
575k
      const auto q7 = InterleaveUpper(d, i5, i7);
98
99
575k
      const auto r0 = InterleaveLower(d, q0, q1);
100
575k
      const auto r1 = InterleaveUpper(d, q0, q1);
101
575k
      const auto r2 = InterleaveLower(d, q2, q3);
102
575k
      const auto r3 = InterleaveUpper(d, q2, q3);
103
575k
      const auto r4 = InterleaveLower(d, q4, q5);
104
575k
      const auto r5 = InterleaveUpper(d, q4, q5);
105
575k
      const auto r6 = InterleaveLower(d, q6, q7);
106
575k
      const auto r7 = InterleaveUpper(d, q6, q7);
107
108
575k
      i0 = ConcatLowerLower(d, r4, r0);
109
575k
      i1 = ConcatLowerLower(d, r5, r1);
110
575k
      i2 = ConcatLowerLower(d, r6, r2);
111
575k
      i3 = ConcatLowerLower(d, r7, r3);
112
575k
      i4 = ConcatUpperUpper(d, r4, r0);
113
575k
      i5 = ConcatUpperUpper(d, r5, r1);
114
575k
      i6 = ConcatUpperUpper(d, r6, r2);
115
575k
      i7 = ConcatUpperUpper(d, r7, r3);
116
575k
      to.StorePart(d, i0, m + 0, n + 0);
117
575k
      to.StorePart(d, i1, m + 1, n + 0);
118
575k
      to.StorePart(d, i2, m + 2, n + 0);
119
575k
      to.StorePart(d, i3, m + 3, n + 0);
120
575k
      to.StorePart(d, i4, m + 4, n + 0);
121
575k
      to.StorePart(d, i5, m + 5, n + 0);
122
575k
      to.StorePart(d, i6, m + 6, n + 0);
123
575k
      to.StorePart(d, i7, m + 7, n + 0);
124
575k
    }
125
287k
  }
126
287k
}
Unexecuted instantiation: enc_group.cc:void jxl::N_AVX2::(anonymous namespace)::GenericTransposeBlock<32ul, 8ul, jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::TransposeSimdTag<true>, jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_group.cc:void jxl::N_AVX2::(anonymous namespace)::GenericTransposeBlock<8ul, 32ul, jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::TransposeSimdTag<true>, jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
enc_group.cc:void jxl::N_AVX2::(anonymous namespace)::GenericTransposeBlock<0ul, 0ul, jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::TransposeSimdTag<true>, jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Line
Count
Source
71
427k
    size_t ROWSp, size_t COLSp) {
72
427k
  size_t ROWS = ROWS_or_0 == 0 ? ROWSp : ROWS_or_0;
73
427k
  size_t COLS = COLS_or_0 == 0 ? COLSp : COLS_or_0;
74
427k
  JXL_DASSERT(Lanes(BlockDesc<8>()) == 8);
75
427k
  static_assert(ROWS_or_0 % 8 == 0, "Invalid number of rows");
76
427k
  static_assert(COLS_or_0 % 8 == 0, "Invalid number of columns");
77
2.36M
  for (size_t n = 0; n < ROWS; n += 8) {
78
11.0M
    for (size_t m = 0; m < COLS; m += 8) {
79
9.06M
      const BlockDesc<8> d;
80
9.06M
      auto i0 = from.LoadPart(d, n + 0, m + 0);
81
9.06M
      auto i1 = from.LoadPart(d, n + 1, m + 0);
82
9.06M
      auto i2 = from.LoadPart(d, n + 2, m + 0);
83
9.06M
      auto i3 = from.LoadPart(d, n + 3, m + 0);
84
9.06M
      auto i4 = from.LoadPart(d, n + 4, m + 0);
85
9.06M
      auto i5 = from.LoadPart(d, n + 5, m + 0);
86
9.06M
      auto i6 = from.LoadPart(d, n + 6, m + 0);
87
9.06M
      auto i7 = from.LoadPart(d, n + 7, m + 0);
88
      // Surprisingly, this straightforward implementation (24 cycles on port5)
89
      // is faster than load128+insert and LoadDup128+ConcatUpperLower+blend.
90
9.06M
      const auto q0 = InterleaveLower(d, i0, i2);
91
9.06M
      const auto q1 = InterleaveLower(d, i1, i3);
92
9.06M
      const auto q2 = InterleaveUpper(d, i0, i2);
93
9.06M
      const auto q3 = InterleaveUpper(d, i1, i3);
94
9.06M
      const auto q4 = InterleaveLower(d, i4, i6);
95
9.06M
      const auto q5 = InterleaveLower(d, i5, i7);
96
9.06M
      const auto q6 = InterleaveUpper(d, i4, i6);
97
9.06M
      const auto q7 = InterleaveUpper(d, i5, i7);
98
99
9.06M
      const auto r0 = InterleaveLower(d, q0, q1);
100
9.06M
      const auto r1 = InterleaveUpper(d, q0, q1);
101
9.06M
      const auto r2 = InterleaveLower(d, q2, q3);
102
9.06M
      const auto r3 = InterleaveUpper(d, q2, q3);
103
9.06M
      const auto r4 = InterleaveLower(d, q4, q5);
104
9.06M
      const auto r5 = InterleaveUpper(d, q4, q5);
105
9.06M
      const auto r6 = InterleaveLower(d, q6, q7);
106
9.06M
      const auto r7 = InterleaveUpper(d, q6, q7);
107
108
9.06M
      i0 = ConcatLowerLower(d, r4, r0);
109
9.06M
      i1 = ConcatLowerLower(d, r5, r1);
110
9.06M
      i2 = ConcatLowerLower(d, r6, r2);
111
9.06M
      i3 = ConcatLowerLower(d, r7, r3);
112
9.06M
      i4 = ConcatUpperUpper(d, r4, r0);
113
9.06M
      i5 = ConcatUpperUpper(d, r5, r1);
114
9.06M
      i6 = ConcatUpperUpper(d, r6, r2);
115
9.06M
      i7 = ConcatUpperUpper(d, r7, r3);
116
9.06M
      to.StorePart(d, i0, m + 0, n + 0);
117
9.06M
      to.StorePart(d, i1, m + 1, n + 0);
118
9.06M
      to.StorePart(d, i2, m + 2, n + 0);
119
9.06M
      to.StorePart(d, i3, m + 3, n + 0);
120
9.06M
      to.StorePart(d, i4, m + 4, n + 0);
121
9.06M
      to.StorePart(d, i5, m + 5, n + 0);
122
9.06M
      to.StorePart(d, i6, m + 6, n + 0);
123
9.06M
      to.StorePart(d, i7, m + 7, n + 0);
124
9.06M
    }
125
1.94M
  }
126
427k
}
enc_group.cc:void jxl::N_AVX2::(anonymous namespace)::GenericTransposeBlock<8ul, 8ul, jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::TransposeSimdTag<true>, jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Line
Count
Source
71
2.15M
    size_t ROWSp, size_t COLSp) {
72
2.15M
  size_t ROWS = ROWS_or_0 == 0 ? ROWSp : ROWS_or_0;
73
2.15M
  size_t COLS = COLS_or_0 == 0 ? COLSp : COLS_or_0;
74
2.15M
  JXL_DASSERT(Lanes(BlockDesc<8>()) == 8);
75
2.15M
  static_assert(ROWS_or_0 % 8 == 0, "Invalid number of rows");
76
2.15M
  static_assert(COLS_or_0 % 8 == 0, "Invalid number of columns");
77
4.31M
  for (size_t n = 0; n < ROWS; n += 8) {
78
4.31M
    for (size_t m = 0; m < COLS; m += 8) {
79
2.15M
      const BlockDesc<8> d;
80
2.15M
      auto i0 = from.LoadPart(d, n + 0, m + 0);
81
2.15M
      auto i1 = from.LoadPart(d, n + 1, m + 0);
82
2.15M
      auto i2 = from.LoadPart(d, n + 2, m + 0);
83
2.15M
      auto i3 = from.LoadPart(d, n + 3, m + 0);
84
2.15M
      auto i4 = from.LoadPart(d, n + 4, m + 0);
85
2.15M
      auto i5 = from.LoadPart(d, n + 5, m + 0);
86
2.15M
      auto i6 = from.LoadPart(d, n + 6, m + 0);
87
2.15M
      auto i7 = from.LoadPart(d, n + 7, m + 0);
88
      // Surprisingly, this straightforward implementation (24 cycles on port5)
89
      // is faster than load128+insert and LoadDup128+ConcatUpperLower+blend.
90
2.15M
      const auto q0 = InterleaveLower(d, i0, i2);
91
2.15M
      const auto q1 = InterleaveLower(d, i1, i3);
92
2.15M
      const auto q2 = InterleaveUpper(d, i0, i2);
93
2.15M
      const auto q3 = InterleaveUpper(d, i1, i3);
94
2.15M
      const auto q4 = InterleaveLower(d, i4, i6);
95
2.15M
      const auto q5 = InterleaveLower(d, i5, i7);
96
2.15M
      const auto q6 = InterleaveUpper(d, i4, i6);
97
2.15M
      const auto q7 = InterleaveUpper(d, i5, i7);
98
99
2.15M
      const auto r0 = InterleaveLower(d, q0, q1);
100
2.15M
      const auto r1 = InterleaveUpper(d, q0, q1);
101
2.15M
      const auto r2 = InterleaveLower(d, q2, q3);
102
2.15M
      const auto r3 = InterleaveUpper(d, q2, q3);
103
2.15M
      const auto r4 = InterleaveLower(d, q4, q5);
104
2.15M
      const auto r5 = InterleaveUpper(d, q4, q5);
105
2.15M
      const auto r6 = InterleaveLower(d, q6, q7);
106
2.15M
      const auto r7 = InterleaveUpper(d, q6, q7);
107
108
2.15M
      i0 = ConcatLowerLower(d, r4, r0);
109
2.15M
      i1 = ConcatLowerLower(d, r5, r1);
110
2.15M
      i2 = ConcatLowerLower(d, r6, r2);
111
2.15M
      i3 = ConcatLowerLower(d, r7, r3);
112
2.15M
      i4 = ConcatUpperUpper(d, r4, r0);
113
2.15M
      i5 = ConcatUpperUpper(d, r5, r1);
114
2.15M
      i6 = ConcatUpperUpper(d, r6, r2);
115
2.15M
      i7 = ConcatUpperUpper(d, r7, r3);
116
2.15M
      to.StorePart(d, i0, m + 0, n + 0);
117
2.15M
      to.StorePart(d, i1, m + 1, n + 0);
118
2.15M
      to.StorePart(d, i2, m + 2, n + 0);
119
2.15M
      to.StorePart(d, i3, m + 3, n + 0);
120
2.15M
      to.StorePart(d, i4, m + 4, n + 0);
121
2.15M
      to.StorePart(d, i5, m + 5, n + 0);
122
2.15M
      to.StorePart(d, i6, m + 6, n + 0);
123
2.15M
      to.StorePart(d, i7, m + 7, n + 0);
124
2.15M
    }
125
2.15M
  }
126
2.15M
}
enc_chroma_from_luma.cc:void jxl::N_AVX2::(anonymous namespace)::GenericTransposeBlock<16ul, 16ul, jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::TransposeSimdTag<true>, jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Line
Count
Source
71
199k
    size_t ROWSp, size_t COLSp) {
72
199k
  size_t ROWS = ROWS_or_0 == 0 ? ROWSp : ROWS_or_0;
73
199k
  size_t COLS = COLS_or_0 == 0 ? COLSp : COLS_or_0;
74
199k
  JXL_DASSERT(Lanes(BlockDesc<8>()) == 8);
75
199k
  static_assert(ROWS_or_0 % 8 == 0, "Invalid number of rows");
76
199k
  static_assert(COLS_or_0 % 8 == 0, "Invalid number of columns");
77
599k
  for (size_t n = 0; n < ROWS; n += 8) {
78
1.19M
    for (size_t m = 0; m < COLS; m += 8) {
79
799k
      const BlockDesc<8> d;
80
799k
      auto i0 = from.LoadPart(d, n + 0, m + 0);
81
799k
      auto i1 = from.LoadPart(d, n + 1, m + 0);
82
799k
      auto i2 = from.LoadPart(d, n + 2, m + 0);
83
799k
      auto i3 = from.LoadPart(d, n + 3, m + 0);
84
799k
      auto i4 = from.LoadPart(d, n + 4, m + 0);
85
799k
      auto i5 = from.LoadPart(d, n + 5, m + 0);
86
799k
      auto i6 = from.LoadPart(d, n + 6, m + 0);
87
799k
      auto i7 = from.LoadPart(d, n + 7, m + 0);
88
      // Surprisingly, this straightforward implementation (24 cycles on port5)
89
      // is faster than load128+insert and LoadDup128+ConcatUpperLower+blend.
90
799k
      const auto q0 = InterleaveLower(d, i0, i2);
91
799k
      const auto q1 = InterleaveLower(d, i1, i3);
92
799k
      const auto q2 = InterleaveUpper(d, i0, i2);
93
799k
      const auto q3 = InterleaveUpper(d, i1, i3);
94
799k
      const auto q4 = InterleaveLower(d, i4, i6);
95
799k
      const auto q5 = InterleaveLower(d, i5, i7);
96
799k
      const auto q6 = InterleaveUpper(d, i4, i6);
97
799k
      const auto q7 = InterleaveUpper(d, i5, i7);
98
99
799k
      const auto r0 = InterleaveLower(d, q0, q1);
100
799k
      const auto r1 = InterleaveUpper(d, q0, q1);
101
799k
      const auto r2 = InterleaveLower(d, q2, q3);
102
799k
      const auto r3 = InterleaveUpper(d, q2, q3);
103
799k
      const auto r4 = InterleaveLower(d, q4, q5);
104
799k
      const auto r5 = InterleaveUpper(d, q4, q5);
105
799k
      const auto r6 = InterleaveLower(d, q6, q7);
106
799k
      const auto r7 = InterleaveUpper(d, q6, q7);
107
108
799k
      i0 = ConcatLowerLower(d, r4, r0);
109
799k
      i1 = ConcatLowerLower(d, r5, r1);
110
799k
      i2 = ConcatLowerLower(d, r6, r2);
111
799k
      i3 = ConcatLowerLower(d, r7, r3);
112
799k
      i4 = ConcatUpperUpper(d, r4, r0);
113
799k
      i5 = ConcatUpperUpper(d, r5, r1);
114
799k
      i6 = ConcatUpperUpper(d, r6, r2);
115
799k
      i7 = ConcatUpperUpper(d, r7, r3);
116
799k
      to.StorePart(d, i0, m + 0, n + 0);
117
799k
      to.StorePart(d, i1, m + 1, n + 0);
118
799k
      to.StorePart(d, i2, m + 2, n + 0);
119
799k
      to.StorePart(d, i3, m + 3, n + 0);
120
799k
      to.StorePart(d, i4, m + 4, n + 0);
121
799k
      to.StorePart(d, i5, m + 5, n + 0);
122
799k
      to.StorePart(d, i6, m + 6, n + 0);
123
799k
      to.StorePart(d, i7, m + 7, n + 0);
124
799k
    }
125
399k
  }
126
199k
}
enc_chroma_from_luma.cc:void jxl::N_AVX2::(anonymous namespace)::GenericTransposeBlock<16ul, 8ul, jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::TransposeSimdTag<true>, jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Line
Count
Source
71
559k
    size_t ROWSp, size_t COLSp) {
72
559k
  size_t ROWS = ROWS_or_0 == 0 ? ROWSp : ROWS_or_0;
73
559k
  size_t COLS = COLS_or_0 == 0 ? COLSp : COLS_or_0;
74
559k
  JXL_DASSERT(Lanes(BlockDesc<8>()) == 8);
75
559k
  static_assert(ROWS_or_0 % 8 == 0, "Invalid number of rows");
76
559k
  static_assert(COLS_or_0 % 8 == 0, "Invalid number of columns");
77
1.67M
  for (size_t n = 0; n < ROWS; n += 8) {
78
2.23M
    for (size_t m = 0; m < COLS; m += 8) {
79
1.11M
      const BlockDesc<8> d;
80
1.11M
      auto i0 = from.LoadPart(d, n + 0, m + 0);
81
1.11M
      auto i1 = from.LoadPart(d, n + 1, m + 0);
82
1.11M
      auto i2 = from.LoadPart(d, n + 2, m + 0);
83
1.11M
      auto i3 = from.LoadPart(d, n + 3, m + 0);
84
1.11M
      auto i4 = from.LoadPart(d, n + 4, m + 0);
85
1.11M
      auto i5 = from.LoadPart(d, n + 5, m + 0);
86
1.11M
      auto i6 = from.LoadPart(d, n + 6, m + 0);
87
1.11M
      auto i7 = from.LoadPart(d, n + 7, m + 0);
88
      // Surprisingly, this straightforward implementation (24 cycles on port5)
89
      // is faster than load128+insert and LoadDup128+ConcatUpperLower+blend.
90
1.11M
      const auto q0 = InterleaveLower(d, i0, i2);
91
1.11M
      const auto q1 = InterleaveLower(d, i1, i3);
92
1.11M
      const auto q2 = InterleaveUpper(d, i0, i2);
93
1.11M
      const auto q3 = InterleaveUpper(d, i1, i3);
94
1.11M
      const auto q4 = InterleaveLower(d, i4, i6);
95
1.11M
      const auto q5 = InterleaveLower(d, i5, i7);
96
1.11M
      const auto q6 = InterleaveUpper(d, i4, i6);
97
1.11M
      const auto q7 = InterleaveUpper(d, i5, i7);
98
99
1.11M
      const auto r0 = InterleaveLower(d, q0, q1);
100
1.11M
      const auto r1 = InterleaveUpper(d, q0, q1);
101
1.11M
      const auto r2 = InterleaveLower(d, q2, q3);
102
1.11M
      const auto r3 = InterleaveUpper(d, q2, q3);
103
1.11M
      const auto r4 = InterleaveLower(d, q4, q5);
104
1.11M
      const auto r5 = InterleaveUpper(d, q4, q5);
105
1.11M
      const auto r6 = InterleaveLower(d, q6, q7);
106
1.11M
      const auto r7 = InterleaveUpper(d, q6, q7);
107
108
1.11M
      i0 = ConcatLowerLower(d, r4, r0);
109
1.11M
      i1 = ConcatLowerLower(d, r5, r1);
110
1.11M
      i2 = ConcatLowerLower(d, r6, r2);
111
1.11M
      i3 = ConcatLowerLower(d, r7, r3);
112
1.11M
      i4 = ConcatUpperUpper(d, r4, r0);
113
1.11M
      i5 = ConcatUpperUpper(d, r5, r1);
114
1.11M
      i6 = ConcatUpperUpper(d, r6, r2);
115
1.11M
      i7 = ConcatUpperUpper(d, r7, r3);
116
1.11M
      to.StorePart(d, i0, m + 0, n + 0);
117
1.11M
      to.StorePart(d, i1, m + 1, n + 0);
118
1.11M
      to.StorePart(d, i2, m + 2, n + 0);
119
1.11M
      to.StorePart(d, i3, m + 3, n + 0);
120
1.11M
      to.StorePart(d, i4, m + 4, n + 0);
121
1.11M
      to.StorePart(d, i5, m + 5, n + 0);
122
1.11M
      to.StorePart(d, i6, m + 6, n + 0);
123
1.11M
      to.StorePart(d, i7, m + 7, n + 0);
124
1.11M
    }
125
1.11M
  }
126
559k
}
enc_chroma_from_luma.cc:void jxl::N_AVX2::(anonymous namespace)::GenericTransposeBlock<8ul, 16ul, jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::TransposeSimdTag<true>, jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Line
Count
Source
71
287k
    size_t ROWSp, size_t COLSp) {
72
287k
  size_t ROWS = ROWS_or_0 == 0 ? ROWSp : ROWS_or_0;
73
287k
  size_t COLS = COLS_or_0 == 0 ? COLSp : COLS_or_0;
74
287k
  JXL_DASSERT(Lanes(BlockDesc<8>()) == 8);
75
287k
  static_assert(ROWS_or_0 % 8 == 0, "Invalid number of rows");
76
287k
  static_assert(COLS_or_0 % 8 == 0, "Invalid number of columns");
77
575k
  for (size_t n = 0; n < ROWS; n += 8) {
78
863k
    for (size_t m = 0; m < COLS; m += 8) {
79
575k
      const BlockDesc<8> d;
80
575k
      auto i0 = from.LoadPart(d, n + 0, m + 0);
81
575k
      auto i1 = from.LoadPart(d, n + 1, m + 0);
82
575k
      auto i2 = from.LoadPart(d, n + 2, m + 0);
83
575k
      auto i3 = from.LoadPart(d, n + 3, m + 0);
84
575k
      auto i4 = from.LoadPart(d, n + 4, m + 0);
85
575k
      auto i5 = from.LoadPart(d, n + 5, m + 0);
86
575k
      auto i6 = from.LoadPart(d, n + 6, m + 0);
87
575k
      auto i7 = from.LoadPart(d, n + 7, m + 0);
88
      // Surprisingly, this straightforward implementation (24 cycles on port5)
89
      // is faster than load128+insert and LoadDup128+ConcatUpperLower+blend.
90
575k
      const auto q0 = InterleaveLower(d, i0, i2);
91
575k
      const auto q1 = InterleaveLower(d, i1, i3);
92
575k
      const auto q2 = InterleaveUpper(d, i0, i2);
93
575k
      const auto q3 = InterleaveUpper(d, i1, i3);
94
575k
      const auto q4 = InterleaveLower(d, i4, i6);
95
575k
      const auto q5 = InterleaveLower(d, i5, i7);
96
575k
      const auto q6 = InterleaveUpper(d, i4, i6);
97
575k
      const auto q7 = InterleaveUpper(d, i5, i7);
98
99
575k
      const auto r0 = InterleaveLower(d, q0, q1);
100
575k
      const auto r1 = InterleaveUpper(d, q0, q1);
101
575k
      const auto r2 = InterleaveLower(d, q2, q3);
102
575k
      const auto r3 = InterleaveUpper(d, q2, q3);
103
575k
      const auto r4 = InterleaveLower(d, q4, q5);
104
575k
      const auto r5 = InterleaveUpper(d, q4, q5);
105
575k
      const auto r6 = InterleaveLower(d, q6, q7);
106
575k
      const auto r7 = InterleaveUpper(d, q6, q7);
107
108
575k
      i0 = ConcatLowerLower(d, r4, r0);
109
575k
      i1 = ConcatLowerLower(d, r5, r1);
110
575k
      i2 = ConcatLowerLower(d, r6, r2);
111
575k
      i3 = ConcatLowerLower(d, r7, r3);
112
575k
      i4 = ConcatUpperUpper(d, r4, r0);
113
575k
      i5 = ConcatUpperUpper(d, r5, r1);
114
575k
      i6 = ConcatUpperUpper(d, r6, r2);
115
575k
      i7 = ConcatUpperUpper(d, r7, r3);
116
575k
      to.StorePart(d, i0, m + 0, n + 0);
117
575k
      to.StorePart(d, i1, m + 1, n + 0);
118
575k
      to.StorePart(d, i2, m + 2, n + 0);
119
575k
      to.StorePart(d, i3, m + 3, n + 0);
120
575k
      to.StorePart(d, i4, m + 4, n + 0);
121
575k
      to.StorePart(d, i5, m + 5, n + 0);
122
575k
      to.StorePart(d, i6, m + 6, n + 0);
123
575k
      to.StorePart(d, i7, m + 7, n + 0);
124
575k
    }
125
287k
  }
126
287k
}
Unexecuted instantiation: enc_chroma_from_luma.cc:void jxl::N_AVX2::(anonymous namespace)::GenericTransposeBlock<32ul, 8ul, jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::TransposeSimdTag<true>, jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_chroma_from_luma.cc:void jxl::N_AVX2::(anonymous namespace)::GenericTransposeBlock<8ul, 32ul, jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::TransposeSimdTag<true>, jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
enc_chroma_from_luma.cc:void jxl::N_AVX2::(anonymous namespace)::GenericTransposeBlock<0ul, 0ul, jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::TransposeSimdTag<true>, jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Line
Count
Source
71
427k
    size_t ROWSp, size_t COLSp) {
72
427k
  size_t ROWS = ROWS_or_0 == 0 ? ROWSp : ROWS_or_0;
73
427k
  size_t COLS = COLS_or_0 == 0 ? COLSp : COLS_or_0;
74
427k
  JXL_DASSERT(Lanes(BlockDesc<8>()) == 8);
75
427k
  static_assert(ROWS_or_0 % 8 == 0, "Invalid number of rows");
76
427k
  static_assert(COLS_or_0 % 8 == 0, "Invalid number of columns");
77
2.36M
  for (size_t n = 0; n < ROWS; n += 8) {
78
11.0M
    for (size_t m = 0; m < COLS; m += 8) {
79
9.06M
      const BlockDesc<8> d;
80
9.06M
      auto i0 = from.LoadPart(d, n + 0, m + 0);
81
9.06M
      auto i1 = from.LoadPart(d, n + 1, m + 0);
82
9.06M
      auto i2 = from.LoadPart(d, n + 2, m + 0);
83
9.06M
      auto i3 = from.LoadPart(d, n + 3, m + 0);
84
9.06M
      auto i4 = from.LoadPart(d, n + 4, m + 0);
85
9.06M
      auto i5 = from.LoadPart(d, n + 5, m + 0);
86
9.06M
      auto i6 = from.LoadPart(d, n + 6, m + 0);
87
9.06M
      auto i7 = from.LoadPart(d, n + 7, m + 0);
88
      // Surprisingly, this straightforward implementation (24 cycles on port5)
89
      // is faster than load128+insert and LoadDup128+ConcatUpperLower+blend.
90
9.06M
      const auto q0 = InterleaveLower(d, i0, i2);
91
9.06M
      const auto q1 = InterleaveLower(d, i1, i3);
92
9.06M
      const auto q2 = InterleaveUpper(d, i0, i2);
93
9.06M
      const auto q3 = InterleaveUpper(d, i1, i3);
94
9.06M
      const auto q4 = InterleaveLower(d, i4, i6);
95
9.06M
      const auto q5 = InterleaveLower(d, i5, i7);
96
9.06M
      const auto q6 = InterleaveUpper(d, i4, i6);
97
9.06M
      const auto q7 = InterleaveUpper(d, i5, i7);
98
99
9.06M
      const auto r0 = InterleaveLower(d, q0, q1);
100
9.06M
      const auto r1 = InterleaveUpper(d, q0, q1);
101
9.06M
      const auto r2 = InterleaveLower(d, q2, q3);
102
9.06M
      const auto r3 = InterleaveUpper(d, q2, q3);
103
9.06M
      const auto r4 = InterleaveLower(d, q4, q5);
104
9.06M
      const auto r5 = InterleaveUpper(d, q4, q5);
105
9.06M
      const auto r6 = InterleaveLower(d, q6, q7);
106
9.06M
      const auto r7 = InterleaveUpper(d, q6, q7);
107
108
9.06M
      i0 = ConcatLowerLower(d, r4, r0);
109
9.06M
      i1 = ConcatLowerLower(d, r5, r1);
110
9.06M
      i2 = ConcatLowerLower(d, r6, r2);
111
9.06M
      i3 = ConcatLowerLower(d, r7, r3);
112
9.06M
      i4 = ConcatUpperUpper(d, r4, r0);
113
9.06M
      i5 = ConcatUpperUpper(d, r5, r1);
114
9.06M
      i6 = ConcatUpperUpper(d, r6, r2);
115
9.06M
      i7 = ConcatUpperUpper(d, r7, r3);
116
9.06M
      to.StorePart(d, i0, m + 0, n + 0);
117
9.06M
      to.StorePart(d, i1, m + 1, n + 0);
118
9.06M
      to.StorePart(d, i2, m + 2, n + 0);
119
9.06M
      to.StorePart(d, i3, m + 3, n + 0);
120
9.06M
      to.StorePart(d, i4, m + 4, n + 0);
121
9.06M
      to.StorePart(d, i5, m + 5, n + 0);
122
9.06M
      to.StorePart(d, i6, m + 6, n + 0);
123
9.06M
      to.StorePart(d, i7, m + 7, n + 0);
124
9.06M
    }
125
1.94M
  }
126
427k
}
enc_chroma_from_luma.cc:void jxl::N_AVX2::(anonymous namespace)::GenericTransposeBlock<8ul, 8ul, jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::TransposeSimdTag<true>, jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Line
Count
Source
71
18.4M
    size_t ROWSp, size_t COLSp) {
72
18.4M
  size_t ROWS = ROWS_or_0 == 0 ? ROWSp : ROWS_or_0;
73
18.4M
  size_t COLS = COLS_or_0 == 0 ? COLSp : COLS_or_0;
74
18.4M
  JXL_DASSERT(Lanes(BlockDesc<8>()) == 8);
75
18.4M
  static_assert(ROWS_or_0 % 8 == 0, "Invalid number of rows");
76
18.4M
  static_assert(COLS_or_0 % 8 == 0, "Invalid number of columns");
77
36.9M
  for (size_t n = 0; n < ROWS; n += 8) {
78
36.9M
    for (size_t m = 0; m < COLS; m += 8) {
79
18.4M
      const BlockDesc<8> d;
80
18.4M
      auto i0 = from.LoadPart(d, n + 0, m + 0);
81
18.4M
      auto i1 = from.LoadPart(d, n + 1, m + 0);
82
18.4M
      auto i2 = from.LoadPart(d, n + 2, m + 0);
83
18.4M
      auto i3 = from.LoadPart(d, n + 3, m + 0);
84
18.4M
      auto i4 = from.LoadPart(d, n + 4, m + 0);
85
18.4M
      auto i5 = from.LoadPart(d, n + 5, m + 0);
86
18.4M
      auto i6 = from.LoadPart(d, n + 6, m + 0);
87
18.4M
      auto i7 = from.LoadPart(d, n + 7, m + 0);
88
      // Surprisingly, this straightforward implementation (24 cycles on port5)
89
      // is faster than load128+insert and LoadDup128+ConcatUpperLower+blend.
90
18.4M
      const auto q0 = InterleaveLower(d, i0, i2);
91
18.4M
      const auto q1 = InterleaveLower(d, i1, i3);
92
18.4M
      const auto q2 = InterleaveUpper(d, i0, i2);
93
18.4M
      const auto q3 = InterleaveUpper(d, i1, i3);
94
18.4M
      const auto q4 = InterleaveLower(d, i4, i6);
95
18.4M
      const auto q5 = InterleaveLower(d, i5, i7);
96
18.4M
      const auto q6 = InterleaveUpper(d, i4, i6);
97
18.4M
      const auto q7 = InterleaveUpper(d, i5, i7);
98
99
18.4M
      const auto r0 = InterleaveLower(d, q0, q1);
100
18.4M
      const auto r1 = InterleaveUpper(d, q0, q1);
101
18.4M
      const auto r2 = InterleaveLower(d, q2, q3);
102
18.4M
      const auto r3 = InterleaveUpper(d, q2, q3);
103
18.4M
      const auto r4 = InterleaveLower(d, q4, q5);
104
18.4M
      const auto r5 = InterleaveUpper(d, q4, q5);
105
18.4M
      const auto r6 = InterleaveLower(d, q6, q7);
106
18.4M
      const auto r7 = InterleaveUpper(d, q6, q7);
107
108
18.4M
      i0 = ConcatLowerLower(d, r4, r0);
109
18.4M
      i1 = ConcatLowerLower(d, r5, r1);
110
18.4M
      i2 = ConcatLowerLower(d, r6, r2);
111
18.4M
      i3 = ConcatLowerLower(d, r7, r3);
112
18.4M
      i4 = ConcatUpperUpper(d, r4, r0);
113
18.4M
      i5 = ConcatUpperUpper(d, r5, r1);
114
18.4M
      i6 = ConcatUpperUpper(d, r6, r2);
115
18.4M
      i7 = ConcatUpperUpper(d, r7, r3);
116
18.4M
      to.StorePart(d, i0, m + 0, n + 0);
117
18.4M
      to.StorePart(d, i1, m + 1, n + 0);
118
18.4M
      to.StorePart(d, i2, m + 2, n + 0);
119
18.4M
      to.StorePart(d, i3, m + 3, n + 0);
120
18.4M
      to.StorePart(d, i4, m + 4, n + 0);
121
18.4M
      to.StorePart(d, i5, m + 5, n + 0);
122
18.4M
      to.StorePart(d, i6, m + 6, n + 0);
123
18.4M
      to.StorePart(d, i7, m + 7, n + 0);
124
18.4M
    }
125
18.4M
  }
126
18.4M
}
enc_ac_strategy.cc:void jxl::N_AVX2::(anonymous namespace)::GenericTransposeBlock<16ul, 16ul, jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::TransposeSimdTag<true>, jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Line
Count
Source
71
13.1M
    size_t ROWSp, size_t COLSp) {
72
13.1M
  size_t ROWS = ROWS_or_0 == 0 ? ROWSp : ROWS_or_0;
73
13.1M
  size_t COLS = COLS_or_0 == 0 ? COLSp : COLS_or_0;
74
13.1M
  JXL_DASSERT(Lanes(BlockDesc<8>()) == 8);
75
13.1M
  static_assert(ROWS_or_0 % 8 == 0, "Invalid number of rows");
76
13.1M
  static_assert(COLS_or_0 % 8 == 0, "Invalid number of columns");
77
39.4M
  for (size_t n = 0; n < ROWS; n += 8) {
78
78.9M
    for (size_t m = 0; m < COLS; m += 8) {
79
52.6M
      const BlockDesc<8> d;
80
52.6M
      auto i0 = from.LoadPart(d, n + 0, m + 0);
81
52.6M
      auto i1 = from.LoadPart(d, n + 1, m + 0);
82
52.6M
      auto i2 = from.LoadPart(d, n + 2, m + 0);
83
52.6M
      auto i3 = from.LoadPart(d, n + 3, m + 0);
84
52.6M
      auto i4 = from.LoadPart(d, n + 4, m + 0);
85
52.6M
      auto i5 = from.LoadPart(d, n + 5, m + 0);
86
52.6M
      auto i6 = from.LoadPart(d, n + 6, m + 0);
87
52.6M
      auto i7 = from.LoadPart(d, n + 7, m + 0);
88
      // Surprisingly, this straightforward implementation (24 cycles on port5)
89
      // is faster than load128+insert and LoadDup128+ConcatUpperLower+blend.
90
52.6M
      const auto q0 = InterleaveLower(d, i0, i2);
91
52.6M
      const auto q1 = InterleaveLower(d, i1, i3);
92
52.6M
      const auto q2 = InterleaveUpper(d, i0, i2);
93
52.6M
      const auto q3 = InterleaveUpper(d, i1, i3);
94
52.6M
      const auto q4 = InterleaveLower(d, i4, i6);
95
52.6M
      const auto q5 = InterleaveLower(d, i5, i7);
96
52.6M
      const auto q6 = InterleaveUpper(d, i4, i6);
97
52.6M
      const auto q7 = InterleaveUpper(d, i5, i7);
98
99
52.6M
      const auto r0 = InterleaveLower(d, q0, q1);
100
52.6M
      const auto r1 = InterleaveUpper(d, q0, q1);
101
52.6M
      const auto r2 = InterleaveLower(d, q2, q3);
102
52.6M
      const auto r3 = InterleaveUpper(d, q2, q3);
103
52.6M
      const auto r4 = InterleaveLower(d, q4, q5);
104
52.6M
      const auto r5 = InterleaveUpper(d, q4, q5);
105
52.6M
      const auto r6 = InterleaveLower(d, q6, q7);
106
52.6M
      const auto r7 = InterleaveUpper(d, q6, q7);
107
108
52.6M
      i0 = ConcatLowerLower(d, r4, r0);
109
52.6M
      i1 = ConcatLowerLower(d, r5, r1);
110
52.6M
      i2 = ConcatLowerLower(d, r6, r2);
111
52.6M
      i3 = ConcatLowerLower(d, r7, r3);
112
52.6M
      i4 = ConcatUpperUpper(d, r4, r0);
113
52.6M
      i5 = ConcatUpperUpper(d, r5, r1);
114
52.6M
      i6 = ConcatUpperUpper(d, r6, r2);
115
52.6M
      i7 = ConcatUpperUpper(d, r7, r3);
116
52.6M
      to.StorePart(d, i0, m + 0, n + 0);
117
52.6M
      to.StorePart(d, i1, m + 1, n + 0);
118
52.6M
      to.StorePart(d, i2, m + 2, n + 0);
119
52.6M
      to.StorePart(d, i3, m + 3, n + 0);
120
52.6M
      to.StorePart(d, i4, m + 4, n + 0);
121
52.6M
      to.StorePart(d, i5, m + 5, n + 0);
122
52.6M
      to.StorePart(d, i6, m + 6, n + 0);
123
52.6M
      to.StorePart(d, i7, m + 7, n + 0);
124
52.6M
    }
125
26.3M
  }
126
13.1M
}
enc_ac_strategy.cc:void jxl::N_AVX2::(anonymous namespace)::GenericTransposeBlock<16ul, 8ul, jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::TransposeSimdTag<true>, jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Line
Count
Source
71
38.9M
    size_t ROWSp, size_t COLSp) {
72
38.9M
  size_t ROWS = ROWS_or_0 == 0 ? ROWSp : ROWS_or_0;
73
38.9M
  size_t COLS = COLS_or_0 == 0 ? COLSp : COLS_or_0;
74
38.9M
  JXL_DASSERT(Lanes(BlockDesc<8>()) == 8);
75
38.9M
  static_assert(ROWS_or_0 % 8 == 0, "Invalid number of rows");
76
38.9M
  static_assert(COLS_or_0 % 8 == 0, "Invalid number of columns");
77
116M
  for (size_t n = 0; n < ROWS; n += 8) {
78
155M
    for (size_t m = 0; m < COLS; m += 8) {
79
77.9M
      const BlockDesc<8> d;
80
77.9M
      auto i0 = from.LoadPart(d, n + 0, m + 0);
81
77.9M
      auto i1 = from.LoadPart(d, n + 1, m + 0);
82
77.9M
      auto i2 = from.LoadPart(d, n + 2, m + 0);
83
77.9M
      auto i3 = from.LoadPart(d, n + 3, m + 0);
84
77.9M
      auto i4 = from.LoadPart(d, n + 4, m + 0);
85
77.9M
      auto i5 = from.LoadPart(d, n + 5, m + 0);
86
77.9M
      auto i6 = from.LoadPart(d, n + 6, m + 0);
87
77.9M
      auto i7 = from.LoadPart(d, n + 7, m + 0);
88
      // Surprisingly, this straightforward implementation (24 cycles on port5)
89
      // is faster than load128+insert and LoadDup128+ConcatUpperLower+blend.
90
77.9M
      const auto q0 = InterleaveLower(d, i0, i2);
91
77.9M
      const auto q1 = InterleaveLower(d, i1, i3);
92
77.9M
      const auto q2 = InterleaveUpper(d, i0, i2);
93
77.9M
      const auto q3 = InterleaveUpper(d, i1, i3);
94
77.9M
      const auto q4 = InterleaveLower(d, i4, i6);
95
77.9M
      const auto q5 = InterleaveLower(d, i5, i7);
96
77.9M
      const auto q6 = InterleaveUpper(d, i4, i6);
97
77.9M
      const auto q7 = InterleaveUpper(d, i5, i7);
98
99
77.9M
      const auto r0 = InterleaveLower(d, q0, q1);
100
77.9M
      const auto r1 = InterleaveUpper(d, q0, q1);
101
77.9M
      const auto r2 = InterleaveLower(d, q2, q3);
102
77.9M
      const auto r3 = InterleaveUpper(d, q2, q3);
103
77.9M
      const auto r4 = InterleaveLower(d, q4, q5);
104
77.9M
      const auto r5 = InterleaveUpper(d, q4, q5);
105
77.9M
      const auto r6 = InterleaveLower(d, q6, q7);
106
77.9M
      const auto r7 = InterleaveUpper(d, q6, q7);
107
108
77.9M
      i0 = ConcatLowerLower(d, r4, r0);
109
77.9M
      i1 = ConcatLowerLower(d, r5, r1);
110
77.9M
      i2 = ConcatLowerLower(d, r6, r2);
111
77.9M
      i3 = ConcatLowerLower(d, r7, r3);
112
77.9M
      i4 = ConcatUpperUpper(d, r4, r0);
113
77.9M
      i5 = ConcatUpperUpper(d, r5, r1);
114
77.9M
      i6 = ConcatUpperUpper(d, r6, r2);
115
77.9M
      i7 = ConcatUpperUpper(d, r7, r3);
116
77.9M
      to.StorePart(d, i0, m + 0, n + 0);
117
77.9M
      to.StorePart(d, i1, m + 1, n + 0);
118
77.9M
      to.StorePart(d, i2, m + 2, n + 0);
119
77.9M
      to.StorePart(d, i3, m + 3, n + 0);
120
77.9M
      to.StorePart(d, i4, m + 4, n + 0);
121
77.9M
      to.StorePart(d, i5, m + 5, n + 0);
122
77.9M
      to.StorePart(d, i6, m + 6, n + 0);
123
77.9M
      to.StorePart(d, i7, m + 7, n + 0);
124
77.9M
    }
125
77.9M
  }
126
38.9M
}
enc_ac_strategy.cc:void jxl::N_AVX2::(anonymous namespace)::GenericTransposeBlock<8ul, 16ul, jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::TransposeSimdTag<true>, jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Line
Count
Source
71
38.9M
    size_t ROWSp, size_t COLSp) {
72
38.9M
  size_t ROWS = ROWS_or_0 == 0 ? ROWSp : ROWS_or_0;
73
38.9M
  size_t COLS = COLS_or_0 == 0 ? COLSp : COLS_or_0;
74
38.9M
  JXL_DASSERT(Lanes(BlockDesc<8>()) == 8);
75
38.9M
  static_assert(ROWS_or_0 % 8 == 0, "Invalid number of rows");
76
38.9M
  static_assert(COLS_or_0 % 8 == 0, "Invalid number of columns");
77
77.9M
  for (size_t n = 0; n < ROWS; n += 8) {
78
116M
    for (size_t m = 0; m < COLS; m += 8) {
79
77.9M
      const BlockDesc<8> d;
80
77.9M
      auto i0 = from.LoadPart(d, n + 0, m + 0);
81
77.9M
      auto i1 = from.LoadPart(d, n + 1, m + 0);
82
77.9M
      auto i2 = from.LoadPart(d, n + 2, m + 0);
83
77.9M
      auto i3 = from.LoadPart(d, n + 3, m + 0);
84
77.9M
      auto i4 = from.LoadPart(d, n + 4, m + 0);
85
77.9M
      auto i5 = from.LoadPart(d, n + 5, m + 0);
86
77.9M
      auto i6 = from.LoadPart(d, n + 6, m + 0);
87
77.9M
      auto i7 = from.LoadPart(d, n + 7, m + 0);
88
      // Surprisingly, this straightforward implementation (24 cycles on port5)
89
      // is faster than load128+insert and LoadDup128+ConcatUpperLower+blend.
90
77.9M
      const auto q0 = InterleaveLower(d, i0, i2);
91
77.9M
      const auto q1 = InterleaveLower(d, i1, i3);
92
77.9M
      const auto q2 = InterleaveUpper(d, i0, i2);
93
77.9M
      const auto q3 = InterleaveUpper(d, i1, i3);
94
77.9M
      const auto q4 = InterleaveLower(d, i4, i6);
95
77.9M
      const auto q5 = InterleaveLower(d, i5, i7);
96
77.9M
      const auto q6 = InterleaveUpper(d, i4, i6);
97
77.9M
      const auto q7 = InterleaveUpper(d, i5, i7);
98
99
77.9M
      const auto r0 = InterleaveLower(d, q0, q1);
100
77.9M
      const auto r1 = InterleaveUpper(d, q0, q1);
101
77.9M
      const auto r2 = InterleaveLower(d, q2, q3);
102
77.9M
      const auto r3 = InterleaveUpper(d, q2, q3);
103
77.9M
      const auto r4 = InterleaveLower(d, q4, q5);
104
77.9M
      const auto r5 = InterleaveUpper(d, q4, q5);
105
77.9M
      const auto r6 = InterleaveLower(d, q6, q7);
106
77.9M
      const auto r7 = InterleaveUpper(d, q6, q7);
107
108
77.9M
      i0 = ConcatLowerLower(d, r4, r0);
109
77.9M
      i1 = ConcatLowerLower(d, r5, r1);
110
77.9M
      i2 = ConcatLowerLower(d, r6, r2);
111
77.9M
      i3 = ConcatLowerLower(d, r7, r3);
112
77.9M
      i4 = ConcatUpperUpper(d, r4, r0);
113
77.9M
      i5 = ConcatUpperUpper(d, r5, r1);
114
77.9M
      i6 = ConcatUpperUpper(d, r6, r2);
115
77.9M
      i7 = ConcatUpperUpper(d, r7, r3);
116
77.9M
      to.StorePart(d, i0, m + 0, n + 0);
117
77.9M
      to.StorePart(d, i1, m + 1, n + 0);
118
77.9M
      to.StorePart(d, i2, m + 2, n + 0);
119
77.9M
      to.StorePart(d, i3, m + 3, n + 0);
120
77.9M
      to.StorePart(d, i4, m + 4, n + 0);
121
77.9M
      to.StorePart(d, i5, m + 5, n + 0);
122
77.9M
      to.StorePart(d, i6, m + 6, n + 0);
123
77.9M
      to.StorePart(d, i7, m + 7, n + 0);
124
77.9M
    }
125
38.9M
  }
126
38.9M
}
Unexecuted instantiation: enc_ac_strategy.cc:void jxl::N_AVX2::(anonymous namespace)::GenericTransposeBlock<32ul, 8ul, jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::TransposeSimdTag<true>, jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_ac_strategy.cc:void jxl::N_AVX2::(anonymous namespace)::GenericTransposeBlock<8ul, 32ul, jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::TransposeSimdTag<true>, jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
enc_ac_strategy.cc:void jxl::N_AVX2::(anonymous namespace)::GenericTransposeBlock<0ul, 0ul, jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::TransposeSimdTag<true>, jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Line
Count
Source
71
21.9M
    size_t ROWSp, size_t COLSp) {
72
21.9M
  size_t ROWS = ROWS_or_0 == 0 ? ROWSp : ROWS_or_0;
73
21.9M
  size_t COLS = COLS_or_0 == 0 ? COLSp : COLS_or_0;
74
21.9M
  JXL_DASSERT(Lanes(BlockDesc<8>()) == 8);
75
21.9M
  static_assert(ROWS_or_0 % 8 == 0, "Invalid number of rows");
76
21.9M
  static_assert(COLS_or_0 % 8 == 0, "Invalid number of columns");
77
103M
  for (size_t n = 0; n < ROWS; n += 8) {
78
386M
    for (size_t m = 0; m < COLS; m += 8) {
79
305M
      const BlockDesc<8> d;
80
305M
      auto i0 = from.LoadPart(d, n + 0, m + 0);
81
305M
      auto i1 = from.LoadPart(d, n + 1, m + 0);
82
305M
      auto i2 = from.LoadPart(d, n + 2, m + 0);
83
305M
      auto i3 = from.LoadPart(d, n + 3, m + 0);
84
305M
      auto i4 = from.LoadPart(d, n + 4, m + 0);
85
305M
      auto i5 = from.LoadPart(d, n + 5, m + 0);
86
305M
      auto i6 = from.LoadPart(d, n + 6, m + 0);
87
305M
      auto i7 = from.LoadPart(d, n + 7, m + 0);
88
      // Surprisingly, this straightforward implementation (24 cycles on port5)
89
      // is faster than load128+insert and LoadDup128+ConcatUpperLower+blend.
90
305M
      const auto q0 = InterleaveLower(d, i0, i2);
91
305M
      const auto q1 = InterleaveLower(d, i1, i3);
92
305M
      const auto q2 = InterleaveUpper(d, i0, i2);
93
305M
      const auto q3 = InterleaveUpper(d, i1, i3);
94
305M
      const auto q4 = InterleaveLower(d, i4, i6);
95
305M
      const auto q5 = InterleaveLower(d, i5, i7);
96
305M
      const auto q6 = InterleaveUpper(d, i4, i6);
97
305M
      const auto q7 = InterleaveUpper(d, i5, i7);
98
99
305M
      const auto r0 = InterleaveLower(d, q0, q1);
100
305M
      const auto r1 = InterleaveUpper(d, q0, q1);
101
305M
      const auto r2 = InterleaveLower(d, q2, q3);
102
305M
      const auto r3 = InterleaveUpper(d, q2, q3);
103
305M
      const auto r4 = InterleaveLower(d, q4, q5);
104
305M
      const auto r5 = InterleaveUpper(d, q4, q5);
105
305M
      const auto r6 = InterleaveLower(d, q6, q7);
106
305M
      const auto r7 = InterleaveUpper(d, q6, q7);
107
108
305M
      i0 = ConcatLowerLower(d, r4, r0);
109
305M
      i1 = ConcatLowerLower(d, r5, r1);
110
305M
      i2 = ConcatLowerLower(d, r6, r2);
111
305M
      i3 = ConcatLowerLower(d, r7, r3);
112
305M
      i4 = ConcatUpperUpper(d, r4, r0);
113
305M
      i5 = ConcatUpperUpper(d, r5, r1);
114
305M
      i6 = ConcatUpperUpper(d, r6, r2);
115
305M
      i7 = ConcatUpperUpper(d, r7, r3);
116
305M
      to.StorePart(d, i0, m + 0, n + 0);
117
305M
      to.StorePart(d, i1, m + 1, n + 0);
118
305M
      to.StorePart(d, i2, m + 2, n + 0);
119
305M
      to.StorePart(d, i3, m + 3, n + 0);
120
305M
      to.StorePart(d, i4, m + 4, n + 0);
121
305M
      to.StorePart(d, i5, m + 5, n + 0);
122
305M
      to.StorePart(d, i6, m + 6, n + 0);
123
305M
      to.StorePart(d, i7, m + 7, n + 0);
124
305M
    }
125
81.1M
  }
126
21.9M
}
enc_ac_strategy.cc:void jxl::N_AVX2::(anonymous namespace)::GenericTransposeBlock<8ul, 8ul, jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::TransposeSimdTag<true>, jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Line
Count
Source
71
32.5M
    size_t ROWSp, size_t COLSp) {
72
32.5M
  size_t ROWS = ROWS_or_0 == 0 ? ROWSp : ROWS_or_0;
73
32.5M
  size_t COLS = COLS_or_0 == 0 ? COLSp : COLS_or_0;
74
32.5M
  JXL_DASSERT(Lanes(BlockDesc<8>()) == 8);
75
32.5M
  static_assert(ROWS_or_0 % 8 == 0, "Invalid number of rows");
76
32.5M
  static_assert(COLS_or_0 % 8 == 0, "Invalid number of columns");
77
65.1M
  for (size_t n = 0; n < ROWS; n += 8) {
78
65.1M
    for (size_t m = 0; m < COLS; m += 8) {
79
32.5M
      const BlockDesc<8> d;
80
32.5M
      auto i0 = from.LoadPart(d, n + 0, m + 0);
81
32.5M
      auto i1 = from.LoadPart(d, n + 1, m + 0);
82
32.5M
      auto i2 = from.LoadPart(d, n + 2, m + 0);
83
32.5M
      auto i3 = from.LoadPart(d, n + 3, m + 0);
84
32.5M
      auto i4 = from.LoadPart(d, n + 4, m + 0);
85
32.5M
      auto i5 = from.LoadPart(d, n + 5, m + 0);
86
32.5M
      auto i6 = from.LoadPart(d, n + 6, m + 0);
87
32.5M
      auto i7 = from.LoadPart(d, n + 7, m + 0);
88
      // Surprisingly, this straightforward implementation (24 cycles on port5)
89
      // is faster than load128+insert and LoadDup128+ConcatUpperLower+blend.
90
32.5M
      const auto q0 = InterleaveLower(d, i0, i2);
91
32.5M
      const auto q1 = InterleaveLower(d, i1, i3);
92
32.5M
      const auto q2 = InterleaveUpper(d, i0, i2);
93
32.5M
      const auto q3 = InterleaveUpper(d, i1, i3);
94
32.5M
      const auto q4 = InterleaveLower(d, i4, i6);
95
32.5M
      const auto q5 = InterleaveLower(d, i5, i7);
96
32.5M
      const auto q6 = InterleaveUpper(d, i4, i6);
97
32.5M
      const auto q7 = InterleaveUpper(d, i5, i7);
98
99
32.5M
      const auto r0 = InterleaveLower(d, q0, q1);
100
32.5M
      const auto r1 = InterleaveUpper(d, q0, q1);
101
32.5M
      const auto r2 = InterleaveLower(d, q2, q3);
102
32.5M
      const auto r3 = InterleaveUpper(d, q2, q3);
103
32.5M
      const auto r4 = InterleaveLower(d, q4, q5);
104
32.5M
      const auto r5 = InterleaveUpper(d, q4, q5);
105
32.5M
      const auto r6 = InterleaveLower(d, q6, q7);
106
32.5M
      const auto r7 = InterleaveUpper(d, q6, q7);
107
108
32.5M
      i0 = ConcatLowerLower(d, r4, r0);
109
32.5M
      i1 = ConcatLowerLower(d, r5, r1);
110
32.5M
      i2 = ConcatLowerLower(d, r6, r2);
111
32.5M
      i3 = ConcatLowerLower(d, r7, r3);
112
32.5M
      i4 = ConcatUpperUpper(d, r4, r0);
113
32.5M
      i5 = ConcatUpperUpper(d, r5, r1);
114
32.5M
      i6 = ConcatUpperUpper(d, r6, r2);
115
32.5M
      i7 = ConcatUpperUpper(d, r7, r3);
116
32.5M
      to.StorePart(d, i0, m + 0, n + 0);
117
32.5M
      to.StorePart(d, i1, m + 1, n + 0);
118
32.5M
      to.StorePart(d, i2, m + 2, n + 0);
119
32.5M
      to.StorePart(d, i3, m + 3, n + 0);
120
32.5M
      to.StorePart(d, i4, m + 4, n + 0);
121
32.5M
      to.StorePart(d, i5, m + 5, n + 0);
122
32.5M
      to.StorePart(d, i6, m + 6, n + 0);
123
32.5M
      to.StorePart(d, i7, m + 7, n + 0);
124
32.5M
    }
125
32.5M
  }
126
32.5M
}
dec_group.cc:void jxl::N_AVX2::(anonymous namespace)::GenericTransposeBlock<16ul, 16ul, jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::TransposeSimdTag<true>, jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Line
Count
Source
71
598k
    size_t ROWSp, size_t COLSp) {
72
598k
  size_t ROWS = ROWS_or_0 == 0 ? ROWSp : ROWS_or_0;
73
598k
  size_t COLS = COLS_or_0 == 0 ? COLSp : COLS_or_0;
74
598k
  JXL_DASSERT(Lanes(BlockDesc<8>()) == 8);
75
598k
  static_assert(ROWS_or_0 % 8 == 0, "Invalid number of rows");
76
598k
  static_assert(COLS_or_0 % 8 == 0, "Invalid number of columns");
77
1.79M
  for (size_t n = 0; n < ROWS; n += 8) {
78
3.59M
    for (size_t m = 0; m < COLS; m += 8) {
79
2.39M
      const BlockDesc<8> d;
80
2.39M
      auto i0 = from.LoadPart(d, n + 0, m + 0);
81
2.39M
      auto i1 = from.LoadPart(d, n + 1, m + 0);
82
2.39M
      auto i2 = from.LoadPart(d, n + 2, m + 0);
83
2.39M
      auto i3 = from.LoadPart(d, n + 3, m + 0);
84
2.39M
      auto i4 = from.LoadPart(d, n + 4, m + 0);
85
2.39M
      auto i5 = from.LoadPart(d, n + 5, m + 0);
86
2.39M
      auto i6 = from.LoadPart(d, n + 6, m + 0);
87
2.39M
      auto i7 = from.LoadPart(d, n + 7, m + 0);
88
      // Surprisingly, this straightforward implementation (24 cycles on port5)
89
      // is faster than load128+insert and LoadDup128+ConcatUpperLower+blend.
90
2.39M
      const auto q0 = InterleaveLower(d, i0, i2);
91
2.39M
      const auto q1 = InterleaveLower(d, i1, i3);
92
2.39M
      const auto q2 = InterleaveUpper(d, i0, i2);
93
2.39M
      const auto q3 = InterleaveUpper(d, i1, i3);
94
2.39M
      const auto q4 = InterleaveLower(d, i4, i6);
95
2.39M
      const auto q5 = InterleaveLower(d, i5, i7);
96
2.39M
      const auto q6 = InterleaveUpper(d, i4, i6);
97
2.39M
      const auto q7 = InterleaveUpper(d, i5, i7);
98
99
2.39M
      const auto r0 = InterleaveLower(d, q0, q1);
100
2.39M
      const auto r1 = InterleaveUpper(d, q0, q1);
101
2.39M
      const auto r2 = InterleaveLower(d, q2, q3);
102
2.39M
      const auto r3 = InterleaveUpper(d, q2, q3);
103
2.39M
      const auto r4 = InterleaveLower(d, q4, q5);
104
2.39M
      const auto r5 = InterleaveUpper(d, q4, q5);
105
2.39M
      const auto r6 = InterleaveLower(d, q6, q7);
106
2.39M
      const auto r7 = InterleaveUpper(d, q6, q7);
107
108
2.39M
      i0 = ConcatLowerLower(d, r4, r0);
109
2.39M
      i1 = ConcatLowerLower(d, r5, r1);
110
2.39M
      i2 = ConcatLowerLower(d, r6, r2);
111
2.39M
      i3 = ConcatLowerLower(d, r7, r3);
112
2.39M
      i4 = ConcatUpperUpper(d, r4, r0);
113
2.39M
      i5 = ConcatUpperUpper(d, r5, r1);
114
2.39M
      i6 = ConcatUpperUpper(d, r6, r2);
115
2.39M
      i7 = ConcatUpperUpper(d, r7, r3);
116
2.39M
      to.StorePart(d, i0, m + 0, n + 0);
117
2.39M
      to.StorePart(d, i1, m + 1, n + 0);
118
2.39M
      to.StorePart(d, i2, m + 2, n + 0);
119
2.39M
      to.StorePart(d, i3, m + 3, n + 0);
120
2.39M
      to.StorePart(d, i4, m + 4, n + 0);
121
2.39M
      to.StorePart(d, i5, m + 5, n + 0);
122
2.39M
      to.StorePart(d, i6, m + 6, n + 0);
123
2.39M
      to.StorePart(d, i7, m + 7, n + 0);
124
2.39M
    }
125
1.19M
  }
126
598k
}
dec_group.cc:void jxl::N_AVX2::(anonymous namespace)::GenericTransposeBlock<8ul, 16ul, jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::TransposeSimdTag<true>, jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Line
Count
Source
71
1.67M
    size_t ROWSp, size_t COLSp) {
72
1.67M
  size_t ROWS = ROWS_or_0 == 0 ? ROWSp : ROWS_or_0;
73
1.67M
  size_t COLS = COLS_or_0 == 0 ? COLSp : COLS_or_0;
74
1.67M
  JXL_DASSERT(Lanes(BlockDesc<8>()) == 8);
75
1.67M
  static_assert(ROWS_or_0 % 8 == 0, "Invalid number of rows");
76
1.67M
  static_assert(COLS_or_0 % 8 == 0, "Invalid number of columns");
77
3.34M
  for (size_t n = 0; n < ROWS; n += 8) {
78
5.02M
    for (size_t m = 0; m < COLS; m += 8) {
79
3.34M
      const BlockDesc<8> d;
80
3.34M
      auto i0 = from.LoadPart(d, n + 0, m + 0);
81
3.34M
      auto i1 = from.LoadPart(d, n + 1, m + 0);
82
3.34M
      auto i2 = from.LoadPart(d, n + 2, m + 0);
83
3.34M
      auto i3 = from.LoadPart(d, n + 3, m + 0);
84
3.34M
      auto i4 = from.LoadPart(d, n + 4, m + 0);
85
3.34M
      auto i5 = from.LoadPart(d, n + 5, m + 0);
86
3.34M
      auto i6 = from.LoadPart(d, n + 6, m + 0);
87
3.34M
      auto i7 = from.LoadPart(d, n + 7, m + 0);
88
      // Surprisingly, this straightforward implementation (24 cycles on port5)
89
      // is faster than load128+insert and LoadDup128+ConcatUpperLower+blend.
90
3.34M
      const auto q0 = InterleaveLower(d, i0, i2);
91
3.34M
      const auto q1 = InterleaveLower(d, i1, i3);
92
3.34M
      const auto q2 = InterleaveUpper(d, i0, i2);
93
3.34M
      const auto q3 = InterleaveUpper(d, i1, i3);
94
3.34M
      const auto q4 = InterleaveLower(d, i4, i6);
95
3.34M
      const auto q5 = InterleaveLower(d, i5, i7);
96
3.34M
      const auto q6 = InterleaveUpper(d, i4, i6);
97
3.34M
      const auto q7 = InterleaveUpper(d, i5, i7);
98
99
3.34M
      const auto r0 = InterleaveLower(d, q0, q1);
100
3.34M
      const auto r1 = InterleaveUpper(d, q0, q1);
101
3.34M
      const auto r2 = InterleaveLower(d, q2, q3);
102
3.34M
      const auto r3 = InterleaveUpper(d, q2, q3);
103
3.34M
      const auto r4 = InterleaveLower(d, q4, q5);
104
3.34M
      const auto r5 = InterleaveUpper(d, q4, q5);
105
3.34M
      const auto r6 = InterleaveLower(d, q6, q7);
106
3.34M
      const auto r7 = InterleaveUpper(d, q6, q7);
107
108
3.34M
      i0 = ConcatLowerLower(d, r4, r0);
109
3.34M
      i1 = ConcatLowerLower(d, r5, r1);
110
3.34M
      i2 = ConcatLowerLower(d, r6, r2);
111
3.34M
      i3 = ConcatLowerLower(d, r7, r3);
112
3.34M
      i4 = ConcatUpperUpper(d, r4, r0);
113
3.34M
      i5 = ConcatUpperUpper(d, r5, r1);
114
3.34M
      i6 = ConcatUpperUpper(d, r6, r2);
115
3.34M
      i7 = ConcatUpperUpper(d, r7, r3);
116
3.34M
      to.StorePart(d, i0, m + 0, n + 0);
117
3.34M
      to.StorePart(d, i1, m + 1, n + 0);
118
3.34M
      to.StorePart(d, i2, m + 2, n + 0);
119
3.34M
      to.StorePart(d, i3, m + 3, n + 0);
120
3.34M
      to.StorePart(d, i4, m + 4, n + 0);
121
3.34M
      to.StorePart(d, i5, m + 5, n + 0);
122
3.34M
      to.StorePart(d, i6, m + 6, n + 0);
123
3.34M
      to.StorePart(d, i7, m + 7, n + 0);
124
3.34M
    }
125
1.67M
  }
126
1.67M
}
dec_group.cc:void jxl::N_AVX2::(anonymous namespace)::GenericTransposeBlock<16ul, 8ul, jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::TransposeSimdTag<true>, jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Line
Count
Source
71
867k
    size_t ROWSp, size_t COLSp) {
72
867k
  size_t ROWS = ROWS_or_0 == 0 ? ROWSp : ROWS_or_0;
73
867k
  size_t COLS = COLS_or_0 == 0 ? COLSp : COLS_or_0;
74
867k
  JXL_DASSERT(Lanes(BlockDesc<8>()) == 8);
75
867k
  static_assert(ROWS_or_0 % 8 == 0, "Invalid number of rows");
76
867k
  static_assert(COLS_or_0 % 8 == 0, "Invalid number of columns");
77
2.60M
  for (size_t n = 0; n < ROWS; n += 8) {
78
3.46M
    for (size_t m = 0; m < COLS; m += 8) {
79
1.73M
      const BlockDesc<8> d;
80
1.73M
      auto i0 = from.LoadPart(d, n + 0, m + 0);
81
1.73M
      auto i1 = from.LoadPart(d, n + 1, m + 0);
82
1.73M
      auto i2 = from.LoadPart(d, n + 2, m + 0);
83
1.73M
      auto i3 = from.LoadPart(d, n + 3, m + 0);
84
1.73M
      auto i4 = from.LoadPart(d, n + 4, m + 0);
85
1.73M
      auto i5 = from.LoadPart(d, n + 5, m + 0);
86
1.73M
      auto i6 = from.LoadPart(d, n + 6, m + 0);
87
1.73M
      auto i7 = from.LoadPart(d, n + 7, m + 0);
88
      // Surprisingly, this straightforward implementation (24 cycles on port5)
89
      // is faster than load128+insert and LoadDup128+ConcatUpperLower+blend.
90
1.73M
      const auto q0 = InterleaveLower(d, i0, i2);
91
1.73M
      const auto q1 = InterleaveLower(d, i1, i3);
92
1.73M
      const auto q2 = InterleaveUpper(d, i0, i2);
93
1.73M
      const auto q3 = InterleaveUpper(d, i1, i3);
94
1.73M
      const auto q4 = InterleaveLower(d, i4, i6);
95
1.73M
      const auto q5 = InterleaveLower(d, i5, i7);
96
1.73M
      const auto q6 = InterleaveUpper(d, i4, i6);
97
1.73M
      const auto q7 = InterleaveUpper(d, i5, i7);
98
99
1.73M
      const auto r0 = InterleaveLower(d, q0, q1);
100
1.73M
      const auto r1 = InterleaveUpper(d, q0, q1);
101
1.73M
      const auto r2 = InterleaveLower(d, q2, q3);
102
1.73M
      const auto r3 = InterleaveUpper(d, q2, q3);
103
1.73M
      const auto r4 = InterleaveLower(d, q4, q5);
104
1.73M
      const auto r5 = InterleaveUpper(d, q4, q5);
105
1.73M
      const auto r6 = InterleaveLower(d, q6, q7);
106
1.73M
      const auto r7 = InterleaveUpper(d, q6, q7);
107
108
1.73M
      i0 = ConcatLowerLower(d, r4, r0);
109
1.73M
      i1 = ConcatLowerLower(d, r5, r1);
110
1.73M
      i2 = ConcatLowerLower(d, r6, r2);
111
1.73M
      i3 = ConcatLowerLower(d, r7, r3);
112
1.73M
      i4 = ConcatUpperUpper(d, r4, r0);
113
1.73M
      i5 = ConcatUpperUpper(d, r5, r1);
114
1.73M
      i6 = ConcatUpperUpper(d, r6, r2);
115
1.73M
      i7 = ConcatUpperUpper(d, r7, r3);
116
1.73M
      to.StorePart(d, i0, m + 0, n + 0);
117
1.73M
      to.StorePart(d, i1, m + 1, n + 0);
118
1.73M
      to.StorePart(d, i2, m + 2, n + 0);
119
1.73M
      to.StorePart(d, i3, m + 3, n + 0);
120
1.73M
      to.StorePart(d, i4, m + 4, n + 0);
121
1.73M
      to.StorePart(d, i5, m + 5, n + 0);
122
1.73M
      to.StorePart(d, i6, m + 6, n + 0);
123
1.73M
      to.StorePart(d, i7, m + 7, n + 0);
124
1.73M
    }
125
1.73M
  }
126
867k
}
dec_group.cc:void jxl::N_AVX2::(anonymous namespace)::GenericTransposeBlock<8ul, 32ul, jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::TransposeSimdTag<true>, jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Line
Count
Source
71
168
    size_t ROWSp, size_t COLSp) {
72
168
  size_t ROWS = ROWS_or_0 == 0 ? ROWSp : ROWS_or_0;
73
168
  size_t COLS = COLS_or_0 == 0 ? COLSp : COLS_or_0;
74
168
  JXL_DASSERT(Lanes(BlockDesc<8>()) == 8);
75
168
  static_assert(ROWS_or_0 % 8 == 0, "Invalid number of rows");
76
168
  static_assert(COLS_or_0 % 8 == 0, "Invalid number of columns");
77
336
  for (size_t n = 0; n < ROWS; n += 8) {
78
840
    for (size_t m = 0; m < COLS; m += 8) {
79
672
      const BlockDesc<8> d;
80
672
      auto i0 = from.LoadPart(d, n + 0, m + 0);
81
672
      auto i1 = from.LoadPart(d, n + 1, m + 0);
82
672
      auto i2 = from.LoadPart(d, n + 2, m + 0);
83
672
      auto i3 = from.LoadPart(d, n + 3, m + 0);
84
672
      auto i4 = from.LoadPart(d, n + 4, m + 0);
85
672
      auto i5 = from.LoadPart(d, n + 5, m + 0);
86
672
      auto i6 = from.LoadPart(d, n + 6, m + 0);
87
672
      auto i7 = from.LoadPart(d, n + 7, m + 0);
88
      // Surprisingly, this straightforward implementation (24 cycles on port5)
89
      // is faster than load128+insert and LoadDup128+ConcatUpperLower+blend.
90
672
      const auto q0 = InterleaveLower(d, i0, i2);
91
672
      const auto q1 = InterleaveLower(d, i1, i3);
92
672
      const auto q2 = InterleaveUpper(d, i0, i2);
93
672
      const auto q3 = InterleaveUpper(d, i1, i3);
94
672
      const auto q4 = InterleaveLower(d, i4, i6);
95
672
      const auto q5 = InterleaveLower(d, i5, i7);
96
672
      const auto q6 = InterleaveUpper(d, i4, i6);
97
672
      const auto q7 = InterleaveUpper(d, i5, i7);
98
99
672
      const auto r0 = InterleaveLower(d, q0, q1);
100
672
      const auto r1 = InterleaveUpper(d, q0, q1);
101
672
      const auto r2 = InterleaveLower(d, q2, q3);
102
672
      const auto r3 = InterleaveUpper(d, q2, q3);
103
672
      const auto r4 = InterleaveLower(d, q4, q5);
104
672
      const auto r5 = InterleaveUpper(d, q4, q5);
105
672
      const auto r6 = InterleaveLower(d, q6, q7);
106
672
      const auto r7 = InterleaveUpper(d, q6, q7);
107
108
672
      i0 = ConcatLowerLower(d, r4, r0);
109
672
      i1 = ConcatLowerLower(d, r5, r1);
110
672
      i2 = ConcatLowerLower(d, r6, r2);
111
672
      i3 = ConcatLowerLower(d, r7, r3);
112
672
      i4 = ConcatUpperUpper(d, r4, r0);
113
672
      i5 = ConcatUpperUpper(d, r5, r1);
114
672
      i6 = ConcatUpperUpper(d, r6, r2);
115
672
      i7 = ConcatUpperUpper(d, r7, r3);
116
672
      to.StorePart(d, i0, m + 0, n + 0);
117
672
      to.StorePart(d, i1, m + 1, n + 0);
118
672
      to.StorePart(d, i2, m + 2, n + 0);
119
672
      to.StorePart(d, i3, m + 3, n + 0);
120
672
      to.StorePart(d, i4, m + 4, n + 0);
121
672
      to.StorePart(d, i5, m + 5, n + 0);
122
672
      to.StorePart(d, i6, m + 6, n + 0);
123
672
      to.StorePart(d, i7, m + 7, n + 0);
124
672
    }
125
168
  }
126
168
}
dec_group.cc:void jxl::N_AVX2::(anonymous namespace)::GenericTransposeBlock<32ul, 8ul, jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::TransposeSimdTag<true>, jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Line
Count
Source
71
132
    size_t ROWSp, size_t COLSp) {
72
132
  size_t ROWS = ROWS_or_0 == 0 ? ROWSp : ROWS_or_0;
73
132
  size_t COLS = COLS_or_0 == 0 ? COLSp : COLS_or_0;
74
132
  JXL_DASSERT(Lanes(BlockDesc<8>()) == 8);
75
132
  static_assert(ROWS_or_0 % 8 == 0, "Invalid number of rows");
76
132
  static_assert(COLS_or_0 % 8 == 0, "Invalid number of columns");
77
660
  for (size_t n = 0; n < ROWS; n += 8) {
78
1.05k
    for (size_t m = 0; m < COLS; m += 8) {
79
528
      const BlockDesc<8> d;
80
528
      auto i0 = from.LoadPart(d, n + 0, m + 0);
81
528
      auto i1 = from.LoadPart(d, n + 1, m + 0);
82
528
      auto i2 = from.LoadPart(d, n + 2, m + 0);
83
528
      auto i3 = from.LoadPart(d, n + 3, m + 0);
84
528
      auto i4 = from.LoadPart(d, n + 4, m + 0);
85
528
      auto i5 = from.LoadPart(d, n + 5, m + 0);
86
528
      auto i6 = from.LoadPart(d, n + 6, m + 0);
87
528
      auto i7 = from.LoadPart(d, n + 7, m + 0);
88
      // Surprisingly, this straightforward implementation (24 cycles on port5)
89
      // is faster than load128+insert and LoadDup128+ConcatUpperLower+blend.
90
528
      const auto q0 = InterleaveLower(d, i0, i2);
91
528
      const auto q1 = InterleaveLower(d, i1, i3);
92
528
      const auto q2 = InterleaveUpper(d, i0, i2);
93
528
      const auto q3 = InterleaveUpper(d, i1, i3);
94
528
      const auto q4 = InterleaveLower(d, i4, i6);
95
528
      const auto q5 = InterleaveLower(d, i5, i7);
96
528
      const auto q6 = InterleaveUpper(d, i4, i6);
97
528
      const auto q7 = InterleaveUpper(d, i5, i7);
98
99
528
      const auto r0 = InterleaveLower(d, q0, q1);
100
528
      const auto r1 = InterleaveUpper(d, q0, q1);
101
528
      const auto r2 = InterleaveLower(d, q2, q3);
102
528
      const auto r3 = InterleaveUpper(d, q2, q3);
103
528
      const auto r4 = InterleaveLower(d, q4, q5);
104
528
      const auto r5 = InterleaveUpper(d, q4, q5);
105
528
      const auto r6 = InterleaveLower(d, q6, q7);
106
528
      const auto r7 = InterleaveUpper(d, q6, q7);
107
108
528
      i0 = ConcatLowerLower(d, r4, r0);
109
528
      i1 = ConcatLowerLower(d, r5, r1);
110
528
      i2 = ConcatLowerLower(d, r6, r2);
111
528
      i3 = ConcatLowerLower(d, r7, r3);
112
528
      i4 = ConcatUpperUpper(d, r4, r0);
113
528
      i5 = ConcatUpperUpper(d, r5, r1);
114
528
      i6 = ConcatUpperUpper(d, r6, r2);
115
528
      i7 = ConcatUpperUpper(d, r7, r3);
116
528
      to.StorePart(d, i0, m + 0, n + 0);
117
528
      to.StorePart(d, i1, m + 1, n + 0);
118
528
      to.StorePart(d, i2, m + 2, n + 0);
119
528
      to.StorePart(d, i3, m + 3, n + 0);
120
528
      to.StorePart(d, i4, m + 4, n + 0);
121
528
      to.StorePart(d, i5, m + 5, n + 0);
122
528
      to.StorePart(d, i6, m + 6, n + 0);
123
528
      to.StorePart(d, i7, m + 7, n + 0);
124
528
    }
125
528
  }
126
132
}
dec_group.cc:void jxl::N_AVX2::(anonymous namespace)::GenericTransposeBlock<0ul, 0ul, jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::TransposeSimdTag<true>, jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Line
Count
Source
71
1.26M
    size_t ROWSp, size_t COLSp) {
72
1.26M
  size_t ROWS = ROWS_or_0 == 0 ? ROWSp : ROWS_or_0;
73
1.26M
  size_t COLS = COLS_or_0 == 0 ? COLSp : COLS_or_0;
74
1.26M
  JXL_DASSERT(Lanes(BlockDesc<8>()) == 8);
75
1.26M
  static_assert(ROWS_or_0 % 8 == 0, "Invalid number of rows");
76
1.26M
  static_assert(COLS_or_0 % 8 == 0, "Invalid number of columns");
77
6.46M
  for (size_t n = 0; n < ROWS; n += 8) {
78
31.8M
    for (size_t m = 0; m < COLS; m += 8) {
79
26.6M
      const BlockDesc<8> d;
80
26.6M
      auto i0 = from.LoadPart(d, n + 0, m + 0);
81
26.6M
      auto i1 = from.LoadPart(d, n + 1, m + 0);
82
26.6M
      auto i2 = from.LoadPart(d, n + 2, m + 0);
83
26.6M
      auto i3 = from.LoadPart(d, n + 3, m + 0);
84
26.6M
      auto i4 = from.LoadPart(d, n + 4, m + 0);
85
26.6M
      auto i5 = from.LoadPart(d, n + 5, m + 0);
86
26.6M
      auto i6 = from.LoadPart(d, n + 6, m + 0);
87
26.6M
      auto i7 = from.LoadPart(d, n + 7, m + 0);
88
      // Surprisingly, this straightforward implementation (24 cycles on port5)
89
      // is faster than load128+insert and LoadDup128+ConcatUpperLower+blend.
90
26.6M
      const auto q0 = InterleaveLower(d, i0, i2);
91
26.6M
      const auto q1 = InterleaveLower(d, i1, i3);
92
26.6M
      const auto q2 = InterleaveUpper(d, i0, i2);
93
26.6M
      const auto q3 = InterleaveUpper(d, i1, i3);
94
26.6M
      const auto q4 = InterleaveLower(d, i4, i6);
95
26.6M
      const auto q5 = InterleaveLower(d, i5, i7);
96
26.6M
      const auto q6 = InterleaveUpper(d, i4, i6);
97
26.6M
      const auto q7 = InterleaveUpper(d, i5, i7);
98
99
26.6M
      const auto r0 = InterleaveLower(d, q0, q1);
100
26.6M
      const auto r1 = InterleaveUpper(d, q0, q1);
101
26.6M
      const auto r2 = InterleaveLower(d, q2, q3);
102
26.6M
      const auto r3 = InterleaveUpper(d, q2, q3);
103
26.6M
      const auto r4 = InterleaveLower(d, q4, q5);
104
26.6M
      const auto r5 = InterleaveUpper(d, q4, q5);
105
26.6M
      const auto r6 = InterleaveLower(d, q6, q7);
106
26.6M
      const auto r7 = InterleaveUpper(d, q6, q7);
107
108
26.6M
      i0 = ConcatLowerLower(d, r4, r0);
109
26.6M
      i1 = ConcatLowerLower(d, r5, r1);
110
26.6M
      i2 = ConcatLowerLower(d, r6, r2);
111
26.6M
      i3 = ConcatLowerLower(d, r7, r3);
112
26.6M
      i4 = ConcatUpperUpper(d, r4, r0);
113
26.6M
      i5 = ConcatUpperUpper(d, r5, r1);
114
26.6M
      i6 = ConcatUpperUpper(d, r6, r2);
115
26.6M
      i7 = ConcatUpperUpper(d, r7, r3);
116
26.6M
      to.StorePart(d, i0, m + 0, n + 0);
117
26.6M
      to.StorePart(d, i1, m + 1, n + 0);
118
26.6M
      to.StorePart(d, i2, m + 2, n + 0);
119
26.6M
      to.StorePart(d, i3, m + 3, n + 0);
120
26.6M
      to.StorePart(d, i4, m + 4, n + 0);
121
26.6M
      to.StorePart(d, i5, m + 5, n + 0);
122
26.6M
      to.StorePart(d, i6, m + 6, n + 0);
123
26.6M
      to.StorePart(d, i7, m + 7, n + 0);
124
26.6M
    }
125
5.19M
  }
126
1.26M
}
dec_group.cc:void jxl::N_AVX2::(anonymous namespace)::GenericTransposeBlock<8ul, 8ul, jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::TransposeSimdTag<true>, jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Line
Count
Source
71
6.87M
    size_t ROWSp, size_t COLSp) {
72
6.87M
  size_t ROWS = ROWS_or_0 == 0 ? ROWSp : ROWS_or_0;
73
6.87M
  size_t COLS = COLS_or_0 == 0 ? COLSp : COLS_or_0;
74
6.87M
  JXL_DASSERT(Lanes(BlockDesc<8>()) == 8);
75
6.87M
  static_assert(ROWS_or_0 % 8 == 0, "Invalid number of rows");
76
6.87M
  static_assert(COLS_or_0 % 8 == 0, "Invalid number of columns");
77
13.7M
  for (size_t n = 0; n < ROWS; n += 8) {
78
13.7M
    for (size_t m = 0; m < COLS; m += 8) {
79
6.87M
      const BlockDesc<8> d;
80
6.87M
      auto i0 = from.LoadPart(d, n + 0, m + 0);
81
6.87M
      auto i1 = from.LoadPart(d, n + 1, m + 0);
82
6.87M
      auto i2 = from.LoadPart(d, n + 2, m + 0);
83
6.87M
      auto i3 = from.LoadPart(d, n + 3, m + 0);
84
6.87M
      auto i4 = from.LoadPart(d, n + 4, m + 0);
85
6.87M
      auto i5 = from.LoadPart(d, n + 5, m + 0);
86
6.87M
      auto i6 = from.LoadPart(d, n + 6, m + 0);
87
6.87M
      auto i7 = from.LoadPart(d, n + 7, m + 0);
88
      // Surprisingly, this straightforward implementation (24 cycles on port5)
89
      // is faster than load128+insert and LoadDup128+ConcatUpperLower+blend.
90
6.87M
      const auto q0 = InterleaveLower(d, i0, i2);
91
6.87M
      const auto q1 = InterleaveLower(d, i1, i3);
92
6.87M
      const auto q2 = InterleaveUpper(d, i0, i2);
93
6.87M
      const auto q3 = InterleaveUpper(d, i1, i3);
94
6.87M
      const auto q4 = InterleaveLower(d, i4, i6);
95
6.87M
      const auto q5 = InterleaveLower(d, i5, i7);
96
6.87M
      const auto q6 = InterleaveUpper(d, i4, i6);
97
6.87M
      const auto q7 = InterleaveUpper(d, i5, i7);
98
99
6.87M
      const auto r0 = InterleaveLower(d, q0, q1);
100
6.87M
      const auto r1 = InterleaveUpper(d, q0, q1);
101
6.87M
      const auto r2 = InterleaveLower(d, q2, q3);
102
6.87M
      const auto r3 = InterleaveUpper(d, q2, q3);
103
6.87M
      const auto r4 = InterleaveLower(d, q4, q5);
104
6.87M
      const auto r5 = InterleaveUpper(d, q4, q5);
105
6.87M
      const auto r6 = InterleaveLower(d, q6, q7);
106
6.87M
      const auto r7 = InterleaveUpper(d, q6, q7);
107
108
6.87M
      i0 = ConcatLowerLower(d, r4, r0);
109
6.87M
      i1 = ConcatLowerLower(d, r5, r1);
110
6.87M
      i2 = ConcatLowerLower(d, r6, r2);
111
6.87M
      i3 = ConcatLowerLower(d, r7, r3);
112
6.87M
      i4 = ConcatUpperUpper(d, r4, r0);
113
6.87M
      i5 = ConcatUpperUpper(d, r5, r1);
114
6.87M
      i6 = ConcatUpperUpper(d, r6, r2);
115
6.87M
      i7 = ConcatUpperUpper(d, r7, r3);
116
6.87M
      to.StorePart(d, i0, m + 0, n + 0);
117
6.87M
      to.StorePart(d, i1, m + 1, n + 0);
118
6.87M
      to.StorePart(d, i2, m + 2, n + 0);
119
6.87M
      to.StorePart(d, i3, m + 3, n + 0);
120
6.87M
      to.StorePart(d, i4, m + 4, n + 0);
121
6.87M
      to.StorePart(d, i5, m + 5, n + 0);
122
6.87M
      to.StorePart(d, i6, m + 6, n + 0);
123
6.87M
      to.StorePart(d, i7, m + 7, n + 0);
124
6.87M
    }
125
6.87M
  }
126
6.87M
}
127
#elif HWY_TARGET != HWY_SCALAR
128
0
constexpr bool TransposeUseSimd(size_t ROWS, size_t COLS) {
129
0
  return ROWS % 4 == 0 && COLS % 4 == 0;
130
0
}
Unexecuted instantiation: enc_adaptive_quantization.cc:jxl::N_SSE4::(anonymous namespace)::TransposeUseSimd(unsigned long, unsigned long)
Unexecuted instantiation: enc_adaptive_quantization.cc:jxl::N_SSE2::(anonymous namespace)::TransposeUseSimd(unsigned long, unsigned long)
Unexecuted instantiation: enc_group.cc:jxl::N_SSE4::(anonymous namespace)::TransposeUseSimd(unsigned long, unsigned long)
Unexecuted instantiation: enc_group.cc:jxl::N_SSE2::(anonymous namespace)::TransposeUseSimd(unsigned long, unsigned long)
Unexecuted instantiation: enc_chroma_from_luma.cc:jxl::N_SSE4::(anonymous namespace)::TransposeUseSimd(unsigned long, unsigned long)
Unexecuted instantiation: enc_chroma_from_luma.cc:jxl::N_SSE2::(anonymous namespace)::TransposeUseSimd(unsigned long, unsigned long)
Unexecuted instantiation: enc_ac_strategy.cc:jxl::N_SSE4::(anonymous namespace)::TransposeUseSimd(unsigned long, unsigned long)
Unexecuted instantiation: enc_ac_strategy.cc:jxl::N_SSE2::(anonymous namespace)::TransposeUseSimd(unsigned long, unsigned long)
Unexecuted instantiation: dec_group.cc:jxl::N_SSE4::(anonymous namespace)::TransposeUseSimd(unsigned long, unsigned long)
Unexecuted instantiation: dec_group.cc:jxl::N_SSE2::(anonymous namespace)::TransposeUseSimd(unsigned long, unsigned long)
131
132
template <size_t ROWS_or_0, size_t COLS_or_0, class From, class To>
133
JXL_INLINE_TRANSPOSE void GenericTransposeBlock(
134
    TransposeSimdTag<true> /* tag */, const From& from, const To& to,
135
0
    size_t ROWSp, size_t COLSp) {
136
0
  size_t ROWS = ROWS_or_0 == 0 ? ROWSp : ROWS_or_0;
137
0
  size_t COLS = COLS_or_0 == 0 ? COLSp : COLS_or_0;
138
0
  JXL_DASSERT(Lanes(BlockDesc<4>()) == 4);
139
0
  static_assert(ROWS_or_0 % 4 == 0, "Invalid number of rows");
140
0
  static_assert(COLS_or_0 % 4 == 0, "Invalid number of columns");
141
0
  for (size_t n = 0; n < ROWS; n += 4) {
142
0
    for (size_t m = 0; m < COLS; m += 4) {
143
0
      const BlockDesc<4> d;
144
0
      const auto p0 = from.LoadPart(d, n + 0, m + 0);
145
0
      const auto p1 = from.LoadPart(d, n + 1, m + 0);
146
0
      const auto p2 = from.LoadPart(d, n + 2, m + 0);
147
0
      const auto p3 = from.LoadPart(d, n + 3, m + 0);
148
149
0
      const auto q0 = InterleaveLower(d, p0, p2);
150
0
      const auto q1 = InterleaveLower(d, p1, p3);
151
0
      const auto q2 = InterleaveUpper(d, p0, p2);
152
0
      const auto q3 = InterleaveUpper(d, p1, p3);
153
154
0
      const auto r0 = InterleaveLower(d, q0, q1);
155
0
      const auto r1 = InterleaveUpper(d, q0, q1);
156
0
      const auto r2 = InterleaveLower(d, q2, q3);
157
0
      const auto r3 = InterleaveUpper(d, q2, q3);
158
159
0
      to.StorePart(d, r0, m + 0, n + 0);
160
0
      to.StorePart(d, r1, m + 1, n + 0);
161
0
      to.StorePart(d, r2, m + 2, n + 0);
162
0
      to.StorePart(d, r3, m + 3, n + 0);
163
0
    }
164
0
  }
165
0
}
Unexecuted instantiation: enc_adaptive_quantization.cc:void jxl::N_SSE4::(anonymous namespace)::GenericTransposeBlock<8ul, 4ul, jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::TransposeSimdTag<true>, jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_adaptive_quantization.cc:void jxl::N_SSE4::(anonymous namespace)::GenericTransposeBlock<4ul, 8ul, jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::TransposeSimdTag<true>, jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_adaptive_quantization.cc:void jxl::N_SSE4::(anonymous namespace)::GenericTransposeBlock<4ul, 4ul, jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::TransposeSimdTag<true>, jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_adaptive_quantization.cc:void jxl::N_SSE4::(anonymous namespace)::GenericTransposeBlock<16ul, 16ul, jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::TransposeSimdTag<true>, jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_adaptive_quantization.cc:void jxl::N_SSE4::(anonymous namespace)::GenericTransposeBlock<16ul, 8ul, jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::TransposeSimdTag<true>, jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_adaptive_quantization.cc:void jxl::N_SSE4::(anonymous namespace)::GenericTransposeBlock<8ul, 16ul, jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::TransposeSimdTag<true>, jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_adaptive_quantization.cc:void jxl::N_SSE4::(anonymous namespace)::GenericTransposeBlock<32ul, 8ul, jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::TransposeSimdTag<true>, jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_adaptive_quantization.cc:void jxl::N_SSE4::(anonymous namespace)::GenericTransposeBlock<8ul, 32ul, jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::TransposeSimdTag<true>, jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_adaptive_quantization.cc:void jxl::N_SSE4::(anonymous namespace)::GenericTransposeBlock<0ul, 0ul, jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::TransposeSimdTag<true>, jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_adaptive_quantization.cc:void jxl::N_SSE4::(anonymous namespace)::GenericTransposeBlock<8ul, 8ul, jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::TransposeSimdTag<true>, jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_adaptive_quantization.cc:void jxl::N_SSE2::(anonymous namespace)::GenericTransposeBlock<8ul, 4ul, jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::TransposeSimdTag<true>, jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_adaptive_quantization.cc:void jxl::N_SSE2::(anonymous namespace)::GenericTransposeBlock<4ul, 8ul, jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::TransposeSimdTag<true>, jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_adaptive_quantization.cc:void jxl::N_SSE2::(anonymous namespace)::GenericTransposeBlock<4ul, 4ul, jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::TransposeSimdTag<true>, jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_adaptive_quantization.cc:void jxl::N_SSE2::(anonymous namespace)::GenericTransposeBlock<16ul, 16ul, jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::TransposeSimdTag<true>, jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_adaptive_quantization.cc:void jxl::N_SSE2::(anonymous namespace)::GenericTransposeBlock<16ul, 8ul, jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::TransposeSimdTag<true>, jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_adaptive_quantization.cc:void jxl::N_SSE2::(anonymous namespace)::GenericTransposeBlock<8ul, 16ul, jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::TransposeSimdTag<true>, jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_adaptive_quantization.cc:void jxl::N_SSE2::(anonymous namespace)::GenericTransposeBlock<32ul, 8ul, jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::TransposeSimdTag<true>, jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_adaptive_quantization.cc:void jxl::N_SSE2::(anonymous namespace)::GenericTransposeBlock<8ul, 32ul, jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::TransposeSimdTag<true>, jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_adaptive_quantization.cc:void jxl::N_SSE2::(anonymous namespace)::GenericTransposeBlock<0ul, 0ul, jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::TransposeSimdTag<true>, jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_adaptive_quantization.cc:void jxl::N_SSE2::(anonymous namespace)::GenericTransposeBlock<8ul, 8ul, jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::TransposeSimdTag<true>, jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_group.cc:void jxl::N_SSE4::(anonymous namespace)::GenericTransposeBlock<8ul, 4ul, jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::TransposeSimdTag<true>, jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_group.cc:void jxl::N_SSE4::(anonymous namespace)::GenericTransposeBlock<4ul, 8ul, jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::TransposeSimdTag<true>, jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_group.cc:void jxl::N_SSE4::(anonymous namespace)::GenericTransposeBlock<4ul, 4ul, jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::TransposeSimdTag<true>, jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_group.cc:void jxl::N_SSE4::(anonymous namespace)::GenericTransposeBlock<16ul, 16ul, jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::TransposeSimdTag<true>, jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_group.cc:void jxl::N_SSE4::(anonymous namespace)::GenericTransposeBlock<16ul, 8ul, jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::TransposeSimdTag<true>, jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_group.cc:void jxl::N_SSE4::(anonymous namespace)::GenericTransposeBlock<8ul, 16ul, jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::TransposeSimdTag<true>, jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_group.cc:void jxl::N_SSE4::(anonymous namespace)::GenericTransposeBlock<32ul, 8ul, jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::TransposeSimdTag<true>, jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_group.cc:void jxl::N_SSE4::(anonymous namespace)::GenericTransposeBlock<8ul, 32ul, jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::TransposeSimdTag<true>, jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_group.cc:void jxl::N_SSE4::(anonymous namespace)::GenericTransposeBlock<0ul, 0ul, jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::TransposeSimdTag<true>, jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_group.cc:void jxl::N_SSE4::(anonymous namespace)::GenericTransposeBlock<8ul, 8ul, jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::TransposeSimdTag<true>, jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_group.cc:void jxl::N_SSE2::(anonymous namespace)::GenericTransposeBlock<8ul, 4ul, jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::TransposeSimdTag<true>, jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_group.cc:void jxl::N_SSE2::(anonymous namespace)::GenericTransposeBlock<4ul, 8ul, jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::TransposeSimdTag<true>, jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_group.cc:void jxl::N_SSE2::(anonymous namespace)::GenericTransposeBlock<4ul, 4ul, jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::TransposeSimdTag<true>, jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_group.cc:void jxl::N_SSE2::(anonymous namespace)::GenericTransposeBlock<16ul, 16ul, jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::TransposeSimdTag<true>, jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_group.cc:void jxl::N_SSE2::(anonymous namespace)::GenericTransposeBlock<16ul, 8ul, jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::TransposeSimdTag<true>, jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_group.cc:void jxl::N_SSE2::(anonymous namespace)::GenericTransposeBlock<8ul, 16ul, jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::TransposeSimdTag<true>, jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_group.cc:void jxl::N_SSE2::(anonymous namespace)::GenericTransposeBlock<32ul, 8ul, jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::TransposeSimdTag<true>, jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_group.cc:void jxl::N_SSE2::(anonymous namespace)::GenericTransposeBlock<8ul, 32ul, jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::TransposeSimdTag<true>, jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_group.cc:void jxl::N_SSE2::(anonymous namespace)::GenericTransposeBlock<0ul, 0ul, jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::TransposeSimdTag<true>, jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_group.cc:void jxl::N_SSE2::(anonymous namespace)::GenericTransposeBlock<8ul, 8ul, jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::TransposeSimdTag<true>, jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_chroma_from_luma.cc:void jxl::N_SSE4::(anonymous namespace)::GenericTransposeBlock<8ul, 4ul, jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::TransposeSimdTag<true>, jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_chroma_from_luma.cc:void jxl::N_SSE4::(anonymous namespace)::GenericTransposeBlock<4ul, 8ul, jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::TransposeSimdTag<true>, jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_chroma_from_luma.cc:void jxl::N_SSE4::(anonymous namespace)::GenericTransposeBlock<4ul, 4ul, jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::TransposeSimdTag<true>, jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_chroma_from_luma.cc:void jxl::N_SSE4::(anonymous namespace)::GenericTransposeBlock<16ul, 16ul, jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::TransposeSimdTag<true>, jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_chroma_from_luma.cc:void jxl::N_SSE4::(anonymous namespace)::GenericTransposeBlock<16ul, 8ul, jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::TransposeSimdTag<true>, jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_chroma_from_luma.cc:void jxl::N_SSE4::(anonymous namespace)::GenericTransposeBlock<8ul, 16ul, jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::TransposeSimdTag<true>, jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_chroma_from_luma.cc:void jxl::N_SSE4::(anonymous namespace)::GenericTransposeBlock<32ul, 8ul, jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::TransposeSimdTag<true>, jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_chroma_from_luma.cc:void jxl::N_SSE4::(anonymous namespace)::GenericTransposeBlock<8ul, 32ul, jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::TransposeSimdTag<true>, jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_chroma_from_luma.cc:void jxl::N_SSE4::(anonymous namespace)::GenericTransposeBlock<0ul, 0ul, jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::TransposeSimdTag<true>, jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_chroma_from_luma.cc:void jxl::N_SSE4::(anonymous namespace)::GenericTransposeBlock<8ul, 8ul, jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::TransposeSimdTag<true>, jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_chroma_from_luma.cc:void jxl::N_SSE2::(anonymous namespace)::GenericTransposeBlock<8ul, 4ul, jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::TransposeSimdTag<true>, jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_chroma_from_luma.cc:void jxl::N_SSE2::(anonymous namespace)::GenericTransposeBlock<4ul, 8ul, jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::TransposeSimdTag<true>, jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_chroma_from_luma.cc:void jxl::N_SSE2::(anonymous namespace)::GenericTransposeBlock<4ul, 4ul, jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::TransposeSimdTag<true>, jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_chroma_from_luma.cc:void jxl::N_SSE2::(anonymous namespace)::GenericTransposeBlock<16ul, 16ul, jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::TransposeSimdTag<true>, jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_chroma_from_luma.cc:void jxl::N_SSE2::(anonymous namespace)::GenericTransposeBlock<16ul, 8ul, jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::TransposeSimdTag<true>, jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_chroma_from_luma.cc:void jxl::N_SSE2::(anonymous namespace)::GenericTransposeBlock<8ul, 16ul, jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::TransposeSimdTag<true>, jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_chroma_from_luma.cc:void jxl::N_SSE2::(anonymous namespace)::GenericTransposeBlock<32ul, 8ul, jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::TransposeSimdTag<true>, jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_chroma_from_luma.cc:void jxl::N_SSE2::(anonymous namespace)::GenericTransposeBlock<8ul, 32ul, jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::TransposeSimdTag<true>, jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_chroma_from_luma.cc:void jxl::N_SSE2::(anonymous namespace)::GenericTransposeBlock<0ul, 0ul, jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::TransposeSimdTag<true>, jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_chroma_from_luma.cc:void jxl::N_SSE2::(anonymous namespace)::GenericTransposeBlock<8ul, 8ul, jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::TransposeSimdTag<true>, jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_ac_strategy.cc:void jxl::N_SSE4::(anonymous namespace)::GenericTransposeBlock<8ul, 4ul, jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::TransposeSimdTag<true>, jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_ac_strategy.cc:void jxl::N_SSE4::(anonymous namespace)::GenericTransposeBlock<4ul, 8ul, jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::TransposeSimdTag<true>, jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_ac_strategy.cc:void jxl::N_SSE4::(anonymous namespace)::GenericTransposeBlock<4ul, 4ul, jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::TransposeSimdTag<true>, jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_ac_strategy.cc:void jxl::N_SSE4::(anonymous namespace)::GenericTransposeBlock<16ul, 16ul, jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::TransposeSimdTag<true>, jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_ac_strategy.cc:void jxl::N_SSE4::(anonymous namespace)::GenericTransposeBlock<16ul, 8ul, jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::TransposeSimdTag<true>, jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_ac_strategy.cc:void jxl::N_SSE4::(anonymous namespace)::GenericTransposeBlock<8ul, 16ul, jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::TransposeSimdTag<true>, jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_ac_strategy.cc:void jxl::N_SSE4::(anonymous namespace)::GenericTransposeBlock<32ul, 8ul, jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::TransposeSimdTag<true>, jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_ac_strategy.cc:void jxl::N_SSE4::(anonymous namespace)::GenericTransposeBlock<8ul, 32ul, jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::TransposeSimdTag<true>, jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_ac_strategy.cc:void jxl::N_SSE4::(anonymous namespace)::GenericTransposeBlock<0ul, 0ul, jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::TransposeSimdTag<true>, jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_ac_strategy.cc:void jxl::N_SSE4::(anonymous namespace)::GenericTransposeBlock<8ul, 8ul, jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::TransposeSimdTag<true>, jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_ac_strategy.cc:void jxl::N_SSE2::(anonymous namespace)::GenericTransposeBlock<8ul, 4ul, jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::TransposeSimdTag<true>, jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_ac_strategy.cc:void jxl::N_SSE2::(anonymous namespace)::GenericTransposeBlock<4ul, 8ul, jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::TransposeSimdTag<true>, jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_ac_strategy.cc:void jxl::N_SSE2::(anonymous namespace)::GenericTransposeBlock<4ul, 4ul, jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::TransposeSimdTag<true>, jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_ac_strategy.cc:void jxl::N_SSE2::(anonymous namespace)::GenericTransposeBlock<16ul, 16ul, jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::TransposeSimdTag<true>, jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_ac_strategy.cc:void jxl::N_SSE2::(anonymous namespace)::GenericTransposeBlock<16ul, 8ul, jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::TransposeSimdTag<true>, jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_ac_strategy.cc:void jxl::N_SSE2::(anonymous namespace)::GenericTransposeBlock<8ul, 16ul, jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::TransposeSimdTag<true>, jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_ac_strategy.cc:void jxl::N_SSE2::(anonymous namespace)::GenericTransposeBlock<32ul, 8ul, jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::TransposeSimdTag<true>, jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_ac_strategy.cc:void jxl::N_SSE2::(anonymous namespace)::GenericTransposeBlock<8ul, 32ul, jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::TransposeSimdTag<true>, jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_ac_strategy.cc:void jxl::N_SSE2::(anonymous namespace)::GenericTransposeBlock<0ul, 0ul, jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::TransposeSimdTag<true>, jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: enc_ac_strategy.cc:void jxl::N_SSE2::(anonymous namespace)::GenericTransposeBlock<8ul, 8ul, jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::TransposeSimdTag<true>, jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: dec_group.cc:void jxl::N_SSE4::(anonymous namespace)::GenericTransposeBlock<4ul, 8ul, jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::TransposeSimdTag<true>, jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: dec_group.cc:void jxl::N_SSE4::(anonymous namespace)::GenericTransposeBlock<8ul, 4ul, jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::TransposeSimdTag<true>, jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: dec_group.cc:void jxl::N_SSE4::(anonymous namespace)::GenericTransposeBlock<4ul, 4ul, jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::TransposeSimdTag<true>, jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: dec_group.cc:void jxl::N_SSE4::(anonymous namespace)::GenericTransposeBlock<16ul, 16ul, jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::TransposeSimdTag<true>, jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: dec_group.cc:void jxl::N_SSE4::(anonymous namespace)::GenericTransposeBlock<8ul, 16ul, jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::TransposeSimdTag<true>, jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: dec_group.cc:void jxl::N_SSE4::(anonymous namespace)::GenericTransposeBlock<16ul, 8ul, jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::TransposeSimdTag<true>, jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: dec_group.cc:void jxl::N_SSE4::(anonymous namespace)::GenericTransposeBlock<8ul, 32ul, jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::TransposeSimdTag<true>, jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: dec_group.cc:void jxl::N_SSE4::(anonymous namespace)::GenericTransposeBlock<32ul, 8ul, jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::TransposeSimdTag<true>, jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: dec_group.cc:void jxl::N_SSE4::(anonymous namespace)::GenericTransposeBlock<0ul, 0ul, jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::TransposeSimdTag<true>, jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: dec_group.cc:void jxl::N_SSE4::(anonymous namespace)::GenericTransposeBlock<8ul, 8ul, jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::TransposeSimdTag<true>, jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: dec_group.cc:void jxl::N_SSE2::(anonymous namespace)::GenericTransposeBlock<4ul, 8ul, jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::TransposeSimdTag<true>, jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: dec_group.cc:void jxl::N_SSE2::(anonymous namespace)::GenericTransposeBlock<8ul, 4ul, jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::TransposeSimdTag<true>, jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: dec_group.cc:void jxl::N_SSE2::(anonymous namespace)::GenericTransposeBlock<4ul, 4ul, jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::TransposeSimdTag<true>, jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: dec_group.cc:void jxl::N_SSE2::(anonymous namespace)::GenericTransposeBlock<16ul, 16ul, jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::TransposeSimdTag<true>, jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: dec_group.cc:void jxl::N_SSE2::(anonymous namespace)::GenericTransposeBlock<8ul, 16ul, jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::TransposeSimdTag<true>, jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: dec_group.cc:void jxl::N_SSE2::(anonymous namespace)::GenericTransposeBlock<16ul, 8ul, jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::TransposeSimdTag<true>, jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: dec_group.cc:void jxl::N_SSE2::(anonymous namespace)::GenericTransposeBlock<8ul, 32ul, jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::TransposeSimdTag<true>, jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: dec_group.cc:void jxl::N_SSE2::(anonymous namespace)::GenericTransposeBlock<32ul, 8ul, jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::TransposeSimdTag<true>, jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: dec_group.cc:void jxl::N_SSE2::(anonymous namespace)::GenericTransposeBlock<0ul, 0ul, jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::TransposeSimdTag<true>, jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Unexecuted instantiation: dec_group.cc:void jxl::N_SSE2::(anonymous namespace)::GenericTransposeBlock<8ul, 8ul, jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::TransposeSimdTag<true>, jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
166
#else
167
constexpr bool TransposeUseSimd(size_t ROWS, size_t COLS) { return false; }
168
#endif
169
170
template <size_t N, size_t M, typename = void>
171
struct Transpose {
172
  template <typename From, typename To>
173
889M
  static void Run(const From& from, const To& to) {
174
    // This does not guarantee anything, just saves from the most stupid
175
    // mistakes.
176
889M
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
177
889M
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
178
889M
    GenericTransposeBlock<N, M>(tag, from, to, N, M);
179
889M
  }
Unexecuted instantiation: enc_adaptive_quantization.cc:void jxl::N_SSE4::(anonymous namespace)::Transpose<8ul, 4ul, void>::Run<jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_adaptive_quantization.cc:void jxl::N_SSE4::(anonymous namespace)::Transpose<4ul, 8ul, void>::Run<jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_adaptive_quantization.cc:void jxl::N_SSE4::(anonymous namespace)::Transpose<4ul, 4ul, void>::Run<jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_adaptive_quantization.cc:void jxl::N_SSE4::(anonymous namespace)::Transpose<16ul, 16ul, void>::Run<jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_adaptive_quantization.cc:void jxl::N_SSE4::(anonymous namespace)::Transpose<16ul, 8ul, void>::Run<jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_adaptive_quantization.cc:void jxl::N_SSE4::(anonymous namespace)::Transpose<8ul, 16ul, void>::Run<jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_adaptive_quantization.cc:void jxl::N_SSE4::(anonymous namespace)::Transpose<32ul, 8ul, void>::Run<jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_adaptive_quantization.cc:void jxl::N_SSE4::(anonymous namespace)::Transpose<8ul, 32ul, void>::Run<jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_adaptive_quantization.cc:void jxl::N_SSE4::(anonymous namespace)::Transpose<8ul, 8ul, void>::Run<jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_adaptive_quantization.cc:void jxl::N_SSE4::(anonymous namespace)::Transpose<2ul, 1ul, void>::Run<jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_adaptive_quantization.cc:void jxl::N_SSE4::(anonymous namespace)::Transpose<1ul, 2ul, void>::Run<jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_adaptive_quantization.cc:void jxl::N_SSE4::(anonymous namespace)::Transpose<2ul, 2ul, void>::Run<jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_adaptive_quantization.cc:void jxl::N_SSE4::(anonymous namespace)::Transpose<4ul, 1ul, void>::Run<jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_adaptive_quantization.cc:void jxl::N_SSE4::(anonymous namespace)::Transpose<1ul, 4ul, void>::Run<jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_adaptive_quantization.cc:void jxl::N_SSE4::(anonymous namespace)::Transpose<4ul, 2ul, void>::Run<jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_adaptive_quantization.cc:void jxl::N_SSE4::(anonymous namespace)::Transpose<2ul, 4ul, void>::Run<jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_adaptive_quantization.cc:void jxl::N_AVX2::(anonymous namespace)::Transpose<8ul, 4ul, void>::Run<jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_adaptive_quantization.cc:void jxl::N_AVX2::(anonymous namespace)::Transpose<4ul, 8ul, void>::Run<jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_adaptive_quantization.cc:void jxl::N_AVX2::(anonymous namespace)::Transpose<4ul, 4ul, void>::Run<jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_adaptive_quantization.cc:void jxl::N_AVX2::(anonymous namespace)::Transpose<16ul, 16ul, void>::Run<jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_adaptive_quantization.cc:void jxl::N_AVX2::(anonymous namespace)::Transpose<16ul, 8ul, void>::Run<jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_adaptive_quantization.cc:void jxl::N_AVX2::(anonymous namespace)::Transpose<8ul, 16ul, void>::Run<jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_adaptive_quantization.cc:void jxl::N_AVX2::(anonymous namespace)::Transpose<32ul, 8ul, void>::Run<jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_adaptive_quantization.cc:void jxl::N_AVX2::(anonymous namespace)::Transpose<8ul, 32ul, void>::Run<jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_adaptive_quantization.cc:void jxl::N_AVX2::(anonymous namespace)::Transpose<8ul, 8ul, void>::Run<jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_adaptive_quantization.cc:void jxl::N_AVX2::(anonymous namespace)::Transpose<2ul, 1ul, void>::Run<jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_adaptive_quantization.cc:void jxl::N_AVX2::(anonymous namespace)::Transpose<1ul, 2ul, void>::Run<jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_adaptive_quantization.cc:void jxl::N_AVX2::(anonymous namespace)::Transpose<2ul, 2ul, void>::Run<jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_adaptive_quantization.cc:void jxl::N_AVX2::(anonymous namespace)::Transpose<4ul, 1ul, void>::Run<jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_adaptive_quantization.cc:void jxl::N_AVX2::(anonymous namespace)::Transpose<1ul, 4ul, void>::Run<jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_adaptive_quantization.cc:void jxl::N_AVX2::(anonymous namespace)::Transpose<4ul, 2ul, void>::Run<jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_adaptive_quantization.cc:void jxl::N_AVX2::(anonymous namespace)::Transpose<2ul, 4ul, void>::Run<jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_adaptive_quantization.cc:void jxl::N_SSE2::(anonymous namespace)::Transpose<8ul, 4ul, void>::Run<jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_adaptive_quantization.cc:void jxl::N_SSE2::(anonymous namespace)::Transpose<4ul, 8ul, void>::Run<jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_adaptive_quantization.cc:void jxl::N_SSE2::(anonymous namespace)::Transpose<4ul, 4ul, void>::Run<jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_adaptive_quantization.cc:void jxl::N_SSE2::(anonymous namespace)::Transpose<16ul, 16ul, void>::Run<jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_adaptive_quantization.cc:void jxl::N_SSE2::(anonymous namespace)::Transpose<16ul, 8ul, void>::Run<jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_adaptive_quantization.cc:void jxl::N_SSE2::(anonymous namespace)::Transpose<8ul, 16ul, void>::Run<jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_adaptive_quantization.cc:void jxl::N_SSE2::(anonymous namespace)::Transpose<32ul, 8ul, void>::Run<jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_adaptive_quantization.cc:void jxl::N_SSE2::(anonymous namespace)::Transpose<8ul, 32ul, void>::Run<jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_adaptive_quantization.cc:void jxl::N_SSE2::(anonymous namespace)::Transpose<8ul, 8ul, void>::Run<jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_adaptive_quantization.cc:void jxl::N_SSE2::(anonymous namespace)::Transpose<2ul, 1ul, void>::Run<jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_adaptive_quantization.cc:void jxl::N_SSE2::(anonymous namespace)::Transpose<1ul, 2ul, void>::Run<jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_adaptive_quantization.cc:void jxl::N_SSE2::(anonymous namespace)::Transpose<2ul, 2ul, void>::Run<jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_adaptive_quantization.cc:void jxl::N_SSE2::(anonymous namespace)::Transpose<4ul, 1ul, void>::Run<jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_adaptive_quantization.cc:void jxl::N_SSE2::(anonymous namespace)::Transpose<1ul, 4ul, void>::Run<jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_adaptive_quantization.cc:void jxl::N_SSE2::(anonymous namespace)::Transpose<4ul, 2ul, void>::Run<jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_adaptive_quantization.cc:void jxl::N_SSE2::(anonymous namespace)::Transpose<2ul, 4ul, void>::Run<jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_group.cc:void jxl::N_SSE4::(anonymous namespace)::Transpose<8ul, 4ul, void>::Run<jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_group.cc:void jxl::N_SSE4::(anonymous namespace)::Transpose<4ul, 8ul, void>::Run<jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_group.cc:void jxl::N_SSE4::(anonymous namespace)::Transpose<4ul, 4ul, void>::Run<jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_group.cc:void jxl::N_SSE4::(anonymous namespace)::Transpose<16ul, 16ul, void>::Run<jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_group.cc:void jxl::N_SSE4::(anonymous namespace)::Transpose<16ul, 8ul, void>::Run<jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_group.cc:void jxl::N_SSE4::(anonymous namespace)::Transpose<8ul, 16ul, void>::Run<jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_group.cc:void jxl::N_SSE4::(anonymous namespace)::Transpose<32ul, 8ul, void>::Run<jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_group.cc:void jxl::N_SSE4::(anonymous namespace)::Transpose<8ul, 32ul, void>::Run<jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_group.cc:void jxl::N_SSE4::(anonymous namespace)::Transpose<8ul, 8ul, void>::Run<jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_group.cc:void jxl::N_SSE4::(anonymous namespace)::Transpose<1ul, 2ul, void>::Run<jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_group.cc:void jxl::N_SSE4::(anonymous namespace)::Transpose<2ul, 1ul, void>::Run<jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_group.cc:void jxl::N_SSE4::(anonymous namespace)::Transpose<2ul, 2ul, void>::Run<jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_group.cc:void jxl::N_SSE4::(anonymous namespace)::Transpose<1ul, 4ul, void>::Run<jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_group.cc:void jxl::N_SSE4::(anonymous namespace)::Transpose<4ul, 1ul, void>::Run<jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_group.cc:void jxl::N_SSE4::(anonymous namespace)::Transpose<2ul, 4ul, void>::Run<jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_group.cc:void jxl::N_SSE4::(anonymous namespace)::Transpose<4ul, 2ul, void>::Run<jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&)
enc_group.cc:void jxl::N_AVX2::(anonymous namespace)::Transpose<8ul, 4ul, void>::Run<jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&)
Line
Count
Source
173
925k
  static void Run(const From& from, const To& to) {
174
    // This does not guarantee anything, just saves from the most stupid
175
    // mistakes.
176
925k
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
177
925k
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
178
925k
    GenericTransposeBlock<N, M>(tag, from, to, N, M);
179
925k
  }
enc_group.cc:void jxl::N_AVX2::(anonymous namespace)::Transpose<4ul, 8ul, void>::Run<jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&)
Line
Count
Source
173
565k
  static void Run(const From& from, const To& to) {
174
    // This does not guarantee anything, just saves from the most stupid
175
    // mistakes.
176
565k
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
177
565k
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
178
565k
    GenericTransposeBlock<N, M>(tag, from, to, N, M);
179
565k
  }
enc_group.cc:void jxl::N_AVX2::(anonymous namespace)::Transpose<4ul, 4ul, void>::Run<jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&)
Line
Count
Source
173
505k
  static void Run(const From& from, const To& to) {
174
    // This does not guarantee anything, just saves from the most stupid
175
    // mistakes.
176
505k
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
177
505k
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
178
505k
    GenericTransposeBlock<N, M>(tag, from, to, N, M);
179
505k
  }
enc_group.cc:void jxl::N_AVX2::(anonymous namespace)::Transpose<16ul, 16ul, void>::Run<jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&)
Line
Count
Source
173
199k
  static void Run(const From& from, const To& to) {
174
    // This does not guarantee anything, just saves from the most stupid
175
    // mistakes.
176
199k
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
177
199k
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
178
199k
    GenericTransposeBlock<N, M>(tag, from, to, N, M);
179
199k
  }
enc_group.cc:void jxl::N_AVX2::(anonymous namespace)::Transpose<16ul, 8ul, void>::Run<jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&)
Line
Count
Source
173
559k
  static void Run(const From& from, const To& to) {
174
    // This does not guarantee anything, just saves from the most stupid
175
    // mistakes.
176
559k
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
177
559k
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
178
559k
    GenericTransposeBlock<N, M>(tag, from, to, N, M);
179
559k
  }
enc_group.cc:void jxl::N_AVX2::(anonymous namespace)::Transpose<8ul, 16ul, void>::Run<jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&)
Line
Count
Source
173
287k
  static void Run(const From& from, const To& to) {
174
    // This does not guarantee anything, just saves from the most stupid
175
    // mistakes.
176
287k
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
177
287k
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
178
287k
    GenericTransposeBlock<N, M>(tag, from, to, N, M);
179
287k
  }
Unexecuted instantiation: enc_group.cc:void jxl::N_AVX2::(anonymous namespace)::Transpose<32ul, 8ul, void>::Run<jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_group.cc:void jxl::N_AVX2::(anonymous namespace)::Transpose<8ul, 32ul, void>::Run<jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&)
enc_group.cc:void jxl::N_AVX2::(anonymous namespace)::Transpose<8ul, 8ul, void>::Run<jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&)
Line
Count
Source
173
2.15M
  static void Run(const From& from, const To& to) {
174
    // This does not guarantee anything, just saves from the most stupid
175
    // mistakes.
176
2.15M
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
177
2.15M
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
178
2.15M
    GenericTransposeBlock<N, M>(tag, from, to, N, M);
179
2.15M
  }
enc_group.cc:void jxl::N_AVX2::(anonymous namespace)::Transpose<1ul, 2ul, void>::Run<jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&)
Line
Count
Source
173
559k
  static void Run(const From& from, const To& to) {
174
    // This does not guarantee anything, just saves from the most stupid
175
    // mistakes.
176
559k
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
177
559k
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
178
559k
    GenericTransposeBlock<N, M>(tag, from, to, N, M);
179
559k
  }
enc_group.cc:void jxl::N_AVX2::(anonymous namespace)::Transpose<2ul, 1ul, void>::Run<jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&)
Line
Count
Source
173
287k
  static void Run(const From& from, const To& to) {
174
    // This does not guarantee anything, just saves from the most stupid
175
    // mistakes.
176
287k
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
177
287k
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
178
287k
    GenericTransposeBlock<N, M>(tag, from, to, N, M);
179
287k
  }
enc_group.cc:void jxl::N_AVX2::(anonymous namespace)::Transpose<2ul, 2ul, void>::Run<jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&)
Line
Count
Source
173
199k
  static void Run(const From& from, const To& to) {
174
    // This does not guarantee anything, just saves from the most stupid
175
    // mistakes.
176
199k
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
177
199k
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
178
199k
    GenericTransposeBlock<N, M>(tag, from, to, N, M);
179
199k
  }
Unexecuted instantiation: enc_group.cc:void jxl::N_AVX2::(anonymous namespace)::Transpose<1ul, 4ul, void>::Run<jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_group.cc:void jxl::N_AVX2::(anonymous namespace)::Transpose<4ul, 1ul, void>::Run<jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&)
enc_group.cc:void jxl::N_AVX2::(anonymous namespace)::Transpose<2ul, 4ul, void>::Run<jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&)
Line
Count
Source
173
130k
  static void Run(const From& from, const To& to) {
174
    // This does not guarantee anything, just saves from the most stupid
175
    // mistakes.
176
130k
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
177
130k
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
178
130k
    GenericTransposeBlock<N, M>(tag, from, to, N, M);
179
130k
  }
enc_group.cc:void jxl::N_AVX2::(anonymous namespace)::Transpose<4ul, 2ul, void>::Run<jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&)
Line
Count
Source
173
67.3k
  static void Run(const From& from, const To& to) {
174
    // This does not guarantee anything, just saves from the most stupid
175
    // mistakes.
176
67.3k
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
177
67.3k
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
178
67.3k
    GenericTransposeBlock<N, M>(tag, from, to, N, M);
179
67.3k
  }
Unexecuted instantiation: enc_group.cc:void jxl::N_SSE2::(anonymous namespace)::Transpose<8ul, 4ul, void>::Run<jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_group.cc:void jxl::N_SSE2::(anonymous namespace)::Transpose<4ul, 8ul, void>::Run<jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_group.cc:void jxl::N_SSE2::(anonymous namespace)::Transpose<4ul, 4ul, void>::Run<jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_group.cc:void jxl::N_SSE2::(anonymous namespace)::Transpose<16ul, 16ul, void>::Run<jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_group.cc:void jxl::N_SSE2::(anonymous namespace)::Transpose<16ul, 8ul, void>::Run<jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_group.cc:void jxl::N_SSE2::(anonymous namespace)::Transpose<8ul, 16ul, void>::Run<jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_group.cc:void jxl::N_SSE2::(anonymous namespace)::Transpose<32ul, 8ul, void>::Run<jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_group.cc:void jxl::N_SSE2::(anonymous namespace)::Transpose<8ul, 32ul, void>::Run<jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_group.cc:void jxl::N_SSE2::(anonymous namespace)::Transpose<8ul, 8ul, void>::Run<jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_group.cc:void jxl::N_SSE2::(anonymous namespace)::Transpose<1ul, 2ul, void>::Run<jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_group.cc:void jxl::N_SSE2::(anonymous namespace)::Transpose<2ul, 1ul, void>::Run<jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_group.cc:void jxl::N_SSE2::(anonymous namespace)::Transpose<2ul, 2ul, void>::Run<jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_group.cc:void jxl::N_SSE2::(anonymous namespace)::Transpose<1ul, 4ul, void>::Run<jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_group.cc:void jxl::N_SSE2::(anonymous namespace)::Transpose<4ul, 1ul, void>::Run<jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_group.cc:void jxl::N_SSE2::(anonymous namespace)::Transpose<2ul, 4ul, void>::Run<jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_group.cc:void jxl::N_SSE2::(anonymous namespace)::Transpose<4ul, 2ul, void>::Run<jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_chroma_from_luma.cc:void jxl::N_SSE4::(anonymous namespace)::Transpose<8ul, 4ul, void>::Run<jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_chroma_from_luma.cc:void jxl::N_SSE4::(anonymous namespace)::Transpose<4ul, 8ul, void>::Run<jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_chroma_from_luma.cc:void jxl::N_SSE4::(anonymous namespace)::Transpose<4ul, 4ul, void>::Run<jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_chroma_from_luma.cc:void jxl::N_SSE4::(anonymous namespace)::Transpose<16ul, 16ul, void>::Run<jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_chroma_from_luma.cc:void jxl::N_SSE4::(anonymous namespace)::Transpose<16ul, 8ul, void>::Run<jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_chroma_from_luma.cc:void jxl::N_SSE4::(anonymous namespace)::Transpose<8ul, 16ul, void>::Run<jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_chroma_from_luma.cc:void jxl::N_SSE4::(anonymous namespace)::Transpose<32ul, 8ul, void>::Run<jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_chroma_from_luma.cc:void jxl::N_SSE4::(anonymous namespace)::Transpose<8ul, 32ul, void>::Run<jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_chroma_from_luma.cc:void jxl::N_SSE4::(anonymous namespace)::Transpose<8ul, 8ul, void>::Run<jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_chroma_from_luma.cc:void jxl::N_SSE4::(anonymous namespace)::Transpose<1ul, 2ul, void>::Run<jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_chroma_from_luma.cc:void jxl::N_SSE4::(anonymous namespace)::Transpose<2ul, 1ul, void>::Run<jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_chroma_from_luma.cc:void jxl::N_SSE4::(anonymous namespace)::Transpose<2ul, 2ul, void>::Run<jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_chroma_from_luma.cc:void jxl::N_SSE4::(anonymous namespace)::Transpose<1ul, 4ul, void>::Run<jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_chroma_from_luma.cc:void jxl::N_SSE4::(anonymous namespace)::Transpose<4ul, 1ul, void>::Run<jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_chroma_from_luma.cc:void jxl::N_SSE4::(anonymous namespace)::Transpose<2ul, 4ul, void>::Run<jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_chroma_from_luma.cc:void jxl::N_SSE4::(anonymous namespace)::Transpose<4ul, 2ul, void>::Run<jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&)
enc_chroma_from_luma.cc:void jxl::N_AVX2::(anonymous namespace)::Transpose<8ul, 4ul, void>::Run<jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&)
Line
Count
Source
173
925k
  static void Run(const From& from, const To& to) {
174
    // This does not guarantee anything, just saves from the most stupid
175
    // mistakes.
176
925k
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
177
925k
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
178
925k
    GenericTransposeBlock<N, M>(tag, from, to, N, M);
179
925k
  }
enc_chroma_from_luma.cc:void jxl::N_AVX2::(anonymous namespace)::Transpose<4ul, 8ul, void>::Run<jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&)
Line
Count
Source
173
565k
  static void Run(const From& from, const To& to) {
174
    // This does not guarantee anything, just saves from the most stupid
175
    // mistakes.
176
565k
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
177
565k
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
178
565k
    GenericTransposeBlock<N, M>(tag, from, to, N, M);
179
565k
  }
enc_chroma_from_luma.cc:void jxl::N_AVX2::(anonymous namespace)::Transpose<4ul, 4ul, void>::Run<jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&)
Line
Count
Source
173
505k
  static void Run(const From& from, const To& to) {
174
    // This does not guarantee anything, just saves from the most stupid
175
    // mistakes.
176
505k
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
177
505k
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
178
505k
    GenericTransposeBlock<N, M>(tag, from, to, N, M);
179
505k
  }
enc_chroma_from_luma.cc:void jxl::N_AVX2::(anonymous namespace)::Transpose<16ul, 16ul, void>::Run<jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&)
Line
Count
Source
173
199k
  static void Run(const From& from, const To& to) {
174
    // This does not guarantee anything, just saves from the most stupid
175
    // mistakes.
176
199k
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
177
199k
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
178
199k
    GenericTransposeBlock<N, M>(tag, from, to, N, M);
179
199k
  }
enc_chroma_from_luma.cc:void jxl::N_AVX2::(anonymous namespace)::Transpose<16ul, 8ul, void>::Run<jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&)
Line
Count
Source
173
559k
  static void Run(const From& from, const To& to) {
174
    // This does not guarantee anything, just saves from the most stupid
175
    // mistakes.
176
559k
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
177
559k
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
178
559k
    GenericTransposeBlock<N, M>(tag, from, to, N, M);
179
559k
  }
enc_chroma_from_luma.cc:void jxl::N_AVX2::(anonymous namespace)::Transpose<8ul, 16ul, void>::Run<jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&)
Line
Count
Source
173
287k
  static void Run(const From& from, const To& to) {
174
    // This does not guarantee anything, just saves from the most stupid
175
    // mistakes.
176
287k
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
177
287k
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
178
287k
    GenericTransposeBlock<N, M>(tag, from, to, N, M);
179
287k
  }
Unexecuted instantiation: enc_chroma_from_luma.cc:void jxl::N_AVX2::(anonymous namespace)::Transpose<32ul, 8ul, void>::Run<jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_chroma_from_luma.cc:void jxl::N_AVX2::(anonymous namespace)::Transpose<8ul, 32ul, void>::Run<jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&)
enc_chroma_from_luma.cc:void jxl::N_AVX2::(anonymous namespace)::Transpose<8ul, 8ul, void>::Run<jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&)
Line
Count
Source
173
18.4M
  static void Run(const From& from, const To& to) {
174
    // This does not guarantee anything, just saves from the most stupid
175
    // mistakes.
176
18.4M
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
177
18.4M
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
178
18.4M
    GenericTransposeBlock<N, M>(tag, from, to, N, M);
179
18.4M
  }
enc_chroma_from_luma.cc:void jxl::N_AVX2::(anonymous namespace)::Transpose<1ul, 2ul, void>::Run<jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&)
Line
Count
Source
173
559k
  static void Run(const From& from, const To& to) {
174
    // This does not guarantee anything, just saves from the most stupid
175
    // mistakes.
176
559k
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
177
559k
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
178
559k
    GenericTransposeBlock<N, M>(tag, from, to, N, M);
179
559k
  }
enc_chroma_from_luma.cc:void jxl::N_AVX2::(anonymous namespace)::Transpose<2ul, 1ul, void>::Run<jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&)
Line
Count
Source
173
287k
  static void Run(const From& from, const To& to) {
174
    // This does not guarantee anything, just saves from the most stupid
175
    // mistakes.
176
287k
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
177
287k
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
178
287k
    GenericTransposeBlock<N, M>(tag, from, to, N, M);
179
287k
  }
enc_chroma_from_luma.cc:void jxl::N_AVX2::(anonymous namespace)::Transpose<2ul, 2ul, void>::Run<jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&)
Line
Count
Source
173
199k
  static void Run(const From& from, const To& to) {
174
    // This does not guarantee anything, just saves from the most stupid
175
    // mistakes.
176
199k
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
177
199k
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
178
199k
    GenericTransposeBlock<N, M>(tag, from, to, N, M);
179
199k
  }
Unexecuted instantiation: enc_chroma_from_luma.cc:void jxl::N_AVX2::(anonymous namespace)::Transpose<1ul, 4ul, void>::Run<jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_chroma_from_luma.cc:void jxl::N_AVX2::(anonymous namespace)::Transpose<4ul, 1ul, void>::Run<jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&)
enc_chroma_from_luma.cc:void jxl::N_AVX2::(anonymous namespace)::Transpose<2ul, 4ul, void>::Run<jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&)
Line
Count
Source
173
130k
  static void Run(const From& from, const To& to) {
174
    // This does not guarantee anything, just saves from the most stupid
175
    // mistakes.
176
130k
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
177
130k
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
178
130k
    GenericTransposeBlock<N, M>(tag, from, to, N, M);
179
130k
  }
enc_chroma_from_luma.cc:void jxl::N_AVX2::(anonymous namespace)::Transpose<4ul, 2ul, void>::Run<jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&)
Line
Count
Source
173
67.3k
  static void Run(const From& from, const To& to) {
174
    // This does not guarantee anything, just saves from the most stupid
175
    // mistakes.
176
67.3k
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
177
67.3k
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
178
67.3k
    GenericTransposeBlock<N, M>(tag, from, to, N, M);
179
67.3k
  }
Unexecuted instantiation: enc_chroma_from_luma.cc:void jxl::N_SSE2::(anonymous namespace)::Transpose<8ul, 4ul, void>::Run<jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_chroma_from_luma.cc:void jxl::N_SSE2::(anonymous namespace)::Transpose<4ul, 8ul, void>::Run<jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_chroma_from_luma.cc:void jxl::N_SSE2::(anonymous namespace)::Transpose<4ul, 4ul, void>::Run<jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_chroma_from_luma.cc:void jxl::N_SSE2::(anonymous namespace)::Transpose<16ul, 16ul, void>::Run<jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_chroma_from_luma.cc:void jxl::N_SSE2::(anonymous namespace)::Transpose<16ul, 8ul, void>::Run<jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_chroma_from_luma.cc:void jxl::N_SSE2::(anonymous namespace)::Transpose<8ul, 16ul, void>::Run<jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_chroma_from_luma.cc:void jxl::N_SSE2::(anonymous namespace)::Transpose<32ul, 8ul, void>::Run<jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_chroma_from_luma.cc:void jxl::N_SSE2::(anonymous namespace)::Transpose<8ul, 32ul, void>::Run<jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_chroma_from_luma.cc:void jxl::N_SSE2::(anonymous namespace)::Transpose<8ul, 8ul, void>::Run<jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_chroma_from_luma.cc:void jxl::N_SSE2::(anonymous namespace)::Transpose<1ul, 2ul, void>::Run<jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_chroma_from_luma.cc:void jxl::N_SSE2::(anonymous namespace)::Transpose<2ul, 1ul, void>::Run<jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_chroma_from_luma.cc:void jxl::N_SSE2::(anonymous namespace)::Transpose<2ul, 2ul, void>::Run<jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_chroma_from_luma.cc:void jxl::N_SSE2::(anonymous namespace)::Transpose<1ul, 4ul, void>::Run<jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_chroma_from_luma.cc:void jxl::N_SSE2::(anonymous namespace)::Transpose<4ul, 1ul, void>::Run<jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_chroma_from_luma.cc:void jxl::N_SSE2::(anonymous namespace)::Transpose<2ul, 4ul, void>::Run<jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_chroma_from_luma.cc:void jxl::N_SSE2::(anonymous namespace)::Transpose<4ul, 2ul, void>::Run<jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_ac_strategy.cc:void jxl::N_SSE4::(anonymous namespace)::Transpose<8ul, 4ul, void>::Run<jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_ac_strategy.cc:void jxl::N_SSE4::(anonymous namespace)::Transpose<4ul, 8ul, void>::Run<jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_ac_strategy.cc:void jxl::N_SSE4::(anonymous namespace)::Transpose<4ul, 4ul, void>::Run<jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_ac_strategy.cc:void jxl::N_SSE4::(anonymous namespace)::Transpose<16ul, 16ul, void>::Run<jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_ac_strategy.cc:void jxl::N_SSE4::(anonymous namespace)::Transpose<16ul, 8ul, void>::Run<jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_ac_strategy.cc:void jxl::N_SSE4::(anonymous namespace)::Transpose<8ul, 16ul, void>::Run<jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_ac_strategy.cc:void jxl::N_SSE4::(anonymous namespace)::Transpose<32ul, 8ul, void>::Run<jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_ac_strategy.cc:void jxl::N_SSE4::(anonymous namespace)::Transpose<8ul, 32ul, void>::Run<jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_ac_strategy.cc:void jxl::N_SSE4::(anonymous namespace)::Transpose<8ul, 8ul, void>::Run<jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&)
enc_ac_strategy.cc:void jxl::N_AVX2::(anonymous namespace)::Transpose<8ul, 4ul, void>::Run<jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&)
Line
Count
Source
173
228M
  static void Run(const From& from, const To& to) {
174
    // This does not guarantee anything, just saves from the most stupid
175
    // mistakes.
176
228M
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
177
228M
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
178
228M
    GenericTransposeBlock<N, M>(tag, from, to, N, M);
179
228M
  }
enc_ac_strategy.cc:void jxl::N_AVX2::(anonymous namespace)::Transpose<4ul, 8ul, void>::Run<jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&)
Line
Count
Source
173
228M
  static void Run(const From& from, const To& to) {
174
    // This does not guarantee anything, just saves from the most stupid
175
    // mistakes.
176
228M
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
177
228M
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
178
228M
    GenericTransposeBlock<N, M>(tag, from, to, N, M);
179
228M
  }
enc_ac_strategy.cc:void jxl::N_AVX2::(anonymous namespace)::Transpose<4ul, 4ul, void>::Run<jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&)
Line
Count
Source
173
260M
  static void Run(const From& from, const To& to) {
174
    // This does not guarantee anything, just saves from the most stupid
175
    // mistakes.
176
260M
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
177
260M
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
178
260M
    GenericTransposeBlock<N, M>(tag, from, to, N, M);
179
260M
  }
enc_ac_strategy.cc:void jxl::N_AVX2::(anonymous namespace)::Transpose<16ul, 16ul, void>::Run<jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&)
Line
Count
Source
173
13.1M
  static void Run(const From& from, const To& to) {
174
    // This does not guarantee anything, just saves from the most stupid
175
    // mistakes.
176
13.1M
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
177
13.1M
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
178
13.1M
    GenericTransposeBlock<N, M>(tag, from, to, N, M);
179
13.1M
  }
enc_ac_strategy.cc:void jxl::N_AVX2::(anonymous namespace)::Transpose<16ul, 8ul, void>::Run<jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&)
Line
Count
Source
173
38.9M
  static void Run(const From& from, const To& to) {
174
    // This does not guarantee anything, just saves from the most stupid
175
    // mistakes.
176
38.9M
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
177
38.9M
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
178
38.9M
    GenericTransposeBlock<N, M>(tag, from, to, N, M);
179
38.9M
  }
enc_ac_strategy.cc:void jxl::N_AVX2::(anonymous namespace)::Transpose<8ul, 16ul, void>::Run<jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&)
Line
Count
Source
173
38.9M
  static void Run(const From& from, const To& to) {
174
    // This does not guarantee anything, just saves from the most stupid
175
    // mistakes.
176
38.9M
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
177
38.9M
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
178
38.9M
    GenericTransposeBlock<N, M>(tag, from, to, N, M);
179
38.9M
  }
Unexecuted instantiation: enc_ac_strategy.cc:void jxl::N_AVX2::(anonymous namespace)::Transpose<32ul, 8ul, void>::Run<jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_ac_strategy.cc:void jxl::N_AVX2::(anonymous namespace)::Transpose<8ul, 32ul, void>::Run<jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&)
enc_ac_strategy.cc:void jxl::N_AVX2::(anonymous namespace)::Transpose<8ul, 8ul, void>::Run<jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&)
Line
Count
Source
173
32.5M
  static void Run(const From& from, const To& to) {
174
    // This does not guarantee anything, just saves from the most stupid
175
    // mistakes.
176
32.5M
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
177
32.5M
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
178
32.5M
    GenericTransposeBlock<N, M>(tag, from, to, N, M);
179
32.5M
  }
Unexecuted instantiation: enc_ac_strategy.cc:void jxl::N_SSE2::(anonymous namespace)::Transpose<8ul, 4ul, void>::Run<jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_ac_strategy.cc:void jxl::N_SSE2::(anonymous namespace)::Transpose<4ul, 8ul, void>::Run<jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_ac_strategy.cc:void jxl::N_SSE2::(anonymous namespace)::Transpose<4ul, 4ul, void>::Run<jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_ac_strategy.cc:void jxl::N_SSE2::(anonymous namespace)::Transpose<16ul, 16ul, void>::Run<jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_ac_strategy.cc:void jxl::N_SSE2::(anonymous namespace)::Transpose<16ul, 8ul, void>::Run<jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_ac_strategy.cc:void jxl::N_SSE2::(anonymous namespace)::Transpose<8ul, 16ul, void>::Run<jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_ac_strategy.cc:void jxl::N_SSE2::(anonymous namespace)::Transpose<32ul, 8ul, void>::Run<jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_ac_strategy.cc:void jxl::N_SSE2::(anonymous namespace)::Transpose<8ul, 32ul, void>::Run<jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_ac_strategy.cc:void jxl::N_SSE2::(anonymous namespace)::Transpose<8ul, 8ul, void>::Run<jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_ac_strategy.cc:void jxl::N_SSE4::(anonymous namespace)::Transpose<2ul, 1ul, void>::Run<jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_ac_strategy.cc:void jxl::N_SSE4::(anonymous namespace)::Transpose<1ul, 2ul, void>::Run<jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_ac_strategy.cc:void jxl::N_SSE4::(anonymous namespace)::Transpose<2ul, 2ul, void>::Run<jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_ac_strategy.cc:void jxl::N_SSE4::(anonymous namespace)::Transpose<4ul, 1ul, void>::Run<jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_ac_strategy.cc:void jxl::N_SSE4::(anonymous namespace)::Transpose<1ul, 4ul, void>::Run<jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_ac_strategy.cc:void jxl::N_SSE4::(anonymous namespace)::Transpose<4ul, 2ul, void>::Run<jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_ac_strategy.cc:void jxl::N_SSE4::(anonymous namespace)::Transpose<2ul, 4ul, void>::Run<jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_ac_strategy.cc:void jxl::N_AVX2::(anonymous namespace)::Transpose<2ul, 1ul, void>::Run<jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_ac_strategy.cc:void jxl::N_AVX2::(anonymous namespace)::Transpose<1ul, 2ul, void>::Run<jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_ac_strategy.cc:void jxl::N_AVX2::(anonymous namespace)::Transpose<2ul, 2ul, void>::Run<jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_ac_strategy.cc:void jxl::N_AVX2::(anonymous namespace)::Transpose<4ul, 1ul, void>::Run<jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_ac_strategy.cc:void jxl::N_AVX2::(anonymous namespace)::Transpose<1ul, 4ul, void>::Run<jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_ac_strategy.cc:void jxl::N_AVX2::(anonymous namespace)::Transpose<4ul, 2ul, void>::Run<jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_ac_strategy.cc:void jxl::N_AVX2::(anonymous namespace)::Transpose<2ul, 4ul, void>::Run<jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_ac_strategy.cc:void jxl::N_SSE2::(anonymous namespace)::Transpose<2ul, 1ul, void>::Run<jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_ac_strategy.cc:void jxl::N_SSE2::(anonymous namespace)::Transpose<1ul, 2ul, void>::Run<jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_ac_strategy.cc:void jxl::N_SSE2::(anonymous namespace)::Transpose<2ul, 2ul, void>::Run<jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_ac_strategy.cc:void jxl::N_SSE2::(anonymous namespace)::Transpose<4ul, 1ul, void>::Run<jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_ac_strategy.cc:void jxl::N_SSE2::(anonymous namespace)::Transpose<1ul, 4ul, void>::Run<jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_ac_strategy.cc:void jxl::N_SSE2::(anonymous namespace)::Transpose<4ul, 2ul, void>::Run<jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_ac_strategy.cc:void jxl::N_SSE2::(anonymous namespace)::Transpose<2ul, 4ul, void>::Run<jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: dec_group.cc:void jxl::N_SSE4::(anonymous namespace)::Transpose<4ul, 8ul, void>::Run<jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: dec_group.cc:void jxl::N_SSE4::(anonymous namespace)::Transpose<8ul, 4ul, void>::Run<jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: dec_group.cc:void jxl::N_SSE4::(anonymous namespace)::Transpose<4ul, 4ul, void>::Run<jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: dec_group.cc:void jxl::N_SSE4::(anonymous namespace)::Transpose<16ul, 16ul, void>::Run<jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: dec_group.cc:void jxl::N_SSE4::(anonymous namespace)::Transpose<8ul, 16ul, void>::Run<jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: dec_group.cc:void jxl::N_SSE4::(anonymous namespace)::Transpose<16ul, 8ul, void>::Run<jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: dec_group.cc:void jxl::N_SSE4::(anonymous namespace)::Transpose<8ul, 32ul, void>::Run<jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: dec_group.cc:void jxl::N_SSE4::(anonymous namespace)::Transpose<32ul, 8ul, void>::Run<jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: dec_group.cc:void jxl::N_SSE4::(anonymous namespace)::Transpose<8ul, 8ul, void>::Run<jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&)
dec_group.cc:void jxl::N_AVX2::(anonymous namespace)::Transpose<4ul, 8ul, void>::Run<jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&)
Line
Count
Source
173
2.75M
  static void Run(const From& from, const To& to) {
174
    // This does not guarantee anything, just saves from the most stupid
175
    // mistakes.
176
2.75M
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
177
2.75M
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
178
2.75M
    GenericTransposeBlock<N, M>(tag, from, to, N, M);
179
2.75M
  }
dec_group.cc:void jxl::N_AVX2::(anonymous namespace)::Transpose<8ul, 4ul, void>::Run<jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&)
Line
Count
Source
173
1.67M
  static void Run(const From& from, const To& to) {
174
    // This does not guarantee anything, just saves from the most stupid
175
    // mistakes.
176
1.67M
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
177
1.67M
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
178
1.67M
    GenericTransposeBlock<N, M>(tag, from, to, N, M);
179
1.67M
  }
dec_group.cc:void jxl::N_AVX2::(anonymous namespace)::Transpose<4ul, 4ul, void>::Run<jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&)
Line
Count
Source
173
1.52M
  static void Run(const From& from, const To& to) {
174
    // This does not guarantee anything, just saves from the most stupid
175
    // mistakes.
176
1.52M
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
177
1.52M
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
178
1.52M
    GenericTransposeBlock<N, M>(tag, from, to, N, M);
179
1.52M
  }
dec_group.cc:void jxl::N_AVX2::(anonymous namespace)::Transpose<16ul, 16ul, void>::Run<jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&)
Line
Count
Source
173
598k
  static void Run(const From& from, const To& to) {
174
    // This does not guarantee anything, just saves from the most stupid
175
    // mistakes.
176
598k
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
177
598k
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
178
598k
    GenericTransposeBlock<N, M>(tag, from, to, N, M);
179
598k
  }
dec_group.cc:void jxl::N_AVX2::(anonymous namespace)::Transpose<8ul, 16ul, void>::Run<jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&)
Line
Count
Source
173
1.67M
  static void Run(const From& from, const To& to) {
174
    // This does not guarantee anything, just saves from the most stupid
175
    // mistakes.
176
1.67M
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
177
1.67M
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
178
1.67M
    GenericTransposeBlock<N, M>(tag, from, to, N, M);
179
1.67M
  }
dec_group.cc:void jxl::N_AVX2::(anonymous namespace)::Transpose<16ul, 8ul, void>::Run<jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&)
Line
Count
Source
173
867k
  static void Run(const From& from, const To& to) {
174
    // This does not guarantee anything, just saves from the most stupid
175
    // mistakes.
176
867k
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
177
867k
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
178
867k
    GenericTransposeBlock<N, M>(tag, from, to, N, M);
179
867k
  }
dec_group.cc:void jxl::N_AVX2::(anonymous namespace)::Transpose<8ul, 32ul, void>::Run<jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&)
Line
Count
Source
173
168
  static void Run(const From& from, const To& to) {
174
    // This does not guarantee anything, just saves from the most stupid
175
    // mistakes.
176
168
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
177
168
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
178
168
    GenericTransposeBlock<N, M>(tag, from, to, N, M);
179
168
  }
dec_group.cc:void jxl::N_AVX2::(anonymous namespace)::Transpose<32ul, 8ul, void>::Run<jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&)
Line
Count
Source
173
132
  static void Run(const From& from, const To& to) {
174
    // This does not guarantee anything, just saves from the most stupid
175
    // mistakes.
176
132
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
177
132
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
178
132
    GenericTransposeBlock<N, M>(tag, from, to, N, M);
179
132
  }
dec_group.cc:void jxl::N_AVX2::(anonymous namespace)::Transpose<8ul, 8ul, void>::Run<jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&)
Line
Count
Source
173
6.87M
  static void Run(const From& from, const To& to) {
174
    // This does not guarantee anything, just saves from the most stupid
175
    // mistakes.
176
6.87M
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
177
6.87M
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
178
6.87M
    GenericTransposeBlock<N, M>(tag, from, to, N, M);
179
6.87M
  }
Unexecuted instantiation: dec_group.cc:void jxl::N_SSE2::(anonymous namespace)::Transpose<4ul, 8ul, void>::Run<jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: dec_group.cc:void jxl::N_SSE2::(anonymous namespace)::Transpose<8ul, 4ul, void>::Run<jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: dec_group.cc:void jxl::N_SSE2::(anonymous namespace)::Transpose<4ul, 4ul, void>::Run<jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: dec_group.cc:void jxl::N_SSE2::(anonymous namespace)::Transpose<16ul, 16ul, void>::Run<jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: dec_group.cc:void jxl::N_SSE2::(anonymous namespace)::Transpose<8ul, 16ul, void>::Run<jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: dec_group.cc:void jxl::N_SSE2::(anonymous namespace)::Transpose<16ul, 8ul, void>::Run<jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: dec_group.cc:void jxl::N_SSE2::(anonymous namespace)::Transpose<8ul, 32ul, void>::Run<jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: dec_group.cc:void jxl::N_SSE2::(anonymous namespace)::Transpose<32ul, 8ul, void>::Run<jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: dec_group.cc:void jxl::N_SSE2::(anonymous namespace)::Transpose<8ul, 8ul, void>::Run<jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: dec_group.cc:void jxl::N_SSE4::(anonymous namespace)::Transpose<2ul, 1ul, void>::Run<jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: dec_group.cc:void jxl::N_SSE4::(anonymous namespace)::Transpose<1ul, 2ul, void>::Run<jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: dec_group.cc:void jxl::N_SSE4::(anonymous namespace)::Transpose<2ul, 2ul, void>::Run<jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: dec_group.cc:void jxl::N_SSE4::(anonymous namespace)::Transpose<4ul, 1ul, void>::Run<jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: dec_group.cc:void jxl::N_SSE4::(anonymous namespace)::Transpose<1ul, 4ul, void>::Run<jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: dec_group.cc:void jxl::N_SSE4::(anonymous namespace)::Transpose<4ul, 2ul, void>::Run<jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: dec_group.cc:void jxl::N_SSE4::(anonymous namespace)::Transpose<2ul, 4ul, void>::Run<jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&)
dec_group.cc:void jxl::N_AVX2::(anonymous namespace)::Transpose<2ul, 1ul, void>::Run<jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&)
Line
Count
Source
173
1.67M
  static void Run(const From& from, const To& to) {
174
    // This does not guarantee anything, just saves from the most stupid
175
    // mistakes.
176
1.67M
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
177
1.67M
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
178
1.67M
    GenericTransposeBlock<N, M>(tag, from, to, N, M);
179
1.67M
  }
dec_group.cc:void jxl::N_AVX2::(anonymous namespace)::Transpose<1ul, 2ul, void>::Run<jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&)
Line
Count
Source
173
867k
  static void Run(const From& from, const To& to) {
174
    // This does not guarantee anything, just saves from the most stupid
175
    // mistakes.
176
867k
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
177
867k
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
178
867k
    GenericTransposeBlock<N, M>(tag, from, to, N, M);
179
867k
  }
dec_group.cc:void jxl::N_AVX2::(anonymous namespace)::Transpose<2ul, 2ul, void>::Run<jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&)
Line
Count
Source
173
598k
  static void Run(const From& from, const To& to) {
174
    // This does not guarantee anything, just saves from the most stupid
175
    // mistakes.
176
598k
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
177
598k
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
178
598k
    GenericTransposeBlock<N, M>(tag, from, to, N, M);
179
598k
  }
dec_group.cc:void jxl::N_AVX2::(anonymous namespace)::Transpose<4ul, 1ul, void>::Run<jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&)
Line
Count
Source
173
168
  static void Run(const From& from, const To& to) {
174
    // This does not guarantee anything, just saves from the most stupid
175
    // mistakes.
176
168
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
177
168
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
178
168
    GenericTransposeBlock<N, M>(tag, from, to, N, M);
179
168
  }
dec_group.cc:void jxl::N_AVX2::(anonymous namespace)::Transpose<1ul, 4ul, void>::Run<jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&)
Line
Count
Source
173
132
  static void Run(const From& from, const To& to) {
174
    // This does not guarantee anything, just saves from the most stupid
175
    // mistakes.
176
132
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
177
132
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
178
132
    GenericTransposeBlock<N, M>(tag, from, to, N, M);
179
132
  }
dec_group.cc:void jxl::N_AVX2::(anonymous namespace)::Transpose<4ul, 2ul, void>::Run<jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&)
Line
Count
Source
173
389k
  static void Run(const From& from, const To& to) {
174
    // This does not guarantee anything, just saves from the most stupid
175
    // mistakes.
176
389k
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
177
389k
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
178
389k
    GenericTransposeBlock<N, M>(tag, from, to, N, M);
179
389k
  }
dec_group.cc:void jxl::N_AVX2::(anonymous namespace)::Transpose<2ul, 4ul, void>::Run<jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&)
Line
Count
Source
173
200k
  static void Run(const From& from, const To& to) {
174
    // This does not guarantee anything, just saves from the most stupid
175
    // mistakes.
176
200k
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
177
200k
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
178
200k
    GenericTransposeBlock<N, M>(tag, from, to, N, M);
179
200k
  }
Unexecuted instantiation: dec_group.cc:void jxl::N_SSE2::(anonymous namespace)::Transpose<2ul, 1ul, void>::Run<jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: dec_group.cc:void jxl::N_SSE2::(anonymous namespace)::Transpose<1ul, 2ul, void>::Run<jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: dec_group.cc:void jxl::N_SSE2::(anonymous namespace)::Transpose<2ul, 2ul, void>::Run<jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: dec_group.cc:void jxl::N_SSE2::(anonymous namespace)::Transpose<4ul, 1ul, void>::Run<jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: dec_group.cc:void jxl::N_SSE2::(anonymous namespace)::Transpose<1ul, 4ul, void>::Run<jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: dec_group.cc:void jxl::N_SSE2::(anonymous namespace)::Transpose<4ul, 2ul, void>::Run<jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: dec_group.cc:void jxl::N_SSE2::(anonymous namespace)::Transpose<2ul, 4ul, void>::Run<jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&)
180
};
181
182
// Avoid inlining and unrolling transposes for large blocks.
183
template <size_t N, size_t M>
184
struct Transpose<
185
    N, M, typename std::enable_if<(N >= 8 && M >= 8 && N * M >= 512)>::type> {
186
  template <typename From, typename To>
187
24.0M
  static void Run(const From& from, const To& to) {
188
    // This does not guarantee anything, just saves from the most stupid
189
    // mistakes.
190
24.0M
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
191
24.0M
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
192
24.0M
    constexpr void (*transpose)(TransposeSimdTag<TransposeUseSimd(N, M)>,
193
24.0M
                                const From&, const To&, size_t, size_t) =
194
24.0M
        GenericTransposeBlock<0, 0, From, To>;
195
24.0M
    NoInlineWrapper(transpose, tag, from, to, N, M);
196
24.0M
  }
Unexecuted instantiation: enc_adaptive_quantization.cc:void jxl::N_SSE4::(anonymous namespace)::Transpose<32ul, 16ul, void>::Run<jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_adaptive_quantization.cc:void jxl::N_SSE4::(anonymous namespace)::Transpose<16ul, 32ul, void>::Run<jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_adaptive_quantization.cc:void jxl::N_SSE4::(anonymous namespace)::Transpose<32ul, 32ul, void>::Run<jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_adaptive_quantization.cc:void jxl::N_SSE4::(anonymous namespace)::Transpose<64ul, 64ul, void>::Run<jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_adaptive_quantization.cc:void jxl::N_SSE4::(anonymous namespace)::Transpose<64ul, 32ul, void>::Run<jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_adaptive_quantization.cc:void jxl::N_SSE4::(anonymous namespace)::Transpose<32ul, 64ul, void>::Run<jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_adaptive_quantization.cc:void jxl::N_SSE4::(anonymous namespace)::Transpose<128ul, 128ul, void>::Run<jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_adaptive_quantization.cc:void jxl::N_SSE4::(anonymous namespace)::Transpose<128ul, 64ul, void>::Run<jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_adaptive_quantization.cc:void jxl::N_SSE4::(anonymous namespace)::Transpose<64ul, 128ul, void>::Run<jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_adaptive_quantization.cc:void jxl::N_SSE4::(anonymous namespace)::Transpose<256ul, 256ul, void>::Run<jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_adaptive_quantization.cc:void jxl::N_SSE4::(anonymous namespace)::Transpose<256ul, 128ul, void>::Run<jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_adaptive_quantization.cc:void jxl::N_SSE4::(anonymous namespace)::Transpose<128ul, 256ul, void>::Run<jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_adaptive_quantization.cc:void jxl::N_AVX2::(anonymous namespace)::Transpose<32ul, 16ul, void>::Run<jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_adaptive_quantization.cc:void jxl::N_AVX2::(anonymous namespace)::Transpose<16ul, 32ul, void>::Run<jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_adaptive_quantization.cc:void jxl::N_AVX2::(anonymous namespace)::Transpose<32ul, 32ul, void>::Run<jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_adaptive_quantization.cc:void jxl::N_AVX2::(anonymous namespace)::Transpose<64ul, 64ul, void>::Run<jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_adaptive_quantization.cc:void jxl::N_AVX2::(anonymous namespace)::Transpose<64ul, 32ul, void>::Run<jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_adaptive_quantization.cc:void jxl::N_AVX2::(anonymous namespace)::Transpose<32ul, 64ul, void>::Run<jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_adaptive_quantization.cc:void jxl::N_AVX2::(anonymous namespace)::Transpose<128ul, 128ul, void>::Run<jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_adaptive_quantization.cc:void jxl::N_AVX2::(anonymous namespace)::Transpose<128ul, 64ul, void>::Run<jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_adaptive_quantization.cc:void jxl::N_AVX2::(anonymous namespace)::Transpose<64ul, 128ul, void>::Run<jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_adaptive_quantization.cc:void jxl::N_AVX2::(anonymous namespace)::Transpose<256ul, 256ul, void>::Run<jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_adaptive_quantization.cc:void jxl::N_AVX2::(anonymous namespace)::Transpose<256ul, 128ul, void>::Run<jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_adaptive_quantization.cc:void jxl::N_AVX2::(anonymous namespace)::Transpose<128ul, 256ul, void>::Run<jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_adaptive_quantization.cc:void jxl::N_SSE2::(anonymous namespace)::Transpose<32ul, 16ul, void>::Run<jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_adaptive_quantization.cc:void jxl::N_SSE2::(anonymous namespace)::Transpose<16ul, 32ul, void>::Run<jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_adaptive_quantization.cc:void jxl::N_SSE2::(anonymous namespace)::Transpose<32ul, 32ul, void>::Run<jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_adaptive_quantization.cc:void jxl::N_SSE2::(anonymous namespace)::Transpose<64ul, 64ul, void>::Run<jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_adaptive_quantization.cc:void jxl::N_SSE2::(anonymous namespace)::Transpose<64ul, 32ul, void>::Run<jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_adaptive_quantization.cc:void jxl::N_SSE2::(anonymous namespace)::Transpose<32ul, 64ul, void>::Run<jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_adaptive_quantization.cc:void jxl::N_SSE2::(anonymous namespace)::Transpose<128ul, 128ul, void>::Run<jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_adaptive_quantization.cc:void jxl::N_SSE2::(anonymous namespace)::Transpose<128ul, 64ul, void>::Run<jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_adaptive_quantization.cc:void jxl::N_SSE2::(anonymous namespace)::Transpose<64ul, 128ul, void>::Run<jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_adaptive_quantization.cc:void jxl::N_SSE2::(anonymous namespace)::Transpose<256ul, 256ul, void>::Run<jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_adaptive_quantization.cc:void jxl::N_SSE2::(anonymous namespace)::Transpose<256ul, 128ul, void>::Run<jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_adaptive_quantization.cc:void jxl::N_SSE2::(anonymous namespace)::Transpose<128ul, 256ul, void>::Run<jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_group.cc:void jxl::N_SSE4::(anonymous namespace)::Transpose<32ul, 16ul, void>::Run<jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_group.cc:void jxl::N_SSE4::(anonymous namespace)::Transpose<16ul, 32ul, void>::Run<jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_group.cc:void jxl::N_SSE4::(anonymous namespace)::Transpose<32ul, 32ul, void>::Run<jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_group.cc:void jxl::N_SSE4::(anonymous namespace)::Transpose<64ul, 64ul, void>::Run<jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_group.cc:void jxl::N_SSE4::(anonymous namespace)::Transpose<64ul, 32ul, void>::Run<jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_group.cc:void jxl::N_SSE4::(anonymous namespace)::Transpose<32ul, 64ul, void>::Run<jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_group.cc:void jxl::N_SSE4::(anonymous namespace)::Transpose<128ul, 128ul, void>::Run<jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_group.cc:void jxl::N_SSE4::(anonymous namespace)::Transpose<128ul, 64ul, void>::Run<jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_group.cc:void jxl::N_SSE4::(anonymous namespace)::Transpose<64ul, 128ul, void>::Run<jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_group.cc:void jxl::N_SSE4::(anonymous namespace)::Transpose<256ul, 256ul, void>::Run<jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_group.cc:void jxl::N_SSE4::(anonymous namespace)::Transpose<256ul, 128ul, void>::Run<jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_group.cc:void jxl::N_SSE4::(anonymous namespace)::Transpose<128ul, 256ul, void>::Run<jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&)
enc_group.cc:void jxl::N_AVX2::(anonymous namespace)::Transpose<32ul, 16ul, void>::Run<jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&)
Line
Count
Source
187
130k
  static void Run(const From& from, const To& to) {
188
    // This does not guarantee anything, just saves from the most stupid
189
    // mistakes.
190
130k
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
191
130k
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
192
130k
    constexpr void (*transpose)(TransposeSimdTag<TransposeUseSimd(N, M)>,
193
130k
                                const From&, const To&, size_t, size_t) =
194
130k
        GenericTransposeBlock<0, 0, From, To>;
195
130k
    NoInlineWrapper(transpose, tag, from, to, N, M);
196
130k
  }
enc_group.cc:void jxl::N_AVX2::(anonymous namespace)::Transpose<16ul, 32ul, void>::Run<jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&)
Line
Count
Source
187
67.3k
  static void Run(const From& from, const To& to) {
188
    // This does not guarantee anything, just saves from the most stupid
189
    // mistakes.
190
67.3k
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
191
67.3k
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
192
67.3k
    constexpr void (*transpose)(TransposeSimdTag<TransposeUseSimd(N, M)>,
193
67.3k
                                const From&, const To&, size_t, size_t) =
194
67.3k
        GenericTransposeBlock<0, 0, From, To>;
195
67.3k
    NoInlineWrapper(transpose, tag, from, to, N, M);
196
67.3k
  }
enc_group.cc:void jxl::N_AVX2::(anonymous namespace)::Transpose<32ul, 32ul, void>::Run<jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&)
Line
Count
Source
187
129k
  static void Run(const From& from, const To& to) {
188
    // This does not guarantee anything, just saves from the most stupid
189
    // mistakes.
190
129k
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
191
129k
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
192
129k
    constexpr void (*transpose)(TransposeSimdTag<TransposeUseSimd(N, M)>,
193
129k
                                const From&, const To&, size_t, size_t) =
194
129k
        GenericTransposeBlock<0, 0, From, To>;
195
129k
    NoInlineWrapper(transpose, tag, from, to, N, M);
196
129k
  }
enc_group.cc:void jxl::N_AVX2::(anonymous namespace)::Transpose<64ul, 64ul, void>::Run<jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&)
Line
Count
Source
187
69.1k
  static void Run(const From& from, const To& to) {
188
    // This does not guarantee anything, just saves from the most stupid
189
    // mistakes.
190
69.1k
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
191
69.1k
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
192
69.1k
    constexpr void (*transpose)(TransposeSimdTag<TransposeUseSimd(N, M)>,
193
69.1k
                                const From&, const To&, size_t, size_t) =
194
69.1k
        GenericTransposeBlock<0, 0, From, To>;
195
69.1k
    NoInlineWrapper(transpose, tag, from, to, N, M);
196
69.1k
  }
enc_group.cc:void jxl::N_AVX2::(anonymous namespace)::Transpose<64ul, 32ul, void>::Run<jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&)
Line
Count
Source
187
22.0k
  static void Run(const From& from, const To& to) {
188
    // This does not guarantee anything, just saves from the most stupid
189
    // mistakes.
190
22.0k
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
191
22.0k
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
192
22.0k
    constexpr void (*transpose)(TransposeSimdTag<TransposeUseSimd(N, M)>,
193
22.0k
                                const From&, const To&, size_t, size_t) =
194
22.0k
        GenericTransposeBlock<0, 0, From, To>;
195
22.0k
    NoInlineWrapper(transpose, tag, from, to, N, M);
196
22.0k
  }
enc_group.cc:void jxl::N_AVX2::(anonymous namespace)::Transpose<32ul, 64ul, void>::Run<jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&)
Line
Count
Source
187
8.48k
  static void Run(const From& from, const To& to) {
188
    // This does not guarantee anything, just saves from the most stupid
189
    // mistakes.
190
8.48k
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
191
8.48k
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
192
8.48k
    constexpr void (*transpose)(TransposeSimdTag<TransposeUseSimd(N, M)>,
193
8.48k
                                const From&, const To&, size_t, size_t) =
194
8.48k
        GenericTransposeBlock<0, 0, From, To>;
195
8.48k
    NoInlineWrapper(transpose, tag, from, to, N, M);
196
8.48k
  }
Unexecuted instantiation: enc_group.cc:void jxl::N_AVX2::(anonymous namespace)::Transpose<128ul, 128ul, void>::Run<jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_group.cc:void jxl::N_AVX2::(anonymous namespace)::Transpose<128ul, 64ul, void>::Run<jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_group.cc:void jxl::N_AVX2::(anonymous namespace)::Transpose<64ul, 128ul, void>::Run<jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_group.cc:void jxl::N_AVX2::(anonymous namespace)::Transpose<256ul, 256ul, void>::Run<jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_group.cc:void jxl::N_AVX2::(anonymous namespace)::Transpose<256ul, 128ul, void>::Run<jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_group.cc:void jxl::N_AVX2::(anonymous namespace)::Transpose<128ul, 256ul, void>::Run<jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_group.cc:void jxl::N_SSE2::(anonymous namespace)::Transpose<32ul, 16ul, void>::Run<jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_group.cc:void jxl::N_SSE2::(anonymous namespace)::Transpose<16ul, 32ul, void>::Run<jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_group.cc:void jxl::N_SSE2::(anonymous namespace)::Transpose<32ul, 32ul, void>::Run<jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_group.cc:void jxl::N_SSE2::(anonymous namespace)::Transpose<64ul, 64ul, void>::Run<jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_group.cc:void jxl::N_SSE2::(anonymous namespace)::Transpose<64ul, 32ul, void>::Run<jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_group.cc:void jxl::N_SSE2::(anonymous namespace)::Transpose<32ul, 64ul, void>::Run<jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_group.cc:void jxl::N_SSE2::(anonymous namespace)::Transpose<128ul, 128ul, void>::Run<jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_group.cc:void jxl::N_SSE2::(anonymous namespace)::Transpose<128ul, 64ul, void>::Run<jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_group.cc:void jxl::N_SSE2::(anonymous namespace)::Transpose<64ul, 128ul, void>::Run<jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_group.cc:void jxl::N_SSE2::(anonymous namespace)::Transpose<256ul, 256ul, void>::Run<jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_group.cc:void jxl::N_SSE2::(anonymous namespace)::Transpose<256ul, 128ul, void>::Run<jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_group.cc:void jxl::N_SSE2::(anonymous namespace)::Transpose<128ul, 256ul, void>::Run<jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_chroma_from_luma.cc:void jxl::N_SSE4::(anonymous namespace)::Transpose<32ul, 16ul, void>::Run<jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_chroma_from_luma.cc:void jxl::N_SSE4::(anonymous namespace)::Transpose<16ul, 32ul, void>::Run<jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_chroma_from_luma.cc:void jxl::N_SSE4::(anonymous namespace)::Transpose<32ul, 32ul, void>::Run<jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_chroma_from_luma.cc:void jxl::N_SSE4::(anonymous namespace)::Transpose<64ul, 64ul, void>::Run<jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_chroma_from_luma.cc:void jxl::N_SSE4::(anonymous namespace)::Transpose<64ul, 32ul, void>::Run<jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_chroma_from_luma.cc:void jxl::N_SSE4::(anonymous namespace)::Transpose<32ul, 64ul, void>::Run<jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_chroma_from_luma.cc:void jxl::N_SSE4::(anonymous namespace)::Transpose<128ul, 128ul, void>::Run<jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_chroma_from_luma.cc:void jxl::N_SSE4::(anonymous namespace)::Transpose<128ul, 64ul, void>::Run<jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_chroma_from_luma.cc:void jxl::N_SSE4::(anonymous namespace)::Transpose<64ul, 128ul, void>::Run<jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_chroma_from_luma.cc:void jxl::N_SSE4::(anonymous namespace)::Transpose<256ul, 256ul, void>::Run<jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_chroma_from_luma.cc:void jxl::N_SSE4::(anonymous namespace)::Transpose<256ul, 128ul, void>::Run<jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_chroma_from_luma.cc:void jxl::N_SSE4::(anonymous namespace)::Transpose<128ul, 256ul, void>::Run<jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&)
enc_chroma_from_luma.cc:void jxl::N_AVX2::(anonymous namespace)::Transpose<32ul, 16ul, void>::Run<jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&)
Line
Count
Source
187
130k
  static void Run(const From& from, const To& to) {
188
    // This does not guarantee anything, just saves from the most stupid
189
    // mistakes.
190
130k
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
191
130k
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
192
130k
    constexpr void (*transpose)(TransposeSimdTag<TransposeUseSimd(N, M)>,
193
130k
                                const From&, const To&, size_t, size_t) =
194
130k
        GenericTransposeBlock<0, 0, From, To>;
195
130k
    NoInlineWrapper(transpose, tag, from, to, N, M);
196
130k
  }
enc_chroma_from_luma.cc:void jxl::N_AVX2::(anonymous namespace)::Transpose<16ul, 32ul, void>::Run<jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&)
Line
Count
Source
187
67.3k
  static void Run(const From& from, const To& to) {
188
    // This does not guarantee anything, just saves from the most stupid
189
    // mistakes.
190
67.3k
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
191
67.3k
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
192
67.3k
    constexpr void (*transpose)(TransposeSimdTag<TransposeUseSimd(N, M)>,
193
67.3k
                                const From&, const To&, size_t, size_t) =
194
67.3k
        GenericTransposeBlock<0, 0, From, To>;
195
67.3k
    NoInlineWrapper(transpose, tag, from, to, N, M);
196
67.3k
  }
enc_chroma_from_luma.cc:void jxl::N_AVX2::(anonymous namespace)::Transpose<32ul, 32ul, void>::Run<jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&)
Line
Count
Source
187
129k
  static void Run(const From& from, const To& to) {
188
    // This does not guarantee anything, just saves from the most stupid
189
    // mistakes.
190
129k
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
191
129k
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
192
129k
    constexpr void (*transpose)(TransposeSimdTag<TransposeUseSimd(N, M)>,
193
129k
                                const From&, const To&, size_t, size_t) =
194
129k
        GenericTransposeBlock<0, 0, From, To>;
195
129k
    NoInlineWrapper(transpose, tag, from, to, N, M);
196
129k
  }
enc_chroma_from_luma.cc:void jxl::N_AVX2::(anonymous namespace)::Transpose<64ul, 64ul, void>::Run<jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&)
Line
Count
Source
187
69.1k
  static void Run(const From& from, const To& to) {
188
    // This does not guarantee anything, just saves from the most stupid
189
    // mistakes.
190
69.1k
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
191
69.1k
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
192
69.1k
    constexpr void (*transpose)(TransposeSimdTag<TransposeUseSimd(N, M)>,
193
69.1k
                                const From&, const To&, size_t, size_t) =
194
69.1k
        GenericTransposeBlock<0, 0, From, To>;
195
69.1k
    NoInlineWrapper(transpose, tag, from, to, N, M);
196
69.1k
  }
enc_chroma_from_luma.cc:void jxl::N_AVX2::(anonymous namespace)::Transpose<64ul, 32ul, void>::Run<jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&)
Line
Count
Source
187
22.0k
  static void Run(const From& from, const To& to) {
188
    // This does not guarantee anything, just saves from the most stupid
189
    // mistakes.
190
22.0k
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
191
22.0k
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
192
22.0k
    constexpr void (*transpose)(TransposeSimdTag<TransposeUseSimd(N, M)>,
193
22.0k
                                const From&, const To&, size_t, size_t) =
194
22.0k
        GenericTransposeBlock<0, 0, From, To>;
195
22.0k
    NoInlineWrapper(transpose, tag, from, to, N, M);
196
22.0k
  }
enc_chroma_from_luma.cc:void jxl::N_AVX2::(anonymous namespace)::Transpose<32ul, 64ul, void>::Run<jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&)
Line
Count
Source
187
8.48k
  static void Run(const From& from, const To& to) {
188
    // This does not guarantee anything, just saves from the most stupid
189
    // mistakes.
190
8.48k
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
191
8.48k
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
192
8.48k
    constexpr void (*transpose)(TransposeSimdTag<TransposeUseSimd(N, M)>,
193
8.48k
                                const From&, const To&, size_t, size_t) =
194
8.48k
        GenericTransposeBlock<0, 0, From, To>;
195
8.48k
    NoInlineWrapper(transpose, tag, from, to, N, M);
196
8.48k
  }
Unexecuted instantiation: enc_chroma_from_luma.cc:void jxl::N_AVX2::(anonymous namespace)::Transpose<128ul, 128ul, void>::Run<jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_chroma_from_luma.cc:void jxl::N_AVX2::(anonymous namespace)::Transpose<128ul, 64ul, void>::Run<jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_chroma_from_luma.cc:void jxl::N_AVX2::(anonymous namespace)::Transpose<64ul, 128ul, void>::Run<jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_chroma_from_luma.cc:void jxl::N_AVX2::(anonymous namespace)::Transpose<256ul, 256ul, void>::Run<jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_chroma_from_luma.cc:void jxl::N_AVX2::(anonymous namespace)::Transpose<256ul, 128ul, void>::Run<jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_chroma_from_luma.cc:void jxl::N_AVX2::(anonymous namespace)::Transpose<128ul, 256ul, void>::Run<jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_chroma_from_luma.cc:void jxl::N_SSE2::(anonymous namespace)::Transpose<32ul, 16ul, void>::Run<jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_chroma_from_luma.cc:void jxl::N_SSE2::(anonymous namespace)::Transpose<16ul, 32ul, void>::Run<jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_chroma_from_luma.cc:void jxl::N_SSE2::(anonymous namespace)::Transpose<32ul, 32ul, void>::Run<jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_chroma_from_luma.cc:void jxl::N_SSE2::(anonymous namespace)::Transpose<64ul, 64ul, void>::Run<jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_chroma_from_luma.cc:void jxl::N_SSE2::(anonymous namespace)::Transpose<64ul, 32ul, void>::Run<jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_chroma_from_luma.cc:void jxl::N_SSE2::(anonymous namespace)::Transpose<32ul, 64ul, void>::Run<jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_chroma_from_luma.cc:void jxl::N_SSE2::(anonymous namespace)::Transpose<128ul, 128ul, void>::Run<jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_chroma_from_luma.cc:void jxl::N_SSE2::(anonymous namespace)::Transpose<128ul, 64ul, void>::Run<jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_chroma_from_luma.cc:void jxl::N_SSE2::(anonymous namespace)::Transpose<64ul, 128ul, void>::Run<jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_chroma_from_luma.cc:void jxl::N_SSE2::(anonymous namespace)::Transpose<256ul, 256ul, void>::Run<jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_chroma_from_luma.cc:void jxl::N_SSE2::(anonymous namespace)::Transpose<256ul, 128ul, void>::Run<jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_chroma_from_luma.cc:void jxl::N_SSE2::(anonymous namespace)::Transpose<128ul, 256ul, void>::Run<jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_ac_strategy.cc:void jxl::N_SSE4::(anonymous namespace)::Transpose<32ul, 16ul, void>::Run<jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_ac_strategy.cc:void jxl::N_SSE4::(anonymous namespace)::Transpose<16ul, 32ul, void>::Run<jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_ac_strategy.cc:void jxl::N_SSE4::(anonymous namespace)::Transpose<32ul, 32ul, void>::Run<jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_ac_strategy.cc:void jxl::N_SSE4::(anonymous namespace)::Transpose<64ul, 64ul, void>::Run<jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_ac_strategy.cc:void jxl::N_SSE4::(anonymous namespace)::Transpose<64ul, 32ul, void>::Run<jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_ac_strategy.cc:void jxl::N_SSE4::(anonymous namespace)::Transpose<32ul, 64ul, void>::Run<jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_ac_strategy.cc:void jxl::N_SSE4::(anonymous namespace)::Transpose<128ul, 128ul, void>::Run<jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_ac_strategy.cc:void jxl::N_SSE4::(anonymous namespace)::Transpose<128ul, 64ul, void>::Run<jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_ac_strategy.cc:void jxl::N_SSE4::(anonymous namespace)::Transpose<64ul, 128ul, void>::Run<jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_ac_strategy.cc:void jxl::N_SSE4::(anonymous namespace)::Transpose<256ul, 256ul, void>::Run<jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_ac_strategy.cc:void jxl::N_SSE4::(anonymous namespace)::Transpose<256ul, 128ul, void>::Run<jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_ac_strategy.cc:void jxl::N_SSE4::(anonymous namespace)::Transpose<128ul, 256ul, void>::Run<jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&)
enc_ac_strategy.cc:void jxl::N_AVX2::(anonymous namespace)::Transpose<32ul, 16ul, void>::Run<jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&)
Line
Count
Source
187
7.67M
  static void Run(const From& from, const To& to) {
188
    // This does not guarantee anything, just saves from the most stupid
189
    // mistakes.
190
7.67M
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
191
7.67M
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
192
7.67M
    constexpr void (*transpose)(TransposeSimdTag<TransposeUseSimd(N, M)>,
193
7.67M
                                const From&, const To&, size_t, size_t) =
194
7.67M
        GenericTransposeBlock<0, 0, From, To>;
195
7.67M
    NoInlineWrapper(transpose, tag, from, to, N, M);
196
7.67M
  }
enc_ac_strategy.cc:void jxl::N_AVX2::(anonymous namespace)::Transpose<16ul, 32ul, void>::Run<jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&)
Line
Count
Source
187
7.67M
  static void Run(const From& from, const To& to) {
188
    // This does not guarantee anything, just saves from the most stupid
189
    // mistakes.
190
7.67M
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
191
7.67M
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
192
7.67M
    constexpr void (*transpose)(TransposeSimdTag<TransposeUseSimd(N, M)>,
193
7.67M
                                const From&, const To&, size_t, size_t) =
194
7.67M
        GenericTransposeBlock<0, 0, From, To>;
195
7.67M
    NoInlineWrapper(transpose, tag, from, to, N, M);
196
7.67M
  }
enc_ac_strategy.cc:void jxl::N_AVX2::(anonymous namespace)::Transpose<32ul, 32ul, void>::Run<jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&)
Line
Count
Source
187
2.60M
  static void Run(const From& from, const To& to) {
188
    // This does not guarantee anything, just saves from the most stupid
189
    // mistakes.
190
2.60M
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
191
2.60M
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
192
2.60M
    constexpr void (*transpose)(TransposeSimdTag<TransposeUseSimd(N, M)>,
193
2.60M
                                const From&, const To&, size_t, size_t) =
194
2.60M
        GenericTransposeBlock<0, 0, From, To>;
195
2.60M
    NoInlineWrapper(transpose, tag, from, to, N, M);
196
2.60M
  }
enc_ac_strategy.cc:void jxl::N_AVX2::(anonymous namespace)::Transpose<64ul, 64ul, void>::Run<jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&)
Line
Count
Source
187
455k
  static void Run(const From& from, const To& to) {
188
    // This does not guarantee anything, just saves from the most stupid
189
    // mistakes.
190
455k
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
191
455k
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
192
455k
    constexpr void (*transpose)(TransposeSimdTag<TransposeUseSimd(N, M)>,
193
455k
                                const From&, const To&, size_t, size_t) =
194
455k
        GenericTransposeBlock<0, 0, From, To>;
195
455k
    NoInlineWrapper(transpose, tag, from, to, N, M);
196
455k
  }
enc_ac_strategy.cc:void jxl::N_AVX2::(anonymous namespace)::Transpose<64ul, 32ul, void>::Run<jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&)
Line
Count
Source
187
1.75M
  static void Run(const From& from, const To& to) {
188
    // This does not guarantee anything, just saves from the most stupid
189
    // mistakes.
190
1.75M
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
191
1.75M
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
192
1.75M
    constexpr void (*transpose)(TransposeSimdTag<TransposeUseSimd(N, M)>,
193
1.75M
                                const From&, const To&, size_t, size_t) =
194
1.75M
        GenericTransposeBlock<0, 0, From, To>;
195
1.75M
    NoInlineWrapper(transpose, tag, from, to, N, M);
196
1.75M
  }
enc_ac_strategy.cc:void jxl::N_AVX2::(anonymous namespace)::Transpose<32ul, 64ul, void>::Run<jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&)
Line
Count
Source
187
1.75M
  static void Run(const From& from, const To& to) {
188
    // This does not guarantee anything, just saves from the most stupid
189
    // mistakes.
190
1.75M
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
191
1.75M
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
192
1.75M
    constexpr void (*transpose)(TransposeSimdTag<TransposeUseSimd(N, M)>,
193
1.75M
                                const From&, const To&, size_t, size_t) =
194
1.75M
        GenericTransposeBlock<0, 0, From, To>;
195
1.75M
    NoInlineWrapper(transpose, tag, from, to, N, M);
196
1.75M
  }
Unexecuted instantiation: enc_ac_strategy.cc:void jxl::N_AVX2::(anonymous namespace)::Transpose<128ul, 128ul, void>::Run<jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_ac_strategy.cc:void jxl::N_AVX2::(anonymous namespace)::Transpose<128ul, 64ul, void>::Run<jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_ac_strategy.cc:void jxl::N_AVX2::(anonymous namespace)::Transpose<64ul, 128ul, void>::Run<jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_ac_strategy.cc:void jxl::N_AVX2::(anonymous namespace)::Transpose<256ul, 256ul, void>::Run<jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_ac_strategy.cc:void jxl::N_AVX2::(anonymous namespace)::Transpose<256ul, 128ul, void>::Run<jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_ac_strategy.cc:void jxl::N_AVX2::(anonymous namespace)::Transpose<128ul, 256ul, void>::Run<jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_ac_strategy.cc:void jxl::N_SSE2::(anonymous namespace)::Transpose<32ul, 16ul, void>::Run<jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_ac_strategy.cc:void jxl::N_SSE2::(anonymous namespace)::Transpose<16ul, 32ul, void>::Run<jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_ac_strategy.cc:void jxl::N_SSE2::(anonymous namespace)::Transpose<32ul, 32ul, void>::Run<jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_ac_strategy.cc:void jxl::N_SSE2::(anonymous namespace)::Transpose<64ul, 64ul, void>::Run<jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_ac_strategy.cc:void jxl::N_SSE2::(anonymous namespace)::Transpose<64ul, 32ul, void>::Run<jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_ac_strategy.cc:void jxl::N_SSE2::(anonymous namespace)::Transpose<32ul, 64ul, void>::Run<jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_ac_strategy.cc:void jxl::N_SSE2::(anonymous namespace)::Transpose<128ul, 128ul, void>::Run<jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_ac_strategy.cc:void jxl::N_SSE2::(anonymous namespace)::Transpose<128ul, 64ul, void>::Run<jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_ac_strategy.cc:void jxl::N_SSE2::(anonymous namespace)::Transpose<64ul, 128ul, void>::Run<jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_ac_strategy.cc:void jxl::N_SSE2::(anonymous namespace)::Transpose<256ul, 256ul, void>::Run<jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_ac_strategy.cc:void jxl::N_SSE2::(anonymous namespace)::Transpose<256ul, 128ul, void>::Run<jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: enc_ac_strategy.cc:void jxl::N_SSE2::(anonymous namespace)::Transpose<128ul, 256ul, void>::Run<jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: dec_group.cc:void jxl::N_SSE4::(anonymous namespace)::Transpose<16ul, 32ul, void>::Run<jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: dec_group.cc:void jxl::N_SSE4::(anonymous namespace)::Transpose<32ul, 16ul, void>::Run<jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: dec_group.cc:void jxl::N_SSE4::(anonymous namespace)::Transpose<32ul, 32ul, void>::Run<jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: dec_group.cc:void jxl::N_SSE4::(anonymous namespace)::Transpose<32ul, 64ul, void>::Run<jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: dec_group.cc:void jxl::N_SSE4::(anonymous namespace)::Transpose<64ul, 32ul, void>::Run<jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: dec_group.cc:void jxl::N_SSE4::(anonymous namespace)::Transpose<64ul, 64ul, void>::Run<jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: dec_group.cc:void jxl::N_SSE4::(anonymous namespace)::Transpose<64ul, 128ul, void>::Run<jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: dec_group.cc:void jxl::N_SSE4::(anonymous namespace)::Transpose<128ul, 64ul, void>::Run<jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: dec_group.cc:void jxl::N_SSE4::(anonymous namespace)::Transpose<128ul, 128ul, void>::Run<jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: dec_group.cc:void jxl::N_SSE4::(anonymous namespace)::Transpose<128ul, 256ul, void>::Run<jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: dec_group.cc:void jxl::N_SSE4::(anonymous namespace)::Transpose<256ul, 128ul, void>::Run<jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: dec_group.cc:void jxl::N_SSE4::(anonymous namespace)::Transpose<256ul, 256ul, void>::Run<jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo>(jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&)
dec_group.cc:void jxl::N_AVX2::(anonymous namespace)::Transpose<16ul, 32ul, void>::Run<jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&)
Line
Count
Source
187
389k
  static void Run(const From& from, const To& to) {
188
    // This does not guarantee anything, just saves from the most stupid
189
    // mistakes.
190
389k
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
191
389k
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
192
389k
    constexpr void (*transpose)(TransposeSimdTag<TransposeUseSimd(N, M)>,
193
389k
                                const From&, const To&, size_t, size_t) =
194
389k
        GenericTransposeBlock<0, 0, From, To>;
195
389k
    NoInlineWrapper(transpose, tag, from, to, N, M);
196
389k
  }
dec_group.cc:void jxl::N_AVX2::(anonymous namespace)::Transpose<32ul, 16ul, void>::Run<jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&)
Line
Count
Source
187
200k
  static void Run(const From& from, const To& to) {
188
    // This does not guarantee anything, just saves from the most stupid
189
    // mistakes.
190
200k
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
191
200k
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
192
200k
    constexpr void (*transpose)(TransposeSimdTag<TransposeUseSimd(N, M)>,
193
200k
                                const From&, const To&, size_t, size_t) =
194
200k
        GenericTransposeBlock<0, 0, From, To>;
195
200k
    NoInlineWrapper(transpose, tag, from, to, N, M);
196
200k
  }
dec_group.cc:void jxl::N_AVX2::(anonymous namespace)::Transpose<32ul, 32ul, void>::Run<jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&)
Line
Count
Source
187
389k
  static void Run(const From& from, const To& to) {
188
    // This does not guarantee anything, just saves from the most stupid
189
    // mistakes.
190
389k
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
191
389k
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
192
389k
    constexpr void (*transpose)(TransposeSimdTag<TransposeUseSimd(N, M)>,
193
389k
                                const From&, const To&, size_t, size_t) =
194
389k
        GenericTransposeBlock<0, 0, From, To>;
195
389k
    NoInlineWrapper(transpose, tag, from, to, N, M);
196
389k
  }
dec_group.cc:void jxl::N_AVX2::(anonymous namespace)::Transpose<32ul, 64ul, void>::Run<jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&)
Line
Count
Source
187
50.4k
  static void Run(const From& from, const To& to) {
188
    // This does not guarantee anything, just saves from the most stupid
189
    // mistakes.
190
50.4k
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
191
50.4k
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
192
50.4k
    constexpr void (*transpose)(TransposeSimdTag<TransposeUseSimd(N, M)>,
193
50.4k
                                const From&, const To&, size_t, size_t) =
194
50.4k
        GenericTransposeBlock<0, 0, From, To>;
195
50.4k
    NoInlineWrapper(transpose, tag, from, to, N, M);
196
50.4k
  }
dec_group.cc:void jxl::N_AVX2::(anonymous namespace)::Transpose<64ul, 32ul, void>::Run<jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&)
Line
Count
Source
187
24.8k
  static void Run(const From& from, const To& to) {
188
    // This does not guarantee anything, just saves from the most stupid
189
    // mistakes.
190
24.8k
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
191
24.8k
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
192
24.8k
    constexpr void (*transpose)(TransposeSimdTag<TransposeUseSimd(N, M)>,
193
24.8k
                                const From&, const To&, size_t, size_t) =
194
24.8k
        GenericTransposeBlock<0, 0, From, To>;
195
24.8k
    NoInlineWrapper(transpose, tag, from, to, N, M);
196
24.8k
  }
dec_group.cc:void jxl::N_AVX2::(anonymous namespace)::Transpose<64ul, 64ul, void>::Run<jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&)
Line
Count
Source
187
207k
  static void Run(const From& from, const To& to) {
188
    // This does not guarantee anything, just saves from the most stupid
189
    // mistakes.
190
207k
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
191
207k
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
192
207k
    constexpr void (*transpose)(TransposeSimdTag<TransposeUseSimd(N, M)>,
193
207k
                                const From&, const To&, size_t, size_t) =
194
207k
        GenericTransposeBlock<0, 0, From, To>;
195
207k
    NoInlineWrapper(transpose, tag, from, to, N, M);
196
207k
  }
dec_group.cc:void jxl::N_AVX2::(anonymous namespace)::Transpose<64ul, 128ul, void>::Run<jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&)
Line
Count
Source
187
6
  static void Run(const From& from, const To& to) {
188
    // This does not guarantee anything, just saves from the most stupid
189
    // mistakes.
190
6
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
191
6
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
192
6
    constexpr void (*transpose)(TransposeSimdTag<TransposeUseSimd(N, M)>,
193
6
                                const From&, const To&, size_t, size_t) =
194
6
        GenericTransposeBlock<0, 0, From, To>;
195
6
    NoInlineWrapper(transpose, tag, from, to, N, M);
196
6
  }
dec_group.cc:void jxl::N_AVX2::(anonymous namespace)::Transpose<128ul, 64ul, void>::Run<jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&)
Line
Count
Source
187
3
  static void Run(const From& from, const To& to) {
188
    // This does not guarantee anything, just saves from the most stupid
189
    // mistakes.
190
3
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
191
3
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
192
3
    constexpr void (*transpose)(TransposeSimdTag<TransposeUseSimd(N, M)>,
193
3
                                const From&, const To&, size_t, size_t) =
194
3
        GenericTransposeBlock<0, 0, From, To>;
195
3
    NoInlineWrapper(transpose, tag, from, to, N, M);
196
3
  }
dec_group.cc:void jxl::N_AVX2::(anonymous namespace)::Transpose<128ul, 128ul, void>::Run<jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&)
Line
Count
Source
187
18
  static void Run(const From& from, const To& to) {
188
    // This does not guarantee anything, just saves from the most stupid
189
    // mistakes.
190
18
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
191
18
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
192
18
    constexpr void (*transpose)(TransposeSimdTag<TransposeUseSimd(N, M)>,
193
18
                                const From&, const To&, size_t, size_t) =
194
18
        GenericTransposeBlock<0, 0, From, To>;
195
18
    NoInlineWrapper(transpose, tag, from, to, N, M);
196
18
  }
Unexecuted instantiation: dec_group.cc:void jxl::N_AVX2::(anonymous namespace)::Transpose<128ul, 256ul, void>::Run<jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: dec_group.cc:void jxl::N_AVX2::(anonymous namespace)::Transpose<256ul, 128ul, void>::Run<jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: dec_group.cc:void jxl::N_AVX2::(anonymous namespace)::Transpose<256ul, 256ul, void>::Run<jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: dec_group.cc:void jxl::N_SSE2::(anonymous namespace)::Transpose<16ul, 32ul, void>::Run<jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: dec_group.cc:void jxl::N_SSE2::(anonymous namespace)::Transpose<32ul, 16ul, void>::Run<jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: dec_group.cc:void jxl::N_SSE2::(anonymous namespace)::Transpose<32ul, 32ul, void>::Run<jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: dec_group.cc:void jxl::N_SSE2::(anonymous namespace)::Transpose<32ul, 64ul, void>::Run<jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: dec_group.cc:void jxl::N_SSE2::(anonymous namespace)::Transpose<64ul, 32ul, void>::Run<jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: dec_group.cc:void jxl::N_SSE2::(anonymous namespace)::Transpose<64ul, 64ul, void>::Run<jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: dec_group.cc:void jxl::N_SSE2::(anonymous namespace)::Transpose<64ul, 128ul, void>::Run<jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: dec_group.cc:void jxl::N_SSE2::(anonymous namespace)::Transpose<128ul, 64ul, void>::Run<jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: dec_group.cc:void jxl::N_SSE2::(anonymous namespace)::Transpose<128ul, 128ul, void>::Run<jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: dec_group.cc:void jxl::N_SSE2::(anonymous namespace)::Transpose<128ul, 256ul, void>::Run<jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: dec_group.cc:void jxl::N_SSE2::(anonymous namespace)::Transpose<256ul, 128ul, void>::Run<jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: dec_group.cc:void jxl::N_SSE2::(anonymous namespace)::Transpose<256ul, 256ul, void>::Run<jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&)
197
};
198
199
}  // namespace
200
// NOLINTNEXTLINE(google-readability-namespace-comments)
201
}  // namespace HWY_NAMESPACE
202
}  // namespace jxl
203
HWY_AFTER_NAMESPACE();
204
205
#endif  // LIB_JXL_TRANSPOSE_INL_H_