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)