Home | History | Annotate | Download | only in Driver
      1 // RUN: %clang -target mips-linux-gnu -### -fintegrated-as -c %s 2>&1 | \
      2 // RUN:   FileCheck -check-prefix=ABI-O32 %s
      3 // RUN: %clang -target mips-linux-gnu -### -fintegrated-as -c %s -mabi=32 2>&1 | \
      4 // RUN:   FileCheck -check-prefix=ABI-O32 %s
      5 // RUN: %clang -target mips-linux-gnu -### -fintegrated-as -c %s -mabi=o32 2>&1 | \
      6 // RUN:   FileCheck -check-prefix=ABI-O32 %s
      7 // ABI-O32: -cc1as
      8 // ABI-O32: "-target-abi" "o32"
      9 
     10 // RUN: %clang -target mips-linux-gnu -### -fintegrated-as -c %s -mabi=eabi 2>&1 | \
     11 // RUN:   FileCheck -check-prefix=ABI-EABI32 %s
     12 // ABI-EABI32: -cc1as
     13 // ABI-EABI32: "-target-abi" "eabi"
     14 
     15 // RUN: %clang -target mips-linux-gnu -### -fintegrated-as -c %s -mips64 -mabi=n32 2>&1 | \
     16 // RUN:   FileCheck -check-prefix=ABI-N32 %s
     17 // RUN: %clang -target mips64-linux-gnu -### -fintegrated-as -c %s -mabi=n32 2>&1 | \
     18 // RUN:   FileCheck -check-prefix=ABI-N32 %s
     19 // ABI-N32: -cc1as
     20 // ABI-N32: "-target-abi" "n32"
     21 
     22 // FIXME: We should also test '-target mips-linux-gnu -mips64' defaults to the
     23 //        default 64-bit ABI (N64 but GCC uses N32). It currently selects O32
     24 //        because of the triple.
     25 // RUN: %clang -target mips64-linux-gnu -### -fintegrated-as -c %s -mips64 2>&1 | \
     26 // RUN:   FileCheck -check-prefix=ABI-N64 %s
     27 //
     28 // RUN: %clang -target mips-linux-gnu -### -fintegrated-as -c %s -mips64 -mabi=64 2>&1 | \
     29 // RUN:   FileCheck -check-prefix=ABI-N64 %s
     30 // RUN: %clang -target mips-linux-gnu -### -fintegrated-as -c %s -mips64 -mabi=n64 2>&1 | \
     31 // RUN:   FileCheck -check-prefix=ABI-N64 %s
     32 // RUN: %clang -target mips64-linux-gnu -### -fintegrated-as -c %s -mips64 -mabi=64 2>&1 | \
     33 // RUN:   FileCheck -check-prefix=ABI-N64 %s
     34 // RUN: %clang -target mips64-linux-gnu -### -fintegrated-as -c %s -mips64 -mabi=n64 2>&1 | \
     35 // RUN:   FileCheck -check-prefix=ABI-N64 %s
     36 // ABI-N64: -cc1as
     37 // ABI-N64: "-target-abi" "n64"
     38 
     39 // RUN: %clang -target mips-linux-gnu -### -fintegrated-as -c %s -msoft-float 2>&1 | \
     40 // RUN:   FileCheck -check-prefix=SOFTFLOAT %s
     41 // SOFTFLOAT: -cc1as
     42 // SOFTFLOAT: "-target-feature" "+soft-float"
     43 
     44 // RUN: %clang -target mips-linux-gnu -### -fintegrated-as -c %s 2>&1 | \
     45 // RUN:   FileCheck -check-prefix=HARDFLOAT %s
     46 // RUN: %clang -target mips-linux-gnu -### -fintegrated-as -c %s -mhard-float 2>&1 | \
     47 // RUN:   FileCheck -check-prefix=HARDFLOAT %s
     48 // HARDFLOAT: -cc1as
     49 // HARDFLOAT-NOT: "-target-feature" "+soft-float"
     50 
     51 // RUN: %clang -target mips-linux-gnu -### -fintegrated-as -c %s 2>&1 | \
     52 // RUN:   FileCheck -check-prefix=NAN-DEFAULT %s
     53 // RUN: %clang -target mips-linux-gnu -### -fintegrated-as -c %s -mips32r6 2>&1 | \
     54 // RUN:   FileCheck -check-prefix=NAN-DEFAULT %s
     55 // RUN: %clang -target mips-linux-gnu -### -fintegrated-as -c %s -mips64r6 2>&1 | \
     56 // RUN:   FileCheck -check-prefix=NAN-DEFAULT %s
     57 // NAN-DEFAULT: -cc1as
     58 // NAN-DEFAULT-NOT: "-target-feature" "{{[-+]}}nan2008"
     59 
     60 // RUN: %clang -target mips-linux-gnu -### -fintegrated-as -c %s -mnan=legacy 2>&1 | \
     61 // RUN:   FileCheck -check-prefix=NAN-LEGACY %s
     62 // NAN-LEGACY: -cc1as
     63 // NAN-LEGACY: "-target-feature" "-nan2008"
     64 
     65 // RUN: %clang -target mips-linux-gnu -march=mips32r6 -### -fintegrated-as -c %s -mnan=2008 2>&1 | \
     66 // RUN:   FileCheck -check-prefix=NAN-2008 %s
     67 // NAN-2008: -cc1as
     68 // NAN-2008: "-target-feature" "+nan2008"
     69 
     70 // RUN: %clang -target mips-linux-gnu -### -fintegrated-as -c %s 2>&1 | \
     71 // RUN:   FileCheck -check-prefix=DEFAULT-FLOAT %s
     72 // DEFAULT-FLOAT: -cc1as
     73 // DEFAULT-FLOAT-NOT: "-target-feature" "{{[+-]}}single-float"
     74 
     75 // RUN: %clang -target mips-linux-gnu -### -fintegrated-as -c %s -msingle-float 2>&1 | \
     76 // RUN:   FileCheck -check-prefix=SINGLE-FLOAT %s
     77 // SINGLE-FLOAT: -cc1as
     78 // SINGLE-FLOAT: "-target-feature" "+single-float"
     79 
     80 // RUN: %clang -target mips-linux-gnu -### -fintegrated-as -c %s -mdouble-float 2>&1 | \
     81 // RUN:   FileCheck -check-prefix=DOUBLE-FLOAT %s
     82 // DOUBLE-FLOAT: -cc1as
     83 // DOUBLE-FLOAT: "-target-feature" "-single-float"
     84 
     85 // RUN: %clang -target mips-linux-gnu -### -fintegrated-as -c %s 2>&1 | \
     86 // RUN:   FileCheck -check-prefix=MIPS16-DEFAULT %s
     87 // MIPS16-DEFAULT: -cc1as
     88 // MIPS16-DEFAULT-NOT: "-target-feature" "{{[+-]}}mips16"
     89 
     90 // RUN: %clang -target mips-linux-gnu -### -fintegrated-as -c %s -mips16 2>&1 | \
     91 // RUN:   FileCheck -check-prefix=MIPS16-ON %s
     92 // MIPS16-ON: -cc1as
     93 // MIPS16-ON: "-target-feature" "+mips16"
     94 
     95 // RUN: %clang -target mips-linux-gnu -### -fintegrated-as -c %s -mno-mips16 2>&1 | \
     96 // RUN:   FileCheck -check-prefix=MIPS16-OFF %s
     97 // MIPS16-OFF: -cc1as
     98 // MIPS16-OFF: "-target-feature" "-mips16"
     99 
    100 // RUN: %clang -target mips-linux-gnu -### -fintegrated-as -c %s 2>&1 | \
    101 // RUN:   FileCheck -check-prefix=MICROMIPS-DEFAULT %s
    102 // MICROMIPS-DEFAULT: -cc1as
    103 // MICROMIPS-DEFAULT-NOT: "-target-feature" "{{[+-]}}micromips"
    104 
    105 // RUN: %clang -target mips-linux-gnu -### -fintegrated-as -c %s -mmicromips 2>&1 | \
    106 // RUN:   FileCheck -check-prefix=MICROMIPS-ON %s
    107 // MICROMIPS-ON: -cc1as
    108 // MICROMIPS-ON: "-target-feature" "+micromips"
    109 
    110 // RUN: %clang -target mips-linux-gnu -### -fintegrated-as -c %s -mno-micromips 2>&1 | \
    111 // RUN:   FileCheck -check-prefix=MICROMIPS-OFF %s
    112 // MICROMIPS-OFF: -cc1as
    113 // MICROMIPS-OFF: "-target-feature" "-micromips"
    114 
    115 // RUN: %clang -target mips-linux-gnu -### -fintegrated-as -c %s 2>&1 | \
    116 // RUN:   FileCheck -check-prefix=DSP-DEFAULT %s
    117 // DSP-DEFAULT: -cc1as
    118 // DSP-DEFAULT-NOT: "-target-feature" "{{[+-]}}dsp"
    119 
    120 // RUN: %clang -target mips-linux-gnu -### -fintegrated-as -c %s -mdsp 2>&1 | \
    121 // RUN:   FileCheck -check-prefix=DSP-ON %s
    122 // DSP-ON: -cc1as
    123 // DSP-ON: "-target-feature" "+dsp"
    124 
    125 // RUN: %clang -target mips-linux-gnu -### -fintegrated-as -c %s -mno-dsp 2>&1 | \
    126 // RUN:   FileCheck -check-prefix=DSP-OFF %s
    127 // DSP-OFF: -cc1as
    128 // DSP-OFF: "-target-feature" "-dsp"
    129 
    130 // RUN: %clang -target mips-linux-gnu -### -fintegrated-as -c %s 2>&1 | \
    131 // RUN:   FileCheck -check-prefix=DSPR2-DEFAULT %s
    132 // DSPR2-DEFAULT: -cc1as
    133 // DSPR2-DEFAULT-NOT: "-target-feature" "{{[+-]}}dspr2"
    134 
    135 // RUN: %clang -target mips-linux-gnu -### -fintegrated-as -c %s -mdspr2 2>&1 | \
    136 // RUN:   FileCheck -check-prefix=DSPR2-ON %s
    137 // DSPR2-ON: -cc1as
    138 // DSPR2-ON: "-target-feature" "+dspr2"
    139 
    140 // RUN: %clang -target mips-linux-gnu -### -fintegrated-as -c %s -mno-dspr2 2>&1 | \
    141 // RUN:   FileCheck -check-prefix=DSPR2-OFF %s
    142 // DSPR2-OFF: -cc1as
    143 // DSPR2-OFF: "-target-feature" "-dspr2"
    144 
    145 // RUN: %clang -target mips-linux-gnu -### -fintegrated-as -c %s 2>&1 | \
    146 // RUN:   FileCheck -check-prefix=MSA-DEFAULT %s
    147 // MSA-DEFAULT: -cc1as
    148 // MSA-DEFAULT-NOT: "-target-feature" "{{[+-]}}msa"
    149 
    150 // RUN: %clang -target mips-linux-gnu -### -fintegrated-as -c %s -mmsa 2>&1 | \
    151 // RUN:   FileCheck -check-prefix=MSA-ON %s
    152 // MSA-ON: -cc1as
    153 // MSA-ON: "-target-feature" "+msa"
    154 
    155 // RUN: %clang -target mips-linux-gnu -### -fintegrated-as -c %s -mno-msa 2>&1 | \
    156 // RUN:   FileCheck -check-prefix=MSA-OFF %s
    157 // MSA-OFF: -cc1as
    158 // MSA-OFF: "-target-feature" "-msa"
    159 
    160 // RUN: %clang -target mips-linux-gnu -### -fintegrated-as -c %s 2>&1 | \
    161 // RUN:   FileCheck -check-prefix=FPXX-DEFAULT %s
    162 // FPXX-DEFAULT: -cc1as
    163 // FPXX-DEFAULT-NOT: "-target-feature" "+fpxx"
    164 // FPXX-DEFAULT-NOT: "-target-feature" "+nooddspreg"
    165 
    166 // RUN: %clang -target mips-linux-gnu -### -fintegrated-as -c %s -mfp32 2>&1 | \
    167 // RUN:   FileCheck -check-prefix=FP32 %s
    168 // FP32: -cc1as
    169 // FP32: "-target-feature" "-fp64"
    170 
    171 // RUN: %clang -target mips-linux-gnu -### -fintegrated-as -c %s -mfpxx 2>&1 | \
    172 // RUN:   FileCheck -check-prefix=FPXX %s
    173 // FPXX: -cc1as
    174 // FPXX: "-target-feature" "+fpxx"
    175 // FPXX: "-target-feature" "+nooddspreg"
    176 
    177 // RUN: %clang -target mips-linux-gnu -### -fintegrated-as -c %s -mfp64 2>&1 | \
    178 // RUN:   FileCheck -check-prefix=FP64 %s
    179 // FP64: -cc1as
    180 // FP64: "-target-feature" "+fp64"
    181 
    182 // RUN: %clang -target mips-linux-gnu -### -fintegrated-as -c %s 2>&1 | \
    183 // RUN:   FileCheck -check-prefix=ODDSPREG-DEFAULT %s
    184 // ODDSPREG-DEFAULT: -cc1as
    185 // ODDSPREG-DEFAULT-NOT: "-target-feature" "{{[+-]}}nooddspreg"
    186 
    187 // RUN: %clang -target mips-linux-gnu -### -fintegrated-as -c %s -modd-spreg 2>&1 | \
    188 // RUN:   FileCheck -check-prefix=ODDSPREG-ON %s
    189 // ODDSPREG-ON: -cc1as
    190 // ODDSPREG-ON: "-target-feature" "-nooddspreg"
    191 
    192 // RUN: %clang -target mips-linux-gnu -### -fintegrated-as -c %s -mno-odd-spreg 2>&1 | \
    193 // RUN:   FileCheck -check-prefix=ODDSPREG-OFF %s
    194 // ODDSPREG-OFF: -cc1as
    195 // ODDSPREG-OFF: "-target-feature" "+nooddspreg"
    196 
    197 // RUN: %clang -target mips-linux-gnu -### -fintegrated-as -c %s -mfpxx -modd-spreg 2>&1 | \
    198 // RUN:   FileCheck -check-prefix=FPXX-ODDSPREG %s
    199 // FPXX-ODDSPREG: -cc1as
    200 // FPXX-ODDSPREG: "-target-feature" "+fpxx"
    201 // FPXX-ODDSPREG: "-target-feature" "-nooddspreg"
    202 
    203 // RUN: %clang -target mips-linux-gnu -### -fintegrated-as -c %s -mabicalls 2>&1 | \
    204 // RUN:   FileCheck -check-prefix=ABICALLS-ON %s
    205 // ABICALLS-ON: -cc1as
    206 // ABICALLS-ON: "-target-feature" "-noabicalls"
    207 
    208 // RUN: %clang -target mips-linux-gnu -### -fintegrated-as -c %s -mno-abicalls 2>&1 | \
    209 // RUN:   FileCheck -check-prefix=ABICALLS-OFF %s
    210 // ABICALLS-OFF: -cc1as
    211 // ABICALLS-OFF: "-target-feature" "+noabicalls"
    212 
    213 // RUN: %clang -target mips-linux-gnu -### -fintegrated-as -msoft-float -c %s 2>&1 | \
    214 // RUN:   FileCheck -check-prefix=SOFTFLOAT-IMPLICIT-FPXX --implicit-check-not=-mfpxx %s
    215 // SOFTFLOAT-IMPLICIT-FPXX: -cc1as
    216 // SOFTFLOAT-IMPLICIT-FPXX: "-target-feature" "+soft-float"
    217 // SOFTFLOAT-IMPLICIT-FPXX-NOT: "-target-feature" "+fpxx"
    218 // SOFTFLOAT-IMPLICIT-FPXX-NOT: "-target-feature" "+nooddspreg"
    219 
    220 // RUN: %clang -target mips-linux-gnu -### -fintegrated-as -msoft-float -mfpxx -c %s 2>&1 | \
    221 // RUN:   FileCheck -check-prefix=SOFTFLOAT-EXPLICIT-FPXX %s
    222 // SOFTFLOAT-EXPLICIT-FPXX: -cc1as
    223 // SOFTFLOAT-EXPLICIT-FPXX: "-target-feature" "+soft-float"
    224 // SOFTFLOAT-EXPLICIT-FPXX: "-target-feature" "+fpxx"
    225 // SOFTFLOAT-EXPLICIT-FPXX: "-target-feature" "+nooddspreg"
    226 
    227 // RUN: %clang -target mips-mti-linux-gnu -### -fintegrated-as -msoft-float -c %s 2>&1 | \
    228 // RUN:   FileCheck -check-prefix=MTI-SOFTFLOAT-IMPLICIT-FPXX --implicit-check-not=-mfpxx %s
    229 // MTI-SOFTFLOAT-IMPLICIT-FPXX: -cc1as
    230 // MTI-SOFTFLOAT-IMPLICIT-FPXX: "-target-feature" "+soft-float"
    231 // MTI-SOFTFLOAT-IMPLICIT-FPXX-NOT: "-target-feature" "+fpxx"
    232 // MTI-SOFTFLOAT-IMPLICIT-FPXX-NOT: "-target-feature" "+nooddspreg"
    233 
    234 // RUN: %clang -target mips-mti-linux-gnu -### -fintegrated-as -msoft-float -mfpxx -c %s 2>&1 | \
    235 // RUN:   FileCheck -check-prefix=MTI-SOFTFLOAT-EXPLICIT-FPXX %s
    236 // MTI-SOFTFLOAT-EXPLICIT-FPXX: -cc1as
    237 // MTI-SOFTFLOAT-EXPLICIT-FPXX: "-target-feature" "+soft-float"
    238 // MTI-SOFTFLOAT-EXPLICIT-FPXX: "-target-feature" "+fpxx"
    239 // MTI-SOFTFLOAT-EXPLICIT-FPXX: "-target-feature" "+nooddspreg"
    240 
    241 // RUN: %clang -target mips-img-linux-gnu -### -fintegrated-as -msoft-float -c %s 2>&1 | \
    242 // RUN:   FileCheck -check-prefix=IMG-SOFTFLOAT-IMPLICIT-FPXX --implicit-check-not=-mfpxx %s
    243 // IMG-SOFTFLOAT-IMPLICIT-FPXX: -cc1as
    244 // IMG-SOFTFLOAT-IMPLICIT-FPXX: "-target-feature" "+soft-float"
    245 // IMG-SOFTFLOAT-IMPLICIT-FPXX-NOT: "-target-feature" "+fpxx"
    246 // IMG-SOFTFLOAT-IMPLICIT-FPXX-NOT: "-target-feature" "+nooddspreg"
    247 
    248 // RUN: %clang -target mips-img-linux-gnu -### -fintegrated-as -msoft-float -mfpxx -c %s 2>&1 | \
    249 // RUN:   FileCheck -check-prefix=IMG-SOFTFLOAT-EXPLICIT-FPXX %s
    250 // IMG-SOFTFLOAT-EXPLICIT-FPXX: -cc1as
    251 // IMG-SOFTFLOAT-EXPLICIT-FPXX: "-target-feature" "+soft-float"
    252 // IMG-SOFTFLOAT-EXPLICIT-FPXX: "-target-feature" "+fpxx"
    253 // IMG-SOFTFLOAT-EXPLICIT-FPXX: "-target-feature" "+nooddspreg"
    254 
    255 // RUN: %clang -target mips-linux-gnu -### -fintegrated-as -msingle-float -c %s 2>&1 | \
    256 // RUN:   FileCheck -check-prefix=SINGLEFLOAT-IMPLICIT-FPXX --implicit-check-not=-mfpxx %s
    257 // SINGLEFLOAT-IMPLICIT-FPXX: -cc1as
    258 // SINGLEFLOAT-IMPLICIT-FPXX: "-target-feature" "+single-float"
    259 // SINGLEFLOAT-IMPLICIT-FPXX-NOT: "-target-feature" "+fpxx"
    260 // SINGLEFLOAT-IMPLICIT-FPXX-NOT: "-target-feature" "+nooddspreg"
    261 
    262 // RUN: %clang -target mips-linux-gnu -### -fintegrated-as -msingle-float -mfpxx -c %s 2>&1 | \
    263 // RUN:   FileCheck -check-prefix=SINGLEFLOAT-EXPLICIT-FPXX %s
    264 // SINGLEFLOAT-EXPLICIT-FPXX: -cc1as
    265 // SINGLEFLOAT-EXPLICIT-FPXX: "-target-feature" "+single-float"
    266 // SINGLEFLOAT-EXPLICIT-FPXX: "-target-feature" "+fpxx"
    267 // SINGLEFLOAT-EXPLICIT-FPXX: "-target-feature" "+nooddspreg"
    268 
    269 // RUN: %clang -target mips-mti-linux-gnu -### -fintegrated-as -msingle-float -c %s 2>&1 | \
    270 // RUN:   FileCheck -check-prefix=MTI-SINGLEFLOAT-IMPLICIT-FPXX --implicit-check-not=-mfpxx %s
    271 // MTI-SINGLEFLOAT-IMPLICIT-FPXX: -cc1as
    272 // MTI-SINGLEFLOAT-IMPLICIT-FPXX: "-target-feature" "+single-float"
    273 // MTI-SINGLEFLOAT-IMPLICIT-FPXX-NOT: "-target-feature" "+fpxx"
    274 // MTI-SINGLEFLOAT-IMPLICIT-FPXX-NOT: "-target-feature" "+nooddspreg"
    275 
    276 // RUN: %clang -target mips-mti-linux-gnu -### -fintegrated-as -msingle-float -mfpxx -c %s 2>&1 | \
    277 // RUN:   FileCheck -check-prefix=MTI-SINGLEFLOAT-EXPLICIT-FPXX %s
    278 // MTI-SINGLEFLOAT-EXPLICIT-FPXX: -cc1as
    279 // MTI-SINGLEFLOAT-EXPLICIT-FPXX: "-target-feature" "+single-float"
    280 // MTI-SINGLEFLOAT-EXPLICIT-FPXX: "-target-feature" "+fpxx"
    281 // MTI-SINGLEFLOAT-EXPLICIT-FPXX: "-target-feature" "+nooddspreg"
    282 
    283 // RUN: %clang -target mips-img-linux-gnu -### -fintegrated-as -msingle-float -c %s 2>&1 | \
    284 // RUN:   FileCheck -check-prefix=IMG-SINGLEFLOAT-IMPLICIT-FPXX --implicit-check-not=-mfpxx %s
    285 // IMG-SINGLEFLOAT-IMPLICIT-FPXX: -cc1as
    286 // IMG-SINGLEFLOAT-IMPLICIT-FPXX: "-target-feature" "+single-float"
    287 // IMG-SINGLEFLOAT-IMPLICIT-FPXX-NOT: "-target-feature" "+fpxx"
    288 // IMG-SINGLEFLOAT-IMPLICIT-FPXX-NOT: "-target-feature" "+nooddspreg"
    289 
    290 // RUN: %clang -target mips-img-linux-gnu -### -fintegrated-as -msingle-float -mfpxx -c %s 2>&1 | \
    291 // RUN:   FileCheck -check-prefix=IMG-SINGLEFLOAT-EXPLICIT-FPXX %s
    292 // IMG-SINGLEFLOAT-EXPLICIT-FPXX: -cc1as
    293 // IMG-SINGLEFLOAT-EXPLICIT-FPXX: "-target-feature" "+single-float"
    294 // IMG-SINGLEFLOAT-EXPLICIT-FPXX: "-target-feature" "+fpxx"
    295 // IMG-SINGLEFLOAT-EXPLICIT-FPXX: "-target-feature" "+nooddspreg"
    296