annotate gcc/testsuite/gcc.dg/tree-ssa/backprop-5.c @ 131:84e7813d76e9

gcc-8.2
author mir3636
date Thu, 25 Oct 2018 07:37:49 +0900
parents 04ced10e8804
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
111
kono
parents:
diff changeset
1 /* { dg-do compile } */
kono
parents:
diff changeset
2 /* { dg-options "-O -g -fdump-tree-backprop-details" } */
kono
parents:
diff changeset
3
kono
parents:
diff changeset
4 /* Test a loop that does both a multiplication and addition. The addition
kono
parents:
diff changeset
5 should prevent any sign ops from being removed. */
kono
parents:
diff changeset
6 #define TEST_FUNCTION(TYPE, SUFFIX) \
kono
parents:
diff changeset
7 TYPE \
kono
parents:
diff changeset
8 test##SUFFIX (TYPE x, TYPE y, TYPE *array, int n) \
kono
parents:
diff changeset
9 { \
kono
parents:
diff changeset
10 x = __builtin_copysign##SUFFIX (x, y); \
kono
parents:
diff changeset
11 for (int i = 0; i < n; ++i) \
kono
parents:
diff changeset
12 x = (x + 1) * array[i]; \
kono
parents:
diff changeset
13 return __builtin_hypot##SUFFIX (x, y); \
kono
parents:
diff changeset
14 }
kono
parents:
diff changeset
15
kono
parents:
diff changeset
16 TEST_FUNCTION (float, f)
kono
parents:
diff changeset
17 TEST_FUNCTION (double, )
kono
parents:
diff changeset
18 TEST_FUNCTION (long double, l)
kono
parents:
diff changeset
19
kono
parents:
diff changeset
20 /* { dg-final { scan-tree-dump-times {Deleting[^\n]* = __builtin_copysign} 0 "backprop" } } */