1 #name: ARM v8.2 FP16 support on SIMD (Thumb)
2 #source: armv8-2-fp16-simd.s
3 #objdump: -d
4 #as: -march=armv8.2-a+fp16 -mthumb
5 #skip: *-*-pe *-*-wince
6 
7 .*: +file format .*arm.*
8 
9 Disassembly of section .text:
10 
11 00000000 <func>:
12    0:	ff34 2d0e 	vabd.f16	d2, d4, d14
13    4:	ff38 4d6c 	vabd.f16	q2, q4, q14
14    8:	ef14 2f0e 	vmax.f16	d2, d4, d14
15    c:	ef18 4f6c 	vmax.f16	q2, q4, q14
16   10:	ef34 2f0e 	vmin.f16	d2, d4, d14
17   14:	ef38 4f6c 	vmin.f16	q2, q4, q14
18   18:	ff30 0dec 	vabd.f16	q0, q8, q14
19   1c:	ef10 0fec 	vmax.f16	q0, q8, q14
20   20:	ef30 0fec 	vmin.f16	q0, q8, q14
21   24:	ff33 1d0f 	vabd.f16	d1, d3, d15
22   28:	ff31 0d08 	vabd.f16	d0, d1, d8
23   2c:	ffb5 0708 	vabs.f16	d0, d8
24   30:	ffb5 0760 	vabs.f16	q0, q8
25   34:	ffb5 0788 	vneg.f16	d0, d8
26   38:	ffb5 07e0 	vneg.f16	q0, q8
27   3c:	ffb5 474c 	vabs.f16	q2, q6
28   40:	ffb5 47cc 	vneg.f16	q2, q6
29   44:	ffb5 7703 	vabs.f16	d7, d3
30   48:	ffb5 9781 	vneg.f16	d9, d1
31   4c:	ff14 2e1e 	vacge.f16	d2, d4, d14
32   50:	ff18 4e7c 	vacge.f16	q2, q4, q14
33   54:	ff34 2e1e 	vacgt.f16	d2, d4, d14
34   58:	ff38 4e7c 	vacgt.f16	q2, q4, q14
35   5c:	ff3e 2e14 	vacgt.f16	d2, d14, d4
36   60:	ff3c 4ed8 	vacgt.f16	q2, q14, q4
37   64:	ff1e 2e14 	vacge.f16	d2, d14, d4
38   68:	ff1c 4ed8 	vacge.f16	q2, q14, q4
39   6c:	ef14 2e0e 	vceq.f16	d2, d4, d14
40   70:	ef18 4e6c 	vceq.f16	q2, q4, q14
41   74:	ff14 2e0e 	vcge.f16	d2, d4, d14
42   78:	ff18 4e6c 	vcge.f16	q2, q4, q14
43   7c:	ff34 2e0e 	vcgt.f16	d2, d4, d14
44   80:	ff38 4e6c 	vcgt.f16	q2, q4, q14
45   84:	ff1e 2e04 	vcge.f16	d2, d14, d4
46   88:	ff1c 4ec8 	vcge.f16	q2, q14, q4
47   8c:	ff3e 2e04 	vcgt.f16	d2, d14, d4
48   90:	ff3c 4ec8 	vcgt.f16	q2, q14, q4
49   94:	ff10 0efc 	vacge.f16	q0, q8, q14
50   98:	ff30 0efc 	vacgt.f16	q0, q8, q14
51   9c:	ff3c 0ef0 	vacgt.f16	q0, q14, q8
52   a0:	ff1c 0ef0 	vacge.f16	q0, q14, q8
53   a4:	ef10 0eec 	vceq.f16	q0, q8, q14
54   a8:	ff10 0eec 	vcge.f16	q0, q8, q14
55   ac:	ff30 0eec 	vcgt.f16	q0, q8, q14
56   b0:	ff1c 0ee0 	vcge.f16	q0, q14, q8
57   b4:	ff3c 0ee0 	vcgt.f16	q0, q14, q8
58   b8:	ef14 2d0e 	vadd.f16	d2, d4, d14
59   bc:	ef18 4d6c 	vadd.f16	q2, q4, q14
60   c0:	ef34 2d0e 	vsub.f16	d2, d4, d14
61   c4:	ef38 4d6c 	vsub.f16	q2, q4, q14
62   c8:	ef10 0dec 	vadd.f16	q0, q8, q14
63   cc:	ef30 0dec 	vsub.f16	q0, q8, q14
64   d0:	ff14 2f1e 	vmaxnm.f16	d2, d4, d14
65   d4:	ff18 4f7c 	vmaxnm.f16	q2, q4, q14
66   d8:	ff34 2f1e 	vminnm.f16	d2, d4, d14
67   dc:	ff38 4f7c 	vminnm.f16	q2, q4, q14
68   e0:	ef14 2c1e 	vfma.f16	d2, d4, d14
69   e4:	ef18 4c7c 	vfma.f16	q2, q4, q14
70   e8:	ef34 2c1e 	vfms.f16	d2, d4, d14
71   ec:	ef38 4c7c 	vfms.f16	q2, q4, q14
72   f0:	ef14 2d1e 	vmla.f16	d2, d4, d14
73   f4:	ef18 4d7c 	vmla.f16	q2, q4, q14
74   f8:	ef34 2d1e 	vmls.f16	d2, d4, d14
75   fc:	ef38 4d7c 	vmls.f16	q2, q4, q14
76  100:	ffb6 458e 	vrintz.f16	d4, d14
77  104:	ffb6 85ec 	vrintz.f16	q4, q14
78  108:	ffb6 448e 	vrintx.f16	d4, d14
79  10c:	ffb6 84ec 	vrintx.f16	q4, q14
80  110:	ffb6 450e 	vrinta.f16	d4, d14
81  114:	ffb6 856c 	vrinta.f16	q4, q14
82  118:	ffb6 440e 	vrintn.f16	d4, d14
83  11c:	ffb6 846c 	vrintn.f16	q4, q14
84  120:	ffb6 478e 	vrintp.f16	d4, d14
85  124:	ffb6 87ec 	vrintp.f16	q4, q14
86  128:	ffb6 468e 	vrintm.f16	d4, d14
87  12c:	ffb6 86ec 	vrintm.f16	q4, q14
88  130:	ff18 4d0e 	vpadd.f16	d4, d8, d14
89  134:	ffb7 4508 	vrecpe.f16	d4, d8
90  138:	ffb7 8560 	vrecpe.f16	q4, q8
91  13c:	ffb7 4588 	vrsqrte.f16	d4, d8
92  140:	ffb7 85e0 	vrsqrte.f16	q4, q8
93  144:	ffb7 0564 	vrecpe.f16	q0, q10
94  148:	ffb7 05e4 	vrsqrte.f16	q0, q10
95  14c:	ef1a 8f1c 	vrecps.f16	d8, d10, d12
96  150:	ef54 0ff8 	vrecps.f16	q8, q10, q12
97  154:	ef3a 8f1c 	vrsqrts.f16	d8, d10, d12
98  158:	ef74 0ff8 	vrsqrts.f16	q8, q10, q12
99  15c:	ef10 4f58 	vrecps.f16	q2, q0, q4
100  160:	ef30 4f58 	vrsqrts.f16	q2, q0, q4
101  164:	ff18 4f0e 	vpmax.f16	d4, d8, d14
102  168:	ff38 af02 	vpmin.f16	d10, d8, d2
103  16c:	ff18 4d1e 	vmul.f16	d4, d8, d14
104  170:	ff10 7d11 	vmul.f16	d7, d0, d1
105  174:	ff10 4dd0 	vmul.f16	q2, q8, q0
106  178:	ffb7 600c 	vcvta.s16.f16	d6, d12
107  17c:	ffb7 c068 	vcvta.s16.f16	q6, q12
108  180:	ffb7 630c 	vcvtm.s16.f16	d6, d12
109  184:	ffb7 c368 	vcvtm.s16.f16	q6, q12
110  188:	ffb7 610c 	vcvtn.s16.f16	d6, d12
111  18c:	ffb7 c168 	vcvtn.s16.f16	q6, q12
112  190:	ffb7 620c 	vcvtp.s16.f16	d6, d12
113  194:	ffb7 c268 	vcvtp.s16.f16	q6, q12
114  198:	ffb7 608c 	vcvta.u16.f16	d6, d12
115  19c:	ffb7 c0e8 	vcvta.u16.f16	q6, q12
116  1a0:	ffb7 638c 	vcvtm.u16.f16	d6, d12
117  1a4:	ffb7 c3e8 	vcvtm.u16.f16	q6, q12
118  1a8:	ffb7 618c 	vcvtn.u16.f16	d6, d12
119  1ac:	ffb7 c1e8 	vcvtn.u16.f16	q6, q12
120  1b0:	ffb7 628c 	vcvtp.u16.f16	d6, d12
121  1b4:	ffb7 c2e8 	vcvtp.u16.f16	q6, q12
122  1b8:	ffb7 e700 	vcvt.s16.f16	d14, d0
123  1bc:	fff7 c740 	vcvt.s16.f16	q14, q0
124  1c0:	ffb7 e780 	vcvt.u16.f16	d14, d0
125  1c4:	fff7 c7c0 	vcvt.u16.f16	q14, q0
126  1c8:	ffb7 e600 	vcvt.f16.s16	d14, d0
127  1cc:	fff7 c640 	vcvt.f16.s16	q14, q0
128  1d0:	ffb7 e680 	vcvt.f16.u16	d14, d0
129  1d4:	fff7 c6c0 	vcvt.f16.u16	q14, q0
130  1d8:	efbd ed10 	vcvt.s16.f16	d14, d0, #3
131  1dc:	effd cd50 	vcvt.s16.f16	q14, q0, #3
132  1e0:	ffbd ed10 	vcvt.u16.f16	d14, d0, #3
133  1e4:	fffd cd50 	vcvt.u16.f16	q14, q0, #3
134  1e8:	efbd ec10 	vcvt.f16.s16	d14, d0, #3
135  1ec:	effd cc50 	vcvt.f16.s16	q14, q0, #3
136  1f0:	ffbd ec10 	vcvt.f16.u16	d14, d0, #3
137  1f4:	fffd cc50 	vcvt.f16.u16	q14, q0, #3
138  1f8:	ffb5 e502 	vceq.f16	d14, d2, #0
139  1fc:	fff5 c544 	vceq.f16	q14, q2, #0
140  200:	ffb5 e482 	vcge.f16	d14, d2, #0
141  204:	fff5 c4c4 	vcge.f16	q14, q2, #0
142  208:	ffb5 e402 	vcgt.f16	d14, d2, #0
143  20c:	fff5 c444 	vcgt.f16	q14, q2, #0
144  210:	ffb5 e582 	vcle.f16	d14, d2, #0
145  214:	fff5 c5c4 	vcle.f16	q14, q2, #0
146  218:	ffb5 e602 	vclt.f16	d14, d2, #0
147  21c:	fff5 c644 	vclt.f16	q14, q2, #0
148  220:	ef90 7941 	vmul.f16	d7, d0, d1\[0\]
149  224:	ef98 4966 	vmul.f16	d4, d8, d6\[2\]
150  228:	ff90 49c8 	vmul.f16	q2, q8, d0\[1\]
151  22c:	ff90 49ef 	vmul.f16	q2, q8, d7\[3\]
152  230:	ef94 2141 	vmla.f16	d2, d4, d1\[0\]
153  234:	ff98 4141 	vmla.f16	q2, q4, d1\[0\]
154  238:	ef94 2541 	vmls.f16	d2, d4, d1\[0\]
155  23c:	ff98 4541 	vmls.f16	q2, q4, d1\[0\]
156  240:	ef98 116f 	vmla.f16	d1, d8, d7\[3\]
157  244:	ff90 21ef 	vmla.f16	q1, q8, d7\[3\]
158  248:	ef98 156f 	vmls.f16	d1, d8, d7\[3\]
159  24c:	ff90 25ef 	vmls.f16	q1, q8, d7\[3\]
160