370 lines · plain
1# RUN: llvm-mc %s -triple=mips -mcpu=mips32 -show-encoding | FileCheck %s2# RUN: llvm-mc %s -triple=mips -mcpu=mips32 2>&1 | \3# RUN: FileCheck %s --check-prefix=WARNING4 5 .text6local_label:7 blt $7, $8, local_label8# CHECK: slt $1, $7, $8 # encoding: [0x00,0xe8,0x08,0x2a]9# CHECK: bnez $1, local_label # encoding: [0x14,0x20,A,A]10# CHECK: # fixup A - offset: 0, value: local_label-4, kind: fixup_Mips_PC1611# CHECK: nop12 blt $7, $8, global_label13# CHECK: slt $1, $7, $8 # encoding: [0x00,0xe8,0x08,0x2a]14# CHECK: bnez $1, global_label # encoding: [0x14,0x20,A,A]15# CHECK: # fixup A - offset: 0, value: global_label-4, kind: fixup_Mips_PC1616# CHECK: nop17 blt $7, $0, local_label18# CHECK: bltz $7, local_label # encoding: [0x04,0xe0,A,A]19# CHECK: # fixup A - offset: 0, value: local_label-4, kind: fixup_Mips_PC1620# CHECK: nop21 blt $0, $8, local_label22# CHECK: bgtz $8, local_label # encoding: [0x1d,0x00,A,A]23# CHECK: # fixup A - offset: 0, value: local_label-4, kind: fixup_Mips_PC1624# CHECK: nop25 blt $0, $0, local_label26# CHECK: bltz $zero, local_label # encoding: [0x04,0x00,A,A]27# CHECK: # fixup A - offset: 0, value: local_label-4, kind: fixup_Mips_PC1628# CHECK: nop29 30 bltu $7, $8, local_label31# CHECK: sltu $1, $7, $8 # encoding: [0x00,0xe8,0x08,0x2b]32# CHECK: bnez $1, local_label # encoding: [0x14,0x20,A,A]33# CHECK: # fixup A - offset: 0, value: local_label-4, kind: fixup_Mips_PC1634# CHECK: nop35 bltu $7, $8, global_label36# CHECK: sltu $1, $7, $8 # encoding: [0x00,0xe8,0x08,0x2b]37# CHECK: bnez $1, global_label # encoding: [0x14,0x20,A,A]38# CHECK: # fixup A - offset: 0, value: global_label-4, kind: fixup_Mips_PC1639# CHECK: nop40 bltu $7, $0, local_label41# CHECK: nop42 bltu $0, $8, local_label43# CHECK: bnez $8, local_label # encoding: [0x15,0x00,A,A]44# CHECK: # fixup A - offset: 0, value: local_label-4, kind: fixup_Mips_PC1645# CHECK: nop46 bltu $0, $0, local_label47# CHECK: nop48 49 ble $7, $8, local_label50# CHECK: slt $1, $8, $7 # encoding: [0x01,0x07,0x08,0x2a]51# CHECK: beqz $1, local_label # encoding: [0x10,0x20,A,A]52# CHECK: # fixup A - offset: 0, value: local_label-4, kind: fixup_Mips_PC1653# CHECK: nop54 ble $7, $8, global_label55# CHECK: slt $1, $8, $7 # encoding: [0x01,0x07,0x08,0x2a]56# CHECK: beqz $1, global_label # encoding: [0x10,0x20,A,A]57# CHECK: # fixup A - offset: 0, value: global_label-4, kind: fixup_Mips_PC1658# CHECK: nop59 ble $7, $0, local_label60# CHECK: blez $7, local_label # encoding: [0x18,0xe0,A,A]61# CHECK: # fixup A - offset: 0, value: local_label-4, kind: fixup_Mips_PC1662# CHECK: nop63 ble $0, $8, local_label64# CHECK: bgez $8, local_label # encoding: [0x05,0x01,A,A]65# CHECK: # fixup A - offset: 0, value: local_label-4, kind: fixup_Mips_PC1666# CHECK: nop67 ble $0, $0, local_label68# WARNING: :[[@LINE-1]]:3: warning: branch is always taken69# CHECK: blez $zero, local_label # encoding: [0x18,0x00,A,A]70# CHECK: # fixup A - offset: 0, value: local_label-4, kind: fixup_Mips_PC1671# CHECK: nop72 73 bleu $7, $8, local_label74# CHECK: sltu $1, $8, $7 # encoding: [0x01,0x07,0x08,0x2b]75# CHECK: beqz $1, local_label # encoding: [0x10,0x20,A,A]76# CHECK: # fixup A - offset: 0, value: local_label-4, kind: fixup_Mips_PC1677# CHECK: nop78 bleu $7, $8, global_label79# CHECK: sltu $1, $8, $7 # encoding: [0x01,0x07,0x08,0x2b]80# CHECK: beqz $1, global_label # encoding: [0x10,0x20,A,A]81# CHECK: # fixup A - offset: 0, value: global_label-4, kind: fixup_Mips_PC1682# CHECK: nop83 bleu $7, $0, local_label84# CHECK: beqz $7, local_label # encoding: [0x10,0xe0,A,A]85# CHECK: # fixup A - offset: 0, value: local_label-4, kind: fixup_Mips_PC1686# CHECK: nop87 bleu $0, $8, local_label88# WARNING: :[[@LINE-1]]:3: warning: branch is always taken89# CHECK: b local_label # encoding: [0x10,0x00,A,A]90# CHECK: # fixup A - offset: 0, value: local_label-4, kind: fixup_Mips_PC1691# CHECK: nop92 bleu $0, $0, local_label93# WARNING: :[[@LINE-1]]:3: warning: branch is always taken94# CHECK: b local_label # encoding: [0x10,0x00,A,A]95# CHECK: # fixup A - offset: 0, value: local_label-4, kind: fixup_Mips_PC1696# CHECK: nop97 98 bge $7, $8, local_label99# CHECK: slt $1, $7, $8 # encoding: [0x00,0xe8,0x08,0x2a]100# CHECK: beqz $1, local_label # encoding: [0x10,0x20,A,A]101# CHECK: # fixup A - offset: 0, value: local_label-4, kind: fixup_Mips_PC16102# CHECK: nop103 bge $7, $8, global_label104# CHECK: slt $1, $7, $8 # encoding: [0x00,0xe8,0x08,0x2a]105# CHECK: beqz $1, global_label # encoding: [0x10,0x20,A,A]106# CHECK: # fixup A - offset: 0, value: global_label-4, kind: fixup_Mips_PC16107# CHECK: nop108 bge $7, $0, local_label109# CHECK: bgez $7, local_label # encoding: [0x04,0xe1,A,A]110# CHECK: # fixup A - offset: 0, value: local_label-4, kind: fixup_Mips_PC16111# CHECK: nop112 bge $0, $8, local_label113# CHECK: blez $8, local_label # encoding: [0x19,0x00,A,A]114# CHECK: # fixup A - offset: 0, value: local_label-4, kind: fixup_Mips_PC16115# CHECK: nop116 bge $0, $0, local_label117# WARNING: :[[@LINE-1]]:3: warning: branch is always taken118# CHECK: bgez $zero, local_label # encoding: [0x04,0x01,A,A]119# CHECK: # fixup A - offset: 0, value: local_label-4, kind: fixup_Mips_PC16120# CHECK: nop121 122 bgeu $7, $8, local_label123# CHECK: sltu $1, $7, $8 # encoding: [0x00,0xe8,0x08,0x2b]124# CHECK: beqz $1, local_label # encoding: [0x10,0x20,A,A]125# CHECK: # fixup A - offset: 0, value: local_label-4, kind: fixup_Mips_PC16126# CHECK: nop127 bgeu $7, $8, global_label128# CHECK: sltu $1, $7, $8 # encoding: [0x00,0xe8,0x08,0x2b]129# CHECK: beqz $1, global_label # encoding: [0x10,0x20,A,A]130# CHECK: # fixup A - offset: 0, value: global_label-4, kind: fixup_Mips_PC16131# CHECK: nop132 bgeu $7, $0, local_label133# WARNING: :[[@LINE-1]]:3: warning: branch is always taken134# CHECK: b local_label # encoding: [0x10,0x00,A,A]135# CHECK: # fixup A - offset: 0, value: local_label-4, kind: fixup_Mips_PC16136# CHECK: nop137 bgeu $0, $8, local_label138# CHECK: beqz $8, local_label # encoding: [0x11,0x00,A,A]139# CHECK: # fixup A - offset: 0, value: local_label-4, kind: fixup_Mips_PC16140# CHECK: nop141 bgeu $0, $0, local_label142# WARNING: :[[@LINE-1]]:3: warning: branch is always taken143# CHECK: b local_label # encoding: [0x10,0x00,A,A]144# CHECK: # fixup A - offset: 0, value: local_label-4, kind: fixup_Mips_PC16145# CHECK: nop146 147 bgt $7, $8, local_label148# CHECK: slt $1, $8, $7 # encoding: [0x01,0x07,0x08,0x2a]149# CHECK: bnez $1, local_label # encoding: [0x14,0x20,A,A]150# CHECK: # fixup A - offset: 0, value: local_label-4, kind: fixup_Mips_PC16151# CHECK: nop152 bgt $7, $8, global_label153# CHECK: slt $1, $8, $7 # encoding: [0x01,0x07,0x08,0x2a]154# CHECK: bnez $1, global_label # encoding: [0x14,0x20,A,A]155# CHECK: # fixup A - offset: 0, value: global_label-4, kind: fixup_Mips_PC16156# CHECK: nop157 bgt $7, $0, local_label158# CHECK: bgtz $7, local_label # encoding: [0x1c,0xe0,A,A]159# CHECK: # fixup A - offset: 0, value: local_label-4, kind: fixup_Mips_PC16160# CHECK: nop161 bgt $0, $8, local_label162# CHECK: bltz $8, local_label # encoding: [0x05,0x00,A,A]163# CHECK: # fixup A - offset: 0, value: local_label-4, kind: fixup_Mips_PC16164# CHECK: nop165 bgt $0, $0, local_label166# CHECK: bgtz $zero, local_label # encoding: [0x1c,0x00,A,A]167# CHECK: # fixup A - offset: 0, value: local_label-4, kind: fixup_Mips_PC16168# CHECK: nop169 170 bgtu $7, $8, local_label171# CHECK: sltu $1, $8, $7 # encoding: [0x01,0x07,0x08,0x2b]172# CHECK: bnez $1, local_label # encoding: [0x14,0x20,A,A]173# CHECK: # fixup A - offset: 0, value: local_label-4, kind: fixup_Mips_PC16174# CHECK: nop175 bgtu $7, $8, global_label176# CHECK: sltu $1, $8, $7 # encoding: [0x01,0x07,0x08,0x2b]177# CHECK: bnez $1, global_label # encoding: [0x14,0x20,A,A]178# CHECK: # fixup A - offset: 0, value: global_label-4, kind: fixup_Mips_PC16179# CHECK: nop180 bgtu $7, $0, local_label181# CHECK: bnez $7, local_label # encoding: [0x14,0xe0,A,A]182# CHECK: # fixup A - offset: 0, value: local_label-4, kind: fixup_Mips_PC16183# CHECK: nop184 bgtu $0, $8, local_label185# CHECK: nop186 bgtu $0, $0, local_label187# CHECK: bnez $zero, local_label # encoding: [0x14,0x00,A,A]188# CHECK: # fixup A - offset: 0, value: local_label-4, kind: fixup_Mips_PC16189# CHECK: nop190 191 bltl $7,$8,local_label192# CHECK: slt $1, $7, $8 # encoding: [0x00,0xe8,0x08,0x2a]193# CHECK: bnezl $1, local_label # encoding: [0x54,0x20,A,A]194# CHECK: # fixup A - offset: 0, value: local_label-4, kind: fixup_Mips_PC16195# CHECK: nop # encoding: [0x00,0x00,0x00,0x00]196 bltl $7,$8,global_label197# CHECK: slt $1, $7, $8 # encoding: [0x00,0xe8,0x08,0x2a]198# CHECK: bnezl $1, global_label # encoding: [0x54,0x20,A,A]199# CHECK: # fixup A - offset: 0, value: global_label-4, kind: fixup_Mips_PC16200# CHECK: nop # encoding: [0x00,0x00,0x00,0x00]201 bltl $7,$0,local_label202# CHECK: bltz $7, local_label # encoding: [0x04,0xe0,A,A]203# CHECK: # fixup A - offset: 0, value: local_label-4, kind: fixup_Mips_PC16204# CHECK: nop # encoding: [0x00,0x00,0x00,0x00]205 bltl $0,$8,local_label206# CHECK: bgtz $8, local_label # encoding: [0x1d,0x00,A,A]207# CHECK: # fixup A - offset: 0, value: local_label-4, kind: fixup_Mips_PC16208# CHECK: nop # encoding: [0x00,0x00,0x00,0x00]209 bltl $0,$0,local_label210# CHECK: nop # encoding: [0x00,0x00,0x00,0x00]211 212 blel $7,$8,local_label213# CHECK: slt $1, $8, $7 # encoding: [0x01,0x07,0x08,0x2a]214# CHECK: beqzl $1, local_label # encoding: [0x50,0x20,A,A]215# CHECK: # fixup A - offset: 0, value: local_label-4, kind: fixup_Mips_PC16216# CHECK: nop # encoding: [0x00,0x00,0x00,0x00]217 blel $7,$8,global_label218# CHECK: slt $1, $8, $7 # encoding: [0x01,0x07,0x08,0x2a]219# CHECK: beqzl $1, global_label # encoding: [0x50,0x20,A,A]220# CHECK: # fixup A - offset: 0, value: global_label-4, kind: fixup_Mips_PC16221# CHECK: nop # encoding: [0x00,0x00,0x00,0x00]222 blel $7,$0,local_label223# CHECK: blez $7, local_label # encoding: [0x18,0xe0,A,A]224# CHECK: # fixup A - offset: 0, value: local_label-4, kind: fixup_Mips_PC16225# CHECK: nop # encoding: [0x00,0x00,0x00,0x00]226 blel $0,$8,local_label227# CHECK: bgez $8, local_label # encoding: [0x05,0x01,A,A]228# CHECK: # fixup A - offset: 0, value: local_label-4, kind: fixup_Mips_PC16229# CHECK: nop # encoding: [0x00,0x00,0x00,0x00]230 blel $0,$0,local_label231# WARNING: :[[@LINE-1]]:3: warning: branch is always taken232# CHECK: b local_label # encoding: [0x10,0x00,A,A]233# CHECK: # fixup A - offset: 0, value: local_label-4, kind: fixup_Mips_PC16234# CHECK: nop # encoding: [0x00,0x00,0x00,0x00]235 236 bgel $7,$8,local_label237# CHECK: slt $1, $7, $8 # encoding: [0x00,0xe8,0x08,0x2a]238# CHECK: beqzl $1, local_label # encoding: [0x50,0x20,A,A]239# CHECK: # fixup A - offset: 0, value: local_label-4, kind: fixup_Mips_PC16240# CHECK: nop # encoding: [0x00,0x00,0x00,0x00]241 bgel $7,$8,global_label242# CHECK: slt $1, $7, $8 # encoding: [0x00,0xe8,0x08,0x2a]243# CHECK: beqzl $1, global_label # encoding: [0x50,0x20,A,A]244# CHECK: # fixup A - offset: 0, value: global_label-4, kind: fixup_Mips_PC16245# CHECK: nop # encoding: [0x00,0x00,0x00,0x00]246 bgel $7,$0,local_label247# CHECK: bgez $7, local_label # encoding: [0x04,0xe1,A,A]248# CHECK: # fixup A - offset: 0, value: local_label-4, kind: fixup_Mips_PC16249# CHECK: nop # encoding: [0x00,0x00,0x00,0x00]250 bgel $0,$8,local_label251# CHECK: blez $8, local_label # encoding: [0x19,0x00,A,A]252# CHECK: # fixup A - offset: 0, value: local_label-4, kind: fixup_Mips_PC16253# CHECK: nop # encoding: [0x00,0x00,0x00,0x00]254 bgel $0,$0,local_label255# WARNING: :[[@LINE-1]]:3: warning: branch is always taken256# CHECK: b local_label # encoding: [0x10,0x00,A,A]257# CHECK: # fixup A - offset: 0, value: local_label-4, kind: fixup_Mips_PC16258# CHECK: nop # encoding: [0x00,0x00,0x00,0x00]259 260 bgtl $7,$8,local_label261# CHECK: slt $1, $8, $7 # encoding: [0x01,0x07,0x08,0x2a]262# CHECK: bnezl $1, local_label # encoding: [0x54,0x20,A,A]263# CHECK: # fixup A - offset: 0, value: local_label-4, kind: fixup_Mips_PC16264# CHECK: nop # encoding: [0x00,0x00,0x00,0x00]265 bgtl $7,$8,global_label266# CHECK: slt $1, $8, $7 # encoding: [0x01,0x07,0x08,0x2a]267# CHECK: bnezl $1, global_label # encoding: [0x54,0x20,A,A]268# CHECK: # fixup A - offset: 0, value: global_label-4, kind: fixup_Mips_PC16269# CHECK: nop # encoding: [0x00,0x00,0x00,0x00]270 bgtl $7,$0,local_label271# CHECK: bgtz $7, local_label # encoding: [0x1c,0xe0,A,A]272# CHECK: # fixup A - offset: 0, value: local_label-4, kind: fixup_Mips_PC16273# CHECK: nop # encoding: [0x00,0x00,0x00,0x00]274 bgtl $0,$8,local_label275# CHECK: bltz $8, local_label # encoding: [0x05,0x00,A,A]276# CHECK: # fixup A - offset: 0, value: local_label-4, kind: fixup_Mips_PC16277# CHECK: nop # encoding: [0x00,0x00,0x00,0x00]278 bgtl $0,$0,local_label279# CHECK: nop # encoding: [0x00,0x00,0x00,0x00]280 281 bltul $7,$8,local_label282# CHECK: sltu $1, $7, $8 # encoding: [0x00,0xe8,0x08,0x2b]283# CHECK: bnezl $1, local_label # encoding: [0x54,0x20,A,A]284# CHECK: # fixup A - offset: 0, value: local_label-4, kind: fixup_Mips_PC16285# CHECK: nop # encoding: [0x00,0x00,0x00,0x00]286 bltul $7,$8,global_label287# CHECK: sltu $1, $7, $8 # encoding: [0x00,0xe8,0x08,0x2b]288# CHECK: bnezl $1, global_label # encoding: [0x54,0x20,A,A]289# CHECK: # fixup A - offset: 0, value: global_label-4, kind: fixup_Mips_PC16290# CHECK: nop # encoding: [0x00,0x00,0x00,0x00]291 bltul $7,$0,local_label292# CHECK: bnez $7, local_label # encoding: [0x14,0xe0,A,A]293# CHECK: # fixup A - offset: 0, value: local_label-4, kind: fixup_Mips_PC16294# CHECK: nop # encoding: [0x00,0x00,0x00,0x00]295 bltul $0,$8,local_label296# CHECK: bnez $8, local_label # encoding: [0x15,0x00,A,A]297# CHECK: # fixup A - offset: 0, value: local_label-4, kind: fixup_Mips_PC16298# CHECK: nop # encoding: [0x00,0x00,0x00,0x00]299 bltul $0,$0,local_label300# CHECK: nop # encoding: [0x00,0x00,0x00,0x00]301 302 bleul $7,$8,local_label303# CHECK: sltu $1, $8, $7 # encoding: [0x01,0x07,0x08,0x2b]304# CHECK: beqzl $1, local_label # encoding: [0x50,0x20,A,A]305# CHECK: # fixup A - offset: 0, value: local_label-4, kind: fixup_Mips_PC16306# CHECK: nop # encoding: [0x00,0x00,0x00,0x00]307 bleul $7,$8,global_label308# CHECK: sltu $1, $8, $7 # encoding: [0x01,0x07,0x08,0x2b]309# CHECK: beqzl $1, global_label # encoding: [0x50,0x20,A,A]310# CHECK: # fixup A - offset: 0, value: global_label-4, kind: fixup_Mips_PC16311# CHECK: nop # encoding: [0x00,0x00,0x00,0x00]312 bleul $7,$0,local_label313# CHECK: beqz $7, local_label # encoding: [0x10,0xe0,A,A]314# CHECK: # fixup A - offset: 0, value: local_label-4, kind: fixup_Mips_PC16315# CHECK: nop # encoding: [0x00,0x00,0x00,0x00]316 bleul $0,$8,local_label317# CHECK: beqz $8, local_label # encoding: [0x11,0x00,A,A]318# CHECK: # fixup A - offset: 0, value: local_label-4, kind: fixup_Mips_PC16319# CHECK: nop # encoding: [0x00,0x00,0x00,0x00]320 bleul $0,$0,local_label321# WARNING: :[[@LINE-1]]:3: warning: branch is always taken322# CHECK: b local_label # encoding: [0x10,0x00,A,A]323# CHECK: # fixup A - offset: 0, value: local_label-4, kind: fixup_Mips_PC16324# CHECK: nop # encoding: [0x00,0x00,0x00,0x00]325 326 bgeul $7,$8,local_label327# CHECK: sltu $1, $7, $8 # encoding: [0x00,0xe8,0x08,0x2b]328# CHECK: beqzl $1, local_label # encoding: [0x50,0x20,A,A]329# CHECK: # fixup A - offset: 0, value: local_label-4, kind: fixup_Mips_PC16330# CHECK: nop # encoding: [0x00,0x00,0x00,0x00]331 bgeul $7,$8,global_label332# CHECK: sltu $1, $7, $8 # encoding: [0x00,0xe8,0x08,0x2b]333# CHECK: beqzl $1, global_label # encoding: [0x50,0x20,A,A]334# CHECK: # fixup A - offset: 0, value: global_label-4, kind: fixup_Mips_PC16335# CHECK: nop # encoding: [0x00,0x00,0x00,0x00]336 bgeul $7,$0,local_label337# CHECK: beqz $7, local_label # encoding: [0x10,0xe0,A,A]338# CHECK: # fixup A - offset: 0, value: local_label-4, kind: fixup_Mips_PC16339# CHECK: nop # encoding: [0x00,0x00,0x00,0x00]340 bgeul $0,$8,local_label341# CHECK: beqz $8, local_label # encoding: [0x11,0x00,A,A]342# CHECK: # fixup A - offset: 0, value: local_label-4, kind: fixup_Mips_PC16343# CHECK: nop # encoding: [0x00,0x00,0x00,0x00]344 bgeul $0,$0,local_label345# WARNING: :[[@LINE-1]]:3: warning: branch is always taken346# CHECK: b local_label # encoding: [0x10,0x00,A,A]347# CHECK: # fixup A - offset: 0, value: local_label-4, kind: fixup_Mips_PC16348# CHECK: nop # encoding: [0x00,0x00,0x00,0x00]349 350 bgtul $7,$8,local_label351# CHECK: sltu $1, $8, $7 # encoding: [0x01,0x07,0x08,0x2b]352# CHECK: bnezl $1, local_label # encoding: [0x54,0x20,A,A]353# CHECK: # fixup A - offset: 0, value: local_label-4, kind: fixup_Mips_PC16354# CHECK: nop # encoding: [0x00,0x00,0x00,0x00]355 bgtul $7,$8,global_label356# CHECK: sltu $1, $8, $7 # encoding: [0x01,0x07,0x08,0x2b]357# CHECK: bnezl $1, global_label # encoding: [0x54,0x20,A,A]358# CHECK: # fixup A - offset: 0, value: global_label-4, kind: fixup_Mips_PC16359# CHECK: nop # encoding: [0x00,0x00,0x00,0x00]360 bgtul $7,$0,local_label361# CHECK: bnez $7, local_label # encoding: [0x14,0xe0,A,A]362# CHECK: # fixup A - offset: 0, value: local_label-4, kind: fixup_Mips_PC16363# CHECK: nop # encoding: [0x00,0x00,0x00,0x00]364 bgtul $0,$8,local_label365# CHECK: bnez $8, local_label # encoding: [0x15,0x00,A,A]366# CHECK: # fixup A - offset: 0, value: local_label-4, kind: fixup_Mips_PC16367# CHECK: nop # encoding: [0x00,0x00,0x00,0x00]368 bgtul $0,$0,local_label369# CHECK: nop # encoding: [0x00,0x00,0x00,0x00]370