Created
March 4, 2017 15:11
-
-
Save exjam/150ac4762e8adb91be5ec2c65a45476c to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
0: LOAD_ARG r1, 0 | |
1: LOAD_ARG r2, 1 | |
2: GET_ALIAS r3, a3 | |
3: SLTSI r4, r3, 0 | |
r3: a3 | |
4: SGTSI r5, r3, 0 | |
r3: a3 | |
5: SEQI r6, r3, 0 | |
r3: a3 | |
6: GET_ALIAS r7, a15 | |
7: BFEXT r8, r7, 31, 1 | |
r7: a15 | |
8: GET_ALIAS r9, a13 | |
9: SLLI r10, r4, 3 | |
r4: (signed) r3 < 0 | |
10: SLLI r11, r5, 2 | |
r5: (signed) r3 > 0 | |
11: SLLI r12, r6, 1 | |
r6: r3 == 0 | |
12: OR r13, r10, r11 | |
r10: r4 << 3 | |
r11: r5 << 2 | |
13: OR r14, r12, r8 | |
r12: r6 << 1 | |
r8: bfext(r7, 31, 1) | |
14: OR r15, r13, r14 | |
r13: r10 | r11 | |
r14: r12 | r8 | |
15: BFINS r16, r9, r15, 28, 4 | |
r9: a13 | |
r15: r13 | r14 | |
16: SET_ALIAS a13, r16 | |
r16: bfins(r9, r15, 28, 4) | |
17: ANDI r17, r16, 536870912 | |
r16: bfins(r9, r15, 28, 4) | |
18: GOTO_IF_Z r17, L4 | |
r17: r16 & 536870912 | |
19: LOAD r18, 812(r1) | |
r1: arg[0] | |
20: GOTO_IF_Z r18, L1 | |
r18: @812(r1).i32 | |
21: LOAD_IMM r19, 0x3ABBAC0 | |
22: SET_ALIAS a1, r19 | |
r19: 0x3ABBAC0 | |
23: GOTO L5 | |
24: LABEL L4 | |
25: LOAD_IMM r20, 0x3ABBAA8 | |
26: SET_ALIAS a1, r20 | |
r20: 0x3ABBAA8 | |
27: LOAD_IMM r21, 0x2B40000 | |
28: NOP | |
29: LOAD_IMM r22, 0x3AC0000 | |
30: NOP | |
31: ADDI r23, r21, 15316 | |
r21: 0x2B40000 | |
32: SET_ALIAS a4, r23 | |
r23: r21 + 15316 | |
33: LOAD_IMM r24, 2 | |
34: SET_ALIAS a3, r24 | |
r24: 2 | |
35: ADDI r25, r22, -17936 | |
r22: 0x3AC0000 | |
36: SET_ALIAS a5, r25 | |
r25: r22 + -17936 | |
37: GET_ALIAS r26, a2 | |
38: GET_ALIAS r27, a12 | |
39: LOAD_IMM r28, 0x3ABBABC | |
40: SET_ALIAS a1, r28 | |
r28: 0x3ABBABC | |
41: LOAD r29, 864(r1) | |
r1: arg[0] | |
42: CALL @r29, r1 | |
r29: @864(r1).addr | |
r1: arg[0] | |
43: RETURN | |
44: LOAD_IMM r30, 0x3ABBAC0 | |
45: SET_ALIAS a1, r30 | |
r30: 0x3ABBAC0 | |
46: LABEL L1 | |
47: LOAD_IMM r31, 0 | |
48: NOP | |
49: ADDI r32, r31, 0 | |
r31: 0 | |
50: SET_ALIAS a8, r32 | |
r32: r31 + 0 | |
51: GET_ALIAS r33, a15 | |
52: SLTUI r34, r32, 0 | |
r32: r31 + 0 | |
53: BFINS r35, r33, r34, 29, 1 | |
r33: a15 | |
r34: r32 < 0 | |
54: SET_ALIAS a15, r35 | |
r35: bfins(r33, r34, 29, 1) | |
55: SLTSI r36, r32, 0 | |
r32: r31 + 0 | |
56: SGTSI r37, r32, 0 | |
r32: r31 + 0 | |
57: SEQI r38, r32, 0 | |
r32: r31 + 0 | |
58: BFEXT r39, r35, 31, 1 | |
r35: bfins(r33, r34, 29, 1) | |
59: GET_ALIAS r40, a13 | |
60: SLLI r41, r36, 3 | |
r36: (signed) r32 < 0 | |
61: SLLI r42, r37, 2 | |
r37: (signed) r32 > 0 | |
62: SLLI r43, r38, 1 | |
r38: r32 == 0 | |
63: OR r44, r41, r42 | |
r41: r36 << 3 | |
r42: r37 << 2 | |
64: OR r45, r43, r39 | |
r43: r38 << 1 | |
r39: bfext(r35, 31, 1) | |
65: OR r46, r44, r45 | |
r44: r41 | r42 | |
r45: r43 | r39 | |
66: BFINS r47, r40, r46, 28, 4 | |
r40: a13 | |
r46: r44 | r45 | |
67: SET_ALIAS a13, r47 | |
r47: bfins(r40, r46, 28, 4) | |
68: ANDI r48, r47, 536870912 | |
r47: bfins(r40, r46, 28, 4) | |
69: GOTO_IF_Z r48, L7 | |
r48: r47 & 536870912 | |
70: LOAD r49, 812(r1) | |
r1: arg[0] | |
71: GOTO_IF_Z r49, L2 | |
r49: @812(r1).i32 | |
72: LOAD_IMM r50, 0x3ABBAF4 | |
73: SET_ALIAS a1, r50 | |
r50: 0x3ABBAF4 | |
74: GOTO L5 | |
75: LABEL L7 | |
76: LOAD_IMM r51, 0x3ABBACC | |
77: SET_ALIAS a1, r51 | |
r51: 0x3ABBACC | |
78: LOAD_IMM r52, 0 | |
79: NOP | |
80: LOAD_IMM r53, 0x1000000 | |
81: SET_ALIAS a7, r53 | |
r53: 0x1000000 | |
82: LOAD_IMM r54, 0 | |
83: NOP | |
84: ADDI r55, r52, 0 | |
r52: 0 | |
85: SET_ALIAS a2, r55 | |
r55: r52 + 0 | |
86: GET_ALIAS r56, a15 | |
87: SLTUI r57, r55, 0 | |
r55: r52 + 0 | |
88: BFINS r58, r56, r57, 29, 1 | |
r56: a15 | |
r57: r55 < 0 | |
89: SET_ALIAS a15, r58 | |
r58: bfins(r56, r57, 29, 1) | |
90: LOAD_IMM r59, 0x1000000 | |
91: SET_ALIAS a6, r59 | |
r59: 0x1000000 | |
92: ADDI r60, r54, 0 | |
r54: 0 | |
93: SET_ALIAS a9, r60 | |
r60: r54 + 0 | |
94: ZCAST r61, r53 | |
r53: 0x1000000 | |
95: ADD r62, r2, r61 | |
r2: arg[1] | |
r61: zcast(r53) | |
96: STORE_BR 18640(r62), r55 | |
r62: r2 + r61 | |
r55: r52 + 0 | |
97: GET_ALIAS r63, a11 | |
98: ADDI r64, r63, 1032 | |
r63: a11 | |
99: SET_ALIAS a3, r64 | |
r64: r63 + 1032 | |
100: ZCAST r65, r59 | |
r59: 0x1000000 | |
101: ADD r66, r2, r65 | |
r2: arg[1] | |
r65: zcast(r59) | |
102: STORE_BR 18660(r66), r60 | |
r66: r2 + r65 | |
r60: r54 + 0 | |
103: LOAD_IMM r67, 0x4000000 | |
104: LOAD_IMM r68, 0x3ABBAF4 | |
105: SET_ALIAS a14, r68 | |
r68: 0x3ABBAF4 | |
106: SET_ALIAS a1, r67 | |
r67: 0x4000000 | |
107: GOTO L5 | |
108: LOAD_IMM r69, 0x3ABBAF4 | |
109: SET_ALIAS a1, r69 | |
r69: 0x3ABBAF4 | |
110: LABEL L2 | |
111: LOAD_IMM r70, 0 | |
112: NOP | |
113: ADDI r71, r70, 0 | |
r70: 0 | |
114: SET_ALIAS a10, r71 | |
r71: r70 + 0 | |
115: GET_ALIAS r72, a15 | |
116: SLTUI r73, r71, 0 | |
r71: r70 + 0 | |
117: BFINS r74, r72, r73, 29, 1 | |
r72: a15 | |
r73: r71 < 0 | |
118: SET_ALIAS a15, r74 | |
r74: bfins(r72, r73, 29, 1) | |
119: SLTSI r75, r71, 0 | |
r71: r70 + 0 | |
120: SGTSI r76, r71, 0 | |
r71: r70 + 0 | |
121: SEQI r77, r71, 0 | |
r71: r70 + 0 | |
122: BFEXT r78, r74, 31, 1 | |
r74: bfins(r72, r73, 29, 1) | |
123: GET_ALIAS r79, a13 | |
124: SLLI r80, r75, 3 | |
r75: (signed) r71 < 0 | |
125: SLLI r81, r76, 2 | |
r76: (signed) r71 > 0 | |
126: SLLI r82, r77, 1 | |
r77: r71 == 0 | |
127: OR r83, r80, r81 | |
r80: r75 << 3 | |
r81: r76 << 2 | |
128: OR r84, r82, r78 | |
r82: r77 << 1 | |
r78: bfext(r74, 31, 1) | |
129: OR r85, r83, r84 | |
r83: r80 | r81 | |
r84: r82 | r78 | |
130: BFINS r86, r79, r85, 28, 4 | |
r79: a13 | |
r85: r83 | r84 | |
131: SET_ALIAS a13, r86 | |
r86: bfins(r79, r85, 28, 4) | |
132: ANDI r87, r86, 536870912 | |
r86: bfins(r79, r85, 28, 4) | |
133: GOTO_IF_Z r87, L8 | |
r87: r86 & 536870912 | |
134: LOAD r88, 812(r1) | |
r1: arg[0] | |
135: GOTO_IF_Z r88, L3 | |
r88: @812(r1).i32 | |
136: LOAD_IMM r89, 0x3ABBB04 | |
137: SET_ALIAS a1, r89 | |
r89: 0x3ABBB04 | |
138: GOTO L5 | |
139: LABEL L8 | |
140: LOAD_IMM r90, 0x3ABBB00 | |
141: SET_ALIAS a1, r90 | |
r90: 0x3ABBB00 | |
142: LOAD_IMM r91, 0x4000000 | |
143: LOAD_IMM r92, 0x3ABBB04 | |
144: SET_ALIAS a14, r92 | |
r92: 0x3ABBB04 | |
145: SET_ALIAS a1, r91 | |
r91: 0x4000000 | |
146: GOTO L5 | |
147: LOAD_IMM r93, 0x3ABBB04 | |
148: SET_ALIAS a1, r93 | |
r93: 0x3ABBB04 | |
149: LABEL L3 | |
150: LOAD_IMM r94, 0x3ABB9F0 | |
151: LOAD_IMM r95, 0x3ABBB08 | |
152: SET_ALIAS a14, r95 | |
r95: 0x3ABBB08 | |
153: SET_ALIAS a1, r94 | |
r94: 0x3ABB9F0 | |
154: GOTO L5 | |
155: LOAD_IMM r96, 0x3ABBB08 | |
156: SET_ALIAS a1, r96 | |
r96: 0x3ABBB08 | |
157: LABEL L5 | |
158: RETURN | |
Alias 1: int32 @ 4(r1) | |
Alias 2: int32 @ 8(r1) | |
Alias 3: int32 @ 20(r1) | |
Alias 4: int32 @ 24(r1) | |
Alias 5: int32 @ 28(r1) | |
Alias 6: int32 @ 32(r1) | |
Alias 7: int32 @ 40(r1) | |
Alias 8: int32 @ 44(r1) | |
Alias 9: int32 @ 52(r1) | |
Alias 10: int32 @ 56(r1) | |
Alias 11: int32 @ 124(r1) | |
Alias 12: int32 @ 128(r1) | |
Alias 13: int32 @ 656(r1) | |
Alias 14: int32 @ 664(r1) | |
Alias 15: int32 @ 660(r1) | |
Block 0: <none> --> [0,18] --> 3 | |
Block 1: <none> --> [19,20] --> 5 | |
Block 2: <none> --> [21,23] --> 17 | |
Block 3: 0 --> [24,43] --> <none> | |
Block 4: <none> --> [44,45] --> <none> | |
Block 5: 1 --> [46,69] --> 8 | |
Block 6: <none> --> [70,71] --> 10 | |
Block 7: <none> --> [72,74] --> 17 | |
Block 8: 5 --> [75,107] --> 17 | |
Block 9: <none> --> [108,109] --> <none> | |
Block 10: 6 --> [110,133] --> 13 | |
Block 11: <none> --> [134,135] --> 15 | |
Block 12: <none> --> [136,138] --> 17 | |
Block 13: 10 --> [139,146] --> 17 | |
Block 14: <none> --> [147,148] --> <none> | |
Block 15: 11 --> [149,154] --> 17 | |
Block 16: <none> --> [155,156] --> <none> | |
Block 17: 2,7,8,12,13,15 --> [157,158] --> <none> |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
0: LOAD_ARG r1, 0 | |
1: LOAD_ARG r2, 1 | |
2: GET_ALIAS r3, a3 | |
3: SLTSI r4, r3, 0 | |
r3: a3 | |
4: SGTSI r5, r3, 0 | |
r3: a3 | |
5: SEQI r6, r3, 0 | |
r3: a3 | |
6: GET_ALIAS r7, a15 | |
7: BFEXT r8, r7, 31, 1 | |
r7: a15 | |
8: GET_ALIAS r9, a13 | |
9: SLLI r10, r4, 3 | |
r4: (signed) r3 < 0 | |
10: SLLI r11, r5, 2 | |
r5: (signed) r3 > 0 | |
11: SLLI r12, r6, 1 | |
r6: r3 == 0 | |
12: OR r13, r10, r11 | |
r10: r4 << 3 | |
r11: r5 << 2 | |
13: OR r14, r12, r8 | |
r12: r6 << 1 | |
r8: bfext(r7, 31, 1) | |
14: OR r15, r13, r14 | |
r13: r10 | r11 | |
r14: r12 | r8 | |
15: BFINS r16, r9, r15, 28, 4 | |
r9: a13 | |
r15: r13 | r14 | |
16: SET_ALIAS a13, r16 | |
r16: bfins(r9, r15, 28, 4) | |
17: ANDI r17, r16, 536870912 | |
r16: bfins(r9, r15, 28, 4) | |
18: NOP | |
19: NOP | |
20: NOP | |
21: NOP | |
22: NOP | |
23: NOP | |
24: NOP | |
25: LOAD_IMM r20, 0x3ABBAA8 | |
26: SET_ALIAS a1, r20 | |
r20: 0x3ABBAA8 | |
27: LOAD_IMM r21, 0x2B40000 | |
28: NOP | |
29: LOAD_IMM r22, 0x3AC0000 | |
30: NOP | |
31: ADDI r23, r21, 15316 | |
r21: 0x2B40000 | |
32: SET_ALIAS a4, r23 | |
r23: r21 + 15316 | |
33: LOAD_IMM r24, 2 | |
34: SET_ALIAS a3, r24 | |
r24: 2 | |
35: ADDI r25, r22, -17936 | |
r22: 0x3AC0000 | |
36: SET_ALIAS a5, r25 | |
r25: r22 + -17936 | |
37: GET_ALIAS r26, a2 | |
38: GET_ALIAS r27, a12 | |
39: LOAD_IMM r28, 0x3ABBABC | |
40: SET_ALIAS a1, r28 | |
r28: 0x3ABBABC | |
41: LOAD r29, 864(r1) | |
r1: arg[0] | |
42: CALL @r29, r1 | |
r29: @864(r1).addr | |
r1: arg[0] | |
43: RETURN | |
44: NOP | |
45: NOP | |
46: NOP | |
47: NOP | |
48: NOP | |
49: NOP | |
50: NOP | |
51: NOP | |
52: NOP | |
53: NOP | |
54: NOP | |
55: NOP | |
56: NOP | |
57: NOP | |
58: NOP | |
59: NOP | |
60: NOP | |
61: NOP | |
62: NOP | |
63: NOP | |
64: NOP | |
65: NOP | |
66: NOP | |
67: NOP | |
68: NOP | |
69: NOP | |
70: NOP | |
71: NOP | |
72: NOP | |
73: NOP | |
74: NOP | |
75: NOP | |
76: NOP | |
77: NOP | |
78: NOP | |
79: NOP | |
80: NOP | |
81: NOP | |
82: NOP | |
83: NOP | |
84: NOP | |
85: NOP | |
86: NOP | |
87: NOP | |
88: NOP | |
89: NOP | |
90: NOP | |
91: NOP | |
92: NOP | |
93: NOP | |
94: NOP | |
95: NOP | |
96: NOP | |
97: NOP | |
98: NOP | |
99: NOP | |
100: NOP | |
101: NOP | |
102: NOP | |
103: NOP | |
104: NOP | |
105: NOP | |
106: NOP | |
107: NOP | |
108: NOP | |
109: NOP | |
110: NOP | |
111: NOP | |
112: NOP | |
113: NOP | |
114: NOP | |
115: NOP | |
116: NOP | |
117: NOP | |
118: NOP | |
119: NOP | |
120: NOP | |
121: NOP | |
122: NOP | |
123: NOP | |
124: NOP | |
125: NOP | |
126: NOP | |
127: NOP | |
128: NOP | |
129: NOP | |
130: NOP | |
131: NOP | |
132: NOP | |
133: NOP | |
134: NOP | |
135: NOP | |
136: NOP | |
137: NOP | |
138: NOP | |
139: NOP | |
140: NOP | |
141: NOP | |
142: NOP | |
143: NOP | |
144: NOP | |
145: NOP | |
146: NOP | |
147: NOP | |
148: NOP | |
149: NOP | |
150: NOP | |
151: NOP | |
152: NOP | |
153: NOP | |
154: NOP | |
155: NOP | |
156: NOP | |
157: NOP | |
158: NOP | |
Alias 1: int32 @ 4(r1) | |
Alias 2: int32 @ 8(r1) | |
Alias 3: int32 @ 20(r1) | |
Alias 4: int32 @ 24(r1) | |
Alias 5: int32 @ 28(r1) | |
Alias 6: int32 @ 32(r1) | |
Alias 7: int32 @ 40(r1) | |
Alias 8: int32 @ 44(r1) | |
Alias 9: int32 @ 52(r1) | |
Alias 10: int32 @ 56(r1) | |
Alias 11: int32 @ 124(r1) | |
Alias 12: int32 @ 128(r1) | |
Alias 13: int32 @ 656(r1) | |
Alias 14: int32 @ 664(r1) | |
Alias 15: int32 @ 660(r1) | |
Block 0: <none> --> [0,18] --> 3 | |
Block 3: 0 --> [24,43] --> <none> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment