1 // RUN
: llvm-mc
-triple aarch64-none-linux-gnu
-mattr
=+neon
,+fullfp16
-show-encoding
< %s | FileCheck
%s
3 //------------------------------------------------------------------------------
4 // Floating Point multiply
(scalar
, by element
)
5 //------------------------------------------------------------------------------
10 fmul s16
, s22
, v16.s
[3]
12 fmul d30
, d11
, v1.d
[1]
14 // CHECK
: fmul h0
, h1
, v1.h
[5] // encoding
: [0x20,0x98,0x11,0x5f]
15 // CHECK
: fmul s0
, s1
, v1.s
[0] // encoding
: [0x20,0x90,0x81,0x5f]
16 // CHECK
: fmul s30
, s11
, v1.s
[1] // encoding
: [0x7e,0x91,0xa1,0x5f]
17 // CHECK
: fmul s4
, s5
, v7.s
[2] // encoding
: [0xa4,0x98,0x87,0x5f]
18 // CHECK
: fmul s16
, s22
, v16.s
[3] // encoding
: [0xd0,0x9a,0xb0,0x5f]
19 // CHECK
: fmul d0
, d1
, v1.d
[0] // encoding
: [0x20,0x90,0xc1,0x5f]
20 // CHECK
: fmul d30
, d11
, v1.d
[1] // encoding
: [0x7e,0x99,0xc1,0x5f]
23 //------------------------------------------------------------------------------
24 // Floating Point multiply extended
(scalar
, by element
)
25 //------------------------------------------------------------------------------
28 fmulx s7
, s3
, v13.s
[1]
30 fmulx s13
, s21
, v10.s
[3]
31 fmulx d15
, d9
, v7.d
[0]
32 fmulx d13
, d12
, v11.d
[1]
34 // CHECK
: fmulx h6
, h2
, v8.h
[5] // encoding
: [0x46,0x98,0x18,0x7f]
35 // CHECK
: fmulx s6
, s2
, v8.s
[0] // encoding
: [0x46,0x90,0x88,0x7f]
36 // CHECK
: fmulx s7
, s3
, v13.s
[1] // encoding
: [0x67,0x90,0xad,0x7f]
37 // CHECK
: fmulx s9
, s7
, v9.s
[2] // encoding
: [0xe9,0x98,0x89,0x7f]
38 // CHECK
: fmulx s13
, s21
, v10.s
[3] // encoding
: [0xad,0x9a,0xaa,0x7f]
39 // CHECK
: fmulx d15
, d9
, v7.d
[0] // encoding
: [0x2f,0x91,0xc7,0x7f]
40 // CHECK
: fmulx d13
, d12
, v11.d
[1] // encoding
: [0x8d,0x99,0xcb,0x7f]