Skip to content

Commit f67c935

Browse files
committed
Simplify get_simple_function
1 parent 99aecac commit f67c935

File tree

1 file changed

+7
-31
lines changed

1 file changed

+7
-31
lines changed

src/intrinsic/mod.rs

Lines changed: 7 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -100,42 +100,18 @@ fn get_simple_function<'gcc, 'tcx>(
100100
cx: &CodegenCx<'gcc, 'tcx>,
101101
name: Symbol,
102102
) -> Option<Function<'gcc>> {
103-
let (return_type, parameters, func_name) = match name {
104-
sym::minimumf32 => {
105-
let parameters = [
106-
cx.context.new_parameter(None, cx.float_type, "a"),
107-
cx.context.new_parameter(None, cx.float_type, "b"),
108-
];
109-
(cx.float_type, parameters, "fminimumf")
110-
}
111-
sym::minimumf64 => {
112-
let parameters = [
113-
cx.context.new_parameter(None, cx.double_type, "a"),
114-
cx.context.new_parameter(None, cx.double_type, "b"),
115-
];
116-
(cx.double_type, parameters, "fminimum")
117-
}
118-
sym::maximumf32 => {
119-
let parameters = [
120-
cx.context.new_parameter(None, cx.float_type, "a"),
121-
cx.context.new_parameter(None, cx.float_type, "b"),
122-
];
123-
(cx.float_type, parameters, "fmaximumf")
124-
}
125-
sym::maximumf64 => {
126-
let parameters = [
127-
cx.context.new_parameter(None, cx.double_type, "a"),
128-
cx.context.new_parameter(None, cx.double_type, "b"),
129-
];
130-
(cx.double_type, parameters, "fmaximum")
131-
}
103+
let (ty, func_name) = match name {
104+
sym::minimumf32 => (cx.float_type, "fminimumf"),
105+
sym::minimumf64 => (cx.double_type, "fminimum"),
106+
sym::maximumf32 => (cx.float_type, "fmaximumf"),
107+
sym::maximumf64 => (cx.double_type, "fmaximum"),
132108
_ => return None,
133109
};
134110
Some(cx.context.new_function(
135111
None,
136112
FunctionType::Extern,
137-
return_type,
138-
&parameters,
113+
ty,
114+
&[cx.context.new_parameter(None, ty, "a"), cx.context.new_parameter(None, ty, "b")],
139115
func_name,
140116
false,
141117
))

0 commit comments

Comments
 (0)