1480 lines · plain
1# RUN: llvm-mc %s -triple=mipsel-unknown-linux -mcpu=mips32r2 -mattr=-xgot \2# RUN: -show-encoding | FileCheck %s --check-prefixes=CHECK,CHECK-LE,GOT3# RUN: llvm-mc %s -triple=mipsel-unknown-linux -mcpu=mips32r2 -mattr=+xgot \4# RUN: -show-encoding | FileCheck %s --check-prefixes=CHECK,CHECK-LE,XGOT5# RUN: llvm-mc %s -triple=mips-unknown-linux -mcpu=mips32r2 \6# RUN: -show-encoding | FileCheck %s --check-prefixes=CHECK,CHECK-BE7 8# Check that the IAS expands macro instructions in the same way as GAS.9 10# Load address, done by MipsAsmParser::expandLoadAddressReg()11# and MipsAsmParser::expandLoadAddressImm():12 la $8, 1f13# CHECK-LE: lui $8, %hi($tmp0) # encoding: [A,A,0x08,0x3c]14# CHECK-LE: # fixup A - offset: 0, value: %hi($tmp0), kind: fixup_Mips_HI1615# CHECK-LE: addiu $8, $8, %lo($tmp0) # encoding: [A,A,0x08,0x25]16# CHECK-LE: # fixup A - offset: 0, value: %lo($tmp0), kind: fixup_Mips_LO1617 18 lb $4, 0x800019# CHECK-LE: lui $4, 1 # encoding: [0x01,0x00,0x04,0x3c]20# CHECK-LE: lb $4, -32768($4) # encoding: [0x00,0x80,0x84,0x80]21 22 lb $4, 0x20004($3)23# CHECK-LE: lui $4, 2 # encoding: [0x02,0x00,0x04,0x3c]24# CHECK-LE: addu $4, $4, $3 # encoding: [0x21,0x20,0x83,0x00]25# CHECK-LE: lb $4, 4($4) # encoding: [0x04,0x00,0x84,0x80]26 27 lbu $4, 0x800028# CHECK-LE: lui $4, 1 # encoding: [0x01,0x00,0x04,0x3c]29# CHECK-LE: lbu $4, -32768($4) # encoding: [0x00,0x80,0x84,0x90]30 31 lbu $4, 0x20004($3)32# CHECK-LE: lui $4, 2 # encoding: [0x02,0x00,0x04,0x3c]33# CHECK-LE: addu $4, $4, $3 # encoding: [0x21,0x20,0x83,0x00]34# CHECK-LE: lbu $4, 4($4) # encoding: [0x04,0x00,0x84,0x90]35 36 lh $4, 0x800037# CHECK-LE: lui $4, 138# CHECK-LE: lh $4, -32768($4)39 40 lh $4, 0x20004($3)41# CHECK-LE: lui $4, 242# CHECK-LE: addu $4, $4, $343# CHECK-LE: lh $4, 4($4)44 45 lhu $4, 0x800046# CHECK-LE: lui $4, 147# CHECK-LE: lhu $4, -32768($4)48 49 lhu $4, 0x20004($3)50# CHECK-LE: lui $4, 251# CHECK-LE: addu $4, $4, $352# CHECK-LE: lhu $4, 4($4)53 54# LW/SW and LDC1/SDC1 of symbol address, done by MipsAsmParser::expandMemInst():55# NON-PIC code56 .set noat57 lw $10, symbol($4)58# CHECK-LE: lui $10, %hi(symbol) # encoding: [A,A,0x0a,0x3c]59# CHECK-LE: # fixup A - offset: 0, value: %hi(symbol), kind: fixup_Mips_HI1660# CHECK-LE: addu $10, $10, $4 # encoding: [0x21,0x50,0x44,0x01]61# CHECK-LE: lw $10, %lo(symbol)($10) # encoding: [A,A,0x4a,0x8d]62# CHECK-LE: # fixup A - offset: 0, value: %lo(symbol), kind: fixup_Mips_LO1663 .set at64 sw $10, symbol($9)65# CHECK-LE: lui $1, %hi(symbol) # encoding: [A,A,0x01,0x3c]66# CHECK-LE: # fixup A - offset: 0, value: %hi(symbol), kind: fixup_Mips_HI1667# CHECK-LE: addu $1, $1, $9 # encoding: [0x21,0x08,0x29,0x00]68# CHECK-LE: sw $10, %lo(symbol)($1) # encoding: [A,A,0x2a,0xac]69# CHECK-LE: # fixup A - offset: 0, value: %lo(symbol), kind: fixup_Mips_LO1670 71 lw $8, 1f72# CHECK-LE: lui $8, %hi($tmp0) # encoding: [A,A,0x08,0x3c]73# CHECK-LE: # fixup A - offset: 0, value: %hi($tmp0), kind: fixup_Mips_HI1674# CHECK-LE: lw $8, %lo($tmp0)($8) # encoding: [A,A,0x08,0x8d]75# CHECK-LE: # fixup A - offset: 0, value: %lo($tmp0), kind: fixup_Mips_LO1676 sw $8, 1f77# CHECK-LE: lui $1, %hi($tmp0) # encoding: [A,A,0x01,0x3c]78# CHECK-LE: # fixup A - offset: 0, value: %hi($tmp0), kind: fixup_Mips_HI1679# CHECK-LE: sw $8, %lo($tmp0)($1) # encoding: [A,A,0x28,0xac]80# CHECK-LE: # fixup A - offset: 0, value: %lo($tmp0), kind: fixup_Mips_LO1681 82 lw $10, 655483($4)83# CHECK-LE: lui $10, 10 # encoding: [0x0a,0x00,0x0a,0x3c]84# CHECK-LE: addu $10, $10, $4 # encoding: [0x21,0x50,0x44,0x01]85# CHECK-LE: lw $10, 123($10) # encoding: [0x7b,0x00,0x4a,0x8d]86 sw $10, 123456($9)87# CHECK-LE: lui $1, 2 # encoding: [0x02,0x00,0x01,0x3c]88# CHECK-LE: addu $1, $1, $9 # encoding: [0x21,0x08,0x29,0x00]89# CHECK-LE: sw $10, -7616($1) # encoding: [0x40,0xe2,0x2a,0xac]90 91 lw $8, symbol92# CHECK-LE: lui $8, %hi(symbol) # encoding: [A,A,0x08,0x3c]93# CHECK-LE: # fixup A - offset: 0, value: %hi(symbol), kind: fixup_Mips_HI1694# CHECK-LE-NOT: move $8, $8 # encoding: [0x21,0x40,0x00,0x01]95# CHECK-LE: lw $8, %lo(symbol)($8) # encoding: [A,A,0x08,0x8d]96# CHECK-LE: # fixup A - offset: 0, value: %lo(symbol), kind: fixup_Mips_LO1697 sw $8, symbol98# CHECK-LE: lui $1, %hi(symbol) # encoding: [A,A,0x01,0x3c]99# CHECK-LE: # fixup A - offset: 0, value: %hi(symbol), kind: fixup_Mips_HI16100# CHECK-LE-NOT: move $1, $1 # encoding: [0x21,0x08,0x20,0x00]101# CHECK-LE: sw $8, %lo(symbol)($1) # encoding: [A,A,0x28,0xac]102# CHECK-LE: # fixup A - offset: 0, value: %lo(symbol), kind: fixup_Mips_LO16103 104 ldc1 $f0, symbol105# CHECK-LE: lui $1, %hi(symbol)106# CHECK-LE: ldc1 $f0, %lo(symbol)($1)107 sdc1 $f0, symbol108# CHECK-LE: lui $1, %hi(symbol)109# CHECK-LE: sdc1 $f0, %lo(symbol)($1)110 111# PIC code112 .option pic2113 .set noat114 lw $10, symbol($4)115# GOT: lw $10, %got(symbol)($gp) # encoding: [A,A,0x8a,0x8f]116# GOT-NEXT: # fixup A - offset: 0, value: %got(symbol), kind: fixup_Mips_GOT117# GOT-NEXT: addu $10, $10, $4 # encoding: [0x21,0x50,0x44,0x01]118# GOT-NEXT: lw $10, 0($10) # encoding: [0x00,0x00,0x4a,0x8d]119 120# XGOT: lui $10, %got_hi(symbol) # encoding: [A,A,0x0a,0x3c]121# XGOT-NEXT: # fixup A - offset: 0, value: %got_hi(symbol), kind: fixup_Mips_GOT_HI16122# XGOT-NEXT: addu $10, $10, $gp # encoding: [0x21,0x50,0x5c,0x01]123# XGOT-NEXT: lw $10, %got_lo(symbol)($10) # encoding: [A,A,0x4a,0x8d]124# XGOT-NEXT: # fixup A - offset: 0, value: %got_lo(symbol), kind: fixup_Mips_GOT_LO16125# XGOT-NEXT: addu $10, $10, $4 # encoding: [0x21,0x50,0x44,0x01]126# XGOT-NEXT: lw $10, 0($10) # encoding: [0x00,0x00,0x4a,0x8d]127 .set at128 sw $10, symbol($9)129# GOT: lw $1, %got(symbol)($gp) # encoding: [A,A,0x81,0x8f]130# GOT-NEXT: # fixup A - offset: 0, value: %got(symbol), kind: fixup_Mips_GOT131# GOT-NEXT: addu $1, $1, $9 # encoding: [0x21,0x08,0x29,0x00]132# GOT-NEXT: sw $10, 0($1) # encoding: [0x00,0x00,0x2a,0xac]133 134# XGOT: lui $1, %got_hi(symbol) # encoding: [A,A,0x01,0x3c]135# XGOT-NEXT: # fixup A - offset: 0, value: %got_hi(symbol), kind: fixup_Mips_GOT_HI16136# XGOT-NEXT: addu $1, $1, $gp # encoding: [0x21,0x08,0x3c,0x00]137# XGOT-NEXT: lw $1, %got_lo(symbol)($1) # encoding: [A,A,0x21,0x8c]138# XGOT-NEXT: # fixup A - offset: 0, value: %got_lo(symbol), kind: fixup_Mips_GOT_LO16139# XGOT-NEXT: addu $1, $1, $9 # encoding: [0x21,0x08,0x29,0x00]140# XGOT-NEXT: sw $10, 0($1) # encoding: [0x00,0x00,0x2a,0xac]141 142 lw $8, 1f+8143# GOT: lw $8, %got($tmp0)($gp) # encoding: [A,A,0x88,0x8f]144# GOT-NEXT: # fixup A - offset: 0, value: %got($tmp0), kind: fixup_Mips_GOT145# GOT-NEXT: addiu $8, $8, %lo($tmp0) # encoding: [A,A,0x08,0x25]146# GOT-NEXT: # fixup A - offset: 0, value: %lo($tmp0), kind: fixup_Mips_LO16147# GOT-NEXT: lw $8, 8($8) # encoding: [0x08,0x00,0x08,0x8d]148 149# XGOT: lw $8, %got($tmp0)($gp) # encoding: [A,A,0x88,0x8f]150# XGOT-NEXT: # fixup A - offset: 0, value: %got($tmp0), kind: fixup_Mips_GOT151# XGOT-NEXT: addiu $8, $8, %lo($tmp0) # encoding: [A,A,0x08,0x25]152# XGOT-NEXT: # fixup A - offset: 0, value: %lo($tmp0), kind: fixup_Mips_LO16153# XGOT-NEXT: lw $8, 8($8) # encoding: [0x08,0x00,0x08,0x8d]154 sw $8, 1f+8155# GOT: lw $1, %got($tmp0)($gp) # encoding: [A,A,0x81,0x8f]156# GOT-NEXT: # fixup A - offset: 0, value: %got($tmp0), kind: fixup_Mips_GOT157# GOT-NEXT: addiu $1, $1, %lo($tmp0) # encoding: [A,A,0x21,0x24]158# GOT-NEXT: # fixup A - offset: 0, value: %lo($tmp0), kind: fixup_Mips_LO16159# GOT-NEXT: sw $8, 8($1) # encoding: [0x08,0x00,0x28,0xac]160 161# XGOT: lw $1, %got($tmp0)($gp) # encoding: [A,A,0x81,0x8f]162# XGOT-NEXT: # fixup A - offset: 0, value: %got($tmp0), kind: fixup_Mips_GOT163# XGOT-NEXT: addiu $1, $1, %lo($tmp0) # encoding: [A,A,0x21,0x24]164# XGOT-NEXT: # fixup A - offset: 0, value: %lo($tmp0), kind: fixup_Mips_LO16165# XGOT-NEXT: sw $8, 8($1) # encoding: [0x08,0x00,0x28,0xac]166 167 lw $10, 655483($4)168# GOT: lui $10, 10 # encoding: [0x0a,0x00,0x0a,0x3c]169# GOT-NEXT: addu $10, $10, $4 # encoding: [0x21,0x50,0x44,0x01]170# GOT-NEXT: lw $10, 123($10) # encoding: [0x7b,0x00,0x4a,0x8d]171 172# XGOT: lui $10, 10 # encoding: [0x0a,0x00,0x0a,0x3c]173# XGOT-NEXT: addu $10, $10, $4 # encoding: [0x21,0x50,0x44,0x01]174# XGOT-NEXT: lw $10, 123($10) # encoding: [0x7b,0x00,0x4a,0x8d]175 sw $10, 123456($9)176# GOT: lui $1, 2 # encoding: [0x02,0x00,0x01,0x3c]177# GOT-NEXT: addu $1, $1, $9 # encoding: [0x21,0x08,0x29,0x00]178# GOT-NEXT: sw $10, -7616($1) # encoding: [0x40,0xe2,0x2a,0xac]179 180# XGOT: lui $1, 2 # encoding: [0x02,0x00,0x01,0x3c]181# XGOT-NEXT: addu $1, $1, $9 # encoding: [0x21,0x08,0x29,0x00]182# XGOT-NEXT: sw $10, -7616($1) # encoding: [0x40,0xe2,0x2a,0xac]183 184 lw $8, symbol+8185# GOT: lw $8, %got(symbol)($gp) # encoding: [A,A,0x88,0x8f]186# GOT-NEXT: # fixup A - offset: 0, value: %got(symbol), kind: fixup_Mips_GOT187# GOT-NEXT: lw $8, 8($8) # encoding: [0x08,0x00,0x08,0x8d]188 189# XGOT: lui $8, %got_hi(symbol) # encoding: [A,A,0x08,0x3c]190# XGOT-NEXT: # fixup A - offset: 0, value: %got_hi(symbol), kind: fixup_Mips_GOT_HI16191# XGOT-NEXT: addu $8, $8, $gp # encoding: [0x21,0x40,0x1c,0x01]192# XGOT-NEXT: lw $8, %got_lo(symbol)($8) # encoding: [A,A,0x08,0x8d]193# XGOT-NEXT: # fixup A - offset: 0, value: %got_lo(symbol), kind: fixup_Mips_GOT_LO16194# XGOT-NEXT: lw $8, 8($8) # encoding: [0x08,0x00,0x08,0x8d]195 sw $8, symbol+8196# GOT: lw $1, %got(symbol)($gp) # encoding: [A,A,0x81,0x8f]197# GOT-NEXT: # fixup A - offset: 0, value: %got(symbol), kind: fixup_Mips_GOT198# GOT-NEXT: sw $8, 8($1) # encoding: [0x08,0x00,0x28,0xac]199 200# XGOT: lui $1, %got_hi(symbol) # encoding: [A,A,0x01,0x3c]201# XGOT-NEXT: # fixup A - offset: 0, value: %got_hi(symbol), kind: fixup_Mips_GOT_HI16202# XGOT-NEXT: addu $1, $1, $gp # encoding: [0x21,0x08,0x3c,0x00]203# XGOT-NEXT: lw $1, %got_lo(symbol)($1) # encoding: [A,A,0x21,0x8c]204# XGOT-NEXT: # fixup A - offset: 0, value: %got_lo(symbol), kind: fixup_Mips_GOT_LO16205# XGOT-NEXT: sw $8, 8($1) # encoding: [0x08,0x00,0x28,0xac]206 207 ldc1 $f0, symbol208# GOT: lw $1, %got(symbol)($gp) # encoding: [A,A,0x81,0x8f]209# GOT-NEXT: # fixup A - offset: 0, value: %got(symbol), kind: fixup_Mips_GOT210# GOT-NEXT: ldc1 $f0, 0($1) # encoding: [0x00,0x00,0x20,0xd4]211 212# XGOT: lui $1, %got_hi(symbol) # encoding: [A,A,0x01,0x3c]213# XGOT-NEXT: # fixup A - offset: 0, value: %got_hi(symbol), kind: fixup_Mips_GOT_HI16214# XGOT-NEXT: addu $1, $1, $gp # encoding: [0x21,0x08,0x3c,0x00]215# XGOT-NEXT: lw $1, %got_lo(symbol)($1) # encoding: [A,A,0x21,0x8c]216# XGOT-NEXT: # fixup A - offset: 0, value: %got_lo(symbol), kind: fixup_Mips_GOT_LO16217# XGOT-NEXT: ldc1 $f0, 0($1) # encoding: [0x00,0x00,0x20,0xd4]218 sdc1 $f0, symbol219# GOT: lw $1, %got(symbol)($gp) # encoding: [A,A,0x81,0x8f]220# GOT-NEXT: # fixup A - offset: 0, value: %got(symbol), kind: fixup_Mips_GOT221# GOT-NEXT: sdc1 $f0, 0($1) # encoding: [0x00,0x00,0x20,0xf4]222 223# XGOT: lui $1, %got_hi(symbol) # encoding: [A,A,0x01,0x3c]224# XGOT-NEXT: # fixup A - offset: 0, value: %got_hi(symbol), kind: fixup_Mips_GOT_HI16225# XGOT-NEXT: addu $1, $1, $gp # encoding: [0x21,0x08,0x3c,0x00]226# XGOT-NEXT: lw $1, %got_lo(symbol)($1) # encoding: [A,A,0x21,0x8c]227# XGOT-NEXT: # fixup A - offset: 0, value: %got_lo(symbol), kind: fixup_Mips_GOT_LO16228# XGOT-NEXT: sdc1 $f0, 0($1) # encoding: [0x00,0x00,0x20,0xf4]229 .option pic0230 231# Test BNE with an immediate as the 2nd operand.232 bne $2, 0, 1332233# CHECK-LE: bnez $2, 1332 # encoding: [0x4d,0x01,0x40,0x14]234# CHECK-LE: nop # encoding: [0x00,0x00,0x00,0x00]235 236 bne $2, 123, 1332237# CHECK-LE: addiu $1, $zero, 123 # encoding: [0x7b,0x00,0x01,0x24]238# CHECK-LE: bne $2, $1, 1332 # encoding: [0x4d,0x01,0x41,0x14]239# CHECK-LE: nop # encoding: [0x00,0x00,0x00,0x00]240 241 bne $2, -2345, 1332242# CHECK-LE: addiu $1, $zero, -2345 # encoding: [0xd7,0xf6,0x01,0x24]243# CHECK-LE: bne $2, $1, 1332 # encoding: [0x4d,0x01,0x41,0x14]244# CHECK-LE: nop # encoding: [0x00,0x00,0x00,0x00]245 246 bne $2, 65538, 1332247# CHECK-LE: lui $1, 1 # encoding: [0x01,0x00,0x01,0x3c]248# CHECK-LE: ori $1, $1, 2 # encoding: [0x02,0x00,0x21,0x34]249# CHECK-LE: bne $2, $1, 1332 # encoding: [0x4d,0x01,0x41,0x14]250# CHECK-LE: nop # encoding: [0x00,0x00,0x00,0x00]251 252 bne $2, ~7, 1332253# CHECK-LE: addiu $1, $zero, -8 # encoding: [0xf8,0xff,0x01,0x24]254# CHECK-LE: bne $2, $1, 1332 # encoding: [0x4d,0x01,0x41,0x14]255# CHECK-LE: nop # encoding: [0x00,0x00,0x00,0x00]256 257 bne $2, 0x10000, 1332258# CHECK-LE: lui $1, 1 # encoding: [0x01,0x00,0x01,0x3c]259# CHECK-LE: bne $2, $1, 1332 # encoding: [0x4d,0x01,0x41,0x14]260# CHECK-LE: nop # encoding: [0x00,0x00,0x00,0x00]261 262# Test BEQ with an immediate as the 2nd operand.263 beq $2, 0, 1332264# CHECK-LE: beqz $2, 1332 # encoding: [0x4d,0x01,0x40,0x10]265# CHECK-LE: nop # encoding: [0x00,0x00,0x00,0x00]266 267 beq $2, 123, 1332268# CHECK-LE: addiu $1, $zero, 123 # encoding: [0x7b,0x00,0x01,0x24]269# CHECK-LE: beq $2, $1, 1332 # encoding: [0x4d,0x01,0x41,0x10]270# CHECK-LE: nop # encoding: [0x00,0x00,0x00,0x00]271 272 beq $2, -2345, 1332273# CHECK-LE: addiu $1, $zero, -2345 # encoding: [0xd7,0xf6,0x01,0x24]274# CHECK-LE: beq $2, $1, 1332 # encoding: [0x4d,0x01,0x41,0x10]275# CHECK-LE: nop # encoding: [0x00,0x00,0x00,0x00]276 277 beq $2, 65538, 1332278# CHECK-LE: lui $1, 1 # encoding: [0x01,0x00,0x01,0x3c]279# CHECK-LE: ori $1, $1, 2 # encoding: [0x02,0x00,0x21,0x34]280# CHECK-LE: beq $2, $1, 1332 # encoding: [0x4d,0x01,0x41,0x10]281# CHECK-LE: nop # encoding: [0x00,0x00,0x00,0x00]282 283 beq $2, ~7, 1332284# CHECK-LE: addiu $1, $zero, -8 # encoding: [0xf8,0xff,0x01,0x24]285# CHECK-LE: beq $2, $1, 1332 # encoding: [0x4d,0x01,0x41,0x10]286# CHECK-LE: nop # encoding: [0x00,0x00,0x00,0x00]287 288 beq $2, 0x10000, 1332289# CHECK-LE: lui $1, 1 # encoding: [0x01,0x00,0x01,0x3c]290# CHECK-LE: beq $2, $1, 1332 # encoding: [0x4d,0x01,0x41,0x10]291# CHECK-LE: nop # encoding: [0x00,0x00,0x00,0x00]292 293 beq $2, 65538, foo294# CHECK-LE: lui $1, 1 # encoding: [0x01,0x00,0x01,0x3c]295# CHECK-LE: ori $1, $1, 2 # encoding: [0x02,0x00,0x21,0x34]296# CHECK-LE: beq $2, $1, foo # encoding: [A,A,0x41,0x10]297# CHECK-LE: nop # encoding: [0x00,0x00,0x00,0x00]298 299# Test ULH with immediate operand.300ulh_imm: # CHECK-LABEL: ulh_imm:301 ulh $8, 0302# CHECK-BE: lb $1, 0($zero) # encoding: [0x80,0x01,0x00,0x00]303# CHECK-BE: lbu $8, 1($zero) # encoding: [0x90,0x08,0x00,0x01]304# CHECK-BE: sll $1, $1, 8 # encoding: [0x00,0x01,0x0a,0x00]305# CHECK-BE: or $8, $8, $1 # encoding: [0x01,0x01,0x40,0x25]306# CHECK-LE: lb $1, 1($zero) # encoding: [0x01,0x00,0x01,0x80]307# CHECK-LE: lbu $8, 0($zero) # encoding: [0x00,0x00,0x08,0x90]308# CHECK-LE: sll $1, $1, 8 # encoding: [0x00,0x0a,0x01,0x00]309# CHECK-LE: or $8, $8, $1 # encoding: [0x25,0x40,0x01,0x01]310 311 ulh $8, 2312# CHECK-BE: lb $1, 2($zero) # encoding: [0x80,0x01,0x00,0x02]313# CHECK-BE: lbu $8, 3($zero) # encoding: [0x90,0x08,0x00,0x03]314# CHECK-BE: sll $1, $1, 8 # encoding: [0x00,0x01,0x0a,0x00]315# CHECK-BE: or $8, $8, $1 # encoding: [0x01,0x01,0x40,0x25]316# CHECK-LE: lb $1, 3($zero) # encoding: [0x03,0x00,0x01,0x80]317# CHECK-LE: lbu $8, 2($zero) # encoding: [0x02,0x00,0x08,0x90]318# CHECK-LE: sll $1, $1, 8 # encoding: [0x00,0x0a,0x01,0x00]319# CHECK-LE: or $8, $8, $1 # encoding: [0x25,0x40,0x01,0x01]320 321 ulh $8, 0x8000322# CHECK-BE: ori $1, $zero, 32768 # encoding: [0x34,0x01,0x80,0x00]323# CHECK-BE: lb $8, 0($1) # encoding: [0x80,0x28,0x00,0x00]324# CHECK-BE: lbu $1, 1($1) # encoding: [0x90,0x21,0x00,0x01]325# CHECK-BE: sll $8, $8, 8 # encoding: [0x00,0x08,0x42,0x00]326# CHECK-BE: or $8, $8, $1 # encoding: [0x01,0x01,0x40,0x25]327# CHECK-LE: ori $1, $zero, 32768 # encoding: [0x00,0x80,0x01,0x34]328# CHECK-LE: lb $8, 1($1) # encoding: [0x01,0x00,0x28,0x80]329# CHECK-LE: lbu $1, 0($1) # encoding: [0x00,0x00,0x21,0x90]330# CHECK-LE: sll $8, $8, 8 # encoding: [0x00,0x42,0x08,0x00]331# CHECK-LE: or $8, $8, $1 # encoding: [0x25,0x40,0x01,0x01]332 333 ulh $8, -0x8000334# CHECK-BE: lb $1, -32768($zero) # encoding: [0x80,0x01,0x80,0x00]335# CHECK-BE: lbu $8, -32767($zero) # encoding: [0x90,0x08,0x80,0x01]336# CHECK-BE: sll $1, $1, 8 # encoding: [0x00,0x01,0x0a,0x00]337# CHECK-BE: or $8, $8, $1 # encoding: [0x01,0x01,0x40,0x25]338# CHECK-LE: lb $1, -32767($zero) # encoding: [0x01,0x80,0x01,0x80]339# CHECK-LE: lbu $8, -32768($zero) # encoding: [0x00,0x80,0x08,0x90]340# CHECK-LE: sll $1, $1, 8 # encoding: [0x00,0x0a,0x01,0x00]341# CHECK-LE: or $8, $8, $1 # encoding: [0x25,0x40,0x01,0x01]342 343 ulh $8, 0x10000344# CHECK-BE: lui $1, 1 # encoding: [0x3c,0x01,0x00,0x01]345# CHECK-BE: lb $8, 0($1) # encoding: [0x80,0x28,0x00,0x00]346# CHECK-BE: lbu $1, 1($1) # encoding: [0x90,0x21,0x00,0x01]347# CHECK-BE: sll $8, $8, 8 # encoding: [0x00,0x08,0x42,0x00]348# CHECK-BE: or $8, $8, $1 # encoding: [0x01,0x01,0x40,0x25]349# CHECK-LE: lui $1, 1 # encoding: [0x01,0x00,0x01,0x3c]350# CHECK-LE: lb $8, 1($1) # encoding: [0x01,0x00,0x28,0x80]351# CHECK-LE: lbu $1, 0($1) # encoding: [0x00,0x00,0x21,0x90]352# CHECK-LE: sll $8, $8, 8 # encoding: [0x00,0x42,0x08,0x00]353# CHECK-LE: or $8, $8, $1 # encoding: [0x25,0x40,0x01,0x01]354 355 ulh $8, 0x18888356# CHECK-BE: lui $1, 1 # encoding: [0x3c,0x01,0x00,0x01]357# CHECK-BE: ori $1, $1, 34952 # encoding: [0x34,0x21,0x88,0x88]358# CHECK-BE: lb $8, 0($1) # encoding: [0x80,0x28,0x00,0x00]359# CHECK-BE: lbu $1, 1($1) # encoding: [0x90,0x21,0x00,0x01]360# CHECK-BE: sll $8, $8, 8 # encoding: [0x00,0x08,0x42,0x00]361# CHECK-BE: or $8, $8, $1 # encoding: [0x01,0x01,0x40,0x25]362# CHECK-LE: lui $1, 1 # encoding: [0x01,0x00,0x01,0x3c]363# CHECK-LE: ori $1, $1, 34952 # encoding: [0x88,0x88,0x21,0x34]364# CHECK-LE: lb $8, 1($1) # encoding: [0x01,0x00,0x28,0x80]365# CHECK-LE: lbu $1, 0($1) # encoding: [0x00,0x00,0x21,0x90]366# CHECK-LE: sll $8, $8, 8 # encoding: [0x00,0x42,0x08,0x00]367# CHECK-LE: or $8, $8, $1 # encoding: [0x25,0x40,0x01,0x01]368 369 ulh $8, -32769370# CHECK-BE: lui $1, 65535 # encoding: [0x3c,0x01,0xff,0xff]371# CHECK-BE: ori $1, $1, 32767 # encoding: [0x34,0x21,0x7f,0xff]372# CHECK-BE: lb $8, 0($1) # encoding: [0x80,0x28,0x00,0x00]373# CHECK-BE: lbu $1, 1($1) # encoding: [0x90,0x21,0x00,0x01]374# CHECK-BE: sll $8, $8, 8 # encoding: [0x00,0x08,0x42,0x00]375# CHECK-BE: or $8, $8, $1 # encoding: [0x01,0x01,0x40,0x25]376# CHECK-LE: lui $1, 65535 # encoding: [0xff,0xff,0x01,0x3c]377# CHECK-LE: ori $1, $1, 32767 # encoding: [0xff,0x7f,0x21,0x34]378# CHECK-LE: lb $8, 1($1) # encoding: [0x01,0x00,0x28,0x80]379# CHECK-LE: lbu $1, 0($1) # encoding: [0x00,0x00,0x21,0x90]380# CHECK-LE: sll $8, $8, 8 # encoding: [0x00,0x42,0x08,0x00]381# CHECK-LE: or $8, $8, $1 # encoding: [0x25,0x40,0x01,0x01]382 383 ulh $8, 32767384# CHECK-BE: addiu $1, $zero, 32767 # encoding: [0x24,0x01,0x7f,0xff]385# CHECK-BE: lb $8, 0($1) # encoding: [0x80,0x28,0x00,0x00]386# CHECK-BE: lbu $1, 1($1) # encoding: [0x90,0x21,0x00,0x01]387# CHECK-BE: sll $8, $8, 8 # encoding: [0x00,0x08,0x42,0x00]388# CHECK-BE: or $8, $8, $1 # encoding: [0x01,0x01,0x40,0x25]389# CHECK-LE: addiu $1, $zero, 32767 # encoding: [0xff,0x7f,0x01,0x24]390# CHECK-LE: lb $8, 1($1) # encoding: [0x01,0x00,0x28,0x80]391# CHECK-LE: lbu $1, 0($1) # encoding: [0x00,0x00,0x21,0x90]392# CHECK-LE: sll $8, $8, 8 # encoding: [0x00,0x42,0x08,0x00]393# CHECK-LE: or $8, $8, $1 # encoding: [0x25,0x40,0x01,0x01]394 395# Test ULH with immediate offset and a source register operand.396ulh_reg: # CHECK-LABEL: ulh_reg:397 ulh $8, 0($9)398# CHECK-BE: lb $1, 0($9) # encoding: [0x81,0x21,0x00,0x00]399# CHECK-BE: lbu $8, 1($9) # encoding: [0x91,0x28,0x00,0x01]400# CHECK-BE: sll $1, $1, 8 # encoding: [0x00,0x01,0x0a,0x00]401# CHECK-BE: or $8, $8, $1 # encoding: [0x01,0x01,0x40,0x25]402# CHECK-LE: lb $1, 1($9) # encoding: [0x01,0x00,0x21,0x81]403# CHECK-LE: lbu $8, 0($9) # encoding: [0x00,0x00,0x28,0x91]404# CHECK-LE: sll $1, $1, 8 # encoding: [0x00,0x0a,0x01,0x00]405# CHECK-LE: or $8, $8, $1 # encoding: [0x25,0x40,0x01,0x01]406 407 ulh $8, 2($9)408# CHECK-BE: lb $1, 2($9) # encoding: [0x81,0x21,0x00,0x02]409# CHECK-BE: lbu $8, 3($9) # encoding: [0x91,0x28,0x00,0x03]410# CHECK-BE: sll $1, $1, 8 # encoding: [0x00,0x01,0x0a,0x00]411# CHECK-BE: or $8, $8, $1 # encoding: [0x01,0x01,0x40,0x25]412# CHECK-LE: lb $1, 3($9) # encoding: [0x03,0x00,0x21,0x81]413# CHECK-LE: lbu $8, 2($9) # encoding: [0x02,0x00,0x28,0x91]414# CHECK-LE: sll $1, $1, 8 # encoding: [0x00,0x0a,0x01,0x00]415# CHECK-LE: or $8, $8, $1 # encoding: [0x25,0x40,0x01,0x01]416 417 ulh $8, 0x8000($9)418# CHECK-BE: ori $1, $zero, 32768 # encoding: [0x34,0x01,0x80,0x00]419# CHECK-BE: addu $1, $1, $9 # encoding: [0x00,0x29,0x08,0x21]420# CHECK-BE: lb $8, 0($1) # encoding: [0x80,0x28,0x00,0x00]421# CHECK-BE: lbu $1, 1($1) # encoding: [0x90,0x21,0x00,0x01]422# CHECK-BE: sll $8, $8, 8 # encoding: [0x00,0x08,0x42,0x00]423# CHECK-BE: or $8, $8, $1 # encoding: [0x01,0x01,0x40,0x25]424# CHECK-LE: ori $1, $zero, 32768 # encoding: [0x00,0x80,0x01,0x34]425# CHECK-LE: addu $1, $1, $9 # encoding: [0x21,0x08,0x29,0x00]426# CHECK-LE: lb $8, 1($1) # encoding: [0x01,0x00,0x28,0x80]427# CHECK-LE: lbu $1, 0($1) # encoding: [0x00,0x00,0x21,0x90]428# CHECK-LE: sll $8, $8, 8 # encoding: [0x00,0x42,0x08,0x00]429# CHECK-LE: or $8, $8, $1 # encoding: [0x25,0x40,0x01,0x01]430 431 ulh $8, -0x8000($9)432# CHECK-BE: lb $1, -32768($9) # encoding: [0x81,0x21,0x80,0x00]433# CHECK-BE: lbu $8, -32767($9) # encoding: [0x91,0x28,0x80,0x01]434# CHECK-BE: sll $1, $1, 8 # encoding: [0x00,0x01,0x0a,0x00]435# CHECK-BE: or $8, $8, $1 # encoding: [0x01,0x01,0x40,0x25]436# CHECK-LE: lb $1, -32767($9) # encoding: [0x01,0x80,0x21,0x81]437# CHECK-LE: lbu $8, -32768($9) # encoding: [0x00,0x80,0x28,0x91]438# CHECK-LE: sll $1, $1, 8 # encoding: [0x00,0x0a,0x01,0x00]439# CHECK-LE: or $8, $8, $1 # encoding: [0x25,0x40,0x01,0x01]440 441 ulh $8, 0x10000($9)442# CHECK-BE: lui $1, 1 # encoding: [0x3c,0x01,0x00,0x01]443# CHECK-BE: addu $1, $1, $9 # encoding: [0x00,0x29,0x08,0x21]444# CHECK-BE: lb $8, 0($1) # encoding: [0x80,0x28,0x00,0x00]445# CHECK-BE: lbu $1, 1($1) # encoding: [0x90,0x21,0x00,0x01]446# CHECK-BE: sll $8, $8, 8 # encoding: [0x00,0x08,0x42,0x00]447# CHECK-BE: or $8, $8, $1 # encoding: [0x01,0x01,0x40,0x25]448# CHECK-LE: lui $1, 1 # encoding: [0x01,0x00,0x01,0x3c]449# CHECK-LE: addu $1, $1, $9 # encoding: [0x21,0x08,0x29,0x00]450# CHECK-LE: lb $8, 1($1) # encoding: [0x01,0x00,0x28,0x80]451# CHECK-LE: lbu $1, 0($1) # encoding: [0x00,0x00,0x21,0x90]452# CHECK-LE: sll $8, $8, 8 # encoding: [0x00,0x42,0x08,0x00]453# CHECK-LE: or $8, $8, $1 # encoding: [0x25,0x40,0x01,0x01]454 455 ulh $8, 0x18888($9)456# CHECK-BE: lui $1, 1 # encoding: [0x3c,0x01,0x00,0x01]457# CHECK-BE: ori $1, $1, 34952 # encoding: [0x34,0x21,0x88,0x88]458# CHECK-BE: addu $1, $1, $9 # encoding: [0x00,0x29,0x08,0x21]459# CHECK-BE: lb $8, 0($1) # encoding: [0x80,0x28,0x00,0x00]460# CHECK-BE: lbu $1, 1($1) # encoding: [0x90,0x21,0x00,0x01]461# CHECK-BE: sll $8, $8, 8 # encoding: [0x00,0x08,0x42,0x00]462# CHECK-BE: or $8, $8, $1 # encoding: [0x01,0x01,0x40,0x25]463# CHECK-LE: lui $1, 1 # encoding: [0x01,0x00,0x01,0x3c]464# CHECK-LE: ori $1, $1, 34952 # encoding: [0x88,0x88,0x21,0x34]465# CHECK-LE: addu $1, $1, $9 # encoding: [0x21,0x08,0x29,0x00]466# CHECK-LE: lb $8, 1($1) # encoding: [0x01,0x00,0x28,0x80]467# CHECK-LE: lbu $1, 0($1) # encoding: [0x00,0x00,0x21,0x90]468# CHECK-LE: sll $8, $8, 8 # encoding: [0x00,0x42,0x08,0x00]469# CHECK-LE: or $8, $8, $1 # encoding: [0x25,0x40,0x01,0x01]470 471 ulh $8, -32769($9)472# CHECK-BE: lui $1, 65535 # encoding: [0x3c,0x01,0xff,0xff]473# CHECK-BE: ori $1, $1, 32767 # encoding: [0x34,0x21,0x7f,0xff]474# CHECK-BE: addu $1, $1, $9 # encoding: [0x00,0x29,0x08,0x21]475# CHECK-BE: lb $8, 0($1) # encoding: [0x80,0x28,0x00,0x00]476# CHECK-BE: lbu $1, 1($1) # encoding: [0x90,0x21,0x00,0x01]477# CHECK-BE: sll $8, $8, 8 # encoding: [0x00,0x08,0x42,0x00]478# CHECK-BE: or $8, $8, $1 # encoding: [0x01,0x01,0x40,0x25]479# CHECK-LE: lui $1, 65535 # encoding: [0xff,0xff,0x01,0x3c]480# CHECK-LE: ori $1, $1, 32767 # encoding: [0xff,0x7f,0x21,0x34]481# CHECK-LE: addu $1, $1, $9 # encoding: [0x21,0x08,0x29,0x00]482# CHECK-LE: lb $8, 1($1) # encoding: [0x01,0x00,0x28,0x80]483# CHECK-LE: lbu $1, 0($1) # encoding: [0x00,0x00,0x21,0x90]484# CHECK-LE: sll $8, $8, 8 # encoding: [0x00,0x42,0x08,0x00]485# CHECK-LE: or $8, $8, $1 # encoding: [0x25,0x40,0x01,0x01]486 487 ulh $8, 32767($9)488# CHECK-BE: addiu $1, $9, 32767 # encoding: [0x25,0x21,0x7f,0xff]489# CHECK-BE: lb $8, 0($1) # encoding: [0x80,0x28,0x00,0x00]490# CHECK-BE: lbu $1, 1($1) # encoding: [0x90,0x21,0x00,0x01]491# CHECK-BE: sll $8, $8, 8 # encoding: [0x00,0x08,0x42,0x00]492# CHECK-BE: or $8, $8, $1 # encoding: [0x01,0x01,0x40,0x25]493# CHECK-LE: addiu $1, $9, 32767 # encoding: [0xff,0x7f,0x21,0x25]494# CHECK-LE: lb $8, 1($1) # encoding: [0x01,0x00,0x28,0x80]495# CHECK-LE: lbu $1, 0($1) # encoding: [0x00,0x00,0x21,0x90]496# CHECK-LE: sll $8, $8, 8 # encoding: [0x00,0x42,0x08,0x00]497# CHECK-LE: or $8, $8, $1 # encoding: [0x25,0x40,0x01,0x01]498 499# Test ULHU with immediate operand.500ulhu_imm: # CHECK-LABEL: ulhu_imm:501 ulhu $8, 0502# CHECK-BE: lbu $1, 0($zero) # encoding: [0x90,0x01,0x00,0x00]503# CHECK-BE: lbu $8, 1($zero) # encoding: [0x90,0x08,0x00,0x01]504# CHECK-BE: sll $1, $1, 8 # encoding: [0x00,0x01,0x0a,0x00]505# CHECK-BE: or $8, $8, $1 # encoding: [0x01,0x01,0x40,0x25]506# CHECK-LE: lbu $1, 1($zero) # encoding: [0x01,0x00,0x01,0x90]507# CHECK-LE: lbu $8, 0($zero) # encoding: [0x00,0x00,0x08,0x90]508# CHECK-LE: sll $1, $1, 8 # encoding: [0x00,0x0a,0x01,0x00]509# CHECK-LE: or $8, $8, $1 # encoding: [0x25,0x40,0x01,0x01]510 511 ulhu $8, 2512# CHECK-BE: lbu $1, 2($zero) # encoding: [0x90,0x01,0x00,0x02]513# CHECK-BE: lbu $8, 3($zero) # encoding: [0x90,0x08,0x00,0x03]514# CHECK-BE: sll $1, $1, 8 # encoding: [0x00,0x01,0x0a,0x00]515# CHECK-BE: or $8, $8, $1 # encoding: [0x01,0x01,0x40,0x25]516# CHECK-LE: lbu $1, 3($zero) # encoding: [0x03,0x00,0x01,0x90]517# CHECK-LE: lbu $8, 2($zero) # encoding: [0x02,0x00,0x08,0x90]518# CHECK-LE: sll $1, $1, 8 # encoding: [0x00,0x0a,0x01,0x00]519# CHECK-LE: or $8, $8, $1 # encoding: [0x25,0x40,0x01,0x01]520 521 ulhu $8, 0x8000522# CHECK-BE: ori $1, $zero, 32768 # encoding: [0x34,0x01,0x80,0x00]523# CHECK-BE: lbu $8, 0($1) # encoding: [0x90,0x28,0x00,0x00]524# CHECK-BE: lbu $1, 1($1) # encoding: [0x90,0x21,0x00,0x01]525# CHECK-BE: sll $8, $8, 8 # encoding: [0x00,0x08,0x42,0x00]526# CHECK-BE: or $8, $8, $1 # encoding: [0x01,0x01,0x40,0x25]527# CHECK-LE: ori $1, $zero, 32768 # encoding: [0x00,0x80,0x01,0x34]528# CHECK-LE: lbu $8, 1($1) # encoding: [0x01,0x00,0x28,0x90]529# CHECK-LE: lbu $1, 0($1) # encoding: [0x00,0x00,0x21,0x90]530# CHECK-LE: sll $8, $8, 8 # encoding: [0x00,0x42,0x08,0x00]531# CHECK-LE: or $8, $8, $1 # encoding: [0x25,0x40,0x01,0x01]532 533 ulhu $8, -0x8000534# CHECK-BE: lbu $1, -32768($zero) # encoding: [0x90,0x01,0x80,0x00]535# CHECK-BE: lbu $8, -32767($zero) # encoding: [0x90,0x08,0x80,0x01]536# CHECK-BE: sll $1, $1, 8 # encoding: [0x00,0x01,0x0a,0x00]537# CHECK-BE: or $8, $8, $1 # encoding: [0x01,0x01,0x40,0x25]538# CHECK-LE: lbu $1, -32767($zero) # encoding: [0x01,0x80,0x01,0x90]539# CHECK-LE: lbu $8, -32768($zero) # encoding: [0x00,0x80,0x08,0x90]540# CHECK-LE: sll $1, $1, 8 # encoding: [0x00,0x0a,0x01,0x00]541# CHECK-LE: or $8, $8, $1 # encoding: [0x25,0x40,0x01,0x01]542 543 ulhu $8, 0x10000544# CHECK-BE: lui $1, 1 # encoding: [0x3c,0x01,0x00,0x01]545# CHECK-BE: lbu $8, 0($1) # encoding: [0x90,0x28,0x00,0x00]546# CHECK-BE: lbu $1, 1($1) # encoding: [0x90,0x21,0x00,0x01]547# CHECK-BE: sll $8, $8, 8 # encoding: [0x00,0x08,0x42,0x00]548# CHECK-BE: or $8, $8, $1 # encoding: [0x01,0x01,0x40,0x25]549# CHECK-LE: lui $1, 1 # encoding: [0x01,0x00,0x01,0x3c]550# CHECK-LE: lbu $8, 1($1) # encoding: [0x01,0x00,0x28,0x90]551# CHECK-LE: lbu $1, 0($1) # encoding: [0x00,0x00,0x21,0x90]552# CHECK-LE: sll $8, $8, 8 # encoding: [0x00,0x42,0x08,0x00]553# CHECK-LE: or $8, $8, $1 # encoding: [0x25,0x40,0x01,0x01]554 555 ulhu $8, 0x18888556# CHECK-BE: lui $1, 1 # encoding: [0x3c,0x01,0x00,0x01]557# CHECK-BE: ori $1, $1, 34952 # encoding: [0x34,0x21,0x88,0x88]558# CHECK-BE: lbu $8, 0($1) # encoding: [0x90,0x28,0x00,0x00]559# CHECK-BE: lbu $1, 1($1) # encoding: [0x90,0x21,0x00,0x01]560# CHECK-BE: sll $8, $8, 8 # encoding: [0x00,0x08,0x42,0x00]561# CHECK-BE: or $8, $8, $1 # encoding: [0x01,0x01,0x40,0x25]562# CHECK-LE: lui $1, 1 # encoding: [0x01,0x00,0x01,0x3c]563# CHECK-LE: ori $1, $1, 34952 # encoding: [0x88,0x88,0x21,0x34]564# CHECK-LE: lbu $8, 1($1) # encoding: [0x01,0x00,0x28,0x90]565# CHECK-LE: lbu $1, 0($1) # encoding: [0x00,0x00,0x21,0x90]566# CHECK-LE: sll $8, $8, 8 # encoding: [0x00,0x42,0x08,0x00]567# CHECK-LE: or $8, $8, $1 # encoding: [0x25,0x40,0x01,0x01]568 569 ulhu $8, -32769570# CHECK-BE: lui $1, 65535 # encoding: [0x3c,0x01,0xff,0xff]571# CHECK-BE: ori $1, $1, 32767 # encoding: [0x34,0x21,0x7f,0xff]572# CHECK-BE: lbu $8, 0($1) # encoding: [0x90,0x28,0x00,0x00]573# CHECK-BE: lbu $1, 1($1) # encoding: [0x90,0x21,0x00,0x01]574# CHECK-BE: sll $8, $8, 8 # encoding: [0x00,0x08,0x42,0x00]575# CHECK-BE: or $8, $8, $1 # encoding: [0x01,0x01,0x40,0x25]576# CHECK-LE: lui $1, 65535 # encoding: [0xff,0xff,0x01,0x3c]577# CHECK-LE: ori $1, $1, 32767 # encoding: [0xff,0x7f,0x21,0x34]578# CHECK-LE: lbu $8, 1($1) # encoding: [0x01,0x00,0x28,0x90]579# CHECK-LE: lbu $1, 0($1) # encoding: [0x00,0x00,0x21,0x90]580# CHECK-LE: sll $8, $8, 8 # encoding: [0x00,0x42,0x08,0x00]581# CHECK-LE: or $8, $8, $1 # encoding: [0x25,0x40,0x01,0x01]582 583 ulhu $8, 32767584# CHECK-BE: addiu $1, $zero, 32767 # encoding: [0x24,0x01,0x7f,0xff]585# CHECK-BE: lbu $8, 0($1) # encoding: [0x90,0x28,0x00,0x00]586# CHECK-BE: lbu $1, 1($1) # encoding: [0x90,0x21,0x00,0x01]587# CHECK-BE: sll $8, $8, 8 # encoding: [0x00,0x08,0x42,0x00]588# CHECK-BE: or $8, $8, $1 # encoding: [0x01,0x01,0x40,0x25]589# CHECK-LE: addiu $1, $zero, 32767 # encoding: [0xff,0x7f,0x01,0x24]590# CHECK-LE: lbu $8, 1($1) # encoding: [0x01,0x00,0x28,0x90]591# CHECK-LE: lbu $1, 0($1) # encoding: [0x00,0x00,0x21,0x90]592# CHECK-LE: sll $8, $8, 8 # encoding: [0x00,0x42,0x08,0x00]593# CHECK-LE: or $8, $8, $1 # encoding: [0x25,0x40,0x01,0x01]594 595# Test ULHU with immediate offset and a source register operand.596 ulhu $8, 0($9)597# CHECK-BE: lbu $1, 0($9) # encoding: [0x91,0x21,0x00,0x00]598# CHECK-BE: lbu $8, 1($9) # encoding: [0x91,0x28,0x00,0x01]599# CHECK-BE: sll $1, $1, 8 # encoding: [0x00,0x01,0x0a,0x00]600# CHECK-BE: or $8, $8, $1 # encoding: [0x01,0x01,0x40,0x25]601# CHECK-LE: lbu $1, 1($9) # encoding: [0x01,0x00,0x21,0x91]602# CHECK-LE: lbu $8, 0($9) # encoding: [0x00,0x00,0x28,0x91]603# CHECK-LE: sll $1, $1, 8 # encoding: [0x00,0x0a,0x01,0x00]604# CHECK-LE: or $8, $8, $1 # encoding: [0x25,0x40,0x01,0x01]605 606 ulhu $8, 2($9)607# CHECK-BE: lbu $1, 2($9) # encoding: [0x91,0x21,0x00,0x02]608# CHECK-BE: lbu $8, 3($9) # encoding: [0x91,0x28,0x00,0x03]609# CHECK-BE: sll $1, $1, 8 # encoding: [0x00,0x01,0x0a,0x00]610# CHECK-BE: or $8, $8, $1 # encoding: [0x01,0x01,0x40,0x25]611# CHECK-LE: lbu $1, 3($9) # encoding: [0x03,0x00,0x21,0x91]612# CHECK-LE: lbu $8, 2($9) # encoding: [0x02,0x00,0x28,0x91]613# CHECK-LE: sll $1, $1, 8 # encoding: [0x00,0x0a,0x01,0x00]614# CHECK-LE: or $8, $8, $1 # encoding: [0x25,0x40,0x01,0x01]615 616 ulhu $8, 0x8000($9)617# CHECK-BE: ori $1, $zero, 32768 # encoding: [0x34,0x01,0x80,0x00]618# CHECK-BE: addu $1, $1, $9 # encoding: [0x00,0x29,0x08,0x21]619# CHECK-BE: lbu $8, 0($1) # encoding: [0x90,0x28,0x00,0x00]620# CHECK-BE: lbu $1, 1($1) # encoding: [0x90,0x21,0x00,0x01]621# CHECK-BE: sll $8, $8, 8 # encoding: [0x00,0x08,0x42,0x00]622# CHECK-BE: or $8, $8, $1 # encoding: [0x01,0x01,0x40,0x25]623# CHECK-LE: ori $1, $zero, 32768 # encoding: [0x00,0x80,0x01,0x34]624# CHECK-LE: addu $1, $1, $9 # encoding: [0x21,0x08,0x29,0x00]625# CHECK-LE: lbu $8, 1($1) # encoding: [0x01,0x00,0x28,0x90]626# CHECK-LE: lbu $1, 0($1) # encoding: [0x00,0x00,0x21,0x90]627# CHECK-LE: sll $8, $8, 8 # encoding: [0x00,0x42,0x08,0x00]628# CHECK-LE: or $8, $8, $1 # encoding: [0x25,0x40,0x01,0x01]629 630 ulhu $8, -0x8000($9)631# CHECK-BE: lbu $1, -32768($9) # encoding: [0x91,0x21,0x80,0x00]632# CHECK-BE: lbu $8, -32767($9) # encoding: [0x91,0x28,0x80,0x01]633# CHECK-BE: sll $1, $1, 8 # encoding: [0x00,0x01,0x0a,0x00]634# CHECK-BE: or $8, $8, $1 # encoding: [0x01,0x01,0x40,0x25]635# CHECK-LE: lbu $1, -32767($9) # encoding: [0x01,0x80,0x21,0x91]636# CHECK-LE: lbu $8, -32768($9) # encoding: [0x00,0x80,0x28,0x91]637# CHECK-LE: sll $1, $1, 8 # encoding: [0x00,0x0a,0x01,0x00]638# CHECK-LE: or $8, $8, $1 # encoding: [0x25,0x40,0x01,0x01]639 640 ulhu $8, 0x10000($9)641# CHECK-BE: lui $1, 1 # encoding: [0x3c,0x01,0x00,0x01]642# CHECK-BE: addu $1, $1, $9 # encoding: [0x00,0x29,0x08,0x21]643# CHECK-BE: lbu $8, 0($1) # encoding: [0x90,0x28,0x00,0x00]644# CHECK-BE: lbu $1, 1($1) # encoding: [0x90,0x21,0x00,0x01]645# CHECK-BE: sll $8, $8, 8 # encoding: [0x00,0x08,0x42,0x00]646# CHECK-BE: or $8, $8, $1 # encoding: [0x01,0x01,0x40,0x25]647# CHECK-LE: lui $1, 1 # encoding: [0x01,0x00,0x01,0x3c]648# CHECK-LE: addu $1, $1, $9 # encoding: [0x21,0x08,0x29,0x00]649# CHECK-LE: lbu $8, 1($1) # encoding: [0x01,0x00,0x28,0x90]650# CHECK-LE: lbu $1, 0($1) # encoding: [0x00,0x00,0x21,0x90]651# CHECK-LE: sll $8, $8, 8 # encoding: [0x00,0x42,0x08,0x00]652# CHECK-LE: or $8, $8, $1 # encoding: [0x25,0x40,0x01,0x01]653 654 ulhu $8, 0x18888($9)655# CHECK-BE: lui $1, 1 # encoding: [0x3c,0x01,0x00,0x01]656# CHECK-BE: ori $1, $1, 34952 # encoding: [0x34,0x21,0x88,0x88]657# CHECK-BE: addu $1, $1, $9 # encoding: [0x00,0x29,0x08,0x21]658# CHECK-BE: lbu $8, 0($1) # encoding: [0x90,0x28,0x00,0x00]659# CHECK-BE: lbu $1, 1($1) # encoding: [0x90,0x21,0x00,0x01]660# CHECK-BE: sll $8, $8, 8 # encoding: [0x00,0x08,0x42,0x00]661# CHECK-BE: or $8, $8, $1 # encoding: [0x01,0x01,0x40,0x25]662# CHECK-LE: lui $1, 1 # encoding: [0x01,0x00,0x01,0x3c]663# CHECK-LE: ori $1, $1, 34952 # encoding: [0x88,0x88,0x21,0x34]664# CHECK-LE: addu $1, $1, $9 # encoding: [0x21,0x08,0x29,0x00]665# CHECK-LE: lbu $8, 1($1) # encoding: [0x01,0x00,0x28,0x90]666# CHECK-LE: lbu $1, 0($1) # encoding: [0x00,0x00,0x21,0x90]667# CHECK-LE: sll $8, $8, 8 # encoding: [0x00,0x42,0x08,0x00]668# CHECK-LE: or $8, $8, $1 # encoding: [0x25,0x40,0x01,0x01]669 670 ulhu $8, -32769($9)671# CHECK-BE: lui $1, 65535 # encoding: [0x3c,0x01,0xff,0xff]672# CHECK-BE: ori $1, $1, 32767 # encoding: [0x34,0x21,0x7f,0xff]673# CHECK-BE: addu $1, $1, $9 # encoding: [0x00,0x29,0x08,0x21]674# CHECK-BE: lbu $8, 0($1) # encoding: [0x90,0x28,0x00,0x00]675# CHECK-BE: lbu $1, 1($1) # encoding: [0x90,0x21,0x00,0x01]676# CHECK-BE: sll $8, $8, 8 # encoding: [0x00,0x08,0x42,0x00]677# CHECK-BE: or $8, $8, $1 # encoding: [0x01,0x01,0x40,0x25]678# CHECK-LE: lui $1, 65535 # encoding: [0xff,0xff,0x01,0x3c]679# CHECK-LE: ori $1, $1, 32767 # encoding: [0xff,0x7f,0x21,0x34]680# CHECK-LE: addu $1, $1, $9 # encoding: [0x21,0x08,0x29,0x00]681# CHECK-LE: lbu $8, 1($1) # encoding: [0x01,0x00,0x28,0x90]682# CHECK-LE: lbu $1, 0($1) # encoding: [0x00,0x00,0x21,0x90]683# CHECK-LE: sll $8, $8, 8 # encoding: [0x00,0x42,0x08,0x00]684# CHECK-LE: or $8, $8, $1 # encoding: [0x25,0x40,0x01,0x01]685 686 ulhu $8, 32767($9)687# CHECK-BE: addiu $1, $9, 32767 # encoding: [0x25,0x21,0x7f,0xff]688# CHECK-BE: lbu $8, 0($1) # encoding: [0x90,0x28,0x00,0x00]689# CHECK-BE: lbu $1, 1($1) # encoding: [0x90,0x21,0x00,0x01]690# CHECK-BE: sll $8, $8, 8 # encoding: [0x00,0x08,0x42,0x00]691# CHECK-BE: or $8, $8, $1 # encoding: [0x01,0x01,0x40,0x25]692# CHECK-LE: addiu $1, $9, 32767 # encoding: [0xff,0x7f,0x21,0x25]693# CHECK-LE: lbu $8, 1($1) # encoding: [0x01,0x00,0x28,0x90]694# CHECK-LE: lbu $1, 0($1) # encoding: [0x00,0x00,0x21,0x90]695# CHECK-LE: sll $8, $8, 8 # encoding: [0x00,0x42,0x08,0x00]696# CHECK-LE: or $8, $8, $1 # encoding: [0x25,0x40,0x01,0x01]697 698# Test ULW with immediate operand.699 ulw $8, 0700# CHECK-BE: lwl $8, 0($zero) # encoding: [0x88,0x08,0x00,0x00]701# CHECK-BE: lwr $8, 3($zero) # encoding: [0x98,0x08,0x00,0x03]702# CHECK-LE: lwl $8, 3($zero) # encoding: [0x03,0x00,0x08,0x88]703# CHECK-LE: lwr $8, 0($zero) # encoding: [0x00,0x00,0x08,0x98]704 705 ulw $8, 2706# CHECK-BE: lwl $8, 2($zero) # encoding: [0x88,0x08,0x00,0x02]707# CHECK-BE: lwr $8, 5($zero) # encoding: [0x98,0x08,0x00,0x05]708# CHECK-LE: lwl $8, 5($zero) # encoding: [0x05,0x00,0x08,0x88]709# CHECK-LE: lwr $8, 2($zero) # encoding: [0x02,0x00,0x08,0x98]710 711 ulw $8, 0x8000712# CHECK-BE: ori $1, $zero, 32768 # encoding: [0x34,0x01,0x80,0x00]713# CHECK-BE: lwl $8, 0($1) # encoding: [0x88,0x28,0x00,0x00]714# CHECK-BE: lwr $8, 3($1) # encoding: [0x98,0x28,0x00,0x03]715# CHECK-LE: ori $1, $zero, 32768 # encoding: [0x00,0x80,0x01,0x34]716# CHECK-LE: lwl $8, 3($1) # encoding: [0x03,0x00,0x28,0x88]717# CHECK-LE: lwr $8, 0($1) # encoding: [0x00,0x00,0x28,0x98]718 719 ulw $8, -0x8000720# CHECK-BE: lwl $8, -32768($zero) # encoding: [0x88,0x08,0x80,0x00]721# CHECK-BE: lwr $8, -32765($zero) # encoding: [0x98,0x08,0x80,0x03]722# CHECK-LE: lwl $8, -32765($zero) # encoding: [0x03,0x80,0x08,0x88]723# CHECK-LE: lwr $8, -32768($zero) # encoding: [0x00,0x80,0x08,0x98]724 725 ulw $8, 0x10000726# CHECK-BE: lui $1, 1 # encoding: [0x3c,0x01,0x00,0x01]727# CHECK-BE: lwl $8, 0($1) # encoding: [0x88,0x28,0x00,0x00]728# CHECK-BE: lwr $8, 3($1) # encoding: [0x98,0x28,0x00,0x03]729# CHECK-LE: lui $1, 1 # encoding: [0x01,0x00,0x01,0x3c]730# CHECK-LE: lwl $8, 3($1) # encoding: [0x03,0x00,0x28,0x88]731# CHECK-LE: lwr $8, 0($1) # encoding: [0x00,0x00,0x28,0x98]732 733 ulw $8, 0x18888734# CHECK-BE: lui $1, 1 # encoding: [0x3c,0x01,0x00,0x01]735# CHECK-BE: ori $1, $1, 34952 # encoding: [0x34,0x21,0x88,0x88]736# CHECK-BE: lwl $8, 0($1) # encoding: [0x88,0x28,0x00,0x00]737# CHECK-BE: lwr $8, 3($1) # encoding: [0x98,0x28,0x00,0x03]738# CHECK-LE: lui $1, 1 # encoding: [0x01,0x00,0x01,0x3c]739# CHECK-LE: ori $1, $1, 34952 # encoding: [0x88,0x88,0x21,0x34]740# CHECK-LE: lwl $8, 3($1) # encoding: [0x03,0x00,0x28,0x88]741# CHECK-LE: lwr $8, 0($1) # encoding: [0x00,0x00,0x28,0x98]742 743 ulw $8, -32771744# CHECK-BE: lui $1, 65535 # encoding: [0x3c,0x01,0xff,0xff]745# CHECK-BE: ori $1, $1, 32765 # encoding: [0x34,0x21,0x7f,0xfd]746# CHECK-BE: lwl $8, 0($1) # encoding: [0x88,0x28,0x00,0x00]747# CHECK-BE: lwr $8, 3($1) # encoding: [0x98,0x28,0x00,0x03]748# CHECK-LE: lui $1, 65535 # encoding: [0xff,0xff,0x01,0x3c]749# CHECK-LE: ori $1, $1, 32765 # encoding: [0xfd,0x7f,0x21,0x34]750# CHECK-LE: lwl $8, 3($1) # encoding: [0x03,0x00,0x28,0x88]751# CHECK-LE: lwr $8, 0($1) # encoding: [0x00,0x00,0x28,0x98]752 753 ulw $8, 32765754# CHECK-BE: addiu $1, $zero, 32765 # encoding: [0x24,0x01,0x7f,0xfd]755# CHECK-BE: lwl $8, 0($1) # encoding: [0x88,0x28,0x00,0x00]756# CHECK-BE: lwr $8, 3($1) # encoding: [0x98,0x28,0x00,0x03]757# CHECK-LE: addiu $1, $zero, 32765 # encoding: [0xfd,0x7f,0x01,0x24]758# CHECK-LE: lwl $8, 3($1) # encoding: [0x03,0x00,0x28,0x88]759# CHECK-LE: lwr $8, 0($1) # encoding: [0x00,0x00,0x28,0x98]760 761# Test ULW with immediate offset and a source register operand.762 ulw $8, 0($9)763# CHECK-BE: lwl $8, 0($9) # encoding: [0x89,0x28,0x00,0x00]764# CHECK-BE: lwr $8, 3($9) # encoding: [0x99,0x28,0x00,0x03]765# CHECK-LE: lwl $8, 3($9) # encoding: [0x03,0x00,0x28,0x89]766# CHECK-LE: lwr $8, 0($9) # encoding: [0x00,0x00,0x28,0x99]767 768 ulw $8, 2($9)769# CHECK-BE: lwl $8, 2($9) # encoding: [0x89,0x28,0x00,0x02]770# CHECK-BE: lwr $8, 5($9) # encoding: [0x99,0x28,0x00,0x05]771# CHECK-LE: lwl $8, 5($9) # encoding: [0x05,0x00,0x28,0x89]772# CHECK-LE: lwr $8, 2($9) # encoding: [0x02,0x00,0x28,0x99]773 774 ulw $8, 0x8000($9)775# CHECK-BE: ori $1, $zero, 32768 # encoding: [0x34,0x01,0x80,0x00]776# CHECK-BE: addu $1, $1, $9 # encoding: [0x00,0x29,0x08,0x21]777# CHECK-BE: lwl $8, 0($1) # encoding: [0x88,0x28,0x00,0x00]778# CHECK-BE: lwr $8, 3($1) # encoding: [0x98,0x28,0x00,0x03]779# CHECK-LE: ori $1, $zero, 32768 # encoding: [0x00,0x80,0x01,0x34]780# CHECK-LE: addu $1, $1, $9 # encoding: [0x21,0x08,0x29,0x00]781# CHECK-LE: lwl $8, 3($1) # encoding: [0x03,0x00,0x28,0x88]782# CHECK-LE: lwr $8, 0($1) # encoding: [0x00,0x00,0x28,0x98]783 784 ulw $8, -0x8000($9)785# CHECK-BE: lwl $8, -32768($9) # encoding: [0x89,0x28,0x80,0x00]786# CHECK-BE: lwr $8, -32765($9) # encoding: [0x99,0x28,0x80,0x03]787# CHECK-LE: lwl $8, -32765($9) # encoding: [0x03,0x80,0x28,0x89]788# CHECK-LE: lwr $8, -32768($9) # encoding: [0x00,0x80,0x28,0x99]789 790 ulw $8, 0x10000($9)791# CHECK-BE: lui $1, 1 # encoding: [0x3c,0x01,0x00,0x01]792# CHECK-BE: addu $1, $1, $9 # encoding: [0x00,0x29,0x08,0x21]793# CHECK-BE: lwl $8, 0($1) # encoding: [0x88,0x28,0x00,0x00]794# CHECK-BE: lwr $8, 3($1) # encoding: [0x98,0x28,0x00,0x03]795# CHECK-LE: lui $1, 1 # encoding: [0x01,0x00,0x01,0x3c]796# CHECK-LE: addu $1, $1, $9 # encoding: [0x21,0x08,0x29,0x00]797# CHECK-LE: lwl $8, 3($1) # encoding: [0x03,0x00,0x28,0x88]798# CHECK-LE: lwr $8, 0($1) # encoding: [0x00,0x00,0x28,0x98]799 800 ulw $8, 0x18888($9)801# CHECK-BE: lui $1, 1 # encoding: [0x3c,0x01,0x00,0x01]802# CHECK-BE: ori $1, $1, 34952 # encoding: [0x34,0x21,0x88,0x88]803# CHECK-BE: addu $1, $1, $9 # encoding: [0x00,0x29,0x08,0x21]804# CHECK-BE: lwl $8, 0($1) # encoding: [0x88,0x28,0x00,0x00]805# CHECK-BE: lwr $8, 3($1) # encoding: [0x98,0x28,0x00,0x03]806# CHECK-LE: lui $1, 1 # encoding: [0x01,0x00,0x01,0x3c]807# CHECK-LE: ori $1, $1, 34952 # encoding: [0x88,0x88,0x21,0x34]808# CHECK-LE: addu $1, $1, $9 # encoding: [0x21,0x08,0x29,0x00]809# CHECK-LE: lwl $8, 3($1) # encoding: [0x03,0x00,0x28,0x88]810# CHECK-LE: lwr $8, 0($1) # encoding: [0x00,0x00,0x28,0x98]811 812 ulw $8, -32771($9)813# CHECK-BE: lui $1, 65535 # encoding: [0x3c,0x01,0xff,0xff]814# CHECK-BE: ori $1, $1, 32765 # encoding: [0x34,0x21,0x7f,0xfd]815# CHECK-BE: addu $1, $1, $9 # encoding: [0x00,0x29,0x08,0x21]816# CHECK-BE: lwl $8, 0($1) # encoding: [0x88,0x28,0x00,0x00]817# CHECK-BE: lwr $8, 3($1) # encoding: [0x98,0x28,0x00,0x03]818# CHECK-LE: lui $1, 65535 # encoding: [0xff,0xff,0x01,0x3c]819# CHECK-LE: ori $1, $1, 32765 # encoding: [0xfd,0x7f,0x21,0x34]820# CHECK-LE: addu $1, $1, $9 # encoding: [0x21,0x08,0x29,0x00]821# CHECK-LE: lwl $8, 3($1) # encoding: [0x03,0x00,0x28,0x88]822# CHECK-LE: lwr $8, 0($1) # encoding: [0x00,0x00,0x28,0x98]823 824 ulw $8, 32765($9)825# CHECK-BE: addiu $1, $9, 32765 # encoding: [0x25,0x21,0x7f,0xfd]826# CHECK-BE: lwl $8, 0($1) # encoding: [0x88,0x28,0x00,0x00]827# CHECK-BE: lwr $8, 3($1) # encoding: [0x98,0x28,0x00,0x03]828# CHECK-LE: addiu $1, $9, 32765 # encoding: [0xfd,0x7f,0x21,0x25]829# CHECK-LE: lwl $8, 3($1) # encoding: [0x03,0x00,0x28,0x88]830# CHECK-LE: lwr $8, 0($1) # encoding: [0x00,0x00,0x28,0x98]831 832 ulw $8, 0($8)833# CHECK-BE: lwl $1, 0($8) # encoding: [0x89,0x01,0x00,0x00]834# CHECK-BE: lwr $1, 3($8) # encoding: [0x99,0x01,0x00,0x03]835# CHECK-BE: move $8, $1 # encoding: [0x00,0x20,0x40,0x25]836# CHECK-LE: lwl $1, 3($8) # encoding: [0x03,0x00,0x01,0x89]837# CHECK-LE: lwr $1, 0($8) # encoding: [0x00,0x00,0x01,0x99]838# CHECK-LE: move $8, $1 # encoding: [0x25,0x40,0x20,0x00]839 840 ulw $8, 2($8)841# CHECK-BE: lwl $1, 2($8) # encoding: [0x89,0x01,0x00,0x02]842# CHECK-BE: lwr $1, 5($8) # encoding: [0x99,0x01,0x00,0x05]843# CHECK-BE: move $8, $1 # encoding: [0x00,0x20,0x40,0x25]844# CHECK-LE: lwl $1, 5($8) # encoding: [0x05,0x00,0x01,0x89]845# CHECK-LE: lwr $1, 2($8) # encoding: [0x02,0x00,0x01,0x99]846# CHECK-LE: move $8, $1 # encoding: [0x25,0x40,0x20,0x00]847 848 ulw $8, 0x8000($8)849# CHECK-BE: ori $1, $zero, 32768 # encoding: [0x34,0x01,0x80,0x00]850# CHECK-BE: addu $1, $1, $8 # encoding: [0x00,0x28,0x08,0x21]851# CHECK-BE: lwl $8, 0($1) # encoding: [0x88,0x28,0x00,0x00]852# CHECK-BE: lwr $8, 3($1) # encoding: [0x98,0x28,0x00,0x03]853# CHECK-LE: ori $1, $zero, 32768 # encoding: [0x00,0x80,0x01,0x34]854# CHECK-LE: addu $1, $1, $8 # encoding: [0x21,0x08,0x28,0x00]855# CHECK-LE: lwl $8, 3($1) # encoding: [0x03,0x00,0x28,0x88]856# CHECK-LE: lwr $8, 0($1) # encoding: [0x00,0x00,0x28,0x98]857 858 ulw $8, -0x8000($8)859# CHECK-BE: lwl $1, -32768($8) # encoding: [0x89,0x01,0x80,0x00]860# CHECK-BE: lwr $1, -32765($8) # encoding: [0x99,0x01,0x80,0x03]861# CHECK-BE: move $8, $1 # encoding: [0x00,0x20,0x40,0x25]862# CHECK-LE: lwl $1, -32765($8) # encoding: [0x03,0x80,0x01,0x89]863# CHECK-LE: lwr $1, -32768($8) # encoding: [0x00,0x80,0x01,0x99]864# CHECK-LE: move $8, $1 # encoding: [0x25,0x40,0x20,0x00]865 866 ulw $8, 0x10000($8)867# CHECK-BE: lui $1, 1 # encoding: [0x3c,0x01,0x00,0x01]868# CHECK-BE: addu $1, $1, $8 # encoding: [0x00,0x28,0x08,0x21]869# CHECK-BE: lwl $8, 0($1) # encoding: [0x88,0x28,0x00,0x00]870# CHECK-BE: lwr $8, 3($1) # encoding: [0x98,0x28,0x00,0x03]871# CHECK-LE: lui $1, 1 # encoding: [0x01,0x00,0x01,0x3c]872# CHECK-LE: addu $1, $1, $8 # encoding: [0x21,0x08,0x28,0x00]873# CHECK-LE: lwl $8, 3($1) # encoding: [0x03,0x00,0x28,0x88]874# CHECK-LE: lwr $8, 0($1) # encoding: [0x00,0x00,0x28,0x98]875 876 ulw $8, 0x18888($8)877# CHECK-BE: lui $1, 1 # encoding: [0x3c,0x01,0x00,0x01]878# CHECK-BE: ori $1, $1, 34952 # encoding: [0x34,0x21,0x88,0x88]879# CHECK-BE: addu $1, $1, $8 # encoding: [0x00,0x28,0x08,0x21]880# CHECK-BE: lwl $8, 0($1) # encoding: [0x88,0x28,0x00,0x00]881# CHECK-BE: lwr $8, 3($1) # encoding: [0x98,0x28,0x00,0x03]882# CHECK-LE: lui $1, 1 # encoding: [0x01,0x00,0x01,0x3c]883# CHECK-LE: ori $1, $1, 34952 # encoding: [0x88,0x88,0x21,0x34]884# CHECK-LE: addu $1, $1, $8 # encoding: [0x21,0x08,0x28,0x00]885# CHECK-LE: lwl $8, 3($1) # encoding: [0x03,0x00,0x28,0x88]886# CHECK-LE: lwr $8, 0($1) # encoding: [0x00,0x00,0x28,0x98]887 888 ulw $8, -32771($8)889# CHECK-BE: lui $1, 65535 # encoding: [0x3c,0x01,0xff,0xff]890# CHECK-BE: ori $1, $1, 32765 # encoding: [0x34,0x21,0x7f,0xfd]891# CHECK-BE: addu $1, $1, $8 # encoding: [0x00,0x28,0x08,0x21]892# CHECK-BE: lwl $8, 0($1) # encoding: [0x88,0x28,0x00,0x00]893# CHECK-BE: lwr $8, 3($1) # encoding: [0x98,0x28,0x00,0x03]894# CHECK-LE: lui $1, 65535 # encoding: [0xff,0xff,0x01,0x3c]895# CHECK-LE: ori $1, $1, 32765 # encoding: [0xfd,0x7f,0x21,0x34]896# CHECK-LE: addu $1, $1, $8 # encoding: [0x21,0x08,0x28,0x00]897# CHECK-LE: lwl $8, 3($1) # encoding: [0x03,0x00,0x28,0x88]898# CHECK-LE: lwr $8, 0($1) # encoding: [0x00,0x00,0x28,0x98]899 900 ulw $8, 32765($8)901# CHECK-BE: addiu $1, $8, 32765 # encoding: [0x25,0x01,0x7f,0xfd]902# CHECK-BE: lwl $8, 0($1) # encoding: [0x88,0x28,0x00,0x00]903# CHECK-BE: lwr $8, 3($1) # encoding: [0x98,0x28,0x00,0x03]904# CHECK-LE: addiu $1, $8, 32765 # encoding: [0xfd,0x7f,0x01,0x25]905# CHECK-LE: lwl $8, 3($1) # encoding: [0x03,0x00,0x28,0x88]906# CHECK-LE: lwr $8, 0($1) # encoding: [0x00,0x00,0x28,0x98]907 908ush_imm: # CHECK-LABEL: ush_imm909 ush $8, 0910 # CHECK-BE: sb $8, 1($zero) # encoding: [0xa0,0x08,0x00,0x01]911 # CHECK-BE: srl $1, $8, 8 # encoding: [0x00,0x08,0x0a,0x02]912 # CHECK-BE: sb $1, 0($zero) # encoding: [0xa0,0x01,0x00,0x00]913 # CHECK-LE: sb $8, 0($zero) # encoding: [0x00,0x00,0x08,0xa0]914 # CHECK-LE: srl $1, $8, 8 # encoding: [0x02,0x0a,0x08,0x00]915 # CHECK-LE: sb $1, 1($zero) # encoding: [0x01,0x00,0x01,0xa0]916 917 ush $8, 2918 # CHECK-BE: sb $8, 3($zero) # encoding: [0xa0,0x08,0x00,0x03]919 # CHECK-BE: srl $1, $8, 8 # encoding: [0x00,0x08,0x0a,0x02]920 # CHECK-BE: sb $1, 2($zero) # encoding: [0xa0,0x01,0x00,0x02]921 # CHECK-LE: sb $8, 2($zero) # encoding: [0x02,0x00,0x08,0xa0]922 # CHECK-LE: srl $1, $8, 8 # encoding: [0x02,0x0a,0x08,0x00]923 # CHECK-LE: sb $1, 3($zero) # encoding: [0x03,0x00,0x01,0xa0]924 925 # FIXME: Remove the identity moves (move $1, $1) coming from loadImmediate926 ush $8, 0x8000927 # CHECK-BE: ori $1, $zero, 32768 # encoding: [0x34,0x01,0x80,0x00]928 # CHECK-BE: move $1, $1 # encoding: [0x00,0x20,0x08,0x21]929 # CHECK-BE: sb $8, 1($1) # encoding: [0xa0,0x28,0x00,0x01]930 # CHECK-BE: srl $8, $8, 8 # encoding: [0x00,0x08,0x42,0x02]931 # CHECK-BE: sb $8, 0($1) # encoding: [0xa0,0x28,0x00,0x00]932 # CHECK-BE: lbu $1, 0($1) # encoding: [0x90,0x21,0x00,0x00]933 # CHECK-BE: sll $8, $8, 8 # encoding: [0x00,0x08,0x42,0x00]934 # CHECK-BE: or $8, $8, $1 # encoding: [0x01,0x01,0x40,0x25]935 # CHECK-LE: ori $1, $zero, 32768 # encoding: [0x00,0x80,0x01,0x34]936 # CHECK-LE: move $1, $1 # encoding: [0x21,0x08,0x20,0x00]937 # CHECK-LE: sb $8, 0($1) # encoding: [0x00,0x00,0x28,0xa0]938 # CHECK-LE: srl $8, $8, 8 # encoding: [0x02,0x42,0x08,0x00]939 # CHECK-LE: sb $8, 1($1) # encoding: [0x01,0x00,0x28,0xa0]940 # CHECK-LE: lbu $1, 0($1) # encoding: [0x00,0x00,0x21,0x90]941 # CHECK-LE: sll $8, $8, 8 # encoding: [0x00,0x42,0x08,0x00]942 # CHECK-LE: or $8, $8, $1 # encoding: [0x25,0x40,0x01,0x01]943 944 ush $8, -0x8000945 # CHECK-BE: sb $8, -32767($zero) # encoding: [0xa0,0x08,0x80,0x01]946 # CHECK-BE: srl $1, $8, 8 # encoding: [0x00,0x08,0x0a,0x02]947 # CHECK-BE: sb $1, -32768($zero) # encoding: [0xa0,0x01,0x80,0x00]948 # CHECK-LE: sb $8, -32768($zero) # encoding: [0x00,0x80,0x08,0xa0]949 # CHECK-LE: srl $1, $8, 8 # encoding: [0x02,0x0a,0x08,0x00]950 # CHECK-LE: sb $1, -32767($zero) # encoding: [0x01,0x80,0x01,0xa0]951 952 # FIXME: Remove the identity moves (move $1, $1) coming from loadImmediate953 ush $8, 0x10000954 # CHECK-BE: lui $1, 1 # encoding: [0x3c,0x01,0x00,0x01]955 # CHECK-BE: move $1, $1 # encoding: [0x00,0x20,0x08,0x21]956 # CHECK-BE: sb $8, 1($1) # encoding: [0xa0,0x28,0x00,0x01]957 # CHECK-BE: srl $8, $8, 8 # encoding: [0x00,0x08,0x42,0x02]958 # CHECK-BE: sb $8, 0($1) # encoding: [0xa0,0x28,0x00,0x00]959 # CHECK-BE: lbu $1, 0($1) # encoding: [0x90,0x21,0x00,0x00]960 # CHECK-BE: sll $8, $8, 8 # encoding: [0x00,0x08,0x42,0x00]961 # CHECK-BE: or $8, $8, $1 # encoding: [0x01,0x01,0x40,0x25]962 # CHECK-LE: lui $1, 1 # encoding: [0x01,0x00,0x01,0x3c]963 # CHECK-LE: move $1, $1 # encoding: [0x21,0x08,0x20,0x00]964 # CHECK-LE: sb $8, 0($1) # encoding: [0x00,0x00,0x28,0xa0]965 # CHECK-LE: srl $8, $8, 8 # encoding: [0x02,0x42,0x08,0x00]966 # CHECK-LE: sb $8, 1($1) # encoding: [0x01,0x00,0x28,0xa0]967 # CHECK-LE: lbu $1, 0($1) # encoding: [0x00,0x00,0x21,0x90]968 # CHECK-LE: sll $8, $8, 8 # encoding: [0x00,0x42,0x08,0x00]969 # CHECK-LE: or $8, $8, $1 # encoding: [0x25,0x40,0x01,0x01]970 971 # FIXME: Remove the identity moves (move $1, $1) coming from loadImmediate972 ush $8, 0x18888973 # CHECK-BE: lui $1, 1 # encoding: [0x3c,0x01,0x00,0x01]974 # CHECK-BE: ori $1, $1, 34952 # encoding: [0x34,0x21,0x88,0x88]975 # CHECK-BE: move $1, $1 # encoding: [0x00,0x20,0x08,0x21]976 # CHECK-BE: sb $8, 1($1) # encoding: [0xa0,0x28,0x00,0x01]977 # CHECK-BE: srl $8, $8, 8 # encoding: [0x00,0x08,0x42,0x02]978 # CHECK-BE: sb $8, 0($1) # encoding: [0xa0,0x28,0x00,0x00]979 # CHECK-BE: lbu $1, 0($1) # encoding: [0x90,0x21,0x00,0x00]980 # CHECK-BE: sll $8, $8, 8 # encoding: [0x00,0x08,0x42,0x00]981 # CHECK-BE: or $8, $8, $1 # encoding: [0x01,0x01,0x40,0x25]982 # CHECK-LE: lui $1, 1 # encoding: [0x01,0x00,0x01,0x3c]983 # CHECK-LE: ori $1, $1, 34952 # encoding: [0x88,0x88,0x21,0x34]984 # CHECK-LE: move $1, $1 # encoding: [0x21,0x08,0x20,0x00]985 # CHECK-LE: sb $8, 0($1) # encoding: [0x00,0x00,0x28,0xa0]986 # CHECK-LE: srl $8, $8, 8 # encoding: [0x02,0x42,0x08,0x00]987 # CHECK-LE: sb $8, 1($1) # encoding: [0x01,0x00,0x28,0xa0]988 # CHECK-LE: lbu $1, 0($1) # encoding: [0x00,0x00,0x21,0x90]989 # CHECK-LE: sll $8, $8, 8 # encoding: [0x00,0x42,0x08,0x00]990 # CHECK-LE: or $8, $8, $1 # encoding: [0x25,0x40,0x01,0x01]991 992 # FIXME: Remove the identity moves (move $1, $1) coming from loadImmediate993 ush $8, -32769994 # CHECK-BE: lui $1, 65535 # encoding: [0x3c,0x01,0xff,0xff]995 # CHECK-BE: ori $1, $1, 32767 # encoding: [0x34,0x21,0x7f,0xff]996 # CHECK-BE: move $1, $1 # encoding: [0x00,0x20,0x08,0x21]997 # CHECK-BE: sb $8, 1($1) # encoding: [0xa0,0x28,0x00,0x01]998 # CHECK-BE: srl $8, $8, 8 # encoding: [0x00,0x08,0x42,0x02]999 # CHECK-BE: sb $8, 0($1) # encoding: [0xa0,0x28,0x00,0x00]1000 # CHECK-BE: lbu $1, 0($1) # encoding: [0x90,0x21,0x00,0x00]1001 # CHECK-BE: sll $8, $8, 8 # encoding: [0x00,0x08,0x42,0x00]1002 # CHECK-BE: or $8, $8, $1 # encoding: [0x01,0x01,0x40,0x25]1003 # CHECK-LE: lui $1, 65535 # encoding: [0xff,0xff,0x01,0x3c]1004 # CHECK-LE: ori $1, $1, 32767 # encoding: [0xff,0x7f,0x21,0x34]1005 # CHECK-LE: move $1, $1 # encoding: [0x21,0x08,0x20,0x00]1006 # CHECK-LE: sb $8, 0($1) # encoding: [0x00,0x00,0x28,0xa0]1007 # CHECK-LE: srl $8, $8, 8 # encoding: [0x02,0x42,0x08,0x00]1008 # CHECK-LE: sb $8, 1($1) # encoding: [0x01,0x00,0x28,0xa0]1009 # CHECK-LE: lbu $1, 0($1) # encoding: [0x00,0x00,0x21,0x90]1010 # CHECK-LE: sll $8, $8, 8 # encoding: [0x00,0x42,0x08,0x00]1011 # CHECK-LE: or $8, $8, $1 # encoding: [0x25,0x40,0x01,0x01]1012 1013 ush $8, 327671014 # CHECK-BE: addiu $1, $zero, 32767 # encoding: [0x24,0x01,0x7f,0xff]1015 # CHECK-BE: sb $8, 1($1) # encoding: [0xa0,0x28,0x00,0x01]1016 # CHECK-BE: srl $8, $8, 8 # encoding: [0x00,0x08,0x42,0x02]1017 # CHECK-BE: sb $8, 0($1) # encoding: [0xa0,0x28,0x00,0x00]1018 # CHECK-BE: lbu $1, 0($1) # encoding: [0x90,0x21,0x00,0x00]1019 # CHECK-BE: sll $8, $8, 8 # encoding: [0x00,0x08,0x42,0x00]1020 # CHECK-BE: or $8, $8, $1 # encoding: [0x01,0x01,0x40,0x25]1021 # CHECK-LE: addiu $1, $zero, 32767 # encoding: [0xff,0x7f,0x01,0x24]1022 # CHECK-LE: sb $8, 0($1) # encoding: [0x00,0x00,0x28,0xa0]1023 # CHECK-LE: srl $8, $8, 8 # encoding: [0x02,0x42,0x08,0x00]1024 # CHECK-LE: sb $8, 1($1) # encoding: [0x01,0x00,0x28,0xa0]1025 # CHECK-LE: lbu $1, 0($1) # encoding: [0x00,0x00,0x21,0x90]1026 # CHECK-LE: sll $8, $8, 8 # encoding: [0x00,0x42,0x08,0x00]1027 # CHECK-LE: or $8, $8, $1 # encoding: [0x25,0x40,0x01,0x01]1028 1029ush_reg: # CHECK-LABEL: ush_reg1030 ush $8, 0($9)1031 # CHECK-BE: sb $8, 1($9) # encoding: [0xa1,0x28,0x00,0x01]1032 # CHECK-BE: srl $1, $8, 8 # encoding: [0x00,0x08,0x0a,0x02]1033 # CHECK-BE: sb $1, 0($9) # encoding: [0xa1,0x21,0x00,0x00]1034 # CHECK-LE: sb $8, 0($9) # encoding: [0x00,0x00,0x28,0xa1]1035 # CHECK-LE: srl $1, $8, 8 # encoding: [0x02,0x0a,0x08,0x00]1036 # CHECK-LE: sb $1, 1($9) # encoding: [0x01,0x00,0x21,0xa1]1037 1038 ush $8, 2($9)1039 # CHECK-BE: sb $8, 3($9) # encoding: [0xa1,0x28,0x00,0x03]1040 # CHECK-BE: srl $1, $8, 8 # encoding: [0x00,0x08,0x0a,0x02]1041 # CHECK-BE: sb $1, 2($9) # encoding: [0xa1,0x21,0x00,0x02]1042 # CHECK-LE: sb $8, 2($9) # encoding: [0x02,0x00,0x28,0xa1]1043 # CHECK-LE: srl $1, $8, 8 # encoding: [0x02,0x0a,0x08,0x00]1044 # CHECK-LE: sb $1, 3($9) # encoding: [0x03,0x00,0x21,0xa1]1045 1046 ush $8, 0x8000($9)1047 # CHECK-BE: ori $1, $zero, 32768 # encoding: [0x34,0x01,0x80,0x00]1048 # CHECK-BE: addu $1, $1, $9 # encoding: [0x00,0x29,0x08,0x21]1049 # CHECK-BE: sb $8, 1($1) # encoding: [0xa0,0x28,0x00,0x01]1050 # CHECK-BE: srl $8, $8, 8 # encoding: [0x00,0x08,0x42,0x02]1051 # CHECK-BE: sb $8, 0($1) # encoding: [0xa0,0x28,0x00,0x00]1052 # CHECK-BE: lbu $1, 0($1) # encoding: [0x90,0x21,0x00,0x00]1053 # CHECK-BE: sll $8, $8, 8 # encoding: [0x00,0x08,0x42,0x00]1054 # CHECK-BE: or $8, $8, $1 # encoding: [0x01,0x01,0x40,0x25]1055 # CHECK-LE: ori $1, $zero, 32768 # encoding: [0x00,0x80,0x01,0x34]1056 # CHECK-LE: addu $1, $1, $9 # encoding: [0x21,0x08,0x29,0x00]1057 # CHECK-LE: sb $8, 0($1) # encoding: [0x00,0x00,0x28,0xa0]1058 # CHECK-LE: srl $8, $8, 8 # encoding: [0x02,0x42,0x08,0x00]1059 # CHECK-LE: sb $8, 1($1) # encoding: [0x01,0x00,0x28,0xa0]1060 # CHECK-LE: lbu $1, 0($1) # encoding: [0x00,0x00,0x21,0x90]1061 # CHECK-LE: sll $8, $8, 8 # encoding: [0x00,0x42,0x08,0x00]1062 # CHECK-LE: or $8, $8, $1 # encoding: [0x25,0x40,0x01,0x01]1063 1064 ush $8, -0x8000($9)1065 # CHECK-BE: sb $8, -32767($9) # encoding: [0xa1,0x28,0x80,0x01]1066 # CHECK-BE: srl $1, $8, 8 # encoding: [0x00,0x08,0x0a,0x02]1067 # CHECK-BE: sb $1, -32768($9) # encoding: [0xa1,0x21,0x80,0x00]1068 # CHECK-LE: sb $8, -32768($9) # encoding: [0x00,0x80,0x28,0xa1]1069 # CHECK-LE: srl $1, $8, 8 # encoding: [0x02,0x0a,0x08,0x00]1070 # CHECK-LE: sb $1, -32767($9) # encoding: [0x01,0x80,0x21,0xa1]1071 1072 ush $8, 0x10000($9)1073 # CHECK-BE: lui $1, 1 # encoding: [0x3c,0x01,0x00,0x01]1074 # CHECK-BE: addu $1, $1, $9 # encoding: [0x00,0x29,0x08,0x21]1075 # CHECK-BE: sb $8, 1($1) # encoding: [0xa0,0x28,0x00,0x01]1076 # CHECK-BE: srl $8, $8, 8 # encoding: [0x00,0x08,0x42,0x02]1077 # CHECK-BE: sb $8, 0($1) # encoding: [0xa0,0x28,0x00,0x00]1078 # CHECK-BE: lbu $1, 0($1) # encoding: [0x90,0x21,0x00,0x00]1079 # CHECK-BE: sll $8, $8, 8 # encoding: [0x00,0x08,0x42,0x00]1080 # CHECK-BE: or $8, $8, $1 # encoding: [0x01,0x01,0x40,0x25]1081 # CHECK-LE: lui $1, 1 # encoding: [0x01,0x00,0x01,0x3c]1082 # CHECK-LE: addu $1, $1, $9 # encoding: [0x21,0x08,0x29,0x00]1083 # CHECK-LE: sb $8, 0($1) # encoding: [0x00,0x00,0x28,0xa0]1084 # CHECK-LE: srl $8, $8, 8 # encoding: [0x02,0x42,0x08,0x00]1085 # CHECK-LE: sb $8, 1($1) # encoding: [0x01,0x00,0x28,0xa0]1086 # CHECK-LE: lbu $1, 0($1) # encoding: [0x00,0x00,0x21,0x90]1087 # CHECK-LE: sll $8, $8, 8 # encoding: [0x00,0x42,0x08,0x00]1088 # CHECK-LE: or $8, $8, $1 # encoding: [0x25,0x40,0x01,0x01]1089 1090 ush $8, 0x18888($9)1091 # CHECK-BE: lui $1, 1 # encoding: [0x3c,0x01,0x00,0x01]1092 # CHECK-BE: ori $1, $1, 34952 # encoding: [0x34,0x21,0x88,0x88]1093 # CHECK-BE: addu $1, $1, $9 # encoding: [0x00,0x29,0x08,0x21]1094 # CHECK-BE: sb $8, 1($1) # encoding: [0xa0,0x28,0x00,0x01]1095 # CHECK-BE: srl $8, $8, 8 # encoding: [0x00,0x08,0x42,0x02]1096 # CHECK-BE: sb $8, 0($1) # encoding: [0xa0,0x28,0x00,0x00]1097 # CHECK-BE: lbu $1, 0($1) # encoding: [0x90,0x21,0x00,0x00]1098 # CHECK-BE: sll $8, $8, 8 # encoding: [0x00,0x08,0x42,0x00]1099 # CHECK-BE: or $8, $8, $1 # encoding: [0x01,0x01,0x40,0x25]1100 # CHECK-LE: lui $1, 1 # encoding: [0x01,0x00,0x01,0x3c]1101 # CHECK-LE: ori $1, $1, 34952 # encoding: [0x88,0x88,0x21,0x34]1102 # CHECK-LE: addu $1, $1, $9 # encoding: [0x21,0x08,0x29,0x00]1103 # CHECK-LE: sb $8, 0($1) # encoding: [0x00,0x00,0x28,0xa0]1104 # CHECK-LE: srl $8, $8, 8 # encoding: [0x02,0x42,0x08,0x00]1105 # CHECK-LE: sb $8, 1($1) # encoding: [0x01,0x00,0x28,0xa0]1106 # CHECK-LE: lbu $1, 0($1) # encoding: [0x00,0x00,0x21,0x90]1107 # CHECK-LE: sll $8, $8, 8 # encoding: [0x00,0x42,0x08,0x00]1108 # CHECK-LE: or $8, $8, $1 # encoding: [0x25,0x40,0x01,0x01]1109 1110 ush $8, -32769($9)1111 # CHECK-BE: lui $1, 65535 # encoding: [0x3c,0x01,0xff,0xff]1112 # CHECK-BE: ori $1, $1, 32767 # encoding: [0x34,0x21,0x7f,0xff]1113 # CHECK-BE: addu $1, $1, $9 # encoding: [0x00,0x29,0x08,0x21]1114 # CHECK-BE: sb $8, 1($1) # encoding: [0xa0,0x28,0x00,0x01]1115 # CHECK-BE: srl $8, $8, 8 # encoding: [0x00,0x08,0x42,0x02]1116 # CHECK-BE: sb $8, 0($1) # encoding: [0xa0,0x28,0x00,0x00]1117 # CHECK-BE: lbu $1, 0($1) # encoding: [0x90,0x21,0x00,0x00]1118 # CHECK-BE: sll $8, $8, 8 # encoding: [0x00,0x08,0x42,0x00]1119 # CHECK-BE: or $8, $8, $1 # encoding: [0x01,0x01,0x40,0x25]1120 # CHECK-LE: lui $1, 65535 # encoding: [0xff,0xff,0x01,0x3c]1121 # CHECK-LE: ori $1, $1, 32767 # encoding: [0xff,0x7f,0x21,0x34]1122 # CHECK-LE: addu $1, $1, $9 # encoding: [0x21,0x08,0x29,0x00]1123 # CHECK-LE: sb $8, 0($1) # encoding: [0x00,0x00,0x28,0xa0]1124 # CHECK-LE: srl $8, $8, 8 # encoding: [0x02,0x42,0x08,0x00]1125 # CHECK-LE: sb $8, 1($1) # encoding: [0x01,0x00,0x28,0xa0]1126 # CHECK-LE: lbu $1, 0($1) # encoding: [0x00,0x00,0x21,0x90]1127 # CHECK-LE: sll $8, $8, 8 # encoding: [0x00,0x42,0x08,0x00]1128 # CHECK-LE: or $8, $8, $1 # encoding: [0x25,0x40,0x01,0x01]1129 1130 ush $8, 32767($9)1131 # CHECK-BE: addiu $1, $9, 32767 # encoding: [0x25,0x21,0x7f,0xff]1132 # CHECK-BE: sb $8, 1($1) # encoding: [0xa0,0x28,0x00,0x01]1133 # CHECK-BE: srl $8, $8, 8 # encoding: [0x00,0x08,0x42,0x02]1134 # CHECK-BE: sb $8, 0($1) # encoding: [0xa0,0x28,0x00,0x00]1135 # CHECK-BE: lbu $1, 0($1) # encoding: [0x90,0x21,0x00,0x00]1136 # CHECK-BE: sll $8, $8, 8 # encoding: [0x00,0x08,0x42,0x00]1137 # CHECK-BE: or $8, $8, $1 # encoding: [0x01,0x01,0x40,0x25]1138 # CHECK-LE: addiu $1, $9, 32767 # encoding: [0xff,0x7f,0x21,0x25]1139 # CHECK-LE: sb $8, 0($1) # encoding: [0x00,0x00,0x28,0xa0]1140 # CHECK-LE: srl $8, $8, 8 # encoding: [0x02,0x42,0x08,0x00]1141 # CHECK-LE: sb $8, 1($1) # encoding: [0x01,0x00,0x28,0xa0]1142 # CHECK-LE: lbu $1, 0($1) # encoding: [0x00,0x00,0x21,0x90]1143 # CHECK-LE: sll $8, $8, 8 # encoding: [0x00,0x42,0x08,0x00]1144 # CHECK-LE: or $8, $8, $1 # encoding: [0x25,0x40,0x01,0x01]1145 1146 ush $8, 0($8)1147 # CHECK-BE: sb $8, 1($8) # encoding: [0xa1,0x08,0x00,0x01]1148 # CHECK-BE: srl $1, $8, 8 # encoding: [0x00,0x08,0x0a,0x02]1149 # CHECK-BE: sb $1, 0($8) # encoding: [0xa1,0x01,0x00,0x00]1150 # CHECK-LE: sb $8, 0($8) # encoding: [0x00,0x00,0x08,0xa1]1151 # CHECK-LE: srl $1, $8, 8 # encoding: [0x02,0x0a,0x08,0x00]1152 # CHECK-LE: sb $1, 1($8) # encoding: [0x01,0x00,0x01,0xa1]1153 1154 ush $8, 2($8)1155 # CHECK-BE: sb $8, 3($8) # encoding: [0xa1,0x08,0x00,0x03]1156 # CHECK-BE: srl $1, $8, 8 # encoding: [0x00,0x08,0x0a,0x02]1157 # CHECK-BE: sb $1, 2($8) # encoding: [0xa1,0x01,0x00,0x02]1158 # CHECK-LE: sb $8, 2($8) # encoding: [0x02,0x00,0x08,0xa1]1159 # CHECK-LE: srl $1, $8, 8 # encoding: [0x02,0x0a,0x08,0x00]1160 # CHECK-LE: sb $1, 3($8) # encoding: [0x03,0x00,0x01,0xa1]1161 1162 ush $8, 0x8000($8)1163 # CHECK-BE: ori $1, $zero, 32768 # encoding: [0x34,0x01,0x80,0x00]1164 # CHECK-BE: addu $1, $1, $8 # encoding: [0x00,0x28,0x08,0x21]1165 # CHECK-BE: sb $8, 1($1) # encoding: [0xa0,0x28,0x00,0x01]1166 # CHECK-BE: srl $8, $8, 8 # encoding: [0x00,0x08,0x42,0x02]1167 # CHECK-BE: sb $8, 0($1) # encoding: [0xa0,0x28,0x00,0x00]1168 # CHECK-BE: lbu $1, 0($1) # encoding: [0x90,0x21,0x00,0x00]1169 # CHECK-BE: sll $8, $8, 8 # encoding: [0x00,0x08,0x42,0x00]1170 # CHECK-BE: or $8, $8, $1 # encoding: [0x01,0x01,0x40,0x25]1171 # CHECK-LE: ori $1, $zero, 32768 # encoding: [0x00,0x80,0x01,0x34]1172 # CHECK-LE: addu $1, $1, $8 # encoding: [0x21,0x08,0x28,0x00]1173 # CHECK-LE: sb $8, 0($1) # encoding: [0x00,0x00,0x28,0xa0]1174 # CHECK-LE: srl $8, $8, 8 # encoding: [0x02,0x42,0x08,0x00]1175 # CHECK-LE: sb $8, 1($1) # encoding: [0x01,0x00,0x28,0xa0]1176 # CHECK-LE: lbu $1, 0($1) # encoding: [0x00,0x00,0x21,0x90]1177 # CHECK-LE: sll $8, $8, 8 # encoding: [0x00,0x42,0x08,0x00]1178 # CHECK-LE: or $8, $8, $1 # encoding: [0x25,0x40,0x01,0x01]1179 1180 ush $8, -0x8000($8)1181 # CHECK-BE: sb $8, -32767($8) # encoding: [0xa1,0x08,0x80,0x01]1182 # CHECK-BE: srl $1, $8, 8 # encoding: [0x00,0x08,0x0a,0x02]1183 # CHECK-BE: sb $1, -32768($8) # encoding: [0xa1,0x01,0x80,0x00]1184 # CHECK-LE: sb $8, -32768($8) # encoding: [0x00,0x80,0x08,0xa1]1185 # CHECK-LE: srl $1, $8, 8 # encoding: [0x02,0x0a,0x08,0x00]1186 # CHECK-LE: sb $1, -32767($8) # encoding: [0x01,0x80,0x01,0xa1]1187 1188 ush $8, 0x10000($8)1189 # CHECK-BE: lui $1, 1 # encoding: [0x3c,0x01,0x00,0x01]1190 # CHECK-BE: addu $1, $1, $8 # encoding: [0x00,0x28,0x08,0x21]1191 # CHECK-BE: sb $8, 1($1) # encoding: [0xa0,0x28,0x00,0x01]1192 # CHECK-BE: srl $8, $8, 8 # encoding: [0x00,0x08,0x42,0x02]1193 # CHECK-BE: sb $8, 0($1) # encoding: [0xa0,0x28,0x00,0x00]1194 # CHECK-BE: lbu $1, 0($1) # encoding: [0x90,0x21,0x00,0x00]1195 # CHECK-BE: sll $8, $8, 8 # encoding: [0x00,0x08,0x42,0x00]1196 # CHECK-BE: or $8, $8, $1 # encoding: [0x01,0x01,0x40,0x25]1197 # CHECK-LE: lui $1, 1 # encoding: [0x01,0x00,0x01,0x3c]1198 # CHECK-LE: addu $1, $1, $8 # encoding: [0x21,0x08,0x28,0x00]1199 # CHECK-LE: sb $8, 0($1) # encoding: [0x00,0x00,0x28,0xa0]1200 # CHECK-LE: srl $8, $8, 8 # encoding: [0x02,0x42,0x08,0x00]1201 # CHECK-LE: sb $8, 1($1) # encoding: [0x01,0x00,0x28,0xa0]1202 # CHECK-LE: lbu $1, 0($1) # encoding: [0x00,0x00,0x21,0x90]1203 # CHECK-LE: sll $8, $8, 8 # encoding: [0x00,0x42,0x08,0x00]1204 # CHECK-LE: or $8, $8, $1 # encoding: [0x25,0x40,0x01,0x01]1205 1206 ush $8, 0x18888($8)1207 # CHECK-BE: lui $1, 1 # encoding: [0x3c,0x01,0x00,0x01]1208 # CHECK-BE: ori $1, $1, 34952 # encoding: [0x34,0x21,0x88,0x88]1209 # CHECK-BE: addu $1, $1, $8 # encoding: [0x00,0x28,0x08,0x21]1210 # CHECK-BE: sb $8, 1($1) # encoding: [0xa0,0x28,0x00,0x01]1211 # CHECK-BE: srl $8, $8, 8 # encoding: [0x00,0x08,0x42,0x02]1212 # CHECK-BE: sb $8, 0($1) # encoding: [0xa0,0x28,0x00,0x00]1213 # CHECK-BE: lbu $1, 0($1) # encoding: [0x90,0x21,0x00,0x00]1214 # CHECK-BE: sll $8, $8, 8 # encoding: [0x00,0x08,0x42,0x00]1215 # CHECK-BE: or $8, $8, $1 # encoding: [0x01,0x01,0x40,0x25]1216 # CHECK-LE: lui $1, 1 # encoding: [0x01,0x00,0x01,0x3c]1217 # CHECK-LE: ori $1, $1, 34952 # encoding: [0x88,0x88,0x21,0x34]1218 # CHECK-LE: addu $1, $1, $8 # encoding: [0x21,0x08,0x28,0x00]1219 # CHECK-LE: sb $8, 0($1) # encoding: [0x00,0x00,0x28,0xa0]1220 # CHECK-LE: srl $8, $8, 8 # encoding: [0x02,0x42,0x08,0x00]1221 # CHECK-LE: sb $8, 1($1) # encoding: [0x01,0x00,0x28,0xa0]1222 # CHECK-LE: lbu $1, 0($1) # encoding: [0x00,0x00,0x21,0x90]1223 # CHECK-LE: sll $8, $8, 8 # encoding: [0x00,0x42,0x08,0x00]1224 # CHECK-LE: or $8, $8, $1 # encoding: [0x25,0x40,0x01,0x01]1225 1226 ush $8, -32769($8)1227 # CHECK-BE: lui $1, 65535 # encoding: [0x3c,0x01,0xff,0xff]1228 # CHECK-BE: ori $1, $1, 32767 # encoding: [0x34,0x21,0x7f,0xff]1229 # CHECK-BE: addu $1, $1, $8 # encoding: [0x00,0x28,0x08,0x21]1230 # CHECK-BE: sb $8, 1($1) # encoding: [0xa0,0x28,0x00,0x01]1231 # CHECK-BE: srl $8, $8, 8 # encoding: [0x00,0x08,0x42,0x02]1232 # CHECK-BE: sb $8, 0($1) # encoding: [0xa0,0x28,0x00,0x00]1233 # CHECK-BE: lbu $1, 0($1) # encoding: [0x90,0x21,0x00,0x00]1234 # CHECK-BE: sll $8, $8, 8 # encoding: [0x00,0x08,0x42,0x00]1235 # CHECK-BE: or $8, $8, $1 # encoding: [0x01,0x01,0x40,0x25]1236 # CHECK-LE: lui $1, 65535 # encoding: [0xff,0xff,0x01,0x3c]1237 # CHECK-LE: ori $1, $1, 32767 # encoding: [0xff,0x7f,0x21,0x34]1238 # CHECK-LE: addu $1, $1, $8 # encoding: [0x21,0x08,0x28,0x00]1239 # CHECK-LE: sb $8, 0($1) # encoding: [0x00,0x00,0x28,0xa0]1240 # CHECK-LE: srl $8, $8, 8 # encoding: [0x02,0x42,0x08,0x00]1241 # CHECK-LE: sb $8, 1($1) # encoding: [0x01,0x00,0x28,0xa0]1242 # CHECK-LE: lbu $1, 0($1) # encoding: [0x00,0x00,0x21,0x90]1243 # CHECK-LE: sll $8, $8, 8 # encoding: [0x00,0x42,0x08,0x00]1244 # CHECK-LE: or $8, $8, $1 # encoding: [0x25,0x40,0x01,0x01]1245 1246 ush $8, 32767($8)1247 # CHECK-BE: addiu $1, $8, 32767 # encoding: [0x25,0x01,0x7f,0xff]1248 # CHECK-BE: sb $8, 1($1) # encoding: [0xa0,0x28,0x00,0x01]1249 # CHECK-BE: srl $8, $8, 8 # encoding: [0x00,0x08,0x42,0x02]1250 # CHECK-BE: sb $8, 0($1) # encoding: [0xa0,0x28,0x00,0x00]1251 # CHECK-BE: lbu $1, 0($1) # encoding: [0x90,0x21,0x00,0x00]1252 # CHECK-BE: sll $8, $8, 8 # encoding: [0x00,0x08,0x42,0x00]1253 # CHECK-BE: or $8, $8, $1 # encoding: [0x01,0x01,0x40,0x25]1254 # CHECK-LE: addiu $1, $8, 32767 # encoding: [0xff,0x7f,0x01,0x25]1255 # CHECK-LE: sb $8, 0($1) # encoding: [0x00,0x00,0x28,0xa0]1256 # CHECK-LE: srl $8, $8, 8 # encoding: [0x02,0x42,0x08,0x00]1257 # CHECK-LE: sb $8, 1($1) # encoding: [0x01,0x00,0x28,0xa0]1258 # CHECK-LE: lbu $1, 0($1) # encoding: [0x00,0x00,0x21,0x90]1259 # CHECK-LE: sll $8, $8, 8 # encoding: [0x00,0x42,0x08,0x00]1260 # CHECK-LE: or $8, $8, $1 # encoding: [0x25,0x40,0x01,0x01]1261 1262usw_imm: # CHECK-LABEL: usw_imm:1263 usw $8, 01264 # CHECK-BE: swl $8, 0($zero) # encoding: [0xa8,0x08,0x00,0x00]1265 # CHECK-BE: swr $8, 3($zero) # encoding: [0xb8,0x08,0x00,0x03]1266 # CHECK-LE: swl $8, 3($zero) # encoding: [0x03,0x00,0x08,0xa8]1267 # CHECK-LE: swr $8, 0($zero) # encoding: [0x00,0x00,0x08,0xb8]1268 1269 usw $8, 21270 # CHECK-BE: swl $8, 2($zero) # encoding: [0xa8,0x08,0x00,0x02]1271 # CHECK-BE: swr $8, 5($zero) # encoding: [0xb8,0x08,0x00,0x05]1272 # CHECK-LE: swl $8, 5($zero) # encoding: [0x05,0x00,0x08,0xa8]1273 # CHECK-LE: swr $8, 2($zero) # encoding: [0x02,0x00,0x08,0xb8]1274 1275 # FIXME: Remove the identity moves (move $1, $1) coming from loadImmediate1276 usw $8, 0x80001277 # CHECK-BE: ori $1, $zero, 32768 # encoding: [0x34,0x01,0x80,0x00]1278 # CHECK-BE: move $1, $1 # encoding: [0x00,0x20,0x08,0x21]1279 # CHECK-BE: swl $8, 0($1) # encoding: [0xa8,0x28,0x00,0x00]1280 # CHECK-BE: swr $8, 3($1) # encoding: [0xb8,0x28,0x00,0x03]1281 # CHECK-LE: ori $1, $zero, 32768 # encoding: [0x00,0x80,0x01,0x34]1282 # CHECK-LE: move $1, $1 # encoding: [0x21,0x08,0x20,0x00]1283 # CHECK-LE: swl $8, 3($1) # encoding: [0x03,0x00,0x28,0xa8]1284 # CHECK-LE: swr $8, 0($1) # encoding: [0x00,0x00,0x28,0xb8]1285 1286 usw $8, -0x80001287 # CHECK-BE: swl $8, -32768($zero) # encoding: [0xa8,0x08,0x80,0x00]1288 # CHECK-BE: swr $8, -32765($zero) # encoding: [0xb8,0x08,0x80,0x03]1289 # CHECK-LE: swl $8, -32765($zero) # encoding: [0x03,0x80,0x08,0xa8]1290 # CHECK-LE: swr $8, -32768($zero) # encoding: [0x00,0x80,0x08,0xb8]1291 1292 # FIXME: Remove the identity moves (move $1, $1) coming from loadImmediate1293 usw $8, 0x100001294 # CHECK-BE: lui $1, 1 # encoding: [0x3c,0x01,0x00,0x01]1295 # CHECK-BE: move $1, $1 # encoding: [0x00,0x20,0x08,0x21]1296 # CHECK-BE: swl $8, 0($1) # encoding: [0xa8,0x28,0x00,0x00]1297 # CHECK-BE: swr $8, 3($1) # encoding: [0xb8,0x28,0x00,0x03]1298 # CHECK-LE: lui $1, 1 # encoding: [0x01,0x00,0x01,0x3c]1299 # CHECK-LE: move $1, $1 # encoding: [0x21,0x08,0x20,0x00]1300 # CHECK-LE: swl $8, 3($1) # encoding: [0x03,0x00,0x28,0xa8]1301 # CHECK-LE: swr $8, 0($1) # encoding: [0x00,0x00,0x28,0xb8]1302 1303 # FIXME: Remove the identity moves (move $1, $1) coming from loadImmediate1304 usw $8, 0x188881305 # CHECK-BE: lui $1, 1 # encoding: [0x3c,0x01,0x00,0x01]1306 # CHECK-BE: ori $1, $1, 34952 # encoding: [0x34,0x21,0x88,0x88]1307 # CHECK-BE: move $1, $1 # encoding: [0x00,0x20,0x08,0x21]1308 # CHECK-BE: swl $8, 0($1) # encoding: [0xa8,0x28,0x00,0x00]1309 # CHECK-BE: swr $8, 3($1) # encoding: [0xb8,0x28,0x00,0x03]1310 # CHECK-LE: lui $1, 1 # encoding: [0x01,0x00,0x01,0x3c]1311 # CHECK-LE: ori $1, $1, 34952 # encoding: [0x88,0x88,0x21,0x34]1312 # CHECK-LE: move $1, $1 # encoding: [0x21,0x08,0x20,0x00]1313 # CHECK-LE: swl $8, 3($1) # encoding: [0x03,0x00,0x28,0xa8]1314 # CHECK-LE: swr $8, 0($1) # encoding: [0x00,0x00,0x28,0xb8]1315 1316 # FIXME: Remove the identity moves (move $1, $1) coming from loadImmediate1317 usw $8, -327691318 # CHECK-BE: lui $1, 65535 # encoding: [0x3c,0x01,0xff,0xff]1319 # CHECK-BE: ori $1, $1, 32767 # encoding: [0x34,0x21,0x7f,0xff]1320 # CHECK-BE: move $1, $1 # encoding: [0x00,0x20,0x08,0x21]1321 # CHECK-BE: swl $8, 0($1) # encoding: [0xa8,0x28,0x00,0x00]1322 # CHECK-BE: swr $8, 3($1) # encoding: [0xb8,0x28,0x00,0x03]1323 # CHECK-LE: lui $1, 65535 # encoding: [0xff,0xff,0x01,0x3c]1324 # CHECK-LE: ori $1, $1, 32767 # encoding: [0xff,0x7f,0x21,0x34]1325 # CHECK-LE: move $1, $1 # encoding: [0x21,0x08,0x20,0x00]1326 # CHECK-LE: swl $8, 3($1) # encoding: [0x03,0x00,0x28,0xa8]1327 # CHECK-LE: swr $8, 0($1) # encoding: [0x00,0x00,0x28,0xb8]1328 1329 usw $8, 327671330 # CHECK-BE: addiu $1, $zero, 32767 # encoding: [0x24,0x01,0x7f,0xff]1331 # CHECK-BE: swl $8, 0($1) # encoding: [0xa8,0x28,0x00,0x00]1332 # CHECK-BE: swr $8, 3($1) # encoding: [0xb8,0x28,0x00,0x03]1333 # CHECK-LE: addiu $1, $zero, 32767 # encoding: [0xff,0x7f,0x01,0x24]1334 # CHECK-LE: swl $8, 3($1) # encoding: [0x03,0x00,0x28,0xa8]1335 # CHECK-LE: swr $8, 0($1) # encoding: [0x00,0x00,0x28,0xb8]1336 1337usw_reg: # CHECK-LABEL: usw_reg:1338 usw $8, 0($9)1339 # CHECK-BE: swl $8, 0($9) # encoding: [0xa9,0x28,0x00,0x00]1340 # CHECK-BE: swr $8, 3($9) # encoding: [0xb9,0x28,0x00,0x03]1341 # CHECK-LE: swl $8, 3($9) # encoding: [0x03,0x00,0x28,0xa9]1342 # CHECK-LE: swr $8, 0($9) # encoding: [0x00,0x00,0x28,0xb9]1343 1344 usw $8, 2($9)1345 # CHECK-BE: swl $8, 2($9) # encoding: [0xa9,0x28,0x00,0x02]1346 # CHECK-BE: swr $8, 5($9) # encoding: [0xb9,0x28,0x00,0x05]1347 # CHECK-LE: swl $8, 5($9) # encoding: [0x05,0x00,0x28,0xa9]1348 # CHECK-LE: swr $8, 2($9) # encoding: [0x02,0x00,0x28,0xb9]1349 1350 usw $8, 0x8000($9)1351 # CHECK-BE: ori $1, $zero, 32768 # encoding: [0x34,0x01,0x80,0x00]1352 # CHECK-BE: addu $1, $1, $9 # encoding: [0x00,0x29,0x08,0x21]1353 # CHECK-BE: swl $8, 0($1) # encoding: [0xa8,0x28,0x00,0x00]1354 # CHECK-BE: swr $8, 3($1) # encoding: [0xb8,0x28,0x00,0x03]1355 # CHECK-LE: ori $1, $zero, 32768 # encoding: [0x00,0x80,0x01,0x34]1356 # CHECK-LE: addu $1, $1, $9 # encoding: [0x21,0x08,0x29,0x00]1357 # CHECK-LE: swl $8, 3($1) # encoding: [0x03,0x00,0x28,0xa8]1358 # CHECK-LE: swr $8, 0($1) # encoding: [0x00,0x00,0x28,0xb8]1359 1360 usw $8, -0x8000($9)1361 # CHECK-BE: swl $8, -32768($9) # encoding: [0xa9,0x28,0x80,0x00]1362 # CHECK-BE: swr $8, -32765($9) # encoding: [0xb9,0x28,0x80,0x03]1363 # CHECK-LE: swl $8, -32765($9) # encoding: [0x03,0x80,0x28,0xa9]1364 # CHECK-LE: swr $8, -32768($9) # encoding: [0x00,0x80,0x28,0xb9]1365 1366 usw $8, 0x10000($9)1367 # CHECK-BE: lui $1, 1 # encoding: [0x3c,0x01,0x00,0x01]1368 # CHECK-BE: addu $1, $1, $9 # encoding: [0x00,0x29,0x08,0x21]1369 # CHECK-BE: swl $8, 0($1) # encoding: [0xa8,0x28,0x00,0x00]1370 # CHECK-BE: swr $8, 3($1) # encoding: [0xb8,0x28,0x00,0x03]1371 # CHECK-LE: lui $1, 1 # encoding: [0x01,0x00,0x01,0x3c]1372 # CHECK-LE: addu $1, $1, $9 # encoding: [0x21,0x08,0x29,0x00]1373 # CHECK-LE: swl $8, 3($1) # encoding: [0x03,0x00,0x28,0xa8]1374 # CHECK-LE: swr $8, 0($1) # encoding: [0x00,0x00,0x28,0xb8]1375 1376 usw $8, 0x18888($9)1377 # CHECK-BE: lui $1, 1 # encoding: [0x3c,0x01,0x00,0x01]1378 # CHECK-BE: ori $1, $1, 34952 # encoding: [0x34,0x21,0x88,0x88]1379 # CHECK-BE: addu $1, $1, $9 # encoding: [0x00,0x29,0x08,0x21]1380 # CHECK-BE: swl $8, 0($1) # encoding: [0xa8,0x28,0x00,0x00]1381 # CHECK-BE: swr $8, 3($1) # encoding: [0xb8,0x28,0x00,0x03]1382 # CHECK-LE: lui $1, 1 # encoding: [0x01,0x00,0x01,0x3c]1383 # CHECK-LE: ori $1, $1, 34952 # encoding: [0x88,0x88,0x21,0x34]1384 # CHECK-LE: addu $1, $1, $9 # encoding: [0x21,0x08,0x29,0x00]1385 # CHECK-LE: swl $8, 3($1) # encoding: [0x03,0x00,0x28,0xa8]1386 # CHECK-LE: swr $8, 0($1) # encoding: [0x00,0x00,0x28,0xb8]1387 1388 usw $8, -32769($9)1389 # CHECK-BE: lui $1, 65535 # encoding: [0x3c,0x01,0xff,0xff]1390 # CHECK-BE: ori $1, $1, 32767 # encoding: [0x34,0x21,0x7f,0xff]1391 # CHECK-BE: addu $1, $1, $9 # encoding: [0x00,0x29,0x08,0x21]1392 # CHECK-BE: swl $8, 0($1) # encoding: [0xa8,0x28,0x00,0x00]1393 # CHECK-BE: swr $8, 3($1) # encoding: [0xb8,0x28,0x00,0x03]1394 # CHECK-LE: lui $1, 65535 # encoding: [0xff,0xff,0x01,0x3c]1395 # CHECK-LE: ori $1, $1, 32767 # encoding: [0xff,0x7f,0x21,0x34]1396 # CHECK-LE: addu $1, $1, $9 # encoding: [0x21,0x08,0x29,0x00]1397 # CHECK-LE: swl $8, 3($1) # encoding: [0x03,0x00,0x28,0xa8]1398 # CHECK-LE: swr $8, 0($1) # encoding: [0x00,0x00,0x28,0xb8]1399 1400 usw $8, 32767($9)1401 # CHECK-BE: addiu $1, $9, 32767 # encoding: [0x25,0x21,0x7f,0xff]1402 # CHECK-BE: swl $8, 0($1) # encoding: [0xa8,0x28,0x00,0x00]1403 # CHECK-BE: swr $8, 3($1) # encoding: [0xb8,0x28,0x00,0x03]1404 # CHECK-LE: addiu $1, $9, 32767 # encoding: [0xff,0x7f,0x21,0x25]1405 # CHECK-LE: swl $8, 3($1) # encoding: [0x03,0x00,0x28,0xa8]1406 # CHECK-LE: swr $8, 0($1) # encoding: [0x00,0x00,0x28,0xb8]1407 1408 usw $8, 0($8)1409 # CHECK-BE: swl $8, 0($8) # encoding: [0xa9,0x08,0x00,0x00]1410 # CHECK-BE: swr $8, 3($8) # encoding: [0xb9,0x08,0x00,0x03]1411 # CHECK-LE: swl $8, 3($8) # encoding: [0x03,0x00,0x08,0xa9]1412 # CHECK-LE: swr $8, 0($8) # encoding: [0x00,0x00,0x08,0xb9]1413 1414 usw $8, 2($8)1415 # CHECK-BE: swl $8, 2($8) # encoding: [0xa9,0x08,0x00,0x02]1416 # CHECK-BE: swr $8, 5($8) # encoding: [0xb9,0x08,0x00,0x05]1417 # CHECK-LE: swl $8, 5($8) # encoding: [0x05,0x00,0x08,0xa9]1418 # CHECK-LE: swr $8, 2($8) # encoding: [0x02,0x00,0x08,0xb9]1419 1420 usw $8, 0x8000($8)1421 # CHECK-BE: ori $1, $zero, 32768 # encoding: [0x34,0x01,0x80,0x00]1422 # CHECK-BE: addu $1, $1, $8 # encoding: [0x00,0x28,0x08,0x21]1423 # CHECK-BE: swl $8, 0($1) # encoding: [0xa8,0x28,0x00,0x00]1424 # CHECK-BE: swr $8, 3($1) # encoding: [0xb8,0x28,0x00,0x03]1425 # CHECK-LE: ori $1, $zero, 32768 # encoding: [0x00,0x80,0x01,0x34]1426 # CHECK-LE: addu $1, $1, $8 # encoding: [0x21,0x08,0x28,0x00]1427 # CHECK-LE: swl $8, 3($1) # encoding: [0x03,0x00,0x28,0xa8]1428 # CHECK-LE: swr $8, 0($1) # encoding: [0x00,0x00,0x28,0xb8]1429 1430 usw $8, -0x8000($8)1431 # CHECK-BE: swl $8, -32768($8) # encoding: [0xa9,0x08,0x80,0x00]1432 # CHECK-BE: swr $8, -32765($8) # encoding: [0xb9,0x08,0x80,0x03]1433 # CHECK-LE: swl $8, -32765($8) # encoding: [0x03,0x80,0x08,0xa9]1434 # CHECK-LE: swr $8, -32768($8) # encoding: [0x00,0x80,0x08,0xb9]1435 1436 usw $8, 0x10000($8)1437 # CHECK-BE: lui $1, 1 # encoding: [0x3c,0x01,0x00,0x01]1438 # CHECK-BE: addu $1, $1, $8 # encoding: [0x00,0x28,0x08,0x21]1439 # CHECK-BE: swl $8, 0($1) # encoding: [0xa8,0x28,0x00,0x00]1440 # CHECK-BE: swr $8, 3($1) # encoding: [0xb8,0x28,0x00,0x03]1441 # CHECK-LE: lui $1, 1 # encoding: [0x01,0x00,0x01,0x3c]1442 # CHECK-LE: addu $1, $1, $8 # encoding: [0x21,0x08,0x28,0x00]1443 # CHECK-LE: swl $8, 3($1) # encoding: [0x03,0x00,0x28,0xa8]1444 # CHECK-LE: swr $8, 0($1) # encoding: [0x00,0x00,0x28,0xb8]1445 1446 usw $8, 0x18888($8)1447 # CHECK-BE: lui $1, 1 # encoding: [0x3c,0x01,0x00,0x01]1448 # CHECK-BE: ori $1, $1, 34952 # encoding: [0x34,0x21,0x88,0x88]1449 # CHECK-BE: addu $1, $1, $8 # encoding: [0x00,0x28,0x08,0x21]1450 # CHECK-BE: swl $8, 0($1) # encoding: [0xa8,0x28,0x00,0x00]1451 # CHECK-BE: swr $8, 3($1) # encoding: [0xb8,0x28,0x00,0x03]1452 # CHECK-LE: lui $1, 1 # encoding: [0x01,0x00,0x01,0x3c]1453 # CHECK-LE: ori $1, $1, 34952 # encoding: [0x88,0x88,0x21,0x34]1454 # CHECK-LE: addu $1, $1, $8 # encoding: [0x21,0x08,0x28,0x00]1455 # CHECK-LE: swl $8, 3($1) # encoding: [0x03,0x00,0x28,0xa8]1456 # CHECK-LE: swr $8, 0($1) # encoding: [0x00,0x00,0x28,0xb8]1457 1458 usw $8, -32769($8)1459 # CHECK-BE: lui $1, 65535 # encoding: [0x3c,0x01,0xff,0xff]1460 # CHECK-BE: ori $1, $1, 32767 # encoding: [0x34,0x21,0x7f,0xff]1461 # CHECK-BE: addu $1, $1, $8 # encoding: [0x00,0x28,0x08,0x21]1462 # CHECK-BE: swl $8, 0($1) # encoding: [0xa8,0x28,0x00,0x00]1463 # CHECK-BE: swr $8, 3($1) # encoding: [0xb8,0x28,0x00,0x03]1464 # CHECK-LE: lui $1, 65535 # encoding: [0xff,0xff,0x01,0x3c]1465 # CHECK-LE: ori $1, $1, 32767 # encoding: [0xff,0x7f,0x21,0x34]1466 # CHECK-LE: addu $1, $1, $8 # encoding: [0x21,0x08,0x28,0x00]1467 # CHECK-LE: swl $8, 3($1) # encoding: [0x03,0x00,0x28,0xa8]1468 # CHECK-LE: swr $8, 0($1) # encoding: [0x00,0x00,0x28,0xb8]1469 1470 usw $8, 32767($8)1471 # CHECK-BE: addiu $1, $8, 32767 # encoding: [0x25,0x01,0x7f,0xff]1472 # CHECK-BE: swl $8, 0($1) # encoding: [0xa8,0x28,0x00,0x00]1473 # CHECK-BE: swr $8, 3($1) # encoding: [0xb8,0x28,0x00,0x03]1474 # CHECK-LE: addiu $1, $8, 32767 # encoding: [0xff,0x7f,0x01,0x25]1475 # CHECK-LE: swl $8, 3($1) # encoding: [0x03,0x00,0x28,0xa8]1476 # CHECK-LE: swr $8, 0($1) # encoding: [0x00,0x00,0x28,0xb8]1477 14781:1479 add $4, $4, $41480