Fixed some bugs.
[llvm/zpu.git] / test / MC / ELF / basic-elf.ll
blobf478b3235c7de007862c8b7533ec849570bb0a18
1 ; RUN: llc -filetype=obj -mtriple i686-pc-linux-gnu %s -o - | elf-dump | FileCheck -check-prefix=32 %s
2 ; RUN: llc -filetype=obj -mtriple x86_64-pc-linux-gnu %s -o - | elf-dump | FileCheck -check-prefix=64 %s
4 @.str1 = private constant [6 x i8] c"Hello\00"
5 @.str2 = private constant [7 x i8] c"World!\00"
7 define i32 @main() nounwind {
8   %1 = call i32 @puts(i8* getelementptr inbounds ([6 x i8]* @.str1, i32 0, i32 0))
9   %2 = call i32 @puts(i8* getelementptr inbounds ([7 x i8]* @.str2, i32 0, i32 0))
10   ret i32 0
13 declare i32 @puts(i8* nocapture) nounwind
15 ; 32: ('e_indent[EI_CLASS]', 0x00000001)
16 ; 32: ('e_indent[EI_DATA]', 0x00000001)
17 ; 32: ('e_indent[EI_VERSION]', 0x00000001)
18 ; 32: ('_sections', [
19 ; 32:   # Section 0
20 ; 32:   (('sh_name', 0x00000000) # ''
22 ; 32:   # '.text'
24 ; 32: ('st_bind', 0x00000000)
25 ; 32: ('st_type', 0x00000003)
27 ; 32: ('st_bind', 0x00000000)
28 ; 32: ('st_type', 0x00000003)
30 ; 32: ('st_bind', 0x00000000)
31 ; 32: ('st_type', 0x00000003)
33 ; 32:   # 'main'
34 ; 32:   ('st_bind', 0x00000001)
35 ; 32-NEXT: ('st_type', 0x00000002)
37 ; 32:   # 'puts'
38 ; 32:   ('st_bind', 0x00000001)
39 ; 32-NEXT: ('st_type', 0x00000000)
41 ; 32:   # '.rel.text'
43 ; 32:   ('_relocations', [
44 ; 32:     # Relocation 0x00000000
45 ; 32:     (('r_offset', 0x00000006)
46 ; 32:      ('r_type', 0x00000001)
47 ; 32:     ),
48 ; 32:     # Relocation 0x00000001
49 ; 32:     (('r_offset', 0x0000000b)
50 ; 32:      ('r_type', 0x00000002)
51 ; 32:     ),
52 ; 32:     # Relocation 0x00000002
53 ; 32:     (('r_offset', 0x00000012)
54 ; 32:      ('r_type', 0x00000001)
55 ; 32:     ),
56 ; 32:     # Relocation 0x00000003
57 ; 32:     (('r_offset', 0x00000017)
58 ; 32:      ('r_type', 0x00000002)
59 ; 32:     ),
60 ; 32:   ])
62 ; 64: ('e_indent[EI_CLASS]', 0x00000002)
63 ; 64: ('e_indent[EI_DATA]', 0x00000001)
64 ; 64: ('e_indent[EI_VERSION]', 0x00000001)
65 ; 64: ('_sections', [
66 ; 64:   # Section 0
67 ; 64:   (('sh_name', 0x00000000) # ''
69 ; 64:   # '.text'
71 ; 64: ('st_bind', 0x00000000)
72 ; 64: ('st_type', 0x00000003)
74 ; 64: ('st_bind', 0x00000000)
75 ; 64: ('st_type', 0x00000003)
77 ; 64: ('st_bind', 0x00000000)
78 ; 64: ('st_type', 0x00000003)
80 ; 64:   # 'main'
81 ; 64-NEXT: ('st_bind', 0x00000001)
82 ; 64-NEXT: ('st_type', 0x00000002)
84 ; 64:   # 'puts'
85 ; 64-NEXT: ('st_bind', 0x00000001)
86 ; 64-NEXT: ('st_type', 0x00000000)
88 ; 64:   # '.rela.text'
90 ; 64:   ('_relocations', [
91 ; 64:     # Relocation 0x00000000
92 ; 64:     (('r_offset', 0x00000005)
93 ; 64:      ('r_type', 0x0000000a)
94 ; 64:      ('r_addend', 0x00000000)
95 ; 64:     ),
96 ; 64:     # Relocation 0x00000001
97 ; 64:     (('r_offset', 0x0000000a)
98 ; 64:      ('r_type', 0x00000002)
99 ; 64:      ('r_addend', 0xfffffffc)
100 ; 64:     ),
101 ; 64:     # Relocation 0x00000002
102 ; 64:     (('r_offset', 0x0000000f)
103 ; 64:      ('r_type', 0x0000000a)
104 ; 64:      ('r_addend', 0x00000006)
105 ; 64:     ),
106 ; 64:     # Relocation 0x00000003
107 ; 64:     (('r_offset', 0x00000014)
108 ; 64:      ('r_type', 0x00000002)
109 ; 64:      ('r_addend', 0xfffffffc)
110 ; 64:     ),
111 ; 64:   ])