OSDN Git Service

Both of these functions should turn into cmpbge instructions, even though
authorChris Lattner <sabre@nondot.org>
Wed, 11 Oct 2006 03:59:48 +0000 (03:59 +0000)
committerChris Lattner <sabre@nondot.org>
Wed, 11 Oct 2006 03:59:48 +0000 (03:59 +0000)
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

test/CodeGen/Alpha/cmpbge.ll [new file with mode: 0644]

diff --git a/test/CodeGen/Alpha/cmpbge.ll b/test/CodeGen/Alpha/cmpbge.ll
new file mode 100644 (file)
index 0000000..50f00bf
--- /dev/null
@@ -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
+}