1 #include <immintrin.h> 2 3 #define PASTER2(x,y) x##y 4 #define PASTER3(x,y,z) _mm##x##_##y##_##z 5 #define OP(vec, op, suffix) PASTER3 (vec, op, suffix) 6 #define DUP(vec, suffix, val) PASTER3 (vec, set1, suffix) (val) 7 8 extern SCALAR f; 9 10 type foo(type x)11foo (type x) 12 { 13 return OP (vec, op, suffix) (DUP (vec, suffix, f), x); 14 } 15