[LLVMdev] "Cannot select" error in 2.9
Gregory Junker
gjunker at dayark.com
Sat Jul 30 14:39:32 PDT 2011
> -----Original Message-----
> From: Nick Lewycky [mailto:nicholas at mxc.ca]
> Sent: Saturday, July 30, 2011 2:36 PM
> To: Gregory Junker
> Cc: 'Rotem, Nadav'; llvmdev at cs.uiuc.edu
> Subject: Re: [LLVMdev] "Cannot select" error in 2.9
>
> Gregory Junker wrote:
> >>> -----Original Message-----
> >>> From: Rotem, Nadav [mailto:nadav.rotem at intel.com]
> >>> Sent: Saturday, July 30, 2011 6:51 AM
> >>> To: Gregory Junker
> >>> Subject: RE: [LLVMdev] "Cannot select" error in 2.9
> >>>
> >>> Can you reduce the test with bug-point ? Does it work on ToT ?
> >>
> >> Hi Nadav
> >>
> >> I'm not sure what those are -- can you clarify?
> >>
> >
> > OK bugpoint was simple enough to figure out -- it tells me
> >
> >
> > bugpoint: test.ll:2:12: error: invalid operand type for instruction
> >
> > %1 = add double %f0, %f1
> >
> >
> > That doesn't make a lot of sense to me -- LLVM can't add doubles?
>
> No, LLVM can't, but it can fadd them. ;) "add" only accepts integers
> and
> vectors of integers, "fadd" accepts floats and vectors of floats. See
> their entries in the language reference:
>
> add: http://llvm.org/docs/LangRef.html#i_add
> fadd: http://llvm.org/docs/LangRef.html#i_fadd
>
> The split is intended to let us add additional properties to integer
> adds (like the nuw/nsw bits documented) that don't apply to floats, and
> properties to floats (rounding modes) that don't apply to ints.
Ah interesting -- this was introduced in 2.9 then? Easy enough for me to fix
this in my code.
Out of curiosity, was this documented anywhere? I ask because I looked
through release notes and either missed this or didn't see it, and I'd like
to find out what else changed so I can make the necessary adjustments in my
code.
Thanks!
Greg
More information about the llvm-dev
mailing list