Coverage Report

Created: 2026-02-14 07:11

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
100M
JXL_NOINLINE void NoInlineWrapper(const T& f, const Args&... args) {
42
100M
  return f(args...);
43
100M
}
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.19M
JXL_NOINLINE void NoInlineWrapper(const T& f, const Args&... args) {
42
1.19M
  return f(args...);
43
1.19M
}
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
284k
JXL_NOINLINE void NoInlineWrapper(const T& f, const Args&... args) {
42
284k
  return f(args...);
43
284k
}
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.19M
JXL_NOINLINE void NoInlineWrapper(const T& f, const Args&... args) {
42
1.19M
  return f(args...);
43
1.19M
}
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
284k
JXL_NOINLINE void NoInlineWrapper(const T& f, const Args&... args) {
42
284k
  return f(args...);
43
284k
}
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
77.4M
JXL_NOINLINE void NoInlineWrapper(const T& f, const Args&... args) {
42
77.4M
  return f(args...);
43
77.4M
}
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
15.3M
JXL_NOINLINE void NoInlineWrapper(const T& f, const Args&... args) {
42
15.3M
  return f(args...);
43
15.3M
}
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
3.61M
JXL_NOINLINE void NoInlineWrapper(const T& f, const Args&... args) {
42
3.61M
  return f(args...);
43
3.61M
}
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
854k
JXL_NOINLINE void NoInlineWrapper(const T& f, const Args&... args) {
42
854k
  return f(args...);
43
854k
}
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
517M
    size_t ROWSp, size_t COLSp) {
53
517M
  size_t ROWS = ROWS_or_0 == 0 ? ROWSp : ROWS_or_0;
54
517M
  size_t COLS = COLS_or_0 == 0 ? COLSp : COLS_or_0;
55
3.23G
  for (size_t n = 0; n < ROWS; ++n) {
56
16.1G
    for (size_t m = 0; m < COLS; ++m) {
57
13.4G
      to.Write(from.Read(n, m), m, n);
58
13.4G
    }
59
2.71G
  }
60
517M
}
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
677k
    size_t ROWSp, size_t COLSp) {
53
677k
  size_t ROWS = ROWS_or_0 == 0 ? ROWSp : ROWS_or_0;
54
677k
  size_t COLS = COLS_or_0 == 0 ? COLSp : COLS_or_0;
55
6.09M
  for (size_t n = 0; n < ROWS; ++n) {
56
27.1M
    for (size_t m = 0; m < COLS; ++m) {
57
21.6M
      to.Write(from.Read(n, m), m, n);
58
21.6M
    }
59
5.42M
  }
60
677k
}
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
420k
    size_t ROWSp, size_t COLSp) {
53
420k
  size_t ROWS = ROWS_or_0 == 0 ? ROWSp : ROWS_or_0;
54
420k
  size_t COLS = COLS_or_0 == 0 ? COLSp : COLS_or_0;
55
2.10M
  for (size_t n = 0; n < ROWS; ++n) {
56
15.1M
    for (size_t m = 0; m < COLS; ++m) {
57
13.4M
      to.Write(from.Read(n, m), m, n);
58
13.4M
    }
59
1.68M
  }
60
420k
}
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
360k
    size_t ROWSp, size_t COLSp) {
53
360k
  size_t ROWS = ROWS_or_0 == 0 ? ROWSp : ROWS_or_0;
54
360k
  size_t COLS = COLS_or_0 == 0 ? COLSp : COLS_or_0;
55
1.80M
  for (size_t n = 0; n < ROWS; ++n) {
56
7.20M
    for (size_t m = 0; m < COLS; ++m) {
57
5.76M
      to.Write(from.Read(n, m), m, n);
58
5.76M
    }
59
1.44M
  }
60
360k
}
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
433k
    size_t ROWSp, size_t COLSp) {
53
433k
  size_t ROWS = ROWS_or_0 == 0 ? ROWSp : ROWS_or_0;
54
433k
  size_t COLS = COLS_or_0 == 0 ? COLSp : COLS_or_0;
55
867k
  for (size_t n = 0; n < ROWS; ++n) {
56
1.30M
    for (size_t m = 0; m < COLS; ++m) {
57
867k
      to.Write(from.Read(n, m), m, n);
58
867k
    }
59
433k
  }
60
433k
}
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
224k
    size_t ROWSp, size_t COLSp) {
53
224k
  size_t ROWS = ROWS_or_0 == 0 ? ROWSp : ROWS_or_0;
54
224k
  size_t COLS = COLS_or_0 == 0 ? COLSp : COLS_or_0;
55
674k
  for (size_t n = 0; n < ROWS; ++n) {
56
899k
    for (size_t m = 0; m < COLS; ++m) {
57
449k
      to.Write(from.Read(n, m), m, n);
58
449k
    }
59
449k
  }
60
224k
}
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
147k
    size_t ROWSp, size_t COLSp) {
53
147k
  size_t ROWS = ROWS_or_0 == 0 ? ROWSp : ROWS_or_0;
54
147k
  size_t COLS = COLS_or_0 == 0 ? COLSp : COLS_or_0;
55
443k
  for (size_t n = 0; n < ROWS; ++n) {
56
887k
    for (size_t m = 0; m < COLS; ++m) {
57
591k
      to.Write(from.Read(n, m), m, n);
58
591k
    }
59
295k
  }
60
147k
}
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
90.1k
    size_t ROWSp, size_t COLSp) {
53
90.1k
  size_t ROWS = ROWS_or_0 == 0 ? ROWSp : ROWS_or_0;
54
90.1k
  size_t COLS = COLS_or_0 == 0 ? COLSp : COLS_or_0;
55
270k
  for (size_t n = 0; n < ROWS; ++n) {
56
901k
    for (size_t m = 0; m < COLS; ++m) {
57
721k
      to.Write(from.Read(n, m), m, n);
58
721k
    }
59
180k
  }
60
90.1k
}
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
44.5k
    size_t ROWSp, size_t COLSp) {
53
44.5k
  size_t ROWS = ROWS_or_0 == 0 ? ROWSp : ROWS_or_0;
54
44.5k
  size_t COLS = COLS_or_0 == 0 ? COLSp : COLS_or_0;
55
222k
  for (size_t n = 0; n < ROWS; ++n) {
56
534k
    for (size_t m = 0; m < COLS; ++m) {
57
356k
      to.Write(from.Read(n, m), m, n);
58
356k
    }
59
178k
  }
60
44.5k
}
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
677k
    size_t ROWSp, size_t COLSp) {
53
677k
  size_t ROWS = ROWS_or_0 == 0 ? ROWSp : ROWS_or_0;
54
677k
  size_t COLS = COLS_or_0 == 0 ? COLSp : COLS_or_0;
55
6.09M
  for (size_t n = 0; n < ROWS; ++n) {
56
27.1M
    for (size_t m = 0; m < COLS; ++m) {
57
21.6M
      to.Write(from.Read(n, m), m, n);
58
21.6M
    }
59
5.42M
  }
60
677k
}
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
420k
    size_t ROWSp, size_t COLSp) {
53
420k
  size_t ROWS = ROWS_or_0 == 0 ? ROWSp : ROWS_or_0;
54
420k
  size_t COLS = COLS_or_0 == 0 ? COLSp : COLS_or_0;
55
2.10M
  for (size_t n = 0; n < ROWS; ++n) {
56
15.1M
    for (size_t m = 0; m < COLS; ++m) {
57
13.4M
      to.Write(from.Read(n, m), m, n);
58
13.4M
    }
59
1.68M
  }
60
420k
}
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
360k
    size_t ROWSp, size_t COLSp) {
53
360k
  size_t ROWS = ROWS_or_0 == 0 ? ROWSp : ROWS_or_0;
54
360k
  size_t COLS = COLS_or_0 == 0 ? COLSp : COLS_or_0;
55
1.80M
  for (size_t n = 0; n < ROWS; ++n) {
56
7.20M
    for (size_t m = 0; m < COLS; ++m) {
57
5.76M
      to.Write(from.Read(n, m), m, n);
58
5.76M
    }
59
1.44M
  }
60
360k
}
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
433k
    size_t ROWSp, size_t COLSp) {
53
433k
  size_t ROWS = ROWS_or_0 == 0 ? ROWSp : ROWS_or_0;
54
433k
  size_t COLS = COLS_or_0 == 0 ? COLSp : COLS_or_0;
55
867k
  for (size_t n = 0; n < ROWS; ++n) {
56
1.30M
    for (size_t m = 0; m < COLS; ++m) {
57
867k
      to.Write(from.Read(n, m), m, n);
58
867k
    }
59
433k
  }
60
433k
}
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
224k
    size_t ROWSp, size_t COLSp) {
53
224k
  size_t ROWS = ROWS_or_0 == 0 ? ROWSp : ROWS_or_0;
54
224k
  size_t COLS = COLS_or_0 == 0 ? COLSp : COLS_or_0;
55
674k
  for (size_t n = 0; n < ROWS; ++n) {
56
899k
    for (size_t m = 0; m < COLS; ++m) {
57
449k
      to.Write(from.Read(n, m), m, n);
58
449k
    }
59
449k
  }
60
224k
}
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
147k
    size_t ROWSp, size_t COLSp) {
53
147k
  size_t ROWS = ROWS_or_0 == 0 ? ROWSp : ROWS_or_0;
54
147k
  size_t COLS = COLS_or_0 == 0 ? COLSp : COLS_or_0;
55
443k
  for (size_t n = 0; n < ROWS; ++n) {
56
887k
    for (size_t m = 0; m < COLS; ++m) {
57
591k
      to.Write(from.Read(n, m), m, n);
58
591k
    }
59
295k
  }
60
147k
}
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
90.1k
    size_t ROWSp, size_t COLSp) {
53
90.1k
  size_t ROWS = ROWS_or_0 == 0 ? ROWSp : ROWS_or_0;
54
90.1k
  size_t COLS = COLS_or_0 == 0 ? COLSp : COLS_or_0;
55
270k
  for (size_t n = 0; n < ROWS; ++n) {
56
901k
    for (size_t m = 0; m < COLS; ++m) {
57
721k
      to.Write(from.Read(n, m), m, n);
58
721k
    }
59
180k
  }
60
90.1k
}
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
44.5k
    size_t ROWSp, size_t COLSp) {
53
44.5k
  size_t ROWS = ROWS_or_0 == 0 ? ROWSp : ROWS_or_0;
54
44.5k
  size_t COLS = COLS_or_0 == 0 ? COLSp : COLS_or_0;
55
222k
  for (size_t n = 0; n < ROWS; ++n) {
56
534k
    for (size_t m = 0; m < COLS; ++m) {
57
356k
      to.Write(from.Read(n, m), m, n);
58
356k
    }
59
178k
  }
60
44.5k
}
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
160M
    size_t ROWSp, size_t COLSp) {
53
160M
  size_t ROWS = ROWS_or_0 == 0 ? ROWSp : ROWS_or_0;
54
160M
  size_t COLS = COLS_or_0 == 0 ? COLSp : COLS_or_0;
55
1.44G
  for (size_t n = 0; n < ROWS; ++n) {
56
6.43G
    for (size_t m = 0; m < COLS; ++m) {
57
5.15G
      to.Write(from.Read(n, m), m, n);
58
5.15G
    }
59
1.28G
  }
60
160M
}
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
160M
    size_t ROWSp, size_t COLSp) {
53
160M
  size_t ROWS = ROWS_or_0 == 0 ? ROWSp : ROWS_or_0;
54
160M
  size_t COLS = COLS_or_0 == 0 ? COLSp : COLS_or_0;
55
804M
  for (size_t n = 0; n < ROWS; ++n) {
56
5.79G
    for (size_t m = 0; m < COLS; ++m) {
57
5.15G
      to.Write(from.Read(n, m), m, n);
58
5.15G
    }
59
643M
  }
60
160M
}
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
183M
    size_t ROWSp, size_t COLSp) {
53
183M
  size_t ROWS = ROWS_or_0 == 0 ? ROWSp : ROWS_or_0;
54
183M
  size_t COLS = COLS_or_0 == 0 ? COLSp : COLS_or_0;
55
919M
  for (size_t n = 0; n < ROWS; ++n) {
56
3.67G
    for (size_t m = 0; m < COLS; ++m) {
57
2.94G
      to.Write(from.Read(n, m), m, n);
58
2.94G
    }
59
735M
  }
60
183M
}
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.04M
    size_t ROWSp, size_t COLSp) {
53
2.04M
  size_t ROWS = ROWS_or_0 == 0 ? ROWSp : ROWS_or_0;
54
2.04M
  size_t COLS = COLS_or_0 == 0 ? COLSp : COLS_or_0;
55
10.2M
  for (size_t n = 0; n < ROWS; ++n) {
56
73.5M
    for (size_t m = 0; m < COLS; ++m) {
57
65.4M
      to.Write(from.Read(n, m), m, n);
58
65.4M
    }
59
8.17M
  }
60
2.04M
}
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.27M
    size_t ROWSp, size_t COLSp) {
53
1.27M
  size_t ROWS = ROWS_or_0 == 0 ? ROWSp : ROWS_or_0;
54
1.27M
  size_t COLS = COLS_or_0 == 0 ? COLSp : COLS_or_0;
55
11.4M
  for (size_t n = 0; n < ROWS; ++n) {
56
50.9M
    for (size_t m = 0; m < COLS; ++m) {
57
40.7M
      to.Write(from.Read(n, m), m, n);
58
40.7M
    }
59
10.1M
  }
60
1.27M
}
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.09M
    size_t ROWSp, size_t COLSp) {
53
1.09M
  size_t ROWS = ROWS_or_0 == 0 ? ROWSp : ROWS_or_0;
54
1.09M
  size_t COLS = COLS_or_0 == 0 ? COLSp : COLS_or_0;
55
5.46M
  for (size_t n = 0; n < ROWS; ++n) {
56
21.8M
    for (size_t m = 0; m < COLS; ++m) {
57
17.4M
      to.Write(from.Read(n, m), m, n);
58
17.4M
    }
59
4.37M
  }
60
1.09M
}
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.31M
    size_t ROWSp, size_t COLSp) {
53
1.31M
  size_t ROWS = ROWS_or_0 == 0 ? ROWSp : ROWS_or_0;
54
1.31M
  size_t COLS = COLS_or_0 == 0 ? COLSp : COLS_or_0;
55
3.93M
  for (size_t n = 0; n < ROWS; ++n) {
56
5.24M
    for (size_t m = 0; m < COLS; ++m) {
57
2.62M
      to.Write(from.Read(n, m), m, n);
58
2.62M
    }
59
2.62M
  }
60
1.31M
}
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
683k
    size_t ROWSp, size_t COLSp) {
53
683k
  size_t ROWS = ROWS_or_0 == 0 ? ROWSp : ROWS_or_0;
54
683k
  size_t COLS = COLS_or_0 == 0 ? COLSp : COLS_or_0;
55
1.36M
  for (size_t n = 0; n < ROWS; ++n) {
56
2.05M
    for (size_t m = 0; m < COLS; ++m) {
57
1.36M
      to.Write(from.Read(n, m), m, n);
58
1.36M
    }
59
683k
  }
60
683k
}
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
445k
    size_t ROWSp, size_t COLSp) {
53
445k
  size_t ROWS = ROWS_or_0 == 0 ? ROWSp : ROWS_or_0;
54
445k
  size_t COLS = COLS_or_0 == 0 ? COLSp : COLS_or_0;
55
1.33M
  for (size_t n = 0; n < ROWS; ++n) {
56
2.67M
    for (size_t m = 0; m < COLS; ++m) {
57
1.78M
      to.Write(from.Read(n, m), m, n);
58
1.78M
    }
59
890k
  }
60
445k
}
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
825
    size_t ROWSp, size_t COLSp) {
53
825
  size_t ROWS = ROWS_or_0 == 0 ? ROWSp : ROWS_or_0;
54
825
  size_t COLS = COLS_or_0 == 0 ? COLSp : COLS_or_0;
55
4.12k
  for (size_t n = 0; n < ROWS; ++n) {
56
6.60k
    for (size_t m = 0; m < COLS; ++m) {
57
3.30k
      to.Write(from.Read(n, m), m, n);
58
3.30k
    }
59
3.30k
  }
60
825
}
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
117
    size_t ROWSp, size_t COLSp) {
53
117
  size_t ROWS = ROWS_or_0 == 0 ? ROWSp : ROWS_or_0;
54
117
  size_t COLS = COLS_or_0 == 0 ? COLSp : COLS_or_0;
55
234
  for (size_t n = 0; n < ROWS; ++n) {
56
585
    for (size_t m = 0; m < COLS; ++m) {
57
468
      to.Write(from.Read(n, m), m, n);
58
468
    }
59
117
  }
60
117
}
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
270k
    size_t ROWSp, size_t COLSp) {
53
270k
  size_t ROWS = ROWS_or_0 == 0 ? ROWSp : ROWS_or_0;
54
270k
  size_t COLS = COLS_or_0 == 0 ? COLSp : COLS_or_0;
55
1.35M
  for (size_t n = 0; n < ROWS; ++n) {
56
3.24M
    for (size_t m = 0; m < COLS; ++m) {
57
2.16M
      to.Write(from.Read(n, m), m, n);
58
2.16M
    }
59
1.08M
  }
60
270k
}
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
133k
    size_t ROWSp, size_t COLSp) {
53
133k
  size_t ROWS = ROWS_or_0 == 0 ? ROWSp : ROWS_or_0;
54
133k
  size_t COLS = COLS_or_0 == 0 ? COLSp : COLS_or_0;
55
400k
  for (size_t n = 0; n < ROWS; ++n) {
56
1.33M
    for (size_t m = 0; m < COLS; ++m) {
57
1.06M
      to.Write(from.Read(n, m), m, n);
58
1.06M
    }
59
267k
  }
60
133k
}
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
127M
    size_t ROWSp, size_t COLSp) {
72
127M
  size_t ROWS = ROWS_or_0 == 0 ? ROWSp : ROWS_or_0;
73
127M
  size_t COLS = COLS_or_0 == 0 ? COLSp : COLS_or_0;
74
127M
  JXL_DASSERT(Lanes(BlockDesc<8>()) == 8);
75
127M
  static_assert(ROWS_or_0 % 8 == 0, "Invalid number of rows");
76
127M
  static_assert(COLS_or_0 % 8 == 0, "Invalid number of columns");
77
339M
  for (size_t n = 0; n < ROWS; n += 8) {
78
655M
    for (size_t m = 0; m < COLS; m += 8) {
79
443M
      const BlockDesc<8> d;
80
443M
      auto i0 = from.LoadPart(d, n + 0, m + 0);
81
443M
      auto i1 = from.LoadPart(d, n + 1, m + 0);
82
443M
      auto i2 = from.LoadPart(d, n + 2, m + 0);
83
443M
      auto i3 = from.LoadPart(d, n + 3, m + 0);
84
443M
      auto i4 = from.LoadPart(d, n + 4, m + 0);
85
443M
      auto i5 = from.LoadPart(d, n + 5, m + 0);
86
443M
      auto i6 = from.LoadPart(d, n + 6, m + 0);
87
443M
      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
443M
      const auto q0 = InterleaveLower(d, i0, i2);
91
443M
      const auto q1 = InterleaveLower(d, i1, i3);
92
443M
      const auto q2 = InterleaveUpper(d, i0, i2);
93
443M
      const auto q3 = InterleaveUpper(d, i1, i3);
94
443M
      const auto q4 = InterleaveLower(d, i4, i6);
95
443M
      const auto q5 = InterleaveLower(d, i5, i7);
96
443M
      const auto q6 = InterleaveUpper(d, i4, i6);
97
443M
      const auto q7 = InterleaveUpper(d, i5, i7);
98
99
443M
      const auto r0 = InterleaveLower(d, q0, q1);
100
443M
      const auto r1 = InterleaveUpper(d, q0, q1);
101
443M
      const auto r2 = InterleaveLower(d, q2, q3);
102
443M
      const auto r3 = InterleaveUpper(d, q2, q3);
103
443M
      const auto r4 = InterleaveLower(d, q4, q5);
104
443M
      const auto r5 = InterleaveUpper(d, q4, q5);
105
443M
      const auto r6 = InterleaveLower(d, q6, q7);
106
443M
      const auto r7 = InterleaveUpper(d, q6, q7);
107
108
443M
      i0 = ConcatLowerLower(d, r4, r0);
109
443M
      i1 = ConcatLowerLower(d, r5, r1);
110
443M
      i2 = ConcatLowerLower(d, r6, r2);
111
443M
      i3 = ConcatLowerLower(d, r7, r3);
112
443M
      i4 = ConcatUpperUpper(d, r4, r0);
113
443M
      i5 = ConcatUpperUpper(d, r5, r1);
114
443M
      i6 = ConcatUpperUpper(d, r6, r2);
115
443M
      i7 = ConcatUpperUpper(d, r7, r3);
116
443M
      to.StorePart(d, i0, m + 0, n + 0);
117
443M
      to.StorePart(d, i1, m + 1, n + 0);
118
443M
      to.StorePart(d, i2, m + 2, n + 0);
119
443M
      to.StorePart(d, i3, m + 3, n + 0);
120
443M
      to.StorePart(d, i4, m + 4, n + 0);
121
443M
      to.StorePart(d, i5, m + 5, n + 0);
122
443M
      to.StorePart(d, i6, m + 6, n + 0);
123
443M
      to.StorePart(d, i7, m + 7, n + 0);
124
443M
    }
125
212M
  }
126
127M
}
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
147k
    size_t ROWSp, size_t COLSp) {
72
147k
  size_t ROWS = ROWS_or_0 == 0 ? ROWSp : ROWS_or_0;
73
147k
  size_t COLS = COLS_or_0 == 0 ? COLSp : COLS_or_0;
74
147k
  JXL_DASSERT(Lanes(BlockDesc<8>()) == 8);
75
147k
  static_assert(ROWS_or_0 % 8 == 0, "Invalid number of rows");
76
147k
  static_assert(COLS_or_0 % 8 == 0, "Invalid number of columns");
77
443k
  for (size_t n = 0; n < ROWS; n += 8) {
78
887k
    for (size_t m = 0; m < COLS; m += 8) {
79
591k
      const BlockDesc<8> d;
80
591k
      auto i0 = from.LoadPart(d, n + 0, m + 0);
81
591k
      auto i1 = from.LoadPart(d, n + 1, m + 0);
82
591k
      auto i2 = from.LoadPart(d, n + 2, m + 0);
83
591k
      auto i3 = from.LoadPart(d, n + 3, m + 0);
84
591k
      auto i4 = from.LoadPart(d, n + 4, m + 0);
85
591k
      auto i5 = from.LoadPart(d, n + 5, m + 0);
86
591k
      auto i6 = from.LoadPart(d, n + 6, m + 0);
87
591k
      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
591k
      const auto q0 = InterleaveLower(d, i0, i2);
91
591k
      const auto q1 = InterleaveLower(d, i1, i3);
92
591k
      const auto q2 = InterleaveUpper(d, i0, i2);
93
591k
      const auto q3 = InterleaveUpper(d, i1, i3);
94
591k
      const auto q4 = InterleaveLower(d, i4, i6);
95
591k
      const auto q5 = InterleaveLower(d, i5, i7);
96
591k
      const auto q6 = InterleaveUpper(d, i4, i6);
97
591k
      const auto q7 = InterleaveUpper(d, i5, i7);
98
99
591k
      const auto r0 = InterleaveLower(d, q0, q1);
100
591k
      const auto r1 = InterleaveUpper(d, q0, q1);
101
591k
      const auto r2 = InterleaveLower(d, q2, q3);
102
591k
      const auto r3 = InterleaveUpper(d, q2, q3);
103
591k
      const auto r4 = InterleaveLower(d, q4, q5);
104
591k
      const auto r5 = InterleaveUpper(d, q4, q5);
105
591k
      const auto r6 = InterleaveLower(d, q6, q7);
106
591k
      const auto r7 = InterleaveUpper(d, q6, q7);
107
108
591k
      i0 = ConcatLowerLower(d, r4, r0);
109
591k
      i1 = ConcatLowerLower(d, r5, r1);
110
591k
      i2 = ConcatLowerLower(d, r6, r2);
111
591k
      i3 = ConcatLowerLower(d, r7, r3);
112
591k
      i4 = ConcatUpperUpper(d, r4, r0);
113
591k
      i5 = ConcatUpperUpper(d, r5, r1);
114
591k
      i6 = ConcatUpperUpper(d, r6, r2);
115
591k
      i7 = ConcatUpperUpper(d, r7, r3);
116
591k
      to.StorePart(d, i0, m + 0, n + 0);
117
591k
      to.StorePart(d, i1, m + 1, n + 0);
118
591k
      to.StorePart(d, i2, m + 2, n + 0);
119
591k
      to.StorePart(d, i3, m + 3, n + 0);
120
591k
      to.StorePart(d, i4, m + 4, n + 0);
121
591k
      to.StorePart(d, i5, m + 5, n + 0);
122
591k
      to.StorePart(d, i6, m + 6, n + 0);
123
591k
      to.StorePart(d, i7, m + 7, n + 0);
124
591k
    }
125
295k
  }
126
147k
}
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
433k
    size_t ROWSp, size_t COLSp) {
72
433k
  size_t ROWS = ROWS_or_0 == 0 ? ROWSp : ROWS_or_0;
73
433k
  size_t COLS = COLS_or_0 == 0 ? COLSp : COLS_or_0;
74
433k
  JXL_DASSERT(Lanes(BlockDesc<8>()) == 8);
75
433k
  static_assert(ROWS_or_0 % 8 == 0, "Invalid number of rows");
76
433k
  static_assert(COLS_or_0 % 8 == 0, "Invalid number of columns");
77
1.30M
  for (size_t n = 0; n < ROWS; n += 8) {
78
1.73M
    for (size_t m = 0; m < COLS; m += 8) {
79
867k
      const BlockDesc<8> d;
80
867k
      auto i0 = from.LoadPart(d, n + 0, m + 0);
81
867k
      auto i1 = from.LoadPart(d, n + 1, m + 0);
82
867k
      auto i2 = from.LoadPart(d, n + 2, m + 0);
83
867k
      auto i3 = from.LoadPart(d, n + 3, m + 0);
84
867k
      auto i4 = from.LoadPart(d, n + 4, m + 0);
85
867k
      auto i5 = from.LoadPart(d, n + 5, m + 0);
86
867k
      auto i6 = from.LoadPart(d, n + 6, m + 0);
87
867k
      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
867k
      const auto q0 = InterleaveLower(d, i0, i2);
91
867k
      const auto q1 = InterleaveLower(d, i1, i3);
92
867k
      const auto q2 = InterleaveUpper(d, i0, i2);
93
867k
      const auto q3 = InterleaveUpper(d, i1, i3);
94
867k
      const auto q4 = InterleaveLower(d, i4, i6);
95
867k
      const auto q5 = InterleaveLower(d, i5, i7);
96
867k
      const auto q6 = InterleaveUpper(d, i4, i6);
97
867k
      const auto q7 = InterleaveUpper(d, i5, i7);
98
99
867k
      const auto r0 = InterleaveLower(d, q0, q1);
100
867k
      const auto r1 = InterleaveUpper(d, q0, q1);
101
867k
      const auto r2 = InterleaveLower(d, q2, q3);
102
867k
      const auto r3 = InterleaveUpper(d, q2, q3);
103
867k
      const auto r4 = InterleaveLower(d, q4, q5);
104
867k
      const auto r5 = InterleaveUpper(d, q4, q5);
105
867k
      const auto r6 = InterleaveLower(d, q6, q7);
106
867k
      const auto r7 = InterleaveUpper(d, q6, q7);
107
108
867k
      i0 = ConcatLowerLower(d, r4, r0);
109
867k
      i1 = ConcatLowerLower(d, r5, r1);
110
867k
      i2 = ConcatLowerLower(d, r6, r2);
111
867k
      i3 = ConcatLowerLower(d, r7, r3);
112
867k
      i4 = ConcatUpperUpper(d, r4, r0);
113
867k
      i5 = ConcatUpperUpper(d, r5, r1);
114
867k
      i6 = ConcatUpperUpper(d, r6, r2);
115
867k
      i7 = ConcatUpperUpper(d, r7, r3);
116
867k
      to.StorePart(d, i0, m + 0, n + 0);
117
867k
      to.StorePart(d, i1, m + 1, n + 0);
118
867k
      to.StorePart(d, i2, m + 2, n + 0);
119
867k
      to.StorePart(d, i3, m + 3, n + 0);
120
867k
      to.StorePart(d, i4, m + 4, n + 0);
121
867k
      to.StorePart(d, i5, m + 5, n + 0);
122
867k
      to.StorePart(d, i6, m + 6, n + 0);
123
867k
      to.StorePart(d, i7, m + 7, n + 0);
124
867k
    }
125
867k
  }
126
433k
}
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
224k
    size_t ROWSp, size_t COLSp) {
72
224k
  size_t ROWS = ROWS_or_0 == 0 ? ROWSp : ROWS_or_0;
73
224k
  size_t COLS = COLS_or_0 == 0 ? COLSp : COLS_or_0;
74
224k
  JXL_DASSERT(Lanes(BlockDesc<8>()) == 8);
75
224k
  static_assert(ROWS_or_0 % 8 == 0, "Invalid number of rows");
76
224k
  static_assert(COLS_or_0 % 8 == 0, "Invalid number of columns");
77
449k
  for (size_t n = 0; n < ROWS; n += 8) {
78
674k
    for (size_t m = 0; m < COLS; m += 8) {
79
449k
      const BlockDesc<8> d;
80
449k
      auto i0 = from.LoadPart(d, n + 0, m + 0);
81
449k
      auto i1 = from.LoadPart(d, n + 1, m + 0);
82
449k
      auto i2 = from.LoadPart(d, n + 2, m + 0);
83
449k
      auto i3 = from.LoadPart(d, n + 3, m + 0);
84
449k
      auto i4 = from.LoadPart(d, n + 4, m + 0);
85
449k
      auto i5 = from.LoadPart(d, n + 5, m + 0);
86
449k
      auto i6 = from.LoadPart(d, n + 6, m + 0);
87
449k
      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
449k
      const auto q0 = InterleaveLower(d, i0, i2);
91
449k
      const auto q1 = InterleaveLower(d, i1, i3);
92
449k
      const auto q2 = InterleaveUpper(d, i0, i2);
93
449k
      const auto q3 = InterleaveUpper(d, i1, i3);
94
449k
      const auto q4 = InterleaveLower(d, i4, i6);
95
449k
      const auto q5 = InterleaveLower(d, i5, i7);
96
449k
      const auto q6 = InterleaveUpper(d, i4, i6);
97
449k
      const auto q7 = InterleaveUpper(d, i5, i7);
98
99
449k
      const auto r0 = InterleaveLower(d, q0, q1);
100
449k
      const auto r1 = InterleaveUpper(d, q0, q1);
101
449k
      const auto r2 = InterleaveLower(d, q2, q3);
102
449k
      const auto r3 = InterleaveUpper(d, q2, q3);
103
449k
      const auto r4 = InterleaveLower(d, q4, q5);
104
449k
      const auto r5 = InterleaveUpper(d, q4, q5);
105
449k
      const auto r6 = InterleaveLower(d, q6, q7);
106
449k
      const auto r7 = InterleaveUpper(d, q6, q7);
107
108
449k
      i0 = ConcatLowerLower(d, r4, r0);
109
449k
      i1 = ConcatLowerLower(d, r5, r1);
110
449k
      i2 = ConcatLowerLower(d, r6, r2);
111
449k
      i3 = ConcatLowerLower(d, r7, r3);
112
449k
      i4 = ConcatUpperUpper(d, r4, r0);
113
449k
      i5 = ConcatUpperUpper(d, r5, r1);
114
449k
      i6 = ConcatUpperUpper(d, r6, r2);
115
449k
      i7 = ConcatUpperUpper(d, r7, r3);
116
449k
      to.StorePart(d, i0, m + 0, n + 0);
117
449k
      to.StorePart(d, i1, m + 1, n + 0);
118
449k
      to.StorePart(d, i2, m + 2, n + 0);
119
449k
      to.StorePart(d, i3, m + 3, n + 0);
120
449k
      to.StorePart(d, i4, m + 4, n + 0);
121
449k
      to.StorePart(d, i5, m + 5, n + 0);
122
449k
      to.StorePart(d, i6, m + 6, n + 0);
123
449k
      to.StorePart(d, i7, m + 7, n + 0);
124
449k
    }
125
224k
  }
126
224k
}
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
284k
    size_t ROWSp, size_t COLSp) {
72
284k
  size_t ROWS = ROWS_or_0 == 0 ? ROWSp : ROWS_or_0;
73
284k
  size_t COLS = COLS_or_0 == 0 ? COLSp : COLS_or_0;
74
284k
  JXL_DASSERT(Lanes(BlockDesc<8>()) == 8);
75
284k
  static_assert(ROWS_or_0 % 8 == 0, "Invalid number of rows");
76
284k
  static_assert(COLS_or_0 % 8 == 0, "Invalid number of columns");
77
1.60M
  for (size_t n = 0; n < ROWS; n += 8) {
78
7.51M
    for (size_t m = 0; m < COLS; m += 8) {
79
6.19M
      const BlockDesc<8> d;
80
6.19M
      auto i0 = from.LoadPart(d, n + 0, m + 0);
81
6.19M
      auto i1 = from.LoadPart(d, n + 1, m + 0);
82
6.19M
      auto i2 = from.LoadPart(d, n + 2, m + 0);
83
6.19M
      auto i3 = from.LoadPart(d, n + 3, m + 0);
84
6.19M
      auto i4 = from.LoadPart(d, n + 4, m + 0);
85
6.19M
      auto i5 = from.LoadPart(d, n + 5, m + 0);
86
6.19M
      auto i6 = from.LoadPart(d, n + 6, m + 0);
87
6.19M
      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.19M
      const auto q0 = InterleaveLower(d, i0, i2);
91
6.19M
      const auto q1 = InterleaveLower(d, i1, i3);
92
6.19M
      const auto q2 = InterleaveUpper(d, i0, i2);
93
6.19M
      const auto q3 = InterleaveUpper(d, i1, i3);
94
6.19M
      const auto q4 = InterleaveLower(d, i4, i6);
95
6.19M
      const auto q5 = InterleaveLower(d, i5, i7);
96
6.19M
      const auto q6 = InterleaveUpper(d, i4, i6);
97
6.19M
      const auto q7 = InterleaveUpper(d, i5, i7);
98
99
6.19M
      const auto r0 = InterleaveLower(d, q0, q1);
100
6.19M
      const auto r1 = InterleaveUpper(d, q0, q1);
101
6.19M
      const auto r2 = InterleaveLower(d, q2, q3);
102
6.19M
      const auto r3 = InterleaveUpper(d, q2, q3);
103
6.19M
      const auto r4 = InterleaveLower(d, q4, q5);
104
6.19M
      const auto r5 = InterleaveUpper(d, q4, q5);
105
6.19M
      const auto r6 = InterleaveLower(d, q6, q7);
106
6.19M
      const auto r7 = InterleaveUpper(d, q6, q7);
107
108
6.19M
      i0 = ConcatLowerLower(d, r4, r0);
109
6.19M
      i1 = ConcatLowerLower(d, r5, r1);
110
6.19M
      i2 = ConcatLowerLower(d, r6, r2);
111
6.19M
      i3 = ConcatLowerLower(d, r7, r3);
112
6.19M
      i4 = ConcatUpperUpper(d, r4, r0);
113
6.19M
      i5 = ConcatUpperUpper(d, r5, r1);
114
6.19M
      i6 = ConcatUpperUpper(d, r6, r2);
115
6.19M
      i7 = ConcatUpperUpper(d, r7, r3);
116
6.19M
      to.StorePart(d, i0, m + 0, n + 0);
117
6.19M
      to.StorePart(d, i1, m + 1, n + 0);
118
6.19M
      to.StorePart(d, i2, m + 2, n + 0);
119
6.19M
      to.StorePart(d, i3, m + 3, n + 0);
120
6.19M
      to.StorePart(d, i4, m + 4, n + 0);
121
6.19M
      to.StorePart(d, i5, m + 5, n + 0);
122
6.19M
      to.StorePart(d, i6, m + 6, n + 0);
123
6.19M
      to.StorePart(d, i7, m + 7, n + 0);
124
6.19M
    }
125
1.31M
  }
126
284k
}
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
1.42M
    size_t ROWSp, size_t COLSp) {
72
1.42M
  size_t ROWS = ROWS_or_0 == 0 ? ROWSp : ROWS_or_0;
73
1.42M
  size_t COLS = COLS_or_0 == 0 ? COLSp : COLS_or_0;
74
1.42M
  JXL_DASSERT(Lanes(BlockDesc<8>()) == 8);
75
1.42M
  static_assert(ROWS_or_0 % 8 == 0, "Invalid number of rows");
76
1.42M
  static_assert(COLS_or_0 % 8 == 0, "Invalid number of columns");
77
2.84M
  for (size_t n = 0; n < ROWS; n += 8) {
78
2.84M
    for (size_t m = 0; m < COLS; m += 8) {
79
1.42M
      const BlockDesc<8> d;
80
1.42M
      auto i0 = from.LoadPart(d, n + 0, m + 0);
81
1.42M
      auto i1 = from.LoadPart(d, n + 1, m + 0);
82
1.42M
      auto i2 = from.LoadPart(d, n + 2, m + 0);
83
1.42M
      auto i3 = from.LoadPart(d, n + 3, m + 0);
84
1.42M
      auto i4 = from.LoadPart(d, n + 4, m + 0);
85
1.42M
      auto i5 = from.LoadPart(d, n + 5, m + 0);
86
1.42M
      auto i6 = from.LoadPart(d, n + 6, m + 0);
87
1.42M
      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.42M
      const auto q0 = InterleaveLower(d, i0, i2);
91
1.42M
      const auto q1 = InterleaveLower(d, i1, i3);
92
1.42M
      const auto q2 = InterleaveUpper(d, i0, i2);
93
1.42M
      const auto q3 = InterleaveUpper(d, i1, i3);
94
1.42M
      const auto q4 = InterleaveLower(d, i4, i6);
95
1.42M
      const auto q5 = InterleaveLower(d, i5, i7);
96
1.42M
      const auto q6 = InterleaveUpper(d, i4, i6);
97
1.42M
      const auto q7 = InterleaveUpper(d, i5, i7);
98
99
1.42M
      const auto r0 = InterleaveLower(d, q0, q1);
100
1.42M
      const auto r1 = InterleaveUpper(d, q0, q1);
101
1.42M
      const auto r2 = InterleaveLower(d, q2, q3);
102
1.42M
      const auto r3 = InterleaveUpper(d, q2, q3);
103
1.42M
      const auto r4 = InterleaveLower(d, q4, q5);
104
1.42M
      const auto r5 = InterleaveUpper(d, q4, q5);
105
1.42M
      const auto r6 = InterleaveLower(d, q6, q7);
106
1.42M
      const auto r7 = InterleaveUpper(d, q6, q7);
107
108
1.42M
      i0 = ConcatLowerLower(d, r4, r0);
109
1.42M
      i1 = ConcatLowerLower(d, r5, r1);
110
1.42M
      i2 = ConcatLowerLower(d, r6, r2);
111
1.42M
      i3 = ConcatLowerLower(d, r7, r3);
112
1.42M
      i4 = ConcatUpperUpper(d, r4, r0);
113
1.42M
      i5 = ConcatUpperUpper(d, r5, r1);
114
1.42M
      i6 = ConcatUpperUpper(d, r6, r2);
115
1.42M
      i7 = ConcatUpperUpper(d, r7, r3);
116
1.42M
      to.StorePart(d, i0, m + 0, n + 0);
117
1.42M
      to.StorePart(d, i1, m + 1, n + 0);
118
1.42M
      to.StorePart(d, i2, m + 2, n + 0);
119
1.42M
      to.StorePart(d, i3, m + 3, n + 0);
120
1.42M
      to.StorePart(d, i4, m + 4, n + 0);
121
1.42M
      to.StorePart(d, i5, m + 5, n + 0);
122
1.42M
      to.StorePart(d, i6, m + 6, n + 0);
123
1.42M
      to.StorePart(d, i7, m + 7, n + 0);
124
1.42M
    }
125
1.42M
  }
126
1.42M
}
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
147k
    size_t ROWSp, size_t COLSp) {
72
147k
  size_t ROWS = ROWS_or_0 == 0 ? ROWSp : ROWS_or_0;
73
147k
  size_t COLS = COLS_or_0 == 0 ? COLSp : COLS_or_0;
74
147k
  JXL_DASSERT(Lanes(BlockDesc<8>()) == 8);
75
147k
  static_assert(ROWS_or_0 % 8 == 0, "Invalid number of rows");
76
147k
  static_assert(COLS_or_0 % 8 == 0, "Invalid number of columns");
77
443k
  for (size_t n = 0; n < ROWS; n += 8) {
78
887k
    for (size_t m = 0; m < COLS; m += 8) {
79
591k
      const BlockDesc<8> d;
80
591k
      auto i0 = from.LoadPart(d, n + 0, m + 0);
81
591k
      auto i1 = from.LoadPart(d, n + 1, m + 0);
82
591k
      auto i2 = from.LoadPart(d, n + 2, m + 0);
83
591k
      auto i3 = from.LoadPart(d, n + 3, m + 0);
84
591k
      auto i4 = from.LoadPart(d, n + 4, m + 0);
85
591k
      auto i5 = from.LoadPart(d, n + 5, m + 0);
86
591k
      auto i6 = from.LoadPart(d, n + 6, m + 0);
87
591k
      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
591k
      const auto q0 = InterleaveLower(d, i0, i2);
91
591k
      const auto q1 = InterleaveLower(d, i1, i3);
92
591k
      const auto q2 = InterleaveUpper(d, i0, i2);
93
591k
      const auto q3 = InterleaveUpper(d, i1, i3);
94
591k
      const auto q4 = InterleaveLower(d, i4, i6);
95
591k
      const auto q5 = InterleaveLower(d, i5, i7);
96
591k
      const auto q6 = InterleaveUpper(d, i4, i6);
97
591k
      const auto q7 = InterleaveUpper(d, i5, i7);
98
99
591k
      const auto r0 = InterleaveLower(d, q0, q1);
100
591k
      const auto r1 = InterleaveUpper(d, q0, q1);
101
591k
      const auto r2 = InterleaveLower(d, q2, q3);
102
591k
      const auto r3 = InterleaveUpper(d, q2, q3);
103
591k
      const auto r4 = InterleaveLower(d, q4, q5);
104
591k
      const auto r5 = InterleaveUpper(d, q4, q5);
105
591k
      const auto r6 = InterleaveLower(d, q6, q7);
106
591k
      const auto r7 = InterleaveUpper(d, q6, q7);
107
108
591k
      i0 = ConcatLowerLower(d, r4, r0);
109
591k
      i1 = ConcatLowerLower(d, r5, r1);
110
591k
      i2 = ConcatLowerLower(d, r6, r2);
111
591k
      i3 = ConcatLowerLower(d, r7, r3);
112
591k
      i4 = ConcatUpperUpper(d, r4, r0);
113
591k
      i5 = ConcatUpperUpper(d, r5, r1);
114
591k
      i6 = ConcatUpperUpper(d, r6, r2);
115
591k
      i7 = ConcatUpperUpper(d, r7, r3);
116
591k
      to.StorePart(d, i0, m + 0, n + 0);
117
591k
      to.StorePart(d, i1, m + 1, n + 0);
118
591k
      to.StorePart(d, i2, m + 2, n + 0);
119
591k
      to.StorePart(d, i3, m + 3, n + 0);
120
591k
      to.StorePart(d, i4, m + 4, n + 0);
121
591k
      to.StorePart(d, i5, m + 5, n + 0);
122
591k
      to.StorePart(d, i6, m + 6, n + 0);
123
591k
      to.StorePart(d, i7, m + 7, n + 0);
124
591k
    }
125
295k
  }
126
147k
}
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
433k
    size_t ROWSp, size_t COLSp) {
72
433k
  size_t ROWS = ROWS_or_0 == 0 ? ROWSp : ROWS_or_0;
73
433k
  size_t COLS = COLS_or_0 == 0 ? COLSp : COLS_or_0;
74
433k
  JXL_DASSERT(Lanes(BlockDesc<8>()) == 8);
75
433k
  static_assert(ROWS_or_0 % 8 == 0, "Invalid number of rows");
76
433k
  static_assert(COLS_or_0 % 8 == 0, "Invalid number of columns");
77
1.30M
  for (size_t n = 0; n < ROWS; n += 8) {
78
1.73M
    for (size_t m = 0; m < COLS; m += 8) {
79
867k
      const BlockDesc<8> d;
80
867k
      auto i0 = from.LoadPart(d, n + 0, m + 0);
81
867k
      auto i1 = from.LoadPart(d, n + 1, m + 0);
82
867k
      auto i2 = from.LoadPart(d, n + 2, m + 0);
83
867k
      auto i3 = from.LoadPart(d, n + 3, m + 0);
84
867k
      auto i4 = from.LoadPart(d, n + 4, m + 0);
85
867k
      auto i5 = from.LoadPart(d, n + 5, m + 0);
86
867k
      auto i6 = from.LoadPart(d, n + 6, m + 0);
87
867k
      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
867k
      const auto q0 = InterleaveLower(d, i0, i2);
91
867k
      const auto q1 = InterleaveLower(d, i1, i3);
92
867k
      const auto q2 = InterleaveUpper(d, i0, i2);
93
867k
      const auto q3 = InterleaveUpper(d, i1, i3);
94
867k
      const auto q4 = InterleaveLower(d, i4, i6);
95
867k
      const auto q5 = InterleaveLower(d, i5, i7);
96
867k
      const auto q6 = InterleaveUpper(d, i4, i6);
97
867k
      const auto q7 = InterleaveUpper(d, i5, i7);
98
99
867k
      const auto r0 = InterleaveLower(d, q0, q1);
100
867k
      const auto r1 = InterleaveUpper(d, q0, q1);
101
867k
      const auto r2 = InterleaveLower(d, q2, q3);
102
867k
      const auto r3 = InterleaveUpper(d, q2, q3);
103
867k
      const auto r4 = InterleaveLower(d, q4, q5);
104
867k
      const auto r5 = InterleaveUpper(d, q4, q5);
105
867k
      const auto r6 = InterleaveLower(d, q6, q7);
106
867k
      const auto r7 = InterleaveUpper(d, q6, q7);
107
108
867k
      i0 = ConcatLowerLower(d, r4, r0);
109
867k
      i1 = ConcatLowerLower(d, r5, r1);
110
867k
      i2 = ConcatLowerLower(d, r6, r2);
111
867k
      i3 = ConcatLowerLower(d, r7, r3);
112
867k
      i4 = ConcatUpperUpper(d, r4, r0);
113
867k
      i5 = ConcatUpperUpper(d, r5, r1);
114
867k
      i6 = ConcatUpperUpper(d, r6, r2);
115
867k
      i7 = ConcatUpperUpper(d, r7, r3);
116
867k
      to.StorePart(d, i0, m + 0, n + 0);
117
867k
      to.StorePart(d, i1, m + 1, n + 0);
118
867k
      to.StorePart(d, i2, m + 2, n + 0);
119
867k
      to.StorePart(d, i3, m + 3, n + 0);
120
867k
      to.StorePart(d, i4, m + 4, n + 0);
121
867k
      to.StorePart(d, i5, m + 5, n + 0);
122
867k
      to.StorePart(d, i6, m + 6, n + 0);
123
867k
      to.StorePart(d, i7, m + 7, n + 0);
124
867k
    }
125
867k
  }
126
433k
}
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
224k
    size_t ROWSp, size_t COLSp) {
72
224k
  size_t ROWS = ROWS_or_0 == 0 ? ROWSp : ROWS_or_0;
73
224k
  size_t COLS = COLS_or_0 == 0 ? COLSp : COLS_or_0;
74
224k
  JXL_DASSERT(Lanes(BlockDesc<8>()) == 8);
75
224k
  static_assert(ROWS_or_0 % 8 == 0, "Invalid number of rows");
76
224k
  static_assert(COLS_or_0 % 8 == 0, "Invalid number of columns");
77
449k
  for (size_t n = 0; n < ROWS; n += 8) {
78
674k
    for (size_t m = 0; m < COLS; m += 8) {
79
449k
      const BlockDesc<8> d;
80
449k
      auto i0 = from.LoadPart(d, n + 0, m + 0);
81
449k
      auto i1 = from.LoadPart(d, n + 1, m + 0);
82
449k
      auto i2 = from.LoadPart(d, n + 2, m + 0);
83
449k
      auto i3 = from.LoadPart(d, n + 3, m + 0);
84
449k
      auto i4 = from.LoadPart(d, n + 4, m + 0);
85
449k
      auto i5 = from.LoadPart(d, n + 5, m + 0);
86
449k
      auto i6 = from.LoadPart(d, n + 6, m + 0);
87
449k
      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
449k
      const auto q0 = InterleaveLower(d, i0, i2);
91
449k
      const auto q1 = InterleaveLower(d, i1, i3);
92
449k
      const auto q2 = InterleaveUpper(d, i0, i2);
93
449k
      const auto q3 = InterleaveUpper(d, i1, i3);
94
449k
      const auto q4 = InterleaveLower(d, i4, i6);
95
449k
      const auto q5 = InterleaveLower(d, i5, i7);
96
449k
      const auto q6 = InterleaveUpper(d, i4, i6);
97
449k
      const auto q7 = InterleaveUpper(d, i5, i7);
98
99
449k
      const auto r0 = InterleaveLower(d, q0, q1);
100
449k
      const auto r1 = InterleaveUpper(d, q0, q1);
101
449k
      const auto r2 = InterleaveLower(d, q2, q3);
102
449k
      const auto r3 = InterleaveUpper(d, q2, q3);
103
449k
      const auto r4 = InterleaveLower(d, q4, q5);
104
449k
      const auto r5 = InterleaveUpper(d, q4, q5);
105
449k
      const auto r6 = InterleaveLower(d, q6, q7);
106
449k
      const auto r7 = InterleaveUpper(d, q6, q7);
107
108
449k
      i0 = ConcatLowerLower(d, r4, r0);
109
449k
      i1 = ConcatLowerLower(d, r5, r1);
110
449k
      i2 = ConcatLowerLower(d, r6, r2);
111
449k
      i3 = ConcatLowerLower(d, r7, r3);
112
449k
      i4 = ConcatUpperUpper(d, r4, r0);
113
449k
      i5 = ConcatUpperUpper(d, r5, r1);
114
449k
      i6 = ConcatUpperUpper(d, r6, r2);
115
449k
      i7 = ConcatUpperUpper(d, r7, r3);
116
449k
      to.StorePart(d, i0, m + 0, n + 0);
117
449k
      to.StorePart(d, i1, m + 1, n + 0);
118
449k
      to.StorePart(d, i2, m + 2, n + 0);
119
449k
      to.StorePart(d, i3, m + 3, n + 0);
120
449k
      to.StorePart(d, i4, m + 4, n + 0);
121
449k
      to.StorePart(d, i5, m + 5, n + 0);
122
449k
      to.StorePart(d, i6, m + 6, n + 0);
123
449k
      to.StorePart(d, i7, m + 7, n + 0);
124
449k
    }
125
224k
  }
126
224k
}
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
284k
    size_t ROWSp, size_t COLSp) {
72
284k
  size_t ROWS = ROWS_or_0 == 0 ? ROWSp : ROWS_or_0;
73
284k
  size_t COLS = COLS_or_0 == 0 ? COLSp : COLS_or_0;
74
284k
  JXL_DASSERT(Lanes(BlockDesc<8>()) == 8);
75
284k
  static_assert(ROWS_or_0 % 8 == 0, "Invalid number of rows");
76
284k
  static_assert(COLS_or_0 % 8 == 0, "Invalid number of columns");
77
1.60M
  for (size_t n = 0; n < ROWS; n += 8) {
78
7.51M
    for (size_t m = 0; m < COLS; m += 8) {
79
6.19M
      const BlockDesc<8> d;
80
6.19M
      auto i0 = from.LoadPart(d, n + 0, m + 0);
81
6.19M
      auto i1 = from.LoadPart(d, n + 1, m + 0);
82
6.19M
      auto i2 = from.LoadPart(d, n + 2, m + 0);
83
6.19M
      auto i3 = from.LoadPart(d, n + 3, m + 0);
84
6.19M
      auto i4 = from.LoadPart(d, n + 4, m + 0);
85
6.19M
      auto i5 = from.LoadPart(d, n + 5, m + 0);
86
6.19M
      auto i6 = from.LoadPart(d, n + 6, m + 0);
87
6.19M
      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.19M
      const auto q0 = InterleaveLower(d, i0, i2);
91
6.19M
      const auto q1 = InterleaveLower(d, i1, i3);
92
6.19M
      const auto q2 = InterleaveUpper(d, i0, i2);
93
6.19M
      const auto q3 = InterleaveUpper(d, i1, i3);
94
6.19M
      const auto q4 = InterleaveLower(d, i4, i6);
95
6.19M
      const auto q5 = InterleaveLower(d, i5, i7);
96
6.19M
      const auto q6 = InterleaveUpper(d, i4, i6);
97
6.19M
      const auto q7 = InterleaveUpper(d, i5, i7);
98
99
6.19M
      const auto r0 = InterleaveLower(d, q0, q1);
100
6.19M
      const auto r1 = InterleaveUpper(d, q0, q1);
101
6.19M
      const auto r2 = InterleaveLower(d, q2, q3);
102
6.19M
      const auto r3 = InterleaveUpper(d, q2, q3);
103
6.19M
      const auto r4 = InterleaveLower(d, q4, q5);
104
6.19M
      const auto r5 = InterleaveUpper(d, q4, q5);
105
6.19M
      const auto r6 = InterleaveLower(d, q6, q7);
106
6.19M
      const auto r7 = InterleaveUpper(d, q6, q7);
107
108
6.19M
      i0 = ConcatLowerLower(d, r4, r0);
109
6.19M
      i1 = ConcatLowerLower(d, r5, r1);
110
6.19M
      i2 = ConcatLowerLower(d, r6, r2);
111
6.19M
      i3 = ConcatLowerLower(d, r7, r3);
112
6.19M
      i4 = ConcatUpperUpper(d, r4, r0);
113
6.19M
      i5 = ConcatUpperUpper(d, r5, r1);
114
6.19M
      i6 = ConcatUpperUpper(d, r6, r2);
115
6.19M
      i7 = ConcatUpperUpper(d, r7, r3);
116
6.19M
      to.StorePart(d, i0, m + 0, n + 0);
117
6.19M
      to.StorePart(d, i1, m + 1, n + 0);
118
6.19M
      to.StorePart(d, i2, m + 2, n + 0);
119
6.19M
      to.StorePart(d, i3, m + 3, n + 0);
120
6.19M
      to.StorePart(d, i4, m + 4, n + 0);
121
6.19M
      to.StorePart(d, i5, m + 5, n + 0);
122
6.19M
      to.StorePart(d, i6, m + 6, n + 0);
123
6.19M
      to.StorePart(d, i7, m + 7, n + 0);
124
6.19M
    }
125
1.31M
  }
126
284k
}
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
12.9M
    size_t ROWSp, size_t COLSp) {
72
12.9M
  size_t ROWS = ROWS_or_0 == 0 ? ROWSp : ROWS_or_0;
73
12.9M
  size_t COLS = COLS_or_0 == 0 ? COLSp : COLS_or_0;
74
12.9M
  JXL_DASSERT(Lanes(BlockDesc<8>()) == 8);
75
12.9M
  static_assert(ROWS_or_0 % 8 == 0, "Invalid number of rows");
76
12.9M
  static_assert(COLS_or_0 % 8 == 0, "Invalid number of columns");
77
25.8M
  for (size_t n = 0; n < ROWS; n += 8) {
78
25.8M
    for (size_t m = 0; m < COLS; m += 8) {
79
12.9M
      const BlockDesc<8> d;
80
12.9M
      auto i0 = from.LoadPart(d, n + 0, m + 0);
81
12.9M
      auto i1 = from.LoadPart(d, n + 1, m + 0);
82
12.9M
      auto i2 = from.LoadPart(d, n + 2, m + 0);
83
12.9M
      auto i3 = from.LoadPart(d, n + 3, m + 0);
84
12.9M
      auto i4 = from.LoadPart(d, n + 4, m + 0);
85
12.9M
      auto i5 = from.LoadPart(d, n + 5, m + 0);
86
12.9M
      auto i6 = from.LoadPart(d, n + 6, m + 0);
87
12.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
12.9M
      const auto q0 = InterleaveLower(d, i0, i2);
91
12.9M
      const auto q1 = InterleaveLower(d, i1, i3);
92
12.9M
      const auto q2 = InterleaveUpper(d, i0, i2);
93
12.9M
      const auto q3 = InterleaveUpper(d, i1, i3);
94
12.9M
      const auto q4 = InterleaveLower(d, i4, i6);
95
12.9M
      const auto q5 = InterleaveLower(d, i5, i7);
96
12.9M
      const auto q6 = InterleaveUpper(d, i4, i6);
97
12.9M
      const auto q7 = InterleaveUpper(d, i5, i7);
98
99
12.9M
      const auto r0 = InterleaveLower(d, q0, q1);
100
12.9M
      const auto r1 = InterleaveUpper(d, q0, q1);
101
12.9M
      const auto r2 = InterleaveLower(d, q2, q3);
102
12.9M
      const auto r3 = InterleaveUpper(d, q2, q3);
103
12.9M
      const auto r4 = InterleaveLower(d, q4, q5);
104
12.9M
      const auto r5 = InterleaveUpper(d, q4, q5);
105
12.9M
      const auto r6 = InterleaveLower(d, q6, q7);
106
12.9M
      const auto r7 = InterleaveUpper(d, q6, q7);
107
108
12.9M
      i0 = ConcatLowerLower(d, r4, r0);
109
12.9M
      i1 = ConcatLowerLower(d, r5, r1);
110
12.9M
      i2 = ConcatLowerLower(d, r6, r2);
111
12.9M
      i3 = ConcatLowerLower(d, r7, r3);
112
12.9M
      i4 = ConcatUpperUpper(d, r4, r0);
113
12.9M
      i5 = ConcatUpperUpper(d, r5, r1);
114
12.9M
      i6 = ConcatUpperUpper(d, r6, r2);
115
12.9M
      i7 = ConcatUpperUpper(d, r7, r3);
116
12.9M
      to.StorePart(d, i0, m + 0, n + 0);
117
12.9M
      to.StorePart(d, i1, m + 1, n + 0);
118
12.9M
      to.StorePart(d, i2, m + 2, n + 0);
119
12.9M
      to.StorePart(d, i3, m + 3, n + 0);
120
12.9M
      to.StorePart(d, i4, m + 4, n + 0);
121
12.9M
      to.StorePart(d, i5, m + 5, n + 0);
122
12.9M
      to.StorePart(d, i6, m + 6, n + 0);
123
12.9M
      to.StorePart(d, i7, m + 7, n + 0);
124
12.9M
    }
125
12.9M
  }
126
12.9M
}
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
9.28M
    size_t ROWSp, size_t COLSp) {
72
9.28M
  size_t ROWS = ROWS_or_0 == 0 ? ROWSp : ROWS_or_0;
73
9.28M
  size_t COLS = COLS_or_0 == 0 ? COLSp : COLS_or_0;
74
9.28M
  JXL_DASSERT(Lanes(BlockDesc<8>()) == 8);
75
9.28M
  static_assert(ROWS_or_0 % 8 == 0, "Invalid number of rows");
76
9.28M
  static_assert(COLS_or_0 % 8 == 0, "Invalid number of columns");
77
27.8M
  for (size_t n = 0; n < ROWS; n += 8) {
78
55.7M
    for (size_t m = 0; m < COLS; m += 8) {
79
37.1M
      const BlockDesc<8> d;
80
37.1M
      auto i0 = from.LoadPart(d, n + 0, m + 0);
81
37.1M
      auto i1 = from.LoadPart(d, n + 1, m + 0);
82
37.1M
      auto i2 = from.LoadPart(d, n + 2, m + 0);
83
37.1M
      auto i3 = from.LoadPart(d, n + 3, m + 0);
84
37.1M
      auto i4 = from.LoadPart(d, n + 4, m + 0);
85
37.1M
      auto i5 = from.LoadPart(d, n + 5, m + 0);
86
37.1M
      auto i6 = from.LoadPart(d, n + 6, m + 0);
87
37.1M
      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
37.1M
      const auto q0 = InterleaveLower(d, i0, i2);
91
37.1M
      const auto q1 = InterleaveLower(d, i1, i3);
92
37.1M
      const auto q2 = InterleaveUpper(d, i0, i2);
93
37.1M
      const auto q3 = InterleaveUpper(d, i1, i3);
94
37.1M
      const auto q4 = InterleaveLower(d, i4, i6);
95
37.1M
      const auto q5 = InterleaveLower(d, i5, i7);
96
37.1M
      const auto q6 = InterleaveUpper(d, i4, i6);
97
37.1M
      const auto q7 = InterleaveUpper(d, i5, i7);
98
99
37.1M
      const auto r0 = InterleaveLower(d, q0, q1);
100
37.1M
      const auto r1 = InterleaveUpper(d, q0, q1);
101
37.1M
      const auto r2 = InterleaveLower(d, q2, q3);
102
37.1M
      const auto r3 = InterleaveUpper(d, q2, q3);
103
37.1M
      const auto r4 = InterleaveLower(d, q4, q5);
104
37.1M
      const auto r5 = InterleaveUpper(d, q4, q5);
105
37.1M
      const auto r6 = InterleaveLower(d, q6, q7);
106
37.1M
      const auto r7 = InterleaveUpper(d, q6, q7);
107
108
37.1M
      i0 = ConcatLowerLower(d, r4, r0);
109
37.1M
      i1 = ConcatLowerLower(d, r5, r1);
110
37.1M
      i2 = ConcatLowerLower(d, r6, r2);
111
37.1M
      i3 = ConcatLowerLower(d, r7, r3);
112
37.1M
      i4 = ConcatUpperUpper(d, r4, r0);
113
37.1M
      i5 = ConcatUpperUpper(d, r5, r1);
114
37.1M
      i6 = ConcatUpperUpper(d, r6, r2);
115
37.1M
      i7 = ConcatUpperUpper(d, r7, r3);
116
37.1M
      to.StorePart(d, i0, m + 0, n + 0);
117
37.1M
      to.StorePart(d, i1, m + 1, n + 0);
118
37.1M
      to.StorePart(d, i2, m + 2, n + 0);
119
37.1M
      to.StorePart(d, i3, m + 3, n + 0);
120
37.1M
      to.StorePart(d, i4, m + 4, n + 0);
121
37.1M
      to.StorePart(d, i5, m + 5, n + 0);
122
37.1M
      to.StorePart(d, i6, m + 6, n + 0);
123
37.1M
      to.StorePart(d, i7, m + 7, n + 0);
124
37.1M
    }
125
18.5M
  }
126
9.28M
}
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
27.4M
    size_t ROWSp, size_t COLSp) {
72
27.4M
  size_t ROWS = ROWS_or_0 == 0 ? ROWSp : ROWS_or_0;
73
27.4M
  size_t COLS = COLS_or_0 == 0 ? COLSp : COLS_or_0;
74
27.4M
  JXL_DASSERT(Lanes(BlockDesc<8>()) == 8);
75
27.4M
  static_assert(ROWS_or_0 % 8 == 0, "Invalid number of rows");
76
27.4M
  static_assert(COLS_or_0 % 8 == 0, "Invalid number of columns");
77
82.3M
  for (size_t n = 0; n < ROWS; n += 8) {
78
109M
    for (size_t m = 0; m < COLS; m += 8) {
79
54.9M
      const BlockDesc<8> d;
80
54.9M
      auto i0 = from.LoadPart(d, n + 0, m + 0);
81
54.9M
      auto i1 = from.LoadPart(d, n + 1, m + 0);
82
54.9M
      auto i2 = from.LoadPart(d, n + 2, m + 0);
83
54.9M
      auto i3 = from.LoadPart(d, n + 3, m + 0);
84
54.9M
      auto i4 = from.LoadPart(d, n + 4, m + 0);
85
54.9M
      auto i5 = from.LoadPart(d, n + 5, m + 0);
86
54.9M
      auto i6 = from.LoadPart(d, n + 6, m + 0);
87
54.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
54.9M
      const auto q0 = InterleaveLower(d, i0, i2);
91
54.9M
      const auto q1 = InterleaveLower(d, i1, i3);
92
54.9M
      const auto q2 = InterleaveUpper(d, i0, i2);
93
54.9M
      const auto q3 = InterleaveUpper(d, i1, i3);
94
54.9M
      const auto q4 = InterleaveLower(d, i4, i6);
95
54.9M
      const auto q5 = InterleaveLower(d, i5, i7);
96
54.9M
      const auto q6 = InterleaveUpper(d, i4, i6);
97
54.9M
      const auto q7 = InterleaveUpper(d, i5, i7);
98
99
54.9M
      const auto r0 = InterleaveLower(d, q0, q1);
100
54.9M
      const auto r1 = InterleaveUpper(d, q0, q1);
101
54.9M
      const auto r2 = InterleaveLower(d, q2, q3);
102
54.9M
      const auto r3 = InterleaveUpper(d, q2, q3);
103
54.9M
      const auto r4 = InterleaveLower(d, q4, q5);
104
54.9M
      const auto r5 = InterleaveUpper(d, q4, q5);
105
54.9M
      const auto r6 = InterleaveLower(d, q6, q7);
106
54.9M
      const auto r7 = InterleaveUpper(d, q6, q7);
107
108
54.9M
      i0 = ConcatLowerLower(d, r4, r0);
109
54.9M
      i1 = ConcatLowerLower(d, r5, r1);
110
54.9M
      i2 = ConcatLowerLower(d, r6, r2);
111
54.9M
      i3 = ConcatLowerLower(d, r7, r3);
112
54.9M
      i4 = ConcatUpperUpper(d, r4, r0);
113
54.9M
      i5 = ConcatUpperUpper(d, r5, r1);
114
54.9M
      i6 = ConcatUpperUpper(d, r6, r2);
115
54.9M
      i7 = ConcatUpperUpper(d, r7, r3);
116
54.9M
      to.StorePart(d, i0, m + 0, n + 0);
117
54.9M
      to.StorePart(d, i1, m + 1, n + 0);
118
54.9M
      to.StorePart(d, i2, m + 2, n + 0);
119
54.9M
      to.StorePart(d, i3, m + 3, n + 0);
120
54.9M
      to.StorePart(d, i4, m + 4, n + 0);
121
54.9M
      to.StorePart(d, i5, m + 5, n + 0);
122
54.9M
      to.StorePart(d, i6, m + 6, n + 0);
123
54.9M
      to.StorePart(d, i7, m + 7, n + 0);
124
54.9M
    }
125
54.9M
  }
126
27.4M
}
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
27.4M
    size_t ROWSp, size_t COLSp) {
72
27.4M
  size_t ROWS = ROWS_or_0 == 0 ? ROWSp : ROWS_or_0;
73
27.4M
  size_t COLS = COLS_or_0 == 0 ? COLSp : COLS_or_0;
74
27.4M
  JXL_DASSERT(Lanes(BlockDesc<8>()) == 8);
75
27.4M
  static_assert(ROWS_or_0 % 8 == 0, "Invalid number of rows");
76
27.4M
  static_assert(COLS_or_0 % 8 == 0, "Invalid number of columns");
77
54.9M
  for (size_t n = 0; n < ROWS; n += 8) {
78
82.3M
    for (size_t m = 0; m < COLS; m += 8) {
79
54.9M
      const BlockDesc<8> d;
80
54.9M
      auto i0 = from.LoadPart(d, n + 0, m + 0);
81
54.9M
      auto i1 = from.LoadPart(d, n + 1, m + 0);
82
54.9M
      auto i2 = from.LoadPart(d, n + 2, m + 0);
83
54.9M
      auto i3 = from.LoadPart(d, n + 3, m + 0);
84
54.9M
      auto i4 = from.LoadPart(d, n + 4, m + 0);
85
54.9M
      auto i5 = from.LoadPart(d, n + 5, m + 0);
86
54.9M
      auto i6 = from.LoadPart(d, n + 6, m + 0);
87
54.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
54.9M
      const auto q0 = InterleaveLower(d, i0, i2);
91
54.9M
      const auto q1 = InterleaveLower(d, i1, i3);
92
54.9M
      const auto q2 = InterleaveUpper(d, i0, i2);
93
54.9M
      const auto q3 = InterleaveUpper(d, i1, i3);
94
54.9M
      const auto q4 = InterleaveLower(d, i4, i6);
95
54.9M
      const auto q5 = InterleaveLower(d, i5, i7);
96
54.9M
      const auto q6 = InterleaveUpper(d, i4, i6);
97
54.9M
      const auto q7 = InterleaveUpper(d, i5, i7);
98
99
54.9M
      const auto r0 = InterleaveLower(d, q0, q1);
100
54.9M
      const auto r1 = InterleaveUpper(d, q0, q1);
101
54.9M
      const auto r2 = InterleaveLower(d, q2, q3);
102
54.9M
      const auto r3 = InterleaveUpper(d, q2, q3);
103
54.9M
      const auto r4 = InterleaveLower(d, q4, q5);
104
54.9M
      const auto r5 = InterleaveUpper(d, q4, q5);
105
54.9M
      const auto r6 = InterleaveLower(d, q6, q7);
106
54.9M
      const auto r7 = InterleaveUpper(d, q6, q7);
107
108
54.9M
      i0 = ConcatLowerLower(d, r4, r0);
109
54.9M
      i1 = ConcatLowerLower(d, r5, r1);
110
54.9M
      i2 = ConcatLowerLower(d, r6, r2);
111
54.9M
      i3 = ConcatLowerLower(d, r7, r3);
112
54.9M
      i4 = ConcatUpperUpper(d, r4, r0);
113
54.9M
      i5 = ConcatUpperUpper(d, r5, r1);
114
54.9M
      i6 = ConcatUpperUpper(d, r6, r2);
115
54.9M
      i7 = ConcatUpperUpper(d, r7, r3);
116
54.9M
      to.StorePart(d, i0, m + 0, n + 0);
117
54.9M
      to.StorePart(d, i1, m + 1, n + 0);
118
54.9M
      to.StorePart(d, i2, m + 2, n + 0);
119
54.9M
      to.StorePart(d, i3, m + 3, n + 0);
120
54.9M
      to.StorePart(d, i4, m + 4, n + 0);
121
54.9M
      to.StorePart(d, i5, m + 5, n + 0);
122
54.9M
      to.StorePart(d, i6, m + 6, n + 0);
123
54.9M
      to.StorePart(d, i7, m + 7, n + 0);
124
54.9M
    }
125
27.4M
  }
126
27.4M
}
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
15.3M
    size_t ROWSp, size_t COLSp) {
72
15.3M
  size_t ROWS = ROWS_or_0 == 0 ? ROWSp : ROWS_or_0;
73
15.3M
  size_t COLS = COLS_or_0 == 0 ? COLSp : COLS_or_0;
74
15.3M
  JXL_DASSERT(Lanes(BlockDesc<8>()) == 8);
75
15.3M
  static_assert(ROWS_or_0 % 8 == 0, "Invalid number of rows");
76
15.3M
  static_assert(COLS_or_0 % 8 == 0, "Invalid number of columns");
77
72.2M
  for (size_t n = 0; n < ROWS; n += 8) {
78
270M
    for (size_t m = 0; m < COLS; m += 8) {
79
213M
      const BlockDesc<8> d;
80
213M
      auto i0 = from.LoadPart(d, n + 0, m + 0);
81
213M
      auto i1 = from.LoadPart(d, n + 1, m + 0);
82
213M
      auto i2 = from.LoadPart(d, n + 2, m + 0);
83
213M
      auto i3 = from.LoadPart(d, n + 3, m + 0);
84
213M
      auto i4 = from.LoadPart(d, n + 4, m + 0);
85
213M
      auto i5 = from.LoadPart(d, n + 5, m + 0);
86
213M
      auto i6 = from.LoadPart(d, n + 6, m + 0);
87
213M
      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
213M
      const auto q0 = InterleaveLower(d, i0, i2);
91
213M
      const auto q1 = InterleaveLower(d, i1, i3);
92
213M
      const auto q2 = InterleaveUpper(d, i0, i2);
93
213M
      const auto q3 = InterleaveUpper(d, i1, i3);
94
213M
      const auto q4 = InterleaveLower(d, i4, i6);
95
213M
      const auto q5 = InterleaveLower(d, i5, i7);
96
213M
      const auto q6 = InterleaveUpper(d, i4, i6);
97
213M
      const auto q7 = InterleaveUpper(d, i5, i7);
98
99
213M
      const auto r0 = InterleaveLower(d, q0, q1);
100
213M
      const auto r1 = InterleaveUpper(d, q0, q1);
101
213M
      const auto r2 = InterleaveLower(d, q2, q3);
102
213M
      const auto r3 = InterleaveUpper(d, q2, q3);
103
213M
      const auto r4 = InterleaveLower(d, q4, q5);
104
213M
      const auto r5 = InterleaveUpper(d, q4, q5);
105
213M
      const auto r6 = InterleaveLower(d, q6, q7);
106
213M
      const auto r7 = InterleaveUpper(d, q6, q7);
107
108
213M
      i0 = ConcatLowerLower(d, r4, r0);
109
213M
      i1 = ConcatLowerLower(d, r5, r1);
110
213M
      i2 = ConcatLowerLower(d, r6, r2);
111
213M
      i3 = ConcatLowerLower(d, r7, r3);
112
213M
      i4 = ConcatUpperUpper(d, r4, r0);
113
213M
      i5 = ConcatUpperUpper(d, r5, r1);
114
213M
      i6 = ConcatUpperUpper(d, r6, r2);
115
213M
      i7 = ConcatUpperUpper(d, r7, r3);
116
213M
      to.StorePart(d, i0, m + 0, n + 0);
117
213M
      to.StorePart(d, i1, m + 1, n + 0);
118
213M
      to.StorePart(d, i2, m + 2, n + 0);
119
213M
      to.StorePart(d, i3, m + 3, n + 0);
120
213M
      to.StorePart(d, i4, m + 4, n + 0);
121
213M
      to.StorePart(d, i5, m + 5, n + 0);
122
213M
      to.StorePart(d, i6, m + 6, n + 0);
123
213M
      to.StorePart(d, i7, m + 7, n + 0);
124
213M
    }
125
56.8M
  }
126
15.3M
}
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
22.9M
    size_t ROWSp, size_t COLSp) {
72
22.9M
  size_t ROWS = ROWS_or_0 == 0 ? ROWSp : ROWS_or_0;
73
22.9M
  size_t COLS = COLS_or_0 == 0 ? COLSp : COLS_or_0;
74
22.9M
  JXL_DASSERT(Lanes(BlockDesc<8>()) == 8);
75
22.9M
  static_assert(ROWS_or_0 % 8 == 0, "Invalid number of rows");
76
22.9M
  static_assert(COLS_or_0 % 8 == 0, "Invalid number of columns");
77
45.9M
  for (size_t n = 0; n < ROWS; n += 8) {
78
45.9M
    for (size_t m = 0; m < COLS; m += 8) {
79
22.9M
      const BlockDesc<8> d;
80
22.9M
      auto i0 = from.LoadPart(d, n + 0, m + 0);
81
22.9M
      auto i1 = from.LoadPart(d, n + 1, m + 0);
82
22.9M
      auto i2 = from.LoadPart(d, n + 2, m + 0);
83
22.9M
      auto i3 = from.LoadPart(d, n + 3, m + 0);
84
22.9M
      auto i4 = from.LoadPart(d, n + 4, m + 0);
85
22.9M
      auto i5 = from.LoadPart(d, n + 5, m + 0);
86
22.9M
      auto i6 = from.LoadPart(d, n + 6, m + 0);
87
22.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
22.9M
      const auto q0 = InterleaveLower(d, i0, i2);
91
22.9M
      const auto q1 = InterleaveLower(d, i1, i3);
92
22.9M
      const auto q2 = InterleaveUpper(d, i0, i2);
93
22.9M
      const auto q3 = InterleaveUpper(d, i1, i3);
94
22.9M
      const auto q4 = InterleaveLower(d, i4, i6);
95
22.9M
      const auto q5 = InterleaveLower(d, i5, i7);
96
22.9M
      const auto q6 = InterleaveUpper(d, i4, i6);
97
22.9M
      const auto q7 = InterleaveUpper(d, i5, i7);
98
99
22.9M
      const auto r0 = InterleaveLower(d, q0, q1);
100
22.9M
      const auto r1 = InterleaveUpper(d, q0, q1);
101
22.9M
      const auto r2 = InterleaveLower(d, q2, q3);
102
22.9M
      const auto r3 = InterleaveUpper(d, q2, q3);
103
22.9M
      const auto r4 = InterleaveLower(d, q4, q5);
104
22.9M
      const auto r5 = InterleaveUpper(d, q4, q5);
105
22.9M
      const auto r6 = InterleaveLower(d, q6, q7);
106
22.9M
      const auto r7 = InterleaveUpper(d, q6, q7);
107
108
22.9M
      i0 = ConcatLowerLower(d, r4, r0);
109
22.9M
      i1 = ConcatLowerLower(d, r5, r1);
110
22.9M
      i2 = ConcatLowerLower(d, r6, r2);
111
22.9M
      i3 = ConcatLowerLower(d, r7, r3);
112
22.9M
      i4 = ConcatUpperUpper(d, r4, r0);
113
22.9M
      i5 = ConcatUpperUpper(d, r5, r1);
114
22.9M
      i6 = ConcatUpperUpper(d, r6, r2);
115
22.9M
      i7 = ConcatUpperUpper(d, r7, r3);
116
22.9M
      to.StorePart(d, i0, m + 0, n + 0);
117
22.9M
      to.StorePart(d, i1, m + 1, n + 0);
118
22.9M
      to.StorePart(d, i2, m + 2, n + 0);
119
22.9M
      to.StorePart(d, i3, m + 3, n + 0);
120
22.9M
      to.StorePart(d, i4, m + 4, n + 0);
121
22.9M
      to.StorePart(d, i5, m + 5, n + 0);
122
22.9M
      to.StorePart(d, i6, m + 6, n + 0);
123
22.9M
      to.StorePart(d, i7, m + 7, n + 0);
124
22.9M
    }
125
22.9M
  }
126
22.9M
}
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
445k
    size_t ROWSp, size_t COLSp) {
72
445k
  size_t ROWS = ROWS_or_0 == 0 ? ROWSp : ROWS_or_0;
73
445k
  size_t COLS = COLS_or_0 == 0 ? COLSp : COLS_or_0;
74
445k
  JXL_DASSERT(Lanes(BlockDesc<8>()) == 8);
75
445k
  static_assert(ROWS_or_0 % 8 == 0, "Invalid number of rows");
76
445k
  static_assert(COLS_or_0 % 8 == 0, "Invalid number of columns");
77
1.33M
  for (size_t n = 0; n < ROWS; n += 8) {
78
2.67M
    for (size_t m = 0; m < COLS; m += 8) {
79
1.78M
      const BlockDesc<8> d;
80
1.78M
      auto i0 = from.LoadPart(d, n + 0, m + 0);
81
1.78M
      auto i1 = from.LoadPart(d, n + 1, m + 0);
82
1.78M
      auto i2 = from.LoadPart(d, n + 2, m + 0);
83
1.78M
      auto i3 = from.LoadPart(d, n + 3, m + 0);
84
1.78M
      auto i4 = from.LoadPart(d, n + 4, m + 0);
85
1.78M
      auto i5 = from.LoadPart(d, n + 5, m + 0);
86
1.78M
      auto i6 = from.LoadPart(d, n + 6, m + 0);
87
1.78M
      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.78M
      const auto q0 = InterleaveLower(d, i0, i2);
91
1.78M
      const auto q1 = InterleaveLower(d, i1, i3);
92
1.78M
      const auto q2 = InterleaveUpper(d, i0, i2);
93
1.78M
      const auto q3 = InterleaveUpper(d, i1, i3);
94
1.78M
      const auto q4 = InterleaveLower(d, i4, i6);
95
1.78M
      const auto q5 = InterleaveLower(d, i5, i7);
96
1.78M
      const auto q6 = InterleaveUpper(d, i4, i6);
97
1.78M
      const auto q7 = InterleaveUpper(d, i5, i7);
98
99
1.78M
      const auto r0 = InterleaveLower(d, q0, q1);
100
1.78M
      const auto r1 = InterleaveUpper(d, q0, q1);
101
1.78M
      const auto r2 = InterleaveLower(d, q2, q3);
102
1.78M
      const auto r3 = InterleaveUpper(d, q2, q3);
103
1.78M
      const auto r4 = InterleaveLower(d, q4, q5);
104
1.78M
      const auto r5 = InterleaveUpper(d, q4, q5);
105
1.78M
      const auto r6 = InterleaveLower(d, q6, q7);
106
1.78M
      const auto r7 = InterleaveUpper(d, q6, q7);
107
108
1.78M
      i0 = ConcatLowerLower(d, r4, r0);
109
1.78M
      i1 = ConcatLowerLower(d, r5, r1);
110
1.78M
      i2 = ConcatLowerLower(d, r6, r2);
111
1.78M
      i3 = ConcatLowerLower(d, r7, r3);
112
1.78M
      i4 = ConcatUpperUpper(d, r4, r0);
113
1.78M
      i5 = ConcatUpperUpper(d, r5, r1);
114
1.78M
      i6 = ConcatUpperUpper(d, r6, r2);
115
1.78M
      i7 = ConcatUpperUpper(d, r7, r3);
116
1.78M
      to.StorePart(d, i0, m + 0, n + 0);
117
1.78M
      to.StorePart(d, i1, m + 1, n + 0);
118
1.78M
      to.StorePart(d, i2, m + 2, n + 0);
119
1.78M
      to.StorePart(d, i3, m + 3, n + 0);
120
1.78M
      to.StorePart(d, i4, m + 4, n + 0);
121
1.78M
      to.StorePart(d, i5, m + 5, n + 0);
122
1.78M
      to.StorePart(d, i6, m + 6, n + 0);
123
1.78M
      to.StorePart(d, i7, m + 7, n + 0);
124
1.78M
    }
125
890k
  }
126
445k
}
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.31M
    size_t ROWSp, size_t COLSp) {
72
1.31M
  size_t ROWS = ROWS_or_0 == 0 ? ROWSp : ROWS_or_0;
73
1.31M
  size_t COLS = COLS_or_0 == 0 ? COLSp : COLS_or_0;
74
1.31M
  JXL_DASSERT(Lanes(BlockDesc<8>()) == 8);
75
1.31M
  static_assert(ROWS_or_0 % 8 == 0, "Invalid number of rows");
76
1.31M
  static_assert(COLS_or_0 % 8 == 0, "Invalid number of columns");
77
2.62M
  for (size_t n = 0; n < ROWS; n += 8) {
78
3.93M
    for (size_t m = 0; m < COLS; m += 8) {
79
2.62M
      const BlockDesc<8> d;
80
2.62M
      auto i0 = from.LoadPart(d, n + 0, m + 0);
81
2.62M
      auto i1 = from.LoadPart(d, n + 1, m + 0);
82
2.62M
      auto i2 = from.LoadPart(d, n + 2, m + 0);
83
2.62M
      auto i3 = from.LoadPart(d, n + 3, m + 0);
84
2.62M
      auto i4 = from.LoadPart(d, n + 4, m + 0);
85
2.62M
      auto i5 = from.LoadPart(d, n + 5, m + 0);
86
2.62M
      auto i6 = from.LoadPart(d, n + 6, m + 0);
87
2.62M
      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.62M
      const auto q0 = InterleaveLower(d, i0, i2);
91
2.62M
      const auto q1 = InterleaveLower(d, i1, i3);
92
2.62M
      const auto q2 = InterleaveUpper(d, i0, i2);
93
2.62M
      const auto q3 = InterleaveUpper(d, i1, i3);
94
2.62M
      const auto q4 = InterleaveLower(d, i4, i6);
95
2.62M
      const auto q5 = InterleaveLower(d, i5, i7);
96
2.62M
      const auto q6 = InterleaveUpper(d, i4, i6);
97
2.62M
      const auto q7 = InterleaveUpper(d, i5, i7);
98
99
2.62M
      const auto r0 = InterleaveLower(d, q0, q1);
100
2.62M
      const auto r1 = InterleaveUpper(d, q0, q1);
101
2.62M
      const auto r2 = InterleaveLower(d, q2, q3);
102
2.62M
      const auto r3 = InterleaveUpper(d, q2, q3);
103
2.62M
      const auto r4 = InterleaveLower(d, q4, q5);
104
2.62M
      const auto r5 = InterleaveUpper(d, q4, q5);
105
2.62M
      const auto r6 = InterleaveLower(d, q6, q7);
106
2.62M
      const auto r7 = InterleaveUpper(d, q6, q7);
107
108
2.62M
      i0 = ConcatLowerLower(d, r4, r0);
109
2.62M
      i1 = ConcatLowerLower(d, r5, r1);
110
2.62M
      i2 = ConcatLowerLower(d, r6, r2);
111
2.62M
      i3 = ConcatLowerLower(d, r7, r3);
112
2.62M
      i4 = ConcatUpperUpper(d, r4, r0);
113
2.62M
      i5 = ConcatUpperUpper(d, r5, r1);
114
2.62M
      i6 = ConcatUpperUpper(d, r6, r2);
115
2.62M
      i7 = ConcatUpperUpper(d, r7, r3);
116
2.62M
      to.StorePart(d, i0, m + 0, n + 0);
117
2.62M
      to.StorePart(d, i1, m + 1, n + 0);
118
2.62M
      to.StorePart(d, i2, m + 2, n + 0);
119
2.62M
      to.StorePart(d, i3, m + 3, n + 0);
120
2.62M
      to.StorePart(d, i4, m + 4, n + 0);
121
2.62M
      to.StorePart(d, i5, m + 5, n + 0);
122
2.62M
      to.StorePart(d, i6, m + 6, n + 0);
123
2.62M
      to.StorePart(d, i7, m + 7, n + 0);
124
2.62M
    }
125
1.31M
  }
126
1.31M
}
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
683k
    size_t ROWSp, size_t COLSp) {
72
683k
  size_t ROWS = ROWS_or_0 == 0 ? ROWSp : ROWS_or_0;
73
683k
  size_t COLS = COLS_or_0 == 0 ? COLSp : COLS_or_0;
74
683k
  JXL_DASSERT(Lanes(BlockDesc<8>()) == 8);
75
683k
  static_assert(ROWS_or_0 % 8 == 0, "Invalid number of rows");
76
683k
  static_assert(COLS_or_0 % 8 == 0, "Invalid number of columns");
77
2.05M
  for (size_t n = 0; n < ROWS; n += 8) {
78
2.73M
    for (size_t m = 0; m < COLS; m += 8) {
79
1.36M
      const BlockDesc<8> d;
80
1.36M
      auto i0 = from.LoadPart(d, n + 0, m + 0);
81
1.36M
      auto i1 = from.LoadPart(d, n + 1, m + 0);
82
1.36M
      auto i2 = from.LoadPart(d, n + 2, m + 0);
83
1.36M
      auto i3 = from.LoadPart(d, n + 3, m + 0);
84
1.36M
      auto i4 = from.LoadPart(d, n + 4, m + 0);
85
1.36M
      auto i5 = from.LoadPart(d, n + 5, m + 0);
86
1.36M
      auto i6 = from.LoadPart(d, n + 6, m + 0);
87
1.36M
      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.36M
      const auto q0 = InterleaveLower(d, i0, i2);
91
1.36M
      const auto q1 = InterleaveLower(d, i1, i3);
92
1.36M
      const auto q2 = InterleaveUpper(d, i0, i2);
93
1.36M
      const auto q3 = InterleaveUpper(d, i1, i3);
94
1.36M
      const auto q4 = InterleaveLower(d, i4, i6);
95
1.36M
      const auto q5 = InterleaveLower(d, i5, i7);
96
1.36M
      const auto q6 = InterleaveUpper(d, i4, i6);
97
1.36M
      const auto q7 = InterleaveUpper(d, i5, i7);
98
99
1.36M
      const auto r0 = InterleaveLower(d, q0, q1);
100
1.36M
      const auto r1 = InterleaveUpper(d, q0, q1);
101
1.36M
      const auto r2 = InterleaveLower(d, q2, q3);
102
1.36M
      const auto r3 = InterleaveUpper(d, q2, q3);
103
1.36M
      const auto r4 = InterleaveLower(d, q4, q5);
104
1.36M
      const auto r5 = InterleaveUpper(d, q4, q5);
105
1.36M
      const auto r6 = InterleaveLower(d, q6, q7);
106
1.36M
      const auto r7 = InterleaveUpper(d, q6, q7);
107
108
1.36M
      i0 = ConcatLowerLower(d, r4, r0);
109
1.36M
      i1 = ConcatLowerLower(d, r5, r1);
110
1.36M
      i2 = ConcatLowerLower(d, r6, r2);
111
1.36M
      i3 = ConcatLowerLower(d, r7, r3);
112
1.36M
      i4 = ConcatUpperUpper(d, r4, r0);
113
1.36M
      i5 = ConcatUpperUpper(d, r5, r1);
114
1.36M
      i6 = ConcatUpperUpper(d, r6, r2);
115
1.36M
      i7 = ConcatUpperUpper(d, r7, r3);
116
1.36M
      to.StorePart(d, i0, m + 0, n + 0);
117
1.36M
      to.StorePart(d, i1, m + 1, n + 0);
118
1.36M
      to.StorePart(d, i2, m + 2, n + 0);
119
1.36M
      to.StorePart(d, i3, m + 3, n + 0);
120
1.36M
      to.StorePart(d, i4, m + 4, n + 0);
121
1.36M
      to.StorePart(d, i5, m + 5, n + 0);
122
1.36M
      to.StorePart(d, i6, m + 6, n + 0);
123
1.36M
      to.StorePart(d, i7, m + 7, n + 0);
124
1.36M
    }
125
1.36M
  }
126
683k
}
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
825
    size_t ROWSp, size_t COLSp) {
72
825
  size_t ROWS = ROWS_or_0 == 0 ? ROWSp : ROWS_or_0;
73
825
  size_t COLS = COLS_or_0 == 0 ? COLSp : COLS_or_0;
74
825
  JXL_DASSERT(Lanes(BlockDesc<8>()) == 8);
75
825
  static_assert(ROWS_or_0 % 8 == 0, "Invalid number of rows");
76
825
  static_assert(COLS_or_0 % 8 == 0, "Invalid number of columns");
77
1.65k
  for (size_t n = 0; n < ROWS; n += 8) {
78
4.12k
    for (size_t m = 0; m < COLS; m += 8) {
79
3.30k
      const BlockDesc<8> d;
80
3.30k
      auto i0 = from.LoadPart(d, n + 0, m + 0);
81
3.30k
      auto i1 = from.LoadPart(d, n + 1, m + 0);
82
3.30k
      auto i2 = from.LoadPart(d, n + 2, m + 0);
83
3.30k
      auto i3 = from.LoadPart(d, n + 3, m + 0);
84
3.30k
      auto i4 = from.LoadPart(d, n + 4, m + 0);
85
3.30k
      auto i5 = from.LoadPart(d, n + 5, m + 0);
86
3.30k
      auto i6 = from.LoadPart(d, n + 6, m + 0);
87
3.30k
      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.30k
      const auto q0 = InterleaveLower(d, i0, i2);
91
3.30k
      const auto q1 = InterleaveLower(d, i1, i3);
92
3.30k
      const auto q2 = InterleaveUpper(d, i0, i2);
93
3.30k
      const auto q3 = InterleaveUpper(d, i1, i3);
94
3.30k
      const auto q4 = InterleaveLower(d, i4, i6);
95
3.30k
      const auto q5 = InterleaveLower(d, i5, i7);
96
3.30k
      const auto q6 = InterleaveUpper(d, i4, i6);
97
3.30k
      const auto q7 = InterleaveUpper(d, i5, i7);
98
99
3.30k
      const auto r0 = InterleaveLower(d, q0, q1);
100
3.30k
      const auto r1 = InterleaveUpper(d, q0, q1);
101
3.30k
      const auto r2 = InterleaveLower(d, q2, q3);
102
3.30k
      const auto r3 = InterleaveUpper(d, q2, q3);
103
3.30k
      const auto r4 = InterleaveLower(d, q4, q5);
104
3.30k
      const auto r5 = InterleaveUpper(d, q4, q5);
105
3.30k
      const auto r6 = InterleaveLower(d, q6, q7);
106
3.30k
      const auto r7 = InterleaveUpper(d, q6, q7);
107
108
3.30k
      i0 = ConcatLowerLower(d, r4, r0);
109
3.30k
      i1 = ConcatLowerLower(d, r5, r1);
110
3.30k
      i2 = ConcatLowerLower(d, r6, r2);
111
3.30k
      i3 = ConcatLowerLower(d, r7, r3);
112
3.30k
      i4 = ConcatUpperUpper(d, r4, r0);
113
3.30k
      i5 = ConcatUpperUpper(d, r5, r1);
114
3.30k
      i6 = ConcatUpperUpper(d, r6, r2);
115
3.30k
      i7 = ConcatUpperUpper(d, r7, r3);
116
3.30k
      to.StorePart(d, i0, m + 0, n + 0);
117
3.30k
      to.StorePart(d, i1, m + 1, n + 0);
118
3.30k
      to.StorePart(d, i2, m + 2, n + 0);
119
3.30k
      to.StorePart(d, i3, m + 3, n + 0);
120
3.30k
      to.StorePart(d, i4, m + 4, n + 0);
121
3.30k
      to.StorePart(d, i5, m + 5, n + 0);
122
3.30k
      to.StorePart(d, i6, m + 6, n + 0);
123
3.30k
      to.StorePart(d, i7, m + 7, n + 0);
124
3.30k
    }
125
825
  }
126
825
}
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
117
    size_t ROWSp, size_t COLSp) {
72
117
  size_t ROWS = ROWS_or_0 == 0 ? ROWSp : ROWS_or_0;
73
117
  size_t COLS = COLS_or_0 == 0 ? COLSp : COLS_or_0;
74
117
  JXL_DASSERT(Lanes(BlockDesc<8>()) == 8);
75
117
  static_assert(ROWS_or_0 % 8 == 0, "Invalid number of rows");
76
117
  static_assert(COLS_or_0 % 8 == 0, "Invalid number of columns");
77
585
  for (size_t n = 0; n < ROWS; n += 8) {
78
936
    for (size_t m = 0; m < COLS; m += 8) {
79
468
      const BlockDesc<8> d;
80
468
      auto i0 = from.LoadPart(d, n + 0, m + 0);
81
468
      auto i1 = from.LoadPart(d, n + 1, m + 0);
82
468
      auto i2 = from.LoadPart(d, n + 2, m + 0);
83
468
      auto i3 = from.LoadPart(d, n + 3, m + 0);
84
468
      auto i4 = from.LoadPart(d, n + 4, m + 0);
85
468
      auto i5 = from.LoadPart(d, n + 5, m + 0);
86
468
      auto i6 = from.LoadPart(d, n + 6, m + 0);
87
468
      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
468
      const auto q0 = InterleaveLower(d, i0, i2);
91
468
      const auto q1 = InterleaveLower(d, i1, i3);
92
468
      const auto q2 = InterleaveUpper(d, i0, i2);
93
468
      const auto q3 = InterleaveUpper(d, i1, i3);
94
468
      const auto q4 = InterleaveLower(d, i4, i6);
95
468
      const auto q5 = InterleaveLower(d, i5, i7);
96
468
      const auto q6 = InterleaveUpper(d, i4, i6);
97
468
      const auto q7 = InterleaveUpper(d, i5, i7);
98
99
468
      const auto r0 = InterleaveLower(d, q0, q1);
100
468
      const auto r1 = InterleaveUpper(d, q0, q1);
101
468
      const auto r2 = InterleaveLower(d, q2, q3);
102
468
      const auto r3 = InterleaveUpper(d, q2, q3);
103
468
      const auto r4 = InterleaveLower(d, q4, q5);
104
468
      const auto r5 = InterleaveUpper(d, q4, q5);
105
468
      const auto r6 = InterleaveLower(d, q6, q7);
106
468
      const auto r7 = InterleaveUpper(d, q6, q7);
107
108
468
      i0 = ConcatLowerLower(d, r4, r0);
109
468
      i1 = ConcatLowerLower(d, r5, r1);
110
468
      i2 = ConcatLowerLower(d, r6, r2);
111
468
      i3 = ConcatLowerLower(d, r7, r3);
112
468
      i4 = ConcatUpperUpper(d, r4, r0);
113
468
      i5 = ConcatUpperUpper(d, r5, r1);
114
468
      i6 = ConcatUpperUpper(d, r6, r2);
115
468
      i7 = ConcatUpperUpper(d, r7, r3);
116
468
      to.StorePart(d, i0, m + 0, n + 0);
117
468
      to.StorePart(d, i1, m + 1, n + 0);
118
468
      to.StorePart(d, i2, m + 2, n + 0);
119
468
      to.StorePart(d, i3, m + 3, n + 0);
120
468
      to.StorePart(d, i4, m + 4, n + 0);
121
468
      to.StorePart(d, i5, m + 5, n + 0);
122
468
      to.StorePart(d, i6, m + 6, n + 0);
123
468
      to.StorePart(d, i7, m + 7, n + 0);
124
468
    }
125
468
  }
126
117
}
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
854k
    size_t ROWSp, size_t COLSp) {
72
854k
  size_t ROWS = ROWS_or_0 == 0 ? ROWSp : ROWS_or_0;
73
854k
  size_t COLS = COLS_or_0 == 0 ? COLSp : COLS_or_0;
74
854k
  JXL_DASSERT(Lanes(BlockDesc<8>()) == 8);
75
854k
  static_assert(ROWS_or_0 % 8 == 0, "Invalid number of rows");
76
854k
  static_assert(COLS_or_0 % 8 == 0, "Invalid number of columns");
77
4.38M
  for (size_t n = 0; n < ROWS; n += 8) {
78
22.1M
    for (size_t m = 0; m < COLS; m += 8) {
79
18.6M
      const BlockDesc<8> d;
80
18.6M
      auto i0 = from.LoadPart(d, n + 0, m + 0);
81
18.6M
      auto i1 = from.LoadPart(d, n + 1, m + 0);
82
18.6M
      auto i2 = from.LoadPart(d, n + 2, m + 0);
83
18.6M
      auto i3 = from.LoadPart(d, n + 3, m + 0);
84
18.6M
      auto i4 = from.LoadPart(d, n + 4, m + 0);
85
18.6M
      auto i5 = from.LoadPart(d, n + 5, m + 0);
86
18.6M
      auto i6 = from.LoadPart(d, n + 6, m + 0);
87
18.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
18.6M
      const auto q0 = InterleaveLower(d, i0, i2);
91
18.6M
      const auto q1 = InterleaveLower(d, i1, i3);
92
18.6M
      const auto q2 = InterleaveUpper(d, i0, i2);
93
18.6M
      const auto q3 = InterleaveUpper(d, i1, i3);
94
18.6M
      const auto q4 = InterleaveLower(d, i4, i6);
95
18.6M
      const auto q5 = InterleaveLower(d, i5, i7);
96
18.6M
      const auto q6 = InterleaveUpper(d, i4, i6);
97
18.6M
      const auto q7 = InterleaveUpper(d, i5, i7);
98
99
18.6M
      const auto r0 = InterleaveLower(d, q0, q1);
100
18.6M
      const auto r1 = InterleaveUpper(d, q0, q1);
101
18.6M
      const auto r2 = InterleaveLower(d, q2, q3);
102
18.6M
      const auto r3 = InterleaveUpper(d, q2, q3);
103
18.6M
      const auto r4 = InterleaveLower(d, q4, q5);
104
18.6M
      const auto r5 = InterleaveUpper(d, q4, q5);
105
18.6M
      const auto r6 = InterleaveLower(d, q6, q7);
106
18.6M
      const auto r7 = InterleaveUpper(d, q6, q7);
107
108
18.6M
      i0 = ConcatLowerLower(d, r4, r0);
109
18.6M
      i1 = ConcatLowerLower(d, r5, r1);
110
18.6M
      i2 = ConcatLowerLower(d, r6, r2);
111
18.6M
      i3 = ConcatLowerLower(d, r7, r3);
112
18.6M
      i4 = ConcatUpperUpper(d, r4, r0);
113
18.6M
      i5 = ConcatUpperUpper(d, r5, r1);
114
18.6M
      i6 = ConcatUpperUpper(d, r6, r2);
115
18.6M
      i7 = ConcatUpperUpper(d, r7, r3);
116
18.6M
      to.StorePart(d, i0, m + 0, n + 0);
117
18.6M
      to.StorePart(d, i1, m + 1, n + 0);
118
18.6M
      to.StorePart(d, i2, m + 2, n + 0);
119
18.6M
      to.StorePart(d, i3, m + 3, n + 0);
120
18.6M
      to.StorePart(d, i4, m + 4, n + 0);
121
18.6M
      to.StorePart(d, i5, m + 5, n + 0);
122
18.6M
      to.StorePart(d, i6, m + 6, n + 0);
123
18.6M
      to.StorePart(d, i7, m + 7, n + 0);
124
18.6M
    }
125
3.52M
  }
126
854k
}
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
4.62M
    size_t ROWSp, size_t COLSp) {
72
4.62M
  size_t ROWS = ROWS_or_0 == 0 ? ROWSp : ROWS_or_0;
73
4.62M
  size_t COLS = COLS_or_0 == 0 ? COLSp : COLS_or_0;
74
4.62M
  JXL_DASSERT(Lanes(BlockDesc<8>()) == 8);
75
4.62M
  static_assert(ROWS_or_0 % 8 == 0, "Invalid number of rows");
76
4.62M
  static_assert(COLS_or_0 % 8 == 0, "Invalid number of columns");
77
9.24M
  for (size_t n = 0; n < ROWS; n += 8) {
78
9.24M
    for (size_t m = 0; m < COLS; m += 8) {
79
4.62M
      const BlockDesc<8> d;
80
4.62M
      auto i0 = from.LoadPart(d, n + 0, m + 0);
81
4.62M
      auto i1 = from.LoadPart(d, n + 1, m + 0);
82
4.62M
      auto i2 = from.LoadPart(d, n + 2, m + 0);
83
4.62M
      auto i3 = from.LoadPart(d, n + 3, m + 0);
84
4.62M
      auto i4 = from.LoadPart(d, n + 4, m + 0);
85
4.62M
      auto i5 = from.LoadPart(d, n + 5, m + 0);
86
4.62M
      auto i6 = from.LoadPart(d, n + 6, m + 0);
87
4.62M
      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
4.62M
      const auto q0 = InterleaveLower(d, i0, i2);
91
4.62M
      const auto q1 = InterleaveLower(d, i1, i3);
92
4.62M
      const auto q2 = InterleaveUpper(d, i0, i2);
93
4.62M
      const auto q3 = InterleaveUpper(d, i1, i3);
94
4.62M
      const auto q4 = InterleaveLower(d, i4, i6);
95
4.62M
      const auto q5 = InterleaveLower(d, i5, i7);
96
4.62M
      const auto q6 = InterleaveUpper(d, i4, i6);
97
4.62M
      const auto q7 = InterleaveUpper(d, i5, i7);
98
99
4.62M
      const auto r0 = InterleaveLower(d, q0, q1);
100
4.62M
      const auto r1 = InterleaveUpper(d, q0, q1);
101
4.62M
      const auto r2 = InterleaveLower(d, q2, q3);
102
4.62M
      const auto r3 = InterleaveUpper(d, q2, q3);
103
4.62M
      const auto r4 = InterleaveLower(d, q4, q5);
104
4.62M
      const auto r5 = InterleaveUpper(d, q4, q5);
105
4.62M
      const auto r6 = InterleaveLower(d, q6, q7);
106
4.62M
      const auto r7 = InterleaveUpper(d, q6, q7);
107
108
4.62M
      i0 = ConcatLowerLower(d, r4, r0);
109
4.62M
      i1 = ConcatLowerLower(d, r5, r1);
110
4.62M
      i2 = ConcatLowerLower(d, r6, r2);
111
4.62M
      i3 = ConcatLowerLower(d, r7, r3);
112
4.62M
      i4 = ConcatUpperUpper(d, r4, r0);
113
4.62M
      i5 = ConcatUpperUpper(d, r5, r1);
114
4.62M
      i6 = ConcatUpperUpper(d, r6, r2);
115
4.62M
      i7 = ConcatUpperUpper(d, r7, r3);
116
4.62M
      to.StorePart(d, i0, m + 0, n + 0);
117
4.62M
      to.StorePart(d, i1, m + 1, n + 0);
118
4.62M
      to.StorePart(d, i2, m + 2, n + 0);
119
4.62M
      to.StorePart(d, i3, m + 3, n + 0);
120
4.62M
      to.StorePart(d, i4, m + 4, n + 0);
121
4.62M
      to.StorePart(d, i5, m + 5, n + 0);
122
4.62M
      to.StorePart(d, i6, m + 6, n + 0);
123
4.62M
      to.StorePart(d, i7, m + 7, n + 0);
124
4.62M
    }
125
4.62M
  }
126
4.62M
}
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
628M
  static void Run(const From& from, const To& to) {
174
    // This does not guarantee anything, just saves from the most stupid
175
    // mistakes.
176
628M
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
177
628M
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
178
628M
    GenericTransposeBlock<N, M>(tag, from, to, N, M);
179
628M
  }
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
677k
  static void Run(const From& from, const To& to) {
174
    // This does not guarantee anything, just saves from the most stupid
175
    // mistakes.
176
677k
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
177
677k
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
178
677k
    GenericTransposeBlock<N, M>(tag, from, to, N, M);
179
677k
  }
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
420k
  static void Run(const From& from, const To& to) {
174
    // This does not guarantee anything, just saves from the most stupid
175
    // mistakes.
176
420k
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
177
420k
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
178
420k
    GenericTransposeBlock<N, M>(tag, from, to, N, M);
179
420k
  }
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
360k
  static void Run(const From& from, const To& to) {
174
    // This does not guarantee anything, just saves from the most stupid
175
    // mistakes.
176
360k
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
177
360k
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
178
360k
    GenericTransposeBlock<N, M>(tag, from, to, N, M);
179
360k
  }
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
147k
  static void Run(const From& from, const To& to) {
174
    // This does not guarantee anything, just saves from the most stupid
175
    // mistakes.
176
147k
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
177
147k
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
178
147k
    GenericTransposeBlock<N, M>(tag, from, to, N, M);
179
147k
  }
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
433k
  static void Run(const From& from, const To& to) {
174
    // This does not guarantee anything, just saves from the most stupid
175
    // mistakes.
176
433k
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
177
433k
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
178
433k
    GenericTransposeBlock<N, M>(tag, from, to, N, M);
179
433k
  }
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
224k
  static void Run(const From& from, const To& to) {
174
    // This does not guarantee anything, just saves from the most stupid
175
    // mistakes.
176
224k
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
177
224k
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
178
224k
    GenericTransposeBlock<N, M>(tag, from, to, N, M);
179
224k
  }
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
1.42M
  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.42M
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
177
1.42M
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
178
1.42M
    GenericTransposeBlock<N, M>(tag, from, to, N, M);
