One consequence of this is that you can only use SIMD automatically from the compiler when (a) you're willing to compile to a particular target, or (b) you're willing to compile multiple versions into a single binary.
Or c) you compile to an IR which is compiled at the target ( not that it is easily possible eg neither CIL or LLVM support it in their IR , but it is possible) There are more subtle issues as well. On some architectures, the SIMD unit computations are subtly different than the FPU computations. Using the "other" unit can cause changes in the computational result. I think we can ignore this , the amount of users who are that sensitive is few and they can and should resort to platform specific instructions ( ie intrinsics ) since there is even more variance between platforms. Ben
_______________________________________________ bitc-dev mailing list [email protected] http://www.coyotos.org/mailman/listinfo/bitc-dev
