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 #------------------------------------------------------------------------------ 23 # Big endian 24 #------------------------------------------------------------------------------ 25 # CHECK-EB: j 1328 # encoding: [0xd4,0x00,0x02,0x98] 26 # CHECK-EB: nop # encoding: [0x00,0x00,0x00,0x00] 27 # CHECK-EB: jal 1328 # encoding: [0xf4,0x00,0x02,0x98] 28 # CHECK-EB: nop # encoding: [0x00,0x00,0x00,0x00] 29 # CHECK-EB: jalr $ra, $6 # encoding: [0x03,0xe6,0x0f,0x3c] 30 # CHECK-EB: nop # encoding: [0x00,0x00,0x00,0x00] 31 # CHECK-EB: jr $7 # encoding: [0x00,0x07,0x0f,0x3c] 32 # CHECK-EB: nop # encoding: [0x00,0x00,0x00,0x00] 33 # CHECK-EB: jr $7 # encoding: [0x00,0x07,0x0f,0x3c] 34 # CHECK-EB: nop # encoding: [0x00,0x00,0x00,0x00] 35 36 j 1328 37 jal 1328 38 jalr $ra, $6 39 jr $7 40 j $7 41