@@ -896,31 +896,31 @@ mod sealed {
896896 #[ cfg_attr( test, assert_instr( vrepb, IMM2 = 1 ) ) ]
897897 unsafe fn vrepb < const IMM2 : u32 > ( a : vector_signed_char ) -> vector_signed_char {
898898 static_assert_uimm_bits ! ( IMM2 , 4 ) ;
899- simd_shuffle ( a, a, const { u32x16 :: from_array ( [ IMM2 ; 16 ] ) } )
899+ simd_shuffle ! ( a, a, [ IMM2 ; 16 ] )
900900 }
901901
902902 #[ inline]
903903 #[ target_feature( enable = "vector" ) ]
904904 #[ cfg_attr( test, assert_instr( vreph, IMM2 = 1 ) ) ]
905905 unsafe fn vreph < const IMM2 : u32 > ( a : vector_signed_short ) -> vector_signed_short {
906906 static_assert_uimm_bits ! ( IMM2 , 3 ) ;
907- simd_shuffle ( a, a, const { u32x8 :: from_array ( [ IMM2 ; 8 ] ) } )
907+ simd_shuffle ! ( a, a, [ IMM2 ; 8 ] )
908908 }
909909
910910 #[ inline]
911911 #[ target_feature( enable = "vector" ) ]
912912 #[ cfg_attr( test, assert_instr( vrepf, IMM2 = 1 ) ) ]
913913 unsafe fn vrepf < const IMM2 : u32 > ( a : vector_signed_int ) -> vector_signed_int {
914914 static_assert_uimm_bits ! ( IMM2 , 2 ) ;
915- simd_shuffle ( a, a, const { u32x4 :: from_array ( [ IMM2 ; 4 ] ) } )
915+ simd_shuffle ! ( a, a, [ IMM2 ; 4 ] )
916916 }
917917
918918 #[ inline]
919919 #[ target_feature( enable = "vector" ) ]
920920 #[ cfg_attr( test, assert_instr( vrepg, IMM2 = 1 ) ) ]
921921 unsafe fn vrepg < const IMM2 : u32 > ( a : vector_signed_long_long ) -> vector_signed_long_long {
922922 static_assert_uimm_bits ! ( IMM2 , 1 ) ;
923- simd_shuffle ( a, a, const { u32x2 :: from_array ( [ IMM2 ; 2 ] ) } )
923+ simd_shuffle ! ( a, a, [ IMM2 ; 2 ] )
924924 }
925925
926926 macro_rules! impl_vec_splat {
@@ -5307,11 +5307,13 @@ pub unsafe fn vec_search_string_until_zero_cc<T: sealed::VectorSearchString>(
53075307#[ inline]
53085308#[ target_feature( enable = "vector-enhancements-1" ) ]
53095309#[ unstable( feature = "stdarch_s390x" , issue = "135681" ) ]
5310- // FIXME: this emits `vflls` where `vldeb` is expected
5311- // #[cfg_attr(all(test, target_feature = "vector-enhancements-1"), assert_instr(vldeb))]
5310+ // NOTE: `vflls` and `vldeb` are equivalent; our disassmbler prefers vflls.
5311+ #[ cfg_attr(
5312+ all( test, target_feature = "vector-enhancements-1" ) ,
5313+ assert_instr( vflls)
5314+ ) ]
53125315pub unsafe fn vec_doublee ( a : vector_float ) -> vector_double {
5313- let even = simd_shuffle :: < _ , _ , f32x2 > ( a, a, const { u32x2:: from_array ( [ 0 , 2 ] ) } ) ;
5314- simd_as ( even)
5316+ simd_as :: < f32x2 , vector_double > ( simd_shuffle ! ( a, a, [ 0 , 2 ] ) )
53155317}
53165318
53175319/// Vector Convert from double to float (even elements)
@@ -5322,11 +5324,7 @@ pub unsafe fn vec_doublee(a: vector_float) -> vector_double {
53225324// #[cfg_attr(all(test, target_feature = "vector-enhancements-1"), assert_instr(vledb))]
53235325pub unsafe fn vec_floate ( a : vector_double ) -> vector_float {
53245326 let truncated: f32x2 = simd_as ( a) ;
5325- simd_shuffle (
5326- truncated,
5327- truncated,
5328- const { u32x4:: from_array ( [ 0 , 0 , 1 , 1 ] ) } ,
5329- )
5327+ simd_shuffle ! ( truncated, truncated, [ 0 , 0 , 1 , 1 ] )
53305328}
53315329
53325330/// Vector Convert from int to float
0 commit comments