@@ -71,12 +71,6 @@ mod sealed {
7171 unsafe fn vec_xxpermdi ( self , b : Self , dm : u8 ) -> Self ;
7272 }
7373
74- #[ unstable( feature = "stdarch_powerpc" , issue = "111145" ) ]
75- pub trait VectorAdd < Other > {
76- type Result ;
77- unsafe fn vec_add ( self , other : Other ) -> Self :: Result ;
78- }
79-
8074 // xxpermdi has an big-endian bias and extended mnemonics
8175 #[ inline]
8276 #[ target_feature( enable = "vsx" ) ]
@@ -182,30 +176,20 @@ mod sealed {
182176 #[ inline]
183177 #[ target_feature( enable = "vsx" ) ]
184178 #[ cfg_attr( test, assert_instr( xvadddp) ) ]
185- unsafe fn vec_add_double_double ( a : vector_double , b : vector_double ) -> vector_double {
179+ pub ( crate ) unsafe fn vec_add_double_double ( a : vector_double , b : vector_double ) -> vector_double {
186180 simd_add ( a, b)
187181 }
188-
189- #[ unstable( feature = "stdarch_powerpc" , issue = "111145" ) ]
190- impl sealed:: VectorAdd < vector_double > for vector_double {
191- type Result = vector_double ;
192- #[ inline]
193- #[ target_feature( enable = "vsx" ) ]
194- unsafe fn vec_add ( self , other : vector_double ) -> Self :: Result {
195- vec_add_double_double ( self , other)
196- }
197- }
198182}
199183
200- /// Vector add for double-precision floating-point vectors.
201- #[ inline]
202- #[ target_feature( enable = "vsx" ) ]
184+ // Implement AltiVec's VectorAdd trait for vector_double to enable vec_add support
203185#[ unstable( feature = "stdarch_powerpc" , issue = "111145" ) ]
204- pub unsafe fn vec_add < T , U > ( a : T , b : U ) -> <T as sealed:: VectorAdd < U > >:: Result
205- where
206- T : sealed:: VectorAdd < U > ,
207- {
208- a. vec_add ( b)
186+ impl crate :: core_arch:: powerpc:: altivec:: sealed:: VectorAdd < vector_double > for vector_double {
187+ type Result = vector_double ;
188+ #[ inline]
189+ #[ target_feature( enable = "vsx" ) ]
190+ unsafe fn vec_add ( self , other : vector_double ) -> Self :: Result {
191+ sealed:: vec_add_double_double ( self , other)
192+ }
209193}
210194
211195/// Vector permute.
0 commit comments