Warning: This file is not a C or C++ file. It does not have highlighting.
1 | /* SPDX-License-Identifier: GPL-2.0-or-later */ |
---|---|
2 | /* |
3 | * Copyright 2015, Cyril Bur, IBM Corp. |
4 | */ |
5 | |
6 | #include "basic_asm.h" |
7 | |
8 | /* |
9 | * Careful this will 'clobber' vsx (by design), VSX are always |
10 | * volatile though so unlike vmx this isn't so much of an issue |
11 | * Still should avoid calling from C |
12 | */ |
13 | FUNC_START(load_vsx) |
14 | li r5,0 |
15 | lxvd2x vs20,r5,r3 |
16 | addi r5,r5,16 |
17 | lxvd2x vs21,r5,r3 |
18 | addi r5,r5,16 |
19 | lxvd2x vs22,r5,r3 |
20 | addi r5,r5,16 |
21 | lxvd2x vs23,r5,r3 |
22 | addi r5,r5,16 |
23 | lxvd2x vs24,r5,r3 |
24 | addi r5,r5,16 |
25 | lxvd2x vs25,r5,r3 |
26 | addi r5,r5,16 |
27 | lxvd2x vs26,r5,r3 |
28 | addi r5,r5,16 |
29 | lxvd2x vs27,r5,r3 |
30 | addi r5,r5,16 |
31 | lxvd2x vs28,r5,r3 |
32 | addi r5,r5,16 |
33 | lxvd2x vs29,r5,r3 |
34 | addi r5,r5,16 |
35 | lxvd2x vs30,r5,r3 |
36 | addi r5,r5,16 |
37 | lxvd2x vs31,r5,r3 |
38 | blr |
39 | FUNC_END(load_vsx) |
40 | |
41 | FUNC_START(store_vsx) |
42 | li r5,0 |
43 | stxvd2x vs20,r5,r3 |
44 | addi r5,r5,16 |
45 | stxvd2x vs21,r5,r3 |
46 | addi r5,r5,16 |
47 | stxvd2x vs22,r5,r3 |
48 | addi r5,r5,16 |
49 | stxvd2x vs23,r5,r3 |
50 | addi r5,r5,16 |
51 | stxvd2x vs24,r5,r3 |
52 | addi r5,r5,16 |
53 | stxvd2x vs25,r5,r3 |
54 | addi r5,r5,16 |
55 | stxvd2x vs26,r5,r3 |
56 | addi r5,r5,16 |
57 | stxvd2x vs27,r5,r3 |
58 | addi r5,r5,16 |
59 | stxvd2x vs28,r5,r3 |
60 | addi r5,r5,16 |
61 | stxvd2x vs29,r5,r3 |
62 | addi r5,r5,16 |
63 | stxvd2x vs30,r5,r3 |
64 | addi r5,r5,16 |
65 | stxvd2x vs31,r5,r3 |
66 | blr |
67 | FUNC_END(store_vsx) |
68 |
Warning: This file is not a C or C++ file. It does not have highlighting.