aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2006-10-11 03:59:48 +0000
committerChris Lattner <sabre@nondot.org>2006-10-11 03:59:48 +0000
commit2f239b9289a8c0998705003fdc87648c47b763a3 (patch)
tree9a163b491a134efcb623e1e7256a909d70cb3468
parent755480681c795d585c73556c028b6143c46bda86 (diff)
Both of these functions should turn into cmpbge instructions, even though
the second has an and of 254 not 255. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30870 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--test/CodeGen/Alpha/cmpbge.ll16
1 files changed, 16 insertions, 0 deletions
diff --git a/test/CodeGen/Alpha/cmpbge.ll b/test/CodeGen/Alpha/cmpbge.ll
new file mode 100644
index 0000000000..50f00bf4aa
--- /dev/null
+++ b/test/CodeGen/Alpha/cmpbge.ll
@@ -0,0 +1,16 @@
+; RUN: llvm-as < %s | llc -march=alpha | grep cmpbge | wc -l | grep 2
+
+bool %test1(ulong %A, ulong %B) {
+ %C = and ulong %A, 255
+ %D = and ulong %B, 255
+ %E = setge ulong %C, %D
+ ret bool %E
+}
+
+bool %test2(ulong %a, ulong %B) {
+ %A = shl ulong %a, ubyte 1
+ %C = and ulong %A, 254
+ %D = and ulong %B, 255
+ %E = setge ulong %C, %D
+ ret bool %E
+}