diff options
Diffstat (limited to 'lib/arm/switchu8.S')
-rw-r--r-- | lib/arm/switchu8.S | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/lib/arm/switchu8.S b/lib/arm/switchu8.S index 19bed2f664d7..0a4efac88abe 100644 --- a/lib/arm/switchu8.S +++ b/lib/arm/switchu8.S @@ -33,7 +33,8 @@ DEFINE_COMPILERRT_PRIVATE_FUNCTION(__switchu8) ldrb ip, [lr, #-1] // get first byte in table cmp r0, ip // compare with index - ldrbcc r0, [lr, r0] // get indexed byte out of table + ite lo + ldrblo r0, [lr, r0] // get indexed byte out of table ldrbhs r0, [lr, ip] // if out of range, use last entry in table add ip, lr, r0, lsl #1 // compute label = lr + element*2 bx ip // jump to computed label |