@@ -3513,17 +3513,6 @@ mod sealed {
3513
3513
a. vec_srdb :: < 7 > ( b)
3514
3514
}
3515
3515
3516
- unsafe fn funnel_shl_u128 ( a : u128 , b : u128 , c : u128 ) -> u128 {
3517
- #[ repr( simd) ]
3518
- struct Single ( [ u128 ; 1 ] ) ;
3519
-
3520
- transmute ( simd_funnel_shl :: < Single > (
3521
- transmute ( a) ,
3522
- transmute ( b) ,
3523
- transmute ( c) ,
3524
- ) )
3525
- }
3526
-
3527
3516
macro_rules! impl_vec_sld {
3528
3517
( $( $ty: ident) * ) => {
3529
3518
$(
@@ -3533,21 +3522,21 @@ mod sealed {
3533
3522
#[ target_feature( enable = "vector" ) ]
3534
3523
unsafe fn vec_sld<const C : u32 >( self , b: Self ) -> Self {
3535
3524
static_assert_uimm_bits!( C , 4 ) ;
3536
- transmute( funnel_shl_u128 ( transmute( self ) , transmute( b) , const { C as u128 * 8 } ) )
3525
+ transmute( u128 :: funnel_shl ( transmute( self ) , transmute( b) , C * 8 ) )
3537
3526
}
3538
3527
3539
3528
#[ inline]
3540
3529
#[ target_feature( enable = "vector" ) ]
3541
3530
unsafe fn vec_sldw<const C : u32 >( self , b: Self ) -> Self {
3542
3531
static_assert_uimm_bits!( C , 2 ) ;
3543
- transmute( funnel_shl_u128 ( transmute( self ) , transmute( b) , const { C as u128 * 4 * 8 } ) )
3532
+ transmute( u128 :: funnel_shl ( transmute( self ) , transmute( b) , C * 4 * 8 ) )
3544
3533
}
3545
3534
3546
3535
#[ inline]
3547
3536
#[ target_feature( enable = "vector-enhancements-2" ) ]
3548
3537
unsafe fn vec_sldb<const C : u32 >( self , b: Self ) -> Self {
3549
3538
static_assert_uimm_bits!( C , 3 ) ;
3550
- transmute( funnel_shl_u128 ( transmute( self ) , transmute( b) , const { C as u128 } ) )
3539
+ transmute( u128 :: funnel_shl ( transmute( self ) , transmute( b) , C ) )
3551
3540
}
3552
3541
}
3553
3542
0 commit comments