1 # RUN: llvm-mc -triple arm64-apple-darwin --disassemble -output-asm-variant=1 < %s | FileCheck %s
3 #-----------------------------------------------------------------------------
4 # Floating-point arithmetic
5 #-----------------------------------------------------------------------------
16 # CHECK: fadd s1, s2, s3
17 # CHECK: fadd d1, d2, d3
22 # CHECK: fdiv s1, s2, s3
23 # CHECK: fdiv d1, d2, d3
28 # CHECK: fmadd s1, s2, s3, s4
29 # CHECK: fmadd d1, d2, d3, d4
36 # CHECK: fmax s1, s2, s3
37 # CHECK: fmax d1, d2, d3
38 # CHECK: fmaxnm s1, s2, s3
39 # CHECK: fmaxnm d1, d2, d3
46 # CHECK: fmin s1, s2, s3
47 # CHECK: fmin d1, d2, d3
48 # CHECK: fminnm s1, s2, s3
49 # CHECK: fminnm d1, d2, d3
54 # CHECK: fmsub s1, s2, s3, s4
55 # CHECK: fmsub d1, d2, d3, d4
60 # CHECK: fmul s1, s2, s3
61 # CHECK: fmul d1, d2, d3
72 # CHECK: fnmadd s1, s2, s3, s4
73 # CHECK: fnmadd d1, d2, d3, d4
78 # CHECK: fnmsub s1, s2, s3, s4
79 # CHECK: fnmsub d1, d2, d3, d4
84 # CHECK: fnmul s1, s2, s3
85 # CHECK: fnmul d1, d2, d3
96 # CHECK: fsub s1, s2, s3
97 # CHECK: fsub d1, d2, d3
99 #-----------------------------------------------------------------------------
100 # Floating-point comparison
101 #-----------------------------------------------------------------------------
108 # CHECK: fccmp s1, s2, #0, eq
109 # CHECK: fccmp d1, d2, #0, eq
110 # CHECK: fccmpe s1, s2, #0, eq
111 # CHECK: fccmpe d1, d2, #0, eq
124 # CHECK: fcmp s1, #0.0
125 # CHECK: fcmp d1, #0.0
126 # CHECK: fcmpe s1, s2
127 # CHECK: fcmpe d1, d2
128 # CHECK: fcmpe s1, #0.0
129 # CHECK: fcmpe d1, #0.0
131 #-----------------------------------------------------------------------------
132 # Floating-point conditional select
133 #-----------------------------------------------------------------------------
138 # CHECK: fcsel s1, s2, s3, eq
139 # CHECK: fcsel d1, d2, d3, eq
141 #-----------------------------------------------------------------------------
142 # Floating-point convert
143 #-----------------------------------------------------------------------------
168 #-----------------------------------------------------------------------------
169 # Floating-point move
170 #-----------------------------------------------------------------------------
187 # CHECK: fmov s1, #1.250000e-01
188 # CHECK: fmov d1, #1.250000e-01
189 # CHECK: fmov d1, #-4.843750e-01
190 # CHECK: fmov d1, #4.843750e-01
198 #-----------------------------------------------------------------------------
199 # Floating-point round to integral
200 #-----------------------------------------------------------------------------
205 # CHECK: frinta s1, s2
206 # CHECK: frinta d1, d2
211 # CHECK: frinti s1, s2
212 # CHECK: frinti d1, d2
217 # CHECK: frintm s1, s2
218 # CHECK: frintm d1, d2
223 # CHECK: frintn s1, s2
224 # CHECK: frintn d1, d2
229 # CHECK: frintp s1, s2
230 # CHECK: frintp d1, d2
235 # CHECK: frintx s1, s2
236 # CHECK: frintx d1, d2
241 # CHECK: frintz s1, s2
242 # CHECK: frintz d1, d2
247 # CHECK: cmhs d0, d0, d0
248 # CHECK: cmtst d0, d0, d0
253 # CHECK: fmov.d v0[1], x0
254 # CHECK: fmov.d x0, v0[1]