[LLVMbugs] [Bug 12165] New: %FPSCR used undefined with cpu=cortex-a8%FPSCR<imp-use, kill> FPSCR used undefined with -mcpu=cortex-a8

bugzilla-daemon at llvm.org bugzilla-daemon at llvm.org
Fri Mar 2 13:37:12 PST 2012


http://llvm.org/bugs/show_bug.cgi?id=12165

             Bug #: 12165
           Summary: %FPSCR used undefined with
                    cpu=cortex-a8%FPSCR<imp-use,kill> FPSCR used undefined
                    with -mcpu=cortex-a8
           Product: libraries
           Version: trunk
          Platform: PC
        OS/Version: Linux
            Status: NEW
          Severity: normal
          Priority: P
         Component: Backend: ARM
        AssignedTo: unassignedbugs at nondot.org
        ReportedBy: dschuff at google.com
                CC: llvmbugs at cs.uiuc.edu
    Classification: Unclassified


Created attachment 8134
  --> http://llvm.org/bugs/attachment.cgi?id=8134
reproducer code

When building some really basic FP code on arm, 
the following error is generated. it only happens with -mcpu=cortex-a8


../install/bin/llc -march=arm -filetype=obj -mcpu=cortex-a8
bugpoint-reduced-simplified.bc -o strtod.o
# In Register Scavenger
# Machine code for function _strtod_r:

BB#0: derived from LLVM BB %entry
    Successors according to CFG: BB#1

BB#1: derived from LLVM BB %dig_done
    Predecessors according to CFG: BB#0
        CMPri %R0<undef>, 0, pred:14, pred:%noreg, %CPSR<imp-def>
        Bcc <BB#5>, pred:1, pred:%CPSR<kill>
        B <BB#2>
    Successors according to CFG: BB#2 BB#5

BB#2: derived from LLVM BB %if.end253
    Predecessors according to CFG: BB#1
        CMPri %R0<undef>, 0, pred:14, pred:%noreg, %CPSR<imp-def>
        Bcc <BB#4>, pred:1, pred:%CPSR<kill>
        B <BB#3>
    Successors according to CFG: BB#3 BB#4

BB#3: derived from LLVM BB %land.lhs.true275
    Predecessors according to CFG: BB#2
        %R0<def> = VMRS pred:14, pred:%noreg, %FPSCR<imp-use,kill>
        %R0<def> = ADDri %R0<kill>, 4194304, pred:14, pred:%noreg, opt:%noreg
        %R0<def> = UBFX %R0<kill>, 22, 1, pred:14, pred:%noreg
        CMPri %R0<kill>, 1, pred:14, pred:%noreg, %CPSR<imp-def>
        Bcc <BB#5>, pred:0, pred:%CPSR<kill>
        B <BB#4>
    Successors according to CFG: BB#5 BB#4

BB#4: derived from LLVM BB %if.end314
    Predecessors according to CFG: BB#2 BB#3

BB#5: derived from LLVM BB %ret
    Predecessors according to CFG: BB#1 BB#3
    Successors according to CFG: BB#6

BB#6: derived from LLVM BB %if.end880
    Predecessors according to CFG: BB#5
        BX_RET pred:14, pred:%noreg

# End machine code for function _strtod_r.

*** Bad machine code: Using an undefined physical register ***
- function:    _strtod_r
- basic block: land.lhs.true275 0x2a08b48 (BB#3)
- instruction: %R0<def> = VMRS pred:14, pred:%noreg, %FPSCR<imp-use,kill>
- operand 3:   %FPSCR<imp-use,kill>
LLVM ERROR: Found 1 machine code errors.

-- 
Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.



More information about the llvm-bugs mailing list