Who is this for?
This is an advanced topic for developers interested in optimizing their C/C++ applications across Arm64 targets.
What will you learn?
Upon completion of this learning path, you will be able to:
- Use hardware features to tune your applications at function level.
- Create multiple versions of C/C++ functions for the targets that you intend to run applications on.
- Assist the compiler in generating optimal code for the targets, or provide your own optimized versions at source level.
- Automatically select the most appropriate function version at runtime.
- Reuse your optimized application binaries across various targets.
Prerequisites
Before starting, you will need the following:
- Basic knowledge of GNU function attributes.
- Familiarity with indirect functions (ifuncs).
- Basic knowledge of loop vectorization.
- Familiarity with Arm assembly.
- A LLVM 19 compiler with runtime library support or GCC 14.