On 07.31, Gwenole Beauchesne wrote: > On Thu, 31 Jul 2003, J.A. Magallon wrote: > > > a) With pentium3, gcc spits sse instructions for moves, like movaps. > > Sure it should be doing this ? If I build with -mno-sse, my code works > > again. But -msse should only activate/deactivate the use of > > __builtin_movaps() and friends. I am also developing the use of SSE > > for my vector math, so I _need_ -msse. How can I just enable the builtins, > > but prevent gcc to spit its own sse instructions ? > > Indeed, doco states that enables intrinsics. But I'd believe this changed > over time. Please, can I get a testcase of that one too? > > > b) Automatic use of SSE would be ok if gcc is sure arguments are aligned, > > or if it uses unaligned moves. But I have seen gcc do things like: > > > > movups %xmm0, -120(%ebp) > > > > Who knows how is that aligned ? Even if stack is 16-byte aligned, > > 120 is not a multiple of 16... Changing that to movups and compiling > > the assembler, things work. So obviously it was not aligned. > > Can you please provide me with an appropriate testcase? >
I am trying to reduce it, but I can't get gcc to emit the movaps with simpler cases... Still at work. ;) -- J.A. Magallon <[EMAIL PROTECTED]> \ Software is like sex: werewolf.able.es \ It's better when it's free Mandrake Linux release 9.2 (Cooker) for i586 Linux 2.4.22-pre9-jam1m (gcc 3.3.1 (Mandrake Linux 9.2 3.3.1-0.7mdk))
