Il 11/04/2014 07:05, Richard Sandiford ha scritto:
Sure, but this is a bit extreme. I don't see off-hand how a[i]
would generate a branch, for starters.
That's an HI+HI->SI addition, with the higher half stored in (SP+2).
The jump is emitted by cstore in order to compute the carry.
add WA, IX
...
ld HL, 1
ld (SP+2), HL
cmp WA,IX
j lt,_.L2
ld DE, 0
ld (SP+2), DE
.L2:
I'm not sure why such an addition would be necessary, but in any case
the port is probably lacking a cstoresi4 pattern (you can use a
predicate for operand 2 that only matches LTU).
Paolo