// 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; }