AMD64 support for unsigned comparisons

This commit is contained in:
Jeremiah Orians 2020-12-15 20:28:04 -05:00
parent eaf3861954
commit f2cae3d501
No known key found for this signature in database
GPG Key ID: 5410E91C14959E87
4 changed files with 19 additions and 15 deletions

View File

@ -927,10 +927,10 @@ void relational_expr_stub()
}
else if(AMD64 == Architecture)
{
general_recursion(additive_expr, "CMP\nSETL\nMOVEZX\n", "<", relational_expr_stub);
general_recursion(additive_expr, "CMP\nSETLE\nMOVEZX\n", "<=", relational_expr_stub);
general_recursion(additive_expr, "CMP\nSETGE\nMOVEZX\n", ">=", relational_expr_stub);
general_recursion(additive_expr, "CMP\nSETG\nMOVEZX\n", ">", relational_expr_stub);
arithmetic_recursion(additive_expr, "CMP\nSETL\nMOVEZX\n", "CMP\nSETB\nMOVEZX\n", "<", relational_expr_stub);
arithmetic_recursion(additive_expr, "CMP\nSETLE\nMOVEZX\n", "CMP\nSETBE\nMOVEZX\n", "<=", relational_expr_stub);
arithmetic_recursion(additive_expr, "CMP\nSETGE\nMOVEZX\n", "CMP\nSETAE\nMOVEZX\n", ">=", relational_expr_stub);
arithmetic_recursion(additive_expr, "CMP\nSETG\nMOVEZX\n", "CMP\nSETA\nMOVEZX\n", ">", relational_expr_stub);
general_recursion(additive_expr, "CMP\nSETE\nMOVEZX\n", "==", relational_expr_stub);
general_recursion(additive_expr, "CMP\nSETNE\nMOVEZX\n", "!=", relational_expr_stub);
}

View File

@ -80,6 +80,10 @@ DEFINE SHL_rax_cl 48D3E0
DEFINE SAL_rax_cl 48D3F0
DEFINE SHR_rax_cl 48D3E8
DEFINE SAR_rax_cl 48D3F8
DEFINE SETA 0F97C0
DEFINE SETAE 0F93C0
DEFINE SETB 0F92C0
DEFINE SETBE 0F96C0
DEFINE SETE 0F94C0
DEFINE SETG 0F9FC0
DEFINE SETGE 0F9DC0

View File

