mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2025-01-10 07:00:48 +00:00
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:
parent
5bcbe24f6c
commit
41cacac63c
@ -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? */
|
||||||
|
Loading…
x
Reference in New Issue
Block a user