From c77ca6f20ce3082135744383aac5f02c84689958 Mon Sep 17 00:00:00 2001 From: Jason Gross Date: Tue, 5 Sep 2017 02:27:09 -0400 Subject: Fix (hopefully) overlap in reg --- etc/compile-by-zinc/femulData0.svg | 1572 ++++++++++++++++++------------------ 1 file changed, 786 insertions(+), 786 deletions(-) (limited to 'etc/compile-by-zinc/femulData0.svg') diff --git a/etc/compile-by-zinc/femulData0.svg b/etc/compile-by-zinc/femulData0.svg index 51da9ca53..18f75f14d 100644 --- a/etc/compile-by-zinc/femulData0.svg +++ b/etc/compile-by-zinc/femulData0.svg @@ -11,499 +11,499 @@ x5 - -x5 (RDX) + +x5 (RAX) x20_128_tmp -x20_128_tmp (r13:r12) +x20_128_tmp (r16:r15) x5->x20_128_tmp - - -* + + +* x21_128_tmp -x21_128_tmp (r12:r13) +x21_128_tmp (r15:r16) x5->x21_128_tmp - - -* + + +* x24_128_tmp -x24_128_tmp (r13:r12) +x24_128_tmp (r16:r15) x5->x24_128_tmp - - -* + + +* x29_128_tmp -x29_128_tmp (r12:r13) +x29_128_tmp (r15:r16) x5->x29_128_tmp - - -* + + +* x36_128_tmp -x36_128_tmp (r13:r12) +x36_128_tmp (r16:r15) x5->x36_128_tmp - - -* + + +* x7 - -x7 (RDX) + +x7 (RAX) x22_128_tmp -x22_128_tmp (r12:r13) +x22_128_tmp (r15:r16) x7->x22_128_tmp - - -* + + +* x27_128_tmp -x27_128_tmp (r13:r12) +x27_128_tmp (r16:r15) x7->x27_128_tmp - - -* + + +* x32_128_tmp -x32_128_tmp (r12:r13) +x32_128_tmp (r15:r16) x7->x32_128_tmp - - -* + + +* x41_128_tmp -x41_128_tmp (r13:r12) +x41_128_tmp (r16:r15) x7->x41_128_tmp - - -* + + +* x46 - -x46 (RDX) + +x46 (RAX) x7->x46 - - -* + + +* x9 - -x9 (RDX) + +x9 (RAX) x25_128_tmp -x25_128_tmp (r13:r12) +x25_128_tmp (r16:r15) x9->x25_128_tmp - - -* + + +* x34_128_tmp -x34_128_tmp (r12:r13) +x34_128_tmp (r15:r16) x9->x34_128_tmp - - -* + + +* x43_128_tmp -x43_128_tmp (r13:r12) +x43_128_tmp (r16:r15) x9->x43_128_tmp - - -* + + +* x47 - -x47 (RDX) + +x47 (RAX) x9->x47 - - -* + + +* x10 - -x10 (r15) + +x10 (r18) x37_128_tmp -x37_128_tmp (r13:r12) +x37_128_tmp (r16:r15) x10->x37_128_tmp - - -* + + +* x45 - -x45 (r15) + +x45 (r18) x10->x45 - - -* + + +* x11 - -x11 (RDX) + +x11 (RAX) x30_128_tmp -x30_128_tmp (r12:r13) +x30_128_tmp (r15:r16) x11->x30_128_tmp - - -* + + +* x39_128_tmp -x39_128_tmp (r13:r12) +x39_128_tmp (r16:r15) x11->x39_128_tmp - - -* + + +* x48 - -x48 (RDX) + +x48 (RAX) x11->x48 - - -* + + +* x13 - -x13 (r14) + +x13 (r17) x13->x20_128_tmp - - -* + + +* x13->x22_128_tmp - - -* + + +* x13->x25_128_tmp - - -* + + +* x13->x30_128_tmp - - -* + + +* x13->x37_128_tmp - + -* +* x15 - -x15 (r11) + +x15 (r12) x15->x21_128_tmp - - -* + + +* x15->x27_128_tmp - - -* + + +* x15->x34_128_tmp - - -* + + +* x15->x39_128_tmp - + -* +* x49_128_tmp -x49_128_tmp (r12:r13) +x49_128_tmp (r15:r16) x15->x49_128_tmp - - -* + + +* x17 - -x17 (r10) + +x17 (r9) x17->x24_128_tmp - - -* + + +* x17->x32_128_tmp - - -* + + +* x17->x43_128_tmp - - -* + + +* x55_128_tmp -x55_128_tmp (r12:r13) +x55_128_tmp (r15:r16) x17->x55_128_tmp - - -* + + +* x57_128_tmp -x57_128_tmp (r13:r12) +x57_128_tmp (r16:r15) x17->x57_128_tmp - - -* + + +* x18 - -x18 (RDI) + +x18 (RCX) x18->x36_128_tmp - - -* + + +* x51_128_tmp -x51_128_tmp (r12:r13) +x51_128_tmp (r15:r16) x18->x51_128_tmp - - -* + + +* x59_128_tmp -x59_128_tmp (r13:r12) +x59_128_tmp (r16:r15) x18->x59_128_tmp - - -* + + +* x65_128_tmp -x65_128_tmp (r12:r13) +x65_128_tmp (r15:r16) x18->x65_128_tmp - - -* + + +* x67_128_tmp -x67_128_tmp (r13:r12) +x67_128_tmp (r16:r15) x18->x67_128_tmp - - -* + + +* x19 - -x19 (r8) + +x19 (RDI) x19->x29_128_tmp - - -* + + +* x19->x41_128_tmp - - -* + + +* x53_128_tmp -x53_128_tmp (r12:r13) +x53_128_tmp (r15:r16) x19->x53_128_tmp - - -* + + +* x61_128_tmp -x61_128_tmp (r13:r12) +x61_128_tmp (r16:r15) x19->x61_128_tmp - - -* + + +* x63_128_tmp -x63_128_tmp (r12:r13) +x63_128_tmp (r15:r16) x19->x63_128_tmp - - -* + + +* x20_128_high - -x20_128_high (r12) + +x20_128_high (r15) x56_128_high - -x50_128_high + x52_128_high + x54_128_high + x56_128_high (r11) + +x50_128_high + x52_128_high + x54_128_high + x56_128_high (r11) x20_128_high->x56_128_high - - -+ + + ++ x20_128_low -x20_128_low (r13) +x20_128_low (r16) x56_128_low - -x50_128_low + x52_128_low + x54_128_low + x56_128_low (r15) + +x50_128_low + x52_128_low + x54_128_low + x56_128_low (r10) x20_128_low->x56_128_low - - + + + x20_128_tmp->x20_128_high - - + + GET_HIGH @@ -514,230 +514,230 @@ x21_128_high - -x21_128_high (r13) + +x21_128_high (r16) x71_128_high - -x23_128_high + x58_128_high + x60_128_high + x62_128_high + x71_128_high (r10) + +x23_128_high + x58_128_high + x60_128_high + x62_128_high + x71_128_high (r8) x21_128_high->x71_128_high - - -+ + + ++ x21_128_low - -x21_128_low (r12) + +x21_128_low (r15) x71_128_low - -x23_128_low + x58_128_low + x60_128_low + x62_128_low + x71_128_low (r9) + +x23_128_low + x58_128_low + x60_128_low + x62_128_low + x71_128_low (RBP) x21_128_low->x71_128_low - - -+ + + ++ x21_128_tmp->x21_128_high - - -GET_HIGH + + +GET_HIGH x21_128_tmp->x21_128_low - - -GET_LOW + + +GET_LOW x22_128_high - -x22_128_high (r13) + +x22_128_high (r16) x22_128_high->x71_128_high - - -+ + + ++ x22_128_low - -x22_128_low (r12) + +x22_128_low (r15) x22_128_low->x71_128_low - - -+ + + ++ x22_128_tmp->x22_128_high - - -GET_HIGH + + +GET_HIGH x22_128_tmp->x22_128_low - - -GET_LOW + + +GET_LOW x24_128_high - -x24_128_high (r12) + +x24_128_high (r15) x74_128_high - -x26_128_high + x28_128_high + x64_128_high + x66_128_high + x74_128_high (r8) + +x26_128_high + x28_128_high + x64_128_high + x66_128_high + x74_128_high (RSI) x24_128_high->x74_128_high - - -+ + + ++ x24_128_low - -x24_128_low (r13) + +x24_128_low (r16) x74_128_low - -x26_128_low + x28_128_low + x64_128_low + x66_128_low + x74_128_low (RBP) + +x26_128_low + x28_128_low + x64_128_low + x66_128_low + x74_128_low (RDX) x24_128_low->x74_128_low - - -+ + + ++ x24_128_tmp->x24_128_high - - -GET_HIGH + + +GET_HIGH x24_128_tmp->x24_128_low - - -GET_LOW + + +GET_LOW x25_128_high - -x25_128_high (r12) + +x25_128_high (r15) x25_128_high->x74_128_high - - -+ + + ++ x25_128_low - -x25_128_low (r13) + +x25_128_low (r16) x25_128_low->x74_128_low - - -+ + + ++ x25_128_tmp->x25_128_high - - -GET_HIGH + + +GET_HIGH x25_128_tmp->x25_128_low - - -GET_LOW + + +GET_LOW x27_128_high - -x27_128_high (r12) + +x27_128_high (r15) x27_128_high->x74_128_high - - -+ + + ++ x27_128_low - -x27_128_low (r13) + +x27_128_low (r16) x27_128_low->x74_128_low - - -+ + + ++ x27_128_tmp->x27_128_high - - -GET_HIGH + + +GET_HIGH x27_128_tmp->x27_128_low - - -GET_LOW + + +GET_LOW x29_128_high - -x29_128_high (r13) + +x29_128_high (r16) x77_128_high - -x31_128_high + x33_128_high + x35_128_high + x68_128_high + x77_128_high (RDI) + +x31_128_high + x33_128_high + x35_128_high + x68_128_high + x77_128_high (r18) x29_128_high->x77_128_high - - -+ + + ++ x29_128_low -x29_128_low (r12) +x29_128_low (r15) x77_128_low - -x31_128_low + x33_128_low + x35_128_low + x68_128_low + x77_128_low (RSI) + +x31_128_low + x33_128_low + x35_128_low + x68_128_low + x77_128_low (RBX) x29_128_low->x77_128_low - - -+ + + ++ x29_128_tmp->x29_128_high - - + + GET_HIGH @@ -748,279 +748,279 @@ x30_128_high - -x30_128_high (r13) + +x30_128_high (r16) x30_128_high->x77_128_high - - -+ + + ++ x30_128_low - -x30_128_low (r12) + +x30_128_low (r15) x30_128_low->x77_128_low - - -+ + + ++ x30_128_tmp->x30_128_high - - -GET_HIGH + + +GET_HIGH x30_128_tmp->x30_128_low - - -GET_LOW + + +GET_LOW x32_128_high - -x32_128_high (r13) + +x32_128_high (r16) x32_128_high->x77_128_high - - -+ + + ++ x32_128_low - -x32_128_low (r12) + +x32_128_low (r15) x32_128_low->x77_128_low - - -+ + + ++ x32_128_tmp->x32_128_high - - -GET_HIGH + + +GET_HIGH x32_128_tmp->x32_128_low - - -GET_LOW + + +GET_LOW x34_128_high - -x34_128_high (r13) + +x34_128_high (r16) x34_128_high->x77_128_high - - -+ + + ++ x34_128_low - -x34_128_low (r12) + +x34_128_low (r15) x34_128_low->x77_128_low - - -+ + + ++ x34_128_tmp->x34_128_high - - -GET_HIGH + + +GET_HIGH x34_128_tmp->x34_128_low - - -GET_LOW + + +GET_LOW x36_128_high - -x36_128_high (r12) + +x36_128_high (r15) x80_128_high - -x38_128_high + x40_128_high + x42_128_high + x44_128_high + x80_128_high (r14) + +x38_128_high + x40_128_high + x42_128_high + x44_128_high + x80_128_high (r14) x36_128_high->x80_128_high - - -+ + + ++ x36_128_low - -x36_128_low (r13) + +x36_128_low (r16) x80_128_low - -x38_128_low + x40_128_low + x42_128_low + x44_128_low + x80_128_low (r15) + +x38_128_low + x40_128_low + x42_128_low + x44_128_low + x80_128_low (r13) x36_128_low->x80_128_low - - -+ + + ++ x36_128_tmp->x36_128_high - - -GET_HIGH + + +GET_HIGH x36_128_tmp->x36_128_low - - -GET_LOW + + +GET_LOW x37_128_high -x37_128_high (r12) +x37_128_high (r15) x37_128_high->x80_128_high - - + + + x37_128_low - -x37_128_low (r13) + +x37_128_low (r16) x37_128_low->x80_128_low - - -+ + + ++ x37_128_tmp->x37_128_high - + GET_HIGH x37_128_tmp->x37_128_low - - -GET_LOW + + +GET_LOW x39_128_high - -x39_128_high (r12) + +x39_128_high (r15) x39_128_high->x80_128_high - - + + + x39_128_low - -x39_128_low (r13) + +x39_128_low (r16) x39_128_low->x80_128_low - - -+ + + ++ x39_128_tmp->x39_128_high - - -GET_HIGH + + +GET_HIGH x39_128_tmp->x39_128_low - - -GET_LOW + + +GET_LOW x41_128_high -x41_128_high (r12) +x41_128_high (r15) x41_128_high->x80_128_high - - + + + x41_128_low -x41_128_low (r13) +x41_128_low (r16) x41_128_low->x80_128_low - - -+ + + ++ x41_128_tmp->x41_128_high - - -GET_HIGH + + +GET_HIGH x41_128_tmp->x41_128_low - + -GET_LOW +GET_LOW x43_128_high - -x43_128_high (r12) + +x43_128_high (r15) x43_128_high->x80_128_high - - -+ + + ++ x43_128_low -x43_128_low (r13) +x43_128_low (r16) x43_128_low->x80_128_low - - + + + x43_128_tmp->x43_128_high - - -GET_HIGH + + +GET_HIGH x43_128_tmp->x43_128_low @@ -1030,90 +1030,90 @@ x45->x49_128_tmp - - -* + + +* x45->x57_128_tmp - - -* + + +* x45->x63_128_tmp - - -* + + +* x45->x67_128_tmp - - -* + + +* x46->x51_128_tmp - - -* + + +* x47->x53_128_tmp - - -* + + +* x47->x59_128_tmp - - -* + + +* x48->x55_128_tmp - - -* + + +* x48->x61_128_tmp - - -* + + +* x48->x65_128_tmp - - -* + + +* x49_128_high - -x49_128_high (r13) + +x49_128_high (r16) x49_128_high->x56_128_high - - -+ + + ++ x49_128_low -x49_128_low (r12) +x49_128_low (r15) x49_128_low->x56_128_low - - + + + x49_128_tmp->x49_128_high - - + + GET_HIGH @@ -1124,31 +1124,31 @@ x51_128_high - -x51_128_high (r13) + +x51_128_high (r16) x51_128_high->x56_128_high - - -+ + + ++ x51_128_low -x51_128_low (r12) +x51_128_low (r15) x51_128_low->x56_128_low - - + + + x51_128_tmp->x51_128_high - - -GET_HIGH + + +GET_HIGH x51_128_tmp->x51_128_low @@ -1158,30 +1158,30 @@ x53_128_high - -x53_128_high (r13) + +x53_128_high (r16) x53_128_high->x56_128_high - - -+ + + ++ x53_128_low -x53_128_low (r12) +x53_128_low (r15) x53_128_low->x56_128_low - - + + + x53_128_tmp->x53_128_high - - + + GET_HIGH @@ -1193,23 +1193,23 @@ x55_128_high -x55_128_high (r13) +x55_128_high (r16) x55_128_high->x56_128_high - - -+ + + ++ x55_128_low -x55_128_low (r12) +x55_128_low (r15) x55_128_low->x56_128_low - - + + + @@ -1226,81 +1226,81 @@ cx56_128 - -cx56_128 (c0) + +cx56_128 (c0) cx56_128->x56_128_high - - -+ + + ++ x56_128 - -x50_128 + x52_128 + x54_128 + x56_128 (r15:r11) + +x50_128 + x52_128 + x54_128 + x56_128 (r10:r11) x69 - -x69 (r11) + +x69 (r11) x56_128->x69 - - ->> + + +>> x56_128_high->x56_128 - - -COMBINE + + +COMBINE x56_128_low->cx56_128 - - -GET_CARRY + + +GET_CARRY x56_128_low->x56_128 - - -COMBINE + + +COMBINE x70 - -x70 (r15) + +x70 (r10) x56_128_low->x70 - - -& + + +& x57_128_high -x57_128_high (r12) +x57_128_high (r15) x57_128_high->x71_128_high - - -+ + + ++ x57_128_low -x57_128_low (r13) +x57_128_low (r16) x57_128_low->x71_128_low - - -+ + + ++ x57_128_tmp->x57_128_high @@ -1310,98 +1310,98 @@ x57_128_tmp->x57_128_low - - + + GET_LOW x59_128_high - -x59_128_high (r12) + +x59_128_high (r15) x59_128_high->x71_128_high - - -+ + + ++ x59_128_low - -x59_128_low (r13) + +x59_128_low (r16) x59_128_low->x71_128_low - - -+ + + ++ x59_128_tmp->x59_128_high - - -GET_HIGH + + +GET_HIGH x59_128_tmp->x59_128_low - - -GET_LOW + + +GET_LOW x61_128_high - -x61_128_high (r12) + +x61_128_high (r15) x61_128_high->x71_128_high - - -+ + + ++ x61_128_low - -x61_128_low (r13) + +x61_128_low (r16) x61_128_low->x71_128_low - - -+ + + ++ x61_128_tmp->x61_128_high - - -GET_HIGH + + +GET_HIGH x61_128_tmp->x61_128_low - - -GET_LOW + + +GET_LOW x63_128_high -x63_128_high (r13) +x63_128_high (r16) x63_128_high->x74_128_high - - + + + x63_128_low -x63_128_low (r12) +x63_128_low (r15) x63_128_low->x74_128_low - - + + + @@ -1412,30 +1412,30 @@ x63_128_tmp->x63_128_low - - -GET_LOW + + +GET_LOW x65_128_high -x65_128_high (r13) +x65_128_high (r16) x65_128_high->x74_128_high - - + + + x65_128_low - -x65_128_low (r12) + +x65_128_low (r15) x65_128_low->x74_128_low - - + + + @@ -1446,482 +1446,482 @@ x65_128_tmp->x65_128_low - - -GET_LOW + + +GET_LOW x67_128_high - -x67_128_high (r12) + +x67_128_high (r15) x67_128_high->x77_128_high - - -+ + + ++ x67_128_low -x67_128_low (r13) +x67_128_low (r16) x67_128_low->x77_128_low - - -+ + + ++ x67_128_tmp->x67_128_high - - -GET_HIGH + + +GET_HIGH x67_128_tmp->x67_128_low - + -GET_LOW +GET_LOW x69->x71_128_low - - -+ + + ++ x84 - -x84 (r15) + +x84 (r10) x70->x84 - - -+ + + ++ cx71_128 - -cx71_128 (c0) + +cx71_128 (c0) cx71_128->x71_128_high - - -+ + + ++ x71_128 - -x23_128 + x58_128 + x60_128 + x62_128 + x71_128 (r9:r10) + +x23_128 + x58_128 + x60_128 + x62_128 + x71_128 (RBP:r8) x72 - -x72 (r10) + +x72 (r8) x71_128->x72 - - ->> + + +>> x71_128_high->x71_128 - - -COMBINE + + +COMBINE x71_128_low->cx71_128 - - -GET_CARRY + + +GET_CARRY x71_128_low->x71_128 - - -COMBINE + + +COMBINE x73 - -x73 (r9) + +x73 (RBP) x71_128_low->x73 - - -& + + +& x72->x74_128_low - - -+ + + ++ x87 - -x87 (r15) + +x87 (r10) x73->x87 - - -+ + + ++ cx74_128 - -cx74_128 (c0) + +cx74_128 (c0) cx74_128->x74_128_high - - -+ + + ++ x74_128 - -x26_128 + x28_128 + x64_128 + x66_128 + x74_128 (RBP:r8) + +x26_128 + x28_128 + x64_128 + x66_128 + x74_128 (RDX:RSI) x75 - -x75 (r8) + +x75 (RSI) x74_128->x75 - - ->> + + +>> x74_128_high->x74_128 - - -COMBINE + + +COMBINE x74_128_low->cx74_128 - - -GET_CARRY + + +GET_CARRY x74_128_low->x74_128 - - -COMBINE + + +COMBINE x76 - -x76 (RBP) + +x76 (RDX) x74_128_low->x76 - - -& + + +& x75->x77_128_low - - -+ + + ++ x90 - -x90 (r15) + +x90 (r10) x76->x90 - - -+ + + ++ cx77_128 - -cx77_128 (c0) + +cx77_128 (c0) cx77_128->x77_128_high - - -+ + + ++ x77_128 - -x31_128 + x33_128 + x35_128 + x68_128 + x77_128 (RSI:RDI) + +x31_128 + x33_128 + x35_128 + x68_128 + x77_128 (RBX:r18) x78 - -x78 (RDI) + +x78 (r18) x77_128->x78 - - ->> + + +>> x77_128_high->x77_128 - - -COMBINE + + +COMBINE x77_128_low->cx77_128 - - -GET_CARRY + + +GET_CARRY x77_128_low->x77_128 - - -COMBINE + + +COMBINE x79 - -x79 (RSI) + +x79 (RBX) x77_128_low->x79 - - -& + + +& x78->x80_128_low - - -+ + + ++ out - -out + +out x79->out - - + + cx80_128 - -cx80_128 (c0) + +cx80_128 (c0) cx80_128->x80_128_high - - -+ + + ++ x80_128 - -x38_128 + x40_128 + x42_128 + x44_128 + x80_128 (r15:r14) + +x38_128 + x40_128 + x42_128 + x44_128 + x80_128 (r13:r14) x81 - -x81 (r14) + +x81 (r14) x80_128->x81 - - ->> + + +>> x80_128_high->x80_128 - - -COMBINE + + +COMBINE x80_128_low->cx80_128 - - -GET_CARRY + + +GET_CARRY x80_128_low->x80_128 - - -COMBINE + + +COMBINE x82 - -x82 (r15) + +x82 (r13) x80_128_low->x82 - - -& + + +& x83 - -x83 (r14) + +x83 (r14) x81->x83 - - -* + + +* x82->out - - + + x83->x84 - - -+ + + ++ x85 - -x85 (r15) + +x85 (r10) x84->x85 - - ->> + + +>> x86 - -x86 (r14) + +x86 (r14) x84->x86 - - -& + + +& x85->x87 - - -+ + + ++ x86->out - - + + x88 - -x88 (r15) + +x88 (r10) x87->x88 - - ->> + + +>> x89 - -x89 (r9) + +x89 (RBP) x87->x89 - - -& + + +& x88->x90 - - -+ + + ++ x89->out - - + + x90->out - - + + in - -in + +in in->x5 - - + + in->x7 - - + + in->x9 - - + + in->x10 - - + + in->x11 - - + + in->x13 - - + + in->x15 - - + + in->x17 - - + + in->x18 - - + + in->x19 - - + + -- cgit v1.2.3