You copied the Doc URL to your clipboard.

CMP (shifted register)

Compare (shifted register).

This instruction is an alias of SUBS (shifted register).

The equivalent instruction is SUBS WZR, Wn, Wm {, shift #amount}.

Syntax

CMP Wn, Wm{, shift #amount} ; 32-bit general registers

CMP Xn, Xm{, shift #amount} ; 64-bit general registers

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

Depends on the instruction variant:

32-bit general registers
Is the shift amount, in the range 0 to 31, defaulting to 0.
64-bit general registers
Is 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 of LSL, LSR, or ASR.

Usage

Compare (shifted register) subtracts an optionally-shifted register value from a register value. It updates the condition flags based on the result, and discards the result.