diff --git a/content/learning-paths/cross-platform/function-multiversioning/_index.md b/content/learning-paths/cross-platform/function-multiversioning/_index.md index f0b76e2cde..1a7a7f995a 100644 --- a/content/learning-paths/cross-platform/function-multiversioning/_index.md +++ b/content/learning-paths/cross-platform/function-multiversioning/_index.md @@ -17,7 +17,7 @@ prerequisites: - Familiarity with indirect functions (ifuncs). - Basic knowledge of loop vectorization. - Familiarity with Arm assembly. - - A LLVM 20 compiler with runtime library support or GCC 14. + - A LLVM 20 compiler with runtime library support or GCC 16. author: Alexandros Lamprineas diff --git a/content/learning-paths/cross-platform/function-multiversioning/examples2.md b/content/learning-paths/cross-platform/function-multiversioning/examples2.md index 2ed806dec5..6059461000 100644 --- a/content/learning-paths/cross-platform/function-multiversioning/examples2.md +++ b/content/learning-paths/cross-platform/function-multiversioning/examples2.md @@ -141,10 +141,6 @@ To compile with GCC, use: g++ -march=armv8-a -O3 dotprod.c ``` -{{% notice Note %}} -Note that `gcc-14` does not yet support `target_version` when using the c-frontend. You can use `g++-14` instead. -{{% /notice %}} - To run the application: ```console diff --git a/content/learning-paths/cross-platform/function-multiversioning/examples3.md b/content/learning-paths/cross-platform/function-multiversioning/examples3.md index acd8cf13b8..0fb098b54c 100644 --- a/content/learning-paths/cross-platform/function-multiversioning/examples3.md +++ b/content/learning-paths/cross-platform/function-multiversioning/examples3.md @@ -86,10 +86,6 @@ To compile with GCC, run: g++ -march=armv8-a -O3 skip-word.c ``` -{{% notice Note %}} -Note that `gcc++-14` does not support "mops" as a function multiversioning feature, so to compile this example with gcc remove the `target_clones` from CopyWord. -{{% /notice %}} - To run the application: ```console diff --git a/content/learning-paths/cross-platform/function-multiversioning/implementation-details.md b/content/learning-paths/cross-platform/function-multiversioning/implementation-details.md index 2dcfb0b460..924670cca8 100644 --- a/content/learning-paths/cross-platform/function-multiversioning/implementation-details.md +++ b/content/learning-paths/cross-platform/function-multiversioning/implementation-details.md @@ -64,11 +64,9 @@ f.resolver: The immediate value `#12582912` in this assembly is used to construct a bitmask for materializing the runtime detection of `rcpc3`. {{% /notice %}} -#### Differences between GCC 14 and LLVM 20 implementations +#### Differences between GCC 16 and LLVM 20 implementations -- The attribute `target_version` in GCC is only supported for C++, not for C. - The set of features as indicated by the [mapping table](https://arm-software.github.io/acle/main/acle.html#mapping) differs in support between the two compilers. -- LLVM supports mixing `target_version` with `target_clones` whereas GCC does not yet support this. #### Resolver emission with LLVM