brintos

brintos / llvm-project-archived public Read only

0
0
Text · 4.9 KiB · e10a3f8 Raw
94 lines · plain
1; Test that llvm-reduce can reduce floating point operands2;3; RUN: llvm-reduce --abort-on-invalid-reduction --delta-passes=operands-one --test FileCheck --test-arg --check-prefixes=CHECK-INTERESTINGNESS --test-arg %s --test-arg --input-file %s -o %t4; RUN: FileCheck --check-prefixes=CHECK,ONE %s < %t5 6; RUN: llvm-reduce --abort-on-invalid-reduction --delta-passes=operands-zero --test FileCheck --test-arg --check-prefixes=CHECK-INTERESTINGNESS --test-arg %s --test-arg --input-file %s -o %t7; RUN: FileCheck --check-prefixes=CHECK,ZERO %s < %t8 9; RUN: llvm-reduce --abort-on-invalid-reduction --delta-passes=operands-nan --test FileCheck --test-arg --check-prefixes=CHECK-INTERESTINGNESS --test-arg %s --test-arg --input-file %s -o %t10; RUN: FileCheck --check-prefixes=CHECK,NAN %s < %t11 12; RUN: llvm-reduce --abort-on-invalid-reduction --test FileCheck --test-arg --check-prefixes=CHECK-INTERESTINGNESS --test-arg %s --test-arg --input-file %s -o %t13; RUN: FileCheck --check-prefixes=CHECK,ZERO %s < %t14 15; CHECK-INTERESTINGNESS: = fadd float %16; CHECK-INTERESTINGNESS: = fadd float17; CHECK-INTERESTINGNESS: = fadd float18; CHECK-INTERESTINGNESS: = fadd float19; CHECK-INTERESTINGNESS: = fadd float20; CHECK-INTERESTINGNESS: = fadd float21 22; CHECK-INTERESTINGNESS: = fadd <2 x float> %23; CHECK-INTERESTINGNESS: = fadd <2 x float>24; CHECK-INTERESTINGNESS: = fadd <2 x float>25; CHECK-INTERESTINGNESS: = fadd <2 x float>26; CHECK-INTERESTINGNESS: = fadd <2 x float>27; CHECK-INTERESTINGNESS: = fadd <2 x float>28; CHECK-INTERESTINGNESS: = fadd <2 x float>29 30; CHECK-LABEL: define {{(void|<2 x float>)}} @foo(31 32 33; ONE: %fadd0 = fadd float %arg0, 1.000000e+0034; ONE: %fadd1 = fadd float 1.000000e+00, 1.000000e+0035; ONE: %fadd2 = fadd float 1.000000e+00, 0.000000e+0036; ONE: %fadd3 = fadd float 1.000000e+00, 1.000000e+0037; ONE: %fadd4 = fadd float 1.000000e+00, 1.000000e+0038; ONE: %fadd5 = fadd float 1.000000e+00, 1.000000e+0039; ONE: %fadd6 = fadd <2 x float> %arg2, splat (float 1.000000e+00)40; ONE: %fadd7 = fadd <2 x float> splat (float 1.000000e+00), splat (float 1.000000e+00)41; ONE: %fadd8 = fadd <2 x float> splat (float 1.000000e+00), zeroinitializer42; ONE: %fadd9 = fadd <2 x float> splat (float 1.000000e+00), splat (float 1.000000e+00)43; ONE: %fadd10 = fadd <2 x float> splat (float 1.000000e+00), splat (float 1.000000e+00)44; ONE: %fadd11 = fadd <2 x float> splat (float 1.000000e+00), splat (float 1.000000e+00)45; ONE: %fadd12 = fadd <2 x float> splat (float 1.000000e+00), splat (float 1.000000e+00)46 47 48; ZERO: %fadd0 = fadd float %arg0, 0.000000e+0049; ZERO: %fadd1 = fadd float 0.000000e+00, 0.000000e+0050; ZERO: %fadd2 = fadd float 0.000000e+00, 0.000000e+0051; ZERO: %fadd3 = fadd float 0.000000e+00, 0.000000e+0052; ZERO: %fadd4 = fadd float 0.000000e+00, 0.000000e+0053; ZERO: %fadd5 = fadd float 0.000000e+00, 0.000000e+0054; ZERO: %fadd6 = fadd <2 x float> %arg2, zeroinitializer55; ZERO: %fadd7 = fadd <2 x float> zeroinitializer, zeroinitializer56; ZERO: %fadd8 = fadd <2 x float> zeroinitializer, zeroinitializer57; ZERO: %fadd9 = fadd <2 x float> zeroinitializer, zeroinitializer58; ZERO: %fadd10 = fadd <2 x float> zeroinitializer, zeroinitializer59; ZERO: %fadd11 = fadd <2 x float> zeroinitializer, zeroinitializer60; ZERO: %fadd12 = fadd <2 x float> zeroinitializer, zeroinitializer61 62 63; NAN: %fadd0 = fadd float %arg0, 0x7FF800000000000064; NAN: %fadd1 = fadd float 0x7FF8000000000000, 0x7FF800000000000065; NAN: %fadd2 = fadd float 0x7FF8000000000000, 0.000000e+0066; NAN: %fadd3 = fadd float 0x7FF8000000000000, 1.000000e+0067; NAN: %fadd4 = fadd float 0x7FF8000000000000, 0x7FF800000000000068; NAN: %fadd5 = fadd float 0x7FF8000000000000, 0x7FF800000000000069; NAN: %fadd6 = fadd <2 x float> %arg2, splat (float 0x7FF8000000000000)70; NAN: %fadd7 = fadd <2 x float> splat (float 0x7FF8000000000000), splat (float 0x7FF8000000000000)71; NAN: %fadd8 = fadd <2 x float> splat (float 0x7FF8000000000000), zeroinitializer72; NAN: %fadd9 = fadd <2 x float> splat (float 0x7FF8000000000000), splat (float 1.000000e+00)73; NAN: %fadd10 = fadd <2 x float> splat (float 0x7FF8000000000000), splat (float 0x7FF8000000000000)74; NAN: %fadd11 = fadd <2 x float> splat (float 0x7FF8000000000000), splat (float 0x7FF8000000000000)75; NAN: %fadd12 = fadd <2 x float> splat (float 0x7FF8000000000000), splat (float 0x7FF8000000000000)76 77define void @foo(float %arg0, float %arg1, <2 x float> %arg2, <2 x float> %arg3) {78bb0:79  %fadd0 = fadd float %arg0, %arg180  %fadd1 = fadd float %arg0, %arg181  %fadd2 = fadd float %arg0, 0.082  %fadd3 = fadd float %arg0, 1.083  %fadd4 = fadd float %arg0, 0x7FF800000000000084  %fadd5 = fadd float %arg0, undef85  %fadd6 = fadd <2 x float> %arg2, %arg386  %fadd7 = fadd <2 x float> %arg2, %arg387  %fadd8 = fadd <2 x float> %arg2, zeroinitializer88  %fadd9 = fadd <2 x float> %arg2, <float 1.0, float 1.0>89  %fadd10 = fadd <2 x float> %arg2, undef90  %fadd11 = fadd <2 x float> %arg2, <float 0x7FF8000000000000, float 0x7FF8000000000000>91  %fadd12 = fadd <2 x float> %arg2, <float 0x7FF8000000000000, float 2.0>92  ret void93}94