Coverage Report

Created: 2026-06-07 07:20

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
126M
JXL_NOINLINE void NoInlineWrapper(const T& f, const Args&... args) {
42
126M
  return f(args...);
43
126M
}
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.51M
JXL_NOINLINE void NoInlineWrapper(const T& f, const Args&... args) {
42
1.51M
  return f(args...);
43
1.51M
}
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
381k
JXL_NOINLINE void NoInlineWrapper(const T& f, const Args&... args) {
42
381k
  return f(args...);
43
381k
}
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.51M
JXL_NOINLINE void NoInlineWrapper(const T& f, const Args&... args) {
42
1.51M
  return f(args...);
43
1.51M
}
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
381k
JXL_NOINLINE void NoInlineWrapper(const T& f, const Args&... args) {
42
381k
  return f(args...);
43
381k
}
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
97.8M
JXL_NOINLINE void NoInlineWrapper(const T& f, const Args&... args) {
42
97.8M
  return f(args...);
43
97.8M
}
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
19.5M
JXL_NOINLINE void NoInlineWrapper(const T& f, const Args&... args) {
42
19.5M
  return f(args...);
43
19.5M
}
Unexecuted instantiation: enc_ac_strategy.cc:void jxl::N_SSE2::(anonymous namespace)::NoInlineWrapper<void (jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&, unsigned long, float*), jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo, unsigned long, float* restrict>(void ( const&)(jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&, unsigned long, float*), jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&, unsigned long const&, float* restrict const&)
Unexecuted instantiation: enc_ac_strategy.cc:void jxl::N_SSE2::(anonymous namespace)::NoInlineWrapper<void (*)(jxl::N_SSE2::(anonymous namespace)::TransposeSimdTag<true>, jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long), jxl::N_SSE2::(anonymous namespace)::TransposeSimdTag<true>, jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo, unsigned long, unsigned long>(void (* const&)(jxl::N_SSE2::(anonymous namespace)::TransposeSimdTag<true>, jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long), jxl::N_SSE2::(anonymous namespace)::TransposeSimdTag<true> const&, jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&, unsigned long const&, unsigned long const&)
Unexecuted instantiation: dec_group.cc:void jxl::N_SSE4::(anonymous namespace)::NoInlineWrapper<void (jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&, unsigned long, float*), jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo, unsigned long, float* restrict>(void ( const&)(jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&, unsigned long, float*), jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&, unsigned long const&, float* restrict const&)
Unexecuted instantiation: dec_group.cc:void jxl::N_SSE4::(anonymous namespace)::NoInlineWrapper<void (*)(jxl::N_SSE4::(anonymous namespace)::TransposeSimdTag<true>, jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long), jxl::N_SSE4::(anonymous namespace)::TransposeSimdTag<true>, jxl::N_SSE4::(anonymous namespace)::DCTFrom, jxl::N_SSE4::(anonymous namespace)::DCTTo, unsigned long, unsigned long>(void (* const&)(jxl::N_SSE4::(anonymous namespace)::TransposeSimdTag<true>, jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long), jxl::N_SSE4::(anonymous namespace)::TransposeSimdTag<true> const&, jxl::N_SSE4::(anonymous namespace)::DCTFrom const&, jxl::N_SSE4::(anonymous namespace)::DCTTo const&, unsigned long const&, unsigned long const&)
dec_group.cc:void jxl::N_AVX2::(anonymous namespace)::NoInlineWrapper<void (jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&, unsigned long, float*), jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo, unsigned long, float* restrict>(void ( const&)(jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&, unsigned long, float*), jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&, unsigned long const&, float* restrict const&)
Line
Count
Source
41
4.50M
JXL_NOINLINE void NoInlineWrapper(const T& f, const Args&... args) {
42
4.50M
  return f(args...);
43
4.50M
}
dec_group.cc:void jxl::N_AVX2::(anonymous namespace)::NoInlineWrapper<void (*)(jxl::N_AVX2::(anonymous namespace)::TransposeSimdTag<true>, jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long), jxl::N_AVX2::(anonymous namespace)::TransposeSimdTag<true>, jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo, unsigned long, unsigned long>(void (* const&)(jxl::N_AVX2::(anonymous namespace)::TransposeSimdTag<true>, jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long), jxl::N_AVX2::(anonymous namespace)::TransposeSimdTag<true> const&, jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&, unsigned long const&, unsigned long const&)
Line
Count
Source
41
1.12M
JXL_NOINLINE void NoInlineWrapper(const T& f, const Args&... args) {
42
1.12M
  return f(args...);
43
1.12M
}
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
657M
    size_t ROWSp, size_t COLSp) {
53
657M
  size_t ROWS = ROWS_or_0 == 0 ? ROWSp : ROWS_or_0;
54
657M
  size_t COLS = COLS_or_0 == 0 ? COLSp : COLS_or_0;
55
4.10G
  for (size_t n = 0; n < ROWS; ++n) {
56
20.5G
    for (size_t m = 0; m < COLS; ++m) {
57
17.0G
      to.Write(from.Read(n, m), m, n);
58
17.0G
    }
59
3.44G
  }
60
657M
}
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
825k
    size_t ROWSp, size_t COLSp) {
53
825k
  size_t ROWS = ROWS_or_0 == 0 ? ROWSp : ROWS_or_0;
54
825k
  size_t COLS = COLS_or_0 == 0 ? COLSp : COLS_or_0;
55
7.43M
  for (size_t n = 0; n < ROWS; ++n) {
56
33.0M
    for (size_t m = 0; m < COLS; ++m) {
57
26.4M
      to.Write(from.Read(n, m), m, n);
58
26.4M
    }
59
6.60M
  }
60
825k
}
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
505k
    size_t ROWSp, size_t COLSp) {
53
505k
  size_t ROWS = ROWS_or_0 == 0 ? ROWSp : ROWS_or_0;
54
505k
  size_t COLS = COLS_or_0 == 0 ? COLSp : COLS_or_0;
55
2.52M
  for (size_t n = 0; n < ROWS; ++n) {
56
18.1M
    for (size_t m = 0; m < COLS; ++m) {
57
16.1M
      to.Write(from.Read(n, m), m, n);
58
16.1M
    }
59
2.02M
  }
60
505k
}
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
442k
    size_t ROWSp, size_t COLSp) {
53
442k
  size_t ROWS = ROWS_or_0 == 0 ? ROWSp : ROWS_or_0;
54
442k
  size_t COLS = COLS_or_0 == 0 ? COLSp : COLS_or_0;
55
2.21M
  for (size_t n = 0; n < ROWS; ++n) {
56
8.85M
    for (size_t m = 0; m < COLS; ++m) {
57
7.08M
      to.Write(from.Read(n, m), m, n);
58
7.08M
    }
59
1.77M
  }
60
442k
}
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
516k
    size_t ROWSp, size_t COLSp) {
53
516k
  size_t ROWS = ROWS_or_0 == 0 ? ROWSp : ROWS_or_0;
54
516k
  size_t COLS = COLS_or_0 == 0 ? COLSp : COLS_or_0;
55
1.03M
  for (size_t n = 0; n < ROWS; ++n) {
56
1.54M
    for (size_t m = 0; m < COLS; ++m) {
57
1.03M
      to.Write(from.Read(n, m), m, n);
58
1.03M
    }
59
516k
  }
60
516k
}
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
265k
    size_t ROWSp, size_t COLSp) {
53
265k
  size_t ROWS = ROWS_or_0 == 0 ? ROWSp : ROWS_or_0;
54
265k
  size_t COLS = COLS_or_0 == 0 ? COLSp : COLS_or_0;
55
796k
  for (size_t n = 0; n < ROWS; ++n) {
56
1.06M
    for (size_t m = 0; m < COLS; ++m) {
57
531k
      to.Write(from.Read(n, m), m, n);
58
531k
    }
59
531k
  }
60
265k
}
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
184k
    size_t ROWSp, size_t COLSp) {
53
184k
  size_t ROWS = ROWS_or_0 == 0 ? ROWSp : ROWS_or_0;
54
184k
  size_t COLS = COLS_or_0 == 0 ? COLSp : COLS_or_0;
55
554k
  for (size_t n = 0; n < ROWS; ++n) {
56
1.10M
    for (size_t m = 0; m < COLS; ++m) {
57
739k
      to.Write(from.Read(n, m), m, n);
58
739k
    }
59
369k
  }
60
184k
}
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
120k
    size_t ROWSp, size_t COLSp) {
53
120k
  size_t ROWS = ROWS_or_0 == 0 ? ROWSp : ROWS_or_0;
54
120k
  size_t COLS = COLS_or_0 == 0 ? COLSp : COLS_or_0;
55
360k
  for (size_t n = 0; n < ROWS; ++n) {
56
1.20M
    for (size_t m = 0; m < COLS; ++m) {
57
960k
      to.Write(from.Read(n, m), m, n);
58
960k
    }
59
240k
  }
60
120k
}
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
61.2k
    size_t ROWSp, size_t COLSp) {
53
61.2k
  size_t ROWS = ROWS_or_0 == 0 ? ROWSp : ROWS_or_0;
54
61.2k
  size_t COLS = COLS_or_0 == 0 ? COLSp : COLS_or_0;
55
306k
  for (size_t n = 0; n < ROWS; ++n) {
56
735k
    for (size_t m = 0; m < COLS; ++m) {
57
490k
      to.Write(from.Read(n, m), m, n);
58
490k
    }
59
245k
  }
60
61.2k
}
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
825k
    size_t ROWSp, size_t COLSp) {
53
825k
  size_t ROWS = ROWS_or_0 == 0 ? ROWSp : ROWS_or_0;
54
825k
  size_t COLS = COLS_or_0 == 0 ? COLSp : COLS_or_0;
55
7.43M
  for (size_t n = 0; n < ROWS; ++n) {
56
33.0M
    for (size_t m = 0; m < COLS; ++m) {
57
26.4M
      to.Write(from.Read(n, m), m, n);
58
26.4M
    }
59
6.60M
  }
60
825k
}
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
505k
    size_t ROWSp, size_t COLSp) {
53
505k
  size_t ROWS = ROWS_or_0 == 0 ? ROWSp : ROWS_or_0;
54
505k
  size_t COLS = COLS_or_0 == 0 ? COLSp : COLS_or_0;
55
2.52M
  for (size_t n = 0; n < ROWS; ++n) {
56
18.1M
    for (size_t m = 0; m < COLS; ++m) {
57
16.1M
      to.Write(from.Read(n, m), m, n);
58
16.1M
    }
59
2.02M
  }
60
505k
}
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
442k
    size_t ROWSp, size_t COLSp) {
53
442k
  size_t ROWS = ROWS_or_0 == 0 ? ROWSp : ROWS_or_0;
54
442k
  size_t COLS = COLS_or_0 == 0 ? COLSp : COLS_or_0;
55
2.21M
  for (size_t n = 0; n < ROWS; ++n) {
56
8.85M
    for (size_t m = 0; m < COLS; ++m) {
57
7.08M
      to.Write(from.Read(n, m), m, n);
58
7.08M
    }
59
1.77M
  }
60
442k
}
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
516k
    size_t ROWSp, size_t COLSp) {
53
516k
  size_t ROWS = ROWS_or_0 == 0 ? ROWSp : ROWS_or_0;
54
516k
  size_t COLS = COLS_or_0 == 0 ? COLSp : COLS_or_0;
55
1.03M
  for (size_t n = 0; n < ROWS; ++n) {
56
1.54M
    for (size_t m = 0; m < COLS; ++m) {
57
1.03M
      to.Write(from.Read(n, m), m, n);
58
1.03M
    }
59
516k
  }
60
516k
}
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
265k
    size_t ROWSp, size_t COLSp) {
53
265k
  size_t ROWS = ROWS_or_0 == 0 ? ROWSp : ROWS_or_0;
54
265k
  size_t COLS = COLS_or_0 == 0 ? COLSp : COLS_or_0;
55
796k
  for (size_t n = 0; n < ROWS; ++n) {
56
1.06M
    for (size_t m = 0; m < COLS; ++m) {
57
531k
      to.Write(from.Read(n, m), m, n);
58
531k
    }
59
531k
  }
60
265k
}
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
184k
    size_t ROWSp, size_t COLSp) {
53
184k
  size_t ROWS = ROWS_or_0 == 0 ? ROWSp : ROWS_or_0;
54
184k
  size_t COLS = COLS_or_0 == 0 ? COLSp : COLS_or_0;
55
554k
  for (size_t n = 0; n < ROWS; ++n) {
56
1.10M
    for (size_t m = 0; m < COLS; ++m) {
57
739k
      to.Write(from.Read(n, m), m, n);
58
739k
    }
59
369k
  }
60
184k
}
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
120k
    size_t ROWSp, size_t COLSp) {
53
120k
  size_t ROWS = ROWS_or_0 == 0 ? ROWSp : ROWS_or_0;
54
120k
  size_t COLS = COLS_or_0 == 0 ? COLSp : COLS_or_0;
55
360k
  for (size_t n = 0; n < ROWS; ++n) {
56
1.20M
    for (size_t m = 0; m < COLS; ++m) {
57
960k
      to.Write(from.Read(n, m), m, n);
58
960k
    }
59
240k
  }
60
120k
}
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
61.2k
    size_t ROWSp, size_t COLSp) {
53
61.2k
  size_t ROWS = ROWS_or_0 == 0 ? ROWSp : ROWS_or_0;
54
61.2k
  size_t COLS = COLS_or_0 == 0 ? COLSp : COLS_or_0;
55
306k
  for (size_t n = 0; n < ROWS; ++n) {
56
735k
    for (size_t m = 0; m < COLS; ++m) {
57
490k
      to.Write(from.Read(n, m), m, n);
58
490k
    }
59
245k
  }
60
61.2k
}
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
204M
    size_t ROWSp, size_t COLSp) {
53
204M
  size_t ROWS = ROWS_or_0 == 0 ? ROWSp : ROWS_or_0;
54
204M
  size_t COLS = COLS_or_0 == 0 ? COLSp : COLS_or_0;
55
1.84G
  for (size_t n = 0; n < ROWS; ++n) {
56
8.18G
    for (size_t m = 0; m < COLS; ++m) {
57
6.54G
      to.Write(from.Read(n, m), m, n);
58
6.54G
    }
59
1.63G
  }
60
204M
}
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
204M
    size_t ROWSp, size_t COLSp) {
53
204M
  size_t ROWS = ROWS_or_0 == 0 ? ROWSp : ROWS_or_0;
54
204M
  size_t COLS = COLS_or_0 == 0 ? COLSp : COLS_or_0;
55
1.02G
  for (size_t n = 0; n < ROWS; ++n) {
56
7.36G
    for (size_t m = 0; m < COLS; ++m) {
57
6.54G
      to.Write(from.Read(n, m), m, n);
58
6.54G
    }
59
818M
  }
60
204M
}
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
233M
    size_t ROWSp, size_t COLSp) {
53
233M
  size_t ROWS = ROWS_or_0 == 0 ? ROWSp : ROWS_or_0;
54
233M
  size_t COLS = COLS_or_0 == 0 ? COLSp : COLS_or_0;
55
1.16G
  for (size_t n = 0; n < ROWS; ++n) {
56
4.67G
    for (size_t m = 0; m < COLS; ++m) {
57
3.73G
      to.Write(from.Read(n, m), m, n);
58
3.73G
    }
59
934M
  }
60
233M
}
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.46M
    size_t ROWSp, size_t COLSp) {
53
2.46M
  size_t ROWS = ROWS_or_0 == 0 ? ROWSp : ROWS_or_0;
54
2.46M
  size_t COLS = COLS_or_0 == 0 ? COLSp : COLS_or_0;
55
12.3M
  for (size_t n = 0; n < ROWS; ++n) {
56
88.6M
    for (size_t m = 0; m < COLS; ++m) {
57
78.7M
      to.Write(from.Read(n, m), m, n);
58
78.7M
    }
59
9.84M
  }
60
2.46M
}
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.49M
    size_t ROWSp, size_t COLSp) {
53
1.49M
  size_t ROWS = ROWS_or_0 == 0 ? ROWSp : ROWS_or_0;
54
1.49M
  size_t COLS = COLS_or_0 == 0 ? COLSp : COLS_or_0;
55
13.4M
  for (size_t n = 0; n < ROWS; ++n) {
56
59.7M
    for (size_t m = 0; m < COLS; ++m) {
57
47.7M
      to.Write(from.Read(n, m), m, n);
58
47.7M
    }
59
11.9M
  }
60
1.49M
}
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.33M
    size_t ROWSp, size_t COLSp) {
53
1.33M
  size_t ROWS = ROWS_or_0 == 0 ? ROWSp : ROWS_or_0;
54
1.33M
  size_t COLS = COLS_or_0 == 0 ? COLSp : COLS_or_0;
55
6.66M
  for (size_t n = 0; n < ROWS; ++n) {
56
26.6M
    for (size_t m = 0; m < COLS; ++m) {
57
21.3M
      to.Write(from.Read(n, m), m, n);
58
21.3M
    }
59
5.33M
  }
60
1.33M
}
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.55M
    size_t ROWSp, size_t COLSp) {
53
1.55M
  size_t ROWS = ROWS_or_0 == 0 ? ROWSp : ROWS_or_0;
54
1.55M
  size_t COLS = COLS_or_0 == 0 ? COLSp : COLS_or_0;
55
4.65M
  for (size_t n = 0; n < ROWS; ++n) {
56
6.20M
    for (size_t m = 0; m < COLS; ++m) {
57
3.10M
      to.Write(from.Read(n, m), m, n);
58
3.10M
    }
59
3.10M
  }
60
1.55M
}
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
800k
    size_t ROWSp, size_t COLSp) {
53
800k
  size_t ROWS = ROWS_or_0 == 0 ? ROWSp : ROWS_or_0;
54
800k
  size_t COLS = COLS_or_0 == 0 ? COLSp : COLS_or_0;
55
1.60M
  for (size_t n = 0; n < ROWS; ++n) {
56
2.40M
    for (size_t m = 0; m < COLS; ++m) {
57
1.60M
      to.Write(from.Read(n, m), m, n);
58
1.60M
    }
59
800k
  }
60
800k
}
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
554k
    size_t ROWSp, size_t COLSp) {
53
554k
  size_t ROWS = ROWS_or_0 == 0 ? ROWSp : ROWS_or_0;
54
554k
  size_t COLS = COLS_or_0 == 0 ? COLSp : COLS_or_0;
55
1.66M
  for (size_t n = 0; n < ROWS; ++n) {
56
3.32M
    for (size_t m = 0; m < COLS; ++m) {
57
2.21M
      to.Write(from.Read(n, m), m, n);
58
2.21M
    }
59
1.10M
  }
60
554k
}
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
186
    size_t ROWSp, size_t COLSp) {
53
186
  size_t ROWS = ROWS_or_0 == 0 ? ROWSp : ROWS_or_0;
54
186
  size_t COLS = COLS_or_0 == 0 ? COLSp : COLS_or_0;
55
930
  for (size_t n = 0; n < ROWS; ++n) {
56
1.48k
    for (size_t m = 0; m < COLS; ++m) {
57
744
      to.Write(from.Read(n, m), m, n);
58
744
    }
59
744
  }
60
186
}
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
144
    size_t ROWSp, size_t COLSp) {
53
144
  size_t ROWS = ROWS_or_0 == 0 ? ROWSp : ROWS_or_0;
54
144
  size_t COLS = COLS_or_0 == 0 ? COLSp : COLS_or_0;
55
288
  for (size_t n = 0; n < ROWS; ++n) {
56
720
    for (size_t m = 0; m < COLS; ++m) {
57
576
      to.Write(from.Read(n, m), m, n);
58
576
    }
59
144
  }
60
144
}
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
357k
    size_t ROWSp, size_t COLSp) {
53
357k
  size_t ROWS = ROWS_or_0 == 0 ? ROWSp : ROWS_or_0;
54
357k
  size_t COLS = COLS_or_0 == 0 ? COLSp : COLS_or_0;
55
1.78M
  for (size_t n = 0; n < ROWS; ++n) {
56
4.28M
    for (size_t m = 0; m < COLS; ++m) {
57
2.85M
      to.Write(from.Read(n, m), m, n);
58
2.85M
    }
59
1.42M
  }
60
357k
}
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
182k
    size_t ROWSp, size_t COLSp) {
53
182k
  size_t ROWS = ROWS_or_0 == 0 ? ROWSp : ROWS_or_0;
54
182k
  size_t COLS = COLS_or_0 == 0 ? COLSp : COLS_or_0;
55
548k
  for (size_t n = 0; n < ROWS; ++n) {
56
1.82M
    for (size_t m = 0; m < COLS; ++m) {
57
1.46M
      to.Write(from.Read(n, m), m, n);
58
1.46M
    }
59
365k
  }
60
182k
}
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
160M
    size_t ROWSp, size_t COLSp) {
72
160M
  size_t ROWS = ROWS_or_0 == 0 ? ROWSp : ROWS_or_0;
73
160M
  size_t COLS = COLS_or_0 == 0 ? COLSp : COLS_or_0;
74
160M
  JXL_DASSERT(Lanes(BlockDesc<8>()) == 8);
75
160M
  static_assert(ROWS_or_0 % 8 == 0, "Invalid number of rows");
76
160M
  static_assert(COLS_or_0 % 8 == 0, "Invalid number of columns");
77
429M
  for (size_t n = 0; n < ROWS; n += 8) {
78
831M
    for (size_t m = 0; m < COLS; m += 8) {
79
562M
      const BlockDesc<8> d;
80
562M
      auto i0 = from.LoadPart(d, n + 0, m + 0);
81
562M
      auto i1 = from.LoadPart(d, n + 1, m + 0);
82
562M
      auto i2 = from.LoadPart(d, n + 2, m + 0);
83
562M
      auto i3 = from.LoadPart(d, n + 3, m + 0);
84
562M
      auto i4 = from.LoadPart(d, n + 4, m + 0);
85
562M
      auto i5 = from.LoadPart(d, n + 5, m + 0);
86
562M
      auto i6 = from.LoadPart(d, n + 6, m + 0);
87
562M
      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
562M
      const auto q0 = InterleaveLower(d, i0, i2);
91
562M
      const auto q1 = InterleaveLower(d, i1, i3);
92
562M
      const auto q2 = InterleaveUpper(d, i0, i2);
93
562M
      const auto q3 = InterleaveUpper(d, i1, i3);
94
562M
      const auto q4 = InterleaveLower(d, i4, i6);
95
562M
      const auto q5 = InterleaveLower(d, i5, i7);
96
562M
      const auto q6 = InterleaveUpper(d, i4, i6);
97
562M
      const auto q7 = InterleaveUpper(d, i5, i7);
98
99
562M
      const auto r0 = InterleaveLower(d, q0, q1);
100
562M
      const auto r1 = InterleaveUpper(d, q0, q1);
101
562M
      const auto r2 = InterleaveLower(d, q2, q3);
102
562M
      const auto r3 = InterleaveUpper(d, q2, q3);
103
562M
      const auto r4 = InterleaveLower(d, q4, q5);
104
562M
      const auto r5 = InterleaveUpper(d, q4, q5);
105
562M
      const auto r6 = InterleaveLower(d, q6, q7);
106
562M
      const auto r7 = InterleaveUpper(d, q6, q7);
107
108
562M
      i0 = ConcatLowerLower(d, r4, r0);
109
562M
      i1 = ConcatLowerLower(d, r5, r1);
110
562M
      i2 = ConcatLowerLower(d, r6, r2);
111
562M
      i3 = ConcatLowerLower(d, r7, r3);
112
562M
      i4 = ConcatUpperUpper(d, r4, r0);
113
562M
      i5 = ConcatUpperUpper(d, r5, r1);
114
562M
      i6 = ConcatUpperUpper(d, r6, r2);
115
562M
      i7 = ConcatUpperUpper(d, r7, r3);
116
562M
      to.StorePart(d, i0, m + 0, n + 0);
117
562M
      to.StorePart(d, i1, m + 1, n + 0);
118
562M
      to.StorePart(d, i2, m + 2, n + 0);
119
562M
      to.StorePart(d, i3, m + 3, n + 0);
120
562M
      to.StorePart(d, i4, m + 4, n + 0);
121
562M
      to.StorePart(d, i5, m + 5, n + 0);
122
562M
      to.StorePart(d, i6, m + 6, n + 0);
123
562M
      to.StorePart(d, i7, m + 7, n + 0);
124
562M
    }
125
268M
  }
126
160M
}
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
184k
    size_t ROWSp, size_t COLSp) {
72
184k
  size_t ROWS = ROWS_or_0 == 0 ? ROWSp : ROWS_or_0;
73
184k
  size_t COLS = COLS_or_0 == 0 ? COLSp : COLS_or_0;
74
184k
  JXL_DASSERT(Lanes(BlockDesc<8>()) == 8);
75
184k
  static_assert(ROWS_or_0 % 8 == 0, "Invalid number of rows");
76
184k
  static_assert(COLS_or_0 % 8 == 0, "Invalid number of columns");
77
554k
  for (size_t n = 0; n < ROWS; n += 8) {
78
1.10M
    for (size_t m = 0; m < COLS; m += 8) {
79
739k
      const BlockDesc<8> d;
80
739k
      auto i0 = from.LoadPart(d, n + 0, m + 0);
81
739k
      auto i1 = from.LoadPart(d, n + 1, m + 0);
82
739k
      auto i2 = from.LoadPart(d, n + 2, m + 0);
83
739k
      auto i3 = from.LoadPart(d, n + 3, m + 0);
84
739k
      auto i4 = from.LoadPart(d, n + 4, m + 0);
85
739k
      auto i5 = from.LoadPart(d, n + 5, m + 0);
86
739k
      auto i6 = from.LoadPart(d, n + 6, m + 0);
87
739k
      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
739k
      const auto q0 = InterleaveLower(d, i0, i2);
91
739k
      const auto q1 = InterleaveLower(d, i1, i3);
92
739k
      const auto q2 = InterleaveUpper(d, i0, i2);
93
739k
      const auto q3 = InterleaveUpper(d, i1, i3);
94
739k
      const auto q4 = InterleaveLower(d, i4, i6);
95
739k
      const auto q5 = InterleaveLower(d, i5, i7);
96
739k
      const auto q6 = InterleaveUpper(d, i4, i6);
97
739k
      const auto q7 = InterleaveUpper(d, i5, i7);
98
99
739k
      const auto r0 = InterleaveLower(d, q0, q1);
100
739k
      const auto r1 = InterleaveUpper(d, q0, q1);
101
739k
      const auto r2 = InterleaveLower(d, q2, q3);
102
739k
      const auto r3 = InterleaveUpper(d, q2, q3);
103
739k
      const auto r4 = InterleaveLower(d, q4, q5);
104
739k
      const auto r5 = InterleaveUpper(d, q4, q5);
105
739k
      const auto r6 = InterleaveLower(d, q6, q7);
106
739k
      const auto r7 = InterleaveUpper(d, q6, q7);
107
108
739k
      i0 = ConcatLowerLower(d, r4, r0);
109
739k
      i1 = ConcatLowerLower(d, r5, r1);
110
739k
      i2 = ConcatLowerLower(d, r6, r2);
111
739k
      i3 = ConcatLowerLower(d, r7, r3);
112
739k
      i4 = ConcatUpperUpper(d, r4, r0);
113
739k
      i5 = ConcatUpperUpper(d, r5, r1);
114
739k
      i6 = ConcatUpperUpper(d, r6, r2);
115
739k
      i7 = ConcatUpperUpper(d, r7, r3);
116
739k
      to.StorePart(d, i0, m + 0, n + 0);
117
739k
      to.StorePart(d, i1, m + 1, n + 0);
118
739k
      to.StorePart(d, i2, m + 2, n + 0);
119
739k
      to.StorePart(d, i3, m + 3, n + 0);
120
739k
      to.StorePart(d, i4, m + 4, n + 0);
121
739k
      to.StorePart(d, i5, m + 5, n + 0);
122
739k
      to.StorePart(d, i6, m + 6, n + 0);
123
739k
      to.StorePart(d, i7, m + 7, n + 0);
124
739k
    }
125
369k
  }
126
184k
}
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
516k
    size_t ROWSp, size_t COLSp) {
72
516k
  size_t ROWS = ROWS_or_0 == 0 ? ROWSp : ROWS_or_0;
73
516k
  size_t COLS = COLS_or_0 == 0 ? COLSp : COLS_or_0;
74
516k
  JXL_DASSERT(Lanes(BlockDesc<8>()) == 8);
75
516k
  static_assert(ROWS_or_0 % 8 == 0, "Invalid number of rows");
76
516k
  static_assert(COLS_or_0 % 8 == 0, "Invalid number of columns");
77
1.54M
  for (size_t n = 0; n < ROWS; n += 8) {
78
2.06M
    for (size_t m = 0; m < COLS; m += 8) {
79
1.03M
      const BlockDesc<8> d;
80
1.03M
      auto i0 = from.LoadPart(d, n + 0, m + 0);
81
1.03M
      auto i1 = from.LoadPart(d, n + 1, m + 0);
82
1.03M
      auto i2 = from.LoadPart(d, n + 2, m + 0);
83
1.03M
      auto i3 = from.LoadPart(d, n + 3, m + 0);
84
1.03M
      auto i4 = from.LoadPart(d, n + 4, m + 0);
85
1.03M
      auto i5 = from.LoadPart(d, n + 5, m + 0);
86
1.03M
      auto i6 = from.LoadPart(d, n + 6, m + 0);
87
1.03M
      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.03M
      const auto q0 = InterleaveLower(d, i0, i2);
91
1.03M
      const auto q1 = InterleaveLower(d, i1, i3);
92
1.03M
      const auto q2 = InterleaveUpper(d, i0, i2);
93
1.03M
      const auto q3 = InterleaveUpper(d, i1, i3);
94
1.03M
      const auto q4 = InterleaveLower(d, i4, i6);
95
1.03M
      const auto q5 = InterleaveLower(d, i5, i7);
96
1.03M
      const auto q6 = InterleaveUpper(d, i4, i6);
97
1.03M
      const auto q7 = InterleaveUpper(d, i5, i7);
98
99
1.03M
      const auto r0 = InterleaveLower(d, q0, q1);
100
1.03M
      const auto r1 = InterleaveUpper(d, q0, q1);
101
1.03M
      const auto r2 = InterleaveLower(d, q2, q3);
102
1.03M
      const auto r3 = InterleaveUpper(d, q2, q3);
103
1.03M
      const auto r4 = InterleaveLower(d, q4, q5);
104
1.03M
      const auto r5 = InterleaveUpper(d, q4, q5);
105
1.03M
      const auto r6 = InterleaveLower(d, q6, q7);
106
1.03M
      const auto r7 = InterleaveUpper(d, q6, q7);
107
108
1.03M
      i0 = ConcatLowerLower(d, r4, r0);
109
1.03M
      i1 = ConcatLowerLower(d, r5, r1);
110
1.03M
      i2 = ConcatLowerLower(d, r6, r2);
111
1.03M
      i3 = ConcatLowerLower(d, r7, r3);
112
1.03M
      i4 = ConcatUpperUpper(d, r4, r0);
113
1.03M
      i5 = ConcatUpperUpper(d, r5, r1);
114
1.03M
      i6 = ConcatUpperUpper(d, r6, r2);
115
1.03M
      i7 = ConcatUpperUpper(d, r7, r3);
116
1.03M
      to.StorePart(d, i0, m + 0, n + 0);
117
1.03M
      to.StorePart(d, i1, m + 1, n + 0);
118
1.03M
      to.StorePart(d, i2, m + 2, n + 0);
119
1.03M
      to.StorePart(d, i3, m + 3, n + 0);
120
1.03M
      to.StorePart(d, i4, m + 4, n + 0);
121
1.03M
      to.StorePart(d, i5, m + 5, n + 0);
122
1.03M
      to.StorePart(d, i6, m + 6, n + 0);
123
1.03M
      to.StorePart(d, i7, m + 7, n + 0);
124
1.03M
    }
125
1.03M
  }
126
516k
}
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
265k
    size_t ROWSp, size_t COLSp) {
72
265k
  size_t ROWS = ROWS_or_0 == 0 ? ROWSp : ROWS_or_0;
73
265k
  size_t COLS = COLS_or_0 == 0 ? COLSp : COLS_or_0;
74
265k
  JXL_DASSERT(Lanes(BlockDesc<8>()) == 8);
75
265k
  static_assert(ROWS_or_0 % 8 == 0, "Invalid number of rows");
76
265k
  static_assert(COLS_or_0 % 8 == 0, "Invalid number of columns");
77
531k
  for (size_t n = 0; n < ROWS; n += 8) {
78
796k
    for (size_t m = 0; m < COLS; m += 8) {
79
531k
      const BlockDesc<8> d;
80
531k
      auto i0 = from.LoadPart(d, n + 0, m + 0);
81
531k
      auto i1 = from.LoadPart(d, n + 1, m + 0);
82
531k
      auto i2 = from.LoadPart(d, n + 2, m + 0);
83
531k
      auto i3 = from.LoadPart(d, n + 3, m + 0);
84
531k
      auto i4 = from.LoadPart(d, n + 4, m + 0);
85
531k
      auto i5 = from.LoadPart(d, n + 5, m + 0);
86
531k
      auto i6 = from.LoadPart(d, n + 6, m + 0);
87
531k
      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
531k
      const auto q0 = InterleaveLower(d, i0, i2);
91
531k
      const auto q1 = InterleaveLower(d, i1, i3);
92
531k
      const auto q2 = InterleaveUpper(d, i0, i2);
93
531k
      const auto q3 = InterleaveUpper(d, i1, i3);
94
531k
      const auto q4 = InterleaveLower(d, i4, i6);
95
531k
      const auto q5 = InterleaveLower(d, i5, i7);
96
531k
      const auto q6 = InterleaveUpper(d, i4, i6);
97
531k
      const auto q7 = InterleaveUpper(d, i5, i7);
98
99
531k
      const auto r0 = InterleaveLower(d, q0, q1);
100
531k
      const auto r1 = InterleaveUpper(d, q0, q1);
101
531k
      const auto r2 = InterleaveLower(d, q2, q3);
102
531k
      const auto r3 = InterleaveUpper(d, q2, q3);
103
531k
      const auto r4 = InterleaveLower(d, q4, q5);
104
531k
      const auto r5 = InterleaveUpper(d, q4, q5);
105
531k
      const auto r6 = InterleaveLower(d, q6, q7);
106
531k
      const auto r7 = InterleaveUpper(d, q6, q7);
107
108
531k
      i0 = ConcatLowerLower(d, r4, r0);
109
531k
      i1 = ConcatLowerLower(d, r5, r1);
110
531k
      i2 = ConcatLowerLower(d, r6, r2);
111
531k
      i3 = ConcatLowerLower(d, r7, r3);
112
531k
      i4 = ConcatUpperUpper(d, r4, r0);
113
531k
      i5 = ConcatUpperUpper(d, r5, r1);
114
531k
      i6 = ConcatUpperUpper(d, r6, r2);
115
531k
      i7 = ConcatUpperUpper(d, r7, r3);
116
531k
      to.StorePart(d, i0, m + 0, n + 0);
117
531k
      to.StorePart(d, i1, m + 1, n + 0);
118
531k
      to.StorePart(d, i2, m + 2, n + 0);
119
531k
      to.StorePart(d, i3, m + 3, n + 0);
120
531k
      to.StorePart(d, i4, m + 4, n + 0);
121
531k
      to.StorePart(d, i5, m + 5, n + 0);
122
531k
      to.StorePart(d, i6, m + 6, n + 0);
123
531k
      to.StorePart(d, i7, m + 7, n + 0);
124
531k
    }
125
265k
  }
126
265k
}
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
381k
    size_t ROWSp, size_t COLSp) {
72
381k
  size_t ROWS = ROWS_or_0 == 0 ? ROWSp : ROWS_or_0;
73
381k
  size_t COLS = COLS_or_0 == 0 ? COLSp : COLS_or_0;
74
381k
  JXL_DASSERT(Lanes(BlockDesc<8>()) == 8);
75
381k
  static_assert(ROWS_or_0 % 8 == 0, "Invalid number of rows");
76
381k
  static_assert(COLS_or_0 % 8 == 0, "Invalid number of columns");
77
2.11M
  for (size_t n = 0; n < ROWS; n += 8) {
78
9.87M
    for (size_t m = 0; m < COLS; m += 8) {
79
8.13M
      const BlockDesc<8> d;
80
8.13M
      auto i0 = from.LoadPart(d, n + 0, m + 0);
81
8.13M
      auto i1 = from.LoadPart(d, n + 1, m + 0);
82
8.13M
      auto i2 = from.LoadPart(d, n + 2, m + 0);
83
8.13M
      auto i3 = from.LoadPart(d, n + 3, m + 0);
84
8.13M
      auto i4 = from.LoadPart(d, n + 4, m + 0);
85
8.13M
      auto i5 = from.LoadPart(d, n + 5, m + 0);
86
8.13M
      auto i6 = from.LoadPart(d, n + 6, m + 0);
87
8.13M
      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
8.13M
      const auto q0 = InterleaveLower(d, i0, i2);
91
8.13M
      const auto q1 = InterleaveLower(d, i1, i3);
92
8.13M
      const auto q2 = InterleaveUpper(d, i0, i2);
93
8.13M
      const auto q3 = InterleaveUpper(d, i1, i3);
94
8.13M
      const auto q4 = InterleaveLower(d, i4, i6);
95
8.13M
      const auto q5 = InterleaveLower(d, i5, i7);
96
8.13M
      const auto q6 = InterleaveUpper(d, i4, i6);
97
8.13M
      const auto q7 = InterleaveUpper(d, i5, i7);
98
99
8.13M
      const auto r0 = InterleaveLower(d, q0, q1);
100
8.13M
      const auto r1 = InterleaveUpper(d, q0, q1);
101
8.13M
      const auto r2 = InterleaveLower(d, q2, q3);
102
8.13M
      const auto r3 = InterleaveUpper(d, q2, q3);
103
8.13M
      const auto r4 = InterleaveLower(d, q4, q5);
104
8.13M
      const auto r5 = InterleaveUpper(d, q4, q5);
105
8.13M
      const auto r6 = InterleaveLower(d, q6, q7);
106
8.13M
      const auto r7 = InterleaveUpper(d, q6, q7);
107
108
8.13M
      i0 = ConcatLowerLower(d, r4, r0);
109
8.13M
      i1 = ConcatLowerLower(d, r5, r1);
110
8.13M
      i2 = ConcatLowerLower(d, r6, r2);
111
8.13M
      i3 = ConcatLowerLower(d, r7, r3);
112
8.13M
      i4 = ConcatUpperUpper(d, r4, r0);
113
8.13M
      i5 = ConcatUpperUpper(d, r5, r1);
114
8.13M
      i6 = ConcatUpperUpper(d, r6, r2);
115
8.13M
      i7 = ConcatUpperUpper(d, r7, r3);
116
8.13M
      to.StorePart(d, i0, m + 0, n + 0);
117
8.13M
      to.StorePart(d, i1, m + 1, n + 0);
118
8.13M
      to.StorePart(d, i2, m + 2, n + 0);
119
8.13M
      to.StorePart(d, i3, m + 3, n + 0);
120
8.13M
      to.StorePart(d, i4, m + 4, n + 0);
121
8.13M
      to.StorePart(d, i5, m + 5, n + 0);
122
8.13M
      to.StorePart(d, i6, m + 6, n + 0);
123
8.13M
      to.StorePart(d, i7, m + 7, n + 0);
124
8.13M
    }
125
1.73M
  }
126
381k
}
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.87M
    size_t ROWSp, size_t COLSp) {
72
1.87M
  size_t ROWS = ROWS_or_0 == 0 ? ROWSp : ROWS_or_0;
73
1.87M
  size_t COLS = COLS_or_0 == 0 ? COLSp : COLS_or_0;
74
1.87M
  JXL_DASSERT(Lanes(BlockDesc<8>()) == 8);
75
1.87M
  static_assert(ROWS_or_0 % 8 == 0, "Invalid number of rows");
76
1.87M
  static_assert(COLS_or_0 % 8 == 0, "Invalid number of columns");
77
3.74M
  for (size_t n = 0; n < ROWS; n += 8) {
78
3.74M
    for (size_t m = 0; m < COLS; m += 8) {
79
1.87M
      const BlockDesc<8> d;
80
1.87M
      auto i0 = from.LoadPart(d, n + 0, m + 0);
81
1.87M
      auto i1 = from.LoadPart(d, n + 1, m + 0);
82
1.87M
      auto i2 = from.LoadPart(d, n + 2, m + 0);
83
1.87M
      auto i3 = from.LoadPart(d, n + 3, m + 0);
84
1.87M
      auto i4 = from.LoadPart(d, n + 4, m + 0);
85
1.87M
      auto i5 = from.LoadPart(d, n + 5, m + 0);
86
1.87M
      auto i6 = from.LoadPart(d, n + 6, m + 0);
87
1.87M
      auto i7 = from.LoadPart(d, n + 7, m + 0);
88
      // Surprisingly, this straightforward implementation (24 cycles on port5)
89
      // is faster than load128+insert and LoadDup128+ConcatUpperLower+blend.
90
1.87M
      const auto q0 = InterleaveLower(d, i0, i2);
91
1.87M
      const auto q1 = InterleaveLower(d, i1, i3);
92
1.87M
      const auto q2 = InterleaveUpper(d, i0, i2);
93
1.87M
      const auto q3 = InterleaveUpper(d, i1, i3);
94
1.87M
      const auto q4 = InterleaveLower(d, i4, i6);
95
1.87M
      const auto q5 = InterleaveLower(d, i5, i7);
96
1.87M
      const auto q6 = InterleaveUpper(d, i4, i6);
97
1.87M
      const auto q7 = InterleaveUpper(d, i5, i7);
98
99
1.87M
      const auto r0 = InterleaveLower(d, q0, q1);
100
1.87M
      const auto r1 = InterleaveUpper(d, q0, q1);
101
1.87M
      const auto r2 = InterleaveLower(d, q2, q3);
102
1.87M
      const auto r3 = InterleaveUpper(d, q2, q3);
103
1.87M
      const auto r4 = InterleaveLower(d, q4, q5);
104
1.87M
      const auto r5 = InterleaveUpper(d, q4, q5);
105
1.87M
      const auto r6 = InterleaveLower(d, q6, q7);
106
1.87M
      const auto r7 = InterleaveUpper(d, q6, q7);
107
108
1.87M
      i0 = ConcatLowerLower(d, r4, r0);
109
1.87M
      i1 = ConcatLowerLower(d, r5, r1);
110
1.87M
      i2 = ConcatLowerLower(d, r6, r2);
111
1.87M
      i3 = ConcatLowerLower(d, r7, r3);
112
1.87M
      i4 = ConcatUpperUpper(d, r4, r0);
113
1.87M
      i5 = ConcatUpperUpper(d, r5, r1);
114
1.87M
      i6 = ConcatUpperUpper(d, r6, r2);
115
1.87M
      i7 = ConcatUpperUpper(d, r7, r3);
116
1.87M
      to.StorePart(d, i0, m + 0, n + 0);
117
1.87M
      to.StorePart(d, i1, m + 1, n + 0);
118
1.87M
      to.StorePart(d, i2, m + 2, n + 0);
119
1.87M
      to.StorePart(d, i3, m + 3, n + 0);
120
1.87M
      to.StorePart(d, i4, m + 4, n + 0);
121
1.87M
      to.StorePart(d, i5, m + 5, n + 0);
122
1.87M
      to.StorePart(d, i6, m + 6, n + 0);
123
1.87M
      to.StorePart(d, i7, m + 7, n + 0);
124
1.87M
    }
125
1.87M
  }
126
1.87M
}
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
184k
    size_t ROWSp, size_t COLSp) {
72
184k
  size_t ROWS = ROWS_or_0 == 0 ? ROWSp : ROWS_or_0;
73
184k
  size_t COLS = COLS_or_0 == 0 ? COLSp : COLS_or_0;
74
184k
  JXL_DASSERT(Lanes(BlockDesc<8>()) == 8);
75
184k
  static_assert(ROWS_or_0 % 8 == 0, "Invalid number of rows");
76
184k
  static_assert(COLS_or_0 % 8 == 0, "Invalid number of columns");
77
554k
  for (size_t n = 0; n < ROWS; n += 8) {
78
1.10M
    for (size_t m = 0; m < COLS; m += 8) {
79
739k
      const BlockDesc<8> d;
80
739k
      auto i0 = from.LoadPart(d, n + 0, m + 0);
81
739k
      auto i1 = from.LoadPart(d, n + 1, m + 0);
82
739k
      auto i2 = from.LoadPart(d, n + 2, m + 0);
83
739k
      auto i3 = from.LoadPart(d, n + 3, m + 0);
84
739k
      auto i4 = from.LoadPart(d, n + 4, m + 0);
85
739k
      auto i5 = from.LoadPart(d, n + 5, m + 0);
86
739k
      auto i6 = from.LoadPart(d, n + 6, m + 0);
87
739k
      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
739k
      const auto q0 = InterleaveLower(d, i0, i2);
91
739k
      const auto q1 = InterleaveLower(d, i1, i3);
92
739k
      const auto q2 = InterleaveUpper(d, i0, i2);
93
739k
      const auto q3 = InterleaveUpper(d, i1, i3);
94
739k
      const auto q4 = InterleaveLower(d, i4, i6);
95
739k
      const auto q5 = InterleaveLower(d, i5, i7);
96
739k
      const auto q6 = InterleaveUpper(d, i4, i6);
97
739k
      const auto q7 = InterleaveUpper(d, i5, i7);
98
99
739k
      const auto r0 = InterleaveLower(d, q0, q1);
100
739k
      const auto r1 = InterleaveUpper(d, q0, q1);
101
739k
      const auto r2 = InterleaveLower(d, q2, q3);
102
739k
      const auto r3 = InterleaveUpper(d, q2, q3);
103
739k
      const auto r4 = InterleaveLower(d, q4, q5);
104
739k
      const auto r5 = InterleaveUpper(d, q4, q5);
105
739k
      const auto r6 = InterleaveLower(d, q6, q7);
106
739k
      const auto r7 = InterleaveUpper(d, q6, q7);
107
108
739k
      i0 = ConcatLowerLower(d, r4, r0);
109
739k
      i1 = ConcatLowerLower(d, r5, r1);
110
739k
      i2 = ConcatLowerLower(d, r6, r2);
111
739k
      i3 = ConcatLowerLower(d, r7, r3);
112
739k
      i4 = ConcatUpperUpper(d, r4, r0);
113
739k
      i5 = ConcatUpperUpper(d, r5, r1);
114
739k
      i6 = ConcatUpperUpper(d, r6, r2);
115
739k
      i7 = ConcatUpperUpper(d, r7, r3);
116
739k
      to.StorePart(d, i0, m + 0, n + 0);
117
739k
      to.StorePart(d, i1, m + 1, n + 0);
118
739k
      to.StorePart(d, i2, m + 2, n + 0);
119
739k
      to.StorePart(d, i3, m + 3, n + 0);
120
739k
      to.StorePart(d, i4, m + 4, n + 0);
121
739k
      to.StorePart(d, i5, m + 5, n + 0);
122
739k
      to.StorePart(d, i6, m + 6, n + 0);
123
739k
      to.StorePart(d, i7, m + 7, n + 0);
124
739k
    }
125
369k
  }
126
184k
}
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
516k
    size_t ROWSp, size_t COLSp) {
72
516k
  size_t ROWS = ROWS_or_0 == 0 ? ROWSp : ROWS_or_0;
73
516k
  size_t COLS = COLS_or_0 == 0 ? COLSp : COLS_or_0;
74
516k
  JXL_DASSERT(Lanes(BlockDesc<8>()) == 8);
75
516k
  static_assert(ROWS_or_0 % 8 == 0, "Invalid number of rows");
76
516k
  static_assert(COLS_or_0 % 8 == 0, "Invalid number of columns");
77
1.54M
  for (size_t n = 0; n < ROWS; n += 8) {
78
2.06M
    for (size_t m = 0; m < COLS; m += 8) {
79
1.03M
      const BlockDesc<8> d;
80
1.03M
      auto i0 = from.LoadPart(d, n + 0, m + 0);
81
1.03M
      auto i1 = from.LoadPart(d, n + 1, m + 0);
82
1.03M
      auto i2 = from.LoadPart(d, n + 2, m + 0);
83
1.03M
      auto i3 = from.LoadPart(d, n + 3, m + 0);
84
1.03M
      auto i4 = from.LoadPart(d, n + 4, m + 0);
85
1.03M
      auto i5 = from.LoadPart(d, n + 5, m + 0);
86
1.03M
      auto i6 = from.LoadPart(d, n + 6, m + 0);
87
1.03M
      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.03M
      const auto q0 = InterleaveLower(d, i0, i2);
91
1.03M
      const auto q1 = InterleaveLower(d, i1, i3);
92
1.03M
      const auto q2 = InterleaveUpper(d, i0, i2);
93
1.03M
      const auto q3 = InterleaveUpper(d, i1, i3);
94
1.03M
      const auto q4 = InterleaveLower(d, i4, i6);
95
1.03M
      const auto q5 = InterleaveLower(d, i5, i7);
96
1.03M
      const auto q6 = InterleaveUpper(d, i4, i6);
97
1.03M
      const auto q7 = InterleaveUpper(d, i5, i7);
98
99
1.03M
      const auto r0 = InterleaveLower(d, q0, q1);
100
1.03M
      const auto r1 = InterleaveUpper(d, q0, q1);
101
1.03M
      const auto r2 = InterleaveLower(d, q2, q3);
102
1.03M
      const auto r3 = InterleaveUpper(d, q2, q3);
103
1.03M
      const auto r4 = InterleaveLower(d, q4, q5);
104
1.03M
      const auto r5 = InterleaveUpper(d, q4, q5);
105
1.03M
      const auto r6 = InterleaveLower(d, q6, q7);
106
1.03M
      const auto r7 = InterleaveUpper(d, q6, q7);
107
108
1.03M
      i0 = ConcatLowerLower(d, r4, r0);
109
1.03M
      i1 = ConcatLowerLower(d, r5, r1);
110
1.03M
      i2 = ConcatLowerLower(d, r6, r2);
111
1.03M
      i3 = ConcatLowerLower(d, r7, r3);
112
1.03M
      i4 = ConcatUpperUpper(d, r4, r0);
113
1.03M
      i5 = ConcatUpperUpper(d, r5, r1);
114
1.03M
      i6 = ConcatUpperUpper(d, r6, r2);
115
1.03M
      i7 = ConcatUpperUpper(d, r7, r3);
116
1.03M
      to.StorePart(d, i0, m + 0, n + 0);
117
1.03M
      to.StorePart(d, i1, m + 1, n + 0);
118
1.03M
      to.StorePart(d, i2, m + 2, n + 0);
119
1.03M
      to.StorePart(d, i3, m + 3, n + 0);
120
1.03M
      to.StorePart(d, i4, m + 4, n + 0);
121
1.03M
      to.StorePart(d, i5, m + 5, n + 0);
122
1.03M
      to.StorePart(d, i6, m + 6, n + 0);
123
1.03M
      to.StorePart(d, i7, m + 7, n + 0);
124
1.03M
    }
125
1.03M
  }
126
516k
}
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
265k
    size_t ROWSp, size_t COLSp) {
72
265k
  size_t ROWS = ROWS_or_0 == 0 ? ROWSp : ROWS_or_0;
73
265k
  size_t COLS = COLS_or_0 == 0 ? COLSp : COLS_or_0;
74
265k
  JXL_DASSERT(Lanes(BlockDesc<8>()) == 8);
75
265k
  static_assert(ROWS_or_0 % 8 == 0, "Invalid number of rows");
76
265k
  static_assert(COLS_or_0 % 8 == 0, "Invalid number of columns");
77
531k
  for (size_t n = 0; n < ROWS; n += 8) {
78
796k
    for (size_t m = 0; m < COLS; m += 8) {
79
531k
      const BlockDesc<8> d;
80
531k
      auto i0 = from.LoadPart(d, n + 0, m + 0);
81
531k
      auto i1 = from.LoadPart(d, n + 1, m + 0);
82
531k
      auto i2 = from.LoadPart(d, n + 2, m + 0);
83
531k
      auto i3 = from.LoadPart(d, n + 3, m + 0);
84
531k
      auto i4 = from.LoadPart(d, n + 4, m + 0);
85
531k
      auto i5 = from.LoadPart(d, n + 5, m + 0);
86
531k
      auto i6 = from.LoadPart(d, n + 6, m + 0);
87
531k
      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
531k
      const auto q0 = InterleaveLower(d, i0, i2);
91
531k
      const auto q1 = InterleaveLower(d, i1, i3);
92
531k
      const auto q2 = InterleaveUpper(d, i0, i2);
93
531k
      const auto q3 = InterleaveUpper(d, i1, i3);
94
531k
      const auto q4 = InterleaveLower(d, i4, i6);
95
531k
      const auto q5 = InterleaveLower(d, i5, i7);
96
531k
      const auto q6 = InterleaveUpper(d, i4, i6);
97
531k
      const auto q7 = InterleaveUpper(d, i5, i7);
98
99
531k
      const auto r0 = InterleaveLower(d, q0, q1);
100
531k
      const auto r1 = InterleaveUpper(d, q0, q1);
101
531k
      const auto r2 = InterleaveLower(d, q2, q3);
102
531k
      const auto r3 = InterleaveUpper(d, q2, q3);
103
531k
      const auto r4 = InterleaveLower(d, q4, q5);
104
531k
      const auto r5 = InterleaveUpper(d, q4, q5);
105
531k
      const auto r6 = InterleaveLower(d, q6, q7);
106
531k
      const auto r7 = InterleaveUpper(d, q6, q7);
107
108
531k
      i0 = ConcatLowerLower(d, r4, r0);
109
531k
      i1 = ConcatLowerLower(d, r5, r1);
110
531k
      i2 = ConcatLowerLower(d, r6, r2);
111
531k
      i3 = ConcatLowerLower(d, r7, r3);
112
531k
      i4 = ConcatUpperUpper(d, r4, r0);
113
531k
      i5 = ConcatUpperUpper(d, r5, r1);
114
531k
      i6 = ConcatUpperUpper(d, r6, r2);
115
531k
      i7 = ConcatUpperUpper(d, r7, r3);
116
531k
      to.StorePart(d, i0, m + 0, n + 0);
117
531k
      to.StorePart(d, i1, m + 1, n + 0);
118
531k
      to.StorePart(d, i2, m + 2, n + 0);
119
531k
      to.StorePart(d, i3, m + 3, n + 0);
120
531k
      to.StorePart(d, i4, m + 4, n + 0);
121
531k
      to.StorePart(d, i5, m + 5, n + 0);
122
531k
      to.StorePart(d, i6, m + 6, n + 0);
123
531k
      to.StorePart(d, i7, m + 7, n + 0);
124
531k
    }
125
265k
  }
126
265k
}
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
381k
    size_t ROWSp, size_t COLSp) {
72
381k
  size_t ROWS = ROWS_or_0 == 0 ? ROWSp : ROWS_or_0;
73
381k
  size_t COLS = COLS_or_0 == 0 ? COLSp : COLS_or_0;
74
381k
  JXL_DASSERT(Lanes(BlockDesc<8>()) == 8);
75
381k
  static_assert(ROWS_or_0 % 8 == 0, "Invalid number of rows");
76
381k
  static_assert(COLS_or_0 % 8 == 0, "Invalid number of columns");
77
2.11M
  for (size_t n = 0; n < ROWS; n += 8) {
78
9.87M
    for (size_t m = 0; m < COLS; m += 8) {
79
8.13M
      const BlockDesc<8> d;
80
8.13M
      auto i0 = from.LoadPart(d, n + 0, m + 0);
81
8.13M
      auto i1 = from.LoadPart(d, n + 1, m + 0);
82
8.13M
      auto i2 = from.LoadPart(d, n + 2, m + 0);
83
8.13M
      auto i3 = from.LoadPart(d, n + 3, m + 0);
84
8.13M
      auto i4 = from.LoadPart(d, n + 4, m + 0);
85
8.13M
      auto i5 = from.LoadPart(d, n + 5, m + 0);
86
8.13M
      auto i6 = from.LoadPart(d, n + 6, m + 0);
87
8.13M
      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
8.13M
      const auto q0 = InterleaveLower(d, i0, i2);
91
8.13M
      const auto q1 = InterleaveLower(d, i1, i3);
92
8.13M
      const auto q2 = InterleaveUpper(d, i0, i2);
93
8.13M
      const auto q3 = InterleaveUpper(d, i1, i3);
94
8.13M
      const auto q4 = InterleaveLower(d, i4, i6);
95
8.13M
      const auto q5 = InterleaveLower(d, i5, i7);
96
8.13M
      const auto q6 = InterleaveUpper(d, i4, i6);
97
8.13M
      const auto q7 = InterleaveUpper(d, i5, i7);
98
99
8.13M
      const auto r0 = InterleaveLower(d, q0, q1);
100
8.13M
      const auto r1 = InterleaveUpper(d, q0, q1);
101
8.13M
      const auto r2 = InterleaveLower(d, q2, q3);
102
8.13M
      const auto r3 = InterleaveUpper(d, q2, q3);
103
8.13M
      const auto r4 = InterleaveLower(d, q4, q5);
104
8.13M
      const auto r5 = InterleaveUpper(d, q4, q5);
105
8.13M
      const auto r6 = InterleaveLower(d, q6, q7);
106
8.13M
      const auto r7 = InterleaveUpper(d, q6, q7);
107
108
8.13M
      i0 = ConcatLowerLower(d, r4, r0);
109
8.13M
      i1 = ConcatLowerLower(d, r5, r1);
110
8.13M
      i2 = ConcatLowerLower(d, r6, r2);
111
8.13M
      i3 = ConcatLowerLower(d, r7, r3);
112
8.13M
      i4 = ConcatUpperUpper(d, r4, r0);
113
8.13M
      i5 = ConcatUpperUpper(d, r5, r1);
114
8.13M
      i6 = ConcatUpperUpper(d, r6, r2);
115
8.13M
      i7 = ConcatUpperUpper(d, r7, r3);
116
8.13M
      to.StorePart(d, i0, m + 0, n + 0);
117
8.13M
      to.StorePart(d, i1, m + 1, n + 0);
118
8.13M
      to.StorePart(d, i2, m + 2, n + 0);
119
8.13M
      to.StorePart(d, i3, m + 3, n + 0);
120
8.13M
      to.StorePart(d, i4, m + 4, n + 0);
121
8.13M
      to.StorePart(d, i5, m + 5, n + 0);
122
8.13M
      to.StorePart(d, i6, m + 6, n + 0);
123
8.13M
      to.StorePart(d, i7, m + 7, n + 0);
124
8.13M
    }
125
1.73M
  }
126
381k
}
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
16.4M
    size_t ROWSp, size_t COLSp) {
72
16.4M
  size_t ROWS = ROWS_or_0 == 0 ? ROWSp : ROWS_or_0;
73
16.4M
  size_t COLS = COLS_or_0 == 0 ? COLSp : COLS_or_0;
74
16.4M
  JXL_DASSERT(Lanes(BlockDesc<8>()) == 8);
75
16.4M
  static_assert(ROWS_or_0 % 8 == 0, "Invalid number of rows");
76
16.4M
  static_assert(COLS_or_0 % 8 == 0, "Invalid number of columns");
77
32.9M
  for (size_t n = 0; n < ROWS; n += 8) {
78
32.9M
    for (size_t m = 0; m < COLS; m += 8) {
79
16.4M
      const BlockDesc<8> d;
80
16.4M
      auto i0 = from.LoadPart(d, n + 0, m + 0);
81
16.4M
      auto i1 = from.LoadPart(d, n + 1, m + 0);
82
16.4M
      auto i2 = from.LoadPart(d, n + 2, m + 0);
83
16.4M
      auto i3 = from.LoadPart(d, n + 3, m + 0);
84
16.4M
      auto i4 = from.LoadPart(d, n + 4, m + 0);
85
16.4M
      auto i5 = from.LoadPart(d, n + 5, m + 0);
86
16.4M
      auto i6 = from.LoadPart(d, n + 6, m + 0);
87
16.4M
      auto i7 = from.LoadPart(d, n + 7, m + 0);
88
      // Surprisingly, this straightforward implementation (24 cycles on port5)
89
      // is faster than load128+insert and LoadDup128+ConcatUpperLower+blend.
90
16.4M
      const auto q0 = InterleaveLower(d, i0, i2);
91
16.4M
      const auto q1 = InterleaveLower(d, i1, i3);
92
16.4M
      const auto q2 = InterleaveUpper(d, i0, i2);
93
16.4M
      const auto q3 = InterleaveUpper(d, i1, i3);
94
16.4M
      const auto q4 = InterleaveLower(d, i4, i6);
95
16.4M
      const auto q5 = InterleaveLower(d, i5, i7);
96
16.4M
      const auto q6 = InterleaveUpper(d, i4, i6);
97
16.4M
      const auto q7 = InterleaveUpper(d, i5, i7);
98
99
16.4M
      const auto r0 = InterleaveLower(d, q0, q1);
100
16.4M
      const auto r1 = InterleaveUpper(d, q0, q1);
101
16.4M
      const auto r2 = InterleaveLower(d, q2, q3);
102
16.4M
      const auto r3 = InterleaveUpper(d, q2, q3);
103
16.4M
      const auto r4 = InterleaveLower(d, q4, q5);
104
16.4M
      const auto r5 = InterleaveUpper(d, q4, q5);
105
16.4M
      const auto r6 = InterleaveLower(d, q6, q7);
106
16.4M
      const auto r7 = InterleaveUpper(d, q6, q7);
107
108
16.4M
      i0 = ConcatLowerLower(d, r4, r0);
109
16.4M
      i1 = ConcatLowerLower(d, r5, r1);
110
16.4M
      i2 = ConcatLowerLower(d, r6, r2);
111
16.4M
      i3 = ConcatLowerLower(d, r7, r3);
112
16.4M
      i4 = ConcatUpperUpper(d, r4, r0);
113
16.4M
      i5 = ConcatUpperUpper(d, r5, r1);
114
16.4M
      i6 = ConcatUpperUpper(d, r6, r2);
115
16.4M
      i7 = ConcatUpperUpper(d, r7, r3);
116
16.4M
      to.StorePart(d, i0, m + 0, n + 0);
117
16.4M
      to.StorePart(d, i1, m + 1, n + 0);
118
16.4M
      to.StorePart(d, i2, m + 2, n + 0);
119
16.4M
      to.StorePart(d, i3, m + 3, n + 0);
120
16.4M
      to.StorePart(d, i4, m + 4, n + 0);
121
16.4M
      to.StorePart(d, i5, m + 5, n + 0);
122
16.4M
      to.StorePart(d, i6, m + 6, n + 0);
123
16.4M
      to.StorePart(d, i7, m + 7, n + 0);
124
16.4M
    }
125
16.4M
  }
126
16.4M
}
enc_ac_strategy.cc:void jxl::N_AVX2::(anonymous namespace)::GenericTransposeBlock<16ul, 16ul, jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::TransposeSimdTag<true>, jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Line
Count
Source
71
11.6M
    size_t ROWSp, size_t COLSp) {
72
11.6M
  size_t ROWS = ROWS_or_0 == 0 ? ROWSp : ROWS_or_0;
73
11.6M
  size_t COLS = COLS_or_0 == 0 ? COLSp : COLS_or_0;
74
11.6M
  JXL_DASSERT(Lanes(BlockDesc<8>()) == 8);
75
11.6M
  static_assert(ROWS_or_0 % 8 == 0, "Invalid number of rows");
76
11.6M
  static_assert(COLS_or_0 % 8 == 0, "Invalid number of columns");
77
35.0M
  for (size_t n = 0; n < ROWS; n += 8) {
78
70.0M
    for (size_t m = 0; m < COLS; m += 8) {
79
46.7M
      const BlockDesc<8> d;
80
46.7M
      auto i0 = from.LoadPart(d, n + 0, m + 0);
81
46.7M
      auto i1 = from.LoadPart(d, n + 1, m + 0);
82
46.7M
      auto i2 = from.LoadPart(d, n + 2, m + 0);
83
46.7M
      auto i3 = from.LoadPart(d, n + 3, m + 0);
84
46.7M
      auto i4 = from.LoadPart(d, n + 4, m + 0);
85
46.7M
      auto i5 = from.LoadPart(d, n + 5, m + 0);
86
46.7M
      auto i6 = from.LoadPart(d, n + 6, m + 0);
87
46.7M
      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
46.7M
      const auto q0 = InterleaveLower(d, i0, i2);
91
46.7M
      const auto q1 = InterleaveLower(d, i1, i3);
92
46.7M
      const auto q2 = InterleaveUpper(d, i0, i2);
93
46.7M
      const auto q3 = InterleaveUpper(d, i1, i3);
94
46.7M
      const auto q4 = InterleaveLower(d, i4, i6);
95
46.7M
      const auto q5 = InterleaveLower(d, i5, i7);
96
46.7M
      const auto q6 = InterleaveUpper(d, i4, i6);
97
46.7M
      const auto q7 = InterleaveUpper(d, i5, i7);
98
99
46.7M
      const auto r0 = InterleaveLower(d, q0, q1);
100
46.7M
      const auto r1 = InterleaveUpper(d, q0, q1);
101
46.7M
      const auto r2 = InterleaveLower(d, q2, q3);
102
46.7M
      const auto r3 = InterleaveUpper(d, q2, q3);
103
46.7M
      const auto r4 = InterleaveLower(d, q4, q5);
104
46.7M
      const auto r5 = InterleaveUpper(d, q4, q5);
105
46.7M
      const auto r6 = InterleaveLower(d, q6, q7);
106
46.7M
      const auto r7 = InterleaveUpper(d, q6, q7);
107
108
46.7M
      i0 = ConcatLowerLower(d, r4, r0);
109
46.7M
      i1 = ConcatLowerLower(d, r5, r1);
110
46.7M
      i2 = ConcatLowerLower(d, r6, r2);
111
46.7M
      i3 = ConcatLowerLower(d, r7, r3);
112
46.7M
      i4 = ConcatUpperUpper(d, r4, r0);
113
46.7M
      i5 = ConcatUpperUpper(d, r5, r1);
114
46.7M
      i6 = ConcatUpperUpper(d, r6, r2);
115
46.7M
      i7 = ConcatUpperUpper(d, r7, r3);
116
46.7M
      to.StorePart(d, i0, m + 0, n + 0);
117
46.7M
      to.StorePart(d, i1, m + 1, n + 0);
118
46.7M
      to.StorePart(d, i2, m + 2, n + 0);
119
46.7M
      to.StorePart(d, i3, m + 3, n + 0);
120
46.7M
      to.StorePart(d, i4, m + 4, n + 0);
121
46.7M
      to.StorePart(d, i5, m + 5, n + 0);
122
46.7M
      to.StorePart(d, i6, m + 6, n + 0);
123
46.7M
      to.StorePart(d, i7, m + 7, n + 0);
124
46.7M
    }
125
23.3M
  }
126
11.6M
}
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
34.5M
    size_t ROWSp, size_t COLSp) {
72
34.5M
  size_t ROWS = ROWS_or_0 == 0 ? ROWSp : ROWS_or_0;
73
34.5M
  size_t COLS = COLS_or_0 == 0 ? COLSp : COLS_or_0;
74
34.5M
  JXL_DASSERT(Lanes(BlockDesc<8>()) == 8);
75
34.5M
  static_assert(ROWS_or_0 % 8 == 0, "Invalid number of rows");
76
34.5M
  static_assert(COLS_or_0 % 8 == 0, "Invalid number of columns");
77
103M
  for (size_t n = 0; n < ROWS; n += 8) {
78
138M
    for (size_t m = 0; m < COLS; m += 8) {
79
69.1M
      const BlockDesc<8> d;
80
69.1M
      auto i0 = from.LoadPart(d, n + 0, m + 0);
81
69.1M
      auto i1 = from.LoadPart(d, n + 1, m + 0);
82
69.1M
      auto i2 = from.LoadPart(d, n + 2, m + 0);
83
69.1M
      auto i3 = from.LoadPart(d, n + 3, m + 0);
84
69.1M
      auto i4 = from.LoadPart(d, n + 4, m + 0);
85
69.1M
      auto i5 = from.LoadPart(d, n + 5, m + 0);
86
69.1M
      auto i6 = from.LoadPart(d, n + 6, m + 0);
87
69.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
69.1M
      const auto q0 = InterleaveLower(d, i0, i2);
91
69.1M
      const auto q1 = InterleaveLower(d, i1, i3);
92
69.1M
      const auto q2 = InterleaveUpper(d, i0, i2);
93
69.1M
      const auto q3 = InterleaveUpper(d, i1, i3);
94
69.1M
      const auto q4 = InterleaveLower(d, i4, i6);
95
69.1M
      const auto q5 = InterleaveLower(d, i5, i7);
96
69.1M
      const auto q6 = InterleaveUpper(d, i4, i6);
97
69.1M
      const auto q7 = InterleaveUpper(d, i5, i7);
98
99
69.1M
      const auto r0 = InterleaveLower(d, q0, q1);
100
69.1M
      const auto r1 = InterleaveUpper(d, q0, q1);
101
69.1M
      const auto r2 = InterleaveLower(d, q2, q3);
102
69.1M
      const auto r3 = InterleaveUpper(d, q2, q3);
103
69.1M
      const auto r4 = InterleaveLower(d, q4, q5);
104
69.1M
      const auto r5 = InterleaveUpper(d, q4, q5);
105
69.1M
      const auto r6 = InterleaveLower(d, q6, q7);
106
69.1M
      const auto r7 = InterleaveUpper(d, q6, q7);
107
108
69.1M
      i0 = ConcatLowerLower(d, r4, r0);
109
69.1M
      i1 = ConcatLowerLower(d, r5, r1);
110
69.1M
      i2 = ConcatLowerLower(d, r6, r2);
111
69.1M
      i3 = ConcatLowerLower(d, r7, r3);
112
69.1M
      i4 = ConcatUpperUpper(d, r4, r0);
113
69.1M
      i5 = ConcatUpperUpper(d, r5, r1);
114
69.1M
      i6 = ConcatUpperUpper(d, r6, r2);
115
69.1M
      i7 = ConcatUpperUpper(d, r7, r3);
116
69.1M
      to.StorePart(d, i0, m + 0, n + 0);
117
69.1M
      to.StorePart(d, i1, m + 1, n + 0);
118
69.1M
      to.StorePart(d, i2, m + 2, n + 0);
119
69.1M
      to.StorePart(d, i3, m + 3, n + 0);
120
69.1M
      to.StorePart(d, i4, m + 4, n + 0);
121
69.1M
      to.StorePart(d, i5, m + 5, n + 0);
122
69.1M
      to.StorePart(d, i6, m + 6, n + 0);
123
69.1M
      to.StorePart(d, i7, m + 7, n + 0);
124
69.1M
    }
125
69.1M
  }
126
34.5M
}
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
34.5M
    size_t ROWSp, size_t COLSp) {
72
34.5M
  size_t ROWS = ROWS_or_0 == 0 ? ROWSp : ROWS_or_0;
73
34.5M
  size_t COLS = COLS_or_0 == 0 ? COLSp : COLS_or_0;
74
34.5M
  JXL_DASSERT(Lanes(BlockDesc<8>()) == 8);
75
34.5M
  static_assert(ROWS_or_0 % 8 == 0, "Invalid number of rows");
76
34.5M
  static_assert(COLS_or_0 % 8 == 0, "Invalid number of columns");
77
69.1M
  for (size_t n = 0; n < ROWS; n += 8) {
78
103M
    for (size_t m = 0; m < COLS; m += 8) {
79
69.1M
      const BlockDesc<8> d;
80
69.1M
      auto i0 = from.LoadPart(d, n + 0, m + 0);
81
69.1M
      auto i1 = from.LoadPart(d, n + 1, m + 0);
82
69.1M
      auto i2 = from.LoadPart(d, n + 2, m + 0);
83
69.1M
      auto i3 = from.LoadPart(d, n + 3, m + 0);
84
69.1M
      auto i4 = from.LoadPart(d, n + 4, m + 0);
85
69.1M
      auto i5 = from.LoadPart(d, n + 5, m + 0);
86
69.1M
      auto i6 = from.LoadPart(d, n + 6, m + 0);
87
69.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
69.1M
      const auto q0 = InterleaveLower(d, i0, i2);
91
69.1M
      const auto q1 = InterleaveLower(d, i1, i3);
92
69.1M
      const auto q2 = InterleaveUpper(d, i0, i2);
93
69.1M
      const auto q3 = InterleaveUpper(d, i1, i3);
94
69.1M
      const auto q4 = InterleaveLower(d, i4, i6);
95
69.1M
      const auto q5 = InterleaveLower(d, i5, i7);
96
69.1M
      const auto q6 = InterleaveUpper(d, i4, i6);
97
69.1M
      const auto q7 = InterleaveUpper(d, i5, i7);
98
99
69.1M
      const auto r0 = InterleaveLower(d, q0, q1);
100
69.1M
      const auto r1 = InterleaveUpper(d, q0, q1);
101
69.1M
      const auto r2 = InterleaveLower(d, q2, q3);
102
69.1M
      const auto r3 = InterleaveUpper(d, q2, q3);
103
69.1M
      const auto r4 = InterleaveLower(d, q4, q5);
104
69.1M
      const auto r5 = InterleaveUpper(d, q4, q5);
105
69.1M
      const auto r6 = InterleaveLower(d, q6, q7);
106
69.1M
      const auto r7 = InterleaveUpper(d, q6, q7);
107
108
69.1M
      i0 = ConcatLowerLower(d, r4, r0);
109
69.1M
      i1 = ConcatLowerLower(d, r5, r1);
110
69.1M
      i2 = ConcatLowerLower(d, r6, r2);
111
69.1M
      i3 = ConcatLowerLower(d, r7, r3);
112
69.1M
      i4 = ConcatUpperUpper(d, r4, r0);
113
69.1M
      i5 = ConcatUpperUpper(d, r5, r1);
114
69.1M
      i6 = ConcatUpperUpper(d, r6, r2);
115
69.1M
      i7 = ConcatUpperUpper(d, r7, r3);
116
69.1M
      to.StorePart(d, i0, m + 0, n + 0);
117
69.1M
      to.StorePart(d, i1, m + 1, n + 0);
118
69.1M
      to.StorePart(d, i2, m + 2, n + 0);
119
69.1M
      to.StorePart(d, i3, m + 3, n + 0);
120
69.1M
      to.StorePart(d, i4, m + 4, n + 0);
121
69.1M
      to.StorePart(d, i5, m + 5, n + 0);
122
69.1M
      to.StorePart(d, i6, m + 6, n + 0);
123
69.1M
      to.StorePart(d, i7, m + 7, n + 0);
124
69.1M
    }
125
34.5M
  }
126
34.5M
}
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
19.5M
    size_t ROWSp, size_t COLSp) {
72
19.5M
  size_t ROWS = ROWS_or_0 == 0 ? ROWSp : ROWS_or_0;
73
19.5M
  size_t COLS = COLS_or_0 == 0 ? COLSp : COLS_or_0;
74
19.5M
  JXL_DASSERT(Lanes(BlockDesc<8>()) == 8);
75
19.5M
  static_assert(ROWS_or_0 % 8 == 0, "Invalid number of rows");
76
19.5M
  static_assert(COLS_or_0 % 8 == 0, "Invalid number of columns");
77
92.0M
  for (size_t n = 0; n < ROWS; n += 8) {
78
344M
    for (size_t m = 0; m < COLS; m += 8) {
79
272M
      const BlockDesc<8> d;
80
272M
      auto i0 = from.LoadPart(d, n + 0, m + 0);
81
272M
      auto i1 = from.LoadPart(d, n + 1, m + 0);
82
272M
      auto i2 = from.LoadPart(d, n + 2, m + 0);
83
272M
      auto i3 = from.LoadPart(d, n + 3, m + 0);
84
272M
      auto i4 = from.LoadPart(d, n + 4, m + 0);
85
272M
      auto i5 = from.LoadPart(d, n + 5, m + 0);
86
272M
      auto i6 = from.LoadPart(d, n + 6, m + 0);
87
272M
      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
272M
      const auto q0 = InterleaveLower(d, i0, i2);
91
272M
      const auto q1 = InterleaveLower(d, i1, i3);
92
272M
      const auto q2 = InterleaveUpper(d, i0, i2);
93
272M
      const auto q3 = InterleaveUpper(d, i1, i3);
94
272M
      const auto q4 = InterleaveLower(d, i4, i6);
95
272M
      const auto q5 = InterleaveLower(d, i5, i7);
96
272M
      const auto q6 = InterleaveUpper(d, i4, i6);
97
272M
      const auto q7 = InterleaveUpper(d, i5, i7);
98
99
272M
      const auto r0 = InterleaveLower(d, q0, q1);
100
272M
      const auto r1 = InterleaveUpper(d, q0, q1);
101
272M
      const auto r2 = InterleaveLower(d, q2, q3);
102
272M
      const auto r3 = InterleaveUpper(d, q2, q3);
103
272M
      const auto r4 = InterleaveLower(d, q4, q5);
104
272M
      const auto r5 = InterleaveUpper(d, q4, q5);
105
272M
      const auto r6 = InterleaveLower(d, q6, q7);
106
272M
      const auto r7 = InterleaveUpper(d, q6, q7);
107
108
272M
      i0 = ConcatLowerLower(d, r4, r0);
109
272M
      i1 = ConcatLowerLower(d, r5, r1);
110
272M
      i2 = ConcatLowerLower(d, r6, r2);
111
272M
      i3 = ConcatLowerLower(d, r7, r3);
112
272M
      i4 = ConcatUpperUpper(d, r4, r0);
113
272M
      i5 = ConcatUpperUpper(d, r5, r1);
114
272M
      i6 = ConcatUpperUpper(d, r6, r2);
115
272M
      i7 = ConcatUpperUpper(d, r7, r3);
116
272M
      to.StorePart(d, i0, m + 0, n + 0);
117
272M
      to.StorePart(d, i1, m + 1, n + 0);
118
272M
      to.StorePart(d, i2, m + 2, n + 0);
119
272M
      to.StorePart(d, i3, m + 3, n + 0);
120
272M
      to.StorePart(d, i4, m + 4, n + 0);
121
272M
      to.StorePart(d, i5, m + 5, n + 0);
122
272M
      to.StorePart(d, i6, m + 6, n + 0);
123
272M
      to.StorePart(d, i7, m + 7, n + 0);
124
272M
    }
125
72.4M
  }
126
19.5M
}
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
29.2M
    size_t ROWSp, size_t COLSp) {
72
29.2M
  size_t ROWS = ROWS_or_0 == 0 ? ROWSp : ROWS_or_0;
73
29.2M
  size_t COLS = COLS_or_0 == 0 ? COLSp : COLS_or_0;
74
29.2M
  JXL_DASSERT(Lanes(BlockDesc<8>()) == 8);
75
29.2M
  static_assert(ROWS_or_0 % 8 == 0, "Invalid number of rows");
76
29.2M
  static_assert(COLS_or_0 % 8 == 0, "Invalid number of columns");
77
58.4M
  for (size_t n = 0; n < ROWS; n += 8) {
78
58.4M
    for (size_t m = 0; m < COLS; m += 8) {
79
29.2M
      const BlockDesc<8> d;
80
29.2M
      auto i0 = from.LoadPart(d, n + 0, m + 0);
81
29.2M
      auto i1 = from.LoadPart(d, n + 1, m + 0);
82
29.2M
      auto i2 = from.LoadPart(d, n + 2, m + 0);
83
29.2M
      auto i3 = from.LoadPart(d, n + 3, m + 0);
84
29.2M
      auto i4 = from.LoadPart(d, n + 4, m + 0);
85
29.2M
      auto i5 = from.LoadPart(d, n + 5, m + 0);
86
29.2M
      auto i6 = from.LoadPart(d, n + 6, m + 0);
87
29.2M
      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
29.2M
      const auto q0 = InterleaveLower(d, i0, i2);
91
29.2M
      const auto q1 = InterleaveLower(d, i1, i3);
92
29.2M
      const auto q2 = InterleaveUpper(d, i0, i2);
93
29.2M
      const auto q3 = InterleaveUpper(d, i1, i3);
94
29.2M
      const auto q4 = InterleaveLower(d, i4, i6);
95
29.2M
      const auto q5 = InterleaveLower(d, i5, i7);
96
29.2M
      const auto q6 = InterleaveUpper(d, i4, i6);
97
29.2M
      const auto q7 = InterleaveUpper(d, i5, i7);
98
99
29.2M
      const auto r0 = InterleaveLower(d, q0, q1);
100
29.2M
      const auto r1 = InterleaveUpper(d, q0, q1);
101
29.2M
      const auto r2 = InterleaveLower(d, q2, q3);
102
29.2M
      const auto r3 = InterleaveUpper(d, q2, q3);
103
29.2M
      const auto r4 = InterleaveLower(d, q4, q5);
104
29.2M
      const auto r5 = InterleaveUpper(d, q4, q5);
105
29.2M
      const auto r6 = InterleaveLower(d, q6, q7);
106
29.2M
      const auto r7 = InterleaveUpper(d, q6, q7);
107
108
29.2M
      i0 = ConcatLowerLower(d, r4, r0);
109
29.2M
      i1 = ConcatLowerLower(d, r5, r1);
110
29.2M
      i2 = ConcatLowerLower(d, r6, r2);
111
29.2M
      i3 = ConcatLowerLower(d, r7, r3);
112
29.2M
      i4 = ConcatUpperUpper(d, r4, r0);
113
29.2M
      i5 = ConcatUpperUpper(d, r5, r1);
114
29.2M
      i6 = ConcatUpperUpper(d, r6, r2);
115
29.2M
      i7 = ConcatUpperUpper(d, r7, r3);
116
29.2M
      to.StorePart(d, i0, m + 0, n + 0);
117
29.2M
      to.StorePart(d, i1, m + 1, n + 0);
118
29.2M
      to.StorePart(d, i2, m + 2, n + 0);
119
29.2M
      to.StorePart(d, i3, m + 3, n + 0);
120
29.2M
      to.StorePart(d, i4, m + 4, n + 0);
121
29.2M
      to.StorePart(d, i5, m + 5, n + 0);
122
29.2M
      to.StorePart(d, i6, m + 6, n + 0);
123
29.2M
      to.StorePart(d, i7, m + 7, n + 0);
124
29.2M
    }
125
29.2M
  }
126
29.2M
}
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
554k
    size_t ROWSp, size_t COLSp) {
72
554k
  size_t ROWS = ROWS_or_0 == 0 ? ROWSp : ROWS_or_0;
73
554k
  size_t COLS = COLS_or_0 == 0 ? COLSp : COLS_or_0;
74
554k
  JXL_DASSERT(Lanes(BlockDesc<8>()) == 8);
75
554k
  static_assert(ROWS_or_0 % 8 == 0, "Invalid number of rows");
76
554k
  static_assert(COLS_or_0 % 8 == 0, "Invalid number of columns");
77
1.66M
  for (size_t n = 0; n < ROWS; n += 8) {
78
3.32M
    for (size_t m = 0; m < COLS; m += 8) {
79
2.21M
      const BlockDesc<8> d;
80
2.21M
      auto i0 = from.LoadPart(d, n + 0, m + 0);
81
2.21M
      auto i1 = from.LoadPart(d, n + 1, m + 0);
82
2.21M
      auto i2 = from.LoadPart(d, n + 2, m + 0);
83
2.21M
      auto i3 = from.LoadPart(d, n + 3, m + 0);
84
2.21M
      auto i4 = from.LoadPart(d, n + 4, m + 0);
85
2.21M
      auto i5 = from.LoadPart(d, n + 5, m + 0);
86
2.21M
      auto i6 = from.LoadPart(d, n + 6, m + 0);
87
2.21M
      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.21M
      const auto q0 = InterleaveLower(d, i0, i2);
91
2.21M
      const auto q1 = InterleaveLower(d, i1, i3);
92
2.21M
      const auto q2 = InterleaveUpper(d, i0, i2);
93
2.21M
      const auto q3 = InterleaveUpper(d, i1, i3);
94
2.21M
      const auto q4 = InterleaveLower(d, i4, i6);
95
2.21M
      const auto q5 = InterleaveLower(d, i5, i7);
96
2.21M
      const auto q6 = InterleaveUpper(d, i4, i6);
97
2.21M
      const auto q7 = InterleaveUpper(d, i5, i7);
98
99
2.21M
      const auto r0 = InterleaveLower(d, q0, q1);
100
2.21M
      const auto r1 = InterleaveUpper(d, q0, q1);
101
2.21M
      const auto r2 = InterleaveLower(d, q2, q3);
102
2.21M
      const auto r3 = InterleaveUpper(d, q2, q3);
103
2.21M
      const auto r4 = InterleaveLower(d, q4, q5);
104
2.21M
      const auto r5 = InterleaveUpper(d, q4, q5);
105
2.21M
      const auto r6 = InterleaveLower(d, q6, q7);
106
2.21M
      const auto r7 = InterleaveUpper(d, q6, q7);
107
108
2.21M
      i0 = ConcatLowerLower(d, r4, r0);
109
2.21M
      i1 = ConcatLowerLower(d, r5, r1);
110
2.21M
      i2 = ConcatLowerLower(d, r6, r2);
111
2.21M
      i3 = ConcatLowerLower(d, r7, r3);
112
2.21M
      i4 = ConcatUpperUpper(d, r4, r0);
113
2.21M
      i5 = ConcatUpperUpper(d, r5, r1);
114
2.21M
      i6 = ConcatUpperUpper(d, r6, r2);
115
2.21M
      i7 = ConcatUpperUpper(d, r7, r3);
116
2.21M
      to.StorePart(d, i0, m + 0, n + 0);
117
2.21M
      to.StorePart(d, i1, m + 1, n + 0);
118
2.21M
      to.StorePart(d, i2, m + 2, n + 0);
119
2.21M
      to.StorePart(d, i3, m + 3, n + 0);
120
2.21M
      to.StorePart(d, i4, m + 4, n + 0);
121
2.21M
      to.StorePart(d, i5, m + 5, n + 0);
122
2.21M
      to.StorePart(d, i6, m + 6, n + 0);
123
2.21M
      to.StorePart(d, i7, m + 7, n + 0);
124
2.21M
    }
125
1.10M
  }
126
554k
}
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.55M
    size_t ROWSp, size_t COLSp) {
72
1.55M
  size_t ROWS = ROWS_or_0 == 0 ? ROWSp : ROWS_or_0;
73
1.55M
  size_t COLS = COLS_or_0 == 0 ? COLSp : COLS_or_0;
74
1.55M
  JXL_DASSERT(Lanes(BlockDesc<8>()) == 8);
75
1.55M
  static_assert(ROWS_or_0 % 8 == 0, "Invalid number of rows");
76
1.55M
  static_assert(COLS_or_0 % 8 == 0, "Invalid number of columns");
77
3.10M
  for (size_t n = 0; n < ROWS; n += 8) {
78
4.65M
    for (size_t m = 0; m < COLS; m += 8) {
79
3.10M
      const BlockDesc<8> d;
80
3.10M
      auto i0 = from.LoadPart(d, n + 0, m + 0);
81
3.10M
      auto i1 = from.LoadPart(d, n + 1, m + 0);
82
3.10M
      auto i2 = from.LoadPart(d, n + 2, m + 0);
83
3.10M
      auto i3 = from.LoadPart(d, n + 3, m + 0);
84
3.10M
      auto i4 = from.LoadPart(d, n + 4, m + 0);
85
3.10M
      auto i5 = from.LoadPart(d, n + 5, m + 0);
86
3.10M
      auto i6 = from.LoadPart(d, n + 6, m + 0);
87
3.10M
      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.10M
      const auto q0 = InterleaveLower(d, i0, i2);
91
3.10M
      const auto q1 = InterleaveLower(d, i1, i3);
92
3.10M
      const auto q2 = InterleaveUpper(d, i0, i2);
93
3.10M
      const auto q3 = InterleaveUpper(d, i1, i3);
94
3.10M
      const auto q4 = InterleaveLower(d, i4, i6);
95
3.10M
      const auto q5 = InterleaveLower(d, i5, i7);
96
3.10M
      const auto q6 = InterleaveUpper(d, i4, i6);
97
3.10M
      const auto q7 = InterleaveUpper(d, i5, i7);
98
99
3.10M
      const auto r0 = InterleaveLower(d, q0, q1);
100
3.10M
      const auto r1 = InterleaveUpper(d, q0, q1);
101
3.10M
      const auto r2 = InterleaveLower(d, q2, q3);
102
3.10M
      const auto r3 = InterleaveUpper(d, q2, q3);
103
3.10M
      const auto r4 = InterleaveLower(d, q4, q5);
104
3.10M
      const auto r5 = InterleaveUpper(d, q4, q5);
105
3.10M
      const auto r6 = InterleaveLower(d, q6, q7);
106
3.10M
      const auto r7 = InterleaveUpper(d, q6, q7);
107
108
3.10M
      i0 = ConcatLowerLower(d, r4, r0);
109
3.10M
      i1 = ConcatLowerLower(d, r5, r1);
110
3.10M
      i2 = ConcatLowerLower(d, r6, r2);
111
3.10M
      i3 = ConcatLowerLower(d, r7, r3);
112
3.10M
      i4 = ConcatUpperUpper(d, r4, r0);
113
3.10M
      i5 = ConcatUpperUpper(d, r5, r1);
114
3.10M
      i6 = ConcatUpperUpper(d, r6, r2);
115
3.10M
      i7 = ConcatUpperUpper(d, r7, r3);
116
3.10M
      to.StorePart(d, i0, m + 0, n + 0);
117
3.10M
      to.StorePart(d, i1, m + 1, n + 0);
118
3.10M
      to.StorePart(d, i2, m + 2, n + 0);
119
3.10M
      to.StorePart(d, i3, m + 3, n + 0);
120
3.10M
      to.StorePart(d, i4, m + 4, n + 0);
121
3.10M
      to.StorePart(d, i5, m + 5, n + 0);
122
3.10M
      to.StorePart(d, i6, m + 6, n + 0);
123
3.10M
      to.StorePart(d, i7, m + 7, n + 0);
124
3.10M
    }
125
1.55M
  }
126
1.55M
}
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
800k
    size_t ROWSp, size_t COLSp) {
72
800k
  size_t ROWS = ROWS_or_0 == 0 ? ROWSp : ROWS_or_0;
73
800k
  size_t COLS = COLS_or_0 == 0 ? COLSp : COLS_or_0;
74
800k
  JXL_DASSERT(Lanes(BlockDesc<8>()) == 8);
75
800k
  static_assert(ROWS_or_0 % 8 == 0, "Invalid number of rows");
76
800k
  static_assert(COLS_or_0 % 8 == 0, "Invalid number of columns");
77
2.40M
  for (size_t n = 0; n < ROWS; n += 8) {
78
3.20M
    for (size_t m = 0; m < COLS; m += 8) {
79
1.60M
      const BlockDesc<8> d;
80
1.60M
      auto i0 = from.LoadPart(d, n + 0, m + 0);
81
1.60M
      auto i1 = from.LoadPart(d, n + 1, m + 0);
82
1.60M
      auto i2 = from.LoadPart(d, n + 2, m + 0);
83
1.60M
      auto i3 = from.LoadPart(d, n + 3, m + 0);
84
1.60M
      auto i4 = from.LoadPart(d, n + 4, m + 0);
85
1.60M
      auto i5 = from.LoadPart(d, n + 5, m + 0);
86
1.60M
      auto i6 = from.LoadPart(d, n + 6, m + 0);
87
1.60M
      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.60M
      const auto q0 = InterleaveLower(d, i0, i2);
91
1.60M
      const auto q1 = InterleaveLower(d, i1, i3);
92
1.60M
      const auto q2 = InterleaveUpper(d, i0, i2);
93
1.60M
      const auto q3 = InterleaveUpper(d, i1, i3);
94
1.60M
      const auto q4 = InterleaveLower(d, i4, i6);
95
1.60M
      const auto q5 = InterleaveLower(d, i5, i7);
96
1.60M
      const auto q6 = InterleaveUpper(d, i4, i6);
97
1.60M
      const auto q7 = InterleaveUpper(d, i5, i7);
98
99
1.60M
      const auto r0 = InterleaveLower(d, q0, q1);
100
1.60M
      const auto r1 = InterleaveUpper(d, q0, q1);
101
1.60M
      const auto r2 = InterleaveLower(d, q2, q3);
102
1.60M
      const auto r3 = InterleaveUpper(d, q2, q3);
103
1.60M
      const auto r4 = InterleaveLower(d, q4, q5);
104
1.60M
      const auto r5 = InterleaveUpper(d, q4, q5);
105
1.60M
      const auto r6 = InterleaveLower(d, q6, q7);
106
1.60M
      const auto r7 = InterleaveUpper(d, q6, q7);
107
108
1.60M
      i0 = ConcatLowerLower(d, r4, r0);
109
1.60M
      i1 = ConcatLowerLower(d, r5, r1);
110
1.60M
      i2 = ConcatLowerLower(d, r6, r2);
111
1.60M
      i3 = ConcatLowerLower(d, r7, r3);
112
1.60M
      i4 = ConcatUpperUpper(d, r4, r0);
113
1.60M
      i5 = ConcatUpperUpper(d, r5, r1);
114
1.60M
      i6 = ConcatUpperUpper(d, r6, r2);
115
1.60M
      i7 = ConcatUpperUpper(d, r7, r3);
116
1.60M
      to.StorePart(d, i0, m + 0, n + 0);
117
1.60M
      to.StorePart(d, i1, m + 1, n + 0);
118
1.60M
      to.StorePart(d, i2, m + 2, n + 0);
119
1.60M
      to.StorePart(d, i3, m + 3, n + 0);
120
1.60M
      to.StorePart(d, i4, m + 4, n + 0);
121
1.60M
      to.StorePart(d, i5, m + 5, n + 0);
122
1.60M
      to.StorePart(d, i6, m + 6, n + 0);
123
1.60M
      to.StorePart(d, i7, m + 7, n + 0);
124
1.60M
    }
125
1.60M
  }
126
800k
}
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
186
    size_t ROWSp, size_t COLSp) {
72
186
  size_t ROWS = ROWS_or_0 == 0 ? ROWSp : ROWS_or_0;
73
186
  size_t COLS = COLS_or_0 == 0 ? COLSp : COLS_or_0;
74
186
  JXL_DASSERT(Lanes(BlockDesc<8>()) == 8);
75
186
  static_assert(ROWS_or_0 % 8 == 0, "Invalid number of rows");
76
186
  static_assert(COLS_or_0 % 8 == 0, "Invalid number of columns");
77
372
  for (size_t n = 0; n < ROWS; n += 8) {
78
930
    for (size_t m = 0; m < COLS; m += 8) {
79
744
      const BlockDesc<8> d;
80
744
      auto i0 = from.LoadPart(d, n + 0, m + 0);
81
744
      auto i1 = from.LoadPart(d, n + 1, m + 0);
82
744
      auto i2 = from.LoadPart(d, n + 2, m + 0);
83
744
      auto i3 = from.LoadPart(d, n + 3, m + 0);
84
744
      auto i4 = from.LoadPart(d, n + 4, m + 0);
85
744
      auto i5 = from.LoadPart(d, n + 5, m + 0);
86
744
      auto i6 = from.LoadPart(d, n + 6, m + 0);
87
744
      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
744
      const auto q0 = InterleaveLower(d, i0, i2);
91
744
      const auto q1 = InterleaveLower(d, i1, i3);
92
744
      const auto q2 = InterleaveUpper(d, i0, i2);
93
744
      const auto q3 = InterleaveUpper(d, i1, i3);
94
744
      const auto q4 = InterleaveLower(d, i4, i6);
95
744
      const auto q5 = InterleaveLower(d, i5, i7);
96
744
      const auto q6 = InterleaveUpper(d, i4, i6);
97
744
      const auto q7 = InterleaveUpper(d, i5, i7);
98
99
744
      const auto r0 = InterleaveLower(d, q0, q1);
100
744
      const auto r1 = InterleaveUpper(d, q0, q1);
101
744
      const auto r2 = InterleaveLower(d, q2, q3);
102
744
      const auto r3 = InterleaveUpper(d, q2, q3);
103
744
      const auto r4 = InterleaveLower(d, q4, q5);
104
744
      const auto r5 = InterleaveUpper(d, q4, q5);
105
744
      const auto r6 = InterleaveLower(d, q6, q7);
106
744
      const auto r7 = InterleaveUpper(d, q6, q7);
107
108
744
      i0 = ConcatLowerLower(d, r4, r0);
109
744
      i1 = ConcatLowerLower(d, r5, r1);
110
744
      i2 = ConcatLowerLower(d, r6, r2);
111
744
      i3 = ConcatLowerLower(d, r7, r3);
112
744
      i4 = ConcatUpperUpper(d, r4, r0);
113
744
      i5 = ConcatUpperUpper(d, r5, r1);
114
744
      i6 = ConcatUpperUpper(d, r6, r2);
115
744
      i7 = ConcatUpperUpper(d, r7, r3);
116
744
      to.StorePart(d, i0, m + 0, n + 0);
117
744
      to.StorePart(d, i1, m + 1, n + 0);
118
744
      to.StorePart(d, i2, m + 2, n + 0);
119
744
      to.StorePart(d, i3, m + 3, n + 0);
120
744
      to.StorePart(d, i4, m + 4, n + 0);
121
744
      to.StorePart(d, i5, m + 5, n + 0);
122
744
      to.StorePart(d, i6, m + 6, n + 0);
123
744
      to.StorePart(d, i7, m + 7, n + 0);
124
744
    }
125
186
  }
126
186
}
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
144
    size_t ROWSp, size_t COLSp) {
72
144
  size_t ROWS = ROWS_or_0 == 0 ? ROWSp : ROWS_or_0;
73
144
  size_t COLS = COLS_or_0 == 0 ? COLSp : COLS_or_0;
74
144
  JXL_DASSERT(Lanes(BlockDesc<8>()) == 8);
75
144
  static_assert(ROWS_or_0 % 8 == 0, "Invalid number of rows");
76
144
  static_assert(COLS_or_0 % 8 == 0, "Invalid number of columns");
77
720
  for (size_t n = 0; n < ROWS; n += 8) {
78
1.15k
    for (size_t m = 0; m < COLS; m += 8) {
79
576
      const BlockDesc<8> d;
80
576
      auto i0 = from.LoadPart(d, n + 0, m + 0);
81
576
      auto i1 = from.LoadPart(d, n + 1, m + 0);
82
576
      auto i2 = from.LoadPart(d, n + 2, m + 0);
83
576
      auto i3 = from.LoadPart(d, n + 3, m + 0);
84
576
      auto i4 = from.LoadPart(d, n + 4, m + 0);
85
576
      auto i5 = from.LoadPart(d, n + 5, m + 0);
86
576
      auto i6 = from.LoadPart(d, n + 6, m + 0);
87
576
      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
576
      const auto q0 = InterleaveLower(d, i0, i2);
91
576
      const auto q1 = InterleaveLower(d, i1, i3);
92
576
      const auto q2 = InterleaveUpper(d, i0, i2);
93
576
      const auto q3 = InterleaveUpper(d, i1, i3);
94
576
      const auto q4 = InterleaveLower(d, i4, i6);
95
576
      const auto q5 = InterleaveLower(d, i5, i7);
96
576
      const auto q6 = InterleaveUpper(d, i4, i6);
97
576
      const auto q7 = InterleaveUpper(d, i5, i7);
98
99
576
      const auto r0 = InterleaveLower(d, q0, q1);
100
576
      const auto r1 = InterleaveUpper(d, q0, q1);
101
576
      const auto r2 = InterleaveLower(d, q2, q3);
102
576
      const auto r3 = InterleaveUpper(d, q2, q3);
103
576
      const auto r4 = InterleaveLower(d, q4, q5);
104
576
      const auto r5 = InterleaveUpper(d, q4, q5);
105
576
      const auto r6 = InterleaveLower(d, q6, q7);
106
576
      const auto r7 = InterleaveUpper(d, q6, q7);
107
108
576
      i0 = ConcatLowerLower(d, r4, r0);
109
576
      i1 = ConcatLowerLower(d, r5, r1);
110
576
      i2 = ConcatLowerLower(d, r6, r2);
111
576
      i3 = ConcatLowerLower(d, r7, r3);
112
576
      i4 = ConcatUpperUpper(d, r4, r0);
113
576
      i5 = ConcatUpperUpper(d, r5, r1);
114
576
      i6 = ConcatUpperUpper(d, r6, r2);
115
576
      i7 = ConcatUpperUpper(d, r7, r3);
116
576
      to.StorePart(d, i0, m + 0, n + 0);
117
576
      to.StorePart(d, i1, m + 1, n + 0);
118
576
      to.StorePart(d, i2, m + 2, n + 0);
119
576
      to.StorePart(d, i3, m + 3, n + 0);
120
576
      to.StorePart(d, i4, m + 4, n + 0);
121
576
      to.StorePart(d, i5, m + 5, n + 0);
122
576
      to.StorePart(d, i6, m + 6, n + 0);
123
576
      to.StorePart(d, i7, m + 7, n + 0);
124
576
    }
125
576
  }
126
144
}
dec_group.cc:void jxl::N_AVX2::(anonymous namespace)::GenericTransposeBlock<0ul, 0ul, jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::TransposeSimdTag<true>, jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Line
Count
Source
71
1.12M
    size_t ROWSp, size_t COLSp) {
72
1.12M
  size_t ROWS = ROWS_or_0 == 0 ? ROWSp : ROWS_or_0;
73
1.12M
  size_t COLS = COLS_or_0 == 0 ? COLSp : COLS_or_0;
74
1.12M
  JXL_DASSERT(Lanes(BlockDesc<8>()) == 8);
75
1.12M
  static_assert(ROWS_or_0 % 8 == 0, "Invalid number of rows");
76
1.12M
  static_assert(COLS_or_0 % 8 == 0, "Invalid number of columns");
77
5.75M
  for (size_t n = 0; n < ROWS; n += 8) {
78
28.4M
    for (size_t m = 0; m < COLS; m += 8) {
79
23.8M
      const BlockDesc<8> d;
80
23.8M
      auto i0 = from.LoadPart(d, n + 0, m + 0);
81
23.8M
      auto i1 = from.LoadPart(d, n + 1, m + 0);
82
23.8M
      auto i2 = from.LoadPart(d, n + 2, m + 0);
83
23.8M
      auto i3 = from.LoadPart(d, n + 3, m + 0);
84
23.8M
      auto i4 = from.LoadPart(d, n + 4, m + 0);
85
23.8M
      auto i5 = from.LoadPart(d, n + 5, m + 0);
86
23.8M
      auto i6 = from.LoadPart(d, n + 6, m + 0);
87
23.8M
      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
23.8M
      const auto q0 = InterleaveLower(d, i0, i2);
91
23.8M
      const auto q1 = InterleaveLower(d, i1, i3);
92
23.8M
      const auto q2 = InterleaveUpper(d, i0, i2);
93
23.8M
      const auto q3 = InterleaveUpper(d, i1, i3);
94
23.8M
      const auto q4 = InterleaveLower(d, i4, i6);
95
23.8M
      const auto q5 = InterleaveLower(d, i5, i7);
96
23.8M
      const auto q6 = InterleaveUpper(d, i4, i6);
97
23.8M
      const auto q7 = InterleaveUpper(d, i5, i7);
98
99
23.8M
      const auto r0 = InterleaveLower(d, q0, q1);
100
23.8M
      const auto r1 = InterleaveUpper(d, q0, q1);
101
23.8M
      const auto r2 = InterleaveLower(d, q2, q3);
102
23.8M
      const auto r3 = InterleaveUpper(d, q2, q3);
103
23.8M
      const auto r4 = InterleaveLower(d, q4, q5);
104
23.8M
      const auto r5 = InterleaveUpper(d, q4, q5);
105
23.8M
      const auto r6 = InterleaveLower(d, q6, q7);
106
23.8M
      const auto r7 = InterleaveUpper(d, q6, q7);
107
108
23.8M
      i0 = ConcatLowerLower(d, r4, r0);
109
23.8M
      i1 = ConcatLowerLower(d, r5, r1);
110
23.8M
      i2 = ConcatLowerLower(d, r6, r2);
111
23.8M
      i3 = ConcatLowerLower(d, r7, r3);
112
23.8M
      i4 = ConcatUpperUpper(d, r4, r0);
113
23.8M
      i5 = ConcatUpperUpper(d, r5, r1);
114
23.8M
      i6 = ConcatUpperUpper(d, r6, r2);
115
23.8M
      i7 = ConcatUpperUpper(d, r7, r3);
116
23.8M
      to.StorePart(d, i0, m + 0, n + 0);
117
23.8M
      to.StorePart(d, i1, m + 1, n + 0);
118
23.8M
      to.StorePart(d, i2, m + 2, n + 0);
119
23.8M
      to.StorePart(d, i3, m + 3, n + 0);
120
23.8M
      to.StorePart(d, i4, m + 4, n + 0);
121
23.8M
      to.StorePart(d, i5, m + 5, n + 0);
122
23.8M
      to.StorePart(d, i6, m + 6, n + 0);
123
23.8M
      to.StorePart(d, i7, m + 7, n + 0);
124
23.8M
    }
125
4.62M
  }
126
1.12M
}
dec_group.cc:void jxl::N_AVX2::(anonymous namespace)::GenericTransposeBlock<8ul, 8ul, jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::TransposeSimdTag<true>, jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&, unsigned long, unsigned long)
Line
Count
Source
71
6.00M
    size_t ROWSp, size_t COLSp) {
72
6.00M
  size_t ROWS = ROWS_or_0 == 0 ? ROWSp : ROWS_or_0;
73
6.00M
  size_t COLS = COLS_or_0 == 0 ? COLSp : COLS_or_0;
74
6.00M
  JXL_DASSERT(Lanes(BlockDesc<8>()) == 8);
75
6.00M
  static_assert(ROWS_or_0 % 8 == 0, "Invalid number of rows");
76
6.00M
  static_assert(COLS_or_0 % 8 == 0, "Invalid number of columns");
77
12.0M
  for (size_t n = 0; n < ROWS; n += 8) {
78
12.0M
    for (size_t m = 0; m < COLS; m += 8) {
79
6.00M
      const BlockDesc<8> d;
80
6.00M
      auto i0 = from.LoadPart(d, n + 0, m + 0);
81
6.00M
      auto i1 = from.LoadPart(d, n + 1, m + 0);
82
6.00M
      auto i2 = from.LoadPart(d, n + 2, m + 0);
83
6.00M
      auto i3 = from.LoadPart(d, n + 3, m + 0);
84
6.00M
      auto i4 = from.LoadPart(d, n + 4, m + 0);
85
6.00M
      auto i5 = from.LoadPart(d, n + 5, m + 0);
86
6.00M
      auto i6 = from.LoadPart(d, n + 6, m + 0);
87
6.00M
      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.00M
      const auto q0 = InterleaveLower(d, i0, i2);
91
6.00M
      const auto q1 = InterleaveLower(d, i1, i3);
92
6.00M
      const auto q2 = InterleaveUpper(d, i0, i2);
93
6.00M
      const auto q3 = InterleaveUpper(d, i1, i3);
94
6.00M
      const auto q4 = InterleaveLower(d, i4, i6);
95
6.00M
      const auto q5 = InterleaveLower(d, i5, i7);
96
6.00M
      const auto q6 = InterleaveUpper(d, i4, i6);
97
6.00M
      const auto q7 = InterleaveUpper(d, i5, i7);
98
99
6.00M
      const auto r0 = InterleaveLower(d, q0, q1);
100
6.00M
      const auto r1 = InterleaveUpper(d, q0, q1);
101
6.00M
      const auto r2 = InterleaveLower(d, q2, q3);
102
6.00M
      const auto r3 = InterleaveUpper(d, q2, q3);
103
6.00M
      const auto r4 = InterleaveLower(d, q4, q5);
104
6.00M
      const auto r5 = InterleaveUpper(d, q4, q5);
105
6.00M
      const auto r6 = InterleaveLower(d, q6, q7);
106
6.00M
      const auto r7 = InterleaveUpper(d, q6, q7);
107
108
6.00M
      i0 = ConcatLowerLower(d, r4, r0);
109
6.00M
      i1 = ConcatLowerLower(d, r5, r1);
110
6.00M
      i2 = ConcatLowerLower(d, r6, r2);
111
6.00M
      i3 = ConcatLowerLower(d, r7, r3);
112
6.00M
      i4 = ConcatUpperUpper(d, r4, r0);
113
6.00M
      i5 = ConcatUpperUpper(d, r5, r1);
114
6.00M
      i6 = ConcatUpperUpper(d, r6, r2);
115
6.00M
      i7 = ConcatUpperUpper(d, r7, r3);
116
6.00M
      to.StorePart(d, i0, m + 0, n + 0);
117
6.00M
      to.StorePart(d, i1, m + 1, n + 0);
118
6.00M
      to.StorePart(d, i2, m + 2, n + 0);
119
6.00M
      to.StorePart(d, i3, m + 3, n + 0);
120
6.00M
      to.StorePart(d, i4, m + 4, n + 0);
121
6.00M
      to.StorePart(d, i5, m + 5, n + 0);
122
6.00M
      to.StorePart(d, i6, m + 6, n + 0);
123
6.00M
      to.StorePart(d, i7, m + 7, n + 0);
124
6.00M
    }
125
6.00M
  }
126
6.00M
}
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
796M
  static void Run(const From& from, const To& to) {
174
    // This does not guarantee anything, just saves from the most stupid
175
    // mistakes.
176
796M
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
177
796M
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
178
796M
    GenericTransposeBlock<N, M>(tag, from, to, N, M);
179
796M
  }
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
825k
  static void Run(const From& from, const To& to) {
174
    // This does not guarantee anything, just saves from the most stupid
175
    // mistakes.
176
825k
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
177
825k
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
178
825k
    GenericTransposeBlock<N, M>(tag, from, to, N, M);
179
825k
  }
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
505k
  static void Run(const From& from, const To& to) {
174
    // This does not guarantee anything, just saves from the most stupid
175
    // mistakes.
176
505k
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
177
505k
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
178
505k
    GenericTransposeBlock<N, M>(tag, from, to, N, M);
179
505k
  }
enc_group.cc:void jxl::N_AVX2::(anonymous namespace)::Transpose<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
442k
  static void Run(const From& from, const To& to) {
174
    // This does not guarantee anything, just saves from the most stupid
175
    // mistakes.
176
442k
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
177
442k
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
178
442k
    GenericTransposeBlock<N, M>(tag, from, to, N, M);
179
442k
  }
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
184k
  static void Run(const From& from, const To& to) {
174
    // This does not guarantee anything, just saves from the most stupid
175
    // mistakes.
176
184k
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
177
184k
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
178
184k
    GenericTransposeBlock<N, M>(tag, from, to, N, M);
179
184k
  }
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
516k
  static void Run(const From& from, const To& to) {
174
    // This does not guarantee anything, just saves from the most stupid
175
    // mistakes.
176
516k
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
177
516k
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
178
516k
    GenericTransposeBlock<N, M>(tag, from, to, N, M);
179
516k
  }
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
265k
  static void Run(const From& from, const To& to) {
174
    // This does not guarantee anything, just saves from the most stupid
175
    // mistakes.
176
265k
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
177
265k
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
178
265k
    GenericTransposeBlock<N, M>(tag, from, to, N, M);
179
265k
  }
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.87M
  static void Run(const From& from, const To& to) {
174
    // This does not guarantee anything, just saves from the most stupid
175
    // mistakes.
176
1.87M
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
177
1.87M
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
178
1.87M
    GenericTransposeBlock<N, M>(tag, from, to, N, M);
179
1.87M
  }
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
516k
  static void Run(const From& from, const To& to) {
174
    // This does not guarantee anything, just saves from the most stupid
175
    // mistakes.
176
516k
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
177
516k
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
178
516k
    GenericTransposeBlock<N, M>(tag, from, to, N, M);
179
516k
  }
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
265k
  static void Run(const From& from, const To& to) {
174
    // This does not guarantee anything, just saves from the most stupid
175
    // mistakes.
176
265k
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
177
265k
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
178
265k
    GenericTransposeBlock<N, M>(tag, from, to, N, M);
179
265k
  }
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
184k
  static void Run(const From& from, const To& to) {
174
    // This does not guarantee anything, just saves from the most stupid
175
    // mistakes.
176
184k
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
177
184k
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
178
184k
    GenericTransposeBlock<N, M>(tag, from, to, N, M);
179
184k
  }
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
120k
  static void Run(const From& from, const To& to) {
174
    // This does not guarantee anything, just saves from the most stupid
175
    // mistakes.
176
120k
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
177
120k
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
178
120k
    GenericTransposeBlock<N, M>(tag, from, to, N, M);
179
120k
  }
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
61.2k
  static void Run(const From& from, const To& to) {
174
    // This does not guarantee anything, just saves from the most stupid
175
    // mistakes.
176
61.2k
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
177
61.2k
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
178
61.2k
    GenericTransposeBlock<N, M>(tag, from, to, N, M);
179
61.2k
  }
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
825k
  static void Run(const From& from, const To& to) {
174
    // This does not guarantee anything, just saves from the most stupid
175
    // mistakes.
176
825k
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
177
825k
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
178
825k
    GenericTransposeBlock<N, M>(tag, from, to, N, M);
179
825k
  }
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
505k
  static void Run(const From& from, const To& to) {
174
    // This does not guarantee anything, just saves from the most stupid
175
    // mistakes.
176
505k
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
177
505k
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
178
505k
    GenericTransposeBlock<N, M>(tag, from, to, N, M);
179
505k
  }
