================ @@ -0,0 +1,59 @@ +; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 5 +; RUN: llc -mtriple=sparc64 -mattr=+vis3 < %s | FileCheck %s + +define float @fnadds(float %a, float %b) nounwind { +; CHECK-LABEL: fnadds: +; CHECK: ! %bb.0: ! %entry +; CHECK-NEXT: retl +; CHECK-NEXT: fnadds %f1, %f3, %f0 +entry: + %add = fadd float %a, %b + %fneg = fneg float %add + ret float %fneg +} + +define double @fnaddd(double %a, double %b) nounwind { +; CHECK-LABEL: fnaddd: +; CHECK: ! %bb.0: ! %entry +; CHECK-NEXT: retl +; CHECK-NEXT: fnaddd %f0, %f2, %f0 +entry: + %add = fadd double %a, %b + %fneg = fneg double %add + ret double %fneg +} + +define float @fnmuls(float %a, float %b) nounwind { +; CHECK-LABEL: fnmuls: +; CHECK: ! %bb.0: ! %entry +; CHECK-NEXT: retl +; CHECK-NEXT: fnmuls %f1, %f3, %f0 +entry: + %mul = fmul float %a, %b + %fneg = fneg float %mul + ret float %fneg +} + +define double @fnmuld(double %a, double %b) nounwind { +; CHECK-LABEL: fnmuld: +; CHECK: ! %bb.0: ! %entry +; CHECK-NEXT: retl +; CHECK-NEXT: fnmuld %f0, %f2, %f0 +entry: + %mul = fmul double %a, %b + %fneg = fneg double %mul + ret double %fneg +} + +define double @fnsmuld(float %a, float %b) nounwind { +; CHECK-LABEL: fnsmuld: +; CHECK: ! %bb.0: ! %entry +; CHECK-NEXT: retl +; CHECK-NEXT: fnsmuld %f1, %f3, %f0 +entry: + %conv.i = fpext float %a to double + %conv1.i = fpext float %b to double + %mul = fmul double %conv.i, %conv1.i + %fneg = fneg double %mul + ret double %fneg +} ---------------- arsenm wrote:
It's hard to verify test coverage when so much is in one patch, I would have done this one pattern per patch with precommitted tests so it's trivial to see that it's tested https://github.com/llvm/llvm-project/pull/135717 _______________________________________________ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits