xref: /llvm-project/llvm/test/MC/Mips/mips-memory-instructions.s (revision 334c7bc7eb24cf735008f49b944080f79931a021)
1dc1e35d4SJack Carter# RUN: llvm-mc %s -triple=mipsel-unknown-linux -show-encoding -mcpu=mips32r2 | FileCheck %s
2dc1e35d4SJack Carter# Check that the assembler can handle the documented syntax
3dc1e35d4SJack Carter# for loads and stores.
4dc1e35d4SJack Carter#------------------------------------------------------------------------------
5dc1e35d4SJack Carter# Memory store instructions
6dc1e35d4SJack Carter#------------------------------------------------------------------------------
7dc1e35d4SJack Carter# CHECK:  sb      $4, 16($5)      # encoding: [0x10,0x00,0xa4,0xa0]
8dc1e35d4SJack Carter# CHECK:  sc      $4, 16($5)      # encoding: [0x10,0x00,0xa4,0xe0]
9dc1e35d4SJack Carter# CHECK:  sh      $4, 16($5)      # encoding: [0x10,0x00,0xa4,0xa4]
10dc1e35d4SJack Carter# CHECK:  sw      $4, 16($5)      # encoding: [0x10,0x00,0xa4,0xac]
11dc1e35d4SJack Carter# CHECK:  sw      $7,  0($5)      # encoding: [0x00,0x00,0xa7,0xac]
12*a63b16acSJack Carter# CHECK:  swc1    $f2, 16($5)     # encoding: [0x10,0x00,0xa2,0xe4]
13*a63b16acSJack Carter# CHECK:  swl     $4, 16($5)      # encoding: [0x10,0x00,0xa4,0xa8]
14dc1e35d4SJack Carter     sb   $4, 16($5)
15dc1e35d4SJack Carter     sc   $4, 16($5)
16dc1e35d4SJack Carter     sh   $4, 16($5)
17dc1e35d4SJack Carter     sw   $4, 16($5)
18dc1e35d4SJack Carter     sw   $7,   ($5)
19*a63b16acSJack Carter     swc1 $f2, 16($5)
20*a63b16acSJack Carter     swl  $4, 16($5)
21dc1e35d4SJack Carter
22dc1e35d4SJack Carter#------------------------------------------------------------------------------
23dc1e35d4SJack Carter# Memory load instructions
24dc1e35d4SJack Carter#------------------------------------------------------------------------------
25dc1e35d4SJack Carter
26dc1e35d4SJack Carter# CHECK:  lb  $4, 4($5)       # encoding: [0x04,0x00,0xa4,0x80]
27dc1e35d4SJack Carter# CHECK:  lw  $4, 4($5)       # encoding: [0x04,0x00,0xa4,0x8c]
28dc1e35d4SJack Carter# CHECK:  lbu $4, 4($5)       # encoding: [0x04,0x00,0xa4,0x90]
29dc1e35d4SJack Carter# CHECK:  lh  $4, 4($5)       # encoding: [0x04,0x00,0xa4,0x84]
30dc1e35d4SJack Carter# CHECK:  lhu $4, 4($5)       # encoding: [0x04,0x00,0xa4,0x94]
31dc1e35d4SJack Carter# CHECK:  ll  $4, 4($5)       # encoding: [0x04,0x00,0xa4,0xc0]
32dc1e35d4SJack Carter# CHECK:  lw  $4, 4($5)       # encoding: [0x04,0x00,0xa4,0x8c]
33dc1e35d4SJack Carter# CHECK:  lw  $7, 0($7)       # encoding: [0x00,0x00,0xe7,0x8c]
34dc1e35d4SJack Carter# CHECK:  lw  $2, 16($sp)     # encoding: [0x10,0x00,0xa2,0x8f]
35dc1e35d4SJack Carter
36dc1e35d4SJack Carter      lb      $4, 4($5)
37dc1e35d4SJack Carter      lw      $4, 4($5)
38dc1e35d4SJack Carter      lbu     $4, 4($5)
39dc1e35d4SJack Carter      lh      $4, 4($5)
40dc1e35d4SJack Carter      lhu     $4, 4($5)
41dc1e35d4SJack Carter      ll      $4, 4($5)
42dc1e35d4SJack Carter      lw      $4, 4($5)
43dc1e35d4SJack Carter      lw      $7,    ($7)
44dc1e35d4SJack Carter      lw      $2, 16($sp)
45