enc_chroma_from_luma.cc:void jxl::N_AVX2::(anonymous namespace)::Transpose<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
442k
  static void Run(const From& from, const To& to) {
174
    // This does not guarantee anything, just saves from the most stupid
175
    // mistakes.
176
442k
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
177
442k
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
178
442k
    GenericTransposeBlock<N, M>(tag, from, to, N, M);
179
442k
  }
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
184k
  static void Run(const From& from, const To& to) {
174
    // This does not guarantee anything, just saves from the most stupid
175
    // mistakes.
176
184k
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
177
184k
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
178
184k
    GenericTransposeBlock<N, M>(tag, from, to, N, M);
179
184k
  }
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
516k
  static void Run(const From& from, const To& to) {
174
    // This does not guarantee anything, just saves from the most stupid
175
    // mistakes.
176
516k
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
177
516k
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
178
516k
    GenericTransposeBlock<N, M>(tag, from, to, N, M);
179
516k
  }
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
265k
  static void Run(const From& from, const To& to) {
174
    // This does not guarantee anything, just saves from the most stupid
175
    // mistakes.
176
265k
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
177
265k
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
178
265k
    GenericTransposeBlock<N, M>(tag, from, to, N, M);
179
265k
  }
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
16.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
16.4M
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
177
16.4M
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
178
16.4M
    GenericTransposeBlock<N, M>(tag, from, to, N, M);
