[WebAssembly] Switch to a more traditional assembly syntax
[oota-llvm.git] / test / CodeGen / WebAssembly / global.ll
index cd1b8055231dd69ae80c6b102077d94846979139..70bbbe7906aa8f7f7f1d517f9f17a9f107428fd3 100644 (file)
@@ -9,29 +9,130 @@ target triple = "wasm32-unknown-unknown"
 ; CHECK-NOT: llvm.metadata
 @llvm.used = appending global [1 x i32*] [i32* @g], section "llvm.metadata"
 
-@g = private global i32 1337; ; CHECK: (global $g i32 1337)
-
-@ud = internal global i32 undef;            ; CHECK: (global $ud i32 0)
-@nil = internal global i32 zeroinitializer; ; CHECK: (global $nil i32 0)
-@z = internal global i32 0;                 ; CHECK: (global $z i32 0)
-@one = internal global i32 1;               ; CHECK: (global $one i32 1)
-@answer = internal global i32 42;           ; CHECK: (global $answer i32 42)
-@u32max = internal global i32 -1;           ; CHECK: (global $u32max i32 4294967295)
-
-@ud64 = internal global i64 undef;            ; CHECK: (global $ud64 i64 0)
-@nil64 = internal global i64 zeroinitializer; ; CHECK: (global $nil64 i64 0)
-@z64 = internal global i64 0;                 ; CHECK: (global $z64 i64 0)
-@twoP32 = internal global i64 4294967296;     ; CHECK: (global $twoP32 i64 4294967296)
-@u64max = internal global i64 -1;             ; CHECK: (global $u64max i64 18446744073709551615)
-
-@f32ud = internal global float undef;            ; CHECK: (global $f32ud f32 0x0p0)
-@f32nil = internal global float zeroinitializer; ; CHECK: (global $f32nil f32 0x0p0)
-@f32z = internal global float 0.0;               ; CHECK: (global $f32z f32 0x0p0)
-@f32nz = internal global float -0.0;             ; CHECK: (global $f32nz f32 -0x0p0)
-@f32two = internal global float 2.0;             ; CHECK: (global $f32two f32 0x1p1)
-
-@f64ud = internal global double undef;            ; CHECK: (global $f64ud f64 0x0p0)
-@f64nil = internal global double zeroinitializer; ; CHECK: (global $f64nil f64 0x0p0)
-@f64z = internal global double 0.0;               ; CHECK: (global $f64z f64 0x0p0)
-@f64nz = internal global double -0.0;             ; CHECK: (global $f64nz f64 -0x0p0)
-@f64two = internal global double 2.0;             ; CHECK: (global $f64two f64 0x1p1)
+; CHECK: .type   g,@object
+; CHECK: .align  2{{$}}
+; CHECK-NEXT: g:
+; CHECK-NEXT: .int32 1337{{$}}
+; CHECK-NEXT: .size g, 4{{$}}
+@g = private global i32 1337
+
+; CHECK-LABEL: ud:
+; CHECK-NEXT: .zero 4{{$}}
+; CHECK-NEXT: .size ud, 4{{$}}
+@ud = internal global i32 undef
+
+; CHECK: .type nil,@object
+; CHECK-NEXT: .lcomm nil,4,2{{$}}
+@nil = internal global i32 zeroinitializer
+
+; CHECK: .type z,@object
+; CHECK-NEXT: .lcomm z,4,2{{$}}
+@z = internal global i32 0
+
+; CHECK-NEXT: .type one,@object
+; CHECK-NEXT: .align 2{{$}}
+; CHECK-NEXT: one:
+; CHECK-NEXT: .int32 1{{$}}
+; CHECK-NEXT: .size one, 4{{$}}
+@one = internal global i32 1
+
+; CHECK: .type answer,@object
+; CHECK: .align 2{{$}}
+; CHECK-NEXT: answer:
+; CHECK-NEXT: .int32 42{{$}}
+; CHECK-NEXT: .size answer, 4{{$}}
+@answer = internal global i32 42
+
+; CHECK: .type u32max,@object
+; CHECK: .align 2{{$}}
+; CHECK-NEXT: u32max:
+; CHECK-NEXT: .int32 4294967295{{$}}
+; CHECK-NEXT: .size u32max, 4{{$}}
+@u32max = internal global i32 -1
+
+; CHECK: .type ud64,@object
+; CHECK: .align 3{{$}}
+; CHECK-NEXT: ud64:
+; CHECK-NEXT: .zero 8{{$}}
+; CHECK-NEXT: .size ud64, 8{{$}}
+@ud64 = internal global i64 undef
+
+; CHECK: .type nil64,@object
+; CHECK: .lcomm nil64,8,3{{$}}
+@nil64 = internal global i64 zeroinitializer
+
+; CHECK: .type z64,@object
+; CHECK: .lcomm z64,8,3{{$}}
+@z64 = internal global i64 0
+
+; CHECK: .type twoP32,@object
+; CHECK: .align 3{{$}}
+; CHECK-NEXT: twoP32:
+; CHECK-NEXT: .int64 4294967296{{$}}
+; CHECK-NEXT: .size twoP32, 8{{$}}
+@twoP32 = internal global i64 4294967296
+
+; CHECK: .type u64max,@object
+; CHECK: .align 3{{$}}
+; CHECK-NEXT: u64max:
+; CHECK-NEXT: .int64 -1{{$}}
+; CHECK-NEXT: .size u64max, 8{{$}}
+@u64max = internal global i64 -1
+
+; CHECK: .type f32ud,@object
+; CHECK: .align 2{{$}}
+; CHECK-NEXT: f32ud:
+; CHECK-NEXT: .zero 4{{$}}
+; CHECK-NEXT: .size f32ud, 4{{$}}
+@f32ud = internal global float undef
+
+; CHECK: .type f32nil,@object
+; CHECK: .lcomm f32nil,4,2{{$}}
+@f32nil = internal global float zeroinitializer
+
+; CHECK: .type f32z,@object
+; CHECK: .lcomm f32z,4,2{{$}}
+@f32z = internal global float 0.0
+
+; CHECK: .type f32nz,@object
+; CHECK: .align 2{{$}}
+; CHECK: f32nz:
+; CHECK: .int32 2147483648{{$}}
+; CHECK: .size f32nz, 4{{$}}
+@f32nz = internal global float -0.0
+
+; CHECK: .type f32two,@object
+; CHECK: .align 2{{$}}
+; CHECK-NEXT: f32two:
+; CHECK-NEXT: .int32 1073741824{{$}}
+; CHECK-NEXT: .size f32two, 4{{$}}
+@f32two = internal global float 2.0
+
+; CHECK: .type f64ud,@object
+; CHECK: .align 3{{$}}
+; CHECK-NEXT: f64ud:
+; CHECK-NEXT: .zero 8{{$}}
+; CHECK-NEXT: .size f64ud, 8{{$}}
+@f64ud = internal global double undef
+
+; CHECK: .type f64nil,@object
+; CHECK: .lcomm f64nil,8,3{{$}}
+@f64nil = internal global double zeroinitializer
+
+; CHECK: .type f64z,@object
+; CHECK: .lcomm f64z,8,3{{$}}
+@f64z = internal global double 0.0
+
+; CHECK: .type f64nz,@object
+; CHECK: .align 3{{$}}
+; CHECK-NEXT: f64nz:
+; CHECK-NEXT: .int64 -9223372036854775808{{$}}
+; CHECK-NEXT: .size f64nz, 8{{$}}
+@f64nz = internal global double -0.0
+
+; CHECK: .type f64two,@object
+; CHECK: .align 3{{$}}
+; CHECK-NEXT: f64two:
+; CHECK-NEXT: .int64 4611686018427387904{{$}}
+; CHECK-NEXT: .size f64two, 8{{$}}
+@f64two = internal global double 2.0