diff --git a/src/reusevm/lj_folddef.h b/src/reusevm/lj_folddef.h index a499653eb6..1e7f20bcc6 100644 --- a/src/reusevm/lj_folddef.h +++ b/src/reusevm/lj_folddef.h @@ -101,6 +101,8 @@ static const FoldFunc fold_func[] = { fold_simplify_shift2_ki, fold_simplify_shiftk_andk, fold_simplify_andk_shiftk, + fold_simplify_andor_k, + fold_simplify_andor_k64, fold_reassoc_intarith_k, fold_reassoc_intarith_k64, fold_reassoc_dup, @@ -160,13 +162,13 @@ static const uint32_t fold_hash[992] = { 0x48b2a695, 0xffffffff, 0xffffffff, -0x7d754015, +0x7f754015, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0xffffffff, -0x710bffff, +0x6542801c, +0x730bffff, 0xffffffff, 0x1108701c, 0x0a085816, @@ -182,8 +184,8 @@ static const uint32_t fold_hash[992] = { 0xffffffff, 0xffffffff, 0xffffffff, -0x6540801c, -0x7109ffff, +0x6740801c, +0x7309ffff, 0x21b46c1b, 0x1106701c, 0x0a065816, @@ -200,14 +202,14 @@ static const uint32_t fold_hash[992] = { 0xffffffff, 0xffffffff, 0xffffffff, -0x7107ffff, +0x7307ffff, 0xffffffff, 0x1104701c, 0x0a045816, 0xffffffff, 0xffffffff, 0xffffffff, -0x90ad4000, +0x92ad4000, 0x17bb8800, 0xffffffff, 0xffffffff, @@ -217,12 +219,12 @@ static const uint32_t fold_hash[992] = { 0x48b2a275, 0x5f4ffc20, 0xffffffff, -0x7105ffff, +0x7305ffff, 0x25b25ad4, 0x1102701c, 0x0a025816, 0xffffffff, -0x8f79ffff, +0x9179ffff, 0x18a94c55, 0xffffffff, 0xffffffff, @@ -234,29 +236,29 @@ static const uint32_t fold_hash[992] = { 0xffffffff, 0x5f4dfc20, 0x2051fc17, -0x7103ffff, +0x7303ffff, 0xffffffff, 0x1100701c, 0x0a005816, -0x6966cc16, +0x6b66cc16, 0x4ab4a01b, -0x9577ffff, +0x9777ffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0x68489016, +0x6a489016, 0xffffffff, 0xffffffff, 0xffffffff, 0x5f4bfc20, 0xffffffff, -0x7101ffff, +0x7301ffff, 0xffffffff, 0xffffffff, -0x8fadfc00, +0x91adfc00, 0xffffffff, -0x8275ffff, +0x8475ffff, 0x0e4e7016, 0x015e6c44, 0x120bfc1c, @@ -269,11 +271,11 @@ static const uint32_t fold_hash[992] = { 0x5f49fc20, 0xffffffff, 0xffffffff, -0x87885c11, +0x89885c11, 0x42b366ce, 0xffffffff, 0xffffffff, -0x7b73ffff, +0x7d73ffff, 0x0e4c7016, 0x015c6c44, 0xffffffff, @@ -284,7 +286,7 @@ static const uint32_t fold_hash[992] = { 0xffffffff, 0x1dbf880f, 0x5f47fc20, -0x8a89fc01, +0x8c89fc01, 0xffffffff, 0xffffffff, 0xffffffff, @@ -301,13 +303,13 @@ static const uint32_t fold_hash[992] = { 0xffffffff, 0xffffffff, 0xffffffff, -0x67448bff, +0x69448bff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0x6f6fffff, +0x716fffff, 0x0e487016, 0xffffffff, 0x076c5816, @@ -322,7 +324,7 @@ static const uint32_t fold_hash[992] = { 0xffffffff, 0xffffffff, 0xffffffff, -0x85896c00, +0x87896c00, 0xffffffff, 0x556dffff, 0x0e467016, @@ -341,8 +343,8 @@ static const uint32_t fold_hash[992] = { 0xffffffff, 0xffffffff, 0x43b36676, -0x6544881c, -0x6f6bffff, +0x6744881c, +0x716bffff, 0xffffffff, 0xffffffff, 0x48b2aa76, @@ -357,17 +359,17 @@ static const uint32_t fold_hash[992] = { 0xffffffff, 0xffffffff, 0x167f37ff, -0x95a1fc00, +0x97a1fc00, 0xffffffff, 0xffffffff, 0xffffffff, 0x06665816, -0x8289fc09, -0x8889440e, +0x8489fc09, +0x8a89440e, 0x5e4ffc16, 0xffffffff, 0xffffffff, -0x81894009, +0x83894009, 0xffffffff, 0xffffffff, 0xffffffff, @@ -375,7 +377,7 @@ static const uint32_t fold_hash[992] = { 0xffffffff, 0xffffffff, 0xffffffff, -0x7267ffff, +0x7467ffff, 0xffffffff, 0xffffffff, 0x06645816, @@ -383,16 +385,16 @@ static const uint32_t fold_hash[992] = { 0xffffffff, 0x5e4dfc16, 0xffffffff, -0x87885c10, +0x89885c10, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0x83885c00, +0x85885c00, 0xffffffff, 0xffffffff, 0xffffffff, -0x7265ffff, +0x7465ffff, 0xffffffff, 0xffffffff, 0xffffffff, @@ -441,7 +443,7 @@ static const uint32_t fold_hash[992] = { 0xffffffff, 0xffffffff, 0xffffffff, -0x8a89fc11, +0x8c89fc11, 0xffffffff, 0xffffffff, 0xffffffff, @@ -456,7 +458,7 @@ static const uint32_t fold_hash[992] = { 0xffffffff, 0x43b36675, 0xffffffff, -0x684c9816, +0x6a4c9816, 0xffffffff, 0xffffffff, 0x48b2aa75, @@ -467,7 +469,7 @@ static const uint32_t fold_hash[992] = { 0xffffffff, 0xffffffff, 0x5c43fc16, -0x7d75401b, +0x7f75401b, 0x48b2a296, 0xffffffff, 0xffffffff, @@ -476,14 +478,14 @@ static const uint32_t fold_hash[992] = { 0xffffffff, 0xffffffff, 0x1cbf8816, -0x64428416, -0x8289fc08, +0x66428416, +0x8489fc08, 0x45b5641b, 0x0d58701c, 0x06585816, -0x80894008, +0x82894008, 0x1e505c1c, -0x79bffc1e, +0x7bbffc1e, 0x5b41fc16, 0xffffffff, 0xffffffff, @@ -493,18 +495,18 @@ static const uint32_t fold_hash[992] = { 0x4e5273ff, 0xffffffff, 0x5752a7ff, -0xffffffff, +0x64408416, 0xffffffff, 0xffffffff, 0x0d56701c, -0x87885c0f, +0x89885c0f, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0x6666cfff, +0x6866cfff, 0xffffffff, 0xffffffff, 0xffffffff, @@ -521,14 +523,14 @@ static const uint32_t fold_hash[992] = { 0xffffffff, 0xffffffff, 0xffffffff, -0x6a64cfff, +0x6c64cfff, 0xffffffff, 0xffffffff, 0x614e73ff, 0x355cbbff, 0xffffffff, 0xffffffff, -0x6f55ffff, +0x7155ffff, 0x045a6c16, 0x0c52701c, 0x06525816, @@ -555,14 +557,14 @@ static const uint32_t fold_hash[992] = { 0xffffffff, 0xffffffff, 0xffffffff, -0x8a89fc10, +0x8c89fc10, 0xffffffff, 0xffffffff, 0x614a73ff, 0x23b259d4, -0x8a89fc00, +0x8c89fc00, 0xffffffff, -0x6f51ffff, +0x7151ffff, 0x3d54b82e, 0xffffffff, 0x064e5816, @@ -577,7 +579,7 @@ static const uint32_t fold_hash[992] = { 0xffffffff, 0x604873ff, 0xffffffff, -0x7887fc00, +0x7a87fc00, 0x41b3668e, 0xffffffff, 0x5a52a028, @@ -585,23 +587,23 @@ static const uint32_t fold_hash[992] = { 0x064c5816, 0x48b2a295, 0x3751fc2e, -0x95c3ffff, +0x97c3ffff, 0xffffffff, 0x05106c1b, 0x31125c17, 0x1bbf8815, -0x8289fc07, +0x8489fc07, 0xffffffff, 0x604673ff, 0xffffffff, -0x7785fc00, +0x7985fc00, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0x064a5816, 0xffffffff, -0x95c1ffff, +0x97c1ffff, 0xffffffff, 0x24b25a71, 0x050e6c1b, @@ -611,14 +613,14 @@ static const uint32_t fold_hash[992] = { 0xffffffff, 0xffffffff, 0xffffffff, -0x7583fc00, -0x86885c0e, +0x7783fc00, +0x88885c0e, 0xffffffff, 0xffffffff, -0x76846400, +0x78846400, 0x06485816, 0xffffffff, -0x95bfffff, +0x97bfffff, 0xffffffff, 0x5255fc1c, 0x050c6c1b, @@ -627,19 +629,19 @@ static const uint32_t fold_hash[992] = { 0x1dbf880c, 0xffffffff, 0x3650bbff, -0x6964c816, +0x6b64c816, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0x90ad3c00, +0x92ad3c00, 0x06465816, -0x7c753fff, -0x68468c16, -0x95bdffff, +0x7e753fff, +0x6a468c16, +0x97bdffff, 0x5053fc1c, 0x050a6c1b, -0x89894811, +0x8b894811, 0x4ab2a66e, 0xffffffff, 0xffffffff, @@ -658,18 +660,18 @@ static const uint32_t fold_hash[992] = { 0x05086c1b, 0x43b36696, 0xffffffff, -0x6966cc1b, +0x6b66cc1b, 0xffffffff, 0xffffffff, 0x48b2aa96, 0xffffffff, 0xffffffff, -0x7345ffff, +0x7545ffff, 0xffffffff, 0x0c42701c, 0x06425816, -0x6450a016, -0x8a89fc0f, +0x6650a016, +0x8c89fc0f, 0xffffffff, 0xffffffff, 0x05066c1b, @@ -681,7 +683,7 @@ static const uint32_t fold_hash[992] = { 0xffffffff, 0xffffffff, 0xffffffff, -0x7243ffff, +0x7443ffff, 0xffffffff, 0x0c40701c, 0x06405816, @@ -691,20 +693,20 @@ static const uint32_t fold_hash[992] = { 0xffffffff, 0x05046c1b, 0xffffffff, -0x664287ff, +0x684287ff, 0xffffffff, -0x84893400, +0x86893400, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0x7241ffff, +0x7441ffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0x1bbf8814, -0x8289fc06, +0x8489fc06, 0x4ab2a2ae, 0x05026c1b, 0xffffffff, @@ -740,7 +742,7 @@ static const uint32_t fold_hash[992] = { 0xffffffff, 0x1dbf880b, 0xffffffff, -0x7f893c09, +0x81893c09, 0xffffffff, 0xffffffff, 0xffffffff, @@ -753,8 +755,8 @@ static const uint32_t fold_hash[992] = { 0xffffffff, 0x3853fc1b, 0xffffffff, -0x89894810, -0x8fafffff, +0x8b894810, +0x91afffff, 0xffffffff, 0x5d45fc1c, 0xffffffff, @@ -783,11 +785,11 @@ static const uint32_t fold_hash[992] = { 0xffffffff, 0xffffffff, 0x139a6416, -0x6542841c, -0x8a89fc0e, +0x6742841c, +0x8c89fc0e, 0xffffffff, 0xffffffff, -0x6c15fc28, +0x6e15fc28, 0x1aabffff, 0x31126bff, 0x5b41fc1c, @@ -800,10 +802,10 @@ static const uint32_t fold_hash[992] = { 0xffffffff, 0x62488016, 0x4e525bff, +0x6540841c, 0xffffffff, 0xffffffff, -0xffffffff, -0x95b00000, +0x97b00000, 0xffffffff, 0x19a9ffff, 0x31106bff, @@ -822,11 +824,11 @@ static const uint32_t fold_hash[992] = { 0xffffffff, 0xffffffff, 0xffffffff, -0x95a7ffff, +0x97a7ffff, 0xffffffff, 0xffffffff, 0xffffffff, -0x6454a816, +0x6654a816, 0xffffffff, 0xffffffff, 0xffffffff, @@ -835,7 +837,7 @@ static const uint32_t fold_hash[992] = { 0x614e5bff, 0x48b2a675, 0xffffffff, -0x6b65fc33, +0x6d65fc33, 0xffffffff, 0xffffffff, 0xffffffff, @@ -846,19 +848,19 @@ static const uint32_t fold_hash[992] = { 0xffffffff, 0xffffffff, 0xffffffff, -0x684a9416, +0x6a4a9416, 0x00666c1b, 0xffffffff, +0x64428016, 0x614c5bff, 0xffffffff, -0xffffffff, 0x1dbf880a, 0xffffffff, -0x7e893c08, +0x80893c08, 0xffffffff, -0x95a3ffff, +0x97a3ffff, 0x4ab4a41b, -0x6d15fc16, +0x6f15fc16, 0xffffffff, 0xffffffff, 0xffffffff, @@ -866,9 +868,9 @@ static const uint32_t fold_hash[992] = { 0xffffffff, 0x00646c1b, 0x5652a3ff, -0x64408016, +0x66408016, 0x614a5bff, -0x8989480f, +0x8b89480f, 0xffffffff, 0xffffffff, 0xffffffff, @@ -877,7 +879,7 @@ static const uint32_t fold_hash[992] = { 0xffffffff, 0xffffffff, 0xffffffff, -0x6a66cbff, +0x6c66cbff, 0xffffffff, 0xffffffff, 0xffffffff, @@ -890,12 +892,12 @@ static const uint32_t fold_hash[992] = { 0xffffffff, 0xffffffff, 0xffffffff, -0x959fffff, +0x979fffff, 0xffffffff, 0xffffffff, -0x74133417, +0x76133417, 0x25b25ab4, -0x6664cbff, +0x6864cbff, 0xffffffff, 0xffffffff, 0x00606c1b, @@ -907,10 +909,10 @@ static const uint32_t fold_hash[992] = { 0xffffffff, 0xffffffff, 0xffffffff, -0x959dffff, +0x979dffff, 0xffffffff, 0xffffffff, -0x74113417, +0x76113417, 0xffffffff, 0xffffffff, 0xffffffff, @@ -923,7 +925,7 @@ static const uint32_t fold_hash[992] = { 0xffffffff, 0xffffffff, 0xffffffff, -0x7d754017, +0x7f754017, 0xffffffff, 0xffffffff, 0xffffffff, @@ -932,8 +934,8 @@ static const uint32_t fold_hash[992] = { 0xffffffff, 0xffffffff, 0xffffffff, -0x6b67fc32, -0x8a89fc04, +0x6d67fc32, +0x8c89fc04, 0xffffffff, 0xffffffff, 0xffffffff, @@ -941,7 +943,7 @@ static const uint32_t fold_hash[992] = { 0xffffffff, 0x2eb65bff, 0xffffffff, -0x9499ffff, +0x9699ffff, 0x0b0bfc16, 0x345eb844, 0xffffffff, @@ -958,7 +960,7 @@ static const uint32_t fold_hash[992] = { 0xffffffff, 0xffffffff, 0xffffffff, -0x9397ffff, +0x9597ffff, 0xffffffff, 0xffffffff, 0xffffffff, @@ -974,14 +976,14 @@ static const uint32_t fold_hash[992] = { 0x2fb85c00, 0xffffffff, 0xffffffff, -0x6550a01c, -0x9295ffff, +0x6750a01c, +0x9495ffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0x8889480e, +0x8a89480e, 0xffffffff, 0x00566c1b, 0xffffffff, @@ -992,7 +994,7 @@ static const uint32_t fold_hash[992] = { 0xffffffff, 0xffffffff, 0xffffffff, -0x9193ffff, +0x9393ffff, 0xffffffff, 0xffffffff, 0xffffffff, @@ -1009,7 +1011,7 @@ static const uint32_t fold_hash[992] = { 0xffffffff, 0x25b25ab3, 0xffffffff, -0x9191ffff, +0x9391ffff, 0x29b26e6e, 0xffffffff, 0x4ab2a26e, @@ -1024,9 +1026,9 @@ static const uint32_t fold_hash[992] = { 0xffffffff, 0xffffffff, 0xffffffff, -0x7a7a5fff, -0x64448816, -0x8a8fffff, +0x7c7a5fff, +0x66448816, +0x8c8fffff, 0xffffffff, 0xffffffff, 0xffffffff, @@ -1041,26 +1043,26 @@ static const uint32_t fold_hash[992] = { 0xffffffff, 0xffffffff, 0xffffffff, -0x7a785fff, +0x7c785fff, 0xffffffff, -0x8c8dffff, +0x8e8dffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0x6964c81b, +0x6b64c81b, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, -0x9517ffff, +0x9717ffff, 0xffffffff, -0x684e9c16, +0x6a4e9c16, 0x0a145816, 0xffffffff, -0x8e8bffff, +0x908bffff, 0xffffffff, 0xffffffff, 0x46696401, @@ -1072,16 +1074,16 @@ static const uint32_t fold_hash[992] = { 0xffffffff, 0xffffffff, 0xffffffff, -0x6e15ffff, +0x7015ffff, 0xffffffff, 0x3112701c, 0x31125816, 0xffffffff, -0x8b89ffff, +0x8d89ffff, 0xffffffff, 0xffffffff, 0xffffffff, -0x664083ff, +0x684083ff, 0x103e7000, 0x4c6ffc16, 0xffffffff, @@ -1089,7 +1091,7 @@ static const uint32_t fold_hash[992] = { 0xffffffff, 0xffffffff, 0xffffffff, -0x7013ffff, +0x7213ffff, 0xffffffff, 0x3110701c, 0x48b2a276, @@ -1106,7 +1108,7 @@ static const uint32_t fold_hash[992] = { 0xffffffff, 0xffffffff, 0xffffffff, -0x7011ffff, +0x7211ffff, 0xffffffff, 0x110e701c, 0x0a0e5816, @@ -1123,7 +1125,7 @@ static const uint32_t fold_hash[992] = { 0xffffffff, 0xffffffff, 0x47b3fed3, -0x710fffff, +0x730fffff, 0xffffffff, 0x110c701c, 0x0a0c5816, @@ -1133,14 +1135,14 @@ static const uint32_t fold_hash[992] = { 0xffffffff, 0xffffffff, 0xffffffff, -0x6554a81c, -0x8d8a67ff, +0x6754a81c, +0x8f8a67ff, 0xffffffff, 0x3268d002, 0x5853fc29, 0xffffffff, 0xffffffff, -0x710dffff, +0x730dffff, 0xffffffff, 0x110a701c, 0x0a0a5816,