1 # RUN: llvm-mc -triple=hexagon -disassemble < %s | FileCheck %s
2 # Hexagon Programmer's Reference Manual 11.10.2 XTYPE/BIT
6 # CHECK: r17 = clb(r21:20)
8 # CHECK: r17 = cl0(r21:20)
10 # CHECK: r17 = cl1(r21:20)
12 # CHECK: r17 = normamt(r21:20)
14 # CHECK: r17 = add(clb(r21:20), #23)
16 # CHECK: r17 = add(clb(r21), #23)
18 # CHECK: r17 = clb(r21)
20 # CHECK: r17 = cl0(r21)
22 # CHECK: r17 = cl1(r21)
24 # CHECK: r17 = normamt(r21)
28 # CHECK: r17 = popcount(r21:20)
32 # CHECK: r17 = ct0(r21:20)
34 # CHECK: r17 = ct1(r21:20)
36 # CHECK: r17 = ct0(r21)
38 # CHECK: r17 = ct1(r21)
42 # CHECK: r17:16 = extractu(r21:20, #31, #23)
44 # CHECK: r17:16 = extract(r21:20, #31, #23)
46 # CHECK: r17 = extractu(r21, #31, #23)
48 # CHECK: r17 = extract(r21, #31, #23)
50 # CHECK: r17:16 = extractu(r21:20, r31:30)
52 # CHECK: r17:16 = extract(r21:20, r31:30)
54 # CHECK: r17 = extractu(r21, r31:30)
56 # CHECK: r17 = extract(r21, r31:30)
60 # CHECK: r17:16 = insert(r21:20, #31, #23)
62 # CHECK: r17 = insert(r21, #31, #23)
64 # CHECK: r17 = insert(r21, r31:30)
66 # CHECK: r17:16 = insert(r21:20, r31:30)
68 # Interleave/deinterleave
70 # CHECK: r17:16 = deinterleave(r21:20)
72 # CHECK: r17:16 = interleave(r21:20)
74 # Linear feedback-shift iteration
76 # CHECK: r17:16 = lfs(r21:20, r31:30)
80 # CHECK: r17 = parity(r21:20, r31:30)
82 # CHECK: r17 = parity(r21, r31)
86 # CHECK: r17:16 = brev(r21:20)
88 # CHECK: r17 = brev(r21)
90 # Set/clear/toggle bit
92 # CHECK: r17 = setbit(r21, #31)
94 # CHECK: r17 = clrbit(r21, #31)
96 # CHECK: r17 = togglebit(r21, #31)
98 # CHECK: r17 = setbit(r21, r31)
100 # CHECK: r17 = clrbit(r21, r31)
102 # CHECK: r17 = togglebit(r21, r31)
106 # CHECK: r17:16 = bitsplit(r21, #31)
108 # CHECK: r17:16 = bitsplit(r21, r31)
112 # CHECK: r17 = tableidxb(r21, #7, #13):raw
114 # CHECK: r17 = tableidxh(r21, #7, #13):raw
116 # CHECK: r17 = tableidxw(r21, #7, #13):raw
118 # CHECK: r17 = tableidxd(r21, #7, #13):raw