TST (immediate)

Test bits (immediate)

This instruction performs a bitwise AND of a register value and an immediate value, and discards the results. It updates the condition flags based on the result.

Encoding: Setting the condition flags

313029282726252423222120191817161514131211109876543210
1110010011111
sfopcNimmrimmsRnRd

32-bit (sf == 0 && N == 0)

TST <Wn>, #<imm>

Equivalent to: ANDS WZR, <Wn>, #<imm>

64-bit (sf == 1)

TST <Xn>, #<imm>

Equivalent to: ANDS XZR, <Xn>, #<imm>

Explanations

<Wn>: Is the 32-bit name of the general-purpose source register, encoded in the "Rn" field.
<imm>: For the "32-bit" variant: is the bitmask immediate, encoded in "imms:immr".
<imm>: For the "64-bit" variant: is the bitmask immediate, encoded in "N:imms:immr".
<Xn>: Is the 64-bit name of the general-purpose source register, encoded in the "Rn" field.

Operational Notes

If PSTATE.DIT is 1: