brintos

brintos / llvm-project-archived public Read only

0
0
Text · 46.0 KiB · 80764eb Raw
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