reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced
    1
    2
    3
    4
    5
    6
    7
    8
    9
   10
   11
   12
   13
   14
   15
   16
   17
   18
   19
   20
   21
   22
   23
   24
   25
   26
   27
   28
   29
   30
   31
   32
   33
   34
   35
   36
   37
   38
   39
   40
   41
   42
   43
   44
   45
   46
   47
   48
   49
   50
   51
   52
   53
   54
   55
   56
   57
   58
   59
   60
   61
   62
   63
   64
   65
   66
   67
   68
   69
   70
# RUN: llvm-mc %s -triple=mipsel-unknown-linux -mcpu=mips32r2 -mattr=+msa | \
# RUN:   FileCheck %s
# .set push creates a copy of the current environment.
# .set pop restores the previous environment.
# FIXME: Also test resetting of .set macro/nomacro option.

    .text
    # The first environment on the stack (with initial values).
    lw       $1, 65536($1)
    b        1336
    addvi.b  $w15, $w13, 18
    
    # Create a new environment.
    .set push
    .set at=$ra           # Test the ATReg option.
    lw       $1, 65536($1)
    .set noreorder        # Test the Reorder option.
    b        1336
    .set nomsa            # Test the Features option (ASE).
    .set mips32r6         # Test the Features option (ISA).
    mod      $2, $4, $6

    # Switch back to the first environment.
    .set pop
    lw       $1, 65536($1)
    b        1336
    addvi.b  $w15, $w13, 18

# CHECK:  lui      $1, 1
# CHECK:  addu     $1, $1, $1
# CHECK:  lw       $1, 0($1)
# CHECK:  b        1336
# CHECK:  nop
# CHECK:  addvi.b  $w15, $w13, 18

# CHECK:  .set push
# CHECK:  lui      $ra, 1
# CHECK:  addu     $ra, $ra, $1
# CHECK:  lw       $1, 0($ra)
# CHECK:  .set noreorder   
# CHECK:  b        1336
# CHECK-NOT:  nop
# CHECK:  .set nomsa       
# CHECK:  .set mips32r6    
# CHECK:  mod      $2, $4, $6

# CHECK:  .set pop
# CHECK:  lui      $1, 1
# CHECK:  addu     $1, $1, $1
# CHECK:  lw       $1, 0($1)
# CHECK:  b        1336
# CHECK:  nop
# CHECK:  addvi.b  $w15, $w13, 18

    .set push
    .set dsp
    lbux    $7, $10($11)
    .set pop

    .set push
    .set dsp
    lbux    $7, $10($11)
# CHECK-NOT: :[[@LINE-1]]:5: error: instruction requires a CPU feature not currently enabled
    .set pop

    .set push
    .set dsp
    lbux    $7, $10($11)
# CHECK-NOT: :[[@LINE-1]]:5: error: instruction requires a CPU feature not currently enabled
    .set pop