Skip to content

x86-64: Select REP MOVS instruction based on CPU for char arraycopy - #7442

Merged
0xdaryl merged 1 commit into
eclipse-omr:masterfrom
a7ehuo:system-arraycopy-perf-18-select-rep-movs-char-array
Aug 21, 2024
Merged

x86-64: Select REP MOVS instruction based on CPU for char arraycopy#7442
0xdaryl merged 1 commit into
eclipse-omr:masterfrom
a7ehuo:system-arraycopy-perf-18-select-rep-movs-char-array

Conversation

@a7ehuo

@a7ehuo a7ehuo commented Aug 20, 2024

Copy link
Copy Markdown
Contributor

Use rep movsw to copy multiple of 2 bytes for copy size greater than the threshold (32 bytes), which performs better than rep movsd for CascadeLake and later CPUs.

Setting env variable TR_UseREPMOVSWFor16BitPrimitiveArrayCopy forces to use rep movsw.

Setting env variable TR_UseREPMOVSDFor16BitPrimitiveArrayCopy forces to use rep movsd.

Use `rep movsw` to copy multiple of 2 bytes for copy size
greater than the threshold (32 bytes), which performs
better than `rep movsd` for CascadeLake and later CPUs.

Setting env variable `TR_UseREPMOVSWFor16BitPrimitiveArrayCopy`
forces to use `rep movsw`.

Setting env variable `TR_UseREPMOVSDFor16BitPrimitiveArrayCopy`
forces to use `rep movsd`.

Signed-off-by: Annabelle Huo <Annabelle.Huo@ibm.com>
@a7ehuo
a7ehuo removed the request for review from mstoodle August 20, 2024 12:53
@a7ehuo

a7ehuo commented Aug 20, 2024

Copy link
Copy Markdown
Contributor Author

@0xdaryl May I ask you to review this change? Thank you!

@vijaysun-omr @hzongaro fyi

Comment thread compiler/x/codegen/OMRTreeEvaluator.cpp
@0xdaryl

0xdaryl commented Aug 21, 2024

Copy link
Copy Markdown
Contributor

Jenkins build xlinux,xmac

@0xdaryl 0xdaryl self-assigned this Aug 21, 2024
@0xdaryl
0xdaryl merged commit 76409a2 into eclipse-omr:master Aug 21, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants