Commit
2a2e13046b1a7c52179fd5f83380e633ccbec11f
by Annabelle Huox86-64: Inline small array copy size for int and long arrays
(1)
Inline small array copy size without using `rep movs`
for int array and long array
- If AVX-512 is supported and copy size <= 128 bytes,
the inlined copy sequence is used.
- If AVX is supported, the threshold for inlined sequence
is 64 bytes instead.
- The enhancement for 32 bit and 64 bit arrays will be reused
in the downstream OpenJ9 project for reference arrays.
(2)
Refactor char array enhancement implementation to support
both `rep movsw` and `rep movsd` if the copysize is greater
than the supported enhancement threshold.
(3)
Add the following options to disable the enhancement
- `disableArrayCopyIntArrayInlineSmallSizeWithoutREPMOVS`:
disable the enhancement for int array
- `disableArrayCopyLongArrayInlineSmallSizeWithoutREPMOVS`:
disable the enhancement for long array
- `disableArrayCopyReferenceArrayInlineSmallSizeWithoutREPMOVS`:
disable the enhancement for reference array, which will be
implemented in downstream project OpenJ9.
Signed-off-by: Annabelle Huo <Annabelle.Huo@ibm.com>
(commit: 2a2e130)