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