-
Notifications
You must be signed in to change notification settings - Fork 7
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
Nanomips mtk/nanomips merge #39
base: nanomips
Are you sure you want to change the base?
Nanomips mtk/nanomips merge #39
Commits on Aug 9, 2023
-
Change-Id: Icd1b11638dcca6ebe65db5cf44698e4038d34891
Colin McEwan committedAug 9, 2023 Configuration menu - View commit details
-
Copy full SHA for 0853501 - Browse repository at this point
Copy the full SHA 0853501View commit details
Commits on Aug 22, 2023
-
Revert "Add csmith-generated tests"
This reverts commit 0853501.
Colin McEwan committedAug 22, 2023 Configuration menu - View commit details
-
Copy full SHA for b99c5d1 - Browse repository at this point
Copy the full SHA b99c5d1View commit details -
Merge remote-tracking branch 'origin/nanomips' into mtk/nanomips
Colin McEwan committedAug 22, 2023 Configuration menu - View commit details
-
Copy full SHA for b114c87 - Browse repository at this point
Copy the full SHA b114c87View commit details
Commits on Aug 29, 2023
-
Merge remote-tracking branch 'origin/nanomips' into mtk/nanomips
Colin McEwan committedAug 29, 2023 Configuration menu - View commit details
-
Copy full SHA for a02e638 - Browse repository at this point
Copy the full SHA a02e638View commit details
Commits on Sep 26, 2023
-
Make sharing of debug info across compilation units optional
Change-Id: I4d1b41912d770abf4a6cc85e163f078be1cb91f1
Colin McEwan committedSep 26, 2023 Configuration menu - View commit details
-
Copy full SHA for c497461 - Browse repository at this point
Copy the full SHA c497461View commit details
Commits on Nov 5, 2023
-
Optimize multiple accesses to the same base with larger offsets
... by reusing existing offset in CodeGenPrepare. Added NanoMipsCodeGenPrepare pass witch munges constant geps into a form that later can be optimized by generic CodeGenPrepare. Change-Id: Ib54643a0eca9c8a2aa7cc7ce38c7b296e4ca0e6e
Configuration menu - View commit details
-
Copy full SHA for e12de29 - Browse repository at this point
Copy the full SHA e12de29View commit details -
Combine reg + symbol into addiu[48]
This change makes code references not fully pc-relative. Change-Id: I829687d892b86c46ba84a24c4e93de1a21574c4c
Configuration menu - View commit details
-
Copy full SHA for 6cc1661 - Browse repository at this point
Copy the full SHA 6cc1661View commit details -
nanoMIPS ISA does not natively support ORI/ANDI with 16-bit immediate operands. As a result, ORIs are generated incorrectly in atomic builtin expansions with the immediate value being clipped above bit 11. ANDIs may be correct if using a 3-bit register encoding, else they end up relying on GNU assemblers instruction aliases using EXT. This replaces the potentially problematic instructions with natively supported nanoMIPS instructions. Some expansions are sub-optimal on account of preferring 32-bit instructions even where 16-bit encoding is possible. Change-Id: I0f40a61e4f22a58bb91b3f11a6bd01a29452614e
Configuration menu - View commit details
-
Copy full SHA for f5ff4ad - Browse repository at this point
Copy the full SHA f5ff4adView commit details -
Add NanoMips ELF machine type and header flags
Use EM_NANOMIPS for generated nanomips-elf objects Change-Id: I4e4d759c006c3f08341fdd428de2c99d0ca200b7
Configuration menu - View commit details
-
Copy full SHA for 95fe0b4 - Browse repository at this point
Copy the full SHA 95fe0b4View commit details -
Register assembler, disassembler and object emitter for NanoMips
Change-Id: Idb31afcc5aab0ad803c54ca126d4b95e69c380a9
Configuration menu - View commit details
-
Copy full SHA for 82a5c45 - Browse repository at this point
Copy the full SHA 82a5c45View commit details -
Emit instructions in NanoMips byte order
Use 64-bit doublewords to handle 48-bit instructions. Change-Id: I6f2c1cdd51d3de156d6013fc9b583392d7606ab6
Configuration menu - View commit details
-
Copy full SHA for 2929392 - Browse repository at this point
Copy the full SHA 2929392View commit details -
Add a nanoMIPS parser variant to allow brackets in mnemonics
Change-Id: Ib61ddb42057eaa631b5c4aa219ca76b291835702
Configuration menu - View commit details
-
Copy full SHA for 0c6f3d9 - Browse repository at this point
Copy the full SHA 0c6f3d9View commit details -
Change-Id: I8a016e06544a07b80902652622a7ff41554ce306
Configuration menu - View commit details
-
Copy full SHA for 772b793 - Browse repository at this point
Copy the full SHA 772b793View commit details -
Show relocation encoding comments in nanoMIPS instruction byte order
Change-Id: I4182172fc84d9cf854cab15ebc3983ab34f804a6
Configuration menu - View commit details
-
Copy full SHA for 51db031 - Browse repository at this point
Copy the full SHA 51db031View commit details -
Add front-end assembler directives and set ELF header flags
Change-Id: I1404c1a21f6df683d5f1aaac36349175e89a2e23
Configuration menu - View commit details
-
Copy full SHA for 85cc408 - Browse repository at this point
Copy the full SHA 85cc408View commit details -
Change-Id: Ib2bcaaee8d04aa089fd438df7c039a12ff0085f5
Configuration menu - View commit details
-
Copy full SHA for 9db2fd0 - Browse repository at this point
Copy the full SHA 9db2fd0View commit details -
Change-Id: I11b042ff5d97834e69d3250548c2a1d2d1d03f6e
Configuration menu - View commit details
-
Copy full SHA for 93a90e3 - Browse repository at this point
Copy the full SHA 93a90e3View commit details -
Refactor LEA_ADDiu_NM to LEA_ADDIU_NM
Change-Id: I53f986f2c8e0e5f7184c4e362e3c27934f99d7ed
Configuration menu - View commit details
-
Copy full SHA for ede1c33 - Browse repository at this point
Copy the full SHA ede1c33View commit details -
Change-Id: Id68922845b03f20e040ad393abaa719ffc57f5a6
Configuration menu - View commit details
-
Copy full SHA for d5829fc - Browse repository at this point
Copy the full SHA d5829fcView commit details -
Add NanoMips register names and new register operand types
Change-Id: Ib2483ab1ad593493c88a5e7b51f157ea1ca23a88
Configuration menu - View commit details
-
Copy full SHA for ccb0e0c - Browse repository at this point
Copy the full SHA ccb0e0cView commit details -
Add encodings for NanoMips instruction pools
Change-Id: I7d3653a2bd47e0d0bbfc93ccb1e74beea9e9e15e
Configuration menu - View commit details
-
Copy full SHA for 418a397 - Browse repository at this point
Copy the full SHA 418a397View commit details -
Fix decoding logic for 16, 32 & 48-bit nanoMIPS instructions
Change-Id: I8c0c4213a7afabec7308766c7050e3fba3d0b02d
Configuration menu - View commit details
-
Copy full SHA for 2196ea0 - Browse repository at this point
Copy the full SHA 2196ea0View commit details -
Parse and encode arithmetic/logic instructions
Change-Id: Ia359143068c9edbb0dfe748c3c704c0db048bd72
Configuration menu - View commit details
-
Copy full SHA for 42de2b1 - Browse repository at this point
Copy the full SHA 42de2b1View commit details -
Parse and encode address calculation instructions, PC-relative loads/…
…stores + refactor LA_NM to ADDIUPC48_NM Change-Id: I533ac72eb3656c884b4107868db66fa2e1c3cfbf
Configuration menu - View commit details
-
Copy full SHA for 9354878 - Browse repository at this point
Copy the full SHA 9354878View commit details -
Parse and encode load/store instructions
Change-Id: Ifde8c84908318ccd4555b3001374f3972de5d0ae
Configuration menu - View commit details
-
Copy full SHA for 41fa74d - Browse repository at this point
Copy the full SHA 41fa74dView commit details -
Parse and encode control transfer instructions
Change-Id: I073a947236a401e0f1f43d634b4c069fa9a66547
Configuration menu - View commit details
-
Copy full SHA for 396ba11 - Browse repository at this point
Copy the full SHA 396ba11View commit details -
Parse and encode MOVE variants
Change-Id: I1f305d006273c90cb93ef8f65b626484c3859fb6
Configuration menu - View commit details
-
Copy full SHA for 17ff15a - Browse repository at this point
Copy the full SHA 17ff15aView commit details -
Parse and encode SAVE/RESTORE variants
Change-Id: Ib4aae7e3c6b44d9ff326c5c282951802f8f3548f
Configuration menu - View commit details
-
Copy full SHA for 033e2b0 - Browse repository at this point
Copy the full SHA 033e2b0View commit details -
Parse and encode supervisor and control level instructions
Change-Id: I400f6f9f20d631a59730a1829b1a97223e3288fb
Configuration menu - View commit details
-
Copy full SHA for 3dbccaf - Browse repository at this point
Copy the full SHA 3dbccafView commit details -
Don't disable integrated assembler for NanoMips
Providing an interface for useIntegrateAs over-rides the command-line option. Removing it allows us to control the use of integrated assembler from the command-line. Change-Id: I3326038c76e742dbbb906c39bd6f087db8cbbd96
Configuration menu - View commit details
-
Copy full SHA for 699f91e - Browse repository at this point
Copy the full SHA 699f91eView commit details -
Add assembler test cases and update codegen unit tests
Change-Id: If266770310433045e0c1ac1aeb3231b4c13529fc
Configuration menu - View commit details
-
Copy full SHA for 588b630 - Browse repository at this point
Copy the full SHA 588b630View commit details -
Change-Id: I24dce47606295142ebffba781aa1ab09293063ef
Configuration menu - View commit details
-
Copy full SHA for 5db226d - Browse repository at this point
Copy the full SHA 5db226dView commit details -
Change-Id: I9231ab0e866ed87927a28e9dc605d1cf5ff9c64c
Configuration menu - View commit details
-
Copy full SHA for 3c59da5 - Browse repository at this point
Copy the full SHA 3c59da5View commit details -
Change-Id: Ic00423166d7c5ca66a1abe1326dccb9bd5e4921c
Configuration menu - View commit details
-
Copy full SHA for 6a4f1d3 - Browse repository at this point
Copy the full SHA 6a4f1d3View commit details -
Generate relocations for label differences
This fixes simple label differences as required for exception tables and debug-info, but not the diff+shift cases used by jumptable optimization. Change-Id: I799514cb94b17cb2436643fa44c4060c9023e8c3
Configuration menu - View commit details
-
Copy full SHA for ddb9b7b - Browse repository at this point
Copy the full SHA ddb9b7bView commit details -
Fix section alignments and remove obsolete sections for NanoMIPS
Change-Id: Ib905ba29411a4af672c088c3b86aa4a686cc00f0
Configuration menu - View commit details
-
Copy full SHA for 45c957b - Browse repository at this point
Copy the full SHA 45c957bView commit details -
Change-Id: I191c4a236ba923b1e166fd4595e4a8a7711c092f
Configuration menu - View commit details
-
Copy full SHA for 4be6434 - Browse repository at this point
Copy the full SHA 4be6434View commit details -
Remove DAG patterns for instructions that use a restricted register set. Change-Id: I5ce746e8927fa5520ca5cfa714e05fb08938926c
Configuration menu - View commit details
-
Copy full SHA for 0a2b4bb - Browse repository at this point
Copy the full SHA 0a2b4bbView commit details
Commits on Dec 12, 2023
-
Parse and encode arithmetic/logic - follow up patch
* Fix build warnings due to patchset 3 * add ALIGN instruction alias * add TwoOperandAlias * Add pattern for NOT as NOR * Fix 2 operand constraints for 3-register arithmetic * Add aliases for ADDIU as ADDU and ORI as OR * Missing ADDIUNEG opcode in PC-relative instruction generation * Limit pointer arithmetic to ADDIU[48] Change-Id: I9f64baa02081302a33344af0afdb7e652d453faf
Configuration menu - View commit details
-
Copy full SHA for e7bed4f - Browse repository at this point
Copy the full SHA e7bed4fView commit details
Commits on Dec 13, 2023
-
Fix LUI instruction parsing for 16-bit literals
Change-Id: Ia91f95859cab10d780275239ffefe6a85d918875
Configuration menu - View commit details
-
Copy full SHA for a3101e1 - Browse repository at this point
Copy the full SHA a3101e1View commit details -
Don't combine assembly with other actions for nanoMIPS
In the absence of an instruction compression pass or mechanism, compression for NanoMips is mediated by the assembly matcher finding the shortest instructions for a base mnemonic. This requires the compilation actions to go through a distinct assembly step, similar to the -via-file-asm option. Change-Id: I6eec5bed1bff1965d58578ed8624176df2c71d4f
Configuration menu - View commit details
-
Copy full SHA for 41b9cfc - Browse repository at this point
Copy the full SHA 41b9cfcView commit details -
Pad with NOPs and generate ALIGN relocation for section alignment
Change-Id: I2cdddbab8c43b725fe1964b7c2f2cd4d6e542528
Configuration menu - View commit details
-
Copy full SHA for 28c7a70 - Browse repository at this point
Copy the full SHA 28c7a70View commit details -
Add pseudo instruction for ANDI
Change-Id: I70fa500367d372b1af0c47f875b673062cc6af1c
Configuration menu - View commit details
-
Copy full SHA for b72e6c7 - Browse repository at this point
Copy the full SHA b72e6c7View commit details -
Add pseudo instruction for LoadImmediate
Change-Id: I2fbdb326bd20cba3a8fd825dd1f7f7291c34436e
Configuration menu - View commit details
-
Copy full SHA for 24fd580 - Browse repository at this point
Copy the full SHA 24fd580View commit details -
Allow square brackets in identifiers for nanoMIPS assembler
nanoMIPS mnemonics can have an optional architectural suffix to disambiguate multiple instructions which have the same mnemonic. As per the ISA, this suffix is enclosed in square brackets, for example: li[48]. The assembly parser must tokenize the suffix along with the mnemonic as one token. Change-Id: I240d7de279800650c6b36600a8bbfd83559ae4d5
Configuration menu - View commit details
-
Copy full SHA for 83365db - Browse repository at this point
Copy the full SHA 83365dbView commit details -
Add LA pseudo opcode to expand to LI/LAPC
Change-Id: I2dbd5e00ce450cf966f60d836a9b42ff954925d5
Configuration menu - View commit details
-
Copy full SHA for 8506e23 - Browse repository at this point
Copy the full SHA 8506e23View commit details -
Add SUBU pseudo to subtract immediate operand
Change-Id: If77b00b39437aeb736603f0de240613aec52594d
Configuration menu - View commit details
-
Copy full SHA for 9181dbf - Browse repository at this point
Copy the full SHA 9181dbfView commit details -
Change-Id: Ifa98c5c333b9f332a9c8c5aed824c3fefdeb2036
Configuration menu - View commit details
-
Copy full SHA for 73cd878 - Browse repository at this point
Copy the full SHA 73cd878View commit details -
Modify assembly parser to accept macro name after .endm
GNU assembler supports this syntax Change-Id: Iec7fe84c7f1c50886e4edaa69f9f79489a998d72
Configuration menu - View commit details
-
Copy full SHA for 21da051 - Browse repository at this point
Copy the full SHA 21da051View commit details -
Add MnemonicAliases for compact branches
Change-Id: I47302764c3e4005f9e7609fdf49c85f039978ecc
Configuration menu - View commit details
-
Copy full SHA for 396dfc3 - Browse repository at this point
Copy the full SHA 396dfc3View commit details -
Add NanoMips Subset as a subtarget feature
Change-Id: If5dc329ea6fae1a80cc58223164e598a61f4c35c
Configuration menu - View commit details
-
Copy full SHA for 32155d3 - Browse repository at this point
Copy the full SHA 32155d3View commit details -
Parse and encode BEQZC/BNEZC alias forms
Change-Id: Ib239b18b5fe2d2e91e82dd19e31d4d4a27cf0d97
Configuration menu - View commit details
-
Copy full SHA for 9bf30f7 - Browse repository at this point
Copy the full SHA 9bf30f7View commit details -
Roll-back change to register pressure limit for nanoMIPS registers
The erstwhile default which assumes that the general purpose register set is always under high pressure leads to better allocation on average than the general MIPS model which allows free allocation of up to 28 registers. Revert to earlier behaviour for now, to be looked in to along with scheduling changes. Change-Id: I2e8b04edf49552a591f4f65cd33aef652a44e88e
Configuration menu - View commit details
-
Copy full SHA for 9a2da4a - Browse repository at this point
Copy the full SHA 9a2da4aView commit details -
Test-suite update - follow-up patch
Change-Id: I8fee60e432e8619a79a95c1ca0142de36f242184
Configuration menu - View commit details
-
Copy full SHA for a50480d - Browse repository at this point
Copy the full SHA a50480dView commit details -
Enable IntegratedAssembler by default for NanoMips
Change-Id: I0b36e83828d5f8641ddf70fb7b1b56c3d77235ad
Configuration menu - View commit details
-
Copy full SHA for 00a5e38 - Browse repository at this point
Copy the full SHA 00a5e38View commit details -
Emit section-relative relocations for .rodata
Change-Id: Iea67daf6e020de023b8b6c76e60af75b2d2e49dd
Configuration menu - View commit details
-
Copy full SHA for f1cd862 - Browse repository at this point
Copy the full SHA f1cd862View commit details -
Set correct AssemblerDialect for ParseInstruction
The assembler dialect in the parser class is only set up when parsing assembly files. For inline assembly, it must be obtained from AsmInfo in order to correctly reflect the ISA mode. Change-Id: Iea23bcbc365fe127d1f2a0ba113db6a46012286e
Configuration menu - View commit details
-
Copy full SHA for c4172d3 - Browse repository at this point
Copy the full SHA c4172d3View commit details -
Fix PseudoLI expansion for symbol address
Change-Id: Ic38cc32a089b7682a9cd77169e3db28ecb56667d
Configuration menu - View commit details
-
Copy full SHA for d88a275 - Browse repository at this point
Copy the full SHA d88a275View commit details -
Assemble calls to 32-bits by default and use BALC[16] for 16-bit calls
Inheritance structure of ParserMatchClass determines the order of instructions in MatchTable. Inherit 25-bit call operand from 10-bit call operand in order to prioritize it. This is required for balc-stubs optimization in the linker. Change-Id: I3c96d1f61862e76936e5b444bbe6280d031ed6b1
Configuration menu - View commit details
-
Copy full SHA for 826e04b - Browse repository at this point
Copy the full SHA 826e04bView commit details -
Add R_NANOMIPS_NOTRAMP relocation and handling for R_NANOMIPS_NONE
* R_NANOMIPS_TRAMP needed to inhibit stub optimization * R_NANOMIPS_NONE backend handling was missing. Added for sake of completeness. Change-Id: I3382994a7a67edc6fbe13a5ac1622934ad05da16
Configuration menu - View commit details
-
Copy full SHA for 486224f - Browse repository at this point
Copy the full SHA 486224fView commit details -
Add support for explicit place-holder relocations
Change-Id: Ie09b2dc1f7041c33ba67525a3e6e59144eed5af0
Configuration menu - View commit details
-
Copy full SHA for fba25ec - Browse repository at this point
Copy the full SHA fba25ecView commit details -
Emit PC-relative relocation for immediate branch operands
Typical branch target is represented as a symbol and the assembler emits a relocation that the linker resolves to the final branch address. For immediate operands as well, we can treat the operand as a target address and emit a relocation that the linker can resolve to reach that address. This patch brings integrated assembler's handling of immediate operands in line with GNU assembler. Change-Id: Ic72fe65cb5f5617b844bd0f7ef9803be0d17d28e
Configuration menu - View commit details
-
Copy full SHA for adce66b - Browse repository at this point
Copy the full SHA adce66bView commit details -
Add signed and shift relocations for jump table optimization
* Add support for converting .shword and .sbyte data directives to R_NANOMIPS_SIGNED_[8|16] relocations. * Maps expressions with 1-bit right-shift to R_NANOMIPS_ASHIFTR_1 Change-Id: I2294313664f8eb1cfd2052f39c86e5328b0648d5
Configuration menu - View commit details
-
Copy full SHA for de780a5 - Browse repository at this point
Copy the full SHA de780a5View commit details -
Parse and accept JUMPTABLE_LOAD relocation and jumptable directive
* Parse and ignore .jumptable directive * Parse and ignore R_NANOMIPS_JUMPTABLE_LOAD relocation This is to facilitate the compiler to enable jump-table compression regardless of whether it uses integrated or external assembler. It does not have any impact on object encoding generated by integrated assembler, but allows the same generated assembly to be handled by either assemblers. Change-Id: I8f9ed12c7acf5cef11fada62f230ce92cd363750
Configuration menu - View commit details
-
Copy full SHA for af1bcf0 - Browse repository at this point
Copy the full SHA af1bcf0View commit details -
Fix register mappings for MFTR/MTTR aliases
Native MTTR/MFTR instructions should only accept COP registers, that is simple numbered registers as the second operand. Translate the incoming registers from the aliases to the correct format. Change-Id: I778f374feff3ea9022905314c0c2e262b1909f3c
Configuration menu - View commit details
-
Copy full SHA for 13fb389 - Browse repository at this point
Copy the full SHA 13fb389View commit details -
Make assembly generation responsive to -mno-pcrel & -mno-relax options
* Disable linker relaxation by default to match GNU assembler * Disable PC-relative addressing by default to match GNU assembler * Don't emit directives to enable PC-relative addressing and linker relaxations unconditionally in assembly file. Instead check subtarget features to decide when these must be enabled. * Test-suite updates to match new defaults Change-Id: I54f32c77edd7f8ef0352bc6e87ec86ca7c4cec02
Configuration menu - View commit details
-
Copy full SHA for 486662f - Browse repository at this point
Copy the full SHA 486662fView commit details -
Fix LTO backend for integrated assembler
* Use cc1as as the external assembler when compiling LTO with -fintegrated-as * When using nanomips-elf-as as external assembler for LTO, pass option -mlegacyregs to work around different MTTR/MFTR operand constraints. Change-Id: Ic2540162637dfa76cfe243ac3ab127e259f0e9a9
Configuration menu - View commit details
-
Copy full SHA for fec8707 - Browse repository at this point
Copy the full SHA fec8707View commit details
Commits on Jan 5, 2024
-
Add MediaTek copyright notices
Change-Id: Iec6ed1c300c3ce19299d7f8a1005f4df060573d8
Colin McEwan committedJan 5, 2024 Configuration menu - View commit details
-
Copy full SHA for 1dbc1a3 - Browse repository at this point
Copy the full SHA 1dbc1a3View commit details
Commits on Jan 24, 2024
-
Merge branch 'mtk/nanomips' into nanomips-mtk/nanomips-merge
Nikola Peric authored and Nikola Peric committedJan 24, 2024 Configuration menu - View commit details
-
Copy full SHA for 69ef6e7 - Browse repository at this point
Copy the full SHA 69ef6e7View commit details