[LLVMdev] What is the state of LLVM's ARM backend
Xerxes RĂ„nby
xerxes at zafena.se
Wed Apr 8 07:30:36 PDT 2009
Duncan Sands skrev:
> Hi Xerxes,
>
>
>> 4. softfloat related errors
>> http://labb.zafena.se/shark-testing/llvmARMCodeGenFailures200904/softenfloat_Do_not_know_how_to_soften_the_result_of_this_operator/
>> example:
>>
>> root at overo:/home/xerxes/llvm-test/fail/CodeGen/softenfloat# llvm-as < 2007-11-19-VectorSplitting.ll | llc
>> SoftenFloatResult #0: 0x614e00: f32 = undef
>> llc: /usr/src/openembedded/overo/tmp/work/armv7a-angstrom-linux-gnueabi/llvm2.6-2.6-r0/llvm-2.6/lib/CodeGen/SelectionDAG/LegalizeFloatTypes.cpp:54: void llvm::DAGTypeLegalizer::SoftenFloatResult(llvm::SDNode*, unsigned int): Assertion `0 && "Do not know how to soften the result of this operator!"' failed.
>> Stack dump:
>> 0. Program arguments: llc
>> 1. Running pass 'ARM Instruction Selection' on function '@execute_shader'
>> Aborted
>>
>
> this is now fixed.
>
> Ciao,
>
> Duncan.
>
Great work Duncan!
I recompiled llvm and restested the failing softenfloat tests on my machine:
2007-11-19-VectorSplitting.ll
OK!
vector-constantexpr.ll
OK!
vector-constantexpr.ll
OK!
llvm-as < print-arith-fp.l
l | llc
SoftenFloatResult #0: 0x61aad8: f64 = frem 0x619fb0, 0x619ea0
llc:
/usr/src/openembedded/overo/tmp/work/armv7a-angstrom-linux-gnueabi/llvm2.6-2.6-r1/llvm-2.6/lib/CodeGen/SelectionDAG/LegalizeFloatTypes.cpp:54:
void llvm::DAGTypeLegalizer::SoftenFloatResult(llvm::SDNode*, unsigned
int): Assertion `0 && "Do not know how to soften the result of this
operator!"' failed.
Stack dump:
0. Program arguments: llc
1. Running pass 'ARM Instruction Selection' on function '@main'
Aborted
uname -a
Linux overo 2.6.28-omap1 #1 Mon Mar 2 08:40:39 PST 2009 armv7l unknown
llc --version
Low Level Virtual Machine (http://llvm.org/):
llvm version 2.6svn
Optimized build with assertions.
Built Apr 8 2009(16:04:09).
it seems we need to fix softenfloat f64 as well.
Cheers
Xerxes
More information about the llvm-dev
mailing list