1 | /* |
---|---|
2 | * Sparc v9 has divide. |
3 | * As divx takes 68 cycles and sdivcc only 36, |
4 | * we use sdivcc even though it is deprecated. |
5 | */ |
6 | |
7 | #include <sysdep.h> |
8 | |
9 | .text |
10 | .align 32 |
11 | ENTRY(.div) |
12 | |
13 | sra %o0, 31, %o2 |
14 | wr %o2, 0, %y |
15 | sdivcc %o0, %o1, %o0 |
16 | xnor %o0, %g0, %o2 |
17 | retl |
18 | movvs %icc, %o2, %o0 |
19 | |
20 | END(.div) |
21 |