Skip to content

Commit 4827153

Browse files
committed
use splat for the aarch64/arm dup intrinsics
1 parent 8531b8c commit 4827153

File tree

2 files changed

+44
-67
lines changed

2 files changed

+44
-67
lines changed

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

Lines changed: 20 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -14322,8 +14322,7 @@ pub unsafe fn vld1q_dup_f16(ptr: *const f16) -> float16x8_t {
1432214322
unstable(feature = "stdarch_arm_neon_intrinsics", issue = "111800")
1432314323
)]
1432414324
pub unsafe fn vld1_dup_f32(ptr: *const f32) -> float32x2_t {
14325-
let x = vld1_lane_f32::<0>(ptr, transmute(f32x2::splat(0.0)));
14326-
simd_shuffle!(x, x, [0, 0])
14325+
transmute(f32x2::splat(*ptr))
1432714326
}
1432814327
#[doc = "Load one single-element structure and Replicate to all lanes (of one register)."]
1432914328
#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vld1_dup_p16)"]
@@ -14346,8 +14345,7 @@ pub unsafe fn vld1_dup_f32(ptr: *const f32) -> float32x2_t {
1434614345
unstable(feature = "stdarch_arm_neon_intrinsics", issue = "111800")
1434714346
)]
1434814347
pub unsafe fn vld1_dup_p16(ptr: *const p16) -> poly16x4_t {
14349-
let x = vld1_lane_p16::<0>(ptr, transmute(u16x4::splat(0)));
14350-
simd_shuffle!(x, x, [0, 0, 0, 0])
14348+
transmute(u16x4::splat(*ptr))
1435114349
}
1435214350
#[doc = "Load one single-element structure and Replicate to all lanes (of one register)."]
1435314351
#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vld1_dup_p8)"]
@@ -14370,8 +14368,7 @@ pub unsafe fn vld1_dup_p16(ptr: *const p16) -> poly16x4_t {
1437014368
unstable(feature = "stdarch_arm_neon_intrinsics", issue = "111800")
1437114369
)]
1437214370
pub unsafe fn vld1_dup_p8(ptr: *const p8) -> poly8x8_t {
14373-
let x = vld1_lane_p8::<0>(ptr, transmute(u8x8::splat(0)));
14374-
simd_shuffle!(x, x, [0, 0, 0, 0, 0, 0, 0, 0])
14371+
transmute(u8x8::splat(*ptr))
1437514372
}
1437614373
#[doc = "Load one single-element structure and Replicate to all lanes (of one register)."]
1437714374
#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vld1_dup_s16)"]
@@ -14394,8 +14391,7 @@ pub unsafe fn vld1_dup_p8(ptr: *const p8) -> poly8x8_t {
1439414391
unstable(feature = "stdarch_arm_neon_intrinsics", issue = "111800")
1439514392
)]
1439614393
pub unsafe fn vld1_dup_s16(ptr: *const i16) -> int16x4_t {
14397-
let x = vld1_lane_s16::<0>(ptr, transmute(i16x4::splat(0)));
14398-
simd_shuffle!(x, x, [0, 0, 0, 0])
14394+
transmute(i16x4::splat(*ptr))
1439914395
}
1440014396
#[doc = "Load one single-element structure and Replicate to all lanes (of one register)."]
1440114397
#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vld1_dup_s32)"]
@@ -14418,8 +14414,7 @@ pub unsafe fn vld1_dup_s16(ptr: *const i16) -> int16x4_t {
1441814414
unstable(feature = "stdarch_arm_neon_intrinsics", issue = "111800")
1441914415
)]
1442014416
pub unsafe fn vld1_dup_s32(ptr: *const i32) -> int32x2_t {
14421-
let x = vld1_lane_s32::<0>(ptr, transmute(i32x2::splat(0)));
14422-
simd_shuffle!(x, x, [0, 0])
14417+
transmute(i32x2::splat(*ptr))
1442314418
}
1442414419
#[doc = "Load one single-element structure and Replicate to all lanes (of one register)."]
1442514420
#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vld1_dup_s8)"]
@@ -14442,8 +14437,7 @@ pub unsafe fn vld1_dup_s32(ptr: *const i32) -> int32x2_t {
1444214437
unstable(feature = "stdarch_arm_neon_intrinsics", issue = "111800")
1444314438
)]
1444414439
pub unsafe fn vld1_dup_s8(ptr: *const i8) -> int8x8_t {
14445-
let x = vld1_lane_s8::<0>(ptr, transmute(i8x8::splat(0)));
14446-
simd_shuffle!(x, x, [0, 0, 0, 0, 0, 0, 0, 0])
14440+
transmute(i8x8::splat(*ptr))
1444714441
}
1444814442
#[doc = "Load one single-element structure and Replicate to all lanes (of one register)."]
1444914443
#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vld1_dup_u16)"]
@@ -14466,8 +14460,7 @@ pub unsafe fn vld1_dup_s8(ptr: *const i8) -> int8x8_t {
1446614460
unstable(feature = "stdarch_arm_neon_intrinsics", issue = "111800")
1446714461
)]
1446814462
pub unsafe fn vld1_dup_u16(ptr: *const u16) -> uint16x4_t {
14469-
let x = vld1_lane_u16::<0>(ptr, transmute(u16x4::splat(0)));
14470-
simd_shuffle!(x, x, [0, 0, 0, 0])
14463+
transmute(u16x4::splat(*ptr))
1447114464
}
1447214465
#[doc = "Load one single-element structure and Replicate to all lanes (of one register)."]
1447314466
#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vld1_dup_u32)"]
@@ -14490,8 +14483,7 @@ pub unsafe fn vld1_dup_u16(ptr: *const u16) -> uint16x4_t {
1449014483
unstable(feature = "stdarch_arm_neon_intrinsics", issue = "111800")
1449114484
)]
1449214485
pub unsafe fn vld1_dup_u32(ptr: *const u32) -> uint32x2_t {
14493-
let x = vld1_lane_u32::<0>(ptr, transmute(u32x2::splat(0)));
14494-
simd_shuffle!(x, x, [0, 0])
14486+
transmute(u32x2::splat(*ptr))
1449514487
}
1449614488
#[doc = "Load one single-element structure and Replicate to all lanes (of one register)."]
1449714489
#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vld1_dup_u8)"]
@@ -14514,8 +14506,7 @@ pub unsafe fn vld1_dup_u32(ptr: *const u32) -> uint32x2_t {
1451414506
unstable(feature = "stdarch_arm_neon_intrinsics", issue = "111800")
1451514507
)]
1451614508
pub unsafe fn vld1_dup_u8(ptr: *const u8) -> uint8x8_t {
14517-
let x = vld1_lane_u8::<0>(ptr, transmute(u8x8::splat(0)));
14518-
simd_shuffle!(x, x, [0, 0, 0, 0, 0, 0, 0, 0])
14509+
transmute(u8x8::splat(*ptr))
1451914510
}
1452014511
#[doc = "Load one single-element structure and Replicate to all lanes (of one register)."]
1452114512
#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vld1q_dup_f32)"]
@@ -14538,8 +14529,7 @@ pub unsafe fn vld1_dup_u8(ptr: *const u8) -> uint8x8_t {
1453814529
unstable(feature = "stdarch_arm_neon_intrinsics", issue = "111800")
1453914530
)]
1454014531
pub unsafe fn vld1q_dup_f32(ptr: *const f32) -> float32x4_t {
14541-
let x = vld1q_lane_f32::<0>(ptr, transmute(f32x4::splat(0.0)));
14542-
simd_shuffle!(x, x, [0, 0, 0, 0])
14532+
transmute(f32x4::splat(*ptr))
1454314533
}
1454414534
#[doc = "Load one single-element structure and Replicate to all lanes (of one register)."]
1454514535
#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vld1q_dup_p16)"]
@@ -14562,8 +14552,7 @@ pub unsafe fn vld1q_dup_f32(ptr: *const f32) -> float32x4_t {
1456214552
unstable(feature = "stdarch_arm_neon_intrinsics", issue = "111800")
1456314553
)]
1456414554
pub unsafe fn vld1q_dup_p16(ptr: *const p16) -> poly16x8_t {
14565-
let x = vld1q_lane_p16::<0>(ptr, transmute(u16x8::splat(0)));
14566-
simd_shuffle!(x, x, [0, 0, 0, 0, 0, 0, 0, 0])
14555+
transmute(u16x8::splat(*ptr))
1456714556
}
1456814557
#[doc = "Load one single-element structure and Replicate to all lanes (of one register)."]
1456914558
#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vld1q_dup_p8)"]
@@ -14586,8 +14575,7 @@ pub unsafe fn vld1q_dup_p16(ptr: *const p16) -> poly16x8_t {
1458614575
unstable(feature = "stdarch_arm_neon_intrinsics", issue = "111800")
1458714576
)]
1458814577
pub unsafe fn vld1q_dup_p8(ptr: *const p8) -> poly8x16_t {
14589-
let x = vld1q_lane_p8::<0>(ptr, transmute(u8x16::splat(0)));
14590-
simd_shuffle!(x, x, [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0])
14578+
transmute(u8x16::splat(*ptr))
1459114579
}
1459214580
#[doc = "Load one single-element structure and Replicate to all lanes (of one register)."]
1459314581
#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vld1q_dup_s16)"]
@@ -14610,8 +14598,7 @@ pub unsafe fn vld1q_dup_p8(ptr: *const p8) -> poly8x16_t {
1461014598
unstable(feature = "stdarch_arm_neon_intrinsics", issue = "111800")
1461114599
)]
1461214600
pub unsafe fn vld1q_dup_s16(ptr: *const i16) -> int16x8_t {
14613-
let x = vld1q_lane_s16::<0>(ptr, transmute(i16x8::splat(0)));
14614-
simd_shuffle!(x, x, [0, 0, 0, 0, 0, 0, 0, 0])
14601+
transmute(i16x8::splat(*ptr))
1461514602
}
1461614603
#[doc = "Load one single-element structure and Replicate to all lanes (of one register)."]
1461714604
#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vld1q_dup_s32)"]
@@ -14634,8 +14621,7 @@ pub unsafe fn vld1q_dup_s16(ptr: *const i16) -> int16x8_t {
1463414621
unstable(feature = "stdarch_arm_neon_intrinsics", issue = "111800")
1463514622
)]
1463614623
pub unsafe fn vld1q_dup_s32(ptr: *const i32) -> int32x4_t {
14637-
let x = vld1q_lane_s32::<0>(ptr, transmute(i32x4::splat(0)));
14638-
simd_shuffle!(x, x, [0, 0, 0, 0])
14624+
transmute(i32x4::splat(*ptr))
1463914625
}
1464014626
#[doc = "Load one single-element structure and Replicate to all lanes (of one register)."]
1464114627
#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vld1q_dup_s64)"]
@@ -14658,8 +14644,7 @@ pub unsafe fn vld1q_dup_s32(ptr: *const i32) -> int32x4_t {
1465814644
unstable(feature = "stdarch_arm_neon_intrinsics", issue = "111800")
1465914645
)]
1466014646
pub unsafe fn vld1q_dup_s64(ptr: *const i64) -> int64x2_t {
14661-
let x = vld1q_lane_s64::<0>(ptr, transmute(i64x2::splat(0)));
14662-
simd_shuffle!(x, x, [0, 0])
14647+
transmute(i64x2::splat(*ptr))
1466314648
}
1466414649
#[doc = "Load one single-element structure and Replicate to all lanes (of one register)."]
1466514650
#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vld1q_dup_s8)"]
@@ -14682,8 +14667,7 @@ pub unsafe fn vld1q_dup_s64(ptr: *const i64) -> int64x2_t {
1468214667
unstable(feature = "stdarch_arm_neon_intrinsics", issue = "111800")
1468314668
)]
1468414669
pub unsafe fn vld1q_dup_s8(ptr: *const i8) -> int8x16_t {
14685-
let x = vld1q_lane_s8::<0>(ptr, transmute(i8x16::splat(0)));
14686-
simd_shuffle!(x, x, [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0])
14670+
transmute(i8x16::splat(*ptr))
1468714671
}
1468814672
#[doc = "Load one single-element structure and Replicate to all lanes (of one register)."]
1468914673
#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vld1q_dup_u16)"]
@@ -14706,8 +14690,7 @@ pub unsafe fn vld1q_dup_s8(ptr: *const i8) -> int8x16_t {
1470614690
unstable(feature = "stdarch_arm_neon_intrinsics", issue = "111800")
1470714691
)]
1470814692
pub unsafe fn vld1q_dup_u16(ptr: *const u16) -> uint16x8_t {
14709-
let x = vld1q_lane_u16::<0>(ptr, transmute(u16x8::splat(0)));
14710-
simd_shuffle!(x, x, [0, 0, 0, 0, 0, 0, 0, 0])
14693+
transmute(u16x8::splat(*ptr))
1471114694
}
1471214695
#[doc = "Load one single-element structure and Replicate to all lanes (of one register)."]
1471314696
#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vld1q_dup_u32)"]
@@ -14730,8 +14713,7 @@ pub unsafe fn vld1q_dup_u16(ptr: *const u16) -> uint16x8_t {
1473014713
unstable(feature = "stdarch_arm_neon_intrinsics", issue = "111800")
1473114714
)]
1473214715
pub unsafe fn vld1q_dup_u32(ptr: *const u32) -> uint32x4_t {
14733-
let x = vld1q_lane_u32::<0>(ptr, transmute(u32x4::splat(0)));
14734-
simd_shuffle!(x, x, [0, 0, 0, 0])
14716+
transmute(u32x4::splat(*ptr))
1473514717
}
1473614718
#[doc = "Load one single-element structure and Replicate to all lanes (of one register)."]
1473714719
#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vld1q_dup_u64)"]
@@ -14754,8 +14736,7 @@ pub unsafe fn vld1q_dup_u32(ptr: *const u32) -> uint32x4_t {
1475414736
unstable(feature = "stdarch_arm_neon_intrinsics", issue = "111800")
1475514737
)]
1475614738
pub unsafe fn vld1q_dup_u64(ptr: *const u64) -> uint64x2_t {
14757-
let x = vld1q_lane_u64::<0>(ptr, transmute(u64x2::splat(0)));
14758-
simd_shuffle!(x, x, [0, 0])
14739+
transmute(u64x2::splat(*ptr))
1475914740
}
1476014741
#[doc = "Load one single-element structure and Replicate to all lanes (of one register)."]
1476114742
#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vld1q_dup_u8)"]
@@ -14778,8 +14759,7 @@ pub unsafe fn vld1q_dup_u64(ptr: *const u64) -> uint64x2_t {
1477814759
unstable(feature = "stdarch_arm_neon_intrinsics", issue = "111800")
1477914760
)]
1478014761
pub unsafe fn vld1q_dup_u8(ptr: *const u8) -> uint8x16_t {
14781-
let x = vld1q_lane_u8::<0>(ptr, transmute(u8x16::splat(0)));
14782-
simd_shuffle!(x, x, [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0])
14762+
transmute(u8x16::splat(*ptr))
1478314763
}
1478414764
#[doc = "Load one single-element structure and Replicate to all lanes (of one register)."]
1478514765
#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vld1_dup_p64)"]

