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