This code implements most of mips16 hardfloat as it is done by gcc.
authorReed Kotler <rkotler@mips.com>
Sat, 15 Dec 2012 00:20:05 +0000 (00:20 +0000)
committerReed Kotler <rkotler@mips.com>
Sat, 15 Dec 2012 00:20:05 +0000 (00:20 +0000)
commited23fa8e55f5a58741c20c601410c2822d00f066
treedc512ce9bdd5d6994d618b130436c2df33f052a3
parentb1e66d0c4fed6f162424fd5257cedf0d2e705152
This code implements most of mips16 hardfloat as it is done by gcc.
In this case, essentially it is soft float with different library routines.
The next step will be to make this fully interoperational with mips32 floating
point and that requires creating stubs for functions with signatures that
contain floating point types.

I have a more sophisticated design for mips16 hardfloat which I hope to
implement at a later time that directly does floating point without the need
for function calls.

The mips16 encoding has no floating point instructions so one needs to
switch to mips32 mode to execute floating point instructions.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@170259 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/Mips/MipsISelLowering.cpp
lib/Target/Mips/MipsISelLowering.h
test/CodeGen/Mips/mips16fpe.ll [new file with mode: 0644]