]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - tools/test/avx_sig/c2x2c_aarch64.S
avx_sig: Adapt avx_sig test for Aarch64
[FreeBSD/FreeBSD.git] / tools / test / avx_sig / c2x2c_aarch64.S
1 /*
2  * This file is in public domain.
3  * Written by Dmitry Chagin <dchagin@FreeBSD.org>
4  *
5  * $FreeBSD$
6  */
7
8         .global cpu_to_simd
9         .type cpu_to_simd, @function
10 cpu_to_simd:
11         stp  q0,  q1, [x0, #( 0 * 16)]
12         stp  q2,  q3, [x0, #( 2 * 16)]
13         stp  q4,  q5, [x0, #( 4 * 16)]
14         stp  q6,  q7, [x0, #( 6 * 16)]
15         stp  q8,  q9, [x0, #( 8 * 16)]
16         stp q10, q11, [x0, #(10 * 16)]
17         stp q12, q13, [x0, #(12 * 16)]
18         stp q14, q15, [x0, #(14 * 16)]
19         stp q16, q17, [x0, #(16 * 16)]
20         stp q18, q19, [x0, #(18 * 16)]
21         stp q20, q21, [x0, #(20 * 16)]
22         stp q22, q23, [x0, #(22 * 16)]
23         stp q24, q25, [x0, #(24 * 16)]
24         stp q26, q27, [x0, #(26 * 16)]
25         stp q28, q29, [x0, #(28 * 16)]
26         stp q30, q31, [x0, #(30 * 16)]
27         ret
28
29         .size cpu_to_simd, . - cpu_to_simd
30
31
32         .global simd_to_cpu
33         .type simd_to_cpu, @function
34 simd_to_cpu:
35         ldp  q0,  q1, [x0, #( 0 * 16)]
36         ldp  q2,  q3, [x0, #( 2 * 16)]
37         ldp  q4,  q5, [x0, #( 4 * 16)]
38         ldp  q6,  q7, [x0, #( 6 * 16)]
39         ldp  q8,  q9, [x0, #( 8 * 16)]
40         ldp q10, q11, [x0, #(10 * 16)]
41         ldp q12, q13, [x0, #(12 * 16)]
42         ldp q14, q15, [x0, #(14 * 16)]
43         ldp q16, q17, [x0, #(16 * 16)]
44         ldp q18, q19, [x0, #(18 * 16)]
45         ldp q20, q21, [x0, #(20 * 16)]
46         ldp q22, q23, [x0, #(22 * 16)]
47         ldp q24, q25, [x0, #(24 * 16)]
48         ldp q26, q27, [x0, #(26 * 16)]
49         ldp q28, q29, [x0, #(28 * 16)]
50         ldp q30, q31, [x0, #(30 * 16)]
51         ret
52
53         .size simd_to_cpu, . - simd_to_cpu
54
55         .section        .note.GNU-stack,"",@progbits