Fix WAW dependency violation on r17 (line 198) that only exists for
the SMP case. While on the subject, remove unnecessary stops. I don't know if this resolves the memory corruption I'm seeing, but it does have the potential. We'll see...
This commit is contained in:
parent
0f9d8c9b27
commit
7ac993bf17
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=95231
@ -195,6 +195,7 @@ ENTRY(cpu_switch, 0)
|
||||
mov ar.rsc=3 // turn RSE back on
|
||||
|
||||
#ifdef SMP
|
||||
;;
|
||||
add r17 = PC_CPUID, r13
|
||||
movl r16 = smp_active
|
||||
;;
|
||||
@ -223,15 +224,15 @@ ENTRY(cpu_switch, 0)
|
||||
3:
|
||||
alloc r15=ar.pfs,0,0,2,0 // create temporary output frame
|
||||
mov r4=ret0 // save from call
|
||||
|
||||
#ifdef SMP
|
||||
;;
|
||||
add r14=PC_CURTHREAD,r13
|
||||
;;
|
||||
ld8 out0=[r14]
|
||||
mov out1=1
|
||||
br.call.sptk.few rp=ia64_fpstate_save // clear fpcurthread
|
||||
#endif
|
||||
;;
|
||||
|
||||
add r14=PC_CURTHREAD,r13 ;;
|
||||
|
||||
st8 [r14]=r4 // set r13->pc_curthread
|
||||
|
Loading…
Reference in New Issue
Block a user