1# RUN: llvm-mc -triple=hexagon -filetype=obj -o - %s | llvm-objdump -d - | FileCheck %s
2# Hexagon Programmer's Reference Manual 11.6 MEMOP
3
4# Operation on memory byte
5# CHECK: 95 d9 11 3e
6memb(r17+#51) += r21
7# CHECK: b5 d9 11 3e
8memb(r17+#51) -= r21
9# CHECK: d5 d9 11 3e
10memb(r17+#51) &= r21
11# CHECK: f5 d9 11 3e
12memb(r17+#51) |= r21
13# CHECK: 95 d9 11 3f
14memb(r17+#51) += #21
15# CHECK: b5 d9 11 3f
16memb(r17+#51) -= #21
17# CHECK: d5 d9 11 3f
18memb(r17+#51) = clrbit(#21)
19# CHECK: f5 d9 11 3f
20memb(r17+#51) = setbit(#21)
21
22# Operation on memory halfword
23# CHECK: 95 d9 31 3e
24memh(r17+#102) += r21
25# CHECK: b5 d9 31 3e
26memh(r17+#102) -= r21
27# CHECK: d5 d9 31 3e
28memh(r17+#102) &= r21
29# CHECK: f5 d9 31 3e
30memh(r17+#102) |= r21
31# CHECK: 95 d9 31 3f
32memh(r17+#102) += #21
33# CHECK: b5 d9 31 3f
34memh(r17+#102) -= #21
35# CHECK: d5 d9 31 3f
36memh(r17+#102) = clrbit(#21)
37# CHECK: f5 d9 31 3f
38memh(r17+#102) = setbit(#21)
39
40# Operation on memory word
41# CHECK: 95 d9 51 3e
42memw(r17+#204) += r21
43# CHECK: b5 d9 51 3e
44memw(r17+#204) -= r21
45# CHECK: d5 d9 51 3e
46memw(r17+#204) &= r21
47# CHECK: f5 d9 51 3e
48memw(r17+#204) |= r21
49# CHECK: 95 d9 51 3f
50memw(r17+#204) += #21
51# CHECK: b5 d9 51 3f
52memw(r17+#204) -= #21
53# CHECK: d5 d9 51 3f
54memw(r17+#204) = clrbit(#21)
55# CHECK: f5 d9 51 3f
56memw(r17+#204) = setbit(#21)
57