powerpc/40x: Clear MSR_DR in one insn instead of two
authorChristophe Leroy <christophe.leroy@c-s.fr>
Fri, 5 Aug 2016 11:28:05 +0000 (13:28 +0200)
committerMichael Ellerman <mpe@ellerman.id.au>
Fri, 2 Jun 2017 09:20:43 +0000 (19:20 +1000)
Signed-off-by: Christophe Leroy <christophe.leroy@c-s.fr>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
arch/powerpc/kernel/misc_32.S

index 84db14e435f593ffbee5fbd45bc02cac52eccbac..3f7a9a2d24356bef720d0b0660b78aa53f125884 100644 (file)
@@ -244,8 +244,7 @@ _GLOBAL(_nmask_and_or_msr)
  */
 _GLOBAL(real_readb)
        mfmsr   r7
-       ori     r0,r7,MSR_DR
-       xori    r0,r0,MSR_DR
+       rlwinm  r0,r7,0,~MSR_DR
        sync
        mtmsr   r0
        sync
@@ -262,8 +261,7 @@ _GLOBAL(real_readb)
  */
 _GLOBAL(real_writeb)
        mfmsr   r7
-       ori     r0,r7,MSR_DR
-       xori    r0,r0,MSR_DR
+       rlwinm  r0,r7,0,~MSR_DR
        sync
        mtmsr   r0
        sync