Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/lib/math/arch/amd64/src/sin.S

    ra35b458 r5918c00  
    3535        pushq %rbp
    3636        movq %rsp, %rbp
    37 
     37       
    3838        # compute sine (using red zone)
    39 
     39       
    4040        movsd %xmm0, -8(%rbp)
    4141        fldl -8(%rbp)
    42 
     42       
    4343        fsin
    44 
     44       
    4545        # detect if source operand is out of range
    46 
     46       
    4747        fnstsw %ax
    4848        andw $X87_STATUS_WORD_C2_MASK, %ax
    4949        jnz fix_range
    50 
     50       
    5151                fstpl -8(%rbp)
    5252                movsd -8(%rbp), %xmm0
    53 
     53               
    5454                leave
    5555                retq
    56 
     56       
    5757        # argument reduction
    58 
     58       
    5959        fix_range:
    6060                fldpi
    6161                fadd %st(0)
    6262                fxch %st(1)
    63 
     63       
    6464        reduce:
    6565                fprem1
     
    6767                andw $X87_STATUS_WORD_C2_MASK, %ax
    6868                jnz reduce
    69 
     69       
    7070        fstp %st(1)
    7171        fsin
    72 
     72       
    7373        fstpl -8(%rbp)
    7474        movsd -8(%rbp), %xmm0
    75 
     75       
    7676        leave
    7777        retq
Note: See TracChangeset for help on using the changeset viewer.