diff options
author | Daniel Sanders <daniel.sanders@imgtec.com> | 2014-03-24 16:48:01 +0000 |
---|---|---|
committer | Daniel Sanders <daniel.sanders@imgtec.com> | 2014-03-24 16:48:01 +0000 |
commit | 8ce101ed106b8da645eba8b98ee736cd19cd3543 (patch) | |
tree | a6c9bd6b38ae4468ae9432e44b26d88d3243ebf0 /test/MC/Mips | |
parent | 2685aa8713c7d17c43a84bdd3a699f2bfaae5914 (diff) | |
download | llvm-8ce101ed106b8da645eba8b98ee736cd19cd3543.tar.gz llvm-8ce101ed106b8da645eba8b98ee736cd19cd3543.tar.bz2 llvm-8ce101ed106b8da645eba8b98ee736cd19cd3543.tar.xz |
[mips] Add error message when trying to use $at in '.set noat' mode.
Summary:
Patch by David Chisnall
His work was sponsored by: DARPA, AFRL
Differential Revision: http://llvm-reviews.chandlerc.com/D3158
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@204621 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/MC/Mips')
-rw-r--r-- | test/MC/Mips/mips-noat.s | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/test/MC/Mips/mips-noat.s b/test/MC/Mips/mips-noat.s new file mode 100644 index 0000000000..152a1ee406 --- /dev/null +++ b/test/MC/Mips/mips-noat.s @@ -0,0 +1,27 @@ +# RUN: not llvm-mc %s -triple=mips-unknown-linux 2>%t0 | FileCheck %s +# RUN: FileCheck -check-prefix=ERROR %s < %t0 + +# We start with $at enabled +# CHECK-LABEL: test1: +# CHECK: lui $1, 1 +# CHECK: addu $1, $1, $2 +# CHECK: lw $2, 0($1) +test1: + lw $2, 65536($2) + +# Check that using $at when .set noat is in effect is an error. +# FIXME: It would be better if the error pointed at the mnemonic instead of the newline +# ERROR: mips-noat.s:[[@LINE+5]]:1: error: Pseudo instruction requires $at, which is not available +# ERROR-NOT: error +test2: + .set noat + lw $2, 65536($2) + +# Can we switch it back on successfully? +# CHECK-LABEL: test3: +# CHECK: lui $1, 1 +# CHECK: addu $1, $1, $2 +# CHECK: lw $2, 0($1) +test3: + .set at + lw $2, 65536($2) |