koxiong / libyuv

Automatically exported from code.google.com/p/libyuv
BSD 3-Clause "New" or "Revised" License
0 stars 0 forks source link

Remove ifdef SSE2 #395

Closed GoogleCodeExporter closed 8 years ago

GoogleCodeExporter commented 8 years ago
Remove ifdef SSE2 from intel code - require sse2.

Original issue reported on code.google.com by fbarch...@google.com on 5 Feb 2015 at 10:40

GoogleCodeExporter commented 8 years ago
When compiling with nacl, this produces an error by default
d:/src/nacl_sdk/pepper_canary/toolchain/win_x86_newlib/bin/i686-nacl-g++ -o 
newlib/Release/source/scale_posix_x86_32.o -c source/scale_posix.cc -g -O2 
-pthread
-MMD -DNDEBUG  -Id:/src/nacl_sdk/pepper_canary/include 
-Id:/src/nacl_sdk/pepper_canary/include/newlib  -I./include -DGCC_HAS_AVX2
source/scale_posix.cc: In function `void libyuv::ScaleRowDown2_SSE2(const 
uint8*, ptrdiff_t, uint8*, int)':
source/scale_posix.cc:118: error: unknown register name `xmm1' in `asm'
source/scale_posix.cc:118: error: unknown register name `xmm0' in `asm'

for 32 bit.  so add -msse2

set NACL_SDK_ROOT=d:/src/nacl_sdk/pepper_canary/
d:\src\nacl_sdk\pepper_canary\tools\make CONFIG=Release TESTING=1 V=1 
NACL_CFLAGS="-I./include" NACL_CXXFLAGS="-I./include" 
X86_32_CXXFLAGS="-DGCC_HAS_AVX2 -msse2" X86_64_CXXFLAGS="-DGCC_HAS_AVX2"

and it works.
r14 has been made a macro for nacl as well.  Its really only used for MEMOP* 
macros, so a followup to ensure r14 usage would be good.

Original comment by fbarch...@google.com on 5 Feb 2015 at 11:01

GoogleCodeExporter commented 8 years ago
fixed in r1264

Original comment by fbarch...@google.com on 5 Feb 2015 at 11:12

GoogleCodeExporter commented 8 years ago

Original comment by fbarch...@google.com on 5 Feb 2015 at 11:12