From 5a276b6785fc01d7bc61ed9323e87857cba3d9f6 Mon Sep 17 00:00:00 2001 From: "Heinz N. Gies" Date: Tue, 27 Aug 2019 10:06:45 +0200 Subject: [PATCH] Add some negatives --- .../core_arch/src/aarch64/neon/generated.rs | 48 ++++---- crates/core_arch/src/arm/neon/generated.rs | 113 +++++++++--------- 2 files changed, 81 insertions(+), 80 deletions(-) diff --git a/crates/core_arch/src/aarch64/neon/generated.rs b/crates/core_arch/src/aarch64/neon/generated.rs index 9407d3a761..e579339259 100644 --- a/crates/core_arch/src/aarch64/neon/generated.rs +++ b/crates/core_arch/src/aarch64/neon/generated.rs @@ -299,14 +299,14 @@ mod test { #[simd_test(enable = "neon")] unsafe fn test_vceq_u64() { - let a: u64x1 = u64x1::new(0x00); - let b: u64x1 = u64x1::new(0x00); + let a: u64x1 = u64x1::new(0xFF_FF_FF_FF_FF_FF_FF_FF); + let b: u64x1 = u64x1::new(0xFF_FF_FF_FF_FF_FF_FF_FF); let e: u64x1 = u64x1::new(0xFF_FF_FF_FF_FF_FF_FF_FF); let r: u64x1 = transmute(vceq_u64(transmute(a), transmute(b))); assert_eq!(r, e); - let a: u64x1 = u64x1::new(0x00); - let b: u64x1 = u64x1::new(0x00); + let a: u64x1 = u64x1::new(0xFF_FF_FF_FF_FF_FF_FF_FF); + let b: u64x1 = u64x1::new(0xFF_FF_FF_FF_FF_FF_FF_FF); let e: u64x1 = u64x1::new(0xFF_FF_FF_FF_FF_FF_FF_FF); let r: u64x1 = transmute(vceq_u64(transmute(a), transmute(b))); assert_eq!(r, e); @@ -314,14 +314,14 @@ mod test { #[simd_test(enable = "neon")] unsafe fn test_vceqq_u64() { - let a: u64x2 = u64x2::new(0x00, 0x01); - let b: u64x2 = u64x2::new(0x00, 0x01); + let a: u64x2 = u64x2::new(0xFF_FF_FF_FF_FF_FF_FF_FF, 0x01); + let b: u64x2 = u64x2::new(0xFF_FF_FF_FF_FF_FF_FF_FF, 0x01); let e: u64x2 = u64x2::new(0xFF_FF_FF_FF_FF_FF_FF_FF, 0xFF_FF_FF_FF_FF_FF_FF_FF); let r: u64x2 = transmute(vceqq_u64(transmute(a), transmute(b))); assert_eq!(r, e); - let a: u64x2 = u64x2::new(0x00, 0x01); - let b: u64x2 = u64x2::new(0x00, 0x00); + let a: u64x2 = u64x2::new(0xFF_FF_FF_FF_FF_FF_FF_FF, 0xFF_FF_FF_FF_FF_FF_FF_FF); + let b: u64x2 = u64x2::new(0xFF_FF_FF_FF_FF_FF_FF_FF, 0); let e: u64x2 = u64x2::new(0xFF_FF_FF_FF_FF_FF_FF_FF, 0); let r: u64x2 = transmute(vceqq_u64(transmute(a), transmute(b))); assert_eq!(r, e); @@ -329,14 +329,14 @@ mod test { #[simd_test(enable = "neon")] unsafe fn test_vceq_s64() { - let a: i64x1 = i64x1::new(0x00); - let b: i64x1 = i64x1::new(0x00); + let a: i64x1 = i64x1::new(0x7F_FF_FF_FF_FF_FF_FF_FF); + let b: i64x1 = i64x1::new(0x7F_FF_FF_FF_FF_FF_FF_FF); let e: u64x1 = u64x1::new(0xFF_FF_FF_FF_FF_FF_FF_FF); let r: u64x1 = transmute(vceq_s64(transmute(a), transmute(b))); assert_eq!(r, e); - let a: i64x1 = i64x1::new(0x00); - let b: i64x1 = i64x1::new(0x00); + let a: i64x1 = i64x1::new(0x7F_FF_FF_FF_FF_FF_FF_FF); + let b: i64x1 = i64x1::new(0x7F_FF_FF_FF_FF_FF_FF_FF); let e: u64x1 = u64x1::new(0xFF_FF_FF_FF_FF_FF_FF_FF); let r: u64x1 = transmute(vceq_s64(transmute(a), transmute(b))); assert_eq!(r, e); @@ -344,14 +344,14 @@ mod test { #[simd_test(enable = "neon")] unsafe fn test_vceqq_s64() { - let a: i64x2 = i64x2::new(0x00, 0x01); - let b: i64x2 = i64x2::new(0x00, 0x01); + let a: i64x2 = i64x2::new(0x7F_FF_FF_FF_FF_FF_FF_FF, 0x01); + let b: i64x2 = i64x2::new(0x7F_FF_FF_FF_FF_FF_FF_FF, 0x01); let e: u64x2 = u64x2::new(0xFF_FF_FF_FF_FF_FF_FF_FF, 0xFF_FF_FF_FF_FF_FF_FF_FF); let r: u64x2 = transmute(vceqq_s64(transmute(a), transmute(b))); assert_eq!(r, e); - let a: i64x2 = i64x2::new(0x00, 0x01); - let b: i64x2 = i64x2::new(0x00, 0x00); + let a: i64x2 = i64x2::new(0x7F_FF_FF_FF_FF_FF_FF_FF, 0x7F_FF_FF_FF_FF_FF_FF_FF); + let b: i64x2 = i64x2::new(0x7F_FF_FF_FF_FF_FF_FF_FF, -9223372036854775808i64); let e: u64x2 = u64x2::new(0xFF_FF_FF_FF_FF_FF_FF_FF, 0); let r: u64x2 = transmute(vceqq_s64(transmute(a), transmute(b))); assert_eq!(r, e); @@ -359,14 +359,14 @@ mod test { #[simd_test(enable = "neon")] unsafe fn test_vceq_p64() { - let a: i64x1 = i64x1::new(0x00); - let b: i64x1 = i64x1::new(0x00); + let a: i64x1 = i64x1::new(0x7F_FF_FF_FF_FF_FF_FF_FF); + let b: i64x1 = i64x1::new(0x7F_FF_FF_FF_FF_FF_FF_FF); let e: u64x1 = u64x1::new(0xFF_FF_FF_FF_FF_FF_FF_FF); let r: u64x1 = transmute(vceq_p64(transmute(a), transmute(b))); assert_eq!(r, e); - let a: i64x1 = i64x1::new(0x00); - let b: i64x1 = i64x1::new(0x00); + let a: i64x1 = i64x1::new(0x7F_FF_FF_FF_FF_FF_FF_FF); + let b: i64x1 = i64x1::new(0x7F_FF_FF_FF_FF_FF_FF_FF); let e: u64x1 = u64x1::new(0xFF_FF_FF_FF_FF_FF_FF_FF); let r: u64x1 = transmute(vceq_p64(transmute(a), transmute(b))); assert_eq!(r, e); @@ -374,14 +374,14 @@ mod test { #[simd_test(enable = "neon")] unsafe fn test_vceqq_p64() { - let a: i64x2 = i64x2::new(0x00, 0x01); - let b: i64x2 = i64x2::new(0x00, 0x01); + let a: i64x2 = i64x2::new(0x7F_FF_FF_FF_FF_FF_FF_FF, 0x01); + let b: i64x2 = i64x2::new(0x7F_FF_FF_FF_FF_FF_FF_FF, 0x01); let e: u64x2 = u64x2::new(0xFF_FF_FF_FF_FF_FF_FF_FF, 0xFF_FF_FF_FF_FF_FF_FF_FF); let r: u64x2 = transmute(vceqq_p64(transmute(a), transmute(b))); assert_eq!(r, e); - let a: i64x2 = i64x2::new(0x00, 0x01); - let b: i64x2 = i64x2::new(0x00, 0x00); + let a: i64x2 = i64x2::new(0x7F_FF_FF_FF_FF_FF_FF_FF, 0x7F_FF_FF_FF_FF_FF_FF_FF); + let b: i64x2 = i64x2::new(0x7F_FF_FF_FF_FF_FF_FF_FF, -9223372036854775808i64); let e: u64x2 = u64x2::new(0xFF_FF_FF_FF_FF_FF_FF_FF, 0); let r: u64x2 = transmute(vceqq_p64(transmute(a), transmute(b))); assert_eq!(r, e); diff --git a/crates/core_arch/src/arm/neon/generated.rs b/crates/core_arch/src/arm/neon/generated.rs index 49f532456e..d780985c30 100644 --- a/crates/core_arch/src/arm/neon/generated.rs +++ b/crates/core_arch/src/arm/neon/generated.rs @@ -2463,6 +2463,7 @@ pub unsafe fn vhsubq_s32(a: int32x4_t, b: int32x4_t) -> int32x4_t { } #[cfg(test)] +#[allow(overflowing_literals)] mod test { use super::*; use crate::core_arch::simd::*; @@ -3071,14 +3072,14 @@ mod test { #[simd_test(enable = "neon")] unsafe fn test_vceq_u8() { - let a: u8x8 = u8x8::new(0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07); - let b: u8x8 = u8x8::new(0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07); + let a: u8x8 = u8x8::new(0xFF, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07); + let b: u8x8 = u8x8::new(0xFF, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07); let e: u8x8 = u8x8::new(0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF); let r: u8x8 = transmute(vceq_u8(transmute(a), transmute(b))); assert_eq!(r, e); - let a: u8x8 = u8x8::new(0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07); - let b: u8x8 = u8x8::new(0x00, 0x00, 0x02, 0x04, 0x04, 0x00, 0x06, 0x08); + let a: u8x8 = u8x8::new(0xFF, 0xFF, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07); + let b: u8x8 = u8x8::new(0xFF, 0, 0x02, 0x04, 0x04, 0x00, 0x06, 0x08); let e: u8x8 = u8x8::new(0xFF, 0, 0xFF, 0, 0xFF, 0, 0xFF, 0); let r: u8x8 = transmute(vceq_u8(transmute(a), transmute(b))); assert_eq!(r, e); @@ -3087,12 +3088,12 @@ mod test { #[simd_test(enable = "neon")] unsafe fn test_vceqq_u8() { let a: u8x16 = u8x16::new( - 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, - 0x0E, 0x0F, + 0xFF, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, + 0x0E, 0, ); let b: u8x16 = u8x16::new( - 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, - 0x0E, 0x0F, + 0xFF, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, + 0x0E, 0, ); let e: u8x16 = u8x16::new( 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, @@ -3102,12 +3103,12 @@ mod test { assert_eq!(r, e); let a: u8x16 = u8x16::new( - 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, - 0x0E, 0x0F, + 0xFF, 0xFF, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0xCC, 0x0D, + 0xEE, 0, ); let b: u8x16 = u8x16::new( - 0x00, 0x00, 0x02, 0x04, 0x04, 0x00, 0x06, 0x08, 0x08, 0x00, 0x0A, 0x0A, 0x0C, 0x10, - 0x0E, 0x1F, + 0xFF, 0, 0x02, 0x04, 0x04, 0x00, 0x06, 0x08, 0x08, 0x00, 0x0A, 0x0A, 0xCC, 0xD0, 0xEE, + 0xFF, ); let e: u8x16 = u8x16::new( 0xFF, 0, 0xFF, 0, 0xFF, 0, 0xFF, 0, 0xFF, 0, 0xFF, 0, 0xFF, 0, 0xFF, 0, @@ -3118,14 +3119,14 @@ mod test { #[simd_test(enable = "neon")] unsafe fn test_vceq_u16() { - let a: u16x4 = u16x4::new(0x00, 0x01, 0x02, 0x03); - let b: u16x4 = u16x4::new(0x00, 0x01, 0x02, 0x03); + let a: u16x4 = u16x4::new(0xFF_FF, 0x01, 0x02, 0x03); + let b: u16x4 = u16x4::new(0xFF_FF, 0x01, 0x02, 0x03); let e: u16x4 = u16x4::new(0xFF_FF, 0xFF_FF, 0xFF_FF, 0xFF_FF); let r: u16x4 = transmute(vceq_u16(transmute(a), transmute(b))); assert_eq!(r, e); - let a: u16x4 = u16x4::new(0x00, 0x01, 0x02, 0x03); - let b: u16x4 = u16x4::new(0x00, 0x00, 0x02, 0x04); + let a: u16x4 = u16x4::new(0xFF_FF, 0xFF_FF, 0x02, 0x03); + let b: u16x4 = u16x4::new(0xFF_FF, 0, 0x02, 0x04); let e: u16x4 = u16x4::new(0xFF_FF, 0, 0xFF_FF, 0); let r: u16x4 = transmute(vceq_u16(transmute(a), transmute(b))); assert_eq!(r, e); @@ -3133,16 +3134,16 @@ mod test { #[simd_test(enable = "neon")] unsafe fn test_vceqq_u16() { - let a: u16x8 = u16x8::new(0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07); - let b: u16x8 = u16x8::new(0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07); + let a: u16x8 = u16x8::new(0xFF_FF, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07); + let b: u16x8 = u16x8::new(0xFF_FF, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07); let e: u16x8 = u16x8::new( 0xFF_FF, 0xFF_FF, 0xFF_FF, 0xFF_FF, 0xFF_FF, 0xFF_FF, 0xFF_FF, 0xFF_FF, ); let r: u16x8 = transmute(vceqq_u16(transmute(a), transmute(b))); assert_eq!(r, e); - let a: u16x8 = u16x8::new(0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07); - let b: u16x8 = u16x8::new(0x00, 0x00, 0x02, 0x04, 0x04, 0x00, 0x06, 0x08); + let a: u16x8 = u16x8::new(0xFF_FF, 0xFF_FF, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07); + let b: u16x8 = u16x8::new(0xFF_FF, 0, 0x02, 0x04, 0x04, 0x00, 0x06, 0x08); let e: u16x8 = u16x8::new(0xFF_FF, 0, 0xFF_FF, 0, 0xFF_FF, 0, 0xFF_FF, 0); let r: u16x8 = transmute(vceqq_u16(transmute(a), transmute(b))); assert_eq!(r, e); @@ -3150,14 +3151,14 @@ mod test { #[simd_test(enable = "neon")] unsafe fn test_vceq_u32() { - let a: u32x2 = u32x2::new(0x00, 0x01); - let b: u32x2 = u32x2::new(0x00, 0x01); + let a: u32x2 = u32x2::new(0xFF_FF_FF_FF, 0x01); + let b: u32x2 = u32x2::new(0xFF_FF_FF_FF, 0x01); let e: u32x2 = u32x2::new(0xFF_FF_FF_FF, 0xFF_FF_FF_FF); let r: u32x2 = transmute(vceq_u32(transmute(a), transmute(b))); assert_eq!(r, e); - let a: u32x2 = u32x2::new(0x00, 0x01); - let b: u32x2 = u32x2::new(0x00, 0x00); + let a: u32x2 = u32x2::new(0xFF_FF_FF_FF, 0xFF_FF_FF_FF); + let b: u32x2 = u32x2::new(0xFF_FF_FF_FF, 0); let e: u32x2 = u32x2::new(0xFF_FF_FF_FF, 0); let r: u32x2 = transmute(vceq_u32(transmute(a), transmute(b))); assert_eq!(r, e); @@ -3165,14 +3166,14 @@ mod test { #[simd_test(enable = "neon")] unsafe fn test_vceqq_u32() { - let a: u32x4 = u32x4::new(0x00, 0x01, 0x02, 0x03); - let b: u32x4 = u32x4::new(0x00, 0x01, 0x02, 0x03); + let a: u32x4 = u32x4::new(0xFF_FF_FF_FF, 0x01, 0x02, 0x03); + let b: u32x4 = u32x4::new(0xFF_FF_FF_FF, 0x01, 0x02, 0x03); let e: u32x4 = u32x4::new(0xFF_FF_FF_FF, 0xFF_FF_FF_FF, 0xFF_FF_FF_FF, 0xFF_FF_FF_FF); let r: u32x4 = transmute(vceqq_u32(transmute(a), transmute(b))); assert_eq!(r, e); - let a: u32x4 = u32x4::new(0x00, 0x01, 0x02, 0x03); - let b: u32x4 = u32x4::new(0x00, 0x00, 0x02, 0x04); + let a: u32x4 = u32x4::new(0xFF_FF_FF_FF, 0xFF_FF_FF_FF, 0x02, 0x03); + let b: u32x4 = u32x4::new(0xFF_FF_FF_FF, 0, 0x02, 0x04); let e: u32x4 = u32x4::new(0xFF_FF_FF_FF, 0, 0xFF_FF_FF_FF, 0); let r: u32x4 = transmute(vceqq_u32(transmute(a), transmute(b))); assert_eq!(r, e); @@ -3180,14 +3181,14 @@ mod test { #[simd_test(enable = "neon")] unsafe fn test_vceq_s8() { - let a: i8x8 = i8x8::new(0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07); - let b: i8x8 = i8x8::new(0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07); + let a: i8x8 = i8x8::new(0x7F, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07); + let b: i8x8 = i8x8::new(0x7F, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07); let e: u8x8 = u8x8::new(0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF); let r: u8x8 = transmute(vceq_s8(transmute(a), transmute(b))); assert_eq!(r, e); - let a: i8x8 = i8x8::new(0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07); - let b: i8x8 = i8x8::new(0x00, 0x00, 0x02, 0x04, 0x04, 0x00, 0x06, 0x08); + let a: i8x8 = i8x8::new(0x7F, 0x7F, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07); + let b: i8x8 = i8x8::new(0x7F, -128i8, 0x02, 0x04, 0x04, 0x00, 0x06, 0x08); let e: u8x8 = u8x8::new(0xFF, 0, 0xFF, 0, 0xFF, 0, 0xFF, 0); let r: u8x8 = transmute(vceq_s8(transmute(a), transmute(b))); assert_eq!(r, e); @@ -3196,12 +3197,12 @@ mod test { #[simd_test(enable = "neon")] unsafe fn test_vceqq_s8() { let a: i8x16 = i8x16::new( - 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, - 0x0E, 0x0F, + 0x7F, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, + 0x0E, -128i8, ); let b: i8x16 = i8x16::new( - 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, - 0x0E, 0x0F, + 0x7F, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, + 0x0E, -128i8, ); let e: u8x16 = u8x16::new( 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, @@ -3211,12 +3212,12 @@ mod test { assert_eq!(r, e); let a: i8x16 = i8x16::new( - 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, - 0x0E, 0x0F, + 0x7F, 0x7F, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0xCC, 0x0D, + 0xEE, -128i8, ); let b: i8x16 = i8x16::new( - 0x00, 0x00, 0x02, 0x04, 0x04, 0x00, 0x06, 0x08, 0x08, 0x00, 0x0A, 0x0A, 0x0C, 0x10, - 0x0E, 0x1F, + 0x7F, -128i8, 0x02, 0x04, 0x04, 0x00, 0x06, 0x08, 0x08, 0x00, 0x0A, 0x0A, 0xCC, 0xD0, + 0xEE, 0x7F, ); let e: u8x16 = u8x16::new( 0xFF, 0, 0xFF, 0, 0xFF, 0, 0xFF, 0, 0xFF, 0, 0xFF, 0, 0xFF, 0, 0xFF, 0, @@ -3227,14 +3228,14 @@ mod test { #[simd_test(enable = "neon")] unsafe fn test_vceq_s16() { - let a: i16x4 = i16x4::new(0x00, 0x01, 0x02, 0x03); - let b: i16x4 = i16x4::new(0x00, 0x01, 0x02, 0x03); + let a: i16x4 = i16x4::new(0x7F_FF, 0x01, 0x02, 0x03); + let b: i16x4 = i16x4::new(0x7F_FF, 0x01, 0x02, 0x03); let e: u16x4 = u16x4::new(0xFF_FF, 0xFF_FF, 0xFF_FF, 0xFF_FF); let r: u16x4 = transmute(vceq_s16(transmute(a), transmute(b))); assert_eq!(r, e); - let a: i16x4 = i16x4::new(0x00, 0x01, 0x02, 0x03); - let b: i16x4 = i16x4::new(0x00, 0x00, 0x02, 0x04); + let a: i16x4 = i16x4::new(0x7F_FF, 0x7F_FF, 0x02, 0x03); + let b: i16x4 = i16x4::new(0x7F_FF, -32768i16, 0x02, 0x04); let e: u16x4 = u16x4::new(0xFF_FF, 0, 0xFF_FF, 0); let r: u16x4 = transmute(vceq_s16(transmute(a), transmute(b))); assert_eq!(r, e); @@ -3242,16 +3243,16 @@ mod test { #[simd_test(enable = "neon")] unsafe fn test_vceqq_s16() { - let a: i16x8 = i16x8::new(0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07); - let b: i16x8 = i16x8::new(0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07); + let a: i16x8 = i16x8::new(0x7F_FF, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07); + let b: i16x8 = i16x8::new(0x7F_FF, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07); let e: u16x8 = u16x8::new( 0xFF_FF, 0xFF_FF, 0xFF_FF, 0xFF_FF, 0xFF_FF, 0xFF_FF, 0xFF_FF, 0xFF_FF, ); let r: u16x8 = transmute(vceqq_s16(transmute(a), transmute(b))); assert_eq!(r, e); - let a: i16x8 = i16x8::new(0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07); - let b: i16x8 = i16x8::new(0x00, 0x00, 0x02, 0x04, 0x04, 0x00, 0x06, 0x08); + let a: i16x8 = i16x8::new(0x7F_FF, 0x7F_FF, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07); + let b: i16x8 = i16x8::new(0x7F_FF, -32768i16, 0x02, 0x04, 0x04, 0x00, 0x06, 0x08); let e: u16x8 = u16x8::new(0xFF_FF, 0, 0xFF_FF, 0, 0xFF_FF, 0, 0xFF_FF, 0); let r: u16x8 = transmute(vceqq_s16(transmute(a), transmute(b))); assert_eq!(r, e); @@ -3259,14 +3260,14 @@ mod test { #[simd_test(enable = "neon")] unsafe fn test_vceq_s32() { - let a: i32x2 = i32x2::new(0x00, 0x01); - let b: i32x2 = i32x2::new(0x00, 0x01); + let a: i32x2 = i32x2::new(0x7F_FF_FF_FF, 0x01); + let b: i32x2 = i32x2::new(0x7F_FF_FF_FF, 0x01); let e: u32x2 = u32x2::new(0xFF_FF_FF_FF, 0xFF_FF_FF_FF); let r: u32x2 = transmute(vceq_s32(transmute(a), transmute(b))); assert_eq!(r, e); - let a: i32x2 = i32x2::new(0x00, 0x01); - let b: i32x2 = i32x2::new(0x00, 0x00); + let a: i32x2 = i32x2::new(0x7F_FF_FF_FF, 0x7F_FF_FF_FF); + let b: i32x2 = i32x2::new(0x7F_FF_FF_FF, -2147483648i32); let e: u32x2 = u32x2::new(0xFF_FF_FF_FF, 0); let r: u32x2 = transmute(vceq_s32(transmute(a), transmute(b))); assert_eq!(r, e); @@ -3274,14 +3275,14 @@ mod test { #[simd_test(enable = "neon")] unsafe fn test_vceqq_s32() { - let a: i32x4 = i32x4::new(0x00, 0x01, 0x02, 0x03); - let b: i32x4 = i32x4::new(0x00, 0x01, 0x02, 0x03); + let a: i32x4 = i32x4::new(0x7F_FF_FF_FF, 0x01, 0x02, 0x03); + let b: i32x4 = i32x4::new(0x7F_FF_FF_FF, 0x01, 0x02, 0x03); let e: u32x4 = u32x4::new(0xFF_FF_FF_FF, 0xFF_FF_FF_FF, 0xFF_FF_FF_FF, 0xFF_FF_FF_FF); let r: u32x4 = transmute(vceqq_s32(transmute(a), transmute(b))); assert_eq!(r, e); - let a: i32x4 = i32x4::new(0x00, 0x01, 0x02, 0x03); - let b: i32x4 = i32x4::new(0x00, 0x00, 0x02, 0x04); + let a: i32x4 = i32x4::new(0x7F_FF_FF_FF, 0x7F_FF_FF_FF, 0x02, 0x03); + let b: i32x4 = i32x4::new(0x7F_FF_FF_FF, -2147483648i32, 0x02, 0x04); let e: u32x4 = u32x4::new(0xFF_FF_FF_FF, 0, 0xFF_FF_FF_FF, 0); let r: u32x4 = transmute(vceqq_s32(transmute(a), transmute(b))); assert_eq!(r, e);