179
16.4M
  }
enc_chroma_from_luma.cc:void jxl::N_AVX2::(anonymous namespace)::Transpose<1ul, 2ul, void>::Run<jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&)
Line
Count
Source
173
516k
  static void Run(const From& from, const To& to) {
174
    // This does not guarantee anything, just saves from the most stupid
175
    // mistakes.
176
516k
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
177
516k
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
178
516k
    GenericTransposeBlock<N, M>(tag, from, to, N, M);
179
516k
  }
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
265k
  static void Run(const From& from, const To& to) {
174
    // This does not guarantee anything, just saves from the most stupid
175
    // mistakes.
176
265k
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
177
265k
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
178
265k
    GenericTransposeBlock<N, M>(tag, from, to, N, M);
179
265k
  }
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
184k
  static void Run(const From& from, const To& to) {
174
    // This does not guarantee anything, just saves from the most stupid
175
    // mistakes.
176
184k
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
177
184k
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
178
184k
    GenericTransposeBlock<N, M>(tag, from, to, N, M);
179
184k
  }
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
120k
  static void Run(const From& from, const To& to) {
174
    // This does not guarantee anything, just saves from the most stupid
175
    // mistakes.
176
120k
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
177
120k
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
178
120k
    GenericTransposeBlock<N, M>(tag, from, to, N, M);
179
120k
  }
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
61.2k
  static void Run(const From& from, const To& to) {
174
    // This does not guarantee anything, just saves from the most stupid
175
    // mistakes.
176
61.2k
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
177
61.2k
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
178
61.2k
    GenericTransposeBlock<N, M>(tag, from, to, N, M);
179
61.2k
  }
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
204M
  static void Run(const From& from, const To& to) {
174
    // This does not guarantee anything, just saves from the most stupid
175
    // mistakes.
176
204M
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
177
204M
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
178
204M
    GenericTransposeBlock<N, M>(tag, from, to, N, M);
179
204M
  }
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
204M
  static void Run(const From& from, const To& to) {
174
    // This does not guarantee anything, just saves from the most stupid
175
    // mistakes.
176
204M
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
177
204M
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
178
204M
    GenericTransposeBlock<N, M>(tag, from, to, N, M);
179
204M
  }
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
233M
  static void Run(const From& from, const To& to) {
174
    // This does not guarantee anything, just saves from the most stupid
175
    // mistakes.
176
233M
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
177
233M
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
178
233M
    GenericTransposeBlock<N, M>(tag, from, to, N, M);
179
233M
  }
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
11.6M
  static void Run(const From& from, const To& to) {
174
    // This does not guarantee anything, just saves from the most stupid
175
    // mistakes.
176
11.6M
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
177
11.6M
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
178
11.6M
    GenericTransposeBlock<N, M>(tag, from, to, N, M);
179
11.6M
  }
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
34.5M
  static void Run(const From& from, const To& to) {
174
    // This does not guarantee anything, just saves from the most stupid
175
    // mistakes.
176
34.5M
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
177
34.5M
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
178
34.5M
    GenericTransposeBlock<N, M>(tag, from, to, N, M);
179
34.5M
  }
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
34.5M
  static void Run(const From& from, const To& to) {
174
    // This does not guarantee anything, just saves from the most stupid
175
    // mistakes.
176
34.5M
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
177
34.5M
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
178
34.5M
    GenericTransposeBlock<N, M>(tag, from, to, N, M);
179
34.5M
  }
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
29.2M
  static void Run(const From& from, const To& to) {
174
    // This does not guarantee anything, just saves from the most stupid
175
    // mistakes.
176
29.2M
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
177
29.2M
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
178
29.2M
    GenericTransposeBlock<N, M>(tag, from, to, N, M);
179
29.2M
  }
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.46M
  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.46M
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
177
2.46M
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
178
2.46M
    GenericTransposeBlock<N, M>(tag, from, to, N, M);
