aboutsummaryrefslogtreecommitdiff
path: root/lib/libc/powerpcspe/gen
diff options
context:
space:
mode:
authorBrandon Bergren <bdragon@FreeBSD.org>2019-12-12 17:12:18 +0000
committerBrandon Bergren <bdragon@FreeBSD.org>2019-12-12 17:12:18 +0000
commit4f9ed3156c3aff08629d37c8a89ed5ba525b01c9 (patch)
treed4eaeefbf6cbc18d76d87ed31a1a349f2dd02a58 /lib/libc/powerpcspe/gen
parent034397237913cc8a9c0d8142ebe3bccc8595b04f (diff)
Notes
Diffstat (limited to 'lib/libc/powerpcspe/gen')
-rw-r--r--lib/libc/powerpcspe/gen/fpsetmask.c2
-rw-r--r--lib/libc/powerpcspe/gen/fpsetround.c2
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