1# RUN: llc %s -mtriple=m68k -start-after=prologepilog -O0 -filetype=obj -o - \
2# RUN:   | extract-section .text \
3# RUN:   | FileCheck %s -check-prefixes=MOVM32MP,MOVM32MJ
4
5#------------------------------------------------------------------------------
6# MxMOVEM_RM is used to load a list of registers sequentially from a memory
7# location
8#------------------------------------------------------------------------------
9
10--- # ARID
11#               -------------------+---+-----------+---+-----------+-----------
12#                F   E   D   C   B | A | 9   8   7 | 6 | 5   4   3 | 2   1   0
13#               -------------------+---+-----------+---+-----------+-----------
14#                0   1   0   0   1 | D | 0   0   1 | S |    MODE   |    REG
15#               -------------------+---+-----------+---+-----------+-----------
16#                                      REGISTER LIST MASK
17#               ---------------------------------------------------------------
18# MOVM32MP:      0   1   0   0   1   1   0   0 . 1   1   1   0   1   0   0   1
19# MOVM32MP-SAME: 0   0   0   0   0   0   0   0 . 0   0   0   0   0   0   0   1
20# MOVM32MP-SAME: 0   0   0   0   0   0   0   0 . 0   0   0   0   0   0   0   0
21#               ---------------------------------------------------------------
22# MOVM32MP-SAME: 0   1   0   0   1   1   0   0 . 1   1   1   0   1   0   0   1
23# MOVM32MP-SAME: 0   0   0   0   0   0   0   0 . 0   0   0   0   0   0   1   1
24# MOVM32MP-SAME: 1   1   1   1   1   1   1   1 . 1   1   1   1   1   1   1   1
25name: MxMOVEM_RM_ARID
26body: |
27  bb.0:
28    MOVM32mp 1,  0, $a1
29    MOVM32mp 3, -1, $a1
30
31...
32--- # ARI
33#               -------------------+---+-----------+---+-----------+-----------
34#                F   E   D   C   B | A | 9   8   7 | 6 | 5   4   3 | 2   1   0
35#               -------------------+---+-----------+---+-----------+-----------
36#                0   1   0   0   1 | D | 0   0   1 | S |    MODE   |    REG
37#               -------------------+---+-----------+---+-----------+-----------
38# MOVM32MJ-SAME: 0   1   0   0   1   1   0   0 . 1   1   0   1   0   0   0   1
39# MOVM32MJ-SAME: 0   0   0   0   0   0   0   0 . 0   0   0   0   0   0   0   1
40#               ---------------------------------------------------------------
41# MOVM32MJ-SAME: 0   1   0   0   1   1   0   0 . 1   1   0   1   0   0   0   1
42# MOVM32MJ-SAME: 0   0   0   0   0   0   0   0 . 0   0   0   0   0   0   1   1
43#               ---------------------------------------------------------------
44#                                      REGISTER LIST MASK
45#               ---------------------------------------------------------------
46name: MxMOVEM_RM_ARI
47body: |
48  bb.0:
49    MOVM32mj 1, $a1
50    MOVM32mj 3, $a1
51
52...
53