92 changed files with 5379 additions and 1133 deletions
@ -0,0 +1,172 @@ |
|||
#as: -mvle |
|||
#objdump: -dr -Mvle |
|||
#name: VLE relocations |
|||
|
|||
.*: +file format elf.*-powerpc.* |
|||
|
|||
Disassembly of section \.text: |
|||
|
|||
00000000 <.text>: |
|||
0: e8 00 se_b 0x0 |
|||
0: R_PPC_VLE_REL8 sub1 |
|||
2: e9 00 se_bl 0x2 |
|||
2: R_PPC_VLE_REL8 sub1 |
|||
4: e1 00 se_ble 0x4 |
|||
4: R_PPC_VLE_REL8 sub2 |
|||
6: e6 00 se_beq 0x6 |
|||
6: R_PPC_VLE_REL8 sub2 |
|||
8: 78 00 00 00 e_b 0x8 |
|||
8: R_PPC_VLE_REL24 sub3 |
|||
c: 78 00 00 01 e_bl 0xc |
|||
c: R_PPC_VLE_REL24 sub4 |
|||
10: 7a 05 00 00 e_ble cr1,0x10 |
|||
10: R_PPC_VLE_REL15 sub5 |
|||
14: 7a 1a 00 01 e_beql cr2,0x14 |
|||
14: R_PPC_VLE_REL15 sub5 |
|||
|
|||
18: 70 20 c0 00 e_or2i r1,0 |
|||
18: R_PPC_VLE_LO16D low |
|||
1c: 70 40 c0 00 e_or2i r2,0 |
|||
1c: R_PPC_VLE_HI16D high |
|||
20: 70 60 c0 00 e_or2i r3,0 |
|||
20: R_PPC_VLE_HA16D high_adjust |
|||
24: 70 80 c0 00 e_or2i r4,0 |
|||
24: R_PPC_VLE_SDAREL_LO16D low_sdarel |
|||
28: 70 a0 c0 00 e_or2i r5,0 |
|||
28: R_PPC_VLE_SDAREL_HI16D high_sdarel |
|||
2c: 70 40 c0 00 e_or2i r2,0 |
|||
2c: R_PPC_VLE_SDAREL_HA16D high_adjust_sdarel |
|||
30: 70 20 c8 00 e_and2i. r1,0 |
|||
30: R_PPC_VLE_LO16D low |
|||
34: 70 40 c8 00 e_and2i. r2,0 |
|||
34: R_PPC_VLE_HI16D high |
|||
38: 70 60 c8 00 e_and2i. r3,0 |
|||
38: R_PPC_VLE_HA16D high_adjust |
|||
3c: 70 80 c8 00 e_and2i. r4,0 |
|||
3c: R_PPC_VLE_SDAREL_LO16D low_sdarel |
|||
40: 70 a0 c8 00 e_and2i. r5,0 |
|||
40: R_PPC_VLE_SDAREL_HI16D high_sdarel |
|||
44: 70 40 c8 00 e_and2i. r2,0 |
|||
44: R_PPC_VLE_SDAREL_HA16D high_adjust_sdarel |
|||
48: 70 40 c8 00 e_and2i. r2,0 |
|||
48: R_PPC_VLE_SDAREL_HA16D high_adjust_sdarel |
|||
4c: 70 20 d0 00 e_or2is r1,0 |
|||
4c: R_PPC_VLE_LO16D low |
|||
50: 70 40 d0 00 e_or2is r2,0 |
|||
50: R_PPC_VLE_HI16D high |
|||
54: 70 60 d0 00 e_or2is r3,0 |
|||
54: R_PPC_VLE_HA16D high_adjust |
|||
58: 70 80 d0 00 e_or2is r4,0 |
|||
58: R_PPC_VLE_SDAREL_LO16D low_sdarel |
|||
5c: 70 a0 d0 00 e_or2is r5,0 |
|||
5c: R_PPC_VLE_SDAREL_HI16D high_sdarel |
|||
60: 70 40 d0 00 e_or2is r2,0 |
|||
60: R_PPC_VLE_SDAREL_HA16D high_adjust_sdarel |
|||
64: 70 20 e0 00 e_lis r1,0 |
|||
64: R_PPC_VLE_LO16D low |
|||
68: 70 40 e0 00 e_lis r2,0 |
|||
68: R_PPC_VLE_HI16D high |
|||
6c: 70 60 e0 00 e_lis r3,0 |
|||
6c: R_PPC_VLE_HA16D high_adjust |
|||
70: 70 80 e0 00 e_lis r4,0 |
|||
70: R_PPC_VLE_SDAREL_LO16D low_sdarel |
|||
74: 70 a0 e0 00 e_lis r5,0 |
|||
74: R_PPC_VLE_SDAREL_HI16D high_sdarel |
|||
78: 70 40 e0 00 e_lis r2,0 |
|||
78: R_PPC_VLE_SDAREL_HA16D high_adjust_sdarel |
|||
7c: 70 20 e8 00 e_and2is. r1,0 |
|||
7c: R_PPC_VLE_LO16D low |
|||
80: 70 40 e8 00 e_and2is. r2,0 |
|||
80: R_PPC_VLE_HI16D high |
|||
84: 70 60 e8 00 e_and2is. r3,0 |
|||
84: R_PPC_VLE_HA16D high_adjust |
|||
88: 70 80 e8 00 e_and2is. r4,0 |
|||
88: R_PPC_VLE_SDAREL_LO16D low_sdarel |
|||
8c: 70 a0 e8 00 e_and2is. r5,0 |
|||
8c: R_PPC_VLE_SDAREL_HI16D high_sdarel |
|||
90: 70 40 e8 00 e_and2is. r2,0 |
|||
90: R_PPC_VLE_SDAREL_HA16D high_adjust_sdarel |
|||
94: 70 01 98 00 e_cmp16i r1,0 |
|||
94: R_PPC_VLE_LO16A low |
|||
98: 70 02 98 00 e_cmp16i r2,0 |
|||
98: R_PPC_VLE_HI16A high |
|||
9c: 70 03 98 00 e_cmp16i r3,0 |
|||
9c: R_PPC_VLE_HA16A high_adjust |
|||
a0: 70 04 98 00 e_cmp16i r4,0 |
|||
a0: R_PPC_VLE_SDAREL_LO16A low_sdarel |
|||
a4: 70 05 98 00 e_cmp16i r5,0 |
|||
a4: R_PPC_VLE_SDAREL_HI16A high_sdarel |
|||
a8: 70 02 98 00 e_cmp16i r2,0 |
|||
a8: R_PPC_VLE_SDAREL_HA16A high_adjust_sdarel |
|||
ac: 70 01 a8 00 e_cmpl16i r1,0 |
|||
ac: R_PPC_VLE_LO16A low |
|||
b0: 70 02 a8 00 e_cmpl16i r2,0 |
|||
b0: R_PPC_VLE_HI16A high |
|||
b4: 70 03 a8 00 e_cmpl16i r3,0 |
|||
b4: R_PPC_VLE_HA16A high_adjust |
|||
b8: 70 04 a8 00 e_cmpl16i r4,0 |
|||
b8: R_PPC_VLE_SDAREL_LO16A low_sdarel |
|||
bc: 70 05 a8 00 e_cmpl16i r5,0 |
|||
bc: R_PPC_VLE_SDAREL_HI16A high_sdarel |
|||
c0: 70 02 a8 00 e_cmpl16i r2,0 |
|||
c0: R_PPC_VLE_SDAREL_HA16A high_adjust_sdarel |
|||
c4: 70 01 b0 00 e_cmph16i r1,0 |
|||
c4: R_PPC_VLE_LO16A low |
|||
c8: 70 02 b0 00 e_cmph16i r2,0 |
|||
c8: R_PPC_VLE_HI16A high |
|||
cc: 70 03 b0 00 e_cmph16i r3,0 |
|||
cc: R_PPC_VLE_HA16A high_adjust |
|||
d0: 70 04 b0 00 e_cmph16i r4,0 |
|||
d0: R_PPC_VLE_SDAREL_LO16A low_sdarel |
|||
d4: 70 05 b0 00 e_cmph16i r5,0 |
|||
d4: R_PPC_VLE_SDAREL_HI16A high_sdarel |
|||
d8: 70 02 b0 00 e_cmph16i r2,0 |
|||
d8: R_PPC_VLE_SDAREL_HA16A high_adjust_sdarel |
|||
dc: 70 01 b8 00 e_cmphl16i r1,0 |
|||
dc: R_PPC_VLE_LO16A low |
|||
e0: 70 02 b8 00 e_cmphl16i r2,0 |
|||
e0: R_PPC_VLE_HI16A high |
|||
e4: 70 03 b8 00 e_cmphl16i r3,0 |
|||
e4: R_PPC_VLE_HA16A high_adjust |
|||
e8: 70 04 b8 00 e_cmphl16i r4,0 |
|||
e8: R_PPC_VLE_SDAREL_LO16A low_sdarel |
|||
ec: 70 05 b8 00 e_cmphl16i r5,0 |
|||
ec: R_PPC_VLE_SDAREL_HI16A high_sdarel |
|||
f0: 70 02 b8 00 e_cmphl16i r2,0 |
|||
f0: R_PPC_VLE_SDAREL_HA16A high_adjust_sdarel |
|||
f4: 70 01 88 00 e_add2i. r1,0 |
|||
f4: R_PPC_VLE_LO16A low |
|||
f8: 70 02 88 00 e_add2i. r2,0 |
|||
f8: R_PPC_VLE_HI16A high |
|||
fc: 70 03 88 00 e_add2i. r3,0 |
|||
fc: R_PPC_VLE_HA16A high_adjust |
|||
100: 70 04 88 00 e_add2i. r4,0 |
|||
100: R_PPC_VLE_SDAREL_LO16A low_sdarel |
|||
104: 70 05 88 00 e_add2i. r5,0 |
|||
104: R_PPC_VLE_SDAREL_HI16A high_sdarel |
|||
108: 70 02 88 00 e_add2i. r2,0 |
|||
108: R_PPC_VLE_SDAREL_HA16A high_adjust_sdarel |
|||
10c: 70 01 90 00 e_add2is r1,0 |
|||
10c: R_PPC_VLE_LO16A low |
|||
110: 70 02 90 00 e_add2is r2,0 |
|||
110: R_PPC_VLE_HI16A high |
|||
114: 70 03 90 00 e_add2is r3,0 |
|||
114: R_PPC_VLE_HA16A high_adjust |
|||
118: 70 04 90 00 e_add2is r4,0 |
|||
118: R_PPC_VLE_SDAREL_LO16A low_sdarel |
|||
11c: 70 05 90 00 e_add2is r5,0 |
|||
11c: R_PPC_VLE_SDAREL_HI16A high_sdarel |
|||
120: 70 02 90 00 e_add2is r2,0 |
|||
120: R_PPC_VLE_SDAREL_HA16A high_adjust_sdarel |
|||
124: 70 01 a0 00 e_mull2i r1,0 |
|||
124: R_PPC_VLE_LO16A low |
|||
128: 70 02 a0 00 e_mull2i r2,0 |
|||
128: R_PPC_VLE_HI16A high |
|||
12c: 70 03 a0 00 e_mull2i r3,0 |
|||
12c: R_PPC_VLE_HA16A high_adjust |
|||
130: 70 04 a0 00 e_mull2i r4,0 |
|||
130: R_PPC_VLE_SDAREL_LO16A low_sdarel |
|||
134: 70 05 a0 00 e_mull2i r5,0 |
|||
134: R_PPC_VLE_SDAREL_HI16A high_sdarel |
|||
138: 70 02 a0 00 e_mull2i r2,0 |
|||
138: R_PPC_VLE_SDAREL_HA16A high_adjust_sdarel |
|||
@ -0,0 +1,95 @@ |
|||
.section .text |
|||
se_b sub1 |
|||
se_bl sub1 |
|||
se_bc 0,1,sub2 |
|||
se_bc 1,2,sub2 |
|||
|
|||
e_b sub3 |
|||
e_bl sub4 |
|||
e_bc 0,5,sub5 |
|||
e_bcl 1,10,sub5 |
|||
|
|||
e_or2i 1, low@l |
|||
e_or2i 2, high@h |
|||
e_or2i 3, high_adjust@ha |
|||
e_or2i 4, low_sdarel@sdarel@l |
|||
e_or2i 5, high_sdarel@sdarel@h |
|||
e_or2i 2, high_adjust_sdarel@sdarel@ha |
|||
|
|||
e_and2i. 1, low@l |
|||
e_and2i. 2, high@h |
|||
e_and2i. 3, high_adjust@ha |
|||
e_and2i. 4, low_sdarel@sdarel@l |
|||
e_and2i. 5, high_sdarel@sdarel@h |
|||
e_and2i. 2, high_adjust_sdarel@sdarel@ha |
|||
e_and2i. 2, high_adjust_sdarel@sdarel@ha |
|||
|
|||
e_or2is 1, low@l |
|||
e_or2is 2, high@h |
|||
e_or2is 3, high_adjust@ha |
|||
e_or2is 4, low_sdarel@sdarel@l |
|||
e_or2is 5, high_sdarel@sdarel@h |
|||
e_or2is 2, high_adjust_sdarel@sdarel@ha |
|||
|
|||
e_lis 1, low@l |
|||
e_lis 2, high@h |
|||
e_lis 3, high_adjust@ha |
|||
e_lis 4, low_sdarel@sdarel@l |
|||
e_lis 5, high_sdarel@sdarel@h |
|||
e_lis 2, high_adjust_sdarel@sdarel@ha |
|||
|
|||
e_and2is. 1, low@l |
|||
e_and2is. 2, high@h |
|||
e_and2is. 3, high_adjust@ha |
|||
e_and2is. 4, low_sdarel@sdarel@l |
|||
e_and2is. 5, high_sdarel@sdarel@h |
|||
e_and2is. 2, high_adjust_sdarel@sdarel@ha |
|||
|
|||
e_cmp16i 1, low@l |
|||
e_cmp16i 2, high@h |
|||
e_cmp16i 3, high_adjust@ha |
|||
e_cmp16i 4, low_sdarel@sdarel@l |
|||
e_cmp16i 5, high_sdarel@sdarel@h |
|||
e_cmp16i 2, high_adjust_sdarel@sdarel@ha |
|||
|
|||
e_cmpl16i 1, low@l |
|||
e_cmpl16i 2, high@h |
|||
e_cmpl16i 3, high_adjust@ha |
|||
e_cmpl16i 4, low_sdarel@sdarel@l |
|||
e_cmpl16i 5, high_sdarel@sdarel@h |
|||
e_cmpl16i 2, high_adjust_sdarel@sdarel@ha |
|||
|
|||
e_cmph16i 1, low@l |
|||
e_cmph16i 2, high@h |
|||
e_cmph16i 3, high_adjust@ha |
|||
e_cmph16i 4, low_sdarel@sdarel@l |
|||
e_cmph16i 5, high_sdarel@sdarel@h |
|||
e_cmph16i 2, high_adjust_sdarel@sdarel@ha |
|||
|
|||
e_cmphl16i 1, low@l |
|||
e_cmphl16i 2, high@h |
|||
e_cmphl16i 3, high_adjust@ha |
|||
e_cmphl16i 4, low_sdarel@sdarel@l |
|||
e_cmphl16i 5, high_sdarel@sdarel@h |
|||
e_cmphl16i 2, high_adjust_sdarel@sdarel@ha |
|||
|
|||
e_add2i. 1, low@l |
|||
e_add2i. 2, high@h |
|||
e_add2i. 3, high_adjust@ha |
|||
e_add2i. 4, low_sdarel@sdarel@l |
|||
e_add2i. 5, high_sdarel@sdarel@h |
|||
e_add2i. 2, high_adjust_sdarel@sdarel@ha |
|||
|
|||
e_add2is 1, low@l |
|||
e_add2is 2, high@h |
|||
e_add2is 3, high_adjust@ha |
|||
e_add2is 4, low_sdarel@sdarel@l |
|||
e_add2is 5, high_sdarel@sdarel@h |
|||
e_add2is 2, high_adjust_sdarel@sdarel@ha |
|||
|
|||
e_mull2i 1, low@l |
|||
e_mull2i 2, high@h |
|||
e_mull2i 3, high_adjust@ha |
|||
e_mull2i 4, low_sdarel@sdarel@l |
|||
e_mull2i 5, high_sdarel@sdarel@h |
|||
e_mull2i 2, high_adjust_sdarel@sdarel@ha |
|||
@ -0,0 +1,39 @@ |
|||
#as: -mvle |
|||
#objdump: -dr -Mvle |
|||
#name: VLE Simplified mnemonics 1 |
|||
|
|||
.*: +file format elf.*-powerpc.* |
|||
|
|||
Disassembly of section \.text: |
|||
|
|||
00000000 <target0>: |
|||
0: e6 03 se_beq 6 <target3> |
|||
|
|||
00000002 <target1>: |
|||
2: e1 03 se_ble 8 <target4> |
|||
|
|||
00000004 <target2>: |
|||
4: e0 00 se_bge 4 <target2> |
|||
|
|||
00000006 <target3>: |
|||
6: e5 fe se_bgt 2 <target1> |
|||
|
|||
00000008 <target4>: |
|||
8: e1 ff se_ble 6 <target3> |
|||
a: e4 03 se_blt 10 <target6> |
|||
|
|||
0000000c <target5>: |
|||
c: e2 fb se_bne 2 <target1> |
|||
e: e1 01 se_ble 10 <target6> |
|||
|
|||
00000010 <target6>: |
|||
10: e0 fc se_bge 8 <target4> |
|||
12: e3 fd se_bns c <target5> |
|||
|
|||
00000014 <target8>: |
|||
14: e3 f8 se_bns 4 <target2> |
|||
16: e7 ff se_bso 14 <target8> |
|||
|
|||
00000018 <target9>: |
|||
18: e6 fc se_beq 10 <target6> |
|||
1a: e7 ff se_bso 18 <target9> |
|||
@ -0,0 +1,34 @@ |
|||
.section .text |
|||
|
|||
target0: |
|||
se_beq target3 |
|||
|
|||
target1: |
|||
se_bf cr1, target4 |
|||
|
|||
target2: |
|||
se_bge target2 |
|||
|
|||
target3: |
|||
se_bgt target1 |
|||
|
|||
target4: |
|||
se_ble target3 |
|||
se_blt target6 |
|||
|
|||
target5: |
|||
se_bne target1 |
|||
se_bng target6 |
|||
|
|||
target6: |
|||
se_bnl target4 |
|||
se_bns target5 |
|||
|
|||
target8: |
|||
se_bnu target2 |
|||
se_bso target8 |
|||
|
|||
target9: |
|||
se_bt cr2, target6 |
|||
se_bun target9 |
|||
|
|||
@ -0,0 +1,83 @@ |
|||
#as: -mvle |
|||
#objdump: -dr -Mvle |
|||
#name: VLE Simplified mnemonics 2 |
|||
|
|||
.*: +file format elf.*-powerpc.* |
|||
|
|||
Disassembly of section .text: |
|||
|
|||
00000000 <target0>: |
|||
0: 7a 20 00 0c e_bdnz c <target1> |
|||
4: 7a 20 00 09 e_bdnzl c <target1> |
|||
8: 7a 30 00 10 e_bdz 18 <target2> |
|||
|
|||
0000000c <target1>: |
|||
c: 7a 30 ff f5 e_bdzl 0 <target0> |
|||
10: 7a 12 ff f0 e_beq 0 <target0> |
|||
14: 7a 16 00 8c e_beq cr1,a0 <target8> |
|||
|
|||
00000018 <target2>: |
|||
18: 7a 12 ff f5 e_beql c <target1> |
|||
1c: 7a 12 00 4d e_beql 68 <target6> |
|||
20: 7a 01 00 04 e_ble 24 <target3> |
|||
|
|||
00000024 <target3>: |
|||
24: 7a 03 ff dd e_bnsl 0 <target0> |
|||
28: 7a 04 ff e4 e_bge cr1,c <target1> |
|||
2c: 7a 00 00 24 e_bge 50 <target5> |
|||
|
|||
00000030 <target4>: |
|||
30: 7a 08 ff f5 e_bgel cr2,24 <target3> |
|||
34: 7a 00 ff fd e_bgel 30 <target4> |
|||
38: 7a 11 ff c8 e_bgt 0 <target0> |
|||
3c: 7a 11 ff c4 e_bgt 0 <target0> |
|||
40: 7a 19 ff d9 e_bgtl cr2,18 <target2> |
|||
44: 7a 11 ff d5 e_bgtl 18 <target2> |
|||
48: 7a 0d 00 08 e_ble cr3,50 <target5> |
|||
4c: 7a 01 00 04 e_ble 50 <target5> |
|||
|
|||
00000050 <target5>: |
|||
50: 7a 01 ff e1 e_blel 30 <target4> |
|||
54: 7a 01 ff dd e_blel 30 <target4> |
|||
58: 7a 14 ff cc e_blt cr1,24 <target3> |
|||
5c: 7a 10 ff c8 e_blt 24 <target3> |
|||
60: 7a 10 ff a1 e_bltl 0 <target0> |
|||
64: 7a 14 ff 9d e_bltl cr1,0 <target0> |
|||
|
|||
00000068 <target6>: |
|||
68: 7a 02 00 18 e_bne 80 <target7> |
|||
6c: 7a 06 ff 94 e_bne cr1,0 <target0> |
|||
70: 7a 02 ff e1 e_bnel 50 <target5> |
|||
74: 7a 02 ff dd e_bnel 50 <target5> |
|||
78: 7a 01 00 48 e_ble c0 <target9> |
|||
7c: 7a 05 ff b4 e_ble cr1,30 <target4> |
|||
|
|||
00000080 <target7>: |
|||
80: 7a 09 ff e9 e_blel cr2,68 <target6> |
|||
84: 7a 01 00 1d e_blel a0 <target8> |
|||
88: 7a 04 ff c8 e_bge cr1,50 <target5> |
|||
8c: 7a 00 ff c4 e_bge 50 <target5> |
|||
90: 7a 0c ff 95 e_bgel cr3,24 <target3> |
|||
94: 7a 00 ff 91 e_bgel 24 <target3> |
|||
98: 7a 03 ff 80 e_bns 18 <target2> |
|||
9c: 7a 03 ff 7c e_bns 18 <target2> |
|||
|
|||
000000a0 <target8>: |
|||
a0: 7a 0b ff 61 e_bnsl cr2,0 <target0> |
|||
a4: 7a 03 ff c5 e_bnsl 68 <target6> |
|||
a8: 7a 07 ff 64 e_bns cr1,c <target1> |
|||
ac: 7a 03 ff 60 e_bns c <target1> |
|||
b0: 7a 03 ff d1 e_bnsl 80 <target7> |
|||
b4: 7a 03 ff 71 e_bnsl 24 <target3> |
|||
b8: 7a 17 ff 78 e_bso cr1,30 <target4> |
|||
bc: 7a 13 ff 74 e_bso 30 <target4> |
|||
|
|||
000000c0 <target9>: |
|||
c0: 7a 13 ff e1 e_bsol a0 <target8> |
|||
c4: 7a 13 ff dd e_bsol a0 <target8> |
|||
c8: 7a 11 ff b8 e_bgt 80 <target7> |
|||
cc: 7a 10 ff 85 e_bltl 50 <target5> |
|||
d0: 7a 17 ff 60 e_bso cr1,30 <target4> |
|||
d4: 7a 13 ff 5c e_bso 30 <target4> |
|||
d8: 7a 1b ff 29 e_bsol cr2,0 <target0> |
|||
dc: 7a 13 ff e5 e_bsol c0 <target9> |
|||
@ -0,0 +1,78 @@ |
|||
.section .text |
|||
|
|||
target0: |
|||
e_bdnz target1 |
|||
e_bdnzl target1 |
|||
e_bdz target2 |
|||
|
|||
target1: |
|||
e_bdzl target0 |
|||
e_beq target0 |
|||
e_beq cr1, target8 |
|||
|
|||
target2: |
|||
e_beql cr0, target1 |
|||
e_beql target6 |
|||
e_bf cr1, target3 |
|||
|
|||
target3: |
|||
e_bfl cr3, target0 |
|||
e_bge cr1, target1 |
|||
e_bge target5 |
|||
|
|||
target4: |
|||
e_bgel cr2, target3 |
|||
e_bgel target4 |
|||
e_bgt cr0, target0 |
|||
e_bgt target0 |
|||
e_bgtl cr2, target2 |
|||
e_bgtl target2 |
|||
e_ble cr3, target5 |
|||
e_ble target5 |
|||
|
|||
target5: |
|||
e_blel cr0, target4 |
|||
e_blel target4 |
|||
e_blt cr1, target3 |
|||
e_blt target3 |
|||
e_bltl target0 |
|||
e_bltl cr1, target0 |
|||
|
|||
target6: |
|||
e_bne target7 |
|||
e_bne cr1, target0 |
|||
e_bnel cr0, target5 |
|||
e_bnel target5 |
|||
e_bng target9 |
|||
e_bng cr1, target4 |
|||
|
|||
target7: |
|||
e_bngl cr2, target6 |
|||
e_bngl target8 |
|||
e_bnl cr1, target5 |
|||
e_bnl target5 |
|||
e_bnll cr3, target3 |
|||
e_bnll target3 |
|||
e_bns target2 |
|||
e_bns cr0, target2 |
|||
|
|||
target8: |
|||
e_bnsl cr2, target0 |
|||
e_bnsl target6 |
|||
e_bnu cr1, target1 |
|||
e_bnu target1 |
|||
e_bnul target7 |
|||
e_bnul cr0, target3 |
|||
e_bso cr1, target4 |
|||
e_bso target4 |
|||
|
|||
target9: |
|||
e_bsol cr0, target8 |
|||
e_bsol target8 |
|||
e_bt cr1, target7 |
|||
e_btl cr0, target5 |
|||
e_bun cr1, target4 |
|||
e_bun target4 |
|||
e_bunl cr2, target0 |
|||
e_bunl target9 |
|||
|
|||
@ -0,0 +1,24 @@ |
|||
#as: -mvle |
|||
#objdump: -dr -Mvle |
|||
#name: VLE Simplified mnemonics 3 |
|||
|
|||
.*: +file format elf.*-powerpc.* |
|||
|
|||
Disassembly of section .text: |
|||
|
|||
00000000 <trap>: |
|||
0: 7f e0 00 08 trap |
|||
4: 7e 01 10 08 twlt r1,r2 |
|||
8: 7e 83 20 08 twle r3,r4 |
|||
c: 7c 80 08 08 tweq r0,r1 |
|||
10: 7d 82 18 08 twge r2,r3 |
|||
14: 7d 02 20 08 twgt r2,r4 |
|||
18: 7d 82 28 08 twge r2,r5 |
|||
1c: 7f 02 30 08 twne r2,r6 |
|||
20: 7e 82 38 08 twle r2,r7 |
|||
24: 7c 42 40 08 twllt r2,r8 |
|||
28: 7c c2 48 08 twlle r2,r9 |
|||
2c: 7c a2 50 08 twlge r2,r10 |
|||
30: 7c 22 58 08 twlgt r2,r11 |
|||
34: 7c a2 60 08 twlge r2,r12 |
|||
38: 7c c2 68 08 twlle r2,r13 |
|||
@ -0,0 +1,18 @@ |
|||
.section .text |
|||
trap: |
|||
trap |
|||
twlt 1, 2 |
|||
twle 3, 4 |
|||
tweq 0, 1 |
|||
twge 2, 3 |
|||
twgt 2, 4 |
|||
twnl 2, 5 |
|||
twne 2, 6 |
|||
twng 2, 7 |
|||
twllt 2, 8 |
|||
twlle 2, 9 |
|||
twlge 2, 10 |
|||
twlgt 2, 11 |
|||
twlnl 2, 12 |
|||
twlng 2, 13 |
|||
|
|||
@ -0,0 +1,23 @@ |
|||
#as: -mvle |
|||
#objdump: -dr -Mvle |
|||
#name: VLE Simplified mnemonics 4 |
|||
|
|||
.*: +file format elf.*-powerpc.* |
|||
|
|||
Disassembly of section .text: |
|||
|
|||
00000000 <subtract>: |
|||
0: 7c 23 10 50 subf r1,r3,r2 |
|||
4: 7c a3 20 51 subf. r5,r3,r4 |
|||
8: 7c 21 14 50 subfo r1,r1,r2 |
|||
c: 7c 01 14 51 subfo. r0,r1,r2 |
|||
10: 7c 65 20 10 subfc r3,r5,r4 |
|||
14: 7c 65 20 11 subfc. r3,r5,r4 |
|||
18: 7c 23 14 10 subfco r1,r3,r2 |
|||
1c: 7c a7 34 11 subfco. r5,r7,r6 |
|||
20: 18 85 84 d0 e_addi r4,r5,-48 |
|||
24: 18 66 94 fe e_addic r3,r6,-2 |
|||
28: 18 e8 9c f0 e_addic. r7,r8,-16 |
|||
2c: 1c 22 ff f1 e_add16i r1,r2,-15 |
|||
30: 73 e5 8f ff e_add2i. r5,-1 |
|||
34: 73 ea 97 00 e_add2is r10,-256 |
|||
@ -0,0 +1,19 @@ |
|||
.section .text |
|||
|
|||
subtract: |
|||
sub 1, 2, 3 |
|||
sub. 5, 4, 3 |
|||
subo 1, 2, 1 |
|||
subo. 0, 2, 1 |
|||
subc 3, 4, 5 |
|||
subc. 3, 4, 5 |
|||
subco 1, 2, 3 |
|||
subco. 5, 6, 7 |
|||
|
|||
e_subi 4, 5, 0x30 |
|||
e_subic 3, 6, 0x2 |
|||
e_subic. 7, 8, 0x10 |
|||
|
|||
e_sub16i 1, 2, 0xf |
|||
e_sub2i. 5, 0x1 |
|||
e_sub2is 10, 0x100 |
|||
@ -0,0 +1,20 @@ |
|||
#as: -mvle |
|||
#objdump: -dr -Mvle |
|||
#name: VLE Simplified mnemonics 5 |
|||
|
|||
.*: +file format elf.*-powerpc.* |
|||
|
|||
Disassembly of section .text: |
|||
|
|||
00000000 <.text>: |
|||
0: 74 42 00 01 e_rlwinm r2,r2,0,0,0 |
|||
4: 74 62 7d bf e_rlwinm r2,r3,15,22,31 |
|||
8: 74 a4 f8 48 e_rlwimi r4,r5,31,1,4 |
|||
c: 74 e6 c9 4c e_rlwimi r6,r7,25,5,6 |
|||
10: 74 41 50 3f e_rlwinm r1,r2,10,0,31 |
|||
14: 74 83 c0 3f e_rlwinm r3,r4,24,0,31 |
|||
18: 7c 62 f8 70 e_slwi r2,r3,31 |
|||
1c: 7c 25 f4 70 e_srwi r5,r1,30 |
|||
20: 74 64 07 7f e_rlwinm r4,r3,0,29,31 |
|||
24: 74 41 00 07 e_rlwinm r1,r2,0,0,3 |
|||
28: 74 e6 d8 49 e_rlwinm r6,r7,27,1,4 |
|||
@ -0,0 +1,13 @@ |
|||
.section .text |
|||
|
|||
e_extlwi 2, 2, 1, 0 |
|||
e_extrwi 2, 3, 10, 5 |
|||
e_inslwi 4, 5, 4, 1 |
|||
e_insrwi 6, 7, 2, 5 |
|||
e_rotlwi 1, 2, 10 |
|||
e_rotrwi 3, 4, 8 |
|||
e_slwi 2, 3, 31 |
|||
e_srwi 5, 1, 30 |
|||
e_clrlwi 4, 3, 29 |
|||
e_clrrwi 1, 2, 28 |
|||
e_clrlslwi 6, 7, 28, 27 |
|||
@ -0,0 +1,60 @@ |
|||
#as: -mvle |
|||
#objdump: -dr -Mvle |
|||
#name: VLE Simplified mnemonics 6 |
|||
|
|||
.*: +file format elf.*-powerpc.* |
|||
|
|||
Disassembly of section .text: |
|||
|
|||
00000000 <.text>: |
|||
0: 7c b1 9b a6 mtmas1 r5 |
|||
4: 7c 3a 0b a6 mtcsrr0 r1 |
|||
8: 7c 5b 0b a6 mtcsrr1 r2 |
|||
c: 7c b0 62 a6 mfivor0 r5 |
|||
10: 7c b1 62 a6 mfivor1 r5 |
|||
14: 7c b2 62 a6 mfivor2 r5 |
|||
18: 7c b3 62 a6 mfivor3 r5 |
|||
1c: 7c b4 62 a6 mfivor4 r5 |
|||
20: 7c b5 62 a6 mfivor5 r5 |
|||
24: 7c b6 62 a6 mfivor6 r5 |
|||
28: 7c b7 62 a6 mfivor7 r5 |
|||
2c: 7c b8 62 a6 mfivor8 r5 |
|||
30: 7c b9 62 a6 mfivor9 r5 |
|||
34: 7c ba 62 a6 mfivor10 r5 |
|||
38: 7c bb 62 a6 mfivor11 r5 |
|||
3c: 7c bc 62 a6 mfivor12 r5 |
|||
40: 7c bd 62 a6 mfivor13 r5 |
|||
44: 7c be 62 a6 mfivor14 r5 |
|||
48: 7c bf 62 a6 mfivor15 r5 |
|||
4c: 7d 50 43 a6 mtsprg 0,r10 |
|||
50: 7d 51 43 a6 mtsprg 1,r10 |
|||
54: 7d 52 43 a6 mtsprg 2,r10 |
|||
58: 7d 53 43 a6 mtsprg 3,r10 |
|||
5c: 7d 54 43 a6 mtsprg 4,r10 |
|||
60: 7d 55 43 a6 mtsprg 5,r10 |
|||
64: 7d 56 43 a6 mtsprg 6,r10 |
|||
68: 7d 57 43 a6 mtsprg 7,r10 |
|||
6c: 7d 50 43 a6 mtsprg 0,r10 |
|||
70: 7d 51 43 a6 mtsprg 1,r10 |
|||
74: 7d 52 43 a6 mtsprg 2,r10 |
|||
78: 7d 53 43 a6 mtsprg 3,r10 |
|||
7c: 7d 54 43 a6 mtsprg 4,r10 |
|||
80: 7d 55 43 a6 mtsprg 5,r10 |
|||
84: 7d 56 43 a6 mtsprg 6,r10 |
|||
88: 7d 57 43 a6 mtsprg 7,r10 |
|||
8c: 7d 30 42 a6 mfsprg r9,0 |
|||
90: 7d 31 42 a6 mfsprg r9,1 |
|||
94: 7d 32 42 a6 mfsprg r9,2 |
|||
98: 7d 33 42 a6 mfsprg r9,3 |
|||
9c: 7d 24 42 a6 mfsprg r9,4 |
|||
a0: 7d 25 42 a6 mfsprg r9,5 |
|||
a4: 7d 26 42 a6 mfsprg r9,6 |
|||
a8: 7d 27 42 a6 mfsprg r9,7 |
|||
ac: 7d 30 42 a6 mfsprg r9,0 |
|||
b0: 7d 31 42 a6 mfsprg r9,1 |
|||
b4: 7d 32 42 a6 mfsprg r9,2 |
|||
b8: 7d 33 42 a6 mfsprg r9,3 |
|||
bc: 7d 24 42 a6 mfsprg r9,4 |
|||
c0: 7d 25 42 a6 mfsprg r9,5 |
|||
c4: 7d 26 42 a6 mfsprg r9,6 |
|||
c8: 7d 27 42 a6 mfsprg r9,7 |
|||
@ -0,0 +1,59 @@ |
|||
.section .text |
|||
|
|||
mtmas1 5 |
|||
|
|||
mtcsrr0 1 |
|||
mtcsrr1 2 |
|||
|
|||
mfivor0 5 |
|||
mfivor1 5 |
|||
mfivor2 5 |
|||
mfivor3 5 |
|||
mfivor4 5 |
|||
mfivor5 5 |
|||
mfivor6 5 |
|||
mfivor7 5 |
|||
mfivor8 5 |
|||
mfivor9 5 |
|||
mfivor10 5 |
|||
mfivor11 5 |
|||
mfivor12 5 |
|||
mfivor13 5 |
|||
mfivor14 5 |
|||
mfivor15 5 |
|||
|
|||
mtsprg 0, 10 |
|||
mtsprg 1, 10 |
|||
mtsprg 2, 10 |
|||
mtsprg 3, 10 |
|||
mtsprg 4, 10 |
|||
mtsprg 5, 10 |
|||
mtsprg 6, 10 |
|||
mtsprg 7, 10 |
|||
|
|||
mtsprg0 10 |
|||
mtsprg1 10 |
|||
mtsprg2 10 |
|||
mtsprg3 10 |
|||
mtsprg4 10 |
|||
mtsprg5 10 |
|||
mtsprg6 10 |
|||
mtsprg7 10 |
|||
|
|||
mfsprg 9, 0 |
|||
mfsprg 9, 1 |
|||
mfsprg 9, 2 |
|||
mfsprg 9, 3 |
|||
mfsprg 9, 4 |
|||
mfsprg 9, 5 |
|||
mfsprg 9, 6 |
|||
mfsprg 9, 7 |
|||
|
|||
mfsprg0 9 |
|||
mfsprg1 9 |
|||
mfsprg2 9 |
|||
mfsprg3 9 |
|||
mfsprg4 9 |
|||
mfsprg5 9 |
|||
mfsprg6 9 |
|||
mfsprg7 9 |
|||
@ -0,0 +1,150 @@ |
|||
#as: -mvle |
|||
#objdump: -dr -Mvle |
|||
#name: Validate VLE instructions |
|||
|
|||
.*: +file format elf.*-powerpc.* |
|||
|
|||
Disassembly of section \.text: |
|||
|
|||
0+00 <.*>: |
|||
0: 1c 83 00 1b e_add16i r4,r3,27 |
|||
4: 70 c0 8c 56 e_add2i\. r0,13398 |
|||
8: 71 01 93 21 e_add2is r1,17185 |
|||
c: 18 46 88 37 e_addi\. r2,r6,55 |
|||
10: 18 65 81 37 e_addi r3,r5,14080 |
|||
14: 18 84 9a 37 e_addic\. r4,r4,3604480 |
|||
18: 18 e8 93 37 e_addic r7,r8,922746880 |
|||
1c: 71 3f ce ed e_and2i\. r9,65261 |
|||
20: 71 40 e8 05 e_and2is\. r10,5 |
|||
24: 19 ab c8 39 e_andi\. r11,r13,57 |
|||
28: 19 ec c2 37 e_andi r12,r15,3604480 |
|||
2c: 78 00 00 ec e_b 118 <middle_label> |
|||
30: 78 00 00 01 e_bl 30 <start_label\+0x30> |
|||
30: R_PPC_VLE_REL24 extern_subr |
|||
34: 7a 03 ff cc e_bns 0 <start_label> |
|||
38: 7a 1f 00 01 e_bsol cr3,38 <start_label\+0x38> |
|||
38: R_PPC_VLE_REL15 extern_subr |
|||
3c: 70 c2 9b 33 e_cmp16i r2,13107 |
|||
40: 18 46 a9 37 e_cmpi cr2,r6,14080 |
|||
44: 7c 87 58 1c e_cmph cr1,r7,r11 |
|||
48: 73 ec b5 ef e_cmph16i r12,-529 |
|||
4c: 7c 06 40 5c e_cmphl cr0,r6,r8 |
|||
50: 70 4d ba 34 e_cmphl16i r13,4660 |
|||
54: 73 e1 ae e0 e_cmpl16i r1,65248 |
|||
58: 18 a3 ab 37 e_cmpli cr1,r3,922746880 |
|||
5c: 7f a3 02 02 e_crand 4\*cr7\+gt,so,lt |
|||
60: 7c 02 e9 02 e_crandc lt,eq,4\*cr7\+gt |
|||
64: 7d f0 8a 42 e_creqv 4\*cr3\+so,4\*cr4\+lt,4\*cr4\+gt |
|||
68: 7d e0 19 c2 e_crnand 4\*cr3\+so,lt,so |
|||
6c: 7d e0 18 42 e_crnor 4\*cr3\+so,lt,so |
|||
70: 7d 8d 73 82 e_cror 4\*cr3\+lt,4\*cr3\+gt,4\*cr3\+eq |
|||
74: 7e 72 8b 42 e_crorc 4\*cr4\+so,4\*cr4\+eq,4\*cr4\+gt |
|||
78: 7c 00 01 82 e_crclr lt |
|||
7c: 30 e3 cc 0d e_lbz r7,-13299\(r3\) |
|||
80: 18 e5 00 cc e_lbzu r7,-52\(r5\) |
|||
84: 39 0a 01 ff e_lha r8,511\(r10\) |
|||
88: 19 01 03 ff e_lhau r8,-1\(r1\) |
|||
8c: 58 e0 18 38 e_lhz r7,6200\(0\) |
|||
90: 18 e0 01 3e e_lhzu r7,62\(0\) |
|||
94: 70 06 1b 33 e_li r0,209715 |
|||
98: 70 26 e3 33 e_lis r1,13107 |
|||
9c: 18 a3 08 18 e_lmw r5,24\(r3\) |
|||
a0: 50 a3 27 28 e_lwz r5,10024\(r3\) |
|||
a4: 18 c2 02 72 e_lwzu r6,114\(r2\) |
|||
a8: 7c 98 00 20 e_mcrf cr1,cr6 |
|||
ac: 19 2a a0 37 e_mulli r9,r10,55 |
|||
b0: 70 01 a6 68 e_mull2i r1,1640 |
|||
b4: 70 a4 c3 45 e_or2i r5,9029 |
|||
b8: 70 b4 d3 45 e_or2is r5,41797 |
|||
bc: 19 27 d8 37 e_ori\. r7,r9,55 |
|||
c0: 19 07 d1 37 e_ori r7,r8,14080 |
|||
c4: 7e d2 02 30 e_rlw r18,r22,r0 |
|||
c8: 7c 48 02 31 e_rlw\. r8,r2,r0 |
|||
cc: 7c 74 aa 70 e_rlwi r20,r3,21 |
|||
d0: 7c 62 aa 71 e_rlwi\. r2,r3,21 |
|||
d4: 76 64 6a 1e e_rlwimi r4,r19,13,8,15 |
|||
d8: 74 24 68 63 e_rlwinm r4,r1,13,1,17 |
|||
dc: 7e 6c 30 70 e_slwi r12,r19,6 |
|||
e0: 7d 4c a0 71 e_slwi\. r12,r10,20 |
|||
e4: 7c 20 84 70 e_srwi r0,r1,16 |
|||
e8: 7c 20 5c 71 e_srwi\. r0,r1,11 |
|||
ec: 34 61 55 f0 e_stb r3,22000\(r1\) |
|||
f0: 1a 76 04 fc e_stbu r19,-4\(r22\) |
|||
f4: 5c 15 02 9a e_sth r0,666\(r21\) |
|||
f8: 18 37 05 ff e_sthu r1,-1\(r23\) |
|||
fc: 18 03 09 04 e_stmw r0,4\(r3\) |
|||
100: 54 60 3f 21 e_stw r3,16161\(0\) |
|||
104: 1a c4 06 ee e_stwu r22,-18\(r4\) |
|||
108: 18 15 b2 37 e_subfic r0,r21,3604480 |
|||
10c: 1a c0 bb 37 e_subfic\. r22,r0,922746880 |
|||
110: 18 75 e1 37 e_xori r21,r3,14080 |
|||
114: 1a 80 e8 37 e_xori\. r0,r20,55 |
|||
0+0000118 <middle_label>: |
|||
118: 04 7f se_add r31,r7 |
|||
11a: 21 ec se_addi r28,31 |
|||
11c: 46 10 se_and r0,r1 |
|||
11e: 47 01 se_and\. r1,r0 |
|||
120: 45 32 se_andc r2,r3 |
|||
122: 2f 14 se_andi r4,17 |
|||
124: e8 fa se_b 118 <middle_label> |
|||
126: e9 00 se_bl 126 <middle_label\+0xe> |
|||
126: R_PPC_VLE_REL8 extern_subr |
|||
128: e7 14 se_bso 150 <not_end_label> |
|||
12a: 61 2b se_bclri r27,18 |
|||
12c: 00 06 se_bctr |
|||
12e: 00 07 se_bctrl |
|||
130: 63 17 se_bgeni r7,17 |
|||
132: 00 04 se_blr |
|||
134: 00 05 se_blrl |
|||
136: 2c 06 se_bmaski r6,0 |
|||
138: 64 10 se_bseti r0,1 |
|||
13a: 66 74 se_btsti r4,7 |
|||
13c: 0c 10 se_cmp r0,r1 |
|||
13e: 0e cf se_cmph r31,r28 |
|||
140: 0f 91 se_cmphl r1,r25 |
|||
142: 2b 63 se_cmpi r3,22 |
|||
144: 0d 76 se_cmpl r6,r7 |
|||
146: 22 bc se_cmpli r28,12 |
|||
148: 00 d1 se_extsb r1 |
|||
14a: 00 f2 se_extsh r2 |
|||
14c: 00 ce se_extzb r30 |
|||
14e: 00 e8 se_extzh r24 |
|||
0+0000150 <not_end_label>: |
|||
150: 00 00 se_illegal |
|||
152: 00 01 se_isync |
|||
154: 88 18 se_lbz r1,8\(r24\) |
|||
156: a9 84 se_lhz r24,18\(r4\) |
|||
158: 4c f4 se_li r4,79 |
|||
15a: cf 60 se_lwz r6,60\(r0\) |
|||
15c: 03 07 se_mfar r7,r8 |
|||
15e: 00 a3 se_mfctr r3 |
|||
160: 00 84 se_mflr r4 |
|||
162: 01 0f se_mr r31,r0 |
|||
164: 02 2f se_mtar r23,r2 |
|||
166: 00 b6 se_mtctr r6 |
|||
168: 00 9f se_mtlr r31 |
|||
16a: 05 43 se_mullw r3,r4 |
|||
16c: 00 38 se_neg r24 |
|||
16e: 00 29 se_not r25 |
|||
170: 44 10 se_or r0,r1 |
|||
172: 00 09 se_rfci |
|||
174: 00 0a se_rfdi |
|||
176: 00 08 se_rfi |
|||
178: 00 02 se_sc |
|||
17a: 42 65 se_slw r5,r6 |
|||
17c: 6c 77 se_slwi r7,7 |
|||
17e: 41 e6 se_sraw r6,r30 |
|||
180: 6a 89 se_srawi r25,8 |
|||
182: 40 0e se_srw r30,r0 |
|||
184: 69 9d se_srwi r29,25 |
|||
186: 9a 02 se_stb r0,10\(r2\) |
|||
188: b6 1e se_sth r1,12\(r30\) |
|||
18a: d0 7d se_stw r7,0\(r29\) |
|||
18c: 06 21 se_sub r1,r2 |
|||
18e: 07 ad se_subf r29,r26 |
|||
190: 25 77 se_subi r7,24 |
|||
0+0000192 <end_label>: |
|||
192: 27 29 se_subi\. r25,19 |
|||
194: e9 c2 se_bl 118 <middle_label> |
|||
196: 79 ff ff 82 e_b 118 <middle_label> |
|||
19a: 79 ff fe 67 e_bl 0 <start_label> |
|||
@ -0,0 +1,184 @@ |
|||
# Freescale PowerPC VLE instruction tests |
|||
#as: -mvle |
|||
.section .text |
|||
.extern extern_subr |
|||
.equ UI8,0x37 |
|||
.equ SCI0,UI8<<0 |
|||
.equ SCI1,UI8<<8 |
|||
.equ SCI2,UI8<<16 |
|||
.equ SCI3,UI8<<24 |
|||
.equ r0,0 |
|||
.equ r1,1 |
|||
.equ r2,2 |
|||
.equ r3,3 |
|||
.equ r4,4 |
|||
.equ r5,5 |
|||
.equ r6,6 |
|||
.equ r7,7 |
|||
.equ r8,8 |
|||
.equ r9,9 |
|||
.equ r10,10 |
|||
.equ r11,11 |
|||
.equ r12,12 |
|||
.equ r13,13 |
|||
.equ r14,14 |
|||
.equ r15,15 |
|||
.equ r16,16 |
|||
.equ r17,17 |
|||
.equ r18,18 |
|||
.equ r19,19 |
|||
.equ r20,20 |
|||
.equ r21,21 |
|||
.equ r22,22 |
|||
.equ r23,23 |
|||
.equ r24,24 |
|||
.equ r25,25 |
|||
.equ r26,26 |
|||
.equ r27,27 |
|||
.equ r28,28 |
|||
.equ r29,29 |
|||
.equ r30,30 |
|||
.equ r31,31 |
|||
.equ r32,32 |
|||
.equ rsp,r1 |
|||
|
|||
|
|||
start_label: |
|||
e_add16i r4,r3,27 |
|||
e_add2i. r0,0x3456 |
|||
e_add2is r1,0x4321 |
|||
e_addi. r2,r6,SCI0 |
|||
e_addi r3,r5,SCI1 |
|||
e_addic. r4,r4,SCI2 |
|||
e_addic r7,r8,SCI3 |
|||
e_and2i. r9,0xfeed |
|||
e_and2is. r10,5 |
|||
e_andi. r11,r13,0x39 |
|||
e_andi r12,r15,SCI2 |
|||
e_b middle_label |
|||
e_bl extern_subr |
|||
e_bc 0,3,start_label |
|||
e_bcl 1,15,extern_subr |
|||
e_cmp16i r2,0x3333 |
|||
e_cmpi 2,r6,SCI1 |
|||
e_cmph 1,r7,r11 |
|||
e_cmph16i r12,0xfdef |
|||
e_cmphl 0,r6,r8 |
|||
e_cmphl16i r13,0x1234 |
|||
e_cmpl16i r1, 0xfee0 |
|||
e_cmpli 1,r3,SCI3 |
|||
e_crand 0x1d,3,0 |
|||
e_crandc 0,2,0x1d |
|||
e_creqv 15,16,17 |
|||
e_crnand 0xf,0,3 |
|||
e_crnor 0xf,0,3 |
|||
e_cror 12,13,14 |
|||
e_crorc 19,18,17 |
|||
e_crxor 0,0,0 |
|||
e_lbz r7,0xffffcc0d(r3) |
|||
e_lbzu r7,-52(r5) |
|||
e_lha r8,0x1ff(r10) |
|||
e_lhau r8,-1(r1) |
|||
e_lhz r7,6200(r0) |
|||
e_lhzu r7,62(r0) |
|||
e_li r0,0x33333 |
|||
e_lis r1,0x3333 |
|||
e_lmw r5,24(r3) |
|||
e_lwz r5,10024(r3) |
|||
e_lwzu r6,0x72(r2) |
|||
e_mcrf 1,6 |
|||
e_mulli r9,r10,SCI0 |
|||
e_mull2i r1,0x668 |
|||
e_or2i r5,0x2345 |
|||
e_or2is r5,0xa345 |
|||
e_ori. r7,r9,SCI0 |
|||
e_ori r7,r8,SCI1 |
|||
e_rlw r18, r22,r0 |
|||
e_rlw. r8, r2,r0 |
|||
e_rlwi r20,r3,21 |
|||
e_rlwi. r2,r3,21 |
|||
e_rlwimi r4,r19,13,8,15 |
|||
e_rlwinm r4,r1,13,1,17 |
|||
e_slwi r12,r19,6 |
|||
e_slwi. r12,r10,20 |
|||
e_srwi r0,r1,16 |
|||
e_srwi. r0,r1,11 |
|||
e_stb r3,22000(r1) |
|||
e_stbu r19,-4(r22) |
|||
e_sth r0,666(r21) |
|||
e_sthu r1,-1(r23) |
|||
e_stmw r0,4(r3) |
|||
e_stw r3,16161(r0) |
|||
e_stwu r22,0xffffffee(r4) |
|||
e_subfic r0,r21,SCI2 |
|||
e_subfic. r22,r0,SCI3 |
|||
e_xori r21,r3,SCI1 |
|||
e_xori. r0,r20,SCI0 |
|||
middle_label: |
|||
se_add r31,r7 |
|||
se_addi r28,0x1f |
|||
se_and r0,r1 |
|||
se_and. r1,r0 |
|||
se_andc r2, r3 |
|||
se_andi r4,0x11 |
|||
se_b middle_label |
|||
se_bl extern_subr |
|||
se_bc 1,3,not_end_label |
|||
se_bclri r27,0x12 |
|||
se_bctr |
|||
se_bctrl |
|||
se_bgeni r7,17 |
|||
se_blr |
|||
se_blrl |
|||
se_bmaski r6,0 |
|||
se_bseti r0,1 |
|||
se_btsti r4,7 |
|||
se_cmp r0,r1 |
|||
se_cmph r31,r28 |
|||
se_cmphl r1,r25 |
|||
se_cmpi r3,22 |
|||
se_cmpl r6,r7 |
|||
se_cmpli r28,0xc |
|||
se_extsb r1 |
|||
se_extsh r2 |
|||
se_extzb r30 |
|||
se_extzh r24 |
|||
not_end_label: |
|||
se_illegal |
|||
se_isync |
|||
se_lbz r1,8(r24) |
|||
se_lhz r24,18(r4) |
|||
se_li r4,0x4f |
|||
se_lwz r6,60(r0) |
|||
se_mfar r7,r8 |
|||
se_mfctr r3 |
|||
se_mflr r4 |
|||
se_mr r31,r0 |
|||
se_mtar r23,r2 |
|||
se_mtctr r6 |
|||
se_mtlr r31 |
|||
se_mullw r3,r4 |
|||
se_neg r24 |
|||
se_not r25 |
|||
se_or r0,r1 |
|||
se_rfci |
|||
se_rfdi |
|||
se_rfi |
|||
se_sc |
|||
se_slw r5,r6 |
|||
se_slwi r7,7 |
|||
se_sraw r6,r30 |
|||
se_srawi r25,8 |
|||
se_srw r30,r0 |
|||
se_srwi r29,25 |
|||
se_stb r0,10(r2) |
|||
se_sth r1,12(r30) |
|||
se_stw r7,0(r29) |
|||
se_sub r1,r2 |
|||
se_subf r29,r26 |
|||
se_subi r7,24 |
|||
end_label: |
|||
se_subi. r25,19 |
|||
se_bl middle_label |
|||
e_b middle_label |
|||
e_bl start_label |
|||
@ -0,0 +1,14 @@ |
|||
|
|||
Elf file type is EXEC.* |
|||
Entry point 0x0 |
|||
There are 2 program headers, starting at offset [0-9]+ |
|||
|
|||
Program Headers: |
|||
Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align |
|||
LOAD ( +0x[0-9a-f]+){5} ([RWE ]+){3} 0x[0-f]+ |
|||
LOAD ( +0x[0-9a-f]+){5} R E 0x[0-9a-f]+ |
|||
|
|||
Section to Segment mapping: |
|||
Segment Sections... |
|||
00 .data |
|||
01 .text_vle .text_iv .iv_handlers |
|||
@ -0,0 +1,17 @@ |
|||
SECTIONS |
|||
{ |
|||
.data 0x00000400 : |
|||
{ *(.data) *(.ctors) *(.dtors) *(.eh_frame) *(.jcr) } |
|||
.text_vle 0x00001000 : |
|||
{ |
|||
. = ALIGN(16); |
|||
INPUT_SECTION_FLAGS (SHF_PPC_VLE) *(.text_vle) |
|||
INPUT_SECTION_FLAGS (SHF_PPC_VLE) *(.text) |
|||
INPUT_SECTION_FLAGS (SHF_PPC_VLE) *(.init) |
|||
INPUT_SECTION_FLAGS (SHF_PPC_VLE) *(.init_vle) |
|||
INPUT_SECTION_FLAGS (SHF_PPC_VLE) *(.fini) |
|||
INPUT_SECTION_FLAGS (SHF_PPC_VLE) *(.fini_vle) |
|||
} |
|||
.text_iv . : { . = ALIGN(16); *(.text_iv) } |
|||
.iv_handlers 0x0001F000 : { *(.iv_handlers) } |
|||
} |
|||
@ -0,0 +1,16 @@ |
|||
|
|||
Elf file type is EXEC.* |
|||
Entry point 0x0 |
|||
There are 3 program headers, starting at offset [0-9]+ |
|||
|
|||
Program Headers: |
|||
Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align |
|||
LOAD ( +0x[0-9a-f]+){5} R E 0x[0-9a-f]+ |
|||
LOAD ( +0x[0-9a-f]+){5} ([RWE ]+){3} 0x[0-f]+ |
|||
LOAD ( +0x[0-9a-f]+){5} R E 0x[0-9a-f]+ |
|||
|
|||
Section to Segment mapping: |
|||
Segment Sections... |
|||
00 .text_vle |
|||
01 .data |
|||
02 .text_iv .iv_handlers |
|||
@ -0,0 +1,17 @@ |
|||
SECTIONS |
|||
{ |
|||
.text_vle 0x00001000 : |
|||
{ |
|||
. = ALIGN(16); |
|||
INPUT_SECTION_FLAGS (SHF_PPC_VLE) *(.text_vle) |
|||
INPUT_SECTION_FLAGS (SHF_PPC_VLE) *(.text) |
|||
INPUT_SECTION_FLAGS (SHF_PPC_VLE) *(.init) |
|||
INPUT_SECTION_FLAGS (SHF_PPC_VLE) *(.init_vle) |
|||
INPUT_SECTION_FLAGS (SHF_PPC_VLE) *(.fini) |
|||
INPUT_SECTION_FLAGS (SHF_PPC_VLE) *(.fini_vle) |
|||
} |
|||
.data 0x00001400 : |
|||
{ *(.data) *(.ctors) *(.dtors) *(.eh_frame) *(.jcr) } |
|||
.text_iv . : { . = ALIGN(16); *(.text_iv) } |
|||
.iv_handlers 0x0001F000 : { *(.iv_handlers) } |
|||
} |
|||
@ -0,0 +1,16 @@ |
|||
|
|||
Elf file type is EXEC.* |
|||
Entry point 0x0 |
|||
There are 3 program headers, starting at offset [0-9]+ |
|||
|
|||
Program Headers: |
|||
Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align |
|||
LOAD ( +0x[0-9a-f]+){5} R E 0x[0-9a-f]+ |
|||
LOAD ( +0x[0-9a-f]+){5} ([RWE ]+){3} 0x[0-f]+ |
|||
LOAD ( +0x[0-9a-f]+){5} R E 0x[0-9a-f]+ |
|||
|
|||
Section to Segment mapping: |
|||
Segment Sections... |
|||
00 .text_vle .text_iv |
|||
01 .data |
|||
02 .iv_handlers |
|||
@ -0,0 +1,17 @@ |
|||
SECTIONS |
|||
{ |
|||
.text_vle 0x00001000 : |
|||
{ |
|||
. = ALIGN(16); |
|||
INPUT_SECTION_FLAGS (SHF_PPC_VLE) *(.text_vle) |
|||
INPUT_SECTION_FLAGS (SHF_PPC_VLE) *(.text) |
|||
INPUT_SECTION_FLAGS (SHF_PPC_VLE) *(.init) |
|||
INPUT_SECTION_FLAGS (SHF_PPC_VLE) *(.init_vle) |
|||
INPUT_SECTION_FLAGS (SHF_PPC_VLE) *(.fini) |
|||
INPUT_SECTION_FLAGS (SHF_PPC_VLE) *(.fini_vle) |
|||
} |
|||
.text_iv . : { . = ALIGN(16); *(.text_iv) } |
|||
.data 0x00001400 : |
|||
{ *(.data) *(.ctors) *(.dtors) *(.eh_frame) *(.jcr) } |
|||
.iv_handlers 0x0001F000 : { *(.iv_handlers) } |
|||
} |
|||
@ -0,0 +1,14 @@ |
|||
|
|||
Elf file type is EXEC.* |
|||
Entry point 0x0 |
|||
There are 2 program headers, starting at offset [0-9]+ |
|||
|
|||
Program Headers: |
|||
Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align |
|||
LOAD ( +0x[0-9a-f]+){5} R E 0x[0-9a-f]+ |
|||
LOAD ( +0x[0-9a-f]+){5} ([RWE ]+){3} 0x[0-f]+ |
|||
|
|||
Section to Segment mapping: |
|||
Segment Sections... |
|||
00 .text_vle .text_iv .iv_handlers |
|||
01 .data |
|||
@ -0,0 +1,17 @@ |
|||
SECTIONS |
|||
{ |
|||
.text_vle 0x00001000 : |
|||
{ |
|||
. = ALIGN(16); |
|||
INPUT_SECTION_FLAGS (SHF_PPC_VLE) *(.text_vle) |
|||
INPUT_SECTION_FLAGS (SHF_PPC_VLE) *(.text) |
|||
INPUT_SECTION_FLAGS (SHF_PPC_VLE) *(.init) |
|||
INPUT_SECTION_FLAGS (SHF_PPC_VLE) *(.init_vle) |
|||
INPUT_SECTION_FLAGS (SHF_PPC_VLE) *(.fini) |
|||
INPUT_SECTION_FLAGS (SHF_PPC_VLE) *(.fini_vle) |
|||
} |
|||
.text_iv . : { . = ALIGN(16); *(.text_iv) } |
|||
.iv_handlers 0x0001F000 : { *(.iv_handlers) } |
|||
.data 0x00020400 : |
|||
{ *(.data) *(.ctors) *(.dtors) *(.eh_frame) *(.jcr) } |
|||
} |
|||
@ -0,0 +1,16 @@ |
|||
|
|||
Elf file type is EXEC.* |
|||
Entry point 0x0 |
|||
There are 3 program headers, starting at offset [0-9]+ |
|||
|
|||
Program Headers: |
|||
Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align |
|||
LOAD ( +0x[0-9a-f]+){5} R E 0x[0-9a-f]+ |
|||
LOAD ( +0x[0-9a-f]+){5} ([RWE ]+){3} 0x[0-f]+ |
|||
LOAD ( +0x[0-9a-f]+){5} R E 0x[0-9a-f]+ |
|||
|
|||
Section to Segment mapping: |
|||
Segment Sections... |
|||
00 .text_vle .text_iv |
|||
01 .data |
|||
02 .iv_handlers |
|||
@ -0,0 +1,44 @@ |
|||
|
|||
MEMORY |
|||
{ |
|||
code_rom (rxw) : org = 0x00001000, len = 0x1EF000 |
|||
irpt_rom (rx) : org = 0x001F0000, len = 0x2000 |
|||
int__ram (rxw) : org = 0x40000000, len = 256K |
|||
} |
|||
|
|||
REGION_ALIAS("INTR", irpt_rom) |
|||
REGION_ALIAS("CODE", code_rom) |
|||
REGION_ALIAS("RODATA", code_rom) |
|||
REGION_ALIAS("RAM", int__ram) |
|||
|
|||
SECTIONS |
|||
{ |
|||
.iv_handlers : |
|||
{ |
|||
INPUT_SECTION_FLAGS (SHF_PPC_VLE) *(.iv_handlers) |
|||
} > INTR |
|||
|
|||
.text_vle : |
|||
{ |
|||
INPUT_SECTION_FLAGS (SHF_PPC_VLE) *(.text_vle) |
|||
INPUT_SECTION_FLAGS (SHF_PPC_VLE) *(.text) |
|||
INPUT_SECTION_FLAGS (SHF_PPC_VLE) *(.init) |
|||
INPUT_SECTION_FLAGS (SHF_PPC_VLE) *(.init_vle) |
|||
INPUT_SECTION_FLAGS (SHF_PPC_VLE) *(.fini) |
|||
INPUT_SECTION_FLAGS (SHF_PPC_VLE) *(.fini_vle) |
|||
} > CODE |
|||
|
|||
.rodata : |
|||
{ |
|||
*(.rodata) |
|||
} > RODATA |
|||
|
|||
.data : |
|||
{ |
|||
*(.data) |
|||
*(.data.*) |
|||
*(.ctors) |
|||
*(.dtors) |
|||
} > RAM AT>RODATA |
|||
|
|||
} |
|||
@ -0,0 +1,25 @@ |
|||
#source: vle-multiseg-6a.s -mregnames -mvle |
|||
#source: vle-multiseg-6b.s |
|||
#source: vle-multiseg-6c.s |
|||
#source: vle-multiseg-6d.s -mregnames -mvle |
|||
#ld: -T vle-multiseg-6.ld |
|||
#target: powerpc-*-* |
|||
#readelf: -l |
|||
|
|||
Elf file type is EXEC.* |
|||
Entry point 0x[0-9a-f]+ |
|||
There are 4 program headers, starting at offset [0-9]+ |
|||
|
|||
Program Headers: |
|||
Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align |
|||
LOAD ( +0x[0-9a-f]+){5} ([RWE ]+){3} 0x[0-f]+ |
|||
LOAD ( +0x[0-9a-f]+){5} R E 0x[0-9a-f]+ |
|||
LOAD ( +0x[0-9a-f]+){5} R E 0x[0-9a-f]+ |
|||
LOAD ( +0x[0-9a-f]+){5} R E 0x[0-9a-f]+ |
|||
|
|||
Section to Segment mapping: |
|||
Segment Sections... |
|||
00 .data |
|||
01 .text_vle |
|||
02 .text_iv |
|||
03 .text |
|||
@ -0,0 +1,37 @@ |
|||
MEMORY |
|||
{ |
|||
vle_seg1 (rxw): org = 0x00000000, len = 0x10000 |
|||
vle_seg2 (rxw): org = 0x00100000, len = 0x10000 |
|||
nonvle_seg (rxw): org = 0x001F0000, len = 0x20000 |
|||
} |
|||
SECTIONS |
|||
{ |
|||
.data 0x00000100 : |
|||
{ |
|||
*(.data) |
|||
*(.ctors) |
|||
*(.dtors) |
|||
*(.eh_frame) |
|||
*(.jcr) |
|||
} |
|||
.text_vle 0x00001000 : |
|||
{ |
|||
. = ALIGN(16); |
|||
INPUT_SECTION_FLAGS (SHF_PPC_VLE) *(.text*) |
|||
INPUT_SECTION_FLAGS (SHF_PPC_VLE) *(.init*) |
|||
INPUT_SECTION_FLAGS (SHF_PPC_VLE) *(.fini*) |
|||
} > vle_seg1 |
|||
|
|||
.text_iv 0x100000 : |
|||
{ |
|||
. = ALIGN(16); |
|||
INPUT_SECTION_FLAGS (SHF_PPC_VLE) *(.text_iv) |
|||
INPUT_SECTION_FLAGS (SHF_PPC_VLE) *(.iv_handlers) |
|||
} >vle_seg2 |
|||
|
|||
.text 0x101000 : |
|||
{ |
|||
. = ALIGN(16); |
|||
INPUT_SECTION_FLAGS (!SHF_PPC_VLE) *(.text*) |
|||
} |
|||
} |
|||
@ -0,0 +1,47 @@ |
|||
.text |
|||
|
|||
e_stw r12, 0x4C(r1) |
|||
e_stw r11, 0x48(r1) |
|||
e_stw r10, 0x44(r1) |
|||
e_stw r9, 0x40(r1) |
|||
e_stw r8, 0x3C(r1) |
|||
e_stw r7, 0x38(r1) |
|||
e_stw r6, 0x34(r1) |
|||
e_stw r5, 0x30(r1) |
|||
e_stw r4, 0x2c(r1) |
|||
|
|||
.globl IV_table |
|||
.section ".iv_handlers", "ax" |
|||
IV_table: |
|||
e_b dummy |
|||
.align 4 |
|||
e_b dummy |
|||
.align 4 |
|||
e_b dummy |
|||
.align 4 |
|||
e_b dummy |
|||
.align 4 |
|||
e_b dummy |
|||
.align 4 |
|||
e_b dummy |
|||
.align 4 |
|||
e_b dummy |
|||
.align 4 |
|||
e_b dummy |
|||
.align 4 |
|||
dummy: |
|||
se_nop |
|||
e_b dummy |
|||
|
|||
.section ".text_iv", "ax" |
|||
e_lis r3, IV_table@h |
|||
mtivpr r3 |
|||
e_li r3, IV_table@l+0x00 |
|||
mtivor0 r3 |
|||
e_li r3, IV_table@l+0x10 |
|||
mtivor1 r3 |
|||
e_li r3, IV_table@l+0x20 |
|||
mtivor2 r3 |
|||
|
|||
.data |
|||
.long 0xdeadbeef |
|||
@ -0,0 +1,6 @@ |
|||
.text |
|||
|
|||
and. 3,4,5 |
|||
and 3,4,5 |
|||
andc 13,14,15 |
|||
andc. 16,17,18 |
|||
@ -0,0 +1,6 @@ |
|||
.text |
|||
|
|||
and. 3,4,5 |
|||
and 3,4,5 |
|||
andc 13,14,15 |
|||
andc. 16,17,18 |
|||
@ -0,0 +1,9 @@ |
|||
.section ".text_iv", "ax" |
|||
e_lis r3, IV_table@h |
|||
mtivpr r3 |
|||
e_li r3, IV_table@l+0x00 |
|||
mtivor0 r3 |
|||
e_li r3, IV_table@l+0x10 |
|||
mtivor1 r3 |
|||
e_li r3, IV_table@l+0x20 |
|||
mtivor2 r3 |
|||
@ -0,0 +1,50 @@ |
|||
# Make up several VLE text sections which the linker script will put into |
|||
# separate output sections. We will then check for separate load segments. |
|||
# .include "mpc5500_usrdefs.inc" |
|||
# .section ".text_vle" |
|||
|
|||
e_stw r12, 0x4C(r1) |
|||
e_stw r11, 0x48(r1) |
|||
e_stw r10, 0x44(r1) |
|||
e_stw r9, 0x40(r1) |
|||
e_stw r8, 0x3C(r1) |
|||
e_stw r7, 0x38(r1) |
|||
e_stw r6, 0x34(r1) |
|||
e_stw r5, 0x30(r1) |
|||
e_stw r4, 0x2c(r1) |
|||
|
|||
.globl IV_table |
|||
.section ".iv_handlers", "ax" |
|||
IV_table: |
|||
e_b dummy |
|||
.align 4 |
|||
e_b dummy |
|||
.align 4 |
|||
e_b dummy |
|||
.align 4 |
|||
e_b dummy |
|||
.align 4 |
|||
e_b dummy |
|||
.align 4 |
|||
e_b dummy |
|||
.align 4 |
|||
e_b dummy |
|||
.align 4 |
|||
e_b dummy |
|||
.align 4 |
|||
dummy: |
|||
se_nop |
|||
e_b dummy |
|||
|
|||
.section ".text_iv", "ax" |
|||
e_lis r3, IV_table@h |
|||
mtivpr r3 |
|||
e_li r3, IV_table@l+0x00 |
|||
mtivor0 r3 |
|||
e_li r3, IV_table@l+0x10 |
|||
mtivor1 r3 |
|||
e_li r3, IV_table@l+0x20 |
|||
mtivor2 r3 |
|||
|
|||
.data |
|||
.long 0xdeadbeef |
|||
@ -0,0 +1,29 @@ |
|||
.*: file format .* |
|||
|
|||
|
|||
Disassembly of section .text: |
|||
|
|||
01800054 <sub1>: |
|||
1800054: 00 04 se_blr |
|||
|
|||
01800056 <sub2>: |
|||
1800056: 00 04 se_blr |
|||
|
|||
01800058 <vle_reloc>: |
|||
1800058: e8 fe se_b 1800054 <sub1> |
|||
180005a: e9 fd se_bl 1800054 <sub1> |
|||
180005c: e1 fd se_ble 1800056 <sub2> |
|||
180005e: e6 fc se_beq 1800056 <sub2> |
|||
1800060: 78 00 00 10 e_b 1800070 <sub3> |
|||
1800064: 78 00 00 0f e_bl 1800072 <sub4> |
|||
1800068: 7a 05 00 0c e_ble cr1,1800074 <sub5> |
|||
180006c: 7a 1a 00 09 e_beql cr2,1800074 <sub5> |
|||
|
|||
01800070 <sub3>: |
|||
1800070: 00 04 se_blr |
|||
|
|||
01800072 <sub4>: |
|||
1800072: 00 04 se_blr |
|||
|
|||
01800074 <sub5>: |
|||
1800074: 00 04 se_blr |
|||
@ -0,0 +1,18 @@ |
|||
.section .text |
|||
sub1: |
|||
se_blr |
|||
|
|||
sub2: |
|||
se_blr |
|||
|
|||
.section .text |
|||
vle_reloc: |
|||
se_b sub1 |
|||
se_bl sub1 |
|||
se_bc 0,1,sub2 |
|||
se_bc 1,2,sub2 |
|||
|
|||
e_b sub3 |
|||
e_bl sub4 |
|||
e_bc 0,5,sub5 |
|||
e_bcl 1,10,sub5 |
|||
@ -0,0 +1,87 @@ |
|||
.*: file format .* |
|||
|
|||
Disassembly of section .text: |
|||
|
|||
01800094 <sub1>: |
|||
1800094: 00 04 se_blr |
|||
01800096 <sub2>: |
|||
1800096: 00 04 se_blr |
|||
01800098 <vle_reloc_2>: |
|||
1800098: 70 20 c1 c2 e_or2i r1,450 |
|||
180009c: 70 40 c1 81 e_or2i r2,385 |
|||
18000a0: 70 60 c1 81 e_or2i r3,385 |
|||
18000a4: 70 80 c1 ce e_or2i r4,462 |
|||
18000a8: 70 a0 c1 80 e_or2i r5,384 |
|||
18000ac: 70 40 c1 81 e_or2i r2,385 |
|||
18000b0: 70 20 c9 c2 e_and2i. r1,450 |
|||
18000b4: 70 40 c9 81 e_and2i. r2,385 |
|||
18000b8: 70 60 c9 81 e_and2i. r3,385 |
|||
18000bc: 70 80 c9 ce e_and2i. r4,462 |
|||
18000c0: 70 a0 c9 80 e_and2i. r5,384 |
|||
18000c4: 70 40 c9 81 e_and2i. r2,385 |
|||
18000c8: 70 20 d1 c2 e_or2is r1,450 |
|||
18000cc: 70 40 d1 81 e_or2is r2,385 |
|||
18000d0: 70 60 d1 81 e_or2is r3,385 |
|||
18000d4: 70 80 d1 ce e_or2is r4,462 |
|||
18000d8: 70 a0 d1 80 e_or2is r5,384 |
|||
18000dc: 70 40 d1 81 e_or2is r2,385 |
|||
18000e0: 70 20 e1 c2 e_lis r1,450 |
|||
18000e4: 70 40 e1 81 e_lis r2,385 |
|||
18000e8: 70 60 e1 81 e_lis r3,385 |
|||
18000ec: 70 80 e1 ce e_lis r4,462 |
|||
18000f0: 70 a0 e1 80 e_lis r5,384 |
|||
18000f4: 70 40 e1 81 e_lis r2,385 |
|||
18000f8: 70 20 e9 c2 e_and2is. r1,450 |
|||
18000fc: 70 40 e9 81 e_and2is. r2,385 |
|||
1800100: 70 60 e9 81 e_and2is. r3,385 |
|||
1800104: 70 80 e9 ce e_and2is. r4,462 |
|||
1800108: 70 a0 e9 80 e_and2is. r5,384 |
|||
180010c: 70 40 e9 81 e_and2is. r2,385 |
|||
1800110: 70 01 99 c2 e_cmp16i r1,450 |
|||
1800114: 70 02 99 81 e_cmp16i r2,385 |
|||
1800118: 70 03 99 81 e_cmp16i r3,385 |
|||
180011c: 70 04 99 ce e_cmp16i r4,462 |
|||
1800120: 70 05 99 80 e_cmp16i r5,384 |
|||
1800124: 70 02 99 81 e_cmp16i r2,385 |
|||
1800128: 70 01 a9 c2 e_cmpl16i r1,450 |
|||
180012c: 70 02 a9 81 e_cmpl16i r2,385 |
|||
1800130: 70 03 a9 81 e_cmpl16i r3,385 |
|||
1800134: 70 04 a9 ce e_cmpl16i r4,462 |
|||
1800138: 70 05 a9 80 e_cmpl16i r5,384 |
|||
180013c: 70 02 a9 81 e_cmpl16i r2,385 |
|||
1800140: 70 01 b1 c2 e_cmph16i r1,450 |
|||
1800144: 70 02 b1 81 e_cmph16i r2,385 |
|||
1800148: 70 03 b1 81 e_cmph16i r3,385 |
|||
180014c: 70 04 b1 ce e_cmph16i r4,462 |
|||
1800150: 70 05 b1 80 e_cmph16i r5,384 |
|||
1800154: 70 02 b1 81 e_cmph16i r2,385 |
|||
1800158: 70 01 b9 c2 e_cmphl16i r1,450 |
|||
180015c: 70 02 b9 81 e_cmphl16i r2,385 |
|||
1800160: 70 03 b9 81 e_cmphl16i r3,385 |
|||
1800164: 70 04 b9 ce e_cmphl16i r4,462 |
|||
1800168: 70 05 b9 80 e_cmphl16i r5,384 |
|||
180016c: 70 02 b9 81 e_cmphl16i r2,385 |
|||
1800170: 70 01 89 c2 e_add2i. r1,450 |
|||
1800174: 70 02 89 81 e_add2i. r2,385 |
|||
1800178: 70 03 89 81 e_add2i. r3,385 |
|||
180017c: 70 04 89 ce e_add2i. r4,462 |
|||
1800180: 70 05 89 80 e_add2i. r5,384 |
|||
1800184: 70 02 89 81 e_add2i. r2,385 |
|||
1800188: 70 01 91 c2 e_add2is r1,450 |
|||
180018c: 70 02 91 81 e_add2is r2,385 |
|||
1800190: 70 03 91 81 e_add2is r3,385 |
|||
1800194: 70 04 91 ce e_add2is r4,462 |
|||
1800198: 70 05 91 80 e_add2is r5,384 |
|||
180019c: 70 02 91 81 e_add2is r2,385 |
|||
18001a0: 70 01 a1 c2 e_mull2i r1,450 |
|||
18001a4: 70 02 a1 81 e_mull2i r2,385 |
|||
18001a8: 70 03 a1 81 e_mull2i r3,385 |
|||
18001ac: 70 04 a1 ce e_mull2i r4,462 |
|||
18001b0: 70 05 a1 80 e_mull2i r5,384 |
|||
18001b4: 70 02 a1 81 e_mull2i r2,385 |
|||
018001b8 <sub3>: |
|||
18001b8: 00 04 se_blr |
|||
018001ba <sub4>: |
|||
18001ba: 00 04 se_blr |
|||
018001bc <sub5>: |
|||
18001bc: 00 04 se_blr |
|||
@ -0,0 +1,92 @@ |
|||
.section .text |
|||
sub1: |
|||
se_blr |
|||
|
|||
sub2: |
|||
se_blr |
|||
|
|||
.section .text |
|||
vle_reloc_2: |
|||
e_or2i 1, low@l |
|||
e_or2i 2, high@h |
|||
e_or2i 3, high_adjust@ha |
|||
e_or2i 4, low_sdarel@sdarel@l |
|||
e_or2i 5, high_sdarel@sdarel@h |
|||
e_or2i 2, high_adjust_sdarel@sdarel@ha |
|||
|
|||
e_and2i. 1, low@l |
|||
e_and2i. 2, high@h |
|||
e_and2i. 3, high_adjust@ha |
|||
e_and2i. 4, low_sdarel@sdarel@l |
|||
e_and2i. 5, high_sdarel@sdarel@h |
|||
e_and2i. 2, high_adjust_sdarel@sdarel@ha |
|||
|
|||
e_or2is 1, low@l |
|||
e_or2is 2, high@h |
|||
e_or2is 3, high_adjust@ha |
|||
e_or2is 4, low_sdarel@sdarel@l |
|||
e_or2is 5, high_sdarel@sdarel@h |
|||
e_or2is 2, high_adjust_sdarel@sdarel@ha |
|||
|
|||
e_lis 1, low@l |
|||
e_lis 2, high@h |
|||
e_lis 3, high_adjust@ha |
|||
e_lis 4, low_sdarel@sdarel@l |
|||
e_lis 5, high_sdarel@sdarel@h |
|||
e_lis 2, high_adjust_sdarel@sdarel@ha |
|||
|
|||
e_and2is. 1, low@l |
|||
e_and2is. 2, high@h |
|||
e_and2is. 3, high_adjust@ha |
|||
e_and2is. 4, low_sdarel@sdarel@l |
|||
e_and2is. 5, high_sdarel@sdarel@h |
|||
e_and2is. 2, high_adjust_sdarel@sdarel@ha |
|||
|
|||
e_cmp16i 1, low@l |
|||
e_cmp16i 2, high@h |
|||
e_cmp16i 3, high_adjust@ha |
|||
e_cmp16i 4, low_sdarel@sdarel@l |
|||
e_cmp16i 5, high_sdarel@sdarel@h |
|||
e_cmp16i 2, high_adjust_sdarel@sdarel@ha |
|||
|
|||
e_cmpl16i 1, low@l |
|||
e_cmpl16i 2, high@h |
|||
e_cmpl16i 3, high_adjust@ha |
|||
e_cmpl16i 4, low_sdarel@sdarel@l |
|||
e_cmpl16i 5, high_sdarel@sdarel@h |
|||
e_cmpl16i 2, high_adjust_sdarel@sdarel@ha |
|||
|
|||
e_cmph16i 1, low@l |
|||
e_cmph16i 2, high@h |
|||
e_cmph16i 3, high_adjust@ha |
|||
e_cmph16i 4, low_sdarel@sdarel@l |
|||
e_cmph16i 5, high_sdarel@sdarel@h |
|||
e_cmph16i 2, high_adjust_sdarel@sdarel@ha |
|||
|
|||
e_cmphl16i 1, low@l |
|||
e_cmphl16i 2, high@h |
|||
e_cmphl16i 3, high_adjust@ha |
|||
e_cmphl16i 4, low_sdarel@sdarel@l |
|||
e_cmphl16i 5, high_sdarel@sdarel@h |
|||
e_cmphl16i 2, high_adjust_sdarel@sdarel@ha |
|||
|
|||
e_add2i. 1, low@l |
|||
e_add2i. 2, high@h |
|||
e_add2i. 3, high_adjust@ha |
|||
e_add2i. 4, low_sdarel@sdarel@l |
|||
e_add2i. 5, high_sdarel@sdarel@h |
|||
e_add2i. 2, high_adjust_sdarel@sdarel@ha |
|||
|
|||
e_add2is 1, low@l |
|||
e_add2is 2, high@h |
|||
e_add2is 3, high_adjust@ha |
|||
e_add2is 4, low_sdarel@sdarel@l |
|||
e_add2is 5, high_sdarel@sdarel@h |
|||
e_add2is 2, high_adjust_sdarel@sdarel@ha |
|||
|
|||
e_mull2i 1, low@l |
|||
e_mull2i 2, high@h |
|||
e_mull2i 3, high_adjust@ha |
|||
e_mull2i 4, low_sdarel@sdarel@l |
|||
e_mull2i 5, high_sdarel@sdarel@h |
|||
e_mull2i 2, high_adjust_sdarel@sdarel@ha |
|||
@ -0,0 +1,8 @@ |
|||
.*: file format .* |
|||
|
|||
Disassembly of section .text: |
|||
|
|||
01800094 <sda21_test>: |
|||
1800094: 1c ad 80 08 e_add16i r5,r13,-32760 |
|||
1800098: 1c a2 80 04 e_add16i r5,r2,-32764 |
|||
180009c: 70 00 00 ac e_li r0,172 |
|||
@ -0,0 +1,10 @@ |
|||
.section .text |
|||
.extern exdat1c |
|||
.extern exdat2b |
|||
.extern exdat1a |
|||
.globl sda21_test |
|||
|
|||
sda21_test: |
|||
e_add16i 5, 4, exdat1c@sda21 |
|||
e_add16i 5, 4, exdat2b@sda21 |
|||
e_add16i 5, 4, exdat0b@sda21 |
|||
@ -0,0 +1,13 @@ |
|||
.section .text |
|||
.globl sub3 |
|||
sub3: |
|||
se_blr |
|||
|
|||
.globl sub4 |
|||
sub4: |
|||
se_blr |
|||
|
|||
.globl sub5 |
|||
sub5: |
|||
se_blr |
|||
|
|||
@ -0,0 +1,41 @@ |
|||
.section .text |
|||
|
|||
.globl sub3 |
|||
sub3: |
|||
se_blr |
|||
|
|||
.globl sub4 |
|||
sub4: |
|||
se_blr |
|||
|
|||
.globl sub5 |
|||
sub5: |
|||
se_blr |
|||
|
|||
.section .sdata |
|||
.globl low_sdarel |
|||
low_sdarel: |
|||
.long 2 |
|||
|
|||
.globl high_adjust_sdarel |
|||
high_adjust_sdarel: |
|||
.long 0xff |
|||
|
|||
.section .sdata2 |
|||
.globl high_sdarel |
|||
high_sdarel: |
|||
.long 0xf |
|||
|
|||
|
|||
.data |
|||
.globl low |
|||
low: |
|||
.long 5 |
|||
|
|||
.globl high |
|||
high: |
|||
.long 0x10 |
|||
|
|||
.globl high_adjust |
|||
high_adjust: |
|||
.long 0xffff |
|||
@ -0,0 +1,29 @@ |
|||
.section .sdata |
|||
.globl exdat1a |
|||
.globl exdat1b |
|||
.globl exdat1c |
|||
exdat1a: .long 6 |
|||
exdat1b: .long 7 |
|||
exdat1c: .long 8 |
|||
|
|||
.section .sdata2 |
|||
.globl exdat2a |
|||
.globl exdat2b |
|||
.globl exdat2c |
|||
exdat2a: .long 5 |
|||
exdat2b: .long 4 |
|||
exdat2c: .long 3 |
|||
|
|||
.section .PPC.EMB.sdata0 |
|||
.globl exdat0a |
|||
.globl exdat0b |
|||
.globl exdat0c |
|||
exdat0a: .long 1 |
|||
exdat0b: .long 2 |
|||
exdat0c: .long 3 |
|||
|
|||
.section .sbss |
|||
.globl exbss1a |
|||
.globl exbss1b |
|||
exbss1a: .int |
|||
exbss1b: .int |
|||
File diff suppressed because it is too large
Loading…
Reference in new issue