crates/stdarch-gen-arm/spec/neon/arm_shared.spec.yml

Lines changed: 24 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -14138,6 +14138,7 @@ intrinsics:
1413814138
doc: "Load one single-element structure and Replicate to all lanes (of one register)."
1413914139
arguments: ["ptr: {type[1]}"]
1414014140
return_type: "{neon_type[2]}"
14141+
big_endian_inverse: false
1414114142
attr:
1414214143
- *neon-v7
1414314144
- FnCall: [cfg_attr, [*test-is-arm, { FnCall: [assert_instr, ['"{type[3]}"']] } ]]
@@ -14147,40 +14148,36 @@ intrinsics:
1414714148
safety:
1414814149
unsafe: [neon]
1414914150
types:
14150-
- ['vld1_dup_s8', '*const i8', 'int8x8_t', 'vld1.8', 'ld1r', 'vld1_lane_s8::<0>', 'i8x8::splat(0)', '[0, 0, 0, 0, 0, 0, 0, 0]']
14151-
- ['vld1_dup_u8', '*const u8', 'uint8x8_t', 'vld1.8', 'ld1r', 'vld1_lane_u8::<0>', 'u8x8::splat(0)', '[0, 0, 0, 0, 0, 0, 0, 0]']
14152-
- ['vld1_dup_p8', '*const p8', 'poly8x8_t', 'vld1.8', 'ld1r', 'vld1_lane_p8::<0>', 'u8x8::splat(0)', '[0, 0, 0, 0, 0, 0, 0, 0]']
14151+
- ['vld1_dup_s8', '*const i8', 'int8x8_t', 'vld1.8', 'ld1r', 'i8x8::splat']
14152+
- ['vld1_dup_u8', '*const u8', 'uint8x8_t', 'vld1.8', 'ld1r', 'u8x8::splat']
14153+
- ['vld1_dup_p8', '*const p8', 'poly8x8_t', 'vld1.8', 'ld1r', 'u8x8::splat']
1415314154