179
1.42M
  }
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
433k
  static void Run(const From& from, const To& to) {
174
    // This does not guarantee anything, just saves from the most stupid
175
    // mistakes.
176
433k
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
177
433k
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
178
433k
    GenericTransposeBlock<N, M>(tag, from, to, N, M);
179
433k
  }
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
224k
  static void Run(const From& from, const To& to) {
174
    // This does not guarantee anything, just saves from the most stupid
175
    // mistakes.
176
224k
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
177
224k
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
178
224k
    GenericTransposeBlock<N, M>(tag, from, to, N, M);
179
224k
  }
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
147k
  static void Run(const From& from, const To& to) {
174
    // This does not guarantee anything, just saves from the most stupid
175
    // mistakes.
176
147k
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
177
147k
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
178
147k
    GenericTransposeBlock<N, M>(tag, from, to, N, M);
179
147k
  }
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
90.1k
  static void Run(const From& from, const To& to) {
174
    // This does not guarantee anything, just saves from the most stupid
175
    // mistakes.
176
90.1k
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
177
90.1k
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
178
90.1k
    GenericTransposeBlock<N, M>(tag, from, to, N, M);
179
90.1k
  }
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
44.5k
  static void Run(const From& from, const To& to) {
174
    // This does not guarantee anything, just saves from the most stupid
175
    // mistakes.
176
44.5k
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
177
44.5k
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
178
44.5k
    GenericTransposeBlock<N, M>(tag, from, to, N, M);
179
44.5k
  }
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
677k
  static void Run(const From& from, const To& to) {
174
    // This does not guarantee anything, just saves from the most stupid
175
    // mistakes.
176
677k
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
177
677k
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
178
677k
    GenericTransposeBlock<N, M>(tag, from, to, N, M);
179
677k
  }
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
420k
  static void Run(const From& from, const To& to) {
174
    // This does not guarantee anything, just saves from the most stupid
175
    // mistakes.
176
420k
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
177
420k
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
178
420k
    GenericTransposeBlock<N, M>(tag, from, to, N, M);
179
420k
  }
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
360k
  static void Run(const From& from, const To& to) {
174
    // This does not guarantee anything, just saves from the most stupid
175
    // mistakes.
176
360k
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
177
360k
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
178
360k
    GenericTransposeBlock<N, M>(tag, from, to, N, M);
179
360k
  }
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
147k
  static void Run(const From& from, const To& to) {
174
    // This does not guarantee anything, just saves from the most stupid
175
    // mistakes.
176
147k
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
177
147k
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
178
147k
    GenericTransposeBlock<N, M>(tag, from, to, N, M);
179
147k
  }
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
433k
  static void Run(const From& from, const To& to) {
174
    // This does not guarantee anything, just saves from the most stupid
175
    // mistakes.
176
433k
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
177
433k
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
178
433k
    GenericTransposeBlock<N, M>(tag, from, to, N, M);
179
433k
  }
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
224k
  static void Run(const From& from, const To& to) {
174
    // This does not guarantee anything, just saves from the most stupid
175
    // mistakes.
176
224k
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
177
224k
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
178
224k
    GenericTransposeBlock<N, M>(tag, from, to, N, M);
179
224k
  }
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
12.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
12.9M
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
177
12.9M
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
178
12.9M
    GenericTransposeBlock<N, M>(tag, from, to, N, M);
