1*0a6a1f1dSLionel Sambuc// RUN: %clang -target mips-linux-gnu -### -fintegrated-as -c %s 2>&1 | \ 2*0a6a1f1dSLionel Sambuc// RUN: FileCheck -check-prefix=ABI-O32 %s 3*0a6a1f1dSLionel Sambuc// RUN: %clang -target mips-linux-gnu -### -fintegrated-as -c %s -mabi=32 2>&1 | \ 4*0a6a1f1dSLionel Sambuc// RUN: FileCheck -check-prefix=ABI-O32 %s 5*0a6a1f1dSLionel Sambuc// RUN: %clang -target mips-linux-gnu -### -fintegrated-as -c %s -mabi=o32 2>&1 | \ 6*0a6a1f1dSLionel Sambuc// RUN: FileCheck -check-prefix=ABI-O32 %s 7*0a6a1f1dSLionel Sambuc// ABI-O32: -cc1as 8*0a6a1f1dSLionel Sambuc// ABI-O32: "-target-feature" "-n64" 9*0a6a1f1dSLionel Sambuc// ABI-O32: "-target-feature" "+o32" 10*0a6a1f1dSLionel Sambuc 11*0a6a1f1dSLionel Sambuc// RUN: %clang -target mips-linux-gnu -### -fintegrated-as -c %s -mabi=eabi 2>&1 | \ 12*0a6a1f1dSLionel Sambuc// RUN: FileCheck -check-prefix=ABI-EABI32 %s 13*0a6a1f1dSLionel Sambuc// ABI-EABI32: -cc1as 14*0a6a1f1dSLionel Sambuc// ABI-EABI32: "-target-feature" "-o32" 15*0a6a1f1dSLionel Sambuc// ABI-EABI32: "-target-feature" "-n64" 16*0a6a1f1dSLionel Sambuc// ABI-EABI32: "-target-feature" "+eabi" 17*0a6a1f1dSLionel Sambuc 18*0a6a1f1dSLionel Sambuc// RUN: %clang -target mips-linux-gnu -### -fintegrated-as -c %s -mips64 -mabi=n32 2>&1 | \ 19*0a6a1f1dSLionel Sambuc// RUN: FileCheck -check-prefix=ABI-N32 %s 20*0a6a1f1dSLionel Sambuc// RUN: %clang -target mips64-linux-gnu -### -fintegrated-as -c %s -mabi=n32 2>&1 | \ 21*0a6a1f1dSLionel Sambuc// RUN: FileCheck -check-prefix=ABI-N32 %s 22*0a6a1f1dSLionel Sambuc// ABI-N32: -cc1as 23*0a6a1f1dSLionel Sambuc// ABI-N32: "-target-feature" "-o32" 24*0a6a1f1dSLionel Sambuc// ABI-N32: "-target-feature" "-n64" 25*0a6a1f1dSLionel Sambuc// ABI-N32: "-target-feature" "+n32" 26*0a6a1f1dSLionel Sambuc 27*0a6a1f1dSLionel Sambuc// FIXME: We should also test '-target mips-linux-gnu -mips64' defaults to the 28*0a6a1f1dSLionel Sambuc// default 64-bit ABI (N64 but GCC uses N32). It currently selects O32 29*0a6a1f1dSLionel Sambuc// because of the triple. 30*0a6a1f1dSLionel Sambuc// RUN: %clang -target mips64-linux-gnu -### -fintegrated-as -c %s -mips64 2>&1 | \ 31*0a6a1f1dSLionel Sambuc// RUN: FileCheck -check-prefix=ABI-N64 %s 32*0a6a1f1dSLionel Sambuc// 33*0a6a1f1dSLionel Sambuc// RUN: %clang -target mips-linux-gnu -### -fintegrated-as -c %s -mips64 -mabi=64 2>&1 | \ 34*0a6a1f1dSLionel Sambuc// RUN: FileCheck -check-prefix=ABI-N64 %s 35*0a6a1f1dSLionel Sambuc// RUN: %clang -target mips-linux-gnu -### -fintegrated-as -c %s -mips64 -mabi=n64 2>&1 | \ 36*0a6a1f1dSLionel Sambuc// RUN: FileCheck -check-prefix=ABI-N64 %s 37*0a6a1f1dSLionel Sambuc// RUN: %clang -target mips64-linux-gnu -### -fintegrated-as -c %s -mips64 -mabi=64 2>&1 | \ 38*0a6a1f1dSLionel Sambuc// RUN: FileCheck -check-prefix=ABI-N64 %s 39*0a6a1f1dSLionel Sambuc// RUN: %clang -target mips64-linux-gnu -### -fintegrated-as -c %s -mips64 -mabi=n64 2>&1 | \ 40*0a6a1f1dSLionel Sambuc// RUN: FileCheck -check-prefix=ABI-N64 %s 41*0a6a1f1dSLionel Sambuc// ABI-N64: -cc1as 42*0a6a1f1dSLionel Sambuc// ABI-N64: "-target-feature" "-o32" 43*0a6a1f1dSLionel Sambuc// ABI-N64: "-target-feature" "+n64" 44*0a6a1f1dSLionel Sambuc 45*0a6a1f1dSLionel Sambuc// RUN: %clang -target mips-linux-gnu -### -fintegrated-as -c %s -msoft-float 2>&1 | \ 46*0a6a1f1dSLionel Sambuc// RUN: FileCheck -check-prefix=SOFTFLOAT %s 47*0a6a1f1dSLionel Sambuc// SOFTFLOAT: -cc1as 48*0a6a1f1dSLionel Sambuc// SOFTFLOAT: "-target-feature" "+soft-float" 49*0a6a1f1dSLionel Sambuc 50*0a6a1f1dSLionel Sambuc// RUN: %clang -target mips-linux-gnu -### -fintegrated-as -c %s 2>&1 | \ 51*0a6a1f1dSLionel Sambuc// RUN: FileCheck -check-prefix=HARDFLOAT %s 52*0a6a1f1dSLionel Sambuc// RUN: %clang -target mips-linux-gnu -### -fintegrated-as -c %s -mhard-float 2>&1 | \ 53*0a6a1f1dSLionel Sambuc// RUN: FileCheck -check-prefix=HARDFLOAT %s 54*0a6a1f1dSLionel Sambuc// HARDFLOAT: -cc1as 55*0a6a1f1dSLionel Sambuc// HARDFLOAT-NOT: "-target-feature" "+soft-float" 56*0a6a1f1dSLionel Sambuc 57*0a6a1f1dSLionel Sambuc// RUN: %clang -target mips-linux-gnu -### -fintegrated-as -c %s 2>&1 | \ 58*0a6a1f1dSLionel Sambuc// RUN: FileCheck -check-prefix=NAN-DEFAULT %s 59*0a6a1f1dSLionel Sambuc// RUN: %clang -target mips-linux-gnu -### -fintegrated-as -c %s -mips32r6 2>&1 | \ 60*0a6a1f1dSLionel Sambuc// RUN: FileCheck -check-prefix=NAN-DEFAULT %s 61*0a6a1f1dSLionel Sambuc// RUN: %clang -target mips-linux-gnu -### -fintegrated-as -c %s -mips64r6 2>&1 | \ 62*0a6a1f1dSLionel Sambuc// RUN: FileCheck -check-prefix=NAN-DEFAULT %s 63*0a6a1f1dSLionel Sambuc// NAN-DEFAULT: -cc1as 64*0a6a1f1dSLionel Sambuc// NAN-DEFAULT-NOT: "-target-feature" "{{[-+]}}nan2008" 65*0a6a1f1dSLionel Sambuc 66*0a6a1f1dSLionel Sambuc// RUN: %clang -target mips-linux-gnu -### -fintegrated-as -c %s -mnan=legacy 2>&1 | \ 67*0a6a1f1dSLionel Sambuc// RUN: FileCheck -check-prefix=NAN-LEGACY %s 68*0a6a1f1dSLionel Sambuc// NAN-LEGACY: -cc1as 69*0a6a1f1dSLionel Sambuc// NAN-LEGACY: "-target-feature" "-nan2008" 70*0a6a1f1dSLionel Sambuc 71*0a6a1f1dSLionel Sambuc// RUN: %clang -target mips-linux-gnu -### -fintegrated-as -c %s -mnan=2008 2>&1 | \ 72*0a6a1f1dSLionel Sambuc// RUN: FileCheck -check-prefix=NAN-2008 %s 73*0a6a1f1dSLionel Sambuc// NAN-2008: -cc1as 74*0a6a1f1dSLionel Sambuc// NAN-2008: "-target-feature" "+nan2008" 75*0a6a1f1dSLionel Sambuc 76*0a6a1f1dSLionel Sambuc// RUN: %clang -target mips-linux-gnu -### -fintegrated-as -c %s 2>&1 | \ 77*0a6a1f1dSLionel Sambuc// RUN: FileCheck -check-prefix=DEFAULT-FLOAT %s 78*0a6a1f1dSLionel Sambuc// DEFAULT-FLOAT: -cc1as 79*0a6a1f1dSLionel Sambuc// DEFAULT-FLOAT-NOT: "-target-feature" "{{[+-]}}single-float" 80*0a6a1f1dSLionel Sambuc 81*0a6a1f1dSLionel Sambuc// RUN: %clang -target mips-linux-gnu -### -fintegrated-as -c %s -msingle-float 2>&1 | \ 82*0a6a1f1dSLionel Sambuc// RUN: FileCheck -check-prefix=SINGLE-FLOAT %s 83*0a6a1f1dSLionel Sambuc// SINGLE-FLOAT: -cc1as 84*0a6a1f1dSLionel Sambuc// SINGLE-FLOAT: "-target-feature" "+single-float" 85*0a6a1f1dSLionel Sambuc 86*0a6a1f1dSLionel Sambuc// RUN: %clang -target mips-linux-gnu -### -fintegrated-as -c %s -mdouble-float 2>&1 | \ 87*0a6a1f1dSLionel Sambuc// RUN: FileCheck -check-prefix=DOUBLE-FLOAT %s 88*0a6a1f1dSLionel Sambuc// DOUBLE-FLOAT: -cc1as 89*0a6a1f1dSLionel Sambuc// DOUBLE-FLOAT: "-target-feature" "-single-float" 90*0a6a1f1dSLionel Sambuc 91*0a6a1f1dSLionel Sambuc// RUN: %clang -target mips-linux-gnu -### -fintegrated-as -c %s 2>&1 | \ 92*0a6a1f1dSLionel Sambuc// RUN: FileCheck -check-prefix=MIPS16-DEFAULT %s 93*0a6a1f1dSLionel Sambuc// MIPS16-DEFAULT: -cc1as 94*0a6a1f1dSLionel Sambuc// MIPS16-DEFAULT-NOT: "-target-feature" "{{[+-]}}mips16" 95*0a6a1f1dSLionel Sambuc 96*0a6a1f1dSLionel Sambuc// RUN: %clang -target mips-linux-gnu -### -fintegrated-as -c %s -mips16 2>&1 | \ 97*0a6a1f1dSLionel Sambuc// RUN: FileCheck -check-prefix=MIPS16-ON %s 98*0a6a1f1dSLionel Sambuc// MIPS16-ON: -cc1as 99*0a6a1f1dSLionel Sambuc// MIPS16-ON: "-target-feature" "+mips16" 100*0a6a1f1dSLionel Sambuc 101*0a6a1f1dSLionel Sambuc// RUN: %clang -target mips-linux-gnu -### -fintegrated-as -c %s -mno-mips16 2>&1 | \ 102*0a6a1f1dSLionel Sambuc// RUN: FileCheck -check-prefix=MIPS16-OFF %s 103*0a6a1f1dSLionel Sambuc// MIPS16-OFF: -cc1as 104*0a6a1f1dSLionel Sambuc// MIPS16-OFF: "-target-feature" "-mips16" 105*0a6a1f1dSLionel Sambuc 106*0a6a1f1dSLionel Sambuc// RUN: %clang -target mips-linux-gnu -### -fintegrated-as -c %s 2>&1 | \ 107*0a6a1f1dSLionel Sambuc// RUN: FileCheck -check-prefix=MICROMIPS-DEFAULT %s 108*0a6a1f1dSLionel Sambuc// MICROMIPS-DEFAULT: -cc1as 109*0a6a1f1dSLionel Sambuc// MICROMIPS-DEFAULT-NOT: "-target-feature" "{{[+-]}}micromips" 110*0a6a1f1dSLionel Sambuc 111*0a6a1f1dSLionel Sambuc// RUN: %clang -target mips-linux-gnu -### -fintegrated-as -c %s -mmicromips 2>&1 | \ 112*0a6a1f1dSLionel Sambuc// RUN: FileCheck -check-prefix=MICROMIPS-ON %s 113*0a6a1f1dSLionel Sambuc// MICROMIPS-ON: -cc1as 114*0a6a1f1dSLionel Sambuc// MICROMIPS-ON: "-target-feature" "+micromips" 115*0a6a1f1dSLionel Sambuc 116*0a6a1f1dSLionel Sambuc// RUN: %clang -target mips-linux-gnu -### -fintegrated-as -c %s -mno-micromips 2>&1 | \ 117*0a6a1f1dSLionel Sambuc// RUN: FileCheck -check-prefix=MICROMIPS-OFF %s 118*0a6a1f1dSLionel Sambuc// MICROMIPS-OFF: -cc1as 119*0a6a1f1dSLionel Sambuc// MICROMIPS-OFF: "-target-feature" "-micromips" 120*0a6a1f1dSLionel Sambuc 121*0a6a1f1dSLionel Sambuc// RUN: %clang -target mips-linux-gnu -### -fintegrated-as -c %s 2>&1 | \ 122*0a6a1f1dSLionel Sambuc// RUN: FileCheck -check-prefix=DSP-DEFAULT %s 123*0a6a1f1dSLionel Sambuc// DSP-DEFAULT: -cc1as 124*0a6a1f1dSLionel Sambuc// DSP-DEFAULT-NOT: "-target-feature" "{{[+-]}}dsp" 125*0a6a1f1dSLionel Sambuc 126*0a6a1f1dSLionel Sambuc// RUN: %clang -target mips-linux-gnu -### -fintegrated-as -c %s -mdsp 2>&1 | \ 127*0a6a1f1dSLionel Sambuc// RUN: FileCheck -check-prefix=DSP-ON %s 128*0a6a1f1dSLionel Sambuc// DSP-ON: -cc1as 129*0a6a1f1dSLionel Sambuc// DSP-ON: "-target-feature" "+dsp" 130*0a6a1f1dSLionel Sambuc 131*0a6a1f1dSLionel Sambuc// RUN: %clang -target mips-linux-gnu -### -fintegrated-as -c %s -mno-dsp 2>&1 | \ 132*0a6a1f1dSLionel Sambuc// RUN: FileCheck -check-prefix=DSP-OFF %s 133*0a6a1f1dSLionel Sambuc// DSP-OFF: -cc1as 134*0a6a1f1dSLionel Sambuc// DSP-OFF: "-target-feature" "-dsp" 135*0a6a1f1dSLionel Sambuc 136*0a6a1f1dSLionel Sambuc// RUN: %clang -target mips-linux-gnu -### -fintegrated-as -c %s 2>&1 | \ 137*0a6a1f1dSLionel Sambuc// RUN: FileCheck -check-prefix=DSPR2-DEFAULT %s 138*0a6a1f1dSLionel Sambuc// DSPR2-DEFAULT: -cc1as 139*0a6a1f1dSLionel Sambuc// DSPR2-DEFAULT-NOT: "-target-feature" "{{[+-]}}dspr2" 140*0a6a1f1dSLionel Sambuc 141*0a6a1f1dSLionel Sambuc// RUN: %clang -target mips-linux-gnu -### -fintegrated-as -c %s -mdspr2 2>&1 | \ 142*0a6a1f1dSLionel Sambuc// RUN: FileCheck -check-prefix=DSPR2-ON %s 143*0a6a1f1dSLionel Sambuc// DSPR2-ON: -cc1as 144*0a6a1f1dSLionel Sambuc// DSPR2-ON: "-target-feature" "+dspr2" 145*0a6a1f1dSLionel Sambuc 146*0a6a1f1dSLionel Sambuc// RUN: %clang -target mips-linux-gnu -### -fintegrated-as -c %s -mno-dspr2 2>&1 | \ 147*0a6a1f1dSLionel Sambuc// RUN: FileCheck -check-prefix=DSPR2-OFF %s 148*0a6a1f1dSLionel Sambuc// DSPR2-OFF: -cc1as 149*0a6a1f1dSLionel Sambuc// DSPR2-OFF: "-target-feature" "-dspr2" 150*0a6a1f1dSLionel Sambuc 151*0a6a1f1dSLionel Sambuc// RUN: %clang -target mips-linux-gnu -### -fintegrated-as -c %s 2>&1 | \ 152*0a6a1f1dSLionel Sambuc// RUN: FileCheck -check-prefix=MSA-DEFAULT %s 153*0a6a1f1dSLionel Sambuc// MSA-DEFAULT: -cc1as 154*0a6a1f1dSLionel Sambuc// MSA-DEFAULT-NOT: "-target-feature" "{{[+-]}}msa" 155*0a6a1f1dSLionel Sambuc 156*0a6a1f1dSLionel Sambuc// RUN: %clang -target mips-linux-gnu -### -fintegrated-as -c %s -mmsa 2>&1 | \ 157*0a6a1f1dSLionel Sambuc// RUN: FileCheck -check-prefix=MSA-ON %s 158*0a6a1f1dSLionel Sambuc// MSA-ON: -cc1as 159*0a6a1f1dSLionel Sambuc// MSA-ON: "-target-feature" "+msa" 160*0a6a1f1dSLionel Sambuc 161*0a6a1f1dSLionel Sambuc// RUN: %clang -target mips-linux-gnu -### -fintegrated-as -c %s -mno-msa 2>&1 | \ 162*0a6a1f1dSLionel Sambuc// RUN: FileCheck -check-prefix=MSA-OFF %s 163*0a6a1f1dSLionel Sambuc// MSA-OFF: -cc1as 164*0a6a1f1dSLionel Sambuc// MSA-OFF: "-target-feature" "-msa" 165*0a6a1f1dSLionel Sambuc 166*0a6a1f1dSLionel Sambuc// RUN: %clang -target mips-linux-gnu -### -fintegrated-as -c %s 2>&1 | \ 167*0a6a1f1dSLionel Sambuc// RUN: FileCheck -check-prefix=FPXX-DEFAULT %s 168*0a6a1f1dSLionel Sambuc// FPXX-DEFAULT: -cc1as 169*0a6a1f1dSLionel Sambuc// FPXX-DEFAULT-NOT: "-target-feature" "+fpxx" 170*0a6a1f1dSLionel Sambuc// FPXX-DEFAULT-NOT: "-target-feature" "+nooddspreg" 171*0a6a1f1dSLionel Sambuc 172*0a6a1f1dSLionel Sambuc// RUN: %clang -target mips-linux-gnu -### -fintegrated-as -c %s -mfp32 2>&1 | \ 173*0a6a1f1dSLionel Sambuc// RUN: FileCheck -check-prefix=FP32 %s 174*0a6a1f1dSLionel Sambuc// FP32: -cc1as 175*0a6a1f1dSLionel Sambuc// FP32: "-target-feature" "-fp64" 176*0a6a1f1dSLionel Sambuc 177*0a6a1f1dSLionel Sambuc// RUN: %clang -target mips-linux-gnu -### -fintegrated-as -c %s -mfpxx 2>&1 | \ 178*0a6a1f1dSLionel Sambuc// RUN: FileCheck -check-prefix=FPXX %s 179*0a6a1f1dSLionel Sambuc// FPXX: -cc1as 180*0a6a1f1dSLionel Sambuc// FPXX: "-target-feature" "+fpxx" 181*0a6a1f1dSLionel Sambuc// FPXX: "-target-feature" "+nooddspreg" 182*0a6a1f1dSLionel Sambuc 183*0a6a1f1dSLionel Sambuc// RUN: %clang -target mips-linux-gnu -### -fintegrated-as -c %s -mfp64 2>&1 | \ 184*0a6a1f1dSLionel Sambuc// RUN: FileCheck -check-prefix=FP64 %s 185*0a6a1f1dSLionel Sambuc// FP64: -cc1as 186*0a6a1f1dSLionel Sambuc// FP64: "-target-feature" "+fp64" 187*0a6a1f1dSLionel Sambuc 188*0a6a1f1dSLionel Sambuc// RUN: %clang -target mips-linux-gnu -### -fintegrated-as -c %s 2>&1 | \ 189*0a6a1f1dSLionel Sambuc// RUN: FileCheck -check-prefix=ODDSPREG-DEFAULT %s 190*0a6a1f1dSLionel Sambuc// ODDSPREG-DEFAULT: -cc1as 191*0a6a1f1dSLionel Sambuc// ODDSPREG-DEFAULT-NOT: "-target-feature" "{{[+-]}}nooddspreg" 192*0a6a1f1dSLionel Sambuc 193*0a6a1f1dSLionel Sambuc// RUN: %clang -target mips-linux-gnu -### -fintegrated-as -c %s -modd-spreg 2>&1 | \ 194*0a6a1f1dSLionel Sambuc// RUN: FileCheck -check-prefix=ODDSPREG-ON %s 195*0a6a1f1dSLionel Sambuc// ODDSPREG-ON: -cc1as 196*0a6a1f1dSLionel Sambuc// ODDSPREG-ON: "-target-feature" "-nooddspreg" 197*0a6a1f1dSLionel Sambuc 198*0a6a1f1dSLionel Sambuc// RUN: %clang -target mips-linux-gnu -### -fintegrated-as -c %s -mno-odd-spreg 2>&1 | \ 199*0a6a1f1dSLionel Sambuc// RUN: FileCheck -check-prefix=ODDSPREG-OFF %s 200*0a6a1f1dSLionel Sambuc// ODDSPREG-OFF: -cc1as 201*0a6a1f1dSLionel Sambuc// ODDSPREG-OFF: "-target-feature" "+nooddspreg" 202*0a6a1f1dSLionel Sambuc 203*0a6a1f1dSLionel Sambuc// RUN: %clang -target mips-linux-gnu -### -fintegrated-as -c %s -mfpxx -modd-spreg 2>&1 | \ 204*0a6a1f1dSLionel Sambuc// RUN: FileCheck -check-prefix=FPXX-ODDSPREG %s 205*0a6a1f1dSLionel Sambuc// FPXX-ODDSPREG: -cc1as 206*0a6a1f1dSLionel Sambuc// FPXX-ODDSPREG: "-target-feature" "+fpxx" 207*0a6a1f1dSLionel Sambuc// FPXX-ODDSPREG: "-target-feature" "-nooddspreg" 208*0a6a1f1dSLionel Sambuc 209*0a6a1f1dSLionel Sambuc// RUN: %clang -target mips-linux-gnu -### -fintegrated-as -c %s -mabicalls 2>&1 | \ 210*0a6a1f1dSLionel Sambuc// RUN: FileCheck -check-prefix=ABICALLS-ON %s 211*0a6a1f1dSLionel Sambuc// ABICALLS-ON: -cc1as 212*0a6a1f1dSLionel Sambuc// ABICALLS-ON: "-target-feature" "-noabicalls" 213*0a6a1f1dSLionel Sambuc 214*0a6a1f1dSLionel Sambuc// RUN: %clang -target mips-linux-gnu -### -fintegrated-as -c %s -mno-abicalls 2>&1 | \ 215*0a6a1f1dSLionel Sambuc// RUN: FileCheck -check-prefix=ABICALLS-OFF %s 216*0a6a1f1dSLionel Sambuc// ABICALLS-OFF: -cc1as 217*0a6a1f1dSLionel Sambuc// ABICALLS-OFF: "-target-feature" "+noabicalls" 218