Home | History | Annotate | Line # | Download | only in v850
satsubr.cgs revision 1.1.1.1
      1  1.1  christos # v850 satsub
      2  1.1  christos # mach: all
      3  1.1  christos 
      4  1.1  christos 	.include "testutils.inc"
      5  1.1  christos 
      6  1.1  christos # If the result of the add is "negative", that means we went too
      7  1.1  christos # positive.  The result should be the most positive number.
      8  1.1  christos 
      9  1.1  christos 	noflags
     10  1.1  christos 	seti	0x90000000, r1
     11  1.1  christos 	seti	0x70000000, r2
     12  1.1  christos 	satsubr	r2, r1
     13  1.1  christos 
     14  1.1  christos 	flags	sat + c + v + ns + nz
     15  1.1  christos 	reg	r1, 0x7fffffff
     16  1.1  christos 
     17  1.1  christos # Similarly, if the result of the add is "positive", that means we
     18  1.1  christos # went too negative.  The result should be the most negative number.
     19  1.1  christos 
     20  1.1  christos 	noflags
     21  1.1  christos 	seti	0x70000000, r1
     22  1.1  christos 	seti	0x90000000, r2
     23  1.1  christos 	satsubr	r2, r1
     24  1.1  christos 
     25  1.1  christos 	flags	sat + nc + v + s + nz
     26  1.1  christos 	reg	r1, 0x80000000
     27  1.1  christos 
     28  1.1  christos # Check that the SAT flag remains set until reset
     29  1.1  christos 
     30  1.1  christos 	seti	1, r1
     31  1.1  christos 	seti	2, r2
     32  1.1  christos 	satsubr	r2, r1
     33  1.1  christos 
     34  1.1  christos 	flags	sat + nc + nv + ns + nz
     35  1.1  christos 	reg	r1, 1
     36  1.1  christos 
     37  1.1  christos 	noflags
     38  1.1  christos 	seti	1, r1
     39  1.1  christos 	seti	2, r2
     40  1.1  christos 	satsubr	r2, r1
     41  1.1  christos 
     42  1.1  christos 	flags	nsat + nc + nv + ns + nz
     43  1.1  christos 	reg	r1, 1
     44  1.1  christos 
     45  1.1  christos # Check that results exactly equal to min/max don't saturate
     46  1.1  christos 
     47  1.1  christos 	noflags
     48  1.1  christos 	seti	0x90000000, r1
     49  1.1  christos 	seti	0x0fffffff, r2
     50  1.1  christos 	satsubr	r2, r1
     51  1.1  christos 
     52  1.1  christos 	flags	nsat + c + nv + ns + nz
     53  1.1  christos 	reg	r1, 0x7fffffff
     54  1.1  christos 
     55  1.1  christos 
     56  1.1  christos 	noflags
     57  1.1  christos 	seti	0x70000000, r1
     58  1.1  christos 	seti	0xf0000000, r2
     59  1.1  christos 	satsubr	r2, r1
     60  1.1  christos 
     61  1.1  christos 	flags	nsat + nc + nv + s + nz
     62  1.1  christos 	reg	r1, 0x80000000
     63  1.1  christos 
     64  1.1  christos 
     65  1.1  christos 	pass
     66