179
12.9M
  }
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
433k
  static void Run(const From& from, const To& to) {
174
    // This does not guarantee anything, just saves from the most stupid
175
    // mistakes.
176
433k
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
177
433k
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
178
433k
    GenericTransposeBlock<N, M>(tag, from, to, N, M);
179
433k
  }
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
224k
  static void Run(const From& from, const To& to) {
174
    // This does not guarantee anything, just saves from the most stupid
175
    // mistakes.
176
224k
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
177
224k
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
178
224k
    GenericTransposeBlock<N, M>(tag, from, to, N, M);
179
224k
  }
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
147k
  static void Run(const From& from, const To& to) {
174
    // This does not guarantee anything, just saves from the most stupid
175
    // mistakes.
176
147k
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
177
147k
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
178
147k
    GenericTransposeBlock<N, M>(tag, from, to, N, M);
179
147k
  }
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
90.1k
  static void Run(const From& from, const To& to) {
174
    // This does not guarantee anything, just saves from the most stupid
175
    // mistakes.
176
90.1k
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
177
90.1k
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
178
90.1k
    GenericTransposeBlock<N, M>(tag, from, to, N, M);
179
90.1k
  }
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
44.5k
  static void Run(const From& from, const To& to) {
174
    // This does not guarantee anything, just saves from the most stupid
175
    // mistakes.
176
44.5k
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
177
44.5k
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
178
44.5k
    GenericTransposeBlock<N, M>(tag, from, to, N, M);
179
44.5k
  }
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
160M
  static void Run(const From& from, const To& to) {
174
    // This does not guarantee anything, just saves from the most stupid
175
    // mistakes.
176
160M
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
177
160M
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
178
160M
    GenericTransposeBlock<N, M>(tag, from, to, N, M);
179
160M
  }
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
160M
  static void Run(const From& from, const To& to) {
174
    // This does not guarantee anything, just saves from the most stupid
175
    // mistakes.
176
160M
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
177
160M
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
178
160M
    GenericTransposeBlock<N, M>(tag, from, to, N, M);
179
160M
  }
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
183M
  static void Run(const From& from, const To& to) {
174
    // This does not guarantee anything, just saves from the most stupid
175
    // mistakes.
176
183M
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
177
183M
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
178
183M
    GenericTransposeBlock<N, M>(tag, from, to, N, M);
179
183M
  }
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
9.28M
  static void Run(const From& from, const To& to) {
174
    // This does not guarantee anything, just saves from the most stupid
175
    // mistakes.
176
9.28M
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
177
9.28M
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
178
9.28M
    GenericTransposeBlock<N, M>(tag, from, to, N, M);
179
9.28M
  }
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
27.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
27.4M
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
177
27.4M
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
178
27.4M
    GenericTransposeBlock<N, M>(tag, from, to, N, M);
