1 // RUN: %clang_cc1 -triple i686-unknown-unknown -emit-llvm -o - %s | \ 2 // RUN: FileCheck --check-prefix=I686-UNKNOWN %s 3 // I686-UNKNOWN: target datalayout = "e-m:e-p:32:32-p270:32:32-p271:32:32-p272:64:64-f64:32:64-f80:32-n8:16:32-S128" 4 5 // RUN: %clang_cc1 -triple i686-apple-darwin9 -emit-llvm -o - %s | \ 6 // RUN: FileCheck --check-prefix=I686-DARWIN %s 7 // I686-DARWIN: target datalayout = "e-m:o-p:32:32-p270:32:32-p271:32:32-p272:64:64-f64:32:64-f80:128-n8:16:32-S128" 8 9 // RUN: %clang_cc1 -triple i686-unknown-win32 -emit-llvm -o - %s | \ 10 // RUN: FileCheck --check-prefix=I686-WIN32 %s 11 // I686-WIN32: target datalayout = "e-m:x-p:32:32-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:32-n8:16:32-a:0:32-S32" 12 13 // RUN: %clang_cc1 -triple i686-unknown-cygwin -emit-llvm -o - %s | \ 14 // RUN: FileCheck --check-prefix=I686-CYGWIN %s 15 // I686-CYGWIN: target datalayout = "e-m:x-p:32:32-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:32-n8:16:32-a:0:32-S32" 16 17 // RUN: %clang_cc1 -triple x86_64-unknown-unknown -emit-llvm -o - %s | \ 18 // RUN: FileCheck --check-prefix=X86_64 %s 19 // X86_64: target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128" 20 21 // RUN: %clang_cc1 -triple xcore-unknown-unknown -emit-llvm -o - %s | \ 22 // RUN: FileCheck --check-prefix=XCORE %s 23 // 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 25 // RUN: %clang_cc1 -triple sparc-sun-solaris -emit-llvm -o - %s | \ 26 // RUN: FileCheck %s --check-prefix=SPARC-V8 27 // SPARC-V8: target datalayout = "E-m:e-p:32:32-i64:64-f128:64-n32-S64" 28 29 // RUN: %clang_cc1 -triple sparcv9-sun-solaris -emit-llvm -o - %s | \ 30 // RUN: FileCheck %s --check-prefix=SPARC-V9 31 // SPARC-V9: target datalayout = "E-m:e-i64:64-n32:64-S128" 32 33 // RUN: %clang_cc1 -triple mipsel-linux-gnu -o - -emit-llvm %s | \ 34 // RUN: FileCheck %s -check-prefix=MIPS-32EL 35 // RUN: %clang_cc1 -triple mipsisa32r6el-linux-gnu -o - -emit-llvm %s | \ 36 // RUN: FileCheck %s -check-prefix=MIPS-32EL 37 // MIPS-32EL: target datalayout = "e-m:m-p:32:32-i8:8:32-i16:16:32-i64:64-n32-S64" 38 39 // RUN: %clang_cc1 -triple mips-linux-gnu -o - -emit-llvm %s | \ 40 // RUN: FileCheck %s -check-prefix=MIPS-32EB 41 // RUN: %clang_cc1 -triple mipsisa32r6-linux-gnu -o - -emit-llvm %s | \ 42 // RUN: FileCheck %s -check-prefix=MIPS-32EB 43 // MIPS-32EB: target datalayout = "E-m:m-p:32:32-i8:8:32-i16:16:32-i64:64-n32-S64" 44 45 // RUN: %clang_cc1 -triple mips64el-linux-gnu -o - -emit-llvm %s | \ 46 // RUN: FileCheck %s -check-prefix=MIPS-64EL 47 // RUN: %clang_cc1 -triple mips64el-linux-gnuabi64 -o - -emit-llvm %s | \ 48 // RUN: FileCheck %s -check-prefix=MIPS-64EL 49 // RUN: %clang_cc1 -triple mipsisa64r6el-linux-gnu -o - -emit-llvm %s | \ 50 // RUN: FileCheck %s -check-prefix=MIPS-64EL 51 // RUN: %clang_cc1 -triple mipsisa64r6el-linux-gnuabi64 -o - -emit-llvm %s | \ 52 // RUN: FileCheck %s -check-prefix=MIPS-64EL 53 // MIPS-64EL: target datalayout = "e-m:e-i8:8:32-i16:16:32-i64:64-n32:64-S128" 54 55 // RUN: %clang_cc1 -triple mips64el-linux-gnu -o - -emit-llvm -target-abi n32 \ 56 // RUN: %s | FileCheck %s -check-prefix=MIPS-64EL-N32 57 // RUN: %clang_cc1 -triple mips64el-linux-gnuabin32 -o - -emit-llvm \ 58 // RUN: %s | FileCheck %s -check-prefix=MIPS-64EL-N32 59 // RUN: %clang_cc1 -triple mipsisa64r6el-linux-gnu -o - -emit-llvm -target-abi n32 \ 60 // RUN: %s | FileCheck %s -check-prefix=MIPS-64EL-N32 61 // RUN: %clang_cc1 -triple mipsisa64r6el-linux-gnuabin32 -o - -emit-llvm \ 62 // RUN: %s | FileCheck %s -check-prefix=MIPS-64EL-N32 63 // MIPS-64EL-N32: target datalayout = "e-m:e-p:32:32-i8:8:32-i16:16:32-i64:64-n32:64-S128" 64 65 // RUN: %clang_cc1 -triple mips64-linux-gnu -o - -emit-llvm %s | \ 66 // RUN: FileCheck %s -check-prefix=MIPS-64EB 67 // RUN: %clang_cc1 -triple mips64-linux-gnuabi64 -o - -emit-llvm %s | \ 68 // RUN: FileCheck %s -check-prefix=MIPS-64EB 69 // RUN: %clang_cc1 -triple mipsisa64r6-linux-gnu -o - -emit-llvm %s | \ 70 // RUN: FileCheck %s -check-prefix=MIPS-64EB 71 // RUN: %clang_cc1 -triple mipsisa64r6-linux-gnuabi64 -o - -emit-llvm %s | \ 72 // RUN: FileCheck %s -check-prefix=MIPS-64EB 73 // MIPS-64EB: target datalayout = "E-m:e-i8:8:32-i16:16:32-i64:64-n32:64-S128" 74 75 // RUN: %clang_cc1 -triple mips64-linux-gnu -o - -emit-llvm %s -target-abi n32 \ 76 // RUN: | FileCheck %s -check-prefix=MIPS-64EB-N32 77 // RUN: %clang_cc1 -triple mips64-linux-gnuabin32 -o - -emit-llvm %s \ 78 // RUN: | FileCheck %s -check-prefix=MIPS-64EB-N32 79 // RUN: %clang_cc1 -triple mipsisa64r6-linux-gnu -o - -emit-llvm %s -target-abi n32 \ 80 // RUN: | FileCheck %s -check-prefix=MIPS-64EB-N32 81 // RUN: %clang_cc1 -triple mipsisa64r6-linux-gnuabin32 -o - -emit-llvm %s \ 82 // RUN: | FileCheck %s -check-prefix=MIPS-64EB-N32 83 // MIPS-64EB-N32: target datalayout = "E-m:e-p:32:32-i8:8:32-i16:16:32-i64:64-n32:64-S128" 84 85 // RUN: %clang_cc1 -triple powerpc64-lv2 -o - -emit-llvm %s | \ 86 // RUN: FileCheck %s -check-prefix=PS3 87 // PS3: target datalayout = "E-m:e-p:32:32-i64:64-n32:64" 88 89 // RUN: %clang_cc1 -triple i686-nacl -o - -emit-llvm %s | \ 90 // RUN: FileCheck %s -check-prefix=I686-NACL 91 // I686-NACL: target datalayout = "e-m:e-p:32:32-p270:32:32-p271:32:32-p272:64:64-i64:64-n8:16:32-S128" 92 93 // RUN: %clang_cc1 -triple x86_64-nacl -o - -emit-llvm %s | \ 94 // RUN: FileCheck %s -check-prefix=X86_64-NACL 95 // X86_64-NACL: target datalayout = "e-m:e-p:32:32-p270:32:32-p271:32:32-p272:64:64-i64:64-n8:16:32:64-S128" 96 97 // RUN: %clang_cc1 -triple arm-nacl -o - -emit-llvm %s | \ 98 // RUN: FileCheck %s -check-prefix=ARM-NACL 99 // ARM-NACL: target datalayout = "e-m:e-p:32:32-Fi8-i64:64-v128:64:128-a:0:32-n32-S128" 100 101 // RUN: %clang_cc1 -triple mipsel-nacl -o - -emit-llvm %s | \ 102 // RUN: FileCheck %s -check-prefix=MIPS-NACL 103 // MIPS-NACL: target datalayout = "e-m:m-p:32:32-i8:8:32-i16:16:32-i64:64-n32-S64" 104 105 // RUN: %clang_cc1 -triple le32-nacl -o - -emit-llvm %s | \ 106 // RUN: FileCheck %s -check-prefix=LE32-NACL 107 // LE32-NACL: target datalayout = "e-p:32:32-i64:64" 108 109 // RUN: %clang_cc1 -triple wasm32-unknown-unknown -o - -emit-llvm %s | \ 110 // RUN: FileCheck %s -check-prefix=WEBASSEMBLY32 111 // WEBASSEMBLY32: target datalayout = "e-m:e-p:32:32-i64:64-n32:64-S128" 112 113 // RUN: %clang_cc1 -triple wasm64-unknown-unknown -o - -emit-llvm %s | \ 114 // RUN: FileCheck %s -check-prefix=WEBASSEMBLY64 115 // WEBASSEMBLY64: target datalayout = "e-m:e-p:64:64-i64:64-n32:64-S128" 116 117 // RUN: %clang_cc1 -triple lanai-unknown-unknown -o - -emit-llvm %s | \ 118 // RUN: FileCheck %s -check-prefix=LANAI 119 // LANAI: target datalayout = "E-m:e-p:32:32-i64:64-a:0:32-n32-S64" 120 121 // RUN: %clang_cc1 -triple powerpc-unknown -o - -emit-llvm %s | \ 122 // RUN: FileCheck %s -check-prefix=PPC 123 // PPC: target datalayout = "E-m:e-p:32:32-i64:64-n32" 124 125 // RUN: %clang_cc1 -triple powerpc64-freebsd -o - -emit-llvm %s | \ 126 // RUN: FileCheck %s -check-prefix=PPC64-FREEBSD 127 // PPC64-FREEBSD: target datalayout = "E-m:e-i64:64-n32:64" 128 129 // RUN: %clang_cc1 -triple powerpc64-linux -o - -emit-llvm %s | \ 130 // RUN: FileCheck %s -check-prefix=PPC64-LINUX 131 // PPC64-LINUX: target datalayout = "E-m:e-i64:64-n32:64" 132 133 // RUN: %clang_cc1 -triple powerpc64le-linux -o - -emit-llvm %s | \ 134 // RUN: FileCheck %s -check-prefix=PPC64LE-LINUX 135 // PPC64LE-LINUX: target datalayout = "e-m:e-i64:64-n32:64" 136 137 // RUN: %clang_cc1 -triple nvptx-unknown -o - -emit-llvm %s | \ 138 // RUN: FileCheck %s -check-prefix=NVPTX 139 // NVPTX: target datalayout = "e-p:32:32-i64:64-i128:128-v16:16-v32:32-n16:32:64" 140 141 // RUN: %clang_cc1 -triple nvptx64-unknown -o - -emit-llvm %s | \ 142 // RUN: FileCheck %s -check-prefix=NVPTX64 143 // NVPTX64: target datalayout = "e-i64:64-i128:128-v16:16-v32:32-n16:32:64" 144 145 // RUN: %clang_cc1 -triple r600-unknown -o - -emit-llvm %s | \ 146 // RUN: FileCheck %s -check-prefix=R600 147 // 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-S32-A5" 148 149 // RUN: %clang_cc1 -triple r600-unknown -target-cpu cayman -o - -emit-llvm %s \ 150 // RUN: | FileCheck %s -check-prefix=R600D 151 // 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-S32-A5" 152 153 // RUN: %clang_cc1 -triple amdgcn-unknown -target-cpu hawaii -o - -emit-llvm %s \ 154 // RUN: | FileCheck %s -check-prefix=R600SI 155 // R600SI: target datalayout = "e-p:64:64-p1:64:64-p2:32:32-p3:32:32-p4:64:64-p5:32:32-p6: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-S32-A5-ni:7" 156 157 // Test default -target-cpu 158 // RUN: %clang_cc1 -triple amdgcn-unknown -o - -emit-llvm %s \ 159 // RUN: | FileCheck %s -check-prefix=R600SIDefault 160 // R600SIDefault: target datalayout = "e-p:64:64-p1:64:64-p2:32:32-p3:32:32-p4:64:64-p5:32:32-p6: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-S32-A5-ni:7" 161 162 // RUN: %clang_cc1 -triple arm64-unknown -o - -emit-llvm %s | \ 163 // RUN: FileCheck %s -check-prefix=AARCH64 164 // AARCH64: target datalayout = "e-m:e-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128" 165 166 // RUN: %clang_cc1 -triple arm64_32-apple-ios7.0 -o - -emit-llvm %s | \ 167 // RUN: FileCheck %s -check-prefix=AARCH64-ILP32 168 // AARCH64-ILP32: target datalayout = "e-m:o-p:32:32-i64:64-i128:128-n32:64-S128" 169 170 // RUN: %clang_cc1 -triple thumb-unknown-gnueabi -o - -emit-llvm %s | \ 171 // RUN: FileCheck %s -check-prefix=THUMB 172 // THUMB: target datalayout = "e-m:e-p:32:32-Fi8-i64:64-v128:64:128-a:0:32-n32-S64" 173 174 // RUN: %clang_cc1 -triple arm-unknown-gnueabi -o - -emit-llvm %s | \ 175 // RUN: FileCheck %s -check-prefix=ARM 176 // ARM: target datalayout = "e-m:e-p:32:32-Fi8-i64:64-v128:64:128-a:0:32-n32-S64" 177 178 // RUN: %clang_cc1 -triple thumb-unknown -o - -emit-llvm -target-abi apcs-gnu \ 179 // RUN: %s | FileCheck %s -check-prefix=THUMB-GNU 180 // THUMB-GNU: target datalayout = "e-m:e-p:32:32-Fi8-f64:32:64-v64:32:64-v128:32:128-a:0:32-n32-S32" 181 182 // RUN: %clang_cc1 -triple arm-unknown -o - -emit-llvm -target-abi apcs-gnu \ 183 // RUN: %s | FileCheck %s -check-prefix=ARM-GNU 184 // ARM-GNU: target datalayout = "e-m:e-p:32:32-Fi8-f64:32:64-v64:32:64-v128:32:128-a:0:32-n32-S32" 185 186 // RUN: %clang_cc1 -triple arc-unknown-unknown -o - -emit-llvm %s | \ 187 // RUN: FileCheck %s -check-prefix=ARC 188 // ARC: target datalayout = "e-m:e-p:32:32-i1:8:32-i8:8:32-i16:16:32-i32:32:32-f32:32:32-i64:32-f64:32-a:0:32-n32" 189 190 // RUN: %clang_cc1 -triple hexagon-unknown -o - -emit-llvm %s | \ 191 // RUN: FileCheck %s -check-prefix=HEXAGON 192 // 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" 193 194 // RUN: %clang_cc1 -triple s390x-unknown -o - -emit-llvm %s | \ 195 // RUN: FileCheck %s -check-prefix=SYSTEMZ 196 // RUN: %clang_cc1 -triple s390x-unknown -target-cpu z10 -o - -emit-llvm %s | \ 197 // RUN: FileCheck %s -check-prefix=SYSTEMZ 198 // RUN: %clang_cc1 -triple s390x-unknown -target-cpu arch8 -o - -emit-llvm %s | \ 199 // RUN: FileCheck %s -check-prefix=SYSTEMZ 200 // RUN: %clang_cc1 -triple s390x-unknown -target-cpu z196 -o - -emit-llvm %s | \ 201 // RUN: FileCheck %s -check-prefix=SYSTEMZ 202 // RUN: %clang_cc1 -triple s390x-unknown -target-cpu arch9 -o - -emit-llvm %s | \ 203 // RUN: FileCheck %s -check-prefix=SYSTEMZ 204 // RUN: %clang_cc1 -triple s390x-unknown -target-cpu zEC12 -o - -emit-llvm %s | \ 205 // RUN: FileCheck %s -check-prefix=SYSTEMZ 206 // RUN: %clang_cc1 -triple s390x-unknown -target-cpu arch10 -o - -emit-llvm %s | \ 207 // RUN: FileCheck %s -check-prefix=SYSTEMZ 208 // RUN: %clang_cc1 -triple s390x-unknown -target-cpu z13 -target-feature +soft-float -o - -emit-llvm %s | \ 209 // RUN: FileCheck %s -check-prefix=SYSTEMZ 210 // SYSTEMZ: target datalayout = "E-m:e-i1:8:16-i8:8:16-i64:64-f128:64-a:8:16-n32:64" 211 212 // RUN: %clang_cc1 -triple s390x-unknown -target-cpu z13 -o - -emit-llvm %s | \ 213 // RUN: FileCheck %s -check-prefix=SYSTEMZ-VECTOR 214 // RUN: %clang_cc1 -triple s390x-unknown -target-cpu arch11 -o - -emit-llvm %s | \ 215 // RUN: FileCheck %s -check-prefix=SYSTEMZ-VECTOR 216 // RUN: %clang_cc1 -triple s390x-unknown -target-cpu z14 -o - -emit-llvm %s | \ 217 // RUN: FileCheck %s -check-prefix=SYSTEMZ-VECTOR 218 // RUN: %clang_cc1 -triple s390x-unknown -target-cpu arch12 -o - -emit-llvm %s | \ 219 // RUN: FileCheck %s -check-prefix=SYSTEMZ-VECTOR 220 // RUN: %clang_cc1 -triple s390x-unknown -target-cpu z15 -o - -emit-llvm %s | \ 221 // RUN: FileCheck %s -check-prefix=SYSTEMZ-VECTOR 222 // RUN: %clang_cc1 -triple s390x-unknown -target-cpu arch13 -o - -emit-llvm %s | \ 223 // RUN: FileCheck %s -check-prefix=SYSTEMZ-VECTOR 224 // SYSTEMZ-VECTOR: target datalayout = "E-m:e-i1:8:16-i8:8:16-i64:64-f128:64-v128:64-a:8:16-n32:64" 225 226 // RUN: %clang_cc1 -triple msp430-unknown -o - -emit-llvm %s | \ 227 // RUN: FileCheck %s -check-prefix=MSP430 228 // MSP430: target datalayout = "e-m:e-p:16:16-i32:16-i64:16-f32:16-f64:16-a:8-n8:16-S16" 229 230 // RUN: %clang_cc1 -triple tce-unknown -o - -emit-llvm %s | \ 231 // RUN: FileCheck %s -check-prefix=TCE 232 // TCE: target datalayout = "E-p:32:32:32-i1:8:8-i8:8:32-i16:16:32-i32:32:32-i64:32:32-f32:32:32-f64:32:32-v64:32:32-v128:32:32-v256:32:32-v512:32:32-v1024:32:32-a0:0:32-n32" 233 234 // RUN: %clang_cc1 -triple tcele-unknown -o - -emit-llvm %s | \ 235 // RUN: FileCheck %s -check-prefix=TCELE 236 // TCELE: target datalayout = "e-p:32:32:32-i1:8:8-i8:8:32-i16:16:32-i32:32:32-i64:32:32-f32:32:32-f64:32:32-v64:32:32-v128:32:32-v256:32:32-v512:32:32-v1024:32:32-a0:0:32-n32" 237 238 // RUN: %clang_cc1 -triple spir-unknown -o - -emit-llvm %s | \ 239 // RUN: FileCheck %s -check-prefix=SPIR 240 // 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" 241 242 // RUN: %clang_cc1 -triple spir64-unknown -o - -emit-llvm %s | \ 243 // RUN: FileCheck %s -check-prefix=SPIR64 244 // SPIR64: target datalayout = "e-i64:64-v16:16-v24:32-v32:32-v48:64-v96:128-v192:256-v256:256-v512:512-v1024:1024" 245 246 // RUN: %clang_cc1 -triple bpfel -o - -emit-llvm %s | \ 247 // RUN: FileCheck %s -check-prefix=BPFEL 248 // BPFEL: target datalayout = "e-m:e-p:64:64-i64:64-i128:128-n32:64-S128" 249 250 // RUN: %clang_cc1 -triple bpfeb -o - -emit-llvm %s | \ 251 // RUN: FileCheck %s -check-prefix=BPFEB 252 // BPFEB: target datalayout = "E-m:e-p:64:64-i64:64-i128:128-n32:64-S128" 253 254 // RUN: %clang_cc1 -triple ve -o - -emit-llvm %s | \ 255 // RUN: FileCheck %s -check-prefix=VE 256 // VE: target datalayout = "e-m:e-i64:64-n32:64-S128" 257