Skip to content

Commit ce92a06

Browse files
committed
Implement missing f16/f128 intrinsics
1 parent 20563ee commit ce92a06

File tree

1 file changed

+16
-0
lines changed

1 file changed

+16
-0
lines changed

src/intrinsic/mod.rs

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,12 @@ fn get_simple_function_f128<'gcc, 'tcx>(
103103
let func_name = match name {
104104
sym::ceilf128 => "ceilf128",
105105
sym::fabsf128 => "fabsf128",
106+
sym::expf128 => "expf128",
107+
sym::exp2f128 => "exp2f128",
106108
sym::floorf128 => "floorf128",
109+
sym::logf128 => "logf128",
110+
sym::log2f128 => "log2f128",
111+
sym::log10f128 => "log10f128",
107112
sym::truncf128 => "truncf128",
108113
sym::roundf128 => "roundf128",
109114
sym::round_ties_even_f128 => "roundevenf128",
@@ -134,6 +139,7 @@ fn get_simple_function_f128_2args<'gcc, 'tcx>(
134139
sym::maxnumf128 => "fmaxf128",
135140
sym::minnumf128 => "fminf128",
136141
sym::copysignf128 => "copysignf128",
142+
sym::powf128 => "powf128",
137143
_ => unreachable!(),
138144
};
139145
cx.context.new_function(
@@ -158,9 +164,14 @@ fn f16_builtin<'gcc, 'tcx>(
158164
let builtin_name = match name {
159165
sym::ceilf16 => "__builtin_ceilf",
160166
sym::copysignf16 => "__builtin_copysignf",
167+
sym::expf16 => "expf",
168+
sym::exp2f16 => "exp2f",
161169
sym::fabsf16 => "fabsf",
162170
sym::floorf16 => "__builtin_floorf",
163171
sym::fmaf16 => "fmaf",
172+
sym::logf16 => "logf",
173+
sym::log2f16 => "log2f",
174+
sym::log10f16 => "log10f",
164175
sym::maxnumf16 => "__builtin_fmaxf",
165176
sym::minnumf16 => "__builtin_fminf",
166177
sym::powf16 => "__builtin_powf",
@@ -231,9 +242,14 @@ impl<'a, 'gcc, 'tcx> IntrinsicCallBuilderMethods<'tcx> for Builder<'a, 'gcc, 'tc
231242
}
232243
sym::ceilf16
233244
| sym::copysignf16
245+
| sym::expf16
246+
| sym::exp2f16
234247
| sym::fabsf16
235248
| sym::floorf16
236249
| sym::fmaf16
250+
| sym::logf16
251+
| sym::log2f16
252+
| sym::log10f16
237253
| sym::maxnumf16
238254
| sym::minnumf16
239255
| sym::powf16

0 commit comments

Comments
 (0)