179
27.4M
  }
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
27.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
27.4M
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
177
27.4M
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
178
27.4M
    GenericTransposeBlock<N, M>(tag, from, to, N, M);
179
27.4M
  }
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
22.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
22.9M
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
177
22.9M
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
178
22.9M
    GenericTransposeBlock<N, M>(tag, from, to, N, M);
179
22.9M
  }
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.04M
  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.04M
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
177
2.04M
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
178
2.04M
    GenericTransposeBlock<N, M>(tag, from, to, N, M);
179
2.04M
  }
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.27M
  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.27M
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
177
1.27M
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
178
1.27M
    GenericTransposeBlock<N, M>(tag, from, to, N, M);
179
1.27M
  }
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.09M
  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.09M
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
177
1.09M
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
178
1.09M
    GenericTransposeBlock<N, M>(tag, from, to, N, M);
179
1.09M
  }
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
445k
  static void Run(const From& from, const To& to) {
174
    // This does not guarantee anything, just saves from the most stupid
175
    // mistakes.
176
445k
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
177
445k
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
178
445k
    GenericTransposeBlock<N, M>(tag, from, to, N, M);
179
445k
  }
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.31M
  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.31M
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
177
1.31M
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
178
1.31M
    GenericTransposeBlock<N, M>(tag, from, to, N, M);
