1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 |
- # mach: bfin
- .include "testutils.inc"
- start
- // create two short vectors v_a, v_b
- // where each element of v_a is the index
- // where each element of v_b is 128-index
- R2 = 0;
- loadsym P0, v_a;
- loadsym P1, v_b;
- P2 = 0;
- R3 = 128 (X);
- R0 = 0;
- R1 = 128 (X);
- L$1:
- W [ P0 ++ ] = R0;
- W [ P1 ++ ] = R1;
- R0 += 1;
- R1 += -1;
- CC = R0 < R3;
- IF CC JUMP L$1 (BP);
- loadsym P0, v_a;
- loadsym P1, v_b;
- CALL vecadd;
- loadsym P0, v_c;
- R2 = 0;
- R3 = 128 (X);
- L$3:
- R0 = W [ P0 ++ ] (X);
- DBGA ( R0.L , 128 );
- R2 += 1;
- CC = R2 < R3;
- IF CC JUMP L$3;
- _DBG R6;
- pass
- vecadd:
- loadsym I0, v_a;
- loadsym I1, v_b;
- loadsym I2, v_c;
- P5 = 128 (X);
- LSETUP ( L$2 , L$2end ) LC0 = P5 >> 1;
- R0 = [ I0 ++ ];
- R1 = [ I1 ++ ];
- L$2:
- R2 = R0 +|+ R1 || R0 = [ I0 ++ ] || R1 = [ I1 ++ ];
- L$2end:
- [ I2 ++ ] = R2;
- RTS;
- .data
- v_a:
- .space (512);
- v_b:
- .space (512);
- v_c:
- .space (512);
|