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 237ACBFF 	 LDA \$122,\$203,255
+ GAS for MMIX .*/list-insns.s 			page 2
+
+
+   58 00cc 220CDF0B 	 LDA \$12,\$223,\$11
+   59 00d0 2B7ACBCD 	 4ADDU \$122,\$203,205
+   60 00d4 2A0CDF6F 	 4ADDU \$12,\$223,\$111
+   61 00d8 240CDF0B 	 SUB \$12,\$223,\$11
+   62 00dc 257ACBCD 	 SUB \$122,\$203,205
+   63 00e0 2C0CDF0B 	 8ADDU \$12,\$223,\$11
+   64 00e4 2D7ACBCD 	 8ADDU \$122,\$203,205
+   65 00e8 2602DF0B 	 SUBU \$2,\$223,\$11
+   66 00ec 270C14CD 	 SUBU \$12,\$20,205
+   67 00f0 2E02DF0B 	 16ADDU \$2,\$223,\$11
+   68 00f4 2F0C14CD 	 16ADDU \$12,\$20,205
+   69 00f8 3002DF0B 	 CMP \$2,\$223,\$11
+   70 00fc 310C14CD 	 CMP \$12,\$20,205
+   71 0100 3802DF0B 	 SL \$2,\$223,\$11
+   72 0104 390C14CD 	 SL \$12,\$20,205
+   73 0108 3202DF0B 	 CMPU \$2,\$223,\$11
+   74 010c 330C14CD 	 CMPU \$12,\$20,205
+   75 0110 3A02DF0B 	 SLU \$2,\$223,\$11
+   76 0114 3B0C14CD 	 SLU \$12,\$20,205
+   77 0118 3402170B 	 NEG \$2,23,\$11
+   78 011c 350C00CD 	 NEG \$12,0,205
+   79 0120 35C00ACD 	 NEG \$192,10,205
+   80 0124 3D0C14CD 	 SR \$12,\$20,205
+   81 0128 3C02DF0B 	 SR \$2,\$223,\$11
+   82 012c 3602170B 	 NEGU \$2,23,\$11
+   83 0130 370C00CD 	 NEGU \$12,0,205
+   84 0134 3F0C14CD 	 SRU \$12,\$20,205
+   85 0138 3E02DF0B 	 SRU \$2,\$223,\$11
+   86 013c 40020001 	1H BN \$2,2F
+   87 0140 4102FFFF 	2H BN \$2,1B
+   88 0144 4902FFFF 	1H BNN \$2,2B
+   89 0148 4902FFFF 	2H BNN \$2,1B
+   90 014c 42FF0001 	1H BZ \$255,2F
+   91 0150 43FFFFFF 	2H BZ \$255,1B
+   92 0154 4AFF0001 	1H BNZ \$255,2F
+   93 0158 4BFFFFFF 	2H BNZ \$255,1B
+   94 015c 44190001 	1H BP \$25,2F
+   95 0160 4519FFFF 	2H BP \$25,1B
+   96 0164 4C190001 	1H BNP \$25,2F
+   97 0168 4D19FFFF 	2H BNP \$25,1B
+   98 016c 46190001 	1H BOD \$25,2F
+   99 0170 4719FFFF 	2H BOD \$25,1B
+  100 0174 4E190001 	1H BEV \$25,2F
+  101 0178 4F19FFFF 	2H BEV \$25,1B
+  102 017c 50020001 	1H PBN \$2,2F
+  103 0180 5102FFFF 	2H PBN \$2,1B
+  104 0184 58020001 	1H PBNN \$2,2F
+  105 0188 5902FFFF 	2H PBNN \$2,1B
+  106 018c 520C0001 	1H PBZ \$12,2F
+  107 0190 5316FFFF 	2H PBZ \$22,1B
+  108 0194 5A200001 	1H PBNZ \$32,2F
+  109 0198 5B34FFFF 	2H PBNZ \$52,1B
+  110 019c 56190001 	1H PBOD \$25,2F
+  111 01a0 5719FFFF 	2H PBOD \$25,1B
+  112 01a4 5E190001 	1H PBEV \$25,2F
+  113 01a8 5F19FFFF 	2H PBEV \$25,1B
+  114 01ac 6002DF0B 	 CSN \$2,\$223,\$11
+ GAS for MMIX .*/list-insns.s 			page 3
+
+
+  115 01b0 610C14CD 	 CSN \$12,\$20,205
+  116 01b4 6802DF0B 	 CSNN \$2,\$223,\$11
+  117 01b8 690C14CD 	 CSNN \$12,\$20,205
+  118 01bc 6202CB0B 	 CSZ \$2,\$203,\$11
+  119 01c0 630CC8CD 	 CSZ \$12,\$200,205
+  120 01c4 6A02CB0B 	 CSNZ \$2,\$203,\$11
+  121 01c8 6B0CC8CD 	 CSNZ \$12,\$200,205
+  122 01cc 6402CB0B 	 CSP \$2,\$203,\$11
+  123 01d0 650CC8CD 	 CSP \$12,\$200,205
+  124 01d4 6C02CB0B 	 CSNP \$2,\$203,\$11
+  125 01d8 6D0CC8CD 	 CSNP \$12,\$200,205
+  126 01dc 6602CB0B 	 CSOD \$2,\$203,\$11
+  127 01e0 670CC8CD 	 CSOD \$12,\$200,205
+  128 01e4 6E02CB0B 	 CSEV \$2,\$203,\$11
+  129 01e8 6F0CC8CD 	 CSEV \$12,\$200,205
+  130 01ec 7002DF0B 	 ZSN \$2,\$223,\$11
+  131 01f0 710C14CD 	 ZSN \$12,\$20,205
+  132 01f4 7802DF0B 	 ZSNN \$2,\$223,\$11
+  133 01f8 790C14CD 	 ZSNN \$12,\$20,205
+  134 01fc 7202CB0B 	 ZSZ \$2,\$203,\$11
+  135 0200 730CC8CD 	 ZSZ \$12,\$200,205
+  136 0204 7A02CB0B 	 ZSNZ \$2,\$203,\$11
+  137 0208 7B0CC8CD 	 ZSNZ \$12,\$200,205
+  138 020c 7402CB0B 	 ZSP \$2,\$203,\$11
+  139 0210 750CC8CD 	 ZSP \$12,\$200,205
+  140 0214 7C02CB0B 	 ZSNP \$2,\$203,\$11
+  141 0218 7D0CC8CD 	 ZSNP \$12,\$200,205
+  142 021c 7602CB0B 	 ZSOD \$2,\$203,\$11
+  143 0220 770CC8CD 	 ZSOD \$12,\$200,205
+  144 0224 7E02CB0B 	 ZSEV \$2,\$203,\$11
+  145 0228 7F0CC8CD 	 ZSEV \$12,\$200,205
+  146 022c 8002000B 	 LDB \$2,\$0,\$11
+  147 0230 810C14CD 	 LDB \$12,\$20,205
+  148 0234 8802000B 	 LDT \$2,\$0,\$11
+  149 0238 890C14CD 	 LDT \$12,\$20,205
+  150 023c 8202000B 	 LDBU \$2,\$0,\$11
+  151 0240 830C14CD 	 LDBU \$12,\$20,205
+  152 0244 8A02000B 	 LDTU \$2,\$0,\$11
+  153 0248 8B0C14CD 	 LDTU \$12,\$20,205
+  154 024c 8402000B 	 LDW \$2,\$0,\$11
+  155 0250 850C14CD 	 LDW \$12,\$20,205
+  156 0254 8C02000B 	 LDO \$2,\$0,\$11
+  157 0258 8D0C14CD 	 LDO \$12,\$20,205
+  158 025c 8602000B 	 LDWU \$2,\$0,\$11
+  159 0260 870C14CD 	 LDWU \$12,\$20,205
+  160 0264 8E02000B 	 LDOU \$2,\$0,\$11
+  161 0268 8F0C14CD 	 LDOU \$12,\$20,205
+  162 026c 9802000B 	 LDVTS \$2,\$0,\$11
+  163 0270 990C14CD 	 LDVTS \$12,\$20,205
+  164 0274 9202000B 	 LDHT \$2,\$0,\$11
+  165 0278 930C14CD 	 LDHT \$12,\$20,205
+  166 027c 9B7014CD 	 PRELD 112,\$20,205
+  167 0280 9A7014E1 	 PRELD 112,\$20,\$225
+  168 0284 9402000B 	 CSWAP \$2,\$0,\$11
+  169 0288 950C14CD 	 CSWAP \$12,\$20,205
+  170 028c 9D7014CD 	 PREGO 112,\$20,205
+  171 0290 9C7014E1 	 PREGO 112,\$20,\$225
+ GAS for MMIX .*/list-insns.s 			page 4
+
+
+  172 0294 9602000B 	 LDUNC \$2,\$0,\$11
+  173 0298 970C14CD 	 LDUNC \$12,\$20,205
+  174 029c 9E02000B 	 GO \$2,\$0,\$11
+  175 02a0 9F0C14CD 	 GO \$12,\$20,205
+  176 02a4 A0020A97 	 STB \$2,\$10,\$151
+  177 02a8 A10C14CD 	 STB \$12,\$20,205
+  178 02ac A8200A97 	 STT \$32,\$10,\$151
+  179 02b0 A90C14CD 	 STT \$12,\$20,205
+  180 02b4 A2020A97 	 STBU \$2,\$10,\$151
+  181 02b8 A30C14CD 	 STBU \$12,\$20,205
+  182 02bc AA200A97 	 STTU \$32,\$10,\$151
+  183 02c0 AB0C14CD 	 STTU \$12,\$20,205
+  184 02c4 A4020A97 	 STW \$2,\$10,\$151
+  185 02c8 A50CDCCD 	 STW \$12,\$220,205
+  186 02cc AC20AA97 	 STO \$32,\$170,\$151
+  187 02d0 ADB614F5 	 STO \$182,\$20,245
+  188 02d4 A6020A97 	 STWU \$2,\$10,\$151
+  189 02d8 A70CDCCD 	 STWU \$12,\$220,205
+  190 02dc AE20AA97 	 STOU \$32,\$170,\$151
+  191 02e0 AFB614F5 	 STOU \$182,\$20,245
+  192 02e4 B020AA97 	 STSF \$32,\$170,\$151
+  193 02e8 B1B614F5 	 STSF \$182,\$20,245
+  194 02ec B97014CD 	 SYNCD 112,\$20,205
+  195 02f0 B87014E1 	 SYNCD 112,\$20,\$225
+  196 02f4 B220AA97 	 STHT \$32,\$170,\$151
+  197 02f8 B3B614F5 	 STHT \$182,\$20,245
+  198 02fc BB7014CD 	 PREST 112,\$20,205
+  199 0300 BA7014E1 	 PREST 112,\$20,\$225
+  200 0304 B420AA97 	 STCO 32,\$170,\$151
+  201 0308 B5B614F5 	 STCO 182,\$20,245
+  202 030c BD7014CD 	 SYNCID 112,\$20,205
+  203 0310 BC0014E1 	 SYNCID 0,\$20,\$225
+  204 0314 B620AA97 	 STUNC \$32,\$170,\$151
+  205 0318 B7B614F5 	 STUNC \$182,\$20,245
+  206 031c BE20AA97 	 PUSHGO \$32,\$170,\$151
+  207 0320 BFB614F5 	 PUSHGO \$182,\$20,245
+  208 0324 C18EC800 	 SET \$142,\$200
+  209 0328 C020AA97 	 OR \$32,\$170,\$151
+  210 032c C1B614F5 	 OR \$182,\$20,245
+  211 0330 C820AA97 	 AND \$32,\$170,\$151
+  212 0334 C9B614F5 	 AND \$182,\$20,245
+  213 0338 C220AA97 	 ORN \$32,\$170,\$151
+  214 033c C3B614F5 	 ORN \$182,\$20,245
+  215 0340 CA20AA97 	 ANDN \$32,\$170,\$151
+  216 0344 CBB614F5 	 ANDN \$182,\$20,245
+  217 0348 C420AA97 	 NOR \$32,\$170,\$151
+  218 034c C5B614F5 	 NOR \$182,\$20,245
+  219 0350 CC20AA97 	 NAND \$32,\$170,\$151
+  220 0354 CDB614F5 	 NAND \$182,\$20,245
+  221 0358 C620AA97 	 XOR \$32,\$170,\$151
+  222 035c C7B614F5 	 XOR \$182,\$20,245
+  223 0360 CE20AA97 	 NXOR \$32,\$170,\$151
+  224 0364 CFB614F5 	 NXOR \$182,\$20,245
+  225 0368 D020AA97 	 BDIF \$32,\$170,\$151
+  226 036c D1B614F5 	 BDIF \$182,\$20,245
+  227 0370 D820AA97 	 MUX \$32,\$170,\$151
+  228 0374 D9B614F5 	 MUX \$182,\$20,245
+ GAS for MMIX .*/list-insns.s 			page 5
+
+
+  229 0378 D220AA97 	 WDIF \$32,\$170,\$151
+  230 037c D3B614F5 	 WDIF \$182,\$20,245
+  231 0380 DA20AA97 	 SADD \$32,\$170,\$151
+  232 0384 DBB600F5 	 SADD \$182,\$0,245
+  233 0388 D420AA97 	 TDIF \$32,\$170,\$151
+  234 038c D5B614F5 	 TDIF \$182,\$20,245
+  235 0390 DC20AA97 	 MOR \$32,\$170,\$151
+  236 0394 DDB614F5 	 MOR \$182,\$20,245
+  237 0398 D620AA97 	 ODIF \$32,\$170,\$151
+  238 039c D7B614F5 	 ODIF \$182,\$20,245
+  239 03a0 DE201197 	 MXOR \$32,\$17,\$151
+  240 03a4 DF52B418 	 MXOR \$82,\$180,24
+  241 03a8 E004FFFF 	 SETH \$4,65535
+  242 03ac E05E0000 	 SETH \$94,0
+  243 03b0 E00400FF 	 SETH \$4,255
+  244 03b4 E05E04D2 	 SETH \$94,1234
+  245 03b8 E15E04D2 	 SETMH \$94,1234
+  246 03bc E85E04D2 	 ORH \$94,1234
+  247 03c0 E95E04D2 	 ORMH \$94,1234
+  248 03c4 E25E04D2 	 SETML \$94,1234
+  249 03c8 E35E04D2 	 SETL \$94,1234
+  250 03cc EA5E04D2 	 ORML \$94,1234
+  251 03d0 EB5E04D2 	 ORL \$94,1234
+  252 03d4 E45E04D2 	 INCH \$94,1234
+  253 03d8 E55E04D2 	 INCMH \$94,1234
+  254 03dc EC5E04D2 	 ANDNH \$94,1234
+  255 03e0 ED5E04D2 	 ANDNMH \$94,1234
+  256 03e4 E65E04D2 	 INCML \$94,1234
+  257 03e8 E75E04D2 	 INCL \$94,1234
+  258 03ec EE5E04D2 	 ANDNML \$94,1234
+  259 03f0 EF5E04D2 	0H ANDNL \$94,1234
+  260 03f4 F1FFFFFF 	 JMP 0B
+  261 03f8 F0000001 	 JMP 0F
+  262 03fc F82AFFFE 	0H POP 42,65534
+  263 0400 F90000FF 	 RESUME 255
+  264 0404 F9000000 	 RESUME 0
+  265 0408 F9000001 	 RESUME 1
+  266 040c F2190001 	1H PUSHJ \$25,2F
+  267 0410 F319FFFF 	2H PUSHJ \$25,1B
+  268 0414 FA040000 	 SAVE \$4,0
+  269 0418 FB0000EA 	 UNSAVE 0,\$234
+  270 041c F4190001 	1H GETA \$25,2F
+  271 0420 F519FFFF 	2H GETA \$25,1B
+  272 0424 FC7A1201 	 SYNC 8000001
+  273 0428 FD010203 	 SWYM 1,2,3
+  274 042c FD000000 	 SWYM 0,0,0
+  275 0430 F7040022 	 PUT rJ,34
+  276 0434 F6040086 	 PUT rJ,\$134
+  277 0438 FEEA0004 	 GET \$234,rJ
+  278 043c FF000000 	 TRIP 0,0,0
+  279 0440 FF050607 	 TRIP 5,6,7
+ GAS for MMIX .*/list-insns.s 			page 6
+
+
+ DEFINED SYMBOLS
+ .*/list-insns.s:7      .text:0000000000000000 Main
+
+ NO UNDEFINED SYMBOLS
diff -cprN none/list-insns.s mmix/list-insns.s
*** none/list-insns.s	Thu Jan  1 01:00:00 1970
--- mmix/list-insns.s	Thu Jun  1 14:07:29 2000
***************
*** 0 ****
--- 1,279 ----
+ #
+ # Somewhat complete instruction set and operand type check.  No
+ # relocations or deferred register definitions here.
+ #
+ #
+ #
+ Main TETRA 3
+  TRAP 3,4,5
+  FCMP $12,$23,$241
+  FLOT $112,ROUND_OFF,$41
+  FLOT $112,ROUND_NEAR,141
+  FLOT $191,$242
+  FLOT $195,42
+  FUN  $122,$203,$4
+  FEQL $102,$30,$40
+  FLOTU $102,$14
+  FLOTU $132,ROUND_UP,$14
+  FLOTU $102,ROUND_DOWN,$104
+  FLOTU $172,ROUND_NEAR,$140
+  FLOTU $1,ROUND_OFF,$134
+  FADD $112,$223,$41
+  FIX $112,ROUND_OFF,$41
+  FIX $11,$141
+  SFLOT $112,ROUND_OFF,$41
+  SFLOT $112,ROUND_NEAR,141
+  FSUB $112,$223,$41
+  FIXU $102,$14
+  FIXU $132,ROUND_UP,$14
+  SFLOTU $11,$141
+  SFLOTU $112,141
+  SFLOTU $112,ROUND_NEAR,141
+  SFLOTU $112,ROUND_OFF,$41
+  FMUL $102,$30,$40
+  FCMPE $12,$223,$1
+  MUL  $122,$203,44
+  MUL $102,$30,$40
+  FEQLE $12,$223,$1
+  FUNE $12,$223,$11
+  MULU  $122,$213,44
+  MULU $132,$30,$40
+  FDIV $12,$223,$11
+  FSQRT $132,ROUND_UP,$14
+  FSQRT $11,$141
+  DIV  $122,$213,44
+  DIV $132,$30,$40
+  FREM $12,$223,$11
+  FINT $132,ROUND_UP,$14
+  FINT $11,$141
+  DIVU $12,$223,$1
+  DIVU  $122,$203,255
+  ADD $12,$223,$1
+  ADD $122,$203,255
+  2ADDU $12,$223,$11
+  2ADDU $122,$203,0
+  ADDU $122,$203,255
+  ADDU $12,$223,$11
+  LDA $122,$203,255
+  LDA $12,$223,$11
+  4ADDU $122,$203,205
+  4ADDU $12,$223,$111
+  SUB $12,$223,$11
+  SUB $122,$203,205
+  8ADDU $12,$223,$11
+  8ADDU $122,$203,205
+  SUBU $2,$223,$11
+  SUBU $12,$20,205
+  16ADDU $2,$223,$11
+  16ADDU $12,$20,205
+  CMP $2,$223,$11
+  CMP $12,$20,205
+  SL $2,$223,$11
+  SL $12,$20,205
+  CMPU $2,$223,$11
+  CMPU $12,$20,205
+  SLU $2,$223,$11
+  SLU $12,$20,205
+  NEG $2,23,$11
+  NEG $12,0,205
+  NEG $192,10,205
+  SR $12,$20,205
+  SR $2,$223,$11
+  NEGU $2,23,$11
+  NEGU $12,0,205
+  SRU $12,$20,205
+  SRU $2,$223,$11
+ 1H BN $2,2F
+ 2H BN $2,1B
+ 1H BNN $2,2B
+ 2H BNN $2,1B
+ 1H BZ $255,2F
+ 2H BZ $255,1B
+ 1H BNZ $255,2F
+ 2H BNZ $255,1B
+ 1H BP $25,2F
+ 2H BP $25,1B
+ 1H BNP $25,2F
+ 2H BNP $25,1B
+ 1H BOD $25,2F
+ 2H BOD $25,1B
+ 1H BEV $25,2F
+ 2H BEV $25,1B
+ 1H PBN $2,2F
+ 2H PBN $2,1B
+ 1H PBNN $2,2F
+ 2H PBNN $2,1B
+ 1H PBZ $12,2F
+ 2H PBZ $22,1B
+ 1H PBNZ $32,2F
+ 2H PBNZ $52,1B
+ 1H PBOD $25,2F
+ 2H PBOD $25,1B
+ 1H PBEV $25,2F
+ 2H PBEV $25,1B
+  CSN $2,$223,$11
+  CSN $12,$20,205
+  CSNN $2,$223,$11
+  CSNN $12,$20,205
+  CSZ $2,$203,$11
+  CSZ $12,$200,205
+  CSNZ $2,$203,$11
+  CSNZ $12,$200,205
+  CSP $2,$203,$11
+  CSP $12,$200,205
+  CSNP $2,$203,$11
+  CSNP $12,$200,205
+  CSOD $2,$203,$11
+  CSOD $12,$200,205
+  CSEV $2,$203,$11
+  CSEV $12,$200,205
+  ZSN $2,$223,$11
+  ZSN $12,$20,205
+  ZSNN $2,$223,$11
+  ZSNN $12,$20,205
+  ZSZ $2,$203,$11
+  ZSZ $12,$200,205
+  ZSNZ $2,$203,$11
+  ZSNZ $12,$200,205
+  ZSP $2,$203,$11
+  ZSP $12,$200,205
+  ZSNP $2,$203,$11
+  ZSNP $12,$200,205
+  ZSOD $2,$203,$11
+  ZSOD $12,$200,205
+  ZSEV $2,$203,$11
+  ZSEV $12,$200,205
+  LDB $2,$0,$11
+  LDB $12,$20,205
+  LDT $2,$0,$11
+  LDT $12,$20,205
+  LDBU $2,$0,$11
+  LDBU $12,$20,205
+  LDTU $2,$0,$11
+  LDTU $12,$20,205
+  LDW $2,$0,$11
+  LDW $12,$20,205
+  LDO $2,$0,$11
+  LDO $12,$20,205
+  LDWU $2,$0,$11
+  LDWU $12,$20,205
+  LDOU $2,$0,$11
+  LDOU $12,$20,205
+  LDVTS $2,$0,$11
+  LDVTS $12,$20,205
+  LDHT $2,$0,$11
+  LDHT $12,$20,205
+  PRELD 112,$20,205
+  PRELD 112,$20,$225
+  CSWAP $2,$0,$11
+  CSWAP $12,$20,205
+  PREGO 112,$20,205
+  PREGO 112,$20,$225
+  LDUNC $2,$0,$11
+  LDUNC $12,$20,205
+  GO $2,$0,$11
+  GO $12,$20,205
+  STB $2,$10,$151
+  STB $12,$20,205
+  STT $32,$10,$151
+  STT $12,$20,205
+  STBU $2,$10,$151
+  STBU $12,$20,205
+  STTU $32,$10,$151
+  STTU $12,$20,205
+  STW $2,$10,$151
+  STW $12,$220,205
+  STO $32,$170,$151
+  STO $182,$20,245
+  STWU $2,$10,$151
+  STWU $12,$220,205
+  STOU $32,$170,$151
+  STOU $182,$20,245
+  STSF $32,$170,$151
+  STSF $182,$20,245
+  SYNCD 112,$20,205
+  SYNCD 112,$20,$225
+  STHT $32,$170,$151
+  STHT $182,$20,245
+  PREST 112,$20,205
+  PREST 112,$20,$225
+  STCO 32,$170,$151
+  STCO 182,$20,245
+  SYNCID 112,$20,205
+  SYNCID 0,$20,$225
+  STUNC $32,$170,$151
+  STUNC $182,$20,245
+  PUSHGO $32,$170,$151
+  PUSHGO $182,$20,245
+  SET $142,$200
+  OR $32,$170,$151
+  OR $182,$20,245
+  AND $32,$170,$151
+  AND $182,$20,245
+  ORN $32,$170,$151
+  ORN $182,$20,245
+  ANDN $32,$170,$151
+  ANDN $182,$20,245
+  NOR $32,$170,$151
+  NOR $182,$20,245
+  NAND $32,$170,$151
+  NAND $182,$20,245
+  XOR $32,$170,$151
+  XOR $182,$20,245
+  NXOR $32,$170,$151
+  NXOR $182,$20,245
+  BDIF $32,$170,$151
+  BDIF $182,$20,245
+  MUX $32,$170,$151
+  MUX $182,$20,245
+  WDIF $32,$170,$151
+  WDIF $182,$20,245
+  SADD $32,$170,$151
+  SADD $182,$0,245
+  TDIF $32,$170,$151
+  TDIF $182,$20,245
+  MOR $32,$170,$151
+  MOR $182,$20,245
+  ODIF $32,$170,$151
+  ODIF $182,$20,245
+  MXOR $32,$17,$151
+  MXOR $82,$180,24
+  SETH $4,65535
+  SETH $94,0
+  SETH $4,255
+  SETH $94,1234
+  SETMH $94,1234
+  ORH $94,1234
+  ORMH $94,1234
+  SETML $94,1234
+  SETL $94,1234
+  ORML $94,1234
+  ORL $94,1234
+  INCH $94,1234
+  INCMH $94,1234
+  ANDNH $94,1234
+  ANDNMH $94,1234
+  INCML $94,1234
+  INCL $94,1234
+  ANDNML $94,1234
+ 0H ANDNL $94,1234
+  JMP 0B
+  JMP 0F
+ 0H POP 42,65534
+  RESUME 255
+  RESUME 0
+  RESUME 1
+ 1H PUSHJ $25,2F
+ 2H PUSHJ $25,1B
+  SAVE $4,0
+  UNSAVE 0,$234
+ 1H GETA $25,2F
+ 2H GETA $25,1B
+  SYNC 8000001
+  SWYM 1,2,3
+  SWYM 0,0,0
+  PUT rJ,34
+  PUT rJ,$134
+  GET $234,rJ
+  TRIP 0,0,0
+  TRIP 5,6,7
diff -cprN none/list-pseudoints.l mmix/list-pseudoints.l
*** none/list-pseudoints.l	Thu Jan  1 01:00:00 1970
--- mmix/list-pseudoints.l	Sat Aug 18 17:52:38 2001
***************
*** 0 ****
--- 1,20 ----
+ GAS for MMIX .*/list-pseudoints.s 			page 1
+
+
+    1              	start
+    2 0000 424344EE 	 tetra 0x424344ee
+    3              	start2
+    4 0004 00000000 	 octa  0xde0045007821329e
+    4      DE004500
+    4      7821329E
+    5 0010 07D9     	 wyde 2009
+    6 0012 99000000 	 byte 0x99
+    6      0000
+ GAS for MMIX .*/list-pseudoints.s 			page 2
+
+
+ DEFINED SYMBOLS
+ .*/list-pseudoints.s:1      .text:0000000000000000 start
+ .*/list-pseudoints.s:3      .text:0000000000000004 start2
+
+ NO UNDEFINED SYMBOLS
diff -cprN none/list-pseudoints.s mmix/list-pseudoints.s
*** none/list-pseudoints.s	Thu Jan  1 01:00:00 1970
--- mmix/list-pseudoints.s	Wed May 31 22:29:10 2000
***************
*** 0 ****
--- 1,6 ----
+ start
+  tetra 0x424344ee
+ start2
+  octa  0xde0045007821329e
+  wyde 2009
+  byte 0x99
diff -cprN none/list-textfirst mmix/list-textfirst
*** none/list-textfirst	Thu Jan  1 01:00:00 1970
--- mmix/list-textfirst	Wed May 31 22:05:36 2000
***************
*** 0 ****
--- 1,5 ----
+  data
+ here:
+  tetra 42
+ .text
+  set $1,$2
diff -cprN none/list-textfirst.l mmix/list-textfirst.l
*** none/list-textfirst.l	Thu Jan  1 01:00:00 1970
--- mmix/list-textfirst.l	Fri Aug 11 14:53:31 2000
***************
*** 0 ****
--- 1,17 ----
+ GAS for MMIX .*/list-textfirst\.s 			page 1
+
+
+    1              	 \.data
+    2              	here:
+    3 0000 0000002A 	 tetra 42
+    4              	\.text
+    5              	there:
+    6 0000 EA       	 \.byte 0xea
+ GAS for MMIX .*/list-textfirst\.s 			page 2
+
+
+ DEFINED SYMBOLS
+ .*/list-textfirst\.s:2      \.data:0000000000000000 here
+ .*/list-textfirst\.s:5      \.text:0000000000000000 there
+
+ NO UNDEFINED SYMBOLS
diff -cprN none/list-textfirst.s mmix/list-textfirst.s
*** none/list-textfirst.s	Thu Jan  1 01:00:00 1970
--- mmix/list-textfirst.s	Fri Jun  2 21:25:25 2000
***************
*** 0 ****
--- 1,6 ----
+  .data
+ here:
+  tetra 42
+ .text
+ there:
+  .byte 0xea
diff -cprN none/loc-1.d mmix/loc-1.d
*** none/loc-1.d	Thu Jan  1 01:00:00 1970
--- mmix/loc-1.d	Sat Aug 18 18:27:22 2001
***************
*** 0 ****
--- 1,45 ----
+ #readelf: -Ssrx1 -x2
+
+ There are 7 section headers, starting at offset 0x90:
+
+ Section Headers:
+   \[Nr\] Name              Type             Address           Offset
+        Size              EntSize          Flags  Link  Info  Align
+   \[ 0\]                   NULL             0000000000000000  00000000
+        0000000000000000  0000000000000000           0     0     0
+   \[ 1\] \.text             PROGBITS         0000000000000000  00000040
+        0000000000000020  0000000000000000  AX       0     0     4
+   \[ 2\] \.data             PROGBITS         0000000000000000  00000060
+        0000000000000004  0000000000000000  WA       0     0     4
+   \[ 3\] \.bss              NOBITS           0000000000000000  00000064
+        0000000000000000  0000000000000000  WA       0     0     1
+   \[ 4\] \.shstrtab         STRTAB           0000000000000000  00000064
+        000000000000002c  0000000000000000           0     0     1
+   \[ 5\] \.symtab           SYMTAB           0000000000000000  00000250
+        00000000000000c0  0000000000000018           6     6     8
+   \[ 6\] \.strtab           STRTAB           0000000000000000  00000310
+        000000000000002a  0000000000000000           0     0     1
+ Key to Flags:
+   W \(write\), A \(alloc\), X \(execute\), M \(merge\), S \(strings\)
+   I \(info\), L \(link order\), G \(group\), x \(unknown\)
+   O \(extra OS processing required\) o \(OS specific\), p \(processor specific\)
+
+ There are no relocations in this file\.
+
+ Symbol table '\.symtab' contains 8 entries:
+    Num:    Value          Size Type    Bind   Vis      Ndx Name
+      0: 0+     0 NOTYPE  LOCAL  DEFAULT  UND
+      1: 0+     0 SECTION LOCAL  DEFAULT    1
+      2: 0+     0 SECTION LOCAL  DEFAULT    2
+      3: 0+     0 SECTION LOCAL  DEFAULT    3
+      4: 0+4     0 NOTYPE  LOCAL  DEFAULT    1 m2
+      5: 2000000000000000     0 NOTYPE  LOCAL  DEFAULT  ABS Data_Segment
+      6: 0+     0 FUNC    GLOBAL DEFAULT    1 Main
+      7: 2000000000000000     0 NOTYPE  GLOBAL DEFAULT  ABS __\.MMIX\.start\.\.data
+
+ Hex dump of section '\.text':
+   0x00000000 fd000000 00000000 00000000 00000000 .*
+   0x00000010 00000000 00000000 00000000 fd010203 .*
+
+ Hex dump of section '\.data':
+   0x00000000 00000004                            .*
diff -cprN none/loc-1.s mmix/loc-1.s
*** none/loc-1.s	Thu Jan  1 01:00:00 1970
--- mmix/loc-1.s	Tue Jul 10 20:39:40 2001
***************
*** 0 ****
--- 1,7 ----
+ # Check that we don't get anything strange from a single LOC to data and a
+ # LOC back (with an offset).
+ Main SWYM 0,0,0
+ m2 LOC Data_Segment
+  TETRA 4
+  LOC m2+24
+  SWYM 1,2,3
diff -cprN none/loc-2.d mmix/loc-2.d
*** none/loc-2.d	Thu Jan  1 01:00:00 1970
--- mmix/loc-2.d	Sat Aug 18 18:28:01 2001
***************
*** 0 ****
--- 1,39 ----
+ #readelf: -Ssrx1
+
+ There are 7 section headers, starting at offset 0x78:
+
+ Section Headers:
+   \[Nr\] Name              Type             Address           Offset
+        Size              EntSize          Flags  Link  Info  Align
+   \[ 0\]                   NULL             0000000000000000  00000000
+        0000000000000000  0000000000000000           0     0     0
+   \[ 1\] \.text             PROGBITS         0000000000000000  00000040
+        0000000000000008  0000000000000000  AX       0     0     4
+   \[ 2\] \.data             PROGBITS         0000000000000000  00000048
+        0000000000000000  0000000000000000  WA       0     0     1
+   \[ 3\] \.bss              NOBITS           0000000000000000  00000048
+        0000000000000000  0000000000000000  WA       0     0     1
+   \[ 4\] \.shstrtab         STRTAB           0000000000000000  00000048
+        000000000000002c  0000000000000000           0     0     1
+   \[ 5\] \.symtab           SYMTAB           0000000000000000  00000238
+        0000000000000090  0000000000000018           6     4     8
+   \[ 6\] \.strtab           STRTAB           0000000000000000  000002c8
+        000000000000001a  0000000000000000           0     0     1
+ Key to Flags:
+   W \(write\), A \(alloc\), X \(execute\), M \(merge\), S \(strings\)
+   I \(info\), L \(link order\), G \(group\), x \(unknown\)
+   O \(extra OS processing required\) o \(OS specific\), p \(processor specific\)
+
+ There are no relocations in this file\.
+
+ Symbol table '\.symtab' contains 6 entries:
+    Num:    Value          Size Type    Bind   Vis      Ndx Name
+      0: 0+     0 NOTYPE  LOCAL  DEFAULT  UND
+      1: 0+     0 SECTION LOCAL  DEFAULT    1
+      2: 0+     0 SECTION LOCAL  DEFAULT    2
+      3: 0+     0 SECTION LOCAL  DEFAULT    3
+      4: 0+4     0 FUNC    GLOBAL DEFAULT    1 Main
+      5: 0+100     0 NOTYPE  GLOBAL DEFAULT  ABS __\.MMIX\.start\.\.text
+
+ Hex dump of section '\.text':
+   0x00000000 fd010102 fd000070                   .*
diff -cprN none/loc-2.s mmix/loc-2.s
*** none/loc-2.s	Thu Jan  1 01:00:00 1970
--- mmix/loc-2.s	Wed Jul 11 00:55:30 2001
***************
*** 0 ****
--- 1,5 ----
+ # Check that a LOC before any code gets translated into the right
+ # symbol being set.
+  LOC 256
+  SWYM 1,1,2
+ Main SWYM 112
diff -cprN none/loc-3.d mmix/loc-3.d
*** none/loc-3.d	Thu Jan  1 01:00:00 1970
--- mmix/loc-3.d	Sat Aug 18 18:35:25 2001
***************
*** 0 ****
--- 1,43 ----
+ #readelf: -Ssrx1 -x2
+ There are 7 section headers, starting at offset 0x80:
+
+ Section Headers:
+   \[Nr\] Name              Type             Address           Offset
+        Size              EntSize          Flags  Link  Info  Align
+   \[ 0\]                   NULL             0000000000000000  00000000
+        0000000000000000  0000000000000000           0     0     0
+   \[ 1\] \.text             PROGBITS         0000000000000000  00000040
+        000000000000000c  0000000000000000  AX       0     0     4
+   \[ 2\] \.data             PROGBITS         0000000000000000  0000004c
+        0000000000000008  0000000000000000  WA       0     0     4
+   \[ 3\] \.bss              NOBITS           0000000000000000  00000054
+        0000000000000000  0000000000000000  WA       0     0     1
+   \[ 4\] \.shstrtab         STRTAB           0000000000000000  00000054
+        000000000000002c  0000000000000000           0     0     1
+   \[ 5\] \.symtab           SYMTAB           0000000000000000  00000240
+        00000000000000c0  0000000000000018           6     5     8
+   \[ 6\] \.strtab           STRTAB           0000000000000000  00000300
+        0000000000000030  0000000000000000           0     0     1
+ Key to Flags:
+   W \(write\), A \(alloc\), X \(execute\), M \(merge\), S \(strings\)
+   I \(info\), L \(link order\), G \(group\), x \(unknown\)
+   O \(extra OS processing required\) o \(OS specific\), p \(processor specific\)
+
+ There are no relocations in this file\.
+
+ Symbol table '\.symtab' contains 8 entries:
+    Num:    Value          Size Type    Bind   Vis      Ndx Name
+      0: 0+     0 NOTYPE  LOCAL  DEFAULT  UND
+      1: 0+     0 SECTION LOCAL  DEFAULT    1
+      2: 0+     0 SECTION LOCAL  DEFAULT    2
+      3: 0+     0 SECTION LOCAL  DEFAULT    3
+      4: 0+     0 NOTYPE  LOCAL  DEFAULT    2 a
+      5: 0+4     0 FUNC    GLOBAL DEFAULT    1 Main
+      6: 0+200     0 NOTYPE  GLOBAL DEFAULT  ABS __\.MMIX\.start\.\.text
+      7: 2000000000000000     0 NOTYPE  GLOBAL DEFAULT  ABS __\.MMIX\.start\.\.data
+
+ Hex dump of section '\.text':
+   0x00000000 fd00038f fd090101 fd000065          .*
+
+ Hex dump of section '\.data':
+   0x00000000 00000010 00000040                   .*
diff -cprN none/loc-3.s mmix/loc-3.s
*** none/loc-3.s	Thu Jan  1 01:00:00 1970
--- mmix/loc-3.s	Wed Jul 11 02:01:32 2001
***************
*** 0 ****
--- 1,14 ----
+ # Check that a little bit of LOC:ing back and forward between code and
+ # data section doesn't hurt.
+  LOC #20 << 56
+ a TETRA 4*4
+
+  LOC #200
+  SWYM 911
+ Main SWYM 9,1,1
+
+  LOC a+4
+  TETRA 8*8
+
+  LOC Main+4
+  SWYM 101
diff -cprN none/loc-4.d mmix/loc-4.d
*** none/loc-4.d	Thu Jan  1 01:00:00 1970
--- mmix/loc-4.d	Sat Aug 18 18:36:22 2001
***************
*** 0 ****
--- 1,44 ----
+ #readelf: -Ssrx1 -x2
+ There are 7 section headers, starting at offset 0x88:
+
+ Section Headers:
+   \[Nr\] Name              Type             Address           Offset
+        Size              EntSize          Flags  Link  Info  Align
+   \[ 0\]                   NULL             0000000000000000  00000000
+        0000000000000000  0000000000000000           0     0     0
+   \[ 1\] \.text             PROGBITS         0000000000000000  00000040
+        0000000000000018  0000000000000000  AX       0     0     4
+   \[ 2\] \.data             PROGBITS         0000000000000000  00000058
+        0000000000000004  0000000000000000  WA       0     0     4
+   \[ 3\] \.bss              NOBITS           0000000000000000  0000005c
+        0000000000000000  0000000000000000  WA       0     0     1
+   \[ 4\] \.shstrtab         STRTAB           0000000000000000  0000005c
+        000000000000002c  0000000000000000           0     0     1
+   \[ 5\] \.symtab           SYMTAB           0000000000000000  00000248
+        00000000000000c0  0000000000000018           6     5     8
+   \[ 6\] \.strtab           STRTAB           0000000000000000  00000308
+        000000000000003b  0000000000000000           0     0     1
+ Key to Flags:
+   W \(write\), A \(alloc\), X \(execute\), M \(merge\), S \(strings\)
+   I \(info\), L \(link order\), G \(group\), x \(unknown\)
+   O \(extra OS processing required\) o \(OS specific\), p \(processor specific\)
+
+ There are no relocations in this file\.
+
+ Symbol table '\.symtab' contains 8 entries:
+    Num:    Value          Size Type    Bind   Vis      Ndx Name
+      0: 0+     0 NOTYPE  LOCAL  DEFAULT  UND
+      1: 0+     0 SECTION LOCAL  DEFAULT    1
+      2: 0+     0 SECTION LOCAL  DEFAULT    2
+      3: 0+     0 SECTION LOCAL  DEFAULT    3
+      4: 2000000000000000     0 NOTYPE  LOCAL  DEFAULT  ABS Data_Segment
+      5: 0+14     0 FUNC    GLOBAL DEFAULT    1 Main
+      6: 0+     0 NOTYPE  GLOBAL DEFAULT  ABS __\.MMIX\.start\.\.text
+      7: 2000000000000000     0 NOTYPE  GLOBAL DEFAULT  ABS __\.MMIX\.start\.\.data
+
+ Hex dump of section '\.text':
+   0x00000000 fd001807 00000000 00000000 00000000 .*
+   0x00000010 fd00038f fd090101                   .*
+
+ Hex dump of section '\.data':
+   0x00000000 00000100                            .*
diff -cprN none/loc-4.s mmix/loc-4.s
*** none/loc-4.s	Thu Jan  1 01:00:00 1970
--- mmix/loc-4.s	Wed Jul 11 02:35:29 2001
***************
*** 0 ****
--- 1,8 ----
+ # Hit a few remaining code-paths.
+  SWYM 0,24,7
+  LOC Data_Segment
+  TETRA 4*4*4*4
+
+  LOC #10
+  SWYM 911
+ Main SWYM 9,1,1
diff -cprN none/loc-5.d mmix/loc-5.d
*** none/loc-5.d	Thu Jan  1 01:00:00 1970
--- mmix/loc-5.d	Sat Aug 18 19:00:15 2001
***************
*** 0 ****
--- 1,45 ----
+ #readelf: -Ssrx1 -x2
+ There are 7 section headers, starting at offset 0x98:
+
+ Section Headers:
+   \[Nr\] Name              Type             Address           Offset
+        Size              EntSize          Flags  Link  Info  Align
+   \[ 0\]                   NULL             0+  0+
+        0+  0+           0     0     0
+   \[ 1\] \.text             PROGBITS         0+  0+40
+        0+8  0+  AX       0     0     4
+   \[ 2\] \.data             PROGBITS         0+  0+48
+        0+24  0+  WA       0     0     4
+   \[ 3\] \.bss              NOBITS           0+  0+6c
+        0+  0+  WA       0     0     1
+   \[ 4\] \.shstrtab         STRTAB           0+  0+6c
+        0+2c  0+           0     0     1
+   \[ 5\] \.symtab           SYMTAB           0+  0+258
+        0+c0  0+18           6     6     8
+   \[ 6\] \.strtab           STRTAB           0+  0+318
+        0+29  0+           0     0     1
+ Key to Flags:
+   W \(write\), A \(alloc\), X \(execute\), M \(merge\), S \(strings\)
+   I \(info\), L \(link order\), G \(group\), x \(unknown\)
+   O \(extra OS processing required\) o \(OS specific\), p \(processor specific\)
+
+ There are no relocations in this file\.
+
+ Symbol table '\.symtab' contains 8 entries:
+    Num:    Value          Size Type    Bind   Vis      Ndx Name
+      0: 0+     0 NOTYPE  LOCAL  DEFAULT  UND
+      1: 0+     0 SECTION LOCAL  DEFAULT    1
+      2: 0+     0 SECTION LOCAL  DEFAULT    2
+      3: 0+     0 SECTION LOCAL  DEFAULT    3
+      4: 0+     0 NOTYPE  LOCAL  DEFAULT    1 t
+      5: 2000000000000000     0 NOTYPE  LOCAL  DEFAULT  ABS Data_Segment
+      6: 0+4     0 FUNC    GLOBAL DEFAULT    1 Main
+      7: 2000000000000000     0 NOTYPE  GLOBAL DEFAULT  ABS __\.MMIX\.start\.\.data
+
+ Hex dump of section '\.text':
+   0x0+ fd001807 fd090101                   .*
+
+ Hex dump of section '\.data':
+   0x0+ 00000100 00000000 00000000 00000000 .*
+   0x00000010 00000000 00000000 00000000 00000000 .*
+   0x00000020 00000038                            .*
diff -cprN none/loc-5.s mmix/loc-5.s
*** none/loc-5.s	Thu Jan  1 01:00:00 1970
--- mmix/loc-5.s	Thu Jul 12 04:12:10 2001
***************
*** 0 ****
--- 1,11 ----
+ # Hit a few remaining code-paths.
+ t SWYM 0,24,7
+
+  LOC Data_Segment
+  TETRA 4*4*4*4
+
+  LOC (#20 << 56) + #20
+  TETRA 56
+
+  LOC t+4
+ Main SWYM 9,1,1
diff -cprN none/local-1.d mmix/local-1.d
*** none/local-1.d	Thu Jan  1 01:00:00 1970
--- mmix/local-1.d	Sat Aug 18 18:36:55 2001
***************
*** 0 ****
--- 1,38 ----
+ # objdump: -xsr
+
+ .*:     file format elf64-mmix
+ .*
+ architecture: mmix, flags 0x00000011:
+ HAS_RELOC, HAS_SYMS
+ start address 0x0000000000000000
+
+ Sections:
+ Idx Name          Size      VMA               LMA               File off  Algn
+   0 \.text         00000004  0000000000000000  0000000000000000  00000040  2\*\*2
+                   CONTENTS, ALLOC, LOAD, RELOC, READONLY, CODE
+   1 \.data         00000000  0000000000000000  0000000000000000  00000044  2\*\*0
+                   CONTENTS, ALLOC, LOAD, DATA
+   2 \.bss          00000000  0000000000000000  0000000000000000  00000044  2\*\*0
+                   ALLOC
+ SYMBOL TABLE:
+ 0+ l    d  \.text	0+
+ 0+ l    d  \.data	0+
+ 0+ l    d  \.bss	0+
+ 0+90 l       \*REG\*	0+ reghere
+ 0+2d l       \*ABS\*	0+ consthere
+ 0+         \*UND\*	0+ extreg
+
+
+ RELOCATION RECORDS FOR \[\.text\]:
+ OFFSET           TYPE              VALUE
+ 0+ R_MMIX_LOCAL      extreg
+ 0+ R_MMIX_LOCAL      reghere
+ 0+ R_MMIX_LOCAL      consthere
+ 0+ R_MMIX_LOCAL      \*ABS\*\+0x0000000000000064
+ 0+ R_MMIX_LOCAL      \*ABS\*\+0x00000000000000c8
+
+
+ Contents of section \.text:
+  0000 fd000000                             .*
+
+ Contents of section \.data:
diff -cprN none/local-1.s mmix/local-1.s
*** none/local-1.s	Thu Jan  1 01:00:00 1970
--- mmix/local-1.s	Tue Jul 10 00:44:16 2001
***************
*** 0 ****
--- 1,12 ----
+  LOCAL extreg
+  LOCAL reghere
+  LOCAL consthere
+  LOCAL 100
+  LOCAL $200
+
+ reghere IS $144
+ consthere IS 45
+
+  # Restrictions on the implementation means we have to have the LOCAL in
+  # code or data.
+  SWYM 0,0,0
diff -cprN none/locall1.d mmix/locall1.d
*** none/locall1.d	Thu Jan  1 01:00:00 1970
--- mmix/locall1.d	Sun Aug 12 00:13:36 2001
***************
*** 0 ****
--- 1,15 ----
+ # objdump: -t
+
+ .*:     file format elf64-mmix
+
+ SYMBOL TABLE:
+ 0+ l    d  \.text	0+
+ 0+ l    d  \.data	0+
+ 0+ l    d  \.bss	0+
+ 0+14 l       \.text	0+ L9
+ 0+18 l       \.text	0+ L12
+ 0+1c l       \.text	0+ L21
+ 0+20 l       \.text	0+ LC32
+ 0+24 l       \.text	0+ LC23
+ 0+8 g       \.text	0+ L:21
+ 0+10 g       \.text	0+ LC:23
diff -cprN none/locall1.s mmix/locall1.s
*** none/locall1.s	Thu Jan  1 01:00:00 1970
--- mmix/locall1.s	Sat Aug 11 23:46:29 2001
***************
*** 0 ****
--- 1,14 ----
+ % Get rid of labels that look compiler-generated, matching: "L.*:[0-9]+".
+ % Only if they're local, of course.
+ 	.global	L:21
+ 	.global	LC:23
+ L:9 SWYM 0
+ L:12 SWYM 1
+ L:21 SWYM 2
+ LC:32 SWYM 3
+ LC:23 SWYM 4
+ L9 SWYM 10
+ L12 SWYM 11
+ L21 SWYM 12
+ LC32 SWYM 13
+ LC23 SWYM 14
diff -cprN none/odd-1.d mmix/odd-1.d
*** none/odd-1.d	Thu Jan  1 01:00:00 1970
--- mmix/odd-1.d	Tue Jul 17 16:03:53 2001
***************
*** 0 ****
--- 1,28 ----
+ #objdump: -str
+
+ # A few odd mmixal compatibility cases.
+
+ .*:     file format elf64-mmix
+
+ SYMBOL TABLE:
+ 0+ l    d  \.text	0+
+ 0+ l    d  \.data	0+
+ 0+ l    d  \.bss	0+
+ 0+ l       \.MMIX\.reg_contents	0+ small
+ 0+ l    d  \.MMIX\.reg_contents	0+
+ 0+ g     F \.text	0+ Main
+
+
+ RELOCATION RECORDS FOR \[\.text\]:
+ OFFSET           TYPE              VALUE
+ 0+7 R_MMIX_REG_OR_BYTE  \.MMIX\.reg_contents
+ 0+f R_MMIX_REG        \.MMIX\.reg_contents
+ 0+15 R_MMIX_REG        \.MMIX\.reg_contents
+ 0+19 R_MMIX_REG        \.MMIX\.reg_contents
+
+ Contents of section \.text:
+  0000 f9000000 ff016400 fb0000ff fb000000  .*
+  0010 00000001 33000408 c1000200 0004022a  .*
+ Contents of section \.data:
+ Contents of section \.MMIX\.reg_contents:
+  0000 00000000 00000abc                    .*
diff -cprN none/odd-1.s mmix/odd-1.s
*** none/odd-1.s	Thu Jan  1 01:00:00 1970
--- mmix/odd-1.s	Mon Jul 16 00:36:59 2001
***************
*** 0 ****
--- 1,9 ----
+ small       GREG   #abc
+ Main RESUME
+  TRIP 1,$100,small
+  UNSAVE $255
+  UNSAVE small
+  TRAP 0,$1
+  CMPU small,$4,rC
+  SET small,$2
+  BYTE 0,4,rE,#2a
diff -cprN none/op-0-1.d mmix/op-0-1.d
*** none/op-0-1.d	Thu Jan  1 01:00:00 1970
--- mmix/op-0-1.d	Sun Aug 12 22:13:07 2001
***************
*** 0 ****
--- 1,28 ----
+ #objdump: -srt
+ #as: -x
+
+ .*:     file format elf64-mmix
+
+ SYMBOL TABLE:
+ 0+ l    d  \.text	0+
+ 0+ l    d  \.data	0+
+ 0+ l    d  \.bss	0+
+ 0+ l       \*ABS\*	0+ zero0
+ 0+ l       \*ABS\*	0+ zero1
+ 0+ l       \*ABS\*	0+ zero2
+ 0+ g     F \.text	0+ Main
+
+
+ RELOCATION RECORDS FOR \[\.text\]:
+ OFFSET           TYPE              VALUE
+ 0+ R_MMIX_JMP        \*ABS\*
+ 0+14 R_MMIX_GETA       \*ABS\*
+ 0+24 R_MMIX_PUSHJ      \*ABS\*
+
+
+ Contents of section \.text:
+  0000 f0000000 fd000000 fd000000 fd000000  .*
+  0010 fd000000 f4070000 fd000000 fd000000  .*
+  0020 fd000000 f2080000 fd000000 fd000000  .*
+  0030 fd000000 fd000000                    .*
+ Contents of section \.data:
diff -cprN none/op-0-1.s mmix/op-0-1.s
*** none/op-0-1.s	Thu Jan  1 01:00:00 1970
--- mmix/op-0-1.s	Fri Jul 13 17:27:17 2001
***************
*** 0 ****
--- 1,8 ----
+ zero0 IS 0
+ zero1 IS 0
+ zero2 IS 0
+ Main JMP zero0
+  GETA $7,zero1
+  PUSHJ $8,zero2
+
+
\ No newline at end of file
diff -cprN none/op-0-2.d mmix/op-0-2.d
*** none/op-0-2.d	Thu Jan  1 01:00:00 1970
--- mmix/op-0-2.d	Tue Jul 17 16:04:26 2001
***************
*** 0 ****
--- 1,26 ----
+ #source: op-0-1.s
+ #as: -no-expand
+ #objdump: -srt
+
+ .*:     file format elf64-mmix
+
+ SYMBOL TABLE:
+ 0+ l    d  \.text	0+
+ 0+ l    d  \.data	0+
+ 0+ l    d  \.bss	0+
+ 0+ l       \*ABS\*	0+ zero0
+ 0+ l       \*ABS\*	0+ zero1
+ 0+ l       \*ABS\*	0+ zero2
+ 0+ g     F \.text	0+ Main
+
+
+ RELOCATION RECORDS FOR \[\.text\]:
+ OFFSET           TYPE              VALUE
+ 0+ R_MMIX_ADDR27     \*ABS\*
+ 0+4 R_MMIX_ADDR19     \*ABS\*
+ 0+8 R_MMIX_ADDR19     \*ABS\*
+
+
+ Contents of section \.text:
+  0000 f0000000 f4070000 f2080000           .*
+ Contents of section \.data:
diff -cprN none/pop-op-r.d mmix/pop-op-r.d
*** none/pop-op-r.d	Thu Jan  1 01:00:00 1970
--- mmix/pop-op-r.d	Mon Jun 12 19:04:13 2000
***************
*** 0 ****
--- 1,12 ----
+ # objdump: -dr
+ # as: -linkrelax
+ # source: pop-op.s
+ .*:     file format elf64-mmix
+
+ Disassembly of section \.text:
+
+ 0000000000000000 <Main>:
+    0:	f8840def 	pop 132,3567
+    4:	f8845678 	pop 132,22136
+    8:	f8170def 	pop 23,3567
+    c:	f8175678 	pop 23,22136
diff -cprN none/pop-op.d mmix/pop-op.d
*** none/pop-op.d	Thu Jan  1 01:00:00 1970
--- mmix/pop-op.d	Sun Jun  4 23:15:24 2000
***************
*** 0 ****
--- 1,10 ----
+ # objdump: -dr
+ .*:     file format elf64-mmix
+
+ Disassembly of section \.text:
+
+ 0000000000000000 <Main>:
+    0:	f8840def 	pop 132,3567
+    4:	f8845678 	pop 132,22136
+    8:	f8170def 	pop 23,3567
+    c:	f8175678 	pop 23,22136
diff -cprN none/pop-op.l mmix/pop-op.l
*** none/pop-op.l	Thu Jan  1 01:00:00 1970
--- mmix/pop-op.l	Sat Jun  3 00:07:30 2000
***************
*** 0 ****
--- 1,21 ----
+ GAS for MMIX .*/pop-op\.s 			page 1
+
+
+    1              	#.*
+    2              	#.*
+    3 0000 F8840DEF 	Main	POP 132,3567
+    4 0004 F8845678 		POP 132,YZ
+    5 0008 F8170DEF 		POP X,3567
+    6 000c F8175678 		POP X,YZ
+    7              	X IS 23
+    8              	YZ IS #5678
+    9
+ GAS for MMIX .*/pop-op\.s 			page 2
+
+
+ DEFINED SYMBOLS
+ .*/pop-op\.s:3      \.text:0000000000000000 Main
+                             \*ABS\*:0000000000005678 YZ
+                             \*ABS\*:0000000000000017 X
+
+ NO UNDEFINED SYMBOLS
diff -cprN none/pop-op.s mmix/pop-op.s
*** none/pop-op.s	Thu Jan  1 01:00:00 1970
--- mmix/pop-op.s	Fri Jun  2 23:55:54 2000
***************
*** 0 ****
--- 1,9 ----
+ # Check different type of operands to SWYM etc.
+ # No need to check the canonical three constants.
+ Main	POP 132,3567
+ 	POP 132,YZ
+ 	POP X,3567
+ 	POP X,YZ
+ X IS 23
+ YZ IS #5678
+
diff -cprN none/prefix1.d mmix/prefix1.d
*** none/prefix1.d	Thu Jan  1 01:00:00 1970
--- mmix/prefix1.d	Mon Aug 13 00:08:58 2001
***************
*** 0 ****
--- 1,38 ----
+ # objdump: -rt
+
+ .*:     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+ a
+ 0+4 l       \.text	0+ c
+ 0+24 l       \.text	0+ d
+ 0+8 l       \.text	0+ prea
+ 0+c l       \.text	0+ pre:c
+ 0+10 l       \.text	0+ prefixa
+ 0+14 l       \.text	0+ pre:fix:c
+ 0+18 l       \.text	0+ aprefixa
+ 0+1c l       \.text	0+ aprefix:c
+ 0+20 l       \.text	0+ a0
+ 0+         \*UND\*	0+ b
+ 0+         \*UND\*	0+ preb
+ 0+         \*UND\*	0+ pre:d
+ 0+         \*UND\*	0+ prefixb
+ 0+         \*UND\*	0+ pre:fix:d
+ 0+         \*UND\*	0+ aprefixb
+ 0+         \*UND\*	0+ aprefix:d
+
+ RELOCATION RECORDS FOR \[\.text\]:
+ OFFSET           TYPE              VALUE
+ 0+ R_MMIX_32         b
+ 0+4 R_MMIX_32         \.text\+0x0+24
+ 0+8 R_MMIX_32         preb
+ 0+c R_MMIX_32         pre:d
+ 0+10 R_MMIX_32         prefixb
+ 0+14 R_MMIX_32         pre:fix:d
+ 0+18 R_MMIX_32         aprefixb
+ 0+1c R_MMIX_32         aprefix:d
+ 0+20 R_MMIX_32         \.text
+ 0+24 R_MMIX_32         \.text\+0x0+4
Binary files none/prefix1.o and mmix/prefix1.o differ
diff -cprN none/prefix1.s mmix/prefix1.s
*** none/prefix1.s	Thu Jan  1 01:00:00 1970
--- mmix/prefix1.s	Mon Aug 13 00:03:17 2001
***************
*** 0 ****
--- 1,21 ----
+ # Use of PREFIX; sanity check only.
+  .text
+ a TETRA b
+ :c TETRA :d
+
+  PREFIX pre
+ a TETRA b
+ :pre:c TETRA :pre:d
+
+  PREFIX fix
+ a TETRA b
+ :pre:fix:c TETRA :pre:fix:d
+
+  PREFIX :aprefix
+ a TETRA b
+ :aprefix:c TETRA :aprefix:d
+
+  PREFIX :
+ a0 TETRA a
+ d TETRA c
+
diff -cprN none/prefix2.d mmix/prefix2.d
*** none/prefix2.d	Thu Jan  1 01:00:00 1970
--- mmix/prefix2.d	Tue Jul 17 16:04:54 2001
***************
*** 0 ****
--- 1,15 ----
+ # objdump: -dtr
+
+ .*:     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:	220116e9 	addu \$1,\$22,\$233
diff -cprN none/prefix2.s mmix/prefix2.s
*** none/prefix2.s	Thu Jan  1 01:00:00 1970
--- mmix/prefix2.s	Tue Jul 17 05:39:37 2001
***************
*** 0 ****
--- 1,3 ----
+ # Prefix must not interfere with register names.
+  PREFIX pre
+ :Main ADDU $1,$22,$233
diff -cprN none/prefix3.d mmix/prefix3.d
*** none/prefix3.d	Thu Jan  1 01:00:00 1970
--- mmix/prefix3.d	Sun Aug 12 23:52:35 2001
***************
*** 0 ****
--- 1,32 ----
+ #objdump: -str
+
+ .*:     file format elf64-mmix
+
+ SYMBOL TABLE:
+ 0+ l    d  \.text	0+
+ 0+ l    d  \.data	0+
+ 0+ l    d  \.bss	0+
+ 0+8 l       \.text	0+ someplace
+ 0+ l       \.text	0+ bc:h
+ 0+8 l       \.MMIX\.reg_contents	0+ a1
+ 0+ l       \.MMIX\.reg_contents	0+ ba2
+ 0+ l    d  \.MMIX\.reg_contents	0+
+ 0+4 g     F \.text	0+ Main
+
+
+ RELOCATION RECORDS FOR \[\.text\]:
+ OFFSET           TYPE              VALUE
+ 0+2 R_MMIX_REG        \.MMIX\.reg_contents\+0x0+8
+ 0+6 R_MMIX_REG        \.MMIX\.reg_contents
+
+
+ RELOCATION RECORDS FOR \[\.MMIX\.reg_contents\]:
+ OFFSET           TYPE              VALUE
+ 0+8 R_MMIX_64         \.text\+0x0+8
+
+
+ Contents of section \.text:
+  0000 81ff0000 81fe0000                    .*
+ Contents of section \.data:
+ Contents of section \.MMIX\.reg_contents:
+  0000 00000000 0008aa52 00000000 00000000  .*
Binary files none/prefix3.o and mmix/prefix3.o differ
diff -cprN none/prefix3.s mmix/prefix3.s
*** none/prefix3.s	Thu Jan  1 01:00:00 1970
--- mmix/prefix3.s	Sun Aug 12 23:50:04 2001
***************
*** 0 ****
--- 1,9 ----
+ % Check that changing prefixes between the GREG definition, its use and
+ % the end of the assembly file does not change the GREG definition.
+ a1 GREG someplace
+  PREFIX b
+ a2 GREG 567890
+  PREFIX c:
+ h LDB $255,:a1
+ :Main LDB $254,:ba2
+ :someplace IS @
diff -cprN none/pseudo-1.d mmix/pseudo-1.d
*** none/pseudo-1.d	Thu Jan  1 01:00:00 1970
--- mmix/pseudo-1.d	Tue Jul 17 16:05:10 2001
***************
*** 0 ****
--- 1,16 ----
+ #objdump: -str
+
+ # Check that some pseudos get output right.
+
+ .*:     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 00000020 00000020 00000020 00000020  .*
+  0010 0000000a 00000000                    .*
+ Contents of section \.data:
diff -cprN none/pseudo-1.s mmix/pseudo-1.s
*** none/pseudo-1.s	Thu Jan  1 01:00:00 1970
--- mmix/pseudo-1.s	Fri Jul 13 03:58:36 2001
***************
*** 0 ****
--- 1 ----
+ Main TETRA "    ",#a,0
diff -cprN none/pushgo-op-r.d mmix/pushgo-op-r.d
*** none/pushgo-op-r.d	Thu Jan  1 01:00:00 1970
--- mmix/pushgo-op-r.d	Mon Jun 12 16:03:15 2000
***************
*** 0 ****
--- 1,64 ----
+ # objdump: -dr
+ # as: -linkrelax
+ # source: pushgo-op.s
+ .*:     file format elf64-mmix
+
+ Disassembly of section \.text:
+
+ 0000000000000000 <Main>:
+    0:	be170c43 	pushgo \$23,\$12,\$67
+    4:	becb0c43 	pushgo \$203,\$12,\$67
+    8:	be200c43 	pushgo \$32,\$12,\$67
+    c:	be200c43 	pushgo \$32,\$12,\$67
+   10:	be172043 	pushgo \$23,\$32,\$67
+   14:	becb2043 	pushgo \$203,\$32,\$67
+   18:	bee88543 	pushgo \$232,\$133,\$67
+   1c:	bee88543 	pushgo \$232,\$133,\$67
+   20:	be170c49 	pushgo \$23,\$12,\$73
+   24:	becb0c49 	pushgo \$203,\$12,\$73
+   28:	be1f0ce9 	pushgo \$31,\$12,\$233
+   2c:	be1f0ce9 	pushgo \$31,\$12,\$233
+   30:	be1726d4 	pushgo \$23,\$38,\$212
+   34:	becb26d4 	pushgo \$203,\$38,\$212
+   38:	be04afb5 	pushgo \$4,\$175,\$181
+   3c:	be04afb5 	pushgo \$4,\$175,\$181
+   40:	bf170cb0 	pushgo \$23,\$12,176
+   44:	bfcb0cb0 	pushgo \$203,\$12,176
+   48:	bf200cb0 	pushgo \$32,\$12,176
+   4c:	bf200cb0 	pushgo \$32,\$12,176
+   50:	bf1720b0 	pushgo \$23,\$32,176
+   54:	bfcb20b0 	pushgo \$203,\$32,176
+   58:	bfe885b0 	pushgo \$232,\$133,176
+   5c:	bfe885b0 	pushgo \$232,\$133,176
+   60:	bf170ccb 	pushgo \$23,\$12,203
+   64:	bfcb0ccb 	pushgo \$203,\$12,203
+   68:	bf1f0cd5 	pushgo \$31,\$12,213
+   6c:	bf1f0cd5 	pushgo \$31,\$12,213
+   70:	bf1726d3 	pushgo \$23,\$38,211
+   74:	bfcb26d3 	pushgo \$203,\$38,211
+   78:	bf04afa1 	pushgo \$4,\$175,161
+   7c:	bf04afa1 	pushgo \$4,\$175,161
+   80:	bf170c00 	pushgo \$23,\$12,0
+   84:	bfcb0c00 	pushgo \$203,\$12,0
+   88:	bf290c00 	pushgo \$41,\$12,0
+   8c:	bff10c00 	pushgo \$241,\$12,0
+   90:	bf171b00 	pushgo \$23,\$27,0
+   94:	bfcb3000 	pushgo \$203,\$48,0
+   98:	bfdfdb00 	pushgo \$223,\$219,0
+   9c:	bfdfe500 	pushgo \$223,\$229,0
+   a0:	bf170c00 	pushgo \$23,\$12,0
+   a4:	bfcb0c00 	pushgo \$203,\$12,0
+   a8:	bf200c00 	pushgo \$32,\$12,0
+   ac:	bf200c00 	pushgo \$32,\$12,0
+   b0:	bf172000 	pushgo \$23,\$32,0
+   b4:	bfcb2000 	pushgo \$203,\$32,0
+   b8:	bfe88500 	pushgo \$232,\$133,0
+   bc:	bfe88500 	pushgo \$232,\$133,0
+   c0:	bf170c00 	pushgo \$23,\$12,0
+   c4:	bfcb0c00 	pushgo \$203,\$12,0
+   c8:	bf1f0c00 	pushgo \$31,\$12,0
+   cc:	bf1f0c00 	pushgo \$31,\$12,0
+   d0:	bf172600 	pushgo \$23,\$38,0
+   d4:	bfcb2600 	pushgo \$203,\$38,0
+   d8:	bf04af00 	pushgo \$4,\$175,0
+   dc:	bf04af00 	pushgo \$4,\$175,0
diff -cprN none/pushgo-op.d mmix/pushgo-op.d
*** none/pushgo-op.d	Thu Jan  1 01:00:00 1970
--- mmix/pushgo-op.d	Sun Jun  4 23:30:49 2000
***************
*** 0 ****
--- 1,62 ----
+ # objdump: -dr
+ .*:     file format elf64-mmix
+
+ Disassembly of section \.text:
+
+ 0000000000000000 <Main>:
+    0:	be170c43 	pushgo \$23,\$12,\$67
+    4:	becb0c43 	pushgo \$203,\$12,\$67
+    8:	be200c43 	pushgo \$32,\$12,\$67
+    c:	be200c43 	pushgo \$32,\$12,\$67
+   10:	be172043 	pushgo \$23,\$32,\$67
+   14:	becb2043 	pushgo \$203,\$32,\$67
+   18:	bee88543 	pushgo \$232,\$133,\$67
+   1c:	bee88543 	pushgo \$232,\$133,\$67
+   20:	be170c49 	pushgo \$23,\$12,\$73
+   24:	becb0c49 	pushgo \$203,\$12,\$73
+   28:	be1f0ce9 	pushgo \$31,\$12,\$233
+   2c:	be1f0ce9 	pushgo \$31,\$12,\$233
+   30:	be1726d4 	pushgo \$23,\$38,\$212
+   34:	becb26d4 	pushgo \$203,\$38,\$212
+   38:	be04afb5 	pushgo \$4,\$175,\$181
+   3c:	be04afb5 	pushgo \$4,\$175,\$181
+   40:	bf170cb0 	pushgo \$23,\$12,176
+   44:	bfcb0cb0 	pushgo \$203,\$12,176
+   48:	bf200cb0 	pushgo \$32,\$12,176
+   4c:	bf200cb0 	pushgo \$32,\$12,176
+   50:	bf1720b0 	pushgo \$23,\$32,176
+   54:	bfcb20b0 	pushgo \$203,\$32,176
+   58:	bfe885b0 	pushgo \$232,\$133,176
+   5c:	bfe885b0 	pushgo \$232,\$133,176
+   60:	bf170ccb 	pushgo \$23,\$12,203
+   64:	bfcb0ccb 	pushgo \$203,\$12,203
+   68:	bf1f0cd5 	pushgo \$31,\$12,213
+   6c:	bf1f0cd5 	pushgo \$31,\$12,213
+   70:	bf1726d3 	pushgo \$23,\$38,211
+   74:	bfcb26d3 	pushgo \$203,\$38,211
+   78:	bf04afa1 	pushgo \$4,\$175,161
+   7c:	bf04afa1 	pushgo \$4,\$175,161
+   80:	bf170c00 	pushgo \$23,\$12,0
+   84:	bfcb0c00 	pushgo \$203,\$12,0
+   88:	bf290c00 	pushgo \$41,\$12,0
+   8c:	bff10c00 	pushgo \$241,\$12,0
+   90:	bf171b00 	pushgo \$23,\$27,0
+   94:	bfcb3000 	pushgo \$203,\$48,0
+   98:	bfdfdb00 	pushgo \$223,\$219,0
+   9c:	bfdfe500 	pushgo \$223,\$229,0
+   a0:	bf170c00 	pushgo \$23,\$12,0
+   a4:	bfcb0c00 	pushgo \$203,\$12,0
+   a8:	bf200c00 	pushgo \$32,\$12,0
+   ac:	bf200c00 	pushgo \$32,\$12,0
+   b0:	bf172000 	pushgo \$23,\$32,0
+   b4:	bfcb2000 	pushgo \$203,\$32,0
+   b8:	bfe88500 	pushgo \$232,\$133,0
+   bc:	bfe88500 	pushgo \$232,\$133,0
+   c0:	bf170c00 	pushgo \$23,\$12,0
+   c4:	bfcb0c00 	pushgo \$203,\$12,0
+   c8:	bf1f0c00 	pushgo \$31,\$12,0
+   cc:	bf1f0c00 	pushgo \$31,\$12,0
+   d0:	bf172600 	pushgo \$23,\$38,0
+   d4:	bfcb2600 	pushgo \$203,\$38,0
+   d8:	bf04af00 	pushgo \$4,\$175,0
+   dc:	bf04af00 	pushgo \$4,\$175,0
diff -cprN none/pushgo-op.l mmix/pushgo-op.l
*** none/pushgo-op.l	Thu Jan  1 01:00:00 1970
--- mmix/pushgo-op.l	Mon Jul  2 00:39:31 2001
***************
*** 0 ****
--- 1,87 ----
+ GAS for MMIX .*/pushgo-op\.s 			page 1
+
+
+    1              	#.*
+    2              	#.*
+    3 0000 BE170C43 	Main	PUSHGO X,Y,Z
+    4 0004 BECB0C43 		PUSHGO XC,Y,Z
+    5 0008 BE200C43 		PUSHGO \$32,Y,Z
+    6 000c BE200C43 		PUSHGO 32,Y,Z
+    7 0010 BE172043 		PUSHGO X,\$32,Z
+    8 0014 BECB2043 		PUSHGO XC,\$32,Z
+    9 0018 BEE88543 		PUSHGO \$232,\$133,Z
+   10 001c BEE88543 		PUSHGO 232,\$133,Z
+   11 0020 BE170C49 		PUSHGO X,Y,\$73
+   12 0024 BECB0C49 		PUSHGO XC,Y,\$73
+   13 0028 BE1F0CE9 		PUSHGO \$31,Y,\$233
+   14 002c BE1F0CE9 		PUSHGO 31,Y,\$233
+   15 0030 BE1726D4 		PUSHGO X,\$38,\$212
+   16 0034 BECB26D4 		PUSHGO XC,\$38,\$212
+   17 0038 BE04AFB5 		PUSHGO \$4,\$175,\$181
+   18 003c BE04AFB5 		PUSHGO 4,\$175,\$181
+   19
+   20 0040 BF170CB0 		PUSHGO X,Y,Z0
+   21 0044 BFCB0CB0 		PUSHGO XC,Y,Z0
+   22 0048 BF200CB0 		PUSHGO \$32,Y,Z0
+   23 004c BF200CB0 		PUSHGO 32,Y,Z0
+   24 0050 BF1720B0 		PUSHGO X,\$32,Z0
+   25 0054 BFCB20B0 		PUSHGO XC,\$32,Z0
+   26 0058 BFE885B0 		PUSHGO \$232,\$133,Z0
+   27 005c BFE885B0 		PUSHGO 232,\$133,Z0
+   28 0060 BF170CCB 		PUSHGO X,Y,203
+   29 0064 BFCB0CCB 		PUSHGO XC,Y,203
+   30 0068 BF1F0CD5 		PUSHGO \$31,Y,213
+   31 006c BF1F0CD5 		PUSHGO 31,Y,213
+   32 0070 BF1726D3 		PUSHGO X,\$38,211
+   33 0074 BFCB26D3 		PUSHGO XC,\$38,211
+   34 0078 BF04AFA1 		PUSHGO \$4,\$175,161
+   35 007c BF04AFA1 		PUSHGO 4,\$175,161
+   36
+   37 0080 BF170C00 		PUSHGO X,Y
+   38 0084 BFCB0C00 		PUSHGO XC,Y
+   39
+   40 0088 BF290C00 		PUSHGO \$41,Y
+   41 008c BFF10C00 		PUSHGO 241,Y
+   42
+   43 0090 BF171B00 		PUSHGO X,\$27
+   44 0094 BFCB3000 		PUSHGO XC,\$48
+   45
+   46 0098 BFDFDB00 		PUSHGO \$223,\$219
+   47 009c BFDFE500 		PUSHGO 223,\$229
+   48
+   49 00a0 BF170C00 		PUSHGO X,Y,0
+   50 00a4 BFCB0C00 		PUSHGO XC,Y,0
+   51 00a8 BF200C00 		PUSHGO \$32,Y,0
+   52 00ac BF200C00 		PUSHGO 32,Y,0
+   53 00b0 BF172000 		PUSHGO X,\$32,0
+   54 00b4 BFCB2000 		PUSHGO XC,\$32,0
+   55 00b8 BFE88500 		PUSHGO \$232,\$133,0
+   56 00bc BFE88500 		PUSHGO 232,\$133,0
+   57 00c0 BF170C00 		PUSHGO X,Y,0
+ GAS for MMIX .*/pushgo-op\.s 			page 2
+
+
+   58 00c4 BFCB0C00 		PUSHGO XC,Y,0
+   59 00c8 BF1F0C00 		PUSHGO \$31,Y,0
+   60 00cc BF1F0C00 		PUSHGO 31,Y,0
+   61 00d0 BF172600 		PUSHGO X,\$38,0
+   62 00d4 BFCB2600 		PUSHGO XC,\$38,0
+   63 00d8 BF04AF00 		PUSHGO \$4,\$175,0
+   64 00dc BF04AF00 		PUSHGO 4,\$175,0
+   65              	X IS \$23
+   66              	XC IS 203
+   67              	Y IS \$12
+   68              	Z IS \$67
+   69              	Z0 IS 176
+ GAS for MMIX .*/pushgo-op\.s 			page 3
+
+
+ DEFINED SYMBOLS
+ .*/pushgo-op\.s:3      \.text:0000000000000000 Main
+                             \*REG\*:0000000000000017 X
+                             \*REG\*:000000000000000c Y
+                             \*REG\*:0000000000000043 Z
+                             \*ABS\*:00000000000000cb XC
+                             \*ABS\*:00000000000000b0 Z0
+
+ NO UNDEFINED SYMBOLS
diff -cprN none/pushgo-op.s mmix/pushgo-op.s
*** none/pushgo-op.s	Thu Jan  1 01:00:00 1970
--- mmix/pushgo-op.s	Sat Jun  3 23:38:33 2000
***************
*** 0 ****
--- 1,69 ----
+ # PUSHGO.  Like T, but $X can be expressed as a constant.
+ # Using regt-op as a template caused this to go out of control.
+ Main	PUSHGO X,Y,Z
+ 	PUSHGO XC,Y,Z
+ 	PUSHGO $32,Y,Z
+ 	PUSHGO 32,Y,Z
+ 	PUSHGO X,$32,Z
+ 	PUSHGO XC,$32,Z
+ 	PUSHGO $232,$133,Z
+ 	PUSHGO 232,$133,Z
+ 	PUSHGO X,Y,$73
+ 	PUSHGO XC,Y,$73
+ 	PUSHGO $31,Y,$233
+ 	PUSHGO 31,Y,$233
+ 	PUSHGO X,$38,$212
+ 	PUSHGO XC,$38,$212
+ 	PUSHGO $4,$175,$181
+ 	PUSHGO 4,$175,$181
+
+ 	PUSHGO X,Y,Z0
+ 	PUSHGO XC,Y,Z0
+ 	PUSHGO $32,Y,Z0
+ 	PUSHGO 32,Y,Z0
+ 	PUSHGO X,$32,Z0
+ 	PUSHGO XC,$32,Z0
+ 	PUSHGO $232,$133,Z0
+ 	PUSHGO 232,$133,Z0
+ 	PUSHGO X,Y,203
+ 	PUSHGO XC,Y,203
+ 	PUSHGO $31,Y,213
+ 	PUSHGO 31,Y,213
+ 	PUSHGO X,$38,211
+ 	PUSHGO XC,$38,211
+ 	PUSHGO $4,$175,161
+ 	PUSHGO 4,$175,161
+
+ 	PUSHGO X,Y
+ 	PUSHGO XC,Y
+
+ 	PUSHGO $41,Y
+ 	PUSHGO 241,Y
+
+ 	PUSHGO X,$27
+ 	PUSHGO XC,$48
+
+ 	PUSHGO $223,$219
+ 	PUSHGO 223,$229
+
+ 	PUSHGO X,Y,0
+ 	PUSHGO XC,Y,0
+ 	PUSHGO $32,Y,0
+ 	PUSHGO 32,Y,0
+ 	PUSHGO X,$32,0
+ 	PUSHGO XC,$32,0
+ 	PUSHGO $232,$133,0
+ 	PUSHGO 232,$133,0
+ 	PUSHGO X,Y,0
+ 	PUSHGO XC,Y,0
+ 	PUSHGO $31,Y,0
+ 	PUSHGO 31,Y,0
+ 	PUSHGO X,$38,0
+ 	PUSHGO XC,$38,0
+ 	PUSHGO $4,$175,0
+ 	PUSHGO 4,$175,0
+ X IS $23
+ XC IS 203
+ Y IS $12
+ Z IS $67
+ Z0 IS 176
diff -cprN none/pushj-c.d mmix/pushj-c.d
*** none/pushj-c.d	Thu Jan  1 01:00:00 1970
--- mmix/pushj-c.d	Sun Sep  2 17:34:13 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:	f2010000 	pushj \$1,0 <Main>
+ 			0: R_MMIX_PUSHJ	\*ABS\*\+0xffff0000ffff0000
+    4:	fd000000 	swym 0,0,0
+    8:	fd000000 	swym 0,0,0
+    c:	fd000000 	swym 0,0,0
+   10:	fd000000 	swym 0,0,0
+   14:	f2020000 	pushj \$2,14 <Main\+0x14>
+ 			14: R_MMIX_PUSHJ	i2
+   18:	fd000000 	swym 0,0,0
+   1c:	fd000000 	swym 0,0,0
+   20:	fd000000 	swym 0,0,0
+   24:	fd000000 	swym 0,0,0
diff -cprN none/pushj-c.s mmix/pushj-c.s
*** none/pushj-c.s	Thu Jan  1 01:00:00 1970
--- mmix/pushj-c.s	Sun Sep  2 16:37:43 2001
***************
*** 0 ****
--- 1,5 ----
+ % PUSHJ far away must not fail
+ i1	IS #ffff0000ffff0000
+ Main PUSHJ  $1,i1
+  PUSHJ  $2,i2
+ i2	IS #ffff0000ffff0000
diff -cprN none/put-op-r.d mmix/put-op-r.d
*** none/put-op-r.d	Thu Jan  1 01:00:00 1970
--- mmix/put-op-r.d	Mon Jun 12 15:53:51 2000
***************
*** 0 ****
--- 1,17 ----
+ # objdump: -dr
+ # as: -linkrelax
+ # source: put-op.s
+ .*:     file format elf64-mmix
+
+ Disassembly of section \.text:
+
+ 0000000000000000 <Main>:
+    0:	f604007b 	put rJ,\$123
+    4:	f613002d 	put rG,\$45
+    8:	f61f00f5 	put rZZ,\$245
+    c:	f604006f 	put rJ,\$111
+   10:	f713002d 	put rG,45
+   14:	f71f00f5 	put rZZ,245
+   18:	f7040000 	put rJ,0
+   1c:	f7130000 	put rG,0
+   20:	f71f0000 	put rZZ,0
diff -cprN none/put-op.d mmix/put-op.d
*** none/put-op.d	Thu Jan  1 01:00:00 1970
--- mmix/put-op.d	Sun Jun  4 23:32:35 2000
***************
*** 0 ****
--- 1,15 ----
+ # objdump: -dr
+ .*:     file format elf64-mmix
+
+ Disassembly of section \.text:
+
+ 0000000000000000 <Main>:
+    0:	f604007b 	put rJ,\$123
+    4:	f613002d 	put rG,\$45
+    8:	f61f00f5 	put rZZ,\$245
+    c:	f604006f 	put rJ,\$111
+   10:	f713002d 	put rG,45
+   14:	f71f00f5 	put rZZ,245
+   18:	f7040000 	put rJ,0
+   1c:	f7130000 	put rG,0
+   20:	f71f0000 	put rZZ,0
diff -cprN none/put-op.l mmix/put-op.l
*** none/put-op.l	Thu Jan  1 01:00:00 1970
--- mmix/put-op.l	Mon Jul  2 00:41:32 2001
***************
*** 0 ****
--- 1,27 ----
+ GAS for MMIX .*/put-op\.s 			page 1
+
+
+    1              	#.*
+    2              	#.*
+    3 0000 F604007B 	Main	PUT rJ,X
+    4 0004 F613002D 		PUT rG,\$45
+    5 0008 F61F00F5 		PUT rZZ,\$245
+    6 000c F604006F 		PUT rJ,X0
+    7 0010 F713002D 		PUT rG,45
+    8 0014 F71F00F5 		PUT rZZ,245
+    9 0018 F7040000 		PUT rJ,X00
+   10 001c F7130000 		PUT rG,0
+   11 0020 F71F0000 		PUT rZZ,0
+   12              	X IS \$123
+   13              	X0 IS \$111
+   14              	X00 IS 0
+ GAS for MMIX .*/put-op\.s 			page 2
+
+
+ DEFINED SYMBOLS
+ .*/put-op\.s:3      \.text:0000000000000000 Main
+                             \*REG\*:000000000000007b X
+                             \*REG\*:000000000000006f X0
+                             \*ABS\*:0000000000000000 X00
+
+ NO UNDEFINED SYMBOLS
diff -cprN none/put-op.s mmix/put-op.s
*** none/put-op.s	Thu Jan  1 01:00:00 1970
--- mmix/put-op.s	Sat Jun  3 22:32:53 2000
***************
*** 0 ****
--- 1,14 ----
+ # For 'p'-type operands: PUT.
+ #
+ Main	PUT rJ,X
+ 	PUT rG,$45
+ 	PUT rZZ,$245
+ 	PUT rJ,X0
+ 	PUT rG,45
+ 	PUT rZZ,245
+ 	PUT rJ,X00
+ 	PUT rG,0
+ 	PUT rZZ,0
+ X IS $123
+ X0 IS $111
+ X00 IS 0
diff -cprN none/reg-op-r.d mmix/reg-op-r.d
*** none/reg-op-r.d	Thu Jan  1 01:00:00 1970
--- mmix/reg-op-r.d	Mon Jun 12 16:06:44 2000
***************
*** 0 ****
--- 1,16 ----
+ # objdump: -dr
+ # as: -linkrelax
+ # source: reg-op.s
+ .*:     file format elf64-mmix
+
+ Disassembly of section \.text:
+
+ 0000000000000000 <Main>:
+    0:	10170c43 	fmul \$23,\$12,\$67
+    4:	01200c43 	fcmp \$32,\$12,\$67
+    8:	040c2043 	fadd \$12,\$32,\$67
+    c:	02e88543 	fun \$232,\$133,\$67
+   10:	03170c49 	feql \$23,\$12,\$73
+   14:	161f0ce9 	frem \$31,\$12,\$233
+   18:	061726d4 	fsub \$23,\$38,\$212
+   1c:	1304afb5 	feqle \$4,\$175,\$181
diff -cprN none/reg-op.d mmix/reg-op.d
*** none/reg-op.d	Thu Jan  1 01:00:00 1970
--- mmix/reg-op.d	Sun Jun  4 23:34:06 2000
***************
*** 0 ****
--- 1,14 ----
+ # objdump: -dr
+ .*:     file format elf64-mmix
+
+ Disassembly of section \.text:
+
+ 0000000000000000 <Main>:
+    0:	10170c43 	fmul \$23,\$12,\$67
+    4:	01200c43 	fcmp \$32,\$12,\$67
+    8:	040c2043 	fadd \$12,\$32,\$67
+    c:	02e88543 	fun \$232,\$133,\$67
+   10:	03170c49 	feql \$23,\$12,\$73
+   14:	161f0ce9 	frem \$31,\$12,\$233
+   18:	061726d4 	fsub \$23,\$38,\$212
+   1c:	1304afb5 	feqle \$4,\$175,\$181
diff -cprN none/reg-op.l mmix/reg-op.l
*** none/reg-op.l	Thu Jan  1 01:00:00 1970
--- mmix/reg-op.l	Mon Jul  2 00:45:50 2001
***************
*** 0 ****
--- 1,26 ----
+ GAS for MMIX .*/reg-op\.s 			page 1
+
+
+    1              	#.*
+    2              	#.*
+    3 0000 10170C43 	Main	FMUL X,Y,Z
+    4 0004 01200C43 		FCMP \$32,Y,Z
+    5 0008 040C2043 		FADD Y,\$32,Z
+    6 000c 02E88543 		FUN \$232,\$133,Z
+    7 0010 03170C49 		FEQL X,Y,\$73
+    8 0014 161F0CE9 		FREM \$31,Y,\$233
+    9 0018 061726D4 		FSUB X,\$38,\$212
+   10 001c 1304AFB5 		FEQLE \$4,\$175,\$181
+   11              	X IS \$23
+   12              	Y IS \$12
+   13              	Z IS \$67
+ GAS for MMIX .*/reg-op\.s 			page 2
+
+
+ DEFINED SYMBOLS
+ .*/reg-op\.s:3      \.text:0000000000000000 Main
+                             \*REG\*:0000000000000017 X
+                             \*REG\*:000000000000000c Y
+                             \*REG\*:0000000000000043 Z
+
+ NO UNDEFINED SYMBOLS
diff -cprN none/reg-op.s mmix/reg-op.s
*** none/reg-op.s	Thu Jan  1 01:00:00 1970
--- mmix/reg-op.s	Sat Jun  3 18:43:12 2000
***************
*** 0 ****
--- 1,13 ----
+ # All-registers, '$'-type operands.
+ #
+ Main	FMUL X,Y,Z
+ 	FCMP $32,Y,Z
+ 	FADD Y,$32,Z
+ 	FUN $232,$133,Z
+ 	FEQL X,Y,$73
+ 	FREM $31,Y,$233
+ 	FSUB X,$38,$212
+ 	FEQLE $4,$175,$181
+ X IS $23
+ Y IS $12
+ Z IS $67
diff -cprN none/reg3-op-r.d mmix/reg3-op-r.d
*** none/reg3-op-r.d	Thu Jan  1 01:00:00 1970
--- mmix/reg3-op-r.d	Mon Jun 12 16:07:42 2000
***************
*** 0 ****
--- 1,32 ----
+ # objdump: -dr
+ # as: -linkrelax
+ # source: reg3-op.s
+ .*:     file format elf64-mmix
+
+ Disassembly of section \.text:
+
+ 0000000000000000 <Main>:
+    0:	18170c43 	mul \$23,\$12,\$67
+    4:	20200c43 	add \$32,\$12,\$67
+    8:	2a0c2043 	4addu \$12,\$32,\$67
+    c:	2ce88543 	8addu \$232,\$133,\$67
+   10:	2e170c49 	16addu \$23,\$12,\$73
+   14:	3e1f0ce9 	sru \$31,\$12,\$233
+   18:	601726d4 	csn \$23,\$38,\$212
+   1c:	7c04afb5 	zsnp \$4,\$175,\$181
+   20:	1b170cb0 	mulu \$23,\$12,176
+   24:	39200cb0 	sl \$32,\$12,176
+   28:	330c20b0 	cmpu \$12,\$32,176
+   2c:	29e885b0 	2addu \$232,\$133,176
+   30:	df170ccb 	mxor \$23,\$12,203
+   34:	c11f0cd5 	or \$31,\$12,213
+   38:	cd1726d3 	nand \$23,\$38,211
+   3c:	d304afa1 	wdif \$4,\$175,161
+   40:	db170c00 	sadd \$23,\$12,0
+   44:	df200c00 	mxor \$32,\$12,0
+   48:	c30c2000 	orn \$12,\$32,0
+   4c:	cbe88500 	andn \$232,\$133,0
+   50:	2f170c00 	16addu \$23,\$12,0
+   54:	391f0c00 	sl \$31,\$12,0
+   58:	23172600 	addu \$23,\$38,0
+   5c:	3104af00 	cmp \$4,\$175,0
diff -cprN none/reg3-op.d mmix/reg3-op.d
*** none/reg3-op.d	Thu Jan  1 01:00:00 1970
--- mmix/reg3-op.d	Sun Jun  4 23:41:02 2000
***************
*** 0 ****
--- 1,30 ----
+ # objdump: -dr
+ .*:     file format elf64-mmix
+
+ Disassembly of section \.text:
+
+ 0000000000000000 <Main>:
+    0:	18170c43 	mul \$23,\$12,\$67
+    4:	20200c43 	add \$32,\$12,\$67
+    8:	2a0c2043 	4addu \$12,\$32,\$67
+    c:	2ce88543 	8addu \$232,\$133,\$67
+   10:	2e170c49 	16addu \$23,\$12,\$73
+   14:	3e1f0ce9 	sru \$31,\$12,\$233
+   18:	601726d4 	csn \$23,\$38,\$212
+   1c:	7c04afb5 	zsnp \$4,\$175,\$181
+   20:	1b170cb0 	mulu \$23,\$12,176
+   24:	39200cb0 	sl \$32,\$12,176
+   28:	330c20b0 	cmpu \$12,\$32,176
+   2c:	29e885b0 	2addu \$232,\$133,176
+   30:	df170ccb 	mxor \$23,\$12,203
+   34:	c11f0cd5 	or \$31,\$12,213
+   38:	cd1726d3 	nand \$23,\$38,211
+   3c:	d304afa1 	wdif \$4,\$175,161
+   40:	db170c00 	sadd \$23,\$12,0
+   44:	df200c00 	mxor \$32,\$12,0
+   48:	c30c2000 	orn \$12,\$32,0
+   4c:	cbe88500 	andn \$232,\$133,0
+   50:	2f170c00 	16addu \$23,\$12,0
+   54:	391f0c00 	sl \$31,\$12,0
+   58:	23172600 	addu \$23,\$38,0
+   5c:	3104af00 	cmp \$4,\$175,0
diff -cprN none/reg3-op.l mmix/reg3-op.l
*** none/reg3-op.l	Thu Jan  1 01:00:00 1970
--- mmix/reg3-op.l	Mon Jul  2 00:47:24 2001
***************
*** 0 ****
--- 1,46 ----
+ GAS for MMIX .*/reg3-op\.s 			page 1
+
+
+    1              	#.*
+    2              	#.*
+    3 0000 18170C43 	Main	MUL X,Y,Z
+    4 0004 20200C43 		ADD \$32,Y,Z
+    5 0008 2A0C2043 		4ADDU Y,\$32,Z
+    6 000c 2CE88543 		8ADDU \$232,\$133,Z
+    7 0010 2E170C49 		16ADDU X,Y,\$73
+    8 0014 3E1F0CE9 		SRU \$31,Y,\$233
+    9 0018 601726D4 		CSN X,\$38,\$212
+   10 001c 7C04AFB5 		ZSNP \$4,\$175,\$181
+   11
+   12 0020 1B170CB0 		MULU X,Y,Z0
+   13 0024 39200CB0 		SL \$32,Y,Z0
+   14 0028 330C20B0 		CMPU Y,\$32,Z0
+   15 002c 29E885B0 		2ADDU \$232,\$133,Z0
+   16 0030 DF170CCB 		MXOR X,Y,203
+   17 0034 C11F0CD5 		OR \$31,Y,213
+   18 0038 CD1726D3 		NAND X,\$38,211
+   19 003c D304AFA1 		WDIF \$4,\$175,161
+   20
+   21 0040 DB170C00 		SADD X,Y,0
+   22 0044 DF200C00 		MXOR \$32,Y,0
+   23 0048 C30C2000 		ORN Y,\$32,0
+   24 004c CBE88500 		ANDN \$232,\$133,0
+   25 0050 2F170C00 		16ADDU X,Y,0
+   26 0054 391F0C00 		SL \$31,Y,0
+   27 0058 23172600 		ADDU X,\$38,0
+   28 005c 3104AF00 		CMP \$4,\$175,0
+   29              	X IS \$23
+   30              	Y IS \$12
+   31              	Z IS \$67
+   32              	Z0 IS 176
+ GAS for MMIX .*/reg3-op\.s 			page 2
+
+
+ DEFINED SYMBOLS
+ .*/reg3-op\.s:3      \.text:0000000000000000 Main
+                             \*REG\*:0000000000000017 X
+                             \*REG\*:000000000000000c Y
+                             \*REG\*:0000000000000043 Z
+                             \*ABS\*:00000000000000b0 Z0
+
+ NO UNDEFINED SYMBOLS
diff -cprN none/reg3-op.s mmix/reg3-op.s
*** none/reg3-op.s	Thu Jan  1 01:00:00 1970
--- mmix/reg3-op.s	Sat Jun  3 20:40:24 2000
***************
*** 0 ****
--- 1,32 ----
+ # All-registers, '3'-type operands; third operand is
+ # register or constant.
+ Main	MUL X,Y,Z
+ 	ADD $32,Y,Z
+ 	4ADDU Y,$32,Z
+ 	8ADDU $232,$133,Z
+ 	16ADDU X,Y,$73
+ 	SRU $31,Y,$233
+ 	CSN X,$38,$212
+ 	ZSNP $4,$175,$181
+
+ 	MULU X,Y,Z0
+ 	SL $32,Y,Z0
+ 	CMPU Y,$32,Z0
+ 	2ADDU $232,$133,Z0
+ 	MXOR X,Y,203
+ 	OR $31,Y,213
+ 	NAND X,$38,211
+ 	WDIF $4,$175,161
+
+ 	SADD X,Y,0
+ 	MXOR $32,Y,0
+ 	ORN Y,$32,0
+ 	ANDN $232,$133,0
+ 	16ADDU X,Y,0
+ 	SL $31,Y,0
+ 	ADDU X,$38,0
+ 	CMP $4,$175,0
+ X IS $23
+ Y IS $12
+ Z IS $67
+ Z0 IS 176
diff -cprN none/regt-op-r.d mmix/regt-op-r.d
*** none/regt-op-r.d	Thu Jan  1 01:00:00 1970
--- mmix/regt-op-r.d	Mon Jun 12 16:09:05 2000
***************
*** 0 ****
--- 1,136 ----
+ # objdump: -dr
+ # as: -linkrelax
+ # source: regt-op.s
+ .*:     file format elf64-mmix
+
+ Disassembly of section \.text:
+
+ 0000000000000000 <Main>:
+    0:	22170c43 	addu \$23,\$12,\$67
+    4:	88200c43 	ldt \$32,\$12,\$67
+    8:	820c2043 	ldbu \$12,\$32,\$67
+    c:	8ae88543 	ldtu \$232,\$133,\$67
+   10:	8c170c49 	ldo \$23,\$12,\$73
+   14:	8e1f0ce9 	ldou \$31,\$12,\$233
+   18:	841726d4 	ldw \$23,\$38,\$212
+   1c:	8604afb5 	ldwu \$4,\$175,\$181
+   20:	81170cb0 	ldb \$23,\$12,176
+   24:	91200cb0 	ldsf \$32,\$12,176
+   28:	990c20b0 	ldvts \$12,\$32,176
+   2c:	97e885b0 	ldunc \$232,\$133,176
+   30:	b3170ccb 	stht \$23,\$12,203
+   34:	931f0cd5 	ldht \$31,\$12,213
+   38:	951726d3 	cswap \$23,\$38,211
+   3c:	9f04afa1 	go \$4,\$175,161
+   40:	23170c00 	addu \$23,\$12,0
+   44:	81170c00 	ldb \$23,\$12,0
+   48:	89170c00 	ldt \$23,\$12,0
+   4c:	83170c00 	ldbu \$23,\$12,0
+   50:	8b170c00 	ldtu \$23,\$12,0
+   54:	8d170c00 	ldo \$23,\$12,0
+   58:	8f170c00 	ldou \$23,\$12,0
+   5c:	85170c00 	ldw \$23,\$12,0
+   60:	87170c00 	ldwu \$23,\$12,0
+   64:	91170c00 	ldsf \$23,\$12,0
+   68:	93170c00 	ldht \$23,\$12,0
+   6c:	95170c00 	cswap \$23,\$12,0
+   70:	97170c00 	ldunc \$23,\$12,0
+   74:	99170c00 	ldvts \$23,\$12,0
+   78:	9f170c00 	go \$23,\$12,0
+   7c:	a1170c00 	stb \$23,\$12,0
+   80:	a9170c00 	stt \$23,\$12,0
+   84:	a3170c00 	stbu \$23,\$12,0
+   88:	ab170c00 	sttu \$23,\$12,0
+   8c:	ad170c00 	sto \$23,\$12,0
+   90:	af170c00 	stou \$23,\$12,0
+   94:	a5170c00 	stw \$23,\$12,0
+   98:	a7170c00 	stwu \$23,\$12,0
+   9c:	b1170c00 	stsf \$23,\$12,0
+   a0:	b3170c00 	stht \$23,\$12,0
+   a4:	b7170c00 	stunc \$23,\$12,0
+   a8:	23290c00 	addu \$41,\$12,0
+   ac:	81790c00 	ldb \$121,\$12,0
+   b0:	894e0c00 	ldt \$78,\$12,0
+   b4:	837f0c00 	ldbu \$127,\$12,0
+   b8:	8b310c00 	ldtu \$49,\$12,0
+   bc:	8d340c00 	ldo \$52,\$12,0
+   c0:	8f2a0c00 	ldou \$42,\$12,0
+   c4:	857b0c00 	ldw \$123,\$12,0
+   c8:	87ea0c00 	ldwu \$234,\$12,0
+   cc:	91290c00 	ldsf \$41,\$12,0
+   d0:	93590c00 	ldht \$89,\$12,0
+   d4:	955d0c00 	cswap \$93,\$12,0
+   d8:	972a0c00 	ldunc \$42,\$12,0
+   dc:	99210c00 	ldvts \$33,\$12,0
+   e0:	9f3b0c00 	go \$59,\$12,0
+   e4:	a13b0c00 	stb \$59,\$12,0
+   e8:	a93b0c00 	stt \$59,\$12,0
+   ec:	a33b0c00 	stbu \$59,\$12,0
+   f0:	ab3b0c00 	sttu \$59,\$12,0
+   f4:	ad3b0c00 	sto \$59,\$12,0
+   f8:	af3b0c00 	stou \$59,\$12,0
+   fc:	a53b0c00 	stw \$59,\$12,0
+  100:	a73b0c00 	stwu \$59,\$12,0
+  104:	b13b0c00 	stsf \$59,\$12,0
+  108:	b33b0c00 	stht \$59,\$12,0
+  10c:	b73b0c00 	stunc \$59,\$12,0
+  110:	23171b00 	addu \$23,\$27,0
+  114:	81173000 	ldb \$23,\$48,0
+  118:	8917a800 	ldt \$23,\$168,0
+  11c:	8317ea00 	ldbu \$23,\$234,0
+  120:	8b17b000 	ldtu \$23,\$176,0
+  124:	8d171d00 	ldo \$23,\$29,0
+  128:	8f17de00 	ldou \$23,\$222,0
+  12c:	8517de00 	ldw \$23,\$222,0
+  130:	8717de00 	ldwu \$23,\$222,0
+  134:	9117de00 	ldsf \$23,\$222,0
+  138:	9317de00 	ldht \$23,\$222,0
+  13c:	9517de00 	cswap \$23,\$222,0
+  140:	9717de00 	ldunc \$23,\$222,0
+  144:	9917de00 	ldvts \$23,\$222,0
+  148:	9f17de00 	go \$23,\$222,0
+  14c:	a117de00 	stb \$23,\$222,0
+  150:	a917de00 	stt \$23,\$222,0
+  154:	a317de00 	stbu \$23,\$222,0
+  158:	ab17de00 	sttu \$23,\$222,0
+  15c:	ad17de00 	sto \$23,\$222,0
+  160:	af17de00 	stou \$23,\$222,0
+  164:	a517de00 	stw \$23,\$222,0
+  168:	a717de00 	stwu \$23,\$222,0
+  16c:	b117de00 	stsf \$23,\$222,0
+  170:	b317de00 	stht \$23,\$222,0
+  174:	b717de00 	stunc \$23,\$222,0
+  178:	23dfdb00 	addu \$223,\$219,0
+  17c:	81dfef00 	ldb \$223,\$239,0
+  180:	89dfef00 	ldt \$223,\$239,0
+  184:	83df1d00 	ldbu \$223,\$29,0
+  188:	8bdfef00 	ldtu \$223,\$239,0
+  18c:	8d17ef00 	ldo \$23,\$239,0
+  190:	8fdfef00 	ldou \$223,\$239,0
+  194:	85dfd100 	ldw \$223,\$209,0
+  198:	877bef00 	ldwu \$123,\$239,0
+  19c:	91dfef00 	ldsf \$223,\$239,0
+  1a0:	93df1d00 	ldht \$223,\$29,0
+  1a4:	95dfef00 	cswap \$223,\$239,0
+  1a8:	977bef00 	ldunc \$123,\$239,0
+  1ac:	99dfef00 	ldvts \$223,\$239,0
+  1b0:	9fdfef00 	go \$223,\$239,0
+  1b4:	a1dfef00 	stb \$223,\$239,0
+  1b8:	a9dff900 	stt \$223,\$249,0
+  1bc:	a3cbef00 	stbu \$203,\$239,0
+  1c0:	ab49ef00 	sttu \$73,\$239,0
+  1c4:	addfef00 	sto \$223,\$239,0
+  1c8:	afdf2700 	stou \$223,\$39,0
+  1cc:	a5dfef00 	stw \$223,\$239,0
+  1d0:	a7e9ef00 	stwu \$233,\$239,0
+  1d4:	b1dfef00 	stsf \$223,\$239,0
+  1d8:	b3df1700 	stht \$223,\$23,0
+  1dc:	b7dfef00 	stunc \$223,\$239,0
+  1e0:	9f170c00 	go \$23,\$12,0
+  1e4:	99200c00 	ldvts \$32,\$12,0
+  1e8:	a10c2000 	stb \$12,\$32,0
+  1ec:	b7e88500 	stunc \$232,\$133,0
+  1f0:	a7170c00 	stwu \$23,\$12,0
+  1f4:	ad1f0c00 	sto \$31,\$12,0
+  1f8:	9f172600 	go \$23,\$38,0
+  1fc:	9504af00 	cswap \$4,\$175,0
diff -cprN none/regt-op.d mmix/regt-op.d
*** none/regt-op.d	Thu Jan  1 01:00:00 1970
--- mmix/regt-op.d	Sun Jun  4 23:44:14 2000
***************
*** 0 ****
--- 1,134 ----
+ # objdump: -dr
+ .*:     file format elf64-mmix
+
+ Disassembly of section \.text:
+
+ 0000000000000000 <Main>:
+    0:	22170c43 	addu \$23,\$12,\$67
+    4:	88200c43 	ldt \$32,\$12,\$67
+    8:	820c2043 	ldbu \$12,\$32,\$67
+    c:	8ae88543 	ldtu \$232,\$133,\$67
+   10:	8c170c49 	ldo \$23,\$12,\$73
+   14:	8e1f0ce9 	ldou \$31,\$12,\$233
+   18:	841726d4 	ldw \$23,\$38,\$212
+   1c:	8604afb5 	ldwu \$4,\$175,\$181
+   20:	81170cb0 	ldb \$23,\$12,176
+   24:	91200cb0 	ldsf \$32,\$12,176
+   28:	990c20b0 	ldvts \$12,\$32,176
+   2c:	97e885b0 	ldunc \$232,\$133,176
+   30:	b3170ccb 	stht \$23,\$12,203
+   34:	931f0cd5 	ldht \$31,\$12,213
+   38:	951726d3 	cswap \$23,\$38,211
+   3c:	9f04afa1 	go \$4,\$175,161
+   40:	23170c00 	addu \$23,\$12,0
+   44:	81170c00 	ldb \$23,\$12,0
+   48:	89170c00 	ldt \$23,\$12,0
+   4c:	83170c00 	ldbu \$23,\$12,0
+   50:	8b170c00 	ldtu \$23,\$12,0
+   54:	8d170c00 	ldo \$23,\$12,0
+   58:	8f170c00 	ldou \$23,\$12,0
+   5c:	85170c00 	ldw \$23,\$12,0
+   60:	87170c00 	ldwu \$23,\$12,0
+   64:	91170c00 	ldsf \$23,\$12,0
+   68:	93170c00 	ldht \$23,\$12,0
+   6c:	95170c00 	cswap \$23,\$12,0
+   70:	97170c00 	ldunc \$23,\$12,0
+   74:	99170c00 	ldvts \$23,\$12,0
+   78:	9f170c00 	go \$23,\$12,0
+   7c:	a1170c00 	stb \$23,\$12,0
+   80:	a9170c00 	stt \$23,\$12,0
+   84:	a3170c00 	stbu \$23,\$12,0
+   88:	ab170c00 	sttu \$23,\$12,0
+   8c:	ad170c00 	sto \$23,\$12,0
+   90:	af170c00 	stou \$23,\$12,0
+   94:	a5170c00 	stw \$23,\$12,0
+   98:	a7170c00 	stwu \$23,\$12,0
+   9c:	b1170c00 	stsf \$23,\$12,0
+   a0:	b3170c00 	stht \$23,\$12,0
+   a4:	b7170c00 	stunc \$23,\$12,0
+   a8:	23290c00 	addu \$41,\$12,0
+   ac:	81790c00 	ldb \$121,\$12,0
+   b0:	894e0c00 	ldt \$78,\$12,0
+   b4:	837f0c00 	ldbu \$127,\$12,0
+   b8:	8b310c00 	ldtu \$49,\$12,0
+   bc:	8d340c00 	ldo \$52,\$12,0
+   c0:	8f2a0c00 	ldou \$42,\$12,0
+   c4:	857b0c00 	ldw \$123,\$12,0
+   c8:	87ea0c00 	ldwu \$234,\$12,0
+   cc:	91290c00 	ldsf \$41,\$12,0
+   d0:	93590c00 	ldht \$89,\$12,0
+   d4:	955d0c00 	cswap \$93,\$12,0
+   d8:	972a0c00 	ldunc \$42,\$12,0
+   dc:	99210c00 	ldvts \$33,\$12,0
+   e0:	9f3b0c00 	go \$59,\$12,0
+   e4:	a13b0c00 	stb \$59,\$12,0
+   e8:	a93b0c00 	stt \$59,\$12,0
+   ec:	a33b0c00 	stbu \$59,\$12,0
+   f0:	ab3b0c00 	sttu \$59,\$12,0
+   f4:	ad3b0c00 	sto \$59,\$12,0
+   f8:	af3b0c00 	stou \$59,\$12,0
+   fc:	a53b0c00 	stw \$59,\$12,0
+  100:	a73b0c00 	stwu \$59,\$12,0
+  104:	b13b0c00 	stsf \$59,\$12,0
+  108:	b33b0c00 	stht \$59,\$12,0
+  10c:	b73b0c00 	stunc \$59,\$12,0
+  110:	23171b00 	addu \$23,\$27,0
+  114:	81173000 	ldb \$23,\$48,0
+  118:	8917a800 	ldt \$23,\$168,0
+  11c:	8317ea00 	ldbu \$23,\$234,0
+  120:	8b17b000 	ldtu \$23,\$176,0
+  124:	8d171d00 	ldo \$23,\$29,0
+  128:	8f17de00 	ldou \$23,\$222,0
+  12c:	8517de00 	ldw \$23,\$222,0
+  130:	8717de00 	ldwu \$23,\$222,0
+  134:	9117de00 	ldsf \$23,\$222,0
+  138:	9317de00 	ldht \$23,\$222,0
+  13c:	9517de00 	cswap \$23,\$222,0
+  140:	9717de00 	ldunc \$23,\$222,0
+  144:	9917de00 	ldvts \$23,\$222,0
+  148:	9f17de00 	go \$23,\$222,0
+  14c:	a117de00 	stb \$23,\$222,0
+  150:	a917de00 	stt \$23,\$222,0
+  154:	a317de00 	stbu \$23,\$222,0
+  158:	ab17de00 	sttu \$23,\$222,0
+  15c:	ad17de00 	sto \$23,\$222,0
+  160:	af17de00 	stou \$23,\$222,0
+  164:	a517de00 	stw \$23,\$222,0
+  168:	a717de00 	stwu \$23,\$222,0
+  16c:	b117de00 	stsf \$23,\$222,0
+  170:	b317de00 	stht \$23,\$222,0
+  174:	b717de00 	stunc \$23,\$222,0
+  178:	23dfdb00 	addu \$223,\$219,0
+  17c:	81dfef00 	ldb \$223,\$239,0
+  180:	89dfef00 	ldt \$223,\$239,0
+  184:	83df1d00 	ldbu \$223,\$29,0
+  188:	8bdfef00 	ldtu \$223,\$239,0
+  18c:	8d17ef00 	ldo \$23,\$239,0
+  190:	8fdfef00 	ldou \$223,\$239,0
+  194:	85dfd100 	ldw \$223,\$209,0
+  198:	877bef00 	ldwu \$123,\$239,0
+  19c:	91dfef00 	ldsf \$223,\$239,0
+  1a0:	93df1d00 	ldht \$223,\$29,0
+  1a4:	95dfef00 	cswap \$223,\$239,0
+  1a8:	977bef00 	ldunc \$123,\$239,0
+  1ac:	99dfef00 	ldvts \$223,\$239,0
+  1b0:	9fdfef00 	go \$223,\$239,0
+  1b4:	a1dfef00 	stb \$223,\$239,0
+  1b8:	a9dff900 	stt \$223,\$249,0
+  1bc:	a3cbef00 	stbu \$203,\$239,0
+  1c0:	ab49ef00 	sttu \$73,\$239,0
+  1c4:	addfef00 	sto \$223,\$239,0
+  1c8:	afdf2700 	stou \$223,\$39,0
+  1cc:	a5dfef00 	stw \$223,\$239,0
+  1d0:	a7e9ef00 	stwu \$233,\$239,0
+  1d4:	b1dfef00 	stsf \$223,\$239,0
+  1d8:	b3df1700 	stht \$223,\$23,0
+  1dc:	b7dfef00 	stunc \$223,\$239,0
+  1e0:	9f170c00 	go \$23,\$12,0
+  1e4:	99200c00 	ldvts \$32,\$12,0
+  1e8:	a10c2000 	stb \$12,\$32,0
+  1ec:	b7e88500 	stunc \$232,\$133,0
+  1f0:	a7170c00 	stwu \$23,\$12,0
+  1f4:	ad1f0c00 	sto \$31,\$12,0
+  1f8:	9f172600 	go \$23,\$38,0
+  1fc:	9504af00 	cswap \$4,\$175,0
diff -cprN none/regt-op.l mmix/regt-op.l
*** none/regt-op.l	Thu Jan  1 01:00:00 1970
--- mmix/regt-op.l	Mon Jul  2 00:48:53 2001
***************
*** 0 ****
--- 1,160 ----
+ GAS for MMIX .*/regt-op\.s 			page 1
+
+
+    1              	#.*
+    2              	#.*
+    3 0000 22170C43 	Main	LDA X,Y,Z
+    4 0004 88200C43 		LDT \$32,Y,Z
+    5 0008 820C2043 		LDBU Y,\$32,Z
+    6 000c 8AE88543 		LDTU \$232,\$133,Z
+    7 0010 8C170C49 		LDO X,Y,\$73
+    8 0014 8E1F0CE9 		LDOU \$31,Y,\$233
+    9 0018 841726D4 		LDW X,\$38,\$212
+   10 001c 8604AFB5 		LDWU \$4,\$175,\$181
+   11
+   12 0020 81170CB0 		LDB X,Y,Z0
+   13 0024 91200CB0 		LDSF \$32,Y,Z0
+   14 0028 990C20B0 		LDVTS Y,\$32,Z0
+   15 002c 97E885B0 		LDUNC \$232,\$133,Z0
+   16 0030 B3170CCB 		STHT X,Y,203
+   17 0034 931F0CD5 		LDHT \$31,Y,213
+   18 0038 951726D3 		CSWAP X,\$38,211
+   19 003c 9F04AFA1 		GO \$4,\$175,161
+   20
+   21 0040 23170C00 		LDA X,Y
+   22 0044 81170C00 		LDB X,Y
+   23 0048 89170C00 		LDT X,Y
+   24 004c 83170C00 		LDBU X,Y
+   25 0050 8B170C00 		LDTU X,Y
+   26 0054 8D170C00 		LDO X,Y
+   27 0058 8F170C00 		LDOU X,Y
+   28 005c 85170C00 		LDW X,Y
+   29 0060 87170C00 		LDWU X,Y
+   30 0064 91170C00 		LDSF X,Y
+   31 0068 93170C00 		LDHT X,Y
+   32 006c 95170C00 		CSWAP X,Y
+   33 0070 97170C00 		LDUNC X,Y
+   34 0074 99170C00 		LDVTS X,Y
+   35 0078 9F170C00 		GO X,Y
+   36 007c A1170C00 		STB X,Y
+   37 0080 A9170C00 		STT X,Y
+   38 0084 A3170C00 		STBU X,Y
+   39 0088 AB170C00 		STTU X,Y
+   40 008c AD170C00 		STO X,Y
+   41 0090 AF170C00 		STOU X,Y
+   42 0094 A5170C00 		STW X,Y
+   43 0098 A7170C00 		STWU X,Y
+   44 009c B1170C00 		STSF X,Y
+   45 00a0 B3170C00 		STHT X,Y
+   46 00a4 B7170C00 		STUNC X,Y
+   47
+   48 00a8 23290C00 		LDA \$41,Y
+   49 00ac 81790C00 		LDB \$121,Y
+   50 00b0 894E0C00 		LDT \$78,Y
+   51 00b4 837F0C00 		LDBU \$127,Y
+   52 00b8 8B310C00 		LDTU \$49,Y
+   53 00bc 8D340C00 		LDO \$52,Y
+   54 00c0 8F2A0C00 		LDOU \$42,Y
+   55 00c4 857B0C00 		LDW \$123,Y
+   56 00c8 87EA0C00 		LDWU \$234,Y
+   57 00cc 91290C00 		LDSF \$41,Y
+ GAS for MMIX .*/regt-op\.s 			page 2
+
+
+   58 00d0 93590C00 		LDHT \$89,Y
+   59 00d4 955D0C00 		CSWAP \$93,Y
+   60 00d8 972A0C00 		LDUNC \$42,Y
+   61 00dc 99210C00 		LDVTS \$33,Y
+   62 00e0 9F3B0C00 		GO \$59,Y
+   63 00e4 A13B0C00 		STB \$59,Y
+   64 00e8 A93B0C00 		STT \$59,Y
+   65 00ec A33B0C00 		STBU \$59,Y
+   66 00f0 AB3B0C00 		STTU \$59,Y
+   67 00f4 AD3B0C00 		STO \$59,Y
+   68 00f8 AF3B0C00 		STOU \$59,Y
+   69 00fc A53B0C00 		STW \$59,Y
+   70 0100 A73B0C00 		STWU \$59,Y
+   71 0104 B13B0C00 		STSF \$59,Y
+   72 0108 B33B0C00 		STHT \$59,Y
+   73 010c B73B0C00 		STUNC \$59,Y
+   74
+   75 0110 23171B00 		LDA X,\$27
+   76 0114 81173000 		LDB X,\$48
+   77 0118 8917A800 		LDT X,\$168
+   78 011c 8317EA00 		LDBU X,\$234
+   79 0120 8B17B000 		LDTU X,\$176
+   80 0124 8D171D00 		LDO X,\$29
+   81 0128 8F17DE00 		LDOU X,\$222
+   82 012c 8517DE00 		LDW X,\$222
+   83 0130 8717DE00 		LDWU X,\$222
+   84 0134 9117DE00 		LDSF X,\$222
+   85 0138 9317DE00 		LDHT X,\$222
+   86 013c 9517DE00 		CSWAP X,\$222
+   87 0140 9717DE00 		LDUNC X,\$222
+   88 0144 9917DE00 		LDVTS X,\$222
+   89 0148 9F17DE00 		GO X,\$222
+   90 014c A117DE00 		STB X,\$222
+   91 0150 A917DE00 		STT X,\$222
+   92 0154 A317DE00 		STBU X,\$222
+   93 0158 AB17DE00 		STTU X,\$222
+   94 015c AD17DE00 		STO X,\$222
+   95 0160 AF17DE00 		STOU X,\$222
+   96 0164 A517DE00 		STW X,\$222
+   97 0168 A717DE00 		STWU X,\$222
+   98 016c B117DE00 		STSF X,\$222
+   99 0170 B317DE00 		STHT X,\$222
+  100 0174 B717DE00 		STUNC X,\$222
+  101
+  102 0178 23DFDB00 		LDA \$223,\$219
+  103 017c 81DFEF00 		LDB \$223,\$239
+  104 0180 89DFEF00 		LDT \$223,\$239
+  105 0184 83DF1D00 		LDBU \$223,\$29
+  106 0188 8BDFEF00 		LDTU \$223,\$239
+  107 018c 8D17EF00 		LDO \$23,\$239
+  108 0190 8FDFEF00 		LDOU \$223,\$239
+  109 0194 85DFD100 		LDW \$223,\$209
+  110 0198 877BEF00 		LDWU \$123,\$239
+  111 019c 91DFEF00 		LDSF \$223,\$239
+  112 01a0 93DF1D00 		LDHT \$223,\$29
+  113 01a4 95DFEF00 		CSWAP \$223,\$239
+  114 01a8 977BEF00 		LDUNC \$123,\$239
+ GAS for MMIX .*/regt-op\.s 			page 3
+
+
+  115 01ac 99DFEF00 		LDVTS \$223,\$239
+  116 01b0 9FDFEF00 		GO \$223,\$239
+  117 01b4 A1DFEF00 		STB \$223,\$239
+  118 01b8 A9DFF900 		STT \$223,\$249
+  119 01bc A3CBEF00 		STBU \$203,\$239
+  120 01c0 AB49EF00 		STTU \$73,\$239
+  121 01c4 ADDFEF00 		STO \$223,\$239
+  122 01c8 AFDF2700 		STOU \$223,\$39
+  123 01cc A5DFEF00 		STW \$223,\$239
+  124 01d0 A7E9EF00 		STWU \$233,\$239
+  125 01d4 B1DFEF00 		STSF \$223,\$239
+  126 01d8 B3DF1700 		STHT \$223,\$23
+  127 01dc B7DFEF00 		STUNC \$223,\$239
+  128
+  129 01e0 9F170C00 		GO X,Y,0
+  130 01e4 99200C00 		LDVTS \$32,Y,0
+  131 01e8 A10C2000 		STB Y,\$32,0
+  132 01ec B7E88500 		STUNC \$232,\$133,0
+  133 01f0 A7170C00 		STWU X,Y,0
+  134 01f4 AD1F0C00 		STO \$31,Y,0
+  135 01f8 9F172600 		GO X,\$38,0
+  136 01fc 9504AF00 		CSWAP \$4,\$175,0
+  137              	X IS \$23
+  138              	Y IS \$12
+  139              	Z IS \$67
+  140              	Z0 IS 176
+ GAS for MMIX .*/regt-op\.s 			page 4
+
+
+ DEFINED SYMBOLS
+ .*/regt-op\.s:3      \.text:0000000000000000 Main
+                             \*REG\*:0000000000000017 X
+                             \*REG\*:000000000000000c Y
+                             \*REG\*:0000000000000043 Z
+                             \*ABS\*:00000000000000b0 Z0
+
+ NO UNDEFINED SYMBOLS
diff -cprN none/regt-op.s mmix/regt-op.s
*** none/regt-op.s	Thu Jan  1 01:00:00 1970
--- mmix/regt-op.s	Sat Jun  3 20:40:16 2000
***************
*** 0 ****
--- 1,140 ----
+ # All-registers, 'T'-type operands; optional third operand is
+ # register or constant.
+ Main	LDA X,Y,Z
+ 	LDT $32,Y,Z
+ 	LDBU Y,$32,Z
+ 	LDTU $232,$133,Z
+ 	LDO X,Y,$73
+ 	LDOU $31,Y,$233
+ 	LDW X,$38,$212
+ 	LDWU $4,$175,$181
+
+ 	LDB X,Y,Z0
+ 	LDSF $32,Y,Z0
+ 	LDVTS Y,$32,Z0
+ 	LDUNC $232,$133,Z0
+ 	STHT X,Y,203
+ 	LDHT $31,Y,213
+ 	CSWAP X,$38,211
+ 	GO $4,$175,161
+
+ 	LDA X,Y
+ 	LDB X,Y
+ 	LDT X,Y
+ 	LDBU X,Y
+ 	LDTU X,Y
+ 	LDO X,Y
+ 	LDOU X,Y
+ 	LDW X,Y
+ 	LDWU X,Y
+ 	LDSF X,Y
+ 	LDHT X,Y
+ 	CSWAP X,Y
+ 	LDUNC X,Y
+ 	LDVTS X,Y
+ 	GO X,Y
+ 	STB X,Y
+ 	STT X,Y
+ 	STBU X,Y
+ 	STTU X,Y
+ 	STO X,Y
+ 	STOU X,Y
+ 	STW X,Y
+ 	STWU X,Y
+ 	STSF X,Y
+ 	STHT X,Y
+ 	STUNC X,Y
+
+ 	LDA $41,Y
+ 	LDB $121,Y
+ 	LDT $78,Y
+ 	LDBU $127,Y
+ 	LDTU $49,Y
+ 	LDO $52,Y
+ 	LDOU $42,Y
+ 	LDW $123,Y
+ 	LDWU $234,Y
+ 	LDSF $41,Y
+ 	LDHT $89,Y
+ 	CSWAP $93,Y
+ 	LDUNC $42,Y
+ 	LDVTS $33,Y
+ 	GO $59,Y
+ 	STB $59,Y
+ 	STT $59,Y
+ 	STBU $59,Y
+ 	STTU $59,Y
+ 	STO $59,Y
+ 	STOU $59,Y
+ 	STW $59,Y
+ 	STWU $59,Y
+ 	STSF $59,Y
+ 	STHT $59,Y
+ 	STUNC $59,Y
+
+ 	LDA X,$27
+ 	LDB X,$48
+ 	LDT X,$168
+ 	LDBU X,$234
+ 	LDTU X,$176
+ 	LDO X,$29
+ 	LDOU X,$222
+ 	LDW X,$222
+ 	LDWU X,$222
+ 	LDSF X,$222
+ 	LDHT X,$222
+ 	CSWAP X,$222
+ 	LDUNC X,$222
+ 	LDVTS X,$222
+ 	GO X,$222
+ 	STB X,$222
+ 	STT X,$222
+ 	STBU X,$222
+ 	STTU X,$222
+ 	STO X,$222
+ 	STOU X,$222
+ 	STW X,$222
+ 	STWU X,$222
+ 	STSF X,$222
+ 	STHT X,$222
+ 	STUNC X,$222
+
+ 	LDA $223,$219
+ 	LDB $223,$239
+ 	LDT $223,$239
+ 	LDBU $223,$29
+ 	LDTU $223,$239
+ 	LDO $23,$239
+ 	LDOU $223,$239
+ 	LDW $223,$209
+ 	LDWU $123,$239
+ 	LDSF $223,$239
+ 	LDHT $223,$29
+ 	CSWAP $223,$239
+ 	LDUNC $123,$239
+ 	LDVTS $223,$239
+ 	GO $223,$239
+ 	STB $223,$239
+ 	STT $223,$249
+ 	STBU $203,$239
+ 	STTU $73,$239
+ 	STO $223,$239
+ 	STOU $223,$39
+ 	STW $223,$239
+ 	STWU $233,$239
+ 	STSF $223,$239
+ 	STHT $223,$23
+ 	STUNC $223,$239
+
+ 	GO X,Y,0
+ 	LDVTS $32,Y,0
+ 	STB Y,$32,0
+ 	STUNC $232,$133,0
+ 	STWU X,Y,0
+ 	STO $31,Y,0
+ 	GO X,$38,0
+ 	CSWAP $4,$175,0
+ X IS $23
+ Y IS $12
+ Z IS $67
+ Z0 IS 176
diff -cprN none/regx-op-r.d mmix/regx-op-r.d
*** none/regx-op-r.d	Thu Jan  1 01:00:00 1970
--- mmix/regx-op-r.d	Mon Jun 12 19:05:30 2000
***************
*** 0 ****
--- 1,36 ----
+ # objdump: -dr
+ # as: -linkrelax
+ # source: regx-op.s
+ .*:     file format elf64-mmix
+
+ Disassembly of section \.text:
+
+ 0000000000000000 <Main>:
+    0:	9a7b0c43 	preld 123,\$12,\$67
+    4:	9c200c43 	prego 32,\$12,\$67
+    8:	b87b2043 	syncd 123,\$32,\$67
+    c:	ba008543 	prest 0,\$133,\$67
+   10:	b47b0c49 	stco 123,\$12,\$73
+   14:	bc820ce9 	syncid 130,\$12,\$233
+   18:	9a7b26d4 	preld 123,\$38,\$212
+   1c:	9c01afb5 	prego 1,\$175,\$181
+   20:	b97b0cb0 	syncd 123,\$12,176
+   24:	bb200cb0 	prest 32,\$12,176
+   28:	b57b84b0 	stco 123,\$132,176
+   2c:	bde885b0 	syncid 232,\$133,176
+   30:	9b7b0ccb 	preld 123,\$12,203
+   34:	9de70cd5 	prego 231,\$12,213
+   38:	b97b26d3 	syncd 123,\$38,211
+   3c:	bb04afa1 	prest 4,\$175,161
+   40:	b57b0c00 	stco 123,\$12,0
+   44:	bd170c00 	syncid 23,\$12,0
+   48:	9b020c00 	preld 2,\$12,0
+   4c:	9de88500 	prego 232,\$133,0
+   50:	b97b0c00 	syncd 123,\$12,0
+   54:	bb0d0c00 	prest 13,\$12,0
+   58:	b57b2600 	stco 123,\$38,0
+   5c:	bd04af00 	syncid 4,\$175,0
+   60:	9b7b0c00 	preld 123,\$12,0
+   64:	9d200c00 	prego 32,\$12,0
+   68:	b97b2000 	syncd 123,\$32,0
+   6c:	bbe88500 	prest 232,\$133,0
diff -cprN none/regx-op.d mmix/regx-op.d
*** none/regx-op.d	Thu Jan  1 01:00:00 1970
--- mmix/regx-op.d	Sun Jun  4 23:48:21 2000
***************
*** 0 ****
--- 1,34 ----
+ # objdump: -dr
+ .*:     file format elf64-mmix
+
+ Disassembly of section \.text:
+
+ 0000000000000000 <Main>:
+    0:	9a7b0c43 	preld 123,\$12,\$67
+    4:	9c200c43 	prego 32,\$12,\$67
+    8:	b87b2043 	syncd 123,\$32,\$67
+    c:	ba008543 	prest 0,\$133,\$67
+   10:	b47b0c49 	stco 123,\$12,\$73
+   14:	bc820ce9 	syncid 130,\$12,\$233
+   18:	9a7b26d4 	preld 123,\$38,\$212
+   1c:	9c01afb5 	prego 1,\$175,\$181
+   20:	b97b0cb0 	syncd 123,\$12,176
+   24:	bb200cb0 	prest 32,\$12,176
+   28:	b57b84b0 	stco 123,\$132,176
+   2c:	bde885b0 	syncid 232,\$133,176
+   30:	9b7b0ccb 	preld 123,\$12,203
+   34:	9de70cd5 	prego 231,\$12,213
+   38:	b97b26d3 	syncd 123,\$38,211
+   3c:	bb04afa1 	prest 4,\$175,161
+   40:	b57b0c00 	stco 123,\$12,0
+   44:	bd170c00 	syncid 23,\$12,0
+   48:	9b020c00 	preld 2,\$12,0
+   4c:	9de88500 	prego 232,\$133,0
+   50:	b97b0c00 	syncd 123,\$12,0
+   54:	bb0d0c00 	prest 13,\$12,0
+   58:	b57b2600 	stco 123,\$38,0
+   5c:	bd04af00 	syncid 4,\$175,0
+   60:	9b7b0c00 	preld 123,\$12,0
+   64:	9d200c00 	prego 32,\$12,0
+   68:	b97b2000 	syncd 123,\$32,0
+   6c:	bbe88500 	prest 232,\$133,0
diff -cprN none/regx-op.l mmix/regx-op.l
*** none/regx-op.l	Thu Jan  1 01:00:00 1970
--- mmix/regx-op.l	Mon Jul  2 00:50:38 2001
***************
*** 0 ****
--- 1,51 ----
+ GAS for MMIX .*/regx-op\.s 			page 1
+
+
+    1              	#.*
+    2              	#.*
+    3 0000 9A7B0C43 	Main	PRELD X,Y,Z
+    4 0004 9C200C43 		PREGO 32,Y,Z
+    5 0008 B87B2043 		SYNCD X,\$32,Z
+    6 000c BA008543 		PREST 0,\$133,Z
+    7 0010 B47B0C49 		STCO X,Y,\$73
+    8 0014 BC820CE9 		SYNCID 130,Y,\$233
+    9 0018 9A7B26D4 		PRELD X,\$38,\$212
+   10 001c 9C01AFB5 		PREGO 1,\$175,\$181
+   11
+   12 0020 B97B0CB0 		SYNCD X,Y,Z0
+   13 0024 BB200CB0 		PREST 32,Y,Z0
+   14 0028 B57B84B0 		STCO X,\$132,Z0
+   15 002c BDE885B0 		SYNCID 232,\$133,Z0
+   16 0030 9B7B0CCB 		PRELD X,Y,203
+   17 0034 9DE70CD5 		PREGO 231,Y,213
+   18 0038 B97B26D3 		SYNCD X,\$38,211
+   19 003c BB04AFA1 		PREST 4,\$175,161
+   20
+   21 0040 B57B0C00 		STCO X,Y,0
+   22 0044 BD170C00 		SYNCID 23,Y,0
+   23 0048 9B020C00 		PRELD 2,Y,0
+   24 004c 9DE88500 		PREGO 232,\$133,0
+   25 0050 B97B0C00 		SYNCD X,Y,0
+   26 0054 BB0D0C00 		PREST 13,Y,0
+   27 0058 B57B2600 		STCO X,\$38,0
+   28 005c BD04AF00 		SYNCID 4,\$175,0
+   29
+   30 0060 9B7B0C00 		PRELD X,Y
+   31 0064 9D200C00 		PREGO 32,Y
+   32 0068 B97B2000 		SYNCD X,\$32
+   33 006c BBE88500 		PREST 232,\$133
+   34              	X IS 123
+   35              	Y IS \$12
+   36              	Z IS \$67
+   37              	Z0 IS 176
+ GAS for MMIX .*/regx-op\.s 			page 2
+
+
+ DEFINED SYMBOLS
+ .*/regx-op\.s:3      \.text:0000000000000000 Main
+                             \*ABS\*:000000000000007b X
+                             \*REG\*:000000000000000c Y
+                             \*REG\*:0000000000000043 Z
+                             \*ABS\*:00000000000000b0 Z0
+
+ NO UNDEFINED SYMBOLS
diff -cprN none/regx-op.s mmix/regx-op.s
*** none/regx-op.s	Thu Jan  1 01:00:00 1970
--- mmix/regx-op.s	Sat Jun  3 21:34:35 2000
***************
*** 0 ****
--- 1,37 ----
+ # For insns where X is a constant: 'X'-type operands.
+ #
+ Main	PRELD X,Y,Z
+ 	PREGO 32,Y,Z
+ 	SYNCD X,$32,Z
+ 	PREST 0,$133,Z
+ 	STCO X,Y,$73
+ 	SYNCID 130,Y,$233
+ 	PRELD X,$38,$212
+ 	PREGO 1,$175,$181
+
+ 	SYNCD X,Y,Z0
+ 	PREST 32,Y,Z0
+ 	STCO X,$132,Z0
+ 	SYNCID 232,$133,Z0
+ 	PRELD X,Y,203
+ 	PREGO 231,Y,213
+ 	SYNCD X,$38,211
+ 	PREST 4,$175,161
+
+ 	STCO X,Y,0
+ 	SYNCID 23,Y,0
+ 	PRELD 2,Y,0
+ 	PREGO 232,$133,0
+ 	SYNCD X,Y,0
+ 	PREST 13,Y,0
+ 	STCO X,$38,0
+ 	SYNCID 4,$175,0
+
+ 	PRELD X,Y
+ 	PREGO 32,Y
+ 	SYNCD X,$32
+ 	PREST 232,$133
+ X IS 123
+ Y IS $12
+ Z IS $67
+ Z0 IS 176
diff -cprN none/regy-op-r.d mmix/regy-op-r.d
*** none/regy-op-r.d	Thu Jan  1 01:00:00 1970
--- mmix/regy-op-r.d	Mon Jun 12 19:06:58 2000
***************
*** 0 ****
--- 1,36 ----
+ # objdump: -dr
+ # as: -linkrelax
+ # source: regy-op.s
+ .*:     file format elf64-mmix
+
+ Disassembly of section \.text:
+
+ 0000000000000000 <Main>:
+    0:	347b0c43 	neg \$123,12,\$67
+    4:	36200c43 	negu \$32,12,\$67
+    8:	347b2043 	neg \$123,32,\$67
+    c:	36008543 	negu \$0,133,\$67
+   10:	347b0c49 	neg \$123,12,\$73
+   14:	36820ce9 	negu \$130,12,\$233
+   18:	347b26d4 	neg \$123,38,\$212
+   1c:	3601afb5 	negu \$1,175,\$181
+   20:	357b0cb0 	neg \$123,12,176
+   24:	37200cb0 	negu \$32,12,176
+   28:	357b84b0 	neg \$123,132,176
+   2c:	37e885b0 	negu \$232,133,176
+   30:	357b0ccb 	neg \$123,12,203
+   34:	37e70cd5 	negu \$231,12,213
+   38:	357b26d3 	neg \$123,38,211
+   3c:	3704afa1 	negu \$4,175,161
+   40:	357b0c00 	neg \$123,12,0
+   44:	37170c00 	negu \$23,12,0
+   48:	35020c00 	neg \$2,12,0
+   4c:	37e88500 	negu \$232,133,0
+   50:	347b0043 	neg \$123,0,\$67
+   54:	36200043 	negu \$32,0,\$67
+   58:	357b0020 	neg \$123,0,32
+   5c:	37e80085 	negu \$232,0,133
+   60:	357b00b0 	neg \$123,0,176
+   64:	372000b0 	negu \$32,0,176
+   68:	347b0020 	neg \$123,0,\$32
+   6c:	36e80085 	negu \$232,0,\$133
diff -cprN none/regy-op.d mmix/regy-op.d
*** none/regy-op.d	Thu Jan  1 01:00:00 1970
--- mmix/regy-op.d	Sun Jun  4 23:51:15 2000
***************
*** 0 ****
--- 1,34 ----
+ # objdump: -dr
+ .*:     file format elf64-mmix
+
+ Disassembly of section \.text:
+
+ 0000000000000000 <Main>:
+    0:	347b0c43 	neg \$123,12,\$67
+    4:	36200c43 	negu \$32,12,\$67
+    8:	347b2043 	neg \$123,32,\$67
+    c:	36008543 	negu \$0,133,\$67
+   10:	347b0c49 	neg \$123,12,\$73
+   14:	36820ce9 	negu \$130,12,\$233
+   18:	347b26d4 	neg \$123,38,\$212
+   1c:	3601afb5 	negu \$1,175,\$181
+   20:	357b0cb0 	neg \$123,12,176
+   24:	37200cb0 	negu \$32,12,176
+   28:	357b84b0 	neg \$123,132,176
+   2c:	37e885b0 	negu \$232,133,176
+   30:	357b0ccb 	neg \$123,12,203
+   34:	37e70cd5 	negu \$231,12,213
+   38:	357b26d3 	neg \$123,38,211
+   3c:	3704afa1 	negu \$4,175,161
+   40:	357b0c00 	neg \$123,12,0
+   44:	37170c00 	negu \$23,12,0
+   48:	35020c00 	neg \$2,12,0
+   4c:	37e88500 	negu \$232,133,0
+   50:	347b0043 	neg \$123,0,\$67
+   54:	36200043 	negu \$32,0,\$67
+   58:	357b0020 	neg \$123,0,32
+   5c:	37e80085 	negu \$232,0,133
+   60:	357b00b0 	neg \$123,0,176
+   64:	372000b0 	negu \$32,0,176
+   68:	347b0020 	neg \$123,0,\$32
+   6c:	36e80085 	negu \$232,0,\$133
diff -cprN none/regy-op.l mmix/regy-op.l
*** none/regy-op.l	Thu Jan  1 01:00:00 1970
--- mmix/regy-op.l	Mon Jul  2 00:52:16 2001
***************
*** 0 ****
--- 1,51 ----
+ GAS for MMIX .*/regy-op\.s 			page 1
+
+
+    1              	#.*
+    2              	#.*
+    3 0000 347B0C43 	Main	NEG X,Y,Z
+    4 0004 36200C43 		NEGU \$32,Y,Z
+    5 0008 347B2043 		NEG X,32,Z
+    6 000c 36008543 		NEGU \$0,133,Z
+    7 0010 347B0C49 		NEG X,Y,\$73
+    8 0014 36820CE9 		NEGU \$130,Y,\$233
+    9 0018 347B26D4 		NEG X,38,\$212
+   10 001c 3601AFB5 		NEGU \$1,175,\$181
+   11
+   12 0020 357B0CB0 		NEG X,Y,Z0
+   13 0024 37200CB0 		NEGU \$32,Y,Z0
+   14 0028 357B84B0 		NEG X,132,Z0
+   15 002c 37E885B0 		NEGU \$232,133,Z0
+   16 0030 357B0CCB 		NEG X,Y,203
+   17 0034 37E70CD5 		NEGU \$231,Y,213
+   18 0038 357B26D3 		NEG X,38,211
+   19 003c 3704AFA1 		NEGU \$4,175,161
+   20
+   21 0040 357B0C00 		NEG X,Y,0
+   22 0044 37170C00 		NEGU \$23,Y,0
+   23 0048 35020C00 		NEG \$2,Y,0
+   24 004c 37E88500 		NEGU \$232,133,0
+   25
+   26 0050 347B0043 		NEG X,Z
+   27 0054 36200043 		NEGU \$32,Z
+   28 0058 357B0020 		NEG X,32
+   29 005c 37E80085 		NEGU \$232,133
+   30 0060 357B00B0 		NEG X,Z0
+   31 0064 372000B0 		NEGU \$32,Z0
+   32 0068 347B0020 		NEG X,\$32
+   33 006c 36E80085 		NEGU \$232,\$133
+   34              	X IS \$123
+   35              	Y IS 12
+   36              	Z IS \$67
+   37              	Z0 IS 176
+ GAS for MMIX .*/regy-op\.s 			page 2
+
+
+ DEFINED SYMBOLS
+ .*/regy-op\.s:3      \.text:0000000000000000 Main
+                             \*REG\*:000000000000007b X
+                             \*ABS\*:000000000000000c Y
+                             \*REG\*:0000000000000043 Z
+                             \*ABS\*:00000000000000b0 Z0
+
+ NO UNDEFINED SYMBOLS
diff -cprN none/regy-op.s mmix/regy-op.s
*** none/regy-op.s	Thu Jan  1 01:00:00 1970
--- mmix/regy-op.s	Sat Jun  3 22:14:36 2000
***************
*** 0 ****
--- 1,37 ----
+ # For insns where Y is a constant: 'Y'-type operands.
+ # Only NEG and NEGU, actually.
+ Main	NEG X,Y,Z
+ 	NEGU $32,Y,Z
+ 	NEG X,32,Z
+ 	NEGU $0,133,Z
+ 	NEG X,Y,$73
+ 	NEGU $130,Y,$233
+ 	NEG X,38,$212
+ 	NEGU $1,175,$181
+
+ 	NEG X,Y,Z0
+ 	NEGU $32,Y,Z0
+ 	NEG X,132,Z0
+ 	NEGU $232,133,Z0
+ 	NEG X,Y,203
+ 	NEGU $231,Y,213
+ 	NEG X,38,211
+ 	NEGU $4,175,161
+
+ 	NEG X,Y,0
+ 	NEGU $23,Y,0
+ 	NEG $2,Y,0
+ 	NEGU $232,133,0
+
+ 	NEG X,Z
+ 	NEGU $32,Z
+ 	NEG X,32
+ 	NEGU $232,133
+ 	NEG X,Z0
+ 	NEGU $32,Z0
+ 	NEG X,$32
+ 	NEGU $232,$133
+ X IS $123
+ Y IS 12
+ Z IS $67
+ Z0 IS 176
diff -cprN none/relax1-n.d mmix/relax1-n.d
*** none/relax1-n.d	Thu Jan  1 01:00:00 1970
--- mmix/relax1-n.d	Sun Aug 12 22:14:04 2001
***************
*** 0 ****
--- 1,90 ----
+ #objdump: -dr
+ #as: -no-expand -x
+ #source: relax1.s
+ #
+ # FIXME: This test-case assumes that out-of-range errors cause relocs to
+ # be emitted, rather than errors emitted.
+
+ .*:     file format elf64-mmix
+
+ Disassembly of section \.text:
+
+ 0000000000000000 <Main>:
+        0:	f0020009 	jmp 80024 <l6>
+
+ 0000000000000004 <l0>:
+        4:	f0020008 	jmp 80024 <l6>
+
+ 0000000000000008 <l1>:
+        8:	f0020007 	jmp 80024 <l6>
+
+ 000000000000000c <l01>:
+        c:	f0020006 	jmp 80024 <l6>
+       10:	f407ffff 	geta \$7,4000c <nearfar1>
+       14:	f2bfffff 	pushj \$191,40010 <nearfar2>
+
+ 0000000000000018 <l2>:
+       18:	f000fffe 	jmp 40010 <nearfar2>
+ 	\.\.\.
+    40004:	4d480000 	bnp \$72,4 <l0>
+    40008:	f5040000 	geta \$4,8 <l1>
+
+ 000000000004000c <nearfar1>:
+    4000c:	f3050000 	pushj \$5,c <l01>
+
+ 0000000000040010 <nearfar2>:
+    40010:	f4090000 	geta \$9,40010 <nearfar2>
+ 			40010: R_MMIX_ADDR19	\.text\+0x8
+    40014:	f20b0000 	pushj \$11,40014 <nearfar2\+0x4>
+ 			40014: R_MMIX_ADDR19	\.text\+0x80014
+
+ 0000000000040018 <l4>:
+    40018:	4437ffff 	bp \$55,80014 <l3>
+ 	...
+    80010:	f1fdfffe 	jmp 8 <l1>
+
+ 0000000000080014 <l3>:
+    80014:	f1fdfffc 	jmp 4 <l0>
+    80018:	47580000 	bod \$88,40018 <l4>
+    8001c:	46580000 	bod \$88,8001c <l3\+0x8>
+ 			8001c: R_MMIX_ADDR19	\.text\+0x40018
+    80020:	f0000000 	jmp 80020 <l3\+0xc>
+ 			80020: R_MMIX_ADDR27	\.text\+0x4080020
+
+ 0000000000080024 <l6>:
+    80024:	f0ffffff 	jmp 4080020 <l5>
+    80028:	436ffffb 	bz \$111,80014 <l3>
+ 	\.\.\.
+
+ 0000000004080020 <l5>:
+  4080020:	f0000004 	jmp 4080030 <l8>
+  4080024:	f1000000 	jmp 80024 <l6>
+  4080028:	f0000000 	jmp 4080028 <l5\+0x8>
+ 			4080028: R_MMIX_ADDR27	\.text\+0x80024
+  408002c:	482c0000 	bnn \$44,408002c <l5\+0xc>
+ 			408002c: R_MMIX_ADDR19	\.text\+0x40c002c
+
+ 0000000004080030 <l8>:
+  4080030:	482cffff 	bnn \$44,40c002c <l9>
+  4080034:	f1fffffb 	jmp 4080020 <l5>
+  4080038:	f1fffffa 	jmp 4080020 <l5>
+ 	\.\.\.
+
+ 00000000040c0028 <l10>:
+  40c0028:	f1fefffe 	jmp 4080020 <l5>
+
+ 00000000040c002c <l9>:
+  40c002c:	f0000003 	jmp 40c0038 <l11>
+
+ 00000000040c0030 <l7>:
+  40c0030:	f3210000 	pushj \$33,4080030 <l8>
+  40c0034:	f2210000 	pushj \$33,40c0034 <l7\+0x4>
+ 			40c0034: R_MMIX_ADDR19	\.text\+0x4080030
+
+ 00000000040c0038 <l11>:
+  40c0038:	f1fefffa 	jmp 4080020 <l5>
+  40c003c:	f1fefffd 	jmp 4080030 <l8>
+ 	\.\.\.
+  4100038:	f53d0000 	geta \$61,40c0038 <l11>
+  410003c:	f4480000 	geta \$72,410003c <l11\+0x40004>
+ 			410003c: R_MMIX_ADDR19	\.text\+0x40c0038
diff -cprN none/relax1-r.d mmix/relax1-r.d
*** none/relax1-r.d	Thu Jan  1 01:00:00 1970
--- mmix/relax1-r.d	Sun Aug 12 22:14:22 2001
***************
*** 0 ****
--- 1,145 ----
+ #objdump: -dr
+ #as: -linkrelax -x
+ #source: relax1.s
+ .*:     file format elf64-mmix
+
+ Disassembly of section \.text:
+
+ 0000000000000000 <Main>:
+        0:	f0020019 	jmp 80064 <l6>
+ 			0: R_MMIX_ADDR27	\.text\+0x80064
+
+ 0000000000000004 <l0>:
+        4:	f0020018 	jmp 80064 <l6>
+ 			4: R_MMIX_ADDR27	\.text\+0x80064
+
+ 0000000000000008 <l1>:
+        8:	f0020017 	jmp 80064 <l6>
+ 			8: R_MMIX_ADDR27	\.text\+0x80064
+
+ 000000000000000c <l01>:
+        c:	f0020016 	jmp 80064 <l6>
+ 			c: R_MMIX_ADDR27	\.text\+0x80064
+       10:	f407ffff 	geta \$7,4000c <nearfar1>
+ 			10: R_MMIX_ADDR19	\.text\+0x4000c
+       14:	f2bfffff 	pushj \$191,40010 <nearfar2>
+ 			14: R_MMIX_ADDR19	\.text\+0x40010
+
+ 0000000000000018 <l2>:
+       18:	f000fffe 	jmp 40010 <nearfar2>
+ 			18: R_MMIX_ADDR27	\.text\+0x40010
+ 	\.\.\.
+    40004:	4d480000 	bnp \$72,4 <l0>
+ 			40004: R_MMIX_ADDR19	\.text\+0x4
+    40008:	f5040000 	geta \$4,8 <l1>
+ 			40008: R_MMIX_ADDR19	\.text\+0x8
+
+ 000000000004000c <nearfar1>:
+    4000c:	f3050000 	pushj \$5,c <l01>
+ 			4000c: R_MMIX_ADDR19	\.text\+0xc
+
+ 0000000000040010 <nearfar2>:
+    40010:	f4090000 	geta \$9,40010 <nearfar2>
+ 			40010: R_MMIX_GETA	\.text\+0x8
+    40014:	fd000000 	swym 0,0,0
+    40018:	fd000000 	swym 0,0,0
+    4001c:	fd000000 	swym 0,0,0
+    40020:	f20b0000 	pushj \$11,40020 <nearfar2\+0x10>
+ 			40020: R_MMIX_PUSHJ	\.text\+0x80030
+    40024:	fd000000 	swym 0,0,0
+    40028:	fd000000 	swym 0,0,0
+    4002c:	fd000000 	swym 0,0,0
+    40030:	fd000000 	swym 0,0,0
+
+ 0000000000040034 <l4>:
+    40034:	4437ffff 	bp \$55,80030 <l3>
+ 			40034: R_MMIX_ADDR19	\.text\+0x80030
+ 	\.\.\.
+    8002c:	f1fdfff7 	jmp 8 <l1>
+ 			8002c: R_MMIX_ADDR27	\.text\+0x8
+
+ 0000000000080030 <l3>:
+    80030:	f1fdfff5 	jmp 4 <l0>
+ 			80030: R_MMIX_ADDR27	\.text\+0x4
+    80034:	47580000 	bod \$88,40034 <l4>
+ 			80034: R_MMIX_ADDR19	\.text\+0x40034
+    80038:	46580000 	bod \$88,80038 <l3\+0x8>
+ 			80038: R_MMIX_CBRANCH	\.text\+0x40034
+    8003c:	fd000000 	swym 0,0,0
+    80040:	fd000000 	swym 0,0,0
+    80044:	fd000000 	swym 0,0,0
+    80048:	fd000000 	swym 0,0,0
+    8004c:	fd000000 	swym 0,0,0
+    80050:	f0000000 	jmp 80050 <l3\+0x20>
+ 			80050: R_MMIX_JMP	\.text\+0x4080060
+    80054:	fd000000 	swym 0,0,0
+    80058:	fd000000 	swym 0,0,0
+    8005c:	fd000000 	swym 0,0,0
+    80060:	fd000000 	swym 0,0,0
+
+ 0000000000080064 <l6>:
+    80064:	f0ffffff 	jmp 4080060 <l5>
+ 			80064: R_MMIX_ADDR27	\.text\+0x4080060
+    80068:	436ffff2 	bz \$111,80030 <l3>
+ 			80068: R_MMIX_ADDR19	\.text\+0x80030
+ 	\.\.\.
+
+ 0000000004080060 <l5>:
+  4080060:	f000000d 	jmp 4080094 <l8>
+ 			4080060: R_MMIX_ADDR27	\.text\+0x4080094
+  4080064:	f1000000 	jmp 80064 <l6>
+ 			4080064: R_MMIX_ADDR27	\.text\+0x80064
+  4080068:	f0000000 	jmp 4080068 <l5\+0x8>
+ 			4080068: R_MMIX_JMP	\.text\+0x80064
+  408006c:	fd000000 	swym 0,0,0
+  4080070:	fd000000 	swym 0,0,0
+  4080074:	fd000000 	swym 0,0,0
+  4080078:	fd000000 	swym 0,0,0
+  408007c:	482c0000 	bnn \$44,408007c <l5\+0x1c>
+ 			408007c: R_MMIX_CBRANCH	\.text\+0x40c0090
+  4080080:	fd000000 	swym 0,0,0
+  4080084:	fd000000 	swym 0,0,0
+  4080088:	fd000000 	swym 0,0,0
+  408008c:	fd000000 	swym 0,0,0
+  4080090:	fd000000 	swym 0,0,0
+
+ 0000000004080094 <l8>:
+  4080094:	482cffff 	bnn \$44,40c0090 <l9>
+ 			4080094: R_MMIX_ADDR19	\.text\+0x40c0090
+  4080098:	f1fffff2 	jmp 4080060 <l5>
+ 			4080098: R_MMIX_ADDR27	\.text\+0x4080060
+  408009c:	f1fffff1 	jmp 4080060 <l5>
+ 			408009c: R_MMIX_ADDR27	\.text\+0x4080060
+ 	\.\.\.
+
+ 00000000040c008c <l10>:
+  40c008c:	f1fefff5 	jmp 4080060 <l5>
+ 			40c008c: R_MMIX_ADDR27	\.text\+0x4080060
+
+ 00000000040c0090 <l9>:
+  40c0090:	f0000007 	jmp 40c00ac <l11>
+ 			40c0090: R_MMIX_ADDR27	\.text\+0x40c00ac
+
+ 00000000040c0094 <l7>:
+  40c0094:	f3210000 	pushj \$33,4080094 <l8>
+ 			40c0094: R_MMIX_ADDR19	\.text\+0x4080094
+  40c0098:	f2210000 	pushj \$33,40c0098 <l7\+0x4>
+ 			40c0098: R_MMIX_PUSHJ	\.text\+0x4080094
+  40c009c:	fd000000 	swym 0,0,0
+  40c00a0:	fd000000 	swym 0,0,0
+  40c00a4:	fd000000 	swym 0,0,0
+  40c00a8:	fd000000 	swym 0,0,0
+
+ 00000000040c00ac <l11>:
+  40c00ac:	f1feffed 	jmp 4080060 <l5>
+ 			40c00ac: R_MMIX_ADDR27	\.text\+0x4080060
+  40c00b0:	f1fefff9 	jmp 4080094 <l8>
+ 			40c00b0: R_MMIX_ADDR27	\.text\+0x4080094
+ 	\.\.\.
+  41000ac:	f53d0000 	geta \$61,40c00ac <l11>
+ 			41000ac: R_MMIX_ADDR19	\.text\+0x40c00ac
+  41000b0:	f4480000 	geta \$72,41000b0 <l11\+0x40004>
+ 			41000b0: R_MMIX_GETA	\.text\+0x40c00ac
+  41000b4:	fd000000 	swym 0,0,0
+  41000b8:	fd000000 	swym 0,0,0
+  41000bc:	fd000000 	swym 0,0,0
diff -cprN none/relax1-rn.d mmix/relax1-rn.d
*** none/relax1-rn.d	Thu Jan  1 01:00:00 1970
--- mmix/relax1-rn.d	Sun Aug 12 22:14:49 2001
***************
*** 0 ****
--- 1,117 ----
+ #objdump: -dr
+ #as: -linkrelax -no-expand -x
+ #source: relax1.s
+ #
+ # FIXME: This test-case assumes that out-of-range errors (still) cause
+ # relocs to be emitted, rather than errors emitted.
+
+ .*:     file format elf64-mmix
+
+ Disassembly of section \.text:
+
+ 0000000000000000 <Main>:
+        0:	f0000000 	jmp 0 <Main>
+ 			0: R_MMIX_ADDR27	\.text\+0x80024
+
+ 0000000000000004 <l0>:
+        4:	f0000000 	jmp 4 <l0>
+ 			4: R_MMIX_ADDR27	\.text\+0x80024
+
+ 0000000000000008 <l1>:
+        8:	f0000000 	jmp 8 <l1>
+ 			8: R_MMIX_ADDR27	\.text\+0x80024
+
+ 000000000000000c <l01>:
+        c:	f0000000 	jmp c <l01>
+ 			c: R_MMIX_ADDR27	\.text\+0x80024
+       10:	f4070000 	geta \$7,10 <l01\+0x4>
+ 			10: R_MMIX_ADDR19	\.text\+0x4000c
+       14:	f2bf0000 	pushj \$191,14 <l01\+0x8>
+ 			14: R_MMIX_ADDR19	\.text\+0x40010
+
+ 0000000000000018 <l2>:
+       18:	f0000000 	jmp 18 <l2>
+ 			18: R_MMIX_ADDR27	\.text\+0x40010
+ 	\.\.\.
+    40004:	4c480000 	bnp \$72,40004 <l2\+0x3ffec>
+ 			40004: R_MMIX_ADDR19	\.text\+0x4
+    40008:	f4040000 	geta \$4,40008 <l2\+0x3fff0>
+ 			40008: R_MMIX_ADDR19	\.text\+0x8
+
+ 000000000004000c <nearfar1>:
+    4000c:	f2050000 	pushj \$5,4000c <nearfar1>
+ 			4000c: R_MMIX_ADDR19	\.text\+0xc
+
+ 0000000000040010 <nearfar2>:
+    40010:	f4090000 	geta \$9,40010 <nearfar2>
+ 			40010: R_MMIX_ADDR19	\.text\+0x8
+    40014:	f20b0000 	pushj \$11,40014 <nearfar2\+0x4>
+ 			40014: R_MMIX_ADDR19	\.text\+0x80014
+
+ 0000000000040018 <l4>:
+    40018:	44370000 	bp \$55,40018 <l4>
+ 			40018: R_MMIX_ADDR19	\.text\+0x80014
+ 	\.\.\.
+    80010:	f0000000 	jmp 80010 <l4\+0x3fff8>
+ 			80010: R_MMIX_ADDR27	\.text\+0x8
+
+ 0000000000080014 <l3>:
+    80014:	f0000000 	jmp 80014 <l3>
+ 			80014: R_MMIX_ADDR27	\.text\+0x4
+    80018:	46580000 	bod \$88,80018 <l3\+0x4>
+ 			80018: R_MMIX_ADDR19	\.text\+0x40018
+    8001c:	46580000 	bod \$88,8001c <l3\+0x8>
+ 			8001c: R_MMIX_ADDR19	\.text\+0x40018
+    80020:	f0000000 	jmp 80020 <l3\+0xc>
+ 			80020: R_MMIX_ADDR27	\.text\+0x4080020
+
+ 0000000000080024 <l6>:
+    80024:	f0000000 	jmp 80024 <l6>
+ 			80024: R_MMIX_ADDR27	\.text\+0x4080020
+    80028:	426f0000 	bz \$111,80028 <l6\+0x4>
+ 			80028: R_MMIX_ADDR19	\.text\+0x80014
+ 	\.\.\.
+
+ 0000000004080020 <l5>:
+  4080020:	f0000000 	jmp 4080020 <l5>
+ 			4080020: R_MMIX_ADDR27	\.text\+0x4080030
+  4080024:	f0000000 	jmp 4080024 <l5\+0x4>
+ 			4080024: R_MMIX_ADDR27	\.text\+0x80024
+  4080028:	f0000000 	jmp 4080028 <l5\+0x8>
+ 			4080028: R_MMIX_ADDR27	\.text\+0x80024
+  408002c:	482c0000 	bnn \$44,408002c <l5\+0xc>
+ 			408002c: R_MMIX_ADDR19	\.text\+0x40c002c
+
+ 0000000004080030 <l8>:
+  4080030:	482c0000 	bnn \$44,4080030 <l8>
+ 			4080030: R_MMIX_ADDR19	\.text\+0x40c002c
+  4080034:	f0000000 	jmp 4080034 <l8\+0x4>
+ 			4080034: R_MMIX_ADDR27	\.text\+0x4080020
+  4080038:	f0000000 	jmp 4080038 <l8\+0x8>
+ 			4080038: R_MMIX_ADDR27	\.text\+0x4080020
+ 	\.\.\.
+
+ 00000000040c0028 <l10>:
+  40c0028:	f0000000 	jmp 40c0028 <l10>
+ 			40c0028: R_MMIX_ADDR27	\.text\+0x4080020
+
+ 00000000040c002c <l9>:
+  40c002c:	f0000000 	jmp 40c002c <l9>
+ 			40c002c: R_MMIX_ADDR27	\.text\+0x40c0038
+
+ 00000000040c0030 <l7>:
+  40c0030:	f2210000 	pushj \$33,40c0030 <l7>
+ 			40c0030: R_MMIX_ADDR19	\.text\+0x4080030
+  40c0034:	f2210000 	pushj \$33,40c0034 <l7\+0x4>
+ 			40c0034: R_MMIX_ADDR19	\.text\+0x4080030
+
+ 00000000040c0038 <l11>:
+  40c0038:	f0000000 	jmp 40c0038 <l11>
+ 			40c0038: R_MMIX_ADDR27	\.text\+0x4080020
+  40c003c:	f0000000 	jmp 40c003c <l11\+0x4>
+ 			40c003c: R_MMIX_ADDR27	\.text\+0x4080030
+ 	\.\.\.
+  4100038:	f43d0000 	geta \$61,4100038 <l11\+0x40000>
+ 			4100038: R_MMIX_ADDR19	\.text\+0x40c0038
+  410003c:	f4480000 	geta \$72,410003c <l11\+0x40004>
+ 			410003c: R_MMIX_ADDR19	\.text\+0x40c0038
diff -cprN none/relax1.d mmix/relax1.d
*** none/relax1.d	Thu Jan  1 01:00:00 1970
--- mmix/relax1.d	Sun Aug 12 22:25:10 2001
***************
*** 0 ****
--- 1,118 ----
+ #objdump: -dr
+ #as: -x
+
+ .*:     file format elf64-mmix
+
+ Disassembly of section \.text:
+
+ 0000000000000000 <Main>:
+        0:	f0020019 	jmp 80064 <l6>
+
+ 0000000000000004 <l0>:
+        4:	f0020018 	jmp 80064 <l6>
+
+ 0000000000000008 <l1>:
+        8:	f0020017 	jmp 80064 <l6>
+
+ 000000000000000c <l01>:
+        c:	f0020016 	jmp 80064 <l6>
+       10:	f407ffff 	geta \$7,4000c <nearfar1>
+       14:	f2bfffff 	pushj \$191,40010 <nearfar2>
+
+ 0000000000000018 <l2>:
+       18:	f000fffe 	jmp 40010 <nearfar2>
+ 	\.\.\.
+    40004:	4d480000 	bnp \$72,4 <l0>
+    40008:	f5040000 	geta \$4,8 <l1>
+
+ 000000000004000c <nearfar1>:
+    4000c:	f3050000 	pushj \$5,c <l01>
+
+ 0000000000040010 <nearfar2>:
+    40010:	f4090000 	geta \$9,40010 <nearfar2>
+ 			40010: R_MMIX_GETA	\.text\+0x8
+    40014:	fd000000 	swym 0,0,0
+    40018:	fd000000 	swym 0,0,0
+    4001c:	fd000000 	swym 0,0,0
+    40020:	f20b0000 	pushj \$11,40020 <nearfar2\+0x10>
+ 			40020: R_MMIX_PUSHJ	\.text\+0x80030
+    40024:	fd000000 	swym 0,0,0
+    40028:	fd000000 	swym 0,0,0
+    4002c:	fd000000 	swym 0,0,0
+    40030:	fd000000 	swym 0,0,0
+
+ 0000000000040034 <l4>:
+    40034:	4437ffff 	bp \$55,80030 <l3>
+ 	\.\.\.
+    8002c:	f1fdfff7 	jmp 8 <l1>
+
+ 0000000000080030 <l3>:
+    80030:	f1fdfff5 	jmp 4 <l0>
+    80034:	47580000 	bod \$88,40034 <l4>
+    80038:	46580000 	bod \$88,80038 <l3\+0x8>
+ 			80038: R_MMIX_CBRANCH	\.text\+0x40034
+    8003c:	fd000000 	swym 0,0,0
+    80040:	fd000000 	swym 0,0,0
+    80044:	fd000000 	swym 0,0,0
+    80048:	fd000000 	swym 0,0,0
+    8004c:	fd000000 	swym 0,0,0
+    80050:	f0000000 	jmp 80050 <l3\+0x20>
+ 			80050: R_MMIX_JMP	\.text\+0x4080060
+    80054:	fd000000 	swym 0,0,0
+    80058:	fd000000 	swym 0,0,0
+    8005c:	fd000000 	swym 0,0,0
+    80060:	fd000000 	swym 0,0,0
+
+ 0000000000080064 <l6>:
+    80064:	f0ffffff 	jmp 4080060 <l5>
+    80068:	436ffff2 	bz \$111,80030 <l3>
+ 	\.\.\.
+
+ 0000000004080060 <l5>:
+  4080060:	f000000d 	jmp 4080094 <l8>
+  4080064:	f1000000 	jmp 80064 <l6>
+  4080068:	f0000000 	jmp 4080068 <l5\+0x8>
+ 			4080068: R_MMIX_JMP	\.text\+0x80064
+  408006c:	fd000000 	swym 0,0,0
+  4080070:	fd000000 	swym 0,0,0
+  4080074:	fd000000 	swym 0,0,0
+  4080078:	fd000000 	swym 0,0,0
+  408007c:	482c0000 	bnn \$44,408007c <l5\+0x1c>
+ 			408007c: R_MMIX_CBRANCH	\.text\+0x40c0090
+  4080080:	fd000000 	swym 0,0,0
+  4080084:	fd000000 	swym 0,0,0
+  4080088:	fd000000 	swym 0,0,0
+  408008c:	fd000000 	swym 0,0,0
+  4080090:	fd000000 	swym 0,0,0
+
+ 0000000004080094 <l8>:
+  4080094:	482cffff 	bnn \$44,40c0090 <l9>
+  4080098:	f1fffff2 	jmp 4080060 <l5>
+  408009c:	f1fffff1 	jmp 4080060 <l5>
+ 	\.\.\.
+
+ 00000000040c008c <l10>:
+  40c008c:	f1fefff5 	jmp 4080060 <l5>
+
+ 00000000040c0090 <l9>:
+  40c0090:	f0000007 	jmp 40c00ac <l11>
+
+ 00000000040c0094 <l7>:
+  40c0094:	f3210000 	pushj \$33,4080094 <l8>
+  40c0098:	f2210000 	pushj \$33,40c0098 <l7\+0x4>
+ 			40c0098: R_MMIX_PUSHJ	\.text\+0x4080094
+  40c009c:	fd000000 	swym 0,0,0
+  40c00a0:	fd000000 	swym 0,0,0
+  40c00a4:	fd000000 	swym 0,0,0
+  40c00a8:	fd000000 	swym 0,0,0
+
+ 00000000040c00ac <l11>:
+  40c00ac:	f1feffed 	jmp 4080060 <l5>
+  40c00b0:	f1fefff9 	jmp 4080094 <l8>
+ 	\.\.\.
+  41000ac:	f53d0000 	geta \$61,40c00ac <l11>
+  41000b0:	f4480000 	geta \$72,41000b0 <l11\+0x40004>
+ 			41000b0: R_MMIX_GETA	\.text\+0x40c00ac
+  41000b4:	fd000000 	swym 0,0,0
+  41000b8:	fd000000 	swym 0,0,0
+  41000bc:	fd000000 	swym 0,0,0
diff -cprN none/relax1.l mmix/relax1.l
*** none/relax1.l	Thu Jan  1 01:00:00 1970
--- mmix/relax1.l	Sun Aug 12 22:32:50 2001
***************
*** 0 ****
--- 1,128 ----
+ GAS for MMIX .*/relax1\.s 			page 1
+
+
+    1              	#.*
+    2              	#.*
+    3              	#.*
+    4 0000 F0020019 	Main	JMP l6
+    5 0004 F0020018 	l0	JMP l6
+    6 0008 F0020017 	l1	JMP l6
+    7 000c F0020016 	l01	JMP l6
+    8 0010 F407FFFF 		GETA \$7,nearfar1	% Within reach\.
+    9 0014 F2BFFFFF 		PUSHJ \$191,nearfar2	% Within reach\.
+   10 0018 F000FFFE 	l2	JMP nearfar2		% Dummy\.
+   11 001c 00000000 		\.space 65530\*4,0
+   11      00000000
+   11      00000000
+   11      00000000
+   11      00000000
+   11      00000000
+   12 40004 4D480000 		BNP \$72,l0		% Within reach
+   13 40008 F5040000 		GETA \$4,l1		% Within reach\.
+   14 4000c F3050000 	nearfar1	PUSHJ 5,l01	% Within reach\.
+   15 40010 F4090000 	nearfar2	GETA \$9,l1	% Out of reach\.
+   15      FD000000
+   15      FD000000
+   15      FD000000
+   16 40020 F20B0000 		PUSHJ \$11,l3		% Out of reach\.
+   16      FD000000
+   16      FD000000
+   16      FD000000
+   16      FD000000
+   17 40034 4437FFFF 	l4	BP \$55,l3		% Within reach\.
+   18 40038 00000000 		\.space 65533\*4,0
+   18      00000000
+   18      00000000
+   18      00000000
+   18      00000000
+   18      00000000
+   19 8002c F1FDFFF7 		JMP l1			% Dummy\.
+   20 80030 F1FDFFF5 	l3	JMP l0			% Dummy\.
+   21 80034 47580000 		BOD \$88,l4		% Within reach\.
+   22 80038 46580000 		BOD \$88,l4		% Out of reach\.
+   22      FD000000
+   22      FD000000
+   22      FD000000
+   22      FD000000
+   22      FD000000
+   23 80050 F0000000 		JMP l5			% Out of reach\.
+   23      FD000000
+   23      FD000000
+   23      FD000000
+   23      FD000000
+   24 80064 F0FFFFFF 	l6	JMP l5			% Within reach\.
+   25 80068 436FFFF2 		BZ \$111,l3		% Dummy\.
+   26 8006c 00000000 		\.space \(256\*256\*256-3\)\*4,0
+   26      00000000
+   26      00000000
+   26      00000000
+   26      00000000
+   26      00000000
+ GAS for MMIX .*/relax1\.s 			page 2
+
+
+   27 4080060 F000000D 	l5	JMP l8			% Dummy\.
+   28 4080064 F1000000 		JMP l6			% Within reach
+   29 4080068 F0000000 		JMP l6			% Out of reach\.
+   29      FD000000
+   29      FD000000
+   29      FD000000
+   29      FD000000
+   30 408007c 482C0000 		BNN \$44,l9		% Out of reach\.
+   30      FD000000
+   30      FD000000
+   30      FD000000
+   30      FD000000
+   30      FD000000
+   31 4080094 482CFFFF 	l8	BNN \$44,l9		% Within reach\.
+   32 4080098 F1FFFFF2 		JMP l5			% Dummy\.
+   33 408009c F1FFFFF1 		JMP l5			% Dummy\.
+   34 40800a0 00000000 		\.space 65531\*4,0
+   34      00000000
+   34      00000000
+   34      00000000
+   34      00000000
+   34      00000000
+   35 40c008c F1FEFFF5 	l10	JMP l5			% Dummy\.
+   36 40c0090 F0000007 	l9	JMP l11			% Dummy
+   37 40c0094 F3210000 	l7	PUSHJ \$33,l8		% Within reach\.
+   38 40c0098 F2210000 		PUSHJ \$33,l8		% Out of reach\.
+   38      FD000000
+   38      FD000000
+   38      FD000000
+   38      FD000000
+   39 40c00ac F1FEFFED 	l11	JMP l5			% Dummy\.
+   40 40c00b0 F1FEFFF9 		JMP l8			% Dummy\.
+   41 40c00b4 00000000 		\.space 65534\*4,0
+   41      00000000
+   41      00000000
+   41      00000000
+   41      00000000
+   41      00000000
+   42 41000ac F53D0000 		GETA \$61,l11		% Within reach\.
+   43 41000b0 F4480000 		GETA \$72,l11		% Out of reach\.
+   43      FD000000
+   43      FD000000
+   43      FD000000
+ GAS for MMIX .*/relax1\.s 			page 3
+
+
+ DEFINED SYMBOLS
+ .*/relax1\.s:4      \.text:0000000000000000 Main
+ .*/relax1\.s:24     \.text:0000000000080064 l6
+ .*/relax1\.s:5      \.text:0000000000000004 l0
+ .*/relax1\.s:6      \.text:0000000000000008 l1
+ .*/relax1\.s:7      \.text:000000000000000c l01
+ .*/relax1\.s:14     \.text:000000000004000c nearfar1
+ .*/relax1\.s:15     \.text:0000000000040010 nearfar2
+ .*/relax1\.s:10     \.text:0000000000000018 l2
+ .*/relax1\.s:20     \.text:0000000000080030 l3
+ .*/relax1\.s:17     \.text:0000000000040034 l4
+ .*/relax1\.s:27     \.text:0000000004080060 l5
+ .*/relax1\.s:31     \.text:0000000004080094 l8
+ .*/relax1\.s:36     \.text:00000000040c0090 l9
+ .*/relax1\.s:35     \.text:00000000040c008c l10
+ .*/relax1\.s:39     \.text:00000000040c00ac l11
+ .*/relax1\.s:37     \.text:00000000040c0094 l7
+
+ NO UNDEFINED SYMBOLS
diff -cprN none/relax1.s mmix/relax1.s
*** none/relax1.s	Thu Jan  1 01:00:00 1970
--- mmix/relax1.s	Sun Aug 12 22:11:57 2001
***************
*** 0 ****
--- 1,43 ----
+ # Relaxation border-cases: just-within reach, just-out-of-reach, forward
+ # and backward.  Have a few variable-length thingies in-between so it
+ # doesn't get too easy.
+ Main	JMP l6
+ l0	JMP l6
+ l1	JMP l6
+ l01	JMP l6
+ 	GETA $7,nearfar1	% Within reach.
+ 	PUSHJ $191,nearfar2	% Within reach.
+ l2	JMP nearfar2		% Dummy.
+ 	.space 65530*4,0
+ 	BNP $72,l0		% Within reach
+ 	GETA $4,l1		% Within reach.
+ nearfar1	PUSHJ 5,l01	% Within reach.
+ nearfar2	GETA $9,l1	% Out of reach.
+ 	PUSHJ $11,l3		% Out of reach.
+ l4	BP $55,l3		% Within reach.
+ 	.space 65533*4,0
+ 	JMP l1			% Dummy.
+ l3	JMP l0			% Dummy.
+ 	BOD $88,l4		% Within reach.
+ 	BOD $88,l4		% Out of reach.
+ 	JMP l5			% Out of reach.
+ l6	JMP l5			% Within reach.
+ 	BZ $111,l3		% Dummy.
+ 	.space (256*256*256-3)*4,0
+ l5	JMP l8			% Dummy.
+ 	JMP l6			% Within reach
+ 	JMP l6			% Out of reach.
+ 	BNN $44,l9		% Out of reach.
+ l8	BNN $44,l9		% Within reach.
+ 	JMP l5			% Dummy.
+ 	JMP l5			% Dummy.
+ 	.space 65531*4,0
+ l10	JMP l5			% Dummy.
+ l9	JMP l11			% Dummy
+ l7	PUSHJ $33,l8		% Within reach.
+ 	PUSHJ $33,l8		% Out of reach.
+ l11	JMP l5			% Dummy.
+ 	JMP l8			% Dummy.
+ 	.space 65534*4,0
+ 	GETA $61,l11		% Within reach.
+ 	GETA $72,l11		% Out of reach.
diff -cprN none/reloc16-n.d mmix/reloc16-n.d
*** none/reloc16-n.d	Thu Jan  1 01:00:00 1970
--- mmix/reloc16-n.d	Mon Jun  4 01:17:24 2001
***************
*** 0 ****
--- 1,14 ----
+ # objdump: -dr
+ # as: -no-expand
+ # source: reloc16.s
+ .*:     file format elf64-mmix
+
+ Disassembly of section \.text:
+
+ 0000000000000000 <Main>:
+    0:	e3040000 	setl \$4,0x0
+ 			2: R_MMIX_16	foo
+    4:	f82d0000 	pop 45,0
+ 			6: R_MMIX_16	bar\+0x2a
+    8:	fd2a0000 	swym 42,0,0
+ 			a: R_MMIX_16	baz\+0xfffffffffffff6d7
diff -cprN none/reloc16-r.d mmix/reloc16-r.d
*** none/reloc16-r.d	Thu Jan  1 01:00:00 1970
--- mmix/reloc16-r.d	Mon Jun 12 16:48:04 2000
***************
*** 0 ****
--- 1,14 ----
+ # objdump: -dr
+ # as: -linkrelax
+ # source: reloc16.s
+ .*:     file format elf64-mmix
+
+ Disassembly of section \.text:
+
+ 0000000000000000 <Main>:
+    0:	e3040000 	setl \$4,0x0
+ 			2: R_MMIX_16	foo
+    4:	f82d0000 	pop 45,0
+ 			6: R_MMIX_16	bar\+0x2a
+    8:	fd2a0000 	swym 42,0,0
+ 			a: R_MMIX_16	baz\+0xfffffffffffff6d7
diff -cprN none/reloc16.d mmix/reloc16.d
*** none/reloc16.d	Thu Jan  1 01:00:00 1970
--- mmix/reloc16.d	Sun Jun  4 23:53:59 2000
***************
*** 0 ****
--- 1,12 ----
+ # objdump: -dr
+ .*:     file format elf64-mmix
+
+ Disassembly of section \.text:
+
+ 0000000000000000 <Main>:
+    0:	e3040000 	setl \$4,0x0
+ 			2: R_MMIX_16	foo
+    4:	f82d0000 	pop 45,0
+ 			6: R_MMIX_16	bar\+0x2a
+    8:	fd2a0000 	swym 42,0,0
+ 			a: R_MMIX_16	baz\+0xfffffffffffff6d7
diff -cprN none/reloc16.l mmix/reloc16.l
*** none/reloc16.l	Thu Jan  1 01:00:00 1970
--- mmix/reloc16.l	Sat Jun  3 23:54:05 2000
***************
*** 0 ****
--- 1,17 ----
+ GAS for MMIX .*/reloc16\.s 			page 1
+
+
+    1              	#.*
+    2 0000 E3040000 	Main	SETL \$4,foo
+    3 0004 F82D0000 		POP  45,bar\+42
+    4 0008 FD2A0000 		SWYM  42,baz-2345
+ GAS for MMIX .*/reloc16\.s 			page 2
+
+
+ DEFINED SYMBOLS
+ .*/reloc16\.s:2      \.text:0000000000000000 Main
+
+ UNDEFINED SYMBOLS
+ foo
+ bar
+ baz
diff -cprN none/reloc16.s mmix/reloc16.s
*** none/reloc16.s	Thu Jan  1 01:00:00 1970
--- mmix/reloc16.s	Sat Jun  3 23:54:23 2000
***************
*** 0 ****
--- 1,4 ----
+ # Simple relocations against 16-bit extern symbols.
+ Main	SETL $4,foo
+ 	POP  45,bar+42
+ 	SWYM  42,baz-2345
diff -cprN none/reloc8-r.d mmix/reloc8-r.d
*** none/reloc8-r.d	Thu Jan  1 01:00:00 1970
--- mmix/reloc8-r.d	Mon Jun 12 16:49:09 2000
***************
*** 0 ****
--- 1,20 ----
+ # objdump: -dr
+ # as: -linkrelax
+ # source: reloc8.s
+ .*:     file format elf64-mmix
+
+ Disassembly of section \.text:
+
+ 0000000000000000 <Main>:
+    0:	b9002dea 	syncd 0,\$45,234
+ 			1: R_MMIX_8	foo
+    4:	372f002a 	negu \$47,0,42
+ 			6: R_MMIX_8	bar\+0x30
+    8:	fd00b26e 	swym 0,178,110
+ 			9: R_MMIX_8	baz\+0xfffffffffffffffe
+    c:	ff000000 	trip 0,0,0
+ 			d: R_MMIX_8	fee\+0xffffffffffffffff
+ 			e: R_MMIX_8	fie\+0x1
+ 			f: R_MMIX_8	foe\+0x3
+   10:	f9000000 	resume 0
+ 			13: R_MMIX_8	foobar\+0x8
diff -cprN none/reloc8.d mmix/reloc8.d
*** none/reloc8.d	Thu Jan  1 01:00:00 1970
--- mmix/reloc8.d	Sun Jun  4 23:56:17 2000
***************
*** 0 ****
--- 1,18 ----
+ # objdump: -dr
+ .*:     file format elf64-mmix
+
+ Disassembly of section \.text:
+
+ 0000000000000000 <Main>:
+    0:	b9002dea 	syncd 0,\$45,234
+ 			1: R_MMIX_8	foo
+    4:	372f002a 	negu \$47,0,42
+ 			6: R_MMIX_8	bar\+0x30
+    8:	fd00b26e 	swym 0,178,110
+ 			9: R_MMIX_8	baz\+0xfffffffffffffffe
+    c:	ff000000 	trip 0,0,0
+ 			d: R_MMIX_8	fee\+0xffffffffffffffff
+ 			e: R_MMIX_8	fie\+0x1
+ 			f: R_MMIX_8	foe\+0x3
+   10:	f9000000 	resume 0
+ 			13: R_MMIX_8	foobar\+0x8
diff -cprN none/reloc8.l mmix/reloc8.l
*** none/reloc8.l	Thu Jan  1 01:00:00 1970
--- mmix/reloc8.l	Sun Jun  4 03:11:49 2000
***************
*** 0 ****
--- 1,26 ----
+ GAS for MMIX .*/reloc8\.s 			page 1
+
+
+    1              	#.*
+    2 0000 B9002DEA 	Main	SYNCD foo,\$45,234
+    3 0004 372F002A 		NEGU \$47,bar\+48,localsym
+    4 0008 FD00B26E 		SWYM baz-2,45678
+    5 000c FF000000 		TRIP fee-1,fie\+1,foe\+3
+    6 0010 F9000000 		RESUME foobar\+8
+    7              	localsym IS 42
+    8
+ GAS for MMIX .*/reloc8\.s 			page 2
+
+
+ DEFINED SYMBOLS
+ .*/reloc8\.s:2      \.text:0000000000000000 Main
+                             \*ABS\*:000000000000002a localsym
+
+ UNDEFINED SYMBOLS
+ foo
+ bar
+ baz
+ fee
+ fie
+ foe
+ foobar
diff -cprN none/reloc8.s mmix/reloc8.s
*** none/reloc8.s	Thu Jan  1 01:00:00 1970
--- mmix/reloc8.s	Sun Jun  4 00:06:20 2000
***************
*** 0 ****
--- 1,8 ----
+ # Simple relocations against 8-bit extern symbols.
+ Main	SYNCD foo,$45,234
+ 	NEGU $47,bar+48,localsym
+ 	SWYM baz-2,45678
+ 	TRIP fee-1,fie+1,foe+3
+ 	RESUME foobar+8
+ localsym IS 42
+
diff -cprN none/relocl-n.d mmix/relocl-n.d
*** none/relocl-n.d	Thu Jan  1 01:00:00 1970
--- mmix/relocl-n.d	Sun Aug 12 22:17:53 2001
***************
*** 0 ****
--- 1,27 ----
+ #objdump: -dr
+ #source: reloclab.s
+ #as: -no-expand
+ .*:     file format elf64-mmix
+
+ Disassembly of section \.text:
+
+ 0000000000000000 <Main>:
+    0:	f0000000 	jmp 0 <Main>
+ 			0: R_MMIX_ADDR27	foo\+0x8
+    4:	f0000004 	jmp 14 <here>
+    8:	f4080003 	geta \$8,14 <here>
+    c:	46630002 	bod \$99,14 <here>
+   10:	fd000000 	swym 0,0,0
+
+ 0000000000000014 <here>:
+   14:	42de0000 	bz \$222,14 <here>
+ 			14: R_MMIX_ADDR19	bar\+0x10
+
+ 0000000000000018 <there>:
+   18:	f4040000 	geta \$4,18 <there>
+ 			18: R_MMIX_ADDR19	baz
+   1c:	f2070000 	pushj \$7,1c <there\+0x4>
+ 			1c: R_MMIX_ADDR19	foobar
+   20:	f1fffffe 	jmp 18 <there>
+   24:	f558fffd 	geta \$88,18 <there>
+   28:	476ffffc 	bod \$111,18 <there>
diff -cprN none/reloclab-r.d mmix/reloclab-r.d
*** none/reloclab-r.d	Thu Jan  1 01:00:00 1970
--- mmix/reloclab-r.d	Sun Aug 12 22:18:12 2001
***************
*** 0 ****
--- 1,49 ----
+ #objdump: -dr
+ #as: -linkrelax -x
+ #source: reloclab.s
+ .*:     file format elf64-mmix
+
+ Disassembly of section \.text:
+
+ 0000000000000000 <Main>:
+    0:	f0000000 	jmp 0 <Main>
+ 			0: R_MMIX_JMP	foo\+0x8
+    4:	fd000000 	swym 0,0,0
+    8:	fd000000 	swym 0,0,0
+    c:	fd000000 	swym 0,0,0
+   10:	fd000000 	swym 0,0,0
+   14:	f0000004 	jmp 24 <here>
+ 			14: R_MMIX_ADDR27	\.text\+0x24
+   18:	f4080003 	geta \$8,24 <here>
+ 			18: R_MMIX_ADDR19	\.text\+0x24
+   1c:	46630002 	bod \$99,24 <here>
+ 			1c: R_MMIX_ADDR19	\.text\+0x24
+   20:	fd000000 	swym 0,0,0
+
+ 0000000000000024 <here>:
+   24:	42de0000 	bz \$222,24 <here>
+ 			24: R_MMIX_CBRANCH	bar\+0x10
+   28:	fd000000 	swym 0,0,0
+   2c:	fd000000 	swym 0,0,0
+   30:	fd000000 	swym 0,0,0
+   34:	fd000000 	swym 0,0,0
+   38:	fd000000 	swym 0,0,0
+
+ 000000000000003c <there>:
+   3c:	f4040000 	geta \$4,3c <there>
+ 			3c: R_MMIX_GETA	baz
+   40:	fd000000 	swym 0,0,0
+   44:	fd000000 	swym 0,0,0
+   48:	fd000000 	swym 0,0,0
+   4c:	f2070000 	pushj \$7,4c <there\+0x10>
+ 			4c: R_MMIX_PUSHJ	foobar
+   50:	fd000000 	swym 0,0,0
+   54:	fd000000 	swym 0,0,0
+   58:	fd000000 	swym 0,0,0
+   5c:	fd000000 	swym 0,0,0
+   60:	f1fffff7 	jmp 3c <there>
+ 			60: R_MMIX_ADDR27	\.text\+0x3c
+   64:	f558fff6 	geta \$88,3c <there>
+ 			64: R_MMIX_ADDR19	\.text\+0x3c
+   68:	476ffff5 	bod \$111,3c <there>
+ 			68: R_MMIX_ADDR19	\.text\+0x3c
diff -cprN none/reloclab.d mmix/reloclab.d
*** none/reloclab.d	Thu Jan  1 01:00:00 1970
--- mmix/reloclab.d	Sun Aug 12 22:18:47 2001
***************
*** 0 ****
--- 1,43 ----
+ #objdump: -dr
+ #as: -x
+
+ .*:     file format elf64-mmix
+
+ Disassembly of section \.text:
+
+ 0000000000000000 <Main>:
+    0:	f0000000 	jmp 0 <Main>
+ 			0: R_MMIX_JMP	foo\+0x8
+    4:	fd000000 	swym 0,0,0
+    8:	fd000000 	swym 0,0,0
+    c:	fd000000 	swym 0,0,0
+   10:	fd000000 	swym 0,0,0
+   14:	f0000004 	jmp 24 <here>
+   18:	f4080003 	geta \$8,24 <here>
+   1c:	46630002 	bod \$99,24 <here>
+   20:	fd000000 	swym 0,0,0
+
+ 0000000000000024 <here>:
+   24:	42de0000 	bz \$222,24 <here>
+ 			24: R_MMIX_CBRANCH	bar\+0x10
+   28:	fd000000 	swym 0,0,0
+   2c:	fd000000 	swym 0,0,0
+   30:	fd000000 	swym 0,0,0
+   34:	fd000000 	swym 0,0,0
+   38:	fd000000 	swym 0,0,0
+
+ 000000000000003c <there>:
+   3c:	f4040000 	geta \$4,3c <there>
+ 			3c: R_MMIX_GETA	baz
+   40:	fd000000 	swym 0,0,0
+   44:	fd000000 	swym 0,0,0
+   48:	fd000000 	swym 0,0,0
+   4c:	f2070000 	pushj \$7,4c <there\+0x10>
+ 			4c: R_MMIX_PUSHJ	foobar
+   50:	fd000000 	swym 0,0,0
+   54:	fd000000 	swym 0,0,0
+   58:	fd000000 	swym 0,0,0
+   5c:	fd000000 	swym 0,0,0
+   60:	f1fffff7 	jmp 3c <there>
+   64:	f558fff6 	geta \$88,3c <there>
+   68:	476ffff5 	bod \$111,3c <there>
diff -cprN none/reloclab.l mmix/reloclab.l
*** none/reloclab.l	Thu Jan  1 01:00:00 1970
--- mmix/reloclab.l	Sun Jun  4 03:10:47 2000
***************
*** 0 ****
--- 1,46 ----
+ GAS for MMIX .*/reloclab\.s 			page 1
+
+
+    1              	#.*
+    2              	#.*
+    3              	#.*
+    4 0000 F0000000 	Main	JMP foo\+8
+    4      FD000000
+    4      FD000000
+    4      FD000000
+    4      FD000000
+    5 0014 F0000004 		JMP here
+    6 0018 F4080003 		GETA \$8,here
+    7 001c 46630002 		BOD \$99,here
+    8 0020 FD000000 		SWYM 0
+    9 0024 42DE0000 	here	BZ \$222,bar\+16
+    9      FD000000
+    9      FD000000
+    9      FD000000
+    9      FD000000
+    9      FD000000
+   10 003c F4040000 	there	GETA \$4,baz
+   10      FD000000
+   10      FD000000
+   10      FD000000
+   11 004c F2070000 		PUSHJ \$7,foobar
+   11      FD000000
+   11      FD000000
+   11      FD000000
+   11      FD000000
+   12 0060 F1FFFFF7 		JMP there
+   13 0064 F558FFF6 		GETA \$88,there
+   14 0068 476FFFF5 		BOD \$111,there
+ GAS for MMIX .*/reloclab\.s 			page 2
+
+
+ DEFINED SYMBOLS
+ .*/reloclab\.s:4      \.text:0000000000000000 Main
+ .*/reloclab\.s:9      \.text:0000000000000024 here
+ .*/reloclab\.s:10     \.text:000000000000003c there
+
+ UNDEFINED SYMBOLS
+ foo
+ bar
+ baz
+ foobar
diff -cprN none/reloclab.s mmix/reloclab.s
*** none/reloclab.s	Thu Jan  1 01:00:00 1970
--- mmix/reloclab.s	Sun Jun  4 00:18:13 2000
***************
*** 0 ****
--- 1,14 ----
+ # Different relocations for extern labels: GETA, PUSHJ, Bcc, JMP.
+ # Mix in different accesses to local labels to see that relaxing works for
+ # this case.
+ Main	JMP foo+8
+ 	JMP here
+ 	GETA $8,here
+ 	BOD $99,here
+ 	SWYM 0
+ here	BZ $222,bar+16
+ there	GETA $4,baz
+ 	PUSHJ $7,foobar
+ 	JMP there
+ 	GETA $88,there
+ 	BOD $111,there
diff -cprN none/reloclrn.d mmix/reloclrn.d
*** none/reloclrn.d	Thu Jan  1 01:00:00 1970
--- mmix/reloclrn.d	Mon Jun  4 13:44:39 2001
***************
*** 0 ****
--- 1,33 ----
+ # objdump: -dr
+ # as: -linkrelax -no-expand
+ # source: reloclab.s
+ .*:     file format elf64-mmix
+
+ Disassembly of section \.text:
+
+ 0000000000000000 <Main>:
+    0:	f0000000 	jmp 0 <Main>
+ 			0: R_MMIX_ADDR27	foo\+0x8
+    4:	f0000000 	jmp 4 <Main\+0x4>
+ 			4: R_MMIX_ADDR27	\.text\+0x14
+    8:	f4080000 	geta \$8,8 <Main\+0x8>
+ 			8: R_MMIX_ADDR19	\.text\+0x14
+    c:	46630000 	bod \$99,c <Main\+0xc>
+ 			c: R_MMIX_ADDR19	\.text\+0x14
+   10:	fd000000 	swym 0,0,0
+
+ 0000000000000014 <here>:
+   14:	42de0000 	bz \$222,14 <here>
+ 			14: R_MMIX_ADDR19	bar\+0x10
+
+ 0000000000000018 <there>:
+   18:	f4040000 	geta \$4,18 <there>
+ 			18: R_MMIX_ADDR19	baz
+   1c:	f2070000 	pushj \$7,1c <there\+0x4>
+ 			1c: R_MMIX_ADDR19	foobar
+   20:	f0000000 	jmp 20 <there\+0x8>
+ 			20: R_MMIX_ADDR27	\.text\+0x18
+   24:	f4580000 	geta \$88,24 <there\+0xc>
+ 			24: R_MMIX_ADDR19	\.text\+0x18
+   28:	466f0000 	bod \$111,28 <there\+0x10>
+ 			28: R_MMIX_ADDR19	\.text\+0x18
diff -cprN none/relocxrn.d mmix/relocxrn.d
*** none/relocxrn.d	Thu Jan  1 01:00:00 1970
--- mmix/relocxrn.d	Mon Jun  4 01:16:56 2001
***************
*** 0 ****
--- 1,14 ----
+ # objdump: -dr
+ # as: -no-expand -linkrelax
+ # source: reloc16.s
+ .*:     file format elf64-mmix
+
+ Disassembly of section \.text:
+
+ 0000000000000000 <Main>:
+    0:	e3040000 	setl \$4,0x0
+ 			2: R_MMIX_16	foo
+    4:	f82d0000 	pop 45,0
+ 			6: R_MMIX_16	bar\+0x2a
+    8:	fd2a0000 	swym 42,0,0
+ 			a: R_MMIX_16	baz\+0xfffffffffffff6d7
diff -cprN none/resume-op-r.d mmix/resume-op-r.d
*** none/resume-op-r.d	Thu Jan  1 01:00:00 1970
--- mmix/resume-op-r.d	Mon Jun 12 19:11:02 2000
***************
*** 0 ****
--- 1,12 ----
+ # objdump: -dr
+ # as: -linkrelax
+ # source: resume-op.s
+ .*:     file format elf64-mmix
+
+ Disassembly of section \.text:
+
+ 0000000000000000 <Main>:
+    0:	f9000001 	resume 1
+    4:	f9000000 	resume 0
+    8:	f9000001 	resume 1
+    c:	f9000000 	resume 0
diff -cprN none/resume-op.d mmix/resume-op.d
*** none/resume-op.d	Thu Jan  1 01:00:00 1970
--- mmix/resume-op.d	Mon Jun  5 00:00:15 2000
***************
*** 0 ****
--- 1,10 ----
+ # objdump: -dr
+ .*:     file format elf64-mmix
+
+ Disassembly of section \.text:
+
+ 0000000000000000 <Main>:
+    0:	f9000001 	resume 1
+    4:	f9000000 	resume 0
+    8:	f9000001 	resume 1
+    c:	f9000000 	resume 0
diff -cprN none/resume-op.l mmix/resume-op.l
*** none/resume-op.l	Thu Jan  1 01:00:00 1970
--- mmix/resume-op.l	Sat Jun  3 23:08:14 2000
***************
*** 0 ****
--- 1,20 ----
+ GAS for MMIX .*/resume-op\.s 			page 1
+
+
+    1              	# Test the 'z'-type operand, RESUME\.
+    2 0000 F9000001 	Main RESUME X
+    3 0004 F9000000 	 RESUME 0
+    4 0008 F9000001 	 RESUME 1
+    5 000c F9000000 	 RESUME XX
+    6              	X IS 1
+    7              	XX IS 0
+    8
+ GAS for MMIX .*/resume-op\.s 			page 2
+
+
+ DEFINED SYMBOLS
+ .*/resume-op\.s:2      \.text:0000000000000000 Main
+                             \*ABS\*:0000000000000001 X
+                             \*ABS\*:0000000000000000 XX
+
+ NO UNDEFINED SYMBOLS
diff -cprN none/resume-op.s mmix/resume-op.s
*** none/resume-op.s	Thu Jan  1 01:00:00 1970
--- mmix/resume-op.s	Sat Jun  3 23:06:55 2000
***************
*** 0 ****
--- 1,8 ----
+ # Test the 'z'-type operand, RESUME.
+ Main RESUME X
+  RESUME 0
+  RESUME 1
+  RESUME XX
+ X IS 1
+ XX IS 0
+
diff -cprN none/round2-op-r.d mmix/round2-op-r.d
*** none/round2-op-r.d	Thu Jan  1 01:00:00 1970
--- mmix/round2-op-r.d	Mon Jun 12 16:54:06 2000
***************
*** 0 ****
--- 1,19 ----
+ # objdump: -dr
+ # as: -linkrelax
+ # source: round2-op.s
+ .*:     file format elf64-mmix
+
+ Disassembly of section \.text:
+
+ 0000000000000000 <Main>:
+    0:	088700f4 	flot \$135,\$244
+    4:	0a8700e9 	flotu \$135,\$233
+    8:	0d85005b 	sflot \$133,91
+    c:	177b00f4 	fint \$123,\$244
+   10:	0c8500f4 	sflot \$133,\$244
+   14:	0987005b 	flot \$135,91
+   18:	0f7b005b 	sflotu \$123,91
+   1c:	05ad00e9 	fix \$173,\$233
+   20:	0bad00d5 	flotu \$173,213
+   24:	078700f4 	fixu \$135,\$244
+   28:	0b870077 	flotu \$135,119
diff -cprN none/round2-op.d mmix/round2-op.d
*** none/round2-op.d	Thu Jan  1 01:00:00 1970
--- mmix/round2-op.d	Mon Jun  5 00:01:53 2000
***************
*** 0 ****
--- 1,17 ----
+ # objdump: -dr
+ .*:     file format elf64-mmix
+
+ Disassembly of section \.text:
+
+ 0000000000000000 <Main>:
+    0:	088700f4 	flot \$135,\$244
+    4:	0a8700e9 	flotu \$135,\$233
+    8:	0d85005b 	sflot \$133,91
+    c:	177b00f4 	fint \$123,\$244
+   10:	0c8500f4 	sflot \$133,\$244
+   14:	0987005b 	flot \$135,91
+   18:	0f7b005b 	sflotu \$123,91
+   1c:	05ad00e9 	fix \$173,\$233
+   20:	0bad00d5 	flotu \$173,213
+   24:	078700f4 	fixu \$135,\$244
+   28:	0b870077 	flotu \$135,119
diff -cprN none/round2-op.l mmix/round2-op.l
*** none/round2-op.l	Thu Jan  1 01:00:00 1970
--- mmix/round2-op.l	Mon Jul  2 00:53:27 2001
***************
*** 0 ****
--- 1,28 ----
+ GAS for MMIX .*/round2-op\.s 			page 1
+
+
+    1              	#.*
+    2 0000 088700F4 	Main	FLOT X,Z
+    3 0004 0A8700E9 		FLOTU X,\$233
+    4 0008 0D85005B 		SFLOT \$133,Z0
+    5 000c 177B00F4 		FINT \$123,Z
+    6 0010 0C8500F4 		SFLOT \$133,Z
+    7 0014 0987005B 		FLOT X,Z0
+    8 0018 0F7B005B 		SFLOTU \$123,Z0
+    9 001c 05AD00E9 		FIX \$173,\$233
+   10 0020 0BAD00D5 		FLOTU \$173,213
+   11 0024 078700F4 		FIXU X,Z
+   12 0028 0B870077 		FLOTU X,119
+   13              	X IS \$135
+   14              	Z IS \$244
+   15              	Z0 IS 91
+ GAS for MMIX .*/round2-op\.s 			page 2
+
+
+ DEFINED SYMBOLS
+ .*/round2-op\.s:2      \.text:0000000000000000 Main
+                             \*REG\*:0000000000000087 X
+                             \*REG\*:00000000000000f4 Z
+                             \*ABS\*:000000000000005b Z0
+
+ NO UNDEFINED SYMBOLS
diff -cprN none/round2-op.s mmix/round2-op.s
*** none/round2-op.s	Thu Jan  1 01:00:00 1970
--- mmix/round2-op.s	Sat Jun  3 08:25:40 2000
***************
*** 0 ****
--- 1,15 ----
+ # Two-operand variants of "R" and "I".
+ Main	FLOT X,Z
+ 	FLOTU X,$233
+ 	SFLOT $133,Z0
+ 	FINT $123,Z
+ 	SFLOT $133,Z
+ 	FLOT X,Z0
+ 	SFLOTU $123,Z0
+ 	FIX $173,$233
+ 	FLOTU $173,213
+ 	FIXU X,Z
+ 	FLOTU X,119
+ X IS $135
+ Z IS $244
+ Z0 IS 91
diff -cprN none/roundi-op-r.d mmix/roundi-op-r.d
*** none/roundi-op-r.d	Thu Jan  1 01:00:00 1970
--- mmix/roundi-op-r.d	Mon Jun 12 16:53:29 2000
***************
*** 0 ****
--- 1,22 ----
+ # objdump: -dr
+ # as: -linkrelax
+ # source: roundi-op.s
+ .*:     file format elf64-mmix
+
+ Disassembly of section \.text:
+
+ 0000000000000000 <Main>:
+    0:	088701f4 	flot \$135,ROUND_OFF,\$244
+    4:	0a8702e9 	flotu \$135,ROUND_UP,\$233
+    8:	0d85005b 	sflot \$133,91
+    c:	0e7b04f4 	sflotu \$123,ROUND_NEAR,\$244
+   10:	0c8500f4 	sflot \$133,\$244
+   14:	0987005b 	flot \$135,91
+   18:	0f7b045b 	sflotu \$123,ROUND_NEAR,91
+   1c:	0987015b 	flot \$135,ROUND_OFF,91
+   20:	0aad02e9 	flotu \$173,ROUND_UP,\$233
+   24:	0bad02d5 	flotu \$173,ROUND_UP,213
+   28:	0c8700f4 	sflot \$135,\$244
+   2c:	0b870277 	flotu \$135,ROUND_UP,119
+   30:	0d87005b 	sflot \$135,91
+   34:	088700f4 	flot \$135,\$244
diff -cprN none/roundi-op.d mmix/roundi-op.d
*** none/roundi-op.d	Thu Jan  1 01:00:00 1970
--- mmix/roundi-op.d	Mon Jun  5 00:04:29 2000
***************
*** 0 ****
--- 1,20 ----
+ # objdump: -dr
+ .*:     file format elf64-mmix
+
+ Disassembly of section \.text:
+
+ 0000000000000000 <Main>:
+    0:	088701f4 	flot \$135,ROUND_OFF,\$244
+    4:	0a8702e9 	flotu \$135,ROUND_UP,\$233
+    8:	0d85005b 	sflot \$133,91
+    c:	0e7b04f4 	sflotu \$123,ROUND_NEAR,\$244
+   10:	0c8500f4 	sflot \$133,\$244
+   14:	0987005b 	flot \$135,91
+   18:	0f7b045b 	sflotu \$123,ROUND_NEAR,91
+   1c:	0987015b 	flot \$135,ROUND_OFF,91
+   20:	0aad02e9 	flotu \$173,ROUND_UP,\$233
+   24:	0bad02d5 	flotu \$173,ROUND_UP,213
+   28:	0c8700f4 	sflot \$135,\$244
+   2c:	0b870277 	flotu \$135,ROUND_UP,119
+   30:	0d87005b 	sflot \$135,91
+   34:	088700f4 	flot \$135,\$244
diff -cprN none/roundi-op.l mmix/roundi-op.l
*** none/roundi-op.l	Thu Jan  1 01:00:00 1970
--- mmix/roundi-op.l	Mon Jul  2 00:53:59 2001
***************
*** 0 ****
--- 1,31 ----
+ GAS for MMIX .*/roundi-op\.s 			page 1
+
+
+    1              	#.*
+    2 0000 088701F4 	Main	FLOT X,ROUND_OFF,Z
+    3 0004 0A8702E9 		FLOTU X,2,\$233
+    4 0008 0D85005B 		SFLOT \$133,0,Z0
+    5 000c 0E7B04F4 		SFLOTU \$123,ROUND_NEAR,Z
+    6 0010 0C8500F4 		SFLOT \$133,0,Z
+    7 0014 0987005B 		FLOT X,ROUND_CURRENT,Z0
+    8 0018 0F7B045B 		SFLOTU \$123,ROUND_NEAR,Z0
+    9 001c 0987015B 		FLOT X,ROUND_OFF,Z0
+   10 0020 0AAD02E9 		FLOTU \$173,2,\$233
+   11 0024 0BAD02D5 		FLOTU \$173,2,213
+   12 0028 0C8700F4 		SFLOT X,0,Z
+   13 002c 0B870277 		FLOTU X,2,119
+   14 0030 0D87005B 		SFLOT X,0,Z0
+   15 0034 088700F4 		FLOT X,ROUND_CURRENT,Z
+   16              	X IS \$135
+   17              	Z IS \$244
+   18              	Z0 IS 91
+ GAS for MMIX .*/roundi-op\.s 			page 2
+
+
+ DEFINED SYMBOLS
+ .*/roundi-op\.s:2      \.text:0000000000000000 Main
+                             \*REG\*:0000000000000087 X
+                             \*REG\*:00000000000000f4 Z
+                             \*ABS\*:000000000000005b Z0
+
+ NO UNDEFINED SYMBOLS
diff -cprN none/roundi-op.s mmix/roundi-op.s
*** none/roundi-op.s	Thu Jan  1 01:00:00 1970
--- mmix/roundi-op.s	Sat Jun  3 08:05:18 2000
***************
*** 0 ****
--- 1,18 ----
+ # Round-type "R".
+ Main	FLOT X,ROUND_OFF,Z
+ 	FLOTU X,2,$233
+ 	SFLOT $133,0,Z0
+ 	SFLOTU $123,ROUND_NEAR,Z
+ 	SFLOT $133,0,Z
+ 	FLOT X,ROUND_CURRENT,Z0
+ 	SFLOTU $123,ROUND_NEAR,Z0
+ 	FLOT X,ROUND_OFF,Z0
+ 	FLOTU $173,2,$233
+ 	FLOTU $173,2,213
+ 	SFLOT X,0,Z
+ 	FLOTU X,2,119
+ 	SFLOT X,0,Z0
+ 	FLOT X,ROUND_CURRENT,Z
+ X IS $135
+ Z IS $244
+ Z0 IS 91
diff -cprN none/roundr-op-r.d mmix/roundr-op-r.d
*** none/roundr-op-r.d	Thu Jan  1 01:00:00 1970
--- mmix/roundr-op-r.d	Mon Jun 12 16:54:50 2000
***************
*** 0 ****
--- 1,15 ----
+ # objdump: -dr
+ # as: -linkrelax
+ # source: roundr-op.s
+ .*:     file format elf64-mmix
+
+ Disassembly of section .text:
+
+ 0000000000000000 <Main>:
+    0:	178701f4 	fint \$135,ROUND_OFF,\$244
+    4:	058702e9 	fix \$135,ROUND_UP,\$233
+    8:	178500f4 	fint \$133,\$244
+    c:	157b04f4 	fsqrt \$123,ROUND_NEAR,\$244
+   10:	17ad02e9 	fint \$173,ROUND_UP,\$233
+   14:	058700f4 	fix \$135,\$244
+   18:	078700f4 	fixu \$135,\$244
diff -cprN none/roundr-op.d mmix/roundr-op.d
*** none/roundr-op.d	Thu Jan  1 01:00:00 1970
--- mmix/roundr-op.d	Mon Jun  5 00:06:14 2000
***************
*** 0 ****
--- 1,13 ----
+ # objdump: -dr
+ .*:     file format elf64-mmix
+
+ Disassembly of section .text:
+
+ 0000000000000000 <Main>:
+    0:	178701f4 	fint \$135,ROUND_OFF,\$244
+    4:	058702e9 	fix \$135,ROUND_UP,\$233
+    8:	178500f4 	fint \$133,\$244
+    c:	157b04f4 	fsqrt \$123,ROUND_NEAR,\$244
+   10:	17ad02e9 	fint \$173,ROUND_UP,\$233
+   14:	058700f4 	fix \$135,\$244
+   18:	078700f4 	fixu \$135,\$244
diff -cprN none/roundr-op.l mmix/roundr-op.l
*** none/roundr-op.l	Thu Jan  1 01:00:00 1970
--- mmix/roundr-op.l	Mon Jul  2 00:54:50 2001
***************
*** 0 ****
--- 1,22 ----
+ GAS for MMIX .*/roundr-op\.s 			page 1
+
+
+    1              	# Round-type "R"\.
+    2 0000 178701F4 	Main	FINT X,ROUND_OFF,Z
+    3 0004 058702E9 		FIX X,2,\$233
+    4 0008 178500F4 		FINT \$133,0,Z
+    5 000c 157B04F4 		FSQRT \$123,ROUND_NEAR,Z
+    6 0010 17AD02E9 		FINT \$173,2,\$233
+    7 0014 058700F4 		FIX X,0,Z
+    8 0018 078700F4 		FIXU X,ROUND_CURRENT,Z
+    9              	X IS \$135
+   10              	Z IS \$244
+ GAS for MMIX .*/roundr-op\.s 			page 2
+
+
+ DEFINED SYMBOLS
+ .*/roundr-op\.s:2      \.text:0000000000000000 Main
+                             \*REG\*:0000000000000087 X
+                             \*REG\*:00000000000000f4 Z
+
+ NO UNDEFINED SYMBOLS
diff -cprN none/roundr-op.s mmix/roundr-op.s
*** none/roundr-op.s	Thu Jan  1 01:00:00 1970
--- mmix/roundr-op.s	Sat Jun  3 01:00:58 2000
***************
*** 0 ****
--- 1,10 ----
+ # Round-type "R".
+ Main	FINT X,ROUND_OFF,Z
+ 	FIX X,2,$233
+ 	FINT $133,0,Z
+ 	FSQRT $123,ROUND_NEAR,Z
+ 	FINT $173,2,$233
+ 	FIX X,0,Z
+ 	FIXU X,ROUND_CURRENT,Z
+ X IS $135
+ Z IS $244
diff -cprN none/save-op-r.d mmix/save-op-r.d
*** none/save-op-r.d	Thu Jan  1 01:00:00 1970
--- mmix/save-op-r.d	Mon Jun 12 16:55:24 2000
***************
*** 0 ****
--- 1,11 ----
+ # objdump: -dr
+ # as: -linkrelax
+ # source: save-op.s
+ .*:     file format elf64-mmix
+
+ Disassembly of section \.text:
+
+ 0000000000000000 <Main>:
+    0:	fa2d0000 	save \$45,0
+    4:	fa1f0000 	save \$31,0
+    8:	fa000000 	save \$0,0
diff -cprN none/save-op.d mmix/save-op.d
*** none/save-op.d	Thu Jan  1 01:00:00 1970
--- mmix/save-op.d	Mon Jun  5 00:07:19 2000
***************
*** 0 ****
--- 1,9 ----
+ # objdump: -dr
+ .*:     file format elf64-mmix
+
+ Disassembly of section \.text:
+
+ 0000000000000000 <Main>:
+    0:	fa2d0000 	save \$45,0
+    4:	fa1f0000 	save \$31,0
+    8:	fa000000 	save \$0,0
diff -cprN none/save-op.l mmix/save-op.l
*** none/save-op.l	Thu Jan  1 01:00:00 1970
--- mmix/save-op.l	Mon Jul  2 00:55:56 2001
***************
*** 0 ****
--- 1,19 ----
+ GAS for MMIX .*/save-op.s 			page 1
+
+
+    1              	#.*
+    2 0000 FA2D0000 	Main SAVE \$45,0
+    3 0004 FA1F0000 	 SAVE X,0
+    4 0008 FA000000 	 SAVE X0,0
+    5              	X IS \$31
+    6              	X0 IS \$0
+    7
+ GAS for MMIX .*/save-op.s 			page 2
+
+
+ DEFINED SYMBOLS
+ .*/save-op.s:2      .text:0000000000000000 Main
+                             \*REG\*:000000000000001f X
+                             \*REG\*:0000000000000000 X0
+
+ NO UNDEFINED SYMBOLS
diff -cprN none/save-op.s mmix/save-op.s
*** none/save-op.s	Thu Jan  1 01:00:00 1970
--- mmix/save-op.s	Sat Jun  3 22:48:36 2000
***************
*** 0 ****
--- 1,7 ----
+ # Test the 's'-type operand, SAVE.
+ Main SAVE $45,0
+  SAVE X,0
+  SAVE X0,0
+ X IS $31
+ X0 IS $0
+
diff -cprN none/set-r.d mmix/set-r.d
*** none/set-r.d	Thu Jan  1 01:00:00 1970
--- mmix/set-r.d	Mon Jun 12 16:55:58 2000
***************
*** 0 ****
--- 1,14 ----
+ # objdump: -dr
+ # as: -linkrelax
+ # source: set.s
+ .*:     file format elf64-mmix
+
+ Disassembly of section \.text:
+
+ 0000000000000000 <Main>:
+    0:	e32d0463 	setl \$45,0x463
+    4:	c1394300 	set \$57,\$67
+    8:	c14e1f00 	set \$78,\$31
+    c:	e3750463 	setl \$117,0x463
+   10:	c1754300 	set \$117,\$67
+   14:	c1751f00 	set \$117,\$31
diff -cprN none/set.d mmix/set.d
*** none/set.d	Thu Jan  1 01:00:00 1970
--- mmix/set.d	Mon Jun  5 00:08:40 2000
***************
*** 0 ****
--- 1,12 ----
+ # objdump: -dr
+ .*:     file format elf64-mmix
+
+ Disassembly of section \.text:
+
+ 0000000000000000 <Main>:
+    0:	e32d0463 	setl \$45,0x463
+    4:	c1394300 	set \$57,\$67
+    8:	c14e1f00 	set \$78,\$31
+    c:	e3750463 	setl \$117,0x463
+   10:	c1754300 	set \$117,\$67
+   14:	c1751f00 	set \$117,\$31
diff -cprN none/set.l mmix/set.l
*** none/set.l	Thu Jan  1 01:00:00 1970
--- mmix/set.l	Mon Jul  2 00:36:07 2001
***************
*** 0 ****
--- 1,21 ----
+ GAS for MMIX .*/set\.s 			page 1
+
+
+    1              	#.*
+    2 0000 E32D0463 	Main SET \$45,1123
+    3 0004 C1394300 	 SET \$57,\$67
+    4 0008 C14E1F00 	 SET \$78,X
+    5 000c E3750463 	 SET Y,1123
+    6 0010 C1754300 	 SET Y,\$67
+    7 0014 C1751F00 	 SET Y,X
+    8              	X IS \$31
+    9              	Y IS \$117
+ GAS for MMIX .*/set\.s 			page 2
+
+
+ DEFINED SYMBOLS
+ .*/set\.s:2      \.text:0000000000000000 Main
+                             \*REG\*:000000000000001f X
+                             \*REG\*:0000000000000075 Y
+
+ NO UNDEFINED SYMBOLS
diff -cprN none/set.s mmix/set.s
*** none/set.s	Thu Jan  1 01:00:00 1970
--- mmix/set.s	Sat Jun  3 22:40:37 2000
***************
*** 0 ****
--- 1,9 ----
+ # Test the 'r'-type operand and the mapping of SET to OR(I) and SETL.
+ Main SET $45,1123
+  SET $57,$67
+  SET $78,X
+  SET Y,1123
+  SET Y,$67
+  SET Y,X
+ X IS $31
+ Y IS $117
diff -cprN none/swym-op-r.d mmix/swym-op-r.d
*** none/swym-op-r.d	Thu Jan  1 01:00:00 1970
--- mmix/swym-op-r.d	Mon Jun 12 19:12:28 2000
***************
*** 0 ****
--- 1,16 ----
+ # objdump: -dr
+ # as: -linkrelax
+ # source: swym-op.s
+ .*:     file format elf64-mmix
+
+ Disassembly of section \.text:
+
+ 0000000000000000 <Main>:
+    0:	fd840def 	swym 132,13,239
+    4:	ff840def 	trip 132,13,239
+    8:	00845678 	trap 132,86,120
+    c:	00170def 	trap 23,13,239
+   10:	0023cace 	trap 35,202,206
+   14:	ff170c43 	trip 23,12,67
+   18:	ff175678 	trip 23,86,120
+   1c:	fd12d687 	swym 18,214,135
diff -cprN none/swym-op.d mmix/swym-op.d
*** none/swym-op.d	Thu Jan  1 01:00:00 1970
--- mmix/swym-op.d	Mon Jun  5 00:09:56 2000
***************
*** 0 ****
--- 1,14 ----
+ # objdump: -dr
+ .*:     file format elf64-mmix
+
+ Disassembly of section \.text:
+
+ 0000000000000000 <Main>:
+    0:	fd840def 	swym 132,13,239
+    4:	ff840def 	trip 132,13,239
+    8:	00845678 	trap 132,86,120
+    c:	00170def 	trap 23,13,239
+   10:	0023cace 	trap 35,202,206
+   14:	ff170c43 	trip 23,12,67
+   18:	ff175678 	trip 23,86,120
+   1c:	fd12d687 	swym 18,214,135
diff -cprN none/swym-op.l mmix/swym-op.l
*** none/swym-op.l	Thu Jan  1 01:00:00 1970
--- mmix/swym-op.l	Sat Jun  3 00:06:10 2000
***************
*** 0 ****
--- 1,30 ----
+ GAS for MMIX .*/swym-op\.s 			page 1
+
+
+    1              	#.*
+    2              	#.*
+    3 0000 FD840DEF 	Main	SWYM 132,3567
+    4 0004 FF840DEF 		TRIP 132,3567
+    5 0008 00845678 		TRAP 132,YZ
+    6 000c 00170DEF 		TRAP X,3567
+    7 0010 0023CACE 		TRAP 2345678
+    8 0014 FF170C43 		TRIP X,Y,Z
+    9 0018 FF175678 		TRIP X,YZ
+   10 001c FD12D687 		SWYM XYZ
+   11              	X IS 23
+   12              	Y IS 12
+   13              	Z IS 67
+   14              	YZ IS #5678
+   15              	XYZ IS 1234567
+ GAS for MMIX .*/swym-op\.s 			page 2
+
+
+ DEFINED SYMBOLS
+ .*/swym-op\.s:3      \.text:0000000000000000 Main
+                             \*ABS\*:0000000000005678 YZ
+                             \*ABS\*:0000000000000017 X
+                             \*ABS\*:000000000000000c Y
+                             \*ABS\*:0000000000000043 Z
+                             \*ABS\*:000000000012d687 XYZ
+
+ NO UNDEFINED SYMBOLS
diff -cprN none/swym-op.s mmix/swym-op.s
*** none/swym-op.s	Thu Jan  1 01:00:00 1970
--- mmix/swym-op.s	Fri Jun  2 23:35:36 2000
***************
*** 0 ****
--- 1,15 ----
+ # Check different type of operands to SWYM etc.
+ # No need to check the canonical three constants.
+ Main	SWYM 132,3567
+ 	TRIP 132,3567
+ 	TRAP 132,YZ
+ 	TRAP X,3567
+ 	TRAP 2345678
+ 	TRIP X,Y,Z
+ 	TRIP X,YZ
+ 	SWYM XYZ
+ X IS 23
+ Y IS 12
+ Z IS 67
+ YZ IS #5678
+ XYZ IS 1234567
diff -cprN none/sym-1.d mmix/sym-1.d
*** none/sym-1.d	Thu Jan  1 01:00:00 1970
--- mmix/sym-1.d	Fri Sep 14 09:53:56 2001
***************
*** 0 ****
--- 1,51 ----
+ #objdump: -dt
+
+ .*:     file format elf64-mmix
+
+ SYMBOL TABLE:
+ 0+ l    d  .text	0+
+ 0+ l    d  .data	0+
+ 0+ l    d  .bss	0+
+ 0+10 l       .text	0+ scl1
+ 0+14 l       .text	0+ :scl2
+ 0+20 l       .text	0+ endcl1
+ 0+24 l       .text	0+ endcl2:
+ 0+ g     F .text	0+ Main
+ 0+4 g       .text	0+ scg1
+ 0+8 g       .text	0+ scg2
+ 0+c g       .text	0+ :scg3
+ 0+18 g       .text	0+ endcg1
+ 0+1c g       .text	0+ endcg2:
+
+
+ Disassembly of section .text:
+
+ 0+ <Main>:
+    0:	fd000410 	swym 0,4,16
+
+ 0+4 <scg1>:
+    4:	fd100400 	swym 16,4,0
+
+ 0+8 <scg2>:
+    8:	fda12a1e 	swym 161,42,30
+
+ 0+c <:scg3>:
+    c:	fda32a14 	swym 163,42,20
+
+ 0+10 <scl1>:
+   10:	fd010203 	swym 1,2,3
+
+ 0+14 <:scl2>:
+   14:	fd010204 	swym 1,2,4
+
+ 0+18 <endcg1>:
+   18:	fd030201 	swym 3,2,1
+
+ 0+1c <endcg2:>:
+   1c:	fd030201 	swym 3,2,1
+
+ 0+20 <endcl1>:
+   20:	fd040302 	swym 4,3,2
+
+ 0+24 <endcl2:>:
+   24:	fd040302 	swym 4,3,2
diff -cprN none/sym-1.s mmix/sym-1.s
*** none/sym-1.s	Thu Jan  1 01:00:00 1970
--- mmix/sym-1.s	Fri Sep 14 09:51:47 2001
***************
*** 0 ****
--- 1,19 ----
+ # Test beginning and starting with ":"; it should be stripped off, but
+ # only one.  A trailing ":" is stripped off at a label only.
+
+ Main SWYM 0,4,16
+ 	.global :scg1
+ 	.global scg2
+ 	.global ::scg3
+ 	.global scg2
+ :scg1	SWYM 16,4,0
+ :scg2	SWYM 161,42,30
+ ::scg3	SWYM 163,42,20
+ :scl1	SWYM 1,2,3
+ ::scl2	SWYM 1,2,4
+ 	.global endcg1
+ 	.global endcg2:
+ endcg1:	SWYM 3,2,1
+ endcg2::	SWYM 3,2,1
+ endcl1:	SWYM 4,3,2
+ endcl2::	SWYM 4,3,2
diff -cprN none/sync-op-r.d mmix/sync-op-r.d
*** none/sync-op-r.d	Thu Jan  1 01:00:00 1970
--- mmix/sync-op-r.d	Mon Jun 12 19:13:00 2000
***************
*** 0 ****
--- 1,14 ----
+ # objdump: -dr
+ # as: -linkrelax
+ # source: sync-op.s
+ .*:     file format elf64-mmix
+
+ Disassembly of section .text:
+
+ 0000000000000000 <Main>:
+    0:	fc6e6406 	sync 7234566
+    4:	fc000000 	sync 0
+    8:	fc000001 	sync 1
+    c:	fc000000 	sync 0
+   10:	fc000001 	sync 1
+   14:	fc7c2242 	sync 8135234
diff -cprN none/sync-op.d mmix/sync-op.d
*** none/sync-op.d	Thu Jan  1 01:00:00 1970
--- mmix/sync-op.d	Mon Jun  5 00:10:38 2000
***************
*** 0 ****
--- 1,12 ----
+ # objdump: -dr
+ .*:     file format elf64-mmix
+
+ Disassembly of section .text:
+
+ 0000000000000000 <Main>:
+    0:	fc6e6406 	sync 7234566
+    4:	fc000000 	sync 0
+    8:	fc000001 	sync 1
+    c:	fc000000 	sync 0
+   10:	fc000001 	sync 1
+   14:	fc7c2242 	sync 8135234
diff -cprN none/sync-op.l mmix/sync-op.l
*** none/sync-op.l	Thu Jan  1 01:00:00 1970
--- mmix/sync-op.l	Sat Jun  3 21:11:56 2000
***************
*** 0 ****
--- 1,23 ----
+ GAS for MMIX .*/sync-op\.s 			page 1
+
+
+    1              	#.*
+    2 0000 FC6E6406 	Main	SYNC 7234566
+    3 0004 FC000000 		SYNC 0
+    4 0008 FC000001 		SYNC 1
+    5 000c FC000000 		SYNC Zz
+    6 0010 FC000001 		SYNC Zo
+    7 0014 FC7C2242 		SYNC Z
+    8              	Zz IS 0
+    9              	Zo IS 1
+   10              	Z IS 8135234
+ GAS for MMIX .*/sync-op\.s 			page 2
+
+
+ DEFINED SYMBOLS
+ .*/sync-op\.s:2      \.text:0000000000000000 Main
+                             \*ABS\*:0000000000000000 Zz
+                             \*ABS\*:0000000000000001 Zo
+                             \*ABS\*:00000000007c2242 Z
+
+ NO UNDEFINED SYMBOLS
diff -cprN none/sync-op.s mmix/sync-op.s
*** none/sync-op.s	Thu Jan  1 01:00:00 1970
--- mmix/sync-op.s	Sat Jun  3 21:09:43 2000
***************
*** 0 ****
--- 1,10 ----
+ # Test operands for SYNC.
+ Main	SYNC 7234566
+ 	SYNC 0
+ 	SYNC 1
+ 	SYNC Zz
+ 	SYNC Zo
+ 	SYNC Z
+ Zz IS 0
+ Zo IS 1
+ Z IS 8135234
diff -cprN none/tst.s mmix/tst.s
*** none/tst.s	Thu Jan  1 01:00:00 1970
--- mmix/tst.s	Sun Jun  4 17:51:05 2000
***************
*** 0 ****
--- 1,6 ----
+ Main SWYM 0
+ l1	GETA $5,foo
+ 	LDA $252,$34,127
+ 	SWYM 0,bar,baz
+ 	GETA $56,Main
+
diff -cprN none/two-op-r.d mmix/two-op-r.d
*** none/two-op-r.d	Thu Jan  1 01:00:00 1970
--- mmix/two-op-r.d	Mon Jun 12 19:13:58 2000
***************
*** 0 ****
--- 1,24 ----
+ # objdump: -dr
+ # as: -linkrelax
+ # source: two-op.s
+ .*:     file format elf64-mmix
+
+ Disassembly of section \.text:
+
+ 0000000000000000 <Main>:
+    0:	e0175840 	seth \$23,0x5840
+    4:	e12d5840 	setmh \$45,0x5840
+    8:	e8171ed4 	orh \$23,0x1ed4
+    c:	e92d3039 	ormh \$45,0x3039
+   10:	e2175840 	setml \$23,0x5840
+   14:	e32d5840 	setl \$45,0x5840
+   18:	ea171ed4 	orml \$23,0x1ed4
+   1c:	eb2d3039 	orl \$45,0x3039
+   20:	e42d3039 	inch \$45,0x3039
+   24:	e5171ed4 	incmh \$23,0x1ed4
+   28:	ec2d5840 	andnh \$45,0x5840
+   2c:	ed175840 	andnmh \$23,0x5840
+   30:	e6175840 	incml \$23,0x5840
+   34:	e72d5840 	incl \$45,0x5840
+   38:	ee171ed4 	andnml \$23,0x1ed4
+   3c:	ef2d3039 	andnl \$45,0x3039
diff -cprN none/two-op.d mmix/two-op.d
*** none/two-op.d	Thu Jan  1 01:00:00 1970
--- mmix/two-op.d	Mon Jun  5 00:17:17 2000
***************
*** 0 ****
--- 1,22 ----
+ # objdump: -dr
+ .*:     file format elf64-mmix
+
+ Disassembly of section \.text:
+
+ 0000000000000000 <Main>:
+    0:	e0175840 	seth \$23,0x5840
+    4:	e12d5840 	setmh \$45,0x5840
+    8:	e8171ed4 	orh \$23,0x1ed4
+    c:	e92d3039 	ormh \$45,0x3039
+   10:	e2175840 	setml \$23,0x5840
+   14:	e32d5840 	setl \$45,0x5840
+   18:	ea171ed4 	orml \$23,0x1ed4
+   1c:	eb2d3039 	orl \$45,0x3039
+   20:	e42d3039 	inch \$45,0x3039
+   24:	e5171ed4 	incmh \$23,0x1ed4
+   28:	ec2d5840 	andnh \$45,0x5840
+   2c:	ed175840 	andnmh \$23,0x5840
+   30:	e6175840 	incml \$23,0x5840
+   34:	e72d5840 	incl \$45,0x5840
+   38:	ee171ed4 	andnml \$23,0x1ed4
+   3c:	ef2d3039 	andnl \$45,0x3039
diff -cprN none/two-op.l mmix/two-op.l
*** none/two-op.l	Thu Jan  1 01:00:00 1970
--- mmix/two-op.l	Mon Jul  2 00:58:01 2001
***************
*** 0 ****
--- 1,35 ----
+ GAS for MMIX .*/two-op\.s 			page 1
+
+
+    1              	#.*
+    2              	#.*
+    3 0000 E0175840 	Main	SETH X,YZ
+    4 0004 E12D5840 		SETMH \$45,YZ
+    5 0008 E8171ED4 		ORH X,7892
+    6 000c E92D3039 		ORMH \$45,12345
+    7
+    8 0010 E2175840 		SETML X,YZ
+    9 0014 E32D5840 		SETL \$45,YZ
+   10 0018 EA171ED4 		ORML X,7892
+   11 001c EB2D3039 		ORL \$45,12345
+   12
+   13 0020 E42D3039 		INCH \$45,12345
+   14 0024 E5171ED4 		INCMH X,7892
+   15 0028 EC2D5840 		ANDNH \$45,YZ
+   16 002c ED175840 		ANDNMH X,YZ
+   17
+   18 0030 E6175840 		INCML X,YZ
+   19 0034 E72D5840 		INCL \$45,YZ
+   20 0038 EE171ED4 		ANDNML X,7892
+   21 003c EF2D3039 		ANDNL \$45,12345
+   22              	X IS \$23
+   23              	YZ IS #5678\+456
+ GAS for MMIX .*/two-op\.s 			page 2
+
+
+ DEFINED SYMBOLS
+ .*/two-op\.s:3      \.text:0000000000000000 Main
+                             \*REG\*:0000000000000017 X
+                             \*ABS\*:0000000000005840 YZ
+
+ NO UNDEFINED SYMBOLS
diff -cprN none/two-op.s mmix/two-op.s
*** none/two-op.s	Thu Jan  1 01:00:00 1970
--- mmix/two-op.s	Sat Jun  3 20:56:50 2000
***************
*** 0 ****
--- 1,23 ----
+ # Two-operand insns; 16-bit operand.
+ #
+ Main	SETH X,YZ
+ 	SETMH $45,YZ
+ 	ORH X,7892
+ 	ORMH $45,12345
+
+ 	SETML X,YZ
+ 	SETL $45,YZ
+ 	ORML X,7892
+ 	ORL $45,12345
+
+ 	INCH $45,12345
+ 	INCMH X,7892
+ 	ANDNH $45,YZ
+ 	ANDNMH X,YZ
+
+ 	INCML X,YZ
+ 	INCL $45,YZ
+ 	ANDNML X,7892
+ 	ANDNL $45,12345
+ X IS $23
+ YZ IS #5678+456
diff -cprN none/unsave-op-r.d mmix/unsave-op-r.d
*** none/unsave-op-r.d	Thu Jan  1 01:00:00 1970
--- mmix/unsave-op-r.d	Mon Jun 12 19:14:14 2000
***************
*** 0 ****
--- 1,11 ----
+ # objdump: -dr
+ # as: -linkrelax
+ # source: unsave-op.s
+ .*:     file format elf64-mmix
+
+ Disassembly of section \.text:
+
+ 0000000000000000 <Main>:
+    0:	fb00002d 	unsave 0,\$45
+    4:	fb00001f 	unsave 0,\$31
+    8:	fb000000 	unsave 0,\$0
diff -cprN none/unsave-op.d mmix/unsave-op.d
*** none/unsave-op.d	Thu Jan  1 01:00:00 1970
--- mmix/unsave-op.d	Mon Jun  5 00:13:26 2000
***************
*** 0 ****
--- 1,9 ----
+ # objdump: -dr
+ .*:     file format elf64-mmix
+
+ Disassembly of section \.text:
+
+ 0000000000000000 <Main>:
+    0:	fb00002d 	unsave 0,\$45
+    4:	fb00001f 	unsave 0,\$31
+    8:	fb000000 	unsave 0,\$0
diff -cprN none/unsave-op.l mmix/unsave-op.l
*** none/unsave-op.l	Thu Jan  1 01:00:00 1970
--- mmix/unsave-op.l	Mon Jul  2 00:57:28 2001
***************
*** 0 ****
--- 1,19 ----
+ GAS for MMIX .*/unsave-op.s 			page 1
+
+
+    1              	#.*
+    2 0000 FB00002D 	Main UNSAVE 0,\$45
+    3 0004 FB00001F 	 UNSAVE 0,X
+    4 0008 FB000000 	 UNSAVE 0,X0
+    5              	X IS \$31
+    6              	X0 IS \$0
+    7
+ GAS for MMIX .*/unsave-op\.s 			page 2
+
+
+ DEFINED SYMBOLS
+ .*/unsave-op.s:2      \.text:0000000000000000 Main
+                             \*REG\*:000000000000001f X
+                             \*REG\*:0000000000000000 X0
+
+ NO UNDEFINED SYMBOLS
diff -cprN none/unsave-op.s mmix/unsave-op.s
*** none/unsave-op.s	Thu Jan  1 01:00:00 1970
--- mmix/unsave-op.s	Sat Jun  3 22:59:51 2000
***************
*** 0 ****
--- 1,7 ----
+ # Test the 'u'-type operand, UNSAVE.
+ Main UNSAVE 0,$45
+  UNSAVE 0,X
+  UNSAVE 0,X0
+ X IS $31
+ X0 IS $0
+
diff -cprN none/zerop-1.d mmix/zerop-1.d
*** none/zerop-1.d	Thu Jan  1 01:00:00 1970
--- mmix/zerop-1.d	Tue Jul 17 16:05:35 2001
***************
*** 0 ****
--- 1,20 ----
+ #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:	00000000 	trap 0,0,0
+    4:	fd000000 	swym 0,0,0
+    8:	ff000000 	trip 0,0,0
+    c:	f0000000 	jmp c <Main\+0xc>
+   10:	f801e240 	pop 1,57920
+   14:	f8000000 	pop 0,0
diff -cprN none/zerop-1.s mmix/zerop-1.s
*** none/zerop-1.s	Thu Jan  1 01:00:00 1970
--- mmix/zerop-1.s	Wed Jul 11 20:24:59 2001
***************
*** 0 ****
--- 1,9 ----
+ # Check that we allow zero operands for some insns.
+ # Naked comments aren't supported when no operands are supplied; this
+ # matches mmixal behavior.
+ Main TRAP
+  SWYM
+  TRIP
+  JMP
+  POP 123456
+  POP

brgds, H-P



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]