Moved DoubleLoadStorageHandler to end of functions, improve fast path l8ui performance
This allows a conditional branch that previously required a full jump instruction not to require it.
This commit is contained in:
parent
9cd23e08a4
commit
f47aa77982
1 changed files with 9 additions and 9 deletions
|
@ -94,15 +94,6 @@ InnerLoadStoreExceptionHandler:
|
|||
rfe
|
||||
|
||||
|
||||
.literal_position
|
||||
/* "Fix" LoadStoreException exceptions that are l8/l16 from an Instruction region,
|
||||
DoubleException exception variant (ie load happened in a level1 exception handler). */
|
||||
DoubleExceptionLoadStoreHandler:
|
||||
addi sp, sp, -0x18
|
||||
s32i a2, sp, 0x08
|
||||
rsr.epc2 a2
|
||||
j InnerLoadStoreExceptionHandler
|
||||
|
||||
/* Check the load instruction a2 for an l16si/16ui instruction
|
||||
|
||||
First test for a signed vs unsigned load.
|
||||
|
@ -187,4 +178,13 @@ DoubleExceptionLoadStoreHandler:
|
|||
wsr.excsave1 a4
|
||||
j .Lafter_write_value
|
||||
|
||||
.literal_position
|
||||
/* "Fix" LoadStoreException exceptions that are l8/l16 from an Instruction region,
|
||||
DoubleException exception variant (ie load happened in a level1 exception handler). */
|
||||
DoubleExceptionLoadStoreHandler:
|
||||
addi sp, sp, -0x18
|
||||
s32i a2, sp, 0x08
|
||||
rsr.epc2 a2
|
||||
j InnerLoadStoreExceptionHandler
|
||||
|
||||
/* End of InnerUserLoadStoreExceptionHandler */
|
||||
|
|
Loading…
Reference in a new issue