Commit 2db30d06 authored by simonmar's avatar simonmar
Browse files

[project @ 2002-07-16 12:05:37 by simonmar]

un-rot one transformation on x86: we normally transform

	movl $_blah, %eax
	jmp  *%eax

into simply

	jmp _blah

but the pattern had rotted w.r.t. gcc so this was no longer applying.
Should reduce code size measurably.

MERGE TO STABLE
parent f9206647
...@@ -1298,7 +1298,7 @@ sub print_doctored { ...@@ -1298,7 +1298,7 @@ sub print_doctored {
# jmp *<bad-reg> # jmp *<bad-reg>
# #
s/^\tmovl\s+\$${T_US}(.*),(\%e[abcd]x)\n\tjmp\s+\*\2/\tjmp $T_US$1/g; s/^\tmovl\s+\$${T_US}(.*),\s*(\%e[abcd]x)\n\tjmp\s+\*\2/\tjmp $T_US$1/g;
if ($StolenX86Regs <= 2 ) { # YURGH! spurious uses of esi? if ($StolenX86Regs <= 2 ) { # YURGH! spurious uses of esi?
s/^\tmovl\s+(.*),\s*\%esi\n\tjmp\s+\*%esi\n/\tmovl $1,\%eax\n\tjmp \*\%eax\n/g; s/^\tmovl\s+(.*),\s*\%esi\n\tjmp\s+\*%esi\n/\tmovl $1,\%eax\n\tjmp \*\%eax\n/g;
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment