brintos

brintos / llvm-project-archived public Read only

0
0
Text · 7.5 KiB · 596c8a2 Raw
159 lines · plain
1# RUN: llvm-mc %s -triple=mipsel-unknown-linux -show-encoding -mcpu=mips32r2 | \2# RUN: FileCheck -check-prefix=CHECK32  %s3# RUN: llvm-mc %s -triple=mips64el-unknown-linux -show-encoding -mcpu=mips64r2 | \4# RUN: FileCheck -check-prefix=CHECK64  %s5 6# Check that the assembler can handle the documented syntax7# for jumps and branches.8#------------------------------------------------------------------------------9# Branch instructions10#------------------------------------------------------------------------------11# CHECK32:   b 1332                 # encoding: [0x4d,0x01,0x00,0x10]12# CHECK32:   nop                    # encoding: [0x00,0x00,0x00,0x00]13# CHECK32:   bc1f 1332              # encoding: [0x4d,0x01,0x00,0x45]14# CHECK32:   nop                    # encoding: [0x00,0x00,0x00,0x00]15# CHECK32:   bc1t 1332              # encoding: [0x4d,0x01,0x01,0x45]16# CHECK32:   nop                    # encoding: [0x00,0x00,0x00,0x00]17# CHECK32:   beq $9, $6, 1332       # encoding: [0x4d,0x01,0x26,0x11]18# CHECK32:   nop                    # encoding: [0x00,0x00,0x00,0x00]19# CHECK32:   bgez $6, 1332          # encoding: [0x4d,0x01,0xc1,0x04]20# CHECK32:   nop                    # encoding: [0x00,0x00,0x00,0x00]21# CHECK32:   bgezal $6, 1332        # encoding: [0x4d,0x01,0xd1,0x04]22# CHECK32:   nop                    # encoding: [0x00,0x00,0x00,0x00]23# CHECK32:   bgtz $6, 1332          # encoding: [0x4d,0x01,0xc0,0x1c]24# CHECK32:   nop                    # encoding: [0x00,0x00,0x00,0x00]25# CHECK32:   blez $6, 1332          # encoding: [0x4d,0x01,0xc0,0x18]26# CHECK32:   nop                    # encoding: [0x00,0x00,0x00,0x00]27# CHECK32:   bne $9, $6, 1332       # encoding: [0x4d,0x01,0x26,0x15]28# CHECK32:   nop                    # encoding: [0x00,0x00,0x00,0x00]29# CHECK32:   bal  1332              # encoding: [0x4d,0x01,0x11,0x04]30# CHECK32:   nop                    # encoding: [0x00,0x00,0x00,0x00]31# CHECK32:   bnez $11, 1332         # encoding: [0x4d,0x01,0x60,0x15]32# CHECK32:   nop                    # encoding: [0x00,0x00,0x00,0x00]33# CHECK32:   beqz $11, 1332         # encoding: [0x4d,0x01,0x60,0x11]34# CHECK32:   nop                    # encoding: [0x00,0x00,0x00,0x00]35 36# CHECK64:   b 1332                 # encoding: [0x4d,0x01,0x00,0x10]37# CHECK64:   nop                    # encoding: [0x00,0x00,0x00,0x00]38# CHECK64:   bc1f 1332              # encoding: [0x4d,0x01,0x00,0x45]39# CHECK64:   nop                    # encoding: [0x00,0x00,0x00,0x00]40# CHECK64:   bc1t 1332              # encoding: [0x4d,0x01,0x01,0x45]41# CHECK64:   nop                    # encoding: [0x00,0x00,0x00,0x00]42# CHECK64:   beq $9, $6, 1332       # encoding: [0x4d,0x01,0x26,0x11]43# CHECK64:   nop                    # encoding: [0x00,0x00,0x00,0x00]44# CHECK64:   bgez $6, 1332          # encoding: [0x4d,0x01,0xc1,0x04]45# CHECK64:   nop                    # encoding: [0x00,0x00,0x00,0x00]46# CHECK64:   bgezal $6, 1332        # encoding: [0x4d,0x01,0xd1,0x04]47# CHECK64:   nop                    # encoding: [0x00,0x00,0x00,0x00]48# CHECK64:   bgtz $6, 1332          # encoding: [0x4d,0x01,0xc0,0x1c]49# CHECK64:   nop                    # encoding: [0x00,0x00,0x00,0x00]50# CHECK64:   blez $6, 1332          # encoding: [0x4d,0x01,0xc0,0x18]51# CHECK64:   nop                    # encoding: [0x00,0x00,0x00,0x00]52# CHECK64:   bne $9, $6, 1332       # encoding: [0x4d,0x01,0x26,0x15]53# CHECK64:   nop                    # encoding: [0x00,0x00,0x00,0x00]54# CHECK64:   bal     1332           # encoding: [0x4d,0x01,0x11,0x04]55# CHECK64:   nop                    # encoding: [0x00,0x00,0x00,0x00]56# CHECK64:   bnez $11, 1332         # encoding: [0x4d,0x01,0x60,0x15]57# CHECK64:   nop                    # encoding: [0x00,0x00,0x00,0x00]58# CHECK64:   beqz $11, 1332         # encoding: [0x4d,0x01,0x60,0x11]59# CHECK64:   nop                    # encoding: [0x00,0x00,0x00,0x00]60 61.set noreorder62 63         b 133264         nop65         bc1f 133266         nop67         bc1t 133268         nop69         beq $9,$6,133270         nop71         bgez $6,133272         nop73         bgezal $6,133274         nop75         bgtz $6,133276         nop77         blez $6,133278         nop79         bne $9,$6,133280         nop81         bal 133282         nop83         bnez $11,133284         nop85         beqz $11,133286         nop87 88end_of_code:89#------------------------------------------------------------------------------90# Jump instructions91#------------------------------------------------------------------------------92# CHECK32:   j 1328               # encoding: [0x4c,0x01,0x00,0x08]93# CHECK32:   nop                  # encoding: [0x00,0x00,0x00,0x00]94# CHECK32:   jal 1328             # encoding: [0x4c,0x01,0x00,0x0c]95# CHECK32:   nop                  # encoding: [0x00,0x00,0x00,0x00]96# CHECK32:   jalr $6              # encoding: [0x09,0xf8,0xc0,0x00]97# CHECK32:   nop                  # encoding: [0x00,0x00,0x00,0x00]98# CHECK32:   jalr $25             # encoding: [0x09,0xf8,0x20,0x03]99# CHECK32:   nop                  # encoding: [0x00,0x00,0x00,0x00]100# CHECK32:   jalr $10, $11        # encoding: [0x09,0x50,0x60,0x01]101# CHECK32:   nop                  # encoding: [0x00,0x00,0x00,0x00]102# CHECK32:   jr $7                # encoding: [0x08,0x00,0xe0,0x00]103# CHECK32:   nop                  # encoding: [0x00,0x00,0x00,0x00]104# CHECK32:lab:105# CHECK32:   jr $7                # encoding: [0x08,0x00,0xe0,0x00]106# CHECK32:   nop                  # encoding: [0x00,0x00,0x00,0x00]107# CHECK32:   jalr  $25            # encoding: [0x09,0xf8,0x20,0x03]108# CHECK32:   nop                  # encoding: [0x00,0x00,0x00,0x00]109# CHECK32:   jalr  $4, $25        # encoding: [0x09,0x20,0x20,0x03]110# CHECK32:   nop                  # encoding: [0x00,0x00,0x00,0x00]111# CHECK32:   jalx    lab          # encoding: [A,A,A,0b011101AA]112# CHECK32:                        #   fixup A - offset: 0, value: lab, kind: fixup_Mips_26113# CHECK32:   nop                  # encoding: [0x00,0x00,0x00,0x00]114 115# CHECK64:   j 1328               # encoding: [0x4c,0x01,0x00,0x08]116# CHECK64:   nop                  # encoding: [0x00,0x00,0x00,0x00]117# CHECK64:   jal 1328             # encoding: [0x4c,0x01,0x00,0x0c]118# CHECK64:   nop                  # encoding: [0x00,0x00,0x00,0x00]119# CHECK64:   jalr $6              # encoding: [0x09,0xf8,0xc0,0x00]120# CHECK64:   nop                  # encoding: [0x00,0x00,0x00,0x00]121# CHECK64:   jalr $25             # encoding: [0x09,0xf8,0x20,0x03]122# CHECK64:   nop                  # encoding: [0x00,0x00,0x00,0x00]123# CHECK64:   jalr $10, $11        # encoding: [0x09,0x50,0x60,0x01]124# CHECK64:   nop                  # encoding: [0x00,0x00,0x00,0x00]125# CHECK64:   jr $7                # encoding: [0x08,0x00,0xe0,0x00]126# CHECK64:   nop                  # encoding: [0x00,0x00,0x00,0x00]127# CHECK64:lab:128# CHECK64:   jr $7                # encoding: [0x08,0x00,0xe0,0x00]129# CHECK64:   nop                  # encoding: [0x00,0x00,0x00,0x00]130# CHECK64:   jalr  $25            # encoding: [0x09,0xf8,0x20,0x03]131# CHECK64:   nop                  # encoding: [0x00,0x00,0x00,0x00]132# CHECK64:   jalr  $4, $25        # encoding: [0x09,0x20,0x20,0x03]133# CHECK64:   nop                  # encoding: [0x00,0x00,0x00,0x00]134# CHECK64:   jalx    lab          # encoding: [A,A,A,0b011101AA]135# CHECK64:                        #   fixup A - offset: 0, value: lab, kind: fixup_Mips_26136# CHECK64:   nop                  # encoding: [0x00,0x00,0x00,0x00]137 138   j 1328139   nop140   jal 1328141   nop142   jalr $6143   nop144   jalr $31, $25145   nop146   jalr $10, $11147   nop148   jr $7149   nop150lab:151   j $7152   nop153   jal  $25154   nop155   jal  $4,$25156   nop157   jalx lab158   nop159