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// Scalar Compare Bitwise Equal
7//----------------------------------------------------------------------
8
9         cmeq d20, d21, d22
10
11// CHECK: cmeq d20, d21, d22   // encoding: [0xb4,0x8e,0xf6,0x7e]
12
13//----------------------------------------------------------------------
14// Scalar Compare Bitwise Equal To Zero
15//----------------------------------------------------------------------
16
17         cmeq d20, d21, #0x0
18
19// CHECK: cmeq d20, d21, #{{0x0|0}}   // encoding: [0xb4,0x9a,0xe0,0x5e]
20
21//----------------------------------------------------------------------
22// Scalar Compare Unsigned Higher Or Same
23//----------------------------------------------------------------------
24
25         cmhs d20, d21, d22
26
27// CHECK: cmhs d20, d21, d22   // encoding: [0xb4,0x3e,0xf6,0x7e]
28
29//----------------------------------------------------------------------
30// Scalar Compare Signed Greather Than Or Equal
31//----------------------------------------------------------------------
32
33         cmge d20, d21, d22
34
35// CHECK: cmge d20, d21, d22    // encoding: [0xb4,0x3e,0xf6,0x5e]
36
37//----------------------------------------------------------------------
38// Scalar Compare Signed Greather Than Or Equal To Zero
39//----------------------------------------------------------------------
40
41         cmge d20, d21, #0x0
42
43// CHECK: cmge d20, d21, #{{0x0|0}}   // encoding: [0xb4,0x8a,0xe0,0x7e]
44
45//----------------------------------------------------------------------
46// Scalar Compare Unsigned Higher
47//----------------------------------------------------------------------
48
49         cmhi d20, d21, d22
50
51// CHECK: cmhi d20, d21, d22   // encoding: [0xb4,0x36,0xf6,0x7e]
52//----------------------------------------------------------------------
53// Scalar Compare Signed Greater Than
54//----------------------------------------------------------------------
55
56         cmgt d20, d21, d22
57
58// CHECK: cmgt d20, d21, d22   // encoding: [0xb4,0x36,0xf6,0x5e]
59
60//----------------------------------------------------------------------
61// Scalar Compare Signed Greater Than Zero
62//----------------------------------------------------------------------
63
64         cmgt d20, d21, #0x0
65
66// CHECK: cmgt d20, d21, #{{0x0|0}}   // encoding: [0xb4,0x8a,0xe0,0x5e]
67
68//----------------------------------------------------------------------
69// Scalar Compare Signed Less Than Or Equal To Zero
70//----------------------------------------------------------------------
71
72         cmle d20, d21, #0x0
73
74// CHECK: cmle d20, d21, #{{0x0|0}}   // encoding: [0xb4,0x9a,0xe0,0x7e]
75
76//----------------------------------------------------------------------
77// Scalar Compare Less Than Zero
78//----------------------------------------------------------------------
79
80         cmlt d20, d21, #0x0
81
82// CHECK: cmlt d20, d21, #{{0x0|0}}   // encoding: [0xb4,0xaa,0xe0,0x5e]
83
84//----------------------------------------------------------------------
85// Scalar Compare Bitwise Test Bits
86//----------------------------------------------------------------------
87
88         cmtst d20, d21, d22
89
90// CHECK: cmtst d20, d21, d22   // encoding: [0xb4,0x8e,0xf6,0x5e]
91