On Fri, 2 Feb 2024 18:45:22 GMT, Vladimir Kozlov <k...@openjdk.org> wrote:

> I don't see x86 changes. Why?

The 2-byte variants for `string_equals`, if they ever existed, seems to be gone:

// fast string equals
instruct string_equals(rdi_RegP str1, rsi_RegP str2, rcx_RegI cnt, rax_RegI 
result,
                       legRegD tmp1, legRegD tmp2, rbx_RegI tmp3, rFlagsReg cr)
%{
  predicate(!VM_Version::supports_avx512vlbw());
  match(Set result (StrEquals (Binary str1 str2) cnt));
  effect(TEMP tmp1, TEMP tmp2, USE_KILL str1, USE_KILL str2, USE_KILL cnt, KILL 
tmp3, KILL cr);

  format %{ "String Equals $str1,$str2,$cnt -> $result    // KILL $tmp1, $tmp2, 
$tmp3" %}
  ins_encode %{
    __ arrays_equals(false, $str1$$Register, $str2$$Register,
                     $cnt$$Register, $result$$Register, $tmp3$$Register,
                     $tmp1$$XMMRegister, $tmp2$$XMMRegister, false /* char */, 
knoreg);
  %}
  ins_pipe( pipe_slow );
%}


So AFAICT there is nothing to change on x86.

-------------

PR Comment: https://git.openjdk.org/jdk/pull/16995#issuecomment-1924766391

Reply via email to