summaryrefslogtreecommitdiffstats
path: root/llvm/test
diff options
context:
space:
mode:
authorNick Lewycky <nicholas@mxc.ca>2008-07-09 04:32:37 +0000
committerNick Lewycky <nicholas@mxc.ca>2008-07-09 04:32:37 +0000
commit0d3645e67357a72c93d9f6c3f93d58e4cdde15ca (patch)
tree5420a9708668ad432bdd40dc83eee49b69ba2d0b /llvm/test
parenta6ce3cee2f48bbd0b73f8fe88e144832a704340b (diff)
downloadbcm5719-llvm-0d3645e67357a72c93d9f6c3f93d58e4cdde15ca.tar.gz
bcm5719-llvm-0d3645e67357a72c93d9f6c3f93d58e4cdde15ca.zip
Reduce x - y to -y when we know the 'x' part will get masked off anyways.
llvm-svn: 53271
Diffstat (limited to 'llvm/test')
-rw-r--r--llvm/test/Transforms/InstCombine/2008-07-08-SubAnd.ll9
1 files changed, 9 insertions, 0 deletions
diff --git a/llvm/test/Transforms/InstCombine/2008-07-08-SubAnd.ll b/llvm/test/Transforms/InstCombine/2008-07-08-SubAnd.ll
new file mode 100644
index 00000000000..bf3afb9e3bb
--- /dev/null
+++ b/llvm/test/Transforms/InstCombine/2008-07-08-SubAnd.ll
@@ -0,0 +1,9 @@
+; RUN: llvm-as < %s | opt -instcombine | llvm-dis | grep -v {i32 8}
+; PR2330
+
+define i32 @a(i32 %a) nounwind {
+entry:
+ %tmp2 = sub i32 8, %a ; <i32> [#uses=1]
+ %tmp3 = and i32 %tmp2, 7 ; <i32> [#uses=1]
+ ret i32 %tmp3
+}
OpenPOWER on IntegriCloud