Hallo,
ich hab ein Problem mit einer Funktion, die mir einfach wegoptimiert
wird, sobald ich eine Hardware-Loop einbaue.
Mit -O1 kompiliert kommt das hier raus:
1 | _myfunc:
|
2 | LINK 0;
|
3 | P1 = R0;
|
4 | P2 = R2;
|
5 | #APP
|
6 | i0 = P1;
|
7 | i1 = P2;
|
8 | r0 = 2;
|
9 | lc0 = r0;
|
10 | LOOP bla1 lc0;
|
11 | LOOP_BEGIN bla1;
|
12 | r0 = [i0++];
|
13 | [i1++] = r0;
|
14 | LOOP_END bla1;
|
15 |
|
16 | #NO_APP
|
17 | UNLINK;
|
18 | rts;
|
Mit -O2 oder -O3 verschwindet das ganz. Es Funktioniert allerdings mit
O0 und O1 auch nicht, d.h. der Compiler hat wohl recht ...
Weiß jemand, was ich falsch mache?
Grüße
Gast