Changeset 74f5c83


Ignore:
Timestamp:
Aug 20, 2020, 10:58:51 PM (4 years ago)
Author:
Peter A. Buhr <pabuhr@…>
Branches:
ADT, arm-eh, ast-experimental, enum, forall-pointer-decay, jacob/cs343-translation, master, new-ast-unique-expr, pthread-emulation, qualifiedEnum
Children:
9b34766
Parents:
fd9b524
Message:

assembler for save/restore registers FPSR/FPCR for ARM

File:
1 edited

Legend:

Unmodified
Added
Removed
  • libcfa/src/concurrency/kernel.cfa

    rfd9b524 r74f5c83  
    1010// Created On       : Tue Jan 17 12:27:26 2017
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Thu Jul  9 06:22:54 2020
    13 // Update Count     : 66
     12// Last Modified On : Fri Aug 14 15:23:00 2020
     13// Update Count     : 69
    1414//
    1515
     
    7474                )
    7575
    76 
    7776#elif defined( __ARM_ARCH )
     77        #define __x87_store              \
     78                uint32_t __fpcntl[2];    \
     79                __asm__ volatile (    \
     80                        "mrs x9, FPCR\n" \
     81                        "mrs x10, FPSR\n"  \
     82                        "stp x9, x10, %0\n"  \
     83                        : "=m" (__fpcntl) : : "x9", "x10" \
     84                )
     85
     86        #define __x87_load         \
     87                __asm__ volatile (    \
     88                        "ldp x9, x10, %0\n"  \
     89                        "msr FPSR, x10\n"  \
     90                        "msr FPCR, x9\n" \
     91                : "=m" (__fpcntl) : : "x9", "x10" \
     92                )
     93
    7894#else
    7995        #error unknown hardware architecture
Note: See TracChangeset for help on using the changeset viewer.