Home | History | Annotate | Line # | Download | only in dist
      1  1.1  is #
      2  1.1  is # $NetBSD: ftest.s,v 1.1 2000/04/14 20:24:39 is Exp $
      3  1.1  is #
      4  1.1  is 
      5  1.1  is #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      6  1.1  is # MOTOROLA MICROPROCESSOR & MEMORY TECHNOLOGY GROUP
      7  1.1  is # M68000 Hi-Performance Microprocessor Division
      8  1.1  is # M68060 Software Package Production Release
      9  1.1  is #
     10  1.1  is # M68060 Software Package Copyright (C) 1993, 1994, 1995, 1996 Motorola Inc.
     11  1.1  is # All rights reserved.
     12  1.1  is #
     13  1.1  is # THE SOFTWARE is provided on an "AS IS" basis and without warranty.
     14  1.1  is # To the maximum extent permitted by applicable law,
     15  1.1  is # MOTOROLA DISCLAIMS ALL WARRANTIES WHETHER EXPRESS OR IMPLIED,
     16  1.1  is # INCLUDING IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS
     17  1.1  is # FOR A PARTICULAR PURPOSE and any warranty against infringement with
     18  1.1  is # regard to the SOFTWARE (INCLUDING ANY MODIFIED VERSIONS THEREOF)
     19  1.1  is # and any accompanying written materials.
     20  1.1  is #
     21  1.1  is # To the maximum extent permitted by applicable law,
     22  1.1  is # IN NO EVENT SHALL MOTOROLA BE LIABLE FOR ANY DAMAGES WHATSOEVER
     23  1.1  is # (INCLUDING WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
     24  1.1  is # BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR OTHER PECUNIARY LOSS)
     25  1.1  is # ARISING OF THE USE OR INABILITY TO USE THE SOFTWARE.
     26  1.1  is #
     27  1.1  is # Motorola assumes no responsibility for the maintenance and support
     28  1.1  is # of the SOFTWARE.
     29  1.1  is #
     30  1.1  is # You are hereby granted a copyright license to use, modify, and distribute the
     31  1.1  is # SOFTWARE so long as this entire notice is retained without alteration
     32  1.1  is # in any modified and/or redistributed versions, and that such modified
     33  1.1  is # versions are clearly identified as such.
     34  1.1  is # No licenses are granted by implication, estoppel or otherwise under any
     35  1.1  is # patents or trademarks of Motorola, Inc.
     36  1.1  is #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     37  1.1  is 
     38  1.1  is #############################################
     39  1.1  is set	SREGS,		-64
     40  1.1  is set	IREGS,		-128
     41  1.1  is set	IFPREGS,	-224
     42  1.1  is set	SFPREGS,	-320
     43  1.1  is set	IFPCREGS,	-332
     44  1.1  is set	SFPCREGS,	-344
     45  1.1  is set	ICCR,		-346
     46  1.1  is set	SCCR,		-348
     47  1.1  is set	TESTCTR,	-352
     48  1.1  is set	DATA,		-384
     49  1.1  is 
     50  1.1  is #############################################
     51  1.1  is TESTTOP:
     52  1.1  is 	bra.l		_060TESTS_
     53  1.1  is 	short		0x0000
     54  1.1  is 
     55  1.1  is 	bra.l		_060TESTS_unimp
     56  1.1  is 	short		0x0000
     57  1.1  is 
     58  1.1  is 	bra.l		_060TESTS_enable
     59  1.1  is 	short		0x0000
     60  1.1  is 
     61  1.1  is start_str:
     62  1.1  is 	string		"Testing 68060 FPSP started:\n"
     63  1.1  is 
     64  1.1  is start_str_unimp:
     65  1.1  is 	string		"Testing 68060 FPSP unimplemented instruction started:\n"
     66  1.1  is 
     67  1.1  is start_str_enable:
     68  1.1  is 	string		"Testing 68060 FPSP exception enabled started:\n"
     69  1.1  is 
     70  1.1  is pass_str:
     71  1.1  is 	string		"passed\n"
     72  1.1  is 
     73  1.1  is fail_str:
     74  1.1  is 	string		" failed\n"
     75  1.1  is 
     76  1.1  is 	align		0x4
     77  1.1  is chk_test:
     78  1.1  is 	tst.l		%d0
     79  1.1  is 	bne.b		test_fail
     80  1.1  is test_pass:
     81  1.1  is 	pea		pass_str(%pc)
     82  1.1  is 	bsr.l		_print_str
     83  1.1  is 	addq.l		&0x4,%sp
     84  1.1  is 	rts
     85  1.1  is test_fail:
     86  1.1  is 	mov.l		%d1,-(%sp)
     87  1.1  is 	bsr.l		_print_num
     88  1.1  is 	addq.l		&0x4,%sp
     89  1.1  is 
     90  1.1  is 	pea		fail_str(%pc)
     91  1.1  is 	bsr.l		_print_str
     92  1.1  is 	addq.l		&0x4,%sp
     93  1.1  is 	rts
     94  1.1  is 
     95  1.1  is #############################################
     96  1.1  is _060TESTS_:
     97  1.1  is 	link		%a6,&-384
     98  1.1  is 
     99  1.1  is 	movm.l		&0x3f3c,-(%sp)
    100  1.1  is 	fmovm.x		&0xff,-(%sp)
    101  1.1  is 
    102  1.1  is 	pea		start_str(%pc)
    103  1.1  is 	bsr.l		_print_str
    104  1.1  is 	addq.l		&0x4,%sp
    105  1.1  is 
    106  1.1  is ### effadd
    107  1.1  is 	clr.l		TESTCTR(%a6)
    108  1.1  is 	pea		effadd_str(%pc)
    109  1.1  is 	bsr.l		_print_str
    110  1.1  is 	addq.l		&0x4,%sp
    111  1.1  is 
    112  1.1  is 	bsr.l		effadd_0
    113  1.1  is 
    114  1.1  is 	bsr.l		chk_test
    115  1.1  is 
    116  1.1  is ### unsupp
    117  1.1  is 	clr.l		TESTCTR(%a6)
    118  1.1  is 	pea		unsupp_str(%pc)
    119  1.1  is 	bsr.l		_print_str
    120  1.1  is 	addq.l		&0x4,%sp
    121  1.1  is 
    122  1.1  is 	bsr.l		unsupp_0
    123  1.1  is 
    124  1.1  is 	bsr.l		chk_test
    125  1.1  is 
    126  1.1  is ### ovfl non-maskable
    127  1.1  is 	clr.l		TESTCTR(%a6)
    128  1.1  is 	pea		ovfl_nm_str(%pc)
    129  1.1  is 	bsr.l		_print_str
    130  1.1  is 	bsr.l		ovfl_nm_0
    131  1.1  is 
    132  1.1  is 	bsr.l		chk_test
    133  1.1  is 
    134  1.1  is ### unfl non-maskable
    135  1.1  is 	clr.l		TESTCTR(%a6)
    136  1.1  is 	pea		unfl_nm_str(%pc)
    137  1.1  is 	bsr.l		_print_str
    138  1.1  is 	bsr.l		unfl_nm_0
    139  1.1  is 
    140  1.1  is 	bsr.l		chk_test
    141  1.1  is 
    142  1.1  is 	movm.l		(%sp)+,&0x3cfc
    143  1.1  is 	fmovm.x		(%sp)+,&0xff
    144  1.1  is 
    145  1.1  is 	unlk		%a6
    146  1.1  is 	rts
    147  1.1  is 
    148  1.1  is _060TESTS_unimp:
    149  1.1  is 	link		%a6,&-384
    150  1.1  is 
    151  1.1  is 	movm.l		&0x3f3c,-(%sp)
    152  1.1  is 	fmovm.x		&0xff,-(%sp)
    153  1.1  is 
    154  1.1  is 	pea		start_str_unimp(%pc)
    155  1.1  is 	bsr.l		_print_str
    156  1.1  is 	addq.l		&0x4,%sp
    157  1.1  is 
    158  1.1  is ### unimp
    159  1.1  is 	clr.l		TESTCTR(%a6)
    160  1.1  is 	pea		unimp_str(%pc)
    161  1.1  is 	bsr.l		_print_str
    162  1.1  is 	addq.l		&0x4,%sp
    163  1.1  is 
    164  1.1  is 	bsr.l		unimp_0
    165  1.1  is 
    166  1.1  is 	bsr.l		chk_test
    167  1.1  is 
    168  1.1  is 	movm.l		(%sp)+,&0x3cfc
    169  1.1  is 	fmovm.x		(%sp)+,&0xff
    170  1.1  is 
    171  1.1  is 	unlk		%a6
    172  1.1  is 	rts
    173  1.1  is 
    174  1.1  is _060TESTS_enable:
    175  1.1  is 	link		%a6,&-384
    176  1.1  is 
    177  1.1  is 	movm.l		&0x3f3c,-(%sp)
    178  1.1  is 	fmovm.x		&0xff,-(%sp)
    179  1.1  is 
    180  1.1  is 	pea		start_str_enable(%pc)
    181  1.1  is 	bsr.l		_print_str
    182  1.1  is 	addq.l		&0x4,%sp
    183  1.1  is 
    184  1.1  is ### snan
    185  1.1  is 	clr.l		TESTCTR(%a6)
    186  1.1  is 	pea		snan_str(%pc)
    187  1.1  is 	bsr.l		_print_str
    188  1.1  is 	bsr.l		snan_0
    189  1.1  is 
    190  1.1  is 	bsr.l		chk_test
    191  1.1  is 
    192  1.1  is ### operr
    193  1.1  is 	clr.l		TESTCTR(%a6)
    194  1.1  is 	pea		operr_str(%pc)
    195  1.1  is 	bsr.l		_print_str
    196  1.1  is 	bsr.l		operr_0
    197  1.1  is 
    198  1.1  is 	bsr.l		chk_test
    199  1.1  is 
    200  1.1  is ### ovfl
    201  1.1  is 	clr.l		TESTCTR(%a6)
    202  1.1  is 	pea		ovfl_str(%pc)
    203  1.1  is 	bsr.l		_print_str
    204  1.1  is 	bsr.l		ovfl_0
    205  1.1  is 
    206  1.1  is 	bsr.l		chk_test
    207  1.1  is 
    208  1.1  is ### unfl
    209  1.1  is 	clr.l		TESTCTR(%a6)
    210  1.1  is 	pea		unfl_str(%pc)
    211  1.1  is 	bsr.l		_print_str
    212  1.1  is 	bsr.l		unfl_0
    213  1.1  is 
    214  1.1  is 	bsr.l		chk_test
    215  1.1  is 
    216  1.1  is ### dz
    217  1.1  is 	clr.l		TESTCTR(%a6)
    218  1.1  is 	pea		dz_str(%pc)
    219  1.1  is 	bsr.l		_print_str
    220  1.1  is 	bsr.l		dz_0
    221  1.1  is 
    222  1.1  is 	bsr.l		chk_test
    223  1.1  is 
    224  1.1  is ### inexact
    225  1.1  is 	clr.l		TESTCTR(%a6)
    226  1.1  is 	pea		inex_str(%pc)
    227  1.1  is 	bsr.l		_print_str
    228  1.1  is 	bsr.l		inex_0
    229  1.1  is 
    230  1.1  is 	bsr.l		chk_test
    231  1.1  is 
    232  1.1  is 	movm.l		(%sp)+,&0x3cfc
    233  1.1  is 	fmovm.x		(%sp)+,&0xff
    234  1.1  is 
    235  1.1  is 	unlk		%a6
    236  1.1  is 	rts
    237  1.1  is 
    238  1.1  is #############################################
    239  1.1  is #############################################
    240  1.1  is 
    241  1.1  is unimp_str:
    242  1.1  is 	string		"\tUnimplemented FP instructions..."
    243  1.1  is 
    244  1.1  is 	align		0x4
    245  1.1  is unimp_0:
    246  1.1  is 	addq.l		&0x1,TESTCTR(%a6)
    247  1.1  is 
    248  1.1  is 	movm.l		DEF_REGS(%pc),&0x3fff
    249  1.1  is 	fmovm.x		DEF_FPREGS(%pc),&0xff
    250  1.1  is 	fmovm.l		DEF_FPCREGS(%pc),%fpcr,%fpsr,%fpiar
    251  1.1  is 
    252  1.1  is 	mov.w		&0x0000,ICCR(%a6)
    253  1.1  is 	movm.l		&0x7fff,IREGS(%a6)
    254  1.1  is 	fmovm.x		&0xff,IFPREGS(%a6)
    255  1.1  is 	fmovm.l		%fpcr,%fpsr,%fpiar,IFPCREGS(%a6)
    256  1.1  is 
    257  1.1  is 	mov.l		&0x40000000,DATA+0x0(%a6)
    258  1.1  is 	mov.l		&0xc90fdaa2,DATA+0x4(%a6)
    259  1.1  is 	mov.l		&0x2168c235,DATA+0x8(%a6)
    260  1.1  is 
    261  1.1  is 	mov.w		&0x0000,%cc
    262  1.1  is unimp_0_pc:
    263  1.1  is 	fsin.x		DATA(%a6),%fp0
    264  1.1  is 
    265  1.1  is 	mov.w		%cc,SCCR(%a6)
    266  1.1  is 	movm.l		&0x7fff,SREGS(%a6)
    267  1.1  is 	fmovm.x		&0xff,SFPREGS(%a6)
    268  1.1  is 	fmovm.l		%fpcr,%fpsr,%fpiar,SFPCREGS(%a6)
    269  1.1  is 
    270  1.1  is 	mov.l		&0xbfbf0000,IFPREGS+0x0(%a6)
    271  1.1  is 	mov.l		&0x80000000,IFPREGS+0x4(%a6)
    272  1.1  is 	mov.l		&0x00000000,IFPREGS+0x8(%a6)
    273  1.1  is 	mov.l		&0x08000208,IFPCREGS+0x4(%a6)
    274  1.1  is 	lea		unimp_0_pc(%pc),%a0
    275  1.1  is 	mov.l		%a0,IFPCREGS+0x8(%a6)
    276  1.1  is 
    277  1.1  is 	bsr.l		chkregs
    278  1.1  is 	tst.b		%d0
    279  1.1  is 	bne.l		error
    280  1.1  is 
    281  1.1  is 	bsr.l		chkfpregs
    282  1.1  is 	tst.b		%d0
    283  1.1  is 	bne.l		error
    284  1.1  is 
    285  1.1  is unimp_1:
    286  1.1  is 	addq.l		&0x1,TESTCTR(%a6)
    287  1.1  is 
    288  1.1  is 	movm.l		DEF_REGS(%pc),&0x3fff
    289  1.1  is 	fmovm.x		DEF_FPREGS(%pc),&0xff
    290  1.1  is 	fmovm.l		DEF_FPCREGS(%pc),%fpcr,%fpsr,%fpiar
    291  1.1  is 
    292  1.1  is 	mov.w		&0x0000,ICCR(%a6)
    293  1.1  is 	movm.l		&0x7fff,IREGS(%a6)
    294  1.1  is 	fmovm.x		&0xff,IFPREGS(%a6)
    295  1.1  is 	fmovm.l		%fpcr,%fpsr,%fpiar,IFPCREGS(%a6)
    296  1.1  is 
    297  1.1  is 	mov.l		&0x3ffe0000,DATA+0x0(%a6)
    298  1.1  is 	mov.l		&0xc90fdaa2,DATA+0x4(%a6)
    299  1.1  is 	mov.l		&0x2168c235,DATA+0x8(%a6)
    300  1.1  is 
    301  1.1  is 	mov.w		&0x0000,%cc
    302  1.1  is unimp_1_pc:
    303  1.1  is 	ftan.x		DATA(%a6),%fp0
    304  1.1  is 
    305  1.1  is 	mov.w		%cc,SCCR(%a6)
    306  1.1  is 	movm.l		&0x7fff,SREGS(%a6)
    307  1.1  is 	fmovm.x		&0xff,SFPREGS(%a6)
    308  1.1  is 	fmovm.l		%fpcr,%fpsr,%fpiar,SFPCREGS(%a6)
    309  1.1  is 
    310  1.1  is 	mov.l		&0x3fff0000,IFPREGS+0x0(%a6)
    311  1.1  is 	mov.l		&0x80000000,IFPREGS+0x4(%a6)
    312  1.1  is 	mov.l		&0x00000000,IFPREGS+0x8(%a6)
    313  1.1  is 	mov.l		&0x00000208,IFPCREGS+0x4(%a6)
    314  1.1  is 	lea		unimp_1_pc(%pc),%a0
    315  1.1  is 	mov.l		%a0,IFPCREGS+0x8(%a6)
    316  1.1  is 
    317  1.1  is 	bsr.l		chkregs
    318  1.1  is 	tst.b		%d0
    319  1.1  is 	bne.l		error
    320  1.1  is 
    321  1.1  is 	bsr.l		chkfpregs
    322  1.1  is 	tst.b		%d0
    323  1.1  is 	bne.l		error
    324  1.1  is 
    325  1.1  is # fmovecr
    326  1.1  is unimp_2:
    327  1.1  is 	addq.l		&0x1,TESTCTR(%a6)
    328  1.1  is 
    329  1.1  is 	movm.l		DEF_REGS(%pc),&0x3fff
    330  1.1  is 	fmovm.x		DEF_FPREGS(%pc),&0xff
    331  1.1  is 	fmovm.l		DEF_FPCREGS(%pc),%fpcr,%fpsr,%fpiar
    332  1.1  is 
    333  1.1  is 	mov.w		&0x0000,ICCR(%a6)
    334  1.1  is 	movm.l		&0x7fff,IREGS(%a6)
    335  1.1  is 	fmovm.x		&0xff,IFPREGS(%a6)
    336  1.1  is 	fmovm.l		%fpcr,%fpsr,%fpiar,IFPCREGS(%a6)
    337  1.1  is 
    338  1.1  is 	mov.w		&0x0000,%cc
    339  1.1  is unimp_2_pc:
    340  1.1  is 	fmovcr.x	&0x31,%fp0
    341  1.1  is 
    342  1.1  is 	mov.w		%cc,SCCR(%a6)
    343  1.1  is 	movm.l		&0x7fff,SREGS(%a6)
    344  1.1  is 	fmovm.x		&0xff,SFPREGS(%a6)
    345  1.1  is 	fmovm.l		%fpcr,%fpsr,%fpiar,SFPCREGS(%a6)
    346  1.1  is 
    347  1.1  is 	mov.l		&0x40000000,IFPREGS+0x0(%a6)
    348  1.1  is 	mov.l		&0x935d8ddd,IFPREGS+0x4(%a6)
    349  1.1  is 	mov.l		&0xaaa8ac17,IFPREGS+0x8(%a6)
    350  1.1  is 	mov.l		&0x00000208,IFPCREGS+0x4(%a6)
    351  1.1  is 	lea		unimp_2_pc(%pc),%a0
    352  1.1  is 	mov.l		%a0,IFPCREGS+0x8(%a6)
    353  1.1  is 
    354  1.1  is 	bsr.l		chkregs
    355  1.1  is 	tst.b		%d0
    356  1.1  is 	bne.l		error
    357  1.1  is 
    358  1.1  is 	bsr.l		chkfpregs
    359  1.1  is 	tst.b		%d0
    360  1.1  is 	bne.l		error
    361  1.1  is 
    362  1.1  is # fscc
    363  1.1  is unimp_3:
    364  1.1  is 	addq.l		&0x1,TESTCTR(%a6)
    365  1.1  is 
    366  1.1  is 	movm.l		DEF_REGS(%pc),&0x3fff
    367  1.1  is 	fmovm.x		DEF_FPREGS(%pc),&0xff
    368  1.1  is 	fmovm.l		DEF_FPCREGS(%pc),%fpcr,%fpsr,%fpiar
    369  1.1  is 
    370  1.1  is 	fmov.l		&0x0f000000,%fpsr
    371  1.1  is 	mov.l		&0x00,%d7
    372  1.1  is 
    373  1.1  is 	mov.w		&0x0000,ICCR(%a6)
    374  1.1  is 	movm.l		&0x7fff,IREGS(%a6)
    375  1.1  is 	fmovm.x		&0xff,IFPREGS(%a6)
    376  1.1  is 	fmovm.l		%fpcr,%fpsr,%fpiar,IFPCREGS(%a6)
    377  1.1  is 
    378  1.1  is 	mov.w		&0x0000,%cc
    379  1.1  is unimp_3_pc:
    380  1.1  is 	fsgt		%d7
    381  1.1  is 
    382  1.1  is 	mov.w		%cc,SCCR(%a6)
    383  1.1  is 	movm.l		&0x7fff,SREGS(%a6)
    384  1.1  is 	fmovm.x		&0xff,SFPREGS(%a6)
    385  1.1  is 	fmovm.l		%fpcr,%fpsr,%fpiar,SFPCREGS(%a6)
    386  1.1  is 	mov.l		&0x0f008080,IFPCREGS+0x4(%a6)
    387  1.1  is 	lea		unimp_3_pc(%pc),%a0
    388  1.1  is 	mov.l		%a0,IFPCREGS+0x8(%a6)
    389  1.1  is 
    390  1.1  is 	bsr.l		chkregs
    391  1.1  is 	tst.b		%d0
    392  1.1  is 	bne.l		error
    393  1.1  is 
    394  1.1  is 	bsr.l		chkfpregs
    395  1.1  is 	tst.b		%d0
    396  1.1  is 	bne.l		error
    397  1.1  is 
    398  1.1  is # fdbcc
    399  1.1  is unimp_4:
    400  1.1  is 	addq.l		&0x1,TESTCTR(%a6)
    401  1.1  is 
    402  1.1  is 	movm.l		DEF_REGS(%pc),&0x3fff
    403  1.1  is 	fmovm.x		DEF_FPREGS(%pc),&0xff
    404  1.1  is 	fmovm.l		DEF_FPCREGS(%pc),%fpcr,%fpsr,%fpiar
    405  1.1  is 
    406  1.1  is 	fmov.l		&0x0f000000,%fpsr
    407  1.1  is 	mov.l		&0x2,%d7
    408  1.1  is 
    409  1.1  is 	mov.w		&0x0000,ICCR(%a6)
    410  1.1  is 	movm.l		&0x7fff,IREGS(%a6)
    411  1.1  is 	fmovm.x		&0xff,IFPREGS(%a6)
    412  1.1  is 	fmovm.l		%fpcr,%fpsr,%fpiar,IFPCREGS(%a6)
    413  1.1  is 
    414  1.1  is 	mov.w		&0x0000,%cc
    415  1.1  is unimp_4_pc:
    416  1.1  is 	fdbgt.w		%d7,unimp_4_pc
    417  1.1  is 
    418  1.1  is 	mov.w		%cc,SCCR(%a6)
    419  1.1  is 	movm.l		&0x7fff,SREGS(%a6)
    420  1.1  is 	fmovm.x		&0xff,SFPREGS(%a6)
    421  1.1  is 	fmovm.l		%fpcr,%fpsr,%fpiar,SFPCREGS(%a6)
    422  1.1  is 	mov.w		&0xffff,IREGS+28+2(%a6)
    423  1.1  is 	mov.l		&0x0f008080,IFPCREGS+0x4(%a6)
    424  1.1  is 	lea		unimp_4_pc(%pc),%a0
    425  1.1  is 	mov.l		%a0,IFPCREGS+0x8(%a6)
    426  1.1  is 
    427  1.1  is 	bsr.l		chkregs
    428  1.1  is 	tst.b		%d0
    429  1.1  is 	bne.l		error
    430  1.1  is 
    431  1.1  is 	bsr.l		chkfpregs
    432  1.1  is 	tst.b		%d0
    433  1.1  is 	bne.l		error
    434  1.1  is 
    435  1.1  is # ftrapcc
    436  1.1  is unimp_5:
    437  1.1  is 	addq.l		&0x1,TESTCTR(%a6)
    438  1.1  is 
    439  1.1  is 	movm.l		DEF_REGS(%pc),&0x3fff
    440  1.1  is 	fmovm.x		DEF_FPREGS(%pc),&0xff
    441  1.1  is 	fmovm.l		DEF_FPCREGS(%pc),%fpcr,%fpsr,%fpiar
    442  1.1  is 
    443  1.1  is 	fmov.l		&0x0f000000,%fpsr
    444  1.1  is 
    445  1.1  is 	mov.w		&0x0000,ICCR(%a6)
    446  1.1  is 	movm.l		&0x7fff,IREGS(%a6)
    447  1.1  is 	fmovm.x		&0xff,IFPREGS(%a6)
    448  1.1  is 	fmovm.l		%fpcr,%fpsr,%fpiar,IFPCREGS(%a6)
    449  1.1  is 
    450  1.1  is 	mov.w		&0x0000,%cc
    451  1.1  is unimp_5_pc:
    452  1.1  is 	ftpgt.l		&0xabcdef01
    453  1.1  is 
    454  1.1  is 	mov.w		%cc,SCCR(%a6)
    455  1.1  is 	movm.l		&0x7fff,SREGS(%a6)
    456  1.1  is 	fmovm.x		&0xff,SFPREGS(%a6)
    457  1.1  is 	fmovm.l		%fpcr,%fpsr,%fpiar,SFPCREGS(%a6)
    458  1.1  is 	mov.l		&0x0f008080,IFPCREGS+0x4(%a6)
    459  1.1  is 	lea		unimp_5_pc(%pc),%a0
    460  1.1  is 	mov.l		%a0,IFPCREGS+0x8(%a6)
    461  1.1  is 
    462  1.1  is 	bsr.l		chkregs
    463  1.1  is 	tst.b		%d0
    464  1.1  is 	bne.l		error
    465  1.1  is 
    466  1.1  is 	bsr.l		chkfpregs
    467  1.1  is 	tst.b		%d0
    468  1.1  is 	bne.l		error
    469  1.1  is 
    470  1.1  is 	clr.l		%d0
    471  1.1  is 	rts
    472  1.1  is 
    473  1.1  is #############################################
    474  1.1  is 
    475  1.1  is effadd_str:
    476  1.1  is 	string		"\tUnimplemented <ea>..."
    477  1.1  is 
    478  1.1  is 	align		0x4
    479  1.1  is effadd_0:
    480  1.1  is 	addq.l		&0x1,TESTCTR(%a6)
    481  1.1  is 
    482  1.1  is 	movm.l		DEF_REGS(%pc),&0x3fff
    483  1.1  is 	fmovm.x		DEF_FPREGS(%pc),&0xff
    484  1.1  is 	fmovm.l		DEF_FPCREGS(%pc),%fpcr,%fpsr,%fpiar
    485  1.1  is 
    486  1.1  is 	mov.w		&0x0000,ICCR(%a6)
    487  1.1  is 	movm.l		&0x7fff,IREGS(%a6)
    488  1.1  is 	fmovm.x		&0xff,IFPREGS(%a6)
    489  1.1  is 	fmovm.l		%fpcr,%fpsr,%fpiar,IFPCREGS(%a6)
    490  1.1  is 
    491  1.1  is 	fmov.b		&0x2,%fp0
    492  1.1  is 
    493  1.1  is 	mov.w		&0x0000,%cc
    494  1.1  is effadd_0_pc:
    495  1.1  is 	fmul.x		&0xc00000008000000000000000,%fp0
    496  1.1  is 
    497  1.1  is 	mov.w		%cc,SCCR(%a6)
    498  1.1  is 	movm.l		&0x7fff,SREGS(%a6)
    499  1.1  is 	fmovm.x		&0xff,SFPREGS(%a6)
    500  1.1  is 	fmovm.l		%fpcr,%fpsr,%fpiar,SFPCREGS(%a6)
    501  1.1  is 
    502  1.1  is 	mov.l		&0xc0010000,IFPREGS+0x0(%a6)
    503  1.1  is 	mov.l		&0x80000000,IFPREGS+0x4(%a6)
    504  1.1  is 	mov.l		&0x00000000,IFPREGS+0x8(%a6)
    505  1.1  is 	mov.l		&0x08000000,IFPCREGS+0x4(%a6)
    506  1.1  is 	lea		effadd_0_pc(%pc),%a0
    507  1.1  is 	mov.l		%a0,IFPCREGS+0x8(%a6)
    508  1.1  is 
    509  1.1  is 	bsr.l		chkregs
    510  1.1  is 	tst.b		%d0
    511  1.1  is 	bne.l		error
    512  1.1  is 
    513  1.1  is 	bsr.l		chkfpregs
    514  1.1  is 	tst.b		%d0
    515  1.1  is 	bne.l		error
    516  1.1  is 
    517  1.1  is effadd_1:
    518  1.1  is 	addq.l		&0x1,TESTCTR(%a6)
    519  1.1  is 
    520  1.1  is 	movm.l		DEF_REGS(%pc),&0x3fff
    521  1.1  is 	fmovm.x		DEF_FPREGS(%pc),&0xff
    522  1.1  is 	fmovm.l		DEF_FPCREGS(%pc),%fpcr,%fpsr,%fpiar
    523  1.1  is 
    524  1.1  is 	mov.w		&0x0000,ICCR(%a6)
    525  1.1  is 	movm.l		&0x7fff,IREGS(%a6)
    526  1.1  is 	fmovm.x		&0xff,IFPREGS(%a6)
    527  1.1  is 	fmovm.l		%fpcr,%fpsr,%fpiar,IFPCREGS(%a6)
    528  1.1  is 
    529  1.1  is 	mov.w		&0x0000,%cc
    530  1.1  is effadd_1_pc:
    531  1.1  is 	fabs.p		&0xc12300012345678912345678,%fp0
    532  1.1  is 
    533  1.1  is 	mov.w		%cc,SCCR(%a6)
    534  1.1  is 	movm.l		&0x7fff,SREGS(%a6)
    535  1.1  is 	fmovm.x		&0xff,SFPREGS(%a6)
    536  1.1  is 	fmovm.l		%fpcr,%fpsr,%fpiar,SFPCREGS(%a6)
    537  1.1  is 
    538  1.1  is 	mov.l		&0x3e660000,IFPREGS+0x0(%a6)
    539  1.1  is 	mov.l		&0xd0ed23e8,IFPREGS+0x4(%a6)
    540  1.1  is 	mov.l		&0xd14035bc,IFPREGS+0x8(%a6)
    541  1.1  is 	mov.l		&0x00000108,IFPCREGS+0x4(%a6)
    542  1.1  is 	lea		effadd_1_pc(%pc),%a0
    543  1.1  is 	mov.l		%a0,IFPCREGS+0x8(%a6)
    544  1.1  is 
    545  1.1  is 	bsr.l		chkregs
    546  1.1  is 	tst.b		%d0
    547  1.1  is 	bne.l		error
    548  1.1  is 
    549  1.1  is 	bsr.l		chkfpregs
    550  1.1  is 	tst.b		%d0
    551  1.1  is 	bne.l		error
    552  1.1  is 
    553  1.1  is fmovml_0:
    554  1.1  is 	addq.l		&0x1,TESTCTR(%a6)
    555  1.1  is 
    556  1.1  is 	movm.l		DEF_REGS(%pc),&0x3fff
    557  1.1  is 	fmovm.x		DEF_FPREGS(%pc),&0xff
    558  1.1  is 	fmovm.l		DEF_FPCREGS(%pc),%fpcr,%fpsr,%fpiar
    559  1.1  is 
    560  1.1  is 	mov.w		&0x0000,ICCR(%a6)
    561  1.1  is 	mov.w		&0x0000,%cc
    562  1.1  is 	movm.l		&0x7fff,IREGS(%a6)
    563  1.1  is 	fmovm.x		&0xff,IFPREGS(%a6)
    564  1.1  is 	fmovm.l		%fpcr,%fpsr,%fpiar,IFPCREGS(%a6)
    565  1.1  is 
    566  1.1  is 	fmovm.l		&0xffffffffffffffff,%fpcr,%fpsr
    567  1.1  is 
    568  1.1  is 	mov.w		%cc,SCCR(%a6)
    569  1.1  is 	movm.l		&0x7fff,SREGS(%a6)
    570  1.1  is 	fmovm.x		&0xff,SFPREGS(%a6)
    571  1.1  is 	fmovm.l		%fpcr,%fpsr,%fpiar,SFPCREGS(%a6)
    572  1.1  is 	mov.l		&0x0000fff0,IFPCREGS+0x0(%a6)
    573  1.1  is 	mov.l		&0x0ffffff8,IFPCREGS+0x4(%a6)
    574  1.1  is 
    575  1.1  is 	bsr.l		chkregs
    576  1.1  is 	tst.b		%d0
    577  1.1  is 	bne.l		error
    578  1.1  is 
    579  1.1  is 	bsr.l		chkfpregs
    580  1.1  is 	tst.b		%d0
    581  1.1  is 	bne.l		error
    582  1.1  is 
    583  1.1  is fmovml_1:
    584  1.1  is 	addq.l		&0x1,TESTCTR(%a6)
    585  1.1  is 
    586  1.1  is 	movm.l		DEF_REGS(%pc),&0x3fff
    587  1.1  is 	fmovm.x		DEF_FPREGS(%pc),&0xff
    588  1.1  is 	fmovm.l		DEF_FPCREGS(%pc),%fpcr,%fpsr,%fpiar
    589  1.1  is 
    590  1.1  is 	mov.w		&0x0000,ICCR(%a6)
    591  1.1  is 	mov.w		&0x0000,%cc
    592  1.1  is 	movm.l		&0x7fff,IREGS(%a6)
    593  1.1  is 	fmovm.x		&0xff,IFPREGS(%a6)
    594  1.1  is 	fmovm.l		%fpcr,%fpsr,%fpiar,IFPCREGS(%a6)
    595  1.1  is 
    596  1.1  is 	fmovm.l		&0xffffffffffffffff,%fpcr,%fpiar
    597  1.1  is 
    598  1.1  is 	mov.w		%cc,SCCR(%a6)
    599  1.1  is 	movm.l		&0x7fff,SREGS(%a6)
    600  1.1  is 	fmovm.x		&0xff,SFPREGS(%a6)
    601  1.1  is 	fmovm.l		%fpcr,%fpsr,%fpiar,SFPCREGS(%a6)
    602  1.1  is 	mov.l		&0x0000fff0,IFPCREGS+0x0(%a6)
    603  1.1  is 	mov.l		&0xffffffff,IFPCREGS+0x8(%a6)
    604  1.1  is 
    605  1.1  is 	bsr.l		chkregs
    606  1.1  is 	tst.b		%d0
    607  1.1  is 	bne.l		error
    608  1.1  is 
    609  1.1  is 	bsr.l		chkfpregs
    610  1.1  is 	tst.b		%d0
    611  1.1  is 	bne.l		error
    612  1.1  is 
    613  1.1  is fmovml_2:
    614  1.1  is 	addq.l		&0x1,TESTCTR(%a6)
    615  1.1  is 
    616  1.1  is 	movm.l		DEF_REGS(%pc),&0x3fff
    617  1.1  is 	fmovm.x		DEF_FPREGS(%pc),&0xff
    618  1.1  is 	fmovm.l		DEF_FPCREGS(%pc),%fpcr,%fpsr,%fpiar
    619  1.1  is 
    620  1.1  is 	mov.w		&0x0000,ICCR(%a6)
    621  1.1  is 	mov.w		&0x0000,%cc
    622  1.1  is 	movm.l		&0x7fff,IREGS(%a6)
    623  1.1  is 	fmovm.x		&0xff,IFPREGS(%a6)
    624  1.1  is 	fmovm.l		%fpcr,%fpsr,%fpiar,IFPCREGS(%a6)
    625  1.1  is 
    626  1.1  is 	fmovm.l		&0xffffffffffffffff,%fpsr,%fpiar
    627  1.1  is 
    628  1.1  is 	mov.w		%cc,SCCR(%a6)
    629  1.1  is 	movm.l		&0x7fff,SREGS(%a6)
    630  1.1  is 	fmovm.x		&0xff,SFPREGS(%a6)
    631  1.1  is 	fmovm.l		%fpcr,%fpsr,%fpiar,SFPCREGS(%a6)
    632  1.1  is 	mov.l		&0x0ffffff8,IFPCREGS+0x4(%a6)
    633  1.1  is 	mov.l		&0xffffffff,IFPCREGS+0x8(%a6)
    634  1.1  is 
    635  1.1  is 	bsr.l		chkregs
    636  1.1  is 	tst.b		%d0
    637  1.1  is 	bne.l		error
    638  1.1  is 
    639  1.1  is 	bsr.l		chkfpregs
    640  1.1  is 	tst.b		%d0
    641  1.1  is 	bne.l		error
    642  1.1  is 
    643  1.1  is fmovml_3:
    644  1.1  is 	addq.l		&0x1,TESTCTR(%a6)
    645  1.1  is 
    646  1.1  is 	movm.l		DEF_REGS(%pc),&0x3fff
    647  1.1  is 	fmovm.x		DEF_FPREGS(%pc),&0xff
    648  1.1  is 	fmovm.l		DEF_FPCREGS(%pc),%fpcr,%fpsr,%fpiar
    649  1.1  is 
    650  1.1  is 	mov.w		&0x0000,ICCR(%a6)
    651  1.1  is 	mov.w		&0x0000,%cc
    652  1.1  is 	movm.l		&0x7fff,IREGS(%a6)
    653  1.1  is 	fmovm.x		&0xff,IFPREGS(%a6)
    654  1.1  is 	fmovm.l		%fpcr,%fpsr,%fpiar,IFPCREGS(%a6)
    655  1.1  is 
    656  1.1  is 	fmovm.l		&0xffffffffffffffffffffffff,%fpcr,%fpsr,%fpiar
    657  1.1  is 
    658  1.1  is 	mov.w		%cc,SCCR(%a6)
    659  1.1  is 	movm.l		&0x7fff,SREGS(%a6)
    660  1.1  is 	fmovm.x		&0xff,SFPREGS(%a6)
    661  1.1  is 	fmovm.l		%fpcr,%fpsr,%fpiar,SFPCREGS(%a6)
    662  1.1  is 	mov.l		&0x0000fff0,IFPCREGS+0x0(%a6)
    663  1.1  is 	mov.l		&0x0ffffff8,IFPCREGS+0x4(%a6)
    664  1.1  is 	mov.l		&0xffffffff,IFPCREGS+0x8(%a6)
    665  1.1  is 
    666  1.1  is 	bsr.l		chkregs
    667  1.1  is 	tst.b		%d0
    668  1.1  is 	bne.l		error
    669  1.1  is 
    670  1.1  is 	bsr.l		chkfpregs
    671  1.1  is 	tst.b		%d0
    672  1.1  is 	bne.l		error
    673  1.1  is 
    674  1.1  is # fmovmx dynamic
    675  1.1  is fmovmx_0:
    676  1.1  is 	addq.l		&0x1,TESTCTR(%a6)
    677  1.1  is 
    678  1.1  is 	movm.l		DEF_REGS(%pc),&0x3fff
    679  1.1  is 	fmovm.x		DEF_FPREGS(%pc),&0xff
    680  1.1  is 	fmovm.l		DEF_FPCREGS(%pc),%fpcr,%fpsr,%fpiar
    681  1.1  is 
    682  1.1  is 	fmov.b		&0x1,%fp0
    683  1.1  is 	fmov.b		&0x2,%fp1
    684  1.1  is 	fmov.b		&0x3,%fp2
    685  1.1  is 	fmov.b		&0x4,%fp3
    686  1.1  is 	fmov.b		&0x5,%fp4
    687  1.1  is 	fmov.b		&0x6,%fp5
    688  1.1  is 	fmov.b		&0x7,%fp6
    689  1.1  is 	fmov.b		&0x8,%fp7
    690  1.1  is 
    691  1.1  is 	fmov.l		&0x0,%fpiar
    692  1.1  is 	mov.l		&0xffffffaa,%d0
    693  1.1  is 
    694  1.1  is 	mov.w		&0x0000,ICCR(%a6)
    695  1.1  is 	movm.l		&0xffff,IREGS(%a6)
    696  1.1  is 
    697  1.1  is 	fmovm.l		%fpcr,%fpsr,%fpiar,IFPCREGS(%a6)
    698  1.1  is 	fmovm.x		&0xff,IFPREGS(%a6)
    699  1.1  is 
    700  1.1  is 	mov.w		&0x0000,%cc
    701  1.1  is 
    702  1.1  is 	fmovm.x		%d0,-(%sp)
    703  1.1  is 
    704  1.1  is 	mov.w		%cc,SCCR(%a6)
    705  1.1  is 
    706  1.1  is 	fmovm.l		%fpcr,%fpsr,%fpiar,SFPCREGS(%a6)
    707  1.1  is 
    708  1.1  is 	fmov.s		&0x7f800000,%fp1
    709  1.1  is 	fmov.s		&0x7f800000,%fp3
    710  1.1  is 	fmov.s		&0x7f800000,%fp5
    711  1.1  is 	fmov.s		&0x7f800000,%fp7
    712  1.1  is 
    713  1.1  is 	fmov.x		(%sp)+,%fp1
    714  1.1  is 	fmov.x		(%sp)+,%fp3
    715  1.1  is 	fmov.x		(%sp)+,%fp5
    716  1.1  is 	fmov.x		(%sp)+,%fp7
    717  1.1  is 
    718  1.1  is 	movm.l		&0xffff,SREGS(%a6)
    719  1.1  is 	fmovm.x		&0xff,SFPREGS(%a6)
    720  1.1  is 
    721  1.1  is 	bsr.l		chkregs
    722  1.1  is 	tst.b		%d0
    723  1.1  is 	bne.l		error
    724  1.1  is 
    725  1.1  is 	bsr.l		chkfpregs
    726  1.1  is 	tst.b		%d0
    727  1.1  is 	bne.l		error
    728  1.1  is 
    729  1.1  is fmovmx_1:
    730  1.1  is 	addq.l		&0x1,TESTCTR(%a6)
    731  1.1  is 
    732  1.1  is 	movm.l		DEF_REGS(%pc),&0x3fff
    733  1.1  is 	fmovm.x		DEF_FPREGS(%pc),&0xff
    734  1.1  is 	fmovm.l		DEF_FPCREGS(%pc),%fpcr,%fpsr,%fpiar
    735  1.1  is 
    736  1.1  is 	fmov.b		&0x1,%fp0
    737  1.1  is 	fmov.b		&0x2,%fp1
    738  1.1  is 	fmov.b		&0x3,%fp2
    739  1.1  is 	fmov.b		&0x4,%fp3
    740  1.1  is 	fmov.b		&0x5,%fp4
    741  1.1  is 	fmov.b		&0x6,%fp5
    742  1.1  is 	fmov.b		&0x7,%fp6
    743  1.1  is 	fmov.b		&0x8,%fp7
    744  1.1  is 
    745  1.1  is 	fmov.x		%fp6,-(%sp)
    746  1.1  is 	fmov.x		%fp4,-(%sp)
    747  1.1  is 	fmov.x		%fp2,-(%sp)
    748  1.1  is 	fmov.x		%fp0,-(%sp)
    749  1.1  is 
    750  1.1  is 	fmovm.x		&0xff,IFPREGS(%a6)
    751  1.1  is 
    752  1.1  is 	fmov.s		&0x7f800000,%fp6
    753  1.1  is 	fmov.s		&0x7f800000,%fp4
    754  1.1  is 	fmov.s		&0x7f800000,%fp2
    755  1.1  is 	fmov.s		&0x7f800000,%fp0
    756  1.1  is 
    757  1.1  is 	fmov.l		&0x0,%fpiar
    758  1.1  is 	fmov.l		&0x0,%fpsr
    759  1.1  is 	mov.l		&0xffffffaa,%d0
    760  1.1  is 
    761  1.1  is 	mov.w		&0x0000,ICCR(%a6)
    762  1.1  is 	movm.l		&0xffff,IREGS(%a6)
    763  1.1  is 
    764  1.1  is 	fmovm.l		%fpcr,%fpsr,%fpiar,IFPCREGS(%a6)
    765  1.1  is 
    766  1.1  is 	mov.w		&0x0000,%cc
    767  1.1  is 
    768  1.1  is 	fmovm.x		(%sp)+,%d0
    769  1.1  is 
    770  1.1  is 	mov.w		%cc,SCCR(%a6)
    771  1.1  is 
    772  1.1  is 	fmovm.l		%fpcr,%fpsr,%fpiar,SFPCREGS(%a6)
    773  1.1  is 
    774  1.1  is 	movm.l		&0xffff,SREGS(%a6)
    775  1.1  is 	fmovm.x		&0xff,SFPREGS(%a6)
    776  1.1  is 
    777  1.1  is 	bsr.l		chkregs
    778  1.1  is 	tst.b		%d0
    779  1.1  is 	bne.l		error
    780  1.1  is 
    781  1.1  is 	bsr.l		chkfpregs
    782  1.1  is 	tst.b		%d0
    783  1.1  is 	bne.l		error
    784  1.1  is 
    785  1.1  is fmovmx_2:
    786  1.1  is 	addq.l		&0x1,TESTCTR(%a6)
    787  1.1  is 
    788  1.1  is 	movm.l		DEF_REGS(%pc),&0x3fff
    789  1.1  is 	fmovm.x		DEF_FPREGS(%pc),&0xff
    790  1.1  is 	fmovm.l		DEF_FPCREGS(%pc),%fpcr,%fpsr,%fpiar
    791  1.1  is 
    792  1.1  is 	fmov.b		&0x1,%fp0
    793  1.1  is 	fmov.b		&0x2,%fp1
    794  1.1  is 	fmov.b		&0x3,%fp2
    795  1.1  is 	fmov.b		&0x4,%fp3
    796  1.1  is 	fmov.b		&0x5,%fp4
    797  1.1  is 	fmov.b		&0x6,%fp5
    798  1.1  is 	fmov.b		&0x7,%fp6
    799  1.1  is 	fmov.b		&0x8,%fp7
    800  1.1  is 
    801  1.1  is 	fmov.l		&0x0,%fpiar
    802  1.1  is 	mov.l		&0xffffff00,%d0
    803  1.1  is 
    804  1.1  is 	mov.w		&0x0000,ICCR(%a6)
    805  1.1  is 	movm.l		&0xffff,IREGS(%a6)
    806  1.1  is 
    807  1.1  is 	fmovm.l		%fpcr,%fpsr,%fpiar,IFPCREGS(%a6)
    808  1.1  is 	fmovm.x		&0xff,IFPREGS(%a6)
    809  1.1  is 
    810  1.1  is 	mov.w		&0x0000,%cc
    811  1.1  is 
    812  1.1  is 	fmovm.x		%d0,-(%sp)
    813  1.1  is 
    814  1.1  is 	mov.w		%cc,SCCR(%a6)
    815  1.1  is 
    816  1.1  is 	fmovm.l		%fpcr,%fpsr,%fpiar,SFPCREGS(%a6)
    817  1.1  is 
    818  1.1  is 	movm.l		&0xffff,SREGS(%a6)
    819  1.1  is 	fmovm.x		&0xff,SFPREGS(%a6)
    820  1.1  is 
    821  1.1  is 	bsr.l		chkregs
    822  1.1  is 	tst.b		%d0
    823  1.1  is 	bne.l		error
    824  1.1  is 
    825  1.1  is 	bsr.l		chkfpregs
    826  1.1  is 	tst.b		%d0
    827  1.1  is 	bne.l		error
    828  1.1  is 
    829  1.1  is 	clr.l		%d0
    830  1.1  is 	rts
    831  1.1  is 
    832  1.1  is ###########################################################
    833  1.1  is 
    834  1.1  is # This test will take a non-maskable overflow directly.
    835  1.1  is ovfl_nm_str:
    836  1.1  is 	string		"\tNon-maskable overflow..."
    837  1.1  is 
    838  1.1  is 	align		0x4
    839  1.1  is ovfl_nm_0:
    840  1.1  is 	addq.l		&0x1,TESTCTR(%a6)
    841  1.1  is 
    842  1.1  is 	movm.l		DEF_REGS(%pc),&0x3fff
    843  1.1  is 	fmovm.x		DEF_FPREGS(%pc),&0xff
    844  1.1  is 	fmovm.l		DEF_FPCREGS(%pc),%fpcr,%fpsr,%fpiar
    845  1.1  is 
    846  1.1  is 	mov.w		&0x0000,ICCR(%a6)
    847  1.1  is 	movm.l		&0x7fff,IREGS(%a6)
    848  1.1  is 	fmovm.x		&0xff,IFPREGS(%a6)
    849  1.1  is 	fmovm.l		%fpcr,%fpsr,%fpiar,IFPCREGS(%a6)
    850  1.1  is 
    851  1.1  is 	fmov.b		&0x2,%fp0
    852  1.1  is 	mov.l		&0x7ffe0000,DATA+0x0(%a6)
    853  1.1  is 	mov.l		&0x80000000,DATA+0x4(%a6)
    854  1.1  is 	mov.l		&0x00000000,DATA+0x8(%a6)
    855  1.1  is 
    856  1.1  is 	mov.w		&0x0000,%cc
    857  1.1  is ovfl_nm_0_pc:
    858  1.1  is 	fmul.x		DATA(%a6),%fp0
    859  1.1  is 
    860  1.1  is 	mov.w		%cc,SCCR(%a6)
    861  1.1  is 	movm.l		&0x7fff,SREGS(%a6)
    862  1.1  is 	fmovm.x		&0xff,SFPREGS(%a6)
    863  1.1  is 	fmovm.l		%fpcr,%fpsr,%fpiar,SFPCREGS(%a6)
    864  1.1  is 
    865  1.1  is 	mov.l		&0x7fff0000,IFPREGS+0x0(%a6)
    866  1.1  is 	mov.l		&0x00000000,IFPREGS+0x4(%a6)
    867  1.1  is 	mov.l		&0x00000000,IFPREGS+0x8(%a6)
    868  1.1  is 	mov.l		&0x02001048,IFPCREGS+0x4(%a6)
    869  1.1  is 	lea		ovfl_nm_0_pc(%pc),%a0
    870  1.1  is 	mov.l		%a0,IFPCREGS+0x8(%a6)
    871  1.1  is 
    872  1.1  is 	bsr.l		chkregs
    873  1.1  is 	tst.b		%d0
    874  1.1  is 	bne.l		error
    875  1.1  is 
    876  1.1  is 	bsr.l		chkfpregs
    877  1.1  is 	tst.b		%d0
    878  1.1  is 	bne.l		error
    879  1.1  is 
    880  1.1  is 	clr.l		%d0
    881  1.1  is 	rts
    882  1.1  is 
    883  1.1  is ###########################################################
    884  1.1  is 
    885  1.1  is # This test will take an overflow directly.
    886  1.1  is ovfl_str:
    887  1.1  is 	string		"\tEnabled overflow..."
    888  1.1  is 
    889  1.1  is 	align		0x4
    890  1.1  is ovfl_0:
    891  1.1  is 	addq.l		&0x1,TESTCTR(%a6)
    892  1.1  is 
    893  1.1  is 	movm.l		DEF_REGS(%pc),&0x3fff
    894  1.1  is 	fmovm.x		DEF_FPREGS(%pc),&0xff
    895  1.1  is 	fmovm.l		DEF_FPCREGS(%pc),%fpcr,%fpsr,%fpiar
    896  1.1  is 
    897  1.1  is 	mov.w		&0x0000,ICCR(%a6)
    898  1.1  is 	movm.l		&0x7fff,IREGS(%a6)
    899  1.1  is 	fmovm.x		&0xff,IFPREGS(%a6)
    900  1.1  is 	fmov.l		&0x00001000,%fpcr
    901  1.1  is 	fmovm.l		%fpcr,%fpsr,%fpiar,IFPCREGS(%a6)
    902  1.1  is 
    903  1.1  is 	fmov.b		&0x2,%fp0
    904  1.1  is 	mov.l		&0x7ffe0000,DATA+0x0(%a6)
    905  1.1  is 	mov.l		&0x80000000,DATA+0x4(%a6)
    906  1.1  is 	mov.l		&0x00000000,DATA+0x8(%a6)
    907  1.1  is 
    908  1.1  is 	mov.w		&0x0000,%cc
    909  1.1  is ovfl_0_pc:
    910  1.1  is 	fmul.x		DATA(%a6),%fp0
    911  1.1  is 
    912  1.1  is 	mov.w		%cc,SCCR(%a6)
    913  1.1  is 	movm.l		&0x7fff,SREGS(%a6)
    914  1.1  is 	fmovm.x		&0xff,SFPREGS(%a6)
    915  1.1  is 	fmovm.l		%fpcr,%fpsr,%fpiar,SFPCREGS(%a6)
    916  1.1  is 
    917  1.1  is 	mov.l		&0x7fff0000,IFPREGS+0x0(%a6)
    918  1.1  is 	mov.l		&0x00000000,IFPREGS+0x4(%a6)
    919  1.1  is 	mov.l		&0x00000000,IFPREGS+0x8(%a6)
    920  1.1  is 	mov.l		&0x02001048,IFPCREGS+0x4(%a6)
    921  1.1  is 	lea		ovfl_0_pc(%pc),%a0
    922  1.1  is 	mov.l		%a0,IFPCREGS+0x8(%a6)
    923  1.1  is 
    924  1.1  is 	bsr.l		chkregs
    925  1.1  is 	tst.b		%d0
    926  1.1  is 	bne.l		error
    927  1.1  is 
    928  1.1  is 	bsr.l		chkfpregs
    929  1.1  is 	tst.b		%d0
    930  1.1  is 	bne.l		error
    931  1.1  is 
    932  1.1  is 	clr.l		%d0
    933  1.1  is 	rts
    934  1.1  is 
    935  1.1  is #####################################################################
    936  1.1  is 
    937  1.1  is # This test will take an underflow directly.
    938  1.1  is unfl_str:
    939  1.1  is 	string		"\tEnabled underflow..."
    940  1.1  is 
    941  1.1  is 	align		0x4
    942  1.1  is unfl_0:
    943  1.1  is 	addq.l		&0x1,TESTCTR(%a6)
    944  1.1  is 
    945  1.1  is 	movm.l		DEF_REGS(%pc),&0x3fff
    946  1.1  is 	fmovm.x		DEF_FPREGS(%pc),&0xff
    947  1.1  is 	fmovm.l		DEF_FPCREGS(%pc),%fpcr,%fpsr,%fpiar
    948  1.1  is 
    949  1.1  is 	mov.w		&0x0000,ICCR(%a6)
    950  1.1  is 	movm.l		&0x7fff,IREGS(%a6)
    951  1.1  is 	fmovm.x		&0xff,IFPREGS(%a6)
    952  1.1  is 	fmov.l		&0x00000800,%fpcr
    953  1.1  is 	fmovm.l		%fpcr,%fpsr,%fpiar,IFPCREGS(%a6)
    954  1.1  is 
    955  1.1  is 	mov.l		&0x00000000,DATA+0x0(%a6)
    956  1.1  is 	mov.l		&0x80000000,DATA+0x4(%a6)
    957  1.1  is 	mov.l		&0x00000000,DATA+0x8(%a6)
    958  1.1  is 	fmovm.x		DATA(%a6),&0x80
    959  1.1  is 
    960  1.1  is 	mov.w		&0x0000,%cc
    961  1.1  is unfl_0_pc:
    962  1.1  is 	fdiv.b		&0x2,%fp0
    963  1.1  is 
    964  1.1  is 	mov.w		%cc,SCCR(%a6)
    965  1.1  is 	movm.l		&0x7fff,SREGS(%a6)
    966  1.1  is 	fmovm.x		&0xff,SFPREGS(%a6)
    967  1.1  is 	fmovm.l		%fpcr,%fpsr,%fpiar,SFPCREGS(%a6)
    968  1.1  is 
    969  1.1  is 	mov.l		&0x00000000,IFPREGS+0x0(%a6)
    970  1.1  is 	mov.l		&0x40000000,IFPREGS+0x4(%a6)
    971  1.1  is 	mov.l		&0x00000000,IFPREGS+0x8(%a6)
    972  1.1  is 	mov.l		&0x00000800,IFPCREGS+0x4(%a6)
    973  1.1  is 	lea		unfl_0_pc(%pc),%a0
    974  1.1  is 	mov.l		%a0,IFPCREGS+0x8(%a6)
    975  1.1  is 
    976  1.1  is 	bsr.l		chkregs
    977  1.1  is 	tst.b		%d0
    978  1.1  is 	bne.l		error
    979  1.1  is 
    980  1.1  is 	bsr.l		chkfpregs
    981  1.1  is 	tst.b		%d0
    982  1.1  is 	bne.l		error
    983  1.1  is 
    984  1.1  is 	clr.l		%d0
    985  1.1  is 	rts
    986  1.1  is 
    987  1.1  is #####################################################################
    988  1.1  is 
    989  1.1  is # This test will take a non-maskable underflow directly.
    990  1.1  is unfl_nm_str:
    991  1.1  is 	string		"\tNon-maskable underflow..."
    992  1.1  is 
    993  1.1  is 	align		0x4
    994  1.1  is unfl_nm_0:
    995  1.1  is 	addq.l		&0x1,TESTCTR(%a6)
    996  1.1  is 
    997  1.1  is 	movm.l		DEF_REGS(%pc),&0x3fff
    998  1.1  is 	fmovm.x		DEF_FPREGS(%pc),&0xff
    999  1.1  is 	fmovm.l		DEF_FPCREGS(%pc),%fpcr,%fpsr,%fpiar
   1000  1.1  is 
   1001  1.1  is 	mov.w		&0x0000,ICCR(%a6)
   1002  1.1  is 	movm.l		&0x7fff,IREGS(%a6)
   1003  1.1  is 	fmovm.x		&0xff,IFPREGS(%a6)
   1004  1.1  is 	fmovm.l		%fpcr,%fpsr,%fpiar,IFPCREGS(%a6)
   1005  1.1  is 
   1006  1.1  is 	mov.l		&0x00000000,DATA+0x0(%a6)
   1007  1.1  is 	mov.l		&0x80000000,DATA+0x4(%a6)
   1008  1.1  is 	mov.l		&0x00000000,DATA+0x8(%a6)
   1009  1.1  is 	fmovm.x		DATA(%a6),&0x80
   1010  1.1  is 
   1011  1.1  is 	mov.w		&0x0000,%cc
   1012  1.1  is unfl_nm_0_pc:
   1013  1.1  is 	fdiv.b		&0x2,%fp0
   1014  1.1  is 
   1015  1.1  is 	mov.w		%cc,SCCR(%a6)
   1016  1.1  is 	movm.l		&0x7fff,SREGS(%a6)
   1017  1.1  is 	fmovm.x		&0xff,SFPREGS(%a6)
   1018  1.1  is 	fmovm.l		%fpcr,%fpsr,%fpiar,SFPCREGS(%a6)
   1019  1.1  is 
   1020  1.1  is 	mov.l		&0x00000000,IFPREGS+0x0(%a6)
   1021  1.1  is 	mov.l		&0x40000000,IFPREGS+0x4(%a6)
   1022  1.1  is 	mov.l		&0x00000000,IFPREGS+0x8(%a6)
   1023  1.1  is 	mov.l		&0x00000800,IFPCREGS+0x4(%a6)
   1024  1.1  is 	lea		unfl_nm_0_pc(%pc),%a0
   1025  1.1  is 	mov.l		%a0,IFPCREGS+0x8(%a6)
   1026  1.1  is 
   1027  1.1  is 	bsr.l		chkregs
   1028  1.1  is 	tst.b		%d0
   1029  1.1  is 	bne.l		error
   1030  1.1  is 
   1031  1.1  is 	bsr.l		chkfpregs
   1032  1.1  is 	tst.b		%d0
   1033  1.1  is 	bne.l		error
   1034  1.1  is 
   1035  1.1  is 	clr.l		%d0
   1036  1.1  is 	rts
   1037  1.1  is 
   1038  1.1  is #####################################################################
   1039  1.1  is 
   1040  1.1  is inex_str:
   1041  1.1  is 	string		"\tEnabled inexact..."
   1042  1.1  is 
   1043  1.1  is 	align		0x4
   1044  1.1  is inex_0:
   1045  1.1  is 	addq.l		&0x1,TESTCTR(%a6)
   1046  1.1  is 
   1047  1.1  is 	movm.l		DEF_REGS(%pc),&0x3fff
   1048  1.1  is 	fmovm.x		DEF_FPREGS(%pc),&0xff
   1049  1.1  is 	fmovm.l		DEF_FPCREGS(%pc),%fpcr,%fpsr,%fpiar
   1050  1.1  is 
   1051  1.1  is 	mov.w		&0x0000,ICCR(%a6)
   1052  1.1  is 	movm.l		&0x7fff,IREGS(%a6)
   1053  1.1  is 	fmovm.x		&0xff,IFPREGS(%a6)
   1054  1.1  is 	fmov.l		&0x00000200,%fpcr		# enable inexact
   1055  1.1  is 	fmovm.l		%fpcr,%fpsr,%fpiar,IFPCREGS(%a6)
   1056  1.1  is 
   1057  1.1  is 	mov.l		&0x50000000,DATA+0x0(%a6)
   1058  1.1  is 	mov.l		&0x80000000,DATA+0x4(%a6)
   1059  1.1  is 	mov.l		&0x00000000,DATA+0x8(%a6)
   1060  1.1  is 	fmovm.x		DATA(%a6),&0x80
   1061  1.1  is 
   1062  1.1  is 	mov.w		&0x0000,%cc
   1063  1.1  is inex_0_pc:
   1064  1.1  is 	fadd.b		&0x2,%fp0
   1065  1.1  is 
   1066  1.1  is 	mov.w		%cc,SCCR(%a6)
   1067  1.1  is 	movm.l		&0x7fff,SREGS(%a6)
   1068  1.1  is 	fmovm.x		&0xff,SFPREGS(%a6)
   1069  1.1  is 	fmovm.l		%fpcr,%fpsr,%fpiar,SFPCREGS(%a6)
   1070  1.1  is 
   1071  1.1  is 	mov.l		&0x50000000,IFPREGS+0x0(%a6)
   1072  1.1  is 	mov.l		&0x80000000,IFPREGS+0x4(%a6)
   1073  1.1  is 	mov.l		&0x00000000,IFPREGS+0x8(%a6)
   1074  1.1  is 	mov.l		&0x00000208,IFPCREGS+0x4(%a6)
   1075  1.1  is 	lea		inex_0_pc(%pc),%a0
   1076  1.1  is 	mov.l		%a0,IFPCREGS+0x8(%a6)
   1077  1.1  is 
   1078  1.1  is 	bsr.l		chkregs
   1079  1.1  is 	tst.b		%d0
   1080  1.1  is 	bne.l		error
   1081  1.1  is 
   1082  1.1  is 	bsr.l		chkfpregs
   1083  1.1  is 	tst.b		%d0
   1084  1.1  is 	bne.l		error
   1085  1.1  is 
   1086  1.1  is 	clr.l		%d0
   1087  1.1  is 	rts
   1088  1.1  is 
   1089  1.1  is #####################################################################
   1090  1.1  is 
   1091  1.1  is snan_str:
   1092  1.1  is 	string		"\tEnabled SNAN..."
   1093  1.1  is 
   1094  1.1  is 	align		0x4
   1095  1.1  is snan_0:
   1096  1.1  is 	addq.l		&0x1,TESTCTR(%a6)
   1097  1.1  is 
   1098  1.1  is 	movm.l		DEF_REGS(%pc),&0x3fff
   1099  1.1  is 	fmovm.x		DEF_FPREGS(%pc),&0xff
   1100  1.1  is 	fmovm.l		DEF_FPCREGS(%pc),%fpcr,%fpsr,%fpiar
   1101  1.1  is 
   1102  1.1  is 	mov.w		&0x0000,ICCR(%a6)
   1103  1.1  is 	movm.l		&0x7fff,IREGS(%a6)
   1104  1.1  is 	fmovm.x		&0xff,IFPREGS(%a6)
   1105  1.1  is 	fmov.l		&0x00004000,%fpcr		# enable SNAN
   1106  1.1  is 	fmovm.l		%fpcr,%fpsr,%fpiar,IFPCREGS(%a6)
   1107  1.1  is 
   1108  1.1  is 	mov.l		&0xffff0000,DATA+0x0(%a6)
   1109  1.1  is 	mov.l		&0x00000000,DATA+0x4(%a6)
   1110  1.1  is 	mov.l		&0x00000001,DATA+0x8(%a6)
   1111  1.1  is 	fmovm.x		DATA(%a6),&0x80
   1112  1.1  is 
   1113  1.1  is 	mov.w		&0x0000,%cc
   1114  1.1  is snan_0_pc:
   1115  1.1  is 	fadd.b		&0x2,%fp0
   1116  1.1  is 
   1117  1.1  is 	mov.w		%cc,SCCR(%a6)
   1118  1.1  is 	movm.l		&0x7fff,SREGS(%a6)
   1119  1.1  is 	fmovm.x		&0xff,SFPREGS(%a6)
   1120  1.1  is 	fmovm.l		%fpcr,%fpsr,%fpiar,SFPCREGS(%a6)
   1121  1.1  is 
   1122  1.1  is 	mov.l		&0xffff0000,IFPREGS+0x0(%a6)
   1123  1.1  is 	mov.l		&0x00000000,IFPREGS+0x4(%a6)
   1124  1.1  is 	mov.l		&0x00000001,IFPREGS+0x8(%a6)
   1125  1.1  is 	mov.l		&0x09004080,IFPCREGS+0x4(%a6)
   1126  1.1  is 	lea		snan_0_pc(%pc),%a0
   1127  1.1  is 	mov.l		%a0,IFPCREGS+0x8(%a6)
   1128  1.1  is 
   1129  1.1  is 	bsr.l		chkregs
   1130  1.1  is 	tst.b		%d0
   1131  1.1  is 	bne.l		error
   1132  1.1  is 
   1133  1.1  is 	bsr.l		chkfpregs
   1134  1.1  is 	tst.b		%d0
   1135  1.1  is 	bne.l		error
   1136  1.1  is 
   1137  1.1  is 	clr.l		%d0
   1138  1.1  is 	rts
   1139  1.1  is 
   1140  1.1  is #####################################################################
   1141  1.1  is 
   1142  1.1  is operr_str:
   1143  1.1  is 	string		"\tEnabled OPERR..."
   1144  1.1  is 
   1145  1.1  is 	align		0x4
   1146  1.1  is operr_0:
   1147  1.1  is 	addq.l		&0x1,TESTCTR(%a6)
   1148  1.1  is 
   1149  1.1  is 	movm.l		DEF_REGS(%pc),&0x3fff
   1150  1.1  is 	fmovm.x		DEF_FPREGS(%pc),&0xff
   1151  1.1  is 	fmovm.l		DEF_FPCREGS(%pc),%fpcr,%fpsr,%fpiar
   1152  1.1  is 
   1153  1.1  is 	mov.w		&0x0000,ICCR(%a6)
   1154  1.1  is 	movm.l		&0x7fff,IREGS(%a6)
   1155  1.1  is 	fmovm.x		&0xff,IFPREGS(%a6)
   1156  1.1  is 	fmov.l		&0x00002000,%fpcr		# enable OPERR
   1157  1.1  is 	fmovm.l		%fpcr,%fpsr,%fpiar,IFPCREGS(%a6)
   1158  1.1  is 
   1159  1.1  is 	mov.l		&0xffff0000,DATA+0x0(%a6)
   1160  1.1  is 	mov.l		&0x00000000,DATA+0x4(%a6)
   1161  1.1  is 	mov.l		&0x00000000,DATA+0x8(%a6)
   1162  1.1  is 	fmovm.x		DATA(%a6),&0x80
   1163  1.1  is 
   1164  1.1  is 	mov.w		&0x0000,%cc
   1165  1.1  is operr_0_pc:
   1166  1.1  is 	fadd.s		&0x7f800000,%fp0
   1167  1.1  is 
   1168  1.1  is 	mov.w		%cc,SCCR(%a6)
   1169  1.1  is 	movm.l		&0x7fff,SREGS(%a6)
   1170  1.1  is 	fmovm.x		&0xff,SFPREGS(%a6)
   1171  1.1  is 	fmovm.l		%fpcr,%fpsr,%fpiar,SFPCREGS(%a6)
   1172  1.1  is 
   1173  1.1  is 	mov.l		&0xffff0000,IFPREGS+0x0(%a6)
   1174  1.1  is 	mov.l		&0x00000000,IFPREGS+0x4(%a6)
   1175  1.1  is 	mov.l		&0x00000000,IFPREGS+0x8(%a6)
   1176  1.1  is 	mov.l		&0x01002080,IFPCREGS+0x4(%a6)
   1177  1.1  is 	lea		operr_0_pc(%pc),%a0
   1178  1.1  is 	mov.l		%a0,IFPCREGS+0x8(%a6)
   1179  1.1  is 
   1180  1.1  is 	bsr.l		chkregs
   1181  1.1  is 	tst.b		%d0
   1182  1.1  is 	bne.l		error
   1183  1.1  is 
   1184  1.1  is 	bsr.l		chkfpregs
   1185  1.1  is 	tst.b		%d0
   1186  1.1  is 	bne.l		error
   1187  1.1  is 
   1188  1.1  is 	clr.l		%d0
   1189  1.1  is 	rts
   1190  1.1  is 
   1191  1.1  is #####################################################################
   1192  1.1  is 
   1193  1.1  is dz_str:
   1194  1.1  is 	string		"\tEnabled DZ..."
   1195  1.1  is 
   1196  1.1  is 	align		0x4
   1197  1.1  is dz_0:
   1198  1.1  is 	addq.l		&0x1,TESTCTR(%a6)
   1199  1.1  is 
   1200  1.1  is 	movm.l		DEF_REGS(%pc),&0x3fff
   1201  1.1  is 	fmovm.x		DEF_FPREGS(%pc),&0xff
   1202  1.1  is 	fmovm.l		DEF_FPCREGS(%pc),%fpcr,%fpsr,%fpiar
   1203  1.1  is 
   1204  1.1  is 	mov.w		&0x0000,ICCR(%a6)
   1205  1.1  is 	movm.l		&0x7fff,IREGS(%a6)
   1206  1.1  is 	fmovm.x		&0xff,IFPREGS(%a6)
   1207  1.1  is 	fmov.l		&0x00000400,%fpcr		# enable DZ
   1208  1.1  is 	fmovm.l		%fpcr,%fpsr,%fpiar,IFPCREGS(%a6)
   1209  1.1  is 
   1210  1.1  is 	mov.l		&0x40000000,DATA+0x0(%a6)
   1211  1.1  is 	mov.l		&0x80000000,DATA+0x4(%a6)
   1212  1.1  is 	mov.l		&0x00000000,DATA+0x8(%a6)
   1213  1.1  is 	fmovm.x		DATA(%a6),&0x80
   1214  1.1  is 
   1215  1.1  is 	mov.w		&0x0000,%cc
   1216  1.1  is dz_0_pc:
   1217  1.1  is 	fdiv.b		&0x0,%fp0
   1218  1.1  is 
   1219  1.1  is 	mov.w		%cc,SCCR(%a6)
   1220  1.1  is 	movm.l		&0x7fff,SREGS(%a6)
   1221  1.1  is 	fmovm.x		&0xff,SFPREGS(%a6)
   1222  1.1  is 	fmovm.l		%fpcr,%fpsr,%fpiar,SFPCREGS(%a6)
   1223  1.1  is 
   1224  1.1  is 	mov.l		&0x40000000,IFPREGS+0x0(%a6)
   1225  1.1  is 	mov.l		&0x80000000,IFPREGS+0x4(%a6)
   1226  1.1  is 	mov.l		&0x00000000,IFPREGS+0x8(%a6)
   1227  1.1  is 	mov.l		&0x02000410,IFPCREGS+0x4(%a6)
   1228  1.1  is 	lea		dz_0_pc(%pc),%a0
   1229  1.1  is 	mov.l		%a0,IFPCREGS+0x8(%a6)
   1230  1.1  is 
   1231  1.1  is 	bsr.l		chkregs
   1232  1.1  is 	tst.b		%d0
   1233  1.1  is 	bne.l		error
   1234  1.1  is 
   1235  1.1  is 	bsr.l		chkfpregs
   1236  1.1  is 	tst.b		%d0
   1237  1.1  is 	bne.l		error
   1238  1.1  is 
   1239  1.1  is 	clr.l		%d0
   1240  1.1  is 	rts
   1241  1.1  is 
   1242  1.1  is #####################################################################
   1243  1.1  is 
   1244  1.1  is unsupp_str:
   1245  1.1  is 	string		"\tUnimplemented data type/format..."
   1246  1.1  is 
   1247  1.1  is # an unnormalized number
   1248  1.1  is 	align		0x4
   1249  1.1  is unsupp_0:
   1250  1.1  is 	addq.l		&0x1,TESTCTR(%a6)
   1251  1.1  is 
   1252  1.1  is 	movm.l		DEF_REGS(%pc),&0x3fff
   1253  1.1  is 	fmovm.x		DEF_FPREGS(%pc),&0xff
   1254  1.1  is 	fmovm.l		DEF_FPCREGS(%pc),%fpcr,%fpsr,%fpiar
   1255  1.1  is 
   1256  1.1  is 	mov.w		&0x0000,ICCR(%a6)
   1257  1.1  is 	movm.l		&0x7fff,IREGS(%a6)
   1258  1.1  is 	fmovm.x		&0xff,IFPREGS(%a6)
   1259  1.1  is 	fmovm.l		%fpcr,%fpsr,%fpiar,IFPCREGS(%a6)
   1260  1.1  is 
   1261  1.1  is 	mov.l		&0xc03f0000,DATA+0x0(%a6)
   1262  1.1  is 	mov.l		&0x00000000,DATA+0x4(%a6)
   1263  1.1  is 	mov.l		&0x00000001,DATA+0x8(%a6)
   1264  1.1  is 	fmov.b		&0x2,%fp0
   1265  1.1  is 	mov.w		&0x0000,%cc
   1266  1.1  is unsupp_0_pc:
   1267  1.1  is 	fmul.x		DATA(%a6),%fp0
   1268  1.1  is 
   1269  1.1  is 	mov.w		%cc,SCCR(%a6)
   1270  1.1  is 	movm.l		&0x7fff,SREGS(%a6)
   1271  1.1  is 	fmovm.x		&0xff,SFPREGS(%a6)
   1272  1.1  is 	fmovm.l		%fpcr,%fpsr,%fpiar,SFPCREGS(%a6)
   1273  1.1  is 
   1274  1.1  is 	mov.l		&0xc0010000,IFPREGS+0x0(%a6)
   1275  1.1  is 	mov.l		&0x80000000,IFPREGS+0x4(%a6)
   1276  1.1  is 	mov.l		&0x00000000,IFPREGS+0x8(%a6)
   1277  1.1  is 	mov.l		&0x08000000,IFPCREGS+0x4(%a6)
   1278  1.1  is 	lea		unsupp_0_pc(%pc),%a0
   1279  1.1  is 	mov.l		%a0,IFPCREGS+0x8(%a6)
   1280  1.1  is 
   1281  1.1  is 	bsr.l		chkregs
   1282  1.1  is 	tst.b		%d0
   1283  1.1  is 	bne.l		error
   1284  1.1  is 
   1285  1.1  is 	bsr.l		chkfpregs
   1286  1.1  is 	tst.b		%d0
   1287  1.1  is 	bne.l		error
   1288  1.1  is 
   1289  1.1  is # a denormalized number
   1290  1.1  is unsupp_1:
   1291  1.1  is 	addq.l		&0x1,TESTCTR(%a6)
   1292  1.1  is 
   1293  1.1  is 	movm.l		DEF_REGS(%pc),&0x3fff
   1294  1.1  is 	fmovm.x		DEF_FPREGS(%pc),&0xff
   1295  1.1  is 	fmovm.l		DEF_FPCREGS(%pc),%fpcr,%fpsr,%fpiar
   1296  1.1  is 
   1297  1.1  is 	mov.w		&0x0000,ICCR(%a6)
   1298  1.1  is 	movm.l		&0x7fff,IREGS(%a6)
   1299  1.1  is 	fmovm.x		&0xff,IFPREGS(%a6)
   1300  1.1  is 	fmovm.l		%fpcr,%fpsr,%fpiar,IFPCREGS(%a6)
   1301  1.1  is 
   1302  1.1  is 	mov.l		&0x80000000,DATA+0x0(%a6)
   1303  1.1  is 	mov.l		&0x01000000,DATA+0x4(%a6)
   1304  1.1  is 	mov.l		&0x00000000,DATA+0x8(%a6)
   1305  1.1  is 	fmov.l		&0x7fffffff,%fp0
   1306  1.1  is 
   1307  1.1  is 	mov.w		&0x0000,%cc
   1308  1.1  is unsupp_1_pc:
   1309  1.1  is 	fmul.x		DATA(%a6),%fp0
   1310  1.1  is 
   1311  1.1  is 	mov.w		%cc,SCCR(%a6)
   1312  1.1  is 	movm.l		&0x7fff,SREGS(%a6)
   1313  1.1  is 	fmovm.x		&0xff,SFPREGS(%a6)
   1314  1.1  is 	fmovm.l		%fpcr,%fpsr,%fpiar,SFPCREGS(%a6)
   1315  1.1  is 
   1316  1.1  is 	mov.l		&0x80170000,IFPREGS+0x0(%a6)
   1317  1.1  is 	mov.l		&0xfffffffe,IFPREGS+0x4(%a6)
   1318  1.1  is 	mov.l		&0x00000000,IFPREGS+0x8(%a6)
   1319  1.1  is 	mov.l		&0x08000000,IFPCREGS+0x4(%a6)
   1320  1.1  is 	lea		unsupp_1_pc(%pc),%a0
   1321  1.1  is 	mov.l		%a0,IFPCREGS+0x8(%a6)
   1322  1.1  is 
   1323  1.1  is 	bsr.l		chkregs
   1324  1.1  is 	tst.b		%d0
   1325  1.1  is 	bne.l		error
   1326  1.1  is 
   1327  1.1  is 	bsr.l		chkfpregs
   1328  1.1  is 	tst.b		%d0
   1329  1.1  is 	bne.l		error
   1330  1.1  is 
   1331  1.1  is # packed
   1332  1.1  is unsupp_2:
   1333  1.1  is 	addq.l		&0x1,TESTCTR(%a6)
   1334  1.1  is 
   1335  1.1  is 	movm.l		DEF_REGS(%pc),&0x3fff
   1336  1.1  is 	fmovm.x		DEF_FPREGS(%pc),&0xff
   1337  1.1  is 	fmovm.l		DEF_FPCREGS(%pc),%fpcr,%fpsr,%fpiar
   1338  1.1  is 
   1339  1.1  is 	mov.w		&0x0000,ICCR(%a6)
   1340  1.1  is 	movm.l		&0x7fff,IREGS(%a6)
   1341  1.1  is 	fmovm.x		&0xff,IFPREGS(%a6)
   1342  1.1  is 	fmovm.l		%fpcr,%fpsr,%fpiar,IFPCREGS(%a6)
   1343  1.1  is 
   1344  1.1  is 	mov.l		&0xc1230001,DATA+0x0(%a6)
   1345  1.1  is 	mov.l		&0x23456789,DATA+0x4(%a6)
   1346  1.1  is 	mov.l		&0x12345678,DATA+0x8(%a6)
   1347  1.1  is 
   1348  1.1  is 	mov.w		&0x0000,%cc
   1349  1.1  is unsupp_2_pc:
   1350  1.1  is 	fabs.p		DATA(%a6),%fp0
   1351  1.1  is 
   1352  1.1  is 	mov.w		%cc,SCCR(%a6)
   1353  1.1  is 	movm.l		&0x7fff,SREGS(%a6)
   1354  1.1  is 	fmovm.x		&0xff,SFPREGS(%a6)
   1355  1.1  is 	fmovm.l		%fpcr,%fpsr,%fpiar,SFPCREGS(%a6)
   1356  1.1  is 
   1357  1.1  is 	mov.l		&0x3e660000,IFPREGS+0x0(%a6)
   1358  1.1  is 	mov.l		&0xd0ed23e8,IFPREGS+0x4(%a6)
   1359  1.1  is 	mov.l		&0xd14035bc,IFPREGS+0x8(%a6)
   1360  1.1  is 	mov.l		&0x00000108,IFPCREGS+0x4(%a6)
   1361  1.1  is 	lea		unsupp_2_pc(%pc),%a0
   1362  1.1  is 	mov.l		%a0,IFPCREGS+0x8(%a6)
   1363  1.1  is 
   1364  1.1  is 	bsr.l		chkregs
   1365  1.1  is 	tst.b		%d0
   1366  1.1  is 	bne.l		error
   1367  1.1  is 
   1368  1.1  is 	bsr.l		chkfpregs
   1369  1.1  is 	tst.b		%d0
   1370  1.1  is 	bne.l		error
   1371  1.1  is 
   1372  1.1  is 	clr.l		%d0
   1373  1.1  is 	rts
   1374  1.1  is 
   1375  1.1  is ###########################################################
   1376  1.1  is ###########################################################
   1377  1.1  is 
   1378  1.1  is chkregs:
   1379  1.1  is 	lea		IREGS(%a6),%a0
   1380  1.1  is 	lea		SREGS(%a6),%a1
   1381  1.1  is 	mov.l		&14,%d0
   1382  1.1  is chkregs_loop:
   1383  1.1  is 	cmp.l		(%a0)+,(%a1)+
   1384  1.1  is 	bne.l		chkregs_error
   1385  1.1  is 	dbra.w		%d0,chkregs_loop
   1386  1.1  is 
   1387  1.1  is 	mov.w		ICCR(%a6),%d0
   1388  1.1  is 	mov.w		SCCR(%a6),%d1
   1389  1.1  is 	cmp.w		%d0,%d1
   1390  1.1  is 	bne.l		chkregs_error
   1391  1.1  is 
   1392  1.1  is 	clr.l		%d0
   1393  1.1  is 	rts
   1394  1.1  is 
   1395  1.1  is chkregs_error:
   1396  1.1  is 	movq.l		&0x1,%d0
   1397  1.1  is 	rts
   1398  1.1  is 
   1399  1.1  is error:
   1400  1.1  is 	mov.l		TESTCTR(%a6),%d1
   1401  1.1  is 	movq.l		&0x1,%d0
   1402  1.1  is 	rts
   1403  1.1  is 
   1404  1.1  is chkfpregs:
   1405  1.1  is 	lea		IFPREGS(%a6),%a0
   1406  1.1  is 	lea		SFPREGS(%a6),%a1
   1407  1.1  is 	mov.l		&23,%d0
   1408  1.1  is chkfpregs_loop:
   1409  1.1  is 	cmp.l		(%a0)+,(%a1)+
   1410  1.1  is 	bne.l		chkfpregs_error
   1411  1.1  is 	dbra.w		%d0,chkfpregs_loop
   1412  1.1  is 
   1413  1.1  is 	lea		IFPCREGS(%a6),%a0
   1414  1.1  is 	lea		SFPCREGS(%a6),%a1
   1415  1.1  is 	cmp.l		(%a0)+,(%a1)+
   1416  1.1  is 	bne.l		chkfpregs_error
   1417  1.1  is 	cmp.l		(%a0)+,(%a1)+
   1418  1.1  is 	bne.l		chkfpregs_error
   1419  1.1  is 	cmp.l		(%a0)+,(%a1)+
   1420  1.1  is 	bne.l		chkfpregs_error
   1421  1.1  is 
   1422  1.1  is 	clr.l		%d0
   1423  1.1  is 	rts
   1424  1.1  is 
   1425  1.1  is chkfpregs_error:
   1426  1.1  is 	movq.l		&0x1,%d0
   1427  1.1  is 	rts
   1428  1.1  is 
   1429  1.1  is DEF_REGS:
   1430  1.1  is 	long		0xacacacac, 0xacacacac, 0xacacacac, 0xacacacac
   1431  1.1  is 	long		0xacacacac, 0xacacacac, 0xacacacac, 0xacacacac
   1432  1.1  is 
   1433  1.1  is 	long		0xacacacac, 0xacacacac, 0xacacacac, 0xacacacac
   1434  1.1  is 	long		0xacacacac, 0xacacacac, 0xacacacac, 0xacacacac
   1435  1.1  is 
   1436  1.1  is DEF_FPREGS:
   1437  1.1  is 	long		0x7fff0000, 0xffffffff, 0xffffffff
   1438  1.1  is 	long		0x7fff0000, 0xffffffff, 0xffffffff
   1439  1.1  is 	long		0x7fff0000, 0xffffffff, 0xffffffff
   1440  1.1  is 	long		0x7fff0000, 0xffffffff, 0xffffffff
   1441  1.1  is 	long		0x7fff0000, 0xffffffff, 0xffffffff
   1442  1.1  is 	long		0x7fff0000, 0xffffffff, 0xffffffff
   1443  1.1  is 	long		0x7fff0000, 0xffffffff, 0xffffffff
   1444  1.1  is 	long		0x7fff0000, 0xffffffff, 0xffffffff
   1445  1.1  is 
   1446  1.1  is DEF_FPCREGS:
   1447  1.1  is 	long		0x00000000, 0x00000000, 0x00000000
   1448  1.1  is 
   1449  1.1  is ############################################################
   1450  1.1  is 
   1451  1.1  is _print_str:
   1452  1.1  is 	mov.l		%d0,-(%sp)
   1453  1.1  is 	mov.l		(TESTTOP-0x80+0x0,%pc),%d0
   1454  1.1  is 	pea		(TESTTOP-0x80,%pc,%d0)
   1455  1.1  is 	mov.l		0x4(%sp),%d0
   1456  1.1  is 	rtd		&0x4
   1457  1.1  is 
   1458  1.1  is _print_num:
   1459  1.1  is 	mov.l		%d0,-(%sp)
   1460  1.1  is 	mov.l		(TESTTOP-0x80+0x4,%pc),%d0
   1461  1.1  is 	pea		(TESTTOP-0x80,%pc,%d0)
   1462  1.1  is 	mov.l		0x4(%sp),%d0
   1463  1.1  is 	rtd		&0x4
   1464  1.1  is 
   1465  1.1  is ############################################################
   1466