Skip to content

Commit bfc1839

Browse files
authored
Merge pull request #1906 from folkertdev/arm-roundeven
use `llvm.roundeven` on arm
2 parents fd2e200 + e19c027 commit bfc1839

File tree

2 files changed

+6
-14
lines changed

2 files changed

+6
-14
lines changed

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

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -58256,10 +58256,9 @@ pub fn vrhaddq_u32(a: uint32x4_t, b: uint32x4_t) -> uint32x4_t {
5825658256
pub fn vrndn_f16(a: float16x4_t) -> float16x4_t {
5825758257
unsafe extern "unadjusted" {
5825858258
#[cfg_attr(
58259-
any(target_arch = "aarch64", target_arch = "arm64ec"),
58259+
any(target_arch = "aarch64", target_arch = "arm64ec", target_arch = "arm"),
5826058260
link_name = "llvm.roundeven.v4f16"
5826158261
)]
58262-
#[cfg_attr(target_arch = "arm", link_name = "llvm.arm.neon.vrintn.v4f16")]
5826358262
fn _vrndn_f16(a: float16x4_t) -> float16x4_t;
5826458263
}
5826558264
unsafe { _vrndn_f16(a) }
@@ -58279,10 +58278,9 @@ pub fn vrndn_f16(a: float16x4_t) -> float16x4_t {
5827958278
pub fn vrndnq_f16(a: float16x8_t) -> float16x8_t {
5828058279
unsafe extern "unadjusted" {
5828158280
#[cfg_attr(
58282-
any(target_arch = "aarch64", target_arch = "arm64ec"),
58281+
any(target_arch = "aarch64", target_arch = "arm64ec", target_arch = "arm"),
5828358282
link_name = "llvm.roundeven.v8f16"
5828458283
)]
58285-
#[cfg_attr(target_arch = "arm", link_name = "llvm.arm.neon.vrintn.v8f16")]
5828658284
fn _vrndnq_f16(a: float16x8_t) -> float16x8_t;
5828758285
}
5828858286
unsafe { _vrndnq_f16(a) }
@@ -58308,10 +58306,9 @@ pub fn vrndnq_f16(a: float16x8_t) -> float16x8_t {
5830858306
pub fn vrndn_f32(a: float32x2_t) -> float32x2_t {
5830958307
unsafe extern "unadjusted" {
5831058308
#[cfg_attr(
58311-
any(target_arch = "aarch64", target_arch = "arm64ec"),
58309+
any(target_arch = "aarch64", target_arch = "arm64ec", target_arch = "arm"),
5831258310
link_name = "llvm.roundeven.v2f32"
5831358311
)]
58314-
#[cfg_attr(target_arch = "arm", link_name = "llvm.arm.neon.vrintn.v2f32")]
5831558312
fn _vrndn_f32(a: float32x2_t) -> float32x2_t;
5831658313
}
5831758314
unsafe { _vrndn_f32(a) }
@@ -58337,10 +58334,9 @@ pub fn vrndn_f32(a: float32x2_t) -> float32x2_t {
5833758334
pub fn vrndnq_f32(a: float32x4_t) -> float32x4_t {
5833858335
unsafe extern "unadjusted" {
5833958336
#[cfg_attr(
58340-
any(target_arch = "aarch64", target_arch = "arm64ec"),
58337+
any(target_arch = "aarch64", target_arch = "arm64ec", target_arch = "arm"),
5834158338
link_name = "llvm.roundeven.v4f32"
5834258339
)]
58343-
#[cfg_attr(target_arch = "arm", link_name = "llvm.arm.neon.vrintn.v4f32")]
5834458340
fn _vrndnq_f32(a: float32x4_t) -> float32x4_t;
5834558341
}
5834658342
unsafe { _vrndnq_f32(a) }

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

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2486,9 +2486,7 @@ intrinsics:
24862486
name: "llvm.frinn.{neon_type}"
24872487
links:
24882488
- link: "llvm.roundeven.{neon_type}"
2489-
arch: aarch64,arm64ec
2490-
- link: "llvm.arm.neon.vrintn.{neon_type}"
2491-
arch: arm
2489+
arch: aarch64,arm64ec,arm
24922490

24932491
- name: "vrndn{neon_type.no}"
24942492
doc: "Floating-point round to integral, to nearest with ties to even"
@@ -2510,9 +2508,7 @@ intrinsics:
25102508
name: "llvm.frinn.{neon_type}"
25112509
links:
25122510
- link: "llvm.roundeven.{neon_type}"
2513-
arch: aarch64,arm64ec
2514-
- link: "llvm.arm.neon.vrintn.{neon_type}"
2515-
arch: arm
2511+
arch: aarch64,arm64ec,arm
25162512

25172513
- name: "vqadd{neon_type.no}"
25182514
doc: Saturating add

0 commit comments

Comments
 (0)