[all-commits] [llvm/llvm-project] ac4733: [SystemZ] Fix 128-bit strict FMA expansion pre-z14

Ulrich Weigand via All-commits all-commits at lists.llvm.org
Wed Dec 11 07:32:32 PST 2019


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: ac473394ff04ac3e33c15b8358b68a78834b8424
      https://github.com/llvm/llvm-project/commit/ac473394ff04ac3e33c15b8358b68a78834b8424
  Author: Ulrich Weigand <ulrich.weigand at de.ibm.com>
  Date:   2019-12-11 (Wed, 11 Dec 2019)

  Changed paths:
    M llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
    A llvm/test/CodeGen/SystemZ/fp-mul-13.ll
    A llvm/test/CodeGen/SystemZ/fp-strict-mul-12.ll
    A llvm/test/CodeGen/SystemZ/fp-strict-mul-13.ll

  Log Message:
  -----------
  [SystemZ] Fix 128-bit strict FMA expansion pre-z14

Before z14, we did not have any FMA instruction for 128-bit
floating-point, so the @llvm.fma.f128 intrinsic needs to be
expanded to a libcall on those platforms.

This worked correctly for regular FMA, but was implemented
incorrectly for the strict version.  This was not noticed
because we did not have test coverage for this case.

This patch fixes that incorrect expansion and adds the
missing test cases.




More information about the All-commits mailing list