1# frv testcase for cstd $GRk,@($GRi,$GRj) 2# mach: all 3 4 .include "testutils.inc" 5 6 start 7 8 .global cstd 9cstd: 10 set_spr_immed 0x1b1b,cccr 11 12 set_mem_limmed 0xbeef,0xdead,sp 13 inc_gr_immed -4,sp 14 set_mem_limmed 0xdead,0xbeef,sp 15 set_gr_gr sp,gr20 16 set_gr_gr sp,gr21 17 18 set_gr_immed 0,gr7 19 set_gr_limmed 0xbeef,0xdead,gr8 20 set_gr_limmed 0xdead,0xbeef,gr9 21 cstd gr8,@(sp,gr7),cc0,1 22 test_mem_limmed 0xbeef,0xdead,gr21 23 inc_gr_immed 4,gr21 24 test_mem_limmed 0xdead,0xbeef,gr21 25 26 set_gr_gr gr20,gr21 27 inc_gr_immed -8,sp 28 set_gr_immed 8,gr7 29 set_gr_limmed 0xaaaa,0xaaaa,gr8 30 set_gr_limmed 0xbbbb,0xbbbb,gr9 31 cstd gr8,@(sp,gr7),cc0,1 32 test_mem_limmed 0xaaaa,0xaaaa,gr21 33 inc_gr_immed 4,gr21 34 test_mem_limmed 0xbbbb,0xbbbb,gr21 35 36 set_gr_gr gr20,gr21 37 inc_gr_immed 16,sp 38 set_gr_immed -8,gr7 39 set_gr_limmed 0xcccc,0xcccc,gr8 40 set_gr_limmed 0xdddd,0xdddd,gr9 41 cstd gr8,@(sp,gr7),cc4,1 42 test_mem_limmed 0xcccc,0xcccc,gr21 43 inc_gr_immed 4,gr21 44 test_mem_limmed 0xdddd,0xdddd,gr21 45 46 set_gr_gr gr20,gr21 47 set_gr_gr gr20,sp 48 set_mem_limmed 0xdead,0xbeef,sp 49 inc_gr_immed 4,sp 50 set_mem_limmed 0xbeef,0xdead,sp 51 inc_gr_immed -4,sp 52 53 set_gr_immed 0,gr7 54 set_gr_limmed 0xbeef,0xdead,gr8 55 set_gr_limmed 0xdead,0xbeef,gr9 56 cstd gr8,@(sp,gr7),cc0,0 57 test_mem_limmed 0xdead,0xbeef,gr21 58 inc_gr_immed 4,gr21 59 test_mem_limmed 0xbeef,0xdead,gr21 60 61 set_gr_gr gr20,gr21 62 inc_gr_immed -8,sp 63 set_gr_immed 8,gr7 64 set_gr_limmed 0xaaaa,0xaaaa,gr8 65 set_gr_limmed 0xbbbb,0xbbbb,gr9 66 cstd gr8,@(sp,gr7),cc0,0 67 test_mem_limmed 0xdead,0xbeef,gr21 68 inc_gr_immed 4,gr21 69 test_mem_limmed 0xbeef,0xdead,gr21 70 71 set_gr_gr gr20,gr21 72 inc_gr_immed 16,sp 73 set_gr_immed -8,gr7 74 set_gr_limmed 0xcccc,0xcccc,gr8 75 set_gr_limmed 0xdddd,0xdddd,gr9 76 cstd gr8,@(sp,gr7),cc4,0 77 test_mem_limmed 0xdead,0xbeef,gr21 78 inc_gr_immed 4,gr21 79 test_mem_limmed 0xbeef,0xdead,gr21 80 81 set_gr_gr gr20,gr21 82 set_gr_gr gr20,sp 83 set_mem_limmed 0xdead,0xbeef,sp 84 inc_gr_immed 4,sp 85 set_mem_limmed 0xbeef,0xdead,sp 86 inc_gr_immed -4,sp 87 88 set_gr_immed 0,gr7 89 set_gr_limmed 0xbeef,0xdead,gr8 90 set_gr_limmed 0xdead,0xbeef,gr9 91 cstd gr8,@(sp,gr7),cc1,0 92 test_mem_limmed 0xbeef,0xdead,gr21 93 inc_gr_immed 4,gr21 94 test_mem_limmed 0xdead,0xbeef,gr21 95 96 set_gr_gr gr20,gr21 97 inc_gr_immed -8,sp 98 set_gr_immed 8,gr7 99 set_gr_limmed 0xaaaa,0xaaaa,gr8 100 set_gr_limmed 0xbbbb,0xbbbb,gr9 101 cstd gr8,@(sp,gr7),cc1,0 102 test_mem_limmed 0xaaaa,0xaaaa,gr21 103 inc_gr_immed 4,gr21 104 test_mem_limmed 0xbbbb,0xbbbb,gr21 105 106 set_gr_gr gr20,gr21 107 inc_gr_immed 16,sp 108 set_gr_immed -8,gr7 109 set_gr_limmed 0xcccc,0xcccc,gr8 110 set_gr_limmed 0xdddd,0xdddd,gr9 111 cstd gr8,@(sp,gr7),cc5,0 112 test_mem_limmed 0xcccc,0xcccc,gr21 113 inc_gr_immed 4,gr21 114 test_mem_limmed 0xdddd,0xdddd,gr21 115 116 set_gr_gr gr20,gr21 117 set_gr_gr gr20,sp 118 set_mem_limmed 0xdead,0xbeef,sp 119 inc_gr_immed 4,sp 120 set_mem_limmed 0xbeef,0xdead,sp 121 inc_gr_immed -4,sp 122 123 set_gr_immed 0,gr7 124 set_gr_limmed 0xbeef,0xdead,gr8 125 set_gr_limmed 0xdead,0xbeef,gr9 126 cstd gr8,@(sp,gr7),cc1,1 127 test_mem_limmed 0xdead,0xbeef,gr21 128 inc_gr_immed 4,gr21 129 test_mem_limmed 0xbeef,0xdead,gr21 130 131 set_gr_gr gr20,gr21 132 inc_gr_immed -8,sp 133 set_gr_immed 8,gr7 134 set_gr_limmed 0xaaaa,0xaaaa,gr8 135 set_gr_limmed 0xbbbb,0xbbbb,gr9 136 cstd gr8,@(sp,gr7),cc1,1 137 test_mem_limmed 0xdead,0xbeef,gr21 138 inc_gr_immed 4,gr21 139 test_mem_limmed 0xbeef,0xdead,gr21 140 141 set_gr_gr gr20,gr21 142 inc_gr_immed 16,sp 143 set_gr_immed -8,gr7 144 set_gr_limmed 0xcccc,0xcccc,gr8 145 set_gr_limmed 0xdddd,0xdddd,gr9 146 cstd gr8,@(sp,gr7),cc5,1 147 test_mem_limmed 0xdead,0xbeef,gr21 148 inc_gr_immed 4,gr21 149 test_mem_limmed 0xbeef,0xdead,gr21 150 151 set_gr_gr gr20,gr21 152 set_gr_gr gr20,sp 153 set_mem_limmed 0xdead,0xbeef,sp 154 inc_gr_immed 4,sp 155 set_mem_limmed 0xbeef,0xdead,sp 156 inc_gr_immed -4,sp 157 158 set_gr_immed 0,gr7 159 set_gr_limmed 0xbeef,0xdead,gr8 160 set_gr_limmed 0xdead,0xbeef,gr9 161 cstd gr8,@(sp,gr7),cc2,0 162 test_mem_limmed 0xdead,0xbeef,gr21 163 inc_gr_immed 4,gr21 164 test_mem_limmed 0xbeef,0xdead,gr21 165 166 set_gr_gr gr20,gr21 167 inc_gr_immed -8,sp 168 set_gr_immed 8,gr7 169 set_gr_limmed 0xaaaa,0xaaaa,gr8 170 set_gr_limmed 0xbbbb,0xbbbb,gr9 171 cstd gr8,@(sp,gr7),cc2,1 172 test_mem_limmed 0xdead,0xbeef,gr21 173 inc_gr_immed 4,gr21 174 test_mem_limmed 0xbeef,0xdead,gr21 175 176 set_gr_gr gr20,gr21 177 inc_gr_immed 16,sp 178 set_gr_immed -8,gr7 179 set_gr_limmed 0xcccc,0xcccc,gr8 180 set_gr_limmed 0xdddd,0xdddd,gr9 181 cstd gr8,@(sp,gr7),cc6,0 182 test_mem_limmed 0xdead,0xbeef,gr21 183 inc_gr_immed 4,gr21 184 test_mem_limmed 0xbeef,0xdead,gr21 185 186 set_gr_gr gr20,gr21 187 set_gr_gr gr20,sp 188 set_mem_limmed 0xdead,0xbeef,sp 189 inc_gr_immed 4,sp 190 set_mem_limmed 0xbeef,0xdead,sp 191 inc_gr_immed -4,sp 192 193 set_gr_immed 0,gr7 194 set_gr_limmed 0xbeef,0xdead,gr8 195 set_gr_limmed 0xdead,0xbeef,gr9 196 cstd gr8,@(sp,gr7),cc3,1 197 test_mem_limmed 0xdead,0xbeef,gr21 198 inc_gr_immed 4,gr21 199 test_mem_limmed 0xbeef,0xdead,gr21 200 201 set_gr_gr gr20,gr21 202 inc_gr_immed -8,sp 203 set_gr_immed 8,gr7 204 set_gr_limmed 0xaaaa,0xaaaa,gr8 205 set_gr_limmed 0xbbbb,0xbbbb,gr9 206 cstd gr8,@(sp,gr7),cc3,0 207 test_mem_limmed 0xdead,0xbeef,gr21 208 inc_gr_immed 4,gr21 209 test_mem_limmed 0xbeef,0xdead,gr21 210 211 set_gr_gr gr20,gr21 212 inc_gr_immed 16,sp 213 set_gr_immed -8,gr7 214 set_gr_limmed 0xcccc,0xcccc,gr8 215 set_gr_limmed 0xdddd,0xdddd,gr9 216 cstd gr8,@(sp,gr7),cc7,1 217 test_mem_limmed 0xdead,0xbeef,gr21 218 inc_gr_immed 4,gr21 219 test_mem_limmed 0xbeef,0xdead,gr21 220 221 pass 222