Commit | Line | Data |
---|---|---|
81f5558e NC |
1 | .h8300s |
2 | # relax expected | |
3 | .global _start | |
4 | .section .text.func1,"ax",@progbits | |
5 | .align 1 | |
6 | _start: | |
7 | sub.l er0,er0 | |
8 | sub.l er2,er2 | |
9 | mov.l #var3,er1 | |
10 | mov.l @(table+4:32,er2),er2 | |
11 | jmp @er2 | |
12 | .section .rodata.tab,"a",@progbits | |
13 | .align 2 | |
14 | table: | |
15 | .long .L20 | |
16 | .long .L21 | |
17 | .long .L22 | |
18 | .long .L30noRelax | |
19 | .long .L31noRelax | |
20 | .long .L32noRelax | |
21 | .long .L100Relax | |
22 | .section .text.func1 | |
23 | .L20: | |
24 | mov.b @(var1+1:32,er0), r2l | |
25 | mov.b r2l,@(var1+1:32,er0) | |
26 | mov.b @(1:32,er1), r2l | |
27 | mov.b r2l,@(1:32,er1) | |
28 | rts | |
29 | .L21: | |
30 | mov.w @(var2+2:32,er0), r2 | |
31 | mov.w r2,@(var2+2:32,er0) | |
32 | mov.w @(2:32,er1), r2 | |
33 | mov.w r2,@(2:32,er1) | |
34 | rts | |
35 | .L22: | |
36 | mov.l @(var3+4:32,er0), er2 | |
37 | mov.l er2,@(var3+4:32,er0) | |
38 | mov.l @(4:32,er1), er2 | |
39 | mov.l er2,@(4:32,er1) | |
40 | rts | |
41 | ||
42 | .L100Relax: | |
43 | mov.l #0x01007800,er0 | |
44 | # part of MOV.L @(d:24,ERs),ERd opcode | |
45 | mov.w @var2+2:32,r1 | |
46 | rts | |
47 | ||
48 | # no relax allowed: | |
49 | .L30noRelax: | |
50 | mov.b @(var4+1:32,er0), r2l | |
51 | mov.b r2l,@(var4+1:32,er0) | |
52 | mov.b @(0x8000:32,er1), r2l | |
53 | mov.b r2l,@(0x8000:32,er1) | |
54 | rts | |
55 | .L31noRelax: | |
56 | mov.w @(var5+2:32,er0), r2 | |
57 | mov.w r2,@(var5+2:32,er0) | |
58 | mov.w @(0x8000:32,er1), r2 | |
59 | mov.w r2,@(0x8000:32,er1) | |
60 | rts | |
61 | .L32noRelax: | |
62 | mov.l @(var6+4:32,er0), er2 | |
63 | mov.l er2,@(var6+4:32,er0) | |
64 | mov.l @(0x8000:32,er1), er2 | |
65 | mov.l er2,@(0x8000:32,er1) | |
66 | rts |