blob: 31867065e77a3be4b57a28db1c9b69697b1491c6 [file] [edit]
// RUN: %clang_cc1 -triple dxil-pc-shadermodel6.3-library -O1 -load-bool-from-mem=truncate -emit-llvm -o - %s | FileCheck %s -check-prefixes=CHECK-TRUNCATE
// RUN: %clang_cc1 -triple dxil-pc-shadermodel6.3-library -O1 -load-bool-from-mem=nonzero -emit-llvm -o - %s | FileCheck %s -check-prefixes=CHECK-NONZERO
// RUN: %clang_cc1 -triple dxil-pc-shadermodel6.3-library -O0 -emit-llvm -o - %s | FileCheck %s -check-prefixes=CHECK-NONZERO
typedef bool bool8_t __attribute__((ext_vector_type(8)));
extern bool8_t vec;
bool8_t getvec(void) {
// CHECK-TRUNCATE: [[BOOL:%.+]] = load <8 x i32>
// CHECK-TRUNCATE: trunc <8 x i32> [[BOOL]] to <8 x i1>
// CHECK-NONZERO: [[BOOL:%.+]] = load <8 x i32>
// CHECK-NONZERO: icmp ne <8 x i32> [[BOOL]], zeroinitializer
return vec;
}