1*9880d681SAndroid Build Coastguard Worker# RUN: llvm-mc %s -triple=mipsel-unknown-linux -show-encoding -mcpu=mips32r2 | \ 2*9880d681SAndroid Build Coastguard Worker# RUN: FileCheck %s 3*9880d681SAndroid Build Coastguard Worker# Check that the assembler can handle the documented syntax 4*9880d681SAndroid Build Coastguard Worker# for ".set at" and set the correct value. 5*9880d681SAndroid Build Coastguard Worker .text 6*9880d681SAndroid Build Coastguard Workerfoo: 7*9880d681SAndroid Build Coastguard Worker# CHECK: .set at=$1 8*9880d681SAndroid Build Coastguard Worker# CHECK: lui $1, 1 9*9880d681SAndroid Build Coastguard Worker# CHECK: addu $1, $1, $2 10*9880d681SAndroid Build Coastguard Worker# CHECK: lw $2, 0($1) 11*9880d681SAndroid Build Coastguard Worker .set at=$1 12*9880d681SAndroid Build Coastguard Worker lw $2, 65536($2) 13*9880d681SAndroid Build Coastguard Worker# CHECK: .set at=$2 14*9880d681SAndroid Build Coastguard Worker# CHECK: lui $2, 1 15*9880d681SAndroid Build Coastguard Worker# CHECK: addu $2, $2, $1 16*9880d681SAndroid Build Coastguard Worker# CHECK: lw $1, 0($2) 17*9880d681SAndroid Build Coastguard Worker .set at=$2 18*9880d681SAndroid Build Coastguard Worker lw $1, 65536($1) 19*9880d681SAndroid Build Coastguard Worker# CHECK: .set at=$3 20*9880d681SAndroid Build Coastguard Worker# CHECK: lui $3, 1 21*9880d681SAndroid Build Coastguard Worker# CHECK: addu $3, $3, $1 22*9880d681SAndroid Build Coastguard Worker# CHECK: lw $1, 0($3) 23*9880d681SAndroid Build Coastguard Worker .set at=$3 24*9880d681SAndroid Build Coastguard Worker lw $1, 65536($1) 25*9880d681SAndroid Build Coastguard Worker# CHECK: .set at=$4 26*9880d681SAndroid Build Coastguard Worker# CHECK: lui $4, 1 27*9880d681SAndroid Build Coastguard Worker# CHECK: addu $4, $4, $1 28*9880d681SAndroid Build Coastguard Worker# CHECK: lw $1, 0($4) 29*9880d681SAndroid Build Coastguard Worker .set at=$a0 30*9880d681SAndroid Build Coastguard Worker lw $1, 65536($1) 31*9880d681SAndroid Build Coastguard Worker# CHECK: .set at=$5 32*9880d681SAndroid Build Coastguard Worker# CHECK: lui $5, 1 33*9880d681SAndroid Build Coastguard Worker# CHECK: addu $5, $5, $1 34*9880d681SAndroid Build Coastguard Worker# CHECK: lw $1, 0($5) 35*9880d681SAndroid Build Coastguard Worker .set at=$a1 36*9880d681SAndroid Build Coastguard Worker lw $1, 65536($1) 37*9880d681SAndroid Build Coastguard Worker# CHECK: .set at=$6 38*9880d681SAndroid Build Coastguard Worker# CHECK: lui $6, 1 39*9880d681SAndroid Build Coastguard Worker# CHECK: addu $6, $6, $1 40*9880d681SAndroid Build Coastguard Worker# CHECK: lw $1, 0($6) 41*9880d681SAndroid Build Coastguard Worker .set at=$a2 42*9880d681SAndroid Build Coastguard Worker lw $1, 65536($1) 43*9880d681SAndroid Build Coastguard Worker# CHECK: .set at=$7 44*9880d681SAndroid Build Coastguard Worker# CHECK: lui $7, 1 45*9880d681SAndroid Build Coastguard Worker# CHECK: addu $7, $7, $1 46*9880d681SAndroid Build Coastguard Worker# CHECK: lw $1, 0($7) 47*9880d681SAndroid Build Coastguard Worker .set at=$a3 48*9880d681SAndroid Build Coastguard Worker lw $1, 65536($1) 49*9880d681SAndroid Build Coastguard Worker# CHECK: .set at=$8 50*9880d681SAndroid Build Coastguard Worker# CHECK: lui $8, 1 51*9880d681SAndroid Build Coastguard Worker# CHECK: addu $8, $8, $1 52*9880d681SAndroid Build Coastguard Worker# CHECK: lw $1, 0($8) 53*9880d681SAndroid Build Coastguard Worker .set at=$8 54*9880d681SAndroid Build Coastguard Worker lw $1, 65536($1) 55*9880d681SAndroid Build Coastguard Worker# CHECK: .set at=$9 56*9880d681SAndroid Build Coastguard Worker# CHECK: lui $9, 1 57*9880d681SAndroid Build Coastguard Worker# CHECK: addu $9, $9, $1 58*9880d681SAndroid Build Coastguard Worker# CHECK: lw $1, 0($9) 59*9880d681SAndroid Build Coastguard Worker .set at=$9 60*9880d681SAndroid Build Coastguard Worker lw $1, 65536($1) 61*9880d681SAndroid Build Coastguard Worker# CHECK: .set at=$10 62*9880d681SAndroid Build Coastguard Worker# CHECK: lui $10, 1 63*9880d681SAndroid Build Coastguard Worker# CHECK: addu $10, $10, $1 64*9880d681SAndroid Build Coastguard Worker# CHECK: lw $1, 0($10) 65*9880d681SAndroid Build Coastguard Worker .set at=$10 66*9880d681SAndroid Build Coastguard Worker lw $1, 65536($1) 67*9880d681SAndroid Build Coastguard Worker# CHECK: .set at=$11 68*9880d681SAndroid Build Coastguard Worker# CHECK: lui $11, 1 69*9880d681SAndroid Build Coastguard Worker# CHECK: addu $11, $11, $1 70*9880d681SAndroid Build Coastguard Worker# CHECK: lw $1, 0($11) 71*9880d681SAndroid Build Coastguard Worker .set at=$11 72*9880d681SAndroid Build Coastguard Worker lw $1, 65536($1) 73*9880d681SAndroid Build Coastguard Worker# CHECK: .set at=$12 74*9880d681SAndroid Build Coastguard Worker# CHECK: lui $12, 1 75*9880d681SAndroid Build Coastguard Worker# CHECK: addu $12, $12, $1 76*9880d681SAndroid Build Coastguard Worker# CHECK: lw $1, 0($12) 77*9880d681SAndroid Build Coastguard Worker .set at=$12 78*9880d681SAndroid Build Coastguard Worker lw $1, 65536($1) 79*9880d681SAndroid Build Coastguard Worker# CHECK: .set at=$13 80*9880d681SAndroid Build Coastguard Worker# CHECK: lui $13, 1 81*9880d681SAndroid Build Coastguard Worker# CHECK: addu $13, $13, $1 82*9880d681SAndroid Build Coastguard Worker# CHECK: lw $1, 0($13) 83*9880d681SAndroid Build Coastguard Worker .set at=$13 84*9880d681SAndroid Build Coastguard Worker lw $1, 65536($1) 85*9880d681SAndroid Build Coastguard Worker# CHECK: .set at=$14 86*9880d681SAndroid Build Coastguard Worker# CHECK: lui $14, 1 87*9880d681SAndroid Build Coastguard Worker# CHECK: addu $14, $14, $1 88*9880d681SAndroid Build Coastguard Worker# CHECK: lw $1, 0($14) 89*9880d681SAndroid Build Coastguard Worker .set at=$14 90*9880d681SAndroid Build Coastguard Worker lw $1, 65536($1) 91*9880d681SAndroid Build Coastguard Worker# CHECK: .set at=$15 92*9880d681SAndroid Build Coastguard Worker# CHECK: lui $15, 1 93*9880d681SAndroid Build Coastguard Worker# CHECK: addu $15, $15, $1 94*9880d681SAndroid Build Coastguard Worker# CHECK: lw $1, 0($15) 95*9880d681SAndroid Build Coastguard Worker .set at=$15 96*9880d681SAndroid Build Coastguard Worker lw $1, 65536($1) 97*9880d681SAndroid Build Coastguard Worker# CHECK: .set at=$16 98*9880d681SAndroid Build Coastguard Worker# CHECK: lui $16, 1 99*9880d681SAndroid Build Coastguard Worker# CHECK: addu $16, $16, $1 100*9880d681SAndroid Build Coastguard Worker# CHECK: lw $1, 0($16) 101*9880d681SAndroid Build Coastguard Worker .set at=$s0 102*9880d681SAndroid Build Coastguard Worker lw $1, 65536($1) 103*9880d681SAndroid Build Coastguard Worker# CHECK: .set at=$17 104*9880d681SAndroid Build Coastguard Worker# CHECK: lui $17, 1 105*9880d681SAndroid Build Coastguard Worker# CHECK: addu $17, $17, $1 106*9880d681SAndroid Build Coastguard Worker# CHECK: lw $1, 0($17) 107*9880d681SAndroid Build Coastguard Worker .set at=$s1 108*9880d681SAndroid Build Coastguard Worker lw $1, 65536($1) 109*9880d681SAndroid Build Coastguard Worker# CHECK: .set at=$18 110*9880d681SAndroid Build Coastguard Worker# CHECK: lui $18, 1 111*9880d681SAndroid Build Coastguard Worker# CHECK: addu $18, $18, $1 112*9880d681SAndroid Build Coastguard Worker# CHECK: lw $1, 0($18) 113*9880d681SAndroid Build Coastguard Worker .set at=$s2 114*9880d681SAndroid Build Coastguard Worker lw $1, 65536($1) 115*9880d681SAndroid Build Coastguard Worker# CHECK: .set at=$19 116*9880d681SAndroid Build Coastguard Worker# CHECK: lui $19, 1 117*9880d681SAndroid Build Coastguard Worker# CHECK: addu $19, $19, $1 118*9880d681SAndroid Build Coastguard Worker# CHECK: lw $1, 0($19) 119*9880d681SAndroid Build Coastguard Worker .set at=$s3 120*9880d681SAndroid Build Coastguard Worker lw $1, 65536($1) 121*9880d681SAndroid Build Coastguard Worker# CHECK: .set at=$20 122*9880d681SAndroid Build Coastguard Worker# CHECK: lui $20, 1 123*9880d681SAndroid Build Coastguard Worker# CHECK: addu $20, $20, $1 124*9880d681SAndroid Build Coastguard Worker# CHECK: lw $1, 0($20) 125*9880d681SAndroid Build Coastguard Worker .set at=$s4 126*9880d681SAndroid Build Coastguard Worker lw $1, 65536($1) 127*9880d681SAndroid Build Coastguard Worker# CHECK: .set at=$21 128*9880d681SAndroid Build Coastguard Worker# CHECK: lui $21, 1 129*9880d681SAndroid Build Coastguard Worker# CHECK: addu $21, $21, $1 130*9880d681SAndroid Build Coastguard Worker# CHECK: lw $1, 0($21) 131*9880d681SAndroid Build Coastguard Worker .set at=$s5 132*9880d681SAndroid Build Coastguard Worker lw $1, 65536($1) 133*9880d681SAndroid Build Coastguard Worker# CHECK: .set at=$22 134*9880d681SAndroid Build Coastguard Worker# CHECK: lui $22, 1 135*9880d681SAndroid Build Coastguard Worker# CHECK: addu $22, $22, $1 136*9880d681SAndroid Build Coastguard Worker# CHECK: lw $1, 0($22) 137*9880d681SAndroid Build Coastguard Worker .set at=$s6 138*9880d681SAndroid Build Coastguard Worker lw $1, 65536($1) 139*9880d681SAndroid Build Coastguard Worker# CHECK: .set at=$23 140*9880d681SAndroid Build Coastguard Worker# CHECK: lui $23, 1 141*9880d681SAndroid Build Coastguard Worker# CHECK: addu $23, $23, $1 142*9880d681SAndroid Build Coastguard Worker# CHECK: lw $1, 0($23) 143*9880d681SAndroid Build Coastguard Worker .set at=$s7 144*9880d681SAndroid Build Coastguard Worker lw $1, 65536($1) 145*9880d681SAndroid Build Coastguard Worker# CHECK: .set at=$24 146*9880d681SAndroid Build Coastguard Worker# CHECK: lui $24, 1 147*9880d681SAndroid Build Coastguard Worker# CHECK: addu $24, $24, $1 148*9880d681SAndroid Build Coastguard Worker# CHECK: lw $1, 0($24) 149*9880d681SAndroid Build Coastguard Worker .set at=$24 150*9880d681SAndroid Build Coastguard Worker lw $1, 65536($1) 151*9880d681SAndroid Build Coastguard Worker# CHECK: .set at=$25 152*9880d681SAndroid Build Coastguard Worker# CHECK: lui $25, 1 153*9880d681SAndroid Build Coastguard Worker# CHECK: addu $25, $25, $1 154*9880d681SAndroid Build Coastguard Worker# CHECK: lw $1, 0($25) 155*9880d681SAndroid Build Coastguard Worker .set at=$25 156*9880d681SAndroid Build Coastguard Worker lw $1, 65536($1) 157*9880d681SAndroid Build Coastguard Worker# CHECK: .set at=$26 158*9880d681SAndroid Build Coastguard Worker# CHECK: lui $26, 1 159*9880d681SAndroid Build Coastguard Worker# CHECK: addu $26, $26, $1 160*9880d681SAndroid Build Coastguard Worker# CHECK: lw $1, 0($26) 161*9880d681SAndroid Build Coastguard Worker .set at=$26 162*9880d681SAndroid Build Coastguard Worker lw $1, 65536($1) 163*9880d681SAndroid Build Coastguard Worker# CHECK: .set at=$27 164*9880d681SAndroid Build Coastguard Worker# CHECK: lui $27, 1 165*9880d681SAndroid Build Coastguard Worker# CHECK: addu $27, $27, $1 166*9880d681SAndroid Build Coastguard Worker# CHECK: lw $1, 0($27) 167*9880d681SAndroid Build Coastguard Worker .set at=$27 168*9880d681SAndroid Build Coastguard Worker lw $1, 65536($1) 169*9880d681SAndroid Build Coastguard Worker# CHECK: .set at=$28 170*9880d681SAndroid Build Coastguard Worker# CHECK: lui $gp, 1 171*9880d681SAndroid Build Coastguard Worker# CHECK: addu $gp, $gp, $1 172*9880d681SAndroid Build Coastguard Worker# CHECK: lw $1, 0($gp) 173*9880d681SAndroid Build Coastguard Worker .set at=$gp 174*9880d681SAndroid Build Coastguard Worker lw $1, 65536($1) 175*9880d681SAndroid Build Coastguard Worker# CHECK: .set at=$30 176*9880d681SAndroid Build Coastguard Worker# CHECK: lui $fp, 1 177*9880d681SAndroid Build Coastguard Worker# CHECK: addu $fp, $fp, $1 178*9880d681SAndroid Build Coastguard Worker# CHECK: lw $1, 0($fp) 179*9880d681SAndroid Build Coastguard Worker .set at=$fp 180*9880d681SAndroid Build Coastguard Worker lw $1, 65536($1) 181*9880d681SAndroid Build Coastguard Worker# CHECK: .set at=$29 182*9880d681SAndroid Build Coastguard Worker# CHECK: lui $sp, 1 183*9880d681SAndroid Build Coastguard Worker# CHECK: addu $sp, $sp, $1 184*9880d681SAndroid Build Coastguard Worker# CHECK: lw $1, 0($sp) 185*9880d681SAndroid Build Coastguard Worker .set at=$sp 186*9880d681SAndroid Build Coastguard Worker lw $1, 65536($1) 187*9880d681SAndroid Build Coastguard Worker# CHECK: .set at=$31 188*9880d681SAndroid Build Coastguard Worker# CHECK: lui $ra, 1 189*9880d681SAndroid Build Coastguard Worker# CHECK: addu $ra, $ra, $1 190*9880d681SAndroid Build Coastguard Worker# CHECK: lw $1, 0($ra) 191*9880d681SAndroid Build Coastguard Worker .set at=$ra 192*9880d681SAndroid Build Coastguard Worker lw $1, 65536($1) 193