diff options
author | Dimitry Andric <dim@FreeBSD.org> | 2017-12-02 12:46:48 +0000 |
---|---|---|
committer | Dimitry Andric <dim@FreeBSD.org> | 2017-12-02 12:46:48 +0000 |
commit | b5ea630dfd1a0d3e5c08d8959158608dd213d9aa (patch) | |
tree | 414ded0ca2d2732345c4d423b8f3cd326d9097e8 /test/CodeGen | |
parent | 4bc3002fe03f32a9d85720bece65eeda40c75742 (diff) |
Notes
Diffstat (limited to 'test/CodeGen')
-rw-r--r-- | test/CodeGen/avx512f-builtins.c | 7 | ||||
-rw-r--r-- | test/CodeGen/tbaa-vec.cpp | 20 |
2 files changed, 27 insertions, 0 deletions
diff --git a/test/CodeGen/avx512f-builtins.c b/test/CodeGen/avx512f-builtins.c index c3356461a348e..1ce09df7caf73 100644 --- a/test/CodeGen/avx512f-builtins.c +++ b/test/CodeGen/avx512f-builtins.c @@ -7929,6 +7929,13 @@ __m512i test_mm512_mask_set1_epi64 (__m512i __O, __mmask8 __M, long long __A) //CHECK: @llvm.x86.avx512.mask.pbroadcast.q.gpr.512 return _mm512_mask_set1_epi64 (__O, __M, __A); } + +__m512i test_mm512_maskz_set1_epi64 (__mmask8 __M, long long __A) +{ + //CHECK-LABEL: @test_mm512_maskz_set1_epi64 + //CHECK: @llvm.x86.avx512.mask.pbroadcast.q.gpr.512 + return _mm512_maskz_set1_epi64 (__M, __A); +} #endif __m512i test_mm512_set_epi64 (long long __A, long long __B, long long __C, diff --git a/test/CodeGen/tbaa-vec.cpp b/test/CodeGen/tbaa-vec.cpp new file mode 100644 index 0000000000000..5f61b934f00ea --- /dev/null +++ b/test/CodeGen/tbaa-vec.cpp @@ -0,0 +1,20 @@ +// RUN: %clang_cc1 -triple x86_64-apple-darwin -O1 -disable-llvm-passes %s -emit-llvm -o - | FileCheck %s +// Test TBAA metadata generated by front-end (vector types are always treated as mayalias). + +typedef float __m128 __attribute__ ((__vector_size__ (16))); + +struct A { + __m128 a, b; +}; + +void foo(A *a, __m128 v) { + // CHECK-LABEL: define void @_Z3fooP1ADv4_f + a->a = v; + // CHECK: store <4 x float> %v, <4 x float>* %{{.*}}, align 16, !tbaa [[TAG_char:!.*]] + // CHECK: store <4 x float> %{{.*}}, <4 x float>* %{{.*}}, align 16, !tbaa [[TAG_char]] +} + +// CHECK: [[TYPE_char:!.*]] = !{!"omnipotent char", [[TAG_cxx_tbaa:!.*]], +// CHECK: [[TAG_cxx_tbaa]] = !{!"Simple C++ TBAA"} +// CHECK: [[TAG_char]] = !{[[TYPE_char]], [[TYPE_char]], i64 0} + |