equal
deleted
inserted
replaced
9896 __ addptr(rsp, 8); |
9896 __ addptr(rsp, 8); |
9897 %} |
9897 %} |
9898 ins_pipe( pipe_slow ); |
9898 ins_pipe( pipe_slow ); |
9899 %} |
9899 %} |
9900 |
9900 |
9901 instruct expD_reg(regD dst, regD src, rax_RegI rax, rdx_RegI rdx, rcx_RegI rcx, rFlagsReg cr) %{ |
|
9902 match(Set dst (ExpD src)); |
|
9903 effect(KILL rax, KILL rcx, KILL rdx, KILL cr); |
|
9904 format %{ "fast_exp $dst -> $src // KILL $rax, $rcx, $rdx" %} |
|
9905 ins_encode %{ |
|
9906 __ subptr(rsp, 8); |
|
9907 __ movdbl(Address(rsp, 0), $src$$XMMRegister); |
|
9908 __ fld_d(Address(rsp, 0)); |
|
9909 __ fast_exp(); |
|
9910 __ fstp_d(Address(rsp, 0)); |
|
9911 __ movdbl($dst$$XMMRegister, Address(rsp, 0)); |
|
9912 __ addptr(rsp, 8); |
|
9913 %} |
|
9914 ins_pipe( pipe_slow ); |
|
9915 %} |
|
9916 |
|
9917 //----------Arithmetic Conversion Instructions--------------------------------- |
9901 //----------Arithmetic Conversion Instructions--------------------------------- |
9918 |
9902 |
9919 instruct roundFloat_nop(regF dst) |
9903 instruct roundFloat_nop(regF dst) |
9920 %{ |
9904 %{ |
9921 match(Set dst (RoundFloat dst)); |
9905 match(Set dst (RoundFloat dst)); |