Skip to content

Commit d91c1af

Browse files
committed
Add impl for llvm.roundeven in cg_clif
- remove unused `llvm.aarch64.neon.frintn` from cg_clif
1 parent 41fdc80 commit d91c1af

File tree

3 files changed

+9
-9
lines changed

3 files changed

+9
-9
lines changed

compiler/rustc_codegen_cranelift/example/neon.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -233,7 +233,7 @@ unsafe fn test_vaddvq_f32() {
233233

234234
#[cfg(target_arch = "aarch64")]
235235
unsafe fn test_vrndnq_f32() {
236-
// AArch64 llvm intrinsic: llvm.aarch64.neon.frintn.v4f32
236+
// llvm intrinsic: llvm.roundeven.v4f32
237237
let a = f32x4::from([0.1, -1.9, 4.5, 5.5]);
238238
let e = f32x4::from([0., -2., 4., 6.]);
239239
let r: f32x4 = transmute(vrndnq_f32(transmute(a)));

compiler/rustc_codegen_cranelift/src/intrinsics/llvm.rs

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,14 @@ pub(crate) fn codegen_llvm_intrinsic_call<'tcx>(
6262
});
6363
}
6464

65+
_ if intrinsic.starts_with("llvm.roundeven.v") => {
66+
intrinsic_args!(fx, args => (v); intrinsic);
67+
68+
simd_for_each_lane(fx, v, ret, &|fx, _lane_ty, _res_lane_ty, lane| {
69+
fx.bcx.ins().nearest(lane)
70+
});
71+
}
72+
6573
_ => {
6674
fx.tcx
6775
.dcx()

compiler/rustc_codegen_cranelift/src/intrinsics/llvm_aarch64.rs

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -264,14 +264,6 @@ pub(super) fn codegen_aarch64_llvm_intrinsic_call<'tcx>(
264264
simd_reduce(fx, v, None, ret, &|fx, _ty, a, b| fx.bcx.ins().fadd(a, b));
265265
}
266266

267-
_ if intrinsic.starts_with("llvm.aarch64.neon.frintn.v") => {
268-
intrinsic_args!(fx, args => (v); intrinsic);
269-
270-
simd_for_each_lane(fx, v, ret, &|fx, _lane_ty, _res_lane_ty, lane| {
271-
fx.bcx.ins().nearest(lane)
272-
});
273-
}
274-
275267
_ if intrinsic.starts_with("llvm.aarch64.neon.smaxv.i") => {
276268
intrinsic_args!(fx, args => (v); intrinsic);
277269

0 commit comments

Comments
 (0)