Viewing file: blendv-1.c (1.3 KB) -rw-r--r-- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
/* { dg-do compile } */ /* { dg-options "-mavx2 -O2 -mno-avx512f" } */ /* { dg-final { scan-assembler-times {pblendvb[\t ]*%xmm} 1 } } */ /* { dg-final { scan-assembler-times {pblendvb[\t ]*%ymm} 1 } } */ /* { dg-final { scan-assembler-times {blendvps[\t ]*%xmm} 1 } } */ /* { dg-final { scan-assembler-times {blendvps[\t ]*%ymm} 1 } } */ /* { dg-final { scan-assembler-times {blendvpd[\t ]*%xmm} 1 } } */ /* { dg-final { scan-assembler-times {blendvpd[\t ]*%ymm} 1 } } */
typedef float v4sf __attribute__ ((vector_size (16))); typedef float v8sf __attribute__ ((vector_size (32))); typedef double v2df __attribute__ ((vector_size (16))); typedef double v4df __attribute__ ((vector_size (32))); typedef char v16qi __attribute__ ((vector_size (16))); typedef char v32qi __attribute__ ((vector_size (32)));
v4sf foo (v4sf a, v4sf b, v4sf c) { return __builtin_ia32_blendvps (a, b, c); }
v8sf foo2 (v8sf a, v8sf b, v8sf c) { return __builtin_ia32_blendvps256 (a, b, c); }
v2df foo3 (v2df a, v2df b, v2df c) { return __builtin_ia32_blendvpd (a, b, c); }
v4df foo4 (v4df a, v4df b, v4df c) { return __builtin_ia32_blendvpd256 (a, b, c); }
v16qi foo5 (v16qi a, v16qi b, v16qi c) { return __builtin_ia32_pblendvb128 (a, b, c); }
v32qi foo6 (v32qi a, v32qi b, v32qi c) { return __builtin_ia32_pblendvb256 (a, b, c); }
|