google/android-riscv64

ART: implement String intrinsics

Opened this issue · 5 comments

There are some String intrinsics to implement, most importantly StringCompareTo and StringEquals.

The question is whether we want to bother with scalar implementations or implement them with the "V" extension once we have the assembler support.

(bionic only has V-optimized implementations of string/memory functions.)

Hello, @enh-google !
Could you please assign this issue to me?

No action required, just keeping issues up-to-date: this work is ongoing in this change.

there are still three other unimplemented String intrinsics in the list?

  V(StringGetCharsNoCheck)                      \
  V(StringStringIndexOf)                        \
  V(StringStringIndexOfAfter)                   \

although it looks like arm64/x86-64 don't implement the latter two either?

we'll probably want to come back to StringEquals and StringCompareTo and switch them over to V when qemu is fixed too?

I'm working on StringStringIndexOf and Mark Gonopolskiy had already opened MR on StringGetChatsNoCheck
https://android-review.googlesource.com/c/platform/art/+/3005208
Yes, there is no arm64/x86-64 versions of the latter two instrinsics
I think, switching them over "V" extension could make significant impact on these instrinsics