@@ -68,3 +68,66 @@ void test_mm256_mask_storeu_ps(void *__P, __mmask8 __U, __m256 __A) {
68
68
// LLVM: @llvm.masked.store.v8f32.p0(<8 x float> %{{.*}}, ptr %{{.*}}, i32 1, <8 x i1> %{{.*}})
69
69
return _mm256_mask_storeu_ps (__P , __U , __A );
70
70
}
71
+
72
+ void test_mm_mask_store_epi64 (void * __P , __mmask8 __U , __m128i __A ) {
73
+ // CIR-LABEL: _mm_mask_store_epi64
74
+ // CIR: %{{.*}} = cir.llvm.intrinsic "masked.store" %{{.*}}, %{{.*}}, %{{.*}}, %{{.*}} : (!cir.vector<!s64i x 2>, !cir.ptr<!cir.vector<!s64i x 2>>, !u32i, !cir.vector<!cir.int<s, 1> x 2>) -> !void
75
+
76
+ // LLVM-LABEL: @test_mm_mask_store_epi64
77
+ // LLVM: @llvm.masked.store.v2i64.p0(<2 x i64> %{{.*}}, ptr %{{.*}}, i32 16, <2 x i1> %{{.*}})
78
+ return _mm_mask_store_epi64 (__P , __U , __A );
79
+ }
80
+
81
+ void test_mm_mask_store_ps (void * __P , __mmask8 __U , __m128 __A ) {
82
+ // CIR-LABEL: _mm_mask_store_ps
83
+ // CIR: %{{.*}} = cir.llvm.intrinsic "masked.store" %{{.*}}, %{{.*}}, %{{.*}}, %{{.*}} : (!cir.vector<!cir.float x 4>, !cir.ptr<!cir.vector<!cir.float x 4>>, !u32i, !cir.vector<!cir.int<s, 1> x 4>) -> !void
84
+
85
+ // LLVM-LABEL: @test_mm_mask_store_ps
86
+ // LLVM: @llvm.masked.store.v4f32.p0(<4 x float> %{{.*}}, ptr %{{.*}}, i32 16, <4 x i1> %{{.*}})
87
+ return _mm_mask_store_ps (__P , __U , __A );
88
+ }
89
+
90
+ void test_mm_mask_store_pd (void * __P , __mmask8 __U , __m128d __A ) {
91
+ // CIR-LABEL: _mm_mask_store_pd
92
+ // CIR: %{{.*}} = cir.llvm.intrinsic "masked.store" %{{.*}}, %{{.*}}, %{{.*}}, %{{.*}} : (!cir.vector<!cir.double x 2>, !cir.ptr<!cir.vector<!cir.double x 2>>, !u32i, !cir.vector<!cir.int<s, 1> x 2>) -> !void
93
+
94
+ // LLVM-LABEL: @test_mm_mask_store_pd
95
+ // LLVM: @llvm.masked.store.v2f64.p0(<2 x double> %{{.*}}, ptr %{{.*}}, i32 16, <2 x i1> %{{.*}})
96
+ return _mm_mask_store_pd (__P , __U , __A );
97
+ }
98
+
99
+ void test_mm256_mask_store_epi32 (void * __P , __mmask8 __U , __m256i __A ) {
100
+ // CIR-LABEL: _mm256_mask_store_epi32
101
+ // CIR: %{{.*}} = cir.llvm.intrinsic "masked.store" %{{.*}}, %{{.*}}, %{{.*}}, %{{.*}} : (!cir.vector<!s32i x 8>, !cir.ptr<!cir.vector<!s32i x 8>>, !u32i, !cir.vector<!cir.int<s, 1> x 8>) -> !void
102
+
103
+ // LLVM-LABEL: @test_mm256_mask_store_epi32
104
+ // LLVM: @llvm.masked.store.v8i32.p0(<8 x i32> %{{.*}}, ptr %{{.*}}, i32 32, <8 x i1> %{{.*}})
105
+ return _mm256_mask_store_epi32 (__P , __U , __A );
106
+ }
107
+
108
+ void test_mm256_mask_store_epi64 (void * __P , __mmask8 __U , __m256i __A ) {
109
+ // CIR-LABEL: _mm256_mask_store_epi64
110
+ // CIR: %{{.*}} = cir.llvm.intrinsic "masked.store" %{{.*}}, %{{.*}}, %{{.*}}, %{{.*}} : (!cir.vector<!s64i x 4>, !cir.ptr<!cir.vector<!s64i x 4>>, !u32i, !cir.vector<!cir.int<s, 1> x 4>) -> !void
111
+
112
+ // LLVM-LABEL: @test_mm256_mask_store_epi64
113
+ // LLVM: @llvm.masked.store.v4i64.p0(<4 x i64> %{{.*}}, ptr %{{.*}}, i32 32, <4 x i1> %{{.*}})
114
+ return _mm256_mask_store_epi64 (__P , __U , __A );
115
+ }
116
+
117
+ void test_mm256_mask_store_ps (void * __P , __mmask8 __U , __m256 __A ) {
118
+ // CIR-LABEL: _mm256_mask_store_ps
119
+ // CIR: %{{.*}} = cir.llvm.intrinsic "masked.store" %{{.*}}, %{{.*}}, %{{.*}}, %{{.*}} : (!cir.vector<!cir.float x 8>, !cir.ptr<!cir.vector<!cir.float x 8>>, !u32i, !cir.vector<!cir.int<s, 1> x 8>) -> !void
120
+
121
+ // LLVM-LABEL: @test_mm256_mask_store_ps
122
+ // LLVM: @llvm.masked.store.v8f32.p0(<8 x float> %{{.*}}, ptr %{{.*}}, i32 32, <8 x i1> %{{.*}})
123
+ return _mm256_mask_store_ps (__P , __U , __A );
124
+ }
125
+
126
+ void test_mm256_mask_store_pd (void * __P , __mmask8 __U , __m256d __A ) {
127
+ // CIR-LABEL: _mm256_mask_store_pd
128
+ // CIR: %{{.*}} = cir.llvm.intrinsic "masked.store" %{{.*}}, %{{.*}}, %{{.*}}, %{{.*}} : (!cir.vector<!cir.double x 4>, !cir.ptr<!cir.vector<!cir.double x 4>>, !u32i, !cir.vector<!cir.int<s, 1> x 4>) -> !void
129
+
130
+ // LLVM-LABEL: @test_mm256_mask_store_pd
131
+ // LLVM: @llvm.masked.store.v4f64.p0(<4 x double> %{{.*}}, ptr %{{.*}}, i32 32, <4 x i1> %{{.*}})
132
+ return _mm256_mask_store_pd (__P , __U , __A );
133
+ }
0 commit comments