You copied the Doc URL to your clipboard.

CMP (shifted register)

Compare (shifted register), setting the condition flags and discarding the result.

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

Syntax

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

Equivalent to SUBS WZR, Wn, Wm {, shift #amount}

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

Equivalent to SUBS XZR, Xn, Xm {, shift #amount}

Where:

Wn

Is the 32-bit name of the first general-purpose source register, in the range 0 to 31.

Wm

Is the 32-bit name of the second general-purpose source register, in the range 0 to 31.

amount

The value 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, in the range 0 to 31.

Xm

Is the 64-bit name of the second general-purpose source register, in the range 0 to 31.

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.

Was this page helpful? Yes No