xref: /aosp_15_r20/external/llvm/test/MC/AArch64/neon-bitwise-instructions.s (revision 9880d6810fe72a1726cb53787c6711e909410d58)
1*9880d681SAndroid Build Coastguard Worker// RUN: llvm-mc -triple aarch64-none-linux-gnu -mattr=+neon -show-encoding < %s | FileCheck %s
2*9880d681SAndroid Build Coastguard Worker
3*9880d681SAndroid Build Coastguard Worker// Check that the assembler can handle the documented syntax for AArch64
4*9880d681SAndroid Build Coastguard Worker
5*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------
6*9880d681SAndroid Build Coastguard Worker// Vector And
7*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------
8*9880d681SAndroid Build Coastguard Worker         and v0.8b, v1.8b, v2.8b
9*9880d681SAndroid Build Coastguard Worker         and v0.16b, v1.16b, v2.16b
10*9880d681SAndroid Build Coastguard Worker
11*9880d681SAndroid Build Coastguard Worker// CHECK: and v0.8b, v1.8b, v2.8b        // encoding: [0x20,0x1c,0x22,0x0e]
12*9880d681SAndroid Build Coastguard Worker// CHECK: and v0.16b, v1.16b, v2.16b     // encoding: [0x20,0x1c,0x22,0x4e]
13*9880d681SAndroid Build Coastguard Worker
14*9880d681SAndroid Build Coastguard Worker
15*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------
16*9880d681SAndroid Build Coastguard Worker// Vector Orr
17*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------
18*9880d681SAndroid Build Coastguard Worker         orr v0.8b, v1.8b, v2.8b
19*9880d681SAndroid Build Coastguard Worker         orr v0.16b, v1.16b, v2.16b
20*9880d681SAndroid Build Coastguard Worker
21*9880d681SAndroid Build Coastguard Worker// CHECK: orr v0.8b, v1.8b, v2.8b        // encoding: [0x20,0x1c,0xa2,0x0e]
22*9880d681SAndroid Build Coastguard Worker// CHECK: orr v0.16b, v1.16b, v2.16b     // encoding: [0x20,0x1c,0xa2,0x4e]
23*9880d681SAndroid Build Coastguard Worker
24*9880d681SAndroid Build Coastguard Worker
25*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------
26*9880d681SAndroid Build Coastguard Worker// Vector Eor
27*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------
28*9880d681SAndroid Build Coastguard Worker         eor v0.8b, v1.8b, v2.8b
29*9880d681SAndroid Build Coastguard Worker         eor v0.16b, v1.16b, v2.16b
30*9880d681SAndroid Build Coastguard Worker
31*9880d681SAndroid Build Coastguard Worker// CHECK: eor v0.8b, v1.8b, v2.8b        // encoding: [0x20,0x1c,0x22,0x2e]
32*9880d681SAndroid Build Coastguard Worker// CHECK: eor v0.16b, v1.16b, v2.16b     // encoding: [0x20,0x1c,0x22,0x6e]
33*9880d681SAndroid Build Coastguard Worker
34*9880d681SAndroid Build Coastguard Worker
35*9880d681SAndroid Build Coastguard Worker//----------------------------------------------------------------------
36*9880d681SAndroid Build Coastguard Worker// Vector Bitwise
37*9880d681SAndroid Build Coastguard Worker//----------------------------------------------------------------------
38*9880d681SAndroid Build Coastguard Worker
39*9880d681SAndroid Build Coastguard Worker         bit v0.8b, v1.8b, v2.8b
40*9880d681SAndroid Build Coastguard Worker         bit v0.16b, v1.16b, v2.16b
41*9880d681SAndroid Build Coastguard Worker         bif v0.8b, v1.8b, v2.8b
42*9880d681SAndroid Build Coastguard Worker         bif v0.16b, v1.16b, v2.16b
43*9880d681SAndroid Build Coastguard Worker         bsl v0.8b, v1.8b, v2.8b
44*9880d681SAndroid Build Coastguard Worker         bsl v0.16b, v1.16b, v2.16b
45*9880d681SAndroid Build Coastguard Worker         orn v0.8b, v1.8b, v2.8b
46*9880d681SAndroid Build Coastguard Worker         orn v0.16b, v1.16b, v2.16b
47*9880d681SAndroid Build Coastguard Worker         bic v0.8b, v1.8b, v2.8b
48*9880d681SAndroid Build Coastguard Worker         bic v0.16b, v1.16b, v2.16b
49*9880d681SAndroid Build Coastguard Worker
50*9880d681SAndroid Build Coastguard Worker// CHECK: bit v0.8b, v1.8b, v2.8b        // encoding: [0x20,0x1c,0xa2,0x2e]
51*9880d681SAndroid Build Coastguard Worker// CHECK: bit v0.16b, v1.16b, v2.16b     // encoding: [0x20,0x1c,0xa2,0x6e]
52*9880d681SAndroid Build Coastguard Worker// CHECK: bif v0.8b, v1.8b, v2.8b        // encoding: [0x20,0x1c,0xe2,0x2e]
53*9880d681SAndroid Build Coastguard Worker// CHECK: bif v0.16b, v1.16b, v2.16b     // encoding: [0x20,0x1c,0xe2,0x6e]
54*9880d681SAndroid Build Coastguard Worker// CHECK: bsl v0.8b, v1.8b, v2.8b        // encoding: [0x20,0x1c,0x62,0x2e]
55*9880d681SAndroid Build Coastguard Worker// CHECK: bsl v0.16b, v1.16b, v2.16b     // encoding: [0x20,0x1c,0x62,0x6e]
56*9880d681SAndroid Build Coastguard Worker// CHECK: orn v0.8b, v1.8b, v2.8b        // encoding: [0x20,0x1c,0xe2,0x0e]
57*9880d681SAndroid Build Coastguard Worker// CHECK: orn v0.16b, v1.16b, v2.16b     // encoding: [0x20,0x1c,0xe2,0x4e]
58*9880d681SAndroid Build Coastguard Worker// CHECK: bic v0.8b, v1.8b, v2.8b        // encoding: [0x20,0x1c,0x62,0x0e]
59*9880d681SAndroid Build Coastguard Worker// CHECK: bic v0.16b, v1.16b, v2.16b     // encoding: [0x20,0x1c,0x62,0x4e]
60*9880d681SAndroid Build Coastguard Worker
61