Yes this was intentional, you should not be using the builtin functions, instead use intrinsics from the header files.
I've just rewritten the code to use the intrinsics from the header files (xmmintrin.h). It now reads _mm_foo() instead of __builtin_ia32_foo().
The problem now have been reported to bug item #21126. :-(
Thanks, -Øystein