1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py 2; RUN: llc --mtriple=loongarch64 -mattr=+d < %s | FileCheck %s 3 4define i32 @indirectbr(ptr %target) nounwind { 5; CHECK-LABEL: indirectbr: 6; CHECK: # %bb.0: 7; CHECK-NEXT: jr $a0 8; CHECK-NEXT: .LBB0_1: # %test_label 9; CHECK-NEXT: move $a0, $zero 10; CHECK-NEXT: ret 11 indirectbr ptr %target, [label %test_label] 12test_label: 13 br label %ret 14ret: 15 ret i32 0 16} 17 18define i32 @indirectbr_with_offset(ptr %a) nounwind { 19; CHECK-LABEL: indirectbr_with_offset: 20; CHECK: # %bb.0: 21; CHECK-NEXT: jirl $zero, $a0, 1380 22; CHECK-NEXT: .LBB1_1: # %test_label 23; CHECK-NEXT: move $a0, $zero 24; CHECK-NEXT: ret 25 %target = getelementptr inbounds i8, ptr %a, i32 1380 26 indirectbr ptr %target, [label %test_label] 27test_label: 28 br label %ret 29ret: 30 ret i32 0 31} 32