[llvm-bugs] [Bug 47567] New: Incorrect transformation: (llvm.maximum undef, %x) -> undef

via llvm-bugs llvm-bugs at lists.llvm.org
Thu Sep 17 16:23:04 PDT 2020


https://bugs.llvm.org/show_bug.cgi?id=47567

            Bug ID: 47567
           Summary: Incorrect transformation: (llvm.maximum undef, %x) ->
                    undef
           Product: libraries
           Version: trunk
          Hardware: PC
                OS: All
            Status: NEW
          Severity: enhancement
          Priority: P
         Component: Scalar Optimizations
          Assignee: unassignedbugs at nondot.org
          Reporter: liuz at cs.utah.edu
                CC: llvm-bugs at lists.llvm.org

Test case from Transforms/InstSimplify/floating-point-arithmetic.ll

define <2 x double> @maxnum_nan_op0_vec(<2 x double> %x) {
; CHECK-LABEL: @maxnum_nan_op0_vec(
; CHECK-NEXT:    ret <2 x double> [[X:%.*]]
;
  %r = call <2 x double> @llvm.maxnum.v2f64(<2 x double> <double
0x7ff8000000000000, double undef>, <2 x double> %x)
  ret <2 x double> %r
}

The second lane for this case performs the rewrite (llvm.maximum undef, %x) ->
undef. The rewrite is illegal. The domain for (llvm.maximum undef, %x) depends
on %x, and obviously the result of llvm.maximum does not fully cover the range
of undef in most of cases.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20200917/daa53d3d/attachment.html>


More information about the llvm-bugs mailing list