summaryrefslogtreecommitdiffstats
path: root/llvm/test/combinations.ll
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2001-07-22 05:00:34 +0000
committerChris Lattner <sabre@nondot.org>2001-07-22 05:00:34 +0000
commit941978e1bfbc58f11cdcf1f1664a0899565d8a34 (patch)
treed78dc2d859aec89e6a28b2a0f5c03ec9e37ae178 /llvm/test/combinations.ll
parent9c0f8f24e02d519cdec43aad8fd05be2fda65a7f (diff)
downloadbcm5719-llvm-941978e1bfbc58f11cdcf1f1664a0899565d8a34.tar.gz
bcm5719-llvm-941978e1bfbc58f11cdcf1f1664a0899565d8a34.zip
New test case
llvm-svn: 268
Diffstat (limited to 'llvm/test/combinations.ll')
-rw-r--r--llvm/test/combinations.ll39
1 files changed, 39 insertions, 0 deletions
diff --git a/llvm/test/combinations.ll b/llvm/test/combinations.ll
new file mode 100644
index 00000000000..8dfd67bb516
--- /dev/null
+++ b/llvm/test/combinations.ll
@@ -0,0 +1,39 @@
+implementation
+
+;; Emitting: void combinations(unsigned int, unsigned int*)
+void "combinations"(uint %n, uint* %A)
+begin
+bb1: ;;<label>
+ %reg111 = shl uint %n, ubyte 2 ;;<uint>
+ %cast112 = cast uint %reg111 to uint* ;;<uint*>
+ %reg113 = add uint* %A, %cast112 ;;<uint*>
+ store uint 1, uint* %reg113 ;;<void>
+ store uint 1, uint* %A ;;<void>
+ %reg128 = shr uint %n, ubyte 1 ;;<uint>:(unsigned operands)
+ %cond105 = setgt uint 1, %reg128 ;;<bool>:(unsigned operands)
+ br bool %cond105, label %bb3, label %bb2 ;;<void>
+
+bb2: ;;<label>
+ %reg129 = phi uint [ %reg131, %bb2 ], [ 1, %bb1 ] ;;<uint>
+ %reg130 = phi uint [ %reg132, %bb2 ], [ 1, %bb1 ] ;;<uint>
+ %reg117 = sub uint %n, %reg130 ;;<uint>
+ %reg118 = add uint %reg117, 1 ;;<uint>
+ %reg119 = mul uint %reg129, %reg118 ;;<uint>
+ %reg131 = div uint %reg119, %reg130 ;;<uint>:(unsigned operands)
+ %reg120 = shl uint %reg130, ubyte 2 ;;<uint>
+ %cast121 = cast uint %reg120 to uint* ;;<uint*>
+ %reg122 = add uint* %A, %cast121 ;;<uint*>
+ %reg124 = shl uint %reg117, ubyte 2 ;;<uint>
+ %cast125 = cast uint %reg124 to uint* ;;<uint*>
+ %reg126 = add uint* %A, %cast125 ;;<uint*>
+ store uint %reg131, uint* %reg126 ;;<void>
+ store uint %reg131, uint* %reg122 ;;<void>
+ %reg132 = add uint %reg130, 1 ;;<uint>
+ %cond47 = setle uint %reg132, %reg128 ;;<bool>:(unsigned operands)
+ br bool %cond47, label %bb2, label %bb3 ;;<void>
+
+bb3: ;;<label>
+ ret void ;;<void>
+end
+
+declare void "_Z12combinationsjPj" (uint, uint*) ;; Prototype for: void combinations(unsigned int, unsigned int*)
OpenPOWER on IntegriCloud