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