Tell llvm-mc we're using intel syntax, so we don't have to use directives.
[oota-llvm.git] / test / ExecutionEngine / 2003-08-21-EnvironmentTest.ll
index c880221a0be46affbd20987ab9e82cea21ba30ee..60dc3d6b7d43103b6ea7335676bb037e325292b9 100644 (file)
@@ -1,3 +1,6 @@
+; RUN: %lli %s > /dev/null
+; XFAIL: arm
+
 ;
 ; Regression Test: EnvironmentTest.ll
 ;
@@ -6,29 +9,14 @@
 ;      environment to the main() function.
 ;
 
-target endian = little
-target pointersize = 32
-       %struct..TorRec = type { int, void ()* }
-
-implementation   ; Functions:
-
-declare uint %strlen(sbyte*)
 
-declare void %exit(int)
-
-internal void %__main() {
-entry:         ; No predecessors!
-       ret void
-}
+declare i32 @strlen(i8*)
 
-int %main(int %argc.1, sbyte** %argv.1, sbyte** %envp.1) {
-entry:         ; No predecessors!
-       call void %__main( )
-       %tmp.2 = load sbyte** %envp.1           ; <sbyte*> [#uses=2]
-       %tmp.3 = call uint %strlen( sbyte* %tmp.2 )             ; <uint> [#uses=1]
-       %tmp.0 = call int %write( int 1, sbyte* %tmp.2, uint %tmp.3 )           ; <int> [#uses=0]
-       call void %exit( int 0 )
-       ret int 0
+define i32 @main(i32 %argc.1, i8** %argv.1, i8** %envp.1) {
+       %tmp.2 = load i8** %envp.1              ; <i8*> [#uses=1]
+       %tmp.3 = call i32 @strlen( i8* %tmp.2 )         ; <i32> [#uses=1]
+       %T = icmp eq i32 %tmp.3, 0              ; <i1> [#uses=1]
+       %R = zext i1 %T to i32          ; <i32> [#uses=1]
+       ret i32 %R
 }
 
-declare int %write(int, sbyte*, uint)