From b369f449245720eda2f31d11ac25f49b7fee43ec Mon Sep 17 00:00:00 2001 From: Eli Friedman Date: Tue, 13 Nov 2012 02:05:15 +0000 Subject: Fix IR generation for bool on PPC (and any other target where bool is not 8 bits in memory). PR11777. llvm-svn: 167802 --- clang/test/CodeGen/bool_test.c | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) (limited to 'clang/test/CodeGen/bool_test.c') diff --git a/clang/test/CodeGen/bool_test.c b/clang/test/CodeGen/bool_test.c index 715f8467b58..83d83307715 100644 --- a/clang/test/CodeGen/bool_test.c +++ b/clang/test/CodeGen/bool_test.c @@ -1,6 +1,18 @@ // REQUIRES: ppc32-registered-target -// RUN: %clang_cc1 -triple powerpc-apple-darwin -emit-llvm -o - %s| FileCheck -check-prefix=DARWINPPC-CHECK %s +// RUN: %clang_cc1 -triple powerpc-apple-macosx10.4.0 -emit-llvm -o - %s -O2 -disable-llvm-optzns | FileCheck %s int boolsize = sizeof(_Bool); -//DARWINPPC-CHECK: boolsize = global i32 4, align 4 +// CHECK: boolsize = global i32 4, align 4 +void f(_Bool *x, _Bool *y) { + *x = *y; +} + +// CHECK: define void @f( +// CHECK: [[FROMMEM:%.*]] = load i32* % +// CHECK: [[BOOLVAL:%.*]] = trunc i32 [[FROMMEM]] to i1 +// CHECK: [[TOMEM:%.*]] = zext i1 [[BOOLVAL]] to i32 +// CHECK: store i32 [[TOMEM]] +// CHECK: ret void + +// CHECK: metadata !{i32 0, i32 2} -- cgit v1.2.3