;@llvm.global_ctors = appending global [2 x { i32, void ()* }] [ { i32, void ()* } { i32 65535, void ()* @_init_x }, {i32, void()*} {i32 65535, void ()* @_init_y} ]
@abc = appending global [2 x { i32, void ()* }] [ { i32, void ()* } { i32 65535, void ()* @_init_x }, {i32, void()*} {i32 65535, void ()* @_init_y} ]

declare i32 @puts(i8*)

@msg1 = internal constant [3 x i8] c"x!\00"
@msg3 = internal constant [3 x i8] c"y!\00"

define void @_init_x() {
  %m = getelementptr [3 x i8]* @msg1, i32 0, i32 0
  call i32 @puts(i8* %m)
  ret void
}

define void @_init_y() {
  %m = getelementptr [3 x i8]* @msg3, i32 0, i32 0
  call i32 @puts(i8* %m)
  ret void
}
