[ARM] Better OR's for MVE compares
[llvm-core.git] / test / MC / Mips / set-at-directive-explicit-at.s
blobd2d1c1d4627b64d88f88e740f3a884db938c3b49
1 # RUN: llvm-mc %s -triple=mipsel-unknown-linux -show-encoding -mcpu=mips32r2 \
2 # RUN: 2>%t1 | FileCheck %s
3 # RUN: FileCheck -check-prefix=WARNINGS %s < %t1
5 # Check that the assembler can handle the documented syntax for ".set at" and
6 # will set the correct value for $at.
7 # Note that writing $at is always the same as writing $1.
9 .text
10 foo:
11 # CHECK: jr $1 # encoding: [0x08,0x00,0x20,0x00]
12 # WARNINGS: :[[@LINE+2]]:11: warning: used $at (currently $1) without ".set noat"
13 .set at=$1
14 jr $at
16 # CHECK: jr $1 # encoding: [0x08,0x00,0x20,0x00]
17 # WARNINGS: :[[@LINE+2]]:11: warning: used $at (currently $1) without ".set noat"
18 .set at=$1
19 jr $1
21 # CHECK: jr $1 # encoding: [0x08,0x00,0x20,0x00]
22 # WARNINGS: :[[@LINE+2]]:11: warning: used $at (currently $1) without ".set noat"
23 .set at=$at
24 jr $at
26 # CHECK: jr $1 # encoding: [0x08,0x00,0x20,0x00]
27 # WARNINGS: :[[@LINE+2]]:11: warning: used $at (currently $1) without ".set noat"
28 .set at=$at
29 jr $1
31 # WARNINGS-NOT: warning: used $at (currently ${{[0-9]+}}) without ".set noat"
32 # CHECK: jr $1 # encoding: [0x08,0x00,0x20,0x00]
33 .set at=$2
34 jr $at
35 # CHECK: jr $1 # encoding: [0x08,0x00,0x20,0x00]
36 .set at=$3
37 jr $at
38 # CHECK: jr $1 # encoding: [0x08,0x00,0x20,0x00]
39 .set noat
40 jr $at
41 # CHECK: jr $1 # encoding: [0x08,0x00,0x20,0x00]
42 .set at=$0
43 jr $at
45 # CHECK: jr $16 # encoding: [0x08,0x00,0x00,0x02]
46 # WARNINGS: :[[@LINE+2]]:11: warning: used $at (currently $16) without ".set noat"
47 .set at=$16
48 jr $s0
50 # CHECK: jr $16 # encoding: [0x08,0x00,0x00,0x02]
51 # WARNINGS: :[[@LINE+2]]:11: warning: used $at (currently $16) without ".set noat"
52 .set at=$16
53 jr $16