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]