1 # RUN: llvm-mc -triple hexagon -filetype=obj -o - %s | llvm-objdump -d - | FileCheck %s 2 # Hexagon Programmer's Reference Manual 11.3 JR 3 4 # Call subroutine from register 5 # CHECK: 00 c0 b5 50 6 callr r21 7 # CHECK: 00 c1 15 51 8 if (p1) callr r21 9 # CHECK: 00 c3 35 51 10 if (!p3) callr r21 11 12 # Hint an indirect jump address 13 # CHECK: 00 c0 b5 52 14 hintjr(r21) 15 16 # Jump to address from register 17 # CHECK: 00 c0 95 52 18 jumpr r21 19 # CHECK: 00 c1 55 53 20 if (p1) jumpr r21 21 # CHECK: 03 40 45 85 22 # CHECK-NEXT: 00 cb 55 53 23 { p3 = r5 24 if (p3.new) jumpr:nt r21 } 25 # CHECK: 03 40 45 85 26 # CHECK-NEXT: 00 db 55 53 27 { p3 = r5 28 if (p3.new) jumpr:t r21 } 29 # CHECK: 00 c3 75 53 30 if (!p3) jumpr r21 31 # CHECK: 03 40 45 85 32 # CHECK-NEXT: 00 cb 75 53 33 { p3 = r5 34 if (!p3.new) jumpr:nt r21 } 35 # CHECK: 03 40 45 85 36 # CHECK-NEXT: 00 db 75 53 37 { p3 = r5 38 if (!p3.new) jumpr:t r21 } 39