comparison gcc/testsuite/gcc.dg/tree-ssa/vrp58.c @ 131:84e7813d76e9

gcc-8.2
author mir3636
date Thu, 25 Oct 2018 07:37:49 +0900
parents 04ced10e8804
children
comparison
equal deleted inserted replaced
111:04ced10e8804 131:84e7813d76e9
1 /* { dg-do compile } */ 1 /* { dg-do compile } */
2 /* { dg-options "-O2 -fdump-tree-vrp1-details" } */ 2 /* { dg-options "-O2 -fdump-tree-cddce1" } */
3 3
4 long long 4 long long
5 foo (long long a, signed char b, signed char c) 5 foo (long long a, signed char b, signed char c)
6 { 6 {
7 int bc = b * c; 7 int bc = b * c;
8 return a + (short)bc; 8 return a + (short)bc;
9 } 9 }
10 10
11 /* { dg-final { scan-tree-dump "Folded into" "vrp1" { target int32plus } } } */ 11 /* EVRP should remove the truncation to short, keeping (long long)bc. */
12 /* { dg-final { scan-tree-dump "Folding statement: _\[0-9\]\* = \\(long long int\\) bc_\[0-9\]\*;" "vrp1" { target int16 } } } */ 12 /* { dg-final { scan-tree-dump-not "short" "cddce1" { target int32plus } } } */