1 # RUN: llvm-mc -triple hexagon -disassemble < %s | FileCheck %s 2 # Hexagon Programmer's Reference Manual 11.3 JR 3 4 # Call subroutine from register 5 0x00 0xc0 0xb5 0x50 6 # CHECK: callr r21 7 0x00 0xc1 0x15 0x51 8 # CHECK: if (p1) callr r21 9 0x00 0xc3 0x35 0x51 10 # CHECK: if (!p3) callr r21 11 12 # Hint an indirect jump address 13 0x00 0xc0 0xb5 0x52 14 # CHECK: hintjr(r21) 15 16 # Jump to address from register 17 0x00 0xc0 0x95 0x52 18 # CHECK: jumpr r21 19 0x00 0xc1 0x55 0x53 20 # CHECK: if (p1) jumpr r21 21 0x03 0x40 0x45 0x85 0x00 0xcb 0x55 0x53 22 # CHECK: p3 = r5 23 # CHECK-NEXT: if (p3.new) jumpr:nt r21 24 0x03 0x40 0x45 0x85 0x00 0xdb 0x55 0x53 25 # CHECK: p3 = r5 26 # CHECK-NEXT: if (p3.new) jumpr:t r21 27 0x00 0xc3 0x75 0x53 28 # CHECK: if (!p3) jumpr r21 29 0x03 0x40 0x45 0x85 0x00 0xcb 0x75 0x53 30 # CHECK: p3 = r5 31 # CHECK-NEXT: if (!p3.new) jumpr:nt r21 32 0x03 0x40 0x45 0x85 0x00 0xdb 0x75 0x53 33 # CHECK: p3 = r5 34 # CHECK-NEXT: if (!p3.new) jumpr:t r21 35