14154-
- ['vld1q_dup_s8', '*const i8', 'int8x16_t', 'vld1.8', 'ld1r', 'vld1q_lane_s8::<0>', 'i8x16::splat(0)', '[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]']
14155-
- ['vld1q_dup_u8', '*const u8', 'uint8x16_t', 'vld1.8', 'ld1r', 'vld1q_lane_u8::<0>', 'u8x16::splat(0)', '[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]']
14156-
- ['vld1q_dup_p8', '*const p8', 'poly8x16_t', 'vld1.8', 'ld1r', 'vld1q_lane_p8::<0>', 'u8x16::splat(0)', '[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]']
14155+
- ['vld1q_dup_s8', '*const i8', 'int8x16_t', 'vld1.8', 'ld1r', 'i8x16::splat']
14156+
- ['vld1q_dup_u8', '*const u8', 'uint8x16_t', 'vld1.8', 'ld1r', 'u8x16::splat']
14157+
- ['vld1q_dup_p8', '*const p8', 'poly8x16_t', 'vld1.8', 'ld1r', 'u8x16::splat']
1415714158

14158-
- ['vld1_dup_s16', '*const i16', 'int16x4_t', 'vld1.16', 'ld1r', 'vld1_lane_s16::<0>', 'i16x4::splat(0)', '[0, 0, 0, 0]']
14159-
- ['vld1_dup_u16', '*const u16', 'uint16x4_t', 'vld1.16', 'ld1r', 'vld1_lane_u16::<0>', 'u16x4::splat(0)', '[0, 0, 0, 0]']
14160-
- ['vld1_dup_p16', '*const p16', 'poly16x4_t', 'vld1.16', 'ld1r', 'vld1_lane_p16::<0>', 'u16x4::splat(0)', '[0, 0, 0, 0]']
14159+
- ['vld1_dup_s16', '*const i16', 'int16x4_t', 'vld1.16', 'ld1r', 'i16x4::splat']
14160+
- ['vld1_dup_u16', '*const u16', 'uint16x4_t', 'vld1.16', 'ld1r', 'u16x4::splat']
14161+
- ['vld1_dup_p16', '*const p16', 'poly16x4_t', 'vld1.16', 'ld1r', 'u16x4::splat']
1416114162

