Source-Changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

CVS commit: src/lib/libc/arch/alpha/gen

Module Name:    src
Committed By:   matt
Date:           Sun Jun 12 05:44:36 UTC 2011

Modified Files:
        src/lib/libc/arch/alpha/gen: __setjmp14.S flt_rounds.c fpgetround.c

Log Message:
Use excb before and after the mt_fpcr/mf_fpcr instructions as specified
in the alpha ARM (Accessing the FPCR):

        Because Alpha floating-point hardware can overlap the execution of
        a number of floating-point instructions, accessing the FPCR must
        be synchronized with other floating-point instructions. An EXCB
        instruction must be issued both prior to and after accessing the
        FPCR to ensure that the FPCR access is synchronized with the
        execution of previous and subsequent floating-point instructions;
        otherwise synchronization is not ensured.

Use unions to convert between double and uint64_t to avoid casting.

To generate a diff of this commit:
cvs rdiff -u -r1.4 -r1.5 src/lib/libc/arch/alpha/gen/__setjmp14.S
cvs rdiff -u -r1.8 -r1.9 src/lib/libc/arch/alpha/gen/flt_rounds.c
cvs rdiff -u -r1.9 -r1.10 src/lib/libc/arch/alpha/gen/fpgetround.c
cvs rdiff -u -r1.10 -r1.11 src/lib/libc/arch/alpha/gen/fpsetround.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Home | Main Index | Thread Index | Old Index