245 lines · plain
1# RUN: llvm-mc %s -triple=mips64el-unknown-linux -show-encoding -mcpu=mips64 | \2# RUN: FileCheck %s --check-prefix=CHECK-NOTRAP3# RUN: llvm-mc %s -triple=mips64el-unknown-linux -show-encoding -mcpu=mips64 \4# RUN: -mattr=+use-tcc-in-div | FileCheck %s --check-prefix=CHECK-TRAP5 6 drem $4,$57# CHECK-NOTRAP: bne $5, $zero, .Ltmp0 # encoding: [A,A,0xa0,0x14]8# CHECK-NOTRAP: # fixup A - offset: 0, value: .Ltmp0-4, kind: fixup_Mips_PC169# CHECK-NOTRAP: ddiv $zero, $4, $5 # encoding: [0x1e,0x00,0x85,0x00]10# CHECK-NOTRAP: break 7 # encoding: [0x0d,0x00,0x07,0x00]11# CHECK-NOTRAP: .Ltmp012# CHECK-NOTRAP: addiu $1, $zero, -1 # encoding: [0xff,0xff,0x01,0x24]13# CHECK-NOTRAP: bne $5, $1, .Ltmp1 # encoding: [A,A,0xa1,0x14]14# CHECK-NOTRAP: # fixup A - offset: 0, value: .Ltmp1-4, kind: fixup_Mips_PC1615# CHECK-NOTRAP: addiu $1, $zero, 1 # encoding: [0x01,0x00,0x01,0x24]16# CHECK-NOTRAP: dsll32 $1, $1, 31 # encoding: [0xfc,0x0f,0x01,0x00]17# CHECK-NOTRAP: bne $4, $1, .Ltmp1 # encoding: [A,A,0x81,0x14]18# CHECK-NOTRAP: # fixup A - offset: 0, value: .Ltmp1-4, kind: fixup_Mips_PC1619# CHECK-NOTRAP: nop # encoding: [0x00,0x00,0x00,0x00]20# CHECK-NOTRAP: break 6 # encoding: [0x0d,0x00,0x06,0x00]21# CHECK-NOTRAP: .Ltmp122# CHECK-NOTRAP: mfhi $4 # encoding: [0x10,0x20,0x00,0x00]23 24 drem $4,$025# CHECK-NOTRAP: break 7 # encoding: [0x0d,0x00,0x07,0x00]26 27 drem $4,028# CHECK-NOTRAP: break 7 # encoding: [0x0d,0x00,0x07,0x00]29 30 drem $0,031# CHECK-NOTRAP: break 7 # encoding: [0x0d,0x00,0x07,0x00]32 33 drem $4,134# CHECK-NOTRAP: or $4, $zero, $zero # encoding: [0x25,0x20,0x00,0x00]35 36 drem $4,-137# CHECK-NOTRAP: or $4, $zero, $zero # encoding: [0x25,0x20,0x00,0x00]38 39 drem $4,240# CHECK-NOTRAP: addiu $1, $zero, 2 # encoding: [0x02,0x00,0x01,0x24]41# CHECK-NOTRAP: ddiv $zero, $4, $1 # encoding: [0x1e,0x00,0x81,0x00]42# CHECK-NOTRAP: mfhi $4 # encoding: [0x10,0x20,0x00,0x00]43 44 drem $4,0x1000045# CHECK-NOTRAP: lui $1, 1 # encoding: [0x01,0x00,0x01,0x3c]46# CHECK-NOTRAP: ddiv $zero, $4, $1 # encoding: [0x1e,0x00,0x81,0x00]47# CHECK-NOTRAP: mfhi $4 # encoding: [0x10,0x20,0x00,0x00]48 49 drem $4,0x1a5a550# CHECK-NOTRAP: lui $1, 1 # encoding: [0x01,0x00,0x01,0x3c]51# CHECK-NOTRAP: ori $1, $1, 42405 # encoding: [0xa5,0xa5,0x21,0x34]52# CHECK-NOTRAP: ddiv $zero, $4, $1 # encoding: [0x1e,0x00,0x81,0x00]53# CHECK-NOTRAP: mfhi $4 # encoding: [0x10,0x20,0x00,0x00]54 55 drem $4,0x800056# CHECK-NOTRAP: ori $1, $zero, 32768 # encoding: [0x00,0x80,0x01,0x34]57# CHECK-NOTRAP: ddiv $zero, $4, $1 # encoding: [0x1e,0x00,0x81,0x00]58# CHECK-NOTRAP: mfhi $4 # encoding: [0x10,0x20,0x00,0x00]59 60 drem $4,-0x800061# CHECK-NOTRAP: addiu $1, $zero, -32768 # encoding: [0x00,0x80,0x01,0x24]62# CHECK-NOTRAP: ddiv $zero, $4, $1 # encoding: [0x1e,0x00,0x81,0x00]63# CHECK-NOTRAP: mfhi $4 # encoding: [0x10,0x20,0x00,0x00]64 65 drem $4,$5,$666# CHECK-NOTRAP: bne $6, $zero, .Ltmp2 # encoding: [A,A,0xc0,0x14]67# CHECK-NOTRAP: # fixup A - offset: 0, value: .Ltmp2-4, kind: fixup_Mips_PC1668# CHECK-NOTRAP: ddiv $zero, $5, $6 # encoding: [0x1e,0x00,0xa6,0x00]69# CHECK-NOTRAP: break 7 # encoding: [0x0d,0x00,0x07,0x00]70# CHECK-NOTRAP: .Ltmp2:71# CHECK-NOTRAP: addiu $1, $zero, -1 # encoding: [0xff,0xff,0x01,0x24]72# CHECK-NOTRAP: bne $6, $1, .Ltmp3 # encoding: [A,A,0xc1,0x14]73# CHECK-NOTRAP: addiu $1, $zero, 1 # encoding: [0x01,0x00,0x01,0x24]74# CHECK-NOTRAP: dsll32 $1, $1, 31 # encoding: [0xfc,0x0f,0x01,0x00]75# CHECK-NOTRAP: bne $5, $1, .Ltmp3 # encoding: [A,A,0xa1,0x14]76# CHECK-NOTRAP: nop # encoding: [0x00,0x00,0x00,0x00]77# CHECK-NOTRAP: break 6 # encoding: [0x0d,0x00,0x06,0x00]78# CHECK-NOTRAP: .Ltmp3:79# CHECK-NOTRAP: mfhi $4 # encoding: [0x10,0x20,0x00,0x00]80 81 drem $4,$5,$082# CHECK-NOTRAP: break 7 # encoding: [0x0d,0x00,0x07,0x00]83 84 drem $4,$0,$085# CHECK-NOTRAP: break 7 # encoding: [0x0d,0x00,0x07,0x00]86 87 drem $0,$5,$488# CHECK-NOTRAP: ddiv $zero, $5, $4 # encoding: [0x1e,0x00,0xa4,0x00]89 90 drem $4,$5,091# CHECK-NOTRAP: break 7 # encoding: [0x0d,0x00,0x07,0x00]92 93 drem $4,$0,094# CHECK-NOTRAP: break 7 # encoding: [0x0d,0x00,0x07,0x00]95 96 drem $0,$4,$597# CHECK-NOTRAP: ddiv $zero, $4, $5 # encoding: [0x1e,0x00,0x85,0x00]98 99 drem $4,$5,1100# CHECK-NOTRAP: or $4, $zero, $zero # encoding: [0x25,0x20,0x00,0x00]101 102 drem $4,$5,-1103# CHECK-NOTRAP: or $4, $zero, $zero # encoding: [0x25,0x20,0x00,0x00]104 105 drem $4,$5,2106# CHECK-NOTRAP: addiu $1, $zero, 2 # encoding: [0x02,0x00,0x01,0x24]107# CHECK-NOTRAP: ddiv $zero, $5, $1 # encoding: [0x1e,0x00,0xa1,0x00]108# CHECK-NOTRAP: mfhi $4 # encoding: [0x10,0x20,0x00,0x00]109 110 drem $4,$5,0x10000111# CHECK-NOTRAP: lui $1, 1 # encoding: [0x01,0x00,0x01,0x3c]112# CHECK-NOTRAP: ddiv $zero, $5, $1 # encoding: [0x1e,0x00,0xa1,0x00]113# CHECK-NOTRAP: mfhi $4 # encoding: [0x10,0x20,0x00,0x00]114 115 drem $4,$5,0x1a5a5116# CHECK-NOTRAP: lui $1, 1 # encoding: [0x01,0x00,0x01,0x3c]117# CHECK-NOTRAP: ori $1, $1, 42405 # encoding: [0xa5,0xa5,0x21,0x34]118# CHECK-NOTRAP: ddiv $zero, $5, $1 # encoding: [0x1e,0x00,0xa1,0x00]119# CHECK-NOTRAP: mfhi $4 # encoding: [0x10,0x20,0x00,0x00]120 121 drem $4,$5,0x8000122# CHECK-NOTRAP: ori $1, $zero, 32768 # encoding: [0x00,0x80,0x01,0x34]123# CHECK-NOTRAP: ddiv $zero, $5, $1 # encoding: [0x1e,0x00,0xa1,0x00]124# CHECK-NOTRAP: mfhi $4 # encoding: [0x10,0x20,0x00,0x00]125 126 drem $4,$5,-0x8000127# CHECK-NOTRAP: addiu $1, $zero, -32768 # encoding: [0x00,0x80,0x01,0x24]128# CHECK-NOTRAP: ddiv $zero, $5, $1 # encoding: [0x1e,0x00,0xa1,0x00]129# CHECK-NOTRAP: mfhi $4 # encoding: [0x10,0x20,0x00,0x00]130 131 drem $4,$5132# CHECK-TRAP: teq $5, $zero, 7 # encoding: [0xf4,0x01,0xa0,0x00]133# CHECK-TRAP: ddiv $zero, $4, $5 # encoding: [0x1e,0x00,0x85,0x00]134# CHECK-TRAP: addiu $1, $zero, -1 # encoding: [0xff,0xff,0x01,0x24]135# CHECK-TRAP: bne $5, $1, .Ltmp2 # encoding: [A,A,0xa1,0x14]136# CHECK-TRAP: # fixup A - offset: 0, value: .Ltmp2-4, kind: fixup_Mips_PC16137# CHECK-TRAP: addiu $1, $zero, 1 # encoding: [0x01,0x00,0x01,0x24]138# CHECK-TRAP: dsll32 $1, $1, 31 # encoding: [0xfc,0x0f,0x01,0x00]139# CHECK-TRAP: teq $4, $1, 6 # encoding: [0xb4,0x01,0x81,0x00]140# CHECK-TRAP: .Ltmp2141# CHECK-TRAP: mfhi $4 # encoding: [0x10,0x20,0x00,0x00]142 143 drem $4,$0144# CHECK-TRAP: teq $zero, $zero, 7 # encoding: [0xf4,0x01,0x00,0x00]145 146 drem $4,0147# CHECK-TRAP: teq $zero, $zero, 7 # encoding: [0xf4,0x01,0x00,0x00]148 149 drem $0,0150# CHECK-TRAP: teq $zero, $zero, 7 # encoding: [0xf4,0x01,0x00,0x00]151 152 drem $4,1153# CHECK-TRAP: or $4, $zero, $zero # encoding: [0x25,0x20,0x00,0x00]154 155 drem $4,-1156# CHECK-TRAP: or $4, $zero, $zero # encoding: [0x25,0x20,0x00,0x00]157 158 drem $4,2159# CHECK-TRAP: addiu $1, $zero, 2 # encoding: [0x02,0x00,0x01,0x24]160# CHECK-TRAP: ddiv $zero, $4, $1 # encoding: [0x1e,0x00,0x81,0x00]161# CHECK-TRAP: mfhi $4 # encoding: [0x10,0x20,0x00,0x00]162 163 drem $4,0x10000164# CHECK-TRAP: lui $1, 1 # encoding: [0x01,0x00,0x01,0x3c]165# CHECK-TRAP: ddiv $zero, $4, $1 # encoding: [0x1e,0x00,0x81,0x00]166# CHECK-TRAP: mfhi $4 # encoding: [0x10,0x20,0x00,0x00]167 168 drem $4,0x1a5a5169# CHECK-TRAP: lui $1, 1 # encoding: [0x01,0x00,0x01,0x3c]170# CHECK-TRAP: ori $1, $1, 42405 # encoding: [0xa5,0xa5,0x21,0x34]171# CHECK-TRAP: ddiv $zero, $4, $1 # encoding: [0x1e,0x00,0x81,0x00]172# CHECK-TRAP: mfhi $4 # encoding: [0x10,0x20,0x00,0x00]173 174 drem $4,0x8000175# CHECK-TRAP: ori $1, $zero, 32768 # encoding: [0x00,0x80,0x01,0x34]176# CHECK-TRAP: ddiv $zero, $4, $1 # encoding: [0x1e,0x00,0x81,0x00]177# CHECK-TRAP: mfhi $4 # encoding: [0x10,0x20,0x00,0x00]178 179 drem $4,-0x8000180# CHECK-TRAP: addiu $1, $zero, -32768 # encoding: [0x00,0x80,0x01,0x24]181# CHECK-TRAP: ddiv $zero, $4, $1 # encoding: [0x1e,0x00,0x81,0x00]182# CHECK-TRAP: mfhi $4 # encoding: [0x10,0x20,0x00,0x00]183 184 drem $4,$5,$6185# CHECK-TRAP: teq $6, $zero, 7 # encoding: [0xf4,0x01,0xc0,0x00]186# CHECK-TRAP: ddiv $zero, $5, $6 # encoding: [0x1e,0x00,0xa6,0x00]187# CHECK-TRAP: addiu $1, $zero, -1 # encoding: [0xff,0xff,0x01,0x24]188# CHECK-TRAP: bne $6, $1, .Ltmp3 # encoding: [A,A,0xc1,0x14]189# CHECK-TRAP: # fixup A - offset: 0, value: .Ltmp3-4, kind: fixup_Mips_PC16190# CHECK-TRAP: addiu $1, $zero, 1 # encoding: [0x01,0x00,0x01,0x24]191# CHECK-TRAP: dsll32 $1, $1, 31 # encoding: [0xfc,0x0f,0x01,0x00]192# CHECK-TRAP: teq $5, $1, 6 # encoding: [0xb4,0x01,0xa1,0x00]193# CHECK-TRAP: .Ltmp3194# CHECK-TRAP: mfhi $4 # encoding: [0x10,0x20,0x00,0x00]195 196 drem $4,$5,$0197# CHECK-TRAP: teq $zero, $zero, 7 # encoding: [0xf4,0x01,0x00,0x00]198 199 drem $4,$0,$0200# CHECK-TRAP: teq $zero, $zero, 7 # encoding: [0xf4,0x01,0x00,0x00]201 202 drem $0,$5,$4203# CHECK-TRAP: ddiv $zero, $5, $4 # encoding: [0x1e,0x00,0xa4,0x00]204 205 drem $4,$5,0206# CHECK-TRAP: teq $zero, $zero, 7 # encoding: [0xf4,0x01,0x00,0x00]207 208 drem $4,$0,0209# CHECK-TRAP: teq $zero, $zero, 7 # encoding: [0xf4,0x01,0x00,0x00]210 211 drem $0,$4,$5212# CHECK-TRAP: ddiv $zero, $4, $5 # encoding: [0x1e,0x00,0x85,0x00]213 214 drem $4,$5,1215# CHECK-TRAP: or $4, $zero, $zero # encoding: [0x25,0x20,0x00,0x00]216 217 drem $4,$5,-1218# CHECK-TRAP: or $4, $zero, $zero # encoding: [0x25,0x20,0x00,0x00]219 220 drem $4,$5,2221# CHECK-TRAP: addiu $1, $zero, 2 # encoding: [0x02,0x00,0x01,0x24]222# CHECK-TRAP: ddiv $zero, $5, $1 # encoding: [0x1e,0x00,0xa1,0x00]223# CHECK-TRAP: mfhi $4 # encoding: [0x10,0x20,0x00,0x00]224 225 drem $4,$5,0x10000226# CHECK-TRAP: lui $1, 1 # encoding: [0x01,0x00,0x01,0x3c]227# CHECK-TRAP: ddiv $zero, $5, $1 # encoding: [0x1e,0x00,0xa1,0x00]228# CHECK-TRAP: mfhi $4 # encoding: [0x10,0x20,0x00,0x00]229 230 drem $4,$5,0x1a5a5231# CHECK-TRAP: lui $1, 1 # encoding: [0x01,0x00,0x01,0x3c]232# CHECK-TRAP: ori $1, $1, 42405 # encoding: [0xa5,0xa5,0x21,0x34]233# CHECK-TRAP: ddiv $zero, $5, $1 # encoding: [0x1e,0x00,0xa1,0x00]234# CHECK-TRAP: mfhi $4 # encoding: [0x10,0x20,0x00,0x00]235 236 drem $4,$5,0x8000237# CHECK-TRAP: ori $1, $zero, 32768 # encoding: [0x00,0x80,0x01,0x34]238# CHECK-TRAP: ddiv $zero, $5, $1 # encoding: [0x1e,0x00,0xa1,0x00]239# CHECK-TRAP: mfhi $4 # encoding: [0x10,0x20,0x00,0x00]240 241 drem $4,$5,-0x8000242# CHECK-TRAP: addiu $1, $zero, -32768 # encoding: [0x00,0x80,0x01,0x24]243# CHECK-TRAP: ddiv $zero, $5, $1 # encoding: [0x1e,0x00,0xa1,0x00]244# CHECK-TRAP: mfhi $4 # encoding: [0x10,0x20,0x00,0x00]245