xref: /llvm-project/llvm/test/tools/llvm-ml/segment.asm (revision 4b566933cf7b76fb437d671d2b64e971baeba5c8)
1*4b566933SEric Astor; RUN: llvm-ml %s /Fo - | llvm-readobj --section-headers - | FileCheck %s
2*4b566933SEric Astor
3*4b566933SEric Astort1 SEGMENT BYTE
4*4b566933SEric Astort1 ENDS
5*4b566933SEric Astor; CHECK-LABEL: Name: t1
6*4b566933SEric Astor; CHECK-NOT: }
7*4b566933SEric Astor; CHECK: IMAGE_SCN_ALIGN_1BYTES
8*4b566933SEric Astor
9*4b566933SEric Astort2 SEGMENT WORD
10*4b566933SEric Astort2 ENDS
11*4b566933SEric Astor; CHECK-LABEL: Name: t2
12*4b566933SEric Astor; CHECK-NOT: }
13*4b566933SEric Astor; CHECK: IMAGE_SCN_ALIGN_2BYTES
14*4b566933SEric Astor
15*4b566933SEric Astort3 SEGMENT DWORD
16*4b566933SEric Astort3 ENDS
17*4b566933SEric Astor; CHECK-LABEL: Name: t3
18*4b566933SEric Astor; CHECK-NOT: }
19*4b566933SEric Astor; CHECK: IMAGE_SCN_ALIGN_4BYTES
20*4b566933SEric Astor
21*4b566933SEric Astort4 SEGMENT PARA
22*4b566933SEric Astort4 ENDS
23*4b566933SEric Astor; CHECK-LABEL: Name: t4
24*4b566933SEric Astor; CHECK-NOT: }
25*4b566933SEric Astor; CHECK: IMAGE_SCN_ALIGN_16BYTES
26*4b566933SEric Astor
27*4b566933SEric Astort5 SEGMENT PAGE
28*4b566933SEric Astort5 ENDS
29*4b566933SEric Astor; CHECK-LABEL: Name: t5
30*4b566933SEric Astor; CHECK-NOT: }
31*4b566933SEric Astor; CHECK: IMAGE_SCN_ALIGN_256BYTES
32*4b566933SEric Astor
33*4b566933SEric Astor; Default alignment (should match PARA)
34*4b566933SEric Astort6 SEGMENT
35*4b566933SEric Astort6 ENDS
36*4b566933SEric Astor; CHECK-LABEL: Name: t6
37*4b566933SEric Astor; CHECK-NOT: }
38*4b566933SEric Astor; CHECK: IMAGE_SCN_ALIGN_16BYTES
39*4b566933SEric Astor
40*4b566933SEric Astor; Unnamed alignment
41*4b566933SEric Astort7 SEGMENT ALIGN(32)
42*4b566933SEric Astort7 ENDS
43*4b566933SEric Astor; CHECK-LABEL: Name: t7
44*4b566933SEric Astor; CHECK-NOT: }
45*4b566933SEric Astor; CHECK: IMAGE_SCN_ALIGN_32BYTES
46*4b566933SEric Astor
47*4b566933SEric Astort8 SEGMENT ALIAS('t8_alias')
48*4b566933SEric Astort8 ENDS
49*4b566933SEric Astor; CHECK-LABEL: Name: t8_alias
50*4b566933SEric Astor
51*4b566933SEric Astort9 SEGMENT 'DATA'
52*4b566933SEric Astort9 ENDS
53*4b566933SEric Astor; CHECK-LABEL: Name: t9
54*4b566933SEric Astor; CHECK-NOT: }
55*4b566933SEric Astor; CHECK-DAG: IMAGE_SCN_CNT_INITIALIZED_DATA
56*4b566933SEric Astor; CHECK-DAG: IMAGE_SCN_MEM_READ
57*4b566933SEric Astor; CHECK-DAG: IMAGE_SCN_MEM_WRITE
58*4b566933SEric Astor; CHECK: }
59*4b566933SEric Astor
60*4b566933SEric Astort10 SEGMENT 'CODE'
61*4b566933SEric Astort10 ENDS
62*4b566933SEric Astor; CHECK-LABEL: Name: t10
63*4b566933SEric Astor; CHECK-NOT: }
64*4b566933SEric Astor; CHECK-NOT: IMAGE_SCN_MEM_WRITE
65*4b566933SEric Astor; CHECK-DAG: IMAGE_SCN_CNT_CODE
66*4b566933SEric Astor; CHECK-DAG: IMAGE_SCN_MEM_EXECUTE
67*4b566933SEric Astor; CHECK-DAG: IMAGE_SCN_MEM_READ
68*4b566933SEric Astor; CHECK-NOT: IMAGE_SCN_MEM_WRITE
69*4b566933SEric Astor; CHECK: }
70*4b566933SEric Astor
71*4b566933SEric Astort11 SEGMENT 'CONST'
72*4b566933SEric Astort11 ENDS
73*4b566933SEric Astor; CHECK-LABEL: Name: t11
74*4b566933SEric Astor; CHECK-NOT: }
75*4b566933SEric Astor; CHECK-DAG: IMAGE_SCN_CNT_INITIALIZED_DATA
76*4b566933SEric Astor; CHECK-DAG: IMAGE_SCN_MEM_READ
77*4b566933SEric Astor; CHECK-DAG: IMAGE_SCN_MEM_WRITE
78*4b566933SEric Astor; CHECK: }
79*4b566933SEric Astor
80*4b566933SEric Astort12 SEGMENT 'STACK'
81*4b566933SEric Astort12 ENDS
82*4b566933SEric Astor; CHECK-LABEL: Name: t12
83*4b566933SEric Astor; CHECK-NOT: }
84*4b566933SEric Astor; CHECK-DAG: IMAGE_SCN_CNT_INITIALIZED_DATA
85*4b566933SEric Astor; CHECK-DAG: IMAGE_SCN_MEM_READ
86*4b566933SEric Astor; CHECK-DAG: IMAGE_SCN_MEM_WRITE
87*4b566933SEric Astor; CHECK: }
88*4b566933SEric Astor
89*4b566933SEric Astort13 SEGMENT 'DOESNTEXIST'
90*4b566933SEric Astort13 ENDS
91*4b566933SEric Astor; CHECK-LABEL: Name: t13
92*4b566933SEric Astor; CHECK-NOT: }
93*4b566933SEric Astor; CHECK-DAG: IMAGE_SCN_CNT_INITIALIZED_DATA
94*4b566933SEric Astor; CHECK-DAG: IMAGE_SCN_MEM_READ
95*4b566933SEric Astor; CHECK-DAG: IMAGE_SCN_MEM_WRITE
96*4b566933SEric Astor; CHECK: }
97*4b566933SEric Astor
98*4b566933SEric Astort14 SEGMENT READONLY 'CONST'
99*4b566933SEric Astort14 ENDS
100*4b566933SEric Astor; CHECK-LABEL: Name: t14
101*4b566933SEric Astor; CHECK-NOT: }
102*4b566933SEric Astor; CHECK-NOT: IMAGE_SCN_MEM_WRITE
103*4b566933SEric Astor; CHECK-DAG: IMAGE_SCN_CNT_INITIALIZED_DATA
104*4b566933SEric Astor; CHECK-DAG: IMAGE_SCN_MEM_READ
105*4b566933SEric Astor; CHECK-NOT: IMAGE_SCN_MEM_WRITE
106*4b566933SEric Astor; CHECK: }
107*4b566933SEric Astor
108*4b566933SEric Astort15 SEGMENT WRITE
109*4b566933SEric Astort15 ENDS
110*4b566933SEric Astor; CHECK-LABEL: Name: t15
111*4b566933SEric Astor; CHECK-NOT: }
112*4b566933SEric Astor; CHECK-NOT: IMAGE_SCN_MEM_READ
113*4b566933SEric Astor; CHECK-DAG: IMAGE_SCN_CNT_INITIALIZED_DATA
114*4b566933SEric Astor; CHECK-DAG: IMAGE_SCN_MEM_WRITE
115*4b566933SEric Astor; CHECK-NOT: IMAGE_SCN_MEM_READ
116*4b566933SEric Astor; CHECK: }
117*4b566933SEric Astor
118*4b566933SEric Astort16 SEGMENT SHARED NOPAGE NOCACHE INFO READ WRITE EXECUTE DISCARD
119*4b566933SEric Astort16 ENDS
120*4b566933SEric Astor; CHECK-LABEL: Name: t16
121*4b566933SEric Astor; CHECK-NOT: }
122*4b566933SEric Astor; CHECK-DAG: IMAGE_SCN_LNK_INFO
123*4b566933SEric Astor; CHECK-DAG: IMAGE_SCN_MEM_READ
124*4b566933SEric Astor; CHECK-DAG: IMAGE_SCN_MEM_WRITE
125*4b566933SEric Astor; CHECK-DAG: IMAGE_SCN_MEM_EXECUTE
126*4b566933SEric Astor; CHECK-DAG: IMAGE_SCN_MEM_SHARED
127*4b566933SEric Astor; CHECK-DAG: IMAGE_SCN_MEM_NOT_PAGED
128*4b566933SEric Astor; CHECK-DAG: IMAGE_SCN_MEM_NOT_CACHED
129*4b566933SEric Astor; CHECK-DAG: IMAGE_SCN_MEM_DISCARDABLE
130*4b566933SEric Astor; CHECK: }
131*4b566933SEric Astor
132*4b566933SEric Astor_TEXT SEGMENT
133*4b566933SEric Astor_TEXT ENDS
134*4b566933SEric Astor; CHECK-LABEL: Name: .text
135*4b566933SEric Astor; CHECK-NOT: }
136*4b566933SEric Astor; CHECK-NOT: IMAGE_SCN_MEM_WRITE
137*4b566933SEric Astor; CHECK-DAG: IMAGE_SCN_CNT_CODE
138*4b566933SEric Astor; CHECK-DAG: IMAGE_SCN_MEM_EXECUTE
139*4b566933SEric Astor; CHECK-DAG: IMAGE_SCN_MEM_READ
140*4b566933SEric Astor; CHECK-NOT: IMAGE_SCN_MEM_WRITE
141*4b566933SEric Astor; CHECK: }
142*4b566933SEric Astor
143*4b566933SEric AstorEND
144