179
1.31M
  }
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
683k
  static void Run(const From& from, const To& to) {
174
    // This does not guarantee anything, just saves from the most stupid
175
    // mistakes.
176
683k
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
177
683k
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
178
683k
    GenericTransposeBlock<N, M>(tag, from, to, N, M);
179
683k
  }
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
825
  static void Run(const From& from, const To& to) {
174
    // This does not guarantee anything, just saves from the most stupid
175
    // mistakes.
176
825
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
177
825
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
178
825
    GenericTransposeBlock<N, M>(tag, from, to, N, M);
179
825
  }
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
117
  static void Run(const From& from, const To& to) {
174
    // This does not guarantee anything, just saves from the most stupid
175
    // mistakes.
176
117
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
177
117
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
178
117
    GenericTransposeBlock<N, M>(tag, from, to, N, M);
179
117
  }
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
4.62M
  static void Run(const From& from, const To& to) {
174
    // This does not guarantee anything, just saves from the most stupid
175
    // mistakes.
176
4.62M
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
177
4.62M
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
178
4.62M
    GenericTransposeBlock<N, M>(tag, from, to, N, M);
179
4.62M
  }
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.31M
  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.31M
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
177
1.31M
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
178
1.31M
    GenericTransposeBlock<N, M>(tag, from, to, N, M);
