| 1 | const std = @import("std"); |
| 2 | const testing = std.testing; |
| 3 | |
| 4 | const compiler_rt = @import("../compiler_rt.zig"); |
| 5 | |
| 6 | fn test__negdi2(a: i64, expected: i64) !void { |
| 7 | const result = compiler_rt.__negdi2(a); |
| 8 | try testing.expectEqual(expected, result); |
| 9 | } |
| 10 | |
| 11 | test "negdi2" { |
| 12 | // TODO ensuring that math.minInt(i64); returns error |
| 13 | |
| 14 | try test__negdi2(-3, 3); |
| 15 | try test__negdi2(-2, 2); |
| 16 | try test__negdi2(-1, 1); |
| 17 | try test__negdi2(0, 0); // special case for 2s complement |
| 18 | try test__negdi2(1, -1); |
| 19 | try test__negdi2(2, -2); |
| 20 | try test__negdi2(3, -3); |
| 21 | |
| 22 | // max_usable == MAX(i32) == -MIN(i32) |
| 23 | // == 9223372036854775807 == 7fffffffffffffff |
| 24 | // divTrunc: max_usable / i, i=1,2,3,5,100 |
| 25 | // 7fffffffffffffff / i |
| 26 | try test__negdi2(-3074457345618258602, 3074457345618258602); |
| 27 | try test__negdi2(3074457345618258602, -3074457345618258602); |
| 28 | try test__negdi2(-1844674407370955161, 1844674407370955161); |
| 29 | try test__negdi2(1844674407370955161, -1844674407370955161); |
| 30 | try test__negdi2(-922337203685477580, 922337203685477580); |
| 31 | try test__negdi2(922337203685477580, -922337203685477580); |
| 32 | // shifting: max_usable >> i, i=0..bitsize-4 |
| 33 | // 7fffffffffffffff >> i |
| 34 | // 7fffffffffffffff >> i + 1 |
| 35 | // 7fffffffffffffff >> i + 3 |
| 36 | // 7fffffffffffffff >> i + 7 |
| 37 | try test__negdi2(-9223372036854775807, 9223372036854775807); |
| 38 | try test__negdi2(9223372036854775807, -9223372036854775807); |
| 39 | try test__negdi2(-9223372036854775806, 9223372036854775806); |
| 40 | try test__negdi2(9223372036854775806, -9223372036854775806); |
| 41 | try test__negdi2(-9223372036854775804, 9223372036854775804); |
| 42 | try test__negdi2(9223372036854775804, -9223372036854775804); |
| 43 | try test__negdi2(-9223372036854775800, 9223372036854775800); |
| 44 | try test__negdi2(9223372036854775800, -9223372036854775800); |
| 45 | try test__negdi2(-4611686018427387903, 4611686018427387903); |
| 46 | try test__negdi2(4611686018427387903, -4611686018427387903); |
| 47 | try test__negdi2(-4611686018427387902, 4611686018427387902); |
| 48 | try test__negdi2(4611686018427387902, -4611686018427387902); |
| 49 | try test__negdi2(-4611686018427387900, 4611686018427387900); |
| 50 | try test__negdi2(4611686018427387900, -4611686018427387900); |
| 51 | try test__negdi2(-4611686018427387896, 4611686018427387896); |
| 52 | try test__negdi2(4611686018427387896, -4611686018427387896); |
| 53 | try test__negdi2(-2305843009213693951, 2305843009213693951); |
| 54 | try test__negdi2(2305843009213693951, -2305843009213693951); |
| 55 | try test__negdi2(-2305843009213693950, 2305843009213693950); |
| 56 | try test__negdi2(2305843009213693950, -2305843009213693950); |
| 57 | try test__negdi2(-2305843009213693948, 2305843009213693948); |
| 58 | try test__negdi2(2305843009213693948, -2305843009213693948); |
| 59 | try test__negdi2(-2305843009213693944, 2305843009213693944); |
| 60 | try test__negdi2(2305843009213693944, -2305843009213693944); |
| 61 | try test__negdi2(-1152921504606846975, 1152921504606846975); |
| 62 | try test__negdi2(1152921504606846975, -1152921504606846975); |
| 63 | try test__negdi2(-1152921504606846974, 1152921504606846974); |
| 64 | try test__negdi2(1152921504606846974, -1152921504606846974); |
| 65 | try test__negdi2(-1152921504606846972, 1152921504606846972); |
| 66 | try test__negdi2(1152921504606846972, -1152921504606846972); |
| 67 | try test__negdi2(-1152921504606846968, 1152921504606846968); |
| 68 | try test__negdi2(1152921504606846968, -1152921504606846968); |
| 69 | try test__negdi2(-576460752303423487, 576460752303423487); |
| 70 | try test__negdi2(576460752303423487, -576460752303423487); |
| 71 | try test__negdi2(-576460752303423486, 576460752303423486); |
| 72 | try test__negdi2(576460752303423486, -576460752303423486); |
| 73 | try test__negdi2(-576460752303423484, 576460752303423484); |
| 74 | try test__negdi2(576460752303423484, -576460752303423484); |
| 75 | try test__negdi2(-576460752303423480, 576460752303423480); |
| 76 | try test__negdi2(576460752303423480, -576460752303423480); |
| 77 | try test__negdi2(-288230376151711743, 288230376151711743); |
| 78 | try test__negdi2(288230376151711743, -288230376151711743); |
| 79 | try test__negdi2(-288230376151711742, 288230376151711742); |
| 80 | try test__negdi2(288230376151711742, -288230376151711742); |
| 81 | try test__negdi2(-288230376151711740, 288230376151711740); |
| 82 | try test__negdi2(288230376151711740, -288230376151711740); |
| 83 | try test__negdi2(-288230376151711736, 288230376151711736); |
| 84 | try test__negdi2(288230376151711736, -288230376151711736); |
| 85 | try test__negdi2(-144115188075855871, 144115188075855871); |
| 86 | try test__negdi2(144115188075855871, -144115188075855871); |
| 87 | try test__negdi2(-144115188075855870, 144115188075855870); |
| 88 | try test__negdi2(144115188075855870, -144115188075855870); |
| 89 | try test__negdi2(-144115188075855868, 144115188075855868); |
| 90 | try test__negdi2(144115188075855868, -144115188075855868); |
| 91 | try test__negdi2(-144115188075855864, 144115188075855864); |
| 92 | try test__negdi2(144115188075855864, -144115188075855864); |
| 93 | try test__negdi2(-72057594037927935, 72057594037927935); |
| 94 | try test__negdi2(72057594037927935, -72057594037927935); |
| 95 | try test__negdi2(-72057594037927934, 72057594037927934); |
| 96 | try test__negdi2(72057594037927934, -72057594037927934); |
| 97 | try test__negdi2(-72057594037927932, 72057594037927932); |
| 98 | try test__negdi2(72057594037927932, -72057594037927932); |
| 99 | try test__negdi2(-72057594037927928, 72057594037927928); |
| 100 | try test__negdi2(72057594037927928, -72057594037927928); |
| 101 | try test__negdi2(-36028797018963967, 36028797018963967); |
| 102 | try test__negdi2(36028797018963967, -36028797018963967); |
| 103 | try test__negdi2(-36028797018963966, 36028797018963966); |
| 104 | try test__negdi2(36028797018963966, -36028797018963966); |
| 105 | try test__negdi2(-36028797018963964, 36028797018963964); |
| 106 | try test__negdi2(36028797018963964, -36028797018963964); |
| 107 | try test__negdi2(-36028797018963960, 36028797018963960); |
| 108 | try test__negdi2(36028797018963960, -36028797018963960); |
| 109 | try test__negdi2(-18014398509481983, 18014398509481983); |
| 110 | try test__negdi2(18014398509481983, -18014398509481983); |
| 111 | try test__negdi2(-18014398509481982, 18014398509481982); |
| 112 | try test__negdi2(18014398509481982, -18014398509481982); |
| 113 | try test__negdi2(-18014398509481980, 18014398509481980); |
| 114 | try test__negdi2(18014398509481980, -18014398509481980); |
| 115 | try test__negdi2(-18014398509481976, 18014398509481976); |
| 116 | try test__negdi2(18014398509481976, -18014398509481976); |
| 117 | try test__negdi2(-9007199254740991, 9007199254740991); |
| 118 | try test__negdi2(9007199254740991, -9007199254740991); |
| 119 | try test__negdi2(-9007199254740990, 9007199254740990); |
| 120 | try test__negdi2(9007199254740990, -9007199254740990); |
| 121 | try test__negdi2(-9007199254740988, 9007199254740988); |
| 122 | try test__negdi2(9007199254740988, -9007199254740988); |
| 123 | try test__negdi2(-9007199254740984, 9007199254740984); |
| 124 | try test__negdi2(9007199254740984, -9007199254740984); |
| 125 | try test__negdi2(-4503599627370495, 4503599627370495); |
| 126 | try test__negdi2(4503599627370495, -4503599627370495); |
| 127 | try test__negdi2(-4503599627370494, 4503599627370494); |
| 128 | try test__negdi2(4503599627370494, -4503599627370494); |
| 129 | try test__negdi2(-4503599627370492, 4503599627370492); |
| 130 | try test__negdi2(4503599627370492, -4503599627370492); |
| 131 | try test__negdi2(-4503599627370488, 4503599627370488); |
| 132 | try test__negdi2(4503599627370488, -4503599627370488); |
| 133 | try test__negdi2(-2251799813685247, 2251799813685247); |
| 134 | try test__negdi2(2251799813685247, -2251799813685247); |
| 135 | try test__negdi2(-2251799813685246, 2251799813685246); |
| 136 | try test__negdi2(2251799813685246, -2251799813685246); |
| 137 | try test__negdi2(-2251799813685244, 2251799813685244); |
| 138 | try test__negdi2(2251799813685244, -2251799813685244); |
| 139 | try test__negdi2(-2251799813685240, 2251799813685240); |
| 140 | try test__negdi2(2251799813685240, -2251799813685240); |
| 141 | try test__negdi2(-1125899906842623, 1125899906842623); |
| 142 | try test__negdi2(1125899906842623, -1125899906842623); |
| 143 | try test__negdi2(-1125899906842622, 1125899906842622); |
| 144 | try test__negdi2(1125899906842622, -1125899906842622); |
| 145 | try test__negdi2(-1125899906842620, 1125899906842620); |
| 146 | try test__negdi2(1125899906842620, -1125899906842620); |
| 147 | try test__negdi2(-1125899906842616, 1125899906842616); |
| 148 | try test__negdi2(1125899906842616, -1125899906842616); |
| 149 | try test__negdi2(-562949953421311, 562949953421311); |
| 150 | try test__negdi2(562949953421311, -562949953421311); |
| 151 | try test__negdi2(-562949953421310, 562949953421310); |
| 152 | try test__negdi2(562949953421310, -562949953421310); |
| 153 | try test__negdi2(-562949953421308, 562949953421308); |
| 154 | try test__negdi2(562949953421308, -562949953421308); |
| 155 | try test__negdi2(-562949953421304, 562949953421304); |
| 156 | try test__negdi2(562949953421304, -562949953421304); |
| 157 | try test__negdi2(-281474976710655, 281474976710655); |
| 158 | try test__negdi2(281474976710655, -281474976710655); |
| 159 | try test__negdi2(-281474976710654, 281474976710654); |
| 160 | try test__negdi2(281474976710654, -281474976710654); |
| 161 | try test__negdi2(-281474976710652, 281474976710652); |
| 162 | try test__negdi2(281474976710652, -281474976710652); |
| 163 | try test__negdi2(-281474976710648, 281474976710648); |
| 164 | try test__negdi2(281474976710648, -281474976710648); |
| 165 | try test__negdi2(-140737488355327, 140737488355327); |
| 166 | try test__negdi2(140737488355327, -140737488355327); |
| 167 | try test__negdi2(-140737488355326, 140737488355326); |
| 168 | try test__negdi2(140737488355326, -140737488355326); |
| 169 | try test__negdi2(-140737488355324, 140737488355324); |
| 170 | try test__negdi2(140737488355324, -140737488355324); |
| 171 | try test__negdi2(-140737488355320, 140737488355320); |
| 172 | try test__negdi2(140737488355320, -140737488355320); |
| 173 | try test__negdi2(-70368744177663, 70368744177663); |
| 174 | try test__negdi2(70368744177663, -70368744177663); |
| 175 | try test__negdi2(-70368744177662, 70368744177662); |
| 176 | try test__negdi2(70368744177662, -70368744177662); |
| 177 | try test__negdi2(-70368744177660, 70368744177660); |
| 178 | try test__negdi2(70368744177660, -70368744177660); |
| 179 | try test__negdi2(-70368744177656, 70368744177656); |
| 180 | try test__negdi2(70368744177656, -70368744177656); |
| 181 | try test__negdi2(-35184372088831, 35184372088831); |
| 182 | try test__negdi2(35184372088831, -35184372088831); |
| 183 | try test__negdi2(-35184372088830, 35184372088830); |
| 184 | try test__negdi2(35184372088830, -35184372088830); |
| 185 | try test__negdi2(-35184372088828, 35184372088828); |
| 186 | try test__negdi2(35184372088828, -35184372088828); |
| 187 | try test__negdi2(-35184372088824, 35184372088824); |
| 188 | try test__negdi2(35184372088824, -35184372088824); |
| 189 | try test__negdi2(-17592186044415, 17592186044415); |
| 190 | try test__negdi2(17592186044415, -17592186044415); |
| 191 | try test__negdi2(-17592186044414, 17592186044414); |
| 192 | try test__negdi2(17592186044414, -17592186044414); |
| 193 | try test__negdi2(-17592186044412, 17592186044412); |
| 194 | try test__negdi2(17592186044412, -17592186044412); |
| 195 | try test__negdi2(-17592186044408, 17592186044408); |
| 196 | try test__negdi2(17592186044408, -17592186044408); |
| 197 | try test__negdi2(-8796093022207, 8796093022207); |
| 198 | try test__negdi2(8796093022207, -8796093022207); |
| 199 | try test__negdi2(-8796093022206, 8796093022206); |
| 200 | try test__negdi2(8796093022206, -8796093022206); |
| 201 | try test__negdi2(-8796093022204, 8796093022204); |
| 202 | try test__negdi2(8796093022204, -8796093022204); |
| 203 | try test__negdi2(-8796093022200, 8796093022200); |
| 204 | try test__negdi2(8796093022200, -8796093022200); |
| 205 | try test__negdi2(-4398046511103, 4398046511103); |
| 206 | try test__negdi2(4398046511103, -4398046511103); |
| 207 | try test__negdi2(-4398046511102, 4398046511102); |
| 208 | try test__negdi2(4398046511102, -4398046511102); |
| 209 | try test__negdi2(-4398046511100, 4398046511100); |
| 210 | try test__negdi2(4398046511100, -4398046511100); |
| 211 | try test__negdi2(-4398046511096, 4398046511096); |
| 212 | try test__negdi2(4398046511096, -4398046511096); |
| 213 | try test__negdi2(-2199023255551, 2199023255551); |
| 214 | try test__negdi2(2199023255551, -2199023255551); |
| 215 | try test__negdi2(-2199023255550, 2199023255550); |
| 216 | try test__negdi2(2199023255550, -2199023255550); |
| 217 | try test__negdi2(-2199023255548, 2199023255548); |
| 218 | try test__negdi2(2199023255548, -2199023255548); |
| 219 | try test__negdi2(-2199023255544, 2199023255544); |
| 220 | try test__negdi2(2199023255544, -2199023255544); |
| 221 | try test__negdi2(-1099511627775, 1099511627775); |
| 222 | try test__negdi2(1099511627775, -1099511627775); |
| 223 | try test__negdi2(-1099511627774, 1099511627774); |
| 224 | try test__negdi2(1099511627774, -1099511627774); |
| 225 | try test__negdi2(-1099511627772, 1099511627772); |
| 226 | try test__negdi2(1099511627772, -1099511627772); |
| 227 | try test__negdi2(-1099511627768, 1099511627768); |
| 228 | try test__negdi2(1099511627768, -1099511627768); |
| 229 | try test__negdi2(-549755813887, 549755813887); |
| 230 | try test__negdi2(549755813887, -549755813887); |
| 231 | try test__negdi2(-549755813886, 549755813886); |
| 232 | try test__negdi2(549755813886, -549755813886); |
| 233 | try test__negdi2(-549755813884, 549755813884); |
| 234 | try test__negdi2(549755813884, -549755813884); |
| 235 | try test__negdi2(-549755813880, 549755813880); |
| 236 | try test__negdi2(549755813880, -549755813880); |
| 237 | try test__negdi2(-274877906943, 274877906943); |
| 238 | try test__negdi2(274877906943, -274877906943); |
| 239 | try test__negdi2(-274877906942, 274877906942); |
| 240 | try test__negdi2(274877906942, -274877906942); |
| 241 | try test__negdi2(-274877906940, 274877906940); |
| 242 | try test__negdi2(274877906940, -274877906940); |
| 243 | try test__negdi2(-274877906936, 274877906936); |
| 244 | try test__negdi2(274877906936, -274877906936); |
| 245 | try test__negdi2(-137438953471, 137438953471); |
| 246 | try test__negdi2(137438953471, -137438953471); |
| 247 | try test__negdi2(-137438953470, 137438953470); |
| 248 | try test__negdi2(137438953470, -137438953470); |
| 249 | try test__negdi2(-137438953468, 137438953468); |
| 250 | try test__negdi2(137438953468, -137438953468); |
| 251 | try test__negdi2(-137438953464, 137438953464); |
| 252 | try test__negdi2(137438953464, -137438953464); |
| 253 | try test__negdi2(-68719476735, 68719476735); |
| 254 | try test__negdi2(68719476735, -68719476735); |
| 255 | try test__negdi2(-68719476734, 68719476734); |
| 256 | try test__negdi2(68719476734, -68719476734); |
| 257 | try test__negdi2(-68719476732, 68719476732); |
| 258 | try test__negdi2(68719476732, -68719476732); |
| 259 | try test__negdi2(-68719476728, 68719476728); |
| 260 | try test__negdi2(68719476728, -68719476728); |
| 261 | try test__negdi2(-34359738367, 34359738367); |
| 262 | try test__negdi2(34359738367, -34359738367); |
| 263 | try test__negdi2(-34359738366, 34359738366); |
| 264 | try test__negdi2(34359738366, -34359738366); |
| 265 | try test__negdi2(-34359738364, 34359738364); |
| 266 | try test__negdi2(34359738364, -34359738364); |
| 267 | try test__negdi2(-34359738360, 34359738360); |
| 268 | try test__negdi2(34359738360, -34359738360); |
| 269 | try test__negdi2(-17179869183, 17179869183); |
| 270 | try test__negdi2(17179869183, -17179869183); |
| 271 | try test__negdi2(-17179869182, 17179869182); |
| 272 | try test__negdi2(17179869182, -17179869182); |
| 273 | try test__negdi2(-17179869180, 17179869180); |
| 274 | try test__negdi2(17179869180, -17179869180); |
| 275 | try test__negdi2(-17179869176, 17179869176); |
| 276 | try test__negdi2(17179869176, -17179869176); |
| 277 | try test__negdi2(-8589934591, 8589934591); |
| 278 | try test__negdi2(8589934591, -8589934591); |
| 279 | try test__negdi2(-8589934590, 8589934590); |
| 280 | try test__negdi2(8589934590, -8589934590); |
| 281 | try test__negdi2(-8589934588, 8589934588); |
| 282 | try test__negdi2(8589934588, -8589934588); |
| 283 | try test__negdi2(-8589934584, 8589934584); |
| 284 | try test__negdi2(8589934584, -8589934584); |
| 285 | try test__negdi2(-4294967295, 4294967295); |
| 286 | try test__negdi2(4294967295, -4294967295); |
| 287 | try test__negdi2(-4294967294, 4294967294); |
| 288 | try test__negdi2(4294967294, -4294967294); |
| 289 | try test__negdi2(-4294967292, 4294967292); |
| 290 | try test__negdi2(4294967292, -4294967292); |
| 291 | try test__negdi2(-4294967288, 4294967288); |
| 292 | try test__negdi2(4294967288, -4294967288); |
| 293 | try test__negdi2(-2147483647, 2147483647); |
| 294 | try test__negdi2(2147483647, -2147483647); |
| 295 | try test__negdi2(-2147483646, 2147483646); |
| 296 | try test__negdi2(2147483646, -2147483646); |
| 297 | try test__negdi2(-2147483644, 2147483644); |
| 298 | try test__negdi2(2147483644, -2147483644); |
| 299 | try test__negdi2(-2147483640, 2147483640); |
| 300 | try test__negdi2(2147483640, -2147483640); |
| 301 | try test__negdi2(-1073741823, 1073741823); |
| 302 | try test__negdi2(1073741823, -1073741823); |
| 303 | try test__negdi2(-1073741822, 1073741822); |
| 304 | try test__negdi2(1073741822, -1073741822); |
| 305 | try test__negdi2(-1073741820, 1073741820); |
| 306 | try test__negdi2(1073741820, -1073741820); |
| 307 | try test__negdi2(-1073741816, 1073741816); |
| 308 | try test__negdi2(1073741816, -1073741816); |
| 309 | try test__negdi2(-536870911, 536870911); |
| 310 | try test__negdi2(536870911, -536870911); |
| 311 | try test__negdi2(-536870910, 536870910); |
| 312 | try test__negdi2(536870910, -536870910); |
| 313 | try test__negdi2(-536870908, 536870908); |
| 314 | try test__negdi2(536870908, -536870908); |
| 315 | try test__negdi2(-536870904, 536870904); |
| 316 | try test__negdi2(536870904, -536870904); |
| 317 | try test__negdi2(-268435455, 268435455); |
| 318 | try test__negdi2(268435455, -268435455); |
| 319 | try test__negdi2(-268435454, 268435454); |
| 320 | try test__negdi2(268435454, -268435454); |
| 321 | try test__negdi2(-268435452, 268435452); |
| 322 | try test__negdi2(268435452, -268435452); |
| 323 | try test__negdi2(-268435448, 268435448); |
| 324 | try test__negdi2(268435448, -268435448); |
| 325 | try test__negdi2(-134217727, 134217727); |
| 326 | try test__negdi2(134217727, -134217727); |
| 327 | try test__negdi2(-134217726, 134217726); |
| 328 | try test__negdi2(134217726, -134217726); |
| 329 | try test__negdi2(-134217724, 134217724); |
| 330 | try test__negdi2(134217724, -134217724); |
| 331 | try test__negdi2(-134217720, 134217720); |
| 332 | try test__negdi2(134217720, -134217720); |
| 333 | try test__negdi2(-67108863, 67108863); |
| 334 | try test__negdi2(67108863, -67108863); |
| 335 | try test__negdi2(-67108862, 67108862); |
| 336 | try test__negdi2(67108862, -67108862); |
| 337 | try test__negdi2(-67108860, 67108860); |
| 338 | try test__negdi2(67108860, -67108860); |
| 339 | try test__negdi2(-67108856, 67108856); |
| 340 | try test__negdi2(67108856, -67108856); |
| 341 | try test__negdi2(-33554431, 33554431); |
| 342 | try test__negdi2(33554431, -33554431); |
| 343 | try test__negdi2(-33554430, 33554430); |
| 344 | try test__negdi2(33554430, -33554430); |
| 345 | try test__negdi2(-33554428, 33554428); |
| 346 | try test__negdi2(33554428, -33554428); |
| 347 | try test__negdi2(-33554424, 33554424); |
| 348 | try test__negdi2(33554424, -33554424); |
| 349 | try test__negdi2(-16777215, 16777215); |
| 350 | try test__negdi2(16777215, -16777215); |
| 351 | try test__negdi2(-16777214, 16777214); |
| 352 | try test__negdi2(16777214, -16777214); |
| 353 | try test__negdi2(-16777212, 16777212); |
| 354 | try test__negdi2(16777212, -16777212); |
| 355 | try test__negdi2(-16777208, 16777208); |
| 356 | try test__negdi2(16777208, -16777208); |
| 357 | try test__negdi2(-8388607, 8388607); |
| 358 | try test__negdi2(8388607, -8388607); |
| 359 | try test__negdi2(-8388606, 8388606); |
| 360 | try test__negdi2(8388606, -8388606); |
| 361 | try test__negdi2(-8388604, 8388604); |
| 362 | try test__negdi2(8388604, -8388604); |
| 363 | try test__negdi2(-8388600, 8388600); |
| 364 | try test__negdi2(8388600, -8388600); |
| 365 | try test__negdi2(-4194303, 4194303); |
| 366 | try test__negdi2(4194303, -4194303); |
| 367 | try test__negdi2(-4194302, 4194302); |
| 368 | try test__negdi2(4194302, -4194302); |
| 369 | try test__negdi2(-4194300, 4194300); |
| 370 | try test__negdi2(4194300, -4194300); |
| 371 | try test__negdi2(-4194296, 4194296); |
| 372 | try test__negdi2(4194296, -4194296); |
| 373 | try test__negdi2(-2097151, 2097151); |
| 374 | try test__negdi2(2097151, -2097151); |
| 375 | try test__negdi2(-2097150, 2097150); |
| 376 | try test__negdi2(2097150, -2097150); |
| 377 | try test__negdi2(-2097148, 2097148); |
| 378 | try test__negdi2(2097148, -2097148); |
| 379 | try test__negdi2(-2097144, 2097144); |
| 380 | try test__negdi2(2097144, -2097144); |
| 381 | try test__negdi2(-1048575, 1048575); |
| 382 | try test__negdi2(1048575, -1048575); |
| 383 | try test__negdi2(-1048574, 1048574); |
| 384 | try test__negdi2(1048574, -1048574); |
| 385 | try test__negdi2(-1048572, 1048572); |
| 386 | try test__negdi2(1048572, -1048572); |
| 387 | try test__negdi2(-1048568, 1048568); |
| 388 | try test__negdi2(1048568, -1048568); |
| 389 | try test__negdi2(-524287, 524287); |
| 390 | try test__negdi2(524287, -524287); |
| 391 | try test__negdi2(-524286, 524286); |
| 392 | try test__negdi2(524286, -524286); |
| 393 | try test__negdi2(-524284, 524284); |
| 394 | try test__negdi2(524284, -524284); |
| 395 | try test__negdi2(-524280, 524280); |
| 396 | try test__negdi2(524280, -524280); |
| 397 | try test__negdi2(-262143, 262143); |
| 398 | try test__negdi2(262143, -262143); |
| 399 | try test__negdi2(-262142, 262142); |
| 400 | try test__negdi2(262142, -262142); |
| 401 | try test__negdi2(-262140, 262140); |
| 402 | try test__negdi2(262140, -262140); |
| 403 | try test__negdi2(-262136, 262136); |
| 404 | try test__negdi2(262136, -262136); |
| 405 | try test__negdi2(-131071, 131071); |
| 406 | try test__negdi2(131071, -131071); |
| 407 | try test__negdi2(-131070, 131070); |
| 408 | try test__negdi2(131070, -131070); |
| 409 | try test__negdi2(-131068, 131068); |
| 410 | try test__negdi2(131068, -131068); |
| 411 | try test__negdi2(-131064, 131064); |
| 412 | try test__negdi2(131064, -131064); |
| 413 | try test__negdi2(-65535, 65535); |
| 414 | try test__negdi2(65535, -65535); |
| 415 | try test__negdi2(-65534, 65534); |
| 416 | try test__negdi2(65534, -65534); |
| 417 | try test__negdi2(-65532, 65532); |
| 418 | try test__negdi2(65532, -65532); |
| 419 | try test__negdi2(-65528, 65528); |
| 420 | try test__negdi2(65528, -65528); |
| 421 | try test__negdi2(-32767, 32767); |
| 422 | try test__negdi2(32767, -32767); |
| 423 | try test__negdi2(-32766, 32766); |
| 424 | try test__negdi2(32766, -32766); |
| 425 | try test__negdi2(-32764, 32764); |
| 426 | try test__negdi2(32764, -32764); |
| 427 | try test__negdi2(-32760, 32760); |
| 428 | try test__negdi2(32760, -32760); |
| 429 | try test__negdi2(-16383, 16383); |
| 430 | try test__negdi2(16383, -16383); |
| 431 | try test__negdi2(-16382, 16382); |
| 432 | try test__negdi2(16382, -16382); |
| 433 | try test__negdi2(-16380, 16380); |
| 434 | try test__negdi2(16380, -16380); |
| 435 | try test__negdi2(-16376, 16376); |
| 436 | try test__negdi2(16376, -16376); |
| 437 | try test__negdi2(-8191, 8191); |
| 438 | try test__negdi2(8191, -8191); |
| 439 | try test__negdi2(-8190, 8190); |
| 440 | try test__negdi2(8190, -8190); |
| 441 | try test__negdi2(-8188, 8188); |
| 442 | try test__negdi2(8188, -8188); |
| 443 | try test__negdi2(-8184, 8184); |
| 444 | try test__negdi2(8184, -8184); |
| 445 | try test__negdi2(-4095, 4095); |
| 446 | try test__negdi2(4095, -4095); |
| 447 | try test__negdi2(-4094, 4094); |
| 448 | try test__negdi2(4094, -4094); |
| 449 | try test__negdi2(-4092, 4092); |
| 450 | try test__negdi2(4092, -4092); |
| 451 | try test__negdi2(-4088, 4088); |
| 452 | try test__negdi2(4088, -4088); |
| 453 | try test__negdi2(-2047, 2047); |
| 454 | try test__negdi2(2047, -2047); |
| 455 | try test__negdi2(-2046, 2046); |
| 456 | try test__negdi2(2046, -2046); |
| 457 | try test__negdi2(-2044, 2044); |
| 458 | try test__negdi2(2044, -2044); |
| 459 | try test__negdi2(-2040, 2040); |
| 460 | try test__negdi2(2040, -2040); |
| 461 | try test__negdi2(-1023, 1023); |
| 462 | try test__negdi2(1023, -1023); |
| 463 | try test__negdi2(-1022, 1022); |
| 464 | try test__negdi2(1022, -1022); |
| 465 | try test__negdi2(-1020, 1020); |
| 466 | try test__negdi2(1020, -1020); |
| 467 | try test__negdi2(-1016, 1016); |
| 468 | try test__negdi2(1016, -1016); |
| 469 | try test__negdi2(-511, 511); |
| 470 | try test__negdi2(511, -511); |
| 471 | try test__negdi2(-510, 510); |
| 472 | try test__negdi2(510, -510); |
| 473 | try test__negdi2(-508, 508); |
| 474 | try test__negdi2(508, -508); |
| 475 | try test__negdi2(-504, 504); |
| 476 | try test__negdi2(504, -504); |
| 477 | try test__negdi2(-255, 255); |
| 478 | try test__negdi2(255, -255); |
| 479 | try test__negdi2(-254, 254); |
| 480 | try test__negdi2(254, -254); |
| 481 | try test__negdi2(-252, 252); |
| 482 | try test__negdi2(252, -252); |
| 483 | try test__negdi2(-248, 248); |
| 484 | try test__negdi2(248, -248); |
| 485 | try test__negdi2(-127, 127); |
| 486 | try test__negdi2(127, -127); |
| 487 | try test__negdi2(-126, 126); |
| 488 | try test__negdi2(126, -126); |
| 489 | try test__negdi2(-124, 124); |
| 490 | try test__negdi2(124, -124); |
| 491 | try test__negdi2(-120, 120); |
| 492 | try test__negdi2(120, -120); |
| 493 | try test__negdi2(-63, 63); |
| 494 | try test__negdi2(63, -63); |
| 495 | try test__negdi2(-62, 62); |
| 496 | try test__negdi2(62, -62); |
| 497 | try test__negdi2(-60, 60); |
| 498 | try test__negdi2(60, -60); |
| 499 | try test__negdi2(-56, 56); |
| 500 | try test__negdi2(56, -56); |
| 501 | try test__negdi2(-31, 31); |
| 502 | try test__negdi2(31, -31); |
| 503 | try test__negdi2(-30, 30); |
| 504 | try test__negdi2(30, -30); |
| 505 | try test__negdi2(-28, 28); |
| 506 | try test__negdi2(28, -28); |
| 507 | try test__negdi2(-24, 24); |
| 508 | try test__negdi2(24, -24); |
| 509 | try test__negdi2(-15, 15); |
| 510 | try test__negdi2(15, -15); |
| 511 | try test__negdi2(-14, 14); |
| 512 | try test__negdi2(14, -14); |
| 513 | try test__negdi2(-12, 12); |
| 514 | try test__negdi2(12, -12); |
| 515 | try test__negdi2(-8, 8); |
| 516 | try test__negdi2(8, -8); |
| 517 | } |