1 // RUN: llvm-mc -triple aarch64-none-linux-gnu -mattr=+neon,+fullfp16 -show-encoding < %s | FileCheck %s
3 // Check that the assembler can handle the documented syntax for AArch64
5 //----------------------------------------------------------------------
6 // Scalar Floating-point Compare Mask Equal
7 //----------------------------------------------------------------------
13 // CHECK: fcmeq h10, h11, h12 // encoding: [0x6a,0x25,0x4c,0x5e]
14 // CHECK: fcmeq s10, s11, s12 // encoding: [0x6a,0xe5,0x2c,0x5e]
15 // CHECK: fcmeq d20, d21, d22 // encoding: [0xb4,0xe6,0x76,0x5e]
17 //----------------------------------------------------------------------
18 // Scalar Floating-point Compare Mask Equal To Zero
19 //----------------------------------------------------------------------
28 // CHECK: fcmeq h10, h11, #0.0 // encoding: [0x6a,0xd9,0xf8,0x5e]
29 // CHECK: fcmeq s10, s11, #0.0 // encoding: [0x6a,0xd9,0xa0,0x5e]
30 // CHECK: fcmeq d20, d21, #0.0 // encoding: [0xb4,0xda,0xe0,0x5e]
31 // CHECK: fcmeq h10, h11, #0.0 // encoding: [0x6a,0xd9,0xf8,0x5e]
32 // CHECK: fcmeq s10, s11, #0.0 // encoding: [0x6a,0xd9,0xa0,0x5e]
33 // CHECK: fcmeq d20, d21, #0.0 // encoding: [0xb4,0xda,0xe0,0x5e]
35 //----------------------------------------------------------------------
36 // Scalar Floating-point Compare Mask Greater Than Or Equal
37 //----------------------------------------------------------------------
43 // CHECK: fcmge h10, h11, h12 // encoding: [0x6a,0x25,0x4c,0x7e]
44 // CHECK: fcmge s10, s11, s12 // encoding: [0x6a,0xe5,0x2c,0x7e]
45 // CHECK: fcmge d20, d21, d22 // encoding: [0xb4,0xe6,0x76,0x7e]
47 //----------------------------------------------------------------------
48 // Scalar Floating-point Compare Mask Greater Than Or Equal To Zero
49 //----------------------------------------------------------------------
58 // CHECK: fcmge h10, h11, #0.0 // encoding: [0x6a,0xc9,0xf8,0x7e]
59 // CHECK: fcmge s10, s11, #0.0 // encoding: [0x6a,0xc9,0xa0,0x7e]
60 // CHECK: fcmge d20, d21, #0.0 // encoding: [0xb4,0xca,0xe0,0x7e]
61 // CHECK: fcmge h10, h11, #0.0 // encoding: [0x6a,0xc9,0xf8,0x7e]
62 // CHECK: fcmge s10, s11, #0.0 // encoding: [0x6a,0xc9,0xa0,0x7e]
63 // CHECK: fcmge d20, d21, #0.0 // encoding: [0xb4,0xca,0xe0,0x7e]
65 //----------------------------------------------------------------------
66 // Scalar Floating-point Compare Mask Greather Than
67 //----------------------------------------------------------------------
73 // CHECK: fcmgt h10, h11, h12 // encoding: [0x6a,0x25,0xcc,0x7e]
74 // CHECK: fcmgt s10, s11, s12 // encoding: [0x6a,0xe5,0xac,0x7e]
75 // CHECK: fcmgt d20, d21, d22 // encoding: [0xb4,0xe6,0xf6,0x7e]
77 //----------------------------------------------------------------------
78 // Scalar Floating-point Compare Mask Greather Than Zero
79 //----------------------------------------------------------------------
88 // CHECK: fcmgt h10, h11, #0.0 // encoding: [0x6a,0xc9,0xf8,0x5e]
89 // CHECK: fcmgt s10, s11, #0.0 // encoding: [0x6a,0xc9,0xa0,0x5e]
90 // CHECK: fcmgt d20, d21, #0.0 // encoding: [0xb4,0xca,0xe0,0x5e]
91 // CHECK: fcmgt h10, h11, #0.0 // encoding: [0x6a,0xc9,0xf8,0x5e]
92 // CHECK: fcmgt s10, s11, #0.0 // encoding: [0x6a,0xc9,0xa0,0x5e]
93 // CHECK: fcmgt d20, d21, #0.0 // encoding: [0xb4,0xca,0xe0,0x5e]
95 //----------------------------------------------------------------------
96 // Scalar Floating-point Compare Mask Less Than Or Equal To Zero
97 //----------------------------------------------------------------------
106 // CHECK: fcmle h10, h11, #0.0 // encoding: [0x6a,0xd9,0xf8,0x7e]
107 // CHECK: fcmle s10, s11, #0.0 // encoding: [0x6a,0xd9,0xa0,0x7e]
108 // CHECK: fcmle d20, d21, #0.0 // encoding: [0xb4,0xda,0xe0,0x7e]
109 // CHECK: fcmle h10, h11, #0.0 // encoding: [0x6a,0xd9,0xf8,0x7e]
110 // CHECK: fcmle s10, s11, #0.0 // encoding: [0x6a,0xd9,0xa0,0x7e]
111 // CHECK: fcmle d20, d21, #0.0 // encoding: [0xb4,0xda,0xe0,0x7e]
113 //----------------------------------------------------------------------
114 // Scalar Floating-point Compare Mask Less Than
115 //----------------------------------------------------------------------
124 // CHECK: fcmlt h10, h11, #0.0 // encoding: [0x6a,0xe9,0xf8,0x5e]
125 // CHECK: fcmlt s10, s11, #0.0 // encoding: [0x6a,0xe9,0xa0,0x5e]
126 // CHECK: fcmlt d20, d21, #0.0 // encoding: [0xb4,0xea,0xe0,0x5e]
127 // CHECK: fcmlt h10, h11, #0.0 // encoding: [0x6a,0xe9,0xf8,0x5e]
128 // CHECK: fcmlt s10, s11, #0.0 // encoding: [0x6a,0xe9,0xa0,0x5e]
129 // CHECK: fcmlt d20, d21, #0.0 // encoding: [0xb4,0xea,0xe0,0x5e]
131 //----------------------------------------------------------------------
132 // Scalar Floating-point Absolute Compare Mask Greater Than Or Equal
133 //----------------------------------------------------------------------
139 // CHECK: facge h10, h11, h12 // encoding: [0x6a,0x2d,0x4c,0x7e]
140 // CHECK: facge s10, s11, s12 // encoding: [0x6a,0xed,0x2c,0x7e]
141 // CHECK: facge d20, d21, d22 // encoding: [0xb4,0xee,0x76,0x7e]
143 //----------------------------------------------------------------------
144 // Scalar Floating-point Absolute Compare Mask Greater Than
145 //----------------------------------------------------------------------
151 // CHECK: facgt h10, h11, h12 // encoding: [0x6a,0x2d,0xcc,0x7e]
152 // CHECK: facgt s10, s11, s12 // encoding: [0x6a,0xed,0xac,0x7e]
153 // CHECK: facgt d20, d21, d22 // encoding: [0xb4,0xee,0xf6,0x7e]