mirror of
https://github.com/rust-lang/rust.git
synced 2026-04-27 18:57:42 +03:00
tests: fix RISC-V failures and adjust transmute-scalar.rs target
Resolve several ./x test failures on RISC-V caused by ABI and codegen differences. Update multiple codegen-llvm tests for compatibility, and explicitly set the target for transmute-scalar.rs to x86_64 to ensure consistent behavior across hosts.
This commit is contained in:
@@ -27,7 +27,7 @@ fn make_none_bool() -> Option<bool> {
|
||||
|
||||
#[no_mangle]
|
||||
fn make_some_ordering(x: Ordering) -> Option<Ordering> {
|
||||
// CHECK-LABEL: i8 @make_some_ordering(i8 %x)
|
||||
// CHECK-LABEL: i8 @make_some_ordering(i8{{( signext)?}} %x)
|
||||
// CHECK-NEXT: start:
|
||||
// CHECK-NEXT: ret i8 %x
|
||||
Some(x)
|
||||
@@ -35,7 +35,7 @@ fn make_some_ordering(x: Ordering) -> Option<Ordering> {
|
||||
|
||||
#[no_mangle]
|
||||
fn make_some_u16(x: u16) -> Option<u16> {
|
||||
// CHECK-LABEL: { i16, i16 } @make_some_u16(i16 %x)
|
||||
// CHECK-LABEL: { i16, i16 } @make_some_u16(i16{{( zeroext)?}} %x)
|
||||
// CHECK-NEXT: start:
|
||||
// CHECK-NEXT: %0 = insertvalue { i16, i16 } { i16 1, i16 poison }, i16 %x, 1
|
||||
// CHECK-NEXT: ret { i16, i16 } %0
|
||||
@@ -52,7 +52,7 @@ fn make_none_u16() -> Option<u16> {
|
||||
|
||||
#[no_mangle]
|
||||
fn make_some_nzu32(x: NonZero<u32>) -> Option<NonZero<u32>> {
|
||||
// CHECK-LABEL: i32 @make_some_nzu32(i32 %x)
|
||||
// CHECK-LABEL: i32 @make_some_nzu32(i32{{( signext)?}} %x)
|
||||
// CHECK-NEXT: start:
|
||||
// CHECK-NEXT: ret i32 %x
|
||||
Some(x)
|
||||
@@ -114,7 +114,7 @@ fn make_uninhabited_err_indirectly(n: Never) -> Result<u32, Never> {
|
||||
fn make_fully_uninhabited_result(v: u32, n: Never) -> Result<(u32, Never), (Never, u32)> {
|
||||
// Actually reaching this would be UB, so we don't actually build a result.
|
||||
|
||||
// CHECK-LABEL: { i32, i32 } @make_fully_uninhabited_result(i32 %v)
|
||||
// CHECK-LABEL: { i32, i32 } @make_fully_uninhabited_result(i32{{( signext)?}} %v)
|
||||
// CHECK-NEXT: start:
|
||||
// CHECK-NEXT: call void @llvm.trap()
|
||||
// CHECK-NEXT: call void @llvm.trap()
|
||||
|
||||
@@ -739,7 +739,7 @@ pub enum Tricky {
|
||||
|
||||
const _: () = assert!(std::intrinsics::discriminant_value(&Tricky::V100) == 100);
|
||||
|
||||
// CHECK-LABEL: define noundef{{( range\(i8 [0-9]+, [0-9]+\))?}} i8 @discriminant6(i8 noundef %e)
|
||||
// CHECK-LABEL: define noundef{{( range\(i8 [0-9]+, [0-9]+\))?}} i8 @discriminant6(i8 noundef{{( zeroext)?}} %e)
|
||||
// CHECK-NEXT: start:
|
||||
// CHECK-NEXT: %[[REL_VAR:.+]] = add i8 %e, -66
|
||||
// CHECK-NEXT: %[[IS_NICHE:.+]] = icmp ult i8 %[[REL_VAR]], -56
|
||||
|
||||
@@ -9,7 +9,7 @@ pub enum Never {}
|
||||
|
||||
#[no_mangle]
|
||||
pub fn make_unmake_result_never(x: i32) -> i32 {
|
||||
// CHECK-LABEL: define i32 @make_unmake_result_never(i32 %x)
|
||||
// CHECK-LABEL: define i32 @make_unmake_result_never(i32{{( signext)?}} %x)
|
||||
// CHECK: start:
|
||||
// CHECK-NEXT: ret i32 %x
|
||||
|
||||
|
||||
Reference in New Issue
Block a user