SIMD ISAReturn TypeNameArgumentsInstruction Group
Neonfloat32x4_tvcvtx_high_f32_f64(float32x2_t r, float64x2_t a)Data type conversion / Conversions
Description
Floating-point Convert to lower precision Narrow, rounding to odd (vector). This instruction reads each vector element in the source SIMD&FP register, narrows each value to half the precision of the source element using the Round to Odd rounding mode, writes the result to a vector, and writes the vector to the destination SIMD&FP register.
Results
Vd.4S result
This intrinsic compiles to the following instructions:

FCVTXN2 Vd.4S,Vn.2D

Argument Preparation
r register: Vd.2Sa register: Vn.2D
Architectures
A64

Operation

CheckFPAdvSIMDEnabled64();

bits(2*datasize) operand = V[n];
FPCRType fpcr    = FPCR[];
boolean merge    = elements == 1 && IsMerging(fpcr);
bits(128) result = if merge then V[d] else Zeros();

for e = 0 to elements-1
    Elem[result, e, esize] = FPConvert(Elem[operand, e, 2*esize], fpcr, FPRounding_ODD);

if merge then
    V[d] = result;
else
    Vpart[d, part] = Elem[result, 0, datasize];