Mercurial > hg > CbC > CbC_gcc
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 } } } */ |