c++: normalizing ttp constraints [PR115656]
[official-gcc.git] / gcc / testsuite / gcc.target / powerpc / fusion-p10-addadd.c
blob68886b92ea29256aa32309a0cabd3ca9f89e2fd5
1 /* { dg-do compile } */
2 /* { dg-options "-mdejagnu-cpu=power10 -O3 -dp" } */
4 long addadd0(long a, long b, long c)
6 return a+b+c;
8 long addadd1(long a, long b, long c, long *t)
10 long r=a+b+c;
11 *t = b;
12 return r;
14 long addadd2(long s, long a, long b, long c)
16 return b+c+a;
19 typedef vector long vlong;
20 vlong vaddadd(vlong a, vlong b, vlong c)
22 return a+b+c;
24 vlong vaddadd1(vlong a, vlong b, vlong c, vlong *t)
26 vlong r=a+b+c;
27 *t = b;
28 return r;
30 vlong vaddadd2(vlong s, vlong a, vlong b, vlong c)
32 return a+b+c;
35 /* { dg-final { scan-assembler-times {\mfuse_add_add\M/} 3 { target lp64 } } } */
36 /* { dg-final { scan-assembler-times {\mfuse_vaddudm_vaddudm\M/} 3 { target lp64 } } } */
37 /* { dg-final { scan-assembler-times {\mfuse_add_add\M/} 3 { target ilp32 } } } */
38 /* { dg-final { scan-assembler-times {\mfuse_vaddudm_vaddudm\M/} 0 { target ilp32 } } } */