I think that is perfectly reasonable. I did do that, but then backtracked away from it. Would you be against these changes to ia32intrin.h in addition to the inclusion guard? http://reviews.llvm.org/D3558