1122686170521b5177c0aeeb9fc07f36744345801Daniel Dunbar// RUN: %clang_cc1 -triple x86_64-unknown-unknown -emit-llvm -o - %s | FileCheck %s 2122686170521b5177c0aeeb9fc07f36744345801Daniel Dunbar 36233d1e0ddde1e5625f53dacca6975fb29131a9fDaniel Dunbarstruct s0 { 4122686170521b5177c0aeeb9fc07f36744345801Daniel Dunbar int Start, End; 5122686170521b5177c0aeeb9fc07f36744345801Daniel Dunbar unsigned Alignment; 6122686170521b5177c0aeeb9fc07f36744345801Daniel Dunbar int TheStores __attribute__((aligned(16))); 7122686170521b5177c0aeeb9fc07f36744345801Daniel Dunbar}; 82f2071dcda5a446bb78b0c167cdec580ccabfcaaDaniel Dunbar 92f2071dcda5a446bb78b0c167cdec580ccabfcaaDaniel Dunbar// CHECK: define void @f0 102f2071dcda5a446bb78b0c167cdec580ccabfcaaDaniel Dunbar// CHECK: alloca %struct.s0, align 16 116233d1e0ddde1e5625f53dacca6975fb29131a9fDaniel Dunbarextern "C" void f0() { 126233d1e0ddde1e5625f53dacca6975fb29131a9fDaniel Dunbar (void) s0(); 136233d1e0ddde1e5625f53dacca6975fb29131a9fDaniel Dunbar} 146233d1e0ddde1e5625f53dacca6975fb29131a9fDaniel Dunbar 152f2071dcda5a446bb78b0c167cdec580ccabfcaaDaniel Dunbar// CHECK: define void @f1 162f2071dcda5a446bb78b0c167cdec580ccabfcaaDaniel Dunbar// CHECK: alloca %struct.s0, align 16 176233d1e0ddde1e5625f53dacca6975fb29131a9fDaniel Dunbarextern "C" void f1() { 182f2071dcda5a446bb78b0c167cdec580ccabfcaaDaniel Dunbar (void) (struct s0) { 0, 0, 0, 0 }; 192f2071dcda5a446bb78b0c167cdec580ccabfcaaDaniel Dunbar} 202f2071dcda5a446bb78b0c167cdec580ccabfcaaDaniel Dunbar 21f253909794f9c458a722d5b594874f680f71c144Chris Lattner// CHECK: define i32 @f2 222f2071dcda5a446bb78b0c167cdec580ccabfcaaDaniel Dunbar// CHECK: alloca %struct.s1, align 2 232f2071dcda5a446bb78b0c167cdec580ccabfcaaDaniel Dunbarstruct s1 { short x; short y; }; 242f2071dcda5a446bb78b0c167cdec580ccabfcaaDaniel Dunbarextern "C" struct s1 f2(int a, struct s1 *x, struct s1 *y) { 252f2071dcda5a446bb78b0c167cdec580ccabfcaaDaniel Dunbar if (a) 262f2071dcda5a446bb78b0c167cdec580ccabfcaaDaniel Dunbar return *x; 272f2071dcda5a446bb78b0c167cdec580ccabfcaaDaniel Dunbar return *y; 28122686170521b5177c0aeeb9fc07f36744345801Daniel Dunbar} 29