mirror of
https://sourceware.org/git/glibc.git
synced 2025-10-26 00:57:39 +03:00
The patch is straighforward:
- The sparc32 v8 implementations are moved as the generic ones.
- A configure test is added to check for either __sparc_v8__ or
__sparc_v9__.
- The triple names are simplified and sparc implies sparcv8.
The idea is to keep support on sparcv8 architectures that does support
CAS instructions, such as LEON3/LEON4.
Checked on a sparcv9-linux-gnu and sparc64-linux-gnu.
Tested-by: Andreas Larsson <andreas@gaisler.com>
22 lines
226 B
ArmAsm
22 lines
226 B
ArmAsm
/*
|
|
* Sparc v8 has divide.
|
|
*/
|
|
|
|
#include <sysdep.h>
|
|
|
|
ENTRY(.rem)
|
|
|
|
sra %o0, 31, %o2
|
|
wr %o2, 0, %y
|
|
nop
|
|
nop
|
|
nop
|
|
sdivcc %o0, %o1, %o2
|
|
bvs,a 1f
|
|
xnor %o2, %g0, %o2
|
|
1: smul %o2, %o1, %o2
|
|
retl
|
|
sub %o0, %o2, %o0
|
|
|
|
END(.rem)
|