there is problem when transfer c for loop to arm
0198 10301BE5 ldr r3, [fp, #-16]
019c 0C300BE5 str r3, [fp, #-12]
.L17:
01a0 10201BE5 ldr r2, [fp, #-16]
01a4 08301BE5 ldr r3, [fp, #-8]
01a8 032082E0 add r2, r2, r3
01ac 0C301BE5 ldr r3, [fp, #-12]
01b0 030052E1 cmp r2, r3
01b4 0A0000DA ble .L16
01d4 0C301BE5 ldr r3, [fp, #-12]
01d8 013083E2 add r3, r3, #1
01dc 0C300BE5 str r3, [fp, #-12]
01e0 EEFFFFEA b .L17 //will never run below case
01b8 0C201BE5 ldr r2, [fp, #-12]
01bc 08301BE5 ldr r3, [fp, #-8]
01c0 033082E0 add r3, r2, r3
01c4 18201BE5 ldr r2, [fp, #-24]
01c8 0310A0E1 mov r1, r3
01cc 0C001BE5 ldr r0, [fp, #-12]
01d0 FEFFFFEB bl _Z7compareiii
.L16:
for (i = low; i < low + k; i++){
compare(i, i + k, dir);
}
//c loop
there is problem when transfer c for loop to arm
0198 10301BE5 ldr r3, [fp, #-16]
019c 0C300BE5 str r3, [fp, #-12]
.L17:
01a0 10201BE5 ldr r2, [fp, #-16]
01a4 08301BE5 ldr r3, [fp, #-8]
01a8 032082E0 add r2, r2, r3
01ac 0C301BE5 ldr r3, [fp, #-12]
01b0 030052E1 cmp r2, r3
01b4 0A0000DA ble .L16
01d4 0C301BE5 ldr r3, [fp, #-12]
01d8 013083E2 add r3, r3, #1
01dc 0C300BE5 str r3, [fp, #-12]
01e0 EEFFFFEA b .L17 //will never run below case
01b8 0C201BE5 ldr r2, [fp, #-12]
01bc 08301BE5 ldr r3, [fp, #-8]
01c0 033082E0 add r3, r2, r3
01c4 18201BE5 ldr r2, [fp, #-24]
01c8 0310A0E1 mov r1, r3
01cc 0C001BE5 ldr r0, [fp, #-12]
01d0 FEFFFFEB bl _Z7compareiii
.L16:
for (i = low; i < low + k; i++){
compare(i, i + k, dir);
}
//c loop