1 // RUN: %clang_cc1 %s -triple x86_64-unknown-unknown -emit-llvm -o - | FileCheck %s
2 // The store of p.y into the temporary was not
3 // getting extended to 32 bits, so uninitialized
4 // bits of the temporary were used. 7366161.
9 int bar(struct foo p
, int x
) {
11 // CHECK: %[[val:.*]] = load i32, ptr {{.*}}
12 // CHECK-NEXT: ashr i32 %[[val]]
13 // CHECK: = load i32, ptr {{.*}}
14 // CHECK: = load i32, ptr {{.*}}
15 // CHECK: %[[val:.*]] = load i32, ptr {{.*}}
16 // CHECK-NEXT: ashr i32 %[[val]]
17 x
= (p
.y
> x
? x
: p
.y
);