powerpc/8xx: Optimize verification in FixupDAR

By XORing the upper part of the instruction code, we get a value that can
directly be verified with the second test and we can remove the first test.

Signed-off-by: Christophe Leroy <christophe.leroy@c-s.fr>
Signed-off-by: Scott Wood <scottwood@freescale.com>
This commit is contained in:
LEROY Christophe 2014-08-29 11:14:38 +02:00 committed by Scott Wood
parent 5bcbe24f6c
commit 41cacac63c

View File

@ -548,10 +548,8 @@ FixupDAR:/* Entry point for dcbx workaround. */
/* Check if it really is a dcbx instruction. */ /* Check if it really is a dcbx instruction. */
/* dcbt and dcbtst does not generate DTLB Misses/Errors, /* dcbt and dcbtst does not generate DTLB Misses/Errors,
* no need to include them here */ * no need to include them here */
srwi r10, r11, 26 /* check if major OP code is 31 */ xoris r10, r11, 0x7c00 /* check if major OP code is 31 */
cmpwi cr0, r10, 31 rlwinm r10, r10, 0, 21, 5
bne- 141f
rlwinm r10, r11, 0, 21, 30
cmpwi cr0, r10, 2028 /* Is dcbz? */ cmpwi cr0, r10, 2028 /* Is dcbz? */
beq+ 142f beq+ 142f
cmpwi cr0, r10, 940 /* Is dcbi? */ cmpwi cr0, r10, 940 /* Is dcbi? */