This is the mail archive of the binutils@sources.redhat.com mailing list for the binutils project.
| Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
|---|---|---|
| Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Oh no! Another round of hundreds of K:s of uninteresting tests. :-)
This is the last part. I think; it's likely that I forgot something.
Ok to commit?
Part 10/10, gas/testsuite:
* gas/mmix: New testsuite directory.
diff -cprN none/mmix-err.exp mmix/mmix-err.exp
*** none/mmix-err.exp Thu Jan 1 01:00:00 1970
--- mmix/mmix-err.exp Mon Oct 1 01:10:40 2001
***************
*** 0 ****
--- 1,30 ----
+ # Copyright (C) 2001 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 2 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, 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
diff -cprN none/mmix-list.exp mmix/mmix-list.exp
*** none/mmix-list.exp Thu Jan 1 01:00:00 1970
--- mmix/mmix-list.exp Sun Aug 12 22:20:17 2001
***************
*** 0 ****
--- 1,48 ----
+ # Copyright (C) 2001 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 2 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+
+ if { ! [istarget "mmix-*"] } {
+ return
+ }
+
+ proc run_list_test { name opts } {
+ global srcdir subdir runtests
+
+ if ![runtest_file_p $runtests $name] then {
+ return
+ }
+
+ set testname "mmix list $name"
+ set file $srcdir/$subdir/$name
+ gas_run ${name}.s $opts ">&dump.out"
+ if { [regexp_diff "dump.out" "${file}.l"] } then {
+ fail $testname
+ verbose "output is [file_contents "dump.out"]" 2
+ return
+ }
+ pass $testname
+ }
+
+ 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
diff -cprN none/mmix.exp mmix/mmix.exp
*** none/mmix.exp Thu Jan 1 01:00:00 1970
--- mmix/mmix.exp Sat Aug 11 21:03:20 2001
***************
*** 0 ****
--- 1,38 ----
+ # Copyright (C) 2001 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 2 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, 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
diff -cprN none/1cjmp1b-n.d mmix/1cjmp1b-n.d
*** none/1cjmp1b-n.d Thu Jan 1 01:00:00 1970
--- mmix/1cjmp1b-n.d Mon Jun 4 01:32:14 2001
***************
*** 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>
diff -cprN none/1cjmp1b-r.d mmix/1cjmp1b-r.d
*** none/1cjmp1b-r.d Thu Jan 1 01:00:00 1970
--- mmix/1cjmp1b-r.d Mon Jun 12 14:41:59 2000
***************
*** 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
diff -cprN none/1cjmp1b.d mmix/1cjmp1b.d
*** none/1cjmp1b.d Thu Jan 1 01:00:00 1970
--- mmix/1cjmp1b.d Sun Jun 4 20:52:10 2000
***************
*** 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>
diff -cprN none/1cjmp1b.l mmix/1cjmp1b.l
*** none/1cjmp1b.l Thu Jan 1 01:00:00 1970
--- mmix/1cjmp1b.l Thu Jun 1 14:24:33 2000
***************
*** 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
diff -cprN none/1cjmp1b.s mmix/1cjmp1b.s
*** none/1cjmp1b.s Thu Jan 1 01:00:00 1970
--- mmix/1cjmp1b.s Thu Jun 1 14:23:28 2000
***************
*** 0 ****
--- 1,4 ----
+ Main SWYM 0,0,0
+ 1: JMP 1f
+ 1: JMP 1b
+ JMP 1b
diff -cprN none/1cjmp1brn.d mmix/1cjmp1brn.d
*** none/1cjmp1brn.d Thu Jan 1 01:00:00 1970
--- mmix/1cjmp1brn.d Mon Jun 4 03:55:00 2001
***************
*** 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
diff -cprN none/1hjmp1b.d mmix/1hjmp1b.d
*** none/1hjmp1b.d Thu Jan 1 01:00:00 1970
--- mmix/1hjmp1b.d Thu Jul 12 23:47:10 2001
***************
*** 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>
diff -cprN none/1hjmp1b.l mmix/1hjmp1b.l
*** none/1hjmp1b.l Thu Jan 1 01:00:00 1970
--- mmix/1hjmp1b.l Thu Jun 1 15:31:44 2000
***************
*** 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
diff -cprN none/1hjmp1b.s mmix/1hjmp1b.s
*** none/1hjmp1b.s Thu Jan 1 01:00:00 1970
--- mmix/1hjmp1b.s Thu Jun 1 14:15:54 2000
***************
*** 0 ****
--- 1,4 ----
+ Main SWYM 0,0,0
+ 1H JMP 1F
+ 1H JMP 1B
+ JMP 1B
Binary files none/a.out and mmix/a.out differ
diff -cprN none/align-1.d mmix/align-1.d
*** none/align-1.d Thu Jan 1 01:00:00 1970
--- mmix/align-1.d Tue Jul 17 15:50:48 2001
***************
*** 0 ****
--- 1,18 ----
+ #objdump: -srt
+
+ .*: file format elf64-mmix
+
+ SYMBOL TABLE:
+ 0000000000000000 l d \.text 0000000000000000
+ 0000000000000000 l d \.data 0000000000000000
+ 0000000000000000 l d \.bss 0000000000000000
+ 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 .*
+ Contents of section \.data:
diff -cprN none/align-1.s mmix/align-1.s
*** none/align-1.s Thu Jan 1 01:00:00 1970
--- mmix/align-1.s Wed Jul 11 15:05:04 2001
***************
*** 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
diff -cprN none/basep-1.d mmix/basep-1.d
*** none/basep-1.d Thu Jan 1 01:00:00 1970
--- mmix/basep-1.d Tue Jun 26 05:07:03 2001
***************
*** 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
diff -cprN none/basep-1.s mmix/basep-1.s
*** none/basep-1.s Thu Jan 1 01:00:00 1970
--- mmix/basep-1.s Wed Jun 20 05:22:10 2001
***************
*** 0 ****
--- 1,4 ----
+ # Simple base-plus-offset
+ b GREG @
+ a TETRA 42
+ LDO $43,a+52
diff -cprN none/basep-2.d mmix/basep-2.d
*** none/basep-2.d Thu Jan 1 01:00:00 1970
--- mmix/basep-2.d Fri Sep 21 04:07:54 2001
***************
*** 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
diff -cprN none/basep-2.s mmix/basep-2.s
*** none/basep-2.s Thu Jan 1 01:00:00 1970
--- mmix/basep-2.s Tue Jun 26 12:39:20 2001
***************
*** 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
diff -cprN none/basep-3.d mmix/basep-3.d
*** none/basep-3.d Thu Jan 1 01:00:00 1970
--- mmix/basep-3.d Sun Sep 23 12:52:11 2001
***************
*** 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
diff -cprN none/basep-3.s mmix/basep-3.s
*** none/basep-3.s Thu Jan 1 01:00:00 1970
--- mmix/basep-3.s Sun Sep 23 12:49:56 2001
***************
*** 0 ****
--- 1,5 ----
+ # PUSHGO is eligible for base-plus-offset addressing.
+ GREG fn
+ Main PUSHGO $42,fn
+ SWYM 0
+ extfn POP 0,0
diff -cprN none/bspec-1.d mmix/bspec-1.d
*** none/bspec-1.d Thu Jan 1 01:00:00 1970
--- mmix/bspec-1.d Wed Aug 22 06:38:58 2001
***************
*** 0 ****
--- 1,48 ----
+ #readelf: -Ssr -x1 -x4
+
+ There are 9 section headers, starting at offset 0xa0:
+
+ 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
+ 0000000000000004 0000000000000000 AX 0 0 4
+ \[ 2\] \.data PROGBITS 0000000000000000 00000044
+ 0000000000000000 0000000000000000 WA 0 0 1
+ \[ 3\] \.bss NOBITS 0000000000000000 00000044
+ 0000000000000000 0000000000000000 WA 0 0 1
+ \[ 4\] \.MMIX\.spec_data\.2 PROGBITS 0000000000000000 00000044
+ 0000000000000004 0000000000000000 0 0 4
+ \[ 5\] \.rela\.MMIX\.spec_d RELA 0000000000000000 00000378
+ 0000000000000018 0000000000000018 7 4 8
+ \[ 6\] \.shstrtab STRTAB 0000000000000000 00000048
+ 0000000000000055 0000000000000000 0 0 1
+ \[ 7\] \.symtab SYMTAB 0000000000000000 000002e0
+ 0000000000000090 0000000000000018 8 5 8
+ \[ 8\] \.strtab STRTAB 0000000000000000 00000370
+ 0000000000000006 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\)
+
+ Relocation section '\.rela\.MMIX\.spec_data\.2' at offset 0x378 contains 1 entries:
+ [ ]+Offset[ ]+Info[ ]+Type[ ]+Symbol's Value[ ]+Symbol's Name[ ]+Addend
+ 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':
+ 0x00000000 fd010203 .*
+
+ Hex dump of section '\.MMIX\.spec_data\.2':
+ 0x00000000 00000000 .*
diff -cprN none/bspec-1.s mmix/bspec-1.s
*** none/bspec-1.s Thu Jan 1 01:00:00 1970
--- mmix/bspec-1.s Tue Jul 10 03:57:08 2001
***************
*** 0 ****
--- 1,4 ----
+ SWYM 1,2,3
+ BSPEC 2
+ TETRA forw
+ ESPEC
diff -cprN none/bspec-2.d mmix/bspec-2.d
*** none/bspec-2.d Thu Jan 1 01:00:00 1970
--- mmix/bspec-2.d Wed Aug 22 06:40:38 2001
***************
*** 0 ****
--- 1,47 ----
+ #readelf: -Sr -x1 -x4
+ There are 11 section headers, starting at offset 0xe0:
+
+ 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+4 0+ AX 0 0 4
+ \[ 2\] \.data PROGBITS 0+ 0+44
+ 0+ 0+ WA 0 0 1
+ \[ 3\] \.bss NOBITS 0+ 0+44
+ 0+ 0+ WA 0 0 1
+ \[ 4\] \.MMIX\.spec_data\.2 PROGBITS 0+ 0+48
+ 0+10 0+ 0 0 8
+ \[ 5\] \.rela\.MMIX\.spec_d RELA 0+ 0+470
+ 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+4a0
+ 0+18 0+18 9 6 8
+ \[ 8\] \.shstrtab STRTAB 0+ 0+60
+ 0+7e 0+ 0 0 1
+ \[ 9\] \.symtab SYMTAB 0+ 0+3a0
+ 0+c0 0+18 10 6 8
+ \[10\] \.strtab STRTAB 0+ 0+460
+ 0+c 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\)
+
+ Relocation section '\.rela\.MMIX\.spec_data\.2' at offset 0x470 contains 2 entries:
+ [ ]+Offset[ ]+Info[ ]+Type[ ]+Symbol's Value[ ]+Symbol's Name[ ]+Addend
+ 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 0x4a0 contains 1 entries:
+ [ ]+Offset[ ]+Info[ ]+Type[ ]+Symbol's Value[ ]+Symbol's Name[ ]+Addend
+ 0+ 0+700000005 R_MMIX_64 0+ other \+ 0
+
+ Hex dump of section '\.text':
+ 0x00000000 fd010203 .*
+
+ Hex dump of section '\.MMIX\.spec_data\.2':
+ 0x00000000 00000000 0000002a 00000000 00000000 .*
diff -cprN none/bspec-2.s mmix/bspec-2.s
*** none/bspec-2.s Thu Jan 1 01:00:00 1970
--- mmix/bspec-2.s Tue Jul 10 04:09:07 2001
***************
*** 0 ****
--- 1,11 ----
+ SWYM 1,2,3
+ BSPEC 2
+ TETRA forw
+ ESPEC
+ BSPEC 3
+ OCTA other
+ ESPEC
+ BSPEC 2
+ TETRA 42
+ OCTA other
+ ESPEC
diff -cprN none/builtin1.d mmix/builtin1.d
*** none/builtin1.d Thu Jan 1 01:00:00 1970
--- mmix/builtin1.d Wed Aug 8 08:44:42 2001
***************
*** 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+
+ 0+ l d \.data 0+
+ 0+ l d \.bss 0+
+ 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
diff -cprN none/builtin1.s mmix/builtin1.s
*** none/builtin1.s Thu Jan 1 01:00:00 1970
--- mmix/builtin1.s Wed Aug 8 08:44:32 2001
***************
*** 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
diff -cprN none/builtin2.d mmix/builtin2.d
*** none/builtin2.d Thu Jan 1 01:00:00 1970
--- mmix/builtin2.d Fri Sep 21 04:09:59 2001
***************
*** 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+
+ 0+ l d \.data 0+
+ 0+ l d \.bss 0+
+ 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
diff -cprN none/builtin3.d mmix/builtin3.d
*** none/builtin3.d Thu Jan 1 01:00:00 1970
--- mmix/builtin3.d Sun Sep 23 13:00:40 2001
***************
*** 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+
+ 0+ l d \.data 0+
+ 0+ l d \.bss 0+
+ 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
diff -cprN none/byte-1.d mmix/byte-1.d
*** none/byte-1.d Thu Jan 1 01:00:00 1970
--- mmix/byte-1.d Sat Aug 18 18:39:55 2001
***************
*** 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
+ 0000000000000018 0000000000000000 AX 0 0 4
+ \[ 2\] \.data PROGBITS 0000000000000000 00000058
+ 0000000000000000 0000000000000000 WA 0 0 1
+ \[ 3\] \.bss NOBITS 0000000000000000 00000058
+ 0000000000000000 0000000000000000 WA 0 0 1
+ \[ 4\] \.shstrtab STRTAB 0000000000000000 00000058
+ 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 320a0000 .*
diff -cprN none/byte-1.s mmix/byte-1.s
*** none/byte-1.s Thu Jan 1 01:00:00 1970
--- mmix/byte-1.s Tue Jul 10 16:21:56 2001
***************
*** 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
diff -cprN none/bz-c.d mmix/bz-c.d
*** none/bz-c.d Thu Jan 1 01:00:00 1970
--- mmix/bz-c.d Sun Sep 2 17:34:39 2001
***************
*** 0 ****
--- 1,30 ----
+ #as: -x
+ #objdump: -tdr
+
+ .*: file format elf64-mmix
+
+ SYMBOL TABLE:
+ 0+ l d .text 0+
+ 0+ l d .data 0+
+ 0+ l d .bss 0+
+ 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
diff -cprN none/bz-c.s mmix/bz-c.s
*** none/bz-c.s Thu Jan 1 01:00:00 1970
--- mmix/bz-c.s Sun Sep 2 16:34:41 2001
***************
*** 0 ****
--- 1,5 ----
+ % BZ far away must not fail
+ i1 IS #ffff0000ffff0000
+ Main BZ $255,i1
+ BZ $255,i2
+ i2 IS #ffff0000ffff0000
diff -cprN none/comment-1.d mmix/comment-1.d
*** none/comment-1.d Thu Jan 1 01:00:00 1970
--- mmix/comment-1.d Wed Aug 22 06:42:01 2001
***************
*** 0 ****
--- 1,69 ----
+ #as: -no-expand
+ #readelf: -Ssrx1 -x6
+
+ There are 10 section headers, starting at offset 0x130:
+
+ 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+88 0+ AX 0 0 8
+ \[ 2\] \.rela\.text RELA 0+ 0+4f8
+ 0+78 0+18 8 1 8
+ \[ 3\] \.data PROGBITS 0+ 0+c8
+ 0+ 0+ WA 0 0 1
+ \[ 4\] \.bss NOBITS 0+ 0+c8
+ 0+ 0+ WA 0 0 1
+ \[ 5\] \.MMIX\.spec_data\.4 PROGBITS 0+ 0+c8
+ 0+ 0+ 0 0 1
+ \[ 6\] \.MMIX\.reg_content PROGBITS 0+ 0+c8
+ 0+8 0+ W 0 0 1
+ \[ 7\] \.shstrtab STRTAB 0+ 0+d0
+ 0+5d 0+ 0 0 1
+ \[ 8\] \.symtab SYMTAB 0+ 0+3b0
+ 0+120 0+18 9 8 8
+ \[ 9\] \.strtab STRTAB 0+ 0+4d0
+ 0+21 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\)
+
+ Relocation section '\.rela\.text' at offset 0x4f8 contains 5 entries:
+ [ ]+Offset[ ]+Info[ ]+Type[ ]+Symbol's Value[ ]+Symbol's Name[ ]+Addend
+ 0+34 0+90000001e R_MMIX_ADDR19 0+ target \+ 2c
+ 0+46 0+a00000002 R_MMIX_16 0+ target2 \+ 30
+ 0+48 0+b0000001f R_MMIX_ADDR27 0+ target3 \+ 38
+ 0+54 0+b0000001e R_MMIX_ADDR19 0+ target3 \+ 0
+ 0+78 0+23 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':
+ 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 00000000 .*
+
+ Hex dump of section '\.MMIX\.reg_contents':
+ 0x0+ 00000000 00000033 .*
diff -cprN none/comment-1.s mmix/comment-1.s
*** none/comment-1.s Thu Jan 1 01:00:00 1970
--- mmix/comment-1.s Sun Jul 15 17:26:09 2001
***************
*** 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
diff -cprN none/comment-2.d mmix/comment-2.d
*** none/comment-2.d Thu Jan 1 01:00:00 1970
--- mmix/comment-2.d Tue Jul 17 15:54:20 2001
***************
*** 0 ****
--- 1,15 ----
+ #objdump: -drt
+
+ .*: file format elf64-mmix
+
+ SYMBOL TABLE:
+ 0+ l d \.text 0+
+ 0+ l d \.data 0+
+ 0+ l d \.bss 0+
+ 0+ g F \.text 0+ Main
+
+
+ Disassembly of section \.text:
+
+ 0+ <Main>:
+ 0: f801e240 pop 1,57920
diff -cprN none/comment-2.s mmix/comment-2.s
*** none/comment-2.s Thu Jan 1 01:00:00 1970
--- mmix/comment-2.s Sun Jul 15 14:35:03 2001
***************
*** 0 ****
--- 1 ----
+ Main POP 123456 ignore; x y z
diff -cprN none/comment-3.d mmix/comment-3.d
*** none/comment-3.d Thu Jan 1 01:00:00 1970
--- mmix/comment-3.d Thu Jul 12 03:33:17 2001
***************
*** 0 ****
--- 1,21 ----
+ #objdump: -srt
+
+ .*: file format elf64-mmix
+
+ SYMBOL TABLE:
+ 0000000000000000 l d \.text 0000000000000000
+ 0000000000000000 l d \.data 0000000000000000
+ 0000000000000000 l d \.bss 0000000000000000
+ 0000000000000000 l \.MMIX\.reg_contents 0000000000000000 im
+ 0000000000000000 l d \.MMIX\.reg_contents 0000000000000000
+
+
+ RELOCATION RECORDS FOR \[\.MMIX\.reg_contents\]:
+ OFFSET TYPE VALUE
+ 0000000000000000 R_MMIX_64 \.text
+
+
+ Contents of section \.text:
+ Contents of section \.data:
+ Contents of section \.MMIX\.reg_contents:
+ 0000 00000000 00000000 .*
diff -cprN none/comment-3.s mmix/comment-3.s
*** none/comment-3.s Thu Jan 1 01:00:00 1970
--- mmix/comment-3.s Thu Jul 12 03:07:54 2001
***************
*** 0 ****
--- 1,2 ----
+ # If we aren't careful, '@' will be considered an operator.
+ im GREG @ home
diff -cprN none/cons-1.d mmix/cons-1.d
*** none/cons-1.d Thu Jan 1 01:00:00 1970
--- mmix/cons-1.d Mon Jul 16 21:08:41 2001
***************
*** 0 ****
--- 1,7 ----
+ #objdump: -sr
+
+ .*: file format elf64-mmix
+
+ Contents of section \.text:
+ 0000 00000000 00000000 .*
+ Contents of section \.data:
diff -cprN none/cons-1.s mmix/cons-1.s
*** none/cons-1.s Thu Jan 1 01:00:00 1970
--- mmix/cons-1.s Mon Jul 16 06:13:17 2001
***************
*** 0 ****
--- 1,2 ----
+ # Empty expressions are a single zero.
+ d OCTA
diff -cprN none/cons-2.d mmix/cons-2.d
*** none/cons-2.d Thu Jan 1 01:00:00 1970
--- mmix/cons-2.d Tue Jul 17 15:55:52 2001
***************
*** 0 ****
--- 1,14 ----
+ #objdump: -str
+
+ .*: file format elf64-mmix
+
+ SYMBOL TABLE:
+ 0+ l d \.text 0+
+ 0+ l d \.data 0+
+ 0+ l d \.bss 0+
+ 0+ g F \.text 0+ Main
+
+ Contents of section \.text:
+ 0000 61623b00 00000000 00000000 00000064 .*
+ 0010 00000000 00000065 .*
+ Contents of section \.data:
Binary files none/cons-2.o and mmix/cons-2.o differ
diff -cprN none/cons-2.s mmix/cons-2.s
*** none/cons-2.s Thu Jan 1 01:00:00 1970
--- mmix/cons-2.s Mon Jul 16 21:44:51 2001
***************
*** 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'
diff -cprN none/err-bpo1.s mmix/err-bpo1.s
*** none/err-bpo1.s Thu Jan 1 01:00:00 1970
--- mmix/err-bpo1.s Sun Sep 23 12:36:24 2001
***************
*** 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" "" }
diff -cprN none/err-bspec-1.s mmix/err-bspec-1.s
*** none/err-bspec-1.s Thu Jan 1 01:00:00 1970
--- mmix/err-bspec-1.s Tue Jul 10 03:20:35 2001
***************
*** 0 ****
--- 1,4 ----
+ % { dg-do assemble { target mmix-*-* } }
+ Main SET $45,23
+ BSPEC 5 % { dg-error "BSPEC without ESPEC" "" }
+ TETRA 4
diff -cprN none/err-bspec-2.s mmix/err-bspec-2.s
*** none/err-bspec-2.s Thu Jan 1 01:00:00 1970
--- mmix/err-bspec-2.s Tue Jul 10 03:34:52 2001
***************
*** 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
diff -cprN none/err-bspec-3.s mmix/err-bspec-3.s
*** none/err-bspec-3.s Thu Jan 1 01:00:00 1970
--- mmix/err-bspec-3.s Tue Jul 10 03:37:15 2001
***************
*** 0 ****
--- 1,4 ----
+ % { dg-do assemble { target mmix-*-* } }
+ Main SET $45,23
+ TETRA 4
+ ESPEC % { dg-error "ESPEC without preceding BSPEC" "" }
diff -cprN none/err-bspec-4.s mmix/err-bspec-4.s
*** none/err-bspec-4.s Thu Jan 1 01:00:00 1970
--- mmix/err-bspec-4.s Tue Jul 10 03:39:04 2001
***************
*** 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" "" }
diff -cprN none/err-bspec-5.s mmix/err-bspec-5.s
*** none/err-bspec-5.s Thu Jan 1 01:00:00 1970
--- mmix/err-bspec-5.s Sun Aug 12 13:07:00 2001
***************
*** 0 ****
--- 1,23 ----
+ % { 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
+
+
diff -cprN none/err-builtin.s mmix/err-builtin.s
*** none/err-builtin.s Thu Jan 1 01:00:00 1970
--- mmix/err-builtin.s Sun Sep 23 12:57:43 2001
***************
*** 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" "" }
diff -cprN none/err-byte1.s mmix/err-byte1.s
*** none/err-byte1.s Thu Jan 1 01:00:00 1970
--- mmix/err-byte1.s Sun Aug 5 22:01:38 2001
***************
*** 0 ****
--- 1,11 ----
+ % { dg-do assemble { target mmix-*-* } }
+ % { dg-error "unterminated string" "" { 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
diff -cprN none/err-byte2.s mmix/err-byte2.s
*** none/err-byte2.s Thu Jan 1 01:00:00 1970
--- mmix/err-byte2.s Fri Jul 13 01:09:15 2001
***************
*** 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" "" }
diff -cprN none/err-case.s mmix/err-case.s
*** none/err-case.s Thu Jan 1 01:00:00 1970
--- mmix/err-case.s Sun Aug 12 13:08:12 2001
***************
*** 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\'" "" }
diff -cprN none/err-fb-1.s mmix/err-fb-1.s
*** none/err-fb-1.s Thu Jan 1 01:00:00 1970
--- mmix/err-fb-1.s Fri Jul 13 03:04:57 2001
***************
*** 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" "" }
diff -cprN none/err-greg1.s mmix/err-greg1.s
*** none/err-greg1.s Thu Jan 1 01:00:00 1970
--- mmix/err-greg1.s Sun Aug 12 21:23:02 2001
***************
*** 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" "" }
diff -cprN none/err-insn.s mmix/err-insn.s
*** none/err-insn.s Thu Jan 1 01:00:00 1970
--- mmix/err-insn.s Sun Aug 12 13:08:32 2001
***************
*** 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" }
diff -cprN none/err-is-1.s mmix/err-is-1.s
*** none/err-is-1.s Thu Jan 1 01:00:00 1970
--- mmix/err-is-1.s Sun Aug 12 13:08:40 2001
***************
*** 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" "" }
diff -cprN none/err-loc-1.s mmix/err-loc-1.s
*** none/err-loc-1.s Thu Jan 1 01:00:00 1970
--- mmix/err-loc-1.s Wed Jul 11 02:56:09 2001
***************
*** 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
diff -cprN none/err-loc-2.s mmix/err-loc-2.s
*** none/err-loc-2.s Thu Jan 1 01:00:00 1970
--- mmix/err-loc-2.s Thu Jul 12 04:14:13 2001
***************
*** 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
diff -cprN none/err-loc-3.s mmix/err-loc-3.s
*** none/err-loc-3.s Thu Jan 1 01:00:00 1970
--- mmix/err-loc-3.s Sun Aug 12 13:08:53 2001
***************
*** 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" "" }
diff -cprN none/err-loc-4.s mmix/err-loc-4.s
*** none/err-loc-4.s Thu Jan 1 01:00:00 1970
--- mmix/err-loc-4.s Sun Aug 12 13:09:00 2001
***************
*** 0 ****
--- 1,4 ----
+ % { dg-do assemble { target mmix-*-* } }
+ LOC #201
+ WYDE 1
+ SWYM 1 % { dg-error "specified location wasn't TETRA-aligned" "" }
diff -cprN none/err-loc-5.s mmix/err-loc-5.s
*** none/err-loc-5.s Thu Jan 1 01:00:00 1970
--- mmix/err-loc-5.s Sun Aug 12 23:13:08 2001
***************
*** 0 ****
--- 1,4 ----
+ % { dg-do assemble { target mmix-*-* } }
+ LOC (#20<<56)|1
+ .p2align 0
+ SWYM 1 % { dg-error "unaligned data at an absolute location" "" }
diff -cprN none/err-loc-6.s mmix/err-loc-6.s
*** none/err-loc-6.s Thu Jan 1 01:00:00 1970
--- mmix/err-loc-6.s Sun Aug 12 23:10:29 2001
***************
*** 0 ****
--- 1,4 ----
+ % { dg-do assemble { target mmix-*-* } }
+ LOC #201
+ .p2align 0
+ SWYM 1 % { dg-error "unaligned data at an absolute location" "" }
diff -cprN none/err-loc-7.s mmix/err-loc-7.s
*** none/err-loc-7.s Thu Jan 1 01:00:00 1970
--- mmix/err-loc-7.s Mon Aug 13 00:41:46 2001
***************
*** 0 ****
--- 1,4 ----
+ % { dg-do assemble { target mmix-*-* } }
+ LOC (#20<<56)|1
+ .p2align 0
+ TETRA 1 % { dg-error "unaligned data at an absolute location" "" }
diff -cprN none/err-loc-8.s mmix/err-loc-8.s
*** none/err-loc-8.s Thu Jan 1 01:00:00 1970
--- mmix/err-loc-8.s Mon Aug 13 00:42:11 2001
***************
*** 0 ****
--- 1,4 ----
+ % { dg-do assemble { target mmix-*-* } }
+ LOC #201
+ .p2align 0
+ TETRA 1 % { dg-error "unaligned data at an absolute location" "" }
diff -cprN none/err-local1.s mmix/err-local1.s
*** none/err-local1.s Thu Jan 1 01:00:00 1970
--- mmix/err-local1.s Tue Jul 10 00:40:16 2001
***************
*** 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
diff -cprN none/err-local2.s mmix/err-local2.s
*** none/err-local2.s Thu Jan 1 01:00:00 1970
--- mmix/err-local2.s Tue Jul 10 00:40:05 2001
***************
*** 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" "" }
diff -cprN none/err-ser-1.s mmix/err-ser-1.s
*** none/err-ser-1.s Thu Jan 1 01:00:00 1970
--- mmix/err-ser-1.s Sun Aug 12 13:09:17 2001
***************
*** 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" "" }
diff -cprN none/err-set.s mmix/err-set.s
*** none/err-set.s Thu Jan 1 01:00:00 1970
--- mmix/err-set.s Sun Aug 12 13:09:25 2001
***************
*** 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
diff -cprN none/expr-1.d mmix/expr-1.d
*** none/expr-1.d Thu Jan 1 01:00:00 1970
--- mmix/expr-1.d Sat Sep 8 06:07:02 2001
***************
*** 0 ****
--- 1,7 ----
+ # objdump: -s
+
+ .*: file format elf64-mmix
+
+ Contents of section \.text:
+ 0000 000000ab 00000100 .*
+ Contents of section \.data:
diff -cprN none/expr-1.s mmix/expr-1.s
*** none/expr-1.s Thu Jan 1 01:00:00 1970
--- mmix/expr-1.s Sat Sep 8 07:40:32 2001
***************
*** 0 ****
--- 1,6 ----
+ % 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)
+
diff -cprN none/fb-1.d mmix/fb-1.d
*** none/fb-1.d Thu Jan 1 01:00:00 1970
--- mmix/fb-1.d Mon Jul 16 17:36:40 2001
***************
*** 0 ****
--- 1,21 ----
+ #objdump: -str
+
+ .*: file format elf64-mmix
+
+ SYMBOL TABLE:
+ 0+ l d \.text 0+
+ 0+ l d \.data 0+
+ 0+ l d \.bss 0+
+ 0+ l d \.MMIX\.reg_contents 0+
+
+
+ RELOCATION RECORDS FOR \[\.text\]:
+ OFFSET TYPE VALUE
+ 0+2 R_MMIX_REG \.MMIX\.reg_contents
+
+
+ Contents of section \.text:
+ 0+ dd2d0038 .*
+ Contents of section \.data:
+ Contents of section \.MMIX\.reg_contents:
+ 0+ 00000000 aabbccdd 00000000 00112233 .*
diff -cprN none/fb-1.s mmix/fb-1.s
*** none/fb-1.s Thu Jan 1 01:00:00 1970
--- mmix/fb-1.s Thu Jul 12 22:45:54 2001
***************
*** 0 ****
--- 1,4 ----
+ # FB-labels are valid in GREG definitions.
+ 9H GREG #112233
+ 9H GREG #aabbccdd
+ 1H MOR $45,9B,56
diff -cprN none/fb-2.d mmix/fb-2.d
*** none/fb-2.d Thu Jan 1 01:00:00 1970
--- mmix/fb-2.d Sat Aug 18 18:24:37 2001
***************
*** 0 ****
--- 1,33 ----
+ #objdump: -str
+
+ .*: file format elf64-mmix
+
+ SYMBOL TABLE:
+ 0+ l d \.text 0+
+ 0+ l d \.data 0+
+ 0+ l d \.bss 0+
+ 0+ l d \.MMIX\.reg_contents 0+
+ 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 00000000 .*
+ Contents of section \.data:
+ Contents of section \.MMIX\.reg_contents:
+ 0000 00000000 00000000 .*
diff -cprN none/fb-2.s mmix/fb-2.s
*** none/fb-2.s Thu Jan 1 01:00:00 1970
--- mmix/fb-2.s Fri Jul 13 02:23:35 2001
***************
*** 0 ****
--- 1,20 ----
+ # 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
+
\ No newline at end of file
diff -cprN none/get-op-r.d mmix/get-op-r.d
*** none/get-op-r.d Thu Jan 1 01:00:00 1970
--- mmix/get-op-r.d Mon Jun 12 15:40:40 2000
***************
*** 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
diff -cprN none/get-op.d mmix/get-op.d
*** none/get-op.d Thu Jan 1 01:00:00 1970
--- mmix/get-op.d Sun Jun 4 18:43:57 2000
***************
*** 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
diff -cprN none/get-op.l mmix/get-op.l
*** none/get-op.l Thu Jan 1 01:00:00 1970
--- mmix/get-op.l Mon Jul 2 01:02:25 2001
***************
*** 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
diff -cprN none/get-op.s mmix/get-op.s
*** none/get-op.s Thu Jan 1 01:00:00 1970
--- mmix/get-op.s Sat Jun 3 22:30:14 2000
***************
*** 0 ****
--- 1,6 ----
+ # For 'g'-type operands: GET.
+ #
+ Main GET X,rJ
+ GET $45,rG
+ GET $245,rZZ
+ X IS $123
diff -cprN none/geta-c.d mmix/geta-c.d
*** none/geta-c.d Thu Jan 1 01:00:00 1970
--- mmix/geta-c.d Sun Sep 2 17:34:24 2001
***************
*** 0 ****
--- 1,26 ----
+ #as: -x
+ #objdump: -tdr
+
+ .*: file format elf64-mmix
+
+ SYMBOL TABLE:
+ 0+ l d .text 0+
+ 0+ l d .data 0+
+ 0+ l d .bss 0+
+ 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
diff -cprN none/geta-c.s mmix/geta-c.s
*** none/geta-c.s Thu Jan 1 01:00:00 1970
--- mmix/geta-c.s Sun Sep 2 16:33:25 2001
***************
*** 0 ****
--- 1,5 ----
+ % GETA with a large constant must not fail
+ i1 IS #ffff0000ffff0000
+ Main GETA $255,i1
+ GETA $255,i2
+ i2 IS #ffff0000ffff0000
diff -cprN none/geta-op-r.d mmix/geta-op-r.d
*** none/geta-op-r.d Thu Jan 1 01:00:00 1970
--- mmix/geta-op-r.d Mon Jun 12 15:41:54 2000
***************
*** 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
diff -cprN none/geta-op.d mmix/geta-op.d
*** none/geta-op.d Thu Jan 1 01:00:00 1970
--- mmix/geta-op.d Sun Jun 4 20:49:55 2000
***************
*** 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
diff -cprN none/geta-op.l mmix/geta-op.l
*** none/geta-op.l Thu Jan 1 01:00:00 1970
--- mmix/geta-op.l Mon Jul 2 00:38:06 2001
***************
*** 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
diff -cprN none/geta-op.s mmix/geta-op.s
*** none/geta-op.s Thu Jan 1 01:00:00 1970
--- mmix/geta-op.s Sat Jun 3 15:33:25 2000
***************
*** 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
diff -cprN none/geta-opn.d mmix/geta-opn.d
*** none/geta-opn.d Thu Jan 1 01:00:00 1970
--- mmix/geta-opn.d Mon Jun 4 01:32:52 2001
***************
*** 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
diff -cprN none/geta-oprn.d mmix/geta-oprn.d
*** none/geta-oprn.d Thu Jan 1 01:00:00 1970
--- mmix/geta-oprn.d Mon Jun 4 05:30:17 2001
***************
*** 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
diff -cprN none/greg1.d mmix/greg1.d
*** none/greg1.d Thu Jan 1 01:00:00 1970
--- mmix/greg1.d Tue Jul 17 15:56:31 2001
***************
*** 0 ****
--- 1,36 ----
+ # objdump: -rst
+
+ .*: file format elf64-mmix
+
+ SYMBOL TABLE:
+ 0+ l d \.text 0+
+ 0+ l d \.data 0+
+ 0+ l d \.bss 0+
+ 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+
+ 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 \.data:
+ Contents of section \.MMIX\.reg_contents:
+ 0000 00000000 00000000 00000000 000000f7 .*
+ 0010 00000000 00000000 00000000 00000000 .*
+ 0020 00000000 00000000 00000000 00000001 .*
+ 0030 00000000 00000000 .*
diff -cprN none/greg1.s mmix/greg1.s
*** none/greg1.s Thu Jan 1 01:00:00 1970
--- mmix/greg1.s Sat Jun 23 02:51:40 2001
***************
*** 0 ****
--- 1,17 ----
+ # 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
+
diff -cprN none/greg1a.d mmix/greg1a.d
*** none/greg1a.d Thu Jan 1 01:00:00 1970
--- mmix/greg1a.d Tue Jul 17 15:57:17 2001
***************
*** 0 ****
--- 1,40 ----
+ # source: greg1.s
+ # as: -no-merge-gregs
+ # objdump: -rst
+
+ .*: file format elf64-mmix
+
+ SYMBOL TABLE:
+ 0+ l d \.text 0+
+ 0+ l d \.data 0+
+ 0+ l d \.bss 0+
+ 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+
+ 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 \.data:
+ 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 .*
diff -cprN none/greg2.d mmix/greg2.d
*** none/greg2.d Thu Jan 1 01:00:00 1970
--- mmix/greg2.d Tue Jul 17 15:57:01 2001
***************
*** 0 ****
--- 1,36 ----
+ # objdump: -rst
+
+ .*: file format elf64-mmix
+
+ SYMBOL TABLE:
+ 0+ l d \.text 0+
+ 0+ l d \.data 0+
+ 0+ l d \.bss 0+
+ 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+
+ 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 \.data:
+ Contents of section \.MMIX\.reg_contents:
+ 0000 00000000 00000000 00000000 000000f7 .*
+ 0010 00000000 00000000 00000000 00000000 .*
+ 0020 00000000 00000000 00000000 00000001 .*
+ 0030 00000000 00000000 .*
diff -cprN none/greg2.s mmix/greg2.s
*** none/greg2.s Thu Jan 1 01:00:00 1970
--- mmix/greg2.s Sat Jun 23 03:01:06 2001
***************
*** 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
diff -cprN none/greg2a.d mmix/greg2a.d
*** none/greg2a.d Thu Jan 1 01:00:00 1970
--- mmix/greg2a.d Tue Jul 17 15:57:39 2001
***************
*** 0 ****
--- 1,40 ----
+ # source: greg2.s
+ # as: -no-merge-gregs
+ # objdump: -rst
+
+ .*: file format elf64-mmix
+
+ SYMBOL TABLE:
+ 0+ l d \.text 0+
+ 0+ l d \.data 0+
+ 0+ l d \.bss 0+
+ 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+
+ 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 \.data:
+ 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 .*
diff -cprN none/greg3.d mmix/greg3.d
*** none/greg3.d Thu Jan 1 01:00:00 1970
--- mmix/greg3.d Tue Jul 17 16:07:08 2001
***************
*** 0 ****
--- 1,31 ----
+ # objdump: -rst
+
+ # Check that we emit the right relocations for greg operands.
+
+ .*: file format elf64-mmix
+
+ SYMBOL TABLE:
+ 0+ l d \.text 0+
+ 0+ l d \.data 0+
+ 0+ l d \.bss 0+
+ 0+ l d \.MMIX\.reg_contents 0+
+ 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 \.data:
+ Contents of section \.MMIX\.reg_contents:
+ 0000 00000000 00000000 .*
diff -cprN none/greg3.s mmix/greg3.s
*** none/greg3.s Thu Jan 1 01:00:00 1970
--- mmix/greg3.s Wed Jul 11 22:28:20 2001
***************
*** 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
diff -cprN none/greg4.d mmix/greg4.d
*** none/greg4.d Thu Jan 1 01:00:00 1970
--- mmix/greg4.d Fri Jul 13 03:45:08 2001
***************
*** 0 ****
--- 1,29 ----
+ #objdump: -str
+
+ # Branches can have base-plus-offset operands too.
+
+ .*: file format elf64-mmix
+
+ SYMBOL TABLE:
+ 0+ l d \.text 0+
+ 0+ l d \.data 0+
+ 0+ l d \.bss 0+
+ 0+4 l \.text 0+ x
+ 0+ l d \.MMIX\.reg_contents 0+
+
+
+ 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 \.data:
+ Contents of section \.MMIX\.reg_contents:
+ 0000 00000000 00000000 .*
diff -cprN none/greg4.s mmix/greg4.s
*** none/greg4.s Thu Jan 1 01:00:00 1970
--- mmix/greg4.s Fri Jul 13 03:34:04 2001
***************
*** 0 ****
--- 1,4 ----
+ GREG @
+ SWYM 0
+ x SWYM 1
+ GO $0,x
diff -cprN none/greg5.d mmix/greg5.d
*** none/greg5.d Thu Jan 1 01:00:00 1970
--- mmix/greg5.d Tue Jul 17 15:58:36 2001
***************
*** 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+
+ 0+ l d \.data 0+
+ 0+ l d \.bss 0+
+ 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+
+ 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 .*
diff -cprN none/greg5.s mmix/greg5.s
*** none/greg5.s Thu Jan 1 01:00:00 1970
--- mmix/greg5.s Fri Jul 13 05:05:40 2001
***************
*** 0 ****
--- 1,9 ----
+ t IS @
+ x IS Data_Segment+4
+
+ LOC x+4
+ y OCTA 33
+ GREG x
+
+ LOC t
+ Main LDA $44,y
diff -cprN none/greg6.d mmix/greg6.d
*** none/greg6.d Thu Jan 1 01:00:00 1970
--- mmix/greg6.d Tue Jul 17 15:59:02 2001
***************
*** 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+
+ 0+ l d \.data 0+
+ 0+ l d \.bss 0+
+ 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+
+ 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 .*
diff -cprN none/greg6.s mmix/greg6.s
*** none/greg6.s Thu Jan 1 01:00:00 1970
--- mmix/greg6.s Fri Jul 13 05:05:31 2001
***************
*** 0 ****
--- 1,11 ----
+ t IS @
+ x IS Data_Segment+4
+
+ LOC x+4
+ y OCTA 33
+ GREG y
+
+ LOC t
+ Main LDA $44,x+88
+
+
diff -cprN none/greg7.d mmix/greg7.d
*** none/greg7.d Thu Jan 1 01:00:00 1970
--- mmix/greg7.d Sat Aug 18 18:25:38 2001
***************
*** 0 ****
--- 1,28 ----
+ #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+
+ 0+ l d \.data 0+
+ 0+ l d \.bss 0+
+ 0+ l \.text 0+ t
+ 0+4 l \*ABS\* 0+ x
+ 0+ l \.text 0+ y
+ 0+ l d \.MMIX\.reg_contents 0+
+ 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 00000000 .*
+ Contents of section \.data:
+ Contents of section \.MMIX\.reg_contents:
+ 0000 00000000 00000004 .*
diff -cprN none/greg7.s mmix/greg7.s
*** none/greg7.s Thu Jan 1 01:00:00 1970
--- mmix/greg7.s Fri Jul 13 05:10:50 2001
***************
*** 0 ****
--- 1,8 ----
+ t IS @
+ x IS 4
+
+ LOC x+4
+ y OCTA 33
+ GREG x
+
+ Main LDA $44,y
diff -cprN none/greg8.d mmix/greg8.d
*** none/greg8.d Thu Jan 1 01:00:00 1970
--- mmix/greg8.d Sat Aug 18 18:26:13 2001
***************
*** 0 ****
--- 1,33 ----
+ #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+
+ 0+ l d \.data 0+
+ 0+ l d \.bss 0+
+ 0+ l \.text 0+ t
+ 0+4 l \*ABS\* 0+ x
+ 0+ l \.text 0+ y
+ 0+ l d \.MMIX\.reg_contents 0+
+ 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 00000000 .*
+ Contents of section \.data:
+ Contents of section \.MMIX\.reg_contents:
+ 0000 00000000 00000000 .*
diff -cprN none/greg8.s mmix/greg8.s
*** none/greg8.s Thu Jan 1 01:00:00 1970
--- mmix/greg8.s Fri Jul 13 05:11:56 2001
***************
*** 0 ****
--- 1,10 ----
+ t IS @
+ x IS 4
+
+ LOC x+4
+ y OCTA 33
+ GREG y
+
+ Main LDA $44,x+88
+
+
diff -cprN none/greg9.d mmix/greg9.d
*** none/greg9.d Thu Jan 1 01:00:00 1970
--- mmix/greg9.d Sat Aug 18 18:26:43 2001
***************
*** 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
diff -cprN none/greg9.s mmix/greg9.s
*** none/greg9.s Thu Jan 1 01:00:00 1970
--- mmix/greg9.s Sun Aug 12 21:10:50 2001
***************
*** 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
diff -cprN none/hex-r.d mmix/hex-r.d
*** none/hex-r.d Thu Jan 1 01:00:00 1970
--- mmix/hex-r.d Mon Jun 12 15:42:37 2000
***************
*** 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
diff -cprN none/hex.d mmix/hex.d
*** none/hex.d Thu Jan 1 01:00:00 1970
--- mmix/hex.d Sun Jun 4 22:32:22 2000
***************
*** 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
diff -cprN none/hex.l mmix/hex.l
*** none/hex.l Thu Jan 1 01:00:00 1970
--- mmix/hex.l Fri Jun 2 22:22:33 2000
***************
*** 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
diff -cprN none/hex.s mmix/hex.s
*** none/hex.s Thu Jan 1 01:00:00 1970
--- mmix/hex.s Fri Jun 2 22:10:58 2000
***************
*** 0 ****
--- 1,3 ----
+ Main SETL $54,#2009
+ SETL $32,42+#1234
+ SETL $31,#72+63
diff -cprN none/is-1.d mmix/is-1.d
*** none/is-1.d Thu Jan 1 01:00:00 1970
--- mmix/is-1.d Thu Jul 12 22:44:35 2001
***************
*** 0 ****
--- 1,12 ----
+ #objdump: -str
+
+ .*: file format elf64-mmix
+
+ SYMBOL TABLE:
+ 0+ l d \.text 0+
+ 0+ l d \.data 0+
+ 0+ l d \.bss 0+
+
+ Contents of section \.text:
+ 0+ 00000026 0000001f 0000000d 0000001e .*
+ Contents of section \.data:
diff -cprN none/is-1.s mmix/is-1.s
*** none/is-1.s Thu Jan 1 01:00:00 1970
--- mmix/is-1.s Thu Jul 12 16:36:23 2001
***************
*** 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
diff -cprN none/jmp-op-n.d mmix/jmp-op-n.d
*** none/jmp-op-n.d Thu Jan 1 01:00:00 1970
--- mmix/jmp-op-n.d Mon Jun 4 01:33:18 2001
***************
*** 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
diff -cprN none/jmp-op-r.d mmix/jmp-op-r.d
*** none/jmp-op-r.d Thu Jan 1 01:00:00 1970
--- mmix/jmp-op-r.d Mon Jun 12 15:45:26 2000
***************
*** 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
diff -cprN none/jmp-op.d mmix/jmp-op.d
*** none/jmp-op.d Thu Jan 1 01:00:00 1970
--- mmix/jmp-op.d Sun Jun 4 20:50:49 2000
***************
*** 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
diff -cprN none/jmp-op.l mmix/jmp-op.l
*** none/jmp-op.l Thu Jan 1 01:00:00 1970
--- mmix/jmp-op.l Sat Jun 3 17:00:50 2000
***************
*** 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
diff -cprN none/jmp-op.s mmix/jmp-op.s
*** none/jmp-op.s Thu Jan 1 01:00:00 1970
--- mmix/jmp-op.s Sat Jun 3 16:57:37 2000
***************
*** 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
diff -cprN none/jmp-oprn.d mmix/jmp-oprn.d
*** none/jmp-oprn.d Thu Jan 1 01:00:00 1970
--- mmix/jmp-oprn.d Mon Jun 4 03:38:30 2001
***************
*** 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
diff -cprN none/jump-c.d mmix/jump-c.d
*** none/jump-c.d Thu Jan 1 01:00:00 1970
--- mmix/jump-c.d Sun Sep 2 17:36:19 2001
***************
*** 0 ****
--- 1,28 ----
+ #as: -x
+ #objdump: -tdr
+
+ .*: file format elf64-mmix
+
+ SYMBOL TABLE:
+ 0+ l d .text 0+
+ 0+ l d .data 0+
+ 0+ l d .bss 0+
+ 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
diff -cprN none/jump-c.s mmix/jump-c.s
*** none/jump-c.s Thu Jan 1 01:00:00 1970
--- mmix/jump-c.s Sun Sep 2 16:37:32 2001
***************
*** 0 ****
--- 1,5 ----
+ % JMP with a large constant must not fail
+ i1 IS #ffff0000ffff0000
+ Main JMP i1
+ JMP i2
+ i2 IS #ffff0000ffff0000
diff -cprN none/list-in-n.d mmix/list-in-n.d
*** none/list-in-n.d Thu Jan 1 01:00:00 1970
--- mmix/list-in-n.d Mon Jun 4 01:33:45 2001
***************
*** 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
diff -cprN none/list-in-r.d mmix/list-in-r.d
*** none/list-in-r.d Thu Jan 1 01:00:00 1970
--- mmix/list-in-r.d Mon Jun 12 15:52:14 2000
***************
*** 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
diff -cprN none/list-in-rn.d mmix/list-in-rn.d
*** none/list-in-rn.d Thu Jan 1 01:00:00 1970
--- mmix/list-in-rn.d Mon Jun 4 05:27:50 2001
***************
*** 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
diff -cprN none/list-insns.d mmix/list-insns.d
*** none/list-insns.d Thu Jan 1 01:00:00 1970
--- mmix/list-insns.d Sun Jun 4 22:28:41 2000
***************
*** 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
diff -cprN none/list-insns.l mmix/list-insns.l
*** none/list-insns.l Thu Jan 1 01:00:00 1970
--- mmix/list-insns.l Thu Jun 1 14:11:50 2000
***************
*** 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 237ACB