powerpc: Avoid load hit store in __giveup_fpu() and __giveup_altivec()
authorAnton Blanchard <anton@samba.org>
Sun, 29 May 2016 12:03:50 +0000 (22:03 +1000)
committerMichael Ellerman <mpe@ellerman.id.au>
Tue, 14 Jun 2016 03:58:25 +0000 (13:58 +1000)
commit8eb9803723a14fd12675641b953e4ccbd86187a8
tree5715e1f961a191d979b26eb862873013931baab1
parent5edb56491d4812c42175980759da53388e5d86f5
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>
arch/powerpc/kernel/process.c