80 lines · plain
1# RUN: llvm-mc %s -triple=mipsel -show-encoding -mattr=micromips \2# RUN: | FileCheck %s -check-prefix=CHECK-EL3# RUN: llvm-mc %s -triple=mips -show-encoding -mattr=micromips \4# RUN: | FileCheck %s -check-prefix=CHECK-EB5# Check that the assembler can handle the documented syntax6# for arithmetic and logical instructions.7#------------------------------------------------------------------------------8# Branch Instructions9#------------------------------------------------------------------------------10# Little endian11#------------------------------------------------------------------------------12# CHECK-EL: b 1332 # encoding: [0x00,0x94,0x9a,0x02]13# CHECK-EL: nop # encoding: [0x00,0x0c]14# CHECK-EL: beq $9, $6, 1332 # encoding: [0xc9,0x94,0x9a,0x02]15# CHECK-EL-NEXT: nop # encoding: [0x00,0x0c]16# CHECK-EL: bgez $6, 1332 # encoding: [0x46,0x40,0x9a,0x02]17# CHECK-EL-NEXT: nop # encoding: [0x00,0x0c]18# CHECK-EL: bgezal $6, 1332 # encoding: [0x66,0x40,0x9a,0x02]19# CHECK-EL: nop # encoding: [0x00,0x00,0x00,0x00]20# CHECK-EL: bltzal $6, 1332 # encoding: [0x26,0x40,0x9a,0x02]21# CHECK-EL: nop # encoding: [0x00,0x00,0x00,0x00]22# CHECK-EL: bgtz $6, 1332 # encoding: [0xc6,0x40,0x9a,0x02]23# CHECK-EL-NEXT: nop # encoding: [0x00,0x0c]24# CHECK-EL: blez $6, 1332 # encoding: [0x86,0x40,0x9a,0x02]25# CHECK-EL-NEXT: nop # encoding: [0x00,0x0c]26# CHECK-EL: bne $9, $6, 1332 # encoding: [0xc9,0xb4,0x9a,0x02]27# CHECK-EL-NEXT: nop # encoding: [0x00,0x0c]28# CHECK-EL: bal 1332 # encoding: [0x60,0x40,0x9a,0x02]29# CHECK-EL: nop # encoding: [0x00,0x00,0x00,0x00]30# CHECK-EL: bltz $6, 1332 # encoding: [0x06,0x40,0x9a,0x02]31# CHECK-EL-NEXT: nop # encoding: [0x00,0x0c]32# CHECK-EL: bgezals $6, 1332 # encoding: [0x66,0x42,0x9a,0x02]33# CHECK-EL: nop # encoding: [0x00,0x0c]34# CHECK-EL: bltzals $6, 1332 # encoding: [0x26,0x42,0x9a,0x02]35# CHECK-EL: nop # encoding: [0x00,0x0c]36#------------------------------------------------------------------------------37# Big endian38#------------------------------------------------------------------------------39# CHECK-EB: b 1332 # encoding: [0x94,0x00,0x02,0x9a]40# CHECK-EB: nop # encoding: [0x0c,0x00]41# CHECK-EB: beq $9, $6, 1332 # encoding: [0x94,0xc9,0x02,0x9a]42# CHECK-EB-NEXT: nop # encoding: [0x0c,0x00]43# CHECK-EB: bgez $6, 1332 # encoding: [0x40,0x46,0x02,0x9a]44# CHECK-EB-NEXT: nop # encoding: [0x0c,0x00]45# CHECK-EB: bgezal $6, 1332 # encoding: [0x40,0x66,0x02,0x9a]46# CHECK-EB: nop # encoding: [0x00,0x00,0x00,0x00]47# CHECK-EB: bltzal $6, 1332 # encoding: [0x40,0x26,0x02,0x9a]48# CHECK-EB: nop # encoding: [0x00,0x00,0x00,0x00]49# CHECK-EB: bgtz $6, 1332 # encoding: [0x40,0xc6,0x02,0x9a]50# CHECK-EB-NEXT: nop # encoding: [0x0c,0x00]51# CHECK-EB: blez $6, 1332 # encoding: [0x40,0x86,0x02,0x9a]52# CHECK-EB-NEXT: nop # encoding: [0x0c,0x00]53# CHECK-EB: bne $9, $6, 1332 # encoding: [0xb4,0xc9,0x02,0x9a]54# CHECK-EB-NEXT: nop # encoding: [0x0c,0x00]55# CHECK-EB: bal 1332 # encoding: [0x40,0x60,0x02,0x9a]56# CHECK-EB: nop # encoding: [0x00,0x00,0x00,0x00]57# CHECK-EB: bltz $6, 1332 # encoding: [0x40,0x06,0x02,0x9a]58# CHECK-EB-NEXT: nop # encoding: [0x0c,0x00]59# CHECK-EB: bgezals $6, 1332 # encoding: [0x42,0x66,0x02,0x9a]60# CHECK-EB: nop # encoding: [0x0c,0x00]61# CHECK-EB: bltzals $6, 1332 # encoding: [0x42,0x26,0x02,0x9a]62# CHECK-EB: nop # encoding: [0x0c,0x00]63 64 .text65 .type main, @function66 .set micromips67main:68 b 133269 beq $9,$6,133270 bgez $6,133271 bgezal $6,133272 bltzal $6,133273 bgtz $6,133274 blez $6,133275 bne $9,$6,133276 bal 133277 bltz $6,133278 bgezals $6,133279 bltzals $6,133280