VAND (immediate)

Vector Bitwise AND (immediate) performs a bitwise AND between a register value and an immediate value, and returns the result into the destination vector.

This is a pseudo-instruction of VBIC (immediate). This means:

It has encodings from the following instruction sets: A32 ( A1 and A2 ) and T32 ( T1 and T2 ) .

A1

313029282726252423222120191817161514131211109876543210
1111001i1D000imm3Vd0xx10Q11imm4
cmode

64-bit SIMD vector (Q == 0)

VAND{<c>}{<q>}.I16 {<Dd>,} <Dd>, #<imm>

is equivalent to

VBIC{<c>}{<q>}.I16 <Dd>, #~<imm>

128-bit SIMD vector (Q == 1)

VAND{<c>}{<q>}.I16 {<Qd>,} <Qd>, #<imm>

is equivalent to

VBIC{<c>}{<q>}.I16 <Qd>, #~<imm>

A2

313029282726252423222120191817161514131211109876543210
1111001i1D000imm3Vd10x10Q11imm4
cmode

64-bit SIMD vector (Q == 0)

VAND{<c>}{<q>}.I32 {<Dd>,} <Dd>, #<imm>

is equivalent to

VBIC{<c>}{<q>}.I32 <Dd>, #~<imm>

128-bit SIMD vector (Q == 1)

VAND{<c>}{<q>}.I32 {<Qd>,} <Qd>, #<imm>

is equivalent to

VBIC{<c>}{<q>}.I32 <Qd>, #~<imm>

T1

15141312111098765432101514131211109876543210
111i11111D000imm3Vd0xx10Q11imm4
cmode

64-bit SIMD vector (Q == 0)

VAND{<c>}{<q>}.I16 {<Dd>,} <Dd>, #<imm>

is equivalent to

VBIC{<c>}{<q>}.I16 <Dd>, #~<imm>

128-bit SIMD vector (Q == 1)

VAND{<c>}{<q>}.I16 {<Qd>,} <Qd>, #<imm>

is equivalent to

VBIC{<c>}{<q>}.I16 <Qd>, #~<imm>

T2

15141312111098765432101514131211109876543210
111i11111D000imm3Vd10x10Q11imm4
cmode

64-bit SIMD vector (Q == 0)

VAND{<c>}{<q>}.I32 {<Dd>,} <Dd>, #<imm>

is equivalent to

VBIC{<c>}{<q>}.I32 <Dd>, #~<imm>

128-bit SIMD vector (Q == 1)

VAND{<c>}{<q>}.I32 {<Qd>,} <Qd>, #<imm>

is equivalent to

VBIC{<c>}{<q>}.I32 <Qd>, #~<imm>

Assembler Symbols

<c>

For encoding A1 and A2: see Standard assembler syntax fields. This encoding must be unconditional.

For encoding T1 and T2: see Standard assembler syntax fields.

<q>

See Standard assembler syntax fields.

<Qd>

Is the 128-bit name of the SIMD&FP destination register, encoded in the "D:Vd" field as <Qd>*2.

<Dd>

Is the 64-bit name of the SIMD&FP destination register, encoded in the "D:Vd" field.

<imm>

Is a constant of the specified type that is replicated to fill the destination register. For details of the range of constants available and the encoding of <imm>, see Modified immediate constants in T32 and A32 Advanced SIMD instructions.

Operation

The description of VBIC (immediate) gives the operational pseudocode for this instruction.


Internal version only: isa v01_31, pseudocode v2024-03_rel ; Build timestamp: 2024-03-25T10:05

Copyright © 2010-2024 Arm Limited or its affiliates. All rights reserved. This document is Non-Confidential.