Hi,

The attached patches bring the description of Ares and Neoverse-N1
to the gcc-7-arm vendor branch.

There were 2 changes to adjust the first patch to the older code in gcc-7.
Instead of:
+  "32:16",     /* function_align.  */
+  "32:16",     /* jump_align.  */
+  "32:16",     /* loop_align.  */
the patch has:
+  32,  /* function_align.  */
+  32,  /* jump_align.  */
+  32,  /* loop_align.  */

The syntax for “32:16” was added in gcc-8:
+@itemx -falign-functions=@var{n}:@var{m}
Align the start of functions to the next power-of-two greater than
+@var{n}, skipping up to @var{m}-1 bytes.  This ensures that at least
+the first @var{m} bytes of the function can be fetched by the CPU
+without crossing an @var{n}-byte alignment boundary.

+If @var{m} is not specified, it defaults to @var{n}.
+
+Examples: @option{-falign-functions=32} aligns functions to the next
+32-byte boundary, @option{-falign-functions=24} aligns to the next
+32-byte boundary only if this can be done by skipping 23 bytes or less,
+@option{-falign-functions=32:7} aligns to the next
+32-byte boundary only if this can be done by skipping 6 bytes or less.

The second adjustment is due to the fact that gcc-7-branch does not yet
support several of the features listed in gcc-8.  Instead of:
AARCH64_FL_FOR_ARCH8_2 | AARCH64_FL_F16 | AARCH64_FL_RCPC | AARCH64_FL_DOTPROD 
| AARCH64_FL_PROFILE
the patch has:
AARCH64_FL_FOR_ARCH8_2 | AARCH64_FL_F16

The patches pass bootstrap and regression test on aarch64-linux Graviton2.
Ok to commit to gcc-7-arm vendor branch?

Thanks,
Sebastian

Attachment: 0001-AArch64-Initial-mcpu-ares-tuning.patch
Description: 0001-AArch64-Initial-mcpu-ares-tuning.patch

Attachment: 0002-AArch64-Add-support-for-Neoverse-N1.patch
Description: 0002-AArch64-Add-support-for-Neoverse-N1.patch

Attachment: 0003-AArch64-Set-jump-align-4-for-neoversen1.patch
Description: 0003-AArch64-Set-jump-align-4-for-neoversen1.patch

Attachment: 0004-AArch64-Enable-compare-branch-fusion.patch
Description: 0004-AArch64-Enable-compare-branch-fusion.patch

Reply via email to