diff options
author | Anton Korobeynikov <asl@math.spbu.ru> | 2009-05-17 10:16:28 +0000 |
---|---|---|
committer | Anton Korobeynikov <asl@math.spbu.ru> | 2009-05-17 10:16:28 +0000 |
commit | e4fdb8b8ffddc1be3f6f796964bed03a77770829 (patch) | |
tree | 3997a00faa0bf783f01c7af4676120d664f75c0a /test | |
parent | aceb620de855485a4fb2eed343d880d76f6c701c (diff) | |
download | llvm-e4fdb8b8ffddc1be3f6f796964bed03a77770829.tar.gz llvm-e4fdb8b8ffddc1be3f6f796964bed03a77770829.tar.bz2 llvm-e4fdb8b8ffddc1be3f6f796964bed03a77770829.tar.xz |
Mark rotl/rotr as expand. This generates pretty ugly code, but this is better than nothing.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@71976 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test')
-rw-r--r-- | test/CodeGen/MSP430/2009-05-17-Rot.ll | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/test/CodeGen/MSP430/2009-05-17-Rot.ll b/test/CodeGen/MSP430/2009-05-17-Rot.ll new file mode 100644 index 0000000000..c25a906308 --- /dev/null +++ b/test/CodeGen/MSP430/2009-05-17-Rot.ll @@ -0,0 +1,17 @@ +; RUN: llvm-as < %s | llc -march=msp430 + +define i16 @rol1u16(i16 %x.arg) nounwind { + %retval = alloca i16 + %x = alloca i16 + store i16 %x.arg, i16* %x + %1 = load i16* %x + %2 = shl i16 %1, 1 + %3 = load i16* %x + %4 = lshr i16 %3, 15 + %5 = or i16 %2, %4 + store i16 %5, i16* %retval + br label %return +return: + %6 = load i16* %retval + ret i16 %6 +}
\ No newline at end of file |