14162-
- ['vld1q_dup_s16', '*const i16', 'int16x8_t', 'vld1.16', 'ld1r', 'vld1q_lane_s16::<0>', 'i16x8::splat(0)', '[0, 0, 0, 0, 0, 0, 0, 0]']
14163-
- ['vld1q_dup_u16', '*const u16', 'uint16x8_t', 'vld1.16', 'ld1r', 'vld1q_lane_u16::<0>', 'u16x8::splat(0)', '[0, 0, 0, 0, 0, 0, 0, 0]']
14164-
- ['vld1q_dup_p16', '*const p16', 'poly16x8_t', 'vld1.16', 'ld1r', 'vld1q_lane_p16::<0>', 'u16x8::splat(0)', '[0, 0, 0, 0, 0, 0, 0, 0]']
14163+
- ['vld1q_dup_s16', '*const i16', 'int16x8_t', 'vld1.16', 'ld1r', 'i16x8::splat']
14164+
- ['vld1q_dup_u16', '*const u16', 'uint16x8_t', 'vld1.16', 'ld1r', 'u16x8::splat']
14165+
- ['vld1q_dup_p16', '*const p16', 'poly16x8_t', 'vld1.16', 'ld1r', 'u16x8::splat']
1416514166

14166-
- ['vld1_dup_s32', '*const i32', 'int32x2_t', 'vld1.32', 'ld1r', 'vld1_lane_s32::<0>', 'i32x2::splat(0)', '[0, 0]']
14167-
- ['vld1_dup_u32', '*const u32', 'uint32x2_t', 'vld1.32', 'ld1r', 'vld1_lane_u32::<0>', 'u32x2::splat(0)', '[0, 0]']
14168-
- ['vld1_dup_f32', '*const f32', 'float32x2_t', 'vld1.32', 'ld1r', 'vld1_lane_f32::<0>', 'f32x2::splat(0.0)', '[0, 0]']
14167+
- ['vld1_dup_s32', '*const i32', 'int32x2_t', 'vld1.32', 'ld1r', 'i32x2::splat']
14168+
- ['vld1_dup_u32', '*const u32', 'uint32x2_t', 'vld1.32', 'ld1r', 'u32x2::splat']
14169+
- ['vld1_dup_f32', '*const f32', 'float32x2_t', 'vld1.32', 'ld1r', 'f32x2::splat']
1416914170

