@@ -1349,7 +1349,7 @@ pub unsafe fn vcgeq_f64(a: float64x2_t, b: float64x2_t) -> uint64x2_t {
1349
1349
/// [Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vcgez_s8)
1350
1350
#[inline]
1351
1351
#[target_feature(enable = "neon")]
1352
- #[cfg_attr(test, assert_instr(cmge ))]
1352
+ #[cfg_attr(test, assert_instr(cmgt ))]
1353
1353
#[stable(feature = "neon_intrinsics", since = "1.59.0")]
1354
1354
pub unsafe fn vcgez_s8(a: int8x8_t) -> uint8x8_t {
1355
1355
let b: i8x8 = i8x8::new(0, 0, 0, 0, 0, 0, 0, 0);
@@ -1361,7 +1361,7 @@ pub unsafe fn vcgez_s8(a: int8x8_t) -> uint8x8_t {
1361
1361
/// [Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vcgezq_s8)
1362
1362
#[inline]
1363
1363
#[target_feature(enable = "neon")]
1364
- #[cfg_attr(test, assert_instr(cmge ))]
1364
+ #[cfg_attr(test, assert_instr(cmgt ))]
1365
1365
#[stable(feature = "neon_intrinsics", since = "1.59.0")]
1366
1366
pub unsafe fn vcgezq_s8(a: int8x16_t) -> uint8x16_t {
1367
1367
let b: i8x16 = i8x16::new(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
@@ -1373,7 +1373,7 @@ pub unsafe fn vcgezq_s8(a: int8x16_t) -> uint8x16_t {
1373
1373
/// [Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vcgez_s16)
1374
1374
#[inline]
1375
1375
#[target_feature(enable = "neon")]
1376
- #[cfg_attr(test, assert_instr(cmge ))]
1376
+ #[cfg_attr(test, assert_instr(cmgt ))]
1377
1377
#[stable(feature = "neon_intrinsics", since = "1.59.0")]
1378
1378
pub unsafe fn vcgez_s16(a: int16x4_t) -> uint16x4_t {
1379
1379
let b: i16x4 = i16x4::new(0, 0, 0, 0);
@@ -1385,7 +1385,7 @@ pub unsafe fn vcgez_s16(a: int16x4_t) -> uint16x4_t {
1385
1385
/// [Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vcgezq_s16)
1386
1386
#[inline]
1387
1387
#[target_feature(enable = "neon")]
1388
- #[cfg_attr(test, assert_instr(cmge ))]
1388
+ #[cfg_attr(test, assert_instr(cmgt ))]
1389
1389
#[stable(feature = "neon_intrinsics", since = "1.59.0")]
1390
1390
pub unsafe fn vcgezq_s16(a: int16x8_t) -> uint16x8_t {
1391
1391
let b: i16x8 = i16x8::new(0, 0, 0, 0, 0, 0, 0, 0);
@@ -1397,7 +1397,7 @@ pub unsafe fn vcgezq_s16(a: int16x8_t) -> uint16x8_t {
1397
1397
/// [Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vcgez_s32)
1398
1398
#[inline]
1399
1399
#[target_feature(enable = "neon")]
1400
- #[cfg_attr(test, assert_instr(cmge ))]
1400
+ #[cfg_attr(test, assert_instr(cmgt ))]
1401
1401
#[stable(feature = "neon_intrinsics", since = "1.59.0")]
1402
1402
pub unsafe fn vcgez_s32(a: int32x2_t) -> uint32x2_t {
1403
1403
let b: i32x2 = i32x2::new(0, 0);
@@ -1409,7 +1409,7 @@ pub unsafe fn vcgez_s32(a: int32x2_t) -> uint32x2_t {
1409
1409
/// [Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vcgezq_s32)
1410
1410
#[inline]
1411
1411
#[target_feature(enable = "neon")]
1412
- #[cfg_attr(test, assert_instr(cmge ))]
1412
+ #[cfg_attr(test, assert_instr(cmgt ))]
1413
1413
#[stable(feature = "neon_intrinsics", since = "1.59.0")]
1414
1414
pub unsafe fn vcgezq_s32(a: int32x4_t) -> uint32x4_t {
1415
1415
let b: i32x4 = i32x4::new(0, 0, 0, 0);
@@ -1421,7 +1421,7 @@ pub unsafe fn vcgezq_s32(a: int32x4_t) -> uint32x4_t {
1421
1421
/// [Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vcgez_s64)
1422
1422
#[inline]
1423
1423
#[target_feature(enable = "neon")]
1424
- #[cfg_attr(test, assert_instr(cmge ))]
1424
+ #[cfg_attr(test, assert_instr(cmgt ))]
1425
1425
#[stable(feature = "neon_intrinsics", since = "1.59.0")]
1426
1426
pub unsafe fn vcgez_s64(a: int64x1_t) -> uint64x1_t {
1427
1427
let b: i64x1 = i64x1::new(0);
@@ -1433,7 +1433,7 @@ pub unsafe fn vcgez_s64(a: int64x1_t) -> uint64x1_t {
1433
1433
/// [Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vcgezq_s64)
1434
1434
#[inline]
1435
1435
#[target_feature(enable = "neon")]
1436
- #[cfg_attr(test, assert_instr(cmge ))]
1436
+ #[cfg_attr(test, assert_instr(cmgt ))]
1437
1437
#[stable(feature = "neon_intrinsics", since = "1.59.0")]
1438
1438
pub unsafe fn vcgezq_s64(a: int64x2_t) -> uint64x2_t {
1439
1439
let b: i64x2 = i64x2::new(0, 0);
@@ -1493,7 +1493,7 @@ pub unsafe fn vcgezq_f64(a: float64x2_t) -> uint64x2_t {
1493
1493
/// [Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vcgezd_s64)
1494
1494
#[inline]
1495
1495
#[target_feature(enable = "neon")]
1496
- #[cfg_attr(test, assert_instr(eor ))]
1496
+ #[cfg_attr(test, assert_instr(nop ))]
1497
1497
#[stable(feature = "neon_intrinsics", since = "1.59.0")]
1498
1498
pub unsafe fn vcgezd_s64(a: i64) -> u64 {
1499
1499
transmute(vcgez_s64(transmute(a)))
@@ -11595,7 +11595,7 @@ pub unsafe fn vqdmlal_high_laneq_s32<const N: i32>(a: int64x2_t, b: int32x4_t, c
11595
11595
/// [Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vqdmlalh_s16)
11596
11596
#[inline]
11597
11597
#[target_feature(enable = "neon")]
11598
- #[cfg_attr(test, assert_instr(sqdmull ))]
11598
+ #[cfg_attr(test, assert_instr(sqdmlal ))]
11599
11599
#[stable(feature = "neon_intrinsics", since = "1.59.0")]
11600
11600
pub unsafe fn vqdmlalh_s16(a: i32, b: i16, c: i16) -> i32 {
11601
11601
let x: int32x4_t = vqdmull_s16(vdup_n_s16(b), vdup_n_s16(c));
@@ -11607,11 +11607,11 @@ pub unsafe fn vqdmlalh_s16(a: i32, b: i16, c: i16) -> i32 {
11607
11607
/// [Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vqdmlals_s32)
11608
11608
#[inline]
11609
11609
#[target_feature(enable = "neon")]
11610
- #[cfg_attr(test, assert_instr(sqdmull ))]
11610
+ #[cfg_attr(test, assert_instr(sqdmlal ))]
11611
11611
#[stable(feature = "neon_intrinsics", since = "1.59.0")]
11612
11612
pub unsafe fn vqdmlals_s32(a: i64, b: i32, c: i32) -> i64 {
11613
- let x: int64x2_t = vqdmull_s32(vdup_n_s32(b), vdup_n_s32( c));
11614
- vqaddd_s64(a, simd_extract(x, 0))
11613
+ let x: i64 = vqaddd_s64(a, vqdmulls_s32(b, c));
11614
+ x as i64
11615
11615
}
11616
11616
11617
11617
/// Signed saturating doubling multiply-add long
@@ -11645,7 +11645,7 @@ pub unsafe fn vqdmlalh_laneq_s16<const LANE: i32>(a: i32, b: i16, c: int16x8_t)
11645
11645
/// [Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vqdmlals_lane_s32)
11646
11646
#[inline]
11647
11647
#[target_feature(enable = "neon")]
11648
- #[cfg_attr(test, assert_instr(sqdmull , LANE = 0))]
11648
+ #[cfg_attr(test, assert_instr(sqdmlal , LANE = 0))]
11649
11649
#[rustc_legacy_const_generics(3)]
11650
11650
#[stable(feature = "neon_intrinsics", since = "1.59.0")]
11651
11651
pub unsafe fn vqdmlals_lane_s32<const LANE: i32>(a: i64, b: i32, c: int32x2_t) -> i64 {
@@ -11658,7 +11658,7 @@ pub unsafe fn vqdmlals_lane_s32<const LANE: i32>(a: i64, b: i32, c: int32x2_t) -
11658
11658
/// [Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vqdmlals_laneq_s32)
11659
11659
#[inline]
11660
11660
#[target_feature(enable = "neon")]
11661
- #[cfg_attr(test, assert_instr(sqdmull , LANE = 0))]
11661
+ #[cfg_attr(test, assert_instr(sqdmlal , LANE = 0))]
11662
11662
#[rustc_legacy_const_generics(3)]
11663
11663
#[stable(feature = "neon_intrinsics", since = "1.59.0")]
11664
11664
pub unsafe fn vqdmlals_laneq_s32<const LANE: i32>(a: i64, b: i32, c: int32x4_t) -> i64 {
@@ -11793,7 +11793,7 @@ pub unsafe fn vqdmlsl_high_laneq_s32<const N: i32>(a: int64x2_t, b: int32x4_t, c
11793
11793
/// [Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vqdmlslh_s16)
11794
11794
#[inline]
11795
11795
#[target_feature(enable = "neon")]
11796
- #[cfg_attr(test, assert_instr(sqdmull ))]
11796
+ #[cfg_attr(test, assert_instr(sqdmlsl ))]
11797
11797
#[stable(feature = "neon_intrinsics", since = "1.59.0")]
11798
11798
pub unsafe fn vqdmlslh_s16(a: i32, b: i16, c: i16) -> i32 {
11799
11799
let x: int32x4_t = vqdmull_s16(vdup_n_s16(b), vdup_n_s16(c));
@@ -11805,11 +11805,11 @@ pub unsafe fn vqdmlslh_s16(a: i32, b: i16, c: i16) -> i32 {
11805
11805
/// [Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vqdmlsls_s32)
11806
11806
#[inline]
11807
11807
#[target_feature(enable = "neon")]
11808
- #[cfg_attr(test, assert_instr(sqdmull ))]
11808
+ #[cfg_attr(test, assert_instr(sqdmlsl ))]
11809
11809
#[stable(feature = "neon_intrinsics", since = "1.59.0")]
11810
11810
pub unsafe fn vqdmlsls_s32(a: i64, b: i32, c: i32) -> i64 {
11811
- let x: int64x2_t = vqdmull_s32(vdup_n_s32(b), vdup_n_s32( c));
11812
- vqsubd_s64(a, simd_extract(x, 0))
11811
+ let x: i64 = vqsubd_s64(a, vqdmulls_s32(b, c));
11812
+ x as i64
11813
11813
}
11814
11814
11815
11815
/// Signed saturating doubling multiply-subtract long
@@ -11843,7 +11843,7 @@ pub unsafe fn vqdmlslh_laneq_s16<const LANE: i32>(a: i32, b: i16, c: int16x8_t)
11843
11843
/// [Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vqdmlsls_lane_s32)
11844
11844
#[inline]
11845
11845
#[target_feature(enable = "neon")]
11846
- #[cfg_attr(test, assert_instr(sqdmull , LANE = 0))]
11846
+ #[cfg_attr(test, assert_instr(sqdmlsl , LANE = 0))]
11847
11847
#[rustc_legacy_const_generics(3)]
11848
11848
#[stable(feature = "neon_intrinsics", since = "1.59.0")]
11849
11849
pub unsafe fn vqdmlsls_lane_s32<const LANE: i32>(a: i64, b: i32, c: int32x2_t) -> i64 {
@@ -11856,7 +11856,7 @@ pub unsafe fn vqdmlsls_lane_s32<const LANE: i32>(a: i64, b: i32, c: int32x2_t) -
11856
11856
/// [Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vqdmlsls_laneq_s32)
11857
11857
#[inline]
11858
11858
#[target_feature(enable = "neon")]
11859
- #[cfg_attr(test, assert_instr(sqdmull , LANE = 0))]
11859
+ #[cfg_attr(test, assert_instr(sqdmlsl , LANE = 0))]
11860
11860
#[rustc_legacy_const_generics(3)]
11861
11861
#[stable(feature = "neon_intrinsics", since = "1.59.0")]
11862
11862
pub unsafe fn vqdmlsls_laneq_s32<const LANE: i32>(a: i64, b: i32, c: int32x4_t) -> i64 {
0 commit comments