Commit 75a5403e authored by fbarchard@google.com's avatar fbarchard@google.com

llvm -O0 -fpic 32 bit runs out of registers. Extend the apple fix to llvm.

BUG=none
TEST=none

Review URL: https://webrtc-codereview.appspot.com/1320005

git-svn-id: http://libyuv.googlecode.com/svn/trunk@666 16f28f9a-4ce2-e073-06de-1de4eb20be90
parent 2b115a52
Name: libyuv Name: libyuv
URL: http://code.google.com/p/libyuv/ URL: http://code.google.com/p/libyuv/
Version: 665 Version: 666
License File: LICENSE License File: LICENSE
Description: Description:
......
...@@ -11,6 +11,6 @@ ...@@ -11,6 +11,6 @@
#ifndef INCLUDE_LIBYUV_VERSION_H_ // NOLINT #ifndef INCLUDE_LIBYUV_VERSION_H_ // NOLINT
#define INCLUDE_LIBYUV_VERSION_H_ #define INCLUDE_LIBYUV_VERSION_H_
#define LIBYUV_VERSION 665 #define LIBYUV_VERSION 666
#endif // INCLUDE_LIBYUV_VERSION_H_ NOLINT #endif // INCLUDE_LIBYUV_VERSION_H_ NOLINT
...@@ -2038,7 +2038,7 @@ void OMITFP I422ToRGB24Row_SSSE3(const uint8* y_buf, ...@@ -2038,7 +2038,7 @@ void OMITFP I422ToRGB24Row_SSSE3(const uint8* y_buf,
uint8* dst_rgb24, uint8* dst_rgb24,
int width) { int width) {
// fpic 32 bit gcc 4.2 on OSX runs out of GPR regs. // fpic 32 bit gcc 4.2 on OSX runs out of GPR regs.
#ifdef __APPLE__ #if defined(__APPLE__) || defined(__llvm__)
asm volatile ( asm volatile (
"movdqa %[kShuffleMaskARGBToRGB24_0],%%xmm5 \n" "movdqa %[kShuffleMaskARGBToRGB24_0],%%xmm5 \n"
"movdqa %[kShuffleMaskARGBToRGB24],%%xmm6 \n" "movdqa %[kShuffleMaskARGBToRGB24],%%xmm6 \n"
...@@ -2047,7 +2047,7 @@ void OMITFP I422ToRGB24Row_SSSE3(const uint8* y_buf, ...@@ -2047,7 +2047,7 @@ void OMITFP I422ToRGB24Row_SSSE3(const uint8* y_buf,
#endif #endif
asm volatile ( asm volatile (
#ifndef __APPLE__ #if !(defined(__APPLE__) || defined(__llvm__))
"movdqa %[kShuffleMaskARGBToRGB24_0],%%xmm5 \n" "movdqa %[kShuffleMaskARGBToRGB24_0],%%xmm5 \n"
"movdqa %[kShuffleMaskARGBToRGB24],%%xmm6 \n" "movdqa %[kShuffleMaskARGBToRGB24],%%xmm6 \n"
#endif #endif
...@@ -2076,7 +2076,7 @@ void OMITFP I422ToRGB24Row_SSSE3(const uint8* y_buf, ...@@ -2076,7 +2076,7 @@ void OMITFP I422ToRGB24Row_SSSE3(const uint8* y_buf,
[dst_rgb24]"+r"(dst_rgb24), // %[dst_rgb24] [dst_rgb24]"+r"(dst_rgb24), // %[dst_rgb24]
[width]"+rm"(width) // %[width] [width]"+rm"(width) // %[width]
: [kYuvConstants]"r"(&kYuvConstants.kUVToB) : [kYuvConstants]"r"(&kYuvConstants.kUVToB)
#ifndef __APPLE__ #if !(defined(__APPLE__) || defined(__llvm__))
, [kShuffleMaskARGBToRGB24_0]"m"(kShuffleMaskARGBToRGB24_0), , [kShuffleMaskARGBToRGB24_0]"m"(kShuffleMaskARGBToRGB24_0),
[kShuffleMaskARGBToRGB24]"m"(kShuffleMaskARGBToRGB24) [kShuffleMaskARGBToRGB24]"m"(kShuffleMaskARGBToRGB24)
#endif #endif
...@@ -2093,7 +2093,7 @@ void OMITFP I422ToRAWRow_SSSE3(const uint8* y_buf, ...@@ -2093,7 +2093,7 @@ void OMITFP I422ToRAWRow_SSSE3(const uint8* y_buf,
uint8* dst_raw, uint8* dst_raw,
int width) { int width) {
// fpic 32 bit gcc 4.2 on OSX runs out of GPR regs. // fpic 32 bit gcc 4.2 on OSX runs out of GPR regs.
#ifdef __APPLE__ #if defined(__APPLE__) || defined(__llvm__)
asm volatile ( asm volatile (
"movdqa %[kShuffleMaskARGBToRAW_0],%%xmm5 \n" "movdqa %[kShuffleMaskARGBToRAW_0],%%xmm5 \n"
"movdqa %[kShuffleMaskARGBToRAW],%%xmm6 \n" "movdqa %[kShuffleMaskARGBToRAW],%%xmm6 \n"
...@@ -2102,7 +2102,7 @@ void OMITFP I422ToRAWRow_SSSE3(const uint8* y_buf, ...@@ -2102,7 +2102,7 @@ void OMITFP I422ToRAWRow_SSSE3(const uint8* y_buf,
#endif #endif
asm volatile ( asm volatile (
#ifndef __APPLE__ #if !(defined(__APPLE__) || defined(__llvm__))
"movdqa %[kShuffleMaskARGBToRAW_0],%%xmm5 \n" "movdqa %[kShuffleMaskARGBToRAW_0],%%xmm5 \n"
"movdqa %[kShuffleMaskARGBToRAW],%%xmm6 \n" "movdqa %[kShuffleMaskARGBToRAW],%%xmm6 \n"
#endif #endif
...@@ -2131,7 +2131,7 @@ void OMITFP I422ToRAWRow_SSSE3(const uint8* y_buf, ...@@ -2131,7 +2131,7 @@ void OMITFP I422ToRAWRow_SSSE3(const uint8* y_buf,
[dst_raw]"+r"(dst_raw), // %[dst_raw] [dst_raw]"+r"(dst_raw), // %[dst_raw]
[width]"+rm"(width) // %[width] [width]"+rm"(width) // %[width]
: [kYuvConstants]"r"(&kYuvConstants.kUVToB) : [kYuvConstants]"r"(&kYuvConstants.kUVToB)
#ifndef __APPLE__ #if !(defined(__APPLE__) || defined(__llvm__))
, [kShuffleMaskARGBToRAW_0]"m"(kShuffleMaskARGBToRAW_0), , [kShuffleMaskARGBToRAW_0]"m"(kShuffleMaskARGBToRAW_0),
[kShuffleMaskARGBToRAW]"m"(kShuffleMaskARGBToRAW) [kShuffleMaskARGBToRAW]"m"(kShuffleMaskARGBToRAW)
#endif #endif
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment