Skip to content

Commit dcd29ae

Browse files
committed
Eliminate duplication
1 parent 5f428b7 commit dcd29ae

File tree

3 files changed

+0
-463
lines changed

3 files changed

+0
-463
lines changed

crates/core_arch/src/aarch64/neon/generated.rs

Lines changed: 0 additions & 290 deletions
Original file line numberDiff line numberDiff line change
@@ -598,110 +598,6 @@ pub unsafe fn vtstd_u64(a: u64, b: u64) -> u64 {
598598
transmute(vtst_u64(transmute(a), transmute(b)))
599599
}
600600

601-
/// Signed saturating accumulate of unsigned value
602-
#[inline]
603-
#[target_feature(enable = "neon")]
604-
#[cfg_attr(test, assert_instr(suqadd))]
605-
pub unsafe fn vuqadd_s8(a: int8x8_t, b: uint8x8_t) -> int8x8_t {
606-
#[allow(improper_ctypes)]
607-
extern "unadjusted" {
608-
#[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.neon.suqadd.v8i8")]
609-
fn vuqadd_s8_(a: int8x8_t, b: uint8x8_t) -> int8x8_t;
610-
}
611-
vuqadd_s8_(a, b)
612-
}
613-
614-
/// Signed saturating accumulate of unsigned value
615-
#[inline]
616-
#[target_feature(enable = "neon")]
617-
#[cfg_attr(test, assert_instr(suqadd))]
618-
pub unsafe fn vuqadd_s16(a: int16x4_t, b: uint16x4_t) -> int16x4_t {
619-
#[allow(improper_ctypes)]
620-
extern "unadjusted" {
621-
#[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.neon.suqadd.v4i16")]
622-
fn vuqadd_s16_(a: int16x4_t, b: uint16x4_t) -> int16x4_t;
623-
}
624-
vuqadd_s16_(a, b)
625-
}
626-
627-
/// Signed saturating accumulate of unsigned value
628-
#[inline]
629-
#[target_feature(enable = "neon")]
630-
#[cfg_attr(test, assert_instr(suqadd))]
631-
pub unsafe fn vuqadd_s32(a: int32x2_t, b: uint32x2_t) -> int32x2_t {
632-
#[allow(improper_ctypes)]
633-
extern "unadjusted" {
634-
#[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.neon.suqadd.v2i32")]
635-
fn vuqadd_s32_(a: int32x2_t, b: uint32x2_t) -> int32x2_t;
636-
}
637-
vuqadd_s32_(a, b)
638-
}
639-
640-
/// Signed saturating accumulate of unsigned value
641-
#[inline]
642-
#[target_feature(enable = "neon")]
643-
#[cfg_attr(test, assert_instr(suqadd))]
644-
pub unsafe fn vuqadd_s64(a: int64x1_t, b: uint64x1_t) -> int64x1_t {
645-
#[allow(improper_ctypes)]
646-
extern "unadjusted" {
647-
#[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.neon.suqadd.v1i64")]
648-
fn vuqadd_s64_(a: int64x1_t, b: uint64x1_t) -> int64x1_t;
649-
}
650-
vuqadd_s64_(a, b)
651-
}
652-
653-
/// Signed saturating accumulate of unsigned value
654-
#[inline]
655-
#[target_feature(enable = "neon")]
656-
#[cfg_attr(test, assert_instr(suqadd))]
657-
pub unsafe fn vuqaddq_s8(a: int8x16_t, b: uint8x16_t) -> int8x16_t {
658-
#[allow(improper_ctypes)]
659-
extern "unadjusted" {
660-
#[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.neon.suqadd.v16i8")]
661-
fn vuqaddq_s8_(a: int8x16_t, b: uint8x16_t) -> int8x16_t;
662-
}
663-
vuqaddq_s8_(a, b)
664-
}
665-
666-
/// Signed saturating accumulate of unsigned value
667-
#[inline]
668-
#[target_feature(enable = "neon")]
669-
#[cfg_attr(test, assert_instr(suqadd))]
670-
pub unsafe fn vuqaddq_s16(a: int16x8_t, b: uint16x8_t) -> int16x8_t {
671-
#[allow(improper_ctypes)]
672-
extern "unadjusted" {
673-
#[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.neon.suqadd.v8i16")]
674-
fn vuqaddq_s16_(a: int16x8_t, b: uint16x8_t) -> int16x8_t;
675-
}
676-
vuqaddq_s16_(a, b)
677-
}
678-
679-
/// Signed saturating accumulate of unsigned value
680-
#[inline]
681-
#[target_feature(enable = "neon")]
682-
#[cfg_attr(test, assert_instr(suqadd))]
683-
pub unsafe fn vuqaddq_s32(a: int32x4_t, b: uint32x4_t) -> int32x4_t {
684-
#[allow(improper_ctypes)]
685-
extern "unadjusted" {
686-
#[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.neon.suqadd.v4i32")]
687-
fn vuqaddq_s32_(a: int32x4_t, b: uint32x4_t) -> int32x4_t;
688-
}
689-
vuqaddq_s32_(a, b)
690-
}
691-
692-
/// Signed saturating accumulate of unsigned value
693-
#[inline]
694-
#[target_feature(enable = "neon")]
695-
#[cfg_attr(test, assert_instr(suqadd))]
696-
pub unsafe fn vuqaddq_s64(a: int64x2_t, b: uint64x2_t) -> int64x2_t {
697-
#[allow(improper_ctypes)]
698-
extern "unadjusted" {
699-
#[cfg_attr(target_arch = "aarch64", link_name = "llvm.aarch64.neon.suqadd.v2i64")]
700-
fn vuqaddq_s64_(a: int64x2_t, b: uint64x2_t) -> int64x2_t;
701-
}
702-
vuqaddq_s64_(a, b)
703-
}
704-
705601
/// Signed saturating accumulate of unsigned value
706602
#[inline]
707603
#[target_feature(enable = "neon")]
@@ -4688,60 +4584,6 @@ pub unsafe fn vqsubd_s64(a: i64, b: i64) -> i64 {
46884584
vqsubd_s64_(a, b)
46894585
}
46904586

4691-
/// Rounding add returning high narrow
4692-
#[inline]
4693-
#[target_feature(enable = "neon")]
4694-
#[cfg_attr(test, assert_instr(raddhn2))]
4695-
pub unsafe fn vraddhn_high_s16(a: int8x8_t, b: int16x8_t, c: int16x8_t) -> int8x16_t {
4696-
let x: int8x8_t = vraddhn_s16(b, c);
4697-
simd_shuffle16!(a, x, [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15])
4698-
}
4699-
4700-
/// Rounding add returning high narrow
4701-
#[inline]
4702-
#[target_feature(enable = "neon")]
4703-
#[cfg_attr(test, assert_instr(raddhn2))]
4704-
pub unsafe fn vraddhn_high_s32(a: int16x4_t, b: int32x4_t, c: int32x4_t) -> int16x8_t {
4705-
let x: int16x4_t = vraddhn_s32(b, c);
4706-
simd_shuffle8!(a, x, [0, 1, 2, 3, 4, 5, 6, 7])
4707-
}
4708-
4709-
/// Rounding add returning high narrow
4710-
#[inline]
4711-
#[target_feature(enable = "neon")]
4712-
#[cfg_attr(test, assert_instr(raddhn2))]
4713-
pub unsafe fn vraddhn_high_s64(a: int32x2_t, b: int64x2_t, c: int64x2_t) -> int32x4_t {
4714-
let x: int32x2_t = vraddhn_s64(b, c);
4715-
simd_shuffle4!(a, x, [0, 1, 2, 3])
4716-
}
4717-
4718-
/// Rounding add returning high narrow
4719-
#[inline]
4720-
#[target_feature(enable = "neon")]
4721-
#[cfg_attr(test, assert_instr(raddhn2))]
4722-
pub unsafe fn vraddhn_high_u16(a: uint8x8_t, b: uint16x8_t, c: uint16x8_t) -> uint8x16_t {
4723-
let x: uint8x8_t = vraddhn_u16(b, c);
4724-
simd_shuffle16!(a, x, [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15])
4725-
}
4726-
4727-
/// Rounding add returning high narrow
4728-
#[inline]
4729-
#[target_feature(enable = "neon")]
4730-
#[cfg_attr(test, assert_instr(raddhn2))]
4731-
pub unsafe fn vraddhn_high_u32(a: uint16x4_t, b: uint32x4_t, c: uint32x4_t) -> uint16x8_t {
4732-
let x: uint16x4_t = vraddhn_u32(b, c);
4733-
simd_shuffle8!(a, x, [0, 1, 2, 3, 4, 5, 6, 7])
4734-
}
4735-
4736-
/// Rounding add returning high narrow
4737-
#[inline]
4738-
#[target_feature(enable = "neon")]
4739-
#[cfg_attr(test, assert_instr(raddhn2))]
4740-
pub unsafe fn vraddhn_high_u64(a: uint32x2_t, b: uint64x2_t, c: uint64x2_t) -> uint32x4_t {
4741-
let x: uint32x2_t = vraddhn_u64(b, c);
4742-
simd_shuffle4!(a, x, [0, 1, 2, 3])
4743-
}
4744-
47454587
/// Reverse bit order
47464588
#[inline]
47474589
#[target_feature(enable = "neon")]
@@ -13736,78 +13578,6 @@ mod test {
1373613578
assert_eq!(r, e);
1373713579
}
1373813580

