diff options
author | Anton Korobeynikov <asl@math.spbu.ru> | 2009-07-16 14:06:49 +0000 |
---|---|---|
committer | Anton Korobeynikov <asl@math.spbu.ru> | 2009-07-16 14:06:49 +0000 |
commit | 759205d1ac63d6b03c4b2f24a41b8848947335d4 (patch) | |
tree | 45328d54363c1565827fdcb5a1c9171fd067bb94 /test/CodeGen/SystemZ | |
parent | cfca8b1f62f9a334467cc3e184f43b2097417ba7 (diff) | |
download | llvm-759205d1ac63d6b03c4b2f24a41b8848947335d4.tar.gz llvm-759205d1ac63d6b03c4b2f24a41b8848947335d4.tar.bz2 llvm-759205d1ac63d6b03c4b2f24a41b8848947335d4.tar.xz |
Add rotates
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75981 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/CodeGen/SystemZ')
-rw-r--r-- | test/CodeGen/SystemZ/2009-06-02-Rotate.ll | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/test/CodeGen/SystemZ/2009-06-02-Rotate.ll b/test/CodeGen/SystemZ/2009-06-02-Rotate.ll new file mode 100644 index 0000000000..33a4323438 --- /dev/null +++ b/test/CodeGen/SystemZ/2009-06-02-Rotate.ll @@ -0,0 +1,13 @@ +; RUN: llvm-as < %s | llc -march=systemz | grep rll + +target datalayout = "E-p:64:64:64-i8:8:16-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-f128:128:128-a0:16:16" +target triple = "s390x-linux" + +define i32 @rotl(i32 %x, i32 %y, i32 %z) nounwind readnone { +entry: + %shl = shl i32 %x, 0 ; <i32> [#uses=1] + %sub = sub i32 32, 0 ; <i32> [#uses=1] + %shr = lshr i32 %x, %sub ; <i32> [#uses=1] + %or = or i32 %shr, %shl ; <i32> [#uses=1] + ret i32 %or +} |