179
2.46M
  }
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.49M
  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.49M
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
177
1.49M
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
178
1.49M
    GenericTransposeBlock<N, M>(tag, from, to, N, M);
179
1.49M
  }
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.33M
  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.33M
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
177
1.33M
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
178
1.33M
    GenericTransposeBlock<N, M>(tag, from, to, N, M);
179
1.33M
  }
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
554k
  static void Run(const From& from, const To& to) {
174
    // This does not guarantee anything, just saves from the most stupid
175
    // mistakes.
176
554k
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
177
554k
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
178
554k
    GenericTransposeBlock<N, M>(tag, from, to, N, M);
179
554k
  }
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.55M
  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.55M
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
177
1.55M
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
178
1.55M
    GenericTransposeBlock<N, M>(tag, from, to, N, M);
179
1.55M
  }
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
800k
  static void Run(const From& from, const To& to) {
174
    // This does not guarantee anything, just saves from the most stupid
175
    // mistakes.
176
800k
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
177
800k
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
178
800k
    GenericTransposeBlock<N, M>(tag, from, to, N, M);
179
800k
  }
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
186
  static void Run(const From& from, const To& to) {
174
    // This does not guarantee anything, just saves from the most stupid
175
    // mistakes.
176
186
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
177
186
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
178
186
    GenericTransposeBlock<N, M>(tag, from, to, N, M);
179
186
  }
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
144
  static void Run(const From& from, const To& to) {
174
    // This does not guarantee anything, just saves from the most stupid
175
    // mistakes.
176
144
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
177
144
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
178
144
    GenericTransposeBlock<N, M>(tag, from, to, N, M);
179
144
  }