14170-
- ['vld1q_dup_s32', '*const i32', 'int32x4_t', 'vld1.32', 'ld1r', 'vld1q_lane_s32::<0>', 'i32x4::splat(0)', '[0, 0, 0, 0]']
14171-
- ['vld1q_dup_u32', '*const u32', 'uint32x4_t', 'vld1.32', 'ld1r', 'vld1q_lane_u32::<0>', 'u32x4::splat(0)', '[0, 0, 0, 0]']
14172-
- ['vld1q_dup_f32', '*const f32', 'float32x4_t', 'vld1.32', 'ld1r', 'vld1q_lane_f32::<0>', 'f32x4::splat(0.0)', '[0, 0, 0, 0]']
14171+
- ['vld1q_dup_s32', '*const i32', 'int32x4_t', 'vld1.32', 'ld1r', 'i32x4::splat']
14172+
- ['vld1q_dup_u32', '*const u32', 'uint32x4_t', 'vld1.32', 'ld1r', 'u32x4::splat']
14173+
- ['vld1q_dup_f32', '*const f32', 'float32x4_t', 'vld1.32', 'ld1r', 'f32x4::splat']
1417314174

14174-
- ['vld1q_dup_s64', '*const i64', 'int64x2_t', 'vldr', 'ld1', 'vld1q_lane_s64::<0>', 'i64x2::splat(0)', '[0, 0]']
14175-
- ['vld1q_dup_u64', '*const u64', 'uint64x2_t', 'vldr', 'ld1', 'vld1q_lane_u64::<0>', 'u64x2::splat(0)', '[0, 0]']
14175+
- ['vld1q_dup_s64', '*const i64', 'int64x2_t', 'vldr', 'ld1', 'i64x2::splat']
14176+
- ['vld1q_dup_u64', '*const u64', 'uint64x2_t', 'vldr', 'ld1', 'u64x2::splat']
1417614177
compose:
14177-
- Let:
14178-
- x
14179-
- FnCall:
14180-
- '{type[5]}'
14181-
- - ptr
14182-
- FnCall: [transmute, ['{type[6]}']]
14183-
- FnCall: ['simd_shuffle!', [x, x, '{type[7]}']]
14178+
- FnCall:
14179+
- transmute
14180+
- - FnCall: ['{type[5]}', ["*ptr"]]
1418414181

1418514182
- name: "{type[0]}"
1418614183
doc: "Absolute difference and accumulate (64-bit)"

0 commit comments

Comments
 (0)