Mercurial > hg > graal-compiler
changeset 14463:0f19095fd8c1
8035394: PPC64: Make usage of intrinsic dsqrt depend on processor recognition.
Reviewed-by: kvn
author | goetz |
---|---|
date | Thu, 20 Feb 2014 11:05:12 +0100 |
parents | 1e820011ee5f |
children | 3ef193f311ed |
files | src/cpu/ppc/vm/ppc.ad src/share/vm/opto/library_call.cpp |
diffstat | 2 files changed, 4 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/src/cpu/ppc/vm/ppc.ad Thu Feb 20 10:48:57 2014 +0100 +++ b/src/cpu/ppc/vm/ppc.ad Thu Feb 20 11:05:12 2014 +0100 @@ -2076,6 +2076,8 @@ return false; switch (opcode) { + case Op_SqrtD: + return VM_Version::has_fsqrt(); case Op_CountLeadingZerosI: case Op_CountLeadingZerosL: case Op_CountTrailingZerosI: @@ -8740,7 +8742,7 @@ ins_pipe(pipe_class_default); %} -// VM_Version::has_sqrt() decides if this node will be used. +// VM_Version::has_fsqrt() decides if this node will be used. // Sqrt float double precision instruct sqrtD_reg(regD dst, regD src) %{ match(Set dst (SqrtD src));
--- a/src/share/vm/opto/library_call.cpp Thu Feb 20 10:48:57 2014 +0100 +++ b/src/share/vm/opto/library_call.cpp Thu Feb 20 11:05:12 2014 +0100 @@ -1937,7 +1937,7 @@ runtime_math(OptoRuntime::Math_D_D_Type(), FN_PTR(SharedRuntime::dlog10), "LOG10"); // These intrinsics are supported on all hardware - case vmIntrinsics::_dsqrt: return Matcher::has_match_rule(Op_SqrtD) ? inline_math(id) : false; + case vmIntrinsics::_dsqrt: return Matcher::match_rule_supported(Op_SqrtD) ? inline_math(id) : false; case vmIntrinsics::_dabs: return Matcher::has_match_rule(Op_AbsD) ? inline_math(id) : false; case vmIntrinsics::_dexp: return Matcher::has_match_rule(Op_ExpD) ? inline_exp() :