annotate run/ieee_754_zerosdq_03.d @ 1630:d0efa3ae5522 default tip

run/mini/naked_asm5: New x86_64 ABI passes the arguments in reverse order.
author David Nadlinger <code@klickverbot.at>
date Sat, 23 Apr 2011 22:57:32 +0200
parents 660f9196b52a
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
496
e720ce827c1c added IEEE 754 tests for 0-handing
thomask
parents:
diff changeset
1 // $HeadURL$
e720ce827c1c added IEEE 754 tests for 0-handing
thomask
parents:
diff changeset
2 // $Date$
e720ce827c1c added IEEE 754 tests for 0-handing
thomask
parents:
diff changeset
3 // $Author$
e720ce827c1c added IEEE 754 tests for 0-handing
thomask
parents:
diff changeset
4
e720ce827c1c added IEEE 754 tests for 0-handing
thomask
parents:
diff changeset
5 module dstress.run.ieee_754_zerosdq_03;
e720ce827c1c added IEEE 754 tests for 0-handing
thomask
parents:
diff changeset
6
e720ce827c1c added IEEE 754 tests for 0-handing
thomask
parents:
diff changeset
7 // Check whether IEEE 754 signed zero is correctly supported.
e720ce827c1c added IEEE 754 tests for 0-handing
thomask
parents:
diff changeset
8
e720ce827c1c added IEEE 754 tests for 0-handing
thomask
parents:
diff changeset
9 union S{
e720ce827c1c added IEEE 754 tests for 0-handing
thomask
parents:
diff changeset
10 ifloat f;
697
fbee62becd2c partial repos review
thomask
parents: 496
diff changeset
11 uint i;
496
e720ce827c1c added IEEE 754 tests for 0-handing
thomask
parents:
diff changeset
12 }
e720ce827c1c added IEEE 754 tests for 0-handing
thomask
parents:
diff changeset
13
e720ce827c1c added IEEE 754 tests for 0-handing
thomask
parents:
diff changeset
14 int main(){
e720ce827c1c added IEEE 754 tests for 0-handing
thomask
parents:
diff changeset
15 S s;
e720ce827c1c added IEEE 754 tests for 0-handing
thomask
parents:
diff changeset
16
e720ce827c1c added IEEE 754 tests for 0-handing
thomask
parents:
diff changeset
17 s.f = 0.0fi;
1086
7e8e5013a030 gdc-0.19 review
thomask
parents: 697
diff changeset
18 if(s.i != 0x00000000){
7e8e5013a030 gdc-0.19 review
thomask
parents: 697
diff changeset
19 assert(0);
7e8e5013a030 gdc-0.19 review
thomask
parents: 697
diff changeset
20 }
496
e720ce827c1c added IEEE 754 tests for 0-handing
thomask
parents:
diff changeset
21
e720ce827c1c added IEEE 754 tests for 0-handing
thomask
parents:
diff changeset
22 s.f = -0.0fi;
1086
7e8e5013a030 gdc-0.19 review
thomask
parents: 697
diff changeset
23 if(s.i != 0x80000000){
7e8e5013a030 gdc-0.19 review
thomask
parents: 697
diff changeset
24 assert(0);
7e8e5013a030 gdc-0.19 review
thomask
parents: 697
diff changeset
25 }
496
e720ce827c1c added IEEE 754 tests for 0-handing
thomask
parents:
diff changeset
26
e720ce827c1c added IEEE 754 tests for 0-handing
thomask
parents:
diff changeset
27 s.f = 0.0fi - 0.0fi;
1086
7e8e5013a030 gdc-0.19 review
thomask
parents: 697
diff changeset
28 if(s.i != 0x00000000){
7e8e5013a030 gdc-0.19 review
thomask
parents: 697
diff changeset
29 assert(0);
7e8e5013a030 gdc-0.19 review
thomask
parents: 697
diff changeset
30 }
496
e720ce827c1c added IEEE 754 tests for 0-handing
thomask
parents:
diff changeset
31
e720ce827c1c added IEEE 754 tests for 0-handing
thomask
parents:
diff changeset
32 s.f = (-0.0fi) - 0.0fi;
1086
7e8e5013a030 gdc-0.19 review
thomask
parents: 697
diff changeset
33 if(s.i != 0x80000000){
7e8e5013a030 gdc-0.19 review
thomask
parents: 697
diff changeset
34 assert(0);
7e8e5013a030 gdc-0.19 review
thomask
parents: 697
diff changeset
35 }
496
e720ce827c1c added IEEE 754 tests for 0-handing
thomask
parents:
diff changeset
36
e720ce827c1c added IEEE 754 tests for 0-handing
thomask
parents:
diff changeset
37 s.f = 0.0fi;
1270
660f9196b52a partial review
thomask
parents: 1086
diff changeset
38 s.f *= 1.0f;
1086
7e8e5013a030 gdc-0.19 review
thomask
parents: 697
diff changeset
39 if(s.i != 0x00000000){
7e8e5013a030 gdc-0.19 review
thomask
parents: 697
diff changeset
40 assert(0);
7e8e5013a030 gdc-0.19 review
thomask
parents: 697
diff changeset
41 }
496
e720ce827c1c added IEEE 754 tests for 0-handing
thomask
parents:
diff changeset
42
e720ce827c1c added IEEE 754 tests for 0-handing
thomask
parents:
diff changeset
43 s.f = 0.0fi;
1270
660f9196b52a partial review
thomask
parents: 1086
diff changeset
44 s.f *= -1.0f;
1086
7e8e5013a030 gdc-0.19 review
thomask
parents: 697
diff changeset
45 if(s.i != 0x80000000){
7e8e5013a030 gdc-0.19 review
thomask
parents: 697
diff changeset
46 assert(0);
7e8e5013a030 gdc-0.19 review
thomask
parents: 697
diff changeset
47 }
496
e720ce827c1c added IEEE 754 tests for 0-handing
thomask
parents:
diff changeset
48
e720ce827c1c added IEEE 754 tests for 0-handing
thomask
parents:
diff changeset
49 return 0;
e720ce827c1c added IEEE 754 tests for 0-handing
thomask
parents:
diff changeset
50 }