xref: /haiku/src/system/libroot/posix/musl/math/x86_64/floorl.s (revision f504f61099b010fbfa94b1cc63d2e9072c7f7185)
1*f504f610SAugustin Cavalier.global floorl
2*f504f610SAugustin Cavalier.type floorl,@function
3*f504f610SAugustin Cavalierfloorl:
4*f504f610SAugustin Cavalier	fldt 8(%rsp)
5*f504f610SAugustin Cavalier1:	mov $0x7,%al
6*f504f610SAugustin Cavalier1:	fstcw 8(%rsp)
7*f504f610SAugustin Cavalier	mov 9(%rsp),%ah
8*f504f610SAugustin Cavalier	mov %al,9(%rsp)
9*f504f610SAugustin Cavalier	fldcw 8(%rsp)
10*f504f610SAugustin Cavalier	frndint
11*f504f610SAugustin Cavalier	mov %ah,9(%rsp)
12*f504f610SAugustin Cavalier	fldcw 8(%rsp)
13*f504f610SAugustin Cavalier	ret
14*f504f610SAugustin Cavalier
15*f504f610SAugustin Cavalier.global ceill
16*f504f610SAugustin Cavalier.type ceill,@function
17*f504f610SAugustin Cavalierceill:
18*f504f610SAugustin Cavalier	fldt 8(%rsp)
19*f504f610SAugustin Cavalier	mov $0xb,%al
20*f504f610SAugustin Cavalier	jmp 1b
21*f504f610SAugustin Cavalier
22*f504f610SAugustin Cavalier.global truncl
23*f504f610SAugustin Cavalier.type truncl,@function
24*f504f610SAugustin Cavaliertruncl:
25*f504f610SAugustin Cavalier	fldt 8(%rsp)
26*f504f610SAugustin Cavalier	mov $0xf,%al
27*f504f610SAugustin Cavalier	jmp 1b
28