-
Notifications
You must be signed in to change notification settings - Fork 22
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
HIFI3 patches for LX6 CPU family rebased to Clang-16 (LLVM-295) #85
HIFI3 patches for LX6 CPU family rebased to Clang-16 (LLVM-295) #85
Commits on Nov 10, 2023
-
[Xtensa] Add definition of S3 output registers.
Xtensa S3 DSP instructions are coded using explicit register allocation. However, some instructions miss RegState:Define flag for output registers. This leads MachineVerifier to raise errors. This commit adds missing definitions.
Configuration menu - View commit details
-
Copy full SHA for 4a299e5 - Browse repository at this point
Copy the full SHA 4a299e5View commit details -
[Xtensa] Add Boolean Extension feature
Boolean Extension support consists of: - v1i1 boolean vector type backed by BR boolean register class - calling convection for boolean variables - boolean instructions implementing logical operators - truncation and zero-extension operations for conversion to scalars - register spill and fill logic
Configuration menu - View commit details
-
Copy full SHA for 507afb8 - Browse repository at this point
Copy the full SHA 507afb8View commit details
Commits on Nov 13, 2023
-
[Xtensa] Refactor loadImmediate
loadImmediate is split into two functions: - buildLoadImmediate which accepts allocated registers as params - loadImmediate which allocates virtual registers buildLoadImmediate is inteded to be used in post-RA passes.
Configuration menu - View commit details
-
Copy full SHA for 01ca420 - Browse repository at this point
Copy the full SHA 01ca420View commit details -
[Xtensa] Implement BRegFixupPass
BRegFixupPass implements post-RA transformations for boolean instructions: - selecting the right constant for SLLI shift instruction based on physical register number. The number is unknown before regster allocation. - selecting the right constant for EXTUI bit extract operation based on physical BR register - emulating MOVBA (reg copy from AR to BR) operation
Configuration menu - View commit details
-
Copy full SHA for 35e7437 - Browse repository at this point
Copy the full SHA 35e7437View commit details -
[Xtensa] Add LLVM tests for Boolean Extension
LLVM bitcode tests verify that Xtensa backend can: - convert between v1i1 and scalar - generate code for v1i1 vselect - spill & restore BR registers - load and store v1i1 values
Configuration menu - View commit details
-
Copy full SHA for 1091700 - Browse repository at this point
Copy the full SHA 1091700View commit details -
[Xtensa] Separate directory for Clang CodeGen tests
Prepare a separate directory for Xtensa-specific Clang CodeGen tests.
Configuration menu - View commit details
-
Copy full SHA for dcbed27 - Browse repository at this point
Copy the full SHA dcbed27View commit details -
[Xtensa] Add ABI test for xtbool
Extend Xtensa C ABI test to include v1i1 parameters.
Configuration menu - View commit details
-
Copy full SHA for 7d293b4 - Browse repository at this point
Copy the full SHA 7d293b4View commit details -
[Xtensa] Implement conditional move instrinsics
Adding __builtin_xtensa_movt_s and __builtin_xtensa_movf_s intrinsics. Adding intrincic patterns to MOVT_S anf MOVF_S definitions.
Configuration menu - View commit details
-
Copy full SHA for 0ed3832 - Browse repository at this point
Copy the full SHA 0ed3832View commit details -
Configuration menu - View commit details
-
Copy full SHA for bdd1248 - Browse repository at this point
Copy the full SHA bdd1248View commit details -
Configuration menu - View commit details
-
Copy full SHA for 6a133f6 - Browse repository at this point
Copy the full SHA 6a133f6View commit details -
This patch adds a definition of Xtensa LX6 CPU variant present in Intel Cannonlake and Tigerlake SOC platforms.
Configuration menu - View commit details
-
Copy full SHA for 201193c - Browse repository at this point
Copy the full SHA 201193cView commit details -
[Xtensa] Make assembler output compatible with GAS
Some Xtensa targets may still use GAS as a default assemblwr through -fno-integrated-as option. These changes make the assembly output compatible with GAS by default. - GAS does not recognize .word but .2byte works for both - Dwarf CFI is not supported by GAS. Option -fdwarf-exceptions can still turn it on but there is no option to turn it off, so an opt-in approach is more portable.
Configuration menu - View commit details
-
Copy full SHA for 94b1ca6 - Browse repository at this point
Copy the full SHA 94b1ca6View commit details -
Configuration menu - View commit details
-
Copy full SHA for 3121dd2 - Browse repository at this point
Copy the full SHA 3121dd2View commit details
Commits on Nov 24, 2023
-
Configuration menu - View commit details
-
Copy full SHA for 952c459 - Browse repository at this point
Copy the full SHA 952c459View commit details -
Configuration menu - View commit details
-
Copy full SHA for 07930a6 - Browse repository at this point
Copy the full SHA 07930a6View commit details -
Configuration menu - View commit details
-
Copy full SHA for f168af2 - Browse repository at this point
Copy the full SHA f168af2View commit details -
[Xtensa] Add support for boolean vectors
Xtensa architecture uses v2i1 (BR2 reg class) and v4i1 (BR4 reg class) boolean vectors as arguments for HIFI instructions: - vector compare, e.g.: AE_EQ16X4 - vector conditional move, e.g: AE_MOVT16X4
Configuration menu - View commit details
-
Copy full SHA for 156aad4 - Browse repository at this point
Copy the full SHA 156aad4View commit details -
Configuration menu - View commit details
-
Copy full SHA for f816690 - Browse repository at this point
Copy the full SHA f816690View commit details -
Configuration menu - View commit details
-
Copy full SHA for 8f879ba - Browse repository at this point
Copy the full SHA 8f879baView commit details -
Configuration menu - View commit details
-
Copy full SHA for 6a97b0d - Browse repository at this point
Copy the full SHA 6a97b0dView commit details -
Configuration menu - View commit details
-
Copy full SHA for 5102d62 - Browse repository at this point
Copy the full SHA 5102d62View commit details -
Configuration menu - View commit details
-
Copy full SHA for c600b19 - Browse repository at this point
Copy the full SHA c600b19View commit details -
Configuration menu - View commit details
-
Copy full SHA for 4653c20 - Browse repository at this point
Copy the full SHA 4653c20View commit details -
Configuration menu - View commit details
-
Copy full SHA for e278a13 - Browse repository at this point
Copy the full SHA e278a13View commit details -
Configuration menu - View commit details
-
Copy full SHA for 9125859 - Browse repository at this point
Copy the full SHA 9125859View commit details -
Configuration menu - View commit details
-
Copy full SHA for bdcbe3d - Browse repository at this point
Copy the full SHA bdcbe3dView commit details -
Configuration menu - View commit details
-
Copy full SHA for f606b11 - Browse repository at this point
Copy the full SHA f606b11View commit details
Commits on Nov 27, 2023
-
Configuration menu - View commit details
-
Copy full SHA for 94de026 - Browse repository at this point
Copy the full SHA 94de026View commit details -
Configuration menu - View commit details
-
Copy full SHA for 1269d05 - Browse repository at this point
Copy the full SHA 1269d05View commit details -
Configuration menu - View commit details
-
Copy full SHA for 2a98ad4 - Browse repository at this point
Copy the full SHA 2a98ad4View commit details -
Configuration menu - View commit details
-
Copy full SHA for 151e468 - Browse repository at this point
Copy the full SHA 151e468View commit details -
[Xtensa] Add --text-section-literals option
This option is passed to GNU AS and makes Xtensa compiler driver compatible with GCC.
Configuration menu - View commit details
-
Copy full SHA for 1700438 - Browse repository at this point
Copy the full SHA 1700438View commit details
Commits on Dec 19, 2023
-
[Xtensa] Add vector conversion builtins
Intrinsics: __builtin_xtensa_ae_int32x2 and builtin_xtensa_int32 are convenience functions for easy integer-vector and vector-vector conversions that conform to Xtensa coding style. Xtensa C dialect allows for implicit conversion between wider and narrower vector (via shuffle) and between integer and any vector (via broadcast). Standard Clang vectors do not support this, so these functions provide a handicap for better portability.
Configuration menu - View commit details
-
Copy full SHA for e5f986c - Browse repository at this point
Copy the full SHA e5f986cView commit details -
Configuration menu - View commit details
-
Copy full SHA for 215e298 - Browse repository at this point
Copy the full SHA 215e298View commit details -
Configuration menu - View commit details
-
Copy full SHA for 8618904 - Browse repository at this point
Copy the full SHA 8618904View commit details