[llvm-commits] [llvm] r170259 - in /llvm/trunk: lib/Target/Mips/MipsISelLowering.cpp lib/Target/Mips/MipsISelLowering.h test/CodeGen/Mips/mips16fpe.ll

Reed Kotler rkotler at mips.com
Tue Dec 18 21:43:33 PST 2012


On 12/18/2012 08:42 PM, Eli Friedman wrote:
> On Fri, Dec 14, 2012 at 4:20 PM, Reed Kotler <rkotler at mips.com> wrote:
>> Author: rkotler
>> Date: Fri Dec 14 18:20:05 2012
>> New Revision: 170259
>>
>> URL: http://llvm.org/viewvc/llvm-project?rev=170259&view=rev
>> Log:
>> 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.
>>
>>
>> Added:
>>      llvm/trunk/test/CodeGen/Mips/mips16fpe.ll
>> Modified:
>>      llvm/trunk/lib/Target/Mips/MipsISelLowering.cpp
>>      llvm/trunk/lib/Target/Mips/MipsISelLowering.h
>>
>> Modified: llvm/trunk/lib/Target/Mips/MipsISelLowering.cpp
>> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/Mips/MipsISelLowering.cpp?rev=170259&r1=170258&r2=170259&view=diff
>> ==============================================================================
>> --- llvm/trunk/lib/Target/Mips/MipsISelLowering.cpp (original)
>> +++ llvm/trunk/lib/Target/Mips/MipsISelLowering.cpp Fri Dec 14 18:20:05 2012
>> @@ -50,6 +50,13 @@
>>   LargeGOT("mxgot", cl::Hidden,
>>            cl::desc("MIPS: Enable GOT larger than 64k."), cl::init(false));
>>
>> +static cl::opt<bool>
>> +Mips16HardFloat("mips16-hard-float", cl::NotHidden,
>> +                cl::desc("MIPS: mips16 hard float enable."),
>> +                cl::init(false));
> Why is this hidden behind an option?  Is there any reason someone
> would want to turn it off?
>
> -Eli
Do you mean why is hard float not the default?



More information about the llvm-commits mailing list