rust/src/test/codegen/issue-56267.rs
Nikita Popov d8190afbcb Fix alignment of stores to scalar pair
The alignment for the second element of a scalar pair is not the
same as for the first element. Make sure it is computed correctly
based on the element size.
2018-11-28 00:31:03 +01:00

19 lines
423 B
Rust

// compile-flags: -C no-prepopulate-passes
#![crate_type="rlib"]
#[allow(dead_code)]
pub struct Foo<T> {
foo: u64,
bar: T,
}
// The store writing to bar.1 should have alignment 4. Not checking
// other stores here, as the alignment will be platform-dependent.
// CHECK: store i32 [[TMP1:%.+]], i32* [[TMP2:%.+]], align 4
#[no_mangle]
pub fn test(x: (i32, i32)) -> Foo<(i32, i32)> {
Foo { foo: 0, bar: x }
}