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