comparison runtime/import/ldc/intrinsics.di @ 741:4ac97ec7c18e

Applied easy part from wilsonk's x86-64 patch in #107
author Christian Kamm <kamm incasoftware de>
date Thu, 30 Oct 2008 11:08:34 +0100
parents d8a1481eaa0c
children 7a0238db1962
comparison
equal deleted inserted replaced
740:96484f5bf5af 741:4ac97ec7c18e
110 { 110 {
111 pragma(intrinsic, "llvm.sqrt.f80") 111 pragma(intrinsic, "llvm.sqrt.f80")
112 real llvm_sqrt_f80(real val); 112 real llvm_sqrt_f80(real val);
113 } 113 }
114 114
115 version(X86_64)
116 {
117 pragma(intrinsic, "llvm.sqrt.f80")
118 real llvm_sqrt_f80(real val);
119 }
120
115 121
116 // The 'llvm.sin.*' intrinsics return the sine of the operand. 122 // The 'llvm.sin.*' intrinsics return the sine of the operand.
117 123
118 pragma(intrinsic, "llvm.sin.f32") 124 pragma(intrinsic, "llvm.sin.f32")
119 float llvm_sin_f32(float val); 125 float llvm_sin_f32(float val);
123 { 129 {
124 pragma(intrinsic, "llvm.sin.f80") 130 pragma(intrinsic, "llvm.sin.f80")
125 real llvm_sin_f80(real val); 131 real llvm_sin_f80(real val);
126 } 132 }
127 133
134 version(X86_64)
135 {
136 pragma(intrinsic, "llvm.sin.f80")
137 real llvm_sin_f80(real val);
138 }
139
128 140
129 // The 'llvm.cos.*' intrinsics return the cosine of the operand. 141 // The 'llvm.cos.*' intrinsics return the cosine of the operand.
130 142
131 pragma(intrinsic, "llvm.cos.f32") 143 pragma(intrinsic, "llvm.cos.f32")
132 float llvm_cos_f32(float val); 144 float llvm_cos_f32(float val);
136 { 148 {
137 pragma(intrinsic, "llvm.cos.f80") 149 pragma(intrinsic, "llvm.cos.f80")
138 real llvm_cos_f80(real val); 150 real llvm_cos_f80(real val);
139 } 151 }
140 152
153 version(X86_64)
154 {
155 pragma(intrinsic, "llvm.cos.f80")
156 real llvm_cos_f80(real val);
157 }
158
141 159
142 // The 'llvm.powi.*' intrinsics return the first operand raised to the specified (positive or negative) power. The order of evaluation of multiplications is not defined. When a vector of floating point type is used, the second argument remains a scalar integer value. 160 // The 'llvm.powi.*' intrinsics return the first operand raised to the specified (positive or negative) power. The order of evaluation of multiplications is not defined. When a vector of floating point type is used, the second argument remains a scalar integer value.
143 161
144 pragma(intrinsic, "llvm.powi.f32") 162 pragma(intrinsic, "llvm.powi.f32")
145 float llvm_powi_f32(float val, int power); 163 float llvm_powi_f32(float val, int power);
150 { 168 {
151 pragma(intrinsic, "llvm.powi.f80") 169 pragma(intrinsic, "llvm.powi.f80")
152 real llvm_powi_f80(real val, int power); 170 real llvm_powi_f80(real val, int power);
153 } 171 }
154 172
173 version(X86_64)
174 {
175 pragma(intrinsic, "llvm.powi.f80")
176 real llvm_powi_f80(real val, int power);
177 }
155 178
156 // The 'llvm.pow.*' intrinsics return the first operand raised to the specified (positive or negative) power. 179 // The 'llvm.pow.*' intrinsics return the first operand raised to the specified (positive or negative) power.
157 180
158 pragma(intrinsic, "llvm.pow.f32") 181 pragma(intrinsic, "llvm.pow.f32")
159 float llvm_pow_f32(float val, float power); 182 float llvm_pow_f32(float val, float power);
164 { 187 {
165 pragma(intrinsic, "llvm.pow.f80") 188 pragma(intrinsic, "llvm.pow.f80")
166 real llvm_pow_f80(real val, real power); 189 real llvm_pow_f80(real val, real power);
167 } 190 }
168 191
169 192 version(X86_64)
193 {
194 pragma(intrinsic, "llvm.pow.f80")
195 real llvm_pow_f80(real val, real power);
196 }
170 197
171 198
172 // 199 //
173 // BIT MANIPULATION INTRINSICS 200 // BIT MANIPULATION INTRINSICS
174 // 201 //