I checked the OpenRISC architecture spec. v.1.1 and it looks like OpenRISC ISA doesn’t include such instructions. So they have to be implemented somewhere in LLVM by appropriate routines. Personally, I’m working on FPU32 port now but I use GCC/NewLIB tool chain for SoftFloat (as testing tool), Whetstone (as FPU benchmark) and Coremark (as integer pipeline benchmark). I made some (really not significant) modifications to port these tools under GCC/NewLIB, but I haven’t shared the source yet. If you are interested in source code of the tools I’m ready to e-mail them to you (the several KB in zip). BR Andrey
From: Ziqiang Patrick Huang Sent: Friday, January 09, 2015 5:44 PM To: [email protected] ; [email protected] Subject: [OpenRISC] Instruction selection failed when compiling SPEC 2006 Hi, I'm trying to use llvm-or1k to compile SPEC 2006, I'm getting the following errors when compiling some of the benchmarks: LLVM ERROR: Cannot select: 0x5a96d80: f32 = fabs 0x5a95498 [ORD=48] [ID=122] LLVM ERROR: Cannot select: 0x39443f0: f32 = bitcast 0x38ffca8 [ORD=43] [ID=488] LLVM ERROR: Cannot select: 0x5f13298: f32 = fneg 0x5f2e6d0 [ORD=2] [ID=8] It seems like the ISA does not support a bunch of floating point instructions ... Is anyone working on this ? Also what benchmarks have been successfully compiled so far using llvm-or1k ? Thanks, Ziqiang -------------------------------------------------------------------------------- _______________________________________________ OpenRISC mailing list [email protected] http://lists.openrisc.net/listinfo/openrisc
_______________________________________________ OpenRISC mailing list [email protected] http://lists.openrisc.net/listinfo/openrisc