179
1.31M
  }
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
683k
  static void Run(const From& from, const To& to) {
174
    // This does not guarantee anything, just saves from the most stupid
175
    // mistakes.
176
683k
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
177
683k
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
178
683k
    GenericTransposeBlock<N, M>(tag, from, to, N, M);
179
683k
  }
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
445k
  static void Run(const From& from, const To& to) {
174
    // This does not guarantee anything, just saves from the most stupid
175
    // mistakes.
176
445k
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
177
445k
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
178
445k
    GenericTransposeBlock<N, M>(tag, from, to, N, M);
179
445k
  }
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
825
  static void Run(const From& from, const To& to) {
174
    // This does not guarantee anything, just saves from the most stupid
175
    // mistakes.
176
825
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
177
825
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
178
825
    GenericTransposeBlock<N, M>(tag, from, to, N, M);
179
825
  }
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
117
  static void Run(const From& from, const To& to) {
174
    // This does not guarantee anything, just saves from the most stupid
175
    // mistakes.
176
117
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
177
117
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
178
117
    GenericTransposeBlock<N, M>(tag, from, to, N, M);
179
117
  }
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
270k
  static void Run(const From& from, const To& to) {
174
    // This does not guarantee anything, just saves from the most stupid
175
    // mistakes.
176
270k
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
177
270k
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
178
270k
    GenericTransposeBlock<N, M>(tag, from, to, N, M);
179
270k
  }
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
133k
  static void Run(const From& from, const To& to) {
174
    // This does not guarantee anything, just saves from the most stupid
175
    // mistakes.
176
133k
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
177
133k
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
178
133k
    GenericTransposeBlock<N, M>(tag, from, to, N, M);
179
133k
  }
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
16.8M
  static void Run(const From& from, const To& to) {
188
    // This does not guarantee anything, just saves from the most stupid
189
    // mistakes.
190
16.8M
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
191
16.8M
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
192
16.8M
    constexpr void (*transpose)(TransposeSimdTag<TransposeUseSimd(N, M)>,
193
16.8M
                                const From&, const To&, size_t, size_t) =
194
16.8M
        GenericTransposeBlock<0, 0, From, To>;
195
16.8M
    NoInlineWrapper(transpose, tag, from, to, N, M);
196
16.8M
  }
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
90.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
90.1k
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
191
90.1k
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
192
90.1k
    constexpr void (*transpose)(TransposeSimdTag<TransposeUseSimd(N, M)>,
193
90.1k
                                const From&, const To&, size_t, size_t) =
