1// run2// Code generated by gen/constFoldGen.go. DO NOT EDIT.34package test56import "testing"78func TestConstFolduint64add(t *testing.T) {9 var x, y, r uint6410 x = 011 y = 012 r = x + y13 if r != 0 {14 t.Errorf("0 %s 0 = %d, want 0", "+", r)15 }16 y = 117 r = x + y18 if r != 1 {19 t.Errorf("0 %s 1 = %d, want 1", "+", r)20 }21 y = 429496729622 r = x + y23 if r != 4294967296 {24 t.Errorf("0 %s 4294967296 = %d, want 4294967296", "+", r)25 }26 y = 1844674407370955161527 r = x + y28 if r != 18446744073709551615 {29 t.Errorf("0 %s 18446744073709551615 = %d, want 18446744073709551615", "+", r)30 }31 x = 132 y = 033 r = x + y34 if r != 1 {35 t.Errorf("1 %s 0 = %d, want 1", "+", r)36 }37 y = 138 r = x + y39 if r != 2 {40 t.Errorf("1 %s 1 = %d, want 2", "+", r)41 }42 y = 429496729643 r = x + y44 if r != 4294967297 {45 t.Errorf("1 %s 4294967296 = %d, want 4294967297", "+", r)46 }47 y = 1844674407370955161548 r = x + y49 if r != 0 {50 t.Errorf("1 %s 18446744073709551615 = %d, want 0", "+", r)51 }52 x = 429496729653 y = 054 r = x + y55 if r != 4294967296 {56 t.Errorf("4294967296 %s 0 = %d, want 4294967296", "+", r)57 }58 y = 159 r = x + y60 if r != 4294967297 {61 t.Errorf("4294967296 %s 1 = %d, want 4294967297", "+", r)62 }63 y = 429496729664 r = x + y65 if r != 8589934592 {66 t.Errorf("4294967296 %s 4294967296 = %d, want 8589934592", "+", r)67 }68 y = 1844674407370955161569 r = x + y70 if r != 4294967295 {71 t.Errorf("4294967296 %s 18446744073709551615 = %d, want 4294967295", "+", r)72 }73 x = 1844674407370955161574 y = 075 r = x + y76 if r != 18446744073709551615 {77 t.Errorf("18446744073709551615 %s 0 = %d, want 18446744073709551615", "+", r)78 }79 y = 180 r = x + y81 if r != 0 {82 t.Errorf("18446744073709551615 %s 1 = %d, want 0", "+", r)83 }84 y = 429496729685 r = x + y86 if r != 4294967295 {87 t.Errorf("18446744073709551615 %s 4294967296 = %d, want 4294967295", "+", r)88 }89 y = 1844674407370955161590 r = x + y91 if r != 18446744073709551614 {92 t.Errorf("18446744073709551615 %s 18446744073709551615 = %d, want 18446744073709551614", "+", r)93 }94}95func TestConstFolduint64sub(t *testing.T) {96 var x, y, r uint6497 x = 098 y = 099 r = x - y100 if r != 0 {101 t.Errorf("0 %s 0 = %d, want 0", "-", r)102 }103 y = 1104 r = x - y105 if r != 18446744073709551615 {106 t.Errorf("0 %s 1 = %d, want 18446744073709551615", "-", r)107 }108 y = 4294967296109 r = x - y110 if r != 18446744069414584320 {111 t.Errorf("0 %s 4294967296 = %d, want 18446744069414584320", "-", r)112 }113 y = 18446744073709551615114 r = x - y115 if r != 1 {116 t.Errorf("0 %s 18446744073709551615 = %d, want 1", "-", r)117 }118 x = 1119 y = 0120 r = x - y121 if r != 1 {122 t.Errorf("1 %s 0 = %d, want 1", "-", r)123 }124 y = 1125 r = x - y126 if r != 0 {127 t.Errorf("1 %s 1 = %d, want 0", "-", r)128 }129 y = 4294967296130 r = x - y131 if r != 18446744069414584321 {132 t.Errorf("1 %s 4294967296 = %d, want 18446744069414584321", "-", r)133 }134 y = 18446744073709551615135 r = x - y136 if r != 2 {137 t.Errorf("1 %s 18446744073709551615 = %d, want 2", "-", r)138 }139 x = 4294967296140 y = 0141 r = x - y142 if r != 4294967296 {143 t.Errorf("4294967296 %s 0 = %d, want 4294967296", "-", r)144 }145 y = 1146 r = x - y147 if r != 4294967295 {148 t.Errorf("4294967296 %s 1 = %d, want 4294967295", "-", r)149 }150 y = 4294967296151 r = x - y152 if r != 0 {153 t.Errorf("4294967296 %s 4294967296 = %d, want 0", "-", r)154 }155 y = 18446744073709551615156 r = x - y157 if r != 4294967297 {158 t.Errorf("4294967296 %s 18446744073709551615 = %d, want 4294967297", "-", r)159 }160 x = 18446744073709551615161 y = 0162 r = x - y163 if r != 18446744073709551615 {164 t.Errorf("18446744073709551615 %s 0 = %d, want 18446744073709551615", "-", r)165 }166 y = 1167 r = x - y168 if r != 18446744073709551614 {169 t.Errorf("18446744073709551615 %s 1 = %d, want 18446744073709551614", "-", r)170 }171 y = 4294967296172 r = x - y173 if r != 18446744069414584319 {174 t.Errorf("18446744073709551615 %s 4294967296 = %d, want 18446744069414584319", "-", r)175 }176 y = 18446744073709551615177 r = x - y178 if r != 0 {179 t.Errorf("18446744073709551615 %s 18446744073709551615 = %d, want 0", "-", r)180 }181}182func TestConstFolduint64div(t *testing.T) {183 var x, y, r uint64184 x = 0185 y = 1186 r = x / y187 if r != 0 {188 t.Errorf("0 %s 1 = %d, want 0", "/", r)189 }190 y = 4294967296191 r = x / y192 if r != 0 {193 t.Errorf("0 %s 4294967296 = %d, want 0", "/", r)194 }195 y = 18446744073709551615196 r = x / y197 if r != 0 {198 t.Errorf("0 %s 18446744073709551615 = %d, want 0", "/", r)199 }200 x = 1201 y = 1202 r = x / y203 if r != 1 {204 t.Errorf("1 %s 1 = %d, want 1", "/", r)205 }206 y = 4294967296207 r = x / y208 if r != 0 {209 t.Errorf("1 %s 4294967296 = %d, want 0", "/", r)210 }211 y = 18446744073709551615212 r = x / y213 if r != 0 {214 t.Errorf("1 %s 18446744073709551615 = %d, want 0", "/", r)215 }216 x = 4294967296217 y = 1218 r = x / y219 if r != 4294967296 {220 t.Errorf("4294967296 %s 1 = %d, want 4294967296", "/", r)221 }222 y = 4294967296223 r = x / y224 if r != 1 {225 t.Errorf("4294967296 %s 4294967296 = %d, want 1", "/", r)226 }227 y = 18446744073709551615228 r = x / y229 if r != 0 {230 t.Errorf("4294967296 %s 18446744073709551615 = %d, want 0", "/", r)231 }232 x = 18446744073709551615233 y = 1234 r = x / y235 if r != 18446744073709551615 {236 t.Errorf("18446744073709551615 %s 1 = %d, want 18446744073709551615", "/", r)237 }238 y = 4294967296239 r = x / y240 if r != 4294967295 {241 t.Errorf("18446744073709551615 %s 4294967296 = %d, want 4294967295", "/", r)242 }243 y = 18446744073709551615244 r = x / y245 if r != 1 {246 t.Errorf("18446744073709551615 %s 18446744073709551615 = %d, want 1", "/", r)247 }248}249func TestConstFolduint64mul(t *testing.T) {250 var x, y, r uint64251 x = 0252 y = 0253 r = x * y254 if r != 0 {255 t.Errorf("0 %s 0 = %d, want 0", "*", r)256 }257 y = 1258 r = x * y259 if r != 0 {260 t.Errorf("0 %s 1 = %d, want 0", "*", r)261 }262 y = 4294967296263 r = x * y264 if r != 0 {265 t.Errorf("0 %s 4294967296 = %d, want 0", "*", r)266 }267 y = 18446744073709551615268 r = x * y269 if r != 0 {270 t.Errorf("0 %s 18446744073709551615 = %d, want 0", "*", r)271 }272 x = 1273 y = 0274 r = x * y275 if r != 0 {276 t.Errorf("1 %s 0 = %d, want 0", "*", r)277 }278 y = 1279 r = x * y280 if r != 1 {281 t.Errorf("1 %s 1 = %d, want 1", "*", r)282 }283 y = 4294967296284 r = x * y285 if r != 4294967296 {286 t.Errorf("1 %s 4294967296 = %d, want 4294967296", "*", r)287 }288 y = 18446744073709551615289 r = x * y290 if r != 18446744073709551615 {291 t.Errorf("1 %s 18446744073709551615 = %d, want 18446744073709551615", "*", r)292 }293 x = 4294967296294 y = 0295 r = x * y296 if r != 0 {297 t.Errorf("4294967296 %s 0 = %d, want 0", "*", r)298 }299 y = 1300 r = x * y301 if r != 4294967296 {302 t.Errorf("4294967296 %s 1 = %d, want 4294967296", "*", r)303 }304 y = 4294967296305 r = x * y306 if r != 0 {307 t.Errorf("4294967296 %s 4294967296 = %d, want 0", "*", r)308 }309 y = 18446744073709551615310 r = x * y311 if r != 18446744069414584320 {312 t.Errorf("4294967296 %s 18446744073709551615 = %d, want 18446744069414584320", "*", r)313 }314 x = 18446744073709551615315 y = 0316 r = x * y317 if r != 0 {318 t.Errorf("18446744073709551615 %s 0 = %d, want 0", "*", r)319 }320 y = 1321 r = x * y322 if r != 18446744073709551615 {323 t.Errorf("18446744073709551615 %s 1 = %d, want 18446744073709551615", "*", r)324 }325 y = 4294967296326 r = x * y327 if r != 18446744069414584320 {328 t.Errorf("18446744073709551615 %s 4294967296 = %d, want 18446744069414584320", "*", r)329 }330 y = 18446744073709551615331 r = x * y332 if r != 1 {333 t.Errorf("18446744073709551615 %s 18446744073709551615 = %d, want 1", "*", r)334 }335}336func TestConstFolduint64mod(t *testing.T) {337 var x, y, r uint64338 x = 0339 y = 1340 r = x % y341 if r != 0 {342 t.Errorf("0 %s 1 = %d, want 0", "%", r)343 }344 y = 4294967296345 r = x % y346 if r != 0 {347 t.Errorf("0 %s 4294967296 = %d, want 0", "%", r)348 }349 y = 18446744073709551615350 r = x % y351 if r != 0 {352 t.Errorf("0 %s 18446744073709551615 = %d, want 0", "%", r)353 }354 x = 1355 y = 1356 r = x % y357 if r != 0 {358 t.Errorf("1 %s 1 = %d, want 0", "%", r)359 }360 y = 4294967296361 r = x % y362 if r != 1 {363 t.Errorf("1 %s 4294967296 = %d, want 1", "%", r)364 }365 y = 18446744073709551615366 r = x % y367 if r != 1 {368 t.Errorf("1 %s 18446744073709551615 = %d, want 1", "%", r)369 }370 x = 4294967296371 y = 1372 r = x % y373 if r != 0 {374 t.Errorf("4294967296 %s 1 = %d, want 0", "%", r)375 }376 y = 4294967296377 r = x % y378 if r != 0 {379 t.Errorf("4294967296 %s 4294967296 = %d, want 0", "%", r)380 }381 y = 18446744073709551615382 r = x % y383 if r != 4294967296 {384 t.Errorf("4294967296 %s 18446744073709551615 = %d, want 4294967296", "%", r)385 }386 x = 18446744073709551615387 y = 1388 r = x % y389 if r != 0 {390 t.Errorf("18446744073709551615 %s 1 = %d, want 0", "%", r)391 }392 y = 4294967296393 r = x % y394 if r != 4294967295 {395 t.Errorf("18446744073709551615 %s 4294967296 = %d, want 4294967295", "%", r)396 }397 y = 18446744073709551615398 r = x % y399 if r != 0 {400 t.Errorf("18446744073709551615 %s 18446744073709551615 = %d, want 0", "%", r)401 }402}403func TestConstFoldint64add(t *testing.T) {404 var x, y, r int64405 x = -9223372036854775808406 y = -9223372036854775808407 r = x + y408 if r != 0 {409 t.Errorf("-9223372036854775808 %s -9223372036854775808 = %d, want 0", "+", r)410 }411 y = -9223372036854775807412 r = x + y413 if r != 1 {414 t.Errorf("-9223372036854775808 %s -9223372036854775807 = %d, want 1", "+", r)415 }416 y = -4294967296417 r = x + y418 if r != 9223372032559808512 {419 t.Errorf("-9223372036854775808 %s -4294967296 = %d, want 9223372032559808512", "+", r)420 }421 y = -1422 r = x + y423 if r != 9223372036854775807 {424 t.Errorf("-9223372036854775808 %s -1 = %d, want 9223372036854775807", "+", r)425 }426 y = 0427 r = x + y428 if r != -9223372036854775808 {429 t.Errorf("-9223372036854775808 %s 0 = %d, want -9223372036854775808", "+", r)430 }431 y = 1432 r = x + y433 if r != -9223372036854775807 {434 t.Errorf("-9223372036854775808 %s 1 = %d, want -9223372036854775807", "+", r)435 }436 y = 4294967296437 r = x + y438 if r != -9223372032559808512 {439 t.Errorf("-9223372036854775808 %s 4294967296 = %d, want -9223372032559808512", "+", r)440 }441 y = 9223372036854775806442 r = x + y443 if r != -2 {444 t.Errorf("-9223372036854775808 %s 9223372036854775806 = %d, want -2", "+", r)445 }446 y = 9223372036854775807447 r = x + y448 if r != -1 {449 t.Errorf("-9223372036854775808 %s 9223372036854775807 = %d, want -1", "+", r)450 }451 x = -9223372036854775807452 y = -9223372036854775808453 r = x + y454 if r != 1 {455 t.Errorf("-9223372036854775807 %s -9223372036854775808 = %d, want 1", "+", r)456 }457 y = -9223372036854775807458 r = x + y459 if r != 2 {460 t.Errorf("-9223372036854775807 %s -9223372036854775807 = %d, want 2", "+", r)461 }462 y = -4294967296463 r = x + y464 if r != 9223372032559808513 {465 t.Errorf("-9223372036854775807 %s -4294967296 = %d, want 9223372032559808513", "+", r)466 }467 y = -1468 r = x + y469 if r != -9223372036854775808 {470 t.Errorf("-9223372036854775807 %s -1 = %d, want -9223372036854775808", "+", r)471 }472 y = 0473 r = x + y474 if r != -9223372036854775807 {475 t.Errorf("-9223372036854775807 %s 0 = %d, want -9223372036854775807", "+", r)476 }477 y = 1478 r = x + y479 if r != -9223372036854775806 {480 t.Errorf("-9223372036854775807 %s 1 = %d, want -9223372036854775806", "+", r)481 }482 y = 4294967296483 r = x + y484 if r != -9223372032559808511 {485 t.Errorf("-9223372036854775807 %s 4294967296 = %d, want -9223372032559808511", "+", r)486 }487 y = 9223372036854775806488 r = x + y489 if r != -1 {490 t.Errorf("-9223372036854775807 %s 9223372036854775806 = %d, want -1", "+", r)491 }492 y = 9223372036854775807493 r = x + y494 if r != 0 {495 t.Errorf("-9223372036854775807 %s 9223372036854775807 = %d, want 0", "+", r)496 }497 x = -4294967296498 y = -9223372036854775808499 r = x + y500 if r != 9223372032559808512 {501 t.Errorf("-4294967296 %s -9223372036854775808 = %d, want 9223372032559808512", "+", r)502 }503 y = -9223372036854775807504 r = x + y505 if r != 9223372032559808513 {506 t.Errorf("-4294967296 %s -9223372036854775807 = %d, want 9223372032559808513", "+", r)507 }508 y = -4294967296509 r = x + y510 if r != -8589934592 {511 t.Errorf("-4294967296 %s -4294967296 = %d, want -8589934592", "+", r)512 }513 y = -1514 r = x + y515 if r != -4294967297 {516 t.Errorf("-4294967296 %s -1 = %d, want -4294967297", "+", r)517 }518 y = 0519 r = x + y520 if r != -4294967296 {521 t.Errorf("-4294967296 %s 0 = %d, want -4294967296", "+", r)522 }523 y = 1524 r = x + y525 if r != -4294967295 {526 t.Errorf("-4294967296 %s 1 = %d, want -4294967295", "+", r)527 }528 y = 4294967296529 r = x + y530 if r != 0 {531 t.Errorf("-4294967296 %s 4294967296 = %d, want 0", "+", r)532 }533 y = 9223372036854775806534 r = x + y535 if r != 9223372032559808510 {536 t.Errorf("-4294967296 %s 9223372036854775806 = %d, want 9223372032559808510", "+", r)537 }538 y = 9223372036854775807539 r = x + y540 if r != 9223372032559808511 {541 t.Errorf("-4294967296 %s 9223372036854775807 = %d, want 9223372032559808511", "+", r)542 }543 x = -1544 y = -9223372036854775808545 r = x + y546 if r != 9223372036854775807 {547 t.Errorf("-1 %s -9223372036854775808 = %d, want 9223372036854775807", "+", r)548 }549 y = -9223372036854775807550 r = x + y551 if r != -9223372036854775808 {552 t.Errorf("-1 %s -9223372036854775807 = %d, want -9223372036854775808", "+", r)553 }554 y = -4294967296555 r = x + y556 if r != -4294967297 {557 t.Errorf("-1 %s -4294967296 = %d, want -4294967297", "+", r)558 }559 y = -1560 r = x + y561 if r != -2 {562 t.Errorf("-1 %s -1 = %d, want -2", "+", r)563 }564 y = 0565 r = x + y566 if r != -1 {567 t.Errorf("-1 %s 0 = %d, want -1", "+", r)568 }569 y = 1570 r = x + y571 if r != 0 {572 t.Errorf("-1 %s 1 = %d, want 0", "+", r)573 }574 y = 4294967296575 r = x + y576 if r != 4294967295 {577 t.Errorf("-1 %s 4294967296 = %d, want 4294967295", "+", r)578 }579 y = 9223372036854775806580 r = x + y581 if r != 9223372036854775805 {582 t.Errorf("-1 %s 9223372036854775806 = %d, want 9223372036854775805", "+", r)583 }584 y = 9223372036854775807585 r = x + y586 if r != 9223372036854775806 {587 t.Errorf("-1 %s 9223372036854775807 = %d, want 9223372036854775806", "+", r)588 }589 x = 0590 y = -9223372036854775808591 r = x + y592 if r != -9223372036854775808 {593 t.Errorf("0 %s -9223372036854775808 = %d, want -9223372036854775808", "+", r)594 }595 y = -9223372036854775807596 r = x + y597 if r != -9223372036854775807 {598 t.Errorf("0 %s -9223372036854775807 = %d, want -9223372036854775807", "+", r)599 }600 y = -4294967296601 r = x + y602 if r != -4294967296 {603 t.Errorf("0 %s -4294967296 = %d, want -4294967296", "+", r)604 }605 y = -1606 r = x + y607 if r != -1 {608 t.Errorf("0 %s -1 = %d, want -1", "+", r)609 }610 y = 0611 r = x + y612 if r != 0 {613 t.Errorf("0 %s 0 = %d, want 0", "+", r)614 }615 y = 1616 r = x + y617 if r != 1 {618 t.Errorf("0 %s 1 = %d, want 1", "+", r)619 }620 y = 4294967296621 r = x + y622 if r != 4294967296 {623 t.Errorf("0 %s 4294967296 = %d, want 4294967296", "+", r)624 }625 y = 9223372036854775806626 r = x + y627 if r != 9223372036854775806 {628 t.Errorf("0 %s 9223372036854775806 = %d, want 9223372036854775806", "+", r)629 }630 y = 9223372036854775807631 r = x + y632 if r != 9223372036854775807 {633 t.Errorf("0 %s 9223372036854775807 = %d, want 9223372036854775807", "+", r)634 }635 x = 1636 y = -9223372036854775808637 r = x + y638 if r != -9223372036854775807 {639 t.Errorf("1 %s -9223372036854775808 = %d, want -9223372036854775807", "+", r)640 }641 y = -9223372036854775807642 r = x + y643 if r != -9223372036854775806 {644 t.Errorf("1 %s -9223372036854775807 = %d, want -9223372036854775806", "+", r)645 }646 y = -4294967296647 r = x + y648 if r != -4294967295 {649 t.Errorf("1 %s -4294967296 = %d, want -4294967295", "+", r)650 }651 y = -1652 r = x + y653 if r != 0 {654 t.Errorf("1 %s -1 = %d, want 0", "+", r)655 }656 y = 0657 r = x + y658 if r != 1 {659 t.Errorf("1 %s 0 = %d, want 1", "+", r)660 }661 y = 1662 r = x + y663 if r != 2 {664 t.Errorf("1 %s 1 = %d, want 2", "+", r)665 }666 y = 4294967296667 r = x + y668 if r != 4294967297 {669 t.Errorf("1 %s 4294967296 = %d, want 4294967297", "+", r)670 }671 y = 9223372036854775806672 r = x + y673 if r != 9223372036854775807 {674 t.Errorf("1 %s 9223372036854775806 = %d, want 9223372036854775807", "+", r)675 }676 y = 9223372036854775807677 r = x + y678 if r != -9223372036854775808 {679 t.Errorf("1 %s 9223372036854775807 = %d, want -9223372036854775808", "+", r)680 }681 x = 4294967296682 y = -9223372036854775808683 r = x + y684 if r != -9223372032559808512 {685 t.Errorf("4294967296 %s -9223372036854775808 = %d, want -9223372032559808512", "+", r)686 }687 y = -9223372036854775807688 r = x + y689 if r != -9223372032559808511 {690 t.Errorf("4294967296 %s -9223372036854775807 = %d, want -9223372032559808511", "+", r)691 }692 y = -4294967296693 r = x + y694 if r != 0 {695 t.Errorf("4294967296 %s -4294967296 = %d, want 0", "+", r)696 }697 y = -1698 r = x + y699 if r != 4294967295 {700 t.Errorf("4294967296 %s -1 = %d, want 4294967295", "+", r)701 }702 y = 0703 r = x + y704 if r != 4294967296 {705 t.Errorf("4294967296 %s 0 = %d, want 4294967296", "+", r)706 }707 y = 1708 r = x + y709 if r != 4294967297 {710 t.Errorf("4294967296 %s 1 = %d, want 4294967297", "+", r)711 }712 y = 4294967296713 r = x + y714 if r != 8589934592 {715 t.Errorf("4294967296 %s 4294967296 = %d, want 8589934592", "+", r)716 }717 y = 9223372036854775806718 r = x + y719 if r != -9223372032559808514 {720 t.Errorf("4294967296 %s 9223372036854775806 = %d, want -9223372032559808514", "+", r)721 }722 y = 9223372036854775807723 r = x + y724 if r != -9223372032559808513 {725 t.Errorf("4294967296 %s 9223372036854775807 = %d, want -9223372032559808513", "+", r)726 }727 x = 9223372036854775806728 y = -9223372036854775808729 r = x + y730 if r != -2 {731 t.Errorf("9223372036854775806 %s -9223372036854775808 = %d, want -2", "+", r)732 }733 y = -9223372036854775807734 r = x + y735 if r != -1 {736 t.Errorf("9223372036854775806 %s -9223372036854775807 = %d, want -1", "+", r)737 }738 y = -4294967296739 r = x + y740 if r != 9223372032559808510 {741 t.Errorf("9223372036854775806 %s -4294967296 = %d, want 9223372032559808510", "+", r)742 }743 y = -1744 r = x + y745 if r != 9223372036854775805 {746 t.Errorf("9223372036854775806 %s -1 = %d, want 9223372036854775805", "+", r)747 }748 y = 0749 r = x + y750 if r != 9223372036854775806 {751 t.Errorf("9223372036854775806 %s 0 = %d, want 9223372036854775806", "+", r)752 }753 y = 1754 r = x + y755 if r != 9223372036854775807 {756 t.Errorf("9223372036854775806 %s 1 = %d, want 9223372036854775807", "+", r)757 }758 y = 4294967296759 r = x + y760 if r != -9223372032559808514 {761 t.Errorf("9223372036854775806 %s 4294967296 = %d, want -9223372032559808514", "+", r)762 }763 y = 9223372036854775806764 r = x + y765 if r != -4 {766 t.Errorf("9223372036854775806 %s 9223372036854775806 = %d, want -4", "+", r)767 }768 y = 9223372036854775807769 r = x + y770 if r != -3 {771 t.Errorf("9223372036854775806 %s 9223372036854775807 = %d, want -3", "+", r)772 }773 x = 9223372036854775807774 y = -9223372036854775808775 r = x + y776 if r != -1 {777 t.Errorf("9223372036854775807 %s -9223372036854775808 = %d, want -1", "+", r)778 }779 y = -9223372036854775807780 r = x + y781 if r != 0 {782 t.Errorf("9223372036854775807 %s -9223372036854775807 = %d, want 0", "+", r)783 }784 y = -4294967296785 r = x + y786 if r != 9223372032559808511 {787 t.Errorf("9223372036854775807 %s -4294967296 = %d, want 9223372032559808511", "+", r)788 }789 y = -1790 r = x + y791 if r != 9223372036854775806 {792 t.Errorf("9223372036854775807 %s -1 = %d, want 9223372036854775806", "+", r)793 }794 y = 0795 r = x + y796 if r != 9223372036854775807 {797 t.Errorf("9223372036854775807 %s 0 = %d, want 9223372036854775807", "+", r)798 }799 y = 1800 r = x + y801 if r != -9223372036854775808 {802 t.Errorf("9223372036854775807 %s 1 = %d, want -9223372036854775808", "+", r)803 }804 y = 4294967296805 r = x + y806 if r != -9223372032559808513 {807 t.Errorf("9223372036854775807 %s 4294967296 = %d, want -9223372032559808513", "+", r)808 }809 y = 9223372036854775806810 r = x + y811 if r != -3 {812 t.Errorf("9223372036854775807 %s 9223372036854775806 = %d, want -3", "+", r)813 }814 y = 9223372036854775807815 r = x + y816 if r != -2 {817 t.Errorf("9223372036854775807 %s 9223372036854775807 = %d, want -2", "+", r)818 }819}820func TestConstFoldint64sub(t *testing.T) {821 var x, y, r int64822 x = -9223372036854775808823 y = -9223372036854775808824 r = x - y825 if r != 0 {826 t.Errorf("-9223372036854775808 %s -9223372036854775808 = %d, want 0", "-", r)827 }828 y = -9223372036854775807829 r = x - y830 if r != -1 {831 t.Errorf("-9223372036854775808 %s -9223372036854775807 = %d, want -1", "-", r)832 }833 y = -4294967296834 r = x - y835 if r != -9223372032559808512 {836 t.Errorf("-9223372036854775808 %s -4294967296 = %d, want -9223372032559808512", "-", r)837 }838 y = -1839 r = x - y840 if r != -9223372036854775807 {841 t.Errorf("-9223372036854775808 %s -1 = %d, want -9223372036854775807", "-", r)842 }843 y = 0844 r = x - y845 if r != -9223372036854775808 {846 t.Errorf("-9223372036854775808 %s 0 = %d, want -9223372036854775808", "-", r)847 }848 y = 1849 r = x - y850 if r != 9223372036854775807 {851 t.Errorf("-9223372036854775808 %s 1 = %d, want 9223372036854775807", "-", r)852 }853 y = 4294967296854 r = x - y855 if r != 9223372032559808512 {856 t.Errorf("-9223372036854775808 %s 4294967296 = %d, want 9223372032559808512", "-", r)857 }858 y = 9223372036854775806859 r = x - y860 if r != 2 {861 t.Errorf("-9223372036854775808 %s 9223372036854775806 = %d, want 2", "-", r)862 }863 y = 9223372036854775807864 r = x - y865 if r != 1 {866 t.Errorf("-9223372036854775808 %s 9223372036854775807 = %d, want 1", "-", r)867 }868 x = -9223372036854775807869 y = -9223372036854775808870 r = x - y871 if r != 1 {872 t.Errorf("-9223372036854775807 %s -9223372036854775808 = %d, want 1", "-", r)873 }874 y = -9223372036854775807875 r = x - y876 if r != 0 {877 t.Errorf("-9223372036854775807 %s -9223372036854775807 = %d, want 0", "-", r)878 }879 y = -4294967296880 r = x - y881 if r != -9223372032559808511 {882 t.Errorf("-9223372036854775807 %s -4294967296 = %d, want -9223372032559808511", "-", r)883 }884 y = -1885 r = x - y886 if r != -9223372036854775806 {887 t.Errorf("-9223372036854775807 %s -1 = %d, want -9223372036854775806", "-", r)888 }889 y = 0890 r = x - y891 if r != -9223372036854775807 {892 t.Errorf("-9223372036854775807 %s 0 = %d, want -9223372036854775807", "-", r)893 }894 y = 1895 r = x - y896 if r != -9223372036854775808 {897 t.Errorf("-9223372036854775807 %s 1 = %d, want -9223372036854775808", "-", r)898 }899 y = 4294967296900 r = x - y901 if r != 9223372032559808513 {902 t.Errorf("-9223372036854775807 %s 4294967296 = %d, want 9223372032559808513", "-", r)903 }904 y = 9223372036854775806905 r = x - y906 if r != 3 {907 t.Errorf("-9223372036854775807 %s 9223372036854775806 = %d, want 3", "-", r)908 }909 y = 9223372036854775807910 r = x - y911 if r != 2 {912 t.Errorf("-9223372036854775807 %s 9223372036854775807 = %d, want 2", "-", r)913 }914 x = -4294967296915 y = -9223372036854775808916 r = x - y917 if r != 9223372032559808512 {918 t.Errorf("-4294967296 %s -9223372036854775808 = %d, want 9223372032559808512", "-", r)919 }920 y = -9223372036854775807921 r = x - y922 if r != 9223372032559808511 {923 t.Errorf("-4294967296 %s -9223372036854775807 = %d, want 9223372032559808511", "-", r)924 }925 y = -4294967296926 r = x - y927 if r != 0 {928 t.Errorf("-4294967296 %s -4294967296 = %d, want 0", "-", r)929 }930 y = -1931 r = x - y932 if r != -4294967295 {933 t.Errorf("-4294967296 %s -1 = %d, want -4294967295", "-", r)934 }935 y = 0936 r = x - y937 if r != -4294967296 {938 t.Errorf("-4294967296 %s 0 = %d, want -4294967296", "-", r)939 }940 y = 1941 r = x - y942 if r != -4294967297 {943 t.Errorf("-4294967296 %s 1 = %d, want -4294967297", "-", r)944 }945 y = 4294967296946 r = x - y947 if r != -8589934592 {948 t.Errorf("-4294967296 %s 4294967296 = %d, want -8589934592", "-", r)949 }950 y = 9223372036854775806951 r = x - y952 if r != 9223372032559808514 {953 t.Errorf("-4294967296 %s 9223372036854775806 = %d, want 9223372032559808514", "-", r)954 }955 y = 9223372036854775807956 r = x - y957 if r != 9223372032559808513 {958 t.Errorf("-4294967296 %s 9223372036854775807 = %d, want 9223372032559808513", "-", r)959 }960 x = -1961 y = -9223372036854775808962 r = x - y963 if r != 9223372036854775807 {964 t.Errorf("-1 %s -9223372036854775808 = %d, want 9223372036854775807", "-", r)965 }966 y = -9223372036854775807967 r = x - y968 if r != 9223372036854775806 {969 t.Errorf("-1 %s -9223372036854775807 = %d, want 9223372036854775806", "-", r)970 }971 y = -4294967296972 r = x - y973 if r != 4294967295 {974 t.Errorf("-1 %s -4294967296 = %d, want 4294967295", "-", r)975 }976 y = -1977 r = x - y978 if r != 0 {979 t.Errorf("-1 %s -1 = %d, want 0", "-", r)980 }981 y = 0982 r = x - y983 if r != -1 {984 t.Errorf("-1 %s 0 = %d, want -1", "-", r)985 }986 y = 1987 r = x - y988 if r != -2 {989 t.Errorf("-1 %s 1 = %d, want -2", "-", r)990 }991 y = 4294967296992 r = x - y993 if r != -4294967297 {994 t.Errorf("-1 %s 4294967296 = %d, want -4294967297", "-", r)995 }996 y = 9223372036854775806997 r = x - y998 if r != -9223372036854775807 {999 t.Errorf("-1 %s 9223372036854775806 = %d, want -9223372036854775807", "-", r)1000 }1001 y = 92233720368547758071002 r = x - y1003 if r != -9223372036854775808 {1004 t.Errorf("-1 %s 9223372036854775807 = %d, want -9223372036854775808", "-", r)1005 }1006 x = 01007 y = -92233720368547758081008 r = x - y1009 if r != -9223372036854775808 {1010 t.Errorf("0 %s -9223372036854775808 = %d, want -9223372036854775808", "-", r)1011 }1012 y = -92233720368547758071013 r = x - y1014 if r != 9223372036854775807 {1015 t.Errorf("0 %s -9223372036854775807 = %d, want 9223372036854775807", "-", r)1016 }1017 y = -42949672961018 r = x - y1019 if r != 4294967296 {1020 t.Errorf("0 %s -4294967296 = %d, want 4294967296", "-", r)1021 }1022 y = -11023 r = x - y1024 if r != 1 {1025 t.Errorf("0 %s -1 = %d, want 1", "-", r)1026 }1027 y = 01028 r = x - y1029 if r != 0 {1030 t.Errorf("0 %s 0 = %d, want 0", "-", r)1031 }1032 y = 11033 r = x - y1034 if r != -1 {1035 t.Errorf("0 %s 1 = %d, want -1", "-", r)1036 }1037 y = 42949672961038 r = x - y1039 if r != -4294967296 {1040 t.Errorf("0 %s 4294967296 = %d, want -4294967296", "-", r)1041 }1042 y = 92233720368547758061043 r = x - y1044 if r != -9223372036854775806 {1045 t.Errorf("0 %s 9223372036854775806 = %d, want -9223372036854775806", "-", r)1046 }1047 y = 92233720368547758071048 r = x - y1049 if r != -9223372036854775807 {1050 t.Errorf("0 %s 9223372036854775807 = %d, want -9223372036854775807", "-", r)1051 }1052 x = 11053 y = -92233720368547758081054 r = x - y1055 if r != -9223372036854775807 {1056 t.Errorf("1 %s -9223372036854775808 = %d, want -9223372036854775807", "-", r)1057 }1058 y = -92233720368547758071059 r = x - y1060 if r != -9223372036854775808 {1061 t.Errorf("1 %s -9223372036854775807 = %d, want -9223372036854775808", "-", r)1062 }1063 y = -42949672961064 r = x - y1065 if r != 4294967297 {1066 t.Errorf("1 %s -4294967296 = %d, want 4294967297", "-", r)1067 }1068 y = -11069 r = x - y1070 if r != 2 {1071 t.Errorf("1 %s -1 = %d, want 2", "-", r)1072 }1073 y = 01074 r = x - y1075 if r != 1 {1076 t.Errorf("1 %s 0 = %d, want 1", "-", r)1077 }1078 y = 11079 r = x - y1080 if r != 0 {1081 t.Errorf("1 %s 1 = %d, want 0", "-", r)1082 }1083 y = 42949672961084 r = x - y1085 if r != -4294967295 {1086 t.Errorf("1 %s 4294967296 = %d, want -4294967295", "-", r)1087 }1088 y = 92233720368547758061089 r = x - y1090 if r != -9223372036854775805 {1091 t.Errorf("1 %s 9223372036854775806 = %d, want -9223372036854775805", "-", r)1092 }1093 y = 92233720368547758071094 r = x - y1095 if r != -9223372036854775806 {1096 t.Errorf("1 %s 9223372036854775807 = %d, want -9223372036854775806", "-", r)1097 }1098 x = 42949672961099 y = -92233720368547758081100 r = x - y1101 if r != -9223372032559808512 {1102 t.Errorf("4294967296 %s -9223372036854775808 = %d, want -9223372032559808512", "-", r)1103 }1104 y = -92233720368547758071105 r = x - y1106 if r != -9223372032559808513 {1107 t.Errorf("4294967296 %s -9223372036854775807 = %d, want -9223372032559808513", "-", r)1108 }1109 y = -42949672961110 r = x - y1111 if r != 8589934592 {1112 t.Errorf("4294967296 %s -4294967296 = %d, want 8589934592", "-", r)1113 }1114 y = -11115 r = x - y1116 if r != 4294967297 {1117 t.Errorf("4294967296 %s -1 = %d, want 4294967297", "-", r)1118 }1119 y = 01120 r = x - y1121 if r != 4294967296 {1122 t.Errorf("4294967296 %s 0 = %d, want 4294967296", "-", r)1123 }1124 y = 11125 r = x - y1126 if r != 4294967295 {1127 t.Errorf("4294967296 %s 1 = %d, want 4294967295", "-", r)1128 }1129 y = 42949672961130 r = x - y1131 if r != 0 {1132 t.Errorf("4294967296 %s 4294967296 = %d, want 0", "-", r)1133 }1134 y = 92233720368547758061135 r = x - y1136 if r != -9223372032559808510 {1137 t.Errorf("4294967296 %s 9223372036854775806 = %d, want -9223372032559808510", "-", r)1138 }1139 y = 92233720368547758071140 r = x - y1141 if r != -9223372032559808511 {1142 t.Errorf("4294967296 %s 9223372036854775807 = %d, want -9223372032559808511", "-", r)1143 }1144 x = 92233720368547758061145 y = -92233720368547758081146 r = x - y1147 if r != -2 {1148 t.Errorf("9223372036854775806 %s -9223372036854775808 = %d, want -2", "-", r)1149 }1150 y = -92233720368547758071151 r = x - y1152 if r != -3 {1153 t.Errorf("9223372036854775806 %s -9223372036854775807 = %d, want -3", "-", r)1154 }1155 y = -42949672961156 r = x - y1157 if r != -9223372032559808514 {1158 t.Errorf("9223372036854775806 %s -4294967296 = %d, want -9223372032559808514", "-", r)1159 }1160 y = -11161 r = x - y1162 if r != 9223372036854775807 {1163 t.Errorf("9223372036854775806 %s -1 = %d, want 9223372036854775807", "-", r)1164 }1165 y = 01166 r = x - y1167 if r != 9223372036854775806 {1168 t.Errorf("9223372036854775806 %s 0 = %d, want 9223372036854775806", "-", r)1169 }1170 y = 11171 r = x - y1172 if r != 9223372036854775805 {1173 t.Errorf("9223372036854775806 %s 1 = %d, want 9223372036854775805", "-", r)1174 }1175 y = 42949672961176 r = x - y1177 if r != 9223372032559808510 {1178 t.Errorf("9223372036854775806 %s 4294967296 = %d, want 9223372032559808510", "-", r)1179 }1180 y = 92233720368547758061181 r = x - y1182 if r != 0 {1183 t.Errorf("9223372036854775806 %s 9223372036854775806 = %d, want 0", "-", r)1184 }1185 y = 92233720368547758071186 r = x - y1187 if r != -1 {1188 t.Errorf("9223372036854775806 %s 9223372036854775807 = %d, want -1", "-", r)1189 }1190 x = 92233720368547758071191 y = -92233720368547758081192 r = x - y1193 if r != -1 {1194 t.Errorf("9223372036854775807 %s -9223372036854775808 = %d, want -1", "-", r)1195 }1196 y = -92233720368547758071197 r = x - y1198 if r != -2 {1199 t.Errorf("9223372036854775807 %s -9223372036854775807 = %d, want -2", "-", r)1200 }1201 y = -42949672961202 r = x - y1203 if r != -9223372032559808513 {1204 t.Errorf("9223372036854775807 %s -4294967296 = %d, want -9223372032559808513", "-", r)1205 }1206 y = -11207 r = x - y1208 if r != -9223372036854775808 {1209 t.Errorf("9223372036854775807 %s -1 = %d, want -9223372036854775808", "-", r)1210 }1211 y = 01212 r = x - y1213 if r != 9223372036854775807 {1214 t.Errorf("9223372036854775807 %s 0 = %d, want 9223372036854775807", "-", r)1215 }1216 y = 11217 r = x - y1218 if r != 9223372036854775806 {1219 t.Errorf("9223372036854775807 %s 1 = %d, want 9223372036854775806", "-", r)1220 }1221 y = 42949672961222 r = x - y1223 if r != 9223372032559808511 {1224 t.Errorf("9223372036854775807 %s 4294967296 = %d, want 9223372032559808511", "-", r)1225 }1226 y = 92233720368547758061227 r = x - y1228 if r != 1 {1229 t.Errorf("9223372036854775807 %s 9223372036854775806 = %d, want 1", "-", r)1230 }1231 y = 92233720368547758071232 r = x - y1233 if r != 0 {1234 t.Errorf("9223372036854775807 %s 9223372036854775807 = %d, want 0", "-", r)1235 }1236}1237func TestConstFoldint64div(t *testing.T) {1238 var x, y, r int641239 x = -92233720368547758081240 y = -92233720368547758081241 r = x / y1242 if r != 1 {1243 t.Errorf("-9223372036854775808 %s -9223372036854775808 = %d, want 1", "/", r)1244 }1245 y = -92233720368547758071246 r = x / y1247 if r != 1 {1248 t.Errorf("-9223372036854775808 %s -9223372036854775807 = %d, want 1", "/", r)1249 }1250 y = -42949672961251 r = x / y1252 if r != 2147483648 {1253 t.Errorf("-9223372036854775808 %s -4294967296 = %d, want 2147483648", "/", r)1254 }1255 y = -11256 r = x / y1257 if r != -9223372036854775808 {1258 t.Errorf("-9223372036854775808 %s -1 = %d, want -9223372036854775808", "/", r)1259 }1260 y = 11261 r = x / y1262 if r != -9223372036854775808 {1263 t.Errorf("-9223372036854775808 %s 1 = %d, want -9223372036854775808", "/", r)1264 }1265 y = 42949672961266 r = x / y1267 if r != -2147483648 {1268 t.Errorf("-9223372036854775808 %s 4294967296 = %d, want -2147483648", "/", r)1269 }1270 y = 92233720368547758061271 r = x / y1272 if r != -1 {1273 t.Errorf("-9223372036854775808 %s 9223372036854775806 = %d, want -1", "/", r)1274 }1275 y = 92233720368547758071276 r = x / y1277 if r != -1 {1278 t.Errorf("-9223372036854775808 %s 9223372036854775807 = %d, want -1", "/", r)1279 }1280 x = -92233720368547758071281 y = -92233720368547758081282 r = x / y1283 if r != 0 {1284 t.Errorf("-9223372036854775807 %s -9223372036854775808 = %d, want 0", "/", r)1285 }1286 y = -92233720368547758071287 r = x / y1288 if r != 1 {1289 t.Errorf("-9223372036854775807 %s -9223372036854775807 = %d, want 1", "/", r)1290 }1291 y = -42949672961292 r = x / y1293 if r != 2147483647 {1294 t.Errorf("-9223372036854775807 %s -4294967296 = %d, want 2147483647", "/", r)1295 }1296 y = -11297 r = x / y1298 if r != 9223372036854775807 {1299 t.Errorf("-9223372036854775807 %s -1 = %d, want 9223372036854775807", "/", r)1300 }1301 y = 11302 r = x / y1303 if r != -9223372036854775807 {1304 t.Errorf("-9223372036854775807 %s 1 = %d, want -9223372036854775807", "/", r)1305 }1306 y = 42949672961307 r = x / y1308 if r != -2147483647 {1309 t.Errorf("-9223372036854775807 %s 4294967296 = %d, want -2147483647", "/", r)1310 }1311 y = 92233720368547758061312 r = x / y1313 if r != -1 {1314 t.Errorf("-9223372036854775807 %s 9223372036854775806 = %d, want -1", "/", r)1315 }1316 y = 92233720368547758071317 r = x / y1318 if r != -1 {1319 t.Errorf("-9223372036854775807 %s 9223372036854775807 = %d, want -1", "/", r)1320 }1321 x = -42949672961322 y = -92233720368547758081323 r = x / y1324 if r != 0 {1325 t.Errorf("-4294967296 %s -9223372036854775808 = %d, want 0", "/", r)1326 }1327 y = -92233720368547758071328 r = x / y1329 if r != 0 {1330 t.Errorf("-4294967296 %s -9223372036854775807 = %d, want 0", "/", r)1331 }1332 y = -42949672961333 r = x / y1334 if r != 1 {1335 t.Errorf("-4294967296 %s -4294967296 = %d, want 1", "/", r)1336 }1337 y = -11338 r = x / y1339 if r != 4294967296 {1340 t.Errorf("-4294967296 %s -1 = %d, want 4294967296", "/", r)1341 }1342 y = 11343 r = x / y1344 if r != -4294967296 {1345 t.Errorf("-4294967296 %s 1 = %d, want -4294967296", "/", r)1346 }1347 y = 42949672961348 r = x / y1349 if r != -1 {1350 t.Errorf("-4294967296 %s 4294967296 = %d, want -1", "/", r)1351 }1352 y = 92233720368547758061353 r = x / y1354 if r != 0 {1355 t.Errorf("-4294967296 %s 9223372036854775806 = %d, want 0", "/", r)1356 }1357 y = 92233720368547758071358 r = x / y1359 if r != 0 {1360 t.Errorf("-4294967296 %s 9223372036854775807 = %d, want 0", "/", r)1361 }1362 x = -11363 y = -92233720368547758081364 r = x / y1365 if r != 0 {1366 t.Errorf("-1 %s -9223372036854775808 = %d, want 0", "/", r)1367 }1368 y = -92233720368547758071369 r = x / y1370 if r != 0 {1371 t.Errorf("-1 %s -9223372036854775807 = %d, want 0", "/", r)1372 }1373 y = -42949672961374 r = x / y1375 if r != 0 {1376 t.Errorf("-1 %s -4294967296 = %d, want 0", "/", r)1377 }1378 y = -11379 r = x / y1380 if r != 1 {1381 t.Errorf("-1 %s -1 = %d, want 1", "/", r)1382 }1383 y = 11384 r = x / y1385 if r != -1 {1386 t.Errorf("-1 %s 1 = %d, want -1", "/", r)1387 }1388 y = 42949672961389 r = x / y1390 if r != 0 {1391 t.Errorf("-1 %s 4294967296 = %d, want 0", "/", r)1392 }1393 y = 92233720368547758061394 r = x / y1395 if r != 0 {1396 t.Errorf("-1 %s 9223372036854775806 = %d, want 0", "/", r)1397 }1398 y = 92233720368547758071399 r = x / y1400 if r != 0 {1401 t.Errorf("-1 %s 9223372036854775807 = %d, want 0", "/", r)1402 }1403 x = 01404 y = -92233720368547758081405 r = x / y1406 if r != 0 {1407 t.Errorf("0 %s -9223372036854775808 = %d, want 0", "/", r)1408 }1409 y = -92233720368547758071410 r = x / y1411 if r != 0 {1412 t.Errorf("0 %s -9223372036854775807 = %d, want 0", "/", r)1413 }1414 y = -42949672961415 r = x / y1416 if r != 0 {1417 t.Errorf("0 %s -4294967296 = %d, want 0", "/", r)1418 }1419 y = -11420 r = x / y1421 if r != 0 {1422 t.Errorf("0 %s -1 = %d, want 0", "/", r)1423 }1424 y = 11425 r = x / y1426 if r != 0 {1427 t.Errorf("0 %s 1 = %d, want 0", "/", r)1428 }1429 y = 42949672961430 r = x / y1431 if r != 0 {1432 t.Errorf("0 %s 4294967296 = %d, want 0", "/", r)1433 }1434 y = 92233720368547758061435 r = x / y1436 if r != 0 {1437 t.Errorf("0 %s 9223372036854775806 = %d, want 0", "/", r)1438 }1439 y = 92233720368547758071440 r = x / y1441 if r != 0 {1442 t.Errorf("0 %s 9223372036854775807 = %d, want 0", "/", r)1443 }1444 x = 11445 y = -92233720368547758081446 r = x / y1447 if r != 0 {1448 t.Errorf("1 %s -9223372036854775808 = %d, want 0", "/", r)1449 }1450 y = -92233720368547758071451 r = x / y1452 if r != 0 {1453 t.Errorf("1 %s -9223372036854775807 = %d, want 0", "/", r)1454 }1455 y = -42949672961456 r = x / y1457 if r != 0 {1458 t.Errorf("1 %s -4294967296 = %d, want 0", "/", r)1459 }1460 y = -11461 r = x / y1462 if r != -1 {1463 t.Errorf("1 %s -1 = %d, want -1", "/", r)1464 }1465 y = 11466 r = x / y1467 if r != 1 {1468 t.Errorf("1 %s 1 = %d, want 1", "/", r)1469 }1470 y = 42949672961471 r = x / y1472 if r != 0 {1473 t.Errorf("1 %s 4294967296 = %d, want 0", "/", r)1474 }1475 y = 92233720368547758061476 r = x / y1477 if r != 0 {1478 t.Errorf("1 %s 9223372036854775806 = %d, want 0", "/", r)1479 }1480 y = 92233720368547758071481 r = x / y1482 if r != 0 {1483 t.Errorf("1 %s 9223372036854775807 = %d, want 0", "/", r)1484 }1485 x = 42949672961486 y = -92233720368547758081487 r = x / y1488 if r != 0 {1489 t.Errorf("4294967296 %s -9223372036854775808 = %d, want 0", "/", r)1490 }1491 y = -92233720368547758071492 r = x / y1493 if r != 0 {1494 t.Errorf("4294967296 %s -9223372036854775807 = %d, want 0", "/", r)1495 }1496 y = -42949672961497 r = x / y1498 if r != -1 {1499 t.Errorf("4294967296 %s -4294967296 = %d, want -1", "/", r)1500 }1501 y = -11502 r = x / y1503 if r != -4294967296 {1504 t.Errorf("4294967296 %s -1 = %d, want -4294967296", "/", r)1505 }1506 y = 11507 r = x / y1508 if r != 4294967296 {1509 t.Errorf("4294967296 %s 1 = %d, want 4294967296", "/", r)1510 }1511 y = 42949672961512 r = x / y1513 if r != 1 {1514 t.Errorf("4294967296 %s 4294967296 = %d, want 1", "/", r)1515 }1516 y = 92233720368547758061517 r = x / y1518 if r != 0 {1519 t.Errorf("4294967296 %s 9223372036854775806 = %d, want 0", "/", r)1520 }1521 y = 92233720368547758071522 r = x / y1523 if r != 0 {1524 t.Errorf("4294967296 %s 9223372036854775807 = %d, want 0", "/", r)1525 }1526 x = 92233720368547758061527 y = -92233720368547758081528 r = x / y1529 if r != 0 {1530 t.Errorf("9223372036854775806 %s -9223372036854775808 = %d, want 0", "/", r)1531 }1532 y = -92233720368547758071533 r = x / y1534 if r != 0 {1535 t.Errorf("9223372036854775806 %s -9223372036854775807 = %d, want 0", "/", r)1536 }1537 y = -42949672961538 r = x / y1539 if r != -2147483647 {1540 t.Errorf("9223372036854775806 %s -4294967296 = %d, want -2147483647", "/", r)1541 }1542 y = -11543 r = x / y1544 if r != -9223372036854775806 {1545 t.Errorf("9223372036854775806 %s -1 = %d, want -9223372036854775806", "/", r)1546 }1547 y = 11548 r = x / y1549 if r != 9223372036854775806 {1550 t.Errorf("9223372036854775806 %s 1 = %d, want 9223372036854775806", "/", r)1551 }1552 y = 42949672961553 r = x / y1554 if r != 2147483647 {1555 t.Errorf("9223372036854775806 %s 4294967296 = %d, want 2147483647", "/", r)1556 }1557 y = 92233720368547758061558 r = x / y1559 if r != 1 {1560 t.Errorf("9223372036854775806 %s 9223372036854775806 = %d, want 1", "/", r)1561 }1562 y = 92233720368547758071563 r = x / y1564 if r != 0 {1565 t.Errorf("9223372036854775806 %s 9223372036854775807 = %d, want 0", "/", r)1566 }1567 x = 92233720368547758071568 y = -92233720368547758081569 r = x / y1570 if r != 0 {1571 t.Errorf("9223372036854775807 %s -9223372036854775808 = %d, want 0", "/", r)1572 }1573 y = -92233720368547758071574 r = x / y1575 if r != -1 {1576 t.Errorf("9223372036854775807 %s -9223372036854775807 = %d, want -1", "/", r)1577 }1578 y = -42949672961579 r = x / y1580 if r != -2147483647 {1581 t.Errorf("9223372036854775807 %s -4294967296 = %d, want -2147483647", "/", r)1582 }1583 y = -11584 r = x / y1585 if r != -9223372036854775807 {1586 t.Errorf("9223372036854775807 %s -1 = %d, want -9223372036854775807", "/", r)1587 }1588 y = 11589 r = x / y1590 if r != 9223372036854775807 {1591 t.Errorf("9223372036854775807 %s 1 = %d, want 9223372036854775807", "/", r)1592 }1593 y = 42949672961594 r = x / y1595 if r != 2147483647 {1596 t.Errorf("9223372036854775807 %s 4294967296 = %d, want 2147483647", "/", r)1597 }1598 y = 92233720368547758061599 r = x / y1600 if r != 1 {1601 t.Errorf("9223372036854775807 %s 9223372036854775806 = %d, want 1", "/", r)1602 }1603 y = 92233720368547758071604 r = x / y1605 if r != 1 {1606 t.Errorf("9223372036854775807 %s 9223372036854775807 = %d, want 1", "/", r)1607 }1608}1609func TestConstFoldint64mul(t *testing.T) {1610 var x, y, r int641611 x = -92233720368547758081612 y = -92233720368547758081613 r = x * y1614 if r != 0 {1615 t.Errorf("-9223372036854775808 %s -9223372036854775808 = %d, want 0", "*", r)1616 }1617 y = -92233720368547758071618 r = x * y1619 if r != -9223372036854775808 {1620 t.Errorf("-9223372036854775808 %s -9223372036854775807 = %d, want -9223372036854775808", "*", r)1621 }1622 y = -42949672961623 r = x * y1624 if r != 0 {1625 t.Errorf("-9223372036854775808 %s -4294967296 = %d, want 0", "*", r)1626 }1627 y = -11628 r = x * y1629 if r != -9223372036854775808 {1630 t.Errorf("-9223372036854775808 %s -1 = %d, want -9223372036854775808", "*", r)1631 }1632 y = 01633 r = x * y1634 if r != 0 {1635 t.Errorf("-9223372036854775808 %s 0 = %d, want 0", "*", r)1636 }1637 y = 11638 r = x * y1639 if r != -9223372036854775808 {1640 t.Errorf("-9223372036854775808 %s 1 = %d, want -9223372036854775808", "*", r)1641 }1642 y = 42949672961643 r = x * y1644 if r != 0 {1645 t.Errorf("-9223372036854775808 %s 4294967296 = %d, want 0", "*", r)1646 }1647 y = 92233720368547758061648 r = x * y1649 if r != 0 {1650 t.Errorf("-9223372036854775808 %s 9223372036854775806 = %d, want 0", "*", r)1651 }1652 y = 92233720368547758071653 r = x * y1654 if r != -9223372036854775808 {1655 t.Errorf("-9223372036854775808 %s 9223372036854775807 = %d, want -9223372036854775808", "*", r)1656 }1657 x = -92233720368547758071658 y = -92233720368547758081659 r = x * y1660 if r != -9223372036854775808 {1661 t.Errorf("-9223372036854775807 %s -9223372036854775808 = %d, want -9223372036854775808", "*", r)1662 }1663 y = -92233720368547758071664 r = x * y1665 if r != 1 {1666 t.Errorf("-9223372036854775807 %s -9223372036854775807 = %d, want 1", "*", r)1667 }1668 y = -42949672961669 r = x * y1670 if r != -4294967296 {1671 t.Errorf("-9223372036854775807 %s -4294967296 = %d, want -4294967296", "*", r)1672 }1673 y = -11674 r = x * y1675 if r != 9223372036854775807 {1676 t.Errorf("-9223372036854775807 %s -1 = %d, want 9223372036854775807", "*", r)1677 }1678 y = 01679 r = x * y1680 if r != 0 {1681 t.Errorf("-9223372036854775807 %s 0 = %d, want 0", "*", r)1682 }1683 y = 11684 r = x * y1685 if r != -9223372036854775807 {1686 t.Errorf("-9223372036854775807 %s 1 = %d, want -9223372036854775807", "*", r)1687 }1688 y = 42949672961689 r = x * y1690 if r != 4294967296 {1691 t.Errorf("-9223372036854775807 %s 4294967296 = %d, want 4294967296", "*", r)1692 }1693 y = 92233720368547758061694 r = x * y1695 if r != 9223372036854775806 {1696 t.Errorf("-9223372036854775807 %s 9223372036854775806 = %d, want 9223372036854775806", "*", r)1697 }1698 y = 92233720368547758071699 r = x * y1700 if r != -1 {1701 t.Errorf("-9223372036854775807 %s 9223372036854775807 = %d, want -1", "*", r)1702 }1703 x = -42949672961704 y = -92233720368547758081705 r = x * y1706 if r != 0 {1707 t.Errorf("-4294967296 %s -9223372036854775808 = %d, want 0", "*", r)1708 }1709 y = -92233720368547758071710 r = x * y1711 if r != -4294967296 {1712 t.Errorf("-4294967296 %s -9223372036854775807 = %d, want -4294967296", "*", r)1713 }1714 y = -42949672961715 r = x * y1716 if r != 0 {1717 t.Errorf("-4294967296 %s -4294967296 = %d, want 0", "*", r)1718 }1719 y = -11720 r = x * y1721 if r != 4294967296 {1722 t.Errorf("-4294967296 %s -1 = %d, want 4294967296", "*", r)1723 }1724 y = 01725 r = x * y1726 if r != 0 {1727 t.Errorf("-4294967296 %s 0 = %d, want 0", "*", r)1728 }1729 y = 11730 r = x * y1731 if r != -4294967296 {1732 t.Errorf("-4294967296 %s 1 = %d, want -4294967296", "*", r)1733 }1734 y = 42949672961735 r = x * y1736 if r != 0 {1737 t.Errorf("-4294967296 %s 4294967296 = %d, want 0", "*", r)1738 }1739 y = 92233720368547758061740 r = x * y1741 if r != 8589934592 {1742 t.Errorf("-4294967296 %s 9223372036854775806 = %d, want 8589934592", "*", r)1743 }1744 y = 92233720368547758071745 r = x * y1746 if r != 4294967296 {1747 t.Errorf("-4294967296 %s 9223372036854775807 = %d, want 4294967296", "*", r)1748 }1749 x = -11750 y = -92233720368547758081751 r = x * y1752 if r != -9223372036854775808 {1753 t.Errorf("-1 %s -9223372036854775808 = %d, want -9223372036854775808", "*", r)1754 }1755 y = -92233720368547758071756 r = x * y1757 if r != 9223372036854775807 {1758 t.Errorf("-1 %s -9223372036854775807 = %d, want 9223372036854775807", "*", r)1759 }1760 y = -42949672961761 r = x * y1762 if r != 4294967296 {1763 t.Errorf("-1 %s -4294967296 = %d, want 4294967296", "*", r)1764 }1765 y = -11766 r = x * y1767 if r != 1 {1768 t.Errorf("-1 %s -1 = %d, want 1", "*", r)1769 }1770 y = 01771 r = x * y1772 if r != 0 {1773 t.Errorf("-1 %s 0 = %d, want 0", "*", r)1774 }1775 y = 11776 r = x * y1777 if r != -1 {1778 t.Errorf("-1 %s 1 = %d, want -1", "*", r)1779 }1780 y = 42949672961781 r = x * y1782 if r != -4294967296 {1783 t.Errorf("-1 %s 4294967296 = %d, want -4294967296", "*", r)1784 }1785 y = 92233720368547758061786 r = x * y1787 if r != -9223372036854775806 {1788 t.Errorf("-1 %s 9223372036854775806 = %d, want -9223372036854775806", "*", r)1789 }1790 y = 92233720368547758071791 r = x * y1792 if r != -9223372036854775807 {1793 t.Errorf("-1 %s 9223372036854775807 = %d, want -9223372036854775807", "*", r)1794 }1795 x = 01796 y = -92233720368547758081797 r = x * y1798 if r != 0 {1799 t.Errorf("0 %s -9223372036854775808 = %d, want 0", "*", r)1800 }1801 y = -92233720368547758071802 r = x * y1803 if r != 0 {1804 t.Errorf("0 %s -9223372036854775807 = %d, want 0", "*", r)1805 }1806 y = -42949672961807 r = x * y1808 if r != 0 {1809 t.Errorf("0 %s -4294967296 = %d, want 0", "*", r)1810 }1811 y = -11812 r = x * y1813 if r != 0 {1814 t.Errorf("0 %s -1 = %d, want 0", "*", r)1815 }1816 y = 01817 r = x * y1818 if r != 0 {1819 t.Errorf("0 %s 0 = %d, want 0", "*", r)1820 }1821 y = 11822 r = x * y1823 if r != 0 {1824 t.Errorf("0 %s 1 = %d, want 0", "*", r)1825 }1826 y = 42949672961827 r = x * y1828 if r != 0 {1829 t.Errorf("0 %s 4294967296 = %d, want 0", "*", r)1830 }1831 y = 92233720368547758061832 r = x * y1833 if r != 0 {1834 t.Errorf("0 %s 9223372036854775806 = %d, want 0", "*", r)1835 }1836 y = 92233720368547758071837 r = x * y1838 if r != 0 {1839 t.Errorf("0 %s 9223372036854775807 = %d, want 0", "*", r)1840 }1841 x = 11842 y = -92233720368547758081843 r = x * y1844 if r != -9223372036854775808 {1845 t.Errorf("1 %s -9223372036854775808 = %d, want -9223372036854775808", "*", r)1846 }1847 y = -92233720368547758071848 r = x * y1849 if r != -9223372036854775807 {1850 t.Errorf("1 %s -9223372036854775807 = %d, want -9223372036854775807", "*", r)1851 }1852 y = -42949672961853 r = x * y1854 if r != -4294967296 {1855 t.Errorf("1 %s -4294967296 = %d, want -4294967296", "*", r)1856 }1857 y = -11858 r = x * y1859 if r != -1 {1860 t.Errorf("1 %s -1 = %d, want -1", "*", r)1861 }1862 y = 01863 r = x * y1864 if r != 0 {1865 t.Errorf("1 %s 0 = %d, want 0", "*", r)1866 }1867 y = 11868 r = x * y1869 if r != 1 {1870 t.Errorf("1 %s 1 = %d, want 1", "*", r)1871 }1872 y = 42949672961873 r = x * y1874 if r != 4294967296 {1875 t.Errorf("1 %s 4294967296 = %d, want 4294967296", "*", r)1876 }1877 y = 92233720368547758061878 r = x * y1879 if r != 9223372036854775806 {1880 t.Errorf("1 %s 9223372036854775806 = %d, want 9223372036854775806", "*", r)1881 }1882 y = 92233720368547758071883 r = x * y1884 if r != 9223372036854775807 {1885 t.Errorf("1 %s 9223372036854775807 = %d, want 9223372036854775807", "*", r)1886 }1887 x = 42949672961888 y = -92233720368547758081889 r = x * y1890 if r != 0 {1891 t.Errorf("4294967296 %s -9223372036854775808 = %d, want 0", "*", r)1892 }1893 y = -92233720368547758071894 r = x * y1895 if r != 4294967296 {1896 t.Errorf("4294967296 %s -9223372036854775807 = %d, want 4294967296", "*", r)1897 }1898 y = -42949672961899 r = x * y1900 if r != 0 {1901 t.Errorf("4294967296 %s -4294967296 = %d, want 0", "*", r)1902 }1903 y = -11904 r = x * y1905 if r != -4294967296 {1906 t.Errorf("4294967296 %s -1 = %d, want -4294967296", "*", r)1907 }1908 y = 01909 r = x * y1910 if r != 0 {1911 t.Errorf("4294967296 %s 0 = %d, want 0", "*", r)1912 }1913 y = 11914 r = x * y1915 if r != 4294967296 {1916 t.Errorf("4294967296 %s 1 = %d, want 4294967296", "*", r)1917 }1918 y = 42949672961919 r = x * y1920 if r != 0 {1921 t.Errorf("4294967296 %s 4294967296 = %d, want 0", "*", r)1922 }1923 y = 92233720368547758061924 r = x * y1925 if r != -8589934592 {1926 t.Errorf("4294967296 %s 9223372036854775806 = %d, want -8589934592", "*", r)1927 }1928 y = 92233720368547758071929 r = x * y1930 if r != -4294967296 {1931 t.Errorf("4294967296 %s 9223372036854775807 = %d, want -4294967296", "*", r)1932 }1933 x = 92233720368547758061934 y = -92233720368547758081935 r = x * y1936 if r != 0 {1937 t.Errorf("9223372036854775806 %s -9223372036854775808 = %d, want 0", "*", r)1938 }1939 y = -92233720368547758071940 r = x * y1941 if r != 9223372036854775806 {1942 t.Errorf("9223372036854775806 %s -9223372036854775807 = %d, want 9223372036854775806", "*", r)1943 }1944 y = -42949672961945 r = x * y1946 if r != 8589934592 {1947 t.Errorf("9223372036854775806 %s -4294967296 = %d, want 8589934592", "*", r)1948 }1949 y = -11950 r = x * y1951 if r != -9223372036854775806 {1952 t.Errorf("9223372036854775806 %s -1 = %d, want -9223372036854775806", "*", r)1953 }1954 y = 01955 r = x * y1956 if r != 0 {1957 t.Errorf("9223372036854775806 %s 0 = %d, want 0", "*", r)1958 }1959 y = 11960 r = x * y1961 if r != 9223372036854775806 {1962 t.Errorf("9223372036854775806 %s 1 = %d, want 9223372036854775806", "*", r)1963 }1964 y = 42949672961965 r = x * y1966 if r != -8589934592 {1967 t.Errorf("9223372036854775806 %s 4294967296 = %d, want -8589934592", "*", r)1968 }1969 y = 92233720368547758061970 r = x * y1971 if r != 4 {1972 t.Errorf("9223372036854775806 %s 9223372036854775806 = %d, want 4", "*", r)1973 }1974 y = 92233720368547758071975 r = x * y1976 if r != -9223372036854775806 {1977 t.Errorf("9223372036854775806 %s 9223372036854775807 = %d, want -9223372036854775806", "*", r)1978 }1979 x = 92233720368547758071980 y = -92233720368547758081981 r = x * y1982 if r != -9223372036854775808 {1983 t.Errorf("9223372036854775807 %s -9223372036854775808 = %d, want -9223372036854775808", "*", r)1984 }1985 y = -92233720368547758071986 r = x * y1987 if r != -1 {1988 t.Errorf("9223372036854775807 %s -9223372036854775807 = %d, want -1", "*", r)1989 }1990 y = -42949672961991 r = x * y1992 if r != 4294967296 {1993 t.Errorf("9223372036854775807 %s -4294967296 = %d, want 4294967296", "*", r)1994 }1995 y = -11996 r = x * y1997 if r != -9223372036854775807 {1998 t.Errorf("9223372036854775807 %s -1 = %d, want -9223372036854775807", "*", r)1999 }2000 y = 0
Findings
✓ No findings reported for this file.