1
# RUN: llvm-mc -triple=hexagon -disassemble < %s | FileCheck %s
2
# Hexagon Programmer's Reference Manual 11.10.7 XTYPE/PRED
6
# CHECK: p3 = boundscheck(r17:16, r21:20):raw:lo
8
# CHECK: p3 = boundscheck(r17:16, r21:20):raw:hi
12
# CHECK: p3 = cmpb.gt(r17, r21)
14
# CHECK: p3 = cmpb.eq(r17, r21)
16
# CHECK: p3 = cmpb.gtu(r17, r21)
18
# CHECK: p3 = cmpb.eq(r17, #21)
20
# CHECK: p3 = cmpb.gt(r17, #21)
22
# CHECK: p3 = cmpb.gtu(r17, #21)
26
# CHECK: p3 = cmph.eq(r17, r21)
28
# CHECK: p3 = cmph.gt(r17, r21)
30
# CHECK: p3 = cmph.gtu(r17, r21)
32
# CHECK: p3 = cmph.eq(r17, #21)
34
# CHECK: p3 = cmph.gt(r17, #21)
36
# CHECK: p3 = cmph.gtu(r17, #21)
40
# CHECK: p3 = cmp.eq(r21:20, r31:30)
42
# CHECK: p3 = cmp.gt(r21:20, r31:30)
44
# CHECK: p3 = cmp.gtu(r21:20, r31:30)
48
# CHECK: p3 = bitsclr(r17, #21)
50
# CHECK: p3 = !bitsclr(r17, #21)
52
# CHECK: p3 = bitsset(r17, r21)
54
# CHECK: p3 = !bitsset(r17, r21)
56
# CHECK: p3 = bitsclr(r17, r21)
58
# CHECK: p3 = !bitsclr(r17, r21)
60
# mask generate from predicate
62
# CHECK: r17:16 = mask(p3)
66
# CHECK: p3 = tlbmatch(r17:16, r21)
76
# CHECK: p3 = tstbit(r17, #21)
78
# CHECK: p3 = !tstbit(r17, #21)
80
# CHECK: p3 = tstbit(r17, r21)
82
# CHECK: p3 = !tstbit(r17, r21)
84
# Vector compare halfwords
86
# CHECK: p3 = vcmph.eq(r21:20, r31:30)
88
# CHECK: p3 = vcmph.gt(r21:20, r31:30)
90
# CHECK: p3 = vcmph.gtu(r21:20, r31:30)
92
# CHECK: p3 = vcmph.eq(r21:20, #31)
94
# CHECK: p3 = vcmph.gt(r21:20, #31)
96
# CHECK: p3 = vcmph.gtu(r21:20, #31)
98
# Vector compare bytes for any match
100
# CHECK: p3 = any8(vcmpb.eq(r21:20, r31:30))
102
# Vector compare bytes
104
# CHECK: p3 = vcmph.eq(r21:20, r31:30)
106
# CHECK: p3 = vcmph.gt(r21:20, r31:30)
108
# CHECK: p3 = vcmph.gtu(r21:20, r31:30)
110
# CHECK: p3 = vcmph.eq(r21:20, #31)
112
# CHECK: p3 = vcmph.gt(r21:20, #31)
114
# CHECK: p3 = vcmph.gtu(r21:20, #31)
116
# Vector compare words
118
# CHECK: p3 = vcmpw.eq(r21:20, r31:30)
120
# CHECK: p3 = vcmpw.gt(r21:20, r31:30)
122
# CHECK: p3 = vcmpw.gtu(r21:20, r31:30)
124
# CHECK: p3 = vcmpw.eq(r21:20, #31)
126
# CHECK: p3 = vcmpw.gt(r21:20, #31)
128
# CHECK: p3 = vcmpw.gtu(r21:20, #31)
130
# Viterbi pack even and odd predicate bits
132
# CHECK: r17 = vitpack(p3, p2)
136
# CHECK: r17:16 = vmux(p3, r21:20, r31:30)