742 lines · plain
1# RUN: llvm-mc -triple mips64el-unknown-linux -show-encoding -print-imm-hex %s | FileCheck %s2 3 .text4text_label:5# CHECK: text_label:6 add $4, -0x800000007# CHECK-NEXT: lui $1, 0x8000 # encoding: [0x00,0x80,0x01,0x3c]8# CHECK-NEXT: add $4, $4, $1 # encoding: [0x20,0x20,0x81,0x00]9 add $4, -0x800110# CHECK-NEXT: lui $1, 0xffff # encoding: [0xff,0xff,0x01,0x3c]11# CHECK-NEXT: ori $1, $1, 0x7fff # encoding: [0xff,0x7f,0x21,0x34]12# CHECK-NEXT: add $4, $4, $1 # encoding: [0x20,0x20,0x81,0x00]13 add $4, -0x800014# CHECK-NEXT: addi $4, $4, -0x8000 # encoding: [0x00,0x80,0x84,0x20]15 add $4, 016# CHECK-NEXT: addi $4, $4, 0x0 # encoding: [0x00,0x00,0x84,0x20]17 add $4, 0xFFFF18# CHECK-NEXT: ori $1, $zero, 0xffff # encoding: [0xff,0xff,0x01,0x34]19# CHECK-NEXT: add $4, $4, $1 # encoding: [0x20,0x20,0x81,0x00]20 add $4, 0x1000021# CHECK-NEXT: lui $1, 0x1 # encoding: [0x01,0x00,0x01,0x3c]22# CHECK-NEXT: add $4, $4, $1 # encoding: [0x20,0x20,0x81,0x00]23 add $4, 0xFFFFFFFF # This should be sign-extended because it's a 32-bit add24# CHECK-NEXT: addi $4, $4, -0x1 # encoding: [0xff,0xff,0x84,0x20]25 add $4, ~(0xf0000000|0x0f000000|0x000000f0)26# CHECK-NEXT: lui $1, 0xff # encoding: [0xff,0x00,0x01,0x3c]27# CHECK-NEXT: ori $1, $1, 0xff0f # encoding: [0x0f,0xff,0x21,0x34]28# CHECK-NEXT: add $4, $4, $1 # encoding: [0x20,0x20,0x81,0x00]29 30 add $4, $5, -0x8000000031# CHECK: lui $4, 0x8000 # encoding: [0x00,0x80,0x04,0x3c]32# CHECK-NEXT: add $4, $4, $5 # encoding: [0x20,0x20,0x85,0x00]33 add $4, $5, -0x800134# CHECK-NEXT: lui $4, 0xffff # encoding: [0xff,0xff,0x04,0x3c]35# CHECK-NEXT: ori $4, $4, 0x7fff # encoding: [0xff,0x7f,0x84,0x34]36# CHECK-NEXT: add $4, $4, $5 # encoding: [0x20,0x20,0x85,0x00]37 add $4, $5, -0x800038# CHECK-NEXT: addi $4, $5, -0x8000 # encoding: [0x00,0x80,0xa4,0x20]39 add $4, $5, 040# CHECK-NEXT: addi $4, $5, 0x0 # encoding: [0x00,0x00,0xa4,0x20]41 add $4, $5, 0xFFFF42# CHECK-NEXT: ori $4, $zero, 0xffff # encoding: [0xff,0xff,0x04,0x34]43# CHECK-NEXT: add $4, $4, $5 # encoding: [0x20,0x20,0x85,0x00]44 add $4, $5, 0x1000045# CHECK-NEXT: lui $4, 0x1 # encoding: [0x01,0x00,0x04,0x3c]46# CHECK-NEXT: add $4, $4, $5 # encoding: [0x20,0x20,0x85,0x00]47 add $4, $5, 0xFFFFFFFF # This should be sign-extended because it's a 32-bit addi48# CHECK-NEXT: addi $4, $5, -0x1 # encoding: [0xff,0xff,0xa4,0x20]49 add $4, $5, ~(0xf0000000|0x0f000000|0x000000f0)50# CHECK-NEXT: lui $4, 0xff # encoding: [0xff,0x00,0x04,0x3c]51# CHECK-NEXT: ori $4, $4, 0xff0f # encoding: [0x0f,0xff,0x84,0x34]52# CHECK-NEXT: add $4, $4, $5 # encoding: [0x20,0x20,0x85,0x00]53 54 55 addu $4, -0x8000000056# CHECK: lui $1, 0x8000 # encoding: [0x00,0x80,0x01,0x3c]57# CHECK-NEXT: addu $4, $4, $1 # encoding: [0x21,0x20,0x81,0x00]58 addu $4, -0x800159# CHECK-NEXT: lui $1, 0xffff # encoding: [0xff,0xff,0x01,0x3c]60# CHECK-NEXT: ori $1, $1, 0x7fff # encoding: [0xff,0x7f,0x21,0x34]61# CHECK-NEXT: addu $4, $4, $1 # encoding: [0x21,0x20,0x81,0x00]62 addu $4, -0x800063# CHECK-NEXT: addiu $4, $4, -0x8000 # encoding: [0x00,0x80,0x84,0x24]64 addu $4, 065# CHECK-NEXT: addiu $4, $4, 0x0 # encoding: [0x00,0x00,0x84,0x24]66 addu $4, 0xFFFF67# CHECK-NEXT: ori $1, $zero, 0xffff # encoding: [0xff,0xff,0x01,0x34]68# CHECK-NEXT: addu $4, $4, $1 # encoding: [0x21,0x20,0x81,0x00]69 addu $4, 0x1000070# CHECK-NEXT: lui $1, 0x1 # encoding: [0x01,0x00,0x01,0x3c]71# CHECK-NEXT: addu $4, $4, $1 # encoding: [0x21,0x20,0x81,0x00]72 addu $4, 0xFFFFFFFF # This should be sign-extended because it's a 32-bit add73# CHECK-NEXT: addiu $4, $4, -0x1 # encoding: [0xff,0xff,0x84,0x24]74 addu $4, ~(0xf0000000|0x0f000000|0x000000f0)75# CHECK-NEXT: lui $1, 0xff # encoding: [0xff,0x00,0x01,0x3c]76# CHECK-NEXT: ori $1, $1, 0xff0f # encoding: [0x0f,0xff,0x21,0x34]77# CHECK-NEXT: addu $4, $4, $1 # encoding: [0x21,0x20,0x81,0x00]78 79 addu $4, $5, -0x8000000080# CHECK: lui $4, 0x8000 # encoding: [0x00,0x80,0x04,0x3c]81# CHECK-NEXT: addu $4, $4, $5 # encoding: [0x21,0x20,0x85,0x00]82 addu $4, $5, -0x800183# CHECK-NEXT: lui $4, 0xffff # encoding: [0xff,0xff,0x04,0x3c]84# CHECK-NEXT: ori $4, $4, 0x7fff # encoding: [0xff,0x7f,0x84,0x34]85# CHECK-NEXT: addu $4, $4, $5 # encoding: [0x21,0x20,0x85,0x00]86 addu $4, $5, -0x800087# CHECK-NEXT: addiu $4, $5, -0x8000 # encoding: [0x00,0x80,0xa4,0x24]88 addu $4, $5, 089# CHECK-NEXT: addiu $4, $5, 0x0 # encoding: [0x00,0x00,0xa4,0x24]90 addu $4, $5, 0xFFFF91# CHECK-NEXT: ori $4, $zero, 0xffff # encoding: [0xff,0xff,0x04,0x34]92# CHECK-NEXT: addu $4, $4, $5 # encoding: [0x21,0x20,0x85,0x00]93 addu $4, $5, 0x1000094# CHECK-NEXT: lui $4, 0x1 # encoding: [0x01,0x00,0x04,0x3c]95# CHECK-NEXT: addu $4, $4, $5 # encoding: [0x21,0x20,0x85,0x00]96 addu $4, $5, 0xFFFFFFFF # This should be sign-extended because it's a 32-bit add97# CHECK-NEXT: addiu $4, $5, -0x1 # encoding: [0xff,0xff,0xa4,0x24]98 addu $4, $5, ~(0xf0000000|0x0f000000|0x000000f0)99# CHECK-NEXT: lui $4, 0xff # encoding: [0xff,0x00,0x04,0x3c]100# CHECK-NEXT: ori $4, $4, 0xff0f # encoding: [0x0f,0xff,0x84,0x34]101# CHECK-NEXT: addu $4, $4, $5 # encoding: [0x21,0x20,0x85,0x00]102 103 104 and $4, -0x80000000105# CHECK: lui $1, 0x8000 # encoding: [0x00,0x80,0x01,0x3c]106# CHECK-NEXT: and $4, $4, $1 # encoding: [0x24,0x20,0x81,0x00]107 and $4, -0x8001108# CHECK-NEXT: lui $1, 0xffff # encoding: [0xff,0xff,0x01,0x3c]109# CHECK-NEXT: ori $1, $1, 0x7fff # encoding: [0xff,0x7f,0x21,0x34]110# CHECK-NEXT: and $4, $4, $1 # encoding: [0x24,0x20,0x81,0x00]111 and $4, -0x8000112# CHECK-NEXT: addiu $1, $zero, -0x8000 # encoding: [0x00,0x80,0x01,0x24]113# CHECK-NEXT: and $4, $4, $1 # encoding: [0x24,0x20,0x81,0x00]114 and $4, 0115# CHECK-NEXT: andi $4, $4, 0x0 # encoding: [0x00,0x00,0x84,0x30]116 and $4, 0xFFFF117# CHECK-NEXT: andi $4, $4, 0xffff # encoding: [0xff,0xff,0x84,0x30]118 and $4, 0x10000119# CHECK-NEXT: lui $1, 0x1 # encoding: [0x01,0x00,0x01,0x3c]120# CHECK-NEXT: and $4, $4, $1 # encoding: [0x24,0x20,0x81,0x00]121 and $4, 0xFFFFFFFF122# CHECK-NEXT: lui $1, 0xffff # encoding: [0xff,0xff,0x01,0x3c]123# CHECK-NEXT: dsrl32 $1, $1, 0x0 # encoding: [0x3e,0x08,0x01,0x00]124# CHECK-NEXT: and $4, $4, $1 # encoding: [0x24,0x20,0x81,0x00]125 and $4, 0xF0000000126# CHECK-NEXT: ori $1, $zero, 0xf000 # encoding: [0x00,0xf0,0x01,0x34]127# CHECK-NEXT: dsll $1, $1, 0x10 # encoding: [0x38,0x0c,0x01,0x00]128# CHECK-NEXT: and $4, $4, $1 # encoding: [0x24,0x20,0x81,0x00]129 and $4, 0x7FFFFFFF130# CHECK-NEXT: lui $1, 0x7fff # encoding: [0xff,0x7f,0x01,0x3c]131# CHECK-NEXT: ori $1, $1, 0xffff # encoding: [0xff,0xff,0x21,0x34]132# CHECK-NEXT: and $4, $4, $1 # encoding: [0x24,0x20,0x81,0x00]133 and $4, 0x7FFFFFFFFFFFFFFF134# CHECK-NEXT: lui $1, 0x7fff # encoding: [0xff,0x7f,0x01,0x3c]135# CHECK-NEXT: ori $1, $1, 0xffff # encoding: [0xff,0xff,0x21,0x34]136# CHECK-NEXT: dsll $1, $1, 0x10 # encoding: [0x38,0x0c,0x01,0x00]137# CHECK-NEXT: ori $1, $1, 0xffff # encoding: [0xff,0xff,0x21,0x34]138# CHECK-NEXT: dsll $1, $1, 0x10 # encoding: [0x38,0x0c,0x01,0x00]139# CHECK-NEXT: ori $1, $1, 0xffff # encoding: [0xff,0xff,0x21,0x34]140# CHECK-NEXT: and $4, $4, $1 # encoding: [0x24,0x20,0x81,0x00]141 and $4, 0xFFFFFFFFFFFFFFFF142# CHECK-NEXT: addiu $1, $zero, -0x1 # encoding: [0xff,0xff,0x01,0x24]143# CHECK-NEXT: and $4, $4, $1 # encoding: [0x24,0x20,0x81,0x00]144 and $4, 0xF000000000000000145# CHECK-NEXT: ori $1, $zero, 0xf000 # encoding: [0x00,0xf0,0x01,0x34]146# CHECK-NEXT: dsll $1, $1, 0x30 # encoding: [0x3c,0x0c,0x01,0x00]147# CHECK-NEXT: and $4, $4, $1 # encoding: [0x24,0x20,0x81,0x00]148 and $4, ~(0xf0000000|0x0f000000|0x000000f0)149# CHECK-NEXT: addiu $1, $zero, -0x1 # encoding: [0xff,0xff,0x01,0x24]150# CHECK-NEXT: dsll $1, $1, 0x10 # encoding: [0x38,0x0c,0x01,0x00]151# CHECK-NEXT: ori $1, $1, 0xff # encoding: [0xff,0x00,0x21,0x34]152# CHECK-NEXT: dsll $1, $1, 0x10 # encoding: [0x38,0x0c,0x01,0x00]153# CHECK-NEXT: ori $1, $1, 0xff0f # encoding: [0x0f,0xff,0x21,0x34]154# CHECK-NEXT: and $4, $4, $1 # encoding: [0x24,0x20,0x81,0x00]155 156 and $4, $5, -0x80000000157# CHECK: lui $4, 0x8000 # encoding: [0x00,0x80,0x04,0x3c]158# CHECK-NEXT: and $4, $4, $5 # encoding: [0x24,0x20,0x85,0x00]159 and $4, $5, -0x8001160# CHECK-NEXT: lui $4, 0xffff # encoding: [0xff,0xff,0x04,0x3c]161# CHECK-NEXT: ori $4, $4, 0x7fff # encoding: [0xff,0x7f,0x84,0x34]162# CHECK-NEXT: and $4, $4, $5 # encoding: [0x24,0x20,0x85,0x00]163 and $4, $5, -0x8000164# CHECK-NEXT: addiu $4, $zero, -0x8000 # encoding: [0x00,0x80,0x04,0x24]165# CHECK-NEXT: and $4, $4, $5 # encoding: [0x24,0x20,0x85,0x00]166 and $4, $5, 0167# CHECK-NEXT: andi $4, $5, 0x0 # encoding: [0x00,0x00,0xa4,0x30]168 and $4, $5, 0xFFFF169# CHECK-NEXT: andi $4, $5, 0xffff # encoding: [0xff,0xff,0xa4,0x30]170 and $4, $5, 0x10000171# CHECK-NEXT: lui $4, 0x1 # encoding: [0x01,0x00,0x04,0x3c]172# CHECK-NEXT: and $4, $4, $5 # encoding: [0x24,0x20,0x85,0x00]173 and $4, $5, 0xFFFFFFFF174# CHECK-NEXT: lui $4, 0xffff # encoding: [0xff,0xff,0x04,0x3c]175# CHECK-NEXT: dsrl32 $4, $4, 0x0 # encoding: [0x3e,0x20,0x04,0x00]176# CHECK-NEXT: and $4, $4, $5 # encoding: [0x24,0x20,0x85,0x00]177 and $4, $5, 0xF0000000178# CHECK-NEXT: ori $4, $zero, 0xf000 # encoding: [0x00,0xf0,0x04,0x34]179# CHECK-NEXT: dsll $4, $4, 0x10 # encoding: [0x38,0x24,0x04,0x00]180# CHECK-NEXT: and $4, $4, $5 # encoding: [0x24,0x20,0x85,0x00]181 and $4, $5, 0x7FFFFFFF182# CHECK-NEXT: lui $4, 0x7fff # encoding: [0xff,0x7f,0x04,0x3c]183# CHECK-NEXT: ori $4, $4, 0xffff # encoding: [0xff,0xff,0x84,0x34]184# CHECK-NEXT: and $4, $4, $5 # encoding: [0x24,0x20,0x85,0x00]185 and $4, $5, 0x7FFFFFFFFFFFFFFF186# CHECK-NEXT: lui $4, 0x7fff # encoding: [0xff,0x7f,0x04,0x3c]187# CHECK-NEXT: ori $4, $4, 0xffff # encoding: [0xff,0xff,0x84,0x34]188# CHECK-NEXT: dsll $4, $4, 0x10 # encoding: [0x38,0x24,0x04,0x00]189# CHECK-NEXT: ori $4, $4, 0xffff # encoding: [0xff,0xff,0x84,0x34]190# CHECK-NEXT: dsll $4, $4, 0x10 # encoding: [0x38,0x24,0x04,0x00]191# CHECK-NEXT: ori $4, $4, 0xffff # encoding: [0xff,0xff,0x84,0x34]192# CHECK-NEXT: and $4, $4, $5 # encoding: [0x24,0x20,0x85,0x00]193 and $4, $5, 0xFFFFFFFFFFFFFFFF194# CHECK-NEXT: addiu $4, $zero, -0x1 # encoding: [0xff,0xff,0x04,0x24]195# CHECK-NEXT: and $4, $4, $5 # encoding: [0x24,0x20,0x85,0x00]196 and $4, $5, 0xF000000000000000197# CHECK-NEXT: ori $4, $zero, 0xf000 # encoding: [0x00,0xf0,0x04,0x34]198# CHECK-NEXT: dsll $4, $4, 0x30 # encoding: [0x3c,0x24,0x04,0x00]199# CHECK-NEXT: and $4, $4, $5 # encoding: [0x24,0x20,0x85,0x00]200 and $4, $5, ~(0xf0000000|0x0f000000|0x000000f0)201# CHECK-NEXT: addiu $4, $zero, -0x1 # encoding: [0xff,0xff,0x04,0x24]202# CHECK-NEXT: dsll $4, $4, 0x10 # encoding: [0x38,0x24,0x04,0x00]203# CHECK-NEXT: ori $4, $4, 0xff # encoding: [0xff,0x00,0x84,0x34]204# CHECK-NEXT: dsll $4, $4, 0x10 # encoding: [0x38,0x24,0x04,0x00]205# CHECK-NEXT: ori $4, $4, 0xff0f # encoding: [0x0f,0xff,0x84,0x34]206# CHECK-NEXT: and $4, $4, $5 # encoding: [0x24,0x20,0x85,0x00]207 208 or $4, -0x80000000209# CHECK: lui $1, 0x8000 # encoding: [0x00,0x80,0x01,0x3c]210# CHECK-NEXT: or $4, $4, $1 # encoding: [0x25,0x20,0x81,0x00]211 or $4, -0x8001212# CHECK-NEXT: lui $1, 0xffff # encoding: [0xff,0xff,0x01,0x3c]213# CHECK-NEXT: ori $1, $1, 0x7fff # encoding: [0xff,0x7f,0x21,0x34]214# CHECK-NEXT: or $4, $4, $1 # encoding: [0x25,0x20,0x81,0x00]215 or $4, -0x8000216# CHECK-NEXT: addiu $1, $zero, -0x8000 # encoding: [0x00,0x80,0x01,0x24]217# CHECK-NEXT: or $4, $4, $1 # encoding: [0x25,0x20,0x81,0x00]218 or $4, 0219# CHECK-NEXT: ori $4, $4, 0x0 # encoding: [0x00,0x00,0x84,0x34]220 or $4, 0xFFFF221# CHECK-NEXT: ori $4, $4, 0xffff # encoding: [0xff,0xff,0x84,0x34]222 or $4, 0x10000223# CHECK-NEXT: lui $1, 0x1 # encoding: [0x01,0x00,0x01,0x3c]224# CHECK-NEXT: or $4, $4, $1 # encoding: [0x25,0x20,0x81,0x00]225 or $4, 0xFFFFFFFF226# CHECK-NEXT: lui $1, 0xffff # encoding: [0xff,0xff,0x01,0x3c]227# CHECK-NEXT: dsrl32 $1, $1, 0x0 # encoding: [0x3e,0x08,0x01,0x00]228# CHECK-NEXT: or $4, $4, $1 # encoding: [0x25,0x20,0x81,0x00]229 or $4, 0xF0000000230# CHECK-NEXT: ori $1, $zero, 0xf000 # encoding: [0x00,0xf0,0x01,0x34]231# CHECK-NEXT: dsll $1, $1, 0x10 # encoding: [0x38,0x0c,0x01,0x00]232# CHECK-NEXT: or $4, $4, $1 # encoding: [0x25,0x20,0x81,0x00]233 or $4, 0x7FFFFFFF234# CHECK-NEXT: lui $1, 0x7fff # encoding: [0xff,0x7f,0x01,0x3c]235# CHECK-NEXT: ori $1, $1, 0xffff # encoding: [0xff,0xff,0x21,0x34]236# CHECK-NEXT: or $4, $4, $1 # encoding: [0x25,0x20,0x81,0x00]237 or $4, 0x7FFFFFFFFFFFFFFF238# CHECK-NEXT: lui $1, 0x7fff # encoding: [0xff,0x7f,0x01,0x3c]239# CHECK-NEXT: ori $1, $1, 0xffff # encoding: [0xff,0xff,0x21,0x34]240# CHECK-NEXT: dsll $1, $1, 0x10 # encoding: [0x38,0x0c,0x01,0x00]241# CHECK-NEXT: ori $1, $1, 0xffff # encoding: [0xff,0xff,0x21,0x34]242# CHECK-NEXT: dsll $1, $1, 0x10 # encoding: [0x38,0x0c,0x01,0x00]243# CHECK-NEXT: ori $1, $1, 0xffff # encoding: [0xff,0xff,0x21,0x34]244# CHECK-NEXT: or $4, $4, $1 # encoding: [0x25,0x20,0x81,0x00]245 or $4, 0xFFFFFFFFFFFFFFFF246# CHECK-NEXT: addiu $1, $zero, -0x1 # encoding: [0xff,0xff,0x01,0x24]247# CHECK-NEXT: or $4, $4, $1 # encoding: [0x25,0x20,0x81,0x00]248 or $4, 0xF000000000000000249# CHECK-NEXT: ori $1, $zero, 0xf000 # encoding: [0x00,0xf0,0x01,0x34]250# CHECK-NEXT: dsll $1, $1, 0x30 # encoding: [0x3c,0x0c,0x01,0x00]251# CHECK-NEXT: or $4, $4, $1 # encoding: [0x25,0x20,0x81,0x00]252 or $4, $5, ~(0xf0000000|0x0f000000|0x000000f0)253# CHECK-NEXT: addiu $4, $zero, -0x1 # encoding: [0xff,0xff,0x04,0x24]254# CHECK-NEXT: dsll $4, $4, 0x10 # encoding: [0x38,0x24,0x04,0x00]255# CHECK-NEXT: ori $4, $4, 0xff # encoding: [0xff,0x00,0x84,0x34]256# CHECK-NEXT: dsll $4, $4, 0x10 # encoding: [0x38,0x24,0x04,0x00]257# CHECK-NEXT: ori $4, $4, 0xff0f # encoding: [0x0f,0xff,0x84,0x34]258# CHECK-NEXT: or $4, $4, $5 # encoding: [0x25,0x20,0x85,0x00]259 260 or $4, $5, -0x80000000261# CHECK: lui $4, 0x8000 # encoding: [0x00,0x80,0x04,0x3c]262# CHECK-NEXT: or $4, $4, $5 # encoding: [0x25,0x20,0x85,0x00]263 or $4, $5, -0x8001264# CHECK-NEXT: lui $4, 0xffff # encoding: [0xff,0xff,0x04,0x3c]265# CHECK-NEXT: ori $4, $4, 0x7fff # encoding: [0xff,0x7f,0x84,0x34]266# CHECK-NEXT: or $4, $4, $5 # encoding: [0x25,0x20,0x85,0x00]267 or $4, $5, -0x8000268# CHECK-NEXT: addiu $4, $zero, -0x8000 # encoding: [0x00,0x80,0x04,0x24]269# CHECK-NEXT: or $4, $4, $5 # encoding: [0x25,0x20,0x85,0x00]270 or $4, $5, 0271# CHECK-NEXT: ori $4, $5, 0x0 # encoding: [0x00,0x00,0xa4,0x34]272 or $4, $5, 0xFFFF273# CHECK-NEXT: ori $4, $5, 0xffff # encoding: [0xff,0xff,0xa4,0x34]274 or $4, $5, 0x10000275# CHECK-NEXT: lui $4, 0x1 # encoding: [0x01,0x00,0x04,0x3c]276# CHECK-NEXT: or $4, $4, $5 # encoding: [0x25,0x20,0x85,0x00]277 or $4, $5, 0xFFFFFFFF278# CHECK-NEXT: lui $4, 0xffff # encoding: [0xff,0xff,0x04,0x3c]279# CHECK-NEXT: dsrl32 $4, $4, 0x0 # encoding: [0x3e,0x20,0x04,0x00]280# CHECK-NEXT: or $4, $4, $5 # encoding: [0x25,0x20,0x85,0x00]281 or $4, $5, 0xF0000000282# CHECK-NEXT: ori $4, $zero, 0xf000 # encoding: [0x00,0xf0,0x04,0x34]283# CHECK-NEXT: dsll $4, $4, 0x10 # encoding: [0x38,0x24,0x04,0x00]284# CHECK-NEXT: or $4, $4, $5 # encoding: [0x25,0x20,0x85,0x00]285 or $4, $5, 0x7FFFFFFF286# CHECK-NEXT: lui $4, 0x7fff # encoding: [0xff,0x7f,0x04,0x3c]287# CHECK-NEXT: ori $4, $4, 0xffff # encoding: [0xff,0xff,0x84,0x34]288# CHECK-NEXT: or $4, $4, $5 # encoding: [0x25,0x20,0x85,0x00]289 or $4, $5, 0x7FFFFFFFFFFFFFFF290# CHECK-NEXT: lui $4, 0x7fff # encoding: [0xff,0x7f,0x04,0x3c]291# CHECK-NEXT: ori $4, $4, 0xffff # encoding: [0xff,0xff,0x84,0x34]292# CHECK-NEXT: dsll $4, $4, 0x10 # encoding: [0x38,0x24,0x04,0x00]293# CHECK-NEXT: ori $4, $4, 0xffff # encoding: [0xff,0xff,0x84,0x34]294# CHECK-NEXT: dsll $4, $4, 0x10 # encoding: [0x38,0x24,0x04,0x00]295# CHECK-NEXT: ori $4, $4, 0xffff # encoding: [0xff,0xff,0x84,0x34]296# CHECK-NEXT: or $4, $4, $5 # encoding: [0x25,0x20,0x85,0x00]297 or $4, $5, 0xFFFFFFFFFFFFFFFF298# CHECK-NEXT: addiu $4, $zero, -0x1 # encoding: [0xff,0xff,0x04,0x24]299# CHECK-NEXT: or $4, $4, $5 # encoding: [0x25,0x20,0x85,0x00]300 or $4, $5, 0xF000000000000000301# CHECK-NEXT: ori $4, $zero, 0xf000 # encoding: [0x00,0xf0,0x04,0x34]302# CHECK-NEXT: dsll $4, $4, 0x30 # encoding: [0x3c,0x24,0x04,0x00]303# CHECK-NEXT: or $4, $4, $5 # encoding: [0x25,0x20,0x85,0x00]304 or $4, $5, ~(0xf0000000|0x0f000000|0x000000f0)305# CHECK-NEXT: addiu $4, $zero, -0x1 # encoding: [0xff,0xff,0x04,0x24]306# CHECK-NEXT: dsll $4, $4, 0x10 # encoding: [0x38,0x24,0x04,0x00]307# CHECK-NEXT: ori $4, $4, 0xff # encoding: [0xff,0x00,0x84,0x34]308# CHECK-NEXT: dsll $4, $4, 0x10 # encoding: [0x38,0x24,0x04,0x00]309# CHECK-NEXT: ori $4, $4, 0xff0f # encoding: [0x0f,0xff,0x84,0x34]310# CHECK-NEXT: or $4, $4, $5 # encoding: [0x25,0x20,0x85,0x00]311 312 xor $4, -0x80000000313# CHECK: lui $1, 0x8000 # encoding: [0x00,0x80,0x01,0x3c]314# CHECK-NEXT: xor $4, $4, $1 # encoding: [0x26,0x20,0x81,0x00]315 xor $4, -0x8001316# CHECK-NEXT: lui $1, 0xffff # encoding: [0xff,0xff,0x01,0x3c]317# CHECK-NEXT: ori $1, $1, 0x7fff # encoding: [0xff,0x7f,0x21,0x34]318# CHECK-NEXT: xor $4, $4, $1 # encoding: [0x26,0x20,0x81,0x00]319 xor $4, -0x8000320# CHECK-NEXT: addiu $1, $zero, -0x8000 # encoding: [0x00,0x80,0x01,0x24]321# CHECK-NEXT: xor $4, $4, $1 # encoding: [0x26,0x20,0x81,0x00]322 xor $4, 0323# CHECK-NEXT: xori $4, $4, 0x0 # encoding: [0x00,0x00,0x84,0x38]324 xor $4, 0xFFFF325# CHECK-NEXT: xori $4, $4, 0xffff # encoding: [0xff,0xff,0x84,0x38]326 xor $4, 0x10000327# CHECK-NEXT: lui $1, 0x1 # encoding: [0x01,0x00,0x01,0x3c]328# CHECK-NEXT: xor $4, $4, $1 # encoding: [0x26,0x20,0x81,0x00]329 xor $4, 0xFFFFFFFF330# CHECK-NEXT: lui $1, 0xffff # encoding: [0xff,0xff,0x01,0x3c]331# CHECK-NEXT: dsrl32 $1, $1, 0x0 # encoding: [0x3e,0x08,0x01,0x00]332# CHECK-NEXT: xor $4, $4, $1 # encoding: [0x26,0x20,0x81,0x00]333 xor $4, 0xF0000000334# CHECK-NEXT: ori $1, $zero, 0xf000 # encoding: [0x00,0xf0,0x01,0x34]335# CHECK-NEXT: dsll $1, $1, 0x10 # encoding: [0x38,0x0c,0x01,0x00]336# CHECK-NEXT: xor $4, $4, $1 # encoding: [0x26,0x20,0x81,0x00337 xor $4, 0x7FFFFFFF338# CHECK-NEXT: lui $1, 0x7fff # encoding: [0xff,0x7f,0x01,0x3c]339# CHECK-NEXT: ori $1, $1, 0xffff # encoding: [0xff,0xff,0x21,0x34]340# CHECK-NEXT: xor $4, $4, $1 # encoding: [0x26,0x20,0x81,0x00]341 xor $4, 0x7FFFFFFFFFFFFFFF342# CHECK-NEXT: lui $1, 0x7fff # encoding: [0xff,0x7f,0x01,0x3c]343# CHECK-NEXT: ori $1, $1, 0xffff # encoding: [0xff,0xff,0x21,0x34]344# CHECK-NEXT: dsll $1, $1, 0x10 # encoding: [0x38,0x0c,0x01,0x00]345# CHECK-NEXT: ori $1, $1, 0xffff # encoding: [0xff,0xff,0x21,0x34]346# CHECK-NEXT: dsll $1, $1, 0x10 # encoding: [0x38,0x0c,0x01,0x00]347# CHECK-NEXT: ori $1, $1, 0xffff # encoding: [0xff,0xff,0x21,0x34]348# CHECK-NEXT: xor $4, $4, $1 # encoding: [0x26,0x20,0x81,0x00]349 xor $4, 0xFFFFFFFFFFFFFFFF350# CHECK-NEXT: addiu $1, $zero, -0x1 # encoding: [0xff,0xff,0x01,0x24]351# CHECK-NEXT: xor $4, $4, $1 # encoding: [0x26,0x20,0x81,0x00]352 xor $4, 0xF000000000000000353# CHECK-NEXT: ori $1, $zero, 0xf000 # encoding: [0x00,0xf0,0x01,0x34]354# CHECK-NEXT: dsll $1, $1, 0x30 # encoding: [0x3c,0x0c,0x01,0x00]355# CHECK-NEXT: xor $4, $4, $1 # encoding: [0x26,0x20,0x81,0x00]356 xor $4, ~(0xf0000000|0x0f000000|0x000000f0)357# CHECK-NEXT: addiu $1, $zero, -0x1 # encoding: [0xff,0xff,0x01,0x24]358# CHECK-NEXT: dsll $1, $1, 0x10 # encoding: [0x38,0x0c,0x01,0x00]359# CHECK-NEXT: ori $1, $1, 0xff # encoding: [0xff,0x00,0x21,0x34]360# CHECK-NEXT: dsll $1, $1, 0x10 # encoding: [0x38,0x0c,0x01,0x00]361# CHECK-NEXT: ori $1, $1, 0xff0f # encoding: [0x0f,0xff,0x21,0x34]362# CHECK-NEXT: xor $4, $4, $1 # encoding: [0x26,0x20,0x81,0x00]363 364 xor $4, $5, -0x80000000365# CHECK: lui $4, 0x8000 # encoding: [0x00,0x80,0x04,0x3c]366# CHECK-NEXT: xor $4, $4, $5 # encoding: [0x26,0x20,0x85,0x00]367 xor $4, $5, -0x8001368# CHECK-NEXT: lui $4, 0xffff # encoding: [0xff,0xff,0x04,0x3c]369# CHECK-NEXT: ori $4, $4, 0x7fff # encoding: [0xff,0x7f,0x84,0x34]370# CHECK-NEXT: xor $4, $4, $5 # encoding: [0x26,0x20,0x85,0x00]371 xor $4, $5, -0x8000372# CHECK-NEXT: addiu $4, $zero, -0x8000 # encoding: [0x00,0x80,0x04,0x24]373# CHECK-NEXT: xor $4, $4, $5 # encoding: [0x26,0x20,0x85,0x00]374 xor $4, $5, 0375# CHECK-NEXT: xori $4, $5, 0x0 # encoding: [0x00,0x00,0xa4,0x38]376 xor $4, $5, 0xFFFF377# CHECK-NEXT: xori $4, $5, 0xffff # encoding: [0xff,0xff,0xa4,0x38]378 xor $4, $5, 0x10000379# CHECK-NEXT: lui $4, 0x1 # encoding: [0x01,0x00,0x04,0x3c]380# CHECK-NEXT: xor $4, $4, $5 # encoding: [0x26,0x20,0x85,0x00]381 xor $4, $5, 0xFFFFFFFF382# CHECK-NEXT: lui $4, 0xffff # encoding: [0xff,0xff,0x04,0x3c]383# CHECK-NEXT: dsrl32 $4, $4, 0x0 # encoding: [0x3e,0x20,0x04,0x00]384# CHECK-NEXT: xor $4, $4, $5 # encoding: [0x26,0x20,0x85,0x00]385 xor $4, $5, 0xF0000000386# CHECK-NEXT: ori $4, $zero, 0xf000 # encoding: [0x00,0xf0,0x04,0x34]387# CHECK-NEXT: dsll $4, $4, 0x10 # encoding: [0x38,0x24,0x04,0x00]388# CHECK-NEXT: xor $4, $4, $5 # encoding: [0x26,0x20,0x85,0x00]389 xor $4, $5, 0x7FFFFFFF390# CHECK-NEXT: lui $4, 0x7fff # encoding: [0xff,0x7f,0x04,0x3c]391# CHECK-NEXT: ori $4, $4, 0xffff # encoding: [0xff,0xff,0x84,0x34]392# CHECK-NEXT: xor $4, $4, $5 # encoding: [0x26,0x20,0x85,0x00]393 xor $4, $5, 0x7FFFFFFFFFFFFFFF394# FIXME: this is awfully inefficient...395# CHECK-NEXT: lui $4, 0x7fff # encoding: [0xff,0x7f,0x04,0x3c]396# CHECK-NEXT: ori $4, $4, 0xffff # encoding: [0xff,0xff,0x84,0x34]397# CHECK-NEXT: dsll $4, $4, 0x10 # encoding: [0x38,0x24,0x04,0x00]398# CHECK-NEXT: ori $4, $4, 0xffff # encoding: [0xff,0xff,0x84,0x34]399# CHECK-NEXT: dsll $4, $4, 0x10 # encoding: [0x38,0x24,0x04,0x00]400# CHECK-NEXT: ori $4, $4, 0xffff # encoding: [0xff,0xff,0x84,0x34]401# CHECK-NEXT: xor $4, $4, $5 # encoding: [0x26,0x20,0x85,0x00]402 xor $4, $5, 0xFFFFFFFFFFFFFFFF403# CHECK-NEXT: addiu $4, $zero, -0x1 # encoding: [0xff,0xff,0x04,0x24]404# CHECK-NEXT: xor $4, $4, $5 # encoding: [0x26,0x20,0x85,0x00]405 xor $4, $5, 0xF000000000000000406# CHECK-NEXT: ori $4, $zero, 0xf000 # encoding: [0x00,0xf0,0x04,0x34]407# CHECK-NEXT: dsll $4, $4, 0x30 # encoding: [0x3c,0x24,0x04,0x00]408# CHECK-NEXT: xor $4, $4, $5 # encoding: [0x26,0x20,0x85,0x00]409 xor $4, $5, ~(0xf0000000|0x0f000000|0x000000f0)410# CHECK-NEXT: addiu $4, $zero, -0x1 # encoding: [0xff,0xff,0x04,0x24]411# CHECK-NEXT: dsll $4, $4, 0x10 # encoding: [0x38,0x24,0x04,0x00]412# CHECK-NEXT: ori $4, $4, 0xff # encoding: [0xff,0x00,0x84,0x34]413# CHECK-NEXT: dsll $4, $4, 0x10 # encoding: [0x38,0x24,0x04,0x00]414# CHECK-NEXT: ori $4, $4, 0xff0f # encoding: [0x0f,0xff,0x84,0x34]415# CHECK-NEXT: xor $4, $4, $5 # encoding: [0x26,0x20,0x85,0x00]416 417 nor $4, 0418# CHECK: addiu $1, $zero, 0x0 # encoding: [0x00,0x00,0x01,0x24]419# CHECK-NEXT: nor $4, $4, $1 # encoding: [0x27,0x20,0x81,0x00]420 nor $4, 1421# CHECK-NEXT: addiu $1, $zero, 0x1 # encoding: [0x01,0x00,0x01,0x24]422# CHECK-NEXT: nor $4, $4, $1 # encoding: [0x27,0x20,0x81,0x00]423 nor $4, 0x8000424# CHECK-NEXT: ori $1, $zero, 0x8000 # encoding: [0x00,0x80,0x01,0x34]425# CHECK-NEXT: nor $4, $4, $1 # encoding: [0x27,0x20,0x81,0x00]426 nor $4, -0x8000427# CHECK-NEXT: addiu $1, $zero, -0x8000 # encoding: [0x00,0x80,0x01,0x24]428# CHECK-NEXT: nor $4, $4, $1 # encoding: [0x27,0x20,0x81,0x00]429 nor $4, 0x10000430# CHECK-NEXT: lui $1, 0x1 # encoding: [0x01,0x00,0x01,0x3c]431# CHECK-NEXT: nor $4, $4, $1 # encoding: [0x27,0x20,0x81,0x00]432 nor $4, 0x1a5a5433# CHECK-NEXT: lui $1, 0x1 # encoding: [0x01,0x00,0x01,0x3c]434# CHECK-NEXT: ori $1, $1, 0xa5a5 # encoding: [0xa5,0xa5,0x21,0x34]435# CHECK-NEXT: nor $4, $4, $1 # encoding: [0x27,0x20,0x81,0x00]436 nor $4, 0xFFFFFFFF437# CHECK-NEXT: lui $1, 0xffff # encoding: [0xff,0xff,0x01,0x3c]438# CHECK-NEXT: dsrl32 $1, $1, 0x0 # encoding: [0x3e,0x08,0x01,0x00]439# CHECK-NEXT: nor $4, $4, $1 # encoding: [0x27,0x20,0x81,0x00]440 nor $4, 0xF0000000441# CHECK-NEXT: ori $1, $zero, 0xf000 # encoding: [0x00,0xf0,0x01,0x34]442# CHECK-NEXT: dsll $1, $1, 0x10 # encoding: [0x38,0x0c,0x01,0x00]443# CHECK-NEXT: nor $4, $4, $1 # encoding: [0x27,0x20,0x81,0x00]444 nor $4, 0x7FFFFFFF445# CHECK-NEXT: lui $1, 0x7fff # encoding: [0xff,0x7f,0x01,0x3c]446# CHECK-NEXT: ori $1, $1, 0xffff # encoding: [0xff,0xff,0x21,0x34]447# CHECK-NEXT: nor $4, $4, $1 # encoding: [0x27,0x20,0x81,0x00]448 nor $4, 0x7FFFFFFFFFFFFFF449# CHECK-NEXT: lui $1, 0x7ff # encoding: [0xff,0x07,0x01,0x3c]450# CHECK-NEXT: ori $1, $1, 0xffff # encoding: [0xff,0xff,0x21,0x34]451# CHECK-NEXT: dsll $1, $1, 0x10 # encoding: [0x38,0x0c,0x01,0x00]452# CHECK-NEXT: ori $1, $1, 0xffff # encoding: [0xff,0xff,0x21,0x34]453# CHECK-NEXT: dsll $1, $1, 0x10 # encoding: [0x38,0x0c,0x01,0x00]454# CHECK-NEXT: ori $1, $1, 0xffff # encoding: [0xff,0xff,0x21,0x34]455# CHECK-NEXT: nor $4, $4, $1 # encoding: [0x27,0x20,0x81,0x00]456 nor $4, 0xFFFFFFFFFFFFFFFF457# CHECK-NEXT: addiu $1, $zero, -0x1 # encoding: [0xff,0xff,0x01,0x24]458# CHECK-NEXT: nor $4, $4, $1 # encoding: [0x27,0x20,0x81,0x00]459 nor $4, 0xF000000000000000460# CHECK-NEXT: ori $1, $zero, 0xf000 # encoding: [0x00,0xf0,0x01,0x34]461# CHECK-NEXT: dsll $1, $1, 0x30 # encoding: [0x3c,0x0c,0x01,0x00]462# CHECK-NEXT: nor $4, $4, $1 # encoding: [0x27,0x20,0x81,0x00]463 nor $4, ~(0xf0000000|0x0f000000|0x000000f0)464# CHECK-NEXT: addiu $1, $zero, -0x1 # encoding: [0xff,0xff,0x01,0x24]465# CHECK-NEXT: dsll $1, $1, 0x10 # encoding: [0x38,0x0c,0x01,0x00]466# CHECK-NEXT: ori $1, $1, 0xff # encoding: [0xff,0x00,0x21,0x34]467# CHECK-NEXT: dsll $1, $1, 0x10 # encoding: [0x38,0x0c,0x01,0x00]468# CHECK-NEXT: ori $1, $1, 0xff0f # encoding: [0x0f,0xff,0x21,0x34]469# CHECK-NEXT: nor $4, $4, $1 # encoding: [0x27,0x20,0x81,0x00]470 nor $4, 0xff00ff00471# CHECK-NEXT: ori $1, $zero, 0xff00 # encoding: [0x00,0xff,0x01,0x34]472# CHECK-NEXT: dsll $1, $1, 0x10 # encoding: [0x38,0x0c,0x01,0x00]473# CHECK-NEXT: ori $1, $1, 0xff00 # encoding: [0x00,0xff,0x21,0x34]474# CHECK-NEXT: nor $4, $4, $1 # encoding: [0x27,0x20,0x81,0x00]475 476 nor $4, $5, 0477# CHECK: addiu $4, $zero, 0x0 # encoding: [0x00,0x00,0x04,0x24]478# CHECK-NEXT: nor $4, $4, $5 # encoding: [0x27,0x20,0x85,0x00]479 nor $4, $5, 1480# CHECK-NEXT: addiu $4, $zero, 0x1 # encoding: [0x01,0x00,0x04,0x24]481# CHECK-NEXT: nor $4, $4, $5 # encoding: [0x27,0x20,0x85,0x00]482 nor $4, $5, 0x8000483# CHECK-NEXT: ori $4, $zero, 0x8000 # encoding: [0x00,0x80,0x04,0x34]484# CHECK-NEXT: nor $4, $4, $5 # encoding: [0x27,0x20,0x85,0x00]485 nor $4, $5, -0x8000486# CHECK-NEXT: addiu $4, $zero, -0x8000 # encoding: [0x00,0x80,0x04,0x24]487# CHECK-NEXT: nor $4, $4, $5 # encoding: [0x27,0x20,0x85,0x00]488 nor $4, $5, 0x10000489# CHECK-NEXT: lui $4, 0x1 # encoding: [0x01,0x00,0x04,0x3c]490# CHECK-NEXT: nor $4, $4, $5 # encoding: [0x27,0x20,0x85,0x00]491 nor $4, $5, 0x1a5a5492# CHECK-NEXT: lui $4, 0x1 # encoding: [0x01,0x00,0x04,0x3c]493# CHECK-NEXT: ori $4, $4, 0xa5a5 # encoding: [0xa5,0xa5,0x84,0x34]494# CHECK-NEXT: nor $4, $4, $5 # encoding: [0x27,0x20,0x85,0x00]495 nor $4, $5, 0xFFFFFFFF496# CHECK-NEXT: lui $4, 0xffff # encoding: [0xff,0xff,0x04,0x3c]497# CHECK-NEXT: dsrl32 $4, $4, 0x0 # encoding: [0x3e,0x20,0x04,0x00]498# CHECK-NEXT: nor $4, $4, $5 # encoding: [0x27,0x20,0x85,0x00]499 nor $4, $5, 0xF0000000500# CHECK-NEXT: ori $4, $zero, 0xf000 # encoding: [0x00,0xf0,0x04,0x34]501# CHECK-NEXT: dsll $4, $4, 0x10 # encoding: [0x38,0x24,0x04,0x00]502# CHECK-NEXT: nor $4, $4, $5 # encoding: [0x27,0x20,0x85,0x00]503 nor $4, $5, 0x7FFFFFFF504# CHECK-NEXT: lui $4, 0x7fff # encoding: [0xff,0x7f,0x04,0x3c]505# CHECK-NEXT: ori $4, $4, 0xffff # encoding: [0xff,0xff,0x84,0x34]506# CHECK-NEXT: nor $4, $4, $5 # encoding: [0x27,0x20,0x85,0x00]507 nor $4, $5, 0x7FFFFFFFFFFFFFFF508# FIXME: this is awfully inefficient...509# CHECK-NEXT: lui $4, 0x7fff # encoding: [0xff,0x7f,0x04,0x3c]510# CHECK-NEXT: ori $4, $4, 0xffff # encoding: [0xff,0xff,0x84,0x34]511# CHECK-NEXT: dsll $4, $4, 0x10 # encoding: [0x38,0x24,0x04,0x00]512# CHECK-NEXT: ori $4, $4, 0xffff # encoding: [0xff,0xff,0x84,0x34]513# CHECK-NEXT: dsll $4, $4, 0x10 # encoding: [0x38,0x24,0x04,0x00]514# CHECK-NEXT: ori $4, $4, 0xffff # encoding: [0xff,0xff,0x84,0x34]515# CHECK-NEXT: nor $4, $4, $5 # encoding: [0x27,0x20,0x85,0x00]516 nor $4, $5, 0xFFFFFFFFFFFFFFFF517# CHECK-NEXT: addiu $4, $zero, -0x1 # encoding: [0xff,0xff,0x04,0x24]518# CHECK-NEXT: nor $4, $4, $5 # encoding: [0x27,0x20,0x85,0x00]519 nor $4, $5, 0xF000000000000000520# CHECK-NEXT: ori $4, $zero, 0xf000 # encoding: [0x00,0xf0,0x04,0x34]521# CHECK-NEXT: dsll $4, $4, 0x30 # encoding: [0x3c,0x24,0x04,0x00]522# CHECK-NEXT: nor $4, $4, $5 # encoding: [0x27,0x20,0x85,0x00]523 nor $4, $5, ~(0xf0000000|0x0f000000|0x000000f0)524# CHECK-NEXT: addiu $4, $zero, -0x1 # encoding: [0xff,0xff,0x04,0x24]525# CHECK-NEXT: dsll $4, $4, 0x10 # encoding: [0x38,0x24,0x04,0x00]526# CHECK-NEXT: ori $4, $4, 0xff # encoding: [0xff,0x00,0x84,0x34]527# CHECK-NEXT: dsll $4, $4, 0x10 # encoding: [0x38,0x24,0x04,0x00]528# CHECK-NEXT: ori $4, $4, 0xff0f # encoding: [0x0f,0xff,0x84,0x34]529# CHECK-NEXT: nor $4, $4, $5 # encoding: [0x27,0x20,0x85,0x00]530 nor $4, $5, 0xff00ff00531# CHECK-NEXT: ori $4, $zero, 0xff00 # encoding: [0x00,0xff,0x04,0x34]532# CHECK-NEXT: dsll $4, $4, 0x10 # encoding: [0x38,0x24,0x04,0x00]533# CHECK-NEXT: ori $4, $4, 0xff00 # encoding: [0x00,0xff,0x84,0x34]534# CHECK-NEXT: nor $4, $4, $5 # encoding: [0x27,0x20,0x85,0x00]535 536 537 slt $4, -0x80000000538# CHECK: lui $1, 0x8000 # encoding: [0x00,0x80,0x01,0x3c]539# CHECK-NEXT: slt $4, $4, $1 # encoding: [0x2a,0x20,0x81,0x00]540 slt $4, -0x8001541# CHECK-NEXT: lui $1, 0xffff # encoding: [0xff,0xff,0x01,0x3c]542# CHECK-NEXT: ori $1, $1, 0x7fff # encoding: [0xff,0x7f,0x21,0x34]543# CHECK-NEXT: slt $4, $4, $1 # encoding: [0x2a,0x20,0x81,0x00]544 slt $4, -0x8000545# CHECK-NEXT: slti $4, $4, -0x8000 # encoding: [0x00,0x80,0x84,0x28]546 slt $4, 0547# CHECK-NEXT: slti $4, $4, 0x0 # encoding: [0x00,0x00,0x84,0x28]548 slt $4, 0xFFFF549# CHECK-NEXT: ori $1, $zero, 0xffff # encoding: [0xff,0xff,0x01,0x34]550# CHECK-NEXT: slt $4, $4, $1 # encoding: [0x2a,0x20,0x81,0x00]551 slt $4, 0x10000552# CHECK-NEXT: lui $1, 0x1 # encoding: [0x01,0x00,0x01,0x3c]553# CHECK-NEXT: slt $4, $4, $1 # encoding: [0x2a,0x20,0x81,0x00]554 slt $4, 0xFFFFFFFF555# CHECK-NEXT: lui $1, 0xffff # encoding: [0xff,0xff,0x01,0x3c]556# CHECK-NEXT: dsrl32 $1, $1, 0x0 # encoding: [0x3e,0x08,0x01,0x00]557# CHECK-NEXT: slt $4, $4, $1 # encoding: [0x2a,0x20,0x81,0x00]558 slt $4, 0xF0000000559# CHECK-NEXT: ori $1, $zero, 0xf000 # encoding: [0x00,0xf0,0x01,0x34]560# CHECK-NEXT: dsll $1, $1, 0x10 # encoding: [0x38,0x0c,0x01,0x00]561# CHECK-NEXT: slt $4, $4, $1 # encoding: [0x2a,0x20,0x81,0x00]562 slt $4, 0x7FFFFFFF563# CHECK-NEXT: lui $1, 0x7fff # encoding: [0xff,0x7f,0x01,0x3c]564# CHECK-NEXT: ori $1, $1, 0xffff # encoding: [0xff,0xff,0x21,0x34]565# CHECK-NEXT: slt $4, $4, $1 # encoding: [0x2a,0x20,0x81,0x00]566 slt $4, 0x7FFFFFFFFFFFFFFF567# CHECK-NEXT: lui $1, 0x7fff # encoding: [0xff,0x7f,0x01,0x3c]568# CHECK-NEXT: ori $1, $1, 0xffff # encoding: [0xff,0xff,0x21,0x34]569# CHECK-NEXT: dsll $1, $1, 0x10 # encoding: [0x38,0x0c,0x01,0x00]570# CHECK-NEXT: ori $1, $1, 0xffff # encoding: [0xff,0xff,0x21,0x34]571# CHECK-NEXT: dsll $1, $1, 0x10 # encoding: [0x38,0x0c,0x01,0x00]572# CHECK-NEXT: ori $1, $1, 0xffff # encoding: [0xff,0xff,0x21,0x34]573# CHECK-NEXT: slt $4, $4, $1 # encoding: [0x2a,0x20,0x81,0x00]574 slt $4, 0xFFFFFFFFFFFFFFFF575# CHECK-NEXT: slti $4, $4, -0x1 # encoding: [0xff,0xff,0x84,0x28]576 slt $4, 0xF000000000000000577# CHECK-NEXT: ori $1, $zero, 0xf000 # encoding: [0x00,0xf0,0x01,0x34]578# CHECK-NEXT: dsll $1, $1, 0x30 # encoding: [0x3c,0x0c,0x01,0x00]579# CHECK-NEXT: slt $4, $4, $1 # encoding: [0x2a,0x20,0x81,0x00]580 slt $4, ~(0xf0000000|0x0f000000|0x000000f0)581# CHECK-NEXT: addiu $1, $zero, -0x1 # encoding: [0xff,0xff,0x01,0x24]582# CHECK-NEXT: dsll $1, $1, 0x10 # encoding: [0x38,0x0c,0x01,0x00]583# CHECK-NEXT: ori $1, $1, 0xff # encoding: [0xff,0x00,0x21,0x34]584# CHECK-NEXT: dsll $1, $1, 0x10 # encoding: [0x38,0x0c,0x01,0x00]585# CHECK-NEXT: ori $1, $1, 0xff0f # encoding: [0x0f,0xff,0x21,0x34]586# CHECK-NEXT: slt $4, $4, $1 # encoding: [0x2a,0x20,0x81,0x00]587 588 slt $4, $5, -0x80000000589# CHECK: lui $4, 0x8000 # encoding: [0x00,0x80,0x04,0x3c]590# CHECK-NEXT: slt $4, $4, $5 # encoding: [0x2a,0x20,0x85,0x00]591 slt $4, $5, -0x8001592# CHECK-NEXT: lui $4, 0xffff # encoding: [0xff,0xff,0x04,0x3c]593# CHECK-NEXT: ori $4, $4, 0x7fff # encoding: [0xff,0x7f,0x84,0x34]594# CHECK-NEXT: slt $4, $4, $5 # encoding: [0x2a,0x20,0x85,0x00]595 slt $4, $5, -0x8000596# CHECK-NEXT: slti $4, $5, -0x8000 # encoding: [0x00,0x80,0xa4,0x28]597 slt $4, $5, 0598# CHECK-NEXT: slti $4, $5, 0x0 # encoding: [0x00,0x00,0xa4,0x28]599 slt $4, $5, 0xFFFF600# CHECK-NEXT: ori $4, $zero, 0xffff # encoding: [0xff,0xff,0x04,0x34]601# CHECK-NEXT: slt $4, $4, $5 # encoding: [0x2a,0x20,0x85,0x00]602 slt $4, $5, 0x10000603# CHECK-NEXT: lui $4, 0x1 # encoding: [0x01,0x00,0x04,0x3c]604# CHECK-NEXT: slt $4, $4, $5 # encoding: [0x2a,0x20,0x85,0x00]605 slt $4, $5, 0xFFFFFFFF606# CHECK-NEXT: lui $4, 0xffff # encoding: [0xff,0xff,0x04,0x3c]607# CHECK-NEXT: dsrl32 $4, $4, 0x0 # encoding: [0x3e,0x20,0x04,0x00]608# CHECK-NEXT: slt $4, $4, $5 # encoding: [0x2a,0x20,0x85,0x00]609 slt $4, $5, 0xF0000000610# CHECK-NEXT: ori $4, $zero, 0xf000 # encoding: [0x00,0xf0,0x04,0x34]611# CHECK-NEXT: dsll $4, $4, 0x10 # encoding: [0x38,0x24,0x04,0x00]612# CHECK-NEXT: slt $4, $4, $5 # encoding: [0x2a,0x20,0x85,0x00]613 slt $4, $5, 0x7FFFFFFF614# CHECK-NEXT: lui $4, 0x7fff # encoding: [0xff,0x7f,0x04,0x3c]615# CHECK-NEXT: ori $4, $4, 0xffff # encoding: [0xff,0xff,0x84,0x34]616# CHECK-NEXT: slt $4, $4, $5 # encoding: [0x2a,0x20,0x85,0x00]617 slt $4, $5, 0x7FFFFFFFFFFFFFFF618# FIXME: this is awfully inefficient...619# CHECK-NEXT: lui $4, 0x7fff # encoding: [0xff,0x7f,0x04,0x3c]620# CHECK-NEXT: ori $4, $4, 0xffff # encoding: [0xff,0xff,0x84,0x34]621# CHECK-NEXT: dsll $4, $4, 0x10 # encoding: [0x38,0x24,0x04,0x00]622# CHECK-NEXT: ori $4, $4, 0xffff # encoding: [0xff,0xff,0x84,0x34]623# CHECK-NEXT: dsll $4, $4, 0x10 # encoding: [0x38,0x24,0x04,0x00]624# CHECK-NEXT: ori $4, $4, 0xffff # encoding: [0xff,0xff,0x84,0x34]625# CHECK-NEXT: slt $4, $4, $5 # encoding: [0x2a,0x20,0x85,0x00]626 slt $4, $5, 0xFFFFFFFFFFFFFFFF627# CHECK-NEXT: slti $4, $5, -0x1 # encoding: [0xff,0xff,0xa4,0x28]628 slt $4, $5, 0xF000000000000000629# CHECK-NEXT: ori $4, $zero, 0xf000 # encoding: [0x00,0xf0,0x04,0x34]630# CHECK-NEXT: dsll $4, $4, 0x30 # encoding: [0x3c,0x24,0x04,0x00]631# CHECK-NEXT: slt $4, $4, $5 # encoding: [0x2a,0x20,0x85,0x00]632 slt $4, $5, ~(0xf0000000|0x0f000000|0x000000f0)633# CHECK-NEXT: addiu $4, $zero, -0x1 # encoding: [0xff,0xff,0x04,0x24]634# CHECK-NEXT: dsll $4, $4, 0x10 # encoding: [0x38,0x24,0x04,0x00]635# CHECK-NEXT: ori $4, $4, 0xff # encoding: [0xff,0x00,0x84,0x34]636# CHECK-NEXT: dsll $4, $4, 0x10 # encoding: [0x38,0x24,0x04,0x00]637# CHECK-NEXT: ori $4, $4, 0xff0f # encoding: [0x0f,0xff,0x84,0x34]638# CHECK-NEXT: slt $4, $4, $5 # encoding: [0x2a,0x20,0x85,0x00]639 640 sltu $4, -0x80000000641# CHECK: lui $1, 0x8000 # encoding: [0x00,0x80,0x01,0x3c]642# CHECK-NEXT: sltu $4, $4, $1 # encoding: [0x2b,0x20,0x81,0x00]643 sltu $4, -0x8001644# CHECK-NEXT: lui $1, 0xffff # encoding: [0xff,0xff,0x01,0x3c]645# CHECK-NEXT: ori $1, $1, 0x7fff # encoding: [0xff,0x7f,0x21,0x34]646# CHECK-NEXT: sltu $4, $4, $1 # encoding: [0x2b,0x20,0x81,0x00]647 sltu $4, -0x8000648# CHECK-NEXT: sltiu $4, $4, -0x8000 # encoding: [0x00,0x80,0x84,0x2c]649 sltu $4, 0650# CHECK-NEXT: sltiu $4, $4, 0x0 # encoding: [0x00,0x00,0x84,0x2c]651 sltu $4, 0xFFFF652# CHECK-NEXT: ori $1, $zero, 0xffff # encoding: [0xff,0xff,0x01,0x34]653# CHECK-NEXT: sltu $4, $4, $1 # encoding: [0x2b,0x20,0x81,0x00]654 sltu $4, 0x10000655# CHECK-NEXT: lui $1, 0x1 # encoding: [0x01,0x00,0x01,0x3c]656# CHECK-NEXT: sltu $4, $4, $1 # encoding: [0x2b,0x20,0x81,0x00]657 sltu $4, 0xFFFFFFFF658# CHECK-NEXT: lui $1, 0xffff # encoding: [0xff,0xff,0x01,0x3c]659# CHECK-NEXT: dsrl32 $1, $1, 0x0 # encoding: [0x3e,0x08,0x01,0x00]660# CHECK-NEXT: sltu $4, $4, $1 # encoding: [0x2b,0x20,0x81,0x00]661 sltu $4, 0xF0000000662# CHECK-NEXT: ori $1, $zero, 0xf000 # encoding: [0x00,0xf0,0x01,0x34]663# CHECK-NEXT: dsll $1, $1, 0x10 # encoding: [0x38,0x0c,0x01,0x00]664# CHECK-NEXT: sltu $4, $4, $1 # encoding: [0x2b,0x20,0x81,0x00]665 sltu $4, 0x7FFFFFFF666# CHECK-NEXT: lui $1, 0x7fff # encoding: [0xff,0x7f,0x01,0x3c]667# CHECK-NEXT: ori $1, $1, 0xffff # encoding: [0xff,0xff,0x21,0x34]668# CHECK-NEXT: sltu $4, $4, $1 # encoding: [0x2b,0x20,0x81,0x00]669 sltu $4, 0x7FFFFFFFFFFFFFFF670# CHECK-NEXT: lui $1, 0x7fff # encoding: [0xff,0x7f,0x01,0x3c]671# CHECK-NEXT: ori $1, $1, 0xffff # encoding: [0xff,0xff,0x21,0x34]672# CHECK-NEXT: dsll $1, $1, 0x10 # encoding: [0x38,0x0c,0x01,0x00]673# CHECK-NEXT: ori $1, $1, 0xffff # encoding: [0xff,0xff,0x21,0x34]674# CHECK-NEXT: dsll $1, $1, 0x10 # encoding: [0x38,0x0c,0x01,0x00]675# CHECK-NEXT: ori $1, $1, 0xffff # encoding: [0xff,0xff,0x21,0x34]676# CHECK-NEXT: sltu $4, $4, $1 # encoding: [0x2b,0x20,0x81,0x00]677 sltu $4, 0xFFFFFFFFFFFFFFFF678# CHECK-NEXT: sltiu $4, $4, -0x1 # encoding: [0xff,0xff,0x84,0x2c]679 sltu $4, 0xF000000000000000680# CHECK-NEXT: ori $1, $zero, 0xf000 # encoding: [0x00,0xf0,0x01,0x34]681# CHECK-NEXT: dsll $1, $1, 0x30 # encoding: [0x3c,0x0c,0x01,0x00]682# CHECK-NEXT: sltu $4, $4, $1 # encoding: [0x2b,0x20,0x81,0x00]683 sltu $4, ~(0xf0000000|0x0f000000|0x000000f0)684# CHECK-NEXT: addiu $1, $zero, -0x1 # encoding: [0xff,0xff,0x01,0x24]685# CHECK-NEXT: dsll $1, $1, 0x10 # encoding: [0x38,0x0c,0x01,0x00]686# CHECK-NEXT: ori $1, $1, 0xff # encoding: [0xff,0x00,0x21,0x34]687# CHECK-NEXT: dsll $1, $1, 0x10 # encoding: [0x38,0x0c,0x01,0x00]688# CHECK-NEXT: ori $1, $1, 0xff0f # encoding: [0x0f,0xff,0x21,0x34]689# CHECK-NEXT: sltu $4, $4, $1 # encoding: [0x2b,0x20,0x81,0x00]690 691 sltu $4, $5, -0x80000000692# CHECK: lui $4, 0x8000 # encoding: [0x00,0x80,0x04,0x3c]693# CHECK-NEXT: sltu $4, $4, $5 # encoding: [0x2b,0x20,0x85,0x00]694 sltu $4, $5, -0x8001695# CHECK-NEXT: lui $4, 0xffff # encoding: [0xff,0xff,0x04,0x3c]696# CHECK-NEXT: ori $4, $4, 0x7fff # encoding: [0xff,0x7f,0x84,0x34]697# CHECK-NEXT: sltu $4, $4, $5 # encoding: [0x2b,0x20,0x85,0x00]698 sltu $4, $5, -0x8000699# CHECK-NEXT: sltiu $4, $5, -0x8000 # encoding: [0x00,0x80,0xa4,0x2c]700 sltu $4, $5, 0701# CHECK-NEXT: sltiu $4, $5, 0x0 # encoding: [0x00,0x00,0xa4,0x2c]702 sltu $4, $5, 0xFFFF703# CHECK-NEXT: ori $4, $zero, 0xffff # encoding: [0xff,0xff,0x04,0x34]704# CHECK-NEXT: sltu $4, $4, $5 # encoding: [0x2b,0x20,0x85,0x00]705 sltu $4, $5, 0x10000706# CHECK-NEXT: lui $4, 0x1 # encoding: [0x01,0x00,0x04,0x3c]707# CHECK-NEXT: sltu $4, $4, $5 # encoding: [0x2b,0x20,0x85,0x00]708 sltu $4, $5, 0xFFFFFFFF709# CHECK-NEXT: lui $4, 0xffff # encoding: [0xff,0xff,0x04,0x3c]710# CHECK-NEXT: dsrl32 $4, $4, 0x0 # encoding: [0x3e,0x20,0x04,0x00]711# CHECK-NEXT: sltu $4, $4, $5 # encoding: [0x2b,0x20,0x85,0x00]712 sltu $4, $5, 0xF0000000713# CHECK-NEXT: ori $4, $zero, 0xf000 # encoding: [0x00,0xf0,0x04,0x34]714# CHECK-NEXT: dsll $4, $4, 0x10 # encoding: [0x38,0x24,0x04,0x00]715# CHECK-NEXT: sltu $4, $4, $5 # encoding: [0x2b,0x20,0x85,0x00]716 sltu $4, $5, 0x7FFFFFFF717# CHECK-NEXT: lui $4, 0x7fff # encoding: [0xff,0x7f,0x04,0x3c]718# CHECK-NEXT: ori $4, $4, 0xffff # encoding: [0xff,0xff,0x84,0x34]719# CHECK-NEXT: sltu $4, $4, $5 # encoding: [0x2b,0x20,0x85,0x00]720 sltu $4, $5, 0x7FFFFFFFFFFFFFFF721# FIXME: this is awfully inefficient...722# CHECK-NEXT: lui $4, 0x7fff # encoding: [0xff,0x7f,0x04,0x3c]723# CHECK-NEXT: ori $4, $4, 0xffff # encoding: [0xff,0xff,0x84,0x34]724# CHECK-NEXT: dsll $4, $4, 0x10 # encoding: [0x38,0x24,0x04,0x00]725# CHECK-NEXT: ori $4, $4, 0xffff # encoding: [0xff,0xff,0x84,0x34]726# CHECK-NEXT: dsll $4, $4, 0x10 # encoding: [0x38,0x24,0x04,0x00]727# CHECK-NEXT: ori $4, $4, 0xffff # encoding: [0xff,0xff,0x84,0x34]728# CHECK-NEXT: sltu $4, $4, $5 # encoding: [0x2b,0x20,0x85,0x00]729 sltu $4, $5, 0xFFFFFFFFFFFFFFFF730# CHECK-NEXT: sltiu $4, $5, -0x1 # encoding: [0xff,0xff,0xa4,0x2c]731 sltu $4, $5, 0xF000000000000000732# CHECK-NEXT: ori $4, $zero, 0xf000 # encoding: [0x00,0xf0,0x04,0x34]733# CHECK-NEXT: dsll $4, $4, 0x30 # encoding: [0x3c,0x24,0x04,0x00]734# CHECK-NEXT: sltu $4, $4, $5 # encoding: [0x2b,0x20,0x85,0x00]735 sltu $4, $5, ~(0xf0000000|0x0f000000|0x000000f0)736# CHECK-NEXT: addiu $4, $zero, -0x1 # encoding: [0xff,0xff,0x04,0x24]737# CHECK-NEXT: dsll $4, $4, 0x10 # encoding: [0x38,0x24,0x04,0x00]738# CHECK-NEXT: ori $4, $4, 0xff # encoding: [0xff,0x00,0x84,0x34]739# CHECK-NEXT: dsll $4, $4, 0x10 # encoding: [0x38,0x24,0x04,0x00]740# CHECK-NEXT: ori $4, $4, 0xff0f # encoding: [0x0f,0xff,0x84,0x34]741# CHECK-NEXT: sltu $4, $4, $5 # encoding: [0x2b,0x20,0x85,0x00]742