AArch64: make inexact signalling on round Darwin-specific
[oota-llvm.git] / test / CodeGen / PowerPC / 2006-07-07-ComputeMaskedBits.ll
index 396da37d2f52d8ec3a1e4512ec470b273959e3ca..792c271d0c0857d65cdebda3088b8923134bc582 100644 (file)
@@ -1,16 +1,17 @@
-; RUN: llvm-as < %s | llc -mtriple=powerpc64-apple-darwin | grep extsw | wc -l | grep 2
+; RUN: llc < %s -mtriple=powerpc64-apple-darwin | grep extsw | count 2
 
-%lens = external global ubyte*
-%vals = external global int*
+@lens = external global i8*             ; <i8**> [#uses=1]
+@vals = external global i32*            ; <i32**> [#uses=1]
 
-int %test(int %i) {
-       %tmp = load ubyte** %lens
-       %tmp1 = getelementptr ubyte* %tmp, int %i
-       %tmp = load ubyte* %tmp1
-       %tmp2 = cast ubyte %tmp to int
-       %tmp3 = load int** %vals
-       %tmp5 = sub int 1, %tmp2
-       %tmp6 = getelementptr int* %tmp3, int %tmp5
-       %tmp7 = load int* %tmp6
-       ret int %tmp7
+define i32 @test(i32 %i) {
+        %tmp = load i8*, i8** @lens          ; <i8*> [#uses=1]
+        %tmp1 = getelementptr i8, i8* %tmp, i32 %i          ; <i8*> [#uses=1]
+        %tmp.upgrd.1 = load i8, i8* %tmp1           ; <i8> [#uses=1]
+        %tmp2 = zext i8 %tmp.upgrd.1 to i32             ; <i32> [#uses=1]
+        %tmp3 = load i32*, i32** @vals                ; <i32*> [#uses=1]
+        %tmp5 = sub i32 1, %tmp2                ; <i32> [#uses=1]
+        %tmp6 = getelementptr i32, i32* %tmp3, i32 %tmp5             ; <i32*> [#uses=1]
+        %tmp7 = load i32, i32* %tmp6         ; <i32> [#uses=1]
+        ret i32 %tmp7
 }
+