Dale Johannesen | a69c493 | 2010-08-19 00:09:07 +0000 | [diff] [blame^] | 1 | // RUN: %llvmgcc %s -m32 -S -o - | FileCheck %s |
2 | // Misaligned parameter must be memcpy'd to correctly aligned temporary. | ||||
3 | // XFAIL: * | ||||
4 | // XTARGET: x86,i386,i686,darwin | ||||
5 | |||||
6 | struct s { int x; long double y; }; | ||||
7 | long double foo(struct s x, int i, struct s y) { | ||||
8 | // CHECK: foo | ||||
9 | // CHECK: %x_addr = alloca %struct.s, align 16 | ||||
10 | // CHECK: %y_addr = alloca %struct.s, align 16 | ||||
11 | // CHECK: memcpy | ||||
12 | // CHECK: memcpy | ||||
13 | // CHECK: bar | ||||
14 | return bar(&x, &y); | ||||
15 | } |