Displaying 7 results from an estimated 7 matches for "cmp19".
Did you mean:
cmp1
2013 Jan 21
2
[LLVMdev] introducing sign extending halfword loads into the LLVM IR
...lect operation on 32-bit operands:
%0 = load i16* %arrayidx2, align 2, !dbg !502
%conv = sext i16 %0 to i32, !dbg !502
%cmp16 = icmp sgt i16 %0, 2047, !dbg !510
br i1 %cmp16, label %if.end23, label %if.else, !dbg !510
if.else: ; preds = %for.body
%cmp19 = icmp slt i16 %0, -2048, !dbg !511 <--- 16-bit comparison
%.conv = select i1 %cmp19, i32 -2048, i32 %conv, !dbg !511 <--- 32-bit select
br label %if.end23, !dbg !511
if.end23: ; preds = %if.else, %fo...
2013 Jan 21
0
[LLVMdev] introducing sign extending halfword loads into the LLVM IR
...;
> %0 = load i16* %arrayidx2, align 2, !dbg !502
> %conv = sext i16 %0 to i32, !dbg !502
> %cmp16 = icmp sgt i16 %0, 2047, !dbg !510
> br i1 %cmp16, label %if.end23, label %if.else, !dbg !510
>
> if.else: ; preds = %for.body
> %cmp19 = icmp slt i16 %0, -2048, !dbg !511
> <--- 16-bit comparison
> %.conv = select i1 %cmp19, i32 -2048, i32 %conv, !dbg !511 <---
> 32-bit select
> br label %if.end23, !dbg !511
>
> if.end23: ; preds = %if.else,
>...
2013 Jan 21
2
[LLVMdev] introducing sign extending halfword loads into the LLVM IR
...> %0 = load i16* %arrayidx2, align 2, !dbg !502
> %conv = sext i16 %0 to i32, !dbg !502
> %cmp16 = icmp sgt i16 %0, 2047, !dbg !510
> br i1 %cmp16, label %if.end23, label %if.else, !dbg !510
>
> if.else: ; preds = %for.body
> %cmp19 = icmp slt i16 %0, -2048, !dbg !511 <--- 16-bit comparison
> %.conv = select i1 %cmp19, i32 -2048, i32 %conv, !dbg !511 <--- 32-bit select
> br label %if.end23, !dbg !511
>
> if.end23: ; p...
2013 Jan 21
3
[LLVMdev] introducing sign extending halfword loads into the LLVM IR
...rrayidx2, align 2, !dbg !502
>> %conv = sext i16 %0 to i32, !dbg !502
>> %cmp16 = icmp sgt i16 %0, 2047, !dbg !510
>> br i1 %cmp16, label %if.end23, label %if.else, !dbg !510
>>
>> if.else: ; preds = %for.body
>> %cmp19 = icmp slt i16 %0, -2048, !dbg !511 <--- 16-bit comparison
>> %.conv = select i1 %cmp19, i32 -2048, i32 %conv, !dbg !511 <--- 32-bit select
>> br label %if.end23, !dbg !511
>>
>> if.end23:...
2013 Jan 21
0
[LLVMdev] introducing sign extending halfword loads into the LLVM IR
...arrayidx2, align 2, !dbg !502
>> %conv = sext i16 %0 to i32, !dbg !502
>> %cmp16 = icmp sgt i16 %0, 2047, !dbg !510
>> br i1 %cmp16, label %if.end23, label %if.else, !dbg !510
>>
>> if.else: ; preds = %for.body
>> %cmp19 = icmp slt i16 %0, -2048, !dbg !511
>> <--- 16-bit comparison
>> %.conv = select i1 %cmp19, i32 -2048, i32 %conv, !dbg !511
>> <--- 32-bit select
>> br label %if.end23, !dbg !511
>>
>> if.end23: ; pred...
2017 May 21
4
Handling native i16 types in clang and opt
Hello.
My target architecture supports natively 16 bit integers (i16).
Whenever I write in C programs using only short types, clang compiles the program to
LLVM and converts the i16 data to i32 to perform arithmetic operations and then truncates
the results to i16. Then, the InstructionCombining (INSTCOMBINE or IC) pass removes these
conversions back and forth from i16, except for
2013 Feb 14
1
[LLVMdev] LiveIntervals analysis problem
...%entry
%and14 = and i16 %0, 15
%cmp15 = icmp eq i16 %and14, 0
br i1 %cmp15, label %lor.lhs.false, label %if.then31
lor.lhs.false: ; preds = %if.then11
%arrayidx17 = getelementptr inbounds i16* %pe, i32 2
%2 = load i16* %arrayidx17, align 2, !tbaa !5
%cmp19 = icmp eq i16 %2, 0
br i1 %cmp19, label %lor.lhs.false21, label %if.then31
lor.lhs.false21: ; preds = %lor.lhs.false
%arrayidx22 = getelementptr inbounds i16* %pe, i32 1
%3 = load i16* %arrayidx22, align 2, !tbaa !5
%cmp24 = icmp eq i16 %3, 0
br i1 %cmp24...