Home | History | Annotate | Download | only in Driver
      1 // Check passing options to the assembler for MIPS targets.
      2 //
      3 // RUN: %clang -target mips-linux-gnu -### \
      4 // RUN:   -no-integrated-as -c %s 2>&1 \
      5 // RUN:   | FileCheck -check-prefix=MIPS32R2-EB-AS %s
      6 // MIPS32R2-EB-AS: as{{(.exe)?}}" "-march" "mips32r2" "-mabi" "32" "-EB"
      7 // MIPS32R2-EB-AS-NOT: "{{[ A-Za-z\\\/]*}}as{{(.exe)?}}{{.*}}"-KPIC"
      8 //
      9 // RUN: %clang -target mips-linux-gnu -### \
     10 // RUN:   -no-integrated-as -fPIC -c %s 2>&1 \
     11 // RUN:   | FileCheck -check-prefix=MIPS32R2-EB-PIC %s
     12 // MIPS32R2-EB-PIC: as{{(.exe)?}}" "-march" "mips32r2" "-mabi" "32" "-EB"
     13 // MIPS32R2-EB-PIC: "-KPIC"
     14 //
     15 // RUN: %clang -target mipsel-linux-gnu -### \
     16 // RUN:   -no-integrated-as -c %s 2>&1 \
     17 // RUN:   | FileCheck -check-prefix=MIPS32R2-DEF-EL-AS %s
     18 // MIPS32R2-DEF-EL-AS: as{{(.exe)?}}" "-march" "mips32r2" "-mabi" "32" "-EL"
     19 //
     20 // RUN: %clang -target mips64-linux-gnu -### \
     21 // RUN:   -no-integrated-as -c %s 2>&1 \
     22 // RUN:   | FileCheck -check-prefix=MIPS64R2-EB-AS %s
     23 // MIPS64R2-EB-AS: as{{(.exe)?}}" "-march" "mips64r2" "-mabi" "64" "-EB"
     24 //
     25 // RUN: %clang -target mips64el-linux-gnu -### \
     26 // RUN:   -no-integrated-as -c %s 2>&1 \
     27 // RUN:   | FileCheck -check-prefix=MIPS64R2-DEF-EL-AS %s
     28 // MIPS64R2-DEF-EL-AS: as{{(.exe)?}}" "-march" "mips64r2" "-mabi" "64" "-EL"
     29 //
     30 // RUN: %clang -target mips-linux-gnu -mabi=eabi -### \
     31 // RUN:   -no-integrated-as -c %s 2>&1 \
     32 // RUN:   | FileCheck -check-prefix=MIPS-EABI %s
     33 // MIPS-EABI: as{{(.exe)?}}" "-march" "mips32r2" "-mabi" "eabi" "-EB"
     34 //
     35 // RUN: %clang -target mips64-linux-gnu -mabi=n32 -### \
     36 // RUN:   -no-integrated-as -c %s 2>&1 \
     37 // RUN:   | FileCheck -check-prefix=MIPS-N32 %s
     38 // MIPS-N32: as{{(.exe)?}}" "-march" "mips64r2" "-mabi" "n32" "-EB"
     39 //
     40 // RUN: %clang -target mipsel-linux-gnu -mabi=32 -### \
     41 // RUN:   -no-integrated-as -c %s 2>&1 \
     42 // RUN:   | FileCheck -check-prefix=MIPS32R2-EL-AS %s
     43 // MIPS32R2-EL-AS: as{{(.exe)?}}" "-march" "mips32r2" "-mabi" "32" "-EL"
     44 //
     45 // RUN: %clang -target mips64el-linux-gnu -mabi=64 -### \
     46 // RUN:   -no-integrated-as -c %s 2>&1 \
     47 // RUN:   | FileCheck -check-prefix=MIPS64R2-EL-AS %s
     48 // MIPS64R2-EL-AS: as{{(.exe)?}}" "-march" "mips64r2" "-mabi" "64" "-EL"
     49 //
     50 // RUN: %clang -target mips-linux-gnu -march=mips32r2 -### \
     51 // RUN:   -no-integrated-as -c %s 2>&1 \
     52 // RUN:   | FileCheck -check-prefix=MIPS-32R2 %s
     53 // MIPS-32R2: as{{(.exe)?}}" "-march" "mips32r2" "-mabi" "32" "-EB"
     54 //
     55 // RUN: %clang -target mips64-linux-gnu -march=octeon -### \
     56 // RUN:   -no-integrated-as -c %s 2>&1 \
     57 // RUN:   | FileCheck -check-prefix=MIPS-OCTEON %s
     58 // MIPS-OCTEON: as{{(.exe)?}}" "-march" "octeon" "-mabi" "64" "-EB"
     59 //
     60 // RUN: %clang -target mips-linux-gnu -mips1 -### \
     61 // RUN:   -no-integrated-as -c %s 2>&1 \
     62 // RUN:   | FileCheck -check-prefix=MIPS-ALIAS-1 %s
     63 // MIPS-ALIAS-1: as{{(.exe)?}}" "-march" "mips1" "-mabi" "32" "-EB"
     64 //
     65 // RUN: %clang -target mips-linux-gnu -mips2 -### \
     66 // RUN:   -no-integrated-as -c %s 2>&1 \
     67 // RUN:   | FileCheck -check-prefix=MIPS-ALIAS-2 %s
     68 // MIPS-ALIAS-2: as{{(.exe)?}}" "-march" "mips2" "-mabi" "32" "-EB"
     69 //
     70 // RUN: %clang -target mips-linux-gnu -mips3 -### \
     71 // RUN:   -no-integrated-as -c %s 2>&1 \
     72 // RUN:   | FileCheck -check-prefix=MIPS-ALIAS-3 %s
     73 // MIPS-ALIAS-3: as{{(.exe)?}}" "-march" "mips3" "-mabi" "32" "-EB"
     74 //
     75 // RUN: %clang -target mips-linux-gnu -mips4 -### \
     76 // RUN:   -no-integrated-as -c %s 2>&1 \
     77 // RUN:   | FileCheck -check-prefix=MIPS-ALIAS-4 %s
     78 // MIPS-ALIAS-4: as{{(.exe)?}}" "-march" "mips4" "-mabi" "32" "-EB"
     79 //
     80 // RUN: %clang -target mips-linux-gnu -mips5 -### \
     81 // RUN:   -no-integrated-as -c %s 2>&1 \
     82 // RUN:   | FileCheck -check-prefix=MIPS-ALIAS-5 %s
     83 // MIPS-ALIAS-5: as{{(.exe)?}}" "-march" "mips5" "-mabi" "32" "-EB"
     84 //
     85 // RUN: %clang -target mips-linux-gnu -mips32 -### \
     86 // RUN:   -no-integrated-as -c %s 2>&1 \
     87 // RUN:   | FileCheck -check-prefix=MIPS-ALIAS-32 %s
     88 // MIPS-ALIAS-32: as{{(.exe)?}}" "-march" "mips32" "-mabi" "32" "-EB"
     89 //
     90 // RUN: %clang -target mips-linux-gnu -mips32r2 -### \
     91 // RUN:   -no-integrated-as -c %s 2>&1 \
     92 // RUN:   | FileCheck -check-prefix=MIPS-ALIAS-32R2 %s
     93 // MIPS-ALIAS-32R2: as{{(.exe)?}}" "-march" "mips32r2" "-mabi" "32" "-EB"
     94 //
     95 // RUN: %clang -target mips-linux-gnu -mips32r6 -### \
     96 // RUN:   -no-integrated-as -c %s 2>&1 \
     97 // RUN:   | FileCheck -check-prefix=MIPS-ALIAS-32R6 %s
     98 // MIPS-ALIAS-32R6: as{{(.exe)?}}" "-march" "mips32r6" "-mabi" "32" "-EB"
     99 //
    100 // RUN: %clang -target mips64-linux-gnu -mips64 -### \
    101 // RUN:   -no-integrated-as -c %s 2>&1 \
    102 // RUN:   | FileCheck -check-prefix=MIPS-ALIAS-64 %s
    103 // MIPS-ALIAS-64: as{{(.exe)?}}" "-march" "mips64" "-mabi" "64" "-EB"
    104 //
    105 // RUN: %clang -target mips64-linux-gnu -mips64r2 -### \
    106 // RUN:   -no-integrated-as -c %s 2>&1 \
    107 // RUN:   | FileCheck -check-prefix=MIPS-ALIAS-64R2 %s
    108 // MIPS-ALIAS-64R2: as{{(.exe)?}}" "-march" "mips64r2" "-mabi" "64" "-EB"
    109 //
    110 // RUN: %clang -target mips64-linux-gnu -mips64r6 -### \
    111 // RUN:   -no-integrated-as -c %s 2>&1 \
    112 // RUN:   | FileCheck -check-prefix=MIPS-ALIAS-64R6 %s
    113 // MIPS-ALIAS-64R6: as{{(.exe)?}}" "-march" "mips64r6" "-mabi" "64" "-EB"
    114 //
    115 // RUN: %clang -target mips-linux-gnu -mno-mips16 -mips16 -### \
    116 // RUN:   -no-integrated-as -c %s 2>&1 \
    117 // RUN:   | FileCheck -check-prefix=MIPS-16 %s
    118 // MIPS-16: as{{(.exe)?}}" "-march" "mips32r2" "-mabi" "32" "-EB" "-mips16"
    119 //
    120 // RUN: %clang -target mips-linux-gnu -mips16 -mno-mips16 -### \
    121 // RUN:   -no-integrated-as -c %s 2>&1 \
    122 // RUN:   | FileCheck -check-prefix=MIPS-N16 %s
    123 // MIPS-N16: as{{(.exe)?}}"
    124 // MIPS-N16-NOT: "{{[ A-Za-z\\\/]*}}as{{(.exe)?}}{{.*}}"-mips16"
    125 //
    126 // RUN: %clang -target mips-linux-gnu -mno-micromips -mmicromips -### \
    127 // RUN:   -no-integrated-as -c %s 2>&1 \
    128 // RUN:   | FileCheck -check-prefix=MIPS-MICRO %s
    129 // MIPS-MICRO: as{{(.exe)?}}" "-march" "mips32r2" "-mabi" "32" "-EB" "-mmicromips"
    130 //
    131 // RUN: %clang -target mips-linux-gnu -mmicromips -mno-micromips -### \
    132 // RUN:   -no-integrated-as -c %s 2>&1 \
    133 // RUN:   | FileCheck -check-prefix=MIPS-NMICRO %s
    134 // MIPS-NMICRO: as{{(.exe)?}}"
    135 // MIPS-NMICRO-NOT: {{[A-Za-z\\\/]*}}as{{(.exe)?}}{{.*}}"-mmicromips"
    136 //
    137 // RUN: %clang -target mips-linux-gnu -mno-dsp -mdsp -### \
    138 // RUN:   -no-integrated-as -c %s 2>&1 \
    139 // RUN:   | FileCheck -check-prefix=MIPS-DSP %s
    140 // MIPS-DSP: as{{(.exe)?}}" "-march" "mips32r2" "-mabi" "32" "-EB" "-mdsp"
    141 //
    142 // RUN: %clang -target mips-linux-gnu -mdsp -mno-dsp -### \
    143 // RUN:   -no-integrated-as -c %s 2>&1 \
    144 // RUN:   | FileCheck -check-prefix=MIPS-NDSP %s
    145 // MIPS-NDSP: as{{(.exe)?}}"
    146 // MIPS-NDSP-NOT: "{{[ A-Za-z\\\/]*}}as{{(.exe)?}}{{.*}}"-mdsp"
    147 //
    148 // RUN: %clang -target mips-linux-gnu -mno-dspr2 -mdspr2 -### \
    149 // RUN:   -no-integrated-as -c %s 2>&1 \
    150 // RUN:   | FileCheck -check-prefix=MIPS-DSPR2 %s
    151 // MIPS-DSPR2: as{{(.exe)?}}" "-march" "mips32r2" "-mabi" "32" "-EB" "-mdspr2"
    152 //
    153 // RUN: %clang -target mips-linux-gnu -mdspr2 -mno-dspr2 -### \
    154 // RUN:   -no-integrated-as -c %s 2>&1 \
    155 // RUN:   | FileCheck -check-prefix=MIPS-NDSPR2 %s
    156 // MIPS-NDSPR2: as{{(.exe)?}}"
    157 // MIPS-NDSPR2-NOT: "{{[ A-Za-z\\\/]*}}as{{(.exe)?}}{{.*}}"-mdspr2"
    158 //
    159 // RUN: %clang -target mips-linux-gnu -mnan=legacy -mnan=2008 -### \
    160 // RUN:   -no-integrated-as -c %s 2>&1 \
    161 // RUN:   | FileCheck -check-prefix=MIPS-NAN2008 %s
    162 // MIPS-NAN2008: as{{(.exe)?}}" "-march" "mips32r2" "-mabi" "32" "-EB" "-mnan=2008"
    163 //
    164 // RUN: %clang -target mips-linux-gnu -mnan=2008 -mnan=legacy -### \
    165 // RUN:   -no-integrated-as -c %s 2>&1 \
    166 // RUN:   | FileCheck -check-prefix=MIPS-NAN-LEGACY %s
    167 // MIPS-NAN-LEGACY: as{{(.exe)?}}"
    168 // MIPS-NAN-LEGACY-NOT: "{{[ A-Za-z\\\/]*}}as{{(.exe)?}}{{.*}}"-mnan={{.*}}"
    169 //
    170 // RUN: %clang -target mips-linux-gnu -mfp64 -mfp32 -### \
    171 // RUN:   -no-integrated-as -c %s 2>&1 \
    172 // RUN:   | FileCheck -check-prefix=MIPS-MFP32 %s
    173 // MIPS-MFP32: as{{(.exe)?}}" "-march" "mips32r2" "-mabi" "32" "-EB" "-mfp32"
    174 //
    175 // RUN: %clang -target mips-linux-gnu -mfp32 -mfp64 -### \
    176 // RUN:   -no-integrated-as -c %s 2>&1 \
    177 // RUN:   | FileCheck -check-prefix=MIPS-MFP64 %s
    178 // MIPS-MFP64: as{{(.exe)?}}" "-march" "mips32r2" "-mabi" "32" "-EB" "-mfp64"
    179 //
    180 // RUN: %clang -target mips-linux-gnu -mno-msa -mmsa -### \
    181 // RUN:   -no-integrated-as -c %s 2>&1 \
    182 // RUN:   | FileCheck -check-prefix=MIPS-MSA %s
    183 // MIPS-MSA: as{{(.exe)?}}" "-march" "mips32r2" "-mabi" "32" "-EB" "-mmsa"
    184 //
    185 // RUN: %clang -target mips-linux-gnu -mmsa -mno-msa -### \
    186 // RUN:   -no-integrated-as -c %s 2>&1 \
    187 // RUN:   | FileCheck -check-prefix=MIPS-NMSA %s
    188 // MIPS-NMSA: as{{(.exe)?}}"
    189 // MIPS-NMSA-NOT: "{{[ A-Za-z\\\/]*}}as{{(.exe)?}}{{.*}}"-mmsa"
    190 //
    191 // We've already tested MIPS32r2 and MIPS64r2 thoroughly. Do minimal tests on
    192 // the remaining CPU's since it was possible to pass on a -mabi with no value
    193 // when the CPU name is absent from a StringSwitch in getMipsCPUAndABI()
    194 // RUN: %clang -target mips-linux-gnu -### -no-integrated-as -c %s -mcpu=mips1 \
    195 // RUN:   2>&1 | FileCheck -check-prefix=MIPS1-EB-AS %s
    196 // MIPS1-EB-AS: as{{(.exe)?}}" "-march" "mips1" "-mabi" "32" "-EB"
    197 // MIPS1-EB-AS-NOT: "{{[ A-Za-z\\\/]*}}as{{(.exe)?}}{{.*}}"-KPIC"
    198 //
    199 // RUN: %clang -target mips-linux-gnu -### -no-integrated-as -c %s -mcpu=mips2 \
    200 // RUN:   2>&1 | FileCheck -check-prefix=MIPS2-EB-AS %s
    201 // MIPS2-EB-AS: as{{(.exe)?}}" "-march" "mips2" "-mabi" "32" "-EB"
    202 // MIPS2-EB-AS-NOT: "{{[ A-Za-z\\\/]*}}as{{(.exe)?}}{{.*}}"-KPIC"
    203 //
    204 // RUN: %clang -target mips64-linux-gnu -### -no-integrated-as -c %s -mcpu=mips3 \
    205 // RUN:   2>&1 | FileCheck -check-prefix=MIPS3-EB-AS %s
    206 // MIPS3-EB-AS: as{{(.exe)?}}" "-march" "mips3" "-mabi" "64" "-EB"
    207 // MIPS3-EB-AS-NOT: "{{[ A-Za-z\\\/]*}}as{{(.exe)?}}{{.*}}"-KPIC"
    208 //
    209 // RUN: %clang -target mips64-linux-gnu -### -no-integrated-as -c %s -mcpu=mips4 \
    210 // RUN:   2>&1 | FileCheck -check-prefix=MIPS4-EB-AS %s
    211 // MIPS4-EB-AS: as{{(.exe)?}}" "-march" "mips4" "-mabi" "64" "-EB"
    212 // MIPS4-EB-AS-NOT: "{{[ A-Za-z\\\/]*}}as{{(.exe)?}}{{.*}}"-KPIC"
    213 //
    214 // RUN: %clang -target mips64-linux-gnu -### -no-integrated-as -c %s -mcpu=mips5 \
    215 // RUN:   2>&1 | FileCheck -check-prefix=MIPS5-EB-AS %s
    216 // MIPS5-EB-AS: as{{(.exe)?}}" "-march" "mips5" "-mabi" "64" "-EB"
    217 // MIPS5-EB-AS-NOT: "{{[ A-Za-z\\\/]*}}as{{(.exe)?}}{{.*}}"-KPIC"
    218 //
    219 // RUN: %clang -target mips-linux-gnu -### -no-integrated-as -c %s -mcpu=mips32 \
    220 // RUN:   2>&1 | FileCheck -check-prefix=MIPS32-EB-AS %s
    221 // MIPS32-EB-AS: as{{(.exe)?}}" "-march" "mips32" "-mabi" "32" "-EB"
    222 // MIPS32-EB-AS-NOT: "{{[ A-Za-z\\\/]*}}as{{(.exe)?}}{{.*}}"-KPIC"
    223 //
    224 // RUN: %clang -target mips-linux-gnu -### -no-integrated-as -c %s -mcpu=mips32r6 \
    225 // RUN:   2>&1 | FileCheck -check-prefix=MIPS32R6-EB-AS %s
    226 // MIPS32R6-EB-AS: as{{(.exe)?}}" "-march" "mips32r6" "-mabi" "32" "-EB"
    227 // MIPS32R6-EB-AS-NOT: "{{[ A-Za-z\\\/]*}}as{{(.exe)?}}{{.*}}"-KPIC"
    228 //
    229 // RUN: %clang -target mips64-linux-gnu -### -no-integrated-as -c %s -mcpu=mips64 \
    230 // RUN:   2>&1 | FileCheck -check-prefix=MIPS64-EB-AS %s
    231 // MIPS64-EB-AS: as{{(.exe)?}}" "-march" "mips64" "-mabi" "64" "-EB"
    232 // MIPS64-EB-AS-NOT: "{{[ A-Za-z\\\/]*}}as{{(.exe)?}}{{.*}}"-KPIC"
    233 //
    234 // RUN: %clang -target mips64-linux-gnu -### -no-integrated-as -c %s -mcpu=mips64r6 \
    235 // RUN:   2>&1 | FileCheck -check-prefix=MIPS64R6-EB-AS %s
    236 // MIPS64R6-EB-AS: as{{(.exe)?}}" "-march" "mips64r6" "-mabi" "64" "-EB"
    237 // MIPS64R6-EB-AS-NOT: "{{[ A-Za-z\\\/]*}}as{{(.exe)?}}{{.*}}"-KPIC"
    238