summaryrefslogtreecommitdiff
path: root/libinterp/comp-arm.c
diff options
context:
space:
mode:
authorCharles Forsyth <charles.forsyth@gmail.com>2013-06-04 08:30:04 +0000
committerCharles Forsyth <charles.forsyth@gmail.com>2013-06-04 08:30:04 +0000
commit4a4256626644b5e413cfb1c228d396d27364030b (patch)
tree5106c854262a2b88b4c56c9bbbefbf237cb17279 /libinterp/comp-arm.c
parent6fd2624083b72690a3c4d9f61f5c51a61d0f2b00 (diff)
adjust code to size of Runes
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);
}