dec_group.cc:void jxl::N_AVX2::(anonymous namespace)::Transpose<8ul, 8ul, void>::Run<jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&)
Line
Count
Source
173
6.00M
  static void Run(const From& from, const To& to) {
174
    // This does not guarantee anything, just saves from the most stupid
175
    // mistakes.
176
6.00M
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
177
6.00M
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
178
6.00M
    GenericTransposeBlock<N, M>(tag, from, to, N, M);
179
6.00M
  }
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.55M
  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.55M
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
177
1.55M
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
178
1.55M
    GenericTransposeBlock<N, M>(tag, from, to, N, M);
179
1.55M
  }
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
800k
  static void Run(const From& from, const To& to) {
174
    // This does not guarantee anything, just saves from the most stupid
175
    // mistakes.
176
800k
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
177
800k
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
178
800k
    GenericTransposeBlock<N, M>(tag, from, to, N, M);
179
800k
  }
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
554k
  static void Run(const From& from, const To& to) {
174
    // This does not guarantee anything, just saves from the most stupid
175
    // mistakes.
176
554k
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
177
554k
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
178
554k
    GenericTransposeBlock<N, M>(tag, from, to, N, M);
179
554k
  }
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
186
  static void Run(const From& from, const To& to) {
174
    // This does not guarantee anything, just saves from the most stupid
175
    // mistakes.
176
186
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
177
186
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
178
186
    GenericTransposeBlock<N, M>(tag, from, to, N, M);
179
186
  }
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
144
  static void Run(const From& from, const To& to) {
174
    // This does not guarantee anything, just saves from the most stupid
175
    // mistakes.
176
144
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
177
144
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
178
144
    GenericTransposeBlock<N, M>(tag, from, to, N, M);
179
144
  }
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
357k
  static void Run(const From& from, const To& to) {
174
    // This does not guarantee anything, just saves from the most stupid
175
    // mistakes.
176
357k
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
177
357k
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
178
357k
    GenericTransposeBlock<N, M>(tag, from, to, N, M);
179
357k
  }
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
182k
  static void Run(const From& from, const To& to) {
174
    // This does not guarantee anything, just saves from the most stupid
175
    // mistakes.
176
182k
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
177
182k
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
178
182k
    GenericTransposeBlock<N, M>(tag, from, to, N, M);
179
182k
  }
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
21.4M
  static void Run(const From& from, const To& to) {
188
    // This does not guarantee anything, just saves from the most stupid
189
    // mistakes.
190
21.4M
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
191
21.4M
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
192
21.4M
    constexpr void (*transpose)(TransposeSimdTag<TransposeUseSimd(N, M)>,
193
21.4M
                                const From&, const To&, size_t, size_t) =
194
21.4M
        GenericTransposeBlock<0, 0, From, To>;
195
21.4M
    NoInlineWrapper(transpose, tag, from, to, N, M);
196
21.4M
  }
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
120k
  static void Run(const From& from, const To& to) {
188
    // This does not guarantee anything, just saves from the most stupid
189
    // mistakes.
190
120k
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
191
120k
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
192
120k
    constexpr void (*transpose)(TransposeSimdTag<TransposeUseSimd(N, M)>,
193
120k
                                const From&, const To&, size_t, size_t) =
194
120k
        GenericTransposeBlock<0, 0, From, To>;
195
120k
    NoInlineWrapper(transpose, tag, from, to, N, M);
196
120k
  }
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
61.2k
  static void Run(const From& from, const To& to) {
188
    // This does not guarantee anything, just saves from the most stupid
189
    // mistakes.
190
61.2k
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
191
61.2k
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
192
61.2k
    constexpr void (*transpose)(TransposeSimdTag<TransposeUseSimd(N, M)>,
193
61.2k
                                const From&, const To&, size_t, size_t) =
194
61.2k
        GenericTransposeBlock<0, 0, From, To>;
195
61.2k
    NoInlineWrapper(transpose, tag, from, to, N, M);
196
61.2k
  }
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
110k
  static void Run(const From& from, const To& to) {
188
    // This does not guarantee anything, just saves from the most stupid
189
    // mistakes.
190
110k
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
191
110k
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
192
110k
    constexpr void (*transpose)(TransposeSimdTag<TransposeUseSimd(N, M)>,
193
110k
                                const From&, const To&, size_t, size_t) =
194
110k
        GenericTransposeBlock<0, 0, From, To>;
195
110k
    NoInlineWrapper(transpose, tag, from, to, N, M);
196
110k
  }
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
63.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
63.6k
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
191
63.6k
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
192
63.6k
    constexpr void (*transpose)(TransposeSimdTag<TransposeUseSimd(N, M)>,
193
63.6k
                                const From&, const To&, size_t, size_t) =
