[LLVMdev] Simple question on sign
sam parker
S.Parker3 at lboro.ac.uk
Thu Feb 23 01:45:29 PST 2012
how does llvm decide when to use unsigned instructions then? such as unsigned
adds and loads? I'm trying to describe some multiply shift ops and getting a
bit stuck differentiating between signed and unsigned.
sam
Eli Friedman-2 wrote:
>
> On Wed, Feb 22, 2012 at 4:28 PM, Ryan Taylor <ryta1203 at gmail.com> wrote:
> On Wed, Feb 22, 2012 at 4:28 PM, Ryan Taylor <ryta1203 at gmail.com> wrote:
>> How do you determine if a shift is signed or not?
>>
>> ashr = always signed?
>
> Essentially, yes.
>
>> lshr = always unsigned?
>
> Essentially, yes.
>
>> shl = always signed?
>
> Signed left shift and unsigned left shift are both shl.
>
> http://llvm.org/docs/LangRef.html#i_shl describes the semantics of shifts.
>
>> The CmpInst has the "isSigned()" function, but it appears that every
>> other
>> Instruction I've looked at doesn't seem to have this.
>
> There isn't an isSigned() function because the query doesn't really
> make sense. LLVM IR doesn't in general track whether a value is
> signed or unsigned.
>
> -Eli
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
>
>
--
View this message in context: http://old.nabble.com/Simple-question-on-sign-tp33375005p33376706.html
Sent from the LLVM - Dev mailing list archive at Nabble.com.
More information about the llvm-dev
mailing list