summaryrefslogtreecommitdiff
path: root/libinterp/comp-arm.c
diff options
context:
space:
mode:
Diffstat (limited to 'libinterp/comp-arm.c')
-rw-r--r--libinterp/comp-arm.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/libinterp/comp-arm.c b/libinterp/comp-arm.c
index 57ab31d4..a7445bd7 100644
--- a/libinterp/comp-arm.c
+++ b/libinterp/comp-arm.c
@@ -1564,8 +1564,13 @@ comp(Inst *i)
BCKI(i->reg, RA0);
} else {
LDRB(GE, RA1, RA3, 0, RA2);
- DP(LT, Mov, 0, RA2, (1<<3), RA2);
- LDRH(LT, RA1, RA3, RA2);
+ if(sizeof(Rune) == 4){
+ DP(LT, Mov, 0, RA2, (2<<3), RA2);
+ LDRW(LT, RA1, RA3, RA2);
+ }else{
+ DP(LT, Mov, 0, RA2, (1<<3), RA2);
+ LDRH(LT, RA1, RA3, RA2);
+ }
if(bflag)
BCK(RA2, RA0);
}