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