/* * libbinrec: a recompiling translator for machine code * Copyright (c) 2016 Andrew Church * * This software may be copied and redistributed under certain conditions; * see the file "COPYING" in the source code distribution for details. * NO WARRANTY is provided with this software. */ #include "tests/guest-ppc/insn/common.h" static const uint8_t input[] = { 0x10,0x20,0x10,0x34, // ps_rsqrte f1,f2 }; static const unsigned int guest_opt = BINREC_OPT_G_PPC_NATIVE_RECIPROCAL; static const unsigned int common_opt = 0; static const bool expected_success = true; static const char expected[] = "[info] Scanning terminated at requested limit 0x3\n" " 0: LOAD_ARG r1, 0\n" " 1: LOAD_ARG r2, 1\n" " 2: GET_ALIAS r3, a3\n" " 3: FGETSTATE r4\n" " 4: VFCMP r5, r3, r3, UN\n" " 5: VFCVT r6, r3\n" " 6: SET_ALIAS a5, r6\n" " 7: GOTO_IF_Z r5, L1\n" " 8: VEXTRACT r7, r3, 0\n" " 9: VEXTRACT r8, r3, 1\n" " 10: BFEXT r9, r5, 0, 32\n" " 11: BFEXT r10, r5, 32, 32\n" " 12: ZCAST r11, r9\n" " 13: ZCAST r12, r10\n" " 14: BITCAST r13, r7\n" " 15: BITCAST r14, r8\n" " 16: NOT r15, r13\n" " 17: NOT r16, r14\n" " 18: LOAD_IMM r17, 0x8000000000000\n" " 19: AND r18, r15, r17\n" " 20: AND r19, r16, r17\n" " 21: VEXTRACT r20, r6, 0\n" " 22: VEXTRACT r21, r6, 1\n" " 23: SRLI r22, r18, 29\n" " 24: SRLI r23, r19, 29\n" " 25: ZCAST r24, r22\n" " 26: ZCAST r25, r23\n" " 27: BITCAST r26, r20\n" " 28: BITCAST r27, r21\n" " 29: AND r28, r24, r11\n" " 30: AND r29, r25, r12\n" " 31: XOR r30, r26, r28\n" " 32: XOR r31, r27, r29\n" " 33: BITCAST r32, r30\n" " 34: BITCAST r33, r31\n" " 35: VBUILD2 r34, r32, r33\n" " 36: SET_ALIAS a5, r34\n" " 37: LABEL L1\n" " 38: GET_ALIAS r35, a5\n" " 39: FSETSTATE r4\n" " 40: FSQRT r36, r35\n" " 41: LOAD_IMM r37, 1.0f\n" " 42: VBROADCAST r38, r37\n" " 43: FDIV r39, r38, r36\n" " 44: FGETSTATE r40\n" " 45: FTESTEXC r41, r40, INVALID\n" " 46: GOTO_IF_Z r41, L2\n" " 47: GET_ALIAS r42, a2\n" " 48: FCLEAREXC r43, r40\n" " 49: FSETSTATE r43\n" " 50: VEXTRACT r44, r35, 0\n" " 51: FSQRT r45, r44\n" " 52: FDIV r46, r37, r45\n" " 53: GET_ALIAS r47, a4\n" " 54: FGETSTATE r48\n" " 55: FCLEAREXC r49, r48\n" " 56: FSETSTATE r49\n" " 57: FTESTEXC r50, r48, INVALID\n" " 58: GOTO_IF_Z r50, L4\n" " 59: BITCAST r51, r37\n" " 60: SLLI r52, r51, 10\n" " 61: BFEXT r53, r51, 22, 9\n" " 62: SEQI r54, r53, 510\n" " 63: GOTO_IF_Z r54, L6\n" " 64: GOTO_IF_NZ r52, L5\n" " 65: LABEL L6\n" " 66: BITCAST r55, r44\n" " 67: SLLI r56, r55, 10\n" " 68: BFEXT r57, r55, 22, 9\n" " 69: SEQI r58, r57, 510\n" " 70: GOTO_IF_Z r58, L7\n" " 71: GOTO_IF_NZ r56, L5\n" " 72: LABEL L7\n" " 73: NOT r59, r47\n" " 74: ORI r60, r47, 512\n" " 75: ANDI r61, r59, 512\n" " 76: SET_ALIAS a4, r60\n" " 77: GOTO_IF_Z r61, L8\n" " 78: ORI r62, r60, -2147483648\n" " 79: SET_ALIAS a4, r62\n" " 80: LABEL L8\n" " 81: ANDI r63, r47, 128\n" " 82: GOTO_IF_Z r63, L9\n" " 83: GET_ALIAS r64, a4\n" " 84: BFEXT r65, r64, 12, 7\n" " 85: ANDI r66, r65, 31\n" " 86: GET_ALIAS r67, a4\n" " 87: BFINS r68, r67, r66, 12, 7\n" " 88: SET_ALIAS a4, r68\n" " 89: GOTO L3\n" " 90: LABEL L9\n" " 91: LOAD_IMM r69, nan(0x400000)\n" " 92: FCVT r70, r69\n" " 93: VBROADCAST r71, r70\n" " 94: SET_ALIAS a2, r71\n" " 95: LOAD_IMM r72, 17\n" " 96: GET_ALIAS r73, a4\n" " 97: BFINS r74, r73, r72, 12, 7\n" " 98: SET_ALIAS a4, r74\n" " 99: GOTO L3\n" " 100: LABEL L5\n" " 101: NOT r75, r47\n" " 102: ORI r76, r47, 16777216\n" " 103: ANDI r77, r75, 16777216\n" " 104: SET_ALIAS a4, r76\n" " 105: GOTO_IF_Z r77, L10\n" " 106: ORI r78, r76, -2147483648\n" " 107: SET_ALIAS a4, r78\n" " 108: LABEL L10\n" " 109: ANDI r79, r47, 128\n" " 110: GOTO_IF_Z r79, L4\n" " 111: LABEL L11\n" " 112: GET_ALIAS r80, a4\n" " 113: BFEXT r81, r80, 12, 7\n" " 114: ANDI r82, r81, 31\n" " 115: GET_ALIAS r83, a4\n" " 116: BFINS r84, r83, r82, 12, 7\n" " 117: SET_ALIAS a4, r84\n" " 118: GOTO L3\n" " 119: LABEL L4\n" " 120: FTESTEXC r85, r48, ZERO_DIVIDE\n" " 121: GOTO_IF_Z r85, L12\n" " 122: NOT r86, r47\n" " 123: ORI r87, r47, 67108864\n" " 124: ANDI r88, r86, 67108864\n" " 125: SET_ALIAS a4, r87\n" " 126: GOTO_IF_Z r88, L13\n" " 127: ORI r89, r87, -2147483648\n" " 128: SET_ALIAS a4, r89\n" " 129: LABEL L13\n" " 130: ANDI r90, r47, 16\n" " 131: GOTO_IF_NZ r90, L11\n" " 132: LABEL L12\n" " 133: FCVT r91, r46\n" " 134: VBROADCAST r92, r91\n" " 135: SET_ALIAS a2, r92\n" " 136: BITCAST r93, r46\n" " 137: SGTUI r94, r93, 0\n" " 138: SRLI r95, r93, 31\n" " 139: BFEXT r99, r93, 23, 8\n" " 140: SEQI r96, r99, 0\n" " 141: SEQI r97, r99, 255\n" " 142: SLLI r100, r93, 9\n" " 143: SEQI r98, r100, 0\n" " 144: AND r101, r96, r98\n" " 145: XORI r102, r98, 1\n" " 146: AND r103, r97, r102\n" " 147: AND r104, r96, r94\n" " 148: OR r105, r104, r103\n" " 149: OR r106, r101, r103\n" " 150: XORI r107, r106, 1\n" " 151: XORI r108, r95, 1\n" " 152: AND r109, r95, r107\n" " 153: AND r110, r108, r107\n" " 154: SLLI r111, r105, 4\n" " 155: SLLI r112, r109, 3\n" " 156: SLLI r113, r110, 2\n" " 157: SLLI r114, r101, 1\n" " 158: OR r115, r111, r112\n" " 159: OR r116, r113, r114\n" " 160: OR r117, r115, r97\n" " 161: OR r118, r117, r116\n" " 162: FTESTEXC r119, r48, INEXACT\n" " 163: SLLI r120, r119, 5\n" " 164: OR r121, r118, r120\n" " 165: GET_ALIAS r122, a4\n" " 166: BFINS r123, r122, r121, 12, 7\n" " 167: SET_ALIAS a4, r123\n" " 168: FTESTEXC r124, r48, OVERFLOW\n" " 169: GOTO_IF_Z r124, L14\n" " 170: GET_ALIAS r125, a4\n" " 171: NOT r126, r125\n" " 172: ORI r127, r125, 268435456\n" " 173: ANDI r128, r126, 268435456\n" " 174: SET_ALIAS a4, r127\n" " 175: GOTO_IF_Z r128, L15\n" " 176: ORI r129, r127, -2147483648\n" " 177: SET_ALIAS a4, r129\n" " 178: LABEL L15\n" " 179: LABEL L14\n" " 180: FTESTEXC r130, r48, UNDERFLOW\n" " 181: GOTO_IF_Z r130, L3\n" " 182: GET_ALIAS r131, a4\n" " 183: NOT r132, r131\n" " 184: ORI r133, r131, 134217728\n" " 185: ANDI r134, r132, 134217728\n" " 186: SET_ALIAS a4, r133\n" " 187: GOTO_IF_Z r134, L16\n" " 188: ORI r135, r133, -2147483648\n" " 189: SET_ALIAS a4, r135\n" " 190: LABEL L16\n" " 191: LABEL L3\n" " 192: GET_ALIAS r136, a2\n" " 193: VEXTRACT r137, r136, 0\n" " 194: GET_ALIAS r138, a4\n" " 195: BFEXT r139, r138, 12, 7\n" " 196: VEXTRACT r140, r35, 1\n" " 197: FSQRT r141, r140\n" " 198: FDIV r142, r37, r141\n" " 199: GET_ALIAS r143, a4\n" " 200: FGETSTATE r144\n" " 201: FCLEAREXC r145, r144\n" " 202: FSETSTATE r145\n" " 203: FTESTEXC r146, r144, INVALID\n" " 204: GOTO_IF_Z r146, L18\n" " 205: BITCAST r147, r37\n" " 206: SLLI r148, r147, 10\n" " 207: BFEXT r149, r147, 22, 9\n" " 208: SEQI r150, r149, 510\n" " 209: GOTO_IF_Z r150, L20\n" " 210: GOTO_IF_NZ r148, L19\n" " 211: LABEL L20\n" " 212: BITCAST r151, r140\n" " 213: SLLI r152, r151, 10\n" " 214: BFEXT r153, r151, 22, 9\n" " 215: SEQI r154, r153, 510\n" " 216: GOTO_IF_Z r154, L21\n" " 217: GOTO_IF_NZ r152, L19\n" " 218: LABEL L21\n" " 219: NOT r155, r143\n" " 220: ORI r156, r143, 512\n" " 221: ANDI r157, r155, 512\n" " 222: SET_ALIAS a4, r156\n" " 223: GOTO_IF_Z r157, L22\n" " 224: ORI r158, r156, -2147483648\n" " 225: SET_ALIAS a4, r158\n" " 226: LABEL L22\n" " 227: ANDI r159, r143, 128\n" " 228: GOTO_IF_Z r159, L23\n" " 229: GET_ALIAS r160, a4\n" " 230: BFEXT r161, r160, 12, 7\n" " 231: ANDI r162, r161, 31\n" " 232: GET_ALIAS r163, a4\n" " 233: BFINS r164, r163, r162, 12, 7\n" " 234: SET_ALIAS a4, r164\n" " 235: GOTO L17\n" " 236: LABEL L23\n" " 237: LOAD_IMM r165, nan(0x400000)\n" " 238: FCVT r166, r165\n" " 239: VBROADCAST r167, r166\n" " 240: SET_ALIAS a2, r167\n" " 241: LOAD_IMM r168, 17\n" " 242: GET_ALIAS r169, a4\n" " 243: BFINS r170, r169, r168, 12, 7\n" " 244: SET_ALIAS a4, r170\n" " 245: GOTO L17\n" " 246: LABEL L19\n" " 247: NOT r171, r143\n" " 248: ORI r172, r143, 16777216\n" " 249: ANDI r173, r171, 16777216\n" " 250: SET_ALIAS a4, r172\n" " 251: GOTO_IF_Z r173, L24\n" " 252: ORI r174, r172, -2147483648\n" " 253: SET_ALIAS a4, r174\n" " 254: LABEL L24\n" " 255: ANDI r175, r143, 128\n" " 256: GOTO_IF_Z r175, L18\n" " 257: LABEL L25\n" " 258: GET_ALIAS r176, a4\n" " 259: BFEXT r177, r176, 12, 7\n" " 260: ANDI r178, r177, 31\n" " 261: GET_ALIAS r179, a4\n" " 262: BFINS r180, r179, r178, 12, 7\n" " 263: SET_ALIAS a4, r180\n" " 264: GOTO L17\n" " 265: LABEL L18\n" " 266: FTESTEXC r181, r144, ZERO_DIVIDE\n" " 267: GOTO_IF_Z r181, L26\n" " 268: NOT r182, r143\n" " 269: ORI r183, r143, 67108864\n" " 270: ANDI r184, r182, 67108864\n" " 271: SET_ALIAS a4, r183\n" " 272: GOTO_IF_Z r184, L27\n" " 273: ORI r185, r183, -2147483648\n" " 274: SET_ALIAS a4, r185\n" " 275: LABEL L27\n" " 276: ANDI r186, r143, 16\n" " 277: GOTO_IF_NZ r186, L25\n" " 278: LABEL L26\n" " 279: FCVT r187, r142\n" " 280: VBROADCAST r188, r187\n" " 281: SET_ALIAS a2, r188\n" " 282: BITCAST r189, r142\n" " 283: SGTUI r190, r189, 0\n" " 284: SRLI r191, r189, 31\n" " 285: BFEXT r195, r189, 23, 8\n" " 286: SEQI r192, r195, 0\n" " 287: SEQI r193, r195, 255\n" " 288: SLLI r196, r189, 9\n" " 289: SEQI r194, r196, 0\n" " 290: AND r197, r192, r194\n" " 291: XORI r198, r194, 1\n" " 292: AND r199, r193, r198\n" " 293: AND r200, r192, r190\n" " 294: OR r201, r200, r199\n" " 295: OR r202, r197, r199\n" " 296: XORI r203, r202, 1\n" " 297: XORI r204, r191, 1\n" " 298: AND r205, r191, r203\n" " 299: AND r206, r204, r203\n" " 300: SLLI r207, r201, 4\n" " 301: SLLI r208, r205, 3\n" " 302: SLLI r209, r206, 2\n" " 303: SLLI r210, r197, 1\n" " 304: OR r211, r207, r208\n" " 305: OR r212, r209, r210\n" " 306: OR r213, r211, r193\n" " 307: OR r214, r213, r212\n" " 308: FTESTEXC r215, r144, INEXACT\n" " 309: SLLI r216, r215, 5\n" " 310: OR r217, r214, r216\n" " 311: GET_ALIAS r218, a4\n" " 312: BFINS r219, r218, r217, 12, 7\n" " 313: SET_ALIAS a4, r219\n" " 314: FTESTEXC r220, r144, OVERFLOW\n" " 315: GOTO_IF_Z r220, L28\n" " 316: GET_ALIAS r221, a4\n" " 317: NOT r222, r221\n" " 318: ORI r223, r221, 268435456\n" " 319: ANDI r224, r222, 268435456\n" " 320: SET_ALIAS a4, r223\n" " 321: GOTO_IF_Z r224, L29\n" " 322: ORI r225, r223, -2147483648\n" " 323: SET_ALIAS a4, r225\n" " 324: LABEL L29\n" " 325: LABEL L28\n" " 326: FTESTEXC r226, r144, UNDERFLOW\n" " 327: GOTO_IF_Z r226, L17\n" " 328: GET_ALIAS r227, a4\n" " 329: NOT r228, r227\n" " 330: ORI r229, r227, 134217728\n" " 331: ANDI r230, r228, 134217728\n" " 332: SET_ALIAS a4, r229\n" " 333: GOTO_IF_Z r230, L30\n" " 334: ORI r231, r229, -2147483648\n" " 335: SET_ALIAS a4, r231\n" " 336: LABEL L30\n" " 337: LABEL L17\n" " 338: GET_ALIAS r232, a2\n" " 339: VEXTRACT r233, r232, 0\n" " 340: ANDI r234, r139, 31\n" " 341: GET_ALIAS r235, a4\n" " 342: BFINS r236, r235, r234, 12, 7\n" " 343: SET_ALIAS a4, r236\n" " 344: GET_ALIAS r237, a4\n" " 345: ANDI r238, r237, 128\n" " 346: GOTO_IF_Z r238, L31\n" " 347: SET_ALIAS a2, r42\n" " 348: GOTO L32\n" " 349: LABEL L31\n" " 350: VBUILD2 r239, r137, r233\n" " 351: SET_ALIAS a2, r239\n" " 352: GOTO L32\n" " 353: LABEL L2\n" " 354: GET_ALIAS r240, a4\n" " 355: FGETSTATE r241\n" " 356: FCLEAREXC r242, r241\n" " 357: FSETSTATE r242\n" " 358: FTESTEXC r243, r241, ZERO_DIVIDE\n" " 359: GOTO_IF_Z r243, L34\n" " 360: NOT r244, r240\n" " 361: ORI r245, r240, 67108864\n" " 362: ANDI r246, r244, 67108864\n" " 363: SET_ALIAS a4, r245\n" " 364: GOTO_IF_Z r246, L35\n" " 365: ORI r247, r245, -2147483648\n" " 366: SET_ALIAS a4, r247\n" " 367: LABEL L35\n" " 368: ANDI r248, r240, 16\n" " 369: GOTO_IF_Z r248, L34\n" " 370: VEXTRACT r249, r38, 0\n" " 371: VEXTRACT r250, r38, 1\n" " 372: VEXTRACT r251, r35, 0\n" " 373: VEXTRACT r252, r35, 1\n" " 374: FDIV r253, r249, r251\n" " 375: FGETSTATE r254\n" " 376: FDIV r255, r250, r252\n" " 377: FTESTEXC r256, r254, ZERO_DIVIDE\n" " 378: BITCAST r257, r253\n" " 379: SGTUI r258, r257, 0\n" " 380: SRLI r259, r257, 31\n" " 381: BFEXT r263, r257, 23, 8\n" " 382: SEQI r260, r263, 0\n" " 383: SEQI r261, r263, 255\n" " 384: SLLI r264, r257, 9\n" " 385: SEQI r262, r264, 0\n" " 386: AND r265, r260, r262\n" " 387: XORI r266, r262, 1\n" " 388: AND r267, r261, r266\n" " 389: AND r268, r260, r258\n" " 390: OR r269, r268, r267\n" " 391: OR r270, r265, r267\n" " 392: XORI r271, r270, 1\n" " 393: XORI r272, r259, 1\n" " 394: AND r273, r259, r271\n" " 395: AND r274, r272, r271\n" " 396: SLLI r275, r269, 4\n" " 397: SLLI r276, r273, 3\n" " 398: SLLI r277, r274, 2\n" " 399: SLLI r278, r265, 1\n" " 400: OR r279, r275, r276\n" " 401: OR r280, r277, r278\n" " 402: OR r281, r279, r261\n" " 403: OR r282, r281, r280\n" " 404: LOAD_IMM r283, 0\n" " 405: SELECT r284, r283, r282, r256\n" " 406: FGETSTATE r285\n" " 407: FSETSTATE r242\n" " 408: FTESTEXC r286, r285, INEXACT\n" " 409: GOTO_IF_Z r286, L36\n" " 410: GET_ALIAS r287, a4\n" " 411: NOT r288, r287\n" " 412: ORI r289, r287, 33554432\n" " 413: ANDI r290, r288, 33554432\n" " 414: SET_ALIAS a4, r289\n" " 415: GOTO_IF_Z r290, L37\n" " 416: ORI r291, r289, -2147483648\n" " 417: SET_ALIAS a4, r291\n" " 418: LABEL L37\n" " 419: LABEL L36\n" " 420: FTESTEXC r292, r285, OVERFLOW\n" " 421: GOTO_IF_Z r292, L38\n" " 422: GET_ALIAS r293, a4\n" " 423: NOT r294, r293\n" " 424: ORI r295, r293, 268435456\n" " 425: ANDI r296, r294, 268435456\n" " 426: SET_ALIAS a4, r295\n" " 427: GOTO_IF_Z r296, L39\n" " 428: ORI r297, r295, -2147483648\n" " 429: SET_ALIAS a4, r297\n" " 430: LABEL L39\n" " 431: LABEL L38\n" " 432: FTESTEXC r298, r285, UNDERFLOW\n" " 433: GOTO_IF_Z r298, L40\n" " 434: GET_ALIAS r299, a4\n" " 435: NOT r300, r299\n" " 436: ORI r301, r299, 134217728\n" " 437: ANDI r302, r300, 134217728\n" " 438: SET_ALIAS a4, r301\n" " 439: GOTO_IF_Z r302, L41\n" " 440: ORI r303, r301, -2147483648\n" " 441: SET_ALIAS a4, r303\n" " 442: LABEL L41\n" " 443: LABEL L40\n" " 444: SLLI r304, r286, 5\n" " 445: OR r305, r304, r284\n" " 446: GET_ALIAS r306, a4\n" " 447: BFINS r307, r306, r305, 12, 7\n" " 448: SET_ALIAS a4, r307\n" " 449: GOTO L33\n" " 450: LABEL L34\n" " 451: VFCVT r308, r39\n" " 452: SET_ALIAS a2, r308\n" " 453: VEXTRACT r309, r39, 0\n" " 454: BITCAST r310, r309\n" " 455: SGTUI r311, r310, 0\n" " 456: SRLI r312, r310, 31\n" " 457: BFEXT r316, r310, 23, 8\n" " 458: SEQI r313, r316, 0\n" " 459: SEQI r314, r316, 255\n" " 460: SLLI r317, r310, 9\n" " 461: SEQI r315, r317, 0\n" " 462: AND r318, r313, r315\n" " 463: XORI r319, r315, 1\n" " 464: AND r320, r314, r319\n" " 465: AND r321, r313, r311\n" " 466: OR r322, r321, r320\n" " 467: OR r323, r318, r320\n" " 468: XORI r324, r323, 1\n" " 469: XORI r325, r312, 1\n" " 470: AND r326, r312, r324\n" " 471: AND r327, r325, r324\n" " 472: SLLI r328, r322, 4\n" " 473: SLLI r329, r326, 3\n" " 474: SLLI r330, r327, 2\n" " 475: SLLI r331, r318, 1\n" " 476: OR r332, r328, r329\n" " 477: OR r333, r330, r331\n" " 478: OR r334, r332, r314\n" " 479: OR r335, r334, r333\n" " 480: FTESTEXC r336, r241, INEXACT\n" " 481: SLLI r337, r336, 5\n" " 482: OR r338, r335, r337\n" " 483: GET_ALIAS r339, a4\n" " 484: BFINS r340, r339, r338, 12, 7\n" " 485: SET_ALIAS a4, r340\n" " 486: GOTO_IF_Z r336, L42\n" " 487: GET_ALIAS r341, a4\n" " 488: NOT r342, r341\n" " 489: ORI r343, r341, 33554432\n" " 490: ANDI r344, r342, 33554432\n" " 491: SET_ALIAS a4, r343\n" " 492: GOTO_IF_Z r344, L43\n" " 493: ORI r345, r343, -2147483648\n" " 494: SET_ALIAS a4, r345\n" " 495: LABEL L43\n" " 496: LABEL L42\n" " 497: FTESTEXC r346, r241, OVERFLOW\n" " 498: GOTO_IF_Z r346, L44\n" " 499: GET_ALIAS r347, a4\n" " 500: NOT r348, r347\n" " 501: ORI r349, r347, 268435456\n" " 502: ANDI r350, r348, 268435456\n" " 503: SET_ALIAS a4, r349\n" " 504: GOTO_IF_Z r350, L45\n" " 505: ORI r351, r349, -2147483648\n" " 506: SET_ALIAS a4, r351\n" " 507: LABEL L45\n" " 508: LABEL L44\n" " 509: FTESTEXC r352, r241, UNDERFLOW\n" " 510: GOTO_IF_Z r352, L33\n" " 511: GET_ALIAS r353, a4\n" " 512: NOT r354, r353\n" " 513: ORI r355, r353, 134217728\n" " 514: ANDI r356, r354, 134217728\n" " 515: SET_ALIAS a4, r355\n" " 516: GOTO_IF_Z r356, L46\n" " 517: ORI r357, r355, -2147483648\n" " 518: SET_ALIAS a4, r357\n" " 519: LABEL L46\n" " 520: LABEL L33\n" " 521: LABEL L32\n" " 522: LOAD_IMM r358, 4\n" " 523: SET_ALIAS a1, r358\n" " 524: RETURN r1\n" "\n" "Alias 1: int32 @ 964(r1)\n" "Alias 2: float64[2] @ 400(r1)\n" "Alias 3: float64[2] @ 416(r1)\n" "Alias 4: int32 @ 944(r1)\n" "Alias 5: float32[2], no bound storage\n" "\n" "Block 0: --> [0,7] --> 1,2\n" "Block 1: 0 --> [8,36] --> 2\n" "Block 2: 1,0 --> [37,46] --> 3,58\n" "Block 3: 2 --> [47,58] --> 4,17\n" "Block 4: 3 --> [59,63] --> 5,6\n" "Block 5: 4 --> [64,64] --> 6,13\n" "Block 6: 5,4 --> [65,70] --> 7,8\n" "Block 7: 6 --> [71,71] --> 8,13\n" "Block 8: 7,6 --> [72,77] --> 9,10\n" "Block 9: 8 --> [78,79] --> 10\n" "Block 10: 9,8 --> [80,82] --> 11,12\n" "Block 11: 10 --> [83,89] --> 29\n" "Block 12: 10 --> [90,99] --> 29\n" "Block 13: 5,7 --> [100,105] --> 14,15\n" "Block 14: 13 --> [106,107] --> 15\n" "Block 15: 14,13 --> [108,110] --> 16,17\n" "Block 16: 15,20 --> [111,118] --> 29\n" "Block 17: 3,15 --> [119,121] --> 18,21\n" "Block 18: 17 --> [122,126] --> 19,20\n" "Block 19: 18 --> [127,128] --> 20\n" "Block 20: 19,18 --> [129,131] --> 21,16\n" "Block 21: 20,17 --> [132,169] --> 22,25\n" "Block 22: 21 --> [170,175] --> 23,24\n" "Block 23: 22 --> [176,177] --> 24\n" "Block 24: 23,22 --> [178,178] --> 25\n" "Block 25: 24,21 --> [179,181] --> 26,29\n" "Block 26: 25 --> [182,187] --> 27,28\n" "Block 27: 26 --> [188,189] --> 28\n" "Block 28: 27,26 --> [190,190] --> 29\n" "Block 29: 28,11,12,16,25 --> [191,204] --> 30,43\n" "Block 30: 29 --> [205,209] --> 31,32\n" "Block 31: 30 --> [210,210] --> 32,39\n" "Block 32: 31,30 --> [211,216] --> 33,34\n" "Block 33: 32 --> [217,217] --> 34,39\n" "Block 34: 33,32 --> [218,223] --> 35,36\n" "Block 35: 34 --> [224,225] --> 36\n" "Block 36: 35,34 --> [226,228] --> 37,38\n" "Block 37: 36 --> [229,235] --> 55\n" "Block 38: 36 --> [236,245] --> 55\n" "Block 39: 31,33 --> [246,251] --> 40,41\n" "Block 40: 39 --> [252,253] --> 41\n" "Block 41: 40,39 --> [254,256] --> 42,43\n" "Block 42: 41,46 --> [257,264] --> 55\n" "Block 43: 29,41 --> [265,267] --> 44,47\n" "Block 44: 43 --> [268,272] --> 45,46\n" "Block 45: 44 --> [273,274] --> 46\n" "Block 46: 45,44 --> [275,277] --> 47,42\n" "Block 47: 46,43 --> [278,315] --> 48,51\n" "Block 48: 47 --> [316,321] --> 49,50\n" "Block 49: 48 --> [322,323] --> 50\n" "Block 50: 49,48 --> [324,324] --> 51\n" "Block 51: 50,47 --> [325,327] --> 52,55\n" "Block 52: 51 --> [328,333] --> 53,54\n" "Block 53: 52 --> [334,335] --> 54\n" "Block 54: 53,52 --> [336,336] --> 55\n" "Block 55: 54,37,38,42,51 --> [337,346] --> 56,57\n" "Block 56: 55 --> [347,348] --> 88\n" "Block 57: 55 --> [349,352] --> 88\n" "Block 58: 2 --> [353,359] --> 59,75\n" "Block 59: 58 --> [360,364] --> 60,61\n" "Block 60: 59 --> [365,366] --> 61\n" "Block 61: 60,59 --> [367,369] --> 62,75\n" "Block 62: 61 --> [370,409] --> 63,66\n" "Block 63: 62 --> [410,415] --> 64,65\n" "Block 64: 63 --> [416,417] --> 65\n" "Block 65: 64,63 --> [418,418] --> 66\n" "Block 66: 65,62 --> [419,421] --> 67,70\n" "Block 67: 66 --> [422,427] --> 68,69\n" "Block 68: 67 --> [428,429] --> 69\n" "Block 69: 68,67 --> [430,430] --> 70\n" "Block 70: 69,66 --> [431,433] --> 71,74\n" "Block 71: 70 --> [434,439] --> 72,73\n" "Block 72: 71 --> [440,441] --> 73\n" "Block 73: 72,71 --> [442,442] --> 74\n" "Block 74: 73,70 --> [443,449] --> 87\n" "Block 75: 58,61 --> [450,486] --> 76,79\n" "Block 76: 75 --> [487,492] --> 77,78\n" "Block 77: 76 --> [493,494] --> 78\n" "Block 78: 77,76 --> [495,495] --> 79\n" "Block 79: 78,75 --> [496,498] --> 80,83\n" "Block 80: 79 --> [499,504] --> 81,82\n" "Block 81: 80 --> [505,506] --> 82\n" "Block 82: 81,80 --> [507,507] --> 83\n" "Block 83: 82,79 --> [508,510] --> 84,87\n" "Block 84: 83 --> [511,516] --> 85,86\n" "Block 85: 84 --> [517,518] --> 86\n" "Block 86: 85,84 --> [519,519] --> 87\n" "Block 87: 86,74,83 --> [520,520] --> 88\n" "Block 88: 87,56,57 --> [521,524] --> \n" ; #include "tests/rtl-disasm-test.i"