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