Home | History | Annotate | Download | only in Mips
      1 # RUN: llvm-mc %s -triple=mipsel-unknown-linux -mcpu=mips32r2 -mattr=+msa | \
      2 # RUN:   FileCheck %s
      3 # .set push creates a copy of the current environment.
      4 # .set pop restores the previous environment.
      5 # FIXME: Also test resetting of .set macro/nomacro option.
      6 
      7     .text
      8     # The first environment on the stack (with initial values).
      9     lw       $1, 65536($1)
     10     b        1336
     11     addvi.b  $w15, $w13, 18
     12 
     13     # Create a new environment.
     14     .set push
     15     .set at=$ra           # Test the ATReg option.
     16     lw       $1, 65536($1)
     17     .set noreorder        # Test the Reorder option.
     18     b        1336
     19     .set nomsa            # Test the Features option (ASE).
     20     .set mips32r6         # Test the Features option (ISA).
     21     mod      $2, $4, $6
     22 
     23     # Switch back to the first environment.
     24     .set pop
     25     lw       $1, 65536($1)
     26     b        1336
     27     addvi.b  $w15, $w13, 18
     28 
     29 # CHECK:  lui      $1, 1
     30 # CHECK:  addu     $1, $1, $1
     31 # CHECK:  lw       $1, 0($1)
     32 # CHECK:  b        1336
     33 # CHECK:  nop
     34 # CHECK:  addvi.b  $w15, $w13, 18
     35 
     36 # CHECK:  .set push
     37 # CHECK:  lui      $ra, 1
     38 # CHECK:  addu     $ra, $ra, $1
     39 # CHECK:  lw       $1, 0($ra)
     40 # CHECK:  .set noreorder
     41 # CHECK:  b        1336
     42 # CHECK-NOT:  nop
     43 # CHECK:  .set nomsa
     44 # CHECK:  .set mips32r6
     45 # CHECK:  mod      $2, $4, $6
     46 
     47 # CHECK:  .set pop
     48 # CHECK:  lui      $1, 1
     49 # CHECK:  addu     $1, $1, $1
     50 # CHECK:  lw       $1, 0($1)
     51 # CHECK:  b        1336
     52 # CHECK:  nop
     53 # CHECK:  addvi.b  $w15, $w13, 18
     54 
     55     .set push
     56     .set dsp
     57     lbux    $7, $10($11)
     58     .set pop
     59 
     60     .set push
     61     .set dsp
     62     lbux    $7, $10($11)
     63 # CHECK-NOT: :[[@LINE-1]]:5: error: instruction requires a CPU feature not currently enabled
     64     .set pop
     65 
     66     .set push
     67     .set dsp
     68     lbux    $7, $10($11)
     69 # CHECK-NOT: :[[@LINE-1]]:5: error: instruction requires a CPU feature not currently enabled
     70     .set pop
     71