CINV
Conditional invert
This instruction returns, in the destination register,
the bitwise inversion of the value of the source register
if the condition is TRUE, and otherwise returns the value
of the source register.
If PSTATE.DIT is 1:
The execution time of this instruction is independent of:
The values of the data supplied in any of its registers.
The values of the NZCV flags.
The response of this instruction to asynchronous exceptions does not vary based on:
The values of the data supplied in any of its registers.
The values of the NZCV flags.
CSINV
1
0
1
1
0
1
0
1
0
0
!= 11111
!= 111x
0
0
!= 11111
0
CINV <Wd>, <Wn>, <invcond>
CSINV <Wd>, <Wn>, <Wm>, <cond>
Rn == Rm
1
CINV <Xd>, <Xn>, <invcond>
CSINV <Xd>, <Xn>, <Xm>, <cond>
Rn == Rm
<Wd>
Is the 32-bit name of the general-purpose destination register, encoded in the "Rd" field.
<Wn>
Is the 32-bit name of the general-purpose source register, encoded in the "Rn" and "Rm" fields.
<invcond>
Is one of the standard conditions, excluding AL and NV, encoded with its least significant bit inverted, and
cond
<invcond>
Description
0000
NE
Maps to <cond> EQ.
0001
EQ
Maps to <cond> NE.
0010
CC
Maps to <cond> CS.
0011
CS
Maps to <cond> CC.
0100
PL
Maps to <cond> MI.
0101
MI
Maps to <cond> PL.
0110
VC
Maps to <cond> VS.
0111
VS
Maps to <cond> VC.
1000
LS
Maps to <cond> HI.
1001
HI
Maps to <cond> LS.
1010
LT
Maps to <cond> GE.
1011
GE
Maps to <cond> LT.
1100
LE
Maps to <cond> GT.
1101
GT
Maps to <cond> LE.
<Xd>
Is the 64-bit name of the general-purpose destination register, encoded in the "Rd" field.
<Xn>
Is the 64-bit name of the general-purpose source register, encoded in the "Rn" and "Rm" fields.