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: [email protected]
ReportedBy: [email protected]
CC: [email protected]
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.
_______________________________________________
LLVMbugs mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/llvmbugs