OpenCores
URL https://opencores.org/ocsvn/openrisc_me/openrisc_me/trunk

Subversion Repositories openrisc_me

[/] [openrisc/] [trunk/] [gnu-src/] [binutils-2.20.1/] [gas/] [testsuite/] [gas/] [score/] [load_store_32.s] - Blame information for rev 205

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 205 julius
/*
2
 * tests for load/store instruction relaxation
3
 *
4
 * Author: libin
5
 */
6
 
7
.include "relaxation_macro.h"
8
 
9
.macro _ls_op_pattern insn
10
.balign 2
11
  insn_32 "\insn r0,  [r0,0]"
12
  insn_32 "\insn r15, [r0,0]"
13
  insn_32 "\insn r0,  [r7,0]"
14
  insn_32 "\insn r15, [r7,0]"
15
/* NOTE: offset MUST be word aligned */
16
  insn_32 "\insn r0,  [r0,124]"
17
  insn_32 "\insn r15, [r0,124]"
18
  insn_32 "\insn r0,  [r7,124]"
19
  insn_32 "\insn r15, [r7,124]"
20
 
21
  tran_16_32 "\insn! r0,[r0,124]", "\insn r0,[r0,124]"
22
 
23
  /* shouldn't alter */
24
  insn_32 "\insn r16, [r0, 0]"
25
  insn_32 "\insn r0,  [r8, 124]"
26
  insn_32 "\insn r16, [r8, 124]"
27
  insn_32 "\insn r0,  [r7, -1]"
28
  insn_32 "\insn r0,  [r7, 128]"
29
.endm
30
 
31
.text
32
/* lw/sw rD,[rA,SImm15] -> lw!/sw! rD,[rA,Imm5] */
33
_ls_op_pattern "lw"
34
_ls_op_pattern "sw"
35
 
36
/* ldi rD,SImm16 -> ldiu! rD,Imm6 */
37
.balign 2
38
insn_32 "ldi r0,  0"
39
insn_32 "ldi r15, 0"
40
insn_32 "ldi r0,  31"
41
insn_32 "ldi r15, 31"
42
 
43
tran_16_32 "ldiu! r0, 0", "ldi r0, 0"
44
 
45
/* shouldn't alter */
46
insn_32 "ldi r16, 0"
47
insn_32 "ldi r0,  -1"
48
insn_32 "ldi r0,  32"
49
insn_32 "ldi r16, 32"
50
 
51
/*
52
 * lw rD,[rA]+,SImm12 -> pop! rD
53
 *
54
 * r0: stack pointer(sp)
55
 */
56
insn_32 "lw r2,   [r0]+, 4"
57
insn_32 "lw r15,  [r0]+, 4"
58
 
59
/* shouldn't alter */
60
insn_32 "lw r16, [r0]+, 4"
61
insn_32 "lw r4,  [r2]+, 4"
62
insn_32 "lw r4,  [r0]+, -4"
63
 
64
/* sw rD,[rA,SImm12]+ -> push! rD */
65
insn_32 "sw r2,  [r0, -4]+"
66
insn_32 "sw r15, [r0, -4]+"
67
 
68
/* shouldn't alter */
69
insn_32 "sw r16, [r0, -4]+"
70
insn_32 "sw r4,  [r2, -4]+"
71
insn_32 "sw r4,  [r0, 4]+"

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.