brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.3 KiB · d5130ab Raw
34 lines · plain
1// RUN: %clang_cc1 -triple dxil-pc-shadermodel6.6-library -disable-llvm-passes -emit-llvm -finclude-default-header -fnative-half-type -fnative-int16-type -o - %s | FileCheck %s2 3// CHECK-LABEL: case14// CHECK: [[ToBool:%.*]] = icmp ne <2 x i32> {{.*}}, zeroinitializer5// CHECK-NEXT: [[BoolCmp:%.*]] = icmp eq <2 x i1> [[ToBool]], zeroinitializer6// CHECK-NEXT: {{.*}} = zext <2 x i1> [[BoolCmp]] to <2 x i32>7export uint32_t2 case1(uint32_t2 b) {8    return !b;9}10 11// CHECK-LABEL: case212// CHECK: [[ToBool:%.*]] = icmp ne <3 x i32> {{.*}}, zeroinitializer13// CHECK-NEXT: [[BoolCmp:%.*]] = icmp eq <3 x i1> [[ToBool]], zeroinitializer14// CHECK-NEXT: {{.*}} = zext <3 x i1> [[BoolCmp]] to <3 x i32>15export int32_t3 case2(int32_t3 b) {16    return !b;17}18 19// CHECK-LABEL: case320// CHECK: [[ToBool:%.*]] = fcmp reassoc nnan ninf nsz arcp afn une half {{.*}}, 0xH000021// CHECK-NEXT: [[BoolCmp:%.*]] = xor i1 [[ToBool]], true22// CHECK-NEXT: {{.*}} = uitofp i1 [[BoolCmp]] to half23export float16_t case3(float16_t b) {24    return !b;25}26 27// CHECK-LABEL: case428// CHECK: [[ToBool:%.*]] = fcmp reassoc nnan ninf nsz arcp afn une <4 x float> {{.*}}, zeroinitializer29// CHECK-NEXT: [[BoolCmp:%.*]] = icmp eq <4 x i1> [[ToBool]], zeroinitializer30// CHECK-NEXT: {{.*}} = uitofp <4 x i1> [[BoolCmp]] to <4 x float>31export float4 case4(float4 b) {32    return !b;33}34