[llvm] r181576 - R600: Expand vselect for v4i32 and v2i32

Bill Wendling wendling at apple.com
Wed May 15 17:28:17 PDT 2013


Okay done. :)

-bw

On May 9, 2013, at 7:27 PM, Tom Stellard <tom at stellard.net> wrote:

> Hi Bill,
> 
> Could you cherry-pick the following patches to the 3.3 branch, they fix
> a few failures in the piglit test suite and a bug reported to the
> freedesktop bugzilla.
> 
> r181576, r181577, r181578, r181579, r181580
> 
> Thanks,
> Tom
> 
> 
> 
> On Fri, May 10, 2013 at 02:09:24AM -0000, Tom Stellard wrote:
>> Author: tstellar
>> Date: Thu May  9 21:09:24 2013
>> New Revision: 181576
>> 
>> URL: http://llvm.org/viewvc/llvm-project?rev=181576&view=rev
>> Log:
>> R600: Expand vselect for v4i32 and v2i32
>> 
>> v2: Add vselect v4i32 test
>> 
>> Patch by: Aaron Watry
>> 
>> Reviewed-by: Tom Stellard <thomas.stellard at amd.com>
>> Signed-off-by: Aaron Watry <awatry at gmail.com>
>> 
>> NOTE: This is a candidate for the 3.3 branch.
>> 
>> Added:
>>    llvm/trunk/test/CodeGen/R600/vselect.ll
>> Modified:
>>    llvm/trunk/lib/Target/R600/R600ISelLowering.cpp
>> 
>> Modified: llvm/trunk/lib/Target/R600/R600ISelLowering.cpp
>> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/R600/R600ISelLowering.cpp?rev=181576&r1=181575&r2=181576&view=diff
>> ==============================================================================
>> --- llvm/trunk/lib/Target/R600/R600ISelLowering.cpp (original)
>> +++ llvm/trunk/lib/Target/R600/R600ISelLowering.cpp Thu May  9 21:09:24 2013
>> @@ -78,6 +78,9 @@ R600TargetLowering::R600TargetLowering(T
>>   setOperationAction(ISD::SELECT, MVT::i32, Custom);
>>   setOperationAction(ISD::SELECT, MVT::f32, Custom);
>> 
>> +  setOperationAction(ISD::VSELECT, MVT::v4i32, Expand);
>> +  setOperationAction(ISD::VSELECT, MVT::v2i32, Expand);
>> +
>>   // Legalize loads and stores to the private address space.
>>   setOperationAction(ISD::LOAD, MVT::i32, Custom);
>>   setOperationAction(ISD::LOAD, MVT::v2i32, Custom);
>> 
>> Added: llvm/trunk/test/CodeGen/R600/vselect.ll
>> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/R600/vselect.ll?rev=181576&view=auto
>> ==============================================================================
>> --- llvm/trunk/test/CodeGen/R600/vselect.ll (added)
>> +++ llvm/trunk/test/CodeGen/R600/vselect.ll Thu May  9 21:09:24 2013
>> @@ -0,0 +1,17 @@
>> +;RUN: llc < %s -march=r600 -mcpu=redwood | FileCheck %s
>> +
>> +; CHECK: @test_select_v4i32
>> +; CHECK: CNDE_INT T{{[0-9]+\.[XYZW], PV\.[xyzw], T[0-9]+\.[XYZW], T[0-9]+\.[XYZW]}}
>> +; CHECK: CNDE_INT * T{{[0-9]+\.[XYZW], PV\.[xyzw], T[0-9]+\.[XYZW], T[0-9]+\.[XYZW]}}
>> +; CHECK: CNDE_INT * T{{[0-9]+\.[XYZW], T[0-9]+\.[XYZW], T[0-9]+\.[XYZW], T[0-9]+\.[XYZW]}}
>> +; CHECK: CNDE_INT * T{{[0-9]+\.[XYZW], T[0-9]+\.[XYZW], T[0-9]+\.[XYZW], T[0-9]+\.[XYZW]}}
>> +
>> +define void @test_select_v4i32(<4 x i32> addrspace(1)* %out, <4 x i32> addrspace(1)* %in0, <4 x i32> addrspace(1)* %in1) {
>> +entry:
>> +  %0 = load <4 x i32> addrspace(1)* %in0
>> +  %1 = load <4 x i32> addrspace(1)* %in1
>> +  %cmp = icmp ne <4 x i32> %0, %1
>> +  %result = select <4 x i1> %cmp, <4 x i32> %0, <4 x i32> %1
>> +  store <4 x i32> %result, <4 x i32> addrspace(1)* %out
>> +  ret void
>> +}
>> 
>> 
>> _______________________________________________
>> llvm-commits mailing list
>> llvm-commits at cs.uiuc.edu
>> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits




More information about the llvm-commits mailing list