194
90.1k
        GenericTransposeBlock<0, 0, From, To>;
195
90.1k
    NoInlineWrapper(transpose, tag, from, to, N, M);
196
90.1k
  }
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
44.5k
  static void Run(const From& from, const To& to) {
188
    // This does not guarantee anything, just saves from the most stupid
189
    // mistakes.
190
44.5k
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
191
44.5k
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
192
44.5k
    constexpr void (*transpose)(TransposeSimdTag<TransposeUseSimd(N, M)>,
193
44.5k
                                const From&, const To&, size_t, size_t) =
194
44.5k
        GenericTransposeBlock<0, 0, From, To>;
195
44.5k
    NoInlineWrapper(transpose, tag, from, to, N, M);
196
44.5k
  }
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
78.6k
  static void Run(const From& from, const To& to) {
188
    // This does not guarantee anything, just saves from the most stupid
189
    // mistakes.
190
78.6k
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
191
78.6k
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
192
78.6k
    constexpr void (*transpose)(TransposeSimdTag<TransposeUseSimd(N, M)>,
193
78.6k
                                const From&, const To&, size_t, size_t) =
194
78.6k
        GenericTransposeBlock<0, 0, From, To>;
195
78.6k
    NoInlineWrapper(transpose, tag, from, to, N, M);
196
78.6k
  }
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
49.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
49.1k
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
191
49.1k
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
192
49.1k
    constexpr void (*transpose)(TransposeSimdTag<TransposeUseSimd(N, M)>,
193
49.1k
                                const From&, const To&, size_t, size_t) =
