annotate tango.patch @ 1081:5710440ea420

Oops, had some unsaved changes
author Frits van Bommel <fvbommel wxs.nl>
date Tue, 10 Mar 2009 04:56:28 +0100
parents 4e388d9d0e25
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1079
4e388d9d0e25 Intrinsics overhaul:
Frits van Bommel <fvbommel wxs.nl>
parents:
diff changeset
1 Index: tango/tango/math/Math.d
4e388d9d0e25 Intrinsics overhaul:
Frits van Bommel <fvbommel wxs.nl>
parents:
diff changeset
2 ===================================================================
4e388d9d0e25 Intrinsics overhaul:
Frits van Bommel <fvbommel wxs.nl>
parents:
diff changeset
3 --- tango/tango/math/Math.d (revision 4388)
4e388d9d0e25 Intrinsics overhaul:
Frits van Bommel <fvbommel wxs.nl>
parents:
diff changeset
4 +++ tango/tango/math/Math.d (working copy)
4e388d9d0e25 Intrinsics overhaul:
Frits van Bommel <fvbommel wxs.nl>
parents:
diff changeset
5 @@ -80,13 +80,9 @@
4e388d9d0e25 Intrinsics overhaul:
Frits van Bommel <fvbommel wxs.nl>
parents:
diff changeset
6 } else version(D_InlineAsm_X86) {
4e388d9d0e25 Intrinsics overhaul:
Frits van Bommel <fvbommel wxs.nl>
parents:
diff changeset
7 version = Naked_D_InlineAsm_X86;
4e388d9d0e25 Intrinsics overhaul:
Frits van Bommel <fvbommel wxs.nl>
parents:
diff changeset
8 }
4e388d9d0e25 Intrinsics overhaul:
Frits van Bommel <fvbommel wxs.nl>
parents:
diff changeset
9 -else version(LDC)
4e388d9d0e25 Intrinsics overhaul:
Frits van Bommel <fvbommel wxs.nl>
parents:
diff changeset
10 +version(LDC)
4e388d9d0e25 Intrinsics overhaul:
Frits van Bommel <fvbommel wxs.nl>
parents:
diff changeset
11 {
4e388d9d0e25 Intrinsics overhaul:
Frits van Bommel <fvbommel wxs.nl>
parents:
diff changeset
12 import ldc.intrinsics;
4e388d9d0e25 Intrinsics overhaul:
Frits van Bommel <fvbommel wxs.nl>
parents:
diff changeset
13 - version(X86)
4e388d9d0e25 Intrinsics overhaul:
Frits van Bommel <fvbommel wxs.nl>
parents:
diff changeset
14 - {
4e388d9d0e25 Intrinsics overhaul:
Frits van Bommel <fvbommel wxs.nl>
parents:
diff changeset
15 - version = LDC_X86;
4e388d9d0e25 Intrinsics overhaul:
Frits van Bommel <fvbommel wxs.nl>
parents:
diff changeset
16 - }
4e388d9d0e25 Intrinsics overhaul:
Frits van Bommel <fvbommel wxs.nl>
parents:
diff changeset
17 }
4e388d9d0e25 Intrinsics overhaul:
Frits van Bommel <fvbommel wxs.nl>
parents:
diff changeset
18
4e388d9d0e25 Intrinsics overhaul:
Frits van Bommel <fvbommel wxs.nl>
parents:
diff changeset
19 /*
1081
5710440ea420 Oops, had some unsaved changes
Frits van Bommel <fvbommel wxs.nl>
parents: 1079
diff changeset
20 @@ -312,28 +308,14 @@
1079
4e388d9d0e25 Intrinsics overhaul:
Frits van Bommel <fvbommel wxs.nl>
parents:
diff changeset
21 * Results are undefined if |x| >= $(POWER 2,64).
4e388d9d0e25 Intrinsics overhaul:
Frits van Bommel <fvbommel wxs.nl>
parents:
diff changeset
22 */
4e388d9d0e25 Intrinsics overhaul:
Frits van Bommel <fvbommel wxs.nl>
parents:
diff changeset
23
4e388d9d0e25 Intrinsics overhaul:
Frits van Bommel <fvbommel wxs.nl>
parents:
diff changeset
24 -version(LDC)
4e388d9d0e25 Intrinsics overhaul:
Frits van Bommel <fvbommel wxs.nl>
parents:
diff changeset
25 +real cos(real x) /* intrinsic */
4e388d9d0e25 Intrinsics overhaul:
Frits van Bommel <fvbommel wxs.nl>
parents:
diff changeset
26 {
4e388d9d0e25 Intrinsics overhaul:
Frits van Bommel <fvbommel wxs.nl>
parents:
diff changeset
27 - alias llvm_cos_f32 cos;
4e388d9d0e25 Intrinsics overhaul:
Frits van Bommel <fvbommel wxs.nl>
parents:
diff changeset
28 - alias llvm_cos_f64 cos;
4e388d9d0e25 Intrinsics overhaul:
Frits van Bommel <fvbommel wxs.nl>
parents:
diff changeset
29 - version(X86)
4e388d9d0e25 Intrinsics overhaul:
Frits van Bommel <fvbommel wxs.nl>
parents:
diff changeset
30 + version(LDC)
4e388d9d0e25 Intrinsics overhaul:
Frits van Bommel <fvbommel wxs.nl>
parents:
diff changeset
31 {
4e388d9d0e25 Intrinsics overhaul:
Frits van Bommel <fvbommel wxs.nl>
parents:
diff changeset
32 - alias llvm_cos_f80 cos;
4e388d9d0e25 Intrinsics overhaul:
Frits van Bommel <fvbommel wxs.nl>
parents:
diff changeset
33 + return llvm_cos(x);
4e388d9d0e25 Intrinsics overhaul:
Frits van Bommel <fvbommel wxs.nl>
parents:
diff changeset
34 }
4e388d9d0e25 Intrinsics overhaul:
Frits van Bommel <fvbommel wxs.nl>
parents:
diff changeset
35 - else
1081
5710440ea420 Oops, had some unsaved changes
Frits van Bommel <fvbommel wxs.nl>
parents: 1079
diff changeset
36 + else version(D_InlineAsm_X86)
5710440ea420 Oops, had some unsaved changes
Frits van Bommel <fvbommel wxs.nl>
parents: 1079
diff changeset
37 {
1079
4e388d9d0e25 Intrinsics overhaul:
Frits van Bommel <fvbommel wxs.nl>
parents:
diff changeset
38 - real cos(real x)
4e388d9d0e25 Intrinsics overhaul:
Frits van Bommel <fvbommel wxs.nl>
parents:
diff changeset
39 - {
4e388d9d0e25 Intrinsics overhaul:
Frits van Bommel <fvbommel wxs.nl>
parents:
diff changeset
40 - return tango.stdc.math.cosl(x);
4e388d9d0e25 Intrinsics overhaul:
Frits van Bommel <fvbommel wxs.nl>
parents:
diff changeset
41 - }
4e388d9d0e25 Intrinsics overhaul:
Frits van Bommel <fvbommel wxs.nl>
parents:
diff changeset
42 - }
4e388d9d0e25 Intrinsics overhaul:
Frits van Bommel <fvbommel wxs.nl>
parents:
diff changeset
43 -}
4e388d9d0e25 Intrinsics overhaul:
Frits van Bommel <fvbommel wxs.nl>
parents:
diff changeset
44 -else
4e388d9d0e25 Intrinsics overhaul:
Frits van Bommel <fvbommel wxs.nl>
parents:
diff changeset
45 -{
4e388d9d0e25 Intrinsics overhaul:
Frits van Bommel <fvbommel wxs.nl>
parents:
diff changeset
46 -real cos(real x) /* intrinsic */
4e388d9d0e25 Intrinsics overhaul:
Frits van Bommel <fvbommel wxs.nl>
parents:
diff changeset
47 -{
1081
5710440ea420 Oops, had some unsaved changes
Frits van Bommel <fvbommel wxs.nl>
parents: 1079
diff changeset
48 - version(D_InlineAsm_X86)
5710440ea420 Oops, had some unsaved changes
Frits van Bommel <fvbommel wxs.nl>
parents: 1079
diff changeset
49 - {
1079
4e388d9d0e25 Intrinsics overhaul:
Frits van Bommel <fvbommel wxs.nl>
parents:
diff changeset
50 asm
1081
5710440ea420 Oops, had some unsaved changes
Frits van Bommel <fvbommel wxs.nl>
parents: 1079
diff changeset
51 {
5710440ea420 Oops, had some unsaved changes
Frits van Bommel <fvbommel wxs.nl>
parents: 1079
diff changeset
52 fld x;
1079
4e388d9d0e25 Intrinsics overhaul:
Frits van Bommel <fvbommel wxs.nl>
parents:
diff changeset
53 @@ -345,7 +327,6 @@
4e388d9d0e25 Intrinsics overhaul:
Frits van Bommel <fvbommel wxs.nl>
parents:
diff changeset
54 return tango.stdc.math.cosl(x);
4e388d9d0e25 Intrinsics overhaul:
Frits van Bommel <fvbommel wxs.nl>
parents:
diff changeset
55 }
4e388d9d0e25 Intrinsics overhaul:
Frits van Bommel <fvbommel wxs.nl>
parents:
diff changeset
56 }
4e388d9d0e25 Intrinsics overhaul:
Frits van Bommel <fvbommel wxs.nl>
parents:
diff changeset
57 -}
4e388d9d0e25 Intrinsics overhaul:
Frits van Bommel <fvbommel wxs.nl>
parents:
diff changeset
58
4e388d9d0e25 Intrinsics overhaul:
Frits van Bommel <fvbommel wxs.nl>
parents:
diff changeset
59 debug(UnitTest) {
4e388d9d0e25 Intrinsics overhaul:
Frits van Bommel <fvbommel wxs.nl>
parents:
diff changeset
60 unittest {
1081
5710440ea420 Oops, had some unsaved changes
Frits van Bommel <fvbommel wxs.nl>
parents: 1079
diff changeset
61 @@ -366,28 +347,14 @@
1079
4e388d9d0e25 Intrinsics overhaul:
Frits van Bommel <fvbommel wxs.nl>
parents:
diff changeset
62 * Bugs:
4e388d9d0e25 Intrinsics overhaul:
Frits van Bommel <fvbommel wxs.nl>
parents:
diff changeset
63 * Results are undefined if |x| >= $(POWER 2,64).
4e388d9d0e25 Intrinsics overhaul:
Frits van Bommel <fvbommel wxs.nl>
parents:
diff changeset
64 */
4e388d9d0e25 Intrinsics overhaul:
Frits van Bommel <fvbommel wxs.nl>
parents:
diff changeset
65 -version(LDC)
4e388d9d0e25 Intrinsics overhaul:
Frits van Bommel <fvbommel wxs.nl>
parents:
diff changeset
66 +real sin(real x) /* intrinsic */
4e388d9d0e25 Intrinsics overhaul:
Frits van Bommel <fvbommel wxs.nl>
parents:
diff changeset
67 {
4e388d9d0e25 Intrinsics overhaul:
Frits van Bommel <fvbommel wxs.nl>
parents:
diff changeset
68 - alias llvm_sin_f32 sin;
4e388d9d0e25 Intrinsics overhaul:
Frits van Bommel <fvbommel wxs.nl>
parents:
diff changeset
69 - alias llvm_sin_f64 sin;
4e388d9d0e25 Intrinsics overhaul:
Frits van Bommel <fvbommel wxs.nl>
parents:
diff changeset
70 - version(X86)
4e388d9d0e25 Intrinsics overhaul:
Frits van Bommel <fvbommel wxs.nl>
parents:
diff changeset
71 + version(LDC)
4e388d9d0e25 Intrinsics overhaul:
Frits van Bommel <fvbommel wxs.nl>
parents:
diff changeset
72 {
4e388d9d0e25 Intrinsics overhaul:
Frits van Bommel <fvbommel wxs.nl>
parents:
diff changeset
73 - alias llvm_sin_f80 sin;
4e388d9d0e25 Intrinsics overhaul:
Frits van Bommel <fvbommel wxs.nl>
parents:
diff changeset
74 + return llvm_sin(x);
4e388d9d0e25 Intrinsics overhaul:
Frits van Bommel <fvbommel wxs.nl>
parents:
diff changeset
75 }
4e388d9d0e25 Intrinsics overhaul:
Frits van Bommel <fvbommel wxs.nl>
parents:
diff changeset
76 - else
1081
5710440ea420 Oops, had some unsaved changes
Frits van Bommel <fvbommel wxs.nl>
parents: 1079
diff changeset
77 + else version(D_InlineAsm_X86)
5710440ea420 Oops, had some unsaved changes
Frits van Bommel <fvbommel wxs.nl>
parents: 1079
diff changeset
78 {
1079
4e388d9d0e25 Intrinsics overhaul:
Frits van Bommel <fvbommel wxs.nl>
parents:
diff changeset
79 - real sin(real x)
4e388d9d0e25 Intrinsics overhaul:
Frits van Bommel <fvbommel wxs.nl>
parents:
diff changeset
80 - {
4e388d9d0e25 Intrinsics overhaul:
Frits van Bommel <fvbommel wxs.nl>
parents:
diff changeset
81 - return tango.stdc.math.sinl(x);
4e388d9d0e25 Intrinsics overhaul:
Frits van Bommel <fvbommel wxs.nl>
parents:
diff changeset
82 - }
4e388d9d0e25 Intrinsics overhaul:
Frits van Bommel <fvbommel wxs.nl>
parents:
diff changeset
83 - }
4e388d9d0e25 Intrinsics overhaul:
Frits van Bommel <fvbommel wxs.nl>
parents:
diff changeset
84 -}
4e388d9d0e25 Intrinsics overhaul:
Frits van Bommel <fvbommel wxs.nl>
parents:
diff changeset
85 -else
4e388d9d0e25 Intrinsics overhaul:
Frits van Bommel <fvbommel wxs.nl>
parents:
diff changeset
86 -{
4e388d9d0e25 Intrinsics overhaul:
Frits van Bommel <fvbommel wxs.nl>
parents:
diff changeset
87 -real sin(real x) /* intrinsic */
4e388d9d0e25 Intrinsics overhaul:
Frits van Bommel <fvbommel wxs.nl>
parents:
diff changeset
88 -{
1081
5710440ea420 Oops, had some unsaved changes
Frits van Bommel <fvbommel wxs.nl>
parents: 1079
diff changeset
89 - version(D_InlineAsm_X86)
5710440ea420 Oops, had some unsaved changes
Frits van Bommel <fvbommel wxs.nl>
parents: 1079
diff changeset
90 - {
1079
4e388d9d0e25 Intrinsics overhaul:
Frits van Bommel <fvbommel wxs.nl>
parents:
diff changeset
91 asm
1081
5710440ea420 Oops, had some unsaved changes
Frits van Bommel <fvbommel wxs.nl>
parents: 1079
diff changeset
92 {
5710440ea420 Oops, had some unsaved changes
Frits van Bommel <fvbommel wxs.nl>
parents: 1079
diff changeset
93 fld x;
1079
4e388d9d0e25 Intrinsics overhaul:
Frits van Bommel <fvbommel wxs.nl>
parents:
diff changeset
94 @@ -399,7 +366,6 @@
4e388d9d0e25 Intrinsics overhaul:
Frits van Bommel <fvbommel wxs.nl>
parents:
diff changeset
95 return tango.stdc.math.sinl(x);
4e388d9d0e25 Intrinsics overhaul:
Frits van Bommel <fvbommel wxs.nl>
parents:
diff changeset
96 }
4e388d9d0e25 Intrinsics overhaul:
Frits van Bommel <fvbommel wxs.nl>
parents:
diff changeset
97 }
4e388d9d0e25 Intrinsics overhaul:
Frits van Bommel <fvbommel wxs.nl>
parents:
diff changeset
98 -}
4e388d9d0e25 Intrinsics overhaul:
Frits van Bommel <fvbommel wxs.nl>
parents:
diff changeset
99
4e388d9d0e25 Intrinsics overhaul:
Frits van Bommel <fvbommel wxs.nl>
parents:
diff changeset
100 debug(UnitTest) {
4e388d9d0e25 Intrinsics overhaul:
Frits van Bommel <fvbommel wxs.nl>
parents:
diff changeset
101 unittest {
4e388d9d0e25 Intrinsics overhaul:
Frits van Bommel <fvbommel wxs.nl>
parents:
diff changeset
102 @@ -999,29 +965,14 @@
4e388d9d0e25 Intrinsics overhaul:
Frits van Bommel <fvbommel wxs.nl>
parents:
diff changeset
103 * $(TR $(TD +$(INFIN)) $(TD +$(INFIN)) $(TD no))
4e388d9d0e25 Intrinsics overhaul:
Frits van Bommel <fvbommel wxs.nl>
parents:
diff changeset
104 * )
4e388d9d0e25 Intrinsics overhaul:
Frits van Bommel <fvbommel wxs.nl>
parents:
diff changeset
105 */
4e388d9d0e25 Intrinsics overhaul:
Frits van Bommel <fvbommel wxs.nl>
parents:
diff changeset
106 -version(LDC)
4e388d9d0e25 Intrinsics overhaul:
Frits van Bommel <fvbommel wxs.nl>
parents:
diff changeset
107 +float sqrt(float x) /* intrinsic */
4e388d9d0e25 Intrinsics overhaul:
Frits van Bommel <fvbommel wxs.nl>
parents:
diff changeset
108 {
4e388d9d0e25 Intrinsics overhaul:
Frits van Bommel <fvbommel wxs.nl>
parents:
diff changeset
109 - alias llvm_sqrt_f32 sqrt;
4e388d9d0e25 Intrinsics overhaul:
Frits van Bommel <fvbommel wxs.nl>
parents:
diff changeset
110 - alias llvm_sqrt_f64 sqrt;
4e388d9d0e25 Intrinsics overhaul:
Frits van Bommel <fvbommel wxs.nl>
parents:
diff changeset
111 - version(X86)
4e388d9d0e25 Intrinsics overhaul:
Frits van Bommel <fvbommel wxs.nl>
parents:
diff changeset
112 + version(LDC)
4e388d9d0e25 Intrinsics overhaul:
Frits van Bommel <fvbommel wxs.nl>
parents:
diff changeset
113 {
4e388d9d0e25 Intrinsics overhaul:
Frits van Bommel <fvbommel wxs.nl>
parents:
diff changeset
114 - alias llvm_sqrt_f80 sqrt;
4e388d9d0e25 Intrinsics overhaul:
Frits van Bommel <fvbommel wxs.nl>
parents:
diff changeset
115 + return llvm_sqrt(x);
4e388d9d0e25 Intrinsics overhaul:
Frits van Bommel <fvbommel wxs.nl>
parents:
diff changeset
116 }
4e388d9d0e25 Intrinsics overhaul:
Frits van Bommel <fvbommel wxs.nl>
parents:
diff changeset
117 - else
4e388d9d0e25 Intrinsics overhaul:
Frits van Bommel <fvbommel wxs.nl>
parents:
diff changeset
118 + else version(D_InlineAsm_X86)
4e388d9d0e25 Intrinsics overhaul:
Frits van Bommel <fvbommel wxs.nl>
parents:
diff changeset
119 {
4e388d9d0e25 Intrinsics overhaul:
Frits van Bommel <fvbommel wxs.nl>
parents:
diff changeset
120 - real sqrt(real x)
4e388d9d0e25 Intrinsics overhaul:
Frits van Bommel <fvbommel wxs.nl>
parents:
diff changeset
121 - {
4e388d9d0e25 Intrinsics overhaul:
Frits van Bommel <fvbommel wxs.nl>
parents:
diff changeset
122 - return tango.stdc.math.sqrtl(x);
4e388d9d0e25 Intrinsics overhaul:
Frits van Bommel <fvbommel wxs.nl>
parents:
diff changeset
123 - }
4e388d9d0e25 Intrinsics overhaul:
Frits van Bommel <fvbommel wxs.nl>
parents:
diff changeset
124 - }
4e388d9d0e25 Intrinsics overhaul:
Frits van Bommel <fvbommel wxs.nl>
parents:
diff changeset
125 -}
4e388d9d0e25 Intrinsics overhaul:
Frits van Bommel <fvbommel wxs.nl>
parents:
diff changeset
126 -else
4e388d9d0e25 Intrinsics overhaul:
Frits van Bommel <fvbommel wxs.nl>
parents:
diff changeset
127 -{
4e388d9d0e25 Intrinsics overhaul:
Frits van Bommel <fvbommel wxs.nl>
parents:
diff changeset
128 -
4e388d9d0e25 Intrinsics overhaul:
Frits van Bommel <fvbommel wxs.nl>
parents:
diff changeset
129 -float sqrt(float x) /* intrinsic */
4e388d9d0e25 Intrinsics overhaul:
Frits van Bommel <fvbommel wxs.nl>
parents:
diff changeset
130 -{
4e388d9d0e25 Intrinsics overhaul:
Frits van Bommel <fvbommel wxs.nl>
parents:
diff changeset
131 - version(D_InlineAsm_X86)
4e388d9d0e25 Intrinsics overhaul:
Frits van Bommel <fvbommel wxs.nl>
parents:
diff changeset
132 - {
4e388d9d0e25 Intrinsics overhaul:
Frits van Bommel <fvbommel wxs.nl>
parents:
diff changeset
133 asm
4e388d9d0e25 Intrinsics overhaul:
Frits van Bommel <fvbommel wxs.nl>
parents:
diff changeset
134 {
4e388d9d0e25 Intrinsics overhaul:
Frits van Bommel <fvbommel wxs.nl>
parents:
diff changeset
135 fld x;
4e388d9d0e25 Intrinsics overhaul:
Frits van Bommel <fvbommel wxs.nl>
parents:
diff changeset
136 @@ -1036,8 +987,12 @@
4e388d9d0e25 Intrinsics overhaul:
Frits van Bommel <fvbommel wxs.nl>
parents:
diff changeset
137
4e388d9d0e25 Intrinsics overhaul:
Frits van Bommel <fvbommel wxs.nl>
parents:
diff changeset
138 double sqrt(double x) /* intrinsic */ /// ditto
4e388d9d0e25 Intrinsics overhaul:
Frits van Bommel <fvbommel wxs.nl>
parents:
diff changeset
139 {
4e388d9d0e25 Intrinsics overhaul:
Frits van Bommel <fvbommel wxs.nl>
parents:
diff changeset
140 - version(D_InlineAsm_X86)
4e388d9d0e25 Intrinsics overhaul:
Frits van Bommel <fvbommel wxs.nl>
parents:
diff changeset
141 + version(LDC)
4e388d9d0e25 Intrinsics overhaul:
Frits van Bommel <fvbommel wxs.nl>
parents:
diff changeset
142 {
4e388d9d0e25 Intrinsics overhaul:
Frits van Bommel <fvbommel wxs.nl>
parents:
diff changeset
143 + return llvm_sqrt(x);
4e388d9d0e25 Intrinsics overhaul:
Frits van Bommel <fvbommel wxs.nl>
parents:
diff changeset
144 + }
4e388d9d0e25 Intrinsics overhaul:
Frits van Bommel <fvbommel wxs.nl>
parents:
diff changeset
145 + else version(D_InlineAsm_X86)
4e388d9d0e25 Intrinsics overhaul:
Frits van Bommel <fvbommel wxs.nl>
parents:
diff changeset
146 + {
4e388d9d0e25 Intrinsics overhaul:
Frits van Bommel <fvbommel wxs.nl>
parents:
diff changeset
147 asm
4e388d9d0e25 Intrinsics overhaul:
Frits van Bommel <fvbommel wxs.nl>
parents:
diff changeset
148 {
4e388d9d0e25 Intrinsics overhaul:
Frits van Bommel <fvbommel wxs.nl>
parents:
diff changeset
149 fld x;
4e388d9d0e25 Intrinsics overhaul:
Frits van Bommel <fvbommel wxs.nl>
parents:
diff changeset
150 @@ -1052,8 +1007,12 @@
4e388d9d0e25 Intrinsics overhaul:
Frits van Bommel <fvbommel wxs.nl>
parents:
diff changeset
151
4e388d9d0e25 Intrinsics overhaul:
Frits van Bommel <fvbommel wxs.nl>
parents:
diff changeset
152 real sqrt(real x) /* intrinsic */ /// ditto
4e388d9d0e25 Intrinsics overhaul:
Frits van Bommel <fvbommel wxs.nl>
parents:
diff changeset
153 {
4e388d9d0e25 Intrinsics overhaul:
Frits van Bommel <fvbommel wxs.nl>
parents:
diff changeset
154 - version(D_InlineAsm_X86)
4e388d9d0e25 Intrinsics overhaul:
Frits van Bommel <fvbommel wxs.nl>
parents:
diff changeset
155 + version(LDC)
4e388d9d0e25 Intrinsics overhaul:
Frits van Bommel <fvbommel wxs.nl>
parents:
diff changeset
156 {
4e388d9d0e25 Intrinsics overhaul:
Frits van Bommel <fvbommel wxs.nl>
parents:
diff changeset
157 + return llvm_sqrt(x);
4e388d9d0e25 Intrinsics overhaul:
Frits van Bommel <fvbommel wxs.nl>
parents:
diff changeset
158 + }
4e388d9d0e25 Intrinsics overhaul:
Frits van Bommel <fvbommel wxs.nl>
parents:
diff changeset
159 + else version(D_InlineAsm_X86)
4e388d9d0e25 Intrinsics overhaul:
Frits van Bommel <fvbommel wxs.nl>
parents:
diff changeset
160 + {
4e388d9d0e25 Intrinsics overhaul:
Frits van Bommel <fvbommel wxs.nl>
parents:
diff changeset
161 asm
4e388d9d0e25 Intrinsics overhaul:
Frits van Bommel <fvbommel wxs.nl>
parents:
diff changeset
162 {
4e388d9d0e25 Intrinsics overhaul:
Frits van Bommel <fvbommel wxs.nl>
parents:
diff changeset
163 fld x;
4e388d9d0e25 Intrinsics overhaul:
Frits van Bommel <fvbommel wxs.nl>
parents:
diff changeset
164 @@ -1066,8 +1025,6 @@
4e388d9d0e25 Intrinsics overhaul:
Frits van Bommel <fvbommel wxs.nl>
parents:
diff changeset
165 }
4e388d9d0e25 Intrinsics overhaul:
Frits van Bommel <fvbommel wxs.nl>
parents:
diff changeset
166 }
4e388d9d0e25 Intrinsics overhaul:
Frits van Bommel <fvbommel wxs.nl>
parents:
diff changeset
167
4e388d9d0e25 Intrinsics overhaul:
Frits van Bommel <fvbommel wxs.nl>
parents:
diff changeset
168 -}
4e388d9d0e25 Intrinsics overhaul:
Frits van Bommel <fvbommel wxs.nl>
parents:
diff changeset
169 -
4e388d9d0e25 Intrinsics overhaul:
Frits van Bommel <fvbommel wxs.nl>
parents:
diff changeset
170 /** ditto */
4e388d9d0e25 Intrinsics overhaul:
Frits van Bommel <fvbommel wxs.nl>
parents:
diff changeset
171 creal sqrt(creal z)
4e388d9d0e25 Intrinsics overhaul:
Frits van Bommel <fvbommel wxs.nl>
parents:
diff changeset
172 {
4e388d9d0e25 Intrinsics overhaul:
Frits van Bommel <fvbommel wxs.nl>
parents:
diff changeset
173 @@ -1714,9 +1671,9 @@
4e388d9d0e25 Intrinsics overhaul:
Frits van Bommel <fvbommel wxs.nl>
parents:
diff changeset
174 }
4e388d9d0e25 Intrinsics overhaul:
Frits van Bommel <fvbommel wxs.nl>
parents:
diff changeset
175 }
4e388d9d0e25 Intrinsics overhaul:
Frits van Bommel <fvbommel wxs.nl>
parents:
diff changeset
176 }
4e388d9d0e25 Intrinsics overhaul:
Frits van Bommel <fvbommel wxs.nl>
parents:
diff changeset
177 - version(LDC_X86)
4e388d9d0e25 Intrinsics overhaul:
Frits van Bommel <fvbommel wxs.nl>
parents:
diff changeset
178 + version(LDC)
4e388d9d0e25 Intrinsics overhaul:
Frits van Bommel <fvbommel wxs.nl>
parents:
diff changeset
179 {
4e388d9d0e25 Intrinsics overhaul:
Frits van Bommel <fvbommel wxs.nl>
parents:
diff changeset
180 - return llvm_pow_f80(x, y);
4e388d9d0e25 Intrinsics overhaul:
Frits van Bommel <fvbommel wxs.nl>
parents:
diff changeset
181 + return llvm_pow(x, y);
4e388d9d0e25 Intrinsics overhaul:
Frits van Bommel <fvbommel wxs.nl>
parents:
diff changeset
182 }
4e388d9d0e25 Intrinsics overhaul:
Frits van Bommel <fvbommel wxs.nl>
parents:
diff changeset
183 else
4e388d9d0e25 Intrinsics overhaul:
Frits van Bommel <fvbommel wxs.nl>
parents:
diff changeset
184 {