src/cmd/compile/internal/test/constFold_test.go GO 18,112 lines View on github.com → Search inside
File is large — showing lines 1–2,000 of 18,112.
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.

Get this view in your editor

Same data, no extra tab — call code_get_file + code_get_findings over MCP from Claude/Cursor/Copilot.

Generated by searchcode.com · powered by code_get_file + code_get_findings