src/cpu/x86/vm/x86_32.ad

changeset 2569
6bbaedb03534
parent 2350
2f644f85485d
child 2602
41d4973cf100
     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  %}

mercurial