71 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			ArmAsm
		
	
	
	
			
		
		
	
	
			71 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			ArmAsm
		
	
	
	
# 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
 |