194
63.6k
        GenericTransposeBlock<0, 0, From, To>;
195
63.6k
    NoInlineWrapper(transpose, tag, from, to, N, M);
196
63.6k
  }
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
19.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
19.5k
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
191
19.5k
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
192
19.5k
    constexpr void (*transpose)(TransposeSimdTag<TransposeUseSimd(N, M)>,
193
19.5k
                                const From&, const To&, size_t, size_t) =
194
19.5k
        GenericTransposeBlock<0, 0, From, To>;
195
19.5k
    NoInlineWrapper(transpose, tag, from, to, N, M);
196
19.5k
  }
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
6.81k
  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.81k
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
191
6.81k
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
192
6.81k
    constexpr void (*transpose)(TransposeSimdTag<TransposeUseSimd(N, M)>,
193
6.81k
                                const From&, const To&, size_t, size_t) =
194
6.81k
        GenericTransposeBlock<0, 0, From, To>;
195
6.81k
    NoInlineWrapper(transpose, tag, from, to, N, M);
196
6.81k
  }
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
120k
  static void Run(const From& from, const To& to) {
188
    // This does not guarantee anything, just saves from the most stupid
189
    // mistakes.
190
120k
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
191
120k
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
192
120k
    constexpr void (*transpose)(TransposeSimdTag<TransposeUseSimd(N, M)>,
193
120k
                                const From&, const To&, size_t, size_t) =
194
120k
        GenericTransposeBlock<0, 0, From, To>;
195
120k
    NoInlineWrapper(transpose, tag, from, to, N, M);
196
120k
  }
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
61.2k
  static void Run(const From& from, const To& to) {
188
    // This does not guarantee anything, just saves from the most stupid
189
    // mistakes.
190
61.2k
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
191
61.2k
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
192
61.2k
    constexpr void (*transpose)(TransposeSimdTag<TransposeUseSimd(N, M)>,
193
61.2k
                                const From&, const To&, size_t, size_t) =
194
61.2k
        GenericTransposeBlock<0, 0, From, To>;
195
61.2k
    NoInlineWrapper(transpose, tag, from, to, N, M);
196
61.2k
  }
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
110k
  static void Run(const From& from, const To& to) {
188
    // This does not guarantee anything, just saves from the most stupid
189
    // mistakes.
190
110k
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
191
110k
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
192
110k
    constexpr void (*transpose)(TransposeSimdTag<TransposeUseSimd(N, M)>,
193
110k
                                const From&, const To&, size_t, size_t) =
194
110k
        GenericTransposeBlock<0, 0, From, To>;
195
110k
    NoInlineWrapper(transpose, tag, from, to, N, M);
196
110k
  }
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
63.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
63.6k
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
191
63.6k
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
192
63.6k
    constexpr void (*transpose)(TransposeSimdTag<TransposeUseSimd(N, M)>,
193
63.6k
                                const From&, const To&, size_t, size_t) =
