#ifndef gimp_composite_sse2_h
#define gimp_composite_sse2_h

extern gboolean gimp_composite_sse2_init (void);

/*
        * The function gimp_composite_*_install() is defined in the code generated by make-install.py
        * I hate to create a .h file just for that declaration, so I do it here (for now).
 */
extern gboolean gimp_composite_sse2_install (void);

#if !defined(__INTEL_COMPILER) || defined(USE_INTEL_COMPILER_ANYWAY)
#if defined(USE_SSE)
#if defined(ARCH_X86)
#if __GNUC__ >= 3
#if defined(ARCH_X86_64) || (!defined(PIC) && !defined(__PIC__))
#define COMPILE_SSE2_IS_OKAY (1)
#endif /* defined(ARCH_X86_64) || (!defined(PIC) && !defined(__PIC__)) */
#endif /* __GNUC__ >= 3*/
#endif /* defined(ARCH_X86) */
#endif /* defined(USE_SSE) */
#endif /* !defined(__INTEL_COMPILER) */

#ifdef COMPILE_SSE2_IS_OKAY
extern void gimp_composite_addition_rgba8_rgba8_rgba8_sse2 (GimpCompositeContext *ctx);
extern void gimp_composite_darken_rgba8_rgba8_rgba8_sse2 (GimpCompositeContext *ctx);
extern void gimp_composite_difference_rgba8_rgba8_rgba8_sse2 (GimpCompositeContext *ctx);
extern void gimp_composite_grain_extract_rgba8_rgba8_rgba8_sse2 (GimpCompositeContext *ctx);
extern void gimp_composite_lighten_rgba8_rgba8_rgba8_sse2 (GimpCompositeContext *ctx);
extern void gimp_composite_subtract_rgba8_rgba8_rgba8_sse2 (GimpCompositeContext *ctx);
extern void gimp_composite_swap_rgba8_rgba8_rgba8_sse2 (GimpCompositeContext *ctx);
extern void gimp_composite_dodge_rgba8_rgba8_rgba8_sse2 (GimpCompositeContext *ctx);
#endif
#endif
