[LLVMdev] SoftenSetCCOpernads in LegalizeFloatTypes.cpp
Sanjiv Gupta
sanjiv.gupta at microchip.com
Fri Dec 25 09:16:08 PST 2009
On Mon, 2009-10-05 at 16:54 -0700, Eli Friedman wrote:
> On Mon, Oct 5, 2009 at 11:11 AM, Sanjiv Gupta
> <sanjiv.gupta at microchip.com> wrote:
> > Sanjiv Gupta wrote:
> >> Sanjiv Gupta wrote:
> >>
> >>> Duncan Sands wrote:
> >>>
> >>>
> >>>> Hi Sanjiv, I think a lot of the softening code assumes you are
> dealing
> >>>> with float (32 bits). So it's not just a matter of changing the
> libcall
> >>>> return type.
> >>>>
> >>>>
> >>>>
> >>> Yes, we are dealing with 32-bits only. But why the cmp libcalls
> have to
> >>> return a 32-bit value.
> >>> e.g. Our libcall for comparing two floats is
> >>>
> >>> char _eq_f32 (float a, float b);
> >>>
> >>> rather than
> >>>
> >>> long _eq_f32 (float a, float b);
> >>>
> >>>
> >>> - Sanjiv
> >>>
> >>>
> >> Why not use TLI.getSetCCResultType () ?
> >>
> >> - Sanjiv
> >>
> >>
> > Duncan,
> > Any thoughts ?
> > Or am I missing something very obvious here?
>
> getSetCCResultType has nothing to do with the result of a libcall;
> for
> example, on x86 it's i8 even though any libcalls like that will
> return
> an i32. You really need a separate method.
>
> -Eli
>
Attached a patch for adding the said method. I was off the trunk for a
while so it took longer.
- Sanjiv
-------------- next part --------------
A non-text attachment was scrubbed...
Name: CmpLibcallRetType.diff
Type: text/x-patch
Size: 2199 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20091225/b03cbf22/attachment.bin>
More information about the llvm-dev
mailing list