1 1.1 christos # frv testcase for masaccs $ACC40Si,$ACC40Sk 2 1.1 christos # mach: fr400 3 1.1 christos 4 1.1 christos .include "../testutils.inc" 5 1.1 christos 6 1.1 christos start 7 1.1 christos 8 1.1 christos .global masaccs 9 1.1 christos masaccs: 10 1.1 christos set_accg_immed 0,accg0 11 1.1 christos set_acc_immed 0x00000000,acc0 12 1.1 christos set_accg_immed 0,accg1 13 1.1 christos set_acc_immed 0x00000000,acc1 14 1.1 christos masaccs acc0,acc2 15 1.1 christos test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear 16 1.1 christos test_spr_bits 2,1,0,msr0 ; msr0.ovf not set 17 1.1 christos test_spr_bits 1,0,0,msr0 ; msr0.aovf not set 18 1.1 christos test_spr_bits 0x7000,12,0,msr0 ; msr0.mtt not set 19 1.1 christos test_accg_immed 0,accg2 20 1.1 christos test_acc_limmed 0x0000,0x0000,acc2 21 1.1 christos test_accg_immed 0,accg3 22 1.1 christos test_acc_limmed 0x0000,0x0000,acc3 23 1.1 christos 24 1.1 christos set_accg_immed 0,accg0 25 1.1 christos set_acc_immed 0xdead0000,acc0 26 1.1 christos set_accg_immed 0,accg1 27 1.1 christos set_acc_immed 0x0000beef,acc1 28 1.1 christos masaccs acc0,acc2 29 1.1 christos test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear 30 1.1 christos test_spr_bits 2,1,0,msr0 ; msr0.ovf not set 31 1.1 christos test_spr_bits 1,0,0,msr0 ; msr0.aovf not set 32 1.1 christos test_spr_bits 0x7000,12,0,msr0 ; msr0.mtt not set 33 1.1 christos test_accg_immed 0,accg2 34 1.1 christos test_acc_limmed 0xdead,0xbeef,acc2 35 1.1 christos test_accg_immed 0,accg3 36 1.1 christos test_acc_limmed 0xdeac,0x4111,acc3 37 1.1 christos 38 1.1 christos set_accg_immed 0,accg0 39 1.1 christos set_acc_immed 0x0000dead,acc0 40 1.1 christos set_accg_immed 0,accg1 41 1.1 christos set_acc_immed 0xbeef0000,acc1 42 1.1 christos masaccs acc0,acc2 43 1.1 christos test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear 44 1.1 christos test_spr_bits 2,1,0,msr0 ; msr0.ovf not set 45 1.1 christos test_spr_bits 1,0,0,msr0 ; msr0.aovf not set 46 1.1 christos test_spr_bits 0x7000,12,0,msr0 ; msr0.mtt not set 47 1.1 christos test_accg_immed 0,accg2 48 1.1 christos test_acc_limmed 0xbeef,0xdead,acc2 49 1.1 christos test_accg_immed 0xff,accg3 50 1.1 christos test_acc_limmed 0x4111,0xdead,acc3 51 1.1 christos 52 1.1 christos set_accg_immed 0,accg0 53 1.1 christos set_acc_immed 0x12345678,acc0 54 1.1 christos set_accg_immed 0,accg1 55 1.1 christos set_acc_immed 0x11111111,acc1 56 1.1 christos masaccs acc0,acc2 57 1.1 christos test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear 58 1.1 christos test_spr_bits 2,1,0,msr0 ; msr0.ovf not set 59 1.1 christos test_spr_bits 1,0,0,msr0 ; msr0.aovf not set 60 1.1 christos test_spr_bits 0x7000,12,0,msr0 ; msr0.mtt not set 61 1.1 christos test_accg_immed 0,accg2 62 1.1 christos test_acc_limmed 0x2345,0x6789,acc2 63 1.1 christos test_accg_immed 0,accg3 64 1.1 christos test_acc_limmed 0x0123,0x4567,acc3 65 1.1 christos 66 1.1 christos set_accg_immed 0,accg0 67 1.1 christos set_acc_immed 0x12345678,acc0 68 1.1 christos set_accg_immed 0,accg1 69 1.1 christos set_acc_immed 0xffffffff,acc1 70 1.1 christos masaccs acc0,acc2 71 1.1 christos test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear 72 1.1 christos test_spr_bits 2,1,0,msr0 ; msr0.ovf not set 73 1.1 christos test_spr_bits 1,0,0,msr0 ; msr0.aovf not set 74 1.1 christos test_spr_bits 0x7000,12,0,msr0 ; msr0.mtt not set 75 1.1 christos test_accg_immed 1,accg2 76 1.1 christos test_acc_limmed 0x1234,0x5677,acc2 77 1.1 christos test_accg_immed 0xff,accg3 78 1.1 christos test_acc_limmed 0x1234,0x5679,acc3 79 1.1 christos 80 1.1 christos set_accg_immed 0,accg0 81 1.1 christos set_acc_immed 0x12345678,acc0 82 1.1 christos set_accg_immed 0xff,accg1 83 1.1 christos set_acc_immed 0xffffffff,acc1 84 1.1 christos masaccs acc0,acc2 85 1.1 christos test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear 86 1.1 christos test_spr_bits 2,1,0,msr0 ; msr0.ovf not set 87 1.1 christos test_spr_bits 1,0,0,msr0 ; msr0.aovf not set 88 1.1 christos test_spr_bits 0x7000,12,0,msr0 ; msr0.mtt not set 89 1.1 christos test_accg_immed 0,accg2 90 1.1 christos test_acc_limmed 0x1234,0x5677,acc2 91 1.1 christos test_accg_immed 0,accg3 92 1.1 christos test_acc_limmed 0x1234,0x5679,acc3 93 1.1 christos 94 1.1 christos set_spr_immed 0,msr0 95 1.1 christos set_accg_immed 0x7f,accg0 96 1.1 christos set_acc_immed 0xfffe7ffe,acc0 97 1.1 christos set_accg_immed 0x0,accg1 98 1.1 christos set_acc_immed 0x00020001,acc1 99 1.1 christos masaccs acc0,acc2 100 1.1 christos test_spr_bits 0x3c,2,0x8,msr0 ; msr0.sie is set 101 1.1 christos test_spr_bits 2,1,1,msr0 ; msr0.ovf set 102 1.1 christos test_spr_bits 1,0,1,msr0 ; msr0.aovf set 103 1.1 christos test_spr_bits 0x7000,12,1,msr0 ; msr0.mtt set 104 1.1 christos test_accg_immed 0x7f,accg2 105 1.1 christos test_acc_limmed 0xffff,0xffff,acc2 106 1.1 christos test_accg_immed 0x7f,accg3 107 1.1 christos test_acc_limmed 0xfffc,0x7ffd,acc3 108 1.1 christos 109 1.1 christos set_spr_immed 0,msr0 110 1.1 christos set_accg_immed 0x80,accg0 111 1.1 christos set_acc_immed 0x00000001,acc0 112 1.1 christos set_accg_immed 0xff,accg1 113 1.1 christos set_acc_immed 0xfffffffe,acc1 114 1.1 christos masaccs acc0,acc2 115 1.1 christos test_spr_bits 0x3c,2,0x8,msr0 ; msr0.sie is set 116 1.1 christos test_spr_bits 2,1,1,msr0 ; msr0.ovf set 117 1.1 christos test_spr_bits 1,0,1,msr0 ; msr0.aovf set 118 1.1 christos test_spr_bits 0x7000,12,1,msr0 ; msr0.mtt set 119 1.1 christos test_accg_immed 0x80,accg2 120 1.1 christos test_acc_limmed 0x0000,0x0000,acc2 121 1.1 christos test_accg_immed 0x80,accg3 122 1.1 christos test_acc_limmed 0x0000,0x0003,acc3 123 1.1 christos 124 1.1 christos set_spr_immed 0,msr0 125 1.1 christos set_spr_immed 0,msr1 126 1.1 christos set_accg_immed 0,accg0 127 1.1 christos set_acc_immed 0x00000001,acc0 128 1.1 christos set_accg_immed 0,accg1 129 1.1 christos set_acc_immed 0x00000001,acc1 130 1.1 christos set_accg_immed 0,accg2 131 1.1 christos set_acc_immed 0x00000001,acc2 132 1.1 christos set_accg_immed 0x7f,accg3 133 1.1 christos set_acc_immed 0xffffffff,acc3 134 1.1 christos masaccs.p acc0,acc0 135 1.1 christos masaccs acc2,acc2 136 1.1 christos test_spr_bits 0x3c,2,0x0,msr0 ; msr0.sie not set 137 1.1 christos test_spr_bits 2,1,0,msr0 ; msr0.ovf not set 138 1.1 christos test_spr_bits 0x3c,2,0x8,msr1 ; msr1.sie is set 139 1.1 christos test_spr_bits 2,1,1,msr1 ; msr1.ovf set 140 1.1 christos test_spr_bits 1,0,1,msr0 ; msr0.aovf set 141 1.1 christos test_spr_bits 0x7000,12,1,msr0 ; msr0.mtt set 142 1.1 christos test_accg_immed 0,accg0 143 1.1 christos test_acc_limmed 0x0000,0x0002,acc0 144 1.1 christos test_accg_immed 0,accg1 145 1.1 christos test_acc_limmed 0x0000,0x0000,acc1 146 1.1 christos test_accg_immed 0x7f,accg2 147 1.1 christos test_acc_limmed 0xffff,0xffff,acc2 148 1.1 christos test_accg_immed 0x80,accg3 149 1.1 christos test_acc_limmed 0x0000,0x0002,acc3 150 1.1 christos 151 1.1 christos pass 152