[PATCH] D20358: Convert AVX non-temporal store builtins to LLVM-native IR.

michael zuckerman via cfe-commits cfe-commits at lists.llvm.org
Wed May 18 04:33:41 PDT 2016


m_zuckerman created this revision.
m_zuckerman added a reviewer: craig.topper.
m_zuckerman added subscribers: delena, cfe-commits.

http://reviews.llvm.org/D20358

Files:
  lib/CodeGen/CGBuiltin.cpp
  test/CodeGen/avx512f-builtins.c

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); 
 }
 


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D20358.57588.patch
Type: text/x-patch
Size: 1811 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20160518/0d9afeab/attachment.bin>


More information about the cfe-commits mailing list