RFR(M): 8027754: Enable loop optimizations for loops with MathExact inside
fweimer at redhat.com
Fri Jan 24 01:09:13 PST 2014
On 01/23/2014 12:27 PM, Rickard Bäckman wrote:
> In the end we generate assembly like:
> mov rdx, rdi
> add rdx, rsi
> mov rax, rdi
> add rax, rsi
> jo <overflow label>
> With one add instruction for the data and one for flags. Future
> improvements could be to try to match the Overflow and the math
> operation and remove one of them.
You could use cmp instead of sub on x86 for the overflow case, which
should be beneficial because the cmp instruction preserves both inputs
and only updates the flags. Unfortunately, there is no similar
companion instruction in the other cases, so I'm not sure if that's
worth the effort.
The mulofI_rReg_imm pattern definitions in x86_32.ad and x86_64.ad do
not include the immediate operand in the format string.
Florian Weimer / Red Hat Product Security Team
More information about the hotspot-compiler-dev