diff options
| author | Brandon Bergren <bdragon@FreeBSD.org> | 2019-12-12 17:12:18 +0000 |
|---|---|---|
| committer | Brandon Bergren <bdragon@FreeBSD.org> | 2019-12-12 17:12:18 +0000 |
| commit | 4f9ed3156c3aff08629d37c8a89ed5ba525b01c9 (patch) | |
| tree | d4eaeefbf6cbc18d76d87ed31a1a349f2dd02a58 /lib/libc/powerpcspe/gen | |
| parent | 034397237913cc8a9c0d8142ebe3bccc8595b04f (diff) | |
Notes
Diffstat (limited to 'lib/libc/powerpcspe/gen')
| -rw-r--r-- | lib/libc/powerpcspe/gen/fpsetmask.c | 2 | ||||
| -rw-r--r-- | lib/libc/powerpcspe/gen/fpsetround.c | 2 |
2 files changed, 2 insertions, 2 deletions
diff --git a/lib/libc/powerpcspe/gen/fpsetmask.c b/lib/libc/powerpcspe/gen/fpsetmask.c index 9763b78a09199..e71b822d6e0b1 100644 --- a/lib/libc/powerpcspe/gen/fpsetmask.c +++ b/lib/libc/powerpcspe/gen/fpsetmask.c @@ -47,7 +47,7 @@ fpsetmask(fp_except_t mask) __asm__ __volatile("mfspr %0, %1" : "=r"(fpscr) : "K"(SPR_SPEFSCR)); old = (fp_rnd_t)((fpscr >> 2) & 0x1f); fpscr = (fpscr & 0xffffff83) | (mask << 2); - __asm__ __volatile("mtspr %1,%0" :: "r"(fpscr), "K"(SPR_SPEFSCR)); + __asm__ __volatile("mtspr %1,%0;isync" :: "r"(fpscr), "K"(SPR_SPEFSCR)); return (old); } #endif diff --git a/lib/libc/powerpcspe/gen/fpsetround.c b/lib/libc/powerpcspe/gen/fpsetround.c index b5340a6d9ea26..2e2469cdae5ee 100644 --- a/lib/libc/powerpcspe/gen/fpsetround.c +++ b/lib/libc/powerpcspe/gen/fpsetround.c @@ -47,7 +47,7 @@ fpsetround(fp_rnd_t rnd_dir) __asm__ __volatile("mfspr %0, %1" : "=r"(fpscr) : "K"(SPR_SPEFSCR) ); old = (fp_rnd_t)(fpscr & 0x3); fpscr = (fpscr & 0xfffffffc) | rnd_dir; - __asm__ __volatile("mtspr %1, %0" :: "r"(fpscr), "K"(SPR_SPEFSCR)); + __asm__ __volatile("mtspr %1, %0;isync" :: "r"(fpscr), "K"(SPR_SPEFSCR)); return (old); } #endif |
