annotate gcc/testsuite/gcc.dg/builtins-50.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 run } */
kono
parents:
diff changeset
2 /* { dg-options "-O2" } */
kono
parents:
diff changeset
3
kono
parents:
diff changeset
4 extern double copysign(double,double);
kono
parents:
diff changeset
5 extern float copysignf(float,float);
kono
parents:
diff changeset
6 extern double fabs(double);
kono
parents:
diff changeset
7 extern float fabsf(float);
kono
parents:
diff changeset
8 extern void abort(void);
kono
parents:
diff changeset
9
kono
parents:
diff changeset
10
kono
parents:
diff changeset
11 double test1(double x, double y)
kono
parents:
diff changeset
12 {
kono
parents:
diff changeset
13 return copysign(-x,y);
kono
parents:
diff changeset
14 }
kono
parents:
diff changeset
15
kono
parents:
diff changeset
16 float test1f(float x, float y)
kono
parents:
diff changeset
17 {
kono
parents:
diff changeset
18 return copysignf(-x,y);
kono
parents:
diff changeset
19 }
kono
parents:
diff changeset
20
kono
parents:
diff changeset
21 double test2(double x, double y)
kono
parents:
diff changeset
22 {
kono
parents:
diff changeset
23 return copysign(fabs(x),y);
kono
parents:
diff changeset
24 }
kono
parents:
diff changeset
25
kono
parents:
diff changeset
26 float test2f(float x, float y)
kono
parents:
diff changeset
27 {
kono
parents:
diff changeset
28 return copysignf(fabsf(x),y);
kono
parents:
diff changeset
29 }
kono
parents:
diff changeset
30
kono
parents:
diff changeset
31 double test3(double x, double y, double z)
kono
parents:
diff changeset
32 {
kono
parents:
diff changeset
33 return copysign(x*-y,z);
kono
parents:
diff changeset
34 }
kono
parents:
diff changeset
35
kono
parents:
diff changeset
36 float test3f(float x, float y, float z)
kono
parents:
diff changeset
37 {
kono
parents:
diff changeset
38 return copysignf(x*-y,z);
kono
parents:
diff changeset
39 }
kono
parents:
diff changeset
40
kono
parents:
diff changeset
41 double test4(double x, double y, double z)
kono
parents:
diff changeset
42 {
kono
parents:
diff changeset
43 return copysign(x/-y,z);
kono
parents:
diff changeset
44 }
kono
parents:
diff changeset
45
kono
parents:
diff changeset
46 float test4f(float x, float y, float z)
kono
parents:
diff changeset
47 {
kono
parents:
diff changeset
48 return copysignf(x/-y,z);
kono
parents:
diff changeset
49 }
kono
parents:
diff changeset
50
kono
parents:
diff changeset
51 int main()
kono
parents:
diff changeset
52 {
kono
parents:
diff changeset
53 if (test1(3.0,2.0) != 3.0)
kono
parents:
diff changeset
54 abort();
kono
parents:
diff changeset
55 if (test1(3.0,-2.0) != -3.0)
kono
parents:
diff changeset
56 abort();
kono
parents:
diff changeset
57 if (test1(-3.0,2.0) != 3.0)
kono
parents:
diff changeset
58 abort();
kono
parents:
diff changeset
59 if (test1(-3.0,-2.0) != -3.0)
kono
parents:
diff changeset
60 abort();
kono
parents:
diff changeset
61
kono
parents:
diff changeset
62 if (test1f(3.0f,2.0f) != 3.0f)
kono
parents:
diff changeset
63 abort();
kono
parents:
diff changeset
64 if (test1f(3.0f,-2.0f) != -3.0f)
kono
parents:
diff changeset
65 abort();
kono
parents:
diff changeset
66 if (test1f(-3.0f,2.0f) != 3.0f)
kono
parents:
diff changeset
67 abort();
kono
parents:
diff changeset
68 if (test1f(-3.0f,-2.0f) != -3.0f)
kono
parents:
diff changeset
69 abort();
kono
parents:
diff changeset
70
kono
parents:
diff changeset
71 if (test2(3.0,2.0) != 3.0)
kono
parents:
diff changeset
72 abort();
kono
parents:
diff changeset
73 if (test2(3.0,-2.0) != -3.0)
kono
parents:
diff changeset
74 abort();
kono
parents:
diff changeset
75 if (test2(-3.0,2.0) != 3.0)
kono
parents:
diff changeset
76 abort();
kono
parents:
diff changeset
77 if (test2(-3.0,-2.0) != -3.0)
kono
parents:
diff changeset
78 abort();
kono
parents:
diff changeset
79
kono
parents:
diff changeset
80 if (test2f(3.0f,2.0f) != 3.0f)
kono
parents:
diff changeset
81 abort();
kono
parents:
diff changeset
82 if (test2f(3.0f,-2.0f) != -3.0f)
kono
parents:
diff changeset
83 abort();
kono
parents:
diff changeset
84 if (test2f(-3.0f,2.0f) != 3.0f)
kono
parents:
diff changeset
85 abort();
kono
parents:
diff changeset
86 if (test2f(-3.0f,-2.0f) != -3.0f)
kono
parents:
diff changeset
87 abort();
kono
parents:
diff changeset
88
kono
parents:
diff changeset
89 if (test3(2.0,3.0,4.0) != 6.0)
kono
parents:
diff changeset
90 abort();
kono
parents:
diff changeset
91 if (test3(2.0,3.0,-4.0) != -6.0)
kono
parents:
diff changeset
92 abort();
kono
parents:
diff changeset
93 if (test3(2.0,-3.0,4.0) != 6.0)
kono
parents:
diff changeset
94 abort();
kono
parents:
diff changeset
95 if (test3(2.0,-3.0,-4.0) != -6.0)
kono
parents:
diff changeset
96 abort();
kono
parents:
diff changeset
97 if (test3(-2.0,3.0,4.0) != 6.0)
kono
parents:
diff changeset
98 abort();
kono
parents:
diff changeset
99 if (test3(-2.0,3.0,-4.0) != -6.0)
kono
parents:
diff changeset
100 abort();
kono
parents:
diff changeset
101 if (test3(-2.0,-3.0,4.0) != 6.0)
kono
parents:
diff changeset
102 abort();
kono
parents:
diff changeset
103 if (test3(-2.0,-3.0,-4.0) != -6.0)
kono
parents:
diff changeset
104 abort();
kono
parents:
diff changeset
105
kono
parents:
diff changeset
106 if (test3f(2.0f,3.0f,4.0f) != 6.0f)
kono
parents:
diff changeset
107 abort();
kono
parents:
diff changeset
108 if (test3f(2.0f,3.0f,-4.0f) != -6.0f)
kono
parents:
diff changeset
109 abort();
kono
parents:
diff changeset
110 if (test3f(2.0f,-3.0f,4.0f) != 6.0f)
kono
parents:
diff changeset
111 abort();
kono
parents:
diff changeset
112 if (test3f(2.0f,-3.0f,-4.0f) != -6.0f)
kono
parents:
diff changeset
113 abort();
kono
parents:
diff changeset
114 if (test3f(-2.0f,3.0f,4.0f) != 6.0f)
kono
parents:
diff changeset
115 abort();
kono
parents:
diff changeset
116 if (test3f(-2.0f,3.0f,-4.0f) != -6.0f)
kono
parents:
diff changeset
117 abort();
kono
parents:
diff changeset
118 if (test3f(-2.0f,-3.0f,4.0f) != 6.0f)
kono
parents:
diff changeset
119 abort();
kono
parents:
diff changeset
120 if (test3f(-2.0f,-3.0f,-4.0f) != -6.0f)
kono
parents:
diff changeset
121 abort();
kono
parents:
diff changeset
122
kono
parents:
diff changeset
123 if (test4(8.0,2.0,3.0) != 4.0)
kono
parents:
diff changeset
124 abort();
kono
parents:
diff changeset
125 if (test4(8.0,2.0,-3.0) != -4.0)
kono
parents:
diff changeset
126 abort();
kono
parents:
diff changeset
127 if (test4(8.0,-2.0,3.0) != 4.0)
kono
parents:
diff changeset
128 abort();
kono
parents:
diff changeset
129 if (test4(8.0,-2.0,-3.0) != -4.0)
kono
parents:
diff changeset
130 abort();
kono
parents:
diff changeset
131 if (test4(-8.0,2.0,3.0) != 4.0)
kono
parents:
diff changeset
132 abort();
kono
parents:
diff changeset
133 if (test4(-8.0,2.0,-3.0) != -4.0)
kono
parents:
diff changeset
134 abort();
kono
parents:
diff changeset
135 if (test4(-8.0,-2.0,3.0) != 4.0)
kono
parents:
diff changeset
136 abort();
kono
parents:
diff changeset
137 if (test4(-8.0,-2.0,-3.0) != -4.0)
kono
parents:
diff changeset
138 abort();
kono
parents:
diff changeset
139
kono
parents:
diff changeset
140 if (test4f(8.0f,2.0f,3.0f) != 4.0f)
kono
parents:
diff changeset
141 abort();
kono
parents:
diff changeset
142 if (test4f(8.0f,2.0f,-3.0f) != -4.0f)
kono
parents:
diff changeset
143 abort();
kono
parents:
diff changeset
144 if (test4f(8.0f,-2.0f,3.0f) != 4.0f)
kono
parents:
diff changeset
145 abort();
kono
parents:
diff changeset
146 if (test4f(8.0f,-2.0f,-3.0f) != -4.0f)
kono
parents:
diff changeset
147 abort();
kono
parents:
diff changeset
148 if (test4f(-8.0f,2.0f,3.0f) != 4.0f)
kono
parents:
diff changeset
149 abort();
kono
parents:
diff changeset
150 if (test4f(-8.0f,2.0f,-3.0f) != -4.0f)
kono
parents:
diff changeset
151 abort();
kono
parents:
diff changeset
152 if (test4f(-8.0f,-2.0f,3.0f) != 4.0f)
kono
parents:
diff changeset
153 abort();
kono
parents:
diff changeset
154 if (test4f(-8.0f,-2.0f,-3.0f) != -4.0f)
kono
parents:
diff changeset
155 abort();
kono
parents:
diff changeset
156
kono
parents:
diff changeset
157 return 0;
kono
parents:
diff changeset
158 }
kono
parents:
diff changeset
159