Add an instruction group break after the move to application register

and the move to control register to avoid dependency violations when
these functions are used. Note that explicit data and instruction
serialization also need to be in a subsequent instruction group.
This too requires that we have an igrp break here.
This commit is contained in:
Marcel Moolenaar 2003-08-15 05:46:33 +00:00
parent 60518ee41c
commit b00555136c

View File

@ -284,7 +284,7 @@ ia64_get_##name(void) \
static __inline void \
ia64_set_##name(u_int64_t v) \
{ \
__asm __volatile("mov ar." #name "=%0" :: "r" (v)); \
__asm __volatile("mov ar." #name "=%0;;" :: "r" (v)); \
}
IA64_AR(k0)
@ -340,7 +340,7 @@ ia64_get_##name(void) \
static __inline void \
ia64_set_##name(u_int64_t v) \
{ \
__asm __volatile("mov cr." #name "=%0" :: "r" (v)); \
__asm __volatile("mov cr." #name "=%0;;" :: "r" (v)); \
}
IA64_CR(dcr)