@@ -2329,6 +2329,14 @@ pub unsafe fn vec_all_nan(a: vector_float) -> bool {
2329
2329
vcmpeqfp_p ( 0 , a, a) != 0
2330
2330
}
2331
2331
2332
+ /// Any Elements Not a Number
2333
+ #[ inline]
2334
+ #[ target_feature( enable = "altivec" ) ]
2335
+ #[ cfg_attr( test, assert_instr( "vcmpeqfp." ) ) ]
2336
+ pub unsafe fn vec_any_nan ( a : vector_float ) -> bool {
2337
+ vcmpeqfp_p ( 3 , a, a) != 0
2338
+ }
2339
+
2332
2340
/// Vector All Elements Not Equal
2333
2341
#[ inline]
2334
2342
#[ target_feature( enable = "altivec" ) ]
@@ -2389,6 +2397,46 @@ pub unsafe fn vec_all_numeric(a: vector_float) -> bool {
2389
2397
vcmpgefp_p ( 2 , a, a) != 0
2390
2398
}
2391
2399
2400
+ /// Any Elements Not Greater Than or Equal
2401
+ #[ inline]
2402
+ #[ target_feature( enable = "altivec" ) ]
2403
+ #[ cfg_attr( test, assert_instr( "vcmpgefp." ) ) ]
2404
+ pub unsafe fn vec_any_nge ( a : vector_float , b : vector_float ) -> bool {
2405
+ vcmpgefp_p ( 3 , a, b) != 0
2406
+ }
2407
+
2408
+ /// Any Elements Not Greater Than
2409
+ #[ inline]
2410
+ #[ target_feature( enable = "altivec" ) ]
2411
+ #[ cfg_attr( test, assert_instr( "vcmpgtfp." ) ) ]
2412
+ pub unsafe fn vec_any_ngt ( a : vector_float , b : vector_float ) -> bool {
2413
+ vcmpgtfp_p ( 3 , a, b) != 0
2414
+ }
2415
+
2416
+ /// Any Elements Not Less Than or Equal
2417
+ #[ inline]
2418
+ #[ target_feature( enable = "altivec" ) ]
2419
+ #[ cfg_attr( test, assert_instr( "vcmpgefp." ) ) ]
2420
+ pub unsafe fn vec_any_nle ( a : vector_float , b : vector_float ) -> bool {
2421
+ vcmpgefp_p ( 3 , b, a) != 0
2422
+ }
2423
+
2424
+ /// Any Elements Not Less Than
2425
+ #[ inline]
2426
+ #[ target_feature( enable = "altivec" ) ]
2427
+ #[ cfg_attr( test, assert_instr( "vcmpgtfp." ) ) ]
2428
+ pub unsafe fn vec_any_nlt ( a : vector_float , b : vector_float ) -> bool {
2429
+ vcmpgtfp_p ( 3 , b, a) != 0
2430
+ }
2431
+
2432
+ /// Any Elements Numeric
2433
+ #[ inline]
2434
+ #[ target_feature( enable = "altivec" ) ]
2435
+ #[ cfg_attr( test, assert_instr( "vcmpgefp." ) ) ]
2436
+ pub unsafe fn vec_any_numeric ( a : vector_float ) -> bool {
2437
+ vcmpgefp_p ( 1 , a, a) != 0
2438
+ }
2439
+
2392
2440
#[ cfg( target_endian = "big" ) ]
2393
2441
mod endian {
2394
2442
use super :: * ;
0 commit comments