xref: /aosp_15_r20/external/clang/test/CodeGen/target-data.c (revision 67e74705e28f6214e480b399dd47ea732279e315)
1*67e74705SXin Li // RUN: %clang_cc1 -triple i686-unknown-unknown -emit-llvm -o - %s | \
2*67e74705SXin Li // RUN:     FileCheck --check-prefix=I686-UNKNOWN %s
3*67e74705SXin Li // I686-UNKNOWN: target datalayout = "e-m:e-p:32:32-f64:32:64-f80:32-n8:16:32-S128"
4*67e74705SXin Li 
5*67e74705SXin Li // RUN: %clang_cc1 -triple i686-apple-darwin9 -emit-llvm -o - %s | \
6*67e74705SXin Li // RUN:     FileCheck --check-prefix=I686-DARWIN %s
7*67e74705SXin Li // I686-DARWIN: target datalayout = "e-m:o-p:32:32-f64:32:64-f80:128-n8:16:32-S128"
8*67e74705SXin Li 
9*67e74705SXin Li // RUN: %clang_cc1 -triple i686-unknown-win32 -emit-llvm -o - %s | \
10*67e74705SXin Li // RUN:     FileCheck --check-prefix=I686-WIN32 %s
11*67e74705SXin Li // I686-WIN32: target datalayout = "e-m:x-p:32:32-i64:64-f80:32-n8:16:32-a:0:32-S32"
12*67e74705SXin Li 
13*67e74705SXin Li // RUN: %clang_cc1 -triple i686-unknown-cygwin -emit-llvm -o - %s | \
14*67e74705SXin Li // RUN:     FileCheck --check-prefix=I686-CYGWIN %s
15*67e74705SXin Li // I686-CYGWIN: target datalayout = "e-m:x-p:32:32-i64:64-f80:32-n8:16:32-a:0:32-S32"
16*67e74705SXin Li 
17*67e74705SXin Li // RUN: %clang_cc1 -triple x86_64-unknown-unknown -emit-llvm -o - %s | \
18*67e74705SXin Li // RUN:     FileCheck --check-prefix=X86_64 %s
19*67e74705SXin Li // X86_64: target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
20*67e74705SXin Li 
21*67e74705SXin Li // RUN: %clang_cc1 -triple xcore-unknown-unknown -emit-llvm -o - %s | \
22*67e74705SXin Li // RUN:     FileCheck --check-prefix=XCORE %s
23*67e74705SXin Li // XCORE: target datalayout = "e-m:e-p:32:32-i1:8:32-i8:8:32-i16:16:32-i64:32-f64:32-a:0:32-n32"
24*67e74705SXin Li 
25*67e74705SXin Li // RUN: %clang_cc1 -triple sparc-sun-solaris -emit-llvm -o - %s | \
26*67e74705SXin Li // RUN:     FileCheck %s --check-prefix=SPARC-V8
27*67e74705SXin Li // SPARC-V8: target datalayout = "E-m:e-p:32:32-i64:64-f128:64-n32-S64"
28*67e74705SXin Li 
29*67e74705SXin Li // RUN: %clang_cc1 -triple sparcv9-sun-solaris -emit-llvm -o - %s | \
30*67e74705SXin Li // RUN: FileCheck %s --check-prefix=SPARC-V9
31*67e74705SXin Li // SPARC-V9: target datalayout = "E-m:e-i64:64-n32:64-S128"
32*67e74705SXin Li 
33*67e74705SXin Li // RUN: %clang_cc1 -triple mipsel-linux-gnu -o - -emit-llvm %s |     \
34*67e74705SXin Li // RUN: FileCheck %s -check-prefix=MIPS-32EL
35*67e74705SXin Li // MIPS-32EL: target datalayout = "e-m:m-p:32:32-i8:8:32-i16:16:32-i64:64-n32-S64"
36*67e74705SXin Li 
37*67e74705SXin Li // RUN: %clang_cc1 -triple mips-linux-gnu -o - -emit-llvm %s | \
38*67e74705SXin Li // RUN: FileCheck %s -check-prefix=MIPS-32EB
39*67e74705SXin Li // MIPS-32EB: target datalayout = "E-m:m-p:32:32-i8:8:32-i16:16:32-i64:64-n32-S64"
40*67e74705SXin Li 
41*67e74705SXin Li // RUN: %clang_cc1 -triple mips64el-linux-gnu -o - -emit-llvm %s | \
42*67e74705SXin Li // RUN: FileCheck %s -check-prefix=MIPS-64EL
43*67e74705SXin Li // MIPS-64EL: target datalayout = "e-m:m-i8:8:32-i16:16:32-i64:64-n32:64-S128"
44*67e74705SXin Li 
45*67e74705SXin Li // RUN: %clang_cc1 -triple mips64el-linux-gnu -o - -emit-llvm -target-abi n32 \
46*67e74705SXin Li // RUN: %s | FileCheck %s -check-prefix=MIPS-64EL-N32
47*67e74705SXin Li // MIPS-64EL-N32: target datalayout = "e-m:m-p:32:32-i8:8:32-i16:16:32-i64:64-n32:64-S128"
48*67e74705SXin Li 
49*67e74705SXin Li // RUN: %clang_cc1 -triple mips64-linux-gnu -o - -emit-llvm %s | \
50*67e74705SXin Li // RUN: FileCheck %s -check-prefix=MIPS-64EB
51*67e74705SXin Li // MIPS-64EB: target datalayout = "E-m:m-i8:8:32-i16:16:32-i64:64-n32:64-S128"
52*67e74705SXin Li 
53*67e74705SXin Li // RUN: %clang_cc1 -triple mips64-linux-gnu -o - -emit-llvm %s -target-abi n32 \
54*67e74705SXin Li // RUN: | FileCheck %s -check-prefix=MIPS-64EB-N32
55*67e74705SXin Li // MIPS-64EB-N32: target datalayout = "E-m:m-p:32:32-i8:8:32-i16:16:32-i64:64-n32:64-S128"
56*67e74705SXin Li 
57*67e74705SXin Li // RUN: %clang_cc1 -triple powerpc64-lv2 -o - -emit-llvm %s | \
58*67e74705SXin Li // RUN: FileCheck %s -check-prefix=PS3
59*67e74705SXin Li // PS3: target datalayout = "E-m:e-p:32:32-i64:64-n32:64"
60*67e74705SXin Li 
61*67e74705SXin Li // RUN: %clang_cc1 -triple i686-nacl -o - -emit-llvm %s | \
62*67e74705SXin Li // RUN: FileCheck %s -check-prefix=I686-NACL
63*67e74705SXin Li // I686-NACL: target datalayout = "e-m:e-p:32:32-i64:64-n8:16:32-S128"
64*67e74705SXin Li 
65*67e74705SXin Li // RUN: %clang_cc1 -triple x86_64-nacl -o - -emit-llvm %s | \
66*67e74705SXin Li // RUN: FileCheck %s -check-prefix=X86_64-NACL
67*67e74705SXin Li // X86_64-NACL: target datalayout = "e-m:e-p:32:32-i64:64-n8:16:32:64-S128"
68*67e74705SXin Li 
69*67e74705SXin Li // RUN: %clang_cc1 -triple arm-nacl -o - -emit-llvm %s | \
70*67e74705SXin Li // RUN: FileCheck %s -check-prefix=ARM-NACL
71*67e74705SXin Li // ARM-NACL: target datalayout = "e-m:e-p:32:32-i64:64-v128:64:128-a:0:32-n32-S128"
72*67e74705SXin Li 
73*67e74705SXin Li // RUN: %clang_cc1 -triple mipsel-nacl -o - -emit-llvm %s | \
74*67e74705SXin Li // RUN: FileCheck %s -check-prefix=MIPS-NACL
75*67e74705SXin Li // MIPS-NACL: target datalayout = "e-m:m-p:32:32-i8:8:32-i16:16:32-i64:64-n32-S64"
76*67e74705SXin Li 
77*67e74705SXin Li // RUN: %clang_cc1 -triple le32-nacl -o - -emit-llvm %s | \
78*67e74705SXin Li // RUN: FileCheck %s -check-prefix=LE32-NACL
79*67e74705SXin Li // LE32-NACL: target datalayout = "e-p:32:32-i64:64"
80*67e74705SXin Li 
81*67e74705SXin Li // RUN: %clang_cc1 -triple wasm32-unknown-unknown -o - -emit-llvm %s | \
82*67e74705SXin Li // RUN: FileCheck %s -check-prefix=WEBASSEMBLY32
83*67e74705SXin Li // WEBASSEMBLY32: target datalayout = "e-m:e-p:32:32-i64:64-n32:64-S128"
84*67e74705SXin Li 
85*67e74705SXin Li // RUN: %clang_cc1 -triple wasm64-unknown-unknown -o - -emit-llvm %s | \
86*67e74705SXin Li // RUN: FileCheck %s -check-prefix=WEBASSEMBLY64
87*67e74705SXin Li // WEBASSEMBLY64: target datalayout = "e-m:e-p:64:64-i64:64-n32:64-S128"
88*67e74705SXin Li 
89*67e74705SXin Li // RUN: %clang_cc1 -triple lanai-unknown-unknown -o - -emit-llvm %s | \
90*67e74705SXin Li // RUN: FileCheck %s -check-prefix=LANAI
91*67e74705SXin Li // LANAI: target datalayout = "E-m:e-p:32:32-i64:64-a:0:32-n32-S64"
92*67e74705SXin Li 
93*67e74705SXin Li // RUN: %clang_cc1 -triple powerpc-unknown -o - -emit-llvm %s | \
94*67e74705SXin Li // RUN: FileCheck %s -check-prefix=PPC
95*67e74705SXin Li // PPC: target datalayout = "E-m:e-p:32:32-i64:64-n32"
96*67e74705SXin Li 
97*67e74705SXin Li // RUN: %clang_cc1 -triple powerpc64-freebsd -o - -emit-llvm %s | \
98*67e74705SXin Li // RUN: FileCheck %s -check-prefix=PPC64-FREEBSD
99*67e74705SXin Li // PPC64-FREEBSD: target datalayout = "E-m:e-i64:64-n32:64"
100*67e74705SXin Li 
101*67e74705SXin Li // RUN: %clang_cc1 -triple powerpc64-linux -o - -emit-llvm %s | \
102*67e74705SXin Li // RUN: FileCheck %s -check-prefix=PPC64-LINUX
103*67e74705SXin Li // PPC64-LINUX: target datalayout = "E-m:e-i64:64-n32:64"
104*67e74705SXin Li 
105*67e74705SXin Li // RUN: %clang_cc1 -triple powerpc64le-linux -o - -emit-llvm %s | \
106*67e74705SXin Li // RUN: FileCheck %s -check-prefix=PPC64LE-LINUX
107*67e74705SXin Li // PPC64LE-LINUX: target datalayout = "e-m:e-i64:64-n32:64"
108*67e74705SXin Li 
109*67e74705SXin Li // RUN: %clang_cc1 -triple powerpc-darwin -o - -emit-llvm %s | \
110*67e74705SXin Li // RUN: FileCheck %s -check-prefix=PPC32-DARWIN
111*67e74705SXin Li // PPC32-DARWIN: target datalayout = "E-m:o-p:32:32-f64:32:64-n32"
112*67e74705SXin Li 
113*67e74705SXin Li // RUN: %clang_cc1 -triple powerpc64-darwin -o - -emit-llvm %s | \
114*67e74705SXin Li // RUN: FileCheck %s -check-prefix=PPC64-DARWIN
115*67e74705SXin Li // PPC64-DARWIN: target datalayout = "E-m:o-i64:64-n32:64"
116*67e74705SXin Li 
117*67e74705SXin Li // RUN: %clang_cc1 -triple nvptx-unknown -o - -emit-llvm %s | \
118*67e74705SXin Li // RUN: FileCheck %s -check-prefix=NVPTX
119*67e74705SXin Li // NVPTX: target datalayout = "e-p:32:32-i64:64-v16:16-v32:32-n16:32:64"
120*67e74705SXin Li 
121*67e74705SXin Li // RUN: %clang_cc1 -triple nvptx64-unknown -o - -emit-llvm %s | \
122*67e74705SXin Li // RUN: FileCheck %s -check-prefix=NVPTX64
123*67e74705SXin Li // NVPTX64: target datalayout = "e-i64:64-v16:16-v32:32-n16:32:64"
124*67e74705SXin Li 
125*67e74705SXin Li // RUN: %clang_cc1 -triple r600-unknown -o - -emit-llvm %s | \
126*67e74705SXin Li // RUN: FileCheck %s -check-prefix=R600
127*67e74705SXin Li // R600: target datalayout = "e-p:32:32-i64:64-v16:16-v24:32-v32:32-v48:64-v96:128-v192:256-v256:256-v512:512-v1024:1024-v2048:2048-n32:64"
128*67e74705SXin Li 
129*67e74705SXin Li // RUN: %clang_cc1 -triple r600-unknown -target-cpu cayman -o - -emit-llvm %s \
130*67e74705SXin Li // RUN: | FileCheck %s -check-prefix=R600D
131*67e74705SXin Li // R600D: target datalayout = "e-p:32:32-i64:64-v16:16-v24:32-v32:32-v48:64-v96:128-v192:256-v256:256-v512:512-v1024:1024-v2048:2048-n32:64"
132*67e74705SXin Li 
133*67e74705SXin Li // RUN: %clang_cc1 -triple amdgcn-unknown -target-cpu hawaii -o - -emit-llvm %s \
134*67e74705SXin Li // RUN: | FileCheck %s -check-prefix=R600SI
135*67e74705SXin Li // R600SI: target datalayout = "e-p:32:32-p1:64:64-p2:64:64-p3:32:32-p4:64:64-p5:32:32-i64:64-v16:16-v24:32-v32:32-v48:64-v96:128-v192:256-v256:256-v512:512-v1024:1024-v2048:2048-n32:64"
136*67e74705SXin Li 
137*67e74705SXin Li // Test default -target-cpu
138*67e74705SXin Li // RUN: %clang_cc1 -triple amdgcn-unknown -o - -emit-llvm %s \
139*67e74705SXin Li // RUN: | FileCheck %s -check-prefix=R600SIDefault
140*67e74705SXin Li // R600SIDefault: target datalayout = "e-p:32:32-p1:64:64-p2:64:64-p3:32:32-p4:64:64-p5:32:32-i64:64-v16:16-v24:32-v32:32-v48:64-v96:128-v192:256-v256:256-v512:512-v1024:1024-v2048:2048-n32:64"
141*67e74705SXin Li 
142*67e74705SXin Li // RUN: %clang_cc1 -triple arm64-unknown -o - -emit-llvm %s | \
143*67e74705SXin Li // RUN: FileCheck %s -check-prefix=AARCH64
144*67e74705SXin Li // AARCH64: target datalayout = "e-m:e-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128"
145*67e74705SXin Li 
146*67e74705SXin Li // RUN: %clang_cc1 -triple thumb-unknown-gnueabi -o - -emit-llvm %s | \
147*67e74705SXin Li // RUN: FileCheck %s -check-prefix=THUMB
148*67e74705SXin Li // THUMB: target datalayout = "e-m:e-p:32:32-i64:64-v128:64:128-a:0:32-n32-S64"
149*67e74705SXin Li 
150*67e74705SXin Li // RUN: %clang_cc1 -triple arm-unknown-gnueabi -o - -emit-llvm %s | \
151*67e74705SXin Li // RUN: FileCheck %s -check-prefix=ARM
152*67e74705SXin Li // ARM: target datalayout = "e-m:e-p:32:32-i64:64-v128:64:128-a:0:32-n32-S64"
153*67e74705SXin Li 
154*67e74705SXin Li // RUN: %clang_cc1 -triple thumb-unknown -o - -emit-llvm -target-abi apcs-gnu \
155*67e74705SXin Li // RUN: %s | FileCheck %s -check-prefix=THUMB-GNU
156*67e74705SXin Li // THUMB-GNU: target datalayout = "e-m:e-p:32:32-f64:32:64-v64:32:64-v128:32:128-a:0:32-n32-S32"
157*67e74705SXin Li 
158*67e74705SXin Li // RUN: %clang_cc1 -triple arm-unknown -o - -emit-llvm -target-abi apcs-gnu \
159*67e74705SXin Li // RUN: %s | FileCheck %s -check-prefix=ARM-GNU
160*67e74705SXin Li // ARM-GNU: target datalayout = "e-m:e-p:32:32-f64:32:64-v64:32:64-v128:32:128-a:0:32-n32-S32"
161*67e74705SXin Li 
162*67e74705SXin Li // RUN: %clang_cc1 -triple hexagon-unknown -o - -emit-llvm %s | \
163*67e74705SXin Li // RUN: FileCheck %s -check-prefix=HEXAGON
164*67e74705SXin Li // HEXAGON: target datalayout = "e-m:e-p:32:32:32-a:0-n16:32-i64:64:64-i32:32:32-i16:16:16-i1:8:8-f32:32:32-f64:64:64-v32:32:32-v64:64:64-v512:512:512-v1024:1024:1024-v2048:2048:2048"
165*67e74705SXin Li 
166*67e74705SXin Li // RUN: %clang_cc1 -triple s390x-unknown -o - -emit-llvm %s | \
167*67e74705SXin Li // RUN: FileCheck %s -check-prefix=SYSTEMZ
168*67e74705SXin Li // SYSTEMZ: target datalayout = "E-m:e-i1:8:16-i8:8:16-i64:64-f128:64-a:8:16-n32:64"
169*67e74705SXin Li 
170*67e74705SXin Li // RUN: %clang_cc1 -triple s390x-unknown -target-cpu z13 -o - -emit-llvm %s | \
171*67e74705SXin Li // RUN: FileCheck %s -check-prefix=SYSTEMZ-VECTOR
172*67e74705SXin Li // SYSTEMZ-VECTOR: target datalayout = "E-m:e-i1:8:16-i8:8:16-i64:64-f128:64-v128:64-a:8:16-n32:64"
173*67e74705SXin Li 
174*67e74705SXin Li // RUN: %clang_cc1 -triple msp430-unknown -o - -emit-llvm %s | \
175*67e74705SXin Li // RUN: FileCheck %s -check-prefix=MSP430
176*67e74705SXin Li // MSP430: target datalayout = "e-m:e-p:16:16-i32:16:32-a:16-n8:16"
177*67e74705SXin Li 
178*67e74705SXin Li // RUN: %clang_cc1 -triple tce-unknown -o - -emit-llvm %s | \
179*67e74705SXin Li // RUN: FileCheck %s -check-prefix=TCE
180*67e74705SXin Li // TCE: target datalayout = "E-p:32:32-i8:8:32-i16:16:32-i64:32-f64:32-v64:32-v128:32-a:0:32-n32"
181*67e74705SXin Li 
182*67e74705SXin Li // RUN: %clang_cc1 -triple spir-unknown -o - -emit-llvm %s | \
183*67e74705SXin Li // RUN: FileCheck %s -check-prefix=SPIR
184*67e74705SXin Li // SPIR: target datalayout = "e-p:32:32-i64:64-v16:16-v24:32-v32:32-v48:64-v96:128-v192:256-v256:256-v512:512-v1024:1024"
185*67e74705SXin Li 
186*67e74705SXin Li // RUN: %clang_cc1 -triple spir64-unknown -o - -emit-llvm %s | \
187*67e74705SXin Li // RUN: FileCheck %s -check-prefix=SPIR64
188*67e74705SXin Li // SPIR64: target datalayout = "e-i64:64-v16:16-v24:32-v32:32-v48:64-v96:128-v192:256-v256:256-v512:512-v1024:1024"
189*67e74705SXin Li 
190*67e74705SXin Li // RUN: %clang_cc1 -triple bpfel -o - -emit-llvm %s | \
191*67e74705SXin Li // RUN: FileCheck %s -check-prefix=BPFEL
192*67e74705SXin Li // BPFEL: target datalayout = "e-m:e-p:64:64-i64:64-n32:64-S128"
193*67e74705SXin Li 
194*67e74705SXin Li // RUN: %clang_cc1 -triple bpfeb -o - -emit-llvm %s | \
195*67e74705SXin Li // RUN: FileCheck %s -check-prefix=BPFEB
196*67e74705SXin Li // BPFEB: target datalayout = "E-m:e-p:64:64-i64:64-n32:64-S128"
197