AArch64/ARM64: move ARM64 into AArch64's place
[oota-llvm.git] / test / MC / AArch64 / neon-bitwise-instructions.s
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