commit 4b58824e5e9ada8aa65a56f56db0140838b88b15
parent ea730e70e6b2523ce0c0e4a86ff7f22267e4e7bf
Author: Sebastian Frysztak <sebfry@gmail.com>
Date: Sat, 5 Nov 2016 12:30:22 +0100
SSE2: don't use VEX prefix.
Diffstat:
2 files changed, 4 insertions(+), 2 deletions(-)
diff --git a/Makefile b/Makefile
@@ -16,6 +16,7 @@ CFLAGS += -pipe
CFLAGS += -Wall
CFLAGS += -O2
SIMD_CFLAGS += -mavx
+SIMD_CFLAGS += -mno-sse2avx
SIMD_CFLAGS += -mssse3
SIMD_CFLAGS += -funroll-loops
CPPFLAGS += -D_GNU_SOURCE
diff --git a/blur.h b/blur.h
@@ -7,9 +7,10 @@
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);
+__attribute__((__target__(("no-avx"))))
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_horizontal_pass_avx(uint32_t *src, uint32_t *dst, float *kernel, int width, int height);