Fold fcvt_low_from_uinit into previously existing clif instructions

This commit is contained in:
Johnnie Birch
2021-07-08 07:15:54 -07:00
parent 6dd2df4fb3
commit d8e813204e
6 changed files with 67 additions and 79 deletions

View File

@@ -4457,28 +4457,6 @@ pub(crate) fn define(
.operands_out(vec![a]),
);
ig.push(
Inst::new(
"fcvt_low_from_uint",
r#"
Converts packed unsigned 32-bit integers to packed double precision floating point.
Considering only the low half of the register, each lane in `x` is interpreted as a
unsigned 32-bit integer that is then converted to a double precision float. This
instruction differs from fcvt_from_uint in that it converts half the number of lanes
which are converted to occupy twice the number of bits. No rounding should be needed
for the resulting float.
The result type will have half the number of vector lanes as the input.
"#,
&formats.unary,
)
.operands_in(vec![x])
.operands_out(vec![a]),
);
let WideInt = &TypeVar::new(
"WideInt",
"An integer type with lanes from `i16` upwards",