1# RUN: llvm-mc -triple mips64el-unknown-linux -show-encoding -print-imm-hex %s | FileCheck %s 2 3 .text 4text_label: 5# CHECK: text_label: 6 add $4, -0x80000000 7# 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, -0x8001 10# 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, -0x8000 14# CHECK-NEXT: addi $4, $4, -0x8000 # encoding: [0x00,0x80,0x84,0x20] 15 add $4, 0 16# CHECK-NEXT: addi $4, $4, 0x0 # encoding: [0x00,0x00,0x84,0x20] 17 add $4, 0xFFFF 18# 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, 0x10000 21# 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 add 24# 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, -0x80000000 31# 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, -0x8001 34# 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, -0x8000 38# CHECK-NEXT: addi $4, $5, -0x8000 # encoding: [0x00,0x80,0xa4,0x20] 39 add $4, $5, 0 40# CHECK-NEXT: addi $4, $5, 0x0 # encoding: [0x00,0x00,0xa4,0x20] 41 add $4, $5, 0xFFFF 42# 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, 0x10000 45# 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 addi 48# 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, -0x80000000 56# CHECK: lui $1, 0x8000 # encoding: [0x00,0x80,0x01,0x3c] 57# CHECK-NEXT: addu $4, $4, $1 # encoding: [0x21,0x20,0x81,0x00] 58 addu $4, -0x8001 59# 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, -0x8000 63# CHECK-NEXT: addiu $4, $4, -0x8000 # encoding: [0x00,0x80,0x84,0x24] 64 addu $4, 0 65# CHECK-NEXT: addiu $4, $4, 0x0 # encoding: [0x00,0x00,0x84,0x24] 66 addu $4, 0xFFFF 67# 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, 0x10000 70# 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 add 73# 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, -0x80000000 80# 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, -0x8001 83# 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, -0x8000 87# CHECK-NEXT: addiu $4, $5, -0x8000 # encoding: [0x00,0x80,0xa4,0x24] 88 addu $4, $5, 0 89# CHECK-NEXT: addiu $4, $5, 0x0 # encoding: [0x00,0x00,0xa4,0x24] 90 addu $4, $5, 0xFFFF 91# 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, 0x10000 94# 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 add 97# 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, -0x80000000 105# CHECK: lui $1, 0x8000 # encoding: [0x00,0x80,0x01,0x3c] 106# CHECK-NEXT: and $4, $4, $1 # encoding: [0x24,0x20,0x81,0x00] 107 and $4, -0x8001 108# 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, -0x8000 112# 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, 0 115# CHECK-NEXT: andi $4, $4, 0x0 # encoding: [0x00,0x00,0x84,0x30] 116 and $4, 0xFFFF 117# CHECK-NEXT: andi $4, $4, 0xffff # encoding: [0xff,0xff,0x84,0x30] 118 and $4, 0x10000 119# 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, 0xFFFFFFFF 122# 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, 0xF0000000 126# 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, 0x7FFFFFFF 130# 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, 0x7FFFFFFFFFFFFFFF 134# 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, 0xFFFFFFFFFFFFFFFF 142# 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, 0xF000000000000000 145# 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, -0x80000000 157# 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, -0x8001 160# 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, -0x8000 164# 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, 0 167# CHECK-NEXT: andi $4, $5, 0x0 # encoding: [0x00,0x00,0xa4,0x30] 168 and $4, $5, 0xFFFF 169# CHECK-NEXT: andi $4, $5, 0xffff # encoding: [0xff,0xff,0xa4,0x30] 170 and $4, $5, 0x10000 171# 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, 0xFFFFFFFF 174# 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, 0xF0000000 178# 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, 0x7FFFFFFF 182# 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, 0x7FFFFFFFFFFFFFFF 186# 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, 0xFFFFFFFFFFFFFFFF 194# 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, 0xF000000000000000 197# 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, -0x80000000 209# CHECK: lui $1, 0x8000 # encoding: [0x00,0x80,0x01,0x3c] 210# CHECK-NEXT: or $4, $4, $1 # encoding: [0x25,0x20,0x81,0x00] 211 or $4, -0x8001 212# 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, -0x8000 216# 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, 0 219# CHECK-NEXT: ori $4, $4, 0x0 # encoding: [0x00,0x00,0x84,0x34] 220 or $4, 0xFFFF 221# CHECK-NEXT: ori $4, $4, 0xffff # encoding: [0xff,0xff,0x84,0x34] 222 or $4, 0x10000 223# 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, 0xFFFFFFFF 226# 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, 0xF0000000 230# 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, 0x7FFFFFFF 234# 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, 0x7FFFFFFFFFFFFFFF 238# 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, 0xFFFFFFFFFFFFFFFF 246# 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, 0xF000000000000000 249# 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, -0x80000000 261# 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, -0x8001 264# 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, -0x8000 268# 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, 0 271# CHECK-NEXT: ori $4, $5, 0x0 # encoding: [0x00,0x00,0xa4,0x34] 272 or $4, $5, 0xFFFF 273# CHECK-NEXT: ori $4, $5, 0xffff # encoding: [0xff,0xff,0xa4,0x34] 274 or $4, $5, 0x10000 275# 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, 0xFFFFFFFF 278# 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, 0xF0000000 282# 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, 0x7FFFFFFF 286# 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, 0x7FFFFFFFFFFFFFFF 290# 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, 0xFFFFFFFFFFFFFFFF 298# 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, 0xF000000000000000 301# 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, -0x80000000 313# CHECK: lui $1, 0x8000 # encoding: [0x00,0x80,0x01,0x3c] 314# CHECK-NEXT: xor $4, $4, $1 # encoding: [0x26,0x20,0x81,0x00] 315 xor $4, -0x8001 316# 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, -0x8000 320# 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, 0 323# CHECK-NEXT: xori $4, $4, 0x0 # encoding: [0x00,0x00,0x84,0x38] 324 xor $4, 0xFFFF 325# CHECK-NEXT: xori $4, $4, 0xffff # encoding: [0xff,0xff,0x84,0x38] 326 xor $4, 0x10000 327# 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, 0xFFFFFFFF 330# 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, 0xF0000000 334# 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,0x00 337 xor $4, 0x7FFFFFFF 338# 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, 0x7FFFFFFFFFFFFFFF 342# 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, 0xFFFFFFFFFFFFFFFF 350# 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, 0xF000000000000000 353# 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, -0x80000000 365# 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, -0x8001 368# 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, -0x8000 372# 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, 0 375# CHECK-NEXT: xori $4, $5, 0x0 # encoding: [0x00,0x00,0xa4,0x38] 376 xor $4, $5, 0xFFFF 377# CHECK-NEXT: xori $4, $5, 0xffff # encoding: [0xff,0xff,0xa4,0x38] 378 xor $4, $5, 0x10000 379# 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, 0xFFFFFFFF 382# 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, 0xF0000000 386# 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, 0x7FFFFFFF 390# 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, 0x7FFFFFFFFFFFFFFF 394# 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, 0xFFFFFFFFFFFFFFFF 403# 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, 0xF000000000000000 406# 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, 0 418# 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, 1 421# 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, 0x8000 424# 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, -0x8000 427# 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, 0x10000 430# 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, 0x1a5a5 433# 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, 0xFFFFFFFF 437# 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, 0xF0000000 441# 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, 0x7FFFFFFF 445# 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, 0x7FFFFFFFFFFFFFF 449# 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, 0xFFFFFFFFFFFFFFFF 457# 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, 0xF000000000000000 460# 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, 0xff00ff00 471# 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, 0 477# 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, 1 480# 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, 0x8000 483# 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, -0x8000 486# 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, 0x10000 489# 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, 0x1a5a5 492# 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, 0xFFFFFFFF 496# 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, 0xF0000000 500# 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, 0x7FFFFFFF 504# 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, 0x7FFFFFFFFFFFFFFF 508# 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, 0xFFFFFFFFFFFFFFFF 517# 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, 0xF000000000000000 520# 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, 0xff00ff00 531# 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, -0x80000000 538# CHECK: lui $1, 0x8000 # encoding: [0x00,0x80,0x01,0x3c] 539# CHECK-NEXT: slt $4, $4, $1 # encoding: [0x2a,0x20,0x81,0x00] 540 slt $4, -0x8001 541# 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, -0x8000 545# CHECK-NEXT: slti $4, $4, -0x8000 # encoding: [0x00,0x80,0x84,0x28] 546 slt $4, 0 547# CHECK-NEXT: slti $4, $4, 0x0 # encoding: [0x00,0x00,0x84,0x28] 548 slt $4, 0xFFFF 549# 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, 0x10000 552# 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, 0xFFFFFFFF 555# 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, 0xF0000000 559# 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, 0x7FFFFFFF 563# 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, 0x7FFFFFFFFFFFFFFF 567# 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, 0xFFFFFFFFFFFFFFFF 575# CHECK-NEXT: slti $4, $4, -0x1 # encoding: [0xff,0xff,0x84,0x28] 576 slt $4, 0xF000000000000000 577# 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, -0x80000000 589# 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, -0x8001 592# 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, -0x8000 596# CHECK-NEXT: slti $4, $5, -0x8000 # encoding: [0x00,0x80,0xa4,0x28] 597 slt $4, $5, 0 598# CHECK-NEXT: slti $4, $5, 0x0 # encoding: [0x00,0x00,0xa4,0x28] 599 slt $4, $5, 0xFFFF 600# 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, 0x10000 603# 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, 0xFFFFFFFF 606# 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, 0xF0000000 610# 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, 0x7FFFFFFF 614# 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, 0x7FFFFFFFFFFFFFFF 618# 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, 0xFFFFFFFFFFFFFFFF 627# CHECK-NEXT: slti $4, $5, -0x1 # encoding: [0xff,0xff,0xa4,0x28] 628 slt $4, $5, 0xF000000000000000 629# 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, -0x80000000 641# CHECK: lui $1, 0x8000 # encoding: [0x00,0x80,0x01,0x3c] 642# CHECK-NEXT: sltu $4, $4, $1 # encoding: [0x2b,0x20,0x81,0x00] 643 sltu $4, -0x8001 644# 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, -0x8000 648# CHECK-NEXT: sltiu $4, $4, -0x8000 # encoding: [0x00,0x80,0x84,0x2c] 649 sltu $4, 0 650# CHECK-NEXT: sltiu $4, $4, 0x0 # encoding: [0x00,0x00,0x84,0x2c] 651 sltu $4, 0xFFFF 652# 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, 0x10000 655# 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, 0xFFFFFFFF 658# 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, 0xF0000000 662# 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, 0x7FFFFFFF 666# 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, 0x7FFFFFFFFFFFFFFF 670# 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, 0xFFFFFFFFFFFFFFFF 678# CHECK-NEXT: sltiu $4, $4, -0x1 # encoding: [0xff,0xff,0x84,0x2c] 679 sltu $4, 0xF000000000000000 680# 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, -0x80000000 692# 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, -0x8001 695# 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, -0x8000 699# CHECK-NEXT: sltiu $4, $5, -0x8000 # encoding: [0x00,0x80,0xa4,0x2c] 700 sltu $4, $5, 0 701# CHECK-NEXT: sltiu $4, $5, 0x0 # encoding: [0x00,0x00,0xa4,0x2c] 702 sltu $4, $5, 0xFFFF 703# 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, 0x10000 706# 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, 0xFFFFFFFF 709# 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, 0xF0000000 713# 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, 0x7FFFFFFF 717# 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, 0x7FFFFFFFFFFFFFFF 721# 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, 0xFFFFFFFFFFFFFFFF 730# CHECK-NEXT: sltiu $4, $5, -0x1 # encoding: [0xff,0xff,0xa4,0x2c] 731 sltu $4, $5, 0xF000000000000000 732# 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