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