gecko: unbreak build with GCC after r453437

MFH:		2017Q4
This commit is contained in:
Jan Beich 2017-11-04 10:10:57 +00:00
parent 4cb488e0ff
commit 98002fdeba
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=453446
4 changed files with 90 additions and 111 deletions

View file

@ -1,72 +1,67 @@
Build libyuv with SIMD optimizations on Linux x86.
Always build libyuv x86 optimizations with Clang.
diff --git media/libyuv/include/libyuv/compare_row.h media/libyuv/include/libyuv/compare_row.h
index 7abc2d4aef8f..161c12fa1b83 100644
index 7abc2d4aef8f..fcf942c660a2 100644
--- mozilla/media/libyuv/include/libyuv/compare_row.h
+++ mozilla/media/libyuv/include/libyuv/compare_row.h
@@ -18,8 +18,7 @@ namespace libyuv {
extern "C" {
@@ -19,7 +19,7 @@ extern "C" {
#endif
-#if defined(__pnacl__) || defined(__CLR_VER) || \
#if defined(__pnacl__) || defined(__CLR_VER) || \
- (defined(__i386__) && !defined(__SSE2__))
+#if defined(__pnacl__) || defined(__CLR_VER)
+ (defined(__GNUC__) && !defined(__clang__) && !defined(__SSE__))
#define LIBYUV_DISABLE_X86
#endif
// MemorySanitizer does not support assembly code yet. http://crbug.com/344505
diff --git media/libyuv/include/libyuv/planar_functions.h media/libyuv/include/libyuv/planar_functions.h
index 040839c211b1..0d672dec96d6 100644
index 040839c211b1..e99cb47d472f 100644
--- mozilla/media/libyuv/include/libyuv/planar_functions.h
+++ mozilla/media/libyuv/include/libyuv/planar_functions.h
@@ -719,8 +719,7 @@ int I420Interpolate(const uint8* src0_y,
int height,
@@ -720,7 +720,7 @@ int I420Interpolate(const uint8* src0_y,
int interpolation);
-#if defined(__pnacl__) || defined(__CLR_VER) || \
#if defined(__pnacl__) || defined(__CLR_VER) || \
- (defined(__i386__) && !defined(__SSE2__))
+#if defined(__pnacl__) || defined(__CLR_VER)
+ (defined(__GNUC__) && !defined(__clang__) && !defined(__SSE__))
#define LIBYUV_DISABLE_X86
#endif
// MemorySanitizer does not support assembly code yet. http://crbug.com/344505
diff --git media/libyuv/include/libyuv/rotate_row.h media/libyuv/include/libyuv/rotate_row.h
index 2c51584eee8b..73bbe8ef7ad4 100644
index 2c51584eee8b..762ca4ba3ab9 100644
--- mozilla/media/libyuv/include/libyuv/rotate_row.h
+++ mozilla/media/libyuv/include/libyuv/rotate_row.h
@@ -18,8 +18,7 @@ namespace libyuv {
extern "C" {
@@ -19,7 +19,7 @@ extern "C" {
#endif
-#if defined(__pnacl__) || defined(__CLR_VER) || \
#if defined(__pnacl__) || defined(__CLR_VER) || \
- (defined(__i386__) && !defined(__SSE2__))
+#if defined(__pnacl__) || defined(__CLR_VER)
+ (defined(__GNUC__) && !defined(__clang__) && !defined(__SSE__))
#define LIBYUV_DISABLE_X86
#endif
// MemorySanitizer does not support assembly code yet. http://crbug.com/344505
diff --git media/libyuv/include/libyuv/row.h media/libyuv/include/libyuv/row.h
index f74bd9f7d17a..3bdfb75fc160 100644
index f74bd9f7d17a..b52d6d1fcee0 100644
--- mozilla/media/libyuv/include/libyuv/row.h
+++ mozilla/media/libyuv/include/libyuv/row.h
@@ -30,8 +30,7 @@ extern "C" {
free(var##_mem); \
@@ -31,7 +31,7 @@ extern "C" {
var = 0
-#if defined(__pnacl__) || defined(__CLR_VER) || \
#if defined(__pnacl__) || defined(__CLR_VER) || \
- (defined(__i386__) && !defined(__SSE2__))
+#if defined(__pnacl__) || defined(__CLR_VER)
+ (defined(__GNUC__) && !defined(__clang__) && !defined(__SSE__))
#define LIBYUV_DISABLE_X86
#endif
// MemorySanitizer does not support assembly code yet. http://crbug.com/344505
diff --git media/libyuv/include/libyuv/scale_row.h media/libyuv/include/libyuv/scale_row.h
index edb46cc8c647..fe78a80f81bd 100644
index edb46cc8c647..59017260b16d 100644
--- mozilla/media/libyuv/include/libyuv/scale_row.h
+++ mozilla/media/libyuv/include/libyuv/scale_row.h
@@ -19,8 +19,7 @@ namespace libyuv {
extern "C" {
@@ -20,7 +20,7 @@ extern "C" {
#endif
-#if defined(__pnacl__) || defined(__CLR_VER) || \
#if defined(__pnacl__) || defined(__CLR_VER) || \
- (defined(__i386__) && !defined(__SSE2__))
+#if defined(__pnacl__) || defined(__CLR_VER)
+ (defined(__GNUC__) && !defined(__clang__) && !defined(__SSE__))
#define LIBYUV_DISABLE_X86
#endif
// MemorySanitizer does not support assembly code yet. http://crbug.com/344505

View file

@ -1,72 +1,67 @@
Build libyuv with SIMD optimizations on Linux x86.
Always build libyuv x86 optimizations with Clang.
diff --git media/libyuv/include/libyuv/compare_row.h media/libyuv/include/libyuv/compare_row.h
index 7abc2d4aef8f..161c12fa1b83 100644
index 7abc2d4aef8f..fcf942c660a2 100644
--- media/libyuv/include/libyuv/compare_row.h
+++ media/libyuv/include/libyuv/compare_row.h
@@ -18,8 +18,7 @@ namespace libyuv {
extern "C" {
@@ -19,7 +19,7 @@ extern "C" {
#endif
-#if defined(__pnacl__) || defined(__CLR_VER) || \
#if defined(__pnacl__) || defined(__CLR_VER) || \
- (defined(__i386__) && !defined(__SSE2__))
+#if defined(__pnacl__) || defined(__CLR_VER)
+ (defined(__GNUC__) && !defined(__clang__) && !defined(__SSE__))
#define LIBYUV_DISABLE_X86
#endif
// MemorySanitizer does not support assembly code yet. http://crbug.com/344505
diff --git media/libyuv/include/libyuv/planar_functions.h media/libyuv/include/libyuv/planar_functions.h
index 040839c211b1..0d672dec96d6 100644
index 040839c211b1..e99cb47d472f 100644
--- media/libyuv/include/libyuv/planar_functions.h
+++ media/libyuv/include/libyuv/planar_functions.h
@@ -719,8 +719,7 @@ int I420Interpolate(const uint8* src0_y,
int height,
@@ -720,7 +720,7 @@ int I420Interpolate(const uint8* src0_y,
int interpolation);
-#if defined(__pnacl__) || defined(__CLR_VER) || \
#if defined(__pnacl__) || defined(__CLR_VER) || \
- (defined(__i386__) && !defined(__SSE2__))
+#if defined(__pnacl__) || defined(__CLR_VER)
+ (defined(__GNUC__) && !defined(__clang__) && !defined(__SSE__))
#define LIBYUV_DISABLE_X86
#endif
// MemorySanitizer does not support assembly code yet. http://crbug.com/344505
diff --git media/libyuv/include/libyuv/rotate_row.h media/libyuv/include/libyuv/rotate_row.h
index 2c51584eee8b..73bbe8ef7ad4 100644
index 2c51584eee8b..762ca4ba3ab9 100644
--- media/libyuv/include/libyuv/rotate_row.h
+++ media/libyuv/include/libyuv/rotate_row.h
@@ -18,8 +18,7 @@ namespace libyuv {
extern "C" {
@@ -19,7 +19,7 @@ extern "C" {
#endif
-#if defined(__pnacl__) || defined(__CLR_VER) || \
#if defined(__pnacl__) || defined(__CLR_VER) || \
- (defined(__i386__) && !defined(__SSE2__))
+#if defined(__pnacl__) || defined(__CLR_VER)
+ (defined(__GNUC__) && !defined(__clang__) && !defined(__SSE__))
#define LIBYUV_DISABLE_X86
#endif
// MemorySanitizer does not support assembly code yet. http://crbug.com/344505
diff --git media/libyuv/include/libyuv/row.h media/libyuv/include/libyuv/row.h
index f74bd9f7d17a..3bdfb75fc160 100644
index f74bd9f7d17a..b52d6d1fcee0 100644
--- media/libyuv/include/libyuv/row.h
+++ media/libyuv/include/libyuv/row.h
@@ -30,8 +30,7 @@ extern "C" {
free(var##_mem); \
@@ -31,7 +31,7 @@ extern "C" {
var = 0
-#if defined(__pnacl__) || defined(__CLR_VER) || \
#if defined(__pnacl__) || defined(__CLR_VER) || \
- (defined(__i386__) && !defined(__SSE2__))
+#if defined(__pnacl__) || defined(__CLR_VER)
+ (defined(__GNUC__) && !defined(__clang__) && !defined(__SSE__))
#define LIBYUV_DISABLE_X86
#endif
// MemorySanitizer does not support assembly code yet. http://crbug.com/344505
diff --git media/libyuv/include/libyuv/scale_row.h media/libyuv/include/libyuv/scale_row.h
index edb46cc8c647..fe78a80f81bd 100644
index edb46cc8c647..59017260b16d 100644
--- media/libyuv/include/libyuv/scale_row.h
+++ media/libyuv/include/libyuv/scale_row.h
@@ -19,8 +19,7 @@ namespace libyuv {
extern "C" {
@@ -20,7 +20,7 @@ extern "C" {
#endif
-#if defined(__pnacl__) || defined(__CLR_VER) || \
#if defined(__pnacl__) || defined(__CLR_VER) || \
- (defined(__i386__) && !defined(__SSE2__))
+#if defined(__pnacl__) || defined(__CLR_VER)
+ (defined(__GNUC__) && !defined(__clang__) && !defined(__SSE__))
#define LIBYUV_DISABLE_X86
#endif
// MemorySanitizer does not support assembly code yet. http://crbug.com/344505

View file

@ -1,94 +1,88 @@
Build libyuv with SIMD optimizations on Linux x86.
Always build libyuv x86 optimizations with Clang.
diff --git media/libyuv/libyuv/include/libyuv/compare_row.h media/libyuv/libyuv/include/libyuv/compare_row.h
index 7abc2d4aef8f..161c12fa1b83 100644
index 7abc2d4aef8f..fcf942c660a2 100644
--- media/libyuv/libyuv/include/libyuv/compare_row.h
+++ media/libyuv/libyuv/include/libyuv/compare_row.h
@@ -18,8 +18,7 @@ namespace libyuv {
extern "C" {
@@ -19,7 +19,7 @@ extern "C" {
#endif
-#if defined(__pnacl__) || defined(__CLR_VER) || \
#if defined(__pnacl__) || defined(__CLR_VER) || \
- (defined(__i386__) && !defined(__SSE2__))
+#if defined(__pnacl__) || defined(__CLR_VER)
+ (defined(__GNUC__) && !defined(__clang__) && !defined(__SSE__))
#define LIBYUV_DISABLE_X86
#endif
// MemorySanitizer does not support assembly code yet. http://crbug.com/344505
diff --git media/libyuv/libyuv/include/libyuv/planar_functions.h media/libyuv/libyuv/include/libyuv/planar_functions.h
index 040839c211b1..0d672dec96d6 100644
index 040839c211b1..e99cb47d472f 100644
--- media/libyuv/libyuv/include/libyuv/planar_functions.h
+++ media/libyuv/libyuv/include/libyuv/planar_functions.h
@@ -719,8 +719,7 @@ int I420Interpolate(const uint8* src0_y,
int height,
@@ -720,7 +720,7 @@ int I420Interpolate(const uint8* src0_y,
int interpolation);
-#if defined(__pnacl__) || defined(__CLR_VER) || \
#if defined(__pnacl__) || defined(__CLR_VER) || \
- (defined(__i386__) && !defined(__SSE2__))
+#if defined(__pnacl__) || defined(__CLR_VER)
+ (defined(__GNUC__) && !defined(__clang__) && !defined(__SSE__))
#define LIBYUV_DISABLE_X86
#endif
// MemorySanitizer does not support assembly code yet. http://crbug.com/344505
diff --git media/libyuv/libyuv/include/libyuv/rotate_row.h media/libyuv/libyuv/include/libyuv/rotate_row.h
index 2c51584eee8b..73bbe8ef7ad4 100644
index 2c51584eee8b..762ca4ba3ab9 100644
--- media/libyuv/libyuv/include/libyuv/rotate_row.h
+++ media/libyuv/libyuv/include/libyuv/rotate_row.h
@@ -18,8 +18,7 @@ namespace libyuv {
extern "C" {
@@ -19,7 +19,7 @@ extern "C" {
#endif
-#if defined(__pnacl__) || defined(__CLR_VER) || \
#if defined(__pnacl__) || defined(__CLR_VER) || \
- (defined(__i386__) && !defined(__SSE2__))
+#if defined(__pnacl__) || defined(__CLR_VER)
+ (defined(__GNUC__) && !defined(__clang__) && !defined(__SSE__))
#define LIBYUV_DISABLE_X86
#endif
// MemorySanitizer does not support assembly code yet. http://crbug.com/344505
diff --git media/libyuv/libyuv/include/libyuv/row.h media/libyuv/libyuv/include/libyuv/row.h
index f74bd9f7d17a..3bdfb75fc160 100644
index f74bd9f7d17a..b52d6d1fcee0 100644
--- media/libyuv/libyuv/include/libyuv/row.h
+++ media/libyuv/libyuv/include/libyuv/row.h
@@ -30,8 +30,7 @@ extern "C" {
free(var##_mem); \
@@ -31,7 +31,7 @@ extern "C" {
var = 0
-#if defined(__pnacl__) || defined(__CLR_VER) || \
#if defined(__pnacl__) || defined(__CLR_VER) || \
- (defined(__i386__) && !defined(__SSE2__))
+#if defined(__pnacl__) || defined(__CLR_VER)
+ (defined(__GNUC__) && !defined(__clang__) && !defined(__SSE__))
#define LIBYUV_DISABLE_X86
#endif
// MemorySanitizer does not support assembly code yet. http://crbug.com/344505
@@ -103,7 +102,10 @@ extern "C" {
@@ -103,7 +103,9 @@ extern "C" {
#define HAS_COPYROW_ERMS
#define HAS_COPYROW_SSE2
#define HAS_H422TOARGBROW_SSSE3
+#ifdef __SSE2__
+// source/row_gcc.cc:5457:5: error: couldn't allocate input reg for constraint 'x'
+#if defined(_MSC_VER) || defined(__SSE__)
#define HAS_HALFFLOATROW_SSE2
+#endif
#define HAS_I400TOARGBROW_SSE2
#define HAS_I422TOARGB1555ROW_SSSE3
#define HAS_I422TOARGB4444ROW_SSSE3
@@ -202,7 +204,10 @@ extern "C" {
@@ -202,8 +204,10 @@ extern "C" {
#define HAS_ARGBTOYROW_AVX2
#define HAS_COPYROW_AVX
#define HAS_H422TOARGBROW_AVX2
+#ifdef __SSE2__
+// source/row_gcc.cc:5492:5: error: couldn't allocate input reg for constraint 'x'
+#if defined(_MSC_VER) || defined(__SSE__)
#define HAS_HALFFLOATROW_AVX2
+#endif
// #define HAS_HALFFLOATROW_F16C // Enable to test halffloat cast
+#endif
#define HAS_I400TOARGBROW_AVX2
#define HAS_I422TOARGB1555ROW_AVX2
#define HAS_I422TOARGB4444ROW_AVX2
diff --git media/libyuv/libyuv/include/libyuv/scale_row.h media/libyuv/libyuv/include/libyuv/scale_row.h
index edb46cc8c647..fe78a80f81bd 100644
index edb46cc8c647..59017260b16d 100644
--- media/libyuv/libyuv/include/libyuv/scale_row.h
+++ media/libyuv/libyuv/include/libyuv/scale_row.h
@@ -19,8 +19,7 @@ namespace libyuv {
extern "C" {
@@ -20,7 +20,7 @@ extern "C" {
#endif
-#if defined(__pnacl__) || defined(__CLR_VER) || \
#if defined(__pnacl__) || defined(__CLR_VER) || \
- (defined(__i386__) && !defined(__SSE2__))
+#if defined(__pnacl__) || defined(__CLR_VER)
+ (defined(__GNUC__) && !defined(__clang__) && !defined(__SSE__))
#define LIBYUV_DISABLE_X86
#endif
// MemorySanitizer does not support assembly code yet. http://crbug.com/344505

View file

@ -1,72 +1,67 @@
Build libyuv with SIMD optimizations on Linux x86.
Always build libyuv x86 optimizations with Clang.
diff --git media/libyuv/include/libyuv/compare_row.h media/libyuv/include/libyuv/compare_row.h
index 7abc2d4aef8f..161c12fa1b83 100644
index 7abc2d4aef8f..fcf942c660a2 100644
--- mozilla/media/libyuv/include/libyuv/compare_row.h
+++ mozilla/media/libyuv/include/libyuv/compare_row.h
@@ -18,8 +18,7 @@ namespace libyuv {
extern "C" {
@@ -19,7 +19,7 @@ extern "C" {
#endif
-#if defined(__pnacl__) || defined(__CLR_VER) || \
#if defined(__pnacl__) || defined(__CLR_VER) || \
- (defined(__i386__) && !defined(__SSE2__))
+#if defined(__pnacl__) || defined(__CLR_VER)
+ (defined(__GNUC__) && !defined(__clang__) && !defined(__SSE__))
#define LIBYUV_DISABLE_X86
#endif
// MemorySanitizer does not support assembly code yet. http://crbug.com/344505
diff --git media/libyuv/include/libyuv/planar_functions.h media/libyuv/include/libyuv/planar_functions.h
index 040839c211b1..0d672dec96d6 100644
index 040839c211b1..e99cb47d472f 100644
--- mozilla/media/libyuv/include/libyuv/planar_functions.h
+++ mozilla/media/libyuv/include/libyuv/planar_functions.h
@@ -719,8 +719,7 @@ int I420Interpolate(const uint8* src0_y,
int height,
@@ -720,7 +720,7 @@ int I420Interpolate(const uint8* src0_y,
int interpolation);
-#if defined(__pnacl__) || defined(__CLR_VER) || \
#if defined(__pnacl__) || defined(__CLR_VER) || \
- (defined(__i386__) && !defined(__SSE2__))
+#if defined(__pnacl__) || defined(__CLR_VER)
+ (defined(__GNUC__) && !defined(__clang__) && !defined(__SSE__))
#define LIBYUV_DISABLE_X86
#endif
// MemorySanitizer does not support assembly code yet. http://crbug.com/344505
diff --git media/libyuv/include/libyuv/rotate_row.h media/libyuv/include/libyuv/rotate_row.h
index 2c51584eee8b..73bbe8ef7ad4 100644
index 2c51584eee8b..762ca4ba3ab9 100644
--- mozilla/media/libyuv/include/libyuv/rotate_row.h
+++ mozilla/media/libyuv/include/libyuv/rotate_row.h
@@ -18,8 +18,7 @@ namespace libyuv {
extern "C" {
@@ -19,7 +19,7 @@ extern "C" {
#endif
-#if defined(__pnacl__) || defined(__CLR_VER) || \
#if defined(__pnacl__) || defined(__CLR_VER) || \
- (defined(__i386__) && !defined(__SSE2__))
+#if defined(__pnacl__) || defined(__CLR_VER)
+ (defined(__GNUC__) && !defined(__clang__) && !defined(__SSE__))
#define LIBYUV_DISABLE_X86
#endif
// MemorySanitizer does not support assembly code yet. http://crbug.com/344505
diff --git media/libyuv/include/libyuv/row.h media/libyuv/include/libyuv/row.h
index f74bd9f7d17a..3bdfb75fc160 100644
index f74bd9f7d17a..b52d6d1fcee0 100644
--- mozilla/media/libyuv/include/libyuv/row.h
+++ mozilla/media/libyuv/include/libyuv/row.h
@@ -30,8 +30,7 @@ extern "C" {
free(var##_mem); \
@@ -31,7 +31,7 @@ extern "C" {
var = 0
-#if defined(__pnacl__) || defined(__CLR_VER) || \
#if defined(__pnacl__) || defined(__CLR_VER) || \
- (defined(__i386__) && !defined(__SSE2__))
+#if defined(__pnacl__) || defined(__CLR_VER)
+ (defined(__GNUC__) && !defined(__clang__) && !defined(__SSE__))
#define LIBYUV_DISABLE_X86
#endif
// MemorySanitizer does not support assembly code yet. http://crbug.com/344505
diff --git media/libyuv/include/libyuv/scale_row.h media/libyuv/include/libyuv/scale_row.h
index edb46cc8c647..fe78a80f81bd 100644
index edb46cc8c647..59017260b16d 100644
--- mozilla/media/libyuv/include/libyuv/scale_row.h
+++ mozilla/media/libyuv/include/libyuv/scale_row.h
@@ -19,8 +19,7 @@ namespace libyuv {
extern "C" {
@@ -20,7 +20,7 @@ extern "C" {
#endif
-#if defined(__pnacl__) || defined(__CLR_VER) || \
#if defined(__pnacl__) || defined(__CLR_VER) || \
- (defined(__i386__) && !defined(__SSE2__))
+#if defined(__pnacl__) || defined(__CLR_VER)
+ (defined(__GNUC__) && !defined(__clang__) && !defined(__SSE__))
#define LIBYUV_DISABLE_X86
#endif
// MemorySanitizer does not support assembly code yet. http://crbug.com/344505