@ -110,7 +110,7 @@ cc0da63ac84b37fef8e0367246a01b3aea7be95dd410297d80500e8d43a54b32 test/results/t
a2cba152dd5dd47a574aec274d22fbda6efad301ddd942cdd928b69f92902fcb test/results/test0018-knight-posix-binary
b547b060881bbbd564d18575b5a96b4f5837ece88ea1f7a20bc5fb1b736361e4 test/results/test0018-x86-binary
26533e5ac6d14e2cdc40bd5638b1f246c9fe8a37ad547ac2733d4d8b4fab1873 test/results/test0019-aarch64-binary
b5d23f9cb31ecef662b3f599413c08b3a07d69d1e5fc1b2b9316b757eacef282 test/results/test0019-amd64-binary
5279026cb14f83907279c5372b9cc4b33f1481ed08f814b77fb82fab9382cb4a test/results/test0019-amd64-binary
3fb11401be187c022e63b6912bddedcedc975ef0a6cf08e978fdb48411589f48 test/results/test0019-armv7l-binary
829a00a8b9b90eca5ff6eb0100d1327e102f5a83e12a4e7073ae0b9bece81aa1 test/results/test0019-knight-posix-binary
18b7ab44902784a60444c120ec73fe01410a73ca89bbceb1cb2522e024ad0f2c test/results/test0019-x86-binary
@ -146,7 +146,7 @@ c21664610539bb9046895a98c46d8f30d24726278ad24f5ab7676d1f3b5d4925 test/results/t
b49459649c771c4028dca40849423a7b6488520d99d7badcfcfb252ab3ef2d5e test/results/test0101-knight-posix-binary
551fd272d788bb5bcfb2bd54ac762ba8c5e6e1b67fd6a1a64ed1394d0a997781 test/results/test0101-x86-binary
ce03708749b6b2229a585083d1cd24842d93cd256648946d1a5ad8f6d761a7a6 test/results/test0102-aarch64-binary
d3f85a43b3fed5ba9ac2b4db5a509c9b13eae2392805ea7aae6c10490f627330 test/results/test0102-amd64-binary
fc6cc80a36547e948faa1d21ebbc2207e506c4d40d3880ebc6233576eaf20013 test/results/test0102-amd64-binary
f796b342443ddf49e21e097aa3a30221eb23ce7878d3eb3222c4fb99d1a32b02 test/results/test0102-armv7l-binary
e82594cb968ee20eb5e2ebeb36fca526eba1d2d6ac440085d307967dd7977abf test/results/test0102-knight-posix-binary
4aa547b1a55d15b70a350f0b74f1a551e684eb17ebcd9e09ef5654c59eb0990c test/results/test0102-x86-binary
@ -156,21 +156,21 @@ f2114b5217c12952a85d580ad5914dd679888d93d176ee132ace9e8773916b3b test/results/t
0f8f90238756cd49b2ab098ede160a7847365c99e20ccf742a3e3fefb65bfbd0 test/results/test0103-knight-posix-binary
87c3c6ac883900334d2caa6695cab42628d2cb554e2216a5d541ec349df458b0 test/results/test0103-x86-binary
29ebf09fbd9408bcac55925e3e95ad6669f60e36e7f345fc69d46060ac57ed13 test/results/test0104-aarch64-binary
2cc54e3c7a1f5eec07071dfb422c8a96e2a6bbd6eb8c99e25122e1abbcf89ed9 test/results/test0104-amd64-binary
9deb2f3e7d916041b50d61df8ef15244a5d1050c2326a303ac4b3b2f915868cd test/results/test0104-amd64-binary
5172743dab7c449c49d0ef8a6bebba4de8bdcb5fa490ec55fe41f6829064ee8d test/results/test0104-armv7l-binary
9a9c974c104966882de5be4a68d85cf88f7cdfb4c95ae9dcfabe58b2c8232bb1 test/results/test0104-x86-binary
f13054e49236e290ec195fef13c6d320a124f6cb883e406da695819bf64a580f test/results/test0105-aarch64-binary
a4cceec8c46c3f0e55d82286d5a67e52e44338b8f3af10e9de7671703e413053 test/results/test0105-amd64-binary
a498d43b19327f1342cb54e698db9fb237901ed0ab04890241bed00ff23eddbc test/results/test0105-amd64-binary
450ca9e7a1786c6f8ee55efd27a0006f991277f16965f6ada14d6e7df15b40f8 test/results/test0105-armv7l-binary
f8ed88b69c3388c73a24b82702be0df9b06e06a8132ed9b75aed5aa8260f3b2d test/results/test0105-x86-binary
682b63f332ee299bf4afb91356004b96a223e309dc44a7efeb1cbcd9f21aeb4c test/results/test0106-aarch64-binary
748feb37b35f89c16e00045c6bb5c787e7478023b128404cedd7a67b256b974c test/results/test0106-amd64-binary
32a2990df4a353f5abf27b4cf9577f9e8b500270ebac0f6aa8c6a78c7f4856cb test/results/test0106-amd64-binary
a2a83f42119e646b389b98647cf6cf2aa9597185997c9453db746178c8c4c0bf test/results/test0106-armv7l-binary
99cb6024b886c9dc5ecaf38826dd70a3e823c3a647d20c5ccd2848628e54409f test/results/test0106-knight-native-binary
cad614f909f2b9ac0279b7b508193836bea3a050cecf987448d378f62f6af916 test/results/test0106-knight-posix-binary
c1f58b9b99e1d62814d911a853cce82c2e8220cdadf164c090bd0f3bf4d11caa test/results/test0106-x86-binary
46ccf7dcf14f7aa20552db20903b124f9ee1093175607e4982806388937751ac test/results/test1000-aarch64-binary
79373df1197f25984ac34b9e01bad6cef85c1871ff64a1002f7a391c09031ee0 test/results/test1000-amd64-binary
88bbd3e53850e13e0d51f18e7e956da3e0f3cc4d9b74212c3264c98923fd8421 test/results/test1000-armv7l-binary
39a1afb2b79f43151ef5fab7518c865df16918a2fd226818784641e9882dc8a5 test/results/test1000-knight-posix-binary
4b9dd75bf67c5d2c7d2bbb68e9da4bf0a8366b1a02a3f5ff3fa84c8acc4d8a1d test/results/test1000-x86-binary
3ba8be4a53844e217e6627af7c3cd52dec41847b40d4562c1e2c9bf603dd91c6 test/results/test1000-aarch64-binary
3373cb26f5cc2f7c2c9ea131c056627dabe21e73ad2d59798e8bfa2ad481f55f test/results/test1000-amd64-binary
b6723d3d1e4675bb4c09e71fdc3086918886a52d70a524197fc205a8bd260718 test/results/test1000-armv7l-binary
6758132c2e7df529068196e1d58c8f2fbd517ba4e0c270aeadef050fa61af466 test/results/test1000-knight-posix-binary
22495e17827c83852a3a888e0672baef277bc1cb4f62d3fd584d0d0fe10fc1e1 test/results/test1000-x86-binary

View File

@ -1 +1 @@
8e724bc57a36dcb214884a7a5975a31764051fe81b4ceef90b8d88aedd323b5b test/test1000/proof
1ff216929b7899fa07ca9b9438d6e90950ee7c9cc09cf70812aa292a7e2b3a0e test/test1000/proof