1 1.1 christos # v850 satadd 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 0x70000000, r1 11 1.1 christos seti 0x70000000, r2 12 1.1 christos satadd r1, r2 13 1.1 christos 14 1.1 christos flags sat + nc + v + ns + nz 15 1.1 christos reg r2, 0x7fffffff 16 1.1 christos 17 1.1 christos noflags 18 1.1 christos seti 0x7ffffffe, r1 19 1.1 christos satadd 10, r1 20 1.1 christos 21 1.1 christos flags sat + nc + v + ns + nz 22 1.1 christos reg r1, 0x7fffffff 23 1.1 christos 24 1.1 christos # Similarly, if the result of the add is "positive", that means we 25 1.1 christos # went too negative. The result should be the most negative number. 26 1.1 christos 27 1.1 christos noflags 28 1.1 christos seti 0x90000000, r1 29 1.1 christos seti 0x90000000, r2 30 1.1 christos satadd r1, r2 31 1.1 christos 32 1.1 christos flags sat + c + v + s + nz 33 1.1 christos reg r2, 0x80000000 34 1.1 christos 35 1.1 christos noflags 36 1.1 christos seti 0x80000001, r1 37 1.1 christos satadd -10, r1 38 1.1 christos 39 1.1 christos flags sat + c + v + s + nz 40 1.1 christos reg r1, 0x80000000 41 1.1 christos 42 1.1 christos # Check that the SAT flag remains set until reset 43 1.1 christos 44 1.1 christos seti 1, r1 45 1.1 christos seti 2, r2 46 1.1 christos satadd r1,r2 47 1.1 christos 48 1.1 christos flags sat + nc + nv + ns + nz 49 1.1 christos reg r2, 3 50 1.1 christos 51 1.1 christos noflags 52 1.1 christos seti 1, r1 53 1.1 christos seti 2, r2 54 1.1 christos satadd r1,r2 55 1.1 christos 56 1.1 christos flags nsat + nc + nv + ns + nz 57 1.1 christos reg r2, 3 58 1.1 christos 59 1.1 christos # Check that results exactly equal to min/max don't saturate 60 1.1 christos 61 1.1 christos noflags 62 1.1 christos seti 0x70000000, r1 63 1.1 christos seti 0x0fffffff, r2 64 1.1 christos satadd r1,r2 65 1.1 christos 66 1.1 christos flags nsat + nc + nv + ns + nz 67 1.1 christos reg r2, 0x7fffffff 68 1.1 christos 69 1.1 christos 70 1.1 christos noflags 71 1.1 christos seti 0x90000000, r1 72 1.1 christos seti 0xf0000000, r2 73 1.1 christos satadd r1,r2 74 1.1 christos 75 1.1 christos flags nsat + c + nv + s + nz 76 1.1 christos reg r2, 0x80000000 77 1.1 christos 78 1.1 christos 79 1.1 christos pass 80