Auto merge of #141964 - sayantn:update-stdarch, r=Amanieu · rust-lang/rust@5e0bdaa (original) (raw)

9 files changed

lines changed

Original file line number Diff line number Diff line change
@@ -233,7 +233,7 @@ unsafe fn test_vaddvq_f32() {
233 233
234 234 #[cfg(target_arch = "aarch64")]
235 235 unsafe fn test_vrndnq_f32() {
236 -// AArch64 llvm intrinsic: llvm.aarch64.neon.frintn.v4f32
236 +// llvm intrinsic: llvm.roundeven.v4f32
237 237 let a = f32x4::from([0.1, -1.9, 4.5, 5.5]);
238 238 let e = f32x4::from([0., -2., 4., 6.]);
239 239 let r: f32x4 = transmute(vrndnq_f32(transmute(a)));
Original file line number Diff line number Diff line change
@@ -62,6 +62,14 @@ pub(crate) fn codegen_llvm_intrinsic_call<'tcx>(
62 62 });
63 63 }
64 64
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 +
65 73 _ => {
66 74 fx.tcx
67 75 .dcx()
Original file line number Diff line number Diff line change
@@ -264,14 +264,6 @@ pub(super) fn codegen_aarch64_llvm_intrinsic_call<'tcx>(
264 264 simd_reduce(fx, v, None, ret, &|fx, _ty, a, b
265 265 }
266 266
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 -
275 267 _ if intrinsic.starts_with("llvm.aarch64.neon.smaxv.i") => {
276 268 intrinsic_args!(fx, args => (v); intrinsic);
277 269
Original file line number Diff line number Diff line change
@@ -2,8 +2,6 @@
2 2 //@only-target: x86_64 i686
3 3 //@compile-flags: -C target-feature=+aes,+vaes,+avx512f
4 4
5 -#![feature(stdarch_x86_avx512)]
6 -
7 5 use core::mem::transmute;
8 6 #[cfg(target_arch = "x86")]
9 7 use std::arch::x86::*;
Original file line number Diff line number Diff line change
@@ -2,8 +2,6 @@
2 2 //@only-target: x86_64 i686
3 3 //@compile-flags: -C target-feature=+avx512f,+avx512vl,+avx512bitalg,+avx512vpopcntdq
4 4
5 -#![feature(stdarch_x86_avx512)]
6 -
7 5 #[cfg(target_arch = "x86")]
8 6 use std::arch::x86::*;
9 7 #[cfg(target_arch = "x86_64")]
Original file line number Diff line number Diff line change
@@ -6,7 +6,6 @@
6 6 // be interpreted as integers; signedness does not make sense for them, but
7 7 // __mXXXi happens to be defined in terms of signed integers.
8 8 #![allow(overflowing_literals)]
9 -#![feature(stdarch_x86_avx512)]
10 9
11 10 #[cfg(target_arch = "x86")]
12 11 use std::arch::x86::*;
Original file line number Diff line number Diff line change
@@ -8,7 +8,6 @@
8 8 // be interpreted as integers; signedness does not make sense for them, but
9 9 // __mXXXi happens to be defined in terms of signed integers.
10 10 #![allow(overflowing_literals)]
11 -#![feature(stdarch_x86_avx512)]
12 11
13 12 #[cfg(target_arch = "x86")]
14 13 use std::arch::x86::*;
Original file line number Diff line number Diff line change
@@ -2,8 +2,6 @@
2 2 //@ only-x86_64
3 3 //@ compile-flags: --crate-type=lib -C target-cpu=skylake
4 4
5 -#![feature(stdarch_x86_avx512)]
6 -
7 5 use std::arch::x86_64::*;
8 6
9 7 #[target_feature(enable = "avx512f")]