RFR: 8307651: RISC-V: Correct format typo for stringL_indexof_char instruction

Fei Yang fyang at openjdk.org
Tue May 9 08:31:17 UTC 2023


On Tue, 9 May 2023 08:02:11 GMT, Feilong Jiang <fjiang at openjdk.org> wrote:

> Hi.
> 
> Can I have reviews for this trivial patch that fixes a typo in the format of `stringL_indexof_char` instruction? It should be `StringLatin1` instead of `StringUTF16` for `StrIntrinsicNode::L`.
> 
> 
> instruct stringL_indexof_char(iRegP_R11 str1, iRegI_R12 cnt1, iRegI_R13 ch,
>                               iRegI_R10 result, iRegINoSp tmp1, iRegINoSp tmp2,
>                               iRegINoSp tmp3, iRegINoSp tmp4, rFlagsReg cr)
> %{
>   match(Set result (StrIndexOfChar (Binary str1 cnt1) ch));
>   predicate(!UseRVV && (((StrIndexOfCharNode*)n)->encoding() == StrIntrinsicNode::L));
>   effect(USE_KILL str1, USE_KILL cnt1, USE_KILL ch, TEMP_DEF result,
>          TEMP tmp1, TEMP tmp2, TEMP tmp3, TEMP tmp4, KILL cr);
> 
>   format %{ "StringUTF16 IndexOf char[] $str1,$cnt1,$ch -> $result" %} ====> Should be StringLatin1 here.
>   ins_encode %{
>     __ string_indexof_char($str1$$Register, $cnt1$$Register, $ch$$Register,
>                            $result$$Register, $tmp1$$Register, $tmp2$$Register,
>                            $tmp3$$Register, $tmp4$$Register, true /* isL */);
>   %}
>   ins_pipe(pipe_class_memory);
> %}

Looks good. You might want to leave a space among the operands both for 'stringU_indexof_char' and 'stringL_indexof_char'.

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

Marked as reviewed by fyang (Reviewer).

PR Review: https://git.openjdk.org/jdk/pull/13881#pullrequestreview-1418134947


More information about the hotspot-compiler-dev mailing list