# 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);