libgomp: Document 'GOMP_teams4'
[official-gcc.git] / gcc / testsuite / gcc.target / aarch64 / fmul_lane_1.c
bloba2b57581c84f4c921bb658d9a0d3f0268e5415fb
1 /* { dg-options "-O" } */
3 #pragma GCC target "+simd+fp16"
5 __Float16x4_t
6 f1 (__Float16x4_t x, __Float16x4_t y)
8 return x * y[0];
11 __Float16x4_t
12 f2 (__Float16x4_t x, __Float16x4_t y)
14 return x * y[3];
17 __Float16x4_t
18 f3 (__Float16x4_t x, __Float16x8_t y)
20 return x * y[0];
23 __Float16x4_t
24 f4 (__Float16x4_t x, __Float16x8_t y)
26 return x * y[7];
29 __Float16x8_t
30 f5 (__Float16x8_t x, __Float16x4_t y)
32 return x * y[0];
35 __Float16x8_t
36 f6 (__Float16x8_t x, __Float16x4_t y)
38 return x * y[3];
41 __Float16x8_t
42 f7 (__Float16x8_t x, __Float16x8_t y)
44 return x * y[0];
47 __Float16x8_t
48 f8 (__Float16x8_t x, __Float16x8_t y)
50 return x * y[7];
53 /* { dg-final { scan-assembler-times {\tfmul\tv0.4h, v0.4h, v1.h\[0\]} 2 } } */
54 /* { dg-final { scan-assembler-times {\tfmul\tv0.4h, v0.4h, v1.h\[3\]} 1 } } */
55 /* { dg-final { scan-assembler-times {\tfmul\tv0.4h, v0.4h, v1.h\[7\]} 1 } } */
57 /* { dg-final { scan-assembler-times {\tfmul\tv0.8h, v0.8h, v1.h\[0\]} 2 } } */
58 /* { dg-final { scan-assembler-times {\tfmul\tv0.8h, v0.8h, v1.h\[3\]} 1 } } */
59 /* { dg-final { scan-assembler-times {\tfmul\tv0.8h, v0.8h, v1.h\[7\]} 1 } } */