[AArch64][PATCH 3/14] Support ARMv8.2 FP16 Scalar Three Same instructions.
[binutils-gdb.git] / gas / testsuite / gas / aarch64 / advsimd-fp16.s
1 /* simdhp.s Test file for AArch64 half-precision floating-point
2 vector instructions. */
3
4 /* Vector three-same. */
5
6 .macro three_same, op
7 \op v1.2d, v2.2d, v3.2d
8 \op v1.2s, v2.2s, v3.2s
9 \op v1.4s, v2.4s, v3.4s
10 \op v0.4h, v0.4h, v0.4h
11 \op v1.4h, v2.4h, v3.4h
12 \op v0.8h, v0.8h, v0.8h
13 \op v1.8h, v2.8h, v3.8h
14 .endm
15
16 .text
17
18 three_same fmaxnm
19 three_same fmaxnmp
20 three_same fminnm
21 three_same fminnmp
22 three_same fmla
23 three_same fmls
24 three_same fadd
25 three_same faddp
26 three_same fsub
27 three_same fmulx
28 three_same fmul
29 three_same fcmeq
30 three_same fcmge
31 three_same fcmgt
32 three_same facge
33 three_same facgt
34 three_same fmax
35 three_same fmaxp
36 three_same fmin
37 three_same fminp
38 three_same frecps
39 three_same fdiv
40 three_same frsqrts
41
42 /* Scalar three-same. */
43
44 .macro sthree_same, op
45 \op d0, d1, d2
46 \op s0, s1, s2
47 \op h0, h1, h2
48 \op h0, h0, h0
49 .endm
50
51 sthree_same fabd
52 sthree_same fmulx
53 sthree_same fcmeq
54 sthree_same fcmgt
55 sthree_same fcmge
56 sthree_same facge
57 sthree_same facgt
58 sthree_same frecps
59 sthree_same frsqrts