Browse Source

SSE2: don't use VEX prefix.

master
Sebastian Frysztak 8 years ago
parent
commit
4b58824e5e
  1. 1
      Makefile
  2. 5
      blur.h

1
Makefile

@ -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

@ -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);

Loading…
Cancel
Save