brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.4 KiB · afc55dc Raw
58 lines · plain
1; RUN: opt < %s -passes=instcombine -mtriple=x86_64-apple-macosx -S | FileCheck %s2target triple = "x86_64-apple-macosx"3 4define double @test1(double %a, double %b) nounwind {5  %wa = fpext double %a to x86_fp806  %wb = fpext double %b to x86_fp807  %wr = fadd x86_fp80 %wa, %wb8  %r = fptrunc x86_fp80 %wr to double9  ret double %r10; CHECK: test111; CHECK: fadd x86_fp8012; CHECK: ret13}14 15define double @test2(double %a, double %b) nounwind {16  %wa = fpext double %a to x86_fp8017  %wb = fpext double %b to x86_fp8018  %wr = fsub x86_fp80 %wa, %wb19  %r = fptrunc x86_fp80 %wr to double20  ret double %r21; CHECK: test222; CHECK: fsub x86_fp8023; CHECK: ret24}25 26define double @test3(double %a, double %b) nounwind {27  %wa = fpext double %a to x86_fp8028  %wb = fpext double %b to x86_fp8029  %wr = fmul x86_fp80 %wa, %wb30  %r = fptrunc x86_fp80 %wr to double31  ret double %r32; CHECK: test333; CHECK: fmul x86_fp8034; CHECK: ret35}36 37define double @test4(double %a, half %b) nounwind {38  %wa = fpext double %a to x86_fp8039  %wb = fpext half %b to x86_fp8040  %wr = fmul x86_fp80 %wa, %wb41  %r = fptrunc x86_fp80 %wr to double42  ret double %r43; CHECK: test444; CHECK: fmul double45; CHECK: ret46}47 48define double @test5(double %a, double %b) nounwind {49  %wa = fpext double %a to x86_fp8050  %wb = fpext double %b to x86_fp8051  %wr = fdiv x86_fp80 %wa, %wb52  %r = fptrunc x86_fp80 %wr to double53  ret double %r54; CHECK: test555; CHECK: fdiv x86_fp8056; CHECK: ret57}58