Skip to content

Commit f7eac1d

Browse files
committed
Resolve #472: intrinsic header mix cross-compilation issue + reconsolidate them again
1 parent fed2b3b commit f7eac1d

35 files changed

Lines changed: 70 additions & 163 deletions

avs_core/convert/intel/convert_audio_avx2.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,9 @@
1111

1212
// Intrinsics base header + really required extension headers
1313
#if defined(_MSC_VER)
14-
#include <intrin.h> // MSVC, Clang-CL, and Intel C++ (in MSVC mode)
14+
#include <intrin.h> // MSVC
1515
#else
16-
#include <x86intrin.h> // GCC/MinGW, Clang (Linux/GNU mode), and Intel C++ (in non-MSVC mode) (__GNUC__, __clang__, __INTEL_COMPILER, etc.)
16+
#include <x86intrin.h> // GCC/MinGW/Clang/LLVM
1717
#endif
1818
#include <immintrin.h> // AVX2
1919

avs_core/convert/intel/convert_audio_sse.cpp

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,12 +11,10 @@
1111

1212
// Intrinsics base header + really required extension headers
1313
#if defined(_MSC_VER)
14-
#include <intrin.h> // MSVC, Clang-CL, and Intel C++ (in MSVC mode)
14+
#include <intrin.h> // MSVC
1515
#else
16-
#include <x86intrin.h> // GCC/MinGW, Clang (Linux/GNU mode), and Intel C++ (in non-MSVC mode) (__GNUC__, __clang__, __INTEL_COMPILER, etc.)
16+
#include <x86intrin.h> // GCC/MinGW/Clang/LLVM
1717
#endif
18-
#include <emmintrin.h> // SSE2
19-
#include <tmmintrin.h> // SSSE3
2018
#include <smmintrin.h> // SSE4.1
2119

2220
#if defined(GCC) || defined(CLANG)

avs_core/convert/intel/convert_bits_avx2.cpp

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -36,11 +36,12 @@
3636
#include <avs/alignment.h>
3737
#include <avs/minmax.h>
3838

39-
#ifdef AVS_WINDOWS
39+
#ifdef _MSC_VER
4040
#include <intrin.h>
4141
#else
4242
#include <x86intrin.h>
4343
#endif
44+
#include <immintrin.h>
4445

4546
#ifndef _mm256_set_m128i
4647
#define _mm256_set_m128i(v0, v1) _mm256_insertf128_si256(_mm256_castsi128_si256(v1), (v0), 1)
@@ -60,9 +61,6 @@
6061
#endif
6162

