This flag is x86 specific.
Currently other platforms - aarch64, ppc have String intrinsics implemented.
So fragment of shared code in library_call.cpp
if (Matcher::has_match_rule(Op_StrIndexOf) &&
UseSSE42Intrinsics) {
...
forces non x86 platforms set UseSSE42Intrinsics in order to use String intrinsics.
Instead it should be
if (Matcher::has_match_rule(Op_StrIndexOf) {
...
and platform dependent methods Matcher::has_match_rule() should check UseSSE42Intrinsics flag for x86.
Other platforms should make their own decision not depending on this flag