13739-
#[simd_test(enable = "neon")]
13740-
unsafe fn test_vuqadd_s8() {
13741-
let a: i8x8 = i8x8::new(1, 2, 3, 4, 1, 2, 3, 4);
13742-
let b: u8x8 = u8x8::new(1, 2, 3, 4, 1, 2, 3, 4);
13743-
let e: i8x8 = i8x8::new(2, 4, 6, 8, 2, 4, 6, 8);
13744-
let r: i8x8 = transmute(vuqadd_s8(transmute(a), transmute(b)));
13745-
assert_eq!(r, e);
13746-
}
13747-
13748-
#[simd_test(enable = "neon")]
13749-
unsafe fn test_vuqadd_s16() {
13750-
let a: i16x4 = i16x4::new(1, 2, 3, 4);
13751-
let b: u16x4 = u16x4::new(1, 2, 3, 4);
13752-
let e: i16x4 = i16x4::new(2, 4, 6, 8);
13753-
let r: i16x4 = transmute(vuqadd_s16(transmute(a), transmute(b)));
13754-
assert_eq!(r, e);
13755-
}
13756-
13757-
#[simd_test(enable = "neon")]
13758-
unsafe fn test_vuqadd_s32() {
13759-
let a: i32x2 = i32x2::new(1, 2);
13760-
let b: u32x2 = u32x2::new(1, 2);
13761-
let e: i32x2 = i32x2::new(2, 4);
13762-
let r: i32x2 = transmute(vuqadd_s32(transmute(a), transmute(b)));
13763-
assert_eq!(r, e);
13764-
}
13765-
13766-
#[simd_test(enable = "neon")]
13767-
unsafe fn test_vuqadd_s64() {
13768-
let a: i64x1 = i64x1::new(1);
13769-
let b: u64x1 = u64x1::new(1);
13770-
let e: i64x1 = i64x1::new(2);
13771-
let r: i64x1 = transmute(vuqadd_s64(transmute(a), transmute(b)));
13772-
assert_eq!(r, e);
13773-
}
13774-
13775-
#[simd_test(enable = "neon")]
13776-
unsafe fn test_vuqaddq_s8() {
13777-
let a: i8x16 = i8x16::new(1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4);
13778-
let b: u8x16 = u8x16::new(1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4);
13779-
let e: i8x16 = i8x16::new(2, 4, 6, 8, 2, 4, 6, 8, 2, 4, 6, 8, 2, 4, 6, 8);
13780-
let r: i8x16 = transmute(vuqaddq_s8(transmute(a), transmute(b)));
13781-
assert_eq!(r, e);
13782-
}
13783-
13784-
#[simd_test(enable = "neon")]
13785-
unsafe fn test_vuqaddq_s16() {
13786-
let a: i16x8 = i16x8::new(1, 2, 3, 4, 1, 2, 3, 4);
13787-
let b: u16x8 = u16x8::new(1, 2, 3, 4, 1, 2, 3, 4);
13788-
let e: i16x8 = i16x8::new(2, 4, 6, 8, 2, 4, 6, 8);
13789-
let r: i16x8 = transmute(vuqaddq_s16(transmute(a), transmute(b)));
13790-
assert_eq!(r, e);
13791-
}
13792-
13793-
#[simd_test(enable = "neon")]
13794-
unsafe fn test_vuqaddq_s32() {
13795-
let a: i32x4 = i32x4::new(1, 2, 3, 4);
13796-
let b: u32x4 = u32x4::new(1, 2, 3, 4);
13797-
let e: i32x4 = i32x4::new(2, 4, 6, 8);
13798-
let r: i32x4 = transmute(vuqaddq_s32(transmute(a), transmute(b)));
13799-
assert_eq!(r, e);
13800-
}
13801-
13802-
#[simd_test(enable = "neon")]
13803-
unsafe fn test_vuqaddq_s64() {
13804-
let a: i64x2 = i64x2::new(1, 2);
13805-
let b: u64x2 = u64x2::new(1, 2);
13806-
let e: i64x2 = i64x2::new(2, 4);
13807-
let r: i64x2 = transmute(vuqaddq_s64(transmute(a), transmute(b)));
13808-
assert_eq!(r, e);
13809-
}
13810-
1381113581
#[simd_test(enable = "neon")]
1381213582
unsafe fn test_vuqadds_s32() {
1381313583
let a: i32 = 1;
@@ -16834,66 +16604,6 @@ mod test {
1683416604
assert_eq!(r, e);
1683516605
}
1683616606

16837-
#[simd_test(enable = "neon")]
16838-
unsafe fn test_vraddhn_high_s16() {
16839-
let a: i8x8 = i8x8::new(1, 2, 0, 0, 0, 0, 0, 0);
16840-
let b: i16x8 = i16x8::new(1, 2, 3, 4, 5, 6, 7, 8);
16841-
let c: i16x8 = i16x8::new(1, 2, 3, 4, 5, 6, 7, 8);
16842-
let e: i8x16 = i8x16::new(1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
16843-
let r: i8x16 = transmute(vraddhn_high_s16(transmute(a), transmute(b), transmute(c)));
16844-
assert_eq!(r, e);
16845-
}
16846-
16847-
#[simd_test(enable = "neon")]
16848-
unsafe fn test_vraddhn_high_s32() {
16849-
let a: i16x4 = i16x4::new(1, 2, 0, 0);
16850-
let b: i32x4 = i32x4::new(1, 2, 3, 4);
16851-
let c: i32x4 = i32x4::new(1, 2, 3, 4);
16852-
let e: i16x8 = i16x8::new(1, 2, 0, 0, 0, 0, 0, 0);
16853-
let r: i16x8 = transmute(vraddhn_high_s32(transmute(a), transmute(b), transmute(c)));
16854-
assert_eq!(r, e);
16855-
}
16856-
16857-
#[simd_test(enable = "neon")]
16858-
unsafe fn test_vraddhn_high_s64() {
16859-
let a: i32x2 = i32x2::new(1, 2);
16860-
let b: i64x2 = i64x2::new(1, 2);
16861-
let c: i64x2 = i64x2::new(1, 2);
16862-
let e: i32x4 = i32x4::new(1, 2, 0, 0);
16863-
let r: i32x4 = transmute(vraddhn_high_s64(transmute(a), transmute(b), transmute(c)));
16864-
assert_eq!(r, e);
16865-
}
16866-
16867-
#[simd_test(enable = "neon")]
16868-
unsafe fn test_vraddhn_high_u16() {
16869-
let a: u8x8 = u8x8::new(1, 2, 0, 0, 0, 0, 0, 0);
16870-
let b: u16x8 = u16x8::new(1, 2, 3, 4, 5, 6, 7, 8);
16871-
let c: u16x8 = u16x8::new(1, 2, 3, 4, 5, 6, 7, 8);
16872-
let e: u8x16 = u8x16::new(1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
16873-
let r: u8x16 = transmute(vraddhn_high_u16(transmute(a), transmute(b), transmute(c)));
16874-
assert_eq!(r, e);
16875-
}
16876-
16877-
#[simd_test(enable = "neon")]
16878-
unsafe fn test_vraddhn_high_u32() {
16879-
let a: u16x4 = u16x4::new(1, 2, 0, 0);
16880-
let b: u32x4 = u32x4::new(1, 2, 3, 4);
16881-
let c: u32x4 = u32x4::new(1, 2, 3, 4);
16882-
let e: u16x8 = u16x8::new(1, 2, 0, 0, 0, 0, 0, 0);
16883-
let r: u16x8 = transmute(vraddhn_high_u32(transmute(a), transmute(b), transmute(c)));
16884-
assert_eq!(r, e);
16885-
}
16886-
16887-
#[simd_test(enable = "neon")]
16888-
unsafe fn test_vraddhn_high_u64() {
16889-
let a: u32x2 = u32x2::new(1, 2);
16890-
let b: u64x2 = u64x2::new(1, 2);
16891-
let c: u64x2 = u64x2::new(1, 2);
16892-
let e: u32x4 = u32x4::new(1, 2, 0, 0);
16893-
let r: u32x4 = transmute(vraddhn_high_u64(transmute(a), transmute(b), transmute(c)));
16894-
assert_eq!(r, e);
16895-
}
16896-
1689716607
#[simd_test(enable = "neon")]
1689816608
unsafe fn test_vrbit_s8() {
1689916609
let a: i8x8 = i8x8::new(0, 2, 4, 6, 8, 10, 12, 14);

0 commit comments

Comments
 (0)