target datalayout = "e-m:e-p:64:64-i64:64-i128:128-n64-S128" target triple = "riscv64-unknown-unknown-eabi-elf" %iree_hal_executable_library_header_t = type { i32, i8*, i32, i32 } %iree_hal_executable_environment_v0_t = type { i32*, i32 (i32 (i8*)*, i8*)*, i32 (i8*)**, %iree_hal_processor_v0_t } %iree_hal_processor_v0_t = type { [8 x i64] } %iree_hal_executable_dispatch_state_v0_t = type { i32, i32, i16, i16, i32, i32, i16, i8, i8, i32*, i8**, i64* } %iree_hal_executable_workgroup_state_v0_t = type { i32, i32, i16, i16, i32, i8**, i32 } %iree_hal_executable_dispatch_attrs_v0_t = type { i16, i16 } %iree_hal_executable_library_v0_t = type { %iree_hal_executable_library_header_t*, %iree_hal_executable_import_table_v0_t, %iree_hal_executable_export_table_v0_t, %iree_hal_executable_constant_table_v0_t } %iree_hal_executable_import_table_v0_t = type { i32, i8** } %iree_hal_executable_export_table_v0_t = type { i32, i32 (%iree_hal_executable_environment_v0_t*, %iree_hal_executable_dispatch_state_v0_t*, %iree_hal_executable_workgroup_state_v0_t*)**, %iree_hal_executable_dispatch_attrs_v0_t*, i8**, i8** } %iree_hal_executable_constant_table_v0_t = type { i32 } %struct.powf_log2_data = type { [16 x %struct.anon], [5 x double] } %struct.anon = type { double, double } %struct.exp2f_data = type { [32 x i64], double, [3 x double], double, double, [3 x double] } %struct.fenv_t = type { i16, i16, i16, i16, i16, i16, i32, i16, i16, i32, i16, i16, i32 } @__constant_3x3x1x8xi8 = internal unnamed_addr constant [3 x [3 x [1 x [8 x i8]]]] [[3 x [1 x [8 x i8]]] [[1 x [8 x i8]] [[8 x i8] c"\B5y\9Cg\E0:W\A7"], [1 x [8 x i8]] [[8 x i8] c"\81X\81\7F_\E6\FE\B2"], [1 x [8 x i8]] [[8 x i8] c"\C5\DB\8A<\EC\C7\AF\A8"]], [3 x [1 x [8 x i8]]] [[1 x [8 x i8]] [[8 x i8] c"\F2\09\08/\DD\81{\B7"], [1 x [8 x i8]] [[8 x i8] c"\0A\0E$k\7F\A3\01\DD"], [1 x [8 x i8]] [[8 x i8] c"\10\04\8C&\E6N\81\81"]], [3 x [1 x [8 x i8]]] [[1 x [8 x i8]] [[8 x i8] c"9\81\04O\F1F(\C0"], [1 x [8 x i8]] [[8 x i8] c"j\9C>\B7.w\06\FA"], [1 x [8 x i8]] [[8 x i8] c"F\1DcL\F2\EC\D1\91"]]] @__constant_1x8xi32_0 = internal unnamed_addr constant [1 x [8 x i32]] [[8 x i32] [i32 3774, i32 -107, i32 -84394, i32 -13908, i32 20697, i32 -6, i32 11487, i32 -144486]] @__constant_1x8xi32 = internal unnamed_addr constant [1 x [8 x i32]] [[8 x i32] [i32 1498896102, i32 1219108912, i32 1113517783, i32 1195722970, i32 2114045353, i32 1712590404, i32 1662112322, i32 1592418367]] @__constant_1x8xi8 = internal unnamed_addr constant [1 x [8 x i8]] [[8 x i8] c"&%(('%&*"] @__constant_3x3x8xi8 = internal unnamed_addr constant [3 x [3 x [8 x i8]]] [[3 x [8 x i8]] [[8 x i8] c"\14\FD\8D.\0C\0C\FF\1A", [8 x i8] c"\0E\00\85\BE\FF\00\F9\F0", [8 x i8] c"\11\F9\81\90\F7\01\00\01"], [3 x [8 x i8]] [[8 x i8] c"\E0\F0\F2\9F\E1\E9\00\22", [8 x i8] c"\81\1B\0C\18\FE\CB\13^", [8 x i8] c"\D9\EBB>\0A\EC\00\7F"], [3 x [8 x i8]] [[8 x i8] c"$\F9\DF\CC\81\BC\01f", [8 x i8] c"\B4\7F\FE\81\1C\81\7Fc", [8 x i8] c"%;\C3\A5x\8F\01\03"]] @__constant_8xi32_0 = internal unnamed_addr constant [8 x i32] [i32 31132, i32 28, i32 273, i32 -2692, i32 7409, i32 15820, i32 731, i32 -62] @__constant_8xi32 = internal unnamed_addr constant [8 x i32] [i32 1177150208, i32 1699472640, i32 1254169216, i32 1596319360, i32 2014885504, i32 1456224384, i32 2026948736, i32 1372856576] @__constant_8xi8 = internal unnamed_addr constant [8 x i8] c"&&!'%'& " @__constant_8x16xi8 = internal unnamed_addr constant [8 x [16 x i8]] [[16 x i8] c"\FF\FF\7F \07\81\DF\7F\FC\01\81I\04\B4\05\0D", [16 x i8] c"\F9t\EB\EC\FAU\19>\81\0D\DBZ\F1\C8\D9\0A", [16 x i8] c"\F0\EF\F7\06*\0A\EC\EA\0B\0F\0C\15\01\07\D7\09", [16 x i8] c"\0F\FE\04\F4\EF\FA\FB\F8\00\01\FA\F1\07\02\F0\F1", [16 x i8] c"\05\F9\00\7F`\FC\1F\CE\FD\03\0A\FD\A2\AA\7F\F5", [16 x i8] c"\06\81\12Z\0A\BB\041\15\E6\0D`\0B\17#\EA", [16 x i8] c"\81\18\F5z\7F\0B\81M\F9\81\C9\81\81\7F\D8\7F", [16 x i8] c"\04\16\F7\F7\EE\FE\EF\11\F8\03\F8\FD\F9\02\1D\00"] @__constant_16xi32_0 = internal unnamed_addr constant [16 x i32] [i32 10064, i32 1130, i32 -13056, i32 -30284, i32 -23349, i32 16426, i32 6518, i32 -16943, i32 2903, i32 12878, i32 17943, i32 -4843, i32 18960, i32 8492, i32 -10287, i32 -9209] @__constant_16xi32 = internal unnamed_addr constant [16 x i32] [i32 1900315776, i32 1214850688, i32 1135764224, i32 1998708864, i32 1670415616, i32 1691426944, i32 1076244224, i32 1177915648, i32 1963186560, i32 1138365440, i32 1768151424, i32 1102156672, i32 1666597760, i32 1911190016, i32 1115203968, i32 1499147264] @__constant_16xi8 = internal unnamed_addr constant [16 x i8] c"%%$&%%%%%%%%%&%%" @__constant_3x3x16xi8 = internal unnamed_addr constant [3 x [3 x [16 x i8]]] [[3 x [16 x i8]] [[16 x i8] c"O*\DE!\A6\CC3%G\E7\16\E6\C7Y\B9\94", [16 x i8] c"\7F=\D7^\81\9FaPj\B5@\A7\A3\7F\A2\AC", [16 x i8] c"O\1A\DE2\BB\E6=7.\D27\88\CC:\DA\E7"], [3 x [16 x i8]] [[16 x i8] c"NR\BD0\A1\98=\7FS\DBS\B1\B7;\A0\C6", [16 x i8] c"i\7F\81\7F\83\81\7F\7F\7F\81\7F\81\81i\81\81", [16 x i8] c"8@\C8C\B5\E8V/=\D3K\A6\B8O\BB\C4"], [3 x [16 x i8]] [[16 x i8] c"\16 \D6\01\E1\E3\18c\1D\F3A\DF\EB\04\E9\18", [16 x i8] c"\1DL\A4#\C5\D1-X+\EBS\C8\C9\07\E0\FD", [16 x i8] c"\13&\EB$\F9\01\1C\12\12\00#\F0\E3\0E\F8\FC"]] @__constant_16xi32_0_0 = internal unnamed_addr constant [16 x i32] [i32 306, i32 -158, i32 19181, i32 -364, i32 6237, i32 12162, i32 208, i32 283, i32 377, i32 11389, i32 5570, i32 13940, i32 22042, i32 4514, i32 7532, i32 7721] @__constant_16xi32_1 = internal unnamed_addr constant [16 x i32] [i32 1926723968, i32 1667873536, i32 1354802048, i32 1100075136, i32 1605932800, i32 1319526272, i32 1390444544, i32 1472273152, i32 1381485824, i32 1223302400, i32 1646072064, i32 1362320000, i32 1983379328, i32 1927484416, i32 1829886080, i32 1989165696] @__constant_16xi8_0 = internal unnamed_addr constant [16 x i8] c"''&&&&&'&%'&''&&" @__constant_32xi32_0 = internal unnamed_addr constant [32 x i32] [i32 -7649, i32 12287, i32 -4433, i32 5851, i32 -188, i32 21526, i32 5940, i32 3285, i32 8950, i32 8397, i32 36831, i32 9572, i32 7555, i32 16979, i32 6630, i32 3487, i32 -8701, i32 9042, i32 16241, i32 6546, i32 -9808, i32 9120, i32 943, i32 -1744, i32 10283, i32 38908, i32 2508, i32 9401, i32 -18069, i32 22120, i32 11331, i32 -4146] @__constant_32xi32 = internal unnamed_addr constant [32 x i32] [i32 1583590912, i32 1103508224, i32 1720805888, i32 1756832768, i32 1367633408, i32 1753755776, i32 1468382336, i32 1891572992, i32 2067142656, i32 1867316608, i32 1927444480, i32 1415712256, i32 1746753664, i32 1401472000, i32 1350202880, i32 1575645568, i32 1828115840, i32 2104347264, i32 1216688896, i32 1728793984, i32 1482363392, i32 2128859776, i32 1622824448, i32 1848204800, i32 1482327296, i32 1226187904, i32 1514582016, i32 2009022336, i32 1304546560, i32 1294476544, i32 1143400960, i32 2025635840] @__constant_32xi8 = internal unnamed_addr constant [32 x i8] c"%&&&&(&&''(&&&%%&&''&(&&&(&&%&%'" @__constant_32xi32_0_0 = internal unnamed_addr constant [32 x i32] [i32 7297, i32 -498, i32 263, i32 -1975, i32 2260, i32 9619, i32 -6369, i32 7337, i32 15042, i32 7140, i32 1695, i32 -1993, i32 23440, i32 2135, i32 -1166, i32 32457, i32 1817, i32 -153, i32 -140, i32 -201, i32 12438, i32 -845, i32 23890, i32 818, i32 1243, i32 1343, i32 -348, i32 14017, i32 31, i32 6948, i32 12931, i32 -1527] @__constant_32xi32_1 = internal unnamed_addr constant [32 x i32] [i32 1111802752, i32 1323842688, i32 1926345728, i32 1360223360, i32 1751469056, i32 1658984448, i32 1203901312, i32 1971656320, i32 2004573952, i32 1166440448, i32 1491788288, i32 1847747968, i32 1511330176, i32 1804723712, i32 1161480832, i32 1131343360, i32 1924237952, i32 1171398016, i32 1503887488, i32 1677986688, i32 1514336000, i32 1611572096, i32 1744383744, i32 1780090368, i32 1671619712, i32 2017662208, i32 2084446976, i32 1764436864, i32 1400504832, i32 1883698688, i32 1775215104, i32 1544332928] @__constant_32xi8_0 = internal unnamed_addr constant [32 x i8] c"%%&%%$&&&$$&'%%'&&$$&$'&&$&'&&&%" @__constant_32xi32_0_1 = internal unnamed_addr constant [32 x i32] [i32 -4742, i32 -4160, i32 6985, i32 8647, i32 29773, i32 31270, i32 -15227, i32 -27327, i32 -3557, i32 13061, i32 -2613, i32 27725, i32 2225, i32 -11775, i32 1351, i32 15961, i32 -9965, i32 12130, i32 -12935, i32 -10362, i32 2713, i32 8575, i32 -3033, i32 -4926, i32 -3135, i32 -252, i32 -2801, i32 -4783, i32 10812, i32 -5908, i32 -15580, i32 12953] @__constant_32xi32_2 = internal unnamed_addr constant [32 x i32] [i32 1189646208, i32 1667376384, i32 1365331712, i32 1100195840, i32 1155155840, i32 1573868032, i32 2045789824, i32 1871129088, i32 1357632512, i32 2059222912, i32 1584695040, i32 1879276800, i32 1436911872, i32 1474054784, i32 1784748928, i32 2106973952, i32 1105522304, i32 1300257024, i32 1594045952, i32 1323901824, i32 1851724672, i32 1110995200, i32 2003362688, i32 1410738048, i32 1761704448, i32 1113673216, i32 1808172416, i32 1479707392, i32 1566660480, i32 2120084224, i32 1279658752, i32 2137578880] @__constant_32xi8_1 = internal unnamed_addr constant [32 x i8] c"&&&&''''&'&'&&''&&&&&&'&&%&&''&'" @__constant_32xi32_0_2 = internal unnamed_addr constant [32 x i32] [i32 28588, i32 363, i32 27592, i32 22294, i32 -4344, i32 27315, i32 1117, i32 -1041, i32 25959, i32 42090, i32 22193, i32 28523, i32 -1570, i32 -87, i32 -6217, i32 -28, i32 211, i32 37255, i32 17294, i32 -206, i32 17110, i32 -539, i32 42993, i32 259, i32 11215, i32 -220, i32 270, i32 7, i32 29944, i32 27740, i32 16336, i32 987] @__constant_32xi32_3 = internal unnamed_addr constant [32 x i32] [i32 1567885056, i32 1886225152, i32 1448446592, i32 1957093632, i32 1106343552, i32 1134328704, i32 1667572096, i32 1680816768, i32 1674841472, i32 1293126912, i32 1918205184, i32 1665854336, i32 1186600064, i32 1872571136, i32 1240464896, i32 1827411200, i32 1721113856, i32 1599144704, i32 1349692160, i32 1755397632, i32 1335237376, i32 1206531968, i32 1136361600, i32 1929194752, i32 1902129280, i32 2088058496, i32 1808539264, i32 1614711168, i32 1307455488, i32 1864911104, i32 1214448768, i32 1806266368] @__constant_32xi8_2 = internal unnamed_addr constant [32 x i8] c"''''%&''''''&&&'''&'&&''&'''&'&&" @__constant_64xi32_0 = internal unnamed_addr constant [64 x i32] [i32 12683, i32 36581, i32 6206, i32 1236, i32 15834, i32 -3683, i32 22110, i32 15586, i32 -8465, i32 13656, i32 5194, i32 -3937, i32 4110, i32 -9185, i32 2289, i32 12871, i32 17170, i32 7277, i32 -33468, i32 2966, i32 4563, i32 6931, i32 -22348, i32 7198, i32 -11733, i32 35659, i32 10016, i32 -51, i32 -12720, i32 14594, i32 12296, i32 -3695, i32 4705, i32 20649, i32 6696, i32 3402, i32 15200, i32 14087, i32 25365, i32 4012, i32 14270, i32 11773, i32 15386, i32 19208, i32 5893, i32 28682, i32 60638, i32 -4334, i32 -24408, i32 19293, i32 8034, i32 -473, i32 9099, i32 -315, i32 708, i32 27388, i32 22272, i32 17657, i32 25877, i32 3246, i32 27917, i32 5175, i32 14726, i32 24829] @__constant_64xi32 = internal unnamed_addr constant [64 x i32] [i32 1162759936, i32 1476251776, i32 1384416256, i32 1163590784, i32 1794186112, i32 2031233920, i32 1341621376, i32 1106334848, i32 1518619264, i32 1178995328, i32 1252121472, i32 1341739392, i32 1509553792, i32 1157711104, i32 1459283456, i32 1100552320, i32 1136406016, i32 1096534912, i32 1180555008, i32 1578896640, i32 1935997696, i32 1779093632, i32 1849442304, i32 1637381632, i32 1564519424, i32 1899608576, i32 1460514304, i32 1805428992, i32 1507642112, i32 1100101760, i32 1158778880, i32 1635492864, i32 1429153408, i32 1359616256, i32 2000631040, i32 1871582976, i32 1327573504, i32 1376264960, i32 2010547456, i32 1521815808, i32 1875763712, i32 1189772928, i32 1777778432, i32 1198359680, i32 1733746304, i32 1750104320, i32 1126823168, i32 2024334336, i32 1453898496, i32 1178636416, i32 1111891200, i32 1205818368, i32 1189193600, i32 1150177024, i32 1447660416, i32 1279800192, i32 1781710464, i32 1787215232, i32 1225662720, i32 1394669056, i32 1627890944, i32 2125770240, i32 1573841152, i32 1683850496] @__constant_64xi8 = internal unnamed_addr constant [64 x i8] c"&'&&''&&'&'&'&&%&&&'&''&&('&&&&&&''&'''''&'&&&''&%%&&%&&'&&&'&&'" @__constant_64xi32_0_0 = internal unnamed_addr constant [64 x i32] [i32 -6353, i32 9090, i32 -30, i32 -1019, i32 -496, i32 1483, i32 11580, i32 18583, i32 -1103, i32 -1011, i32 -313, i32 -1380, i32 -141, i32 -2979, i32 -1048, i32 -792, i32 6, i32 12392, i32 -888, i32 16264, i32 13615, i32 11049, i32 -201, i32 10226, i32 -3154, i32 -628, i32 5855, i32 16989, i32 -4985, i32 10674, i32 9085, i32 -1186, i32 -1231, i32 15633, i32 1385, i32 16853, i32 -203, i32 3274, i32 147, i32 91, i32 -5863, i32 -2112, i32 1809, i32 -507, i32 13372, i32 16200, i32 256, i32 19032, i32 -3357, i32 -2207, i32 -1, i32 -2830, i32 -42, i32 -4250, i32 15483, i32 11938, i32 4787, i32 8025, i32 13119, i32 -452, i32 5404, i32 13332, i32 9737, i32 8292] @__constant_64xi32_1 = internal unnamed_addr constant [64 x i32] [i32 1404491648, i32 1300084608, i32 2016585600, i32 2066625024, i32 1282926720, i32 1205372288, i32 1489758208, i32 1685496960, i32 1747640960, i32 1988099968, i32 1185973376, i32 1273358720, i32 1246374016, i32 2120965248, i32 1795156608, i32 1074803840, i32 1595688320, i32 1299501824, i32 1811238144, i32 1320118272, i32 1250065664, i32 1618000640, i32 1169645696, i32 1704622080, i32 1487955200, i32 1918024832, i32 1547869568, i32 1254453504, i32 1616770560, i32 1959918976, i32 1486785024, i32 1950649984, i32 1170014976, i32 1528371072, i32 1805084160, i32 1952684288, i32 1502702464, i32 1629490944, i32 1532638976, i32 1480299520, i32 1993680000, i32 1899767680, i32 1374995072, i32 1827974912, i32 2102769280, i32 1872007296, i32 1596480384, i32 1113717632, i32 1436290048, i32 1225293952, i32 2046049280, i32 1187724928, i32 1798527744, i32 1504754816, i32 1225192704, i32 1425136000, i32 1180889088, i32 1679582976, i32 1302092800, i32 1352307072, i32 1695297280, i32 1160393088, i32 1542753152, i32 1588755712] @__constant_64xi8_0 = internal unnamed_addr constant [64 x i8] c"&%&&%&&'%%$%%'&%&&&&&&$&&%%&&&&&&&&'%%&&&&%&''%&%%&%%&&&%&&&%&&%" @__constant_64xi32_0_1 = internal unnamed_addr constant [64 x i32] [i32 3895, i32 -6563, i32 -8843, i32 -2066, i32 -1372, i32 -2617, i32 3082, i32 5851, i32 2310, i32 7041, i32 10689, i32 6354, i32 -2352, i32 23699, i32 -17933, i32 10250, i32 -5651, i32 -13946, i32 10024, i32 1143, i32 -12166, i32 22701, i32 19228, i32 -25680, i32 -12619, i32 4860, i32 -706, i32 -2741, i32 -13394, i32 14787, i32 -11946, i32 6461, i32 6219, i32 310, i32 27334, i32 -20278, i32 2228, i32 19259, i32 -16695, i32 4820, i32 -2846, i32 -202, i32 -4144, i32 -13304, i32 -11353, i32 2204, i32 6915, i32 -23889, i32 4977, i32 31500, i32 1010, i32 131, i32 10526, i32 1036, i32 22930, i32 -11225, i32 3120, i32 -1030, i32 -13801, i32 -11374, i32 4460, i32 -55, i32 120, i32 17231] @__constant_64xi32_2 = internal unnamed_addr constant [64 x i32] [i32 1441026560, i32 2100635392, i32 1185817984, i32 1380125952, i32 1895845504, i32 1554189184, i32 1969578496, i32 1825086592, i32 1190108160, i32 1083815296, i32 2135113472, i32 1890115072, i32 1081416832, i32 1335763328, i32 1415292672, i32 1202237952, i32 1084226560, i32 1212019328, i32 1412277888, i32 1274267392, i32 2012731904, i32 1793810688, i32 1965769856, i32 2019762688, i32 1443191296, i32 1315005184, i32 1306109312, i32 1892435456, i32 1209781248, i32 1842686080, i32 1086265600, i32 1855932416, i32 1623464448, i32 1823849472, i32 1717073280, i32 1580998144, i32 1815864704, i32 1262893952, i32 1448533376, i32 1170628992, i32 1096389376, i32 1965058816, i32 1550894848, i32 2003484416, i32 2054162432, i32 1881956992, i32 1574271616, i32 1315921536, i32 1659270144, i32 2106220416, i32 1945115520, i32 1190257152, i32 1700756352, i32 1192062336, i32 1968331776, i32 1825744256, i32 1744488448, i32 1970200064, i32 1930645120, i32 1862702080, i32 2136026112, i32 1103119104, i32 1243939200, i32 1231911424] @__constant_64xi8_1 = internal unnamed_addr constant [64 x i8] c"''&&''''&&''&'&'&''&''''''&'&'&''''''''&&''''''''('&(''''''''&''" @__constant_64xi32_0_2 = internal unnamed_addr constant [64 x i32] [i32 20437, i32 -365, i32 -2518, i32 20827, i32 -904, i32 286, i32 -445, i32 -39, i32 15403, i32 12716, i32 164, i32 22339, i32 16607, i32 22249, i32 -6062, i32 5187, i32 22472, i32 1801, i32 22831, i32 16340, i32 -353, i32 -2756, i32 -4053, i32 -1108, i32 -5518, i32 26091, i32 23, i32 -61, i32 298, i32 3883, i32 21375, i32 323, i32 -4529, i32 17958, i32 9752, i32 529, i32 15543, i32 13546, i32 -309, i32 27680, i32 -134, i32 -2085, i32 22467, i32 -34, i32 -698, i32 16596, i32 22719, i32 98, i32 -2219, i32 26087, i32 -7157, i32 54, i32 2197, i32 22093, i32 -2804, i32 -84, i32 -1192, i32 -1812, i32 -3965, i32 -7775, i32 -1981, i32 -6, i32 532, i32 4511] @__constant_64xi32_3 = internal unnamed_addr constant [64 x i32] [i32 1213726848, i32 1144714112, i32 1920691456, i32 2085747072, i32 1583372032, i32 1626983424, i32 1357986432, i32 2105484416, i32 2076883072, i32 1491604224, i32 2071775616, i32 1134728320, i32 1149422848, i32 2147063296, i32 2112540032, i32 2039802112, i32 1983871104, i32 1316539520, i32 2041168640, i32 1200888832, i32 1913675520, i32 1095457408, i32 1535459840, i32 1842500224, i32 1321930112, i32 2009893120, i32 1248251904, i32 2140549376, i32 2134263808, i32 1256418816, i32 1900799616, i32 1081885952, i32 1917364608, i32 2019359872, i32 2073872768, i32 1446605312, i32 1252594816, i32 1283162240, i32 1701264640, i32 1747541120, i32 2026878720, i32 1411711360, i32 1374558720, i32 1238821248, i32 1906503936, i32 1235571456, i32 1781898496, i32 1271917696, i32 2074736512, i32 1166099328, i32 1508525440, i32 1285229952, i32 1720502272, i32 1622076672, i32 1953967744, i32 1101905536, i32 1824200704, i32 1100077824, i32 1659808640, i32 1676574208, i32 1587529728, i32 1193086976, i32 1140955776, i32 1828286592] @__constant_64xi8_2 = internal unnamed_addr constant [64 x i8] c"&&''''&''&'&&''&'%'&'&&'&'&''&'&''&&&&'''&&&'&'&'&'&&&'&&&'''&&&" @__constant_128xi8 = internal unnamed_addr constant [128 x i8] c"''&''&''&''&'(''''''''&&&''''&'''''''(''&'''&'''''&''''''''''''''''&''''''''''''''''''''''''''&'''''&&'''''''''''''''''('''&&'''" @__constant_128xi8_0 = internal unnamed_addr constant [128 x i8] c"&&&%&'&%&&%%%$&&%%&%%%%&&&&%&%&&&&&%&&&&&%&&&&&%%&&%&&&&&%&&%&%%&&%&&%&%&&%%&&&&%%%&&&%%&$%&&&&&%%&%&&%&&&&&&%%%&%&%&%&%&&&&%%%&" @__constant_128xi8_1 = internal unnamed_addr constant [128 x i8] c"''''''''''&''''''''''''''''''''''''''''''''''''''''''''''''''(''''''''''''''''''''''''('''''''''''&'''''''''''''&'('''''''''''''" @__constant_128xi8_2 = internal unnamed_addr constant [128 x i8] c"&%&&&%%&&&&%&&&&%&%&%&&&&&&&&&%%&&'&&&&&&%&&&&&%&&&&&&&&&%&&%&&&&%&&%&&&&&&&&&&%&&%&&&&%&&%&%&&&%&&&&&&&&&&&&%&&&%&&&&%&&%&%&&&&" @__constant_128xi8_3 = internal unnamed_addr constant [128 x i8] c"''''''''''''''''''''''''''''''''''''''''''''''''(('(''''''''''''''''''''''''''''''''''(''''''''''''''''('''''''''''''(''''''''''" @__constant_128xi8_4 = internal unnamed_addr constant [128 x i8] c"&&&&%&&&&&&&&&%&&&&'&&%%%&&%&%%&&&&&&&&%&&&%&&&&%%&%&&&&&&%%&%&&&%&&%'%&&&&%&&&&&&%&&&&&&&&&&'%&&%&&%&&&&&&&&&&&&&&&&&%&%'&&&&&&" @__constant_128xi8_5 = internal unnamed_addr constant [128 x i8] c"'''''''''''''''(''('''''(&''&'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''&'''(''''&'''(''''" @__constant_128xi8_6 = internal unnamed_addr constant [128 x i8] c"&&&&&&&&&&&%&%%&%&&&%&'&%&&&&%&'%%&%&&%&&&%%%&&&%&&&%&&&&'&'&&%&&&&&%&&%&'&&&&&&&&%&'&%%&%&&&&%&%&&&&&'&&&%%%%&&&&&&&&&&'&%&%&&&" @__constant_128xi8_7 = internal unnamed_addr constant [128 x i8] c"''''''(('''''''''''''''''''''''('('''''''''(''''''''''''''''(('''''''&(('('''((''''''''(''''''''''''('('''''''''''''''''''''''''" @__constant_128xi8_8 = internal unnamed_addr constant [128 x i8] c"&&%&&&&%&%%&%%&&&&&'&&'&&&%%%%'&&&&&&&%&&%%&&&&&&&&&&&&%&%&&&&%&%&&&&&&&&&&&%&%&&&&'&&&%&&%&&%%%%&&&&&'&&%&%&%&&&&&&&&%&&&&&%%%%" @__constant_128xi8_9 = internal unnamed_addr constant [128 x i8] c"'''''(''''''''''''('''''''''(''''''('(''''''''''''''''''''''''''''''''('''''((''&'''''('''''''('('('''''('''''''''''''''''''''''" @__constant_128xi8_10 = internal unnamed_addr constant [128 x i8] c"&&%&%&&&&%&&&&&&%&&&&&&&&&&&&&&&&&&&&'&%&%%&&&&%&&&&&&&&&&&&&&&&&&&&&%&&&&&&'&&&&&&&&&&&%&'&%&&%&&&&%%%&&&%&&%&&&&&&%&&&&&&%'&%%" @__constant_256xi8 = internal unnamed_addr constant [256 x i8] c"'((('(''(''((''''(''''((''''('('''(('((''''((((('''('('''(('('('''''(''('''('''&'('(((''('''''''((''''((''(('('(''((''''''((((((('('(''('(('('('''''(''('(''''''''((('''('''(('('('''''((('(''(('(''('''''''('(''('(''(''''''''''(('(('''''(('''((''(''''''(('''" @__constant_256xi8_0 = internal unnamed_addr constant [256 x i8] c"%&%&&%&%&%&&&&%%&&%%%%%%%&&%%&&&&&%%%&%%%%&&&&%%&&&&&%%&&&%&&%%%%%&%%%&%&&%&&%%&%&%&&%%&%&&&%%%%%%&&%%&%&%&&%%&&&%&&%%%&%%&&%%%%%&&%%%&&&&&%%%%&%%%%%%%&%%&%%&&%&&&&%&%&&%$&%%&%%&%%%%&&&$%%&%%&&&&&&%%%%%&&%&%%%%&&&%%%%&%&%%%%&%&&%%%%&%%&%&%&%&&&%%%%%%%&&%&&" @__constant_256xi8_1 = internal unnamed_addr constant [256 x i8] c"((()())(((()())(())())()()(())(((())()()(((())))((())')(())(((())()))(())())(())')))())()(()(()(((())))(()))((())()(()()())(())(((((()()(())())(((((()()))(()())))(()))))(()()))''(()))(((()))(()(())())))((((())(((()())(((()(())))))()))((())((()()((()()(((((" @__constant_2xi32_0 = internal unnamed_addr constant [2 x i32] [i32 16267, i32 -17079] @__constant_2xi32 = internal unnamed_addr constant [2 x i32] [i32 1196100044, i32 1139971180] @0 = internal constant [26 x i8] c"person_detect_linked_llvm\00", align 1 @iree_hal_executable_library_query_v0_header = internal constant %iree_hal_executable_library_header_t { i32 2, i8* getelementptr inbounds ([26 x i8], [26 x i8]* @0, i32 0, i32 0), i32 0, i32 0 } @iree_hal_executable_library_query_v0_funcs = internal constant [63 x i32 (%iree_hal_executable_environment_v0_t*, %iree_hal_executable_dispatch_state_v0_t*, %iree_hal_executable_workgroup_state_v0_t*)*] [i32 (%iree_hal_executable_environment_v0_t*, %iree_hal_executable_dispatch_state_v0_t*, %iree_hal_executable_workgroup_state_v0_t*)* @main_dispatch_0, i32 (%iree_hal_executable_environment_v0_t*, %iree_hal_executable_dispatch_state_v0_t*, %iree_hal_executable_workgroup_state_v0_t*)* @main_dispatch_1, i32 (%iree_hal_executable_environment_v0_t*, %iree_hal_executable_dispatch_state_v0_t*, %iree_hal_executable_workgroup_state_v0_t*)* @main_dispatch_2, i32 (%iree_hal_executable_environment_v0_t*, %iree_hal_executable_dispatch_state_v0_t*, %iree_hal_executable_workgroup_state_v0_t*)* @main_dispatch_3, i32 (%iree_hal_executable_environment_v0_t*, %iree_hal_executable_dispatch_state_v0_t*, %iree_hal_executable_workgroup_state_v0_t*)* @main_dispatch_4, i32 (%iree_hal_executable_environment_v0_t*, %iree_hal_executable_dispatch_state_v0_t*, %iree_hal_executable_workgroup_state_v0_t*)* @main_dispatch_5, i32 (%iree_hal_executable_environment_v0_t*, %iree_hal_executable_dispatch_state_v0_t*, %iree_hal_executable_workgroup_state_v0_t*)* @main_dispatch_6, i32 (%iree_hal_executable_environment_v0_t*, %iree_hal_executable_dispatch_state_v0_t*, %iree_hal_executable_workgroup_state_v0_t*)* @main_dispatch_7, i32 (%iree_hal_executable_environment_v0_t*, %iree_hal_executable_dispatch_state_v0_t*, %iree_hal_executable_workgroup_state_v0_t*)* @main_dispatch_8, i32 (%iree_hal_executable_environment_v0_t*, %iree_hal_executable_dispatch_state_v0_t*, %iree_hal_executable_workgroup_state_v0_t*)* @main_dispatch_9, i32 (%iree_hal_executable_environment_v0_t*, %iree_hal_executable_dispatch_state_v0_t*, %iree_hal_executable_workgroup_state_v0_t*)* @main_dispatch_10, i32 (%iree_hal_executable_environment_v0_t*, %iree_hal_executable_dispatch_state_v0_t*, %iree_hal_executable_workgroup_state_v0_t*)* @main_dispatch_11, i32 (%iree_hal_executable_environment_v0_t*, %iree_hal_executable_dispatch_state_v0_t*, %iree_hal_executable_workgroup_state_v0_t*)* @main_dispatch_12, i32 (%iree_hal_executable_environment_v0_t*, %iree_hal_executable_dispatch_state_v0_t*, %iree_hal_executable_workgroup_state_v0_t*)* @main_dispatch_13, i32 (%iree_hal_executable_environment_v0_t*, %iree_hal_executable_dispatch_state_v0_t*, %iree_hal_executable_workgroup_state_v0_t*)* @main_dispatch_14, i32 (%iree_hal_executable_environment_v0_t*, %iree_hal_executable_dispatch_state_v0_t*, %iree_hal_executable_workgroup_state_v0_t*)* @main_dispatch_15, i32 (%iree_hal_executable_environment_v0_t*, %iree_hal_executable_dispatch_state_v0_t*, %iree_hal_executable_workgroup_state_v0_t*)* @main_dispatch_16, i32 (%iree_hal_executable_environment_v0_t*, %iree_hal_executable_dispatch_state_v0_t*, %iree_hal_executable_workgroup_state_v0_t*)* @main_dispatch_17, i32 (%iree_hal_executable_environment_v0_t*, %iree_hal_executable_dispatch_state_v0_t*, %iree_hal_executable_workgroup_state_v0_t*)* @main_dispatch_18, i32 (%iree_hal_executable_environment_v0_t*, %iree_hal_executable_dispatch_state_v0_t*, %iree_hal_executable_workgroup_state_v0_t*)* @main_dispatch_19, i32 (%iree_hal_executable_environment_v0_t*, %iree_hal_executable_dispatch_state_v0_t*, %iree_hal_executable_workgroup_state_v0_t*)* @main_dispatch_20, i32 (%iree_hal_executable_environment_v0_t*, %iree_hal_executable_dispatch_state_v0_t*, %iree_hal_executable_workgroup_state_v0_t*)* @main_dispatch_21, i32 (%iree_hal_executable_environment_v0_t*, %iree_hal_executable_dispatch_state_v0_t*, %iree_hal_executable_workgroup_state_v0_t*)* @main_dispatch_22, i32 (%iree_hal_executable_environment_v0_t*, %iree_hal_executable_dispatch_state_v0_t*, %iree_hal_executable_workgroup_state_v0_t*)* @main_dispatch_23, i32 (%iree_hal_executable_environment_v0_t*, %iree_hal_executable_dispatch_state_v0_t*, %iree_hal_executable_workgroup_state_v0_t*)* @main_dispatch_24, i32 (%iree_hal_executable_environment_v0_t*, %iree_hal_executable_dispatch_state_v0_t*, %iree_hal_executable_workgroup_state_v0_t*)* @main_dispatch_25, i32 (%iree_hal_executable_environment_v0_t*, %iree_hal_executable_dispatch_state_v0_t*, %iree_hal_executable_workgroup_state_v0_t*)* @main_dispatch_26, i32 (%iree_hal_executable_environment_v0_t*, %iree_hal_executable_dispatch_state_v0_t*, %iree_hal_executable_workgroup_state_v0_t*)* @main_dispatch_27, i32 (%iree_hal_executable_environment_v0_t*, %iree_hal_executable_dispatch_state_v0_t*, %iree_hal_executable_workgroup_state_v0_t*)* @main_dispatch_28, i32 (%iree_hal_executable_environment_v0_t*, %iree_hal_executable_dispatch_state_v0_t*, %iree_hal_executable_workgroup_state_v0_t*)* @main_dispatch_29, i32 (%iree_hal_executable_environment_v0_t*, %iree_hal_executable_dispatch_state_v0_t*, %iree_hal_executable_workgroup_state_v0_t*)* @main_dispatch_30, i32 (%iree_hal_executable_environment_v0_t*, %iree_hal_executable_dispatch_state_v0_t*, %iree_hal_executable_workgroup_state_v0_t*)* @main_dispatch_31, i32 (%iree_hal_executable_environment_v0_t*, %iree_hal_executable_dispatch_state_v0_t*, %iree_hal_executable_workgroup_state_v0_t*)* @main_dispatch_32, i32 (%iree_hal_executable_environment_v0_t*, %iree_hal_executable_dispatch_state_v0_t*, %iree_hal_executable_workgroup_state_v0_t*)* @main_dispatch_33, i32 (%iree_hal_executable_environment_v0_t*, %iree_hal_executable_dispatch_state_v0_t*, %iree_hal_executable_workgroup_state_v0_t*)* @main_dispatch_34, i32 (%iree_hal_executable_environment_v0_t*, %iree_hal_executable_dispatch_state_v0_t*, %iree_hal_executable_workgroup_state_v0_t*)* @main_dispatch_35, i32 (%iree_hal_executable_environment_v0_t*, %iree_hal_executable_dispatch_state_v0_t*, %iree_hal_executable_workgroup_state_v0_t*)* @main_dispatch_36, i32 (%iree_hal_executable_environment_v0_t*, %iree_hal_executable_dispatch_state_v0_t*, %iree_hal_executable_workgroup_state_v0_t*)* @main_dispatch_37, i32 (%iree_hal_executable_environment_v0_t*, %iree_hal_executable_dispatch_state_v0_t*, %iree_hal_executable_workgroup_state_v0_t*)* @main_dispatch_40, i32 (%iree_hal_executable_environment_v0_t*, %iree_hal_executable_dispatch_state_v0_t*, %iree_hal_executable_workgroup_state_v0_t*)* @main_dispatch_42, i32 (%iree_hal_executable_environment_v0_t*, %iree_hal_executable_dispatch_state_v0_t*, %iree_hal_executable_workgroup_state_v0_t*)* @main_dispatch_45, i32 (%iree_hal_executable_environment_v0_t*, %iree_hal_executable_dispatch_state_v0_t*, %iree_hal_executable_workgroup_state_v0_t*)* @main_dispatch_47, i32 (%iree_hal_executable_environment_v0_t*, %iree_hal_executable_dispatch_state_v0_t*, %iree_hal_executable_workgroup_state_v0_t*)* @main_dispatch_50, i32 (%iree_hal_executable_environment_v0_t*, %iree_hal_executable_dispatch_state_v0_t*, %iree_hal_executable_workgroup_state_v0_t*)* @main_dispatch_52, i32 (%iree_hal_executable_environment_v0_t*, %iree_hal_executable_dispatch_state_v0_t*, %iree_hal_executable_workgroup_state_v0_t*)* @main_dispatch_55, i32 (%iree_hal_executable_environment_v0_t*, %iree_hal_executable_dispatch_state_v0_t*, %iree_hal_executable_workgroup_state_v0_t*)* @main_dispatch_57, i32 (%iree_hal_executable_environment_v0_t*, %iree_hal_executable_dispatch_state_v0_t*, %iree_hal_executable_workgroup_state_v0_t*)* @main_dispatch_58, i32 (%iree_hal_executable_environment_v0_t*, %iree_hal_executable_dispatch_state_v0_t*, %iree_hal_executable_workgroup_state_v0_t*)* @main_dispatch_59, i32 (%iree_hal_executable_environment_v0_t*, %iree_hal_executable_dispatch_state_v0_t*, %iree_hal_executable_workgroup_state_v0_t*)* @main_dispatch_60, i32 (%iree_hal_executable_environment_v0_t*, %iree_hal_executable_dispatch_state_v0_t*, %iree_hal_executable_workgroup_state_v0_t*)* @main_dispatch_61, i32 (%iree_hal_executable_environment_v0_t*, %iree_hal_executable_dispatch_state_v0_t*, %iree_hal_executable_workgroup_state_v0_t*)* @main_dispatch_62, i32 (%iree_hal_executable_environment_v0_t*, %iree_hal_executable_dispatch_state_v0_t*, %iree_hal_executable_workgroup_state_v0_t*)* @main_dispatch_63, i32 (%iree_hal_executable_environment_v0_t*, %iree_hal_executable_dispatch_state_v0_t*, %iree_hal_executable_workgroup_state_v0_t*)* @main_dispatch_64, i32 (%iree_hal_executable_environment_v0_t*, %iree_hal_executable_dispatch_state_v0_t*, %iree_hal_executable_workgroup_state_v0_t*)* @main_dispatch_65, i32 (%iree_hal_executable_environment_v0_t*, %iree_hal_executable_dispatch_state_v0_t*, %iree_hal_executable_workgroup_state_v0_t*)* @main_dispatch_66, i32 (%iree_hal_executable_environment_v0_t*, %iree_hal_executable_dispatch_state_v0_t*, %iree_hal_executable_workgroup_state_v0_t*)* @main_dispatch_67, i32 (%iree_hal_executable_environment_v0_t*, %iree_hal_executable_dispatch_state_v0_t*, %iree_hal_executable_workgroup_state_v0_t*)* @main_dispatch_68, i32 (%iree_hal_executable_environment_v0_t*, %iree_hal_executable_dispatch_state_v0_t*, %iree_hal_executable_workgroup_state_v0_t*)* @main_dispatch_69, i32 (%iree_hal_executable_environment_v0_t*, %iree_hal_executable_dispatch_state_v0_t*, %iree_hal_executable_workgroup_state_v0_t*)* @main_dispatch_70, i32 (%iree_hal_executable_environment_v0_t*, %iree_hal_executable_dispatch_state_v0_t*, %iree_hal_executable_workgroup_state_v0_t*)* @main_dispatch_71, i32 (%iree_hal_executable_environment_v0_t*, %iree_hal_executable_dispatch_state_v0_t*, %iree_hal_executable_workgroup_state_v0_t*)* @main_dispatch_72, i32 (%iree_hal_executable_environment_v0_t*, %iree_hal_executable_dispatch_state_v0_t*, %iree_hal_executable_workgroup_state_v0_t*)* @main_dispatch_73, i32 (%iree_hal_executable_environment_v0_t*, %iree_hal_executable_dispatch_state_v0_t*, %iree_hal_executable_workgroup_state_v0_t*)* @main_dispatch_74] @iree_hal_executable_library_query_v0_attrs = internal constant [63 x %iree_hal_executable_dispatch_attrs_v0_t] zeroinitializer @1 = internal constant [16 x i8] c"main_dispatch_0\00", align 1 @2 = internal constant [16 x i8] c"main_dispatch_1\00", align 1 @3 = internal constant [16 x i8] c"main_dispatch_2\00", align 1 @4 = internal constant [16 x i8] c"main_dispatch_3\00", align 1 @5 = internal constant [16 x i8] c"main_dispatch_4\00", align 1 @6 = internal constant [16 x i8] c"main_dispatch_5\00", align 1 @7 = internal constant [16 x i8] c"main_dispatch_6\00", align 1 @8 = internal constant [16 x i8] c"main_dispatch_7\00", align 1 @9 = internal constant [16 x i8] c"main_dispatch_8\00", align 1 @10 = internal constant [16 x i8] c"main_dispatch_9\00", align 1 @11 = internal constant [17 x i8] c"main_dispatch_10\00", align 1 @12 = internal constant [17 x i8] c"main_dispatch_11\00", align 1 @13 = internal constant [17 x i8] c"main_dispatch_12\00", align 1 @14 = internal constant [17 x i8] c"main_dispatch_13\00", align 1 @15 = internal constant [17 x i8] c"main_dispatch_14\00", align 1 @16 = internal constant [17 x i8] c"main_dispatch_15\00", align 1 @17 = internal constant [17 x i8] c"main_dispatch_16\00", align 1 @18 = internal constant [17 x i8] c"main_dispatch_17\00", align 1 @19 = internal constant [17 x i8] c"main_dispatch_18\00", align 1 @20 = internal constant [17 x i8] c"main_dispatch_19\00", align 1 @21 = internal constant [17 x i8] c"main_dispatch_20\00", align 1 @22 = internal constant [17 x i8] c"main_dispatch_21\00", align 1 @23 = internal constant [17 x i8] c"main_dispatch_22\00", align 1 @24 = internal constant [17 x i8] c"main_dispatch_23\00", align 1 @25 = internal constant [17 x i8] c"main_dispatch_24\00", align 1 @26 = internal constant [17 x i8] c"main_dispatch_25\00", align 1 @27 = internal constant [17 x i8] c"main_dispatch_26\00", align 1 @28 = internal constant [17 x i8] c"main_dispatch_27\00", align 1 @29 = internal constant [17 x i8] c"main_dispatch_28\00", align 1 @30 = internal constant [17 x i8] c"main_dispatch_29\00", align 1 @31 = internal constant [17 x i8] c"main_dispatch_30\00", align 1 @32 = internal constant [17 x i8] c"main_dispatch_31\00", align 1 @33 = internal constant [17 x i8] c"main_dispatch_32\00", align 1 @34 = internal constant [17 x i8] c"main_dispatch_33\00", align 1 @35 = internal constant [17 x i8] c"main_dispatch_34\00", align 1 @36 = internal constant [17 x i8] c"main_dispatch_35\00", align 1 @37 = internal constant [17 x i8] c"main_dispatch_36\00", align 1 @38 = internal constant [17 x i8] c"main_dispatch_37\00", align 1 @39 = internal constant [17 x i8] c"main_dispatch_40\00", align 1 @40 = internal constant [17 x i8] c"main_dispatch_42\00", align 1 @41 = internal constant [17 x i8] c"main_dispatch_45\00", align 1 @42 = internal constant [17 x i8] c"main_dispatch_47\00", align 1 @43 = internal constant [17 x i8] c"main_dispatch_50\00", align 1 @44 = internal constant [17 x i8] c"main_dispatch_52\00", align 1 @45 = internal constant [17 x i8] c"main_dispatch_55\00", align 1 @46 = internal constant [17 x i8] c"main_dispatch_57\00", align 1 @47 = internal constant [17 x i8] c"main_dispatch_58\00", align 1 @48 = internal constant [17 x i8] c"main_dispatch_59\00", align 1 @49 = internal constant [17 x i8] c"main_dispatch_60\00", align 1 @50 = internal constant [17 x i8] c"main_dispatch_61\00", align 1 @51 = internal constant [17 x i8] c"main_dispatch_62\00", align 1 @52 = internal constant [17 x i8] c"main_dispatch_63\00", align 1 @53 = internal constant [17 x i8] c"main_dispatch_64\00", align 1 @54 = internal constant [17 x i8] c"main_dispatch_65\00", align 1 @55 = internal constant [17 x i8] c"main_dispatch_66\00", align 1 @56 = internal constant [17 x i8] c"main_dispatch_67\00", align 1 @57 = internal constant [17 x i8] c"main_dispatch_68\00", align 1 @58 = internal constant [17 x i8] c"main_dispatch_69\00", align 1 @59 = internal constant [17 x i8] c"main_dispatch_70\00", align 1 @60 = internal constant [17 x i8] c"main_dispatch_71\00", align 1 @61 = internal constant [17 x i8] c"main_dispatch_72\00", align 1 @62 = internal constant [17 x i8] c"main_dispatch_73\00", align 1 @63 = internal constant [17 x i8] c"main_dispatch_74\00", align 1 @iree_hal_executable_library_query_v0_names = internal constant [63 x i8*] [i8* getelementptr inbounds ([16 x i8], [16 x i8]* @1, i32 0, i32 0), i8* getelementptr inbounds ([16 x i8], [16 x i8]* @2, i32 0, i32 0), i8* getelementptr inbounds ([16 x i8], [16 x i8]* @3, i32 0, i32 0), i8* getelementptr inbounds ([16 x i8], [16 x i8]* @4, i32 0, i32 0), i8* getelementptr inbounds ([16 x i8], [16 x i8]* @5, i32 0, i32 0), i8* getelementptr inbounds ([16 x i8], [16 x i8]* @6, i32 0, i32 0), i8* getelementptr inbounds ([16 x i8], [16 x i8]* @7, i32 0, i32 0), i8* getelementptr inbounds ([16 x i8], [16 x i8]* @8, i32 0, i32 0), i8* getelementptr inbounds ([16 x i8], [16 x i8]* @9, i32 0, i32 0), i8* getelementptr inbounds ([16 x i8], [16 x i8]* @10, i32 0, i32 0), i8* getelementptr inbounds ([17 x i8], [17 x i8]* @11, i32 0, i32 0), i8* getelementptr inbounds ([17 x i8], [17 x i8]* @12, i32 0, i32 0), i8* getelementptr inbounds ([17 x i8], [17 x i8]* @13, i32 0, i32 0), i8* getelementptr inbounds ([17 x i8], [17 x i8]* @14, i32 0, i32 0), i8* getelementptr inbounds ([17 x i8], [17 x i8]* @15, i32 0, i32 0), i8* getelementptr inbounds ([17 x i8], [17 x i8]* @16, i32 0, i32 0), i8* getelementptr inbounds ([17 x i8], [17 x i8]* @17, i32 0, i32 0), i8* getelementptr inbounds ([17 x i8], [17 x i8]* @18, i32 0, i32 0), i8* getelementptr inbounds ([17 x i8], [17 x i8]* @19, i32 0, i32 0), i8* getelementptr inbounds ([17 x i8], [17 x i8]* @20, i32 0, i32 0), i8* getelementptr inbounds ([17 x i8], [17 x i8]* @21, i32 0, i32 0), i8* getelementptr inbounds ([17 x i8], [17 x i8]* @22, i32 0, i32 0), i8* getelementptr inbounds ([17 x i8], [17 x i8]* @23, i32 0, i32 0), i8* getelementptr inbounds ([17 x i8], [17 x i8]* @24, i32 0, i32 0), i8* getelementptr inbounds ([17 x i8], [17 x i8]* @25, i32 0, i32 0), i8* getelementptr inbounds ([17 x i8], [17 x i8]* @26, i32 0, i32 0), i8* getelementptr inbounds ([17 x i8], [17 x i8]* @27, i32 0, i32 0), i8* getelementptr inbounds ([17 x i8], [17 x i8]* @28, i32 0, i32 0), i8* getelementptr inbounds ([17 x i8], [17 x i8]* @29, i32 0, i32 0), i8* getelementptr inbounds ([17 x i8], [17 x i8]* @30, i32 0, i32 0), i8* getelementptr inbounds ([17 x i8], [17 x i8]* @31, i32 0, i32 0), i8* getelementptr inbounds ([17 x i8], [17 x i8]* @32, i32 0, i32 0), i8* getelementptr inbounds ([17 x i8], [17 x i8]* @33, i32 0, i32 0), i8* getelementptr inbounds ([17 x i8], [17 x i8]* @34, i32 0, i32 0), i8* getelementptr inbounds ([17 x i8], [17 x i8]* @35, i32 0, i32 0), i8* getelementptr inbounds ([17 x i8], [17 x i8]* @36, i32 0, i32 0), i8* getelementptr inbounds ([17 x i8], [17 x i8]* @37, i32 0, i32 0), i8* getelementptr inbounds ([17 x i8], [17 x i8]* @38, i32 0, i32 0), i8* getelementptr inbounds ([17 x i8], [17 x i8]* @39, i32 0, i32 0), i8* getelementptr inbounds ([17 x i8], [17 x i8]* @40, i32 0, i32 0), i8* getelementptr inbounds ([17 x i8], [17 x i8]* @41, i32 0, i32 0), i8* getelementptr inbounds ([17 x i8], [17 x i8]* @42, i32 0, i32 0), i8* getelementptr inbounds ([17 x i8], [17 x i8]* @43, i32 0, i32 0), i8* getelementptr inbounds ([17 x i8], [17 x i8]* @44, i32 0, i32 0), i8* getelementptr inbounds ([17 x i8], [17 x i8]* @45, i32 0, i32 0), i8* getelementptr inbounds ([17 x i8], [17 x i8]* @46, i32 0, i32 0), i8* getelementptr inbounds ([17 x i8], [17 x i8]* @47, i32 0, i32 0), i8* getelementptr inbounds ([17 x i8], [17 x i8]* @48, i32 0, i32 0), i8* getelementptr inbounds ([17 x i8], [17 x i8]* @49, i32 0, i32 0), i8* getelementptr inbounds ([17 x i8], [17 x i8]* @50, i32 0, i32 0), i8* getelementptr inbounds ([17 x i8], [17 x i8]* @51, i32 0, i32 0), i8* getelementptr inbounds ([17 x i8], [17 x i8]* @52, i32 0, i32 0), i8* getelementptr inbounds ([17 x i8], [17 x i8]* @53, i32 0, i32 0), i8* getelementptr inbounds ([17 x i8], [17 x i8]* @54, i32 0, i32 0), i8* getelementptr inbounds ([17 x i8], [17 x i8]* @55, i32 0, i32 0), i8* getelementptr inbounds ([17 x i8], [17 x i8]* @56, i32 0, i32 0), i8* getelementptr inbounds ([17 x i8], [17 x i8]* @57, i32 0, i32 0), i8* getelementptr inbounds ([17 x i8], [17 x i8]* @58, i32 0, i32 0), i8* getelementptr inbounds ([17 x i8], [17 x i8]* @59, i32 0, i32 0), i8* getelementptr inbounds ([17 x i8], [17 x i8]* @60, i32 0, i32 0), i8* getelementptr inbounds ([17 x i8], [17 x i8]* @61, i32 0, i32 0), i8* getelementptr inbounds ([17 x i8], [17 x i8]* @62, i32 0, i32 0), i8* getelementptr inbounds ([17 x i8], [17 x i8]* @63, i32 0, i32 0)] @64 = internal constant [1 x i8] zeroinitializer, align 1 @65 = internal constant [1 x i8] zeroinitializer, align 1 @66 = internal constant [1 x i8] zeroinitializer, align 1 @67 = internal constant [1 x i8] zeroinitializer, align 1 @68 = internal constant [1 x i8] zeroinitializer, align 1 @69 = internal constant [1 x i8] zeroinitializer, align 1 @70 = internal constant [1 x i8] zeroinitializer, align 1 @71 = internal constant [1 x i8] zeroinitializer, align 1 @72 = internal constant [1 x i8] zeroinitializer, align 1 @73 = internal constant [1 x i8] zeroinitializer, align 1 @74 = internal constant [1 x i8] zeroinitializer, align 1 @75 = internal constant [1 x i8] zeroinitializer, align 1 @76 = internal constant [1 x i8] zeroinitializer, align 1 @77 = internal constant [1 x i8] zeroinitializer, align 1 @78 = internal constant [1 x i8] zeroinitializer, align 1 @79 = internal constant [1 x i8] zeroinitializer, align 1 @80 = internal constant [1 x i8] zeroinitializer, align 1 @81 = internal constant [1 x i8] zeroinitializer, align 1 @82 = internal constant [1 x i8] zeroinitializer, align 1 @83 = internal constant [1 x i8] zeroinitializer, align 1 @84 = internal constant [1 x i8] zeroinitializer, align 1 @85 = internal constant [1 x i8] zeroinitializer, align 1 @86 = internal constant [1 x i8] zeroinitializer, align 1 @87 = internal constant [1 x i8] zeroinitializer, align 1 @88 = internal constant [1 x i8] zeroinitializer, align 1 @89 = internal constant [1 x i8] zeroinitializer, align 1 @90 = internal constant [1 x i8] zeroinitializer, align 1 @91 = internal constant [1 x i8] zeroinitializer, align 1 @92 = internal constant [1 x i8] zeroinitializer, align 1 @93 = internal constant [1 x i8] zeroinitializer, align 1 @94 = internal constant [1 x i8] zeroinitializer, align 1 @95 = internal constant [1 x i8] zeroinitializer, align 1 @96 = internal constant [1 x i8] zeroinitializer, align 1 @97 = internal constant [1 x i8] zeroinitializer, align 1 @98 = internal constant [1 x i8] zeroinitializer, align 1 @99 = internal constant [1 x i8] zeroinitializer, align 1 @100 = internal constant [1 x i8] zeroinitializer, align 1 @101 = internal constant [1 x i8] zeroinitializer, align 1 @102 = internal constant [1 x i8] zeroinitializer, align 1 @103 = internal constant [1 x i8] zeroinitializer, align 1 @104 = internal constant [1 x i8] zeroinitializer, align 1 @105 = internal constant [1 x i8] zeroinitializer, align 1 @106 = internal constant [1 x i8] zeroinitializer, align 1 @107 = internal constant [1 x i8] zeroinitializer, align 1 @108 = internal constant [1 x i8] zeroinitializer, align 1 @109 = internal constant [1 x i8] zeroinitializer, align 1 @110 = internal constant [1 x i8] zeroinitializer, align 1 @111 = internal constant [1 x i8] zeroinitializer, align 1 @112 = internal constant [1 x i8] zeroinitializer, align 1 @113 = internal constant [1 x i8] zeroinitializer, align 1 @114 = internal constant [1 x i8] zeroinitializer, align 1 @115 = internal constant [1 x i8] zeroinitializer, align 1 @116 = internal constant [1 x i8] zeroinitializer, align 1 @117 = internal constant [1 x i8] zeroinitializer, align 1 @118 = internal constant [1 x i8] zeroinitializer, align 1 @119 = internal constant [1 x i8] zeroinitializer, align 1 @120 = internal constant [1 x i8] zeroinitializer, align 1 @121 = internal constant [1 x i8] zeroinitializer, align 1 @122 = internal constant [1 x i8] zeroinitializer, align 1 @123 = internal constant [1 x i8] zeroinitializer, align 1 @124 = internal constant [1 x i8] zeroinitializer, align 1 @125 = internal constant [1 x i8] zeroinitializer, align 1 @126 = internal constant [1 x i8] zeroinitializer, align 1 @iree_hal_executable_library_query_v0_tags = internal constant [63 x i8*] [i8* getelementptr inbounds ([1 x i8], [1 x i8]* @64, i32 0, i32 0), i8* getelementptr inbounds ([1 x i8], [1 x i8]* @65, i32 0, i32 0), i8* getelementptr inbounds ([1 x i8], [1 x i8]* @66, i32 0, i32 0), i8* getelementptr inbounds ([1 x i8], [1 x i8]* @67, i32 0, i32 0), i8* getelementptr inbounds ([1 x i8], [1 x i8]* @68, i32 0, i32 0), i8* getelementptr inbounds ([1 x i8], [1 x i8]* @69, i32 0, i32 0), i8* getelementptr inbounds ([1 x i8], [1 x i8]* @70, i32 0, i32 0), i8* getelementptr inbounds ([1 x i8], [1 x i8]* @71, i32 0, i32 0), i8* getelementptr inbounds ([1 x i8], [1 x i8]* @72, i32 0, i32 0), i8* getelementptr inbounds ([1 x i8], [1 x i8]* @73, i32 0, i32 0), i8* getelementptr inbounds ([1 x i8], [1 x i8]* @74, i32 0, i32 0), i8* getelementptr inbounds ([1 x i8], [1 x i8]* @75, i32 0, i32 0), i8* getelementptr inbounds ([1 x i8], [1 x i8]* @76, i32 0, i32 0), i8* getelementptr inbounds ([1 x i8], [1 x i8]* @77, i32 0, i32 0), i8* getelementptr inbounds ([1 x i8], [1 x i8]* @78, i32 0, i32 0), i8* getelementptr inbounds ([1 x i8], [1 x i8]* @79, i32 0, i32 0), i8* getelementptr inbounds ([1 x i8], [1 x i8]* @80, i32 0, i32 0), i8* getelementptr inbounds ([1 x i8], [1 x i8]* @81, i32 0, i32 0), i8* getelementptr inbounds ([1 x i8], [1 x i8]* @82, i32 0, i32 0), i8* getelementptr inbounds ([1 x i8], [1 x i8]* @83, i32 0, i32 0), i8* getelementptr inbounds ([1 x i8], [1 x i8]* @84, i32 0, i32 0), i8* getelementptr inbounds ([1 x i8], [1 x i8]* @85, i32 0, i32 0), i8* getelementptr inbounds ([1 x i8], [1 x i8]* @86, i32 0, i32 0), i8* getelementptr inbounds ([1 x i8], [1 x i8]* @87, i32 0, i32 0), i8* getelementptr inbounds ([1 x i8], [1 x i8]* @88, i32 0, i32 0), i8* getelementptr inbounds ([1 x i8], [1 x i8]* @89, i32 0, i32 0), i8* getelementptr inbounds ([1 x i8], [1 x i8]* @90, i32 0, i32 0), i8* getelementptr inbounds ([1 x i8], [1 x i8]* @91, i32 0, i32 0), i8* getelementptr inbounds ([1 x i8], [1 x i8]* @92, i32 0, i32 0), i8* getelementptr inbounds ([1 x i8], [1 x i8]* @93, i32 0, i32 0), i8* getelementptr inbounds ([1 x i8], [1 x i8]* @94, i32 0, i32 0), i8* getelementptr inbounds ([1 x i8], [1 x i8]* @95, i32 0, i32 0), i8* getelementptr inbounds ([1 x i8], [1 x i8]* @96, i32 0, i32 0), i8* getelementptr inbounds ([1 x i8], [1 x i8]* @97, i32 0, i32 0), i8* getelementptr inbounds ([1 x i8], [1 x i8]* @98, i32 0, i32 0), i8* getelementptr inbounds ([1 x i8], [1 x i8]* @99, i32 0, i32 0), i8* getelementptr inbounds ([1 x i8], [1 x i8]* @100, i32 0, i32 0), i8* getelementptr inbounds ([1 x i8], [1 x i8]* @101, i32 0, i32 0), i8* getelementptr inbounds ([1 x i8], [1 x i8]* @102, i32 0, i32 0), i8* getelementptr inbounds ([1 x i8], [1 x i8]* @103, i32 0, i32 0), i8* getelementptr inbounds ([1 x i8], [1 x i8]* @104, i32 0, i32 0), i8* getelementptr inbounds ([1 x i8], [1 x i8]* @105, i32 0, i32 0), i8* getelementptr inbounds ([1 x i8], [1 x i8]* @106, i32 0, i32 0), i8* getelementptr inbounds ([1 x i8], [1 x i8]* @107, i32 0, i32 0), i8* getelementptr inbounds ([1 x i8], [1 x i8]* @108, i32 0, i32 0), i8* getelementptr inbounds ([1 x i8], [1 x i8]* @109, i32 0, i32 0), i8* getelementptr inbounds ([1 x i8], [1 x i8]* @110, i32 0, i32 0), i8* getelementptr inbounds ([1 x i8], [1 x i8]* @111, i32 0, i32 0), i8* getelementptr inbounds ([1 x i8], [1 x i8]* @112, i32 0, i32 0), i8* getelementptr inbounds ([1 x i8], [1 x i8]* @113, i32 0, i32 0), i8* getelementptr inbounds ([1 x i8], [1 x i8]* @114, i32 0, i32 0), i8* getelementptr inbounds ([1 x i8], [1 x i8]* @115, i32 0, i32 0), i8* getelementptr inbounds ([1 x i8], [1 x i8]* @116, i32 0, i32 0), i8* getelementptr inbounds ([1 x i8], [1 x i8]* @117, i32 0, i32 0), i8* getelementptr inbounds ([1 x i8], [1 x i8]* @118, i32 0, i32 0), i8* getelementptr inbounds ([1 x i8], [1 x i8]* @119, i32 0, i32 0), i8* getelementptr inbounds ([1 x i8], [1 x i8]* @120, i32 0, i32 0), i8* getelementptr inbounds ([1 x i8], [1 x i8]* @121, i32 0, i32 0), i8* getelementptr inbounds ([1 x i8], [1 x i8]* @122, i32 0, i32 0), i8* getelementptr inbounds ([1 x i8], [1 x i8]* @123, i32 0, i32 0), i8* getelementptr inbounds ([1 x i8], [1 x i8]* @124, i32 0, i32 0), i8* getelementptr inbounds ([1 x i8], [1 x i8]* @125, i32 0, i32 0), i8* getelementptr inbounds ([1 x i8], [1 x i8]* @126, i32 0, i32 0)] @iree_hal_executable_library_query_v0 = internal constant %iree_hal_executable_library_v0_t { %iree_hal_executable_library_header_t* @iree_hal_executable_library_query_v0_header, %iree_hal_executable_import_table_v0_t zeroinitializer, %iree_hal_executable_export_table_v0_t { i32 63, i32 (%iree_hal_executable_environment_v0_t*, %iree_hal_executable_dispatch_state_v0_t*, %iree_hal_executable_workgroup_state_v0_t*)** getelementptr inbounds ([63 x i32 (%iree_hal_executable_environment_v0_t*, %iree_hal_executable_dispatch_state_v0_t*, %iree_hal_executable_workgroup_state_v0_t*)*], [63 x i32 (%iree_hal_executable_environment_v0_t*, %iree_hal_executable_dispatch_state_v0_t*, %iree_hal_executable_workgroup_state_v0_t*)*]* @iree_hal_executable_library_query_v0_funcs, i32 0, i32 0), %iree_hal_executable_dispatch_attrs_v0_t* getelementptr inbounds ([63 x %iree_hal_executable_dispatch_attrs_v0_t], [63 x %iree_hal_executable_dispatch_attrs_v0_t]* @iree_hal_executable_library_query_v0_attrs, i32 0, i32 0), i8** getelementptr inbounds ([63 x i8*], [63 x i8*]* @iree_hal_executable_library_query_v0_names, i32 0, i32 0), i8** getelementptr inbounds ([63 x i8*], [63 x i8*]* @iree_hal_executable_library_query_v0_tags, i32 0, i32 0) }, %iree_hal_executable_constant_table_v0_t zeroinitializer } @__powf_log2_data = internal local_unnamed_addr constant %struct.powf_log2_data { [16 x %struct.anon] [%struct.anon { double 0x3FF661EC79F8F3BE, double 0xBFDEFEC65B963019 }, %struct.anon { double 0x3FF571ED4AAF883D, double 0xBFDB0B6832D4FCA4 }, %struct.anon { double 0x3FF49539F0F010B0, double 0xBFD7418B0A1FB77B }, %struct.anon { double 0x3FF3C995B0B80385, double 0xBFD39DE91A6DCF7B }, %struct.anon { double 0x3FF30D190C8864A5, double 0xBFD01D9BF3F2B631 }, %struct.anon { double 0x3FF25E227B0B8EA0, double 0xBFC97C1D1B3B7AF0 }, %struct.anon { double 0x3FF1BB4A4A1A343F, double 0xBFC2F9E393AF3C9F }, %struct.anon { double 0x3FF12358F08AE5BA, double 0xBFB960CBBF788D5C }, %struct.anon { double 0x3FF0953F419900A7, double 0xBFAA6F9DB6475FCE }, %struct.anon { double 1.000000e+00, double 0.000000e+00 }, %struct.anon { double 0x3FEE608CFD9A47AC, double 0x3FB338CA9F24F53D }, %struct.anon { double 0x3FECA4B31F026AA0, double 0x3FC476A9543891BA }, %struct.anon { double 0x3FEB2036576AFCE6, double 0x3FCE840B4AC4E4D2 }, %struct.anon { double 0x3FE9C2D163A1AA2D, double 0x3FD40645F0C6651C }, %struct.anon { double 0x3FE886E6037841ED, double 0x3FD88E9C2C1B9FF8 }, %struct.anon { double 0x3FE767DCF5534862, double 0x3FDCE0A44EB17BCC }], [5 x double] [double 0x3FD27616C9496E0B, double 0xBFD71969A075C67A, double 0x3FDEC70A6CA7BADD, double 0xBFE7154748BEF6C8, double 0x3FF71547652AB82B] }, align 8 @__exp2f_data = internal local_unnamed_addr constant %struct.exp2f_data { [32 x i64] [i64 4607182418800017408, i64 4607140297302181236, i64 4607100335213349135, i64 4607062579818421073, i64 4607027079437701499, i64 4606993883449571754, i64 4606963042313658936, i64 4606934607594512097, i64 4606908631985796885, i64 4606885169335019979, i64 4606864274668794914, i64 4606846004218661165, i64 4606830415447468583, i64 4606817567076339586, i64 4606807519112221737, i64 4606800332876043653, i64 4606796071031487437, i64 4606794797614391156, i64 4606796578062795143, i64 4606801479247646227, i64 4606809569504174299, i64 4606820918663955941, i64 4606835598087680144, i64 4606853680698631517, i64 4606875241016906669, i64 4606900355194379847, i64 4606929101050434204, i64 4606961558108475497, i64 4606997807633245319, i64 4607037932668951391, i64 4607082018078232794, i64 4607130150581978432], double 0x42E8000000000000, [3 x double] [double 0x3FAC6AF84B912394, double 0x3FCEBFCE50FAC4F3, double 0x3FE62E42FF0C52D6], double 0x4338000000000000, double 0x40471547652B82FE, [3 x double] [double 0x3EBC6AF84B912394, double 0x3F2EBFCE50FAC4F3, double 0x3F962E42FF0C52D6] }, align 8 ; Function Attrs: nofree nosync nounwind define internal i32 @main_dispatch_0(%iree_hal_executable_environment_v0_t* noalias nocapture nonnull readnone byref(%iree_hal_executable_environment_v0_t) align 16 %0, %iree_hal_executable_dispatch_state_v0_t* noalias nocapture nonnull readonly byref(%iree_hal_executable_dispatch_state_v0_t) align 16 %1, %iree_hal_executable_workgroup_state_v0_t* noalias nocapture nonnull readonly byref(%iree_hal_executable_workgroup_state_v0_t) align 16 %2) #0 !dbg !4 { %const = bitcast i64 3072 to i64, !dbg !8 %.elt19 = getelementptr inbounds %iree_hal_executable_dispatch_state_v0_t, %iree_hal_executable_dispatch_state_v0_t* %1, i64 0, i32 10, !dbg !8 %.unpack20 = load i8**, i8*** %.elt19, align 16, !dbg !8 %4 = load i8*, i8** %.unpack20, align 8, !dbg !8 %5 = getelementptr i8*, i8** %.unpack20, i64 1, !dbg !8 %6 = load i8*, i8** %5, align 8, !dbg !8 %7 = load %iree_hal_executable_workgroup_state_v0_t, %iree_hal_executable_workgroup_state_v0_t* %2, align 16, !dbg !8 %8 = extractvalue %iree_hal_executable_workgroup_state_v0_t %7, 0, !dbg !8 %9 = zext i32 %8 to i64, !dbg !8 %10 = extractvalue %iree_hal_executable_workgroup_state_v0_t %7, 1, !dbg !8 %11 = zext i32 %10 to i64, !dbg !8 %12 = shl nuw nsw i64 %9, 5, !dbg !8 %13 = mul nuw nsw i64 %11, %const, !dbg !8 %const_mat = add i64 %const, 32, !dbg !8 %14 = mul nuw nsw i64 %11, %const_mat, !dbg !8 %15 = or i64 %12, 16 %16 = add nuw nsw i64 %15, %13 %17 = add nuw nsw i64 %15, %14 %scevgep = getelementptr i8, i8* %6, i64 %17, !dbg !8 %scevgep27 = getelementptr i8, i8* %4, i64 %16, !dbg !8 br label %.preheader, !dbg !8 .preheader: ; preds = %3, %.preheader %lsr.iv28 = phi i8* [ %scevgep27, %3 ], [ %scevgep29, %.preheader ] %lsr.iv23 = phi i8* [ %scevgep, %3 ], [ %scevgep24, %.preheader ] %lsr.iv = phi i64 [ 32, %3 ], [ %lsr.iv.next, %.preheader ] %lsr.iv2325 = bitcast i8* %lsr.iv23 to <16 x i8>* %lsr.iv2830 = bitcast i8* %lsr.iv28 to <16 x i8>* %scevgep31 = getelementptr <16 x i8>, <16 x i8>* %lsr.iv2830, i64 -1, !dbg !8 %18 = load <16 x i8>, <16 x i8>* %scevgep31, align 32, !dbg !8 %scevgep26 = getelementptr <16 x i8>, <16 x i8>* %lsr.iv2325, i64 -1, !dbg !8 store <16 x i8> %18, <16 x i8>* %scevgep26, align 1, !dbg !8 %19 = load <16 x i8>, <16 x i8>* %lsr.iv2830, align 16, !dbg !8 store <16 x i8> %19, <16 x i8>* %lsr.iv2325, align 1, !dbg !8 %lsr.iv.next = add nsw i64 %lsr.iv, -1, !dbg !8 %scevgep24 = getelementptr i8, i8* %lsr.iv23, i64 97, !dbg !8 %scevgep29 = getelementptr i8, i8* %lsr.iv28, i64 96, !dbg !8 %exitcond.not = icmp eq i64 %lsr.iv.next, 0, !dbg !8 br i1 %exitcond.not, label %20, label %.preheader, !dbg !8 20: ; preds = %.preheader ret i32 0, !dbg !8 } ; Function Attrs: nofree nosync nounwind define internal i32 @main_dispatch_1(%iree_hal_executable_environment_v0_t* noalias nocapture nonnull readnone byref(%iree_hal_executable_environment_v0_t) align 16 %0, %iree_hal_executable_dispatch_state_v0_t* noalias nocapture nonnull readonly byref(%iree_hal_executable_dispatch_state_v0_t) align 16 %1, %iree_hal_executable_workgroup_state_v0_t* noalias nocapture nonnull readonly byref(%iree_hal_executable_workgroup_state_v0_t) align 16 %2) #0 !dbg !12 { %.elt11 = getelementptr inbounds %iree_hal_executable_dispatch_state_v0_t, %iree_hal_executable_dispatch_state_v0_t* %1, i64 0, i32 4, !dbg !13 %.unpack12 = load i32, i32* %.elt11, align 4, !dbg !13 %4 = zext i32 %.unpack12 to i64, !dbg !13 %.elt13 = getelementptr inbounds %iree_hal_executable_dispatch_state_v0_t, %iree_hal_executable_dispatch_state_v0_t* %1, i64 0, i32 5, !dbg !13 %.unpack14 = load i32, i32* %.elt13, align 16, !dbg !13 %5 = zext i32 %.unpack14 to i64, !dbg !13 %.elt15 = getelementptr inbounds %iree_hal_executable_dispatch_state_v0_t, %iree_hal_executable_dispatch_state_v0_t* %1, i64 0, i32 6, !dbg !13 %.unpack16 = load i16, i16* %.elt15, align 4, !dbg !13 %.elt23 = getelementptr inbounds %iree_hal_executable_dispatch_state_v0_t, %iree_hal_executable_dispatch_state_v0_t* %1, i64 0, i32 10, !dbg !13 %.unpack24 = load i8**, i8*** %.elt23, align 16, !dbg !13 %6 = load i8*, i8** %.unpack24, align 8, !dbg !13 %7 = getelementptr i8*, i8** %.unpack24, i64 1, !dbg !13 %8 = load i8*, i8** %7, align 8, !dbg !13 %9 = load %iree_hal_executable_workgroup_state_v0_t, %iree_hal_executable_workgroup_state_v0_t* %2, align 16, !dbg !13 %10 = extractvalue %iree_hal_executable_workgroup_state_v0_t %9, 2, !dbg !13 %11 = zext i16 %10 to i64, !dbg !13 %12 = zext i16 %.unpack16 to i64, !dbg !13 %13 = shl nuw nsw i64 %11, 4, !dbg !13 %14 = shl nuw nsw i64 %12, 4, !dbg !13 %15 = icmp ult i16 %10, 3, !dbg !13 br i1 %15, label %.lr.ph, label %._crit_edge, !dbg !13 .lr.ph: ; preds = %3 %16 = extractvalue %iree_hal_executable_workgroup_state_v0_t %9, 1, !dbg !13 %17 = zext i32 %16 to i64, !dbg !13 %18 = extractvalue %iree_hal_executable_workgroup_state_v0_t %9, 0, !dbg !13 %19 = zext i32 %18 to i64, !dbg !13 %20 = shl nuw nsw i64 %17, 4 %21 = shl nuw nsw i64 %5, 4 %22 = icmp ult i32 %16, 3 %23 = shl i64 %19, 3 %24 = shl nuw nsw i64 %4, 3 br i1 %22, label %.lr.ph.split.us, label %.lr.ph.split.preheader, !dbg !13 .lr.ph.split.preheader: ; preds = %.lr.ph br label %.lr.ph.split, !dbg !13 .lr.ph.split.us: ; preds = %.lr.ph %25 = icmp eq i32 %18, 0 br i1 %25, label %.lr.ph34.us.us.preheader, label %.lr.ph34.us.preheader, !dbg !13 .lr.ph34.us.preheader: ; preds = %.lr.ph.split.us br label %.lr.ph34.us, !dbg !13 .lr.ph34.us.us.preheader: ; preds = %.lr.ph.split.us %const = bitcast i64 9472 to i64, !dbg !13 %26 = mul nuw nsw i64 %11, 6144, !dbg !13 %27 = shl nuw nsw i64 %17, 7, !dbg !13 %28 = add i64 %26, %27, !dbg !13 %29 = add i64 %28, %23, !dbg !13 %30 = shl nuw nsw i64 %29, 2, !dbg !13 %31 = add nuw nsw i64 %30, %const, !dbg !13 %scevgep = getelementptr i8, i8* %8, i64 %31, !dbg !13 %32 = mul nuw nsw i64 %12, 24576, !dbg !13 %33 = shl nuw nsw i64 %5, 9, !dbg !13 %34 = shl nuw nsw i64 %4, 5, !dbg !13 %35 = mul nuw nsw i64 %11, 24576, !dbg !13 %36 = shl nuw nsw i64 %17, 9, !dbg !13 %37 = add i64 %35, %36, !dbg !13 %38 = shl nuw nsw i64 %19, 5, !dbg !13 %39 = add i64 %37, %38, !dbg !13 %const_mat = add i64 %const, 16, !dbg !13 %40 = add i64 %39, %const_mat, !dbg !13 %scevgep67 = getelementptr i8, i8* %8, i64 %40, !dbg !13 br label %.lr.ph34.us.us, !dbg !13 .lr.ph34.us.us: ; preds = %.lr.ph34.us.us.preheader, %._crit_edge35.split.us.us.us %lsr.iv68 = phi i8* [ %scevgep67, %.lr.ph34.us.us.preheader ], [ %162, %._crit_edge35.split.us.us.us ] %lsr.iv54 = phi i8* [ %scevgep, %.lr.ph34.us.us.preheader ], [ %161, %._crit_edge35.split.us.us.us ] %41 = phi i64 [ %160, %._crit_edge35.split.us.us.us ], [ %13, %.lr.ph34.us.us.preheader ] %42 = mul i64 %41, 194 br label %.lr.ph.us.us.us, !dbg !13 .lr.ph.us.us.us: ; preds = %._crit_edge.us.us.us, %.lr.ph34.us.us %lsr.iv71 = phi i8* [ %156, %._crit_edge.us.us.us ], [ %lsr.iv68, %.lr.ph34.us.us ] %lsr.iv57 = phi i8* [ %155, %._crit_edge.us.us.us ], [ %lsr.iv54, %.lr.ph34.us.us ] %43 = phi i64 [ %20, %.lr.ph34.us.us ], [ %154, %._crit_edge.us.us.us ] br label %44, !dbg !13 44: ; preds = %46, %.lr.ph.us.us.us %lsr.iv74 = phi i8* [ %51, %46 ], [ %lsr.iv71, %.lr.ph.us.us.us ] %lsr.iv60 = phi i8* [ %50, %46 ], [ %lsr.iv57, %.lr.ph.us.us.us ] %45 = phi i64 [ %23, %.lr.ph.us.us.us ], [ %49, %46 ] br label %.preheader31.us.us.us, !dbg !13 46: ; preds = %53 %47 = bitcast i8* %lsr.iv74 to i1*, !dbg !13 %48 = bitcast i8* %lsr.iv60 to i1*, !dbg !13 %49 = add i64 %45, %24, !dbg !13 %scevgep62 = getelementptr i1, i1* %48, i64 %34, !dbg !13 %50 = bitcast i1* %scevgep62 to i8*, !dbg !13 %scevgep76 = getelementptr i1, i1* %47, i64 %34, !dbg !13 %51 = bitcast i1* %scevgep76 to i8*, !dbg !13 %52 = icmp slt i64 %49, 8, !dbg !13 br i1 %52, label %44, label %._crit_edge.us.us.us, !dbg !13 53: ; preds = %55 %54 = add nuw nsw i64 %144, 1, !dbg !13 %scevgep102 = getelementptr i8, i8* %lsr.iv101, i64 1536, !dbg !13 %exitcond45.not = icmp eq i64 %54, 16, !dbg !13 br i1 %exitcond45.not, label %46, label %.preheader30.us.us.us, !dbg !13 55: ; preds = %.preheader27.us.us.us %56 = add nuw nsw i64 %124, 1, !dbg !13 %scevgep104 = getelementptr i8, i8* %lsr.iv103, i64 32, !dbg !13 %exitcond44.not = icmp eq i64 %56, 16, !dbg !13 br i1 %exitcond44.not, label %53, label %.preheader28.us.us.us, !dbg !13 57: ; preds = %.preheader29.us.us.us %58 = add nuw nsw i64 %151, 1, !dbg !13 %scevgep64 = getelementptr i8, i8* %lsr.iv63, i64 1536, !dbg !13 %scevgep78 = getelementptr i8, i8* %lsr.iv77, i64 1536, !dbg !13 %exitcond40.not = icmp eq i64 %58, 16, !dbg !13 br i1 %exitcond40.not, label %.preheader30.us.us.us.preheader, label %.preheader31.us.us.us, !dbg !13 .preheader30.us.us.us.preheader: ; preds = %57 br label %.preheader30.us.us.us, !dbg !13 .preheader27.us.us.us: ; preds = %.preheader28.us.us.us, %.preheader27.us.us.us %lsr.iv107 = phi [3 x [3 x [1 x [8 x i8]]]]* [ bitcast (i8* getelementptr inbounds ([3 x [3 x [1 x [8 x i8]]]], [3 x [3 x [1 x [8 x i8]]]]* @__constant_3x3x1x8xi8, i64 0, i64 1, i64 1, i64 0, i64 0) to [3 x [3 x [1 x [8 x i8]]]]*), %.preheader28.us.us.us ], [ %123, %.preheader27.us.us.us ] %lsr.iv99 = phi i64 [ 0, %.preheader28.us.us.us ], [ %lsr.iv.next100, %.preheader27.us.us.us ] %lsr.iv107109 = bitcast [3 x [3 x [1 x [8 x i8]]]]* %lsr.iv107 to i8* %scevgep105 = getelementptr i8, i8* %lsr.iv103, i64 %lsr.iv99, !dbg !13 %scevgep105106 = bitcast i8* %scevgep105 to i32*, !dbg !13 %59 = load i8, i8* %129, align 2, !dbg !13 %scevgep110 = getelementptr i8, i8* %lsr.iv107109, i64 -32, !dbg !16 %60 = load i8, i8* %scevgep110, align 1, !dbg !16 %61 = load i32, i32* %scevgep105106, align 4, !dbg !13 %62 = sext i8 %59 to i32 %63 = add nsw i32 %62, 1 %64 = sext i8 %60 to i32 %65 = mul nsw i32 %63, %64 %66 = add i32 %65, %61 store i32 %66, i32* %scevgep105106, align 4, !dbg !13 %67 = load i8, i8* %131, align 1, !dbg !13 %scevgep117 = getelementptr i8, i8* %lsr.iv107109, i64 -24, !dbg !16 %68 = load i8, i8* %scevgep117, align 1, !dbg !16 %69 = sext i8 %67 to i32 %70 = add nsw i32 %69, 1 %71 = sext i8 %68 to i32 %72 = mul nsw i32 %70, %71 %73 = add i32 %72, %66 store i32 %73, i32* %scevgep105106, align 4, !dbg !13 %74 = load i8, i8* %133, align 2, !dbg !13 %scevgep116 = getelementptr i8, i8* %lsr.iv107109, i64 -16, !dbg !16 %75 = load i8, i8* %scevgep116, align 1, !dbg !16 %76 = sext i8 %74 to i32 %77 = add nsw i32 %76, 1 %78 = sext i8 %75 to i32 %79 = mul nsw i32 %77, %78 %80 = add i32 %79, %73 store i32 %80, i32* %scevgep105106, align 4, !dbg !13 %81 = load i8, i8* %135, align 1, !dbg !13 %scevgep114 = getelementptr i8, i8* %lsr.iv107109, i64 -8, !dbg !16 %82 = load i8, i8* %scevgep114, align 1, !dbg !16 %83 = sext i8 %81 to i32 %84 = add nsw i32 %83, 1 %85 = sext i8 %82 to i32 %86 = mul nsw i32 %84, %85 %87 = add i32 %86, %80 store i32 %87, i32* %scevgep105106, align 4, !dbg !13 %88 = load i8, i8* %137, align 2, !dbg !13 %89 = load i8, i8* %lsr.iv107109, align 1, !dbg !16 %90 = sext i8 %88 to i32 %91 = add nsw i32 %90, 1 %92 = sext i8 %89 to i32 %93 = mul nsw i32 %91, %92 %94 = add i32 %93, %87 store i32 %94, i32* %scevgep105106, align 4, !dbg !13 %95 = load i8, i8* %139, align 1, !dbg !13 %scevgep113 = getelementptr i8, i8* %lsr.iv107109, i64 8, !dbg !16 %96 = load i8, i8* %scevgep113, align 1, !dbg !16 %97 = sext i8 %95 to i32 %98 = add nsw i32 %97, 1 %99 = sext i8 %96 to i32 %100 = mul nsw i32 %98, %99 %101 = add i32 %100, %94 store i32 %101, i32* %scevgep105106, align 4, !dbg !13 %102 = load i8, i8* %127, align 2, !dbg !13 %scevgep115 = getelementptr i8, i8* %lsr.iv107109, i64 16, !dbg !16 %103 = load i8, i8* %scevgep115, align 1, !dbg !16 %104 = sext i8 %102 to i32 %105 = add nsw i32 %104, 1 %106 = sext i8 %103 to i32 %107 = mul nsw i32 %105, %106 %108 = add i32 %107, %101 store i32 %108, i32* %scevgep105106, align 4, !dbg !13 %109 = load i8, i8* %141, align 1, !dbg !13 %scevgep112 = getelementptr i8, i8* %lsr.iv107109, i64 24, !dbg !16 %110 = load i8, i8* %scevgep112, align 1, !dbg !16 %111 = sext i8 %109 to i32 %112 = add nsw i32 %111, 1 %113 = sext i8 %110 to i32 %114 = mul nsw i32 %112, %113 %115 = add i32 %114, %108 store i32 %115, i32* %scevgep105106, align 4, !dbg !13 %116 = load i8, i8* %143, align 2, !dbg !13 %scevgep111 = getelementptr i8, i8* %lsr.iv107109, i64 32, !dbg !16 %117 = load i8, i8* %scevgep111, align 1, !dbg !16 %118 = sext i8 %116 to i32 %119 = add nsw i32 %118, 1 %120 = sext i8 %117 to i32 %121 = mul nsw i32 %119, %120 %122 = add i32 %121, %115 store i32 %122, i32* %scevgep105106, align 4, !dbg !13 %lsr.iv.next100 = add nuw nsw i64 %lsr.iv99, 4, !dbg !13 %scevgep108 = getelementptr [3 x [3 x [1 x [8 x i8]]]], [3 x [3 x [1 x [8 x i8]]]]* %lsr.iv107, i64 0, i64 0, i64 0, i64 0, i64 1, !dbg !13 %123 = bitcast i8* %scevgep108 to [3 x [3 x [1 x [8 x i8]]]]*, !dbg !13 %exitcond43.not = icmp eq i64 %lsr.iv.next100, 32, !dbg !13 br i1 %exitcond43.not, label %55, label %.preheader27.us.us.us, !dbg !13 .preheader28.us.us.us: ; preds = %.preheader30.us.us.us, %55 %lsr.iv103 = phi i8* [ %lsr.iv101, %.preheader30.us.us.us ], [ %scevgep104, %55 ] %124 = phi i64 [ 0, %.preheader30.us.us.us ], [ %56, %55 ] %reass.add.us.us.us = add i64 %124, %43 %reass.mul.us.us.us = shl i64 %reass.add.us.us.us, 1 %125 = add i64 %reass.mul.us.us.us, %42 %126 = add i64 %125, %147 %127 = getelementptr i8, i8* %6, i64 %126, !dbg !13 %128 = add i64 %125, %148 %129 = getelementptr i8, i8* %6, i64 %128 %130 = or i64 %128, 1 %131 = getelementptr i8, i8* %6, i64 %130 %132 = add i64 %128, 2 %133 = getelementptr i8, i8* %6, i64 %132 %134 = add i64 %125, %150 %135 = getelementptr i8, i8* %6, i64 %134 %136 = add i64 %134, 1 %137 = getelementptr i8, i8* %6, i64 %136 %138 = add i64 %134, 2 %139 = getelementptr i8, i8* %6, i64 %138 %140 = or i64 %126, 1 %141 = getelementptr i8, i8* %6, i64 %140 %142 = add i64 %126, 2 %143 = getelementptr i8, i8* %6, i64 %142 br label %.preheader27.us.us.us, !dbg !13 .preheader29.us.us.us: ; preds = %.preheader31.us.us.us, %.preheader29.us.us.us %lsr.iv = phi i64 [ 0, %.preheader31.us.us.us ], [ %lsr.iv.next, %.preheader29.us.us.us ] %scevgep65 = getelementptr i8, i8* %lsr.iv63, i64 %lsr.iv, !dbg !13 %scevgep6566 = bitcast i8* %scevgep65 to i32*, !dbg !13 store i32 0, i32* %scevgep6566, align 32, !dbg !13 %scevgep81 = getelementptr i8, i8* %lsr.iv77, i64 %lsr.iv, !dbg !13 %scevgep8182 = bitcast i8* %scevgep81 to i32*, !dbg !13 %scevgep83 = getelementptr i32, i32* %scevgep8182, i64 -3, !dbg !13 store i32 0, i32* %scevgep83, align 4, !dbg !13 %scevgep93 = getelementptr i8, i8* %lsr.iv77, i64 %lsr.iv, !dbg !13 %scevgep9394 = bitcast i8* %scevgep93 to i32*, !dbg !13 %scevgep95 = getelementptr i32, i32* %scevgep9394, i64 -2, !dbg !13 store i32 0, i32* %scevgep95, align 4, !dbg !13 %scevgep96 = getelementptr i8, i8* %lsr.iv77, i64 %lsr.iv, !dbg !13 %scevgep9697 = bitcast i8* %scevgep96 to i32*, !dbg !13 %scevgep98 = getelementptr i32, i32* %scevgep9697, i64 -1, !dbg !13 store i32 0, i32* %scevgep98, align 4, !dbg !13 %scevgep79 = getelementptr i8, i8* %lsr.iv77, i64 %lsr.iv, !dbg !13 %scevgep7980 = bitcast i8* %scevgep79 to i32*, !dbg !13 store i32 0, i32* %scevgep7980, align 4, !dbg !13 %scevgep90 = getelementptr i8, i8* %lsr.iv77, i64 %lsr.iv, !dbg !13 %scevgep9091 = bitcast i8* %scevgep90 to i32*, !dbg !13 %scevgep92 = getelementptr i32, i32* %scevgep9091, i64 1, !dbg !13 store i32 0, i32* %scevgep92, align 4, !dbg !13 %scevgep87 = getelementptr i8, i8* %lsr.iv77, i64 %lsr.iv, !dbg !13 %scevgep8788 = bitcast i8* %scevgep87 to i32*, !dbg !13 %scevgep89 = getelementptr i32, i32* %scevgep8788, i64 2, !dbg !13 store i32 0, i32* %scevgep89, align 4, !dbg !13 %scevgep84 = getelementptr i8, i8* %lsr.iv77, i64 %lsr.iv, !dbg !13 %scevgep8485 = bitcast i8* %scevgep84 to i32*, !dbg !13 %scevgep86 = getelementptr i32, i32* %scevgep8485, i64 3, !dbg !13 store i32 0, i32* %scevgep86, align 4, !dbg !13 %lsr.iv.next = add nuw nsw i64 %lsr.iv, 32, !dbg !13 %exitcond.not = icmp eq i64 %lsr.iv.next, 512, !dbg !13 br i1 %exitcond.not, label %57, label %.preheader29.us.us.us, !dbg !13 .preheader30.us.us.us: ; preds = %.preheader30.us.us.us.preheader, %53 %lsr.iv101 = phi i8* [ %lsr.iv60, %.preheader30.us.us.us.preheader ], [ %scevgep102, %53 ] %144 = phi i64 [ %54, %53 ], [ 0, %.preheader30.us.us.us.preheader ] %145 = shl nuw i64 %144, 1 %146 = mul i64 %144, 194 %147 = add i64 %146, 194 %148 = mul nuw i64 %144, 194 %149 = or i64 %145, 1 %150 = mul nuw nsw i64 %149, 97 br label %.preheader28.us.us.us, !dbg !13 .preheader31.us.us.us: ; preds = %57, %44 %lsr.iv77 = phi i8* [ %scevgep78, %57 ], [ %lsr.iv74, %44 ] %lsr.iv63 = phi i8* [ %scevgep64, %57 ], [ %lsr.iv60, %44 ] %151 = phi i64 [ 0, %44 ], [ %58, %57 ] br label %.preheader29.us.us.us, !dbg !13 ._crit_edge.us.us.us: ; preds = %46 %152 = bitcast i8* %lsr.iv71 to i1* %153 = bitcast i8* %lsr.iv57 to i1* %154 = add i64 %43, %21, !dbg !13 %scevgep59 = getelementptr i1, i1* %153, i64 %33, !dbg !13 %155 = bitcast i1* %scevgep59 to i8*, !dbg !13 %scevgep73 = getelementptr i1, i1* %152, i64 %33, !dbg !13 %156 = bitcast i1* %scevgep73 to i8*, !dbg !13 %157 = icmp slt i64 %154, 48, !dbg !13 br i1 %157, label %.lr.ph.us.us.us, label %._crit_edge35.split.us.us.us, !dbg !13 ._crit_edge35.split.us.us.us: ; preds = %._crit_edge.us.us.us %158 = bitcast i8* %lsr.iv68 to i1* %159 = bitcast i8* %lsr.iv54 to i1* %160 = add i64 %41, %14, !dbg !13 %scevgep56 = getelementptr i1, i1* %159, i64 %32, !dbg !13 %161 = bitcast i1* %scevgep56 to i8*, !dbg !13 %scevgep70 = getelementptr i1, i1* %158, i64 %32, !dbg !13 %162 = bitcast i1* %scevgep70 to i8*, !dbg !13 %163 = icmp slt i64 %160, 48, !dbg !13 br i1 %163, label %.lr.ph34.us.us, label %._crit_edge, !dbg !13 .lr.ph34.us: ; preds = %.lr.ph34.us.preheader, %._crit_edge35.split.us36 %164 = phi i64 [ %169, %._crit_edge35.split.us36 ], [ %13, %.lr.ph34.us.preheader ] br label %165, !dbg !13 165: ; preds = %.lr.ph34.us, %165 %166 = phi i64 [ %20, %.lr.ph34.us ], [ %167, %165 ] %167 = add i64 %166, %21, !dbg !13 %168 = icmp slt i64 %167, 48, !dbg !13 br i1 %168, label %165, label %._crit_edge35.split.us36, !dbg !13 ._crit_edge35.split.us36: ; preds = %165 %169 = add i64 %164, %14, !dbg !13 %170 = icmp slt i64 %169, 48, !dbg !13 br i1 %170, label %.lr.ph34.us, label %._crit_edge, !dbg !13 .lr.ph.split: ; preds = %.lr.ph.split.preheader, %.lr.ph.split %171 = phi i64 [ %172, %.lr.ph.split ], [ %13, %.lr.ph.split.preheader ] %172 = add i64 %171, %14, !dbg !13 %173 = icmp slt i64 %172, 48, !dbg !13 br i1 %173, label %.lr.ph.split, label %._crit_edge, !dbg !13 ._crit_edge: ; preds = %.lr.ph.split, %._crit_edge35.split.us36, %._crit_edge35.split.us.us.us, %3 ret i32 0, !dbg !13 } ; Function Attrs: nofree nosync nounwind define internal i32 @main_dispatch_2(%iree_hal_executable_environment_v0_t* noalias nocapture nonnull readnone byref(%iree_hal_executable_environment_v0_t) align 16 %0, %iree_hal_executable_dispatch_state_v0_t* noalias nocapture nonnull readonly byref(%iree_hal_executable_dispatch_state_v0_t) align 16 %1, %iree_hal_executable_workgroup_state_v0_t* noalias nocapture nonnull readonly byref(%iree_hal_executable_workgroup_state_v0_t) align 16 %2) #0 !dbg !17 { .preheader28: %.elt22 = getelementptr inbounds %iree_hal_executable_dispatch_state_v0_t, %iree_hal_executable_dispatch_state_v0_t* %1, i64 0, i32 10, !dbg !18 %.unpack23 = load i8**, i8*** %.elt22, align 16, !dbg !18 %3 = load i8*, i8** %.unpack23, align 8, !dbg !18 %4 = getelementptr i8*, i8** %.unpack23, i64 1, !dbg !21 %5 = load i8*, i8** %4, align 8, !dbg !21 %6 = load %iree_hal_executable_workgroup_state_v0_t, %iree_hal_executable_workgroup_state_v0_t* %2, align 16, !dbg !21 %7 = extractvalue %iree_hal_executable_workgroup_state_v0_t %6, 0, !dbg !21 %8 = zext i32 %7 to i64, !dbg !21 %9 = extractvalue %iree_hal_executable_workgroup_state_v0_t %6, 1, !dbg !21 %10 = zext i32 %9 to i64, !dbg !21 %11 = extractvalue %iree_hal_executable_workgroup_state_v0_t %6, 2, !dbg !21 %12 = zext i16 %11 to i64, !dbg !21 %13 = shl nuw nsw i64 %8, 3, !dbg !21 %14 = mul i64 %12, 6144, !dbg !21 %15 = shl i64 %10, 7, !dbg !21 %16 = add nuw nsw i64 %14, %15, !dbg !21 %17 = getelementptr [1 x [8 x i32]], [1 x [8 x i32]]* @__constant_1x8xi32_0, i64 0, i64 0, i64 %13, !dbg !21 %18 = load i32, i32* %17, align 16, !dbg !21 %19 = or i64 %13, 1, !dbg !21 %20 = getelementptr [1 x [8 x i32]], [1 x [8 x i32]]* @__constant_1x8xi32_0, i64 0, i64 0, i64 %19, !dbg !21 %21 = load i32, i32* %20, align 4, !dbg !21 %22 = or i64 %13, 2, !dbg !21 %23 = getelementptr [1 x [8 x i32]], [1 x [8 x i32]]* @__constant_1x8xi32_0, i64 0, i64 0, i64 %22, !dbg !21 %24 = load i32, i32* %23, align 8, !dbg !21 %25 = or i64 %13, 3, !dbg !21 %26 = getelementptr [1 x [8 x i32]], [1 x [8 x i32]]* @__constant_1x8xi32_0, i64 0, i64 0, i64 %25, !dbg !21 %27 = load i32, i32* %26, align 4, !dbg !21 %28 = or i64 %13, 4, !dbg !21 %29 = getelementptr [1 x [8 x i32]], [1 x [8 x i32]]* @__constant_1x8xi32_0, i64 0, i64 0, i64 %28, !dbg !21 %30 = load i32, i32* %29, align 16, !dbg !21 %31 = or i64 %13, 5, !dbg !21 %32 = getelementptr [1 x [8 x i32]], [1 x [8 x i32]]* @__constant_1x8xi32_0, i64 0, i64 0, i64 %31, !dbg !21 %33 = load i32, i32* %32, align 4, !dbg !21 %34 = or i64 %13, 6, !dbg !21 %35 = getelementptr [1 x [8 x i32]], [1 x [8 x i32]]* @__constant_1x8xi32_0, i64 0, i64 0, i64 %34, !dbg !21 %36 = load i32, i32* %35, align 8, !dbg !21 %37 = or i64 %13, 7, !dbg !21 %38 = getelementptr [1 x [8 x i32]], [1 x [8 x i32]]* @__constant_1x8xi32_0, i64 0, i64 0, i64 %37, !dbg !21 %39 = load i32, i32* %38, align 4, !dbg !21 %40 = getelementptr [1 x [8 x i32]], [1 x [8 x i32]]* @__constant_1x8xi32, i64 0, i64 0, i64 %13, !dbg !21 %41 = load i32, i32* %40, align 16, !dbg !21 %42 = getelementptr [1 x [8 x i32]], [1 x [8 x i32]]* @__constant_1x8xi32, i64 0, i64 0, i64 %19, !dbg !21 %43 = load i32, i32* %42, align 4, !dbg !21 %44 = getelementptr [1 x [8 x i32]], [1 x [8 x i32]]* @__constant_1x8xi32, i64 0, i64 0, i64 %22, !dbg !21 %45 = load i32, i32* %44, align 8, !dbg !21 %46 = getelementptr [1 x [8 x i32]], [1 x [8 x i32]]* @__constant_1x8xi32, i64 0, i64 0, i64 %25, !dbg !21 %47 = load i32, i32* %46, align 4, !dbg !21 %48 = getelementptr [1 x [8 x i32]], [1 x [8 x i32]]* @__constant_1x8xi32, i64 0, i64 0, i64 %28, !dbg !21 %49 = load i32, i32* %48, align 16, !dbg !21 %50 = getelementptr [1 x [8 x i32]], [1 x [8 x i32]]* @__constant_1x8xi32, i64 0, i64 0, i64 %31, !dbg !21 %51 = load i32, i32* %50, align 4, !dbg !21 %52 = getelementptr [1 x [8 x i32]], [1 x [8 x i32]]* @__constant_1x8xi32, i64 0, i64 0, i64 %34, !dbg !21 %53 = load i32, i32* %52, align 8, !dbg !21 %54 = getelementptr [1 x [8 x i32]], [1 x [8 x i32]]* @__constant_1x8xi32, i64 0, i64 0, i64 %37, !dbg !21 %55 = load i32, i32* %54, align 4, !dbg !21 %56 = insertelement <8 x i32> poison, i32 %18, i64 0, !dbg !21 %57 = insertelement <8 x i32> %56, i32 %21, i64 1, !dbg !21 %58 = insertelement <8 x i32> %57, i32 %24, i64 2, !dbg !21 %59 = insertelement <8 x i32> %58, i32 %27, i64 3, !dbg !21 %60 = insertelement <8 x i32> %59, i32 %30, i64 4, !dbg !21 %61 = insertelement <8 x i32> %60, i32 %33, i64 5, !dbg !21 %62 = insertelement <8 x i32> %61, i32 %36, i64 6, !dbg !21 %63 = insertelement <8 x i32> %62, i32 %39, i64 7, !dbg !21 %64 = getelementptr [1 x [8 x i8]], [1 x [8 x i8]]* @__constant_1x8xi8, i64 0, i64 0, i64 %13, !dbg !21 %65 = load i8, i8* %64, align 1, !dbg !21 %66 = insertelement <8 x i8> poison, i8 %65, i64 0, !dbg !21 %67 = getelementptr [1 x [8 x i8]], [1 x [8 x i8]]* @__constant_1x8xi8, i64 0, i64 0, i64 %19, !dbg !21 %68 = load i8, i8* %67, align 1, !dbg !21 %69 = insertelement <8 x i8> %66, i8 %68, i64 1, !dbg !21 %70 = getelementptr [1 x [8 x i8]], [1 x [8 x i8]]* @__constant_1x8xi8, i64 0, i64 0, i64 %22, !dbg !21 %71 = load i8, i8* %70, align 1, !dbg !21 %72 = insertelement <8 x i8> %69, i8 %71, i64 2, !dbg !21 %73 = getelementptr [1 x [8 x i8]], [1 x [8 x i8]]* @__constant_1x8xi8, i64 0, i64 0, i64 %25, !dbg !21 %74 = load i8, i8* %73, align 1, !dbg !21 %75 = insertelement <8 x i8> %72, i8 %74, i64 3, !dbg !21 %76 = getelementptr [1 x [8 x i8]], [1 x [8 x i8]]* @__constant_1x8xi8, i64 0, i64 0, i64 %28, !dbg !21 %77 = load i8, i8* %76, align 1, !dbg !21 %78 = insertelement <8 x i8> %75, i8 %77, i64 4, !dbg !21 %79 = getelementptr [1 x [8 x i8]], [1 x [8 x i8]]* @__constant_1x8xi8, i64 0, i64 0, i64 %31, !dbg !21 %80 = load i8, i8* %79, align 1, !dbg !21 %81 = insertelement <8 x i8> %78, i8 %80, i64 5, !dbg !21 %82 = getelementptr [1 x [8 x i8]], [1 x [8 x i8]]* @__constant_1x8xi8, i64 0, i64 0, i64 %34, !dbg !21 %83 = load i8, i8* %82, align 1, !dbg !21 %84 = insertelement <8 x i8> %81, i8 %83, i64 6, !dbg !21 %85 = getelementptr [1 x [8 x i8]], [1 x [8 x i8]]* @__constant_1x8xi8, i64 0, i64 0, i64 %37, !dbg !21 %86 = load i8, i8* %85, align 1, !dbg !21 %87 = insertelement <8 x i8> %84, i8 %86, i64 7, !dbg !21 %88 = insertelement <8 x i32> poison, i32 %41, i64 0, !dbg !21 %89 = insertelement <8 x i32> %88, i32 %43, i64 1, !dbg !21 %90 = insertelement <8 x i32> %89, i32 %45, i64 2, !dbg !21 %91 = insertelement <8 x i32> %90, i32 %47, i64 3, !dbg !21 %92 = insertelement <8 x i32> %91, i32 %49, i64 4, !dbg !21 %93 = insertelement <8 x i32> %92, i32 %51, i64 5, !dbg !21 %94 = insertelement <8 x i32> %93, i32 %53, i64 6, !dbg !21 %95 = insertelement <8 x i32> %94, i32 %55, i64 7, !dbg !21 %96 = add nuw nsw i64 %16, %13, !dbg !21 %97 = sext <8 x i32> %95 to <8 x i64> %98 = zext <8 x i8> %87 to <8 x i64> %99 = shl <8 x i64> , %98 %100 = lshr <8 x i64> %99, %101 = shl nuw nsw i64 %96, 2, !dbg !21 %102 = add nuw nsw i64 %101, 9472, !dbg !21 %scevgep = getelementptr i8, i8* %3, i64 %102, !dbg !21 %103 = add i64 %14, %15, !dbg !21 %104 = add i64 %103, %13, !dbg !21 %105 = add i64 %104, 83200, !dbg !21 %scevgep39 = getelementptr i8, i8* %5, i64 %105, !dbg !21 br label %.preheader, !dbg !21 .preheader: ; preds = %.preheader28, %124 %lsr.iv40 = phi i8* [ %scevgep39, %.preheader28 ], [ %scevgep41, %124 ] %lsr.iv34 = phi i8* [ %scevgep, %.preheader28 ], [ %scevgep35, %124 ] %106 = phi i64 [ 0, %.preheader28 ], [ %125, %124 ] br label %107, !dbg !21 107: ; preds = %.preheader, %107 %lsr.iv36 = phi i8* [ %lsr.iv34, %.preheader ], [ %scevgep37, %107 ] %lsr.iv = phi i64 [ 0, %.preheader ], [ %lsr.iv.next, %107 ] %108 = icmp ugt <8 x i8> %87, %lsr.iv3638 = bitcast i8* %lsr.iv36 to <8 x i32>*, !dbg !21 %109 = load <8 x i32>, <8 x i32>* %lsr.iv3638, align 4, !dbg !21 %110 = add <8 x i32> %109, %63, !dbg !18 %111 = sext <8 x i32> %110 to <8 x i64>, !dbg !21 %112 = mul nsw <8 x i64> %111, %97, !dbg !21 %113 = add <8 x i64> %112, %100, !dbg !21 %114 = icmp sgt <8 x i32> %110, , !dbg !21 %115 = select <8 x i1> %114, <8 x i64> , <8 x i64> , !dbg !21 %116 = select <8 x i1> %108, <8 x i64> %115, <8 x i64> zeroinitializer, !dbg !21 %117 = add <8 x i64> %113, %116, !dbg !21 %118 = ashr <8 x i64> %117, %98, !dbg !21 %119 = trunc <8 x i64> %118 to <8 x i32>, !dbg !21 %120 = add <8 x i32> %119, , !dbg !21 %121 = tail call <8 x i32> @llvm.smax.v8i32(<8 x i32> %120, <8 x i32> ), !dbg !21 %122 = tail call <8 x i32> @llvm.smin.v8i32(<8 x i32> %121, <8 x i32> ), !dbg !21 %123 = trunc <8 x i32> %122 to <8 x i8>, !dbg !21 %scevgep42 = getelementptr i8, i8* %lsr.iv40, i64 %lsr.iv, !dbg !21 %scevgep4243 = bitcast i8* %scevgep42 to <8 x i8>*, !dbg !21 store <8 x i8> %123, <8 x i8>* %scevgep4243, align 1, !dbg !21 %lsr.iv.next = add nuw nsw i64 %lsr.iv, 8, !dbg !21 %scevgep37 = getelementptr i8, i8* %lsr.iv36, i64 32, !dbg !21 %exitcond.not = icmp eq i64 %lsr.iv.next, 128, !dbg !21 br i1 %exitcond.not, label %124, label %107, !dbg !21 124: ; preds = %107 %125 = add nuw nsw i64 %106, 1, !dbg !21 %scevgep35 = getelementptr i8, i8* %lsr.iv34, i64 1536, !dbg !21 %scevgep41 = getelementptr i8, i8* %lsr.iv40, i64 384, !dbg !21 %exitcond33.not = icmp eq i64 %125, 16, !dbg !21 br i1 %exitcond33.not, label %126, label %.preheader, !dbg !21 126: ; preds = %124 ret i32 0, !dbg !21 } ; Function Attrs: nofree nosync nounwind define internal i32 @main_dispatch_3(%iree_hal_executable_environment_v0_t* noalias nocapture nonnull readnone byref(%iree_hal_executable_environment_v0_t) align 16 %0, %iree_hal_executable_dispatch_state_v0_t* noalias nocapture nonnull readonly byref(%iree_hal_executable_dispatch_state_v0_t) align 16 %1, %iree_hal_executable_workgroup_state_v0_t* noalias nocapture nonnull readonly byref(%iree_hal_executable_workgroup_state_v0_t) align 16 %2) #0 !dbg !22 { %const = bitcast i64 6144 to i64, !dbg !23 %.elt19 = getelementptr inbounds %iree_hal_executable_dispatch_state_v0_t, %iree_hal_executable_dispatch_state_v0_t* %1, i64 0, i32 10, !dbg !26 %.unpack20 = load i8**, i8*** %.elt19, align 16, !dbg !26 %4 = load i8*, i8** %.unpack20, align 8, !dbg !26 %5 = getelementptr i8*, i8** %.unpack20, i64 1, !dbg !27 %6 = load i8*, i8** %5, align 8, !dbg !27 %7 = load %iree_hal_executable_workgroup_state_v0_t, %iree_hal_executable_workgroup_state_v0_t* %2, align 16, !dbg !27 %8 = extractvalue %iree_hal_executable_workgroup_state_v0_t %7, 0, !dbg !27 %9 = zext i32 %8 to i64, !dbg !27 %10 = extractvalue %iree_hal_executable_workgroup_state_v0_t %7, 1, !dbg !27 %11 = zext i32 %10 to i64, !dbg !27 %12 = extractvalue %iree_hal_executable_workgroup_state_v0_t %7, 2, !dbg !27 %13 = zext i16 %12 to i64, !dbg !27 %14 = shl nuw nsw i64 %9, 3, !dbg !27 %15 = mul nuw nsw i64 %13, %const, !dbg !27 %16 = shl nuw nsw i64 %11, 7, !dbg !27 %const_mat = add i64 %const, 256, !dbg !27 %17 = mul nuw nsw i64 %13, %const_mat, !dbg !27 %18 = add i64 %15, %16, !dbg !27 %19 = add i64 %18, %14, !dbg !27 %20 = add i64 %19, 83200, !dbg !27 %scevgep = getelementptr i8, i8* %4, i64 %20, !dbg !27 %21 = add i64 %17, %16, !dbg !27 %22 = add i64 %21, %14, !dbg !27 %23 = add i64 %22, 102040, !dbg !27 %scevgep28 = getelementptr i8, i8* %6, i64 %23, !dbg !27 br label %.preheader, !dbg !27 .preheader: ; preds = %3, %27 %lsr.iv29 = phi i8* [ %scevgep28, %3 ], [ %scevgep30, %27 ] %lsr.iv24 = phi i8* [ %scevgep, %3 ], [ %scevgep25, %27 ] %24 = phi i64 [ 0, %3 ], [ %28, %27 ] br label %25, !dbg !27 25: ; preds = %.preheader, %25 %lsr.iv = phi i64 [ 0, %.preheader ], [ %lsr.iv.next, %25 ] %scevgep26 = getelementptr i8, i8* %lsr.iv24, i64 %lsr.iv, !dbg !27 %scevgep2627 = bitcast i8* %scevgep26 to <8 x i8>*, !dbg !27 %26 = load <8 x i8>, <8 x i8>* %scevgep2627, align 1, !dbg !27 %scevgep31 = getelementptr i8, i8* %lsr.iv29, i64 %lsr.iv, !dbg !27 %scevgep3132 = bitcast i8* %scevgep31 to <8 x i8>*, !dbg !27 store <8 x i8> %26, <8 x i8>* %scevgep3132, align 1, !dbg !27 %lsr.iv.next = add nuw nsw i64 %lsr.iv, 8, !dbg !27 %exitcond.not = icmp eq i64 %lsr.iv.next, 128, !dbg !27 br i1 %exitcond.not, label %27, label %25, !dbg !27 27: ; preds = %25 %28 = add nuw nsw i64 %24, 1, !dbg !27 %scevgep25 = getelementptr i8, i8* %lsr.iv24, i64 384, !dbg !27 %scevgep30 = getelementptr i8, i8* %lsr.iv29, i64 400, !dbg !27 %exitcond23.not = icmp eq i64 %28, 16, !dbg !27 br i1 %exitcond23.not, label %29, label %.preheader, !dbg !27 29: ; preds = %27 ret i32 0, !dbg !27 } ; Function Attrs: nofree nosync nounwind define internal i32 @main_dispatch_4(%iree_hal_executable_environment_v0_t* noalias nocapture nonnull readnone byref(%iree_hal_executable_environment_v0_t) align 16 %0, %iree_hal_executable_dispatch_state_v0_t* noalias nocapture nonnull readonly byref(%iree_hal_executable_dispatch_state_v0_t) align 16 %1, %iree_hal_executable_workgroup_state_v0_t* noalias nocapture nonnull readonly byref(%iree_hal_executable_workgroup_state_v0_t) align 16 %2) #0 !dbg !28 { %.elt11 = getelementptr inbounds %iree_hal_executable_dispatch_state_v0_t, %iree_hal_executable_dispatch_state_v0_t* %1, i64 0, i32 4, !dbg !29 %.unpack12 = load i32, i32* %.elt11, align 4, !dbg !29 %4 = zext i32 %.unpack12 to i64, !dbg !29 %.elt13 = getelementptr inbounds %iree_hal_executable_dispatch_state_v0_t, %iree_hal_executable_dispatch_state_v0_t* %1, i64 0, i32 5, !dbg !29 %.unpack14 = load i32, i32* %.elt13, align 16, !dbg !29 %5 = zext i32 %.unpack14 to i64, !dbg !29 %.elt15 = getelementptr inbounds %iree_hal_executable_dispatch_state_v0_t, %iree_hal_executable_dispatch_state_v0_t* %1, i64 0, i32 6, !dbg !29 %.unpack16 = load i16, i16* %.elt15, align 4, !dbg !29 %.elt23 = getelementptr inbounds %iree_hal_executable_dispatch_state_v0_t, %iree_hal_executable_dispatch_state_v0_t* %1, i64 0, i32 10, !dbg !29 %.unpack24 = load i8**, i8*** %.elt23, align 16, !dbg !29 %6 = load i8*, i8** %.unpack24, align 8, !dbg !29 %7 = getelementptr i8*, i8** %.unpack24, i64 1, !dbg !29 %8 = bitcast i8** %7 to i32**, !dbg !29 %9 = load i32*, i32** %8, align 8, !dbg !29 %10 = load %iree_hal_executable_workgroup_state_v0_t, %iree_hal_executable_workgroup_state_v0_t* %2, align 16, !dbg !29 %11 = extractvalue %iree_hal_executable_workgroup_state_v0_t %10, 2, !dbg !29 %12 = zext i16 %11 to i64, !dbg !29 %13 = zext i16 %.unpack16 to i64, !dbg !29 %14 = shl nuw nsw i64 %12, 4, !dbg !29 %15 = shl nuw nsw i64 %13, 4, !dbg !29 %16 = icmp ult i16 %11, 3, !dbg !29 br i1 %16, label %.lr.ph, label %._crit_edge, !dbg !29 .lr.ph: ; preds = %3 %17 = extractvalue %iree_hal_executable_workgroup_state_v0_t %10, 1, !dbg !29 %18 = zext i32 %17 to i64, !dbg !29 %19 = extractvalue %iree_hal_executable_workgroup_state_v0_t %10, 0, !dbg !29 %20 = zext i32 %19 to i64, !dbg !29 %21 = shl nuw nsw i64 %18, 4 %22 = shl nuw nsw i64 %5, 4 %23 = icmp ult i32 %17, 3 %24 = shl i64 %20, 3 %25 = shl i64 %4, 3 br i1 %23, label %.lr.ph.split.us, label %.lr.ph.split.preheader, !dbg !29 .lr.ph.split.preheader: ; preds = %.lr.ph br label %.lr.ph.split, !dbg !29 .lr.ph.split.us: ; preds = %.lr.ph %26 = icmp eq i32 %19, 0 br i1 %26, label %.lr.ph34.us.us.preheader, label %.lr.ph34.us.preheader, !dbg !29 .lr.ph34.us.preheader: ; preds = %.lr.ph.split.us br label %.lr.ph34.us, !dbg !29 .lr.ph34.us.us.preheader: ; preds = %.lr.ph.split.us %const = bitcast i64 6400 to i64, !dbg !29 %const_mat = add i64 %const, -256, !dbg !29 %27 = mul nuw nsw i64 %12, %const_mat, !dbg !29 %28 = shl i64 %18, 7, !dbg !29 %29 = add i64 %27, %28, !dbg !29 %30 = add i64 %29, %24, !dbg !29 %scevgep = getelementptr i32, i32* %9, i64 %30, !dbg !29 %31 = mul nuw nsw i64 %13, 24576, !dbg !29 %32 = shl nuw nsw i64 %5, 9, !dbg !29 %33 = shl nuw nsw i64 %4, 5, !dbg !29 %34 = add i64 %30, 4, !dbg !29 %scevgep67 = getelementptr i32, i32* %9, i64 %34, !dbg !29 %35 = mul nuw nsw i64 %12, %const, !dbg !29 %36 = add i64 %35, %28, !dbg !29 %37 = add i64 %36, %24, !dbg !29 %38 = add i64 %37, 102448, !dbg !29 %scevgep96 = getelementptr i8, i8* %6, i64 %38, !dbg !29 %39 = mul nuw nsw i64 %13, %const, !dbg !29 %40 = shl nuw nsw i64 %5, 7, !dbg !29 br label %.lr.ph34.us.us, !dbg !29 .lr.ph34.us.us: ; preds = %.lr.ph34.us.us.preheader, %._crit_edge35.split.us.us.us %lsr.iv97 = phi i8* [ %scevgep96, %.lr.ph34.us.us.preheader ], [ %145, %._crit_edge35.split.us.us.us ] %lsr.iv68 = phi i32* [ %scevgep67, %.lr.ph34.us.us.preheader ], [ %144, %._crit_edge35.split.us.us.us ] %lsr.iv54 = phi i32* [ %scevgep, %.lr.ph34.us.us.preheader ], [ %143, %._crit_edge35.split.us.us.us ] %41 = phi i64 [ %142, %._crit_edge35.split.us.us.us ], [ %14, %.lr.ph34.us.us.preheader ] br label %.lr.ph.us.us.us, !dbg !29 .lr.ph.us.us.us: ; preds = %._crit_edge.us.us.us, %.lr.ph34.us.us %lsr.iv100 = phi i8* [ %137, %._crit_edge.us.us.us ], [ %lsr.iv97, %.lr.ph34.us.us ] %lsr.iv71 = phi i32* [ %136, %._crit_edge.us.us.us ], [ %lsr.iv68, %.lr.ph34.us.us ] %lsr.iv57 = phi i32* [ %135, %._crit_edge.us.us.us ], [ %lsr.iv54, %.lr.ph34.us.us ] %42 = phi i64 [ %21, %.lr.ph34.us.us ], [ %134, %._crit_edge.us.us.us ] br label %43, !dbg !29 43: ; preds = %45, %.lr.ph.us.us.us %lsr.iv103 = phi i8* [ %52, %45 ], [ %lsr.iv100, %.lr.ph.us.us.us ] %lsr.iv74 = phi i32* [ %51, %45 ], [ %lsr.iv71, %.lr.ph.us.us.us ] %lsr.iv60 = phi i32* [ %50, %45 ], [ %lsr.iv57, %.lr.ph.us.us.us ] %44 = phi i64 [ %24, %.lr.ph.us.us.us ], [ %49, %45 ] br label %.preheader31.us.us.us, !dbg !29 45: ; preds = %54 %46 = bitcast i32* %lsr.iv74 to i1*, !dbg !29 %47 = bitcast i32* %lsr.iv60 to i1*, !dbg !29 %48 = bitcast i8* %lsr.iv103 to i1*, !dbg !29 %49 = add i64 %44, %25, !dbg !29 %scevgep62 = getelementptr i1, i1* %47, i64 %33, !dbg !29 %50 = bitcast i1* %scevgep62 to i32*, !dbg !29 %scevgep76 = getelementptr i1, i1* %46, i64 %33, !dbg !29 %51 = bitcast i1* %scevgep76 to i32*, !dbg !29 %scevgep105 = getelementptr i1, i1* %48, i64 %25, !dbg !29 %52 = bitcast i1* %scevgep105 to i8*, !dbg !29 %53 = icmp slt i64 %49, 8, !dbg !29 br i1 %53, label %43, label %._crit_edge.us.us.us, !dbg !29 54: ; preds = %56 %55 = add nuw nsw i64 %129, 1, !dbg !29 %scevgep107 = getelementptr i8, i8* %lsr.iv106, i64 400, !dbg !29 %scevgep128 = getelementptr i32, i32* %lsr.iv127, i64 384, !dbg !29 %exitcond45.not = icmp eq i64 %55, 16, !dbg !29 br i1 %exitcond45.not, label %45, label %.preheader30.us.us.us, !dbg !29 56: ; preds = %.preheader27.us.us.us %scevgep109 = getelementptr i8, i8* %lsr.iv108, i64 8, !dbg !29 %scevgep130 = getelementptr i32, i32* %lsr.iv129, i64 8, !dbg !29 %exitcond44.not = icmp eq i64 %126, 16, !dbg !29 br i1 %exitcond44.not, label %54, label %.preheader28.us.us.us, !dbg !29 57: ; preds = %.preheader29.us.us.us %58 = add nuw nsw i64 %130, 1, !dbg !29 %scevgep64 = getelementptr i32, i32* %lsr.iv63, i64 384, !dbg !29 %scevgep78 = getelementptr i32, i32* %lsr.iv77, i64 384, !dbg !29 %exitcond40.not = icmp eq i64 %58, 16, !dbg !29 br i1 %exitcond40.not, label %.preheader30.us.us.us.preheader, label %.preheader31.us.us.us, !dbg !29 .preheader30.us.us.us.preheader: ; preds = %57 br label %.preheader30.us.us.us, !dbg !29 .preheader27.us.us.us: ; preds = %.preheader28.us.us.us, %.preheader27.us.us.us %lsr.iv131 = phi i32* [ %lsr.iv129, %.preheader28.us.us.us ], [ %scevgep132, %.preheader27.us.us.us ] %59 = phi i64 [ 0, %.preheader28.us.us.us ], [ %124, %.preheader27.us.us.us ] %scevgep111 = getelementptr i8, i8* %lsr.iv108, i64 %59, !dbg !29 %scevgep112 = getelementptr i8, i8* %scevgep111, i64 -816, !dbg !29 %60 = load i8, i8* %scevgep112, align 1, !dbg !29 %scevgep133 = getelementptr [3 x [3 x [8 x i8]]], [3 x [3 x [8 x i8]]]* @__constant_3x3x8xi8, i64 0, i64 0, i64 0, i64 %59, !dbg !29 %61 = load i8, i8* %scevgep133, align 1, !dbg !29 %62 = load i32, i32* %lsr.iv131, align 4, !dbg !29 %63 = sext i8 %60 to i32 %64 = add nsw i32 %63, 128 %65 = sext i8 %61 to i32 %66 = mul nsw i32 %64, %65 %67 = add i32 %66, %62 store i32 %67, i32* %lsr.iv131, align 4, !dbg !29 %scevgep113 = getelementptr i8, i8* %lsr.iv108, i64 %59, !dbg !29 %scevgep114 = getelementptr i8, i8* %scevgep113, i64 -808, !dbg !29 %68 = load i8, i8* %scevgep114, align 1, !dbg !29 %scevgep146 = getelementptr [3 x [3 x [8 x i8]]], [3 x [3 x [8 x i8]]]* @__constant_3x3x8xi8, i64 0, i64 0, i64 0, i64 %59, !dbg !29 %scevgep147 = getelementptr i8, i8* %scevgep146, i64 8, !dbg !29 %69 = load i8, i8* %scevgep147, align 1, !dbg !29 %70 = sext i8 %68 to i32 %71 = add nsw i32 %70, 128 %72 = sext i8 %69 to i32 %73 = mul nsw i32 %71, %72 %74 = add i32 %73, %67 store i32 %74, i32* %lsr.iv131, align 4, !dbg !29 %scevgep115 = getelementptr i8, i8* %lsr.iv108, i64 %59, !dbg !29 %scevgep116 = getelementptr i8, i8* %scevgep115, i64 -800, !dbg !29 %75 = load i8, i8* %scevgep116, align 1, !dbg !29 %scevgep148 = getelementptr [3 x [3 x [8 x i8]]], [3 x [3 x [8 x i8]]]* @__constant_3x3x8xi8, i64 0, i64 0, i64 0, i64 %59, !dbg !29 %scevgep149 = getelementptr i8, i8* %scevgep148, i64 16, !dbg !29 %76 = load i8, i8* %scevgep149, align 1, !dbg !29 %77 = sext i8 %75 to i32 %78 = add nsw i32 %77, 128 %79 = sext i8 %76 to i32 %80 = mul nsw i32 %78, %79 %81 = add i32 %80, %74 store i32 %81, i32* %lsr.iv131, align 4, !dbg !29 %scevgep117 = getelementptr i8, i8* %lsr.iv108, i64 %59, !dbg !29 %scevgep118 = getelementptr i8, i8* %scevgep117, i64 -416, !dbg !29 %82 = load i8, i8* %scevgep118, align 1, !dbg !29 %scevgep142 = getelementptr [3 x [3 x [8 x i8]]], [3 x [3 x [8 x i8]]]* @__constant_3x3x8xi8, i64 0, i64 0, i64 0, i64 %59, !dbg !29 %scevgep143 = getelementptr i8, i8* %scevgep142, i64 24, !dbg !29 %83 = load i8, i8* %scevgep143, align 1, !dbg !29 %84 = sext i8 %82 to i32 %85 = add nsw i32 %84, 128 %86 = sext i8 %83 to i32 %87 = mul nsw i32 %85, %86 %88 = add i32 %87, %81 store i32 %88, i32* %lsr.iv131, align 4, !dbg !29 %scevgep119 = getelementptr i8, i8* %lsr.iv108, i64 %59, !dbg !29 %scevgep120 = getelementptr i8, i8* %scevgep119, i64 -408, !dbg !29 %89 = load i8, i8* %scevgep120, align 1, !dbg !29 %scevgep140 = getelementptr [3 x [3 x [8 x i8]]], [3 x [3 x [8 x i8]]]* @__constant_3x3x8xi8, i64 0, i64 0, i64 0, i64 %59, !dbg !29 %scevgep141 = getelementptr i8, i8* %scevgep140, i64 32, !dbg !29 %90 = load i8, i8* %scevgep141, align 1, !dbg !29 %91 = sext i8 %89 to i32 %92 = add nsw i32 %91, 128 %93 = sext i8 %90 to i32 %94 = mul nsw i32 %92, %93 %95 = add i32 %94, %88 store i32 %95, i32* %lsr.iv131, align 4, !dbg !29 %scevgep121 = getelementptr i8, i8* %lsr.iv108, i64 %59, !dbg !29 %scevgep122 = getelementptr i8, i8* %scevgep121, i64 -400, !dbg !29 %96 = load i8, i8* %scevgep122, align 1, !dbg !29 %scevgep138 = getelementptr [3 x [3 x [8 x i8]]], [3 x [3 x [8 x i8]]]* @__constant_3x3x8xi8, i64 0, i64 0, i64 0, i64 %59, !dbg !29 %scevgep139 = getelementptr i8, i8* %scevgep138, i64 40, !dbg !29 %97 = load i8, i8* %scevgep139, align 1, !dbg !29 %98 = sext i8 %96 to i32 %99 = add nsw i32 %98, 128 %100 = sext i8 %97 to i32 %101 = mul nsw i32 %99, %100 %102 = add i32 %101, %95 store i32 %102, i32* %lsr.iv131, align 4, !dbg !29 %scevgep123 = getelementptr i8, i8* %lsr.iv108, i64 %59, !dbg !29 %scevgep124 = getelementptr i8, i8* %scevgep123, i64 -16, !dbg !29 %103 = load i8, i8* %scevgep124, align 1, !dbg !29 %scevgep144 = getelementptr [3 x [3 x [8 x i8]]], [3 x [3 x [8 x i8]]]* @__constant_3x3x8xi8, i64 0, i64 0, i64 0, i64 %59, !dbg !29 %scevgep145 = getelementptr i8, i8* %scevgep144, i64 48, !dbg !29 %104 = load i8, i8* %scevgep145, align 1, !dbg !29 %105 = sext i8 %103 to i32 %106 = add nsw i32 %105, 128 %107 = sext i8 %104 to i32 %108 = mul nsw i32 %106, %107 %109 = add i32 %108, %102 store i32 %109, i32* %lsr.iv131, align 4, !dbg !29 %scevgep125 = getelementptr i8, i8* %lsr.iv108, i64 %59, !dbg !29 %scevgep126 = getelementptr i8, i8* %scevgep125, i64 -8, !dbg !29 %110 = load i8, i8* %scevgep126, align 1, !dbg !29 %scevgep136 = getelementptr [3 x [3 x [8 x i8]]], [3 x [3 x [8 x i8]]]* @__constant_3x3x8xi8, i64 0, i64 0, i64 0, i64 %59, !dbg !29 %scevgep137 = getelementptr i8, i8* %scevgep136, i64 56, !dbg !29 %111 = load i8, i8* %scevgep137, align 1, !dbg !29 %112 = sext i8 %110 to i32 %113 = add nsw i32 %112, 128 %114 = sext i8 %111 to i32 %115 = mul nsw i32 %113, %114 %116 = add i32 %115, %109 store i32 %116, i32* %lsr.iv131, align 4, !dbg !29 %scevgep110 = getelementptr i8, i8* %lsr.iv108, i64 %59, !dbg !29 %117 = load i8, i8* %scevgep110, align 1, !dbg !29 %scevgep134 = getelementptr [3 x [3 x [8 x i8]]], [3 x [3 x [8 x i8]]]* @__constant_3x3x8xi8, i64 0, i64 0, i64 0, i64 %59, !dbg !29 %scevgep135 = getelementptr i8, i8* %scevgep134, i64 64, !dbg !29 %118 = load i8, i8* %scevgep135, align 1, !dbg !29 %119 = sext i8 %117 to i32 %120 = add nsw i32 %119, 128 %121 = sext i8 %118 to i32 %122 = mul nsw i32 %120, %121 %123 = add i32 %122, %116 store i32 %123, i32* %lsr.iv131, align 4, !dbg !29 %124 = add nuw nsw i64 %59, 1, !dbg !29 %scevgep132 = getelementptr i32, i32* %lsr.iv131, i64 1, !dbg !29 %exitcond43.not = icmp eq i64 %124, 8, !dbg !29 br i1 %exitcond43.not, label %56, label %.preheader27.us.us.us, !dbg !29 .preheader28.us.us.us: ; preds = %.preheader30.us.us.us, %56 %lsr.iv129 = phi i32* [ %lsr.iv127, %.preheader30.us.us.us ], [ %scevgep130, %56 ] %lsr.iv108 = phi i8* [ %lsr.iv106, %.preheader30.us.us.us ], [ %scevgep109, %56 ] %125 = phi i64 [ 0, %.preheader30.us.us.us ], [ %126, %56 ] %126 = add nuw nsw i64 %125, 1 br label %.preheader27.us.us.us, !dbg !29 .preheader29.us.us.us: ; preds = %.preheader31.us.us.us, %.preheader29.us.us.us %lsr.iv = phi i64 [ 0, %.preheader31.us.us.us ], [ %lsr.iv.next, %.preheader29.us.us.us ] %127 = bitcast i32* %lsr.iv77 to i8* %128 = bitcast i32* %lsr.iv63 to i8* %uglygep = getelementptr i8, i8* %128, i64 %lsr.iv, !dbg !29 %uglygep66 = bitcast i8* %uglygep to i32*, !dbg !29 store i32 0, i32* %uglygep66, align 4, !dbg !29 %uglygep89 = getelementptr i8, i8* %127, i64 %lsr.iv, !dbg !29 %uglygep8990 = bitcast i8* %uglygep89 to i32*, !dbg !29 %scevgep91 = getelementptr i32, i32* %uglygep8990, i64 -3, !dbg !29 store i32 0, i32* %scevgep91, align 4, !dbg !29 %scevgep92 = getelementptr i32, i32* %uglygep8990, i64 -2, !dbg !29 store i32 0, i32* %scevgep92, align 4, !dbg !29 %uglygep93 = getelementptr i8, i8* %127, i64 %lsr.iv, !dbg !29 %uglygep9394 = bitcast i8* %uglygep93 to i32*, !dbg !29 %scevgep95 = getelementptr i32, i32* %uglygep9394, i64 -1, !dbg !29 store i32 0, i32* %scevgep95, align 4, !dbg !29 %uglygep80 = getelementptr i8, i8* %127, i64 %lsr.iv, !dbg !29 %uglygep8081 = bitcast i8* %uglygep80 to i32*, !dbg !29 store i32 0, i32* %uglygep8081, align 4, !dbg !29 %scevgep88 = getelementptr i32, i32* %uglygep8081, i64 1, !dbg !29 store i32 0, i32* %scevgep88, align 4, !dbg !29 %uglygep85 = getelementptr i8, i8* %127, i64 %lsr.iv, !dbg !29 %uglygep8586 = bitcast i8* %uglygep85 to i32*, !dbg !29 %scevgep87 = getelementptr i32, i32* %uglygep8586, i64 2, !dbg !29 store i32 0, i32* %scevgep87, align 4, !dbg !29 %uglygep82 = getelementptr i8, i8* %127, i64 %lsr.iv, !dbg !29 %uglygep8283 = bitcast i8* %uglygep82 to i32*, !dbg !29 %scevgep84 = getelementptr i32, i32* %uglygep8283, i64 3, !dbg !29 store i32 0, i32* %scevgep84, align 4, !dbg !29 %lsr.iv.next = add nuw nsw i64 %lsr.iv, 32, !dbg !29 %exitcond.not = icmp eq i64 %lsr.iv.next, 512, !dbg !29 br i1 %exitcond.not, label %57, label %.preheader29.us.us.us, !dbg !29 .preheader30.us.us.us: ; preds = %.preheader30.us.us.us.preheader, %54 %lsr.iv127 = phi i32* [ %lsr.iv60, %.preheader30.us.us.us.preheader ], [ %scevgep128, %54 ] %lsr.iv106 = phi i8* [ %lsr.iv103, %.preheader30.us.us.us.preheader ], [ %scevgep107, %54 ] %129 = phi i64 [ %55, %54 ], [ 0, %.preheader30.us.us.us.preheader ] br label %.preheader28.us.us.us, !dbg !29 .preheader31.us.us.us: ; preds = %57, %43 %lsr.iv77 = phi i32* [ %scevgep78, %57 ], [ %lsr.iv74, %43 ] %lsr.iv63 = phi i32* [ %scevgep64, %57 ], [ %lsr.iv60, %43 ] %130 = phi i64 [ 0, %43 ], [ %58, %57 ] br label %.preheader29.us.us.us, !dbg !29 ._crit_edge.us.us.us: ; preds = %45 %131 = bitcast i32* %lsr.iv71 to i1* %132 = bitcast i32* %lsr.iv57 to i1* %133 = bitcast i8* %lsr.iv100 to i1* %134 = add i64 %42, %22, !dbg !29 %scevgep59 = getelementptr i1, i1* %132, i64 %32, !dbg !29 %135 = bitcast i1* %scevgep59 to i32*, !dbg !29 %scevgep73 = getelementptr i1, i1* %131, i64 %32, !dbg !29 %136 = bitcast i1* %scevgep73 to i32*, !dbg !29 %scevgep102 = getelementptr i1, i1* %133, i64 %40, !dbg !29 %137 = bitcast i1* %scevgep102 to i8*, !dbg !29 %138 = icmp slt i64 %134, 48, !dbg !29 br i1 %138, label %.lr.ph.us.us.us, label %._crit_edge35.split.us.us.us, !dbg !29 ._crit_edge35.split.us.us.us: ; preds = %._crit_edge.us.us.us %139 = bitcast i32* %lsr.iv68 to i1* %140 = bitcast i32* %lsr.iv54 to i1* %141 = bitcast i8* %lsr.iv97 to i1* %142 = add i64 %41, %15, !dbg !29 %scevgep56 = getelementptr i1, i1* %140, i64 %31, !dbg !29 %143 = bitcast i1* %scevgep56 to i32*, !dbg !29 %scevgep70 = getelementptr i1, i1* %139, i64 %31, !dbg !29 %144 = bitcast i1* %scevgep70 to i32*, !dbg !29 %scevgep99 = getelementptr i1, i1* %141, i64 %39, !dbg !29 %145 = bitcast i1* %scevgep99 to i8*, !dbg !29 %146 = icmp slt i64 %142, 48, !dbg !29 br i1 %146, label %.lr.ph34.us.us, label %._crit_edge, !dbg !29 .lr.ph34.us: ; preds = %.lr.ph34.us.preheader, %._crit_edge35.split.us36 %147 = phi i64 [ %152, %._crit_edge35.split.us36 ], [ %14, %.lr.ph34.us.preheader ] br label %148, !dbg !29 148: ; preds = %.lr.ph34.us, %148 %149 = phi i64 [ %21, %.lr.ph34.us ], [ %150, %148 ] %150 = add i64 %149, %22, !dbg !29 %151 = icmp slt i64 %150, 48, !dbg !29 br i1 %151, label %148, label %._crit_edge35.split.us36, !dbg !29 ._crit_edge35.split.us36: ; preds = %148 %152 = add i64 %147, %15, !dbg !29 %153 = icmp slt i64 %152, 48, !dbg !29 br i1 %153, label %.lr.ph34.us, label %._crit_edge, !dbg !29 .lr.ph.split: ; preds = %.lr.ph.split.preheader, %.lr.ph.split %154 = phi i64 [ %155, %.lr.ph.split ], [ %14, %.lr.ph.split.preheader ] %155 = add i64 %154, %15, !dbg !29 %156 = icmp slt i64 %155, 48, !dbg !29 br i1 %156, label %.lr.ph.split, label %._crit_edge, !dbg !29 ._crit_edge: ; preds = %.lr.ph.split, %._crit_edge35.split.us36, %._crit_edge35.split.us.us.us, %3 ret i32 0, !dbg !29 } ; Function Attrs: nofree nosync nounwind define internal i32 @main_dispatch_5(%iree_hal_executable_environment_v0_t* noalias nocapture nonnull readnone byref(%iree_hal_executable_environment_v0_t) align 16 %0, %iree_hal_executable_dispatch_state_v0_t* noalias nocapture nonnull readonly byref(%iree_hal_executable_dispatch_state_v0_t) align 16 %1, %iree_hal_executable_workgroup_state_v0_t* noalias nocapture nonnull readonly byref(%iree_hal_executable_workgroup_state_v0_t) align 16 %2) #0 !dbg !32 { .preheader28: %.elt22 = getelementptr inbounds %iree_hal_executable_dispatch_state_v0_t, %iree_hal_executable_dispatch_state_v0_t* %1, i64 0, i32 10, !dbg !33 %.unpack23 = load i8**, i8*** %.elt22, align 16, !dbg !33 %3 = bitcast i8** %.unpack23 to i32**, !dbg !33 %4 = load i32*, i32** %3, align 8, !dbg !33 %5 = getelementptr i8*, i8** %.unpack23, i64 1, !dbg !36 %6 = load i8*, i8** %5, align 8, !dbg !36 %7 = load %iree_hal_executable_workgroup_state_v0_t, %iree_hal_executable_workgroup_state_v0_t* %2, align 16, !dbg !36 %8 = extractvalue %iree_hal_executable_workgroup_state_v0_t %7, 0, !dbg !36 %9 = zext i32 %8 to i64, !dbg !36 %10 = extractvalue %iree_hal_executable_workgroup_state_v0_t %7, 1, !dbg !36 %11 = zext i32 %10 to i64, !dbg !36 %12 = extractvalue %iree_hal_executable_workgroup_state_v0_t %7, 2, !dbg !36 %13 = zext i16 %12 to i64, !dbg !36 %14 = shl nuw nsw i64 %9, 3, !dbg !36 %15 = mul i64 %13, 6144, !dbg !36 %16 = shl i64 %11, 7, !dbg !36 %17 = add nuw nsw i64 %15, %16, !dbg !36 %18 = getelementptr [8 x i32], [8 x i32]* @__constant_8xi32_0, i64 0, i64 %14, !dbg !37 %19 = load i32, i32* %18, align 16, !dbg !37 %20 = insertelement <8 x i32> poison, i32 %19, i64 0, !dbg !36 %21 = or i64 %14, 1, !dbg !36 %22 = getelementptr [8 x i32], [8 x i32]* @__constant_8xi32_0, i64 0, i64 %21, !dbg !37 %23 = load i32, i32* %22, align 4, !dbg !37 %24 = insertelement <8 x i32> %20, i32 %23, i64 1, !dbg !36 %25 = or i64 %14, 2, !dbg !36 %26 = getelementptr [8 x i32], [8 x i32]* @__constant_8xi32_0, i64 0, i64 %25, !dbg !37 %27 = load i32, i32* %26, align 8, !dbg !37 %28 = insertelement <8 x i32> %24, i32 %27, i64 2, !dbg !36 %29 = or i64 %14, 3, !dbg !36 %30 = getelementptr [8 x i32], [8 x i32]* @__constant_8xi32_0, i64 0, i64 %29, !dbg !37 %31 = load i32, i32* %30, align 4, !dbg !37 %32 = insertelement <8 x i32> %28, i32 %31, i64 3, !dbg !36 %33 = or i64 %14, 4, !dbg !36 %34 = getelementptr [8 x i32], [8 x i32]* @__constant_8xi32_0, i64 0, i64 %33, !dbg !37 %35 = load i32, i32* %34, align 16, !dbg !37 %36 = insertelement <8 x i32> %32, i32 %35, i64 4, !dbg !36 %37 = or i64 %14, 5, !dbg !36 %38 = getelementptr [8 x i32], [8 x i32]* @__constant_8xi32_0, i64 0, i64 %37, !dbg !37 %39 = load i32, i32* %38, align 4, !dbg !37 %40 = insertelement <8 x i32> %36, i32 %39, i64 5, !dbg !36 %41 = or i64 %14, 6, !dbg !36 %42 = getelementptr [8 x i32], [8 x i32]* @__constant_8xi32_0, i64 0, i64 %41, !dbg !37 %43 = load i32, i32* %42, align 8, !dbg !37 %44 = insertelement <8 x i32> %40, i32 %43, i64 6, !dbg !36 %45 = or i64 %14, 7, !dbg !36 %46 = getelementptr [8 x i32], [8 x i32]* @__constant_8xi32_0, i64 0, i64 %45, !dbg !37 %47 = load i32, i32* %46, align 4, !dbg !37 %48 = insertelement <8 x i32> %44, i32 %47, i64 7, !dbg !36 %49 = getelementptr [8 x i32], [8 x i32]* @__constant_8xi32, i64 0, i64 %14, !dbg !36 %50 = load i32, i32* %49, align 16, !dbg !36 %51 = insertelement <8 x i32> poison, i32 %50, i64 0, !dbg !36 %52 = getelementptr [8 x i32], [8 x i32]* @__constant_8xi32, i64 0, i64 %21, !dbg !36 %53 = load i32, i32* %52, align 4, !dbg !36 %54 = insertelement <8 x i32> %51, i32 %53, i64 1, !dbg !36 %55 = getelementptr [8 x i32], [8 x i32]* @__constant_8xi32, i64 0, i64 %25, !dbg !36 %56 = load i32, i32* %55, align 8, !dbg !36 %57 = insertelement <8 x i32> %54, i32 %56, i64 2, !dbg !36 %58 = getelementptr [8 x i32], [8 x i32]* @__constant_8xi32, i64 0, i64 %29, !dbg !36 %59 = load i32, i32* %58, align 4, !dbg !36 %60 = insertelement <8 x i32> %57, i32 %59, i64 3, !dbg !36 %61 = getelementptr [8 x i32], [8 x i32]* @__constant_8xi32, i64 0, i64 %33, !dbg !36 %62 = load i32, i32* %61, align 16, !dbg !36 %63 = insertelement <8 x i32> %60, i32 %62, i64 4, !dbg !36 %64 = getelementptr [8 x i32], [8 x i32]* @__constant_8xi32, i64 0, i64 %37, !dbg !36 %65 = load i32, i32* %64, align 4, !dbg !36 %66 = insertelement <8 x i32> %63, i32 %65, i64 5, !dbg !36 %67 = getelementptr [8 x i32], [8 x i32]* @__constant_8xi32, i64 0, i64 %41, !dbg !36 %68 = load i32, i32* %67, align 8, !dbg !36 %69 = insertelement <8 x i32> %66, i32 %68, i64 6, !dbg !36 %70 = getelementptr [8 x i32], [8 x i32]* @__constant_8xi32, i64 0, i64 %45, !dbg !36 %71 = load i32, i32* %70, align 4, !dbg !36 %72 = insertelement <8 x i32> %69, i32 %71, i64 7, !dbg !36 %73 = getelementptr [8 x i8], [8 x i8]* @__constant_8xi8, i64 0, i64 %14, !dbg !36 %74 = load i8, i8* %73, align 1, !dbg !36 %75 = insertelement <8 x i8> poison, i8 %74, i64 0, !dbg !36 %76 = getelementptr [8 x i8], [8 x i8]* @__constant_8xi8, i64 0, i64 %21, !dbg !36 %77 = load i8, i8* %76, align 1, !dbg !36 %78 = insertelement <8 x i8> %75, i8 %77, i64 1, !dbg !36 %79 = getelementptr [8 x i8], [8 x i8]* @__constant_8xi8, i64 0, i64 %25, !dbg !36 %80 = load i8, i8* %79, align 1, !dbg !36 %81 = insertelement <8 x i8> %78, i8 %80, i64 2, !dbg !36 %82 = getelementptr [8 x i8], [8 x i8]* @__constant_8xi8, i64 0, i64 %29, !dbg !36 %83 = load i8, i8* %82, align 1, !dbg !36 %84 = insertelement <8 x i8> %81, i8 %83, i64 3, !dbg !36 %85 = getelementptr [8 x i8], [8 x i8]* @__constant_8xi8, i64 0, i64 %33, !dbg !36 %86 = load i8, i8* %85, align 1, !dbg !36 %87 = insertelement <8 x i8> %84, i8 %86, i64 4, !dbg !36 %88 = getelementptr [8 x i8], [8 x i8]* @__constant_8xi8, i64 0, i64 %37, !dbg !36 %89 = load i8, i8* %88, align 1, !dbg !36 %90 = insertelement <8 x i8> %87, i8 %89, i64 5, !dbg !36 %91 = getelementptr [8 x i8], [8 x i8]* @__constant_8xi8, i64 0, i64 %41, !dbg !36 %92 = load i8, i8* %91, align 1, !dbg !36 %93 = insertelement <8 x i8> %90, i8 %92, i64 6, !dbg !36 %94 = getelementptr [8 x i8], [8 x i8]* @__constant_8xi8, i64 0, i64 %45, !dbg !36 %95 = load i8, i8* %94, align 1, !dbg !36 %96 = insertelement <8 x i8> %93, i8 %95, i64 7, !dbg !36 %97 = add nuw nsw i64 %17, %14, !dbg !36 %98 = sext <8 x i32> %72 to <8 x i64> %99 = zext <8 x i8> %96 to <8 x i64> %100 = shl <8 x i64> , %99 %101 = lshr <8 x i64> %100, %scevgep = getelementptr i32, i32* %4, i64 %97, !dbg !36 %102 = add i64 %15, %16, !dbg !36 %103 = add i64 %102, %14, !dbg !36 %104 = add i64 %103, 73728, !dbg !36 %scevgep39 = getelementptr i8, i8* %6, i64 %104, !dbg !36 br label %.preheader, !dbg !36 .preheader: ; preds = %.preheader28, %123 %lsr.iv40 = phi i8* [ %scevgep39, %.preheader28 ], [ %scevgep41, %123 ] %lsr.iv34 = phi i32* [ %scevgep, %.preheader28 ], [ %scevgep35, %123 ] %105 = phi i64 [ 0, %.preheader28 ], [ %124, %123 ] br label %106, !dbg !36 106: ; preds = %.preheader, %106 %lsr.iv36 = phi i32* [ %lsr.iv34, %.preheader ], [ %scevgep37, %106 ] %lsr.iv = phi i64 [ 0, %.preheader ], [ %lsr.iv.next, %106 ] %107 = icmp ugt <8 x i8> %96, %lsr.iv3638 = bitcast i32* %lsr.iv36 to <8 x i32>*, !dbg !36 %108 = load <8 x i32>, <8 x i32>* %lsr.iv3638, align 4, !dbg !36 %109 = add <8 x i32> %108, %48, !dbg !33 %110 = sext <8 x i32> %109 to <8 x i64>, !dbg !36 %111 = mul nsw <8 x i64> %110, %98, !dbg !36 %112 = add <8 x i64> %111, %101, !dbg !36 %113 = icmp sgt <8 x i32> %109, , !dbg !36 %114 = select <8 x i1> %113, <8 x i64> , <8 x i64> , !dbg !36 %115 = select <8 x i1> %107, <8 x i64> %114, <8 x i64> zeroinitializer, !dbg !36 %116 = add <8 x i64> %112, %115, !dbg !36 %117 = ashr <8 x i64> %116, %99, !dbg !36 %118 = trunc <8 x i64> %117 to <8 x i32>, !dbg !36 %119 = add <8 x i32> %118, , !dbg !36 %120 = tail call <8 x i32> @llvm.smax.v8i32(<8 x i32> %119, <8 x i32> ), !dbg !36 %121 = tail call <8 x i32> @llvm.smin.v8i32(<8 x i32> %120, <8 x i32> ), !dbg !36 %122 = trunc <8 x i32> %121 to <8 x i8>, !dbg !36 %scevgep42 = getelementptr i8, i8* %lsr.iv40, i64 %lsr.iv, !dbg !36 %scevgep4243 = bitcast i8* %scevgep42 to <8 x i8>*, !dbg !36 store <8 x i8> %122, <8 x i8>* %scevgep4243, align 1, !dbg !36 %lsr.iv.next = add nuw nsw i64 %lsr.iv, 8, !dbg !36 %scevgep37 = getelementptr i32, i32* %lsr.iv36, i64 8, !dbg !36 %exitcond.not = icmp eq i64 %lsr.iv.next, 128, !dbg !36 br i1 %exitcond.not, label %123, label %106, !dbg !36 123: ; preds = %106 %124 = add nuw nsw i64 %105, 1, !dbg !36 %scevgep35 = getelementptr i32, i32* %lsr.iv34, i64 384, !dbg !36 %scevgep41 = getelementptr i8, i8* %lsr.iv40, i64 384, !dbg !36 %exitcond33.not = icmp eq i64 %124, 16, !dbg !36 br i1 %exitcond33.not, label %125, label %.preheader, !dbg !36 125: ; preds = %123 ret i32 0, !dbg !36 } ; Function Attrs: nofree nosync nounwind define internal i32 @main_dispatch_6(%iree_hal_executable_environment_v0_t* noalias nocapture nonnull readnone byref(%iree_hal_executable_environment_v0_t) align 16 %0, %iree_hal_executable_dispatch_state_v0_t* noalias nocapture nonnull readonly byref(%iree_hal_executable_dispatch_state_v0_t) align 16 %1, %iree_hal_executable_workgroup_state_v0_t* noalias nocapture nonnull readonly byref(%iree_hal_executable_workgroup_state_v0_t) align 16 %2) #0 !dbg !38 { %.elt19 = getelementptr inbounds %iree_hal_executable_dispatch_state_v0_t, %iree_hal_executable_dispatch_state_v0_t* %1, i64 0, i32 10, !dbg !39 %.unpack20 = load i8**, i8*** %.elt19, align 16, !dbg !39 %4 = load i8*, i8** %.unpack20, align 8, !dbg !39 %5 = getelementptr i8, i8* %4, i64 92160, !dbg !39 %6 = bitcast %iree_hal_executable_workgroup_state_v0_t* %2 to i32*, !dbg !39 %7 = load i32, i32* %6, align 16, !dbg !39 %8 = zext i32 %7 to i64, !dbg !39 %scevgep = getelementptr [8 x [16 x i8]], [8 x [16 x i8]]* @__constant_8x16xi8, i64 0, i64 %8, i64 7, !dbg !39 br label %.preheader, !dbg !39 .preheader: ; preds = %3, %.preheader %lsr.iv = phi i64 [ 0, %3 ], [ %lsr.iv.next, %.preheader ] %9 = phi <16 x i32> [ zeroinitializer, %3 ], [ %43, %.preheader ] %scevgep26 = getelementptr i8, i8* %scevgep, i64 %lsr.iv, !dbg !39 %scevgep27 = getelementptr i8, i8* %scevgep26, i64 -7, !dbg !39 %10 = load i8, i8* %scevgep27, align 16, !dbg !39 %11 = insertelement <16 x i8> , i8 %10, i64 0, !dbg !39 %scevgep30 = getelementptr i8, i8* %scevgep, i64 %lsr.iv, !dbg !39 %scevgep31 = getelementptr i8, i8* %scevgep30, i64 -6, !dbg !39 %12 = load i8, i8* %scevgep31, align 1, !dbg !39 %13 = insertelement <16 x i8> %11, i8 %12, i64 1, !dbg !39 %scevgep32 = getelementptr i8, i8* %scevgep, i64 %lsr.iv, !dbg !39 %scevgep33 = getelementptr i8, i8* %scevgep32, i64 -5, !dbg !39 %14 = load i8, i8* %scevgep33, align 2, !dbg !39 %15 = insertelement <16 x i8> %13, i8 %14, i64 2, !dbg !39 %scevgep34 = getelementptr i8, i8* %scevgep, i64 %lsr.iv, !dbg !39 %scevgep35 = getelementptr i8, i8* %scevgep34, i64 -4, !dbg !39 %16 = load i8, i8* %scevgep35, align 1, !dbg !39 %17 = insertelement <16 x i8> %15, i8 %16, i64 3, !dbg !39 %scevgep36 = getelementptr i8, i8* %scevgep, i64 %lsr.iv, !dbg !39 %scevgep37 = getelementptr i8, i8* %scevgep36, i64 -3, !dbg !39 %18 = load i8, i8* %scevgep37, align 4, !dbg !39 %19 = insertelement <16 x i8> %17, i8 %18, i64 4, !dbg !39 %scevgep38 = getelementptr i8, i8* %scevgep, i64 %lsr.iv, !dbg !39 %scevgep39 = getelementptr i8, i8* %scevgep38, i64 -2, !dbg !39 %20 = load i8, i8* %scevgep39, align 1, !dbg !39 %21 = insertelement <16 x i8> %19, i8 %20, i64 5, !dbg !39 %scevgep40 = getelementptr i8, i8* %scevgep, i64 %lsr.iv, !dbg !39 %scevgep41 = getelementptr i8, i8* %scevgep40, i64 -1, !dbg !39 %22 = load i8, i8* %scevgep41, align 2, !dbg !39 %23 = insertelement <16 x i8> %21, i8 %22, i64 6, !dbg !39 %scevgep25 = getelementptr i8, i8* %scevgep, i64 %lsr.iv, !dbg !39 %24 = load i8, i8* %scevgep25, align 1, !dbg !39 %25 = insertelement <16 x i8> %23, i8 %24, i64 7, !dbg !39 %scevgep44 = getelementptr i8, i8* %scevgep, i64 %lsr.iv, !dbg !39 %scevgep45 = getelementptr i8, i8* %scevgep44, i64 1, !dbg !39 %26 = load i8, i8* %scevgep45, align 8, !dbg !39 %27 = insertelement <16 x i8> %25, i8 %26, i64 8, !dbg !39 %scevgep46 = getelementptr i8, i8* %scevgep, i64 %lsr.iv, !dbg !39 %scevgep47 = getelementptr i8, i8* %scevgep46, i64 2, !dbg !39 %28 = load i8, i8* %scevgep47, align 1, !dbg !39 %29 = insertelement <16 x i8> %27, i8 %28, i64 9, !dbg !39 %scevgep48 = getelementptr i8, i8* %scevgep, i64 %lsr.iv, !dbg !39 %scevgep49 = getelementptr i8, i8* %scevgep48, i64 3, !dbg !39 %30 = load i8, i8* %scevgep49, align 2, !dbg !39 %31 = insertelement <16 x i8> %29, i8 %30, i64 10, !dbg !39 %scevgep50 = getelementptr i8, i8* %scevgep, i64 %lsr.iv, !dbg !39 %scevgep51 = getelementptr i8, i8* %scevgep50, i64 4, !dbg !39 %32 = load i8, i8* %scevgep51, align 1, !dbg !39 %33 = insertelement <16 x i8> %31, i8 %32, i64 11, !dbg !39 %scevgep52 = getelementptr i8, i8* %scevgep, i64 %lsr.iv, !dbg !39 %scevgep53 = getelementptr i8, i8* %scevgep52, i64 5, !dbg !39 %34 = load i8, i8* %scevgep53, align 4, !dbg !39 %35 = insertelement <16 x i8> %33, i8 %34, i64 12, !dbg !39 %scevgep54 = getelementptr i8, i8* %scevgep, i64 %lsr.iv, !dbg !39 %scevgep55 = getelementptr i8, i8* %scevgep54, i64 6, !dbg !39 %36 = load i8, i8* %scevgep55, align 1, !dbg !39 %37 = insertelement <16 x i8> %35, i8 %36, i64 13, !dbg !39 %scevgep42 = getelementptr i8, i8* %scevgep, i64 %lsr.iv, !dbg !39 %scevgep43 = getelementptr i8, i8* %scevgep42, i64 7, !dbg !39 %38 = load i8, i8* %scevgep43, align 2, !dbg !39 %39 = insertelement <16 x i8> %37, i8 %38, i64 14, !dbg !39 %scevgep28 = getelementptr i8, i8* %scevgep, i64 %lsr.iv, !dbg !39 %scevgep29 = getelementptr i8, i8* %scevgep28, i64 8, !dbg !39 %40 = load i8, i8* %scevgep29, align 1, !dbg !39 %41 = insertelement <16 x i8> %39, i8 %40, i64 15, !dbg !39 %42 = sext <16 x i8> %41 to <16 x i32>, !dbg !39 %43 = add <16 x i32> %9, %42, !dbg !39 %lsr.iv.next = add nuw nsw i64 %lsr.iv, 16, !dbg !39 %exitcond.not = icmp eq i64 %lsr.iv.next, 128, !dbg !39 br i1 %exitcond.not, label %44, label %.preheader, !dbg !39 44: ; preds = %.preheader %45 = bitcast i8* %5 to <16 x i32>*, !dbg !39 store <16 x i32> %43, <16 x i32>* %45, align 64, !dbg !39 ret i32 0, !dbg !39 } ; Function Attrs: nofree nosync nounwind define internal i32 @main_dispatch_7(%iree_hal_executable_environment_v0_t* noalias nocapture nonnull readnone byref(%iree_hal_executable_environment_v0_t) align 16 %0, %iree_hal_executable_dispatch_state_v0_t* noalias nocapture nonnull readonly byref(%iree_hal_executable_dispatch_state_v0_t) align 16 %1, %iree_hal_executable_workgroup_state_v0_t* noalias nocapture nonnull readonly byref(%iree_hal_executable_workgroup_state_v0_t) align 16 %2) #0 !dbg !42 { .preheader40: %.elt30 = getelementptr inbounds %iree_hal_executable_dispatch_state_v0_t, %iree_hal_executable_dispatch_state_v0_t* %1, i64 0, i32 10, !dbg !43 %.unpack31 = load i8**, i8*** %.elt30, align 16, !dbg !43 %3 = load i8*, i8** %.unpack31, align 8, !dbg !43 %4 = getelementptr i8, i8* %3, i64 92160, !dbg !43 %5 = getelementptr i8*, i8** %.unpack31, i64 1, !dbg !46 %6 = load i8*, i8** %5, align 8, !dbg !46 %7 = load %iree_hal_executable_workgroup_state_v0_t, %iree_hal_executable_workgroup_state_v0_t* %2, align 16, !dbg !46 %8 = extractvalue %iree_hal_executable_workgroup_state_v0_t %7, 0, !dbg !46 %9 = zext i32 %8 to i64, !dbg !46 %10 = extractvalue %iree_hal_executable_workgroup_state_v0_t %7, 1, !dbg !46 %11 = zext i32 %10 to i64, !dbg !46 %12 = shl nuw nsw i64 %9, 4, !dbg !46 %13 = shl i64 %11, 12, !dbg !46 %14 = getelementptr [8 x [16 x i8]], [8 x [16 x i8]]* @__constant_8x16xi8, i64 0, i64 0, i64 %12, !dbg !43 %15 = load i8, i8* %14, align 16, !dbg !43 %16 = or i64 %12, 1, !dbg !43 %17 = getelementptr [8 x [16 x i8]], [8 x [16 x i8]]* @__constant_8x16xi8, i64 0, i64 0, i64 %16, !dbg !43 %18 = load i8, i8* %17, align 1, !dbg !43 %19 = or i64 %12, 2, !dbg !43 %20 = getelementptr [8 x [16 x i8]], [8 x [16 x i8]]* @__constant_8x16xi8, i64 0, i64 0, i64 %19, !dbg !43 %21 = load i8, i8* %20, align 2, !dbg !43 %22 = or i64 %12, 3, !dbg !43 %23 = getelementptr [8 x [16 x i8]], [8 x [16 x i8]]* @__constant_8x16xi8, i64 0, i64 0, i64 %22, !dbg !43 %24 = load i8, i8* %23, align 1, !dbg !43 %25 = or i64 %12, 4, !dbg !43 %26 = getelementptr [8 x [16 x i8]], [8 x [16 x i8]]* @__constant_8x16xi8, i64 0, i64 0, i64 %25, !dbg !43 %27 = load i8, i8* %26, align 4, !dbg !43 %28 = or i64 %12, 5, !dbg !43 %29 = getelementptr [8 x [16 x i8]], [8 x [16 x i8]]* @__constant_8x16xi8, i64 0, i64 0, i64 %28, !dbg !43 %30 = load i8, i8* %29, align 1, !dbg !43 %31 = or i64 %12, 6, !dbg !43 %32 = getelementptr [8 x [16 x i8]], [8 x [16 x i8]]* @__constant_8x16xi8, i64 0, i64 0, i64 %31, !dbg !43 %33 = load i8, i8* %32, align 2, !dbg !43 %34 = or i64 %12, 7, !dbg !43 %35 = getelementptr [8 x [16 x i8]], [8 x [16 x i8]]* @__constant_8x16xi8, i64 0, i64 0, i64 %34, !dbg !43 %36 = load i8, i8* %35, align 1, !dbg !43 %37 = or i64 %12, 8, !dbg !43 %38 = getelementptr [8 x [16 x i8]], [8 x [16 x i8]]* @__constant_8x16xi8, i64 0, i64 0, i64 %37, !dbg !43 %39 = load i8, i8* %38, align 8, !dbg !43 %40 = or i64 %12, 9, !dbg !43 %41 = getelementptr [8 x [16 x i8]], [8 x [16 x i8]]* @__constant_8x16xi8, i64 0, i64 0, i64 %40, !dbg !43 %42 = load i8, i8* %41, align 1, !dbg !43 %43 = or i64 %12, 10, !dbg !43 %44 = getelementptr [8 x [16 x i8]], [8 x [16 x i8]]* @__constant_8x16xi8, i64 0, i64 0, i64 %43, !dbg !43 %45 = load i8, i8* %44, align 2, !dbg !43 %46 = or i64 %12, 11, !dbg !43 %47 = getelementptr [8 x [16 x i8]], [8 x [16 x i8]]* @__constant_8x16xi8, i64 0, i64 0, i64 %46, !dbg !43 %48 = load i8, i8* %47, align 1, !dbg !43 %49 = or i64 %12, 12, !dbg !43 %50 = getelementptr [8 x [16 x i8]], [8 x [16 x i8]]* @__constant_8x16xi8, i64 0, i64 0, i64 %49, !dbg !43 %51 = load i8, i8* %50, align 4, !dbg !43 %52 = or i64 %12, 13, !dbg !43 %53 = getelementptr [8 x [16 x i8]], [8 x [16 x i8]]* @__constant_8x16xi8, i64 0, i64 0, i64 %52, !dbg !43 %54 = load i8, i8* %53, align 1, !dbg !43 %55 = or i64 %12, 14, !dbg !43 %56 = getelementptr [8 x [16 x i8]], [8 x [16 x i8]]* @__constant_8x16xi8, i64 0, i64 0, i64 %55, !dbg !43 %57 = load i8, i8* %56, align 2, !dbg !43 %58 = or i64 %12, 15, !dbg !43 %59 = getelementptr [8 x [16 x i8]], [8 x [16 x i8]]* @__constant_8x16xi8, i64 0, i64 0, i64 %58, !dbg !43 %60 = load i8, i8* %59, align 1, !dbg !43 %61 = shl i64 %11, 11, !dbg !43 %62 = add nuw nsw i64 %12, 16 %63 = getelementptr [8 x [16 x i8]], [8 x [16 x i8]]* @__constant_8x16xi8, i64 0, i64 0, i64 %62, !dbg !43 %64 = load i8, i8* %63, align 16, !dbg !43 %65 = add nuw nsw i64 %12, 17, !dbg !43 %66 = getelementptr [8 x [16 x i8]], [8 x [16 x i8]]* @__constant_8x16xi8, i64 0, i64 0, i64 %65, !dbg !43 %67 = load i8, i8* %66, align 1, !dbg !43 %68 = add nuw nsw i64 %12, 18, !dbg !43 %69 = getelementptr [8 x [16 x i8]], [8 x [16 x i8]]* @__constant_8x16xi8, i64 0, i64 0, i64 %68, !dbg !43 %70 = load i8, i8* %69, align 2, !dbg !43 %71 = add nuw nsw i64 %12, 19, !dbg !43 %72 = getelementptr [8 x [16 x i8]], [8 x [16 x i8]]* @__constant_8x16xi8, i64 0, i64 0, i64 %71, !dbg !43 %73 = load i8, i8* %72, align 1, !dbg !43 %74 = add nuw nsw i64 %12, 20, !dbg !43 %75 = getelementptr [8 x [16 x i8]], [8 x [16 x i8]]* @__constant_8x16xi8, i64 0, i64 0, i64 %74, !dbg !43 %76 = load i8, i8* %75, align 4, !dbg !43 %77 = add nuw nsw i64 %12, 21, !dbg !43 %78 = getelementptr [8 x [16 x i8]], [8 x [16 x i8]]* @__constant_8x16xi8, i64 0, i64 0, i64 %77, !dbg !43 %79 = load i8, i8* %78, align 1, !dbg !43 %80 = add nuw nsw i64 %12, 22, !dbg !43 %81 = getelementptr [8 x [16 x i8]], [8 x [16 x i8]]* @__constant_8x16xi8, i64 0, i64 0, i64 %80, !dbg !43 %82 = load i8, i8* %81, align 2, !dbg !43 %83 = add nuw nsw i64 %12, 23, !dbg !43 %84 = getelementptr [8 x [16 x i8]], [8 x [16 x i8]]* @__constant_8x16xi8, i64 0, i64 0, i64 %83, !dbg !43 %85 = load i8, i8* %84, align 1, !dbg !43 %86 = add nuw nsw i64 %12, 24, !dbg !43 %87 = getelementptr [8 x [16 x i8]], [8 x [16 x i8]]* @__constant_8x16xi8, i64 0, i64 0, i64 %86, !dbg !43 %88 = load i8, i8* %87, align 8, !dbg !43 %89 = add nuw nsw i64 %12, 25, !dbg !43 %90 = getelementptr [8 x [16 x i8]], [8 x [16 x i8]]* @__constant_8x16xi8, i64 0, i64 0, i64 %89, !dbg !43 %91 = load i8, i8* %90, align 1, !dbg !43 %92 = add nuw nsw i64 %12, 26, !dbg !43 %93 = getelementptr [8 x [16 x i8]], [8 x [16 x i8]]* @__constant_8x16xi8, i64 0, i64 0, i64 %92, !dbg !43 %94 = load i8, i8* %93, align 2, !dbg !43 %95 = add nuw nsw i64 %12, 27, !dbg !43 %96 = getelementptr [8 x [16 x i8]], [8 x [16 x i8]]* @__constant_8x16xi8, i64 0, i64 0, i64 %95, !dbg !43 %97 = load i8, i8* %96, align 1, !dbg !43 %98 = add nuw nsw i64 %12, 28, !dbg !43 %99 = getelementptr [8 x [16 x i8]], [8 x [16 x i8]]* @__constant_8x16xi8, i64 0, i64 0, i64 %98, !dbg !43 %100 = load i8, i8* %99, align 4, !dbg !43 %101 = add nuw nsw i64 %12, 29, !dbg !43 %102 = getelementptr [8 x [16 x i8]], [8 x [16 x i8]]* @__constant_8x16xi8, i64 0, i64 0, i64 %101, !dbg !43 %103 = load i8, i8* %102, align 1, !dbg !43 %104 = add nuw nsw i64 %12, 30, !dbg !43 %105 = getelementptr [8 x [16 x i8]], [8 x [16 x i8]]* @__constant_8x16xi8, i64 0, i64 0, i64 %104, !dbg !43 %106 = load i8, i8* %105, align 2, !dbg !43 %107 = add nuw nsw i64 %12, 31, !dbg !43 %108 = getelementptr [8 x [16 x i8]], [8 x [16 x i8]]* @__constant_8x16xi8, i64 0, i64 0, i64 %107, !dbg !43 %109 = load i8, i8* %108, align 1, !dbg !43 %110 = insertelement <16 x i8> , i8 %15, i64 0, !dbg !43 %111 = insertelement <16 x i8> %110, i8 %18, i64 1, !dbg !43 %112 = insertelement <16 x i8> %111, i8 %21, i64 2, !dbg !43 %113 = insertelement <16 x i8> %112, i8 %24, i64 3, !dbg !43 %114 = insertelement <16 x i8> %113, i8 %27, i64 4, !dbg !43 %115 = insertelement <16 x i8> %114, i8 %30, i64 5, !dbg !43 %116 = insertelement <16 x i8> %115, i8 %33, i64 6, !dbg !43 %117 = insertelement <16 x i8> %116, i8 %36, i64 7, !dbg !43 %118 = insertelement <16 x i8> %117, i8 %39, i64 8, !dbg !43 %119 = insertelement <16 x i8> %118, i8 %42, i64 9, !dbg !43 %120 = insertelement <16 x i8> %119, i8 %45, i64 10, !dbg !43 %121 = insertelement <16 x i8> %120, i8 %48, i64 11, !dbg !43 %122 = insertelement <16 x i8> %121, i8 %51, i64 12, !dbg !43 %123 = insertelement <16 x i8> %122, i8 %54, i64 13, !dbg !43 %124 = insertelement <16 x i8> %123, i8 %57, i64 14, !dbg !43 %125 = insertelement <16 x i8> %124, i8 %60, i64 15, !dbg !43 %126 = add nuw nsw i64 %12, 32 %127 = getelementptr [8 x [16 x i8]], [8 x [16 x i8]]* @__constant_8x16xi8, i64 0, i64 0, i64 %126, !dbg !43 %128 = load i8, i8* %127, align 16, !dbg !43 %129 = add nuw nsw i64 %12, 33, !dbg !43 %130 = getelementptr [8 x [16 x i8]], [8 x [16 x i8]]* @__constant_8x16xi8, i64 0, i64 0, i64 %129, !dbg !43 %131 = load i8, i8* %130, align 1, !dbg !43 %132 = add nuw nsw i64 %12, 34, !dbg !43 %133 = getelementptr [8 x [16 x i8]], [8 x [16 x i8]]* @__constant_8x16xi8, i64 0, i64 0, i64 %132, !dbg !43 %134 = load i8, i8* %133, align 2, !dbg !43 %135 = add nuw nsw i64 %12, 35, !dbg !43 %136 = getelementptr [8 x [16 x i8]], [8 x [16 x i8]]* @__constant_8x16xi8, i64 0, i64 0, i64 %135, !dbg !43 %137 = load i8, i8* %136, align 1, !dbg !43 %138 = add nuw nsw i64 %12, 36, !dbg !43 %139 = getelementptr [8 x [16 x i8]], [8 x [16 x i8]]* @__constant_8x16xi8, i64 0, i64 0, i64 %138, !dbg !43 %140 = load i8, i8* %139, align 4, !dbg !43 %141 = add nuw nsw i64 %12, 37, !dbg !43 %142 = getelementptr [8 x [16 x i8]], [8 x [16 x i8]]* @__constant_8x16xi8, i64 0, i64 0, i64 %141, !dbg !43 %143 = load i8, i8* %142, align 1, !dbg !43 %144 = add nuw nsw i64 %12, 38, !dbg !43 %145 = getelementptr [8 x [16 x i8]], [8 x [16 x i8]]* @__constant_8x16xi8, i64 0, i64 0, i64 %144, !dbg !43 %146 = load i8, i8* %145, align 2, !dbg !43 %147 = add nuw nsw i64 %12, 39, !dbg !43 %148 = getelementptr [8 x [16 x i8]], [8 x [16 x i8]]* @__constant_8x16xi8, i64 0, i64 0, i64 %147, !dbg !43 %149 = load i8, i8* %148, align 1, !dbg !43 %150 = add nuw nsw i64 %12, 40, !dbg !43 %151 = getelementptr [8 x [16 x i8]], [8 x [16 x i8]]* @__constant_8x16xi8, i64 0, i64 0, i64 %150, !dbg !43 %152 = load i8, i8* %151, align 8, !dbg !43 %153 = add nuw nsw i64 %12, 41, !dbg !43 %154 = getelementptr [8 x [16 x i8]], [8 x [16 x i8]]* @__constant_8x16xi8, i64 0, i64 0, i64 %153, !dbg !43 %155 = load i8, i8* %154, align 1, !dbg !43 %156 = add nuw nsw i64 %12, 42, !dbg !43 %157 = getelementptr [8 x [16 x i8]], [8 x [16 x i8]]* @__constant_8x16xi8, i64 0, i64 0, i64 %156, !dbg !43 %158 = load i8, i8* %157, align 2, !dbg !43 %159 = add nuw nsw i64 %12, 43, !dbg !43 %160 = getelementptr [8 x [16 x i8]], [8 x [16 x i8]]* @__constant_8x16xi8, i64 0, i64 0, i64 %159, !dbg !43 %161 = load i8, i8* %160, align 1, !dbg !43 %162 = add nuw nsw i64 %12, 44, !dbg !43 %163 = getelementptr [8 x [16 x i8]], [8 x [16 x i8]]* @__constant_8x16xi8, i64 0, i64 0, i64 %162, !dbg !43 %164 = load i8, i8* %163, align 4, !dbg !43 %165 = add nuw nsw i64 %12, 45, !dbg !43 %166 = getelementptr [8 x [16 x i8]], [8 x [16 x i8]]* @__constant_8x16xi8, i64 0, i64 0, i64 %165, !dbg !43 %167 = load i8, i8* %166, align 1, !dbg !43 %168 = add nuw nsw i64 %12, 46, !dbg !43 %169 = getelementptr [8 x [16 x i8]], [8 x [16 x i8]]* @__constant_8x16xi8, i64 0, i64 0, i64 %168, !dbg !43 %170 = load i8, i8* %169, align 2, !dbg !43 %171 = add nuw nsw i64 %12, 47, !dbg !43 %172 = getelementptr [8 x [16 x i8]], [8 x [16 x i8]]* @__constant_8x16xi8, i64 0, i64 0, i64 %171, !dbg !43 %173 = load i8, i8* %172, align 1, !dbg !43 %174 = insertelement <16 x i8> , i8 %64, i64 0, !dbg !43 %175 = insertelement <16 x i8> %174, i8 %67, i64 1, !dbg !43 %176 = insertelement <16 x i8> %175, i8 %70, i64 2, !dbg !43 %177 = insertelement <16 x i8> %176, i8 %73, i64 3, !dbg !43 %178 = insertelement <16 x i8> %177, i8 %76, i64 4, !dbg !43 %179 = insertelement <16 x i8> %178, i8 %79, i64 5, !dbg !43 %180 = insertelement <16 x i8> %179, i8 %82, i64 6, !dbg !43 %181 = insertelement <16 x i8> %180, i8 %85, i64 7, !dbg !43 %182 = insertelement <16 x i8> %181, i8 %88, i64 8, !dbg !43 %183 = insertelement <16 x i8> %182, i8 %91, i64 9, !dbg !43 %184 = insertelement <16 x i8> %183, i8 %94, i64 10, !dbg !43 %185 = insertelement <16 x i8> %184, i8 %97, i64 11, !dbg !43 %186 = insertelement <16 x i8> %185, i8 %100, i64 12, !dbg !43 %187 = insertelement <16 x i8> %186, i8 %103, i64 13, !dbg !43 %188 = insertelement <16 x i8> %187, i8 %106, i64 14, !dbg !43 %189 = insertelement <16 x i8> %188, i8 %109, i64 15, !dbg !43 %190 = add nuw nsw i64 %12, 48 %191 = getelementptr [8 x [16 x i8]], [8 x [16 x i8]]* @__constant_8x16xi8, i64 0, i64 0, i64 %190, !dbg !43 %192 = load i8, i8* %191, align 16, !dbg !43 %193 = add nuw nsw i64 %12, 49, !dbg !43 %194 = getelementptr [8 x [16 x i8]], [8 x [16 x i8]]* @__constant_8x16xi8, i64 0, i64 0, i64 %193, !dbg !43 %195 = load i8, i8* %194, align 1, !dbg !43 %196 = add nuw nsw i64 %12, 50, !dbg !43 %197 = getelementptr [8 x [16 x i8]], [8 x [16 x i8]]* @__constant_8x16xi8, i64 0, i64 0, i64 %196, !dbg !43 %198 = load i8, i8* %197, align 2, !dbg !43 %199 = add nuw nsw i64 %12, 51, !dbg !43 %200 = getelementptr [8 x [16 x i8]], [8 x [16 x i8]]* @__constant_8x16xi8, i64 0, i64 0, i64 %199, !dbg !43 %201 = load i8, i8* %200, align 1, !dbg !43 %202 = add nuw nsw i64 %12, 52, !dbg !43 %203 = getelementptr [8 x [16 x i8]], [8 x [16 x i8]]* @__constant_8x16xi8, i64 0, i64 0, i64 %202, !dbg !43 %204 = load i8, i8* %203, align 4, !dbg !43 %205 = add nuw nsw i64 %12, 53, !dbg !43 %206 = getelementptr [8 x [16 x i8]], [8 x [16 x i8]]* @__constant_8x16xi8, i64 0, i64 0, i64 %205, !dbg !43 %207 = load i8, i8* %206, align 1, !dbg !43 %208 = add nuw nsw i64 %12, 54, !dbg !43 %209 = getelementptr [8 x [16 x i8]], [8 x [16 x i8]]* @__constant_8x16xi8, i64 0, i64 0, i64 %208, !dbg !43 %210 = load i8, i8* %209, align 2, !dbg !43 %211 = add nuw nsw i64 %12, 55, !dbg !43 %212 = getelementptr [8 x [16 x i8]], [8 x [16 x i8]]* @__constant_8x16xi8, i64 0, i64 0, i64 %211, !dbg !43 %213 = load i8, i8* %212, align 1, !dbg !43 %214 = add nuw nsw i64 %12, 56, !dbg !43 %215 = getelementptr [8 x [16 x i8]], [8 x [16 x i8]]* @__constant_8x16xi8, i64 0, i64 0, i64 %214, !dbg !43 %216 = load i8, i8* %215, align 8, !dbg !43 %217 = add nuw nsw i64 %12, 57, !dbg !43 %218 = getelementptr [8 x [16 x i8]], [8 x [16 x i8]]* @__constant_8x16xi8, i64 0, i64 0, i64 %217, !dbg !43 %219 = load i8, i8* %218, align 1, !dbg !43 %220 = add nuw nsw i64 %12, 58, !dbg !43 %221 = getelementptr [8 x [16 x i8]], [8 x [16 x i8]]* @__constant_8x16xi8, i64 0, i64 0, i64 %220, !dbg !43 %222 = load i8, i8* %221, align 2, !dbg !43 %223 = add nuw nsw i64 %12, 59, !dbg !43 %224 = getelementptr [8 x [16 x i8]], [8 x [16 x i8]]* @__constant_8x16xi8, i64 0, i64 0, i64 %223, !dbg !43 %225 = load i8, i8* %224, align 1, !dbg !43 %226 = add nuw nsw i64 %12, 60, !dbg !43 %227 = getelementptr [8 x [16 x i8]], [8 x [16 x i8]]* @__constant_8x16xi8, i64 0, i64 0, i64 %226, !dbg !43 %228 = load i8, i8* %227, align 4, !dbg !43 %229 = add nuw nsw i64 %12, 61, !dbg !43 %230 = getelementptr [8 x [16 x i8]], [8 x [16 x i8]]* @__constant_8x16xi8, i64 0, i64 0, i64 %229, !dbg !43 %231 = load i8, i8* %230, align 1, !dbg !43 %232 = add nuw nsw i64 %12, 62, !dbg !43 %233 = getelementptr [8 x [16 x i8]], [8 x [16 x i8]]* @__constant_8x16xi8, i64 0, i64 0, i64 %232, !dbg !43 %234 = load i8, i8* %233, align 2, !dbg !43 %235 = add nuw nsw i64 %12, 63, !dbg !43 %236 = getelementptr [8 x [16 x i8]], [8 x [16 x i8]]* @__constant_8x16xi8, i64 0, i64 0, i64 %235, !dbg !43 %237 = load i8, i8* %236, align 1, !dbg !43 %238 = insertelement <16 x i8> , i8 %128, i64 0, !dbg !43 %239 = insertelement <16 x i8> %238, i8 %131, i64 1, !dbg !43 %240 = insertelement <16 x i8> %239, i8 %134, i64 2, !dbg !43 %241 = insertelement <16 x i8> %240, i8 %137, i64 3, !dbg !43 %242 = insertelement <16 x i8> %241, i8 %140, i64 4, !dbg !43 %243 = insertelement <16 x i8> %242, i8 %143, i64 5, !dbg !43 %244 = insertelement <16 x i8> %243, i8 %146, i64 6, !dbg !43 %245 = insertelement <16 x i8> %244, i8 %149, i64 7, !dbg !43 %246 = insertelement <16 x i8> %245, i8 %152, i64 8, !dbg !43 %247 = insertelement <16 x i8> %246, i8 %155, i64 9, !dbg !43 %248 = insertelement <16 x i8> %247, i8 %158, i64 10, !dbg !43 %249 = insertelement <16 x i8> %248, i8 %161, i64 11, !dbg !43 %250 = insertelement <16 x i8> %249, i8 %164, i64 12, !dbg !43 %251 = insertelement <16 x i8> %250, i8 %167, i64 13, !dbg !43 %252 = insertelement <16 x i8> %251, i8 %170, i64 14, !dbg !43 %253 = insertelement <16 x i8> %252, i8 %173, i64 15, !dbg !43 %254 = add nuw nsw i64 %12, 64 %255 = getelementptr [8 x [16 x i8]], [8 x [16 x i8]]* @__constant_8x16xi8, i64 0, i64 0, i64 %254, !dbg !43 %256 = load i8, i8* %255, align 16, !dbg !43 %257 = add nuw nsw i64 %12, 65, !dbg !43 %258 = getelementptr [8 x [16 x i8]], [8 x [16 x i8]]* @__constant_8x16xi8, i64 0, i64 0, i64 %257, !dbg !43 %259 = load i8, i8* %258, align 1, !dbg !43 %260 = add nuw nsw i64 %12, 66, !dbg !43 %261 = getelementptr [8 x [16 x i8]], [8 x [16 x i8]]* @__constant_8x16xi8, i64 0, i64 0, i64 %260, !dbg !43 %262 = load i8, i8* %261, align 2, !dbg !43 %263 = add nuw nsw i64 %12, 67, !dbg !43 %264 = getelementptr [8 x [16 x i8]], [8 x [16 x i8]]* @__constant_8x16xi8, i64 0, i64 0, i64 %263, !dbg !43 %265 = load i8, i8* %264, align 1, !dbg !43 %266 = add nuw nsw i64 %12, 68, !dbg !43 %267 = getelementptr [8 x [16 x i8]], [8 x [16 x i8]]* @__constant_8x16xi8, i64 0, i64 0, i64 %266, !dbg !43 %268 = load i8, i8* %267, align 4, !dbg !43 %269 = add nuw nsw i64 %12, 69, !dbg !43 %270 = getelementptr [8 x [16 x i8]], [8 x [16 x i8]]* @__constant_8x16xi8, i64 0, i64 0, i64 %269, !dbg !43 %271 = load i8, i8* %270, align 1, !dbg !43 %272 = add nuw nsw i64 %12, 70, !dbg !43 %273 = getelementptr [8 x [16 x i8]], [8 x [16 x i8]]* @__constant_8x16xi8, i64 0, i64 0, i64 %272, !dbg !43 %274 = load i8, i8* %273, align 2, !dbg !43 %275 = add nuw nsw i64 %12, 71, !dbg !43 %276 = getelementptr [8 x [16 x i8]], [8 x [16 x i8]]* @__constant_8x16xi8, i64 0, i64 0, i64 %275, !dbg !43 %277 = load i8, i8* %276, align 1, !dbg !43 %278 = add nuw nsw i64 %12, 72, !dbg !43 %279 = getelementptr [8 x [16 x i8]], [8 x [16 x i8]]* @__constant_8x16xi8, i64 0, i64 0, i64 %278, !dbg !43 %280 = load i8, i8* %279, align 8, !dbg !43 %281 = add nuw nsw i64 %12, 73, !dbg !43 %282 = getelementptr [8 x [16 x i8]], [8 x [16 x i8]]* @__constant_8x16xi8, i64 0, i64 0, i64 %281, !dbg !43 %283 = load i8, i8* %282, align 1, !dbg !43 %284 = add nuw nsw i64 %12, 74, !dbg !43 %285 = getelementptr [8 x [16 x i8]], [8 x [16 x i8]]* @__constant_8x16xi8, i64 0, i64 0, i64 %284, !dbg !43 %286 = load i8, i8* %285, align 2, !dbg !43 %287 = add nuw nsw i64 %12, 75, !dbg !43 %288 = getelementptr [8 x [16 x i8]], [8 x [16 x i8]]* @__constant_8x16xi8, i64 0, i64 0, i64 %287, !dbg !43 %289 = load i8, i8* %288, align 1, !dbg !43 %290 = add nuw nsw i64 %12, 76, !dbg !43 %291 = getelementptr [8 x [16 x i8]], [8 x [16 x i8]]* @__constant_8x16xi8, i64 0, i64 0, i64 %290, !dbg !43 %292 = load i8, i8* %291, align 4, !dbg !43 %293 = add nuw nsw i64 %12, 77, !dbg !43 %294 = getelementptr [8 x [16 x i8]], [8 x [16 x i8]]* @__constant_8x16xi8, i64 0, i64 0, i64 %293, !dbg !43 %295 = load i8, i8* %294, align 1, !dbg !43 %296 = add nuw nsw i64 %12, 78, !dbg !43 %297 = getelementptr [8 x [16 x i8]], [8 x [16 x i8]]* @__constant_8x16xi8, i64 0, i64 0, i64 %296, !dbg !43 %298 = load i8, i8* %297, align 2, !dbg !43 %299 = add nuw nsw i64 %12, 79, !dbg !43 %300 = getelementptr [8 x [16 x i8]], [8 x [16 x i8]]* @__constant_8x16xi8, i64 0, i64 0, i64 %299, !dbg !43 %301 = load i8, i8* %300, align 1, !dbg !43 %302 = insertelement <16 x i8> , i8 %192, i64 0, !dbg !43 %303 = insertelement <16 x i8> %302, i8 %195, i64 1, !dbg !43 %304 = insertelement <16 x i8> %303, i8 %198, i64 2, !dbg !43 %305 = insertelement <16 x i8> %304, i8 %201, i64 3, !dbg !43 %306 = insertelement <16 x i8> %305, i8 %204, i64 4, !dbg !43 %307 = insertelement <16 x i8> %306, i8 %207, i64 5, !dbg !43 %308 = insertelement <16 x i8> %307, i8 %210, i64 6, !dbg !43 %309 = insertelement <16 x i8> %308, i8 %213, i64 7, !dbg !43 %310 = insertelement <16 x i8> %309, i8 %216, i64 8, !dbg !43 %311 = insertelement <16 x i8> %310, i8 %219, i64 9, !dbg !43 %312 = insertelement <16 x i8> %311, i8 %222, i64 10, !dbg !43 %313 = insertelement <16 x i8> %312, i8 %225, i64 11, !dbg !43 %314 = insertelement <16 x i8> %313, i8 %228, i64 12, !dbg !43 %315 = insertelement <16 x i8> %314, i8 %231, i64 13, !dbg !43 %316 = insertelement <16 x i8> %315, i8 %234, i64 14, !dbg !43 %317 = insertelement <16 x i8> %316, i8 %237, i64 15, !dbg !43 %318 = add nuw nsw i64 %12, 80 %319 = getelementptr [8 x [16 x i8]], [8 x [16 x i8]]* @__constant_8x16xi8, i64 0, i64 0, i64 %318, !dbg !43 %320 = load i8, i8* %319, align 16, !dbg !43 %321 = add nuw nsw i64 %12, 81, !dbg !43 %322 = getelementptr [8 x [16 x i8]], [8 x [16 x i8]]* @__constant_8x16xi8, i64 0, i64 0, i64 %321, !dbg !43 %323 = load i8, i8* %322, align 1, !dbg !43 %324 = add nuw nsw i64 %12, 82, !dbg !43 %325 = getelementptr [8 x [16 x i8]], [8 x [16 x i8]]* @__constant_8x16xi8, i64 0, i64 0, i64 %324, !dbg !43 %326 = load i8, i8* %325, align 2, !dbg !43 %327 = add nuw nsw i64 %12, 83, !dbg !43 %328 = getelementptr [8 x [16 x i8]], [8 x [16 x i8]]* @__constant_8x16xi8, i64 0, i64 0, i64 %327, !dbg !43 %329 = load i8, i8* %328, align 1, !dbg !43 %330 = add nuw nsw i64 %12, 84, !dbg !43 %331 = getelementptr [8 x [16 x i8]], [8 x [16 x i8]]* @__constant_8x16xi8, i64 0, i64 0, i64 %330, !dbg !43 %332 = load i8, i8* %331, align 4, !dbg !43 %333 = add nuw nsw i64 %12, 85, !dbg !43 %334 = getelementptr [8 x [16 x i8]], [8 x [16 x i8]]* @__constant_8x16xi8, i64 0, i64 0, i64 %333, !dbg !43 %335 = load i8, i8* %334, align 1, !dbg !43 %336 = add nuw nsw i64 %12, 86, !dbg !43 %337 = getelementptr [8 x [16 x i8]], [8 x [16 x i8]]* @__constant_8x16xi8, i64 0, i64 0, i64 %336, !dbg !43 %338 = load i8, i8* %337, align 2, !dbg !43 %339 = add nuw nsw i64 %12, 87, !dbg !43 %340 = getelementptr [8 x [16 x i8]], [8 x [16 x i8]]* @__constant_8x16xi8, i64 0, i64 0, i64 %339, !dbg !43 %341 = load i8, i8* %340, align 1, !dbg !43 %342 = add nuw nsw i64 %12, 88, !dbg !43 %343 = getelementptr [8 x [16 x i8]], [8 x [16 x i8]]* @__constant_8x16xi8, i64 0, i64 0, i64 %342, !dbg !43 %344 = load i8, i8* %343, align 8, !dbg !43 %345 = add nuw nsw i64 %12, 89, !dbg !43 %346 = getelementptr [8 x [16 x i8]], [8 x [16 x i8]]* @__constant_8x16xi8, i64 0, i64 0, i64 %345, !dbg !43 %347 = load i8, i8* %346, align 1, !dbg !43 %348 = add nuw nsw i64 %12, 90, !dbg !43 %349 = getelementptr [8 x [16 x i8]], [8 x [16 x i8]]* @__constant_8x16xi8, i64 0, i64 0, i64 %348, !dbg !43 %350 = load i8, i8* %349, align 2, !dbg !43 %351 = add nuw nsw i64 %12, 91, !dbg !43 %352 = getelementptr [8 x [16 x i8]], [8 x [16 x i8]]* @__constant_8x16xi8, i64 0, i64 0, i64 %351, !dbg !43 %353 = load i8, i8* %352, align 1, !dbg !43 %354 = add nuw nsw i64 %12, 92, !dbg !43 %355 = getelementptr [8 x [16 x i8]], [8 x [16 x i8]]* @__constant_8x16xi8, i64 0, i64 0, i64 %354, !dbg !43 %356 = load i8, i8* %355, align 4, !dbg !43 %357 = add nuw nsw i64 %12, 93, !dbg !43 %358 = getelementptr [8 x [16 x i8]], [8 x [16 x i8]]* @__constant_8x16xi8, i64 0, i64 0, i64 %357, !dbg !43 %359 = load i8, i8* %358, align 1, !dbg !43 %360 = add nuw nsw i64 %12, 94, !dbg !43 %361 = getelementptr [8 x [16 x i8]], [8 x [16 x i8]]* @__constant_8x16xi8, i64 0, i64 0, i64 %360, !dbg !43 %362 = load i8, i8* %361, align 2, !dbg !43 %363 = add nuw nsw i64 %12, 95, !dbg !43 %364 = getelementptr [8 x [16 x i8]], [8 x [16 x i8]]* @__constant_8x16xi8, i64 0, i64 0, i64 %363, !dbg !43 %365 = load i8, i8* %364, align 1, !dbg !43 %366 = insertelement <16 x i8> , i8 %256, i64 0, !dbg !43 %367 = insertelement <16 x i8> %366, i8 %259, i64 1, !dbg !43 %368 = insertelement <16 x i8> %367, i8 %262, i64 2, !dbg !43 %369 = insertelement <16 x i8> %368, i8 %265, i64 3, !dbg !43 %370 = insertelement <16 x i8> %369, i8 %268, i64 4, !dbg !43 %371 = insertelement <16 x i8> %370, i8 %271, i64 5, !dbg !43 %372 = insertelement <16 x i8> %371, i8 %274, i64 6, !dbg !43 %373 = insertelement <16 x i8> %372, i8 %277, i64 7, !dbg !43 %374 = insertelement <16 x i8> %373, i8 %280, i64 8, !dbg !43 %375 = insertelement <16 x i8> %374, i8 %283, i64 9, !dbg !43 %376 = insertelement <16 x i8> %375, i8 %286, i64 10, !dbg !43 %377 = insertelement <16 x i8> %376, i8 %289, i64 11, !dbg !43 %378 = insertelement <16 x i8> %377, i8 %292, i64 12, !dbg !43 %379 = insertelement <16 x i8> %378, i8 %295, i64 13, !dbg !43 %380 = insertelement <16 x i8> %379, i8 %298, i64 14, !dbg !43 %381 = insertelement <16 x i8> %380, i8 %301, i64 15, !dbg !43 %382 = add nuw nsw i64 %12, 96 %383 = getelementptr [8 x [16 x i8]], [8 x [16 x i8]]* @__constant_8x16xi8, i64 0, i64 0, i64 %382, !dbg !43 %384 = load i8, i8* %383, align 16, !dbg !43 %385 = add nuw nsw i64 %12, 97, !dbg !43 %386 = getelementptr [8 x [16 x i8]], [8 x [16 x i8]]* @__constant_8x16xi8, i64 0, i64 0, i64 %385, !dbg !43 %387 = load i8, i8* %386, align 1, !dbg !43 %388 = add nuw nsw i64 %12, 98, !dbg !43 %389 = getelementptr [8 x [16 x i8]], [8 x [16 x i8]]* @__constant_8x16xi8, i64 0, i64 0, i64 %388, !dbg !43 %390 = load i8, i8* %389, align 2, !dbg !43 %391 = add nuw nsw i64 %12, 99, !dbg !43 %392 = getelementptr [8 x [16 x i8]], [8 x [16 x i8]]* @__constant_8x16xi8, i64 0, i64 0, i64 %391, !dbg !43 %393 = load i8, i8* %392, align 1, !dbg !43 %394 = add nuw nsw i64 %12, 100, !dbg !43 %395 = getelementptr [8 x [16 x i8]], [8 x [16 x i8]]* @__constant_8x16xi8, i64 0, i64 0, i64 %394, !dbg !43 %396 = load i8, i8* %395, align 4, !dbg !43 %397 = add nuw nsw i64 %12, 101, !dbg !43 %398 = getelementptr [8 x [16 x i8]], [8 x [16 x i8]]* @__constant_8x16xi8, i64 0, i64 0, i64 %397, !dbg !43 %399 = load i8, i8* %398, align 1, !dbg !43 %400 = add nuw nsw i64 %12, 102, !dbg !43 %401 = getelementptr [8 x [16 x i8]], [8 x [16 x i8]]* @__constant_8x16xi8, i64 0, i64 0, i64 %400, !dbg !43 %402 = load i8, i8* %401, align 2, !dbg !43 %403 = add nuw nsw i64 %12, 103, !dbg !43 %404 = getelementptr [8 x [16 x i8]], [8 x [16 x i8]]* @__constant_8x16xi8, i64 0, i64 0, i64 %403, !dbg !43 %405 = load i8, i8* %404, align 1, !dbg !43 %406 = add nuw nsw i64 %12, 104, !dbg !43 %407 = getelementptr [8 x [16 x i8]], [8 x [16 x i8]]* @__constant_8x16xi8, i64 0, i64 0, i64 %406, !dbg !43 %408 = load i8, i8* %407, align 8, !dbg !43 %409 = add nuw nsw i64 %12, 105, !dbg !43 %410 = getelementptr [8 x [16 x i8]], [8 x [16 x i8]]* @__constant_8x16xi8, i64 0, i64 0, i64 %409, !dbg !43 %411 = load i8, i8* %410, align 1, !dbg !43 %412 = add nuw nsw i64 %12, 106, !dbg !43 %413 = getelementptr [8 x [16 x i8]], [8 x [16 x i8]]* @__constant_8x16xi8, i64 0, i64 0, i64 %412, !dbg !43 %414 = load i8, i8* %413, align 2, !dbg !43 %415 = add nuw nsw i64 %12, 107, !dbg !43 %416 = getelementptr [8 x [16 x i8]], [8 x [16 x i8]]* @__constant_8x16xi8, i64 0, i64 0, i64 %415, !dbg !43 %417 = load i8, i8* %416, align 1, !dbg !43 %418 = add nuw nsw i64 %12, 108, !dbg !43 %419 = getelementptr [8 x [16 x i8]], [8 x [16 x i8]]* @__constant_8x16xi8, i64 0, i64 0, i64 %418, !dbg !43 %420 = load i8, i8* %419, align 4, !dbg !43 %421 = add nuw nsw i64 %12, 109, !dbg !43 %422 = getelementptr [8 x [16 x i8]], [8 x [16 x i8]]* @__constant_8x16xi8, i64 0, i64 0, i64 %421, !dbg !43 %423 = load i8, i8* %422, align 1, !dbg !43 %424 = add nuw nsw i64 %12, 110, !dbg !43 %425 = getelementptr [8 x [16 x i8]], [8 x [16 x i8]]* @__constant_8x16xi8, i64 0, i64 0, i64 %424, !dbg !43 %426 = load i8, i8* %425, align 2, !dbg !43 %427 = add nuw nsw i64 %12, 111, !dbg !43 %428 = getelementptr [8 x [16 x i8]], [8 x [16 x i8]]* @__constant_8x16xi8, i64 0, i64 0, i64 %427, !dbg !43 %429 = load i8, i8* %428, align 1, !dbg !43 %430 = insertelement <16 x i8> , i8 %320, i64 0, !dbg !43 %431 = insertelement <16 x i8> %430, i8 %323, i64 1, !dbg !43 %432 = insertelement <16 x i8> %431, i8 %326, i64 2, !dbg !43 %433 = insertelement <16 x i8> %432, i8 %329, i64 3, !dbg !43 %434 = insertelement <16 x i8> %433, i8 %332, i64 4, !dbg !43 %435 = insertelement <16 x i8> %434, i8 %335, i64 5, !dbg !43 %436 = insertelement <16 x i8> %435, i8 %338, i64 6, !dbg !43 %437 = insertelement <16 x i8> %436, i8 %341, i64 7, !dbg !43 %438 = insertelement <16 x i8> %437, i8 %344, i64 8, !dbg !43 %439 = insertelement <16 x i8> %438, i8 %347, i64 9, !dbg !43 %440 = insertelement <16 x i8> %439, i8 %350, i64 10, !dbg !43 %441 = insertelement <16 x i8> %440, i8 %353, i64 11, !dbg !43 %442 = insertelement <16 x i8> %441, i8 %356, i64 12, !dbg !43 %443 = insertelement <16 x i8> %442, i8 %359, i64 13, !dbg !43 %444 = insertelement <16 x i8> %443, i8 %362, i64 14, !dbg !43 %445 = insertelement <16 x i8> %444, i8 %365, i64 15, !dbg !43 %446 = add nuw nsw i64 %12, 112 %447 = getelementptr [8 x [16 x i8]], [8 x [16 x i8]]* @__constant_8x16xi8, i64 0, i64 0, i64 %446, !dbg !43 %448 = load i8, i8* %447, align 16, !dbg !43 %449 = add nuw nsw i64 %12, 113, !dbg !43 %450 = getelementptr [8 x [16 x i8]], [8 x [16 x i8]]* @__constant_8x16xi8, i64 0, i64 0, i64 %449, !dbg !43 %451 = load i8, i8* %450, align 1, !dbg !43 %452 = add nuw nsw i64 %12, 114, !dbg !43 %453 = getelementptr [8 x [16 x i8]], [8 x [16 x i8]]* @__constant_8x16xi8, i64 0, i64 0, i64 %452, !dbg !43 %454 = load i8, i8* %453, align 2, !dbg !43 %455 = add nuw nsw i64 %12, 115, !dbg !43 %456 = getelementptr [8 x [16 x i8]], [8 x [16 x i8]]* @__constant_8x16xi8, i64 0, i64 0, i64 %455, !dbg !43 %457 = load i8, i8* %456, align 1, !dbg !43 %458 = add nuw nsw i64 %12, 116, !dbg !43 %459 = getelementptr [8 x [16 x i8]], [8 x [16 x i8]]* @__constant_8x16xi8, i64 0, i64 0, i64 %458, !dbg !43 %460 = load i8, i8* %459, align 4, !dbg !43 %461 = add nuw nsw i64 %12, 117, !dbg !43 %462 = getelementptr [8 x [16 x i8]], [8 x [16 x i8]]* @__constant_8x16xi8, i64 0, i64 0, i64 %461, !dbg !43 %463 = load i8, i8* %462, align 1, !dbg !43 %464 = add nuw nsw i64 %12, 118, !dbg !43 %465 = getelementptr [8 x [16 x i8]], [8 x [16 x i8]]* @__constant_8x16xi8, i64 0, i64 0, i64 %464, !dbg !43 %466 = load i8, i8* %465, align 2, !dbg !43 %467 = add nuw nsw i64 %12, 119, !dbg !43 %468 = getelementptr [8 x [16 x i8]], [8 x [16 x i8]]* @__constant_8x16xi8, i64 0, i64 0, i64 %467, !dbg !43 %469 = load i8, i8* %468, align 1, !dbg !43 %470 = add nuw nsw i64 %12, 120, !dbg !43 %471 = getelementptr [8 x [16 x i8]], [8 x [16 x i8]]* @__constant_8x16xi8, i64 0, i64 0, i64 %470, !dbg !43 %472 = load i8, i8* %471, align 8, !dbg !43 %473 = add nuw nsw i64 %12, 121, !dbg !43 %474 = getelementptr [8 x [16 x i8]], [8 x [16 x i8]]* @__constant_8x16xi8, i64 0, i64 0, i64 %473, !dbg !43 %475 = load i8, i8* %474, align 1, !dbg !43 %476 = add nuw nsw i64 %12, 122, !dbg !43 %477 = getelementptr [8 x [16 x i8]], [8 x [16 x i8]]* @__constant_8x16xi8, i64 0, i64 0, i64 %476, !dbg !43 %478 = load i8, i8* %477, align 2, !dbg !43 %479 = add nuw nsw i64 %12, 123, !dbg !43 %480 = getelementptr [8 x [16 x i8]], [8 x [16 x i8]]* @__constant_8x16xi8, i64 0, i64 0, i64 %479, !dbg !43 %481 = load i8, i8* %480, align 1, !dbg !43 %482 = add nuw nsw i64 %12, 124, !dbg !43 %483 = getelementptr [8 x [16 x i8]], [8 x [16 x i8]]* @__constant_8x16xi8, i64 0, i64 0, i64 %482, !dbg !43 %484 = load i8, i8* %483, align 4, !dbg !43 %485 = add nuw nsw i64 %12, 125, !dbg !43 %486 = getelementptr [8 x [16 x i8]], [8 x [16 x i8]]* @__constant_8x16xi8, i64 0, i64 0, i64 %485, !dbg !43 %487 = load i8, i8* %486, align 1, !dbg !43 %488 = add nuw nsw i64 %12, 126, !dbg !43 %489 = getelementptr [8 x [16 x i8]], [8 x [16 x i8]]* @__constant_8x16xi8, i64 0, i64 0, i64 %488, !dbg !43 %490 = load i8, i8* %489, align 2, !dbg !43 %491 = add nuw nsw i64 %12, 127, !dbg !43 %492 = getelementptr [8 x [16 x i8]], [8 x [16 x i8]]* @__constant_8x16xi8, i64 0, i64 0, i64 %491, !dbg !43 %493 = load i8, i8* %492, align 1, !dbg !43 %494 = insertelement <16 x i8> , i8 %384, i64 0, !dbg !43 %495 = insertelement <16 x i8> %494, i8 %387, i64 1, !dbg !43 %496 = insertelement <16 x i8> %495, i8 %390, i64 2, !dbg !43 %497 = insertelement <16 x i8> %496, i8 %393, i64 3, !dbg !43 %498 = insertelement <16 x i8> %497, i8 %396, i64 4, !dbg !43 %499 = insertelement <16 x i8> %498, i8 %399, i64 5, !dbg !43 %500 = insertelement <16 x i8> %499, i8 %402, i64 6, !dbg !43 %501 = insertelement <16 x i8> %500, i8 %405, i64 7, !dbg !43 %502 = insertelement <16 x i8> %501, i8 %408, i64 8, !dbg !43 %503 = insertelement <16 x i8> %502, i8 %411, i64 9, !dbg !43 %504 = insertelement <16 x i8> %503, i8 %414, i64 10, !dbg !43 %505 = insertelement <16 x i8> %504, i8 %417, i64 11, !dbg !43 %506 = insertelement <16 x i8> %505, i8 %420, i64 12, !dbg !43 %507 = insertelement <16 x i8> %506, i8 %423, i64 13, !dbg !43 %508 = insertelement <16 x i8> %507, i8 %426, i64 14, !dbg !43 %509 = insertelement <16 x i8> %508, i8 %429, i64 15, !dbg !43 %510 = sext <16 x i8> %125 to <16 x i32> %511 = sext <16 x i8> %253 to <16 x i32> %512 = sext <16 x i8> %381 to <16 x i32> %513 = sext <16 x i8> %509 to <16 x i32> %514 = getelementptr [16 x i32], [16 x i32]* @__constant_16xi32_0, i64 0, i64 %12, !dbg !47 %515 = load i32, i32* %514, align 16, !dbg !47 %516 = getelementptr [16 x i32], [16 x i32]* @__constant_16xi32_0, i64 0, i64 %16, !dbg !47 %517 = load i32, i32* %516, align 4, !dbg !47 %518 = getelementptr [16 x i32], [16 x i32]* @__constant_16xi32_0, i64 0, i64 %19, !dbg !47 %519 = load i32, i32* %518, align 8, !dbg !47 %520 = getelementptr [16 x i32], [16 x i32]* @__constant_16xi32_0, i64 0, i64 %22, !dbg !47 %521 = load i32, i32* %520, align 4, !dbg !47 %522 = getelementptr [16 x i32], [16 x i32]* @__constant_16xi32_0, i64 0, i64 %25, !dbg !47 %523 = load i32, i32* %522, align 16, !dbg !47 %524 = getelementptr [16 x i32], [16 x i32]* @__constant_16xi32_0, i64 0, i64 %28, !dbg !47 %525 = load i32, i32* %524, align 4, !dbg !47 %526 = getelementptr [16 x i32], [16 x i32]* @__constant_16xi32_0, i64 0, i64 %31, !dbg !47 %527 = load i32, i32* %526, align 8, !dbg !47 %528 = getelementptr [16 x i32], [16 x i32]* @__constant_16xi32_0, i64 0, i64 %34, !dbg !47 %529 = load i32, i32* %528, align 4, !dbg !47 %530 = getelementptr [16 x i32], [16 x i32]* @__constant_16xi32_0, i64 0, i64 %37, !dbg !47 %531 = load i32, i32* %530, align 16, !dbg !47 %532 = getelementptr [16 x i32], [16 x i32]* @__constant_16xi32_0, i64 0, i64 %40, !dbg !47 %533 = load i32, i32* %532, align 4, !dbg !47 %534 = getelementptr [16 x i32], [16 x i32]* @__constant_16xi32_0, i64 0, i64 %43, !dbg !47 %535 = load i32, i32* %534, align 8, !dbg !47 %536 = getelementptr [16 x i32], [16 x i32]* @__constant_16xi32_0, i64 0, i64 %46, !dbg !47 %537 = load i32, i32* %536, align 4, !dbg !47 %538 = getelementptr [16 x i32], [16 x i32]* @__constant_16xi32_0, i64 0, i64 %49, !dbg !47 %539 = load i32, i32* %538, align 16, !dbg !47 %540 = getelementptr [16 x i32], [16 x i32]* @__constant_16xi32_0, i64 0, i64 %52, !dbg !47 %541 = load i32, i32* %540, align 4, !dbg !47 %542 = getelementptr [16 x i32], [16 x i32]* @__constant_16xi32_0, i64 0, i64 %55, !dbg !47 %543 = load i32, i32* %542, align 8, !dbg !47 %544 = getelementptr [16 x i32], [16 x i32]* @__constant_16xi32_0, i64 0, i64 %58, !dbg !47 %545 = load i32, i32* %544, align 4, !dbg !47 %546 = insertelement <16 x i8> , i8 %448, i64 0, !dbg !43 %547 = insertelement <16 x i8> %546, i8 %451, i64 1, !dbg !43 %548 = insertelement <16 x i8> %547, i8 %454, i64 2, !dbg !43 %549 = insertelement <16 x i8> %548, i8 %457, i64 3, !dbg !43 %550 = insertelement <16 x i8> %549, i8 %460, i64 4, !dbg !43 %551 = insertelement <16 x i8> %550, i8 %463, i64 5, !dbg !43 %552 = insertelement <16 x i8> %551, i8 %466, i64 6, !dbg !43 %553 = insertelement <16 x i8> %552, i8 %469, i64 7, !dbg !43 %554 = insertelement <16 x i8> %553, i8 %472, i64 8, !dbg !43 %555 = insertelement <16 x i8> %554, i8 %475, i64 9, !dbg !43 %556 = insertelement <16 x i8> %555, i8 %478, i64 10, !dbg !43 %557 = insertelement <16 x i8> %556, i8 %481, i64 11, !dbg !43 %558 = insertelement <16 x i8> %557, i8 %484, i64 12, !dbg !43 %559 = insertelement <16 x i8> %558, i8 %487, i64 13, !dbg !43 %560 = insertelement <16 x i8> %559, i8 %490, i64 14, !dbg !43 %561 = insertelement <16 x i8> %560, i8 %493, i64 15, !dbg !43 %562 = sext <16 x i8> %189 to <16 x i32> %563 = sext <16 x i8> %445 to <16 x i32> %564 = bitcast i8* %4 to <16 x i32>*, !dbg !46 %565 = load <16 x i32>, <16 x i32>* %564, align 64, !dbg !46 %566 = getelementptr [16 x i32], [16 x i32]* @__constant_16xi32, i64 0, i64 %12, !dbg !46 %567 = load i32, i32* %566, align 16, !dbg !46 %568 = getelementptr [16 x i32], [16 x i32]* @__constant_16xi32, i64 0, i64 %16, !dbg !46 %569 = load i32, i32* %568, align 4, !dbg !46 %570 = getelementptr [16 x i32], [16 x i32]* @__constant_16xi32, i64 0, i64 %19, !dbg !46 %571 = load i32, i32* %570, align 8, !dbg !46 %572 = getelementptr [16 x i32], [16 x i32]* @__constant_16xi32, i64 0, i64 %22, !dbg !46 %573 = load i32, i32* %572, align 4, !dbg !46 %574 = getelementptr [16 x i32], [16 x i32]* @__constant_16xi32, i64 0, i64 %25, !dbg !46 %575 = load i32, i32* %574, align 16, !dbg !46 %576 = getelementptr [16 x i32], [16 x i32]* @__constant_16xi32, i64 0, i64 %28, !dbg !46 %577 = load i32, i32* %576, align 4, !dbg !46 %578 = getelementptr [16 x i32], [16 x i32]* @__constant_16xi32, i64 0, i64 %31, !dbg !46 %579 = load i32, i32* %578, align 8, !dbg !46 %580 = getelementptr [16 x i32], [16 x i32]* @__constant_16xi32, i64 0, i64 %34, !dbg !46 %581 = load i32, i32* %580, align 4, !dbg !46 %582 = getelementptr [16 x i32], [16 x i32]* @__constant_16xi32, i64 0, i64 %37, !dbg !46 %583 = load i32, i32* %582, align 16, !dbg !46 %584 = getelementptr [16 x i32], [16 x i32]* @__constant_16xi32, i64 0, i64 %40, !dbg !46 %585 = load i32, i32* %584, align 4, !dbg !46 %586 = getelementptr [16 x i32], [16 x i32]* @__constant_16xi32, i64 0, i64 %43, !dbg !46 %587 = load i32, i32* %586, align 8, !dbg !46 %588 = getelementptr [16 x i32], [16 x i32]* @__constant_16xi32, i64 0, i64 %46, !dbg !46 %589 = load i32, i32* %588, align 4, !dbg !46 %590 = getelementptr [16 x i32], [16 x i32]* @__constant_16xi32, i64 0, i64 %49, !dbg !46 %591 = load i32, i32* %590, align 16, !dbg !46 %592 = getelementptr [16 x i32], [16 x i32]* @__constant_16xi32, i64 0, i64 %52, !dbg !46 %593 = load i32, i32* %592, align 4, !dbg !46 %594 = getelementptr [16 x i32], [16 x i32]* @__constant_16xi32, i64 0, i64 %55, !dbg !46 %595 = load i32, i32* %594, align 8, !dbg !46 %596 = getelementptr [16 x i32], [16 x i32]* @__constant_16xi32, i64 0, i64 %58, !dbg !46 %597 = load i32, i32* %596, align 4, !dbg !46 %598 = insertelement <16 x i32> , i32 %515, i64 0, !dbg !46 %599 = insertelement <16 x i32> %598, i32 %517, i64 1, !dbg !46 %600 = insertelement <16 x i32> %599, i32 %519, i64 2, !dbg !46 %601 = insertelement <16 x i32> %600, i32 %521, i64 3, !dbg !46 %602 = insertelement <16 x i32> %601, i32 %523, i64 4, !dbg !46 %603 = insertelement <16 x i32> %602, i32 %525, i64 5, !dbg !46 %604 = insertelement <16 x i32> %603, i32 %527, i64 6, !dbg !46 %605 = insertelement <16 x i32> %604, i32 %529, i64 7, !dbg !46 %606 = insertelement <16 x i32> %605, i32 %531, i64 8, !dbg !46 %607 = insertelement <16 x i32> %606, i32 %533, i64 9, !dbg !46 %608 = insertelement <16 x i32> %607, i32 %535, i64 10, !dbg !46 %609 = insertelement <16 x i32> %608, i32 %537, i64 11, !dbg !46 %610 = insertelement <16 x i32> %609, i32 %539, i64 12, !dbg !46 %611 = insertelement <16 x i32> %610, i32 %541, i64 13, !dbg !46 %612 = insertelement <16 x i32> %611, i32 %543, i64 14, !dbg !46 %613 = insertelement <16 x i32> %612, i32 %545, i64 15, !dbg !46 %614 = sext <16 x i8> %317 to <16 x i32> %615 = getelementptr [16 x i8], [16 x i8]* @__constant_16xi8, i64 0, i64 %12, !dbg !46 %616 = load i8, i8* %615, align 1, !dbg !46 %617 = insertelement <16 x i8> , i8 %616, i64 0, !dbg !46 %618 = getelementptr [16 x i8], [16 x i8]* @__constant_16xi8, i64 0, i64 %16, !dbg !46 %619 = load i8, i8* %618, align 1, !dbg !46 %620 = insertelement <16 x i8> %617, i8 %619, i64 1, !dbg !46 %621 = getelementptr [16 x i8], [16 x i8]* @__constant_16xi8, i64 0, i64 %19, !dbg !46 %622 = load i8, i8* %621, align 1, !dbg !46 %623 = insertelement <16 x i8> %620, i8 %622, i64 2, !dbg !46 %624 = getelementptr [16 x i8], [16 x i8]* @__constant_16xi8, i64 0, i64 %22, !dbg !46 %625 = load i8, i8* %624, align 1, !dbg !46 %626 = insertelement <16 x i8> %623, i8 %625, i64 3, !dbg !46 %627 = getelementptr [16 x i8], [16 x i8]* @__constant_16xi8, i64 0, i64 %25, !dbg !46 %628 = load i8, i8* %627, align 1, !dbg !46 %629 = insertelement <16 x i8> %626, i8 %628, i64 4, !dbg !46 %630 = getelementptr [16 x i8], [16 x i8]* @__constant_16xi8, i64 0, i64 %28, !dbg !46 %631 = load i8, i8* %630, align 1, !dbg !46 %632 = insertelement <16 x i8> %629, i8 %631, i64 5, !dbg !46 %633 = getelementptr [16 x i8], [16 x i8]* @__constant_16xi8, i64 0, i64 %31, !dbg !46 %634 = load i8, i8* %633, align 1, !dbg !46 %635 = insertelement <16 x i8> %632, i8 %634, i64 6, !dbg !46 %636 = getelementptr [16 x i8], [16 x i8]* @__constant_16xi8, i64 0, i64 %34, !dbg !46 %637 = load i8, i8* %636, align 1, !dbg !46 %638 = insertelement <16 x i8> %635, i8 %637, i64 7, !dbg !46 %639 = getelementptr [16 x i8], [16 x i8]* @__constant_16xi8, i64 0, i64 %37, !dbg !46 %640 = load i8, i8* %639, align 1, !dbg !46 %641 = insertelement <16 x i8> %638, i8 %640, i64 8, !dbg !46 %642 = getelementptr [16 x i8], [16 x i8]* @__constant_16xi8, i64 0, i64 %40, !dbg !46 %643 = load i8, i8* %642, align 1, !dbg !46 %644 = insertelement <16 x i8> %641, i8 %643, i64 9, !dbg !46 %645 = getelementptr [16 x i8], [16 x i8]* @__constant_16xi8, i64 0, i64 %43, !dbg !46 %646 = load i8, i8* %645, align 1, !dbg !46 %647 = insertelement <16 x i8> %644, i8 %646, i64 10, !dbg !46 %648 = getelementptr [16 x i8], [16 x i8]* @__constant_16xi8, i64 0, i64 %46, !dbg !46 %649 = load i8, i8* %648, align 1, !dbg !46 %650 = insertelement <16 x i8> %647, i8 %649, i64 11, !dbg !46 %651 = getelementptr [16 x i8], [16 x i8]* @__constant_16xi8, i64 0, i64 %49, !dbg !46 %652 = load i8, i8* %651, align 1, !dbg !46 %653 = insertelement <16 x i8> %650, i8 %652, i64 12, !dbg !46 %654 = getelementptr [16 x i8], [16 x i8]* @__constant_16xi8, i64 0, i64 %52, !dbg !46 %655 = load i8, i8* %654, align 1, !dbg !46 %656 = insertelement <16 x i8> %653, i8 %655, i64 13, !dbg !46 %657 = getelementptr [16 x i8], [16 x i8]* @__constant_16xi8, i64 0, i64 %55, !dbg !46 %658 = load i8, i8* %657, align 1, !dbg !46 %659 = insertelement <16 x i8> %656, i8 %658, i64 14, !dbg !46 %660 = getelementptr [16 x i8], [16 x i8]* @__constant_16xi8, i64 0, i64 %58, !dbg !46 %661 = load i8, i8* %660, align 1, !dbg !46 %662 = insertelement <16 x i8> %659, i8 %661, i64 15, !dbg !46 %663 = insertelement <16 x i32> , i32 %567, i64 0, !dbg !46 %664 = insertelement <16 x i32> %663, i32 %569, i64 1, !dbg !46 %665 = insertelement <16 x i32> %664, i32 %571, i64 2, !dbg !46 %666 = insertelement <16 x i32> %665, i32 %573, i64 3, !dbg !46 %667 = insertelement <16 x i32> %666, i32 %575, i64 4, !dbg !46 %668 = insertelement <16 x i32> %667, i32 %577, i64 5, !dbg !46 %669 = insertelement <16 x i32> %668, i32 %579, i64 6, !dbg !46 %670 = insertelement <16 x i32> %669, i32 %581, i64 7, !dbg !46 %671 = insertelement <16 x i32> %670, i32 %583, i64 8, !dbg !46 %672 = insertelement <16 x i32> %671, i32 %585, i64 9, !dbg !46 %673 = insertelement <16 x i32> %672, i32 %587, i64 10, !dbg !46 %674 = insertelement <16 x i32> %673, i32 %589, i64 11, !dbg !46 %675 = insertelement <16 x i32> %674, i32 %591, i64 12, !dbg !46 %676 = insertelement <16 x i32> %675, i32 %593, i64 13, !dbg !46 %677 = insertelement <16 x i32> %676, i32 %595, i64 14, !dbg !46 %678 = insertelement <16 x i32> %677, i32 %597, i64 15, !dbg !46 %679 = sext <16 x i8> %561 to <16 x i32> %.neg = shl <16 x i32> %565, %680 = add <16 x i32> %.neg, %613 %681 = sext <16 x i32> %678 to <16 x i64> %682 = zext <16 x i8> %662 to <16 x i64> %683 = shl <16 x i64> , %682 %684 = lshr <16 x i64> %683, %685 = add i64 %13, %12, !dbg !46 %686 = add i64 %685, 64, !dbg !46 %scevgep = getelementptr i8, i8* %6, i64 %686, !dbg !46 %687 = add nuw nsw i64 %61, 73784, !dbg !46 %scevgep71 = getelementptr i8, i8* %3, i64 %687, !dbg !46 br label %688, !dbg !46 688: ; preds = %.preheader40, %688 %lsr.iv72 = phi i8* [ %scevgep71, %.preheader40 ], [ %scevgep73, %688 ] %lsr.iv61 = phi i8* [ %scevgep, %.preheader40 ], [ %scevgep62, %688 ] %lsr.iv = phi i64 [ -8, %.preheader40 ], [ %lsr.iv.next, %688 ] %689 = icmp ugt <16 x i8> %662, %lsr.iv6163 = bitcast i8* %lsr.iv61 to <16 x i8>*, !dbg !43 %lsr.iv7274 = bitcast i8* %lsr.iv72 to <8 x i8>*, !dbg !43 %scevgep75 = getelementptr <8 x i8>, <8 x i8>* %lsr.iv7274, i64 -7, !dbg !43 %690 = load <8 x i8>, <8 x i8>* %scevgep75, align 64, !dbg !43 %scevgep81 = getelementptr <8 x i8>, <8 x i8>* %lsr.iv7274, i64 -6, !dbg !43 %691 = load <8 x i8>, <8 x i8>* %scevgep81, align 8, !dbg !43 %scevgep80 = getelementptr <8 x i8>, <8 x i8>* %lsr.iv7274, i64 -5, !dbg !43 %692 = load <8 x i8>, <8 x i8>* %scevgep80, align 16, !dbg !43 %scevgep79 = getelementptr <8 x i8>, <8 x i8>* %lsr.iv7274, i64 -4, !dbg !43 %693 = load <8 x i8>, <8 x i8>* %scevgep79, align 8, !dbg !43 %scevgep78 = getelementptr <8 x i8>, <8 x i8>* %lsr.iv7274, i64 -3, !dbg !43 %694 = load <8 x i8>, <8 x i8>* %scevgep78, align 32, !dbg !43 %scevgep77 = getelementptr <8 x i8>, <8 x i8>* %lsr.iv7274, i64 -2, !dbg !43 %695 = load <8 x i8>, <8 x i8>* %scevgep77, align 8, !dbg !43 %scevgep76 = getelementptr <8 x i8>, <8 x i8>* %lsr.iv7274, i64 -1, !dbg !43 %696 = load <8 x i8>, <8 x i8>* %scevgep76, align 16, !dbg !43 %697 = load <8 x i8>, <8 x i8>* %lsr.iv7274, align 8, !dbg !43 %698 = sext <8 x i8> %690 to <8 x i32> %699 = sext <8 x i8> %691 to <8 x i32> %700 = sext <8 x i8> %692 to <8 x i32> %701 = sext <8 x i8> %693 to <8 x i32> %702 = sext <8 x i8> %694 to <8 x i32> %703 = sext <8 x i8> %695 to <8 x i32> %704 = sext <8 x i8> %696 to <8 x i32> %705 = sext <8 x i8> %697 to <8 x i32> %706 = shufflevector <8 x i32> %698, <8 x i32> undef, <16 x i32> zeroinitializer %707 = mul nsw <16 x i32> %706, %510 %708 = shufflevector <8 x i32> %699, <8 x i32> undef, <16 x i32> zeroinitializer %709 = mul nsw <16 x i32> %708, %510 %710 = shufflevector <8 x i32> %700, <8 x i32> undef, <16 x i32> zeroinitializer %711 = mul nsw <16 x i32> %710, %510 %712 = shufflevector <8 x i32> %701, <8 x i32> undef, <16 x i32> zeroinitializer %713 = mul nsw <16 x i32> %712, %510 %714 = shufflevector <8 x i32> %702, <8 x i32> undef, <16 x i32> zeroinitializer %715 = mul nsw <16 x i32> %714, %510 %716 = shufflevector <8 x i32> %703, <8 x i32> undef, <16 x i32> zeroinitializer %717 = mul nsw <16 x i32> %716, %510 %718 = shufflevector <8 x i32> %704, <8 x i32> undef, <16 x i32> zeroinitializer %719 = mul nsw <16 x i32> %718, %510 %720 = shufflevector <8 x i32> %705, <8 x i32> undef, <16 x i32> zeroinitializer %721 = mul nsw <16 x i32> %720, %510 %722 = shufflevector <8 x i32> %698, <8 x i32> undef, <16 x i32> %723 = mul nsw <16 x i32> %722, %562 %724 = shufflevector <8 x i32> %699, <8 x i32> undef, <16 x i32> %725 = mul nsw <16 x i32> %724, %562 %726 = shufflevector <8 x i32> %700, <8 x i32> undef, <16 x i32> %727 = mul nsw <16 x i32> %726, %562 %728 = shufflevector <8 x i32> %701, <8 x i32> undef, <16 x i32> %729 = mul nsw <16 x i32> %728, %562 %730 = shufflevector <8 x i32> %702, <8 x i32> undef, <16 x i32> %731 = mul nsw <16 x i32> %730, %562 %732 = shufflevector <8 x i32> %703, <8 x i32> undef, <16 x i32> %733 = mul nsw <16 x i32> %732, %562 %734 = shufflevector <8 x i32> %704, <8 x i32> undef, <16 x i32> %735 = mul nsw <16 x i32> %734, %562 %736 = shufflevector <8 x i32> %705, <8 x i32> undef, <16 x i32> %737 = mul nsw <16 x i32> %736, %562 %738 = shufflevector <8 x i32> %698, <8 x i32> undef, <16 x i32> %739 = mul nsw <16 x i32> %738, %511 %740 = shufflevector <8 x i32> %699, <8 x i32> undef, <16 x i32> %741 = mul nsw <16 x i32> %740, %511 %742 = shufflevector <8 x i32> %700, <8 x i32> undef, <16 x i32> %743 = mul nsw <16 x i32> %742, %511 %744 = shufflevector <8 x i32> %701, <8 x i32> undef, <16 x i32> %745 = mul nsw <16 x i32> %744, %511 %746 = shufflevector <8 x i32> %702, <8 x i32> undef, <16 x i32> %747 = mul nsw <16 x i32> %746, %511 %748 = shufflevector <8 x i32> %703, <8 x i32> undef, <16 x i32> %749 = mul nsw <16 x i32> %748, %511 %750 = shufflevector <8 x i32> %704, <8 x i32> undef, <16 x i32> %751 = mul nsw <16 x i32> %750, %511 %752 = shufflevector <8 x i32> %705, <8 x i32> undef, <16 x i32> %753 = mul nsw <16 x i32> %752, %511 %754 = shufflevector <8 x i32> %698, <8 x i32> undef, <16 x i32> %755 = mul nsw <16 x i32> %754, %614 %756 = shufflevector <8 x i32> %699, <8 x i32> undef, <16 x i32> %757 = mul nsw <16 x i32> %756, %614 %758 = shufflevector <8 x i32> %700, <8 x i32> undef, <16 x i32> %759 = mul nsw <16 x i32> %758, %614 %760 = shufflevector <8 x i32> %701, <8 x i32> undef, <16 x i32> %761 = mul nsw <16 x i32> %760, %614 %762 = shufflevector <8 x i32> %702, <8 x i32> undef, <16 x i32> %763 = mul nsw <16 x i32> %762, %614 %764 = shufflevector <8 x i32> %703, <8 x i32> undef, <16 x i32> %765 = mul nsw <16 x i32> %764, %614 %766 = shufflevector <8 x i32> %704, <8 x i32> undef, <16 x i32> %767 = mul nsw <16 x i32> %766, %614 %768 = shufflevector <8 x i32> %705, <8 x i32> undef, <16 x i32> %769 = mul nsw <16 x i32> %768, %614 %770 = shufflevector <8 x i32> %698, <8 x i32> undef, <16 x i32> %771 = mul nsw <16 x i32> %770, %512 %772 = shufflevector <8 x i32> %699, <8 x i32> undef, <16 x i32> %773 = mul nsw <16 x i32> %772, %512 %774 = shufflevector <8 x i32> %700, <8 x i32> undef, <16 x i32> %775 = mul nsw <16 x i32> %774, %512 %776 = shufflevector <8 x i32> %701, <8 x i32> undef, <16 x i32> %777 = mul nsw <16 x i32> %776, %512 %778 = shufflevector <8 x i32> %702, <8 x i32> undef, <16 x i32> %779 = mul nsw <16 x i32> %778, %512 %780 = shufflevector <8 x i32> %703, <8 x i32> undef, <16 x i32> %781 = mul nsw <16 x i32> %780, %512 %782 = shufflevector <8 x i32> %704, <8 x i32> undef, <16 x i32> %783 = mul nsw <16 x i32> %782, %512 %784 = shufflevector <8 x i32> %705, <8 x i32> undef, <16 x i32> %785 = mul nsw <16 x i32> %784, %512 %786 = shufflevector <8 x i32> %698, <8 x i32> undef, <16 x i32> %787 = mul nsw <16 x i32> %786, %563 %788 = shufflevector <8 x i32> %699, <8 x i32> undef, <16 x i32> %789 = mul nsw <16 x i32> %788, %563 %790 = shufflevector <8 x i32> %700, <8 x i32> undef, <16 x i32> %791 = mul nsw <16 x i32> %790, %563 %792 = shufflevector <8 x i32> %701, <8 x i32> undef, <16 x i32> %793 = mul nsw <16 x i32> %792, %563 %794 = shufflevector <8 x i32> %702, <8 x i32> undef, <16 x i32> %795 = mul nsw <16 x i32> %794, %563 %796 = shufflevector <8 x i32> %703, <8 x i32> undef, <16 x i32> %797 = mul nsw <16 x i32> %796, %563 %798 = shufflevector <8 x i32> %704, <8 x i32> undef, <16 x i32> %799 = mul nsw <16 x i32> %798, %563 %800 = shufflevector <8 x i32> %705, <8 x i32> undef, <16 x i32> %801 = mul nsw <16 x i32> %800, %563 %802 = shufflevector <8 x i32> %698, <8 x i32> undef, <16 x i32> %803 = mul nsw <16 x i32> %802, %513 %804 = shufflevector <8 x i32> %699, <8 x i32> undef, <16 x i32> %805 = mul nsw <16 x i32> %804, %513 %806 = shufflevector <8 x i32> %700, <8 x i32> undef, <16 x i32> %807 = mul nsw <16 x i32> %806, %513 %808 = shufflevector <8 x i32> %701, <8 x i32> undef, <16 x i32> %809 = mul nsw <16 x i32> %808, %513 %810 = shufflevector <8 x i32> %702, <8 x i32> undef, <16 x i32> %811 = mul nsw <16 x i32> %810, %513 %812 = shufflevector <8 x i32> %703, <8 x i32> undef, <16 x i32> %813 = mul nsw <16 x i32> %812, %513 %814 = shufflevector <8 x i32> %704, <8 x i32> undef, <16 x i32> %815 = mul nsw <16 x i32> %814, %513 %816 = shufflevector <8 x i32> %705, <8 x i32> undef, <16 x i32> %817 = mul nsw <16 x i32> %816, %513 %818 = shufflevector <8 x i32> %698, <8 x i32> undef, <16 x i32> %819 = mul nsw <16 x i32> %818, %679 %820 = shufflevector <8 x i32> %699, <8 x i32> undef, <16 x i32> %821 = mul nsw <16 x i32> %820, %679 %822 = shufflevector <8 x i32> %700, <8 x i32> undef, <16 x i32> %823 = mul nsw <16 x i32> %822, %679 %824 = shufflevector <8 x i32> %701, <8 x i32> undef, <16 x i32> %825 = mul nsw <16 x i32> %824, %679 %826 = shufflevector <8 x i32> %702, <8 x i32> undef, <16 x i32> %827 = mul nsw <16 x i32> %826, %679 %828 = shufflevector <8 x i32> %703, <8 x i32> undef, <16 x i32> %829 = mul nsw <16 x i32> %828, %679 %830 = shufflevector <8 x i32> %704, <8 x i32> undef, <16 x i32> %831 = mul nsw <16 x i32> %830, %679 %832 = shufflevector <8 x i32> %705, <8 x i32> undef, <16 x i32> %833 = mul nsw <16 x i32> %832, %679 %834 = add <16 x i32> %680, %707 %835 = add <16 x i32> %834, %723 %836 = add <16 x i32> %835, %739 %837 = add <16 x i32> %836, %755 %838 = add <16 x i32> %837, %771 %839 = add <16 x i32> %838, %787 %840 = add <16 x i32> %839, %803, !dbg !43 %841 = add <16 x i32> %840, %819, !dbg !43 %842 = add <16 x i32> %680, %709 %843 = add <16 x i32> %842, %725 %844 = add <16 x i32> %843, %741 %845 = add <16 x i32> %844, %757 %846 = add <16 x i32> %845, %773 %847 = add <16 x i32> %846, %789 %848 = add <16 x i32> %847, %805, !dbg !43 %849 = add <16 x i32> %848, %821, !dbg !43 %850 = add <16 x i32> %680, %711 %851 = add <16 x i32> %850, %727 %852 = add <16 x i32> %851, %743 %853 = add <16 x i32> %852, %759 %854 = add <16 x i32> %853, %775 %855 = add <16 x i32> %854, %791 %856 = add <16 x i32> %855, %807, !dbg !43 %857 = add <16 x i32> %856, %823, !dbg !43 %858 = add <16 x i32> %680, %713 %859 = add <16 x i32> %858, %729 %860 = add <16 x i32> %859, %745 %861 = add <16 x i32> %860, %761 %862 = add <16 x i32> %861, %777 %863 = add <16 x i32> %862, %793 %864 = add <16 x i32> %863, %809, !dbg !43 %865 = add <16 x i32> %864, %825, !dbg !43 %866 = add <16 x i32> %680, %715 %867 = add <16 x i32> %866, %731 %868 = add <16 x i32> %867, %747 %869 = add <16 x i32> %868, %763 %870 = add <16 x i32> %869, %779 %871 = add <16 x i32> %870, %795 %872 = add <16 x i32> %871, %811, !dbg !43 %873 = add <16 x i32> %872, %827, !dbg !43 %874 = add <16 x i32> %680, %717 %875 = add <16 x i32> %874, %733 %876 = add <16 x i32> %875, %749 %877 = add <16 x i32> %876, %765 %878 = add <16 x i32> %877, %781 %879 = add <16 x i32> %878, %797 %880 = add <16 x i32> %879, %813, !dbg !43 %881 = add <16 x i32> %880, %829, !dbg !43 %882 = add <16 x i32> %680, %719 %883 = add <16 x i32> %882, %735 %884 = add <16 x i32> %883, %751 %885 = add <16 x i32> %884, %767 %886 = add <16 x i32> %885, %783 %887 = add <16 x i32> %886, %799 %888 = add <16 x i32> %887, %815, !dbg !43 %889 = add <16 x i32> %888, %831, !dbg !43 %890 = add <16 x i32> %680, %721 %891 = add <16 x i32> %890, %737 %892 = add <16 x i32> %891, %753 %893 = add <16 x i32> %892, %769 %894 = add <16 x i32> %893, %785 %895 = add <16 x i32> %894, %801 %896 = add <16 x i32> %895, %817, !dbg !43 %897 = add <16 x i32> %896, %833, !dbg !43 %898 = sext <16 x i32> %841 to <16 x i64>, !dbg !46 %899 = sext <16 x i32> %849 to <16 x i64>, !dbg !46 %900 = sext <16 x i32> %857 to <16 x i64>, !dbg !46 %901 = sext <16 x i32> %865 to <16 x i64>, !dbg !46 %902 = sext <16 x i32> %873 to <16 x i64>, !dbg !46 %903 = sext <16 x i32> %881 to <16 x i64>, !dbg !46 %904 = sext <16 x i32> %889 to <16 x i64>, !dbg !46 %905 = sext <16 x i32> %897 to <16 x i64>, !dbg !46 %906 = mul nsw <16 x i64> %898, %681, !dbg !46 %907 = mul nsw <16 x i64> %899, %681, !dbg !46 %908 = mul nsw <16 x i64> %900, %681, !dbg !46 %909 = mul nsw <16 x i64> %901, %681, !dbg !46 %910 = mul nsw <16 x i64> %902, %681, !dbg !46 %911 = mul nsw <16 x i64> %903, %681, !dbg !46 %912 = mul nsw <16 x i64> %904, %681, !dbg !46 %913 = mul nsw <16 x i64> %905, %681, !dbg !46 %914 = add <16 x i64> %906, %684, !dbg !46 %915 = add <16 x i64> %907, %684, !dbg !46 %916 = add <16 x i64> %908, %684, !dbg !46 %917 = add <16 x i64> %909, %684, !dbg !46 %918 = add <16 x i64> %910, %684, !dbg !46 %919 = add <16 x i64> %911, %684, !dbg !46 %920 = add <16 x i64> %912, %684, !dbg !46 %921 = add <16 x i64> %913, %684, !dbg !46 %922 = icmp sgt <16 x i32> %841, , !dbg !46 %923 = icmp sgt <16 x i32> %849, , !dbg !46 %924 = icmp sgt <16 x i32> %857, , !dbg !46 %925 = icmp sgt <16 x i32> %865, , !dbg !46 %926 = icmp sgt <16 x i32> %873, , !dbg !46 %927 = icmp sgt <16 x i32> %881, , !dbg !46 %928 = icmp sgt <16 x i32> %889, , !dbg !46 %929 = icmp sgt <16 x i32> %897, , !dbg !46 %930 = select <16 x i1> %922, <16 x i64> , <16 x i64> , !dbg !46 %931 = select <16 x i1> %923, <16 x i64> , <16 x i64> , !dbg !46 %932 = select <16 x i1> %924, <16 x i64> , <16 x i64> , !dbg !46 %933 = select <16 x i1> %925, <16 x i64> , <16 x i64> , !dbg !46 %934 = select <16 x i1> %926, <16 x i64> , <16 x i64> , !dbg !46 %935 = select <16 x i1> %927, <16 x i64> , <16 x i64> , !dbg !46 %936 = select <16 x i1> %928, <16 x i64> , <16 x i64> , !dbg !46 %937 = select <16 x i1> %929, <16 x i64> , <16 x i64> , !dbg !46 %938 = select <16 x i1> %689, <16 x i64> %930, <16 x i64> zeroinitializer, !dbg !46 %939 = add <16 x i64> %914, %938, !dbg !46 %940 = select <16 x i1> %689, <16 x i64> %931, <16 x i64> zeroinitializer, !dbg !46 %941 = add <16 x i64> %915, %940, !dbg !46 %942 = select <16 x i1> %689, <16 x i64> %932, <16 x i64> zeroinitializer, !dbg !46 %943 = add <16 x i64> %916, %942, !dbg !46 %944 = select <16 x i1> %689, <16 x i64> %933, <16 x i64> zeroinitializer, !dbg !46 %945 = add <16 x i64> %917, %944, !dbg !46 %946 = select <16 x i1> %689, <16 x i64> %934, <16 x i64> zeroinitializer, !dbg !46 %947 = add <16 x i64> %918, %946, !dbg !46 %948 = select <16 x i1> %689, <16 x i64> %935, <16 x i64> zeroinitializer, !dbg !46 %949 = add <16 x i64> %919, %948, !dbg !46 %950 = select <16 x i1> %689, <16 x i64> %936, <16 x i64> zeroinitializer, !dbg !46 %951 = add <16 x i64> %920, %950, !dbg !46 %952 = select <16 x i1> %689, <16 x i64> %937, <16 x i64> zeroinitializer, !dbg !46 %953 = add <16 x i64> %921, %952, !dbg !46 %954 = ashr <16 x i64> %939, %682, !dbg !46 %955 = ashr <16 x i64> %941, %682, !dbg !46 %956 = ashr <16 x i64> %943, %682, !dbg !46 %957 = ashr <16 x i64> %945, %682, !dbg !46 %958 = ashr <16 x i64> %947, %682, !dbg !46 %959 = ashr <16 x i64> %949, %682, !dbg !46 %960 = ashr <16 x i64> %951, %682, !dbg !46 %961 = ashr <16 x i64> %953, %682, !dbg !46 %962 = trunc <16 x i64> %954 to <16 x i32>, !dbg !46 %963 = trunc <16 x i64> %955 to <16 x i32>, !dbg !46 %964 = trunc <16 x i64> %956 to <16 x i32>, !dbg !46 %965 = trunc <16 x i64> %957 to <16 x i32>, !dbg !46 %966 = trunc <16 x i64> %958 to <16 x i32>, !dbg !46 %967 = trunc <16 x i64> %959 to <16 x i32>, !dbg !46 %968 = trunc <16 x i64> %960 to <16 x i32>, !dbg !46 %969 = trunc <16 x i64> %961 to <16 x i32>, !dbg !46 %970 = add <16 x i32> %962, , !dbg !46 %971 = add <16 x i32> %963, , !dbg !46 %972 = add <16 x i32> %964, , !dbg !46 %973 = add <16 x i32> %965, , !dbg !46 %974 = add <16 x i32> %966, , !dbg !46 %975 = add <16 x i32> %967, , !dbg !46 %976 = add <16 x i32> %968, , !dbg !46 %977 = add <16 x i32> %969, , !dbg !46 %978 = tail call <16 x i32> @llvm.smax.v16i32(<16 x i32> %970, <16 x i32> ), !dbg !46 %979 = tail call <16 x i32> @llvm.smax.v16i32(<16 x i32> %971, <16 x i32> ), !dbg !46 %980 = tail call <16 x i32> @llvm.smax.v16i32(<16 x i32> %972, <16 x i32> ), !dbg !46 %981 = tail call <16 x i32> @llvm.smax.v16i32(<16 x i32> %973, <16 x i32> ), !dbg !46 %982 = tail call <16 x i32> @llvm.smax.v16i32(<16 x i32> %974, <16 x i32> ), !dbg !46 %983 = tail call <16 x i32> @llvm.smax.v16i32(<16 x i32> %975, <16 x i32> ), !dbg !46 %984 = tail call <16 x i32> @llvm.smax.v16i32(<16 x i32> %976, <16 x i32> ), !dbg !46 %985 = tail call <16 x i32> @llvm.smax.v16i32(<16 x i32> %977, <16 x i32> ), !dbg !46 %986 = tail call <16 x i32> @llvm.smin.v16i32(<16 x i32> %978, <16 x i32> ), !dbg !46 %987 = tail call <16 x i32> @llvm.smin.v16i32(<16 x i32> %979, <16 x i32> ), !dbg !46 %988 = tail call <16 x i32> @llvm.smin.v16i32(<16 x i32> %980, <16 x i32> ), !dbg !46 %989 = tail call <16 x i32> @llvm.smin.v16i32(<16 x i32> %981, <16 x i32> ), !dbg !46 %990 = tail call <16 x i32> @llvm.smin.v16i32(<16 x i32> %982, <16 x i32> ), !dbg !46 %991 = tail call <16 x i32> @llvm.smin.v16i32(<16 x i32> %983, <16 x i32> ), !dbg !46 %992 = tail call <16 x i32> @llvm.smin.v16i32(<16 x i32> %984, <16 x i32> ), !dbg !46 %993 = tail call <16 x i32> @llvm.smin.v16i32(<16 x i32> %985, <16 x i32> ), !dbg !46 %994 = trunc <16 x i32> %986 to <16 x i8>, !dbg !46 %995 = trunc <16 x i32> %987 to <16 x i8>, !dbg !46 %996 = trunc <16 x i32> %988 to <16 x i8>, !dbg !46 %997 = trunc <16 x i32> %989 to <16 x i8>, !dbg !46 %998 = trunc <16 x i32> %990 to <16 x i8>, !dbg !46 %999 = trunc <16 x i32> %991 to <16 x i8>, !dbg !46 %1000 = trunc <16 x i32> %992 to <16 x i8>, !dbg !46 %1001 = trunc <16 x i32> %993 to <16 x i8>, !dbg !46 %scevgep65 = getelementptr <16 x i8>, <16 x i8>* %lsr.iv6163, i64 -4, !dbg !46 store <16 x i8> %994, <16 x i8>* %scevgep65, align 16, !dbg !46 %scevgep68 = getelementptr <16 x i8>, <16 x i8>* %lsr.iv6163, i64 -3, !dbg !46 store <16 x i8> %995, <16 x i8>* %scevgep68, align 16, !dbg !46 %scevgep70 = getelementptr <16 x i8>, <16 x i8>* %lsr.iv6163, i64 -2, !dbg !46 store <16 x i8> %996, <16 x i8>* %scevgep70, align 16, !dbg !46 %scevgep69 = getelementptr <16 x i8>, <16 x i8>* %lsr.iv6163, i64 -1, !dbg !46 store <16 x i8> %997, <16 x i8>* %scevgep69, align 16, !dbg !46 store <16 x i8> %998, <16 x i8>* %lsr.iv6163, align 16, !dbg !46 %scevgep67 = getelementptr <16 x i8>, <16 x i8>* %lsr.iv6163, i64 1, !dbg !46 store <16 x i8> %999, <16 x i8>* %scevgep67, align 16, !dbg !46 %scevgep66 = getelementptr <16 x i8>, <16 x i8>* %lsr.iv6163, i64 2, !dbg !46 store <16 x i8> %1000, <16 x i8>* %scevgep66, align 16, !dbg !46 %scevgep64 = getelementptr <16 x i8>, <16 x i8>* %lsr.iv6163, i64 3, !dbg !46 store <16 x i8> %1001, <16 x i8>* %scevgep64, align 16, !dbg !46 %lsr.iv.next = add nsw i64 %lsr.iv, 8, !dbg !46 %scevgep62 = getelementptr i8, i8* %lsr.iv61, i64 128, !dbg !46 %scevgep73 = getelementptr i8, i8* %lsr.iv72, i64 64, !dbg !46 %1002 = icmp ult i64 %lsr.iv.next, 248, !dbg !46 br i1 %1002, label %688, label %1003, !dbg !46 1003: ; preds = %688 ret i32 0, !dbg !46 } ; Function Attrs: nofree nosync nounwind define internal i32 @main_dispatch_8(%iree_hal_executable_environment_v0_t* noalias nocapture nonnull readnone byref(%iree_hal_executable_environment_v0_t) align 16 %0, %iree_hal_executable_dispatch_state_v0_t* noalias nocapture nonnull readonly byref(%iree_hal_executable_dispatch_state_v0_t) align 16 %1, %iree_hal_executable_workgroup_state_v0_t* noalias nocapture nonnull readonly byref(%iree_hal_executable_workgroup_state_v0_t) align 16 %2) #0 !dbg !48 { %.elt19 = getelementptr inbounds %iree_hal_executable_dispatch_state_v0_t, %iree_hal_executable_dispatch_state_v0_t* %1, i64 0, i32 10, !dbg !49 %.unpack20 = load i8**, i8*** %.elt19, align 16, !dbg !49 %4 = load i8*, i8** %.unpack20, align 8, !dbg !49 %5 = getelementptr i8*, i8** %.unpack20, i64 1, !dbg !52 %6 = load i8*, i8** %5, align 8, !dbg !52 %7 = load %iree_hal_executable_workgroup_state_v0_t, %iree_hal_executable_workgroup_state_v0_t* %2, align 16, !dbg !52 %8 = extractvalue %iree_hal_executable_workgroup_state_v0_t %7, 0, !dbg !52 %9 = zext i32 %8 to i64, !dbg !52 %10 = extractvalue %iree_hal_executable_workgroup_state_v0_t %7, 1, !dbg !52 %11 = zext i32 %10 to i64, !dbg !52 %12 = extractvalue %iree_hal_executable_workgroup_state_v0_t %7, 2, !dbg !52 %13 = zext i16 %12 to i64, !dbg !52 %14 = shl nuw nsw i64 %9, 4, !dbg !52 %15 = mul nuw nsw i64 %13, 12288, !dbg !52 %16 = shl nuw nsw i64 %11, 8, !dbg !52 %17 = mul nuw nsw i64 %13, 12544, !dbg !52 %18 = add nuw nsw i64 %14, %16 %19 = add nuw nsw i64 %18, %15 %scevgep = getelementptr i8, i8* %4, i64 %19, !dbg !52 %20 = add i64 %17, %16, !dbg !52 %21 = add i64 %20, %14, !dbg !52 %22 = add i64 %21, 92224, !dbg !52 %scevgep28 = getelementptr i8, i8* %6, i64 %22, !dbg !52 br label %.preheader, !dbg !52 .preheader: ; preds = %3, %26 %lsr.iv29 = phi i8* [ %scevgep28, %3 ], [ %scevgep30, %26 ] %lsr.iv24 = phi i8* [ %scevgep, %3 ], [ %scevgep25, %26 ] %23 = phi i64 [ 0, %3 ], [ %27, %26 ] br label %24, !dbg !52 24: ; preds = %.preheader, %24 %lsr.iv = phi i64 [ 0, %.preheader ], [ %lsr.iv.next, %24 ] %scevgep26 = getelementptr i8, i8* %lsr.iv24, i64 %lsr.iv, !dbg !52 %scevgep2627 = bitcast i8* %scevgep26 to <16 x i8>*, !dbg !52 %25 = load <16 x i8>, <16 x i8>* %scevgep2627, align 1, !dbg !52 %scevgep31 = getelementptr i8, i8* %lsr.iv29, i64 %lsr.iv, !dbg !52 %scevgep3132 = bitcast i8* %scevgep31 to <16 x i8>*, !dbg !52 store <16 x i8> %25, <16 x i8>* %scevgep3132, align 1, !dbg !52 %lsr.iv.next = add nuw nsw i64 %lsr.iv, 16, !dbg !52 %exitcond.not = icmp eq i64 %lsr.iv.next, 256, !dbg !52 br i1 %exitcond.not, label %26, label %24, !dbg !52 26: ; preds = %24 %27 = add nuw nsw i64 %23, 1, !dbg !52 %scevgep25 = getelementptr i8, i8* %lsr.iv24, i64 768, !dbg !52 %scevgep30 = getelementptr i8, i8* %lsr.iv29, i64 784, !dbg !52 %exitcond23.not = icmp eq i64 %27, 16, !dbg !52 br i1 %exitcond23.not, label %28, label %.preheader, !dbg !52 28: ; preds = %26 ret i32 0, !dbg !52 } ; Function Attrs: nofree nosync nounwind define internal i32 @main_dispatch_9(%iree_hal_executable_environment_v0_t* noalias nocapture nonnull readnone byref(%iree_hal_executable_environment_v0_t) align 16 %0, %iree_hal_executable_dispatch_state_v0_t* noalias nocapture nonnull readonly byref(%iree_hal_executable_dispatch_state_v0_t) align 16 %1, %iree_hal_executable_workgroup_state_v0_t* noalias nocapture nonnull readonly byref(%iree_hal_executable_workgroup_state_v0_t) align 16 %2) #0 !dbg !53 { %.elt11 = getelementptr inbounds %iree_hal_executable_dispatch_state_v0_t, %iree_hal_executable_dispatch_state_v0_t* %1, i64 0, i32 4, !dbg !54 %.unpack12 = load i32, i32* %.elt11, align 4, !dbg !54 %4 = zext i32 %.unpack12 to i64, !dbg !54 %.elt13 = getelementptr inbounds %iree_hal_executable_dispatch_state_v0_t, %iree_hal_executable_dispatch_state_v0_t* %1, i64 0, i32 5, !dbg !54 %.unpack14 = load i32, i32* %.elt13, align 16, !dbg !54 %5 = zext i32 %.unpack14 to i64, !dbg !54 %.elt15 = getelementptr inbounds %iree_hal_executable_dispatch_state_v0_t, %iree_hal_executable_dispatch_state_v0_t* %1, i64 0, i32 6, !dbg !54 %.unpack16 = load i16, i16* %.elt15, align 4, !dbg !54 %.elt23 = getelementptr inbounds %iree_hal_executable_dispatch_state_v0_t, %iree_hal_executable_dispatch_state_v0_t* %1, i64 0, i32 10, !dbg !54 %.unpack24 = load i8**, i8*** %.elt23, align 16, !dbg !54 %6 = load i8*, i8** %.unpack24, align 8, !dbg !54 %7 = getelementptr i8*, i8** %.unpack24, i64 1, !dbg !54 %8 = bitcast i8** %7 to i32**, !dbg !54 %9 = load i32*, i32** %8, align 8, !dbg !54 %10 = load %iree_hal_executable_workgroup_state_v0_t, %iree_hal_executable_workgroup_state_v0_t* %2, align 16, !dbg !54 %11 = extractvalue %iree_hal_executable_workgroup_state_v0_t %10, 2, !dbg !54 %12 = zext i16 %11 to i64, !dbg !54 %13 = zext i16 %.unpack16 to i64, !dbg !54 %14 = shl nuw nsw i64 %12, 3, !dbg !54 %15 = shl nuw nsw i64 %13, 3, !dbg !54 %16 = icmp ult i16 %11, 3, !dbg !54 br i1 %16, label %.lr.ph, label %._crit_edge, !dbg !54 .lr.ph: ; preds = %3 %17 = extractvalue %iree_hal_executable_workgroup_state_v0_t %10, 1, !dbg !54 %18 = zext i32 %17 to i64, !dbg !54 %19 = extractvalue %iree_hal_executable_workgroup_state_v0_t %10, 0, !dbg !54 %20 = zext i32 %19 to i64, !dbg !54 %21 = shl nuw nsw i64 %18, 3 %22 = shl nuw nsw i64 %5, 3 %23 = icmp ult i32 %17, 3 %24 = shl i64 %20, 4 %25 = shl i64 %4, 4 br i1 %23, label %.lr.ph.split.us, label %.lr.ph.split.preheader, !dbg !54 .lr.ph.split.preheader: ; preds = %.lr.ph br label %.lr.ph.split, !dbg !54 .lr.ph.split.us: ; preds = %.lr.ph %26 = icmp eq i32 %19, 0 br i1 %26, label %.lr.ph34.us.us.preheader, label %.lr.ph34.us.preheader, !dbg !54 .lr.ph34.us.preheader: ; preds = %.lr.ph.split.us br label %.lr.ph34.us, !dbg !54 .lr.ph34.us.us.preheader: ; preds = %.lr.ph.split.us %const = bitcast i64 12544 to i64, !dbg !54 %27 = mul nuw nsw i64 %12, 3072, !dbg !54 %28 = shl nuw nsw i64 %18, 7, !dbg !54 %29 = add i64 %27, %28, !dbg !54 %30 = add i64 %29, %24, !dbg !54 %scevgep = getelementptr i32, i32* %9, i64 %30, !dbg !54 %31 = mul nuw nsw i64 %13, 12288, !dbg !54 %32 = shl nuw nsw i64 %5, 9, !dbg !54 %33 = shl nuw nsw i64 %4, 6, !dbg !54 %34 = add i64 %30, 8, !dbg !54 %scevgep67 = getelementptr i32, i32* %9, i64 %34, !dbg !54 %35 = mul nuw nsw i64 %12, %const, !dbg !54 %36 = shl nuw nsw i64 %18, 8, !dbg !54 %37 = add i64 %35, %36, !dbg !54 %38 = add i64 %37, %24, !dbg !54 %39 = add i64 %38, 93824, !dbg !54 %scevgep114 = getelementptr i8, i8* %6, i64 %39, !dbg !54 %40 = mul nuw nsw i64 %13, %const, !dbg !54 %41 = shl nuw nsw i64 %5, 8, !dbg !54 br label %.lr.ph34.us.us, !dbg !54 .lr.ph34.us.us: ; preds = %.lr.ph34.us.us.preheader, %._crit_edge35.split.us.us.us %lsr.iv115 = phi i8* [ %scevgep114, %.lr.ph34.us.us.preheader ], [ %146, %._crit_edge35.split.us.us.us ] %lsr.iv68 = phi i32* [ %scevgep67, %.lr.ph34.us.us.preheader ], [ %145, %._crit_edge35.split.us.us.us ] %lsr.iv54 = phi i32* [ %scevgep, %.lr.ph34.us.us.preheader ], [ %144, %._crit_edge35.split.us.us.us ] %42 = phi i64 [ %143, %._crit_edge35.split.us.us.us ], [ %14, %.lr.ph34.us.us.preheader ] br label %.lr.ph.us.us.us, !dbg !54 .lr.ph.us.us.us: ; preds = %._crit_edge.us.us.us, %.lr.ph34.us.us %lsr.iv118 = phi i8* [ %138, %._crit_edge.us.us.us ], [ %lsr.iv115, %.lr.ph34.us.us ] %lsr.iv71 = phi i32* [ %137, %._crit_edge.us.us.us ], [ %lsr.iv68, %.lr.ph34.us.us ] %lsr.iv57 = phi i32* [ %136, %._crit_edge.us.us.us ], [ %lsr.iv54, %.lr.ph34.us.us ] %43 = phi i64 [ %21, %.lr.ph34.us.us ], [ %135, %._crit_edge.us.us.us ] br label %44, !dbg !54 44: ; preds = %46, %.lr.ph.us.us.us %lsr.iv121 = phi i8* [ %53, %46 ], [ %lsr.iv118, %.lr.ph.us.us.us ] %lsr.iv74 = phi i32* [ %52, %46 ], [ %lsr.iv71, %.lr.ph.us.us.us ] %lsr.iv60 = phi i32* [ %51, %46 ], [ %lsr.iv57, %.lr.ph.us.us.us ] %45 = phi i64 [ %24, %.lr.ph.us.us.us ], [ %50, %46 ] br label %.preheader31.us.us.us, !dbg !54 46: ; preds = %55 %47 = bitcast i32* %lsr.iv74 to i1*, !dbg !54 %48 = bitcast i32* %lsr.iv60 to i1*, !dbg !54 %49 = bitcast i8* %lsr.iv121 to i1*, !dbg !54 %50 = add i64 %45, %25, !dbg !54 %scevgep62 = getelementptr i1, i1* %48, i64 %33, !dbg !54 %51 = bitcast i1* %scevgep62 to i32*, !dbg !54 %scevgep76 = getelementptr i1, i1* %47, i64 %33, !dbg !54 %52 = bitcast i1* %scevgep76 to i32*, !dbg !54 %scevgep123 = getelementptr i1, i1* %49, i64 %25, !dbg !54 %53 = bitcast i1* %scevgep123 to i8*, !dbg !54 %54 = icmp slt i64 %50, 16, !dbg !54 br i1 %54, label %44, label %._crit_edge.us.us.us, !dbg !54 55: ; preds = %57 %56 = add nuw nsw i64 %130, 1, !dbg !54 %scevgep125 = getelementptr i8, i8* %lsr.iv124, i64 1568, !dbg !54 %scevgep146 = getelementptr i32, i32* %lsr.iv145, i64 384, !dbg !54 %exitcond45.not = icmp eq i64 %56, 8, !dbg !54 br i1 %exitcond45.not, label %46, label %.preheader30.us.us.us, !dbg !54 57: ; preds = %.preheader27.us.us.us %58 = add nuw nsw i64 %127, 1, !dbg !54 %scevgep127 = getelementptr i8, i8* %lsr.iv126, i64 32, !dbg !54 %scevgep148 = getelementptr i32, i32* %lsr.iv147, i64 16, !dbg !54 %exitcond44.not = icmp eq i64 %58, 8, !dbg !54 br i1 %exitcond44.not, label %55, label %.preheader28.us.us.us, !dbg !54 59: ; preds = %.preheader29.us.us.us %60 = add nuw nsw i64 %131, 1, !dbg !54 %scevgep64 = getelementptr i32, i32* %lsr.iv63, i64 384, !dbg !54 %scevgep78 = getelementptr i32, i32* %lsr.iv77, i64 384, !dbg !54 %exitcond40.not = icmp eq i64 %60, 8, !dbg !54 br i1 %exitcond40.not, label %.preheader30.us.us.us.preheader, label %.preheader31.us.us.us, !dbg !54 .preheader30.us.us.us.preheader: ; preds = %59 br label %.preheader30.us.us.us, !dbg !54 .preheader27.us.us.us: ; preds = %.preheader28.us.us.us, %.preheader27.us.us.us %lsr.iv149 = phi i32* [ %lsr.iv147, %.preheader28.us.us.us ], [ %scevgep150, %.preheader27.us.us.us ] %61 = phi i64 [ 0, %.preheader28.us.us.us ], [ %126, %.preheader27.us.us.us ] %scevgep129 = getelementptr i8, i8* %lsr.iv126, i64 %61, !dbg !54 %scevgep130 = getelementptr i8, i8* %scevgep129, i64 -1600, !dbg !54 %62 = load i8, i8* %scevgep130, align 1, !dbg !54 %scevgep151 = getelementptr [3 x [3 x [16 x i8]]], [3 x [3 x [16 x i8]]]* @__constant_3x3x16xi8, i64 0, i64 0, i64 0, i64 %61, !dbg !54 %63 = load i8, i8* %scevgep151, align 1, !dbg !54 %64 = load i32, i32* %lsr.iv149, align 4, !dbg !54 %65 = sext i8 %62 to i32 %66 = add nsw i32 %65, 128 %67 = sext i8 %63 to i32 %68 = mul nsw i32 %66, %67 %69 = add i32 %68, %64 store i32 %69, i32* %lsr.iv149, align 4, !dbg !54 %scevgep131 = getelementptr i8, i8* %lsr.iv126, i64 %61, !dbg !54 %scevgep132 = getelementptr i8, i8* %scevgep131, i64 -1584, !dbg !54 %70 = load i8, i8* %scevgep132, align 1, !dbg !54 %scevgep164 = getelementptr [3 x [3 x [16 x i8]]], [3 x [3 x [16 x i8]]]* @__constant_3x3x16xi8, i64 0, i64 0, i64 0, i64 %61, !dbg !54 %scevgep165 = getelementptr i8, i8* %scevgep164, i64 16, !dbg !54 %71 = load i8, i8* %scevgep165, align 1, !dbg !54 %72 = sext i8 %70 to i32 %73 = add nsw i32 %72, 128 %74 = sext i8 %71 to i32 %75 = mul nsw i32 %73, %74 %76 = add i32 %75, %69 store i32 %76, i32* %lsr.iv149, align 4, !dbg !54 %scevgep133 = getelementptr i8, i8* %lsr.iv126, i64 %61, !dbg !54 %scevgep134 = getelementptr i8, i8* %scevgep133, i64 -1568, !dbg !54 %77 = load i8, i8* %scevgep134, align 1, !dbg !54 %scevgep166 = getelementptr [3 x [3 x [16 x i8]]], [3 x [3 x [16 x i8]]]* @__constant_3x3x16xi8, i64 0, i64 0, i64 0, i64 %61, !dbg !54 %scevgep167 = getelementptr i8, i8* %scevgep166, i64 32, !dbg !54 %78 = load i8, i8* %scevgep167, align 1, !dbg !54 %79 = sext i8 %77 to i32 %80 = add nsw i32 %79, 128 %81 = sext i8 %78 to i32 %82 = mul nsw i32 %80, %81 %83 = add i32 %82, %76 store i32 %83, i32* %lsr.iv149, align 4, !dbg !54 %scevgep135 = getelementptr i8, i8* %lsr.iv126, i64 %61, !dbg !54 %scevgep136 = getelementptr i8, i8* %scevgep135, i64 -816, !dbg !54 %84 = load i8, i8* %scevgep136, align 1, !dbg !54 %scevgep160 = getelementptr [3 x [3 x [16 x i8]]], [3 x [3 x [16 x i8]]]* @__constant_3x3x16xi8, i64 0, i64 0, i64 0, i64 %61, !dbg !54 %scevgep161 = getelementptr i8, i8* %scevgep160, i64 48, !dbg !54 %85 = load i8, i8* %scevgep161, align 1, !dbg !54 %86 = sext i8 %84 to i32 %87 = add nsw i32 %86, 128 %88 = sext i8 %85 to i32 %89 = mul nsw i32 %87, %88 %90 = add i32 %89, %83 store i32 %90, i32* %lsr.iv149, align 4, !dbg !54 %scevgep137 = getelementptr i8, i8* %lsr.iv126, i64 %61, !dbg !54 %scevgep138 = getelementptr i8, i8* %scevgep137, i64 -800, !dbg !54 %91 = load i8, i8* %scevgep138, align 1, !dbg !54 %scevgep158 = getelementptr [3 x [3 x [16 x i8]]], [3 x [3 x [16 x i8]]]* @__constant_3x3x16xi8, i64 0, i64 0, i64 0, i64 %61, !dbg !54 %scevgep159 = getelementptr i8, i8* %scevgep158, i64 64, !dbg !54 %92 = load i8, i8* %scevgep159, align 1, !dbg !54 %93 = sext i8 %91 to i32 %94 = add nsw i32 %93, 128 %95 = sext i8 %92 to i32 %96 = mul nsw i32 %94, %95 %97 = add i32 %96, %90 store i32 %97, i32* %lsr.iv149, align 4, !dbg !54 %scevgep139 = getelementptr i8, i8* %lsr.iv126, i64 %61, !dbg !54 %scevgep140 = getelementptr i8, i8* %scevgep139, i64 -784, !dbg !54 %98 = load i8, i8* %scevgep140, align 1, !dbg !54 %scevgep156 = getelementptr [3 x [3 x [16 x i8]]], [3 x [3 x [16 x i8]]]* @__constant_3x3x16xi8, i64 0, i64 0, i64 0, i64 %61, !dbg !54 %scevgep157 = getelementptr i8, i8* %scevgep156, i64 80, !dbg !54 %99 = load i8, i8* %scevgep157, align 1, !dbg !54 %100 = sext i8 %98 to i32 %101 = add nsw i32 %100, 128 %102 = sext i8 %99 to i32 %103 = mul nsw i32 %101, %102 %104 = add i32 %103, %97 store i32 %104, i32* %lsr.iv149, align 4, !dbg !54 %scevgep141 = getelementptr i8, i8* %lsr.iv126, i64 %61, !dbg !54 %scevgep142 = getelementptr i8, i8* %scevgep141, i64 -32, !dbg !54 %105 = load i8, i8* %scevgep142, align 1, !dbg !54 %scevgep162 = getelementptr [3 x [3 x [16 x i8]]], [3 x [3 x [16 x i8]]]* @__constant_3x3x16xi8, i64 0, i64 0, i64 0, i64 %61, !dbg !54 %scevgep163 = getelementptr i8, i8* %scevgep162, i64 96, !dbg !54 %106 = load i8, i8* %scevgep163, align 1, !dbg !54 %107 = sext i8 %105 to i32 %108 = add nsw i32 %107, 128 %109 = sext i8 %106 to i32 %110 = mul nsw i32 %108, %109 %111 = add i32 %110, %104 store i32 %111, i32* %lsr.iv149, align 4, !dbg !54 %scevgep143 = getelementptr i8, i8* %lsr.iv126, i64 %61, !dbg !54 %scevgep144 = getelementptr i8, i8* %scevgep143, i64 -16, !dbg !54 %112 = load i8, i8* %scevgep144, align 1, !dbg !54 %scevgep154 = getelementptr [3 x [3 x [16 x i8]]], [3 x [3 x [16 x i8]]]* @__constant_3x3x16xi8, i64 0, i64 0, i64 0, i64 %61, !dbg !54 %scevgep155 = getelementptr i8, i8* %scevgep154, i64 112, !dbg !54 %113 = load i8, i8* %scevgep155, align 1, !dbg !54 %114 = sext i8 %112 to i32 %115 = add nsw i32 %114, 128 %116 = sext i8 %113 to i32 %117 = mul nsw i32 %115, %116 %118 = add i32 %117, %111 store i32 %118, i32* %lsr.iv149, align 4, !dbg !54 %scevgep128 = getelementptr i8, i8* %lsr.iv126, i64 %61, !dbg !54 %119 = load i8, i8* %scevgep128, align 1, !dbg !54 %scevgep152 = getelementptr [3 x [3 x [16 x i8]]], [3 x [3 x [16 x i8]]]* @__constant_3x3x16xi8, i64 0, i64 0, i64 0, i64 %61, !dbg !54 %scevgep153 = getelementptr i8, i8* %scevgep152, i64 128, !dbg !54 %120 = load i8, i8* %scevgep153, align 1, !dbg !54 %121 = sext i8 %119 to i32 %122 = add nsw i32 %121, 128 %123 = sext i8 %120 to i32 %124 = mul nsw i32 %122, %123 %125 = add i32 %124, %118 store i32 %125, i32* %lsr.iv149, align 4, !dbg !54 %126 = add nuw nsw i64 %61, 1, !dbg !54 %scevgep150 = getelementptr i32, i32* %lsr.iv149, i64 1, !dbg !54 %exitcond43.not = icmp eq i64 %126, 16, !dbg !54 br i1 %exitcond43.not, label %57, label %.preheader27.us.us.us, !dbg !54 .preheader28.us.us.us: ; preds = %.preheader30.us.us.us, %57 %lsr.iv147 = phi i32* [ %lsr.iv145, %.preheader30.us.us.us ], [ %scevgep148, %57 ] %lsr.iv126 = phi i8* [ %lsr.iv124, %.preheader30.us.us.us ], [ %scevgep127, %57 ] %127 = phi i64 [ 0, %.preheader30.us.us.us ], [ %58, %57 ] br label %.preheader27.us.us.us, !dbg !54 .preheader29.us.us.us: ; preds = %.preheader31.us.us.us, %.preheader29.us.us.us %lsr.iv = phi i64 [ 0, %.preheader31.us.us.us ], [ %lsr.iv.next, %.preheader29.us.us.us ] %128 = bitcast i32* %lsr.iv77 to i8* %129 = bitcast i32* %lsr.iv63 to i8* %uglygep = getelementptr i8, i8* %129, i64 %lsr.iv, !dbg !54 %uglygep66 = bitcast i8* %uglygep to i32*, !dbg !54 store i32 0, i32* %uglygep66, align 64, !dbg !54 %uglygep91 = getelementptr i8, i8* %128, i64 %lsr.iv, !dbg !54 %uglygep9192 = bitcast i8* %uglygep91 to i32*, !dbg !54 %scevgep93 = getelementptr i32, i32* %uglygep9192, i64 -7, !dbg !54 store i32 0, i32* %scevgep93, align 4, !dbg !54 %scevgep94 = getelementptr i32, i32* %uglygep9192, i64 -6, !dbg !54 store i32 0, i32* %scevgep94, align 4, !dbg !54 %uglygep95 = getelementptr i8, i8* %128, i64 %lsr.iv, !dbg !54 %uglygep9596 = bitcast i8* %uglygep95 to i32*, !dbg !54 %scevgep97 = getelementptr i32, i32* %uglygep9596, i64 -5, !dbg !54 store i32 0, i32* %scevgep97, align 4, !dbg !54 %scevgep98 = getelementptr i32, i32* %uglygep9596, i64 -4, !dbg !54 store i32 0, i32* %scevgep98, align 4, !dbg !54 %uglygep99 = getelementptr i8, i8* %128, i64 %lsr.iv, !dbg !54 %uglygep99100 = bitcast i8* %uglygep99 to i32*, !dbg !54 %scevgep101 = getelementptr i32, i32* %uglygep99100, i64 -3, !dbg !54 store i32 0, i32* %scevgep101, align 4, !dbg !54 %scevgep102 = getelementptr i32, i32* %uglygep99100, i64 -2, !dbg !54 store i32 0, i32* %scevgep102, align 4, !dbg !54 %uglygep103 = getelementptr i8, i8* %128, i64 %lsr.iv, !dbg !54 %uglygep103104 = bitcast i8* %uglygep103 to i32*, !dbg !54 %scevgep105 = getelementptr i32, i32* %uglygep103104, i64 -1, !dbg !54 store i32 0, i32* %scevgep105, align 4, !dbg !54 %uglygep80 = getelementptr i8, i8* %128, i64 %lsr.iv, !dbg !54 %uglygep8081 = bitcast i8* %uglygep80 to i32*, !dbg !54 store i32 0, i32* %uglygep8081, align 4, !dbg !54 %scevgep109 = getelementptr i32, i32* %uglygep8081, i64 1, !dbg !54 store i32 0, i32* %scevgep109, align 4, !dbg !54 %uglygep110 = getelementptr i8, i8* %128, i64 %lsr.iv, !dbg !54 %uglygep110111 = bitcast i8* %uglygep110 to i32*, !dbg !54 %scevgep112 = getelementptr i32, i32* %uglygep110111, i64 2, !dbg !54 store i32 0, i32* %scevgep112, align 4, !dbg !54 %scevgep113 = getelementptr i32, i32* %uglygep110111, i64 3, !dbg !54 store i32 0, i32* %scevgep113, align 4, !dbg !54 %uglygep106 = getelementptr i8, i8* %128, i64 %lsr.iv, !dbg !54 %uglygep106107 = bitcast i8* %uglygep106 to i32*, !dbg !54 %scevgep108 = getelementptr i32, i32* %uglygep106107, i64 4, !dbg !54 store i32 0, i32* %scevgep108, align 4, !dbg !54 %uglygep88 = getelementptr i8, i8* %128, i64 %lsr.iv, !dbg !54 %uglygep8889 = bitcast i8* %uglygep88 to i32*, !dbg !54 %scevgep90 = getelementptr i32, i32* %uglygep8889, i64 5, !dbg !54 store i32 0, i32* %scevgep90, align 4, !dbg !54 %uglygep85 = getelementptr i8, i8* %128, i64 %lsr.iv, !dbg !54 %uglygep8586 = bitcast i8* %uglygep85 to i32*, !dbg !54 %scevgep87 = getelementptr i32, i32* %uglygep8586, i64 6, !dbg !54 store i32 0, i32* %scevgep87, align 4, !dbg !54 %uglygep82 = getelementptr i8, i8* %128, i64 %lsr.iv, !dbg !54 %uglygep8283 = bitcast i8* %uglygep82 to i32*, !dbg !54 %scevgep84 = getelementptr i32, i32* %uglygep8283, i64 7, !dbg !54 store i32 0, i32* %scevgep84, align 4, !dbg !54 %lsr.iv.next = add nuw nsw i64 %lsr.iv, 64, !dbg !54 %exitcond.not = icmp eq i64 %lsr.iv.next, 512, !dbg !54 br i1 %exitcond.not, label %59, label %.preheader29.us.us.us, !dbg !54 .preheader30.us.us.us: ; preds = %.preheader30.us.us.us.preheader, %55 %lsr.iv145 = phi i32* [ %lsr.iv60, %.preheader30.us.us.us.preheader ], [ %scevgep146, %55 ] %lsr.iv124 = phi i8* [ %lsr.iv121, %.preheader30.us.us.us.preheader ], [ %scevgep125, %55 ] %130 = phi i64 [ %56, %55 ], [ 0, %.preheader30.us.us.us.preheader ] br label %.preheader28.us.us.us, !dbg !54 .preheader31.us.us.us: ; preds = %59, %44 %lsr.iv77 = phi i32* [ %scevgep78, %59 ], [ %lsr.iv74, %44 ] %lsr.iv63 = phi i32* [ %scevgep64, %59 ], [ %lsr.iv60, %44 ] %131 = phi i64 [ 0, %44 ], [ %60, %59 ] br label %.preheader29.us.us.us, !dbg !54 ._crit_edge.us.us.us: ; preds = %46 %132 = bitcast i32* %lsr.iv71 to i1* %133 = bitcast i32* %lsr.iv57 to i1* %134 = bitcast i8* %lsr.iv118 to i1* %135 = add i64 %43, %22, !dbg !54 %scevgep59 = getelementptr i1, i1* %133, i64 %32, !dbg !54 %136 = bitcast i1* %scevgep59 to i32*, !dbg !54 %scevgep73 = getelementptr i1, i1* %132, i64 %32, !dbg !54 %137 = bitcast i1* %scevgep73 to i32*, !dbg !54 %scevgep120 = getelementptr i1, i1* %134, i64 %41, !dbg !54 %138 = bitcast i1* %scevgep120 to i8*, !dbg !54 %139 = icmp slt i64 %135, 24, !dbg !54 br i1 %139, label %.lr.ph.us.us.us, label %._crit_edge35.split.us.us.us, !dbg !54 ._crit_edge35.split.us.us.us: ; preds = %._crit_edge.us.us.us %140 = bitcast i32* %lsr.iv68 to i1* %141 = bitcast i32* %lsr.iv54 to i1* %142 = bitcast i8* %lsr.iv115 to i1* %143 = add i64 %42, %15, !dbg !54 %scevgep56 = getelementptr i1, i1* %141, i64 %31, !dbg !54 %144 = bitcast i1* %scevgep56 to i32*, !dbg !54 %scevgep70 = getelementptr i1, i1* %140, i64 %31, !dbg !54 %145 = bitcast i1* %scevgep70 to i32*, !dbg !54 %scevgep117 = getelementptr i1, i1* %142, i64 %40, !dbg !54 %146 = bitcast i1* %scevgep117 to i8*, !dbg !54 %147 = icmp slt i64 %143, 24, !dbg !54 br i1 %147, label %.lr.ph34.us.us, label %._crit_edge, !dbg !54 .lr.ph34.us: ; preds = %.lr.ph34.us.preheader, %._crit_edge35.split.us36 %148 = phi i64 [ %153, %._crit_edge35.split.us36 ], [ %14, %.lr.ph34.us.preheader ] br label %149, !dbg !54 149: ; preds = %.lr.ph34.us, %149 %150 = phi i64 [ %21, %.lr.ph34.us ], [ %151, %149 ] %151 = add i64 %150, %22, !dbg !54 %152 = icmp slt i64 %151, 24, !dbg !54 br i1 %152, label %149, label %._crit_edge35.split.us36, !dbg !54 ._crit_edge35.split.us36: ; preds = %149 %153 = add i64 %148, %15, !dbg !54 %154 = icmp slt i64 %153, 24, !dbg !54 br i1 %154, label %.lr.ph34.us, label %._crit_edge, !dbg !54 .lr.ph.split: ; preds = %.lr.ph.split.preheader, %.lr.ph.split %155 = phi i64 [ %156, %.lr.ph.split ], [ %14, %.lr.ph.split.preheader ] %156 = add i64 %155, %15, !dbg !54 %157 = icmp slt i64 %156, 24, !dbg !54 br i1 %157, label %.lr.ph.split, label %._crit_edge, !dbg !54 ._crit_edge: ; preds = %.lr.ph.split, %._crit_edge35.split.us36, %._crit_edge35.split.us.us.us, %3 ret i32 0, !dbg !54 } ; Function Attrs: nofree nosync nounwind define internal i32 @main_dispatch_10(%iree_hal_executable_environment_v0_t* noalias nocapture nonnull readnone byref(%iree_hal_executable_environment_v0_t) align 16 %0, %iree_hal_executable_dispatch_state_v0_t* noalias nocapture nonnull readonly byref(%iree_hal_executable_dispatch_state_v0_t) align 16 %1, %iree_hal_executable_workgroup_state_v0_t* noalias nocapture nonnull readonly byref(%iree_hal_executable_workgroup_state_v0_t) align 16 %2) #0 !dbg !57 { .preheader28: %.elt22 = getelementptr inbounds %iree_hal_executable_dispatch_state_v0_t, %iree_hal_executable_dispatch_state_v0_t* %1, i64 0, i32 10, !dbg !58 %.unpack23 = load i8**, i8*** %.elt22, align 16, !dbg !58 %3 = bitcast i8** %.unpack23 to i32**, !dbg !58 %4 = load i32*, i32** %3, align 8, !dbg !58 %5 = getelementptr i8*, i8** %.unpack23, i64 1, !dbg !61 %6 = load i8*, i8** %5, align 8, !dbg !61 %7 = load %iree_hal_executable_workgroup_state_v0_t, %iree_hal_executable_workgroup_state_v0_t* %2, align 16, !dbg !61 %8 = extractvalue %iree_hal_executable_workgroup_state_v0_t %7, 0, !dbg !61 %9 = zext i32 %8 to i64, !dbg !61 %10 = extractvalue %iree_hal_executable_workgroup_state_v0_t %7, 1, !dbg !61 %11 = zext i32 %10 to i64, !dbg !61 %12 = extractvalue %iree_hal_executable_workgroup_state_v0_t %7, 2, !dbg !61 %13 = zext i16 %12 to i64, !dbg !61 %14 = shl nuw nsw i64 %9, 4, !dbg !61 %15 = mul i64 %13, 3072, !dbg !61 %16 = shl i64 %11, 7, !dbg !61 %17 = add nuw nsw i64 %15, %16, !dbg !61 %18 = getelementptr [16 x i32], [16 x i32]* @__constant_16xi32_0_0, i64 0, i64 %14, !dbg !62 %19 = load i32, i32* %18, align 16, !dbg !62 %20 = insertelement <16 x i32> , i32 %19, i64 0, !dbg !61 %21 = or i64 %14, 1, !dbg !61 %22 = getelementptr [16 x i32], [16 x i32]* @__constant_16xi32_0_0, i64 0, i64 %21, !dbg !62 %23 = load i32, i32* %22, align 4, !dbg !62 %24 = insertelement <16 x i32> %20, i32 %23, i64 1, !dbg !61 %25 = or i64 %14, 2, !dbg !61 %26 = getelementptr [16 x i32], [16 x i32]* @__constant_16xi32_0_0, i64 0, i64 %25, !dbg !62 %27 = load i32, i32* %26, align 8, !dbg !62 %28 = insertelement <16 x i32> %24, i32 %27, i64 2, !dbg !61 %29 = or i64 %14, 3, !dbg !61 %30 = getelementptr [16 x i32], [16 x i32]* @__constant_16xi32_0_0, i64 0, i64 %29, !dbg !62 %31 = load i32, i32* %30, align 4, !dbg !62 %32 = insertelement <16 x i32> %28, i32 %31, i64 3, !dbg !61 %33 = or i64 %14, 4, !dbg !61 %34 = getelementptr [16 x i32], [16 x i32]* @__constant_16xi32_0_0, i64 0, i64 %33, !dbg !62 %35 = load i32, i32* %34, align 16, !dbg !62 %36 = insertelement <16 x i32> %32, i32 %35, i64 4, !dbg !61 %37 = or i64 %14, 5, !dbg !61 %38 = getelementptr [16 x i32], [16 x i32]* @__constant_16xi32_0_0, i64 0, i64 %37, !dbg !62 %39 = load i32, i32* %38, align 4, !dbg !62 %40 = insertelement <16 x i32> %36, i32 %39, i64 5, !dbg !61 %41 = or i64 %14, 6, !dbg !61 %42 = getelementptr [16 x i32], [16 x i32]* @__constant_16xi32_0_0, i64 0, i64 %41, !dbg !62 %43 = load i32, i32* %42, align 8, !dbg !62 %44 = insertelement <16 x i32> %40, i32 %43, i64 6, !dbg !61 %45 = or i64 %14, 7, !dbg !61 %46 = getelementptr [16 x i32], [16 x i32]* @__constant_16xi32_0_0, i64 0, i64 %45, !dbg !62 %47 = load i32, i32* %46, align 4, !dbg !62 %48 = insertelement <16 x i32> %44, i32 %47, i64 7, !dbg !61 %49 = or i64 %14, 8, !dbg !61 %50 = getelementptr [16 x i32], [16 x i32]* @__constant_16xi32_0_0, i64 0, i64 %49, !dbg !62 %51 = load i32, i32* %50, align 16, !dbg !62 %52 = insertelement <16 x i32> %48, i32 %51, i64 8, !dbg !61 %53 = or i64 %14, 9, !dbg !61 %54 = getelementptr [16 x i32], [16 x i32]* @__constant_16xi32_0_0, i64 0, i64 %53, !dbg !62 %55 = load i32, i32* %54, align 4, !dbg !62 %56 = insertelement <16 x i32> %52, i32 %55, i64 9, !dbg !61 %57 = or i64 %14, 10, !dbg !61 %58 = getelementptr [16 x i32], [16 x i32]* @__constant_16xi32_0_0, i64 0, i64 %57, !dbg !62 %59 = load i32, i32* %58, align 8, !dbg !62 %60 = insertelement <16 x i32> %56, i32 %59, i64 10, !dbg !61 %61 = or i64 %14, 11, !dbg !61 %62 = getelementptr [16 x i32], [16 x i32]* @__constant_16xi32_0_0, i64 0, i64 %61, !dbg !62 %63 = load i32, i32* %62, align 4, !dbg !62 %64 = insertelement <16 x i32> %60, i32 %63, i64 11, !dbg !61 %65 = or i64 %14, 12, !dbg !61 %66 = getelementptr [16 x i32], [16 x i32]* @__constant_16xi32_0_0, i64 0, i64 %65, !dbg !62 %67 = load i32, i32* %66, align 16, !dbg !62 %68 = insertelement <16 x i32> %64, i32 %67, i64 12, !dbg !61 %69 = or i64 %14, 13, !dbg !61 %70 = getelementptr [16 x i32], [16 x i32]* @__constant_16xi32_0_0, i64 0, i64 %69, !dbg !62 %71 = load i32, i32* %70, align 4, !dbg !62 %72 = insertelement <16 x i32> %68, i32 %71, i64 13, !dbg !61 %73 = or i64 %14, 14, !dbg !61 %74 = getelementptr [16 x i32], [16 x i32]* @__constant_16xi32_0_0, i64 0, i64 %73, !dbg !62 %75 = load i32, i32* %74, align 8, !dbg !62 %76 = insertelement <16 x i32> %72, i32 %75, i64 14, !dbg !61 %77 = or i64 %14, 15, !dbg !61 %78 = getelementptr [16 x i32], [16 x i32]* @__constant_16xi32_0_0, i64 0, i64 %77, !dbg !62 %79 = load i32, i32* %78, align 4, !dbg !62 %80 = insertelement <16 x i32> %76, i32 %79, i64 15, !dbg !61 %81 = getelementptr [16 x i32], [16 x i32]* @__constant_16xi32_1, i64 0, i64 %14, !dbg !61 %82 = load i32, i32* %81, align 16, !dbg !61 %83 = insertelement <16 x i32> , i32 %82, i64 0, !dbg !61 %84 = getelementptr [16 x i32], [16 x i32]* @__constant_16xi32_1, i64 0, i64 %21, !dbg !61 %85 = load i32, i32* %84, align 4, !dbg !61 %86 = insertelement <16 x i32> %83, i32 %85, i64 1, !dbg !61 %87 = getelementptr [16 x i32], [16 x i32]* @__constant_16xi32_1, i64 0, i64 %25, !dbg !61 %88 = load i32, i32* %87, align 8, !dbg !61 %89 = insertelement <16 x i32> %86, i32 %88, i64 2, !dbg !61 %90 = getelementptr [16 x i32], [16 x i32]* @__constant_16xi32_1, i64 0, i64 %29, !dbg !61 %91 = load i32, i32* %90, align 4, !dbg !61 %92 = insertelement <16 x i32> %89, i32 %91, i64 3, !dbg !61 %93 = getelementptr [16 x i32], [16 x i32]* @__constant_16xi32_1, i64 0, i64 %33, !dbg !61 %94 = load i32, i32* %93, align 16, !dbg !61 %95 = insertelement <16 x i32> %92, i32 %94, i64 4, !dbg !61 %96 = getelementptr [16 x i32], [16 x i32]* @__constant_16xi32_1, i64 0, i64 %37, !dbg !61 %97 = load i32, i32* %96, align 4, !dbg !61 %98 = insertelement <16 x i32> %95, i32 %97, i64 5, !dbg !61 %99 = getelementptr [16 x i32], [16 x i32]* @__constant_16xi32_1, i64 0, i64 %41, !dbg !61 %100 = load i32, i32* %99, align 8, !dbg !61 %101 = insertelement <16 x i32> %98, i32 %100, i64 6, !dbg !61 %102 = getelementptr [16 x i32], [16 x i32]* @__constant_16xi32_1, i64 0, i64 %45, !dbg !61 %103 = load i32, i32* %102, align 4, !dbg !61 %104 = insertelement <16 x i32> %101, i32 %103, i64 7, !dbg !61 %105 = getelementptr [16 x i32], [16 x i32]* @__constant_16xi32_1, i64 0, i64 %49, !dbg !61 %106 = load i32, i32* %105, align 16, !dbg !61 %107 = insertelement <16 x i32> %104, i32 %106, i64 8, !dbg !61 %108 = getelementptr [16 x i32], [16 x i32]* @__constant_16xi32_1, i64 0, i64 %53, !dbg !61 %109 = load i32, i32* %108, align 4, !dbg !61 %110 = insertelement <16 x i32> %107, i32 %109, i64 9, !dbg !61 %111 = getelementptr [16 x i32], [16 x i32]* @__constant_16xi32_1, i64 0, i64 %57, !dbg !61 %112 = load i32, i32* %111, align 8, !dbg !61 %113 = insertelement <16 x i32> %110, i32 %112, i64 10, !dbg !61 %114 = getelementptr [16 x i32], [16 x i32]* @__constant_16xi32_1, i64 0, i64 %61, !dbg !61 %115 = load i32, i32* %114, align 4, !dbg !61 %116 = insertelement <16 x i32> %113, i32 %115, i64 11, !dbg !61 %117 = getelementptr [16 x i32], [16 x i32]* @__constant_16xi32_1, i64 0, i64 %65, !dbg !61 %118 = load i32, i32* %117, align 16, !dbg !61 %119 = insertelement <16 x i32> %116, i32 %118, i64 12, !dbg !61 %120 = getelementptr [16 x i32], [16 x i32]* @__constant_16xi32_1, i64 0, i64 %69, !dbg !61 %121 = load i32, i32* %120, align 4, !dbg !61 %122 = insertelement <16 x i32> %119, i32 %121, i64 13, !dbg !61 %123 = getelementptr [16 x i32], [16 x i32]* @__constant_16xi32_1, i64 0, i64 %73, !dbg !61 %124 = load i32, i32* %123, align 8, !dbg !61 %125 = insertelement <16 x i32> %122, i32 %124, i64 14, !dbg !61 %126 = getelementptr [16 x i32], [16 x i32]* @__constant_16xi32_1, i64 0, i64 %77, !dbg !61 %127 = load i32, i32* %126, align 4, !dbg !61 %128 = insertelement <16 x i32> %125, i32 %127, i64 15, !dbg !61 %129 = getelementptr [16 x i8], [16 x i8]* @__constant_16xi8_0, i64 0, i64 %14, !dbg !61 %130 = load i8, i8* %129, align 1, !dbg !61 %131 = insertelement <16 x i8> , i8 %130, i64 0, !dbg !61 %132 = getelementptr [16 x i8], [16 x i8]* @__constant_16xi8_0, i64 0, i64 %21, !dbg !61 %133 = load i8, i8* %132, align 1, !dbg !61 %134 = insertelement <16 x i8> %131, i8 %133, i64 1, !dbg !61 %135 = getelementptr [16 x i8], [16 x i8]* @__constant_16xi8_0, i64 0, i64 %25, !dbg !61 %136 = load i8, i8* %135, align 1, !dbg !61 %137 = insertelement <16 x i8> %134, i8 %136, i64 2, !dbg !61 %138 = getelementptr [16 x i8], [16 x i8]* @__constant_16xi8_0, i64 0, i64 %29, !dbg !61 %139 = load i8, i8* %138, align 1, !dbg !61 %140 = insertelement <16 x i8> %137, i8 %139, i64 3, !dbg !61 %141 = getelementptr [16 x i8], [16 x i8]* @__constant_16xi8_0, i64 0, i64 %33, !dbg !61 %142 = load i8, i8* %141, align 1, !dbg !61 %143 = insertelement <16 x i8> %140, i8 %142, i64 4, !dbg !61 %144 = getelementptr [16 x i8], [16 x i8]* @__constant_16xi8_0, i64 0, i64 %37, !dbg !61 %145 = load i8, i8* %144, align 1, !dbg !61 %146 = insertelement <16 x i8> %143, i8 %145, i64 5, !dbg !61 %147 = getelementptr [16 x i8], [16 x i8]* @__constant_16xi8_0, i64 0, i64 %41, !dbg !61 %148 = load i8, i8* %147, align 1, !dbg !61 %149 = insertelement <16 x i8> %146, i8 %148, i64 6, !dbg !61 %150 = getelementptr [16 x i8], [16 x i8]* @__constant_16xi8_0, i64 0, i64 %45, !dbg !61 %151 = load i8, i8* %150, align 1, !dbg !61 %152 = insertelement <16 x i8> %149, i8 %151, i64 7, !dbg !61 %153 = getelementptr [16 x i8], [16 x i8]* @__constant_16xi8_0, i64 0, i64 %49, !dbg !61 %154 = load i8, i8* %153, align 1, !dbg !61 %155 = insertelement <16 x i8> %152, i8 %154, i64 8, !dbg !61 %156 = getelementptr [16 x i8], [16 x i8]* @__constant_16xi8_0, i64 0, i64 %53, !dbg !61 %157 = load i8, i8* %156, align 1, !dbg !61 %158 = insertelement <16 x i8> %155, i8 %157, i64 9, !dbg !61 %159 = getelementptr [16 x i8], [16 x i8]* @__constant_16xi8_0, i64 0, i64 %57, !dbg !61 %160 = load i8, i8* %159, align 1, !dbg !61 %161 = insertelement <16 x i8> %158, i8 %160, i64 10, !dbg !61 %162 = getelementptr [16 x i8], [16 x i8]* @__constant_16xi8_0, i64 0, i64 %61, !dbg !61 %163 = load i8, i8* %162, align 1, !dbg !61 %164 = insertelement <16 x i8> %161, i8 %163, i64 11, !dbg !61 %165 = getelementptr [16 x i8], [16 x i8]* @__constant_16xi8_0, i64 0, i64 %65, !dbg !61 %166 = load i8, i8* %165, align 1, !dbg !61 %167 = insertelement <16 x i8> %164, i8 %166, i64 12, !dbg !61 %168 = getelementptr [16 x i8], [16 x i8]* @__constant_16xi8_0, i64 0, i64 %69, !dbg !61 %169 = load i8, i8* %168, align 1, !dbg !61 %170 = insertelement <16 x i8> %167, i8 %169, i64 13, !dbg !61 %171 = getelementptr [16 x i8], [16 x i8]* @__constant_16xi8_0, i64 0, i64 %73, !dbg !61 %172 = load i8, i8* %171, align 1, !dbg !61 %173 = insertelement <16 x i8> %170, i8 %172, i64 14, !dbg !61 %174 = getelementptr [16 x i8], [16 x i8]* @__constant_16xi8_0, i64 0, i64 %77, !dbg !61 %175 = load i8, i8* %174, align 1, !dbg !61 %176 = insertelement <16 x i8> %173, i8 %175, i64 15, !dbg !61 %177 = add nuw nsw i64 %17, %14, !dbg !61 %178 = sext <16 x i32> %128 to <16 x i64> %179 = zext <16 x i8> %176 to <16 x i64> %180 = shl <16 x i64> , %179 %181 = lshr <16 x i64> %180, %scevgep = getelementptr i32, i32* %4, i64 %177, !dbg !61 %182 = add i64 %15, %16, !dbg !61 %183 = add i64 %182, %14, !dbg !61 %184 = add i64 %183, 36864, !dbg !61 %scevgep39 = getelementptr i8, i8* %6, i64 %184, !dbg !61 br label %.preheader, !dbg !61 .preheader: ; preds = %.preheader28, %203 %lsr.iv40 = phi i8* [ %scevgep39, %.preheader28 ], [ %scevgep41, %203 ] %lsr.iv34 = phi i32* [ %scevgep, %.preheader28 ], [ %scevgep35, %203 ] %185 = phi i64 [ 0, %.preheader28 ], [ %204, %203 ] br label %186, !dbg !61 186: ; preds = %.preheader, %186 %lsr.iv36 = phi i32* [ %lsr.iv34, %.preheader ], [ %scevgep37, %186 ] %lsr.iv = phi i64 [ 0, %.preheader ], [ %lsr.iv.next, %186 ] %187 = icmp ugt <16 x i8> %176, %lsr.iv3638 = bitcast i32* %lsr.iv36 to <16 x i32>*, !dbg !61 %188 = load <16 x i32>, <16 x i32>* %lsr.iv3638, align 4, !dbg !61 %189 = add <16 x i32> %188, %80, !dbg !58 %190 = sext <16 x i32> %189 to <16 x i64>, !dbg !61 %191 = mul nsw <16 x i64> %190, %178, !dbg !61 %192 = add <16 x i64> %191, %181, !dbg !61 %193 = icmp sgt <16 x i32> %189, , !dbg !61 %194 = select <16 x i1> %193, <16 x i64> , <16 x i64> , !dbg !61 %195 = select <16 x i1> %187, <16 x i64> %194, <16 x i64> zeroinitializer, !dbg !61 %196 = add <16 x i64> %192, %195, !dbg !61 %197 = ashr <16 x i64> %196, %179, !dbg !61 %198 = trunc <16 x i64> %197 to <16 x i32>, !dbg !61 %199 = add <16 x i32> %198, , !dbg !61 %200 = tail call <16 x i32> @llvm.smax.v16i32(<16 x i32> %199, <16 x i32> ), !dbg !61 %201 = tail call <16 x i32> @llvm.smin.v16i32(<16 x i32> %200, <16 x i32> ), !dbg !61 %202 = trunc <16 x i32> %201 to <16 x i8>, !dbg !61 %scevgep42 = getelementptr i8, i8* %lsr.iv40, i64 %lsr.iv, !dbg !61 %scevgep4243 = bitcast i8* %scevgep42 to <16 x i8>*, !dbg !61 store <16 x i8> %202, <16 x i8>* %scevgep4243, align 1, !dbg !61 %lsr.iv.next = add nuw nsw i64 %lsr.iv, 16, !dbg !61 %scevgep37 = getelementptr i32, i32* %lsr.iv36, i64 16, !dbg !61 %exitcond.not = icmp eq i64 %lsr.iv.next, 128, !dbg !61 br i1 %exitcond.not, label %203, label %186, !dbg !61 203: ; preds = %186 %204 = add nuw nsw i64 %185, 1, !dbg !61 %scevgep35 = getelementptr i32, i32* %lsr.iv34, i64 384, !dbg !61 %scevgep41 = getelementptr i8, i8* %lsr.iv40, i64 384, !dbg !61 %exitcond33.not = icmp eq i64 %204, 8, !dbg !61 br i1 %exitcond33.not, label %205, label %.preheader, !dbg !61 205: ; preds = %203 ret i32 0, !dbg !61 } ; Function Attrs: nofree nosync nounwind define internal i32 @main_dispatch_11(%iree_hal_executable_environment_v0_t* noalias nocapture nonnull readnone byref(%iree_hal_executable_environment_v0_t) align 16 %0, %iree_hal_executable_dispatch_state_v0_t* noalias nocapture nonnull readonly byref(%iree_hal_executable_dispatch_state_v0_t) align 16 %1, %iree_hal_executable_workgroup_state_v0_t* noalias nocapture nonnull readonly byref(%iree_hal_executable_workgroup_state_v0_t) align 16 %2) #0 !dbg !63 { %.elt19 = getelementptr inbounds %iree_hal_executable_dispatch_state_v0_t, %iree_hal_executable_dispatch_state_v0_t* %1, i64 0, i32 10, !dbg !64 %.unpack20 = load i8**, i8*** %.elt19, align 16, !dbg !64 %4 = load i8*, i8** %.unpack20, align 8, !dbg !64 %5 = getelementptr i8*, i8** %.unpack20, i64 1, !dbg !64 %6 = load i8*, i8** %5, align 8, !dbg !64 %7 = getelementptr i8, i8* %6, i64 46080, !dbg !64 %8 = bitcast %iree_hal_executable_workgroup_state_v0_t* %2 to i32*, !dbg !64 %9 = load i32, i32* %8, align 16, !dbg !64 %10 = zext i32 %9 to i64, !dbg !64 %11 = shl nuw nsw i64 %10, 4, !dbg !64 %12 = add nuw nsw i64 %11, 216320, !dbg !64 %scevgep = getelementptr i8, i8* %4, i64 %12, !dbg !64 br label %13, !dbg !64 13: ; preds = %3, %13 %lsr.iv = phi i64 [ 0, %3 ], [ %lsr.iv.next, %13 ] %14 = phi <16 x i32> [ zeroinitializer, %3 ], [ %17, %13 ] %scevgep23 = getelementptr i8, i8* %scevgep, i64 %lsr.iv, !dbg !64 %scevgep2324 = bitcast i8* %scevgep23 to <16 x i8>*, !dbg !64 %15 = load <16 x i8>, <16 x i8>* %scevgep2324, align 16, !dbg !64 %16 = sext <16 x i8> %15 to <16 x i32>, !dbg !64 %17 = add <16 x i32> %14, %16, !dbg !64 %lsr.iv.next = add nuw nsw i64 %lsr.iv, 32, !dbg !64 %exitcond.not = icmp eq i64 %lsr.iv.next, 512, !dbg !64 br i1 %exitcond.not, label %18, label %13, !dbg !64 18: ; preds = %13 %19 = bitcast i8* %7 to i32*, !dbg !64 %20 = getelementptr i32, i32* %19, i64 %11, !dbg !64 %21 = bitcast i32* %20 to <16 x i32>*, !dbg !64 store <16 x i32> %17, <16 x i32>* %21, align 64, !dbg !64 ret i32 0, !dbg !64 } ; Function Attrs: nofree nosync nounwind define internal i32 @main_dispatch_12(%iree_hal_executable_environment_v0_t* noalias nocapture nonnull readnone byref(%iree_hal_executable_environment_v0_t) align 16 %0, %iree_hal_executable_dispatch_state_v0_t* noalias nocapture nonnull readonly byref(%iree_hal_executable_dispatch_state_v0_t) align 16 %1, %iree_hal_executable_workgroup_state_v0_t* noalias nocapture nonnull readonly byref(%iree_hal_executable_workgroup_state_v0_t) align 16 %2) #0 !dbg !67 { .preheader: %.elt22 = getelementptr inbounds %iree_hal_executable_dispatch_state_v0_t, %iree_hal_executable_dispatch_state_v0_t* %1, i64 0, i32 10, !dbg !68 %.unpack23 = load i8**, i8*** %.elt22, align 16, !dbg !68 %3 = load i8*, i8** %.unpack23, align 8, !dbg !68 %4 = getelementptr i8*, i8** %.unpack23, i64 1, !dbg !68 %5 = load i8*, i8** %4, align 8, !dbg !68 %splitgep = getelementptr i8, i8* %5, i64 216320, !dbg !68 %6 = getelementptr i8, i8* %3, i64 46080, !dbg !68 %7 = getelementptr i8*, i8** %.unpack23, i64 2, !dbg !71 %8 = load i8*, i8** %7, align 8, !dbg !71 %9 = load %iree_hal_executable_workgroup_state_v0_t, %iree_hal_executable_workgroup_state_v0_t* %2, align 16, !dbg !71 %10 = extractvalue %iree_hal_executable_workgroup_state_v0_t %9, 0, !dbg !71 %11 = zext i32 %10 to i64, !dbg !71 %12 = extractvalue %iree_hal_executable_workgroup_state_v0_t %9, 1, !dbg !71 %13 = zext i32 %12 to i64, !dbg !71 %14 = shl i64 %11, 5, !dbg !71 %15 = mul i64 %13, 3072, !dbg !71 %16 = bitcast i8* %splitgep to <32 x i8>*, !dbg !68 %17 = load <32 x i8>, <32 x i8>* %16, align 64, !dbg !68 %18 = getelementptr i8, i8* %splitgep, i64 32, !dbg !68 %19 = bitcast i8* %18 to <32 x i8>*, !dbg !68 %20 = load <32 x i8>, <32 x i8>* %19, align 1, !dbg !68 %21 = getelementptr i8, i8* %splitgep, i64 64, !dbg !68 %22 = bitcast i8* %21 to <32 x i8>*, !dbg !68 %23 = load <32 x i8>, <32 x i8>* %22, align 1, !dbg !68 %24 = getelementptr i8, i8* %splitgep, i64 96, !dbg !68 %25 = bitcast i8* %24 to <32 x i8>*, !dbg !68 %26 = load <32 x i8>, <32 x i8>* %25, align 1, !dbg !68 %27 = getelementptr i8, i8* %splitgep, i64 128, !dbg !68 %28 = bitcast i8* %27 to <32 x i8>*, !dbg !68 %29 = load <32 x i8>, <32 x i8>* %28, align 1, !dbg !68 %30 = getelementptr i8, i8* %splitgep, i64 160, !dbg !68 %31 = bitcast i8* %30 to <32 x i8>*, !dbg !68 %32 = load <32 x i8>, <32 x i8>* %31, align 1, !dbg !68 %33 = getelementptr i8, i8* %splitgep, i64 192, !dbg !68 %34 = bitcast i8* %33 to <32 x i8>*, !dbg !68 %35 = load <32 x i8>, <32 x i8>* %34, align 1, !dbg !68 %36 = getelementptr i8, i8* %splitgep, i64 224, !dbg !68 %37 = bitcast i8* %36 to <32 x i8>*, !dbg !68 %38 = load <32 x i8>, <32 x i8>* %37, align 1, !dbg !68 %39 = getelementptr i8, i8* %splitgep, i64 256, !dbg !68 %40 = bitcast i8* %39 to <32 x i8>*, !dbg !68 %41 = load <32 x i8>, <32 x i8>* %40, align 1, !dbg !68 %42 = getelementptr i8, i8* %splitgep, i64 288, !dbg !68 %43 = bitcast i8* %42 to <32 x i8>*, !dbg !68 %44 = load <32 x i8>, <32 x i8>* %43, align 1, !dbg !68 %45 = getelementptr i8, i8* %splitgep, i64 320, !dbg !68 %46 = bitcast i8* %45 to <32 x i8>*, !dbg !68 %47 = load <32 x i8>, <32 x i8>* %46, align 1, !dbg !68 %48 = getelementptr i8, i8* %splitgep, i64 352, !dbg !68 %49 = bitcast i8* %48 to <32 x i8>*, !dbg !68 %50 = load <32 x i8>, <32 x i8>* %49, align 1, !dbg !68 %51 = getelementptr i8, i8* %splitgep, i64 384, !dbg !68 %52 = bitcast i8* %51 to <32 x i8>*, !dbg !68 %53 = load <32 x i8>, <32 x i8>* %52, align 1, !dbg !68 %54 = getelementptr i8, i8* %splitgep, i64 416, !dbg !68 %55 = bitcast i8* %54 to <32 x i8>*, !dbg !68 %56 = load <32 x i8>, <32 x i8>* %55, align 1, !dbg !68 %57 = getelementptr i8, i8* %splitgep, i64 448, !dbg !68 %58 = bitcast i8* %57 to <32 x i8>*, !dbg !68 %59 = load <32 x i8>, <32 x i8>* %58, align 1, !dbg !68 %60 = getelementptr i8, i8* %splitgep, i64 480, !dbg !68 %61 = bitcast i8* %60 to <32 x i8>*, !dbg !68 %62 = load <32 x i8>, <32 x i8>* %61, align 1, !dbg !68 %63 = sext <32 x i8> %17 to <32 x i32> %64 = sext <32 x i8> %23 to <32 x i32> %65 = sext <32 x i8> %29 to <32 x i32> %66 = sext <32 x i8> %35 to <32 x i32> %67 = sext <32 x i8> %41 to <32 x i32> %68 = sext <32 x i8> %47 to <32 x i32> %69 = sext <32 x i8> %53 to <32 x i32> %70 = sext <32 x i8> %59 to <32 x i32> %71 = getelementptr [32 x i32], [32 x i32]* @__constant_32xi32_0, i64 0, i64 %14, !dbg !72 %72 = load i32, i32* %71, align 16, !dbg !72 %73 = or i64 %14, 1, !dbg !71 %74 = getelementptr [32 x i32], [32 x i32]* @__constant_32xi32_0, i64 0, i64 %73, !dbg !72 %75 = load i32, i32* %74, align 4, !dbg !72 %76 = or i64 %14, 2, !dbg !71 %77 = getelementptr [32 x i32], [32 x i32]* @__constant_32xi32_0, i64 0, i64 %76, !dbg !72 %78 = load i32, i32* %77, align 8, !dbg !72 %79 = or i64 %14, 3, !dbg !71 %80 = getelementptr [32 x i32], [32 x i32]* @__constant_32xi32_0, i64 0, i64 %79, !dbg !72 %81 = load i32, i32* %80, align 4, !dbg !72 %82 = or i64 %14, 4, !dbg !71 %83 = getelementptr [32 x i32], [32 x i32]* @__constant_32xi32_0, i64 0, i64 %82, !dbg !72 %84 = load i32, i32* %83, align 16, !dbg !72 %85 = or i64 %14, 5, !dbg !71 %86 = getelementptr [32 x i32], [32 x i32]* @__constant_32xi32_0, i64 0, i64 %85, !dbg !72 %87 = load i32, i32* %86, align 4, !dbg !72 %88 = or i64 %14, 6, !dbg !71 %89 = getelementptr [32 x i32], [32 x i32]* @__constant_32xi32_0, i64 0, i64 %88, !dbg !72 %90 = load i32, i32* %89, align 8, !dbg !72 %91 = or i64 %14, 7, !dbg !71 %92 = getelementptr [32 x i32], [32 x i32]* @__constant_32xi32_0, i64 0, i64 %91, !dbg !72 %93 = load i32, i32* %92, align 4, !dbg !72 %94 = or i64 %14, 8, !dbg !71 %95 = getelementptr [32 x i32], [32 x i32]* @__constant_32xi32_0, i64 0, i64 %94, !dbg !72 %96 = load i32, i32* %95, align 16, !dbg !72 %97 = or i64 %14, 9, !dbg !71 %98 = getelementptr [32 x i32], [32 x i32]* @__constant_32xi32_0, i64 0, i64 %97, !dbg !72 %99 = load i32, i32* %98, align 4, !dbg !72 %100 = or i64 %14, 10, !dbg !71 %101 = getelementptr [32 x i32], [32 x i32]* @__constant_32xi32_0, i64 0, i64 %100, !dbg !72 %102 = load i32, i32* %101, align 8, !dbg !72 %103 = or i64 %14, 11, !dbg !71 %104 = getelementptr [32 x i32], [32 x i32]* @__constant_32xi32_0, i64 0, i64 %103, !dbg !72 %105 = load i32, i32* %104, align 4, !dbg !72 %106 = or i64 %14, 12, !dbg !71 %107 = getelementptr [32 x i32], [32 x i32]* @__constant_32xi32_0, i64 0, i64 %106, !dbg !72 %108 = load i32, i32* %107, align 16, !dbg !72 %109 = or i64 %14, 13, !dbg !71 %110 = getelementptr [32 x i32], [32 x i32]* @__constant_32xi32_0, i64 0, i64 %109, !dbg !72 %111 = load i32, i32* %110, align 4, !dbg !72 %112 = or i64 %14, 14, !dbg !71 %113 = getelementptr [32 x i32], [32 x i32]* @__constant_32xi32_0, i64 0, i64 %112, !dbg !72 %114 = load i32, i32* %113, align 8, !dbg !72 %115 = or i64 %14, 15, !dbg !71 %116 = getelementptr [32 x i32], [32 x i32]* @__constant_32xi32_0, i64 0, i64 %115, !dbg !72 %117 = load i32, i32* %116, align 4, !dbg !72 %118 = or i64 %14, 16, !dbg !71 %119 = getelementptr [32 x i32], [32 x i32]* @__constant_32xi32_0, i64 0, i64 %118, !dbg !72 %120 = load i32, i32* %119, align 16, !dbg !72 %121 = or i64 %14, 17, !dbg !71 %122 = getelementptr [32 x i32], [32 x i32]* @__constant_32xi32_0, i64 0, i64 %121, !dbg !72 %123 = load i32, i32* %122, align 4, !dbg !72 %124 = or i64 %14, 18, !dbg !71 %125 = getelementptr [32 x i32], [32 x i32]* @__constant_32xi32_0, i64 0, i64 %124, !dbg !72 %126 = load i32, i32* %125, align 8, !dbg !72 %127 = or i64 %14, 19, !dbg !71 %128 = getelementptr [32 x i32], [32 x i32]* @__constant_32xi32_0, i64 0, i64 %127, !dbg !72 %129 = load i32, i32* %128, align 4, !dbg !72 %130 = or i64 %14, 20, !dbg !71 %131 = getelementptr [32 x i32], [32 x i32]* @__constant_32xi32_0, i64 0, i64 %130, !dbg !72 %132 = load i32, i32* %131, align 16, !dbg !72 %133 = or i64 %14, 21, !dbg !71 %134 = getelementptr [32 x i32], [32 x i32]* @__constant_32xi32_0, i64 0, i64 %133, !dbg !72 %135 = load i32, i32* %134, align 4, !dbg !72 %136 = or i64 %14, 22, !dbg !71 %137 = getelementptr [32 x i32], [32 x i32]* @__constant_32xi32_0, i64 0, i64 %136, !dbg !72 %138 = load i32, i32* %137, align 8, !dbg !72 %139 = or i64 %14, 23, !dbg !71 %140 = getelementptr [32 x i32], [32 x i32]* @__constant_32xi32_0, i64 0, i64 %139, !dbg !72 %141 = load i32, i32* %140, align 4, !dbg !72 %142 = or i64 %14, 24, !dbg !71 %143 = getelementptr [32 x i32], [32 x i32]* @__constant_32xi32_0, i64 0, i64 %142, !dbg !72 %144 = load i32, i32* %143, align 16, !dbg !72 %145 = or i64 %14, 25, !dbg !71 %146 = getelementptr [32 x i32], [32 x i32]* @__constant_32xi32_0, i64 0, i64 %145, !dbg !72 %147 = load i32, i32* %146, align 4, !dbg !72 %148 = or i64 %14, 26, !dbg !71 %149 = getelementptr [32 x i32], [32 x i32]* @__constant_32xi32_0, i64 0, i64 %148, !dbg !72 %150 = load i32, i32* %149, align 8, !dbg !72 %151 = or i64 %14, 27, !dbg !71 %152 = getelementptr [32 x i32], [32 x i32]* @__constant_32xi32_0, i64 0, i64 %151, !dbg !72 %153 = load i32, i32* %152, align 4, !dbg !72 %154 = or i64 %14, 28, !dbg !71 %155 = getelementptr [32 x i32], [32 x i32]* @__constant_32xi32_0, i64 0, i64 %154, !dbg !72 %156 = load i32, i32* %155, align 16, !dbg !72 %157 = or i64 %14, 29, !dbg !71 %158 = getelementptr [32 x i32], [32 x i32]* @__constant_32xi32_0, i64 0, i64 %157, !dbg !72 %159 = load i32, i32* %158, align 4, !dbg !72 %160 = or i64 %14, 30, !dbg !71 %161 = getelementptr [32 x i32], [32 x i32]* @__constant_32xi32_0, i64 0, i64 %160, !dbg !72 %162 = load i32, i32* %161, align 8, !dbg !72 %163 = or i64 %14, 31, !dbg !71 %164 = getelementptr [32 x i32], [32 x i32]* @__constant_32xi32_0, i64 0, i64 %163, !dbg !72 %165 = load i32, i32* %164, align 4, !dbg !72 %166 = mul i64 %13, 1536, !dbg !68 %167 = sext <32 x i8> %20 to <32 x i32> %168 = sext <32 x i8> %32 to <32 x i32> %169 = sext <32 x i8> %44 to <32 x i32> %170 = sext <32 x i8> %56 to <32 x i32> %171 = bitcast i8* %6 to <32 x i32>*, !dbg !71 %172 = load <32 x i32>, <32 x i32>* %171, align 64, !dbg !71 %173 = getelementptr [32 x i32], [32 x i32]* @__constant_32xi32, i64 0, i64 %14, !dbg !71 %174 = load i32, i32* %173, align 16, !dbg !71 %175 = getelementptr [32 x i32], [32 x i32]* @__constant_32xi32, i64 0, i64 %73, !dbg !71 %176 = load i32, i32* %175, align 4, !dbg !71 %177 = getelementptr [32 x i32], [32 x i32]* @__constant_32xi32, i64 0, i64 %76, !dbg !71 %178 = load i32, i32* %177, align 8, !dbg !71 %179 = getelementptr [32 x i32], [32 x i32]* @__constant_32xi32, i64 0, i64 %79, !dbg !71 %180 = load i32, i32* %179, align 4, !dbg !71 %181 = getelementptr [32 x i32], [32 x i32]* @__constant_32xi32, i64 0, i64 %82, !dbg !71 %182 = load i32, i32* %181, align 16, !dbg !71 %183 = getelementptr [32 x i32], [32 x i32]* @__constant_32xi32, i64 0, i64 %85, !dbg !71 %184 = load i32, i32* %183, align 4, !dbg !71 %185 = getelementptr [32 x i32], [32 x i32]* @__constant_32xi32, i64 0, i64 %88, !dbg !71 %186 = load i32, i32* %185, align 8, !dbg !71 %187 = getelementptr [32 x i32], [32 x i32]* @__constant_32xi32, i64 0, i64 %91, !dbg !71 %188 = load i32, i32* %187, align 4, !dbg !71 %189 = getelementptr [32 x i32], [32 x i32]* @__constant_32xi32, i64 0, i64 %94, !dbg !71 %190 = load i32, i32* %189, align 16, !dbg !71 %191 = getelementptr [32 x i32], [32 x i32]* @__constant_32xi32, i64 0, i64 %97, !dbg !71 %192 = load i32, i32* %191, align 4, !dbg !71 %193 = getelementptr [32 x i32], [32 x i32]* @__constant_32xi32, i64 0, i64 %100, !dbg !71 %194 = load i32, i32* %193, align 8, !dbg !71 %195 = getelementptr [32 x i32], [32 x i32]* @__constant_32xi32, i64 0, i64 %103, !dbg !71 %196 = load i32, i32* %195, align 4, !dbg !71 %197 = getelementptr [32 x i32], [32 x i32]* @__constant_32xi32, i64 0, i64 %106, !dbg !71 %198 = load i32, i32* %197, align 16, !dbg !71 %199 = getelementptr [32 x i32], [32 x i32]* @__constant_32xi32, i64 0, i64 %109, !dbg !71 %200 = load i32, i32* %199, align 4, !dbg !71 %201 = getelementptr [32 x i32], [32 x i32]* @__constant_32xi32, i64 0, i64 %112, !dbg !71 %202 = load i32, i32* %201, align 8, !dbg !71 %203 = getelementptr [32 x i32], [32 x i32]* @__constant_32xi32, i64 0, i64 %115, !dbg !71 %204 = load i32, i32* %203, align 4, !dbg !71 %205 = getelementptr [32 x i32], [32 x i32]* @__constant_32xi32, i64 0, i64 %118, !dbg !71 %206 = load i32, i32* %205, align 16, !dbg !71 %207 = getelementptr [32 x i32], [32 x i32]* @__constant_32xi32, i64 0, i64 %121, !dbg !71 %208 = load i32, i32* %207, align 4, !dbg !71 %209 = getelementptr [32 x i32], [32 x i32]* @__constant_32xi32, i64 0, i64 %124, !dbg !71 %210 = load i32, i32* %209, align 8, !dbg !71 %211 = getelementptr [32 x i32], [32 x i32]* @__constant_32xi32, i64 0, i64 %127, !dbg !71 %212 = load i32, i32* %211, align 4, !dbg !71 %213 = getelementptr [32 x i32], [32 x i32]* @__constant_32xi32, i64 0, i64 %130, !dbg !71 %214 = load i32, i32* %213, align 16, !dbg !71 %215 = getelementptr [32 x i32], [32 x i32]* @__constant_32xi32, i64 0, i64 %133, !dbg !71 %216 = load i32, i32* %215, align 4, !dbg !71 %217 = getelementptr [32 x i32], [32 x i32]* @__constant_32xi32, i64 0, i64 %136, !dbg !71 %218 = load i32, i32* %217, align 8, !dbg !71 %219 = getelementptr [32 x i32], [32 x i32]* @__constant_32xi32, i64 0, i64 %139, !dbg !71 %220 = load i32, i32* %219, align 4, !dbg !71 %221 = getelementptr [32 x i32], [32 x i32]* @__constant_32xi32, i64 0, i64 %142, !dbg !71 %222 = load i32, i32* %221, align 16, !dbg !71 %223 = getelementptr [32 x i32], [32 x i32]* @__constant_32xi32, i64 0, i64 %145, !dbg !71 %224 = load i32, i32* %223, align 4, !dbg !71 %225 = getelementptr [32 x i32], [32 x i32]* @__constant_32xi32, i64 0, i64 %148, !dbg !71 %226 = load i32, i32* %225, align 8, !dbg !71 %227 = getelementptr [32 x i32], [32 x i32]* @__constant_32xi32, i64 0, i64 %151, !dbg !71 %228 = load i32, i32* %227, align 4, !dbg !71 %229 = getelementptr [32 x i32], [32 x i32]* @__constant_32xi32, i64 0, i64 %154, !dbg !71 %230 = load i32, i32* %229, align 16, !dbg !71 %231 = getelementptr [32 x i32], [32 x i32]* @__constant_32xi32, i64 0, i64 %157, !dbg !71 %232 = load i32, i32* %231, align 4, !dbg !71 %233 = getelementptr [32 x i32], [32 x i32]* @__constant_32xi32, i64 0, i64 %160, !dbg !71 %234 = load i32, i32* %233, align 8, !dbg !71 %235 = getelementptr [32 x i32], [32 x i32]* @__constant_32xi32, i64 0, i64 %163, !dbg !71 %236 = load i32, i32* %235, align 4, !dbg !71 %237 = insertelement <32 x i32> , i32 %72, i64 0, !dbg !71 %238 = insertelement <32 x i32> %237, i32 %75, i64 1, !dbg !71 %239 = insertelement <32 x i32> %238, i32 %78, i64 2, !dbg !71 %240 = insertelement <32 x i32> %239, i32 %81, i64 3, !dbg !71 %241 = insertelement <32 x i32> %240, i32 %84, i64 4, !dbg !71 %242 = insertelement <32 x i32> %241, i32 %87, i64 5, !dbg !71 %243 = insertelement <32 x i32> %242, i32 %90, i64 6, !dbg !71 %244 = insertelement <32 x i32> %243, i32 %93, i64 7, !dbg !71 %245 = insertelement <32 x i32> %244, i32 %96, i64 8, !dbg !71 %246 = insertelement <32 x i32> %245, i32 %99, i64 9, !dbg !71 %247 = insertelement <32 x i32> %246, i32 %102, i64 10, !dbg !71 %248 = insertelement <32 x i32> %247, i32 %105, i64 11, !dbg !71 %249 = insertelement <32 x i32> %248, i32 %108, i64 12, !dbg !71 %250 = insertelement <32 x i32> %249, i32 %111, i64 13, !dbg !71 %251 = insertelement <32 x i32> %250, i32 %114, i64 14, !dbg !71 %252 = insertelement <32 x i32> %251, i32 %117, i64 15, !dbg !71 %253 = insertelement <32 x i32> %252, i32 %120, i64 16, !dbg !71 %254 = insertelement <32 x i32> %253, i32 %123, i64 17, !dbg !71 %255 = insertelement <32 x i32> %254, i32 %126, i64 18, !dbg !71 %256 = insertelement <32 x i32> %255, i32 %129, i64 19, !dbg !71 %257 = insertelement <32 x i32> %256, i32 %132, i64 20, !dbg !71 %258 = insertelement <32 x i32> %257, i32 %135, i64 21, !dbg !71 %259 = insertelement <32 x i32> %258, i32 %138, i64 22, !dbg !71 %260 = insertelement <32 x i32> %259, i32 %141, i64 23, !dbg !71 %261 = insertelement <32 x i32> %260, i32 %144, i64 24, !dbg !71 %262 = insertelement <32 x i32> %261, i32 %147, i64 25, !dbg !71 %263 = insertelement <32 x i32> %262, i32 %150, i64 26, !dbg !71 %264 = insertelement <32 x i32> %263, i32 %153, i64 27, !dbg !71 %265 = insertelement <32 x i32> %264, i32 %156, i64 28, !dbg !71 %266 = insertelement <32 x i32> %265, i32 %159, i64 29, !dbg !71 %267 = insertelement <32 x i32> %266, i32 %162, i64 30, !dbg !71 %268 = insertelement <32 x i32> %267, i32 %165, i64 31, !dbg !71 %269 = sext <32 x i8> %26 to <32 x i32> %270 = sext <32 x i8> %50 to <32 x i32> %271 = getelementptr [32 x i8], [32 x i8]* @__constant_32xi8, i64 0, i64 %14, !dbg !71 %272 = load i8, i8* %271, align 16, !dbg !71 %273 = insertelement <32 x i8> , i8 %272, i64 0, !dbg !71 %274 = getelementptr [32 x i8], [32 x i8]* @__constant_32xi8, i64 0, i64 %73, !dbg !71 %275 = load i8, i8* %274, align 1, !dbg !71 %276 = insertelement <32 x i8> %273, i8 %275, i64 1, !dbg !71 %277 = getelementptr [32 x i8], [32 x i8]* @__constant_32xi8, i64 0, i64 %76, !dbg !71 %278 = load i8, i8* %277, align 2, !dbg !71 %279 = insertelement <32 x i8> %276, i8 %278, i64 2, !dbg !71 %280 = getelementptr [32 x i8], [32 x i8]* @__constant_32xi8, i64 0, i64 %79, !dbg !71 %281 = load i8, i8* %280, align 1, !dbg !71 %282 = insertelement <32 x i8> %279, i8 %281, i64 3, !dbg !71 %283 = getelementptr [32 x i8], [32 x i8]* @__constant_32xi8, i64 0, i64 %82, !dbg !71 %284 = load i8, i8* %283, align 4, !dbg !71 %285 = insertelement <32 x i8> %282, i8 %284, i64 4, !dbg !71 %286 = getelementptr [32 x i8], [32 x i8]* @__constant_32xi8, i64 0, i64 %85, !dbg !71 %287 = load i8, i8* %286, align 1, !dbg !71 %288 = insertelement <32 x i8> %285, i8 %287, i64 5, !dbg !71 %289 = getelementptr [32 x i8], [32 x i8]* @__constant_32xi8, i64 0, i64 %88, !dbg !71 %290 = load i8, i8* %289, align 2, !dbg !71 %291 = insertelement <32 x i8> %288, i8 %290, i64 6, !dbg !71 %292 = getelementptr [32 x i8], [32 x i8]* @__constant_32xi8, i64 0, i64 %91, !dbg !71 %293 = load i8, i8* %292, align 1, !dbg !71 %294 = insertelement <32 x i8> %291, i8 %293, i64 7, !dbg !71 %295 = getelementptr [32 x i8], [32 x i8]* @__constant_32xi8, i64 0, i64 %94, !dbg !71 %296 = load i8, i8* %295, align 8, !dbg !71 %297 = insertelement <32 x i8> %294, i8 %296, i64 8, !dbg !71 %298 = getelementptr [32 x i8], [32 x i8]* @__constant_32xi8, i64 0, i64 %97, !dbg !71 %299 = load i8, i8* %298, align 1, !dbg !71 %300 = insertelement <32 x i8> %297, i8 %299, i64 9, !dbg !71 %301 = getelementptr [32 x i8], [32 x i8]* @__constant_32xi8, i64 0, i64 %100, !dbg !71 %302 = load i8, i8* %301, align 2, !dbg !71 %303 = insertelement <32 x i8> %300, i8 %302, i64 10, !dbg !71 %304 = getelementptr [32 x i8], [32 x i8]* @__constant_32xi8, i64 0, i64 %103, !dbg !71 %305 = load i8, i8* %304, align 1, !dbg !71 %306 = insertelement <32 x i8> %303, i8 %305, i64 11, !dbg !71 %307 = getelementptr [32 x i8], [32 x i8]* @__constant_32xi8, i64 0, i64 %106, !dbg !71 %308 = load i8, i8* %307, align 4, !dbg !71 %309 = insertelement <32 x i8> %306, i8 %308, i64 12, !dbg !71 %310 = getelementptr [32 x i8], [32 x i8]* @__constant_32xi8, i64 0, i64 %109, !dbg !71 %311 = load i8, i8* %310, align 1, !dbg !71 %312 = insertelement <32 x i8> %309, i8 %311, i64 13, !dbg !71 %313 = getelementptr [32 x i8], [32 x i8]* @__constant_32xi8, i64 0, i64 %112, !dbg !71 %314 = load i8, i8* %313, align 2, !dbg !71 %315 = insertelement <32 x i8> %312, i8 %314, i64 14, !dbg !71 %316 = getelementptr [32 x i8], [32 x i8]* @__constant_32xi8, i64 0, i64 %115, !dbg !71 %317 = load i8, i8* %316, align 1, !dbg !71 %318 = insertelement <32 x i8> %315, i8 %317, i64 15, !dbg !71 %319 = getelementptr [32 x i8], [32 x i8]* @__constant_32xi8, i64 0, i64 %118, !dbg !71 %320 = load i8, i8* %319, align 16, !dbg !71 %321 = insertelement <32 x i8> %318, i8 %320, i64 16, !dbg !71 %322 = getelementptr [32 x i8], [32 x i8]* @__constant_32xi8, i64 0, i64 %121, !dbg !71 %323 = load i8, i8* %322, align 1, !dbg !71 %324 = insertelement <32 x i8> %321, i8 %323, i64 17, !dbg !71 %325 = getelementptr [32 x i8], [32 x i8]* @__constant_32xi8, i64 0, i64 %124, !dbg !71 %326 = load i8, i8* %325, align 2, !dbg !71 %327 = insertelement <32 x i8> %324, i8 %326, i64 18, !dbg !71 %328 = getelementptr [32 x i8], [32 x i8]* @__constant_32xi8, i64 0, i64 %127, !dbg !71 %329 = load i8, i8* %328, align 1, !dbg !71 %330 = insertelement <32 x i8> %327, i8 %329, i64 19, !dbg !71 %331 = getelementptr [32 x i8], [32 x i8]* @__constant_32xi8, i64 0, i64 %130, !dbg !71 %332 = load i8, i8* %331, align 4, !dbg !71 %333 = insertelement <32 x i8> %330, i8 %332, i64 20, !dbg !71 %334 = getelementptr [32 x i8], [32 x i8]* @__constant_32xi8, i64 0, i64 %133, !dbg !71 %335 = load i8, i8* %334, align 1, !dbg !71 %336 = insertelement <32 x i8> %333, i8 %335, i64 21, !dbg !71 %337 = getelementptr [32 x i8], [32 x i8]* @__constant_32xi8, i64 0, i64 %136, !dbg !71 %338 = load i8, i8* %337, align 2, !dbg !71 %339 = insertelement <32 x i8> %336, i8 %338, i64 22, !dbg !71 %340 = getelementptr [32 x i8], [32 x i8]* @__constant_32xi8, i64 0, i64 %139, !dbg !71 %341 = load i8, i8* %340, align 1, !dbg !71 %342 = insertelement <32 x i8> %339, i8 %341, i64 23, !dbg !71 %343 = getelementptr [32 x i8], [32 x i8]* @__constant_32xi8, i64 0, i64 %142, !dbg !71 %344 = load i8, i8* %343, align 8, !dbg !71 %345 = insertelement <32 x i8> %342, i8 %344, i64 24, !dbg !71 %346 = getelementptr [32 x i8], [32 x i8]* @__constant_32xi8, i64 0, i64 %145, !dbg !71 %347 = load i8, i8* %346, align 1, !dbg !71 %348 = insertelement <32 x i8> %345, i8 %347, i64 25, !dbg !71 %349 = getelementptr [32 x i8], [32 x i8]* @__constant_32xi8, i64 0, i64 %148, !dbg !71 %350 = load i8, i8* %349, align 2, !dbg !71 %351 = insertelement <32 x i8> %348, i8 %350, i64 26, !dbg !71 %352 = getelementptr [32 x i8], [32 x i8]* @__constant_32xi8, i64 0, i64 %151, !dbg !71 %353 = load i8, i8* %352, align 1, !dbg !71 %354 = insertelement <32 x i8> %351, i8 %353, i64 27, !dbg !71 %355 = getelementptr [32 x i8], [32 x i8]* @__constant_32xi8, i64 0, i64 %154, !dbg !71 %356 = load i8, i8* %355, align 4, !dbg !71 %357 = insertelement <32 x i8> %354, i8 %356, i64 28, !dbg !71 %358 = getelementptr [32 x i8], [32 x i8]* @__constant_32xi8, i64 0, i64 %157, !dbg !71 %359 = load i8, i8* %358, align 1, !dbg !71 %360 = insertelement <32 x i8> %357, i8 %359, i64 29, !dbg !71 %361 = getelementptr [32 x i8], [32 x i8]* @__constant_32xi8, i64 0, i64 %160, !dbg !71 %362 = load i8, i8* %361, align 2, !dbg !71 %363 = insertelement <32 x i8> %360, i8 %362, i64 30, !dbg !71 %364 = getelementptr [32 x i8], [32 x i8]* @__constant_32xi8, i64 0, i64 %163, !dbg !71 %365 = load i8, i8* %364, align 1, !dbg !71 %366 = insertelement <32 x i8> %363, i8 %365, i64 31, !dbg !71 %367 = insertelement <32 x i32> , i32 %174, i64 0, !dbg !71 %368 = insertelement <32 x i32> %367, i32 %176, i64 1, !dbg !71 %369 = insertelement <32 x i32> %368, i32 %178, i64 2, !dbg !71 %370 = insertelement <32 x i32> %369, i32 %180, i64 3, !dbg !71 %371 = insertelement <32 x i32> %370, i32 %182, i64 4, !dbg !71 %372 = insertelement <32 x i32> %371, i32 %184, i64 5, !dbg !71 %373 = insertelement <32 x i32> %372, i32 %186, i64 6, !dbg !71 %374 = insertelement <32 x i32> %373, i32 %188, i64 7, !dbg !71 %375 = insertelement <32 x i32> %374, i32 %190, i64 8, !dbg !71 %376 = insertelement <32 x i32> %375, i32 %192, i64 9, !dbg !71 %377 = insertelement <32 x i32> %376, i32 %194, i64 10, !dbg !71 %378 = insertelement <32 x i32> %377, i32 %196, i64 11, !dbg !71 %379 = insertelement <32 x i32> %378, i32 %198, i64 12, !dbg !71 %380 = insertelement <32 x i32> %379, i32 %200, i64 13, !dbg !71 %381 = insertelement <32 x i32> %380, i32 %202, i64 14, !dbg !71 %382 = insertelement <32 x i32> %381, i32 %204, i64 15, !dbg !71 %383 = insertelement <32 x i32> %382, i32 %206, i64 16, !dbg !71 %384 = insertelement <32 x i32> %383, i32 %208, i64 17, !dbg !71 %385 = insertelement <32 x i32> %384, i32 %210, i64 18, !dbg !71 %386 = insertelement <32 x i32> %385, i32 %212, i64 19, !dbg !71 %387 = insertelement <32 x i32> %386, i32 %214, i64 20, !dbg !71 %388 = insertelement <32 x i32> %387, i32 %216, i64 21, !dbg !71 %389 = insertelement <32 x i32> %388, i32 %218, i64 22, !dbg !71 %390 = insertelement <32 x i32> %389, i32 %220, i64 23, !dbg !71 %391 = insertelement <32 x i32> %390, i32 %222, i64 24, !dbg !71 %392 = insertelement <32 x i32> %391, i32 %224, i64 25, !dbg !71 %393 = insertelement <32 x i32> %392, i32 %226, i64 26, !dbg !71 %394 = insertelement <32 x i32> %393, i32 %228, i64 27, !dbg !71 %395 = insertelement <32 x i32> %394, i32 %230, i64 28, !dbg !71 %396 = insertelement <32 x i32> %395, i32 %232, i64 29, !dbg !71 %397 = insertelement <32 x i32> %396, i32 %234, i64 30, !dbg !71 %398 = insertelement <32 x i32> %397, i32 %236, i64 31, !dbg !71 %399 = sext <32 x i8> %38 to <32 x i32> %400 = sext <32 x i8> %62 to <32 x i32> %.neg = shl <32 x i32> %172, %401 = add <32 x i32> %.neg, %268 %402 = sext <32 x i32> %398 to <32 x i64> %403 = zext <32 x i8> %366 to <32 x i64> %404 = shl <32 x i64> , %403 %405 = lshr <32 x i64> %404, %406 = add i64 %15, %14, !dbg !71 %407 = add i64 %406, 128, !dbg !71 %scevgep = getelementptr i8, i8* %8, i64 %407, !dbg !71 %408 = add nuw nsw i64 %166, 36976, !dbg !71 %scevgep40 = getelementptr i8, i8* %3, i64 %408, !dbg !71 br label %409, !dbg !71 409: ; preds = %.preheader, %409 %lsr.iv41 = phi i8* [ %scevgep40, %.preheader ], [ %scevgep42, %409 ] %lsr.iv30 = phi i8* [ %scevgep, %.preheader ], [ %scevgep31, %409 ] %lsr.iv = phi i64 [ -8, %.preheader ], [ %lsr.iv.next, %409 ] %410 = icmp ugt <32 x i8> %366, %lsr.iv3032 = bitcast i8* %lsr.iv30 to <32 x i8>*, !dbg !68 %lsr.iv4143 = bitcast i8* %lsr.iv41 to <16 x i8>*, !dbg !68 %scevgep44 = getelementptr <16 x i8>, <16 x i8>* %lsr.iv4143, i64 -7, !dbg !68 %411 = load <16 x i8>, <16 x i8>* %scevgep44, align 64, !dbg !68 %scevgep50 = getelementptr <16 x i8>, <16 x i8>* %lsr.iv4143, i64 -6, !dbg !68 %412 = load <16 x i8>, <16 x i8>* %scevgep50, align 16, !dbg !68 %scevgep49 = getelementptr <16 x i8>, <16 x i8>* %lsr.iv4143, i64 -5, !dbg !68 %413 = load <16 x i8>, <16 x i8>* %scevgep49, align 32, !dbg !68 %scevgep48 = getelementptr <16 x i8>, <16 x i8>* %lsr.iv4143, i64 -4, !dbg !68 %414 = load <16 x i8>, <16 x i8>* %scevgep48, align 16, !dbg !68 %scevgep47 = getelementptr <16 x i8>, <16 x i8>* %lsr.iv4143, i64 -3, !dbg !68 %415 = load <16 x i8>, <16 x i8>* %scevgep47, align 64, !dbg !68 %scevgep46 = getelementptr <16 x i8>, <16 x i8>* %lsr.iv4143, i64 -2, !dbg !68 %416 = load <16 x i8>, <16 x i8>* %scevgep46, align 16, !dbg !68 %scevgep45 = getelementptr <16 x i8>, <16 x i8>* %lsr.iv4143, i64 -1, !dbg !68 %417 = load <16 x i8>, <16 x i8>* %scevgep45, align 32, !dbg !68 %418 = load <16 x i8>, <16 x i8>* %lsr.iv4143, align 16, !dbg !68 %419 = sext <16 x i8> %411 to <16 x i32> %420 = sext <16 x i8> %412 to <16 x i32> %421 = sext <16 x i8> %413 to <16 x i32> %422 = sext <16 x i8> %414 to <16 x i32> %423 = sext <16 x i8> %415 to <16 x i32> %424 = sext <16 x i8> %416 to <16 x i32> %425 = sext <16 x i8> %417 to <16 x i32> %426 = sext <16 x i8> %418 to <16 x i32> %427 = shufflevector <16 x i32> %419, <16 x i32> undef, <32 x i32> zeroinitializer %428 = mul nsw <32 x i32> %427, %63 %429 = shufflevector <16 x i32> %420, <16 x i32> undef, <32 x i32> zeroinitializer %430 = mul nsw <32 x i32> %429, %63 %431 = shufflevector <16 x i32> %421, <16 x i32> undef, <32 x i32> zeroinitializer %432 = mul nsw <32 x i32> %431, %63 %433 = shufflevector <16 x i32> %422, <16 x i32> undef, <32 x i32> zeroinitializer %434 = mul nsw <32 x i32> %433, %63 %435 = shufflevector <16 x i32> %423, <16 x i32> undef, <32 x i32> zeroinitializer %436 = mul nsw <32 x i32> %435, %63 %437 = shufflevector <16 x i32> %424, <16 x i32> undef, <32 x i32> zeroinitializer %438 = mul nsw <32 x i32> %437, %63 %439 = shufflevector <16 x i32> %425, <16 x i32> undef, <32 x i32> zeroinitializer %440 = mul nsw <32 x i32> %439, %63 %441 = shufflevector <16 x i32> %426, <16 x i32> undef, <32 x i32> zeroinitializer %442 = mul nsw <32 x i32> %441, %63 %443 = shufflevector <16 x i32> %419, <16 x i32> undef, <32 x i32> %444 = mul nsw <32 x i32> %443, %167 %445 = shufflevector <16 x i32> %420, <16 x i32> undef, <32 x i32> %446 = mul nsw <32 x i32> %445, %167 %447 = shufflevector <16 x i32> %421, <16 x i32> undef, <32 x i32> %448 = mul nsw <32 x i32> %447, %167 %449 = shufflevector <16 x i32> %422, <16 x i32> undef, <32 x i32> %450 = mul nsw <32 x i32> %449, %167 %451 = shufflevector <16 x i32> %423, <16 x i32> undef, <32 x i32> %452 = mul nsw <32 x i32> %451, %167 %453 = shufflevector <16 x i32> %424, <16 x i32> undef, <32 x i32> %454 = mul nsw <32 x i32> %453, %167 %455 = shufflevector <16 x i32> %425, <16 x i32> undef, <32 x i32> %456 = mul nsw <32 x i32> %455, %167 %457 = shufflevector <16 x i32> %426, <16 x i32> undef, <32 x i32> %458 = mul nsw <32 x i32> %457, %167 %459 = shufflevector <16 x i32> %419, <16 x i32> undef, <32 x i32> %460 = mul nsw <32 x i32> %459, %64 %461 = shufflevector <16 x i32> %420, <16 x i32> undef, <32 x i32> %462 = mul nsw <32 x i32> %461, %64 %463 = shufflevector <16 x i32> %421, <16 x i32> undef, <32 x i32> %464 = mul nsw <32 x i32> %463, %64 %465 = shufflevector <16 x i32> %422, <16 x i32> undef, <32 x i32> %466 = mul nsw <32 x i32> %465, %64 %467 = shufflevector <16 x i32> %423, <16 x i32> undef, <32 x i32> %468 = mul nsw <32 x i32> %467, %64 %469 = shufflevector <16 x i32> %424, <16 x i32> undef, <32 x i32> %470 = mul nsw <32 x i32> %469, %64 %471 = shufflevector <16 x i32> %425, <16 x i32> undef, <32 x i32> %472 = mul nsw <32 x i32> %471, %64 %473 = shufflevector <16 x i32> %426, <16 x i32> undef, <32 x i32> %474 = mul nsw <32 x i32> %473, %64 %475 = shufflevector <16 x i32> %419, <16 x i32> undef, <32 x i32> %476 = mul nsw <32 x i32> %475, %269 %477 = shufflevector <16 x i32> %420, <16 x i32> undef, <32 x i32> %478 = mul nsw <32 x i32> %477, %269 %479 = shufflevector <16 x i32> %421, <16 x i32> undef, <32 x i32> %480 = mul nsw <32 x i32> %479, %269 %481 = shufflevector <16 x i32> %422, <16 x i32> undef, <32 x i32> %482 = mul nsw <32 x i32> %481, %269 %483 = shufflevector <16 x i32> %423, <16 x i32> undef, <32 x i32> %484 = mul nsw <32 x i32> %483, %269 %485 = shufflevector <16 x i32> %424, <16 x i32> undef, <32 x i32> %486 = mul nsw <32 x i32> %485, %269 %487 = shufflevector <16 x i32> %425, <16 x i32> undef, <32 x i32> %488 = mul nsw <32 x i32> %487, %269 %489 = shufflevector <16 x i32> %426, <16 x i32> undef, <32 x i32> %490 = mul nsw <32 x i32> %489, %269 %491 = shufflevector <16 x i32> %419, <16 x i32> undef, <32 x i32> %492 = mul nsw <32 x i32> %491, %65 %493 = shufflevector <16 x i32> %420, <16 x i32> undef, <32 x i32> %494 = mul nsw <32 x i32> %493, %65 %495 = shufflevector <16 x i32> %421, <16 x i32> undef, <32 x i32> %496 = mul nsw <32 x i32> %495, %65 %497 = shufflevector <16 x i32> %422, <16 x i32> undef, <32 x i32> %498 = mul nsw <32 x i32> %497, %65 %499 = shufflevector <16 x i32> %423, <16 x i32> undef, <32 x i32> %500 = mul nsw <32 x i32> %499, %65 %501 = shufflevector <16 x i32> %424, <16 x i32> undef, <32 x i32> %502 = mul nsw <32 x i32> %501, %65 %503 = shufflevector <16 x i32> %425, <16 x i32> undef, <32 x i32> %504 = mul nsw <32 x i32> %503, %65 %505 = shufflevector <16 x i32> %426, <16 x i32> undef, <32 x i32> %506 = mul nsw <32 x i32> %505, %65 %507 = shufflevector <16 x i32> %419, <16 x i32> undef, <32 x i32> %508 = mul nsw <32 x i32> %507, %168 %509 = shufflevector <16 x i32> %420, <16 x i32> undef, <32 x i32> %510 = mul nsw <32 x i32> %509, %168 %511 = shufflevector <16 x i32> %421, <16 x i32> undef, <32 x i32> %512 = mul nsw <32 x i32> %511, %168 %513 = shufflevector <16 x i32> %422, <16 x i32> undef, <32 x i32> %514 = mul nsw <32 x i32> %513, %168 %515 = shufflevector <16 x i32> %423, <16 x i32> undef, <32 x i32> %516 = mul nsw <32 x i32> %515, %168 %517 = shufflevector <16 x i32> %424, <16 x i32> undef, <32 x i32> %518 = mul nsw <32 x i32> %517, %168 %519 = shufflevector <16 x i32> %425, <16 x i32> undef, <32 x i32> %520 = mul nsw <32 x i32> %519, %168 %521 = shufflevector <16 x i32> %426, <16 x i32> undef, <32 x i32> %522 = mul nsw <32 x i32> %521, %168 %523 = shufflevector <16 x i32> %419, <16 x i32> undef, <32 x i32> %524 = mul nsw <32 x i32> %523, %66 %525 = shufflevector <16 x i32> %420, <16 x i32> undef, <32 x i32> %526 = mul nsw <32 x i32> %525, %66 %527 = shufflevector <16 x i32> %421, <16 x i32> undef, <32 x i32> %528 = mul nsw <32 x i32> %527, %66 %529 = shufflevector <16 x i32> %422, <16 x i32> undef, <32 x i32> %530 = mul nsw <32 x i32> %529, %66 %531 = shufflevector <16 x i32> %423, <16 x i32> undef, <32 x i32> %532 = mul nsw <32 x i32> %531, %66 %533 = shufflevector <16 x i32> %424, <16 x i32> undef, <32 x i32> %534 = mul nsw <32 x i32> %533, %66 %535 = shufflevector <16 x i32> %425, <16 x i32> undef, <32 x i32> %536 = mul nsw <32 x i32> %535, %66 %537 = shufflevector <16 x i32> %426, <16 x i32> undef, <32 x i32> %538 = mul nsw <32 x i32> %537, %66 %539 = shufflevector <16 x i32> %419, <16 x i32> undef, <32 x i32> %540 = mul nsw <32 x i32> %539, %399 %541 = shufflevector <16 x i32> %420, <16 x i32> undef, <32 x i32> %542 = mul nsw <32 x i32> %541, %399 %543 = shufflevector <16 x i32> %421, <16 x i32> undef, <32 x i32> %544 = mul nsw <32 x i32> %543, %399 %545 = shufflevector <16 x i32> %422, <16 x i32> undef, <32 x i32> %546 = mul nsw <32 x i32> %545, %399 %547 = shufflevector <16 x i32> %423, <16 x i32> undef, <32 x i32> %548 = mul nsw <32 x i32> %547, %399 %549 = shufflevector <16 x i32> %424, <16 x i32> undef, <32 x i32> %550 = mul nsw <32 x i32> %549, %399 %551 = shufflevector <16 x i32> %425, <16 x i32> undef, <32 x i32> %552 = mul nsw <32 x i32> %551, %399 %553 = shufflevector <16 x i32> %426, <16 x i32> undef, <32 x i32> %554 = mul nsw <32 x i32> %553, %399 %555 = shufflevector <16 x i32> %419, <16 x i32> undef, <32 x i32> %556 = mul nsw <32 x i32> %555, %67 %557 = shufflevector <16 x i32> %420, <16 x i32> undef, <32 x i32> %558 = mul nsw <32 x i32> %557, %67 %559 = shufflevector <16 x i32> %421, <16 x i32> undef, <32 x i32> %560 = mul nsw <32 x i32> %559, %67 %561 = shufflevector <16 x i32> %422, <16 x i32> undef, <32 x i32> %562 = mul nsw <32 x i32> %561, %67 %563 = shufflevector <16 x i32> %423, <16 x i32> undef, <32 x i32> %564 = mul nsw <32 x i32> %563, %67 %565 = shufflevector <16 x i32> %424, <16 x i32> undef, <32 x i32> %566 = mul nsw <32 x i32> %565, %67 %567 = shufflevector <16 x i32> %425, <16 x i32> undef, <32 x i32> %568 = mul nsw <32 x i32> %567, %67 %569 = shufflevector <16 x i32> %426, <16 x i32> undef, <32 x i32> %570 = mul nsw <32 x i32> %569, %67 %571 = shufflevector <16 x i32> %419, <16 x i32> undef, <32 x i32> %572 = mul nsw <32 x i32> %571, %169 %573 = shufflevector <16 x i32> %420, <16 x i32> undef, <32 x i32> %574 = mul nsw <32 x i32> %573, %169 %575 = shufflevector <16 x i32> %421, <16 x i32> undef, <32 x i32> %576 = mul nsw <32 x i32> %575, %169 %577 = shufflevector <16 x i32> %422, <16 x i32> undef, <32 x i32> %578 = mul nsw <32 x i32> %577, %169 %579 = shufflevector <16 x i32> %423, <16 x i32> undef, <32 x i32> %580 = mul nsw <32 x i32> %579, %169 %581 = shufflevector <16 x i32> %424, <16 x i32> undef, <32 x i32> %582 = mul nsw <32 x i32> %581, %169 %583 = shufflevector <16 x i32> %425, <16 x i32> undef, <32 x i32> %584 = mul nsw <32 x i32> %583, %169 %585 = shufflevector <16 x i32> %426, <16 x i32> undef, <32 x i32> %586 = mul nsw <32 x i32> %585, %169 %587 = shufflevector <16 x i32> %419, <16 x i32> undef, <32 x i32> %588 = mul nsw <32 x i32> %587, %68 %589 = shufflevector <16 x i32> %420, <16 x i32> undef, <32 x i32> %590 = mul nsw <32 x i32> %589, %68 %591 = shufflevector <16 x i32> %421, <16 x i32> undef, <32 x i32> %592 = mul nsw <32 x i32> %591, %68 %593 = shufflevector <16 x i32> %422, <16 x i32> undef, <32 x i32> %594 = mul nsw <32 x i32> %593, %68 %595 = shufflevector <16 x i32> %423, <16 x i32> undef, <32 x i32> %596 = mul nsw <32 x i32> %595, %68 %597 = shufflevector <16 x i32> %424, <16 x i32> undef, <32 x i32> %598 = mul nsw <32 x i32> %597, %68 %599 = shufflevector <16 x i32> %425, <16 x i32> undef, <32 x i32> %600 = mul nsw <32 x i32> %599, %68 %601 = shufflevector <16 x i32> %426, <16 x i32> undef, <32 x i32> %602 = mul nsw <32 x i32> %601, %68 %603 = shufflevector <16 x i32> %419, <16 x i32> undef, <32 x i32> %604 = mul nsw <32 x i32> %603, %270 %605 = shufflevector <16 x i32> %420, <16 x i32> undef, <32 x i32> %606 = mul nsw <32 x i32> %605, %270 %607 = shufflevector <16 x i32> %421, <16 x i32> undef, <32 x i32> %608 = mul nsw <32 x i32> %607, %270 %609 = shufflevector <16 x i32> %422, <16 x i32> undef, <32 x i32> %610 = mul nsw <32 x i32> %609, %270 %611 = shufflevector <16 x i32> %423, <16 x i32> undef, <32 x i32> %612 = mul nsw <32 x i32> %611, %270 %613 = shufflevector <16 x i32> %424, <16 x i32> undef, <32 x i32> %614 = mul nsw <32 x i32> %613, %270 %615 = shufflevector <16 x i32> %425, <16 x i32> undef, <32 x i32> %616 = mul nsw <32 x i32> %615, %270 %617 = shufflevector <16 x i32> %426, <16 x i32> undef, <32 x i32> %618 = mul nsw <32 x i32> %617, %270 %619 = shufflevector <16 x i32> %419, <16 x i32> undef, <32 x i32> %620 = mul nsw <32 x i32> %619, %69 %621 = shufflevector <16 x i32> %420, <16 x i32> undef, <32 x i32> %622 = mul nsw <32 x i32> %621, %69 %623 = shufflevector <16 x i32> %421, <16 x i32> undef, <32 x i32> %624 = mul nsw <32 x i32> %623, %69 %625 = shufflevector <16 x i32> %422, <16 x i32> undef, <32 x i32> %626 = mul nsw <32 x i32> %625, %69 %627 = shufflevector <16 x i32> %423, <16 x i32> undef, <32 x i32> %628 = mul nsw <32 x i32> %627, %69 %629 = shufflevector <16 x i32> %424, <16 x i32> undef, <32 x i32> %630 = mul nsw <32 x i32> %629, %69 %631 = shufflevector <16 x i32> %425, <16 x i32> undef, <32 x i32> %632 = mul nsw <32 x i32> %631, %69 %633 = shufflevector <16 x i32> %426, <16 x i32> undef, <32 x i32> %634 = mul nsw <32 x i32> %633, %69 %635 = shufflevector <16 x i32> %419, <16 x i32> undef, <32 x i32> %636 = mul nsw <32 x i32> %635, %170 %637 = shufflevector <16 x i32> %420, <16 x i32> undef, <32 x i32> %638 = mul nsw <32 x i32> %637, %170 %639 = shufflevector <16 x i32> %421, <16 x i32> undef, <32 x i32> %640 = mul nsw <32 x i32> %639, %170 %641 = shufflevector <16 x i32> %422, <16 x i32> undef, <32 x i32> %642 = mul nsw <32 x i32> %641, %170 %643 = shufflevector <16 x i32> %423, <16 x i32> undef, <32 x i32> %644 = mul nsw <32 x i32> %643, %170 %645 = shufflevector <16 x i32> %424, <16 x i32> undef, <32 x i32> %646 = mul nsw <32 x i32> %645, %170 %647 = shufflevector <16 x i32> %425, <16 x i32> undef, <32 x i32> %648 = mul nsw <32 x i32> %647, %170 %649 = shufflevector <16 x i32> %426, <16 x i32> undef, <32 x i32> %650 = mul nsw <32 x i32> %649, %170 %651 = shufflevector <16 x i32> %419, <16 x i32> undef, <32 x i32> %652 = mul nsw <32 x i32> %651, %70 %653 = shufflevector <16 x i32> %420, <16 x i32> undef, <32 x i32> %654 = mul nsw <32 x i32> %653, %70 %655 = shufflevector <16 x i32> %421, <16 x i32> undef, <32 x i32> %656 = mul nsw <32 x i32> %655, %70 %657 = shufflevector <16 x i32> %422, <16 x i32> undef, <32 x i32> %658 = mul nsw <32 x i32> %657, %70 %659 = shufflevector <16 x i32> %423, <16 x i32> undef, <32 x i32> %660 = mul nsw <32 x i32> %659, %70 %661 = shufflevector <16 x i32> %424, <16 x i32> undef, <32 x i32> %662 = mul nsw <32 x i32> %661, %70 %663 = shufflevector <16 x i32> %425, <16 x i32> undef, <32 x i32> %664 = mul nsw <32 x i32> %663, %70 %665 = shufflevector <16 x i32> %426, <16 x i32> undef, <32 x i32> %666 = mul nsw <32 x i32> %665, %70 %667 = shufflevector <16 x i32> %419, <16 x i32> undef, <32 x i32> %668 = mul nsw <32 x i32> %667, %400 %669 = shufflevector <16 x i32> %420, <16 x i32> undef, <32 x i32> %670 = mul nsw <32 x i32> %669, %400 %671 = shufflevector <16 x i32> %421, <16 x i32> undef, <32 x i32> %672 = mul nsw <32 x i32> %671, %400 %673 = shufflevector <16 x i32> %422, <16 x i32> undef, <32 x i32> %674 = mul nsw <32 x i32> %673, %400 %675 = shufflevector <16 x i32> %423, <16 x i32> undef, <32 x i32> %676 = mul nsw <32 x i32> %675, %400 %677 = shufflevector <16 x i32> %424, <16 x i32> undef, <32 x i32> %678 = mul nsw <32 x i32> %677, %400 %679 = shufflevector <16 x i32> %425, <16 x i32> undef, <32 x i32> %680 = mul nsw <32 x i32> %679, %400 %681 = shufflevector <16 x i32> %426, <16 x i32> undef, <32 x i32> %682 = mul nsw <32 x i32> %681, %400 %683 = add <32 x i32> %401, %428 %684 = add <32 x i32> %683, %444 %685 = add <32 x i32> %684, %460 %686 = add <32 x i32> %685, %476 %687 = add <32 x i32> %686, %492 %688 = add <32 x i32> %687, %508 %689 = add <32 x i32> %688, %524 %690 = add <32 x i32> %689, %540 %691 = add <32 x i32> %690, %556 %692 = add <32 x i32> %691, %572 %693 = add <32 x i32> %692, %588 %694 = add <32 x i32> %693, %604 %695 = add <32 x i32> %694, %620 %696 = add <32 x i32> %695, %636 %697 = add <32 x i32> %696, %652, !dbg !68 %698 = add <32 x i32> %697, %668, !dbg !68 %699 = add <32 x i32> %401, %430 %700 = add <32 x i32> %699, %446 %701 = add <32 x i32> %700, %462 %702 = add <32 x i32> %701, %478 %703 = add <32 x i32> %702, %494 %704 = add <32 x i32> %703, %510 %705 = add <32 x i32> %704, %526 %706 = add <32 x i32> %705, %542 %707 = add <32 x i32> %706, %558 %708 = add <32 x i32> %707, %574 %709 = add <32 x i32> %708, %590 %710 = add <32 x i32> %709, %606 %711 = add <32 x i32> %710, %622 %712 = add <32 x i32> %711, %638 %713 = add <32 x i32> %712, %654, !dbg !68 %714 = add <32 x i32> %713, %670, !dbg !68 %715 = add <32 x i32> %401, %432 %716 = add <32 x i32> %715, %448 %717 = add <32 x i32> %716, %464 %718 = add <32 x i32> %717, %480 %719 = add <32 x i32> %718, %496 %720 = add <32 x i32> %719, %512 %721 = add <32 x i32> %720, %528 %722 = add <32 x i32> %721, %544 %723 = add <32 x i32> %722, %560 %724 = add <32 x i32> %723, %576 %725 = add <32 x i32> %724, %592 %726 = add <32 x i32> %725, %608 %727 = add <32 x i32> %726, %624 %728 = add <32 x i32> %727, %640 %729 = add <32 x i32> %728, %656, !dbg !68 %730 = add <32 x i32> %729, %672, !dbg !68 %731 = add <32 x i32> %401, %434 %732 = add <32 x i32> %731, %450 %733 = add <32 x i32> %732, %466 %734 = add <32 x i32> %733, %482 %735 = add <32 x i32> %734, %498 %736 = add <32 x i32> %735, %514 %737 = add <32 x i32> %736, %530 %738 = add <32 x i32> %737, %546 %739 = add <32 x i32> %738, %562 %740 = add <32 x i32> %739, %578 %741 = add <32 x i32> %740, %594 %742 = add <32 x i32> %741, %610 %743 = add <32 x i32> %742, %626 %744 = add <32 x i32> %743, %642 %745 = add <32 x i32> %744, %658, !dbg !68 %746 = add <32 x i32> %745, %674, !dbg !68 %747 = add <32 x i32> %401, %436 %748 = add <32 x i32> %747, %452 %749 = add <32 x i32> %748, %468 %750 = add <32 x i32> %749, %484 %751 = add <32 x i32> %750, %500 %752 = add <32 x i32> %751, %516 %753 = add <32 x i32> %752, %532 %754 = add <32 x i32> %753, %548 %755 = add <32 x i32> %754, %564 %756 = add <32 x i32> %755, %580 %757 = add <32 x i32> %756, %596 %758 = add <32 x i32> %757, %612 %759 = add <32 x i32> %758, %628 %760 = add <32 x i32> %759, %644 %761 = add <32 x i32> %760, %660, !dbg !68 %762 = add <32 x i32> %761, %676, !dbg !68 %763 = add <32 x i32> %401, %438 %764 = add <32 x i32> %763, %454 %765 = add <32 x i32> %764, %470 %766 = add <32 x i32> %765, %486 %767 = add <32 x i32> %766, %502 %768 = add <32 x i32> %767, %518 %769 = add <32 x i32> %768, %534 %770 = add <32 x i32> %769, %550 %771 = add <32 x i32> %770, %566 %772 = add <32 x i32> %771, %582 %773 = add <32 x i32> %772, %598 %774 = add <32 x i32> %773, %614 %775 = add <32 x i32> %774, %630 %776 = add <32 x i32> %775, %646 %777 = add <32 x i32> %776, %662, !dbg !68 %778 = add <32 x i32> %777, %678, !dbg !68 %779 = add <32 x i32> %401, %440 %780 = add <32 x i32> %779, %456 %781 = add <32 x i32> %780, %472 %782 = add <32 x i32> %781, %488 %783 = add <32 x i32> %782, %504 %784 = add <32 x i32> %783, %520 %785 = add <32 x i32> %784, %536 %786 = add <32 x i32> %785, %552 %787 = add <32 x i32> %786, %568 %788 = add <32 x i32> %787, %584 %789 = add <32 x i32> %788, %600 %790 = add <32 x i32> %789, %616 %791 = add <32 x i32> %790, %632 %792 = add <32 x i32> %791, %648 %793 = add <32 x i32> %792, %664, !dbg !68 %794 = add <32 x i32> %793, %680, !dbg !68 %795 = add <32 x i32> %401, %442 %796 = add <32 x i32> %795, %458 %797 = add <32 x i32> %796, %474 %798 = add <32 x i32> %797, %490 %799 = add <32 x i32> %798, %506 %800 = add <32 x i32> %799, %522 %801 = add <32 x i32> %800, %538 %802 = add <32 x i32> %801, %554 %803 = add <32 x i32> %802, %570 %804 = add <32 x i32> %803, %586 %805 = add <32 x i32> %804, %602 %806 = add <32 x i32> %805, %618 %807 = add <32 x i32> %806, %634 %808 = add <32 x i32> %807, %650 %809 = add <32 x i32> %808, %666, !dbg !68 %810 = add <32 x i32> %809, %682, !dbg !68 %811 = sext <32 x i32> %698 to <32 x i64>, !dbg !71 %812 = sext <32 x i32> %714 to <32 x i64>, !dbg !71 %813 = sext <32 x i32> %730 to <32 x i64>, !dbg !71 %814 = sext <32 x i32> %746 to <32 x i64>, !dbg !71 %815 = sext <32 x i32> %762 to <32 x i64>, !dbg !71 %816 = sext <32 x i32> %778 to <32 x i64>, !dbg !71 %817 = sext <32 x i32> %794 to <32 x i64>, !dbg !71 %818 = sext <32 x i32> %810 to <32 x i64>, !dbg !71 %819 = mul nsw <32 x i64> %811, %402, !dbg !71 %820 = mul nsw <32 x i64> %812, %402, !dbg !71 %821 = mul nsw <32 x i64> %813, %402, !dbg !71 %822 = mul nsw <32 x i64> %814, %402, !dbg !71 %823 = mul nsw <32 x i64> %815, %402, !dbg !71 %824 = mul nsw <32 x i64> %816, %402, !dbg !71 %825 = mul nsw <32 x i64> %817, %402, !dbg !71 %826 = mul nsw <32 x i64> %818, %402, !dbg !71 %827 = add <32 x i64> %819, %405, !dbg !71 %828 = add <32 x i64> %820, %405, !dbg !71 %829 = add <32 x i64> %821, %405, !dbg !71 %830 = add <32 x i64> %822, %405, !dbg !71 %831 = add <32 x i64> %823, %405, !dbg !71 %832 = add <32 x i64> %824, %405, !dbg !71 %833 = add <32 x i64> %825, %405, !dbg !71 %834 = add <32 x i64> %826, %405, !dbg !71 %835 = icmp sgt <32 x i32> %698, , !dbg !71 %836 = icmp sgt <32 x i32> %714, , !dbg !71 %837 = icmp sgt <32 x i32> %730, , !dbg !71 %838 = icmp sgt <32 x i32> %746, , !dbg !71 %839 = icmp sgt <32 x i32> %762, , !dbg !71 %840 = icmp sgt <32 x i32> %778, , !dbg !71 %841 = icmp sgt <32 x i32> %794, , !dbg !71 %842 = icmp sgt <32 x i32> %810, , !dbg !71 %843 = select <32 x i1> %835, <32 x i64> , <32 x i64> , !dbg !71 %844 = select <32 x i1> %836, <32 x i64> , <32 x i64> , !dbg !71 %845 = select <32 x i1> %837, <32 x i64> , <32 x i64> , !dbg !71 %846 = select <32 x i1> %838, <32 x i64> , <32 x i64> , !dbg !71 %847 = select <32 x i1> %839, <32 x i64> , <32 x i64> , !dbg !71 %848 = select <32 x i1> %840, <32 x i64> , <32 x i64> , !dbg !71 %849 = select <32 x i1> %841, <32 x i64> , <32 x i64> , !dbg !71 %850 = select <32 x i1> %842, <32 x i64> , <32 x i64> , !dbg !71 %851 = select <32 x i1> %410, <32 x i64> %843, <32 x i64> zeroinitializer, !dbg !71 %852 = add <32 x i64> %827, %851, !dbg !71 %853 = select <32 x i1> %410, <32 x i64> %844, <32 x i64> zeroinitializer, !dbg !71 %854 = add <32 x i64> %828, %853, !dbg !71 %855 = select <32 x i1> %410, <32 x i64> %845, <32 x i64> zeroinitializer, !dbg !71 %856 = add <32 x i64> %829, %855, !dbg !71 %857 = select <32 x i1> %410, <32 x i64> %846, <32 x i64> zeroinitializer, !dbg !71 %858 = add <32 x i64> %830, %857, !dbg !71 %859 = select <32 x i1> %410, <32 x i64> %847, <32 x i64> zeroinitializer, !dbg !71 %860 = add <32 x i64> %831, %859, !dbg !71 %861 = select <32 x i1> %410, <32 x i64> %848, <32 x i64> zeroinitializer, !dbg !71 %862 = add <32 x i64> %832, %861, !dbg !71 %863 = select <32 x i1> %410, <32 x i64> %849, <32 x i64> zeroinitializer, !dbg !71 %864 = add <32 x i64> %833, %863, !dbg !71 %865 = select <32 x i1> %410, <32 x i64> %850, <32 x i64> zeroinitializer, !dbg !71 %866 = add <32 x i64> %834, %865, !dbg !71 %867 = ashr <32 x i64> %852, %403, !dbg !71 %868 = ashr <32 x i64> %854, %403, !dbg !71 %869 = ashr <32 x i64> %856, %403, !dbg !71 %870 = ashr <32 x i64> %858, %403, !dbg !71 %871 = ashr <32 x i64> %860, %403, !dbg !71 %872 = ashr <32 x i64> %862, %403, !dbg !71 %873 = ashr <32 x i64> %864, %403, !dbg !71 %874 = ashr <32 x i64> %866, %403, !dbg !71 %875 = trunc <32 x i64> %867 to <32 x i32>, !dbg !71 %876 = trunc <32 x i64> %868 to <32 x i32>, !dbg !71 %877 = trunc <32 x i64> %869 to <32 x i32>, !dbg !71 %878 = trunc <32 x i64> %870 to <32 x i32>, !dbg !71 %879 = trunc <32 x i64> %871 to <32 x i32>, !dbg !71 %880 = trunc <32 x i64> %872 to <32 x i32>, !dbg !71 %881 = trunc <32 x i64> %873 to <32 x i32>, !dbg !71 %882 = trunc <32 x i64> %874 to <32 x i32>, !dbg !71 %883 = add <32 x i32> %875, , !dbg !71 %884 = add <32 x i32> %876, , !dbg !71 %885 = add <32 x i32> %877, , !dbg !71 %886 = add <32 x i32> %878, , !dbg !71 %887 = add <32 x i32> %879, , !dbg !71 %888 = add <32 x i32> %880, , !dbg !71 %889 = add <32 x i32> %881, , !dbg !71 %890 = add <32 x i32> %882, , !dbg !71 %891 = tail call <32 x i32> @llvm.smax.v32i32(<32 x i32> %883, <32 x i32> ), !dbg !71 %892 = tail call <32 x i32> @llvm.smax.v32i32(<32 x i32> %884, <32 x i32> ), !dbg !71 %893 = tail call <32 x i32> @llvm.smax.v32i32(<32 x i32> %885, <32 x i32> ), !dbg !71 %894 = tail call <32 x i32> @llvm.smax.v32i32(<32 x i32> %886, <32 x i32> ), !dbg !71 %895 = tail call <32 x i32> @llvm.smax.v32i32(<32 x i32> %887, <32 x i32> ), !dbg !71 %896 = tail call <32 x i32> @llvm.smax.v32i32(<32 x i32> %888, <32 x i32> ), !dbg !71 %897 = tail call <32 x i32> @llvm.smax.v32i32(<32 x i32> %889, <32 x i32> ), !dbg !71 %898 = tail call <32 x i32> @llvm.smax.v32i32(<32 x i32> %890, <32 x i32> ), !dbg !71 %899 = tail call <32 x i32> @llvm.smin.v32i32(<32 x i32> %891, <32 x i32> ), !dbg !71 %900 = tail call <32 x i32> @llvm.smin.v32i32(<32 x i32> %892, <32 x i32> ), !dbg !71 %901 = tail call <32 x i32> @llvm.smin.v32i32(<32 x i32> %893, <32 x i32> ), !dbg !71 %902 = tail call <32 x i32> @llvm.smin.v32i32(<32 x i32> %894, <32 x i32> ), !dbg !71 %903 = tail call <32 x i32> @llvm.smin.v32i32(<32 x i32> %895, <32 x i32> ), !dbg !71 %904 = tail call <32 x i32> @llvm.smin.v32i32(<32 x i32> %896, <32 x i32> ), !dbg !71 %905 = tail call <32 x i32> @llvm.smin.v32i32(<32 x i32> %897, <32 x i32> ), !dbg !71 %906 = tail call <32 x i32> @llvm.smin.v32i32(<32 x i32> %898, <32 x i32> ), !dbg !71 %907 = trunc <32 x i32> %899 to <32 x i8>, !dbg !71 %908 = trunc <32 x i32> %900 to <32 x i8>, !dbg !71 %909 = trunc <32 x i32> %901 to <32 x i8>, !dbg !71 %910 = trunc <32 x i32> %902 to <32 x i8>, !dbg !71 %911 = trunc <32 x i32> %903 to <32 x i8>, !dbg !71 %912 = trunc <32 x i32> %904 to <32 x i8>, !dbg !71 %913 = trunc <32 x i32> %905 to <32 x i8>, !dbg !71 %914 = trunc <32 x i32> %906 to <32 x i8>, !dbg !71 %scevgep34 = getelementptr <32 x i8>, <32 x i8>* %lsr.iv3032, i64 -4, !dbg !71 store <32 x i8> %907, <32 x i8>* %scevgep34, align 32, !dbg !71 %scevgep37 = getelementptr <32 x i8>, <32 x i8>* %lsr.iv3032, i64 -3, !dbg !71 store <32 x i8> %908, <32 x i8>* %scevgep37, align 32, !dbg !71 %scevgep39 = getelementptr <32 x i8>, <32 x i8>* %lsr.iv3032, i64 -2, !dbg !71 store <32 x i8> %909, <32 x i8>* %scevgep39, align 32, !dbg !71 %scevgep38 = getelementptr <32 x i8>, <32 x i8>* %lsr.iv3032, i64 -1, !dbg !71 store <32 x i8> %910, <32 x i8>* %scevgep38, align 32, !dbg !71 store <32 x i8> %911, <32 x i8>* %lsr.iv3032, align 32, !dbg !71 %scevgep36 = getelementptr <32 x i8>, <32 x i8>* %lsr.iv3032, i64 1, !dbg !71 store <32 x i8> %912, <32 x i8>* %scevgep36, align 32, !dbg !71 %scevgep35 = getelementptr <32 x i8>, <32 x i8>* %lsr.iv3032, i64 2, !dbg !71 store <32 x i8> %913, <32 x i8>* %scevgep35, align 32, !dbg !71 %scevgep33 = getelementptr <32 x i8>, <32 x i8>* %lsr.iv3032, i64 3, !dbg !71 store <32 x i8> %914, <32 x i8>* %scevgep33, align 32, !dbg !71 %lsr.iv.next = add nsw i64 %lsr.iv, 8, !dbg !71 %scevgep31 = getelementptr i8, i8* %lsr.iv30, i64 256, !dbg !71 %scevgep42 = getelementptr i8, i8* %lsr.iv41, i64 128, !dbg !71 %915 = icmp ult i64 %lsr.iv.next, 88, !dbg !71 br i1 %915, label %409, label %916, !dbg !71 916: ; preds = %409 ret i32 0, !dbg !71 } ; Function Attrs: nofree nosync nounwind define internal i32 @main_dispatch_13(%iree_hal_executable_environment_v0_t* noalias nocapture nonnull readnone byref(%iree_hal_executable_environment_v0_t) align 16 %0, %iree_hal_executable_dispatch_state_v0_t* noalias nocapture nonnull readonly byref(%iree_hal_executable_dispatch_state_v0_t) align 16 %1, %iree_hal_executable_workgroup_state_v0_t* noalias nocapture nonnull readonly byref(%iree_hal_executable_workgroup_state_v0_t) align 16 %2) #0 !dbg !73 { %const = bitcast i64 6144 to i64, !dbg !74 %.elt19 = getelementptr inbounds %iree_hal_executable_dispatch_state_v0_t, %iree_hal_executable_dispatch_state_v0_t* %1, i64 0, i32 10, !dbg !77 %.unpack20 = load i8**, i8*** %.elt19, align 16, !dbg !77 %4 = load i8*, i8** %.unpack20, align 8, !dbg !77 %5 = getelementptr i8*, i8** %.unpack20, i64 1, !dbg !78 %6 = load i8*, i8** %5, align 8, !dbg !78 %7 = load %iree_hal_executable_workgroup_state_v0_t, %iree_hal_executable_workgroup_state_v0_t* %2, align 16, !dbg !78 %8 = extractvalue %iree_hal_executable_workgroup_state_v0_t %7, 0, !dbg !78 %9 = zext i32 %8 to i64, !dbg !78 %10 = extractvalue %iree_hal_executable_workgroup_state_v0_t %7, 1, !dbg !78 %11 = zext i32 %10 to i64, !dbg !78 %12 = extractvalue %iree_hal_executable_workgroup_state_v0_t %7, 2, !dbg !78 %13 = zext i16 %12 to i64, !dbg !78 %14 = shl nuw nsw i64 %9, 5, !dbg !78 %15 = mul nuw nsw i64 %13, %const, !dbg !78 %16 = shl nuw nsw i64 %11, 8, !dbg !78 %const_mat = add i64 %const, 512, !dbg !78 %17 = mul nuw nsw i64 %13, %const_mat, !dbg !78 %18 = add nuw nsw i64 %14, %16 %19 = add nuw nsw i64 %18, %15 %20 = add i64 %17, %16, !dbg !78 %21 = add i64 %20, %14, !dbg !78 %22 = add i64 %21, 47088, !dbg !78 %scevgep = getelementptr i8, i8* %6, i64 %22, !dbg !78 %scevgep32 = getelementptr i8, i8* %4, i64 %19, !dbg !78 br label %.preheader23, !dbg !78 .preheader23: ; preds = %3, %26 %lsr.iv33 = phi i8* [ %scevgep32, %3 ], [ %scevgep34, %26 ] %lsr.iv25 = phi i8* [ %scevgep, %3 ], [ %scevgep26, %26 ] %23 = phi i64 [ 0, %3 ], [ %27, %26 ] br label %.preheader, !dbg !78 .preheader: ; preds = %.preheader23, %.preheader %lsr.iv = phi i64 [ 0, %.preheader23 ], [ %lsr.iv.next, %.preheader ] %scevgep35 = getelementptr i8, i8* %lsr.iv33, i64 %lsr.iv, !dbg !78 %scevgep3536 = bitcast i8* %scevgep35 to <16 x i8>*, !dbg !78 %24 = load <16 x i8>, <16 x i8>* %scevgep3536, align 1, !dbg !78 %scevgep29 = getelementptr i8, i8* %lsr.iv25, i64 %lsr.iv, !dbg !78 %scevgep2930 = bitcast i8* %scevgep29 to <16 x i8>*, !dbg !78 %scevgep31 = getelementptr <16 x i8>, <16 x i8>* %scevgep2930, i64 -1, !dbg !78 store <16 x i8> %24, <16 x i8>* %scevgep31, align 1, !dbg !78 %scevgep37 = getelementptr i8, i8* %lsr.iv33, i64 %lsr.iv, !dbg !78 %scevgep3738 = bitcast i8* %scevgep37 to <16 x i8>*, !dbg !78 %scevgep39 = getelementptr <16 x i8>, <16 x i8>* %scevgep3738, i64 1, !dbg !78 %25 = load <16 x i8>, <16 x i8>* %scevgep39, align 1, !dbg !78 %scevgep27 = getelementptr i8, i8* %lsr.iv25, i64 %lsr.iv, !dbg !78 %scevgep2728 = bitcast i8* %scevgep27 to <16 x i8>*, !dbg !78 store <16 x i8> %25, <16 x i8>* %scevgep2728, align 1, !dbg !78 %lsr.iv.next = add nuw nsw i64 %lsr.iv, 32, !dbg !78 %exitcond.not = icmp eq i64 %lsr.iv.next, 256, !dbg !78 br i1 %exitcond.not, label %26, label %.preheader, !dbg !78 26: ; preds = %.preheader %27 = add nuw nsw i64 %23, 1, !dbg !78 %scevgep26 = getelementptr i8, i8* %lsr.iv25, i64 832, !dbg !78 %scevgep34 = getelementptr i8, i8* %lsr.iv33, i64 768, !dbg !78 %exitcond24.not = icmp eq i64 %27, 8, !dbg !78 br i1 %exitcond24.not, label %28, label %.preheader23, !dbg !78 28: ; preds = %26 ret i32 0, !dbg !78 } ; Function Attrs: nofree nosync nounwind define internal i32 @main_dispatch_14(%iree_hal_executable_environment_v0_t* noalias nocapture nonnull readnone byref(%iree_hal_executable_environment_v0_t) align 16 %0, %iree_hal_executable_dispatch_state_v0_t* noalias nocapture nonnull readonly byref(%iree_hal_executable_dispatch_state_v0_t) align 16 %1, %iree_hal_executable_workgroup_state_v0_t* noalias nocapture nonnull readonly byref(%iree_hal_executable_workgroup_state_v0_t) align 16 %2) #0 !dbg !79 { %.elt11 = getelementptr inbounds %iree_hal_executable_dispatch_state_v0_t, %iree_hal_executable_dispatch_state_v0_t* %1, i64 0, i32 4, !dbg !80 %.unpack12 = load i32, i32* %.elt11, align 4, !dbg !80 %4 = zext i32 %.unpack12 to i64, !dbg !80 %.elt13 = getelementptr inbounds %iree_hal_executable_dispatch_state_v0_t, %iree_hal_executable_dispatch_state_v0_t* %1, i64 0, i32 5, !dbg !80 %.unpack14 = load i32, i32* %.elt13, align 16, !dbg !80 %5 = zext i32 %.unpack14 to i64, !dbg !80 %.elt15 = getelementptr inbounds %iree_hal_executable_dispatch_state_v0_t, %iree_hal_executable_dispatch_state_v0_t* %1, i64 0, i32 6, !dbg !80 %.unpack16 = load i16, i16* %.elt15, align 4, !dbg !80 %.elt23 = getelementptr inbounds %iree_hal_executable_dispatch_state_v0_t, %iree_hal_executable_dispatch_state_v0_t* %1, i64 0, i32 10, !dbg !80 %.unpack24 = load i8**, i8*** %.elt23, align 16, !dbg !80 %6 = load i8*, i8** %.unpack24, align 8, !dbg !80 %7 = getelementptr i8*, i8** %.unpack24, i64 1, !dbg !80 %8 = load i8*, i8** %7, align 8, !dbg !80 %9 = getelementptr i8*, i8** %.unpack24, i64 2, !dbg !80 %10 = load i8*, i8** %9, align 8, !dbg !80 %11 = load %iree_hal_executable_workgroup_state_v0_t, %iree_hal_executable_workgroup_state_v0_t* %2, align 16, !dbg !80 %12 = extractvalue %iree_hal_executable_workgroup_state_v0_t %11, 2, !dbg !80 %13 = zext i16 %12 to i64, !dbg !80 %14 = zext i16 %.unpack16 to i64, !dbg !80 %15 = shl nuw nsw i64 %13, 3, !dbg !80 %16 = shl nuw nsw i64 %14, 3, !dbg !80 %17 = icmp ult i16 %12, 3, !dbg !80 br i1 %17, label %.lr.ph, label %._crit_edge, !dbg !80 .lr.ph: ; preds = %3 %18 = extractvalue %iree_hal_executable_workgroup_state_v0_t %11, 1, !dbg !80 %19 = zext i32 %18 to i64, !dbg !80 %20 = extractvalue %iree_hal_executable_workgroup_state_v0_t %11, 0, !dbg !80 %21 = zext i32 %20 to i64, !dbg !80 %22 = shl nuw nsw i64 %19, 3 %23 = shl nuw nsw i64 %5, 3 %24 = icmp ult i32 %18, 3 %25 = shl i64 %21, 5 %26 = shl i64 %4, 5 br i1 %24, label %.lr.ph.split.us, label %.lr.ph.split.preheader, !dbg !80 .lr.ph.split.preheader: ; preds = %.lr.ph br label %.lr.ph.split, !dbg !80 .lr.ph.split.us: ; preds = %.lr.ph %27 = icmp eq i32 %20, 0 br i1 %27, label %.lr.ph34.us.us.preheader, label %.lr.ph34.us.preheader, !dbg !80 .lr.ph34.us.preheader: ; preds = %.lr.ph.split.us br label %.lr.ph34.us, !dbg !80 .lr.ph34.us.us.preheader: ; preds = %.lr.ph.split.us %const226 = bitcast i64 67840 to i64, !dbg !80 %const = bitcast i64 6656 to i64, !dbg !80 %const_mat = add i64 %const, -512, !dbg !80 %28 = mul nuw nsw i64 %13, %const_mat, !dbg !80 %29 = shl i64 %19, 8, !dbg !80 %30 = add i64 %28, %29, !dbg !80 %31 = add i64 %30, %25, !dbg !80 %32 = shl nuw nsw i64 %31, 2, !dbg !80 %33 = add nuw nsw i64 %32, %const226, !dbg !80 %scevgep = getelementptr i8, i8* %10, i64 %33, !dbg !80 %34 = mul nuw nsw i64 %14, 24576, !dbg !80 %35 = shl nuw nsw i64 %5, 10, !dbg !80 %36 = shl nuw nsw i64 %4, 7, !dbg !80 %37 = mul nuw nsw i64 %13, 24576, !dbg !80 %38 = shl nuw nsw i64 %19, 10, !dbg !80 %39 = add i64 %37, %38, !dbg !80 %40 = shl nuw nsw i64 %21, 7, !dbg !80 %41 = add i64 %39, %40, !dbg !80 %const_mat227 = add i64 %const226, 64, !dbg !80 %42 = add i64 %41, %const_mat227, !dbg !80 %scevgep67 = getelementptr i8, i8* %10, i64 %42, !dbg !80 %43 = mul nuw nsw i64 %13, %const, !dbg !80 %44 = add i64 %43, %29, !dbg !80 %45 = add i64 %44, %25, !dbg !80 %46 = add i64 %45, 47936, !dbg !80 %scevgep171 = getelementptr i8, i8* %6, i64 %46, !dbg !80 %47 = mul nuw nsw i64 %14, %const, !dbg !80 %48 = shl nuw nsw i64 %5, 8, !dbg !80 br label %.lr.ph34.us.us, !dbg !80 .lr.ph34.us.us: ; preds = %.lr.ph34.us.us.preheader, %._crit_edge35.split.us.us.us %lsr.iv172 = phi i8* [ %scevgep171, %.lr.ph34.us.us.preheader ], [ %151, %._crit_edge35.split.us.us.us ] %lsr.iv68 = phi i8* [ %scevgep67, %.lr.ph34.us.us.preheader ], [ %150, %._crit_edge35.split.us.us.us ] %lsr.iv54 = phi i8* [ %scevgep, %.lr.ph34.us.us.preheader ], [ %149, %._crit_edge35.split.us.us.us ] %49 = phi i64 [ %148, %._crit_edge35.split.us.us.us ], [ %15, %.lr.ph34.us.us.preheader ] br label %.lr.ph.us.us.us, !dbg !80 .lr.ph.us.us.us: ; preds = %._crit_edge.us.us.us, %.lr.ph34.us.us %lsr.iv175 = phi i8* [ %143, %._crit_edge.us.us.us ], [ %lsr.iv172, %.lr.ph34.us.us ] %lsr.iv71 = phi i8* [ %142, %._crit_edge.us.us.us ], [ %lsr.iv68, %.lr.ph34.us.us ] %lsr.iv57 = phi i8* [ %141, %._crit_edge.us.us.us ], [ %lsr.iv54, %.lr.ph34.us.us ] %50 = phi i64 [ %22, %.lr.ph34.us.us ], [ %140, %._crit_edge.us.us.us ] br label %51, !dbg !80 51: ; preds = %53, %.lr.ph.us.us.us %lsr.iv178 = phi i8* [ %60, %53 ], [ %lsr.iv175, %.lr.ph.us.us.us ] %lsr.iv74 = phi i8* [ %59, %53 ], [ %lsr.iv71, %.lr.ph.us.us.us ] %lsr.iv60 = phi i8* [ %58, %53 ], [ %lsr.iv57, %.lr.ph.us.us.us ] %52 = phi i64 [ %25, %.lr.ph.us.us.us ], [ %57, %53 ] br label %.preheader31.us.us.us, !dbg !80 53: ; preds = %62 %54 = bitcast i8* %lsr.iv74 to i1*, !dbg !80 %55 = bitcast i8* %lsr.iv60 to i1*, !dbg !80 %56 = bitcast i8* %lsr.iv178 to i1*, !dbg !80 %57 = add i64 %52, %26, !dbg !80 %scevgep62 = getelementptr i1, i1* %55, i64 %36, !dbg !80 %58 = bitcast i1* %scevgep62 to i8*, !dbg !80 %scevgep76 = getelementptr i1, i1* %54, i64 %36, !dbg !80 %59 = bitcast i1* %scevgep76 to i8*, !dbg !80 %scevgep180 = getelementptr i1, i1* %56, i64 %26, !dbg !80 %60 = bitcast i1* %scevgep180 to i8*, !dbg !80 %61 = icmp slt i64 %57, 32, !dbg !80 br i1 %61, label %51, label %._crit_edge.us.us.us, !dbg !80 62: ; preds = %64 %63 = add nuw nsw i64 %135, 1, !dbg !80 %scevgep182 = getelementptr i8, i8* %lsr.iv181, i64 832, !dbg !80 %scevgep203 = getelementptr i8, i8* %lsr.iv202, i64 3072, !dbg !80 %exitcond45.not = icmp eq i64 %63, 8, !dbg !80 br i1 %exitcond45.not, label %53, label %.preheader30.us.us.us, !dbg !80 64: ; preds = %.preheader27.us.us.us %scevgep184 = getelementptr i8, i8* %lsr.iv183, i64 32, !dbg !80 %scevgep205 = getelementptr i8, i8* %lsr.iv204, i64 128, !dbg !80 %exitcond44.not = icmp eq i64 %134, 8, !dbg !80 br i1 %exitcond44.not, label %62, label %.preheader28.us.us.us, !dbg !80 65: ; preds = %.preheader29.us.us.us %66 = add nuw nsw i64 %136, 1, !dbg !80 %scevgep64 = getelementptr i8, i8* %lsr.iv63, i64 3072, !dbg !80 %scevgep78 = getelementptr i8, i8* %lsr.iv77, i64 3072, !dbg !80 %exitcond40.not = icmp eq i64 %66, 8, !dbg !80 br i1 %exitcond40.not, label %.preheader30.us.us.us.preheader, label %.preheader31.us.us.us, !dbg !80 .preheader30.us.us.us.preheader: ; preds = %65 br label %.preheader30.us.us.us, !dbg !80 .preheader27.us.us.us: ; preds = %.preheader28.us.us.us, %.preheader27.us.us.us %lsr.iv206 = phi i8* [ %lsr.iv204, %.preheader28.us.us.us ], [ %scevgep207, %.preheader27.us.us.us ] %67 = phi i64 [ 0, %.preheader28.us.us.us ], [ %132, %.preheader27.us.us.us ] %lsr.iv206208 = bitcast i8* %lsr.iv206 to i32* %scevgep186 = getelementptr i8, i8* %lsr.iv183, i64 %67, !dbg !80 %scevgep187 = getelementptr i8, i8* %scevgep186, i64 -1728, !dbg !80 %68 = load i8, i8* %scevgep187, align 1, !dbg !80 %scevgep209 = getelementptr i8, i8* %8, i64 %67, !dbg !80 %69 = load i8, i8* %scevgep209, align 1, !dbg !80 %70 = load i32, i32* %lsr.iv206208, align 4, !dbg !80 %71 = sext i8 %68 to i32 %72 = add nsw i32 %71, 128 %73 = sext i8 %69 to i32 %74 = mul nsw i32 %72, %73 %75 = add i32 %74, %70 store i32 %75, i32* %lsr.iv206208, align 4, !dbg !80 %scevgep188 = getelementptr i8, i8* %lsr.iv183, i64 %67, !dbg !80 %scevgep189 = getelementptr i8, i8* %scevgep188, i64 -1696, !dbg !80 %76 = load i8, i8* %scevgep189, align 1, !dbg !80 %scevgep222 = getelementptr i8, i8* %8, i64 %67, !dbg !80 %scevgep223 = getelementptr i8, i8* %scevgep222, i64 32, !dbg !80 %77 = load i8, i8* %scevgep223, align 1, !dbg !80 %78 = sext i8 %76 to i32 %79 = add nsw i32 %78, 128 %80 = sext i8 %77 to i32 %81 = mul nsw i32 %79, %80 %82 = add i32 %81, %75 store i32 %82, i32* %lsr.iv206208, align 4, !dbg !80 %scevgep190 = getelementptr i8, i8* %lsr.iv183, i64 %67, !dbg !80 %scevgep191 = getelementptr i8, i8* %scevgep190, i64 -1664, !dbg !80 %83 = load i8, i8* %scevgep191, align 1, !dbg !80 %scevgep224 = getelementptr i8, i8* %8, i64 %67, !dbg !80 %scevgep225 = getelementptr i8, i8* %scevgep224, i64 64, !dbg !80 %84 = load i8, i8* %scevgep225, align 1, !dbg !80 %85 = sext i8 %83 to i32 %86 = add nsw i32 %85, 128 %87 = sext i8 %84 to i32 %88 = mul nsw i32 %86, %87 %89 = add i32 %88, %82 store i32 %89, i32* %lsr.iv206208, align 4, !dbg !80 %scevgep192 = getelementptr i8, i8* %lsr.iv183, i64 %67, !dbg !80 %scevgep193 = getelementptr i8, i8* %scevgep192, i64 -896, !dbg !80 %90 = load i8, i8* %scevgep193, align 1, !dbg !80 %scevgep218 = getelementptr i8, i8* %8, i64 %67, !dbg !80 %scevgep219 = getelementptr i8, i8* %scevgep218, i64 96, !dbg !80 %91 = load i8, i8* %scevgep219, align 1, !dbg !80 %92 = sext i8 %90 to i32 %93 = add nsw i32 %92, 128 %94 = sext i8 %91 to i32 %95 = mul nsw i32 %93, %94 %96 = add i32 %95, %89 store i32 %96, i32* %lsr.iv206208, align 4, !dbg !80 %scevgep194 = getelementptr i8, i8* %lsr.iv183, i64 %67, !dbg !80 %scevgep195 = getelementptr i8, i8* %scevgep194, i64 -864, !dbg !80 %97 = load i8, i8* %scevgep195, align 1, !dbg !80 %scevgep216 = getelementptr i8, i8* %8, i64 %67, !dbg !80 %scevgep217 = getelementptr i8, i8* %scevgep216, i64 128, !dbg !80 %98 = load i8, i8* %scevgep217, align 1, !dbg !80 %99 = sext i8 %97 to i32 %100 = add nsw i32 %99, 128 %101 = sext i8 %98 to i32 %102 = mul nsw i32 %100, %101 %103 = add i32 %102, %96 store i32 %103, i32* %lsr.iv206208, align 4, !dbg !80 %scevgep196 = getelementptr i8, i8* %lsr.iv183, i64 %67, !dbg !80 %scevgep197 = getelementptr i8, i8* %scevgep196, i64 -832, !dbg !80 %104 = load i8, i8* %scevgep197, align 1, !dbg !80 %scevgep214 = getelementptr i8, i8* %8, i64 %67, !dbg !80 %scevgep215 = getelementptr i8, i8* %scevgep214, i64 160, !dbg !80 %105 = load i8, i8* %scevgep215, align 1, !dbg !80 %106 = sext i8 %104 to i32 %107 = add nsw i32 %106, 128 %108 = sext i8 %105 to i32 %109 = mul nsw i32 %107, %108 %110 = add i32 %109, %103 store i32 %110, i32* %lsr.iv206208, align 4, !dbg !80 %scevgep198 = getelementptr i8, i8* %lsr.iv183, i64 %67, !dbg !80 %scevgep199 = getelementptr i8, i8* %scevgep198, i64 -64, !dbg !80 %111 = load i8, i8* %scevgep199, align 1, !dbg !80 %scevgep220 = getelementptr i8, i8* %8, i64 %67, !dbg !80 %scevgep221 = getelementptr i8, i8* %scevgep220, i64 192, !dbg !80 %112 = load i8, i8* %scevgep221, align 1, !dbg !80 %113 = sext i8 %111 to i32 %114 = add nsw i32 %113, 128 %115 = sext i8 %112 to i32 %116 = mul nsw i32 %114, %115 %117 = add i32 %116, %110 store i32 %117, i32* %lsr.iv206208, align 4, !dbg !80 %scevgep200 = getelementptr i8, i8* %lsr.iv183, i64 %67, !dbg !80 %scevgep201 = getelementptr i8, i8* %scevgep200, i64 -32, !dbg !80 %118 = load i8, i8* %scevgep201, align 1, !dbg !80 %scevgep212 = getelementptr i8, i8* %8, i64 %67, !dbg !80 %scevgep213 = getelementptr i8, i8* %scevgep212, i64 224, !dbg !80 %119 = load i8, i8* %scevgep213, align 1, !dbg !80 %120 = sext i8 %118 to i32 %121 = add nsw i32 %120, 128 %122 = sext i8 %119 to i32 %123 = mul nsw i32 %121, %122 %124 = add i32 %123, %117 store i32 %124, i32* %lsr.iv206208, align 4, !dbg !80 %scevgep185 = getelementptr i8, i8* %lsr.iv183, i64 %67, !dbg !80 %125 = load i8, i8* %scevgep185, align 1, !dbg !80 %scevgep210 = getelementptr i8, i8* %8, i64 %67, !dbg !80 %scevgep211 = getelementptr i8, i8* %scevgep210, i64 256, !dbg !80 %126 = load i8, i8* %scevgep211, align 1, !dbg !80 %127 = sext i8 %125 to i32 %128 = add nsw i32 %127, 128 %129 = sext i8 %126 to i32 %130 = mul nsw i32 %128, %129 %131 = add i32 %130, %124 store i32 %131, i32* %lsr.iv206208, align 4, !dbg !80 %132 = add nuw nsw i64 %67, 1, !dbg !80 %scevgep207 = getelementptr i8, i8* %lsr.iv206, i64 4, !dbg !80 %exitcond43.not = icmp eq i64 %132, 32, !dbg !80 br i1 %exitcond43.not, label %64, label %.preheader27.us.us.us, !dbg !80 .preheader28.us.us.us: ; preds = %.preheader30.us.us.us, %64 %lsr.iv204 = phi i8* [ %lsr.iv202, %.preheader30.us.us.us ], [ %scevgep205, %64 ] %lsr.iv183 = phi i8* [ %lsr.iv181, %.preheader30.us.us.us ], [ %scevgep184, %64 ] %133 = phi i64 [ 0, %.preheader30.us.us.us ], [ %134, %64 ] %134 = add nuw nsw i64 %133, 1 br label %.preheader27.us.us.us, !dbg !80 .preheader29.us.us.us: ; preds = %.preheader31.us.us.us, %.preheader29.us.us.us %lsr.iv = phi i64 [ 0, %.preheader31.us.us.us ], [ %lsr.iv.next, %.preheader29.us.us.us ] %scevgep65 = getelementptr i8, i8* %lsr.iv63, i64 %lsr.iv, !dbg !80 %scevgep6566 = bitcast i8* %scevgep65 to i32*, !dbg !80 store i32 0, i32* %scevgep6566, align 4, !dbg !80 %scevgep81 = getelementptr i8, i8* %lsr.iv77, i64 %lsr.iv, !dbg !80 %scevgep8182 = bitcast i8* %scevgep81 to i32*, !dbg !80 %scevgep83 = getelementptr i32, i32* %scevgep8182, i64 -15, !dbg !80 store i32 0, i32* %scevgep83, align 4, !dbg !80 %scevgep93 = getelementptr i8, i8* %lsr.iv77, i64 %lsr.iv, !dbg !80 %scevgep9394 = bitcast i8* %scevgep93 to i32*, !dbg !80 %scevgep95 = getelementptr i32, i32* %scevgep9394, i64 -14, !dbg !80 store i32 0, i32* %scevgep95, align 4, !dbg !80 %scevgep96 = getelementptr i8, i8* %lsr.iv77, i64 %lsr.iv, !dbg !80 %scevgep9697 = bitcast i8* %scevgep96 to i32*, !dbg !80 %scevgep98 = getelementptr i32, i32* %scevgep9697, i64 -13, !dbg !80 store i32 0, i32* %scevgep98, align 4, !dbg !80 %scevgep99 = getelementptr i8, i8* %lsr.iv77, i64 %lsr.iv, !dbg !80 %scevgep99100 = bitcast i8* %scevgep99 to i32*, !dbg !80 %scevgep101 = getelementptr i32, i32* %scevgep99100, i64 -12, !dbg !80 store i32 0, i32* %scevgep101, align 4, !dbg !80 %scevgep102 = getelementptr i8, i8* %lsr.iv77, i64 %lsr.iv, !dbg !80 %scevgep102103 = bitcast i8* %scevgep102 to i32*, !dbg !80 %scevgep104 = getelementptr i32, i32* %scevgep102103, i64 -11, !dbg !80 store i32 0, i32* %scevgep104, align 4, !dbg !80 %scevgep105 = getelementptr i8, i8* %lsr.iv77, i64 %lsr.iv, !dbg !80 %scevgep105106 = bitcast i8* %scevgep105 to i32*, !dbg !80 %scevgep107 = getelementptr i32, i32* %scevgep105106, i64 -10, !dbg !80 store i32 0, i32* %scevgep107, align 4, !dbg !80 %scevgep108 = getelementptr i8, i8* %lsr.iv77, i64 %lsr.iv, !dbg !80 %scevgep108109 = bitcast i8* %scevgep108 to i32*, !dbg !80 %scevgep110 = getelementptr i32, i32* %scevgep108109, i64 -9, !dbg !80 store i32 0, i32* %scevgep110, align 4, !dbg !80 %scevgep111 = getelementptr i8, i8* %lsr.iv77, i64 %lsr.iv, !dbg !80 %scevgep111112 = bitcast i8* %scevgep111 to i32*, !dbg !80 %scevgep113 = getelementptr i32, i32* %scevgep111112, i64 -8, !dbg !80 store i32 0, i32* %scevgep113, align 4, !dbg !80 %scevgep114 = getelementptr i8, i8* %lsr.iv77, i64 %lsr.iv, !dbg !80 %scevgep114115 = bitcast i8* %scevgep114 to i32*, !dbg !80 %scevgep116 = getelementptr i32, i32* %scevgep114115, i64 -7, !dbg !80 store i32 0, i32* %scevgep116, align 4, !dbg !80 %scevgep117 = getelementptr i8, i8* %lsr.iv77, i64 %lsr.iv, !dbg !80 %scevgep117118 = bitcast i8* %scevgep117 to i32*, !dbg !80 %scevgep119 = getelementptr i32, i32* %scevgep117118, i64 -6, !dbg !80 store i32 0, i32* %scevgep119, align 4, !dbg !80 %scevgep120 = getelementptr i8, i8* %lsr.iv77, i64 %lsr.iv, !dbg !80 %scevgep120121 = bitcast i8* %scevgep120 to i32*, !dbg !80 %scevgep122 = getelementptr i32, i32* %scevgep120121, i64 -5, !dbg !80 store i32 0, i32* %scevgep122, align 4, !dbg !80 %scevgep123 = getelementptr i8, i8* %lsr.iv77, i64 %lsr.iv, !dbg !80 %scevgep123124 = bitcast i8* %scevgep123 to i32*, !dbg !80 %scevgep125 = getelementptr i32, i32* %scevgep123124, i64 -4, !dbg !80 store i32 0, i32* %scevgep125, align 4, !dbg !80 %scevgep126 = getelementptr i8, i8* %lsr.iv77, i64 %lsr.iv, !dbg !80 %scevgep126127 = bitcast i8* %scevgep126 to i32*, !dbg !80 %scevgep128 = getelementptr i32, i32* %scevgep126127, i64 -3, !dbg !80 store i32 0, i32* %scevgep128, align 4, !dbg !80 %scevgep129 = getelementptr i8, i8* %lsr.iv77, i64 %lsr.iv, !dbg !80 %scevgep129130 = bitcast i8* %scevgep129 to i32*, !dbg !80 %scevgep131 = getelementptr i32, i32* %scevgep129130, i64 -2, !dbg !80 store i32 0, i32* %scevgep131, align 4, !dbg !80 %scevgep132 = getelementptr i8, i8* %lsr.iv77, i64 %lsr.iv, !dbg !80 %scevgep132133 = bitcast i8* %scevgep132 to i32*, !dbg !80 %scevgep134 = getelementptr i32, i32* %scevgep132133, i64 -1, !dbg !80 store i32 0, i32* %scevgep134, align 4, !dbg !80 %scevgep79 = getelementptr i8, i8* %lsr.iv77, i64 %lsr.iv, !dbg !80 %scevgep7980 = bitcast i8* %scevgep79 to i32*, !dbg !80 store i32 0, i32* %scevgep7980, align 4, !dbg !80 %scevgep138 = getelementptr i8, i8* %lsr.iv77, i64 %lsr.iv, !dbg !80 %scevgep138139 = bitcast i8* %scevgep138 to i32*, !dbg !80 %scevgep140 = getelementptr i32, i32* %scevgep138139, i64 1, !dbg !80 store i32 0, i32* %scevgep140, align 4, !dbg !80 %scevgep141 = getelementptr i8, i8* %lsr.iv77, i64 %lsr.iv, !dbg !80 %scevgep141142 = bitcast i8* %scevgep141 to i32*, !dbg !80 %scevgep143 = getelementptr i32, i32* %scevgep141142, i64 2, !dbg !80 store i32 0, i32* %scevgep143, align 4, !dbg !80 %scevgep144 = getelementptr i8, i8* %lsr.iv77, i64 %lsr.iv, !dbg !80 %scevgep144145 = bitcast i8* %scevgep144 to i32*, !dbg !80 %scevgep146 = getelementptr i32, i32* %scevgep144145, i64 3, !dbg !80 store i32 0, i32* %scevgep146, align 4, !dbg !80 %scevgep147 = getelementptr i8, i8* %lsr.iv77, i64 %lsr.iv, !dbg !80 %scevgep147148 = bitcast i8* %scevgep147 to i32*, !dbg !80 %scevgep149 = getelementptr i32, i32* %scevgep147148, i64 4, !dbg !80 store i32 0, i32* %scevgep149, align 4, !dbg !80 %scevgep150 = getelementptr i8, i8* %lsr.iv77, i64 %lsr.iv, !dbg !80 %scevgep150151 = bitcast i8* %scevgep150 to i32*, !dbg !80 %scevgep152 = getelementptr i32, i32* %scevgep150151, i64 5, !dbg !80 store i32 0, i32* %scevgep152, align 4, !dbg !80 %scevgep153 = getelementptr i8, i8* %lsr.iv77, i64 %lsr.iv, !dbg !80 %scevgep153154 = bitcast i8* %scevgep153 to i32*, !dbg !80 %scevgep155 = getelementptr i32, i32* %scevgep153154, i64 6, !dbg !80 store i32 0, i32* %scevgep155, align 4, !dbg !80 %scevgep156 = getelementptr i8, i8* %lsr.iv77, i64 %lsr.iv, !dbg !80 %scevgep156157 = bitcast i8* %scevgep156 to i32*, !dbg !80 %scevgep158 = getelementptr i32, i32* %scevgep156157, i64 7, !dbg !80 store i32 0, i32* %scevgep158, align 4, !dbg !80 %scevgep159 = getelementptr i8, i8* %lsr.iv77, i64 %lsr.iv, !dbg !80 %scevgep159160 = bitcast i8* %scevgep159 to i32*, !dbg !80 %scevgep161 = getelementptr i32, i32* %scevgep159160, i64 8, !dbg !80 store i32 0, i32* %scevgep161, align 4, !dbg !80 %scevgep162 = getelementptr i8, i8* %lsr.iv77, i64 %lsr.iv, !dbg !80 %scevgep162163 = bitcast i8* %scevgep162 to i32*, !dbg !80 %scevgep164 = getelementptr i32, i32* %scevgep162163, i64 9, !dbg !80 store i32 0, i32* %scevgep164, align 4, !dbg !80 %scevgep165 = getelementptr i8, i8* %lsr.iv77, i64 %lsr.iv, !dbg !80 %scevgep165166 = bitcast i8* %scevgep165 to i32*, !dbg !80 %scevgep167 = getelementptr i32, i32* %scevgep165166, i64 10, !dbg !80 store i32 0, i32* %scevgep167, align 4, !dbg !80 %scevgep168 = getelementptr i8, i8* %lsr.iv77, i64 %lsr.iv, !dbg !80 %scevgep168169 = bitcast i8* %scevgep168 to i32*, !dbg !80 %scevgep170 = getelementptr i32, i32* %scevgep168169, i64 11, !dbg !80 store i32 0, i32* %scevgep170, align 4, !dbg !80 %scevgep135 = getelementptr i8, i8* %lsr.iv77, i64 %lsr.iv, !dbg !80 %scevgep135136 = bitcast i8* %scevgep135 to i32*, !dbg !80 %scevgep137 = getelementptr i32, i32* %scevgep135136, i64 12, !dbg !80 store i32 0, i32* %scevgep137, align 4, !dbg !80 %scevgep90 = getelementptr i8, i8* %lsr.iv77, i64 %lsr.iv, !dbg !80 %scevgep9091 = bitcast i8* %scevgep90 to i32*, !dbg !80 %scevgep92 = getelementptr i32, i32* %scevgep9091, i64 13, !dbg !80 store i32 0, i32* %scevgep92, align 4, !dbg !80 %scevgep87 = getelementptr i8, i8* %lsr.iv77, i64 %lsr.iv, !dbg !80 %scevgep8788 = bitcast i8* %scevgep87 to i32*, !dbg !80 %scevgep89 = getelementptr i32, i32* %scevgep8788, i64 14, !dbg !80 store i32 0, i32* %scevgep89, align 4, !dbg !80 %scevgep84 = getelementptr i8, i8* %lsr.iv77, i64 %lsr.iv, !dbg !80 %scevgep8485 = bitcast i8* %scevgep84 to i32*, !dbg !80 %scevgep86 = getelementptr i32, i32* %scevgep8485, i64 15, !dbg !80 store i32 0, i32* %scevgep86, align 4, !dbg !80 %lsr.iv.next = add nuw nsw i64 %lsr.iv, 128, !dbg !80 %exitcond.not = icmp eq i64 %lsr.iv.next, 1024, !dbg !80 br i1 %exitcond.not, label %65, label %.preheader29.us.us.us, !dbg !80 .preheader30.us.us.us: ; preds = %.preheader30.us.us.us.preheader, %62 %lsr.iv202 = phi i8* [ %lsr.iv60, %.preheader30.us.us.us.preheader ], [ %scevgep203, %62 ] %lsr.iv181 = phi i8* [ %lsr.iv178, %.preheader30.us.us.us.preheader ], [ %scevgep182, %62 ] %135 = phi i64 [ %63, %62 ], [ 0, %.preheader30.us.us.us.preheader ] br label %.preheader28.us.us.us, !dbg !80 .preheader31.us.us.us: ; preds = %65, %51 %lsr.iv77 = phi i8* [ %scevgep78, %65 ], [ %lsr.iv74, %51 ] %lsr.iv63 = phi i8* [ %scevgep64, %65 ], [ %lsr.iv60, %51 ] %136 = phi i64 [ 0, %51 ], [ %66, %65 ] br label %.preheader29.us.us.us, !dbg !80 ._crit_edge.us.us.us: ; preds = %53 %137 = bitcast i8* %lsr.iv71 to i1* %138 = bitcast i8* %lsr.iv57 to i1* %139 = bitcast i8* %lsr.iv175 to i1* %140 = add i64 %50, %23, !dbg !80 %scevgep59 = getelementptr i1, i1* %138, i64 %35, !dbg !80 %141 = bitcast i1* %scevgep59 to i8*, !dbg !80 %scevgep73 = getelementptr i1, i1* %137, i64 %35, !dbg !80 %142 = bitcast i1* %scevgep73 to i8*, !dbg !80 %scevgep177 = getelementptr i1, i1* %139, i64 %48, !dbg !80 %143 = bitcast i1* %scevgep177 to i8*, !dbg !80 %144 = icmp slt i64 %140, 24, !dbg !80 br i1 %144, label %.lr.ph.us.us.us, label %._crit_edge35.split.us.us.us, !dbg !80 ._crit_edge35.split.us.us.us: ; preds = %._crit_edge.us.us.us %145 = bitcast i8* %lsr.iv68 to i1* %146 = bitcast i8* %lsr.iv54 to i1* %147 = bitcast i8* %lsr.iv172 to i1* %148 = add i64 %49, %16, !dbg !80 %scevgep56 = getelementptr i1, i1* %146, i64 %34, !dbg !80 %149 = bitcast i1* %scevgep56 to i8*, !dbg !80 %scevgep70 = getelementptr i1, i1* %145, i64 %34, !dbg !80 %150 = bitcast i1* %scevgep70 to i8*, !dbg !80 %scevgep174 = getelementptr i1, i1* %147, i64 %47, !dbg !80 %151 = bitcast i1* %scevgep174 to i8*, !dbg !80 %152 = icmp slt i64 %148, 24, !dbg !80 br i1 %152, label %.lr.ph34.us.us, label %._crit_edge, !dbg !80 .lr.ph34.us: ; preds = %.lr.ph34.us.preheader, %._crit_edge35.split.us36 %153 = phi i64 [ %158, %._crit_edge35.split.us36 ], [ %15, %.lr.ph34.us.preheader ] br label %154, !dbg !80 154: ; preds = %.lr.ph34.us, %154 %155 = phi i64 [ %22, %.lr.ph34.us ], [ %156, %154 ] %156 = add i64 %155, %23, !dbg !80 %157 = icmp slt i64 %156, 24, !dbg !80 br i1 %157, label %154, label %._crit_edge35.split.us36, !dbg !80 ._crit_edge35.split.us36: ; preds = %154 %158 = add i64 %153, %16, !dbg !80 %159 = icmp slt i64 %158, 24, !dbg !80 br i1 %159, label %.lr.ph34.us, label %._crit_edge, !dbg !80 .lr.ph.split: ; preds = %.lr.ph.split.preheader, %.lr.ph.split %160 = phi i64 [ %161, %.lr.ph.split ], [ %15, %.lr.ph.split.preheader ] %161 = add i64 %160, %16, !dbg !80 %162 = icmp slt i64 %161, 24, !dbg !80 br i1 %162, label %.lr.ph.split, label %._crit_edge, !dbg !80 ._crit_edge: ; preds = %.lr.ph.split, %._crit_edge35.split.us36, %._crit_edge35.split.us.us.us, %3 ret i32 0, !dbg !80 } ; Function Attrs: nofree nosync nounwind define internal i32 @main_dispatch_15(%iree_hal_executable_environment_v0_t* noalias nocapture nonnull readnone byref(%iree_hal_executable_environment_v0_t) align 16 %0, %iree_hal_executable_dispatch_state_v0_t* noalias nocapture nonnull readonly byref(%iree_hal_executable_dispatch_state_v0_t) align 16 %1, %iree_hal_executable_workgroup_state_v0_t* noalias nocapture nonnull readonly byref(%iree_hal_executable_workgroup_state_v0_t) align 16 %2) #0 !dbg !83 { %.elt21 = getelementptr inbounds %iree_hal_executable_dispatch_state_v0_t, %iree_hal_executable_dispatch_state_v0_t* %1, i64 0, i32 10, !dbg !84 %.unpack22 = load i8**, i8*** %.elt21, align 16, !dbg !84 %4 = load i8*, i8** %.unpack22, align 8, !dbg !84 %5 = getelementptr i8, i8* %4, i64 67840, !dbg !84 %6 = getelementptr i8*, i8** %.unpack22, i64 1, !dbg !87 %7 = load i8*, i8** %6, align 8, !dbg !87 %8 = load %iree_hal_executable_workgroup_state_v0_t, %iree_hal_executable_workgroup_state_v0_t* %2, align 16, !dbg !87 %9 = extractvalue %iree_hal_executable_workgroup_state_v0_t %8, 0, !dbg !87 %10 = zext i32 %9 to i64, !dbg !87 %11 = extractvalue %iree_hal_executable_workgroup_state_v0_t %8, 1, !dbg !87 %12 = zext i32 %11 to i64, !dbg !87 %13 = extractvalue %iree_hal_executable_workgroup_state_v0_t %8, 2, !dbg !87 %14 = zext i16 %13 to i64, !dbg !87 %15 = shl nuw nsw i64 %10, 5, !dbg !87 %16 = mul nuw nsw i64 %14, 6144, !dbg !87 %17 = shl nuw nsw i64 %12, 8, !dbg !87 br label %.preheader27, !dbg !87 .preheader27: ; preds = %3, %215 %18 = phi i64 [ 0, %3 ], [ %216, %215 ] %19 = mul nuw nsw i64 %18, 768 br label %.preheader26, !dbg !87 .preheader26: ; preds = %.preheader27, %213 %20 = phi i64 [ 0, %.preheader27 ], [ %214, %213 ] %21 = shl i64 %20, 5 br label %.preheader25, !dbg !87 .preheader25: ; preds = %.preheader26, %.preheader25 %22 = phi i1 [ true, %.preheader26 ], [ false, %.preheader25 ] %23 = phi i64 [ 0, %.preheader26 ], [ 16, %.preheader25 ] %24 = bitcast i8* %5 to i32*, !dbg !84 %25 = or i64 %23, %15 %26 = getelementptr [32 x i32], [32 x i32]* @__constant_32xi32_0_0, i64 0, i64 %25, !dbg !88 %27 = load i32, i32* %26, align 16, !dbg !88 %28 = or i64 %25, 1, !dbg !87 %29 = getelementptr [32 x i32], [32 x i32]* @__constant_32xi32_0_0, i64 0, i64 %28, !dbg !88 %30 = load i32, i32* %29, align 4, !dbg !88 %31 = or i64 %25, 2, !dbg !87 %32 = getelementptr [32 x i32], [32 x i32]* @__constant_32xi32_0_0, i64 0, i64 %31, !dbg !88 %33 = load i32, i32* %32, align 8, !dbg !88 %34 = or i64 %25, 3, !dbg !87 %35 = getelementptr [32 x i32], [32 x i32]* @__constant_32xi32_0_0, i64 0, i64 %34, !dbg !88 %36 = load i32, i32* %35, align 4, !dbg !88 %37 = or i64 %25, 4, !dbg !87 %38 = getelementptr [32 x i32], [32 x i32]* @__constant_32xi32_0_0, i64 0, i64 %37, !dbg !88 %39 = load i32, i32* %38, align 16, !dbg !88 %40 = or i64 %25, 5, !dbg !87 %41 = getelementptr [32 x i32], [32 x i32]* @__constant_32xi32_0_0, i64 0, i64 %40, !dbg !88 %42 = load i32, i32* %41, align 4, !dbg !88 %43 = or i64 %25, 6, !dbg !87 %44 = getelementptr [32 x i32], [32 x i32]* @__constant_32xi32_0_0, i64 0, i64 %43, !dbg !88 %45 = load i32, i32* %44, align 8, !dbg !88 %46 = or i64 %25, 7, !dbg !87 %47 = getelementptr [32 x i32], [32 x i32]* @__constant_32xi32_0_0, i64 0, i64 %46, !dbg !88 %48 = load i32, i32* %47, align 4, !dbg !88 %49 = or i64 %25, 8, !dbg !87 %50 = getelementptr [32 x i32], [32 x i32]* @__constant_32xi32_0_0, i64 0, i64 %49, !dbg !88 %51 = load i32, i32* %50, align 16, !dbg !88 %52 = or i64 %25, 9, !dbg !87 %53 = getelementptr [32 x i32], [32 x i32]* @__constant_32xi32_0_0, i64 0, i64 %52, !dbg !88 %54 = load i32, i32* %53, align 4, !dbg !88 %55 = or i64 %25, 10, !dbg !87 %56 = getelementptr [32 x i32], [32 x i32]* @__constant_32xi32_0_0, i64 0, i64 %55, !dbg !88 %57 = load i32, i32* %56, align 8, !dbg !88 %58 = or i64 %25, 11, !dbg !87 %59 = getelementptr [32 x i32], [32 x i32]* @__constant_32xi32_0_0, i64 0, i64 %58, !dbg !88 %60 = load i32, i32* %59, align 4, !dbg !88 %61 = or i64 %25, 12, !dbg !87 %62 = getelementptr [32 x i32], [32 x i32]* @__constant_32xi32_0_0, i64 0, i64 %61, !dbg !88 %63 = load i32, i32* %62, align 16, !dbg !88 %64 = or i64 %25, 13, !dbg !87 %65 = getelementptr [32 x i32], [32 x i32]* @__constant_32xi32_0_0, i64 0, i64 %64, !dbg !88 %66 = load i32, i32* %65, align 4, !dbg !88 %67 = or i64 %25, 14, !dbg !87 %68 = getelementptr [32 x i32], [32 x i32]* @__constant_32xi32_0_0, i64 0, i64 %67, !dbg !88 %69 = load i32, i32* %68, align 8, !dbg !88 %70 = or i64 %25, 15, !dbg !87 %71 = getelementptr [32 x i32], [32 x i32]* @__constant_32xi32_0_0, i64 0, i64 %70, !dbg !88 %72 = load i32, i32* %71, align 4, !dbg !88 %73 = add nuw nsw i64 %25, %17, !dbg !87 %74 = add nuw nsw i64 %73, %16, !dbg !87 %75 = add nuw nsw i64 %74, %19, !dbg !87 %76 = add nuw nsw i64 %75, %21, !dbg !87 %77 = getelementptr i32, i32* %24, i64 %76, !dbg !87 %78 = bitcast i32* %77 to <16 x i32>*, !dbg !87 %79 = load <16 x i32>, <16 x i32>* %78, align 4, !dbg !87 %80 = getelementptr [32 x i32], [32 x i32]* @__constant_32xi32_1, i64 0, i64 %25, !dbg !87 %81 = load i32, i32* %80, align 16, !dbg !87 %82 = getelementptr [32 x i32], [32 x i32]* @__constant_32xi32_1, i64 0, i64 %28, !dbg !87 %83 = load i32, i32* %82, align 4, !dbg !87 %84 = getelementptr [32 x i32], [32 x i32]* @__constant_32xi32_1, i64 0, i64 %31, !dbg !87 %85 = load i32, i32* %84, align 8, !dbg !87 %86 = getelementptr [32 x i32], [32 x i32]* @__constant_32xi32_1, i64 0, i64 %34, !dbg !87 %87 = load i32, i32* %86, align 4, !dbg !87 %88 = getelementptr [32 x i32], [32 x i32]* @__constant_32xi32_1, i64 0, i64 %37, !dbg !87 %89 = load i32, i32* %88, align 16, !dbg !87 %90 = getelementptr [32 x i32], [32 x i32]* @__constant_32xi32_1, i64 0, i64 %40, !dbg !87 %91 = load i32, i32* %90, align 4, !dbg !87 %92 = getelementptr [32 x i32], [32 x i32]* @__constant_32xi32_1, i64 0, i64 %43, !dbg !87 %93 = load i32, i32* %92, align 8, !dbg !87 %94 = getelementptr [32 x i32], [32 x i32]* @__constant_32xi32_1, i64 0, i64 %46, !dbg !87 %95 = load i32, i32* %94, align 4, !dbg !87 %96 = getelementptr [32 x i32], [32 x i32]* @__constant_32xi32_1, i64 0, i64 %49, !dbg !87 %97 = load i32, i32* %96, align 16, !dbg !87 %98 = getelementptr [32 x i32], [32 x i32]* @__constant_32xi32_1, i64 0, i64 %52, !dbg !87 %99 = load i32, i32* %98, align 4, !dbg !87 %100 = getelementptr [32 x i32], [32 x i32]* @__constant_32xi32_1, i64 0, i64 %55, !dbg !87 %101 = load i32, i32* %100, align 8, !dbg !87 %102 = getelementptr [32 x i32], [32 x i32]* @__constant_32xi32_1, i64 0, i64 %58, !dbg !87 %103 = load i32, i32* %102, align 4, !dbg !87 %104 = getelementptr [32 x i32], [32 x i32]* @__constant_32xi32_1, i64 0, i64 %61, !dbg !87 %105 = load i32, i32* %104, align 16, !dbg !87 %106 = getelementptr [32 x i32], [32 x i32]* @__constant_32xi32_1, i64 0, i64 %64, !dbg !87 %107 = load i32, i32* %106, align 4, !dbg !87 %108 = getelementptr [32 x i32], [32 x i32]* @__constant_32xi32_1, i64 0, i64 %67, !dbg !87 %109 = load i32, i32* %108, align 8, !dbg !87 %110 = getelementptr [32 x i32], [32 x i32]* @__constant_32xi32_1, i64 0, i64 %70, !dbg !87 %111 = load i32, i32* %110, align 4, !dbg !87 %112 = insertelement <16 x i32> , i32 %27, i64 0, !dbg !87 %113 = insertelement <16 x i32> %112, i32 %30, i64 1, !dbg !87 %114 = insertelement <16 x i32> %113, i32 %33, i64 2, !dbg !87 %115 = insertelement <16 x i32> %114, i32 %36, i64 3, !dbg !87 %116 = insertelement <16 x i32> %115, i32 %39, i64 4, !dbg !87 %117 = insertelement <16 x i32> %116, i32 %42, i64 5, !dbg !87 %118 = insertelement <16 x i32> %117, i32 %45, i64 6, !dbg !87 %119 = insertelement <16 x i32> %118, i32 %48, i64 7, !dbg !87 %120 = insertelement <16 x i32> %119, i32 %51, i64 8, !dbg !87 %121 = insertelement <16 x i32> %120, i32 %54, i64 9, !dbg !87 %122 = insertelement <16 x i32> %121, i32 %57, i64 10, !dbg !87 %123 = insertelement <16 x i32> %122, i32 %60, i64 11, !dbg !87 %124 = insertelement <16 x i32> %123, i32 %63, i64 12, !dbg !87 %125 = insertelement <16 x i32> %124, i32 %66, i64 13, !dbg !87 %126 = insertelement <16 x i32> %125, i32 %69, i64 14, !dbg !87 %127 = getelementptr [32 x i8], [32 x i8]* @__constant_32xi8_0, i64 0, i64 %25, !dbg !87 %128 = load i8, i8* %127, align 16, !dbg !87 %129 = insertelement <16 x i8> , i8 %128, i64 0, !dbg !87 %130 = getelementptr [32 x i8], [32 x i8]* @__constant_32xi8_0, i64 0, i64 %28, !dbg !87 %131 = load i8, i8* %130, align 1, !dbg !87 %132 = insertelement <16 x i8> %129, i8 %131, i64 1, !dbg !87 %133 = getelementptr [32 x i8], [32 x i8]* @__constant_32xi8_0, i64 0, i64 %31, !dbg !87 %134 = load i8, i8* %133, align 2, !dbg !87 %135 = insertelement <16 x i8> %132, i8 %134, i64 2, !dbg !87 %136 = getelementptr [32 x i8], [32 x i8]* @__constant_32xi8_0, i64 0, i64 %34, !dbg !87 %137 = load i8, i8* %136, align 1, !dbg !87 %138 = insertelement <16 x i8> %135, i8 %137, i64 3, !dbg !87 %139 = getelementptr [32 x i8], [32 x i8]* @__constant_32xi8_0, i64 0, i64 %37, !dbg !87 %140 = load i8, i8* %139, align 4, !dbg !87 %141 = insertelement <16 x i8> %138, i8 %140, i64 4, !dbg !87 %142 = getelementptr [32 x i8], [32 x i8]* @__constant_32xi8_0, i64 0, i64 %40, !dbg !87 %143 = load i8, i8* %142, align 1, !dbg !87 %144 = insertelement <16 x i8> %141, i8 %143, i64 5, !dbg !87 %145 = getelementptr [32 x i8], [32 x i8]* @__constant_32xi8_0, i64 0, i64 %43, !dbg !87 %146 = load i8, i8* %145, align 2, !dbg !87 %147 = insertelement <16 x i8> %144, i8 %146, i64 6, !dbg !87 %148 = getelementptr [32 x i8], [32 x i8]* @__constant_32xi8_0, i64 0, i64 %46, !dbg !87 %149 = load i8, i8* %148, align 1, !dbg !87 %150 = insertelement <16 x i8> %147, i8 %149, i64 7, !dbg !87 %151 = getelementptr [32 x i8], [32 x i8]* @__constant_32xi8_0, i64 0, i64 %49, !dbg !87 %152 = load i8, i8* %151, align 8, !dbg !87 %153 = insertelement <16 x i8> %150, i8 %152, i64 8, !dbg !87 %154 = getelementptr [32 x i8], [32 x i8]* @__constant_32xi8_0, i64 0, i64 %52, !dbg !87 %155 = load i8, i8* %154, align 1, !dbg !87 %156 = insertelement <16 x i8> %153, i8 %155, i64 9, !dbg !87 %157 = getelementptr [32 x i8], [32 x i8]* @__constant_32xi8_0, i64 0, i64 %55, !dbg !87 %158 = load i8, i8* %157, align 2, !dbg !87 %159 = insertelement <16 x i8> %156, i8 %158, i64 10, !dbg !87 %160 = getelementptr [32 x i8], [32 x i8]* @__constant_32xi8_0, i64 0, i64 %58, !dbg !87 %161 = load i8, i8* %160, align 1, !dbg !87 %162 = insertelement <16 x i8> %159, i8 %161, i64 11, !dbg !87 %163 = getelementptr [32 x i8], [32 x i8]* @__constant_32xi8_0, i64 0, i64 %61, !dbg !87 %164 = load i8, i8* %163, align 4, !dbg !87 %165 = insertelement <16 x i8> %162, i8 %164, i64 12, !dbg !87 %166 = getelementptr [32 x i8], [32 x i8]* @__constant_32xi8_0, i64 0, i64 %64, !dbg !87 %167 = load i8, i8* %166, align 1, !dbg !87 %168 = insertelement <16 x i8> %165, i8 %167, i64 13, !dbg !87 %169 = getelementptr [32 x i8], [32 x i8]* @__constant_32xi8_0, i64 0, i64 %67, !dbg !87 %170 = load i8, i8* %169, align 2, !dbg !87 %171 = insertelement <16 x i8> %168, i8 %170, i64 14, !dbg !87 %172 = getelementptr [32 x i8], [32 x i8]* @__constant_32xi8_0, i64 0, i64 %70, !dbg !87 %173 = load i8, i8* %172, align 1, !dbg !87 %174 = insertelement <16 x i8> %171, i8 %173, i64 15, !dbg !87 %175 = insertelement <16 x i32> , i32 %81, i64 0, !dbg !87 %176 = insertelement <16 x i32> %175, i32 %83, i64 1, !dbg !87 %177 = insertelement <16 x i32> %176, i32 %85, i64 2, !dbg !87 %178 = insertelement <16 x i32> %177, i32 %87, i64 3, !dbg !87 %179 = insertelement <16 x i32> %178, i32 %89, i64 4, !dbg !87 %180 = insertelement <16 x i32> %179, i32 %91, i64 5, !dbg !87 %181 = insertelement <16 x i32> %180, i32 %93, i64 6, !dbg !87 %182 = insertelement <16 x i32> %181, i32 %95, i64 7, !dbg !87 %183 = insertelement <16 x i32> %182, i32 %97, i64 8, !dbg !87 %184 = insertelement <16 x i32> %183, i32 %99, i64 9, !dbg !87 %185 = insertelement <16 x i32> %184, i32 %101, i64 10, !dbg !87 %186 = insertelement <16 x i32> %185, i32 %103, i64 11, !dbg !87 %187 = insertelement <16 x i32> %186, i32 %105, i64 12, !dbg !87 %188 = insertelement <16 x i32> %187, i32 %107, i64 13, !dbg !87 %189 = insertelement <16 x i32> %188, i32 %109, i64 14, !dbg !87 %190 = insertelement <16 x i32> %189, i32 %111, i64 15, !dbg !87 %191 = insertelement <16 x i32> %126, i32 %72, i64 15, !dbg !87 %192 = add <16 x i32> %79, %191, !dbg !84 %193 = sext <16 x i32> %192 to <16 x i64>, !dbg !87 %194 = sext <16 x i32> %190 to <16 x i64>, !dbg !87 %195 = mul nsw <16 x i64> %194, %193, !dbg !87 %196 = zext <16 x i8> %174 to <16 x i64>, !dbg !87 %197 = shl <16 x i64> , %196, !dbg !87 %198 = lshr <16 x i64> %197, , !dbg !87 %199 = icmp sgt <16 x i32> %192, , !dbg !87 %200 = select <16 x i1> %199, <16 x i64> , <16 x i64> , !dbg !87 %201 = icmp ugt <16 x i8> %174, , !dbg !87 %202 = select <16 x i1> %201, <16 x i64> %200, <16 x i64> zeroinitializer, !dbg !87 %203 = add <16 x i64> %202, %195, !dbg !87 %204 = add <16 x i64> %203, %198, !dbg !87 %205 = ashr <16 x i64> %204, %196, !dbg !87 %206 = trunc <16 x i64> %205 to <16 x i32>, !dbg !87 %207 = add <16 x i32> %206, , !dbg !87 %208 = tail call <16 x i32> @llvm.smax.v16i32(<16 x i32> %207, <16 x i32> ), !dbg !87 %209 = tail call <16 x i32> @llvm.smin.v16i32(<16 x i32> %208, <16 x i32> ), !dbg !87 %210 = trunc <16 x i32> %209 to <16 x i8>, !dbg !87 %211 = getelementptr i8, i8* %7, i64 %76, !dbg !87 %212 = bitcast i8* %211 to <16 x i8>*, !dbg !87 store <16 x i8> %210, <16 x i8>* %212, align 1, !dbg !87 br i1 %22, label %.preheader25, label %213, !dbg !87 213: ; preds = %.preheader25 %214 = add nuw nsw i64 %20, 1, !dbg !87 %exitcond.not = icmp eq i64 %214, 8, !dbg !87 br i1 %exitcond.not, label %215, label %.preheader26, !dbg !87 215: ; preds = %213 %216 = add nuw nsw i64 %18, 1, !dbg !87 %exitcond32.not = icmp eq i64 %216, 8, !dbg !87 br i1 %exitcond32.not, label %217, label %.preheader27, !dbg !87 217: ; preds = %215 ret i32 0, !dbg !87 } ; Function Attrs: nofree nosync nounwind define internal i32 @main_dispatch_16(%iree_hal_executable_environment_v0_t* noalias nocapture nonnull readnone byref(%iree_hal_executable_environment_v0_t) align 16 %0, %iree_hal_executable_dispatch_state_v0_t* noalias nocapture nonnull readonly byref(%iree_hal_executable_dispatch_state_v0_t) align 16 %1, %iree_hal_executable_workgroup_state_v0_t* noalias nocapture nonnull readonly byref(%iree_hal_executable_workgroup_state_v0_t) align 16 %2) #0 !dbg !89 { %.elt19 = getelementptr inbounds %iree_hal_executable_dispatch_state_v0_t, %iree_hal_executable_dispatch_state_v0_t* %1, i64 0, i32 10, !dbg !90 %.unpack20 = load i8**, i8*** %.elt19, align 16, !dbg !90 %4 = load i8*, i8** %.unpack20, align 8, !dbg !90 %5 = getelementptr i8*, i8** %.unpack20, i64 1, !dbg !90 %6 = load i8*, i8** %5, align 8, !dbg !90 %7 = getelementptr i8, i8* %6, i64 18432, !dbg !90 %8 = bitcast %iree_hal_executable_workgroup_state_v0_t* %2 to i32*, !dbg !90 %9 = load i32, i32* %8, align 16, !dbg !90 %10 = zext i32 %9 to i64, !dbg !90 %11 = shl nuw nsw i64 %10, 4, !dbg !90 %12 = add nuw nsw i64 %11, 215296, !dbg !90 %scevgep = getelementptr i8, i8* %4, i64 %12, !dbg !90 br label %13, !dbg !90 13: ; preds = %3, %13 %lsr.iv = phi i64 [ 0, %3 ], [ %lsr.iv.next, %13 ] %14 = phi <16 x i32> [ zeroinitializer, %3 ], [ %17, %13 ] %scevgep23 = getelementptr i8, i8* %scevgep, i64 %lsr.iv, !dbg !90 %scevgep2324 = bitcast i8* %scevgep23 to <16 x i8>*, !dbg !90 %15 = load <16 x i8>, <16 x i8>* %scevgep2324, align 16, !dbg !90 %16 = sext <16 x i8> %15 to <16 x i32>, !dbg !90 %17 = add <16 x i32> %14, %16, !dbg !90 %lsr.iv.next = add nuw nsw i64 %lsr.iv, 32, !dbg !90 %exitcond.not = icmp eq i64 %lsr.iv.next, 1024, !dbg !90 br i1 %exitcond.not, label %18, label %13, !dbg !90 18: ; preds = %13 %19 = bitcast i8* %7 to i32*, !dbg !90 %20 = getelementptr i32, i32* %19, i64 %11, !dbg !90 %21 = bitcast i32* %20 to <16 x i32>*, !dbg !90 store <16 x i32> %17, <16 x i32>* %21, align 64, !dbg !90 ret i32 0, !dbg !90 } ; Function Attrs: nofree nosync nounwind define internal i32 @main_dispatch_17(%iree_hal_executable_environment_v0_t* noalias nocapture nonnull readnone byref(%iree_hal_executable_environment_v0_t) align 16 %0, %iree_hal_executable_dispatch_state_v0_t* noalias nocapture nonnull readonly byref(%iree_hal_executable_dispatch_state_v0_t) align 16 %1, %iree_hal_executable_workgroup_state_v0_t* noalias nocapture nonnull readonly byref(%iree_hal_executable_workgroup_state_v0_t) align 16 %2) #0 !dbg !93 { .preheader: %.elt23 = getelementptr inbounds %iree_hal_executable_dispatch_state_v0_t, %iree_hal_executable_dispatch_state_v0_t* %1, i64 0, i32 10, !dbg !94 %.unpack24 = load i8**, i8*** %.elt23, align 16, !dbg !94 %3 = load i8*, i8** %.unpack24, align 8, !dbg !94 %4 = getelementptr i8*, i8** %.unpack24, i64 1, !dbg !94 %5 = load i8*, i8** %4, align 8, !dbg !94 %6 = getelementptr i8, i8* %5, i64 215296, !dbg !94 %7 = getelementptr i8*, i8** %.unpack24, i64 2, !dbg !97 %8 = load i8*, i8** %7, align 8, !dbg !97 %9 = getelementptr i8, i8* %8, i64 18560, !dbg !97 %10 = load %iree_hal_executable_workgroup_state_v0_t, %iree_hal_executable_workgroup_state_v0_t* %2, align 16, !dbg !97 %11 = extractvalue %iree_hal_executable_workgroup_state_v0_t %10, 0, !dbg !97 %12 = zext i32 %11 to i64, !dbg !97 %13 = extractvalue %iree_hal_executable_workgroup_state_v0_t %10, 1, !dbg !97 %14 = zext i32 %13 to i64, !dbg !97 %15 = shl nuw nsw i64 %12, 5, !dbg !97 %16 = mul nuw nsw i64 %14, 3072, !dbg !94 %17 = getelementptr [32 x i32], [32 x i32]* @__constant_32xi32_0_1, i64 0, i64 %15, !dbg !98 %18 = load i32, i32* %17, align 16, !dbg !98 %19 = or i64 %15, 1, !dbg !97 %20 = getelementptr [32 x i32], [32 x i32]* @__constant_32xi32_0_1, i64 0, i64 %19, !dbg !98 %21 = load i32, i32* %20, align 4, !dbg !98 %22 = or i64 %15, 2, !dbg !97 %23 = getelementptr [32 x i32], [32 x i32]* @__constant_32xi32_0_1, i64 0, i64 %22, !dbg !98 %24 = load i32, i32* %23, align 8, !dbg !98 %25 = or i64 %15, 3, !dbg !97 %26 = getelementptr [32 x i32], [32 x i32]* @__constant_32xi32_0_1, i64 0, i64 %25, !dbg !98 %27 = load i32, i32* %26, align 4, !dbg !98 %28 = or i64 %15, 4, !dbg !97 %29 = getelementptr [32 x i32], [32 x i32]* @__constant_32xi32_0_1, i64 0, i64 %28, !dbg !98 %30 = load i32, i32* %29, align 16, !dbg !98 %31 = or i64 %15, 5, !dbg !97 %32 = getelementptr [32 x i32], [32 x i32]* @__constant_32xi32_0_1, i64 0, i64 %31, !dbg !98 %33 = load i32, i32* %32, align 4, !dbg !98 %34 = or i64 %15, 6, !dbg !97 %35 = getelementptr [32 x i32], [32 x i32]* @__constant_32xi32_0_1, i64 0, i64 %34, !dbg !98 %36 = load i32, i32* %35, align 8, !dbg !98 %37 = or i64 %15, 7, !dbg !97 %38 = getelementptr [32 x i32], [32 x i32]* @__constant_32xi32_0_1, i64 0, i64 %37, !dbg !98 %39 = load i32, i32* %38, align 4, !dbg !98 %40 = or i64 %15, 8, !dbg !97 %41 = getelementptr [32 x i32], [32 x i32]* @__constant_32xi32_0_1, i64 0, i64 %40, !dbg !98 %42 = load i32, i32* %41, align 16, !dbg !98 %43 = or i64 %15, 9, !dbg !97 %44 = getelementptr [32 x i32], [32 x i32]* @__constant_32xi32_0_1, i64 0, i64 %43, !dbg !98 %45 = load i32, i32* %44, align 4, !dbg !98 %46 = or i64 %15, 10, !dbg !97 %47 = getelementptr [32 x i32], [32 x i32]* @__constant_32xi32_0_1, i64 0, i64 %46, !dbg !98 %48 = load i32, i32* %47, align 8, !dbg !98 %49 = or i64 %15, 11, !dbg !97 %50 = getelementptr [32 x i32], [32 x i32]* @__constant_32xi32_0_1, i64 0, i64 %49, !dbg !98 %51 = load i32, i32* %50, align 4, !dbg !98 %52 = or i64 %15, 12, !dbg !97 %53 = getelementptr [32 x i32], [32 x i32]* @__constant_32xi32_0_1, i64 0, i64 %52, !dbg !98 %54 = load i32, i32* %53, align 16, !dbg !98 %55 = or i64 %15, 13, !dbg !97 %56 = getelementptr [32 x i32], [32 x i32]* @__constant_32xi32_0_1, i64 0, i64 %55, !dbg !98 %57 = load i32, i32* %56, align 4, !dbg !98 %58 = or i64 %15, 14, !dbg !97 %59 = getelementptr [32 x i32], [32 x i32]* @__constant_32xi32_0_1, i64 0, i64 %58, !dbg !98 %60 = load i32, i32* %59, align 8, !dbg !98 %61 = or i64 %15, 15, !dbg !97 %62 = getelementptr [32 x i32], [32 x i32]* @__constant_32xi32_0_1, i64 0, i64 %61, !dbg !98 %63 = load i32, i32* %62, align 4, !dbg !98 %64 = or i64 %15, 16, !dbg !97 %65 = getelementptr [32 x i32], [32 x i32]* @__constant_32xi32_0_1, i64 0, i64 %64, !dbg !98 %66 = load i32, i32* %65, align 16, !dbg !98 %67 = or i64 %15, 17, !dbg !97 %68 = getelementptr [32 x i32], [32 x i32]* @__constant_32xi32_0_1, i64 0, i64 %67, !dbg !98 %69 = load i32, i32* %68, align 4, !dbg !98 %70 = or i64 %15, 18, !dbg !97 %71 = getelementptr [32 x i32], [32 x i32]* @__constant_32xi32_0_1, i64 0, i64 %70, !dbg !98 %72 = load i32, i32* %71, align 8, !dbg !98 %73 = or i64 %15, 19, !dbg !97 %74 = getelementptr [32 x i32], [32 x i32]* @__constant_32xi32_0_1, i64 0, i64 %73, !dbg !98 %75 = load i32, i32* %74, align 4, !dbg !98 %76 = or i64 %15, 20, !dbg !97 %77 = getelementptr [32 x i32], [32 x i32]* @__constant_32xi32_0_1, i64 0, i64 %76, !dbg !98 %78 = load i32, i32* %77, align 16, !dbg !98 %79 = or i64 %15, 21, !dbg !97 %80 = getelementptr [32 x i32], [32 x i32]* @__constant_32xi32_0_1, i64 0, i64 %79, !dbg !98 %81 = load i32, i32* %80, align 4, !dbg !98 %82 = or i64 %15, 22, !dbg !97 %83 = getelementptr [32 x i32], [32 x i32]* @__constant_32xi32_0_1, i64 0, i64 %82, !dbg !98 %84 = load i32, i32* %83, align 8, !dbg !98 %85 = or i64 %15, 23, !dbg !97 %86 = getelementptr [32 x i32], [32 x i32]* @__constant_32xi32_0_1, i64 0, i64 %85, !dbg !98 %87 = load i32, i32* %86, align 4, !dbg !98 %88 = or i64 %15, 24, !dbg !97 %89 = getelementptr [32 x i32], [32 x i32]* @__constant_32xi32_0_1, i64 0, i64 %88, !dbg !98 %90 = load i32, i32* %89, align 16, !dbg !98 %91 = or i64 %15, 25, !dbg !97 %92 = getelementptr [32 x i32], [32 x i32]* @__constant_32xi32_0_1, i64 0, i64 %91, !dbg !98 %93 = load i32, i32* %92, align 4, !dbg !98 %94 = or i64 %15, 26, !dbg !97 %95 = getelementptr [32 x i32], [32 x i32]* @__constant_32xi32_0_1, i64 0, i64 %94, !dbg !98 %96 = load i32, i32* %95, align 8, !dbg !98 %97 = or i64 %15, 27, !dbg !97 %98 = getelementptr [32 x i32], [32 x i32]* @__constant_32xi32_0_1, i64 0, i64 %97, !dbg !98 %99 = load i32, i32* %98, align 4, !dbg !98 %100 = or i64 %15, 28, !dbg !97 %101 = getelementptr [32 x i32], [32 x i32]* @__constant_32xi32_0_1, i64 0, i64 %100, !dbg !98 %102 = load i32, i32* %101, align 16, !dbg !98 %103 = or i64 %15, 29, !dbg !97 %104 = getelementptr [32 x i32], [32 x i32]* @__constant_32xi32_0_1, i64 0, i64 %103, !dbg !98 %105 = load i32, i32* %104, align 4, !dbg !98 %106 = or i64 %15, 30, !dbg !97 %107 = getelementptr [32 x i32], [32 x i32]* @__constant_32xi32_0_1, i64 0, i64 %106, !dbg !98 %108 = load i32, i32* %107, align 8, !dbg !98 %109 = or i64 %15, 31, !dbg !97 %110 = getelementptr [32 x i32], [32 x i32]* @__constant_32xi32_0_1, i64 0, i64 %109, !dbg !98 %111 = load i32, i32* %110, align 4, !dbg !98 %112 = getelementptr i8, i8* %3, i64 18432, !dbg !94 %113 = bitcast i8* %112 to <32 x i32>*, !dbg !97 %114 = load <32 x i32>, <32 x i32>* %113, align 64, !dbg !97 %115 = getelementptr [32 x i32], [32 x i32]* @__constant_32xi32_2, i64 0, i64 %15, !dbg !97 %116 = load i32, i32* %115, align 16, !dbg !97 %117 = getelementptr [32 x i32], [32 x i32]* @__constant_32xi32_2, i64 0, i64 %19, !dbg !97 %118 = load i32, i32* %117, align 4, !dbg !97 %119 = getelementptr [32 x i32], [32 x i32]* @__constant_32xi32_2, i64 0, i64 %22, !dbg !97 %120 = load i32, i32* %119, align 8, !dbg !97 %121 = getelementptr [32 x i32], [32 x i32]* @__constant_32xi32_2, i64 0, i64 %25, !dbg !97 %122 = load i32, i32* %121, align 4, !dbg !97 %123 = getelementptr [32 x i32], [32 x i32]* @__constant_32xi32_2, i64 0, i64 %28, !dbg !97 %124 = load i32, i32* %123, align 16, !dbg !97 %125 = getelementptr [32 x i32], [32 x i32]* @__constant_32xi32_2, i64 0, i64 %31, !dbg !97 %126 = load i32, i32* %125, align 4, !dbg !97 %127 = getelementptr [32 x i32], [32 x i32]* @__constant_32xi32_2, i64 0, i64 %34, !dbg !97 %128 = load i32, i32* %127, align 8, !dbg !97 %129 = getelementptr [32 x i32], [32 x i32]* @__constant_32xi32_2, i64 0, i64 %37, !dbg !97 %130 = load i32, i32* %129, align 4, !dbg !97 %131 = getelementptr [32 x i32], [32 x i32]* @__constant_32xi32_2, i64 0, i64 %40, !dbg !97 %132 = load i32, i32* %131, align 16, !dbg !97 %133 = getelementptr [32 x i32], [32 x i32]* @__constant_32xi32_2, i64 0, i64 %43, !dbg !97 %134 = load i32, i32* %133, align 4, !dbg !97 %135 = getelementptr [32 x i32], [32 x i32]* @__constant_32xi32_2, i64 0, i64 %46, !dbg !97 %136 = load i32, i32* %135, align 8, !dbg !97 %137 = getelementptr [32 x i32], [32 x i32]* @__constant_32xi32_2, i64 0, i64 %49, !dbg !97 %138 = load i32, i32* %137, align 4, !dbg !97 %139 = getelementptr [32 x i32], [32 x i32]* @__constant_32xi32_2, i64 0, i64 %52, !dbg !97 %140 = load i32, i32* %139, align 16, !dbg !97 %141 = getelementptr [32 x i32], [32 x i32]* @__constant_32xi32_2, i64 0, i64 %55, !dbg !97 %142 = load i32, i32* %141, align 4, !dbg !97 %143 = getelementptr [32 x i32], [32 x i32]* @__constant_32xi32_2, i64 0, i64 %58, !dbg !97 %144 = load i32, i32* %143, align 8, !dbg !97 %145 = getelementptr [32 x i32], [32 x i32]* @__constant_32xi32_2, i64 0, i64 %61, !dbg !97 %146 = load i32, i32* %145, align 4, !dbg !97 %147 = getelementptr [32 x i32], [32 x i32]* @__constant_32xi32_2, i64 0, i64 %64, !dbg !97 %148 = load i32, i32* %147, align 16, !dbg !97 %149 = getelementptr [32 x i32], [32 x i32]* @__constant_32xi32_2, i64 0, i64 %67, !dbg !97 %150 = load i32, i32* %149, align 4, !dbg !97 %151 = getelementptr [32 x i32], [32 x i32]* @__constant_32xi32_2, i64 0, i64 %70, !dbg !97 %152 = load i32, i32* %151, align 8, !dbg !97 %153 = getelementptr [32 x i32], [32 x i32]* @__constant_32xi32_2, i64 0, i64 %73, !dbg !97 %154 = load i32, i32* %153, align 4, !dbg !97 %155 = getelementptr [32 x i32], [32 x i32]* @__constant_32xi32_2, i64 0, i64 %76, !dbg !97 %156 = load i32, i32* %155, align 16, !dbg !97 %157 = getelementptr [32 x i32], [32 x i32]* @__constant_32xi32_2, i64 0, i64 %79, !dbg !97 %158 = load i32, i32* %157, align 4, !dbg !97 %159 = getelementptr [32 x i32], [32 x i32]* @__constant_32xi32_2, i64 0, i64 %82, !dbg !97 %160 = load i32, i32* %159, align 8, !dbg !97 %161 = getelementptr [32 x i32], [32 x i32]* @__constant_32xi32_2, i64 0, i64 %85, !dbg !97 %162 = load i32, i32* %161, align 4, !dbg !97 %163 = getelementptr [32 x i32], [32 x i32]* @__constant_32xi32_2, i64 0, i64 %88, !dbg !97 %164 = load i32, i32* %163, align 16, !dbg !97 %165 = getelementptr [32 x i32], [32 x i32]* @__constant_32xi32_2, i64 0, i64 %91, !dbg !97 %166 = load i32, i32* %165, align 4, !dbg !97 %167 = getelementptr [32 x i32], [32 x i32]* @__constant_32xi32_2, i64 0, i64 %94, !dbg !97 %168 = load i32, i32* %167, align 8, !dbg !97 %169 = getelementptr [32 x i32], [32 x i32]* @__constant_32xi32_2, i64 0, i64 %97, !dbg !97 %170 = load i32, i32* %169, align 4, !dbg !97 %171 = getelementptr [32 x i32], [32 x i32]* @__constant_32xi32_2, i64 0, i64 %100, !dbg !97 %172 = load i32, i32* %171, align 16, !dbg !97 %173 = getelementptr [32 x i32], [32 x i32]* @__constant_32xi32_2, i64 0, i64 %103, !dbg !97 %174 = load i32, i32* %173, align 4, !dbg !97 %175 = getelementptr [32 x i32], [32 x i32]* @__constant_32xi32_2, i64 0, i64 %106, !dbg !97 %176 = load i32, i32* %175, align 8, !dbg !97 %177 = getelementptr [32 x i32], [32 x i32]* @__constant_32xi32_2, i64 0, i64 %109, !dbg !97 %178 = load i32, i32* %177, align 4, !dbg !97 %179 = insertelement <32 x i32> , i32 %18, i64 0, !dbg !97 %180 = insertelement <32 x i32> %179, i32 %21, i64 1, !dbg !97 %181 = insertelement <32 x i32> %180, i32 %24, i64 2, !dbg !97 %182 = insertelement <32 x i32> %181, i32 %27, i64 3, !dbg !97 %183 = insertelement <32 x i32> %182, i32 %30, i64 4, !dbg !97 %184 = insertelement <32 x i32> %183, i32 %33, i64 5, !dbg !97 %185 = insertelement <32 x i32> %184, i32 %36, i64 6, !dbg !97 %186 = insertelement <32 x i32> %185, i32 %39, i64 7, !dbg !97 %187 = insertelement <32 x i32> %186, i32 %42, i64 8, !dbg !97 %188 = insertelement <32 x i32> %187, i32 %45, i64 9, !dbg !97 %189 = insertelement <32 x i32> %188, i32 %48, i64 10, !dbg !97 %190 = insertelement <32 x i32> %189, i32 %51, i64 11, !dbg !97 %191 = insertelement <32 x i32> %190, i32 %54, i64 12, !dbg !97 %192 = insertelement <32 x i32> %191, i32 %57, i64 13, !dbg !97 %193 = insertelement <32 x i32> %192, i32 %60, i64 14, !dbg !97 %194 = insertelement <32 x i32> %193, i32 %63, i64 15, !dbg !97 %195 = insertelement <32 x i32> %194, i32 %66, i64 16, !dbg !97 %196 = insertelement <32 x i32> %195, i32 %69, i64 17, !dbg !97 %197 = insertelement <32 x i32> %196, i32 %72, i64 18, !dbg !97 %198 = insertelement <32 x i32> %197, i32 %75, i64 19, !dbg !97 %199 = insertelement <32 x i32> %198, i32 %78, i64 20, !dbg !97 %200 = insertelement <32 x i32> %199, i32 %81, i64 21, !dbg !97 %201 = insertelement <32 x i32> %200, i32 %84, i64 22, !dbg !97 %202 = insertelement <32 x i32> %201, i32 %87, i64 23, !dbg !97 %203 = insertelement <32 x i32> %202, i32 %90, i64 24, !dbg !97 %204 = insertelement <32 x i32> %203, i32 %93, i64 25, !dbg !97 %205 = insertelement <32 x i32> %204, i32 %96, i64 26, !dbg !97 %206 = insertelement <32 x i32> %205, i32 %99, i64 27, !dbg !97 %207 = insertelement <32 x i32> %206, i32 %102, i64 28, !dbg !97 %208 = insertelement <32 x i32> %207, i32 %105, i64 29, !dbg !97 %209 = insertelement <32 x i32> %208, i32 %108, i64 30, !dbg !97 %210 = insertelement <32 x i32> %209, i32 %111, i64 31, !dbg !97 %211 = getelementptr [32 x i8], [32 x i8]* @__constant_32xi8_1, i64 0, i64 %15, !dbg !97 %212 = load i8, i8* %211, align 16, !dbg !97 %213 = insertelement <32 x i8> , i8 %212, i64 0, !dbg !97 %214 = getelementptr [32 x i8], [32 x i8]* @__constant_32xi8_1, i64 0, i64 %19, !dbg !97 %215 = load i8, i8* %214, align 1, !dbg !97 %216 = insertelement <32 x i8> %213, i8 %215, i64 1, !dbg !97 %217 = getelementptr [32 x i8], [32 x i8]* @__constant_32xi8_1, i64 0, i64 %22, !dbg !97 %218 = load i8, i8* %217, align 2, !dbg !97 %219 = insertelement <32 x i8> %216, i8 %218, i64 2, !dbg !97 %220 = getelementptr [32 x i8], [32 x i8]* @__constant_32xi8_1, i64 0, i64 %25, !dbg !97 %221 = load i8, i8* %220, align 1, !dbg !97 %222 = insertelement <32 x i8> %219, i8 %221, i64 3, !dbg !97 %223 = getelementptr [32 x i8], [32 x i8]* @__constant_32xi8_1, i64 0, i64 %28, !dbg !97 %224 = load i8, i8* %223, align 4, !dbg !97 %225 = insertelement <32 x i8> %222, i8 %224, i64 4, !dbg !97 %226 = getelementptr [32 x i8], [32 x i8]* @__constant_32xi8_1, i64 0, i64 %31, !dbg !97 %227 = load i8, i8* %226, align 1, !dbg !97 %228 = insertelement <32 x i8> %225, i8 %227, i64 5, !dbg !97 %229 = getelementptr [32 x i8], [32 x i8]* @__constant_32xi8_1, i64 0, i64 %34, !dbg !97 %230 = load i8, i8* %229, align 2, !dbg !97 %231 = insertelement <32 x i8> %228, i8 %230, i64 6, !dbg !97 %232 = getelementptr [32 x i8], [32 x i8]* @__constant_32xi8_1, i64 0, i64 %37, !dbg !97 %233 = load i8, i8* %232, align 1, !dbg !97 %234 = insertelement <32 x i8> %231, i8 %233, i64 7, !dbg !97 %235 = getelementptr [32 x i8], [32 x i8]* @__constant_32xi8_1, i64 0, i64 %40, !dbg !97 %236 = load i8, i8* %235, align 8, !dbg !97 %237 = insertelement <32 x i8> %234, i8 %236, i64 8, !dbg !97 %238 = getelementptr [32 x i8], [32 x i8]* @__constant_32xi8_1, i64 0, i64 %43, !dbg !97 %239 = load i8, i8* %238, align 1, !dbg !97 %240 = insertelement <32 x i8> %237, i8 %239, i64 9, !dbg !97 %241 = getelementptr [32 x i8], [32 x i8]* @__constant_32xi8_1, i64 0, i64 %46, !dbg !97 %242 = load i8, i8* %241, align 2, !dbg !97 %243 = insertelement <32 x i8> %240, i8 %242, i64 10, !dbg !97 %244 = getelementptr [32 x i8], [32 x i8]* @__constant_32xi8_1, i64 0, i64 %49, !dbg !97 %245 = load i8, i8* %244, align 1, !dbg !97 %246 = insertelement <32 x i8> %243, i8 %245, i64 11, !dbg !97 %247 = getelementptr [32 x i8], [32 x i8]* @__constant_32xi8_1, i64 0, i64 %52, !dbg !97 %248 = load i8, i8* %247, align 4, !dbg !97 %249 = insertelement <32 x i8> %246, i8 %248, i64 12, !dbg !97 %250 = getelementptr [32 x i8], [32 x i8]* @__constant_32xi8_1, i64 0, i64 %55, !dbg !97 %251 = load i8, i8* %250, align 1, !dbg !97 %252 = insertelement <32 x i8> %249, i8 %251, i64 13, !dbg !97 %253 = getelementptr [32 x i8], [32 x i8]* @__constant_32xi8_1, i64 0, i64 %58, !dbg !97 %254 = load i8, i8* %253, align 2, !dbg !97 %255 = insertelement <32 x i8> %252, i8 %254, i64 14, !dbg !97 %256 = getelementptr [32 x i8], [32 x i8]* @__constant_32xi8_1, i64 0, i64 %61, !dbg !97 %257 = load i8, i8* %256, align 1, !dbg !97 %258 = insertelement <32 x i8> %255, i8 %257, i64 15, !dbg !97 %259 = getelementptr [32 x i8], [32 x i8]* @__constant_32xi8_1, i64 0, i64 %64, !dbg !97 %260 = load i8, i8* %259, align 16, !dbg !97 %261 = insertelement <32 x i8> %258, i8 %260, i64 16, !dbg !97 %262 = getelementptr [32 x i8], [32 x i8]* @__constant_32xi8_1, i64 0, i64 %67, !dbg !97 %263 = load i8, i8* %262, align 1, !dbg !97 %264 = insertelement <32 x i8> %261, i8 %263, i64 17, !dbg !97 %265 = getelementptr [32 x i8], [32 x i8]* @__constant_32xi8_1, i64 0, i64 %70, !dbg !97 %266 = load i8, i8* %265, align 2, !dbg !97 %267 = insertelement <32 x i8> %264, i8 %266, i64 18, !dbg !97 %268 = getelementptr [32 x i8], [32 x i8]* @__constant_32xi8_1, i64 0, i64 %73, !dbg !97 %269 = load i8, i8* %268, align 1, !dbg !97 %270 = insertelement <32 x i8> %267, i8 %269, i64 19, !dbg !97 %271 = getelementptr [32 x i8], [32 x i8]* @__constant_32xi8_1, i64 0, i64 %76, !dbg !97 %272 = load i8, i8* %271, align 4, !dbg !97 %273 = insertelement <32 x i8> %270, i8 %272, i64 20, !dbg !97 %274 = getelementptr [32 x i8], [32 x i8]* @__constant_32xi8_1, i64 0, i64 %79, !dbg !97 %275 = load i8, i8* %274, align 1, !dbg !97 %276 = insertelement <32 x i8> %273, i8 %275, i64 21, !dbg !97 %277 = getelementptr [32 x i8], [32 x i8]* @__constant_32xi8_1, i64 0, i64 %82, !dbg !97 %278 = load i8, i8* %277, align 2, !dbg !97 %279 = insertelement <32 x i8> %276, i8 %278, i64 22, !dbg !97 %280 = getelementptr [32 x i8], [32 x i8]* @__constant_32xi8_1, i64 0, i64 %85, !dbg !97 %281 = load i8, i8* %280, align 1, !dbg !97 %282 = insertelement <32 x i8> %279, i8 %281, i64 23, !dbg !97 %283 = getelementptr [32 x i8], [32 x i8]* @__constant_32xi8_1, i64 0, i64 %88, !dbg !97 %284 = load i8, i8* %283, align 8, !dbg !97 %285 = insertelement <32 x i8> %282, i8 %284, i64 24, !dbg !97 %286 = getelementptr [32 x i8], [32 x i8]* @__constant_32xi8_1, i64 0, i64 %91, !dbg !97 %287 = load i8, i8* %286, align 1, !dbg !97 %288 = insertelement <32 x i8> %285, i8 %287, i64 25, !dbg !97 %289 = getelementptr [32 x i8], [32 x i8]* @__constant_32xi8_1, i64 0, i64 %94, !dbg !97 %290 = load i8, i8* %289, align 2, !dbg !97 %291 = insertelement <32 x i8> %288, i8 %290, i64 26, !dbg !97 %292 = getelementptr [32 x i8], [32 x i8]* @__constant_32xi8_1, i64 0, i64 %97, !dbg !97 %293 = load i8, i8* %292, align 1, !dbg !97 %294 = insertelement <32 x i8> %291, i8 %293, i64 27, !dbg !97 %295 = getelementptr [32 x i8], [32 x i8]* @__constant_32xi8_1, i64 0, i64 %100, !dbg !97 %296 = load i8, i8* %295, align 4, !dbg !97 %297 = insertelement <32 x i8> %294, i8 %296, i64 28, !dbg !97 %298 = getelementptr [32 x i8], [32 x i8]* @__constant_32xi8_1, i64 0, i64 %103, !dbg !97 %299 = load i8, i8* %298, align 1, !dbg !97 %300 = insertelement <32 x i8> %297, i8 %299, i64 29, !dbg !97 %301 = getelementptr [32 x i8], [32 x i8]* @__constant_32xi8_1, i64 0, i64 %106, !dbg !97 %302 = load i8, i8* %301, align 2, !dbg !97 %303 = insertelement <32 x i8> %300, i8 %302, i64 30, !dbg !97 %304 = getelementptr [32 x i8], [32 x i8]* @__constant_32xi8_1, i64 0, i64 %109, !dbg !97 %305 = load i8, i8* %304, align 1, !dbg !97 %306 = insertelement <32 x i8> %303, i8 %305, i64 31, !dbg !97 %307 = insertelement <32 x i32> , i32 %116, i64 0, !dbg !97 %308 = insertelement <32 x i32> %307, i32 %118, i64 1, !dbg !97 %309 = insertelement <32 x i32> %308, i32 %120, i64 2, !dbg !97 %310 = insertelement <32 x i32> %309, i32 %122, i64 3, !dbg !97 %311 = insertelement <32 x i32> %310, i32 %124, i64 4, !dbg !97 %312 = insertelement <32 x i32> %311, i32 %126, i64 5, !dbg !97 %313 = insertelement <32 x i32> %312, i32 %128, i64 6, !dbg !97 %314 = insertelement <32 x i32> %313, i32 %130, i64 7, !dbg !97 %315 = insertelement <32 x i32> %314, i32 %132, i64 8, !dbg !97 %316 = insertelement <32 x i32> %315, i32 %134, i64 9, !dbg !97 %317 = insertelement <32 x i32> %316, i32 %136, i64 10, !dbg !97 %318 = insertelement <32 x i32> %317, i32 %138, i64 11, !dbg !97 %319 = insertelement <32 x i32> %318, i32 %140, i64 12, !dbg !97 %320 = insertelement <32 x i32> %319, i32 %142, i64 13, !dbg !97 %321 = insertelement <32 x i32> %320, i32 %144, i64 14, !dbg !97 %322 = insertelement <32 x i32> %321, i32 %146, i64 15, !dbg !97 %323 = insertelement <32 x i32> %322, i32 %148, i64 16, !dbg !97 %324 = insertelement <32 x i32> %323, i32 %150, i64 17, !dbg !97 %325 = insertelement <32 x i32> %324, i32 %152, i64 18, !dbg !97 %326 = insertelement <32 x i32> %325, i32 %154, i64 19, !dbg !97 %327 = insertelement <32 x i32> %326, i32 %156, i64 20, !dbg !97 %328 = insertelement <32 x i32> %327, i32 %158, i64 21, !dbg !97 %329 = insertelement <32 x i32> %328, i32 %160, i64 22, !dbg !97 %330 = insertelement <32 x i32> %329, i32 %162, i64 23, !dbg !97 %331 = insertelement <32 x i32> %330, i32 %164, i64 24, !dbg !97 %332 = insertelement <32 x i32> %331, i32 %166, i64 25, !dbg !97 %333 = insertelement <32 x i32> %332, i32 %168, i64 26, !dbg !97 %334 = insertelement <32 x i32> %333, i32 %170, i64 27, !dbg !97 %335 = insertelement <32 x i32> %334, i32 %172, i64 28, !dbg !97 %336 = insertelement <32 x i32> %335, i32 %174, i64 29, !dbg !97 %337 = insertelement <32 x i32> %336, i32 %176, i64 30, !dbg !97 %338 = insertelement <32 x i32> %337, i32 %178, i64 31, !dbg !97 %339 = add nuw nsw i64 %16, %15, !dbg !97 %340 = mul <32 x i32> %114, , !dbg !94 %341 = sext <32 x i32> %338 to <32 x i64> %342 = zext <32 x i8> %306 to <32 x i64> %343 = shl <32 x i64> , %342 %344 = lshr <32 x i64> %343, br label %345, !dbg !97 345: ; preds = %.preheader, %887 %346 = phi i64 [ 0, %.preheader ], [ %1033, %887 ] %347 = shl nuw nsw i64 %346, 5 %348 = shl nuw nsw i64 %346, 5 %349 = or i64 %348, 32 %350 = shl nuw nsw i64 %346, 5 %351 = or i64 %350, 64 %352 = shl nuw nsw i64 %346, 5 %353 = or i64 %352, 96 %354 = shl nuw nsw i64 %346, 5 %355 = or i64 %354, 128 %356 = shl nuw nsw i64 %346, 5 %357 = or i64 %356, 160 %358 = shl nuw nsw i64 %346, 5 %359 = or i64 %358, 192 %360 = shl nuw nsw i64 %346, 5 %361 = or i64 %360, 224 br label %362, !dbg !94 362: ; preds = %345, %362 %363 = phi [8 x <32 x i32>] [ zeroinitializer, %345 ], [ %886, %362 ] %364 = phi i1 [ true, %345 ], [ false, %362 ] %365 = phi i64 [ 0, %345 ], [ 16, %362 ] %366 = or i64 %365, %16, !dbg !94 %367 = add nuw nsw i64 %366, %347, !dbg !94 %368 = getelementptr i8, i8* %3, i64 %367, !dbg !94 %369 = bitcast i8* %368 to <16 x i8>*, !dbg !94 %370 = load <16 x i8>, <16 x i8>* %369, align 16, !dbg !94 %371 = add nuw nsw i64 %366, %349, !dbg !94 %372 = getelementptr i8, i8* %3, i64 %371, !dbg !94 %373 = bitcast i8* %372 to <16 x i8>*, !dbg !94 %374 = load <16 x i8>, <16 x i8>* %373, align 16, !dbg !94 %375 = add nuw nsw i64 %366, %351, !dbg !94 %376 = getelementptr i8, i8* %3, i64 %375, !dbg !94 %377 = bitcast i8* %376 to <16 x i8>*, !dbg !94 %378 = load <16 x i8>, <16 x i8>* %377, align 16, !dbg !94 %379 = add nuw nsw i64 %366, %353, !dbg !94 %380 = getelementptr i8, i8* %3, i64 %379, !dbg !94 %381 = bitcast i8* %380 to <16 x i8>*, !dbg !94 %382 = load <16 x i8>, <16 x i8>* %381, align 16, !dbg !94 %383 = add nuw nsw i64 %366, %355, !dbg !94 %384 = getelementptr i8, i8* %3, i64 %383, !dbg !94 %385 = bitcast i8* %384 to <16 x i8>*, !dbg !94 %386 = load <16 x i8>, <16 x i8>* %385, align 16, !dbg !94 %387 = add nuw nsw i64 %366, %357, !dbg !94 %388 = getelementptr i8, i8* %3, i64 %387, !dbg !94 %389 = bitcast i8* %388 to <16 x i8>*, !dbg !94 %390 = load <16 x i8>, <16 x i8>* %389, align 16, !dbg !94 %391 = add nuw nsw i64 %366, %359, !dbg !94 %392 = getelementptr i8, i8* %3, i64 %391, !dbg !94 %393 = bitcast i8* %392 to <16 x i8>*, !dbg !94 %394 = load <16 x i8>, <16 x i8>* %393, align 16, !dbg !94 %395 = add nuw nsw i64 %366, %361, !dbg !94 %396 = getelementptr i8, i8* %3, i64 %395, !dbg !94 %397 = bitcast i8* %396 to <16 x i8>*, !dbg !94 %398 = load <16 x i8>, <16 x i8>* %397, align 16, !dbg !94 %399 = shl nuw nsw i64 %365, 5, !dbg !94 %400 = getelementptr i8, i8* %6, i64 %399, !dbg !94 %401 = bitcast i8* %400 to <32 x i8>*, !dbg !94 %402 = load <32 x i8>, <32 x i8>* %401, align 64, !dbg !94 %403 = or i64 %399, 32, !dbg !94 %404 = getelementptr i8, i8* %6, i64 %403, !dbg !94 %405 = bitcast i8* %404 to <32 x i8>*, !dbg !94 %406 = load <32 x i8>, <32 x i8>* %405, align 32, !dbg !94 %407 = or i64 %399, 64, !dbg !94 %408 = getelementptr i8, i8* %6, i64 %407, !dbg !94 %409 = bitcast i8* %408 to <32 x i8>*, !dbg !94 %410 = load <32 x i8>, <32 x i8>* %409, align 64, !dbg !94 %411 = or i64 %399, 96, !dbg !94 %412 = getelementptr i8, i8* %6, i64 %411, !dbg !94 %413 = bitcast i8* %412 to <32 x i8>*, !dbg !94 %414 = load <32 x i8>, <32 x i8>* %413, align 32, !dbg !94 %415 = or i64 %399, 128, !dbg !94 %416 = getelementptr i8, i8* %6, i64 %415, !dbg !94 %417 = bitcast i8* %416 to <32 x i8>*, !dbg !94 %418 = load <32 x i8>, <32 x i8>* %417, align 64, !dbg !94 %419 = or i64 %399, 160, !dbg !94 %420 = getelementptr i8, i8* %6, i64 %419, !dbg !94 %421 = bitcast i8* %420 to <32 x i8>*, !dbg !94 %422 = load <32 x i8>, <32 x i8>* %421, align 32, !dbg !94 %423 = or i64 %399, 192, !dbg !94 %424 = getelementptr i8, i8* %6, i64 %423, !dbg !94 %425 = bitcast i8* %424 to <32 x i8>*, !dbg !94 %426 = load <32 x i8>, <32 x i8>* %425, align 64, !dbg !94 %427 = or i64 %399, 224, !dbg !94 %428 = getelementptr i8, i8* %6, i64 %427, !dbg !94 %429 = bitcast i8* %428 to <32 x i8>*, !dbg !94 %430 = load <32 x i8>, <32 x i8>* %429, align 32, !dbg !94 %431 = or i64 %399, 256, !dbg !94 %432 = getelementptr i8, i8* %6, i64 %431, !dbg !94 %433 = bitcast i8* %432 to <32 x i8>*, !dbg !94 %434 = load <32 x i8>, <32 x i8>* %433, align 64, !dbg !94 %435 = or i64 %399, 288, !dbg !94 %436 = getelementptr i8, i8* %6, i64 %435, !dbg !94 %437 = bitcast i8* %436 to <32 x i8>*, !dbg !94 %438 = load <32 x i8>, <32 x i8>* %437, align 32, !dbg !94 %439 = or i64 %399, 320, !dbg !94 %440 = getelementptr i8, i8* %6, i64 %439, !dbg !94 %441 = bitcast i8* %440 to <32 x i8>*, !dbg !94 %442 = load <32 x i8>, <32 x i8>* %441, align 64, !dbg !94 %443 = or i64 %399, 352, !dbg !94 %444 = getelementptr i8, i8* %6, i64 %443, !dbg !94 %445 = bitcast i8* %444 to <32 x i8>*, !dbg !94 %446 = load <32 x i8>, <32 x i8>* %445, align 32, !dbg !94 %447 = or i64 %399, 384, !dbg !94 %448 = getelementptr i8, i8* %6, i64 %447, !dbg !94 %449 = bitcast i8* %448 to <32 x i8>*, !dbg !94 %450 = load <32 x i8>, <32 x i8>* %449, align 64, !dbg !94 %451 = or i64 %399, 416, !dbg !94 %452 = getelementptr i8, i8* %6, i64 %451, !dbg !94 %453 = bitcast i8* %452 to <32 x i8>*, !dbg !94 %454 = load <32 x i8>, <32 x i8>* %453, align 32, !dbg !94 %455 = or i64 %399, 448, !dbg !94 %456 = getelementptr i8, i8* %6, i64 %455, !dbg !94 %457 = bitcast i8* %456 to <32 x i8>*, !dbg !94 %458 = load <32 x i8>, <32 x i8>* %457, align 64, !dbg !94 %459 = or i64 %399, 480, !dbg !94 %460 = getelementptr i8, i8* %6, i64 %459, !dbg !94 %461 = bitcast i8* %460 to <32 x i8>*, !dbg !94 %462 = load <32 x i8>, <32 x i8>* %461, align 32, !dbg !94 %463 = sext <16 x i8> %370 to <16 x i32> %464 = sext <16 x i8> %374 to <16 x i32> %465 = sext <16 x i8> %378 to <16 x i32> %466 = sext <16 x i8> %382 to <16 x i32> %467 = sext <16 x i8> %386 to <16 x i32> %468 = sext <16 x i8> %390 to <16 x i32> %469 = sext <16 x i8> %394 to <16 x i32> %470 = sext <16 x i8> %398 to <16 x i32> %471 = sext <32 x i8> %402 to <32 x i32> %472 = sext <32 x i8> %406 to <32 x i32> %473 = sext <32 x i8> %410 to <32 x i32> %474 = sext <32 x i8> %414 to <32 x i32> %475 = sext <32 x i8> %418 to <32 x i32> %476 = sext <32 x i8> %422 to <32 x i32> %477 = sext <32 x i8> %426 to <32 x i32> %478 = sext <32 x i8> %430 to <32 x i32> %479 = sext <32 x i8> %434 to <32 x i32> %480 = sext <32 x i8> %438 to <32 x i32> %481 = sext <32 x i8> %442 to <32 x i32> %482 = sext <32 x i8> %446 to <32 x i32> %483 = sext <32 x i8> %450 to <32 x i32> %484 = sext <32 x i8> %454 to <32 x i32> %485 = sext <32 x i8> %458 to <32 x i32> %486 = sext <32 x i8> %462 to <32 x i32> %487 = shufflevector <16 x i32> %463, <16 x i32> undef, <32 x i32> zeroinitializer %488 = extractvalue [8 x <32 x i32>] %363, 0 %489 = mul nsw <32 x i32> %487, %471 %490 = add <32 x i32> %489, %488 %491 = shufflevector <16 x i32> %464, <16 x i32> undef, <32 x i32> zeroinitializer %492 = extractvalue [8 x <32 x i32>] %363, 1 %493 = mul nsw <32 x i32> %491, %471 %494 = add <32 x i32> %493, %492 %495 = shufflevector <16 x i32> %465, <16 x i32> undef, <32 x i32> zeroinitializer %496 = extractvalue [8 x <32 x i32>] %363, 2 %497 = mul nsw <32 x i32> %495, %471 %498 = add <32 x i32> %497, %496 %499 = shufflevector <16 x i32> %466, <16 x i32> undef, <32 x i32> zeroinitializer %500 = extractvalue [8 x <32 x i32>] %363, 3 %501 = mul nsw <32 x i32> %499, %471 %502 = add <32 x i32> %501, %500 %503 = shufflevector <16 x i32> %467, <16 x i32> undef, <32 x i32> zeroinitializer %504 = extractvalue [8 x <32 x i32>] %363, 4 %505 = mul nsw <32 x i32> %503, %471 %506 = add <32 x i32> %505, %504 %507 = shufflevector <16 x i32> %468, <16 x i32> undef, <32 x i32> zeroinitializer %508 = extractvalue [8 x <32 x i32>] %363, 5 %509 = mul nsw <32 x i32> %507, %471 %510 = add <32 x i32> %509, %508 %511 = shufflevector <16 x i32> %469, <16 x i32> undef, <32 x i32> zeroinitializer %512 = extractvalue [8 x <32 x i32>] %363, 6 %513 = mul nsw <32 x i32> %511, %471 %514 = add <32 x i32> %513, %512 %515 = shufflevector <16 x i32> %470, <16 x i32> undef, <32 x i32> zeroinitializer %516 = extractvalue [8 x <32 x i32>] %363, 7 %517 = mul nsw <32 x i32> %515, %471 %518 = add <32 x i32> %517, %516 %519 = shufflevector <16 x i32> %463, <16 x i32> undef, <32 x i32> %520 = mul nsw <32 x i32> %519, %472 %521 = add <32 x i32> %490, %520 %522 = shufflevector <16 x i32> %464, <16 x i32> undef, <32 x i32> %523 = mul nsw <32 x i32> %522, %472 %524 = add <32 x i32> %494, %523 %525 = shufflevector <16 x i32> %465, <16 x i32> undef, <32 x i32> %526 = mul nsw <32 x i32> %525, %472 %527 = add <32 x i32> %498, %526 %528 = shufflevector <16 x i32> %466, <16 x i32> undef, <32 x i32> %529 = mul nsw <32 x i32> %528, %472 %530 = add <32 x i32> %502, %529 %531 = shufflevector <16 x i32> %467, <16 x i32> undef, <32 x i32> %532 = mul nsw <32 x i32> %531, %472 %533 = add <32 x i32> %506, %532 %534 = shufflevector <16 x i32> %468, <16 x i32> undef, <32 x i32> %535 = mul nsw <32 x i32> %534, %472 %536 = add <32 x i32> %510, %535 %537 = shufflevector <16 x i32> %469, <16 x i32> undef, <32 x i32> %538 = mul nsw <32 x i32> %537, %472 %539 = add <32 x i32> %514, %538 %540 = shufflevector <16 x i32> %470, <16 x i32> undef, <32 x i32> %541 = mul nsw <32 x i32> %540, %472 %542 = add <32 x i32> %518, %541 %543 = shufflevector <16 x i32> %463, <16 x i32> undef, <32 x i32> %544 = mul nsw <32 x i32> %543, %473 %545 = add <32 x i32> %521, %544 %546 = shufflevector <16 x i32> %464, <16 x i32> undef, <32 x i32> %547 = mul nsw <32 x i32> %546, %473 %548 = add <32 x i32> %524, %547 %549 = shufflevector <16 x i32> %465, <16 x i32> undef, <32 x i32> %550 = mul nsw <32 x i32> %549, %473 %551 = add <32 x i32> %527, %550 %552 = shufflevector <16 x i32> %466, <16 x i32> undef, <32 x i32> %553 = mul nsw <32 x i32> %552, %473 %554 = add <32 x i32> %530, %553 %555 = shufflevector <16 x i32> %467, <16 x i32> undef, <32 x i32> %556 = mul nsw <32 x i32> %555, %473 %557 = add <32 x i32> %533, %556 %558 = shufflevector <16 x i32> %468, <16 x i32> undef, <32 x i32> %559 = mul nsw <32 x i32> %558, %473 %560 = add <32 x i32> %536, %559 %561 = shufflevector <16 x i32> %469, <16 x i32> undef, <32 x i32> %562 = mul nsw <32 x i32> %561, %473 %563 = add <32 x i32> %539, %562 %564 = shufflevector <16 x i32> %470, <16 x i32> undef, <32 x i32> %565 = mul nsw <32 x i32> %564, %473 %566 = add <32 x i32> %542, %565 %567 = shufflevector <16 x i32> %463, <16 x i32> undef, <32 x i32> %568 = mul nsw <32 x i32> %567, %474 %569 = add <32 x i32> %545, %568 %570 = shufflevector <16 x i32> %464, <16 x i32> undef, <32 x i32> %571 = mul nsw <32 x i32> %570, %474 %572 = add <32 x i32> %548, %571 %573 = shufflevector <16 x i32> %465, <16 x i32> undef, <32 x i32> %574 = mul nsw <32 x i32> %573, %474 %575 = add <32 x i32> %551, %574 %576 = shufflevector <16 x i32> %466, <16 x i32> undef, <32 x i32> %577 = mul nsw <32 x i32> %576, %474 %578 = add <32 x i32> %554, %577 %579 = shufflevector <16 x i32> %467, <16 x i32> undef, <32 x i32> %580 = mul nsw <32 x i32> %579, %474 %581 = add <32 x i32> %557, %580 %582 = shufflevector <16 x i32> %468, <16 x i32> undef, <32 x i32> %583 = mul nsw <32 x i32> %582, %474 %584 = add <32 x i32> %560, %583 %585 = shufflevector <16 x i32> %469, <16 x i32> undef, <32 x i32> %586 = mul nsw <32 x i32> %585, %474 %587 = add <32 x i32> %563, %586 %588 = shufflevector <16 x i32> %470, <16 x i32> undef, <32 x i32> %589 = mul nsw <32 x i32> %588, %474 %590 = add <32 x i32> %566, %589 %591 = shufflevector <16 x i32> %463, <16 x i32> undef, <32 x i32> %592 = mul nsw <32 x i32> %591, %475 %593 = add <32 x i32> %569, %592 %594 = shufflevector <16 x i32> %464, <16 x i32> undef, <32 x i32> %595 = mul nsw <32 x i32> %594, %475 %596 = add <32 x i32> %572, %595 %597 = shufflevector <16 x i32> %465, <16 x i32> undef, <32 x i32> %598 = mul nsw <32 x i32> %597, %475 %599 = add <32 x i32> %575, %598 %600 = shufflevector <16 x i32> %466, <16 x i32> undef, <32 x i32> %601 = mul nsw <32 x i32> %600, %475 %602 = add <32 x i32> %578, %601 %603 = shufflevector <16 x i32> %467, <16 x i32> undef, <32 x i32> %604 = mul nsw <32 x i32> %603, %475 %605 = add <32 x i32> %581, %604 %606 = shufflevector <16 x i32> %468, <16 x i32> undef, <32 x i32> %607 = mul nsw <32 x i32> %606, %475 %608 = add <32 x i32> %584, %607 %609 = shufflevector <16 x i32> %469, <16 x i32> undef, <32 x i32> %610 = mul nsw <32 x i32> %609, %475 %611 = add <32 x i32> %587, %610 %612 = shufflevector <16 x i32> %470, <16 x i32> undef, <32 x i32> %613 = mul nsw <32 x i32> %612, %475 %614 = add <32 x i32> %590, %613 %615 = shufflevector <16 x i32> %463, <16 x i32> undef, <32 x i32> %616 = mul nsw <32 x i32> %615, %476 %617 = add <32 x i32> %593, %616 %618 = shufflevector <16 x i32> %464, <16 x i32> undef, <32 x i32> %619 = mul nsw <32 x i32> %618, %476 %620 = add <32 x i32> %596, %619 %621 = shufflevector <16 x i32> %465, <16 x i32> undef, <32 x i32> %622 = mul nsw <32 x i32> %621, %476 %623 = add <32 x i32> %599, %622 %624 = shufflevector <16 x i32> %466, <16 x i32> undef, <32 x i32> %625 = mul nsw <32 x i32> %624, %476 %626 = add <32 x i32> %602, %625 %627 = shufflevector <16 x i32> %467, <16 x i32> undef, <32 x i32> %628 = mul nsw <32 x i32> %627, %476 %629 = add <32 x i32> %605, %628 %630 = shufflevector <16 x i32> %468, <16 x i32> undef, <32 x i32> %631 = mul nsw <32 x i32> %630, %476 %632 = add <32 x i32> %608, %631 %633 = shufflevector <16 x i32> %469, <16 x i32> undef, <32 x i32> %634 = mul nsw <32 x i32> %633, %476 %635 = add <32 x i32> %611, %634 %636 = shufflevector <16 x i32> %470, <16 x i32> undef, <32 x i32> %637 = mul nsw <32 x i32> %636, %476 %638 = add <32 x i32> %614, %637 %639 = shufflevector <16 x i32> %463, <16 x i32> undef, <32 x i32> %640 = mul nsw <32 x i32> %639, %477 %641 = add <32 x i32> %617, %640 %642 = shufflevector <16 x i32> %464, <16 x i32> undef, <32 x i32> %643 = mul nsw <32 x i32> %642, %477 %644 = add <32 x i32> %620, %643 %645 = shufflevector <16 x i32> %465, <16 x i32> undef, <32 x i32> %646 = mul nsw <32 x i32> %645, %477 %647 = add <32 x i32> %623, %646 %648 = shufflevector <16 x i32> %466, <16 x i32> undef, <32 x i32> %649 = mul nsw <32 x i32> %648, %477 %650 = add <32 x i32> %626, %649 %651 = shufflevector <16 x i32> %467, <16 x i32> undef, <32 x i32> %652 = mul nsw <32 x i32> %651, %477 %653 = add <32 x i32> %629, %652 %654 = shufflevector <16 x i32> %468, <16 x i32> undef, <32 x i32> %655 = mul nsw <32 x i32> %654, %477 %656 = add <32 x i32> %632, %655 %657 = shufflevector <16 x i32> %469, <16 x i32> undef, <32 x i32> %658 = mul nsw <32 x i32> %657, %477 %659 = add <32 x i32> %635, %658 %660 = shufflevector <16 x i32> %470, <16 x i32> undef, <32 x i32> %661 = mul nsw <32 x i32> %660, %477 %662 = add <32 x i32> %638, %661 %663 = shufflevector <16 x i32> %463, <16 x i32> undef, <32 x i32> %664 = mul nsw <32 x i32> %663, %478 %665 = add <32 x i32> %641, %664 %666 = shufflevector <16 x i32> %464, <16 x i32> undef, <32 x i32> %667 = mul nsw <32 x i32> %666, %478 %668 = add <32 x i32> %644, %667 %669 = shufflevector <16 x i32> %465, <16 x i32> undef, <32 x i32> %670 = mul nsw <32 x i32> %669, %478 %671 = add <32 x i32> %647, %670 %672 = shufflevector <16 x i32> %466, <16 x i32> undef, <32 x i32> %673 = mul nsw <32 x i32> %672, %478 %674 = add <32 x i32> %650, %673 %675 = shufflevector <16 x i32> %467, <16 x i32> undef, <32 x i32> %676 = mul nsw <32 x i32> %675, %478 %677 = add <32 x i32> %653, %676 %678 = shufflevector <16 x i32> %468, <16 x i32> undef, <32 x i32> %679 = mul nsw <32 x i32> %678, %478 %680 = add <32 x i32> %656, %679 %681 = shufflevector <16 x i32> %469, <16 x i32> undef, <32 x i32> %682 = mul nsw <32 x i32> %681, %478 %683 = add <32 x i32> %659, %682 %684 = shufflevector <16 x i32> %470, <16 x i32> undef, <32 x i32> %685 = mul nsw <32 x i32> %684, %478 %686 = add <32 x i32> %662, %685 %687 = shufflevector <16 x i32> %463, <16 x i32> undef, <32 x i32> %688 = mul nsw <32 x i32> %687, %479 %689 = add <32 x i32> %665, %688 %690 = shufflevector <16 x i32> %464, <16 x i32> undef, <32 x i32> %691 = mul nsw <32 x i32> %690, %479 %692 = add <32 x i32> %668, %691 %693 = shufflevector <16 x i32> %465, <16 x i32> undef, <32 x i32> %694 = mul nsw <32 x i32> %693, %479 %695 = add <32 x i32> %671, %694 %696 = shufflevector <16 x i32> %466, <16 x i32> undef, <32 x i32> %697 = mul nsw <32 x i32> %696, %479 %698 = add <32 x i32> %674, %697 %699 = shufflevector <16 x i32> %467, <16 x i32> undef, <32 x i32> %700 = mul nsw <32 x i32> %699, %479 %701 = add <32 x i32> %677, %700 %702 = shufflevector <16 x i32> %468, <16 x i32> undef, <32 x i32> %703 = mul nsw <32 x i32> %702, %479 %704 = add <32 x i32> %680, %703 %705 = shufflevector <16 x i32> %469, <16 x i32> undef, <32 x i32> %706 = mul nsw <32 x i32> %705, %479 %707 = add <32 x i32> %683, %706 %708 = shufflevector <16 x i32> %470, <16 x i32> undef, <32 x i32> %709 = mul nsw <32 x i32> %708, %479 %710 = add <32 x i32> %686, %709 %711 = shufflevector <16 x i32> %463, <16 x i32> undef, <32 x i32> %712 = mul nsw <32 x i32> %711, %480 %713 = add <32 x i32> %689, %712 %714 = shufflevector <16 x i32> %464, <16 x i32> undef, <32 x i32> %715 = mul nsw <32 x i32> %714, %480 %716 = add <32 x i32> %692, %715 %717 = shufflevector <16 x i32> %465, <16 x i32> undef, <32 x i32> %718 = mul nsw <32 x i32> %717, %480 %719 = add <32 x i32> %695, %718 %720 = shufflevector <16 x i32> %466, <16 x i32> undef, <32 x i32> %721 = mul nsw <32 x i32> %720, %480 %722 = add <32 x i32> %698, %721 %723 = shufflevector <16 x i32> %467, <16 x i32> undef, <32 x i32> %724 = mul nsw <32 x i32> %723, %480 %725 = add <32 x i32> %701, %724 %726 = shufflevector <16 x i32> %468, <16 x i32> undef, <32 x i32> %727 = mul nsw <32 x i32> %726, %480 %728 = add <32 x i32> %704, %727 %729 = shufflevector <16 x i32> %469, <16 x i32> undef, <32 x i32> %730 = mul nsw <32 x i32> %729, %480 %731 = add <32 x i32> %707, %730 %732 = shufflevector <16 x i32> %470, <16 x i32> undef, <32 x i32> %733 = mul nsw <32 x i32> %732, %480 %734 = add <32 x i32> %710, %733 %735 = shufflevector <16 x i32> %463, <16 x i32> undef, <32 x i32> %736 = mul nsw <32 x i32> %735, %481 %737 = add <32 x i32> %713, %736 %738 = shufflevector <16 x i32> %464, <16 x i32> undef, <32 x i32> %739 = mul nsw <32 x i32> %738, %481 %740 = add <32 x i32> %716, %739 %741 = shufflevector <16 x i32> %465, <16 x i32> undef, <32 x i32> %742 = mul nsw <32 x i32> %741, %481 %743 = add <32 x i32> %719, %742 %744 = shufflevector <16 x i32> %466, <16 x i32> undef, <32 x i32> %745 = mul nsw <32 x i32> %744, %481 %746 = add <32 x i32> %722, %745 %747 = shufflevector <16 x i32> %467, <16 x i32> undef, <32 x i32> %748 = mul nsw <32 x i32> %747, %481 %749 = add <32 x i32> %725, %748 %750 = shufflevector <16 x i32> %468, <16 x i32> undef, <32 x i32> %751 = mul nsw <32 x i32> %750, %481 %752 = add <32 x i32> %728, %751 %753 = shufflevector <16 x i32> %469, <16 x i32> undef, <32 x i32> %754 = mul nsw <32 x i32> %753, %481 %755 = add <32 x i32> %731, %754 %756 = shufflevector <16 x i32> %470, <16 x i32> undef, <32 x i32> %757 = mul nsw <32 x i32> %756, %481 %758 = add <32 x i32> %734, %757 %759 = shufflevector <16 x i32> %463, <16 x i32> undef, <32 x i32> %760 = mul nsw <32 x i32> %759, %482 %761 = add <32 x i32> %737, %760 %762 = shufflevector <16 x i32> %464, <16 x i32> undef, <32 x i32> %763 = mul nsw <32 x i32> %762, %482 %764 = add <32 x i32> %740, %763 %765 = shufflevector <16 x i32> %465, <16 x i32> undef, <32 x i32> %766 = mul nsw <32 x i32> %765, %482 %767 = add <32 x i32> %743, %766 %768 = shufflevector <16 x i32> %466, <16 x i32> undef, <32 x i32> %769 = mul nsw <32 x i32> %768, %482 %770 = add <32 x i32> %746, %769 %771 = shufflevector <16 x i32> %467, <16 x i32> undef, <32 x i32> %772 = mul nsw <32 x i32> %771, %482 %773 = add <32 x i32> %749, %772 %774 = shufflevector <16 x i32> %468, <16 x i32> undef, <32 x i32> %775 = mul nsw <32 x i32> %774, %482 %776 = add <32 x i32> %752, %775 %777 = shufflevector <16 x i32> %469, <16 x i32> undef, <32 x i32> %778 = mul nsw <32 x i32> %777, %482 %779 = add <32 x i32> %755, %778 %780 = shufflevector <16 x i32> %470, <16 x i32> undef, <32 x i32> %781 = mul nsw <32 x i32> %780, %482 %782 = add <32 x i32> %758, %781 %783 = shufflevector <16 x i32> %463, <16 x i32> undef, <32 x i32> %784 = mul nsw <32 x i32> %783, %483 %785 = add <32 x i32> %761, %784 %786 = shufflevector <16 x i32> %464, <16 x i32> undef, <32 x i32> %787 = mul nsw <32 x i32> %786, %483 %788 = add <32 x i32> %764, %787 %789 = shufflevector <16 x i32> %465, <16 x i32> undef, <32 x i32> %790 = mul nsw <32 x i32> %789, %483 %791 = add <32 x i32> %767, %790 %792 = shufflevector <16 x i32> %466, <16 x i32> undef, <32 x i32> %793 = mul nsw <32 x i32> %792, %483 %794 = add <32 x i32> %770, %793 %795 = shufflevector <16 x i32> %467, <16 x i32> undef, <32 x i32> %796 = mul nsw <32 x i32> %795, %483 %797 = add <32 x i32> %773, %796 %798 = shufflevector <16 x i32> %468, <16 x i32> undef, <32 x i32> %799 = mul nsw <32 x i32> %798, %483 %800 = add <32 x i32> %776, %799 %801 = shufflevector <16 x i32> %469, <16 x i32> undef, <32 x i32> %802 = mul nsw <32 x i32> %801, %483 %803 = add <32 x i32> %779, %802 %804 = shufflevector <16 x i32> %470, <16 x i32> undef, <32 x i32> %805 = mul nsw <32 x i32> %804, %483 %806 = add <32 x i32> %782, %805 %807 = shufflevector <16 x i32> %463, <16 x i32> undef, <32 x i32> %808 = mul nsw <32 x i32> %807, %484 %809 = add <32 x i32> %785, %808 %810 = shufflevector <16 x i32> %464, <16 x i32> undef, <32 x i32> %811 = mul nsw <32 x i32> %810, %484 %812 = add <32 x i32> %788, %811 %813 = shufflevector <16 x i32> %465, <16 x i32> undef, <32 x i32> %814 = mul nsw <32 x i32> %813, %484 %815 = add <32 x i32> %791, %814 %816 = shufflevector <16 x i32> %466, <16 x i32> undef, <32 x i32> %817 = mul nsw <32 x i32> %816, %484 %818 = add <32 x i32> %794, %817 %819 = shufflevector <16 x i32> %467, <16 x i32> undef, <32 x i32> %820 = mul nsw <32 x i32> %819, %484 %821 = add <32 x i32> %797, %820 %822 = shufflevector <16 x i32> %468, <16 x i32> undef, <32 x i32> %823 = mul nsw <32 x i32> %822, %484 %824 = add <32 x i32> %800, %823 %825 = shufflevector <16 x i32> %469, <16 x i32> undef, <32 x i32> %826 = mul nsw <32 x i32> %825, %484 %827 = add <32 x i32> %803, %826 %828 = shufflevector <16 x i32> %470, <16 x i32> undef, <32 x i32> %829 = mul nsw <32 x i32> %828, %484 %830 = add <32 x i32> %806, %829 %831 = shufflevector <16 x i32> %463, <16 x i32> undef, <32 x i32> %832 = mul nsw <32 x i32> %831, %485 %833 = add <32 x i32> %809, %832 %834 = shufflevector <16 x i32> %464, <16 x i32> undef, <32 x i32> %835 = mul nsw <32 x i32> %834, %485 %836 = add <32 x i32> %812, %835 %837 = shufflevector <16 x i32> %465, <16 x i32> undef, <32 x i32> %838 = mul nsw <32 x i32> %837, %485 %839 = add <32 x i32> %815, %838 %840 = shufflevector <16 x i32> %466, <16 x i32> undef, <32 x i32> %841 = mul nsw <32 x i32> %840, %485 %842 = add <32 x i32> %818, %841 %843 = shufflevector <16 x i32> %467, <16 x i32> undef, <32 x i32> %844 = mul nsw <32 x i32> %843, %485 %845 = add <32 x i32> %821, %844 %846 = shufflevector <16 x i32> %468, <16 x i32> undef, <32 x i32> %847 = mul nsw <32 x i32> %846, %485 %848 = add <32 x i32> %824, %847 %849 = shufflevector <16 x i32> %469, <16 x i32> undef, <32 x i32> %850 = mul nsw <32 x i32> %849, %485 %851 = add <32 x i32> %827, %850 %852 = shufflevector <16 x i32> %470, <16 x i32> undef, <32 x i32> %853 = mul nsw <32 x i32> %852, %485 %854 = add <32 x i32> %830, %853 %855 = shufflevector <16 x i32> %463, <16 x i32> undef, <32 x i32> %856 = mul nsw <32 x i32> %855, %486 %857 = add <32 x i32> %833, %856 %858 = insertvalue [8 x <32 x i32>] zeroinitializer, <32 x i32> %857, 0 %859 = shufflevector <16 x i32> %464, <16 x i32> undef, <32 x i32> %860 = mul nsw <32 x i32> %859, %486 %861 = add <32 x i32> %836, %860 %862 = insertvalue [8 x <32 x i32>] %858, <32 x i32> %861, 1 %863 = shufflevector <16 x i32> %465, <16 x i32> undef, <32 x i32> %864 = mul nsw <32 x i32> %863, %486 %865 = add <32 x i32> %839, %864 %866 = insertvalue [8 x <32 x i32>] %862, <32 x i32> %865, 2 %867 = shufflevector <16 x i32> %466, <16 x i32> undef, <32 x i32> %868 = mul nsw <32 x i32> %867, %486 %869 = add <32 x i32> %842, %868 %870 = insertvalue [8 x <32 x i32>] %866, <32 x i32> %869, 3 %871 = shufflevector <16 x i32> %467, <16 x i32> undef, <32 x i32> %872 = mul nsw <32 x i32> %871, %486 %873 = add <32 x i32> %845, %872 %874 = insertvalue [8 x <32 x i32>] %870, <32 x i32> %873, 4 %875 = shufflevector <16 x i32> %468, <16 x i32> undef, <32 x i32> %876 = mul nsw <32 x i32> %875, %486 %877 = add <32 x i32> %848, %876 %878 = insertvalue [8 x <32 x i32>] %874, <32 x i32> %877, 5 %879 = shufflevector <16 x i32> %469, <16 x i32> undef, <32 x i32> %880 = mul nsw <32 x i32> %879, %486 %881 = add <32 x i32> %851, %880 %882 = insertvalue [8 x <32 x i32>] %878, <32 x i32> %881, 6 %883 = shufflevector <16 x i32> %470, <16 x i32> undef, <32 x i32> %884 = mul nsw <32 x i32> %883, %486 %885 = add <32 x i32> %854, %884 %886 = insertvalue [8 x <32 x i32>] %882, <32 x i32> %885, 7 br i1 %364, label %362, label %887, !dbg !94 887: ; preds = %362 %888 = icmp ugt <32 x i8> %306, %889 = sub <32 x i32> %857, %340, !dbg !94 %890 = sub <32 x i32> %861, %340, !dbg !94 %891 = sub <32 x i32> %865, %340, !dbg !94 %892 = sub <32 x i32> %869, %340, !dbg !94 %893 = sub <32 x i32> %873, %340, !dbg !94 %894 = sub <32 x i32> %877, %340, !dbg !94 %895 = sub <32 x i32> %881, %340, !dbg !94 %896 = sub <32 x i32> %885, %340, !dbg !94 %897 = add <32 x i32> %889, %210, !dbg !94 %898 = add <32 x i32> %890, %210, !dbg !94 %899 = add <32 x i32> %891, %210, !dbg !94 %900 = add <32 x i32> %892, %210, !dbg !94 %901 = add <32 x i32> %893, %210, !dbg !94 %902 = add <32 x i32> %894, %210, !dbg !94 %903 = add <32 x i32> %895, %210, !dbg !94 %904 = add <32 x i32> %896, %210, !dbg !94 %905 = sext <32 x i32> %897 to <32 x i64>, !dbg !97 %906 = sext <32 x i32> %898 to <32 x i64>, !dbg !97 %907 = sext <32 x i32> %899 to <32 x i64>, !dbg !97 %908 = sext <32 x i32> %900 to <32 x i64>, !dbg !97 %909 = sext <32 x i32> %901 to <32 x i64>, !dbg !97 %910 = sext <32 x i32> %902 to <32 x i64>, !dbg !97 %911 = sext <32 x i32> %903 to <32 x i64>, !dbg !97 %912 = sext <32 x i32> %904 to <32 x i64>, !dbg !97 %913 = mul nsw <32 x i64> %905, %341, !dbg !97 %914 = mul nsw <32 x i64> %906, %341, !dbg !97 %915 = mul nsw <32 x i64> %907, %341, !dbg !97 %916 = mul nsw <32 x i64> %908, %341, !dbg !97 %917 = mul nsw <32 x i64> %909, %341, !dbg !97 %918 = mul nsw <32 x i64> %910, %341, !dbg !97 %919 = mul nsw <32 x i64> %911, %341, !dbg !97 %920 = mul nsw <32 x i64> %912, %341, !dbg !97 %921 = add <32 x i64> %913, %344, !dbg !97 %922 = add <32 x i64> %914, %344, !dbg !97 %923 = add <32 x i64> %915, %344, !dbg !97 %924 = add <32 x i64> %916, %344, !dbg !97 %925 = add <32 x i64> %917, %344, !dbg !97 %926 = add <32 x i64> %918, %344, !dbg !97 %927 = add <32 x i64> %919, %344, !dbg !97 %928 = add <32 x i64> %920, %344, !dbg !97 %929 = icmp sgt <32 x i32> %897, , !dbg !97 %930 = icmp sgt <32 x i32> %898, , !dbg !97 %931 = icmp sgt <32 x i32> %899, , !dbg !97 %932 = icmp sgt <32 x i32> %900, , !dbg !97 %933 = icmp sgt <32 x i32> %901, , !dbg !97 %934 = icmp sgt <32 x i32> %902, , !dbg !97 %935 = icmp sgt <32 x i32> %903, , !dbg !97 %936 = icmp sgt <32 x i32> %904, , !dbg !97 %937 = select <32 x i1> %929, <32 x i64> , <32 x i64> , !dbg !97 %938 = select <32 x i1> %930, <32 x i64> , <32 x i64> , !dbg !97 %939 = select <32 x i1> %931, <32 x i64> , <32 x i64> , !dbg !97 %940 = select <32 x i1> %932, <32 x i64> , <32 x i64> , !dbg !97 %941 = select <32 x i1> %933, <32 x i64> , <32 x i64> , !dbg !97 %942 = select <32 x i1> %934, <32 x i64> , <32 x i64> , !dbg !97 %943 = select <32 x i1> %935, <32 x i64> , <32 x i64> , !dbg !97 %944 = select <32 x i1> %936, <32 x i64> , <32 x i64> , !dbg !97 %945 = select <32 x i1> %888, <32 x i64> %937, <32 x i64> zeroinitializer, !dbg !97 %946 = add <32 x i64> %921, %945, !dbg !97 %947 = select <32 x i1> %888, <32 x i64> %938, <32 x i64> zeroinitializer, !dbg !97 %948 = add <32 x i64> %922, %947, !dbg !97 %949 = select <32 x i1> %888, <32 x i64> %939, <32 x i64> zeroinitializer, !dbg !97 %950 = add <32 x i64> %923, %949, !dbg !97 %951 = select <32 x i1> %888, <32 x i64> %940, <32 x i64> zeroinitializer, !dbg !97 %952 = add <32 x i64> %924, %951, !dbg !97 %953 = select <32 x i1> %888, <32 x i64> %941, <32 x i64> zeroinitializer, !dbg !97 %954 = add <32 x i64> %925, %953, !dbg !97 %955 = select <32 x i1> %888, <32 x i64> %942, <32 x i64> zeroinitializer, !dbg !97 %956 = add <32 x i64> %926, %955, !dbg !97 %957 = select <32 x i1> %888, <32 x i64> %943, <32 x i64> zeroinitializer, !dbg !97 %958 = add <32 x i64> %927, %957, !dbg !97 %959 = select <32 x i1> %888, <32 x i64> %944, <32 x i64> zeroinitializer, !dbg !97 %960 = add <32 x i64> %928, %959, !dbg !97 %961 = ashr <32 x i64> %946, %342, !dbg !97 %962 = ashr <32 x i64> %948, %342, !dbg !97 %963 = ashr <32 x i64> %950, %342, !dbg !97 %964 = ashr <32 x i64> %952, %342, !dbg !97 %965 = ashr <32 x i64> %954, %342, !dbg !97 %966 = ashr <32 x i64> %956, %342, !dbg !97 %967 = ashr <32 x i64> %958, %342, !dbg !97 %968 = ashr <32 x i64> %960, %342, !dbg !97 %969 = trunc <32 x i64> %961 to <32 x i32>, !dbg !97 %970 = trunc <32 x i64> %962 to <32 x i32>, !dbg !97 %971 = trunc <32 x i64> %963 to <32 x i32>, !dbg !97 %972 = trunc <32 x i64> %964 to <32 x i32>, !dbg !97 %973 = trunc <32 x i64> %965 to <32 x i32>, !dbg !97 %974 = trunc <32 x i64> %966 to <32 x i32>, !dbg !97 %975 = trunc <32 x i64> %967 to <32 x i32>, !dbg !97 %976 = trunc <32 x i64> %968 to <32 x i32>, !dbg !97 %977 = add <32 x i32> %969, , !dbg !97 %978 = add <32 x i32> %970, , !dbg !97 %979 = add <32 x i32> %971, , !dbg !97 %980 = add <32 x i32> %972, , !dbg !97 %981 = add <32 x i32> %973, , !dbg !97 %982 = add <32 x i32> %974, , !dbg !97 %983 = add <32 x i32> %975, , !dbg !97 %984 = add <32 x i32> %976, , !dbg !97 %985 = tail call <32 x i32> @llvm.smax.v32i32(<32 x i32> %977, <32 x i32> ), !dbg !97 %986 = tail call <32 x i32> @llvm.smax.v32i32(<32 x i32> %978, <32 x i32> ), !dbg !97 %987 = tail call <32 x i32> @llvm.smax.v32i32(<32 x i32> %979, <32 x i32> ), !dbg !97 %988 = tail call <32 x i32> @llvm.smax.v32i32(<32 x i32> %980, <32 x i32> ), !dbg !97 %989 = tail call <32 x i32> @llvm.smax.v32i32(<32 x i32> %981, <32 x i32> ), !dbg !97 %990 = tail call <32 x i32> @llvm.smax.v32i32(<32 x i32> %982, <32 x i32> ), !dbg !97 %991 = tail call <32 x i32> @llvm.smax.v32i32(<32 x i32> %983, <32 x i32> ), !dbg !97 %992 = tail call <32 x i32> @llvm.smax.v32i32(<32 x i32> %984, <32 x i32> ), !dbg !97 %993 = tail call <32 x i32> @llvm.smin.v32i32(<32 x i32> %985, <32 x i32> ), !dbg !97 %994 = tail call <32 x i32> @llvm.smin.v32i32(<32 x i32> %986, <32 x i32> ), !dbg !97 %995 = tail call <32 x i32> @llvm.smin.v32i32(<32 x i32> %987, <32 x i32> ), !dbg !97 %996 = tail call <32 x i32> @llvm.smin.v32i32(<32 x i32> %988, <32 x i32> ), !dbg !97 %997 = tail call <32 x i32> @llvm.smin.v32i32(<32 x i32> %989, <32 x i32> ), !dbg !97 %998 = tail call <32 x i32> @llvm.smin.v32i32(<32 x i32> %990, <32 x i32> ), !dbg !97 %999 = tail call <32 x i32> @llvm.smin.v32i32(<32 x i32> %991, <32 x i32> ), !dbg !97 %1000 = tail call <32 x i32> @llvm.smin.v32i32(<32 x i32> %992, <32 x i32> ), !dbg !97 %1001 = trunc <32 x i32> %993 to <32 x i8>, !dbg !97 %1002 = trunc <32 x i32> %994 to <32 x i8>, !dbg !97 %1003 = trunc <32 x i32> %995 to <32 x i8>, !dbg !97 %1004 = trunc <32 x i32> %996 to <32 x i8>, !dbg !97 %1005 = trunc <32 x i32> %997 to <32 x i8>, !dbg !97 %1006 = trunc <32 x i32> %998 to <32 x i8>, !dbg !97 %1007 = trunc <32 x i32> %999 to <32 x i8>, !dbg !97 %1008 = trunc <32 x i32> %1000 to <32 x i8>, !dbg !97 %1009 = add nuw nsw i64 %347, %339, !dbg !97 %1010 = getelementptr i8, i8* %9, i64 %1009, !dbg !97 %1011 = bitcast i8* %1010 to <32 x i8>*, !dbg !97 store <32 x i8> %1001, <32 x i8>* %1011, align 32, !dbg !97 %1012 = add nuw i64 %349, %339, !dbg !97 %1013 = getelementptr i8, i8* %9, i64 %1012, !dbg !97 %1014 = bitcast i8* %1013 to <32 x i8>*, !dbg !97 store <32 x i8> %1002, <32 x i8>* %1014, align 32, !dbg !97 %1015 = add nuw i64 %351, %339, !dbg !97 %1016 = getelementptr i8, i8* %9, i64 %1015, !dbg !97 %1017 = bitcast i8* %1016 to <32 x i8>*, !dbg !97 store <32 x i8> %1003, <32 x i8>* %1017, align 32, !dbg !97 %1018 = add nuw i64 %353, %339, !dbg !97 %1019 = getelementptr i8, i8* %9, i64 %1018, !dbg !97 %1020 = bitcast i8* %1019 to <32 x i8>*, !dbg !97 store <32 x i8> %1004, <32 x i8>* %1020, align 32, !dbg !97 %1021 = add nuw i64 %355, %339, !dbg !97 %1022 = getelementptr i8, i8* %9, i64 %1021, !dbg !97 %1023 = bitcast i8* %1022 to <32 x i8>*, !dbg !97 store <32 x i8> %1005, <32 x i8>* %1023, align 32, !dbg !97 %1024 = add nuw i64 %357, %339, !dbg !97 %1025 = getelementptr i8, i8* %9, i64 %1024, !dbg !97 %1026 = bitcast i8* %1025 to <32 x i8>*, !dbg !97 store <32 x i8> %1006, <32 x i8>* %1026, align 32, !dbg !97 %1027 = add nuw i64 %359, %339, !dbg !97 %1028 = getelementptr i8, i8* %9, i64 %1027, !dbg !97 %1029 = bitcast i8* %1028 to <32 x i8>*, !dbg !97 store <32 x i8> %1007, <32 x i8>* %1029, align 32, !dbg !97 %1030 = add nuw i64 %361, %339, !dbg !97 %1031 = getelementptr i8, i8* %9, i64 %1030, !dbg !97 %1032 = bitcast i8* %1031 to <32 x i8>*, !dbg !97 store <32 x i8> %1008, <32 x i8>* %1032, align 32, !dbg !97 %1033 = add nuw nsw i64 %346, 8, !dbg !97 %1034 = icmp ult i64 %346, 88, !dbg !97 br i1 %1034, label %345, label %1035, !dbg !97 1035: ; preds = %887 ret i32 0, !dbg !97 } ; Function Attrs: nofree nosync nounwind define internal i32 @main_dispatch_18(%iree_hal_executable_environment_v0_t* noalias nocapture nonnull readnone byref(%iree_hal_executable_environment_v0_t) align 16 %0, %iree_hal_executable_dispatch_state_v0_t* noalias nocapture nonnull readonly byref(%iree_hal_executable_dispatch_state_v0_t) align 16 %1, %iree_hal_executable_workgroup_state_v0_t* noalias nocapture nonnull readonly byref(%iree_hal_executable_workgroup_state_v0_t) align 16 %2) #0 !dbg !99 { %const = bitcast i64 6144 to i64, !dbg !100 %.elt19 = getelementptr inbounds %iree_hal_executable_dispatch_state_v0_t, %iree_hal_executable_dispatch_state_v0_t* %1, i64 0, i32 10, !dbg !103 %.unpack20 = load i8**, i8*** %.elt19, align 16, !dbg !103 %4 = load i8*, i8** %.unpack20, align 8, !dbg !103 %5 = getelementptr i8*, i8** %.unpack20, i64 1, !dbg !104 %6 = load i8*, i8** %5, align 8, !dbg !104 %7 = load %iree_hal_executable_workgroup_state_v0_t, %iree_hal_executable_workgroup_state_v0_t* %2, align 16, !dbg !104 %8 = extractvalue %iree_hal_executable_workgroup_state_v0_t %7, 0, !dbg !104 %9 = zext i32 %8 to i64, !dbg !104 %10 = extractvalue %iree_hal_executable_workgroup_state_v0_t %7, 1, !dbg !104 %11 = zext i32 %10 to i64, !dbg !104 %12 = extractvalue %iree_hal_executable_workgroup_state_v0_t %7, 2, !dbg !104 %13 = zext i16 %12 to i64, !dbg !104 %14 = shl nuw nsw i64 %9, 5, !dbg !104 %15 = mul nuw nsw i64 %13, %const, !dbg !104 %16 = shl nuw nsw i64 %11, 8, !dbg !104 %const_mat = add i64 %const, 256, !dbg !104 %17 = mul nuw nsw i64 %13, %const_mat, !dbg !104 %18 = add i64 %17, %16, !dbg !104 %19 = add i64 %18, %14, !dbg !104 %20 = add i64 %19, 37008, !dbg !104 %scevgep = getelementptr i8, i8* %6, i64 %20, !dbg !104 %21 = add i64 %15, %16, !dbg !104 %22 = add i64 %21, %14, !dbg !104 %23 = add i64 %22, 18560, !dbg !104 %scevgep32 = getelementptr i8, i8* %4, i64 %23, !dbg !104 br label %.preheader23, !dbg !104 .preheader23: ; preds = %3, %27 %lsr.iv33 = phi i8* [ %scevgep32, %3 ], [ %scevgep34, %27 ] %lsr.iv25 = phi i8* [ %scevgep, %3 ], [ %scevgep26, %27 ] %24 = phi i64 [ 0, %3 ], [ %28, %27 ] br label %.preheader, !dbg !104 .preheader: ; preds = %.preheader23, %.preheader %lsr.iv = phi i64 [ 0, %.preheader23 ], [ %lsr.iv.next, %.preheader ] %scevgep35 = getelementptr i8, i8* %lsr.iv33, i64 %lsr.iv, !dbg !104 %scevgep3536 = bitcast i8* %scevgep35 to <16 x i8>*, !dbg !104 %25 = load <16 x i8>, <16 x i8>* %scevgep3536, align 1, !dbg !104 %scevgep29 = getelementptr i8, i8* %lsr.iv25, i64 %lsr.iv, !dbg !104 %scevgep2930 = bitcast i8* %scevgep29 to <16 x i8>*, !dbg !104 %scevgep31 = getelementptr <16 x i8>, <16 x i8>* %scevgep2930, i64 -1, !dbg !104 store <16 x i8> %25, <16 x i8>* %scevgep31, align 1, !dbg !104 %scevgep37 = getelementptr i8, i8* %lsr.iv33, i64 %lsr.iv, !dbg !104 %scevgep3738 = bitcast i8* %scevgep37 to <16 x i8>*, !dbg !104 %scevgep39 = getelementptr <16 x i8>, <16 x i8>* %scevgep3738, i64 1, !dbg !104 %26 = load <16 x i8>, <16 x i8>* %scevgep39, align 1, !dbg !104 %scevgep27 = getelementptr i8, i8* %lsr.iv25, i64 %lsr.iv, !dbg !104 %scevgep2728 = bitcast i8* %scevgep27 to <16 x i8>*, !dbg !104 store <16 x i8> %26, <16 x i8>* %scevgep2728, align 1, !dbg !104 %lsr.iv.next = add nuw nsw i64 %lsr.iv, 32, !dbg !104 %exitcond.not = icmp eq i64 %lsr.iv.next, 256, !dbg !104 br i1 %exitcond.not, label %27, label %.preheader, !dbg !104 27: ; preds = %.preheader %28 = add nuw nsw i64 %24, 1, !dbg !104 %scevgep26 = getelementptr i8, i8* %lsr.iv25, i64 800, !dbg !104 %scevgep34 = getelementptr i8, i8* %lsr.iv33, i64 768, !dbg !104 %exitcond24.not = icmp eq i64 %28, 8, !dbg !104 br i1 %exitcond24.not, label %29, label %.preheader23, !dbg !104 29: ; preds = %27 ret i32 0, !dbg !104 } ; Function Attrs: nofree nosync nounwind define internal i32 @main_dispatch_19(%iree_hal_executable_environment_v0_t* noalias nocapture nonnull readnone byref(%iree_hal_executable_environment_v0_t) align 16 %0, %iree_hal_executable_dispatch_state_v0_t* noalias nocapture nonnull readonly byref(%iree_hal_executable_dispatch_state_v0_t) align 16 %1, %iree_hal_executable_workgroup_state_v0_t* noalias nocapture nonnull readonly byref(%iree_hal_executable_workgroup_state_v0_t) align 16 %2) #0 !dbg !105 { %.elt11 = getelementptr inbounds %iree_hal_executable_dispatch_state_v0_t, %iree_hal_executable_dispatch_state_v0_t* %1, i64 0, i32 4, !dbg !106 %.unpack12 = load i32, i32* %.elt11, align 4, !dbg !106 %4 = zext i32 %.unpack12 to i64, !dbg !106 %.elt13 = getelementptr inbounds %iree_hal_executable_dispatch_state_v0_t, %iree_hal_executable_dispatch_state_v0_t* %1, i64 0, i32 5, !dbg !106 %.unpack14 = load i32, i32* %.elt13, align 16, !dbg !106 %5 = zext i32 %.unpack14 to i64, !dbg !106 %.elt15 = getelementptr inbounds %iree_hal_executable_dispatch_state_v0_t, %iree_hal_executable_dispatch_state_v0_t* %1, i64 0, i32 6, !dbg !106 %.unpack16 = load i16, i16* %.elt15, align 4, !dbg !106 %.elt23 = getelementptr inbounds %iree_hal_executable_dispatch_state_v0_t, %iree_hal_executable_dispatch_state_v0_t* %1, i64 0, i32 10, !dbg !106 %.unpack24 = load i8**, i8*** %.elt23, align 16, !dbg !106 %6 = load i8*, i8** %.unpack24, align 8, !dbg !106 %7 = getelementptr i8*, i8** %.unpack24, i64 1, !dbg !106 %8 = load i8*, i8** %7, align 8, !dbg !106 %9 = getelementptr i8, i8* %8, i64 320, !dbg !106 %10 = getelementptr i8*, i8** %.unpack24, i64 2, !dbg !106 %11 = bitcast i8** %10 to i32**, !dbg !106 %12 = load i32*, i32** %11, align 8, !dbg !106 %13 = load %iree_hal_executable_workgroup_state_v0_t, %iree_hal_executable_workgroup_state_v0_t* %2, align 16, !dbg !106 %14 = extractvalue %iree_hal_executable_workgroup_state_v0_t %13, 2, !dbg !106 %15 = zext i16 %14 to i64, !dbg !106 %16 = zext i16 %.unpack16 to i64, !dbg !106 %17 = shl nuw nsw i64 %15, 2, !dbg !106 %18 = shl nuw nsw i64 %16, 2, !dbg !106 %19 = icmp ult i16 %14, 3, !dbg !106 br i1 %19, label %.lr.ph, label %._crit_edge, !dbg !106 .lr.ph: ; preds = %3 %20 = extractvalue %iree_hal_executable_workgroup_state_v0_t %13, 1, !dbg !106 %21 = zext i32 %20 to i64, !dbg !106 %22 = extractvalue %iree_hal_executable_workgroup_state_v0_t %13, 0, !dbg !106 %23 = zext i32 %22 to i64, !dbg !106 %24 = shl nuw nsw i64 %21, 2 %25 = shl nuw nsw i64 %5, 2 %26 = icmp ult i32 %20, 3 %27 = shl i64 %23, 5 %28 = shl i64 %4, 5 br i1 %26, label %.lr.ph.split.us, label %.lr.ph.split.preheader, !dbg !106 .lr.ph.split.preheader: ; preds = %.lr.ph br label %.lr.ph.split, !dbg !106 .lr.ph.split.us: ; preds = %.lr.ph %29 = icmp eq i32 %22, 0 br i1 %29, label %.lr.ph34.us.us.preheader, label %.lr.ph34.us.preheader, !dbg !106 .lr.ph34.us.preheader: ; preds = %.lr.ph.split.us br label %.lr.ph34.us, !dbg !106 .lr.ph34.us.us.preheader: ; preds = %.lr.ph.split.us %const = bitcast i64 6400 to i64, !dbg !106 %30 = mul nuw nsw i64 %15, 1536, !dbg !106 %31 = shl nuw nsw i64 %21, 7, !dbg !106 %32 = add i64 %30, %31, !dbg !106 %33 = add i64 %32, %27, !dbg !106 %scevgep = getelementptr i32, i32* %12, i64 %33, !dbg !106 %const_mat = add i64 %const, -256, !dbg !106 %34 = mul nuw nsw i64 %16, %const_mat, !dbg !106 %35 = shl nuw nsw i64 %5, 9, !dbg !106 %36 = shl nuw nsw i64 %4, 7, !dbg !106 %37 = add i64 %33, 16, !dbg !106 %scevgep67 = getelementptr i32, i32* %12, i64 %37, !dbg !106 %38 = mul nuw nsw i64 %15, %const, !dbg !106 %39 = shl nuw nsw i64 %21, 8, !dbg !106 %40 = add i64 %38, %39, !dbg !106 %41 = add i64 %40, %27, !dbg !106 %42 = add i64 %41, 38656, !dbg !106 %scevgep146 = getelementptr i8, i8* %6, i64 %42, !dbg !106 %43 = mul nuw nsw i64 %16, %const, !dbg !106 %44 = shl nuw nsw i64 %5, 8, !dbg !106 br label %.lr.ph34.us.us, !dbg !106 .lr.ph34.us.us: ; preds = %.lr.ph34.us.us.preheader, %._crit_edge35.split.us.us.us %lsr.iv147 = phi i8* [ %scevgep146, %.lr.ph34.us.us.preheader ], [ %149, %._crit_edge35.split.us.us.us ] %lsr.iv68 = phi i32* [ %scevgep67, %.lr.ph34.us.us.preheader ], [ %148, %._crit_edge35.split.us.us.us ] %lsr.iv54 = phi i32* [ %scevgep, %.lr.ph34.us.us.preheader ], [ %147, %._crit_edge35.split.us.us.us ] %45 = phi i64 [ %146, %._crit_edge35.split.us.us.us ], [ %17, %.lr.ph34.us.us.preheader ] br label %.lr.ph.us.us.us, !dbg !106 .lr.ph.us.us.us: ; preds = %._crit_edge.us.us.us, %.lr.ph34.us.us %lsr.iv150 = phi i8* [ %141, %._crit_edge.us.us.us ], [ %lsr.iv147, %.lr.ph34.us.us ] %lsr.iv71 = phi i32* [ %140, %._crit_edge.us.us.us ], [ %lsr.iv68, %.lr.ph34.us.us ] %lsr.iv57 = phi i32* [ %139, %._crit_edge.us.us.us ], [ %lsr.iv54, %.lr.ph34.us.us ] %46 = phi i64 [ %24, %.lr.ph34.us.us ], [ %138, %._crit_edge.us.us.us ] br label %47, !dbg !106 47: ; preds = %49, %.lr.ph.us.us.us %lsr.iv153 = phi i8* [ %56, %49 ], [ %lsr.iv150, %.lr.ph.us.us.us ] %lsr.iv74 = phi i32* [ %55, %49 ], [ %lsr.iv71, %.lr.ph.us.us.us ] %lsr.iv60 = phi i32* [ %54, %49 ], [ %lsr.iv57, %.lr.ph.us.us.us ] %48 = phi i64 [ %27, %.lr.ph.us.us.us ], [ %53, %49 ] br label %.preheader31.us.us.us, !dbg !106 49: ; preds = %58 %50 = bitcast i32* %lsr.iv74 to i1*, !dbg !106 %51 = bitcast i32* %lsr.iv60 to i1*, !dbg !106 %52 = bitcast i8* %lsr.iv153 to i1*, !dbg !106 %53 = add i64 %48, %28, !dbg !106 %scevgep62 = getelementptr i1, i1* %51, i64 %36, !dbg !106 %54 = bitcast i1* %scevgep62 to i32*, !dbg !106 %scevgep76 = getelementptr i1, i1* %50, i64 %36, !dbg !106 %55 = bitcast i1* %scevgep76 to i32*, !dbg !106 %scevgep155 = getelementptr i1, i1* %52, i64 %28, !dbg !106 %56 = bitcast i1* %scevgep155 to i8*, !dbg !106 %57 = icmp slt i64 %53, 32, !dbg !106 br i1 %57, label %47, label %._crit_edge.us.us.us, !dbg !106 58: ; preds = %60 %59 = add nuw nsw i64 %133, 1, !dbg !106 %scevgep157 = getelementptr i8, i8* %lsr.iv156, i64 1600, !dbg !106 %scevgep178 = getelementptr i32, i32* %lsr.iv177, i64 384, !dbg !106 %exitcond45.not = icmp eq i64 %59, 4, !dbg !106 br i1 %exitcond45.not, label %49, label %.preheader30.us.us.us, !dbg !106 60: ; preds = %.preheader27.us.us.us %61 = add nuw nsw i64 %130, 1, !dbg !106 %scevgep159 = getelementptr i8, i8* %lsr.iv158, i64 64, !dbg !106 %scevgep180 = getelementptr i32, i32* %lsr.iv179, i64 32, !dbg !106 %exitcond44.not = icmp eq i64 %61, 4, !dbg !106 br i1 %exitcond44.not, label %58, label %.preheader28.us.us.us, !dbg !106 62: ; preds = %.preheader29.us.us.us %63 = add nuw nsw i64 %134, 1, !dbg !106 %scevgep64 = getelementptr i32, i32* %lsr.iv63, i64 384, !dbg !106 %scevgep78 = getelementptr i32, i32* %lsr.iv77, i64 384, !dbg !106 %exitcond40.not = icmp eq i64 %63, 4, !dbg !106 br i1 %exitcond40.not, label %.preheader30.us.us.us.preheader, label %.preheader31.us.us.us, !dbg !106 .preheader30.us.us.us.preheader: ; preds = %62 br label %.preheader30.us.us.us, !dbg !106 .preheader27.us.us.us: ; preds = %.preheader28.us.us.us, %.preheader27.us.us.us %lsr.iv181 = phi i32* [ %lsr.iv179, %.preheader28.us.us.us ], [ %scevgep182, %.preheader27.us.us.us ] %64 = phi i64 [ 0, %.preheader28.us.us.us ], [ %129, %.preheader27.us.us.us ] %scevgep161 = getelementptr i8, i8* %lsr.iv158, i64 %64, !dbg !106 %scevgep162 = getelementptr i8, i8* %scevgep161, i64 -1664, !dbg !106 %65 = load i8, i8* %scevgep162, align 1, !dbg !106 %scevgep183 = getelementptr i8, i8* %9, i64 %64, !dbg !106 %66 = load i8, i8* %scevgep183, align 1, !dbg !106 %67 = load i32, i32* %lsr.iv181, align 4, !dbg !106 %68 = sext i8 %65 to i32 %69 = add nsw i32 %68, 128 %70 = sext i8 %66 to i32 %71 = mul nsw i32 %69, %70 %72 = add i32 %71, %67 store i32 %72, i32* %lsr.iv181, align 4, !dbg !106 %scevgep163 = getelementptr i8, i8* %lsr.iv158, i64 %64, !dbg !106 %scevgep164 = getelementptr i8, i8* %scevgep163, i64 -1632, !dbg !106 %73 = load i8, i8* %scevgep164, align 1, !dbg !106 %scevgep196 = getelementptr i8, i8* %9, i64 %64, !dbg !106 %scevgep197 = getelementptr i8, i8* %scevgep196, i64 32, !dbg !106 %74 = load i8, i8* %scevgep197, align 1, !dbg !106 %75 = sext i8 %73 to i32 %76 = add nsw i32 %75, 128 %77 = sext i8 %74 to i32 %78 = mul nsw i32 %76, %77 %79 = add i32 %78, %72 store i32 %79, i32* %lsr.iv181, align 4, !dbg !106 %scevgep165 = getelementptr i8, i8* %lsr.iv158, i64 %64, !dbg !106 %scevgep166 = getelementptr i8, i8* %scevgep165, i64 -1600, !dbg !106 %80 = load i8, i8* %scevgep166, align 1, !dbg !106 %scevgep198 = getelementptr i8, i8* %9, i64 %64, !dbg !106 %scevgep199 = getelementptr i8, i8* %scevgep198, i64 64, !dbg !106 %81 = load i8, i8* %scevgep199, align 1, !dbg !106 %82 = sext i8 %80 to i32 %83 = add nsw i32 %82, 128 %84 = sext i8 %81 to i32 %85 = mul nsw i32 %83, %84 %86 = add i32 %85, %79 store i32 %86, i32* %lsr.iv181, align 4, !dbg !106 %scevgep167 = getelementptr i8, i8* %lsr.iv158, i64 %64, !dbg !106 %scevgep168 = getelementptr i8, i8* %scevgep167, i64 -864, !dbg !106 %87 = load i8, i8* %scevgep168, align 1, !dbg !106 %scevgep192 = getelementptr i8, i8* %9, i64 %64, !dbg !106 %scevgep193 = getelementptr i8, i8* %scevgep192, i64 96, !dbg !106 %88 = load i8, i8* %scevgep193, align 1, !dbg !106 %89 = sext i8 %87 to i32 %90 = add nsw i32 %89, 128 %91 = sext i8 %88 to i32 %92 = mul nsw i32 %90, %91 %93 = add i32 %92, %86 store i32 %93, i32* %lsr.iv181, align 4, !dbg !106 %scevgep169 = getelementptr i8, i8* %lsr.iv158, i64 %64, !dbg !106 %scevgep170 = getelementptr i8, i8* %scevgep169, i64 -832, !dbg !106 %94 = load i8, i8* %scevgep170, align 1, !dbg !106 %scevgep190 = getelementptr i8, i8* %9, i64 %64, !dbg !106 %scevgep191 = getelementptr i8, i8* %scevgep190, i64 128, !dbg !106 %95 = load i8, i8* %scevgep191, align 1, !dbg !106 %96 = sext i8 %94 to i32 %97 = add nsw i32 %96, 128 %98 = sext i8 %95 to i32 %99 = mul nsw i32 %97, %98 %100 = add i32 %99, %93 store i32 %100, i32* %lsr.iv181, align 4, !dbg !106 %scevgep171 = getelementptr i8, i8* %lsr.iv158, i64 %64, !dbg !106 %scevgep172 = getelementptr i8, i8* %scevgep171, i64 -800, !dbg !106 %101 = load i8, i8* %scevgep172, align 1, !dbg !106 %scevgep188 = getelementptr i8, i8* %9, i64 %64, !dbg !106 %scevgep189 = getelementptr i8, i8* %scevgep188, i64 160, !dbg !106 %102 = load i8, i8* %scevgep189, align 1, !dbg !106 %103 = sext i8 %101 to i32 %104 = add nsw i32 %103, 128 %105 = sext i8 %102 to i32 %106 = mul nsw i32 %104, %105 %107 = add i32 %106, %100 store i32 %107, i32* %lsr.iv181, align 4, !dbg !106 %scevgep173 = getelementptr i8, i8* %lsr.iv158, i64 %64, !dbg !106 %scevgep174 = getelementptr i8, i8* %scevgep173, i64 -64, !dbg !106 %108 = load i8, i8* %scevgep174, align 1, !dbg !106 %scevgep194 = getelementptr i8, i8* %9, i64 %64, !dbg !106 %scevgep195 = getelementptr i8, i8* %scevgep194, i64 192, !dbg !106 %109 = load i8, i8* %scevgep195, align 1, !dbg !106 %110 = sext i8 %108 to i32 %111 = add nsw i32 %110, 128 %112 = sext i8 %109 to i32 %113 = mul nsw i32 %111, %112 %114 = add i32 %113, %107 store i32 %114, i32* %lsr.iv181, align 4, !dbg !106 %scevgep175 = getelementptr i8, i8* %lsr.iv158, i64 %64, !dbg !106 %scevgep176 = getelementptr i8, i8* %scevgep175, i64 -32, !dbg !106 %115 = load i8, i8* %scevgep176, align 1, !dbg !106 %scevgep186 = getelementptr i8, i8* %9, i64 %64, !dbg !106 %scevgep187 = getelementptr i8, i8* %scevgep186, i64 224, !dbg !106 %116 = load i8, i8* %scevgep187, align 1, !dbg !106 %117 = sext i8 %115 to i32 %118 = add nsw i32 %117, 128 %119 = sext i8 %116 to i32 %120 = mul nsw i32 %118, %119 %121 = add i32 %120, %114 store i32 %121, i32* %lsr.iv181, align 4, !dbg !106 %scevgep160 = getelementptr i8, i8* %lsr.iv158, i64 %64, !dbg !106 %122 = load i8, i8* %scevgep160, align 1, !dbg !106 %scevgep184 = getelementptr i8, i8* %9, i64 %64, !dbg !106 %scevgep185 = getelementptr i8, i8* %scevgep184, i64 256, !dbg !106 %123 = load i8, i8* %scevgep185, align 1, !dbg !106 %124 = sext i8 %122 to i32 %125 = add nsw i32 %124, 128 %126 = sext i8 %123 to i32 %127 = mul nsw i32 %125, %126 %128 = add i32 %127, %121 store i32 %128, i32* %lsr.iv181, align 4, !dbg !106 %129 = add nuw nsw i64 %64, 1, !dbg !106 %scevgep182 = getelementptr i32, i32* %lsr.iv181, i64 1, !dbg !106 %exitcond43.not = icmp eq i64 %129, 32, !dbg !106 br i1 %exitcond43.not, label %60, label %.preheader27.us.us.us, !dbg !106 .preheader28.us.us.us: ; preds = %.preheader30.us.us.us, %60 %lsr.iv179 = phi i32* [ %lsr.iv177, %.preheader30.us.us.us ], [ %scevgep180, %60 ] %lsr.iv158 = phi i8* [ %lsr.iv156, %.preheader30.us.us.us ], [ %scevgep159, %60 ] %130 = phi i64 [ 0, %.preheader30.us.us.us ], [ %61, %60 ] br label %.preheader27.us.us.us, !dbg !106 .preheader29.us.us.us: ; preds = %.preheader31.us.us.us, %.preheader29.us.us.us %lsr.iv = phi i64 [ 0, %.preheader31.us.us.us ], [ %lsr.iv.next, %.preheader29.us.us.us ] %131 = bitcast i32* %lsr.iv77 to i8* %132 = bitcast i32* %lsr.iv63 to i8* %uglygep = getelementptr i8, i8* %132, i64 %lsr.iv, !dbg !106 %uglygep66 = bitcast i8* %uglygep to i32*, !dbg !106 store i32 0, i32* %uglygep66, align 64, !dbg !106 %uglygep91 = getelementptr i8, i8* %131, i64 %lsr.iv, !dbg !106 %uglygep9192 = bitcast i8* %uglygep91 to i32*, !dbg !106 %scevgep93 = getelementptr i32, i32* %uglygep9192, i64 -15, !dbg !106 store i32 0, i32* %scevgep93, align 4, !dbg !106 %scevgep94 = getelementptr i32, i32* %uglygep9192, i64 -14, !dbg !106 store i32 0, i32* %scevgep94, align 4, !dbg !106 %uglygep95 = getelementptr i8, i8* %131, i64 %lsr.iv, !dbg !106 %uglygep9596 = bitcast i8* %uglygep95 to i32*, !dbg !106 %scevgep97 = getelementptr i32, i32* %uglygep9596, i64 -13, !dbg !106 store i32 0, i32* %scevgep97, align 4, !dbg !106 %scevgep98 = getelementptr i32, i32* %uglygep9596, i64 -12, !dbg !106 store i32 0, i32* %scevgep98, align 4, !dbg !106 %uglygep99 = getelementptr i8, i8* %131, i64 %lsr.iv, !dbg !106 %uglygep99100 = bitcast i8* %uglygep99 to i32*, !dbg !106 %scevgep101 = getelementptr i32, i32* %uglygep99100, i64 -11, !dbg !106 store i32 0, i32* %scevgep101, align 4, !dbg !106 %scevgep102 = getelementptr i32, i32* %uglygep99100, i64 -10, !dbg !106 store i32 0, i32* %scevgep102, align 4, !dbg !106 %uglygep103 = getelementptr i8, i8* %131, i64 %lsr.iv, !dbg !106 %uglygep103104 = bitcast i8* %uglygep103 to i32*, !dbg !106 %scevgep105 = getelementptr i32, i32* %uglygep103104, i64 -9, !dbg !106 store i32 0, i32* %scevgep105, align 4, !dbg !106 %scevgep106 = getelementptr i32, i32* %uglygep103104, i64 -8, !dbg !106 store i32 0, i32* %scevgep106, align 4, !dbg !106 %uglygep107 = getelementptr i8, i8* %131, i64 %lsr.iv, !dbg !106 %uglygep107108 = bitcast i8* %uglygep107 to i32*, !dbg !106 %scevgep109 = getelementptr i32, i32* %uglygep107108, i64 -7, !dbg !106 store i32 0, i32* %scevgep109, align 4, !dbg !106 %scevgep110 = getelementptr i32, i32* %uglygep107108, i64 -6, !dbg !106 store i32 0, i32* %scevgep110, align 4, !dbg !106 %uglygep111 = getelementptr i8, i8* %131, i64 %lsr.iv, !dbg !106 %uglygep111112 = bitcast i8* %uglygep111 to i32*, !dbg !106 %scevgep113 = getelementptr i32, i32* %uglygep111112, i64 -5, !dbg !106 store i32 0, i32* %scevgep113, align 4, !dbg !106 %scevgep114 = getelementptr i32, i32* %uglygep111112, i64 -4, !dbg !106 store i32 0, i32* %scevgep114, align 4, !dbg !106 %uglygep115 = getelementptr i8, i8* %131, i64 %lsr.iv, !dbg !106 %uglygep115116 = bitcast i8* %uglygep115 to i32*, !dbg !106 %scevgep117 = getelementptr i32, i32* %uglygep115116, i64 -3, !dbg !106 store i32 0, i32* %scevgep117, align 4, !dbg !106 %scevgep118 = getelementptr i32, i32* %uglygep115116, i64 -2, !dbg !106 store i32 0, i32* %scevgep118, align 4, !dbg !106 %uglygep119 = getelementptr i8, i8* %131, i64 %lsr.iv, !dbg !106 %uglygep119120 = bitcast i8* %uglygep119 to i32*, !dbg !106 %scevgep121 = getelementptr i32, i32* %uglygep119120, i64 -1, !dbg !106 store i32 0, i32* %scevgep121, align 4, !dbg !106 %uglygep80 = getelementptr i8, i8* %131, i64 %lsr.iv, !dbg !106 %uglygep8081 = bitcast i8* %uglygep80 to i32*, !dbg !106 store i32 0, i32* %uglygep8081, align 4, !dbg !106 %scevgep125 = getelementptr i32, i32* %uglygep8081, i64 1, !dbg !106 store i32 0, i32* %scevgep125, align 4, !dbg !106 %uglygep126 = getelementptr i8, i8* %131, i64 %lsr.iv, !dbg !106 %uglygep126127 = bitcast i8* %uglygep126 to i32*, !dbg !106 %scevgep128 = getelementptr i32, i32* %uglygep126127, i64 2, !dbg !106 store i32 0, i32* %scevgep128, align 4, !dbg !106 %scevgep129 = getelementptr i32, i32* %uglygep126127, i64 3, !dbg !106 store i32 0, i32* %scevgep129, align 4, !dbg !106 %uglygep130 = getelementptr i8, i8* %131, i64 %lsr.iv, !dbg !106 %uglygep130131 = bitcast i8* %uglygep130 to i32*, !dbg !106 %scevgep132 = getelementptr i32, i32* %uglygep130131, i64 4, !dbg !106 store i32 0, i32* %scevgep132, align 4, !dbg !106 %scevgep133 = getelementptr i32, i32* %uglygep130131, i64 5, !dbg !106 store i32 0, i32* %scevgep133, align 4, !dbg !106 %uglygep134 = getelementptr i8, i8* %131, i64 %lsr.iv, !dbg !106 %uglygep134135 = bitcast i8* %uglygep134 to i32*, !dbg !106 %scevgep136 = getelementptr i32, i32* %uglygep134135, i64 6, !dbg !106 store i32 0, i32* %scevgep136, align 4, !dbg !106 %scevgep137 = getelementptr i32, i32* %uglygep134135, i64 7, !dbg !106 store i32 0, i32* %scevgep137, align 4, !dbg !106 %uglygep138 = getelementptr i8, i8* %131, i64 %lsr.iv, !dbg !106 %uglygep138139 = bitcast i8* %uglygep138 to i32*, !dbg !106 %scevgep140 = getelementptr i32, i32* %uglygep138139, i64 8, !dbg !106 store i32 0, i32* %scevgep140, align 4, !dbg !106 %scevgep141 = getelementptr i32, i32* %uglygep138139, i64 9, !dbg !106 store i32 0, i32* %scevgep141, align 4, !dbg !106 %uglygep142 = getelementptr i8, i8* %131, i64 %lsr.iv, !dbg !106 %uglygep142143 = bitcast i8* %uglygep142 to i32*, !dbg !106 %scevgep144 = getelementptr i32, i32* %uglygep142143, i64 10, !dbg !106 store i32 0, i32* %scevgep144, align 4, !dbg !106 %scevgep145 = getelementptr i32, i32* %uglygep142143, i64 11, !dbg !106 store i32 0, i32* %scevgep145, align 4, !dbg !106 %uglygep122 = getelementptr i8, i8* %131, i64 %lsr.iv, !dbg !106 %uglygep122123 = bitcast i8* %uglygep122 to i32*, !dbg !106 %scevgep124 = getelementptr i32, i32* %uglygep122123, i64 12, !dbg !106 store i32 0, i32* %scevgep124, align 4, !dbg !106 %uglygep88 = getelementptr i8, i8* %131, i64 %lsr.iv, !dbg !106 %uglygep8889 = bitcast i8* %uglygep88 to i32*, !dbg !106 %scevgep90 = getelementptr i32, i32* %uglygep8889, i64 13, !dbg !106 store i32 0, i32* %scevgep90, align 4, !dbg !106 %uglygep85 = getelementptr i8, i8* %131, i64 %lsr.iv, !dbg !106 %uglygep8586 = bitcast i8* %uglygep85 to i32*, !dbg !106 %scevgep87 = getelementptr i32, i32* %uglygep8586, i64 14, !dbg !106 store i32 0, i32* %scevgep87, align 4, !dbg !106 %uglygep82 = getelementptr i8, i8* %131, i64 %lsr.iv, !dbg !106 %uglygep8283 = bitcast i8* %uglygep82 to i32*, !dbg !106 %scevgep84 = getelementptr i32, i32* %uglygep8283, i64 15, !dbg !106 store i32 0, i32* %scevgep84, align 4, !dbg !106 %lsr.iv.next = add nuw nsw i64 %lsr.iv, 128, !dbg !106 %exitcond.not = icmp eq i64 %lsr.iv.next, 512, !dbg !106 br i1 %exitcond.not, label %62, label %.preheader29.us.us.us, !dbg !106 .preheader30.us.us.us: ; preds = %.preheader30.us.us.us.preheader, %58 %lsr.iv177 = phi i32* [ %lsr.iv60, %.preheader30.us.us.us.preheader ], [ %scevgep178, %58 ] %lsr.iv156 = phi i8* [ %lsr.iv153, %.preheader30.us.us.us.preheader ], [ %scevgep157, %58 ] %133 = phi i64 [ %59, %58 ], [ 0, %.preheader30.us.us.us.preheader ] br label %.preheader28.us.us.us, !dbg !106 .preheader31.us.us.us: ; preds = %62, %47 %lsr.iv77 = phi i32* [ %scevgep78, %62 ], [ %lsr.iv74, %47 ] %lsr.iv63 = phi i32* [ %scevgep64, %62 ], [ %lsr.iv60, %47 ] %134 = phi i64 [ 0, %47 ], [ %63, %62 ] br label %.preheader29.us.us.us, !dbg !106 ._crit_edge.us.us.us: ; preds = %49 %135 = bitcast i32* %lsr.iv71 to i1* %136 = bitcast i32* %lsr.iv57 to i1* %137 = bitcast i8* %lsr.iv150 to i1* %138 = add i64 %46, %25, !dbg !106 %scevgep59 = getelementptr i1, i1* %136, i64 %35, !dbg !106 %139 = bitcast i1* %scevgep59 to i32*, !dbg !106 %scevgep73 = getelementptr i1, i1* %135, i64 %35, !dbg !106 %140 = bitcast i1* %scevgep73 to i32*, !dbg !106 %scevgep152 = getelementptr i1, i1* %137, i64 %44, !dbg !106 %141 = bitcast i1* %scevgep152 to i8*, !dbg !106 %142 = icmp slt i64 %138, 12, !dbg !106 br i1 %142, label %.lr.ph.us.us.us, label %._crit_edge35.split.us.us.us, !dbg !106 ._crit_edge35.split.us.us.us: ; preds = %._crit_edge.us.us.us %143 = bitcast i32* %lsr.iv68 to i1* %144 = bitcast i32* %lsr.iv54 to i1* %145 = bitcast i8* %lsr.iv147 to i1* %146 = add i64 %45, %18, !dbg !106 %scevgep56 = getelementptr i1, i1* %144, i64 %34, !dbg !106 %147 = bitcast i1* %scevgep56 to i32*, !dbg !106 %scevgep70 = getelementptr i1, i1* %143, i64 %34, !dbg !106 %148 = bitcast i1* %scevgep70 to i32*, !dbg !106 %scevgep149 = getelementptr i1, i1* %145, i64 %43, !dbg !106 %149 = bitcast i1* %scevgep149 to i8*, !dbg !106 %150 = icmp slt i64 %146, 12, !dbg !106 br i1 %150, label %.lr.ph34.us.us, label %._crit_edge, !dbg !106 .lr.ph34.us: ; preds = %.lr.ph34.us.preheader, %._crit_edge35.split.us36 %151 = phi i64 [ %156, %._crit_edge35.split.us36 ], [ %17, %.lr.ph34.us.preheader ] br label %152, !dbg !106 152: ; preds = %.lr.ph34.us, %152 %153 = phi i64 [ %24, %.lr.ph34.us ], [ %154, %152 ] %154 = add i64 %153, %25, !dbg !106 %155 = icmp slt i64 %154, 12, !dbg !106 br i1 %155, label %152, label %._crit_edge35.split.us36, !dbg !106 ._crit_edge35.split.us36: ; preds = %152 %156 = add i64 %151, %18, !dbg !106 %157 = icmp slt i64 %156, 12, !dbg !106 br i1 %157, label %.lr.ph34.us, label %._crit_edge, !dbg !106 .lr.ph.split: ; preds = %.lr.ph.split.preheader, %.lr.ph.split %158 = phi i64 [ %159, %.lr.ph.split ], [ %17, %.lr.ph.split.preheader ] %159 = add i64 %158, %18, !dbg !106 %160 = icmp slt i64 %159, 12, !dbg !106 br i1 %160, label %.lr.ph.split, label %._crit_edge, !dbg !106 ._crit_edge: ; preds = %.lr.ph.split, %._crit_edge35.split.us36, %._crit_edge35.split.us.us.us, %3 ret i32 0, !dbg !106 } ; Function Attrs: nofree nosync nounwind define internal i32 @main_dispatch_20(%iree_hal_executable_environment_v0_t* noalias nocapture nonnull readnone byref(%iree_hal_executable_environment_v0_t) align 16 %0, %iree_hal_executable_dispatch_state_v0_t* noalias nocapture nonnull readonly byref(%iree_hal_executable_dispatch_state_v0_t) align 16 %1, %iree_hal_executable_workgroup_state_v0_t* noalias nocapture nonnull readonly byref(%iree_hal_executable_workgroup_state_v0_t) align 16 %2) #0 !dbg !109 { %.elt21 = getelementptr inbounds %iree_hal_executable_dispatch_state_v0_t, %iree_hal_executable_dispatch_state_v0_t* %1, i64 0, i32 10, !dbg !110 %.unpack22 = load i8**, i8*** %.elt21, align 16, !dbg !110 %4 = bitcast i8** %.unpack22 to i32**, !dbg !110 %5 = load i32*, i32** %4, align 8, !dbg !110 %6 = getelementptr i8*, i8** %.unpack22, i64 1, !dbg !113 %7 = load i8*, i8** %6, align 8, !dbg !113 %8 = getelementptr i8, i8* %7, i64 18432, !dbg !113 %9 = load %iree_hal_executable_workgroup_state_v0_t, %iree_hal_executable_workgroup_state_v0_t* %2, align 16, !dbg !113 %10 = extractvalue %iree_hal_executable_workgroup_state_v0_t %9, 0, !dbg !113 %11 = zext i32 %10 to i64, !dbg !113 %12 = extractvalue %iree_hal_executable_workgroup_state_v0_t %9, 1, !dbg !113 %13 = zext i32 %12 to i64, !dbg !113 %14 = extractvalue %iree_hal_executable_workgroup_state_v0_t %9, 2, !dbg !113 %15 = zext i16 %14 to i64, !dbg !113 %16 = shl nuw nsw i64 %11, 5, !dbg !113 %17 = mul nuw nsw i64 %15, 1536, !dbg !113 %18 = shl nuw nsw i64 %13, 7, !dbg !113 br label %.preheader27, !dbg !113 .preheader27: ; preds = %3, %215 %19 = phi i64 [ 0, %3 ], [ %216, %215 ] %20 = mul nuw nsw i64 %19, 384 br label %.preheader26, !dbg !113 .preheader26: ; preds = %.preheader27, %213 %21 = phi i64 [ 0, %.preheader27 ], [ %214, %213 ] %22 = shl i64 %21, 5 br label %.preheader25, !dbg !113 .preheader25: ; preds = %.preheader26, %.preheader25 %23 = phi i1 [ true, %.preheader26 ], [ false, %.preheader25 ] %24 = phi i64 [ 0, %.preheader26 ], [ 16, %.preheader25 ] %25 = or i64 %24, %16 %26 = getelementptr [32 x i32], [32 x i32]* @__constant_32xi32_0_2, i64 0, i64 %25, !dbg !114 %27 = load i32, i32* %26, align 16, !dbg !114 %28 = or i64 %25, 1, !dbg !113 %29 = getelementptr [32 x i32], [32 x i32]* @__constant_32xi32_0_2, i64 0, i64 %28, !dbg !114 %30 = load i32, i32* %29, align 4, !dbg !114 %31 = or i64 %25, 2, !dbg !113 %32 = getelementptr [32 x i32], [32 x i32]* @__constant_32xi32_0_2, i64 0, i64 %31, !dbg !114 %33 = load i32, i32* %32, align 8, !dbg !114 %34 = or i64 %25, 3, !dbg !113 %35 = getelementptr [32 x i32], [32 x i32]* @__constant_32xi32_0_2, i64 0, i64 %34, !dbg !114 %36 = load i32, i32* %35, align 4, !dbg !114 %37 = or i64 %25, 4, !dbg !113 %38 = getelementptr [32 x i32], [32 x i32]* @__constant_32xi32_0_2, i64 0, i64 %37, !dbg !114 %39 = load i32, i32* %38, align 16, !dbg !114 %40 = or i64 %25, 5, !dbg !113 %41 = getelementptr [32 x i32], [32 x i32]* @__constant_32xi32_0_2, i64 0, i64 %40, !dbg !114 %42 = load i32, i32* %41, align 4, !dbg !114 %43 = or i64 %25, 6, !dbg !113 %44 = getelementptr [32 x i32], [32 x i32]* @__constant_32xi32_0_2, i64 0, i64 %43, !dbg !114 %45 = load i32, i32* %44, align 8, !dbg !114 %46 = or i64 %25, 7, !dbg !113 %47 = getelementptr [32 x i32], [32 x i32]* @__constant_32xi32_0_2, i64 0, i64 %46, !dbg !114 %48 = load i32, i32* %47, align 4, !dbg !114 %49 = or i64 %25, 8, !dbg !113 %50 = getelementptr [32 x i32], [32 x i32]* @__constant_32xi32_0_2, i64 0, i64 %49, !dbg !114 %51 = load i32, i32* %50, align 16, !dbg !114 %52 = or i64 %25, 9, !dbg !113 %53 = getelementptr [32 x i32], [32 x i32]* @__constant_32xi32_0_2, i64 0, i64 %52, !dbg !114 %54 = load i32, i32* %53, align 4, !dbg !114 %55 = or i64 %25, 10, !dbg !113 %56 = getelementptr [32 x i32], [32 x i32]* @__constant_32xi32_0_2, i64 0, i64 %55, !dbg !114 %57 = load i32, i32* %56, align 8, !dbg !114 %58 = or i64 %25, 11, !dbg !113 %59 = getelementptr [32 x i32], [32 x i32]* @__constant_32xi32_0_2, i64 0, i64 %58, !dbg !114 %60 = load i32, i32* %59, align 4, !dbg !114 %61 = or i64 %25, 12, !dbg !113 %62 = getelementptr [32 x i32], [32 x i32]* @__constant_32xi32_0_2, i64 0, i64 %61, !dbg !114 %63 = load i32, i32* %62, align 16, !dbg !114 %64 = or i64 %25, 13, !dbg !113 %65 = getelementptr [32 x i32], [32 x i32]* @__constant_32xi32_0_2, i64 0, i64 %64, !dbg !114 %66 = load i32, i32* %65, align 4, !dbg !114 %67 = or i64 %25, 14, !dbg !113 %68 = getelementptr [32 x i32], [32 x i32]* @__constant_32xi32_0_2, i64 0, i64 %67, !dbg !114 %69 = load i32, i32* %68, align 8, !dbg !114 %70 = or i64 %25, 15, !dbg !113 %71 = getelementptr [32 x i32], [32 x i32]* @__constant_32xi32_0_2, i64 0, i64 %70, !dbg !114 %72 = load i32, i32* %71, align 4, !dbg !114 %73 = add nuw nsw i64 %25, %18, !dbg !113 %74 = add nuw nsw i64 %73, %17, !dbg !113 %75 = add nuw nsw i64 %74, %20, !dbg !113 %76 = add nuw nsw i64 %75, %22, !dbg !113 %77 = getelementptr i32, i32* %5, i64 %76, !dbg !113 %78 = bitcast i32* %77 to <16 x i32>*, !dbg !113 %79 = load <16 x i32>, <16 x i32>* %78, align 4, !dbg !113 %80 = getelementptr [32 x i32], [32 x i32]* @__constant_32xi32_3, i64 0, i64 %25, !dbg !113 %81 = load i32, i32* %80, align 16, !dbg !113 %82 = getelementptr [32 x i32], [32 x i32]* @__constant_32xi32_3, i64 0, i64 %28, !dbg !113 %83 = load i32, i32* %82, align 4, !dbg !113 %84 = getelementptr [32 x i32], [32 x i32]* @__constant_32xi32_3, i64 0, i64 %31, !dbg !113 %85 = load i32, i32* %84, align 8, !dbg !113 %86 = getelementptr [32 x i32], [32 x i32]* @__constant_32xi32_3, i64 0, i64 %34, !dbg !113 %87 = load i32, i32* %86, align 4, !dbg !113 %88 = getelementptr [32 x i32], [32 x i32]* @__constant_32xi32_3, i64 0, i64 %37, !dbg !113 %89 = load i32, i32* %88, align 16, !dbg !113 %90 = getelementptr [32 x i32], [32 x i32]* @__constant_32xi32_3, i64 0, i64 %40, !dbg !113 %91 = load i32, i32* %90, align 4, !dbg !113 %92 = getelementptr [32 x i32], [32 x i32]* @__constant_32xi32_3, i64 0, i64 %43, !dbg !113 %93 = load i32, i32* %92, align 8, !dbg !113 %94 = getelementptr [32 x i32], [32 x i32]* @__constant_32xi32_3, i64 0, i64 %46, !dbg !113 %95 = load i32, i32* %94, align 4, !dbg !113 %96 = getelementptr [32 x i32], [32 x i32]* @__constant_32xi32_3, i64 0, i64 %49, !dbg !113 %97 = load i32, i32* %96, align 16, !dbg !113 %98 = getelementptr [32 x i32], [32 x i32]* @__constant_32xi32_3, i64 0, i64 %52, !dbg !113 %99 = load i32, i32* %98, align 4, !dbg !113 %100 = getelementptr [32 x i32], [32 x i32]* @__constant_32xi32_3, i64 0, i64 %55, !dbg !113 %101 = load i32, i32* %100, align 8, !dbg !113 %102 = getelementptr [32 x i32], [32 x i32]* @__constant_32xi32_3, i64 0, i64 %58, !dbg !113 %103 = load i32, i32* %102, align 4, !dbg !113 %104 = getelementptr [32 x i32], [32 x i32]* @__constant_32xi32_3, i64 0, i64 %61, !dbg !113 %105 = load i32, i32* %104, align 16, !dbg !113 %106 = getelementptr [32 x i32], [32 x i32]* @__constant_32xi32_3, i64 0, i64 %64, !dbg !113 %107 = load i32, i32* %106, align 4, !dbg !113 %108 = getelementptr [32 x i32], [32 x i32]* @__constant_32xi32_3, i64 0, i64 %67, !dbg !113 %109 = load i32, i32* %108, align 8, !dbg !113 %110 = getelementptr [32 x i32], [32 x i32]* @__constant_32xi32_3, i64 0, i64 %70, !dbg !113 %111 = load i32, i32* %110, align 4, !dbg !113 %112 = insertelement <16 x i32> , i32 %27, i64 0, !dbg !113 %113 = insertelement <16 x i32> %112, i32 %30, i64 1, !dbg !113 %114 = insertelement <16 x i32> %113, i32 %33, i64 2, !dbg !113 %115 = insertelement <16 x i32> %114, i32 %36, i64 3, !dbg !113 %116 = insertelement <16 x i32> %115, i32 %39, i64 4, !dbg !113 %117 = insertelement <16 x i32> %116, i32 %42, i64 5, !dbg !113 %118 = insertelement <16 x i32> %117, i32 %45, i64 6, !dbg !113 %119 = insertelement <16 x i32> %118, i32 %48, i64 7, !dbg !113 %120 = insertelement <16 x i32> %119, i32 %51, i64 8, !dbg !113 %121 = insertelement <16 x i32> %120, i32 %54, i64 9, !dbg !113 %122 = insertelement <16 x i32> %121, i32 %57, i64 10, !dbg !113 %123 = insertelement <16 x i32> %122, i32 %60, i64 11, !dbg !113 %124 = insertelement <16 x i32> %123, i32 %63, i64 12, !dbg !113 %125 = insertelement <16 x i32> %124, i32 %66, i64 13, !dbg !113 %126 = insertelement <16 x i32> %125, i32 %69, i64 14, !dbg !113 %127 = getelementptr [32 x i8], [32 x i8]* @__constant_32xi8_2, i64 0, i64 %25, !dbg !113 %128 = load i8, i8* %127, align 16, !dbg !113 %129 = insertelement <16 x i8> , i8 %128, i64 0, !dbg !113 %130 = getelementptr [32 x i8], [32 x i8]* @__constant_32xi8_2, i64 0, i64 %28, !dbg !113 %131 = load i8, i8* %130, align 1, !dbg !113 %132 = insertelement <16 x i8> %129, i8 %131, i64 1, !dbg !113 %133 = getelementptr [32 x i8], [32 x i8]* @__constant_32xi8_2, i64 0, i64 %31, !dbg !113 %134 = load i8, i8* %133, align 2, !dbg !113 %135 = insertelement <16 x i8> %132, i8 %134, i64 2, !dbg !113 %136 = getelementptr [32 x i8], [32 x i8]* @__constant_32xi8_2, i64 0, i64 %34, !dbg !113 %137 = load i8, i8* %136, align 1, !dbg !113 %138 = insertelement <16 x i8> %135, i8 %137, i64 3, !dbg !113 %139 = getelementptr [32 x i8], [32 x i8]* @__constant_32xi8_2, i64 0, i64 %37, !dbg !113 %140 = load i8, i8* %139, align 4, !dbg !113 %141 = insertelement <16 x i8> %138, i8 %140, i64 4, !dbg !113 %142 = getelementptr [32 x i8], [32 x i8]* @__constant_32xi8_2, i64 0, i64 %40, !dbg !113 %143 = load i8, i8* %142, align 1, !dbg !113 %144 = insertelement <16 x i8> %141, i8 %143, i64 5, !dbg !113 %145 = getelementptr [32 x i8], [32 x i8]* @__constant_32xi8_2, i64 0, i64 %43, !dbg !113 %146 = load i8, i8* %145, align 2, !dbg !113 %147 = insertelement <16 x i8> %144, i8 %146, i64 6, !dbg !113 %148 = getelementptr [32 x i8], [32 x i8]* @__constant_32xi8_2, i64 0, i64 %46, !dbg !113 %149 = load i8, i8* %148, align 1, !dbg !113 %150 = insertelement <16 x i8> %147, i8 %149, i64 7, !dbg !113 %151 = getelementptr [32 x i8], [32 x i8]* @__constant_32xi8_2, i64 0, i64 %49, !dbg !113 %152 = load i8, i8* %151, align 8, !dbg !113 %153 = insertelement <16 x i8> %150, i8 %152, i64 8, !dbg !113 %154 = getelementptr [32 x i8], [32 x i8]* @__constant_32xi8_2, i64 0, i64 %52, !dbg !113 %155 = load i8, i8* %154, align 1, !dbg !113 %156 = insertelement <16 x i8> %153, i8 %155, i64 9, !dbg !113 %157 = getelementptr [32 x i8], [32 x i8]* @__constant_32xi8_2, i64 0, i64 %55, !dbg !113 %158 = load i8, i8* %157, align 2, !dbg !113 %159 = insertelement <16 x i8> %156, i8 %158, i64 10, !dbg !113 %160 = getelementptr [32 x i8], [32 x i8]* @__constant_32xi8_2, i64 0, i64 %58, !dbg !113 %161 = load i8, i8* %160, align 1, !dbg !113 %162 = insertelement <16 x i8> %159, i8 %161, i64 11, !dbg !113 %163 = getelementptr [32 x i8], [32 x i8]* @__constant_32xi8_2, i64 0, i64 %61, !dbg !113 %164 = load i8, i8* %163, align 4, !dbg !113 %165 = insertelement <16 x i8> %162, i8 %164, i64 12, !dbg !113 %166 = getelementptr [32 x i8], [32 x i8]* @__constant_32xi8_2, i64 0, i64 %64, !dbg !113 %167 = load i8, i8* %166, align 1, !dbg !113 %168 = insertelement <16 x i8> %165, i8 %167, i64 13, !dbg !113 %169 = getelementptr [32 x i8], [32 x i8]* @__constant_32xi8_2, i64 0, i64 %67, !dbg !113 %170 = load i8, i8* %169, align 2, !dbg !113 %171 = insertelement <16 x i8> %168, i8 %170, i64 14, !dbg !113 %172 = getelementptr [32 x i8], [32 x i8]* @__constant_32xi8_2, i64 0, i64 %70, !dbg !113 %173 = load i8, i8* %172, align 1, !dbg !113 %174 = insertelement <16 x i8> %171, i8 %173, i64 15, !dbg !113 %175 = insertelement <16 x i32> , i32 %81, i64 0, !dbg !113 %176 = insertelement <16 x i32> %175, i32 %83, i64 1, !dbg !113 %177 = insertelement <16 x i32> %176, i32 %85, i64 2, !dbg !113 %178 = insertelement <16 x i32> %177, i32 %87, i64 3, !dbg !113 %179 = insertelement <16 x i32> %178, i32 %89, i64 4, !dbg !113 %180 = insertelement <16 x i32> %179, i32 %91, i64 5, !dbg !113 %181 = insertelement <16 x i32> %180, i32 %93, i64 6, !dbg !113 %182 = insertelement <16 x i32> %181, i32 %95, i64 7, !dbg !113 %183 = insertelement <16 x i32> %182, i32 %97, i64 8, !dbg !113 %184 = insertelement <16 x i32> %183, i32 %99, i64 9, !dbg !113 %185 = insertelement <16 x i32> %184, i32 %101, i64 10, !dbg !113 %186 = insertelement <16 x i32> %185, i32 %103, i64 11, !dbg !113 %187 = insertelement <16 x i32> %186, i32 %105, i64 12, !dbg !113 %188 = insertelement <16 x i32> %187, i32 %107, i64 13, !dbg !113 %189 = insertelement <16 x i32> %188, i32 %109, i64 14, !dbg !113 %190 = insertelement <16 x i32> %189, i32 %111, i64 15, !dbg !113 %191 = insertelement <16 x i32> %126, i32 %72, i64 15, !dbg !113 %192 = add <16 x i32> %79, %191, !dbg !110 %193 = sext <16 x i32> %192 to <16 x i64>, !dbg !113 %194 = sext <16 x i32> %190 to <16 x i64>, !dbg !113 %195 = mul nsw <16 x i64> %194, %193, !dbg !113 %196 = zext <16 x i8> %174 to <16 x i64>, !dbg !113 %197 = shl <16 x i64> , %196, !dbg !113 %198 = lshr <16 x i64> %197, , !dbg !113 %199 = icmp sgt <16 x i32> %192, , !dbg !113 %200 = select <16 x i1> %199, <16 x i64> , <16 x i64> , !dbg !113 %201 = icmp ugt <16 x i8> %174, , !dbg !113 %202 = select <16 x i1> %201, <16 x i64> %200, <16 x i64> zeroinitializer, !dbg !113 %203 = add <16 x i64> %202, %195, !dbg !113 %204 = add <16 x i64> %203, %198, !dbg !113 %205 = ashr <16 x i64> %204, %196, !dbg !113 %206 = trunc <16 x i64> %205 to <16 x i32>, !dbg !113 %207 = add <16 x i32> %206, , !dbg !113 %208 = tail call <16 x i32> @llvm.smax.v16i32(<16 x i32> %207, <16 x i32> ), !dbg !113 %209 = tail call <16 x i32> @llvm.smin.v16i32(<16 x i32> %208, <16 x i32> ), !dbg !113 %210 = trunc <16 x i32> %209 to <16 x i8>, !dbg !113 %211 = getelementptr i8, i8* %8, i64 %76, !dbg !113 %212 = bitcast i8* %211 to <16 x i8>*, !dbg !113 store <16 x i8> %210, <16 x i8>* %212, align 1, !dbg !113 br i1 %23, label %.preheader25, label %213, !dbg !113 213: ; preds = %.preheader25 %214 = add nuw nsw i64 %21, 1, !dbg !113 %exitcond.not = icmp eq i64 %214, 4, !dbg !113 br i1 %exitcond.not, label %215, label %.preheader26, !dbg !113 215: ; preds = %213 %216 = add nuw nsw i64 %19, 1, !dbg !113 %exitcond32.not = icmp eq i64 %216, 4, !dbg !113 br i1 %exitcond32.not, label %217, label %.preheader27, !dbg !113 217: ; preds = %215 ret i32 0, !dbg !113 } ; Function Attrs: nofree nosync nounwind define internal i32 @main_dispatch_21(%iree_hal_executable_environment_v0_t* noalias nocapture nonnull readnone byref(%iree_hal_executable_environment_v0_t) align 16 %0, %iree_hal_executable_dispatch_state_v0_t* noalias nocapture nonnull readonly byref(%iree_hal_executable_dispatch_state_v0_t) align 16 %1, %iree_hal_executable_workgroup_state_v0_t* noalias nocapture nonnull readonly byref(%iree_hal_executable_workgroup_state_v0_t) align 16 %2) #0 !dbg !115 { .preheader: %const = bitcast i64 213248 to i64, !dbg !116 %.elt19 = getelementptr inbounds %iree_hal_executable_dispatch_state_v0_t, %iree_hal_executable_dispatch_state_v0_t* %1, i64 0, i32 10, !dbg !116 %.unpack20 = load i8**, i8*** %.elt19, align 16, !dbg !116 %3 = load i8*, i8** %.unpack20, align 8, !dbg !116 %4 = getelementptr i8*, i8** %.unpack20, i64 1, !dbg !116 %5 = load i8*, i8** %4, align 8, !dbg !116 %6 = getelementptr i8, i8* %5, i64 23040, !dbg !116 %7 = bitcast %iree_hal_executable_workgroup_state_v0_t* %2 to i32*, !dbg !116 %8 = load i32, i32* %7, align 16, !dbg !116 %9 = zext i32 %8 to i64, !dbg !116 %10 = shl nuw nsw i64 %9, 5, !dbg !116 %11 = add nuw nsw i64 %10, %const, !dbg !116 %scevgep30 = getelementptr i8, i8* %3, i64 %11, !dbg !116 br label %12, !dbg !116 12: ; preds = %.preheader, %12 %lsr.iv34 = phi i64 [ 32, %.preheader ], [ %lsr.iv.next35, %12 ] %lsr.iv31 = phi i8* [ %scevgep30, %.preheader ], [ %scevgep32, %12 ] %13 = phi <16 x i32> [ zeroinitializer, %.preheader ], [ %16, %12 ] %lsr.iv3133 = bitcast i8* %lsr.iv31 to <16 x i8>*, !dbg !116 %14 = load <16 x i8>, <16 x i8>* %lsr.iv3133, align 32, !dbg !116 %15 = sext <16 x i8> %14 to <16 x i32>, !dbg !116 %16 = add <16 x i32> %13, %15, !dbg !116 %scevgep32 = getelementptr i8, i8* %lsr.iv31, i64 64, !dbg !116 %lsr.iv.next35 = add nsw i64 %lsr.iv34, -1, !dbg !116 %exitcond.not = icmp eq i64 %lsr.iv.next35, 0, !dbg !116 br i1 %exitcond.not, label %.preheader.1, label %12, !dbg !116 .preheader.1: ; preds = %12 %17 = bitcast i8* %6 to i32*, !dbg !116 %18 = getelementptr i32, i32* %17, i64 %10, !dbg !116 %19 = bitcast i32* %18 to <16 x i32>*, !dbg !116 store <16 x i32> %16, <16 x i32>* %19, align 64, !dbg !116 %20 = or i64 %10, 16 %const_mat = add i64 %const, 16, !dbg !116 %21 = add nuw nsw i64 %10, %const_mat, !dbg !116 %scevgep = getelementptr i8, i8* %3, i64 %21, !dbg !116 br label %22, !dbg !116 22: ; preds = %22, %.preheader.1 %lsr.iv27 = phi i8* [ %scevgep28, %22 ], [ %scevgep, %.preheader.1 ] %lsr.iv = phi i64 [ %lsr.iv.next, %22 ], [ 32, %.preheader.1 ] %23 = phi <16 x i32> [ zeroinitializer, %.preheader.1 ], [ %26, %22 ] %lsr.iv2729 = bitcast i8* %lsr.iv27 to <16 x i8>*, !dbg !116 %24 = load <16 x i8>, <16 x i8>* %lsr.iv2729, align 16, !dbg !116 %25 = sext <16 x i8> %24 to <16 x i32>, !dbg !116 %26 = add <16 x i32> %23, %25, !dbg !116 %lsr.iv.next = add nsw i64 %lsr.iv, -1, !dbg !116 %scevgep28 = getelementptr i8, i8* %lsr.iv27, i64 64, !dbg !116 %exitcond.1.not = icmp eq i64 %lsr.iv.next, 0, !dbg !116 br i1 %exitcond.1.not, label %27, label %22, !dbg !116 27: ; preds = %22 %28 = bitcast i8* %6 to i32*, !dbg !116 %29 = getelementptr i32, i32* %28, i64 %20, !dbg !116 %30 = bitcast i32* %29 to <16 x i32>*, !dbg !116 store <16 x i32> %26, <16 x i32>* %30, align 64, !dbg !116 ret i32 0, !dbg !116 } ; Function Attrs: nofree nosync nounwind define internal i32 @main_dispatch_22(%iree_hal_executable_environment_v0_t* noalias nocapture nonnull readnone byref(%iree_hal_executable_environment_v0_t) align 16 %0, %iree_hal_executable_dispatch_state_v0_t* noalias nocapture nonnull readonly byref(%iree_hal_executable_dispatch_state_v0_t) align 16 %1, %iree_hal_executable_workgroup_state_v0_t* noalias nocapture nonnull readonly byref(%iree_hal_executable_workgroup_state_v0_t) align 16 %2) #0 !dbg !119 { .preheader: %.elt23 = getelementptr inbounds %iree_hal_executable_dispatch_state_v0_t, %iree_hal_executable_dispatch_state_v0_t* %1, i64 0, i32 10, !dbg !120 %.unpack24 = load i8**, i8*** %.elt23, align 16, !dbg !120 %3 = load i8*, i8** %.unpack24, align 8, !dbg !120 %4 = getelementptr i8, i8* %3, i64 18432, !dbg !120 %5 = getelementptr i8*, i8** %.unpack24, i64 1, !dbg !120 %6 = load i8*, i8** %5, align 8, !dbg !120 %7 = getelementptr i8, i8* %6, i64 213248, !dbg !120 %8 = getelementptr i8, i8* %3, i64 23040, !dbg !120 %9 = getelementptr i8*, i8** %.unpack24, i64 2, !dbg !123 %10 = load i8*, i8** %9, align 8, !dbg !123 %11 = load %iree_hal_executable_workgroup_state_v0_t, %iree_hal_executable_workgroup_state_v0_t* %2, align 16, !dbg !123 %12 = extractvalue %iree_hal_executable_workgroup_state_v0_t %11, 0, !dbg !123 %13 = zext i32 %12 to i64, !dbg !123 %14 = extractvalue %iree_hal_executable_workgroup_state_v0_t %11, 1, !dbg !123 %15 = zext i32 %14 to i64, !dbg !123 %16 = shl nuw nsw i64 %13, 5, !dbg !123 %17 = mul nuw nsw i64 %15, 3072, !dbg !123 %18 = getelementptr [64 x i32], [64 x i32]* @__constant_64xi32_0, i64 0, i64 %16, !dbg !124 %19 = load i32, i32* %18, align 16, !dbg !124 %20 = or i64 %16, 1, !dbg !123 %21 = getelementptr [64 x i32], [64 x i32]* @__constant_64xi32_0, i64 0, i64 %20, !dbg !124 %22 = load i32, i32* %21, align 4, !dbg !124 %23 = or i64 %16, 2, !dbg !123 %24 = getelementptr [64 x i32], [64 x i32]* @__constant_64xi32_0, i64 0, i64 %23, !dbg !124 %25 = load i32, i32* %24, align 8, !dbg !124 %26 = or i64 %16, 3, !dbg !123 %27 = getelementptr [64 x i32], [64 x i32]* @__constant_64xi32_0, i64 0, i64 %26, !dbg !124 %28 = load i32, i32* %27, align 4, !dbg !124 %29 = or i64 %16, 4, !dbg !123 %30 = getelementptr [64 x i32], [64 x i32]* @__constant_64xi32_0, i64 0, i64 %29, !dbg !124 %31 = load i32, i32* %30, align 16, !dbg !124 %32 = or i64 %16, 5, !dbg !123 %33 = getelementptr [64 x i32], [64 x i32]* @__constant_64xi32_0, i64 0, i64 %32, !dbg !124 %34 = load i32, i32* %33, align 4, !dbg !124 %35 = or i64 %16, 6, !dbg !123 %36 = getelementptr [64 x i32], [64 x i32]* @__constant_64xi32_0, i64 0, i64 %35, !dbg !124 %37 = load i32, i32* %36, align 8, !dbg !124 %38 = or i64 %16, 7, !dbg !123 %39 = getelementptr [64 x i32], [64 x i32]* @__constant_64xi32_0, i64 0, i64 %38, !dbg !124 %40 = load i32, i32* %39, align 4, !dbg !124 %41 = or i64 %16, 8, !dbg !123 %42 = getelementptr [64 x i32], [64 x i32]* @__constant_64xi32_0, i64 0, i64 %41, !dbg !124 %43 = load i32, i32* %42, align 16, !dbg !124 %44 = or i64 %16, 9, !dbg !123 %45 = getelementptr [64 x i32], [64 x i32]* @__constant_64xi32_0, i64 0, i64 %44, !dbg !124 %46 = load i32, i32* %45, align 4, !dbg !124 %47 = or i64 %16, 10, !dbg !123 %48 = getelementptr [64 x i32], [64 x i32]* @__constant_64xi32_0, i64 0, i64 %47, !dbg !124 %49 = load i32, i32* %48, align 8, !dbg !124 %50 = or i64 %16, 11, !dbg !123 %51 = getelementptr [64 x i32], [64 x i32]* @__constant_64xi32_0, i64 0, i64 %50, !dbg !124 %52 = load i32, i32* %51, align 4, !dbg !124 %53 = or i64 %16, 12, !dbg !123 %54 = getelementptr [64 x i32], [64 x i32]* @__constant_64xi32_0, i64 0, i64 %53, !dbg !124 %55 = load i32, i32* %54, align 16, !dbg !124 %56 = or i64 %16, 13, !dbg !123 %57 = getelementptr [64 x i32], [64 x i32]* @__constant_64xi32_0, i64 0, i64 %56, !dbg !124 %58 = load i32, i32* %57, align 4, !dbg !124 %59 = or i64 %16, 14, !dbg !123 %60 = getelementptr [64 x i32], [64 x i32]* @__constant_64xi32_0, i64 0, i64 %59, !dbg !124 %61 = load i32, i32* %60, align 8, !dbg !124 %62 = or i64 %16, 15, !dbg !123 %63 = getelementptr [64 x i32], [64 x i32]* @__constant_64xi32_0, i64 0, i64 %62, !dbg !124 %64 = load i32, i32* %63, align 4, !dbg !124 %65 = or i64 %16, 16, !dbg !123 %66 = getelementptr [64 x i32], [64 x i32]* @__constant_64xi32_0, i64 0, i64 %65, !dbg !124 %67 = load i32, i32* %66, align 16, !dbg !124 %68 = or i64 %16, 17, !dbg !123 %69 = getelementptr [64 x i32], [64 x i32]* @__constant_64xi32_0, i64 0, i64 %68, !dbg !124 %70 = load i32, i32* %69, align 4, !dbg !124 %71 = or i64 %16, 18, !dbg !123 %72 = getelementptr [64 x i32], [64 x i32]* @__constant_64xi32_0, i64 0, i64 %71, !dbg !124 %73 = load i32, i32* %72, align 8, !dbg !124 %74 = or i64 %16, 19, !dbg !123 %75 = getelementptr [64 x i32], [64 x i32]* @__constant_64xi32_0, i64 0, i64 %74, !dbg !124 %76 = load i32, i32* %75, align 4, !dbg !124 %77 = or i64 %16, 20, !dbg !123 %78 = getelementptr [64 x i32], [64 x i32]* @__constant_64xi32_0, i64 0, i64 %77, !dbg !124 %79 = load i32, i32* %78, align 16, !dbg !124 %80 = or i64 %16, 21, !dbg !123 %81 = getelementptr [64 x i32], [64 x i32]* @__constant_64xi32_0, i64 0, i64 %80, !dbg !124 %82 = load i32, i32* %81, align 4, !dbg !124 %83 = or i64 %16, 22, !dbg !123 %84 = getelementptr [64 x i32], [64 x i32]* @__constant_64xi32_0, i64 0, i64 %83, !dbg !124 %85 = load i32, i32* %84, align 8, !dbg !124 %86 = or i64 %16, 23, !dbg !123 %87 = getelementptr [64 x i32], [64 x i32]* @__constant_64xi32_0, i64 0, i64 %86, !dbg !124 %88 = load i32, i32* %87, align 4, !dbg !124 %89 = or i64 %16, 24, !dbg !123 %90 = getelementptr [64 x i32], [64 x i32]* @__constant_64xi32_0, i64 0, i64 %89, !dbg !124 %91 = load i32, i32* %90, align 16, !dbg !124 %92 = or i64 %16, 25, !dbg !123 %93 = getelementptr [64 x i32], [64 x i32]* @__constant_64xi32_0, i64 0, i64 %92, !dbg !124 %94 = load i32, i32* %93, align 4, !dbg !124 %95 = or i64 %16, 26, !dbg !123 %96 = getelementptr [64 x i32], [64 x i32]* @__constant_64xi32_0, i64 0, i64 %95, !dbg !124 %97 = load i32, i32* %96, align 8, !dbg !124 %98 = or i64 %16, 27, !dbg !123 %99 = getelementptr [64 x i32], [64 x i32]* @__constant_64xi32_0, i64 0, i64 %98, !dbg !124 %100 = load i32, i32* %99, align 4, !dbg !124 %101 = or i64 %16, 28, !dbg !123 %102 = getelementptr [64 x i32], [64 x i32]* @__constant_64xi32_0, i64 0, i64 %101, !dbg !124 %103 = load i32, i32* %102, align 16, !dbg !124 %104 = or i64 %16, 29, !dbg !123 %105 = getelementptr [64 x i32], [64 x i32]* @__constant_64xi32_0, i64 0, i64 %104, !dbg !124 %106 = load i32, i32* %105, align 4, !dbg !124 %107 = or i64 %16, 30, !dbg !123 %108 = getelementptr [64 x i32], [64 x i32]* @__constant_64xi32_0, i64 0, i64 %107, !dbg !124 %109 = load i32, i32* %108, align 8, !dbg !124 %110 = or i64 %16, 31, !dbg !123 %111 = getelementptr [64 x i32], [64 x i32]* @__constant_64xi32_0, i64 0, i64 %110, !dbg !124 %112 = load i32, i32* %111, align 4, !dbg !124 %113 = bitcast i8* %8 to i32*, !dbg !120 %114 = mul nuw nsw i64 %15, 1536, !dbg !120 %115 = getelementptr i32, i32* %113, i64 %16, !dbg !123 %116 = bitcast i32* %115 to <32 x i32>*, !dbg !123 %117 = load <32 x i32>, <32 x i32>* %116, align 64, !dbg !123 %118 = getelementptr [64 x i32], [64 x i32]* @__constant_64xi32, i64 0, i64 %16, !dbg !123 %119 = load i32, i32* %118, align 16, !dbg !123 %120 = getelementptr [64 x i32], [64 x i32]* @__constant_64xi32, i64 0, i64 %20, !dbg !123 %121 = load i32, i32* %120, align 4, !dbg !123 %122 = getelementptr [64 x i32], [64 x i32]* @__constant_64xi32, i64 0, i64 %23, !dbg !123 %123 = load i32, i32* %122, align 8, !dbg !123 %124 = getelementptr [64 x i32], [64 x i32]* @__constant_64xi32, i64 0, i64 %26, !dbg !123 %125 = load i32, i32* %124, align 4, !dbg !123 %126 = getelementptr [64 x i32], [64 x i32]* @__constant_64xi32, i64 0, i64 %29, !dbg !123 %127 = load i32, i32* %126, align 16, !dbg !123 %128 = getelementptr [64 x i32], [64 x i32]* @__constant_64xi32, i64 0, i64 %32, !dbg !123 %129 = load i32, i32* %128, align 4, !dbg !123 %130 = getelementptr [64 x i32], [64 x i32]* @__constant_64xi32, i64 0, i64 %35, !dbg !123 %131 = load i32, i32* %130, align 8, !dbg !123 %132 = getelementptr [64 x i32], [64 x i32]* @__constant_64xi32, i64 0, i64 %38, !dbg !123 %133 = load i32, i32* %132, align 4, !dbg !123 %134 = getelementptr [64 x i32], [64 x i32]* @__constant_64xi32, i64 0, i64 %41, !dbg !123 %135 = load i32, i32* %134, align 16, !dbg !123 %136 = getelementptr [64 x i32], [64 x i32]* @__constant_64xi32, i64 0, i64 %44, !dbg !123 %137 = load i32, i32* %136, align 4, !dbg !123 %138 = getelementptr [64 x i32], [64 x i32]* @__constant_64xi32, i64 0, i64 %47, !dbg !123 %139 = load i32, i32* %138, align 8, !dbg !123 %140 = getelementptr [64 x i32], [64 x i32]* @__constant_64xi32, i64 0, i64 %50, !dbg !123 %141 = load i32, i32* %140, align 4, !dbg !123 %142 = getelementptr [64 x i32], [64 x i32]* @__constant_64xi32, i64 0, i64 %53, !dbg !123 %143 = load i32, i32* %142, align 16, !dbg !123 %144 = getelementptr [64 x i32], [64 x i32]* @__constant_64xi32, i64 0, i64 %56, !dbg !123 %145 = load i32, i32* %144, align 4, !dbg !123 %146 = getelementptr [64 x i32], [64 x i32]* @__constant_64xi32, i64 0, i64 %59, !dbg !123 %147 = load i32, i32* %146, align 8, !dbg !123 %148 = getelementptr [64 x i32], [64 x i32]* @__constant_64xi32, i64 0, i64 %62, !dbg !123 %149 = load i32, i32* %148, align 4, !dbg !123 %150 = getelementptr [64 x i32], [64 x i32]* @__constant_64xi32, i64 0, i64 %65, !dbg !123 %151 = load i32, i32* %150, align 16, !dbg !123 %152 = getelementptr [64 x i32], [64 x i32]* @__constant_64xi32, i64 0, i64 %68, !dbg !123 %153 = load i32, i32* %152, align 4, !dbg !123 %154 = getelementptr [64 x i32], [64 x i32]* @__constant_64xi32, i64 0, i64 %71, !dbg !123 %155 = load i32, i32* %154, align 8, !dbg !123 %156 = getelementptr [64 x i32], [64 x i32]* @__constant_64xi32, i64 0, i64 %74, !dbg !123 %157 = load i32, i32* %156, align 4, !dbg !123 %158 = getelementptr [64 x i32], [64 x i32]* @__constant_64xi32, i64 0, i64 %77, !dbg !123 %159 = load i32, i32* %158, align 16, !dbg !123 %160 = getelementptr [64 x i32], [64 x i32]* @__constant_64xi32, i64 0, i64 %80, !dbg !123 %161 = load i32, i32* %160, align 4, !dbg !123 %162 = getelementptr [64 x i32], [64 x i32]* @__constant_64xi32, i64 0, i64 %83, !dbg !123 %163 = load i32, i32* %162, align 8, !dbg !123 %164 = getelementptr [64 x i32], [64 x i32]* @__constant_64xi32, i64 0, i64 %86, !dbg !123 %165 = load i32, i32* %164, align 4, !dbg !123 %166 = getelementptr [64 x i32], [64 x i32]* @__constant_64xi32, i64 0, i64 %89, !dbg !123 %167 = load i32, i32* %166, align 16, !dbg !123 %168 = getelementptr [64 x i32], [64 x i32]* @__constant_64xi32, i64 0, i64 %92, !dbg !123 %169 = load i32, i32* %168, align 4, !dbg !123 %170 = getelementptr [64 x i32], [64 x i32]* @__constant_64xi32, i64 0, i64 %95, !dbg !123 %171 = load i32, i32* %170, align 8, !dbg !123 %172 = getelementptr [64 x i32], [64 x i32]* @__constant_64xi32, i64 0, i64 %98, !dbg !123 %173 = load i32, i32* %172, align 4, !dbg !123 %174 = getelementptr [64 x i32], [64 x i32]* @__constant_64xi32, i64 0, i64 %101, !dbg !123 %175 = load i32, i32* %174, align 16, !dbg !123 %176 = getelementptr [64 x i32], [64 x i32]* @__constant_64xi32, i64 0, i64 %104, !dbg !123 %177 = load i32, i32* %176, align 4, !dbg !123 %178 = getelementptr [64 x i32], [64 x i32]* @__constant_64xi32, i64 0, i64 %107, !dbg !123 %179 = load i32, i32* %178, align 8, !dbg !123 %180 = getelementptr [64 x i32], [64 x i32]* @__constant_64xi32, i64 0, i64 %110, !dbg !123 %181 = load i32, i32* %180, align 4, !dbg !123 %182 = insertelement <32 x i32> , i32 %19, i64 0, !dbg !123 %183 = insertelement <32 x i32> %182, i32 %22, i64 1, !dbg !123 %184 = insertelement <32 x i32> %183, i32 %25, i64 2, !dbg !123 %185 = insertelement <32 x i32> %184, i32 %28, i64 3, !dbg !123 %186 = insertelement <32 x i32> %185, i32 %31, i64 4, !dbg !123 %187 = insertelement <32 x i32> %186, i32 %34, i64 5, !dbg !123 %188 = insertelement <32 x i32> %187, i32 %37, i64 6, !dbg !123 %189 = insertelement <32 x i32> %188, i32 %40, i64 7, !dbg !123 %190 = insertelement <32 x i32> %189, i32 %43, i64 8, !dbg !123 %191 = insertelement <32 x i32> %190, i32 %46, i64 9, !dbg !123 %192 = insertelement <32 x i32> %191, i32 %49, i64 10, !dbg !123 %193 = insertelement <32 x i32> %192, i32 %52, i64 11, !dbg !123 %194 = insertelement <32 x i32> %193, i32 %55, i64 12, !dbg !123 %195 = insertelement <32 x i32> %194, i32 %58, i64 13, !dbg !123 %196 = insertelement <32 x i32> %195, i32 %61, i64 14, !dbg !123 %197 = insertelement <32 x i32> %196, i32 %64, i64 15, !dbg !123 %198 = insertelement <32 x i32> %197, i32 %67, i64 16, !dbg !123 %199 = insertelement <32 x i32> %198, i32 %70, i64 17, !dbg !123 %200 = insertelement <32 x i32> %199, i32 %73, i64 18, !dbg !123 %201 = insertelement <32 x i32> %200, i32 %76, i64 19, !dbg !123 %202 = insertelement <32 x i32> %201, i32 %79, i64 20, !dbg !123 %203 = insertelement <32 x i32> %202, i32 %82, i64 21, !dbg !123 %204 = insertelement <32 x i32> %203, i32 %85, i64 22, !dbg !123 %205 = insertelement <32 x i32> %204, i32 %88, i64 23, !dbg !123 %206 = insertelement <32 x i32> %205, i32 %91, i64 24, !dbg !123 %207 = insertelement <32 x i32> %206, i32 %94, i64 25, !dbg !123 %208 = insertelement <32 x i32> %207, i32 %97, i64 26, !dbg !123 %209 = insertelement <32 x i32> %208, i32 %100, i64 27, !dbg !123 %210 = insertelement <32 x i32> %209, i32 %103, i64 28, !dbg !123 %211 = insertelement <32 x i32> %210, i32 %106, i64 29, !dbg !123 %212 = insertelement <32 x i32> %211, i32 %109, i64 30, !dbg !123 %213 = insertelement <32 x i32> %212, i32 %112, i64 31, !dbg !123 %214 = getelementptr [64 x i8], [64 x i8]* @__constant_64xi8, i64 0, i64 %16, !dbg !123 %215 = load i8, i8* %214, align 16, !dbg !123 %216 = insertelement <32 x i8> , i8 %215, i64 0, !dbg !123 %217 = getelementptr [64 x i8], [64 x i8]* @__constant_64xi8, i64 0, i64 %20, !dbg !123 %218 = load i8, i8* %217, align 1, !dbg !123 %219 = insertelement <32 x i8> %216, i8 %218, i64 1, !dbg !123 %220 = getelementptr [64 x i8], [64 x i8]* @__constant_64xi8, i64 0, i64 %23, !dbg !123 %221 = load i8, i8* %220, align 2, !dbg !123 %222 = insertelement <32 x i8> %219, i8 %221, i64 2, !dbg !123 %223 = getelementptr [64 x i8], [64 x i8]* @__constant_64xi8, i64 0, i64 %26, !dbg !123 %224 = load i8, i8* %223, align 1, !dbg !123 %225 = insertelement <32 x i8> %222, i8 %224, i64 3, !dbg !123 %226 = getelementptr [64 x i8], [64 x i8]* @__constant_64xi8, i64 0, i64 %29, !dbg !123 %227 = load i8, i8* %226, align 4, !dbg !123 %228 = insertelement <32 x i8> %225, i8 %227, i64 4, !dbg !123 %229 = getelementptr [64 x i8], [64 x i8]* @__constant_64xi8, i64 0, i64 %32, !dbg !123 %230 = load i8, i8* %229, align 1, !dbg !123 %231 = insertelement <32 x i8> %228, i8 %230, i64 5, !dbg !123 %232 = getelementptr [64 x i8], [64 x i8]* @__constant_64xi8, i64 0, i64 %35, !dbg !123 %233 = load i8, i8* %232, align 2, !dbg !123 %234 = insertelement <32 x i8> %231, i8 %233, i64 6, !dbg !123 %235 = getelementptr [64 x i8], [64 x i8]* @__constant_64xi8, i64 0, i64 %38, !dbg !123 %236 = load i8, i8* %235, align 1, !dbg !123 %237 = insertelement <32 x i8> %234, i8 %236, i64 7, !dbg !123 %238 = getelementptr [64 x i8], [64 x i8]* @__constant_64xi8, i64 0, i64 %41, !dbg !123 %239 = load i8, i8* %238, align 8, !dbg !123 %240 = insertelement <32 x i8> %237, i8 %239, i64 8, !dbg !123 %241 = getelementptr [64 x i8], [64 x i8]* @__constant_64xi8, i64 0, i64 %44, !dbg !123 %242 = load i8, i8* %241, align 1, !dbg !123 %243 = insertelement <32 x i8> %240, i8 %242, i64 9, !dbg !123 %244 = getelementptr [64 x i8], [64 x i8]* @__constant_64xi8, i64 0, i64 %47, !dbg !123 %245 = load i8, i8* %244, align 2, !dbg !123 %246 = insertelement <32 x i8> %243, i8 %245, i64 10, !dbg !123 %247 = getelementptr [64 x i8], [64 x i8]* @__constant_64xi8, i64 0, i64 %50, !dbg !123 %248 = load i8, i8* %247, align 1, !dbg !123 %249 = insertelement <32 x i8> %246, i8 %248, i64 11, !dbg !123 %250 = getelementptr [64 x i8], [64 x i8]* @__constant_64xi8, i64 0, i64 %53, !dbg !123 %251 = load i8, i8* %250, align 4, !dbg !123 %252 = insertelement <32 x i8> %249, i8 %251, i64 12, !dbg !123 %253 = getelementptr [64 x i8], [64 x i8]* @__constant_64xi8, i64 0, i64 %56, !dbg !123 %254 = load i8, i8* %253, align 1, !dbg !123 %255 = insertelement <32 x i8> %252, i8 %254, i64 13, !dbg !123 %256 = getelementptr [64 x i8], [64 x i8]* @__constant_64xi8, i64 0, i64 %59, !dbg !123 %257 = load i8, i8* %256, align 2, !dbg !123 %258 = insertelement <32 x i8> %255, i8 %257, i64 14, !dbg !123 %259 = getelementptr [64 x i8], [64 x i8]* @__constant_64xi8, i64 0, i64 %62, !dbg !123 %260 = load i8, i8* %259, align 1, !dbg !123 %261 = insertelement <32 x i8> %258, i8 %260, i64 15, !dbg !123 %262 = getelementptr [64 x i8], [64 x i8]* @__constant_64xi8, i64 0, i64 %65, !dbg !123 %263 = load i8, i8* %262, align 16, !dbg !123 %264 = insertelement <32 x i8> %261, i8 %263, i64 16, !dbg !123 %265 = getelementptr [64 x i8], [64 x i8]* @__constant_64xi8, i64 0, i64 %68, !dbg !123 %266 = load i8, i8* %265, align 1, !dbg !123 %267 = insertelement <32 x i8> %264, i8 %266, i64 17, !dbg !123 %268 = getelementptr [64 x i8], [64 x i8]* @__constant_64xi8, i64 0, i64 %71, !dbg !123 %269 = load i8, i8* %268, align 2, !dbg !123 %270 = insertelement <32 x i8> %267, i8 %269, i64 18, !dbg !123 %271 = getelementptr [64 x i8], [64 x i8]* @__constant_64xi8, i64 0, i64 %74, !dbg !123 %272 = load i8, i8* %271, align 1, !dbg !123 %273 = insertelement <32 x i8> %270, i8 %272, i64 19, !dbg !123 %274 = getelementptr [64 x i8], [64 x i8]* @__constant_64xi8, i64 0, i64 %77, !dbg !123 %275 = load i8, i8* %274, align 4, !dbg !123 %276 = insertelement <32 x i8> %273, i8 %275, i64 20, !dbg !123 %277 = getelementptr [64 x i8], [64 x i8]* @__constant_64xi8, i64 0, i64 %80, !dbg !123 %278 = load i8, i8* %277, align 1, !dbg !123 %279 = insertelement <32 x i8> %276, i8 %278, i64 21, !dbg !123 %280 = getelementptr [64 x i8], [64 x i8]* @__constant_64xi8, i64 0, i64 %83, !dbg !123 %281 = load i8, i8* %280, align 2, !dbg !123 %282 = insertelement <32 x i8> %279, i8 %281, i64 22, !dbg !123 %283 = getelementptr [64 x i8], [64 x i8]* @__constant_64xi8, i64 0, i64 %86, !dbg !123 %284 = load i8, i8* %283, align 1, !dbg !123 %285 = insertelement <32 x i8> %282, i8 %284, i64 23, !dbg !123 %286 = getelementptr [64 x i8], [64 x i8]* @__constant_64xi8, i64 0, i64 %89, !dbg !123 %287 = load i8, i8* %286, align 8, !dbg !123 %288 = insertelement <32 x i8> %285, i8 %287, i64 24, !dbg !123 %289 = getelementptr [64 x i8], [64 x i8]* @__constant_64xi8, i64 0, i64 %92, !dbg !123 %290 = load i8, i8* %289, align 1, !dbg !123 %291 = insertelement <32 x i8> %288, i8 %290, i64 25, !dbg !123 %292 = getelementptr [64 x i8], [64 x i8]* @__constant_64xi8, i64 0, i64 %95, !dbg !123 %293 = load i8, i8* %292, align 2, !dbg !123 %294 = insertelement <32 x i8> %291, i8 %293, i64 26, !dbg !123 %295 = getelementptr [64 x i8], [64 x i8]* @__constant_64xi8, i64 0, i64 %98, !dbg !123 %296 = load i8, i8* %295, align 1, !dbg !123 %297 = insertelement <32 x i8> %294, i8 %296, i64 27, !dbg !123 %298 = getelementptr [64 x i8], [64 x i8]* @__constant_64xi8, i64 0, i64 %101, !dbg !123 %299 = load i8, i8* %298, align 4, !dbg !123 %300 = insertelement <32 x i8> %297, i8 %299, i64 28, !dbg !123 %301 = getelementptr [64 x i8], [64 x i8]* @__constant_64xi8, i64 0, i64 %104, !dbg !123 %302 = load i8, i8* %301, align 1, !dbg !123 %303 = insertelement <32 x i8> %300, i8 %302, i64 29, !dbg !123 %304 = getelementptr [64 x i8], [64 x i8]* @__constant_64xi8, i64 0, i64 %107, !dbg !123 %305 = load i8, i8* %304, align 2, !dbg !123 %306 = insertelement <32 x i8> %303, i8 %305, i64 30, !dbg !123 %307 = getelementptr [64 x i8], [64 x i8]* @__constant_64xi8, i64 0, i64 %110, !dbg !123 %308 = load i8, i8* %307, align 1, !dbg !123 %309 = insertelement <32 x i8> %306, i8 %308, i64 31, !dbg !123 %310 = insertelement <32 x i32> , i32 %119, i64 0, !dbg !123 %311 = insertelement <32 x i32> %310, i32 %121, i64 1, !dbg !123 %312 = insertelement <32 x i32> %311, i32 %123, i64 2, !dbg !123 %313 = insertelement <32 x i32> %312, i32 %125, i64 3, !dbg !123 %314 = insertelement <32 x i32> %313, i32 %127, i64 4, !dbg !123 %315 = insertelement <32 x i32> %314, i32 %129, i64 5, !dbg !123 %316 = insertelement <32 x i32> %315, i32 %131, i64 6, !dbg !123 %317 = insertelement <32 x i32> %316, i32 %133, i64 7, !dbg !123 %318 = insertelement <32 x i32> %317, i32 %135, i64 8, !dbg !123 %319 = insertelement <32 x i32> %318, i32 %137, i64 9, !dbg !123 %320 = insertelement <32 x i32> %319, i32 %139, i64 10, !dbg !123 %321 = insertelement <32 x i32> %320, i32 %141, i64 11, !dbg !123 %322 = insertelement <32 x i32> %321, i32 %143, i64 12, !dbg !123 %323 = insertelement <32 x i32> %322, i32 %145, i64 13, !dbg !123 %324 = insertelement <32 x i32> %323, i32 %147, i64 14, !dbg !123 %325 = insertelement <32 x i32> %324, i32 %149, i64 15, !dbg !123 %326 = insertelement <32 x i32> %325, i32 %151, i64 16, !dbg !123 %327 = insertelement <32 x i32> %326, i32 %153, i64 17, !dbg !123 %328 = insertelement <32 x i32> %327, i32 %155, i64 18, !dbg !123 %329 = insertelement <32 x i32> %328, i32 %157, i64 19, !dbg !123 %330 = insertelement <32 x i32> %329, i32 %159, i64 20, !dbg !123 %331 = insertelement <32 x i32> %330, i32 %161, i64 21, !dbg !123 %332 = insertelement <32 x i32> %331, i32 %163, i64 22, !dbg !123 %333 = insertelement <32 x i32> %332, i32 %165, i64 23, !dbg !123 %334 = insertelement <32 x i32> %333, i32 %167, i64 24, !dbg !123 %335 = insertelement <32 x i32> %334, i32 %169, i64 25, !dbg !123 %336 = insertelement <32 x i32> %335, i32 %171, i64 26, !dbg !123 %337 = insertelement <32 x i32> %336, i32 %173, i64 27, !dbg !123 %338 = insertelement <32 x i32> %337, i32 %175, i64 28, !dbg !123 %339 = insertelement <32 x i32> %338, i32 %177, i64 29, !dbg !123 %340 = insertelement <32 x i32> %339, i32 %179, i64 30, !dbg !123 %341 = insertelement <32 x i32> %340, i32 %181, i64 31, !dbg !123 %342 = add nuw nsw i64 %17, %16, !dbg !123 %343 = mul <32 x i32> %117, , !dbg !120 %344 = add nuw nsw i64 %16, 64 %345 = add nuw nsw i64 %16, 128 %346 = add nuw nsw i64 %16, 192 %347 = add nuw nsw i64 %16, 256 %348 = add nuw nsw i64 %16, 320 %349 = add nuw nsw i64 %16, 384 %350 = add nuw nsw i64 %16, 448 %351 = add nuw nsw i64 %16, 512 %352 = add nuw nsw i64 %16, 576 %353 = add nuw nsw i64 %16, 640 %354 = add nuw nsw i64 %16, 704 %355 = add nuw nsw i64 %16, 768 %356 = add nuw nsw i64 %16, 832 %357 = add nuw nsw i64 %16, 896 %358 = add nuw nsw i64 %16, 960 %359 = sext <32 x i32> %341 to <32 x i64> %360 = zext <32 x i8> %309 to <32 x i64> %361 = shl <32 x i64> , %360 %362 = lshr <32 x i64> %361, br label %363, !dbg !123 363: ; preds = %.preheader, %906 %364 = phi i64 [ 0, %.preheader ], [ %1060, %906 ] %365 = or i64 %364, 1, !dbg !120 %366 = or i64 %364, 2, !dbg !120 %367 = or i64 %364, 3, !dbg !120 %368 = or i64 %364, 4, !dbg !120 %369 = or i64 %364, 5, !dbg !120 %370 = or i64 %364, 6, !dbg !120 %371 = or i64 %364, 7, !dbg !120 %372 = shl nuw nsw i64 %364, 5 %373 = shl nuw nsw i64 %365, 5 %374 = shl nuw nsw i64 %366, 5 %375 = shl nuw nsw i64 %367, 5 %376 = shl nuw nsw i64 %368, 5 %377 = shl nuw nsw i64 %369, 5 %378 = shl nuw nsw i64 %370, 5 %379 = shl nuw nsw i64 %371, 5 br label %380, !dbg !120 380: ; preds = %363, %380 %381 = phi [8 x <32 x i32>] [ zeroinitializer, %363 ], [ %905, %380 ] %382 = phi i1 [ true, %363 ], [ false, %380 ] %383 = phi i64 [ 0, %363 ], [ 16, %380 ] %384 = or i64 %383, %114, !dbg !120 %385 = add nuw nsw i64 %384, %372, !dbg !120 %386 = getelementptr i8, i8* %4, i64 %385, !dbg !120 %387 = bitcast i8* %386 to <16 x i8>*, !dbg !120 %388 = load <16 x i8>, <16 x i8>* %387, align 16, !dbg !120 %389 = add nuw nsw i64 %384, %373, !dbg !120 %390 = getelementptr i8, i8* %4, i64 %389, !dbg !120 %391 = bitcast i8* %390 to <16 x i8>*, !dbg !120 %392 = load <16 x i8>, <16 x i8>* %391, align 16, !dbg !120 %393 = add nuw nsw i64 %384, %374, !dbg !120 %394 = getelementptr i8, i8* %4, i64 %393, !dbg !120 %395 = bitcast i8* %394 to <16 x i8>*, !dbg !120 %396 = load <16 x i8>, <16 x i8>* %395, align 16, !dbg !120 %397 = add nuw nsw i64 %384, %375, !dbg !120 %398 = getelementptr i8, i8* %4, i64 %397, !dbg !120 %399 = bitcast i8* %398 to <16 x i8>*, !dbg !120 %400 = load <16 x i8>, <16 x i8>* %399, align 16, !dbg !120 %401 = add nuw nsw i64 %384, %376, !dbg !120 %402 = getelementptr i8, i8* %4, i64 %401, !dbg !120 %403 = bitcast i8* %402 to <16 x i8>*, !dbg !120 %404 = load <16 x i8>, <16 x i8>* %403, align 16, !dbg !120 %405 = add nuw nsw i64 %384, %377, !dbg !120 %406 = getelementptr i8, i8* %4, i64 %405, !dbg !120 %407 = bitcast i8* %406 to <16 x i8>*, !dbg !120 %408 = load <16 x i8>, <16 x i8>* %407, align 16, !dbg !120 %409 = add nuw nsw i64 %384, %378, !dbg !120 %410 = getelementptr i8, i8* %4, i64 %409, !dbg !120 %411 = bitcast i8* %410 to <16 x i8>*, !dbg !120 %412 = load <16 x i8>, <16 x i8>* %411, align 16, !dbg !120 %413 = add nuw nsw i64 %384, %379, !dbg !120 %414 = getelementptr i8, i8* %4, i64 %413, !dbg !120 %415 = bitcast i8* %414 to <16 x i8>*, !dbg !120 %416 = load <16 x i8>, <16 x i8>* %415, align 16, !dbg !120 %417 = shl nuw nsw i64 %383, 6, !dbg !120 %418 = add nuw nsw i64 %417, %16, !dbg !120 %419 = getelementptr i8, i8* %7, i64 %418, !dbg !120 %420 = bitcast i8* %419 to <32 x i8>*, !dbg !120 %421 = load <32 x i8>, <32 x i8>* %420, align 32, !dbg !120 %422 = add nuw nsw i64 %344, %417, !dbg !120 %423 = getelementptr i8, i8* %7, i64 %422, !dbg !120 %424 = bitcast i8* %423 to <32 x i8>*, !dbg !120 %425 = load <32 x i8>, <32 x i8>* %424, align 32, !dbg !120 %426 = add nuw nsw i64 %345, %417, !dbg !120 %427 = getelementptr i8, i8* %7, i64 %426, !dbg !120 %428 = bitcast i8* %427 to <32 x i8>*, !dbg !120 %429 = load <32 x i8>, <32 x i8>* %428, align 32, !dbg !120 %430 = add nuw nsw i64 %346, %417, !dbg !120 %431 = getelementptr i8, i8* %7, i64 %430, !dbg !120 %432 = bitcast i8* %431 to <32 x i8>*, !dbg !120 %433 = load <32 x i8>, <32 x i8>* %432, align 32, !dbg !120 %434 = add nuw nsw i64 %347, %417, !dbg !120 %435 = getelementptr i8, i8* %7, i64 %434, !dbg !120 %436 = bitcast i8* %435 to <32 x i8>*, !dbg !120 %437 = load <32 x i8>, <32 x i8>* %436, align 32, !dbg !120 %438 = add nuw nsw i64 %348, %417, !dbg !120 %439 = getelementptr i8, i8* %7, i64 %438, !dbg !120 %440 = bitcast i8* %439 to <32 x i8>*, !dbg !120 %441 = load <32 x i8>, <32 x i8>* %440, align 32, !dbg !120 %442 = add nuw nsw i64 %349, %417, !dbg !120 %443 = getelementptr i8, i8* %7, i64 %442, !dbg !120 %444 = bitcast i8* %443 to <32 x i8>*, !dbg !120 %445 = load <32 x i8>, <32 x i8>* %444, align 32, !dbg !120 %446 = add nuw nsw i64 %350, %417, !dbg !120 %447 = getelementptr i8, i8* %7, i64 %446, !dbg !120 %448 = bitcast i8* %447 to <32 x i8>*, !dbg !120 %449 = load <32 x i8>, <32 x i8>* %448, align 32, !dbg !120 %450 = add nuw nsw i64 %351, %417, !dbg !120 %451 = getelementptr i8, i8* %7, i64 %450, !dbg !120 %452 = bitcast i8* %451 to <32 x i8>*, !dbg !120 %453 = load <32 x i8>, <32 x i8>* %452, align 32, !dbg !120 %454 = add nuw nsw i64 %352, %417, !dbg !120 %455 = getelementptr i8, i8* %7, i64 %454, !dbg !120 %456 = bitcast i8* %455 to <32 x i8>*, !dbg !120 %457 = load <32 x i8>, <32 x i8>* %456, align 32, !dbg !120 %458 = add nuw nsw i64 %353, %417, !dbg !120 %459 = getelementptr i8, i8* %7, i64 %458, !dbg !120 %460 = bitcast i8* %459 to <32 x i8>*, !dbg !120 %461 = load <32 x i8>, <32 x i8>* %460, align 32, !dbg !120 %462 = add nuw nsw i64 %354, %417, !dbg !120 %463 = getelementptr i8, i8* %7, i64 %462, !dbg !120 %464 = bitcast i8* %463 to <32 x i8>*, !dbg !120 %465 = load <32 x i8>, <32 x i8>* %464, align 32, !dbg !120 %466 = add nuw nsw i64 %355, %417, !dbg !120 %467 = getelementptr i8, i8* %7, i64 %466, !dbg !120 %468 = bitcast i8* %467 to <32 x i8>*, !dbg !120 %469 = load <32 x i8>, <32 x i8>* %468, align 32, !dbg !120 %470 = add nuw nsw i64 %356, %417, !dbg !120 %471 = getelementptr i8, i8* %7, i64 %470, !dbg !120 %472 = bitcast i8* %471 to <32 x i8>*, !dbg !120 %473 = load <32 x i8>, <32 x i8>* %472, align 32, !dbg !120 %474 = add nuw nsw i64 %357, %417, !dbg !120 %475 = getelementptr i8, i8* %7, i64 %474, !dbg !120 %476 = bitcast i8* %475 to <32 x i8>*, !dbg !120 %477 = load <32 x i8>, <32 x i8>* %476, align 32, !dbg !120 %478 = add nuw nsw i64 %358, %417, !dbg !120 %479 = getelementptr i8, i8* %7, i64 %478, !dbg !120 %480 = bitcast i8* %479 to <32 x i8>*, !dbg !120 %481 = load <32 x i8>, <32 x i8>* %480, align 32, !dbg !120 %482 = sext <16 x i8> %388 to <16 x i32> %483 = sext <16 x i8> %392 to <16 x i32> %484 = sext <16 x i8> %396 to <16 x i32> %485 = sext <16 x i8> %400 to <16 x i32> %486 = sext <16 x i8> %404 to <16 x i32> %487 = sext <16 x i8> %408 to <16 x i32> %488 = sext <16 x i8> %412 to <16 x i32> %489 = sext <16 x i8> %416 to <16 x i32> %490 = sext <32 x i8> %421 to <32 x i32> %491 = sext <32 x i8> %425 to <32 x i32> %492 = sext <32 x i8> %429 to <32 x i32> %493 = sext <32 x i8> %433 to <32 x i32> %494 = sext <32 x i8> %437 to <32 x i32> %495 = sext <32 x i8> %441 to <32 x i32> %496 = sext <32 x i8> %445 to <32 x i32> %497 = sext <32 x i8> %449 to <32 x i32> %498 = sext <32 x i8> %453 to <32 x i32> %499 = sext <32 x i8> %457 to <32 x i32> %500 = sext <32 x i8> %461 to <32 x i32> %501 = sext <32 x i8> %465 to <32 x i32> %502 = sext <32 x i8> %469 to <32 x i32> %503 = sext <32 x i8> %473 to <32 x i32> %504 = sext <32 x i8> %477 to <32 x i32> %505 = sext <32 x i8> %481 to <32 x i32> %506 = shufflevector <16 x i32> %482, <16 x i32> undef, <32 x i32> zeroinitializer %507 = extractvalue [8 x <32 x i32>] %381, 0 %508 = mul nsw <32 x i32> %506, %490 %509 = add <32 x i32> %508, %507 %510 = shufflevector <16 x i32> %483, <16 x i32> undef, <32 x i32> zeroinitializer %511 = extractvalue [8 x <32 x i32>] %381, 1 %512 = mul nsw <32 x i32> %510, %490 %513 = add <32 x i32> %512, %511 %514 = shufflevector <16 x i32> %484, <16 x i32> undef, <32 x i32> zeroinitializer %515 = extractvalue [8 x <32 x i32>] %381, 2 %516 = mul nsw <32 x i32> %514, %490 %517 = add <32 x i32> %516, %515 %518 = shufflevector <16 x i32> %485, <16 x i32> undef, <32 x i32> zeroinitializer %519 = extractvalue [8 x <32 x i32>] %381, 3 %520 = mul nsw <32 x i32> %518, %490 %521 = add <32 x i32> %520, %519 %522 = shufflevector <16 x i32> %486, <16 x i32> undef, <32 x i32> zeroinitializer %523 = extractvalue [8 x <32 x i32>] %381, 4 %524 = mul nsw <32 x i32> %522, %490 %525 = add <32 x i32> %524, %523 %526 = shufflevector <16 x i32> %487, <16 x i32> undef, <32 x i32> zeroinitializer %527 = extractvalue [8 x <32 x i32>] %381, 5 %528 = mul nsw <32 x i32> %526, %490 %529 = add <32 x i32> %528, %527 %530 = shufflevector <16 x i32> %488, <16 x i32> undef, <32 x i32> zeroinitializer %531 = extractvalue [8 x <32 x i32>] %381, 6 %532 = mul nsw <32 x i32> %530, %490 %533 = add <32 x i32> %532, %531 %534 = shufflevector <16 x i32> %489, <16 x i32> undef, <32 x i32> zeroinitializer %535 = extractvalue [8 x <32 x i32>] %381, 7 %536 = mul nsw <32 x i32> %534, %490 %537 = add <32 x i32> %536, %535 %538 = shufflevector <16 x i32> %482, <16 x i32> undef, <32 x i32> %539 = mul nsw <32 x i32> %538, %491 %540 = add <32 x i32> %509, %539 %541 = shufflevector <16 x i32> %483, <16 x i32> undef, <32 x i32> %542 = mul nsw <32 x i32> %541, %491 %543 = add <32 x i32> %513, %542 %544 = shufflevector <16 x i32> %484, <16 x i32> undef, <32 x i32> %545 = mul nsw <32 x i32> %544, %491 %546 = add <32 x i32> %517, %545 %547 = shufflevector <16 x i32> %485, <16 x i32> undef, <32 x i32> %548 = mul nsw <32 x i32> %547, %491 %549 = add <32 x i32> %521, %548 %550 = shufflevector <16 x i32> %486, <16 x i32> undef, <32 x i32> %551 = mul nsw <32 x i32> %550, %491 %552 = add <32 x i32> %525, %551 %553 = shufflevector <16 x i32> %487, <16 x i32> undef, <32 x i32> %554 = mul nsw <32 x i32> %553, %491 %555 = add <32 x i32> %529, %554 %556 = shufflevector <16 x i32> %488, <16 x i32> undef, <32 x i32> %557 = mul nsw <32 x i32> %556, %491 %558 = add <32 x i32> %533, %557 %559 = shufflevector <16 x i32> %489, <16 x i32> undef, <32 x i32> %560 = mul nsw <32 x i32> %559, %491 %561 = add <32 x i32> %537, %560 %562 = shufflevector <16 x i32> %482, <16 x i32> undef, <32 x i32> %563 = mul nsw <32 x i32> %562, %492 %564 = add <32 x i32> %540, %563 %565 = shufflevector <16 x i32> %483, <16 x i32> undef, <32 x i32> %566 = mul nsw <32 x i32> %565, %492 %567 = add <32 x i32> %543, %566 %568 = shufflevector <16 x i32> %484, <16 x i32> undef, <32 x i32> %569 = mul nsw <32 x i32> %568, %492 %570 = add <32 x i32> %546, %569 %571 = shufflevector <16 x i32> %485, <16 x i32> undef, <32 x i32> %572 = mul nsw <32 x i32> %571, %492 %573 = add <32 x i32> %549, %572 %574 = shufflevector <16 x i32> %486, <16 x i32> undef, <32 x i32> %575 = mul nsw <32 x i32> %574, %492 %576 = add <32 x i32> %552, %575 %577 = shufflevector <16 x i32> %487, <16 x i32> undef, <32 x i32> %578 = mul nsw <32 x i32> %577, %492 %579 = add <32 x i32> %555, %578 %580 = shufflevector <16 x i32> %488, <16 x i32> undef, <32 x i32> %581 = mul nsw <32 x i32> %580, %492 %582 = add <32 x i32> %558, %581 %583 = shufflevector <16 x i32> %489, <16 x i32> undef, <32 x i32> %584 = mul nsw <32 x i32> %583, %492 %585 = add <32 x i32> %561, %584 %586 = shufflevector <16 x i32> %482, <16 x i32> undef, <32 x i32> %587 = mul nsw <32 x i32> %586, %493 %588 = add <32 x i32> %564, %587 %589 = shufflevector <16 x i32> %483, <16 x i32> undef, <32 x i32> %590 = mul nsw <32 x i32> %589, %493 %591 = add <32 x i32> %567, %590 %592 = shufflevector <16 x i32> %484, <16 x i32> undef, <32 x i32> %593 = mul nsw <32 x i32> %592, %493 %594 = add <32 x i32> %570, %593 %595 = shufflevector <16 x i32> %485, <16 x i32> undef, <32 x i32> %596 = mul nsw <32 x i32> %595, %493 %597 = add <32 x i32> %573, %596 %598 = shufflevector <16 x i32> %486, <16 x i32> undef, <32 x i32> %599 = mul nsw <32 x i32> %598, %493 %600 = add <32 x i32> %576, %599 %601 = shufflevector <16 x i32> %487, <16 x i32> undef, <32 x i32> %602 = mul nsw <32 x i32> %601, %493 %603 = add <32 x i32> %579, %602 %604 = shufflevector <16 x i32> %488, <16 x i32> undef, <32 x i32> %605 = mul nsw <32 x i32> %604, %493 %606 = add <32 x i32> %582, %605 %607 = shufflevector <16 x i32> %489, <16 x i32> undef, <32 x i32> %608 = mul nsw <32 x i32> %607, %493 %609 = add <32 x i32> %585, %608 %610 = shufflevector <16 x i32> %482, <16 x i32> undef, <32 x i32> %611 = mul nsw <32 x i32> %610, %494 %612 = add <32 x i32> %588, %611 %613 = shufflevector <16 x i32> %483, <16 x i32> undef, <32 x i32> %614 = mul nsw <32 x i32> %613, %494 %615 = add <32 x i32> %591, %614 %616 = shufflevector <16 x i32> %484, <16 x i32> undef, <32 x i32> %617 = mul nsw <32 x i32> %616, %494 %618 = add <32 x i32> %594, %617 %619 = shufflevector <16 x i32> %485, <16 x i32> undef, <32 x i32> %620 = mul nsw <32 x i32> %619, %494 %621 = add <32 x i32> %597, %620 %622 = shufflevector <16 x i32> %486, <16 x i32> undef, <32 x i32> %623 = mul nsw <32 x i32> %622, %494 %624 = add <32 x i32> %600, %623 %625 = shufflevector <16 x i32> %487, <16 x i32> undef, <32 x i32> %626 = mul nsw <32 x i32> %625, %494 %627 = add <32 x i32> %603, %626 %628 = shufflevector <16 x i32> %488, <16 x i32> undef, <32 x i32> %629 = mul nsw <32 x i32> %628, %494 %630 = add <32 x i32> %606, %629 %631 = shufflevector <16 x i32> %489, <16 x i32> undef, <32 x i32> %632 = mul nsw <32 x i32> %631, %494 %633 = add <32 x i32> %609, %632 %634 = shufflevector <16 x i32> %482, <16 x i32> undef, <32 x i32> %635 = mul nsw <32 x i32> %634, %495 %636 = add <32 x i32> %612, %635 %637 = shufflevector <16 x i32> %483, <16 x i32> undef, <32 x i32> %638 = mul nsw <32 x i32> %637, %495 %639 = add <32 x i32> %615, %638 %640 = shufflevector <16 x i32> %484, <16 x i32> undef, <32 x i32> %641 = mul nsw <32 x i32> %640, %495 %642 = add <32 x i32> %618, %641 %643 = shufflevector <16 x i32> %485, <16 x i32> undef, <32 x i32> %644 = mul nsw <32 x i32> %643, %495 %645 = add <32 x i32> %621, %644 %646 = shufflevector <16 x i32> %486, <16 x i32> undef, <32 x i32> %647 = mul nsw <32 x i32> %646, %495 %648 = add <32 x i32> %624, %647 %649 = shufflevector <16 x i32> %487, <16 x i32> undef, <32 x i32> %650 = mul nsw <32 x i32> %649, %495 %651 = add <32 x i32> %627, %650 %652 = shufflevector <16 x i32> %488, <16 x i32> undef, <32 x i32> %653 = mul nsw <32 x i32> %652, %495 %654 = add <32 x i32> %630, %653 %655 = shufflevector <16 x i32> %489, <16 x i32> undef, <32 x i32> %656 = mul nsw <32 x i32> %655, %495 %657 = add <32 x i32> %633, %656 %658 = shufflevector <16 x i32> %482, <16 x i32> undef, <32 x i32> %659 = mul nsw <32 x i32> %658, %496 %660 = add <32 x i32> %636, %659 %661 = shufflevector <16 x i32> %483, <16 x i32> undef, <32 x i32> %662 = mul nsw <32 x i32> %661, %496 %663 = add <32 x i32> %639, %662 %664 = shufflevector <16 x i32> %484, <16 x i32> undef, <32 x i32> %665 = mul nsw <32 x i32> %664, %496 %666 = add <32 x i32> %642, %665 %667 = shufflevector <16 x i32> %485, <16 x i32> undef, <32 x i32> %668 = mul nsw <32 x i32> %667, %496 %669 = add <32 x i32> %645, %668 %670 = shufflevector <16 x i32> %486, <16 x i32> undef, <32 x i32> %671 = mul nsw <32 x i32> %670, %496 %672 = add <32 x i32> %648, %671 %673 = shufflevector <16 x i32> %487, <16 x i32> undef, <32 x i32> %674 = mul nsw <32 x i32> %673, %496 %675 = add <32 x i32> %651, %674 %676 = shufflevector <16 x i32> %488, <16 x i32> undef, <32 x i32> %677 = mul nsw <32 x i32> %676, %496 %678 = add <32 x i32> %654, %677 %679 = shufflevector <16 x i32> %489, <16 x i32> undef, <32 x i32> %680 = mul nsw <32 x i32> %679, %496 %681 = add <32 x i32> %657, %680 %682 = shufflevector <16 x i32> %482, <16 x i32> undef, <32 x i32> %683 = mul nsw <32 x i32> %682, %497 %684 = add <32 x i32> %660, %683 %685 = shufflevector <16 x i32> %483, <16 x i32> undef, <32 x i32> %686 = mul nsw <32 x i32> %685, %497 %687 = add <32 x i32> %663, %686 %688 = shufflevector <16 x i32> %484, <16 x i32> undef, <32 x i32> %689 = mul nsw <32 x i32> %688, %497 %690 = add <32 x i32> %666, %689 %691 = shufflevector <16 x i32> %485, <16 x i32> undef, <32 x i32> %692 = mul nsw <32 x i32> %691, %497 %693 = add <32 x i32> %669, %692 %694 = shufflevector <16 x i32> %486, <16 x i32> undef, <32 x i32> %695 = mul nsw <32 x i32> %694, %497 %696 = add <32 x i32> %672, %695 %697 = shufflevector <16 x i32> %487, <16 x i32> undef, <32 x i32> %698 = mul nsw <32 x i32> %697, %497 %699 = add <32 x i32> %675, %698 %700 = shufflevector <16 x i32> %488, <16 x i32> undef, <32 x i32> %701 = mul nsw <32 x i32> %700, %497 %702 = add <32 x i32> %678, %701 %703 = shufflevector <16 x i32> %489, <16 x i32> undef, <32 x i32> %704 = mul nsw <32 x i32> %703, %497 %705 = add <32 x i32> %681, %704 %706 = shufflevector <16 x i32> %482, <16 x i32> undef, <32 x i32> %707 = mul nsw <32 x i32> %706, %498 %708 = add <32 x i32> %684, %707 %709 = shufflevector <16 x i32> %483, <16 x i32> undef, <32 x i32> %710 = mul nsw <32 x i32> %709, %498 %711 = add <32 x i32> %687, %710 %712 = shufflevector <16 x i32> %484, <16 x i32> undef, <32 x i32> %713 = mul nsw <32 x i32> %712, %498 %714 = add <32 x i32> %690, %713 %715 = shufflevector <16 x i32> %485, <16 x i32> undef, <32 x i32> %716 = mul nsw <32 x i32> %715, %498 %717 = add <32 x i32> %693, %716 %718 = shufflevector <16 x i32> %486, <16 x i32> undef, <32 x i32> %719 = mul nsw <32 x i32> %718, %498 %720 = add <32 x i32> %696, %719 %721 = shufflevector <16 x i32> %487, <16 x i32> undef, <32 x i32> %722 = mul nsw <32 x i32> %721, %498 %723 = add <32 x i32> %699, %722 %724 = shufflevector <16 x i32> %488, <16 x i32> undef, <32 x i32> %725 = mul nsw <32 x i32> %724, %498 %726 = add <32 x i32> %702, %725 %727 = shufflevector <16 x i32> %489, <16 x i32> undef, <32 x i32> %728 = mul nsw <32 x i32> %727, %498 %729 = add <32 x i32> %705, %728 %730 = shufflevector <16 x i32> %482, <16 x i32> undef, <32 x i32> %731 = mul nsw <32 x i32> %730, %499 %732 = add <32 x i32> %708, %731 %733 = shufflevector <16 x i32> %483, <16 x i32> undef, <32 x i32> %734 = mul nsw <32 x i32> %733, %499 %735 = add <32 x i32> %711, %734 %736 = shufflevector <16 x i32> %484, <16 x i32> undef, <32 x i32> %737 = mul nsw <32 x i32> %736, %499 %738 = add <32 x i32> %714, %737 %739 = shufflevector <16 x i32> %485, <16 x i32> undef, <32 x i32> %740 = mul nsw <32 x i32> %739, %499 %741 = add <32 x i32> %717, %740 %742 = shufflevector <16 x i32> %486, <16 x i32> undef, <32 x i32> %743 = mul nsw <32 x i32> %742, %499 %744 = add <32 x i32> %720, %743 %745 = shufflevector <16 x i32> %487, <16 x i32> undef, <32 x i32> %746 = mul nsw <32 x i32> %745, %499 %747 = add <32 x i32> %723, %746 %748 = shufflevector <16 x i32> %488, <16 x i32> undef, <32 x i32> %749 = mul nsw <32 x i32> %748, %499 %750 = add <32 x i32> %726, %749 %751 = shufflevector <16 x i32> %489, <16 x i32> undef, <32 x i32> %752 = mul nsw <32 x i32> %751, %499 %753 = add <32 x i32> %729, %752 %754 = shufflevector <16 x i32> %482, <16 x i32> undef, <32 x i32> %755 = mul nsw <32 x i32> %754, %500 %756 = add <32 x i32> %732, %755 %757 = shufflevector <16 x i32> %483, <16 x i32> undef, <32 x i32> %758 = mul nsw <32 x i32> %757, %500 %759 = add <32 x i32> %735, %758 %760 = shufflevector <16 x i32> %484, <16 x i32> undef, <32 x i32> %761 = mul nsw <32 x i32> %760, %500 %762 = add <32 x i32> %738, %761 %763 = shufflevector <16 x i32> %485, <16 x i32> undef, <32 x i32> %764 = mul nsw <32 x i32> %763, %500 %765 = add <32 x i32> %741, %764 %766 = shufflevector <16 x i32> %486, <16 x i32> undef, <32 x i32> %767 = mul nsw <32 x i32> %766, %500 %768 = add <32 x i32> %744, %767 %769 = shufflevector <16 x i32> %487, <16 x i32> undef, <32 x i32> %770 = mul nsw <32 x i32> %769, %500 %771 = add <32 x i32> %747, %770 %772 = shufflevector <16 x i32> %488, <16 x i32> undef, <32 x i32> %773 = mul nsw <32 x i32> %772, %500 %774 = add <32 x i32> %750, %773 %775 = shufflevector <16 x i32> %489, <16 x i32> undef, <32 x i32> %776 = mul nsw <32 x i32> %775, %500 %777 = add <32 x i32> %753, %776 %778 = shufflevector <16 x i32> %482, <16 x i32> undef, <32 x i32> %779 = mul nsw <32 x i32> %778, %501 %780 = add <32 x i32> %756, %779 %781 = shufflevector <16 x i32> %483, <16 x i32> undef, <32 x i32> %782 = mul nsw <32 x i32> %781, %501 %783 = add <32 x i32> %759, %782 %784 = shufflevector <16 x i32> %484, <16 x i32> undef, <32 x i32> %785 = mul nsw <32 x i32> %784, %501 %786 = add <32 x i32> %762, %785 %787 = shufflevector <16 x i32> %485, <16 x i32> undef, <32 x i32> %788 = mul nsw <32 x i32> %787, %501 %789 = add <32 x i32> %765, %788 %790 = shufflevector <16 x i32> %486, <16 x i32> undef, <32 x i32> %791 = mul nsw <32 x i32> %790, %501 %792 = add <32 x i32> %768, %791 %793 = shufflevector <16 x i32> %487, <16 x i32> undef, <32 x i32> %794 = mul nsw <32 x i32> %793, %501 %795 = add <32 x i32> %771, %794 %796 = shufflevector <16 x i32> %488, <16 x i32> undef, <32 x i32> %797 = mul nsw <32 x i32> %796, %501 %798 = add <32 x i32> %774, %797 %799 = shufflevector <16 x i32> %489, <16 x i32> undef, <32 x i32> %800 = mul nsw <32 x i32> %799, %501 %801 = add <32 x i32> %777, %800 %802 = shufflevector <16 x i32> %482, <16 x i32> undef, <32 x i32> %803 = mul nsw <32 x i32> %802, %502 %804 = add <32 x i32> %780, %803 %805 = shufflevector <16 x i32> %483, <16 x i32> undef, <32 x i32> %806 = mul nsw <32 x i32> %805, %502 %807 = add <32 x i32> %783, %806 %808 = shufflevector <16 x i32> %484, <16 x i32> undef, <32 x i32> %809 = mul nsw <32 x i32> %808, %502 %810 = add <32 x i32> %786, %809 %811 = shufflevector <16 x i32> %485, <16 x i32> undef, <32 x i32> %812 = mul nsw <32 x i32> %811, %502 %813 = add <32 x i32> %789, %812 %814 = shufflevector <16 x i32> %486, <16 x i32> undef, <32 x i32> %815 = mul nsw <32 x i32> %814, %502 %816 = add <32 x i32> %792, %815 %817 = shufflevector <16 x i32> %487, <16 x i32> undef, <32 x i32> %818 = mul nsw <32 x i32> %817, %502 %819 = add <32 x i32> %795, %818 %820 = shufflevector <16 x i32> %488, <16 x i32> undef, <32 x i32> %821 = mul nsw <32 x i32> %820, %502 %822 = add <32 x i32> %798, %821 %823 = shufflevector <16 x i32> %489, <16 x i32> undef, <32 x i32> %824 = mul nsw <32 x i32> %823, %502 %825 = add <32 x i32> %801, %824 %826 = shufflevector <16 x i32> %482, <16 x i32> undef, <32 x i32> %827 = mul nsw <32 x i32> %826, %503 %828 = add <32 x i32> %804, %827 %829 = shufflevector <16 x i32> %483, <16 x i32> undef, <32 x i32> %830 = mul nsw <32 x i32> %829, %503 %831 = add <32 x i32> %807, %830 %832 = shufflevector <16 x i32> %484, <16 x i32> undef, <32 x i32> %833 = mul nsw <32 x i32> %832, %503 %834 = add <32 x i32> %810, %833 %835 = shufflevector <16 x i32> %485, <16 x i32> undef, <32 x i32> %836 = mul nsw <32 x i32> %835, %503 %837 = add <32 x i32> %813, %836 %838 = shufflevector <16 x i32> %486, <16 x i32> undef, <32 x i32> %839 = mul nsw <32 x i32> %838, %503 %840 = add <32 x i32> %816, %839 %841 = shufflevector <16 x i32> %487, <16 x i32> undef, <32 x i32> %842 = mul nsw <32 x i32> %841, %503 %843 = add <32 x i32> %819, %842 %844 = shufflevector <16 x i32> %488, <16 x i32> undef, <32 x i32> %845 = mul nsw <32 x i32> %844, %503 %846 = add <32 x i32> %822, %845 %847 = shufflevector <16 x i32> %489, <16 x i32> undef, <32 x i32> %848 = mul nsw <32 x i32> %847, %503 %849 = add <32 x i32> %825, %848 %850 = shufflevector <16 x i32> %482, <16 x i32> undef, <32 x i32> %851 = mul nsw <32 x i32> %850, %504 %852 = add <32 x i32> %828, %851 %853 = shufflevector <16 x i32> %483, <16 x i32> undef, <32 x i32> %854 = mul nsw <32 x i32> %853, %504 %855 = add <32 x i32> %831, %854 %856 = shufflevector <16 x i32> %484, <16 x i32> undef, <32 x i32> %857 = mul nsw <32 x i32> %856, %504 %858 = add <32 x i32> %834, %857 %859 = shufflevector <16 x i32> %485, <16 x i32> undef, <32 x i32> %860 = mul nsw <32 x i32> %859, %504 %861 = add <32 x i32> %837, %860 %862 = shufflevector <16 x i32> %486, <16 x i32> undef, <32 x i32> %863 = mul nsw <32 x i32> %862, %504 %864 = add <32 x i32> %840, %863 %865 = shufflevector <16 x i32> %487, <16 x i32> undef, <32 x i32> %866 = mul nsw <32 x i32> %865, %504 %867 = add <32 x i32> %843, %866 %868 = shufflevector <16 x i32> %488, <16 x i32> undef, <32 x i32> %869 = mul nsw <32 x i32> %868, %504 %870 = add <32 x i32> %846, %869 %871 = shufflevector <16 x i32> %489, <16 x i32> undef, <32 x i32> %872 = mul nsw <32 x i32> %871, %504 %873 = add <32 x i32> %849, %872 %874 = shufflevector <16 x i32> %482, <16 x i32> undef, <32 x i32> %875 = mul nsw <32 x i32> %874, %505 %876 = add <32 x i32> %852, %875 %877 = insertvalue [8 x <32 x i32>] zeroinitializer, <32 x i32> %876, 0 %878 = shufflevector <16 x i32> %483, <16 x i32> undef, <32 x i32> %879 = mul nsw <32 x i32> %878, %505 %880 = add <32 x i32> %855, %879 %881 = insertvalue [8 x <32 x i32>] %877, <32 x i32> %880, 1 %882 = shufflevector <16 x i32> %484, <16 x i32> undef, <32 x i32> %883 = mul nsw <32 x i32> %882, %505 %884 = add <32 x i32> %858, %883 %885 = insertvalue [8 x <32 x i32>] %881, <32 x i32> %884, 2 %886 = shufflevector <16 x i32> %485, <16 x i32> undef, <32 x i32> %887 = mul nsw <32 x i32> %886, %505 %888 = add <32 x i32> %861, %887 %889 = insertvalue [8 x <32 x i32>] %885, <32 x i32> %888, 3 %890 = shufflevector <16 x i32> %486, <16 x i32> undef, <32 x i32> %891 = mul nsw <32 x i32> %890, %505 %892 = add <32 x i32> %864, %891 %893 = insertvalue [8 x <32 x i32>] %889, <32 x i32> %892, 4 %894 = shufflevector <16 x i32> %487, <16 x i32> undef, <32 x i32> %895 = mul nsw <32 x i32> %894, %505 %896 = add <32 x i32> %867, %895 %897 = insertvalue [8 x <32 x i32>] %893, <32 x i32> %896, 5 %898 = shufflevector <16 x i32> %488, <16 x i32> undef, <32 x i32> %899 = mul nsw <32 x i32> %898, %505 %900 = add <32 x i32> %870, %899 %901 = insertvalue [8 x <32 x i32>] %897, <32 x i32> %900, 6 %902 = shufflevector <16 x i32> %489, <16 x i32> undef, <32 x i32> %903 = mul nsw <32 x i32> %902, %505 %904 = add <32 x i32> %873, %903 %905 = insertvalue [8 x <32 x i32>] %901, <32 x i32> %904, 7 br i1 %382, label %380, label %906, !dbg !120 906: ; preds = %380 %907 = icmp ugt <32 x i8> %309, %908 = sub <32 x i32> %876, %343, !dbg !120 %909 = sub <32 x i32> %880, %343, !dbg !120 %910 = sub <32 x i32> %884, %343, !dbg !120 %911 = sub <32 x i32> %888, %343, !dbg !120 %912 = sub <32 x i32> %892, %343, !dbg !120 %913 = sub <32 x i32> %896, %343, !dbg !120 %914 = sub <32 x i32> %900, %343, !dbg !120 %915 = sub <32 x i32> %904, %343, !dbg !120 %916 = add <32 x i32> %908, %213, !dbg !120 %917 = add <32 x i32> %909, %213, !dbg !120 %918 = add <32 x i32> %910, %213, !dbg !120 %919 = add <32 x i32> %911, %213, !dbg !120 %920 = add <32 x i32> %912, %213, !dbg !120 %921 = add <32 x i32> %913, %213, !dbg !120 %922 = add <32 x i32> %914, %213, !dbg !120 %923 = add <32 x i32> %915, %213, !dbg !120 %924 = sext <32 x i32> %916 to <32 x i64>, !dbg !123 %925 = sext <32 x i32> %917 to <32 x i64>, !dbg !123 %926 = sext <32 x i32> %918 to <32 x i64>, !dbg !123 %927 = sext <32 x i32> %919 to <32 x i64>, !dbg !123 %928 = sext <32 x i32> %920 to <32 x i64>, !dbg !123 %929 = sext <32 x i32> %921 to <32 x i64>, !dbg !123 %930 = sext <32 x i32> %922 to <32 x i64>, !dbg !123 %931 = sext <32 x i32> %923 to <32 x i64>, !dbg !123 %932 = mul nsw <32 x i64> %924, %359, !dbg !123 %933 = mul nsw <32 x i64> %925, %359, !dbg !123 %934 = mul nsw <32 x i64> %926, %359, !dbg !123 %935 = mul nsw <32 x i64> %927, %359, !dbg !123 %936 = mul nsw <32 x i64> %928, %359, !dbg !123 %937 = mul nsw <32 x i64> %929, %359, !dbg !123 %938 = mul nsw <32 x i64> %930, %359, !dbg !123 %939 = mul nsw <32 x i64> %931, %359, !dbg !123 %940 = add <32 x i64> %932, %362, !dbg !123 %941 = add <32 x i64> %933, %362, !dbg !123 %942 = add <32 x i64> %934, %362, !dbg !123 %943 = add <32 x i64> %935, %362, !dbg !123 %944 = add <32 x i64> %936, %362, !dbg !123 %945 = add <32 x i64> %937, %362, !dbg !123 %946 = add <32 x i64> %938, %362, !dbg !123 %947 = add <32 x i64> %939, %362, !dbg !123 %948 = icmp sgt <32 x i32> %916, , !dbg !123 %949 = icmp sgt <32 x i32> %917, , !dbg !123 %950 = icmp sgt <32 x i32> %918, , !dbg !123 %951 = icmp sgt <32 x i32> %919, , !dbg !123 %952 = icmp sgt <32 x i32> %920, , !dbg !123 %953 = icmp sgt <32 x i32> %921, , !dbg !123 %954 = icmp sgt <32 x i32> %922, , !dbg !123 %955 = icmp sgt <32 x i32> %923, , !dbg !123 %956 = select <32 x i1> %948, <32 x i64> , <32 x i64> , !dbg !123 %957 = select <32 x i1> %949, <32 x i64> , <32 x i64> , !dbg !123 %958 = select <32 x i1> %950, <32 x i64> , <32 x i64> , !dbg !123 %959 = select <32 x i1> %951, <32 x i64> , <32 x i64> , !dbg !123 %960 = select <32 x i1> %952, <32 x i64> , <32 x i64> , !dbg !123 %961 = select <32 x i1> %953, <32 x i64> , <32 x i64> , !dbg !123 %962 = select <32 x i1> %954, <32 x i64> , <32 x i64> , !dbg !123 %963 = select <32 x i1> %955, <32 x i64> , <32 x i64> , !dbg !123 %964 = select <32 x i1> %907, <32 x i64> %956, <32 x i64> zeroinitializer, !dbg !123 %965 = add <32 x i64> %940, %964, !dbg !123 %966 = select <32 x i1> %907, <32 x i64> %957, <32 x i64> zeroinitializer, !dbg !123 %967 = add <32 x i64> %941, %966, !dbg !123 %968 = select <32 x i1> %907, <32 x i64> %958, <32 x i64> zeroinitializer, !dbg !123 %969 = add <32 x i64> %942, %968, !dbg !123 %970 = select <32 x i1> %907, <32 x i64> %959, <32 x i64> zeroinitializer, !dbg !123 %971 = add <32 x i64> %943, %970, !dbg !123 %972 = select <32 x i1> %907, <32 x i64> %960, <32 x i64> zeroinitializer, !dbg !123 %973 = add <32 x i64> %944, %972, !dbg !123 %974 = select <32 x i1> %907, <32 x i64> %961, <32 x i64> zeroinitializer, !dbg !123 %975 = add <32 x i64> %945, %974, !dbg !123 %976 = select <32 x i1> %907, <32 x i64> %962, <32 x i64> zeroinitializer, !dbg !123 %977 = add <32 x i64> %946, %976, !dbg !123 %978 = select <32 x i1> %907, <32 x i64> %963, <32 x i64> zeroinitializer, !dbg !123 %979 = add <32 x i64> %947, %978, !dbg !123 %980 = ashr <32 x i64> %965, %360, !dbg !123 %981 = ashr <32 x i64> %967, %360, !dbg !123 %982 = ashr <32 x i64> %969, %360, !dbg !123 %983 = ashr <32 x i64> %971, %360, !dbg !123 %984 = ashr <32 x i64> %973, %360, !dbg !123 %985 = ashr <32 x i64> %975, %360, !dbg !123 %986 = ashr <32 x i64> %977, %360, !dbg !123 %987 = ashr <32 x i64> %979, %360, !dbg !123 %988 = trunc <32 x i64> %980 to <32 x i32>, !dbg !123 %989 = trunc <32 x i64> %981 to <32 x i32>, !dbg !123 %990 = trunc <32 x i64> %982 to <32 x i32>, !dbg !123 %991 = trunc <32 x i64> %983 to <32 x i32>, !dbg !123 %992 = trunc <32 x i64> %984 to <32 x i32>, !dbg !123 %993 = trunc <32 x i64> %985 to <32 x i32>, !dbg !123 %994 = trunc <32 x i64> %986 to <32 x i32>, !dbg !123 %995 = trunc <32 x i64> %987 to <32 x i32>, !dbg !123 %996 = add <32 x i32> %988, , !dbg !123 %997 = add <32 x i32> %989, , !dbg !123 %998 = add <32 x i32> %990, , !dbg !123 %999 = add <32 x i32> %991, , !dbg !123 %1000 = add <32 x i32> %992, , !dbg !123 %1001 = add <32 x i32> %993, , !dbg !123 %1002 = add <32 x i32> %994, , !dbg !123 %1003 = add <32 x i32> %995, , !dbg !123 %1004 = tail call <32 x i32> @llvm.smax.v32i32(<32 x i32> %996, <32 x i32> ), !dbg !123 %1005 = tail call <32 x i32> @llvm.smax.v32i32(<32 x i32> %997, <32 x i32> ), !dbg !123 %1006 = tail call <32 x i32> @llvm.smax.v32i32(<32 x i32> %998, <32 x i32> ), !dbg !123 %1007 = tail call <32 x i32> @llvm.smax.v32i32(<32 x i32> %999, <32 x i32> ), !dbg !123 %1008 = tail call <32 x i32> @llvm.smax.v32i32(<32 x i32> %1000, <32 x i32> ), !dbg !123 %1009 = tail call <32 x i32> @llvm.smax.v32i32(<32 x i32> %1001, <32 x i32> ), !dbg !123 %1010 = tail call <32 x i32> @llvm.smax.v32i32(<32 x i32> %1002, <32 x i32> ), !dbg !123 %1011 = tail call <32 x i32> @llvm.smax.v32i32(<32 x i32> %1003, <32 x i32> ), !dbg !123 %1012 = tail call <32 x i32> @llvm.smin.v32i32(<32 x i32> %1004, <32 x i32> ), !dbg !123 %1013 = tail call <32 x i32> @llvm.smin.v32i32(<32 x i32> %1005, <32 x i32> ), !dbg !123 %1014 = tail call <32 x i32> @llvm.smin.v32i32(<32 x i32> %1006, <32 x i32> ), !dbg !123 %1015 = tail call <32 x i32> @llvm.smin.v32i32(<32 x i32> %1007, <32 x i32> ), !dbg !123 %1016 = tail call <32 x i32> @llvm.smin.v32i32(<32 x i32> %1008, <32 x i32> ), !dbg !123 %1017 = tail call <32 x i32> @llvm.smin.v32i32(<32 x i32> %1009, <32 x i32> ), !dbg !123 %1018 = tail call <32 x i32> @llvm.smin.v32i32(<32 x i32> %1010, <32 x i32> ), !dbg !123 %1019 = tail call <32 x i32> @llvm.smin.v32i32(<32 x i32> %1011, <32 x i32> ), !dbg !123 %1020 = trunc <32 x i32> %1012 to <32 x i8>, !dbg !123 %1021 = trunc <32 x i32> %1013 to <32 x i8>, !dbg !123 %1022 = trunc <32 x i32> %1014 to <32 x i8>, !dbg !123 %1023 = trunc <32 x i32> %1015 to <32 x i8>, !dbg !123 %1024 = trunc <32 x i32> %1016 to <32 x i8>, !dbg !123 %1025 = trunc <32 x i32> %1017 to <32 x i8>, !dbg !123 %1026 = trunc <32 x i32> %1018 to <32 x i8>, !dbg !123 %1027 = trunc <32 x i32> %1019 to <32 x i8>, !dbg !123 %1028 = shl i64 %364, 6, !dbg !123 %1029 = add nuw nsw i64 %1028, %342, !dbg !123 %1030 = getelementptr i8, i8* %10, i64 %1029, !dbg !123 %1031 = bitcast i8* %1030 to <32 x i8>*, !dbg !123 store <32 x i8> %1020, <32 x i8>* %1031, align 32, !dbg !123 %1032 = shl i64 %365, 6, !dbg !123 %1033 = add i64 %1032, %342, !dbg !123 %1034 = getelementptr i8, i8* %10, i64 %1033, !dbg !123 %1035 = bitcast i8* %1034 to <32 x i8>*, !dbg !123 store <32 x i8> %1021, <32 x i8>* %1035, align 32, !dbg !123 %1036 = shl i64 %366, 6, !dbg !123 %1037 = add i64 %1036, %342, !dbg !123 %1038 = getelementptr i8, i8* %10, i64 %1037, !dbg !123 %1039 = bitcast i8* %1038 to <32 x i8>*, !dbg !123 store <32 x i8> %1022, <32 x i8>* %1039, align 32, !dbg !123 %1040 = shl i64 %367, 6, !dbg !123 %1041 = add i64 %1040, %342, !dbg !123 %1042 = getelementptr i8, i8* %10, i64 %1041, !dbg !123 %1043 = bitcast i8* %1042 to <32 x i8>*, !dbg !123 store <32 x i8> %1023, <32 x i8>* %1043, align 32, !dbg !123 %1044 = shl i64 %368, 6, !dbg !123 %1045 = add i64 %1044, %342, !dbg !123 %1046 = getelementptr i8, i8* %10, i64 %1045, !dbg !123 %1047 = bitcast i8* %1046 to <32 x i8>*, !dbg !123 store <32 x i8> %1024, <32 x i8>* %1047, align 32, !dbg !123 %1048 = shl i64 %369, 6, !dbg !123 %1049 = add i64 %1048, %342, !dbg !123 %1050 = getelementptr i8, i8* %10, i64 %1049, !dbg !123 %1051 = bitcast i8* %1050 to <32 x i8>*, !dbg !123 store <32 x i8> %1025, <32 x i8>* %1051, align 32, !dbg !123 %1052 = shl i64 %370, 6, !dbg !123 %1053 = add i64 %1052, %342, !dbg !123 %1054 = getelementptr i8, i8* %10, i64 %1053, !dbg !123 %1055 = bitcast i8* %1054 to <32 x i8>*, !dbg !123 store <32 x i8> %1026, <32 x i8>* %1055, align 32, !dbg !123 %1056 = shl i64 %371, 6, !dbg !123 %1057 = add i64 %1056, %342, !dbg !123 %1058 = getelementptr i8, i8* %10, i64 %1057, !dbg !123 %1059 = bitcast i8* %1058 to <32 x i8>*, !dbg !123 store <32 x i8> %1027, <32 x i8>* %1059, align 32, !dbg !123 %1060 = add nuw nsw i64 %364, 8, !dbg !123 %1061 = icmp ult i64 %364, 40, !dbg !123 br i1 %1061, label %363, label %1062, !dbg !123 1062: ; preds = %906 ret i32 0, !dbg !123 } ; Function Attrs: nofree nosync nounwind define internal i32 @main_dispatch_23(%iree_hal_executable_environment_v0_t* noalias nocapture nonnull readnone byref(%iree_hal_executable_environment_v0_t) align 16 %0, %iree_hal_executable_dispatch_state_v0_t* noalias nocapture nonnull readonly byref(%iree_hal_executable_dispatch_state_v0_t) align 16 %1, %iree_hal_executable_workgroup_state_v0_t* noalias nocapture nonnull readonly byref(%iree_hal_executable_workgroup_state_v0_t) align 16 %2) #0 !dbg !125 { %const = bitcast i64 3072 to i64, !dbg !126 %.elt19 = getelementptr inbounds %iree_hal_executable_dispatch_state_v0_t, %iree_hal_executable_dispatch_state_v0_t* %1, i64 0, i32 10, !dbg !129 %.unpack20 = load i8**, i8*** %.elt19, align 16, !dbg !129 %4 = load i8*, i8** %.unpack20, align 8, !dbg !129 %5 = getelementptr i8*, i8** %.unpack20, i64 1, !dbg !130 %6 = load i8*, i8** %5, align 8, !dbg !130 %7 = load %iree_hal_executable_workgroup_state_v0_t, %iree_hal_executable_workgroup_state_v0_t* %2, align 16, !dbg !130 %8 = extractvalue %iree_hal_executable_workgroup_state_v0_t %7, 0, !dbg !130 %9 = zext i32 %8 to i64, !dbg !130 %10 = extractvalue %iree_hal_executable_workgroup_state_v0_t %7, 1, !dbg !130 %11 = zext i32 %10 to i64, !dbg !130 %12 = extractvalue %iree_hal_executable_workgroup_state_v0_t %7, 2, !dbg !130 %13 = zext i16 %12 to i64, !dbg !130 %14 = shl nuw nsw i64 %9, 5, !dbg !130 %15 = mul nuw nsw i64 %13, %const, !dbg !130 %16 = mul nuw nsw i64 %11, 384, !dbg !130 %const_mat = add i64 %const, 512, !dbg !130 %17 = mul nuw nsw i64 %13, %const_mat, !dbg !130 %18 = add nuw nsw i64 %14, %16 %19 = add nuw nsw i64 %18, %15 %20 = add i64 %17, %16, !dbg !130 %21 = add i64 %20, %14, !dbg !130 %22 = add i64 %21, 24272, !dbg !130 %scevgep = getelementptr i8, i8* %6, i64 %22, !dbg !130 %scevgep32 = getelementptr i8, i8* %4, i64 %19, !dbg !130 br label %.preheader23, !dbg !130 .preheader23: ; preds = %3, %26 %lsr.iv33 = phi i8* [ %scevgep32, %3 ], [ %scevgep34, %26 ] %lsr.iv25 = phi i8* [ %scevgep, %3 ], [ %scevgep26, %26 ] %23 = phi i64 [ 0, %3 ], [ %27, %26 ] br label %.preheader, !dbg !130 .preheader: ; preds = %.preheader23, %.preheader %lsr.iv = phi i64 [ 0, %.preheader23 ], [ %lsr.iv.next, %.preheader ] %scevgep35 = getelementptr i8, i8* %lsr.iv33, i64 %lsr.iv, !dbg !130 %scevgep3536 = bitcast i8* %scevgep35 to <16 x i8>*, !dbg !130 %24 = load <16 x i8>, <16 x i8>* %scevgep3536, align 1, !dbg !130 %scevgep29 = getelementptr i8, i8* %lsr.iv25, i64 %lsr.iv, !dbg !130 %scevgep2930 = bitcast i8* %scevgep29 to <16 x i8>*, !dbg !130 %scevgep31 = getelementptr <16 x i8>, <16 x i8>* %scevgep2930, i64 -1, !dbg !130 store <16 x i8> %24, <16 x i8>* %scevgep31, align 1, !dbg !130 %scevgep37 = getelementptr i8, i8* %lsr.iv33, i64 %lsr.iv, !dbg !130 %scevgep3738 = bitcast i8* %scevgep37 to <16 x i8>*, !dbg !130 %scevgep39 = getelementptr <16 x i8>, <16 x i8>* %scevgep3738, i64 1, !dbg !130 %25 = load <16 x i8>, <16 x i8>* %scevgep39, align 1, !dbg !130 %scevgep27 = getelementptr i8, i8* %lsr.iv25, i64 %lsr.iv, !dbg !130 %scevgep2728 = bitcast i8* %scevgep27 to <16 x i8>*, !dbg !130 store <16 x i8> %25, <16 x i8>* %scevgep2728, align 1, !dbg !130 %lsr.iv.next = add nuw nsw i64 %lsr.iv, 64, !dbg !130 %exitcond.not = icmp eq i64 %lsr.iv.next, 384, !dbg !130 br i1 %exitcond.not, label %26, label %.preheader, !dbg !130 26: ; preds = %.preheader %27 = add nuw nsw i64 %23, 1, !dbg !130 %scevgep26 = getelementptr i8, i8* %lsr.iv25, i64 896, !dbg !130 %scevgep34 = getelementptr i8, i8* %lsr.iv33, i64 768, !dbg !130 %exitcond24.not = icmp eq i64 %27, 4, !dbg !130 br i1 %exitcond24.not, label %28, label %.preheader23, !dbg !130 28: ; preds = %26 ret i32 0, !dbg !130 } ; Function Attrs: nofree nosync nounwind define internal i32 @main_dispatch_24(%iree_hal_executable_environment_v0_t* noalias nocapture nonnull readnone byref(%iree_hal_executable_environment_v0_t) align 16 %0, %iree_hal_executable_dispatch_state_v0_t* noalias nocapture nonnull readonly byref(%iree_hal_executable_dispatch_state_v0_t) align 16 %1, %iree_hal_executable_workgroup_state_v0_t* noalias nocapture nonnull readonly byref(%iree_hal_executable_workgroup_state_v0_t) align 16 %2) #0 !dbg !131 { %.elt11 = getelementptr inbounds %iree_hal_executable_dispatch_state_v0_t, %iree_hal_executable_dispatch_state_v0_t* %1, i64 0, i32 4, !dbg !132 %.unpack12 = load i32, i32* %.elt11, align 4, !dbg !132 %4 = zext i32 %.unpack12 to i64, !dbg !132 %.elt13 = getelementptr inbounds %iree_hal_executable_dispatch_state_v0_t, %iree_hal_executable_dispatch_state_v0_t* %1, i64 0, i32 5, !dbg !132 %.unpack14 = load i32, i32* %.elt13, align 16, !dbg !132 %5 = zext i32 %.unpack14 to i64, !dbg !132 %.elt15 = getelementptr inbounds %iree_hal_executable_dispatch_state_v0_t, %iree_hal_executable_dispatch_state_v0_t* %1, i64 0, i32 6, !dbg !132 %.unpack16 = load i16, i16* %.elt15, align 4, !dbg !132 %.elt23 = getelementptr inbounds %iree_hal_executable_dispatch_state_v0_t, %iree_hal_executable_dispatch_state_v0_t* %1, i64 0, i32 10, !dbg !132 %.unpack24 = load i8**, i8*** %.elt23, align 16, !dbg !132 %6 = load i8*, i8** %.unpack24, align 8, !dbg !132 %7 = getelementptr i8*, i8** %.unpack24, i64 1, !dbg !132 %8 = load i8*, i8** %7, align 8, !dbg !132 %9 = getelementptr i8, i8* %8, i64 640, !dbg !132 %10 = getelementptr i8*, i8** %.unpack24, i64 2, !dbg !132 %11 = load i8*, i8** %10, align 8, !dbg !132 %12 = load %iree_hal_executable_workgroup_state_v0_t, %iree_hal_executable_workgroup_state_v0_t* %2, align 16, !dbg !132 %13 = extractvalue %iree_hal_executable_workgroup_state_v0_t %12, 2, !dbg !132 %14 = zext i16 %13 to i64, !dbg !132 %15 = zext i16 %.unpack16 to i64, !dbg !132 %16 = shl nuw nsw i64 %14, 2, !dbg !132 %17 = shl nuw nsw i64 %15, 2, !dbg !132 %18 = icmp ult i16 %13, 3, !dbg !132 br i1 %18, label %.lr.ph, label %._crit_edge, !dbg !132 .lr.ph: ; preds = %3 %19 = extractvalue %iree_hal_executable_workgroup_state_v0_t %12, 1, !dbg !132 %20 = zext i32 %19 to i64, !dbg !132 %21 = extractvalue %iree_hal_executable_workgroup_state_v0_t %12, 0, !dbg !132 %22 = zext i32 %21 to i64, !dbg !132 %23 = shl nuw nsw i64 %20, 2 %24 = shl nuw nsw i64 %5, 2 %25 = icmp ult i32 %19, 3 %26 = shl i64 %22, 6 %27 = shl i64 %4, 6 br i1 %25, label %.lr.ph.split.us, label %.lr.ph.split.preheader, !dbg !132 .lr.ph.split.preheader: ; preds = %.lr.ph br label %.lr.ph.split, !dbg !132 .lr.ph.split.us: ; preds = %.lr.ph %28 = icmp eq i32 %21, 0 br i1 %28, label %.lr.ph34.us.us.preheader, label %.lr.ph34.us.preheader, !dbg !132 .lr.ph34.us.preheader: ; preds = %.lr.ph.split.us br label %.lr.ph34.us, !dbg !132 .lr.ph34.us.us.preheader: ; preds = %.lr.ph.split.us %const322 = bitcast i64 35840 to i64, !dbg !132 %const = bitcast i64 3584 to i64, !dbg !132 %const_mat = add i64 %const, -512, !dbg !132 %29 = mul nuw nsw i64 %14, %const_mat, !dbg !132 %30 = shl i64 %20, 8, !dbg !132 %31 = add i64 %29, %30, !dbg !132 %32 = add i64 %31, %26, !dbg !132 %33 = shl nuw nsw i64 %32, 2, !dbg !132 %34 = add nuw nsw i64 %33, %const322, !dbg !132 %scevgep = getelementptr i8, i8* %11, i64 %34, !dbg !132 %35 = mul nuw nsw i64 %15, 12288, !dbg !132 %36 = shl nuw nsw i64 %5, 10, !dbg !132 %37 = shl nuw nsw i64 %4, 8, !dbg !132 %38 = mul nuw nsw i64 %14, 12288, !dbg !132 %39 = shl nuw nsw i64 %20, 10, !dbg !132 %40 = add i64 %38, %39, !dbg !132 %41 = shl nuw nsw i64 %22, 8, !dbg !132 %42 = add i64 %40, %41, !dbg !132 %const_mat323 = add i64 %const322, 128, !dbg !132 %43 = add i64 %42, %const_mat323, !dbg !132 %scevgep67 = getelementptr i8, i8* %11, i64 %43, !dbg !132 %44 = mul nuw nsw i64 %14, %const, !dbg !132 %45 = add i64 %44, %30, !dbg !132 %46 = add i64 %45, %26, !dbg !132 %47 = add i64 %46, 25216, !dbg !132 %scevgep267 = getelementptr i8, i8* %6, i64 %47, !dbg !132 %48 = mul nuw nsw i64 %15, %const, !dbg !132 %49 = shl nuw nsw i64 %5, 8, !dbg !132 br label %.lr.ph34.us.us, !dbg !132 .lr.ph34.us.us: ; preds = %.lr.ph34.us.us.preheader, %._crit_edge35.split.us.us.us %lsr.iv268 = phi i8* [ %scevgep267, %.lr.ph34.us.us.preheader ], [ %152, %._crit_edge35.split.us.us.us ] %lsr.iv68 = phi i8* [ %scevgep67, %.lr.ph34.us.us.preheader ], [ %151, %._crit_edge35.split.us.us.us ] %lsr.iv54 = phi i8* [ %scevgep, %.lr.ph34.us.us.preheader ], [ %150, %._crit_edge35.split.us.us.us ] %50 = phi i64 [ %149, %._crit_edge35.split.us.us.us ], [ %16, %.lr.ph34.us.us.preheader ] br label %.lr.ph.us.us.us, !dbg !132 .lr.ph.us.us.us: ; preds = %._crit_edge.us.us.us, %.lr.ph34.us.us %lsr.iv271 = phi i8* [ %144, %._crit_edge.us.us.us ], [ %lsr.iv268, %.lr.ph34.us.us ] %lsr.iv71 = phi i8* [ %143, %._crit_edge.us.us.us ], [ %lsr.iv68, %.lr.ph34.us.us ] %lsr.iv57 = phi i8* [ %142, %._crit_edge.us.us.us ], [ %lsr.iv54, %.lr.ph34.us.us ] %51 = phi i64 [ %23, %.lr.ph34.us.us ], [ %141, %._crit_edge.us.us.us ] br label %52, !dbg !132 52: ; preds = %54, %.lr.ph.us.us.us %lsr.iv274 = phi i8* [ %61, %54 ], [ %lsr.iv271, %.lr.ph.us.us.us ] %lsr.iv74 = phi i8* [ %60, %54 ], [ %lsr.iv71, %.lr.ph.us.us.us ] %lsr.iv60 = phi i8* [ %59, %54 ], [ %lsr.iv57, %.lr.ph.us.us.us ] %53 = phi i64 [ %26, %.lr.ph.us.us.us ], [ %58, %54 ] br label %.preheader31.us.us.us, !dbg !132 54: ; preds = %63 %55 = bitcast i8* %lsr.iv74 to i1*, !dbg !132 %56 = bitcast i8* %lsr.iv60 to i1*, !dbg !132 %57 = bitcast i8* %lsr.iv274 to i1*, !dbg !132 %58 = add i64 %53, %27, !dbg !132 %scevgep62 = getelementptr i1, i1* %56, i64 %37, !dbg !132 %59 = bitcast i1* %scevgep62 to i8*, !dbg !132 %scevgep76 = getelementptr i1, i1* %55, i64 %37, !dbg !132 %60 = bitcast i1* %scevgep76 to i8*, !dbg !132 %scevgep276 = getelementptr i1, i1* %57, i64 %27, !dbg !132 %61 = bitcast i1* %scevgep276 to i8*, !dbg !132 %62 = icmp slt i64 %58, 64, !dbg !132 br i1 %62, label %52, label %._crit_edge.us.us.us, !dbg !132 63: ; preds = %65 %64 = add nuw nsw i64 %136, 1, !dbg !132 %scevgep278 = getelementptr i8, i8* %lsr.iv277, i64 896, !dbg !132 %scevgep299 = getelementptr i8, i8* %lsr.iv298, i64 3072, !dbg !132 %exitcond45.not = icmp eq i64 %64, 4, !dbg !132 br i1 %exitcond45.not, label %54, label %.preheader30.us.us.us, !dbg !132 65: ; preds = %.preheader27.us.us.us %scevgep280 = getelementptr i8, i8* %lsr.iv279, i64 64, !dbg !132 %scevgep301 = getelementptr i8, i8* %lsr.iv300, i64 256, !dbg !132 %exitcond44.not = icmp eq i64 %135, 4, !dbg !132 br i1 %exitcond44.not, label %63, label %.preheader28.us.us.us, !dbg !132 66: ; preds = %.preheader29.us.us.us %67 = add nuw nsw i64 %137, 1, !dbg !132 %scevgep64 = getelementptr i8, i8* %lsr.iv63, i64 3072, !dbg !132 %scevgep78 = getelementptr i8, i8* %lsr.iv77, i64 3072, !dbg !132 %exitcond40.not = icmp eq i64 %67, 4, !dbg !132 br i1 %exitcond40.not, label %.preheader30.us.us.us.preheader, label %.preheader31.us.us.us, !dbg !132 .preheader30.us.us.us.preheader: ; preds = %66 br label %.preheader30.us.us.us, !dbg !132 .preheader27.us.us.us: ; preds = %.preheader28.us.us.us, %.preheader27.us.us.us %lsr.iv302 = phi i8* [ %lsr.iv300, %.preheader28.us.us.us ], [ %scevgep303, %.preheader27.us.us.us ] %68 = phi i64 [ 0, %.preheader28.us.us.us ], [ %133, %.preheader27.us.us.us ] %lsr.iv302304 = bitcast i8* %lsr.iv302 to i32* %scevgep282 = getelementptr i8, i8* %lsr.iv279, i64 %68, !dbg !132 %scevgep283 = getelementptr i8, i8* %scevgep282, i64 -1920, !dbg !132 %69 = load i8, i8* %scevgep283, align 1, !dbg !132 %scevgep305 = getelementptr i8, i8* %9, i64 %68, !dbg !132 %70 = load i8, i8* %scevgep305, align 1, !dbg !132 %71 = load i32, i32* %lsr.iv302304, align 4, !dbg !132 %72 = sext i8 %69 to i32 %73 = add nsw i32 %72, 128 %74 = sext i8 %70 to i32 %75 = mul nsw i32 %73, %74 %76 = add i32 %75, %71 store i32 %76, i32* %lsr.iv302304, align 4, !dbg !132 %scevgep284 = getelementptr i8, i8* %lsr.iv279, i64 %68, !dbg !132 %scevgep285 = getelementptr i8, i8* %scevgep284, i64 -1856, !dbg !132 %77 = load i8, i8* %scevgep285, align 1, !dbg !132 %scevgep318 = getelementptr i8, i8* %9, i64 %68, !dbg !132 %scevgep319 = getelementptr i8, i8* %scevgep318, i64 64, !dbg !132 %78 = load i8, i8* %scevgep319, align 1, !dbg !132 %79 = sext i8 %77 to i32 %80 = add nsw i32 %79, 128 %81 = sext i8 %78 to i32 %82 = mul nsw i32 %80, %81 %83 = add i32 %82, %76 store i32 %83, i32* %lsr.iv302304, align 4, !dbg !132 %scevgep286 = getelementptr i8, i8* %lsr.iv279, i64 %68, !dbg !132 %scevgep287 = getelementptr i8, i8* %scevgep286, i64 -1792, !dbg !132 %84 = load i8, i8* %scevgep287, align 1, !dbg !132 %scevgep320 = getelementptr i8, i8* %9, i64 %68, !dbg !132 %scevgep321 = getelementptr i8, i8* %scevgep320, i64 128, !dbg !132 %85 = load i8, i8* %scevgep321, align 1, !dbg !132 %86 = sext i8 %84 to i32 %87 = add nsw i32 %86, 128 %88 = sext i8 %85 to i32 %89 = mul nsw i32 %87, %88 %90 = add i32 %89, %83 store i32 %90, i32* %lsr.iv302304, align 4, !dbg !132 %scevgep288 = getelementptr i8, i8* %lsr.iv279, i64 %68, !dbg !132 %scevgep289 = getelementptr i8, i8* %scevgep288, i64 -1024, !dbg !132 %91 = load i8, i8* %scevgep289, align 1, !dbg !132 %scevgep314 = getelementptr i8, i8* %9, i64 %68, !dbg !132 %scevgep315 = getelementptr i8, i8* %scevgep314, i64 192, !dbg !132 %92 = load i8, i8* %scevgep315, align 1, !dbg !132 %93 = sext i8 %91 to i32 %94 = add nsw i32 %93, 128 %95 = sext i8 %92 to i32 %96 = mul nsw i32 %94, %95 %97 = add i32 %96, %90 store i32 %97, i32* %lsr.iv302304, align 4, !dbg !132 %scevgep290 = getelementptr i8, i8* %lsr.iv279, i64 %68, !dbg !132 %scevgep291 = getelementptr i8, i8* %scevgep290, i64 -960, !dbg !132 %98 = load i8, i8* %scevgep291, align 1, !dbg !132 %scevgep312 = getelementptr i8, i8* %9, i64 %68, !dbg !132 %scevgep313 = getelementptr i8, i8* %scevgep312, i64 256, !dbg !132 %99 = load i8, i8* %scevgep313, align 1, !dbg !132 %100 = sext i8 %98 to i32 %101 = add nsw i32 %100, 128 %102 = sext i8 %99 to i32 %103 = mul nsw i32 %101, %102 %104 = add i32 %103, %97 store i32 %104, i32* %lsr.iv302304, align 4, !dbg !132 %scevgep292 = getelementptr i8, i8* %lsr.iv279, i64 %68, !dbg !132 %scevgep293 = getelementptr i8, i8* %scevgep292, i64 -896, !dbg !132 %105 = load i8, i8* %scevgep293, align 1, !dbg !132 %scevgep310 = getelementptr i8, i8* %9, i64 %68, !dbg !132 %scevgep311 = getelementptr i8, i8* %scevgep310, i64 320, !dbg !132 %106 = load i8, i8* %scevgep311, align 1, !dbg !132 %107 = sext i8 %105 to i32 %108 = add nsw i32 %107, 128 %109 = sext i8 %106 to i32 %110 = mul nsw i32 %108, %109 %111 = add i32 %110, %104 store i32 %111, i32* %lsr.iv302304, align 4, !dbg !132 %scevgep294 = getelementptr i8, i8* %lsr.iv279, i64 %68, !dbg !132 %scevgep295 = getelementptr i8, i8* %scevgep294, i64 -128, !dbg !132 %112 = load i8, i8* %scevgep295, align 1, !dbg !132 %scevgep316 = getelementptr i8, i8* %9, i64 %68, !dbg !132 %scevgep317 = getelementptr i8, i8* %scevgep316, i64 384, !dbg !132 %113 = load i8, i8* %scevgep317, align 1, !dbg !132 %114 = sext i8 %112 to i32 %115 = add nsw i32 %114, 128 %116 = sext i8 %113 to i32 %117 = mul nsw i32 %115, %116 %118 = add i32 %117, %111 store i32 %118, i32* %lsr.iv302304, align 4, !dbg !132 %scevgep296 = getelementptr i8, i8* %lsr.iv279, i64 %68, !dbg !132 %scevgep297 = getelementptr i8, i8* %scevgep296, i64 -64, !dbg !132 %119 = load i8, i8* %scevgep297, align 1, !dbg !132 %scevgep308 = getelementptr i8, i8* %9, i64 %68, !dbg !132 %scevgep309 = getelementptr i8, i8* %scevgep308, i64 448, !dbg !132 %120 = load i8, i8* %scevgep309, align 1, !dbg !132 %121 = sext i8 %119 to i32 %122 = add nsw i32 %121, 128 %123 = sext i8 %120 to i32 %124 = mul nsw i32 %122, %123 %125 = add i32 %124, %118 store i32 %125, i32* %lsr.iv302304, align 4, !dbg !132 %scevgep281 = getelementptr i8, i8* %lsr.iv279, i64 %68, !dbg !132 %126 = load i8, i8* %scevgep281, align 1, !dbg !132 %scevgep306 = getelementptr i8, i8* %9, i64 %68, !dbg !132 %scevgep307 = getelementptr i8, i8* %scevgep306, i64 512, !dbg !132 %127 = load i8, i8* %scevgep307, align 1, !dbg !132 %128 = sext i8 %126 to i32 %129 = add nsw i32 %128, 128 %130 = sext i8 %127 to i32 %131 = mul nsw i32 %129, %130 %132 = add i32 %131, %125 store i32 %132, i32* %lsr.iv302304, align 4, !dbg !132 %133 = add nuw nsw i64 %68, 1, !dbg !132 %scevgep303 = getelementptr i8, i8* %lsr.iv302, i64 4, !dbg !132 %exitcond43.not = icmp eq i64 %133, 64, !dbg !132 br i1 %exitcond43.not, label %65, label %.preheader27.us.us.us, !dbg !132 .preheader28.us.us.us: ; preds = %.preheader30.us.us.us, %65 %lsr.iv300 = phi i8* [ %lsr.iv298, %.preheader30.us.us.us ], [ %scevgep301, %65 ] %lsr.iv279 = phi i8* [ %lsr.iv277, %.preheader30.us.us.us ], [ %scevgep280, %65 ] %134 = phi i64 [ 0, %.preheader30.us.us.us ], [ %135, %65 ] %135 = add nuw nsw i64 %134, 1 br label %.preheader27.us.us.us, !dbg !132 .preheader29.us.us.us: ; preds = %.preheader31.us.us.us, %.preheader29.us.us.us %lsr.iv = phi i64 [ 0, %.preheader31.us.us.us ], [ %lsr.iv.next, %.preheader29.us.us.us ] %scevgep65 = getelementptr i8, i8* %lsr.iv63, i64 %lsr.iv, !dbg !132 %scevgep6566 = bitcast i8* %scevgep65 to i32*, !dbg !132 store i32 0, i32* %scevgep6566, align 4, !dbg !132 %scevgep81 = getelementptr i8, i8* %lsr.iv77, i64 %lsr.iv, !dbg !132 %scevgep8182 = bitcast i8* %scevgep81 to i32*, !dbg !132 %scevgep83 = getelementptr i32, i32* %scevgep8182, i64 -31, !dbg !132 store i32 0, i32* %scevgep83, align 4, !dbg !132 %scevgep93 = getelementptr i8, i8* %lsr.iv77, i64 %lsr.iv, !dbg !132 %scevgep9394 = bitcast i8* %scevgep93 to i32*, !dbg !132 %scevgep95 = getelementptr i32, i32* %scevgep9394, i64 -30, !dbg !132 store i32 0, i32* %scevgep95, align 4, !dbg !132 %scevgep96 = getelementptr i8, i8* %lsr.iv77, i64 %lsr.iv, !dbg !132 %scevgep9697 = bitcast i8* %scevgep96 to i32*, !dbg !132 %scevgep98 = getelementptr i32, i32* %scevgep9697, i64 -29, !dbg !132 store i32 0, i32* %scevgep98, align 4, !dbg !132 %scevgep99 = getelementptr i8, i8* %lsr.iv77, i64 %lsr.iv, !dbg !132 %scevgep99100 = bitcast i8* %scevgep99 to i32*, !dbg !132 %scevgep101 = getelementptr i32, i32* %scevgep99100, i64 -28, !dbg !132 store i32 0, i32* %scevgep101, align 4, !dbg !132 %scevgep102 = getelementptr i8, i8* %lsr.iv77, i64 %lsr.iv, !dbg !132 %scevgep102103 = bitcast i8* %scevgep102 to i32*, !dbg !132 %scevgep104 = getelementptr i32, i32* %scevgep102103, i64 -27, !dbg !132 store i32 0, i32* %scevgep104, align 4, !dbg !132 %scevgep105 = getelementptr i8, i8* %lsr.iv77, i64 %lsr.iv, !dbg !132 %scevgep105106 = bitcast i8* %scevgep105 to i32*, !dbg !132 %scevgep107 = getelementptr i32, i32* %scevgep105106, i64 -26, !dbg !132 store i32 0, i32* %scevgep107, align 4, !dbg !132 %scevgep108 = getelementptr i8, i8* %lsr.iv77, i64 %lsr.iv, !dbg !132 %scevgep108109 = bitcast i8* %scevgep108 to i32*, !dbg !132 %scevgep110 = getelementptr i32, i32* %scevgep108109, i64 -25, !dbg !132 store i32 0, i32* %scevgep110, align 4, !dbg !132 %scevgep111 = getelementptr i8, i8* %lsr.iv77, i64 %lsr.iv, !dbg !132 %scevgep111112 = bitcast i8* %scevgep111 to i32*, !dbg !132 %scevgep113 = getelementptr i32, i32* %scevgep111112, i64 -24, !dbg !132 store i32 0, i32* %scevgep113, align 4, !dbg !132 %scevgep114 = getelementptr i8, i8* %lsr.iv77, i64 %lsr.iv, !dbg !132 %scevgep114115 = bitcast i8* %scevgep114 to i32*, !dbg !132 %scevgep116 = getelementptr i32, i32* %scevgep114115, i64 -23, !dbg !132 store i32 0, i32* %scevgep116, align 4, !dbg !132 %scevgep117 = getelementptr i8, i8* %lsr.iv77, i64 %lsr.iv, !dbg !132 %scevgep117118 = bitcast i8* %scevgep117 to i32*, !dbg !132 %scevgep119 = getelementptr i32, i32* %scevgep117118, i64 -22, !dbg !132 store i32 0, i32* %scevgep119, align 4, !dbg !132 %scevgep120 = getelementptr i8, i8* %lsr.iv77, i64 %lsr.iv, !dbg !132 %scevgep120121 = bitcast i8* %scevgep120 to i32*, !dbg !132 %scevgep122 = getelementptr i32, i32* %scevgep120121, i64 -21, !dbg !132 store i32 0, i32* %scevgep122, align 4, !dbg !132 %scevgep123 = getelementptr i8, i8* %lsr.iv77, i64 %lsr.iv, !dbg !132 %scevgep123124 = bitcast i8* %scevgep123 to i32*, !dbg !132 %scevgep125 = getelementptr i32, i32* %scevgep123124, i64 -20, !dbg !132 store i32 0, i32* %scevgep125, align 4, !dbg !132 %scevgep126 = getelementptr i8, i8* %lsr.iv77, i64 %lsr.iv, !dbg !132 %scevgep126127 = bitcast i8* %scevgep126 to i32*, !dbg !132 %scevgep128 = getelementptr i32, i32* %scevgep126127, i64 -19, !dbg !132 store i32 0, i32* %scevgep128, align 4, !dbg !132 %scevgep129 = getelementptr i8, i8* %lsr.iv77, i64 %lsr.iv, !dbg !132 %scevgep129130 = bitcast i8* %scevgep129 to i32*, !dbg !132 %scevgep131 = getelementptr i32, i32* %scevgep129130, i64 -18, !dbg !132 store i32 0, i32* %scevgep131, align 4, !dbg !132 %scevgep132 = getelementptr i8, i8* %lsr.iv77, i64 %lsr.iv, !dbg !132 %scevgep132133 = bitcast i8* %scevgep132 to i32*, !dbg !132 %scevgep134 = getelementptr i32, i32* %scevgep132133, i64 -17, !dbg !132 store i32 0, i32* %scevgep134, align 4, !dbg !132 %scevgep135 = getelementptr i8, i8* %lsr.iv77, i64 %lsr.iv, !dbg !132 %scevgep135136 = bitcast i8* %scevgep135 to i32*, !dbg !132 %scevgep137 = getelementptr i32, i32* %scevgep135136, i64 -16, !dbg !132 store i32 0, i32* %scevgep137, align 4, !dbg !132 %scevgep138 = getelementptr i8, i8* %lsr.iv77, i64 %lsr.iv, !dbg !132 %scevgep138139 = bitcast i8* %scevgep138 to i32*, !dbg !132 %scevgep140 = getelementptr i32, i32* %scevgep138139, i64 -15, !dbg !132 store i32 0, i32* %scevgep140, align 4, !dbg !132 %scevgep141 = getelementptr i8, i8* %lsr.iv77, i64 %lsr.iv, !dbg !132 %scevgep141142 = bitcast i8* %scevgep141 to i32*, !dbg !132 %scevgep143 = getelementptr i32, i32* %scevgep141142, i64 -14, !dbg !132 store i32 0, i32* %scevgep143, align 4, !dbg !132 %scevgep144 = getelementptr i8, i8* %lsr.iv77, i64 %lsr.iv, !dbg !132 %scevgep144145 = bitcast i8* %scevgep144 to i32*, !dbg !132 %scevgep146 = getelementptr i32, i32* %scevgep144145, i64 -13, !dbg !132 store i32 0, i32* %scevgep146, align 4, !dbg !132 %scevgep147 = getelementptr i8, i8* %lsr.iv77, i64 %lsr.iv, !dbg !132 %scevgep147148 = bitcast i8* %scevgep147 to i32*, !dbg !132 %scevgep149 = getelementptr i32, i32* %scevgep147148, i64 -12, !dbg !132 store i32 0, i32* %scevgep149, align 4, !dbg !132 %scevgep150 = getelementptr i8, i8* %lsr.iv77, i64 %lsr.iv, !dbg !132 %scevgep150151 = bitcast i8* %scevgep150 to i32*, !dbg !132 %scevgep152 = getelementptr i32, i32* %scevgep150151, i64 -11, !dbg !132 store i32 0, i32* %scevgep152, align 4, !dbg !132 %scevgep153 = getelementptr i8, i8* %lsr.iv77, i64 %lsr.iv, !dbg !132 %scevgep153154 = bitcast i8* %scevgep153 to i32*, !dbg !132 %scevgep155 = getelementptr i32, i32* %scevgep153154, i64 -10, !dbg !132 store i32 0, i32* %scevgep155, align 4, !dbg !132 %scevgep156 = getelementptr i8, i8* %lsr.iv77, i64 %lsr.iv, !dbg !132 %scevgep156157 = bitcast i8* %scevgep156 to i32*, !dbg !132 %scevgep158 = getelementptr i32, i32* %scevgep156157, i64 -9, !dbg !132 store i32 0, i32* %scevgep158, align 4, !dbg !132 %scevgep159 = getelementptr i8, i8* %lsr.iv77, i64 %lsr.iv, !dbg !132 %scevgep159160 = bitcast i8* %scevgep159 to i32*, !dbg !132 %scevgep161 = getelementptr i32, i32* %scevgep159160, i64 -8, !dbg !132 store i32 0, i32* %scevgep161, align 4, !dbg !132 %scevgep162 = getelementptr i8, i8* %lsr.iv77, i64 %lsr.iv, !dbg !132 %scevgep162163 = bitcast i8* %scevgep162 to i32*, !dbg !132 %scevgep164 = getelementptr i32, i32* %scevgep162163, i64 -7, !dbg !132 store i32 0, i32* %scevgep164, align 4, !dbg !132 %scevgep165 = getelementptr i8, i8* %lsr.iv77, i64 %lsr.iv, !dbg !132 %scevgep165166 = bitcast i8* %scevgep165 to i32*, !dbg !132 %scevgep167 = getelementptr i32, i32* %scevgep165166, i64 -6, !dbg !132 store i32 0, i32* %scevgep167, align 4, !dbg !132 %scevgep168 = getelementptr i8, i8* %lsr.iv77, i64 %lsr.iv, !dbg !132 %scevgep168169 = bitcast i8* %scevgep168 to i32*, !dbg !132 %scevgep170 = getelementptr i32, i32* %scevgep168169, i64 -5, !dbg !132 store i32 0, i32* %scevgep170, align 4, !dbg !132 %scevgep171 = getelementptr i8, i8* %lsr.iv77, i64 %lsr.iv, !dbg !132 %scevgep171172 = bitcast i8* %scevgep171 to i32*, !dbg !132 %scevgep173 = getelementptr i32, i32* %scevgep171172, i64 -4, !dbg !132 store i32 0, i32* %scevgep173, align 4, !dbg !132 %scevgep174 = getelementptr i8, i8* %lsr.iv77, i64 %lsr.iv, !dbg !132 %scevgep174175 = bitcast i8* %scevgep174 to i32*, !dbg !132 %scevgep176 = getelementptr i32, i32* %scevgep174175, i64 -3, !dbg !132 store i32 0, i32* %scevgep176, align 4, !dbg !132 %scevgep177 = getelementptr i8, i8* %lsr.iv77, i64 %lsr.iv, !dbg !132 %scevgep177178 = bitcast i8* %scevgep177 to i32*, !dbg !132 %scevgep179 = getelementptr i32, i32* %scevgep177178, i64 -2, !dbg !132 store i32 0, i32* %scevgep179, align 4, !dbg !132 %scevgep180 = getelementptr i8, i8* %lsr.iv77, i64 %lsr.iv, !dbg !132 %scevgep180181 = bitcast i8* %scevgep180 to i32*, !dbg !132 %scevgep182 = getelementptr i32, i32* %scevgep180181, i64 -1, !dbg !132 store i32 0, i32* %scevgep182, align 4, !dbg !132 %scevgep79 = getelementptr i8, i8* %lsr.iv77, i64 %lsr.iv, !dbg !132 %scevgep7980 = bitcast i8* %scevgep79 to i32*, !dbg !132 store i32 0, i32* %scevgep7980, align 4, !dbg !132 %scevgep186 = getelementptr i8, i8* %lsr.iv77, i64 %lsr.iv, !dbg !132 %scevgep186187 = bitcast i8* %scevgep186 to i32*, !dbg !132 %scevgep188 = getelementptr i32, i32* %scevgep186187, i64 1, !dbg !132 store i32 0, i32* %scevgep188, align 4, !dbg !132 %scevgep189 = getelementptr i8, i8* %lsr.iv77, i64 %lsr.iv, !dbg !132 %scevgep189190 = bitcast i8* %scevgep189 to i32*, !dbg !132 %scevgep191 = getelementptr i32, i32* %scevgep189190, i64 2, !dbg !132 store i32 0, i32* %scevgep191, align 4, !dbg !132 %scevgep192 = getelementptr i8, i8* %lsr.iv77, i64 %lsr.iv, !dbg !132 %scevgep192193 = bitcast i8* %scevgep192 to i32*, !dbg !132 %scevgep194 = getelementptr i32, i32* %scevgep192193, i64 3, !dbg !132 store i32 0, i32* %scevgep194, align 4, !dbg !132 %scevgep195 = getelementptr i8, i8* %lsr.iv77, i64 %lsr.iv, !dbg !132 %scevgep195196 = bitcast i8* %scevgep195 to i32*, !dbg !132 %scevgep197 = getelementptr i32, i32* %scevgep195196, i64 4, !dbg !132 store i32 0, i32* %scevgep197, align 4, !dbg !132 %scevgep198 = getelementptr i8, i8* %lsr.iv77, i64 %lsr.iv, !dbg !132 %scevgep198199 = bitcast i8* %scevgep198 to i32*, !dbg !132 %scevgep200 = getelementptr i32, i32* %scevgep198199, i64 5, !dbg !132 store i32 0, i32* %scevgep200, align 4, !dbg !132 %scevgep201 = getelementptr i8, i8* %lsr.iv77, i64 %lsr.iv, !dbg !132 %scevgep201202 = bitcast i8* %scevgep201 to i32*, !dbg !132 %scevgep203 = getelementptr i32, i32* %scevgep201202, i64 6, !dbg !132 store i32 0, i32* %scevgep203, align 4, !dbg !132 %scevgep204 = getelementptr i8, i8* %lsr.iv77, i64 %lsr.iv, !dbg !132 %scevgep204205 = bitcast i8* %scevgep204 to i32*, !dbg !132 %scevgep206 = getelementptr i32, i32* %scevgep204205, i64 7, !dbg !132 store i32 0, i32* %scevgep206, align 4, !dbg !132 %scevgep207 = getelementptr i8, i8* %lsr.iv77, i64 %lsr.iv, !dbg !132 %scevgep207208 = bitcast i8* %scevgep207 to i32*, !dbg !132 %scevgep209 = getelementptr i32, i32* %scevgep207208, i64 8, !dbg !132 store i32 0, i32* %scevgep209, align 4, !dbg !132 %scevgep210 = getelementptr i8, i8* %lsr.iv77, i64 %lsr.iv, !dbg !132 %scevgep210211 = bitcast i8* %scevgep210 to i32*, !dbg !132 %scevgep212 = getelementptr i32, i32* %scevgep210211, i64 9, !dbg !132 store i32 0, i32* %scevgep212, align 4, !dbg !132 %scevgep213 = getelementptr i8, i8* %lsr.iv77, i64 %lsr.iv, !dbg !132 %scevgep213214 = bitcast i8* %scevgep213 to i32*, !dbg !132 %scevgep215 = getelementptr i32, i32* %scevgep213214, i64 10, !dbg !132 store i32 0, i32* %scevgep215, align 4, !dbg !132 %scevgep216 = getelementptr i8, i8* %lsr.iv77, i64 %lsr.iv, !dbg !132 %scevgep216217 = bitcast i8* %scevgep216 to i32*, !dbg !132 %scevgep218 = getelementptr i32, i32* %scevgep216217, i64 11, !dbg !132 store i32 0, i32* %scevgep218, align 4, !dbg !132 %scevgep219 = getelementptr i8, i8* %lsr.iv77, i64 %lsr.iv, !dbg !132 %scevgep219220 = bitcast i8* %scevgep219 to i32*, !dbg !132 %scevgep221 = getelementptr i32, i32* %scevgep219220, i64 12, !dbg !132 store i32 0, i32* %scevgep221, align 4, !dbg !132 %scevgep222 = getelementptr i8, i8* %lsr.iv77, i64 %lsr.iv, !dbg !132 %scevgep222223 = bitcast i8* %scevgep222 to i32*, !dbg !132 %scevgep224 = getelementptr i32, i32* %scevgep222223, i64 13, !dbg !132 store i32 0, i32* %scevgep224, align 4, !dbg !132 %scevgep225 = getelementptr i8, i8* %lsr.iv77, i64 %lsr.iv, !dbg !132 %scevgep225226 = bitcast i8* %scevgep225 to i32*, !dbg !132 %scevgep227 = getelementptr i32, i32* %scevgep225226, i64 14, !dbg !132 store i32 0, i32* %scevgep227, align 4, !dbg !132 %scevgep228 = getelementptr i8, i8* %lsr.iv77, i64 %lsr.iv, !dbg !132 %scevgep228229 = bitcast i8* %scevgep228 to i32*, !dbg !132 %scevgep230 = getelementptr i32, i32* %scevgep228229, i64 15, !dbg !132 store i32 0, i32* %scevgep230, align 4, !dbg !132 %scevgep231 = getelementptr i8, i8* %lsr.iv77, i64 %lsr.iv, !dbg !132 %scevgep231232 = bitcast i8* %scevgep231 to i32*, !dbg !132 %scevgep233 = getelementptr i32, i32* %scevgep231232, i64 16, !dbg !132 store i32 0, i32* %scevgep233, align 4, !dbg !132 %scevgep234 = getelementptr i8, i8* %lsr.iv77, i64 %lsr.iv, !dbg !132 %scevgep234235 = bitcast i8* %scevgep234 to i32*, !dbg !132 %scevgep236 = getelementptr i32, i32* %scevgep234235, i64 17, !dbg !132 store i32 0, i32* %scevgep236, align 4, !dbg !132 %scevgep237 = getelementptr i8, i8* %lsr.iv77, i64 %lsr.iv, !dbg !132 %scevgep237238 = bitcast i8* %scevgep237 to i32*, !dbg !132 %scevgep239 = getelementptr i32, i32* %scevgep237238, i64 18, !dbg !132 store i32 0, i32* %scevgep239, align 4, !dbg !132 %scevgep240 = getelementptr i8, i8* %lsr.iv77, i64 %lsr.iv, !dbg !132 %scevgep240241 = bitcast i8* %scevgep240 to i32*, !dbg !132 %scevgep242 = getelementptr i32, i32* %scevgep240241, i64 19, !dbg !132 store i32 0, i32* %scevgep242, align 4, !dbg !132 %scevgep243 = getelementptr i8, i8* %lsr.iv77, i64 %lsr.iv, !dbg !132 %scevgep243244 = bitcast i8* %scevgep243 to i32*, !dbg !132 %scevgep245 = getelementptr i32, i32* %scevgep243244, i64 20, !dbg !132 store i32 0, i32* %scevgep245, align 4, !dbg !132 %scevgep246 = getelementptr i8, i8* %lsr.iv77, i64 %lsr.iv, !dbg !132 %scevgep246247 = bitcast i8* %scevgep246 to i32*, !dbg !132 %scevgep248 = getelementptr i32, i32* %scevgep246247, i64 21, !dbg !132 store i32 0, i32* %scevgep248, align 4, !dbg !132 %scevgep249 = getelementptr i8, i8* %lsr.iv77, i64 %lsr.iv, !dbg !132 %scevgep249250 = bitcast i8* %scevgep249 to i32*, !dbg !132 %scevgep251 = getelementptr i32, i32* %scevgep249250, i64 22, !dbg !132 store i32 0, i32* %scevgep251, align 4, !dbg !132 %scevgep252 = getelementptr i8, i8* %lsr.iv77, i64 %lsr.iv, !dbg !132 %scevgep252253 = bitcast i8* %scevgep252 to i32*, !dbg !132 %scevgep254 = getelementptr i32, i32* %scevgep252253, i64 23, !dbg !132 store i32 0, i32* %scevgep254, align 4, !dbg !132 %scevgep255 = getelementptr i8, i8* %lsr.iv77, i64 %lsr.iv, !dbg !132 %scevgep255256 = bitcast i8* %scevgep255 to i32*, !dbg !132 %scevgep257 = getelementptr i32, i32* %scevgep255256, i64 24, !dbg !132 store i32 0, i32* %scevgep257, align 4, !dbg !132 %scevgep258 = getelementptr i8, i8* %lsr.iv77, i64 %lsr.iv, !dbg !132 %scevgep258259 = bitcast i8* %scevgep258 to i32*, !dbg !132 %scevgep260 = getelementptr i32, i32* %scevgep258259, i64 25, !dbg !132 store i32 0, i32* %scevgep260, align 4, !dbg !132 %scevgep261 = getelementptr i8, i8* %lsr.iv77, i64 %lsr.iv, !dbg !132 %scevgep261262 = bitcast i8* %scevgep261 to i32*, !dbg !132 %scevgep263 = getelementptr i32, i32* %scevgep261262, i64 26, !dbg !132 store i32 0, i32* %scevgep263, align 4, !dbg !132 %scevgep264 = getelementptr i8, i8* %lsr.iv77, i64 %lsr.iv, !dbg !132 %scevgep264265 = bitcast i8* %scevgep264 to i32*, !dbg !132 %scevgep266 = getelementptr i32, i32* %scevgep264265, i64 27, !dbg !132 store i32 0, i32* %scevgep266, align 4, !dbg !132 %scevgep183 = getelementptr i8, i8* %lsr.iv77, i64 %lsr.iv, !dbg !132 %scevgep183184 = bitcast i8* %scevgep183 to i32*, !dbg !132 %scevgep185 = getelementptr i32, i32* %scevgep183184, i64 28, !dbg !132 store i32 0, i32* %scevgep185, align 4, !dbg !132 %scevgep90 = getelementptr i8, i8* %lsr.iv77, i64 %lsr.iv, !dbg !132 %scevgep9091 = bitcast i8* %scevgep90 to i32*, !dbg !132 %scevgep92 = getelementptr i32, i32* %scevgep9091, i64 29, !dbg !132 store i32 0, i32* %scevgep92, align 4, !dbg !132 %scevgep87 = getelementptr i8, i8* %lsr.iv77, i64 %lsr.iv, !dbg !132 %scevgep8788 = bitcast i8* %scevgep87 to i32*, !dbg !132 %scevgep89 = getelementptr i32, i32* %scevgep8788, i64 30, !dbg !132 store i32 0, i32* %scevgep89, align 4, !dbg !132 %scevgep84 = getelementptr i8, i8* %lsr.iv77, i64 %lsr.iv, !dbg !132 %scevgep8485 = bitcast i8* %scevgep84 to i32*, !dbg !132 %scevgep86 = getelementptr i32, i32* %scevgep8485, i64 31, !dbg !132 store i32 0, i32* %scevgep86, align 4, !dbg !132 %lsr.iv.next = add nuw nsw i64 %lsr.iv, 256, !dbg !132 %exitcond.not = icmp eq i64 %lsr.iv.next, 1024, !dbg !132 br i1 %exitcond.not, label %66, label %.preheader29.us.us.us, !dbg !132 .preheader30.us.us.us: ; preds = %.preheader30.us.us.us.preheader, %63 %lsr.iv298 = phi i8* [ %lsr.iv60, %.preheader30.us.us.us.preheader ], [ %scevgep299, %63 ] %lsr.iv277 = phi i8* [ %lsr.iv274, %.preheader30.us.us.us.preheader ], [ %scevgep278, %63 ] %136 = phi i64 [ %64, %63 ], [ 0, %.preheader30.us.us.us.preheader ] br label %.preheader28.us.us.us, !dbg !132 .preheader31.us.us.us: ; preds = %66, %52 %lsr.iv77 = phi i8* [ %scevgep78, %66 ], [ %lsr.iv74, %52 ] %lsr.iv63 = phi i8* [ %scevgep64, %66 ], [ %lsr.iv60, %52 ] %137 = phi i64 [ 0, %52 ], [ %67, %66 ] br label %.preheader29.us.us.us, !dbg !132 ._crit_edge.us.us.us: ; preds = %54 %138 = bitcast i8* %lsr.iv71 to i1* %139 = bitcast i8* %lsr.iv57 to i1* %140 = bitcast i8* %lsr.iv271 to i1* %141 = add i64 %51, %24, !dbg !132 %scevgep59 = getelementptr i1, i1* %139, i64 %36, !dbg !132 %142 = bitcast i1* %scevgep59 to i8*, !dbg !132 %scevgep73 = getelementptr i1, i1* %138, i64 %36, !dbg !132 %143 = bitcast i1* %scevgep73 to i8*, !dbg !132 %scevgep273 = getelementptr i1, i1* %140, i64 %49, !dbg !132 %144 = bitcast i1* %scevgep273 to i8*, !dbg !132 %145 = icmp slt i64 %141, 12, !dbg !132 br i1 %145, label %.lr.ph.us.us.us, label %._crit_edge35.split.us.us.us, !dbg !132 ._crit_edge35.split.us.us.us: ; preds = %._crit_edge.us.us.us %146 = bitcast i8* %lsr.iv68 to i1* %147 = bitcast i8* %lsr.iv54 to i1* %148 = bitcast i8* %lsr.iv268 to i1* %149 = add i64 %50, %17, !dbg !132 %scevgep56 = getelementptr i1, i1* %147, i64 %35, !dbg !132 %150 = bitcast i1* %scevgep56 to i8*, !dbg !132 %scevgep70 = getelementptr i1, i1* %146, i64 %35, !dbg !132 %151 = bitcast i1* %scevgep70 to i8*, !dbg !132 %scevgep270 = getelementptr i1, i1* %148, i64 %48, !dbg !132 %152 = bitcast i1* %scevgep270 to i8*, !dbg !132 %153 = icmp slt i64 %149, 12, !dbg !132 br i1 %153, label %.lr.ph34.us.us, label %._crit_edge, !dbg !132 .lr.ph34.us: ; preds = %.lr.ph34.us.preheader, %._crit_edge35.split.us36 %154 = phi i64 [ %159, %._crit_edge35.split.us36 ], [ %16, %.lr.ph34.us.preheader ] br label %155, !dbg !132 155: ; preds = %.lr.ph34.us, %155 %156 = phi i64 [ %23, %.lr.ph34.us ], [ %157, %155 ] %157 = add i64 %156, %24, !dbg !132 %158 = icmp slt i64 %157, 12, !dbg !132 br i1 %158, label %155, label %._crit_edge35.split.us36, !dbg !132 ._crit_edge35.split.us36: ; preds = %155 %159 = add i64 %154, %17, !dbg !132 %160 = icmp slt i64 %159, 12, !dbg !132 br i1 %160, label %.lr.ph34.us, label %._crit_edge, !dbg !132 .lr.ph.split: ; preds = %.lr.ph.split.preheader, %.lr.ph.split %161 = phi i64 [ %162, %.lr.ph.split ], [ %16, %.lr.ph.split.preheader ] %162 = add i64 %161, %17, !dbg !132 %163 = icmp slt i64 %162, 12, !dbg !132 br i1 %163, label %.lr.ph.split, label %._crit_edge, !dbg !132 ._crit_edge: ; preds = %.lr.ph.split, %._crit_edge35.split.us36, %._crit_edge35.split.us.us.us, %3 ret i32 0, !dbg !132 } ; Function Attrs: nofree nosync nounwind define internal i32 @main_dispatch_25(%iree_hal_executable_environment_v0_t* noalias nocapture nonnull readnone byref(%iree_hal_executable_environment_v0_t) align 16 %0, %iree_hal_executable_dispatch_state_v0_t* noalias nocapture nonnull readonly byref(%iree_hal_executable_dispatch_state_v0_t) align 16 %1, %iree_hal_executable_workgroup_state_v0_t* noalias nocapture nonnull readonly byref(%iree_hal_executable_workgroup_state_v0_t) align 16 %2) #0 !dbg !135 { %.elt21 = getelementptr inbounds %iree_hal_executable_dispatch_state_v0_t, %iree_hal_executable_dispatch_state_v0_t* %1, i64 0, i32 10, !dbg !136 %.unpack22 = load i8**, i8*** %.elt21, align 16, !dbg !136 %4 = load i8*, i8** %.unpack22, align 8, !dbg !136 %5 = getelementptr i8, i8* %4, i64 35840, !dbg !136 %6 = getelementptr i8*, i8** %.unpack22, i64 1, !dbg !139 %7 = load i8*, i8** %6, align 8, !dbg !139 %8 = load %iree_hal_executable_workgroup_state_v0_t, %iree_hal_executable_workgroup_state_v0_t* %2, align 16, !dbg !139 %9 = extractvalue %iree_hal_executable_workgroup_state_v0_t %8, 0, !dbg !139 %10 = zext i32 %9 to i64, !dbg !139 %11 = extractvalue %iree_hal_executable_workgroup_state_v0_t %8, 1, !dbg !139 %12 = zext i32 %11 to i64, !dbg !139 %13 = extractvalue %iree_hal_executable_workgroup_state_v0_t %8, 2, !dbg !139 %14 = zext i16 %13 to i64, !dbg !139 %15 = shl nuw nsw i64 %10, 5, !dbg !139 %16 = mul nuw nsw i64 %14, 3072, !dbg !139 %17 = mul nuw nsw i64 %12, 384, !dbg !139 br label %.preheader27, !dbg !139 .preheader27: ; preds = %3, %215 %18 = phi i64 [ 0, %3 ], [ %216, %215 ] %19 = mul nuw nsw i64 %18, 768 br label %.preheader26, !dbg !139 .preheader26: ; preds = %.preheader27, %213 %20 = phi i64 [ 0, %.preheader27 ], [ %214, %213 ] %21 = shl i64 %20, 6 br label %.preheader25, !dbg !139 .preheader25: ; preds = %.preheader26, %.preheader25 %22 = phi i1 [ true, %.preheader26 ], [ false, %.preheader25 ] %23 = phi i64 [ 0, %.preheader26 ], [ 16, %.preheader25 ] %24 = bitcast i8* %5 to i32*, !dbg !136 %25 = or i64 %23, %15 %26 = getelementptr [64 x i32], [64 x i32]* @__constant_64xi32_0_0, i64 0, i64 %25, !dbg !140 %27 = load i32, i32* %26, align 16, !dbg !140 %28 = or i64 %25, 1, !dbg !139 %29 = getelementptr [64 x i32], [64 x i32]* @__constant_64xi32_0_0, i64 0, i64 %28, !dbg !140 %30 = load i32, i32* %29, align 4, !dbg !140 %31 = or i64 %25, 2, !dbg !139 %32 = getelementptr [64 x i32], [64 x i32]* @__constant_64xi32_0_0, i64 0, i64 %31, !dbg !140 %33 = load i32, i32* %32, align 8, !dbg !140 %34 = or i64 %25, 3, !dbg !139 %35 = getelementptr [64 x i32], [64 x i32]* @__constant_64xi32_0_0, i64 0, i64 %34, !dbg !140 %36 = load i32, i32* %35, align 4, !dbg !140 %37 = or i64 %25, 4, !dbg !139 %38 = getelementptr [64 x i32], [64 x i32]* @__constant_64xi32_0_0, i64 0, i64 %37, !dbg !140 %39 = load i32, i32* %38, align 16, !dbg !140 %40 = or i64 %25, 5, !dbg !139 %41 = getelementptr [64 x i32], [64 x i32]* @__constant_64xi32_0_0, i64 0, i64 %40, !dbg !140 %42 = load i32, i32* %41, align 4, !dbg !140 %43 = or i64 %25, 6, !dbg !139 %44 = getelementptr [64 x i32], [64 x i32]* @__constant_64xi32_0_0, i64 0, i64 %43, !dbg !140 %45 = load i32, i32* %44, align 8, !dbg !140 %46 = or i64 %25, 7, !dbg !139 %47 = getelementptr [64 x i32], [64 x i32]* @__constant_64xi32_0_0, i64 0, i64 %46, !dbg !140 %48 = load i32, i32* %47, align 4, !dbg !140 %49 = or i64 %25, 8, !dbg !139 %50 = getelementptr [64 x i32], [64 x i32]* @__constant_64xi32_0_0, i64 0, i64 %49, !dbg !140 %51 = load i32, i32* %50, align 16, !dbg !140 %52 = or i64 %25, 9, !dbg !139 %53 = getelementptr [64 x i32], [64 x i32]* @__constant_64xi32_0_0, i64 0, i64 %52, !dbg !140 %54 = load i32, i32* %53, align 4, !dbg !140 %55 = or i64 %25, 10, !dbg !139 %56 = getelementptr [64 x i32], [64 x i32]* @__constant_64xi32_0_0, i64 0, i64 %55, !dbg !140 %57 = load i32, i32* %56, align 8, !dbg !140 %58 = or i64 %25, 11, !dbg !139 %59 = getelementptr [64 x i32], [64 x i32]* @__constant_64xi32_0_0, i64 0, i64 %58, !dbg !140 %60 = load i32, i32* %59, align 4, !dbg !140 %61 = or i64 %25, 12, !dbg !139 %62 = getelementptr [64 x i32], [64 x i32]* @__constant_64xi32_0_0, i64 0, i64 %61, !dbg !140 %63 = load i32, i32* %62, align 16, !dbg !140 %64 = or i64 %25, 13, !dbg !139 %65 = getelementptr [64 x i32], [64 x i32]* @__constant_64xi32_0_0, i64 0, i64 %64, !dbg !140 %66 = load i32, i32* %65, align 4, !dbg !140 %67 = or i64 %25, 14, !dbg !139 %68 = getelementptr [64 x i32], [64 x i32]* @__constant_64xi32_0_0, i64 0, i64 %67, !dbg !140 %69 = load i32, i32* %68, align 8, !dbg !140 %70 = or i64 %25, 15, !dbg !139 %71 = getelementptr [64 x i32], [64 x i32]* @__constant_64xi32_0_0, i64 0, i64 %70, !dbg !140 %72 = load i32, i32* %71, align 4, !dbg !140 %73 = add nuw nsw i64 %25, %17, !dbg !139 %74 = add nuw nsw i64 %73, %16, !dbg !139 %75 = add nuw nsw i64 %74, %19, !dbg !139 %76 = add nuw nsw i64 %75, %21, !dbg !139 %77 = getelementptr i32, i32* %24, i64 %76, !dbg !139 %78 = bitcast i32* %77 to <16 x i32>*, !dbg !139 %79 = load <16 x i32>, <16 x i32>* %78, align 4, !dbg !139 %80 = getelementptr [64 x i32], [64 x i32]* @__constant_64xi32_1, i64 0, i64 %25, !dbg !139 %81 = load i32, i32* %80, align 16, !dbg !139 %82 = getelementptr [64 x i32], [64 x i32]* @__constant_64xi32_1, i64 0, i64 %28, !dbg !139 %83 = load i32, i32* %82, align 4, !dbg !139 %84 = getelementptr [64 x i32], [64 x i32]* @__constant_64xi32_1, i64 0, i64 %31, !dbg !139 %85 = load i32, i32* %84, align 8, !dbg !139 %86 = getelementptr [64 x i32], [64 x i32]* @__constant_64xi32_1, i64 0, i64 %34, !dbg !139 %87 = load i32, i32* %86, align 4, !dbg !139 %88 = getelementptr [64 x i32], [64 x i32]* @__constant_64xi32_1, i64 0, i64 %37, !dbg !139 %89 = load i32, i32* %88, align 16, !dbg !139 %90 = getelementptr [64 x i32], [64 x i32]* @__constant_64xi32_1, i64 0, i64 %40, !dbg !139 %91 = load i32, i32* %90, align 4, !dbg !139 %92 = getelementptr [64 x i32], [64 x i32]* @__constant_64xi32_1, i64 0, i64 %43, !dbg !139 %93 = load i32, i32* %92, align 8, !dbg !139 %94 = getelementptr [64 x i32], [64 x i32]* @__constant_64xi32_1, i64 0, i64 %46, !dbg !139 %95 = load i32, i32* %94, align 4, !dbg !139 %96 = getelementptr [64 x i32], [64 x i32]* @__constant_64xi32_1, i64 0, i64 %49, !dbg !139 %97 = load i32, i32* %96, align 16, !dbg !139 %98 = getelementptr [64 x i32], [64 x i32]* @__constant_64xi32_1, i64 0, i64 %52, !dbg !139 %99 = load i32, i32* %98, align 4, !dbg !139 %100 = getelementptr [64 x i32], [64 x i32]* @__constant_64xi32_1, i64 0, i64 %55, !dbg !139 %101 = load i32, i32* %100, align 8, !dbg !139 %102 = getelementptr [64 x i32], [64 x i32]* @__constant_64xi32_1, i64 0, i64 %58, !dbg !139 %103 = load i32, i32* %102, align 4, !dbg !139 %104 = getelementptr [64 x i32], [64 x i32]* @__constant_64xi32_1, i64 0, i64 %61, !dbg !139 %105 = load i32, i32* %104, align 16, !dbg !139 %106 = getelementptr [64 x i32], [64 x i32]* @__constant_64xi32_1, i64 0, i64 %64, !dbg !139 %107 = load i32, i32* %106, align 4, !dbg !139 %108 = getelementptr [64 x i32], [64 x i32]* @__constant_64xi32_1, i64 0, i64 %67, !dbg !139 %109 = load i32, i32* %108, align 8, !dbg !139 %110 = getelementptr [64 x i32], [64 x i32]* @__constant_64xi32_1, i64 0, i64 %70, !dbg !139 %111 = load i32, i32* %110, align 4, !dbg !139 %112 = insertelement <16 x i32> , i32 %27, i64 0, !dbg !139 %113 = insertelement <16 x i32> %112, i32 %30, i64 1, !dbg !139 %114 = insertelement <16 x i32> %113, i32 %33, i64 2, !dbg !139 %115 = insertelement <16 x i32> %114, i32 %36, i64 3, !dbg !139 %116 = insertelement <16 x i32> %115, i32 %39, i64 4, !dbg !139 %117 = insertelement <16 x i32> %116, i32 %42, i64 5, !dbg !139 %118 = insertelement <16 x i32> %117, i32 %45, i64 6, !dbg !139 %119 = insertelement <16 x i32> %118, i32 %48, i64 7, !dbg !139 %120 = insertelement <16 x i32> %119, i32 %51, i64 8, !dbg !139 %121 = insertelement <16 x i32> %120, i32 %54, i64 9, !dbg !139 %122 = insertelement <16 x i32> %121, i32 %57, i64 10, !dbg !139 %123 = insertelement <16 x i32> %122, i32 %60, i64 11, !dbg !139 %124 = insertelement <16 x i32> %123, i32 %63, i64 12, !dbg !139 %125 = insertelement <16 x i32> %124, i32 %66, i64 13, !dbg !139 %126 = insertelement <16 x i32> %125, i32 %69, i64 14, !dbg !139 %127 = getelementptr [64 x i8], [64 x i8]* @__constant_64xi8_0, i64 0, i64 %25, !dbg !139 %128 = load i8, i8* %127, align 16, !dbg !139 %129 = insertelement <16 x i8> , i8 %128, i64 0, !dbg !139 %130 = getelementptr [64 x i8], [64 x i8]* @__constant_64xi8_0, i64 0, i64 %28, !dbg !139 %131 = load i8, i8* %130, align 1, !dbg !139 %132 = insertelement <16 x i8> %129, i8 %131, i64 1, !dbg !139 %133 = getelementptr [64 x i8], [64 x i8]* @__constant_64xi8_0, i64 0, i64 %31, !dbg !139 %134 = load i8, i8* %133, align 2, !dbg !139 %135 = insertelement <16 x i8> %132, i8 %134, i64 2, !dbg !139 %136 = getelementptr [64 x i8], [64 x i8]* @__constant_64xi8_0, i64 0, i64 %34, !dbg !139 %137 = load i8, i8* %136, align 1, !dbg !139 %138 = insertelement <16 x i8> %135, i8 %137, i64 3, !dbg !139 %139 = getelementptr [64 x i8], [64 x i8]* @__constant_64xi8_0, i64 0, i64 %37, !dbg !139 %140 = load i8, i8* %139, align 4, !dbg !139 %141 = insertelement <16 x i8> %138, i8 %140, i64 4, !dbg !139 %142 = getelementptr [64 x i8], [64 x i8]* @__constant_64xi8_0, i64 0, i64 %40, !dbg !139 %143 = load i8, i8* %142, align 1, !dbg !139 %144 = insertelement <16 x i8> %141, i8 %143, i64 5, !dbg !139 %145 = getelementptr [64 x i8], [64 x i8]* @__constant_64xi8_0, i64 0, i64 %43, !dbg !139 %146 = load i8, i8* %145, align 2, !dbg !139 %147 = insertelement <16 x i8> %144, i8 %146, i64 6, !dbg !139 %148 = getelementptr [64 x i8], [64 x i8]* @__constant_64xi8_0, i64 0, i64 %46, !dbg !139 %149 = load i8, i8* %148, align 1, !dbg !139 %150 = insertelement <16 x i8> %147, i8 %149, i64 7, !dbg !139 %151 = getelementptr [64 x i8], [64 x i8]* @__constant_64xi8_0, i64 0, i64 %49, !dbg !139 %152 = load i8, i8* %151, align 8, !dbg !139 %153 = insertelement <16 x i8> %150, i8 %152, i64 8, !dbg !139 %154 = getelementptr [64 x i8], [64 x i8]* @__constant_64xi8_0, i64 0, i64 %52, !dbg !139 %155 = load i8, i8* %154, align 1, !dbg !139 %156 = insertelement <16 x i8> %153, i8 %155, i64 9, !dbg !139 %157 = getelementptr [64 x i8], [64 x i8]* @__constant_64xi8_0, i64 0, i64 %55, !dbg !139 %158 = load i8, i8* %157, align 2, !dbg !139 %159 = insertelement <16 x i8> %156, i8 %158, i64 10, !dbg !139 %160 = getelementptr [64 x i8], [64 x i8]* @__constant_64xi8_0, i64 0, i64 %58, !dbg !139 %161 = load i8, i8* %160, align 1, !dbg !139 %162 = insertelement <16 x i8> %159, i8 %161, i64 11, !dbg !139 %163 = getelementptr [64 x i8], [64 x i8]* @__constant_64xi8_0, i64 0, i64 %61, !dbg !139 %164 = load i8, i8* %163, align 4, !dbg !139 %165 = insertelement <16 x i8> %162, i8 %164, i64 12, !dbg !139 %166 = getelementptr [64 x i8], [64 x i8]* @__constant_64xi8_0, i64 0, i64 %64, !dbg !139 %167 = load i8, i8* %166, align 1, !dbg !139 %168 = insertelement <16 x i8> %165, i8 %167, i64 13, !dbg !139 %169 = getelementptr [64 x i8], [64 x i8]* @__constant_64xi8_0, i64 0, i64 %67, !dbg !139 %170 = load i8, i8* %169, align 2, !dbg !139 %171 = insertelement <16 x i8> %168, i8 %170, i64 14, !dbg !139 %172 = getelementptr [64 x i8], [64 x i8]* @__constant_64xi8_0, i64 0, i64 %70, !dbg !139 %173 = load i8, i8* %172, align 1, !dbg !139 %174 = insertelement <16 x i8> %171, i8 %173, i64 15, !dbg !139 %175 = insertelement <16 x i32> , i32 %81, i64 0, !dbg !139 %176 = insertelement <16 x i32> %175, i32 %83, i64 1, !dbg !139 %177 = insertelement <16 x i32> %176, i32 %85, i64 2, !dbg !139 %178 = insertelement <16 x i32> %177, i32 %87, i64 3, !dbg !139 %179 = insertelement <16 x i32> %178, i32 %89, i64 4, !dbg !139 %180 = insertelement <16 x i32> %179, i32 %91, i64 5, !dbg !139 %181 = insertelement <16 x i32> %180, i32 %93, i64 6, !dbg !139 %182 = insertelement <16 x i32> %181, i32 %95, i64 7, !dbg !139 %183 = insertelement <16 x i32> %182, i32 %97, i64 8, !dbg !139 %184 = insertelement <16 x i32> %183, i32 %99, i64 9, !dbg !139 %185 = insertelement <16 x i32> %184, i32 %101, i64 10, !dbg !139 %186 = insertelement <16 x i32> %185, i32 %103, i64 11, !dbg !139 %187 = insertelement <16 x i32> %186, i32 %105, i64 12, !dbg !139 %188 = insertelement <16 x i32> %187, i32 %107, i64 13, !dbg !139 %189 = insertelement <16 x i32> %188, i32 %109, i64 14, !dbg !139 %190 = insertelement <16 x i32> %189, i32 %111, i64 15, !dbg !139 %191 = insertelement <16 x i32> %126, i32 %72, i64 15, !dbg !139 %192 = add <16 x i32> %79, %191, !dbg !136 %193 = sext <16 x i32> %192 to <16 x i64>, !dbg !139 %194 = sext <16 x i32> %190 to <16 x i64>, !dbg !139 %195 = mul nsw <16 x i64> %194, %193, !dbg !139 %196 = zext <16 x i8> %174 to <16 x i64>, !dbg !139 %197 = shl <16 x i64> , %196, !dbg !139 %198 = lshr <16 x i64> %197, , !dbg !139 %199 = icmp sgt <16 x i32> %192, , !dbg !139 %200 = select <16 x i1> %199, <16 x i64> , <16 x i64> , !dbg !139 %201 = icmp ugt <16 x i8> %174, , !dbg !139 %202 = select <16 x i1> %201, <16 x i64> %200, <16 x i64> zeroinitializer, !dbg !139 %203 = add <16 x i64> %202, %195, !dbg !139 %204 = add <16 x i64> %203, %198, !dbg !139 %205 = ashr <16 x i64> %204, %196, !dbg !139 %206 = trunc <16 x i64> %205 to <16 x i32>, !dbg !139 %207 = add <16 x i32> %206, , !dbg !139 %208 = tail call <16 x i32> @llvm.smax.v16i32(<16 x i32> %207, <16 x i32> ), !dbg !139 %209 = tail call <16 x i32> @llvm.smin.v16i32(<16 x i32> %208, <16 x i32> ), !dbg !139 %210 = trunc <16 x i32> %209 to <16 x i8>, !dbg !139 %211 = getelementptr i8, i8* %7, i64 %76, !dbg !139 %212 = bitcast i8* %211 to <16 x i8>*, !dbg !139 store <16 x i8> %210, <16 x i8>* %212, align 1, !dbg !139 br i1 %22, label %.preheader25, label %213, !dbg !139 213: ; preds = %.preheader25 %214 = add nuw nsw i64 %20, 1, !dbg !139 %exitcond.not = icmp eq i64 %214, 6, !dbg !139 br i1 %exitcond.not, label %215, label %.preheader26, !dbg !139 215: ; preds = %213 %216 = add nuw nsw i64 %18, 1, !dbg !139 %exitcond32.not = icmp eq i64 %216, 4, !dbg !139 br i1 %exitcond32.not, label %217, label %.preheader27, !dbg !139 217: ; preds = %215 ret i32 0, !dbg !139 } ; Function Attrs: nofree nosync nounwind define internal i32 @main_dispatch_26(%iree_hal_executable_environment_v0_t* noalias nocapture nonnull readnone byref(%iree_hal_executable_environment_v0_t) align 16 %0, %iree_hal_executable_dispatch_state_v0_t* noalias nocapture nonnull readonly byref(%iree_hal_executable_dispatch_state_v0_t) align 16 %1, %iree_hal_executable_workgroup_state_v0_t* noalias nocapture nonnull readonly byref(%iree_hal_executable_workgroup_state_v0_t) align 16 %2) #0 !dbg !141 { .preheader: %const = bitcast i64 209152 to i64, !dbg !142 %.elt19 = getelementptr inbounds %iree_hal_executable_dispatch_state_v0_t, %iree_hal_executable_dispatch_state_v0_t* %1, i64 0, i32 10, !dbg !142 %.unpack20 = load i8**, i8*** %.elt19, align 16, !dbg !142 %3 = load i8*, i8** %.unpack20, align 8, !dbg !142 %4 = getelementptr i8*, i8** %.unpack20, i64 1, !dbg !142 %5 = load i8*, i8** %4, align 8, !dbg !142 %6 = getelementptr i8, i8* %5, i64 9216, !dbg !142 %7 = bitcast %iree_hal_executable_workgroup_state_v0_t* %2 to i32*, !dbg !142 %8 = load i32, i32* %7, align 16, !dbg !142 %9 = zext i32 %8 to i64, !dbg !142 %10 = shl nuw nsw i64 %9, 5, !dbg !142 %11 = add nuw nsw i64 %10, %const, !dbg !142 %scevgep30 = getelementptr i8, i8* %3, i64 %11, !dbg !142 br label %12, !dbg !142 12: ; preds = %.preheader, %12 %lsr.iv34 = phi i64 [ 64, %.preheader ], [ %lsr.iv.next35, %12 ] %lsr.iv31 = phi i8* [ %scevgep30, %.preheader ], [ %scevgep32, %12 ] %13 = phi <16 x i32> [ zeroinitializer, %.preheader ], [ %16, %12 ] %lsr.iv3133 = bitcast i8* %lsr.iv31 to <16 x i8>*, !dbg !142 %14 = load <16 x i8>, <16 x i8>* %lsr.iv3133, align 32, !dbg !142 %15 = sext <16 x i8> %14 to <16 x i32>, !dbg !142 %16 = add <16 x i32> %13, %15, !dbg !142 %scevgep32 = getelementptr i8, i8* %lsr.iv31, i64 64, !dbg !142 %lsr.iv.next35 = add nsw i64 %lsr.iv34, -1, !dbg !142 %exitcond.not = icmp eq i64 %lsr.iv.next35, 0, !dbg !142 br i1 %exitcond.not, label %.preheader.1, label %12, !dbg !142 .preheader.1: ; preds = %12 %17 = bitcast i8* %6 to i32*, !dbg !142 %18 = getelementptr i32, i32* %17, i64 %10, !dbg !142 %19 = bitcast i32* %18 to <16 x i32>*, !dbg !142 store <16 x i32> %16, <16 x i32>* %19, align 64, !dbg !142 %20 = or i64 %10, 16 %const_mat = add i64 %const, 16, !dbg !142 %21 = add nuw nsw i64 %10, %const_mat, !dbg !142 %scevgep = getelementptr i8, i8* %3, i64 %21, !dbg !142 br label %22, !dbg !142 22: ; preds = %22, %.preheader.1 %lsr.iv27 = phi i8* [ %scevgep28, %22 ], [ %scevgep, %.preheader.1 ] %lsr.iv = phi i64 [ %lsr.iv.next, %22 ], [ 64, %.preheader.1 ] %23 = phi <16 x i32> [ zeroinitializer, %.preheader.1 ], [ %26, %22 ] %lsr.iv2729 = bitcast i8* %lsr.iv27 to <16 x i8>*, !dbg !142 %24 = load <16 x i8>, <16 x i8>* %lsr.iv2729, align 16, !dbg !142 %25 = sext <16 x i8> %24 to <16 x i32>, !dbg !142 %26 = add <16 x i32> %23, %25, !dbg !142 %lsr.iv.next = add nsw i64 %lsr.iv, -1, !dbg !142 %scevgep28 = getelementptr i8, i8* %lsr.iv27, i64 64, !dbg !142 %exitcond.1.not = icmp eq i64 %lsr.iv.next, 0, !dbg !142 br i1 %exitcond.1.not, label %27, label %22, !dbg !142 27: ; preds = %22 %28 = bitcast i8* %6 to i32*, !dbg !142 %29 = getelementptr i32, i32* %28, i64 %20, !dbg !142 %30 = bitcast i32* %29 to <16 x i32>*, !dbg !142 store <16 x i32> %26, <16 x i32>* %30, align 64, !dbg !142 ret i32 0, !dbg !142 } ; Function Attrs: nofree nosync nounwind define internal i32 @main_dispatch_27(%iree_hal_executable_environment_v0_t* noalias nocapture nonnull readnone byref(%iree_hal_executable_environment_v0_t) align 16 %0, %iree_hal_executable_dispatch_state_v0_t* noalias nocapture nonnull readonly byref(%iree_hal_executable_dispatch_state_v0_t) align 16 %1, %iree_hal_executable_workgroup_state_v0_t* noalias nocapture nonnull readonly byref(%iree_hal_executable_workgroup_state_v0_t) align 16 %2) #0 !dbg !145 { .preheader: %.elt23 = getelementptr inbounds %iree_hal_executable_dispatch_state_v0_t, %iree_hal_executable_dispatch_state_v0_t* %1, i64 0, i32 10, !dbg !146 %.unpack24 = load i8**, i8*** %.elt23, align 16, !dbg !146 %3 = load i8*, i8** %.unpack24, align 8, !dbg !146 %4 = getelementptr i8*, i8** %.unpack24, i64 1, !dbg !146 %5 = load i8*, i8** %4, align 8, !dbg !146 %6 = getelementptr i8, i8* %3, i64 9216, !dbg !146 %7 = getelementptr i8*, i8** %.unpack24, i64 2, !dbg !149 %8 = load i8*, i8** %7, align 8, !dbg !149 %9 = getelementptr i8, i8* %8, i64 9472, !dbg !149 %10 = load %iree_hal_executable_workgroup_state_v0_t, %iree_hal_executable_workgroup_state_v0_t* %2, align 16, !dbg !149 %11 = extractvalue %iree_hal_executable_workgroup_state_v0_t %10, 0, !dbg !149 %12 = zext i32 %11 to i64, !dbg !149 %13 = extractvalue %iree_hal_executable_workgroup_state_v0_t %10, 1, !dbg !149 %14 = zext i32 %13 to i64, !dbg !149 %15 = shl nuw nsw i64 %12, 5, !dbg !149 %16 = mul i64 %14, 3072, !dbg !146 %17 = getelementptr [64 x i32], [64 x i32]* @__constant_64xi32_0_1, i64 0, i64 %15, !dbg !150 %18 = load i32, i32* %17, align 16, !dbg !150 %19 = or i64 %15, 1, !dbg !149 %20 = getelementptr [64 x i32], [64 x i32]* @__constant_64xi32_0_1, i64 0, i64 %19, !dbg !150 %21 = load i32, i32* %20, align 4, !dbg !150 %22 = or i64 %15, 2, !dbg !149 %23 = getelementptr [64 x i32], [64 x i32]* @__constant_64xi32_0_1, i64 0, i64 %22, !dbg !150 %24 = load i32, i32* %23, align 8, !dbg !150 %25 = or i64 %15, 3, !dbg !149 %26 = getelementptr [64 x i32], [64 x i32]* @__constant_64xi32_0_1, i64 0, i64 %25, !dbg !150 %27 = load i32, i32* %26, align 4, !dbg !150 %28 = or i64 %15, 4, !dbg !149 %29 = getelementptr [64 x i32], [64 x i32]* @__constant_64xi32_0_1, i64 0, i64 %28, !dbg !150 %30 = load i32, i32* %29, align 16, !dbg !150 %31 = or i64 %15, 5, !dbg !149 %32 = getelementptr [64 x i32], [64 x i32]* @__constant_64xi32_0_1, i64 0, i64 %31, !dbg !150 %33 = load i32, i32* %32, align 4, !dbg !150 %34 = or i64 %15, 6, !dbg !149 %35 = getelementptr [64 x i32], [64 x i32]* @__constant_64xi32_0_1, i64 0, i64 %34, !dbg !150 %36 = load i32, i32* %35, align 8, !dbg !150 %37 = or i64 %15, 7, !dbg !149 %38 = getelementptr [64 x i32], [64 x i32]* @__constant_64xi32_0_1, i64 0, i64 %37, !dbg !150 %39 = load i32, i32* %38, align 4, !dbg !150 %40 = or i64 %15, 8, !dbg !149 %41 = getelementptr [64 x i32], [64 x i32]* @__constant_64xi32_0_1, i64 0, i64 %40, !dbg !150 %42 = load i32, i32* %41, align 16, !dbg !150 %43 = or i64 %15, 9, !dbg !149 %44 = getelementptr [64 x i32], [64 x i32]* @__constant_64xi32_0_1, i64 0, i64 %43, !dbg !150 %45 = load i32, i32* %44, align 4, !dbg !150 %46 = or i64 %15, 10, !dbg !149 %47 = getelementptr [64 x i32], [64 x i32]* @__constant_64xi32_0_1, i64 0, i64 %46, !dbg !150 %48 = load i32, i32* %47, align 8, !dbg !150 %49 = or i64 %15, 11, !dbg !149 %50 = getelementptr [64 x i32], [64 x i32]* @__constant_64xi32_0_1, i64 0, i64 %49, !dbg !150 %51 = load i32, i32* %50, align 4, !dbg !150 %52 = or i64 %15, 12, !dbg !149 %53 = getelementptr [64 x i32], [64 x i32]* @__constant_64xi32_0_1, i64 0, i64 %52, !dbg !150 %54 = load i32, i32* %53, align 16, !dbg !150 %55 = or i64 %15, 13, !dbg !149 %56 = getelementptr [64 x i32], [64 x i32]* @__constant_64xi32_0_1, i64 0, i64 %55, !dbg !150 %57 = load i32, i32* %56, align 4, !dbg !150 %58 = or i64 %15, 14, !dbg !149 %59 = getelementptr [64 x i32], [64 x i32]* @__constant_64xi32_0_1, i64 0, i64 %58, !dbg !150 %60 = load i32, i32* %59, align 8, !dbg !150 %61 = or i64 %15, 15, !dbg !149 %62 = getelementptr [64 x i32], [64 x i32]* @__constant_64xi32_0_1, i64 0, i64 %61, !dbg !150 %63 = load i32, i32* %62, align 4, !dbg !150 %64 = or i64 %15, 16, !dbg !149 %65 = getelementptr [64 x i32], [64 x i32]* @__constant_64xi32_0_1, i64 0, i64 %64, !dbg !150 %66 = load i32, i32* %65, align 16, !dbg !150 %67 = or i64 %15, 17, !dbg !149 %68 = getelementptr [64 x i32], [64 x i32]* @__constant_64xi32_0_1, i64 0, i64 %67, !dbg !150 %69 = load i32, i32* %68, align 4, !dbg !150 %70 = or i64 %15, 18, !dbg !149 %71 = getelementptr [64 x i32], [64 x i32]* @__constant_64xi32_0_1, i64 0, i64 %70, !dbg !150 %72 = load i32, i32* %71, align 8, !dbg !150 %73 = or i64 %15, 19, !dbg !149 %74 = getelementptr [64 x i32], [64 x i32]* @__constant_64xi32_0_1, i64 0, i64 %73, !dbg !150 %75 = load i32, i32* %74, align 4, !dbg !150 %76 = or i64 %15, 20, !dbg !149 %77 = getelementptr [64 x i32], [64 x i32]* @__constant_64xi32_0_1, i64 0, i64 %76, !dbg !150 %78 = load i32, i32* %77, align 16, !dbg !150 %79 = or i64 %15, 21, !dbg !149 %80 = getelementptr [64 x i32], [64 x i32]* @__constant_64xi32_0_1, i64 0, i64 %79, !dbg !150 %81 = load i32, i32* %80, align 4, !dbg !150 %82 = or i64 %15, 22, !dbg !149 %83 = getelementptr [64 x i32], [64 x i32]* @__constant_64xi32_0_1, i64 0, i64 %82, !dbg !150 %84 = load i32, i32* %83, align 8, !dbg !150 %85 = or i64 %15, 23, !dbg !149 %86 = getelementptr [64 x i32], [64 x i32]* @__constant_64xi32_0_1, i64 0, i64 %85, !dbg !150 %87 = load i32, i32* %86, align 4, !dbg !150 %88 = or i64 %15, 24, !dbg !149 %89 = getelementptr [64 x i32], [64 x i32]* @__constant_64xi32_0_1, i64 0, i64 %88, !dbg !150 %90 = load i32, i32* %89, align 16, !dbg !150 %91 = or i64 %15, 25, !dbg !149 %92 = getelementptr [64 x i32], [64 x i32]* @__constant_64xi32_0_1, i64 0, i64 %91, !dbg !150 %93 = load i32, i32* %92, align 4, !dbg !150 %94 = or i64 %15, 26, !dbg !149 %95 = getelementptr [64 x i32], [64 x i32]* @__constant_64xi32_0_1, i64 0, i64 %94, !dbg !150 %96 = load i32, i32* %95, align 8, !dbg !150 %97 = or i64 %15, 27, !dbg !149 %98 = getelementptr [64 x i32], [64 x i32]* @__constant_64xi32_0_1, i64 0, i64 %97, !dbg !150 %99 = load i32, i32* %98, align 4, !dbg !150 %100 = or i64 %15, 28, !dbg !149 %101 = getelementptr [64 x i32], [64 x i32]* @__constant_64xi32_0_1, i64 0, i64 %100, !dbg !150 %102 = load i32, i32* %101, align 16, !dbg !150 %103 = or i64 %15, 29, !dbg !149 %104 = getelementptr [64 x i32], [64 x i32]* @__constant_64xi32_0_1, i64 0, i64 %103, !dbg !150 %105 = load i32, i32* %104, align 4, !dbg !150 %106 = or i64 %15, 30, !dbg !149 %107 = getelementptr [64 x i32], [64 x i32]* @__constant_64xi32_0_1, i64 0, i64 %106, !dbg !150 %108 = load i32, i32* %107, align 8, !dbg !150 %109 = or i64 %15, 31, !dbg !149 %110 = getelementptr [64 x i32], [64 x i32]* @__constant_64xi32_0_1, i64 0, i64 %109, !dbg !150 %111 = load i32, i32* %110, align 4, !dbg !150 %112 = bitcast i8* %6 to i32*, !dbg !146 %113 = getelementptr i32, i32* %112, i64 %15, !dbg !149 %114 = bitcast i32* %113 to <32 x i32>*, !dbg !149 %115 = load <32 x i32>, <32 x i32>* %114, align 64, !dbg !149 %116 = getelementptr [64 x i32], [64 x i32]* @__constant_64xi32_2, i64 0, i64 %15, !dbg !149 %117 = load i32, i32* %116, align 16, !dbg !149 %118 = getelementptr [64 x i32], [64 x i32]* @__constant_64xi32_2, i64 0, i64 %19, !dbg !149 %119 = load i32, i32* %118, align 4, !dbg !149 %120 = getelementptr [64 x i32], [64 x i32]* @__constant_64xi32_2, i64 0, i64 %22, !dbg !149 %121 = load i32, i32* %120, align 8, !dbg !149 %122 = getelementptr [64 x i32], [64 x i32]* @__constant_64xi32_2, i64 0, i64 %25, !dbg !149 %123 = load i32, i32* %122, align 4, !dbg !149 %124 = getelementptr [64 x i32], [64 x i32]* @__constant_64xi32_2, i64 0, i64 %28, !dbg !149 %125 = load i32, i32* %124, align 16, !dbg !149 %126 = getelementptr [64 x i32], [64 x i32]* @__constant_64xi32_2, i64 0, i64 %31, !dbg !149 %127 = load i32, i32* %126, align 4, !dbg !149 %128 = getelementptr [64 x i32], [64 x i32]* @__constant_64xi32_2, i64 0, i64 %34, !dbg !149 %129 = load i32, i32* %128, align 8, !dbg !149 %130 = getelementptr [64 x i32], [64 x i32]* @__constant_64xi32_2, i64 0, i64 %37, !dbg !149 %131 = load i32, i32* %130, align 4, !dbg !149 %132 = getelementptr [64 x i32], [64 x i32]* @__constant_64xi32_2, i64 0, i64 %40, !dbg !149 %133 = load i32, i32* %132, align 16, !dbg !149 %134 = getelementptr [64 x i32], [64 x i32]* @__constant_64xi32_2, i64 0, i64 %43, !dbg !149 %135 = load i32, i32* %134, align 4, !dbg !149 %136 = getelementptr [64 x i32], [64 x i32]* @__constant_64xi32_2, i64 0, i64 %46, !dbg !149 %137 = load i32, i32* %136, align 8, !dbg !149 %138 = getelementptr [64 x i32], [64 x i32]* @__constant_64xi32_2, i64 0, i64 %49, !dbg !149 %139 = load i32, i32* %138, align 4, !dbg !149 %140 = getelementptr [64 x i32], [64 x i32]* @__constant_64xi32_2, i64 0, i64 %52, !dbg !149 %141 = load i32, i32* %140, align 16, !dbg !149 %142 = getelementptr [64 x i32], [64 x i32]* @__constant_64xi32_2, i64 0, i64 %55, !dbg !149 %143 = load i32, i32* %142, align 4, !dbg !149 %144 = getelementptr [64 x i32], [64 x i32]* @__constant_64xi32_2, i64 0, i64 %58, !dbg !149 %145 = load i32, i32* %144, align 8, !dbg !149 %146 = getelementptr [64 x i32], [64 x i32]* @__constant_64xi32_2, i64 0, i64 %61, !dbg !149 %147 = load i32, i32* %146, align 4, !dbg !149 %148 = getelementptr [64 x i32], [64 x i32]* @__constant_64xi32_2, i64 0, i64 %64, !dbg !149 %149 = load i32, i32* %148, align 16, !dbg !149 %150 = getelementptr [64 x i32], [64 x i32]* @__constant_64xi32_2, i64 0, i64 %67, !dbg !149 %151 = load i32, i32* %150, align 4, !dbg !149 %152 = getelementptr [64 x i32], [64 x i32]* @__constant_64xi32_2, i64 0, i64 %70, !dbg !149 %153 = load i32, i32* %152, align 8, !dbg !149 %154 = getelementptr [64 x i32], [64 x i32]* @__constant_64xi32_2, i64 0, i64 %73, !dbg !149 %155 = load i32, i32* %154, align 4, !dbg !149 %156 = getelementptr [64 x i32], [64 x i32]* @__constant_64xi32_2, i64 0, i64 %76, !dbg !149 %157 = load i32, i32* %156, align 16, !dbg !149 %158 = getelementptr [64 x i32], [64 x i32]* @__constant_64xi32_2, i64 0, i64 %79, !dbg !149 %159 = load i32, i32* %158, align 4, !dbg !149 %160 = getelementptr [64 x i32], [64 x i32]* @__constant_64xi32_2, i64 0, i64 %82, !dbg !149 %161 = load i32, i32* %160, align 8, !dbg !149 %162 = getelementptr [64 x i32], [64 x i32]* @__constant_64xi32_2, i64 0, i64 %85, !dbg !149 %163 = load i32, i32* %162, align 4, !dbg !149 %164 = getelementptr [64 x i32], [64 x i32]* @__constant_64xi32_2, i64 0, i64 %88, !dbg !149 %165 = load i32, i32* %164, align 16, !dbg !149 %166 = getelementptr [64 x i32], [64 x i32]* @__constant_64xi32_2, i64 0, i64 %91, !dbg !149 %167 = load i32, i32* %166, align 4, !dbg !149 %168 = getelementptr [64 x i32], [64 x i32]* @__constant_64xi32_2, i64 0, i64 %94, !dbg !149 %169 = load i32, i32* %168, align 8, !dbg !149 %170 = getelementptr [64 x i32], [64 x i32]* @__constant_64xi32_2, i64 0, i64 %97, !dbg !149 %171 = load i32, i32* %170, align 4, !dbg !149 %172 = getelementptr [64 x i32], [64 x i32]* @__constant_64xi32_2, i64 0, i64 %100, !dbg !149 %173 = load i32, i32* %172, align 16, !dbg !149 %174 = getelementptr [64 x i32], [64 x i32]* @__constant_64xi32_2, i64 0, i64 %103, !dbg !149 %175 = load i32, i32* %174, align 4, !dbg !149 %176 = getelementptr [64 x i32], [64 x i32]* @__constant_64xi32_2, i64 0, i64 %106, !dbg !149 %177 = load i32, i32* %176, align 8, !dbg !149 %178 = getelementptr [64 x i32], [64 x i32]* @__constant_64xi32_2, i64 0, i64 %109, !dbg !149 %179 = load i32, i32* %178, align 4, !dbg !149 %180 = insertelement <32 x i32> , i32 %18, i64 0, !dbg !149 %181 = insertelement <32 x i32> %180, i32 %21, i64 1, !dbg !149 %182 = insertelement <32 x i32> %181, i32 %24, i64 2, !dbg !149 %183 = insertelement <32 x i32> %182, i32 %27, i64 3, !dbg !149 %184 = insertelement <32 x i32> %183, i32 %30, i64 4, !dbg !149 %185 = insertelement <32 x i32> %184, i32 %33, i64 5, !dbg !149 %186 = insertelement <32 x i32> %185, i32 %36, i64 6, !dbg !149 %187 = insertelement <32 x i32> %186, i32 %39, i64 7, !dbg !149 %188 = insertelement <32 x i32> %187, i32 %42, i64 8, !dbg !149 %189 = insertelement <32 x i32> %188, i32 %45, i64 9, !dbg !149 %190 = insertelement <32 x i32> %189, i32 %48, i64 10, !dbg !149 %191 = insertelement <32 x i32> %190, i32 %51, i64 11, !dbg !149 %192 = insertelement <32 x i32> %191, i32 %54, i64 12, !dbg !149 %193 = insertelement <32 x i32> %192, i32 %57, i64 13, !dbg !149 %194 = insertelement <32 x i32> %193, i32 %60, i64 14, !dbg !149 %195 = insertelement <32 x i32> %194, i32 %63, i64 15, !dbg !149 %196 = insertelement <32 x i32> %195, i32 %66, i64 16, !dbg !149 %197 = insertelement <32 x i32> %196, i32 %69, i64 17, !dbg !149 %198 = insertelement <32 x i32> %197, i32 %72, i64 18, !dbg !149 %199 = insertelement <32 x i32> %198, i32 %75, i64 19, !dbg !149 %200 = insertelement <32 x i32> %199, i32 %78, i64 20, !dbg !149 %201 = insertelement <32 x i32> %200, i32 %81, i64 21, !dbg !149 %202 = insertelement <32 x i32> %201, i32 %84, i64 22, !dbg !149 %203 = insertelement <32 x i32> %202, i32 %87, i64 23, !dbg !149 %204 = insertelement <32 x i32> %203, i32 %90, i64 24, !dbg !149 %205 = insertelement <32 x i32> %204, i32 %93, i64 25, !dbg !149 %206 = insertelement <32 x i32> %205, i32 %96, i64 26, !dbg !149 %207 = insertelement <32 x i32> %206, i32 %99, i64 27, !dbg !149 %208 = insertelement <32 x i32> %207, i32 %102, i64 28, !dbg !149 %209 = insertelement <32 x i32> %208, i32 %105, i64 29, !dbg !149 %210 = insertelement <32 x i32> %209, i32 %108, i64 30, !dbg !149 %211 = insertelement <32 x i32> %210, i32 %111, i64 31, !dbg !149 %212 = getelementptr [64 x i8], [64 x i8]* @__constant_64xi8_1, i64 0, i64 %15, !dbg !149 %213 = load i8, i8* %212, align 16, !dbg !149 %214 = insertelement <32 x i8> , i8 %213, i64 0, !dbg !149 %215 = getelementptr [64 x i8], [64 x i8]* @__constant_64xi8_1, i64 0, i64 %19, !dbg !149 %216 = load i8, i8* %215, align 1, !dbg !149 %217 = insertelement <32 x i8> %214, i8 %216, i64 1, !dbg !149 %218 = getelementptr [64 x i8], [64 x i8]* @__constant_64xi8_1, i64 0, i64 %22, !dbg !149 %219 = load i8, i8* %218, align 2, !dbg !149 %220 = insertelement <32 x i8> %217, i8 %219, i64 2, !dbg !149 %221 = getelementptr [64 x i8], [64 x i8]* @__constant_64xi8_1, i64 0, i64 %25, !dbg !149 %222 = load i8, i8* %221, align 1, !dbg !149 %223 = insertelement <32 x i8> %220, i8 %222, i64 3, !dbg !149 %224 = getelementptr [64 x i8], [64 x i8]* @__constant_64xi8_1, i64 0, i64 %28, !dbg !149 %225 = load i8, i8* %224, align 4, !dbg !149 %226 = insertelement <32 x i8> %223, i8 %225, i64 4, !dbg !149 %227 = getelementptr [64 x i8], [64 x i8]* @__constant_64xi8_1, i64 0, i64 %31, !dbg !149 %228 = load i8, i8* %227, align 1, !dbg !149 %229 = insertelement <32 x i8> %226, i8 %228, i64 5, !dbg !149 %230 = getelementptr [64 x i8], [64 x i8]* @__constant_64xi8_1, i64 0, i64 %34, !dbg !149 %231 = load i8, i8* %230, align 2, !dbg !149 %232 = insertelement <32 x i8> %229, i8 %231, i64 6, !dbg !149 %233 = getelementptr [64 x i8], [64 x i8]* @__constant_64xi8_1, i64 0, i64 %37, !dbg !149 %234 = load i8, i8* %233, align 1, !dbg !149 %235 = insertelement <32 x i8> %232, i8 %234, i64 7, !dbg !149 %236 = getelementptr [64 x i8], [64 x i8]* @__constant_64xi8_1, i64 0, i64 %40, !dbg !149 %237 = load i8, i8* %236, align 8, !dbg !149 %238 = insertelement <32 x i8> %235, i8 %237, i64 8, !dbg !149 %239 = getelementptr [64 x i8], [64 x i8]* @__constant_64xi8_1, i64 0, i64 %43, !dbg !149 %240 = load i8, i8* %239, align 1, !dbg !149 %241 = insertelement <32 x i8> %238, i8 %240, i64 9, !dbg !149 %242 = getelementptr [64 x i8], [64 x i8]* @__constant_64xi8_1, i64 0, i64 %46, !dbg !149 %243 = load i8, i8* %242, align 2, !dbg !149 %244 = insertelement <32 x i8> %241, i8 %243, i64 10, !dbg !149 %245 = getelementptr [64 x i8], [64 x i8]* @__constant_64xi8_1, i64 0, i64 %49, !dbg !149 %246 = load i8, i8* %245, align 1, !dbg !149 %247 = insertelement <32 x i8> %244, i8 %246, i64 11, !dbg !149 %248 = getelementptr [64 x i8], [64 x i8]* @__constant_64xi8_1, i64 0, i64 %52, !dbg !149 %249 = load i8, i8* %248, align 4, !dbg !149 %250 = insertelement <32 x i8> %247, i8 %249, i64 12, !dbg !149 %251 = getelementptr [64 x i8], [64 x i8]* @__constant_64xi8_1, i64 0, i64 %55, !dbg !149 %252 = load i8, i8* %251, align 1, !dbg !149 %253 = insertelement <32 x i8> %250, i8 %252, i64 13, !dbg !149 %254 = getelementptr [64 x i8], [64 x i8]* @__constant_64xi8_1, i64 0, i64 %58, !dbg !149 %255 = load i8, i8* %254, align 2, !dbg !149 %256 = insertelement <32 x i8> %253, i8 %255, i64 14, !dbg !149 %257 = getelementptr [64 x i8], [64 x i8]* @__constant_64xi8_1, i64 0, i64 %61, !dbg !149 %258 = load i8, i8* %257, align 1, !dbg !149 %259 = insertelement <32 x i8> %256, i8 %258, i64 15, !dbg !149 %260 = getelementptr [64 x i8], [64 x i8]* @__constant_64xi8_1, i64 0, i64 %64, !dbg !149 %261 = load i8, i8* %260, align 16, !dbg !149 %262 = insertelement <32 x i8> %259, i8 %261, i64 16, !dbg !149 %263 = getelementptr [64 x i8], [64 x i8]* @__constant_64xi8_1, i64 0, i64 %67, !dbg !149 %264 = load i8, i8* %263, align 1, !dbg !149 %265 = insertelement <32 x i8> %262, i8 %264, i64 17, !dbg !149 %266 = getelementptr [64 x i8], [64 x i8]* @__constant_64xi8_1, i64 0, i64 %70, !dbg !149 %267 = load i8, i8* %266, align 2, !dbg !149 %268 = insertelement <32 x i8> %265, i8 %267, i64 18, !dbg !149 %269 = getelementptr [64 x i8], [64 x i8]* @__constant_64xi8_1, i64 0, i64 %73, !dbg !149 %270 = load i8, i8* %269, align 1, !dbg !149 %271 = insertelement <32 x i8> %268, i8 %270, i64 19, !dbg !149 %272 = getelementptr [64 x i8], [64 x i8]* @__constant_64xi8_1, i64 0, i64 %76, !dbg !149 %273 = load i8, i8* %272, align 4, !dbg !149 %274 = insertelement <32 x i8> %271, i8 %273, i64 20, !dbg !149 %275 = getelementptr [64 x i8], [64 x i8]* @__constant_64xi8_1, i64 0, i64 %79, !dbg !149 %276 = load i8, i8* %275, align 1, !dbg !149 %277 = insertelement <32 x i8> %274, i8 %276, i64 21, !dbg !149 %278 = getelementptr [64 x i8], [64 x i8]* @__constant_64xi8_1, i64 0, i64 %82, !dbg !149 %279 = load i8, i8* %278, align 2, !dbg !149 %280 = insertelement <32 x i8> %277, i8 %279, i64 22, !dbg !149 %281 = getelementptr [64 x i8], [64 x i8]* @__constant_64xi8_1, i64 0, i64 %85, !dbg !149 %282 = load i8, i8* %281, align 1, !dbg !149 %283 = insertelement <32 x i8> %280, i8 %282, i64 23, !dbg !149 %284 = getelementptr [64 x i8], [64 x i8]* @__constant_64xi8_1, i64 0, i64 %88, !dbg !149 %285 = load i8, i8* %284, align 8, !dbg !149 %286 = insertelement <32 x i8> %283, i8 %285, i64 24, !dbg !149 %287 = getelementptr [64 x i8], [64 x i8]* @__constant_64xi8_1, i64 0, i64 %91, !dbg !149 %288 = load i8, i8* %287, align 1, !dbg !149 %289 = insertelement <32 x i8> %286, i8 %288, i64 25, !dbg !149 %290 = getelementptr [64 x i8], [64 x i8]* @__constant_64xi8_1, i64 0, i64 %94, !dbg !149 %291 = load i8, i8* %290, align 2, !dbg !149 %292 = insertelement <32 x i8> %289, i8 %291, i64 26, !dbg !149 %293 = getelementptr [64 x i8], [64 x i8]* @__constant_64xi8_1, i64 0, i64 %97, !dbg !149 %294 = load i8, i8* %293, align 1, !dbg !149 %295 = insertelement <32 x i8> %292, i8 %294, i64 27, !dbg !149 %296 = getelementptr [64 x i8], [64 x i8]* @__constant_64xi8_1, i64 0, i64 %100, !dbg !149 %297 = load i8, i8* %296, align 4, !dbg !149 %298 = insertelement <32 x i8> %295, i8 %297, i64 28, !dbg !149 %299 = getelementptr [64 x i8], [64 x i8]* @__constant_64xi8_1, i64 0, i64 %103, !dbg !149 %300 = load i8, i8* %299, align 1, !dbg !149 %301 = insertelement <32 x i8> %298, i8 %300, i64 29, !dbg !149 %302 = getelementptr [64 x i8], [64 x i8]* @__constant_64xi8_1, i64 0, i64 %106, !dbg !149 %303 = load i8, i8* %302, align 2, !dbg !149 %304 = insertelement <32 x i8> %301, i8 %303, i64 30, !dbg !149 %305 = getelementptr [64 x i8], [64 x i8]* @__constant_64xi8_1, i64 0, i64 %109, !dbg !149 %306 = load i8, i8* %305, align 1, !dbg !149 %307 = insertelement <32 x i8> %304, i8 %306, i64 31, !dbg !149 %308 = insertelement <32 x i32> , i32 %117, i64 0, !dbg !149 %309 = insertelement <32 x i32> %308, i32 %119, i64 1, !dbg !149 %310 = insertelement <32 x i32> %309, i32 %121, i64 2, !dbg !149 %311 = insertelement <32 x i32> %310, i32 %123, i64 3, !dbg !149 %312 = insertelement <32 x i32> %311, i32 %125, i64 4, !dbg !149 %313 = insertelement <32 x i32> %312, i32 %127, i64 5, !dbg !149 %314 = insertelement <32 x i32> %313, i32 %129, i64 6, !dbg !149 %315 = insertelement <32 x i32> %314, i32 %131, i64 7, !dbg !149 %316 = insertelement <32 x i32> %315, i32 %133, i64 8, !dbg !149 %317 = insertelement <32 x i32> %316, i32 %135, i64 9, !dbg !149 %318 = insertelement <32 x i32> %317, i32 %137, i64 10, !dbg !149 %319 = insertelement <32 x i32> %318, i32 %139, i64 11, !dbg !149 %320 = insertelement <32 x i32> %319, i32 %141, i64 12, !dbg !149 %321 = insertelement <32 x i32> %320, i32 %143, i64 13, !dbg !149 %322 = insertelement <32 x i32> %321, i32 %145, i64 14, !dbg !149 %323 = insertelement <32 x i32> %322, i32 %147, i64 15, !dbg !149 %324 = insertelement <32 x i32> %323, i32 %149, i64 16, !dbg !149 %325 = insertelement <32 x i32> %324, i32 %151, i64 17, !dbg !149 %326 = insertelement <32 x i32> %325, i32 %153, i64 18, !dbg !149 %327 = insertelement <32 x i32> %326, i32 %155, i64 19, !dbg !149 %328 = insertelement <32 x i32> %327, i32 %157, i64 20, !dbg !149 %329 = insertelement <32 x i32> %328, i32 %159, i64 21, !dbg !149 %330 = insertelement <32 x i32> %329, i32 %161, i64 22, !dbg !149 %331 = insertelement <32 x i32> %330, i32 %163, i64 23, !dbg !149 %332 = insertelement <32 x i32> %331, i32 %165, i64 24, !dbg !149 %333 = insertelement <32 x i32> %332, i32 %167, i64 25, !dbg !149 %334 = insertelement <32 x i32> %333, i32 %169, i64 26, !dbg !149 %335 = insertelement <32 x i32> %334, i32 %171, i64 27, !dbg !149 %336 = insertelement <32 x i32> %335, i32 %173, i64 28, !dbg !149 %337 = insertelement <32 x i32> %336, i32 %175, i64 29, !dbg !149 %338 = insertelement <32 x i32> %337, i32 %177, i64 30, !dbg !149 %339 = insertelement <32 x i32> %338, i32 %179, i64 31, !dbg !149 %340 = add nuw nsw i64 %16, %15, !dbg !149 %341 = mul <32 x i32> %115, , !dbg !146 %342 = sext <32 x i32> %339 to <32 x i64> %343 = zext <32 x i8> %307 to <32 x i64> %344 = shl <32 x i64> , %343 %345 = lshr <32 x i64> %344, %346 = add nuw nsw i64 %16, 448, !dbg !149 %scevgep = getelementptr i8, i8* %3, i64 %346, !dbg !149 %347 = add nuw nsw i64 %15, 209664, !dbg !149 %scevgep92 = getelementptr i8, i8* %5, i64 %347, !dbg !149 br label %348, !dbg !149 348: ; preds = %.preheader, %819 %lsr.iv = phi i8* [ %scevgep, %.preheader ], [ %scevgep68, %819 ] %349 = phi i64 [ 0, %.preheader ], [ %965, %819 ] %350 = shl nuw nsw i64 %349, 6 %351 = shl nuw nsw i64 %349, 6 %352 = or i64 %351, 64 %353 = shl nuw nsw i64 %349, 6 %354 = or i64 %353, 128 %355 = shl nuw nsw i64 %349, 6 %356 = or i64 %355, 192 %357 = shl nuw nsw i64 %349, 6 %358 = or i64 %357, 256 %359 = shl nuw nsw i64 %349, 6 %360 = or i64 %359, 320 %361 = shl nuw nsw i64 %349, 6 %362 = or i64 %361, 384 %363 = shl nuw nsw i64 %349, 6 %364 = or i64 %363, 448 br label %365, !dbg !146 365: ; preds = %348, %365 %lsr.iv93 = phi i8* [ %scevgep92, %348 ], [ %scevgep94, %365 ] %366 = phi [8 x <32 x i32>] [ zeroinitializer, %348 ], [ %815, %365 ] %367 = phi i64 [ 0, %348 ], [ %816, %365 ] %lsr.iv9395 = bitcast i8* %lsr.iv93 to <32 x i8>*, !dbg !146 %scevgep71 = getelementptr i8, i8* %lsr.iv, i64 %367, !dbg !146 %scevgep7172 = bitcast i8* %scevgep71 to <16 x i8>*, !dbg !146 %scevgep73 = getelementptr <16 x i8>, <16 x i8>* %scevgep7172, i64 -28, !dbg !146 %368 = load <16 x i8>, <16 x i8>* %scevgep73, align 16, !dbg !146 %scevgep74 = getelementptr i8, i8* %lsr.iv, i64 %367, !dbg !146 %scevgep7475 = bitcast i8* %scevgep74 to <16 x i8>*, !dbg !146 %scevgep76 = getelementptr <16 x i8>, <16 x i8>* %scevgep7475, i64 -24, !dbg !146 %369 = load <16 x i8>, <16 x i8>* %scevgep76, align 16, !dbg !146 %scevgep77 = getelementptr i8, i8* %lsr.iv, i64 %367, !dbg !146 %scevgep7778 = bitcast i8* %scevgep77 to <16 x i8>*, !dbg !146 %scevgep79 = getelementptr <16 x i8>, <16 x i8>* %scevgep7778, i64 -20, !dbg !146 %370 = load <16 x i8>, <16 x i8>* %scevgep79, align 16, !dbg !146 %scevgep80 = getelementptr i8, i8* %lsr.iv, i64 %367, !dbg !146 %scevgep8081 = bitcast i8* %scevgep80 to <16 x i8>*, !dbg !146 %scevgep82 = getelementptr <16 x i8>, <16 x i8>* %scevgep8081, i64 -16, !dbg !146 %371 = load <16 x i8>, <16 x i8>* %scevgep82, align 16, !dbg !146 %scevgep83 = getelementptr i8, i8* %lsr.iv, i64 %367, !dbg !146 %scevgep8384 = bitcast i8* %scevgep83 to <16 x i8>*, !dbg !146 %scevgep85 = getelementptr <16 x i8>, <16 x i8>* %scevgep8384, i64 -12, !dbg !146 %372 = load <16 x i8>, <16 x i8>* %scevgep85, align 16, !dbg !146 %scevgep86 = getelementptr i8, i8* %lsr.iv, i64 %367, !dbg !146 %scevgep8687 = bitcast i8* %scevgep86 to <16 x i8>*, !dbg !146 %scevgep88 = getelementptr <16 x i8>, <16 x i8>* %scevgep8687, i64 -8, !dbg !146 %373 = load <16 x i8>, <16 x i8>* %scevgep88, align 16, !dbg !146 %scevgep89 = getelementptr i8, i8* %lsr.iv, i64 %367, !dbg !146 %scevgep8990 = bitcast i8* %scevgep89 to <16 x i8>*, !dbg !146 %scevgep91 = getelementptr <16 x i8>, <16 x i8>* %scevgep8990, i64 -4, !dbg !146 %374 = load <16 x i8>, <16 x i8>* %scevgep91, align 16, !dbg !146 %scevgep69 = getelementptr i8, i8* %lsr.iv, i64 %367, !dbg !146 %scevgep6970 = bitcast i8* %scevgep69 to <16 x i8>*, !dbg !146 %375 = load <16 x i8>, <16 x i8>* %scevgep6970, align 16, !dbg !146 %scevgep96 = getelementptr <32 x i8>, <32 x i8>* %lsr.iv9395, i64 -16, !dbg !146 %376 = load <32 x i8>, <32 x i8>* %scevgep96, align 32, !dbg !146 %scevgep99 = getelementptr <32 x i8>, <32 x i8>* %lsr.iv9395, i64 -14, !dbg !146 %377 = load <32 x i8>, <32 x i8>* %scevgep99, align 32, !dbg !146 %scevgep100 = getelementptr <32 x i8>, <32 x i8>* %lsr.iv9395, i64 -12, !dbg !146 %378 = load <32 x i8>, <32 x i8>* %scevgep100, align 32, !dbg !146 %scevgep101 = getelementptr <32 x i8>, <32 x i8>* %lsr.iv9395, i64 -10, !dbg !146 %379 = load <32 x i8>, <32 x i8>* %scevgep101, align 32, !dbg !146 %scevgep102 = getelementptr <32 x i8>, <32 x i8>* %lsr.iv9395, i64 -8, !dbg !146 %380 = load <32 x i8>, <32 x i8>* %scevgep102, align 32, !dbg !146 %scevgep103 = getelementptr <32 x i8>, <32 x i8>* %lsr.iv9395, i64 -6, !dbg !146 %381 = load <32 x i8>, <32 x i8>* %scevgep103, align 32, !dbg !146 %scevgep104 = getelementptr <32 x i8>, <32 x i8>* %lsr.iv9395, i64 -4, !dbg !146 %382 = load <32 x i8>, <32 x i8>* %scevgep104, align 32, !dbg !146 %scevgep105 = getelementptr <32 x i8>, <32 x i8>* %lsr.iv9395, i64 -2, !dbg !146 %383 = load <32 x i8>, <32 x i8>* %scevgep105, align 32, !dbg !146 %384 = load <32 x i8>, <32 x i8>* %lsr.iv9395, align 32, !dbg !146 %scevgep107 = getelementptr <32 x i8>, <32 x i8>* %lsr.iv9395, i64 2, !dbg !146 %385 = load <32 x i8>, <32 x i8>* %scevgep107, align 32, !dbg !146 %scevgep108 = getelementptr <32 x i8>, <32 x i8>* %lsr.iv9395, i64 4, !dbg !146 %386 = load <32 x i8>, <32 x i8>* %scevgep108, align 32, !dbg !146 %scevgep109 = getelementptr <32 x i8>, <32 x i8>* %lsr.iv9395, i64 6, !dbg !146 %387 = load <32 x i8>, <32 x i8>* %scevgep109, align 32, !dbg !146 %scevgep110 = getelementptr <32 x i8>, <32 x i8>* %lsr.iv9395, i64 8, !dbg !146 %388 = load <32 x i8>, <32 x i8>* %scevgep110, align 32, !dbg !146 %scevgep106 = getelementptr <32 x i8>, <32 x i8>* %lsr.iv9395, i64 10, !dbg !146 %389 = load <32 x i8>, <32 x i8>* %scevgep106, align 32, !dbg !146 %scevgep98 = getelementptr <32 x i8>, <32 x i8>* %lsr.iv9395, i64 12, !dbg !146 %390 = load <32 x i8>, <32 x i8>* %scevgep98, align 32, !dbg !146 %scevgep97 = getelementptr <32 x i8>, <32 x i8>* %lsr.iv9395, i64 14, !dbg !146 %391 = load <32 x i8>, <32 x i8>* %scevgep97, align 32, !dbg !146 %392 = sext <16 x i8> %368 to <16 x i32> %393 = sext <16 x i8> %369 to <16 x i32> %394 = sext <16 x i8> %370 to <16 x i32> %395 = sext <16 x i8> %371 to <16 x i32> %396 = sext <16 x i8> %372 to <16 x i32> %397 = sext <16 x i8> %373 to <16 x i32> %398 = sext <16 x i8> %374 to <16 x i32> %399 = sext <16 x i8> %375 to <16 x i32> %400 = sext <32 x i8> %376 to <32 x i32> %401 = sext <32 x i8> %377 to <32 x i32> %402 = sext <32 x i8> %378 to <32 x i32> %403 = sext <32 x i8> %379 to <32 x i32> %404 = sext <32 x i8> %380 to <32 x i32> %405 = sext <32 x i8> %381 to <32 x i32> %406 = sext <32 x i8> %382 to <32 x i32> %407 = sext <32 x i8> %383 to <32 x i32> %408 = sext <32 x i8> %384 to <32 x i32> %409 = sext <32 x i8> %385 to <32 x i32> %410 = sext <32 x i8> %386 to <32 x i32> %411 = sext <32 x i8> %387 to <32 x i32> %412 = sext <32 x i8> %388 to <32 x i32> %413 = sext <32 x i8> %389 to <32 x i32> %414 = sext <32 x i8> %390 to <32 x i32> %415 = sext <32 x i8> %391 to <32 x i32> %416 = shufflevector <16 x i32> %392, <16 x i32> undef, <32 x i32> zeroinitializer %417 = extractvalue [8 x <32 x i32>] %366, 0 %418 = mul nsw <32 x i32> %416, %400 %419 = add <32 x i32> %418, %417 %420 = shufflevector <16 x i32> %393, <16 x i32> undef, <32 x i32> zeroinitializer %421 = extractvalue [8 x <32 x i32>] %366, 1 %422 = mul nsw <32 x i32> %420, %400 %423 = add <32 x i32> %422, %421 %424 = shufflevector <16 x i32> %394, <16 x i32> undef, <32 x i32> zeroinitializer %425 = extractvalue [8 x <32 x i32>] %366, 2 %426 = mul nsw <32 x i32> %424, %400 %427 = add <32 x i32> %426, %425 %428 = shufflevector <16 x i32> %395, <16 x i32> undef, <32 x i32> zeroinitializer %429 = extractvalue [8 x <32 x i32>] %366, 3 %430 = mul nsw <32 x i32> %428, %400 %431 = add <32 x i32> %430, %429 %432 = shufflevector <16 x i32> %396, <16 x i32> undef, <32 x i32> zeroinitializer %433 = extractvalue [8 x <32 x i32>] %366, 4 %434 = mul nsw <32 x i32> %432, %400 %435 = add <32 x i32> %434, %433 %436 = shufflevector <16 x i32> %397, <16 x i32> undef, <32 x i32> zeroinitializer %437 = extractvalue [8 x <32 x i32>] %366, 5 %438 = mul nsw <32 x i32> %436, %400 %439 = add <32 x i32> %438, %437 %440 = shufflevector <16 x i32> %398, <16 x i32> undef, <32 x i32> zeroinitializer %441 = extractvalue [8 x <32 x i32>] %366, 6 %442 = mul nsw <32 x i32> %440, %400 %443 = add <32 x i32> %442, %441 %444 = shufflevector <16 x i32> %399, <16 x i32> undef, <32 x i32> zeroinitializer %445 = extractvalue [8 x <32 x i32>] %366, 7 %446 = mul nsw <32 x i32> %444, %400 %447 = add <32 x i32> %446, %445 %448 = shufflevector <16 x i32> %392, <16 x i32> undef, <32 x i32> %449 = mul nsw <32 x i32> %448, %401 %450 = add <32 x i32> %419, %449 %451 = shufflevector <16 x i32> %393, <16 x i32> undef, <32 x i32> %452 = mul nsw <32 x i32> %451, %401 %453 = add <32 x i32> %423, %452 %454 = shufflevector <16 x i32> %394, <16 x i32> undef, <32 x i32> %455 = mul nsw <32 x i32> %454, %401 %456 = add <32 x i32> %427, %455 %457 = shufflevector <16 x i32> %395, <16 x i32> undef, <32 x i32> %458 = mul nsw <32 x i32> %457, %401 %459 = add <32 x i32> %431, %458 %460 = shufflevector <16 x i32> %396, <16 x i32> undef, <32 x i32> %461 = mul nsw <32 x i32> %460, %401 %462 = add <32 x i32> %435, %461 %463 = shufflevector <16 x i32> %397, <16 x i32> undef, <32 x i32> %464 = mul nsw <32 x i32> %463, %401 %465 = add <32 x i32> %439, %464 %466 = shufflevector <16 x i32> %398, <16 x i32> undef, <32 x i32> %467 = mul nsw <32 x i32> %466, %401 %468 = add <32 x i32> %443, %467 %469 = shufflevector <16 x i32> %399, <16 x i32> undef, <32 x i32> %470 = mul nsw <32 x i32> %469, %401 %471 = add <32 x i32> %447, %470 %472 = shufflevector <16 x i32> %392, <16 x i32> undef, <32 x i32> %473 = mul nsw <32 x i32> %472, %402 %474 = add <32 x i32> %450, %473 %475 = shufflevector <16 x i32> %393, <16 x i32> undef, <32 x i32> %476 = mul nsw <32 x i32> %475, %402 %477 = add <32 x i32> %453, %476 %478 = shufflevector <16 x i32> %394, <16 x i32> undef, <32 x i32> %479 = mul nsw <32 x i32> %478, %402 %480 = add <32 x i32> %456, %479 %481 = shufflevector <16 x i32> %395, <16 x i32> undef, <32 x i32> %482 = mul nsw <32 x i32> %481, %402 %483 = add <32 x i32> %459, %482 %484 = shufflevector <16 x i32> %396, <16 x i32> undef, <32 x i32> %485 = mul nsw <32 x i32> %484, %402 %486 = add <32 x i32> %462, %485 %487 = shufflevector <16 x i32> %397, <16 x i32> undef, <32 x i32> %488 = mul nsw <32 x i32> %487, %402 %489 = add <32 x i32> %465, %488 %490 = shufflevector <16 x i32> %398, <16 x i32> undef, <32 x i32> %491 = mul nsw <32 x i32> %490, %402 %492 = add <32 x i32> %468, %491 %493 = shufflevector <16 x i32> %399, <16 x i32> undef, <32 x i32> %494 = mul nsw <32 x i32> %493, %402 %495 = add <32 x i32> %471, %494 %496 = shufflevector <16 x i32> %392, <16 x i32> undef, <32 x i32> %497 = mul nsw <32 x i32> %496, %403 %498 = add <32 x i32> %474, %497 %499 = shufflevector <16 x i32> %393, <16 x i32> undef, <32 x i32> %500 = mul nsw <32 x i32> %499, %403 %501 = add <32 x i32> %477, %500 %502 = shufflevector <16 x i32> %394, <16 x i32> undef, <32 x i32> %503 = mul nsw <32 x i32> %502, %403 %504 = add <32 x i32> %480, %503 %505 = shufflevector <16 x i32> %395, <16 x i32> undef, <32 x i32> %506 = mul nsw <32 x i32> %505, %403 %507 = add <32 x i32> %483, %506 %508 = shufflevector <16 x i32> %396, <16 x i32> undef, <32 x i32> %509 = mul nsw <32 x i32> %508, %403 %510 = add <32 x i32> %486, %509 %511 = shufflevector <16 x i32> %397, <16 x i32> undef, <32 x i32> %512 = mul nsw <32 x i32> %511, %403 %513 = add <32 x i32> %489, %512 %514 = shufflevector <16 x i32> %398, <16 x i32> undef, <32 x i32> %515 = mul nsw <32 x i32> %514, %403 %516 = add <32 x i32> %492, %515 %517 = shufflevector <16 x i32> %399, <16 x i32> undef, <32 x i32> %518 = mul nsw <32 x i32> %517, %403 %519 = add <32 x i32> %495, %518 %520 = shufflevector <16 x i32> %392, <16 x i32> undef, <32 x i32> %521 = mul nsw <32 x i32> %520, %404 %522 = add <32 x i32> %498, %521 %523 = shufflevector <16 x i32> %393, <16 x i32> undef, <32 x i32> %524 = mul nsw <32 x i32> %523, %404 %525 = add <32 x i32> %501, %524 %526 = shufflevector <16 x i32> %394, <16 x i32> undef, <32 x i32> %527 = mul nsw <32 x i32> %526, %404 %528 = add <32 x i32> %504, %527 %529 = shufflevector <16 x i32> %395, <16 x i32> undef, <32 x i32> %530 = mul nsw <32 x i32> %529, %404 %531 = add <32 x i32> %507, %530 %532 = shufflevector <16 x i32> %396, <16 x i32> undef, <32 x i32> %533 = mul nsw <32 x i32> %532, %404 %534 = add <32 x i32> %510, %533 %535 = shufflevector <16 x i32> %397, <16 x i32> undef, <32 x i32> %536 = mul nsw <32 x i32> %535, %404 %537 = add <32 x i32> %513, %536 %538 = shufflevector <16 x i32> %398, <16 x i32> undef, <32 x i32> %539 = mul nsw <32 x i32> %538, %404 %540 = add <32 x i32> %516, %539 %541 = shufflevector <16 x i32> %399, <16 x i32> undef, <32 x i32> %542 = mul nsw <32 x i32> %541, %404 %543 = add <32 x i32> %519, %542 %544 = shufflevector <16 x i32> %392, <16 x i32> undef, <32 x i32> %545 = mul nsw <32 x i32> %544, %405 %546 = add <32 x i32> %522, %545 %547 = shufflevector <16 x i32> %393, <16 x i32> undef, <32 x i32> %548 = mul nsw <32 x i32> %547, %405 %549 = add <32 x i32> %525, %548 %550 = shufflevector <16 x i32> %394, <16 x i32> undef, <32 x i32> %551 = mul nsw <32 x i32> %550, %405 %552 = add <32 x i32> %528, %551 %553 = shufflevector <16 x i32> %395, <16 x i32> undef, <32 x i32> %554 = mul nsw <32 x i32> %553, %405 %555 = add <32 x i32> %531, %554 %556 = shufflevector <16 x i32> %396, <16 x i32> undef, <32 x i32> %557 = mul nsw <32 x i32> %556, %405 %558 = add <32 x i32> %534, %557 %559 = shufflevector <16 x i32> %397, <16 x i32> undef, <32 x i32> %560 = mul nsw <32 x i32> %559, %405 %561 = add <32 x i32> %537, %560 %562 = shufflevector <16 x i32> %398, <16 x i32> undef, <32 x i32> %563 = mul nsw <32 x i32> %562, %405 %564 = add <32 x i32> %540, %563 %565 = shufflevector <16 x i32> %399, <16 x i32> undef, <32 x i32> %566 = mul nsw <32 x i32> %565, %405 %567 = add <32 x i32> %543, %566 %568 = shufflevector <16 x i32> %392, <16 x i32> undef, <32 x i32> %569 = mul nsw <32 x i32> %568, %406 %570 = add <32 x i32> %546, %569 %571 = shufflevector <16 x i32> %393, <16 x i32> undef, <32 x i32> %572 = mul nsw <32 x i32> %571, %406 %573 = add <32 x i32> %549, %572 %574 = shufflevector <16 x i32> %394, <16 x i32> undef, <32 x i32> %575 = mul nsw <32 x i32> %574, %406 %576 = add <32 x i32> %552, %575 %577 = shufflevector <16 x i32> %395, <16 x i32> undef, <32 x i32> %578 = mul nsw <32 x i32> %577, %406 %579 = add <32 x i32> %555, %578 %580 = shufflevector <16 x i32> %396, <16 x i32> undef, <32 x i32> %581 = mul nsw <32 x i32> %580, %406 %582 = add <32 x i32> %558, %581 %583 = shufflevector <16 x i32> %397, <16 x i32> undef, <32 x i32> %584 = mul nsw <32 x i32> %583, %406 %585 = add <32 x i32> %561, %584 %586 = shufflevector <16 x i32> %398, <16 x i32> undef, <32 x i32> %587 = mul nsw <32 x i32> %586, %406 %588 = add <32 x i32> %564, %587 %589 = shufflevector <16 x i32> %399, <16 x i32> undef, <32 x i32> %590 = mul nsw <32 x i32> %589, %406 %591 = add <32 x i32> %567, %590 %592 = shufflevector <16 x i32> %392, <16 x i32> undef, <32 x i32> %593 = mul nsw <32 x i32> %592, %407 %594 = add <32 x i32> %570, %593 %595 = shufflevector <16 x i32> %393, <16 x i32> undef, <32 x i32> %596 = mul nsw <32 x i32> %595, %407 %597 = add <32 x i32> %573, %596 %598 = shufflevector <16 x i32> %394, <16 x i32> undef, <32 x i32> %599 = mul nsw <32 x i32> %598, %407 %600 = add <32 x i32> %576, %599 %601 = shufflevector <16 x i32> %395, <16 x i32> undef, <32 x i32> %602 = mul nsw <32 x i32> %601, %407 %603 = add <32 x i32> %579, %602 %604 = shufflevector <16 x i32> %396, <16 x i32> undef, <32 x i32> %605 = mul nsw <32 x i32> %604, %407 %606 = add <32 x i32> %582, %605 %607 = shufflevector <16 x i32> %397, <16 x i32> undef, <32 x i32> %608 = mul nsw <32 x i32> %607, %407 %609 = add <32 x i32> %585, %608 %610 = shufflevector <16 x i32> %398, <16 x i32> undef, <32 x i32> %611 = mul nsw <32 x i32> %610, %407 %612 = add <32 x i32> %588, %611 %613 = shufflevector <16 x i32> %399, <16 x i32> undef, <32 x i32> %614 = mul nsw <32 x i32> %613, %407 %615 = add <32 x i32> %591, %614 %616 = shufflevector <16 x i32> %392, <16 x i32> undef, <32 x i32> %617 = mul nsw <32 x i32> %616, %408 %618 = add <32 x i32> %594, %617 %619 = shufflevector <16 x i32> %393, <16 x i32> undef, <32 x i32> %620 = mul nsw <32 x i32> %619, %408 %621 = add <32 x i32> %597, %620 %622 = shufflevector <16 x i32> %394, <16 x i32> undef, <32 x i32> %623 = mul nsw <32 x i32> %622, %408 %624 = add <32 x i32> %600, %623 %625 = shufflevector <16 x i32> %395, <16 x i32> undef, <32 x i32> %626 = mul nsw <32 x i32> %625, %408 %627 = add <32 x i32> %603, %626 %628 = shufflevector <16 x i32> %396, <16 x i32> undef, <32 x i32> %629 = mul nsw <32 x i32> %628, %408 %630 = add <32 x i32> %606, %629 %631 = shufflevector <16 x i32> %397, <16 x i32> undef, <32 x i32> %632 = mul nsw <32 x i32> %631, %408 %633 = add <32 x i32> %609, %632 %634 = shufflevector <16 x i32> %398, <16 x i32> undef, <32 x i32> %635 = mul nsw <32 x i32> %634, %408 %636 = add <32 x i32> %612, %635 %637 = shufflevector <16 x i32> %399, <16 x i32> undef, <32 x i32> %638 = mul nsw <32 x i32> %637, %408 %639 = add <32 x i32> %615, %638 %640 = shufflevector <16 x i32> %392, <16 x i32> undef, <32 x i32> %641 = mul nsw <32 x i32> %640, %409 %642 = add <32 x i32> %618, %641 %643 = shufflevector <16 x i32> %393, <16 x i32> undef, <32 x i32> %644 = mul nsw <32 x i32> %643, %409 %645 = add <32 x i32> %621, %644 %646 = shufflevector <16 x i32> %394, <16 x i32> undef, <32 x i32> %647 = mul nsw <32 x i32> %646, %409 %648 = add <32 x i32> %624, %647 %649 = shufflevector <16 x i32> %395, <16 x i32> undef, <32 x i32> %650 = mul nsw <32 x i32> %649, %409 %651 = add <32 x i32> %627, %650 %652 = shufflevector <16 x i32> %396, <16 x i32> undef, <32 x i32> %653 = mul nsw <32 x i32> %652, %409 %654 = add <32 x i32> %630, %653 %655 = shufflevector <16 x i32> %397, <16 x i32> undef, <32 x i32> %656 = mul nsw <32 x i32> %655, %409 %657 = add <32 x i32> %633, %656 %658 = shufflevector <16 x i32> %398, <16 x i32> undef, <32 x i32> %659 = mul nsw <32 x i32> %658, %409 %660 = add <32 x i32> %636, %659 %661 = shufflevector <16 x i32> %399, <16 x i32> undef, <32 x i32> %662 = mul nsw <32 x i32> %661, %409 %663 = add <32 x i32> %639, %662 %664 = shufflevector <16 x i32> %392, <16 x i32> undef, <32 x i32> %665 = mul nsw <32 x i32> %664, %410 %666 = add <32 x i32> %642, %665 %667 = shufflevector <16 x i32> %393, <16 x i32> undef, <32 x i32> %668 = mul nsw <32 x i32> %667, %410 %669 = add <32 x i32> %645, %668 %670 = shufflevector <16 x i32> %394, <16 x i32> undef, <32 x i32> %671 = mul nsw <32 x i32> %670, %410 %672 = add <32 x i32> %648, %671 %673 = shufflevector <16 x i32> %395, <16 x i32> undef, <32 x i32> %674 = mul nsw <32 x i32> %673, %410 %675 = add <32 x i32> %651, %674 %676 = shufflevector <16 x i32> %396, <16 x i32> undef, <32 x i32> %677 = mul nsw <32 x i32> %676, %410 %678 = add <32 x i32> %654, %677 %679 = shufflevector <16 x i32> %397, <16 x i32> undef, <32 x i32> %680 = mul nsw <32 x i32> %679, %410 %681 = add <32 x i32> %657, %680 %682 = shufflevector <16 x i32> %398, <16 x i32> undef, <32 x i32> %683 = mul nsw <32 x i32> %682, %410 %684 = add <32 x i32> %660, %683 %685 = shufflevector <16 x i32> %399, <16 x i32> undef, <32 x i32> %686 = mul nsw <32 x i32> %685, %410 %687 = add <32 x i32> %663, %686 %688 = shufflevector <16 x i32> %392, <16 x i32> undef, <32 x i32> %689 = mul nsw <32 x i32> %688, %411 %690 = add <32 x i32> %666, %689 %691 = shufflevector <16 x i32> %393, <16 x i32> undef, <32 x i32> %692 = mul nsw <32 x i32> %691, %411 %693 = add <32 x i32> %669, %692 %694 = shufflevector <16 x i32> %394, <16 x i32> undef, <32 x i32> %695 = mul nsw <32 x i32> %694, %411 %696 = add <32 x i32> %672, %695 %697 = shufflevector <16 x i32> %395, <16 x i32> undef, <32 x i32> %698 = mul nsw <32 x i32> %697, %411 %699 = add <32 x i32> %675, %698 %700 = shufflevector <16 x i32> %396, <16 x i32> undef, <32 x i32> %701 = mul nsw <32 x i32> %700, %411 %702 = add <32 x i32> %678, %701 %703 = shufflevector <16 x i32> %397, <16 x i32> undef, <32 x i32> %704 = mul nsw <32 x i32> %703, %411 %705 = add <32 x i32> %681, %704 %706 = shufflevector <16 x i32> %398, <16 x i32> undef, <32 x i32> %707 = mul nsw <32 x i32> %706, %411 %708 = add <32 x i32> %684, %707 %709 = shufflevector <16 x i32> %399, <16 x i32> undef, <32 x i32> %710 = mul nsw <32 x i32> %709, %411 %711 = add <32 x i32> %687, %710 %712 = shufflevector <16 x i32> %392, <16 x i32> undef, <32 x i32> %713 = mul nsw <32 x i32> %712, %412 %714 = add <32 x i32> %690, %713 %715 = shufflevector <16 x i32> %393, <16 x i32> undef, <32 x i32> %716 = mul nsw <32 x i32> %715, %412 %717 = add <32 x i32> %693, %716 %718 = shufflevector <16 x i32> %394, <16 x i32> undef, <32 x i32> %719 = mul nsw <32 x i32> %718, %412 %720 = add <32 x i32> %696, %719 %721 = shufflevector <16 x i32> %395, <16 x i32> undef, <32 x i32> %722 = mul nsw <32 x i32> %721, %412 %723 = add <32 x i32> %699, %722 %724 = shufflevector <16 x i32> %396, <16 x i32> undef, <32 x i32> %725 = mul nsw <32 x i32> %724, %412 %726 = add <32 x i32> %702, %725 %727 = shufflevector <16 x i32> %397, <16 x i32> undef, <32 x i32> %728 = mul nsw <32 x i32> %727, %412 %729 = add <32 x i32> %705, %728 %730 = shufflevector <16 x i32> %398, <16 x i32> undef, <32 x i32> %731 = mul nsw <32 x i32> %730, %412 %732 = add <32 x i32> %708, %731 %733 = shufflevector <16 x i32> %399, <16 x i32> undef, <32 x i32> %734 = mul nsw <32 x i32> %733, %412 %735 = add <32 x i32> %711, %734 %736 = shufflevector <16 x i32> %392, <16 x i32> undef, <32 x i32> %737 = mul nsw <32 x i32> %736, %413 %738 = add <32 x i32> %714, %737 %739 = shufflevector <16 x i32> %393, <16 x i32> undef, <32 x i32> %740 = mul nsw <32 x i32> %739, %413 %741 = add <32 x i32> %717, %740 %742 = shufflevector <16 x i32> %394, <16 x i32> undef, <32 x i32> %743 = mul nsw <32 x i32> %742, %413 %744 = add <32 x i32> %720, %743 %745 = shufflevector <16 x i32> %395, <16 x i32> undef, <32 x i32> %746 = mul nsw <32 x i32> %745, %413 %747 = add <32 x i32> %723, %746 %748 = shufflevector <16 x i32> %396, <16 x i32> undef, <32 x i32> %749 = mul nsw <32 x i32> %748, %413 %750 = add <32 x i32> %726, %749 %751 = shufflevector <16 x i32> %397, <16 x i32> undef, <32 x i32> %752 = mul nsw <32 x i32> %751, %413 %753 = add <32 x i32> %729, %752 %754 = shufflevector <16 x i32> %398, <16 x i32> undef, <32 x i32> %755 = mul nsw <32 x i32> %754, %413 %756 = add <32 x i32> %732, %755 %757 = shufflevector <16 x i32> %399, <16 x i32> undef, <32 x i32> %758 = mul nsw <32 x i32> %757, %413 %759 = add <32 x i32> %735, %758 %760 = shufflevector <16 x i32> %392, <16 x i32> undef, <32 x i32> %761 = mul nsw <32 x i32> %760, %414 %762 = add <32 x i32> %738, %761 %763 = shufflevector <16 x i32> %393, <16 x i32> undef, <32 x i32> %764 = mul nsw <32 x i32> %763, %414 %765 = add <32 x i32> %741, %764 %766 = shufflevector <16 x i32> %394, <16 x i32> undef, <32 x i32> %767 = mul nsw <32 x i32> %766, %414 %768 = add <32 x i32> %744, %767 %769 = shufflevector <16 x i32> %395, <16 x i32> undef, <32 x i32> %770 = mul nsw <32 x i32> %769, %414 %771 = add <32 x i32> %747, %770 %772 = shufflevector <16 x i32> %396, <16 x i32> undef, <32 x i32> %773 = mul nsw <32 x i32> %772, %414 %774 = add <32 x i32> %750, %773 %775 = shufflevector <16 x i32> %397, <16 x i32> undef, <32 x i32> %776 = mul nsw <32 x i32> %775, %414 %777 = add <32 x i32> %753, %776 %778 = shufflevector <16 x i32> %398, <16 x i32> undef, <32 x i32> %779 = mul nsw <32 x i32> %778, %414 %780 = add <32 x i32> %756, %779 %781 = shufflevector <16 x i32> %399, <16 x i32> undef, <32 x i32> %782 = mul nsw <32 x i32> %781, %414 %783 = add <32 x i32> %759, %782 %784 = shufflevector <16 x i32> %392, <16 x i32> undef, <32 x i32> %785 = mul nsw <32 x i32> %784, %415 %786 = add <32 x i32> %762, %785 %787 = insertvalue [8 x <32 x i32>] zeroinitializer, <32 x i32> %786, 0 %788 = shufflevector <16 x i32> %393, <16 x i32> undef, <32 x i32> %789 = mul nsw <32 x i32> %788, %415 %790 = add <32 x i32> %765, %789 %791 = insertvalue [8 x <32 x i32>] %787, <32 x i32> %790, 1 %792 = shufflevector <16 x i32> %394, <16 x i32> undef, <32 x i32> %793 = mul nsw <32 x i32> %792, %415 %794 = add <32 x i32> %768, %793 %795 = insertvalue [8 x <32 x i32>] %791, <32 x i32> %794, 2 %796 = shufflevector <16 x i32> %395, <16 x i32> undef, <32 x i32> %797 = mul nsw <32 x i32> %796, %415 %798 = add <32 x i32> %771, %797 %799 = insertvalue [8 x <32 x i32>] %795, <32 x i32> %798, 3 %800 = shufflevector <16 x i32> %396, <16 x i32> undef, <32 x i32> %801 = mul nsw <32 x i32> %800, %415 %802 = add <32 x i32> %774, %801 %803 = insertvalue [8 x <32 x i32>] %799, <32 x i32> %802, 4 %804 = shufflevector <16 x i32> %397, <16 x i32> undef, <32 x i32> %805 = mul nsw <32 x i32> %804, %415 %806 = add <32 x i32> %777, %805 %807 = insertvalue [8 x <32 x i32>] %803, <32 x i32> %806, 5 %808 = shufflevector <16 x i32> %398, <16 x i32> undef, <32 x i32> %809 = mul nsw <32 x i32> %808, %415 %810 = add <32 x i32> %780, %809 %811 = insertvalue [8 x <32 x i32>] %807, <32 x i32> %810, 6 %812 = shufflevector <16 x i32> %399, <16 x i32> undef, <32 x i32> %813 = mul nsw <32 x i32> %812, %415 %814 = add <32 x i32> %783, %813 %815 = insertvalue [8 x <32 x i32>] %811, <32 x i32> %814, 7 %816 = add nuw nsw i64 %367, 16, !dbg !146 %817 = add i64 %816, -16, !dbg !146 %scevgep94 = getelementptr i8, i8* %lsr.iv93, i64 1024, !dbg !146 %818 = icmp ult i64 %817, 48, !dbg !146 br i1 %818, label %365, label %819, !dbg !146 819: ; preds = %365 %820 = icmp ugt <32 x i8> %307, %821 = sub <32 x i32> %786, %341, !dbg !146 %822 = sub <32 x i32> %790, %341, !dbg !146 %823 = sub <32 x i32> %794, %341, !dbg !146 %824 = sub <32 x i32> %798, %341, !dbg !146 %825 = sub <32 x i32> %802, %341, !dbg !146 %826 = sub <32 x i32> %806, %341, !dbg !146 %827 = sub <32 x i32> %810, %341, !dbg !146 %828 = sub <32 x i32> %814, %341, !dbg !146 %829 = add <32 x i32> %821, %211, !dbg !146 %830 = add <32 x i32> %822, %211, !dbg !146 %831 = add <32 x i32> %823, %211, !dbg !146 %832 = add <32 x i32> %824, %211, !dbg !146 %833 = add <32 x i32> %825, %211, !dbg !146 %834 = add <32 x i32> %826, %211, !dbg !146 %835 = add <32 x i32> %827, %211, !dbg !146 %836 = add <32 x i32> %828, %211, !dbg !146 %837 = sext <32 x i32> %829 to <32 x i64>, !dbg !149 %838 = sext <32 x i32> %830 to <32 x i64>, !dbg !149 %839 = sext <32 x i32> %831 to <32 x i64>, !dbg !149 %840 = sext <32 x i32> %832 to <32 x i64>, !dbg !149 %841 = sext <32 x i32> %833 to <32 x i64>, !dbg !149 %842 = sext <32 x i32> %834 to <32 x i64>, !dbg !149 %843 = sext <32 x i32> %835 to <32 x i64>, !dbg !149 %844 = sext <32 x i32> %836 to <32 x i64>, !dbg !149 %845 = mul nsw <32 x i64> %837, %342, !dbg !149 %846 = mul nsw <32 x i64> %838, %342, !dbg !149 %847 = mul nsw <32 x i64> %839, %342, !dbg !149 %848 = mul nsw <32 x i64> %840, %342, !dbg !149 %849 = mul nsw <32 x i64> %841, %342, !dbg !149 %850 = mul nsw <32 x i64> %842, %342, !dbg !149 %851 = mul nsw <32 x i64> %843, %342, !dbg !149 %852 = mul nsw <32 x i64> %844, %342, !dbg !149 %853 = add <32 x i64> %845, %345, !dbg !149 %854 = add <32 x i64> %846, %345, !dbg !149 %855 = add <32 x i64> %847, %345, !dbg !149 %856 = add <32 x i64> %848, %345, !dbg !149 %857 = add <32 x i64> %849, %345, !dbg !149 %858 = add <32 x i64> %850, %345, !dbg !149 %859 = add <32 x i64> %851, %345, !dbg !149 %860 = add <32 x i64> %852, %345, !dbg !149 %861 = icmp sgt <32 x i32> %829, , !dbg !149 %862 = icmp sgt <32 x i32> %830, , !dbg !149 %863 = icmp sgt <32 x i32> %831, , !dbg !149 %864 = icmp sgt <32 x i32> %832, , !dbg !149 %865 = icmp sgt <32 x i32> %833, , !dbg !149 %866 = icmp sgt <32 x i32> %834, , !dbg !149 %867 = icmp sgt <32 x i32> %835, , !dbg !149 %868 = icmp sgt <32 x i32> %836, , !dbg !149 %869 = select <32 x i1> %861, <32 x i64> , <32 x i64> , !dbg !149 %870 = select <32 x i1> %862, <32 x i64> , <32 x i64> , !dbg !149 %871 = select <32 x i1> %863, <32 x i64> , <32 x i64> , !dbg !149 %872 = select <32 x i1> %864, <32 x i64> , <32 x i64> , !dbg !149 %873 = select <32 x i1> %865, <32 x i64> , <32 x i64> , !dbg !149 %874 = select <32 x i1> %866, <32 x i64> , <32 x i64> , !dbg !149 %875 = select <32 x i1> %867, <32 x i64> , <32 x i64> , !dbg !149 %876 = select <32 x i1> %868, <32 x i64> , <32 x i64> , !dbg !149 %877 = select <32 x i1> %820, <32 x i64> %869, <32 x i64> zeroinitializer, !dbg !149 %878 = add <32 x i64> %853, %877, !dbg !149 %879 = select <32 x i1> %820, <32 x i64> %870, <32 x i64> zeroinitializer, !dbg !149 %880 = add <32 x i64> %854, %879, !dbg !149 %881 = select <32 x i1> %820, <32 x i64> %871, <32 x i64> zeroinitializer, !dbg !149 %882 = add <32 x i64> %855, %881, !dbg !149 %883 = select <32 x i1> %820, <32 x i64> %872, <32 x i64> zeroinitializer, !dbg !149 %884 = add <32 x i64> %856, %883, !dbg !149 %885 = select <32 x i1> %820, <32 x i64> %873, <32 x i64> zeroinitializer, !dbg !149 %886 = add <32 x i64> %857, %885, !dbg !149 %887 = select <32 x i1> %820, <32 x i64> %874, <32 x i64> zeroinitializer, !dbg !149 %888 = add <32 x i64> %858, %887, !dbg !149 %889 = select <32 x i1> %820, <32 x i64> %875, <32 x i64> zeroinitializer, !dbg !149 %890 = add <32 x i64> %859, %889, !dbg !149 %891 = select <32 x i1> %820, <32 x i64> %876, <32 x i64> zeroinitializer, !dbg !149 %892 = add <32 x i64> %860, %891, !dbg !149 %893 = ashr <32 x i64> %878, %343, !dbg !149 %894 = ashr <32 x i64> %880, %343, !dbg !149 %895 = ashr <32 x i64> %882, %343, !dbg !149 %896 = ashr <32 x i64> %884, %343, !dbg !149 %897 = ashr <32 x i64> %886, %343, !dbg !149 %898 = ashr <32 x i64> %888, %343, !dbg !149 %899 = ashr <32 x i64> %890, %343, !dbg !149 %900 = ashr <32 x i64> %892, %343, !dbg !149 %901 = trunc <32 x i64> %893 to <32 x i32>, !dbg !149 %902 = trunc <32 x i64> %894 to <32 x i32>, !dbg !149 %903 = trunc <32 x i64> %895 to <32 x i32>, !dbg !149 %904 = trunc <32 x i64> %896 to <32 x i32>, !dbg !149 %905 = trunc <32 x i64> %897 to <32 x i32>, !dbg !149 %906 = trunc <32 x i64> %898 to <32 x i32>, !dbg !149 %907 = trunc <32 x i64> %899 to <32 x i32>, !dbg !149 %908 = trunc <32 x i64> %900 to <32 x i32>, !dbg !149 %909 = add <32 x i32> %901, , !dbg !149 %910 = add <32 x i32> %902, , !dbg !149 %911 = add <32 x i32> %903, , !dbg !149 %912 = add <32 x i32> %904, , !dbg !149 %913 = add <32 x i32> %905, , !dbg !149 %914 = add <32 x i32> %906, , !dbg !149 %915 = add <32 x i32> %907, , !dbg !149 %916 = add <32 x i32> %908, , !dbg !149 %917 = tail call <32 x i32> @llvm.smax.v32i32(<32 x i32> %909, <32 x i32> ), !dbg !149 %918 = tail call <32 x i32> @llvm.smax.v32i32(<32 x i32> %910, <32 x i32> ), !dbg !149 %919 = tail call <32 x i32> @llvm.smax.v32i32(<32 x i32> %911, <32 x i32> ), !dbg !149 %920 = tail call <32 x i32> @llvm.smax.v32i32(<32 x i32> %912, <32 x i32> ), !dbg !149 %921 = tail call <32 x i32> @llvm.smax.v32i32(<32 x i32> %913, <32 x i32> ), !dbg !149 %922 = tail call <32 x i32> @llvm.smax.v32i32(<32 x i32> %914, <32 x i32> ), !dbg !149 %923 = tail call <32 x i32> @llvm.smax.v32i32(<32 x i32> %915, <32 x i32> ), !dbg !149 %924 = tail call <32 x i32> @llvm.smax.v32i32(<32 x i32> %916, <32 x i32> ), !dbg !149 %925 = tail call <32 x i32> @llvm.smin.v32i32(<32 x i32> %917, <32 x i32> ), !dbg !149 %926 = tail call <32 x i32> @llvm.smin.v32i32(<32 x i32> %918, <32 x i32> ), !dbg !149 %927 = tail call <32 x i32> @llvm.smin.v32i32(<32 x i32> %919, <32 x i32> ), !dbg !149 %928 = tail call <32 x i32> @llvm.smin.v32i32(<32 x i32> %920, <32 x i32> ), !dbg !149 %929 = tail call <32 x i32> @llvm.smin.v32i32(<32 x i32> %921, <32 x i32> ), !dbg !149 %930 = tail call <32 x i32> @llvm.smin.v32i32(<32 x i32> %922, <32 x i32> ), !dbg !149 %931 = tail call <32 x i32> @llvm.smin.v32i32(<32 x i32> %923, <32 x i32> ), !dbg !149 %932 = tail call <32 x i32> @llvm.smin.v32i32(<32 x i32> %924, <32 x i32> ), !dbg !149 %933 = trunc <32 x i32> %925 to <32 x i8>, !dbg !149 %934 = trunc <32 x i32> %926 to <32 x i8>, !dbg !149 %935 = trunc <32 x i32> %927 to <32 x i8>, !dbg !149 %936 = trunc <32 x i32> %928 to <32 x i8>, !dbg !149 %937 = trunc <32 x i32> %929 to <32 x i8>, !dbg !149 %938 = trunc <32 x i32> %930 to <32 x i8>, !dbg !149 %939 = trunc <32 x i32> %931 to <32 x i8>, !dbg !149 %940 = trunc <32 x i32> %932 to <32 x i8>, !dbg !149 %941 = add nuw nsw i64 %350, %340, !dbg !149 %942 = getelementptr i8, i8* %9, i64 %941, !dbg !149 %943 = bitcast i8* %942 to <32 x i8>*, !dbg !149 store <32 x i8> %933, <32 x i8>* %943, align 32, !dbg !149 %944 = add nuw i64 %352, %340, !dbg !149 %945 = getelementptr i8, i8* %9, i64 %944, !dbg !149 %946 = bitcast i8* %945 to <32 x i8>*, !dbg !149 store <32 x i8> %934, <32 x i8>* %946, align 32, !dbg !149 %947 = add nuw i64 %354, %340, !dbg !149 %948 = getelementptr i8, i8* %9, i64 %947, !dbg !149 %949 = bitcast i8* %948 to <32 x i8>*, !dbg !149 store <32 x i8> %935, <32 x i8>* %949, align 32, !dbg !149 %950 = add nuw i64 %356, %340, !dbg !149 %951 = getelementptr i8, i8* %9, i64 %950, !dbg !149 %952 = bitcast i8* %951 to <32 x i8>*, !dbg !149 store <32 x i8> %936, <32 x i8>* %952, align 32, !dbg !149 %953 = add nuw i64 %358, %340, !dbg !149 %954 = getelementptr i8, i8* %9, i64 %953, !dbg !149 %955 = bitcast i8* %954 to <32 x i8>*, !dbg !149 store <32 x i8> %937, <32 x i8>* %955, align 32, !dbg !149 %956 = add nuw i64 %360, %340, !dbg !149 %957 = getelementptr i8, i8* %9, i64 %956, !dbg !149 %958 = bitcast i8* %957 to <32 x i8>*, !dbg !149 store <32 x i8> %938, <32 x i8>* %958, align 32, !dbg !149 %959 = add nuw i64 %362, %340, !dbg !149 %960 = getelementptr i8, i8* %9, i64 %959, !dbg !149 %961 = bitcast i8* %960 to <32 x i8>*, !dbg !149 store <32 x i8> %939, <32 x i8>* %961, align 32, !dbg !149 %962 = add nuw i64 %364, %340, !dbg !149 %963 = getelementptr i8, i8* %9, i64 %962, !dbg !149 %964 = bitcast i8* %963 to <32 x i8>*, !dbg !149 store <32 x i8> %940, <32 x i8>* %964, align 32, !dbg !149 %965 = add nuw nsw i64 %349, 8, !dbg !149 %scevgep68 = getelementptr i8, i8* %lsr.iv, i64 512, !dbg !149 %966 = icmp ult i64 %349, 40, !dbg !149 br i1 %966, label %348, label %967, !dbg !149 967: ; preds = %819 ret i32 0, !dbg !149 } ; Function Attrs: nofree nosync nounwind define internal i32 @main_dispatch_28(%iree_hal_executable_environment_v0_t* noalias nocapture nonnull readnone byref(%iree_hal_executable_environment_v0_t) align 16 %0, %iree_hal_executable_dispatch_state_v0_t* noalias nocapture nonnull readonly byref(%iree_hal_executable_dispatch_state_v0_t) align 16 %1, %iree_hal_executable_workgroup_state_v0_t* noalias nocapture nonnull readonly byref(%iree_hal_executable_workgroup_state_v0_t) align 16 %2) #0 !dbg !151 { %const = bitcast i64 3072 to i64, !dbg !152 %.elt19 = getelementptr inbounds %iree_hal_executable_dispatch_state_v0_t, %iree_hal_executable_dispatch_state_v0_t* %1, i64 0, i32 10, !dbg !155 %.unpack20 = load i8**, i8*** %.elt19, align 16, !dbg !155 %4 = load i8*, i8** %.unpack20, align 8, !dbg !155 %5 = getelementptr i8*, i8** %.unpack20, i64 1, !dbg !156 %6 = load i8*, i8** %5, align 8, !dbg !156 %7 = load %iree_hal_executable_workgroup_state_v0_t, %iree_hal_executable_workgroup_state_v0_t* %2, align 16, !dbg !156 %8 = extractvalue %iree_hal_executable_workgroup_state_v0_t %7, 0, !dbg !156 %9 = zext i32 %8 to i64, !dbg !156 %10 = extractvalue %iree_hal_executable_workgroup_state_v0_t %7, 1, !dbg !156 %11 = zext i32 %10 to i64, !dbg !156 %12 = extractvalue %iree_hal_executable_workgroup_state_v0_t %7, 2, !dbg !156 %13 = zext i16 %12 to i64, !dbg !156 %14 = shl nuw nsw i64 %9, 5, !dbg !156 %15 = mul nuw nsw i64 %13, %const, !dbg !156 %16 = mul nuw nsw i64 %11, 384, !dbg !156 %const_mat = add i64 %const, 256, !dbg !156 %17 = mul nuw nsw i64 %13, %const_mat, !dbg !156 %18 = add i64 %17, %16, !dbg !156 %19 = add i64 %18, %14, !dbg !156 %20 = add i64 %19, 18704, !dbg !156 %scevgep = getelementptr i8, i8* %6, i64 %20, !dbg !156 %21 = add i64 %15, %16, !dbg !156 %22 = add i64 %21, %14, !dbg !156 %23 = add i64 %22, 9472, !dbg !156 %scevgep32 = getelementptr i8, i8* %4, i64 %23, !dbg !156 br label %.preheader23, !dbg !156 .preheader23: ; preds = %3, %27 %lsr.iv33 = phi i8* [ %scevgep32, %3 ], [ %scevgep34, %27 ] %lsr.iv25 = phi i8* [ %scevgep, %3 ], [ %scevgep26, %27 ] %24 = phi i64 [ 0, %3 ], [ %28, %27 ] br label %.preheader, !dbg !156 .preheader: ; preds = %.preheader23, %.preheader %lsr.iv = phi i64 [ 0, %.preheader23 ], [ %lsr.iv.next, %.preheader ] %scevgep35 = getelementptr i8, i8* %lsr.iv33, i64 %lsr.iv, !dbg !156 %scevgep3536 = bitcast i8* %scevgep35 to <16 x i8>*, !dbg !156 %25 = load <16 x i8>, <16 x i8>* %scevgep3536, align 1, !dbg !156 %scevgep29 = getelementptr i8, i8* %lsr.iv25, i64 %lsr.iv, !dbg !156 %scevgep2930 = bitcast i8* %scevgep29 to <16 x i8>*, !dbg !156 %scevgep31 = getelementptr <16 x i8>, <16 x i8>* %scevgep2930, i64 -1, !dbg !156 store <16 x i8> %25, <16 x i8>* %scevgep31, align 1, !dbg !156 %scevgep37 = getelementptr i8, i8* %lsr.iv33, i64 %lsr.iv, !dbg !156 %scevgep3738 = bitcast i8* %scevgep37 to <16 x i8>*, !dbg !156 %scevgep39 = getelementptr <16 x i8>, <16 x i8>* %scevgep3738, i64 1, !dbg !156 %26 = load <16 x i8>, <16 x i8>* %scevgep39, align 1, !dbg !156 %scevgep27 = getelementptr i8, i8* %lsr.iv25, i64 %lsr.iv, !dbg !156 %scevgep2728 = bitcast i8* %scevgep27 to <16 x i8>*, !dbg !156 store <16 x i8> %26, <16 x i8>* %scevgep2728, align 1, !dbg !156 %lsr.iv.next = add nuw nsw i64 %lsr.iv, 64, !dbg !156 %exitcond.not = icmp eq i64 %lsr.iv.next, 384, !dbg !156 br i1 %exitcond.not, label %27, label %.preheader, !dbg !156 27: ; preds = %.preheader %28 = add nuw nsw i64 %24, 1, !dbg !156 %scevgep26 = getelementptr i8, i8* %lsr.iv25, i64 832, !dbg !156 %scevgep34 = getelementptr i8, i8* %lsr.iv33, i64 768, !dbg !156 %exitcond24.not = icmp eq i64 %28, 4, !dbg !156 br i1 %exitcond24.not, label %29, label %.preheader23, !dbg !156 29: ; preds = %27 ret i32 0, !dbg !156 } ; Function Attrs: nofree nosync nounwind define internal i32 @main_dispatch_29(%iree_hal_executable_environment_v0_t* noalias nocapture nonnull readnone byref(%iree_hal_executable_environment_v0_t) align 16 %0, %iree_hal_executable_dispatch_state_v0_t* noalias nocapture nonnull readonly byref(%iree_hal_executable_dispatch_state_v0_t) align 16 %1, %iree_hal_executable_workgroup_state_v0_t* noalias nocapture nonnull readonly byref(%iree_hal_executable_workgroup_state_v0_t) align 16 %2) #0 !dbg !157 { %.elt11 = getelementptr inbounds %iree_hal_executable_dispatch_state_v0_t, %iree_hal_executable_dispatch_state_v0_t* %1, i64 0, i32 4, !dbg !158 %.unpack12 = load i32, i32* %.elt11, align 4, !dbg !158 %4 = zext i32 %.unpack12 to i64, !dbg !158 %.elt13 = getelementptr inbounds %iree_hal_executable_dispatch_state_v0_t, %iree_hal_executable_dispatch_state_v0_t* %1, i64 0, i32 5, !dbg !158 %.unpack14 = load i32, i32* %.elt13, align 16, !dbg !158 %5 = zext i32 %.unpack14 to i64, !dbg !158 %.elt15 = getelementptr inbounds %iree_hal_executable_dispatch_state_v0_t, %iree_hal_executable_dispatch_state_v0_t* %1, i64 0, i32 6, !dbg !158 %.unpack16 = load i16, i16* %.elt15, align 4, !dbg !158 %.elt23 = getelementptr inbounds %iree_hal_executable_dispatch_state_v0_t, %iree_hal_executable_dispatch_state_v0_t* %1, i64 0, i32 10, !dbg !158 %.unpack24 = load i8**, i8*** %.elt23, align 16, !dbg !158 %6 = load i8*, i8** %.unpack24, align 8, !dbg !158 %7 = getelementptr i8*, i8** %.unpack24, i64 1, !dbg !158 %8 = load i8*, i8** %7, align 8, !dbg !158 %9 = getelementptr i8, i8* %8, i64 1216, !dbg !158 %10 = getelementptr i8*, i8** %.unpack24, i64 2, !dbg !158 %11 = bitcast i8** %10 to i32**, !dbg !158 %12 = load i32*, i32** %11, align 8, !dbg !158 %13 = load %iree_hal_executable_workgroup_state_v0_t, %iree_hal_executable_workgroup_state_v0_t* %2, align 16, !dbg !158 %14 = extractvalue %iree_hal_executable_workgroup_state_v0_t %13, 2, !dbg !158 %15 = zext i16 %14 to i64, !dbg !158 %16 = zext i16 %.unpack16 to i64, !dbg !158 %17 = shl nuw nsw i64 %15, 1, !dbg !158 %18 = shl nuw nsw i64 %16, 1, !dbg !158 %19 = icmp ult i16 %14, 3, !dbg !158 br i1 %19, label %.lr.ph, label %._crit_edge, !dbg !158 .lr.ph: ; preds = %3 %20 = extractvalue %iree_hal_executable_workgroup_state_v0_t %13, 1, !dbg !158 %21 = zext i32 %20 to i64, !dbg !158 %22 = extractvalue %iree_hal_executable_workgroup_state_v0_t %13, 0, !dbg !158 %23 = zext i32 %22 to i64, !dbg !158 %24 = shl nuw nsw i64 %21, 1 %25 = shl nuw nsw i64 %5, 1 %26 = icmp ult i32 %20, 3 %27 = shl i64 %23, 6 %28 = shl i64 %4, 6 br i1 %26, label %.lr.ph.split.us, label %.lr.ph.split.preheader, !dbg !158 .lr.ph.split.preheader: ; preds = %.lr.ph br label %.lr.ph.split, !dbg !158 .lr.ph.split.us: ; preds = %.lr.ph %29 = icmp eq i32 %22, 0 br i1 %29, label %.lr.ph34.us.us.preheader, label %.lr.ph34.us.preheader, !dbg !158 .lr.ph34.us.preheader: ; preds = %.lr.ph.split.us br label %.lr.ph34.us, !dbg !158 .lr.ph34.us.us.preheader: ; preds = %.lr.ph.split.us %const = bitcast i64 3328 to i64, !dbg !158 %30 = mul i64 %15, 768, !dbg !158 %31 = shl i64 %21, 7, !dbg !158 %32 = add i64 %30, %31, !dbg !158 %33 = add i64 %32, %27, !dbg !158 %scevgep = getelementptr i32, i32* %12, i64 %33, !dbg !158 %const_mat = add i64 %const, -256, !dbg !158 %34 = mul i64 %16, %const_mat, !dbg !158 %35 = shl i64 %5, 9, !dbg !158 %36 = shl i64 %4, 8, !dbg !158 %37 = add i64 %33, 32, !dbg !158 %scevgep70 = getelementptr i32, i32* %12, i64 %37, !dbg !158 %38 = mul i64 %15, %const, !dbg !158 %39 = shl i64 %21, 8, !dbg !158 %40 = add i64 %38, %39, !dbg !158 %41 = add i64 %40, %27, !dbg !158 %42 = add i64 %41, 20480, !dbg !158 %scevgep213 = getelementptr i8, i8* %6, i64 %42, !dbg !158 %43 = mul i64 %16, %const, !dbg !158 %44 = shl i64 %5, 8, !dbg !158 %45 = add i64 %41, 20608, !dbg !158 %scevgep263 = getelementptr i8, i8* %6, i64 %45, !dbg !158 %46 = add i64 %30, %31, !dbg !158 %47 = add i64 %46, %27, !dbg !158 %48 = add i64 %47, 64, !dbg !158 %scevgep292 = getelementptr i32, i32* %12, i64 %48, !dbg !158 br label %.lr.ph34.us.us, !dbg !158 .lr.ph34.us.us: ; preds = %.lr.ph34.us.us.preheader, %._crit_edge35.split.us.us.us %lsr.iv293 = phi i32* [ %scevgep292, %.lr.ph34.us.us.preheader ], [ %228, %._crit_edge35.split.us.us.us ] %lsr.iv264 = phi i8* [ %scevgep263, %.lr.ph34.us.us.preheader ], [ %227, %._crit_edge35.split.us.us.us ] %lsr.iv214 = phi i8* [ %scevgep213, %.lr.ph34.us.us.preheader ], [ %226, %._crit_edge35.split.us.us.us ] %lsr.iv71 = phi i32* [ %scevgep70, %.lr.ph34.us.us.preheader ], [ %225, %._crit_edge35.split.us.us.us ] %lsr.iv57 = phi i32* [ %scevgep, %.lr.ph34.us.us.preheader ], [ %224, %._crit_edge35.split.us.us.us ] %49 = phi i64 [ %223, %._crit_edge35.split.us.us.us ], [ %17, %.lr.ph34.us.us.preheader ] br label %.lr.ph.us.us.us, !dbg !158 .lr.ph.us.us.us: ; preds = %._crit_edge.us.us.us, %.lr.ph34.us.us %lsr.iv296 = phi i32* [ %216, %._crit_edge.us.us.us ], [ %lsr.iv293, %.lr.ph34.us.us ] %lsr.iv267 = phi i8* [ %215, %._crit_edge.us.us.us ], [ %lsr.iv264, %.lr.ph34.us.us ] %lsr.iv217 = phi i8* [ %214, %._crit_edge.us.us.us ], [ %lsr.iv214, %.lr.ph34.us.us ] %lsr.iv74 = phi i32* [ %213, %._crit_edge.us.us.us ], [ %lsr.iv71, %.lr.ph34.us.us ] %lsr.iv60 = phi i32* [ %212, %._crit_edge.us.us.us ], [ %lsr.iv57, %.lr.ph34.us.us ] %50 = phi i64 [ %24, %.lr.ph34.us.us ], [ %211, %._crit_edge.us.us.us ] br label %51, !dbg !158 51: ; preds = %53, %.lr.ph.us.us.us %lsr.iv299 = phi i32* [ %64, %53 ], [ %lsr.iv296, %.lr.ph.us.us.us ] %lsr.iv270 = phi i8* [ %63, %53 ], [ %lsr.iv267, %.lr.ph.us.us.us ] %lsr.iv220 = phi i8* [ %62, %53 ], [ %lsr.iv217, %.lr.ph.us.us.us ] %lsr.iv77 = phi i32* [ %61, %53 ], [ %lsr.iv74, %.lr.ph.us.us.us ] %lsr.iv63 = phi i32* [ %60, %53 ], [ %lsr.iv60, %.lr.ph.us.us.us ] %52 = phi i64 [ %27, %.lr.ph.us.us.us ], [ %59, %53 ] br label %.preheader31.us.us.us, !dbg !158 53: ; preds = %132 %54 = bitcast i32* %lsr.iv77 to i1*, !dbg !158 %55 = bitcast i32* %lsr.iv63 to i1*, !dbg !158 %56 = bitcast i8* %lsr.iv220 to i1*, !dbg !158 %57 = bitcast i32* %lsr.iv299 to i1*, !dbg !158 %58 = bitcast i8* %lsr.iv270 to i1*, !dbg !158 %59 = add i64 %52, %28, !dbg !158 %scevgep65 = getelementptr i1, i1* %55, i64 %36, !dbg !158 %60 = bitcast i1* %scevgep65 to i32*, !dbg !158 %scevgep79 = getelementptr i1, i1* %54, i64 %36, !dbg !158 %61 = bitcast i1* %scevgep79 to i32*, !dbg !158 %scevgep222 = getelementptr i1, i1* %56, i64 %28, !dbg !158 %62 = bitcast i1* %scevgep222 to i8*, !dbg !158 %scevgep272 = getelementptr i1, i1* %58, i64 %28, !dbg !158 %63 = bitcast i1* %scevgep272 to i8*, !dbg !158 %scevgep301 = getelementptr i1, i1* %57, i64 %36, !dbg !158 %64 = bitcast i1* %scevgep301 to i32*, !dbg !158 %65 = icmp slt i64 %59, 64, !dbg !158 br i1 %65, label %51, label %._crit_edge.us.us.us, !dbg !158 .preheader28.us.us.us.1: ; preds = %.preheader27.us.us.us br label %.preheader27.us.us.us.1, !dbg !158 .preheader27.us.us.us.1: ; preds = %.preheader27.us.us.us.1, %.preheader28.us.us.us.1 %lsr.iv304 = phi i32* [ %scevgep305, %.preheader27.us.us.us.1 ], [ %lsr.iv302, %.preheader28.us.us.us.1 ] %66 = phi i64 [ 0, %.preheader28.us.us.us.1 ], [ %131, %.preheader27.us.us.us.1 ] %scevgep276 = getelementptr i8, i8* %lsr.iv273, i64 %66, !dbg !158 %scevgep277 = getelementptr i8, i8* %scevgep276, i64 -1792, !dbg !158 %67 = load i8, i8* %scevgep277, align 1, !dbg !158 %scevgep306 = getelementptr i8, i8* %9, i64 %66, !dbg !158 %68 = load i8, i8* %scevgep306, align 1, !dbg !158 %69 = load i32, i32* %lsr.iv304, align 4, !dbg !158 %70 = sext i8 %67 to i32 %71 = add nsw i32 %70, 128 %72 = sext i8 %68 to i32 %73 = mul nsw i32 %71, %72 %74 = add i32 %73, %69 store i32 %74, i32* %lsr.iv304, align 4, !dbg !158 %scevgep278 = getelementptr i8, i8* %lsr.iv273, i64 %66, !dbg !158 %scevgep279 = getelementptr i8, i8* %scevgep278, i64 -1728, !dbg !158 %75 = load i8, i8* %scevgep279, align 1, !dbg !158 %scevgep315 = getelementptr i8, i8* %9, i64 %66, !dbg !158 %scevgep316 = getelementptr i8, i8* %scevgep315, i64 64, !dbg !158 %76 = load i8, i8* %scevgep316, align 1, !dbg !158 %77 = sext i8 %75 to i32 %78 = add nsw i32 %77, 128 %79 = sext i8 %76 to i32 %80 = mul nsw i32 %78, %79 %81 = add i32 %80, %74 store i32 %81, i32* %lsr.iv304, align 4, !dbg !158 %scevgep280 = getelementptr i8, i8* %lsr.iv273, i64 %66, !dbg !158 %scevgep281 = getelementptr i8, i8* %scevgep280, i64 -1664, !dbg !158 %82 = load i8, i8* %scevgep281, align 1, !dbg !158 %scevgep317 = getelementptr i8, i8* %9, i64 %66, !dbg !158 %scevgep318 = getelementptr i8, i8* %scevgep317, i64 128, !dbg !158 %83 = load i8, i8* %scevgep318, align 1, !dbg !158 %84 = sext i8 %82 to i32 %85 = add nsw i32 %84, 128 %86 = sext i8 %83 to i32 %87 = mul nsw i32 %85, %86 %88 = add i32 %87, %81 store i32 %88, i32* %lsr.iv304, align 4, !dbg !158 %scevgep282 = getelementptr i8, i8* %lsr.iv273, i64 %66, !dbg !158 %scevgep283 = getelementptr i8, i8* %scevgep282, i64 -960, !dbg !158 %89 = load i8, i8* %scevgep283, align 1, !dbg !158 %scevgep319 = getelementptr i8, i8* %9, i64 %66, !dbg !158 %scevgep320 = getelementptr i8, i8* %scevgep319, i64 192, !dbg !158 %90 = load i8, i8* %scevgep320, align 1, !dbg !158 %91 = sext i8 %89 to i32 %92 = add nsw i32 %91, 128 %93 = sext i8 %90 to i32 %94 = mul nsw i32 %92, %93 %95 = add i32 %94, %88 store i32 %95, i32* %lsr.iv304, align 4, !dbg !158 %scevgep284 = getelementptr i8, i8* %lsr.iv273, i64 %66, !dbg !158 %scevgep285 = getelementptr i8, i8* %scevgep284, i64 -896, !dbg !158 %96 = load i8, i8* %scevgep285, align 1, !dbg !158 %scevgep313 = getelementptr i8, i8* %9, i64 %66, !dbg !158 %scevgep314 = getelementptr i8, i8* %scevgep313, i64 256, !dbg !158 %97 = load i8, i8* %scevgep314, align 1, !dbg !158 %98 = sext i8 %96 to i32 %99 = add nsw i32 %98, 128 %100 = sext i8 %97 to i32 %101 = mul nsw i32 %99, %100 %102 = add i32 %101, %95 store i32 %102, i32* %lsr.iv304, align 4, !dbg !158 %scevgep286 = getelementptr i8, i8* %lsr.iv273, i64 %66, !dbg !158 %scevgep287 = getelementptr i8, i8* %scevgep286, i64 -832, !dbg !158 %103 = load i8, i8* %scevgep287, align 1, !dbg !158 %scevgep311 = getelementptr i8, i8* %9, i64 %66, !dbg !158 %scevgep312 = getelementptr i8, i8* %scevgep311, i64 320, !dbg !158 %104 = load i8, i8* %scevgep312, align 1, !dbg !158 %105 = sext i8 %103 to i32 %106 = add nsw i32 %105, 128 %107 = sext i8 %104 to i32 %108 = mul nsw i32 %106, %107 %109 = add i32 %108, %102 store i32 %109, i32* %lsr.iv304, align 4, !dbg !158 %scevgep288 = getelementptr i8, i8* %lsr.iv273, i64 %66, !dbg !158 %scevgep289 = getelementptr i8, i8* %scevgep288, i64 -128, !dbg !158 %110 = load i8, i8* %scevgep289, align 1, !dbg !158 %scevgep321 = getelementptr i8, i8* %9, i64 %66, !dbg !158 %scevgep322 = getelementptr i8, i8* %scevgep321, i64 384, !dbg !158 %111 = load i8, i8* %scevgep322, align 1, !dbg !158 %112 = sext i8 %110 to i32 %113 = add nsw i32 %112, 128 %114 = sext i8 %111 to i32 %115 = mul nsw i32 %113, %114 %116 = add i32 %115, %109 store i32 %116, i32* %lsr.iv304, align 4, !dbg !158 %scevgep290 = getelementptr i8, i8* %lsr.iv273, i64 %66, !dbg !158 %scevgep291 = getelementptr i8, i8* %scevgep290, i64 -64, !dbg !158 %117 = load i8, i8* %scevgep291, align 1, !dbg !158 %scevgep309 = getelementptr i8, i8* %9, i64 %66, !dbg !158 %scevgep310 = getelementptr i8, i8* %scevgep309, i64 448, !dbg !158 %118 = load i8, i8* %scevgep310, align 1, !dbg !158 %119 = sext i8 %117 to i32 %120 = add nsw i32 %119, 128 %121 = sext i8 %118 to i32 %122 = mul nsw i32 %120, %121 %123 = add i32 %122, %116 store i32 %123, i32* %lsr.iv304, align 4, !dbg !158 %scevgep275 = getelementptr i8, i8* %lsr.iv273, i64 %66, !dbg !158 %124 = load i8, i8* %scevgep275, align 1, !dbg !158 %scevgep307 = getelementptr i8, i8* %9, i64 %66, !dbg !158 %scevgep308 = getelementptr i8, i8* %scevgep307, i64 512, !dbg !158 %125 = load i8, i8* %scevgep308, align 1, !dbg !158 %126 = sext i8 %124 to i32 %127 = add nsw i32 %126, 128 %128 = sext i8 %125 to i32 %129 = mul nsw i32 %127, %128 %130 = add i32 %129, %123 store i32 %130, i32* %lsr.iv304, align 4, !dbg !158 %131 = add nuw nsw i64 %66, 1, !dbg !158 %scevgep305 = getelementptr i32, i32* %lsr.iv304, i64 1, !dbg !158 %exitcond43.1.not = icmp eq i64 %131, 64, !dbg !158 br i1 %exitcond43.1.not, label %132, label %.preheader27.us.us.us.1, !dbg !158 132: ; preds = %.preheader27.us.us.us.1 %133 = add nuw nsw i64 %204, 1, !dbg !158 %scevgep224 = getelementptr i8, i8* %lsr.iv223, i64 1664, !dbg !158 %scevgep243 = getelementptr i32, i32* %lsr.iv242, i64 384, !dbg !158 %scevgep274 = getelementptr i8, i8* %lsr.iv273, i64 1664, !dbg !158 %scevgep303 = getelementptr i32, i32* %lsr.iv302, i64 384, !dbg !158 %exitcond46.not = icmp eq i64 %133, 2, !dbg !158 br i1 %exitcond46.not, label %53, label %.preheader30.us.us.us, !dbg !158 134: ; preds = %.preheader29.us.us.us %135 = add nuw nsw i64 %205, 1, !dbg !158 %scevgep67 = getelementptr i32, i32* %lsr.iv66, i64 384, !dbg !158 %scevgep81 = getelementptr i32, i32* %lsr.iv80, i64 384, !dbg !158 %exitcond40.not = icmp eq i64 %135, 2, !dbg !158 br i1 %exitcond40.not, label %.preheader30.us.us.us.preheader, label %.preheader31.us.us.us, !dbg !158 .preheader30.us.us.us.preheader: ; preds = %134 br label %.preheader30.us.us.us, !dbg !158 .preheader27.us.us.us: ; preds = %.preheader30.us.us.us, %.preheader27.us.us.us %lsr.iv244 = phi i32* [ %lsr.iv242, %.preheader30.us.us.us ], [ %scevgep245, %.preheader27.us.us.us ] %136 = phi i64 [ 0, %.preheader30.us.us.us ], [ %201, %.preheader27.us.us.us ] %scevgep226 = getelementptr i8, i8* %lsr.iv223, i64 %136, !dbg !158 %scevgep227 = getelementptr i8, i8* %scevgep226, i64 -1792, !dbg !158 %137 = load i8, i8* %scevgep227, align 1, !dbg !158 %scevgep246 = getelementptr i8, i8* %9, i64 %136, !dbg !158 %138 = load i8, i8* %scevgep246, align 1, !dbg !158 %139 = load i32, i32* %lsr.iv244, align 4, !dbg !158 %140 = sext i8 %137 to i32 %141 = add nsw i32 %140, 128 %142 = sext i8 %138 to i32 %143 = mul nsw i32 %141, %142 %144 = add i32 %143, %139 store i32 %144, i32* %lsr.iv244, align 4, !dbg !158 %scevgep228 = getelementptr i8, i8* %lsr.iv223, i64 %136, !dbg !158 %scevgep229 = getelementptr i8, i8* %scevgep228, i64 -1728, !dbg !158 %145 = load i8, i8* %scevgep229, align 1, !dbg !158 %scevgep259 = getelementptr i8, i8* %9, i64 %136, !dbg !158 %scevgep260 = getelementptr i8, i8* %scevgep259, i64 64, !dbg !158 %146 = load i8, i8* %scevgep260, align 1, !dbg !158 %147 = sext i8 %145 to i32 %148 = add nsw i32 %147, 128 %149 = sext i8 %146 to i32 %150 = mul nsw i32 %148, %149 %151 = add i32 %150, %144 store i32 %151, i32* %lsr.iv244, align 4, !dbg !158 %scevgep230 = getelementptr i8, i8* %lsr.iv223, i64 %136, !dbg !158 %scevgep231 = getelementptr i8, i8* %scevgep230, i64 -1664, !dbg !158 %152 = load i8, i8* %scevgep231, align 1, !dbg !158 %scevgep261 = getelementptr i8, i8* %9, i64 %136, !dbg !158 %scevgep262 = getelementptr i8, i8* %scevgep261, i64 128, !dbg !158 %153 = load i8, i8* %scevgep262, align 1, !dbg !158 %154 = sext i8 %152 to i32 %155 = add nsw i32 %154, 128 %156 = sext i8 %153 to i32 %157 = mul nsw i32 %155, %156 %158 = add i32 %157, %151 store i32 %158, i32* %lsr.iv244, align 4, !dbg !158 %scevgep236 = getelementptr i8, i8* %lsr.iv223, i64 %136, !dbg !158 %scevgep237 = getelementptr i8, i8* %scevgep236, i64 -960, !dbg !158 %159 = load i8, i8* %scevgep237, align 1, !dbg !158 %scevgep255 = getelementptr i8, i8* %9, i64 %136, !dbg !158 %scevgep256 = getelementptr i8, i8* %scevgep255, i64 192, !dbg !158 %160 = load i8, i8* %scevgep256, align 1, !dbg !158 %161 = sext i8 %159 to i32 %162 = add nsw i32 %161, 128 %163 = sext i8 %160 to i32 %164 = mul nsw i32 %162, %163 %165 = add i32 %164, %158 store i32 %165, i32* %lsr.iv244, align 4, !dbg !158 %scevgep232 = getelementptr i8, i8* %lsr.iv223, i64 %136, !dbg !158 %scevgep233 = getelementptr i8, i8* %scevgep232, i64 -896, !dbg !158 %166 = load i8, i8* %scevgep233, align 1, !dbg !158 %scevgep253 = getelementptr i8, i8* %9, i64 %136, !dbg !158 %scevgep254 = getelementptr i8, i8* %scevgep253, i64 256, !dbg !158 %167 = load i8, i8* %scevgep254, align 1, !dbg !158 %168 = sext i8 %166 to i32 %169 = add nsw i32 %168, 128 %170 = sext i8 %167 to i32 %171 = mul nsw i32 %169, %170 %172 = add i32 %171, %165 store i32 %172, i32* %lsr.iv244, align 4, !dbg !158 %scevgep234 = getelementptr i8, i8* %lsr.iv223, i64 %136, !dbg !158 %scevgep235 = getelementptr i8, i8* %scevgep234, i64 -832, !dbg !158 %173 = load i8, i8* %scevgep235, align 1, !dbg !158 %scevgep251 = getelementptr i8, i8* %9, i64 %136, !dbg !158 %scevgep252 = getelementptr i8, i8* %scevgep251, i64 320, !dbg !158 %174 = load i8, i8* %scevgep252, align 1, !dbg !158 %175 = sext i8 %173 to i32 %176 = add nsw i32 %175, 128 %177 = sext i8 %174 to i32 %178 = mul nsw i32 %176, %177 %179 = add i32 %178, %172 store i32 %179, i32* %lsr.iv244, align 4, !dbg !158 %scevgep240 = getelementptr i8, i8* %lsr.iv223, i64 %136, !dbg !158 %scevgep241 = getelementptr i8, i8* %scevgep240, i64 -128, !dbg !158 %180 = load i8, i8* %scevgep241, align 1, !dbg !158 %scevgep257 = getelementptr i8, i8* %9, i64 %136, !dbg !158 %scevgep258 = getelementptr i8, i8* %scevgep257, i64 384, !dbg !158 %181 = load i8, i8* %scevgep258, align 1, !dbg !158 %182 = sext i8 %180 to i32 %183 = add nsw i32 %182, 128 %184 = sext i8 %181 to i32 %185 = mul nsw i32 %183, %184 %186 = add i32 %185, %179 store i32 %186, i32* %lsr.iv244, align 4, !dbg !158 %scevgep238 = getelementptr i8, i8* %lsr.iv223, i64 %136, !dbg !158 %scevgep239 = getelementptr i8, i8* %scevgep238, i64 -64, !dbg !158 %187 = load i8, i8* %scevgep239, align 1, !dbg !158 %scevgep249 = getelementptr i8, i8* %9, i64 %136, !dbg !158 %scevgep250 = getelementptr i8, i8* %scevgep249, i64 448, !dbg !158 %188 = load i8, i8* %scevgep250, align 1, !dbg !158 %189 = sext i8 %187 to i32 %190 = add nsw i32 %189, 128 %191 = sext i8 %188 to i32 %192 = mul nsw i32 %190, %191 %193 = add i32 %192, %186 store i32 %193, i32* %lsr.iv244, align 4, !dbg !158 %scevgep225 = getelementptr i8, i8* %lsr.iv223, i64 %136, !dbg !158 %194 = load i8, i8* %scevgep225, align 1, !dbg !158 %scevgep247 = getelementptr i8, i8* %9, i64 %136, !dbg !158 %scevgep248 = getelementptr i8, i8* %scevgep247, i64 512, !dbg !158 %195 = load i8, i8* %scevgep248, align 1, !dbg !158 %196 = sext i8 %194 to i32 %197 = add nsw i32 %196, 128 %198 = sext i8 %195 to i32 %199 = mul nsw i32 %197, %198 %200 = add i32 %199, %193 store i32 %200, i32* %lsr.iv244, align 4, !dbg !158 %201 = add nuw nsw i64 %136, 1, !dbg !158 %scevgep245 = getelementptr i32, i32* %lsr.iv244, i64 1, !dbg !158 %exitcond43.not = icmp eq i64 %201, 64, !dbg !158 br i1 %exitcond43.not, label %.preheader28.us.us.us.1, label %.preheader27.us.us.us, !dbg !158 .preheader29.us.us.us: ; preds = %.preheader31.us.us.us, %.preheader29.us.us.us %lsr.iv = phi i64 [ 0, %.preheader31.us.us.us ], [ %lsr.iv.next, %.preheader29.us.us.us ] %202 = bitcast i32* %lsr.iv80 to i8* %203 = bitcast i32* %lsr.iv66 to i8* %uglygep = getelementptr i8, i8* %203, i64 %lsr.iv, !dbg !158 %uglygep69 = bitcast i8* %uglygep to i32*, !dbg !158 store i32 0, i32* %uglygep69, align 64, !dbg !158 %uglygep94 = getelementptr i8, i8* %202, i64 %lsr.iv, !dbg !158 %uglygep9495 = bitcast i8* %uglygep94 to i32*, !dbg !158 %scevgep96 = getelementptr i32, i32* %uglygep9495, i64 -31, !dbg !158 store i32 0, i32* %scevgep96, align 4, !dbg !158 %scevgep97 = getelementptr i32, i32* %uglygep9495, i64 -30, !dbg !158 store i32 0, i32* %scevgep97, align 4, !dbg !158 %uglygep98 = getelementptr i8, i8* %202, i64 %lsr.iv, !dbg !158 %uglygep9899 = bitcast i8* %uglygep98 to i32*, !dbg !158 %scevgep100 = getelementptr i32, i32* %uglygep9899, i64 -29, !dbg !158 store i32 0, i32* %scevgep100, align 4, !dbg !158 %scevgep101 = getelementptr i32, i32* %uglygep9899, i64 -28, !dbg !158 store i32 0, i32* %scevgep101, align 4, !dbg !158 %uglygep102 = getelementptr i8, i8* %202, i64 %lsr.iv, !dbg !158 %uglygep102103 = bitcast i8* %uglygep102 to i32*, !dbg !158 %scevgep104 = getelementptr i32, i32* %uglygep102103, i64 -27, !dbg !158 store i32 0, i32* %scevgep104, align 4, !dbg !158 %scevgep105 = getelementptr i32, i32* %uglygep102103, i64 -26, !dbg !158 store i32 0, i32* %scevgep105, align 4, !dbg !158 %uglygep106 = getelementptr i8, i8* %202, i64 %lsr.iv, !dbg !158 %uglygep106107 = bitcast i8* %uglygep106 to i32*, !dbg !158 %scevgep108 = getelementptr i32, i32* %uglygep106107, i64 -25, !dbg !158 store i32 0, i32* %scevgep108, align 4, !dbg !158 %scevgep109 = getelementptr i32, i32* %uglygep106107, i64 -24, !dbg !158 store i32 0, i32* %scevgep109, align 4, !dbg !158 %uglygep110 = getelementptr i8, i8* %202, i64 %lsr.iv, !dbg !158 %uglygep110111 = bitcast i8* %uglygep110 to i32*, !dbg !158 %scevgep112 = getelementptr i32, i32* %uglygep110111, i64 -23, !dbg !158 store i32 0, i32* %scevgep112, align 4, !dbg !158 %scevgep113 = getelementptr i32, i32* %uglygep110111, i64 -22, !dbg !158 store i32 0, i32* %scevgep113, align 4, !dbg !158 %uglygep114 = getelementptr i8, i8* %202, i64 %lsr.iv, !dbg !158 %uglygep114115 = bitcast i8* %uglygep114 to i32*, !dbg !158 %scevgep116 = getelementptr i32, i32* %uglygep114115, i64 -21, !dbg !158 store i32 0, i32* %scevgep116, align 4, !dbg !158 %scevgep117 = getelementptr i32, i32* %uglygep114115, i64 -20, !dbg !158 store i32 0, i32* %scevgep117, align 4, !dbg !158 %uglygep118 = getelementptr i8, i8* %202, i64 %lsr.iv, !dbg !158 %uglygep118119 = bitcast i8* %uglygep118 to i32*, !dbg !158 %scevgep120 = getelementptr i32, i32* %uglygep118119, i64 -19, !dbg !158 store i32 0, i32* %scevgep120, align 4, !dbg !158 %scevgep121 = getelementptr i32, i32* %uglygep118119, i64 -18, !dbg !158 store i32 0, i32* %scevgep121, align 4, !dbg !158 %uglygep122 = getelementptr i8, i8* %202, i64 %lsr.iv, !dbg !158 %uglygep122123 = bitcast i8* %uglygep122 to i32*, !dbg !158 %scevgep124 = getelementptr i32, i32* %uglygep122123, i64 -17, !dbg !158 store i32 0, i32* %scevgep124, align 4, !dbg !158 %scevgep125 = getelementptr i32, i32* %uglygep122123, i64 -16, !dbg !158 store i32 0, i32* %scevgep125, align 4, !dbg !158 %uglygep126 = getelementptr i8, i8* %202, i64 %lsr.iv, !dbg !158 %uglygep126127 = bitcast i8* %uglygep126 to i32*, !dbg !158 %scevgep128 = getelementptr i32, i32* %uglygep126127, i64 -15, !dbg !158 store i32 0, i32* %scevgep128, align 4, !dbg !158 %scevgep129 = getelementptr i32, i32* %uglygep126127, i64 -14, !dbg !158 store i32 0, i32* %scevgep129, align 4, !dbg !158 %uglygep130 = getelementptr i8, i8* %202, i64 %lsr.iv, !dbg !158 %uglygep130131 = bitcast i8* %uglygep130 to i32*, !dbg !158 %scevgep132 = getelementptr i32, i32* %uglygep130131, i64 -13, !dbg !158 store i32 0, i32* %scevgep132, align 4, !dbg !158 %scevgep133 = getelementptr i32, i32* %uglygep130131, i64 -12, !dbg !158 store i32 0, i32* %scevgep133, align 4, !dbg !158 %uglygep134 = getelementptr i8, i8* %202, i64 %lsr.iv, !dbg !158 %uglygep134135 = bitcast i8* %uglygep134 to i32*, !dbg !158 %scevgep136 = getelementptr i32, i32* %uglygep134135, i64 -11, !dbg !158 store i32 0, i32* %scevgep136, align 4, !dbg !158 %scevgep137 = getelementptr i32, i32* %uglygep134135, i64 -10, !dbg !158 store i32 0, i32* %scevgep137, align 4, !dbg !158 %uglygep138 = getelementptr i8, i8* %202, i64 %lsr.iv, !dbg !158 %uglygep138139 = bitcast i8* %uglygep138 to i32*, !dbg !158 %scevgep140 = getelementptr i32, i32* %uglygep138139, i64 -9, !dbg !158 store i32 0, i32* %scevgep140, align 4, !dbg !158 %scevgep141 = getelementptr i32, i32* %uglygep138139, i64 -8, !dbg !158 store i32 0, i32* %scevgep141, align 4, !dbg !158 %uglygep142 = getelementptr i8, i8* %202, i64 %lsr.iv, !dbg !158 %uglygep142143 = bitcast i8* %uglygep142 to i32*, !dbg !158 %scevgep144 = getelementptr i32, i32* %uglygep142143, i64 -7, !dbg !158 store i32 0, i32* %scevgep144, align 4, !dbg !158 %scevgep145 = getelementptr i32, i32* %uglygep142143, i64 -6, !dbg !158 store i32 0, i32* %scevgep145, align 4, !dbg !158 %uglygep146 = getelementptr i8, i8* %202, i64 %lsr.iv, !dbg !158 %uglygep146147 = bitcast i8* %uglygep146 to i32*, !dbg !158 %scevgep148 = getelementptr i32, i32* %uglygep146147, i64 -5, !dbg !158 store i32 0, i32* %scevgep148, align 4, !dbg !158 %scevgep149 = getelementptr i32, i32* %uglygep146147, i64 -4, !dbg !158 store i32 0, i32* %scevgep149, align 4, !dbg !158 %uglygep150 = getelementptr i8, i8* %202, i64 %lsr.iv, !dbg !158 %uglygep150151 = bitcast i8* %uglygep150 to i32*, !dbg !158 %scevgep152 = getelementptr i32, i32* %uglygep150151, i64 -3, !dbg !158 store i32 0, i32* %scevgep152, align 4, !dbg !158 %scevgep153 = getelementptr i32, i32* %uglygep150151, i64 -2, !dbg !158 store i32 0, i32* %scevgep153, align 4, !dbg !158 %uglygep154 = getelementptr i8, i8* %202, i64 %lsr.iv, !dbg !158 %uglygep154155 = bitcast i8* %uglygep154 to i32*, !dbg !158 %scevgep156 = getelementptr i32, i32* %uglygep154155, i64 -1, !dbg !158 store i32 0, i32* %scevgep156, align 4, !dbg !158 %uglygep83 = getelementptr i8, i8* %202, i64 %lsr.iv, !dbg !158 %uglygep8384 = bitcast i8* %uglygep83 to i32*, !dbg !158 store i32 0, i32* %uglygep8384, align 4, !dbg !158 %scevgep160 = getelementptr i32, i32* %uglygep8384, i64 1, !dbg !158 store i32 0, i32* %scevgep160, align 4, !dbg !158 %uglygep161 = getelementptr i8, i8* %202, i64 %lsr.iv, !dbg !158 %uglygep161162 = bitcast i8* %uglygep161 to i32*, !dbg !158 %scevgep163 = getelementptr i32, i32* %uglygep161162, i64 2, !dbg !158 store i32 0, i32* %scevgep163, align 4, !dbg !158 %scevgep164 = getelementptr i32, i32* %uglygep161162, i64 3, !dbg !158 store i32 0, i32* %scevgep164, align 4, !dbg !158 %uglygep165 = getelementptr i8, i8* %202, i64 %lsr.iv, !dbg !158 %uglygep165166 = bitcast i8* %uglygep165 to i32*, !dbg !158 %scevgep167 = getelementptr i32, i32* %uglygep165166, i64 4, !dbg !158 store i32 0, i32* %scevgep167, align 4, !dbg !158 %scevgep168 = getelementptr i32, i32* %uglygep165166, i64 5, !dbg !158 store i32 0, i32* %scevgep168, align 4, !dbg !158 %uglygep169 = getelementptr i8, i8* %202, i64 %lsr.iv, !dbg !158 %uglygep169170 = bitcast i8* %uglygep169 to i32*, !dbg !158 %scevgep171 = getelementptr i32, i32* %uglygep169170, i64 6, !dbg !158 store i32 0, i32* %scevgep171, align 4, !dbg !158 %scevgep172 = getelementptr i32, i32* %uglygep169170, i64 7, !dbg !158 store i32 0, i32* %scevgep172, align 4, !dbg !158 %uglygep173 = getelementptr i8, i8* %202, i64 %lsr.iv, !dbg !158 %uglygep173174 = bitcast i8* %uglygep173 to i32*, !dbg !158 %scevgep175 = getelementptr i32, i32* %uglygep173174, i64 8, !dbg !158 store i32 0, i32* %scevgep175, align 4, !dbg !158 %scevgep176 = getelementptr i32, i32* %uglygep173174, i64 9, !dbg !158 store i32 0, i32* %scevgep176, align 4, !dbg !158 %uglygep177 = getelementptr i8, i8* %202, i64 %lsr.iv, !dbg !158 %uglygep177178 = bitcast i8* %uglygep177 to i32*, !dbg !158 %scevgep179 = getelementptr i32, i32* %uglygep177178, i64 10, !dbg !158 store i32 0, i32* %scevgep179, align 4, !dbg !158 %scevgep180 = getelementptr i32, i32* %uglygep177178, i64 11, !dbg !158 store i32 0, i32* %scevgep180, align 4, !dbg !158 %uglygep181 = getelementptr i8, i8* %202, i64 %lsr.iv, !dbg !158 %uglygep181182 = bitcast i8* %uglygep181 to i32*, !dbg !158 %scevgep183 = getelementptr i32, i32* %uglygep181182, i64 12, !dbg !158 store i32 0, i32* %scevgep183, align 4, !dbg !158 %scevgep184 = getelementptr i32, i32* %uglygep181182, i64 13, !dbg !158 store i32 0, i32* %scevgep184, align 4, !dbg !158 %uglygep185 = getelementptr i8, i8* %202, i64 %lsr.iv, !dbg !158 %uglygep185186 = bitcast i8* %uglygep185 to i32*, !dbg !158 %scevgep187 = getelementptr i32, i32* %uglygep185186, i64 14, !dbg !158 store i32 0, i32* %scevgep187, align 4, !dbg !158 %scevgep188 = getelementptr i32, i32* %uglygep185186, i64 15, !dbg !158 store i32 0, i32* %scevgep188, align 4, !dbg !158 %uglygep189 = getelementptr i8, i8* %202, i64 %lsr.iv, !dbg !158 %uglygep189190 = bitcast i8* %uglygep189 to i32*, !dbg !158 %scevgep191 = getelementptr i32, i32* %uglygep189190, i64 16, !dbg !158 store i32 0, i32* %scevgep191, align 4, !dbg !158 %scevgep192 = getelementptr i32, i32* %uglygep189190, i64 17, !dbg !158 store i32 0, i32* %scevgep192, align 4, !dbg !158 %uglygep193 = getelementptr i8, i8* %202, i64 %lsr.iv, !dbg !158 %uglygep193194 = bitcast i8* %uglygep193 to i32*, !dbg !158 %scevgep195 = getelementptr i32, i32* %uglygep193194, i64 18, !dbg !158 store i32 0, i32* %scevgep195, align 4, !dbg !158 %scevgep196 = getelementptr i32, i32* %uglygep193194, i64 19, !dbg !158 store i32 0, i32* %scevgep196, align 4, !dbg !158 %uglygep197 = getelementptr i8, i8* %202, i64 %lsr.iv, !dbg !158 %uglygep197198 = bitcast i8* %uglygep197 to i32*, !dbg !158 %scevgep199 = getelementptr i32, i32* %uglygep197198, i64 20, !dbg !158 store i32 0, i32* %scevgep199, align 4, !dbg !158 %scevgep200 = getelementptr i32, i32* %uglygep197198, i64 21, !dbg !158 store i32 0, i32* %scevgep200, align 4, !dbg !158 %uglygep201 = getelementptr i8, i8* %202, i64 %lsr.iv, !dbg !158 %uglygep201202 = bitcast i8* %uglygep201 to i32*, !dbg !158 %scevgep203 = getelementptr i32, i32* %uglygep201202, i64 22, !dbg !158 store i32 0, i32* %scevgep203, align 4, !dbg !158 %scevgep204 = getelementptr i32, i32* %uglygep201202, i64 23, !dbg !158 store i32 0, i32* %scevgep204, align 4, !dbg !158 %uglygep205 = getelementptr i8, i8* %202, i64 %lsr.iv, !dbg !158 %uglygep205206 = bitcast i8* %uglygep205 to i32*, !dbg !158 %scevgep207 = getelementptr i32, i32* %uglygep205206, i64 24, !dbg !158 store i32 0, i32* %scevgep207, align 4, !dbg !158 %scevgep208 = getelementptr i32, i32* %uglygep205206, i64 25, !dbg !158 store i32 0, i32* %scevgep208, align 4, !dbg !158 %uglygep209 = getelementptr i8, i8* %202, i64 %lsr.iv, !dbg !158 %uglygep209210 = bitcast i8* %uglygep209 to i32*, !dbg !158 %scevgep211 = getelementptr i32, i32* %uglygep209210, i64 26, !dbg !158 store i32 0, i32* %scevgep211, align 4, !dbg !158 %scevgep212 = getelementptr i32, i32* %uglygep209210, i64 27, !dbg !158 store i32 0, i32* %scevgep212, align 4, !dbg !158 %uglygep157 = getelementptr i8, i8* %202, i64 %lsr.iv, !dbg !158 %uglygep157158 = bitcast i8* %uglygep157 to i32*, !dbg !158 %scevgep159 = getelementptr i32, i32* %uglygep157158, i64 28, !dbg !158 store i32 0, i32* %scevgep159, align 4, !dbg !158 %uglygep91 = getelementptr i8, i8* %202, i64 %lsr.iv, !dbg !158 %uglygep9192 = bitcast i8* %uglygep91 to i32*, !dbg !158 %scevgep93 = getelementptr i32, i32* %uglygep9192, i64 29, !dbg !158 store i32 0, i32* %scevgep93, align 4, !dbg !158 %uglygep88 = getelementptr i8, i8* %202, i64 %lsr.iv, !dbg !158 %uglygep8889 = bitcast i8* %uglygep88 to i32*, !dbg !158 %scevgep90 = getelementptr i32, i32* %uglygep8889, i64 30, !dbg !158 store i32 0, i32* %scevgep90, align 4, !dbg !158 %uglygep85 = getelementptr i8, i8* %202, i64 %lsr.iv, !dbg !158 %uglygep8586 = bitcast i8* %uglygep85 to i32*, !dbg !158 %scevgep87 = getelementptr i32, i32* %uglygep8586, i64 31, !dbg !158 store i32 0, i32* %scevgep87, align 4, !dbg !158 %lsr.iv.next = add nuw nsw i64 %lsr.iv, 256, !dbg !158 %exitcond.not = icmp eq i64 %lsr.iv.next, 512, !dbg !158 br i1 %exitcond.not, label %134, label %.preheader29.us.us.us, !dbg !158 .preheader30.us.us.us: ; preds = %.preheader30.us.us.us.preheader, %132 %lsr.iv302 = phi i32* [ %lsr.iv299, %.preheader30.us.us.us.preheader ], [ %scevgep303, %132 ] %lsr.iv273 = phi i8* [ %lsr.iv270, %.preheader30.us.us.us.preheader ], [ %scevgep274, %132 ] %lsr.iv242 = phi i32* [ %lsr.iv63, %.preheader30.us.us.us.preheader ], [ %scevgep243, %132 ] %lsr.iv223 = phi i8* [ %lsr.iv220, %.preheader30.us.us.us.preheader ], [ %scevgep224, %132 ] %204 = phi i64 [ %133, %132 ], [ 0, %.preheader30.us.us.us.preheader ] br label %.preheader27.us.us.us, !dbg !158 .preheader31.us.us.us: ; preds = %134, %51 %lsr.iv80 = phi i32* [ %scevgep81, %134 ], [ %lsr.iv77, %51 ] %lsr.iv66 = phi i32* [ %scevgep67, %134 ], [ %lsr.iv63, %51 ] %205 = phi i64 [ 0, %51 ], [ %135, %134 ] br label %.preheader29.us.us.us, !dbg !158 ._crit_edge.us.us.us: ; preds = %53 %206 = bitcast i32* %lsr.iv74 to i1* %207 = bitcast i32* %lsr.iv60 to i1* %208 = bitcast i8* %lsr.iv217 to i1* %209 = bitcast i32* %lsr.iv296 to i1* %210 = bitcast i8* %lsr.iv267 to i1* %211 = add i64 %50, %25, !dbg !158 %scevgep62 = getelementptr i1, i1* %207, i64 %35, !dbg !158 %212 = bitcast i1* %scevgep62 to i32*, !dbg !158 %scevgep76 = getelementptr i1, i1* %206, i64 %35, !dbg !158 %213 = bitcast i1* %scevgep76 to i32*, !dbg !158 %scevgep219 = getelementptr i1, i1* %208, i64 %44, !dbg !158 %214 = bitcast i1* %scevgep219 to i8*, !dbg !158 %scevgep269 = getelementptr i1, i1* %210, i64 %44, !dbg !158 %215 = bitcast i1* %scevgep269 to i8*, !dbg !158 %scevgep298 = getelementptr i1, i1* %209, i64 %35, !dbg !158 %216 = bitcast i1* %scevgep298 to i32*, !dbg !158 %217 = icmp slt i64 %211, 6, !dbg !158 br i1 %217, label %.lr.ph.us.us.us, label %._crit_edge35.split.us.us.us, !dbg !158 ._crit_edge35.split.us.us.us: ; preds = %._crit_edge.us.us.us %218 = bitcast i32* %lsr.iv71 to i1* %219 = bitcast i32* %lsr.iv57 to i1* %220 = bitcast i8* %lsr.iv214 to i1* %221 = bitcast i32* %lsr.iv293 to i1* %222 = bitcast i8* %lsr.iv264 to i1* %223 = add i64 %49, %18, !dbg !158 %scevgep59 = getelementptr i1, i1* %219, i64 %34, !dbg !158 %224 = bitcast i1* %scevgep59 to i32*, !dbg !158 %scevgep73 = getelementptr i1, i1* %218, i64 %34, !dbg !158 %225 = bitcast i1* %scevgep73 to i32*, !dbg !158 %scevgep216 = getelementptr i1, i1* %220, i64 %43, !dbg !158 %226 = bitcast i1* %scevgep216 to i8*, !dbg !158 %scevgep266 = getelementptr i1, i1* %222, i64 %43, !dbg !158 %227 = bitcast i1* %scevgep266 to i8*, !dbg !158 %scevgep295 = getelementptr i1, i1* %221, i64 %34, !dbg !158 %228 = bitcast i1* %scevgep295 to i32*, !dbg !158 %229 = icmp slt i64 %223, 6, !dbg !158 br i1 %229, label %.lr.ph34.us.us, label %._crit_edge, !dbg !158 .lr.ph34.us: ; preds = %.lr.ph34.us.preheader, %._crit_edge35.split.us36 %230 = phi i64 [ %235, %._crit_edge35.split.us36 ], [ %17, %.lr.ph34.us.preheader ] br label %231, !dbg !158 231: ; preds = %.lr.ph34.us, %231 %232 = phi i64 [ %24, %.lr.ph34.us ], [ %233, %231 ] %233 = add i64 %232, %25, !dbg !158 %234 = icmp slt i64 %233, 6, !dbg !158 br i1 %234, label %231, label %._crit_edge35.split.us36, !dbg !158 ._crit_edge35.split.us36: ; preds = %231 %235 = add i64 %230, %18, !dbg !158 %236 = icmp slt i64 %235, 6, !dbg !158 br i1 %236, label %.lr.ph34.us, label %._crit_edge, !dbg !158 .lr.ph.split: ; preds = %.lr.ph.split.preheader, %.lr.ph.split %237 = phi i64 [ %238, %.lr.ph.split ], [ %17, %.lr.ph.split.preheader ] %238 = add i64 %237, %18, !dbg !158 %239 = icmp slt i64 %238, 6, !dbg !158 br i1 %239, label %.lr.ph.split, label %._crit_edge, !dbg !158 ._crit_edge: ; preds = %.lr.ph.split, %._crit_edge35.split.us36, %._crit_edge35.split.us.us.us, %3 ret i32 0, !dbg !158 } ; Function Attrs: nofree nosync nounwind define internal i32 @main_dispatch_30(%iree_hal_executable_environment_v0_t* noalias nocapture nonnull readnone byref(%iree_hal_executable_environment_v0_t) align 16 %0, %iree_hal_executable_dispatch_state_v0_t* noalias nocapture nonnull readonly byref(%iree_hal_executable_dispatch_state_v0_t) align 16 %1, %iree_hal_executable_workgroup_state_v0_t* noalias nocapture nonnull readonly byref(%iree_hal_executable_workgroup_state_v0_t) align 16 %2) #0 !dbg !161 { %.elt21 = getelementptr inbounds %iree_hal_executable_dispatch_state_v0_t, %iree_hal_executable_dispatch_state_v0_t* %1, i64 0, i32 10, !dbg !162 %.unpack22 = load i8**, i8*** %.elt21, align 16, !dbg !162 %4 = bitcast i8** %.unpack22 to i32**, !dbg !162 %5 = load i32*, i32** %4, align 8, !dbg !162 %6 = getelementptr i8*, i8** %.unpack22, i64 1, !dbg !165 %7 = load i8*, i8** %6, align 8, !dbg !165 %8 = getelementptr i8, i8* %7, i64 9216, !dbg !165 %9 = load %iree_hal_executable_workgroup_state_v0_t, %iree_hal_executable_workgroup_state_v0_t* %2, align 16, !dbg !165 %10 = extractvalue %iree_hal_executable_workgroup_state_v0_t %9, 0, !dbg !165 %11 = zext i32 %10 to i64, !dbg !165 %12 = extractvalue %iree_hal_executable_workgroup_state_v0_t %9, 1, !dbg !165 %13 = zext i32 %12 to i64, !dbg !165 %14 = extractvalue %iree_hal_executable_workgroup_state_v0_t %9, 2, !dbg !165 %15 = zext i16 %14 to i64, !dbg !165 %16 = shl nuw nsw i64 %11, 5, !dbg !165 %17 = mul nuw nsw i64 %15, 768, !dbg !165 %18 = mul nuw nsw i64 %13, 192, !dbg !165 br label %.preheader27, !dbg !165 .preheader27: ; preds = %3, %215 %19 = phi i64 [ 0, %3 ], [ %216, %215 ] %20 = mul nuw nsw i64 %19, 384 br label %.preheader26, !dbg !165 .preheader26: ; preds = %.preheader27, %213 %21 = phi i64 [ 0, %.preheader27 ], [ %214, %213 ] %22 = shl i64 %21, 6 br label %.preheader25, !dbg !165 .preheader25: ; preds = %.preheader26, %.preheader25 %23 = phi i1 [ true, %.preheader26 ], [ false, %.preheader25 ] %24 = phi i64 [ 0, %.preheader26 ], [ 16, %.preheader25 ] %25 = or i64 %24, %16 %26 = getelementptr [64 x i32], [64 x i32]* @__constant_64xi32_0_2, i64 0, i64 %25, !dbg !166 %27 = load i32, i32* %26, align 16, !dbg !166 %28 = or i64 %25, 1, !dbg !165 %29 = getelementptr [64 x i32], [64 x i32]* @__constant_64xi32_0_2, i64 0, i64 %28, !dbg !166 %30 = load i32, i32* %29, align 4, !dbg !166 %31 = or i64 %25, 2, !dbg !165 %32 = getelementptr [64 x i32], [64 x i32]* @__constant_64xi32_0_2, i64 0, i64 %31, !dbg !166 %33 = load i32, i32* %32, align 8, !dbg !166 %34 = or i64 %25, 3, !dbg !165 %35 = getelementptr [64 x i32], [64 x i32]* @__constant_64xi32_0_2, i64 0, i64 %34, !dbg !166 %36 = load i32, i32* %35, align 4, !dbg !166 %37 = or i64 %25, 4, !dbg !165 %38 = getelementptr [64 x i32], [64 x i32]* @__constant_64xi32_0_2, i64 0, i64 %37, !dbg !166 %39 = load i32, i32* %38, align 16, !dbg !166 %40 = or i64 %25, 5, !dbg !165 %41 = getelementptr [64 x i32], [64 x i32]* @__constant_64xi32_0_2, i64 0, i64 %40, !dbg !166 %42 = load i32, i32* %41, align 4, !dbg !166 %43 = or i64 %25, 6, !dbg !165 %44 = getelementptr [64 x i32], [64 x i32]* @__constant_64xi32_0_2, i64 0, i64 %43, !dbg !166 %45 = load i32, i32* %44, align 8, !dbg !166 %46 = or i64 %25, 7, !dbg !165 %47 = getelementptr [64 x i32], [64 x i32]* @__constant_64xi32_0_2, i64 0, i64 %46, !dbg !166 %48 = load i32, i32* %47, align 4, !dbg !166 %49 = or i64 %25, 8, !dbg !165 %50 = getelementptr [64 x i32], [64 x i32]* @__constant_64xi32_0_2, i64 0, i64 %49, !dbg !166 %51 = load i32, i32* %50, align 16, !dbg !166 %52 = or i64 %25, 9, !dbg !165 %53 = getelementptr [64 x i32], [64 x i32]* @__constant_64xi32_0_2, i64 0, i64 %52, !dbg !166 %54 = load i32, i32* %53, align 4, !dbg !166 %55 = or i64 %25, 10, !dbg !165 %56 = getelementptr [64 x i32], [64 x i32]* @__constant_64xi32_0_2, i64 0, i64 %55, !dbg !166 %57 = load i32, i32* %56, align 8, !dbg !166 %58 = or i64 %25, 11, !dbg !165 %59 = getelementptr [64 x i32], [64 x i32]* @__constant_64xi32_0_2, i64 0, i64 %58, !dbg !166 %60 = load i32, i32* %59, align 4, !dbg !166 %61 = or i64 %25, 12, !dbg !165 %62 = getelementptr [64 x i32], [64 x i32]* @__constant_64xi32_0_2, i64 0, i64 %61, !dbg !166 %63 = load i32, i32* %62, align 16, !dbg !166 %64 = or i64 %25, 13, !dbg !165 %65 = getelementptr [64 x i32], [64 x i32]* @__constant_64xi32_0_2, i64 0, i64 %64, !dbg !166 %66 = load i32, i32* %65, align 4, !dbg !166 %67 = or i64 %25, 14, !dbg !165 %68 = getelementptr [64 x i32], [64 x i32]* @__constant_64xi32_0_2, i64 0, i64 %67, !dbg !166 %69 = load i32, i32* %68, align 8, !dbg !166 %70 = or i64 %25, 15, !dbg !165 %71 = getelementptr [64 x i32], [64 x i32]* @__constant_64xi32_0_2, i64 0, i64 %70, !dbg !166 %72 = load i32, i32* %71, align 4, !dbg !166 %73 = add nuw nsw i64 %25, %18, !dbg !165 %74 = add nuw nsw i64 %73, %17, !dbg !165 %75 = add nuw nsw i64 %74, %20, !dbg !165 %76 = add nuw nsw i64 %75, %22, !dbg !165 %77 = getelementptr i32, i32* %5, i64 %76, !dbg !165 %78 = bitcast i32* %77 to <16 x i32>*, !dbg !165 %79 = load <16 x i32>, <16 x i32>* %78, align 4, !dbg !165 %80 = getelementptr [64 x i32], [64 x i32]* @__constant_64xi32_3, i64 0, i64 %25, !dbg !165 %81 = load i32, i32* %80, align 16, !dbg !165 %82 = getelementptr [64 x i32], [64 x i32]* @__constant_64xi32_3, i64 0, i64 %28, !dbg !165 %83 = load i32, i32* %82, align 4, !dbg !165 %84 = getelementptr [64 x i32], [64 x i32]* @__constant_64xi32_3, i64 0, i64 %31, !dbg !165 %85 = load i32, i32* %84, align 8, !dbg !165 %86 = getelementptr [64 x i32], [64 x i32]* @__constant_64xi32_3, i64 0, i64 %34, !dbg !165 %87 = load i32, i32* %86, align 4, !dbg !165 %88 = getelementptr [64 x i32], [64 x i32]* @__constant_64xi32_3, i64 0, i64 %37, !dbg !165 %89 = load i32, i32* %88, align 16, !dbg !165 %90 = getelementptr [64 x i32], [64 x i32]* @__constant_64xi32_3, i64 0, i64 %40, !dbg !165 %91 = load i32, i32* %90, align 4, !dbg !165 %92 = getelementptr [64 x i32], [64 x i32]* @__constant_64xi32_3, i64 0, i64 %43, !dbg !165 %93 = load i32, i32* %92, align 8, !dbg !165 %94 = getelementptr [64 x i32], [64 x i32]* @__constant_64xi32_3, i64 0, i64 %46, !dbg !165 %95 = load i32, i32* %94, align 4, !dbg !165 %96 = getelementptr [64 x i32], [64 x i32]* @__constant_64xi32_3, i64 0, i64 %49, !dbg !165 %97 = load i32, i32* %96, align 16, !dbg !165 %98 = getelementptr [64 x i32], [64 x i32]* @__constant_64xi32_3, i64 0, i64 %52, !dbg !165 %99 = load i32, i32* %98, align 4, !dbg !165 %100 = getelementptr [64 x i32], [64 x i32]* @__constant_64xi32_3, i64 0, i64 %55, !dbg !165 %101 = load i32, i32* %100, align 8, !dbg !165 %102 = getelementptr [64 x i32], [64 x i32]* @__constant_64xi32_3, i64 0, i64 %58, !dbg !165 %103 = load i32, i32* %102, align 4, !dbg !165 %104 = getelementptr [64 x i32], [64 x i32]* @__constant_64xi32_3, i64 0, i64 %61, !dbg !165 %105 = load i32, i32* %104, align 16, !dbg !165 %106 = getelementptr [64 x i32], [64 x i32]* @__constant_64xi32_3, i64 0, i64 %64, !dbg !165 %107 = load i32, i32* %106, align 4, !dbg !165 %108 = getelementptr [64 x i32], [64 x i32]* @__constant_64xi32_3, i64 0, i64 %67, !dbg !165 %109 = load i32, i32* %108, align 8, !dbg !165 %110 = getelementptr [64 x i32], [64 x i32]* @__constant_64xi32_3, i64 0, i64 %70, !dbg !165 %111 = load i32, i32* %110, align 4, !dbg !165 %112 = insertelement <16 x i32> , i32 %27, i64 0, !dbg !165 %113 = insertelement <16 x i32> %112, i32 %30, i64 1, !dbg !165 %114 = insertelement <16 x i32> %113, i32 %33, i64 2, !dbg !165 %115 = insertelement <16 x i32> %114, i32 %36, i64 3, !dbg !165 %116 = insertelement <16 x i32> %115, i32 %39, i64 4, !dbg !165 %117 = insertelement <16 x i32> %116, i32 %42, i64 5, !dbg !165 %118 = insertelement <16 x i32> %117, i32 %45, i64 6, !dbg !165 %119 = insertelement <16 x i32> %118, i32 %48, i64 7, !dbg !165 %120 = insertelement <16 x i32> %119, i32 %51, i64 8, !dbg !165 %121 = insertelement <16 x i32> %120, i32 %54, i64 9, !dbg !165 %122 = insertelement <16 x i32> %121, i32 %57, i64 10, !dbg !165 %123 = insertelement <16 x i32> %122, i32 %60, i64 11, !dbg !165 %124 = insertelement <16 x i32> %123, i32 %63, i64 12, !dbg !165 %125 = insertelement <16 x i32> %124, i32 %66, i64 13, !dbg !165 %126 = insertelement <16 x i32> %125, i32 %69, i64 14, !dbg !165 %127 = getelementptr [64 x i8], [64 x i8]* @__constant_64xi8_2, i64 0, i64 %25, !dbg !165 %128 = load i8, i8* %127, align 16, !dbg !165 %129 = insertelement <16 x i8> , i8 %128, i64 0, !dbg !165 %130 = getelementptr [64 x i8], [64 x i8]* @__constant_64xi8_2, i64 0, i64 %28, !dbg !165 %131 = load i8, i8* %130, align 1, !dbg !165 %132 = insertelement <16 x i8> %129, i8 %131, i64 1, !dbg !165 %133 = getelementptr [64 x i8], [64 x i8]* @__constant_64xi8_2, i64 0, i64 %31, !dbg !165 %134 = load i8, i8* %133, align 2, !dbg !165 %135 = insertelement <16 x i8> %132, i8 %134, i64 2, !dbg !165 %136 = getelementptr [64 x i8], [64 x i8]* @__constant_64xi8_2, i64 0, i64 %34, !dbg !165 %137 = load i8, i8* %136, align 1, !dbg !165 %138 = insertelement <16 x i8> %135, i8 %137, i64 3, !dbg !165 %139 = getelementptr [64 x i8], [64 x i8]* @__constant_64xi8_2, i64 0, i64 %37, !dbg !165 %140 = load i8, i8* %139, align 4, !dbg !165 %141 = insertelement <16 x i8> %138, i8 %140, i64 4, !dbg !165 %142 = getelementptr [64 x i8], [64 x i8]* @__constant_64xi8_2, i64 0, i64 %40, !dbg !165 %143 = load i8, i8* %142, align 1, !dbg !165 %144 = insertelement <16 x i8> %141, i8 %143, i64 5, !dbg !165 %145 = getelementptr [64 x i8], [64 x i8]* @__constant_64xi8_2, i64 0, i64 %43, !dbg !165 %146 = load i8, i8* %145, align 2, !dbg !165 %147 = insertelement <16 x i8> %144, i8 %146, i64 6, !dbg !165 %148 = getelementptr [64 x i8], [64 x i8]* @__constant_64xi8_2, i64 0, i64 %46, !dbg !165 %149 = load i8, i8* %148, align 1, !dbg !165 %150 = insertelement <16 x i8> %147, i8 %149, i64 7, !dbg !165 %151 = getelementptr [64 x i8], [64 x i8]* @__constant_64xi8_2, i64 0, i64 %49, !dbg !165 %152 = load i8, i8* %151, align 8, !dbg !165 %153 = insertelement <16 x i8> %150, i8 %152, i64 8, !dbg !165 %154 = getelementptr [64 x i8], [64 x i8]* @__constant_64xi8_2, i64 0, i64 %52, !dbg !165 %155 = load i8, i8* %154, align 1, !dbg !165 %156 = insertelement <16 x i8> %153, i8 %155, i64 9, !dbg !165 %157 = getelementptr [64 x i8], [64 x i8]* @__constant_64xi8_2, i64 0, i64 %55, !dbg !165 %158 = load i8, i8* %157, align 2, !dbg !165 %159 = insertelement <16 x i8> %156, i8 %158, i64 10, !dbg !165 %160 = getelementptr [64 x i8], [64 x i8]* @__constant_64xi8_2, i64 0, i64 %58, !dbg !165 %161 = load i8, i8* %160, align 1, !dbg !165 %162 = insertelement <16 x i8> %159, i8 %161, i64 11, !dbg !165 %163 = getelementptr [64 x i8], [64 x i8]* @__constant_64xi8_2, i64 0, i64 %61, !dbg !165 %164 = load i8, i8* %163, align 4, !dbg !165 %165 = insertelement <16 x i8> %162, i8 %164, i64 12, !dbg !165 %166 = getelementptr [64 x i8], [64 x i8]* @__constant_64xi8_2, i64 0, i64 %64, !dbg !165 %167 = load i8, i8* %166, align 1, !dbg !165 %168 = insertelement <16 x i8> %165, i8 %167, i64 13, !dbg !165 %169 = getelementptr [64 x i8], [64 x i8]* @__constant_64xi8_2, i64 0, i64 %67, !dbg !165 %170 = load i8, i8* %169, align 2, !dbg !165 %171 = insertelement <16 x i8> %168, i8 %170, i64 14, !dbg !165 %172 = getelementptr [64 x i8], [64 x i8]* @__constant_64xi8_2, i64 0, i64 %70, !dbg !165 %173 = load i8, i8* %172, align 1, !dbg !165 %174 = insertelement <16 x i8> %171, i8 %173, i64 15, !dbg !165 %175 = insertelement <16 x i32> , i32 %81, i64 0, !dbg !165 %176 = insertelement <16 x i32> %175, i32 %83, i64 1, !dbg !165 %177 = insertelement <16 x i32> %176, i32 %85, i64 2, !dbg !165 %178 = insertelement <16 x i32> %177, i32 %87, i64 3, !dbg !165 %179 = insertelement <16 x i32> %178, i32 %89, i64 4, !dbg !165 %180 = insertelement <16 x i32> %179, i32 %91, i64 5, !dbg !165 %181 = insertelement <16 x i32> %180, i32 %93, i64 6, !dbg !165 %182 = insertelement <16 x i32> %181, i32 %95, i64 7, !dbg !165 %183 = insertelement <16 x i32> %182, i32 %97, i64 8, !dbg !165 %184 = insertelement <16 x i32> %183, i32 %99, i64 9, !dbg !165 %185 = insertelement <16 x i32> %184, i32 %101, i64 10, !dbg !165 %186 = insertelement <16 x i32> %185, i32 %103, i64 11, !dbg !165 %187 = insertelement <16 x i32> %186, i32 %105, i64 12, !dbg !165 %188 = insertelement <16 x i32> %187, i32 %107, i64 13, !dbg !165 %189 = insertelement <16 x i32> %188, i32 %109, i64 14, !dbg !165 %190 = insertelement <16 x i32> %189, i32 %111, i64 15, !dbg !165 %191 = insertelement <16 x i32> %126, i32 %72, i64 15, !dbg !165 %192 = add <16 x i32> %79, %191, !dbg !162 %193 = sext <16 x i32> %192 to <16 x i64>, !dbg !165 %194 = sext <16 x i32> %190 to <16 x i64>, !dbg !165 %195 = mul nsw <16 x i64> %194, %193, !dbg !165 %196 = zext <16 x i8> %174 to <16 x i64>, !dbg !165 %197 = shl <16 x i64> , %196, !dbg !165 %198 = lshr <16 x i64> %197, , !dbg !165 %199 = icmp sgt <16 x i32> %192, , !dbg !165 %200 = select <16 x i1> %199, <16 x i64> , <16 x i64> , !dbg !165 %201 = icmp ugt <16 x i8> %174, , !dbg !165 %202 = select <16 x i1> %201, <16 x i64> %200, <16 x i64> zeroinitializer, !dbg !165 %203 = add <16 x i64> %202, %195, !dbg !165 %204 = add <16 x i64> %203, %198, !dbg !165 %205 = ashr <16 x i64> %204, %196, !dbg !165 %206 = trunc <16 x i64> %205 to <16 x i32>, !dbg !165 %207 = add <16 x i32> %206, , !dbg !165 %208 = tail call <16 x i32> @llvm.smax.v16i32(<16 x i32> %207, <16 x i32> ), !dbg !165 %209 = tail call <16 x i32> @llvm.smin.v16i32(<16 x i32> %208, <16 x i32> ), !dbg !165 %210 = trunc <16 x i32> %209 to <16 x i8>, !dbg !165 %211 = getelementptr i8, i8* %8, i64 %76, !dbg !165 %212 = bitcast i8* %211 to <16 x i8>*, !dbg !165 store <16 x i8> %210, <16 x i8>* %212, align 1, !dbg !165 br i1 %23, label %.preheader25, label %213, !dbg !165 213: ; preds = %.preheader25 %214 = add nuw nsw i64 %21, 1, !dbg !165 %exitcond.not = icmp eq i64 %214, 3, !dbg !165 br i1 %exitcond.not, label %215, label %.preheader26, !dbg !165 215: ; preds = %213 %216 = add nuw nsw i64 %19, 1, !dbg !165 %exitcond32.not = icmp eq i64 %216, 2, !dbg !165 br i1 %exitcond32.not, label %217, label %.preheader27, !dbg !165 217: ; preds = %215 ret i32 0, !dbg !165 } ; Function Attrs: nofree nosync nounwind define internal i32 @main_dispatch_31(%iree_hal_executable_environment_v0_t* noalias nocapture nonnull readnone byref(%iree_hal_executable_environment_v0_t) align 16 %0, %iree_hal_executable_dispatch_state_v0_t* noalias nocapture nonnull readonly byref(%iree_hal_executable_dispatch_state_v0_t) align 16 %1, %iree_hal_executable_workgroup_state_v0_t* noalias nocapture nonnull readonly byref(%iree_hal_executable_workgroup_state_v0_t) align 16 %2) #0 !dbg !167 { .preheader: %const = bitcast i64 200960 to i64, !dbg !168 %.elt19 = getelementptr inbounds %iree_hal_executable_dispatch_state_v0_t, %iree_hal_executable_dispatch_state_v0_t* %1, i64 0, i32 10, !dbg !168 %.unpack20 = load i8**, i8*** %.elt19, align 16, !dbg !168 %3 = load i8*, i8** %.unpack20, align 8, !dbg !168 %4 = getelementptr i8*, i8** %.unpack20, i64 1, !dbg !168 %5 = load i8*, i8** %4, align 8, !dbg !168 %6 = getelementptr i8, i8* %5, i64 11520, !dbg !168 %7 = bitcast %iree_hal_executable_workgroup_state_v0_t* %2 to i32*, !dbg !168 %8 = load i32, i32* %7, align 16, !dbg !168 %9 = zext i32 %8 to i64, !dbg !168 %10 = shl nuw nsw i64 %9, 5, !dbg !168 %11 = add nuw nsw i64 %10, %const, !dbg !168 %scevgep30 = getelementptr i8, i8* %3, i64 %11, !dbg !168 br label %12, !dbg !168 12: ; preds = %.preheader, %12 %lsr.iv34 = phi i64 [ 64, %.preheader ], [ %lsr.iv.next35, %12 ] %lsr.iv31 = phi i8* [ %scevgep30, %.preheader ], [ %scevgep32, %12 ] %13 = phi <16 x i32> [ zeroinitializer, %.preheader ], [ %16, %12 ] %lsr.iv3133 = bitcast i8* %lsr.iv31 to <16 x i8>*, !dbg !168 %14 = load <16 x i8>, <16 x i8>* %lsr.iv3133, align 32, !dbg !168 %15 = sext <16 x i8> %14 to <16 x i32>, !dbg !168 %16 = add <16 x i32> %13, %15, !dbg !168 %scevgep32 = getelementptr i8, i8* %lsr.iv31, i64 128, !dbg !168 %lsr.iv.next35 = add nsw i64 %lsr.iv34, -1, !dbg !168 %exitcond.not = icmp eq i64 %lsr.iv.next35, 0, !dbg !168 br i1 %exitcond.not, label %.preheader.1, label %12, !dbg !168 .preheader.1: ; preds = %12 %17 = bitcast i8* %6 to i32*, !dbg !168 %18 = getelementptr i32, i32* %17, i64 %10, !dbg !168 %19 = bitcast i32* %18 to <16 x i32>*, !dbg !168 store <16 x i32> %16, <16 x i32>* %19, align 64, !dbg !168 %20 = or i64 %10, 16 %const_mat = add i64 %const, 16, !dbg !168 %21 = add nuw nsw i64 %10, %const_mat, !dbg !168 %scevgep = getelementptr i8, i8* %3, i64 %21, !dbg !168 br label %22, !dbg !168 22: ; preds = %22, %.preheader.1 %lsr.iv27 = phi i8* [ %scevgep28, %22 ], [ %scevgep, %.preheader.1 ] %lsr.iv = phi i64 [ %lsr.iv.next, %22 ], [ 64, %.preheader.1 ] %23 = phi <16 x i32> [ zeroinitializer, %.preheader.1 ], [ %26, %22 ] %lsr.iv2729 = bitcast i8* %lsr.iv27 to <16 x i8>*, !dbg !168 %24 = load <16 x i8>, <16 x i8>* %lsr.iv2729, align 16, !dbg !168 %25 = sext <16 x i8> %24 to <16 x i32>, !dbg !168 %26 = add <16 x i32> %23, %25, !dbg !168 %lsr.iv.next = add nsw i64 %lsr.iv, -1, !dbg !168 %scevgep28 = getelementptr i8, i8* %lsr.iv27, i64 128, !dbg !168 %exitcond.1.not = icmp eq i64 %lsr.iv.next, 0, !dbg !168 br i1 %exitcond.1.not, label %27, label %22, !dbg !168 27: ; preds = %22 %28 = bitcast i8* %6 to i32*, !dbg !168 %29 = getelementptr i32, i32* %28, i64 %20, !dbg !168 %30 = bitcast i32* %29 to <16 x i32>*, !dbg !168 store <16 x i32> %26, <16 x i32>* %30, align 64, !dbg !168 ret i32 0, !dbg !168 } ; Function Attrs: nofree nosync nounwind define internal i32 @main_dispatch_32(%iree_hal_executable_environment_v0_t* noalias nocapture nonnull readnone byref(%iree_hal_executable_environment_v0_t) align 16 %0, %iree_hal_executable_dispatch_state_v0_t* noalias nocapture nonnull readonly byref(%iree_hal_executable_dispatch_state_v0_t) align 16 %1, %iree_hal_executable_workgroup_state_v0_t* noalias nocapture nonnull readonly byref(%iree_hal_executable_workgroup_state_v0_t) align 16 %2) #0 !dbg !171 { %.elt26 = getelementptr inbounds %iree_hal_executable_dispatch_state_v0_t, %iree_hal_executable_dispatch_state_v0_t* %1, i64 0, i32 10, !dbg !172 %.unpack27 = load i8**, i8*** %.elt26, align 16, !dbg !172 %4 = load i8*, i8** %.unpack27, align 8, !dbg !172 %5 = getelementptr i8, i8* %4, i64 9216, !dbg !172 %6 = getelementptr i8*, i8** %.unpack27, i64 1, !dbg !172 %7 = load i8*, i8** %6, align 8, !dbg !172 %8 = getelementptr i8*, i8** %.unpack27, i64 2, !dbg !175 %9 = load i8*, i8** %8, align 8, !dbg !175 %10 = load %iree_hal_executable_workgroup_state_v0_t, %iree_hal_executable_workgroup_state_v0_t* %2, align 16, !dbg !175 %11 = extractvalue %iree_hal_executable_workgroup_state_v0_t %10, 0, !dbg !175 %12 = zext i32 %11 to i64, !dbg !175 %13 = extractvalue %iree_hal_executable_workgroup_state_v0_t %10, 1, !dbg !175 %14 = zext i32 %13 to i64, !dbg !175 %15 = shl nuw nsw i64 %12, 6, !dbg !175 %16 = mul nuw nsw i64 %14, 768, !dbg !172 %17 = mul i64 %14, 1536, !dbg !175 %scevgep166 = getelementptr i8, i8* %7, i64 201984, !dbg !175 %scevgep199 = getelementptr i8, i8* %7, i64 216832, !dbg !175 %scevgep203 = getelementptr i8, i8* %4, i64 11520, !dbg !175 %scevgep207 = getelementptr i8, i8* %7, i64 11008, !dbg !175 %scevgep211 = getelementptr i8, i8* %9, i64 %17, !dbg !175 br label %.preheader40.preheader, !dbg !175 .preheader40.preheader: ; preds = %227, %3 %indvars.iv = phi i64 [ 12, %3 ], [ %indvars.iv.next, %227 ] %18 = phi i1 [ true, %3 ], [ false, %227 ] %19 = phi i64 [ 0, %3 ], [ 8, %227 ] %smin90 = call i64 @llvm.smin.i64(i64 %indvars.iv, i64 8), !dbg !172 %smin = call i64 @llvm.smin.i64(i64 %indvars.iv, i64 8), !dbg !172 %smin55 = call i64 @llvm.smin.i64(i64 %indvars.iv, i64 8), !dbg !172 %20 = sub nuw nsw i64 12, %19, !dbg !172 %21 = tail call i64 @llvm.smin.i64(i64 %20, i64 8), !dbg !172 %.idx = shl nuw nsw i64 %21, 7, !dbg !172 %22 = alloca i32, i64 %.idx, align 128, !dbg !172 %scevgep = getelementptr i32, i32* %22, i64 16, !dbg !172 br label %.preheader40, !dbg !172 .preheader40: ; preds = %.preheader40.preheader, %.preheader40 %lsr.iv57 = phi i32* [ %scevgep, %.preheader40.preheader ], [ %scevgep58, %.preheader40 ] %lsr.iv = phi i64 [ %smin, %.preheader40.preheader ], [ %lsr.iv.next, %.preheader40 ] %scevgep59 = getelementptr i32, i32* %lsr.iv57, i64 -16, !dbg !172 store i32 0, i32* %scevgep59, align 128, !dbg !172 %scevgep62 = getelementptr i32, i32* %lsr.iv57, i64 -15, !dbg !172 store i32 0, i32* %scevgep62, align 4, !dbg !172 %scevgep63 = getelementptr i32, i32* %lsr.iv57, i64 -14, !dbg !172 store i32 0, i32* %scevgep63, align 8, !dbg !172 %scevgep64 = getelementptr i32, i32* %lsr.iv57, i64 -13, !dbg !172 store i32 0, i32* %scevgep64, align 4, !dbg !172 %scevgep65 = getelementptr i32, i32* %lsr.iv57, i64 -12, !dbg !172 store i32 0, i32* %scevgep65, align 16, !dbg !172 %scevgep66 = getelementptr i32, i32* %lsr.iv57, i64 -11, !dbg !172 store i32 0, i32* %scevgep66, align 4, !dbg !172 %scevgep67 = getelementptr i32, i32* %lsr.iv57, i64 -10, !dbg !172 store i32 0, i32* %scevgep67, align 8, !dbg !172 %scevgep68 = getelementptr i32, i32* %lsr.iv57, i64 -9, !dbg !172 store i32 0, i32* %scevgep68, align 4, !dbg !172 %scevgep69 = getelementptr i32, i32* %lsr.iv57, i64 -8, !dbg !172 store i32 0, i32* %scevgep69, align 32, !dbg !172 %scevgep70 = getelementptr i32, i32* %lsr.iv57, i64 -7, !dbg !172 store i32 0, i32* %scevgep70, align 4, !dbg !172 %scevgep71 = getelementptr i32, i32* %lsr.iv57, i64 -6, !dbg !172 store i32 0, i32* %scevgep71, align 8, !dbg !172 %scevgep72 = getelementptr i32, i32* %lsr.iv57, i64 -5, !dbg !172 store i32 0, i32* %scevgep72, align 4, !dbg !172 %scevgep73 = getelementptr i32, i32* %lsr.iv57, i64 -4, !dbg !172 store i32 0, i32* %scevgep73, align 16, !dbg !172 %scevgep74 = getelementptr i32, i32* %lsr.iv57, i64 -3, !dbg !172 store i32 0, i32* %scevgep74, align 4, !dbg !172 %scevgep75 = getelementptr i32, i32* %lsr.iv57, i64 -2, !dbg !172 store i32 0, i32* %scevgep75, align 8, !dbg !172 %scevgep76 = getelementptr i32, i32* %lsr.iv57, i64 -1, !dbg !172 store i32 0, i32* %scevgep76, align 4, !dbg !172 store i32 0, i32* %lsr.iv57, align 64, !dbg !172 %scevgep78 = getelementptr i32, i32* %lsr.iv57, i64 1, !dbg !172 store i32 0, i32* %scevgep78, align 4, !dbg !172 %scevgep79 = getelementptr i32, i32* %lsr.iv57, i64 2, !dbg !172 store i32 0, i32* %scevgep79, align 8, !dbg !172 %scevgep80 = getelementptr i32, i32* %lsr.iv57, i64 3, !dbg !172 store i32 0, i32* %scevgep80, align 4, !dbg !172 %scevgep81 = getelementptr i32, i32* %lsr.iv57, i64 4, !dbg !172 store i32 0, i32* %scevgep81, align 16, !dbg !172 %scevgep82 = getelementptr i32, i32* %lsr.iv57, i64 5, !dbg !172 store i32 0, i32* %scevgep82, align 4, !dbg !172 %scevgep83 = getelementptr i32, i32* %lsr.iv57, i64 6, !dbg !172 store i32 0, i32* %scevgep83, align 8, !dbg !172 %scevgep84 = getelementptr i32, i32* %lsr.iv57, i64 7, !dbg !172 store i32 0, i32* %scevgep84, align 4, !dbg !172 %scevgep85 = getelementptr i32, i32* %lsr.iv57, i64 8, !dbg !172 store i32 0, i32* %scevgep85, align 32, !dbg !172 %scevgep86 = getelementptr i32, i32* %lsr.iv57, i64 9, !dbg !172 store i32 0, i32* %scevgep86, align 4, !dbg !172 %scevgep87 = getelementptr i32, i32* %lsr.iv57, i64 10, !dbg !172 store i32 0, i32* %scevgep87, align 8, !dbg !172 %scevgep88 = getelementptr i32, i32* %lsr.iv57, i64 11, !dbg !172 store i32 0, i32* %scevgep88, align 4, !dbg !172 %scevgep89 = getelementptr i32, i32* %lsr.iv57, i64 12, !dbg !172 store i32 0, i32* %scevgep89, align 16, !dbg !172 %scevgep77 = getelementptr i32, i32* %lsr.iv57, i64 13, !dbg !172 store i32 0, i32* %scevgep77, align 4, !dbg !172 %scevgep61 = getelementptr i32, i32* %lsr.iv57, i64 14, !dbg !172 store i32 0, i32* %scevgep61, align 8, !dbg !172 %scevgep60 = getelementptr i32, i32* %lsr.iv57, i64 15, !dbg !172 store i32 0, i32* %scevgep60, align 4, !dbg !172 %lsr.iv.next = add nsw i64 %lsr.iv, -1, !dbg !172 %scevgep58 = getelementptr i32, i32* %lsr.iv57, i64 32, !dbg !172 %exitcond.not = icmp eq i64 %lsr.iv.next, 0, !dbg !172 br i1 %exitcond.not, label %.preheader38.preheader.preheader, label %.preheader40, !dbg !172 .preheader38.preheader.preheader: ; preds = %.preheader40 %23 = shl nuw nsw i64 %19, 7, !dbg !172 %scevgep212 = getelementptr i8, i8* %scevgep211, i64 %23, !dbg !172 br label %.preheader38.preheader, !dbg !172 .preheader38.preheader: ; preds = %.preheader38.preheader.preheader, %._crit_edge %24 = phi i1 [ false, %._crit_edge ], [ true, %.preheader38.preheader.preheader ] %25 = phi i64 [ 32, %._crit_edge ], [ 0, %.preheader38.preheader.preheader ] %26 = or i64 %25, %15, !dbg !175 %27 = alloca i32, i64 %.idx, align 128, !dbg !172 %scevgep126 = getelementptr i32, i32* %27, i64 16, !dbg !172 br label %.preheader38, !dbg !172 .preheader35.lr.ph.us: ; preds = %.preheader35.lr.ph.us.preheader, %._crit_edge.us %lsr.iv168 = phi i8* [ %scevgep167, %.preheader35.lr.ph.us.preheader ], [ %scevgep169, %._crit_edge.us ] %28 = phi i64 [ %30, %._crit_edge.us ], [ 0, %.preheader35.lr.ph.us.preheader ] %29 = add nuw nsw i64 %28, %16 br label %.preheader35.us, !dbg !172 ._crit_edge.us: ; preds = %32 %30 = add nuw nsw i64 %28, 16, !dbg !172 %scevgep169 = getelementptr i8, i8* %lsr.iv168, i64 2048, !dbg !172 %31 = icmp ult i64 %28, 48, !dbg !172 br i1 %31, label %.preheader35.lr.ph.us, label %.preheader36.lr.ph, !dbg !172 32: ; preds = %.preheader.us %33 = add nuw nsw i64 %99, 1, !dbg !172 %scevgep161 = getelementptr i32, i32* %lsr.iv160, i64 32, !dbg !172 %exitcond53.not = icmp eq i64 %33, %smin55, !dbg !172 br i1 %exitcond53.not, label %._crit_edge.us, label %.preheader35.us, !dbg !172 .preheader.us: ; preds = %.preheader35.us, %.preheader.us %lsr.iv170 = phi i8* [ %lsr.iv168, %.preheader35.us ], [ %scevgep171, %.preheader.us ] %lsr.iv162 = phi i64 [ 0, %.preheader35.us ], [ %lsr.iv.next163, %.preheader.us ] %34 = bitcast i32* %lsr.iv160 to i8* %uglygep = getelementptr i8, i8* %34, i64 %lsr.iv162 %uglygep165 = bitcast i8* %uglygep to i32* %.promoted.us = load i32, i32* %uglygep165, align 4 %scevgep172 = getelementptr i8, i8* %lsr.iv170, i64 -1024, !dbg !172 %35 = load i8, i8* %scevgep172, align 1, !dbg !172 %36 = sext i8 %35 to i32 %37 = mul nsw i32 %36, %103 %38 = add i32 %37, %.promoted.us %scevgep175 = getelementptr i8, i8* %lsr.iv170, i64 -896, !dbg !172 %39 = load i8, i8* %scevgep175, align 1, !dbg !172 %40 = sext i8 %39 to i32 %41 = mul nsw i32 %40, %107 %42 = add i32 %41, %38 %scevgep176 = getelementptr i8, i8* %lsr.iv170, i64 -768, !dbg !172 %43 = load i8, i8* %scevgep176, align 1, !dbg !172 %44 = sext i8 %43 to i32 %45 = mul nsw i32 %44, %111 %46 = add i32 %45, %42 %scevgep177 = getelementptr i8, i8* %lsr.iv170, i64 -640, !dbg !172 %47 = load i8, i8* %scevgep177, align 1, !dbg !172 %48 = sext i8 %47 to i32 %49 = mul nsw i32 %48, %115 %50 = add i32 %49, %46 %scevgep178 = getelementptr i8, i8* %lsr.iv170, i64 -512, !dbg !172 %51 = load i8, i8* %scevgep178, align 1, !dbg !172 %52 = sext i8 %51 to i32 %53 = mul nsw i32 %52, %119 %54 = add i32 %53, %50 %scevgep179 = getelementptr i8, i8* %lsr.iv170, i64 -384, !dbg !172 %55 = load i8, i8* %scevgep179, align 1, !dbg !172 %56 = sext i8 %55 to i32 %57 = mul nsw i32 %56, %123 %58 = add i32 %57, %54 %scevgep180 = getelementptr i8, i8* %lsr.iv170, i64 -256, !dbg !172 %59 = load i8, i8* %scevgep180, align 1, !dbg !172 %60 = sext i8 %59 to i32 %61 = mul nsw i32 %60, %127 %62 = add i32 %61, %58 %scevgep181 = getelementptr i8, i8* %lsr.iv170, i64 -128, !dbg !172 %63 = load i8, i8* %scevgep181, align 1, !dbg !172 %64 = sext i8 %63 to i32 %65 = mul nsw i32 %64, %131 %66 = add i32 %65, %62 %67 = load i8, i8* %lsr.iv170, align 1, !dbg !172 %68 = sext i8 %67 to i32 %69 = mul nsw i32 %68, %135 %70 = add i32 %69, %66 %scevgep183 = getelementptr i8, i8* %lsr.iv170, i64 128, !dbg !172 %71 = load i8, i8* %scevgep183, align 1, !dbg !172 %72 = sext i8 %71 to i32 %73 = mul nsw i32 %72, %139 %74 = add i32 %73, %70 %scevgep184 = getelementptr i8, i8* %lsr.iv170, i64 256, !dbg !172 %75 = load i8, i8* %scevgep184, align 1, !dbg !172 %76 = sext i8 %75 to i32 %77 = mul nsw i32 %76, %143 %78 = add i32 %77, %74 %scevgep185 = getelementptr i8, i8* %lsr.iv170, i64 384, !dbg !172 %79 = load i8, i8* %scevgep185, align 1, !dbg !172 %80 = sext i8 %79 to i32 %81 = mul nsw i32 %80, %147 %82 = add i32 %81, %78 %scevgep186 = getelementptr i8, i8* %lsr.iv170, i64 512, !dbg !172 %83 = load i8, i8* %scevgep186, align 1, !dbg !172 %84 = sext i8 %83 to i32 %85 = mul nsw i32 %84, %151 %86 = add i32 %85, %82 %scevgep182 = getelementptr i8, i8* %lsr.iv170, i64 640, !dbg !172 %87 = load i8, i8* %scevgep182, align 1, !dbg !172 %88 = sext i8 %87 to i32 %89 = mul nsw i32 %88, %155 %90 = add i32 %89, %86 %scevgep174 = getelementptr i8, i8* %lsr.iv170, i64 768, !dbg !172 %91 = load i8, i8* %scevgep174, align 1, !dbg !172 %92 = sext i8 %91 to i32 %93 = mul nsw i32 %92, %159 %94 = add i32 %93, %90 %scevgep173 = getelementptr i8, i8* %lsr.iv170, i64 896, !dbg !172 %95 = load i8, i8* %scevgep173, align 1, !dbg !172 %96 = sext i8 %95 to i32 %97 = mul nsw i32 %96, %163 %98 = add i32 %97, %94 store i32 %98, i32* %uglygep165, align 4, !dbg !172 %lsr.iv.next163 = add nuw nsw i64 %lsr.iv162, 4, !dbg !172 %scevgep171 = getelementptr i8, i8* %lsr.iv170, i64 1, !dbg !172 %exitcond51.not = icmp eq i64 %lsr.iv.next163, 128, !dbg !172 br i1 %exitcond51.not, label %32, label %.preheader.us, !dbg !172 .preheader35.us: ; preds = %.preheader35.lr.ph.us, %32 %lsr.iv160 = phi i32* [ %27, %.preheader35.lr.ph.us ], [ %scevgep161, %32 ] %99 = phi i64 [ 0, %.preheader35.lr.ph.us ], [ %33, %32 ] %reass.add30.us = add nuw nsw i64 %99, %19 %reass.mul31.us = shl i64 %reass.add30.us, 6 %100 = add nuw nsw i64 %29, %reass.mul31.us %101 = getelementptr i8, i8* %5, i64 %100, !dbg !172 %102 = load i8, i8* %101, align 16 %103 = sext i8 %102 to i32 %104 = or i64 %100, 1 %105 = getelementptr i8, i8* %5, i64 %104 %106 = load i8, i8* %105, align 1 %107 = sext i8 %106 to i32 %108 = or i64 %100, 2 %109 = getelementptr i8, i8* %5, i64 %108 %110 = load i8, i8* %109, align 2 %111 = sext i8 %110 to i32 %112 = or i64 %100, 3 %113 = getelementptr i8, i8* %5, i64 %112 %114 = load i8, i8* %113, align 1 %115 = sext i8 %114 to i32 %116 = or i64 %100, 4 %117 = getelementptr i8, i8* %5, i64 %116 %118 = load i8, i8* %117, align 4 %119 = sext i8 %118 to i32 %120 = or i64 %100, 5 %121 = getelementptr i8, i8* %5, i64 %120 %122 = load i8, i8* %121, align 1 %123 = sext i8 %122 to i32 %124 = or i64 %100, 6 %125 = getelementptr i8, i8* %5, i64 %124 %126 = load i8, i8* %125, align 2 %127 = sext i8 %126 to i32 %128 = or i64 %100, 7 %129 = getelementptr i8, i8* %5, i64 %128 %130 = load i8, i8* %129, align 1 %131 = sext i8 %130 to i32 %132 = or i64 %100, 8 %133 = getelementptr i8, i8* %5, i64 %132 %134 = load i8, i8* %133, align 8 %135 = sext i8 %134 to i32 %136 = or i64 %100, 9 %137 = getelementptr i8, i8* %5, i64 %136 %138 = load i8, i8* %137, align 1 %139 = sext i8 %138 to i32 %140 = or i64 %100, 10 %141 = getelementptr i8, i8* %5, i64 %140 %142 = load i8, i8* %141, align 2 %143 = sext i8 %142 to i32 %144 = or i64 %100, 11 %145 = getelementptr i8, i8* %5, i64 %144 %146 = load i8, i8* %145, align 1 %147 = sext i8 %146 to i32 %148 = or i64 %100, 12 %149 = getelementptr i8, i8* %5, i64 %148 %150 = load i8, i8* %149, align 4 %151 = sext i8 %150 to i32 %152 = or i64 %100, 13 %153 = getelementptr i8, i8* %5, i64 %152 %154 = load i8, i8* %153, align 1 %155 = sext i8 %154 to i32 %156 = or i64 %100, 14 %157 = getelementptr i8, i8* %5, i64 %156 %158 = load i8, i8* %157, align 2 %159 = sext i8 %158 to i32 %160 = or i64 %100, 15 %161 = getelementptr i8, i8* %5, i64 %160 %162 = load i8, i8* %161, align 1 %163 = sext i8 %162 to i32 br label %.preheader.us, !dbg !172 .preheader38: ; preds = %.preheader38.preheader, %.preheader38 %lsr.iv127 = phi i32* [ %scevgep126, %.preheader38.preheader ], [ %scevgep128, %.preheader38 ] %lsr.iv93 = phi i32* [ %scevgep, %.preheader38.preheader ], [ %scevgep94, %.preheader38 ] %lsr.iv91 = phi i64 [ %smin90, %.preheader38.preheader ], [ %lsr.iv.next92, %.preheader38 ] %scevgep95 = getelementptr i32, i32* %lsr.iv93, i64 -16, !dbg !172 %164 = load i32, i32* %scevgep95, align 128, !dbg !172 %scevgep130 = getelementptr i32, i32* %lsr.iv127, i64 -16, !dbg !172 store i32 %164, i32* %scevgep130, align 128, !dbg !172 %scevgep97 = getelementptr i32, i32* %lsr.iv93, i64 -15, !dbg !172 %165 = load i32, i32* %scevgep97, align 4, !dbg !172 %scevgep131 = getelementptr i32, i32* %lsr.iv127, i64 -15, !dbg !172 store i32 %165, i32* %scevgep131, align 4, !dbg !172 %scevgep98 = getelementptr i32, i32* %lsr.iv93, i64 -14, !dbg !172 %166 = load i32, i32* %scevgep98, align 8, !dbg !172 %scevgep132 = getelementptr i32, i32* %lsr.iv127, i64 -14, !dbg !172 store i32 %166, i32* %scevgep132, align 8, !dbg !172 %scevgep99 = getelementptr i32, i32* %lsr.iv93, i64 -13, !dbg !172 %167 = load i32, i32* %scevgep99, align 4, !dbg !172 %scevgep133 = getelementptr i32, i32* %lsr.iv127, i64 -13, !dbg !172 store i32 %167, i32* %scevgep133, align 4, !dbg !172 %scevgep100 = getelementptr i32, i32* %lsr.iv93, i64 -12, !dbg !172 %168 = load i32, i32* %scevgep100, align 16, !dbg !172 %scevgep134 = getelementptr i32, i32* %lsr.iv127, i64 -12, !dbg !172 store i32 %168, i32* %scevgep134, align 16, !dbg !172 %scevgep101 = getelementptr i32, i32* %lsr.iv93, i64 -11, !dbg !172 %169 = load i32, i32* %scevgep101, align 4, !dbg !172 %scevgep135 = getelementptr i32, i32* %lsr.iv127, i64 -11, !dbg !172 store i32 %169, i32* %scevgep135, align 4, !dbg !172 %scevgep102 = getelementptr i32, i32* %lsr.iv93, i64 -10, !dbg !172 %170 = load i32, i32* %scevgep102, align 8, !dbg !172 %scevgep136 = getelementptr i32, i32* %lsr.iv127, i64 -10, !dbg !172 store i32 %170, i32* %scevgep136, align 8, !dbg !172 %scevgep103 = getelementptr i32, i32* %lsr.iv93, i64 -9, !dbg !172 %171 = load i32, i32* %scevgep103, align 4, !dbg !172 %scevgep137 = getelementptr i32, i32* %lsr.iv127, i64 -9, !dbg !172 store i32 %171, i32* %scevgep137, align 4, !dbg !172 %scevgep104 = getelementptr i32, i32* %lsr.iv93, i64 -8, !dbg !172 %172 = load i32, i32* %scevgep104, align 32, !dbg !172 %scevgep138 = getelementptr i32, i32* %lsr.iv127, i64 -8, !dbg !172 store i32 %172, i32* %scevgep138, align 32, !dbg !172 %scevgep105 = getelementptr i32, i32* %lsr.iv93, i64 -7, !dbg !172 %173 = load i32, i32* %scevgep105, align 4, !dbg !172 %scevgep139 = getelementptr i32, i32* %lsr.iv127, i64 -7, !dbg !172 store i32 %173, i32* %scevgep139, align 4, !dbg !172 %scevgep106 = getelementptr i32, i32* %lsr.iv93, i64 -6, !dbg !172 %174 = load i32, i32* %scevgep106, align 8, !dbg !172 %scevgep140 = getelementptr i32, i32* %lsr.iv127, i64 -6, !dbg !172 store i32 %174, i32* %scevgep140, align 8, !dbg !172 %scevgep107 = getelementptr i32, i32* %lsr.iv93, i64 -5, !dbg !172 %175 = load i32, i32* %scevgep107, align 4, !dbg !172 %scevgep141 = getelementptr i32, i32* %lsr.iv127, i64 -5, !dbg !172 store i32 %175, i32* %scevgep141, align 4, !dbg !172 %scevgep108 = getelementptr i32, i32* %lsr.iv93, i64 -4, !dbg !172 %176 = load i32, i32* %scevgep108, align 16, !dbg !172 %scevgep142 = getelementptr i32, i32* %lsr.iv127, i64 -4, !dbg !172 store i32 %176, i32* %scevgep142, align 16, !dbg !172 %scevgep109 = getelementptr i32, i32* %lsr.iv93, i64 -3, !dbg !172 %177 = load i32, i32* %scevgep109, align 4, !dbg !172 %scevgep143 = getelementptr i32, i32* %lsr.iv127, i64 -3, !dbg !172 store i32 %177, i32* %scevgep143, align 4, !dbg !172 %scevgep110 = getelementptr i32, i32* %lsr.iv93, i64 -2, !dbg !172 %178 = load i32, i32* %scevgep110, align 8, !dbg !172 %scevgep144 = getelementptr i32, i32* %lsr.iv127, i64 -2, !dbg !172 store i32 %178, i32* %scevgep144, align 8, !dbg !172 %scevgep111 = getelementptr i32, i32* %lsr.iv93, i64 -1, !dbg !172 %179 = load i32, i32* %scevgep111, align 4, !dbg !172 %scevgep145 = getelementptr i32, i32* %lsr.iv127, i64 -1, !dbg !172 store i32 %179, i32* %scevgep145, align 4, !dbg !172 %180 = load i32, i32* %lsr.iv93, align 64, !dbg !172 store i32 %180, i32* %lsr.iv127, align 64, !dbg !172 %scevgep113 = getelementptr i32, i32* %lsr.iv93, i64 1, !dbg !172 %181 = load i32, i32* %scevgep113, align 4, !dbg !172 %scevgep146 = getelementptr i32, i32* %lsr.iv127, i64 1, !dbg !172 store i32 %181, i32* %scevgep146, align 4, !dbg !172 %scevgep114 = getelementptr i32, i32* %lsr.iv93, i64 2, !dbg !172 %182 = load i32, i32* %scevgep114, align 8, !dbg !172 %scevgep147 = getelementptr i32, i32* %lsr.iv127, i64 2, !dbg !172 store i32 %182, i32* %scevgep147, align 8, !dbg !172 %scevgep115 = getelementptr i32, i32* %lsr.iv93, i64 3, !dbg !172 %183 = load i32, i32* %scevgep115, align 4, !dbg !172 %scevgep148 = getelementptr i32, i32* %lsr.iv127, i64 3, !dbg !172 store i32 %183, i32* %scevgep148, align 4, !dbg !172 %scevgep116 = getelementptr i32, i32* %lsr.iv93, i64 4, !dbg !172 %184 = load i32, i32* %scevgep116, align 16, !dbg !172 %scevgep149 = getelementptr i32, i32* %lsr.iv127, i64 4, !dbg !172 store i32 %184, i32* %scevgep149, align 16, !dbg !172 %scevgep117 = getelementptr i32, i32* %lsr.iv93, i64 5, !dbg !172 %185 = load i32, i32* %scevgep117, align 4, !dbg !172 %scevgep150 = getelementptr i32, i32* %lsr.iv127, i64 5, !dbg !172 store i32 %185, i32* %scevgep150, align 4, !dbg !172 %scevgep118 = getelementptr i32, i32* %lsr.iv93, i64 6, !dbg !172 %186 = load i32, i32* %scevgep118, align 8, !dbg !172 %scevgep151 = getelementptr i32, i32* %lsr.iv127, i64 6, !dbg !172 store i32 %186, i32* %scevgep151, align 8, !dbg !172 %scevgep119 = getelementptr i32, i32* %lsr.iv93, i64 7, !dbg !172 %187 = load i32, i32* %scevgep119, align 4, !dbg !172 %scevgep152 = getelementptr i32, i32* %lsr.iv127, i64 7, !dbg !172 store i32 %187, i32* %scevgep152, align 4, !dbg !172 %scevgep120 = getelementptr i32, i32* %lsr.iv93, i64 8, !dbg !172 %188 = load i32, i32* %scevgep120, align 32, !dbg !172 %scevgep153 = getelementptr i32, i32* %lsr.iv127, i64 8, !dbg !172 store i32 %188, i32* %scevgep153, align 32, !dbg !172 %scevgep121 = getelementptr i32, i32* %lsr.iv93, i64 9, !dbg !172 %189 = load i32, i32* %scevgep121, align 4, !dbg !172 %scevgep154 = getelementptr i32, i32* %lsr.iv127, i64 9, !dbg !172 store i32 %189, i32* %scevgep154, align 4, !dbg !172 %scevgep122 = getelementptr i32, i32* %lsr.iv93, i64 10, !dbg !172 %190 = load i32, i32* %scevgep122, align 8, !dbg !172 %scevgep155 = getelementptr i32, i32* %lsr.iv127, i64 10, !dbg !172 store i32 %190, i32* %scevgep155, align 8, !dbg !172 %scevgep123 = getelementptr i32, i32* %lsr.iv93, i64 11, !dbg !172 %191 = load i32, i32* %scevgep123, align 4, !dbg !172 %scevgep156 = getelementptr i32, i32* %lsr.iv127, i64 11, !dbg !172 store i32 %191, i32* %scevgep156, align 4, !dbg !172 %scevgep124 = getelementptr i32, i32* %lsr.iv93, i64 12, !dbg !172 %192 = load i32, i32* %scevgep124, align 16, !dbg !172 %scevgep157 = getelementptr i32, i32* %lsr.iv127, i64 12, !dbg !172 store i32 %192, i32* %scevgep157, align 16, !dbg !172 %scevgep125 = getelementptr i32, i32* %lsr.iv93, i64 13, !dbg !172 %193 = load i32, i32* %scevgep125, align 4, !dbg !172 %scevgep158 = getelementptr i32, i32* %lsr.iv127, i64 13, !dbg !172 store i32 %193, i32* %scevgep158, align 4, !dbg !172 %scevgep112 = getelementptr i32, i32* %lsr.iv93, i64 14, !dbg !172 %194 = load i32, i32* %scevgep112, align 8, !dbg !172 %scevgep159 = getelementptr i32, i32* %lsr.iv127, i64 14, !dbg !172 store i32 %194, i32* %scevgep159, align 8, !dbg !172 %scevgep96 = getelementptr i32, i32* %lsr.iv93, i64 15, !dbg !172 %195 = load i32, i32* %scevgep96, align 4, !dbg !172 %scevgep129 = getelementptr i32, i32* %lsr.iv127, i64 15, !dbg !172 store i32 %195, i32* %scevgep129, align 4, !dbg !172 %lsr.iv.next92 = add nsw i64 %lsr.iv91, -1, !dbg !172 %scevgep94 = getelementptr i32, i32* %lsr.iv93, i64 32, !dbg !172 %scevgep128 = getelementptr i32, i32* %lsr.iv127, i64 32, !dbg !172 %exitcond49.not = icmp eq i64 %lsr.iv.next92, 0, !dbg !172 br i1 %exitcond49.not, label %.preheader35.lr.ph.us.preheader, label %.preheader38, !dbg !172 .preheader35.lr.ph.us.preheader: ; preds = %.preheader38 %scevgep167 = getelementptr i8, i8* %scevgep166, i64 %26, !dbg !172 br label %.preheader35.lr.ph.us, !dbg !172 .preheader36.lr.ph: ; preds = %._crit_edge.us %scevgep194 = getelementptr [128 x i8], [128 x i8]* @__constant_128xi8, i64 0, i64 %26, !dbg !175 %196 = shl nuw nsw i64 %26, 2, !dbg !175 %scevgep200 = getelementptr i8, i8* %scevgep199, i64 %196, !dbg !175 %scevgep204 = getelementptr i8, i8* %scevgep203, i64 %196, !dbg !175 %scevgep208 = getelementptr i8, i8* %scevgep207, i64 %196, !dbg !175 %scevgep213 = getelementptr i8, i8* %scevgep212, i64 %26, !dbg !175 br label %.preheader36, !dbg !175 .preheader36: ; preds = %.preheader36.lr.ph, %225 %lsr.iv214 = phi i8* [ %scevgep213, %.preheader36.lr.ph ], [ %scevgep215, %225 ] %lsr.iv189 = phi i32* [ %27, %.preheader36.lr.ph ], [ %scevgep190, %225 ] %197 = phi i64 [ 0, %.preheader36.lr.ph ], [ %226, %225 ] %198 = bitcast i8* %scevgep194 to [128 x i8]*, !dbg !175 br label %199, !dbg !175 199: ; preds = %.preheader36, %199 %lsr.iv216 = phi i8* [ %lsr.iv214, %.preheader36 ], [ %scevgep217, %199 ] %lsr.iv196 = phi [128 x i8]* [ %198, %.preheader36 ], [ %224, %199 ] %lsr.iv187 = phi i64 [ 0, %.preheader36 ], [ %lsr.iv.next188, %199 ] %200 = bitcast i32* %lsr.iv189 to i8* %lsr.iv196198 = bitcast [128 x i8]* %lsr.iv196 to i8*, !dbg !175 %scevgep209 = getelementptr i8, i8* %scevgep208, i64 %lsr.iv187, !dbg !175 %scevgep209210 = bitcast i8* %scevgep209 to i32*, !dbg !175 %201 = load i32, i32* %scevgep209210, align 4, !dbg !175 %uglygep192 = getelementptr i8, i8* %200, i64 %lsr.iv187, !dbg !175 %uglygep192193 = bitcast i8* %uglygep192 to i32*, !dbg !175 %202 = load i32, i32* %uglygep192193, align 4, !dbg !175 %scevgep205 = getelementptr i8, i8* %scevgep204, i64 %lsr.iv187, !dbg !175 %scevgep205206 = bitcast i8* %scevgep205 to i32*, !dbg !175 %203 = load i32, i32* %scevgep205206, align 4, !dbg !175 %scevgep201 = getelementptr i8, i8* %scevgep200, i64 %lsr.iv187, !dbg !175 %scevgep201202 = bitcast i8* %scevgep201 to i32*, !dbg !175 %204 = load i32, i32* %scevgep201202, align 4, !dbg !175 %205 = load i8, i8* %lsr.iv196198, align 1, !dbg !175 %.neg = shl i32 %203, 7, !dbg !172 %206 = add i32 %202, %201, !dbg !172 %207 = add i32 %206, %.neg, !dbg !172 %208 = sext i32 %207 to i64, !dbg !175 %209 = sext i32 %204 to i64, !dbg !175 %210 = mul nsw i64 %208, %209, !dbg !175 %211 = zext i8 %205 to i64, !dbg !175 %212 = shl nuw i64 1, %211, !dbg !175 %213 = lshr i64 %212, 1, !dbg !175 %214 = add i64 %210, %213, !dbg !175 %215 = icmp sgt i32 %207, -1, !dbg !175 %216 = select i1 %215, i64 1073741824, i64 -1073741824, !dbg !175 %217 = add i64 %214, %216, !dbg !175 %218 = ashr i64 %217, %211, !dbg !175 %219 = trunc i64 %218 to i32, !dbg !175 %220 = add i32 %219, -128, !dbg !175 %221 = tail call i32 @llvm.smax.i32(i32 %220, i32 -128), !dbg !175 %222 = tail call i32 @llvm.smin.i32(i32 %221, i32 127), !dbg !175 %223 = trunc i32 %222 to i8, !dbg !175 store i8 %223, i8* %lsr.iv216, align 1, !dbg !175 %lsr.iv.next188 = add nuw nsw i64 %lsr.iv187, 4, !dbg !175 %scevgep197 = getelementptr [128 x i8], [128 x i8]* %lsr.iv196, i64 0, i64 1, !dbg !175 %224 = bitcast i8* %scevgep197 to [128 x i8]*, !dbg !175 %scevgep217 = getelementptr i8, i8* %lsr.iv216, i64 1, !dbg !175 %exitcond54.not = icmp eq i64 %lsr.iv.next188, 128, !dbg !175 br i1 %exitcond54.not, label %225, label %199, !dbg !175 225: ; preds = %199 %226 = add nuw nsw i64 %197, 1, !dbg !175 %scevgep190 = getelementptr i32, i32* %lsr.iv189, i64 32, !dbg !175 %scevgep215 = getelementptr i8, i8* %lsr.iv214, i64 128, !dbg !175 %exitcond56.not = icmp eq i64 %226, %smin55, !dbg !175 br i1 %exitcond56.not, label %._crit_edge, label %.preheader36, !dbg !175 ._crit_edge: ; preds = %225 br i1 %24, label %.preheader38.preheader, label %227, !dbg !175 227: ; preds = %._crit_edge %indvars.iv.next = add nsw i64 %indvars.iv, -8, !dbg !175 br i1 %18, label %.preheader40.preheader, label %228, !dbg !175 228: ; preds = %227 ret i32 0, !dbg !175 } ; Function Attrs: nofree nosync nounwind define internal i32 @main_dispatch_33(%iree_hal_executable_environment_v0_t* noalias nocapture nonnull readnone byref(%iree_hal_executable_environment_v0_t) align 16 %0, %iree_hal_executable_dispatch_state_v0_t* noalias nocapture nonnull readonly byref(%iree_hal_executable_dispatch_state_v0_t) align 16 %1, %iree_hal_executable_workgroup_state_v0_t* noalias nocapture nonnull readonly byref(%iree_hal_executable_workgroup_state_v0_t) align 16 %2) #0 !dbg !176 { .preheader23: %.elt17 = getelementptr inbounds %iree_hal_executable_dispatch_state_v0_t, %iree_hal_executable_dispatch_state_v0_t* %1, i64 0, i32 9, !dbg !177 %.unpack18 = load i32*, i32** %.elt17, align 8, !dbg !177 %.elt19 = getelementptr inbounds %iree_hal_executable_dispatch_state_v0_t, %iree_hal_executable_dispatch_state_v0_t* %1, i64 0, i32 10, !dbg !177 %.unpack20 = load i8**, i8*** %.elt19, align 16, !dbg !177 %3 = load i32, i32* %.unpack18, align 4, !dbg !177 %4 = getelementptr i32, i32* %.unpack18, i64 1, !dbg !180 %5 = load i32, i32* %4, align 4, !dbg !180 %6 = sext i32 %3 to i64, !dbg !177 %7 = sext i32 %5 to i64, !dbg !180 %8 = load i8*, i8** %.unpack20, align 8, !dbg !177 %9 = getelementptr i8*, i8** %.unpack20, i64 1, !dbg !180 %10 = load i8*, i8** %9, align 8, !dbg !180 %11 = load %iree_hal_executable_workgroup_state_v0_t, %iree_hal_executable_workgroup_state_v0_t* %2, align 16, !dbg !180 %12 = extractvalue %iree_hal_executable_workgroup_state_v0_t %11, 0, !dbg !180 %13 = zext i32 %12 to i64, !dbg !180 %14 = extractvalue %iree_hal_executable_workgroup_state_v0_t %11, 1, !dbg !180 %15 = zext i32 %14 to i64, !dbg !180 %16 = extractvalue %iree_hal_executable_workgroup_state_v0_t %11, 2, !dbg !180 %17 = zext i16 %16 to i64, !dbg !180 %18 = shl nuw nsw i64 %13, 5, !dbg !180 %19 = mul nuw nsw i64 %17, 1536, !dbg !180 %20 = mul nuw nsw i64 %15, 768, !dbg !180 %21 = shl nuw nsw i64 %17, 11, !dbg !180 %22 = add i64 %21, %20, !dbg !180 %23 = add i64 %22, %18, !dbg !180 %24 = add i64 %23, %7, !dbg !180 %25 = add i64 %24, 1168, !dbg !180 %scevgep38 = getelementptr i8, i8* %10, i64 %25, !dbg !180 %26 = add i64 %19, %20, !dbg !180 %27 = add i64 %26, %18, !dbg !180 %28 = add i64 %27, %6, !dbg !180 %scevgep44 = getelementptr i8, i8* %8, i64 %28, !dbg !180 br label %.preheader, !dbg !180 .preheader: ; preds = %.preheader23, %.preheader %lsr.iv36 = phi i64 [ 0, %.preheader23 ], [ %lsr.iv.next37, %.preheader ] %scevgep45 = getelementptr i8, i8* %scevgep44, i64 %lsr.iv36, !dbg !180 %scevgep4546 = bitcast i8* %scevgep45 to <16 x i8>*, !dbg !180 %29 = load <16 x i8>, <16 x i8>* %scevgep4546, align 32, !dbg !180 %scevgep41 = getelementptr i8, i8* %scevgep38, i64 %lsr.iv36, !dbg !180 %scevgep4142 = bitcast i8* %scevgep41 to <16 x i8>*, !dbg !180 %scevgep43 = getelementptr <16 x i8>, <16 x i8>* %scevgep4142, i64 -1, !dbg !180 store <16 x i8> %29, <16 x i8>* %scevgep43, align 1, !dbg !180 %scevgep47 = getelementptr i8, i8* %scevgep44, i64 %lsr.iv36, !dbg !180 %scevgep4748 = bitcast i8* %scevgep47 to <16 x i8>*, !dbg !180 %scevgep49 = getelementptr <16 x i8>, <16 x i8>* %scevgep4748, i64 1, !dbg !180 %30 = load <16 x i8>, <16 x i8>* %scevgep49, align 1, !dbg !180 %scevgep39 = getelementptr i8, i8* %scevgep38, i64 %lsr.iv36, !dbg !180 %scevgep3940 = bitcast i8* %scevgep39 to <16 x i8>*, !dbg !180 store <16 x i8> %30, <16 x i8>* %scevgep3940, align 1, !dbg !180 %lsr.iv.next37 = add nuw nsw i64 %lsr.iv36, 128, !dbg !180 %exitcond.not = icmp eq i64 %lsr.iv.next37, 768, !dbg !180 br i1 %exitcond.not, label %.preheader23.1, label %.preheader, !dbg !180 .preheader23.1: ; preds = %.preheader %31 = add i64 %19, %20, !dbg !180 %32 = add i64 %31, %18, !dbg !180 %33 = add i64 %32, %6, !dbg !180 %34 = add i64 %33, 784, !dbg !180 %scevgep = getelementptr i8, i8* %8, i64 %34, !dbg !180 %35 = add i64 %21, %20, !dbg !180 %36 = add i64 %35, %18, !dbg !180 %37 = add i64 %36, %7, !dbg !180 %38 = add i64 %37, 2176, !dbg !180 %scevgep30 = getelementptr i8, i8* %10, i64 %38, !dbg !180 br label %.preheader.1, !dbg !180 .preheader.1: ; preds = %.preheader.1, %.preheader23.1 %lsr.iv = phi i64 [ %lsr.iv.next, %.preheader.1 ], [ 0, %.preheader23.1 ] %scevgep27 = getelementptr i8, i8* %scevgep, i64 %lsr.iv, !dbg !180 %scevgep2728 = bitcast i8* %scevgep27 to <16 x i8>*, !dbg !180 %scevgep29 = getelementptr <16 x i8>, <16 x i8>* %scevgep2728, i64 -1, !dbg !180 %39 = load <16 x i8>, <16 x i8>* %scevgep29, align 1, !dbg !180 %scevgep31 = getelementptr i8, i8* %scevgep30, i64 %lsr.iv, !dbg !180 %scevgep3132 = bitcast i8* %scevgep31 to <16 x i8>*, !dbg !180 store <16 x i8> %39, <16 x i8>* %scevgep3132, align 1, !dbg !180 %scevgep25 = getelementptr i8, i8* %scevgep, i64 %lsr.iv, !dbg !180 %scevgep2526 = bitcast i8* %scevgep25 to <16 x i8>*, !dbg !180 %40 = load <16 x i8>, <16 x i8>* %scevgep2526, align 1, !dbg !180 %scevgep33 = getelementptr i8, i8* %scevgep30, i64 %lsr.iv, !dbg !180 %scevgep3334 = bitcast i8* %scevgep33 to <16 x i8>*, !dbg !180 %scevgep35 = getelementptr <16 x i8>, <16 x i8>* %scevgep3334, i64 1, !dbg !180 store <16 x i8> %40, <16 x i8>* %scevgep35, align 1, !dbg !180 %lsr.iv.next = add nuw nsw i64 %lsr.iv, 128, !dbg !180 %exitcond.1.not = icmp eq i64 %lsr.iv.next, 768, !dbg !180 br i1 %exitcond.1.not, label %41, label %.preheader.1, !dbg !180 41: ; preds = %.preheader.1 ret i32 0, !dbg !180 } ; Function Attrs: nofree nosync nounwind define internal i32 @main_dispatch_34(%iree_hal_executable_environment_v0_t* noalias nocapture nonnull readnone byref(%iree_hal_executable_environment_v0_t) align 16 %0, %iree_hal_executable_dispatch_state_v0_t* noalias nocapture nonnull readonly byref(%iree_hal_executable_dispatch_state_v0_t) align 16 %1, %iree_hal_executable_workgroup_state_v0_t* noalias nocapture nonnull readonly byref(%iree_hal_executable_workgroup_state_v0_t) align 16 %2) #0 !dbg !181 { %.elt11 = getelementptr inbounds %iree_hal_executable_dispatch_state_v0_t, %iree_hal_executable_dispatch_state_v0_t* %1, i64 0, i32 4, !dbg !182 %.unpack12 = load i32, i32* %.elt11, align 4, !dbg !182 %4 = zext i32 %.unpack12 to i64, !dbg !182 %.elt13 = getelementptr inbounds %iree_hal_executable_dispatch_state_v0_t, %iree_hal_executable_dispatch_state_v0_t* %1, i64 0, i32 5, !dbg !182 %.unpack14 = load i32, i32* %.elt13, align 16, !dbg !182 %5 = zext i32 %.unpack14 to i64, !dbg !182 %.elt15 = getelementptr inbounds %iree_hal_executable_dispatch_state_v0_t, %iree_hal_executable_dispatch_state_v0_t* %1, i64 0, i32 6, !dbg !182 %.unpack16 = load i16, i16* %.elt15, align 4, !dbg !182 %.elt21 = getelementptr inbounds %iree_hal_executable_dispatch_state_v0_t, %iree_hal_executable_dispatch_state_v0_t* %1, i64 0, i32 9, !dbg !182 %.unpack22 = load i32*, i32** %.elt21, align 8, !dbg !182 %.elt23 = getelementptr inbounds %iree_hal_executable_dispatch_state_v0_t, %iree_hal_executable_dispatch_state_v0_t* %1, i64 0, i32 10, !dbg !182 %.unpack24 = load i8**, i8*** %.elt23, align 16, !dbg !182 %6 = load i32, i32* %.unpack22, align 4, !dbg !182 %7 = getelementptr i32, i32* %.unpack22, i64 1, !dbg !182 %8 = load i32, i32* %7, align 4, !dbg !182 %9 = getelementptr i32, i32* %.unpack22, i64 2, !dbg !182 %10 = load i32, i32* %9, align 4, !dbg !182 %11 = sext i32 %6 to i64, !dbg !182 %12 = sext i32 %8 to i64, !dbg !182 %13 = sext i32 %10 to i64, !dbg !182 %14 = load i8*, i8** %.unpack24, align 8, !dbg !182 %15 = getelementptr i8*, i8** %.unpack24, i64 1, !dbg !182 %16 = load i8*, i8** %15, align 8, !dbg !182 %17 = getelementptr i8*, i8** %.unpack24, i64 2, !dbg !182 %18 = load i8*, i8** %17, align 8, !dbg !182 %19 = load %iree_hal_executable_workgroup_state_v0_t, %iree_hal_executable_workgroup_state_v0_t* %2, align 16, !dbg !182 %20 = extractvalue %iree_hal_executable_workgroup_state_v0_t %19, 2, !dbg !182 %21 = zext i16 %20 to i64, !dbg !182 %22 = zext i16 %.unpack16 to i64, !dbg !182 %23 = shl nuw nsw i64 %21, 1, !dbg !182 %24 = shl nuw nsw i64 %22, 1, !dbg !182 %25 = icmp ult i16 %20, 3, !dbg !182 br i1 %25, label %.lr.ph, label %._crit_edge, !dbg !182 .lr.ph: ; preds = %3 %26 = extractvalue %iree_hal_executable_workgroup_state_v0_t %19, 1, !dbg !182 %27 = zext i32 %26 to i64, !dbg !182 %28 = extractvalue %iree_hal_executable_workgroup_state_v0_t %19, 0, !dbg !182 %29 = zext i32 %28 to i64, !dbg !182 %30 = mul nuw nsw i64 %27, 3 %31 = mul nuw nsw i64 %5, 3 %32 = icmp ult i64 %30, 6 %33 = shl i64 %29, 6 %34 = shl i64 %4, 6 br i1 %32, label %.lr.ph.split.us, label %.lr.ph.split.preheader, !dbg !182 .lr.ph.split.preheader: ; preds = %.lr.ph br label %.lr.ph.split, !dbg !182 .lr.ph.split.us: ; preds = %.lr.ph %35 = icmp ult i32 %28, 2 br i1 %35, label %.lr.ph34.us.us.preheader, label %.lr.ph34.us.preheader, !dbg !182 .lr.ph34.us.preheader: ; preds = %.lr.ph.split.us br label %.lr.ph34.us, !dbg !182 .lr.ph34.us.us.preheader: ; preds = %.lr.ph.split.us %const385 = bitcast i64 6144 to i64, !dbg !182 %const = bitcast i64 2048 to i64, !dbg !182 %36 = mul nuw nsw i64 %21, 1536, !dbg !182 %37 = mul i64 %27, 384, !dbg !182 %38 = add i64 %36, %37, !dbg !182 %39 = add i64 %38, %33, !dbg !182 %40 = shl nuw nsw i64 %39, 2, !dbg !182 %41 = add i64 %40, %13, !dbg !182 %scevgep = getelementptr i8, i8* %18, i64 %41, !dbg !182 %42 = mul i64 %22, %const385, !dbg !182 %43 = mul i64 %5, 1536, !dbg !182 %44 = shl i64 %4, 8, !dbg !182 %45 = mul i64 %21, %const385, !dbg !182 %46 = mul i64 %27, 1536, !dbg !182 %47 = add i64 %45, %46, !dbg !182 %48 = shl i64 %29, 8, !dbg !182 %49 = add i64 %47, %48, !dbg !182 %50 = add i64 %49, %13, !dbg !182 %51 = add i64 %50, 128, !dbg !182 %scevgep70 = getelementptr i8, i8* %18, i64 %51, !dbg !182 %52 = shl i64 %21, 11, !dbg !182 %53 = add i64 %52, %37, !dbg !182 %54 = add i64 %53, %33, !dbg !182 %55 = add i64 %54, %11, !dbg !182 %56 = add i64 %55, 1152, !dbg !182 %scevgep276 = getelementptr i8, i8* %14, i64 %56, !dbg !182 %57 = shl i64 %22, 11, !dbg !182 %58 = mul i64 %5, 384, !dbg !182 %59 = add i64 %33, %12, !dbg !182 %60 = add i64 %59, 512, !dbg !182 %scevgep298 = getelementptr i8, i8* %16, i64 %60, !dbg !182 %61 = add i64 %45, %46, !dbg !182 %62 = add i64 %61, %48, !dbg !182 %63 = add i64 %62, %13, !dbg !182 %const_mat = add i64 %const, 1024, !dbg !182 %64 = add i64 %63, %const_mat, !dbg !182 %scevgep312 = getelementptr i8, i8* %18, i64 %64, !dbg !182 %65 = add i64 %52, %37, !dbg !182 %66 = add i64 %65, %33, !dbg !182 %67 = add i64 %66, %11, !dbg !182 %68 = add i64 %67, %const, !dbg !182 %scevgep327 = getelementptr i8, i8* %14, i64 %68, !dbg !182 %const_mat384 = add i64 %const, 1280, !dbg !182 %69 = add i64 %67, %const_mat384, !dbg !182 %scevgep346 = getelementptr i8, i8* %14, i64 %69, !dbg !182 br label %.lr.ph34.us.us, !dbg !182 .lr.ph34.us.us: ; preds = %.lr.ph34.us.us.preheader, %._crit_edge35.split.us.us.us %lsr.iv347 = phi i8* [ %scevgep346, %.lr.ph34.us.us.preheader ], [ %256, %._crit_edge35.split.us.us.us ] %lsr.iv328 = phi i8* [ %scevgep327, %.lr.ph34.us.us.preheader ], [ %255, %._crit_edge35.split.us.us.us ] %lsr.iv313 = phi i8* [ %scevgep312, %.lr.ph34.us.us.preheader ], [ %254, %._crit_edge35.split.us.us.us ] %lsr.iv277 = phi i8* [ %scevgep276, %.lr.ph34.us.us.preheader ], [ %253, %._crit_edge35.split.us.us.us ] %lsr.iv71 = phi i8* [ %scevgep70, %.lr.ph34.us.us.preheader ], [ %252, %._crit_edge35.split.us.us.us ] %lsr.iv57 = phi i8* [ %scevgep, %.lr.ph34.us.us.preheader ], [ %251, %._crit_edge35.split.us.us.us ] %70 = phi i64 [ %250, %._crit_edge35.split.us.us.us ], [ %23, %.lr.ph34.us.us.preheader ] br label %.lr.ph.us.us.us, !dbg !182 .lr.ph.us.us.us: ; preds = %._crit_edge.us.us.us, %.lr.ph34.us.us %lsr.iv350 = phi i8* [ %242, %._crit_edge.us.us.us ], [ %lsr.iv347, %.lr.ph34.us.us ] %lsr.iv331 = phi i8* [ %241, %._crit_edge.us.us.us ], [ %lsr.iv328, %.lr.ph34.us.us ] %lsr.iv316 = phi i8* [ %240, %._crit_edge.us.us.us ], [ %lsr.iv313, %.lr.ph34.us.us ] %lsr.iv280 = phi i8* [ %239, %._crit_edge.us.us.us ], [ %lsr.iv277, %.lr.ph34.us.us ] %lsr.iv74 = phi i8* [ %238, %._crit_edge.us.us.us ], [ %lsr.iv71, %.lr.ph34.us.us ] %lsr.iv60 = phi i8* [ %237, %._crit_edge.us.us.us ], [ %lsr.iv57, %.lr.ph34.us.us ] %71 = phi i64 [ %30, %.lr.ph34.us.us ], [ %236, %._crit_edge.us.us.us ] br label %72, !dbg !182 72: ; preds = %143, %.lr.ph.us.us.us %lsr.iv353 = phi i8* [ %158, %143 ], [ %lsr.iv350, %.lr.ph.us.us.us ] %lsr.iv334 = phi i8* [ %157, %143 ], [ %lsr.iv331, %.lr.ph.us.us.us ] %lsr.iv319 = phi i8* [ %156, %143 ], [ %lsr.iv316, %.lr.ph.us.us.us ] %lsr.iv299 = phi i8* [ %155, %143 ], [ %scevgep298, %.lr.ph.us.us.us ] %lsr.iv283 = phi i8* [ %154, %143 ], [ %lsr.iv280, %.lr.ph.us.us.us ] %lsr.iv77 = phi i8* [ %153, %143 ], [ %lsr.iv74, %.lr.ph.us.us.us ] %lsr.iv63 = phi i8* [ %152, %143 ], [ %lsr.iv60, %.lr.ph.us.us.us ] %73 = phi i64 [ %33, %.lr.ph.us.us.us ], [ %151, %143 ] br label %.preheader31.us.us.us, !dbg !182 .preheader30.us.us.us.1: ; preds = %160 br label %.preheader28.us.us.us.1, !dbg !182 .preheader28.us.us.us.1: ; preds = %142, %.preheader30.us.us.us.1 %lsr.iv356 = phi i8* [ %scevgep357, %142 ], [ %lsr.iv353, %.preheader30.us.us.us.1 ] %lsr.iv337 = phi i8* [ %scevgep338, %142 ], [ %lsr.iv334, %.preheader30.us.us.us.1 ] %lsr.iv322 = phi i8* [ %scevgep323, %142 ], [ %lsr.iv319, %.preheader30.us.us.us.1 ] %74 = phi i64 [ 0, %.preheader30.us.us.us.1 ], [ %75, %142 ] %75 = add nuw nsw i64 %74, 1 br label %.preheader27.us.us.us.1, !dbg !182 .preheader27.us.us.us.1: ; preds = %.preheader27.us.us.us.1, %.preheader28.us.us.us.1 %lsr.iv324 = phi i8* [ %scevgep325, %.preheader27.us.us.us.1 ], [ %lsr.iv322, %.preheader28.us.us.us.1 ] %76 = phi i64 [ 0, %.preheader28.us.us.us.1 ], [ %141, %.preheader27.us.us.us.1 ] %lsr.iv324326 = bitcast i8* %lsr.iv324 to i32* %scevgep340 = getelementptr i8, i8* %lsr.iv337, i64 %76, !dbg !182 %scevgep341 = getelementptr i8, i8* %scevgep340, i64 -1024, !dbg !182 %77 = load i8, i8* %scevgep341, align 1, !dbg !182 %scevgep368 = getelementptr i8, i8* %lsr.iv299, i64 %76, !dbg !182 %scevgep369 = getelementptr i8, i8* %scevgep368, i64 -512, !dbg !182 %78 = load i8, i8* %scevgep369, align 1, !dbg !182 %79 = load i32, i32* %lsr.iv324326, align 4, !dbg !182 %80 = sext i8 %77 to i32 %81 = add nsw i32 %80, 128 %82 = sext i8 %78 to i32 %83 = mul nsw i32 %81, %82 %84 = add i32 %83, %79 store i32 %84, i32* %lsr.iv324326, align 4, !dbg !182 %scevgep342 = getelementptr i8, i8* %lsr.iv337, i64 %76, !dbg !182 %scevgep343 = getelementptr i8, i8* %scevgep342, i64 -896, !dbg !182 %85 = load i8, i8* %scevgep343, align 1, !dbg !182 %scevgep376 = getelementptr i8, i8* %lsr.iv299, i64 %76, !dbg !182 %scevgep377 = getelementptr i8, i8* %scevgep376, i64 -384, !dbg !182 %86 = load i8, i8* %scevgep377, align 1, !dbg !182 %87 = sext i8 %85 to i32 %88 = add nsw i32 %87, 128 %89 = sext i8 %86 to i32 %90 = mul nsw i32 %88, %89 %91 = add i32 %90, %84 store i32 %91, i32* %lsr.iv324326, align 4, !dbg !182 %scevgep344 = getelementptr i8, i8* %lsr.iv337, i64 %76, !dbg !182 %scevgep345 = getelementptr i8, i8* %scevgep344, i64 -768, !dbg !182 %92 = load i8, i8* %scevgep345, align 1, !dbg !182 %scevgep378 = getelementptr i8, i8* %lsr.iv299, i64 %76, !dbg !182 %scevgep379 = getelementptr i8, i8* %scevgep378, i64 -256, !dbg !182 %93 = load i8, i8* %scevgep379, align 1, !dbg !182 %94 = sext i8 %92 to i32 %95 = add nsw i32 %94, 128 %96 = sext i8 %93 to i32 %97 = mul nsw i32 %95, %96 %98 = add i32 %97, %91 store i32 %98, i32* %lsr.iv324326, align 4, !dbg !182 %scevgep339 = getelementptr i8, i8* %lsr.iv337, i64 %76, !dbg !182 %99 = load i8, i8* %scevgep339, align 1, !dbg !182 %scevgep380 = getelementptr i8, i8* %lsr.iv299, i64 %76, !dbg !182 %scevgep381 = getelementptr i8, i8* %scevgep380, i64 -128, !dbg !182 %100 = load i8, i8* %scevgep381, align 1, !dbg !182 %101 = sext i8 %99 to i32 %102 = add nsw i32 %101, 128 %103 = sext i8 %100 to i32 %104 = mul nsw i32 %102, %103 %105 = add i32 %104, %98 store i32 %105, i32* %lsr.iv324326, align 4, !dbg !182 %scevgep359 = getelementptr i8, i8* %lsr.iv356, i64 %76, !dbg !182 %scevgep360 = getelementptr i8, i8* %scevgep359, i64 -1152, !dbg !182 %106 = load i8, i8* %scevgep360, align 1, !dbg !182 %scevgep367 = getelementptr i8, i8* %lsr.iv299, i64 %76, !dbg !182 %107 = load i8, i8* %scevgep367, align 1, !dbg !182 %108 = sext i8 %106 to i32 %109 = add nsw i32 %108, 128 %110 = sext i8 %107 to i32 %111 = mul nsw i32 %109, %110 %112 = add i32 %111, %105 store i32 %112, i32* %lsr.iv324326, align 4, !dbg !182 %scevgep361 = getelementptr i8, i8* %lsr.iv356, i64 %76, !dbg !182 %scevgep362 = getelementptr i8, i8* %scevgep361, i64 -1024, !dbg !182 %113 = load i8, i8* %scevgep362, align 1, !dbg !182 %scevgep374 = getelementptr i8, i8* %lsr.iv299, i64 %76, !dbg !182 %scevgep375 = getelementptr i8, i8* %scevgep374, i64 128, !dbg !182 %114 = load i8, i8* %scevgep375, align 1, !dbg !182 %115 = sext i8 %113 to i32 %116 = add nsw i32 %115, 128 %117 = sext i8 %114 to i32 %118 = mul nsw i32 %116, %117 %119 = add i32 %118, %112 store i32 %119, i32* %lsr.iv324326, align 4, !dbg !182 %scevgep363 = getelementptr i8, i8* %lsr.iv356, i64 %76, !dbg !182 %scevgep364 = getelementptr i8, i8* %scevgep363, i64 -256, !dbg !182 %120 = load i8, i8* %scevgep364, align 1, !dbg !182 %scevgep382 = getelementptr i8, i8* %lsr.iv299, i64 %76, !dbg !182 %scevgep383 = getelementptr i8, i8* %scevgep382, i64 256, !dbg !182 %121 = load i8, i8* %scevgep383, align 1, !dbg !182 %122 = sext i8 %120 to i32 %123 = add nsw i32 %122, 128 %124 = sext i8 %121 to i32 %125 = mul nsw i32 %123, %124 %126 = add i32 %125, %119 store i32 %126, i32* %lsr.iv324326, align 4, !dbg !182 %scevgep365 = getelementptr i8, i8* %lsr.iv356, i64 %76, !dbg !182 %scevgep366 = getelementptr i8, i8* %scevgep365, i64 -128, !dbg !182 %127 = load i8, i8* %scevgep366, align 1, !dbg !182 %scevgep372 = getelementptr i8, i8* %lsr.iv299, i64 %76, !dbg !182 %scevgep373 = getelementptr i8, i8* %scevgep372, i64 384, !dbg !182 %128 = load i8, i8* %scevgep373, align 1, !dbg !182 %129 = sext i8 %127 to i32 %130 = add nsw i32 %129, 128 %131 = sext i8 %128 to i32 %132 = mul nsw i32 %130, %131 %133 = add i32 %132, %126 store i32 %133, i32* %lsr.iv324326, align 4, !dbg !182 %scevgep358 = getelementptr i8, i8* %lsr.iv356, i64 %76, !dbg !182 %134 = load i8, i8* %scevgep358, align 1, !dbg !182 %scevgep370 = getelementptr i8, i8* %lsr.iv299, i64 %76, !dbg !182 %scevgep371 = getelementptr i8, i8* %scevgep370, i64 512, !dbg !182 %135 = load i8, i8* %scevgep371, align 1, !dbg !182 %136 = sext i8 %134 to i32 %137 = add nsw i32 %136, 128 %138 = sext i8 %135 to i32 %139 = mul nsw i32 %137, %138 %140 = add i32 %139, %133 store i32 %140, i32* %lsr.iv324326, align 4, !dbg !182 %141 = add nuw nsw i64 %76, 1, !dbg !182 %scevgep325 = getelementptr i8, i8* %lsr.iv324, i64 4, !dbg !182 %exitcond43.1.not = icmp eq i64 %141, 64, !dbg !182 br i1 %exitcond43.1.not, label %142, label %.preheader27.us.us.us.1, !dbg !182 142: ; preds = %.preheader27.us.us.us.1 %scevgep323 = getelementptr i8, i8* %lsr.iv322, i64 512, !dbg !182 %scevgep338 = getelementptr i8, i8* %lsr.iv337, i64 128, !dbg !182 %scevgep357 = getelementptr i8, i8* %lsr.iv356, i64 128, !dbg !182 %exitcond44.1.not = icmp eq i64 %75, 3, !dbg !182 br i1 %exitcond44.1.not, label %143, label %.preheader28.us.us.us.1, !dbg !182 143: ; preds = %142 %144 = bitcast i8* %lsr.iv77 to i1*, !dbg !182 %145 = bitcast i8* %lsr.iv63 to i1*, !dbg !182 %146 = bitcast i8* %lsr.iv299 to i1*, !dbg !182 %147 = bitcast i8* %lsr.iv283 to i1*, !dbg !182 %148 = bitcast i8* %lsr.iv353 to i1*, !dbg !182 %149 = bitcast i8* %lsr.iv334 to i1*, !dbg !182 %150 = bitcast i8* %lsr.iv319 to i1*, !dbg !182 %151 = add i64 %73, %34, !dbg !182 %scevgep65 = getelementptr i1, i1* %145, i64 %44, !dbg !182 %152 = bitcast i1* %scevgep65 to i8*, !dbg !182 %scevgep79 = getelementptr i1, i1* %144, i64 %44, !dbg !182 %153 = bitcast i1* %scevgep79 to i8*, !dbg !182 %scevgep285 = getelementptr i1, i1* %147, i64 %34, !dbg !182 %154 = bitcast i1* %scevgep285 to i8*, !dbg !182 %scevgep301 = getelementptr i1, i1* %146, i64 %34, !dbg !182 %155 = bitcast i1* %scevgep301 to i8*, !dbg !182 %scevgep321 = getelementptr i1, i1* %150, i64 %44, !dbg !182 %156 = bitcast i1* %scevgep321 to i8*, !dbg !182 %scevgep336 = getelementptr i1, i1* %149, i64 %34, !dbg !182 %157 = bitcast i1* %scevgep336 to i8*, !dbg !182 %scevgep355 = getelementptr i1, i1* %148, i64 %34, !dbg !182 %158 = bitcast i1* %scevgep355 to i8*, !dbg !182 %159 = icmp slt i64 %151, 128, !dbg !182 br i1 %159, label %72, label %._crit_edge.us.us.us, !dbg !182 160: ; preds = %.preheader27.us.us.us %scevgep271 = getelementptr i8, i8* %lsr.iv270, i64 512, !dbg !182 %scevgep287 = getelementptr i8, i8* %lsr.iv286, i64 128, !dbg !182 %exitcond44.not = icmp eq i64 %228, 3, !dbg !182 br i1 %exitcond44.not, label %.preheader30.us.us.us.1, label %.preheader28.us.us.us, !dbg !182 161: ; preds = %.preheader29.us.us.us %162 = add nuw nsw i64 %229, 1, !dbg !182 %scevgep67 = getelementptr i8, i8* %lsr.iv66, i64 3072, !dbg !182 %scevgep81 = getelementptr i8, i8* %lsr.iv80, i64 3072, !dbg !182 %exitcond40.not = icmp eq i64 %162, 2, !dbg !182 br i1 %exitcond40.not, label %.preheader28.us.us.us.preheader, label %.preheader31.us.us.us, !dbg !182 .preheader28.us.us.us.preheader: ; preds = %161 br label %.preheader28.us.us.us, !dbg !182 .preheader27.us.us.us: ; preds = %.preheader28.us.us.us, %.preheader27.us.us.us %lsr.iv302 = phi i8* [ %lsr.iv299, %.preheader28.us.us.us ], [ %scevgep303, %.preheader27.us.us.us ] %lsr.iv288 = phi i8* [ %lsr.iv286, %.preheader28.us.us.us ], [ %scevgep289, %.preheader27.us.us.us ] %lsr.iv272 = phi i64 [ 0, %.preheader28.us.us.us ], [ %lsr.iv.next273, %.preheader27.us.us.us ] %scevgep274 = getelementptr i8, i8* %lsr.iv270, i64 %lsr.iv272 %scevgep274275 = bitcast i8* %scevgep274 to i32* %scevgep290 = getelementptr i8, i8* %lsr.iv288, i64 -1152, !dbg !182 %163 = load i8, i8* %scevgep290, align 1, !dbg !182 %scevgep304 = getelementptr i8, i8* %lsr.iv302, i64 -512, !dbg !182 %164 = load i8, i8* %scevgep304, align 1, !dbg !182 %165 = load i32, i32* %scevgep274275, align 4, !dbg !182 %166 = sext i8 %163 to i32 %167 = add nsw i32 %166, 128 %168 = sext i8 %164 to i32 %169 = mul nsw i32 %167, %168 %170 = add i32 %169, %165 store i32 %170, i32* %scevgep274275, align 4, !dbg !182 %scevgep291 = getelementptr i8, i8* %lsr.iv288, i64 -1024, !dbg !182 %171 = load i8, i8* %scevgep291, align 1, !dbg !182 %scevgep310 = getelementptr i8, i8* %lsr.iv302, i64 -384, !dbg !182 %172 = load i8, i8* %scevgep310, align 1, !dbg !182 %173 = sext i8 %171 to i32 %174 = add nsw i32 %173, 128 %175 = sext i8 %172 to i32 %176 = mul nsw i32 %174, %175 %177 = add i32 %176, %170 store i32 %177, i32* %scevgep274275, align 4, !dbg !182 %scevgep292 = getelementptr i8, i8* %lsr.iv288, i64 -896, !dbg !182 %178 = load i8, i8* %scevgep292, align 1, !dbg !182 %scevgep311 = getelementptr i8, i8* %lsr.iv302, i64 -256, !dbg !182 %179 = load i8, i8* %scevgep311, align 1, !dbg !182 %180 = sext i8 %178 to i32 %181 = add nsw i32 %180, 128 %182 = sext i8 %179 to i32 %183 = mul nsw i32 %181, %182 %184 = add i32 %183, %177 store i32 %184, i32* %scevgep274275, align 4, !dbg !182 %scevgep294 = getelementptr i8, i8* %lsr.iv288, i64 -128, !dbg !182 %185 = load i8, i8* %scevgep294, align 1, !dbg !182 %scevgep308 = getelementptr i8, i8* %lsr.iv302, i64 -128, !dbg !182 %186 = load i8, i8* %scevgep308, align 1, !dbg !182 %187 = sext i8 %185 to i32 %188 = add nsw i32 %187, 128 %189 = sext i8 %186 to i32 %190 = mul nsw i32 %188, %189 %191 = add i32 %190, %184 store i32 %191, i32* %scevgep274275, align 4, !dbg !182 %192 = load i8, i8* %lsr.iv288, align 1, !dbg !182 %193 = load i8, i8* %lsr.iv302, align 1, !dbg !182 %194 = sext i8 %192 to i32 %195 = add nsw i32 %194, 128 %196 = sext i8 %193 to i32 %197 = mul nsw i32 %195, %196 %198 = add i32 %197, %191 store i32 %198, i32* %scevgep274275, align 4, !dbg !182 %scevgep295 = getelementptr i8, i8* %lsr.iv288, i64 128, !dbg !182 %199 = load i8, i8* %scevgep295, align 1, !dbg !182 %scevgep307 = getelementptr i8, i8* %lsr.iv302, i64 128, !dbg !182 %200 = load i8, i8* %scevgep307, align 1, !dbg !182 %201 = sext i8 %199 to i32 %202 = add nsw i32 %201, 128 %203 = sext i8 %200 to i32 %204 = mul nsw i32 %202, %203 %205 = add i32 %204, %198 store i32 %205, i32* %scevgep274275, align 4, !dbg !182 %scevgep296 = getelementptr i8, i8* %lsr.iv288, i64 896, !dbg !182 %206 = load i8, i8* %scevgep296, align 1, !dbg !182 %scevgep309 = getelementptr i8, i8* %lsr.iv302, i64 256, !dbg !182 %207 = load i8, i8* %scevgep309, align 1, !dbg !182 %208 = sext i8 %206 to i32 %209 = add nsw i32 %208, 128 %210 = sext i8 %207 to i32 %211 = mul nsw i32 %209, %210 %212 = add i32 %211, %205 store i32 %212, i32* %scevgep274275, align 4, !dbg !182 %scevgep297 = getelementptr i8, i8* %lsr.iv288, i64 1024, !dbg !182 %213 = load i8, i8* %scevgep297, align 1, !dbg !182 %scevgep306 = getelementptr i8, i8* %lsr.iv302, i64 384, !dbg !182 %214 = load i8, i8* %scevgep306, align 1, !dbg !182 %215 = sext i8 %213 to i32 %216 = add nsw i32 %215, 128 %217 = sext i8 %214 to i32 %218 = mul nsw i32 %216, %217 %219 = add i32 %218, %212 store i32 %219, i32* %scevgep274275, align 4, !dbg !182 %scevgep293 = getelementptr i8, i8* %lsr.iv288, i64 1152, !dbg !182 %220 = load i8, i8* %scevgep293, align 1, !dbg !182 %scevgep305 = getelementptr i8, i8* %lsr.iv302, i64 512, !dbg !182 %221 = load i8, i8* %scevgep305, align 1, !dbg !182 %222 = sext i8 %220 to i32 %223 = add nsw i32 %222, 128 %224 = sext i8 %221 to i32 %225 = mul nsw i32 %223, %224 %226 = add i32 %225, %219 store i32 %226, i32* %scevgep274275, align 4, !dbg !182 %lsr.iv.next273 = add nuw nsw i64 %lsr.iv272, 4, !dbg !182 %scevgep289 = getelementptr i8, i8* %lsr.iv288, i64 1, !dbg !182 %scevgep303 = getelementptr i8, i8* %lsr.iv302, i64 1, !dbg !182 %exitcond43.not = icmp eq i64 %lsr.iv.next273, 256, !dbg !182 br i1 %exitcond43.not, label %160, label %.preheader27.us.us.us, !dbg !182 .preheader28.us.us.us: ; preds = %.preheader28.us.us.us.preheader, %160 %lsr.iv286 = phi i8* [ %lsr.iv283, %.preheader28.us.us.us.preheader ], [ %scevgep287, %160 ] %lsr.iv270 = phi i8* [ %lsr.iv63, %.preheader28.us.us.us.preheader ], [ %scevgep271, %160 ] %227 = phi i64 [ %228, %160 ], [ 0, %.preheader28.us.us.us.preheader ] %228 = add nuw nsw i64 %227, 1 br label %.preheader27.us.us.us, !dbg !182 .preheader29.us.us.us: ; preds = %.preheader31.us.us.us, %.preheader29.us.us.us %lsr.iv = phi i64 [ 0, %.preheader31.us.us.us ], [ %lsr.iv.next, %.preheader29.us.us.us ] %scevgep68 = getelementptr i8, i8* %lsr.iv66, i64 %lsr.iv, !dbg !182 %scevgep6869 = bitcast i8* %scevgep68 to i32*, !dbg !182 store i32 0, i32* %scevgep6869, align 4, !dbg !182 %scevgep93 = getelementptr i8, i8* %lsr.iv80, i64 %lsr.iv, !dbg !182 %scevgep9394 = bitcast i8* %scevgep93 to i32*, !dbg !182 %scevgep95 = getelementptr i32, i32* %scevgep9394, i64 -31, !dbg !182 store i32 0, i32* %scevgep95, align 4, !dbg !182 %scevgep96 = getelementptr i8, i8* %lsr.iv80, i64 %lsr.iv, !dbg !182 %scevgep9697 = bitcast i8* %scevgep96 to i32*, !dbg !182 %scevgep98 = getelementptr i32, i32* %scevgep9697, i64 -30, !dbg !182 store i32 0, i32* %scevgep98, align 4, !dbg !182 %scevgep99 = getelementptr i8, i8* %lsr.iv80, i64 %lsr.iv, !dbg !182 %scevgep99100 = bitcast i8* %scevgep99 to i32*, !dbg !182 %scevgep101 = getelementptr i32, i32* %scevgep99100, i64 -29, !dbg !182 store i32 0, i32* %scevgep101, align 4, !dbg !182 %scevgep102 = getelementptr i8, i8* %lsr.iv80, i64 %lsr.iv, !dbg !182 %scevgep102103 = bitcast i8* %scevgep102 to i32*, !dbg !182 %scevgep104 = getelementptr i32, i32* %scevgep102103, i64 -28, !dbg !182 store i32 0, i32* %scevgep104, align 4, !dbg !182 %scevgep105 = getelementptr i8, i8* %lsr.iv80, i64 %lsr.iv, !dbg !182 %scevgep105106 = bitcast i8* %scevgep105 to i32*, !dbg !182 %scevgep107 = getelementptr i32, i32* %scevgep105106, i64 -27, !dbg !182 store i32 0, i32* %scevgep107, align 4, !dbg !182 %scevgep108 = getelementptr i8, i8* %lsr.iv80, i64 %lsr.iv, !dbg !182 %scevgep108109 = bitcast i8* %scevgep108 to i32*, !dbg !182 %scevgep110 = getelementptr i32, i32* %scevgep108109, i64 -26, !dbg !182 store i32 0, i32* %scevgep110, align 4, !dbg !182 %scevgep111 = getelementptr i8, i8* %lsr.iv80, i64 %lsr.iv, !dbg !182 %scevgep111112 = bitcast i8* %scevgep111 to i32*, !dbg !182 %scevgep113 = getelementptr i32, i32* %scevgep111112, i64 -25, !dbg !182 store i32 0, i32* %scevgep113, align 4, !dbg !182 %scevgep114 = getelementptr i8, i8* %lsr.iv80, i64 %lsr.iv, !dbg !182 %scevgep114115 = bitcast i8* %scevgep114 to i32*, !dbg !182 %scevgep116 = getelementptr i32, i32* %scevgep114115, i64 -24, !dbg !182 store i32 0, i32* %scevgep116, align 4, !dbg !182 %scevgep117 = getelementptr i8, i8* %lsr.iv80, i64 %lsr.iv, !dbg !182 %scevgep117118 = bitcast i8* %scevgep117 to i32*, !dbg !182 %scevgep119 = getelementptr i32, i32* %scevgep117118, i64 -23, !dbg !182 store i32 0, i32* %scevgep119, align 4, !dbg !182 %scevgep120 = getelementptr i8, i8* %lsr.iv80, i64 %lsr.iv, !dbg !182 %scevgep120121 = bitcast i8* %scevgep120 to i32*, !dbg !182 %scevgep122 = getelementptr i32, i32* %scevgep120121, i64 -22, !dbg !182 store i32 0, i32* %scevgep122, align 4, !dbg !182 %scevgep123 = getelementptr i8, i8* %lsr.iv80, i64 %lsr.iv, !dbg !182 %scevgep123124 = bitcast i8* %scevgep123 to i32*, !dbg !182 %scevgep125 = getelementptr i32, i32* %scevgep123124, i64 -21, !dbg !182 store i32 0, i32* %scevgep125, align 4, !dbg !182 %scevgep126 = getelementptr i8, i8* %lsr.iv80, i64 %lsr.iv, !dbg !182 %scevgep126127 = bitcast i8* %scevgep126 to i32*, !dbg !182 %scevgep128 = getelementptr i32, i32* %scevgep126127, i64 -20, !dbg !182 store i32 0, i32* %scevgep128, align 4, !dbg !182 %scevgep129 = getelementptr i8, i8* %lsr.iv80, i64 %lsr.iv, !dbg !182 %scevgep129130 = bitcast i8* %scevgep129 to i32*, !dbg !182 %scevgep131 = getelementptr i32, i32* %scevgep129130, i64 -19, !dbg !182 store i32 0, i32* %scevgep131, align 4, !dbg !182 %scevgep132 = getelementptr i8, i8* %lsr.iv80, i64 %lsr.iv, !dbg !182 %scevgep132133 = bitcast i8* %scevgep132 to i32*, !dbg !182 %scevgep134 = getelementptr i32, i32* %scevgep132133, i64 -18, !dbg !182 store i32 0, i32* %scevgep134, align 4, !dbg !182 %scevgep135 = getelementptr i8, i8* %lsr.iv80, i64 %lsr.iv, !dbg !182 %scevgep135136 = bitcast i8* %scevgep135 to i32*, !dbg !182 %scevgep137 = getelementptr i32, i32* %scevgep135136, i64 -17, !dbg !182 store i32 0, i32* %scevgep137, align 4, !dbg !182 %scevgep138 = getelementptr i8, i8* %lsr.iv80, i64 %lsr.iv, !dbg !182 %scevgep138139 = bitcast i8* %scevgep138 to i32*, !dbg !182 %scevgep140 = getelementptr i32, i32* %scevgep138139, i64 -16, !dbg !182 store i32 0, i32* %scevgep140, align 4, !dbg !182 %scevgep141 = getelementptr i8, i8* %lsr.iv80, i64 %lsr.iv, !dbg !182 %scevgep141142 = bitcast i8* %scevgep141 to i32*, !dbg !182 %scevgep143 = getelementptr i32, i32* %scevgep141142, i64 -15, !dbg !182 store i32 0, i32* %scevgep143, align 4, !dbg !182 %scevgep144 = getelementptr i8, i8* %lsr.iv80, i64 %lsr.iv, !dbg !182 %scevgep144145 = bitcast i8* %scevgep144 to i32*, !dbg !182 %scevgep146 = getelementptr i32, i32* %scevgep144145, i64 -14, !dbg !182 store i32 0, i32* %scevgep146, align 4, !dbg !182 %scevgep147 = getelementptr i8, i8* %lsr.iv80, i64 %lsr.iv, !dbg !182 %scevgep147148 = bitcast i8* %scevgep147 to i32*, !dbg !182 %scevgep149 = getelementptr i32, i32* %scevgep147148, i64 -13, !dbg !182 store i32 0, i32* %scevgep149, align 4, !dbg !182 %scevgep150 = getelementptr i8, i8* %lsr.iv80, i64 %lsr.iv, !dbg !182 %scevgep150151 = bitcast i8* %scevgep150 to i32*, !dbg !182 %scevgep152 = getelementptr i32, i32* %scevgep150151, i64 -12, !dbg !182 store i32 0, i32* %scevgep152, align 4, !dbg !182 %scevgep153 = getelementptr i8, i8* %lsr.iv80, i64 %lsr.iv, !dbg !182 %scevgep153154 = bitcast i8* %scevgep153 to i32*, !dbg !182 %scevgep155 = getelementptr i32, i32* %scevgep153154, i64 -11, !dbg !182 store i32 0, i32* %scevgep155, align 4, !dbg !182 %scevgep156 = getelementptr i8, i8* %lsr.iv80, i64 %lsr.iv, !dbg !182 %scevgep156157 = bitcast i8* %scevgep156 to i32*, !dbg !182 %scevgep158 = getelementptr i32, i32* %scevgep156157, i64 -10, !dbg !182 store i32 0, i32* %scevgep158, align 4, !dbg !182 %scevgep159 = getelementptr i8, i8* %lsr.iv80, i64 %lsr.iv, !dbg !182 %scevgep159160 = bitcast i8* %scevgep159 to i32*, !dbg !182 %scevgep161 = getelementptr i32, i32* %scevgep159160, i64 -9, !dbg !182 store i32 0, i32* %scevgep161, align 4, !dbg !182 %scevgep162 = getelementptr i8, i8* %lsr.iv80, i64 %lsr.iv, !dbg !182 %scevgep162163 = bitcast i8* %scevgep162 to i32*, !dbg !182 %scevgep164 = getelementptr i32, i32* %scevgep162163, i64 -8, !dbg !182 store i32 0, i32* %scevgep164, align 4, !dbg !182 %scevgep165 = getelementptr i8, i8* %lsr.iv80, i64 %lsr.iv, !dbg !182 %scevgep165166 = bitcast i8* %scevgep165 to i32*, !dbg !182 %scevgep167 = getelementptr i32, i32* %scevgep165166, i64 -7, !dbg !182 store i32 0, i32* %scevgep167, align 4, !dbg !182 %scevgep168 = getelementptr i8, i8* %lsr.iv80, i64 %lsr.iv, !dbg !182 %scevgep168169 = bitcast i8* %scevgep168 to i32*, !dbg !182 %scevgep170 = getelementptr i32, i32* %scevgep168169, i64 -6, !dbg !182 store i32 0, i32* %scevgep170, align 4, !dbg !182 %scevgep171 = getelementptr i8, i8* %lsr.iv80, i64 %lsr.iv, !dbg !182 %scevgep171172 = bitcast i8* %scevgep171 to i32*, !dbg !182 %scevgep173 = getelementptr i32, i32* %scevgep171172, i64 -5, !dbg !182 store i32 0, i32* %scevgep173, align 4, !dbg !182 %scevgep174 = getelementptr i8, i8* %lsr.iv80, i64 %lsr.iv, !dbg !182 %scevgep174175 = bitcast i8* %scevgep174 to i32*, !dbg !182 %scevgep176 = getelementptr i32, i32* %scevgep174175, i64 -4, !dbg !182 store i32 0, i32* %scevgep176, align 4, !dbg !182 %scevgep177 = getelementptr i8, i8* %lsr.iv80, i64 %lsr.iv, !dbg !182 %scevgep177178 = bitcast i8* %scevgep177 to i32*, !dbg !182 %scevgep179 = getelementptr i32, i32* %scevgep177178, i64 -3, !dbg !182 store i32 0, i32* %scevgep179, align 4, !dbg !182 %scevgep180 = getelementptr i8, i8* %lsr.iv80, i64 %lsr.iv, !dbg !182 %scevgep180181 = bitcast i8* %scevgep180 to i32*, !dbg !182 %scevgep182 = getelementptr i32, i32* %scevgep180181, i64 -2, !dbg !182 store i32 0, i32* %scevgep182, align 4, !dbg !182 %scevgep183 = getelementptr i8, i8* %lsr.iv80, i64 %lsr.iv, !dbg !182 %scevgep183184 = bitcast i8* %scevgep183 to i32*, !dbg !182 %scevgep185 = getelementptr i32, i32* %scevgep183184, i64 -1, !dbg !182 store i32 0, i32* %scevgep185, align 4, !dbg !182 %scevgep82 = getelementptr i8, i8* %lsr.iv80, i64 %lsr.iv, !dbg !182 %scevgep8283 = bitcast i8* %scevgep82 to i32*, !dbg !182 store i32 0, i32* %scevgep8283, align 4, !dbg !182 %scevgep189 = getelementptr i8, i8* %lsr.iv80, i64 %lsr.iv, !dbg !182 %scevgep189190 = bitcast i8* %scevgep189 to i32*, !dbg !182 %scevgep191 = getelementptr i32, i32* %scevgep189190, i64 1, !dbg !182 store i32 0, i32* %scevgep191, align 4, !dbg !182 %scevgep192 = getelementptr i8, i8* %lsr.iv80, i64 %lsr.iv, !dbg !182 %scevgep192193 = bitcast i8* %scevgep192 to i32*, !dbg !182 %scevgep194 = getelementptr i32, i32* %scevgep192193, i64 2, !dbg !182 store i32 0, i32* %scevgep194, align 4, !dbg !182 %scevgep195 = getelementptr i8, i8* %lsr.iv80, i64 %lsr.iv, !dbg !182 %scevgep195196 = bitcast i8* %scevgep195 to i32*, !dbg !182 %scevgep197 = getelementptr i32, i32* %scevgep195196, i64 3, !dbg !182 store i32 0, i32* %scevgep197, align 4, !dbg !182 %scevgep198 = getelementptr i8, i8* %lsr.iv80, i64 %lsr.iv, !dbg !182 %scevgep198199 = bitcast i8* %scevgep198 to i32*, !dbg !182 %scevgep200 = getelementptr i32, i32* %scevgep198199, i64 4, !dbg !182 store i32 0, i32* %scevgep200, align 4, !dbg !182 %scevgep201 = getelementptr i8, i8* %lsr.iv80, i64 %lsr.iv, !dbg !182 %scevgep201202 = bitcast i8* %scevgep201 to i32*, !dbg !182 %scevgep203 = getelementptr i32, i32* %scevgep201202, i64 5, !dbg !182 store i32 0, i32* %scevgep203, align 4, !dbg !182 %scevgep204 = getelementptr i8, i8* %lsr.iv80, i64 %lsr.iv, !dbg !182 %scevgep204205 = bitcast i8* %scevgep204 to i32*, !dbg !182 %scevgep206 = getelementptr i32, i32* %scevgep204205, i64 6, !dbg !182 store i32 0, i32* %scevgep206, align 4, !dbg !182 %scevgep207 = getelementptr i8, i8* %lsr.iv80, i64 %lsr.iv, !dbg !182 %scevgep207208 = bitcast i8* %scevgep207 to i32*, !dbg !182 %scevgep209 = getelementptr i32, i32* %scevgep207208, i64 7, !dbg !182 store i32 0, i32* %scevgep209, align 4, !dbg !182 %scevgep210 = getelementptr i8, i8* %lsr.iv80, i64 %lsr.iv, !dbg !182 %scevgep210211 = bitcast i8* %scevgep210 to i32*, !dbg !182 %scevgep212 = getelementptr i32, i32* %scevgep210211, i64 8, !dbg !182 store i32 0, i32* %scevgep212, align 4, !dbg !182 %scevgep213 = getelementptr i8, i8* %lsr.iv80, i64 %lsr.iv, !dbg !182 %scevgep213214 = bitcast i8* %scevgep213 to i32*, !dbg !182 %scevgep215 = getelementptr i32, i32* %scevgep213214, i64 9, !dbg !182 store i32 0, i32* %scevgep215, align 4, !dbg !182 %scevgep216 = getelementptr i8, i8* %lsr.iv80, i64 %lsr.iv, !dbg !182 %scevgep216217 = bitcast i8* %scevgep216 to i32*, !dbg !182 %scevgep218 = getelementptr i32, i32* %scevgep216217, i64 10, !dbg !182 store i32 0, i32* %scevgep218, align 4, !dbg !182 %scevgep219 = getelementptr i8, i8* %lsr.iv80, i64 %lsr.iv, !dbg !182 %scevgep219220 = bitcast i8* %scevgep219 to i32*, !dbg !182 %scevgep221 = getelementptr i32, i32* %scevgep219220, i64 11, !dbg !182 store i32 0, i32* %scevgep221, align 4, !dbg !182 %scevgep222 = getelementptr i8, i8* %lsr.iv80, i64 %lsr.iv, !dbg !182 %scevgep222223 = bitcast i8* %scevgep222 to i32*, !dbg !182 %scevgep224 = getelementptr i32, i32* %scevgep222223, i64 12, !dbg !182 store i32 0, i32* %scevgep224, align 4, !dbg !182 %scevgep225 = getelementptr i8, i8* %lsr.iv80, i64 %lsr.iv, !dbg !182 %scevgep225226 = bitcast i8* %scevgep225 to i32*, !dbg !182 %scevgep227 = getelementptr i32, i32* %scevgep225226, i64 13, !dbg !182 store i32 0, i32* %scevgep227, align 4, !dbg !182 %scevgep228 = getelementptr i8, i8* %lsr.iv80, i64 %lsr.iv, !dbg !182 %scevgep228229 = bitcast i8* %scevgep228 to i32*, !dbg !182 %scevgep230 = getelementptr i32, i32* %scevgep228229, i64 14, !dbg !182 store i32 0, i32* %scevgep230, align 4, !dbg !182 %scevgep231 = getelementptr i8, i8* %lsr.iv80, i64 %lsr.iv, !dbg !182 %scevgep231232 = bitcast i8* %scevgep231 to i32*, !dbg !182 %scevgep233 = getelementptr i32, i32* %scevgep231232, i64 15, !dbg !182 store i32 0, i32* %scevgep233, align 4, !dbg !182 %scevgep234 = getelementptr i8, i8* %lsr.iv80, i64 %lsr.iv, !dbg !182 %scevgep234235 = bitcast i8* %scevgep234 to i32*, !dbg !182 %scevgep236 = getelementptr i32, i32* %scevgep234235, i64 16, !dbg !182 store i32 0, i32* %scevgep236, align 4, !dbg !182 %scevgep237 = getelementptr i8, i8* %lsr.iv80, i64 %lsr.iv, !dbg !182 %scevgep237238 = bitcast i8* %scevgep237 to i32*, !dbg !182 %scevgep239 = getelementptr i32, i32* %scevgep237238, i64 17, !dbg !182 store i32 0, i32* %scevgep239, align 4, !dbg !182 %scevgep240 = getelementptr i8, i8* %lsr.iv80, i64 %lsr.iv, !dbg !182 %scevgep240241 = bitcast i8* %scevgep240 to i32*, !dbg !182 %scevgep242 = getelementptr i32, i32* %scevgep240241, i64 18, !dbg !182 store i32 0, i32* %scevgep242, align 4, !dbg !182 %scevgep243 = getelementptr i8, i8* %lsr.iv80, i64 %lsr.iv, !dbg !182 %scevgep243244 = bitcast i8* %scevgep243 to i32*, !dbg !182 %scevgep245 = getelementptr i32, i32* %scevgep243244, i64 19, !dbg !182 store i32 0, i32* %scevgep245, align 4, !dbg !182 %scevgep246 = getelementptr i8, i8* %lsr.iv80, i64 %lsr.iv, !dbg !182 %scevgep246247 = bitcast i8* %scevgep246 to i32*, !dbg !182 %scevgep248 = getelementptr i32, i32* %scevgep246247, i64 20, !dbg !182 store i32 0, i32* %scevgep248, align 4, !dbg !182 %scevgep249 = getelementptr i8, i8* %lsr.iv80, i64 %lsr.iv, !dbg !182 %scevgep249250 = bitcast i8* %scevgep249 to i32*, !dbg !182 %scevgep251 = getelementptr i32, i32* %scevgep249250, i64 21, !dbg !182 store i32 0, i32* %scevgep251, align 4, !dbg !182 %scevgep252 = getelementptr i8, i8* %lsr.iv80, i64 %lsr.iv, !dbg !182 %scevgep252253 = bitcast i8* %scevgep252 to i32*, !dbg !182 %scevgep254 = getelementptr i32, i32* %scevgep252253, i64 22, !dbg !182 store i32 0, i32* %scevgep254, align 4, !dbg !182 %scevgep255 = getelementptr i8, i8* %lsr.iv80, i64 %lsr.iv, !dbg !182 %scevgep255256 = bitcast i8* %scevgep255 to i32*, !dbg !182 %scevgep257 = getelementptr i32, i32* %scevgep255256, i64 23, !dbg !182 store i32 0, i32* %scevgep257, align 4, !dbg !182 %scevgep258 = getelementptr i8, i8* %lsr.iv80, i64 %lsr.iv, !dbg !182 %scevgep258259 = bitcast i8* %scevgep258 to i32*, !dbg !182 %scevgep260 = getelementptr i32, i32* %scevgep258259, i64 24, !dbg !182 store i32 0, i32* %scevgep260, align 4, !dbg !182 %scevgep261 = getelementptr i8, i8* %lsr.iv80, i64 %lsr.iv, !dbg !182 %scevgep261262 = bitcast i8* %scevgep261 to i32*, !dbg !182 %scevgep263 = getelementptr i32, i32* %scevgep261262, i64 25, !dbg !182 store i32 0, i32* %scevgep263, align 4, !dbg !182 %scevgep264 = getelementptr i8, i8* %lsr.iv80, i64 %lsr.iv, !dbg !182 %scevgep264265 = bitcast i8* %scevgep264 to i32*, !dbg !182 %scevgep266 = getelementptr i32, i32* %scevgep264265, i64 26, !dbg !182 store i32 0, i32* %scevgep266, align 4, !dbg !182 %scevgep267 = getelementptr i8, i8* %lsr.iv80, i64 %lsr.iv, !dbg !182 %scevgep267268 = bitcast i8* %scevgep267 to i32*, !dbg !182 %scevgep269 = getelementptr i32, i32* %scevgep267268, i64 27, !dbg !182 store i32 0, i32* %scevgep269, align 4, !dbg !182 %scevgep186 = getelementptr i8, i8* %lsr.iv80, i64 %lsr.iv, !dbg !182 %scevgep186187 = bitcast i8* %scevgep186 to i32*, !dbg !182 %scevgep188 = getelementptr i32, i32* %scevgep186187, i64 28, !dbg !182 store i32 0, i32* %scevgep188, align 4, !dbg !182 %scevgep90 = getelementptr i8, i8* %lsr.iv80, i64 %lsr.iv, !dbg !182 %scevgep9091 = bitcast i8* %scevgep90 to i32*, !dbg !182 %scevgep92 = getelementptr i32, i32* %scevgep9091, i64 29, !dbg !182 store i32 0, i32* %scevgep92, align 4, !dbg !182 %scevgep87 = getelementptr i8, i8* %lsr.iv80, i64 %lsr.iv, !dbg !182 %scevgep8788 = bitcast i8* %scevgep87 to i32*, !dbg !182 %scevgep89 = getelementptr i32, i32* %scevgep8788, i64 30, !dbg !182 store i32 0, i32* %scevgep89, align 4, !dbg !182 %scevgep84 = getelementptr i8, i8* %lsr.iv80, i64 %lsr.iv, !dbg !182 %scevgep8485 = bitcast i8* %scevgep84 to i32*, !dbg !182 %scevgep86 = getelementptr i32, i32* %scevgep8485, i64 31, !dbg !182 store i32 0, i32* %scevgep86, align 4, !dbg !182 %lsr.iv.next = add nuw nsw i64 %lsr.iv, 512, !dbg !182 %exitcond.not = icmp eq i64 %lsr.iv.next, 1536, !dbg !182 br i1 %exitcond.not, label %161, label %.preheader29.us.us.us, !dbg !182 .preheader31.us.us.us: ; preds = %161, %72 %lsr.iv80 = phi i8* [ %scevgep81, %161 ], [ %lsr.iv77, %72 ] %lsr.iv66 = phi i8* [ %scevgep67, %161 ], [ %lsr.iv63, %72 ] %229 = phi i64 [ 0, %72 ], [ %162, %161 ] br label %.preheader29.us.us.us, !dbg !182 ._crit_edge.us.us.us: ; preds = %143 %230 = bitcast i8* %lsr.iv74 to i1* %231 = bitcast i8* %lsr.iv60 to i1* %232 = bitcast i8* %lsr.iv280 to i1* %233 = bitcast i8* %lsr.iv350 to i1* %234 = bitcast i8* %lsr.iv331 to i1* %235 = bitcast i8* %lsr.iv316 to i1* %236 = add i64 %71, %31, !dbg !182 %scevgep62 = getelementptr i1, i1* %231, i64 %43, !dbg !182 %237 = bitcast i1* %scevgep62 to i8*, !dbg !182 %scevgep76 = getelementptr i1, i1* %230, i64 %43, !dbg !182 %238 = bitcast i1* %scevgep76 to i8*, !dbg !182 %scevgep282 = getelementptr i1, i1* %232, i64 %58, !dbg !182 %239 = bitcast i1* %scevgep282 to i8*, !dbg !182 %scevgep318 = getelementptr i1, i1* %235, i64 %43, !dbg !182 %240 = bitcast i1* %scevgep318 to i8*, !dbg !182 %scevgep333 = getelementptr i1, i1* %234, i64 %58, !dbg !182 %241 = bitcast i1* %scevgep333 to i8*, !dbg !182 %scevgep352 = getelementptr i1, i1* %233, i64 %58, !dbg !182 %242 = bitcast i1* %scevgep352 to i8*, !dbg !182 %243 = icmp slt i64 %236, 6, !dbg !182 br i1 %243, label %.lr.ph.us.us.us, label %._crit_edge35.split.us.us.us, !dbg !182 ._crit_edge35.split.us.us.us: ; preds = %._crit_edge.us.us.us %244 = bitcast i8* %lsr.iv71 to i1* %245 = bitcast i8* %lsr.iv57 to i1* %246 = bitcast i8* %lsr.iv277 to i1* %247 = bitcast i8* %lsr.iv347 to i1* %248 = bitcast i8* %lsr.iv328 to i1* %249 = bitcast i8* %lsr.iv313 to i1* %250 = add i64 %70, %24, !dbg !182 %scevgep59 = getelementptr i1, i1* %245, i64 %42, !dbg !182 %251 = bitcast i1* %scevgep59 to i8*, !dbg !182 %scevgep73 = getelementptr i1, i1* %244, i64 %42, !dbg !182 %252 = bitcast i1* %scevgep73 to i8*, !dbg !182 %scevgep279 = getelementptr i1, i1* %246, i64 %57, !dbg !182 %253 = bitcast i1* %scevgep279 to i8*, !dbg !182 %scevgep315 = getelementptr i1, i1* %249, i64 %42, !dbg !182 %254 = bitcast i1* %scevgep315 to i8*, !dbg !182 %scevgep330 = getelementptr i1, i1* %248, i64 %57, !dbg !182 %255 = bitcast i1* %scevgep330 to i8*, !dbg !182 %scevgep349 = getelementptr i1, i1* %247, i64 %57, !dbg !182 %256 = bitcast i1* %scevgep349 to i8*, !dbg !182 %257 = icmp slt i64 %250, 6, !dbg !182 br i1 %257, label %.lr.ph34.us.us, label %._crit_edge, !dbg !182 .lr.ph34.us: ; preds = %.lr.ph34.us.preheader, %._crit_edge35.split.us36 %258 = phi i64 [ %263, %._crit_edge35.split.us36 ], [ %23, %.lr.ph34.us.preheader ] br label %259, !dbg !182 259: ; preds = %.lr.ph34.us, %259 %260 = phi i64 [ %30, %.lr.ph34.us ], [ %261, %259 ] %261 = add i64 %260, %31, !dbg !182 %262 = icmp slt i64 %261, 6, !dbg !182 br i1 %262, label %259, label %._crit_edge35.split.us36, !dbg !182 ._crit_edge35.split.us36: ; preds = %259 %263 = add i64 %258, %24, !dbg !182 %264 = icmp slt i64 %263, 6, !dbg !182 br i1 %264, label %.lr.ph34.us, label %._crit_edge, !dbg !182 .lr.ph.split: ; preds = %.lr.ph.split.preheader, %.lr.ph.split %265 = phi i64 [ %266, %.lr.ph.split ], [ %23, %.lr.ph.split.preheader ] %266 = add i64 %265, %24, !dbg !182 %267 = icmp slt i64 %266, 6, !dbg !182 br i1 %267, label %.lr.ph.split, label %._crit_edge, !dbg !182 ._crit_edge: ; preds = %.lr.ph.split, %._crit_edge35.split.us36, %._crit_edge35.split.us.us.us, %3 ret i32 0, !dbg !182 } ; Function Attrs: nofree nosync nounwind define internal i32 @main_dispatch_35(%iree_hal_executable_environment_v0_t* noalias nocapture nonnull readnone byref(%iree_hal_executable_environment_v0_t) align 16 %0, %iree_hal_executable_dispatch_state_v0_t* noalias nocapture nonnull readonly byref(%iree_hal_executable_dispatch_state_v0_t) align 16 %1, %iree_hal_executable_workgroup_state_v0_t* noalias nocapture nonnull readonly byref(%iree_hal_executable_workgroup_state_v0_t) align 16 %2) #0 !dbg !185 { %.elt20 = getelementptr inbounds %iree_hal_executable_dispatch_state_v0_t, %iree_hal_executable_dispatch_state_v0_t* %1, i64 0, i32 10, !dbg !186 %.unpack21 = load i8**, i8*** %.elt20, align 16, !dbg !186 %4 = load i8*, i8** %.unpack21, align 8, !dbg !186 %5 = getelementptr i8, i8* %4, i64 11520, !dbg !186 %6 = getelementptr i8*, i8** %.unpack21, i64 1, !dbg !189 %7 = load i8*, i8** %6, align 8, !dbg !189 %8 = getelementptr i8, i8* %7, i64 20224, !dbg !189 %9 = getelementptr i8, i8* %4, i64 217344, !dbg !190 %10 = getelementptr i8*, i8** %.unpack21, i64 2, !dbg !190 %11 = load i8*, i8** %10, align 8, !dbg !190 %12 = load %iree_hal_executable_workgroup_state_v0_t, %iree_hal_executable_workgroup_state_v0_t* %2, align 16, !dbg !190 %13 = extractvalue %iree_hal_executable_workgroup_state_v0_t %12, 0, !dbg !190 %14 = zext i32 %13 to i64, !dbg !190 %15 = extractvalue %iree_hal_executable_workgroup_state_v0_t %12, 1, !dbg !190 %16 = zext i32 %15 to i64, !dbg !190 %17 = extractvalue %iree_hal_executable_workgroup_state_v0_t %12, 2, !dbg !190 %18 = zext i16 %17 to i64, !dbg !190 %19 = shl nuw nsw i64 %14, 5, !dbg !190 %20 = mul nuw nsw i64 %18, 1536, !dbg !190 br label %.preheader24, !dbg !190 .preheader24: ; preds = %3, %129 %21 = phi i64 [ 0, %3 ], [ %130, %129 ] %reass.add = add nuw nsw i64 %21, %16 %reass.mul = mul nuw nsw i64 %reass.add, 768 br label %.preheader, !dbg !190 .preheader: ; preds = %.preheader24, %127 %22 = phi i64 [ 0, %.preheader24 ], [ %128, %127 ] %23 = shl i64 %22, 7 br label %24, !dbg !190 24: ; preds = %.preheader, %24 %25 = phi i1 [ true, %.preheader ], [ false, %24 ] %26 = phi i64 [ 0, %.preheader ], [ 16, %24 ] %27 = bitcast i8* %9 to i32*, !dbg !190 %28 = bitcast i8* %8 to i32*, !dbg !189 %29 = bitcast i8* %5 to i32*, !dbg !186 %30 = or i64 %26, %19, !dbg !190 %31 = getelementptr i32, i32* %29, i64 %30, !dbg !190 %32 = bitcast i32* %31 to <16 x i32>*, !dbg !190 %33 = load <16 x i32>, <16 x i32>* %32, align 64, !dbg !190 %34 = add nuw nsw i64 %30, %20, !dbg !190 %35 = add nuw i64 %34, %reass.mul, !dbg !190 %36 = add nuw nsw i64 %35, %23, !dbg !190 %37 = getelementptr i32, i32* %28, i64 %36, !dbg !190 %38 = bitcast i32* %37 to <16 x i32>*, !dbg !190 %39 = load <16 x i32>, <16 x i32>* %38, align 4, !dbg !190 %40 = getelementptr i32, i32* %27, i64 %30, !dbg !190 %41 = bitcast i32* %40 to <16 x i32>*, !dbg !190 %42 = load <16 x i32>, <16 x i32>* %41, align 64, !dbg !190 %43 = getelementptr [128 x i8], [128 x i8]* @__constant_128xi8_0, i64 0, i64 %30, !dbg !190 %44 = load i8, i8* %43, align 16, !dbg !190 %45 = insertelement <16 x i8> , i8 %44, i64 0, !dbg !190 %46 = or i64 %30, 1, !dbg !190 %47 = getelementptr [128 x i8], [128 x i8]* @__constant_128xi8_0, i64 0, i64 %46, !dbg !190 %48 = load i8, i8* %47, align 1, !dbg !190 %49 = insertelement <16 x i8> %45, i8 %48, i64 1, !dbg !190 %50 = or i64 %30, 2, !dbg !190 %51 = getelementptr [128 x i8], [128 x i8]* @__constant_128xi8_0, i64 0, i64 %50, !dbg !190 %52 = load i8, i8* %51, align 2, !dbg !190 %53 = insertelement <16 x i8> %49, i8 %52, i64 2, !dbg !190 %54 = or i64 %30, 3, !dbg !190 %55 = getelementptr [128 x i8], [128 x i8]* @__constant_128xi8_0, i64 0, i64 %54, !dbg !190 %56 = load i8, i8* %55, align 1, !dbg !190 %57 = insertelement <16 x i8> %53, i8 %56, i64 3, !dbg !190 %58 = or i64 %30, 4, !dbg !190 %59 = getelementptr [128 x i8], [128 x i8]* @__constant_128xi8_0, i64 0, i64 %58, !dbg !190 %60 = load i8, i8* %59, align 4, !dbg !190 %61 = insertelement <16 x i8> %57, i8 %60, i64 4, !dbg !190 %62 = or i64 %30, 5, !dbg !190 %63 = getelementptr [128 x i8], [128 x i8]* @__constant_128xi8_0, i64 0, i64 %62, !dbg !190 %64 = load i8, i8* %63, align 1, !dbg !190 %65 = insertelement <16 x i8> %61, i8 %64, i64 5, !dbg !190 %66 = or i64 %30, 6, !dbg !190 %67 = getelementptr [128 x i8], [128 x i8]* @__constant_128xi8_0, i64 0, i64 %66, !dbg !190 %68 = load i8, i8* %67, align 2, !dbg !190 %69 = insertelement <16 x i8> %65, i8 %68, i64 6, !dbg !190 %70 = or i64 %30, 7, !dbg !190 %71 = getelementptr [128 x i8], [128 x i8]* @__constant_128xi8_0, i64 0, i64 %70, !dbg !190 %72 = load i8, i8* %71, align 1, !dbg !190 %73 = insertelement <16 x i8> %69, i8 %72, i64 7, !dbg !190 %74 = or i64 %30, 8, !dbg !190 %75 = getelementptr [128 x i8], [128 x i8]* @__constant_128xi8_0, i64 0, i64 %74, !dbg !190 %76 = load i8, i8* %75, align 8, !dbg !190 %77 = insertelement <16 x i8> %73, i8 %76, i64 8, !dbg !190 %78 = or i64 %30, 9, !dbg !190 %79 = getelementptr [128 x i8], [128 x i8]* @__constant_128xi8_0, i64 0, i64 %78, !dbg !190 %80 = load i8, i8* %79, align 1, !dbg !190 %81 = insertelement <16 x i8> %77, i8 %80, i64 9, !dbg !190 %82 = or i64 %30, 10, !dbg !190 %83 = getelementptr [128 x i8], [128 x i8]* @__constant_128xi8_0, i64 0, i64 %82, !dbg !190 %84 = load i8, i8* %83, align 2, !dbg !190 %85 = insertelement <16 x i8> %81, i8 %84, i64 10, !dbg !190 %86 = or i64 %30, 11, !dbg !190 %87 = getelementptr [128 x i8], [128 x i8]* @__constant_128xi8_0, i64 0, i64 %86, !dbg !190 %88 = load i8, i8* %87, align 1, !dbg !190 %89 = insertelement <16 x i8> %85, i8 %88, i64 11, !dbg !190 %90 = or i64 %30, 12, !dbg !190 %91 = getelementptr [128 x i8], [128 x i8]* @__constant_128xi8_0, i64 0, i64 %90, !dbg !190 %92 = load i8, i8* %91, align 4, !dbg !190 %93 = insertelement <16 x i8> %89, i8 %92, i64 12, !dbg !190 %94 = or i64 %30, 13, !dbg !190 %95 = getelementptr [128 x i8], [128 x i8]* @__constant_128xi8_0, i64 0, i64 %94, !dbg !190 %96 = load i8, i8* %95, align 1, !dbg !190 %97 = insertelement <16 x i8> %93, i8 %96, i64 13, !dbg !190 %98 = or i64 %30, 14, !dbg !190 %99 = getelementptr [128 x i8], [128 x i8]* @__constant_128xi8_0, i64 0, i64 %98, !dbg !190 %100 = load i8, i8* %99, align 2, !dbg !190 %101 = insertelement <16 x i8> %97, i8 %100, i64 14, !dbg !190 %102 = or i64 %30, 15, !dbg !190 %103 = getelementptr [128 x i8], [128 x i8]* @__constant_128xi8_0, i64 0, i64 %102, !dbg !190 %104 = load i8, i8* %103, align 1, !dbg !190 %105 = insertelement <16 x i8> %101, i8 %104, i64 15, !dbg !190 %106 = add <16 x i32> %39, %33, !dbg !189 %107 = sext <16 x i32> %106 to <16 x i64>, !dbg !190 %108 = sext <16 x i32> %42 to <16 x i64>, !dbg !190 %109 = mul nsw <16 x i64> %107, %108, !dbg !190 %110 = zext <16 x i8> %105 to <16 x i64>, !dbg !190 %111 = shl <16 x i64> , %110, !dbg !190 %112 = lshr <16 x i64> %111, , !dbg !190 %113 = icmp sgt <16 x i32> %106, , !dbg !190 %114 = select <16 x i1> %113, <16 x i64> , <16 x i64> , !dbg !190 %115 = icmp ugt <16 x i8> %105, , !dbg !190 %116 = select <16 x i1> %115, <16 x i64> %114, <16 x i64> zeroinitializer, !dbg !190 %117 = add <16 x i64> %116, %109, !dbg !190 %118 = add <16 x i64> %117, %112, !dbg !190 %119 = ashr <16 x i64> %118, %110, !dbg !190 %120 = trunc <16 x i64> %119 to <16 x i32>, !dbg !190 %121 = add <16 x i32> %120, , !dbg !190 %122 = tail call <16 x i32> @llvm.smax.v16i32(<16 x i32> %121, <16 x i32> ), !dbg !190 %123 = tail call <16 x i32> @llvm.smin.v16i32(<16 x i32> %122, <16 x i32> ), !dbg !190 %124 = trunc <16 x i32> %123 to <16 x i8>, !dbg !190 %125 = getelementptr i8, i8* %11, i64 %36, !dbg !190 %126 = bitcast i8* %125 to <16 x i8>*, !dbg !190 store <16 x i8> %124, <16 x i8>* %126, align 1, !dbg !190 br i1 %25, label %24, label %127, !dbg !190 127: ; preds = %24 %128 = add nuw nsw i64 %22, 1, !dbg !190 %exitcond.not = icmp eq i64 %128, 6, !dbg !190 br i1 %exitcond.not, label %129, label %.preheader, !dbg !190 129: ; preds = %127 %130 = add nuw nsw i64 %21, 1, !dbg !190 %exitcond25.not = icmp eq i64 %130, 2, !dbg !190 br i1 %exitcond25.not, label %131, label %.preheader24, !dbg !190 131: ; preds = %129 ret i32 0, !dbg !190 } ; Function Attrs: nofree nosync nounwind define internal i32 @main_dispatch_36(%iree_hal_executable_environment_v0_t* noalias nocapture nonnull readnone byref(%iree_hal_executable_environment_v0_t) align 16 %0, %iree_hal_executable_dispatch_state_v0_t* noalias nocapture nonnull readonly byref(%iree_hal_executable_dispatch_state_v0_t) align 16 %1, %iree_hal_executable_workgroup_state_v0_t* noalias nocapture nonnull readonly byref(%iree_hal_executable_workgroup_state_v0_t) align 16 %2) #0 !dbg !191 { .preheader: %.elt17 = getelementptr inbounds %iree_hal_executable_dispatch_state_v0_t, %iree_hal_executable_dispatch_state_v0_t* %1, i64 0, i32 9, !dbg !192 %.unpack18 = load i32*, i32** %.elt17, align 8, !dbg !192 %.elt19 = getelementptr inbounds %iree_hal_executable_dispatch_state_v0_t, %iree_hal_executable_dispatch_state_v0_t* %1, i64 0, i32 10, !dbg !192 %.unpack20 = load i8**, i8*** %.elt19, align 16, !dbg !192 %3 = load i32, i32* %.unpack18, align 4, !dbg !192 %4 = sext i32 %3 to i64, !dbg !192 %5 = load i8*, i8** %.unpack20, align 8, !dbg !192 %6 = getelementptr i8*, i8** %.unpack20, i64 1, !dbg !192 %7 = load i8*, i8** %6, align 8, !dbg !192 %8 = getelementptr i8, i8* %7, i64 4608, !dbg !192 %9 = bitcast %iree_hal_executable_workgroup_state_v0_t* %2 to i32*, !dbg !192 %10 = load i32, i32* %9, align 16, !dbg !192 %11 = zext i32 %10 to i64, !dbg !192 %12 = shl nuw nsw i64 %11, 5, !dbg !192 %13 = add i64 %12, %4, !dbg !192 %scevgep30 = getelementptr i8, i8* %5, i64 %13, !dbg !192 br label %14, !dbg !192 14: ; preds = %.preheader, %14 %lsr.iv34 = phi i64 [ 128, %.preheader ], [ %lsr.iv.next35, %14 ] %lsr.iv31 = phi i8* [ %scevgep30, %.preheader ], [ %scevgep32, %14 ] %15 = phi <16 x i32> [ zeroinitializer, %.preheader ], [ %18, %14 ] %lsr.iv3133 = bitcast i8* %lsr.iv31 to <16 x i8>*, !dbg !192 %16 = load <16 x i8>, <16 x i8>* %lsr.iv3133, align 32, !dbg !192 %17 = sext <16 x i8> %16 to <16 x i32>, !dbg !192 %18 = add <16 x i32> %15, %17, !dbg !192 %scevgep32 = getelementptr i8, i8* %lsr.iv31, i64 128, !dbg !192 %lsr.iv.next35 = add nsw i64 %lsr.iv34, -1, !dbg !192 %exitcond.not = icmp eq i64 %lsr.iv.next35, 0, !dbg !192 br i1 %exitcond.not, label %.preheader.1, label %14, !dbg !192 .preheader.1: ; preds = %14 %19 = bitcast i8* %8 to i32*, !dbg !192 %20 = getelementptr i32, i32* %19, i64 %12, !dbg !192 %21 = bitcast i32* %20 to <16 x i32>*, !dbg !192 store <16 x i32> %18, <16 x i32>* %21, align 64, !dbg !192 %22 = or i64 %12, 16 %23 = add i64 %12, %4, !dbg !192 %24 = add i64 %23, 16, !dbg !192 %scevgep = getelementptr i8, i8* %5, i64 %24, !dbg !192 br label %25, !dbg !192 25: ; preds = %25, %.preheader.1 %lsr.iv27 = phi i8* [ %scevgep28, %25 ], [ %scevgep, %.preheader.1 ] %lsr.iv = phi i64 [ %lsr.iv.next, %25 ], [ 128, %.preheader.1 ] %26 = phi <16 x i32> [ zeroinitializer, %.preheader.1 ], [ %29, %25 ] %lsr.iv2729 = bitcast i8* %lsr.iv27 to <16 x i8>*, !dbg !192 %27 = load <16 x i8>, <16 x i8>* %lsr.iv2729, align 16, !dbg !192 %28 = sext <16 x i8> %27 to <16 x i32>, !dbg !192 %29 = add <16 x i32> %26, %28, !dbg !192 %lsr.iv.next = add nsw i64 %lsr.iv, -1, !dbg !192 %scevgep28 = getelementptr i8, i8* %lsr.iv27, i64 128, !dbg !192 %exitcond.1.not = icmp eq i64 %lsr.iv.next, 0, !dbg !192 br i1 %exitcond.1.not, label %30, label %25, !dbg !192 30: ; preds = %25 %31 = bitcast i8* %8 to i32*, !dbg !192 %32 = getelementptr i32, i32* %31, i64 %22, !dbg !192 %33 = bitcast i32* %32 to <16 x i32>*, !dbg !192 store <16 x i32> %29, <16 x i32>* %33, align 64, !dbg !192 ret i32 0, !dbg !192 } ; Function Attrs: nofree nosync nounwind define internal i32 @main_dispatch_37(%iree_hal_executable_environment_v0_t* noalias nocapture nonnull readnone byref(%iree_hal_executable_environment_v0_t) align 16 %0, %iree_hal_executable_dispatch_state_v0_t* noalias nocapture nonnull readonly byref(%iree_hal_executable_dispatch_state_v0_t) align 16 %1, %iree_hal_executable_workgroup_state_v0_t* noalias nocapture nonnull readonly byref(%iree_hal_executable_workgroup_state_v0_t) align 16 %2) #0 !dbg !195 { %.elt26 = getelementptr inbounds %iree_hal_executable_dispatch_state_v0_t, %iree_hal_executable_dispatch_state_v0_t* %1, i64 0, i32 10, !dbg !196 %.unpack27 = load i8**, i8*** %.elt26, align 16, !dbg !196 %4 = load i8*, i8** %.unpack27, align 8, !dbg !196 %5 = getelementptr i8*, i8** %.unpack27, i64 1, !dbg !196 %6 = load i8*, i8** %5, align 8, !dbg !196 %7 = getelementptr i8*, i8** %.unpack27, i64 2, !dbg !199 %8 = load i8*, i8** %7, align 8, !dbg !199 %9 = load %iree_hal_executable_workgroup_state_v0_t, %iree_hal_executable_workgroup_state_v0_t* %2, align 16, !dbg !199 %10 = extractvalue %iree_hal_executable_workgroup_state_v0_t %9, 0, !dbg !199 %11 = zext i32 %10 to i64, !dbg !199 %12 = extractvalue %iree_hal_executable_workgroup_state_v0_t %9, 1, !dbg !199 %13 = zext i32 %12 to i64, !dbg !199 %14 = shl nuw nsw i64 %11, 6, !dbg !199 %15 = mul i64 %13, 1536, !dbg !196 %scevgep166 = getelementptr i8, i8* %6, i64 185600, !dbg !199 %scevgep199 = getelementptr i8, i8* %6, i64 217856, !dbg !199 %scevgep203 = getelementptr i8, i8* %4, i64 4608, !dbg !199 %scevgep207 = getelementptr i8, i8* %6, i64 12032, !dbg !199 %16 = add nuw nsw i64 %15, 5120, !dbg !199 %scevgep211 = getelementptr i8, i8* %8, i64 %16, !dbg !199 br label %.preheader40.preheader, !dbg !199 .preheader40.preheader: ; preds = %226, %3 %indvars.iv = phi i64 [ 12, %3 ], [ %indvars.iv.next, %226 ] %17 = phi i1 [ true, %3 ], [ false, %226 ] %18 = phi i64 [ 0, %3 ], [ 8, %226 ] %smin90 = call i64 @llvm.smin.i64(i64 %indvars.iv, i64 8), !dbg !196 %smin = call i64 @llvm.smin.i64(i64 %indvars.iv, i64 8), !dbg !196 %smin55 = call i64 @llvm.smin.i64(i64 %indvars.iv, i64 8), !dbg !196 %19 = sub nuw nsw i64 12, %18, !dbg !196 %20 = tail call i64 @llvm.smin.i64(i64 %19, i64 8), !dbg !196 %.idx = shl nuw nsw i64 %20, 7, !dbg !196 %21 = alloca i32, i64 %.idx, align 128, !dbg !196 %scevgep = getelementptr i32, i32* %21, i64 16, !dbg !196 br label %.preheader40, !dbg !196 .preheader40: ; preds = %.preheader40.preheader, %.preheader40 %lsr.iv57 = phi i32* [ %scevgep, %.preheader40.preheader ], [ %scevgep58, %.preheader40 ] %lsr.iv = phi i64 [ %smin, %.preheader40.preheader ], [ %lsr.iv.next, %.preheader40 ] %scevgep59 = getelementptr i32, i32* %lsr.iv57, i64 -16, !dbg !196 store i32 0, i32* %scevgep59, align 128, !dbg !196 %scevgep62 = getelementptr i32, i32* %lsr.iv57, i64 -15, !dbg !196 store i32 0, i32* %scevgep62, align 4, !dbg !196 %scevgep63 = getelementptr i32, i32* %lsr.iv57, i64 -14, !dbg !196 store i32 0, i32* %scevgep63, align 8, !dbg !196 %scevgep64 = getelementptr i32, i32* %lsr.iv57, i64 -13, !dbg !196 store i32 0, i32* %scevgep64, align 4, !dbg !196 %scevgep65 = getelementptr i32, i32* %lsr.iv57, i64 -12, !dbg !196 store i32 0, i32* %scevgep65, align 16, !dbg !196 %scevgep66 = getelementptr i32, i32* %lsr.iv57, i64 -11, !dbg !196 store i32 0, i32* %scevgep66, align 4, !dbg !196 %scevgep67 = getelementptr i32, i32* %lsr.iv57, i64 -10, !dbg !196 store i32 0, i32* %scevgep67, align 8, !dbg !196 %scevgep68 = getelementptr i32, i32* %lsr.iv57, i64 -9, !dbg !196 store i32 0, i32* %scevgep68, align 4, !dbg !196 %scevgep69 = getelementptr i32, i32* %lsr.iv57, i64 -8, !dbg !196 store i32 0, i32* %scevgep69, align 32, !dbg !196 %scevgep70 = getelementptr i32, i32* %lsr.iv57, i64 -7, !dbg !196 store i32 0, i32* %scevgep70, align 4, !dbg !196 %scevgep71 = getelementptr i32, i32* %lsr.iv57, i64 -6, !dbg !196 store i32 0, i32* %scevgep71, align 8, !dbg !196 %scevgep72 = getelementptr i32, i32* %lsr.iv57, i64 -5, !dbg !196 store i32 0, i32* %scevgep72, align 4, !dbg !196 %scevgep73 = getelementptr i32, i32* %lsr.iv57, i64 -4, !dbg !196 store i32 0, i32* %scevgep73, align 16, !dbg !196 %scevgep74 = getelementptr i32, i32* %lsr.iv57, i64 -3, !dbg !196 store i32 0, i32* %scevgep74, align 4, !dbg !196 %scevgep75 = getelementptr i32, i32* %lsr.iv57, i64 -2, !dbg !196 store i32 0, i32* %scevgep75, align 8, !dbg !196 %scevgep76 = getelementptr i32, i32* %lsr.iv57, i64 -1, !dbg !196 store i32 0, i32* %scevgep76, align 4, !dbg !196 store i32 0, i32* %lsr.iv57, align 64, !dbg !196 %scevgep78 = getelementptr i32, i32* %lsr.iv57, i64 1, !dbg !196 store i32 0, i32* %scevgep78, align 4, !dbg !196 %scevgep79 = getelementptr i32, i32* %lsr.iv57, i64 2, !dbg !196 store i32 0, i32* %scevgep79, align 8, !dbg !196 %scevgep80 = getelementptr i32, i32* %lsr.iv57, i64 3, !dbg !196 store i32 0, i32* %scevgep80, align 4, !dbg !196 %scevgep81 = getelementptr i32, i32* %lsr.iv57, i64 4, !dbg !196 store i32 0, i32* %scevgep81, align 16, !dbg !196 %scevgep82 = getelementptr i32, i32* %lsr.iv57, i64 5, !dbg !196 store i32 0, i32* %scevgep82, align 4, !dbg !196 %scevgep83 = getelementptr i32, i32* %lsr.iv57, i64 6, !dbg !196 store i32 0, i32* %scevgep83, align 8, !dbg !196 %scevgep84 = getelementptr i32, i32* %lsr.iv57, i64 7, !dbg !196 store i32 0, i32* %scevgep84, align 4, !dbg !196 %scevgep85 = getelementptr i32, i32* %lsr.iv57, i64 8, !dbg !196 store i32 0, i32* %scevgep85, align 32, !dbg !196 %scevgep86 = getelementptr i32, i32* %lsr.iv57, i64 9, !dbg !196 store i32 0, i32* %scevgep86, align 4, !dbg !196 %scevgep87 = getelementptr i32, i32* %lsr.iv57, i64 10, !dbg !196 store i32 0, i32* %scevgep87, align 8, !dbg !196 %scevgep88 = getelementptr i32, i32* %lsr.iv57, i64 11, !dbg !196 store i32 0, i32* %scevgep88, align 4, !dbg !196 %scevgep89 = getelementptr i32, i32* %lsr.iv57, i64 12, !dbg !196 store i32 0, i32* %scevgep89, align 16, !dbg !196 %scevgep77 = getelementptr i32, i32* %lsr.iv57, i64 13, !dbg !196 store i32 0, i32* %scevgep77, align 4, !dbg !196 %scevgep61 = getelementptr i32, i32* %lsr.iv57, i64 14, !dbg !196 store i32 0, i32* %scevgep61, align 8, !dbg !196 %scevgep60 = getelementptr i32, i32* %lsr.iv57, i64 15, !dbg !196 store i32 0, i32* %scevgep60, align 4, !dbg !196 %lsr.iv.next = add nsw i64 %lsr.iv, -1, !dbg !196 %scevgep58 = getelementptr i32, i32* %lsr.iv57, i64 32, !dbg !196 %exitcond.not = icmp eq i64 %lsr.iv.next, 0, !dbg !196 br i1 %exitcond.not, label %.preheader38.preheader.preheader, label %.preheader40, !dbg !196 .preheader38.preheader.preheader: ; preds = %.preheader40 %22 = shl nuw nsw i64 %18, 7, !dbg !196 %scevgep212 = getelementptr i8, i8* %scevgep211, i64 %22, !dbg !196 br label %.preheader38.preheader, !dbg !196 .preheader38.preheader: ; preds = %.preheader38.preheader.preheader, %._crit_edge %23 = phi i1 [ false, %._crit_edge ], [ true, %.preheader38.preheader.preheader ] %24 = phi i64 [ 32, %._crit_edge ], [ 0, %.preheader38.preheader.preheader ] %25 = or i64 %24, %14, !dbg !199 %26 = alloca i32, i64 %.idx, align 128, !dbg !196 %scevgep126 = getelementptr i32, i32* %26, i64 16, !dbg !196 br label %.preheader38, !dbg !196 .preheader35.lr.ph.us: ; preds = %.preheader35.lr.ph.us.preheader, %._crit_edge.us %lsr.iv168 = phi i8* [ %scevgep167, %.preheader35.lr.ph.us.preheader ], [ %scevgep169, %._crit_edge.us ] %27 = phi i64 [ %29, %._crit_edge.us ], [ 0, %.preheader35.lr.ph.us.preheader ] %28 = add nuw nsw i64 %27, %15 br label %.preheader35.us, !dbg !196 ._crit_edge.us: ; preds = %31 %29 = add nuw nsw i64 %27, 16, !dbg !196 %scevgep169 = getelementptr i8, i8* %lsr.iv168, i64 2048, !dbg !196 %30 = icmp ult i64 %27, 112, !dbg !196 br i1 %30, label %.preheader35.lr.ph.us, label %.preheader36.lr.ph, !dbg !196 31: ; preds = %.preheader.us %32 = add nuw nsw i64 %98, 1, !dbg !196 %scevgep161 = getelementptr i32, i32* %lsr.iv160, i64 32, !dbg !196 %exitcond53.not = icmp eq i64 %32, %smin55, !dbg !196 br i1 %exitcond53.not, label %._crit_edge.us, label %.preheader35.us, !dbg !196 .preheader.us: ; preds = %.preheader35.us, %.preheader.us %lsr.iv170 = phi i8* [ %lsr.iv168, %.preheader35.us ], [ %scevgep171, %.preheader.us ] %lsr.iv162 = phi i64 [ 0, %.preheader35.us ], [ %lsr.iv.next163, %.preheader.us ] %33 = bitcast i32* %lsr.iv160 to i8* %uglygep = getelementptr i8, i8* %33, i64 %lsr.iv162 %uglygep165 = bitcast i8* %uglygep to i32* %.promoted.us = load i32, i32* %uglygep165, align 4 %scevgep172 = getelementptr i8, i8* %lsr.iv170, i64 -1024, !dbg !196 %34 = load i8, i8* %scevgep172, align 1, !dbg !196 %35 = sext i8 %34 to i32 %36 = mul nsw i32 %35, %102 %37 = add i32 %36, %.promoted.us %scevgep175 = getelementptr i8, i8* %lsr.iv170, i64 -896, !dbg !196 %38 = load i8, i8* %scevgep175, align 1, !dbg !196 %39 = sext i8 %38 to i32 %40 = mul nsw i32 %39, %106 %41 = add i32 %40, %37 %scevgep176 = getelementptr i8, i8* %lsr.iv170, i64 -768, !dbg !196 %42 = load i8, i8* %scevgep176, align 1, !dbg !196 %43 = sext i8 %42 to i32 %44 = mul nsw i32 %43, %110 %45 = add i32 %44, %41 %scevgep177 = getelementptr i8, i8* %lsr.iv170, i64 -640, !dbg !196 %46 = load i8, i8* %scevgep177, align 1, !dbg !196 %47 = sext i8 %46 to i32 %48 = mul nsw i32 %47, %114 %49 = add i32 %48, %45 %scevgep178 = getelementptr i8, i8* %lsr.iv170, i64 -512, !dbg !196 %50 = load i8, i8* %scevgep178, align 1, !dbg !196 %51 = sext i8 %50 to i32 %52 = mul nsw i32 %51, %118 %53 = add i32 %52, %49 %scevgep179 = getelementptr i8, i8* %lsr.iv170, i64 -384, !dbg !196 %54 = load i8, i8* %scevgep179, align 1, !dbg !196 %55 = sext i8 %54 to i32 %56 = mul nsw i32 %55, %122 %57 = add i32 %56, %53 %scevgep180 = getelementptr i8, i8* %lsr.iv170, i64 -256, !dbg !196 %58 = load i8, i8* %scevgep180, align 1, !dbg !196 %59 = sext i8 %58 to i32 %60 = mul nsw i32 %59, %126 %61 = add i32 %60, %57 %scevgep181 = getelementptr i8, i8* %lsr.iv170, i64 -128, !dbg !196 %62 = load i8, i8* %scevgep181, align 1, !dbg !196 %63 = sext i8 %62 to i32 %64 = mul nsw i32 %63, %130 %65 = add i32 %64, %61 %66 = load i8, i8* %lsr.iv170, align 1, !dbg !196 %67 = sext i8 %66 to i32 %68 = mul nsw i32 %67, %134 %69 = add i32 %68, %65 %scevgep183 = getelementptr i8, i8* %lsr.iv170, i64 128, !dbg !196 %70 = load i8, i8* %scevgep183, align 1, !dbg !196 %71 = sext i8 %70 to i32 %72 = mul nsw i32 %71, %138 %73 = add i32 %72, %69 %scevgep184 = getelementptr i8, i8* %lsr.iv170, i64 256, !dbg !196 %74 = load i8, i8* %scevgep184, align 1, !dbg !196 %75 = sext i8 %74 to i32 %76 = mul nsw i32 %75, %142 %77 = add i32 %76, %73 %scevgep185 = getelementptr i8, i8* %lsr.iv170, i64 384, !dbg !196 %78 = load i8, i8* %scevgep185, align 1, !dbg !196 %79 = sext i8 %78 to i32 %80 = mul nsw i32 %79, %146 %81 = add i32 %80, %77 %scevgep186 = getelementptr i8, i8* %lsr.iv170, i64 512, !dbg !196 %82 = load i8, i8* %scevgep186, align 1, !dbg !196 %83 = sext i8 %82 to i32 %84 = mul nsw i32 %83, %150 %85 = add i32 %84, %81 %scevgep182 = getelementptr i8, i8* %lsr.iv170, i64 640, !dbg !196 %86 = load i8, i8* %scevgep182, align 1, !dbg !196 %87 = sext i8 %86 to i32 %88 = mul nsw i32 %87, %154 %89 = add i32 %88, %85 %scevgep174 = getelementptr i8, i8* %lsr.iv170, i64 768, !dbg !196 %90 = load i8, i8* %scevgep174, align 1, !dbg !196 %91 = sext i8 %90 to i32 %92 = mul nsw i32 %91, %158 %93 = add i32 %92, %89 %scevgep173 = getelementptr i8, i8* %lsr.iv170, i64 896, !dbg !196 %94 = load i8, i8* %scevgep173, align 1, !dbg !196 %95 = sext i8 %94 to i32 %96 = mul nsw i32 %95, %162 %97 = add i32 %96, %93 store i32 %97, i32* %uglygep165, align 4, !dbg !196 %lsr.iv.next163 = add nuw nsw i64 %lsr.iv162, 4, !dbg !196 %scevgep171 = getelementptr i8, i8* %lsr.iv170, i64 1, !dbg !196 %exitcond51.not = icmp eq i64 %lsr.iv.next163, 128, !dbg !196 br i1 %exitcond51.not, label %31, label %.preheader.us, !dbg !196 .preheader35.us: ; preds = %.preheader35.lr.ph.us, %31 %lsr.iv160 = phi i32* [ %26, %.preheader35.lr.ph.us ], [ %scevgep161, %31 ] %98 = phi i64 [ 0, %.preheader35.lr.ph.us ], [ %32, %31 ] %reass.add30.us = add nuw nsw i64 %98, %18 %reass.mul31.us = shl i64 %reass.add30.us, 7 %99 = add nuw nsw i64 %28, %reass.mul31.us %100 = getelementptr i8, i8* %4, i64 %99, !dbg !196 %101 = load i8, i8* %100, align 16 %102 = sext i8 %101 to i32 %103 = or i64 %99, 1 %104 = getelementptr i8, i8* %4, i64 %103 %105 = load i8, i8* %104, align 1 %106 = sext i8 %105 to i32 %107 = or i64 %99, 2 %108 = getelementptr i8, i8* %4, i64 %107 %109 = load i8, i8* %108, align 2 %110 = sext i8 %109 to i32 %111 = or i64 %99, 3 %112 = getelementptr i8, i8* %4, i64 %111 %113 = load i8, i8* %112, align 1 %114 = sext i8 %113 to i32 %115 = or i64 %99, 4 %116 = getelementptr i8, i8* %4, i64 %115 %117 = load i8, i8* %116, align 4 %118 = sext i8 %117 to i32 %119 = or i64 %99, 5 %120 = getelementptr i8, i8* %4, i64 %119 %121 = load i8, i8* %120, align 1 %122 = sext i8 %121 to i32 %123 = or i64 %99, 6 %124 = getelementptr i8, i8* %4, i64 %123 %125 = load i8, i8* %124, align 2 %126 = sext i8 %125 to i32 %127 = or i64 %99, 7 %128 = getelementptr i8, i8* %4, i64 %127 %129 = load i8, i8* %128, align 1 %130 = sext i8 %129 to i32 %131 = or i64 %99, 8 %132 = getelementptr i8, i8* %4, i64 %131 %133 = load i8, i8* %132, align 8 %134 = sext i8 %133 to i32 %135 = or i64 %99, 9 %136 = getelementptr i8, i8* %4, i64 %135 %137 = load i8, i8* %136, align 1 %138 = sext i8 %137 to i32 %139 = or i64 %99, 10 %140 = getelementptr i8, i8* %4, i64 %139 %141 = load i8, i8* %140, align 2 %142 = sext i8 %141 to i32 %143 = or i64 %99, 11 %144 = getelementptr i8, i8* %4, i64 %143 %145 = load i8, i8* %144, align 1 %146 = sext i8 %145 to i32 %147 = or i64 %99, 12 %148 = getelementptr i8, i8* %4, i64 %147 %149 = load i8, i8* %148, align 4 %150 = sext i8 %149 to i32 %151 = or i64 %99, 13 %152 = getelementptr i8, i8* %4, i64 %151 %153 = load i8, i8* %152, align 1 %154 = sext i8 %153 to i32 %155 = or i64 %99, 14 %156 = getelementptr i8, i8* %4, i64 %155 %157 = load i8, i8* %156, align 2 %158 = sext i8 %157 to i32 %159 = or i64 %99, 15 %160 = getelementptr i8, i8* %4, i64 %159 %161 = load i8, i8* %160, align 1 %162 = sext i8 %161 to i32 br label %.preheader.us, !dbg !196 .preheader38: ; preds = %.preheader38.preheader, %.preheader38 %lsr.iv127 = phi i32* [ %scevgep126, %.preheader38.preheader ], [ %scevgep128, %.preheader38 ] %lsr.iv93 = phi i32* [ %scevgep, %.preheader38.preheader ], [ %scevgep94, %.preheader38 ] %lsr.iv91 = phi i64 [ %smin90, %.preheader38.preheader ], [ %lsr.iv.next92, %.preheader38 ] %scevgep95 = getelementptr i32, i32* %lsr.iv93, i64 -16, !dbg !196 %163 = load i32, i32* %scevgep95, align 128, !dbg !196 %scevgep130 = getelementptr i32, i32* %lsr.iv127, i64 -16, !dbg !196 store i32 %163, i32* %scevgep130, align 128, !dbg !196 %scevgep97 = getelementptr i32, i32* %lsr.iv93, i64 -15, !dbg !196 %164 = load i32, i32* %scevgep97, align 4, !dbg !196 %scevgep131 = getelementptr i32, i32* %lsr.iv127, i64 -15, !dbg !196 store i32 %164, i32* %scevgep131, align 4, !dbg !196 %scevgep98 = getelementptr i32, i32* %lsr.iv93, i64 -14, !dbg !196 %165 = load i32, i32* %scevgep98, align 8, !dbg !196 %scevgep132 = getelementptr i32, i32* %lsr.iv127, i64 -14, !dbg !196 store i32 %165, i32* %scevgep132, align 8, !dbg !196 %scevgep99 = getelementptr i32, i32* %lsr.iv93, i64 -13, !dbg !196 %166 = load i32, i32* %scevgep99, align 4, !dbg !196 %scevgep133 = getelementptr i32, i32* %lsr.iv127, i64 -13, !dbg !196 store i32 %166, i32* %scevgep133, align 4, !dbg !196 %scevgep100 = getelementptr i32, i32* %lsr.iv93, i64 -12, !dbg !196 %167 = load i32, i32* %scevgep100, align 16, !dbg !196 %scevgep134 = getelementptr i32, i32* %lsr.iv127, i64 -12, !dbg !196 store i32 %167, i32* %scevgep134, align 16, !dbg !196 %scevgep101 = getelementptr i32, i32* %lsr.iv93, i64 -11, !dbg !196 %168 = load i32, i32* %scevgep101, align 4, !dbg !196 %scevgep135 = getelementptr i32, i32* %lsr.iv127, i64 -11, !dbg !196 store i32 %168, i32* %scevgep135, align 4, !dbg !196 %scevgep102 = getelementptr i32, i32* %lsr.iv93, i64 -10, !dbg !196 %169 = load i32, i32* %scevgep102, align 8, !dbg !196 %scevgep136 = getelementptr i32, i32* %lsr.iv127, i64 -10, !dbg !196 store i32 %169, i32* %scevgep136, align 8, !dbg !196 %scevgep103 = getelementptr i32, i32* %lsr.iv93, i64 -9, !dbg !196 %170 = load i32, i32* %scevgep103, align 4, !dbg !196 %scevgep137 = getelementptr i32, i32* %lsr.iv127, i64 -9, !dbg !196 store i32 %170, i32* %scevgep137, align 4, !dbg !196 %scevgep104 = getelementptr i32, i32* %lsr.iv93, i64 -8, !dbg !196 %171 = load i32, i32* %scevgep104, align 32, !dbg !196 %scevgep138 = getelementptr i32, i32* %lsr.iv127, i64 -8, !dbg !196 store i32 %171, i32* %scevgep138, align 32, !dbg !196 %scevgep105 = getelementptr i32, i32* %lsr.iv93, i64 -7, !dbg !196 %172 = load i32, i32* %scevgep105, align 4, !dbg !196 %scevgep139 = getelementptr i32, i32* %lsr.iv127, i64 -7, !dbg !196 store i32 %172, i32* %scevgep139, align 4, !dbg !196 %scevgep106 = getelementptr i32, i32* %lsr.iv93, i64 -6, !dbg !196 %173 = load i32, i32* %scevgep106, align 8, !dbg !196 %scevgep140 = getelementptr i32, i32* %lsr.iv127, i64 -6, !dbg !196 store i32 %173, i32* %scevgep140, align 8, !dbg !196 %scevgep107 = getelementptr i32, i32* %lsr.iv93, i64 -5, !dbg !196 %174 = load i32, i32* %scevgep107, align 4, !dbg !196 %scevgep141 = getelementptr i32, i32* %lsr.iv127, i64 -5, !dbg !196 store i32 %174, i32* %scevgep141, align 4, !dbg !196 %scevgep108 = getelementptr i32, i32* %lsr.iv93, i64 -4, !dbg !196 %175 = load i32, i32* %scevgep108, align 16, !dbg !196 %scevgep142 = getelementptr i32, i32* %lsr.iv127, i64 -4, !dbg !196 store i32 %175, i32* %scevgep142, align 16, !dbg !196 %scevgep109 = getelementptr i32, i32* %lsr.iv93, i64 -3, !dbg !196 %176 = load i32, i32* %scevgep109, align 4, !dbg !196 %scevgep143 = getelementptr i32, i32* %lsr.iv127, i64 -3, !dbg !196 store i32 %176, i32* %scevgep143, align 4, !dbg !196 %scevgep110 = getelementptr i32, i32* %lsr.iv93, i64 -2, !dbg !196 %177 = load i32, i32* %scevgep110, align 8, !dbg !196 %scevgep144 = getelementptr i32, i32* %lsr.iv127, i64 -2, !dbg !196 store i32 %177, i32* %scevgep144, align 8, !dbg !196 %scevgep111 = getelementptr i32, i32* %lsr.iv93, i64 -1, !dbg !196 %178 = load i32, i32* %scevgep111, align 4, !dbg !196 %scevgep145 = getelementptr i32, i32* %lsr.iv127, i64 -1, !dbg !196 store i32 %178, i32* %scevgep145, align 4, !dbg !196 %179 = load i32, i32* %lsr.iv93, align 64, !dbg !196 store i32 %179, i32* %lsr.iv127, align 64, !dbg !196 %scevgep113 = getelementptr i32, i32* %lsr.iv93, i64 1, !dbg !196 %180 = load i32, i32* %scevgep113, align 4, !dbg !196 %scevgep146 = getelementptr i32, i32* %lsr.iv127, i64 1, !dbg !196 store i32 %180, i32* %scevgep146, align 4, !dbg !196 %scevgep114 = getelementptr i32, i32* %lsr.iv93, i64 2, !dbg !196 %181 = load i32, i32* %scevgep114, align 8, !dbg !196 %scevgep147 = getelementptr i32, i32* %lsr.iv127, i64 2, !dbg !196 store i32 %181, i32* %scevgep147, align 8, !dbg !196 %scevgep115 = getelementptr i32, i32* %lsr.iv93, i64 3, !dbg !196 %182 = load i32, i32* %scevgep115, align 4, !dbg !196 %scevgep148 = getelementptr i32, i32* %lsr.iv127, i64 3, !dbg !196 store i32 %182, i32* %scevgep148, align 4, !dbg !196 %scevgep116 = getelementptr i32, i32* %lsr.iv93, i64 4, !dbg !196 %183 = load i32, i32* %scevgep116, align 16, !dbg !196 %scevgep149 = getelementptr i32, i32* %lsr.iv127, i64 4, !dbg !196 store i32 %183, i32* %scevgep149, align 16, !dbg !196 %scevgep117 = getelementptr i32, i32* %lsr.iv93, i64 5, !dbg !196 %184 = load i32, i32* %scevgep117, align 4, !dbg !196 %scevgep150 = getelementptr i32, i32* %lsr.iv127, i64 5, !dbg !196 store i32 %184, i32* %scevgep150, align 4, !dbg !196 %scevgep118 = getelementptr i32, i32* %lsr.iv93, i64 6, !dbg !196 %185 = load i32, i32* %scevgep118, align 8, !dbg !196 %scevgep151 = getelementptr i32, i32* %lsr.iv127, i64 6, !dbg !196 store i32 %185, i32* %scevgep151, align 8, !dbg !196 %scevgep119 = getelementptr i32, i32* %lsr.iv93, i64 7, !dbg !196 %186 = load i32, i32* %scevgep119, align 4, !dbg !196 %scevgep152 = getelementptr i32, i32* %lsr.iv127, i64 7, !dbg !196 store i32 %186, i32* %scevgep152, align 4, !dbg !196 %scevgep120 = getelementptr i32, i32* %lsr.iv93, i64 8, !dbg !196 %187 = load i32, i32* %scevgep120, align 32, !dbg !196 %scevgep153 = getelementptr i32, i32* %lsr.iv127, i64 8, !dbg !196 store i32 %187, i32* %scevgep153, align 32, !dbg !196 %scevgep121 = getelementptr i32, i32* %lsr.iv93, i64 9, !dbg !196 %188 = load i32, i32* %scevgep121, align 4, !dbg !196 %scevgep154 = getelementptr i32, i32* %lsr.iv127, i64 9, !dbg !196 store i32 %188, i32* %scevgep154, align 4, !dbg !196 %scevgep122 = getelementptr i32, i32* %lsr.iv93, i64 10, !dbg !196 %189 = load i32, i32* %scevgep122, align 8, !dbg !196 %scevgep155 = getelementptr i32, i32* %lsr.iv127, i64 10, !dbg !196 store i32 %189, i32* %scevgep155, align 8, !dbg !196 %scevgep123 = getelementptr i32, i32* %lsr.iv93, i64 11, !dbg !196 %190 = load i32, i32* %scevgep123, align 4, !dbg !196 %scevgep156 = getelementptr i32, i32* %lsr.iv127, i64 11, !dbg !196 store i32 %190, i32* %scevgep156, align 4, !dbg !196 %scevgep124 = getelementptr i32, i32* %lsr.iv93, i64 12, !dbg !196 %191 = load i32, i32* %scevgep124, align 16, !dbg !196 %scevgep157 = getelementptr i32, i32* %lsr.iv127, i64 12, !dbg !196 store i32 %191, i32* %scevgep157, align 16, !dbg !196 %scevgep125 = getelementptr i32, i32* %lsr.iv93, i64 13, !dbg !196 %192 = load i32, i32* %scevgep125, align 4, !dbg !196 %scevgep158 = getelementptr i32, i32* %lsr.iv127, i64 13, !dbg !196 store i32 %192, i32* %scevgep158, align 4, !dbg !196 %scevgep112 = getelementptr i32, i32* %lsr.iv93, i64 14, !dbg !196 %193 = load i32, i32* %scevgep112, align 8, !dbg !196 %scevgep159 = getelementptr i32, i32* %lsr.iv127, i64 14, !dbg !196 store i32 %193, i32* %scevgep159, align 8, !dbg !196 %scevgep96 = getelementptr i32, i32* %lsr.iv93, i64 15, !dbg !196 %194 = load i32, i32* %scevgep96, align 4, !dbg !196 %scevgep129 = getelementptr i32, i32* %lsr.iv127, i64 15, !dbg !196 store i32 %194, i32* %scevgep129, align 4, !dbg !196 %lsr.iv.next92 = add nsw i64 %lsr.iv91, -1, !dbg !196 %scevgep94 = getelementptr i32, i32* %lsr.iv93, i64 32, !dbg !196 %scevgep128 = getelementptr i32, i32* %lsr.iv127, i64 32, !dbg !196 %exitcond49.not = icmp eq i64 %lsr.iv.next92, 0, !dbg !196 br i1 %exitcond49.not, label %.preheader35.lr.ph.us.preheader, label %.preheader38, !dbg !196 .preheader35.lr.ph.us.preheader: ; preds = %.preheader38 %scevgep167 = getelementptr i8, i8* %scevgep166, i64 %25, !dbg !196 br label %.preheader35.lr.ph.us, !dbg !196 .preheader36.lr.ph: ; preds = %._crit_edge.us %scevgep194 = getelementptr [128 x i8], [128 x i8]* @__constant_128xi8_1, i64 0, i64 %25, !dbg !199 %195 = shl nuw nsw i64 %25, 2, !dbg !199 %scevgep200 = getelementptr i8, i8* %scevgep199, i64 %195, !dbg !199 %scevgep204 = getelementptr i8, i8* %scevgep203, i64 %195, !dbg !199 %scevgep208 = getelementptr i8, i8* %scevgep207, i64 %195, !dbg !199 %scevgep213 = getelementptr i8, i8* %scevgep212, i64 %25, !dbg !199 br label %.preheader36, !dbg !199 .preheader36: ; preds = %.preheader36.lr.ph, %224 %lsr.iv214 = phi i8* [ %scevgep213, %.preheader36.lr.ph ], [ %scevgep215, %224 ] %lsr.iv189 = phi i32* [ %26, %.preheader36.lr.ph ], [ %scevgep190, %224 ] %196 = phi i64 [ 0, %.preheader36.lr.ph ], [ %225, %224 ] %197 = bitcast i8* %scevgep194 to [128 x i8]*, !dbg !199 br label %198, !dbg !199 198: ; preds = %.preheader36, %198 %lsr.iv216 = phi i8* [ %lsr.iv214, %.preheader36 ], [ %scevgep217, %198 ] %lsr.iv196 = phi [128 x i8]* [ %197, %.preheader36 ], [ %223, %198 ] %lsr.iv187 = phi i64 [ 0, %.preheader36 ], [ %lsr.iv.next188, %198 ] %199 = bitcast i32* %lsr.iv189 to i8* %lsr.iv196198 = bitcast [128 x i8]* %lsr.iv196 to i8*, !dbg !199 %scevgep209 = getelementptr i8, i8* %scevgep208, i64 %lsr.iv187, !dbg !199 %scevgep209210 = bitcast i8* %scevgep209 to i32*, !dbg !199 %200 = load i32, i32* %scevgep209210, align 4, !dbg !199 %uglygep192 = getelementptr i8, i8* %199, i64 %lsr.iv187, !dbg !199 %uglygep192193 = bitcast i8* %uglygep192 to i32*, !dbg !199 %201 = load i32, i32* %uglygep192193, align 4, !dbg !199 %scevgep205 = getelementptr i8, i8* %scevgep204, i64 %lsr.iv187, !dbg !199 %scevgep205206 = bitcast i8* %scevgep205 to i32*, !dbg !199 %202 = load i32, i32* %scevgep205206, align 4, !dbg !199 %scevgep201 = getelementptr i8, i8* %scevgep200, i64 %lsr.iv187, !dbg !199 %scevgep201202 = bitcast i8* %scevgep201 to i32*, !dbg !199 %203 = load i32, i32* %scevgep201202, align 4, !dbg !199 %204 = load i8, i8* %lsr.iv196198, align 1, !dbg !199 %.neg = shl i32 %202, 7, !dbg !196 %205 = add i32 %201, %200, !dbg !196 %206 = add i32 %205, %.neg, !dbg !196 %207 = sext i32 %206 to i64, !dbg !199 %208 = sext i32 %203 to i64, !dbg !199 %209 = mul nsw i64 %207, %208, !dbg !199 %210 = zext i8 %204 to i64, !dbg !199 %211 = shl nuw i64 1, %210, !dbg !199 %212 = lshr i64 %211, 1, !dbg !199 %213 = add i64 %209, %212, !dbg !199 %214 = icmp sgt i32 %206, -1, !dbg !199 %215 = select i1 %214, i64 1073741824, i64 -1073741824, !dbg !199 %216 = add i64 %213, %215, !dbg !199 %217 = ashr i64 %216, %210, !dbg !199 %218 = trunc i64 %217 to i32, !dbg !199 %219 = add i32 %218, -128, !dbg !199 %220 = tail call i32 @llvm.smax.i32(i32 %219, i32 -128), !dbg !199 %221 = tail call i32 @llvm.smin.i32(i32 %220, i32 127), !dbg !199 %222 = trunc i32 %221 to i8, !dbg !199 store i8 %222, i8* %lsr.iv216, align 1, !dbg !199 %lsr.iv.next188 = add nuw nsw i64 %lsr.iv187, 4, !dbg !199 %scevgep197 = getelementptr [128 x i8], [128 x i8]* %lsr.iv196, i64 0, i64 1, !dbg !199 %223 = bitcast i8* %scevgep197 to [128 x i8]*, !dbg !199 %scevgep217 = getelementptr i8, i8* %lsr.iv216, i64 1, !dbg !199 %exitcond54.not = icmp eq i64 %lsr.iv.next188, 128, !dbg !199 br i1 %exitcond54.not, label %224, label %198, !dbg !199 224: ; preds = %198 %225 = add nuw nsw i64 %196, 1, !dbg !199 %scevgep190 = getelementptr i32, i32* %lsr.iv189, i64 32, !dbg !199 %scevgep215 = getelementptr i8, i8* %lsr.iv214, i64 128, !dbg !199 %exitcond56.not = icmp eq i64 %225, %smin55, !dbg !199 br i1 %exitcond56.not, label %._crit_edge, label %.preheader36, !dbg !199 ._crit_edge: ; preds = %224 br i1 %23, label %.preheader38.preheader, label %226, !dbg !199 226: ; preds = %._crit_edge %indvars.iv.next = add nsw i64 %indvars.iv, -8, !dbg !199 br i1 %17, label %.preheader40.preheader, label %227, !dbg !199 227: ; preds = %226 ret i32 0, !dbg !199 } ; Function Attrs: nofree nosync nounwind define internal i32 @main_dispatch_40(%iree_hal_executable_environment_v0_t* noalias nocapture nonnull readnone byref(%iree_hal_executable_environment_v0_t) align 16 %0, %iree_hal_executable_dispatch_state_v0_t* noalias nocapture nonnull readonly byref(%iree_hal_executable_dispatch_state_v0_t) align 16 %1, %iree_hal_executable_workgroup_state_v0_t* noalias nocapture nonnull readonly byref(%iree_hal_executable_workgroup_state_v0_t) align 16 %2) #0 !dbg !200 { %.elt20 = getelementptr inbounds %iree_hal_executable_dispatch_state_v0_t, %iree_hal_executable_dispatch_state_v0_t* %1, i64 0, i32 10, !dbg !201 %.unpack21 = load i8**, i8*** %.elt20, align 16, !dbg !201 %4 = load i8*, i8** %.unpack21, align 8, !dbg !201 %5 = getelementptr i8, i8* %4, i64 12544, !dbg !201 %6 = getelementptr i8*, i8** %.unpack21, i64 1, !dbg !204 %7 = load i8*, i8** %6, align 8, !dbg !204 %8 = getelementptr i8, i8* %7, i64 17920, !dbg !204 %9 = getelementptr i8, i8* %4, i64 218368, !dbg !205 %10 = getelementptr i8*, i8** %.unpack21, i64 2, !dbg !205 %11 = load i8*, i8** %10, align 8, !dbg !205 %12 = load %iree_hal_executable_workgroup_state_v0_t, %iree_hal_executable_workgroup_state_v0_t* %2, align 16, !dbg !205 %13 = extractvalue %iree_hal_executable_workgroup_state_v0_t %12, 0, !dbg !205 %14 = zext i32 %13 to i64, !dbg !205 %15 = extractvalue %iree_hal_executable_workgroup_state_v0_t %12, 1, !dbg !205 %16 = zext i32 %15 to i64, !dbg !205 %17 = extractvalue %iree_hal_executable_workgroup_state_v0_t %12, 2, !dbg !205 %18 = zext i16 %17 to i64, !dbg !205 %19 = shl nuw nsw i64 %14, 5, !dbg !205 %20 = mul nuw nsw i64 %18, 1536, !dbg !205 br label %.preheader24, !dbg !205 .preheader24: ; preds = %3, %129 %21 = phi i64 [ 0, %3 ], [ %130, %129 ] %reass.add = add nuw nsw i64 %21, %16 %reass.mul = mul nuw nsw i64 %reass.add, 768 br label %.preheader, !dbg !205 .preheader: ; preds = %.preheader24, %127 %22 = phi i64 [ 0, %.preheader24 ], [ %128, %127 ] %23 = shl i64 %22, 7 br label %24, !dbg !205 24: ; preds = %.preheader, %24 %25 = phi i1 [ true, %.preheader ], [ false, %24 ] %26 = phi i64 [ 0, %.preheader ], [ 16, %24 ] %27 = bitcast i8* %9 to i32*, !dbg !205 %28 = bitcast i8* %8 to i32*, !dbg !204 %29 = bitcast i8* %5 to i32*, !dbg !201 %30 = or i64 %26, %19, !dbg !205 %31 = getelementptr i32, i32* %29, i64 %30, !dbg !205 %32 = bitcast i32* %31 to <16 x i32>*, !dbg !205 %33 = load <16 x i32>, <16 x i32>* %32, align 64, !dbg !205 %34 = add nuw nsw i64 %30, %20, !dbg !205 %35 = add nuw i64 %34, %reass.mul, !dbg !205 %36 = add nuw nsw i64 %35, %23, !dbg !205 %37 = getelementptr i32, i32* %28, i64 %36, !dbg !205 %38 = bitcast i32* %37 to <16 x i32>*, !dbg !205 %39 = load <16 x i32>, <16 x i32>* %38, align 4, !dbg !205 %40 = getelementptr i32, i32* %27, i64 %30, !dbg !205 %41 = bitcast i32* %40 to <16 x i32>*, !dbg !205 %42 = load <16 x i32>, <16 x i32>* %41, align 64, !dbg !205 %43 = getelementptr [128 x i8], [128 x i8]* @__constant_128xi8_2, i64 0, i64 %30, !dbg !205 %44 = load i8, i8* %43, align 16, !dbg !205 %45 = insertelement <16 x i8> , i8 %44, i64 0, !dbg !205 %46 = or i64 %30, 1, !dbg !205 %47 = getelementptr [128 x i8], [128 x i8]* @__constant_128xi8_2, i64 0, i64 %46, !dbg !205 %48 = load i8, i8* %47, align 1, !dbg !205 %49 = insertelement <16 x i8> %45, i8 %48, i64 1, !dbg !205 %50 = or i64 %30, 2, !dbg !205 %51 = getelementptr [128 x i8], [128 x i8]* @__constant_128xi8_2, i64 0, i64 %50, !dbg !205 %52 = load i8, i8* %51, align 2, !dbg !205 %53 = insertelement <16 x i8> %49, i8 %52, i64 2, !dbg !205 %54 = or i64 %30, 3, !dbg !205 %55 = getelementptr [128 x i8], [128 x i8]* @__constant_128xi8_2, i64 0, i64 %54, !dbg !205 %56 = load i8, i8* %55, align 1, !dbg !205 %57 = insertelement <16 x i8> %53, i8 %56, i64 3, !dbg !205 %58 = or i64 %30, 4, !dbg !205 %59 = getelementptr [128 x i8], [128 x i8]* @__constant_128xi8_2, i64 0, i64 %58, !dbg !205 %60 = load i8, i8* %59, align 4, !dbg !205 %61 = insertelement <16 x i8> %57, i8 %60, i64 4, !dbg !205 %62 = or i64 %30, 5, !dbg !205 %63 = getelementptr [128 x i8], [128 x i8]* @__constant_128xi8_2, i64 0, i64 %62, !dbg !205 %64 = load i8, i8* %63, align 1, !dbg !205 %65 = insertelement <16 x i8> %61, i8 %64, i64 5, !dbg !205 %66 = or i64 %30, 6, !dbg !205 %67 = getelementptr [128 x i8], [128 x i8]* @__constant_128xi8_2, i64 0, i64 %66, !dbg !205 %68 = load i8, i8* %67, align 2, !dbg !205 %69 = insertelement <16 x i8> %65, i8 %68, i64 6, !dbg !205 %70 = or i64 %30, 7, !dbg !205 %71 = getelementptr [128 x i8], [128 x i8]* @__constant_128xi8_2, i64 0, i64 %70, !dbg !205 %72 = load i8, i8* %71, align 1, !dbg !205 %73 = insertelement <16 x i8> %69, i8 %72, i64 7, !dbg !205 %74 = or i64 %30, 8, !dbg !205 %75 = getelementptr [128 x i8], [128 x i8]* @__constant_128xi8_2, i64 0, i64 %74, !dbg !205 %76 = load i8, i8* %75, align 8, !dbg !205 %77 = insertelement <16 x i8> %73, i8 %76, i64 8, !dbg !205 %78 = or i64 %30, 9, !dbg !205 %79 = getelementptr [128 x i8], [128 x i8]* @__constant_128xi8_2, i64 0, i64 %78, !dbg !205 %80 = load i8, i8* %79, align 1, !dbg !205 %81 = insertelement <16 x i8> %77, i8 %80, i64 9, !dbg !205 %82 = or i64 %30, 10, !dbg !205 %83 = getelementptr [128 x i8], [128 x i8]* @__constant_128xi8_2, i64 0, i64 %82, !dbg !205 %84 = load i8, i8* %83, align 2, !dbg !205 %85 = insertelement <16 x i8> %81, i8 %84, i64 10, !dbg !205 %86 = or i64 %30, 11, !dbg !205 %87 = getelementptr [128 x i8], [128 x i8]* @__constant_128xi8_2, i64 0, i64 %86, !dbg !205 %88 = load i8, i8* %87, align 1, !dbg !205 %89 = insertelement <16 x i8> %85, i8 %88, i64 11, !dbg !205 %90 = or i64 %30, 12, !dbg !205 %91 = getelementptr [128 x i8], [128 x i8]* @__constant_128xi8_2, i64 0, i64 %90, !dbg !205 %92 = load i8, i8* %91, align 4, !dbg !205 %93 = insertelement <16 x i8> %89, i8 %92, i64 12, !dbg !205 %94 = or i64 %30, 13, !dbg !205 %95 = getelementptr [128 x i8], [128 x i8]* @__constant_128xi8_2, i64 0, i64 %94, !dbg !205 %96 = load i8, i8* %95, align 1, !dbg !205 %97 = insertelement <16 x i8> %93, i8 %96, i64 13, !dbg !205 %98 = or i64 %30, 14, !dbg !205 %99 = getelementptr [128 x i8], [128 x i8]* @__constant_128xi8_2, i64 0, i64 %98, !dbg !205 %100 = load i8, i8* %99, align 2, !dbg !205 %101 = insertelement <16 x i8> %97, i8 %100, i64 14, !dbg !205 %102 = or i64 %30, 15, !dbg !205 %103 = getelementptr [128 x i8], [128 x i8]* @__constant_128xi8_2, i64 0, i64 %102, !dbg !205 %104 = load i8, i8* %103, align 1, !dbg !205 %105 = insertelement <16 x i8> %101, i8 %104, i64 15, !dbg !205 %106 = add <16 x i32> %39, %33, !dbg !204 %107 = sext <16 x i32> %106 to <16 x i64>, !dbg !205 %108 = sext <16 x i32> %42 to <16 x i64>, !dbg !205 %109 = mul nsw <16 x i64> %107, %108, !dbg !205 %110 = zext <16 x i8> %105 to <16 x i64>, !dbg !205 %111 = shl <16 x i64> , %110, !dbg !205 %112 = lshr <16 x i64> %111, , !dbg !205 %113 = icmp sgt <16 x i32> %106, , !dbg !205 %114 = select <16 x i1> %113, <16 x i64> , <16 x i64> , !dbg !205 %115 = icmp ugt <16 x i8> %105, , !dbg !205 %116 = select <16 x i1> %115, <16 x i64> %114, <16 x i64> zeroinitializer, !dbg !205 %117 = add <16 x i64> %116, %109, !dbg !205 %118 = add <16 x i64> %117, %112, !dbg !205 %119 = ashr <16 x i64> %118, %110, !dbg !205 %120 = trunc <16 x i64> %119 to <16 x i32>, !dbg !205 %121 = add <16 x i32> %120, , !dbg !205 %122 = tail call <16 x i32> @llvm.smax.v16i32(<16 x i32> %121, <16 x i32> ), !dbg !205 %123 = tail call <16 x i32> @llvm.smin.v16i32(<16 x i32> %122, <16 x i32> ), !dbg !205 %124 = trunc <16 x i32> %123 to <16 x i8>, !dbg !205 %125 = getelementptr i8, i8* %11, i64 %36, !dbg !205 %126 = bitcast i8* %125 to <16 x i8>*, !dbg !205 store <16 x i8> %124, <16 x i8>* %126, align 1, !dbg !205 br i1 %25, label %24, label %127, !dbg !205 127: ; preds = %24 %128 = add nuw nsw i64 %22, 1, !dbg !205 %exitcond.not = icmp eq i64 %128, 6, !dbg !205 br i1 %exitcond.not, label %129, label %.preheader, !dbg !205 129: ; preds = %127 %130 = add nuw nsw i64 %21, 1, !dbg !205 %exitcond25.not = icmp eq i64 %130, 2, !dbg !205 br i1 %exitcond25.not, label %131, label %.preheader24, !dbg !205 131: ; preds = %129 ret i32 0, !dbg !205 } ; Function Attrs: nofree nosync nounwind define internal i32 @main_dispatch_42(%iree_hal_executable_environment_v0_t* noalias nocapture nonnull readnone byref(%iree_hal_executable_environment_v0_t) align 16 %0, %iree_hal_executable_dispatch_state_v0_t* noalias nocapture nonnull readonly byref(%iree_hal_executable_dispatch_state_v0_t) align 16 %1, %iree_hal_executable_workgroup_state_v0_t* noalias nocapture nonnull readonly byref(%iree_hal_executable_workgroup_state_v0_t) align 16 %2) #0 !dbg !206 { %.elt26 = getelementptr inbounds %iree_hal_executable_dispatch_state_v0_t, %iree_hal_executable_dispatch_state_v0_t* %1, i64 0, i32 10, !dbg !207 %.unpack27 = load i8**, i8*** %.elt26, align 16, !dbg !207 %4 = load i8*, i8** %.unpack27, align 8, !dbg !207 %5 = getelementptr i8*, i8** %.unpack27, i64 1, !dbg !207 %6 = load i8*, i8** %5, align 8, !dbg !207 %7 = getelementptr i8*, i8** %.unpack27, i64 2, !dbg !210 %8 = load i8*, i8** %7, align 8, !dbg !210 %9 = load %iree_hal_executable_workgroup_state_v0_t, %iree_hal_executable_workgroup_state_v0_t* %2, align 16, !dbg !210 %10 = extractvalue %iree_hal_executable_workgroup_state_v0_t %9, 0, !dbg !210 %11 = zext i32 %10 to i64, !dbg !210 %12 = extractvalue %iree_hal_executable_workgroup_state_v0_t %9, 1, !dbg !210 %13 = zext i32 %12 to i64, !dbg !210 %14 = shl nuw nsw i64 %11, 6, !dbg !210 %15 = mul i64 %13, 1536, !dbg !207 %scevgep166 = getelementptr i8, i8* %6, i64 169216, !dbg !210 %scevgep199 = getelementptr i8, i8* %6, i64 218880, !dbg !210 %scevgep203 = getelementptr i8, i8* %4, i64 4608, !dbg !210 %scevgep207 = getelementptr i8, i8* %6, i64 13056, !dbg !210 %16 = add nuw nsw i64 %15, 5120, !dbg !210 %scevgep211 = getelementptr i8, i8* %8, i64 %16, !dbg !210 br label %.preheader40.preheader, !dbg !210 .preheader40.preheader: ; preds = %226, %3 %indvars.iv = phi i64 [ 12, %3 ], [ %indvars.iv.next, %226 ] %17 = phi i1 [ true, %3 ], [ false, %226 ] %18 = phi i64 [ 0, %3 ], [ 8, %226 ] %smin90 = call i64 @llvm.smin.i64(i64 %indvars.iv, i64 8), !dbg !207 %smin = call i64 @llvm.smin.i64(i64 %indvars.iv, i64 8), !dbg !207 %smin55 = call i64 @llvm.smin.i64(i64 %indvars.iv, i64 8), !dbg !207 %19 = sub nuw nsw i64 12, %18, !dbg !207 %20 = tail call i64 @llvm.smin.i64(i64 %19, i64 8), !dbg !207 %.idx = shl nuw nsw i64 %20, 7, !dbg !207 %21 = alloca i32, i64 %.idx, align 128, !dbg !207 %scevgep = getelementptr i32, i32* %21, i64 16, !dbg !207 br label %.preheader40, !dbg !207 .preheader40: ; preds = %.preheader40.preheader, %.preheader40 %lsr.iv57 = phi i32* [ %scevgep, %.preheader40.preheader ], [ %scevgep58, %.preheader40 ] %lsr.iv = phi i64 [ %smin, %.preheader40.preheader ], [ %lsr.iv.next, %.preheader40 ] %scevgep59 = getelementptr i32, i32* %lsr.iv57, i64 -16, !dbg !207 store i32 0, i32* %scevgep59, align 128, !dbg !207 %scevgep62 = getelementptr i32, i32* %lsr.iv57, i64 -15, !dbg !207 store i32 0, i32* %scevgep62, align 4, !dbg !207 %scevgep63 = getelementptr i32, i32* %lsr.iv57, i64 -14, !dbg !207 store i32 0, i32* %scevgep63, align 8, !dbg !207 %scevgep64 = getelementptr i32, i32* %lsr.iv57, i64 -13, !dbg !207 store i32 0, i32* %scevgep64, align 4, !dbg !207 %scevgep65 = getelementptr i32, i32* %lsr.iv57, i64 -12, !dbg !207 store i32 0, i32* %scevgep65, align 16, !dbg !207 %scevgep66 = getelementptr i32, i32* %lsr.iv57, i64 -11, !dbg !207 store i32 0, i32* %scevgep66, align 4, !dbg !207 %scevgep67 = getelementptr i32, i32* %lsr.iv57, i64 -10, !dbg !207 store i32 0, i32* %scevgep67, align 8, !dbg !207 %scevgep68 = getelementptr i32, i32* %lsr.iv57, i64 -9, !dbg !207 store i32 0, i32* %scevgep68, align 4, !dbg !207 %scevgep69 = getelementptr i32, i32* %lsr.iv57, i64 -8, !dbg !207 store i32 0, i32* %scevgep69, align 32, !dbg !207 %scevgep70 = getelementptr i32, i32* %lsr.iv57, i64 -7, !dbg !207 store i32 0, i32* %scevgep70, align 4, !dbg !207 %scevgep71 = getelementptr i32, i32* %lsr.iv57, i64 -6, !dbg !207 store i32 0, i32* %scevgep71, align 8, !dbg !207 %scevgep72 = getelementptr i32, i32* %lsr.iv57, i64 -5, !dbg !207 store i32 0, i32* %scevgep72, align 4, !dbg !207 %scevgep73 = getelementptr i32, i32* %lsr.iv57, i64 -4, !dbg !207 store i32 0, i32* %scevgep73, align 16, !dbg !207 %scevgep74 = getelementptr i32, i32* %lsr.iv57, i64 -3, !dbg !207 store i32 0, i32* %scevgep74, align 4, !dbg !207 %scevgep75 = getelementptr i32, i32* %lsr.iv57, i64 -2, !dbg !207 store i32 0, i32* %scevgep75, align 8, !dbg !207 %scevgep76 = getelementptr i32, i32* %lsr.iv57, i64 -1, !dbg !207 store i32 0, i32* %scevgep76, align 4, !dbg !207 store i32 0, i32* %lsr.iv57, align 64, !dbg !207 %scevgep78 = getelementptr i32, i32* %lsr.iv57, i64 1, !dbg !207 store i32 0, i32* %scevgep78, align 4, !dbg !207 %scevgep79 = getelementptr i32, i32* %lsr.iv57, i64 2, !dbg !207 store i32 0, i32* %scevgep79, align 8, !dbg !207 %scevgep80 = getelementptr i32, i32* %lsr.iv57, i64 3, !dbg !207 store i32 0, i32* %scevgep80, align 4, !dbg !207 %scevgep81 = getelementptr i32, i32* %lsr.iv57, i64 4, !dbg !207 store i32 0, i32* %scevgep81, align 16, !dbg !207 %scevgep82 = getelementptr i32, i32* %lsr.iv57, i64 5, !dbg !207 store i32 0, i32* %scevgep82, align 4, !dbg !207 %scevgep83 = getelementptr i32, i32* %lsr.iv57, i64 6, !dbg !207 store i32 0, i32* %scevgep83, align 8, !dbg !207 %scevgep84 = getelementptr i32, i32* %lsr.iv57, i64 7, !dbg !207 store i32 0, i32* %scevgep84, align 4, !dbg !207 %scevgep85 = getelementptr i32, i32* %lsr.iv57, i64 8, !dbg !207 store i32 0, i32* %scevgep85, align 32, !dbg !207 %scevgep86 = getelementptr i32, i32* %lsr.iv57, i64 9, !dbg !207 store i32 0, i32* %scevgep86, align 4, !dbg !207 %scevgep87 = getelementptr i32, i32* %lsr.iv57, i64 10, !dbg !207 store i32 0, i32* %scevgep87, align 8, !dbg !207 %scevgep88 = getelementptr i32, i32* %lsr.iv57, i64 11, !dbg !207 store i32 0, i32* %scevgep88, align 4, !dbg !207 %scevgep89 = getelementptr i32, i32* %lsr.iv57, i64 12, !dbg !207 store i32 0, i32* %scevgep89, align 16, !dbg !207 %scevgep77 = getelementptr i32, i32* %lsr.iv57, i64 13, !dbg !207 store i32 0, i32* %scevgep77, align 4, !dbg !207 %scevgep61 = getelementptr i32, i32* %lsr.iv57, i64 14, !dbg !207 store i32 0, i32* %scevgep61, align 8, !dbg !207 %scevgep60 = getelementptr i32, i32* %lsr.iv57, i64 15, !dbg !207 store i32 0, i32* %scevgep60, align 4, !dbg !207 %lsr.iv.next = add nsw i64 %lsr.iv, -1, !dbg !207 %scevgep58 = getelementptr i32, i32* %lsr.iv57, i64 32, !dbg !207 %exitcond.not = icmp eq i64 %lsr.iv.next, 0, !dbg !207 br i1 %exitcond.not, label %.preheader38.preheader.preheader, label %.preheader40, !dbg !207 .preheader38.preheader.preheader: ; preds = %.preheader40 %22 = shl nuw nsw i64 %18, 7, !dbg !207 %scevgep212 = getelementptr i8, i8* %scevgep211, i64 %22, !dbg !207 br label %.preheader38.preheader, !dbg !207 .preheader38.preheader: ; preds = %.preheader38.preheader.preheader, %._crit_edge %23 = phi i1 [ false, %._crit_edge ], [ true, %.preheader38.preheader.preheader ] %24 = phi i64 [ 32, %._crit_edge ], [ 0, %.preheader38.preheader.preheader ] %25 = or i64 %24, %14, !dbg !210 %26 = alloca i32, i64 %.idx, align 128, !dbg !207 %scevgep126 = getelementptr i32, i32* %26, i64 16, !dbg !207 br label %.preheader38, !dbg !207 .preheader35.lr.ph.us: ; preds = %.preheader35.lr.ph.us.preheader, %._crit_edge.us %lsr.iv168 = phi i8* [ %scevgep167, %.preheader35.lr.ph.us.preheader ], [ %scevgep169, %._crit_edge.us ] %27 = phi i64 [ %29, %._crit_edge.us ], [ 0, %.preheader35.lr.ph.us.preheader ] %28 = add nuw nsw i64 %27, %15 br label %.preheader35.us, !dbg !207 ._crit_edge.us: ; preds = %31 %29 = add nuw nsw i64 %27, 16, !dbg !207 %scevgep169 = getelementptr i8, i8* %lsr.iv168, i64 2048, !dbg !207 %30 = icmp ult i64 %27, 112, !dbg !207 br i1 %30, label %.preheader35.lr.ph.us, label %.preheader36.lr.ph, !dbg !207 31: ; preds = %.preheader.us %32 = add nuw nsw i64 %98, 1, !dbg !207 %scevgep161 = getelementptr i32, i32* %lsr.iv160, i64 32, !dbg !207 %exitcond53.not = icmp eq i64 %32, %smin55, !dbg !207 br i1 %exitcond53.not, label %._crit_edge.us, label %.preheader35.us, !dbg !207 .preheader.us: ; preds = %.preheader35.us, %.preheader.us %lsr.iv170 = phi i8* [ %lsr.iv168, %.preheader35.us ], [ %scevgep171, %.preheader.us ] %lsr.iv162 = phi i64 [ 0, %.preheader35.us ], [ %lsr.iv.next163, %.preheader.us ] %33 = bitcast i32* %lsr.iv160 to i8* %uglygep = getelementptr i8, i8* %33, i64 %lsr.iv162 %uglygep165 = bitcast i8* %uglygep to i32* %.promoted.us = load i32, i32* %uglygep165, align 4 %scevgep172 = getelementptr i8, i8* %lsr.iv170, i64 -1024, !dbg !207 %34 = load i8, i8* %scevgep172, align 1, !dbg !207 %35 = sext i8 %34 to i32 %36 = mul nsw i32 %35, %102 %37 = add i32 %36, %.promoted.us %scevgep175 = getelementptr i8, i8* %lsr.iv170, i64 -896, !dbg !207 %38 = load i8, i8* %scevgep175, align 1, !dbg !207 %39 = sext i8 %38 to i32 %40 = mul nsw i32 %39, %106 %41 = add i32 %40, %37 %scevgep176 = getelementptr i8, i8* %lsr.iv170, i64 -768, !dbg !207 %42 = load i8, i8* %scevgep176, align 1, !dbg !207 %43 = sext i8 %42 to i32 %44 = mul nsw i32 %43, %110 %45 = add i32 %44, %41 %scevgep177 = getelementptr i8, i8* %lsr.iv170, i64 -640, !dbg !207 %46 = load i8, i8* %scevgep177, align 1, !dbg !207 %47 = sext i8 %46 to i32 %48 = mul nsw i32 %47, %114 %49 = add i32 %48, %45 %scevgep178 = getelementptr i8, i8* %lsr.iv170, i64 -512, !dbg !207 %50 = load i8, i8* %scevgep178, align 1, !dbg !207 %51 = sext i8 %50 to i32 %52 = mul nsw i32 %51, %118 %53 = add i32 %52, %49 %scevgep179 = getelementptr i8, i8* %lsr.iv170, i64 -384, !dbg !207 %54 = load i8, i8* %scevgep179, align 1, !dbg !207 %55 = sext i8 %54 to i32 %56 = mul nsw i32 %55, %122 %57 = add i32 %56, %53 %scevgep180 = getelementptr i8, i8* %lsr.iv170, i64 -256, !dbg !207 %58 = load i8, i8* %scevgep180, align 1, !dbg !207 %59 = sext i8 %58 to i32 %60 = mul nsw i32 %59, %126 %61 = add i32 %60, %57 %scevgep181 = getelementptr i8, i8* %lsr.iv170, i64 -128, !dbg !207 %62 = load i8, i8* %scevgep181, align 1, !dbg !207 %63 = sext i8 %62 to i32 %64 = mul nsw i32 %63, %130 %65 = add i32 %64, %61 %66 = load i8, i8* %lsr.iv170, align 1, !dbg !207 %67 = sext i8 %66 to i32 %68 = mul nsw i32 %67, %134 %69 = add i32 %68, %65 %scevgep183 = getelementptr i8, i8* %lsr.iv170, i64 128, !dbg !207 %70 = load i8, i8* %scevgep183, align 1, !dbg !207 %71 = sext i8 %70 to i32 %72 = mul nsw i32 %71, %138 %73 = add i32 %72, %69 %scevgep184 = getelementptr i8, i8* %lsr.iv170, i64 256, !dbg !207 %74 = load i8, i8* %scevgep184, align 1, !dbg !207 %75 = sext i8 %74 to i32 %76 = mul nsw i32 %75, %142 %77 = add i32 %76, %73 %scevgep185 = getelementptr i8, i8* %lsr.iv170, i64 384, !dbg !207 %78 = load i8, i8* %scevgep185, align 1, !dbg !207 %79 = sext i8 %78 to i32 %80 = mul nsw i32 %79, %146 %81 = add i32 %80, %77 %scevgep186 = getelementptr i8, i8* %lsr.iv170, i64 512, !dbg !207 %82 = load i8, i8* %scevgep186, align 1, !dbg !207 %83 = sext i8 %82 to i32 %84 = mul nsw i32 %83, %150 %85 = add i32 %84, %81 %scevgep182 = getelementptr i8, i8* %lsr.iv170, i64 640, !dbg !207 %86 = load i8, i8* %scevgep182, align 1, !dbg !207 %87 = sext i8 %86 to i32 %88 = mul nsw i32 %87, %154 %89 = add i32 %88, %85 %scevgep174 = getelementptr i8, i8* %lsr.iv170, i64 768, !dbg !207 %90 = load i8, i8* %scevgep174, align 1, !dbg !207 %91 = sext i8 %90 to i32 %92 = mul nsw i32 %91, %158 %93 = add i32 %92, %89 %scevgep173 = getelementptr i8, i8* %lsr.iv170, i64 896, !dbg !207 %94 = load i8, i8* %scevgep173, align 1, !dbg !207 %95 = sext i8 %94 to i32 %96 = mul nsw i32 %95, %162 %97 = add i32 %96, %93 store i32 %97, i32* %uglygep165, align 4, !dbg !207 %lsr.iv.next163 = add nuw nsw i64 %lsr.iv162, 4, !dbg !207 %scevgep171 = getelementptr i8, i8* %lsr.iv170, i64 1, !dbg !207 %exitcond51.not = icmp eq i64 %lsr.iv.next163, 128, !dbg !207 br i1 %exitcond51.not, label %31, label %.preheader.us, !dbg !207 .preheader35.us: ; preds = %.preheader35.lr.ph.us, %31 %lsr.iv160 = phi i32* [ %26, %.preheader35.lr.ph.us ], [ %scevgep161, %31 ] %98 = phi i64 [ 0, %.preheader35.lr.ph.us ], [ %32, %31 ] %reass.add30.us = add nuw nsw i64 %98, %18 %reass.mul31.us = shl i64 %reass.add30.us, 7 %99 = add nuw nsw i64 %28, %reass.mul31.us %100 = getelementptr i8, i8* %4, i64 %99, !dbg !207 %101 = load i8, i8* %100, align 16 %102 = sext i8 %101 to i32 %103 = or i64 %99, 1 %104 = getelementptr i8, i8* %4, i64 %103 %105 = load i8, i8* %104, align 1 %106 = sext i8 %105 to i32 %107 = or i64 %99, 2 %108 = getelementptr i8, i8* %4, i64 %107 %109 = load i8, i8* %108, align 2 %110 = sext i8 %109 to i32 %111 = or i64 %99, 3 %112 = getelementptr i8, i8* %4, i64 %111 %113 = load i8, i8* %112, align 1 %114 = sext i8 %113 to i32 %115 = or i64 %99, 4 %116 = getelementptr i8, i8* %4, i64 %115 %117 = load i8, i8* %116, align 4 %118 = sext i8 %117 to i32 %119 = or i64 %99, 5 %120 = getelementptr i8, i8* %4, i64 %119 %121 = load i8, i8* %120, align 1 %122 = sext i8 %121 to i32 %123 = or i64 %99, 6 %124 = getelementptr i8, i8* %4, i64 %123 %125 = load i8, i8* %124, align 2 %126 = sext i8 %125 to i32 %127 = or i64 %99, 7 %128 = getelementptr i8, i8* %4, i64 %127 %129 = load i8, i8* %128, align 1 %130 = sext i8 %129 to i32 %131 = or i64 %99, 8 %132 = getelementptr i8, i8* %4, i64 %131 %133 = load i8, i8* %132, align 8 %134 = sext i8 %133 to i32 %135 = or i64 %99, 9 %136 = getelementptr i8, i8* %4, i64 %135 %137 = load i8, i8* %136, align 1 %138 = sext i8 %137 to i32 %139 = or i64 %99, 10 %140 = getelementptr i8, i8* %4, i64 %139 %141 = load i8, i8* %140, align 2 %142 = sext i8 %141 to i32 %143 = or i64 %99, 11 %144 = getelementptr i8, i8* %4, i64 %143 %145 = load i8, i8* %144, align 1 %146 = sext i8 %145 to i32 %147 = or i64 %99, 12 %148 = getelementptr i8, i8* %4, i64 %147 %149 = load i8, i8* %148, align 4 %150 = sext i8 %149 to i32 %151 = or i64 %99, 13 %152 = getelementptr i8, i8* %4, i64 %151 %153 = load i8, i8* %152, align 1 %154 = sext i8 %153 to i32 %155 = or i64 %99, 14 %156 = getelementptr i8, i8* %4, i64 %155 %157 = load i8, i8* %156, align 2 %158 = sext i8 %157 to i32 %159 = or i64 %99, 15 %160 = getelementptr i8, i8* %4, i64 %159 %161 = load i8, i8* %160, align 1 %162 = sext i8 %161 to i32 br label %.preheader.us, !dbg !207 .preheader38: ; preds = %.preheader38.preheader, %.preheader38 %lsr.iv127 = phi i32* [ %scevgep126, %.preheader38.preheader ], [ %scevgep128, %.preheader38 ] %lsr.iv93 = phi i32* [ %scevgep, %.preheader38.preheader ], [ %scevgep94, %.preheader38 ] %lsr.iv91 = phi i64 [ %smin90, %.preheader38.preheader ], [ %lsr.iv.next92, %.preheader38 ] %scevgep95 = getelementptr i32, i32* %lsr.iv93, i64 -16, !dbg !207 %163 = load i32, i32* %scevgep95, align 128, !dbg !207 %scevgep130 = getelementptr i32, i32* %lsr.iv127, i64 -16, !dbg !207 store i32 %163, i32* %scevgep130, align 128, !dbg !207 %scevgep97 = getelementptr i32, i32* %lsr.iv93, i64 -15, !dbg !207 %164 = load i32, i32* %scevgep97, align 4, !dbg !207 %scevgep131 = getelementptr i32, i32* %lsr.iv127, i64 -15, !dbg !207 store i32 %164, i32* %scevgep131, align 4, !dbg !207 %scevgep98 = getelementptr i32, i32* %lsr.iv93, i64 -14, !dbg !207 %165 = load i32, i32* %scevgep98, align 8, !dbg !207 %scevgep132 = getelementptr i32, i32* %lsr.iv127, i64 -14, !dbg !207 store i32 %165, i32* %scevgep132, align 8, !dbg !207 %scevgep99 = getelementptr i32, i32* %lsr.iv93, i64 -13, !dbg !207 %166 = load i32, i32* %scevgep99, align 4, !dbg !207 %scevgep133 = getelementptr i32, i32* %lsr.iv127, i64 -13, !dbg !207 store i32 %166, i32* %scevgep133, align 4, !dbg !207 %scevgep100 = getelementptr i32, i32* %lsr.iv93, i64 -12, !dbg !207 %167 = load i32, i32* %scevgep100, align 16, !dbg !207 %scevgep134 = getelementptr i32, i32* %lsr.iv127, i64 -12, !dbg !207 store i32 %167, i32* %scevgep134, align 16, !dbg !207 %scevgep101 = getelementptr i32, i32* %lsr.iv93, i64 -11, !dbg !207 %168 = load i32, i32* %scevgep101, align 4, !dbg !207 %scevgep135 = getelementptr i32, i32* %lsr.iv127, i64 -11, !dbg !207 store i32 %168, i32* %scevgep135, align 4, !dbg !207 %scevgep102 = getelementptr i32, i32* %lsr.iv93, i64 -10, !dbg !207 %169 = load i32, i32* %scevgep102, align 8, !dbg !207 %scevgep136 = getelementptr i32, i32* %lsr.iv127, i64 -10, !dbg !207 store i32 %169, i32* %scevgep136, align 8, !dbg !207 %scevgep103 = getelementptr i32, i32* %lsr.iv93, i64 -9, !dbg !207 %170 = load i32, i32* %scevgep103, align 4, !dbg !207 %scevgep137 = getelementptr i32, i32* %lsr.iv127, i64 -9, !dbg !207 store i32 %170, i32* %scevgep137, align 4, !dbg !207 %scevgep104 = getelementptr i32, i32* %lsr.iv93, i64 -8, !dbg !207 %171 = load i32, i32* %scevgep104, align 32, !dbg !207 %scevgep138 = getelementptr i32, i32* %lsr.iv127, i64 -8, !dbg !207 store i32 %171, i32* %scevgep138, align 32, !dbg !207 %scevgep105 = getelementptr i32, i32* %lsr.iv93, i64 -7, !dbg !207 %172 = load i32, i32* %scevgep105, align 4, !dbg !207 %scevgep139 = getelementptr i32, i32* %lsr.iv127, i64 -7, !dbg !207 store i32 %172, i32* %scevgep139, align 4, !dbg !207 %scevgep106 = getelementptr i32, i32* %lsr.iv93, i64 -6, !dbg !207 %173 = load i32, i32* %scevgep106, align 8, !dbg !207 %scevgep140 = getelementptr i32, i32* %lsr.iv127, i64 -6, !dbg !207 store i32 %173, i32* %scevgep140, align 8, !dbg !207 %scevgep107 = getelementptr i32, i32* %lsr.iv93, i64 -5, !dbg !207 %174 = load i32, i32* %scevgep107, align 4, !dbg !207 %scevgep141 = getelementptr i32, i32* %lsr.iv127, i64 -5, !dbg !207 store i32 %174, i32* %scevgep141, align 4, !dbg !207 %scevgep108 = getelementptr i32, i32* %lsr.iv93, i64 -4, !dbg !207 %175 = load i32, i32* %scevgep108, align 16, !dbg !207 %scevgep142 = getelementptr i32, i32* %lsr.iv127, i64 -4, !dbg !207 store i32 %175, i32* %scevgep142, align 16, !dbg !207 %scevgep109 = getelementptr i32, i32* %lsr.iv93, i64 -3, !dbg !207 %176 = load i32, i32* %scevgep109, align 4, !dbg !207 %scevgep143 = getelementptr i32, i32* %lsr.iv127, i64 -3, !dbg !207 store i32 %176, i32* %scevgep143, align 4, !dbg !207 %scevgep110 = getelementptr i32, i32* %lsr.iv93, i64 -2, !dbg !207 %177 = load i32, i32* %scevgep110, align 8, !dbg !207 %scevgep144 = getelementptr i32, i32* %lsr.iv127, i64 -2, !dbg !207 store i32 %177, i32* %scevgep144, align 8, !dbg !207 %scevgep111 = getelementptr i32, i32* %lsr.iv93, i64 -1, !dbg !207 %178 = load i32, i32* %scevgep111, align 4, !dbg !207 %scevgep145 = getelementptr i32, i32* %lsr.iv127, i64 -1, !dbg !207 store i32 %178, i32* %scevgep145, align 4, !dbg !207 %179 = load i32, i32* %lsr.iv93, align 64, !dbg !207 store i32 %179, i32* %lsr.iv127, align 64, !dbg !207 %scevgep113 = getelementptr i32, i32* %lsr.iv93, i64 1, !dbg !207 %180 = load i32, i32* %scevgep113, align 4, !dbg !207 %scevgep146 = getelementptr i32, i32* %lsr.iv127, i64 1, !dbg !207 store i32 %180, i32* %scevgep146, align 4, !dbg !207 %scevgep114 = getelementptr i32, i32* %lsr.iv93, i64 2, !dbg !207 %181 = load i32, i32* %scevgep114, align 8, !dbg !207 %scevgep147 = getelementptr i32, i32* %lsr.iv127, i64 2, !dbg !207 store i32 %181, i32* %scevgep147, align 8, !dbg !207 %scevgep115 = getelementptr i32, i32* %lsr.iv93, i64 3, !dbg !207 %182 = load i32, i32* %scevgep115, align 4, !dbg !207 %scevgep148 = getelementptr i32, i32* %lsr.iv127, i64 3, !dbg !207 store i32 %182, i32* %scevgep148, align 4, !dbg !207 %scevgep116 = getelementptr i32, i32* %lsr.iv93, i64 4, !dbg !207 %183 = load i32, i32* %scevgep116, align 16, !dbg !207 %scevgep149 = getelementptr i32, i32* %lsr.iv127, i64 4, !dbg !207 store i32 %183, i32* %scevgep149, align 16, !dbg !207 %scevgep117 = getelementptr i32, i32* %lsr.iv93, i64 5, !dbg !207 %184 = load i32, i32* %scevgep117, align 4, !dbg !207 %scevgep150 = getelementptr i32, i32* %lsr.iv127, i64 5, !dbg !207 store i32 %184, i32* %scevgep150, align 4, !dbg !207 %scevgep118 = getelementptr i32, i32* %lsr.iv93, i64 6, !dbg !207 %185 = load i32, i32* %scevgep118, align 8, !dbg !207 %scevgep151 = getelementptr i32, i32* %lsr.iv127, i64 6, !dbg !207 store i32 %185, i32* %scevgep151, align 8, !dbg !207 %scevgep119 = getelementptr i32, i32* %lsr.iv93, i64 7, !dbg !207 %186 = load i32, i32* %scevgep119, align 4, !dbg !207 %scevgep152 = getelementptr i32, i32* %lsr.iv127, i64 7, !dbg !207 store i32 %186, i32* %scevgep152, align 4, !dbg !207 %scevgep120 = getelementptr i32, i32* %lsr.iv93, i64 8, !dbg !207 %187 = load i32, i32* %scevgep120, align 32, !dbg !207 %scevgep153 = getelementptr i32, i32* %lsr.iv127, i64 8, !dbg !207 store i32 %187, i32* %scevgep153, align 32, !dbg !207 %scevgep121 = getelementptr i32, i32* %lsr.iv93, i64 9, !dbg !207 %188 = load i32, i32* %scevgep121, align 4, !dbg !207 %scevgep154 = getelementptr i32, i32* %lsr.iv127, i64 9, !dbg !207 store i32 %188, i32* %scevgep154, align 4, !dbg !207 %scevgep122 = getelementptr i32, i32* %lsr.iv93, i64 10, !dbg !207 %189 = load i32, i32* %scevgep122, align 8, !dbg !207 %scevgep155 = getelementptr i32, i32* %lsr.iv127, i64 10, !dbg !207 store i32 %189, i32* %scevgep155, align 8, !dbg !207 %scevgep123 = getelementptr i32, i32* %lsr.iv93, i64 11, !dbg !207 %190 = load i32, i32* %scevgep123, align 4, !dbg !207 %scevgep156 = getelementptr i32, i32* %lsr.iv127, i64 11, !dbg !207 store i32 %190, i32* %scevgep156, align 4, !dbg !207 %scevgep124 = getelementptr i32, i32* %lsr.iv93, i64 12, !dbg !207 %191 = load i32, i32* %scevgep124, align 16, !dbg !207 %scevgep157 = getelementptr i32, i32* %lsr.iv127, i64 12, !dbg !207 store i32 %191, i32* %scevgep157, align 16, !dbg !207 %scevgep125 = getelementptr i32, i32* %lsr.iv93, i64 13, !dbg !207 %192 = load i32, i32* %scevgep125, align 4, !dbg !207 %scevgep158 = getelementptr i32, i32* %lsr.iv127, i64 13, !dbg !207 store i32 %192, i32* %scevgep158, align 4, !dbg !207 %scevgep112 = getelementptr i32, i32* %lsr.iv93, i64 14, !dbg !207 %193 = load i32, i32* %scevgep112, align 8, !dbg !207 %scevgep159 = getelementptr i32, i32* %lsr.iv127, i64 14, !dbg !207 store i32 %193, i32* %scevgep159, align 8, !dbg !207 %scevgep96 = getelementptr i32, i32* %lsr.iv93, i64 15, !dbg !207 %194 = load i32, i32* %scevgep96, align 4, !dbg !207 %scevgep129 = getelementptr i32, i32* %lsr.iv127, i64 15, !dbg !207 store i32 %194, i32* %scevgep129, align 4, !dbg !207 %lsr.iv.next92 = add nsw i64 %lsr.iv91, -1, !dbg !207 %scevgep94 = getelementptr i32, i32* %lsr.iv93, i64 32, !dbg !207 %scevgep128 = getelementptr i32, i32* %lsr.iv127, i64 32, !dbg !207 %exitcond49.not = icmp eq i64 %lsr.iv.next92, 0, !dbg !207 br i1 %exitcond49.not, label %.preheader35.lr.ph.us.preheader, label %.preheader38, !dbg !207 .preheader35.lr.ph.us.preheader: ; preds = %.preheader38 %scevgep167 = getelementptr i8, i8* %scevgep166, i64 %25, !dbg !207 br label %.preheader35.lr.ph.us, !dbg !207 .preheader36.lr.ph: ; preds = %._crit_edge.us %scevgep194 = getelementptr [128 x i8], [128 x i8]* @__constant_128xi8_3, i64 0, i64 %25, !dbg !210 %195 = shl nuw nsw i64 %25, 2, !dbg !210 %scevgep200 = getelementptr i8, i8* %scevgep199, i64 %195, !dbg !210 %scevgep204 = getelementptr i8, i8* %scevgep203, i64 %195, !dbg !210 %scevgep208 = getelementptr i8, i8* %scevgep207, i64 %195, !dbg !210 %scevgep213 = getelementptr i8, i8* %scevgep212, i64 %25, !dbg !210 br label %.preheader36, !dbg !210 .preheader36: ; preds = %.preheader36.lr.ph, %224 %lsr.iv214 = phi i8* [ %scevgep213, %.preheader36.lr.ph ], [ %scevgep215, %224 ] %lsr.iv189 = phi i32* [ %26, %.preheader36.lr.ph ], [ %scevgep190, %224 ] %196 = phi i64 [ 0, %.preheader36.lr.ph ], [ %225, %224 ] %197 = bitcast i8* %scevgep194 to [128 x i8]*, !dbg !210 br label %198, !dbg !210 198: ; preds = %.preheader36, %198 %lsr.iv216 = phi i8* [ %lsr.iv214, %.preheader36 ], [ %scevgep217, %198 ] %lsr.iv196 = phi [128 x i8]* [ %197, %.preheader36 ], [ %223, %198 ] %lsr.iv187 = phi i64 [ 0, %.preheader36 ], [ %lsr.iv.next188, %198 ] %199 = bitcast i32* %lsr.iv189 to i8* %lsr.iv196198 = bitcast [128 x i8]* %lsr.iv196 to i8*, !dbg !210 %scevgep209 = getelementptr i8, i8* %scevgep208, i64 %lsr.iv187, !dbg !210 %scevgep209210 = bitcast i8* %scevgep209 to i32*, !dbg !210 %200 = load i32, i32* %scevgep209210, align 4, !dbg !210 %uglygep192 = getelementptr i8, i8* %199, i64 %lsr.iv187, !dbg !210 %uglygep192193 = bitcast i8* %uglygep192 to i32*, !dbg !210 %201 = load i32, i32* %uglygep192193, align 4, !dbg !210 %scevgep205 = getelementptr i8, i8* %scevgep204, i64 %lsr.iv187, !dbg !210 %scevgep205206 = bitcast i8* %scevgep205 to i32*, !dbg !210 %202 = load i32, i32* %scevgep205206, align 4, !dbg !210 %scevgep201 = getelementptr i8, i8* %scevgep200, i64 %lsr.iv187, !dbg !210 %scevgep201202 = bitcast i8* %scevgep201 to i32*, !dbg !210 %203 = load i32, i32* %scevgep201202, align 4, !dbg !210 %204 = load i8, i8* %lsr.iv196198, align 1, !dbg !210 %.neg = shl i32 %202, 7, !dbg !207 %205 = add i32 %201, %200, !dbg !207 %206 = add i32 %205, %.neg, !dbg !207 %207 = sext i32 %206 to i64, !dbg !210 %208 = sext i32 %203 to i64, !dbg !210 %209 = mul nsw i64 %207, %208, !dbg !210 %210 = zext i8 %204 to i64, !dbg !210 %211 = shl nuw i64 1, %210, !dbg !210 %212 = lshr i64 %211, 1, !dbg !210 %213 = add i64 %209, %212, !dbg !210 %214 = icmp sgt i32 %206, -1, !dbg !210 %215 = select i1 %214, i64 1073741824, i64 -1073741824, !dbg !210 %216 = add i64 %213, %215, !dbg !210 %217 = ashr i64 %216, %210, !dbg !210 %218 = trunc i64 %217 to i32, !dbg !210 %219 = add i32 %218, -128, !dbg !210 %220 = tail call i32 @llvm.smax.i32(i32 %219, i32 -128), !dbg !210 %221 = tail call i32 @llvm.smin.i32(i32 %220, i32 127), !dbg !210 %222 = trunc i32 %221 to i8, !dbg !210 store i8 %222, i8* %lsr.iv216, align 1, !dbg !210 %lsr.iv.next188 = add nuw nsw i64 %lsr.iv187, 4, !dbg !210 %scevgep197 = getelementptr [128 x i8], [128 x i8]* %lsr.iv196, i64 0, i64 1, !dbg !210 %223 = bitcast i8* %scevgep197 to [128 x i8]*, !dbg !210 %scevgep217 = getelementptr i8, i8* %lsr.iv216, i64 1, !dbg !210 %exitcond54.not = icmp eq i64 %lsr.iv.next188, 128, !dbg !210 br i1 %exitcond54.not, label %224, label %198, !dbg !210 224: ; preds = %198 %225 = add nuw nsw i64 %196, 1, !dbg !210 %scevgep190 = getelementptr i32, i32* %lsr.iv189, i64 32, !dbg !210 %scevgep215 = getelementptr i8, i8* %lsr.iv214, i64 128, !dbg !210 %exitcond56.not = icmp eq i64 %225, %smin55, !dbg !210 br i1 %exitcond56.not, label %._crit_edge, label %.preheader36, !dbg !210 ._crit_edge: ; preds = %224 br i1 %23, label %.preheader38.preheader, label %226, !dbg !210 226: ; preds = %._crit_edge %indvars.iv.next = add nsw i64 %indvars.iv, -8, !dbg !210 br i1 %17, label %.preheader40.preheader, label %227, !dbg !210 227: ; preds = %226 ret i32 0, !dbg !210 } ; Function Attrs: nofree nosync nounwind define internal i32 @main_dispatch_45(%iree_hal_executable_environment_v0_t* noalias nocapture nonnull readnone byref(%iree_hal_executable_environment_v0_t) align 16 %0, %iree_hal_executable_dispatch_state_v0_t* noalias nocapture nonnull readonly byref(%iree_hal_executable_dispatch_state_v0_t) align 16 %1, %iree_hal_executable_workgroup_state_v0_t* noalias nocapture nonnull readonly byref(%iree_hal_executable_workgroup_state_v0_t) align 16 %2) #0 !dbg !211 { %.elt20 = getelementptr inbounds %iree_hal_executable_dispatch_state_v0_t, %iree_hal_executable_dispatch_state_v0_t* %1, i64 0, i32 10, !dbg !212 %.unpack21 = load i8**, i8*** %.elt20, align 16, !dbg !212 %4 = load i8*, i8** %.unpack21, align 8, !dbg !212 %5 = getelementptr i8, i8* %4, i64 13568, !dbg !212 %6 = getelementptr i8*, i8** %.unpack21, i64 1, !dbg !215 %7 = load i8*, i8** %6, align 8, !dbg !215 %8 = getelementptr i8, i8* %7, i64 17920, !dbg !215 %9 = getelementptr i8, i8* %4, i64 219392, !dbg !216 %10 = getelementptr i8*, i8** %.unpack21, i64 2, !dbg !216 %11 = load i8*, i8** %10, align 8, !dbg !216 %12 = load %iree_hal_executable_workgroup_state_v0_t, %iree_hal_executable_workgroup_state_v0_t* %2, align 16, !dbg !216 %13 = extractvalue %iree_hal_executable_workgroup_state_v0_t %12, 0, !dbg !216 %14 = zext i32 %13 to i64, !dbg !216 %15 = extractvalue %iree_hal_executable_workgroup_state_v0_t %12, 1, !dbg !216 %16 = zext i32 %15 to i64, !dbg !216 %17 = extractvalue %iree_hal_executable_workgroup_state_v0_t %12, 2, !dbg !216 %18 = zext i16 %17 to i64, !dbg !216 %19 = shl nuw nsw i64 %14, 5, !dbg !216 %20 = mul nuw nsw i64 %18, 1536, !dbg !216 br label %.preheader24, !dbg !216 .preheader24: ; preds = %3, %129 %21 = phi i64 [ 0, %3 ], [ %130, %129 ] %reass.add = add nuw nsw i64 %21, %16 %reass.mul = mul nuw nsw i64 %reass.add, 768 br label %.preheader, !dbg !216 .preheader: ; preds = %.preheader24, %127 %22 = phi i64 [ 0, %.preheader24 ], [ %128, %127 ] %23 = shl i64 %22, 7 br label %24, !dbg !216 24: ; preds = %.preheader, %24 %25 = phi i1 [ true, %.preheader ], [ false, %24 ] %26 = phi i64 [ 0, %.preheader ], [ 16, %24 ] %27 = bitcast i8* %9 to i32*, !dbg !216 %28 = bitcast i8* %8 to i32*, !dbg !215 %29 = bitcast i8* %5 to i32*, !dbg !212 %30 = or i64 %26, %19, !dbg !216 %31 = getelementptr i32, i32* %29, i64 %30, !dbg !216 %32 = bitcast i32* %31 to <16 x i32>*, !dbg !216 %33 = load <16 x i32>, <16 x i32>* %32, align 64, !dbg !216 %34 = add nuw nsw i64 %30, %20, !dbg !216 %35 = add nuw i64 %34, %reass.mul, !dbg !216 %36 = add nuw nsw i64 %35, %23, !dbg !216 %37 = getelementptr i32, i32* %28, i64 %36, !dbg !216 %38 = bitcast i32* %37 to <16 x i32>*, !dbg !216 %39 = load <16 x i32>, <16 x i32>* %38, align 4, !dbg !216 %40 = getelementptr i32, i32* %27, i64 %30, !dbg !216 %41 = bitcast i32* %40 to <16 x i32>*, !dbg !216 %42 = load <16 x i32>, <16 x i32>* %41, align 64, !dbg !216 %43 = getelementptr [128 x i8], [128 x i8]* @__constant_128xi8_4, i64 0, i64 %30, !dbg !216 %44 = load i8, i8* %43, align 16, !dbg !216 %45 = insertelement <16 x i8> , i8 %44, i64 0, !dbg !216 %46 = or i64 %30, 1, !dbg !216 %47 = getelementptr [128 x i8], [128 x i8]* @__constant_128xi8_4, i64 0, i64 %46, !dbg !216 %48 = load i8, i8* %47, align 1, !dbg !216 %49 = insertelement <16 x i8> %45, i8 %48, i64 1, !dbg !216 %50 = or i64 %30, 2, !dbg !216 %51 = getelementptr [128 x i8], [128 x i8]* @__constant_128xi8_4, i64 0, i64 %50, !dbg !216 %52 = load i8, i8* %51, align 2, !dbg !216 %53 = insertelement <16 x i8> %49, i8 %52, i64 2, !dbg !216 %54 = or i64 %30, 3, !dbg !216 %55 = getelementptr [128 x i8], [128 x i8]* @__constant_128xi8_4, i64 0, i64 %54, !dbg !216 %56 = load i8, i8* %55, align 1, !dbg !216 %57 = insertelement <16 x i8> %53, i8 %56, i64 3, !dbg !216 %58 = or i64 %30, 4, !dbg !216 %59 = getelementptr [128 x i8], [128 x i8]* @__constant_128xi8_4, i64 0, i64 %58, !dbg !216 %60 = load i8, i8* %59, align 4, !dbg !216 %61 = insertelement <16 x i8> %57, i8 %60, i64 4, !dbg !216 %62 = or i64 %30, 5, !dbg !216 %63 = getelementptr [128 x i8], [128 x i8]* @__constant_128xi8_4, i64 0, i64 %62, !dbg !216 %64 = load i8, i8* %63, align 1, !dbg !216 %65 = insertelement <16 x i8> %61, i8 %64, i64 5, !dbg !216 %66 = or i64 %30, 6, !dbg !216 %67 = getelementptr [128 x i8], [128 x i8]* @__constant_128xi8_4, i64 0, i64 %66, !dbg !216 %68 = load i8, i8* %67, align 2, !dbg !216 %69 = insertelement <16 x i8> %65, i8 %68, i64 6, !dbg !216 %70 = or i64 %30, 7, !dbg !216 %71 = getelementptr [128 x i8], [128 x i8]* @__constant_128xi8_4, i64 0, i64 %70, !dbg !216 %72 = load i8, i8* %71, align 1, !dbg !216 %73 = insertelement <16 x i8> %69, i8 %72, i64 7, !dbg !216 %74 = or i64 %30, 8, !dbg !216 %75 = getelementptr [128 x i8], [128 x i8]* @__constant_128xi8_4, i64 0, i64 %74, !dbg !216 %76 = load i8, i8* %75, align 8, !dbg !216 %77 = insertelement <16 x i8> %73, i8 %76, i64 8, !dbg !216 %78 = or i64 %30, 9, !dbg !216 %79 = getelementptr [128 x i8], [128 x i8]* @__constant_128xi8_4, i64 0, i64 %78, !dbg !216 %80 = load i8, i8* %79, align 1, !dbg !216 %81 = insertelement <16 x i8> %77, i8 %80, i64 9, !dbg !216 %82 = or i64 %30, 10, !dbg !216 %83 = getelementptr [128 x i8], [128 x i8]* @__constant_128xi8_4, i64 0, i64 %82, !dbg !216 %84 = load i8, i8* %83, align 2, !dbg !216 %85 = insertelement <16 x i8> %81, i8 %84, i64 10, !dbg !216 %86 = or i64 %30, 11, !dbg !216 %87 = getelementptr [128 x i8], [128 x i8]* @__constant_128xi8_4, i64 0, i64 %86, !dbg !216 %88 = load i8, i8* %87, align 1, !dbg !216 %89 = insertelement <16 x i8> %85, i8 %88, i64 11, !dbg !216 %90 = or i64 %30, 12, !dbg !216 %91 = getelementptr [128 x i8], [128 x i8]* @__constant_128xi8_4, i64 0, i64 %90, !dbg !216 %92 = load i8, i8* %91, align 4, !dbg !216 %93 = insertelement <16 x i8> %89, i8 %92, i64 12, !dbg !216 %94 = or i64 %30, 13, !dbg !216 %95 = getelementptr [128 x i8], [128 x i8]* @__constant_128xi8_4, i64 0, i64 %94, !dbg !216 %96 = load i8, i8* %95, align 1, !dbg !216 %97 = insertelement <16 x i8> %93, i8 %96, i64 13, !dbg !216 %98 = or i64 %30, 14, !dbg !216 %99 = getelementptr [128 x i8], [128 x i8]* @__constant_128xi8_4, i64 0, i64 %98, !dbg !216 %100 = load i8, i8* %99, align 2, !dbg !216 %101 = insertelement <16 x i8> %97, i8 %100, i64 14, !dbg !216 %102 = or i64 %30, 15, !dbg !216 %103 = getelementptr [128 x i8], [128 x i8]* @__constant_128xi8_4, i64 0, i64 %102, !dbg !216 %104 = load i8, i8* %103, align 1, !dbg !216 %105 = insertelement <16 x i8> %101, i8 %104, i64 15, !dbg !216 %106 = add <16 x i32> %39, %33, !dbg !215 %107 = sext <16 x i32> %106 to <16 x i64>, !dbg !216 %108 = sext <16 x i32> %42 to <16 x i64>, !dbg !216 %109 = mul nsw <16 x i64> %107, %108, !dbg !216 %110 = zext <16 x i8> %105 to <16 x i64>, !dbg !216 %111 = shl <16 x i64>