[llvm-bugs] [Bug 24549] New: ARM backend crash when compiling half-precision FP op without hardware FP

via llvm-bugs llvm-bugs at lists.llvm.org
Mon Aug 24 03:22:30 PDT 2015


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

            Bug ID: 24549
           Summary: ARM backend crash when compiling half-precision FP op
                    without hardware FP
           Product: libraries
           Version: trunk
          Hardware: PC
                OS: Linux
            Status: NEW
          Severity: normal
          Priority: P
         Component: Backend: ARM
          Assignee: unassignedbugs at nondot.org
          Reporter: oliver.stannard at arm.com
                CC: llvm-bugs at lists.llvm.org
    Classification: Unclassified

This IR causes the ARM backend to crash when it is compiled for a target that
does not have any floating-point hardware:

  target datalayout = "e-m:e-p:32:32-i64:64-v128:64:128-a:0:32-n32-S64"
  target triple = "armv7--none-eabi"

  define void @foo(half* %a, half* %b, half* %c) {
  entry:
    %d = load half, half* %a
    %e = load half, half* %b
    %f = fadd half %d, %e
    store half %f, half* %c
    ret void
  }

This is the error I get (with a recent trunk build):
$ llc test.ll -mattr=-vfp2
LLVM ERROR: Unsupported library call operation!

LLVM is attempting to lower the half-precision fadd to a library call, but
there are no library calls for half-precision. it should probably promote the
value to float (as it does when f32 is legal but f16 is not), and then emit f32
library calls.

-- 
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/20150824/4a3994a8/attachment.html>


More information about the llvm-bugs mailing list