194
63.6k
        GenericTransposeBlock<0, 0, From, To>;
195
63.6k
    NoInlineWrapper(transpose, tag, from, to, N, M);
196
63.6k
  }
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
19.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
19.5k
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
191
19.5k
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
192
19.5k
    constexpr void (*transpose)(TransposeSimdTag<TransposeUseSimd(N, M)>,
193
19.5k
                                const From&, const To&, size_t, size_t) =
194
19.5k
        GenericTransposeBlock<0, 0, From, To>;
195
19.5k
    NoInlineWrapper(transpose, tag, from, to, N, M);
196
19.5k
  }
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
6.81k
  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.81k
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
191
6.81k
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
192
6.81k
    constexpr void (*transpose)(TransposeSimdTag<TransposeUseSimd(N, M)>,
193
6.81k
                                const From&, const To&, size_t, size_t) =
194
6.81k
        GenericTransposeBlock<0, 0, From, To>;
195
6.81k
    NoInlineWrapper(transpose, tag, from, to, N, M);
196
6.81k
  }
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
6.87M
  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.87M
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
191
6.87M
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
192
6.87M
    constexpr void (*transpose)(TransposeSimdTag<TransposeUseSimd(N, M)>,
193
6.87M
                                const From&, const To&, size_t, size_t) =
194
6.87M
        GenericTransposeBlock<0, 0, From, To>;
195
6.87M
    NoInlineWrapper(transpose, tag, from, to, N, M);
196
6.87M
  }
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
6.87M
  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.87M
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
191
6.87M
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
192
6.87M
    constexpr void (*transpose)(TransposeSimdTag<TransposeUseSimd(N, M)>,
193
6.87M
                                const From&, const To&, size_t, size_t) =
194
6.87M
        GenericTransposeBlock<0, 0, From, To>;
195
6.87M
    NoInlineWrapper(transpose, tag, from, to, N, M);
196
6.87M
  }
enc_ac_strategy.cc:void jxl::N_AVX2::(anonymous namespace)::Transpose<32ul, 32ul, void>::Run<jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&)
Line
Count
Source
187
2.33M
  static void Run(const From& from, const To& to) {
188
    // This does not guarantee anything, just saves from the most stupid
189
    // mistakes.
190
2.33M
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
191
2.33M
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
192
2.33M
    constexpr void (*transpose)(TransposeSimdTag<TransposeUseSimd(N, M)>,
193
2.33M
                                const From&, const To&, size_t, size_t) =
194
2.33M
        GenericTransposeBlock<0, 0, From, To>;
195
2.33M
    NoInlineWrapper(transpose, tag, from, to, N, M);
196
2.33M
  }
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
405k
  static void Run(const From& from, const To& to) {
188
    // This does not guarantee anything, just saves from the most stupid
189
    // mistakes.
190
405k
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
191
405k
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
192
405k
    constexpr void (*transpose)(TransposeSimdTag<TransposeUseSimd(N, M)>,
193
405k
                                const From&, const To&, size_t, size_t) =
194
405k
        GenericTransposeBlock<0, 0, From, To>;
195
405k
    NoInlineWrapper(transpose, tag, from, to, N, M);
196
405k
  }
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.54M
  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.54M
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
191
1.54M
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
192
1.54M
    constexpr void (*transpose)(TransposeSimdTag<TransposeUseSimd(N, M)>,
193
1.54M
                                const From&, const To&, size_t, size_t) =
194
1.54M
        GenericTransposeBlock<0, 0, From, To>;
195
1.54M
    NoInlineWrapper(transpose, tag, from, to, N, M);
196
1.54M
  }
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.54M
  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.54M
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
191
1.54M
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
192
1.54M
    constexpr void (*transpose)(TransposeSimdTag<TransposeUseSimd(N, M)>,
193
1.54M
                                const From&, const To&, size_t, size_t) =
194
1.54M
        GenericTransposeBlock<0, 0, From, To>;
195
1.54M
    NoInlineWrapper(transpose, tag, from, to, N, M);
196
1.54M
  }
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
357k
  static void Run(const From& from, const To& to) {
188
    // This does not guarantee anything, just saves from the most stupid
189
    // mistakes.
190
357k
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
191
357k
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
192
357k
    constexpr void (*transpose)(TransposeSimdTag<TransposeUseSimd(N, M)>,
193
357k
                                const From&, const To&, size_t, size_t) =
194
357k
        GenericTransposeBlock<0, 0, From, To>;
195
357k
    NoInlineWrapper(transpose, tag, from, to, N, M);
196
357k
  }
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
182k
  static void Run(const From& from, const To& to) {
188
    // This does not guarantee anything, just saves from the most stupid
189
    // mistakes.
190
182k
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
191
182k
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
192
182k
    constexpr void (*transpose)(TransposeSimdTag<TransposeUseSimd(N, M)>,
193
182k
                                const From&, const To&, size_t, size_t) =
194
182k
        GenericTransposeBlock<0, 0, From, To>;
195
182k
    NoInlineWrapper(transpose, tag, from, to, N, M);
196
182k
  }
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
330k
  static void Run(const From& from, const To& to) {
188
    // This does not guarantee anything, just saves from the most stupid
189
    // mistakes.
190
330k
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
191
330k
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
192
330k
    constexpr void (*transpose)(TransposeSimdTag<TransposeUseSimd(N, M)>,
193
330k
                                const From&, const To&, size_t, size_t) =
194
330k
        GenericTransposeBlock<0, 0, From, To>;
195
330k
    NoInlineWrapper(transpose, tag, from, to, N, M);
196
330k
  }
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
43.4k
  static void Run(const From& from, const To& to) {
188
    // This does not guarantee anything, just saves from the most stupid
189
    // mistakes.
190
43.4k
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
191
43.4k
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
192
43.4k
    constexpr void (*transpose)(TransposeSimdTag<TransposeUseSimd(N, M)>,
193
43.4k
                                const From&, const To&, size_t, size_t) =
194
43.4k
        GenericTransposeBlock<0, 0, From, To>;
195
43.4k
    NoInlineWrapper(transpose, tag, from, to, N, M);
196
43.4k
  }
dec_group.cc:void jxl::N_AVX2::(anonymous namespace)::Transpose<64ul, 32ul, void>::Run<jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&)
Line
Count
Source
187
19.9k
  static void Run(const From& from, const To& to) {
188
    // This does not guarantee anything, just saves from the most stupid
189
    // mistakes.
190
19.9k
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
191
19.9k
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
192
19.9k
    constexpr void (*transpose)(TransposeSimdTag<TransposeUseSimd(N, M)>,
193
19.9k
                                const From&, const To&, size_t, size_t) =
194
19.9k
        GenericTransposeBlock<0, 0, From, To>;
195
19.9k
    NoInlineWrapper(transpose, tag, from, to, N, M);
196
19.9k
  }
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
190k
  static void Run(const From& from, const To& to) {
188
    // This does not guarantee anything, just saves from the most stupid
189
    // mistakes.
190
190k
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
191
190k
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
192
190k
    constexpr void (*transpose)(TransposeSimdTag<TransposeUseSimd(N, M)>,
193
190k
                                const From&, const To&, size_t, size_t) =
194
190k
        GenericTransposeBlock<0, 0, From, To>;
195
190k
    NoInlineWrapper(transpose, tag, from, to, N, M);
196
190k
  }
dec_group.cc:void jxl::N_AVX2::(anonymous namespace)::Transpose<64ul, 128ul, void>::Run<jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&)
Line
Count
Source
187
6
  static void Run(const From& from, const To& to) {
188
    // This does not guarantee anything, just saves from the most stupid
189
    // mistakes.
190
6
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
191
6
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
192
6
    constexpr void (*transpose)(TransposeSimdTag<TransposeUseSimd(N, M)>,
193
6
                                const From&, const To&, size_t, size_t) =
194
6
        GenericTransposeBlock<0, 0, From, To>;
195
6
    NoInlineWrapper(transpose, tag, from, to, N, M);
196
6
  }
dec_group.cc:void jxl::N_AVX2::(anonymous namespace)::Transpose<128ul, 64ul, void>::Run<jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&)
Line
Count
Source
187
3
  static void Run(const From& from, const To& to) {
188
    // This does not guarantee anything, just saves from the most stupid
189
    // mistakes.
190
3
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
191
3
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
192
3
    constexpr void (*transpose)(TransposeSimdTag<TransposeUseSimd(N, M)>,
193
3
                                const From&, const To&, size_t, size_t) =
194
3
        GenericTransposeBlock<0, 0, From, To>;
195
3
    NoInlineWrapper(transpose, tag, from, to, N, M);
196
3
  }
dec_group.cc:void jxl::N_AVX2::(anonymous namespace)::Transpose<128ul, 128ul, void>::Run<jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&)
Line
Count
Source
187
18
  static void Run(const From& from, const To& to) {
188
    // This does not guarantee anything, just saves from the most stupid
189
    // mistakes.
190
18
    JXL_DASSERT(from.Address(0, 0) != to.Address(0, 0));
191
18
    TransposeSimdTag<TransposeUseSimd(N, M)> tag;
192
18
    constexpr void (*transpose)(TransposeSimdTag<TransposeUseSimd(N, M)>,
193
18
                                const From&, const To&, size_t, size_t) =
194
18
        GenericTransposeBlock<0, 0, From, To>;
195
18
    NoInlineWrapper(transpose, tag, from, to, N, M);
196
18
  }
Unexecuted instantiation: dec_group.cc:void jxl::N_AVX2::(anonymous namespace)::Transpose<128ul, 256ul, void>::Run<jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: dec_group.cc:void jxl::N_AVX2::(anonymous namespace)::Transpose<256ul, 128ul, void>::Run<jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: dec_group.cc:void jxl::N_AVX2::(anonymous namespace)::Transpose<256ul, 256ul, void>::Run<jxl::N_AVX2::(anonymous namespace)::DCTFrom, jxl::N_AVX2::(anonymous namespace)::DCTTo>(jxl::N_AVX2::(anonymous namespace)::DCTFrom const&, jxl::N_AVX2::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: dec_group.cc:void jxl::N_SSE2::(anonymous namespace)::Transpose<16ul, 32ul, void>::Run<jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: dec_group.cc:void jxl::N_SSE2::(anonymous namespace)::Transpose<32ul, 16ul, void>::Run<jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: dec_group.cc:void jxl::N_SSE2::(anonymous namespace)::Transpose<32ul, 32ul, void>::Run<jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: dec_group.cc:void jxl::N_SSE2::(anonymous namespace)::Transpose<32ul, 64ul, void>::Run<jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: dec_group.cc:void jxl::N_SSE2::(anonymous namespace)::Transpose<64ul, 32ul, void>::Run<jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: dec_group.cc:void jxl::N_SSE2::(anonymous namespace)::Transpose<64ul, 64ul, void>::Run<jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: dec_group.cc:void jxl::N_SSE2::(anonymous namespace)::Transpose<64ul, 128ul, void>::Run<jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: dec_group.cc:void jxl::N_SSE2::(anonymous namespace)::Transpose<128ul, 64ul, void>::Run<jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: dec_group.cc:void jxl::N_SSE2::(anonymous namespace)::Transpose<128ul, 128ul, void>::Run<jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: dec_group.cc:void jxl::N_SSE2::(anonymous namespace)::Transpose<128ul, 256ul, void>::Run<jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: dec_group.cc:void jxl::N_SSE2::(anonymous namespace)::Transpose<256ul, 128ul, void>::Run<jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&)
Unexecuted instantiation: dec_group.cc:void jxl::N_SSE2::(anonymous namespace)::Transpose<256ul, 256ul, void>::Run<jxl::N_SSE2::(anonymous namespace)::DCTFrom, jxl::N_SSE2::(anonymous namespace)::DCTTo>(jxl::N_SSE2::(anonymous namespace)::DCTFrom const&, jxl::N_SSE2::(anonymous namespace)::DCTTo const&)
197
};
198
199
}  // namespace
200
// NOLINTNEXTLINE(google-readability-namespace-comments)
201
}  // namespace HWY_NAMESPACE
202
}  // namespace jxl
203
HWY_AFTER_NAMESPACE();
204
205
#endif  // LIB_JXL_TRANSPOSE_INL_H_