Skip to content

Commit

Permalink
fix use of platform_intrinsics in tests
Browse files Browse the repository at this point in the history
  • Loading branch information
RalfJung committed Feb 25, 2024
1 parent cc3df0a commit c1d0e48
Show file tree
Hide file tree
Showing 90 changed files with 236 additions and 277 deletions.
7 changes: 2 additions & 5 deletions compiler/rustc_codegen_cranelift/example/float-minmax-pass.rs
Original file line number Diff line number Diff line change
Expand Up @@ -4,17 +4,14 @@

// Test that the simd_f{min,max} intrinsics produce the correct results.

#![feature(repr_simd, intrinsics)]
#![feature(repr_simd, core_intrinsics)]
#![allow(non_camel_case_types)]

#[repr(simd)]
#[derive(Copy, Clone, PartialEq, Debug)]
struct f32x4(pub f32, pub f32, pub f32, pub f32);

extern "intrinsic" {
fn simd_fmin<T>(x: T, y: T) -> T;
fn simd_fmax<T>(x: T, y: T) -> T;
}
use std::intrinsics::simd::*;

fn main() {
let x = f32x4(1.0, 2.0, 3.0, 4.0);
Expand Down
6 changes: 2 additions & 4 deletions src/tools/miri/tests/fail/intrinsics/simd-div-by-zero.rs
Original file line number Diff line number Diff line change
@@ -1,8 +1,6 @@
#![feature(platform_intrinsics, repr_simd)]
#![feature(core_intrinsics, repr_simd)]

extern "platform-intrinsic" {
pub(crate) fn simd_div<T>(x: T, y: T) -> T;
}
use std::intrinsics::simd::simd_div;

#[repr(simd)]
#[allow(non_camel_case_types)]
Expand Down
6 changes: 2 additions & 4 deletions src/tools/miri/tests/fail/intrinsics/simd-div-overflow.rs
Original file line number Diff line number Diff line change
@@ -1,8 +1,6 @@
#![feature(platform_intrinsics, repr_simd)]
#![feature(core_intrinsics, repr_simd)]

extern "platform-intrinsic" {
pub(crate) fn simd_div<T>(x: T, y: T) -> T;
}
use std::intrinsics::simd::simd_div;

#[repr(simd)]
#[allow(non_camel_case_types)]
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,6 @@
#![feature(platform_intrinsics, repr_simd)]
#![feature(core_intrinsics, repr_simd)]

extern "platform-intrinsic" {
pub(crate) fn simd_reduce_any<T>(x: T) -> bool;
}
use std::intrinsics::simd::simd_reduce_any;

#[repr(simd)]
#[allow(non_camel_case_types)]
Expand Down
6 changes: 2 additions & 4 deletions src/tools/miri/tests/fail/intrinsics/simd-rem-by-zero.rs
Original file line number Diff line number Diff line change
@@ -1,8 +1,6 @@
#![feature(platform_intrinsics, repr_simd)]
#![feature(core_intrinsics, repr_simd)]

extern "platform-intrinsic" {
pub(crate) fn simd_rem<T>(x: T, y: T) -> T;
}
use std::intrinsics::simd::simd_rem;

#[repr(simd)]
#[allow(non_camel_case_types)]
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,6 @@
#![feature(platform_intrinsics, repr_simd)]
#![feature(core_intrinsics, repr_simd)]

extern "platform-intrinsic" {
fn simd_select_bitmask<M, T>(m: M, yes: T, no: T) -> T;
}
use std::intrinsics::simd::simd_select_bitmask;

#[repr(simd)]
#[allow(non_camel_case_types)]
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,6 @@
#![feature(platform_intrinsics, repr_simd)]
#![feature(core_intrinsics, repr_simd)]

extern "platform-intrinsic" {
fn simd_select<M, T>(m: M, yes: T, no: T) -> T;
}
use std::intrinsics::simd::simd_select;

#[repr(simd)]
#[allow(non_camel_case_types)]
Expand Down
6 changes: 2 additions & 4 deletions src/tools/miri/tests/fail/intrinsics/simd-shl-too-far.rs
Original file line number Diff line number Diff line change
@@ -1,8 +1,6 @@
#![feature(platform_intrinsics, repr_simd)]
#![feature(core_intrinsics, repr_simd)]

extern "platform-intrinsic" {
pub(crate) fn simd_shl<T>(x: T, y: T) -> T;
}
use std::intrinsics::simd::simd_shl;

#[repr(simd)]
#[allow(non_camel_case_types)]
Expand Down
6 changes: 2 additions & 4 deletions src/tools/miri/tests/fail/intrinsics/simd-shr-too-far.rs
Original file line number Diff line number Diff line change
@@ -1,8 +1,6 @@
#![feature(platform_intrinsics, repr_simd)]
#![feature(core_intrinsics, repr_simd)]

extern "platform-intrinsic" {
pub(crate) fn simd_shr<T>(x: T, y: T) -> T;
}
use std::intrinsics::simd::simd_shr;

#[repr(simd)]
#[allow(non_camel_case_types)]
Expand Down
8 changes: 1 addition & 7 deletions src/tools/miri/tests/pass/float_nan.rs
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#![feature(float_gamma, portable_simd, core_intrinsics, platform_intrinsics)]
#![feature(float_gamma, portable_simd, core_intrinsics)]
use std::collections::HashSet;
use std::fmt;
use std::hash::Hash;
Expand Down Expand Up @@ -525,12 +525,6 @@ fn test_simd() {
use std::intrinsics::simd::*;
use std::simd::*;

extern "platform-intrinsic" {
fn simd_fsqrt<T>(x: T) -> T;
fn simd_ceil<T>(x: T) -> T;
fn simd_fma<T>(x: T, y: T, z: T) -> T;
}

let nan = F32::nan(Neg, Quiet, 0).as_f32();
check_all_outcomes(
HashSet::from_iter([F32::nan(Pos, Quiet, 0), F32::nan(Neg, Quiet, 0)]),
Expand Down
2 changes: 1 addition & 1 deletion src/tools/miri/tests/pass/portable-simd-ptrs.rs
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
// Separate test without strict provenance
//@compile-flags: -Zmiri-permissive-provenance
#![feature(portable_simd, platform_intrinsics)]
#![feature(portable_simd)]
use std::ptr;
use std::simd::prelude::*;

Expand Down
10 changes: 2 additions & 8 deletions src/tools/miri/tests/pass/portable-simd.rs
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
//@compile-flags: -Zmiri-strict-provenance
#![feature(portable_simd, platform_intrinsics, adt_const_params, inline_const, core_intrinsics)]
#![feature(portable_simd, adt_const_params, inline_const, core_intrinsics)]
#![allow(incomplete_features, internal_features)]
use std::intrinsics::simd as intrinsics;
use std::ptr;
Expand Down Expand Up @@ -216,10 +216,7 @@ fn simd_ops_i32() {
}

fn simd_mask() {
extern "platform-intrinsic" {
pub(crate) fn simd_bitmask<T, U>(x: T) -> U;
pub(crate) fn simd_select_bitmask<M, T>(m: M, yes: T, no: T) -> T;
}
use std::intrinsics::simd::*;

let intmask = Mask::from_int(i32x4::from_array([0, -1, 0, 0]));
assert_eq!(intmask, Mask::from_array([false, true, false, false]));
Expand Down Expand Up @@ -497,9 +494,6 @@ fn simd_round() {

fn simd_intrinsics() {
use intrinsics::*;
extern "platform-intrinsic" {
fn simd_shuffle_generic<T, U, const IDX: &'static [u32]>(x: T, y: T) -> U;
}

unsafe {
// Make sure simd_eq returns all-1 for `true`
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#![feature(repr_simd, platform_intrinsics)]
#![feature(repr_simd)]

#[repr(simd)]
#[derive(Copy, Clone, Debug, PartialEq)]
Expand Down
4 changes: 2 additions & 2 deletions tests/codegen/issues/issue-84268.rs
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
//@ compile-flags: -O --crate-type=rlib
#![feature(platform_intrinsics, repr_simd)]
#![feature(intrinsics, repr_simd)]

extern "platform-intrinsic" {
extern "rust-intrinsic" {
fn simd_fabs<T>(x: T) -> T;
fn simd_eq<T, U>(x: T, y: T) -> U;
}
Expand Down
4 changes: 2 additions & 2 deletions tests/codegen/simd-intrinsic/simd-intrinsic-float-abs.rs
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

#![crate_type = "lib"]

#![feature(repr_simd, platform_intrinsics)]
#![feature(repr_simd, intrinsics)]
#![allow(non_camel_case_types)]

#[repr(simd)]
Expand All @@ -25,7 +25,7 @@ pub struct f32x16(pub f32, pub f32, pub f32, pub f32,
pub f32, pub f32, pub f32, pub f32,
pub f32, pub f32, pub f32, pub f32);

extern "platform-intrinsic" {
extern "rust-intrinsic" {
fn simd_fabs<T>(x: T) -> T;
}

Expand Down
4 changes: 2 additions & 2 deletions tests/codegen/simd-intrinsic/simd-intrinsic-float-ceil.rs
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

#![crate_type = "lib"]

#![feature(repr_simd, platform_intrinsics)]
#![feature(repr_simd, intrinsics)]
#![allow(non_camel_case_types)]

#[repr(simd)]
Expand All @@ -25,7 +25,7 @@ pub struct f32x16(pub f32, pub f32, pub f32, pub f32,
pub f32, pub f32, pub f32, pub f32,
pub f32, pub f32, pub f32, pub f32);

extern "platform-intrinsic" {
extern "rust-intrinsic" {
fn simd_ceil<T>(x: T) -> T;
}

Expand Down
4 changes: 2 additions & 2 deletions tests/codegen/simd-intrinsic/simd-intrinsic-float-cos.rs
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

#![crate_type = "lib"]

#![feature(repr_simd, platform_intrinsics)]
#![feature(repr_simd, intrinsics)]
#![allow(non_camel_case_types)]

#[repr(simd)]
Expand All @@ -25,7 +25,7 @@ pub struct f32x16(pub f32, pub f32, pub f32, pub f32,
pub f32, pub f32, pub f32, pub f32,
pub f32, pub f32, pub f32, pub f32);

extern "platform-intrinsic" {
extern "rust-intrinsic" {
fn simd_fcos<T>(x: T) -> T;
}

Expand Down
4 changes: 2 additions & 2 deletions tests/codegen/simd-intrinsic/simd-intrinsic-float-exp.rs
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

#![crate_type = "lib"]

#![feature(repr_simd, platform_intrinsics)]
#![feature(repr_simd, intrinsics)]
#![allow(non_camel_case_types)]

#[repr(simd)]
Expand All @@ -25,7 +25,7 @@ pub struct f32x16(pub f32, pub f32, pub f32, pub f32,
pub f32, pub f32, pub f32, pub f32,
pub f32, pub f32, pub f32, pub f32);

extern "platform-intrinsic" {
extern "rust-intrinsic" {
fn simd_fexp<T>(x: T) -> T;
}

Expand Down
4 changes: 2 additions & 2 deletions tests/codegen/simd-intrinsic/simd-intrinsic-float-exp2.rs
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

#![crate_type = "lib"]

#![feature(repr_simd, platform_intrinsics)]
#![feature(repr_simd, intrinsics)]
#![allow(non_camel_case_types)]

#[repr(simd)]
Expand All @@ -25,7 +25,7 @@ pub struct f32x16(pub f32, pub f32, pub f32, pub f32,
pub f32, pub f32, pub f32, pub f32,
pub f32, pub f32, pub f32, pub f32);

extern "platform-intrinsic" {
extern "rust-intrinsic" {
fn simd_fexp2<T>(x: T) -> T;
}

Expand Down
4 changes: 2 additions & 2 deletions tests/codegen/simd-intrinsic/simd-intrinsic-float-floor.rs
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

#![crate_type = "lib"]

#![feature(repr_simd, platform_intrinsics)]
#![feature(repr_simd, intrinsics)]
#![allow(non_camel_case_types)]

#[repr(simd)]
Expand All @@ -25,7 +25,7 @@ pub struct f32x16(pub f32, pub f32, pub f32, pub f32,
pub f32, pub f32, pub f32, pub f32,
pub f32, pub f32, pub f32, pub f32);

extern "platform-intrinsic" {
extern "rust-intrinsic" {
fn simd_floor<T>(x: T) -> T;
}

Expand Down
4 changes: 2 additions & 2 deletions tests/codegen/simd-intrinsic/simd-intrinsic-float-fma.rs
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

#![crate_type = "lib"]

#![feature(repr_simd, platform_intrinsics)]
#![feature(repr_simd, intrinsics)]
#![allow(non_camel_case_types)]

#[repr(simd)]
Expand All @@ -25,7 +25,7 @@ pub struct f32x16(pub f32, pub f32, pub f32, pub f32,
pub f32, pub f32, pub f32, pub f32,
pub f32, pub f32, pub f32, pub f32);

extern "platform-intrinsic" {
extern "rust-intrinsic" {
fn simd_fma<T>(x: T, b: T, c: T) -> T;
}

Expand Down
4 changes: 2 additions & 2 deletions tests/codegen/simd-intrinsic/simd-intrinsic-float-fsqrt.rs
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

#![crate_type = "lib"]

#![feature(repr_simd, platform_intrinsics)]
#![feature(repr_simd, intrinsics)]
#![allow(non_camel_case_types)]

#[repr(simd)]
Expand All @@ -25,7 +25,7 @@ pub struct f32x16(pub f32, pub f32, pub f32, pub f32,
pub f32, pub f32, pub f32, pub f32,
pub f32, pub f32, pub f32, pub f32);

extern "platform-intrinsic" {
extern "rust-intrinsic" {
fn simd_fsqrt<T>(x: T) -> T;
}

Expand Down
4 changes: 2 additions & 2 deletions tests/codegen/simd-intrinsic/simd-intrinsic-float-log.rs
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

#![crate_type = "lib"]

#![feature(repr_simd, platform_intrinsics)]
#![feature(repr_simd, intrinsics)]
#![allow(non_camel_case_types)]

#[repr(simd)]
Expand All @@ -25,7 +25,7 @@ pub struct f32x16(pub f32, pub f32, pub f32, pub f32,
pub f32, pub f32, pub f32, pub f32,
pub f32, pub f32, pub f32, pub f32);

extern "platform-intrinsic" {
extern "rust-intrinsic" {
fn simd_flog<T>(x: T) -> T;
}

Expand Down
4 changes: 2 additions & 2 deletions tests/codegen/simd-intrinsic/simd-intrinsic-float-log10.rs
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

#![crate_type = "lib"]

#![feature(repr_simd, platform_intrinsics)]
#![feature(repr_simd, intrinsics)]
#![allow(non_camel_case_types)]

#[repr(simd)]
Expand All @@ -25,7 +25,7 @@ pub struct f32x16(pub f32, pub f32, pub f32, pub f32,
pub f32, pub f32, pub f32, pub f32,
pub f32, pub f32, pub f32, pub f32);

extern "platform-intrinsic" {
extern "rust-intrinsic" {
fn simd_flog10<T>(x: T) -> T;
}

Expand Down
4 changes: 2 additions & 2 deletions tests/codegen/simd-intrinsic/simd-intrinsic-float-log2.rs
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

#![crate_type = "lib"]

#![feature(repr_simd, platform_intrinsics)]
#![feature(repr_simd, intrinsics)]
#![allow(non_camel_case_types)]

#[repr(simd)]
Expand All @@ -25,7 +25,7 @@ pub struct f32x16(pub f32, pub f32, pub f32, pub f32,
pub f32, pub f32, pub f32, pub f32,
pub f32, pub f32, pub f32, pub f32);

extern "platform-intrinsic" {
extern "rust-intrinsic" {
fn simd_flog2<T>(x: T) -> T;
}

Expand Down
4 changes: 2 additions & 2 deletions tests/codegen/simd-intrinsic/simd-intrinsic-float-minmax.rs
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,14 @@

#![crate_type = "lib"]

#![feature(repr_simd, platform_intrinsics)]
#![feature(repr_simd, intrinsics)]
#![allow(non_camel_case_types)]

#[repr(simd)]
#[derive(Copy, Clone, PartialEq, Debug)]
pub struct f32x4(pub f32, pub f32, pub f32, pub f32);

extern "platform-intrinsic" {
extern "rust-intrinsic" {
fn simd_fmin<T>(x: T, y: T) -> T;
fn simd_fmax<T>(x: T, y: T) -> T;
}
Expand Down
Loading

0 comments on commit c1d0e48

Please sign in to comment.