Looking at the disassembly of the code it seems that the call to the
arm_intr_splx_lifter is suboptimal, and could be moved back to the main
code path. Currently the code ends up taking 3 branches, rather than
just the 1: