/* { dg-do compile } */ /* { dg-options "-mdejagnu-cpu=power10 -O3 -dp" } */ long addadd0(long a, long b, long c) { return a+b+c; } long addadd1(long a, long b, long c, long *t) { long r=a+b+c; *t = b; return r; } long addadd2(long s, long a, long b, long c) { return b+c+a; } typedef vector long vlong; vlong vaddadd(vlong a, vlong b, vlong c) { return a+b+c; } vlong vaddadd1(vlong a, vlong b, vlong c, vlong *t) { vlong r=a+b+c; *t = b; return r; } vlong vaddadd2(vlong s, vlong a, vlong b, vlong c) { return a+b+c; } /* { dg-final { scan-assembler-times {\mfuse_add_add\M/} 3 { target lp64 } } } */ /* { dg-final { scan-assembler-times {\mfuse_vaddudm_vaddudm\M/} 3 { target lp64 } } } */ /* { dg-final { scan-assembler-times {\mfuse_add_add\M/} 3 { target ilp32 } } } */ /* { dg-final { scan-assembler-times {\mfuse_vaddudm_vaddudm\M/} 0 { target ilp32 } } } */