@@ -551,6 +551,7 @@ mod sealed {
551
551
552
552
impl_vec_lde ! { vec_lde_f32 lvewx f32 }
553
553
554
+ #[ unstable( feature = "stdarch_powerpc" , issue = "111145" ) ]
554
555
pub trait VectorXl {
555
556
type Result ;
556
557
unsafe fn vec_xl ( self , a : isize ) -> Self :: Result ;
@@ -586,6 +587,7 @@ mod sealed {
586
587
r. assume_init( )
587
588
}
588
589
590
+ #[ unstable( feature = "stdarch_powerpc" , issue = "111145" ) ]
589
591
impl VectorXl for * const $ty {
590
592
type Result = t_t_l!( $ty) ;
591
593
#[ inline]
@@ -1303,12 +1305,14 @@ mod sealed {
1303
1305
vec_perm ( a, a, transmute ( b) )
1304
1306
}
1305
1307
1308
+ #[ unstable( feature = "stdarch_powerpc" , issue = "111145" ) ]
1306
1309
pub trait VectorSplat {
1307
1310
unsafe fn vec_splat < const IMM : u32 > ( self ) -> Self ;
1308
1311
}
1309
1312
1310
1313
macro_rules! impl_vec_splat {
1311
1314
( $ty: ty, $fun: ident) => {
1315
+ #[ unstable( feature = "stdarch_powerpc" , issue = "111145" ) ]
1312
1316
impl VectorSplat for $ty {
1313
1317
#[ inline]
1314
1318
#[ target_feature( enable = "altivec" ) ]
@@ -1335,6 +1339,7 @@ mod sealed {
1335
1339
#[ inline]
1336
1340
#[ target_feature( enable = "altivec" ) ]
1337
1341
#[ cfg_attr( test, assert_instr( $instr, IMM5 = 1 ) ) ]
1342
+ #[ unstable( feature = "stdarch_powerpc" , issue = "111145" ) ]
1338
1343
pub unsafe fn $name<const IMM5 : i8 >( ) -> s_t_l!( $r) {
1339
1344
static_assert_simm_bits!( IMM5 , 5 ) ;
1340
1345
transmute( $r:: splat( IMM5 as $v) )
@@ -2363,6 +2368,7 @@ mod sealed {
2363
2368
vec_perm ( a, b, mergel_perm)
2364
2369
}
2365
2370
2371
+ #[ unstable( feature = "stdarch_powerpc" , issue = "111145" ) ]
2366
2372
pub trait VectorMergeh < Other > {
2367
2373
type Result ;
2368
2374
unsafe fn vec_mergeh ( self , b : Other ) -> Self :: Result ;
@@ -2371,6 +2377,7 @@ mod sealed {
2371
2377
impl_vec_trait ! { [ VectorMergeh vec_mergeh] + 2 b ( vec_vmrghb, vec_vmrghh, vec_vmrghw) }
2372
2378
impl_vec_trait ! { [ VectorMergeh vec_mergeh] + vec_vmrghw ( vector_float, vector_float) -> vector_float }
2373
2379
2380
+ #[ unstable( feature = "stdarch_powerpc" , issue = "111145" ) ]
2374
2381
pub trait VectorMergel < Other > {
2375
2382
type Result ;
2376
2383
unsafe fn vec_mergel ( self , b : Other ) -> Self :: Result ;
@@ -2417,6 +2424,7 @@ mod sealed {
2417
2424
transmute ( vec_perm ( a, b, pack_perm) )
2418
2425
}
2419
2426
2427
+ #[ unstable( feature = "stdarch_powerpc" , issue = "111145" ) ]
2420
2428
pub trait VectorPack < Other > {
2421
2429
type Result ;
2422
2430
unsafe fn vec_pack ( self , b : Other ) -> Self :: Result ;
@@ -2498,6 +2506,7 @@ mod sealed {
2498
2506
}
2499
2507
}
2500
2508
2509
+ #[ unstable( feature = "stdarch_powerpc" , issue = "111145" ) ]
2501
2510
pub trait VectorPacks < Other > {
2502
2511
type Result ;
2503
2512
unsafe fn vec_packs ( self , b : Other ) -> Self :: Result ;
@@ -2508,6 +2517,7 @@ mod sealed {
2508
2517
impl_vec_trait ! { [ VectorPacks vec_packs] vec_vpkswss ( vector_signed_int, vector_signed_int) -> vector_signed_short }
2509
2518
impl_vec_trait ! { [ VectorPacks vec_packs] vec_vpkuwus ( vector_unsigned_int, vector_unsigned_int) -> vector_unsigned_short }
2510
2519
2520
+ #[ unstable( feature = "stdarch_powerpc" , issue = "111145" ) ]
2511
2521
pub trait VectorPacksu < Other > {
2512
2522
type Result ;
2513
2523
unsafe fn vec_packsu ( self , b : Other ) -> Self :: Result ;
@@ -2539,6 +2549,7 @@ mod sealed {
2539
2549
impl_vec_unpack ! { vec_vupkhsh ( vector_signed_short) -> vector_signed_int [ vupklsh, vupkhsh] }
2540
2550
impl_vec_unpack ! { vec_vupklsh ( vector_signed_short) -> vector_signed_int [ vupkhsh, vupklsh] }
2541
2551
2552
+ #[ unstable( feature = "stdarch_powerpc" , issue = "111145" ) ]
2542
2553
pub trait VectorUnpackh {
2543
2554
type Result ;
2544
2555
unsafe fn vec_unpackh ( self ) -> Self :: Result ;
@@ -2549,6 +2560,7 @@ mod sealed {
2549
2560
impl_vec_trait ! { [ VectorUnpackh vec_unpackh] vec_vupkhsh ( vector_signed_short) -> vector_signed_int }
2550
2561
impl_vec_trait ! { [ VectorUnpackh vec_unpackh] + vec_vupkhsh ( vector_bool_short) -> vector_bool_int }
2551
2562
2563
+ #[ unstable( feature = "stdarch_powerpc" , issue = "111145" ) ]
2552
2564
pub trait VectorUnpackl {
2553
2565
type Result ;
2554
2566
unsafe fn vec_unpackl ( self ) -> Self :: Result ;
@@ -2563,6 +2575,7 @@ mod sealed {
2563
2575
/// Vector Merge Low
2564
2576
#[ inline]
2565
2577
#[ target_feature( enable = "altivec" ) ]
2578
+ #[ unstable( feature = "stdarch_powerpc" , issue = "111145" ) ]
2566
2579
pub unsafe fn vec_mergel < T , U > ( a : T , b : U ) -> <T as sealed:: VectorMergel < U > >:: Result
2567
2580
where
2568
2581
T : sealed:: VectorMergel < U > ,
@@ -2573,6 +2586,7 @@ where
2573
2586
/// Vector Merge High
2574
2587
#[ inline]
2575
2588
#[ target_feature( enable = "altivec" ) ]
2589
+ #[ unstable( feature = "stdarch_powerpc" , issue = "111145" ) ]
2576
2590
pub unsafe fn vec_mergeh < T , U > ( a : T , b : U ) -> <T as sealed:: VectorMergeh < U > >:: Result
2577
2591
where
2578
2592
T : sealed:: VectorMergeh < U > ,
@@ -2583,6 +2597,7 @@ where
2583
2597
/// Vector Pack
2584
2598
#[ inline]
2585
2599
#[ target_feature( enable = "altivec" ) ]
2600
+ #[ unstable( feature = "stdarch_powerpc" , issue = "111145" ) ]
2586
2601
pub unsafe fn vec_pack < T , U > ( a : T , b : U ) -> <T as sealed:: VectorPack < U > >:: Result
2587
2602
where
2588
2603
T : sealed:: VectorPack < U > ,
@@ -2593,6 +2608,7 @@ where
2593
2608
/// Vector Pack Saturated
2594
2609
#[ inline]
2595
2610
#[ target_feature( enable = "altivec" ) ]
2611
+ #[ unstable( feature = "stdarch_powerpc" , issue = "111145" ) ]
2596
2612
pub unsafe fn vec_packs < T , U > ( a : T , b : U ) -> <T as sealed:: VectorPacks < U > >:: Result
2597
2613
where
2598
2614
T : sealed:: VectorPacks < U > ,
@@ -2603,6 +2619,7 @@ where
2603
2619
/// Vector Pack Saturated Unsigned
2604
2620
#[ inline]
2605
2621
#[ target_feature( enable = "altivec" ) ]
2622
+ #[ unstable( feature = "stdarch_powerpc" , issue = "111145" ) ]
2606
2623
pub unsafe fn vec_packsu < T , U > ( a : T , b : U ) -> <T as sealed:: VectorPacksu < U > >:: Result
2607
2624
where
2608
2625
T : sealed:: VectorPacksu < U > ,
@@ -2613,6 +2630,7 @@ where
2613
2630
/// Vector Unpack High
2614
2631
#[ inline]
2615
2632
#[ target_feature( enable = "altivec" ) ]
2633
+ #[ unstable( feature = "stdarch_powerpc" , issue = "111145" ) ]
2616
2634
pub unsafe fn vec_unpackh < T > ( a : T ) -> <T as sealed:: VectorUnpackh >:: Result
2617
2635
where
2618
2636
T : sealed:: VectorUnpackh ,
@@ -2623,6 +2641,7 @@ where
2623
2641
/// Vector Unpack Low
2624
2642
#[ inline]
2625
2643
#[ target_feature( enable = "altivec" ) ]
2644
+ #[ unstable( feature = "stdarch_powerpc" , issue = "111145" ) ]
2626
2645
pub unsafe fn vec_unpackl < T > ( a : T ) -> <T as sealed:: VectorUnpackl >:: Result
2627
2646
where
2628
2647
T : sealed:: VectorUnpackl ,
@@ -2666,6 +2685,7 @@ where
2666
2685
/// VSX Unaligned Load
2667
2686
#[ inline]
2668
2687
#[ target_feature( enable = "altivec" ) ]
2688
+ #[ unstable( feature = "stdarch_powerpc" , issue = "111145" ) ]
2669
2689
pub unsafe fn vec_xl < T > ( off : isize , p : T ) -> <T as sealed:: VectorXl >:: Result
2670
2690
where
2671
2691
T : sealed:: VectorXl ,
@@ -2677,6 +2697,7 @@ where
2677
2697
#[ inline]
2678
2698
#[ target_feature( enable = "altivec" ) ]
2679
2699
#[ cfg_attr( test, assert_instr( vlogefp) ) ]
2700
+ #[ unstable( feature = "stdarch_powerpc" , issue = "111145" ) ]
2680
2701
pub unsafe fn vec_loge ( a : vector_float ) -> vector_float {
2681
2702
vlogefp ( a)
2682
2703
}
@@ -2872,6 +2893,7 @@ where
2872
2893
/// Vector Splat
2873
2894
#[ inline]
2874
2895
#[ target_feature( enable = "altivec" ) ]
2896
+ #[ unstable( feature = "stdarch_powerpc" , issue = "111145" ) ]
2875
2897
pub unsafe fn vec_splat < T , const IMM : u32 > ( a : T ) -> T
2876
2898
where
2877
2899
T : sealed:: VectorSplat ,
@@ -2945,6 +2967,7 @@ where
2945
2967
#[ inline]
2946
2968
#[ target_feature( enable = "altivec" ) ]
2947
2969
#[ cfg_attr( test, assert_instr( mfvscr) ) ]
2970
+ #[ unstable( feature = "stdarch_powerpc" , issue = "111145" ) ]
2948
2971
pub unsafe fn vec_mfvscr ( ) -> vector_unsigned_short {
2949
2972
mfvscr ( )
2950
2973
}
@@ -3406,6 +3429,7 @@ mod endian {
3406
3429
/// Vector permute.
3407
3430
#[ inline]
3408
3431
#[ target_feature( enable = "altivec" ) ]
3432
+ #[ unstable( feature = "stdarch_powerpc" , issue = "111145" ) ]
3409
3433
pub unsafe fn vec_perm < T > ( a : T , b : T , c : vector_unsigned_char ) -> T
3410
3434
where
3411
3435
T : sealed:: VectorPerm ,
@@ -3416,13 +3440,15 @@ mod endian {
3416
3440
/// Vector Sum Across Partial (1/2) Saturated
3417
3441
#[ inline]
3418
3442
#[ target_feature( enable = "altivec" ) ]
3443
+ #[ unstable( feature = "stdarch_powerpc" , issue = "111145" ) ]
3419
3444
pub unsafe fn vec_sum2s ( a : vector_signed_int , b : vector_signed_int ) -> vector_signed_int {
3420
3445
vsum2sws ( a, b)
3421
3446
}
3422
3447
3423
3448
/// Vector Multiply Even
3424
3449
#[ inline]
3425
3450
#[ target_feature( enable = "altivec" ) ]
3451
+ #[ unstable( feature = "stdarch_powerpc" , issue = "111145" ) ]
3426
3452
pub unsafe fn vec_mule < T , U > ( a : T , b : T ) -> U
3427
3453
where
3428
3454
T : sealed:: VectorMule < U > ,
@@ -3432,6 +3458,7 @@ mod endian {
3432
3458
/// Vector Multiply Odd
3433
3459
#[ inline]
3434
3460
#[ target_feature( enable = "altivec" ) ]
3461
+ #[ unstable( feature = "stdarch_powerpc" , issue = "111145" ) ]
3435
3462
pub unsafe fn vec_mulo < T , U > ( a : T , b : T ) -> U
3436
3463
where
3437
3464
T : sealed:: VectorMulo < U > ,
0 commit comments