From 75a5403e9e2de3d6174a25590e45817953490c7c Mon Sep 17 00:00:00 2001 From: "fbarchard@google.com" Date: Mon, 15 Apr 2013 23:21:48 +0000 Subject: [PATCH] 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 --- README.chromium | 2 +- include/libyuv/version.h | 2 +- source/row_posix.cc | 12 ++++++------ 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/README.chromium b/README.chromium index ce30de129..66d3ab3b3 100644 --- a/README.chromium +++ b/README.chromium @@ -1,6 +1,6 @@ Name: libyuv URL: http://code.google.com/p/libyuv/ -Version: 665 +Version: 666 License File: LICENSE Description: diff --git a/include/libyuv/version.h b/include/libyuv/version.h index de9c13058..1ea91cb53 100644 --- a/include/libyuv/version.h +++ b/include/libyuv/version.h @@ -11,6 +11,6 @@ #ifndef INCLUDE_LIBYUV_VERSION_H_ // NOLINT #define INCLUDE_LIBYUV_VERSION_H_ -#define LIBYUV_VERSION 665 +#define LIBYUV_VERSION 666 #endif // INCLUDE_LIBYUV_VERSION_H_ NOLINT diff --git a/source/row_posix.cc b/source/row_posix.cc index 5112b9092..59979a7ff 100644 --- a/source/row_posix.cc +++ b/source/row_posix.cc @@ -2038,7 +2038,7 @@ void OMITFP I422ToRGB24Row_SSSE3(const uint8* y_buf, uint8* dst_rgb24, int width) { // fpic 32 bit gcc 4.2 on OSX runs out of GPR regs. -#ifdef __APPLE__ +#if defined(__APPLE__) || defined(__llvm__) asm volatile ( "movdqa %[kShuffleMaskARGBToRGB24_0],%%xmm5 \n" "movdqa %[kShuffleMaskARGBToRGB24],%%xmm6 \n" @@ -2047,7 +2047,7 @@ void OMITFP I422ToRGB24Row_SSSE3(const uint8* y_buf, #endif asm volatile ( -#ifndef __APPLE__ +#if !(defined(__APPLE__) || defined(__llvm__)) "movdqa %[kShuffleMaskARGBToRGB24_0],%%xmm5 \n" "movdqa %[kShuffleMaskARGBToRGB24],%%xmm6 \n" #endif @@ -2076,7 +2076,7 @@ void OMITFP I422ToRGB24Row_SSSE3(const uint8* y_buf, [dst_rgb24]"+r"(dst_rgb24), // %[dst_rgb24] [width]"+rm"(width) // %[width] : [kYuvConstants]"r"(&kYuvConstants.kUVToB) -#ifndef __APPLE__ +#if !(defined(__APPLE__) || defined(__llvm__)) , [kShuffleMaskARGBToRGB24_0]"m"(kShuffleMaskARGBToRGB24_0), [kShuffleMaskARGBToRGB24]"m"(kShuffleMaskARGBToRGB24) #endif @@ -2093,7 +2093,7 @@ void OMITFP I422ToRAWRow_SSSE3(const uint8* y_buf, uint8* dst_raw, int width) { // fpic 32 bit gcc 4.2 on OSX runs out of GPR regs. -#ifdef __APPLE__ +#if defined(__APPLE__) || defined(__llvm__) asm volatile ( "movdqa %[kShuffleMaskARGBToRAW_0],%%xmm5 \n" "movdqa %[kShuffleMaskARGBToRAW],%%xmm6 \n" @@ -2102,7 +2102,7 @@ void OMITFP I422ToRAWRow_SSSE3(const uint8* y_buf, #endif asm volatile ( -#ifndef __APPLE__ +#if !(defined(__APPLE__) || defined(__llvm__)) "movdqa %[kShuffleMaskARGBToRAW_0],%%xmm5 \n" "movdqa %[kShuffleMaskARGBToRAW],%%xmm6 \n" #endif @@ -2131,7 +2131,7 @@ void OMITFP I422ToRAWRow_SSSE3(const uint8* y_buf, [dst_raw]"+r"(dst_raw), // %[dst_raw] [width]"+rm"(width) // %[width] : [kYuvConstants]"r"(&kYuvConstants.kUVToB) -#ifndef __APPLE__ +#if !(defined(__APPLE__) || defined(__llvm__)) , [kShuffleMaskARGBToRAW_0]"m"(kShuffleMaskARGBToRAW_0), [kShuffleMaskARGBToRAW]"m"(kShuffleMaskARGBToRAW) #endif