1# RUN: llvm-mc -triple=hexagon -disassemble < %s | FileCheck %s
2# Hexagon Programmer's Reference Manual 11.6 MEMOP
3
4# Operation on memory byte
50x95 0xd9 0x11 0x3e
6# CHECK: memb(r17+#51) += r21
70xb5 0xd9 0x11 0x3e
8# CHECK: memb(r17+#51) -= r21
90xd5 0xd9 0x11 0x3e
10# CHECK: memb(r17+#51) &= r21
110xf5 0xd9 0x11 0x3e
12# CHECK: memb(r17+#51) |= r21
130x95 0xd9 0x11 0x3f
14# CHECK: memb(r17+#51) += #21
150xb5 0xd9 0x11 0x3f
16# CHECK: memb(r17+#51) -= #21
170xd5 0xd9 0x11 0x3f
18# CHECK: memb(r17+#51) = clrbit(#21)
190xf5 0xd9 0x11 0x3f
20# CHECK: memb(r17+#51) = setbit(#21)
21
22# Operation on memory halfword
230x95 0xd9 0x31 0x3e
24# CHECK: memh(r17+#102) += r21
250xb5 0xd9 0x31 0x3e
26# CHECK: memh(r17+#102) -= r21
270xd5 0xd9 0x31 0x3e
28# CHECK: memh(r17+#102) &= r21
290xf5 0xd9 0x31 0x3e
30# CHECK: memh(r17+#102) |= r21
310x95 0xd9 0x31 0x3f
32# CHECK: memh(r17+#102) += #21
330xb5 0xd9 0x31 0x3f
34# CHECK: memh(r17+#102) -= #21
350xd5 0xd9 0x31 0x3f
36# CHECK: memh(r17+#102) = clrbit(#21)
370xf5 0xd9 0x31 0x3f
38# CHECK: memh(r17+#102) = setbit(#21)
39
40# Operation on memory word
410x95 0xd9 0x51 0x3e
42# CHECK: memw(r17+#204) += r21
430xb5 0xd9 0x51 0x3e
44# CHECK: memw(r17+#204) -= r21
450xd5 0xd9 0x51 0x3e
46# CHECK: memw(r17+#204) &= r21
470xf5 0xd9 0x51 0x3e
48# CHECK: memw(r17+#204) |= r21
490x95 0xd9 0x51 0x3f
50# CHECK: memw(r17+#204) += #21
510xb5 0xd9 0x51 0x3f
52# CHECK: memw(r17+#204) -= #21
530xd5 0xd9 0x51 0x3f
54# CHECK: memw(r17+#204) = clrbit(#21)
550xf5 0xd9 0x51 0x3f
56# CHECK: memw(r17+#204) = setbit(#21)
57