194
49.1k
        GenericTransposeBlock<0, 0, From, To>;
195
49.1k
    NoInlineWrapper(transpose, tag, from, to, N, M);
196
49.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
17.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
17.1k
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
191
17.1k
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
192
17.1k
    constexpr void (*transpose)(TransposeSimdTag<TransposeUseSimd(N, M)>,
193
17.1k
                                const From&, const To&, size_t, size_t) =
194
17.1k
        GenericTransposeBlock<0, 0, From, To>;
195
17.1k
    NoInlineWrapper(transpose, tag, from, to, N, M);
196
17.1k
  }
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
5.11k
  static void Run(const From& from, const To& to) {
188
    // This does not guarantee anything, just saves from the most stupid
189
    // mistakes.
190
5.11k
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
191
5.11k
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
192
5.11k
    constexpr void (*transpose)(TransposeSimdTag<TransposeUseSimd(N, M)>,
193
5.11k
                                const From&, const To&, size_t, size_t) =
194
5.11k
        GenericTransposeBlock<0, 0, From, To>;
195
5.11k
    NoInlineWrapper(transpose, tag, from, to, N, M);
196
5.11k
  }
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
90.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
90.1k
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
191
90.1k
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
192
90.1k
    constexpr void (*transpose)(TransposeSimdTag<TransposeUseSimd(N, M)>,
193
90.1k
                                const From&, const To&, size_t, size_t) =
194
90.1k
        GenericTransposeBlock<0, 0, From, To>;
195
90.1k
    NoInlineWrapper(transpose, tag, from, to, N, M);
196
90.1k
  }
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
44.5k
  static void Run(const From& from, const To& to) {
188
    // This does not guarantee anything, just saves from the most stupid
189
    // mistakes.
190
44.5k
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
191
44.5k
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
192
44.5k
    constexpr void (*transpose)(TransposeSimdTag<TransposeUseSimd(N, M)>,
193
44.5k
                                const From&, const To&, size_t, size_t) =
194
44.5k
        GenericTransposeBlock<0, 0, From, To>;
195
44.5k
    NoInlineWrapper(transpose, tag, from, to, N, M);
196
44.5k
  }
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
78.6k
  static void Run(const From& from, const To& to) {
188
    // This does not guarantee anything, just saves from the most stupid
189
    // mistakes.
190
78.6k
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
191
78.6k
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
192
78.6k
    constexpr void (*transpose)(TransposeSimdTag<TransposeUseSimd(N, M)>,
193
78.6k
                                const From&, const To&, size_t, size_t) =
194
78.6k
        GenericTransposeBlock<0, 0, From, To>;
195
78.6k
    NoInlineWrapper(transpose, tag, from, to, N, M);
196
78.6k
  }
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
49.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
49.1k
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
191
49.1k
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
192
49.1k
    constexpr void (*transpose)(TransposeSimdTag<TransposeUseSimd(N, M)>,
193
49.1k
                                const From&, const To&, size_t, size_t) =
194
49.1k
        GenericTransposeBlock<0, 0, From, To>;
195
49.1k
    NoInlineWrapper(transpose, tag, from, to, N, M);
196
49.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
17.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
17.1k
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
191
17.1k
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
192
17.1k
    constexpr void (*transpose)(TransposeSimdTag<TransposeUseSimd(N, M)>,
193
17.1k
                                const From&, const To&, size_t, size_t) =
194
17.1k
        GenericTransposeBlock<0, 0, From, To>;
195
17.1k
    NoInlineWrapper(transpose, tag, from, to, N, M);
196
17.1k
  }
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
5.11k
  static void Run(const From& from, const To& to) {
188
    // This does not guarantee anything, just saves from the most stupid
189
    // mistakes.
190
5.11k
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
191
5.11k
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
192
5.11k
    constexpr void (*transpose)(TransposeSimdTag<TransposeUseSimd(N, M)>,
193
5.11k
                                const From&, const To&, size_t, size_t) =
194
5.11k
        GenericTransposeBlock<0, 0, From, To>;
195
5.11k
    NoInlineWrapper(transpose, tag, from, to, N, M);
196
5.11k
  }
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
5.40M
  static void Run(const From& from, const To& to) {
188
    // This does not guarantee anything, just saves from the most stupid
189
    // mistakes.
190
5.40M
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
191
5.40M
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
192
5.40M
    constexpr void (*transpose)(TransposeSimdTag<TransposeUseSimd(N, M)>,
193
5.40M
                                const From&, const To&, size_t, size_t) =
194
5.40M
        GenericTransposeBlock<0, 0, From, To>;
195
5.40M
    NoInlineWrapper(transpose, tag, from, to, N, M);
196
5.40M
  }
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
5.40M
  static void Run(const From& from, const To& to) {
188
    // This does not guarantee anything, just saves from the most stupid
189
    // mistakes.
190
5.40M
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
191
5.40M
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
192
5.40M
    constexpr void (*transpose)(TransposeSimdTag<TransposeUseSimd(N, M)>,
193
5.40M
                                const From&, const To&, size_t, size_t) =
194
5.40M
        GenericTransposeBlock<0, 0, From, To>;
195
5.40M
    NoInlineWrapper(transpose, tag, from, to, N, M);
196
5.40M
  }
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
1.83M
  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.83M
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
191
1.83M
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
192
1.83M
    constexpr void (*transpose)(TransposeSimdTag<TransposeUseSimd(N, M)>,
193
1.83M
                                const From&, const To&, size_t, size_t) =
194
1.83M
        GenericTransposeBlock<0, 0, From, To>;
195
1.83M
    NoInlineWrapper(transpose, tag, from, to, N, M);
196
1.83M
  }
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
319k
  static void Run(const From& from, const To& to) {
188
    // This does not guarantee anything, just saves from the most stupid
189
    // mistakes.
190
319k
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
191
319k
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
192
319k
    constexpr void (*transpose)(TransposeSimdTag<TransposeUseSimd(N, M)>,
193
319k
                                const From&, const To&, size_t, size_t) =
194
319k
        GenericTransposeBlock<0, 0, From, To>;
195
319k
    NoInlineWrapper(transpose, tag, from, to, N, M);
196
319k
  }
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.20M
  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.20M
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
191
1.20M
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
192
1.20M
    constexpr void (*transpose)(TransposeSimdTag<TransposeUseSimd(N, M)>,
193
1.20M
                                const From&, const To&, size_t, size_t) =
194
1.20M
        GenericTransposeBlock<0, 0, From, To>;
195
1.20M
    NoInlineWrapper(transpose, tag, from, to, N, M);
196
1.20M
  }
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.20M
  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.20M
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
191
1.20M
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
192
1.20M
    constexpr void (*transpose)(TransposeSimdTag<TransposeUseSimd(N, M)>,
193
1.20M
                                const From&, const To&, size_t, size_t) =
194
1.20M
        GenericTransposeBlock<0, 0, From, To>;
195
1.20M
    NoInlineWrapper(transpose, tag, from, to, N, M);
196
1.20M
  }
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
270k
  static void Run(const From& from, const To& to) {
188
    // This does not guarantee anything, just saves from the most stupid
189
    // mistakes.
190
270k
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
191
270k
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
192
270k
    constexpr void (*transpose)(TransposeSimdTag<TransposeUseSimd(N, M)>,
193
270k
                                const From&, const To&, size_t, size_t) =
194
270k
        GenericTransposeBlock<0, 0, From, To>;
195
270k
    NoInlineWrapper(transpose, tag, from, to, N, M);
196
270k
  }
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
133k
  static void Run(const From& from, const To& to) {
188
    // This does not guarantee anything, just saves from the most stupid
189
    // mistakes.
190
133k
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
191
133k
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
192
133k
    constexpr void (*transpose)(TransposeSimdTag<TransposeUseSimd(N, M)>,
193
133k
                                const From&, const To&, size_t, size_t) =
194
133k
        GenericTransposeBlock<0, 0, From, To>;
195
133k
    NoInlineWrapper(transpose, tag, from, to, N, M);
196
133k
  }
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
235k
  static void Run(const From& from, const To& to) {
188
    // This does not guarantee anything, just saves from the most stupid
189
    // mistakes.
190
235k
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
191
235k
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
192
235k
    constexpr void (*transpose)(TransposeSimdTag<TransposeUseSimd(N, M)>,
193
235k
                                const From&, const To&, size_t, size_t) =
194
235k
        GenericTransposeBlock<0, 0, From, To>;
195
235k
    NoInlineWrapper(transpose, tag, from, to, N, M);
196
235k
  }
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
51.5k
  static void Run(const From& from, const To& to) {
188
    // This does not guarantee anything, just saves from the most stupid
189
    // mistakes.
190
51.5k
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
191
51.5k
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
192
51.5k
    constexpr void (*transpose)(TransposeSimdTag<TransposeUseSimd(N, M)>,
193
51.5k
                                const From&, const To&, size_t, size_t) =
194
51.5k
        GenericTransposeBlock<0, 0, From, To>;
195
51.5k
    NoInlineWrapper(transpose, tag, from, to, N, M);
196
51.5k
  }
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
15.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
15.3k
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
191
15.3k
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
192
15.3k
    constexpr void (*transpose)(TransposeSimdTag<TransposeUseSimd(N, M)>,
193
15.3k
                                const From&, const To&, size_t, size_t) =
194
15.3k
        GenericTransposeBlock<0, 0, From, To>;
195
15.3k
    NoInlineWrapper(transpose, tag, from, to, N, M);
196
15.3k
  }
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
147k
  static void Run(const From& from, const To& to) {
188
    // This does not guarantee anything, just saves from the most stupid
189
    // mistakes.
190
147k
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
191
147k
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
192
147k
    constexpr void (*transpose)(TransposeSimdTag<TransposeUseSimd(N, M)>,
193
147k
                                const From&, const To&, size_t, size_t) =
194
147k
        GenericTransposeBlock<0, 0, From, To>;
195
147k
    NoInlineWrapper(transpose, tag, from, to, N, M);
196
147k
  }
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
9
  static void Run(const From& from, const To& to) {
188
    // This does not guarantee anything, just saves from the most stupid
189
    // mistakes.
190
9
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
191
9
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
192
9
    constexpr void (*transpose)(TransposeSimdTag<TransposeUseSimd(N, M)>,
193
9
                                const From&, const To&, size_t, size_t) =
194
9
        GenericTransposeBlock<0, 0, From, To>;
195
9
    NoInlineWrapper(transpose, tag, from, to, N, M);
196
9
  }
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
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, 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_