Ignore:
Timestamp:
Mar 9, 2017, 3:49:30 PM (5 years ago)
Author:
Thierry Delisle <tdelisle@…>
Branches:
aaron-thesis, arm-eh, cleanup-dtors, deferred_resn, demangler, enum, forall-pointer-decay, jacob/cs343-translation, jenkins-sandbox, master, new-ast, new-ast-unique-expr, new-env, no_list, persistent-indexer, resolv-new, with_gc
Children:
149d297
Parents:
5222605
Message:

Fixed saving and loading of control words for i386

File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/libcfa/concurrency/CtxSwitch-x86_64.S

    r5222605 r7b2c2c5f  
    4747CtxSwitch:
    4848
    49         // Save volatile registers on the stack.
     49        // Save floating & SSE control words on the stack.
    5050
    5151        subq   $8,%rsp
    5252        stmxcsr 0(%rsp)         // 4 bytes
    5353        fnstcw  4(%rsp)         // 2 bytes
     54
     55        // Save volatile registers on the stack.
     56
    5457        pushq %r15
    5558        pushq %r14
     
    7578        popq %r14
    7679        popq %r15
     80
     81        // Load floating & SSE control words from the stack.
     82
    7783        fldcw   4(%rsp)
    7884        ldmxcsr 0(%rsp)
    79         addq $8,%rsp
     85        addq   $8,%rsp
    8086
    8187        // Return to thread.
Note: See TracChangeset for help on using the changeset viewer.