diff options
author | Anton Blanchard <anton@samba.org> | 2016-05-29 14:03:50 +0200 |
---|---|---|
committer | Michael Ellerman <mpe@ellerman.id.au> | 2016-06-14 05:58:25 +0200 |
commit | 8eb9803723a14fd12675641b953e4ccbd86187a8 (patch) | |
tree | 5715e1f961a191d979b26eb862873013931baab1 /arch/powerpc/kernel/signal_64.c | |
parent | Linux 4.7-rc3 (diff) | |
download | linux-8eb9803723a14fd12675641b953e4ccbd86187a8.tar.xz linux-8eb9803723a14fd12675641b953e4ccbd86187a8.zip |
powerpc: Avoid load hit store in __giveup_fpu() and __giveup_altivec()
In both __giveup_fpu() and __giveup_altivec() we make two modifications
to tsk->thread.regs->msr. gcc decides to do a read/modify/write of
each change, so we end up with a load hit store:
ld r9,264(r10)
rldicl r9,r9,50,1
rotldi r9,r9,14
std r9,264(r10)
...
ld r9,264(r10)
rldicl r9,r9,40,1
rotldi r9,r9,24
std r9,264(r10)
Fix this by using a temporary.
Signed-off-by: Anton Blanchard <anton@samba.org>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Diffstat (limited to 'arch/powerpc/kernel/signal_64.c')
0 files changed, 0 insertions, 0 deletions