Skip to content

Commit 2ff1273

Browse files
committed
if the return value is just an f16, adjust the formatting
1 parent 3bc5019 commit 2ff1273

File tree

1 file changed

+37
-14
lines changed

1 file changed

+37
-14
lines changed

crates/intrinsic-test/src/intrinsic.rs

Lines changed: 37 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -121,21 +121,44 @@ impl Intrinsic {
121121
constraints
122122
};
123123

124+
let returns_f16 = match self.results.kind() {
125+
TypeKind::Float => self.results.inner_size() == 16 && self.results.num_lanes() == 1,
126+
_ => false,
127+
};
128+
124129
let indentation2 = indentation.nested();
125130
let indentation3 = indentation2.nested();
126-
format!(
127-
"{indentation}for i in 0..{passes} {{\n\
128-
{indentation2}unsafe {{\n\
129-
{loaded_args}\
130-
{indentation3}let __return_value = {intrinsic_call}{const}({args});\n\
131-
{indentation3}println!(\"Result {additional}-{{}}: {{:.150?}}\", i + 1, __return_value);\n\
132-
{indentation2}}}\n\
133-
{indentation}}}",
134-
loaded_args = self.arguments.load_values_rust(indentation3),
135-
intrinsic_call = self.name,
136-
const = constraints,
137-
args = self.arguments.as_call_param_rust(),
138-
additional = additional,
139-
)
131+
132+
if returns_f16 {
133+
format!(
134+
"{indentation}for i in 0..{passes} {{\n\
135+
{indentation2}unsafe {{\n\
136+
{loaded_args}\
137+
{indentation3}let __return_value = {intrinsic_call}{const}({args});\n\
138+
{indentation3}println!(\"Result {additional}-{{}}: {{:#06x?}}\", i + 1, __return_value.to_bits());\n\
139+
{indentation2}}}\n\
140+
{indentation}}}",
141+
loaded_args = self.arguments.load_values_rust(indentation3),
142+
intrinsic_call = self.name,
143+
const = constraints,
144+
args = self.arguments.as_call_param_rust(),
145+
additional = additional,
146+
)
147+
} else {
148+
format!(
149+
"{indentation}for i in 0..{passes} {{\n\
150+
{indentation2}unsafe {{\n\
151+
{loaded_args}\
152+
{indentation3}let __return_value = {intrinsic_call}{const}({args});\n\
153+
{indentation3}println!(\"Result {additional}-{{}}: {{:.150?}}\", i + 1, __return_value);\n\
154+
{indentation2}}}\n\
155+
{indentation}}}",
156+
loaded_args = self.arguments.load_values_rust(indentation3),
157+
intrinsic_call = self.name,
158+
const = constraints,
159+
args = self.arguments.as_call_param_rust(),
160+
additional = additional,
161+
)
162+
}
140163
}
141164
}

0 commit comments

Comments
 (0)