Home | History | Annotate | Download | only in Mips
      1 # RUN: llvm-mc %s -triple=mipsel -show-encoding -mattr=micromips \
      2 # RUN: | FileCheck %s -check-prefix=CHECK-EL
      3 # RUN: llvm-mc %s -triple=mips -show-encoding -mattr=micromips \
      4 # RUN: | FileCheck %s -check-prefix=CHECK-EB
      5 # Check that the assembler can handle the documented syntax
      6 # for jump and branch instructions.
      7 #------------------------------------------------------------------------------
      8 # Jump instructions
      9 #------------------------------------------------------------------------------
     10 # Little endian
     11 #------------------------------------------------------------------------------
     12 # CHECK-EL: j 1328      # encoding: [0x00,0xd4,0x98,0x02]
     13 # CHECK-EL: nop         # encoding: [0x00,0x00,0x00,0x00]
     14 # CHECK-EL: jal 1328    # encoding: [0x00,0xf4,0x98,0x02]
     15 # CHECK-EL: nop         # encoding: [0x00,0x00,0x00,0x00]
     16 # CHECK-EL: jalr $ra, $6 # encoding: [0xe6,0x03,0x3c,0x0f]
     17 # CHECK-EL: nop         # encoding: [0x00,0x00,0x00,0x00]
     18 # CHECK-EL: jr $7       # encoding: [0x07,0x00,0x3c,0x0f]
     19 # CHECK-EL: nop         # encoding: [0x00,0x00,0x00,0x00]
     20 # CHECK-EL: jr $7       # encoding: [0x07,0x00,0x3c,0x0f]
     21 # CHECK-EL: nop         # encoding: [0x00,0x00,0x00,0x00]
     22 # CHECK-EL: jalx 1328   # encoding: [0x00,0xf0,0x4c,0x01]
     23 # CHECK-EL: nop         # encoding: [0x00,0x00,0x00,0x00]
     24 # CHECK-EL: jals 1328         # encoding: [0x00,0x74,0x98,0x02]
     25 # CHECK-EL: nop               # encoding: [0x00,0x0c]
     26 # CHECK-EL: jalrs $ra, $6     # encoding: [0xe6,0x03,0x3c,0x4f]
     27 # CHECK-EL: nop               # encoding: [0x00,0x0c]
     28 # CHECK-EL: jalr $25          # encoding: [0xd9,0x45]
     29 # CHECK-EL: nop               # encoding: [0x00,0x00,0x00,0x00]
     30 # CHECK-EL: jalr $4, $25      # encoding: [0x99,0x00,0x3c,0x0f]
     31 # CHECK-EL: nop               # encoding: [0x00,0x00,0x00,0x00]
     32 #------------------------------------------------------------------------------
     33 # Big endian
     34 #------------------------------------------------------------------------------
     35 # CHECK-EB: j 1328      # encoding: [0xd4,0x00,0x02,0x98]
     36 # CHECK-EB: nop         # encoding: [0x00,0x00,0x00,0x00]
     37 # CHECK-EB: jal 1328    # encoding: [0xf4,0x00,0x02,0x98]
     38 # CHECK-EB: nop         # encoding: [0x00,0x00,0x00,0x00]
     39 # CHECK-EB: jalr $ra, $6 # encoding: [0x03,0xe6,0x0f,0x3c]
     40 # CHECK-EB: nop         # encoding: [0x00,0x00,0x00,0x00]
     41 # CHECK-EB: jr $7       # encoding: [0x00,0x07,0x0f,0x3c]
     42 # CHECK-EB: nop         # encoding: [0x00,0x00,0x00,0x00]
     43 # CHECK-EB: jr $7       # encoding: [0x00,0x07,0x0f,0x3c]
     44 # CHECK-EB: nop         # encoding: [0x00,0x00,0x00,0x00]
     45 # CHECK-EB: jalx 1328   # encoding: [0xf0,0x00,0x01,0x4c]
     46 # CHECK-EB: nop         # encoding: [0x00,0x00,0x00,0x00]
     47 # CHECK-EB: jals 1328         # encoding: [0x74,0x00,0x02,0x98]
     48 # CHECK-EB: nop               # encoding: [0x0c,0x00]
     49 # CHECK-EB: jalrs $ra, $6     # encoding: [0x03,0xe6,0x4f,0x3c]
     50 # CHECK-EB: nop               # encoding: [0x0c,0x00]
     51 # CHECK-EB: jalr $25          # encoding: [0x45,0xd9]
     52 # CHECK-EB: nop               # encoding: [0x00,0x00,0x00,0x00]
     53 # CHECK-EB: jalr $4, $25      # encoding: [0x00,0x99,0x0f,0x3c]
     54 # CHECK-EB: nop               # encoding: [0x00,0x00,0x00,0x00]
     55 
     56      j 1328
     57      jal 1328
     58      jalr $ra, $6
     59      jr $7
     60      j $7
     61      jalx 1328
     62      jals 1328
     63      jalrs $ra, $6
     64      jal $25
     65      jal $4, $25
     66