Added missing properties.
[tangerine.git] / arch / m68k-mac / libgcc1 / _floatsisf.s
blob26e945aa0d33313cb4bfd7717d27b74e9dc97e07
1 | long integer to single float conversion routine
4 BIAS4 = 0x7F-1
6 .text
7 .even
8 .globl __floatsisf
10 __floatsisf:
11 movel %sp@(4),%d0 | get the 4-byte integer
12 moveml %d2-%d5,%sp@- | save registers to make norm_sf happy
14 movel %d0,%d4 | prepare result mantissa
15 clrl %d5
16 movew #BIAS4+32-8,%d0 | radix point after 32 bits
17 L_0:
18 movel %d4,%d2 | set sign flag
19 swap %d2
20 tstw %d2 | check sign of number
21 bge L_1 | nonnegative
22 negl %d4 | take absolute value
23 L_1:
24 clrw %d1 | set rounding = 0
25 jmp norm_sf