6263
template<typename pixel_t, bool chroma, bool fulls, bool fulld>
63-
#if defined(GCC) || defined(CLANG)
64-
__attribute__((__target__("avx2")))
65-
#endif
6664
void convert_32_to_uintN_avx2(const BYTE *srcp, BYTE *dstp, int src_rowsize, int src_height, int src_pitch, int dst_pitch, int source_bitdepth, int target_bitdepth, int dither_target_bitdepth)
6765
{
6866
const float* srcp0 = reinterpret_cast<const float*>(srcp);

avs_core/convert/intel/convert_bits_sse.cpp

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -51,12 +51,10 @@
5151

5252
// Intrinsics base header + really required extension headers
5353
#if defined(_MSC_VER)
54-
#include <intrin.h> // MSVC, Clang-CL, and Intel C++ (in MSVC mode)
54+
#include <intrin.h> // MSVC
5555
#else
56-
#include <x86intrin.h> // GCC/MinGW, Clang (Linux/GNU mode), and Intel C++ (in non-MSVC mode) (__GNUC__, __clang__, __INTEL_COMPILER, etc.)
56+
#include <x86intrin.h> // GCC/MinGW/Clang/LLVM
5757
#endif
58-
#include <emmintrin.h> // SSE2
59-
#include <tmmintrin.h> // SSSE3
6058
#include <smmintrin.h> // SSE4.1
6159

6260
// float to 8 bit, float to 10/12/14/16 bit

avs_core/convert/intel/convert_planar_avx2.cpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,11 +36,12 @@
3636

3737

3838
#include <avs/alignment.h>
39-
#ifdef AVS_WINDOWS
39+
#ifdef _MSC_VER
4040
#include <intrin.h>
4141
#else
4242
#include <x86intrin.h>
4343
#endif
44+
#include <immintrin.h>
4445

4546
#include "convert_planar_avx2.h"
4647

avs_core/convert/intel/convert_planar_sse.cpp

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -54,12 +54,10 @@
5454

5555
// Intrinsics base header + really required extension headers
5656
#if defined(_MSC_VER)
57-
#include <intrin.h> // MSVC, Clang-CL, and Intel C++ (in MSVC mode)
57+
#include <intrin.h> // MSVC
5858
#else
59-
#include <x86intrin.h> // GCC/MinGW, Clang (Linux/GNU mode), and Intel C++ (in non-MSVC mode) (__GNUC__, __clang__, __INTEL_COMPILER, etc.)
59+
#include <x86intrin.h> // GCC/MinGW/Clang/LLVM
6060
#endif
61-
#include <emmintrin.h> // SSE2
62-
#include <tmmintrin.h> // SSSE3
6361
#include <smmintrin.h> // SSE4.1
6462

6563
#include <algorithm>

avs_core/convert/intel/convert_rgb_avx2.cpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,11 +33,12 @@
3333
// import and export plugins, or graphical user interfaces.
3434

3535
#include <avs/alignment.h>
36-
#ifdef AVS_WINDOWS
36+
#ifdef _MSC_VER
3737
#include <intrin.h>
3838
#else
3939
#include <x86intrin.h>
4040
#endif
41+
#include <immintrin.h>
4142

4243
#ifndef _mm256_set_m128i
4344
#define _mm256_set_m128i(v0, v1) _mm256_insertf128_si256(_mm256_castsi128_si256(v1), (v0), 1)

avs_core/convert/intel/convert_rgb_sse.cpp

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -37,13 +37,11 @@
3737

3838
// Intrinsics base header + really required extension headers
3939
#if defined(_MSC_VER)
40-
#include <intrin.h> // MSVC, Clang-CL, and Intel C++ (in MSVC mode)
40+
#include <intrin.h> // MSVC
4141
#else
42-
#include <x86intrin.h> // GCC/MinGW, Clang (Linux/GNU mode), and Intel C++ (in non-MSVC mode) (__GNUC__, __clang__, __INTEL_COMPILER, etc.)
42+
#include <x86intrin.h> // GCC/MinGW/Clang/LLVM
4343
#endif
44-
#include <emmintrin.h> // SSE2
4544
#include <tmmintrin.h> // SSSE3
46-
#include <smmintrin.h> // SSE4.1
4745

4846
#include <avs/alignment.h>
4947

avs_core/convert/intel/convert_sse.cpp

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -36,13 +36,10 @@
3636

3737
// Intrinsics base header + really required extension headers
3838
#if defined(_MSC_VER)
39-
#include <intrin.h> // MSVC, Clang-CL, and Intel C++ (in MSVC mode)
39+
#include <intrin.h> // MSVC
4040
#else
41-
#include <x86intrin.h> // GCC/MinGW, Clang (Linux/GNU mode), and Intel C++ (in non-MSVC mode) (__GNUC__, __clang__, __INTEL_COMPILER, etc.)
41+
#include <x86intrin.h> // GCC/MinGW/Clang/LLVM
4242
#endif
43-
#include <emmintrin.h> // SSE2
44-
#include <tmmintrin.h> // SSSE3
45-
#include <smmintrin.h> // SSE4.1
4643

4744

4845
template<int rgb_size>

avs_core/convert/intel/convert_yuy2_sse.cpp

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -37,14 +37,10 @@
3737

3838
// Intrinsics base header + really required extension headers
3939
#if defined(_MSC_VER)
40-
#include <intrin.h> // MSVC, Clang-CL, and Intel C++ (in MSVC mode)
40+
#include <intrin.h> // MSVC
4141
#else
42-
#include <x86intrin.h> // GCC/MinGW, Clang (Linux/GNU mode), and Intel C++ (in non-MSVC mode) (__GNUC__, __clang__, __INTEL_COMPILER, etc.)
42+
#include <x86intrin.h> // GCC/MinGW/Clang/LLVM
4343
#endif
44-
#include <emmintrin.h> // SSE2
45-
#include <tmmintrin.h> // SSSE3
46-
#include <smmintrin.h> // SSE4.1
47-
4844

4945

5046
template<int rgb_bytes>

0 commit comments

Comments
 (0)