| # RUN: not llvm-mc %s -triple=mips-unknown-linux 2>%t0 | FileCheck %s |
| # RUN: FileCheck -check-prefix=ERROR %s < %t0 |
| # Check that using the assembler temporary when .set noat is in effect is an error. |
| |
| # We start with the assembler temporary enabled |
| # CHECK-LABEL: test1: |
| # CHECK: lui $1, 1 |
| # CHECK: addu $1, $1, $2 |
| # CHECK: lw $2, 0($1) |
| # CHECK-LABEL: test2: |
| # CHECK: .set noat |
| test1: |
| lw $2, 65536($2) |
| |
| test2: |
| .set noat |
| lw $2, 65536($2) # ERROR: mips-noat.s:[[@LINE]]:9: error: pseudo-instruction requires $at, which is not available |
| |
| |
| # Can we switch it back on successfully? |
| # CHECK-LABEL: test3: |
| # CHECK: lui $1, 1 |
| # CHECK: addu $1, $1, $2 |
| # CHECK: lw $2, 0($1) |
| # CHECK-LABEL: test4: |
| # CHECK: .set at=$0 |
| test3: |
| .set at |
| lw $2, 65536($2) |
| |
| test4: |
| .set at=$0 |
| lw $2, 65536($2) # ERROR: mips-noat.s:[[@LINE]]:9: error: pseudo-instruction requires $at, which is not available |