1.1 --- a/src/cpu/x86/vm/x86_32.ad Tue Feb 15 22:18:33 2011 -0800 1.2 +++ b/src/cpu/x86/vm/x86_32.ad Wed Feb 09 15:02:23 2011 -0800 1.3 @@ -12629,16 +12629,16 @@ 1.4 ins_pipe( pipe_slow ); 1.5 %} 1.6 1.7 -instruct string_compare(eDIRegP str1, eCXRegI cnt1, eSIRegP str2, eBXRegI cnt2, 1.8 - eAXRegI result, regXD tmp1, regXD tmp2, eFlagsReg cr) %{ 1.9 +instruct string_compare(eDIRegP str1, eCXRegI cnt1, eSIRegP str2, eDXRegI cnt2, 1.10 + eAXRegI result, regXD tmp1, eFlagsReg cr) %{ 1.11 match(Set result (StrComp (Binary str1 cnt1) (Binary str2 cnt2))); 1.12 - effect(TEMP tmp1, TEMP tmp2, USE_KILL str1, USE_KILL str2, USE_KILL cnt1, USE_KILL cnt2, KILL cr); 1.13 - 1.14 - format %{ "String Compare $str1,$cnt1,$str2,$cnt2 -> $result // KILL $tmp1, $tmp2" %} 1.15 + effect(TEMP tmp1, USE_KILL str1, USE_KILL str2, USE_KILL cnt1, USE_KILL cnt2, KILL cr); 1.16 + 1.17 + format %{ "String Compare $str1,$cnt1,$str2,$cnt2 -> $result // KILL $tmp1" %} 1.18 ins_encode %{ 1.19 __ string_compare($str1$$Register, $str2$$Register, 1.20 $cnt1$$Register, $cnt2$$Register, $result$$Register, 1.21 - $tmp1$$XMMRegister, $tmp2$$XMMRegister); 1.22 + $tmp1$$XMMRegister); 1.23 %} 1.24 ins_pipe( pipe_slow ); 1.25 %}