rustc_codegen_llvm: don't overalign loads of pair operands.
This commit is contained in:
parent
b68fc18c45
commit
51cf4e9e91
2 changed files with 27 additions and 3 deletions
18
src/test/codegen/issue-56267-2.rs
Normal file
18
src/test/codegen/issue-56267-2.rs
Normal file
|
|
@ -0,0 +1,18 @@
|
|||
// compile-flags: -C no-prepopulate-passes
|
||||
|
||||
#![crate_type="rlib"]
|
||||
|
||||
#[allow(dead_code)]
|
||||
pub struct Foo<T> {
|
||||
foo: u64,
|
||||
bar: T,
|
||||
}
|
||||
|
||||
// The load from bar.1 should have alignment 4. Not checking
|
||||
// other loads here, as the alignment will be platform-dependent.
|
||||
|
||||
// CHECK: %{{.+}} = load i32, i32* %{{.+}}, align 4
|
||||
#[no_mangle]
|
||||
pub fn test(x: Foo<(i32, i32)>) -> (i32, i32) {
|
||||
x.bar
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue