Implements convert low signed integer to float for x64 simd
This commit is contained in:
@@ -4325,6 +4325,26 @@ pub(crate) fn define(
|
||||
.operands_out(vec![a]),
|
||||
);
|
||||
|
||||
ig.push(
|
||||
Inst::new(
|
||||
"fcvt_low_from_sint",
|
||||
r#"
|
||||
Converts packed signed doubleword integers to packed double precision floating point.
|
||||
|
||||
Considering only the low half of the register, each lane in `x` is interpreted as a
|
||||
signed doubleword integer that is then converted to a double precision float. This
|
||||
instruction differs from fcvt_from_sint 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",
|
||||
|
||||
Reference in New Issue
Block a user