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:
Marcel Moolenaar 2011-05-14 14:36:08 +00:00
parent 047d6827d0
commit dc03be9d67
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=221889

View File

@ -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 */