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:
parent
60518ee41c
commit
b00555136c
@ -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)
|
||||
|
Loading…
x
Reference in New Issue
Block a user