diff options
| author | Guillaume Gomez <guillaume1.gomez@gmail.com> | 2025-07-21 14:34:12 +0200 |
|---|---|---|
| committer | Guillaume Gomez <guillaume1.gomez@gmail.com> | 2025-07-22 14:28:48 +0200 |
| commit | a27f3e3fd1e4d16160f8885b6b06665b5319f56c (patch) | |
| tree | b033935392cbadf6f85d2dbddf433a88e323aeeb /tests/codegen/powerpc64le-struct-align-128.rs | |
| parent | ed93c1783b404d728d4809973a0550eb33cd293f (diff) | |
| download | rust-a27f3e3fd1e4d16160f8885b6b06665b5319f56c.tar.gz rust-a27f3e3fd1e4d16160f8885b6b06665b5319f56c.zip | |
Rename `tests/codegen` into `tests/codegen-llvm`
Diffstat (limited to 'tests/codegen/powerpc64le-struct-align-128.rs')
| -rw-r--r-- | tests/codegen/powerpc64le-struct-align-128.rs | 96 |
1 files changed, 0 insertions, 96 deletions
diff --git a/tests/codegen/powerpc64le-struct-align-128.rs b/tests/codegen/powerpc64le-struct-align-128.rs deleted file mode 100644 index c1c1ac26485..00000000000 --- a/tests/codegen/powerpc64le-struct-align-128.rs +++ /dev/null @@ -1,96 +0,0 @@ -// Test that structs aligned to 128 bits are passed with the correct ABI on powerpc64le. -// This is similar to aarch64-struct-align-128.rs, but for ppc. - -//@ add-core-stubs -//@ compile-flags: --target powerpc64le-unknown-linux-gnu -//@ needs-llvm-components: powerpc - -#![feature(no_core, lang_items)] -#![crate_type = "lib"] -#![no_core] - -extern crate minicore; -use minicore::*; - -#[repr(C)] -pub struct Align8 { - pub a: u64, - pub b: u64, -} - -#[repr(transparent)] -pub struct Transparent8 { - a: Align8, -} - -#[repr(C)] -pub struct Wrapped8 { - a: Align8, -} - -extern "C" { - // CHECK: declare void @test_8([2 x i64], [2 x i64], [2 x i64]) - fn test_8(a: Align8, b: Transparent8, c: Wrapped8); -} - -#[repr(C)] -#[repr(align(16))] -pub struct Align16 { - pub a: u64, - pub b: u64, -} - -#[repr(transparent)] -pub struct Transparent16 { - a: Align16, -} - -#[repr(C)] -pub struct Wrapped16 { - pub a: Align16, -} - -extern "C" { - // It's important that this produces [1 x i128] rather than just i128! - // CHECK: declare void @test_16([1 x i128], [1 x i128], [1 x i128]) - fn test_16(a: Align16, b: Transparent16, c: Wrapped16); -} - -#[repr(C)] -#[repr(align(32))] -pub struct Align32 { - pub a: u64, - pub b: u64, - pub c: u64, -} - -#[repr(transparent)] -pub struct Transparent32 { - a: Align32, -} - -#[repr(C)] -pub struct Wrapped32 { - pub a: Align32, -} - -extern "C" { - // CHECK: declare void @test_32([2 x i128], [2 x i128], [2 x i128]) - fn test_32(a: Align32, b: Transparent32, c: Wrapped32); -} - -pub unsafe fn main( - a1: Align8, - a2: Transparent8, - a3: Wrapped8, - b1: Align16, - b2: Transparent16, - b3: Wrapped16, - c1: Align32, - c2: Transparent32, - c3: Wrapped32, -) { - test_8(a1, a2, a3); - test_16(b1, b2, b3); - test_32(c1, c2, c3); -} |
