From 06b8c3ee5b52dc849259655578afca70cb32dda3 Mon Sep 17 00:00:00 2001 From: Colin Pronovost Date: Mon, 24 Sep 2018 23:09:44 -0400 Subject: Rely only on base alignment and offset for computing field alignment Fix #54028 --- src/test/codegen/align-struct.rs | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'src/test/codegen/align-struct.rs') diff --git a/src/test/codegen/align-struct.rs b/src/test/codegen/align-struct.rs index bf119da2e82..887c43c6761 100644 --- a/src/test/codegen/align-struct.rs +++ b/src/test/codegen/align-struct.rs @@ -48,6 +48,16 @@ pub fn align64(i : i32) -> Align64 { a64 } +// For issue 54028: make sure that we are specifying the correct alignment for fields of aligned +// structs +// CHECK-LABEL: @align64_load +#[no_mangle] +pub fn align64_load(a: Align64) -> i32 { +// CHECK: [[FIELD:%.*]] = bitcast %Align64* %{{.*}} to i32* +// CHECK: {{%.*}} = load i32, i32* [[FIELD]], align 64 + a.0 +} + // CHECK-LABEL: @nested64 #[no_mangle] pub fn nested64(a: Align64, b: i32, c: i32, d: i8) -> Nested64 { -- cgit 1.4.1-3-g733a5