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-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-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-i64:64-f80:32-n8:16: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-i64:64-f80:32-n8:16: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-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 // MIPS-32EL: target datalayout = "e-m:m-p:32:32-i8:8:32-i16:16:32-i64:64-n32-S64" 36 37 // RUN: %clang_cc1 -triple mips-linux-gnu -o - -emit-llvm %s | \ 38 // RUN: FileCheck %s -check-prefix=MIPS-32EB 39 // MIPS-32EB: target datalayout = "E-m:m-p:32:32-i8:8:32-i16:16:32-i64:64-n32-S64" 40 41 // RUN: %clang_cc1 -triple mips64el-linux-gnu -o - -emit-llvm %s | \ 42 // RUN: FileCheck %s -check-prefix=MIPS-64EL 43 // MIPS-64EL: target datalayout = "e-m:m-i8:8:32-i16:16:32-i64:64-n32:64-S128" 44 45 // RUN: %clang_cc1 -triple mips64el-linux-gnu -o - -emit-llvm -target-abi n32 \ 46 // RUN: %s | FileCheck %s -check-prefix=MIPS-64EL-N32 47 // MIPS-64EL-N32: target datalayout = "e-m:m-p:32:32-i8:8:32-i16:16:32-i64:64-n32:64-S128" 48 49 // RUN: %clang_cc1 -triple mips64-linux-gnu -o - -emit-llvm %s | \ 50 // RUN: FileCheck %s -check-prefix=MIPS-64EB 51 // MIPS-64EB: target datalayout = "E-m:m-i8:8:32-i16:16:32-i64:64-n32:64-S128" 52 53 // RUN: %clang_cc1 -triple mips64-linux-gnu -o - -emit-llvm %s -target-abi n32 \ 54 // RUN: | FileCheck %s -check-prefix=MIPS-64EB-N32 55 // MIPS-64EB-N32: target datalayout = "E-m:m-p:32:32-i8:8:32-i16:16:32-i64:64-n32:64-S128" 56 57 // RUN: %clang_cc1 -triple powerpc64-lv2 -o - -emit-llvm %s | \ 58 // RUN: FileCheck %s -check-prefix=PS3 59 // PS3: target datalayout = "E-m:e-p:32:32-i64:64-n32:64" 60 61 // RUN: %clang_cc1 -triple i686-nacl -o - -emit-llvm %s | \ 62 // RUN: FileCheck %s -check-prefix=I686-NACL 63 // I686-NACL: target datalayout = "e-m:e-p:32:32-i64:64-n8:16:32-S128" 64 65 // RUN: %clang_cc1 -triple x86_64-nacl -o - -emit-llvm %s | \ 66 // RUN: FileCheck %s -check-prefix=X86_64-NACL 67 // X86_64-NACL: target datalayout = "e-m:e-p:32:32-i64:64-n8:16:32:64-S128" 68 69 // RUN: %clang_cc1 -triple arm-nacl -o - -emit-llvm %s | \ 70 // RUN: FileCheck %s -check-prefix=ARM-NACL 71 // ARM-NACL: target datalayout = "e-m:e-p:32:32-i64:64-v128:64:128-a:0:32-n32-S128" 72 73 // RUN: %clang_cc1 -triple mipsel-nacl -o - -emit-llvm %s | \ 74 // RUN: FileCheck %s -check-prefix=MIPS-NACL 75 // MIPS-NACL: target datalayout = "e-m:m-p:32:32-i8:8:32-i16:16:32-i64:64-n32-S64" 76 77 // RUN: %clang_cc1 -triple le32-nacl -o - -emit-llvm %s | \ 78 // RUN: FileCheck %s -check-prefix=LE32-NACL 79 // LE32-NACL: target datalayout = "e-p:32:32-i64:64" 80 81 // RUN: %clang_cc1 -triple powerpc-unknown -o - -emit-llvm %s | \ 82 // RUN: FileCheck %s -check-prefix=PPC 83 // PPC: target datalayout = "E-m:e-p:32:32-i64:64-n32" 84 85 // RUN: %clang_cc1 -triple powerpc64-freebsd -o - -emit-llvm %s | \ 86 // RUN: FileCheck %s -check-prefix=PPC64-FREEBSD 87 // PPC64-FREEBSD: target datalayout = "E-m:e-i64:64-n32:64" 88 89 // RUN: %clang_cc1 -triple powerpc64-linux -o - -emit-llvm %s | \ 90 // RUN: FileCheck %s -check-prefix=PPC64-LINUX 91 // PPC64-LINUX: target datalayout = "E-m:e-i64:64-n32:64" 92 93 // RUN: %clang_cc1 -triple powerpc64le-linux -o - -emit-llvm %s | \ 94 // RUN: FileCheck %s -check-prefix=PPC64LE-LINUX 95 // PPC64LE-LINUX: target datalayout = "e-m:e-i64:64-n32:64" 96 97 // RUN: %clang_cc1 -triple powerpc-darwin -o - -emit-llvm %s | \ 98 // RUN: FileCheck %s -check-prefix=PPC32-DARWIN 99 // PPC32-DARWIN: target datalayout = "E-m:o-p:32:32-f64:32:64-n32" 100 101 // RUN: %clang_cc1 -triple powerpc64-darwin -o - -emit-llvm %s | \ 102 // RUN: FileCheck %s -check-prefix=PPC64-DARWIN 103 // PPC64-DARWIN: target datalayout = "E-m:o-i64:64-n32:64" 104 105 // RUN: %clang_cc1 -triple nvptx-unknown -o - -emit-llvm %s | \ 106 // RUN: FileCheck %s -check-prefix=NVPTX 107 // NVPTX: target datalayout = "e-p:32:32-i64:64-v16:16-v32:32-n16:32:64" 108 109 // RUN: %clang_cc1 -triple nvptx64-unknown -o - -emit-llvm %s | \ 110 // RUN: FileCheck %s -check-prefix=NVPTX64 111 // NVPTX64: target datalayout = "e-i64:64-v16:16-v32:32-n16:32:64" 112 113 // RUN: %clang_cc1 -triple r600-unknown -o - -emit-llvm %s | \ 114 // RUN: FileCheck %s -check-prefix=R600 115 // 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" 116 117 // RUN: %clang_cc1 -triple r600-unknown -target-cpu cayman -o - -emit-llvm %s \ 118 // RUN: | FileCheck %s -check-prefix=R600D 119 // 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" 120 121 // RUN: %clang_cc1 -triple amdgcn-unknown -target-cpu hawaii -o - -emit-llvm %s \ 122 // RUN: | FileCheck %s -check-prefix=R600SI 123 // R600SI: target datalayout = "e-p:32:32-p1:64:64-p2:64:64-p3:32:32-p4:64:64-p5:32:32-p24:64:64-i64:64-v16:16-v24:32-v32:32-v48:64-v96:128-v192:256-v256:256-v512:512-v1024:1024-v2048:2048-n32:64" 124 125 // Test default -target-cpu 126 // RUN: %clang_cc1 -triple amdgcn-unknown -o - -emit-llvm %s \ 127 // RUN: | FileCheck %s -check-prefix=R600SIDefault 128 // R600SIDefault: target datalayout = "e-p:32:32-p1:64:64-p2:64:64-p3:32:32-p4:64:64-p5:32:32-p24:64:64-i64:64-v16:16-v24:32-v32:32-v48:64-v96:128-v192:256-v256:256-v512:512-v1024:1024-v2048:2048-n32:64" 129 130 // RUN: %clang_cc1 -triple arm64-unknown -o - -emit-llvm %s | \ 131 // RUN: FileCheck %s -check-prefix=AARCH64 132 // AARCH64: target datalayout = "e-m:e-i64:64-i128:128-n32:64-S128" 133 134 // RUN: %clang_cc1 -triple thumb-unknown-gnueabi -o - -emit-llvm %s | \ 135 // RUN: FileCheck %s -check-prefix=THUMB 136 // THUMB: target datalayout = "e-m:e-p:32:32-i64:64-v128:64:128-a:0:32-n32-S64" 137 138 // RUN: %clang_cc1 -triple arm-unknown-gnueabi -o - -emit-llvm %s | \ 139 // RUN: FileCheck %s -check-prefix=ARM 140 // ARM: target datalayout = "e-m:e-p:32:32-i64:64-v128:64:128-a:0:32-n32-S64" 141 142 // RUN: %clang_cc1 -triple thumb-unknown -o - -emit-llvm -target-abi apcs-gnu \ 143 // RUN: %s | FileCheck %s -check-prefix=THUMB-GNU 144 // THUMB-GNU: target datalayout = "e-m:e-p:32:32-f64:32:64-v64:32:64-v128:32:128-a:0:32-n32-S32" 145 146 // RUN: %clang_cc1 -triple arm-unknown -o - -emit-llvm -target-abi apcs-gnu \ 147 // RUN: %s | FileCheck %s -check-prefix=ARM-GNU 148 // ARM-GNU: target datalayout = "e-m:e-p:32:32-f64:32:64-v64:32:64-v128:32:128-a:0:32-n32-S32" 149 150 // RUN: %clang_cc1 -triple hexagon-unknown -o - -emit-llvm %s | \ 151 // RUN: FileCheck %s -check-prefix=HEXAGON 152 // HEXAGON: target datalayout = "e-m:e-p:32:32-i1:32-i64:64-a:0-n32" 153 154 // RUN: %clang_cc1 -triple s390x-unknown -o - -emit-llvm %s | \ 155 // RUN: FileCheck %s -check-prefix=SYSTEMZ 156 // SYSTEMZ: target datalayout = "E-m:e-i1:8:16-i8:8:16-i64:64-f128:64-a:8:16-n32:64" 157 158 // RUN: %clang_cc1 -triple msp430-unknown -o - -emit-llvm %s | \ 159 // RUN: FileCheck %s -check-prefix=MSP430 160 // MSP430: target datalayout = "e-m:e-p:16:16-i32:16:32-a:16-n8:16" 161 162 // RUN: %clang_cc1 -triple tce-unknown -o - -emit-llvm %s | \ 163 // RUN: FileCheck %s -check-prefix=TCE 164 // 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" 165 166 // RUN: %clang_cc1 -triple spir-unknown -o - -emit-llvm %s | \ 167 // RUN: FileCheck %s -check-prefix=SPIR 168 // 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" 169 170 // RUN: %clang_cc1 -triple spir64-unknown -o - -emit-llvm %s | \ 171 // RUN: FileCheck %s -check-prefix=SPIR64 172 // SPIR64: target datalayout = "e-i64:64-v16:16-v24:32-v32:32-v48:64-v96:128-v192:256-v256:256-v512:512-v1024:1024" 173