1 // RUN
: llvm-mc
-triple aarch64-none-linux-gnu
-mattr
=+neon
,+fullfp16
-show-encoding
< %s | FileCheck
%s
3 //------------------------------------------------------------------------------
4 // Floating Point fused multiply-
add (scalar
, by element
)
5 //------------------------------------------------------------------------------
10 fmla s16
, s22
, v16.s
[3]
12 fmla d30
, d11
, v1.d
[1]
14 // CHECK
: fmla h0
, h1
, v1.h
[5] // encoding
: [0x20,0x18,0x11,0x5f]
15 // CHECK
: fmla s0
, s1
, v1.s
[0] // encoding
: [0x20,0x10,0x81,0x5f]
16 // CHECK
: fmla s30
, s11
, v1.s
[1] // encoding
: [0x7e,0x11,0xa1,0x5f]
17 // CHECK
: fmla s4
, s5
, v7.s
[2] // encoding
: [0xa4,0x18,0x87,0x5f]
18 // CHECK
: fmla s16
, s22
, v16.s
[3] // encoding
: [0xd0,0x1a,0xb0,0x5f]
19 // CHECK
: fmla d0
, d1
, v1.d
[0] // encoding
: [0x20,0x10,0xc1,0x5f]
20 // CHECK
: fmla d30
, d11
, v1.d
[1] // encoding
: [0x7e,0x19,0xc1,0x5f]
22 //------------------------------------------------------------------------------
23 // Floating Point fused multiply-subtract
(scalar
, by element
)
24 //------------------------------------------------------------------------------
28 fmls s29
, s10
, v28.s
[1]
29 fmls s5
, s12
, v23.s
[2]
30 fmls s7
, s17
, v26.s
[3]
32 fmls d30
, d11
, v1.d
[1]
34 // CHECK
: fmls h2
, h3
, v4.h
[5] // encoding
: [0x62,0x58,0x14,0x5f]
35 // CHECK
: fmls s2
, s3
, v4.s
[0] // encoding
: [0x62,0x50,0x84,0x5f]
36 // CHECK
: fmls s29
, s10
, v28.s
[1] // encoding
: [0x5d,0x51,0xbc,0x5f]
37 // CHECK
: fmls s5
, s12
, v23.s
[2] // encoding
: [0x85,0x59,0x97,0x5f]
38 // CHECK
: fmls s7
, s17
, v26.s
[3] // encoding
: [0x27,0x5a,0xba,0x5f]
39 // CHECK
: fmls d0
, d1
, v1.d
[0] // encoding
: [0x20,0x50,0xc1,0x5f]
40 // CHECK
: fmls d30
, d11
, v1.d
[1] // encoding
: [0x7e,0x59,0xc1,0x5f]