diff options
-rw-r--r-- | test/Transforms/Reassociate/shifttest.ll | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/test/Transforms/Reassociate/shifttest.ll b/test/Transforms/Reassociate/shifttest.ll new file mode 100644 index 0000000..6ca6622 --- /dev/null +++ b/test/Transforms/Reassociate/shifttest.ll @@ -0,0 +1,10 @@ +; With shl->mul reassociation, we can see that this is (shl A, 9) * A +; +; RUN: llvm-as < %s | opt -reassociate -instcombine | llvm-dis | grep 'shl .*, ubyte 9' + +int %test(int %A, int %B) { + %X = shl int %A, ubyte 5 + %Y = shl int %A, ubyte 4 + %Z = mul int %Y, %X + ret int %Z +} |