brintos

brintos / llvm-project-archived public Read only

0
0
Text · 6.2 KiB · 4a5a8c8 Raw
207 lines · plain
1# RUN: llvm-mc -triple hexagon -filetype=obj -o - %s | llvm-objdump -d - | FileCheck %s2# Hexagon Programmer's Reference Manual 11.4 J3 4# Call subroutine5# CHECK: 00 c0 00 5a6call 07# CHECK: 00 c3 00 5d8if (p3) call 09# CHECK: 00 c3 20 5d10if (!p3) call 011 12# Compare and jump13# CHECK: 00 c0 89 1114{ p0 = cmp.eq(r17,#-1); if (p0.new) jump:nt 0 }15# CHECK: 00 c1 89 1116{ p0 = cmp.gt(r17,#-1); if (p0.new) jump:nt 0 }17# CHECK: 00 c3 89 1118{ p0 = tstbit(r17, #0); if (p0.new) jump:nt 0 }19# CHECK: 00 e0 89 1120{ p0 = cmp.eq(r17,#-1); if (p0.new) jump:t 0 }21# CHECK: 00 e1 89 1122{ p0 = cmp.gt(r17,#-1); if (p0.new) jump:t 0 }23# CHECK: 00 e3 89 1124{ p0 = tstbit(r17, #0); if (p0.new) jump:t 0 }25# CHECK: 00 c0 c9 1126{ p0 = cmp.eq(r17,#-1); if (!p0.new) jump:nt 0 }27# CHECK: 00 c1 c9 1128{ p0 = cmp.gt(r17,#-1); if (!p0.new) jump:nt 0 }29# CHECK: 00 c3 c9 1130{ p0 = tstbit(r17, #0); if (!p0.new) jump:nt 0 }31# CHECK: 00 e0 c9 1132{ p0 = cmp.eq(r17,#-1); if (!p0.new) jump:t 0 }33# CHECK: 00 e1 c9 1134{ p0 = cmp.gt(r17,#-1); if (!p0.new) jump:t 0 }35# CHECK: 00 e3 c9 1136{ p0 = tstbit(r17, #0); if (!p0.new) jump:t 0 }37# CHECK: 00 d5 09 1038{ p0 = cmp.eq(r17, #21); if (p0.new) jump:nt 0 }39# CHECK: 00 f5 09 1040{ p0 = cmp.eq(r17, #21); if (p0.new) jump:t 0 }41# CHECK: 00 d5 49 1042{ p0 = cmp.eq(r17, #21); if (!p0.new) jump:nt 0 }43# CHECK: 00 f5 49 1044{ p0 = cmp.eq(r17, #21); if (!p0.new) jump:t 0 }45# CHECK: 00 d5 89 1046{ p0 = cmp.gt(r17, #21); if (p0.new) jump:nt 0 }47# CHECK: 00 f5 89 1048{ p0 = cmp.gt(r17, #21); if (p0.new) jump:t 0 }49# CHECK: 00 d5 c9 1050{ p0 = cmp.gt(r17, #21); if (!p0.new) jump:nt 0 }51# CHECK: 00 f5 c9 1052{ p0 = cmp.gt(r17, #21); if (!p0.new) jump:t 0 }53# CHECK: 00 d5 09 1154{ p0 = cmp.gtu(r17, #21); if (p0.new) jump:nt 0 }55# CHECK: 00 f5 09 1156{ p0 = cmp.gtu(r17, #21); if (p0.new) jump:t 0 }57# CHECK: 00 d5 49 1158{ p0 = cmp.gtu(r17, #21); if (!p0.new) jump:nt 0 }59# CHECK: 00 f5 49 1160{ p0 = cmp.gtu(r17, #21); if (!p0.new) jump:t 0 }61# CHECK: 00 c0 89 1362{ p1 = cmp.eq(r17,#-1); if (p1.new) jump:nt 0 }63# CHECK: 00 c1 89 1364{ p1 = cmp.gt(r17,#-1); if (p1.new) jump:nt 0 }65# CHECK: 00 c3 89 1366{ p1 = tstbit(r17, #0); if (p1.new) jump:nt 0 }67# CHECK: 00 e0 89 1368{ p1 = cmp.eq(r17,#-1); if (p1.new) jump:t 0 }69# CHECK: 00 e1 89 1370{ p1 = cmp.gt(r17,#-1); if (p1.new) jump:t 0 }71# CHECK: 00 e3 89 1372{ p1 = tstbit(r17, #0); if (p1.new) jump:t 0 }73# CHECK: 00 c0 c9 1374{ p1 = cmp.eq(r17,#-1); if (!p1.new) jump:nt 0 }75# CHECK: 00 c1 c9 1376{ p1 = cmp.gt(r17,#-1); if (!p1.new) jump:nt 0 }77# CHECK: 00 c3 c9 1378{ p1 = tstbit(r17, #0); if (!p1.new) jump:nt 0 }79# CHECK: 00 e0 c9 1380{ p1 = cmp.eq(r17,#-1); if (!p1.new) jump:t 0 }81# CHECK: 00 e1 c9 1382{ p1 = cmp.gt(r17,#-1); if (!p1.new) jump:t 0 }83# CHECK: 00 e3 c9 1384{ p1 = tstbit(r17, #0); if (!p1.new) jump:t 0 }85# CHECK: 00 d5 09 1286{ p1 = cmp.eq(r17, #21); if (p1.new) jump:nt 0 }87# CHECK: 00 f5 09 1288{ p1 = cmp.eq(r17, #21); if (p1.new) jump:t 0 }89# CHECK: 00 d5 49 1290{ p1 = cmp.eq(r17, #21); if (!p1.new) jump:nt 0 }91# CHECK: 00 f5 49 1292{ p1 = cmp.eq(r17, #21); if (!p1.new) jump:t 0 }93# CHECK: 00 d5 89 1294{ p1 = cmp.gt(r17, #21); if (p1.new) jump:nt 0 }95# CHECK: 00 f5 89 1296{ p1 = cmp.gt(r17, #21); if (p1.new) jump:t 0 }97# CHECK: 00 d5 c9 1298{ p1 = cmp.gt(r17, #21); if (!p1.new) jump:nt 0 }99# CHECK: 00 f5 c9 12100{ p1 = cmp.gt(r17, #21); if (!p1.new) jump:t 0 }101# CHECK: 00 d5 09 13102{ p1 = cmp.gtu(r17, #21); if (p1.new) jump:nt 0 }103# CHECK: 00 f5 09 13104{ p1 = cmp.gtu(r17, #21); if (p1.new) jump:t 0 }105# CHECK: 00 d5 49 13106{ p1 = cmp.gtu(r17, #21); if (!p1.new) jump:nt 0 }107# CHECK: 00 f5 49 13108{ p1 = cmp.gtu(r17, #21); if (!p1.new) jump:t 0 }109# CHECK: 00 cd 09 14110{ p0 = cmp.eq(r17, r21); if (p0.new) jump:nt 0 }111# CHECK: 00 dd 09 14112{ p1 = cmp.eq(r17, r21); if (p1.new) jump:nt 0 }113# CHECK: 00 ed 09 14114{ p0 = cmp.eq(r17, r21); if (p0.new) jump:t 0 }115# CHECK: 00 fd 09 14116{ p1 = cmp.eq(r17, r21); if (p1.new) jump:t 0 }117# CHECK: 00 cd 49 14118{ p0 = cmp.eq(r17, r21); if (!p0.new) jump:nt 0 }119# CHECK: 00 dd 49 14120{ p1 = cmp.eq(r17, r21); if (!p1.new) jump:nt 0 }121# CHECK: 00 ed 49 14122{ p0 = cmp.eq(r17, r21); if (!p0.new) jump:t 0 }123# CHECK: 00 fd 49 14124{ p1 = cmp.eq(r17, r21); if (!p1.new) jump:t 0 }125# CHECK: 00 cd 89 14126{ p0 = cmp.gt(r17, r21); if (p0.new) jump:nt 0 }127# CHECK: 00 dd 89 14128{ p1 = cmp.gt(r17, r21); if (p1.new) jump:nt 0 }129# CHECK: 00 ed 89 14130{ p0 = cmp.gt(r17, r21); if (p0.new) jump:t 0 }131# CHECK: 00 fd 89 14132{ p1 = cmp.gt(r17, r21); if (p1.new) jump:t 0 }133# CHECK: 00 cd c9 14134{ p0 = cmp.gt(r17, r21); if (!p0.new) jump:nt 0 }135# CHECK: 00 dd c9 14136{ p1 = cmp.gt(r17, r21); if (!p1.new) jump:nt 0 }137# CHECK: 00 ed c9 14138{ p0 = cmp.gt(r17, r21); if (!p0.new) jump:t 0 }139# CHECK: 00 fd c9 14140{ p1 = cmp.gt(r17, r21); if (!p1.new) jump:t 0 }141# CHECK: 00 cd 09 15142{ p0 = cmp.gtu(r17, r21); if (p0.new) jump:nt 0 }143# CHECK: 00 dd 09 15144{ p1 = cmp.gtu(r17, r21); if (p1.new) jump:nt 0 }145# CHECK: 00 ed 09 15146{ p0 = cmp.gtu(r17, r21); if (p0.new) jump:t 0 }147# CHECK: 00 fd 09 15148{ p1 = cmp.gtu(r17, r21); if (p1.new) jump:t 0 }149# CHECK: 00 cd 49 15150{ p0 = cmp.gtu(r17, r21); if (!p0.new) jump:nt 0 }151# CHECK: 00 dd 49 15152{ p1 = cmp.gtu(r17, r21); if (!p1.new) jump:nt 0 }153# CHECK: 00 ed 49 15154{ p0 = cmp.gtu(r17, r21); if (!p0.new) jump:t 0 }155# CHECK: 00 fd 49 15156{ p1 = cmp.gtu(r17, r21); if (!p1.new) jump:t 0 }157 158# Jump to address159# CHECK: 00 c0 00 58160jump 0161# CHECK: 00 c3 00 5c162if (p3) jump 0163# CHECK: 00 c3 20 5c164if (!p3) jump 0165 166# Jump to address conditioned on new predicate167# CHECK: 03 40 45 85168# CHECK-NEXT: 00 cb 00 5c169{ p3 = r5170  if (p3.new) jump:nt 0 }171# CHECK: 03 40 45 85172# CHECK-NEXT: 00 db 00 5c173{ p3 = r5174  if (p3.new) jump:t 0 }175# CHECK: 03 40 45 85176# CHECK-NEXT: 00 cb 20 5c177{ p3 = r5178  if (!p3.new) jump:nt 0 }179# CHECK: 03 40 45 85180# CHECK-NEXT: 00 db 20 5c181{ p3 = r5182  if (!p3.new) jump:t 0 }183 184# Jump to address conditioned on register value185# CHECK: 00 c0 11 61186if (r17!=#0) jump:nt 0187# CHECK: 00 d0 11 61188if (r17!=#0) jump:t 0189# CHECK: 00 c0 51 61190if (r17>=#0) jump:nt 0191# CHECK: 00 d0 51 61192if (r17>=#0) jump:t 0193# CHECK: 00 c0 91 61194if (r17==#0) jump:nt 0195# CHECK: 00 d0 91 61196if (r17==#0) jump:t 0197# CHECK: 00 c0 d1 61198if (r17<=#0) jump:nt 0199# CHECK: 00 d0 d1 61200if (r17<=#0) jump:t 0201 202# Transfer and jump203# CHECK: 00 d5 09 16204{ r17 = #21 ; jump 0 }205# CHECK: 00 c9 0d 17206{ r17 = r21 ; jump 0 }207