1 // Check handling MIPS specific features options. 2 // 3 // -mabicalls 4 // RUN: %clang --target=mips-linux-gnu -### -c %s -mno-abicalls -mabicalls 2>&1 \ 5 // RUN: | FileCheck --check-prefix=CHECK-MABICALLS %s 6 // CHECK-MABICALLS: "-target-feature" "-noabicalls" 7 // 8 // -mno-abicalls 9 // RUN: %clang --target=mips-linux-gnu -### -c %s -mabicalls -mno-abicalls 2>&1 \ 10 // RUN: | FileCheck --check-prefix=CHECK-MNOABICALLS %s 11 // CHECK-MNOABICALLS: "-target-feature" "+noabicalls" 12 // 13 // -mno-abicalls non-PIC N64 14 // RUN: %clang --target=mips64-linux-gnu -### -c -fno-PIC -mno-abicalls %s 2>&1 \ 15 // RUN: | FileCheck --check-prefix=CHECK-MNOABICALLS-N64NPIC %s 16 // CHECK-MNOABICALLS-N64NPIC: "-target-feature" "+noabicalls" 17 // 18 // -mgpopt 19 // RUN: %clang --target=mips-linux-gnu -### -c %s -mno-gpopt -mgpopt -Wno-unsupported-gpopt 2>&1 \ 20 // RUN: | FileCheck --check-prefix=CHECK-MGPOPT-DEF-ABICALLS %s 21 // CHECK-MGPOPT-DEF-ABICALLS-NOT: "-mllvm" "-mgpopt" 22 // 23 // -mabicalls -mgpopt 24 // RUN: %clang --target=mips-linux-gnu -### -c %s -mabicalls -mno-gpopt -mgpopt -Wno-unsupported-gpopt 2>&1 \ 25 // RUN: | FileCheck --check-prefix=CHECK-MGPOPT-EXPLICIT-ABICALLS %s 26 // CHECK-MGPOPT-EXPLICIT-ABICALLS-NOT: "-mllvm" "-mgpopt" 27 // 28 // -mno-abicalls -mgpopt 29 // RUN: %clang --target=mips-linux-gnu -### -c %s -mno-abicalls -mno-gpopt -mgpopt 2>&1 \ 30 // RUN: | FileCheck --check-prefix=CHECK-MGPOPT %s 31 // CHECK-MGPOPT: "-mllvm" "-mgpopt" 32 // 33 // -mno-abicalls -mno-gpopt 34 // RUN: %clang --target=mips-linux-gnu -### -c %s -mno-abicalls -mgpopt -mno-gpopt 2>&1 \ 35 // RUN: | FileCheck --check-prefix=CHECK-MNOGPOPT %s 36 // CHECK-MNOGPOPT-NOT: "-mllvm" "-mgpopt" 37 // 38 // -mno-abicalls 39 // RUN: %clang --target=mips-linux-gnu -### -c %s -mno-abicalls 2>&1 \ 40 // RUN: | FileCheck --check-prefix=CHECK-MGPOPTDEF %s 41 // CHECK-MGPOPTDEF: "-mllvm" "-mgpopt" 42 // 43 // -mgpopt -mno-abicalls -mlocal-sdata 44 // RUN: %clang --target=mips-linux-gnu -### -c %s -mno-abicalls -mno-gpopt -mgpopt -mno-local-sdata -mlocal-sdata 2>&1 \ 45 // RUN: | FileCheck --check-prefix=CHECK-MLOCALSDATA %s 46 // CHECK-MLOCALSDATA: "-mllvm" "-mlocal-sdata=1" 47 // 48 // -mgpopt -mno-abicalls -mno-local-sdata 49 // RUN: %clang --target=mips-linux-gnu -### -c %s -mno-abicalls -mno-gpopt -mgpopt -mlocal-sdata -mno-local-sdata 2>&1 \ 50 // RUN: | FileCheck --check-prefix=CHECK-MNOLOCALSDATA %s 51 // CHECK-MNOLOCALSDATA: "-mllvm" "-mlocal-sdata=0" 52 // 53 // -mgpopt -mno-abicalls 54 // RUN: %clang --target=mips-linux-gnu -### -c %s -mno-abicalls -mgpopt 2>&1 \ 55 // RUN: | FileCheck --check-prefix=CHECK-MLOCALSDATADEF %s 56 // CHECK-MLOCALSDATADEF-NOT: "-mllvm" "-mlocal-sdata" 57 // 58 // -mno-abicalls -mgpopt -mextern-sdata 59 // RUN: %clang --target=mips-linux-gnu -### -c %s -mno-abicalls -mgpopt -mno-extern-sdata -mextern-sdata 2>&1 \ 60 // RUN: | FileCheck --check-prefix=CHECK-MEXTERNSDATA %s 61 // CHECK-MEXTERNSDATA: "-mllvm" "-mextern-sdata=1" 62 // 63 // -mno-abicalls -mgpopt -mno-extern-sdata 64 // RUN: %clang --target=mips-linux-gnu -### -c %s -mno-abicalls -mgpopt -mextern-sdata -mno-extern-sdata 2>&1 \ 65 // RUN: | FileCheck --check-prefix=CHECK-MNOEXTERNSDATA %s 66 // CHECK-MNOEXTERNSDATA: "-mllvm" "-mextern-sdata=0" 67 // 68 // -mno-abicalls -mgpopt 69 // RUN: %clang --target=mips-linux-gnu -### -c %s -mno-abicalls -mgpopt 2>&1 \ 70 // RUN: | FileCheck --check-prefix=CHECK-MEXTERNSDATADEF %s 71 // CHECK-MEXTERNSDATADEF-NOT: "-mllvm" "-mextern-sdata" 72 // 73 // -mno-abicalls -mgpopt -membedded-data 74 // RUN: %clang --target=mips-linux-gnu -### -c %s -mno-abicalls -mgpopt -mno-embedded-data -membedded-data 2>&1 \ 75 // RUN: | FileCheck --check-prefix=CHECK-MEMBEDDEDDATA %s 76 // CHECK-MEMBEDDEDDATA: "-mllvm" "-membedded-data=1" 77 // 78 // -mno-abicalls -mgpopt -mno-embedded-data 79 // RUN: %clang --target=mips-linux-gnu -### -c %s -mno-abicalls -mgpopt -membedded-data -mno-embedded-data 2>&1 \ 80 // RUN: | FileCheck --check-prefix=CHECK-MNOEMBEDDEDDATA %s 81 // CHECK-MNOEMBEDDEDDATA: "-mllvm" "-membedded-data=0" 82 // 83 // -mno-abicalls -mgpopt 84 // RUN: %clang --target=mips-linux-gnu -### -c %s -mno-abicalls -mgpopt 2>&1 \ 85 // RUN: | FileCheck --check-prefix=CHECK-MEMBEDDEDDATADEF %s 86 // CHECK-MEMBEDDEDDATADEF-NOT: "-mllvm" "-membedded-data" 87 // 88 // MIPS64 + N64: -fno-pic -> -mno-abicalls -mgpopt 89 // RUN: %clang --target=mips64-mti-elf -mabi=64 -### -c %s -fno-pic -mno-abicalls 2>&1 \ 90 // RUN: | FileCheck --check-prefix=CHECK-N64-GPOPT %s 91 // CHECK-N64-GPOPT: "-target-feature" "+noabicalls" 92 // CHECK-N64-GPOPT: "-mllvm" "-mgpopt" 93 // 94 // MIPS64 + N64: -fno-pic -mno-gpopt 95 // RUN: %clang --target=mips64-mti-elf -mabi=64 -### -c %s -fno-pic -mno-abicalls -mno-gpopt 2>&1 \ 96 // RUN: | FileCheck --check-prefix=CHECK-N64-MNO-GPOPT %s 97 // CHECK-N64-MNO-GPOPT: "-target-feature" "+noabicalls" 98 // CHECK-N64-MNO-GPOPT-NOT: "-mllvm" "-mgpopt" 99 // 100 // MIPS64 + N64: -mgpopt (-fpic is implicit) 101 // RUN: %clang --target=mips64-mti-linux-gnu -mabi=64 -### -c %s -mgpopt 2>&1 \ 102 // RUN: | FileCheck --check-prefix=CHECK-N64-PIC-GPOPT %s 103 // CHECK-N64-PIC-GPOPT-NOT: "-mllvm" "-mgpopt" 104 // CHECK-N64-PIC-GPOPT: ignoring '-mgpopt' option as it cannot be used with the implicit usage of -mabicalls 105 // 106 // -mips16 107 // RUN: %clang --target=mips-linux-gnu -### -c %s \ 108 // RUN: -mno-mips16 -mips16 2>&1 \ 109 // RUN: | FileCheck --check-prefix=CHECK-MIPS16 %s 110 // CHECK-MIPS16: "-target-feature" "+mips16" 111 // 112 // -mno-mips16 113 // RUN: %clang --target=mips-linux-gnu -### -c %s \ 114 // RUN: -mips16 -mno-mips16 2>&1 \ 115 // RUN: | FileCheck --check-prefix=CHECK-NOMIPS16 %s 116 // CHECK-NOMIPS16: "-target-feature" "-mips16" 117 // 118 // -mmicromips 119 // RUN: %clang --target=mips-linux-gnu -### -c %s \ 120 // RUN: -mno-micromips -mmicromips 2>&1 \ 121 // RUN: | FileCheck --check-prefix=CHECK-MICROMIPS %s 122 // CHECK-MICROMIPS: "-target-feature" "+micromips" 123 // 124 // -mno-micromips 125 // RUN: %clang --target=mips-linux-gnu -### -c %s \ 126 // RUN: -mmicromips -mno-micromips 2>&1 \ 127 // RUN: | FileCheck --check-prefix=CHECK-NOMICROMIPS %s 128 // CHECK-NOMICROMIPS: "-target-feature" "-micromips" 129 // 130 // -mdsp 131 // RUN: %clang --target=mips-linux-gnu -### -c %s \ 132 // RUN: -mno-dsp -mdsp 2>&1 \ 133 // RUN: | FileCheck --check-prefix=CHECK-MDSP %s 134 // CHECK-MDSP: "-target-feature" "+dsp" 135 // 136 // -mno-dsp 137 // RUN: %clang --target=mips-linux-gnu -### -c %s \ 138 // RUN: -mdsp -mno-dsp 2>&1 \ 139 // RUN: | FileCheck --check-prefix=CHECK-NOMDSP %s 140 // CHECK-NOMDSP: "-target-feature" "-dsp" 141 // 142 // -mdspr2 143 // RUN: %clang --target=mips-linux-gnu -### -c %s \ 144 // RUN: -mno-dspr2 -mdspr2 2>&1 \ 145 // RUN: | FileCheck --check-prefix=CHECK-MDSPR2 %s 146 // CHECK-MDSPR2: "-target-feature" "+dspr2" 147 // 148 // -mno-dspr2 149 // RUN: %clang --target=mips-linux-gnu -### -c %s \ 150 // RUN: -mdspr2 -mno-dspr2 2>&1 \ 151 // RUN: | FileCheck --check-prefix=CHECK-NOMDSPR2 %s 152 // CHECK-NOMDSPR2: "-target-feature" "-dspr2" 153 // 154 // -mmsa 155 // RUN: %clang --target=mips-linux-gnu -### -c %s \ 156 // RUN: -mno-msa -mmsa 2>&1 \ 157 // RUN: | FileCheck --check-prefix=CHECK-MMSA %s 158 // CHECK-MMSA: "-target-feature" "+msa" 159 // 160 // -mno-msa 161 // RUN: %clang --target=mips-linux-gnu -### -c %s \ 162 // RUN: -mmsa -mno-msa 2>&1 \ 163 // RUN: | FileCheck --check-prefix=CHECK-NOMMSA %s 164 // CHECK-NOMMSA: "-target-feature" "-msa" 165 // 166 // -mmsa 167 // RUN: %clang --target=mips-linux-gnu -### -c %s \ 168 // RUN: -mmsa 2>&1 \ 169 // RUN: | FileCheck --check-prefix=CHECK-MMSA-MFP64 %s 170 // CHECK-MMSA-MFP64: "-target-feature" "+msa" "-target-feature" "+fp64" 171 // 172 // -mmt 173 // RUN: %clang --target=mips-linux-gnu -### -c %s \ 174 // RUN: -mno-mt -mmt 2>&1 \ 175 // RUN: | FileCheck --check-prefix=CHECK-MMT %s 176 // CHECK-MMT: "-target-feature" "+mt" 177 // 178 // -mno-mt 179 // RUN: %clang --target=mips-linux-gnu -### -c %s \ 180 // RUN: -mmt -mno-mt 2>&1 \ 181 // RUN: | FileCheck --check-prefix=CHECK-NOMMT %s 182 // CHECK-NOMMT: "-target-feature" "-mt" 183 // 184 // -modd-spreg 185 // RUN: %clang --target=mips-linux-gnu -### -c %s -mno-odd-spreg -modd-spreg 2>&1 \ 186 // RUN: | FileCheck --check-prefix=CHECK-MODDSPREG %s 187 // CHECK-MODDSPREG: "-target-feature" "-nooddspreg" 188 // 189 // -mno-odd-spreg 190 // RUN: %clang --target=mips-linux-gnu -### -c %s -modd-spreg -mno-odd-spreg 2>&1 \ 191 // RUN: | FileCheck --check-prefix=CHECK-NOMODDSPREG %s 192 // CHECK-NOMODDSPREG: "-target-feature" "+nooddspreg" 193 // 194 // -mfpxx 195 // RUN: %clang --target=mips-linux-gnu -### -c %s -mfpxx 2>&1 \ 196 // RUN: | FileCheck --check-prefix=CHECK-MFPXX %s 197 // CHECK-MFPXX: "-target-feature" "+fpxx" 198 // CHECK-MFPXX: "-target-feature" "+nooddspreg" 199 // 200 // -mfpxx -modd-spreg 201 // RUN: %clang --target=mips-linux-gnu -### -c %s -mfpxx -modd-spreg 2>&1 \ 202 // RUN: | FileCheck --check-prefix=CHECK-MFPXX-ODDSPREG %s 203 // CHECK-MFPXX-ODDSPREG: "-target-feature" "+fpxx" 204 // CHECK-MFPXX-ODDSPREG: "-target-feature" "-nooddspreg" 205 // 206 // -mfp64 207 // RUN: %clang --target=mips-linux-gnu -### -c %s \ 208 // RUN: -mfp32 -mfp64 2>&1 \ 209 // RUN: | FileCheck --check-prefix=CHECK-MFP64 %s 210 // CHECK-MFP64: "-target-feature" "+fp64" 211 // 212 // -mfp32 213 // RUN: %clang --target=mips-linux-gnu -### -c %s \ 214 // RUN: -mfp64 -mfp32 2>&1 \ 215 // RUN: | FileCheck --check-prefix=CHECK-NOMFP64 %s 216 // CHECK-NOMFP64: "-target-feature" "-fp64" 217 // 218 // -mnan=2008 219 // RUN: %clang --target=mips-linux-gnu -march=mips32r3 -### -c %s \ 220 // RUN: -mnan=legacy -mnan=2008 2>&1 \ 221 // RUN: | FileCheck --check-prefix=CHECK-NAN2008 %s 222 // CHECK-NAN2008: "-target-feature" "+nan2008" "-target-feature" "+abs2008" 223 // 224 // -mnan=2008 -mabs=legacy 225 // RUN: %clang --target=mips-linux-gnu -march=mips32r3 -### -c %s \ 226 // RUN: -mabs=legacy -mnan=2008 2>&1 \ 227 // RUN: | FileCheck --check-prefix=CHECK-ABSLEGACYNAN2008 %s 228 // CHECK-ABSLEGACYNAN2008: "-target-feature" "+nan2008" "-target-feature" "-abs2008" 229 // 230 // -mnan=legacy 231 // RUN: %clang --target=mips-linux-gnu -march=mips32r3 -### -c %s \ 232 // RUN: -mnan=2008 -mnan=legacy 2>&1 \ 233 // RUN: | FileCheck --check-prefix=CHECK-NANLEGACY %s 234 // CHECK-NANLEGACY: "-target-feature" "-nan2008" 235 // 236 // -mabs=2008 on pre R2 237 // RUN: %clang --target=mips-linux-gnu -march=mips32 -### -c %s \ 238 // RUN: -mabs=2008 2>&1 \ 239 // RUN: | FileCheck --check-prefix=CHECK-ABSLEGACY %s 240 // 241 // -mabs=2008 242 // RUN: %clang --target=mips-linux-gnu -march=mips32r3 -### -c %s \ 243 // RUN: -mabs=2008 2>&1 \ 244 // RUN: | FileCheck --check-prefix=CHECK-ABS2008 %s 245 // 246 // -mabs=legacy 247 // RUN: %clang --target=mips-linux-gnu -march=mips32r3 -### -c %s \ 248 // RUN: -mabs=legacy 2>&1 \ 249 // RUN: | FileCheck --check-prefix=CHECK-ABSLEGACY %s 250 // 251 // -mabs=legacy on R6 252 // RUN: %clang --target=mips-linux-gnu -march=mips32r6 -### -c %s \ 253 // RUN: -mabs=legacy 2>&1 \ 254 // RUN: | FileCheck --check-prefix=CHECK-ABS2008 %s 255 // 256 // CHECK-ABSLEGACY: "-target-feature" "-abs2008" 257 // CHECK-ABSLEGACY-NOT: "-target-feature" "+abs2008" 258 // CHECK-ABS2008: "-target-feature" "+abs2008" 259 // CHECK-ABS2008-NOT: "-target-feature" "-abs2008" 260 // 261 // -mcompact-branches=never 262 // RUN: %clang --target=mips-linux-gnu -march=mips32r6 -### -c %s \ 263 // RUN: -mcompact-branches=never 2>&1 \ 264 // RUN: | FileCheck --check-prefix=CHECK-CBNEVER %s 265 // CHECK-CBNEVER: "-mllvm" "-mips-compact-branches=never" 266 // 267 // -mcompact-branches=optimal 268 // RUN: %clang --target=mips-linux-gnu -march=mips32r6 -### -c %s \ 269 // RUN: -mcompact-branches=optimal 2>&1 \ 270 // RUN: | FileCheck --check-prefix=CHECK-CBOPTIMAL %s 271 // CHECK-CBOPTIMAL: "-mllvm" "-mips-compact-branches=optimal" 272 // 273 // -mcompact-branches=always 274 // RUN: %clang --target=mips-linux-gnu -march=mips32r6 -### -c %s \ 275 // RUN: -mcompact-branches=always 2>&1 \ 276 // RUN: | FileCheck --check-prefix=CHECK-CBALWAYS %s 277 // CHECK-CBALWAYS: "-mllvm" "-mips-compact-branches=always" 278 // 279 // -mxgot 280 // RUN: %clang --target=mips-linux-gnu -### -c %s \ 281 // RUN: -mno-xgot -mxgot 2>&1 \ 282 // RUN: | FileCheck --check-prefix=CHECK-XGOT %s 283 // CHECK-XGOT: "-target-feature" "+xgot" 284 // 285 // -mno-xgot 286 // RUN: %clang --target=mips-linux-gnu -### -c %s \ 287 // RUN: -mxgot -mno-xgot 2>&1 \ 288 // RUN: | FileCheck --check-prefix=CHECK-NOXGOT %s 289 // CHECK-NOXGOT: "-target-feature" "-xgot" 290 // 291 // -mldc1-sdc1 292 // RUN: %clang --target=mips-linux-gnu -### -c %s \ 293 // RUN: -mno-ldc1-sdc1 -mldc1-sdc1 2>&1 \ 294 // RUN: | FileCheck --check-prefix=CHECK-LDC1SDC1 %s 295 // CHECK-LDC1SDC1-NOT: "-mllvm" "-mno-ldc1-sdc1" 296 // 297 // -mno-ldc1-sdc1 298 // RUN: %clang --target=mips-linux-gnu -### -c %s \ 299 // RUN: -mldc1-sdc1 -mno-ldc1-sdc1 2>&1 \ 300 // RUN: | FileCheck --check-prefix=CHECK-NOLDC1SDC1 %s 301 // CHECK-NOLDC1SDC1: "-mllvm" "-mno-ldc1-sdc1" 302 // 303 // -mcheck-zero-division 304 // RUN: %clang --target=mips-linux-gnu -### -c %s \ 305 // RUN: -mno-check-zero-division -mcheck-zero-division 2>&1 \ 306 // RUN: | FileCheck --check-prefix=CHECK-ZERODIV %s 307 // CHECK-ZERODIV-NOT: "-mllvm" "-mno-check-zero-division" 308 // 309 // -mno-check-zero-division 310 // RUN: %clang --target=mips-linux-gnu -### -c %s \ 311 // RUN: -mcheck-zero-division -mno-check-zero-division 2>&1 \ 312 // RUN: | FileCheck --check-prefix=CHECK-NOZERODIV %s 313 // CHECK-NOZERODIV: "-mllvm" "-mno-check-zero-division" 314 // 315 // -G 316 // RUN: %clang --target=mips-linux-gnu -### -c %s \ 317 // RUN: -G 16 2>&1 \ 318 // RUN: | FileCheck --check-prefix=CHECK-MIPS-G %s 319 // CHECK-MIPS-G: "-mllvm" "-mips-ssection-threshold=16" 320 // 321 // -msoft-float (unknown vendor) 322 // RUN: %clang --target=mips-linux-gnu -### -c %s -msoft-float 2>&1 \ 323 // RUN: | FileCheck --check-prefix=CHECK-SOFTFLOAT %s 324 // CHECK-SOFTFLOAT: "-target-feature" "+soft-float" 325 // CHECK-SOFTFLOAT-NOT: "-target-feature" "+fpxx" 326 // 327 // -msoft-float -mfpxx (unknown vendor) 328 // RUN: %clang --target=mips-linux-gnu -### -c %s -msoft-float -mfpxx 2>&1 \ 329 // RUN: | FileCheck --check-prefix=CHECK-SOFTFLOAT-FPXX %s 330 // CHECK-SOFTFLOAT-FPXX: "-target-feature" "+soft-float" 331 // CHECK-SOFTFLOAT-FPXX: "-target-feature" "+fpxx" 332 // 333 // -msoft-float (MTI) 334 // RUN: %clang --target=mips-mti-linux-gnu -### -c %s -msoft-float 2>&1 \ 335 // RUN: | FileCheck --check-prefix=CHECK-MTI-SOFTFLOAT %s 336 // CHECK-MTI-SOFTFLOAT: "-target-feature" "+soft-float" 337 // CHECK-MTI-SOFTFLOAT-NOT: "-target-feature" "+fpxx" 338 // 339 // -msoft-float -mfpxx (MTI) 340 // RUN: %clang --target=mips-mti-linux-gnu -### -c %s -msoft-float -mfpxx 2>&1 \ 341 // RUN: | FileCheck --check-prefix=CHECK-MTI-SOFTFLOAT-FPXX %s 342 // CHECK-MTI-SOFTFLOAT-FPXX: "-target-feature" "+soft-float" 343 // CHECK-MTI-SOFTFLOAT-FPXX: "-target-feature" "+fpxx" 344 // 345 // -msoft-float (IMG) 346 // RUN: %clang --target=mips-img-linux-gnu -### -c %s -msoft-float 2>&1 \ 347 // RUN: | FileCheck --check-prefix=CHECK-IMG-SOFTFLOAT %s 348 // CHECK-IMG-SOFTFLOAT: "-target-feature" "+soft-float" 349 // CHECK-IMG-SOFTFLOAT-NOT: "-target-feature" "+fpxx" 350 // 351 // -msoft-float -mfpxx (IMG) 352 // RUN: %clang --target=mips-img-linux-gnu -### -c %s -msoft-float -mfpxx 2>&1 \ 353 // RUN: | FileCheck --check-prefix=CHECK-IMG-SOFTFLOAT-FPXX %s 354 // CHECK-IMG-SOFTFLOAT-FPXX: "-target-feature" "+soft-float" 355 // CHECK-IMG-SOFTFLOAT-FPXX: "-target-feature" "+fpxx" 356 // 357 // -msingle-float (unknown vendor) 358 // RUN: %clang --target=mips-linux-gnu -### -c %s -msingle-float 2>&1 \ 359 // RUN: | FileCheck --check-prefix=CHECK-SINGLEFLOAT %s 360 // CHECK-SINGLEFLOAT: "-target-feature" "+single-float" 361 // CHECK-SINGLEFLOAT-NOT: "-target-feature" "+fpxx" 362 // 363 // -msingle-float -mfpxx (unknown vendor) 364 // RUN: %clang --target=mips-linux-gnu -### -c %s -msingle-float -mfpxx 2>&1 \ 365 // RUN: | FileCheck --check-prefix=CHECK-SINGLEFLOAT-FPXX %s 366 // CHECK-SINGLEFLOAT-FPXX: "-target-feature" "+single-float" 367 // CHECK-SINGLEFLOAT-FPXX: "-target-feature" "+fpxx" 368 // 369 // -msingle-float (MTI) 370 // RUN: %clang --target=mips-mti-linux-gnu -### -c %s -msingle-float 2>&1 \ 371 // RUN: | FileCheck --check-prefix=CHECK-MTI-SINGLEFLOAT %s 372 // CHECK-MTI-SINGLEFLOAT: "-target-feature" "+single-float" 373 // CHECK-MTI-SINGLEFLOAT-NOT: "-target-feature" "+fpxx" 374 // 375 // -msingle-float -mfpxx (MTI) 376 // RUN: %clang --target=mips-mti-linux-gnu -### -c %s -msingle-float -mfpxx 2>&1 \ 377 // RUN: | FileCheck --check-prefix=CHECK-MTI-SINGLEFLOAT-FPXX %s 378 // CHECK-MTI-SINGLEFLOAT-FPXX: "-target-feature" "+single-float" 379 // CHECK-MTI-SINGLEFLOAT-FPXX: "-target-feature" "+fpxx" 380 // 381 // -msingle-float (IMG) 382 // RUN: %clang --target=mips-img-linux-gnu -### -c %s -msingle-float 2>&1 \ 383 // RUN: | FileCheck --check-prefix=CHECK-IMG-SINGLEFLOAT %s 384 // CHECK-IMG-SINGLEFLOAT: "-target-feature" "+single-float" 385 // CHECK-IMG-SINGLEFLOAT-NOT: "-target-feature" "+fpxx" 386 // 387 // -msingle-float -mfpxx (IMG) 388 // RUN: %clang --target=mips-img-linux-gnu -### -c %s -msingle-float -mfpxx 2>&1 \ 389 // RUN: | FileCheck --check-prefix=CHECK-IMG-SINGLEFLOAT-FPXX %s 390 // CHECK-IMG-SINGLEFLOAT-FPXX: "-target-feature" "+single-float" 391 // CHECK-IMG-SINGLEFLOAT-FPXX: "-target-feature" "+fpxx" 392 393 // -mlong-call 394 // RUN: %clang --target=mips-img-linux-gnu -### -c %s \ 395 // RUN: -mno-abicalls -mlong-calls 2>&1 \ 396 // RUN: | FileCheck --check-prefix=LONG-CALLS-ON %s 397 // RUN: %clang --target=mips-img-linux-gnu -### -c %s \ 398 // RUN: -mno-abicalls -mno-long-calls 2>&1 \ 399 // RUN: | FileCheck --check-prefix=LONG-CALLS-OFF %s 400 // RUN: %clang --target=mips-img-linux-gnu -### -c %s 2>&1 \ 401 // RUN: | FileCheck --check-prefix=LONG-CALLS-DEF %s 402 // RUN: %clang --target=mips-img-linux-gnu -### -c %s -mlong-calls 2>&1 \ 403 // RUN: | FileCheck --check-prefix=LONG-CALLS-DEF %s 404 // LONG-CALLS-ON: "-target-feature" "+long-calls" 405 // LONG-CALLS-OFF: "-target-feature" "-long-calls" 406 // LONG-CALLS-DEF-NOT: "long-calls" 407 // 408 // -mbranch-likely 409 // RUN: %clang --target=mips-mti-linux-gnu -### -c %s -mbranch-likely 2>&1 \ 410 // RUN: | FileCheck --check-prefix=BRANCH-LIKELY %s 411 // BRANCH-LIKELY: argument unused during compilation: '-mbranch-likely' 412 // 413 // -mno-branch-likely 414 // RUN: %clang --target=mips-mti-linux-gnu -### -c %s -mno-branch-likely 2>&1 \ 415 // RUN: | FileCheck --check-prefix=NO-BRANCH-LIKELY %s 416 // NO-BRANCH-LIKELY: argument unused during compilation: '-mno-branch-likely' 417 418 // -mindirect-jump=hazard 419 // RUN: %clang --target=mips-unknown-linux-gnu -### -c %s \ 420 // RUN: -mindirect-jump=hazard 2>&1 \ 421 // RUN: | FileCheck --check-prefix=INDIRECT-BH %s 422 // INDIRECT-BH: "-target-feature" "+use-indirect-jump-hazard" 423 // 424 // -mcrc 425 // RUN: %clang --target=mips-unknown-linux-gnu -### -c %s \ 426 // RUN: -mno-crc -mcrc 2>&1 \ 427 // RUN: | FileCheck --check-prefix=CHECK-CRC %s 428 // CHECK-CRC: "-target-feature" "+crc" 429 // 430 // -mno-crc 431 // RUN: %clang --target=mips-unknown-linux-gnu -### -c %s \ 432 // RUN: -mcrc -mno-crc 2>&1 \ 433 // RUN: | FileCheck --check-prefix=CHECK-NO-CRC %s 434 // CHECK-NO-CRC: "-target-feature" "-crc" 435 // 436 // -mvirt 437 // RUN: %clang --target=mips-unknown-linux-gnu -### -c %s \ 438 // RUN: -mno-virt -mvirt 2>&1 \ 439 // RUN: | FileCheck --check-prefix=CHECK-VIRT %s 440 // CHECK-VIRT: "-target-feature" "+virt" 441 // 442 // -mno-virt 443 // RUN: %clang --target=mips-unknown-linux-gnu -### -c %s \ 444 // RUN: -mvirt -mno-virt 2>&1 \ 445 // RUN: | FileCheck --check-prefix=CHECK-NO-VIRT %s 446 // CHECK-NO-VIRT: "-target-feature" "-virt" 447 // 448 // -mginv 449 // RUN: %clang --target=mips-unknown-linux-gnu -### -c %s \ 450 // RUN: -mno-ginv -mginv 2>&1 \ 451 // RUN: | FileCheck --check-prefix=CHECK-GINV %s 452 // CHECK-GINV: "-target-feature" "+ginv" 453 // 454 // -mno-ginv 455 // RUN: %clang --target=mips-unknown-linux-gnu -### -c %s \ 456 // RUN: -mginv -mno-ginv 2>&1 \ 457 // RUN: | FileCheck --check-prefix=CHECK-NO-GINV %s 458 // CHECK-NO-GINV: "-target-feature" "-ginv" 459 // 460 // -mrelax-pic-calls 461 // RUN: %clang --target=mips-unknown-linux-gnu -### -c %s \ 462 // RUN: -mno-relax-pic-calls -mrelax-pic-calls 2>&1 \ 463 // RUN: | FileCheck --check-prefix=CHECK-RELAX-PIC-CALLS %s 464 // CHECK-RELAX-PIC-CALLS-NOT: "-mllvm" "-mips-jalr-reloc=0" 465 // 466 // -mno-relax-pic-calls 467 // RUN: %clang --target=mips-unknown-linux-gnu -### -c %s \ 468 // RUN: -mrelax-pic-calls -mno-relax-pic-calls 2>&1 \ 469 // RUN: | FileCheck --check-prefix=CHECK-NO-RELAX-PIC-CALLS %s 470 // CHECK-NO-RELAX-PIC-CALLS: "-mllvm" "-mips-jalr-reloc=0" 471 // 472 // -mno-unaligned-access 473 // RUN: %clang --target=mips-unknown-linux-gnu -### -c %s \ 474 // RUN: -munaligned-access -mno-strict-align \ 475 // RUN: -mno-unaligned-access 2>&1 \ 476 // RUN: | FileCheck --check-prefix=CHECK-STRICT-ALIGN %s 477 // CHECK-STRICT-ALIGN: "-target-feature" "+strict-align" 478 // 479 // -munaligned-access 480 // RUN: %clang --target=mips-unknown-linux-gnu -### -c %s \ 481 // RUN: -mno-unaligned-access -mstrict-align \ 482 // RUN: -munaligned-access 2>&1 \ 483 // RUN: | FileCheck --check-prefix=CHECK-NO-STRICT-ALIGN %s 484 // CHECK-NO-STRICT-ALIGN: "-target-feature" "-strict-align" 485 // 486 // -mstrict-align 487 // RUN: %clang --target=mips-unknown-linux-gnu -### -c %s \ 488 // RUN: -munaligned-access -mno-strict-align \ 489 // RUN: -mstrict-align 2>&1 \ 490 // RUN: | FileCheck --check-prefix=CHECK-STRICT-ALIGN %s 491 // 492 // -mno-strict-align 493 // RUN: %clang --target=mips-unknown-linux-gnu -### -c %s \ 494 // RUN: -mno-unaligned-access -mstrict-align \ 495 // RUN: -mno-strict-align 2>&1 \ 496 // RUN: | FileCheck --check-prefix=CHECK-NO-STRICT-ALIGN %s 497