1# RUN: llvm-mc %s -triple=mipsel-unknown-linux -mcpu=mips32r2 -show-encoding | FileCheck %s 2 3 4 .text 5text_label: 6 7 add $4, -0x80000000 8# CHECK: lui $1, 32768 # encoding: [0x00,0x80,0x01,0x3c] 9# CHECK: add $4, $4, $1 # encoding: [0x20,0x20,0x81,0x00] 10 add $4, -0x8001 11# CHECK: lui $1, 65535 # encoding: [0xff,0xff,0x01,0x3c] 12# CHECK: ori $1, $1, 32767 # encoding: [0xff,0x7f,0x21,0x34] 13# CHECK: add $4, $4, $1 # encoding: [0x20,0x20,0x81,0x00] 14 add $4, -0x8000 15# CHECK: addi $4, $4, -32768 # encoding: [0x00,0x80,0x84,0x20] 16 add $4, 0 17# CHECK: addi $4, $4, 0 # encoding: [0x00,0x00,0x84,0x20] 18 add $4, 0xFFFF 19# CHECK: ori $1, $zero, 65535 # encoding: [0xff,0xff,0x01,0x34] 20# CHECK: add $4, $4, $1 # encoding: [0x20,0x20,0x81,0x00] 21 add $4, 0x10000 22# CHECK: lui $1, 1 # encoding: [0x01,0x00,0x01,0x3c] 23# CHECK: add $4, $4, $1 # encoding: [0x20,0x20,0x81,0x00] 24 add $4, 0xFFFFFFFF 25# CHECK: addiu $1, $zero, -1 # encoding: [0xff,0xff,0x01,0x24] 26# CHECK: add $4, $4, $1 # encoding: [0x20,0x20,0x81,0x00] 27 28 add $4, $5, -0x80000000 29# CHECK: lui $4, 32768 # encoding: [0x00,0x80,0x04,0x3c] 30# CHECK: add $4, $4, $5 # encoding: [0x20,0x20,0x85,0x00] 31 add $4, $5, -0x8001 32# CHECK: lui $4, 65535 # encoding: [0xff,0xff,0x04,0x3c] 33# CHECK: ori $4, $4, 32767 # encoding: [0xff,0x7f,0x84,0x34] 34# CHECK: add $4, $4, $5 # encoding: [0x20,0x20,0x85,0x00] 35 add $4, $5, -0x8000 36# CHECK: addi $4, $5, -32768 # encoding: [0x00,0x80,0xa4,0x20] 37 add $4, $5, 0 38# CHECK: addi $4, $5, 0 # encoding: [0x00,0x00,0xa4,0x20] 39 add $4, $5, 0xFFFF 40# CHECK: ori $4, $zero, 65535 # encoding: [0xff,0xff,0x04,0x34] 41# CHECK: add $4, $4, $5 # encoding: [0x20,0x20,0x85,0x00] 42 add $4, $5, 0x10000 43# CHECK: lui $4, 1 # encoding: [0x01,0x00,0x04,0x3c] 44# CHECK: add $4, $4, $5 # encoding: [0x20,0x20,0x85,0x00] 45 add $4, $5, 0xFFFFFFFF 46# CHECK: addiu $4, $zero, -1 # encoding: [0xff,0xff,0x04,0x24] 47# CHECK: add $4, $4, $5 # encoding: [0x20,0x20,0x85,0x00] 48 49 addu $4, -0x80000000 50# CHECK: lui $1, 32768 # encoding: [0x00,0x80,0x01,0x3c] 51# CHECK: addu $4, $4, $1 # encoding: [0x21,0x20,0x81,0x00] 52 addu $4, -0x8001 53# CHECK: lui $1, 65535 # encoding: [0xff,0xff,0x01,0x3c] 54# CHECK: ori $1, $1, 32767 # encoding: [0xff,0x7f,0x21,0x34] 55# CHECK: addu $4, $4, $1 # encoding: [0x21,0x20,0x81,0x00] 56 addu $4, -0x8000 57# CHECK: addiu $4, $4, -32768 # encoding: [0x00,0x80,0x84,0x24] 58 addu $4, 0 59# CHECK: addiu $4, $4, 0 # encoding: [0x00,0x00,0x84,0x24] 60 addu $4, 0xFFFF 61# CHECK: ori $1, $zero, 65535 # encoding: [0xff,0xff,0x01,0x34] 62# CHECK: addu $4, $4, $1 # encoding: [0x21,0x20,0x81,0x00] 63 addu $4, 0x10000 64# CHECK: lui $1, 1 # encoding: [0x01,0x00,0x01,0x3c] 65# CHECK: addu $4, $4, $1 # encoding: [0x21,0x20,0x81,0x00] 66 addu $4, 0xFFFFFFFF 67# CHECK: addiu $1, $zero, -1 # encoding: [0xff,0xff,0x01,0x24] 68# CHECK: addu $4, $4, $1 # encoding: [0x21,0x20,0x81,0x00] 69 70 addu $4, $5, -0x80000000 71# CHECK: lui $4, 32768 # encoding: [0x00,0x80,0x04,0x3c] 72# CHECK: addu $4, $4, $5 # encoding: [0x21,0x20,0x85,0x00] 73 addu $4, $5, -0x8001 74# CHECK: lui $4, 65535 # encoding: [0xff,0xff,0x04,0x3c] 75# CHECK: ori $4, $4, 32767 # encoding: [0xff,0x7f,0x84,0x34] 76# CHECK: addu $4, $4, $5 # encoding: [0x21,0x20,0x85,0x00] 77 addu $4, $5, -0x8000 78# CHECK: addiu $4, $5, -32768 # encoding: [0x00,0x80,0xa4,0x24] 79 addu $4, $5, 0 80# CHECK: addiu $4, $5, 0 # encoding: [0x00,0x00,0xa4,0x24] 81 addu $4, $5, 0xFFFF 82# CHECK: ori $4, $zero, 65535 # encoding: [0xff,0xff,0x04,0x34] 83# CHECK: addu $4, $4, $5 # encoding: [0x21,0x20,0x85,0x00] 84 addu $4, $5, 0x10000 85# CHECK: lui $4, 1 # encoding: [0x01,0x00,0x04,0x3c] 86# CHECK: addu $4, $4, $5 # encoding: [0x21,0x20,0x85,0x00] 87 addu $4, $5, 0xFFFFFFFF 88# CHECK: addiu $4, $zero, -1 # encoding: [0xff,0xff,0x04,0x24] 89# CHECK: addu $4, $4, $5 # encoding: [0x21,0x20,0x85,0x00] 90 91 and $4, -0x80000000 92# CHECK: lui $1, 32768 # encoding: [0x00,0x80,0x01,0x3c] 93# CHECK: and $4, $4, $1 # encoding: [0x24,0x20,0x81,0x00] 94 and $4, -0x8001 95# CHECK: lui $1, 65535 # encoding: [0xff,0xff,0x01,0x3c] 96# CHECK: ori $1, $1, 32767 # encoding: [0xff,0x7f,0x21,0x34] 97# CHECK: and $4, $4, $1 # encoding: [0x24,0x20,0x81,0x00] 98 and $4, -0x8000 99# CHECK: addiu $1, $zero, -32768 # encoding: [0x00,0x80,0x01,0x24] 100 and $4, 0 101# CHECK: andi $4, $4, 0 # encoding: [0x00,0x00,0x84,0x30] 102 and $4, 0xFFFF 103# CHECK: andi $4, $4, 65535 # encoding: [0xff,0xff,0x84,0x30] 104 and $4, 0x10000 105# CHECK: lui $1, 1 # encoding: [0x01,0x00,0x01,0x3c] 106# CHECK: and $4, $4, $1 # encoding: [0x24,0x20,0x81,0x00] 107 and $4, 0xFFFFFFFF 108# CHECK: addiu $1, $zero, -1 # encoding: [0xff,0xff,0x01,0x24] 109# CHECK: and $4, $4, $1 # encoding: [0x24,0x20,0x81,0x00] 110 111 and $4, $5, -0x80000000 112# CHECK: lui $4, 32768 # encoding: [0x00,0x80,0x04,0x3c] 113# CHECK: and $4, $4, $5 # encoding: [0x24,0x20,0x85,0x00] 114 and $4, $5, -0x8001 115# CHECK: lui $4, 65535 # encoding: [0xff,0xff,0x04,0x3c] 116# CHECK: ori $4, $4, 32767 # encoding: [0xff,0x7f,0x84,0x34] 117# CHECK: and $4, $4, $5 # encoding: [0x24,0x20,0x85,0x00] 118 and $4, $5, -0x8000 119# CHECK: addiu $4, $zero, -32768 # encoding: [0x00,0x80,0x04,0x24] 120# CHECK: and $4, $4, $5 # encoding: [0x24,0x20,0x85,0x00] 121 and $4, $5, 0 122# CHECK: andi $4, $5, 0 # encoding: [0x00,0x00,0xa4,0x30] 123 and $4, $5, 0xFFFF 124# CHECK: andi $4, $5, 65535 # encoding: [0xff,0xff,0xa4,0x30] 125 and $4, $5, 0x10000 126# CHECK: lui $4, 1 # encoding: [0x01,0x00,0x04,0x3c] 127# CHECK: and $4, $4, $5 # encoding: [0x24,0x20,0x85,0x00] 128 and $4, $5, 0xFFFFFFFF 129# CHECK: addiu $4, $zero, -1 # encoding: [0xff,0xff,0x04,0x24] 130# CHECK: and $4, $4, $5 # encoding: [0x24,0x20,0x85,0x00] 131 132 nor $4, $5, 0 133# CHECK: addiu $4, $zero, 0 # encoding: [0x00,0x00,0x04,0x24] 134# CHECK: nor $4, $4, $5 # encoding: [0x27,0x20,0x85,0x00] 135 nor $4, $5, 1 136# CHECK: addiu $4, $zero, 1 # encoding: [0x01,0x00,0x04,0x24] 137# CHECK: nor $4, $4, $5 # encoding: [0x27,0x20,0x85,0x00] 138 nor $4, $5, 0x8000 139# CHECK: ori $4, $zero, 32768 # encoding: [0x00,0x80,0x04,0x34] 140# CHECK: nor $4, $4, $5 # encoding: [0x27,0x20,0x85,0x00] 141 nor $4, $5, -0x8000 142# CHECK: addiu $4, $zero, -32768 # encoding: [0x00,0x80,0x04,0x24] 143# CHECK: nor $4, $4, $5 # encoding: [0x27,0x20,0x85,0x00] 144 nor $4, $5, 0x10000 145# CHECK: lui $4, 1 # encoding: [0x01,0x00,0x04,0x3c] 146# CHECK: nor $4, $4, $5 # encoding: [0x27,0x20,0x85,0x00] 147 nor $4, $5, 0x1a5a5 148# CHECK: lui $4, 1 # encoding: [0x01,0x00,0x04,0x3c] 149# CHECK: ori $4, $4, 42405 # encoding: [0xa5,0xa5,0x84,0x34] 150# CHECK: nor $4, $4, $5 # encoding: [0x27,0x20,0x85,0x00] 151 152 or $4, -0x80000000 153# CHECK: lui $1, 32768 # encoding: [0x00,0x80,0x01,0x3c] 154# CHECK: or $4, $4, $1 # encoding: [0x25,0x20,0x81,0x00] 155 or $4, -0x8001 156# CHECK: lui $1, 65535 # encoding: [0xff,0xff,0x01,0x3c] 157# CHECK: ori $1, $1, 32767 # encoding: [0xff,0x7f,0x21,0x34] 158# CHECK: or $4, $4, $1 # encoding: [0x25,0x20,0x81,0x00] 159 or $4, -0x8000 160# CHECK: addiu $1, $zero, -32768 # encoding: [0x00,0x80,0x01,0x24] 161# CHECK: or $4, $4, $1 # encoding: [0x25,0x20,0x81,0x00] 162 or $4, 0 163# CHECK: ori $4, $4, 0 # encoding: [0x00,0x00,0x84,0x34] 164 or $4, 0xFFFF 165# CHECK: ori $4, $4, 65535 # encoding: [0xff,0xff,0x84,0x34] 166 or $4, 0x10000 167# CHECK: lui $1, 1 # encoding: [0x01,0x00,0x01,0x3c] 168# CHECK: or $4, $4, $1 # encoding: [0x25,0x20,0x81,0x00] 169 or $4, 0xFFFFFFFF 170# CHECK: addiu $1, $zero, -1 # encoding: [0xff,0xff,0x01,0x24] 171# CHECK: or $4, $4, $1 # encoding: [0x25,0x20,0x81,0x00] 172 173 or $4, $5, -0x80000000 174# CHECK: lui $4, 32768 # encoding: [0x00,0x80,0x04,0x3c] 175# CHECK: or $4, $4, $5 # encoding: [0x25,0x20,0x85,0x00] 176 or $4, $5, -0x8001 177# CHECK: lui $4, 65535 # encoding: [0xff,0xff,0x04,0x3c] 178# CHECK: ori $4, $4, 32767 # encoding: [0xff,0x7f,0x84,0x34] 179# CHECK: or $4, $4, $5 # encoding: [0x25,0x20,0x85,0x00] 180 or $4, $5, -0x8000 181# CHECK: addiu $4, $zero, -32768 # encoding: [0x00,0x80,0x04,0x24] 182# CHECK: or $4, $4, $5 # encoding: [0x25,0x20,0x85,0x00] 183 or $4, $5, 0 184# CHECK: ori $4, $5, 0 # encoding: [0x00,0x00,0xa4,0x34] 185 or $4, $5, 0xFFFF 186# CHECK: ori $4, $5, 65535 # encoding: [0xff,0xff,0xa4,0x34] 187 or $4, $5, 0x10000 188# CHECK: lui $4, 1 # encoding: [0x01,0x00,0x04,0x3c] 189# CHECK: or $4, $4, $5 # encoding: [0x25,0x20,0x85,0x00] 190 or $4, $5, 0xFFFFFFFF 191# CHECK: addiu $4, $zero, -1 # encoding: [0xff,0xff,0x04,0x24] 192# CHECK: or $4, $4, $5 # encoding: [0x25,0x20,0x85,0x00] 193 194 slt $4, $5, -0x80000000 195# CHECK: lui $4, 32768 # encoding: [0x00,0x80,0x04,0x3c] 196# CHECK: slt $4, $4, $5 # encoding: [0x2a,0x20,0x85,0x00] 197 slt $4, $5, -0x8001 198# CHECK: lui $4, 65535 # encoding: [0xff,0xff,0x04,0x3c] 199# CHECK: ori $4, $4, 32767 # encoding: [0xff,0x7f,0x84,0x34] 200# CHECK: slt $4, $4, $5 # encoding: [0x2a,0x20,0x85,0x00] 201 slt $4, $5, -0x8000 202# CHECK: slti $4, $5, -32768 # encoding: [0x00,0x80,0xa4,0x28] 203 slt $4, $5, 0 204# CHECK: slti $4, $5, 0 # encoding: [0x00,0x00,0xa4,0x28] 205 slt $4, $5, 0xFFFF 206# CHECK: ori $4, $zero, 65535 # encoding: [0xff,0xff,0x04,0x34] 207 slt $4, $5, 0x10000 208# CHECK: lui $4, 1 # encoding: [0x01,0x00,0x04,0x3c] 209# CHECK: slt $4, $4, $5 # encoding: [0x2a,0x20,0x85,0x00] 210 slt $4, $5, 0xFFFFFFFF 211# CHECK: addiu $4, $zero, -1 # encoding: [0xff,0xff,0x04,0x24] 212# CHECK: slt $4, $4, $5 # encoding: [0x2a,0x20,0x85,0x00] 213 214 sltu $4, $5, -0x80000000 215# CHECK: lui $4, 32768 # encoding: [0x00,0x80,0x04,0x3c] 216# CHECK: sltu $4, $4, $5 # encoding: [0x2b,0x20,0x85,0x00] 217 sltu $4, $5, -0x8001 218# CHECK: lui $4, 65535 # encoding: [0xff,0xff,0x04,0x3c] 219# CHECK: ori $4, $4, 32767 # encoding: [0xff,0x7f,0x84,0x34] 220# CHECK: sltu $4, $4, $5 # encoding: [0x2b,0x20,0x85,0x00] 221 sltu $4, $5, -0x8000 222# CHECK: sltiu $4, $5, -32768 # encoding: [0x00,0x80,0xa4,0x2c] 223 sltu $4, $5, 0 224# CHECK: sltiu $4, $5, 0 # encoding: [0x00,0x00,0xa4,0x2c] 225 sltu $4, $5, 0xFFFF 226# CHECK: ori $4, $zero, 65535 # encoding: [0xff,0xff,0x04,0x34] 227 sltu $4, $5, 0x10000 228# CHECK: lui $4, 1 # encoding: [0x01,0x00,0x04,0x3c] 229# CHECK: sltu $4, $4, $5 # encoding: [0x2b,0x20,0x85,0x00] 230 sltu $4, $5, 0xFFFFFFFF 231# CHECK: addiu $4, $zero, -1 # encoding: [0xff,0xff,0x04,0x24] 232# CHECK: sltu $4, $4, $5 # encoding: [0x2b,0x20,0x85,0x00] 233 234 xor $4, -0x80000000 235# CHECK: lui $1, 32768 # encoding: [0x00,0x80,0x01,0x3c] 236# CHECK: xor $4, $4, $1 # encoding: [0x26,0x20,0x81,0x00] 237 xor $4, -0x8001 238# CHECK: lui $1, 65535 # encoding: [0xff,0xff,0x01,0x3c] 239# CHECK: ori $1, $1, 32767 # encoding: [0xff,0x7f,0x21,0x34] 240# CHECK: xor $4, $4, $1 # encoding: [0x26,0x20,0x81,0x00] 241 xor $4, -0x8000 242# CHECK: addiu $1, $zero, -32768 # encoding: [0x00,0x80,0x01,0x24] 243 xor $4, 0 244# CHECK: xori $4, $4, 0 # encoding: [0x00,0x00,0x84,0x38] 245 xor $4, 0xFFFF 246# CHECK: xori $4, $4, 65535 # encoding: [0xff,0xff,0x84,0x38] 247 xor $4, 0x10000 248# CHECK: lui $1, 1 # encoding: [0x01,0x00,0x01,0x3c] 249# CHECK: xor $4, $4, $1 # encoding: [0x26,0x20,0x81,0x00] 250 xor $4, 0xFFFFFFFF 251# CHECK: addiu $1, $zero, -1 # encoding: [0xff,0xff,0x01,0x24] 252# CHECK: xor $4, $4, $1 # encoding: [0x26,0x20,0x81,0x00] 253 254 xor $4, $5, -0x80000000 255# CHECK: lui $4, 32768 # encoding: [0x00,0x80,0x04,0x3c] 256# CHECK: xor $4, $4, $5 # encoding: [0x26,0x20,0x85,0x00] 257 xor $4, $5, -0x8001 258# CHECK: lui $4, 65535 # encoding: [0xff,0xff,0x04,0x3c] 259# CHECK: ori $4, $4, 32767 # encoding: [0xff,0x7f,0x84,0x34] 260# CHECK: xor $4, $4, $5 # encoding: [0x26,0x20,0x85,0x00] 261 xor $4, $5, -0x8000 262# CHECK: addiu $4, $zero, -32768 # encoding: [0x00,0x80,0x04,0x24] 263# CHECK: xor $4, $4, $5 # encoding: [0x26,0x20,0x85,0x00] 264 xor $4, $5, 0 265# CHECK: xori $4, $5, 0 # encoding: [0x00,0x00,0xa4,0x38] 266 xor $4, $5, 0xFFFF 267# CHECK: xori $4, $5, 65535 # encoding: [0xff,0xff,0xa4,0x38] 268 xor $4, $5, 0x10000 269# CHECK: lui $4, 1 # encoding: [0x01,0x00,0x04,0x3c] 270# CHECK: xor $4, $4, $5 # encoding: [0x26,0x20,0x85,0x00] 271 xor $4, $5, 0xFFFFFFFF 272# CHECK: addiu $4, $zero, -1 # encoding: [0xff,0xff,0x04,0x24] 273# CHECK: xor $4, $4, $5 # encoding: [0x26,0x20,0x85,0x00] 274