annotate gcc/testsuite/gcc.dg/pr31096.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 /* PR middle-end/31096 */
kono
parents:
diff changeset
2 /* { dg-do compile } */
kono
parents:
diff changeset
3 /* { dg-options "-O2 -fdump-tree-optimized" } */
kono
parents:
diff changeset
4
kono
parents:
diff changeset
5 #define signval_pos(name, op) \
kono
parents:
diff changeset
6 int name (int a, int b) \
kono
parents:
diff changeset
7 { return a * 4 op b * 4; }
kono
parents:
diff changeset
8
kono
parents:
diff changeset
9 signval_pos(peq, ==) signval_pos(pne, !=) signval_pos(plt, <)
kono
parents:
diff changeset
10 signval_pos(pgt, >) signval_pos(pge, >=) signval_pos(ple, <=)
kono
parents:
diff changeset
11
kono
parents:
diff changeset
12 #define signval_neg(name, op) \
kono
parents:
diff changeset
13 int name (int a, int b) \
kono
parents:
diff changeset
14 { return a * -23 op b * -23; }
kono
parents:
diff changeset
15
kono
parents:
diff changeset
16 signval_neg(neq, ==) signval_neg(nne, !=) signval_neg(nlt, <)
kono
parents:
diff changeset
17 signval_neg(ngt, >) signval_neg(nge, >=) signval_neg(nle, <=)
kono
parents:
diff changeset
18
kono
parents:
diff changeset
19 #define vec_pos(name, op) \
kono
parents:
diff changeset
20 int name (int a[10], int b[10]) \
kono
parents:
diff changeset
21 { return a[3] * 4 op b[8] * 4; }
kono
parents:
diff changeset
22
kono
parents:
diff changeset
23 vec_pos(vpeq, ==) vec_pos(vpne, !=) vec_pos(vplt, <)
kono
parents:
diff changeset
24 vec_pos(vpgt, >) vec_pos(vpge, >=) vec_pos(vple, <=)
kono
parents:
diff changeset
25
kono
parents:
diff changeset
26 #define vec_neg(name, op) \
kono
parents:
diff changeset
27 int name (int a[10], int b[10]) \
kono
parents:
diff changeset
28 { return a[3] * -23 op b[8] * -23; }
kono
parents:
diff changeset
29
kono
parents:
diff changeset
30 vec_neg(vneq, ==) vec_neg(vnne, !=) vec_neg(vnlt, <)
kono
parents:
diff changeset
31 vec_neg(vngt, >) vec_neg(vnge, >=) vec_neg(vnle, <=)
kono
parents:
diff changeset
32
kono
parents:
diff changeset
33 /* { dg-final { scan-tree-dump-not "\\(D\\) \\* 4" "optimized" } } */
kono
parents:
diff changeset
34 /* { dg-final { scan-tree-dump-not "\\(D\\) \\* -23" "optimized" } } */
kono
parents:
diff changeset
35 /* { dg-final { scan-tree-dump-times "_1 = b_2\\(D\\)" 4 "optimized" } } */
kono
parents:
diff changeset
36 /* { dg-final { scan-tree-dump-times "_1 = MEM\\\[\\(int \\*\\)b" 4 "optimized" } } */