1*67e74705SXin Li // Check passing options to the assembler for MIPS targets. 2*67e74705SXin Li // 3*67e74705SXin Li // RUN: %clang -target mips-linux-gnu -### \ 4*67e74705SXin Li // RUN: -no-integrated-as -c %s 2>&1 \ 5*67e74705SXin Li // RUN: | FileCheck -check-prefix=MIPS32R2-EB-AS %s 6*67e74705SXin Li // RUN: %clang -target mipsel-linux-gnu -### \ 7*67e74705SXin Li // RUN: -no-integrated-as -c -EB %s 2>&1 \ 8*67e74705SXin Li // RUN: | FileCheck -check-prefix=MIPS32R2-EB-AS %s 9*67e74705SXin Li // MIPS32R2-EB-AS: as{{(.exe)?}}" "-march" "mips32r2" "-mabi" "32" "-mno-shared" "-call_nonpic" "-EB" 10*67e74705SXin Li // MIPS32R2-EB-AS-NOT: "{{[ A-Za-z\\\/]*}}as{{(.exe)?}}{{.*}}"-KPIC" 11*67e74705SXin Li // 12*67e74705SXin Li // RUN: %clang -target mips-linux-gnu -### \ 13*67e74705SXin Li // RUN: -no-integrated-as -fPIC -c %s 2>&1 \ 14*67e74705SXin Li // RUN: | FileCheck -check-prefix=MIPS32R2-EB-PIC %s 15*67e74705SXin Li // MIPS32R2-EB-PIC: as{{(.exe)?}}" "-march" "mips32r2" "-mabi" "32" "-call_nonpic" "-EB" 16*67e74705SXin Li // MIPS32R2-EB-PIC: "-KPIC" 17*67e74705SXin Li // 18*67e74705SXin Li // RUN: %clang -target mipsel-linux-gnu -### \ 19*67e74705SXin Li // RUN: -no-integrated-as -c %s 2>&1 \ 20*67e74705SXin Li // RUN: | FileCheck -check-prefix=MIPS32R2-DEF-EL-AS %s 21*67e74705SXin Li // MIPS32R2-DEF-EL-AS: as{{(.exe)?}}" "-march" "mips32r2" "-mabi" "32" "-mno-shared" "-call_nonpic" "-EL" 22*67e74705SXin Li // 23*67e74705SXin Li // RUN: %clang -target mips64-linux-gnu -### \ 24*67e74705SXin Li // RUN: -no-integrated-as -c %s 2>&1 \ 25*67e74705SXin Li // RUN: | FileCheck -check-prefix=MIPS64R2-EB-AS %s 26*67e74705SXin Li // MIPS64R2-EB-AS: as{{(.exe)?}}" "-march" "mips64r2" "-mabi" "64" "-mno-shared" "-KPIC" "-EB" 27*67e74705SXin Li // 28*67e74705SXin Li // RUN: %clang -target mips64el-linux-gnu -### \ 29*67e74705SXin Li // RUN: -no-integrated-as -c %s 2>&1 \ 30*67e74705SXin Li // RUN: | FileCheck -check-prefix=MIPS64R2-DEF-EL-AS %s 31*67e74705SXin Li // MIPS64R2-DEF-EL-AS: as{{(.exe)?}}" "-march" "mips64r2" "-mabi" "64" "-mno-shared" "-KPIC" "-EL" 32*67e74705SXin Li // 33*67e74705SXin Li // RUN: %clang -target mips64-linux-gnu -mabi=n32 -### \ 34*67e74705SXin Li // RUN: -no-integrated-as -c %s 2>&1 \ 35*67e74705SXin Li // RUN: | FileCheck -check-prefix=MIPS-N32 %s 36*67e74705SXin Li // MIPS-N32: as{{(.exe)?}}" "-march" "mips64r2" "-mabi" "n32" "-mno-shared" "-call_nonpic" "-EB" 37*67e74705SXin Li // 38*67e74705SXin Li // RUN: %clang -target mipsel-linux-gnu -mabi=32 -### \ 39*67e74705SXin Li // RUN: -no-integrated-as -c %s 2>&1 \ 40*67e74705SXin Li // RUN: | FileCheck -check-prefix=MIPS32R2-EL-AS %s 41*67e74705SXin Li // RUN: %clang -target mips-linux-gnu -mabi=32 -### \ 42*67e74705SXin Li // RUN: -no-integrated-as -c %s -EL 2>&1 \ 43*67e74705SXin Li // RUN: | FileCheck -check-prefix=MIPS32R2-EL-AS %s 44*67e74705SXin Li // MIPS32R2-EL-AS: as{{(.exe)?}}" "-march" "mips32r2" "-mabi" "32" "-mno-shared" "-call_nonpic" "-EL" 45*67e74705SXin Li // 46*67e74705SXin Li // RUN: %clang -target mips64el-linux-gnu -mabi=64 -### \ 47*67e74705SXin Li // RUN: -no-integrated-as -c %s 2>&1 \ 48*67e74705SXin Li // RUN: | FileCheck -check-prefix=MIPS64R2-EL-AS %s 49*67e74705SXin Li // MIPS64R2-EL-AS: as{{(.exe)?}}" "-march" "mips64r2" "-mabi" "64" "-mno-shared" "-KPIC" "-EL" 50*67e74705SXin Li // 51*67e74705SXin Li // RUN: %clang -target mips-linux-gnu -march=mips32r2 -### \ 52*67e74705SXin Li // RUN: -no-integrated-as -c %s 2>&1 \ 53*67e74705SXin Li // RUN: | FileCheck -check-prefix=MIPS-32R2 %s 54*67e74705SXin Li // MIPS-32R2: as{{(.exe)?}}" "-march" "mips32r2" "-mabi" "32" "-mno-shared" "-call_nonpic" "-EB" 55*67e74705SXin Li // 56*67e74705SXin Li // RUN: %clang -target mips-linux-gnu -march=p5600 -### \ 57*67e74705SXin Li // RUN: -no-integrated-as -c %s 2>&1 \ 58*67e74705SXin Li // RUN: | FileCheck -check-prefix=MIPS-P5600 %s 59*67e74705SXin Li // MIPS-P5600: as{{(.exe)?}}" "-march" "p5600" "-mabi" "32" "-mno-shared" "-call_nonpic" "-EB" 60*67e74705SXin Li // 61*67e74705SXin Li // RUN: %clang -target mips64-linux-gnu -march=octeon -### \ 62*67e74705SXin Li // RUN: -no-integrated-as -c %s 2>&1 \ 63*67e74705SXin Li // RUN: | FileCheck -check-prefix=MIPS-OCTEON %s 64*67e74705SXin Li // MIPS-OCTEON: as{{(.exe)?}}" "-march" "octeon" "-mabi" "64" "-mno-shared" "-KPIC" "-EB" 65*67e74705SXin Li // 66*67e74705SXin Li // RUN: %clang -target mips-linux-gnu -mips1 -### \ 67*67e74705SXin Li // RUN: -no-integrated-as -c %s 2>&1 \ 68*67e74705SXin Li // RUN: | FileCheck -check-prefix=MIPS-ALIAS-1 %s 69*67e74705SXin Li // MIPS-ALIAS-1: as{{(.exe)?}}" "-march" "mips1" "-mabi" "32" "-mno-shared" "-call_nonpic" "-EB" 70*67e74705SXin Li // 71*67e74705SXin Li // RUN: %clang -target mips-linux-gnu -mips2 -### \ 72*67e74705SXin Li // RUN: -no-integrated-as -c %s 2>&1 \ 73*67e74705SXin Li // RUN: | FileCheck -check-prefix=MIPS-ALIAS-2 %s 74*67e74705SXin Li // MIPS-ALIAS-2: as{{(.exe)?}}" "-march" "mips2" "-mabi" "32" "-mno-shared" "-call_nonpic" "-EB" 75*67e74705SXin Li // 76*67e74705SXin Li // RUN: %clang -target mips-linux-gnu -mips3 -### \ 77*67e74705SXin Li // RUN: -no-integrated-as -c %s 2>&1 \ 78*67e74705SXin Li // RUN: | FileCheck -check-prefix=MIPS-ALIAS-3 %s 79*67e74705SXin Li // MIPS-ALIAS-3: as{{(.exe)?}}" "-march" "mips3" "-mabi" "32" "-mno-shared" "-call_nonpic" "-EB" 80*67e74705SXin Li // 81*67e74705SXin Li // RUN: %clang -target mips-linux-gnu -mips4 -### \ 82*67e74705SXin Li // RUN: -no-integrated-as -c %s 2>&1 \ 83*67e74705SXin Li // RUN: | FileCheck -check-prefix=MIPS-ALIAS-4 %s 84*67e74705SXin Li // MIPS-ALIAS-4: as{{(.exe)?}}" "-march" "mips4" "-mabi" "32" "-mno-shared" "-call_nonpic" "-EB" 85*67e74705SXin Li // 86*67e74705SXin Li // RUN: %clang -target mips-linux-gnu -mips5 -### \ 87*67e74705SXin Li // RUN: -no-integrated-as -c %s 2>&1 \ 88*67e74705SXin Li // RUN: | FileCheck -check-prefix=MIPS-ALIAS-5 %s 89*67e74705SXin Li // MIPS-ALIAS-5: as{{(.exe)?}}" "-march" "mips5" "-mabi" "32" "-mno-shared" "-call_nonpic" "-EB" 90*67e74705SXin Li // 91*67e74705SXin Li // RUN: %clang -target mips-linux-gnu -mips32 -### \ 92*67e74705SXin Li // RUN: -no-integrated-as -c %s 2>&1 \ 93*67e74705SXin Li // RUN: | FileCheck -check-prefix=MIPS-ALIAS-32 %s 94*67e74705SXin Li // MIPS-ALIAS-32: as{{(.exe)?}}" "-march" "mips32" "-mabi" "32" "-mno-shared" "-call_nonpic" "-EB" 95*67e74705SXin Li // 96*67e74705SXin Li // RUN: %clang -target mips-linux-gnu -mips32r2 -### \ 97*67e74705SXin Li // RUN: -no-integrated-as -c %s 2>&1 \ 98*67e74705SXin Li // RUN: | FileCheck -check-prefix=MIPS-ALIAS-32R2 %s 99*67e74705SXin Li // MIPS-ALIAS-32R2: as{{(.exe)?}}" "-march" "mips32r2" "-mabi" "32" "-mno-shared" "-call_nonpic" "-EB" 100*67e74705SXin Li // 101*67e74705SXin Li // RUN: %clang -target mips-linux-gnu -mips32r3 -### \ 102*67e74705SXin Li // RUN: -no-integrated-as -c %s 2>&1 \ 103*67e74705SXin Li // RUN: | FileCheck -check-prefix=MIPS-ALIAS-32R3 %s 104*67e74705SXin Li // MIPS-ALIAS-32R3: as{{(.exe)?}}" "-march" "mips32r3" "-mabi" "32" "-mno-shared" "-call_nonpic" "-EB" 105*67e74705SXin Li // 106*67e74705SXin Li // RUN: %clang -target mips-linux-gnu -mips32r5 -### \ 107*67e74705SXin Li // RUN: -no-integrated-as -c %s 2>&1 \ 108*67e74705SXin Li // RUN: | FileCheck -check-prefix=MIPS-ALIAS-32R5 %s 109*67e74705SXin Li // MIPS-ALIAS-32R5: as{{(.exe)?}}" "-march" "mips32r5" "-mabi" "32" "-mno-shared" "-call_nonpic" "-EB" 110*67e74705SXin Li // 111*67e74705SXin Li // RUN: %clang -target mips-linux-gnu -mips32r6 -### \ 112*67e74705SXin Li // RUN: -no-integrated-as -c %s 2>&1 \ 113*67e74705SXin Li // RUN: | FileCheck -check-prefix=MIPS-ALIAS-32R6 %s 114*67e74705SXin Li // MIPS-ALIAS-32R6: as{{(.exe)?}}" "-march" "mips32r6" "-mabi" "32" "-mno-shared" "-call_nonpic" "-EB" 115*67e74705SXin Li // 116*67e74705SXin Li // RUN: %clang -target mips64-linux-gnu -mips64 -### \ 117*67e74705SXin Li // RUN: -no-integrated-as -c %s 2>&1 \ 118*67e74705SXin Li // RUN: | FileCheck -check-prefix=MIPS-ALIAS-64 %s 119*67e74705SXin Li // MIPS-ALIAS-64: as{{(.exe)?}}" "-march" "mips64" "-mabi" "64" "-mno-shared" "-KPIC" "-EB" 120*67e74705SXin Li // 121*67e74705SXin Li // RUN: %clang -target mips64-linux-gnu -mips64r2 -### \ 122*67e74705SXin Li // RUN: -no-integrated-as -c %s 2>&1 \ 123*67e74705SXin Li // RUN: | FileCheck -check-prefix=MIPS-ALIAS-64R2 %s 124*67e74705SXin Li // MIPS-ALIAS-64R2: as{{(.exe)?}}" "-march" "mips64r2" "-mabi" "64" "-mno-shared" "-KPIC" "-EB" 125*67e74705SXin Li // 126*67e74705SXin Li // RUN: %clang -target mips64-linux-gnu -mips64r3 -### \ 127*67e74705SXin Li // RUN: -no-integrated-as -c %s 2>&1 \ 128*67e74705SXin Li // RUN: | FileCheck -check-prefix=MIPS-ALIAS-64R3 %s 129*67e74705SXin Li // MIPS-ALIAS-64R3: as{{(.exe)?}}" "-march" "mips64r3" "-mabi" "64" "-mno-shared" "-KPIC" "-EB" 130*67e74705SXin Li // 131*67e74705SXin Li // RUN: %clang -target mips64-linux-gnu -mips64r5 -### \ 132*67e74705SXin Li // RUN: -no-integrated-as -c %s 2>&1 \ 133*67e74705SXin Li // RUN: | FileCheck -check-prefix=MIPS-ALIAS-64R5 %s 134*67e74705SXin Li // MIPS-ALIAS-64R5: as{{(.exe)?}}" "-march" "mips64r5" "-mabi" "64" "-mno-shared" "-KPIC" "-EB" 135*67e74705SXin Li // 136*67e74705SXin Li // RUN: %clang -target mips64-linux-gnu -mips64r6 -### \ 137*67e74705SXin Li // RUN: -no-integrated-as -c %s 2>&1 \ 138*67e74705SXin Li // RUN: | FileCheck -check-prefix=MIPS-ALIAS-64R6 %s 139*67e74705SXin Li // MIPS-ALIAS-64R6: as{{(.exe)?}}" "-march" "mips64r6" "-mabi" "64" "-mno-shared" "-KPIC" "-EB" 140*67e74705SXin Li // 141*67e74705SXin Li // RUN: %clang -target mips-linux-gnu -mno-mips16 -mips16 -### \ 142*67e74705SXin Li // RUN: -no-integrated-as -c %s 2>&1 \ 143*67e74705SXin Li // RUN: | FileCheck -check-prefix=MIPS-16 %s 144*67e74705SXin Li // MIPS-16: as{{(.exe)?}}" "-march" "mips32r2" "-mabi" "32" "-mno-shared" "-call_nonpic" "-EB" "-mips16" 145*67e74705SXin Li // 146*67e74705SXin Li // RUN: %clang -target mips-linux-gnu -mips16 -mno-mips16 -### \ 147*67e74705SXin Li // RUN: -no-integrated-as -c %s 2>&1 \ 148*67e74705SXin Li // RUN: | FileCheck -check-prefix=MIPS-N16 %s 149*67e74705SXin Li // MIPS-N16: as{{(.exe)?}}" 150*67e74705SXin Li // MIPS-N16: -no-mips16 151*67e74705SXin Li // 152*67e74705SXin Li // RUN: %clang -target mips-linux-gnu -mno-micromips -mmicromips -### \ 153*67e74705SXin Li // RUN: -no-integrated-as -c %s 2>&1 \ 154*67e74705SXin Li // RUN: | FileCheck -check-prefix=MIPS-MICRO %s 155*67e74705SXin Li // MIPS-MICRO: as{{(.exe)?}}" "-march" "mips32r2" "-mabi" "32" "-mno-shared" "-call_nonpic" "-EB" "-mmicromips" 156*67e74705SXin Li // 157*67e74705SXin Li // RUN: %clang -target mips-linux-gnu -mmicromips -mno-micromips -### \ 158*67e74705SXin Li // RUN: -no-integrated-as -c %s 2>&1 \ 159*67e74705SXin Li // RUN: | FileCheck -check-prefix=MIPS-NMICRO %s 160*67e74705SXin Li // MIPS-NMICRO: as{{(.exe)?}}" 161*67e74705SXin Li // MIPS-NMICRO-NOT: {{[A-Za-z\\\/]*}}as{{(.exe)?}}{{.*}}"-mmicromips" 162*67e74705SXin Li // 163*67e74705SXin Li // RUN: %clang -target mips-linux-gnu -mno-dsp -mdsp -### \ 164*67e74705SXin Li // RUN: -no-integrated-as -c %s 2>&1 \ 165*67e74705SXin Li // RUN: | FileCheck -check-prefix=MIPS-DSP %s 166*67e74705SXin Li // MIPS-DSP: as{{(.exe)?}}" "-march" "mips32r2" "-mabi" "32" "-mno-shared" "-call_nonpic" "-EB" "-mdsp" 167*67e74705SXin Li // 168*67e74705SXin Li // RUN: %clang -target mips-linux-gnu -mdsp -mno-dsp -### \ 169*67e74705SXin Li // RUN: -no-integrated-as -c %s 2>&1 \ 170*67e74705SXin Li // RUN: | FileCheck -check-prefix=MIPS-NDSP %s 171*67e74705SXin Li // MIPS-NDSP: as{{(.exe)?}}" 172*67e74705SXin Li // MIPS-NDSP-NOT: "{{[ A-Za-z\\\/]*}}as{{(.exe)?}}{{.*}}"-mdsp" 173*67e74705SXin Li // 174*67e74705SXin Li // RUN: %clang -target mips-linux-gnu -mno-dspr2 -mdspr2 -### \ 175*67e74705SXin Li // RUN: -no-integrated-as -c %s 2>&1 \ 176*67e74705SXin Li // RUN: | FileCheck -check-prefix=MIPS-DSPR2 %s 177*67e74705SXin Li // MIPS-DSPR2: as{{(.exe)?}}" "-march" "mips32r2" "-mabi" "32" "-mno-shared" "-call_nonpic" "-EB" "-mdspr2" 178*67e74705SXin Li // 179*67e74705SXin Li // RUN: %clang -target mips-linux-gnu -mdspr2 -mno-dspr2 -### \ 180*67e74705SXin Li // RUN: -no-integrated-as -c %s 2>&1 \ 181*67e74705SXin Li // RUN: | FileCheck -check-prefix=MIPS-NDSPR2 %s 182*67e74705SXin Li // MIPS-NDSPR2: as{{(.exe)?}}" 183*67e74705SXin Li // MIPS-NDSPR2-NOT: "{{[ A-Za-z\\\/]*}}as{{(.exe)?}}{{.*}}"-mdspr2" 184*67e74705SXin Li // 185*67e74705SXin Li // RUN: %clang -target mips-linux-gnu -mnan=legacy -mnan=2008 -### \ 186*67e74705SXin Li // RUN: -no-integrated-as -c %s 2>&1 \ 187*67e74705SXin Li // RUN: | FileCheck -check-prefix=MIPS-NAN2008 %s 188*67e74705SXin Li // MIPS-NAN2008: as{{(.exe)?}}" "-march" "mips32r2" "-mabi" "32" "-mno-shared" "-call_nonpic" "-EB" "-mnan=2008" 189*67e74705SXin Li // 190*67e74705SXin Li // RUN: %clang -target mips-linux-gnu -mnan=2008 -mnan=legacy -### \ 191*67e74705SXin Li // RUN: -no-integrated-as -c %s 2>&1 \ 192*67e74705SXin Li // RUN: | FileCheck -check-prefix=MIPS-NAN-LEGACY %s 193*67e74705SXin Li // MIPS-NAN-LEGACY: as{{(.exe)?}}" 194*67e74705SXin Li // MIPS-NAN-LEGACY-NOT: "{{[ A-Za-z\\\/]*}}as{{(.exe)?}}{{.*}}"-mnan={{.*}}" 195*67e74705SXin Li // 196*67e74705SXin Li // RUN: %clang -target mips-linux-gnu -mfp64 -mfpxx -mfp32 -### \ 197*67e74705SXin Li // RUN: -no-integrated-as -c %s 2>&1 \ 198*67e74705SXin Li // RUN: | FileCheck -check-prefix=MIPS-MFP32 %s 199*67e74705SXin Li // MIPS-MFP32: as{{(.exe)?}}" "-march" "mips32r2" "-mabi" "32" "-mno-shared" "-call_nonpic" "-EB" "-mfp32" 200*67e74705SXin Li // 201*67e74705SXin Li // RUN: %clang -target mips-linux-gnu -mfp32 -mfp64 -mfpxx -### \ 202*67e74705SXin Li // RUN: -no-integrated-as -c %s 2>&1 \ 203*67e74705SXin Li // RUN: | FileCheck -check-prefix=MIPS-MFPXX %s 204*67e74705SXin Li // MIPS-MFPXX: as{{(.exe)?}}" "-march" "mips32r2" "-mabi" "32" "-mno-shared" "-call_nonpic" "-EB" "-mfpxx" 205*67e74705SXin Li // 206*67e74705SXin Li // RUN: %clang -target mips-linux-gnu -mfpxx -mfp32 -mfp64 -### \ 207*67e74705SXin Li // RUN: -no-integrated-as -c %s 2>&1 \ 208*67e74705SXin Li // RUN: | FileCheck -check-prefix=MIPS-MFP64 %s 209*67e74705SXin Li // MIPS-MFP64: as{{(.exe)?}}" "-march" "mips32r2" "-mabi" "32" "-mno-shared" "-call_nonpic" "-EB" "-mfp64" 210*67e74705SXin Li // 211*67e74705SXin Li // RUN: %clang -target mips-linux-gnu -mno-msa -mmsa -### \ 212*67e74705SXin Li // RUN: -no-integrated-as -c %s 2>&1 \ 213*67e74705SXin Li // RUN: | FileCheck -check-prefix=MIPS-MSA %s 214*67e74705SXin Li // MIPS-MSA: as{{(.exe)?}}" "-march" "mips32r2" "-mabi" "32" "-mno-shared" "-call_nonpic" "-EB" "-mmsa" 215*67e74705SXin Li // 216*67e74705SXin Li // RUN: %clang -target mips-linux-gnu -mmsa -mno-msa -### \ 217*67e74705SXin Li // RUN: -no-integrated-as -c %s 2>&1 \ 218*67e74705SXin Li // RUN: | FileCheck -check-prefix=MIPS-NMSA %s 219*67e74705SXin Li // MIPS-NMSA: as{{(.exe)?}}" 220*67e74705SXin Li // MIPS-NMSA-NOT: "{{[ A-Za-z\\\/]*}}as{{(.exe)?}}{{.*}}"-mmsa" 221*67e74705SXin Li // 222*67e74705SXin Li // We've already tested MIPS32r2 and MIPS64r2 thoroughly. Do minimal tests on 223*67e74705SXin Li // the remaining CPU's since it was possible to pass on a -mabi with no value 224*67e74705SXin Li // when the CPU name is absent from a StringSwitch in getMipsCPUAndABI() 225*67e74705SXin Li // RUN: %clang -target mips-linux-gnu -### -no-integrated-as -c %s -mcpu=mips1 \ 226*67e74705SXin Li // RUN: 2>&1 | FileCheck -check-prefix=MIPS1-EB-AS %s 227*67e74705SXin Li // MIPS1-EB-AS: as{{(.exe)?}}" "-march" "mips1" "-mabi" "32" "-mno-shared" "-call_nonpic" "-EB" 228*67e74705SXin Li // MIPS1-EB-AS-NOT: "{{[ A-Za-z\\\/]*}}as{{(.exe)?}}{{.*}}"-KPIC" 229*67e74705SXin Li // 230*67e74705SXin Li // RUN: %clang -target mips-linux-gnu -### -no-integrated-as -c %s -mcpu=mips2 \ 231*67e74705SXin Li // RUN: 2>&1 | FileCheck -check-prefix=MIPS2-EB-AS %s 232*67e74705SXin Li // MIPS2-EB-AS: as{{(.exe)?}}" "-march" "mips2" "-mabi" "32" "-mno-shared" "-call_nonpic" "-EB" 233*67e74705SXin Li // MIPS2-EB-AS-NOT: "{{[ A-Za-z\\\/]*}}as{{(.exe)?}}{{.*}}"-KPIC" 234*67e74705SXin Li // 235*67e74705SXin Li // RUN: %clang -target mips64-linux-gnu -### -no-integrated-as -c %s -mcpu=mips3 \ 236*67e74705SXin Li // RUN: 2>&1 | FileCheck -check-prefix=MIPS3-EB-AS %s 237*67e74705SXin Li // MIPS3-EB-AS: as{{(.exe)?}}" "-march" "mips3" "-mabi" "64" "-mno-shared" "-KPIC" "-EB" 238*67e74705SXin Li // 239*67e74705SXin Li // RUN: %clang -target mips64-linux-gnu -### -no-integrated-as -c %s -mcpu=mips4 \ 240*67e74705SXin Li // RUN: 2>&1 | FileCheck -check-prefix=MIPS4-EB-AS %s 241*67e74705SXin Li // MIPS4-EB-AS: as{{(.exe)?}}" "-march" "mips4" "-mabi" "64" "-mno-shared" "-KPIC" "-EB" 242*67e74705SXin Li // 243*67e74705SXin Li // RUN: %clang -target mips64-linux-gnu -### -no-integrated-as -c %s -mcpu=mips5 \ 244*67e74705SXin Li // RUN: 2>&1 | FileCheck -check-prefix=MIPS5-EB-AS %s 245*67e74705SXin Li // MIPS5-EB-AS: as{{(.exe)?}}" "-march" "mips5" "-mabi" "64" "-mno-shared" "-KPIC" "-EB" 246*67e74705SXin Li // 247*67e74705SXin Li // RUN: %clang -target mips-linux-gnu -### -no-integrated-as -c %s -mcpu=mips32 \ 248*67e74705SXin Li // RUN: 2>&1 | FileCheck -check-prefix=MIPS32-EB-AS %s 249*67e74705SXin Li // MIPS32-EB-AS: as{{(.exe)?}}" "-march" "mips32" "-mabi" "32" "-mno-shared" "-call_nonpic" "-EB" 250*67e74705SXin Li // MIPS32-EB-AS-NOT: "{{[ A-Za-z\\\/]*}}as{{(.exe)?}}{{.*}}"-KPIC" 251*67e74705SXin Li // 252*67e74705SXin Li // RUN: %clang -target mips-linux-gnu -### -no-integrated-as -c %s -mcpu=mips32r6 \ 253*67e74705SXin Li // RUN: 2>&1 | FileCheck -check-prefix=MIPS32R6-EB-AS %s 254*67e74705SXin Li // MIPS32R6-EB-AS: as{{(.exe)?}}" "-march" "mips32r6" "-mabi" "32" "-mno-shared" "-call_nonpic" "-EB" 255*67e74705SXin Li // MIPS32R6-EB-AS-NOT: "{{[ A-Za-z\\\/]*}}as{{(.exe)?}}{{.*}}"-KPIC" 256*67e74705SXin Li // 257*67e74705SXin Li // RUN: %clang -target mips64-linux-gnu -### -no-integrated-as -c %s -mcpu=mips64 \ 258*67e74705SXin Li // RUN: 2>&1 | FileCheck -check-prefix=MIPS64-EB-AS %s 259*67e74705SXin Li // MIPS64-EB-AS: as{{(.exe)?}}" "-march" "mips64" "-mabi" "64" "-mno-shared" "-KPIC" "-EB" 260*67e74705SXin Li // 261*67e74705SXin Li // RUN: %clang -target mips64-linux-gnu -### -no-integrated-as -c %s -mcpu=mips64r6 \ 262*67e74705SXin Li // RUN: 2>&1 | FileCheck -check-prefix=MIPS64R6-EB-AS %s 263*67e74705SXin Li // MIPS64R6-EB-AS: as{{(.exe)?}}" "-march" "mips64r6" "-mabi" "64" "-mno-shared" "-KPIC" "-EB" 264*67e74705SXin Li // 265*67e74705SXin Li // RUN: %clang -target mips-linux-gnu -### -no-integrated-as -msoft-float -mhard-float -c %s 2>&1 \ 266*67e74705SXin Li // RUN: | FileCheck -check-prefix=HARDFLOAT --implicit-check-not=-msoft-float %s 267*67e74705SXin Li // HARDFLOAT: as{{(.exe)?}}" 268*67e74705SXin Li // HARDFLOAT: -mhard-float 269*67e74705SXin Li // 270*67e74705SXin Li // RUN: %clang -target mips-linux-gnu -### -no-integrated-as -mhard-float -msoft-float -c %s 2>&1 \ 271*67e74705SXin Li // RUN: | FileCheck -check-prefix=SOFTFLOAT --implicit-check-not=-mhard-float %s 272*67e74705SXin Li // SOFTFLOAT: as{{(.exe)?}}" 273*67e74705SXin Li // SOFTFLOAT: -msoft-float 274*67e74705SXin Li // 275*67e74705SXin Li // RUN: %clang -target mips-linux-gnu -### -no-integrated-as -mno-odd-spreg -modd-spreg -c %s 2>&1 \ 276*67e74705SXin Li // RUN: | FileCheck -check-prefix=ODDSPREG --implicit-check-not=-mno-odd-spreg %s 277*67e74705SXin Li // ODDSPREG: as{{(.exe)?}}" 278*67e74705SXin Li // ODDSPREG: -modd-spreg 279*67e74705SXin Li // 280*67e74705SXin Li // RUN: %clang -target mips-linux-gnu -### -no-integrated-as -modd-spreg -mno-odd-spreg -c %s 2>&1 \ 281*67e74705SXin Li // RUN: | FileCheck -check-prefix=NOODDSPREG --implicit-check-not=-modd-spreg %s 282*67e74705SXin Li // NOODDSPREG: as{{(.exe)?}}" 283*67e74705SXin Li // NOODDSPREG: -mno-odd-spreg 284*67e74705SXin Li // 285*67e74705SXin Li // RUN: %clang -target mips-linux-gnu -### -no-integrated-as -mdouble-float -msingle-float -c %s 2>&1 \ 286*67e74705SXin Li // RUN: | FileCheck -check-prefix=SINGLEFLOAT --implicit-check-not=-mdouble-float %s 287*67e74705SXin Li // SINGLEFLOAT: as{{(.exe)?}}" 288*67e74705SXin Li // SINGLEFLOAT: -msingle-float 289*67e74705SXin Li // 290*67e74705SXin Li // RUN: %clang -target mips-linux-gnu -### -no-integrated-as -msingle-float -mdouble-float -c %s 2>&1 \ 291*67e74705SXin Li // RUN: | FileCheck -check-prefix=DOUBLEFLOAT --implicit-check-not=-msingle-float %s 292*67e74705SXin Li // DOUBLEFLOAT: as{{(.exe)?}}" 293*67e74705SXin Li // DOUBLEFLOAT: -mdouble-float 294*67e74705SXin Li // 295*67e74705SXin Li // RUN: %clang -target mips-linux-gnu -### -no-integrated-as -msoft-float -c %s 2>&1 \ 296*67e74705SXin Li // RUN: | FileCheck -check-prefix=SOFTFLOAT-IMPLICIT-FPXX --implicit-check-not=-mfpxx %s 297*67e74705SXin Li // SOFTFLOAT-IMPLICIT-FPXX: as{{(.exe)?}}" 298*67e74705SXin Li // SOFTFLOAT-IMPLICIT-FPXX: -msoft-float 299*67e74705SXin Li // 300*67e74705SXin Li // RUN: %clang -target mips-linux-gnu -### -no-integrated-as -msoft-float -mfpxx -c %s 2>&1 \ 301*67e74705SXin Li // RUN: | FileCheck -check-prefix=SOFTFLOAT-EXPLICIT-FPXX %s 302*67e74705SXin Li // SOFTFLOAT-EXPLICIT-FPXX: as{{(.exe)?}}" 303*67e74705SXin Li // SOFTFLOAT-EXPLICIT-FPXX: -mfpxx 304*67e74705SXin Li // SOFTFLOAT-EXPLICIT-FPXX: -msoft-float 305*67e74705SXin Li // 306*67e74705SXin Li // RUN: %clang -target mips-mti-linux-gnu -### -no-integrated-as -msoft-float -c %s 2>&1 \ 307*67e74705SXin Li // RUN: | FileCheck -check-prefix=MTI-SOFTFLOAT-IMPLICIT-FPXX --implicit-check-not=-mfpxx %s 308*67e74705SXin Li // MTI-SOFTFLOAT-IMPLICIT-FPXX: as{{(.exe)?}}" 309*67e74705SXin Li // MTI-SOFTFLOAT-IMPLICIT-FPXX: -msoft-float 310*67e74705SXin Li // 311*67e74705SXin Li // RUN: %clang -target mips-mti-linux-gnu -### -no-integrated-as -msoft-float -mfpxx -c %s 2>&1 \ 312*67e74705SXin Li // RUN: | FileCheck -check-prefix=MTI-SOFTFLOAT-EXPLICIT-FPXX %s 313*67e74705SXin Li // MTI-SOFTFLOAT-EXPLICIT-FPXX: as{{(.exe)?}}" 314*67e74705SXin Li // MTI-SOFTFLOAT-EXPLICIT-FPXX: -mfpxx 315*67e74705SXin Li // MTI-SOFTFLOAT-EXPLICIT-FPXX: -msoft-float 316*67e74705SXin Li // 317*67e74705SXin Li // RUN: %clang -target mips-img-linux-gnu -### -no-integrated-as -msoft-float -c %s 2>&1 \ 318*67e74705SXin Li // RUN: | FileCheck -check-prefix=IMG-SOFTFLOAT-IMPLICIT-FPXX --implicit-check-not=-mfpxx %s 319*67e74705SXin Li // IMG-SOFTFLOAT-IMPLICIT-FPXX: as{{(.exe)?}}" 320*67e74705SXin Li // IMG-SOFTFLOAT-IMPLICIT-FPXX: -msoft-float 321*67e74705SXin Li // 322*67e74705SXin Li // RUN: %clang -target mips-img-linux-gnu -### -no-integrated-as -msoft-float -mfpxx -c %s 2>&1 \ 323*67e74705SXin Li // RUN: | FileCheck -check-prefix=IMG-SOFTFLOAT-EXPLICIT-FPXX %s 324*67e74705SXin Li // IMG-SOFTFLOAT-EXPLICIT-FPXX: as{{(.exe)?}}" 325*67e74705SXin Li // IMG-SOFTFLOAT-EXPLICIT-FPXX: -mfpxx 326*67e74705SXin Li // IMG-SOFTFLOAT-EXPLICIT-FPXX: -msoft-float 327*67e74705SXin Li // 328*67e74705SXin Li // RUN: %clang -target mips-linux-gnu -### -no-integrated-as -msingle-float -c %s 2>&1 \ 329*67e74705SXin Li // RUN: | FileCheck -check-prefix=SINGLEFLOAT-IMPLICIT-FPXX --implicit-check-not=-mfpxx %s 330*67e74705SXin Li // SINGLEFLOAT-IMPLICIT-FPXX: as{{(.exe)?}}" 331*67e74705SXin Li // SINGLEFLOAT-IMPLICIT-FPXX: -msingle-float 332*67e74705SXin Li // 333*67e74705SXin Li // RUN: %clang -target mips-linux-gnu -### -no-integrated-as -msingle-float -mfpxx -c %s 2>&1 \ 334*67e74705SXin Li // RUN: | FileCheck -check-prefix=SINGLEFLOAT-EXPLICIT-FPXX %s 335*67e74705SXin Li // SINGLEFLOAT-EXPLICIT-FPXX: as{{(.exe)?}}" 336*67e74705SXin Li // SINGLEFLOAT-EXPLICIT-FPXX: -mfpxx 337*67e74705SXin Li // SINGLEFLOAT-EXPLICIT-FPXX: -msingle-float 338*67e74705SXin Li // 339*67e74705SXin Li // RUN: %clang -target mips-mti-linux-gnu -### -no-integrated-as -msingle-float -c %s 2>&1 \ 340*67e74705SXin Li // RUN: | FileCheck -check-prefix=MTI-SINGLEFLOAT-IMPLICIT-FPXX --implicit-check-not=-mfpxx %s 341*67e74705SXin Li // MTI-SINGLEFLOAT-IMPLICIT-FPXX: as{{(.exe)?}}" 342*67e74705SXin Li // MTI-SINGLEFLOAT-IMPLICIT-FPXX: -msingle-float 343*67e74705SXin Li // 344*67e74705SXin Li // RUN: %clang -target mips-mti-linux-gnu -### -no-integrated-as -msingle-float -mfpxx -c %s 2>&1 \ 345*67e74705SXin Li // RUN: | FileCheck -check-prefix=MTI-SINGLEFLOAT-EXPLICIT-FPXX %s 346*67e74705SXin Li // MTI-SINGLEFLOAT-EXPLICIT-FPXX: as{{(.exe)?}}" 347*67e74705SXin Li // MTI-SINGLEFLOAT-EXPLICIT-FPXX: -mfpxx 348*67e74705SXin Li // MTI-SINGLEFLOAT-EXPLICIT-FPXX: -msingle-float 349*67e74705SXin Li // 350*67e74705SXin Li // RUN: %clang -target mips-img-linux-gnu -### -no-integrated-as -msingle-float -c %s 2>&1 \ 351*67e74705SXin Li // RUN: | FileCheck -check-prefix=IMG-SINGLEFLOAT-IMPLICIT-FPXX --implicit-check-not=-mfpxx %s 352*67e74705SXin Li // IMG-SINGLEFLOAT-IMPLICIT-FPXX: as{{(.exe)?}}" 353*67e74705SXin Li // IMG-SINGLEFLOAT-IMPLICIT-FPXX: -msingle-float 354*67e74705SXin Li // 355*67e74705SXin Li // RUN: %clang -target mips-img-linux-gnu -### -no-integrated-as -msingle-float -mfpxx -c %s 2>&1 \ 356*67e74705SXin Li // RUN: | FileCheck -check-prefix=IMG-SINGLEFLOAT-EXPLICIT-FPXX %s 357*67e74705SXin Li // IMG-SINGLEFLOAT-EXPLICIT-FPXX: as{{(.exe)?}}" 358*67e74705SXin Li // IMG-SINGLEFLOAT-EXPLICIT-FPXX: -mfpxx 359*67e74705SXin Li // IMG-SINGLEFLOAT-EXPLICIT-FPXX: -msingle-float 360