SSE2: don't use VEX prefix.

This commit is contained in:
Sebastian Frysztak 2016-11-05 12:30:22 +01:00
parent ea730e70e6
commit 4b58824e5e
2 changed files with 4 additions and 2 deletions

View File

@ -16,6 +16,7 @@ CFLAGS += -pipe
CFLAGS += -Wall CFLAGS += -Wall
CFLAGS += -O2 CFLAGS += -O2
SIMD_CFLAGS += -mavx SIMD_CFLAGS += -mavx
SIMD_CFLAGS += -mno-sse2avx
SIMD_CFLAGS += -mssse3 SIMD_CFLAGS += -mssse3
SIMD_CFLAGS += -funroll-loops SIMD_CFLAGS += -funroll-loops
CPPFLAGS += -D_GNU_SOURCE CPPFLAGS += -D_GNU_SOURCE

5
blur.h
View File

@ -7,9 +7,10 @@
void blur_image_surface (cairo_surface_t *surface, int radius); void blur_image_surface (cairo_surface_t *surface, int radius);
void blur_impl_naive(uint32_t* src, uint32_t* dst, int width, int height, int src_stride, int dst_stride, int radius); void blur_impl_naive(uint32_t* src, uint32_t* dst, int width, int height, int src_stride, int dst_stride, int radius);
__attribute__((__target__(("no-avx"))))
void blur_impl_sse2(uint32_t* src, uint32_t* dst, int width, int height, float sigma); void blur_impl_sse2(uint32_t* src, uint32_t* dst, int width, int height, float sigma);
void blur_impl_horizontal_pass_sse2(uint32_t *src, uint32_t *dst, float *kernel, int width, int height) __attribute__((__target__(("no-avx"))))
__attribute__ ((__target__ ("no-avx"))); void blur_impl_horizontal_pass_sse2(uint32_t *src, uint32_t *dst, float *kernel, int width, int height);
void blur_impl_avx(uint32_t* src, uint32_t* dst, int width, int height, float sigma); void blur_impl_avx(uint32_t* src, uint32_t* dst, int width, int height, float sigma);
void blur_impl_horizontal_pass_avx(uint32_t *src, uint32_t *dst, float *kernel, int width, int height); void blur_impl_horizontal_pass_avx(uint32_t *src, uint32_t *dst, float *kernel, int width, int height);