powerpc: Remove UP only lazy floating point and vector optimisations
The UP only lazy floating point and vector optimisations were written back when SMP was not common, and neither glibc nor gcc used vector instructions. Now SMP is very common, glibc aggressively uses vector instructions and gcc autovectorises. We want to add new optimisations that apply to both UP and SMP, but in preparation for that remove these UP only optimisations. Signed-off-by: Anton Blanchard <anton@samba.org> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
This commit is contained in:
committed by
Michael Ellerman
parent
68bfa962bf
commit
af1bbc3dd3
@ -687,15 +687,6 @@ static long restore_user_regs(struct pt_regs *regs,
|
||||
if (sig)
|
||||
regs->msr = (regs->msr & ~MSR_LE) | (msr & MSR_LE);
|
||||
|
||||
/*
|
||||
* Do this before updating the thread state in
|
||||
* current->thread.fpr/vr/evr. That way, if we get preempted
|
||||
* and another task grabs the FPU/Altivec/SPE, it won't be
|
||||
* tempted to save the current CPU state into the thread_struct
|
||||
* and corrupt what we are writing there.
|
||||
*/
|
||||
discard_lazy_cpu_state();
|
||||
|
||||
#ifdef CONFIG_ALTIVEC
|
||||
/*
|
||||
* Force the process to reload the altivec registers from
|
||||
@ -798,15 +789,6 @@ static long restore_tm_user_regs(struct pt_regs *regs,
|
||||
/* Restore the previous little-endian mode */
|
||||
regs->msr = (regs->msr & ~MSR_LE) | (msr & MSR_LE);
|
||||
|
||||
/*
|
||||
* Do this before updating the thread state in
|
||||
* current->thread.fpr/vr/evr. That way, if we get preempted
|
||||
* and another task grabs the FPU/Altivec/SPE, it won't be
|
||||
* tempted to save the current CPU state into the thread_struct
|
||||
* and corrupt what we are writing there.
|
||||
*/
|
||||
discard_lazy_cpu_state();
|
||||
|
||||
#ifdef CONFIG_ALTIVEC
|
||||
regs->msr &= ~MSR_VEC;
|
||||
if (msr & MSR_VEC) {
|
||||
|
Reference in New Issue
Block a user