in the lib_xcore_math XS3 assembly code I see numerous ".align 16" statements, mostly for jump targets, like so:
Code: Select all
{ ldaw r11, sp[STACK_VEC_A_SHR] ; bf len, .L_loop_bot }
{ ; bu .L_loop_top }
.align 16
.L_loop_top:
{ sub len, len, 1 ; vclrdr }
{ ; vlmacc b[0] }
{ add b, b, _32 ; vlsat r11[0] }
{ add a, a, _32 ; vstr a[0] }
{ ; bt len, .L_loop_top }
.L_loop_bot:
{ mkmsk tail, tail ; bf tail, .L_finish }
Should I keep these .align 16 statements when writing own assembly code? In the end, the "bu .L_loop_top" seems an unnecessary statement if 4-byte alignment is sufficient.
Thanks,
Ralf