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]

MMIX port, part 10/10: gas testsuite.


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