]>
Commit | Line | Data |
---|---|---|
32fcb36d DM |
1 | /* Multiple versions of sub_n |
2 | ||
b168057a | 3 | Copyright (C) 2013-2015 Free Software Foundation, Inc. |
32fcb36d DM |
4 | Contributed by David S. Miller (davem@davemloft.net) |
5 | This file is part of the GNU C Library. | |
6 | ||
7 | The GNU C Library is free software; you can redistribute it and/or | |
8 | modify it under the terms of the GNU Lesser General Public | |
9 | License as published by the Free Software Foundation; either | |
10 | version 2.1 of the License, or (at your option) any later version. | |
11 | ||
12 | The GNU C Library is distributed in the hope that it will be useful, | |
13 | but WITHOUT ANY WARRANTY; without even the implied warranty of | |
14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
15 | Lesser General Public License for more details. | |
16 | ||
17 | You should have received a copy of the GNU Lesser General Public | |
18 | License along with the GNU C Library; if not, see | |
19 | <http://www.gnu.org/licenses/>. */ | |
20 | ||
21 | #include <sysdep.h> | |
22 | ||
23 | ENTRY(__mpn_sub_n) | |
24 | .type __mpn_sub_n, @gnu_indirect_function | |
25 | # ifdef SHARED | |
26 | SETUP_PIC_REG_LEAF(o3, o5) | |
27 | # endif | |
28 | set HWCAP_SPARC_VIS3, %o1 | |
29 | andcc %o0, %o1, %g0 | |
30 | be 1f | |
31 | nop | |
32 | # ifdef SHARED | |
33 | sethi %gdop_hix22(__mpn_sub_n_vis3), %o1 | |
34 | xor %o1, %gdop_lox10(__mpn_sub_n_vis3), %o1 | |
35 | # else | |
36 | set __mpn_sub_n_vis3, %o1 | |
37 | # endif | |
38 | ba 10f | |
39 | nop | |
40 | 1: | |
41 | # ifdef SHARED | |
42 | sethi %gdop_hix22(__mpn_sub_n_generic), %o1 | |
43 | xor %o1, %gdop_lox10(__mpn_sub_n_generic), %o1 | |
44 | # else | |
7ddace62 | 45 | set __mpn_sub_n_generic, %o1 |
32fcb36d DM |
46 | # endif |
47 | 10: | |
48 | # ifdef SHARED | |
49 | add %o3, %o1, %o1 | |
50 | # endif | |
51 | retl | |
52 | mov %o1, %o0 | |
53 | END(__mpn_sub_n) | |
54 | ||
55 | #define __mpn_sub_n __mpn_sub_n_generic | |
56 | #include "../sub_n.S" |