From cf2dff2b1e3fa55fa5415d524200070d0d7aacfe Mon Sep 17 00:00:00 2001 From: Albert Larsan <74931857+albertlarsan68@users.noreply.github.com> Date: Thu, 5 Jan 2023 09:13:28 +0100 Subject: Move /src/test to /tests --- src/test/codegen/intrinsics/const_eval_select.rs | 18 ------- src/test/codegen/intrinsics/exact_div.rs | 20 -------- src/test/codegen/intrinsics/likely.rs | 30 ----------- src/test/codegen/intrinsics/mask.rs | 11 ----- src/test/codegen/intrinsics/nearby.rs | 18 ------- src/test/codegen/intrinsics/nontemporal.rs | 13 ----- src/test/codegen/intrinsics/offset_from.rs | 36 -------------- src/test/codegen/intrinsics/prefetch.rs | 63 ------------------------ src/test/codegen/intrinsics/unchecked_math.rs | 46 ----------------- src/test/codegen/intrinsics/volatile.rs | 55 --------------------- src/test/codegen/intrinsics/volatile_order.rs | 18 ------- 11 files changed, 328 deletions(-) delete mode 100644 src/test/codegen/intrinsics/const_eval_select.rs delete mode 100644 src/test/codegen/intrinsics/exact_div.rs delete mode 100644 src/test/codegen/intrinsics/likely.rs delete mode 100644 src/test/codegen/intrinsics/mask.rs delete mode 100644 src/test/codegen/intrinsics/nearby.rs delete mode 100644 src/test/codegen/intrinsics/nontemporal.rs delete mode 100644 src/test/codegen/intrinsics/offset_from.rs delete mode 100644 src/test/codegen/intrinsics/prefetch.rs delete mode 100644 src/test/codegen/intrinsics/unchecked_math.rs delete mode 100644 src/test/codegen/intrinsics/volatile.rs delete mode 100644 src/test/codegen/intrinsics/volatile_order.rs (limited to 'src/test/codegen/intrinsics') diff --git a/src/test/codegen/intrinsics/const_eval_select.rs b/src/test/codegen/intrinsics/const_eval_select.rs deleted file mode 100644 index db8a04763d3..00000000000 --- a/src/test/codegen/intrinsics/const_eval_select.rs +++ /dev/null @@ -1,18 +0,0 @@ -// compile-flags: -C no-prepopulate-passes - -#![crate_type = "lib"] -#![feature(const_eval_select)] -#![feature(core_intrinsics)] - -use std::intrinsics::const_eval_select; - -const fn foo(_: i32) -> i32 { 1 } - -#[no_mangle] -pub fn hi(n: i32) -> i32 { n } - -#[no_mangle] -pub unsafe fn hey() { - // CHECK: call i32 @hi(i32 - const_eval_select((42,), foo, hi); -} diff --git a/src/test/codegen/intrinsics/exact_div.rs b/src/test/codegen/intrinsics/exact_div.rs deleted file mode 100644 index 68eaa39997a..00000000000 --- a/src/test/codegen/intrinsics/exact_div.rs +++ /dev/null @@ -1,20 +0,0 @@ -// compile-flags: -C no-prepopulate-passes - -#![crate_type = "lib"] -#![feature(core_intrinsics)] - -use std::intrinsics::exact_div; - -// CHECK-LABEL: @exact_sdiv -#[no_mangle] -pub unsafe fn exact_sdiv(x: i32, y: i32) -> i32 { - // CHECK: sdiv exact - exact_div(x, y) -} - -// CHECK-LABEL: @exact_udiv -#[no_mangle] -pub unsafe fn exact_udiv(x: u32, y: u32) -> u32 { - // CHECK: udiv exact - exact_div(x, y) -} diff --git a/src/test/codegen/intrinsics/likely.rs b/src/test/codegen/intrinsics/likely.rs deleted file mode 100644 index c5a0185bd48..00000000000 --- a/src/test/codegen/intrinsics/likely.rs +++ /dev/null @@ -1,30 +0,0 @@ -// compile-flags: -C no-prepopulate-passes - -#![crate_type = "lib"] -#![feature(core_intrinsics)] - -use std::intrinsics::{likely,unlikely}; - -#[no_mangle] -pub fn check_likely(x: i32, y: i32) -> Option { - unsafe { - // CHECK: call i1 @llvm.expect.i1(i1 %{{.*}}, i1 true) - if likely(x == y) { - None - } else { - Some(x + y) - } - } -} - -#[no_mangle] -pub fn check_unlikely(x: i32, y: i32) -> Option { - unsafe { - // CHECK: call i1 @llvm.expect.i1(i1 %{{.*}}, i1 false) - if unlikely(x == y) { - None - } else { - Some(x + y) - } - } -} diff --git a/src/test/codegen/intrinsics/mask.rs b/src/test/codegen/intrinsics/mask.rs deleted file mode 100644 index 2e984db1be5..00000000000 --- a/src/test/codegen/intrinsics/mask.rs +++ /dev/null @@ -1,11 +0,0 @@ -#![crate_type = "lib"] -#![feature(core_intrinsics)] - -// CHECK-LABEL: @mask_ptr -// CHECK-SAME: [[WORD:i[0-9]+]] %mask -#[no_mangle] -pub fn mask_ptr(ptr: *const u16, mask: usize) -> *const u16 { - // CHECK: call - // CHECK-SAME: @llvm.ptrmask.{{p0|p0i8}}.[[WORD]]({{ptr|i8\*}} {{%ptr|%0}}, [[WORD]] %mask) - core::intrinsics::ptr_mask(ptr, mask) -} diff --git a/src/test/codegen/intrinsics/nearby.rs b/src/test/codegen/intrinsics/nearby.rs deleted file mode 100644 index 520fe2f1886..00000000000 --- a/src/test/codegen/intrinsics/nearby.rs +++ /dev/null @@ -1,18 +0,0 @@ -#![crate_type = "lib"] -#![feature(core_intrinsics)] - -use std::intrinsics; - -// CHECK-LABEL: @nearbyintf32 -#[no_mangle] -pub unsafe fn nearbyintf32(a: f32) -> f32 { - // CHECK: llvm.nearbyint.f32 - intrinsics::nearbyintf32(a) -} - -// CHECK-LABEL: @nearbyintf64 -#[no_mangle] -pub unsafe fn nearbyintf64(a: f64) -> f64 { - // CHECK: llvm.nearbyint.f64 - intrinsics::nearbyintf64(a) -} diff --git a/src/test/codegen/intrinsics/nontemporal.rs b/src/test/codegen/intrinsics/nontemporal.rs deleted file mode 100644 index d8ee2945266..00000000000 --- a/src/test/codegen/intrinsics/nontemporal.rs +++ /dev/null @@ -1,13 +0,0 @@ -// compile-flags: -O - -#![feature(core_intrinsics)] -#![crate_type = "lib"] - -#[no_mangle] -pub fn a(a: &mut u32, b: u32) { - // CHECK-LABEL: define{{.*}}void @a - // CHECK: store i32 %b, {{i32\*|ptr}} %a, align 4, !nontemporal - unsafe { - std::intrinsics::nontemporal_store(a, b); - } -} diff --git a/src/test/codegen/intrinsics/offset_from.rs b/src/test/codegen/intrinsics/offset_from.rs deleted file mode 100644 index d0de4c8355d..00000000000 --- a/src/test/codegen/intrinsics/offset_from.rs +++ /dev/null @@ -1,36 +0,0 @@ -// compile-flags: -C opt-level=1 -// only-64bit (because we're using [ui]size) - -#![crate_type = "lib"] -#![feature(core_intrinsics)] - -//! Basic optimizations are enabled because otherwise `x86_64-gnu-nopt` had an alloca. -//! Uses a type with non-power-of-two size to avoid normalizations to shifts. - -use std::intrinsics::*; - -type RGB = [u8; 3]; - -// CHECK-LABEL: @offset_from_odd_size -#[no_mangle] -pub unsafe fn offset_from_odd_size(a: *const RGB, b: *const RGB) -> isize { - // CHECK: start - // CHECK-NEXT: ptrtoint - // CHECK-NEXT: ptrtoint - // CHECK-NEXT: sub i64 - // CHECK-NEXT: sdiv exact i64 %{{[0-9]+}}, 3 - // CHECK-NEXT: ret i64 - ptr_offset_from(a, b) -} - -// CHECK-LABEL: @offset_from_unsigned_odd_size -#[no_mangle] -pub unsafe fn offset_from_unsigned_odd_size(a: *const RGB, b: *const RGB) -> usize { - // CHECK: start - // CHECK-NEXT: ptrtoint - // CHECK-NEXT: ptrtoint - // CHECK-NEXT: sub nuw i64 - // CHECK-NEXT: udiv exact i64 %{{[0-9]+}}, 3 - // CHECK-NEXT: ret i64 - ptr_offset_from_unsigned(a, b) -} diff --git a/src/test/codegen/intrinsics/prefetch.rs b/src/test/codegen/intrinsics/prefetch.rs deleted file mode 100644 index 59d7fa6381b..00000000000 --- a/src/test/codegen/intrinsics/prefetch.rs +++ /dev/null @@ -1,63 +0,0 @@ -// compile-flags: -C no-prepopulate-passes - -#![crate_type = "lib"] -#![feature(core_intrinsics)] - -use std::intrinsics::{prefetch_read_data, prefetch_write_data, - prefetch_read_instruction, prefetch_write_instruction}; - -#[no_mangle] -pub fn check_prefetch_read_data(data: &[i8]) { - unsafe { - // CHECK: call void @llvm.prefetch{{.*}}({{.*}}, i32 0, i32 0, i32 1) - prefetch_read_data(data.as_ptr(), 0); - // CHECK: call void @llvm.prefetch{{.*}}({{.*}}, i32 0, i32 1, i32 1) - prefetch_read_data(data.as_ptr(), 1); - // CHECK: call void @llvm.prefetch{{.*}}({{.*}}, i32 0, i32 2, i32 1) - prefetch_read_data(data.as_ptr(), 2); - // CHECK: call void @llvm.prefetch{{.*}}({{.*}}, i32 0, i32 3, i32 1) - prefetch_read_data(data.as_ptr(), 3); - } -} - -#[no_mangle] -pub fn check_prefetch_write_data(data: &[i8]) { - unsafe { - // CHECK: call void @llvm.prefetch{{.*}}({{.*}}, i32 1, i32 0, i32 1) - prefetch_write_data(data.as_ptr(), 0); - // CHECK: call void @llvm.prefetch{{.*}}({{.*}}, i32 1, i32 1, i32 1) - prefetch_write_data(data.as_ptr(), 1); - // CHECK: call void @llvm.prefetch{{.*}}({{.*}}, i32 1, i32 2, i32 1) - prefetch_write_data(data.as_ptr(), 2); - // CHECK: call void @llvm.prefetch{{.*}}({{.*}}, i32 1, i32 3, i32 1) - prefetch_write_data(data.as_ptr(), 3); - } -} - -#[no_mangle] -pub fn check_prefetch_read_instruction(data: &[i8]) { - unsafe { - // CHECK: call void @llvm.prefetch{{.*}}({{.*}}, i32 0, i32 0, i32 0) - prefetch_read_instruction(data.as_ptr(), 0); - // CHECK: call void @llvm.prefetch{{.*}}({{.*}}, i32 0, i32 1, i32 0) - prefetch_read_instruction(data.as_ptr(), 1); - // CHECK: call void @llvm.prefetch{{.*}}({{.*}}, i32 0, i32 2, i32 0) - prefetch_read_instruction(data.as_ptr(), 2); - // CHECK: call void @llvm.prefetch{{.*}}({{.*}}, i32 0, i32 3, i32 0) - prefetch_read_instruction(data.as_ptr(), 3); - } -} - -#[no_mangle] -pub fn check_prefetch_write_instruction(data: &[i8]) { - unsafe { - // CHECK: call void @llvm.prefetch{{.*}}({{.*}}, i32 1, i32 0, i32 0) - prefetch_write_instruction(data.as_ptr(), 0); - // CHECK: call void @llvm.prefetch{{.*}}({{.*}}, i32 1, i32 1, i32 0) - prefetch_write_instruction(data.as_ptr(), 1); - // CHECK: call void @llvm.prefetch{{.*}}({{.*}}, i32 1, i32 2, i32 0) - prefetch_write_instruction(data.as_ptr(), 2); - // CHECK: call void @llvm.prefetch{{.*}}({{.*}}, i32 1, i32 3, i32 0) - prefetch_write_instruction(data.as_ptr(), 3); - } -} diff --git a/src/test/codegen/intrinsics/unchecked_math.rs b/src/test/codegen/intrinsics/unchecked_math.rs deleted file mode 100644 index 419c120ede9..00000000000 --- a/src/test/codegen/intrinsics/unchecked_math.rs +++ /dev/null @@ -1,46 +0,0 @@ -#![crate_type = "lib"] -#![feature(core_intrinsics)] - -use std::intrinsics::*; - -// CHECK-LABEL: @unchecked_add_signed -#[no_mangle] -pub unsafe fn unchecked_add_signed(a: i32, b: i32) -> i32 { - // CHECK: add nsw - unchecked_add(a, b) -} - -// CHECK-LABEL: @unchecked_add_unsigned -#[no_mangle] -pub unsafe fn unchecked_add_unsigned(a: u32, b: u32) -> u32 { - // CHECK: add nuw - unchecked_add(a, b) -} - -// CHECK-LABEL: @unchecked_sub_signed -#[no_mangle] -pub unsafe fn unchecked_sub_signed(a: i32, b: i32) -> i32 { - // CHECK: sub nsw - unchecked_sub(a, b) -} - -// CHECK-LABEL: @unchecked_sub_unsigned -#[no_mangle] -pub unsafe fn unchecked_sub_unsigned(a: u32, b: u32) -> u32 { - // CHECK: sub nuw - unchecked_sub(a, b) -} - -// CHECK-LABEL: @unchecked_mul_signed -#[no_mangle] -pub unsafe fn unchecked_mul_signed(a: i32, b: i32) -> i32 { - // CHECK: mul nsw - unchecked_mul(a, b) -} - -// CHECK-LABEL: @unchecked_mul_unsigned -#[no_mangle] -pub unsafe fn unchecked_mul_unsigned(a: u32, b: u32) -> u32 { - // CHECK: mul nuw - unchecked_mul(a, b) -} diff --git a/src/test/codegen/intrinsics/volatile.rs b/src/test/codegen/intrinsics/volatile.rs deleted file mode 100644 index 7980c00e7e7..00000000000 --- a/src/test/codegen/intrinsics/volatile.rs +++ /dev/null @@ -1,55 +0,0 @@ -// compile-flags: -C no-prepopulate-passes - -#![crate_type = "lib"] -#![feature(core_intrinsics)] - -use std::intrinsics; - -// CHECK-LABEL: @volatile_copy_memory -#[no_mangle] -pub unsafe fn volatile_copy_memory(a: *mut u8, b: *const u8) { - // CHECK: llvm.memmove.{{\w*(.*true)}} - intrinsics::volatile_copy_memory(a, b, 1) -} - -// CHECK-LABEL: @volatile_copy_nonoverlapping_memory -#[no_mangle] -pub unsafe fn volatile_copy_nonoverlapping_memory(a: *mut u8, b: *const u8) { - // CHECK: llvm.memcpy.{{\w*(.*true)}} - intrinsics::volatile_copy_nonoverlapping_memory(a, b, 1) -} - -// CHECK-LABEL: @volatile_set_memory -#[no_mangle] -pub unsafe fn volatile_set_memory(a: *mut u8, b: u8) { - // CHECK: llvm.memset.{{\w*(.*true)}} - intrinsics::volatile_set_memory(a, b, 1) -} - -// CHECK-LABEL: @volatile_load -#[no_mangle] -pub unsafe fn volatile_load(a: *const u8) -> u8 { - // CHECK: load volatile - intrinsics::volatile_load(a) -} - -// CHECK-LABEL: @volatile_store -#[no_mangle] -pub unsafe fn volatile_store(a: *mut u8, b: u8) { - // CHECK: store volatile - intrinsics::volatile_store(a, b) -} - -// CHECK-LABEL: @unaligned_volatile_load -#[no_mangle] -pub unsafe fn unaligned_volatile_load(a: *const u8) -> u8 { - // CHECK: load volatile - intrinsics::unaligned_volatile_load(a) -} - -// CHECK-LABEL: @unaligned_volatile_store -#[no_mangle] -pub unsafe fn unaligned_volatile_store(a: *mut u8, b: u8) { - // CHECK: store volatile - intrinsics::unaligned_volatile_store(a, b) -} diff --git a/src/test/codegen/intrinsics/volatile_order.rs b/src/test/codegen/intrinsics/volatile_order.rs deleted file mode 100644 index 99469831a6c..00000000000 --- a/src/test/codegen/intrinsics/volatile_order.rs +++ /dev/null @@ -1,18 +0,0 @@ -#![crate_type = "lib"] -#![feature(core_intrinsics)] - -use std::intrinsics::*; - -pub unsafe fn test_volatile_order() { - let mut a: Box = Box::new(0); - // CHECK: load volatile - let x = volatile_load(&*a); - // CHECK: load volatile - let x = volatile_load(&*a); - // CHECK: store volatile - volatile_store(&mut *a, 12); - // CHECK: store volatile - unaligned_volatile_store(&mut *a, 12); - // CHECK: llvm.memset.p0 - volatile_set_memory(&mut *a, 12, 1) -} -- cgit 1.4.1-3-g733a5