1## Test valid branch instructions. 2 3# RUN: llvm-mc %s --triple=loongarch32 --show-encoding \ 4# RUN: | FileCheck --check-prefixes=CHECK-ASM,CHECK-ASM-AND-OBJ %s 5# RUN: llvm-mc %s --triple=loongarch64 --show-encoding \ 6# RUN: | FileCheck --check-prefixes=CHECK-ASM,CHECK-ASM-AND-OBJ %s 7# RUN: llvm-mc %s --triple=loongarch32 --filetype=obj | llvm-objdump -d - \ 8# RUN: | FileCheck --check-prefix=CHECK-ASM-AND-OBJ %s 9# RUN: llvm-mc %s --triple=loongarch64 --filetype=obj | llvm-objdump -d - \ 10# RUN: | FileCheck --check-prefix=CHECK-ASM-AND-OBJ %s 11 12# CHECK-ASM-AND-OBJ: beq $a6, $a3, 176 13# CHECK-ASM: encoding: [0x47,0xb1,0x00,0x58] 14beq $a6, $a3, 176 15 16# CHECK-ASM-AND-OBJ: bne $s2, $ra, 136 17# CHECK-ASM: encoding: [0x21,0x8b,0x00,0x5c] 18bne $s2, $ra, 136 19 20# CHECK-ASM-AND-OBJ: blt $t3, $s7, 168 21# CHECK-ASM: encoding: [0xfe,0xa9,0x00,0x60] 22blt $t3, $s7, 168 23 24# CHECK-ASM-AND-OBJ: bge $t0, $t3, 148 25# CHECK-ASM: encoding: [0x8f,0x95,0x00,0x64] 26bge $t0, $t3, 148 27 28# CHECK-ASM-AND-OBJ: bltu $t5, $a1, 4 29# CHECK-ASM: encoding: [0x25,0x06,0x00,0x68] 30bltu $t5, $a1, 4 31 32# CHECK-ASM-AND-OBJ: bgeu $a2, $s0, 140 33# CHECK-ASM: encoding: [0xd7,0x8c,0x00,0x6c] 34bgeu $a2, $s0, 140 35 36# CHECK-ASM-AND-OBJ: beqz $a5, 96 37# CHECK-ASM: encoding: [0x20,0x61,0x00,0x40] 38beqz $a5, 96 39 40# CHECK-ASM-AND-OBJ: bnez $sp, 212 41# CHECK-ASM: encoding: [0x60,0xd4,0x00,0x44] 42bnez $sp, 212 43 44# CHECK-ASM-AND-OBJ: b 248 45# CHECK-ASM: encoding: [0x00,0xf8,0x00,0x50] 46b 248 47 48# CHECK-ASM-AND-OBJ: bl 236 49# CHECK-ASM: encoding: [0x00,0xec,0x00,0x54] 50bl 236 51 52# CHECK-ASM-AND-OBJ: jirl $ra, $a0, 4 53# CHECK-ASM: encoding: [0x81,0x04,0x00,0x4c] 54jirl $ra, $a0, 4 55 56