Displaying 6 results from an estimated 6 matches for "false2".
Did you mean:
false
2012 Sep 02
2
[LLVMdev] branch on vector compare?
...%17 = extractelement <4 x i1> %16, i32 0
%18 = extractelement <4 x i1> %16, i32 1
%19 = extractelement <4 x i1> %16, i32 2
%20 = extractelement <4 x i1> %16, i32 3
%21 = or i1 %17, %18
%22 = or i1 %19, %20
%23 = or i1 %21, %22
br i1 %23, label %true1, label %false2
2012 Sep 04
2
[LLVMdev] branch on vector compare?
...l
> Liao submitted fixes for this, so I think
> if you change it to
> %16 = fcmp ogt <4 x float> %15, %cr
> %17 = sext <4 x i1> %16 to <4 x i32>
> %18 = bitcast <4 x i32> %17 to i128
> %19 = icmp ne i128 %18, 0
> br i1 %19, label %true1, label %false2
>
> should do the trick (one cmpps + one ptest + one br instruction).
> This, however, requires sse41 which I don't know if you have - you say
> the extractelements go through memory which I've never seen then again
> our code didn't try to extract the i1 directly (even...
2012 Sep 04
0
[LLVMdev] branch on vector compare?
...ng I filed a bug on (12312). Michael
Liao submitted fixes for this, so I think
if you change it to
%16 = fcmp ogt <4 x float> %15, %cr
%17 = sext <4 x i1> %16 to <4 x i32>
%18 = bitcast <4 x i32> %17 to i128
%19 = icmp ne i128 %18, 0
br i1 %19, label %true1, label %false2
should do the trick (one cmpps + one ptest + one br instruction).
This, however, requires sse41 which I don't know if you have - you say
the extractelements go through memory which I've never seen then again
our code didn't try to extract the i1 directly (even without fixes for
ptest t...
2012 Sep 03
3
[LLVMdev] branch on vector compare?
> > which goes through memory. Is there some idiom I'm missing so that it would
use
> > for instance movmsk for SSE or vcmpgt & cr6 for altivec?
>
> I don't think you are missing anything: LLVM IR has no support for horizontal
> operations like or'ing the elements of a vector of boolean together. The code
> generators do try to recognize a few idioms and
2012 Sep 05
0
[LLVMdev] branch on vector compare?
...xes for this, so I think
>> if you change it to
>> %16 = fcmp ogt <4 x float> %15, %cr
>> %17 = sext <4 x i1> %16 to <4 x i32>
>> %18 = bitcast <4 x i32> %17 to i128
>> %19 = icmp ne i128 %18, 0
>> br i1 %19, label %true1, label %false2
>>
>> should do the trick (one cmpps + one ptest + one br instruction).
>> This, however, requires sse41 which I don't know if you have - you say
>> the extractelements go through memory which I've never seen then again
>> our code didn't try to extract the...
2012 Sep 03
0
[LLVMdev] branch on vector compare?
..., i32 0
> %18 = extractelement <4 x i1> %16, i32 1
> %19 = extractelement <4 x i1> %16, i32 2
> %20 = extractelement <4 x i1> %16, i32 3
> %21 = or i1 %17, %18
> %22 = or i1 %19, %20
> %23 = or i1 %21, %22
> br i1 %23, label %true1, label %false2
>
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
>