Hi
I have some altivec code:
t0 = vec_mradds( tr0, r0, c0 );
t1 = vec_mradds( tr0, r1, c0 );
t2 = vec_mradds( tr0, r2, c0 );
It is generating the following assembler code:
0x0000b53c <+0944> addi r2,r30,160
0x0000b540 <+0948> lvx v12,r0,r2
0x0000b544 <+0952> addi r2,r30,304
0x0000b548 <+0956> lvx v9,r0,r2
0x0000b54c <+0960> vmhraddshs v11,v0,v12,v9
0x0000b550 <+0964> addi r2,r30,176
0x0000b554 <+0968> lvx v9,r0,r2
0x0000b558 <+0972> addi r2,r30,304
0x0000b55c <+0976> lvx v6,r0,r2
0x0000b560 <+0980> vmhraddshs v12,v0,v9,v6
0x0000b564 <+0984> addi r2,r30,192
0x0000b568 <+0988> lvx v6,r0,r2
0x0000b56c <+0992> addi r2,r30,304
0x0000b570 <+0996> lvx v5,r0,r2
0x0000b574 <+1000> vmhraddshs v9,v0,v6,v5
To me this looks lousy because there is no need to all of this...
Extra
code...