Index: lib/CodeGen/CGBuiltin.cpp =================================================================== --- lib/CodeGen/CGBuiltin.cpp +++ lib/CodeGen/CGBuiltin.cpp @@ -6571,10 +6571,13 @@ } case X86::BI__builtin_ia32_movntps: case X86::BI__builtin_ia32_movntps256: + case X86::BI__builtin_ia32_movntps512: case X86::BI__builtin_ia32_movntpd: case X86::BI__builtin_ia32_movntpd256: + case X86::BI__builtin_ia32_movntpd512: case X86::BI__builtin_ia32_movntdq: case X86::BI__builtin_ia32_movntdq256: + case X86::BI__builtin_ia32_movntdq512: case X86::BI__builtin_ia32_movnti: case X86::BI__builtin_ia32_movnti64: { llvm::MDNode *Node = llvm::MDNode::get( Index: test/CodeGen/avx512f-builtins.c =================================================================== --- test/CodeGen/avx512f-builtins.c +++ test/CodeGen/avx512f-builtins.c @@ -5529,7 +5529,8 @@ void test_mm512_stream_si512(__m512i * __P, __m512i __A) { // CHECK-LABEL: @test_mm512_stream_si512 - // CHECK: @llvm.x86.avx512.storent.q.512 + // CHECK-NOT: call + // CHECK: store <8 x i64> %3, <8 x i64>* %2, align 64, !nontemporal !1 _mm512_stream_si512(__P, __A); } @@ -5541,13 +5542,15 @@ void test_mm512_stream_pd(double *__P, __m512d __A) { // CHECK-LABEL: @test_mm512_stream_pd - // CHECK: @llvm.x86.avx512.storent.pd.512 + // CHECK-NOT: call + // CHECK: store <8 x double> %3, <8 x double>* %cast.i, align 64, !nontemporal !1 return _mm512_stream_pd(__P, __A); } void test_mm512_stream_ps(float *__P, __m512 __A) { // CHECK-LABEL: @test_mm512_stream_ps - // CHECK: @llvm.x86.avx512.storent.ps.512 + // CHECK-NOT: call + // CHECK: store <16 x float> %3, <16 x float>* %cast.i, align 64, !nontemporal !1 _mm512_stream_ps(__P, __A); }