mirror of
https://chromium.googlesource.com/libyuv/libyuv
synced 2026-02-09 11:16:43 +08:00
Enable SSE2 code without -msse
Bug: libyuv:754 Test: CC=clang CXX=clang++ CFLAGS="-m32" CXXFLAGS="-m32 -mno-sse -O2" make -f linux.mk Change-Id: I74bf8d032013694e65ea7637bc38d3253db53ff2 Reviewed-on: https://chromium-review.googlesource.com/758043 Reviewed-by: Frank Barchard <fbarchard@google.com>
This commit is contained in:
parent
12084cd068
commit
01e994d74e
@ -19,7 +19,7 @@ extern "C" {
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined(__pnacl__) || defined(__CLR_VER) || \
|
#if defined(__pnacl__) || defined(__CLR_VER) || \
|
||||||
(defined(__i386__) && !defined(__SSE2__))
|
(defined(__i386__) && !defined(__SSE__) && !defined(__clang__))
|
||||||
#define LIBYUV_DISABLE_X86
|
#define LIBYUV_DISABLE_X86
|
||||||
#endif
|
#endif
|
||||||
// MemorySanitizer does not support assembly code yet. http://crbug.com/344505
|
// MemorySanitizer does not support assembly code yet. http://crbug.com/344505
|
||||||
|
|||||||
@ -746,7 +746,7 @@ int I420Interpolate(const uint8* src0_y,
|
|||||||
int interpolation);
|
int interpolation);
|
||||||
|
|
||||||
#if defined(__pnacl__) || defined(__CLR_VER) || \
|
#if defined(__pnacl__) || defined(__CLR_VER) || \
|
||||||
(defined(__i386__) && !defined(__SSE2__))
|
(defined(__i386__) && !defined(__SSE__) && !defined(__clang__))
|
||||||
#define LIBYUV_DISABLE_X86
|
#define LIBYUV_DISABLE_X86
|
||||||
#endif
|
#endif
|
||||||
// MemorySanitizer does not support assembly code yet. http://crbug.com/344505
|
// MemorySanitizer does not support assembly code yet. http://crbug.com/344505
|
||||||
|
|||||||
@ -19,7 +19,7 @@ extern "C" {
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined(__pnacl__) || defined(__CLR_VER) || \
|
#if defined(__pnacl__) || defined(__CLR_VER) || \
|
||||||
(defined(__i386__) && !defined(__SSE2__))
|
(defined(__i386__) && !defined(__SSE__) && !defined(__clang__))
|
||||||
#define LIBYUV_DISABLE_X86
|
#define LIBYUV_DISABLE_X86
|
||||||
#endif
|
#endif
|
||||||
// MemorySanitizer does not support assembly code yet. http://crbug.com/344505
|
// MemorySanitizer does not support assembly code yet. http://crbug.com/344505
|
||||||
|
|||||||
@ -31,7 +31,7 @@ extern "C" {
|
|||||||
var = 0
|
var = 0
|
||||||
|
|
||||||
#if defined(__pnacl__) || defined(__CLR_VER) || \
|
#if defined(__pnacl__) || defined(__CLR_VER) || \
|
||||||
(defined(__i386__) && !defined(__SSE2__))
|
(defined(__i386__) && !defined(__SSE__) && !defined(__clang__))
|
||||||
#define LIBYUV_DISABLE_X86
|
#define LIBYUV_DISABLE_X86
|
||||||
#endif
|
#endif
|
||||||
// MemorySanitizer does not support assembly code yet. http://crbug.com/344505
|
// MemorySanitizer does not support assembly code yet. http://crbug.com/344505
|
||||||
|
|||||||
@ -20,7 +20,7 @@ extern "C" {
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined(__pnacl__) || defined(__CLR_VER) || \
|
#if defined(__pnacl__) || defined(__CLR_VER) || \
|
||||||
(defined(__i386__) && !defined(__SSE2__))
|
(defined(__i386__) && !defined(__SSE__) && !defined(__clang__))
|
||||||
#define LIBYUV_DISABLE_X86
|
#define LIBYUV_DISABLE_X86
|
||||||
#endif
|
#endif
|
||||||
// MemorySanitizer does not support assembly code yet. http://crbug.com/344505
|
// MemorySanitizer does not support assembly code yet. http://crbug.com/344505
|
||||||
|
|||||||
2
linux.mk
2
linux.mk
@ -80,4 +80,4 @@ cpuid: util/cpuid.c libyuv.a
|
|||||||
$(CC) $(CFLAGS) -o $@ util/cpuid.c libyuv.a
|
$(CC) $(CFLAGS) -o $@ util/cpuid.c libyuv.a
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
/bin/rm -f source/*.o *.ii *.s libyuv.a convert cpuid psnr
|
/bin/rm -f source/*.o *.ii *.s libyuv.a yuvconvert cpuid psnr
|
||||||
|
|||||||
@ -5713,7 +5713,7 @@ void HalfFloatRow_SSE2(const uint16* src, uint16* dst, float scale, int width) {
|
|||||||
: "+r"(src), // %0
|
: "+r"(src), // %0
|
||||||
"+r"(dst), // %1
|
"+r"(dst), // %1
|
||||||
"+r"(width) // %2
|
"+r"(width) // %2
|
||||||
: "x"(scale * kScaleBias) // %3
|
: "mx"(scale * kScaleBias) // %3
|
||||||
: "memory", "cc",
|
: "memory", "cc",
|
||||||
"xmm2", "xmm3", "xmm4", "xmm5"
|
"xmm2", "xmm3", "xmm4", "xmm5"
|
||||||
);
|
);
|
||||||
@ -5749,7 +5749,7 @@ void HalfFloatRow_AVX2(const uint16* src, uint16* dst, float scale, int width) {
|
|||||||
: "+r"(src), // %0
|
: "+r"(src), // %0
|
||||||
"+r"(dst), // %1
|
"+r"(dst), // %1
|
||||||
"+r"(width) // %2
|
"+r"(width) // %2
|
||||||
: "x"(scale * kScaleBias) // %3
|
: "mx"(scale * kScaleBias) // %3
|
||||||
: "memory", "cc",
|
: "memory", "cc",
|
||||||
"xmm2", "xmm3", "xmm4", "xmm5"
|
"xmm2", "xmm3", "xmm4", "xmm5"
|
||||||
);
|
);
|
||||||
@ -5782,7 +5782,7 @@ void HalfFloatRow_F16C(const uint16* src, uint16* dst, float scale, int width) {
|
|||||||
: "+r"(src), // %0
|
: "+r"(src), // %0
|
||||||
"+r"(dst), // %1
|
"+r"(dst), // %1
|
||||||
"+r"(width) // %2
|
"+r"(width) // %2
|
||||||
: "x"(scale) // %3
|
: "mx"(scale) // %3
|
||||||
: "memory", "cc",
|
: "memory", "cc",
|
||||||
"xmm2", "xmm3", "xmm4"
|
"xmm2", "xmm3", "xmm4"
|
||||||
);
|
);
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user