]> gcc.gnu.org Git - gcc.git/blob - gcc/testsuite/gcc.target/powerpc/subfus-2.c
Update ChangeLog.meissner
[gcc.git] / gcc / testsuite / gcc.target / powerpc / subfus-2.c
1 /* { dg-do compile { target lp64 } } */
2 /* { dg-require-effective-target powerpc_future_ok } */
3 /* { dg-options "-mdejagnu-cpu=future -O2" } */
4
5 /* Test whether the saturating subtract built-in generates subwus for 64-bit
6 subtracts. */
7
8 long do_sat_long (long a, long b)
9 {
10 return __builtin_saturate_subtract64 (a, b); /* subwus */
11 }
12
13 long do_sat_long_dot (long a, long b, long *p)
14 {
15 long r = __builtin_saturate_subtract64 (a, b); /* subwus. */
16 if (r == 0)
17 *p = 0;
18
19 return r;
20 }
21
22 void do_sat_long_dot2 (long a, long b, long *p, long *q)
23 {
24 if (__builtin_saturate_subtract64 (a, b)) /* subwus. */
25 *p = 0;
26
27 *q = a + b;
28 return;
29 }
30
31 /* { dg-final { scan-assembler {\msubdus\M} } } */
32 /* { dg-final { scan-assembler-not {\msubf\M} } } */
This page took 0.036374 seconds and 5 git commands to generate.