URL
https://opencores.org/ocsvn/openrisc_me/openrisc_me/trunk
Subversion Repositories openrisc_me
Compare Revisions
- This comparison shows the changes necessary to convert path
/openrisc/trunk/gnu-src/binutils-2.18.50/gas/testsuite/gas/mmix
- from Rev 38 to Rev 156
- ↔ Reverse comparison
Rev 38 → Rev 156
/loc-5.s
0,0 → 1,11
# Hit a few remaining code-paths. |
t SWYM 0,24,7 |
|
LOC Data_Segment |
TETRA 4*4*4*4 |
|
LOC (#20 << 56) + #20 |
TETRA 56 |
|
LOC t+4 |
Main SWYM 9,1,1 |
/err-bspec-1.s
0,0 → 1,4
% { dg-do assemble { target mmix-*-* } } |
Main SET $45,23 |
BSPEC 5 % { dg-error "BSPEC without ESPEC" "" } |
TETRA 4 |
/jmp-op-r.d
0,0 → 1,29
# objdump: -dr |
# as: -linkrelax |
# source: jmp-op.s |
.*: file format elf64-mmix |
|
Disassembly of section \.text: |
|
0000000000000000 <Main>: |
0: fd000000 swym 0,0,0 |
|
0000000000000004 <here>: |
4: fd000000 swym 0,0,0 |
8: f1ffffff jmp 4 <here> |
8: R_MMIX_ADDR27 \.text\+0x4 |
|
000000000000000c <at>: |
c: f0000000 jmp c <at> |
c: R_MMIX_ADDR27 \.text\+0xc |
10: f0000004 jmp 20 <there> |
10: R_MMIX_ADDR27 \.text\+0x20 |
14: f1fffffc jmp 4 <here> |
14: R_MMIX_ADDR27 \.text\+0x4 |
18: f0000002 jmp 20 <there> |
18: R_MMIX_ADDR27 \.text\+0x20 |
1c: f1fffffa jmp 4 <here> |
1c: R_MMIX_ADDR27 \.text\+0x4 |
|
0000000000000020 <there>: |
20: fd000000 swym 0,0,0 |
/set.l
0,0 → 1,21
GAS for MMIX .*/set\.s page 1 |
|
|
1 #.* |
2 0000 E32D0463 Main SET \$45,1123 |
3 0004 C1394300 SET \$57,\$67 |
4 0008 C14E1F00 SET \$78,X |
5 000c E3750463 SET Y,1123 |
6 0010 C1754300 SET Y,\$67 |
7 0014 C1751F00 SET Y,X |
8 X IS \$31 |
9 Y IS \$117 |
GAS for MMIX .*/set\.s page 2 |
|
|
DEFINED SYMBOLS |
.*/set\.s:2 \.text:0000000000000000 Main |
\*REG\*:000000000000001f X |
\*REG\*:0000000000000075 Y |
|
NO UNDEFINED SYMBOLS |
/greg1.d
0,0 → 1,35
# objdump: -rst |
|
.*: file format elf64-mmix |
|
SYMBOL TABLE: |
0+ l d \.text 0+ (|\.text) |
0+ l d \.data 0+ (|\.data) |
0+ l d \.bss 0+ (|\.bss) |
0+ l \.text 0+ D4 |
0+4 l \.text 0+ E6 |
0+ l \.MMIX\.reg_contents 0+ H9 |
0+8 l \.MMIX\.reg_contents 0+ G8 |
0+ l \.MMIX\.reg_contents 0+ F7 |
0+18 l \.MMIX\.reg_contents 0+ D5 |
0+20 l \.MMIX\.reg_contents 0+ C3 |
0+28 l \.MMIX\.reg_contents 0+ B1 |
0+30 l \.MMIX\.reg_contents 0+ A0 |
0+0 l d \.MMIX\.reg_contents 0+ (|\.MMIX\.reg_contents) |
0+c g F \.text 0+ Main |
|
|
RELOCATION RECORDS FOR \[\.MMIX\.reg_contents\]: |
OFFSET TYPE VALUE |
0+ R_MMIX_64 \.text\+0x0+8 |
0+10 R_MMIX_64 \.text\+0x0+1c |
0+20 R_MMIX_64 \.text |
|
|
Contents of section \.text: |
0000 e37b01c8 e3ea1edb fd020304 fd010203 .* |
Contents of section \.MMIX\.reg_contents: |
0000 00000000 00000000 00000000 000000f7 .* |
0010 00000000 00000000 00000000 00000000 .* |
0020 00000000 00000000 00000000 00000001 .* |
0030 00000000 00000000 .* |
/err-bpo3.s
0,0 → 1,13
% { dg-do assemble { target mmix-*-* } } |
|
# Base-plus-offset without -linker-allocated-gregs. |
|
a TETRA 42 |
LDO $43,a+52 % { dg-error "no suitable GREG definition" "" } |
|
LOC @+256 |
d TETRA 28 |
LDO $143,d+12 % { dg-error "no suitable GREG definition" "" } |
LDO $243,a+12 % { dg-error "no suitable GREG definition" "" } |
LDA $103,d+40 % { dg-error "no suitable GREG definition" "" } |
LDA $13,a+24 % { dg-error "no suitable GREG definition" "" } |
/relax1-rn.d
0,0 → 1,117
#objdump: -dr |
#as: -linkrelax -no-expand -x |
#source: relax1.s |
# |
# This test-case assumes that out-of-range errors (still) cause |
# relocs to be emitted, rather than errors emitted. FIXME. |
|
.*: file format elf64-mmix |
|
Disassembly of section \.text: |
|
0000000000000000 <Main>: |
0: f0000000 jmp 0 <Main> |
0: R_MMIX_ADDR27 \.text\+0x80024 |
|
0000000000000004 <l0>: |
4: f0000000 jmp 4 <l0> |
4: R_MMIX_ADDR27 \.text\+0x80024 |
|
0000000000000008 <l1>: |
8: f0000000 jmp 8 <l1> |
8: R_MMIX_ADDR27 \.text\+0x80024 |
|
000000000000000c <l01>: |
c: f0000000 jmp c <l01> |
c: R_MMIX_ADDR27 \.text\+0x80024 |
10: f4070000 geta \$7,10 <l01\+0x4> |
10: R_MMIX_ADDR19 \.text\+0x4000c |
14: f2bf0000 pushj \$191,14 <l01\+0x8> |
14: R_MMIX_ADDR19 \.text\+0x40010 |
|
0000000000000018 <l2>: |
18: f0000000 jmp 18 <l2> |
18: R_MMIX_ADDR27 \.text\+0x40010 |
\.\.\. |
40004: 4c480000 bnp \$72,40004 <l2\+0x3ffec> |
40004: R_MMIX_ADDR19 \.text\+0x4 |
40008: f4040000 geta \$4,40008 <l2\+0x3fff0> |
40008: R_MMIX_ADDR19 \.text\+0x8 |
|
000000000004000c <nearfar1>: |
4000c: f2050000 pushj \$5,4000c <nearfar1> |
4000c: R_MMIX_ADDR19 \.text\+0xc |
|
0000000000040010 <nearfar2>: |
40010: f4090000 geta \$9,40010 <nearfar2> |
40010: R_MMIX_ADDR19 \.text\+0x8 |
40014: f20b0000 pushj \$11,40014 <nearfar2\+0x4> |
40014: R_MMIX_ADDR19 \.text\+0x80014 |
|
0000000000040018 <l4>: |
40018: 44370000 bp \$55,40018 <l4> |
40018: R_MMIX_ADDR19 \.text\+0x80014 |
\.\.\. |
80010: f0000000 jmp 80010 <l4\+0x3fff8> |
80010: R_MMIX_ADDR27 \.text\+0x8 |
|
0000000000080014 <l3>: |
80014: f0000000 jmp 80014 <l3> |
80014: R_MMIX_ADDR27 \.text\+0x4 |
80018: 46580000 bod \$88,80018 <l3\+0x4> |
80018: R_MMIX_ADDR19 \.text\+0x40018 |
8001c: 46580000 bod \$88,8001c <l3\+0x8> |
8001c: R_MMIX_ADDR19 \.text\+0x40018 |
80020: f0000000 jmp 80020 <l3\+0xc> |
80020: R_MMIX_ADDR27 \.text\+0x4080020 |
|
0000000000080024 <l6>: |
80024: f0000000 jmp 80024 <l6> |
80024: R_MMIX_ADDR27 \.text\+0x4080020 |
80028: 426f0000 bz \$111,80028 <l6\+0x4> |
80028: R_MMIX_ADDR19 \.text\+0x80014 |
\.\.\. |
|
0000000004080020 <l5>: |
4080020: f0000000 jmp 4080020 <l5> |
4080020: R_MMIX_ADDR27 \.text\+0x4080030 |
4080024: f0000000 jmp 4080024 <l5\+0x4> |
4080024: R_MMIX_ADDR27 \.text\+0x80024 |
4080028: f0000000 jmp 4080028 <l5\+0x8> |
4080028: R_MMIX_ADDR27 \.text\+0x80024 |
408002c: 482c0000 bnn \$44,408002c <l5\+0xc> |
408002c: R_MMIX_ADDR19 \.text\+0x40c002c |
|
0000000004080030 <l8>: |
4080030: 482c0000 bnn \$44,4080030 <l8> |
4080030: R_MMIX_ADDR19 \.text\+0x40c002c |
4080034: f0000000 jmp 4080034 <l8\+0x4> |
4080034: R_MMIX_ADDR27 \.text\+0x4080020 |
4080038: f0000000 jmp 4080038 <l8\+0x8> |
4080038: R_MMIX_ADDR27 \.text\+0x4080020 |
\.\.\. |
|
00000000040c0028 <l10>: |
40c0028: f0000000 jmp 40c0028 <l10> |
40c0028: R_MMIX_ADDR27 \.text\+0x4080020 |
|
00000000040c002c <l9>: |
40c002c: f0000000 jmp 40c002c <l9> |
40c002c: R_MMIX_ADDR27 \.text\+0x40c0038 |
|
00000000040c0030 <l7>: |
40c0030: f2210000 pushj \$33,40c0030 <l7> |
40c0030: R_MMIX_ADDR19 \.text\+0x4080030 |
40c0034: f2210000 pushj \$33,40c0034 <l7\+0x4> |
40c0034: R_MMIX_ADDR19 \.text\+0x4080030 |
|
00000000040c0038 <l11>: |
40c0038: f0000000 jmp 40c0038 <l11> |
40c0038: R_MMIX_ADDR27 \.text\+0x4080020 |
40c003c: f0000000 jmp 40c003c <l11\+0x4> |
40c003c: R_MMIX_ADDR27 \.text\+0x4080030 |
\.\.\. |
4100038: f43d0000 geta \$61,4100038 <l11\+0x40000> |
4100038: R_MMIX_ADDR19 \.text\+0x40c0038 |
410003c: f4480000 geta \$72,410003c <l11\+0x40004> |
410003c: R_MMIX_ADDR19 \.text\+0x40c0038 |
/list-in-n.d
0,0 → 1,281
# objdump: -dr |
# source: list-insns.s |
# as: -no-expand |
.*: file format elf64-mmix |
|
Disassembly of section \.text: |
|
0000000000000000 <Main>: |
0: 00000003 trap 0,0,3 |
4: 00030405 trap 3,4,5 |
8: 010c17f1 fcmp \$12,\$23,\$241 |
c: 08700129 flot \$112,ROUND_OFF,\$41 |
10: 0970048d flot \$112,ROUND_NEAR,141 |
14: 08bf00f2 flot \$191,\$242 |
18: 09c3002a flot \$195,42 |
1c: 027acb04 fun \$122,\$203,\$4 |
20: 03661e28 feql \$102,\$30,\$40 |
24: 0a66000e flotu \$102,\$14 |
28: 0a84020e flotu \$132,ROUND_UP,\$14 |
2c: 0a660368 flotu \$102,ROUND_DOWN,\$104 |
30: 0aac048c flotu \$172,ROUND_NEAR,\$140 |
34: 0a010186 flotu \$1,ROUND_OFF,\$134 |
38: 0470df29 fadd \$112,\$223,\$41 |
3c: 05700129 fix \$112,ROUND_OFF,\$41 |
40: 050b008d fix \$11,\$141 |
44: 0c700129 sflot \$112,ROUND_OFF,\$41 |
48: 0d70048d sflot \$112,ROUND_NEAR,141 |
4c: 0670df29 fsub \$112,\$223,\$41 |
50: 0766000e fixu \$102,\$14 |
54: 0784020e fixu \$132,ROUND_UP,\$14 |
58: 0e0b008d sflotu \$11,\$141 |
5c: 0f70008d sflotu \$112,141 |
60: 0f70048d sflotu \$112,ROUND_NEAR,141 |
64: 0e700129 sflotu \$112,ROUND_OFF,\$41 |
68: 10661e28 fmul \$102,\$30,\$40 |
6c: 110cdf01 fcmpe \$12,\$223,\$1 |
70: 197acb2c mul \$122,\$203,44 |
74: 18661e28 mul \$102,\$30,\$40 |
78: 130cdf01 feqle \$12,\$223,\$1 |
7c: 120cdf0b fune \$12,\$223,\$11 |
80: 1b7ad52c mulu \$122,\$213,44 |
84: 1a841e28 mulu \$132,\$30,\$40 |
88: 140cdf0b fdiv \$12,\$223,\$11 |
8c: 1584020e fsqrt \$132,ROUND_UP,\$14 |
90: 150b008d fsqrt \$11,\$141 |
94: 1d7ad52c div \$122,\$213,44 |
98: 1c841e28 div \$132,\$30,\$40 |
9c: 160cdf0b frem \$12,\$223,\$11 |
a0: 1784020e fint \$132,ROUND_UP,\$14 |
a4: 170b008d fint \$11,\$141 |
a8: 1e0cdf01 divu \$12,\$223,\$1 |
ac: 1f7acbff divu \$122,\$203,255 |
b0: 200cdf01 add \$12,\$223,\$1 |
b4: 217acbff add \$122,\$203,255 |
b8: 280cdf0b 2addu \$12,\$223,\$11 |
bc: 297acb00 2addu \$122,\$203,0 |
c0: 237acbff addu \$122,\$203,255 |
c4: 220cdf0b addu \$12,\$223,\$11 |
c8: 237acbff addu \$122,\$203,255 |
cc: 220cdf0b addu \$12,\$223,\$11 |
d0: 2b7acbcd 4addu \$122,\$203,205 |
d4: 2a0cdf6f 4addu \$12,\$223,\$111 |
d8: 240cdf0b sub \$12,\$223,\$11 |
dc: 257acbcd sub \$122,\$203,205 |
e0: 2c0cdf0b 8addu \$12,\$223,\$11 |
e4: 2d7acbcd 8addu \$122,\$203,205 |
e8: 2602df0b subu \$2,\$223,\$11 |
ec: 270c14cd subu \$12,\$20,205 |
f0: 2e02df0b 16addu \$2,\$223,\$11 |
f4: 2f0c14cd 16addu \$12,\$20,205 |
f8: 3002df0b cmp \$2,\$223,\$11 |
fc: 310c14cd cmp \$12,\$20,205 |
100: 3802df0b sl \$2,\$223,\$11 |
104: 390c14cd sl \$12,\$20,205 |
108: 3202df0b cmpu \$2,\$223,\$11 |
10c: 330c14cd cmpu \$12,\$20,205 |
110: 3a02df0b slu \$2,\$223,\$11 |
114: 3b0c14cd slu \$12,\$20,205 |
118: 3402170b neg \$2,23,\$11 |
11c: 350c00cd neg \$12,0,205 |
120: 35c00acd neg \$192,10,205 |
124: 3d0c14cd sr \$12,\$20,205 |
128: 3c02df0b sr \$2,\$223,\$11 |
12c: 3602170b negu \$2,23,\$11 |
130: 370c00cd negu \$12,0,205 |
134: 3f0c14cd sru \$12,\$20,205 |
138: 3e02df0b sru \$2,\$223,\$11 |
13c: 40020001 bn \$2,140 <Main\+0x140> |
140: 4102ffff bn \$2,13c <Main\+0x13c> |
144: 4902ffff bnn \$2,140 <Main\+0x140> |
148: 4902ffff bnn \$2,144 <Main\+0x144> |
14c: 42ff0001 bz \$255,150 <Main\+0x150> |
150: 43ffffff bz \$255,14c <Main\+0x14c> |
154: 4aff0001 bnz \$255,158 <Main\+0x158> |
158: 4bffffff bnz \$255,154 <Main\+0x154> |
15c: 44190001 bp \$25,160 <Main\+0x160> |
160: 4519ffff bp \$25,15c <Main\+0x15c> |
164: 4c190001 bnp \$25,168 <Main\+0x168> |
168: 4d19ffff bnp \$25,164 <Main\+0x164> |
16c: 46190001 bod \$25,170 <Main\+0x170> |
170: 4719ffff bod \$25,16c <Main\+0x16c> |
174: 4e190001 bev \$25,178 <Main\+0x178> |
178: 4f19ffff bev \$25,174 <Main\+0x174> |
17c: 50020001 pbn \$2,180 <Main\+0x180> |
180: 5102ffff pbn \$2,17c <Main\+0x17c> |
184: 58020001 pbnn \$2,188 <Main\+0x188> |
188: 5902ffff pbnn \$2,184 <Main\+0x184> |
18c: 520c0001 pbz \$12,190 <Main\+0x190> |
190: 5316ffff pbz \$22,18c <Main\+0x18c> |
194: 5a200001 pbnz \$32,198 <Main\+0x198> |
198: 5b34ffff pbnz \$52,194 <Main\+0x194> |
19c: 56190001 pbod \$25,1a0 <Main\+0x1a0> |
1a0: 5719ffff pbod \$25,19c <Main\+0x19c> |
1a4: 5e190001 pbev \$25,1a8 <Main\+0x1a8> |
1a8: 5f19ffff pbev \$25,1a4 <Main\+0x1a4> |
1ac: 6002df0b csn \$2,\$223,\$11 |
1b0: 610c14cd csn \$12,\$20,205 |
1b4: 6802df0b csnn \$2,\$223,\$11 |
1b8: 690c14cd csnn \$12,\$20,205 |
1bc: 6202cb0b csz \$2,\$203,\$11 |
1c0: 630cc8cd csz \$12,\$200,205 |
1c4: 6a02cb0b csnz \$2,\$203,\$11 |
1c8: 6b0cc8cd csnz \$12,\$200,205 |
1cc: 6402cb0b csp \$2,\$203,\$11 |
1d0: 650cc8cd csp \$12,\$200,205 |
1d4: 6c02cb0b csnp \$2,\$203,\$11 |
1d8: 6d0cc8cd csnp \$12,\$200,205 |
1dc: 6602cb0b csod \$2,\$203,\$11 |
1e0: 670cc8cd csod \$12,\$200,205 |
1e4: 6e02cb0b csev \$2,\$203,\$11 |
1e8: 6f0cc8cd csev \$12,\$200,205 |
1ec: 7002df0b zsn \$2,\$223,\$11 |
1f0: 710c14cd zsn \$12,\$20,205 |
1f4: 7802df0b zsnn \$2,\$223,\$11 |
1f8: 790c14cd zsnn \$12,\$20,205 |
1fc: 7202cb0b zsz \$2,\$203,\$11 |
200: 730cc8cd zsz \$12,\$200,205 |
204: 7a02cb0b zsnz \$2,\$203,\$11 |
208: 7b0cc8cd zsnz \$12,\$200,205 |
20c: 7402cb0b zsp \$2,\$203,\$11 |
210: 750cc8cd zsp \$12,\$200,205 |
214: 7c02cb0b zsnp \$2,\$203,\$11 |
218: 7d0cc8cd zsnp \$12,\$200,205 |
21c: 7602cb0b zsod \$2,\$203,\$11 |
220: 770cc8cd zsod \$12,\$200,205 |
224: 7e02cb0b zsev \$2,\$203,\$11 |
228: 7f0cc8cd zsev \$12,\$200,205 |
22c: 8002000b ldb \$2,\$0,\$11 |
230: 810c14cd ldb \$12,\$20,205 |
234: 8802000b ldt \$2,\$0,\$11 |
238: 890c14cd ldt \$12,\$20,205 |
23c: 8202000b ldbu \$2,\$0,\$11 |
240: 830c14cd ldbu \$12,\$20,205 |
244: 8a02000b ldtu \$2,\$0,\$11 |
248: 8b0c14cd ldtu \$12,\$20,205 |
24c: 8402000b ldw \$2,\$0,\$11 |
250: 850c14cd ldw \$12,\$20,205 |
254: 8c02000b ldo \$2,\$0,\$11 |
258: 8d0c14cd ldo \$12,\$20,205 |
25c: 8602000b ldwu \$2,\$0,\$11 |
260: 870c14cd ldwu \$12,\$20,205 |
264: 8e02000b ldou \$2,\$0,\$11 |
268: 8f0c14cd ldou \$12,\$20,205 |
26c: 9802000b ldvts \$2,\$0,\$11 |
270: 990c14cd ldvts \$12,\$20,205 |
274: 9202000b ldht \$2,\$0,\$11 |
278: 930c14cd ldht \$12,\$20,205 |
27c: 9b7014cd preld 112,\$20,205 |
280: 9a7014e1 preld 112,\$20,\$225 |
284: 9402000b cswap \$2,\$0,\$11 |
288: 950c14cd cswap \$12,\$20,205 |
28c: 9d7014cd prego 112,\$20,205 |
290: 9c7014e1 prego 112,\$20,\$225 |
294: 9602000b ldunc \$2,\$0,\$11 |
298: 970c14cd ldunc \$12,\$20,205 |
29c: 9e02000b go \$2,\$0,\$11 |
2a0: 9f0c14cd go \$12,\$20,205 |
2a4: a0020a97 stb \$2,\$10,\$151 |
2a8: a10c14cd stb \$12,\$20,205 |
2ac: a8200a97 stt \$32,\$10,\$151 |
2b0: a90c14cd stt \$12,\$20,205 |
2b4: a2020a97 stbu \$2,\$10,\$151 |
2b8: a30c14cd stbu \$12,\$20,205 |
2bc: aa200a97 sttu \$32,\$10,\$151 |
2c0: ab0c14cd sttu \$12,\$20,205 |
2c4: a4020a97 stw \$2,\$10,\$151 |
2c8: a50cdccd stw \$12,\$220,205 |
2cc: ac20aa97 sto \$32,\$170,\$151 |
2d0: adb614f5 sto \$182,\$20,245 |
2d4: a6020a97 stwu \$2,\$10,\$151 |
2d8: a70cdccd stwu \$12,\$220,205 |
2dc: ae20aa97 stou \$32,\$170,\$151 |
2e0: afb614f5 stou \$182,\$20,245 |
2e4: b020aa97 stsf \$32,\$170,\$151 |
2e8: b1b614f5 stsf \$182,\$20,245 |
2ec: b97014cd syncd 112,\$20,205 |
2f0: b87014e1 syncd 112,\$20,\$225 |
2f4: b220aa97 stht \$32,\$170,\$151 |
2f8: b3b614f5 stht \$182,\$20,245 |
2fc: bb7014cd prest 112,\$20,205 |
300: ba7014e1 prest 112,\$20,\$225 |
304: b420aa97 stco 32,\$170,\$151 |
308: b5b614f5 stco 182,\$20,245 |
30c: bd7014cd syncid 112,\$20,205 |
310: bc0014e1 syncid 0,\$20,\$225 |
314: b620aa97 stunc \$32,\$170,\$151 |
318: b7b614f5 stunc \$182,\$20,245 |
31c: be20aa97 pushgo \$32,\$170,\$151 |
320: bfb614f5 pushgo \$182,\$20,245 |
324: c18ec800 set \$142,\$200 |
328: c020aa97 or \$32,\$170,\$151 |
32c: c1b614f5 or \$182,\$20,245 |
330: c820aa97 and \$32,\$170,\$151 |
334: c9b614f5 and \$182,\$20,245 |
338: c220aa97 orn \$32,\$170,\$151 |
33c: c3b614f5 orn \$182,\$20,245 |
340: ca20aa97 andn \$32,\$170,\$151 |
344: cbb614f5 andn \$182,\$20,245 |
348: c420aa97 nor \$32,\$170,\$151 |
34c: c5b614f5 nor \$182,\$20,245 |
350: cc20aa97 nand \$32,\$170,\$151 |
354: cdb614f5 nand \$182,\$20,245 |
358: c620aa97 xor \$32,\$170,\$151 |
35c: c7b614f5 xor \$182,\$20,245 |
360: ce20aa97 nxor \$32,\$170,\$151 |
364: cfb614f5 nxor \$182,\$20,245 |
368: d020aa97 bdif \$32,\$170,\$151 |
36c: d1b614f5 bdif \$182,\$20,245 |
370: d820aa97 mux \$32,\$170,\$151 |
374: d9b614f5 mux \$182,\$20,245 |
378: d220aa97 wdif \$32,\$170,\$151 |
37c: d3b614f5 wdif \$182,\$20,245 |
380: da20aa97 sadd \$32,\$170,\$151 |
384: dbb600f5 sadd \$182,\$0,245 |
388: d420aa97 tdif \$32,\$170,\$151 |
38c: d5b614f5 tdif \$182,\$20,245 |
390: dc20aa97 mor \$32,\$170,\$151 |
394: ddb614f5 mor \$182,\$20,245 |
398: d620aa97 odif \$32,\$170,\$151 |
39c: d7b614f5 odif \$182,\$20,245 |
3a0: de201197 mxor \$32,\$17,\$151 |
3a4: df52b418 mxor \$82,\$180,24 |
3a8: e004ffff seth \$4,0xffff |
3ac: e05e0000 seth \$94,0x0 |
3b0: e00400ff seth \$4,0xff |
3b4: e05e04d2 seth \$94,0x4d2 |
3b8: e15e04d2 setmh \$94,0x4d2 |
3bc: e85e04d2 orh \$94,0x4d2 |
3c0: e95e04d2 ormh \$94,0x4d2 |
3c4: e25e04d2 setml \$94,0x4d2 |
3c8: e35e04d2 setl \$94,0x4d2 |
3cc: ea5e04d2 orml \$94,0x4d2 |
3d0: eb5e04d2 orl \$94,0x4d2 |
3d4: e45e04d2 inch \$94,0x4d2 |
3d8: e55e04d2 incmh \$94,0x4d2 |
3dc: ec5e04d2 andnh \$94,0x4d2 |
3e0: ed5e04d2 andnmh \$94,0x4d2 |
3e4: e65e04d2 incml \$94,0x4d2 |
3e8: e75e04d2 incl \$94,0x4d2 |
3ec: ee5e04d2 andnml \$94,0x4d2 |
3f0: ef5e04d2 andnl \$94,0x4d2 |
3f4: f1ffffff jmp 3f0 <Main\+0x3f0> |
3f8: f0000001 jmp 3fc <Main\+0x3fc> |
3fc: f82afffe pop 42,65534 |
400: f90000ff resume 255 |
404: f9000000 resume 0 |
408: f9000001 resume 1 |
40c: f2190001 pushj \$25,410 <Main\+0x410> |
410: f319ffff pushj \$25,40c <Main\+0x40c> |
414: fa040000 save \$4,0 |
418: fb0000ea unsave 0,\$234 |
41c: f4190001 geta \$25,420 <Main\+0x420> |
420: f519ffff geta \$25,41c <Main\+0x41c> |
424: fc7a1201 sync 8000001 |
428: fd010203 swym 1,2,3 |
42c: fd000000 swym 0,0,0 |
430: f7040022 put rJ,34 |
434: f6040086 put rJ,\$134 |
438: feea0004 get \$234,rJ |
43c: ff000000 trip 0,0,0 |
440: ff050607 trip 5,6,7 |
/pop-op.d
0,0 → 1,10
# objdump: -dr |
.*: file format elf64-mmix |
|
Disassembly of section \.text: |
|
0000000000000000 <Main>: |
0: f8840def pop 132,3567 |
4: f8845678 pop 132,22136 |
8: f8170def pop 23,3567 |
c: f8175678 pop 23,22136 |
/set.s
0,0 → 1,9
# Test the 'r'-type operand and the mapping of SET to OR(I) and SETL. |
Main SET $45,1123 |
SET $57,$67 |
SET $78,X |
SET Y,1123 |
SET Y,$67 |
SET Y,X |
X IS $31 |
Y IS $117 |
/greg9.d
0,0 → 1,14
# objdump: -h |
|
.*: file format elf64-mmix |
|
Sections: |
Idx Name Size VMA LMA File off Algn |
0 \.text 0+4 0+ 0+ 0+40 2\*\*2 |
CONTENTS, ALLOC, LOAD, READONLY, CODE |
1 \.data 0+ 0+ 0+ 0+44 2\*\*0 |
CONTENTS, ALLOC, LOAD, DATA |
2 \.bss 0+ 0+ 0+ 0+44 2\*\*0 |
ALLOC |
3 \.MMIX\.reg_contents 0+6f0 0+ 0+ 0+44 2\*\*0 |
CONTENTS |
/prefix1.d
0,0 → 1,38
# objdump: -rt |
|
.*: file format elf64-mmix |
|
SYMBOL TABLE: |
0+ l d \.text 0+ (|\.text) |
0+ l d \.data 0+ (|\.data) |
0+ l d \.bss 0+ (|\.bss) |
0+ l \.text 0+ a |
0+4 l \.text 0+ c |
0+24 l \.text 0+ d |
0+8 l \.text 0+ prea |
0+c l \.text 0+ pre:c |
0+10 l \.text 0+ prefixa |
0+14 l \.text 0+ pre:fix:c |
0+18 l \.text 0+ aprefixa |
0+1c l \.text 0+ aprefix:c |
0+20 l \.text 0+ a0 |
0+ \*UND\* 0+ b |
0+ \*UND\* 0+ preb |
0+ \*UND\* 0+ pre:d |
0+ \*UND\* 0+ prefixb |
0+ \*UND\* 0+ pre:fix:d |
0+ \*UND\* 0+ aprefixb |
0+ \*UND\* 0+ aprefix:d |
|
RELOCATION RECORDS FOR \[\.text\]: |
OFFSET TYPE VALUE |
0+ R_MMIX_32 b |
0+4 R_MMIX_32 \.text\+0x0+24 |
0+8 R_MMIX_32 preb |
0+c R_MMIX_32 pre:d |
0+10 R_MMIX_32 prefixb |
0+14 R_MMIX_32 pre:fix:d |
0+18 R_MMIX_32 aprefixb |
0+1c R_MMIX_32 aprefix:d |
0+20 R_MMIX_32 \.text |
0+24 R_MMIX_32 \.text\+0x0+4 |
/pop-op.l
0,0 → 1,20
GAS for MMIX .*/pop-op\.s page 1 |
|
|
1 #.* |
2 #.* |
3 0000 F8840DEF Main POP 132,3567 |
4 0004 F8845678 POP 132,YZ |
5 0008 F8170DEF POP X,3567 |
6 000c F8175678 POP X,YZ |
7 X IS 23 |
8 YZ IS #5678 |
GAS for MMIX .*/pop-op\.s page 2 |
|
|
DEFINED SYMBOLS |
.*/pop-op\.s:3 \.text:0000000000000000 Main |
\*ABS\*:0000000000005678 YZ |
\*ABS\*:0000000000000017 X |
|
NO UNDEFINED SYMBOLS |
/greg1.s
0,0 → 1,16
# Use of GREG with mmixal syntax. |
D4 SET $123,456 |
E6 SET $234,7899 |
|
A0 GREG 0 |
B1 GREG 1 |
C3 GREG D4 |
D5 GREG |
GREG E6+24 |
F7 GREG @ |
GREG @ % Equivalent to F7, unless -no-merge-gregs. |
G8 GREG #F7 |
H9 GREG @ % Equivalent to F7, unless -no-merge-gregs. |
|
SWYM 2,3,4 |
Main SWYM 1,2,3 |
/builtin1.d
0,0 → 1,22
# objdump: -dtr |
|
# Make sure we can override a built-in symbol with a known constant, like |
# with mmixal. |
|
.*: file format elf64-mmix |
|
SYMBOL TABLE: |
0+14 l \*ABS\* 0+ rJ |
0+ l d \.text 0+ (|\.text) |
0+ l d \.data 0+ (|\.data) |
0+ l d \.bss 0+ (|\.bss) |
0+ g F \.text 0+ Main |
|
|
Disassembly of section \.text: |
|
0+ <Main>: |
0: fe050014 get \$5,rL |
4: fe060014 get \$6,rL |
8: f6140007 put rL,\$7 |
c: f6140008 put rL,\$8 |
/err-loc-8.s
0,0 → 1,4
% { dg-do assemble { target mmix-*-* } } |
LOC #201 |
.p2align 0 |
TETRA 1 % { dg-error "unaligned data at an absolute location" "" } |
/basep-1.d
0,0 → 1,10
#objdump: -dr |
|
.*: file format elf64-mmix |
|
Disassembly of section \.text: |
|
0+ <a>: |
0: 0000002a trap 0,0,42 |
4: 8d2b0034 ldo \$43,\$0,52 |
6: R_MMIX_REG \.MMIX\.reg_contents |
/pop-op.s
0,0 → 1,8
# Check different type of operands to SWYM etc. |
# No need to check the canonical three constants. |
Main POP 132,3567 |
POP 132,YZ |
POP X,3567 |
POP X,YZ |
X IS 23 |
YZ IS #5678 |
/get-op-r.d
0,0 → 1,11
# objdump: -dr |
# as: -linkrelax |
# source: get-op.s |
.*: file format elf64-mmix |
|
Disassembly of section \.text: |
|
0000000000000000 <Main>: |
0: fe7b0004 get \$123,rJ |
4: fe2d0013 get \$45,rG |
8: fef5001f get \$245,rZZ |
/basep-1b.d
0,0 → 1,14
#source: basep-1.s |
#as: -linker-allocated-gregs |
#objdump: -dr |
|
# Check that this test isn't mistreated with -linker-allocated-gregs. |
|
.*: file format elf64-mmix |
|
Disassembly of section \.text: |
|
0+ <a>: |
0: 0000002a trap 0,0,42 |
4: 8d2b0034 ldo \$43,\$0,52 |
6: R_MMIX_REG \.MMIX\.reg_contents |
/geta-op.d
0,0 → 1,25
# objdump: -dr |
.*: file format elf64-mmix |
|
Disassembly of section \.text: |
|
0000000000000000 <Main>: |
0: fd000000 swym 0,0,0 |
|
0000000000000004 <here>: |
4: fd000000 swym 0,0,0 |
8: f519ffff geta \$25,4 <here> |
|
000000000000000c <at>: |
c: f4200000 geta \$32,c <at> |
10: 424e0008 bz \$78,30 <there> |
14: f35bfffc pushj \$91,4 <here> |
18: f387fffb pushj \$135,4 <here> |
1c: f4870005 geta \$135,30 <there> |
20: f2870004 pushj \$135,30 <there> |
24: f2490003 pushj \$73,30 <there> |
28: f2380002 pushj \$56,30 <there> |
2c: 5f87fff6 pbev \$135,4 <here> |
|
0000000000000030 <there>: |
30: fd000000 swym 0,0,0 |
/greg9.s
0,0 → 1,8
% Check that we can allocate max number of GREGs. |
% A bit cheesy: we allocate anonymous GREGs with no handle. This isn't |
% generally useful, but it helps keeping the number of lines down, and we |
% check that the right thing happened in the object file. |
Main SWYM 0 |
.rept 222 |
GREG |
.endr |
/prefix1.s
0,0 → 1,20
# Use of PREFIX; sanity check only. |
.text |
a TETRA b |
:c TETRA :d |
|
PREFIX pre |
a TETRA b |
:pre:c TETRA :pre:d |
|
PREFIX fix |
a TETRA b |
:pre:fix:c TETRA :pre:fix:d |
|
PREFIX :aprefix |
a TETRA b |
:aprefix:c TETRA :aprefix:d |
|
PREFIX : |
a0 TETRA a |
d TETRA c |
/basep-9.d
0,0 → 1,28
#objdump: -srt |
|
.*: file format elf64-mmix |
|
SYMBOL TABLE: |
0+ l d \.text 0+ (|\.text) |
0+ l d \.data 0+ (|\.data) |
0+ l d \.bss 0+ (|\.bss) |
0+ l O \.bss 0+4 comm_symbol3 |
0+4 l O \.bss 0+4 comm_symbol4 |
0+ l d \.MMIX\.reg_contents 0+ (|\.MMIX\.reg_contents) |
0+4 O \*COM\* 0+4 comm_symbol1 |
|
RELOCATION RECORDS FOR \[\.text\]: |
OFFSET TYPE VALUE |
0+2 R_MMIX_REG \.MMIX\.reg_contents\+0x0+8 |
0+6 R_MMIX_REG \.MMIX\.reg_contents |
0+a R_MMIX_REG \.MMIX\.reg_contents |
|
RELOCATION RECORDS FOR \[\.MMIX\.reg_contents\]: |
OFFSET TYPE VALUE |
0+ R_MMIX_64 \.bss |
0+8 R_MMIX_64 comm_symbol1 |
|
Contents of section \.text: |
0000 232a0000 232c0000 232d0004 .* |
Contents of section \.MMIX\.reg_contents: |
0000 00000000 00000000 00000000 00000000 .* |
/geta-op.l
0,0 → 1,31
GAS for MMIX .*/geta-op\.s page 1 |
|
|
1 #.* |
2 0000 FD000000 Main SWYM 0,0,0 |
3 0004 FD000000 here SWYM 0,0,0 |
4 0008 F519FFFF GETA \$25,here |
5 000c F4200000 at GETA \$32,at |
6 0010 424E0008 BZ \$78,there |
7 0014 F35BFFFC PUSHJ X0,here |
8 0018 F387FFFB PUSHJ X,here |
9 001c F4870005 GETA X,there |
10 0020 F2870004 PUSHJ X,there |
11 0024 F2490003 PUSHJ \$73,there |
12 0028 F2380002 PUSHJ 56,there |
13 002c 5F87FFF6 PBEV X,here |
14 0030 FD000000 there SWYM 0,0,0 |
15 X IS \$135 |
16 X0 IS 91 |
GAS for MMIX .*/geta-op\.s page 2 |
|
|
DEFINED SYMBOLS |
.*/geta-op\.s:2 \.text:0000000000000000 Main |
.*/geta-op\.s:3 \.text:0000000000000004 here |
.*/geta-op\.s:5 \.text:000000000000000c at |
.*/geta-op\.s:14 \.text:0000000000000030 there |
\*ABS\*:000000000000005b X0 |
\*REG\*:0000000000000087 X |
|
NO UNDEFINED SYMBOLS |
/builtin1.s
0,0 → 1,8
# When disallowing built-in names, we have to treat GET and PUT |
# specially, so when parsing the special register operand we do |
# not use the symbol table. |
rJ IS 20 |
Main GET $5,rJ |
GET $6,:rJ |
PUT rJ,$7 |
PUT :rJ,$8 |
/basep-1.s
0,0 → 1,4
# Simple base-plus-offset |
b GREG @ |
a TETRA 42 |
LDO $43,a+52 |
/geta-op.s
0,0 → 1,16
# Simple GETA/BRANCH/PUSHJ operands. |
Main SWYM 0,0,0 |
here SWYM 0,0,0 |
GETA $25,here |
at GETA $32,at |
BZ $78,there |
PUSHJ X0,here |
PUSHJ X,here |
GETA X,there |
PUSHJ X,there |
PUSHJ $73,there |
PUSHJ 56,there |
PBEV X,here |
there SWYM 0,0,0 |
X IS $135 |
X0 IS 91 |
/basep-9.s
0,0 → 1,9
# Test that we handle COMM-type symbols with base-plus-offset relocs. |
.comm comm_symbol1,4,4 |
.lcomm comm_symbol3,4 |
GREG comm_symbol1 |
GREG comm_symbol3 |
LDA $42,comm_symbol1 |
LDA $44,comm_symbol3 |
LDA $45,comm_symbol4 |
.lcomm comm_symbol4,4 |
/round2-op-r.d
0,0 → 1,19
# objdump: -dr |
# as: -linkrelax |
# source: round2-op.s |
.*: file format elf64-mmix |
|
Disassembly of section \.text: |
|
0000000000000000 <Main>: |
0: 088700f4 flot \$135,\$244 |
4: 0a8700e9 flotu \$135,\$233 |
8: 0d85005b sflot \$133,91 |
c: 177b00f4 fint \$123,\$244 |
10: 0c8500f4 sflot \$133,\$244 |
14: 0987005b flot \$135,91 |
18: 0f7b005b sflotu \$123,91 |
1c: 05ad00e9 fix \$173,\$233 |
20: 0bad00d5 flotu \$173,213 |
24: 078700f4 fixu \$135,\$244 |
28: 0b870077 flotu \$135,119 |
/reloc8.d
0,0 → 1,18
# objdump: -dr |
.*: file format elf64-mmix |
|
Disassembly of section \.text: |
|
0000000000000000 <Main>: |
0: b9002dea syncd 0,\$45,234 |
1: R_MMIX_8 foo |
4: 372f002a negu \$47,0,42 |
6: R_MMIX_8 bar\+0x30 |
8: fd00b26e swym 0,178,110 |
9: R_MMIX_8 baz\+0xfffffffffffffffe |
c: ff000000 trip 0,0,0 |
d: R_MMIX_8 fee\+0xffffffffffffffff |
e: R_MMIX_8 fie\+0x1 |
f: R_MMIX_8 foe\+0x3 |
10: f9000000 resume 0 |
13: R_MMIX_8 foobar\+0x8 |
/err-bspec-2.s
0,0 → 1,7
% { dg-do assemble { target mmix-*-* } } |
Main SET $45,23 |
BSPEC 5 |
TETRA 4 |
BSPEC 6 % { dg-error "BSPEC already active" "" } |
TETRA 5 |
ESPEC |
/comment-1.d
0,0 → 1,46
#as: -no-expand |
#readelf: -Ssrx1 -x6 |
There are 10 section headers, starting at offset 0x...: |
#... |
\[ 5\] \.MMIX\.spec_data\.4 PROGBITS 0+ 0+c4 |
0+ 0+ 0 0 1 |
\[ 6\] \.MMIX\.reg_content PROGBITS 0+ 0+c4 |
0+8 0+ W 0 0 1 |
#... |
Relocation section '\.rela\.text' at offset 0x... contains 5 entries: |
.* |
0+34 .* R_MMIX_ADDR19 +0+ +target +\+ 2c |
0+46 .* R_MMIX_16 +0+ +target2 +\+ 30 |
0+48 .* R_MMIX_ADDR27 +0+ +target3 +\+ 38 |
0+54 .* R_MMIX_ADDR19 +0+ +target3 +\+ 0 |
0+78 .* R_MMIX_LOCAL +0+30 |
|
Symbol table '\.symtab' contains 12 entries: |
Num: Value Size Type Bind Vis Ndx Name |
0: 0+ 0 NOTYPE LOCAL DEFAULT UND |
1: 0+ 0 SECTION LOCAL DEFAULT 1 |
2: 0+ 0 SECTION LOCAL DEFAULT 3 |
3: 0+ 0 SECTION LOCAL DEFAULT 4 |
4: 0+18 0 NOTYPE LOCAL DEFAULT ABS z |
5: 0+80 0 NOTYPE LOCAL DEFAULT 1 x |
6: 0+ 0 SECTION LOCAL DEFAULT 5 |
7: 0+ 0 SECTION LOCAL DEFAULT 6 |
8: 0+ 0 FUNC GLOBAL DEFAULT 1 Main |
9: 0+ 0 NOTYPE GLOBAL DEFAULT UND target |
10: 0+ 0 NOTYPE GLOBAL DEFAULT UND target2 |
11: 0+ 0 NOTYPE GLOBAL DEFAULT UND target3 |
|
Hex dump of section '\.text': |
NOTE: This section has relocations against it, but these have NOT been applied to this dump. |
0x0+ 0000007b 00010017 00010203 01030201 .* |
0x0+10 09050006 09070208 0509000a 050b030c .* |
0x0+20 230f1011 23121300 23141516 34170018 .* |
0x0+30 34191a1b 401c0000 b91d1e1f bf202122 .* |
0x0+40 c1232400 e0250000 f0000000 f8260027 .* |
0x0+50 f9000028 f2290000 fa2a0000 fb00002b .* |
0x0+60 f604002c fe2d0004 00000000 03020104 .* |
0x0+70 0007000c 00000014 00000000 0000001c .* |
0x0+80 fd221538 .* |
|
Hex dump of section '\.MMIX\.reg_contents': |
0x0+ 00000000 00000033 .* |
/reloc8.l
0,0 → 1,25
GAS for MMIX .*/reloc8\.s page 1 |
|
|
1 #.* |
2 0000 B9002DEA Main SYNCD foo,\$45,234 |
3 0004 372F002A NEGU \$47,bar\+48,localsym |
4 0008 FD00B26E SWYM baz-2,45678 |
5 000c FF000000 TRIP fee-1,fie\+1,foe\+3 |
6 0010 F9000000 RESUME foobar\+8 |
7 localsym IS 42 |
GAS for MMIX .*/reloc8\.s page 2 |
|
|
DEFINED SYMBOLS |
.*/reloc8\.s:2 \.text:0000000000000000 Main |
\*ABS\*:000000000000002a localsym |
|
UNDEFINED SYMBOLS |
foo |
bar |
baz |
fee |
fie |
foe |
foobar |
/greg2.d
0,0 → 1,35
# objdump: -rst |
|
.*: file format elf64-mmix |
|
SYMBOL TABLE: |
0+ l d \.text 0+ (|\.text) |
0+ l d \.data 0+ (|\.data) |
0+ l d \.bss 0+ (|\.bss) |
0+ l \.text 0+ D4 |
0+4 l \.text 0+ E6 |
0+ l \.MMIX\.reg_contents 0+ H9 |
0+8 l \.MMIX\.reg_contents 0+ G8 |
0+ l \.MMIX\.reg_contents 0+ F7 |
0+18 l \.MMIX\.reg_contents 0+ D5 |
0+20 l \.MMIX\.reg_contents 0+ C3 |
0+28 l \.MMIX\.reg_contents 0+ B1 |
0+30 l \.MMIX\.reg_contents 0+ A0 |
0+0 l d \.MMIX\.reg_contents 0+ (|\.MMIX\.reg_contents) |
0+c g F \.text 0+ Main |
|
|
RELOCATION RECORDS FOR \[\.MMIX\.reg_contents\]: |
OFFSET TYPE VALUE |
0+ R_MMIX_64 \.text\+0x0+8 |
0+10 R_MMIX_64 \.text\+0x0+1c |
0+20 R_MMIX_64 \.text |
|
|
Contents of section \.text: |
0000 e37b01c8 e3ea1edb fd020304 fd010203 .* |
Contents of section \.MMIX\.reg_contents: |
0000 00000000 00000000 00000000 000000f7 .* |
0010 00000000 00000000 00000000 00000000 .* |
0020 00000000 00000000 00000000 00000001 .* |
0030 00000000 00000000 .* |
/err-bpo4.s
0,0 → 1,7
% { dg-do assemble { target mmix-*-* } } |
|
# Base-plus-offset without -linker-allocated-gregs. |
|
Main PUSHGO $42,fn % { dg-error "no suitable GREG definition" "" } |
SWYM 0 |
extfn POP 0,0 |
/op-0-1.d
0,0 → 1,28
#objdump: -srt |
#as: -x --no-stubs |
|
.*: file format elf64-mmix |
|
SYMBOL TABLE: |
0+ l d \.text 0+ (|\.text) |
0+ l d \.data 0+ (|\.data) |
0+ l d \.bss 0+ (|\.bss) |
0+ l \*ABS\* 0+ zero0 |
0+ l \*ABS\* 0+ zero1 |
0+ l \*ABS\* 0+ zero2 |
0+ g F \.text 0+ Main |
|
|
RELOCATION RECORDS FOR \[\.text\]: |
OFFSET TYPE VALUE |
0+ R_MMIX_JMP \*ABS\* |
0+14 R_MMIX_GETA \*ABS\* |
0+24 R_MMIX_PUSHJ \*ABS\* |
|
|
Contents of section \.text: |
0000 f0000000 fd000000 fd000000 fd000000 .* |
0010 fd000000 f4070000 fd000000 fd000000 .* |
0020 fd000000 f2080000 fd000000 fd000000 .* |
0030 fd000000 fd000000 .* |
|
/swym-op-r.d
0,0 → 1,16
# objdump: -dr |
# as: -linkrelax |
# source: swym-op.s |
.*: file format elf64-mmix |
|
Disassembly of section \.text: |
|
0000000000000000 <Main>: |
0: fd840def swym 132,13,239 |
4: ff840def trip 132,13,239 |
8: 00845678 trap 132,86,120 |
c: 00170def trap 23,13,239 |
10: 0023cace trap 35,202,206 |
14: ff170c43 trip 23,12,67 |
18: ff175678 trip 23,86,120 |
1c: fd12d687 swym 18,214,135 |
/reloc8.s
0,0 → 1,7
# Simple relocations against 8-bit extern symbols. |
Main SYNCD foo,$45,234 |
NEGU $47,bar+48,localsym |
SWYM baz-2,45678 |
TRIP fee-1,fie+1,foe+3 |
RESUME foobar+8 |
localsym IS 42 |
/prefix2.d
0,0 → 1,15
# objdump: -dtr |
|
.*: file format elf64-mmix |
|
SYMBOL TABLE: |
0+ l d \.text 0+ (|\.text) |
0+ l d \.data 0+ (|\.data) |
0+ l d \.bss 0+ (|\.bss) |
0+ g F \.text 0+ Main |
|
|
Disassembly of section \.text: |
|
0+ <Main>: |
0: 220116e9 addu \$1,\$22,\$233 |
/comment-1.s
0,0 → 1,46
# Check that "naked" comments are accepted and ignored on all different |
# mnemonic types and pseudos. The goal is to use all combinations of |
# operands where varying number of operands are allowed. If any |
# combinations are missing, for simplicity, add them to another file. |
Main TRAP 123 ignore; x y z |
TRAP 1,23 all; x y z |
TRAP 1,2,3 these; x y z |
FCMP $3,$2,$1 comments; x y z |
FLOT $5,6 and; x y z |
FLOT $7,ROUND_UP,8 do; x y z |
FIX $9,$10 nothing; x y z |
FIX $11,ROUND_DOWN,$12 that; x y z |
ADDU $15,$16,17 would make; x y z |
LDA $18,$19 a; x y z |
LDA $20,$21,22 difference; x y z |
NEG $23,$24 in; x y z |
NEG $25,26,$27 the; x y z |
bn $28,target + 44 generated; x y z |
SYNCD 29,$30,31 code; x y z |
PUSHGO 32,$33,34 so; x y z |
SET $35,$36 it; x y z |
SETH $37,target2 + 48 is; x y z |
JMP target3 + 56 as; x y z |
POP 38,39 if; x y z |
RESUME 40 it; x y z |
PUSHJ $41,target3 had; x y z |
SAVE $42,0 never; x y z |
UNSAVE 0,$43 been; x y z |
PUT rJ,$44 there; x y z |
GET $45,rJ at all.; x y z |
|
LOC @+4 likewise; x y z |
PREFIX : with; x y z |
BYTE 3,2,1,0+4 the; x y z |
WYDE 7,4+8 different; x y z |
TETRA 8+12 pseudo; x y z |
OCTA 12+16 ops,; x y z |
LOCAL 48 they; x y z |
BSPEC 49 too; x y z |
# Specifying an operand field (although ignored) is necessary for a comment |
# with a ';' to be ignorable and not interpreted as eoln, both for GAS and |
# mmixal. |
ESPEC 0 ignore; x y z |
GREG 50 + 1 naked; x y z |
z IS 9 + 8 + 7 comments; x y z |
x SWYM 34,21,56 |
/err-loc-1.s
0,0 → 1,5
% { dg-do assemble { target mmix-*-* } } |
LOC #200 |
Main SET $45,23 |
LOC #100 % { dg-error "LOC expression stepping backwards" "" } |
SET $57,$67 |
/regx-op-r.d
0,0 → 1,36
# objdump: -dr |
# as: -linkrelax |
# source: regx-op.s |
.*: file format elf64-mmix |
|
Disassembly of section \.text: |
|
0000000000000000 <Main>: |
0: 9a7b0c43 preld 123,\$12,\$67 |
4: 9c200c43 prego 32,\$12,\$67 |
8: b87b2043 syncd 123,\$32,\$67 |
c: ba008543 prest 0,\$133,\$67 |
10: b47b0c49 stco 123,\$12,\$73 |
14: bc820ce9 syncid 130,\$12,\$233 |
18: 9a7b26d4 preld 123,\$38,\$212 |
1c: 9c01afb5 prego 1,\$175,\$181 |
20: b97b0cb0 syncd 123,\$12,176 |
24: bb200cb0 prest 32,\$12,176 |
28: b57b84b0 stco 123,\$132,176 |
2c: bde885b0 syncid 232,\$133,176 |
30: 9b7b0ccb preld 123,\$12,203 |
34: 9de70cd5 prego 231,\$12,213 |
38: b97b26d3 syncd 123,\$38,211 |
3c: bb04afa1 prest 4,\$175,161 |
40: b57b0c00 stco 123,\$12,0 |
44: bd170c00 syncid 23,\$12,0 |
48: 9b020c00 preld 2,\$12,0 |
4c: 9de88500 prego 232,\$133,0 |
50: b97b0c00 syncd 123,\$12,0 |
54: bb0d0c00 prest 13,\$12,0 |
58: b57b2600 stco 123,\$38,0 |
5c: bd04af00 syncid 4,\$175,0 |
60: 9b7b0c00 preld 123,\$12,0 |
64: 9d200c00 prego 32,\$12,0 |
68: b97b2000 syncd 123,\$32,0 |
6c: bbe88500 prest 232,\$133,0 |
/pushgo-op.d
0,0 → 1,62
# objdump: -dr |
.*: file format elf64-mmix |
|
Disassembly of section \.text: |
|
0000000000000000 <Main>: |
0: be170c43 pushgo \$23,\$12,\$67 |
4: becb0c43 pushgo \$203,\$12,\$67 |
8: be200c43 pushgo \$32,\$12,\$67 |
c: be200c43 pushgo \$32,\$12,\$67 |
10: be172043 pushgo \$23,\$32,\$67 |
14: becb2043 pushgo \$203,\$32,\$67 |
18: bee88543 pushgo \$232,\$133,\$67 |
1c: bee88543 pushgo \$232,\$133,\$67 |
20: be170c49 pushgo \$23,\$12,\$73 |
24: becb0c49 pushgo \$203,\$12,\$73 |
28: be1f0ce9 pushgo \$31,\$12,\$233 |
2c: be1f0ce9 pushgo \$31,\$12,\$233 |
30: be1726d4 pushgo \$23,\$38,\$212 |
34: becb26d4 pushgo \$203,\$38,\$212 |
38: be04afb5 pushgo \$4,\$175,\$181 |
3c: be04afb5 pushgo \$4,\$175,\$181 |
40: bf170cb0 pushgo \$23,\$12,176 |
44: bfcb0cb0 pushgo \$203,\$12,176 |
48: bf200cb0 pushgo \$32,\$12,176 |
4c: bf200cb0 pushgo \$32,\$12,176 |
50: bf1720b0 pushgo \$23,\$32,176 |
54: bfcb20b0 pushgo \$203,\$32,176 |
58: bfe885b0 pushgo \$232,\$133,176 |
5c: bfe885b0 pushgo \$232,\$133,176 |
60: bf170ccb pushgo \$23,\$12,203 |
64: bfcb0ccb pushgo \$203,\$12,203 |
68: bf1f0cd5 pushgo \$31,\$12,213 |
6c: bf1f0cd5 pushgo \$31,\$12,213 |
70: bf1726d3 pushgo \$23,\$38,211 |
74: bfcb26d3 pushgo \$203,\$38,211 |
78: bf04afa1 pushgo \$4,\$175,161 |
7c: bf04afa1 pushgo \$4,\$175,161 |
80: bf170c00 pushgo \$23,\$12,0 |
84: bfcb0c00 pushgo \$203,\$12,0 |
88: bf290c00 pushgo \$41,\$12,0 |
8c: bff10c00 pushgo \$241,\$12,0 |
90: bf171b00 pushgo \$23,\$27,0 |
94: bfcb3000 pushgo \$203,\$48,0 |
98: bfdfdb00 pushgo \$223,\$219,0 |
9c: bfdfe500 pushgo \$223,\$229,0 |
a0: bf170c00 pushgo \$23,\$12,0 |
a4: bfcb0c00 pushgo \$203,\$12,0 |
a8: bf200c00 pushgo \$32,\$12,0 |
ac: bf200c00 pushgo \$32,\$12,0 |
b0: bf172000 pushgo \$23,\$32,0 |
b4: bfcb2000 pushgo \$203,\$32,0 |
b8: bfe88500 pushgo \$232,\$133,0 |
bc: bfe88500 pushgo \$232,\$133,0 |
c0: bf170c00 pushgo \$23,\$12,0 |
c4: bfcb0c00 pushgo \$203,\$12,0 |
c8: bf1f0c00 pushgo \$31,\$12,0 |
cc: bf1f0c00 pushgo \$31,\$12,0 |
d0: bf172600 pushgo \$23,\$38,0 |
d4: bfcb2600 pushgo \$203,\$38,0 |
d8: bf04af00 pushgo \$4,\$175,0 |
dc: bf04af00 pushgo \$4,\$175,0 |
/reloclab-r.d
0,0 → 1,49
#objdump: -dr |
#as: -linkrelax -x --no-stubs |
#source: reloclab.s |
.*: file format elf64-mmix |
|
Disassembly of section \.text: |
|
0000000000000000 <Main>: |
0: f0000000 jmp 0 <Main> |
0: R_MMIX_JMP foo\+0x8 |
4: fd000000 swym 0,0,0 |
8: fd000000 swym 0,0,0 |
c: fd000000 swym 0,0,0 |
10: fd000000 swym 0,0,0 |
14: f0000004 jmp 24 <here> |
14: R_MMIX_ADDR27 \.text\+0x24 |
18: f4080003 geta \$8,24 <here> |
18: R_MMIX_ADDR19 \.text\+0x24 |
1c: 46630002 bod \$99,24 <here> |
1c: R_MMIX_ADDR19 \.text\+0x24 |
20: fd000000 swym 0,0,0 |
|
0000000000000024 <here>: |
24: 42de0000 bz \$222,24 <here> |
24: R_MMIX_CBRANCH bar\+0x10 |
28: fd000000 swym 0,0,0 |
2c: fd000000 swym 0,0,0 |
30: fd000000 swym 0,0,0 |
34: fd000000 swym 0,0,0 |
38: fd000000 swym 0,0,0 |
|
000000000000003c <there>: |
3c: f4040000 geta \$4,3c <there> |
3c: R_MMIX_GETA baz |
40: fd000000 swym 0,0,0 |
44: fd000000 swym 0,0,0 |
48: fd000000 swym 0,0,0 |
4c: f2070000 pushj \$7,4c <there\+0x10> |
4c: R_MMIX_PUSHJ foobar |
50: fd000000 swym 0,0,0 |
54: fd000000 swym 0,0,0 |
58: fd000000 swym 0,0,0 |
5c: fd000000 swym 0,0,0 |
60: f1fffff7 jmp 3c <there> |
60: R_MMIX_ADDR27 \.text\+0x3c |
64: f558fff6 geta \$88,3c <there> |
64: R_MMIX_ADDR19 \.text\+0x3c |
68: 476ffff5 bod \$111,3c <there> |
68: R_MMIX_ADDR19 \.text\+0x3c |
/put-op-r.d
0,0 → 1,17
# objdump: -dr |
# as: -linkrelax |
# source: put-op.s |
.*: file format elf64-mmix |
|
Disassembly of section \.text: |
|
0000000000000000 <Main>: |
0: f604007b put rJ,\$123 |
4: f613002d put rG,\$45 |
8: f61f00f5 put rZZ,\$245 |
c: f604006f put rJ,\$111 |
10: f713002d put rG,45 |
14: f71f00f5 put rZZ,245 |
18: f7040000 put rJ,0 |
1c: f7130000 put rG,0 |
20: f71f0000 put rZZ,0 |
/greg2.s
0,0 → 1,21
# Use of .greg; non-mmixal syntax though somewhat corresponding to greg1. |
# Note that use-before-definition is allowed. |
.text |
|
.greg A0,0 |
.greg B1,1 |
.greg C3,D4 |
.greg D5, |
.greg ,E6+24 % Somewhat unusable, but hey... |
.greg F7,.+8 |
.greg ,.+8 |
.greg G8,0xf7 |
.greg H9,.+8 |
|
D4: |
set $123,456 |
E6: |
set $234,7899 |
swym 2,3,4 |
Main: |
swym 1,2,3 |
/builtin2.d
0,0 → 1,24
# as: -no-predefined-syms |
# objdump: -dtr |
# source: builtin1.s |
|
# Make sure we don't look at the symbol table when parsing special |
# register names. |
|
.*: file format elf64-mmix |
|
SYMBOL TABLE: |
0+ l d \.text 0+ (|\.text) |
0+ l d \.data 0+ (|\.data) |
0+ l d \.bss 0+ (|\.bss) |
0+14 l \*ABS\* 0+ rJ |
0+ g F \.text 0+ Main |
|
|
Disassembly of section \.text: |
|
0+ <Main>: |
0: fe050004 get \$5,rJ |
4: fe060004 get \$6,rJ |
8: f6040007 put rJ,\$7 |
c: f6040008 put rJ,\$8 |
/op-0-1.s
0,0 → 1,6
zero0 IS 0 |
zero1 IS 0 |
zero2 IS 0 |
Main JMP zero0 |
GETA $7,zero1 |
PUSHJ $8,zero2 |
/basep-2.d
0,0 → 1,23
#as: --no-predefined-syms |
#objdump: -dr |
|
.*: file format elf64-mmix |
|
Disassembly of section \.text: |
|
0000000000000000 <a>: |
0: 0000002a trap 0,0,42 |
4: 8d2b0034 ldo \$43,\$0,52 |
6: R_MMIX_REG \.MMIX\.reg_contents\+0x8 |
\.\.\. |
|
0000000000000108 <d>: |
108: 0000001c trap 0,0,28 |
10c: 8d8f000c ldo \$143,\$0,12 |
10e: R_MMIX_REG \.MMIX\.reg_contents |
110: 8df3000c ldo \$243,\$0,12 |
112: R_MMIX_REG \.MMIX\.reg_contents\+0x8 |
114: 23670028 addu \$103,\$0,40 |
116: R_MMIX_REG \.MMIX\.reg_contents |
118: 230d0018 addu \$13,\$0,24 |
11a: R_MMIX_REG \.MMIX\.reg_contents\+0x8 |
/pushgo-op.l
0,0 → 1,87
GAS for MMIX .*/pushgo-op\.s page 1 |
|
|
1 #.* |
2 #.* |
3 0000 BE170C43 Main PUSHGO X,Y,Z |
4 0004 BECB0C43 PUSHGO XC,Y,Z |
5 0008 BE200C43 PUSHGO \$32,Y,Z |
6 000c BE200C43 PUSHGO 32,Y,Z |
7 0010 BE172043 PUSHGO X,\$32,Z |
8 0014 BECB2043 PUSHGO XC,\$32,Z |
9 0018 BEE88543 PUSHGO \$232,\$133,Z |
10 001c BEE88543 PUSHGO 232,\$133,Z |
11 0020 BE170C49 PUSHGO X,Y,\$73 |
12 0024 BECB0C49 PUSHGO XC,Y,\$73 |
13 0028 BE1F0CE9 PUSHGO \$31,Y,\$233 |
14 002c BE1F0CE9 PUSHGO 31,Y,\$233 |
15 0030 BE1726D4 PUSHGO X,\$38,\$212 |
16 0034 BECB26D4 PUSHGO XC,\$38,\$212 |
17 0038 BE04AFB5 PUSHGO \$4,\$175,\$181 |
18 003c BE04AFB5 PUSHGO 4,\$175,\$181 |
19 |
20 0040 BF170CB0 PUSHGO X,Y,Z0 |
21 0044 BFCB0CB0 PUSHGO XC,Y,Z0 |
22 0048 BF200CB0 PUSHGO \$32,Y,Z0 |
23 004c BF200CB0 PUSHGO 32,Y,Z0 |
24 0050 BF1720B0 PUSHGO X,\$32,Z0 |
25 0054 BFCB20B0 PUSHGO XC,\$32,Z0 |
26 0058 BFE885B0 PUSHGO \$232,\$133,Z0 |
27 005c BFE885B0 PUSHGO 232,\$133,Z0 |
28 0060 BF170CCB PUSHGO X,Y,203 |
29 0064 BFCB0CCB PUSHGO XC,Y,203 |
30 0068 BF1F0CD5 PUSHGO \$31,Y,213 |
31 006c BF1F0CD5 PUSHGO 31,Y,213 |
32 0070 BF1726D3 PUSHGO X,\$38,211 |
33 0074 BFCB26D3 PUSHGO XC,\$38,211 |
34 0078 BF04AFA1 PUSHGO \$4,\$175,161 |
35 007c BF04AFA1 PUSHGO 4,\$175,161 |
36 |
37 0080 BF170C00 PUSHGO X,Y |
38 0084 BFCB0C00 PUSHGO XC,Y |
39 |
40 0088 BF290C00 PUSHGO \$41,Y |
41 008c BFF10C00 PUSHGO 241,Y |
42 |
43 0090 BF171B00 PUSHGO X,\$27 |
44 0094 BFCB3000 PUSHGO XC,\$48 |
45 |
46 0098 BFDFDB00 PUSHGO \$223,\$219 |
47 009c BFDFE500 PUSHGO 223,\$229 |
48 |
49 00a0 BF170C00 PUSHGO X,Y,0 |
50 00a4 BFCB0C00 PUSHGO XC,Y,0 |
51 00a8 BF200C00 PUSHGO \$32,Y,0 |
52 00ac BF200C00 PUSHGO 32,Y,0 |
53 00b0 BF172000 PUSHGO X,\$32,0 |
54 00b4 BFCB2000 PUSHGO XC,\$32,0 |
55 00b8 BFE88500 PUSHGO \$232,\$133,0 |
56 00bc BFE88500 PUSHGO 232,\$133,0 |
57 00c0 BF170C00 PUSHGO X,Y,0 |
GAS for MMIX .*/pushgo-op\.s page 2 |
|
|
58 00c4 BFCB0C00 PUSHGO XC,Y,0 |
59 00c8 BF1F0C00 PUSHGO \$31,Y,0 |
60 00cc BF1F0C00 PUSHGO 31,Y,0 |
61 00d0 BF172600 PUSHGO X,\$38,0 |
62 00d4 BFCB2600 PUSHGO XC,\$38,0 |
63 00d8 BF04AF00 PUSHGO \$4,\$175,0 |
64 00dc BF04AF00 PUSHGO 4,\$175,0 |
65 X IS \$23 |
66 XC IS 203 |
67 Y IS \$12 |
68 Z IS \$67 |
69 Z0 IS 176 |
GAS for MMIX .*/pushgo-op\.s page 3 |
|
|
DEFINED SYMBOLS |
.*/pushgo-op\.s:3 \.text:0000000000000000 Main |
\*REG\*:0000000000000017 X |
\*REG\*:000000000000000c Y |
\*REG\*:0000000000000043 Z |
\*ABS\*:00000000000000cb XC |
\*ABS\*:00000000000000b0 Z0 |
|
NO UNDEFINED SYMBOLS |
/mmix-list.exp
0,0 → 1,30
# Copyright (C) 2001, 2007 Free Software Foundation, Inc. |
|
# This program is free software; you can redistribute it and/or modify |
# it under the terms of the GNU General Public License as published by |
# the Free Software Foundation; either version 3 of the License, or |
# (at your option) any later version. |
# |
# This program is distributed in the hope that it will be useful, |
# but WITHOUT ANY WARRANTY; without even the implied warranty of |
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
# GNU General Public License for more details. |
# |
# You should have received a copy of the GNU General Public License |
# along with this program; if not, write to the Free Software |
# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. |
|
if { ! [istarget "mmix-*"] } { |
return |
} |
|
proc run_mmix_list_tests { } { |
global srcdir subdir runtests |
foreach test_name [lsort [find ${srcdir}/${subdir} *.l]] { |
# Keep basename. |
regsub -all ".*/\(\[^\.\]*\)\.l$" $test_name "\\1" test_name |
run_list_test $test_name "-a -x" |
} |
} |
|
run_mmix_list_tests |
/1cjmp1b-r.d
0,0 → 1,15
# objdump: -dr |
# as: -linkrelax |
# source: 1cjmp1b.s |
.*: file format elf64-mmix |
|
Disassembly of section \.text: |
|
0000000000000000 <Main>: |
0: fd000000 swym 0,0,0 |
4: f0000001 jmp 8 <Main\+0x8> |
4: R_MMIX_ADDR27 \.text\+0x8 |
8: f0000000 jmp 8 <Main\+0x8> |
8: R_MMIX_ADDR27 \.text\+0x8 |
c: f1ffffff jmp 8 <Main\+0x8> |
c: R_MMIX_ADDR27 \.text\+0x8 |
/prefix2.s
0,0 → 1,3
# Prefix must not interfere with register names. |
PREFIX pre |
:Main ADDU $1,$22,$233 |
/pushgo-op.s
0,0 → 1,69
# PUSHGO. Like T, but $X can be expressed as a constant. |
# Using regt-op as a template caused this to go out of control. |
Main PUSHGO X,Y,Z |
PUSHGO XC,Y,Z |
PUSHGO $32,Y,Z |
PUSHGO 32,Y,Z |
PUSHGO X,$32,Z |
PUSHGO XC,$32,Z |
PUSHGO $232,$133,Z |
PUSHGO 232,$133,Z |
PUSHGO X,Y,$73 |
PUSHGO XC,Y,$73 |
PUSHGO $31,Y,$233 |
PUSHGO 31,Y,$233 |
PUSHGO X,$38,$212 |
PUSHGO XC,$38,$212 |
PUSHGO $4,$175,$181 |
PUSHGO 4,$175,$181 |
|
PUSHGO X,Y,Z0 |
PUSHGO XC,Y,Z0 |
PUSHGO $32,Y,Z0 |
PUSHGO 32,Y,Z0 |
PUSHGO X,$32,Z0 |
PUSHGO XC,$32,Z0 |
PUSHGO $232,$133,Z0 |
PUSHGO 232,$133,Z0 |
PUSHGO X,Y,203 |
PUSHGO XC,Y,203 |
PUSHGO $31,Y,213 |
PUSHGO 31,Y,213 |
PUSHGO X,$38,211 |
PUSHGO XC,$38,211 |
PUSHGO $4,$175,161 |
PUSHGO 4,$175,161 |
|
PUSHGO X,Y |
PUSHGO XC,Y |
|
PUSHGO $41,Y |
PUSHGO 241,Y |
|
PUSHGO X,$27 |
PUSHGO XC,$48 |
|
PUSHGO $223,$219 |
PUSHGO 223,$229 |
|
PUSHGO X,Y,0 |
PUSHGO XC,Y,0 |
PUSHGO $32,Y,0 |
PUSHGO 32,Y,0 |
PUSHGO X,$32,0 |
PUSHGO XC,$32,0 |
PUSHGO $232,$133,0 |
PUSHGO 232,$133,0 |
PUSHGO X,Y,0 |
PUSHGO XC,Y,0 |
PUSHGO $31,Y,0 |
PUSHGO 31,Y,0 |
PUSHGO X,$38,0 |
PUSHGO XC,$38,0 |
PUSHGO $4,$175,0 |
PUSHGO 4,$175,0 |
X IS $23 |
XC IS 203 |
Y IS $12 |
Z IS $67 |
Z0 IS 176 |
/basep-2.s
0,0 → 1,12
# Simple base-plus-offset |
b GREG @ |
a TETRA 42 |
LDO $43,a+52 |
|
LOC @+256 |
c GREG @ |
d TETRA 28 |
LDO $143,d+12 |
LDO $243,a+12 |
LDA $103,d+40 |
LDA $13,a+24 |
/reg3-op.d
0,0 → 1,30
# objdump: -dr |
.*: file format elf64-mmix |
|
Disassembly of section \.text: |
|
0000000000000000 <Main>: |
0: 18170c43 mul \$23,\$12,\$67 |
4: 20200c43 add \$32,\$12,\$67 |
8: 2a0c2043 4addu \$12,\$32,\$67 |
c: 2ce88543 8addu \$232,\$133,\$67 |
10: 2e170c49 16addu \$23,\$12,\$73 |
14: 3e1f0ce9 sru \$31,\$12,\$233 |
18: 601726d4 csn \$23,\$38,\$212 |
1c: 7c04afb5 zsnp \$4,\$175,\$181 |
20: 1b170cb0 mulu \$23,\$12,176 |
24: 39200cb0 sl \$32,\$12,176 |
28: 330c20b0 cmpu \$12,\$32,176 |
2c: 29e885b0 2addu \$232,\$133,176 |
30: df170ccb mxor \$23,\$12,203 |
34: c11f0cd5 or \$31,\$12,213 |
38: cd1726d3 nand \$23,\$38,211 |
3c: d304afa1 wdif \$4,\$175,161 |
40: db170c00 sadd \$23,\$12,0 |
44: df200c00 mxor \$32,\$12,0 |
48: c30c2000 orn \$12,\$32,0 |
4c: cbe88500 andn \$232,\$133,0 |
50: 2f170c00 16addu \$23,\$12,0 |
54: 391f0c00 sl \$31,\$12,0 |
58: 23172600 addu \$23,\$38,0 |
5c: 3104af00 cmp \$4,\$175,0 |
/resume-op.d
0,0 → 1,10
# objdump: -dr |
.*: file format elf64-mmix |
|
Disassembly of section \.text: |
|
0000000000000000 <Main>: |
0: f9000001 resume 1 |
4: f9000000 resume 0 |
8: f9000001 resume 1 |
c: f9000000 resume 0 |
/err-is-1.s
0,0 → 1,4
% { dg-do assemble { target mmix-*-* } } |
IS 42 % { dg-error "empty label field for IS" "" } |
2H IS 1 |
IS 2B % { dg-error "empty label field for IS" "" } |
/regy-op.d
0,0 → 1,34
# objdump: -dr |
.*: file format elf64-mmix |
|
Disassembly of section \.text: |
|
0000000000000000 <Main>: |
0: 347b0c43 neg \$123,12,\$67 |
4: 36200c43 negu \$32,12,\$67 |
8: 347b2043 neg \$123,32,\$67 |
c: 36008543 negu \$0,133,\$67 |
10: 347b0c49 neg \$123,12,\$73 |
14: 36820ce9 negu \$130,12,\$233 |
18: 347b26d4 neg \$123,38,\$212 |
1c: 3601afb5 negu \$1,175,\$181 |
20: 357b0cb0 neg \$123,12,176 |
24: 37200cb0 negu \$32,12,176 |
28: 357b84b0 neg \$123,132,176 |
2c: 37e885b0 negu \$232,133,176 |
30: 357b0ccb neg \$123,12,203 |
34: 37e70cd5 negu \$231,12,213 |
38: 357b26d3 neg \$123,38,211 |
3c: 3704afa1 negu \$4,175,161 |
40: 357b0c00 neg \$123,12,0 |
44: 37170c00 negu \$23,12,0 |
48: 35020c00 neg \$2,12,0 |
4c: 37e88500 negu \$232,133,0 |
50: 347b0043 neg \$123,0,\$67 |
54: 36200043 negu \$32,0,\$67 |
58: 357b0020 neg \$123,0,32 |
5c: 37e80085 negu \$232,0,133 |
60: 357b00b0 neg \$123,0,176 |
64: 372000b0 negu \$32,0,176 |
68: 347b0020 neg \$123,0,\$32 |
6c: 36e80085 negu \$232,0,\$133 |
/two-op-r.d
0,0 → 1,24
# objdump: -dr |
# as: -linkrelax |
# source: two-op.s |
.*: file format elf64-mmix |
|
Disassembly of section \.text: |
|
0000000000000000 <Main>: |
0: e0175840 seth \$23,0x5840 |
4: e12d5840 setmh \$45,0x5840 |
8: e8171ed4 orh \$23,0x1ed4 |
c: e92d3039 ormh \$45,0x3039 |
10: e2175840 setml \$23,0x5840 |
14: e32d5840 setl \$45,0x5840 |
18: ea171ed4 orml \$23,0x1ed4 |
1c: eb2d3039 orl \$45,0x3039 |
20: e42d3039 inch \$45,0x3039 |
24: e5171ed4 incmh \$23,0x1ed4 |
28: ec2d5840 andnh \$45,0x5840 |
2c: ed175840 andnmh \$23,0x5840 |
30: e6175840 incml \$23,0x5840 |
34: e72d5840 incl \$45,0x5840 |
38: ee171ed4 andnml \$23,0x1ed4 |
3c: ef2d3039 andnl \$45,0x3039 |
/reg3-op.l
0,0 → 1,46
GAS for MMIX .*/reg3-op\.s page 1 |
|
|
1 #.* |
2 #.* |
3 0000 18170C43 Main MUL X,Y,Z |
4 0004 20200C43 ADD \$32,Y,Z |
5 0008 2A0C2043 4ADDU Y,\$32,Z |
6 000c 2CE88543 8ADDU \$232,\$133,Z |
7 0010 2E170C49 16ADDU X,Y,\$73 |
8 0014 3E1F0CE9 SRU \$31,Y,\$233 |
9 0018 601726D4 CSN X,\$38,\$212 |
10 001c 7C04AFB5 ZSNP \$4,\$175,\$181 |
11 |
12 0020 1B170CB0 MULU X,Y,Z0 |
13 0024 39200CB0 SL \$32,Y,Z0 |
14 0028 330C20B0 CMPU Y,\$32,Z0 |
15 002c 29E885B0 2ADDU \$232,\$133,Z0 |
16 0030 DF170CCB MXOR X,Y,203 |
17 0034 C11F0CD5 OR \$31,Y,213 |
18 0038 CD1726D3 NAND X,\$38,211 |
19 003c D304AFA1 WDIF \$4,\$175,161 |
20 |
21 0040 DB170C00 SADD X,Y,0 |
22 0044 DF200C00 MXOR \$32,Y,0 |
23 0048 C30C2000 ORN Y,\$32,0 |
24 004c CBE88500 ANDN \$232,\$133,0 |
25 0050 2F170C00 16ADDU X,Y,0 |
26 0054 391F0C00 SL \$31,Y,0 |
27 0058 23172600 ADDU X,\$38,0 |
28 005c 3104AF00 CMP \$4,\$175,0 |
29 X IS \$23 |
30 Y IS \$12 |
31 Z IS \$67 |
32 Z0 IS 176 |
GAS for MMIX .*/reg3-op\.s page 2 |
|
|
DEFINED SYMBOLS |
.*/reg3-op\.s:3 \.text:0000000000000000 Main |
\*REG\*:0000000000000017 X |
\*REG\*:000000000000000c Y |
\*REG\*:0000000000000043 Z |
\*ABS\*:00000000000000b0 Z0 |
|
NO UNDEFINED SYMBOLS |
/roundr-op-r.d
0,0 → 1,15
# objdump: -dr |
# as: -linkrelax |
# source: roundr-op.s |
.*: file format elf64-mmix |
|
Disassembly of section .text: |
|
0000000000000000 <Main>: |
0: 178701f4 fint \$135,ROUND_OFF,\$244 |
4: 058702e9 fix \$135,ROUND_UP,\$233 |
8: 178500f4 fint \$133,\$244 |
c: 157b04f4 fsqrt \$123,ROUND_NEAR,\$244 |
10: 17ad02e9 fint \$173,ROUND_UP,\$233 |
14: 058700f4 fix \$135,\$244 |
18: 078700f4 fixu \$135,\$244 |
/resume-op.l
0,0 → 1,19
GAS for MMIX .*/resume-op\.s page 1 |
|
|
1 # Test the 'z'-type operand, RESUME\. |
2 0000 F9000001 Main RESUME X |
3 0004 F9000000 RESUME 0 |
4 0008 F9000001 RESUME 1 |
5 000c F9000000 RESUME XX |
6 X IS 1 |
7 XX IS 0 |
GAS for MMIX .*/resume-op\.s page 2 |
|
|
DEFINED SYMBOLS |
.*/resume-op\.s:2 \.text:0000000000000000 Main |
\*ABS\*:0000000000000001 X |
\*ABS\*:0000000000000000 XX |
|
NO UNDEFINED SYMBOLS |
/sync-op.d
0,0 → 1,12
# objdump: -dr |
.*: file format elf64-mmix |
|
Disassembly of section .text: |
|
0000000000000000 <Main>: |
0: fc6e6406 sync 7234566 |
4: fc000000 sync 0 |
8: fc000001 sync 1 |
c: fc000000 sync 0 |
10: fc000001 sync 1 |
14: fc7c2242 sync 8135234 |
/regy-op.l
0,0 → 1,51
GAS for MMIX .*/regy-op\.s page 1 |
|
|
1 #.* |
2 #.* |
3 0000 347B0C43 Main NEG X,Y,Z |
4 0004 36200C43 NEGU \$32,Y,Z |
5 0008 347B2043 NEG X,32,Z |
6 000c 36008543 NEGU \$0,133,Z |
7 0010 347B0C49 NEG X,Y,\$73 |
8 0014 36820CE9 NEGU \$130,Y,\$233 |
9 0018 347B26D4 NEG X,38,\$212 |
10 001c 3601AFB5 NEGU \$1,175,\$181 |
11 |
12 0020 357B0CB0 NEG X,Y,Z0 |
13 0024 37200CB0 NEGU \$32,Y,Z0 |
14 0028 357B84B0 NEG X,132,Z0 |
15 002c 37E885B0 NEGU \$232,133,Z0 |
16 0030 357B0CCB NEG X,Y,203 |
17 0034 37E70CD5 NEGU \$231,Y,213 |
18 0038 357B26D3 NEG X,38,211 |
19 003c 3704AFA1 NEGU \$4,175,161 |
20 |
21 0040 357B0C00 NEG X,Y,0 |
22 0044 37170C00 NEGU \$23,Y,0 |
23 0048 35020C00 NEG \$2,Y,0 |
24 004c 37E88500 NEGU \$232,133,0 |
25 |
26 0050 347B0043 NEG X,Z |
27 0054 36200043 NEGU \$32,Z |
28 0058 357B0020 NEG X,32 |
29 005c 37E80085 NEGU \$232,133 |
30 0060 357B00B0 NEG X,Z0 |
31 0064 372000B0 NEGU \$32,Z0 |
32 0068 347B0020 NEG X,\$32 |
33 006c 36E80085 NEGU \$232,\$133 |
34 X IS \$123 |
35 Y IS 12 |
36 Z IS \$67 |
37 Z0 IS 176 |
GAS for MMIX .*/regy-op\.s page 2 |
|
|
DEFINED SYMBOLS |
.*/regy-op\.s:3 \.text:0000000000000000 Main |
\*REG\*:000000000000007b X |
\*ABS\*:000000000000000c Y |
\*REG\*:0000000000000043 Z |
\*ABS\*:00000000000000b0 Z0 |
|
NO UNDEFINED SYMBOLS |
/resume-op.s
0,0 → 1,7
# Test the 'z'-type operand, RESUME. |
Main RESUME X |
RESUME 0 |
RESUME 1 |
RESUME XX |
X IS 1 |
XX IS 0 |
/basep-2b.d
0,0 → 1,26
#source: basep-2.s |
#as: --no-predefined-syms -linker-allocated-gregs |
#objdump: -dr |
|
# Check that this test isn't mistreated with -linker-allocated-gregs. |
|
.*: file format elf64-mmix |
|
Disassembly of section \.text: |
|
0000000000000000 <a>: |
0: 0000002a trap 0,0,42 |
4: 8d2b0034 ldo \$43,\$0,52 |
6: R_MMIX_REG \.MMIX\.reg_contents\+0x8 |
\.\.\. |
|
0000000000000108 <d>: |
108: 0000001c trap 0,0,28 |
10c: 8d8f000c ldo \$143,\$0,12 |
10e: R_MMIX_REG \.MMIX\.reg_contents |
110: 8df3000c ldo \$243,\$0,12 |
112: R_MMIX_REG \.MMIX\.reg_contents\+0x8 |
114: 23670028 addu \$103,\$0,40 |
116: R_MMIX_REG \.MMIX\.reg_contents |
118: 230d0018 addu \$13,\$0,24 |
11a: R_MMIX_REG \.MMIX\.reg_contents\+0x8 |
/reg3-op.s
0,0 → 1,32
# All-registers, '3'-type operands; third operand is |
# register or constant. |
Main MUL X,Y,Z |
ADD $32,Y,Z |
4ADDU Y,$32,Z |
8ADDU $232,$133,Z |
16ADDU X,Y,$73 |
SRU $31,Y,$233 |
CSN X,$38,$212 |
ZSNP $4,$175,$181 |
|
MULU X,Y,Z0 |
SL $32,Y,Z0 |
CMPU Y,$32,Z0 |
2ADDU $232,$133,Z0 |
MXOR X,Y,203 |
OR $31,Y,213 |
NAND X,$38,211 |
WDIF $4,$175,161 |
|
SADD X,Y,0 |
MXOR $32,Y,0 |
ORN Y,$32,0 |
ANDN $232,$133,0 |
16ADDU X,Y,0 |
SL $31,Y,0 |
ADDU X,$38,0 |
CMP $4,$175,0 |
X IS $23 |
Y IS $12 |
Z IS $67 |
Z0 IS 176 |
/geta-oprn.d
0,0 → 1,37
# objdump: -dr |
# as: -linkrelax -no-expand |
# source: geta-op.s |
.*: file format elf64-mmix |
|
Disassembly of section \.text: |
|
0000000000000000 <Main>: |
0: fd000000 swym 0,0,0 |
|
0000000000000004 <here>: |
4: fd000000 swym 0,0,0 |
8: f4190000 geta \$25,8 <here\+0x4> |
8: R_MMIX_ADDR19 \.text\+0x4 |
|
000000000000000c <at>: |
c: f4200000 geta \$32,c <at> |
c: R_MMIX_ADDR19 \.text\+0xc |
10: 424e0000 bz \$78,10 <at\+0x4> |
10: R_MMIX_ADDR19 \.text\+0x30 |
14: f25b0000 pushj \$91,14 <at\+0x8> |
14: R_MMIX_ADDR19 \.text\+0x4 |
18: f2870000 pushj \$135,18 <at\+0xc> |
18: R_MMIX_ADDR19 \.text\+0x4 |
1c: f4870000 geta \$135,1c <at\+0x10> |
1c: R_MMIX_ADDR19 \.text\+0x30 |
20: f2870000 pushj \$135,20 <at\+0x14> |
20: R_MMIX_ADDR19 \.text\+0x30 |
24: f2490000 pushj \$73,24 <at\+0x18> |
24: R_MMIX_ADDR19 \.text\+0x30 |
28: f2380000 pushj \$56,28 <at\+0x1c> |
28: R_MMIX_ADDR19 \.text\+0x30 |
2c: 5e870000 pbev \$135,2c <at\+0x20> |
2c: R_MMIX_ADDR19 \.text\+0x4 |
|
0000000000000030 <there>: |
30: fd000000 swym 0,0,0 |
/sync-op.l
0,0 → 1,23
GAS for MMIX .*/sync-op\.s page 1 |
|
|
1 #.* |
2 0000 FC6E6406 Main SYNC 7234566 |
3 0004 FC000000 SYNC 0 |
4 0008 FC000001 SYNC 1 |
5 000c FC000000 SYNC Zz |
6 0010 FC000001 SYNC Zo |
7 0014 FC7C2242 SYNC Z |
8 Zz IS 0 |
9 Zo IS 1 |
10 Z IS 8135234 |
GAS for MMIX .*/sync-op\.s page 2 |
|
|
DEFINED SYMBOLS |
.*/sync-op\.s:2 \.text:0000000000000000 Main |
\*ABS\*:0000000000000000 Zz |
\*ABS\*:0000000000000001 Zo |
\*ABS\*:00000000007c2242 Z |
|
NO UNDEFINED SYMBOLS |
/regy-op.s
0,0 → 1,37
# For insns where Y is a constant: 'Y'-type operands. |
# Only NEG and NEGU, actually. |
Main NEG X,Y,Z |
NEGU $32,Y,Z |
NEG X,32,Z |
NEGU $0,133,Z |
NEG X,Y,$73 |
NEGU $130,Y,$233 |
NEG X,38,$212 |
NEGU $1,175,$181 |
|
NEG X,Y,Z0 |
NEGU $32,Y,Z0 |
NEG X,132,Z0 |
NEGU $232,133,Z0 |
NEG X,Y,203 |
NEGU $231,Y,213 |
NEG X,38,211 |
NEGU $4,175,161 |
|
NEG X,Y,0 |
NEGU $23,Y,0 |
NEG $2,Y,0 |
NEGU $232,133,0 |
|
NEG X,Z |
NEGU $32,Z |
NEG X,32 |
NEGU $232,133 |
NEG X,Z0 |
NEGU $32,Z0 |
NEG X,$32 |
NEGU $232,$133 |
X IS $123 |
Y IS 12 |
Z IS $67 |
Z0 IS 176 |
/comment-2.d
0,0 → 1,15
#objdump: -drt |
|
.*: file format elf64-mmix |
|
SYMBOL TABLE: |
0+ l d \.text 0+ (|\.text) |
0+ l d \.data 0+ (|\.data) |
0+ l d \.bss 0+ (|\.bss) |
0+ g F \.text 0+ Main |
|
|
Disassembly of section \.text: |
|
0+ <Main>: |
0: f801e240 pop 1,57920 |
/err-bspec-3.s
0,0 → 1,4
% { dg-do assemble { target mmix-*-* } } |
Main SET $45,23 |
TETRA 4 |
ESPEC % { dg-error "ESPEC without preceding BSPEC" "" } |
/sync-op.s
0,0 → 1,10
# Test operands for SYNC. |
Main SYNC 7234566 |
SYNC 0 |
SYNC 1 |
SYNC Zz |
SYNC Zo |
SYNC Z |
Zz IS 0 |
Zo IS 1 |
Z IS 8135234 |
/greg3.d
0,0 → 1,30
# objdump: -rst |
|
# Check that we emit the right relocations for greg operands. |
|
.*: file format elf64-mmix |
|
SYMBOL TABLE: |
0+ l d \.text 0+ (|\.text) |
0+ l d \.data 0+ (|\.data) |
0+ l d \.bss 0+ (|\.bss) |
0+ l d \.MMIX\.reg_contents 0+ (|\.MMIX\.reg_contents) |
0+ g \.MMIX\.reg_contents 0+ areg |
0+c g F \.text 0+ Main |
|
RELOCATION RECORDS FOR \[\.text\]: |
OFFSET TYPE VALUE |
0+2 R_MMIX_REG \.MMIX\.reg_contents |
0+7 R_MMIX_REG_OR_BYTE \.MMIX\.reg_contents |
0+a R_MMIX_REG \.MMIX\.reg_contents |
|
RELOCATION RECORDS FOR \[\.MMIX\.reg_contents\]: |
OFFSET TYPE VALUE |
0+ R_MMIX_64 \.text\+0x0+10 |
|
Contents of section \.text: |
0000 8f030010 8e030700 8f050004 fd000001 .* |
0010 fd000002 fd000003 fd000004 fd000005 .* |
0020 fd000006 .* |
Contents of section \.MMIX\.reg_contents: |
0000 00000000 00000000 .* |
/op-0-2.d
0,0 → 1,26
#source: op-0-1.s |
#as: -no-expand |
#objdump: -srt |
|
.*: file format elf64-mmix |
|
SYMBOL TABLE: |
0+ l d \.text 0+ (|\.text) |
0+ l d \.data 0+ (|\.data) |
0+ l d \.bss 0+ (|\.bss) |
0+ l \*ABS\* 0+ zero0 |
0+ l \*ABS\* 0+ zero1 |
0+ l \*ABS\* 0+ zero2 |
0+ g F \.text 0+ Main |
|
|
RELOCATION RECORDS FOR \[\.text\]: |
OFFSET TYPE VALUE |
0+ R_MMIX_ADDR27 \*ABS\* |
0+4 R_MMIX_ADDR19 \*ABS\* |
0+8 R_MMIX_ADDR19 \*ABS\* |
|
|
Contents of section \.text: |
0000 f0000000 f4070000 f2080000 .* |
|
/err-bpo5.s
0,0 → 1,14
% { dg-do assemble { target mmix-*-* } } |
|
# Base-plus-offset without -linker-allocated-gregs. Note the constant. |
|
a IS 42 |
b IS 112 |
LDO $43,a+52 % { dg-error "no suitable GREG definition" "" } |
LDA $47,a+112 % { dg-error "no suitable GREG definition" "" } |
LDA $48,b+22 % { dg-error "no suitable GREG definition" "" } |
LDO $43,c+2 % { dg-error "no suitable GREG definition" "" } |
LDA $47,d+212 % { dg-error "no suitable GREG definition" "" } |
LDA $48,c+21 % { dg-error "no suitable GREG definition" "" } |
c IS 72 |
d IS 3 |
/roundi-op-r.d
0,0 → 1,22
# objdump: -dr |
# as: -linkrelax |
# source: roundi-op.s |
.*: file format elf64-mmix |
|
Disassembly of section \.text: |
|
0000000000000000 <Main>: |
0: 088701f4 flot \$135,ROUND_OFF,\$244 |
4: 0a8702e9 flotu \$135,ROUND_UP,\$233 |
8: 0d85005b sflot \$133,91 |
c: 0e7b04f4 sflotu \$123,ROUND_NEAR,\$244 |
10: 0c8500f4 sflot \$133,\$244 |
14: 0987005b flot \$135,91 |
18: 0f7b045b sflotu \$123,ROUND_NEAR,91 |
1c: 0987015b flot \$135,ROUND_OFF,91 |
20: 0aad02e9 flotu \$173,ROUND_UP,\$233 |
24: 0bad02d5 flotu \$173,ROUND_UP,213 |
28: 0c8700f4 sflot \$135,\$244 |
2c: 0b870277 flotu \$135,ROUND_UP,119 |
30: 0d87005b sflot \$135,91 |
34: 088700f4 flot \$135,\$244 |
/list-textfirst.l
0,0 → 1,17
GAS for MMIX .*/list-textfirst\.s page 1 |
|
|
1 \.data |
2 here: |
3 0000 0000002A tetra 42 |
4 \.text |
5 there: |
6 0000 EA \.byte 0xea |
GAS for MMIX .*/list-textfirst\.s page 2 |
|
|
DEFINED SYMBOLS |
.*/list-textfirst\.s:2 \.data:0000000000000000 here |
.*/list-textfirst\.s:5 \.text:0000000000000000 there |
|
NO UNDEFINED SYMBOLS |
/comment-2.s
0,0 → 1,17
Main POP 123456 ignore; x y z |
/prefix3.d
0,0 → 1,31
#objdump: -str |
|
.*: file format elf64-mmix |
|
SYMBOL TABLE: |
0+ l d \.text 0+ (|\.text) |
0+ l d \.data 0+ (|\.data) |
0+ l d \.bss 0+ (|\.bss) |
0+8 l \.text 0+ someplace |
0+ l \.text 0+ bc:h |
0+8 l \.MMIX\.reg_contents 0+ a1 |
0+ l \.MMIX\.reg_contents 0+ ba2 |
0+ l d \.MMIX\.reg_contents 0+ (|\.MMIX\.reg_contents) |
0+4 g F \.text 0+ Main |
|
|
RELOCATION RECORDS FOR \[\.text\]: |
OFFSET TYPE VALUE |
0+2 R_MMIX_REG \.MMIX\.reg_contents\+0x0+8 |
0+6 R_MMIX_REG \.MMIX\.reg_contents |
|
|
RELOCATION RECORDS FOR \[\.MMIX\.reg_contents\]: |
OFFSET TYPE VALUE |
0+8 R_MMIX_64 \.text\+0x0+8 |
|
|
Contents of section \.text: |
0000 81ff0000 81fe0000 .* |
Contents of section \.MMIX\.reg_contents: |
0000 00000000 0008aa52 00000000 00000000 .* |
/err-loc-2.s
0,0 → 1,5
% { dg-do assemble { target mmix-*-* } } |
LOC (#20 << 56) + #200 |
TETRA 1 |
LOC (#20 << 56) + #100 % { dg-error "LOC expression stepping backwards" "" } |
TETRA 2 |
/reloclab-s.d
0,0 → 1,36
#objdump: -dr |
#source: reloclab.s |
#as: -x |
|
.*: file format elf64-mmix |
Disassembly of section \.text: |
0000000000000000 <Main>: |
0: f0000000 jmp 0 <Main> |
0: R_MMIX_JMP foo\+0x8 |
4: fd000000 swym 0,0,0 |
8: fd000000 swym 0,0,0 |
c: fd000000 swym 0,0,0 |
10: fd000000 swym 0,0,0 |
14: f0000004 jmp 24 <here> |
18: f4080003 geta \$8,24 <here> |
1c: 46630002 bod \$99,24 <here> |
20: fd000000 swym 0,0,0 |
0000000000000024 <here>: |
24: 42de0000 bz \$222,24 <here> |
24: R_MMIX_CBRANCH bar\+0x10 |
28: fd000000 swym 0,0,0 |
2c: fd000000 swym 0,0,0 |
30: fd000000 swym 0,0,0 |
34: fd000000 swym 0,0,0 |
38: fd000000 swym 0,0,0 |
000000000000003c <there>: |
3c: f4040000 geta \$4,3c <there> |
3c: R_MMIX_GETA baz |
40: fd000000 swym 0,0,0 |
44: fd000000 swym 0,0,0 |
48: fd000000 swym 0,0,0 |
4c: f2070000 pushj \$7,4c <there\+0x10> |
4c: R_MMIX_PUSHJ_STUBBABLE foobar |
50: f1fffffb jmp 3c <there> |
54: f558fffa geta \$88,3c <there> |
58: 476ffff9 bod \$111,3c <there> |
/list-textfirst.s
0,0 → 1,6
.data |
here: |
tetra 42 |
.text |
there: |
.byte 0xea |
/greg3.s
0,0 → 1,11
.global areg |
areg GREG Main+4 |
LDOU $3,areg,16 |
LDOU $3,$7,areg |
LDOU $5,Main+8 |
Main SWYM 1 |
SWYM 2 |
SWYM 3 |
SWYM 4 |
SWYM 5 |
SWYM 6 |
/reg-op.d
0,0 → 1,14
# objdump: -dr |
.*: file format elf64-mmix |
|
Disassembly of section \.text: |
|
0000000000000000 <Main>: |
0: 10170c43 fmul \$23,\$12,\$67 |
4: 01200c43 fcmp \$32,\$12,\$67 |
8: 040c2043 fadd \$12,\$32,\$67 |
c: 02e88543 fun \$232,\$133,\$67 |
10: 03170c49 feql \$23,\$12,\$73 |
14: 161f0ce9 frem \$31,\$12,\$233 |
18: 061726d4 fsub \$23,\$38,\$212 |
1c: 1304afb5 feqle \$4,\$175,\$181 |
/builtin3.d
0,0 → 1,24
# as: -fixed-special-register-names |
# objdump: -dtr |
# source: builtin1.s |
|
# Make sure we don't look at the symbol table when parsing special |
# register names. |
|
.*: file format elf64-mmix |
|
SYMBOL TABLE: |
0+14 l \*ABS\* 0+ rJ |
0+ l d \.text 0+ (|\.text) |
0+ l d \.data 0+ (|\.data) |
0+ l d \.bss 0+ (|\.bss) |
0+ g F \.text 0+ Main |
|
|
Disassembly of section \.text: |
|
0+ <Main>: |
0: fe050004 get \$5,rJ |
4: fe060004 get \$6,rJ |
8: f6040007 put rJ,\$7 |
c: f6040008 put rJ,\$8 |
/basep-3.d
0,0 → 1,13
#objdump: -dr |
|
.*: file format elf64-mmix |
|
Disassembly of section \.text: |
|
0+ <Main>: |
0: bf2a0000 pushgo \$42,\$0,0 |
2: R_MMIX_REG \.MMIX\.reg_contents |
4: fd000000 swym 0,0,0 |
|
0+8 <extfn>: |
8: f8000000 pop 0,0 |
/relax1-r.d
0,0 → 1,145
#objdump: -dr |
#as: -linkrelax -x |
#source: relax1.s |
.*: file format elf64-mmix |
|
Disassembly of section \.text: |
|
0000000000000000 <Main>: |
0: f0020019 jmp 80064 <l6> |
0: R_MMIX_ADDR27 \.text\+0x80064 |
|
0000000000000004 <l0>: |
4: f0020018 jmp 80064 <l6> |
4: R_MMIX_ADDR27 \.text\+0x80064 |
|
0000000000000008 <l1>: |
8: f0020017 jmp 80064 <l6> |
8: R_MMIX_ADDR27 \.text\+0x80064 |
|
000000000000000c <l01>: |
c: f0020016 jmp 80064 <l6> |
c: R_MMIX_ADDR27 \.text\+0x80064 |
10: f407ffff geta \$7,4000c <nearfar1> |
10: R_MMIX_ADDR19 \.text\+0x4000c |
14: f2bfffff pushj \$191,40010 <nearfar2> |
14: R_MMIX_ADDR19 \.text\+0x40010 |
|
0000000000000018 <l2>: |
18: f000fffe jmp 40010 <nearfar2> |
18: R_MMIX_ADDR27 \.text\+0x40010 |
\.\.\. |
40004: 4d480000 bnp \$72,4 <l0> |
40004: R_MMIX_ADDR19 \.text\+0x4 |
40008: f5040000 geta \$4,8 <l1> |
40008: R_MMIX_ADDR19 \.text\+0x8 |
|
000000000004000c <nearfar1>: |
4000c: f3050000 pushj \$5,c <l01> |
4000c: R_MMIX_ADDR19 \.text\+0xc |
|
0000000000040010 <nearfar2>: |
40010: f4090000 geta \$9,40010 <nearfar2> |
40010: R_MMIX_GETA \.text\+0x8 |
40014: fd000000 swym 0,0,0 |
40018: fd000000 swym 0,0,0 |
4001c: fd000000 swym 0,0,0 |
40020: f20b0000 pushj \$11,40020 <nearfar2\+0x10> |
40020: R_MMIX_PUSHJ \.text\+0x80030 |
40024: fd000000 swym 0,0,0 |
40028: fd000000 swym 0,0,0 |
4002c: fd000000 swym 0,0,0 |
40030: fd000000 swym 0,0,0 |
|
0000000000040034 <l4>: |
40034: 4437ffff bp \$55,80030 <l3> |
40034: R_MMIX_ADDR19 \.text\+0x80030 |
\.\.\. |
8002c: f1fdfff7 jmp 8 <l1> |
8002c: R_MMIX_ADDR27 \.text\+0x8 |
|
0000000000080030 <l3>: |
80030: f1fdfff5 jmp 4 <l0> |
80030: R_MMIX_ADDR27 \.text\+0x4 |
80034: 47580000 bod \$88,40034 <l4> |
80034: R_MMIX_ADDR19 \.text\+0x40034 |
80038: 46580000 bod \$88,80038 <l3\+0x8> |
80038: R_MMIX_CBRANCH \.text\+0x40034 |
8003c: fd000000 swym 0,0,0 |
80040: fd000000 swym 0,0,0 |
80044: fd000000 swym 0,0,0 |
80048: fd000000 swym 0,0,0 |
8004c: fd000000 swym 0,0,0 |
80050: f0000000 jmp 80050 <l3\+0x20> |
80050: R_MMIX_JMP \.text\+0x4080060 |
80054: fd000000 swym 0,0,0 |
80058: fd000000 swym 0,0,0 |
8005c: fd000000 swym 0,0,0 |
80060: fd000000 swym 0,0,0 |
|
0000000000080064 <l6>: |
80064: f0ffffff jmp 4080060 <l5> |
80064: R_MMIX_ADDR27 \.text\+0x4080060 |
80068: 436ffff2 bz \$111,80030 <l3> |
80068: R_MMIX_ADDR19 \.text\+0x80030 |
\.\.\. |
|
0000000004080060 <l5>: |
4080060: f000000d jmp 4080094 <l8> |
4080060: R_MMIX_ADDR27 \.text\+0x4080094 |
4080064: f1000000 jmp 80064 <l6> |
4080064: R_MMIX_ADDR27 \.text\+0x80064 |
4080068: f0000000 jmp 4080068 <l5\+0x8> |
4080068: R_MMIX_JMP \.text\+0x80064 |
408006c: fd000000 swym 0,0,0 |
4080070: fd000000 swym 0,0,0 |
4080074: fd000000 swym 0,0,0 |
4080078: fd000000 swym 0,0,0 |
408007c: 482c0000 bnn \$44,408007c <l5\+0x1c> |
408007c: R_MMIX_CBRANCH \.text\+0x40c0090 |
4080080: fd000000 swym 0,0,0 |
4080084: fd000000 swym 0,0,0 |
4080088: fd000000 swym 0,0,0 |
408008c: fd000000 swym 0,0,0 |
4080090: fd000000 swym 0,0,0 |
|
0000000004080094 <l8>: |
4080094: 482cffff bnn \$44,40c0090 <l9> |
4080094: R_MMIX_ADDR19 \.text\+0x40c0090 |
4080098: f1fffff2 jmp 4080060 <l5> |
4080098: R_MMIX_ADDR27 \.text\+0x4080060 |
408009c: f1fffff1 jmp 4080060 <l5> |
408009c: R_MMIX_ADDR27 \.text\+0x4080060 |
\.\.\. |
|
00000000040c008c <l10>: |
40c008c: f1fefff5 jmp 4080060 <l5> |
40c008c: R_MMIX_ADDR27 \.text\+0x4080060 |
|
00000000040c0090 <l9>: |
40c0090: f0000007 jmp 40c00ac <l11> |
40c0090: R_MMIX_ADDR27 \.text\+0x40c00ac |
|
00000000040c0094 <l7>: |
40c0094: f3210000 pushj \$33,4080094 <l8> |
40c0094: R_MMIX_ADDR19 \.text\+0x4080094 |
40c0098: f2210000 pushj \$33,40c0098 <l7\+0x4> |
40c0098: R_MMIX_PUSHJ \.text\+0x4080094 |
40c009c: fd000000 swym 0,0,0 |
40c00a0: fd000000 swym 0,0,0 |
40c00a4: fd000000 swym 0,0,0 |
40c00a8: fd000000 swym 0,0,0 |
|
00000000040c00ac <l11>: |
40c00ac: f1feffed jmp 4080060 <l5> |
40c00ac: R_MMIX_ADDR27 \.text\+0x4080060 |
40c00b0: f1fefff9 jmp 4080094 <l8> |
40c00b0: R_MMIX_ADDR27 \.text\+0x4080094 |
\.\.\. |
41000ac: f53d0000 geta \$61,40c00ac <l11> |
41000ac: R_MMIX_ADDR19 \.text\+0x40c00ac |
41000b0: f4480000 geta \$72,41000b0 <l11\+0x40004> |
41000b0: R_MMIX_GETA \.text\+0x40c00ac |
41000b4: fd000000 swym 0,0,0 |
41000b8: fd000000 swym 0,0,0 |
41000bc: fd000000 swym 0,0,0 |
/prefix3.s
0,0 → 1,9
% Check that changing prefixes between the GREG definition, its use and |
% the end of the assembly file does not change the GREG definition. |
a1 GREG someplace |
PREFIX b |
a2 GREG 567890 |
PREFIX c: |
h LDB $255,:a1 |
:Main LDB $254,:ba2 |
:someplace IS @ |
/reg-op.l
0,0 → 1,26
GAS for MMIX .*/reg-op\.s page 1 |
|
|
1 #.* |
2 #.* |
3 0000 10170C43 Main FMUL X,Y,Z |
4 0004 01200C43 FCMP \$32,Y,Z |
5 0008 040C2043 FADD Y,\$32,Z |
6 000c 02E88543 FUN \$232,\$133,Z |
7 0010 03170C49 FEQL X,Y,\$73 |
8 0014 161F0CE9 FREM \$31,Y,\$233 |
9 0018 061726D4 FSUB X,\$38,\$212 |
10 001c 1304AFB5 FEQLE \$4,\$175,\$181 |
11 X IS \$23 |
12 Y IS \$12 |
13 Z IS \$67 |
GAS for MMIX .*/reg-op\.s page 2 |
|
|
DEFINED SYMBOLS |
.*/reg-op\.s:3 \.text:0000000000000000 Main |
\*REG\*:0000000000000017 X |
\*REG\*:000000000000000c Y |
\*REG\*:0000000000000043 Z |
|
NO UNDEFINED SYMBOLS |
/reg-op.s
0,0 → 1,13
# All-registers, '$'-type operands. |
# |
Main FMUL X,Y,Z |
FCMP $32,Y,Z |
FADD Y,$32,Z |
FUN $232,$133,Z |
FEQL X,Y,$73 |
FREM $31,Y,$233 |
FSUB X,$38,$212 |
FEQLE $4,$175,$181 |
X IS $23 |
Y IS $12 |
Z IS $67 |
/basep-3.s
0,0 → 1,5
# PUSHGO is eligible for base-plus-offset addressing. |
GREG fn |
Main PUSHGO $42,fn |
SWYM 0 |
extfn POP 0,0 |
/save-op.d
0,0 → 1,9
# objdump: -dr |
.*: file format elf64-mmix |
|
Disassembly of section \.text: |
|
0000000000000000 <Main>: |
0: fa2d0000 save \$45,0 |
4: fa1f0000 save \$31,0 |
8: fa000000 save \$0,0 |
/relocl-n.d
0,0 → 1,27
#objdump: -dr |
#source: reloclab.s |
#as: -no-expand |
.*: file format elf64-mmix |
|
Disassembly of section \.text: |
|
0000000000000000 <Main>: |
0: f0000000 jmp 0 <Main> |
0: R_MMIX_ADDR27 foo\+0x8 |
4: f0000004 jmp 14 <here> |
8: f4080003 geta \$8,14 <here> |
c: 46630002 bod \$99,14 <here> |
10: fd000000 swym 0,0,0 |
|
0000000000000014 <here>: |
14: 42de0000 bz \$222,14 <here> |
14: R_MMIX_ADDR19 bar\+0x10 |
|
0000000000000018 <there>: |
18: f4040000 geta \$4,18 <there> |
18: R_MMIX_ADDR19 baz |
1c: f2070000 pushj \$7,1c <there\+0x4> |
1c: R_MMIX_ADDR19 foobar |
20: f1fffffe jmp 18 <there> |
24: f558fffd geta \$88,18 <there> |
28: 476ffffc bod \$111,18 <there> |
/list-pseudoints.l
0,0 → 1,19
GAS for MMIX .*/list-pseudoints.s page 1 |
|
|
1 start |
2 0000 424344EE tetra 0x424344ee |
3 start2 |
4 0004 00000000 octa 0xde0045007821329e |
4 DE004500 |
4 7821329E |
5 0010 07D9 wyde 2009 |
6 0012 99 byte 0x99 |
GAS for MMIX .*/list-pseudoints.s page 2 |
|
|
DEFINED SYMBOLS |
.*/list-pseudoints.s:1 .text:0000000000000000 start |
.*/list-pseudoints.s:3 .text:0000000000000004 start2 |
|
NO UNDEFINED SYMBOLS |
/save-op.l
0,0 → 1,18
GAS for MMIX .*/save-op.s page 1 |
|
|
1 #.* |
2 0000 FA2D0000 Main SAVE \$45,0 |
3 0004 FA1F0000 SAVE X,0 |
4 0008 FA000000 SAVE X0,0 |
5 X IS \$31 |
6 X0 IS \$0 |
GAS for MMIX .*/save-op.s page 2 |
|
|
DEFINED SYMBOLS |
.*/save-op.s:2 .text:0000000000000000 Main |
\*REG\*:000000000000001f X |
\*REG\*:0000000000000000 X0 |
|
NO UNDEFINED SYMBOLS |
/hex-r.d
0,0 → 1,11
# objdump: -dr |
# as: -linkrelax |
# source: hex.s |
.*: file format elf64-mmix |
|
Disassembly of section \.text: |
|
0000000000000000 <Main>: |
0: e3362009 setl \$54,0x2009 |
4: e320125e setl \$32,0x125e |
8: e31f00b1 setl \$31,0xb1 |
/list-textfirst
0,0 → 1,5
data |
here: |
tetra 42 |
.text |
set $1,$2 |
/round2-op.d
0,0 → 1,17
# objdump: -dr |
.*: file format elf64-mmix |
|
Disassembly of section \.text: |
|
0000000000000000 <Main>: |
0: 088700f4 flot \$135,\$244 |
4: 0a8700e9 flotu \$135,\$233 |
8: 0d85005b sflot \$133,91 |
c: 177b00f4 fint \$123,\$244 |
10: 0c8500f4 sflot \$133,\$244 |
14: 0987005b flot \$135,91 |
18: 0f7b005b sflotu \$123,91 |
1c: 05ad00e9 fix \$173,\$233 |
20: 0bad00d5 flotu \$173,213 |
24: 078700f4 fixu \$135,\$244 |
28: 0b870077 flotu \$135,119 |
/list-pseudoints.s
0,0 → 1,6
start |
tetra 0x424344ee |
start2 |
octa 0xde0045007821329e |
wyde 2009 |
byte 0x99 |
/sync-op-r.d
0,0 → 1,14
# objdump: -dr |
# as: -linkrelax |
# source: sync-op.s |
.*: file format elf64-mmix |
|
Disassembly of section .text: |
|
0000000000000000 <Main>: |
0: fc6e6406 sync 7234566 |
4: fc000000 sync 0 |
8: fc000001 sync 1 |
c: fc000000 sync 0 |
10: fc000001 sync 1 |
14: fc7c2242 sync 8135234 |
/save-op.s
0,0 → 1,6
# Test the 's'-type operand, SAVE. |
Main SAVE $45,0 |
SAVE X,0 |
SAVE X0,0 |
X IS $31 |
X0 IS $0 |
/op-0-1s.d
0,0 → 1,22
#objdump: -srt |
#source: op-0-1.s |
#as: -x |
|
.*: file format elf64-mmix |
SYMBOL TABLE: |
0+ l d \.text 0+ (|\.text) |
0+ l d \.data 0+ (|\.data) |
0+ l d \.bss 0+ (|\.bss) |
0+ l \*ABS\* 0+ zero0 |
0+ l \*ABS\* 0+ zero1 |
0+ l \*ABS\* 0+ zero2 |
0+ g F \.text 0+ Main |
RELOCATION RECORDS FOR \[\.text\]: |
OFFSET TYPE VALUE |
0+ R_MMIX_JMP \*ABS\* |
0+14 R_MMIX_GETA \*ABS\* |
0+24 R_MMIX_PUSHJ_STUBBABLE \*ABS\* |
Contents of section \.text: |
0000 f0000000 fd000000 fd000000 fd000000 .* |
0010 fd000000 f4070000 fd000000 fd000000 .* |
0020 fd000000 f2080000 .* |
/round2-op.l
0,0 → 1,28
GAS for MMIX .*/round2-op\.s page 1 |
|
|
1 #.* |
2 0000 088700F4 Main FLOT X,Z |
3 0004 0A8700E9 FLOTU X,\$233 |
4 0008 0D85005B SFLOT \$133,Z0 |
5 000c 177B00F4 FINT \$123,Z |
6 0010 0C8500F4 SFLOT \$133,Z |
7 0014 0987005B FLOT X,Z0 |
8 0018 0F7B005B SFLOTU \$123,Z0 |
9 001c 05AD00E9 FIX \$173,\$233 |
10 0020 0BAD00D5 FLOTU \$173,213 |
11 0024 078700F4 FIXU X,Z |
12 0028 0B870077 FLOTU X,119 |
13 X IS \$135 |
14 Z IS \$244 |
15 Z0 IS 91 |
GAS for MMIX .*/round2-op\.s page 2 |
|
|
DEFINED SYMBOLS |
.*/round2-op\.s:2 \.text:0000000000000000 Main |
\*REG\*:0000000000000087 X |
\*REG\*:00000000000000f4 Z |
\*ABS\*:000000000000005b Z0 |
|
NO UNDEFINED SYMBOLS |
/comment-3.d
0,0 → 1,19
#objdump: -srt |
|
.*: file format elf64-mmix |
|
SYMBOL TABLE: |
0000000000000000 l d \.text 0000000000000000 (|\.text) |
0000000000000000 l d \.data 0000000000000000 (|\.data) |
0000000000000000 l d \.bss 0000000000000000 (|\.bss) |
0000000000000000 l \.MMIX\.reg_contents 0000000000000000 im |
0000000000000000 l d \.MMIX\.reg_contents 0000000000000000 (|\.MMIX\.reg_contents) |
|
|
RELOCATION RECORDS FOR \[\.MMIX\.reg_contents\]: |
OFFSET TYPE VALUE |
0000000000000000 R_MMIX_64 \.text |
|
|
Contents of section \.MMIX\.reg_contents: |
0000 00000000 00000000 .* |
/err-bspec-4.s
0,0 → 1,7
% { dg-do assemble { target mmix-*-* } } |
Main SET $45,23 |
BSPEC 2 |
TETRA 4 |
ESPEC |
TETRA 5 |
ESPEC % { dg-error "ESPEC without preceding BSPEC" "" } |
/round2-op.s
0,0 → 1,15
# Two-operand variants of "R" and "I". |
Main FLOT X,Z |
FLOTU X,$233 |
SFLOT $133,Z0 |
FINT $123,Z |
SFLOT $133,Z |
FLOT X,Z0 |
SFLOTU $123,Z0 |
FIX $173,$233 |
FLOTU $173,213 |
FIXU X,Z |
FLOTU X,119 |
X IS $135 |
Z IS $244 |
Z0 IS 91 |
/odd-1.d
0,0 → 1,27
#objdump: -str |
|
# A few odd mmixal compatibility cases. |
|
.*: file format elf64-mmix |
|
SYMBOL TABLE: |
0+ l d \.text 0+ (|\.text) |
0+ l d \.data 0+ (|\.data) |
0+ l d \.bss 0+ (|\.bss) |
0+ l \.MMIX\.reg_contents 0+ small |
0+ l d \.MMIX\.reg_contents 0+ (|\.MMIX\.reg_contents) |
0+ g F \.text 0+ Main |
|
|
RELOCATION RECORDS FOR \[\.text\]: |
OFFSET TYPE VALUE |
0+7 R_MMIX_REG_OR_BYTE \.MMIX\.reg_contents |
0+f R_MMIX_REG \.MMIX\.reg_contents |
0+15 R_MMIX_REG \.MMIX\.reg_contents |
0+19 R_MMIX_REG \.MMIX\.reg_contents |
|
Contents of section \.text: |
0000 f9000000 ff016400 fb0000ff fb000000 .* |
0010 00000001 33000408 c1000200 0004022a .* |
Contents of section \.MMIX\.reg_contents: |
0000 00000000 00000abc .* |
/hex2.d
0,0 → 1,17
# objdump: -dr |
.*: file format elf64-mmix |
|
Disassembly of section \.text: |
|
0+ <x>: |
[ ]+0:[ ]+fd000000[ ]+swym 0,0,0 |
[ ]+4:[ ]+e309001f[ ]+setl \$9,0x1f |
[ ]+8:[ ]+e3081b2f[ ]+setl \$8,0x1b2f |
[ ]+c:[ ]+e307ff9f[ ]+setl \$7,0xff9f |
[ ]+10:[ ]+e3061f3a[ ]+setl \$6,0x1f3a |
[ ]+14:[ ]+e305001b[ ]+setl \$5,0x1b |
[ ]+18:[ ]+e3041a1b[ ]+setl \$4,0x1a1b |
[ ]+1c:[ ]+e303009f[ ]+setl \$3,0x9f |
[ ]+20:[ ]+e302009b[ ]+setl \$2,0x9b |
[ ]+24:[ ]+e301001f[ ]+setl \$1,0x1f |
[ ]+28:[ ]+e300001b[ ]+setl \$0,0x1b |
/greg4.d
0,0 → 1,28
#objdump: -str |
|
# Branches can have base-plus-offset operands too. |
|
.*: file format elf64-mmix |
|
SYMBOL TABLE: |
0+ l d \.text 0+ (|\.text) |
0+ l d \.data 0+ (|\.data) |
0+ l d \.bss 0+ (|\.bss) |
0+4 l \.text 0+ x |
0+ l d \.MMIX\.reg_contents 0+ (|\.MMIX\.reg_contents) |
|
|
RELOCATION RECORDS FOR \[\.text\]: |
OFFSET TYPE VALUE |
0+a R_MMIX_REG \.MMIX\.reg_contents |
|
|
RELOCATION RECORDS FOR \[\.MMIX\.reg_contents\]: |
OFFSET TYPE VALUE |
0+ R_MMIX_64 \.text |
|
|
Contents of section \.text: |
0000 fd000000 fd000001 9f000004 .* |
Contents of section \.MMIX\.reg_contents: |
0000 00000000 00000000 .* |
/pop-op-r.d
0,0 → 1,12
# objdump: -dr |
# as: -linkrelax |
# source: pop-op.s |
.*: file format elf64-mmix |
|
Disassembly of section \.text: |
|
0000000000000000 <Main>: |
0: f8840def pop 132,3567 |
4: f8845678 pop 132,22136 |
8: f8170def pop 23,3567 |
c: f8175678 pop 23,22136 |
/err-bpo6.s
0,0 → 1,21
% { dg-do assemble { target mmix-*-* } } |
|
# Test that we handle COMM-type symbols with base-plus-offset relocs, but |
# that we don't merge ones that may be separately merged with other |
# symbols at link-time. Likewise for weak symbols. |
.comm comm_symbol1,4,4 |
.lcomm comm_symbol3,4 |
GREG comm_symbol1 |
GREG comm_symbol3 |
GREG xx |
.weak xx |
xx: |
LDA $47,yy % { dg-error "no suitable GREG definition" "" } |
LDA $46,xx |
LDA $42,comm_symbol1 |
LDA $43,comm_symbol2 % { dg-error "no suitable GREG definition" "" } |
LDA $44,comm_symbol3 |
LDA $45,comm_symbol4 |
yy: |
.comm comm_symbol2,4,4 |
.lcomm comm_symbol4,4 |
/regt-op-r.d
0,0 → 1,136
# objdump: -dr |
# as: -linkrelax |
# source: regt-op.s |
.*: file format elf64-mmix |
|
Disassembly of section \.text: |
|
0000000000000000 <Main>: |
0: 22170c43 addu \$23,\$12,\$67 |
4: 88200c43 ldt \$32,\$12,\$67 |
8: 820c2043 ldbu \$12,\$32,\$67 |
c: 8ae88543 ldtu \$232,\$133,\$67 |
10: 8c170c49 ldo \$23,\$12,\$73 |
14: 8e1f0ce9 ldou \$31,\$12,\$233 |
18: 841726d4 ldw \$23,\$38,\$212 |
1c: 8604afb5 ldwu \$4,\$175,\$181 |
20: 81170cb0 ldb \$23,\$12,176 |
24: 91200cb0 ldsf \$32,\$12,176 |
28: 990c20b0 ldvts \$12,\$32,176 |
2c: 97e885b0 ldunc \$232,\$133,176 |
30: b3170ccb stht \$23,\$12,203 |
34: 931f0cd5 ldht \$31,\$12,213 |
38: 951726d3 cswap \$23,\$38,211 |
3c: 9f04afa1 go \$4,\$175,161 |
40: 23170c00 addu \$23,\$12,0 |
44: 81170c00 ldb \$23,\$12,0 |
48: 89170c00 ldt \$23,\$12,0 |
4c: 83170c00 ldbu \$23,\$12,0 |
50: 8b170c00 ldtu \$23,\$12,0 |
54: 8d170c00 ldo \$23,\$12,0 |
58: 8f170c00 ldou \$23,\$12,0 |
5c: 85170c00 ldw \$23,\$12,0 |
60: 87170c00 ldwu \$23,\$12,0 |
64: 91170c00 ldsf \$23,\$12,0 |
68: 93170c00 ldht \$23,\$12,0 |
6c: 95170c00 cswap \$23,\$12,0 |
70: 97170c00 ldunc \$23,\$12,0 |
74: 99170c00 ldvts \$23,\$12,0 |
78: 9f170c00 go \$23,\$12,0 |
7c: a1170c00 stb \$23,\$12,0 |
80: a9170c00 stt \$23,\$12,0 |
84: a3170c00 stbu \$23,\$12,0 |
88: ab170c00 sttu \$23,\$12,0 |
8c: ad170c00 sto \$23,\$12,0 |
90: af170c00 stou \$23,\$12,0 |
94: a5170c00 stw \$23,\$12,0 |
98: a7170c00 stwu \$23,\$12,0 |
9c: b1170c00 stsf \$23,\$12,0 |
a0: b3170c00 stht \$23,\$12,0 |
a4: b7170c00 stunc \$23,\$12,0 |
a8: 23290c00 addu \$41,\$12,0 |
ac: 81790c00 ldb \$121,\$12,0 |
b0: 894e0c00 ldt \$78,\$12,0 |
b4: 837f0c00 ldbu \$127,\$12,0 |
b8: 8b310c00 ldtu \$49,\$12,0 |
bc: 8d340c00 ldo \$52,\$12,0 |
c0: 8f2a0c00 ldou \$42,\$12,0 |
c4: 857b0c00 ldw \$123,\$12,0 |
c8: 87ea0c00 ldwu \$234,\$12,0 |
cc: 91290c00 ldsf \$41,\$12,0 |
d0: 93590c00 ldht \$89,\$12,0 |
d4: 955d0c00 cswap \$93,\$12,0 |
d8: 972a0c00 ldunc \$42,\$12,0 |
dc: 99210c00 ldvts \$33,\$12,0 |
e0: 9f3b0c00 go \$59,\$12,0 |
e4: a13b0c00 stb \$59,\$12,0 |
e8: a93b0c00 stt \$59,\$12,0 |
ec: a33b0c00 stbu \$59,\$12,0 |
f0: ab3b0c00 sttu \$59,\$12,0 |
f4: ad3b0c00 sto \$59,\$12,0 |
f8: af3b0c00 stou \$59,\$12,0 |
fc: a53b0c00 stw \$59,\$12,0 |
100: a73b0c00 stwu \$59,\$12,0 |
104: b13b0c00 stsf \$59,\$12,0 |
108: b33b0c00 stht \$59,\$12,0 |
10c: b73b0c00 stunc \$59,\$12,0 |
110: 23171b00 addu \$23,\$27,0 |
114: 81173000 ldb \$23,\$48,0 |
118: 8917a800 ldt \$23,\$168,0 |
11c: 8317ea00 ldbu \$23,\$234,0 |
120: 8b17b000 ldtu \$23,\$176,0 |
124: 8d171d00 ldo \$23,\$29,0 |
128: 8f17de00 ldou \$23,\$222,0 |
12c: 8517de00 ldw \$23,\$222,0 |
130: 8717de00 ldwu \$23,\$222,0 |
134: 9117de00 ldsf \$23,\$222,0 |
138: 9317de00 ldht \$23,\$222,0 |
13c: 9517de00 cswap \$23,\$222,0 |
140: 9717de00 ldunc \$23,\$222,0 |
144: 9917de00 ldvts \$23,\$222,0 |
148: 9f17de00 go \$23,\$222,0 |
14c: a117de00 stb \$23,\$222,0 |
150: a917de00 stt \$23,\$222,0 |
154: a317de00 stbu \$23,\$222,0 |
158: ab17de00 sttu \$23,\$222,0 |
15c: ad17de00 sto \$23,\$222,0 |
160: af17de00 stou \$23,\$222,0 |
164: a517de00 stw \$23,\$222,0 |
168: a717de00 stwu \$23,\$222,0 |
16c: b117de00 stsf \$23,\$222,0 |
170: b317de00 stht \$23,\$222,0 |
174: b717de00 stunc \$23,\$222,0 |
178: 23dfdb00 addu \$223,\$219,0 |
17c: 81dfef00 ldb \$223,\$239,0 |
180: 89dfef00 ldt \$223,\$239,0 |
184: 83df1d00 ldbu \$223,\$29,0 |
188: 8bdfef00 ldtu \$223,\$239,0 |
18c: 8d17ef00 ldo \$23,\$239,0 |
190: 8fdfef00 ldou \$223,\$239,0 |
194: 85dfd100 ldw \$223,\$209,0 |
198: 877bef00 ldwu \$123,\$239,0 |
19c: 91dfef00 ldsf \$223,\$239,0 |
1a0: 93df1d00 ldht \$223,\$29,0 |
1a4: 95dfef00 cswap \$223,\$239,0 |
1a8: 977bef00 ldunc \$123,\$239,0 |
1ac: 99dfef00 ldvts \$223,\$239,0 |
1b0: 9fdfef00 go \$223,\$239,0 |
1b4: a1dfef00 stb \$223,\$239,0 |
1b8: a9dff900 stt \$223,\$249,0 |
1bc: a3cbef00 stbu \$203,\$239,0 |
1c0: ab49ef00 sttu \$73,\$239,0 |
1c4: addfef00 sto \$223,\$239,0 |
1c8: afdf2700 stou \$223,\$39,0 |
1cc: a5dfef00 stw \$223,\$239,0 |
1d0: a7e9ef00 stwu \$233,\$239,0 |
1d4: b1dfef00 stsf \$223,\$239,0 |
1d8: b3df1700 stht \$223,\$23,0 |
1dc: b7dfef00 stunc \$223,\$239,0 |
1e0: 9f170c00 go \$23,\$12,0 |
1e4: 99200c00 ldvts \$32,\$12,0 |
1e8: a10c2000 stb \$12,\$32,0 |
1ec: b7e88500 stunc \$232,\$133,0 |
1f0: a7170c00 stwu \$23,\$12,0 |
1f4: ad1f0c00 sto \$31,\$12,0 |
1f8: 9f172600 go \$23,\$38,0 |
1fc: 9504af00 cswap \$4,\$175,0 |
/reloclrn.d
0,0 → 1,33
# objdump: -dr |
# as: -linkrelax -no-expand |
# source: reloclab.s |
.*: file format elf64-mmix |
|
Disassembly of section \.text: |
|
0000000000000000 <Main>: |
0: f0000000 jmp 0 <Main> |
0: R_MMIX_ADDR27 foo\+0x8 |
4: f0000000 jmp 4 <Main\+0x4> |
4: R_MMIX_ADDR27 \.text\+0x14 |
8: f4080000 geta \$8,8 <Main\+0x8> |
8: R_MMIX_ADDR19 \.text\+0x14 |
c: 46630000 bod \$99,c <Main\+0xc> |
c: R_MMIX_ADDR19 \.text\+0x14 |
10: fd000000 swym 0,0,0 |
|
0000000000000014 <here>: |
14: 42de0000 bz \$222,14 <here> |
14: R_MMIX_ADDR19 bar\+0x10 |
|
0000000000000018 <there>: |
18: f4040000 geta \$4,18 <there> |
18: R_MMIX_ADDR19 baz |
1c: f2070000 pushj \$7,1c <there\+0x4> |
1c: R_MMIX_ADDR19 foobar |
20: f0000000 jmp 20 <there\+0x8> |
20: R_MMIX_ADDR27 \.text\+0x18 |
24: f4580000 geta \$88,24 <there\+0xc> |
24: R_MMIX_ADDR19 \.text\+0x18 |
28: 466f0000 bod \$111,28 <there\+0x10> |
28: R_MMIX_ADDR19 \.text\+0x18 |
/pushgo-op-r.d
0,0 → 1,64
# objdump: -dr |
# as: -linkrelax |
# source: pushgo-op.s |
.*: file format elf64-mmix |
|
Disassembly of section \.text: |
|
0000000000000000 <Main>: |
0: be170c43 pushgo \$23,\$12,\$67 |
4: becb0c43 pushgo \$203,\$12,\$67 |
8: be200c43 pushgo \$32,\$12,\$67 |
c: be200c43 pushgo \$32,\$12,\$67 |
10: be172043 pushgo \$23,\$32,\$67 |
14: becb2043 pushgo \$203,\$32,\$67 |
18: bee88543 pushgo \$232,\$133,\$67 |
1c: bee88543 pushgo \$232,\$133,\$67 |
20: be170c49 pushgo \$23,\$12,\$73 |
24: becb0c49 pushgo \$203,\$12,\$73 |
28: be1f0ce9 pushgo \$31,\$12,\$233 |
2c: be1f0ce9 pushgo \$31,\$12,\$233 |
30: be1726d4 pushgo \$23,\$38,\$212 |
34: becb26d4 pushgo \$203,\$38,\$212 |
38: be04afb5 pushgo \$4,\$175,\$181 |
3c: be04afb5 pushgo \$4,\$175,\$181 |
40: bf170cb0 pushgo \$23,\$12,176 |
44: bfcb0cb0 pushgo \$203,\$12,176 |
48: bf200cb0 pushgo \$32,\$12,176 |
4c: bf200cb0 pushgo \$32,\$12,176 |
50: bf1720b0 pushgo \$23,\$32,176 |
54: bfcb20b0 pushgo \$203,\$32,176 |
58: bfe885b0 pushgo \$232,\$133,176 |
5c: bfe885b0 pushgo \$232,\$133,176 |
60: bf170ccb pushgo \$23,\$12,203 |
64: bfcb0ccb pushgo \$203,\$12,203 |
68: bf1f0cd5 pushgo \$31,\$12,213 |
6c: bf1f0cd5 pushgo \$31,\$12,213 |
70: bf1726d3 pushgo \$23,\$38,211 |
74: bfcb26d3 pushgo \$203,\$38,211 |
78: bf04afa1 pushgo \$4,\$175,161 |
7c: bf04afa1 pushgo \$4,\$175,161 |
80: bf170c00 pushgo \$23,\$12,0 |
84: bfcb0c00 pushgo \$203,\$12,0 |
88: bf290c00 pushgo \$41,\$12,0 |
8c: bff10c00 pushgo \$241,\$12,0 |
90: bf171b00 pushgo \$23,\$27,0 |
94: bfcb3000 pushgo \$203,\$48,0 |
98: bfdfdb00 pushgo \$223,\$219,0 |
9c: bfdfe500 pushgo \$223,\$229,0 |
a0: bf170c00 pushgo \$23,\$12,0 |
a4: bfcb0c00 pushgo \$203,\$12,0 |
a8: bf200c00 pushgo \$32,\$12,0 |
ac: bf200c00 pushgo \$32,\$12,0 |
b0: bf172000 pushgo \$23,\$32,0 |
b4: bfcb2000 pushgo \$203,\$32,0 |
b8: bfe88500 pushgo \$232,\$133,0 |
bc: bfe88500 pushgo \$232,\$133,0 |
c0: bf170c00 pushgo \$23,\$12,0 |
c4: bfcb0c00 pushgo \$203,\$12,0 |
c8: bf1f0c00 pushgo \$31,\$12,0 |
cc: bf1f0c00 pushgo \$31,\$12,0 |
d0: bf172600 pushgo \$23,\$38,0 |
d4: bfcb2600 pushgo \$203,\$38,0 |
d8: bf04af00 pushgo \$4,\$175,0 |
dc: bf04af00 pushgo \$4,\$175,0 |
/comment-3.s
0,0 → 1,2
# If we aren't careful, '@' will be considered an operator. |
im GREG @ home |
/err-loc-3.s
0,0 → 1,4
% { dg-do assemble { target mmix-*-* } } |
LOC (#20 << 56) + #202 |
TETRA 1 |
OCTA 1 % { dg-error "data item with alignment larger than location" "" } |
/odd-1.s
0,0 → 1,9
small GREG #abc |
Main RESUME |
TRIP 1,$100,small |
UNSAVE $255 |
UNSAVE small |
TRAP 0,$1 |
CMPU small,$4,rC |
SET small,$2 |
BYTE 0,4,rE,#2a |
/hex2.s
0,0 → 1,15
x: |
swym |
0: |
setl $9,#1F |
1: |
setl $8,#1B2F |
setl $7,0xFF9F |
setl $6,#1F3A |
9: |
setl $5,#1B |
setl $4,#1A1B |
setl $3,0x9F |
setl $2,0x9B |
setl $1,0x1F |
setl $0,0x1b |
/greg4.s
0,0 → 1,4
GREG @ |
SWYM 0 |
x SWYM 1 |
GO $0,x |
/err-byte1.s
0,0 → 1,11
% { dg-do assemble { target mmix-*-* } } |
% { dg-error "unterminated string|missing closing" "" { target mmix-*-* } 10 } |
% { dg-bogus "end of file" "" { xfail mmix-*-* } 0 } |
|
# Note that the error is detected in the preformatter, before the text |
# gets to the assembler. It also gets confused about the unterminated |
# string. Well, at least we get error messages for it, so no worries. |
|
Main SWYM 0,0,0 |
BYTE 2,"no end |
BYTE 0 |
/basep-4.d
0,0 → 1,14
#source: err-bpo2.s |
#as: -linker-allocated-gregs |
#objdump: -dr |
|
# The -linker-allocated-gregs option validates omissions of GREG. |
|
.*: file format elf64-mmix |
|
Disassembly of section \.text: |
|
0+ <a>: |
0: 0000002a trap 0,0,42 |
4: 8d2b0000 ldo \$43,\$0,0 |
6: R_MMIX_BASE_PLUS_OFFSET \.text\+0x34 |
/jump-c.d
0,0 → 1,28
#as: -x |
#objdump: -tdr |
|
.*: file format elf64-mmix |
|
SYMBOL TABLE: |
0+ l d .text 0+ (|\.text) |
0+ l d .data 0+ (|\.data) |
0+ l d .bss 0+ (|\.bss) |
ffff0000ffff0000 l \*ABS\* 0+ i1 |
ffff0000ffff0000 l \*ABS\* 0+ i2 |
0+ g F .text 0+ Main |
|
Disassembly of section .text: |
|
0+ <Main>: |
0: f0000000 jmp 0 <Main> |
0: R_MMIX_JMP \*ABS\*\+0xffff0000ffff0000 |
4: fd000000 swym 0,0,0 |
8: fd000000 swym 0,0,0 |
c: fd000000 swym 0,0,0 |
10: fd000000 swym 0,0,0 |
14: f0000000 jmp 14 <Main\+0x14> |
14: R_MMIX_JMP i2 |
18: fd000000 swym 0,0,0 |
1c: fd000000 swym 0,0,0 |
20: fd000000 swym 0,0,0 |
24: fd000000 swym 0,0,0 |
/err-ser-1.s
0,0 → 1,10
% { dg-do assemble { target mmix-*-* } } |
% { dg-bogus "bad expression" "" { xfail mmix-*-* } 9 } |
% { dg-bogus "bad expression" "" { xfail mmix-*-* } 10 } |
|
% Make sure we correctly diagnose the serial-number operator. |
% We can't stop the "bad expression" error, though; hence the "bogus" errors. |
|
a IS 42 |
Main TETRA &a<<8 { dg-error "serial number operator is not supported" "" } |
TETRA 3+&a<<8 { dg-error "serial number operator is not supported" "" } |
/basep-3b.d
0,0 → 1,17
#source: basep-3.s |
#as: -linker-allocated-gregs |
#objdump: -dr |
|
# Check that this test isn't mistreated with -linker-allocated-gregs. |
|
.*: file format elf64-mmix |
|
Disassembly of section \.text: |
|
0+ <Main>: |
0: bf2a0000 pushgo \$42,\$0,0 |
2: R_MMIX_REG \.MMIX\.reg_contents |
4: fd000000 swym 0,0,0 |
|
0+8 <extfn>: |
8: f8000000 pop 0,0 |
/relocxrn.d
0,0 → 1,14
# objdump: -dr |
# as: -no-expand -linkrelax |
# source: reloc16.s |
.*: file format elf64-mmix |
|
Disassembly of section \.text: |
|
0000000000000000 <Main>: |
0: e3040000 setl \$4,0x0 |
2: R_MMIX_16 foo |
4: f82d0000 pop 45,0 |
6: R_MMIX_16 bar\+0x2a |
8: fd2a0000 swym 42,0,0 |
a: R_MMIX_16 baz\+0xfffffffffffff6d7 |
/list-in-rn.d
0,0 → 1,315
# objdump: -dr |
# as: -no-expand -linkrelax |
# source: list-insns.s |
.*: file format elf64-mmix |
|
Disassembly of section \.text: |
|
0000000000000000 <Main>: |
0: 00000003 trap 0,0,3 |
4: 00030405 trap 3,4,5 |
8: 010c17f1 fcmp \$12,\$23,\$241 |
c: 08700129 flot \$112,ROUND_OFF,\$41 |
10: 0970048d flot \$112,ROUND_NEAR,141 |
14: 08bf00f2 flot \$191,\$242 |
18: 09c3002a flot \$195,42 |
1c: 027acb04 fun \$122,\$203,\$4 |
20: 03661e28 feql \$102,\$30,\$40 |
24: 0a66000e flotu \$102,\$14 |
28: 0a84020e flotu \$132,ROUND_UP,\$14 |
2c: 0a660368 flotu \$102,ROUND_DOWN,\$104 |
30: 0aac048c flotu \$172,ROUND_NEAR,\$140 |
34: 0a010186 flotu \$1,ROUND_OFF,\$134 |
38: 0470df29 fadd \$112,\$223,\$41 |
3c: 05700129 fix \$112,ROUND_OFF,\$41 |
40: 050b008d fix \$11,\$141 |
44: 0c700129 sflot \$112,ROUND_OFF,\$41 |
48: 0d70048d sflot \$112,ROUND_NEAR,141 |
4c: 0670df29 fsub \$112,\$223,\$41 |
50: 0766000e fixu \$102,\$14 |
54: 0784020e fixu \$132,ROUND_UP,\$14 |
58: 0e0b008d sflotu \$11,\$141 |
5c: 0f70008d sflotu \$112,141 |
60: 0f70048d sflotu \$112,ROUND_NEAR,141 |
64: 0e700129 sflotu \$112,ROUND_OFF,\$41 |
68: 10661e28 fmul \$102,\$30,\$40 |
6c: 110cdf01 fcmpe \$12,\$223,\$1 |
70: 197acb2c mul \$122,\$203,44 |
74: 18661e28 mul \$102,\$30,\$40 |
78: 130cdf01 feqle \$12,\$223,\$1 |
7c: 120cdf0b fune \$12,\$223,\$11 |
80: 1b7ad52c mulu \$122,\$213,44 |
84: 1a841e28 mulu \$132,\$30,\$40 |
88: 140cdf0b fdiv \$12,\$223,\$11 |
8c: 1584020e fsqrt \$132,ROUND_UP,\$14 |
90: 150b008d fsqrt \$11,\$141 |
94: 1d7ad52c div \$122,\$213,44 |
98: 1c841e28 div \$132,\$30,\$40 |
9c: 160cdf0b frem \$12,\$223,\$11 |
a0: 1784020e fint \$132,ROUND_UP,\$14 |
a4: 170b008d fint \$11,\$141 |
a8: 1e0cdf01 divu \$12,\$223,\$1 |
ac: 1f7acbff divu \$122,\$203,255 |
b0: 200cdf01 add \$12,\$223,\$1 |
b4: 217acbff add \$122,\$203,255 |
b8: 280cdf0b 2addu \$12,\$223,\$11 |
bc: 297acb00 2addu \$122,\$203,0 |
c0: 237acbff addu \$122,\$203,255 |
c4: 220cdf0b addu \$12,\$223,\$11 |
c8: 237acbff addu \$122,\$203,255 |
cc: 220cdf0b addu \$12,\$223,\$11 |
d0: 2b7acbcd 4addu \$122,\$203,205 |
d4: 2a0cdf6f 4addu \$12,\$223,\$111 |
d8: 240cdf0b sub \$12,\$223,\$11 |
dc: 257acbcd sub \$122,\$203,205 |
e0: 2c0cdf0b 8addu \$12,\$223,\$11 |
e4: 2d7acbcd 8addu \$122,\$203,205 |
e8: 2602df0b subu \$2,\$223,\$11 |
ec: 270c14cd subu \$12,\$20,205 |
f0: 2e02df0b 16addu \$2,\$223,\$11 |
f4: 2f0c14cd 16addu \$12,\$20,205 |
f8: 3002df0b cmp \$2,\$223,\$11 |
fc: 310c14cd cmp \$12,\$20,205 |
100: 3802df0b sl \$2,\$223,\$11 |
104: 390c14cd sl \$12,\$20,205 |
108: 3202df0b cmpu \$2,\$223,\$11 |
10c: 330c14cd cmpu \$12,\$20,205 |
110: 3a02df0b slu \$2,\$223,\$11 |
114: 3b0c14cd slu \$12,\$20,205 |
118: 3402170b neg \$2,23,\$11 |
11c: 350c00cd neg \$12,0,205 |
120: 35c00acd neg \$192,10,205 |
124: 3d0c14cd sr \$12,\$20,205 |
128: 3c02df0b sr \$2,\$223,\$11 |
12c: 3602170b negu \$2,23,\$11 |
130: 370c00cd negu \$12,0,205 |
134: 3f0c14cd sru \$12,\$20,205 |
138: 3e02df0b sru \$2,\$223,\$11 |
13c: 40020000 bn \$2,.* |
13c: R_MMIX_ADDR19 \.text\+0x140 |
140: 40020000 bn \$2,.* |
140: R_MMIX_ADDR19 \.text\+0x13c |
144: 48020000 bnn \$2,.* |
144: R_MMIX_ADDR19 \.text\+0x140 |
148: 48020000 bnn \$2,.* |
148: R_MMIX_ADDR19 \.text\+0x144 |
14c: 42ff0000 bz \$255,.* |
14c: R_MMIX_ADDR19 \.text\+0x150 |
150: 42ff0000 bz \$255,.* |
150: R_MMIX_ADDR19 \.text\+0x14c |
154: 4aff0000 bnz \$255,.* |
154: R_MMIX_ADDR19 \.text\+0x158 |
158: 4aff0000 bnz \$255,.* |
158: R_MMIX_ADDR19 \.text\+0x154 |
15c: 44190000 bp \$25,.* |
15c: R_MMIX_ADDR19 \.text\+0x160 |
160: 44190000 bp \$25,.* |
160: R_MMIX_ADDR19 \.text\+0x15c |
164: 4c190000 bnp \$25,.* |
164: R_MMIX_ADDR19 \.text\+0x168 |
168: 4c190000 bnp \$25,.* |
168: R_MMIX_ADDR19 \.text\+0x164 |
16c: 46190000 bod \$25,.* |
16c: R_MMIX_ADDR19 \.text\+0x170 |
170: 46190000 bod \$25,.* |
170: R_MMIX_ADDR19 \.text\+0x16c |
174: 4e190000 bev \$25,.* |
174: R_MMIX_ADDR19 \.text\+0x178 |
178: 4e190000 bev \$25,.* |
178: R_MMIX_ADDR19 \.text\+0x174 |
17c: 50020000 pbn \$2,.* |
17c: R_MMIX_ADDR19 \.text\+0x180 |
180: 50020000 pbn \$2,.* |
180: R_MMIX_ADDR19 \.text\+0x17c |
184: 58020000 pbnn \$2,.* |
184: R_MMIX_ADDR19 \.text\+0x188 |
188: 58020000 pbnn \$2,.* |
188: R_MMIX_ADDR19 \.text\+0x184 |
18c: 520c0000 pbz \$12,.* |
18c: R_MMIX_ADDR19 \.text\+0x190 |
190: 52160000 pbz \$22,.* |
190: R_MMIX_ADDR19 \.text\+0x18c |
194: 5a200000 pbnz \$32,.* |
194: R_MMIX_ADDR19 \.text\+0x198 |
198: 5a340000 pbnz \$52,.* |
198: R_MMIX_ADDR19 \.text\+0x194 |
19c: 56190000 pbod \$25,.* |
19c: R_MMIX_ADDR19 \.text\+0x1a0 |
1a0: 56190000 pbod \$25,.* |
1a0: R_MMIX_ADDR19 \.text\+0x19c |
1a4: 5e190000 pbev \$25,.* |
1a4: R_MMIX_ADDR19 \.text\+0x1a8 |
1a8: 5e190000 pbev \$25,.* |
1a8: R_MMIX_ADDR19 \.text\+0x1a4 |
1ac: 6002df0b csn \$2,\$223,\$11 |
1b0: 610c14cd csn \$12,\$20,205 |
1b4: 6802df0b csnn \$2,\$223,\$11 |
1b8: 690c14cd csnn \$12,\$20,205 |
1bc: 6202cb0b csz \$2,\$203,\$11 |
1c0: 630cc8cd csz \$12,\$200,205 |
1c4: 6a02cb0b csnz \$2,\$203,\$11 |
1c8: 6b0cc8cd csnz \$12,\$200,205 |
1cc: 6402cb0b csp \$2,\$203,\$11 |
1d0: 650cc8cd csp \$12,\$200,205 |
1d4: 6c02cb0b csnp \$2,\$203,\$11 |
1d8: 6d0cc8cd csnp \$12,\$200,205 |
1dc: 6602cb0b csod \$2,\$203,\$11 |
1e0: 670cc8cd csod \$12,\$200,205 |
1e4: 6e02cb0b csev \$2,\$203,\$11 |
1e8: 6f0cc8cd csev \$12,\$200,205 |
1ec: 7002df0b zsn \$2,\$223,\$11 |
1f0: 710c14cd zsn \$12,\$20,205 |
1f4: 7802df0b zsnn \$2,\$223,\$11 |
1f8: 790c14cd zsnn \$12,\$20,205 |
1fc: 7202cb0b zsz \$2,\$203,\$11 |
200: 730cc8cd zsz \$12,\$200,205 |
204: 7a02cb0b zsnz \$2,\$203,\$11 |
208: 7b0cc8cd zsnz \$12,\$200,205 |
20c: 7402cb0b zsp \$2,\$203,\$11 |
210: 750cc8cd zsp \$12,\$200,205 |
214: 7c02cb0b zsnp \$2,\$203,\$11 |
218: 7d0cc8cd zsnp \$12,\$200,205 |
21c: 7602cb0b zsod \$2,\$203,\$11 |
220: 770cc8cd zsod \$12,\$200,205 |
224: 7e02cb0b zsev \$2,\$203,\$11 |
228: 7f0cc8cd zsev \$12,\$200,205 |
22c: 8002000b ldb \$2,\$0,\$11 |
230: 810c14cd ldb \$12,\$20,205 |
234: 8802000b ldt \$2,\$0,\$11 |
238: 890c14cd ldt \$12,\$20,205 |
23c: 8202000b ldbu \$2,\$0,\$11 |
240: 830c14cd ldbu \$12,\$20,205 |
244: 8a02000b ldtu \$2,\$0,\$11 |
248: 8b0c14cd ldtu \$12,\$20,205 |
24c: 8402000b ldw \$2,\$0,\$11 |
250: 850c14cd ldw \$12,\$20,205 |
254: 8c02000b ldo \$2,\$0,\$11 |
258: 8d0c14cd ldo \$12,\$20,205 |
25c: 8602000b ldwu \$2,\$0,\$11 |
260: 870c14cd ldwu \$12,\$20,205 |
264: 8e02000b ldou \$2,\$0,\$11 |
268: 8f0c14cd ldou \$12,\$20,205 |
26c: 9802000b ldvts \$2,\$0,\$11 |
270: 990c14cd ldvts \$12,\$20,205 |
274: 9202000b ldht \$2,\$0,\$11 |
278: 930c14cd ldht \$12,\$20,205 |
27c: 9b7014cd preld 112,\$20,205 |
280: 9a7014e1 preld 112,\$20,\$225 |
284: 9402000b cswap \$2,\$0,\$11 |
288: 950c14cd cswap \$12,\$20,205 |
28c: 9d7014cd prego 112,\$20,205 |
290: 9c7014e1 prego 112,\$20,\$225 |
294: 9602000b ldunc \$2,\$0,\$11 |
298: 970c14cd ldunc \$12,\$20,205 |
29c: 9e02000b go \$2,\$0,\$11 |
2a0: 9f0c14cd go \$12,\$20,205 |
2a4: a0020a97 stb \$2,\$10,\$151 |
2a8: a10c14cd stb \$12,\$20,205 |
2ac: a8200a97 stt \$32,\$10,\$151 |
2b0: a90c14cd stt \$12,\$20,205 |
2b4: a2020a97 stbu \$2,\$10,\$151 |
2b8: a30c14cd stbu \$12,\$20,205 |
2bc: aa200a97 sttu \$32,\$10,\$151 |
2c0: ab0c14cd sttu \$12,\$20,205 |
2c4: a4020a97 stw \$2,\$10,\$151 |
2c8: a50cdccd stw \$12,\$220,205 |
2cc: ac20aa97 sto \$32,\$170,\$151 |
2d0: adb614f5 sto \$182,\$20,245 |
2d4: a6020a97 stwu \$2,\$10,\$151 |
2d8: a70cdccd stwu \$12,\$220,205 |
2dc: ae20aa97 stou \$32,\$170,\$151 |
2e0: afb614f5 stou \$182,\$20,245 |
2e4: b020aa97 stsf \$32,\$170,\$151 |
2e8: b1b614f5 stsf \$182,\$20,245 |
2ec: b97014cd syncd 112,\$20,205 |
2f0: b87014e1 syncd 112,\$20,\$225 |
2f4: b220aa97 stht \$32,\$170,\$151 |
2f8: b3b614f5 stht \$182,\$20,245 |
2fc: bb7014cd prest 112,\$20,205 |
300: ba7014e1 prest 112,\$20,\$225 |
304: b420aa97 stco 32,\$170,\$151 |
308: b5b614f5 stco 182,\$20,245 |
30c: bd7014cd syncid 112,\$20,205 |
310: bc0014e1 syncid 0,\$20,\$225 |
314: b620aa97 stunc \$32,\$170,\$151 |
318: b7b614f5 stunc \$182,\$20,245 |
31c: be20aa97 pushgo \$32,\$170,\$151 |
320: bfb614f5 pushgo \$182,\$20,245 |
324: c18ec800 set \$142,\$200 |
328: c020aa97 or \$32,\$170,\$151 |
32c: c1b614f5 or \$182,\$20,245 |
330: c820aa97 and \$32,\$170,\$151 |
334: c9b614f5 and \$182,\$20,245 |
338: c220aa97 orn \$32,\$170,\$151 |
33c: c3b614f5 orn \$182,\$20,245 |
340: ca20aa97 andn \$32,\$170,\$151 |
344: cbb614f5 andn \$182,\$20,245 |
348: c420aa97 nor \$32,\$170,\$151 |
34c: c5b614f5 nor \$182,\$20,245 |
350: cc20aa97 nand \$32,\$170,\$151 |
354: cdb614f5 nand \$182,\$20,245 |
358: c620aa97 xor \$32,\$170,\$151 |
35c: c7b614f5 xor \$182,\$20,245 |
360: ce20aa97 nxor \$32,\$170,\$151 |
364: cfb614f5 nxor \$182,\$20,245 |
368: d020aa97 bdif \$32,\$170,\$151 |
36c: d1b614f5 bdif \$182,\$20,245 |
370: d820aa97 mux \$32,\$170,\$151 |
374: d9b614f5 mux \$182,\$20,245 |
378: d220aa97 wdif \$32,\$170,\$151 |
37c: d3b614f5 wdif \$182,\$20,245 |
380: da20aa97 sadd \$32,\$170,\$151 |
384: dbb600f5 sadd \$182,\$0,245 |
388: d420aa97 tdif \$32,\$170,\$151 |
38c: d5b614f5 tdif \$182,\$20,245 |
390: dc20aa97 mor \$32,\$170,\$151 |
394: ddb614f5 mor \$182,\$20,245 |
398: d620aa97 odif \$32,\$170,\$151 |
39c: d7b614f5 odif \$182,\$20,245 |
3a0: de201197 mxor \$32,\$17,\$151 |
3a4: df52b418 mxor \$82,\$180,24 |
3a8: e004ffff seth \$4,0xffff |
3ac: e05e0000 seth \$94,0x0 |
3b0: e00400ff seth \$4,0xff |
3b4: e05e04d2 seth \$94,0x4d2 |
3b8: e15e04d2 setmh \$94,0x4d2 |
3bc: e85e04d2 orh \$94,0x4d2 |
3c0: e95e04d2 ormh \$94,0x4d2 |
3c4: e25e04d2 setml \$94,0x4d2 |
3c8: e35e04d2 setl \$94,0x4d2 |
3cc: ea5e04d2 orml \$94,0x4d2 |
3d0: eb5e04d2 orl \$94,0x4d2 |
3d4: e45e04d2 inch \$94,0x4d2 |
3d8: e55e04d2 incmh \$94,0x4d2 |
3dc: ec5e04d2 andnh \$94,0x4d2 |
3e0: ed5e04d2 andnmh \$94,0x4d2 |
3e4: e65e04d2 incml \$94,0x4d2 |
3e8: e75e04d2 incl \$94,0x4d2 |
3ec: ee5e04d2 andnml \$94,0x4d2 |
3f0: ef5e04d2 andnl \$94,0x4d2 |
3f4: f0000000 jmp .* |
3f4: R_MMIX_ADDR27 \.text\+0x3f0 |
3f8: f0000000 jmp .* |
3f8: R_MMIX_ADDR27 \.text\+0x3fc |
3fc: f82afffe pop 42,65534 |
400: f90000ff resume 255 |
404: f9000000 resume 0 |
408: f9000001 resume 1 |
40c: f2190000 pushj \$25,.* |
40c: R_MMIX_ADDR19 \.text\+0x410 |
410: f2190000 pushj \$25,.* |
410: R_MMIX_ADDR19 \.text\+0x40c |
414: fa040000 save \$4,0 |
418: fb0000ea unsave 0,\$234 |
41c: f4190000 geta \$25,.* |
41c: R_MMIX_ADDR19 \.text\+0x420 |
420: f4190000 geta \$25,.* |
420: R_MMIX_ADDR19 \.text\+0x41c |
424: fc7a1201 sync 8000001 |
428: fd010203 swym 1,2,3 |
42c: fd000000 swym 0,0,0 |
430: f7040022 put rJ,34 |
434: f6040086 put rJ,\$134 |
438: feea0004 get \$234,rJ |
43c: ff000000 trip 0,0,0 |
440: ff050607 trip 5,6,7 |
/1cjmp1b.d
0,0 → 1,10
# objdump: -dr |
.*: file format elf64-mmix |
|
Disassembly of section \.text: |
|
0000000000000000 <Main>: |
0: fd000000 swym 0,0,0 |
4: f0000001 jmp 8 <Main\+0x8> |
8: f0000000 jmp 8 <Main\+0x8> |
c: f1ffffff jmp 8 <Main\+0x8> |
/1cjmp1b.l
0,0 → 1,14
GAS for MMIX .*/1cjmp1b.s page 1 |
|
|
1 0000 FD000000 Main SWYM 0,0,0 |
2 0004 F0000001 1: JMP 1f |
3 0008 F0000000 1: JMP 1b |
4 000c F1FFFFFF JMP 1b |
GAS for MMIX .*/1cjmp1b.s page 2 |
|
|
DEFINED SYMBOLS |
.*/1cjmp1b.s:1 .text:0000000000000000 Main |
|
NO UNDEFINED SYMBOLS |
/reloc16-n.d
0,0 → 1,14
# objdump: -dr |
# as: -no-expand |
# source: reloc16.s |
.*: file format elf64-mmix |
|
Disassembly of section \.text: |
|
0000000000000000 <Main>: |
0: e3040000 setl \$4,0x0 |
2: R_MMIX_16 foo |
4: f82d0000 pop 45,0 |
6: R_MMIX_16 bar\+0x2a |
8: fd2a0000 swym 42,0,0 |
a: R_MMIX_16 baz\+0xfffffffffffff6d7 |
/jump-c.s
0,0 → 1,5
% JMP with a large constant must not fail |
i1 IS #ffff0000ffff0000 |
Main JMP i1 |
JMP i2 |
i2 IS #ffff0000ffff0000 |
/loc-1.d
0,0 → 1,45
#readelf: -Ssrx1 -x2 |
|
There are 7 section headers, starting at offset 0x90: |
|
Section Headers: |
\[Nr\] Name Type Address Offset |
Size EntSize Flags Link Info Align |
\[ 0\] NULL 0000000000000000 00000000 |
0000000000000000 0000000000000000 0 0 0 |
\[ 1\] \.text PROGBITS 0000000000000000 00000040 |
0000000000000020 0000000000000000 AX 0 0 4 |
\[ 2\] \.data PROGBITS 0000000000000000 00000060 |
0000000000000004 0000000000000000 WA 0 0 4 |
\[ 3\] \.bss NOBITS 0000000000000000 00000064 |
0000000000000000 0000000000000000 WA 0 0 1 |
\[ 4\] \.shstrtab STRTAB 0000000000000000 00000064 |
000000000000002c 0000000000000000 0 0 1 |
\[ 5\] \.symtab SYMTAB 0000000000000000 00000250 |
00000000000000c0 0000000000000018 6 6 8 |
\[ 6\] \.strtab STRTAB 0000000000000000 00000310 |
000000000000002a 0000000000000000 0 0 1 |
Key to Flags: |
W \(write\), A \(alloc\), X \(execute\), M \(merge\), S \(strings\) |
I \(info\), L \(link order\), G \(group\), x \(unknown\) |
O \(extra OS processing required\) o \(OS specific\), p \(processor specific\) |
|
There are no relocations in this file\. |
|
Symbol table '\.symtab' contains 8 entries: |
Num: Value Size Type Bind Vis Ndx Name |
0: 0+ 0 NOTYPE LOCAL DEFAULT UND |
1: 0+ 0 SECTION LOCAL DEFAULT 1 |
2: 0+ 0 SECTION LOCAL DEFAULT 2 |
3: 0+ 0 SECTION LOCAL DEFAULT 3 |
4: 0+4 0 NOTYPE LOCAL DEFAULT 1 m2 |
5: 2000000000000000 0 NOTYPE LOCAL DEFAULT ABS Data_Segment |
6: 0+ 0 FUNC GLOBAL DEFAULT 1 Main |
7: 2000000000000000 0 NOTYPE GLOBAL DEFAULT ABS __\.MMIX\.start\.\.data |
|
Hex dump of section '\.text': |
0x00000000 fd000000 00000000 00000000 00000000 .* |
0x00000010 00000000 00000000 00000000 fd010203 .* |
|
Hex dump of section '\.data': |
0x00000000 00000004 .* |
/reloc16.d
0,0 → 1,12
# objdump: -dr |
.*: file format elf64-mmix |
|
Disassembly of section \.text: |
|
0000000000000000 <Main>: |
0: e3040000 setl \$4,0x0 |
2: R_MMIX_16 foo |
4: f82d0000 pop 45,0 |
6: R_MMIX_16 bar\+0x2a |
8: fd2a0000 swym 42,0,0 |
a: R_MMIX_16 baz\+0xfffffffffffff6d7 |
/1cjmp1b.s
0,0 → 1,4
Main SWYM 0,0,0 |
1: JMP 1f |
1: JMP 1b |
JMP 1b |
/expr-1.d
0,0 → 1,7
# objdump: -s |
|
.*: file format elf64-mmix |
|
Contents of section \.text: |
0000 000000ab 00000100 .* |
|
/reloc16.l
0,0 → 1,17
GAS for MMIX .*/reloc16\.s page 1 |
|
|
1 #.* |
2 0000 E3040000 Main SETL \$4,foo |
3 0004 F82D0000 POP 45,bar\+42 |
4 0008 FD2A0000 SWYM 42,baz-2345 |
GAS for MMIX .*/reloc16\.s page 2 |
|
|
DEFINED SYMBOLS |
.*/reloc16\.s:2 \.text:0000000000000000 Main |
|
UNDEFINED SYMBOLS |
foo |
bar |
baz |
/roundr-op.d
0,0 → 1,13
# objdump: -dr |
.*: file format elf64-mmix |
|
Disassembly of section .text: |
|
0000000000000000 <Main>: |
0: 178701f4 fint \$135,ROUND_OFF,\$244 |
4: 058702e9 fix \$135,ROUND_UP,\$233 |
8: 178500f4 fint \$133,\$244 |
c: 157b04f4 fsqrt \$123,ROUND_NEAR,\$244 |
10: 17ad02e9 fint \$173,ROUND_UP,\$233 |
14: 058700f4 fix \$135,\$244 |
18: 078700f4 fixu \$135,\$244 |
/two-op.d
0,0 → 1,22
# objdump: -dr |
.*: file format elf64-mmix |
|
Disassembly of section \.text: |
|
0000000000000000 <Main>: |
0: e0175840 seth \$23,0x5840 |
4: e12d5840 setmh \$45,0x5840 |
8: e8171ed4 orh \$23,0x1ed4 |
c: e92d3039 ormh \$45,0x3039 |
10: e2175840 setml \$23,0x5840 |
14: e32d5840 setl \$45,0x5840 |
18: ea171ed4 orml \$23,0x1ed4 |
1c: eb2d3039 orl \$45,0x3039 |
20: e42d3039 inch \$45,0x3039 |
24: e5171ed4 incmh \$23,0x1ed4 |
28: ec2d5840 andnh \$45,0x5840 |
2c: ed175840 andnmh \$23,0x5840 |
30: e6175840 incml \$23,0x5840 |
34: e72d5840 incl \$45,0x5840 |
38: ee171ed4 andnml \$23,0x1ed4 |
3c: ef2d3039 andnl \$45,0x3039 |
/loc-1.s
0,0 → 1,7
# Check that we don't get anything strange from a single LOC to data and a |
# LOC back (with an offset). |
Main SWYM 0,0,0 |
m2 LOC Data_Segment |
TETRA 4 |
LOC m2+24 |
SWYM 1,2,3 |
/set-r.d
0,0 → 1,14
# objdump: -dr |
# as: -linkrelax |
# source: set.s |
.*: file format elf64-mmix |
|
Disassembly of section \.text: |
|
0000000000000000 <Main>: |
0: e32d0463 setl \$45,0x463 |
4: c1394300 set \$57,\$67 |
8: c14e1f00 set \$78,\$31 |
c: e3750463 setl \$117,0x463 |
10: c1754300 set \$117,\$67 |
14: c1751f00 set \$117,\$31 |
/reloc16.s
0,0 → 1,4
# Simple relocations against 16-bit extern symbols. |
Main SETL $4,foo |
POP 45,bar+42 |
SWYM 42,baz-2345 |
/expr-1.s
0,0 → 1,5
% Test expression example from TAOCP. Nothing problematic; does not have |
% the known expression evaluation order mismatch problem. |
|
k IS #cdef00 |
Main OCTA #ab<<32+k&~(k-1) |
/roundr-op.l
0,0 → 1,22
GAS for MMIX .*/roundr-op\.s page 1 |
|
|
1 # Round-type "R"\. |
2 0000 178701F4 Main FINT X,ROUND_OFF,Z |
3 0004 058702E9 FIX X,2,\$233 |
4 0008 178500F4 FINT \$133,0,Z |
5 000c 157B04F4 FSQRT \$123,ROUND_NEAR,Z |
6 0010 17AD02E9 FINT \$173,2,\$233 |
7 0014 058700F4 FIX X,0,Z |
8 0018 078700F4 FIXU X,ROUND_CURRENT,Z |
9 X IS \$135 |
10 Z IS \$244 |
GAS for MMIX .*/roundr-op\.s page 2 |
|
|
DEFINED SYMBOLS |
.*/roundr-op\.s:2 \.text:0000000000000000 Main |
\*REG\*:0000000000000087 X |
\*REG\*:00000000000000f4 Z |
|
NO UNDEFINED SYMBOLS |
/two-op.l
0,0 → 1,35
GAS for MMIX .*/two-op\.s page 1 |
|
|
1 #.* |
2 #.* |
3 0000 E0175840 Main SETH X,YZ |
4 0004 E12D5840 SETMH \$45,YZ |
5 0008 E8171ED4 ORH X,7892 |
6 000c E92D3039 ORMH \$45,12345 |
7 |
8 0010 E2175840 SETML X,YZ |
9 0014 E32D5840 SETL \$45,YZ |
10 0018 EA171ED4 ORML X,7892 |
11 001c EB2D3039 ORL \$45,12345 |
12 |
13 0020 E42D3039 INCH \$45,12345 |
14 0024 E5171ED4 INCMH X,7892 |
15 0028 EC2D5840 ANDNH \$45,YZ |
16 002c ED175840 ANDNMH X,YZ |
17 |
18 0030 E6175840 INCML X,YZ |
19 0034 E72D5840 INCL \$45,YZ |
20 0038 EE171ED4 ANDNML X,7892 |
21 003c EF2D3039 ANDNL \$45,12345 |
22 X IS \$23 |
23 YZ IS #5678\+456 |
GAS for MMIX .*/two-op\.s page 2 |
|
|
DEFINED SYMBOLS |
.*/two-op\.s:3 \.text:0000000000000000 Main |
\*REG\*:0000000000000017 X |
\*ABS\*:0000000000005840 YZ |
|
NO UNDEFINED SYMBOLS |
/jmp-op-n.d
0,0 → 1,23
# objdump: -dr |
# source: jmp-op.s |
# as: -no-expand |
.*: file format elf64-mmix |
|
Disassembly of section \.text: |
|
0000000000000000 <Main>: |
0: fd000000 swym 0,0,0 |
|
0000000000000004 <here>: |
4: fd000000 swym 0,0,0 |
8: f1ffffff jmp 4 <here> |
|
000000000000000c <at>: |
c: f0000000 jmp c <at> |
10: f0000004 jmp 20 <there> |
14: f1fffffc jmp 4 <here> |
18: f0000002 jmp 20 <there> |
1c: f1fffffa jmp 4 <here> |
|
0000000000000020 <there>: |
20: fd000000 swym 0,0,0 |
/geta-c.d
0,0 → 1,26
#as: -x |
#objdump: -tdr |
|
.*: file format elf64-mmix |
|
SYMBOL TABLE: |
0+ l d .text 0+ (|\.text) |
0+ l d .data 0+ (|\.data) |
0+ l d .bss 0+ (|\.bss) |
ffff0000ffff0000 l \*ABS\* 0+ i1 |
ffff0000ffff0000 l \*ABS\* 0+ i2 |
0+ g F .text 0+ Main |
|
Disassembly of section .text: |
|
0+ <Main>: |
0: f4ff0000 geta \$255,0 <Main> |
0: R_MMIX_GETA \*ABS\*\+0xffff0000ffff0000 |
4: fd000000 swym 0,0,0 |
8: fd000000 swym 0,0,0 |
c: fd000000 swym 0,0,0 |
10: f4ff0000 geta \$255,10 <Main\+0x10> |
10: R_MMIX_GETA i2 |
14: fd000000 swym 0,0,0 |
18: fd000000 swym 0,0,0 |
1c: fd000000 swym 0,0,0 |
/byte-1.d
0,0 → 1,41
#readelf: -Ssrx1 |
There are 7 section headers, starting at offset 0x88: |
|
Section Headers: |
\[Nr\] Name Type Address Offset |
Size EntSize Flags Link Info Align |
\[ 0\] NULL 0000000000000000 00000000 |
0000000000000000 0000000000000000 0 0 0 |
\[ 1\] \.text PROGBITS 0000000000000000 00000040 |
0000000000000016 0000000000000000 AX 0 0 4 |
\[ 2\] \.data PROGBITS 0000000000000000 00000056 |
0000000000000000 0000000000000000 WA 0 0 1 |
\[ 3\] \.bss NOBITS 0000000000000000 00000056 |
0000000000000000 0000000000000000 WA 0 0 1 |
\[ 4\] \.shstrtab STRTAB 0000000000000000 00000056 |
000000000000002c 0000000000000000 0 0 1 |
\[ 5\] \.symtab SYMTAB 0000000000000000 00000248 |
00000000000000c0 0000000000000018 6 7 8 |
\[ 6\] \.strtab STRTAB 0000000000000000 00000308 |
0000000000000018 0000000000000000 0 0 1 |
Key to Flags: |
W \(write\), A \(alloc\), X \(execute\), M \(merge\), S \(strings\) |
I \(info\), L \(link order\), G \(group\), x \(unknown\) |
O \(extra OS processing required\) o \(OS specific\), p \(processor specific\) |
|
There are no relocations in this file\. |
|
Symbol table '\.symtab' contains 8 entries: |
Num: Value Size Type Bind Vis Ndx Name |
0: 0+ 0 NOTYPE LOCAL DEFAULT UND |
1: 0+ 0 SECTION LOCAL DEFAULT 1 |
2: 0+ 0 SECTION LOCAL DEFAULT 2 |
3: 0+ 0 SECTION LOCAL DEFAULT 3 |
4: 0+2a 0 NOTYPE LOCAL DEFAULT ABS number |
5: 0+4 0 NOTYPE LOCAL DEFAULT 1 label |
6: 0+c 0 NOTYPE LOCAL DEFAULT 1 lab2 |
7: 0+ 0 FUNC GLOBAL DEFAULT 1 Main |
|
Hex dump of section '\.text': |
0x00000000 fd2b2a29 73747269 6e670aff 8e007374 .* |
0x00000010 72696e67 320a .* |
/err-bspec-5.s
0,0 → 1,21
% { dg-do assemble { target mmix-*-* } } |
Main SET $45,23 |
here SWYM 0,0,0 |
BSPEC 0 |
TETRA 4 |
ESPEC |
BSPEC 65535 |
TETRA 4 |
ESPEC |
BSPEC 65536 % { dg-error "invalid BSPEC expression" "" } |
TETRA 4 |
ESPEC |
BSPEC forw % { dg-error "invalid BSPEC expression" "" } |
TETRA 4 |
ESPEC |
BSPEC here % { dg-error "invalid BSPEC expression" "" } |
TETRA 4 |
ESPEC |
BSPEC -1 % { dg-error "invalid BSPEC expression" "" } |
TETRA 4 |
ESPEC |
/roundr-op.s
0,0 → 1,10
# Round-type "R". |
Main FINT X,ROUND_OFF,Z |
FIX X,2,$233 |
FINT $133,0,Z |
FSQRT $123,ROUND_NEAR,Z |
FINT $173,2,$233 |
FIX X,0,Z |
FIXU X,ROUND_CURRENT,Z |
X IS $135 |
Z IS $244 |
/two-op.s
0,0 → 1,23
# Two-operand insns; 16-bit operand. |
# |
Main SETH X,YZ |
SETMH $45,YZ |
ORH X,7892 |
ORMH $45,12345 |
|
SETML X,YZ |
SETL $45,YZ |
ORML X,7892 |
ORL $45,12345 |
|
INCH $45,12345 |
INCMH X,7892 |
ANDNH $45,YZ |
ANDNMH X,YZ |
|
INCML X,YZ |
INCL $45,YZ |
ANDNML X,7892 |
ANDNL $45,12345 |
X IS $23 |
YZ IS #5678+456 |
/greg5.d
0,0 → 1,29
#objdump: -str |
|
# GAS must know that .data and expressions around #20 << 56 can be |
# equivalent for GREGs. |
|
.*: file format elf64-mmix |
|
SYMBOL TABLE: |
0+ l d \.text 0+ (|\.text) |
0+ l d \.data 0+ (|\.data) |
0+ l d \.bss 0+ (|\.bss) |
0+ l \.text 0+ t |
2000000000000004 l \*ABS\* 0+ x |
2000000000000000 l \*ABS\* 0+ Data_Segment |
0+ l \.data 0+ y |
0+ l d \.MMIX\.reg_contents 0+ (|\.MMIX\.reg_contents) |
0+ g F \.text 0+ Main |
2000000000000008 g \*ABS\* 0+ __\.MMIX\.start\.\.data |
|
RELOCATION RECORDS FOR \[\.text\]: |
OFFSET TYPE VALUE |
0+2 R_MMIX_REG \.MMIX\.reg_contents |
|
Contents of section \.text: |
0000 232c0004 .* |
Contents of section \.data: |
0000 00000000 00000021 .* |
Contents of section \.MMIX\.reg_contents: |
0000 20000000 00000004 .* |
/unsave-op-r.d
0,0 → 1,11
# objdump: -dr |
# as: -linkrelax |
# source: unsave-op.s |
.*: file format elf64-mmix |
|
Disassembly of section \.text: |
|
0000000000000000 <Main>: |
0: fb00002d unsave 0,\$45 |
4: fb00001f unsave 0,\$31 |
8: fb000000 unsave 0,\$0 |
/list-in-r.d
0,0 → 1,315
# objdump: -dr |
# as: -linkrelax |
# source: list-insns.s |
.*: file format elf64-mmix |
|
Disassembly of section \.text: |
|
0000000000000000 <Main>: |
0: 00000003 trap 0,0,3 |
4: 00030405 trap 3,4,5 |
8: 010c17f1 fcmp \$12,\$23,\$241 |
c: 08700129 flot \$112,ROUND_OFF,\$41 |
10: 0970048d flot \$112,ROUND_NEAR,141 |
14: 08bf00f2 flot \$191,\$242 |
18: 09c3002a flot \$195,42 |
1c: 027acb04 fun \$122,\$203,\$4 |
20: 03661e28 feql \$102,\$30,\$40 |
24: 0a66000e flotu \$102,\$14 |
28: 0a84020e flotu \$132,ROUND_UP,\$14 |
2c: 0a660368 flotu \$102,ROUND_DOWN,\$104 |
30: 0aac048c flotu \$172,ROUND_NEAR,\$140 |
34: 0a010186 flotu \$1,ROUND_OFF,\$134 |
38: 0470df29 fadd \$112,\$223,\$41 |
3c: 05700129 fix \$112,ROUND_OFF,\$41 |
40: 050b008d fix \$11,\$141 |
44: 0c700129 sflot \$112,ROUND_OFF,\$41 |
48: 0d70048d sflot \$112,ROUND_NEAR,141 |
4c: 0670df29 fsub \$112,\$223,\$41 |
50: 0766000e fixu \$102,\$14 |
54: 0784020e fixu \$132,ROUND_UP,\$14 |
58: 0e0b008d sflotu \$11,\$141 |
5c: 0f70008d sflotu \$112,141 |
60: 0f70048d sflotu \$112,ROUND_NEAR,141 |
64: 0e700129 sflotu \$112,ROUND_OFF,\$41 |
68: 10661e28 fmul \$102,\$30,\$40 |
6c: 110cdf01 fcmpe \$12,\$223,\$1 |
70: 197acb2c mul \$122,\$203,44 |
74: 18661e28 mul \$102,\$30,\$40 |
78: 130cdf01 feqle \$12,\$223,\$1 |
7c: 120cdf0b fune \$12,\$223,\$11 |
80: 1b7ad52c mulu \$122,\$213,44 |
84: 1a841e28 mulu \$132,\$30,\$40 |
88: 140cdf0b fdiv \$12,\$223,\$11 |
8c: 1584020e fsqrt \$132,ROUND_UP,\$14 |
90: 150b008d fsqrt \$11,\$141 |
94: 1d7ad52c div \$122,\$213,44 |
98: 1c841e28 div \$132,\$30,\$40 |
9c: 160cdf0b frem \$12,\$223,\$11 |
a0: 1784020e fint \$132,ROUND_UP,\$14 |
a4: 170b008d fint \$11,\$141 |
a8: 1e0cdf01 divu \$12,\$223,\$1 |
ac: 1f7acbff divu \$122,\$203,255 |
b0: 200cdf01 add \$12,\$223,\$1 |
b4: 217acbff add \$122,\$203,255 |
b8: 280cdf0b 2addu \$12,\$223,\$11 |
bc: 297acb00 2addu \$122,\$203,0 |
c0: 237acbff addu \$122,\$203,255 |
c4: 220cdf0b addu \$12,\$223,\$11 |
c8: 237acbff addu \$122,\$203,255 |
cc: 220cdf0b addu \$12,\$223,\$11 |
d0: 2b7acbcd 4addu \$122,\$203,205 |
d4: 2a0cdf6f 4addu \$12,\$223,\$111 |
d8: 240cdf0b sub \$12,\$223,\$11 |
dc: 257acbcd sub \$122,\$203,205 |
e0: 2c0cdf0b 8addu \$12,\$223,\$11 |
e4: 2d7acbcd 8addu \$122,\$203,205 |
e8: 2602df0b subu \$2,\$223,\$11 |
ec: 270c14cd subu \$12,\$20,205 |
f0: 2e02df0b 16addu \$2,\$223,\$11 |
f4: 2f0c14cd 16addu \$12,\$20,205 |
f8: 3002df0b cmp \$2,\$223,\$11 |
fc: 310c14cd cmp \$12,\$20,205 |
100: 3802df0b sl \$2,\$223,\$11 |
104: 390c14cd sl \$12,\$20,205 |
108: 3202df0b cmpu \$2,\$223,\$11 |
10c: 330c14cd cmpu \$12,\$20,205 |
110: 3a02df0b slu \$2,\$223,\$11 |
114: 3b0c14cd slu \$12,\$20,205 |
118: 3402170b neg \$2,23,\$11 |
11c: 350c00cd neg \$12,0,205 |
120: 35c00acd neg \$192,10,205 |
124: 3d0c14cd sr \$12,\$20,205 |
128: 3c02df0b sr \$2,\$223,\$11 |
12c: 3602170b negu \$2,23,\$11 |
130: 370c00cd negu \$12,0,205 |
134: 3f0c14cd sru \$12,\$20,205 |
138: 3e02df0b sru \$2,\$223,\$11 |
13c: 40020001 bn \$2,140 <Main\+0x140> |
13c: R_MMIX_ADDR19 \.text\+0x140 |
140: 4102ffff bn \$2,13c <Main\+0x13c> |
140: R_MMIX_ADDR19 \.text\+0x13c |
144: 4902ffff bnn \$2,140 <Main\+0x140> |
144: R_MMIX_ADDR19 \.text\+0x140 |
148: 4902ffff bnn \$2,144 <Main\+0x144> |
148: R_MMIX_ADDR19 \.text\+0x144 |
14c: 42ff0001 bz \$255,150 <Main\+0x150> |
14c: R_MMIX_ADDR19 \.text\+0x150 |
150: 43ffffff bz \$255,14c <Main\+0x14c> |
150: R_MMIX_ADDR19 \.text\+0x14c |
154: 4aff0001 bnz \$255,158 <Main\+0x158> |
154: R_MMIX_ADDR19 \.text\+0x158 |
158: 4bffffff bnz \$255,154 <Main\+0x154> |
158: R_MMIX_ADDR19 \.text\+0x154 |
15c: 44190001 bp \$25,160 <Main\+0x160> |
15c: R_MMIX_ADDR19 \.text\+0x160 |
160: 4519ffff bp \$25,15c <Main\+0x15c> |
160: R_MMIX_ADDR19 \.text\+0x15c |
164: 4c190001 bnp \$25,168 <Main\+0x168> |
164: R_MMIX_ADDR19 \.text\+0x168 |
168: 4d19ffff bnp \$25,164 <Main\+0x164> |
168: R_MMIX_ADDR19 \.text\+0x164 |
16c: 46190001 bod \$25,170 <Main\+0x170> |
16c: R_MMIX_ADDR19 \.text\+0x170 |
170: 4719ffff bod \$25,16c <Main\+0x16c> |
170: R_MMIX_ADDR19 \.text\+0x16c |
174: 4e190001 bev \$25,178 <Main\+0x178> |
174: R_MMIX_ADDR19 \.text\+0x178 |
178: 4f19ffff bev \$25,174 <Main\+0x174> |
178: R_MMIX_ADDR19 \.text\+0x174 |
17c: 50020001 pbn \$2,180 <Main\+0x180> |
17c: R_MMIX_ADDR19 \.text\+0x180 |
180: 5102ffff pbn \$2,17c <Main\+0x17c> |
180: R_MMIX_ADDR19 \.text\+0x17c |
184: 58020001 pbnn \$2,188 <Main\+0x188> |
184: R_MMIX_ADDR19 \.text\+0x188 |
188: 5902ffff pbnn \$2,184 <Main\+0x184> |
188: R_MMIX_ADDR19 \.text\+0x184 |
18c: 520c0001 pbz \$12,190 <Main\+0x190> |
18c: R_MMIX_ADDR19 \.text\+0x190 |
190: 5316ffff pbz \$22,18c <Main\+0x18c> |
190: R_MMIX_ADDR19 \.text\+0x18c |
194: 5a200001 pbnz \$32,198 <Main\+0x198> |
194: R_MMIX_ADDR19 \.text\+0x198 |
198: 5b34ffff pbnz \$52,194 <Main\+0x194> |
198: R_MMIX_ADDR19 \.text\+0x194 |
19c: 56190001 pbod \$25,1a0 <Main\+0x1a0> |
19c: R_MMIX_ADDR19 \.text\+0x1a0 |
1a0: 5719ffff pbod \$25,19c <Main\+0x19c> |
1a0: R_MMIX_ADDR19 \.text\+0x19c |
1a4: 5e190001 pbev \$25,1a8 <Main\+0x1a8> |
1a4: R_MMIX_ADDR19 \.text\+0x1a8 |
1a8: 5f19ffff pbev \$25,1a4 <Main\+0x1a4> |
1a8: R_MMIX_ADDR19 \.text\+0x1a4 |
1ac: 6002df0b csn \$2,\$223,\$11 |
1b0: 610c14cd csn \$12,\$20,205 |
1b4: 6802df0b csnn \$2,\$223,\$11 |
1b8: 690c14cd csnn \$12,\$20,205 |
1bc: 6202cb0b csz \$2,\$203,\$11 |
1c0: 630cc8cd csz \$12,\$200,205 |
1c4: 6a02cb0b csnz \$2,\$203,\$11 |
1c8: 6b0cc8cd csnz \$12,\$200,205 |
1cc: 6402cb0b csp \$2,\$203,\$11 |
1d0: 650cc8cd csp \$12,\$200,205 |
1d4: 6c02cb0b csnp \$2,\$203,\$11 |
1d8: 6d0cc8cd csnp \$12,\$200,205 |
1dc: 6602cb0b csod \$2,\$203,\$11 |
1e0: 670cc8cd csod \$12,\$200,205 |
1e4: 6e02cb0b csev \$2,\$203,\$11 |
1e8: 6f0cc8cd csev \$12,\$200,205 |
1ec: 7002df0b zsn \$2,\$223,\$11 |
1f0: 710c14cd zsn \$12,\$20,205 |
1f4: 7802df0b zsnn \$2,\$223,\$11 |
1f8: 790c14cd zsnn \$12,\$20,205 |
1fc: 7202cb0b zsz \$2,\$203,\$11 |
200: 730cc8cd zsz \$12,\$200,205 |
204: 7a02cb0b zsnz \$2,\$203,\$11 |
208: 7b0cc8cd zsnz \$12,\$200,205 |
20c: 7402cb0b zsp \$2,\$203,\$11 |
210: 750cc8cd zsp \$12,\$200,205 |
214: 7c02cb0b zsnp \$2,\$203,\$11 |
218: 7d0cc8cd zsnp \$12,\$200,205 |
21c: 7602cb0b zsod \$2,\$203,\$11 |
220: 770cc8cd zsod \$12,\$200,205 |
224: 7e02cb0b zsev \$2,\$203,\$11 |
228: 7f0cc8cd zsev \$12,\$200,205 |
22c: 8002000b ldb \$2,\$0,\$11 |
230: 810c14cd ldb \$12,\$20,205 |
234: 8802000b ldt \$2,\$0,\$11 |
238: 890c14cd ldt \$12,\$20,205 |
23c: 8202000b ldbu \$2,\$0,\$11 |
240: 830c14cd ldbu \$12,\$20,205 |
244: 8a02000b ldtu \$2,\$0,\$11 |
248: 8b0c14cd ldtu \$12,\$20,205 |
24c: 8402000b ldw \$2,\$0,\$11 |
250: 850c14cd ldw \$12,\$20,205 |
254: 8c02000b ldo \$2,\$0,\$11 |
258: 8d0c14cd ldo \$12,\$20,205 |
25c: 8602000b ldwu \$2,\$0,\$11 |
260: 870c14cd ldwu \$12,\$20,205 |
264: 8e02000b ldou \$2,\$0,\$11 |
268: 8f0c14cd ldou \$12,\$20,205 |
26c: 9802000b ldvts \$2,\$0,\$11 |
270: 990c14cd ldvts \$12,\$20,205 |
274: 9202000b ldht \$2,\$0,\$11 |
278: 930c14cd ldht \$12,\$20,205 |
27c: 9b7014cd preld 112,\$20,205 |
280: 9a7014e1 preld 112,\$20,\$225 |
284: 9402000b cswap \$2,\$0,\$11 |
288: 950c14cd cswap \$12,\$20,205 |
28c: 9d7014cd prego 112,\$20,205 |
290: 9c7014e1 prego 112,\$20,\$225 |
294: 9602000b ldunc \$2,\$0,\$11 |
298: 970c14cd ldunc \$12,\$20,205 |
29c: 9e02000b go \$2,\$0,\$11 |
2a0: 9f0c14cd go \$12,\$20,205 |
2a4: a0020a97 stb \$2,\$10,\$151 |
2a8: a10c14cd stb \$12,\$20,205 |
2ac: a8200a97 stt \$32,\$10,\$151 |
2b0: a90c14cd stt \$12,\$20,205 |
2b4: a2020a97 stbu \$2,\$10,\$151 |
2b8: a30c14cd stbu \$12,\$20,205 |
2bc: aa200a97 sttu \$32,\$10,\$151 |
2c0: ab0c14cd sttu \$12,\$20,205 |
2c4: a4020a97 stw \$2,\$10,\$151 |
2c8: a50cdccd stw \$12,\$220,205 |
2cc: ac20aa97 sto \$32,\$170,\$151 |
2d0: adb614f5 sto \$182,\$20,245 |
2d4: a6020a97 stwu \$2,\$10,\$151 |
2d8: a70cdccd stwu \$12,\$220,205 |
2dc: ae20aa97 stou \$32,\$170,\$151 |
2e0: afb614f5 stou \$182,\$20,245 |
2e4: b020aa97 stsf \$32,\$170,\$151 |
2e8: b1b614f5 stsf \$182,\$20,245 |
2ec: b97014cd syncd 112,\$20,205 |
2f0: b87014e1 syncd 112,\$20,\$225 |
2f4: b220aa97 stht \$32,\$170,\$151 |
2f8: b3b614f5 stht \$182,\$20,245 |
2fc: bb7014cd prest 112,\$20,205 |
300: ba7014e1 prest 112,\$20,\$225 |
304: b420aa97 stco 32,\$170,\$151 |
308: b5b614f5 stco 182,\$20,245 |
30c: bd7014cd syncid 112,\$20,205 |
310: bc0014e1 syncid 0,\$20,\$225 |
314: b620aa97 stunc \$32,\$170,\$151 |
318: b7b614f5 stunc \$182,\$20,245 |
31c: be20aa97 pushgo \$32,\$170,\$151 |
320: bfb614f5 pushgo \$182,\$20,245 |
324: c18ec800 set \$142,\$200 |
328: c020aa97 or \$32,\$170,\$151 |
32c: c1b614f5 or \$182,\$20,245 |
330: c820aa97 and \$32,\$170,\$151 |
334: c9b614f5 and \$182,\$20,245 |
338: c220aa97 orn \$32,\$170,\$151 |
33c: c3b614f5 orn \$182,\$20,245 |
340: ca20aa97 andn \$32,\$170,\$151 |
344: cbb614f5 andn \$182,\$20,245 |
348: c420aa97 nor \$32,\$170,\$151 |
34c: c5b614f5 nor \$182,\$20,245 |
350: cc20aa97 nand \$32,\$170,\$151 |
354: cdb614f5 nand \$182,\$20,245 |
358: c620aa97 xor \$32,\$170,\$151 |
35c: c7b614f5 xor \$182,\$20,245 |
360: ce20aa97 nxor \$32,\$170,\$151 |
364: cfb614f5 nxor \$182,\$20,245 |
368: d020aa97 bdif \$32,\$170,\$151 |
36c: d1b614f5 bdif \$182,\$20,245 |
370: d820aa97 mux \$32,\$170,\$151 |
374: d9b614f5 mux \$182,\$20,245 |
378: d220aa97 wdif \$32,\$170,\$151 |
37c: d3b614f5 wdif \$182,\$20,245 |
380: da20aa97 sadd \$32,\$170,\$151 |
384: dbb600f5 sadd \$182,\$0,245 |
388: d420aa97 tdif \$32,\$170,\$151 |
38c: d5b614f5 tdif \$182,\$20,245 |
390: dc20aa97 mor \$32,\$170,\$151 |
394: ddb614f5 mor \$182,\$20,245 |
398: d620aa97 odif \$32,\$170,\$151 |
39c: d7b614f5 odif \$182,\$20,245 |
3a0: de201197 mxor \$32,\$17,\$151 |
3a4: df52b418 mxor \$82,\$180,24 |
3a8: e004ffff seth \$4,0xffff |
3ac: e05e0000 seth \$94,0x0 |
3b0: e00400ff seth \$4,0xff |
3b4: e05e04d2 seth \$94,0x4d2 |
3b8: e15e04d2 setmh \$94,0x4d2 |
3bc: e85e04d2 orh \$94,0x4d2 |
3c0: e95e04d2 ormh \$94,0x4d2 |
3c4: e25e04d2 setml \$94,0x4d2 |
3c8: e35e04d2 setl \$94,0x4d2 |
3cc: ea5e04d2 orml \$94,0x4d2 |
3d0: eb5e04d2 orl \$94,0x4d2 |
3d4: e45e04d2 inch \$94,0x4d2 |
3d8: e55e04d2 incmh \$94,0x4d2 |
3dc: ec5e04d2 andnh \$94,0x4d2 |
3e0: ed5e04d2 andnmh \$94,0x4d2 |
3e4: e65e04d2 incml \$94,0x4d2 |
3e8: e75e04d2 incl \$94,0x4d2 |
3ec: ee5e04d2 andnml \$94,0x4d2 |
3f0: ef5e04d2 andnl \$94,0x4d2 |
3f4: f1ffffff jmp 3f0 <Main\+0x3f0> |
3f4: R_MMIX_ADDR27 \.text\+0x3f0 |
3f8: f0000001 jmp 3fc <Main\+0x3fc> |
3f8: R_MMIX_ADDR27 \.text\+0x3fc |
3fc: f82afffe pop 42,65534 |
400: f90000ff resume 255 |
404: f9000000 resume 0 |
408: f9000001 resume 1 |
40c: f2190001 pushj \$25,410 <Main\+0x410> |
40c: R_MMIX_ADDR19 \.text\+0x410 |
410: f319ffff pushj \$25,40c <Main\+0x40c> |
410: R_MMIX_ADDR19 \.text\+0x40c |
414: fa040000 save \$4,0 |
418: fb0000ea unsave 0,\$234 |
41c: f4190001 geta \$25,420 <Main\+0x420> |
41c: R_MMIX_ADDR19 \.text\+0x420 |
420: f519ffff geta \$25,41c <Main\+0x41c> |
420: R_MMIX_ADDR19 \.text\+0x41c |
424: fc7a1201 sync 8000001 |
428: fd010203 swym 1,2,3 |
42c: fd000000 swym 0,0,0 |
430: f7040022 put rJ,34 |
434: f6040086 put rJ,\$134 |
438: feea0004 get \$234,rJ |
43c: ff000000 trip 0,0,0 |
440: ff050607 trip 5,6,7 |
/geta-c.s
0,0 → 1,5
% GETA with a large constant must not fail |
i1 IS #ffff0000ffff0000 |
Main GETA $255,i1 |
GETA $255,i2 |
i2 IS #ffff0000ffff0000 |
/byte-1.s
0,0 → 1,6
# Test BYTE sequences, excercising code paths for valid input. |
number IS 42 |
Main SWYM 43,number,41 |
|
label BYTE "string",#a,255 |
lab2 BYTE number+100,0,"string2",#a |
/err-loc-4.s
0,0 → 1,4
% { dg-do assemble { target mmix-*-* } } |
LOC #201 |
WYDE 1 |
SWYM 1 % { dg-error "specified location wasn't TETRA-aligned" "" } |
/put-op.d
0,0 → 1,15
# objdump: -dr |
.*: file format elf64-mmix |
|
Disassembly of section \.text: |
|
0000000000000000 <Main>: |
0: f604007b put rJ,\$123 |
4: f613002d put rG,\$45 |
8: f61f00f5 put rZZ,\$245 |
c: f604006f put rJ,\$111 |
10: f713002d put rG,45 |
14: f71f00f5 put rZZ,245 |
18: f7040000 put rJ,0 |
1c: f7130000 put rG,0 |
20: f71f0000 put rZZ,0 |
/reg-op-r.d
0,0 → 1,16
# objdump: -dr |
# as: -linkrelax |
# source: reg-op.s |
.*: file format elf64-mmix |
|
Disassembly of section \.text: |
|
0000000000000000 <Main>: |
0: 10170c43 fmul \$23,\$12,\$67 |
4: 01200c43 fcmp \$32,\$12,\$67 |
8: 040c2043 fadd \$12,\$32,\$67 |
c: 02e88543 fun \$232,\$133,\$67 |
10: 03170c49 feql \$23,\$12,\$73 |
14: 161f0ce9 frem \$31,\$12,\$233 |
18: 061726d4 fsub \$23,\$38,\$212 |
1c: 1304afb5 feqle \$4,\$175,\$181 |
/greg5.s
0,0 → 1,9
t IS @ |
x IS Data_Segment+4 |
|
LOC x+4 |
y OCTA 33 |
GREG x |
|
LOC t |
Main LDA $44,y |
/bspec-1.d
0,0 → 1,27
#readelf: -Ssr -x1 -x4 |
There are 9 section headers, starting at offset 0x..: |
#... |
\[ 4\] \.MMIX\.spec_data\.2 PROGBITS 0+ 0+44 |
0+4 0+ 0 0 4 |
\[ 5\] \.rela\.MMIX\.spec_d RELA 0+ .* |
0+18 0+18 7 4 8 |
#... |
Relocation section '\.rela\.MMIX\.spec_data\.2' at offset 0x... contains 1 entries: |
.* |
0+ 0+500000004 R_MMIX_32 +0+ +forw +\+ 0 |
|
Symbol table '\.symtab' contains 6 entries: |
Num: Value Size Type Bind Vis Ndx Name |
0: 0+ 0 NOTYPE LOCAL DEFAULT UND |
1: 0+ 0 SECTION LOCAL DEFAULT 1 |
2: 0+ 0 SECTION LOCAL DEFAULT 2 |
3: 0+ 0 SECTION LOCAL DEFAULT 3 |
4: 0+ 0 SECTION LOCAL DEFAULT 4 |
5: 0+ 0 NOTYPE GLOBAL DEFAULT UND forw |
|
Hex dump of section '\.text': |
0x0+ fd010203 .* |
|
Hex dump of section '\.MMIX\.spec_data\.2': |
NOTE: This section has relocations against it, but these have NOT been applied to this dump. |
0x0+ 00000000 .* |
/err-byte2.s
0,0 → 1,17
% { dg-do assemble { target mmix-*-* } } |
|
m1 IS -1 |
zero IS 0 |
zero2 IS 0 |
1H IS 42 |
2H IS 5 |
Main SWYM 0,0,0 |
BYTE 0 |
BYTE -1 % { dg-error "BYTE expression not in the range 0..255" "" } |
BYTE m1 % { dg-error "BYTE expression not in the range 0..255" "" } |
BYTE zero2 |
BYTE 1B+2B+55 |
BYTE zero+m1 % { dg-error "BYTE expression not in the range 0..255" "" } |
BYTE 255 |
BYTE 256 % { dg-error "BYTE expression not in the range 0..255" "" } |
BYTE unk+1 % { dg-error "BYTE expression not a pure number" "" } |
/get-op.d
0,0 → 1,9
# objdump: -dr |
.*: file format elf64-mmix |
|
Disassembly of section \.text: |
|
0000000000000000 <Main>: |
0: fe7b0004 get \$123,rJ |
4: fe2d0013 get \$45,rG |
8: fef5001f get \$245,rZZ |
/put-op.l
0,0 → 1,27
GAS for MMIX .*/put-op\.s page 1 |
|
|
1 #.* |
2 #.* |
3 0000 F604007B Main PUT rJ,X |
4 0004 F613002D PUT rG,\$45 |
5 0008 F61F00F5 PUT rZZ,\$245 |
6 000c F604006F PUT rJ,X0 |
7 0010 F713002D PUT rG,45 |
8 0014 F71F00F5 PUT rZZ,245 |
9 0018 F7040000 PUT rJ,X00 |
10 001c F7130000 PUT rG,0 |
11 0020 F71F0000 PUT rZZ,0 |
12 X IS \$123 |
13 X0 IS \$111 |
14 X00 IS 0 |
GAS for MMIX .*/put-op\.s page 2 |
|
|
DEFINED SYMBOLS |
.*/put-op\.s:3 \.text:0000000000000000 Main |
\*REG\*:000000000000007b X |
\*REG\*:000000000000006f X0 |
\*ABS\*:0000000000000000 X00 |
|
NO UNDEFINED SYMBOLS |
/basep-5.d
0,0 → 1,26
#source: err-bpo3.s |
#as: -linker-allocated-gregs |
#objdump: -dr |
|
# The -linker-allocated-gregs option validates omissions of GREG. |
|
.*: file format elf64-mmix |
|
Disassembly of section \.text: |
|
0+ <a>: |
0: 0000002a trap 0,0,42 |
4: 8d2b0000 ldo \$43,\$0,0 |
6: R_MMIX_BASE_PLUS_OFFSET \.text\+0x34 |
\.\.\. |
|
0+108 <d>: |
108: 0000001c trap 0,0,28 |
10c: 8d8f0000 ldo \$143,\$0,0 |
10e: R_MMIX_BASE_PLUS_OFFSET \.text\+0x114 |
110: 8df30000 ldo \$243,\$0,0 |
112: R_MMIX_BASE_PLUS_OFFSET \.text\+0xc |
114: 23670000 addu \$103,\$0,0 |
116: R_MMIX_BASE_PLUS_OFFSET \.text\+0x130 |
118: 230d0000 addu \$13,\$0,0 |
11a: R_MMIX_BASE_PLUS_OFFSET \.text\+0x18 |
/jmp-oprn.d
0,0 → 1,29
# objdump: -dr |
# as: -linkrelax -no-expand |
# source: jmp-op.s |
.*: file format elf64-mmix |
|
Disassembly of section \.text: |
|
0000000000000000 <Main>: |
0: fd000000 swym 0,0,0 |
|
0000000000000004 <here>: |
4: fd000000 swym 0,0,0 |
8: f0000000 jmp 8 <here\+0x4> |
8: R_MMIX_ADDR27 \.text\+0x4 |
|
000000000000000c <at>: |
c: f0000000 jmp c <at> |
c: R_MMIX_ADDR27 \.text\+0xc |
10: f0000000 jmp 10 <at\+0x4> |
10: R_MMIX_ADDR27 \.text\+0x20 |
14: f0000000 jmp 14 <at\+0x8> |
14: R_MMIX_ADDR27 \.text\+0x4 |
18: f0000000 jmp 18 <at\+0xc> |
18: R_MMIX_ADDR27 \.text\+0x20 |
1c: f0000000 jmp 1c <at\+0x10> |
1c: R_MMIX_ADDR27 \.text\+0x4 |
|
0000000000000020 <there>: |
20: fd000000 swym 0,0,0 |
/get-op.l
0,0 → 1,17
GAS for MMIX .*/get-op\.s page 1 |
|
|
1 #.* |
2 #.* |
3 0000 FE7B0004 Main GET X,rJ |
4 0004 FE2D0013 GET \$45,rG |
5 0008 FEF5001F GET \$245,rZZ |
6 X IS \$123 |
GAS for MMIX .*/get-op\.s page 2 |
|
|
DEFINED SYMBOLS |
.*/get-op\.s:3 \.text:0000000000000000 Main |
\*REG\*:000000000000007b X |
|
NO UNDEFINED SYMBOLS |
/put-op.s
0,0 → 1,14
# For 'p'-type operands: PUT. |
# |
Main PUT rJ,X |
PUT rG,$45 |
PUT rZZ,$245 |
PUT rJ,X0 |
PUT rG,45 |
PUT rZZ,245 |
PUT rJ,X00 |
PUT rG,0 |
PUT rZZ,0 |
X IS $123 |
X0 IS $111 |
X00 IS 0 |
/bspec-1.s
0,0 → 1,4
SWYM 1,2,3 |
BSPEC 2 |
TETRA forw |
ESPEC |
/get-op.s
0,0 → 1,6
# For 'g'-type operands: GET. |
# |
Main GET X,rJ |
GET $45,rG |
GET $245,rZZ |
X IS $123 |
/loc-2.d
0,0 → 1,39
#readelf: -Ssrx1 |
|
There are 7 section headers, starting at offset 0x78: |
|
Section Headers: |
\[Nr\] Name Type Address Offset |
Size EntSize Flags Link Info Align |
\[ 0\] NULL 0000000000000000 00000000 |
0000000000000000 0000000000000000 0 0 0 |
\[ 1\] \.text PROGBITS 0000000000000000 00000040 |
0000000000000008 0000000000000000 AX 0 0 4 |
\[ 2\] \.data PROGBITS 0000000000000000 00000048 |
0000000000000000 0000000000000000 WA 0 0 1 |
\[ 3\] \.bss NOBITS 0000000000000000 00000048 |
0000000000000000 0000000000000000 WA 0 0 1 |
\[ 4\] \.shstrtab STRTAB 0000000000000000 00000048 |
000000000000002c 0000000000000000 0 0 1 |
\[ 5\] \.symtab SYMTAB 0000000000000000 00000238 |
0000000000000090 0000000000000018 6 4 8 |
\[ 6\] \.strtab STRTAB 0000000000000000 000002c8 |
000000000000001a 0000000000000000 0 0 1 |
Key to Flags: |
W \(write\), A \(alloc\), X \(execute\), M \(merge\), S \(strings\) |
I \(info\), L \(link order\), G \(group\), x \(unknown\) |
O \(extra OS processing required\) o \(OS specific\), p \(processor specific\) |
|
There are no relocations in this file\. |
|
Symbol table '\.symtab' contains 6 entries: |
Num: Value Size Type Bind Vis Ndx Name |
0: 0+ 0 NOTYPE LOCAL DEFAULT UND |
1: 0+ 0 SECTION LOCAL DEFAULT 1 |
2: 0+ 0 SECTION LOCAL DEFAULT 2 |
3: 0+ 0 SECTION LOCAL DEFAULT 3 |
4: 0+4 0 FUNC GLOBAL DEFAULT 1 Main |
5: 0+100 0 NOTYPE GLOBAL DEFAULT ABS __\.MMIX\.start\.\.text |
|
Hex dump of section '\.text': |
0x00000000 fd010102 fd000070 .* |
/regy-op-r.d
0,0 → 1,36
# objdump: -dr |
# as: -linkrelax |
# source: regy-op.s |
.*: file format elf64-mmix |
|
Disassembly of section \.text: |
|
0000000000000000 <Main>: |
0: 347b0c43 neg \$123,12,\$67 |
4: 36200c43 negu \$32,12,\$67 |
8: 347b2043 neg \$123,32,\$67 |
c: 36008543 negu \$0,133,\$67 |
10: 347b0c49 neg \$123,12,\$73 |
14: 36820ce9 negu \$130,12,\$233 |
18: 347b26d4 neg \$123,38,\$212 |
1c: 3601afb5 negu \$1,175,\$181 |
20: 357b0cb0 neg \$123,12,176 |
24: 37200cb0 negu \$32,12,176 |
28: 357b84b0 neg \$123,132,176 |
2c: 37e885b0 negu \$232,133,176 |
30: 357b0ccb neg \$123,12,203 |
34: 37e70cd5 negu \$231,12,213 |
38: 357b26d3 neg \$123,38,211 |
3c: 3704afa1 negu \$4,175,161 |
40: 357b0c00 neg \$123,12,0 |
44: 37170c00 negu \$23,12,0 |
48: 35020c00 neg \$2,12,0 |
4c: 37e88500 negu \$232,133,0 |
50: 347b0043 neg \$123,0,\$67 |
54: 36200043 negu \$32,0,\$67 |
58: 357b0020 neg \$123,0,32 |
5c: 37e80085 negu \$232,0,133 |
60: 357b00b0 neg \$123,0,176 |
64: 372000b0 negu \$32,0,176 |
68: 347b0020 neg \$123,0,\$32 |
6c: 36e80085 negu \$232,0,\$133 |
/loc-2.s
0,0 → 1,5
# Check that a LOC before any code gets translated into the right |
# symbol being set. |
LOC 256 |
SWYM 1,1,2 |
Main SWYM 112 |
/zerop-1.d
0,0 → 1,20
#objdump: -drt |
|
.*: file format elf64-mmix |
|
SYMBOL TABLE: |
0+ l d \.text 0+ (|\.text) |
0+ l d \.data 0+ (|\.data) |
0+ l d \.bss 0+ (|\.bss) |
0+ g F \.text 0+ Main |
|
|
Disassembly of section \.text: |
|
0+ <Main>: |
0: 00000000 trap 0,0,0 |
4: fd000000 swym 0,0,0 |
8: ff000000 trip 0,0,0 |
c: f0000000 jmp c <Main\+0xc> |
10: f801e240 pop 1,57920 |
14: f8000000 pop 0,0 |
/jmp-op.d
0,0 → 1,21
# objdump: -dr |
.*: file format elf64-mmix |
|
Disassembly of section \.text: |
|
0000000000000000 <Main>: |
0: fd000000 swym 0,0,0 |
|
0000000000000004 <here>: |
4: fd000000 swym 0,0,0 |
8: f1ffffff jmp 4 <here> |
|
000000000000000c <at>: |
c: f0000000 jmp c <at> |
10: f0000004 jmp 20 <there> |
14: f1fffffc jmp 4 <here> |
18: f0000002 jmp 20 <there> |
1c: f1fffffa jmp 4 <here> |
|
0000000000000020 <there>: |
20: fd000000 swym 0,0,0 |
/1hjmp1b.d
0,0 → 1,10
# objdump: -dr |
.*: file format elf64-mmix |
|
Disassembly of section \.text: |
|
0000000000000000 <Main>: |
0: fd000000 swym 0,0,0 |
4: f0000001 jmp 8 <Main\+0x8> |
8: f1ffffff jmp 4 <Main\+0x4> |
c: f1ffffff jmp 8 <Main\+0x8> |
/pushj-c.d
0,0 → 1,28
#as: -x --no-pushj-stubs |
#objdump: -tdr |
|
.*: file format elf64-mmix |
|
SYMBOL TABLE: |
0+ l d .text 0+ (|\.text) |
0+ l d .data 0+ (|\.data) |
0+ l d .bss 0+ (|\.bss) |
ffff0000ffff0000 l \*ABS\* 0+ i1 |
ffff0000ffff0000 l \*ABS\* 0+ i2 |
0+ g F .text 0+ Main |
|
Disassembly of section .text: |
|
0+ <Main>: |
0: f2010000 pushj \$1,0 <Main> |
0: R_MMIX_PUSHJ \*ABS\*\+0xffff0000ffff0000 |
4: fd000000 swym 0,0,0 |
8: fd000000 swym 0,0,0 |
c: fd000000 swym 0,0,0 |
10: fd000000 swym 0,0,0 |
14: f2020000 pushj \$2,14 <Main\+0x14> |
14: R_MMIX_PUSHJ i2 |
18: fd000000 swym 0,0,0 |
1c: fd000000 swym 0,0,0 |
20: fd000000 swym 0,0,0 |
24: fd000000 swym 0,0,0 |
/jmp-op.l
0,0 → 1,23
GAS for MMIX .*/jmp-op\.s page 1 |
|
|
1 #.* |
2 0000 FD000000 Main SWYM 0,0,0 |
3 0004 FD000000 here SWYM 0,0,0 |
4 0008 F1FFFFFF JMP here |
5 000c F0000000 at JMP at |
6 0010 F0000004 JMP there |
7 0014 F1FFFFFC JMP here |
8 0018 F0000002 JMP there |
9 001c F1FFFFFA JMP here |
10 0020 FD000000 there SWYM 0,0,0 |
GAS for MMIX .*/jmp-op\.s page 2 |
|
|
DEFINED SYMBOLS |
.*/jmp-op\.s:2 \.text:0000000000000000 Main |
.*/jmp-op\.s:3 \.text:0000000000000004 here |
.*/jmp-op\.s:5 \.text:000000000000000c at |
.*/jmp-op\.s:10 \.text:0000000000000020 there |
|
NO UNDEFINED SYMBOLS |
/greg6.d
0,0 → 1,36
#objdump: -str |
|
# GAS must know that .data and expressions around #20 << 56 can be |
# equivalent for GREGs; like greg5 but the other way round. |
|
.*: file format elf64-mmix |
|
SYMBOL TABLE: |
0+ l d \.text 0+ (|\.text) |
0+ l d \.data 0+ (|\.data) |
0+ l d \.bss 0+ (|\.bss) |
0+ l \.text 0+ t |
2000000000000004 l \*ABS\* 0+ x |
2000000000000000 l \*ABS\* 0+ Data_Segment |
0+ l \.data 0+ y |
0+ l d \.MMIX\.reg_contents 0+ (|\.MMIX\.reg_contents) |
0+ g F \.text 0+ Main |
2000000000000008 g \*ABS\* 0+ __\.MMIX\.start\.\.data |
|
|
RELOCATION RECORDS FOR \[\.text\]: |
OFFSET TYPE VALUE |
0+2 R_MMIX_REG \.MMIX\.reg_contents |
|
|
RELOCATION RECORDS FOR \[\.MMIX\.reg_contents\]: |
OFFSET TYPE VALUE |
0+ R_MMIX_64 \.data |
|
|
Contents of section \.text: |
0000 232c0054 .* |
Contents of section \.data: |
0000 00000000 00000021 .* |
Contents of section \.MMIX\.reg_contents: |
0000 00000000 00000000 .* |
/1hjmp1b.l
0,0 → 1,14
GAS for MMIX .*/1hjmp1b.s page 1 |
|
|
1 0000 FD000000 Main SWYM 0,0,0 |
2 0004 F0000001 1H JMP 1F |
3 0008 F1FFFFFF 1H JMP 1B |
4 000c F1FFFFFF JMP 1B |
GAS for MMIX .*/1hjmp1b.s page 2 |
|
|
DEFINED SYMBOLS |
.*/1hjmp1b.s:1 .text:0000000000000000 Main |
|
NO UNDEFINED SYMBOLS |
/swym-op.d
0,0 → 1,14
# objdump: -dr |
.*: file format elf64-mmix |
|
Disassembly of section \.text: |
|
0000000000000000 <Main>: |
0: fd840def swym 132,13,239 |
4: ff840def trip 132,13,239 |
8: 00845678 trap 132,86,120 |
c: 00170def trap 23,13,239 |
10: 0023cace trap 35,202,206 |
14: ff170c43 trip 23,12,67 |
18: ff175678 trip 23,86,120 |
1c: fd12d687 swym 18,214,135 |
/zerop-1.s
0,0 → 1,9
# Check that we allow zero operands for some insns. |
# Naked comments aren't supported when no operands are supplied; this |
# matches mmixal behavior. |
Main TRAP |
SWYM |
TRIP |
JMP |
POP 123456 |
POP |
/roundi-op.d
0,0 → 1,20
# objdump: -dr |
.*: file format elf64-mmix |
|
Disassembly of section \.text: |
|
0000000000000000 <Main>: |
0: 088701f4 flot \$135,ROUND_OFF,\$244 |
4: 0a8702e9 flotu \$135,ROUND_UP,\$233 |
8: 0d85005b sflot \$133,91 |
c: 0e7b04f4 sflotu \$123,ROUND_NEAR,\$244 |
10: 0c8500f4 sflot \$133,\$244 |
14: 0987005b flot \$135,91 |
18: 0f7b045b sflotu \$123,ROUND_NEAR,91 |
1c: 0987015b flot \$135,ROUND_OFF,91 |
20: 0aad02e9 flotu \$173,ROUND_UP,\$233 |
24: 0bad02d5 flotu \$173,ROUND_UP,213 |
28: 0c8700f4 sflot \$135,\$244 |
2c: 0b870277 flotu \$135,ROUND_UP,119 |
30: 0d87005b sflot \$135,91 |
34: 088700f4 flot \$135,\$244 |
/regt-op.d
0,0 → 1,134
# objdump: -dr |
.*: file format elf64-mmix |
|
Disassembly of section \.text: |
|
0000000000000000 <Main>: |
0: 22170c43 addu \$23,\$12,\$67 |
4: 88200c43 ldt \$32,\$12,\$67 |
8: 820c2043 ldbu \$12,\$32,\$67 |
c: 8ae88543 ldtu \$232,\$133,\$67 |
10: 8c170c49 ldo \$23,\$12,\$73 |
14: 8e1f0ce9 ldou \$31,\$12,\$233 |
18: 841726d4 ldw \$23,\$38,\$212 |
1c: 8604afb5 ldwu \$4,\$175,\$181 |
20: 81170cb0 ldb \$23,\$12,176 |
24: 91200cb0 ldsf \$32,\$12,176 |
28: 990c20b0 ldvts \$12,\$32,176 |
2c: 97e885b0 ldunc \$232,\$133,176 |
30: b3170ccb stht \$23,\$12,203 |
34: 931f0cd5 ldht \$31,\$12,213 |
38: 951726d3 cswap \$23,\$38,211 |
3c: 9f04afa1 go \$4,\$175,161 |
40: 23170c00 addu \$23,\$12,0 |
44: 81170c00 ldb \$23,\$12,0 |
48: 89170c00 ldt \$23,\$12,0 |
4c: 83170c00 ldbu \$23,\$12,0 |
50: 8b170c00 ldtu \$23,\$12,0 |
54: 8d170c00 ldo \$23,\$12,0 |
58: 8f170c00 ldou \$23,\$12,0 |
5c: 85170c00 ldw \$23,\$12,0 |
60: 87170c00 ldwu \$23,\$12,0 |
64: 91170c00 ldsf \$23,\$12,0 |
68: 93170c00 ldht \$23,\$12,0 |
6c: 95170c00 cswap \$23,\$12,0 |
70: 97170c00 ldunc \$23,\$12,0 |
74: 99170c00 ldvts \$23,\$12,0 |
78: 9f170c00 go \$23,\$12,0 |
7c: a1170c00 stb \$23,\$12,0 |
80: a9170c00 stt \$23,\$12,0 |
84: a3170c00 stbu \$23,\$12,0 |
88: ab170c00 sttu \$23,\$12,0 |
8c: ad170c00 sto \$23,\$12,0 |
90: af170c00 stou \$23,\$12,0 |
94: a5170c00 stw \$23,\$12,0 |
98: a7170c00 stwu \$23,\$12,0 |
9c: b1170c00 stsf \$23,\$12,0 |
a0: b3170c00 stht \$23,\$12,0 |
a4: b7170c00 stunc \$23,\$12,0 |
a8: 23290c00 addu \$41,\$12,0 |
ac: 81790c00 ldb \$121,\$12,0 |
b0: 894e0c00 ldt \$78,\$12,0 |
b4: 837f0c00 ldbu \$127,\$12,0 |
b8: 8b310c00 ldtu \$49,\$12,0 |
bc: 8d340c00 ldo \$52,\$12,0 |
c0: 8f2a0c00 ldou \$42,\$12,0 |
c4: 857b0c00 ldw \$123,\$12,0 |
c8: 87ea0c00 ldwu \$234,\$12,0 |
cc: 91290c00 ldsf \$41,\$12,0 |
d0: 93590c00 ldht \$89,\$12,0 |
d4: 955d0c00 cswap \$93,\$12,0 |
d8: 972a0c00 ldunc \$42,\$12,0 |
dc: 99210c00 ldvts \$33,\$12,0 |
e0: 9f3b0c00 go \$59,\$12,0 |
e4: a13b0c00 stb \$59,\$12,0 |
e8: a93b0c00 stt \$59,\$12,0 |
ec: a33b0c00 stbu \$59,\$12,0 |
f0: ab3b0c00 sttu \$59,\$12,0 |
f4: ad3b0c00 sto \$59,\$12,0 |
f8: af3b0c00 stou \$59,\$12,0 |
fc: a53b0c00 stw \$59,\$12,0 |
100: a73b0c00 stwu \$59,\$12,0 |
104: b13b0c00 stsf \$59,\$12,0 |
108: b33b0c00 stht \$59,\$12,0 |
10c: b73b0c00 stunc \$59,\$12,0 |
110: 23171b00 addu \$23,\$27,0 |
114: 81173000 ldb \$23,\$48,0 |
118: 8917a800 ldt \$23,\$168,0 |
11c: 8317ea00 ldbu \$23,\$234,0 |
120: 8b17b000 ldtu \$23,\$176,0 |
124: 8d171d00 ldo \$23,\$29,0 |
128: 8f17de00 ldou \$23,\$222,0 |
12c: 8517de00 ldw \$23,\$222,0 |
130: 8717de00 ldwu \$23,\$222,0 |
134: 9117de00 ldsf \$23,\$222,0 |
138: 9317de00 ldht \$23,\$222,0 |
13c: 9517de00 cswap \$23,\$222,0 |
140: 9717de00 ldunc \$23,\$222,0 |
144: 9917de00 ldvts \$23,\$222,0 |
148: 9f17de00 go \$23,\$222,0 |
14c: a117de00 stb \$23,\$222,0 |
150: a917de00 stt \$23,\$222,0 |
154: a317de00 stbu \$23,\$222,0 |
158: ab17de00 sttu \$23,\$222,0 |
15c: ad17de00 sto \$23,\$222,0 |
160: af17de00 stou \$23,\$222,0 |
164: a517de00 stw \$23,\$222,0 |
168: a717de00 stwu \$23,\$222,0 |
16c: b117de00 stsf \$23,\$222,0 |
170: b317de00 stht \$23,\$222,0 |
174: b717de00 stunc \$23,\$222,0 |
178: 23dfdb00 addu \$223,\$219,0 |
17c: 81dfef00 ldb \$223,\$239,0 |
180: 89dfef00 ldt \$223,\$239,0 |
184: 83df1d00 ldbu \$223,\$29,0 |
188: 8bdfef00 ldtu \$223,\$239,0 |
18c: 8d17ef00 ldo \$23,\$239,0 |
190: 8fdfef00 ldou \$223,\$239,0 |
194: 85dfd100 ldw \$223,\$209,0 |
198: 877bef00 ldwu \$123,\$239,0 |
19c: 91dfef00 ldsf \$223,\$239,0 |
1a0: 93df1d00 ldht \$223,\$29,0 |
1a4: 95dfef00 cswap \$223,\$239,0 |
1a8: 977bef00 ldunc \$123,\$239,0 |
1ac: 99dfef00 ldvts \$223,\$239,0 |
1b0: 9fdfef00 go \$223,\$239,0 |
1b4: a1dfef00 stb \$223,\$239,0 |
1b8: a9dff900 stt \$223,\$249,0 |
1bc: a3cbef00 stbu \$203,\$239,0 |
1c0: ab49ef00 sttu \$73,\$239,0 |
1c4: addfef00 sto \$223,\$239,0 |
1c8: afdf2700 stou \$223,\$39,0 |
1cc: a5dfef00 stw \$223,\$239,0 |
1d0: a7e9ef00 stwu \$233,\$239,0 |
1d4: b1dfef00 stsf \$223,\$239,0 |
1d8: b3df1700 stht \$223,\$23,0 |
1dc: b7dfef00 stunc \$223,\$239,0 |
1e0: 9f170c00 go \$23,\$12,0 |
1e4: 99200c00 ldvts \$32,\$12,0 |
1e8: a10c2000 stb \$12,\$32,0 |
1ec: b7e88500 stunc \$232,\$133,0 |
1f0: a7170c00 stwu \$23,\$12,0 |
1f4: ad1f0c00 sto \$31,\$12,0 |
1f8: 9f172600 go \$23,\$38,0 |
1fc: 9504af00 cswap \$4,\$175,0 |
/err-case.s
0,0 → 1,8
% Check that lowercase pseudos with mmixal syntax (no dot prefix) aren't |
% recognized. Since local is handled as an insn, it's actually |
% misrecognized in lower case. |
% { dg-do assemble { target mmix-*-* } } |
Main SWYM 0,0,0 |
X is 42 % { dg-error "unknown opcode: \`is\'" "" } |
local 56 % { dg-error "unknown opcode: \`fatal\'" "" { xfail *-*-* } } |
a greg 94 % { dg-error "unknown opcode: \`greg\'" "" } |
/jmp-op.s
0,0 → 1,10
# A small jumble of JMP:s. |
Main SWYM 0,0,0 |
here SWYM 0,0,0 |
JMP here |
at JMP at |
JMP there |
JMP here |
JMP there |
JMP here |
there SWYM 0,0,0 |
/1hjmp1b.s
0,0 → 1,4
Main SWYM 0,0,0 |
1H JMP 1F |
1H JMP 1B |
JMP 1B |
/reloclab.d
0,0 → 1,43
#objdump: -dr |
#as: -x --no-stubs |
|
.*: file format elf64-mmix |
|
Disassembly of section \.text: |
|
0000000000000000 <Main>: |
0: f0000000 jmp 0 <Main> |
0: R_MMIX_JMP foo\+0x8 |
4: fd000000 swym 0,0,0 |
8: fd000000 swym 0,0,0 |
c: fd000000 swym 0,0,0 |
10: fd000000 swym 0,0,0 |
14: f0000004 jmp 24 <here> |
18: f4080003 geta \$8,24 <here> |
1c: 46630002 bod \$99,24 <here> |
20: fd000000 swym 0,0,0 |
|
0000000000000024 <here>: |
24: 42de0000 bz \$222,24 <here> |
24: R_MMIX_CBRANCH bar\+0x10 |
28: fd000000 swym 0,0,0 |
2c: fd000000 swym 0,0,0 |
30: fd000000 swym 0,0,0 |
34: fd000000 swym 0,0,0 |
38: fd000000 swym 0,0,0 |
|
000000000000003c <there>: |
3c: f4040000 geta \$4,3c <there> |
3c: R_MMIX_GETA baz |
40: fd000000 swym 0,0,0 |
44: fd000000 swym 0,0,0 |
48: fd000000 swym 0,0,0 |
4c: f2070000 pushj \$7,4c <there\+0x10> |
4c: R_MMIX_PUSHJ foobar |
50: fd000000 swym 0,0,0 |
54: fd000000 swym 0,0,0 |
58: fd000000 swym 0,0,0 |
5c: fd000000 swym 0,0,0 |
60: f1fffff7 jmp 3c <there> |
64: f558fff6 geta \$88,3c <there> |
68: 476ffff5 bod \$111,3c <there> |
/swym-op.l
0,0 → 1,30
GAS for MMIX .*/swym-op\.s page 1 |
|
|
1 #.* |
2 #.* |
3 0000 FD840DEF Main SWYM 132,3567 |
4 0004 FF840DEF TRIP 132,3567 |
5 0008 00845678 TRAP 132,YZ |
6 000c 00170DEF TRAP X,3567 |
7 0010 0023CACE TRAP 2345678 |
8 0014 FF170C43 TRIP X,Y,Z |
9 0018 FF175678 TRIP X,YZ |
10 001c FD12D687 SWYM XYZ |
11 X IS 23 |
12 Y IS 12 |
13 Z IS 67 |
14 YZ IS #5678 |
15 XYZ IS 1234567 |
GAS for MMIX .*/swym-op\.s page 2 |
|
|
DEFINED SYMBOLS |
.*/swym-op\.s:3 \.text:0000000000000000 Main |
\*ABS\*:0000000000005678 YZ |
\*ABS\*:0000000000000017 X |
\*ABS\*:000000000000000c Y |
\*ABS\*:0000000000000043 Z |
\*ABS\*:000000000012d687 XYZ |
|
NO UNDEFINED SYMBOLS |
/err-loc-5.s
0,0 → 1,4
% { dg-do assemble { target mmix-*-* } } |
LOC (#20<<56)|1 |
.p2align 0 |
SWYM 1 % { dg-error "unaligned data at an absolute location" "" } |
/roundi-op.l
0,0 → 1,31
GAS for MMIX .*/roundi-op\.s page 1 |
|
|
1 #.* |
2 0000 088701F4 Main FLOT X,ROUND_OFF,Z |
3 0004 0A8702E9 FLOTU X,2,\$233 |
4 0008 0D85005B SFLOT \$133,0,Z0 |
5 000c 0E7B04F4 SFLOTU \$123,ROUND_NEAR,Z |
6 0010 0C8500F4 SFLOT \$133,0,Z |
7 0014 0987005B FLOT X,ROUND_CURRENT,Z0 |
8 0018 0F7B045B SFLOTU \$123,ROUND_NEAR,Z0 |
9 001c 0987015B FLOT X,ROUND_OFF,Z0 |
10 0020 0AAD02E9 FLOTU \$173,2,\$233 |
11 0024 0BAD02D5 FLOTU \$173,2,213 |
12 0028 0C8700F4 SFLOT X,0,Z |
13 002c 0B870277 FLOTU X,2,119 |
14 0030 0D87005B SFLOT X,0,Z0 |
15 0034 088700F4 FLOT X,ROUND_CURRENT,Z |
16 X IS \$135 |
17 Z IS \$244 |
18 Z0 IS 91 |
GAS for MMIX .*/roundi-op\.s page 2 |
|
|
DEFINED SYMBOLS |
.*/roundi-op\.s:2 \.text:0000000000000000 Main |
\*REG\*:0000000000000087 X |
\*REG\*:00000000000000f4 Z |
\*ABS\*:000000000000005b Z0 |
|
NO UNDEFINED SYMBOLS |
/regt-op.l
0,0 → 1,160
GAS for MMIX .*/regt-op\.s page 1 |
|
|
1 #.* |
2 #.* |
3 0000 22170C43 Main LDA X,Y,Z |
4 0004 88200C43 LDT \$32,Y,Z |
5 0008 820C2043 LDBU Y,\$32,Z |
6 000c 8AE88543 LDTU \$232,\$133,Z |
7 0010 8C170C49 LDO X,Y,\$73 |
8 0014 8E1F0CE9 LDOU \$31,Y,\$233 |
9 0018 841726D4 LDW X,\$38,\$212 |
10 001c 8604AFB5 LDWU \$4,\$175,\$181 |
11 |
12 0020 81170CB0 LDB X,Y,Z0 |
13 0024 91200CB0 LDSF \$32,Y,Z0 |
14 0028 990C20B0 LDVTS Y,\$32,Z0 |
15 002c 97E885B0 LDUNC \$232,\$133,Z0 |
16 0030 B3170CCB STHT X,Y,203 |
17 0034 931F0CD5 LDHT \$31,Y,213 |
18 0038 951726D3 CSWAP X,\$38,211 |
19 003c 9F04AFA1 GO \$4,\$175,161 |
20 |
21 0040 23170C00 LDA X,Y |
22 0044 81170C00 LDB X,Y |
23 0048 89170C00 LDT X,Y |
24 004c 83170C00 LDBU X,Y |
25 0050 8B170C00 LDTU X,Y |
26 0054 8D170C00 LDO X,Y |
27 0058 8F170C00 LDOU X,Y |
28 005c 85170C00 LDW X,Y |
29 0060 87170C00 LDWU X,Y |
30 0064 91170C00 LDSF X,Y |
31 0068 93170C00 LDHT X,Y |
32 006c 95170C00 CSWAP X,Y |
33 0070 97170C00 LDUNC X,Y |
34 0074 99170C00 LDVTS X,Y |
35 0078 9F170C00 GO X,Y |
36 007c A1170C00 STB X,Y |
37 0080 A9170C00 STT X,Y |
38 0084 A3170C00 STBU X,Y |
39 0088 AB170C00 STTU X,Y |
40 008c AD170C00 STO X,Y |
41 0090 AF170C00 STOU X,Y |
42 0094 A5170C00 STW X,Y |
43 0098 A7170C00 STWU X,Y |
44 009c B1170C00 STSF X,Y |
45 00a0 B3170C00 STHT X,Y |
46 00a4 B7170C00 STUNC X,Y |
47 |
48 00a8 23290C00 LDA \$41,Y |
49 00ac 81790C00 LDB \$121,Y |
50 00b0 894E0C00 LDT \$78,Y |
51 00b4 837F0C00 LDBU \$127,Y |
52 00b8 8B310C00 LDTU \$49,Y |
53 00bc 8D340C00 LDO \$52,Y |
54 00c0 8F2A0C00 LDOU \$42,Y |
55 00c4 857B0C00 LDW \$123,Y |
56 00c8 87EA0C00 LDWU \$234,Y |
57 00cc 91290C00 LDSF \$41,Y |
GAS for MMIX .*/regt-op\.s page 2 |
|
|
58 00d0 93590C00 LDHT \$89,Y |
59 00d4 955D0C00 CSWAP \$93,Y |
60 00d8 972A0C00 LDUNC \$42,Y |
61 00dc 99210C00 LDVTS \$33,Y |
62 00e0 9F3B0C00 GO \$59,Y |
63 00e4 A13B0C00 STB \$59,Y |
64 00e8 A93B0C00 STT \$59,Y |
65 00ec A33B0C00 STBU \$59,Y |
66 00f0 AB3B0C00 STTU \$59,Y |
67 00f4 AD3B0C00 STO \$59,Y |
68 00f8 AF3B0C00 STOU \$59,Y |
69 00fc A53B0C00 STW \$59,Y |
70 0100 A73B0C00 STWU \$59,Y |
71 0104 B13B0C00 STSF \$59,Y |
72 0108 B33B0C00 STHT \$59,Y |
73 010c B73B0C00 STUNC \$59,Y |
74 |
75 0110 23171B00 LDA X,\$27 |
76 0114 81173000 LDB X,\$48 |
77 0118 8917A800 LDT X,\$168 |
78 011c 8317EA00 LDBU X,\$234 |
79 0120 8B17B000 LDTU X,\$176 |
80 0124 8D171D00 LDO X,\$29 |
81 0128 8F17DE00 LDOU X,\$222 |
82 012c 8517DE00 LDW X,\$222 |
83 0130 8717DE00 LDWU X,\$222 |
84 0134 9117DE00 LDSF X,\$222 |
85 0138 9317DE00 LDHT X,\$222 |
86 013c 9517DE00 CSWAP X,\$222 |
87 0140 9717DE00 LDUNC X,\$222 |
88 0144 9917DE00 LDVTS X,\$222 |
89 0148 9F17DE00 GO X,\$222 |
90 014c A117DE00 STB X,\$222 |
91 0150 A917DE00 STT X,\$222 |
92 0154 A317DE00 STBU X,\$222 |
93 0158 AB17DE00 STTU X,\$222 |
94 015c AD17DE00 STO X,\$222 |
95 0160 AF17DE00 STOU X,\$222 |
96 0164 A517DE00 STW X,\$222 |
97 0168 A717DE00 STWU X,\$222 |
98 016c B117DE00 STSF X,\$222 |
99 0170 B317DE00 STHT X,\$222 |
100 0174 B717DE00 STUNC X,\$222 |
101 |
102 0178 23DFDB00 LDA \$223,\$219 |
103 017c 81DFEF00 LDB \$223,\$239 |
104 0180 89DFEF00 LDT \$223,\$239 |
105 0184 83DF1D00 LDBU \$223,\$29 |
106 0188 8BDFEF00 LDTU \$223,\$239 |
107 018c 8D17EF00 LDO \$23,\$239 |
108 0190 8FDFEF00 LDOU \$223,\$239 |
109 0194 85DFD100 LDW \$223,\$209 |
110 0198 877BEF00 LDWU \$123,\$239 |
111 019c 91DFEF00 LDSF \$223,\$239 |
112 01a0 93DF1D00 LDHT \$223,\$29 |
113 01a4 95DFEF00 CSWAP \$223,\$239 |
114 01a8 977BEF00 LDUNC \$123,\$239 |
GAS for MMIX .*/regt-op\.s page 3 |
|
|
115 01ac 99DFEF00 LDVTS \$223,\$239 |
116 01b0 9FDFEF00 GO \$223,\$239 |
117 01b4 A1DFEF00 STB \$223,\$239 |
118 01b8 A9DFF900 STT \$223,\$249 |
119 01bc A3CBEF00 STBU \$203,\$239 |
120 01c0 AB49EF00 STTU \$73,\$239 |
121 01c4 ADDFEF00 STO \$223,\$239 |
122 01c8 AFDF2700 STOU \$223,\$39 |
123 01cc A5DFEF00 STW \$223,\$239 |
124 01d0 A7E9EF00 STWU \$233,\$239 |
125 01d4 B1DFEF00 STSF \$223,\$239 |
126 01d8 B3DF1700 STHT \$223,\$23 |
127 01dc B7DFEF00 STUNC \$223,\$239 |
128 |
129 01e0 9F170C00 GO X,Y,0 |
130 01e4 99200C00 LDVTS \$32,Y,0 |
131 01e8 A10C2000 STB Y,\$32,0 |
132 01ec B7E88500 STUNC \$232,\$133,0 |
133 01f0 A7170C00 STWU X,Y,0 |
134 01f4 AD1F0C00 STO \$31,Y,0 |
135 01f8 9F172600 GO X,\$38,0 |
136 01fc 9504AF00 CSWAP \$4,\$175,0 |
137 X IS \$23 |
138 Y IS \$12 |
139 Z IS \$67 |
140 Z0 IS 176 |
GAS for MMIX .*/regt-op\.s page 4 |
|
|
DEFINED SYMBOLS |
.*/regt-op\.s:3 \.text:0000000000000000 Main |
\*REG\*:0000000000000017 X |
\*REG\*:000000000000000c Y |
\*REG\*:0000000000000043 Z |
\*ABS\*:00000000000000b0 Z0 |
|
NO UNDEFINED SYMBOLS |
/fb-1.d
0,0 → 1,20
#objdump: -str |
|
.*: file format elf64-mmix |
|
SYMBOL TABLE: |
0+ l d \.text 0+ (|\.text) |
0+ l d \.data 0+ (|\.data) |
0+ l d \.bss 0+ (|\.bss) |
0+ l d \.MMIX\.reg_contents 0+ (|\.MMIX\.reg_contents) |
|
|
RELOCATION RECORDS FOR \[\.text\]: |
OFFSET TYPE VALUE |
0+2 R_MMIX_REG \.MMIX\.reg_contents |
|
|
Contents of section \.text: |
0+ dd2d0038 .* |
Contents of section \.MMIX\.reg_contents: |
0+ 00000000 aabbccdd 00000000 00112233 .* |
/1cjmp1b-n.d
0,0 → 1,12
# objdump: -dr |
# source: 1cjmp1b.s |
# as: -no-expand |
.*: file format elf64-mmix |
|
Disassembly of section \.text: |
|
0000000000000000 <Main>: |
0: fd000000 swym 0,0,0 |
4: f0000001 jmp 8 <Main\+0x8> |
8: f0000000 jmp 8 <Main\+0x8> |
c: f1ffffff jmp 8 <Main\+0x8> |
/pushj-c.s
0,0 → 1,5
% PUSHJ far away must not fail |
i1 IS #ffff0000ffff0000 |
Main PUSHJ $1,i1 |
PUSHJ $2,i2 |
i2 IS #ffff0000ffff0000 |
/greg6.s
0,0 → 1,9
t IS @ |
x IS Data_Segment+4 |
|
LOC x+4 |
y OCTA 33 |
GREG y |
|
LOC t |
Main LDA $44,x+88 |
/swym-op.s
0,0 → 1,15
# Check different type of operands to SWYM etc. |
# No need to check the canonical three constants. |
Main SWYM 132,3567 |
TRIP 132,3567 |
TRAP 132,YZ |
TRAP X,3567 |
TRAP 2345678 |
TRIP X,Y,Z |
TRIP X,YZ |
SWYM XYZ |
X IS 23 |
Y IS 12 |
Z IS 67 |
YZ IS #5678 |
XYZ IS 1234567 |
/geta-op-r.d
0,0 → 1,37
# objdump: -dr |
# as: -linkrelax |
# source: geta-op.s |
.*: file format elf64-mmix |
|
Disassembly of section \.text: |
|
0000000000000000 <Main>: |
0: fd000000 swym 0,0,0 |
|
0000000000000004 <here>: |
4: fd000000 swym 0,0,0 |
8: f519ffff geta \$25,4 <here> |
8: R_MMIX_ADDR19 \.text\+0x4 |
|
000000000000000c <at>: |
c: f4200000 geta \$32,c <at> |
c: R_MMIX_ADDR19 \.text\+0xc |
10: 424e0008 bz \$78,30 <there> |
10: R_MMIX_ADDR19 \.text\+0x30 |
14: f35bfffc pushj \$91,4 <here> |
14: R_MMIX_ADDR19 \.text\+0x4 |
18: f387fffb pushj \$135,4 <here> |
18: R_MMIX_ADDR19 \.text\+0x4 |
1c: f4870005 geta \$135,30 <there> |
1c: R_MMIX_ADDR19 \.text\+0x30 |
20: f2870004 pushj \$135,30 <there> |
20: R_MMIX_ADDR19 \.text\+0x30 |
24: f2490003 pushj \$73,30 <there> |
24: R_MMIX_ADDR19 \.text\+0x30 |
28: f2380002 pushj \$56,30 <there> |
28: R_MMIX_ADDR19 \.text\+0x30 |
2c: 5f87fff6 pbev \$135,4 <here> |
2c: R_MMIX_ADDR19 \.text\+0x4 |
|
0000000000000030 <there>: |
30: fd000000 swym 0,0,0 |
/reloclab.l
0,0 → 1,42
GAS for MMIX .*/reloclab\.s page 1 |
|
|
1 #.* |
2 #.* |
3 #.* |
4 0000 F0000000 Main JMP foo\+8 |
4 FD000000 |
4 FD000000 |
4 FD000000 |
4 FD000000 |
5 0014 F0000004 JMP here |
6 0018 F4080003 GETA \$8,here |
7 001c 46630002 BOD \$99,here |
8 0020 FD000000 SWYM 0 |
9 0024 42DE0000 here BZ \$222,bar\+16 |
9 FD000000 |
9 FD000000 |
9 FD000000 |
9 FD000000 |
9 FD000000 |
10 003c F4040000 there GETA \$4,baz |
10 FD000000 |
10 FD000000 |
10 FD000000 |
11 004c F2070000 PUSHJ \$7,foobar |
12 0050 F1FFFFFB JMP there |
13 0054 F558FFFA GETA \$88,there |
14 0058 476FFFF9 BOD \$111,there |
GAS for MMIX .*/reloclab\.s page 2 |
|
|
DEFINED SYMBOLS |
.*/reloclab\.s:4 \.text:0000000000000000 Main |
.*/reloclab\.s:9 \.text:0000000000000024 here |
.*/reloclab\.s:10 \.text:000000000000003c there |
|
UNDEFINED SYMBOLS |
foo |
bar |
baz |
foobar |
/bspec-2.d
0,0 → 1,27
#readelf: -Sr -x1 -x4 |
There are 11 section headers, starting at offset 0x..: |
#... |
\[ 4\] \.MMIX\.spec_data\.2 PROGBITS 0+ 0+48 |
0+10 0+ 0 0 8 |
\[ 5\] \.rela\.MMIX\.spec_d RELA 0+ 0+4.. |
0+30 0+18 9 4 8 |
\[ 6\] \.MMIX\.spec_data\.3 PROGBITS 0+ 0+58 |
0+8 0+ 0 0 8 |
\[ 7\] \.rela\.MMIX\.spec_d RELA 0+ 0+4.. |
0+18 0+18 9 6 8 |
#... |
Relocation section '\.rela\.MMIX\.spec_data\.2' at offset 0x4.. contains 2 entries: |
.* |
0+ 0+600000004 R_MMIX_32 +0+ +forw +\+ 0 |
0+8 0+700000005 R_MMIX_64 +0+ +other +\+ 0 |
|
Relocation section '\.rela\.MMIX\.spec_data\.3' at offset 0x4.. contains 1 entries: |
.* |
0+ 0+700000005 R_MMIX_64 +0+ +other +\+ 0 |
|
Hex dump of section '\.text': |
0x0+ fd010203 .* |
|
Hex dump of section '\.MMIX\.spec_data\.2': |
NOTE: This section has relocations against it, but these have NOT been applied to this dump. |
0x0+ 00000000 0000002a 00000000 00000000 .* |
/roundi-op.s
0,0 → 1,18
# Round-type "R". |
Main FLOT X,ROUND_OFF,Z |
FLOTU X,2,$233 |
SFLOT $133,0,Z0 |
SFLOTU $123,ROUND_NEAR,Z |
SFLOT $133,0,Z |
FLOT X,ROUND_CURRENT,Z0 |
SFLOTU $123,ROUND_NEAR,Z0 |
FLOT X,ROUND_OFF,Z0 |
FLOTU $173,2,$233 |
FLOTU $173,2,213 |
SFLOT X,0,Z |
FLOTU X,2,119 |
SFLOT X,0,Z0 |
FLOT X,ROUND_CURRENT,Z |
X IS $135 |
Z IS $244 |
Z0 IS 91 |
/regt-op.s
0,0 → 1,140
# All-registers, 'T'-type operands; optional third operand is |
# register or constant. |
Main LDA X,Y,Z |
LDT $32,Y,Z |
LDBU Y,$32,Z |
LDTU $232,$133,Z |
LDO X,Y,$73 |
LDOU $31,Y,$233 |
LDW X,$38,$212 |
LDWU $4,$175,$181 |
|
LDB X,Y,Z0 |
LDSF $32,Y,Z0 |
LDVTS Y,$32,Z0 |
LDUNC $232,$133,Z0 |
STHT X,Y,203 |
LDHT $31,Y,213 |
CSWAP X,$38,211 |
GO $4,$175,161 |
|
LDA X,Y |
LDB X,Y |
LDT X,Y |
LDBU X,Y |
LDTU X,Y |
LDO X,Y |
LDOU X,Y |
LDW X,Y |
LDWU X,Y |
LDSF X,Y |
LDHT X,Y |
CSWAP X,Y |
LDUNC X,Y |
LDVTS X,Y |
GO X,Y |
STB X,Y |
STT X,Y |
STBU X,Y |
STTU X,Y |
STO X,Y |
STOU X,Y |
STW X,Y |
STWU X,Y |
STSF X,Y |
STHT X,Y |
STUNC X,Y |
|
LDA $41,Y |
LDB $121,Y |
LDT $78,Y |
LDBU $127,Y |
LDTU $49,Y |
LDO $52,Y |
LDOU $42,Y |
LDW $123,Y |
LDWU $234,Y |
LDSF $41,Y |
LDHT $89,Y |
CSWAP $93,Y |
LDUNC $42,Y |
LDVTS $33,Y |
GO $59,Y |
STB $59,Y |
STT $59,Y |
STBU $59,Y |
STTU $59,Y |
STO $59,Y |
STOU $59,Y |
STW $59,Y |
STWU $59,Y |
STSF $59,Y |
STHT $59,Y |
STUNC $59,Y |
|
LDA X,$27 |
LDB X,$48 |
LDT X,$168 |
LDBU X,$234 |
LDTU X,$176 |
LDO X,$29 |
LDOU X,$222 |
LDW X,$222 |
LDWU X,$222 |
LDSF X,$222 |
LDHT X,$222 |
CSWAP X,$222 |
LDUNC X,$222 |
LDVTS X,$222 |
GO X,$222 |
STB X,$222 |
STT X,$222 |
STBU X,$222 |
STTU X,$222 |
STO X,$222 |
STOU X,$222 |
STW X,$222 |
STWU X,$222 |
STSF X,$222 |
STHT X,$222 |
STUNC X,$222 |
|
LDA $223,$219 |
LDB $223,$239 |
LDT $223,$239 |
LDBU $223,$29 |
LDTU $223,$239 |
LDO $23,$239 |
LDOU $223,$239 |
LDW $223,$209 |
LDWU $123,$239 |
LDSF $223,$239 |
LDHT $223,$29 |
CSWAP $223,$239 |
LDUNC $123,$239 |
LDVTS $223,$239 |
GO $223,$239 |
STB $223,$239 |
STT $223,$249 |
STBU $203,$239 |
STTU $73,$239 |
STO $223,$239 |
STOU $223,$39 |
STW $223,$239 |
STWU $233,$239 |
STSF $223,$239 |
STHT $223,$23 |
STUNC $223,$239 |
|
GO X,Y,0 |
LDVTS $32,Y,0 |
STB Y,$32,0 |
STUNC $232,$133,0 |
STWU X,Y,0 |
STO $31,Y,0 |
GO X,$38,0 |
CSWAP $4,$175,0 |
X IS $23 |
Y IS $12 |
Z IS $67 |
Z0 IS 176 |
/relax1.d
0,0 → 1,118
#objdump: -dr |
#as: -x |
|
.*: file format elf64-mmix |
|
Disassembly of section \.text: |
|
0000000000000000 <Main>: |
0: f0020019 jmp 80064 <l6> |
|
0000000000000004 <l0>: |
4: f0020018 jmp 80064 <l6> |
|
0000000000000008 <l1>: |
8: f0020017 jmp 80064 <l6> |
|
000000000000000c <l01>: |
c: f0020016 jmp 80064 <l6> |
10: f407ffff geta \$7,4000c <nearfar1> |
14: f2bfffff pushj \$191,40010 <nearfar2> |
|
0000000000000018 <l2>: |
18: f000fffe jmp 40010 <nearfar2> |
\.\.\. |
40004: 4d480000 bnp \$72,4 <l0> |
40008: f5040000 geta \$4,8 <l1> |
|
000000000004000c <nearfar1>: |
4000c: f3050000 pushj \$5,c <l01> |
|
0000000000040010 <nearfar2>: |
40010: f4090000 geta \$9,40010 <nearfar2> |
40010: R_MMIX_GETA \.text\+0x8 |
40014: fd000000 swym 0,0,0 |
40018: fd000000 swym 0,0,0 |
4001c: fd000000 swym 0,0,0 |
40020: f20b0000 pushj \$11,40020 <nearfar2\+0x10> |
40020: R_MMIX_PUSHJ \.text\+0x80030 |
40024: fd000000 swym 0,0,0 |
40028: fd000000 swym 0,0,0 |
4002c: fd000000 swym 0,0,0 |
40030: fd000000 swym 0,0,0 |
|
0000000000040034 <l4>: |
40034: 4437ffff bp \$55,80030 <l3> |
\.\.\. |
8002c: f1fdfff7 jmp 8 <l1> |
|
0000000000080030 <l3>: |
80030: f1fdfff5 jmp 4 <l0> |
80034: 47580000 bod \$88,40034 <l4> |
80038: 46580000 bod \$88,80038 <l3\+0x8> |
80038: R_MMIX_CBRANCH \.text\+0x40034 |
8003c: fd000000 swym 0,0,0 |
80040: fd000000 swym 0,0,0 |
80044: fd000000 swym 0,0,0 |
80048: fd000000 swym 0,0,0 |
8004c: fd000000 swym 0,0,0 |
80050: f0000000 jmp 80050 <l3\+0x20> |
80050: R_MMIX_JMP \.text\+0x4080060 |
80054: fd000000 swym 0,0,0 |
80058: fd000000 swym 0,0,0 |
8005c: fd000000 swym 0,0,0 |
80060: fd000000 swym 0,0,0 |
|
0000000000080064 <l6>: |
80064: f0ffffff jmp 4080060 <l5> |
80068: 436ffff2 bz \$111,80030 <l3> |
\.\.\. |
|
0000000004080060 <l5>: |
4080060: f000000d jmp 4080094 <l8> |
4080064: f1000000 jmp 80064 <l6> |
4080068: f0000000 jmp 4080068 <l5\+0x8> |
4080068: R_MMIX_JMP \.text\+0x80064 |
408006c: fd000000 swym 0,0,0 |
4080070: fd000000 swym 0,0,0 |
4080074: fd000000 swym 0,0,0 |
4080078: fd000000 swym 0,0,0 |
408007c: 482c0000 bnn \$44,408007c <l5\+0x1c> |
408007c: R_MMIX_CBRANCH \.text\+0x40c0090 |
4080080: fd000000 swym 0,0,0 |
4080084: fd000000 swym 0,0,0 |
4080088: fd000000 swym 0,0,0 |
408008c: fd000000 swym 0,0,0 |
4080090: fd000000 swym 0,0,0 |
|
0000000004080094 <l8>: |
4080094: 482cffff bnn \$44,40c0090 <l9> |
4080098: f1fffff2 jmp 4080060 <l5> |
408009c: f1fffff1 jmp 4080060 <l5> |
\.\.\. |
|
00000000040c008c <l10>: |
40c008c: f1fefff5 jmp 4080060 <l5> |
|
00000000040c0090 <l9>: |
40c0090: f0000007 jmp 40c00ac <l11> |
|
00000000040c0094 <l7>: |
40c0094: f3210000 pushj \$33,4080094 <l8> |
40c0098: f2210000 pushj \$33,40c0098 <l7\+0x4> |
40c0098: R_MMIX_PUSHJ \.text\+0x4080094 |
40c009c: fd000000 swym 0,0,0 |
40c00a0: fd000000 swym 0,0,0 |
40c00a4: fd000000 swym 0,0,0 |
40c00a8: fd000000 swym 0,0,0 |
|
00000000040c00ac <l11>: |
40c00ac: f1feffed jmp 4080060 <l5> |
40c00b0: f1fefff9 jmp 4080094 <l8> |
\.\.\. |
41000ac: f53d0000 geta \$61,40c00ac <l11> |
41000b0: f4480000 geta \$72,41000b0 <l11\+0x40004> |
41000b0: R_MMIX_GETA \.text\+0x40c00ac |
41000b4: fd000000 swym 0,0,0 |
41000b8: fd000000 swym 0,0,0 |
41000bc: fd000000 swym 0,0,0 |
/basep-6.d
0,0 → 1,17
#source: err-bpo4.s |
#as: -linker-allocated-gregs |
#objdump: -dr |
|
# The -linker-allocated-gregs option validates omissions of GREG. |
|
.*: file format elf64-mmix |
|
Disassembly of section \.text: |
|
0+ <Main>: |
0: bf2a0000 pushgo \$42,\$0,0 |
2: R_MMIX_BASE_PLUS_OFFSET fn |
4: fd000000 swym 0,0,0 |
|
0+8 <extfn>: |
8: f8000000 pop 0,0 |
/reloclab.s
0,0 → 1,14
# Different relocations for extern labels: GETA, PUSHJ, Bcc, JMP. |
# Mix in different accesses to local labels to see that relaxing works for |
# this case. |
Main JMP foo+8 |
JMP here |
GETA $8,here |
BOD $99,here |
SWYM 0 |
here BZ $222,bar+16 |
there GETA $4,baz |
PUSHJ $7,foobar |
JMP there |
GETA $88,there |
BOD $111,there |
/relax1.l
0,0 → 1,128
GAS for MMIX .*/relax1\.s page 1 |
|
|
1 #.* |
2 #.* |
3 #.* |
4 0000 F0020019 Main JMP l6 |
5 0004 F0020018 l0 JMP l6 |
6 0008 F0020017 l1 JMP l6 |
7 000c F0020016 l01 JMP l6 |
8 0010 F407FFFF GETA \$7,nearfar1 % Within reach\. |
9 0014 F2BFFFFF PUSHJ \$191,nearfar2 % Within reach\. |
10 0018 F000FFFE l2 JMP nearfar2 % Dummy\. |
11 001c 00000000 \.space 65530\*4,0 |
11 00000000 |
11 00000000 |
11 00000000 |
11 00000000 |
11 00000000 |
12 40004 4D480000 BNP \$72,l0 % Within reach |
13 40008 F5040000 GETA \$4,l1 % Within reach\. |
14 4000c F3050000 nearfar1 PUSHJ 5,l01 % Within reach\. |
15 40010 F4090000 nearfar2 GETA \$9,l1 % Out of reach\. |
15 FD000000 |
15 FD000000 |
15 FD000000 |
16 40020 F20B0000 PUSHJ \$11,l3 % Out of reach\. |
16 FD000000 |
16 FD000000 |
16 FD000000 |
16 FD000000 |
17 40034 4437FFFF l4 BP \$55,l3 % Within reach\. |
18 40038 00000000 \.space 65533\*4,0 |
18 00000000 |
18 00000000 |
18 00000000 |
18 00000000 |
18 00000000 |
19 8002c F1FDFFF7 JMP l1 % Dummy\. |
20 80030 F1FDFFF5 l3 JMP l0 % Dummy\. |
21 80034 47580000 BOD \$88,l4 % Within reach\. |
22 80038 46580000 BOD \$88,l4 % Out of reach\. |
22 FD000000 |
22 FD000000 |
22 FD000000 |
22 FD000000 |
22 FD000000 |
23 80050 F0000000 JMP l5 % Out of reach\. |
23 FD000000 |
23 FD000000 |
23 FD000000 |
23 FD000000 |
24 80064 F0FFFFFF l6 JMP l5 % Within reach\. |
25 80068 436FFFF2 BZ \$111,l3 % Dummy\. |
26 8006c 00000000 \.space \(256\*256\*256-3\)\*4,0 |
26 00000000 |
26 00000000 |
26 00000000 |
26 00000000 |
26 00000000 |
GAS for MMIX .*/relax1\.s page 2 |
|
|
27 4080060 F000000D l5 JMP l8 % Dummy\. |
28 4080064 F1000000 JMP l6 % Within reach |
29 4080068 F0000000 JMP l6 % Out of reach\. |
29 FD000000 |
29 FD000000 |
29 FD000000 |
29 FD000000 |
30 408007c 482C0000 BNN \$44,l9 % Out of reach\. |
30 FD000000 |
30 FD000000 |
30 FD000000 |
30 FD000000 |
30 FD000000 |
31 4080094 482CFFFF l8 BNN \$44,l9 % Within reach\. |
32 4080098 F1FFFFF2 JMP l5 % Dummy\. |
33 408009c F1FFFFF1 JMP l5 % Dummy\. |
34 40800a0 00000000 \.space 65531\*4,0 |
34 00000000 |
34 00000000 |
34 00000000 |
34 00000000 |
34 00000000 |
35 40c008c F1FEFFF5 l10 JMP l5 % Dummy\. |
36 40c0090 F0000007 l9 JMP l11 % Dummy |
37 40c0094 F3210000 l7 PUSHJ \$33,l8 % Within reach\. |
38 40c0098 F2210000 PUSHJ \$33,l8 % Out of reach\. |
38 FD000000 |
38 FD000000 |
38 FD000000 |
38 FD000000 |
39 40c00ac F1FEFFED l11 JMP l5 % Dummy\. |
40 40c00b0 F1FEFFF9 JMP l8 % Dummy\. |
41 40c00b4 00000000 \.space 65534\*4,0 |
41 00000000 |
41 00000000 |
41 00000000 |
41 00000000 |
41 00000000 |
42 41000ac F53D0000 GETA \$61,l11 % Within reach\. |
43 41000b0 F4480000 GETA \$72,l11 % Out of reach\. |
43 FD000000 |
43 FD000000 |
43 FD000000 |
GAS for MMIX .*/relax1\.s page 3 |
|
|
DEFINED SYMBOLS |
.*/relax1\.s:4 \.text:0000000000000000 Main |
.*/relax1\.s:24 \.text:0000000000080064 l6 |
.*/relax1\.s:5 \.text:0000000000000004 l0 |
.*/relax1\.s:6 \.text:0000000000000008 l1 |
.*/relax1\.s:7 \.text:000000000000000c l01 |
.*/relax1\.s:14 \.text:000000000004000c nearfar1 |
.*/relax1\.s:15 \.text:0000000000040010 nearfar2 |
.*/relax1\.s:10 \.text:0000000000000018 l2 |
.*/relax1\.s:20 \.text:0000000000080030 l3 |
.*/relax1\.s:17 \.text:0000000000040034 l4 |
.*/relax1\.s:27 \.text:0000000004080060 l5 |
.*/relax1\.s:31 \.text:0000000004080094 l8 |
.*/relax1\.s:36 \.text:00000000040c0090 l9 |
.*/relax1\.s:35 \.text:00000000040c008c l10 |
.*/relax1\.s:39 \.text:00000000040c00ac l11 |
.*/relax1\.s:37 \.text:00000000040c0094 l7 |
|
NO UNDEFINED SYMBOLS |
/fb-1.s
0,0 → 1,4
# FB-labels are valid in GREG definitions. |
9H GREG #112233 |
9H GREG #aabbccdd |
1H MOR $45,9B,56 |
/greg1a.d
0,0 → 1,39
# source: greg1.s |
# as: -no-merge-gregs |
# objdump: -rst |
|
.*: file format elf64-mmix |
|
SYMBOL TABLE: |
0+ l d \.text 0+ (|\.text) |
0+ l d \.data 0+ (|\.data) |
0+ l d \.bss 0+ (|\.bss) |
0+ l \.text 0+ D4 |
0+4 l \.text 0+ E6 |
0+ l \.MMIX\.reg_contents 0+ H9 |
0+8 l \.MMIX\.reg_contents 0+ G8 |
0+18 l \.MMIX\.reg_contents 0+ F7 |
0+28 l \.MMIX\.reg_contents 0+ D5 |
0+30 l \.MMIX\.reg_contents 0+ C3 |
0+38 l \.MMIX\.reg_contents 0+ B1 |
0+40 l \.MMIX\.reg_contents 0+ A0 |
0+0 l d \.MMIX\.reg_contents 0+ (|\.MMIX\.reg_contents) |
0+c g F \.text 0+ Main |
|
|
RELOCATION RECORDS FOR \[\.MMIX\.reg_contents\]: |
OFFSET TYPE VALUE |
0+ R_MMIX_64 \.text\+0x0+8 |
0+10 R_MMIX_64 \.text\+0x0+8 |
0+18 R_MMIX_64 \.text\+0x0+8 |
0+20 R_MMIX_64 \.text\+0x0+1c |
0+30 R_MMIX_64 .text |
|
Contents of section \.text: |
0000 e37b01c8 e3ea1edb fd020304 fd010203 .* |
Contents of section \.MMIX\.reg_contents: |
0000 00000000 00000000 00000000 000000f7 .* |
0010 00000000 00000000 00000000 00000000 .* |
0020 00000000 00000000 00000000 00000000 .* |
0030 00000000 00000000 00000000 00000001 .* |
0040 00000000 00000000 .* |
/weak1.d
0,0 → 1,23
#as: -x --no-pushj-stubs |
#objdump: -str |
|
# Relaxation thought a weak symbol was within reach. |
|
.*: file format elf64-mmix |
|
SYMBOL TABLE: |
0+ l d \.text 0+ (|\.text) |
0+ l d \.data 0+ (|\.data) |
0+ l d \.bss 0+ (|\.bss) |
0+ w \.text 0+ foo |
0+4 g \.text 0+ main |
|
RELOCATION RECORDS FOR \[\.text\]: |
OFFSET TYPE VALUE |
0+18 R_MMIX_64 foo |
0+4 R_MMIX_PUSHJ foo |
|
Contents of section \.text: |
0000 f8010000 f20f0000 fd000000 fd000000 .* |
0010 fd000000 fd000000 00000000 00000000 .* |
|
/basep-10.d
0,0 → 1,33
#as: -linker-allocated-gregs |
#objdump: -srt |
|
.*: file format elf64-mmix |
|
SYMBOL TABLE: |
0+ l d \.text 0+ (|\.text) |
0+ l d \.data 0+ (|\.data) |
0+ l d \.bss 0+ (|\.bss) |
0+4 l \.text 0+ w4 |
0+10 l \.text 0+ w2 |
0+ l d \.MMIX\.reg_contents 0+ (|\.MMIX\.reg_contents) |
0+c w \.text 0+ w1 |
0+8 w \.text 0+ w3 |
|
|
RELOCATION RECORDS FOR \[\.text\]: |
OFFSET TYPE VALUE |
0+6 R_MMIX_BASE_PLUS_OFFSET w1 |
0+a R_MMIX_REG \.MMIX\.reg_contents |
0+e R_MMIX_REG \.MMIX\.reg_contents\+0x0+8 |
0+12 R_MMIX_REG \.MMIX\.reg_contents\+0x0+8 |
|
RELOCATION RECORDS FOR \[\.MMIX\.reg_contents\]: |
OFFSET TYPE VALUE |
0+ R_MMIX_64 w3 |
0+8 R_MMIX_64 \.text\+0x0+4 |
|
Contents of section \.text: |
0000 fd000000 232a0000 232b0000 232c000c .* |
0010 232d0000 .* |
Contents of section \.MMIX\.reg_contents: |
0000 00000000 00000000 00000000 00000000 .* |
/save-op-r.d
0,0 → 1,11
# objdump: -dr |
# as: -linkrelax |
# source: save-op.s |
.*: file format elf64-mmix |
|
Disassembly of section \.text: |
|
0000000000000000 <Main>: |
0: fa2d0000 save \$45,0 |
4: fa1f0000 save \$31,0 |
8: fa000000 save \$0,0 |
/err-greg1.s
0,0 → 1,10
% { dg-do assemble { target mmix-*-* } } |
|
% One more than greg9.s is one too many. |
% The error is reported on the wrong line. Methinks that error is |
% attributable to the .rept machinery. No xfail+bogus for this one. |
|
Main SWYM 0 |
.rept 223 |
GREG |
.endr % { dg-error "too many GREG registers allocated" "" } |
/bspec-2.s
0,0 → 1,11
SWYM 1,2,3 |
BSPEC 2 |
TETRA forw |
ESPEC |
BSPEC 3 |
OCTA other |
ESPEC |
BSPEC 2 |
TETRA 42 |
OCTA other |
ESPEC |
/relax1.s
0,0 → 1,43
# Relaxation border-cases: just-within reach, just-out-of-reach, forward |
# and backward. Have a few variable-length thingies in-between so it |
# doesn't get too easy. |
Main JMP l6 |
l0 JMP l6 |
l1 JMP l6 |
l01 JMP l6 |
GETA $7,nearfar1 % Within reach. |
PUSHJ $191,nearfar2 % Within reach. |
l2 JMP nearfar2 % Dummy. |
.space 65530*4,0 |
BNP $72,l0 % Within reach |
GETA $4,l1 % Within reach. |
nearfar1 PUSHJ 5,l01 % Within reach. |
nearfar2 GETA $9,l1 % Out of reach. |
PUSHJ $11,l3 % Out of reach. |
l4 BP $55,l3 % Within reach. |
.space 65533*4,0 |
JMP l1 % Dummy. |
l3 JMP l0 % Dummy. |
BOD $88,l4 % Within reach. |
BOD $88,l4 % Out of reach. |
JMP l5 % Out of reach. |
l6 JMP l5 % Within reach. |
BZ $111,l3 % Dummy. |
.space (256*256*256-3)*4,0 |
l5 JMP l8 % Dummy. |
JMP l6 % Within reach |
JMP l6 % Out of reach. |
BNN $44,l9 % Out of reach. |
l8 BNN $44,l9 % Within reach. |
JMP l5 % Dummy. |
JMP l5 % Dummy. |
.space 65531*4,0 |
l10 JMP l5 % Dummy. |
l9 JMP l11 % Dummy |
l7 PUSHJ $33,l8 % Within reach. |
PUSHJ $33,l8 % Out of reach. |
l11 JMP l5 % Dummy. |
JMP l8 % Dummy. |
.space 65534*4,0 |
GETA $61,l11 % Within reach. |
GETA $72,l11 % Out of reach. |
/loc-3.d
0,0 → 1,43
#readelf: -Ssrx1 -x2 |
There are 7 section headers, starting at offset 0x80: |
|
Section Headers: |
\[Nr\] Name Type Address Offset |
Size EntSize Flags Link Info Align |
\[ 0\] NULL 0000000000000000 00000000 |
0000000000000000 0000000000000000 0 0 0 |
\[ 1\] \.text PROGBITS 0000000000000000 00000040 |
000000000000000c 0000000000000000 AX 0 0 4 |
\[ 2\] \.data PROGBITS 0000000000000000 0000004c |
0000000000000008 0000000000000000 WA 0 0 4 |
\[ 3\] \.bss NOBITS 0000000000000000 00000054 |
0000000000000000 0000000000000000 WA 0 0 1 |
\[ 4\] \.shstrtab STRTAB 0000000000000000 00000054 |
000000000000002c 0000000000000000 0 0 1 |
\[ 5\] \.symtab SYMTAB 0000000000000000 00000240 |
00000000000000c0 0000000000000018 6 5 8 |
\[ 6\] \.strtab STRTAB 0000000000000000 00000300 |
0000000000000030 0000000000000000 0 0 1 |
Key to Flags: |
W \(write\), A \(alloc\), X \(execute\), M \(merge\), S \(strings\) |
I \(info\), L \(link order\), G \(group\), x \(unknown\) |
O \(extra OS processing required\) o \(OS specific\), p \(processor specific\) |
|
There are no relocations in this file\. |
|
Symbol table '\.symtab' contains 8 entries: |
Num: Value Size Type Bind Vis Ndx Name |
0: 0+ 0 NOTYPE LOCAL DEFAULT UND |
1: 0+ 0 SECTION LOCAL DEFAULT 1 |
2: 0+ 0 SECTION LOCAL DEFAULT 2 |
3: 0+ 0 SECTION LOCAL DEFAULT 3 |
4: 0+ 0 NOTYPE LOCAL DEFAULT 2 a |
5: 0+4 0 FUNC GLOBAL DEFAULT 1 Main |
6: 0+200 0 NOTYPE GLOBAL DEFAULT ABS __\.MMIX\.start\.\.text |
7: 2000000000000000 0 NOTYPE GLOBAL DEFAULT ABS __\.MMIX\.start\.\.data |
|
Hex dump of section '\.text': |
0x00000000 fd00038f fd090101 fd000065 .* |
|
Hex dump of section '\.data': |
0x00000000 00000010 00000040 .* |
/mmix.exp
0,0 → 1,38
# Copyright (C) 2001, 2007 Free Software Foundation, Inc. |
|
# This program is free software; you can redistribute it and/or modify |
# it under the terms of the GNU General Public License as published by |
# the Free Software Foundation; either version 3 of the License, or |
# (at your option) any later version. |
# |
# This program is distributed in the hope that it will be useful, |
# but WITHOUT ANY WARRANTY; without even the implied warranty of |
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
# GNU General Public License for more details. |
# |
# You should have received a copy of the GNU General Public License |
# along with this program; if not, write to the Free Software |
# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. |
|
if { ! [istarget "mmix-*"] } { |
return |
} |
|
proc run_mmix_tests { } { |
global srcdir subdir runtests |
foreach test_name [lsort [find ${srcdir}/${subdir} *.d]] { |
# Keep basename. |
regsub -all ".*/\(\[^\.\]*\)\.d$" $test_name "\\1" test_name |
|
run_dump_test $test_name |
} |
|
# FIXME: more tests needed. |
# BFD_RELOC_MMIX_REG_OR_BYTE with symbol-difference with |
# relaxable thing in between. |
# |
# Other normal reloc with symbol-difference with |
# relaxable thing in between. |
} |
|
run_mmix_tests |
/hex.d
0,0 → 1,9
# objdump: -dr |
.*: file format elf64-mmix |
|
Disassembly of section \.text: |
|
0000000000000000 <Main>: |
0: e3362009 setl \$54,0x2009 |
4: e320125e setl \$32,0x125e |
8: e31f00b1 setl \$31,0xb1 |
/weak1.s
0,0 → 1,7
.weak foo |
foo: |
POP 1,0 |
.global main |
main: |
PUSHJ $15,foo |
.quad foo |
/basep-10.s
0,0 → 1,16
# Test that we handle weak symbols with base-plus-offset relocs mixed with |
# GREG defs. |
.weak w1 |
.weak w3 |
GREG w4 |
GREG w3 |
SWYM |
w4: |
LDA $42,w1 |
w3: |
LDA $43,w3 |
w1: |
LDA $44,w2 |
w2: |
LDA $45,w4 |
|
/align-1.d
0,0 → 1,18
#objdump: -srt |
|
.*: file format elf64-mmix |
|
SYMBOL TABLE: |
0000000000000000 l d \.text 0000000000000000 (|\.text) |
0000000000000000 l d \.data 0000000000000000 (|\.data) |
0000000000000000 l d \.bss 0000000000000000 (|\.bss) |
0000000000000002 l \.text 0000000000000000 a |
0000000000000008 l \.text 0000000000000000 b |
0000000000000010 l \.text 0000000000000000 c |
000000000000001c g F \.text 0000000000000000 Main |
|
|
Contents of section \.text: |
0000 00000001 02000000 00000003 04000000 .* |
0010 00000000 00000005 06000000 fd000102 .* |
|
/reloc8-r.d
0,0 → 1,20
# objdump: -dr |
# as: -linkrelax |
# source: reloc8.s |
.*: file format elf64-mmix |
|
Disassembly of section \.text: |
|
0000000000000000 <Main>: |
0: b9002dea syncd 0,\$45,234 |
1: R_MMIX_8 foo |
4: 372f002a negu \$47,0,42 |
6: R_MMIX_8 bar\+0x30 |
8: fd00b26e swym 0,178,110 |
9: R_MMIX_8 baz\+0xfffffffffffffffe |
c: ff000000 trip 0,0,0 |
d: R_MMIX_8 fee\+0xffffffffffffffff |
e: R_MMIX_8 fie\+0x1 |
f: R_MMIX_8 foe\+0x3 |
10: f9000000 resume 0 |
13: R_MMIX_8 foobar\+0x8 |
/loc-3.s
0,0 → 1,14
# Check that a little bit of LOC:ing back and forward between code and |
# data section doesn't hurt. |
LOC #20 << 56 |
a TETRA 4*4 |
|
LOC #200 |
SWYM 911 |
Main SWYM 9,1,1 |
|
LOC a+4 |
TETRA 8*8 |
|
LOC Main+4 |
SWYM 101 |
/hex.l
0,0 → 1,13
GAS for MMIX .*/hex\.s page 1 |
|
|
1 0000 E3362009 Main SETL \$54,#2009 |
2 0004 E320125E SETL \$32,42\+#1234 |
3 0008 E31F00B1 SETL \$31,#72\+63 |
GAS for MMIX .*/hex\.s page 2 |
|
|
DEFINED SYMBOLS |
.*/hex\.s:1 \.text:0000000000000000 Main |
|
NO UNDEFINED SYMBOLS |
/pseudo-1.d
0,0 → 1,15
#objdump: -str |
|
# Check that some pseudos get output right. |
|
.*: file format elf64-mmix |
|
SYMBOL TABLE: |
0+ l d \.text 0+ (|\.text) |
0+ l d \.data 0+ (|\.data) |
0+ l d \.bss 0+ (|\.bss) |
0+ g F \.text 0+ Main |
|
Contents of section \.text: |
0000 00000020 00000020 00000020 00000020 .* |
0010 0000000a 00000000 .* |
/1cjmp1brn.d
0,0 → 1,15
# objdump: -dr |
# source: 1cjmp1b.s |
# as: -linkrelax -no-expand |
.*: file format elf64-mmix |
|
Disassembly of section \.text: |
|
0000000000000000 <Main>: |
0: fd000000 swym 0,0,0 |
4: f0000000 jmp 4 <Main\+0x4> |
4: R_MMIX_ADDR27 \.text\+0x8 |
8: f0000000 jmp 8 <Main\+0x8> |
8: R_MMIX_ADDR27 \.text\+0x8 |
c: f0000000 jmp c <Main\+0xc> |
c: R_MMIX_ADDR27 \.text\+0x8 |
/hex.s
0,0 → 1,3
Main SETL $54,#2009 |
SETL $32,42+#1234 |
SETL $31,#72+63 |
/sym-1.d
0,0 → 1,51
#objdump: -dt |
|
.*: file format elf64-mmix |
|
SYMBOL TABLE: |
0+ l d .text 0+ (|\.text) |
0+ l d .data 0+ (|\.data) |
0+ l d .bss 0+ (|\.bss) |
0+10 l .text 0+ scl1 |
0+14 l .text 0+ :scl2 |
0+20 l .text 0+ endcl1 |
0+24 l .text 0+ endcl2: |
0+ g F .text 0+ Main |
0+4 g .text 0+ scg1 |
0+8 g .text 0+ scg2 |
0+c g .text 0+ :scg3 |
0+18 g .text 0+ endcg1 |
0+1c g .text 0+ endcg2: |
|
|
Disassembly of section .text: |
|
0+ <Main>: |
0: fd000410 swym 0,4,16 |
|
0+4 <scg1>: |
4: fd100400 swym 16,4,0 |
|
0+8 <scg2>: |
8: fda12a1e swym 161,42,30 |
|
0+c <:scg3>: |
c: fda32a14 swym 163,42,20 |
|
0+10 <scl1>: |
10: fd010203 swym 1,2,3 |
|
0+14 <:scl2>: |
14: fd010204 swym 1,2,4 |
|
0+18 <endcg1>: |
18: fd030201 swym 3,2,1 |
|
0+1c <endcg2:>: |
1c: fd030201 swym 3,2,1 |
|
0+20 <endcl1>: |
20: fd040302 swym 4,3,2 |
|
0+24 <endcl2:>: |
24: fd040302 swym 4,3,2 |
/err-bpo1.s
0,0 → 1,12
% { dg-do assemble { target mmix-*-* } } |
|
% SAVE, UNSAVE are not valid with base-plus-offset |
|
.data |
buffer OCTA 0,0,0 |
|
.text |
GREG buffer |
Main SWYM 0 |
SAVE buffer,0 % { dg-error "operands" "" } |
UNSAVE 0,buffer % { dg-error "operands" "" } |
/align-1.s
0,0 → 1,11
# Check that alignment is applied for instructions and pseudos, and that |
# labels to such entities are aligned. |
|
BYTE 0 |
a WYDE 1 |
BYTE 2 |
b TETRA 3 |
BYTE 4 |
c OCTA 5 |
BYTE 6 |
Main SWYM 0,1,2 |
/greg7.d
0,0 → 1,27
#objdump: -str |
|
# GAS must know that .text and expressions around 0 can be equivalent for |
# GREGs. |
|
.*: file format elf64-mmix |
|
SYMBOL TABLE: |
0+ l d \.text 0+ (|\.text) |
0+ l d \.data 0+ (|\.data) |
0+ l d \.bss 0+ (|\.bss) |
0+ l \.text 0+ t |
0+4 l \*ABS\* 0+ x |
0+ l \.text 0+ y |
0+ l d \.MMIX\.reg_contents 0+ (|\.MMIX\.reg_contents) |
0+8 g F \.text 0+ Main |
0+8 g \*ABS\* 0+ __\.MMIX\.start\.\.text |
|
|
RELOCATION RECORDS FOR \[\.text\]: |
OFFSET TYPE VALUE |
0+a R_MMIX_REG \.MMIX\.reg_contents |
|
Contents of section \.text: |
0000 00000000 00000021 232c0004 .* |
Contents of section \.MMIX\.reg_contents: |
0000 00000000 00000004 .* |
/pseudo-1.s
0,0 → 1,27
Main TETRA " ",#a,0 |
/unsave-op.d
0,0 → 1,9
# objdump: -dr |
.*: file format elf64-mmix |
|
Disassembly of section \.text: |
|
0000000000000000 <Main>: |
0: fb00002d unsave 0,\$45 |
4: fb00001f unsave 0,\$31 |
8: fb000000 unsave 0,\$0 |
/err-local1.s
0,0 → 1,6
% { dg-do assemble { target mmix-*-* } } |
% Check that error handling for the restrictions on LOCAL works. |
LOCAL 128 % { dg-error "LOCAL must be placed in code or data" "" } |
|
LOC Data_Segment |
OCTA 0 |
/sym-1.s
0,0 → 1,19
# Test beginning and starting with ":"; it should be stripped off, but |
# only one. A trailing ":" is stripped off at a label only. |
|
Main SWYM 0,4,16 |
.global :scg1 |
.global scg2 |
.global ::scg3 |
.global scg2 |
:scg1 SWYM 16,4,0 |
:scg2 SWYM 161,42,30 |
::scg3 SWYM 163,42,20 |
:scl1 SWYM 1,2,3 |
::scl2 SWYM 1,2,4 |
.global endcg1 |
.global endcg2: |
endcg1: SWYM 3,2,1 |
endcg2:: SWYM 3,2,1 |
endcl1: SWYM 4,3,2 |
endcl2:: SWYM 4,3,2 |
/err-loc-6.s
0,0 → 1,4
% { dg-do assemble { target mmix-*-* } } |
LOC #201 |
.p2align 0 |
SWYM 1 % { dg-error "unaligned data at an absolute location" "" } |
/unsave-op.l
0,0 → 1,18
GAS for MMIX .*/unsave-op.s page 1 |
|
|
1 #.* |
2 0000 FB00002D Main UNSAVE 0,\$45 |
3 0004 FB00001F UNSAVE 0,X |
4 0008 FB000000 UNSAVE 0,X0 |
5 X IS \$31 |
6 X0 IS \$0 |
GAS for MMIX .*/unsave-op\.s page 2 |
|
|
DEFINED SYMBOLS |
.*/unsave-op.s:2 \.text:0000000000000000 Main |
\*REG\*:000000000000001f X |
\*REG\*:0000000000000000 X0 |
|
NO UNDEFINED SYMBOLS |
/fb-2.d
0,0 → 1,32
#objdump: -str |
|
.*: file format elf64-mmix |
|
SYMBOL TABLE: |
0+ l d \.text 0+ (|\.text) |
0+ l d \.data 0+ (|\.data) |
0+ l d \.bss 0+ (|\.bss) |
0+ l d \.MMIX\.reg_contents 0+ (|\.MMIX\.reg_contents) |
0+10 g \*ABS\* 0+ __\.MMIX\.start\.\.text |
|
|
RELOCATION RECORDS FOR \[\.text\]: |
OFFSET TYPE VALUE |
0+2a R_MMIX_REG \.MMIX\.reg_contents |
0+30 R_MMIX_64 \.text\+0x0+28 |
0+38 R_MMIX_64 \.text\+0x0+40 |
|
|
RELOCATION RECORDS FOR \[\.MMIX\.reg_contents\]: |
OFFSET TYPE VALUE |
0+ R_MMIX_64 \.text\+0x0+5a |
|
|
Contents of section \.text: |
0000 05000000 00000000 00000000 00000000 .* |
0010 00000000 00000000 00000000 00000000 .* |
0020 00000000 fd000000 231e0000 00000000 .* |
0030 00000000 00000000 00000000 00000000 .* |
0040 fd000000 002a002b 002b002c .* |
Contents of section \.MMIX\.reg_contents: |
0000 00000000 00000000 .* |
/relax1-n.d
0,0 → 1,90
#objdump: -dr |
#as: -no-expand -x |
#source: relax1.s |
# |
# This test-case assumes that out-of-range errors cause relocs to |
# be emitted, rather than errors emitted. FIXME. |
|
.*: file format elf64-mmix |
|
Disassembly of section \.text: |
|
0000000000000000 <Main>: |
0: f0020009 jmp 80024 <l6> |
|
0000000000000004 <l0>: |
4: f0020008 jmp 80024 <l6> |
|
0000000000000008 <l1>: |
8: f0020007 jmp 80024 <l6> |
|
000000000000000c <l01>: |
c: f0020006 jmp 80024 <l6> |
10: f407ffff geta \$7,4000c <nearfar1> |
14: f2bfffff pushj \$191,40010 <nearfar2> |
|
0000000000000018 <l2>: |
18: f000fffe jmp 40010 <nearfar2> |
\.\.\. |
40004: 4d480000 bnp \$72,4 <l0> |
40008: f5040000 geta \$4,8 <l1> |
|
000000000004000c <nearfar1>: |
4000c: f3050000 pushj \$5,c <l01> |
|
0000000000040010 <nearfar2>: |
40010: f4090000 geta \$9,40010 <nearfar2> |
40010: R_MMIX_ADDR19 \.text\+0x8 |
40014: f20b0000 pushj \$11,40014 <nearfar2\+0x4> |
40014: R_MMIX_ADDR19 \.text\+0x80014 |
|
0000000000040018 <l4>: |
40018: 4437ffff bp \$55,80014 <l3> |
... |
80010: f1fdfffe jmp 8 <l1> |
|
0000000000080014 <l3>: |
80014: f1fdfffc jmp 4 <l0> |
80018: 47580000 bod \$88,40018 <l4> |
8001c: 46580000 bod \$88,8001c <l3\+0x8> |
8001c: R_MMIX_ADDR19 \.text\+0x40018 |
80020: f0000000 jmp 80020 <l3\+0xc> |
80020: R_MMIX_ADDR27 \.text\+0x4080020 |
|
0000000000080024 <l6>: |
80024: f0ffffff jmp 4080020 <l5> |
80028: 436ffffb bz \$111,80014 <l3> |
\.\.\. |
|
0000000004080020 <l5>: |
4080020: f0000004 jmp 4080030 <l8> |
4080024: f1000000 jmp 80024 <l6> |
4080028: f0000000 jmp 4080028 <l5\+0x8> |
4080028: R_MMIX_ADDR27 \.text\+0x80024 |
408002c: 482c0000 bnn \$44,408002c <l5\+0xc> |
408002c: R_MMIX_ADDR19 \.text\+0x40c002c |
|
0000000004080030 <l8>: |
4080030: 482cffff bnn \$44,40c002c <l9> |
4080034: f1fffffb jmp 4080020 <l5> |
4080038: f1fffffa jmp 4080020 <l5> |
\.\.\. |
|
00000000040c0028 <l10>: |
40c0028: f1fefffe jmp 4080020 <l5> |
|
00000000040c002c <l9>: |
40c002c: f0000003 jmp 40c0038 <l11> |
|
00000000040c0030 <l7>: |
40c0030: f3210000 pushj \$33,4080030 <l8> |
40c0034: f2210000 pushj \$33,40c0034 <l7\+0x4> |
40c0034: R_MMIX_ADDR19 \.text\+0x4080030 |
|
00000000040c0038 <l11>: |
40c0038: f1fefffa jmp 4080020 <l5> |
40c003c: f1fefffd jmp 4080030 <l8> |
\.\.\. |
4100038: f53d0000 geta \$61,40c0038 <l11> |
410003c: f4480000 geta \$72,410003c <l11\+0x40004> |
410003c: R_MMIX_ADDR19 \.text\+0x40c0038 |
/greg7.s
0,0 → 1,8
t IS @ |
x IS 4 |
|
LOC x+4 |
y OCTA 33 |
GREG x |
|
Main LDA $44,y |
/bz-c.d
0,0 → 1,30
#as: -x |
#objdump: -tdr |
|
.*: file format elf64-mmix |
|
SYMBOL TABLE: |
0+ l d .text 0+ (|\.text) |
0+ l d .data 0+ (|\.data) |
0+ l d .bss 0+ (|\.bss) |
ffff0000ffff0000 l \*ABS\* 0+ i1 |
ffff0000ffff0000 l \*ABS\* 0+ i2 |
0+ g F .text 0+ Main |
|
Disassembly of section .text: |
|
0+ <Main>: |
0: 42ff0000 bz \$255,0 <Main> |
0: R_MMIX_CBRANCH \*ABS\*\+0xffff0000ffff0000 |
4: fd000000 swym 0,0,0 |
8: fd000000 swym 0,0,0 |
c: fd000000 swym 0,0,0 |
10: fd000000 swym 0,0,0 |
14: fd000000 swym 0,0,0 |
18: 42ff0000 bz \$255,18 <Main\+0x18> |
18: R_MMIX_CBRANCH i2 |
1c: fd000000 swym 0,0,0 |
20: fd000000 swym 0,0,0 |
24: fd000000 swym 0,0,0 |
28: fd000000 swym 0,0,0 |
2c: fd000000 swym 0,0,0 |
/unsave-op.s
0,0 → 1,6
# Test the 'u'-type operand, UNSAVE. |
Main UNSAVE 0,$45 |
UNSAVE 0,X |
UNSAVE 0,X0 |
X IS $31 |
X0 IS $0 |
/relax2.d
0,0 → 1,251
#objdump: -r |
#as: -x |
|
.*: file format elf64-mmix |
R.* \[\.text\.a0\]: |
O.* |
0+40004 R_MMIX_PUSHJ \.text\.a0 |
0+40018 R_MMIX_PUSHJ \.text\.a0\+0x0+4 |
R.* \[\.text\.b0\]: |
O.* |
0+40004 R_MMIX_PUSHJ \.text\.b0 |
0+40018 R_MMIX_PUSHJ \.text\.b0\+0x0+4 |
0+4002c R_MMIX_PUSHJ \.text\.b0\+0x0+8 |
R.* \[\.text\.c0\]: |
O.* |
0+ R_MMIX_PUSHJ ca0 |
0+14 R_MMIX_PUSHJ cb0 |
R.* \[\.text\.d0\]: |
O.* |
0+ R_MMIX_PUSHJ da0 |
0+14 R_MMIX_PUSHJ db0 |
0+28 R_MMIX_PUSHJ dc0 |
R.* \[\.text\.a1\]: |
O.* |
0+40004 R_MMIX_PUSHJ \.text\.a1 |
0+40018 R_MMIX_PUSHJ_STUBBABLE \.text\.a1\+0x0+4 |
R.* \[\.text\.b1\]: |
O.* |
0+40004 R_MMIX_PUSHJ \.text\.b1 |
0+40018 R_MMIX_PUSHJ \.text\.b1\+0x0+4 |
0+4002c R_MMIX_PUSHJ_STUBBABLE \.text\.b1\+0x0+8 |
R.* \[\.text\.c1\]: |
O.* |
0+ R_MMIX_PUSHJ ca1 |
0+14 R_MMIX_PUSHJ_STUBBABLE cb1 |
R.* \[\.text\.d1\]: |
O.* |
0+ R_MMIX_PUSHJ da1 |
0+14 R_MMIX_PUSHJ db1 |
0+28 R_MMIX_PUSHJ_STUBBABLE dc1 |
|
# The following shows a limitation of the PUSHJ relaxation code when |
# PUSHJ:s are close, and about 256k away from the section limit: On the |
# first relaxation iteration, the first (or second) PUSHJ looks like it |
# could reach a stub. However, the last PUSHJ is expanded and on the |
# second iteration, the stubbed PUSHJ has to be expanded too because it |
# can't reach the stubs anymore. This continues for the next iterations, |
# because the max stub size is five tetrabytes (4-bytes). At the expense |
# of much more complex relaxation code (including the relaxation machinery |
# in write.c), this is fixable. Anyway, as long as PUSHJ:s aren't closer |
# than five instructions, the existing code does suffice; we're just here |
# to check that the border case *works* and doesn't generate invalid code. |
|
R.* \[\.text\.a2\]: |
O.* |
0+40004 R_MMIX_PUSHJ \.text\.a2 |
0+40018 R_MMIX_PUSHJ \.text\.a2\+0x0+4 |
R.* \[\.text\.b2\]: |
O.* |
0+40004 R_MMIX_PUSHJ \.text\.b2 |
0+40018 R_MMIX_PUSHJ \.text\.b2\+0x0+4 |
0+4002c R_MMIX_PUSHJ \.text\.b2\+0x0+8 |
R.* \[\.text\.c2\]: |
O.* |
0+ R_MMIX_PUSHJ ca2 |
0+14 R_MMIX_PUSHJ cb2 |
R.* \[\.text\.d2\]: |
O.* |
0+ R_MMIX_PUSHJ da2 |
0+14 R_MMIX_PUSHJ db2 |
0+28 R_MMIX_PUSHJ dc2 |
R.* \[\.text\.a3\]: |
O.* |
0+40004 R_MMIX_PUSHJ \.text\.a3 |
0+40018 R_MMIX_PUSHJ \.text\.a3\+0x0+4 |
R.* \[\.text\.b3\]: |
O.* |
0+40004 R_MMIX_PUSHJ \.text\.b3 |
0+40018 R_MMIX_PUSHJ \.text\.b3\+0x0+4 |
0+4002c R_MMIX_PUSHJ \.text\.b3\+0x0+8 |
R.* \[\.text\.c3\]: |
O.* |
0+ R_MMIX_PUSHJ ca3 |
0+14 R_MMIX_PUSHJ cb3 |
R.* \[\.text\.d3\]: |
O.* |
0+ R_MMIX_PUSHJ da3 |
0+14 R_MMIX_PUSHJ db3 |
0+28 R_MMIX_PUSHJ dc3 |
R.* \[\.text\.a4\]: |
O.* |
0+40004 R_MMIX_PUSHJ \.text\.a4 |
0+40018 R_MMIX_PUSHJ \.text\.a4\+0x0+4 |
R.* \[\.text\.b4\]: |
O.* |
0+40004 R_MMIX_PUSHJ \.text\.b4 |
0+40018 R_MMIX_PUSHJ \.text\.b4\+0x0+4 |
0+4002c R_MMIX_PUSHJ \.text\.b4\+0x0+8 |
R.* \[\.text\.c4\]: |
O.* |
0+ R_MMIX_PUSHJ ca4 |
0+14 R_MMIX_PUSHJ cb4 |
R.* \[\.text\.d4\]: |
O.* |
0+ R_MMIX_PUSHJ da4 |
0+14 R_MMIX_PUSHJ db4 |
0+28 R_MMIX_PUSHJ dc4 |
R.* \[\.text\.a5\]: |
O.* |
0+40004 R_MMIX_PUSHJ \.text\.a5 |
0+40018 R_MMIX_PUSHJ \.text\.a5\+0x0+4 |
R.* \[\.text\.b5\]: |
O.* |
0+40004 R_MMIX_PUSHJ \.text\.b5 |
0+40018 R_MMIX_PUSHJ \.text\.b5\+0x0+4 |
0+4002c R_MMIX_PUSHJ \.text\.b5\+0x0+8 |
R.* \[\.text\.c5\]: |
O.* |
0+ R_MMIX_PUSHJ ca5 |
0+14 R_MMIX_PUSHJ cb5 |
R.* \[\.text\.d5\]: |
O.* |
0+ R_MMIX_PUSHJ da5 |
0+14 R_MMIX_PUSHJ db5 |
0+28 R_MMIX_PUSHJ dc5 |
R.* \[\.text\.a6\]: |
O.* |
0+40004 R_MMIX_PUSHJ_STUBBABLE \.text\.a6 |
0+40008 R_MMIX_PUSHJ_STUBBABLE \.text\.a6\+0x0+4 |
R.* \[\.text\.b6\]: |
O.* |
0+40004 R_MMIX_PUSHJ \.text\.b6 |
0+40018 R_MMIX_PUSHJ \.text\.b6\+0x0+4 |
0+4002c R_MMIX_PUSHJ_STUBBABLE \.text\.b6\+0x0+8 |
R.* \[\.text\.c6\]: |
O.* |
0+ R_MMIX_PUSHJ_STUBBABLE ca6 |
0+4 R_MMIX_PUSHJ_STUBBABLE cb6 |
R.* \[\.text\.d6\]: |
O.* |
0+ R_MMIX_PUSHJ da6 |
0+14 R_MMIX_PUSHJ db6 |
0+28 R_MMIX_PUSHJ_STUBBABLE dc6 |
R.* \[\.text\.a7\]: |
O.* |
0+40004 R_MMIX_PUSHJ_STUBBABLE \.text\.a7 |
0+40008 R_MMIX_PUSHJ_STUBBABLE \.text\.a7\+0x0+4 |
R.* \[\.text\.b7\]: |
O.* |
0+40004 R_MMIX_PUSHJ \.text\.b7 |
0+40018 R_MMIX_PUSHJ \.text\.b7\+0x0+4 |
0+4002c R_MMIX_PUSHJ \.text\.b7\+0x0+8 |
R.* \[\.text\.c7\]: |
O.* |
0+ R_MMIX_PUSHJ_STUBBABLE ca7 |
0+4 R_MMIX_PUSHJ_STUBBABLE cb7 |
R.* \[\.text\.d7\]: |
O.* |
0+ R_MMIX_PUSHJ da7 |
0+14 R_MMIX_PUSHJ db7 |
0+28 R_MMIX_PUSHJ dc7 |
R.* \[\.text\.a8\]: |
O.* |
0+40004 R_MMIX_PUSHJ_STUBBABLE \.text\.a8 |
0+40008 R_MMIX_PUSHJ_STUBBABLE \.text\.a8\+0x0+4 |
R.* \[\.text\.b8\]: |
O.* |
0+40004 R_MMIX_PUSHJ \.text\.b8 |
0+40018 R_MMIX_PUSHJ \.text\.b8\+0x0+4 |
0+4002c R_MMIX_PUSHJ \.text\.b8\+0x0+8 |
R.* \[\.text\.c8\]: |
O.* |
0+ R_MMIX_PUSHJ_STUBBABLE ca8 |
0+4 R_MMIX_PUSHJ_STUBBABLE cb8 |
R.* \[\.text\.d8\]: |
O.* |
0+ R_MMIX_PUSHJ da8 |
0+14 R_MMIX_PUSHJ db8 |
0+28 R_MMIX_PUSHJ dc8 |
R.* \[\.text\.a9\]: |
O.* |
0+40004 R_MMIX_PUSHJ_STUBBABLE \.text\.a9 |
0+40008 R_MMIX_PUSHJ_STUBBABLE \.text\.a9\+0x0+4 |
R.* \[\.text\.b9\]: |
O.* |
0+40004 R_MMIX_PUSHJ \.text\.b9 |
0+40018 R_MMIX_PUSHJ \.text\.b9\+0x0+4 |
0+4002c R_MMIX_PUSHJ \.text\.b9\+0x0+8 |
R.* \[\.text\.c9\]: |
O.* |
0+ R_MMIX_PUSHJ_STUBBABLE ca9 |
0+4 R_MMIX_PUSHJ_STUBBABLE cb9 |
R.* \[\.text\.d9\]: |
O.* |
0+ R_MMIX_PUSHJ da9 |
0+14 R_MMIX_PUSHJ db9 |
0+28 R_MMIX_PUSHJ dc9 |
R.* \[\.text\.a10\]: |
O.* |
0+40004 R_MMIX_PUSHJ_STUBBABLE \.text\.a10 |
0+40008 R_MMIX_PUSHJ_STUBBABLE \.text\.a10\+0x0+4 |
R.* \[\.text\.b10\]: |
O.* |
0+40004 R_MMIX_PUSHJ \.text\.b10 |
0+40018 R_MMIX_PUSHJ \.text\.b10\+0x0+4 |
0+4002c R_MMIX_PUSHJ \.text\.b10\+0x0+8 |
R.* \[\.text\.c10\]: |
O.* |
0+ R_MMIX_PUSHJ_STUBBABLE ca10 |
0+4 R_MMIX_PUSHJ_STUBBABLE cb10 |
R.* \[\.text\.d10\]: |
O.* |
0+ R_MMIX_PUSHJ da10 |
0+14 R_MMIX_PUSHJ db10 |
0+28 R_MMIX_PUSHJ dc10 |
R.* \[\.text\.a11\]: |
O.* |
0+40004 R_MMIX_PUSHJ_STUBBABLE \.text\.a11 |
0+40008 R_MMIX_PUSHJ_STUBBABLE \.text\.a11\+0x0+4 |
R.* \[\.text\.b11\]: |
O.* |
0+40004 R_MMIX_PUSHJ_STUBBABLE \.text\.b11 |
0+40008 R_MMIX_PUSHJ_STUBBABLE \.text\.b11\+0x0+4 |
0+4000c R_MMIX_PUSHJ_STUBBABLE \.text\.b11\+0x0+8 |
R.* \[\.text\.c11\]: |
O.* |
0+ R_MMIX_PUSHJ_STUBBABLE ca11 |
0+4 R_MMIX_PUSHJ_STUBBABLE cb11 |
R.* \[\.text\.d11\]: |
O.* |
0+ R_MMIX_PUSHJ_STUBBABLE da11 |
0+4 R_MMIX_PUSHJ_STUBBABLE db11 |
0+8 R_MMIX_PUSHJ_STUBBABLE dc11 |
R.* \[\.text\.a12\]: |
O.* |
0+40004 R_MMIX_PUSHJ_STUBBABLE \.text\.a12 |
0+40008 R_MMIX_PUSHJ_STUBBABLE \.text\.a12\+0x0+4 |
R.* \[\.text\.b12\]: |
O.* |
0+40004 R_MMIX_PUSHJ_STUBBABLE \.text\.b12 |
0+40008 R_MMIX_PUSHJ_STUBBABLE \.text\.b12\+0x0+4 |
0+4000c R_MMIX_PUSHJ_STUBBABLE \.text\.b12\+0x0+8 |
R.* \[\.text\.c12\]: |
O.* |
0+ R_MMIX_PUSHJ_STUBBABLE ca12 |
0+4 R_MMIX_PUSHJ_STUBBABLE cb12 |
R.* \[\.text\.d12\]: |
O.* |
0+ R_MMIX_PUSHJ_STUBBABLE da12 |
0+4 R_MMIX_PUSHJ_STUBBABLE db12 |
0+8 R_MMIX_PUSHJ_STUBBABLE dc12 |
/basep-7.d
0,0 → 1,34
#source: err-bpo5.s |
#as: -linker-allocated-gregs |
#objdump: -drt |
|
# The -linker-allocated-gregs option validates omissions of GREG. |
# Note the inconsequence in relocs regarding forward and backward |
# references (not specific to this functionality); they may change. |
|
.*: file format elf64-mmix |
|
SYMBOL TABLE: |
0+ l d \.text 0+ (|\.text) |
0+ l d \.data 0+ (|\.data) |
0+ l d \.bss 0+ (|\.bss) |
0+2a l \*ABS\* 0+ a |
0+70 l \*ABS\* 0+ b |
0+48 l \*ABS\* 0+ c |
0+3 l \*ABS\* 0+ d |
|
Disassembly of section \.text: |
|
0+ <\.text>: |
0: 8d2b0000 ldo \$43,\$0,0 |
2: R_MMIX_BASE_PLUS_OFFSET \*ABS\*\+0x5e |
4: 232f0000 addu \$47,\$0,0 |
6: R_MMIX_BASE_PLUS_OFFSET \*ABS\*\+0x9a |
8: 23300000 addu \$48,\$0,0 |
a: R_MMIX_BASE_PLUS_OFFSET \*ABS\*\+0x86 |
c: 8d2b0000 ldo \$43,\$0,0 |
e: R_MMIX_BASE_PLUS_OFFSET c\+0x2 |
10: 232f0000 addu \$47,\$0,0 |
12: R_MMIX_BASE_PLUS_OFFSET d\+0xd4 |
14: 23300000 addu \$48,\$0,0 |
16: R_MMIX_BASE_PLUS_OFFSET c\+0x15 |
/cons-1.d
0,0 → 1,7
#objdump: -sr |
|
.*: file format elf64-mmix |
|
Contents of section \.text: |
0000 00000000 00000000 .* |
|
/fb-2.s
0,0 → 1,19
# Test fb-label where the insn or pseudo on line with definition uses an |
# argment with a same-number label. |
1H IS 5 |
0H LOC #10 |
1H BYTE 1B |
0H LOC 0B+#20+0F |
0H IS 4 |
1H IS 50 |
1H GREG 1B+1F |
SWYM |
1H LDA $30,1B |
1H OCTA 1B,1F |
1H SWYM |
|
9H IS 42 |
WYDE 9B,9F |
9H IS 9B+1 |
WYDE 9B,9F |
9H IS 9B+1 |
/basep-11.d
0,0 → 1,25
#as: -linker-allocated-gregs |
#objdump: -srt |
|
.*: file format elf64-mmix |
|
SYMBOL TABLE: |
0+ l d \.text 0+ (|\.text) |
0+ l d \.data 0+ (|\.data) |
0+ l d \.bss 0+ (|\.bss) |
0+4 l \.text 0+ w4 |
0+10 l \.text 0+ w2 |
0+c w \.text 0+ w1 |
0+8 w \.text 0+ w3 |
|
RELOCATION RECORDS FOR \[\.text\]: |
OFFSET TYPE VALUE |
0+6 R_MMIX_BASE_PLUS_OFFSET w1 |
0+a R_MMIX_BASE_PLUS_OFFSET w3 |
0+e R_MMIX_BASE_PLUS_OFFSET \.text\+0x0+10 |
0+12 R_MMIX_BASE_PLUS_OFFSET \.text\+0x0+4 |
|
Contents of section \.text: |
0000 fd000000 232a0000 232b0000 232c0000 .* |
0010 232d0000 .* |
|
/geta-opn.d
0,0 → 1,27
# objdump: -dr |
# source: geta-op.s |
# as: -no-expand |
.*: file format elf64-mmix |
|
Disassembly of section \.text: |
|
0000000000000000 <Main>: |
0: fd000000 swym 0,0,0 |
|
0000000000000004 <here>: |
4: fd000000 swym 0,0,0 |
8: f519ffff geta \$25,4 <here> |
|
000000000000000c <at>: |
c: f4200000 geta \$32,c <at> |
10: 424e0008 bz \$78,30 <there> |
14: f35bfffc pushj \$91,4 <here> |
18: f387fffb pushj \$135,4 <here> |
1c: f4870005 geta \$135,30 <there> |
20: f2870004 pushj \$135,30 <there> |
24: f2490003 pushj \$73,30 <there> |
28: f2380002 pushj \$56,30 <there> |
2c: 5f87fff6 pbev \$135,4 <here> |
|
0000000000000030 <there>: |
30: fd000000 swym 0,0,0 |
/bz-c.s
0,0 → 1,5
% BZ far away must not fail |
i1 IS #ffff0000ffff0000 |
Main BZ $255,i1 |
BZ $255,i2 |
i2 IS #ffff0000ffff0000 |
/err-builtin.s
0,0 → 1,14
% { dg-do assemble { target mmix-*-* } } |
% { dg-options "-no-predefined-syms" } |
% When disallowing built-in names, we have to treat GET and PUT |
% specially, so when parsing the special register operand we do |
% not use the symbol table. Make sure an error is emitted for |
% invalid registers despite there being a valid user label and |
% the construct being valid without the -no-builtin-syms option. |
% FIXME: Another option? Or is this just the consequence? |
RJ IS 4 |
other IS 20 |
Main GET $5,RJ % { dg-error "invalid operands" "" } |
PUT other,$7 % { dg-error "invalid operands" "" } |
GET garbage % { dg-error "invalid operands" "" } |
PUT garbage % { dg-error "invalid operands" "" } |
/reg3-op-r.d
0,0 → 1,32
# objdump: -dr |
# as: -linkrelax |
# source: reg3-op.s |
.*: file format elf64-mmix |
|
Disassembly of section \.text: |
|
0000000000000000 <Main>: |
0: 18170c43 mul \$23,\$12,\$67 |
4: 20200c43 add \$32,\$12,\$67 |
8: 2a0c2043 4addu \$12,\$32,\$67 |
c: 2ce88543 8addu \$232,\$133,\$67 |
10: 2e170c49 16addu \$23,\$12,\$73 |
14: 3e1f0ce9 sru \$31,\$12,\$233 |
18: 601726d4 csn \$23,\$38,\$212 |
1c: 7c04afb5 zsnp \$4,\$175,\$181 |
20: 1b170cb0 mulu \$23,\$12,176 |
24: 39200cb0 sl \$32,\$12,176 |
28: 330c20b0 cmpu \$12,\$32,176 |
2c: 29e885b0 2addu \$232,\$133,176 |
30: df170ccb mxor \$23,\$12,203 |
34: c11f0cd5 or \$31,\$12,213 |
38: cd1726d3 nand \$23,\$38,211 |
3c: d304afa1 wdif \$4,\$175,161 |
40: db170c00 sadd \$23,\$12,0 |
44: df200c00 mxor \$32,\$12,0 |
48: c30c2000 orn \$12,\$32,0 |
4c: cbe88500 andn \$232,\$133,0 |
50: 2f170c00 16addu \$23,\$12,0 |
54: 391f0c00 sl \$31,\$12,0 |
58: 23172600 addu \$23,\$38,0 |
5c: 3104af00 cmp \$4,\$175,0 |
/resume-op-r.d
0,0 → 1,12
# objdump: -dr |
# as: -linkrelax |
# source: resume-op.s |
.*: file format elf64-mmix |
|
Disassembly of section \.text: |
|
0000000000000000 <Main>: |
0: f9000001 resume 1 |
4: f9000000 resume 0 |
8: f9000001 resume 1 |
c: f9000000 resume 0 |
/relax2.s
0,0 → 1,41
# PUSHJ stub border-cases: two with either or both stubs unreachable, |
# local symbols, ditto non-local labels, similar with three PUSHJs. |
# Note the absence of ":" on labels: because it's a symbol-character, |
# it's concatenated with the parameter macro name and parsed as "\x:". |
# This happens before gas deals with ":" as it usually does; not being |
# part of the name when ending a label at the beginning of a line. |
# (Since we're LABELS_WITHOUT_COLONS it inserts one for us, but |
# that would be disabled with --gnu-syntax.) |
|
Main SWYM |
|
.irp x,0,1,2,3,4,5,6,7,8,9,10,11,12 |
|
.section .text.a\x,"ax" |
aa\x .space 4,0 |
a\x .space 65536*4,0 |
PUSHJ $33,aa\x |
PUSHJ $22,a\x |
.space 65535*4-4*\x |
|
.section .text.b\x,"ax" |
bbb\x .space 4,0 |
bb\x .space 4,0 |
b\x .space 65535*4 |
PUSHJ $12,bbb\x |
PUSHJ $13,bb\x |
PUSHJ $14,b\x |
.space 65535*4-4*\x |
|
.section .text.c\x,"ax" |
c\x PUSHJ $100,ca\x |
PUSHJ $101,cb\x |
.space 65535*4-4*\x |
|
.section .text.d\x,"ax" |
d\x PUSHJ $99,da\x |
PUSHJ $98,db\x |
PUSHJ $97,dc\x |
.space 65535*4-4*\x |
|
.endr |
/loc-4.d
0,0 → 1,44
#readelf: -Ssrx1 -x2 |
There are 7 section headers, starting at offset 0x88: |
|
Section Headers: |
\[Nr\] Name Type Address Offset |
Size EntSize Flags Link Info Align |
\[ 0\] NULL 0000000000000000 00000000 |
0000000000000000 0000000000000000 0 0 0 |
\[ 1\] \.text PROGBITS 0000000000000000 00000040 |
0000000000000018 0000000000000000 AX 0 0 4 |
\[ 2\] \.data PROGBITS 0000000000000000 00000058 |
0000000000000004 0000000000000000 WA 0 0 4 |
\[ 3\] \.bss NOBITS 0000000000000000 0000005c |
0000000000000000 0000000000000000 WA 0 0 1 |
\[ 4\] \.shstrtab STRTAB 0000000000000000 0000005c |
000000000000002c 0000000000000000 0 0 1 |
\[ 5\] \.symtab SYMTAB 0000000000000000 00000248 |
00000000000000c0 0000000000000018 6 5 8 |
\[ 6\] \.strtab STRTAB 0000000000000000 00000308 |
000000000000003b 0000000000000000 0 0 1 |
Key to Flags: |
W \(write\), A \(alloc\), X \(execute\), M \(merge\), S \(strings\) |
I \(info\), L \(link order\), G \(group\), x \(unknown\) |
O \(extra OS processing required\) o \(OS specific\), p \(processor specific\) |
|
There are no relocations in this file\. |
|
Symbol table '\.symtab' contains 8 entries: |
Num: Value Size Type Bind Vis Ndx Name |
0: 0+ 0 NOTYPE LOCAL DEFAULT UND |
1: 0+ 0 SECTION LOCAL DEFAULT 1 |
2: 0+ 0 SECTION LOCAL DEFAULT 2 |
3: 0+ 0 SECTION LOCAL DEFAULT 3 |
4: 2000000000000000 0 NOTYPE LOCAL DEFAULT ABS Data_Segment |
5: 0+14 0 FUNC GLOBAL DEFAULT 1 Main |
6: 0+ 0 NOTYPE GLOBAL DEFAULT ABS __\.MMIX\.start\.\.text |
7: 2000000000000000 0 NOTYPE GLOBAL DEFAULT ABS __\.MMIX\.start\.\.data |
|
Hex dump of section '\.text': |
0x00000000 fd001807 00000000 00000000 00000000 .* |
0x00000010 fd00038f fd090101 .* |
|
Hex dump of section '\.data': |
0x00000000 00000100 .* |
/cons-1.s
0,0 → 1,2
# Empty expressions are a single zero. |
d OCTA |
/locall1.d
0,0 → 1,15
# objdump: -t |
|
.*: file format elf64-mmix |
|
SYMBOL TABLE: |
0+ l d \.text 0+ (|\.text) |
0+ l d \.data 0+ (|\.data) |
0+ l d \.bss 0+ (|\.bss) |
0+14 l \.text 0+ L9 |
0+18 l \.text 0+ L12 |
0+1c l \.text 0+ L21 |
0+20 l \.text 0+ LC32 |
0+24 l \.text 0+ LC23 |
0+8 g \.text 0+ L:21 |
0+10 g \.text 0+ LC:23 |
/basep-11.s
0,0 → 1,13
# Test that we handle weak symbols with base-plus-offset relocs. |
.weak w1 |
.weak w3 |
SWYM |
w4: |
LDA $42,w1 |
w3: |
LDA $43,w3 |
w1: |
LDA $44,w2 |
w2: |
LDA $45,w4 |
|
/pushj-cs.d
0,0 → 1,18
#as: -x |
#source: pushj-c.s |
#objdump: -tdr |
|
.*: file format elf64-mmix |
SYMBOL TABLE: |
0+ l d .text 0+ (|\.text) |
0+ l d .data 0+ (|\.data) |
0+ l d .bss 0+ (|\.bss) |
ffff0000ffff0000 l \*ABS\* 0+ i1 |
ffff0000ffff0000 l \*ABS\* 0+ i2 |
0+ g F .text 0+ Main |
Disassembly of section \.text: |
0+ <Main>: |
0: f2010000 pushj \$1,0 <Main> |
0: R_MMIX_PUSHJ_STUBBABLE \*ABS\*\+0xffff0000ffff0000 |
4: f2020000 pushj \$2,4 <Main\+0x4> |
4: R_MMIX_PUSHJ_STUBBABLE i2 |
/loc-4.s
0,0 → 1,8
# Hit a few remaining code-paths. |
SWYM 0,24,7 |
LOC Data_Segment |
TETRA 4*4*4*4 |
|
LOC #10 |
SWYM 911 |
Main SWYM 9,1,1 |
/locall1.s
0,0 → 1,14
% Get rid of labels that look compiler-generated, matching: "L.*:[0-9]+". |
% Only if they're local, of course. |
.global L:21 |
.global LC:23 |
L:9 SWYM 0 |
L:12 SWYM 1 |
L:21 SWYM 2 |
LC:32 SWYM 3 |
LC:23 SWYM 4 |
L9 SWYM 10 |
L12 SWYM 11 |
L21 SWYM 12 |
LC32 SWYM 13 |
LC23 SWYM 14 |
/greg2a.d
0,0 → 1,39
# source: greg2.s |
# as: -no-merge-gregs |
# objdump: -rst |
|
.*: file format elf64-mmix |
|
SYMBOL TABLE: |
0+ l d \.text 0+ (|\.text) |
0+ l d \.data 0+ (|\.data) |
0+ l d \.bss 0+ (|\.bss) |
0+ l \.text 0+ D4 |
0+4 l \.text 0+ E6 |
0+ l \.MMIX\.reg_contents 0+ H9 |
0+8 l \.MMIX\.reg_contents 0+ G8 |
0+18 l \.MMIX\.reg_contents 0+ F7 |
0+28 l \.MMIX\.reg_contents 0+ D5 |
0+30 l \.MMIX\.reg_contents 0+ C3 |
0+38 l \.MMIX\.reg_contents 0+ B1 |
0+40 l \.MMIX\.reg_contents 0+ A0 |
0+0 l d \.MMIX\.reg_contents 0+ (|\.MMIX\.reg_contents) |
0+c g F \.text 0+ Main |
|
|
RELOCATION RECORDS FOR \[\.MMIX\.reg_contents\]: |
OFFSET TYPE VALUE |
0+ R_MMIX_64 \.text\+0x0+8 |
0+10 R_MMIX_64 \.text\+0x0+8 |
0+18 R_MMIX_64 \.text\+0x0+8 |
0+20 R_MMIX_64 \.text\+0x0+1c |
0+30 R_MMIX_64 .text |
|
Contents of section \.text: |
0000 e37b01c8 e3ea1edb fd020304 fd010203 .* |
Contents of section \.MMIX\.reg_contents: |
0000 00000000 00000000 00000000 000000f7 .* |
0010 00000000 00000000 00000000 00000000 .* |
0020 00000000 00000000 00000000 00000000 .* |
0030 00000000 00000000 00000000 00000001 .* |
0040 00000000 00000000 .* |
/err-bpo2.s
0,0 → 1,6
% { dg-do assemble { target mmix-*-* } } |
|
# Check that base-plus-offset relocs without suitable GREGs are not passed |
# through (without -linker-allocated-gregs). |
a TETRA 42 |
LDO $43,a+52 % { dg-error "no suitable GREG definition" "" } |
/mmix-err.exp
0,0 → 1,30
# Copyright (C) 2001, 2007 Free Software Foundation, Inc. |
|
# This program is free software; you can redistribute it and/or modify |
# it under the terms of the GNU General Public License as published by |
# the Free Software Foundation; either version 3 of the License, or |
# (at your option) any later version. |
# |
# This program is distributed in the hope that it will be useful, |
# but WITHOUT ANY WARRANTY; without even the implied warranty of |
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
# GNU General Public License for more details. |
# |
# You should have received a copy of the GNU General Public License |
# along with this program; if not, write to the Free Software |
# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. |
|
if { ! [istarget "mmix-*"] } { |
return |
} |
|
proc run_mmix_err_tests { } { |
global srcdir subdir runtests |
|
load_lib gas-dg.exp |
dg-init |
dg-runtest [lsort [glob -nocomplain $srcdir/$subdir/err-*.s]] "" "" |
dg-finish |
} |
|
run_mmix_err_tests |
/is-1.d
0,0 → 1,12
#objdump: -str |
|
.*: file format elf64-mmix |
|
SYMBOL TABLE: |
0+ l d \.text 0+ (|\.text) |
0+ l d \.data 0+ (|\.data) |
0+ l d \.bss 0+ (|\.bss) |
|
Contents of section \.text: |
0+ 00000026 0000001f 0000000d 0000001e .* |
|
/greg8.d
0,0 → 1,32
#objdump: -str |
|
# GAS must know that .text and expressions around 0 can be |
# equivalent for GREGs; like greg7 but the other way round. |
|
.*: file format elf64-mmix |
|
SYMBOL TABLE: |
0+ l d \.text 0+ (|\.text) |
0+ l d \.data 0+ (|\.data) |
0+ l d \.bss 0+ (|\.bss) |
0+ l \.text 0+ t |
0+4 l \*ABS\* 0+ x |
0+ l \.text 0+ y |
0+ l d \.MMIX\.reg_contents 0+ (|\.MMIX\.reg_contents) |
0+8 g F \.text 0+ Main |
0+8 g \*ABS\* 0+ __\.MMIX\.start\.\.text |
|
|
RELOCATION RECORDS FOR \[\.text\]: |
OFFSET TYPE VALUE |
0+a R_MMIX_REG \.MMIX\.reg_contents |
|
|
RELOCATION RECORDS FOR \[\.MMIX\.reg_contents\]: |
OFFSET TYPE VALUE |
0+ R_MMIX_64 \.text |
|
Contents of section \.text: |
0000 00000000 00000021 232c0054 .* |
Contents of section \.MMIX\.reg_contents: |
0000 00000000 00000000 .* |
/err-local2.s
0,0 → 1,3
% { dg-do assemble { target mmix-*-* } } |
% Check that error handling for the restrictions on LOCAL works. |
LOCAL 128 % { dg-error "LOCAL must be placed in code or data" "" } |
/regx-op.d
0,0 → 1,34
# objdump: -dr |
.*: file format elf64-mmix |
|
Disassembly of section \.text: |
|
0000000000000000 <Main>: |
0: 9a7b0c43 preld 123,\$12,\$67 |
4: 9c200c43 prego 32,\$12,\$67 |
8: b87b2043 syncd 123,\$32,\$67 |
c: ba008543 prest 0,\$133,\$67 |
10: b47b0c49 stco 123,\$12,\$73 |
14: bc820ce9 syncid 130,\$12,\$233 |
18: 9a7b26d4 preld 123,\$38,\$212 |
1c: 9c01afb5 prego 1,\$175,\$181 |
20: b97b0cb0 syncd 123,\$12,176 |
24: bb200cb0 prest 32,\$12,176 |
28: b57b84b0 stco 123,\$132,176 |
2c: bde885b0 syncid 232,\$133,176 |
30: 9b7b0ccb preld 123,\$12,203 |
34: 9de70cd5 prego 231,\$12,213 |
38: b97b26d3 syncd 123,\$38,211 |
3c: bb04afa1 prest 4,\$175,161 |
40: b57b0c00 stco 123,\$12,0 |
44: bd170c00 syncid 23,\$12,0 |
48: 9b020c00 preld 2,\$12,0 |
4c: 9de88500 prego 232,\$133,0 |
50: b97b0c00 syncd 123,\$12,0 |
54: bb0d0c00 prest 13,\$12,0 |
58: b57b2600 stco 123,\$38,0 |
5c: bd04af00 syncid 4,\$175,0 |
60: 9b7b0c00 preld 123,\$12,0 |
64: 9d200c00 prego 32,\$12,0 |
68: b97b2000 syncd 123,\$32,0 |
6c: bbe88500 prest 232,\$133,0 |
/err-loc-7.s
0,0 → 1,4
% { dg-do assemble { target mmix-*-* } } |
LOC (#20<<56)|1 |
.p2align 0 |
TETRA 1 % { dg-error "unaligned data at an absolute location" "" } |
/is-1.s
0,0 → 1,7
# IS must handle a here-label. |
9H IS 30 |
7H IS 8F+7 |
6H IS 2F |
TETRA 7B,8F,6B,9B |
8H IS 9B+1 |
2H IS 13 |
/local-1.d
0,0 → 1,37
# objdump: -xsr |
|
.*: file format elf64-mmix |
.* |
architecture: mmix, flags 0x00000011: |
HAS_RELOC, HAS_SYMS |
start address 0x0000000000000000 |
|
Sections: |
Idx Name Size VMA LMA File off Algn |
0 \.text 00000004 0000000000000000 0000000000000000 00000040 2\*\*2 |
CONTENTS, ALLOC, LOAD, RELOC, READONLY, CODE |
1 \.data 00000000 0000000000000000 0000000000000000 00000044 2\*\*0 |
CONTENTS, ALLOC, LOAD, DATA |
2 \.bss 00000000 0000000000000000 0000000000000000 00000044 2\*\*0 |
ALLOC |
SYMBOL TABLE: |
0+ l d \.text 0+ (|\.text) |
0+ l d \.data 0+ (|\.data) |
0+ l d \.bss 0+ (|\.bss) |
0+90 l \*REG\* 0+ reghere |
0+2d l \*ABS\* 0+ consthere |
0+ \*UND\* 0+ extreg |
|
|
RELOCATION RECORDS FOR \[\.text\]: |
OFFSET TYPE VALUE |
0+ R_MMIX_LOCAL extreg |
0+ R_MMIX_LOCAL reghere |
0+ R_MMIX_LOCAL consthere |
0+ R_MMIX_LOCAL \*ABS\*\+0x0000000000000064 |
0+ R_MMIX_LOCAL \*ABS\*\+0x00000000000000c8 |
|
|
Contents of section \.text: |
0000 fd000000 .* |
|
/regx-op.l
0,0 → 1,51
GAS for MMIX .*/regx-op\.s page 1 |
|
|
1 #.* |
2 #.* |
3 0000 9A7B0C43 Main PRELD X,Y,Z |
4 0004 9C200C43 PREGO 32,Y,Z |
5 0008 B87B2043 SYNCD X,\$32,Z |
6 000c BA008543 PREST 0,\$133,Z |
7 0010 B47B0C49 STCO X,Y,\$73 |
8 0014 BC820CE9 SYNCID 130,Y,\$233 |
9 0018 9A7B26D4 PRELD X,\$38,\$212 |
10 001c 9C01AFB5 PREGO 1,\$175,\$181 |
11 |
12 0020 B97B0CB0 SYNCD X,Y,Z0 |
13 0024 BB200CB0 PREST 32,Y,Z0 |
14 0028 B57B84B0 STCO X,\$132,Z0 |
15 002c BDE885B0 SYNCID 232,\$133,Z0 |
16 0030 9B7B0CCB PRELD X,Y,203 |
17 0034 9DE70CD5 PREGO 231,Y,213 |
18 0038 B97B26D3 SYNCD X,\$38,211 |
19 003c BB04AFA1 PREST 4,\$175,161 |
20 |
21 0040 B57B0C00 STCO X,Y,0 |
22 0044 BD170C00 SYNCID 23,Y,0 |
23 0048 9B020C00 PRELD 2,Y,0 |
24 004c 9DE88500 PREGO 232,\$133,0 |
25 0050 B97B0C00 SYNCD X,Y,0 |
26 0054 BB0D0C00 PREST 13,Y,0 |
27 0058 B57B2600 STCO X,\$38,0 |
28 005c BD04AF00 SYNCID 4,\$175,0 |
29 |
30 0060 9B7B0C00 PRELD X,Y |
31 0064 9D200C00 PREGO 32,Y |
32 0068 B97B2000 SYNCD X,\$32 |
33 006c BBE88500 PREST 232,\$133 |
34 X IS 123 |
35 Y IS \$12 |
36 Z IS \$67 |
37 Z0 IS 176 |
GAS for MMIX .*/regx-op\.s page 2 |
|
|
DEFINED SYMBOLS |
.*/regx-op\.s:3 \.text:0000000000000000 Main |
\*ABS\*:000000000000007b X |
\*REG\*:000000000000000c Y |
\*REG\*:0000000000000043 Z |
\*ABS\*:00000000000000b0 Z0 |
|
NO UNDEFINED SYMBOLS |
/greg8.s
0,0 → 1,8
t IS @ |
x IS 4 |
|
LOC x+4 |
y OCTA 33 |
GREG y |
|
Main LDA $44,x+88 |
/basep-8.d
0,0 → 1,30
#as: -linker-allocated-gregs |
#objdump: -drt |
|
# Since we don't merge BPO-relocs until linking with |
# -linker-allocated-gregs, we automatically correctly handle the two |
# seemingly neighboring comm-symbols that don't merge well at |
# assembly-time. |
|
.*: file format elf64-mmix |
|
SYMBOL TABLE: |
0+ l d \.text 0+ (|\.text) |
0+ l d \.data 0+ (|\.data) |
0+ l d \.bss 0+ (|\.bss) |
0+ l O \.bss 0+4 comm_symbol3 |
0+4 l O \.bss 0+4 comm_symbol4 |
0+4 O \*COM\* 0+4 comm_symbol1 |
0+4 O \*COM\* 0+4 comm_symbol2 |
|
Disassembly of section \.text: |
|
0+ <\.text>: |
0: 232a0000 addu \$42,\$0,0 |
2: R_MMIX_BASE_PLUS_OFFSET comm_symbol1 |
4: 232b0000 addu \$43,\$0,0 |
6: R_MMIX_BASE_PLUS_OFFSET comm_symbol2 |
8: 232c0000 addu \$44,\$0,0 |
a: R_MMIX_BASE_PLUS_OFFSET \.bss |
c: 232d0000 addu \$45,\$0,0 |
e: R_MMIX_BASE_PLUS_OFFSET \.bss\+0x4 |
/err-set.s
0,0 → 1,7
% { dg-do assemble { target mmix-*-* } } |
Main SET $45,23 |
SET $57,$67 % Valid, Z is 0. |
SET $78,X % Valid, Z is 0. |
SET $7,Y % { dg-error "invalid operands.*value of 967 too large" "" } |
X IS $31 |
Y IS 967 |
/regx-op.s
0,0 → 1,37
# For insns where X is a constant: 'X'-type operands. |
# |
Main PRELD X,Y,Z |
PREGO 32,Y,Z |
SYNCD X,$32,Z |
PREST 0,$133,Z |
STCO X,Y,$73 |
SYNCID 130,Y,$233 |
PRELD X,$38,$212 |
PREGO 1,$175,$181 |
|
SYNCD X,Y,Z0 |
PREST 32,Y,Z0 |
STCO X,$132,Z0 |
SYNCID 232,$133,Z0 |
PRELD X,Y,203 |
PREGO 231,Y,213 |
SYNCD X,$38,211 |
PREST 4,$175,161 |
|
STCO X,Y,0 |
SYNCID 23,Y,0 |
PRELD 2,Y,0 |
PREGO 232,$133,0 |
SYNCD X,Y,0 |
PREST 13,Y,0 |
STCO X,$38,0 |
SYNCID 4,$175,0 |
|
PRELD X,Y |
PREGO 32,Y |
SYNCD X,$32 |
PREST 232,$133 |
X IS 123 |
Y IS $12 |
Z IS $67 |
Z0 IS 176 |
/cons-2.d
0,0 → 1,14
#objdump: -str |
|
.*: file format elf64-mmix |
|
SYMBOL TABLE: |
0+ l d \.text 0+ (|\.text) |
0+ l d \.data 0+ (|\.data) |
0+ l d \.bss 0+ (|\.bss) |
0+ g F \.text 0+ Main |
|
Contents of section \.text: |
0000 61623b00 00000000 00000000 00000064 .* |
0010 00000000 00000065 .* |
|
/list-insns.d
0,0 → 1,279
# objdump: -dr |
.*: file format elf64-mmix |
|
Disassembly of section \.text: |
|
0000000000000000 <Main>: |
0: 00000003 trap 0,0,3 |
4: 00030405 trap 3,4,5 |
8: 010c17f1 fcmp \$12,\$23,\$241 |
c: 08700129 flot \$112,ROUND_OFF,\$41 |
10: 0970048d flot \$112,ROUND_NEAR,141 |
14: 08bf00f2 flot \$191,\$242 |
18: 09c3002a flot \$195,42 |
1c: 027acb04 fun \$122,\$203,\$4 |
20: 03661e28 feql \$102,\$30,\$40 |
24: 0a66000e flotu \$102,\$14 |
28: 0a84020e flotu \$132,ROUND_UP,\$14 |
2c: 0a660368 flotu \$102,ROUND_DOWN,\$104 |
30: 0aac048c flotu \$172,ROUND_NEAR,\$140 |
34: 0a010186 flotu \$1,ROUND_OFF,\$134 |
38: 0470df29 fadd \$112,\$223,\$41 |
3c: 05700129 fix \$112,ROUND_OFF,\$41 |
40: 050b008d fix \$11,\$141 |
44: 0c700129 sflot \$112,ROUND_OFF,\$41 |
48: 0d70048d sflot \$112,ROUND_NEAR,141 |
4c: 0670df29 fsub \$112,\$223,\$41 |
50: 0766000e fixu \$102,\$14 |
54: 0784020e fixu \$132,ROUND_UP,\$14 |
58: 0e0b008d sflotu \$11,\$141 |
5c: 0f70008d sflotu \$112,141 |
60: 0f70048d sflotu \$112,ROUND_NEAR,141 |
64: 0e700129 sflotu \$112,ROUND_OFF,\$41 |
68: 10661e28 fmul \$102,\$30,\$40 |
6c: 110cdf01 fcmpe \$12,\$223,\$1 |
70: 197acb2c mul \$122,\$203,44 |
74: 18661e28 mul \$102,\$30,\$40 |
78: 130cdf01 feqle \$12,\$223,\$1 |
7c: 120cdf0b fune \$12,\$223,\$11 |
80: 1b7ad52c mulu \$122,\$213,44 |
84: 1a841e28 mulu \$132,\$30,\$40 |
88: 140cdf0b fdiv \$12,\$223,\$11 |
8c: 1584020e fsqrt \$132,ROUND_UP,\$14 |
90: 150b008d fsqrt \$11,\$141 |
94: 1d7ad52c div \$122,\$213,44 |
98: 1c841e28 div \$132,\$30,\$40 |
9c: 160cdf0b frem \$12,\$223,\$11 |
a0: 1784020e fint \$132,ROUND_UP,\$14 |
a4: 170b008d fint \$11,\$141 |
a8: 1e0cdf01 divu \$12,\$223,\$1 |
ac: 1f7acbff divu \$122,\$203,255 |
b0: 200cdf01 add \$12,\$223,\$1 |
b4: 217acbff add \$122,\$203,255 |
b8: 280cdf0b 2addu \$12,\$223,\$11 |
bc: 297acb00 2addu \$122,\$203,0 |
c0: 237acbff addu \$122,\$203,255 |
c4: 220cdf0b addu \$12,\$223,\$11 |
c8: 237acbff addu \$122,\$203,255 |
cc: 220cdf0b addu \$12,\$223,\$11 |
d0: 2b7acbcd 4addu \$122,\$203,205 |
d4: 2a0cdf6f 4addu \$12,\$223,\$111 |
d8: 240cdf0b sub \$12,\$223,\$11 |
dc: 257acbcd sub \$122,\$203,205 |
e0: 2c0cdf0b 8addu \$12,\$223,\$11 |
e4: 2d7acbcd 8addu \$122,\$203,205 |
e8: 2602df0b subu \$2,\$223,\$11 |
ec: 270c14cd subu \$12,\$20,205 |
f0: 2e02df0b 16addu \$2,\$223,\$11 |
f4: 2f0c14cd 16addu \$12,\$20,205 |
f8: 3002df0b cmp \$2,\$223,\$11 |
fc: 310c14cd cmp \$12,\$20,205 |
100: 3802df0b sl \$2,\$223,\$11 |
104: 390c14cd sl \$12,\$20,205 |
108: 3202df0b cmpu \$2,\$223,\$11 |
10c: 330c14cd cmpu \$12,\$20,205 |
110: 3a02df0b slu \$2,\$223,\$11 |
114: 3b0c14cd slu \$12,\$20,205 |
118: 3402170b neg \$2,23,\$11 |
11c: 350c00cd neg \$12,0,205 |
120: 35c00acd neg \$192,10,205 |
124: 3d0c14cd sr \$12,\$20,205 |
128: 3c02df0b sr \$2,\$223,\$11 |
12c: 3602170b negu \$2,23,\$11 |
130: 370c00cd negu \$12,0,205 |
134: 3f0c14cd sru \$12,\$20,205 |
138: 3e02df0b sru \$2,\$223,\$11 |
13c: 40020001 bn \$2,140 <Main\+0x140> |
140: 4102ffff bn \$2,13c <Main\+0x13c> |
144: 4902ffff bnn \$2,140 <Main\+0x140> |
148: 4902ffff bnn \$2,144 <Main\+0x144> |
14c: 42ff0001 bz \$255,150 <Main\+0x150> |
150: 43ffffff bz \$255,14c <Main\+0x14c> |
154: 4aff0001 bnz \$255,158 <Main\+0x158> |
158: 4bffffff bnz \$255,154 <Main\+0x154> |
15c: 44190001 bp \$25,160 <Main\+0x160> |
160: 4519ffff bp \$25,15c <Main\+0x15c> |
164: 4c190001 bnp \$25,168 <Main\+0x168> |
168: 4d19ffff bnp \$25,164 <Main\+0x164> |
16c: 46190001 bod \$25,170 <Main\+0x170> |
170: 4719ffff bod \$25,16c <Main\+0x16c> |
174: 4e190001 bev \$25,178 <Main\+0x178> |
178: 4f19ffff bev \$25,174 <Main\+0x174> |
17c: 50020001 pbn \$2,180 <Main\+0x180> |
180: 5102ffff pbn \$2,17c <Main\+0x17c> |
184: 58020001 pbnn \$2,188 <Main\+0x188> |
188: 5902ffff pbnn \$2,184 <Main\+0x184> |
18c: 520c0001 pbz \$12,190 <Main\+0x190> |
190: 5316ffff pbz \$22,18c <Main\+0x18c> |
194: 5a200001 pbnz \$32,198 <Main\+0x198> |
198: 5b34ffff pbnz \$52,194 <Main\+0x194> |
19c: 56190001 pbod \$25,1a0 <Main\+0x1a0> |
1a0: 5719ffff pbod \$25,19c <Main\+0x19c> |
1a4: 5e190001 pbev \$25,1a8 <Main\+0x1a8> |
1a8: 5f19ffff pbev \$25,1a4 <Main\+0x1a4> |
1ac: 6002df0b csn \$2,\$223,\$11 |
1b0: 610c14cd csn \$12,\$20,205 |
1b4: 6802df0b csnn \$2,\$223,\$11 |
1b8: 690c14cd csnn \$12,\$20,205 |
1bc: 6202cb0b csz \$2,\$203,\$11 |
1c0: 630cc8cd csz \$12,\$200,205 |
1c4: 6a02cb0b csnz \$2,\$203,\$11 |
1c8: 6b0cc8cd csnz \$12,\$200,205 |
1cc: 6402cb0b csp \$2,\$203,\$11 |
1d0: 650cc8cd csp \$12,\$200,205 |
1d4: 6c02cb0b csnp \$2,\$203,\$11 |
1d8: 6d0cc8cd csnp \$12,\$200,205 |
1dc: 6602cb0b csod \$2,\$203,\$11 |
1e0: 670cc8cd csod \$12,\$200,205 |
1e4: 6e02cb0b csev \$2,\$203,\$11 |
1e8: 6f0cc8cd csev \$12,\$200,205 |
1ec: 7002df0b zsn \$2,\$223,\$11 |
1f0: 710c14cd zsn \$12,\$20,205 |
1f4: 7802df0b zsnn \$2,\$223,\$11 |
1f8: 790c14cd zsnn \$12,\$20,205 |
1fc: 7202cb0b zsz \$2,\$203,\$11 |
200: 730cc8cd zsz \$12,\$200,205 |
204: 7a02cb0b zsnz \$2,\$203,\$11 |
208: 7b0cc8cd zsnz \$12,\$200,205 |
20c: 7402cb0b zsp \$2,\$203,\$11 |
210: 750cc8cd zsp \$12,\$200,205 |
214: 7c02cb0b zsnp \$2,\$203,\$11 |
218: 7d0cc8cd zsnp \$12,\$200,205 |
21c: 7602cb0b zsod \$2,\$203,\$11 |
220: 770cc8cd zsod \$12,\$200,205 |
224: 7e02cb0b zsev \$2,\$203,\$11 |
228: 7f0cc8cd zsev \$12,\$200,205 |
22c: 8002000b ldb \$2,\$0,\$11 |
230: 810c14cd ldb \$12,\$20,205 |
234: 8802000b ldt \$2,\$0,\$11 |
238: 890c14cd ldt \$12,\$20,205 |
23c: 8202000b ldbu \$2,\$0,\$11 |
240: 830c14cd ldbu \$12,\$20,205 |
244: 8a02000b ldtu \$2,\$0,\$11 |
248: 8b0c14cd ldtu \$12,\$20,205 |
24c: 8402000b ldw \$2,\$0,\$11 |
250: 850c14cd ldw \$12,\$20,205 |
254: 8c02000b ldo \$2,\$0,\$11 |
258: 8d0c14cd ldo \$12,\$20,205 |
25c: 8602000b ldwu \$2,\$0,\$11 |
260: 870c14cd ldwu \$12,\$20,205 |
264: 8e02000b ldou \$2,\$0,\$11 |
268: 8f0c14cd ldou \$12,\$20,205 |
26c: 9802000b ldvts \$2,\$0,\$11 |
270: 990c14cd ldvts \$12,\$20,205 |
274: 9202000b ldht \$2,\$0,\$11 |
278: 930c14cd ldht \$12,\$20,205 |
27c: 9b7014cd preld 112,\$20,205 |
280: 9a7014e1 preld 112,\$20,\$225 |
284: 9402000b cswap \$2,\$0,\$11 |
288: 950c14cd cswap \$12,\$20,205 |
28c: 9d7014cd prego 112,\$20,205 |
290: 9c7014e1 prego 112,\$20,\$225 |
294: 9602000b ldunc \$2,\$0,\$11 |
298: 970c14cd ldunc \$12,\$20,205 |
29c: 9e02000b go \$2,\$0,\$11 |
2a0: 9f0c14cd go \$12,\$20,205 |
2a4: a0020a97 stb \$2,\$10,\$151 |
2a8: a10c14cd stb \$12,\$20,205 |
2ac: a8200a97 stt \$32,\$10,\$151 |
2b0: a90c14cd stt \$12,\$20,205 |
2b4: a2020a97 stbu \$2,\$10,\$151 |
2b8: a30c14cd stbu \$12,\$20,205 |
2bc: aa200a97 sttu \$32,\$10,\$151 |
2c0: ab0c14cd sttu \$12,\$20,205 |
2c4: a4020a97 stw \$2,\$10,\$151 |
2c8: a50cdccd stw \$12,\$220,205 |
2cc: ac20aa97 sto \$32,\$170,\$151 |
2d0: adb614f5 sto \$182,\$20,245 |
2d4: a6020a97 stwu \$2,\$10,\$151 |
2d8: a70cdccd stwu \$12,\$220,205 |
2dc: ae20aa97 stou \$32,\$170,\$151 |
2e0: afb614f5 stou \$182,\$20,245 |
2e4: b020aa97 stsf \$32,\$170,\$151 |
2e8: b1b614f5 stsf \$182,\$20,245 |
2ec: b97014cd syncd 112,\$20,205 |
2f0: b87014e1 syncd 112,\$20,\$225 |
2f4: b220aa97 stht \$32,\$170,\$151 |
2f8: b3b614f5 stht \$182,\$20,245 |
2fc: bb7014cd prest 112,\$20,205 |
300: ba7014e1 prest 112,\$20,\$225 |
304: b420aa97 stco 32,\$170,\$151 |
308: b5b614f5 stco 182,\$20,245 |
30c: bd7014cd syncid 112,\$20,205 |
310: bc0014e1 syncid 0,\$20,\$225 |
314: b620aa97 stunc \$32,\$170,\$151 |
318: b7b614f5 stunc \$182,\$20,245 |
31c: be20aa97 pushgo \$32,\$170,\$151 |
320: bfb614f5 pushgo \$182,\$20,245 |
324: c18ec800 set \$142,\$200 |
328: c020aa97 or \$32,\$170,\$151 |
32c: c1b614f5 or \$182,\$20,245 |
330: c820aa97 and \$32,\$170,\$151 |
334: c9b614f5 and \$182,\$20,245 |
338: c220aa97 orn \$32,\$170,\$151 |
33c: c3b614f5 orn \$182,\$20,245 |
340: ca20aa97 andn \$32,\$170,\$151 |
344: cbb614f5 andn \$182,\$20,245 |
348: c420aa97 nor \$32,\$170,\$151 |
34c: c5b614f5 nor \$182,\$20,245 |
350: cc20aa97 nand \$32,\$170,\$151 |
354: cdb614f5 nand \$182,\$20,245 |
358: c620aa97 xor \$32,\$170,\$151 |
35c: c7b614f5 xor \$182,\$20,245 |
360: ce20aa97 nxor \$32,\$170,\$151 |
364: cfb614f5 nxor \$182,\$20,245 |
368: d020aa97 bdif \$32,\$170,\$151 |
36c: d1b614f5 bdif \$182,\$20,245 |
370: d820aa97 mux \$32,\$170,\$151 |
374: d9b614f5 mux \$182,\$20,245 |
378: d220aa97 wdif \$32,\$170,\$151 |
37c: d3b614f5 wdif \$182,\$20,245 |
380: da20aa97 sadd \$32,\$170,\$151 |
384: dbb600f5 sadd \$182,\$0,245 |
388: d420aa97 tdif \$32,\$170,\$151 |
38c: d5b614f5 tdif \$182,\$20,245 |
390: dc20aa97 mor \$32,\$170,\$151 |
394: ddb614f5 mor \$182,\$20,245 |
398: d620aa97 odif \$32,\$170,\$151 |
39c: d7b614f5 odif \$182,\$20,245 |
3a0: de201197 mxor \$32,\$17,\$151 |
3a4: df52b418 mxor \$82,\$180,24 |
3a8: e004ffff seth \$4,0xffff |
3ac: e05e0000 seth \$94,0x0 |
3b0: e00400ff seth \$4,0xff |
3b4: e05e04d2 seth \$94,0x4d2 |
3b8: e15e04d2 setmh \$94,0x4d2 |
3bc: e85e04d2 orh \$94,0x4d2 |
3c0: e95e04d2 ormh \$94,0x4d2 |
3c4: e25e04d2 setml \$94,0x4d2 |
3c8: e35e04d2 setl \$94,0x4d2 |
3cc: ea5e04d2 orml \$94,0x4d2 |
3d0: eb5e04d2 orl \$94,0x4d2 |
3d4: e45e04d2 inch \$94,0x4d2 |
3d8: e55e04d2 incmh \$94,0x4d2 |
3dc: ec5e04d2 andnh \$94,0x4d2 |
3e0: ed5e04d2 andnmh \$94,0x4d2 |
3e4: e65e04d2 incml \$94,0x4d2 |
3e8: e75e04d2 incl \$94,0x4d2 |
3ec: ee5e04d2 andnml \$94,0x4d2 |
3f0: ef5e04d2 andnl \$94,0x4d2 |
3f4: f1ffffff jmp 3f0 <Main\+0x3f0> |
3f8: f0000001 jmp 3fc <Main\+0x3fc> |
3fc: f82afffe pop 42,65534 |
400: f90000ff resume 255 |
404: f9000000 resume 0 |
408: f9000001 resume 1 |
40c: f2190001 pushj \$25,410 <Main\+0x410> |
410: f319ffff pushj \$25,40c <Main\+0x40c> |
414: fa040000 save \$4,0 |
418: fb0000ea unsave 0,\$234 |
41c: f4190001 geta \$25,420 <Main\+0x420> |
420: f519ffff geta \$25,41c <Main\+0x41c> |
424: fc7a1201 sync 8000001 |
428: fd010203 swym 1,2,3 |
42c: fd000000 swym 0,0,0 |
430: f7040022 put rJ,34 |
434: f6040086 put rJ,\$134 |
438: feea0004 get \$234,rJ |
43c: ff000000 trip 0,0,0 |
440: ff050607 trip 5,6,7 |
/reloclab-rs.d
0,0 → 1,42
#objdump: -dr |
#as: -linkrelax -x |
#source: reloclab.s |
|
.*: file format elf64-mmix |
Disassembly of section \.text: |
0000000000000000 <Main>: |
0: f0000000 jmp 0 <Main> |
0: R_MMIX_JMP foo\+0x8 |
4: fd000000 swym 0,0,0 |
8: fd000000 swym 0,0,0 |
c: fd000000 swym 0,0,0 |
10: fd000000 swym 0,0,0 |
14: f0000004 jmp 24 <here> |
14: R_MMIX_ADDR27 \.text\+0x24 |
18: f4080003 geta \$8,24 <here> |
18: R_MMIX_ADDR19 \.text\+0x24 |
1c: 46630002 bod \$99,24 <here> |
1c: R_MMIX_ADDR19 \.text\+0x24 |
20: fd000000 swym 0,0,0 |
0000000000000024 <here>: |
24: 42de0000 bz \$222,24 <here> |
24: R_MMIX_CBRANCH bar\+0x10 |
28: fd000000 swym 0,0,0 |
2c: fd000000 swym 0,0,0 |
30: fd000000 swym 0,0,0 |
34: fd000000 swym 0,0,0 |
38: fd000000 swym 0,0,0 |
000000000000003c <there>: |
3c: f4040000 geta \$4,3c <there> |
3c: R_MMIX_GETA baz |
40: fd000000 swym 0,0,0 |
44: fd000000 swym 0,0,0 |
48: fd000000 swym 0,0,0 |
4c: f2070000 pushj \$7,4c <there\+0x10> |
4c: R_MMIX_PUSHJ_STUBBABLE foobar |
50: f1fffffb jmp 3c <there> |
50: R_MMIX_ADDR27 \.text\+0x3c |
54: f558fffa geta \$88,3c <there> |
54: R_MMIX_ADDR19 \.text\+0x3c |
58: 476ffff9 bod \$111,3c <there> |
58: R_MMIX_ADDR19 \.text\+0x3c |
/local-1.s
0,0 → 1,12
LOCAL extreg |
LOCAL reghere |
LOCAL consthere |
LOCAL 100 |
LOCAL $200 |
|
reghere IS $144 |
consthere IS 45 |
|
# Restrictions on the implementation means we have to have the LOCAL in |
# code or data. |
SWYM 0,0,0 |
/weak1-s.d
0,0 → 1,19
#as: -x |
#source: weak1.s |
#objdump: -str |
|
# Like weak1, but with PUSHJ stubs. |
|
.*: file format elf64-mmix |
SYMBOL TABLE: |
0+ l d \.text 0+ (|\.text) |
0+ l d \.data 0+ (|\.data) |
0+ l d \.bss 0+ (|\.bss) |
0+ w \.text 0+ foo |
0+4 g \.text 0+ main |
RELOCATION RECORDS FOR \[\.text\]: |
OFFSET TYPE VALUE |
0+8 R_MMIX_64 foo |
0+4 R_MMIX_PUSHJ_STUBBABLE foo |
Contents of section \.text: |
0000 f8010000 f20f0000 00000000 00000000 .* |
/reloc16-r.d
0,0 → 1,14
# objdump: -dr |
# as: -linkrelax |
# source: reloc16.s |
.*: file format elf64-mmix |
|
Disassembly of section \.text: |
|
0000000000000000 <Main>: |
0: e3040000 setl \$4,0x0 |
2: R_MMIX_16 foo |
4: f82d0000 pop 45,0 |
6: R_MMIX_16 bar\+0x2a |
8: fd2a0000 swym 42,0,0 |
a: R_MMIX_16 baz\+0xfffffffffffff6d7 |
/list-insns.l
0,0 → 1,301
GAS for MMIX .*/list-insns.s page 1 |
|
|
1 #.* |
2 #.* |
3 #.* |
4 #.* |
5 #.* |
6 #.* |
7 0000 00000003 Main TETRA 3 |
8 0004 00030405 TRAP 3,4,5 |
9 0008 010C17F1 FCMP \$12,\$23,\$241 |
10 000c 08700129 FLOT \$112,ROUND_OFF,\$41 |
11 0010 0970048D FLOT \$112,ROUND_NEAR,141 |
12 0014 08BF00F2 FLOT \$191,\$242 |
13 0018 09C3002A FLOT \$195,42 |
14 001c 027ACB04 FUN \$122,\$203,\$4 |
15 0020 03661E28 FEQL \$102,\$30,\$40 |
16 0024 0A66000E FLOTU \$102,\$14 |
17 0028 0A84020E FLOTU \$132,ROUND_UP,\$14 |
18 002c 0A660368 FLOTU \$102,ROUND_DOWN,\$104 |
19 0030 0AAC048C FLOTU \$172,ROUND_NEAR,\$140 |
20 0034 0A010186 FLOTU \$1,ROUND_OFF,\$134 |
21 0038 0470DF29 FADD \$112,\$223,\$41 |
22 003c 05700129 FIX \$112,ROUND_OFF,\$41 |
23 0040 050B008D FIX \$11,\$141 |
24 0044 0C700129 SFLOT \$112,ROUND_OFF,\$41 |
25 0048 0D70048D SFLOT \$112,ROUND_NEAR,141 |
26 004c 0670DF29 FSUB \$112,\$223,\$41 |
27 0050 0766000E FIXU \$102,\$14 |
28 0054 0784020E FIXU \$132,ROUND_UP,\$14 |
29 0058 0E0B008D SFLOTU \$11,\$141 |
30 005c 0F70008D SFLOTU \$112,141 |
31 0060 0F70048D SFLOTU \$112,ROUND_NEAR,141 |
32 0064 0E700129 SFLOTU \$112,ROUND_OFF,\$41 |
33 0068 10661E28 FMUL \$102,\$30,\$40 |
34 006c 110CDF01 FCMPE \$12,\$223,\$1 |
35 0070 197ACB2C MUL \$122,\$203,44 |
36 0074 18661E28 MUL \$102,\$30,\$40 |
37 0078 130CDF01 FEQLE \$12,\$223,\$1 |
38 007c 120CDF0B FUNE \$12,\$223,\$11 |
39 0080 1B7AD52C MULU \$122,\$213,44 |
40 0084 1A841E28 MULU \$132,\$30,\$40 |
41 0088 140CDF0B FDIV \$12,\$223,\$11 |
42 008c 1584020E FSQRT \$132,ROUND_UP,\$14 |
43 0090 150B008D FSQRT \$11,\$141 |
44 0094 1D7AD52C DIV \$122,\$213,44 |
45 0098 1C841E28 DIV \$132,\$30,\$40 |
46 009c 160CDF0B FREM \$12,\$223,\$11 |
47 00a0 1784020E FINT \$132,ROUND_UP,\$14 |
48 00a4 170B008D FINT \$11,\$141 |
49 00a8 1E0CDF01 DIVU \$12,\$223,\$1 |
50 00ac 1F7ACBFF DIVU \$122,\$203,255 |
51 00b0 200CDF01 ADD \$12,\$223,\$1 |
52 00b4 217ACBFF ADD \$122,\$203,255 |
53 00b8 280CDF0B 2ADDU \$12,\$223,\$11 |
54 00bc 297ACB00 2ADDU \$122,\$203,0 |
55 00c0 237ACBFF ADDU \$122,\$203,255 |
56 00c4 220CDF0B ADDU \$12,\$223,\$11 |
57 00c8 237ACBFF LDA \$122,\$203,255 |
GAS for MMIX .*/list-insns.s page 2 |
|
|
58 00cc 220CDF0B LDA \$12,\$223,\$11 |
59 00d0 2B7ACBCD 4ADDU \$122,\$203,205 |
60 00d4 2A0CDF6F 4ADDU \$12,\$223,\$111 |
61 00d8 240CDF0B SUB \$12,\$223,\$11 |
62 00dc 257ACBCD SUB \$122,\$203,205 |
63 00e0 2C0CDF0B 8ADDU \$12,\$223,\$11 |
64 00e4 2D7ACBCD 8ADDU \$122,\$203,205 |
65 00e8 2602DF0B SUBU \$2,\$223,\$11 |
66 00ec 270C14CD SUBU \$12,\$20,205 |
67 00f0 2E02DF0B 16ADDU \$2,\$223,\$11 |
68 00f4 2F0C14CD 16ADDU \$12,\$20,205 |
69 00f8 3002DF0B CMP \$2,\$223,\$11 |
70 00fc 310C14CD CMP \$12,\$20,205 |
71 0100 3802DF0B SL \$2,\$223,\$11 |
72 0104 390C14CD SL \$12,\$20,205 |
73 0108 3202DF0B CMPU \$2,\$223,\$11 |
74 010c 330C14CD CMPU \$12,\$20,205 |
75 0110 3A02DF0B SLU \$2,\$223,\$11 |
76 0114 3B0C14CD SLU \$12,\$20,205 |
77 0118 3402170B NEG \$2,23,\$11 |
78 011c 350C00CD NEG \$12,0,205 |
79 0120 35C00ACD NEG \$192,10,205 |
80 0124 3D0C14CD SR \$12,\$20,205 |
81 0128 3C02DF0B SR \$2,\$223,\$11 |
82 012c 3602170B NEGU \$2,23,\$11 |
83 0130 370C00CD NEGU \$12,0,205 |
84 0134 3F0C14CD SRU \$12,\$20,205 |
85 0138 3E02DF0B SRU \$2,\$223,\$11 |
86 013c 40020001 1H BN \$2,2F |
87 0140 4102FFFF 2H BN \$2,1B |
88 0144 4902FFFF 1H BNN \$2,2B |
89 0148 4902FFFF 2H BNN \$2,1B |
90 014c 42FF0001 1H BZ \$255,2F |
91 0150 43FFFFFF 2H BZ \$255,1B |
92 0154 4AFF0001 1H BNZ \$255,2F |
93 0158 4BFFFFFF 2H BNZ \$255,1B |
94 015c 44190001 1H BP \$25,2F |
95 0160 4519FFFF 2H BP \$25,1B |
96 0164 4C190001 1H BNP \$25,2F |
97 0168 4D19FFFF 2H BNP \$25,1B |
98 016c 46190001 1H BOD \$25,2F |
99 0170 4719FFFF 2H BOD \$25,1B |
100 0174 4E190001 1H BEV \$25,2F |
101 0178 4F19FFFF 2H BEV \$25,1B |
102 017c 50020001 1H PBN \$2,2F |
103 0180 5102FFFF 2H PBN \$2,1B |
104 0184 58020001 1H PBNN \$2,2F |
105 0188 5902FFFF 2H PBNN \$2,1B |
106 018c 520C0001 1H PBZ \$12,2F |
107 0190 5316FFFF 2H PBZ \$22,1B |
108 0194 5A200001 1H PBNZ \$32,2F |
109 0198 5B34FFFF 2H PBNZ \$52,1B |
110 019c 56190001 1H PBOD \$25,2F |
111 01a0 5719FFFF 2H PBOD \$25,1B |
112 01a4 5E190001 1H PBEV \$25,2F |
113 01a8 5F19FFFF 2H PBEV \$25,1B |
114 01ac 6002DF0B CSN \$2,\$223,\$11 |
GAS for MMIX .*/list-insns.s page 3 |
|
|
115 01b0 610C14CD CSN \$12,\$20,205 |
116 01b4 6802DF0B CSNN \$2,\$223,\$11 |
117 01b8 690C14CD CSNN \$12,\$20,205 |
118 01bc 6202CB0B CSZ \$2,\$203,\$11 |
119 01c0 630CC8CD CSZ \$12,\$200,205 |
120 01c4 6A02CB0B CSNZ \$2,\$203,\$11 |
121 01c8 6B0CC8CD CSNZ \$12,\$200,205 |
122 01cc 6402CB0B CSP \$2,\$203,\$11 |
123 01d0 650CC8CD CSP \$12,\$200,205 |
124 01d4 6C02CB0B CSNP \$2,\$203,\$11 |
125 01d8 6D0CC8CD CSNP \$12,\$200,205 |
126 01dc 6602CB0B CSOD \$2,\$203,\$11 |
127 01e0 670CC8CD CSOD \$12,\$200,205 |
128 01e4 6E02CB0B CSEV \$2,\$203,\$11 |
129 01e8 6F0CC8CD CSEV \$12,\$200,205 |
130 01ec 7002DF0B ZSN \$2,\$223,\$11 |
131 01f0 710C14CD ZSN \$12,\$20,205 |
132 01f4 7802DF0B ZSNN \$2,\$223,\$11 |
133 01f8 790C14CD ZSNN \$12,\$20,205 |
134 01fc 7202CB0B ZSZ \$2,\$203,\$11 |
135 0200 730CC8CD ZSZ \$12,\$200,205 |
136 0204 7A02CB0B ZSNZ \$2,\$203,\$11 |
137 0208 7B0CC8CD ZSNZ \$12,\$200,205 |
138 020c 7402CB0B ZSP \$2,\$203,\$11 |
139 0210 750CC8CD ZSP \$12,\$200,205 |
140 0214 7C02CB0B ZSNP \$2,\$203,\$11 |
141 0218 7D0CC8CD ZSNP \$12,\$200,205 |
142 021c 7602CB0B ZSOD \$2,\$203,\$11 |
143 0220 770CC8CD ZSOD \$12,\$200,205 |
144 0224 7E02CB0B ZSEV \$2,\$203,\$11 |
145 0228 7F0CC8CD ZSEV \$12,\$200,205 |
146 022c 8002000B LDB \$2,\$0,\$11 |
147 0230 810C14CD LDB \$12,\$20,205 |
148 0234 8802000B LDT \$2,\$0,\$11 |
149 0238 890C14CD LDT \$12,\$20,205 |
150 023c 8202000B LDBU \$2,\$0,\$11 |
151 0240 830C14CD LDBU \$12,\$20,205 |
152 0244 8A02000B LDTU \$2,\$0,\$11 |
153 0248 8B0C14CD LDTU \$12,\$20,205 |
154 024c 8402000B LDW \$2,\$0,\$11 |
155 0250 850C14CD LDW \$12,\$20,205 |
156 0254 8C02000B LDO \$2,\$0,\$11 |
157 0258 8D0C14CD LDO \$12,\$20,205 |
158 025c 8602000B LDWU \$2,\$0,\$11 |
159 0260 870C14CD LDWU \$12,\$20,205 |
160 0264 8E02000B LDOU \$2,\$0,\$11 |
161 0268 8F0C14CD LDOU \$12,\$20,205 |
162 026c 9802000B LDVTS \$2,\$0,\$11 |
163 0270 990C14CD LDVTS \$12,\$20,205 |
164 0274 9202000B LDHT \$2,\$0,\$11 |
165 0278 930C14CD LDHT \$12,\$20,205 |
166 027c 9B7014CD PRELD 112,\$20,205 |
167 0280 9A7014E1 PRELD 112,\$20,\$225 |
168 0284 9402000B CSWAP \$2,\$0,\$11 |
169 0288 950C14CD CSWAP \$12,\$20,205 |
170 028c 9D7014CD PREGO 112,\$20,205 |
171 0290 9C7014E1 PREGO 112,\$20,\$225 |
GAS for MMIX .*/list-insns.s page 4 |
|
|
172 0294 9602000B LDUNC \$2,\$0,\$11 |
173 0298 970C14CD LDUNC \$12,\$20,205 |
174 029c 9E02000B GO \$2,\$0,\$11 |
175 02a0 9F0C14CD GO \$12,\$20,205 |
176 02a4 A0020A97 STB \$2,\$10,\$151 |
177 02a8 A10C14CD STB \$12,\$20,205 |
178 02ac A8200A97 STT \$32,\$10,\$151 |
179 02b0 A90C14CD STT \$12,\$20,205 |
180 02b4 A2020A97 STBU \$2,\$10,\$151 |
181 02b8 A30C14CD STBU \$12,\$20,205 |
182 02bc AA200A97 STTU \$32,\$10,\$151 |
183 02c0 AB0C14CD STTU \$12,\$20,205 |
184 02c4 A4020A97 STW \$2,\$10,\$151 |
185 02c8 A50CDCCD STW \$12,\$220,205 |
186 02cc AC20AA97 STO \$32,\$170,\$151 |
187 02d0 ADB614F5 STO \$182,\$20,245 |
188 02d4 A6020A97 STWU \$2,\$10,\$151 |
189 02d8 A70CDCCD STWU \$12,\$220,205 |
190 02dc AE20AA97 STOU \$32,\$170,\$151 |
191 02e0 AFB614F5 STOU \$182,\$20,245 |
192 02e4 B020AA97 STSF \$32,\$170,\$151 |
193 02e8 B1B614F5 STSF \$182,\$20,245 |
194 02ec B97014CD SYNCD 112,\$20,205 |
195 02f0 B87014E1 SYNCD 112,\$20,\$225 |
196 02f4 B220AA97 STHT \$32,\$170,\$151 |
197 02f8 B3B614F5 STHT \$182,\$20,245 |
198 02fc BB7014CD PREST 112,\$20,205 |
199 0300 BA7014E1 PREST 112,\$20,\$225 |
200 0304 B420AA97 STCO 32,\$170,\$151 |
201 0308 B5B614F5 STCO 182,\$20,245 |
202 030c BD7014CD SYNCID 112,\$20,205 |
203 0310 BC0014E1 SYNCID 0,\$20,\$225 |
204 0314 B620AA97 STUNC \$32,\$170,\$151 |
205 0318 B7B614F5 STUNC \$182,\$20,245 |
206 031c BE20AA97 PUSHGO \$32,\$170,\$151 |
207 0320 BFB614F5 PUSHGO \$182,\$20,245 |
208 0324 C18EC800 SET \$142,\$200 |
209 0328 C020AA97 OR \$32,\$170,\$151 |
210 032c C1B614F5 OR \$182,\$20,245 |
211 0330 C820AA97 AND \$32,\$170,\$151 |
212 0334 C9B614F5 AND \$182,\$20,245 |
213 0338 C220AA97 ORN \$32,\$170,\$151 |
214 033c C3B614F5 ORN \$182,\$20,245 |
215 0340 CA20AA97 ANDN \$32,\$170,\$151 |
216 0344 CBB614F5 ANDN \$182,\$20,245 |
217 0348 C420AA97 NOR \$32,\$170,\$151 |
218 034c C5B614F5 NOR \$182,\$20,245 |
219 0350 CC20AA97 NAND \$32,\$170,\$151 |
220 0354 CDB614F5 NAND \$182,\$20,245 |
221 0358 C620AA97 XOR \$32,\$170,\$151 |
222 035c C7B614F5 XOR \$182,\$20,245 |
223 0360 CE20AA97 NXOR \$32,\$170,\$151 |
224 0364 CFB614F5 NXOR \$182,\$20,245 |
225 0368 D020AA97 BDIF \$32,\$170,\$151 |
226 036c D1B614F5 BDIF \$182,\$20,245 |
227 0370 D820AA97 MUX \$32,\$170,\$151 |
228 0374 D9B614F5 MUX \$182,\$20,245 |
GAS for MMIX .*/list-insns.s page 5 |
|
|
229 0378 D220AA97 WDIF \$32,\$170,\$151 |
230 037c D3B614F5 WDIF \$182,\$20,245 |
231 0380 DA20AA97 SADD \$32,\$170,\$151 |
232 0384 DBB600F5 SADD \$182,\$0,245 |
233 0388 D420AA97 TDIF \$32,\$170,\$151 |
234 038c D5B614F5 TDIF \$182,\$20,245 |
235 0390 DC20AA97 MOR \$32,\$170,\$151 |
236 0394 DDB614F5 MOR \$182,\$20,245 |
237 0398 D620AA97 ODIF \$32,\$170,\$151 |
238 039c D7B614F5 ODIF \$182,\$20,245 |
239 03a0 DE201197 MXOR \$32,\$17,\$151 |
240 03a4 DF52B418 MXOR \$82,\$180,24 |
241 03a8 E004FFFF SETH \$4,65535 |
242 03ac E05E0000 SETH \$94,0 |
243 03b0 E00400FF SETH \$4,255 |
244 03b4 E05E04D2 SETH \$94,1234 |
245 03b8 E15E04D2 SETMH \$94,1234 |
246 03bc E85E04D2 ORH \$94,1234 |
247 03c0 E95E04D2 ORMH \$94,1234 |
248 03c4 E25E04D2 SETML \$94,1234 |
249 03c8 E35E04D2 SETL \$94,1234 |
250 03cc EA5E04D2 ORML \$94,1234 |
251 03d0 EB5E04D2 ORL \$94,1234 |
252 03d4 E45E04D2 INCH \$94,1234 |
253 03d8 E55E04D2 INCMH \$94,1234 |
254 03dc EC5E04D2 ANDNH \$94,1234 |
255 03e0 ED5E04D2 ANDNMH \$94,1234 |
256 03e4 E65E04D2 INCML \$94,1234 |
257 03e8 E75E04D2 INCL \$94,1234 |
258 03ec EE5E04D2 ANDNML \$94,1234 |
259 03f0 EF5E04D2 0H ANDNL \$94,1234 |
260 03f4 F1FFFFFF JMP 0B |
261 03f8 F0000001 JMP 0F |
262 03fc F82AFFFE 0H POP 42,65534 |
263 0400 F90000FF RESUME 255 |
264 0404 F9000000 RESUME 0 |
265 0408 F9000001 RESUME 1 |
266 040c F2190001 1H PUSHJ \$25,2F |
267 0410 F319FFFF 2H PUSHJ \$25,1B |
268 0414 FA040000 SAVE \$4,0 |
269 0418 FB0000EA UNSAVE 0,\$234 |
270 041c F4190001 1H GETA \$25,2F |
271 0420 F519FFFF 2H GETA \$25,1B |
272 0424 FC7A1201 SYNC 8000001 |
273 0428 FD010203 SWYM 1,2,3 |
274 042c FD000000 SWYM 0,0,0 |
275 0430 F7040022 PUT rJ,34 |
276 0434 F6040086 PUT rJ,\$134 |
277 0438 FEEA0004 GET \$234,rJ |
278 043c FF000000 TRIP 0,0,0 |
279 0440 FF050607 TRIP 5,6,7 |
GAS for MMIX .*/list-insns.s page 6 |
|
|
DEFINED SYMBOLS |
.*/list-insns.s:7 .text:0000000000000000 Main |
|
NO UNDEFINED SYMBOLS |
/err-insn.s
0,0 → 1,5
% { dg-do assemble { target mmix-*-* } } |
Main SWYM 0,0,0 |
FLOT $112,$223,$41 % { dg-error "invalid operands" "Y field of FLOT 1" } |
FLOT $112,$223,141 % { dg-error "invalid operands" "Y field of FLOT 2" } |
LDA $122,$203,256 % { dg-error "invalid operands" "Z field too large" } |
/basep-8.s
0,0 → 1,9
# Test that we handle COMM-type symbols with base-plus-offset relocs. |
.comm comm_symbol1,4,4 |
.lcomm comm_symbol3,4 |
LDA $42,comm_symbol1 |
LDA $43,comm_symbol2 |
LDA $44,comm_symbol3 |
LDA $45,comm_symbol4 |
.comm comm_symbol2,4,4 |
.lcomm comm_symbol4,4 |
/loc-5.d
0,0 → 1,45
#readelf: -Ssrx1 -x2 |
There are 7 section headers, starting at offset 0x98: |
|
Section Headers: |
\[Nr\] Name Type Address Offset |
Size EntSize Flags Link Info Align |
\[ 0\] NULL 0+ 0+ |
0+ 0+ 0 0 0 |
\[ 1\] \.text PROGBITS 0+ 0+40 |
0+8 0+ AX 0 0 4 |
\[ 2\] \.data PROGBITS 0+ 0+48 |
0+24 0+ WA 0 0 4 |
\[ 3\] \.bss NOBITS 0+ 0+6c |
0+ 0+ WA 0 0 1 |
\[ 4\] \.shstrtab STRTAB 0+ 0+6c |
0+2c 0+ 0 0 1 |
\[ 5\] \.symtab SYMTAB 0+ 0+258 |
0+c0 0+18 6 6 8 |
\[ 6\] \.strtab STRTAB 0+ 0+318 |
0+29 0+ 0 0 1 |
Key to Flags: |
W \(write\), A \(alloc\), X \(execute\), M \(merge\), S \(strings\) |
I \(info\), L \(link order\), G \(group\), x \(unknown\) |
O \(extra OS processing required\) o \(OS specific\), p \(processor specific\) |
|
There are no relocations in this file\. |
|
Symbol table '\.symtab' contains 8 entries: |
Num: Value Size Type Bind Vis Ndx Name |
0: 0+ 0 NOTYPE LOCAL DEFAULT UND |
1: 0+ 0 SECTION LOCAL DEFAULT 1 |
2: 0+ 0 SECTION LOCAL DEFAULT 2 |
3: 0+ 0 SECTION LOCAL DEFAULT 3 |
4: 0+ 0 NOTYPE LOCAL DEFAULT 1 t |
5: 2000000000000000 0 NOTYPE LOCAL DEFAULT ABS Data_Segment |
6: 0+4 0 FUNC GLOBAL DEFAULT 1 Main |
7: 2000000000000000 0 NOTYPE GLOBAL DEFAULT ABS __\.MMIX\.start\.\.data |
|
Hex dump of section '\.text': |
0x0+ fd001807 fd090101 .* |
|
Hex dump of section '\.data': |
0x0+ 00000100 00000000 00000000 00000000 .* |
0x00000010 00000000 00000000 00000000 00000000 .* |
0x00000020 00000038 .* |
/cons-2.s
0,0 → 1,4
# Character constants. We actually see e.g. 'b' as 98, so ww just check |
# that we get the right output with this test. |
Main BYTE 'a','b',';' |
OCTA 'd','e' |
/list-insns.s
0,0 → 1,279
# |
# Somewhat complete instruction set and operand type check. No |
# relocations or deferred register definitions here. |
# |
# |
# |
Main TETRA 3 |
TRAP 3,4,5 |
FCMP $12,$23,$241 |
FLOT $112,ROUND_OFF,$41 |
FLOT $112,ROUND_NEAR,141 |
FLOT $191,$242 |
FLOT $195,42 |
FUN $122,$203,$4 |
FEQL $102,$30,$40 |
FLOTU $102,$14 |
FLOTU $132,ROUND_UP,$14 |
FLOTU $102,ROUND_DOWN,$104 |
FLOTU $172,ROUND_NEAR,$140 |
FLOTU $1,ROUND_OFF,$134 |
FADD $112,$223,$41 |
FIX $112,ROUND_OFF,$41 |
FIX $11,$141 |
SFLOT $112,ROUND_OFF,$41 |
SFLOT $112,ROUND_NEAR,141 |
FSUB $112,$223,$41 |
FIXU $102,$14 |
FIXU $132,ROUND_UP,$14 |
SFLOTU $11,$141 |
SFLOTU $112,141 |
SFLOTU $112,ROUND_NEAR,141 |
SFLOTU $112,ROUND_OFF,$41 |
FMUL $102,$30,$40 |
FCMPE $12,$223,$1 |
MUL $122,$203,44 |
MUL $102,$30,$40 |
FEQLE $12,$223,$1 |
FUNE $12,$223,$11 |
MULU $122,$213,44 |
MULU $132,$30,$40 |
FDIV $12,$223,$11 |
FSQRT $132,ROUND_UP,$14 |
FSQRT $11,$141 |
DIV $122,$213,44 |
DIV $132,$30,$40 |
FREM $12,$223,$11 |
FINT $132,ROUND_UP,$14 |
FINT $11,$141 |
DIVU $12,$223,$1 |
DIVU $122,$203,255 |
ADD $12,$223,$1 |
ADD $122,$203,255 |
2ADDU $12,$223,$11 |
2ADDU $122,$203,0 |
ADDU $122,$203,255 |
ADDU $12,$223,$11 |
LDA $122,$203,255 |
LDA $12,$223,$11 |
4ADDU $122,$203,205 |
4ADDU $12,$223,$111 |
SUB $12,$223,$11 |
SUB $122,$203,205 |
8ADDU $12,$223,$11 |
8ADDU $122,$203,205 |
SUBU $2,$223,$11 |
SUBU $12,$20,205 |
16ADDU $2,$223,$11 |
16ADDU $12,$20,205 |
CMP $2,$223,$11 |
CMP $12,$20,205 |
SL $2,$223,$11 |
SL $12,$20,205 |
CMPU $2,$223,$11 |
CMPU $12,$20,205 |
SLU $2,$223,$11 |
SLU $12,$20,205 |
NEG $2,23,$11 |
NEG $12,0,205 |
NEG $192,10,205 |
SR $12,$20,205 |
SR $2,$223,$11 |
NEGU $2,23,$11 |
NEGU $12,0,205 |
SRU $12,$20,205 |
SRU $2,$223,$11 |
1H BN $2,2F |
2H BN $2,1B |
1H BNN $2,2B |
2H BNN $2,1B |
1H BZ $255,2F |
2H BZ $255,1B |
1H BNZ $255,2F |
2H BNZ $255,1B |
1H BP $25,2F |
2H BP $25,1B |
1H BNP $25,2F |
2H BNP $25,1B |
1H BOD $25,2F |
2H BOD $25,1B |
1H BEV $25,2F |
2H BEV $25,1B |
1H PBN $2,2F |
2H PBN $2,1B |
1H PBNN $2,2F |
2H PBNN $2,1B |
1H PBZ $12,2F |
2H PBZ $22,1B |
1H PBNZ $32,2F |
2H PBNZ $52,1B |
1H PBOD $25,2F |
2H PBOD $25,1B |
1H PBEV $25,2F |
2H PBEV $25,1B |
CSN $2,$223,$11 |
CSN $12,$20,205 |
CSNN $2,$223,$11 |
CSNN $12,$20,205 |
CSZ $2,$203,$11 |
CSZ $12,$200,205 |
CSNZ $2,$203,$11 |
CSNZ $12,$200,205 |
CSP $2,$203,$11 |
CSP $12,$200,205 |
CSNP $2,$203,$11 |
CSNP $12,$200,205 |
CSOD $2,$203,$11 |
CSOD $12,$200,205 |
CSEV $2,$203,$11 |
CSEV $12,$200,205 |
ZSN $2,$223,$11 |
ZSN $12,$20,205 |
ZSNN $2,$223,$11 |
ZSNN $12,$20,205 |
ZSZ $2,$203,$11 |
ZSZ $12,$200,205 |
ZSNZ $2,$203,$11 |
ZSNZ $12,$200,205 |
ZSP $2,$203,$11 |
ZSP $12,$200,205 |
ZSNP $2,$203,$11 |
ZSNP $12,$200,205 |
ZSOD $2,$203,$11 |
ZSOD $12,$200,205 |
ZSEV $2,$203,$11 |
ZSEV $12,$200,205 |
LDB $2,$0,$11 |
LDB $12,$20,205 |
LDT $2,$0,$11 |
LDT $12,$20,205 |
LDBU $2,$0,$11 |
LDBU $12,$20,205 |
LDTU $2,$0,$11 |
LDTU $12,$20,205 |
LDW $2,$0,$11 |
LDW $12,$20,205 |
LDO $2,$0,$11 |
LDO $12,$20,205 |
LDWU $2,$0,$11 |
LDWU $12,$20,205 |
LDOU $2,$0,$11 |
LDOU $12,$20,205 |
LDVTS $2,$0,$11 |
LDVTS $12,$20,205 |
LDHT $2,$0,$11 |
LDHT $12,$20,205 |
PRELD 112,$20,205 |
PRELD 112,$20,$225 |
CSWAP $2,$0,$11 |
CSWAP $12,$20,205 |
PREGO 112,$20,205 |
PREGO 112,$20,$225 |
LDUNC $2,$0,$11 |
LDUNC $12,$20,205 |
GO $2,$0,$11 |
GO $12,$20,205 |
STB $2,$10,$151 |
STB $12,$20,205 |
STT $32,$10,$151 |
STT $12,$20,205 |
STBU $2,$10,$151 |
STBU $12,$20,205 |
STTU $32,$10,$151 |
STTU $12,$20,205 |
STW $2,$10,$151 |
STW $12,$220,205 |
STO $32,$170,$151 |
STO $182,$20,245 |
STWU $2,$10,$151 |
STWU $12,$220,205 |
STOU $32,$170,$151 |
STOU $182,$20,245 |
STSF $32,$170,$151 |
STSF $182,$20,245 |
SYNCD 112,$20,205 |
SYNCD 112,$20,$225 |
STHT $32,$170,$151 |
STHT $182,$20,245 |
PREST 112,$20,205 |
PREST 112,$20,$225 |
STCO 32,$170,$151 |
STCO 182,$20,245 |
SYNCID 112,$20,205 |
SYNCID 0,$20,$225 |
STUNC $32,$170,$151 |
STUNC $182,$20,245 |
PUSHGO $32,$170,$151 |
PUSHGO $182,$20,245 |
SET $142,$200 |
OR $32,$170,$151 |
OR $182,$20,245 |
AND $32,$170,$151 |
AND $182,$20,245 |
ORN $32,$170,$151 |
ORN $182,$20,245 |
ANDN $32,$170,$151 |
ANDN $182,$20,245 |
NOR $32,$170,$151 |
NOR $182,$20,245 |
NAND $32,$170,$151 |
NAND $182,$20,245 |
XOR $32,$170,$151 |
XOR $182,$20,245 |
NXOR $32,$170,$151 |
NXOR $182,$20,245 |
BDIF $32,$170,$151 |
BDIF $182,$20,245 |
MUX $32,$170,$151 |
MUX $182,$20,245 |
WDIF $32,$170,$151 |
WDIF $182,$20,245 |
SADD $32,$170,$151 |
SADD $182,$0,245 |
TDIF $32,$170,$151 |
TDIF $182,$20,245 |
MOR $32,$170,$151 |
MOR $182,$20,245 |
ODIF $32,$170,$151 |
ODIF $182,$20,245 |
MXOR $32,$17,$151 |
MXOR $82,$180,24 |
SETH $4,65535 |
SETH $94,0 |
SETH $4,255 |
SETH $94,1234 |
SETMH $94,1234 |
ORH $94,1234 |
ORMH $94,1234 |
SETML $94,1234 |
SETL $94,1234 |
ORML $94,1234 |
ORL $94,1234 |
INCH $94,1234 |
INCMH $94,1234 |
ANDNH $94,1234 |
ANDNMH $94,1234 |
INCML $94,1234 |
INCL $94,1234 |
ANDNML $94,1234 |
0H ANDNL $94,1234 |
JMP 0B |
JMP 0F |
0H POP 42,65534 |
RESUME 255 |
RESUME 0 |
RESUME 1 |
1H PUSHJ $25,2F |
2H PUSHJ $25,1B |
SAVE $4,0 |
UNSAVE 0,$234 |
1H GETA $25,2F |
2H GETA $25,1B |
SYNC 8000001 |
SWYM 1,2,3 |
SWYM 0,0,0 |
PUT rJ,34 |
PUT rJ,$134 |
GET $234,rJ |
TRIP 0,0,0 |
TRIP 5,6,7 |
/err-fb-1.s
0,0 → 1,7
% { dg-do assemble { target mmix-*-* } } |
% { dg-error "may not appear alone on a line" "" { target mmix-*-* } 5 } |
% { dg-error "may not appear alone on a line" "" { target mmix-*-* } 6 } |
0H .local 32 % { dg-error "do not mix with dot-pseudos" "" } |
1H |
2H |
3H .set s,32 % { dg-error "do not mix with dot-pseudos" "" } |
/set.d
0,0 → 1,12
# objdump: -dr |
.*: file format elf64-mmix |
|
Disassembly of section \.text: |
|
0000000000000000 <Main>: |
0: e32d0463 setl \$45,0x463 |
4: c1394300 set \$57,\$67 |
8: c14e1f00 set \$78,\$31 |
c: e3750463 setl \$117,0x463 |
10: c1754300 set \$117,\$67 |
14: c1751f00 set \$117,\$31 |