| /* { dg-do assemble { target avx512fp16 } } */ |
| /* { dg-options "-O2 -mavx512fp16" } */ |
| |
| typedef _Float16 __m256h __attribute__ ((__vector_size__ (32), __may_alias__)); |
| typedef _Float16 __m512h __attribute__ ((__vector_size__ (64), __may_alias__)); |
| typedef _Float16 __m128h __attribute__ ((__vector_size__ (16), __may_alias__)); |
| |
| extern __m128h x128, y128; |
| extern __m256h x256, y256; |
| extern __m512h x512, y512; |
| |
| __m128h |
| foo1 (float f1, __m128h f2) |
| { |
| x128 = y128; |
| return f2; |
| } |
| |
| __m256h |
| foo2 (float f1, __m256h f2) |
| { |
| x256 = y256; |
| return f2; |
| } |
| |
| __m512h |
| foo3 (float f1, __m512h f2) |
| { |
| x512 = y512; |
| return f2; |
| } |