480 lines · plain
1# RUN: llvm-mc %s -triple=mips64-unknown-linux -show-encoding -mcpu=mips64r2 \2# RUN: | FileCheck %s3# RUN: llvm-mc %s -triple=mips64-unknown-linux -show-encoding -mcpu=mips64r6 \4# RUN: | FileCheck %s5 6la $5, 0x00000001 # CHECK: daddiu $5, $zero, 1 # encoding: [0x64,0x05,0x00,0x01]7la $5, 0x00000002 # CHECK: daddiu $5, $zero, 2 # encoding: [0x64,0x05,0x00,0x02]8la $5, 0x00004000 # CHECK: daddiu $5, $zero, 16384 # encoding: [0x64,0x05,0x40,0x00]9la $5, 0x00008000 # CHECK: ori $5, $zero, 32768 # encoding: [0x34,0x05,0x80,0x00]10la $5, 0xffffffff # CHECK: lui $5, 65535 # encoding: [0x3c,0x05,0xff,0xff]11 # CHECK: dsrl32 $5, $5, 0 # encoding: [0x00,0x05,0x28,0x3e]12la $5, 0xfffffffe # CHECK: ori $5, $zero, 65535 # encoding: [0x34,0x05,0xff,0xff]13 # CHECK: dsll $5, $5, 16 # encoding: [0x00,0x05,0x2c,0x38]14 # CHECK: ori $5, $5, 65534 # encoding: [0x34,0xa5,0xff,0xfe]15la $5, 0xffffc000 # CHECK: ori $5, $zero, 65535 # encoding: [0x34,0x05,0xff,0xff]16 # CHECK: dsll $5, $5, 16 # encoding: [0x00,0x05,0x2c,0x38]17 # CHECK: ori $5, $5, 49152 # encoding: [0x34,0xa5,0xc0,0x00]18la $5, 0xffff8000 # CHECK: ori $5, $zero, 65535 # encoding: [0x34,0x05,0xff,0xff]19 # CHECK: dsll $5, $5, 16 # encoding: [0x00,0x05,0x2c,0x38]20 # CHECK: ori $5, $5, 32768 # encoding: [0x34,0xa5,0x80,0x00]21 22la $5, 0x00010000 # CHECK: lui $5, 1 # encoding: [0x3c,0x05,0x00,0x01]23la $5, 0x00020000 # CHECK: lui $5, 2 # encoding: [0x3c,0x05,0x00,0x02]24la $5, 0x40000000 # CHECK: lui $5, 16384 # encoding: [0x3c,0x05,0x40,0x00]25la $5, 0x80000000 # CHECK: ori $5, $zero, 32768 # encoding: [0x34,0x05,0x80,0x00]26 # CHECK: dsll $5, $5, 16 # encoding: [0x00,0x05,0x2c,0x38]27la $5, 0xffff0000 # CHECK: ori $5, $zero, 65535 # encoding: [0x34,0x05,0xff,0xff]28 # CHECK: dsll $5, $5, 16 # encoding: [0x00,0x05,0x2c,0x38]29la $5, 0xfffe0000 # CHECK: ori $5, $zero, 65534 # encoding: [0x34,0x05,0xff,0xfe]30 # CHECK: dsll $5, $5, 16 # encoding: [0x00,0x05,0x2c,0x38]31la $5, 0xc0000000 # CHECK: ori $5, $zero, 49152 # encoding: [0x34,0x05,0xc0,0x00]32 # CHECK: dsll $5, $5, 16 # encoding: [0x00,0x05,0x2c,0x38]33la $5, 0x80000000 # CHECK: ori $5, $zero, 32768 # encoding: [0x34,0x05,0x80,0x00]34 # CHECK: dsll $5, $5, 16 # encoding: [0x00,0x05,0x2c,0x38]35 36la $5, 0x00010001 # CHECK: lui $5, 1 # encoding: [0x3c,0x05,0x00,0x01]37 # CHECK: ori $5, $5, 1 # encoding: [0x34,0xa5,0x00,0x01]38la $5, 0x00020001 # CHECK: lui $5, 2 # encoding: [0x3c,0x05,0x00,0x02]39 # CHECK: ori $5, $5, 1 # encoding: [0x34,0xa5,0x00,0x01]40la $5, 0x40000001 # CHECK: lui $5, 16384 # encoding: [0x3c,0x05,0x40,0x00]41 # CHECK: ori $5, $5, 1 # encoding: [0x34,0xa5,0x00,0x01]42la $5, 0x80000001 # CHECK: ori $5, $zero, 32768 # encoding: [0x34,0x05,0x80,0x00]43 # CHECK: dsll $5, $5, 16 # encoding: [0x00,0x05,0x2c,0x38]44 # CHECK: ori $5, $5, 1 # encoding: [0x34,0xa5,0x00,0x01]45la $5, 0x00010002 # CHECK: lui $5, 1 # encoding: [0x3c,0x05,0x00,0x01]46 # CHECK: ori $5, $5, 2 # encoding: [0x34,0xa5,0x00,0x02]47la $5, 0x00020002 # CHECK: lui $5, 2 # encoding: [0x3c,0x05,0x00,0x02]48 # CHECK: ori $5, $5, 2 # encoding: [0x34,0xa5,0x00,0x02]49la $5, 0x40000002 # CHECK: lui $5, 16384 # encoding: [0x3c,0x05,0x40,0x00]50 # CHECK: ori $5, $5, 2 # encoding: [0x34,0xa5,0x00,0x02]51la $5, 0x80000002 # CHECK: ori $5, $zero, 32768 # encoding: [0x34,0x05,0x80,0x00]52 # CHECK: dsll $5, $5, 16 # encoding: [0x00,0x05,0x2c,0x38] 53 # CHECK: ori $5, $5, 2 # encoding: [0x34,0xa5,0x00,0x02]54la $5, 0x00014000 # CHECK: lui $5, 1 # encoding: [0x3c,0x05,0x00,0x01]55 # CHECK: ori $5, $5, 16384 # encoding: [0x34,0xa5,0x40,0x00]56la $5, 0x00024000 # CHECK: lui $5, 2 # encoding: [0x3c,0x05,0x00,0x02]57 # CHECK: ori $5, $5, 16384 # encoding: [0x34,0xa5,0x40,0x00]58la $5, 0x40004000 # CHECK: lui $5, 16384 # encoding: [0x3c,0x05,0x40,0x00]59 # CHECK: ori $5, $5, 16384 # encoding: [0x34,0xa5,0x40,0x00]60la $5, 0x80004000 # CHECK: ori $5, $zero, 32768 # encoding: [0x34,0x05,0x80,0x00]61 # CHECK: dsll $5, $5, 16 # encoding: [0x00,0x05,0x2c,0x38]62 # CHECK: ori $5, $5, 16384 # encoding: [0x34,0xa5,0x40,0x00]63la $5, 0x00018000 # CHECK: lui $5, 1 # encoding: [0x3c,0x05,0x00,0x01]64 # CHECK: ori $5, $5, 32768 # encoding: [0x34,0xa5,0x80,0x00]65la $5, 0x00028000 # CHECK: lui $5, 2 # encoding: [0x3c,0x05,0x00,0x02]66 # CHECK: ori $5, $5, 32768 # encoding: [0x34,0xa5,0x80,0x00]67la $5, 0x40008000 # CHECK: lui $5, 16384 # encoding: [0x3c,0x05,0x40,0x00]68 # CHECK: ori $5, $5, 32768 # encoding: [0x34,0xa5,0x80,0x00]69la $5, 0x80008000 # CHECK: ori $5, $zero, 32768 # encoding: [0x34,0x05,0x80,0x00]70 # CHECK: dsll $5, $5, 16 # encoding: [0x00,0x05,0x2c,0x38]71la $5, 0xffff4000 # CHECK: ori $5, $5, 32768 # encoding: [0x34,0xa5,0x80,0x00]72 # CHECK: ori $5, $5, 16384 # encoding: [0x34,0xa5,0x40,0x00]73la $5, 0xfffe8000 # CHECK: ori $5, $zero, 65534 # encoding: [0x34,0x05,0xff,0xfe]74 # CHECK: dsll $5, $5, 16 # encoding: [0x00,0x05,0x2c,0x38]75 # CHECK: ori $5, $5, 32768 # encoding: [0x34,0xa5,0x80,0x00]76la $5, 0xc0008000 # CHECK: ori $5, $zero, 49152 # encoding: [0x34,0x05,0xc0,0x00]77 # CHECK: dsll $5, $5, 16 # encoding: [0x00,0x05,0x2c,0x38]78 # CHECK: ori $5, $5, 32768 # encoding: [0x34,0xa5,0x80,0x00]79la $5, 0x80008000 # CHECK: ori $5, $zero, 32768 # encoding: [0x34,0x05,0x80,0x00]80 # CHECK: dsll $5, $5, 16 # encoding: [0x00,0x05,0x2c,0x38]81 # CHECK: ori $5, $5, 32768 # encoding: [0x34,0xa5,0x80,0x00]82 83la $5, 0x0000000100008000 # CHECK: addiu $5, $zero, 1 # encoding: [0x24,0x05,0x00,0x01]84 # CHECK: dsll32 $5, $5, 0 # encoding: [0x00,0x05,0x28,0x3c]85 # CHECK: ori $5, $5, 32768 # encoding: [0x34,0xa5,0x80,0x00]86la $5, 0x0000000100014000 # CHECK: addiu $5, $zero, 1 # encoding: [0x24,0x05,0x00,0x01]87 # CHECK: dsll $5, $5, 16 # encoding: [0x00,0x05,0x2c,0x38]88 # CHECK: ori $5, $5, 1 # encoding: [0x34,0xa5,0x00,0x01]89 # CHECK: dsll $5, $5, 16 # encoding: [0x00,0x05,0x2c,0x38]90 # CHECK: ori $5, $5, 16384 # encoding: [0x34,0xa5,0x40,0x00]91la $5, 0x0000000180008000 # CHECK: addiu $5, $zero, 1 # encoding: [0x24,0x05,0x00,0x01]92 # CHECK: dsll $5, $5, 16 # encoding: [0x00,0x05,0x2c,0x38]93 # CHECK: ori $5, $5, 32768 # encoding: [0x34,0xa5,0x80,0x00]94 # CHECK: dsll $5, $5, 16 # encoding: [0x00,0x05,0x2c,0x38]95 # CHECK: ori $5, $5, 32768 # encoding: [0x34,0xa5,0x80,0x00]96la $5, 0x0000000200008000 # CHECK: addiu $5, $zero, 2 # encoding: [0x24,0x05,0x00,0x02]97 # CHECK: dsll32 $5, $5, 0 # encoding: [0x00,0x05,0x28,0x3c]98 # CHECK: ori $5, $5, 32768 # encoding: [0x34,0xa5,0x80,0x00]99la $5, 0x0000000200014000 # CHECK: addiu $5, $zero, 2 # encoding: [0x24,0x05,0x00,0x02]100 # CHECK: dsll $5, $5, 16 # encoding: [0x00,0x05,0x2c,0x38]101 # CHECK: ori $5, $5, 1 # encoding: [0x34,0xa5,0x00,0x01]102 # CHECK: dsll $5, $5, 16 # encoding: [0x00,0x05,0x2c,0x38]103 # CHECK: ori $5, $5, 16384 # encoding: [0x34,0xa5,0x40,0x00]104la $5, 0x0000000280008000 # CHECK: addiu $5, $zero, 2 # encoding: [0x24,0x05,0x00,0x02]105 # CHECK: dsll $5, $5, 16 # encoding: [0x00,0x05,0x2c,0x38]106 # CHECK: ori $5, $5, 32768 # encoding: [0x34,0xa5,0x80,0x00]107 # CHECK: dsll $5, $5, 16 # encoding: [0x00,0x05,0x2c,0x38]108 # CHECK: ori $5, $5, 32768 # encoding: [0x34,0xa5,0x80,0x00]109la $5, 0x0000400000008000 # CHECK: addiu $5, $zero, 16384 # encoding: [0x24,0x05,0x40,0x00]110 # CHECK: dsll32 $5, $5, 0 # encoding: [0x00,0x05,0x28,0x3c]111 # CHECK: ori $5, $5, 32768 # encoding: [0x34,0xa5,0x80,0x00]112la $5, 0x0000400000014000 # CHECK: addiu $5, $zero, 16384 # encoding: [0x24,0x05,0x40,0x00]113 # CHECK: dsll $5, $5, 16 # encoding: [0x00,0x05,0x2c,0x38]114 # CHECK: ori $5, $5, 1 # encoding: [0x34,0xa5,0x00,0x01]115 # CHECK: dsll $5, $5, 16 # encoding: [0x00,0x05,0x2c,0x38]116 # CHECK: ori $5, $5, 16384 # encoding: [0x34,0xa5,0x40,0x00]117la $5, 0x0000400040008000 # CHECK: addiu $5, $zero, 16384 # encoding: [0x24,0x05,0x40,0x00]118 # CHECK: dsll $5, $5, 16 # encoding: [0x00,0x05,0x2c,0x38]119 # CHECK: ori $5, $5, 16384 # encoding: [0x34,0xa5,0x40,0x00]120 # CHECK: dsll $5, $5, 16 # encoding: [0x00,0x05,0x2c,0x38]121 # CHECK: ori $5, $5, 32768 # encoding: [0x34,0xa5,0x80,0x00]122la $5, 0x8000800080008000 # CHECK: lui $5, 32768 # encoding: [0x3c,0x05,0x80,0x00]123 # CHECK: ori $5, $5, 32768 # encoding: [0x34,0xa5,0x80,0x00]124 # CHECK: dsll $5, $5, 16 # encoding: [0x00,0x05,0x2c,0x38]125 # CHECK: ori $5, $5, 32768 # encoding: [0x34,0xa5,0x80,0x00]126 # CHECK: dsll $5, $5, 16 # encoding: [0x00,0x05,0x2c,0x38]127 # CHECK: ori $5, $5, 32768 # encoding: [0x34,0xa5,0x80,0x00]128 129la $5, 0x00000001($6) # CHECK: daddiu $5, $6, 1 # encoding: [0x64,0xc5,0x00,0x01]130la $5, 0x00000002($6) # CHECK: daddiu $5, $6, 2 # encoding: [0x64,0xc5,0x00,0x02]131la $5, 0x00004000($6) # CHECK: daddiu $5, $6, 16384 # encoding: [0x64,0xc5,0x40,0x00]132la $5, 0x00008000($6) # CHECK: ori $5, $zero, 32768 # encoding: [0x34,0x05,0x80,0x00]133 # CHECK: daddu $5, $5, $6 # encoding: [0x00,0xa6,0x28,0x2d]134la $5, 0xffffffff($6) # CHECK: lui $5, 65535 # encoding: [0x3c,0x05,0xff,0xff]135 # CHECK: dsrl32 $5, $5, 0 # encoding: [0x00,0x05,0x28,0x3e]136 # CHECK: daddu $5, $5, $6 # encoding: [0x00,0xa6,0x28,0x2d]137la $5, 0xfffffffe($6) # CHECK: ori $5, $zero, 65535 # encoding: [0x34,0x05,0xff,0xff]138 # CHECK: dsll $5, $5, 16 # encoding: [0x00,0x05,0x2c,0x38]139 # CHECK: ori $5, $5, 65534 # encoding: [0x34,0xa5,0xff,0xfe]140 # CHECK: daddu $5, $5, $6 # encoding: [0x00,0xa6,0x28,0x2d]141la $5, 0xffffc000($6) # CHECK: ori $5, $zero, 65535 # encoding: [0x34,0x05,0xff,0xff]142 # CHECK: dsll $5, $5, 16 # encoding: [0x00,0x05,0x2c,0x38]143 # CHECK: ori $5, $5, 49152 # encoding: [0x34,0xa5,0xc0,0x00]144 # CHECK: daddu $5, $5, $6 # encoding: [0x00,0xa6,0x28,0x2d]145la $5, 0xffff8000($6) # CHECK: ori $5, $zero, 65535 # encoding: [0x34,0x05,0xff,0xff]146 # CHECK: dsll $5, $5, 16 # encoding: [0x00,0x05,0x2c,0x38]147 # CHECK: ori $5, $5, 32768 # encoding: [0x34,0xa5,0x80,0x00]148 # CHECK: daddu $5, $5, $6 # encoding: [0x00,0xa6,0x28,0x2d]149 150la $5, 0x00010000($6) # CHECK: lui $5, 1 # encoding: [0x3c,0x05,0x00,0x01]151 # CHECK: daddu $5, $5, $6 # encoding: [0x00,0xa6,0x28,0x2d]152la $5, 0x00020000($6) # CHECK: lui $5, 2 # encoding: [0x3c,0x05,0x00,0x02]153 # CHECK: daddu $5, $5, $6 # encoding: [0x00,0xa6,0x28,0x2d]154la $5, 0x40000000($6) # CHECK: lui $5, 16384 # encoding: [0x3c,0x05,0x40,0x00]155 # CHECK: daddu $5, $5, $6 # encoding: [0x00,0xa6,0x28,0x2d]156la $5, 0x80000000($6) # CHECK: ori $5, $zero, 32768 # encoding: [0x34,0x05,0x80,0x00]157 # CHECK: dsll $5, $5, 16 # encoding: [0x00,0x05,0x2c,0x38]158 # CHECK: daddu $5, $5, $6 # encoding: [0x00,0xa6,0x28,0x2d]159la $5, 0xffff0000($6) # CHECK: ori $5, $zero, 65535 # encoding: [0x34,0x05,0xff,0xff]160 # CHECK: dsll $5, $5, 16 # encoding: [0x00,0x05,0x2c,0x38]161 # CHECK: daddu $5, $5, $6 # encoding: [0x00,0xa6,0x28,0x2d]162la $5, 0xfffe0000($6) # CHECK: ori $5, $zero, 65534 # encoding: [0x34,0x05,0xff,0xfe]163 # CHECK: dsll $5, $5, 16 # encoding: [0x00,0x05,0x2c,0x38]164 # CHECK: daddu $5, $5, $6 # encoding: [0x00,0xa6,0x28,0x2d]165la $5, 0xc0000000($6) # CHECK: ori $5, $zero, 49152 # encoding: [0x34,0x05,0xc0,0x00]166 # CHECK: dsll $5, $5, 16 # encoding: [0x00,0x05,0x2c,0x38]167 # CHECK: daddu $5, $5, $6 # encoding: [0x00,0xa6,0x28,0x2d]168la $5, 0x80000000($6) # CHECK: ori $5, $zero, 32768 # encoding: [0x34,0x05,0x80,0x00]169 # CHECK: dsll $5, $5, 16 # encoding: [0x00,0x05,0x2c,0x38]170 # CHECK: daddu $5, $5, $6 # encoding: [0x00,0xa6,0x28,0x2d]171 172la $5, 0x00010001($6) # CHECK: lui $5, 1 # encoding: [0x3c,0x05,0x00,0x01]173 # CHECK: ori $5, $5, 1 # encoding: [0x34,0xa5,0x00,0x01]174 # CHECK: daddu $5, $5, $6 # encoding: [0x00,0xa6,0x28,0x2d]175la $5, 0x00020001($6) # CHECK: lui $5, 2 # encoding: [0x3c,0x05,0x00,0x02]176 # CHECK: ori $5, $5, 1 # encoding: [0x34,0xa5,0x00,0x01]177 # CHECK: daddu $5, $5, $6 # encoding: [0x00,0xa6,0x28,0x2d]178la $5, 0x40000001($6) # CHECK: lui $5, 16384 # encoding: [0x3c,0x05,0x40,0x00]179 # CHECK: ori $5, $5, 1 # encoding: [0x34,0xa5,0x00,0x01]180 # CHECK: daddu $5, $5, $6 # encoding: [0x00,0xa6,0x28,0x2d]181la $5, 0x80000001($6) # CHECK: ori $5, $zero, 32768 # encoding: [0x34,0x05,0x80,0x00]182 # CHECK: dsll $5, $5, 16 # encoding: [0x00,0x05,0x2c,0x38]183 # CHECK: ori $5, $5, 1 # encoding: [0x34,0xa5,0x00,0x01]184 # CHECK: daddu $5, $5, $6 # encoding: [0x00,0xa6,0x28,0x2d]185la $5, 0x00010002($6) # CHECK: lui $5, 1 # encoding: [0x3c,0x05,0x00,0x01]186 # CHECK: ori $5, $5, 2 # encoding: [0x34,0xa5,0x00,0x02]187 # CHECK: daddu $5, $5, $6 # encoding: [0x00,0xa6,0x28,0x2d]188la $5, 0x00020002($6) # CHECK: lui $5, 2 # encoding: [0x3c,0x05,0x00,0x02]189 # CHECK: ori $5, $5, 2 # encoding: [0x34,0xa5,0x00,0x02]190 # CHECK: daddu $5, $5, $6 # encoding: [0x00,0xa6,0x28,0x2d]191la $5, 0x40000002($6) # CHECK: lui $5, 16384 # encoding: [0x3c,0x05,0x40,0x00]192 # CHECK: ori $5, $5, 2 # encoding: [0x34,0xa5,0x00,0x02]193 # CHECK: daddu $5, $5, $6 # encoding: [0x00,0xa6,0x28,0x2d]194la $5, 0x80000002($6) # CHECK: ori $5, $zero, 32768 # encoding: [0x34,0x05,0x80,0x00]195 # CHECK: dsll $5, $5, 16 # encoding: [0x00,0x05,0x2c,0x38]196 # CHECK: ori $5, $5, 2 # encoding: [0x34,0xa5,0x00,0x02]197 # CHECK: daddu $5, $5, $6 # encoding: [0x00,0xa6,0x28,0x2d]198la $5, 0x00014000($6) # CHECK: lui $5, 1 # encoding: [0x3c,0x05,0x00,0x01]199 # CHECK: ori $5, $5, 16384 # encoding: [0x34,0xa5,0x40,0x00]200 # CHECK: daddu $5, $5, $6 # encoding: [0x00,0xa6,0x28,0x2d]201la $5, 0x00024000($6) # CHECK: lui $5, 2 # encoding: [0x3c,0x05,0x00,0x02]202 # CHECK: ori $5, $5, 16384 # encoding: [0x34,0xa5,0x40,0x00]203 # CHECK: daddu $5, $5, $6 # encoding: [0x00,0xa6,0x28,0x2d]204la $5, 0x40004000($6) # CHECK: lui $5, 16384 # encoding: [0x3c,0x05,0x40,0x00]205 # CHECK: ori $5, $5, 16384 # encoding: [0x34,0xa5,0x40,0x00]206 # CHECK: daddu $5, $5, $6 # encoding: [0x00,0xa6,0x28,0x2d]207la $5, 0x80004000($6) # CHECK: ori $5, $zero, 32768 # encoding: [0x34,0x05,0x80,0x00]208 # CHECK: dsll $5, $5, 16 # encoding: [0x00,0x05,0x2c,0x38]209 # CHECK: ori $5, $5, 16384 # encoding: [0x34,0xa5,0x40,0x00]210 # CHECK: daddu $5, $5, $6 # encoding: [0x00,0xa6,0x28,0x2d]211la $5, 0x00018000($6) # CHECK: lui $5, 1 # encoding: [0x3c,0x05,0x00,0x01]212 # CHECK: ori $5, $5, 32768 # encoding: [0x34,0xa5,0x80,0x00]213 # CHECK: daddu $5, $5, $6 # encoding: [0x00,0xa6,0x28,0x2d]214la $5, 0x00028000($6) # CHECK: lui $5, 2 # encoding: [0x3c,0x05,0x00,0x02]215 # CHECK: ori $5, $5, 32768 # encoding: [0x34,0xa5,0x80,0x00]216 # CHECK: daddu $5, $5, $6 # encoding: [0x00,0xa6,0x28,0x2d]217la $5, 0x40008000($6) # CHECK: lui $5, 16384 # encoding: [0x3c,0x05,0x40,0x00]218 # CHECK: ori $5, $5, 32768 # encoding: [0x34,0xa5,0x80,0x00]219 # CHECK: daddu $5, $5, $6 # encoding: [0x00,0xa6,0x28,0x2d]220la $5, 0x80008000($6) # CHECK: ori $5, $zero, 32768 # encoding: [0x34,0x05,0x80,0x00]221 # CHECK: dsll $5, $5, 16 # encoding: [0x00,0x05,0x2c,0x38]222 # CHECK: ori $5, $5, 32768 # encoding: [0x34,0xa5,0x80,0x00]223 # CHECK: daddu $5, $5, $6 # encoding: [0x00,0xa6,0x28,0x2d]224la $5, 0xffff4000($6) # CHECK: ori $5, $zero, 65535 # encoding: [0x34,0x05,0xff,0xff]225 # CHECK: dsll $5, $5, 16 # encoding: [0x00,0x05,0x2c,0x38]226 # CHECK: ori $5, $5, 16384 # encoding: [0x34,0xa5,0x40,0x00]227 # CHECK: daddu $5, $5, $6 # encoding: [0x00,0xa6,0x28,0x2d]228la $5, 0xfffe8000($6) # CHECK: ori $5, $zero, 65534 # encoding: [0x34,0x05,0xff,0xfe]229 # CHECK: dsll $5, $5, 16 # encoding: [0x00,0x05,0x2c,0x38]230 # CHECK: ori $5, $5, 32768 # encoding: [0x34,0xa5,0x80,0x00]231 # CHECK: daddu $5, $5, $6 # encoding: [0x00,0xa6,0x28,0x2d]232la $5, 0xc0008000($6) # CHECK: ori $5, $zero, 49152 # encoding: [0x34,0x05,0xc0,0x00]233 # CHECK: dsll $5, $5, 16 # encoding: [0x00,0x05,0x2c,0x38]234 # CHECK: ori $5, $5, 32768 # encoding: [0x34,0xa5,0x80,0x00]235 # CHECK: daddu $5, $5, $6 # encoding: [0x00,0xa6,0x28,0x2d]236la $5, 0x80008000($6) # CHECK: ori $5, $zero, 32768 # encoding: [0x34,0x05,0x80,0x00]237 # CHECK: dsll $5, $5, 16 # encoding: [0x00,0x05,0x2c,0x38]238 # CHECK: ori $5, $5, 32768 # encoding: [0x34,0xa5,0x80,0x00]239 # CHECK: daddu $5, $5, $6 # encoding: [0x00,0xa6,0x28,0x2d]240 241la $6, 0x00000001($6) # CHECK: daddiu $6, $6, 1 # encoding: [0x64,0xc6,0x00,0x01]242la $6, 0x00000002($6) # CHECK: daddiu $6, $6, 2 # encoding: [0x64,0xc6,0x00,0x02]243la $6, 0x00004000($6) # CHECK: daddiu $6, $6, 16384 # encoding: [0x64,0xc6,0x40,0x00]244la $6, 0x00008000($6) # CHECK: ori $6, $zero, 32768 # encoding: [0x34,0x06,0x80,0x00]245 # CHECK: daddu $6, $6, $6 # encoding: [0x00,0xc6,0x30,0x2d]246la $6, 0xffffffff($6) # CHECK: lui $1, 65535 # encoding: [0x3c,0x01,0xff,0xff]247 # CHECK: dsrl32 $1, $1, 0 # encoding: [0x00,0x01,0x08,0x3e]248 # CHECK: daddu $6, $1, $6 # encoding: [0x00,0x26,0x30,0x2d]249la $6, 0xfffffffe($6) # CHECK: ori $1, $zero, 65535 # encoding: [0x34,0x01,0xff,0xff]250 # CHECK: dsll $1, $1, 16 # encoding: [0x00,0x01,0x0c,0x38]251 # CHECK: ori $1, $1, 65534 # encoding: [0x34,0x21,0xff,0xfe]252 # CHECK: daddu $6, $1, $6 # encoding: [0x00,0x26,0x30,0x2d]253la $6, 0xffffc000($6) # CHECK: ori $1, $zero, 65535 # encoding: [0x34,0x01,0xff,0xff]254 # CHECK: dsll $1, $1, 16 # encoding: [0x00,0x01,0x0c,0x38]255 # CHECK: ori $1, $1, 49152 # encoding: [0x34,0x21,0xc0,0x00]256 # CHECK: daddu $6, $1, $6 # encoding: [0x00,0x26,0x30,0x2d]257la $6, 0xffff8000($6) # CHECK: ori $1, $zero, 65535 # encoding: [0x34,0x01,0xff,0xff]258 # CHECK: dsll $1, $1, 16 # encoding: [0x00,0x01,0x0c,0x38]259 # CHECK: ori $1, $1, 32768 # encoding: [0x34,0x21,0x80,0x00]260 # CHECK: daddu $6, $1, $6 # encoding: [0x00,0x26,0x30,0x2d]261 262la $6, 0x00010000($6) # CHECK: lui $1, 1 # encoding: [0x3c,0x01,0x00,0x01]263 # CHECK: daddu $6, $1, $6 # encoding: [0x00,0x26,0x30,0x2d]264la $6, 0x00020000($6) # CHECK: lui $1, 2 # encoding: [0x3c,0x01,0x00,0x02]265 # CHECK: daddu $6, $1, $6 # encoding: [0x00,0x26,0x30,0x2d]266la $6, 0x40000000($6) # CHECK: lui $1, 16384 # encoding: [0x3c,0x01,0x40,0x00]267 # CHECK: daddu $6, $1, $6 # encoding: [0x00,0x26,0x30,0x2d]268la $6, 0x80000000($6) # CHECK: ori $1, $zero, 32768 # encoding: [0x34,0x01,0x80,0x00]269 # CHECK: dsll $1, $1, 16 # encoding: [0x00,0x01,0x0c,0x38]270 # CHECK: daddu $6, $1, $6 # encoding: [0x00,0x26,0x30,0x2d]271la $6, 0xffff0000($6) # CHECK: ori $1, $zero, 65535 # encoding: [0x34,0x01,0xff,0xff]272 # CHECK: dsll $1, $1, 16 # encoding: [0x00,0x01,0x0c,0x38]273 # CHECK: daddu $6, $1, $6 # encoding: [0x00,0x26,0x30,0x2d]274la $6, 0xfffe0000($6) # CHECK: ori $1, $zero, 65534 # encoding: [0x34,0x01,0xff,0xfe]275 # CHECK: dsll $1, $1, 16 # encoding: [0x00,0x01,0x0c,0x38]276 # CHECK: daddu $6, $1, $6 # encoding: [0x00,0x26,0x30,0x2d]277la $6, 0xc0000000($6) # CHECK: ori $1, $zero, 49152 # encoding: [0x34,0x01,0xc0,0x00]278 # CHECK: dsll $1, $1, 16 # encoding: [0x00,0x01,0x0c,0x38]279 # CHECK: daddu $6, $1, $6 # encoding: [0x00,0x26,0x30,0x2d]280la $6, 0x80000000($6) # CHECK: ori $1, $zero, 32768 # encoding: [0x34,0x01,0x80,0x00]281 # CHECK: dsll $1, $1, 16 # encoding: [0x00,0x01,0x0c,0x38]282 # CHECK: daddu $6, $1, $6 # encoding: [0x00,0x26,0x30,0x2d]283 284la $6, 0x00010001($6) # CHECK: lui $1, 1 # encoding: [0x3c,0x01,0x00,0x01]285 # CHECK: ori $1, $1, 1 # encoding: [0x34,0x21,0x00,0x01]286 # CHECK: daddu $6, $1, $6 # encoding: [0x00,0x26,0x30,0x2d]287la $6, 0x00020001($6) # CHECK: lui $1, 2 # encoding: [0x3c,0x01,0x00,0x02]288 # CHECK: ori $1, $1, 1 # encoding: [0x34,0x21,0x00,0x01]289 # CHECK: daddu $6, $1, $6 # encoding: [0x00,0x26,0x30,0x2d]290la $6, 0x40000001($6) # CHECK: lui $1, 16384 # encoding: [0x3c,0x01,0x40,0x00]291 # CHECK: ori $1, $1, 1 # encoding: [0x34,0x21,0x00,0x01]292 # CHECK: daddu $6, $1, $6 # encoding: [0x00,0x26,0x30,0x2d]293la $6, 0x80000001($6) # CHECK: ori $1, $zero, 32768 # encoding: [0x34,0x01,0x80,0x00]294 # CHECK: dsll $1, $1, 16 # encoding: [0x00,0x01,0x0c,0x38]295 # CHECK: ori $1, $1, 1 # encoding: [0x34,0x21,0x00,0x01]296 # CHECK: daddu $6, $1, $6 # encoding: [0x00,0x26,0x30,0x2d]297la $6, 0x00010002($6) # CHECK: lui $1, 1 # encoding: [0x3c,0x01,0x00,0x01]298 # CHECK: ori $1, $1, 2 # encoding: [0x34,0x21,0x00,0x02]299 # CHECK: daddu $6, $1, $6 # encoding: [0x00,0x26,0x30,0x2d]300la $6, 0x00020002($6) # CHECK: lui $1, 2 # encoding: [0x3c,0x01,0x00,0x02]301 # CHECK: ori $1, $1, 2 # encoding: [0x34,0x21,0x00,0x02]302 # CHECK: daddu $6, $1, $6 # encoding: [0x00,0x26,0x30,0x2d]303la $6, 0x40000002($6) # CHECK: lui $1, 16384 # encoding: [0x3c,0x01,0x40,0x00]304 # CHECK: ori $1, $1, 2 # encoding: [0x34,0x21,0x00,0x02]305 # CHECK: daddu $6, $1, $6 # encoding: [0x00,0x26,0x30,0x2d]306la $6, 0x80000002($6) # CHECK: ori $1, $zero, 32768 # encoding: [0x34,0x01,0x80,0x00]307 # CHECK: dsll $1, $1, 16 # encoding: [0x00,0x01,0x0c,0x38]308 # CHECK: ori $1, $1, 2 # encoding: [0x34,0x21,0x00,0x02]309 # CHECK: daddu $6, $1, $6 # encoding: [0x00,0x26,0x30,0x2d]310la $6, 0x00014000($6) # CHECK: lui $1, 1 # encoding: [0x3c,0x01,0x00,0x01]311 # CHECK: ori $1, $1, 16384 # encoding: [0x34,0x21,0x40,0x00]312 # CHECK: daddu $6, $1, $6 # encoding: [0x00,0x26,0x30,0x2d]313la $6, 0x00024000($6) # CHECK: lui $1, 2 # encoding: [0x3c,0x01,0x00,0x02]314 # CHECK: ori $1, $1, 16384 # encoding: [0x34,0x21,0x40,0x00]315 # CHECK: daddu $6, $1, $6 # encoding: [0x00,0x26,0x30,0x2d]316la $6, 0x40004000($6) # CHECK: lui $1, 16384 # encoding: [0x3c,0x01,0x40,0x00]317 # CHECK: ori $1, $1, 16384 # encoding: [0x34,0x21,0x40,0x00]318 # CHECK: daddu $6, $1, $6 # encoding: [0x00,0x26,0x30,0x2d]319la $6, 0x80004000($6) # CHECK: ori $1, $zero, 32768 # encoding: [0x34,0x01,0x80,0x00]320 # CHECK: dsll $1, $1, 16 # encoding: [0x00,0x01,0x0c,0x38]321 # CHECK: ori $1, $1, 16384 # encoding: [0x34,0x21,0x40,0x00]322 # CHECK: daddu $6, $1, $6 # encoding: [0x00,0x26,0x30,0x2d]323la $6, 0x00018000($6) # CHECK: lui $1, 1 # encoding: [0x3c,0x01,0x00,0x01]324 # CHECK: ori $1, $1, 32768 # encoding: [0x34,0x21,0x80,0x00]325 # CHECK: daddu $6, $1, $6 # encoding: [0x00,0x26,0x30,0x2d]326la $6, 0x00028000($6) # CHECK: lui $1, 2 # encoding: [0x3c,0x01,0x00,0x02]327 # CHECK: ori $1, $1, 32768 # encoding: [0x34,0x21,0x80,0x00]328 # CHECK: daddu $6, $1, $6 # encoding: [0x00,0x26,0x30,0x2d]329la $6, 0x40008000($6) # CHECK: lui $1, 16384 # encoding: [0x3c,0x01,0x40,0x00]330 # CHECK: ori $1, $1, 32768 # encoding: [0x34,0x21,0x80,0x00]331 # CHECK: daddu $6, $1, $6 # encoding: [0x00,0x26,0x30,0x2d]332la $6, 0x80008000($6) # CHECK: ori $1, $zero, 32768 # encoding: [0x34,0x01,0x80,0x00]333 # CHECK: dsll $1, $1, 16 # encoding: [0x00,0x01,0x0c,0x38]334 # CHECK: ori $1, $1, 32768 # encoding: [0x34,0x21,0x80,0x00]335 # CHECK: daddu $6, $1, $6 # encoding: [0x00,0x26,0x30,0x2d]336la $6, 0xffff4000($6) # CHECK: ori $1, $zero, 65535 # encoding: [0x34,0x01,0xff,0xff]337 # CHECK: dsll $1, $1, 16 # encoding: [0x00,0x01,0x0c,0x38]338 # CHECK: ori $1, $1, 16384 # encoding: [0x34,0x21,0x40,0x00]339 # CHECK: daddu $6, $1, $6 # encoding: [0x00,0x26,0x30,0x2d]340la $6, 0xfffe8000($6) # CHECK: ori $1, $zero, 65534 # encoding: [0x34,0x01,0xff,0xfe]341 # CHECK: dsll $1, $1, 16 # encoding: [0x00,0x01,0x0c,0x38]342 # CHECK: ori $1, $1, 32768 # encoding: [0x34,0x21,0x80,0x00]343 # CHECK: daddu $6, $1, $6 # encoding: [0x00,0x26,0x30,0x2d]344la $6, 0xc0008000($6) # CHECK: ori $1, $zero, 49152 # encoding: [0x34,0x01,0xc0,0x00]345 # CHECK: dsll $1, $1, 16 # encoding: [0x00,0x01,0x0c,0x38]346 # CHECK: ori $1, $1, 32768 # encoding: [0x34,0x21,0x80,0x00]347 # CHECK: daddu $6, $1, $6 # encoding: [0x00,0x26,0x30,0x2d]348la $6, 0x80008000($6) # CHECK: ori $1, $zero, 32768 # encoding: [0x34,0x01,0x80,0x00]349 # CHECK: dsll $1, $1, 16 # encoding: [0x00,0x01,0x0c,0x38]350 # CHECK: ori $1, $1, 32768 # encoding: [0x34,0x21,0x80,0x00]351 # CHECK: daddu $6, $1, $6 # encoding: [0x00,0x26,0x30,0x2d]352 353symbol: # CHECK-LABEL: symbol:354.extern extern_sym355.option pic0356 357la $5, extern_sym358 359# CHECK: lui $5, %highest(extern_sym) # encoding: [0x3c,0x05,A,A]360# CHECK: # fixup A - offset: 0, value: %highest(extern_sym), kind: fixup_Mips_HIGHEST361# CHECK: lui $1, %hi(extern_sym) # encoding: [0x3c,0x01,A,A]362# CHECK: # fixup A - offset: 0, value: %hi(extern_sym), kind: fixup_Mips_HI16363# CHECK: daddiu $5, $5, %higher(extern_sym) # encoding: [0x64,0xa5,A,A]364# CHECK: # fixup A - offset: 0, value: %higher(extern_sym), kind: fixup_Mips_HIGHER365# CHECK: daddiu $1, $1, %lo(extern_sym) # encoding: [0x64,0x21,A,A]366# CHECK: # fixup A - offset: 0, value: %lo(extern_sym), kind: fixup_Mips_LO16367# CHECK: dsll32 $5, $5, 0 # encoding: [0x00,0x05,0x28,0x3c]368# CHECK: daddu $5, $5, $1 # encoding: [0x00,0xa1,0x28,0x2d]369 370la $5, extern_sym($8)371 372# CHECK: lui $5, %highest(extern_sym) # encoding: [0x3c,0x05,A,A]373# CHECK: # fixup A - offset: 0, value: %highest(extern_sym), kind: fixup_Mips_HIGHEST374# CHECK: lui $1, %hi(extern_sym) # encoding: [0x3c,0x01,A,A]375# CHECK: # fixup A - offset: 0, value: %hi(extern_sym), kind: fixup_Mips_HI16376# CHECK: daddiu $5, $5, %higher(extern_sym) # encoding: [0x64,0xa5,A,A]377# CHECK: # fixup A - offset: 0, value: %higher(extern_sym), kind: fixup_Mips_HIGHER378# CHECK: daddiu $1, $1, %lo(extern_sym) # encoding: [0x64,0x21,A,A]379# CHECK: # fixup A - offset: 0, value: %lo(extern_sym), kind: fixup_Mips_LO16380# CHECK: dsll32 $5, $5, 0 # encoding: [0x00,0x05,0x28,0x3c]381# CHECK: daddu $5, $5, $1 # encoding: [0x00,0xa1,0x28,0x2d]382# CHECK: daddu $5, $5, $8 # encoding: [0x00,0xa8,0x28,0x2d]383 384la $5, extern_sym($5)385 386# CHECK: lui $1, %highest(extern_sym) # encoding: [0x3c,0x01,A,A]387# CHECK: # fixup A - offset: 0, value: %highest(extern_sym), kind: fixup_Mips_HIGHEST388# CHECK: daddiu $1, $1, %higher(extern_sym) # encoding: [0x64,0x21,A,A]389# CHECK: # fixup A - offset: 0, value: %higher(extern_sym), kind: fixup_Mips_HIGHER390# CHECK: dsll $1, $1, 16 # encoding: [0x00,0x01,0x0c,0x38]391# CHECK: daddiu $1, $1, %hi(extern_sym) # encoding: [0x64,0x21,A,A]392# CHECK: # fixup A - offset: 0, value: %hi(extern_sym), kind: fixup_Mips_HI16393# CHECK: dsll $1, $1, 16 # encoding: [0x00,0x01,0x0c,0x38]394# CHECK: daddiu $1, $1, %lo(extern_sym) # encoding: [0x64,0x21,A,A]395# CHECK: # fixup A - offset: 0, value: %lo(extern_sym), kind: fixup_Mips_LO16396# CHECK: daddu $5, $1, $5 # encoding: [0x00,0x25,0x28,0x2d]397 398la $5, extern_sym+8399 400# CHECK: lui $5, %highest(extern_sym+8) # encoding: [0x3c,0x05,A,A]401# CHECK: # fixup A - offset: 0, value: %highest(extern_sym+8), kind: fixup_Mips_HIGHEST402# CHECK: lui $1, %hi(extern_sym+8) # encoding: [0x3c,0x01,A,A]403# CHECK: # fixup A - offset: 0, value: %hi(extern_sym+8), kind: fixup_Mips_HI16404# CHECK: daddiu $5, $5, %higher(extern_sym+8) # encoding: [0x64,0xa5,A,A]405# CHECK: # fixup A - offset: 0, value: %higher(extern_sym+8), kind: fixup_Mips_HIGHER406# CHECK: daddiu $1, $1, %lo(extern_sym+8) # encoding: [0x64,0x21,A,A]407# CHECK: # fixup A - offset: 0, value: %lo(extern_sym+8), kind: fixup_Mips_LO16408# CHECK: dsll32 $5, $5, 0 # encoding: [0x00,0x05,0x28,0x3c]409# CHECK: daddu $5, $5, $1 # encoding: [0x00,0xa1,0x28,0x2d]410 411 412la $5, extern_sym+8($8)413 414# CHECK: lui $5, %highest(extern_sym+8) # encoding: [0x3c,0x05,A,A]415# CHECK: # fixup A - offset: 0, value: %highest(extern_sym+8), kind: fixup_Mips_HIGHEST416# CHECK: lui $1, %hi(extern_sym+8) # encoding: [0x3c,0x01,A,A]417# CHECK: # fixup A - offset: 0, value: %hi(extern_sym+8), kind: fixup_Mips_HI16418# CHECK: daddiu $5, $5, %higher(extern_sym+8) # encoding: [0x64,0xa5,A,A]419# CHECK: # fixup A - offset: 0, value: %higher(extern_sym+8), kind: fixup_Mips_HIGHER420# CHECK: daddiu $1, $1, %lo(extern_sym+8) # encoding: [0x64,0x21,A,A]421# CHECK: # fixup A - offset: 0, value: %lo(extern_sym+8), kind: fixup_Mips_LO16422# CHECK: dsll32 $5, $5, 0 # encoding: [0x00,0x05,0x28,0x3c]423# CHECK: daddu $5, $5, $1 # encoding: [0x00,0xa1,0x28,0x2d]424# CHECK: daddu $5, $5, $8 # encoding: [0x00,0xa8,0x28,0x2d]425 426la $5, extern_sym-8($5)427 428# CHECK: lui $1, %highest(extern_sym-8) # encoding: [0x3c,0x01,A,A]429# CHECK: # fixup A - offset: 0, value: %highest(extern_sym-8), kind: fixup_Mips_HIGHEST430# CHECK: daddiu $1, $1, %higher(extern_sym-8) # encoding: [0x64,0x21,A,A]431# CHECK: # fixup A - offset: 0, value: %higher(extern_sym-8), kind: fixup_Mips_HIGHER432# CHECK: dsll $1, $1, 16 # encoding: [0x00,0x01,0x0c,0x38]433# CHECK: daddiu $1, $1, %hi(extern_sym-8) # encoding: [0x64,0x21,A,A]434# CHECK: # fixup A - offset: 0, value: %hi(extern_sym-8), kind: fixup_Mips_HI16435# CHECK: dsll $1, $1, 16 # encoding: [0x00,0x01,0x0c,0x38]436# CHECK: daddiu $1, $1, %lo(extern_sym-8) # encoding: [0x64,0x21,A,A]437# CHECK: # fixup A - offset: 0, value: %lo(extern_sym-8), kind: fixup_Mips_LO16438# CHECK: daddu $5, $1, $5 # encoding: [0x00,0x25,0x28,0x2d]439 440la $5, extern_sym-8441 442# CHECK: lui $5, %highest(extern_sym-8) # encoding: [0x3c,0x05,A,A]443# CHECK: # fixup A - offset: 0, value: %highest(extern_sym-8), kind: fixup_Mips_HIGHEST444# CHECK: lui $1, %hi(extern_sym-8) # encoding: [0x3c,0x01,A,A]445# CHECK: # fixup A - offset: 0, value: %hi(extern_sym-8), kind: fixup_Mips_HI16446# CHECK: daddiu $5, $5, %higher(extern_sym-8) # encoding: [0x64,0xa5,A,A]447# CHECK: # fixup A - offset: 0, value: %higher(extern_sym-8), kind: fixup_Mips_HIGHER448# CHECK: daddiu $1, $1, %lo(extern_sym-8) # encoding: [0x64,0x21,A,A]449# CHECK: # fixup A - offset: 0, value: %lo(extern_sym-8), kind: fixup_Mips_LO16450# CHECK: dsll32 $5, $5, 0 # encoding: [0x00,0x05,0x28,0x3c]451# CHECK: daddu $5, $5, $1 # encoding: [0x00,0xa1,0x28,0x2d]452 453la $5, extern_sym-8($8)454 455# CHECK: lui $5, %highest(extern_sym-8) # encoding: [0x3c,0x05,A,A]456# CHECK: # fixup A - offset: 0, value: %highest(extern_sym-8), kind: fixup_Mips_HIGHEST457# CHECK: lui $1, %hi(extern_sym-8) # encoding: [0x3c,0x01,A,A]458# CHECK: # fixup A - offset: 0, value: %hi(extern_sym-8), kind: fixup_Mips_HI16459# CHECK: daddiu $5, $5, %higher(extern_sym-8) # encoding: [0x64,0xa5,A,A]460# CHECK: # fixup A - offset: 0, value: %higher(extern_sym-8), kind: fixup_Mips_HIGHER461# CHECK: daddiu $1, $1, %lo(extern_sym-8) # encoding: [0x64,0x21,A,A]462# CHECK: # fixup A - offset: 0, value: %lo(extern_sym-8), kind: fixup_Mips_LO16463# CHECK: dsll32 $5, $5, 0 # encoding: [0x00,0x05,0x28,0x3c]464# CHECK: daddu $5, $5, $1 # encoding: [0x00,0xa1,0x28,0x2d]465# CHECK: daddu $5, $5, $8 # encoding: [0x00,0xa8,0x28,0x2d]466 467la $5, extern_sym-8($5)468 469# CHECK: lui $1, %highest(extern_sym-8) # encoding: [0x3c,0x01,A,A]470# CHECK: # fixup A - offset: 0, value: %highest(extern_sym-8), kind: fixup_Mips_HIGHEST471# CHECK: daddiu $1, $1, %higher(extern_sym-8) # encoding: [0x64,0x21,A,A]472# CHECK: # fixup A - offset: 0, value: %higher(extern_sym-8), kind: fixup_Mips_HIGHER473# CHECK: dsll $1, $1, 16 # encoding: [0x00,0x01,0x0c,0x38]474# CHECK: daddiu $1, $1, %hi(extern_sym-8) # encoding: [0x64,0x21,A,A]475# CHECK: # fixup A - offset: 0, value: %hi(extern_sym-8), kind: fixup_Mips_HI16476# CHECK: dsll $1, $1, 16 # encoding: [0x00,0x01,0x0c,0x38]477# CHECK: daddiu $1, $1, %lo(extern_sym-8) # encoding: [0x64,0x21,A,A]478# CHECK: # fixup A - offset: 0, value: %lo(extern_sym-8), kind: fixup_Mips_LO16479# CHECK: daddu $5, $1, $5 # encoding: [0x00,0x25,0x28,0x2d]480