[Mesa-dev] R600: Expand integer operations for SI and consolidate code with EG

Tom Stellard tom at stellard.net
Fri Jun 21 19:11:09 PDT 2013


On Thu, Jun 20, 2013 at 06:43:38PM -0500, Aaron Watry wrote:
> This series is intended to bring SI closer to evergreen when it comes to
> support for v2i32/v4i32 integer operations.
> 
> It adds support for expanding the following v2i32/v4i32 operations on SI:
> AND, MUL, OR, SHL, SRL, ASHR, UDIV, UREM, XOR
> 
> Once that's done, the setOperationAction(op,type,Expand) calls that appear in
> both R600ISelLowering.cpp and SIISelLowering.cpp are all moved to
> AMDGPUISelLowering.cpp.  If we decide to implement these ops through native
> instructions for either target in the future, we can override that in the
> individual targets.
> 
> Signed-off-by: Aaron Watry <awatry at gmail.com>

Just one small comment on the SHL patch, but with that fixed these
patches are:

Reviewed-by: Tom Stellard <thomas.stellard at amd.com>

> 
> R600/SI: Expand and of v2i32/v4i32 for SI
> R600/SI: Expand mul of v2i32/v4i32 for SI
> R600/SI: Expand or of v2i32/v4i32 for SI
> R600/SI: Expand shl of v2i32/v4i32 for SI
> R600/SI: Expand srl of v2i32/v4i32 for SI
> R600/SI: Expand ashr of v2i32/v4i32 for SI
> R600/SI: Expand udiv v[24]i32 for SI and v2i32 for EG
> R600/SI: Expand urem of v2i32/v4i32 for SI
> R600: Add v2i32 test for setcc on evergreen
> R600/SI: Expand xor v2i32/v4i32
> R600: Add v2i32 test for vselect
> R600: Consolidate expansion of v2i32/v4i32 ops for SI/EG
> 
>  lib/Target/R600/AMDGPUISelLowering.cpp | 22 ++++++++++++++++
>  lib/Target/R600/R600ISelLowering.cpp   | 18 -------------
>  lib/Target/R600/SIISelLowering.cpp     |  5 ----
>  test/CodeGen/R600/and.ll               | 37 +++++++++++++++++++++-----
>  test/CodeGen/R600/mul.ll               | 38 ++++++++++++++++++++++-----
>  test/CodeGen/R600/or.ll                | 41 ++++++++++++++++++++++++-----
>  test/CodeGen/R600/setcc.ll             | 25 +++++++++++++++---
>  test/CodeGen/R600/shl.ll               | 47 ++++++++++++++++++++++++++--------
>  test/CodeGen/R600/sra.ll               | 41 ++++++++++++++++++++++++-----
>  test/CodeGen/R600/srl.ll               | 42 +++++++++++++++++++++++++-----
>  test/CodeGen/R600/udiv.ll              | 25 +++++++++++++++---
>  test/CodeGen/R600/urem.ll              | 27 ++++++++++++++++---
>  test/CodeGen/R600/vselect.ll           | 26 ++++++++++++++-----
>  test/CodeGen/R600/xor.ll               | 40 ++++++++++++++++++++++++-----
>  14 files changed, 345 insertions(+), 89 deletions(-)
> 
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/mesa-dev



More information about the llvm-commits mailing list