CMN (shifted register)
Compare Negative (shifted register).
This instruction is an alias of ADDS
(shifted register).
Syntax
CMN
Wn
, Wm
{, shift
#amount
} ; 32-bit general registers
Equivalent to ADDS WZR,
Wn
, Wm
{, shift
#amount
}
CMN
Xn
, Xm
{, shift
#amount
} ; 64-bit general registers
Equivalent to ADDS XZR,
Xn
, Xm
{, shift
#amount
}
Where:
Wn
-
Is the 32-bit name of the first general-purpose source register.
Wm
-
Is the 32-bit name of the second general-purpose source register.
amount
-
The value depends on the instruction variant:
- 32-bit general registers
-
The shift amount, in the range 0 to 31, defaulting to 0.
- 64-bit general registers
-
The shift amount, in the range 0 to 63, defaulting to 0.
Xn
-
Is the 64-bit name of the first general-purpose source register.
Xm
-
Is the 64-bit name of the second general-purpose source register.
shift
-
Is the optional shift type to be applied to the second source operand, defaulting to
LSL
, and can be one ofLSL
,LSR
, orASR
.
Usage
Compare Negative (shifted register) adds a register value and an optionally-shifted register value. It updates the condition flags based on the result, and discards the result.