diff options
author | Tom Stellard <thomas.stellard@amd.com> | 2013-05-20 15:02:24 +0000 |
---|---|---|
committer | Tom Stellard <thomas.stellard@amd.com> | 2013-05-20 15:02:24 +0000 |
commit | 0bbfc9313c2b6fc63ae19174858bbaab1c774661 (patch) | |
tree | e761697a128e5c31e191cdbc0b927cd3f963186e /test/CodeGen/R600/rotr.ll | |
parent | ba534c21437ba133cb9d6b3f9dae80fa9c4f0cb7 (diff) | |
download | llvm-0bbfc9313c2b6fc63ae19174858bbaab1c774661.tar.gz llvm-0bbfc9313c2b6fc63ae19174858bbaab1c774661.tar.bz2 llvm-0bbfc9313c2b6fc63ae19174858bbaab1c774661.tar.xz |
R600/SI: Add pattern for rotr
Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@182286 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/CodeGen/R600/rotr.ll')
-rw-r--r-- | test/CodeGen/R600/rotr.ll | 28 |
1 files changed, 19 insertions, 9 deletions
diff --git a/test/CodeGen/R600/rotr.ll b/test/CodeGen/R600/rotr.ll index 75232fee71..8bb5eaec82 100644 --- a/test/CodeGen/R600/rotr.ll +++ b/test/CodeGen/R600/rotr.ll @@ -1,8 +1,13 @@ -; RUN: llc < %s -debug-only=isel -march=r600 -mcpu=redwood -o - 2>&1 | FileCheck %s +; RUN: llc < %s -debug-only=isel -march=r600 -mcpu=redwood -o - 2>&1 | FileCheck --check-prefix=R600-CHECK %s +; RUN: llc < %s -debug-only=isel -march=r600 -mcpu=SI -o - 2>&1 | FileCheck --check-prefix=SI-CHECK %s -; CHECK: rotr -; CHECK: @rotr -; CHECK: BIT_ALIGN_INT +; R600-CHECK: rotr +; R600-CHECK: @rotr +; R600-CHECK: BIT_ALIGN_INT + +; SI-CHECK: rotr +; SI-CHECK: @rotr +; SI-CHECK: V_ALIGNBIT_B32 define void @rotr(i32 addrspace(1)* %in, i32 %x, i32 %y) { entry: %0 = sub i32 32, %y @@ -13,11 +18,16 @@ entry: ret void } -; CHECK: rotr -; CHECK: @rotl -; CHECK: SUB_INT {{\** T[0-9]+\.[XYZW]}}, literal.x -; CHECK-NEXT: 32 -; CHECK: BIT_ALIGN_INT {{\** T[0-9]+\.[XYZW], T[0-9]+\.[XYZW], T[0-9]+\.[XYZW], PV.[xyzw]}} +; R600-CHECK: rotr +; R600-CHECK: @rotl +; R600-CHECK: SUB_INT {{\** T[0-9]+\.[XYZW]}}, literal.x +; R600-CHECK-NEXT: 32 +; R600-CHECK: BIT_ALIGN_INT {{\** T[0-9]+\.[XYZW], T[0-9]+\.[XYZW], T[0-9]+\.[XYZW], PV.[xyzw]}} + +; SI-CHECK: rotr +; SI-CHECK: @rotl +; SI-CHECK: V_SUB_I32_e32 [[DST:VGPR[0-9]+]], 32, {{VGPR[0-9]+}} +; SI-CHECK: V_ALIGNBIT_B32 {{VGPR[0-9]+, VGPR[0-9]+, VGPR[0-9]+}}, [[DST]] define void @rotl(i32 addrspace(1)* %in, i32 %x, i32 %y) { entry: %0 = shl i32 %x, %y |