Changes in uspace/lib/math/arch/amd64/src/sin.S [a35b458:5918c00] in mainline
- File:
-
- 1 edited
-
uspace/lib/math/arch/amd64/src/sin.S (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
uspace/lib/math/arch/amd64/src/sin.S
ra35b458 r5918c00 35 35 pushq %rbp 36 36 movq %rsp, %rbp 37 37 38 38 # compute sine (using red zone) 39 39 40 40 movsd %xmm0, -8(%rbp) 41 41 fldl -8(%rbp) 42 42 43 43 fsin 44 44 45 45 # detect if source operand is out of range 46 46 47 47 fnstsw %ax 48 48 andw $X87_STATUS_WORD_C2_MASK, %ax 49 49 jnz fix_range 50 50 51 51 fstpl -8(%rbp) 52 52 movsd -8(%rbp), %xmm0 53 53 54 54 leave 55 55 retq 56 56 57 57 # argument reduction 58 58 59 59 fix_range: 60 60 fldpi 61 61 fadd %st(0) 62 62 fxch %st(1) 63 63 64 64 reduce: 65 65 fprem1 … … 67 67 andw $X87_STATUS_WORD_C2_MASK, %ax 68 68 jnz reduce 69 69 70 70 fstp %st(1) 71 71 fsin 72 72 73 73 fstpl -8(%rbp) 74 74 movsd -8(%rbp), %xmm0 75 75 76 76 leave 77 77 retq
Note:
See TracChangeset
for help on using the changeset viewer.
