On 07.31, J.A. Magallon wrote: > Hi. > > I recent gcc's makes my C++ code crash. I think I have discovered the reason. > In short, gcc -march=pentium2 works, gcc -march=pentium3 breaks. > > 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 ? > > 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)
Oops, this^ was movaps before manual edition... -- 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))
