@@ -401,3 +401,129 @@ __m256i test_mm256_maskz_load_epi64(__mmask8 __U, void const *__P) {
401
401
// LLVM: @llvm.masked.load.v4i64.p0(ptr %{{.*}}, i32 32, <4 x i1> %{{.*}}, <4 x i64> %{{.*}})
402
402
return _mm256_maskz_load_epi64 (__U , __P );
403
403
}
404
+
405
+ __m128d test_mm_mask_expandloadu_pd (__m128d __W , __mmask8 __U , void const * __P ) {
406
+ // CIR-LABEL: _mm_mask_expandloadu_pd
407
+ // CIR: %{{.*}} = cir.llvm.intrinsic "masked.expandload" %{{.*}}, %{{.*}}, %{{.*}} : (!cir.ptr<!cir.vector<!cir.double x 2>>, !cir.vector<!cir.int<s, 1> x 2>, !cir.vector<!cir.double x 2>) -> !cir.vector<!cir.double x 2>
408
+
409
+ // LLVM-LABEL: @test_mm_mask_expandloadu_pd
410
+ // LLVM: @llvm.masked.expandload.v2f64(ptr %{{.*}}, <2 x i1> %{{.*}}, <2 x double> %{{.*}})
411
+ return _mm_mask_expandloadu_pd (__W ,__U ,__P );
412
+ }
413
+
414
+ __m128d test_mm_maskz_expandloadu_pd (__mmask8 __U , void const * __P ) {
415
+ // CIR-LABEL: _mm_maskz_expandloadu_pd
416
+ // CIR: %{{.*}} = cir.llvm.intrinsic "masked.expandload" %4, %8, %5 : (!cir.ptr<!cir.vector<!cir.double x 2>>, !cir.vector<!cir.int<s, 1> x 2>, !cir.vector<!cir.double x 2>) -> !cir.vector<!cir.double x 2>
417
+
418
+ // LLVM-LABEL: @test_mm_maskz_expandloadu_pd
419
+ // LLVM: @llvm.masked.expandload.v2f64(ptr %{{.*}}, <2 x i1> %{{.*}}, <2 x double> %{{.*}})
420
+ return _mm_maskz_expandloadu_pd (__U ,__P );
421
+ }
422
+
423
+ __m256d test_mm256_mask_expandloadu_pd (__m256d __W , __mmask8 __U , void const * __P ) {
424
+ // CIR-LABEL: _mm256_mask_expandloadu_pd
425
+ // CIR: %{{.*}} = cir.llvm.intrinsic "masked.expandload" %{{.*}}, %{{.*}}, %{{.*}} : (!cir.ptr<!cir.vector<!cir.double x 4>>, !cir.vector<!cir.int<s, 1> x 4>, !cir.vector<!cir.double x 4>) -> !cir.vector<!cir.double x 4>
426
+
427
+ // LLVM-LABEL: @test_mm256_mask_expandloadu_pd
428
+ // LLVM: @llvm.masked.expandload.v4f64(ptr %{{.*}}, <4 x i1> %{{.*}}, <4 x double> %{{.*}})
429
+ return _mm256_mask_expandloadu_pd (__W ,__U ,__P );
430
+ }
431
+
432
+ __m256d test_mm256_maskz_expandloadu_pd (__mmask8 __U , void const * __P ) {
433
+ // CIR-LABEL: _mm256_maskz_expandloadu_pd
434
+ // CIR: %{{.*}} = cir.llvm.intrinsic "masked.expandload" %{{.*}}, %{{.*}}, %{{.*}} : (!cir.ptr<!cir.vector<!cir.double x 4>>, !cir.vector<!cir.int<s, 1> x 4>, !cir.vector<!cir.double x 4>) -> !cir.vector<!cir.double x 4>
435
+
436
+ // LLVM-LABEL: @test_mm256_maskz_expandloadu_pd
437
+ // LLVM: @llvm.masked.expandload.v4f64(ptr %{{.*}}, <4 x i1> %{{.*}}, <4 x double> %{{.*}})
438
+ return _mm256_maskz_expandloadu_pd (__U ,__P );
439
+ }
440
+
441
+ __m128 test_mm_mask_expandloadu_ps (__m128 __W , __mmask8 __U , void const * __P ) {
442
+ // CIR-LABEL: _mm_mask_expandloadu_ps
443
+ // CIR: %{{.*}} = cir.llvm.intrinsic "masked.expandload" %{{.*}}, %{{.*}}, %{{.*}} : (!cir.ptr<!cir.vector<!cir.float x 4>>, !cir.vector<!cir.int<s, 1> x 4>, !cir.vector<!cir.float x 4>) -> !cir.vector<!cir.float x 4>
444
+
445
+ // LLVM-LABEL: @test_mm_mask_expandloadu_ps
446
+ // LLVM: @llvm.masked.expandload.v4f32(ptr %{{.*}}, <4 x i1> %{{.*}}, <4 x float> %{{.*}})
447
+ return _mm_mask_expandloadu_ps (__W ,__U ,__P );
448
+ }
449
+
450
+ __m128 test_mm_maskz_expandloadu_ps (__mmask8 __U , void const * __P ) {
451
+ // CIR-LABEL: _mm_maskz_expandloadu_ps
452
+ // CIR: %{{.*}} = cir.llvm.intrinsic "masked.expandload" %{{.*}}, %{{.*}}, %{{.*}} : (!cir.ptr<!cir.vector<!cir.float x 4>>, !cir.vector<!cir.int<s, 1> x 4>, !cir.vector<!cir.float x 4>) -> !cir.vector<!cir.float x 4>
453
+
454
+ // LLVM-LABEL: @test_mm_maskz_expandloadu_ps
455
+ // LLVM: @llvm.masked.expandload.v4f32(ptr %{{.*}}, <4 x i1> %{{.*}}, <4 x float> %{{.*}})
456
+ return _mm_maskz_expandloadu_ps (__U ,__P );
457
+ }
458
+
459
+ __m256 test_mm256_mask_expandloadu_ps (__m256 __W , __mmask8 __U , void const * __P ) {
460
+ // CIR-LABEL: _mm256_mask_expandloadu_ps
461
+ // CIR: %{{.*}} = cir.llvm.intrinsic "masked.expandload" %{{.*}}, %{{.*}}, %{{.*}} : (!cir.ptr<!cir.vector<!cir.float x 8>>, !cir.vector<!cir.int<s, 1> x 8>, !cir.vector<!cir.float x 8>) -> !cir.vector<!cir.float x 8>
462
+
463
+ // LLVM-LABEL: @test_mm256_mask_expandloadu_ps
464
+ // LLVM: @llvm.masked.expandload.v8f32(ptr %{{.*}}, <8 x i1> %{{.*}}, <8 x float> %{{.*}})
465
+ return _mm256_mask_expandloadu_ps (__W ,__U ,__P );
466
+ }
467
+
468
+ __m256 test_mm256_maskz_expandloadu_ps (__mmask8 __U , void const * __P ) {
469
+ // CIR-LABEL: _mm256_maskz_expandloadu_ps
470
+ // CIR: %{{.*}} = cir.llvm.intrinsic "masked.expandload" %{{.*}}, %{{.*}}, %{{.*}} : (!cir.ptr<!cir.vector<!cir.float x 8>>, !cir.vector<!cir.int<s, 1> x 8>, !cir.vector<!cir.float x 8>) -> !cir.vector<!cir.float x 8>
471
+
472
+ // LLVM-LABEL: @test_mm256_maskz_expandloadu_ps
473
+ // LLVM: @llvm.masked.expandload.v8f32(ptr %{{.*}}, <8 x i1> %{{.*}}, <8 x float> %{{.*}})
474
+ return _mm256_maskz_expandloadu_ps (__U ,__P );
475
+ }
476
+
477
+ __m128i test_mm_mask_expandloadu_epi64 (__m128i __W , __mmask8 __U , void const * __P ) {
478
+ // CIR-LABEL: _mm_mask_expandloadu_epi64
479
+ // CIR: %{{.*}} = cir.llvm.intrinsic "masked.expandload" %{{.*}}, %{{.*}}, %{{.*}} : (!cir.ptr<!cir.vector<!s64i x 2>>, !cir.vector<!cir.int<s, 1> x 2>, !cir.vector<!s64i x 2>) -> !cir.vector<!s64i x 2>
480
+
481
+ // LLVM-LABEL: @test_mm_mask_expandloadu_epi64
482
+ // LLVM: @llvm.masked.expandload.v2i64(ptr %{{.*}}, <2 x i1> %{{.*}}, <2 x i64> %{{.*}})
483
+ return _mm_mask_expandloadu_epi64 (__W ,__U ,__P );
484
+ }
485
+
486
+ __m128i test_mm_maskz_expandloadu_epi64 (__mmask8 __U , void const * __P ) {
487
+ // CIR-LABEL: _mm_maskz_expandloadu_epi64
488
+ // CIR: %{{.*}} = cir.llvm.intrinsic "masked.expandload" %{{.*}}, %{{.*}}, %{{.*}} : (!cir.ptr<!cir.vector<!s64i x 2>>, !cir.vector<!cir.int<s, 1> x 2>, !cir.vector<!s64i x 2>) -> !cir.vector<!s64i x 2>
489
+
490
+ // LLVM-LABEL: @test_mm_maskz_expandloadu_epi64
491
+ // LLVM: @llvm.masked.expandload.v2i64(ptr %{{.*}}, <2 x i1> %{{.*}}, <2 x i64> %{{.*}})
492
+ return _mm_maskz_expandloadu_epi64 (__U ,__P );
493
+ }
494
+
495
+ __m128i test_mm_mask_expandloadu_epi32 (__m128i __W , __mmask8 __U , void const * __P ) {
496
+ // CIR-LABEL: _mm_mask_expandloadu_epi32
497
+ // CIR: %{{.*}} = cir.llvm.intrinsic "masked.expandload" %{{.*}}, %{{.*}}, %{{.*}} : (!cir.ptr<!cir.vector<!s32i x 4>>, !cir.vector<!cir.int<s, 1> x 4>, !cir.vector<!s32i x 4>) -> !cir.vector<!s32i x 4>
498
+
499
+ // LLVM-LABEL: @test_mm_mask_expandloadu_epi32
500
+ // LLVM: @llvm.masked.expandload.v4i32(ptr %{{.*}}, <4 x i1> %{{.*}}, <4 x i32> %{{.*}})
501
+ return _mm_mask_expandloadu_epi32 (__W ,__U ,__P );
502
+ }
503
+
504
+ __m128i test_mm_maskz_expandloadu_epi32 (__mmask8 __U , void const * __P ) {
505
+ // CIR-LABEL: _mm_maskz_expandloadu_epi32
506
+ // CIR: %{{.*}} = cir.llvm.intrinsic "masked.expandload" %{{.*}}, %{{.*}}, %{{.*}} : (!cir.ptr<!cir.vector<!s32i x 4>>, !cir.vector<!cir.int<s, 1> x 4>, !cir.vector<!s32i x 4>) -> !cir.vector<!s32i x 4>
507
+
508
+ // LLVM-LABEL: @test_mm_maskz_expandloadu_epi32
509
+ // LLVM: @llvm.masked.expandload.v4i32(ptr %{{.*}}, <4 x i1> %{{.*}}, <4 x i32> %{{.*}})
510
+ return _mm_maskz_expandloadu_epi32 (__U ,__P );
511
+ }
512
+
513
+ __m256i test_mm256_mask_expandloadu_epi32 (__m256i __W , __mmask8 __U , void const * __P ) {
514
+ // CIR-LABEL: _mm256_mask_expandloadu_epi32
515
+ // CIR: %{{.*}} = cir.llvm.intrinsic "masked.expandload" %{{.*}}, %{{.*}}, %{{.*}} : (!cir.ptr<!cir.vector<!s32i x 8>>, !cir.vector<!cir.int<s, 1> x 8>, !cir.vector<!s32i x 8>) -> !cir.vector<!s32i x 8>
516
+
517
+ // LLVM-LABEL: @test_mm256_mask_expandloadu_epi32
518
+ // LLVM: @llvm.masked.expandload.v8i32(ptr %{{.*}}, <8 x i1> %{{.*}}, <8 x i32> %{{.*}})
519
+ return _mm256_mask_expandloadu_epi32 (__W ,__U ,__P );
520
+ }
521
+
522
+ __m256i test_mm256_maskz_expandloadu_epi32 (__mmask8 __U , void const * __P ) {
523
+ // CIR-LABEL: _mm256_maskz_expandloadu_epi32
524
+ // CIR: %{{.*}} = cir.llvm.intrinsic "masked.expandload" %{{.*}}, %{{.*}}, %{{.*}} : (!cir.ptr<!cir.vector<!s32i x 8>>, !cir.vector<!cir.int<s, 1> x 8>, !cir.vector<!s32i x 8>) -> !cir.vector<!s32i x 8>
525
+
526
+ // LLVM-LABEL: @test_mm256_maskz_expandloadu_epi32
527
+ // LLVM: @llvm.masked.expandload.v8i32(ptr %{{.*}}, <8 x i1> %{{.*}}, <8 x i32> %{{.*}})
528
+ return _mm256_maskz_expandloadu_epi32 (__U ,__P );
529
+ }
0 commit comments