I say we just redefine the llvm side intrinsic to take an i64 immediate that we check to ensure its only really 32-bits. Keep the header file intrinsic taking an int and let it get implicitly extended when the __builtin function is called. http://llvm-reviews.chandlerc.com/D1788