131
|
1 /* { dg-do compile } */
|
|
2 /* { dg-options "-O -frounding-math -fdump-tree-optimized-raw -Wno-psabi" } */
|
|
3
|
|
4 #define DEF(num, T1, T2) T2 f##num(T1 x) { \
|
|
5 T1 y = -x; \
|
|
6 T2 z = (T2)y; \
|
|
7 return -z; \
|
|
8 }
|
|
9 DEF(0, int, long long)
|
|
10 DEF(1, int, unsigned long long)
|
|
11 DEF(2, long long, int)
|
|
12 DEF(3, unsigned long long, int)
|
|
13 DEF(4, long long, unsigned)
|
|
14 DEF(5, unsigned long long, unsigned)
|
|
15 DEF(6, float, double)
|
|
16
|
|
17 typedef int vec __attribute__((vector_size(4*sizeof(int))));
|
|
18 typedef unsigned uvec __attribute__((vector_size(4*sizeof(int))));
|
|
19 void h(vec*p,uvec*q){
|
|
20 vec a = -*p;
|
|
21 *q = -(uvec)a;
|
|
22 }
|
|
23
|
|
24 /* { dg-final { scan-tree-dump-not "negate_expr" "optimized"} } */
|