XAFLAG

Convert floating-point condition flags from external format to Arm format

This instruction converts the state of the PSTATE.{N,Z,C,V} flags from an alternative representation required by some software to a form representing the result of an Arm floating-point scalar compare instruction.

Encoding: System

Variants: FEAT_FlagM2 (ARMv8.5)

313029282726252423222120191817161514131211109876543210
11010101000000000100(0)(0)(0)(0)00111111
op1CRmop2Rt

XAFLAG

Decoding algorithm

if !IsFeatureImplemented(FEAT_FlagM2) then EndOfDecode(Decode_UNDEF);

Operation

constant bit n = NOT(PSTATE.C) AND NOT(PSTATE.Z);
constant bit z = PSTATE.Z AND PSTATE.C;
constant bit c = PSTATE.C OR PSTATE.Z;
constant bit v = NOT(PSTATE.C) AND PSTATE.Z;

PSTATE.N = n;
PSTATE.Z = z;
PSTATE.C = c;
PSTATE.V = v;

Explanations