1b1d7e53aSDaniel Sanders# RUN: llvm-mc %s -triple=mipsel-unknown-linux -show-encoding -mcpu=mips32r2 \ 2b1d7e53aSDaniel Sanders# RUN: 2>%t1 | FileCheck %s 3b1d7e53aSDaniel Sanders# RUN: FileCheck -check-prefix=WARNINGS %s < %t1 4*d9d344b4SToma Tabacu 5*d9d344b4SToma Tabacu# Check that the assembler can handle the documented syntax for ".set at" and 6*d9d344b4SToma Tabacu# will set the correct value for $at. 7*d9d344b4SToma Tabacu# Note that writing $at is always the same as writing $1. 8*d9d344b4SToma Tabacu 9b1d7e53aSDaniel Sanders .text 10b1d7e53aSDaniel Sandersfoo: 11b1d7e53aSDaniel Sanders# CHECK: jr $1 # encoding: [0x08,0x00,0x20,0x00] 12*d9d344b4SToma Tabacu# WARNINGS: :[[@LINE+2]]:11: warning: used $at (currently $1) without ".set noat" 13b1d7e53aSDaniel Sanders .set at=$1 14b1d7e53aSDaniel Sanders jr $at 15b1d7e53aSDaniel Sanders 16b1d7e53aSDaniel Sanders# CHECK: jr $1 # encoding: [0x08,0x00,0x20,0x00] 17*d9d344b4SToma Tabacu# WARNINGS: :[[@LINE+2]]:11: warning: used $at (currently $1) without ".set noat" 18b1d7e53aSDaniel Sanders .set at=$1 19b1d7e53aSDaniel Sanders jr $1 2016a74499SToma Tabacu 2116a74499SToma Tabacu# CHECK: jr $1 # encoding: [0x08,0x00,0x20,0x00] 22*d9d344b4SToma Tabacu# WARNINGS: :[[@LINE+2]]:11: warning: used $at (currently $1) without ".set noat" 2316a74499SToma Tabacu .set at=$at 2416a74499SToma Tabacu jr $at 2516a74499SToma Tabacu 2616a74499SToma Tabacu# CHECK: jr $1 # encoding: [0x08,0x00,0x20,0x00] 27*d9d344b4SToma Tabacu# WARNINGS: :[[@LINE+2]]:11: warning: used $at (currently $1) without ".set noat" 2816a74499SToma Tabacu .set at=$at 2916a74499SToma Tabacu jr $1 30b1d7e53aSDaniel Sanders 31*d9d344b4SToma Tabacu# WARNINGS-NOT: warning: used $at (currently ${{[0-9]+}}) without ".set noat" 32b1d7e53aSDaniel Sanders# CHECK: jr $1 # encoding: [0x08,0x00,0x20,0x00] 33b1d7e53aSDaniel Sanders .set at=$2 34b1d7e53aSDaniel Sanders jr $at 35b1d7e53aSDaniel Sanders# CHECK: jr $1 # encoding: [0x08,0x00,0x20,0x00] 36b1d7e53aSDaniel Sanders .set at=$3 37b1d7e53aSDaniel Sanders jr $at 38b1d7e53aSDaniel Sanders# CHECK: jr $1 # encoding: [0x08,0x00,0x20,0x00] 39b1d7e53aSDaniel Sanders .set noat 40b1d7e53aSDaniel Sanders jr $at 4171a89d92SDaniel Sanders# CHECK: jr $1 # encoding: [0x08,0x00,0x20,0x00] 4271a89d92SDaniel Sanders .set at=$0 4371a89d92SDaniel Sanders jr $at 44b1d7e53aSDaniel Sanders 45b1d7e53aSDaniel Sanders# CHECK: jr $16 # encoding: [0x08,0x00,0x00,0x02] 46*d9d344b4SToma Tabacu# WARNINGS: :[[@LINE+2]]:11: warning: used $at (currently $16) without ".set noat" 47b1d7e53aSDaniel Sanders .set at=$16 48b1d7e53aSDaniel Sanders jr $s0 49b1d7e53aSDaniel Sanders 50b1d7e53aSDaniel Sanders# CHECK: jr $16 # encoding: [0x08,0x00,0x00,0x02] 51*d9d344b4SToma Tabacu# WARNINGS: :[[@LINE+2]]:11: warning: used $at (currently $16) without ".set noat" 52b1d7e53aSDaniel Sanders .set at=$16 53b1d7e53aSDaniel Sanders jr $16 54