Index: lib/Headers/smmintrin.h =================================================================== --- lib/Headers/smmintrin.h +++ lib/Headers/smmintrin.h @@ -152,7 +152,7 @@ /* SSE4 Streaming Load Hint Instruction. */ static __inline__ __m128i __attribute__((__always_inline__, __nodebug__)) -_mm_stream_load_si128 (__m128i *__V) +_mm_stream_load_si128 (const __m128i *__V) { return (__m128i) __builtin_ia32_movntdqa ((__v2di *) __V); } Index: test/CodeGen/builtins-x86-sse42.c =================================================================== --- /dev/null +++ test/CodeGen/builtins-x86-sse42.c @@ -0,0 +1,19 @@ +// RUN: %clang_cc1 -triple x86_64-unknown-unknown -Werror -target-feature +sse4.2 %s -S -o - | FileCheck %s + +#define __MM_MALLOC_H + +#include + +__m128i stream_load(__m128i *p) +{ + // CHECK-LABEL: stream_load + // CHECK: movntdqa + return _mm_stream_load_si128(p); +} + +__m128i stream_load_c(const __m128i *p) +{ + // CHECK-LABEL: stream_load_c + // CHECK: movntdqa + return _mm_stream_load_si128(p); +}