Commit e0c827c0 authored by Nicholas Piggin's avatar Nicholas Piggin Committed by Michael Ellerman

powerpc/64s: Avoid a branch in masked_[H]interrupt()

Interrupts which do not require EE to be cleared can all be tested
with a single bitwise test.
Signed-off-by: default avatarNicholas Piggin <npiggin@gmail.com>
Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
parent 3a2df379
...@@ -1370,10 +1370,8 @@ masked_##_H##interrupt: \ ...@@ -1370,10 +1370,8 @@ masked_##_H##interrupt: \
ori r10,r10,0xffff; \ ori r10,r10,0xffff; \
mtspr SPRN_DEC,r10; \ mtspr SPRN_DEC,r10; \
b MASKED_DEC_HANDLER_LABEL; \ b MASKED_DEC_HANDLER_LABEL; \
1: cmpwi r10,PACA_IRQ_DBELL; \ 1: andi. r10,r10,(PACA_IRQ_DBELL|PACA_IRQ_HMI); \
beq 2f; \ bne 2f; \
cmpwi r10,PACA_IRQ_HMI; \
beq 2f; \
mfspr r10,SPRN_##_H##SRR1; \ mfspr r10,SPRN_##_H##SRR1; \
rldicl r10,r10,48,1; /* clear MSR_EE */ \ rldicl r10,r10,48,1; /* clear MSR_EE */ \
rotldi r10,r10,16; \ rotldi r10,r10,16; \
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment