| # RUN: llc %s -mtriple=m68k -start-after=prologepilog -O0 -filetype=obj -o - \ |
| # RUN: | extract-section .text \ |
| # RUN: | FileCheck %s -check-prefixes=CALLK,CALLQ,CALLB,CALLJ |
| |
| #------------------------------------------------------------------------------ |
| # MxCALL pushes address of the next instruction and jumps to the location |
| #------------------------------------------------------------------------------ |
| |
| --- # MxCALL_PCI |
| # ---------------------------------------+-----------+----------- |
| # F E D C B A 9 8 7 6 | 5 4 3 | 2 1 0 |
| # ---------------------------------------+-----------+----------- |
| # 0 1 0 0 1 1 1 0 1 0 | MODE | REG |
| # ---------------------------------------+-----------+----------- |
| # CALLK: 0 1 0 0 1 1 1 0 . 1 0 1 1 1 0 1 1 |
| # CALLK-SAME: 1 0 0 0 1 0 0 0 . 0 0 0 0 0 0 0 0 |
| # ---------------------------------------+-----------+----------- |
| # CALLK-SAME: 0 1 0 0 1 1 1 0 . 1 0 1 1 1 0 1 1 |
| # CALLK-SAME: 1 0 0 0 1 0 0 0 . 1 1 1 1 1 1 1 1 |
| # ---------------------------------------+-----------+----------- |
| # CALLK-SAME: 0 1 0 0 1 1 1 0 . 1 0 1 1 1 0 1 1 |
| # CALLK-SAME: 1 0 0 0 1 0 0 0 . 0 0 1 0 1 0 1 0 |
| # ---+-----------+---+-------+---+------------------------------- |
| # BRIEF DA | REG | L | SCALE | 0 | DISPLACEMENT |
| # ---+-----------+---+-------+---+------------------------------- |
| name: MxCALL_PCI |
| body: | |
| bb.0: |
| CALLk 0, $a0 |
| CALLk -1, $a0 |
| CALLk 42, $a0 |
| |
| ... |
| --- # MxCALL_PCD |
| # ---------------------------------------+-----------+----------- |
| # F E D C B A 9 8 7 6 | 5 4 3 | 2 1 0 |
| # ---------------------------------------+-----------+----------- |
| # 0 1 0 0 1 1 1 0 1 0 | MODE | REG |
| # ---------------------------------------+-----------+----------- |
| # CALLQ-SAME: 0 1 0 0 1 1 1 0 . 1 0 1 1 1 0 1 0 |
| # CALLQ-SAME: 0 0 0 0 0 0 0 0 . 0 0 0 0 0 0 0 0 |
| # ---------------------------------------+-----------+----------- |
| # CALLQ-SAME: 0 1 0 0 1 1 1 0 . 1 0 1 1 1 0 1 0 |
| # CALLQ-SAME: 0 1 1 1 1 1 1 1 . 1 1 1 1 1 1 1 1 |
| name: MxCALL_PCD |
| body: | |
| bb.0: |
| CALLq 0 |
| CALLq 32767 |
| |
| ... |
| --- # MxCALL_ABS |
| # ---------------------------------------+-----------+----------- |
| # F E D C B A 9 8 7 6 | 5 4 3 | 2 1 0 |
| # ---------------------------------------+-----------+----------- |
| # 0 1 0 0 1 1 1 0 1 0 | MODE | REG |
| # ---------------------------------------+-----------+----------- |
| # CALLB-SAME: 0 1 0 0 1 1 1 0 . 1 0 1 1 1 0 0 1 |
| # CALLB-SAME: 0 0 0 0 0 0 0 0 . 0 0 0 0 0 0 0 0 |
| # CALLB-SAME: 0 0 0 0 0 0 0 0 . 0 0 1 0 1 0 1 0 |
| # ---------------------------------------+-----------+----------- |
| # CALLB-SAME: 0 1 0 0 1 1 1 0 . 1 0 1 1 1 0 0 1 |
| # CALLB-SAME: 1 1 1 1 1 1 1 1 . 1 1 1 1 1 1 1 1 |
| # CALLB-SAME: 1 1 1 1 1 1 1 1 . 1 1 1 1 1 1 1 1 |
| name: MxCALL_ABS |
| body: | |
| bb.0: |
| CALLb 42 |
| CALLb -1 |
| |
| ... |
| --- # MxCALL_ARI |
| # ---------------------------------------+-----------+----------- |
| # F E D C B A 9 8 7 6 | 5 4 3 | 2 1 0 |
| # ---------------------------------------+-----------+----------- |
| # 0 1 0 0 1 1 1 0 1 0 | MODE | REG |
| # ---------------------------------------+-----------+----------- |
| # CALLJ-SAME: 0 1 0 0 1 1 1 0 . 1 0 0 1 0 0 0 0 |
| # CALLJ-SAME: 0 1 0 0 1 1 1 0 . 1 0 0 1 0 0 0 1 |
| # CALLJ-SAME: 0 1 0 0 1 1 1 0 . 1 0 0 1 0 0 1 0 |
| name: MxCALL_ARI |
| body: | |
| bb.0: |
| CALLj $a0 |
| CALLj $a1 |
| CALLj $a2 |
| |
| ... |