• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# RUN: llvm-mc --triple hexagon -disassemble < %s | FileCheck %s
2# Hexagon Programmer's Reference Manual 11.2 CR
3
4# Corner detection acceleration
50x93 0xe1 0x12 0x6b
6# CHECK: p3 = !fastcorner9(p2, p1)
70x91 0xe3 0x02 0x6b
8# CHECK: p1 = fastcorner9(p2, p3)
9
10# Logical reductions on predicates
110x01 0xc0 0x82 0x6b
12# CHECK: p1 = any8(p2)
130x01 0xc0 0xa2 0x6b
14# CHECK: p1 = all8(p2)
15
16# Looping instructions
170x08 0xc4 0x15 0x60
18# CHECK: loop0
190x08 0xc4 0x35 0x60
20# CHECK: loop1
210x68 0xc4 0x00 0x69
22# CHECK: loop0
230x68 0xc4 0x20 0x69
24# CHECK: loop1
25
26# Add to PC
270x91 0xca 0x49 0x6a
28# CHECK: r17 = add(pc, #21)
29
30# Pipelined loop instructions
310x08 0xc4 0xb5 0x60
32# CHECK: p3 = sp1loop0
330x08 0xc4 0xd5 0x60
34# CHECK: p3 = sp2loop0
350x08 0xc4 0xf5 0x60
36# CHECK: p3 = sp3loop0
370xa9 0xc4 0xa0 0x69
38# CHECK: p3 = sp1loop0
390xa9 0xc4 0xc0 0x69
40# CHECK: p3 = sp2loop0
410xa9 0xc4 0xe0 0x69
42# CHECK: p3 = sp3loop0
43
44# Logical operations on predicates
450x01 0xc3 0x02 0x6b
46# CHECK: p1 = and(p3, p2)
470xc1 0xc3 0x12 0x6b
48# CHECK: p1 = and(p2, and(p3, p3))
490x01 0xc3 0x22 0x6b
50# CHECK: p1 = or(p3, p2)
510xc1 0xc3 0x32 0x6b
52# CHECK: p1 = and(p2, or(p3, p3))
530x01 0xc3 0x42 0x6b
54# CHECK: p1 = xor(p2, p3)
550xc1 0xc3 0x52 0x6b
56# CHECK: p1 = or(p2, and(p3, p3))
570x01 0xc2 0x63 0x6b
58# CHECK: p1 = and(p2, !p3)
590xc1 0xc3 0x72 0x6b
60# CHECK: p1 = or(p2, or(p3, p3))
610xc1 0xc3 0x92 0x6b
62# CHECK: p1 = and(p2, and(p3, !p3))
630xc1 0xc3 0xb2 0x6b
64# CHECK: p1 = and(p2, or(p3, !p3))
650x01 0xc0 0xc2 0x6b
66# CHECK: p1 = not(p2)
670xc1 0xc3 0xd2 0x6b
68# CHECK: p1 = or(p2, and(p3, !p3))
690x01 0xc2 0xe3 0x6b
70# CHECK: p1 = or(p2, !p3)
710xc1 0xc3 0xf2 0x6b
72# CHECK: p1 = or(p2, or(p3, !p3))
73
74# User control register transfer
750x0d 0xc0 0x35 0x62
76# CHECK: cs1 = r21
770x11 0xc0 0x0d 0x6a
78# CHECK: r17 = cs1
79