match gcc behavior in regards to if(-1 > 0)

This commit is contained in:
Jeremiah Orians 2020-12-15 07:24:07 -05:00
parent 5c22aac02d
commit 9da48c5ece
No known key found for this signature in database
GPG Key ID: 5410E91C14959E87
3 changed files with 34 additions and 34 deletions

View File

@ -626,7 +626,7 @@ void arithmetic_recursion(FUNCTION f, char* s1, char* s2, char* name, FUNCTION i
common_recursion(f);
if(NULL == current_target)
{
emit_out(s2);
emit_out(s1);
}
else if(current_target->is_signed)
{
@ -909,12 +909,12 @@ void relational_expr_stub()
{
if((KNIGHT_POSIX == Architecture) || (KNIGHT_NATIVE == Architecture))
{
general_recursion(additive_expr, "CMP R0 R1 R0\nSET.L R0 R0 1\n", "<", relational_expr_stub);
general_recursion(additive_expr, "CMP R0 R1 R0\nSET.LE R0 R0 1\n", "<=", relational_expr_stub);
general_recursion(additive_expr, "CMP R0 R1 R0\nSET.GE R0 R0 1\n", ">=", relational_expr_stub);
general_recursion(additive_expr, "CMP R0 R1 R0\nSET.G R0 R0 1\n", ">", relational_expr_stub);
general_recursion(additive_expr, "CMP R0 R1 R0\nSET.E R0 R0 1\n", "==", relational_expr_stub);
general_recursion(additive_expr, "CMP R0 R1 R0\nSET.NE R0 R0 1\n", "!=", relational_expr_stub);
arithmetic_recursion(additive_expr, "CMP R0 R1 R0\nSET.L R0 R0 1\n", "CMPU R0 R1 R0\nSET.L R0 R0 1\n", "<", relational_expr_stub);
arithmetic_recursion(additive_expr, "CMP R0 R1 R0\nSET.LE R0 R0 1\n", "CMPU R0 R1 R0\nSET.LE R0 R0 1\n", "<=", relational_expr_stub);
arithmetic_recursion(additive_expr, "CMP R0 R1 R0\nSET.GE R0 R0 1\n", "CMPU R0 R1 R0\nSET.GE R0 R0 1\n", ">=", relational_expr_stub);
arithmetic_recursion(additive_expr, "CMP R0 R1 R0\nSET.G R0 R0 1\n", "CMPU R0 R1 R0\nSET.G R0 R0 1\n", ">", relational_expr_stub);
arithmetic_recursion(additive_expr, "CMP R0 R1 R0\nSET.E R0 R0 1\n", "CMPU R0 R1 R0\nSET.E R0 R0 1\n", "==", relational_expr_stub);
arithmetic_recursion(additive_expr, "CMP R0 R1 R0\nSET.NE R0 R0 1\n", "CMPU R0 R1 R0\nSET.NE R0 R0 1\n", "!=", relational_expr_stub);
}
else if(X86 == Architecture)
{

View File

@ -31,8 +31,8 @@ f79a26e349ef8beb447fddd3091c6fc448b040a4daff3cc48c58c39c3006d4e3 test/results/t
d02e9fef852471241ee0f190e41b949c88a4085058a4fdd8e38468215b608619 test/results/test0005-aarch64-binary
5c600a6d3dcb8dd4833789c6fdc5e2ed074da73ea8b67e4639f3327cc3592db9 test/results/test0005-amd64-binary
9ac4394512cb401e4f375920cbaafe98e2a69c14e6d9b143c421581bc0f96255 test/results/test0005-armv7l-binary
3a68e78748f48f36e784d4608684b8247918c159da6f4873be1a66b9d791559e test/results/test0005-knight-native-binary
a3518405256320bbd483b4671beaef86074dd2c7d2a0ddb5b52ce5bb6a4fc8f6 test/results/test0005-knight-posix-binary
bf4a3582c33ef9a03cad61541270d8c9aa6e912614d0ce2070e5b7afa9e7445f test/results/test0005-knight-native-binary
80a6b35630203b3130aac8e0a9ffb48e3a517a87c851f1ecd834df6412306d65 test/results/test0005-knight-posix-binary
e61737d75d2ed0519412bd6360612eb7b1528952b3de12a27e74792bacb3d803 test/results/test0005-x86-binary
b7386a02503542ad6994aed246fd9b01dc646988d9d94270db9cf818b755cf4b test/results/test0006-aarch64-binary
67b8b97a691b95b51d294eeee17c875dfd790c630def77dce0fecc243cd14a0b test/results/test0006-amd64-binary
@ -55,8 +55,8 @@ b54dd7a53e4e7619e7fe1761b827cfdf0c24b2317084ec7c06a7403c5d51c651 test/results/t
d595865be0821679a9885e897fa57ffe8d559a0750113930e6466985f907dd53 test/results/test0009-aarch64-binary
5de426db9e0cc0943563a5f2464010b1aa27d4b72677945dd237fc3311691906 test/results/test0009-amd64-binary
5f037d86c6e0c352579ce223157963090fe56a72bf65467508f36fd3dd5bd7b2 test/results/test0009-armv7l-binary
b56be38a25923d700a4de7f1d0a80fb7f841799cbbe40fd43b9eba4c9b8bf76d test/results/test0009-knight-native-binary
b2087ec03c9aa013d21d7ea1a0789ff0026ef329a91070771ececec3ec51cb88 test/results/test0009-knight-posix-binary
3bf5d08fbb96e17f9244538e209e9f54a43ab54175e751201ee97338791f740a test/results/test0009-knight-native-binary
f59429424e04ac511b1b1fe4f8ff623d9a45cf916d87d695fff3393353e6e6a9 test/results/test0009-knight-posix-binary
7e073eac439a8aa7e8ec109eddd7104830cd38b7fe410b91e8050ea6dc32e9c7 test/results/test0009-x86-binary
3ae42622adb6a618744bb81a5a7b3ad175ed435ae9c500f7ed3abbf878801836 test/results/test0010-aarch64-binary
2ee9411b7f04829e892b2a3c818bf21268d91e3d0fefc438f10e6d6b06802dfa test/results/test0010-amd64-binary
@ -85,34 +85,34 @@ a2a2308a472736f56530fc66016503f2ecda3072175728b9950baa42af588d0a test/results/t
1486bd40eac8394d0b5d195cb648370f5726fb3daa2bbd008cbe5df6b77b7c88 test/results/test0014-aarch64-binary
3fde6df916fcb273770ee83eb0bc757fe6dedd022cfbe6cb91641ff335f7e3fd test/results/test0014-amd64-binary
390deb0728a6ee883ef4ccd4720041ee77a69d0d218b25403846704f6300d3e2 test/results/test0014-armv7l-binary
2fb75591eceb03ae7bb52bc6c1344168d3f640ca52cbae5443da6792ae140136 test/results/test0014-knight-posix-binary
21ff1e3cc2e36bf3b096ab47487b37ec932aa51ddce106ed9fbb85945de1733d test/results/test0014-knight-posix-binary
e783d1a24a892f326ef8166d9fd0bf318d93fa7112b244973569e4332d9c5f0d test/results/test0014-x86-binary
79e72f4683bd8b97911260b84ff4b04594bac42dde3d917c5cb9537a51c81747 test/results/test0015-aarch64-binary
4e007d85c9866596807abfd328d674770743daa22549f989f82c24868671792a test/results/test0015-amd64-binary
469ae52e773e33a06332e6372eee87c9243d833ea16153e9aeef33ebcc06deb7 test/results/test0015-armv7l-binary
c88f6958920cd42883685a0b322f956eb3085cb6ba63e22a64aaf1db69e3130a test/results/test0015-knight-posix-binary
a97929b977f3746e0f0e4ed7b1380504429fd7b1995d3b11561dc0993fc7cd88 test/results/test0015-knight-posix-binary
fe84418a5aa71ba024a3910d66ff0ea809c855a47383cd64a8dac00a329e32aa test/results/test0015-x86-binary
061ba8f44ae60f4c2a3315d5ff0512bb22f8d9fca0ef7d8e8c56fad3605bfb87 test/results/test0016-aarch64-binary
44916f3c2efb03442a359e41eb9768d8c395c626c6b364b55079318265929583 test/results/test0016-amd64-binary
910e97d9a9a8bc8b6e5979641c5a2516acdbd45709fe67462602d7fd429fee15 test/results/test0016-armv7l-binary
60b9bbbbbe818da2f2d15dd58ec0b3c69b40795e2d19f93f2f17b74d0118a7c6 test/results/test0016-knight-posix-binary
b4ee4fe352cf3ab4f9811778eca08e31af9c819159ba7e4e7e1f393ef033a00f test/results/test0016-knight-posix-binary
5e617d9934312d4a9d27870af995fb2171cb9c5fb6f7b12c118df797dc47a1c9 test/results/test0016-x86-binary
ca186d12b91ad4f89141c05345680fe83a161766ba4bb49ff0ea28bde77e89b1 test/results/test0017-aarch64-binary
bd70143ec9764bd5681c72e173b6baaca7a486c9330974ca82fb7e997249f572 test/results/test0017-amd64-binary
4618cba0ac8a2aa09c434388be9e2275cfb512c457a9f10e2ec64c06a3f4cf2c test/results/test0017-armv7l-binary
501237033fc6dbe97f34b760bb593c62657bebeb2493e7384894d9f51364439f test/results/test0017-knight-native-binary
30701c30051f9e8f24be50f65cde7ffdc7d57f60d8d3997329b87d7d9f7e5a96 test/results/test0017-knight-posix-binary
9355ab69b6e7086f040903bccf1a36fe6adde3e1f627d809f8807168b5dea1e6 test/results/test0017-knight-native-binary
e43706738c5cbd6ec7278120583d4b854bf8e8c56199807a8f70525870f251d1 test/results/test0017-knight-posix-binary
43124b01045e81627d7f5fd4aedb22166fa5f51790b3e5497e0d796241ee7902 test/results/test0017-x86-binary
bdb95323821eea5b757445d1d4a8f79256a4b665c2a0666cbbb7931550ba4a6f test/results/test0018-aarch64-binary
7c880e70934335682896ef3ab6e01f96482d59185b13302c94127126a0b25949 test/results/test0018-amd64-binary
2ad21d7b2536304f9effd97d8614036b0d453a10ba4da3c09b490d6447271a42 test/results/test0018-armv7l-binary
b8f549f96a12752880bda48c3f6bb3a86163b3e7fdadaee0e7cd16350738f313 test/results/test0018-knight-native-binary
f32a182c603f851c3cd32848b62fd74e8ae8cd1e59ddbff0aa6b56cf501b333c test/results/test0018-knight-posix-binary
bf6cdf7a737a42ab2bd2df1b5e69ccda3205a13eff172bd53032f10bb8a207b6 test/results/test0018-knight-native-binary
55e2af7a331e3681e28b97ffbf90e1abeca44d79c06e2fe466ec5cb643148350 test/results/test0018-knight-posix-binary
b547b060881bbbd564d18575b5a96b4f5837ece88ea1f7a20bc5fb1b736361e4 test/results/test0018-x86-binary
26533e5ac6d14e2cdc40bd5638b1f246c9fe8a37ad547ac2733d4d8b4fab1873 test/results/test0019-aarch64-binary
b5d23f9cb31ecef662b3f599413c08b3a07d69d1e5fc1b2b9316b757eacef282 test/results/test0019-amd64-binary
3fb11401be187c022e63b6912bddedcedc975ef0a6cf08e978fdb48411589f48 test/results/test0019-armv7l-binary
731a04ed7c842041bfd574cc054a3b076931bf9fba1a89df597ae4e43c68e46e test/results/test0019-knight-posix-binary
509a1b28eddde9487d45ff990fdfd90becbe1d951f9733394d1ab976bc6f0b50 test/results/test0019-knight-posix-binary
33bf6f2f89c39abd283bb447a66b6cfb06588b7117cfeff6929dd8843045ed20 test/results/test0019-x86-binary
6b31e8ee54270d38a1801f7614ae6247f59d44a2758f344b07a72794019290f4 test/results/test0020-aarch64-binary
6b2956b106dd16bb55d8d011b48e674ee3b70bbb0bb83efadca01d446666e21e test/results/test0020-amd64-binary
@ -123,37 +123,37 @@ d2e5a7672854bf190dd6e2f08081a5dbea22c08d77b4a62f76af68db033aea14 test/results/t
4bcc06013b48bc2fb95e0993835e1ba6980701ce7052fb01fe8fdd3ddc0f7a19 test/results/test0021-aarch64-binary
db58e65fb5c977ffabfd0284fe3b215c34db5ecc4bf67b9dcd62e4bd8a45807b test/results/test0021-amd64-binary
b56c9a9e68931081e18f855017729b90e8dffb5d81ab900acba1fa824e9b2cc5 test/results/test0021-armv7l-binary
080d8caeba5eeeb3264c969999cf5986261edf189c6deb9cd749875476c8f894 test/results/test0021-knight-posix-binary
67ed23b02f7600c79c5b71c6527bf94efef0de836f8c2caa19da905b623b3da3 test/results/test0021-knight-posix-binary
602b8f095b401ec654d358f526787b4a53541fe03b235d5971bc6bdfa8f13878 test/results/test0021-x86-binary
26c3da7c1f26ddebaf0de705e98fc35b5ff9a645c69ee19848790df6e9f590a1 test/results/test0022-aarch64-binary
6c9cd235477fdd070e8cf4aa6255100554b1a907249e0a41b61b44df16e03bca test/results/test0022-amd64-binary
bccd51a074ea646ef4c39410196e32366e952e788e82ad055c408142d26cbfbf test/results/test0022-armv7l-binary
949cfd7066672d6873d7b2c1af7b8dffca23a02b60196627afc7b89d6ed4fe8b test/results/test0022-knight-posix-binary
8077962e6598cfd78ad5303054eda68c7a4ec75230f2f50b889e58c85cc3cf92 test/results/test0022-knight-posix-binary
a70738aa2f1c56fdaacfa45e3fcce8deb105259fac3f6c9cf2804925138a3745 test/results/test0022-x86-binary
5a9a0a19187247ed89d55aeb0b02beebae792b2908e70cf558042887878dcbc3 test/results/test0023-aarch64-binary
8cd6f04e55eb1d2c73315df8f4959d691c1243550c29671c2e8adc3cdbf1990d test/results/test0023-amd64-binary
afd5d479066402228964a3216235f091065b0922b76576a7c972e93f0fb88684 test/results/test0023-armv7l-binary
8267d23bb9e7253b1bb174ebf6960345d5a61bd8a4c3ff75e5c14cc47e2c66de test/results/test0023-knight-posix-binary
3d5901dfe0f5ee33bd61d448c3f2fc6e578bf2c9b6f03e02c40f7940db2809e8 test/results/test0023-knight-posix-binary
c487702062d19227e59c1f6280ef5f24d48f9c652801f4a1eaa0412ec9dda92d test/results/test0023-x86-binary
e492e35afe92c5ccfc1d4fbd6da75ecfc1680cb331a768658e731bf5a5b4d0b0 test/results/test0100-aarch64-binary
ed42d7ef7b3f1e99b1266c9d8cc5032bd17f29880e2c1ddca7031795459a1aa7 test/results/test0100-amd64-binary
3abd9279114df2afa56fa3bbc2a5529174f8fb5d63878dc37f289ca48ef70f41 test/results/test0100-armv7l-binary
cf2bba9e00855a9b78484bce5cde0e0f786a6ba175a3fd6f01cf6a28ed3e6987 test/results/test0100-knight-posix-binary
884ad9e2cd613f0aa9be7c0059a5bb0e6720c5c665fe0fbe7c246a8344c2e285 test/results/test0100-knight-posix-binary
c21664610539bb9046895a98c46d8f30d24726278ad24f5ab7676d1f3b5d4925 test/results/test0100-x86-binary
4143145e0b03df893c64cc481703f8e5eab4cc8e881ee8138d82ccb1cd3978b5 test/results/test0101-aarch64-binary
0fcfca746f697fb2037cec05a934667efb8a7d15d1c5bb62c90a11c8bbe75eb8 test/results/test0101-amd64-binary
6e40185d52f0df1f55a0cc4a69780e4ef94e1ca5b11a5420964941b7b9bba7a9 test/results/test0101-armv7l-binary
33bcd13d54d350131c80f5d2530790fd3645688232bd7d44c82e67a4e63fcf18 test/results/test0101-knight-posix-binary
e0b616d341129a37478911a0fae3e0c4b61b870a8255a85a7dec578c61fc401e test/results/test0101-knight-posix-binary
551fd272d788bb5bcfb2bd54ac762ba8c5e6e1b67fd6a1a64ed1394d0a997781 test/results/test0101-x86-binary
ce03708749b6b2229a585083d1cd24842d93cd256648946d1a5ad8f6d761a7a6 test/results/test0102-aarch64-binary
d3f85a43b3fed5ba9ac2b4db5a509c9b13eae2392805ea7aae6c10490f627330 test/results/test0102-amd64-binary
f796b342443ddf49e21e097aa3a30221eb23ce7878d3eb3222c4fb99d1a32b02 test/results/test0102-armv7l-binary
e48c0c19ca4c70b21138bb54cfdf89fcd929ecf795a93a694e2b0352d364f991 test/results/test0102-knight-posix-binary
fd84405026e14c37dab5b057dbe76b2e8e63548c0a889a1d9513dcb90fa8ea26 test/results/test0102-knight-posix-binary
1a0a7a6dbdfb9a01a698154c8f1ebdce284716fa21d081ac70aaeec2a6742782 test/results/test0102-x86-binary
603fd4fe17f8ef9eac12116003941702849b720021da23dc32582ca41192a792 test/results/test0103-aarch64-binary
f2114b5217c12952a85d580ad5914dd679888d93d176ee132ace9e8773916b3b test/results/test0103-amd64-binary
79cbb69a747b07d729db736bc177b52b344106387831a0210ff18fce92edf1cc test/results/test0103-armv7l-binary
e1de5e40d4c8d39f45f3a6b371a5684c851325b2d3db7edfcb8387ccff7520ee test/results/test0103-knight-posix-binary
c7c55d8107f0ab678cc83f50d7d161265917cc913cea8ab688b1406701427c48 test/results/test0103-knight-posix-binary
87c3c6ac883900334d2caa6695cab42628d2cb554e2216a5d541ec349df458b0 test/results/test0103-x86-binary
29ebf09fbd9408bcac55925e3e95ad6669f60e36e7f345fc69d46060ac57ed13 test/results/test0104-aarch64-binary
2cc54e3c7a1f5eec07071dfb422c8a96e2a6bbd6eb8c99e25122e1abbcf89ed9 test/results/test0104-amd64-binary
@ -166,11 +166,11 @@ a4cceec8c46c3f0e55d82286d5a67e52e44338b8f3af10e9de7671703e413053 test/results/t
682b63f332ee299bf4afb91356004b96a223e309dc44a7efeb1cbcd9f21aeb4c test/results/test0106-aarch64-binary
748feb37b35f89c16e00045c6bb5c787e7478023b128404cedd7a67b256b974c test/results/test0106-amd64-binary
a2a83f42119e646b389b98647cf6cf2aa9597185997c9453db746178c8c4c0bf test/results/test0106-armv7l-binary
cb299dea1f8541eb07195cc1eea4336ef16ceda4b2b7cf096382bb6088ba8546 test/results/test0106-knight-native-binary
22f1560b93c889e9b25dc712d3374e041dcbcceea39d152f3694ab3ac37ff6f8 test/results/test0106-knight-posix-binary
99cb6024b886c9dc5ecaf38826dd70a3e823c3a647d20c5ccd2848628e54409f test/results/test0106-knight-native-binary
cad614f909f2b9ac0279b7b508193836bea3a050cecf987448d378f62f6af916 test/results/test0106-knight-posix-binary
3e026925ec537c817f815b4748e19e4edc0487643b66d8df00a831c73229059e test/results/test0106-x86-binary
a8fea6d6b966c697b92c07ad71892c09c3a5c3c3aeef9ecccb207de2ee02d9ef test/results/test1000-aarch64-binary
d14e913b12c7a6d0c868740161575a1169023981f6af0ae383a7cd5d5412fce2 test/results/test1000-amd64-binary
6bf3027a88ba20e9aca8a57a6cf366b92b9a81fc3f2910649b6563ad0d352704 test/results/test1000-armv7l-binary
907c85f02b04bedf3dc7a3420522971178ce781e9dcdad43276d80cd04d523b9 test/results/test1000-knight-posix-binary
4117b17b5b9e480aadbfdce6fd8af4719d35b143797f97bad2a8bd56b6d47d43 test/results/test1000-x86-binary
b520f9655d063d7282bef16989db7678191491739cc07452443067da07c99e8b test/results/test1000-aarch64-binary
157ffaffa67b2b1af7ab363aba7a67d73945bc8d35a7dd85e1471a187ca05b8c test/results/test1000-amd64-binary
4166c5240f8da5b04529387ab1f2c521ead8613c7e5f6c03d0dd80ccf8075844 test/results/test1000-armv7l-binary
500db1ada1592b4f41e1db62c2fbfa7ba00fc172dd0bfbb6257c1628a7e163b3 test/results/test1000-knight-posix-binary
b687fdc9a03ea6c840225681db42cb833b0565d9ebce34a58c00dbf78c0d55c9 test/results/test1000-x86-binary

View File

@ -1 +1 @@
89ab7e737b1e68bfaaaaa0626822edb85e6405ae8aa8066cc34a938ebaf12e5d test/test1000/proof
7cb8a5d4f87e50e4f3b764cd329a1b88b5b0c0e859cac147cbd07a136ce10eb8 test/test1000/proof