mirror of
https://git.FreeBSD.org/src.git
synced 2024-12-27 11:55:06 +00:00
Turn ia64_srlz() and ia64_srlz_i() into defines so that the code is
still correct when inlining is disabled.
This commit is contained in:
parent
047d6827d0
commit
dc03be9d67
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=221889
@ -508,17 +508,14 @@ ia64_enable_highfp(void)
|
||||
__asm __volatile("rsm psr.dfh;; srlz.d");
|
||||
}
|
||||
|
||||
static __inline void
|
||||
ia64_srlz_d(void)
|
||||
{
|
||||
__asm __volatile("srlz.d");
|
||||
}
|
||||
|
||||
static __inline void
|
||||
ia64_srlz_i(void)
|
||||
{
|
||||
__asm __volatile("srlz.i;;");
|
||||
}
|
||||
/*
|
||||
* Avoid inline functions for the following so that they still work
|
||||
* correctly when inlining is not enabled (e.g. -O0). Function calls
|
||||
* need data serialization after setting psr, which results in a
|
||||
* hazard.
|
||||
*/
|
||||
#define ia64_srlz_d() __asm __volatile("srlz.d")
|
||||
#define ia64_srlz_i() __asm __volatile("srlz.i;;")
|
||||
|
||||
#endif /* !LOCORE */
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user