[ORC] Add std::tuple support to SimplePackedSerialization.
[llvm-project.git] / llvm / test / CodeGen / M68k / Encoding / Data / Classes / MxMove_MM.mir
blob60e01f1ad5e6de713bd3c99eefe590c747a48f75
1 # RUN: llc %s -mtriple=m68k -start-after=prologepilog -O0 -filetype=obj -o - \
2 # RUN:   | extract-section .text \
3 # RUN:   | FileCheck %s -check-prefixes=MOV8JK,MOV32JK,MOV8JQ,MOV32JQ,MOV8FF,MOV32FF
4 # RUN: llc %s -mtriple=m68k -start-after=prologepilog -O0 -filetype=obj -o - \
5 # RUN:   | extract-section .text \
6 # RUN:   | FileCheck %s -check-prefixes=MOV8PP,MOV32PP,MOV8JJ,MOV32JJ,MOV8OO,MOV32OO
7 # RUN: llc %s -mtriple=m68k -start-after=prologepilog -O0 -filetype=obj -o - \
8 # RUN:   | extract-section .text \
9 # RUN:   | FileCheck %s -check-prefixes=MOV8EE,MOV32EE,MOV8BB,MOV32BB
11 #------------------------------------------------------------------------------
12 # MxMove_MM is used for moving data from memory to memory
13 #------------------------------------------------------------------------------
15 --- # ARI <- PCI
16 #               ---------------------------+-----------+-----------+-----------
17 #                F   E | D   C | B   A   9 | 8   7   6 | 5   4   3 | 2   1   0
18 #               -------+-------+-----------+-----------+-----------+-----------
19 #                      |       |      DESTINATION      |         SOURCE
20 #                0   0 | SIZE  |    REG    |    MODE   |    MODE   |    REG
21 #               -------+-------+-----------+-----------+-----------+-----------
22 # MOV8JK:        0   0   0   1   0   0   0   0 . 1   0   1   1   1   0   1   1
23 # MOV8JK-SAME:   0   0   0   1   1   0   0   0 . 0   0   0   0   0   0   0   0
24 #               ---------------------------------------------------------------
25 # MOV8JK-SAME:   0   0   0   1   0   0   0   0 . 1   0   1   1   1   0   1   1
26 # MOV8JK-SAME:   0   0   0   1   1   0   0   0 . 1   1   1   1   1   1   1   1
27 #               ---------------------------------------------------------------
28 # MOV32JK-SAME:  0   0   1   0   0   0   0   0 . 1   0   1   1   1   0   1   1
29 # MOV32JK-SAME:  0   0   0   1   1   0   0   0 . 0   0   0   0   0   0   0   0
30 #               ---------------------------------------------------------------
31 # MOV32JK-SAME:  0   0   1   0   0   0   1   0 . 1   0   1   1   1   0   1   1
32 # MOV32JK-SAME:  1   0   1   0   1   0   0   0 . 0   0   0   0   0   0   0   0
33 #               ---+-----------+---+-------+---+-------------------------------
34 #        BRIEF  DA |    REG    | L | SCALE | 0 |          DISPLACEMENT
35 #               ---+-----------+---+-------+---+-------------------------------
36 name: MxMove_RM_ARI_PCI
37 body: |
38   bb.0:
39     MOV8jk  $a0,  0, $d1, implicit-def $ccr
40     MOV8jk  $a0, -1, $d1, implicit-def $ccr
41     MOV32jk $a0,  0, $d1, implicit-def $ccr
42     MOV32jk $a1,  0, $a2, implicit-def $ccr
44 ...
45 --- # ARI <- PCD
46 #               ---------------------------+-----------+-----------+-----------
47 #                F   E | D   C | B   A   9 | 8   7   6 | 5   4   3 | 2   1   0
48 #               -------+-------+-----------+-----------+-----------+-----------
49 #                      |       |      DESTINATION      |         SOURCE
50 #                0   0 | SIZE  |    REG    |    MODE   |    MODE   |    REG
51 #               -------+-------+-----------+-----------+-----------+-----------
52 # MOV8JQ-SAME:   0   0   0   1   0   0   0   0 . 1   0   1   1   1   0   1   0
53 # MOV8JQ-SAME:   0   0   0   0   0   0   0   0 . 0   0   0   0   0   0   0   0
54 #               ---------------------------------------------------------------
55 # MOV32JQ-SAME:  0   0   1   0   0   0   0   0 . 1   0   1   1   1   0   1   0
56 # MOV32JQ-SAME:  1   1   1   1   1   1   1   1 . 1   1   1   1   1   1   1   1
57 #               ---------------------------------------------------------------
58 # MOV32JQ-SAME:  0   0   1   0   0   0   0   0 . 1   0   1   1   1   0   1   0
59 # MOV32JQ-SAME:  1   1   1   1   1   1   1   1 . 1   1   1   1   1   1   1   1
60 name: MxMove_RM_PCD
61 body: |
62   bb.0:
63     MOV8jq  $a0,  0, implicit-def $ccr
64     MOV32jq $a0, -1, implicit-def $ccr
65     MOV32jq $a0, -1, implicit-def $ccr
67 ...
68 --- # ARII <- ARII
69 #               ---------------------------+-----------+-----------+-----------
70 #                F   E | D   C | B   A   9 | 8   7   6 | 5   4   3 | 2   1   0
71 #               -------+-------+-----------+-----------+-----------+-----------
72 #                      |       |      DESTINATION      |         SOURCE
73 #                0   0 | SIZE  |    REG    |    MODE   |    MODE   |    REG
74 #               -------+-------+-----------+-----------+-----------+-----------
75 # MOV8FF:        0   0   0   1   0   0   0   1 . 1   0   1   1   0   0   0   0
76 # MOV8FF-SAME:   0   0   0   1   1   0   0   0 . 0   0   0   0   0   0   0   0
77 # MOV8FF-SAME:   0   0   0   1   1   0   0   0 . 1   1   1   1   1   1   1   1
78 #               ---------------------------------------------------------------
79 # MOV8FF-SAME:   0   0   0   1   0   0   0   1 . 1   0   1   1   0   0   0   0
80 # MOV8FF-SAME:   0   0   0   1   1   0   0   0 . 1   1   1   1   1   1   1   1
81 # MOV8FF-SAME:   0   0   0   1   1   0   0   0 . 1   1   1   1   1   1   1   1
82 #               ---------------------------------------------------------------
83 # MOV32FF-SAME:  0   0   1   0   0   0   1   1 . 1   0   1   1   0   0   0   1
84 # MOV32FF-SAME:  0   0   0   1   1   0   0   0 . 0   0   0   0   0   0   0   0
85 # MOV32FF-SAME:  0   0   0   1   1   0   0   0 . 0   0   0   0   0   0   0   0
86 #               ---------------------------------------------------------------
87 # MOV32FF-SAME:  0   0   1   0   0   1   0   1 . 1   0   1   1   0   0   1   0
88 # MOV32FF-SAME:  1   0   1   0   1   0   0   0 . 0   0   1   0   1   0   1   0
89 # MOV32FF-SAME:  1   0   1   0   1   0   0   0 . 0   0   0   0   0   0   0   0
90 #               ---+-----------+---+-------+---+-------------------------------
91 #        BRIEF  DA |    REG    | L | SCALE | 0 |          DISPLACEMENT
92 #               ---+-----------+---+-------+---+-------------------------------
93 name: MxMove_RM_ARII_ARII
94 body: |
95   bb.0:
96     MOV8ff  -1, $a0, $d1, 0,  $a0, $d1, implicit-def $ccr
97     MOV8ff  -1, $a0, $d1, -1, $a0, $d1, implicit-def $ccr
98     MOV32ff 0,  $a1, $d1, 0,  $a1, $d1, implicit-def $ccr
99     MOV32ff 0,  $a2, $a2, 42, $a2, $a2, implicit-def $ccr
102 --- # ARID <- ARID
103 #               ---------------------------+-----------+-----------+-----------
104 #                F   E | D   C | B   A   9 | 8   7   6 | 5   4   3 | 2   1   0
105 #               -------+-------+-----------+-----------+-----------+-----------
106 #                      |       |      DESTINATION      |         SOURCE
107 #                0   0 | SIZE  |    REG    |    MODE   |    MODE   |    REG
108 #               -------+-------+-----------+-----------+-----------+-----------
109 # MOV8PP:        0   0   0   1   0   0   0   1 . 0   1   1   0   1   0   0   0
110 # MOV8PP-SAME:   0   0   0   0   0   0   0   0 . 0   0   0   0   0   0   0   0
111 # MOV8PP-SAME:   0   0   0   0   0   0   0   0 . 0   0   0   0   0   0   0   0
112 #               ---------------------------------------------------------------
113 # MOV32PP-SAME:  0   0   1   0   0   0   1   1 . 0   1   1   0   1   0   0   1
114 # MOV32PP-SAME:  1   1   1   1   1   1   1   1 . 1   1   1   1   1   1   1   1
115 # MOV32PP-SAME:  0   0   0   0   0   0   0   0 . 0   0   0   0   0   0   0   0
116 #               ---------------------------------------------------------------
117 # MOV32PP-SAME:  0   0   1   0   0   0   1   1 . 0   1   1   0   1   0   0   1
118 # MOV32PP-SAME:  0   0   0   0   0   0   0   0 . 0   0   1   0   1   0   1   0
119 # MOV32PP-SAME:  1   1   1   1   1   1   1   1 . 1   1   1   1   1   1   1   1
120 name: MxMove_RM_ARID
121 body: |
122   bb.0:
123     MOV8pp   0, $a0, 0,  $a0, implicit-def $ccr
124     MOV32pp  0, $a1, -1, $a1, implicit-def $ccr
125     MOV32pp -1, $a1, 42, $a1, implicit-def $ccr
128 --- # ARIPD <- ARIPD
129 #               ---------------------------+-----------+-----------+-----------
130 #                F   E | D   C | B   A   9 | 8   7   6 | 5   4   3 | 2   1   0
131 #               -------+-------+-----------+-----------+-----------+-----------
132 #                      |       |      DESTINATION      |         SOURCE
133 #                0   0 | SIZE  |    REG    |    MODE   |    MODE   |    REG
134 #               -------+-------+-----------+-----------+-----------+-----------
135 # MOV8EE:        0   0   0   1   0   0   0   1 . 0   0   1   0   0   0   0   0
136 #               ---------------------------------------------------------------
137 # MOV32EE-SAME:  0   0   1   0   0   0   1   1 . 0   0   1   0   0   0   0   1
138 #               ---------------------------------------------------------------
139 # MOV32EE-SAME:  0   0   1   0   0   0   1   1 . 0   0   1   0   0   0   0   1
140 name: MxMove_RM_ARIPD
141 body: |
142   bb.0:
143     MOV8ee  $a0, $a0, implicit-def $ccr
144     MOV32ee $a1, $a1, implicit-def $ccr
145     MOV32ee $a1, $a1, implicit-def $ccr
148 --- # ARIPI <- ARIPI
149 #               ---------------------------+-----------+-----------+-----------
150 #                F   E | D   C | B   A   9 | 8   7   6 | 5   4   3 | 2   1   0
151 #               -------+-------+-----------+-----------+-----------+-----------
152 #                      |       |      DESTINATION      |         SOURCE
153 #                0   0 | SIZE  |    REG    |    MODE   |    MODE   |    REG
154 #               -------+-------+-----------+-----------+-----------+-----------
155 # MOV8OO-SAME:   0   0   0   1   0   0   0   0 . 1   1   0   1   1   0   0   0
156 #               ---------------------------------------------------------------
157 # MOV32OO-SAME:  0   0   1   0   0   0   1   0 . 1   1   0   1   1   0   0   1
158 #               ---------------------------------------------------------------
159 # MOV32OO-SAME:  0   0   1   0   0   0   1   0 . 1   1   0   1   1   0   0   1
160 name: MxMove_RM_ARIPI
161 body: |
162   bb.0:
163     MOV8oo  $a0, $a0, implicit-def $ccr
164     MOV32oo $a1, $a1, implicit-def $ccr
165     MOV32oo $a1, $a1, implicit-def $ccr
168 --- # ARI <- ARI
169 #               ---------------------------+-----------+-----------+-----------
170 #                F   E | D   C | B   A   9 | 8   7   6 | 5   4   3 | 2   1   0
171 #               -------+-------+-----------+-----------+-----------+-----------
172 #                      |       |      DESTINATION      |         SOURCE
173 #                0   0 | SIZE  |    REG    |    MODE   |    MODE   |    REG
174 #               -------+-------+-----------+-----------+-----------+-----------
175 # MOV8JJ-SAME:   0   0   0   1   0   0   0   0 . 1   0   0   1   0   0   0   0
176 #               ---------------------------------------------------------------
177 # MOV32JJ-SAME:  0   0   1   0   0   0   1   0 . 1   0   0   1   0   0   0   1
178 #               ---------------------------------------------------------------
179 # MOV32JJ-SAME:  0   0   1   0   0   0   1   0 . 1   0   0   1   0   0   0   1
180 name: MxMove_RM_ARI
181 body: |
182   bb.0:
183     MOV8jj  $a0, $a0, implicit-def $ccr
184     MOV32jj $a1, $a1, implicit-def $ccr
185     MOV32jj $a1, $a1, implicit-def $ccr
188 --- # ABS <- ABS
189 #               ---------------------------+-----------+-----------+-----------
190 #                F   E | D   C | B   A   9 | 8   7   6 | 5   4   3 | 2   1   0
191 #               -------+-------+-----------+-----------+-----------+-----------
192 #                      |       |      DESTINATION      |         SOURCE
193 #                0   0 | SIZE  |    REG    |    MODE   |    MODE   |    REG
194 #               -------+-------+-----------+-----------+-----------+-----------
195 # MOV8BB-SAME:   0   0   0   1   0   0   1   1 . 1   1   1   1   1   0   0   1
196 # MOV8BB-SAME:   1   1   1   1   1   1   1   1 . 1   1   1   1   1   1   1   1
197 # MOV8BB-SAME:   0   0   0   0   0   0   0   0 . 0   0   0   0   0   0   0   0
198 #               ---------------------------------------------------------------
199 # MOV32BB-SAME:  0   0   1   0   0   0   1   1 . 1   1   1   1   1   0   0   1
200 # MOV32BB-SAME:  0   0   0   0   0   0   0   0 . 0   0   0   0   0   0   0   0
201 # MOV32BB-SAME:  0   0   0   0   0   0   0   0 . 0   0   0   0   0   0   0   0
202 # MOV32BB-SAME:  1   1   1   1   1   1   1   1 . 1   1   1   1   1   1   1   1
203 # MOV32BB-SAME:  1   1   1   1   1   1   1   1 . 1   1   1   1   1   1   1   1
204 #               ---------------------------------------------------------------
205 # MOV32BB-SAME:  0   0   1   0   0   0   1   1 . 1   1   1   1   1   0   0   1
206 # MOV32BB-SAME:  0   1   1   1   1   1   1   1 . 1   1   1   1   1   1   1   1
207 # MOV32BB-SAME:  1   1   1   1   1   1   1   1 . 1   1   1   1   1   1   1   1
208 # MOV32BB-SAME:  0   0   0   0   0   0   0   0 . 0   0   0   0   0   0   0   0
209 # MOV32BB-SAME:  0   0   0   0   0   0   0   0 . 0   0   0   0   0   0   0   0
210 name: MxMove_RM_ABS
211 body: |
212   bb.0:
213     MOV8bb   0, -1,          implicit-def $ccr
214     MOV32bb -1,  0,          implicit-def $ccr
215     MOV32bb  0,  2147483647, implicit-def $ccr