Mercurial > hg > truffle
diff src/cpu/x86/vm/x86_64.ad @ 1914:ae065c367d93
6987135: Performance regression on Intel platform with 32-bits edition between 6u13 and 6u14.
Summary: Use hardware DIV instruction for long division by constant when it is faster than code with multiply.
Reviewed-by: never
author | kvn |
---|---|
date | Tue, 02 Nov 2010 09:00:37 -0700 |
parents | 52e82a6bedaf |
children | 2f644f85485d |
line wrap: on
line diff
--- a/src/cpu/x86/vm/x86_64.ad Sat Oct 30 13:08:23 2010 -0700 +++ b/src/cpu/x86/vm/x86_64.ad Tue Nov 02 09:00:37 2010 -0700 @@ -2065,6 +2065,13 @@ return can_be_java_arg(reg); } +bool Matcher::use_asm_for_ldiv_by_con( jlong divisor ) { + // In 64 bit mode a code which use multiply when + // devisor is constant is faster than hardware + // DIV instruction (it uses MulHiL). + return false; +} + // Register for DIVI projection of divmodI RegMask Matcher::divI_proj_mask() { return INT_RAX_REG_mask;