Fix a CodeGenDAGPatterns bug. Check if top level predicates match when it's looking for duplicates.
llvm-svn: 74276
diff --git a/llvm/test/CodeGen/ARM/orn.ll b/llvm/test/CodeGen/ARM/orn.ll
new file mode 100644
index 0000000..2c3fcc8
--- /dev/null
+++ b/llvm/test/CodeGen/ARM/orn.ll
@@ -0,0 +1,13 @@
+; RUN: llvm-as < %s | llc -march=arm | grep {bic\\W*r\[0-9\]*,\\W*r\[0-9\]*,\\W*r\[0-9\]*} | Count 2
+
+define i32 @f1(i32 %a, i32 %b) {
+ %tmp = xor i32 %b, 4294967295
+ %tmp1 = and i32 %a, %tmp
+ ret i32 %tmp1
+}
+
+define i32 @f2(i32 %a, i32 %b) {
+ %tmp = xor i32 %b, 4294967295
+ %tmp1 = and i32 %tmp, %a
+ ret i32 %tmp1
+}