18fdc9ce9SDmitry Chagin/*
28fdc9ce9SDmitry Chagin * This file is in public domain.
38fdc9ce9SDmitry Chagin * Written by Dmitry Chagin <dchagin@FreeBSD.org>
48fdc9ce9SDmitry Chagin */
58fdc9ce9SDmitry Chagin
60be13a45SDmitry Chagin	.text
70be13a45SDmitry Chagin
8c8dbef44SDmitry Chagin	.globl xregs_banks_max
9c8dbef44SDmitry Chagin	.type xregs_banks_max, @function
10c8dbef44SDmitry Chaginxregs_banks_max:
11c8dbef44SDmitry Chagin	mov  x0, #0
12c8dbef44SDmitry Chagin	ret
13c8dbef44SDmitry Chagin
14c8dbef44SDmitry Chagin	.size xregs_banks_max, . - xregs_banks_max
15c8dbef44SDmitry Chagin
16c8dbef44SDmitry Chagin
170be13a45SDmitry Chagin	.globl cpu_to_vfp
180be13a45SDmitry Chagin	.type cpu_to_vfp, @function
190be13a45SDmitry Chagincpu_to_vfp:
208fdc9ce9SDmitry Chagin	stp  q0,  q1, [x0, #( 0 * 16)]
218fdc9ce9SDmitry Chagin	stp  q2,  q3, [x0, #( 2 * 16)]
228fdc9ce9SDmitry Chagin	stp  q4,  q5, [x0, #( 4 * 16)]
238fdc9ce9SDmitry Chagin	stp  q6,  q7, [x0, #( 6 * 16)]
248fdc9ce9SDmitry Chagin	stp  q8,  q9, [x0, #( 8 * 16)]
258fdc9ce9SDmitry Chagin	stp q10, q11, [x0, #(10 * 16)]
268fdc9ce9SDmitry Chagin	stp q12, q13, [x0, #(12 * 16)]
278fdc9ce9SDmitry Chagin	stp q14, q15, [x0, #(14 * 16)]
288fdc9ce9SDmitry Chagin	stp q16, q17, [x0, #(16 * 16)]
298fdc9ce9SDmitry Chagin	stp q18, q19, [x0, #(18 * 16)]
308fdc9ce9SDmitry Chagin	stp q20, q21, [x0, #(20 * 16)]
318fdc9ce9SDmitry Chagin	stp q22, q23, [x0, #(22 * 16)]
328fdc9ce9SDmitry Chagin	stp q24, q25, [x0, #(24 * 16)]
338fdc9ce9SDmitry Chagin	stp q26, q27, [x0, #(26 * 16)]
348fdc9ce9SDmitry Chagin	stp q28, q29, [x0, #(28 * 16)]
358fdc9ce9SDmitry Chagin	stp q30, q31, [x0, #(30 * 16)]
368fdc9ce9SDmitry Chagin	ret
378fdc9ce9SDmitry Chagin
380be13a45SDmitry Chagin	.size cpu_to_vfp, . - cpu_to_vfp
398fdc9ce9SDmitry Chagin
408fdc9ce9SDmitry Chagin
410be13a45SDmitry Chagin	.globl vfp_to_cpu
420be13a45SDmitry Chagin	.type vfp_to_cpu, @function
430be13a45SDmitry Chaginvfp_to_cpu:
448fdc9ce9SDmitry Chagin	ldp  q0,  q1, [x0, #( 0 * 16)]
458fdc9ce9SDmitry Chagin	ldp  q2,  q3, [x0, #( 2 * 16)]
468fdc9ce9SDmitry Chagin	ldp  q4,  q5, [x0, #( 4 * 16)]
478fdc9ce9SDmitry Chagin	ldp  q6,  q7, [x0, #( 6 * 16)]
488fdc9ce9SDmitry Chagin	ldp  q8,  q9, [x0, #( 8 * 16)]
498fdc9ce9SDmitry Chagin	ldp q10, q11, [x0, #(10 * 16)]
508fdc9ce9SDmitry Chagin	ldp q12, q13, [x0, #(12 * 16)]
518fdc9ce9SDmitry Chagin	ldp q14, q15, [x0, #(14 * 16)]
528fdc9ce9SDmitry Chagin	ldp q16, q17, [x0, #(16 * 16)]
538fdc9ce9SDmitry Chagin	ldp q18, q19, [x0, #(18 * 16)]
548fdc9ce9SDmitry Chagin	ldp q20, q21, [x0, #(20 * 16)]
558fdc9ce9SDmitry Chagin	ldp q22, q23, [x0, #(22 * 16)]
568fdc9ce9SDmitry Chagin	ldp q24, q25, [x0, #(24 * 16)]
578fdc9ce9SDmitry Chagin	ldp q26, q27, [x0, #(26 * 16)]
588fdc9ce9SDmitry Chagin	ldp q28, q29, [x0, #(28 * 16)]
598fdc9ce9SDmitry Chagin	ldp q30, q31, [x0, #(30 * 16)]
608fdc9ce9SDmitry Chagin	ret
618fdc9ce9SDmitry Chagin
620be13a45SDmitry Chagin	.size vfp_to_cpu, . - vfp_to_cpu
638fdc9ce9SDmitry Chagin
648fdc9ce9SDmitry Chagin	.section        .note.GNU-stack,"",@progbits
65