billow
3bc09883bd
fix `CADD` `CSUB`
2023-04-14 00:35:54 +08:00
billow
f3f62b05dc
add tc110 tests and fix tricore decode
2023-04-14 00:35:54 +08:00
billow
125d8bc115
feat: Update Tricore assembly code and disassembler logic.
...
- Add new Tricore test `tc110.s.cs`
2023-04-14 00:35:53 +08:00
billow
d1404e8e79
fix tricore tests
2023-04-14 00:35:52 +08:00
billow
d31b9cf0b9
fix TriCoreDisassembler.c from tests
2023-04-14 00:35:51 +08:00
billow
8e19b13abd
fix
2023-04-14 00:35:49 +08:00
billow
6d26813d56
feat: Add support for TriCore feature bits and new architectures
...
- Add support for new Tricore architectures
- Clean up redundant instructions definitions
- Modify architecture options for the TRICORE mode
- Update disallowed modes for Tricore architecture
2023-04-14 00:35:47 +08:00
billow
5ebe09366b
fix
2023-04-14 00:35:46 +08:00
billow
adebfda12c
refactor: Optimize TriCore instructions in arch/TriCore/TriCoreInstrInfo.td
...
- Add missing instructions and update existing ones
2023-04-14 00:35:45 +08:00
billow
15a49dee30
refactor: Improve TriCore floating-point operations in instruction set
2023-04-14 00:35:44 +08:00
billow
8603d7ccb4
Refactor: Optimize TriCore instruction information.
...
- Refactor TriCore instruction info
- Improve code organization
- Optimize instruction handling
- Eliminate unnecessary code duplication
2023-04-14 00:35:43 +08:00
billow
07d3238d9f
Add support for TriCore V162 and new instructions/operands.
...
- Add new instruction `MOVZ_A`, remove instruction `NOT`, and add several new multiply and multiply-subtract instructions
- Move `multiclass mISR_1` and `multiclass mISYS_0` to separate file and fix typo in `rfe` instruction in `mISYS_0`
- Add support for new CPU feature `TriCore_FEATURE_HasV162` and update relevant inc files.
2023-04-14 00:35:42 +08:00
billow
d75ff4d9ed
refactor: Improve instruction handling for TriCore architecture
2023-04-14 00:35:41 +08:00
billow
0b4546820e
refactor: Improve TriCore instruction definitions in architecture file
...
- Refactor architecture specific code for TriCore
- Update TriCore instruction information in [arch/TriCore/TriCoreInstrInfo.td]
- Improve performance and readability of relevant functions
2023-04-14 00:35:40 +08:00
billow
07065c525b
Optimize TriCore instruction information.
...
- Refactor and optimize instruction encoding for TriCore architecture
- Improve performance and reduce code size by simplifying opcodes and encoding logic
- Update instruction definitions in TriCoreInstrInfo.td file
- Omit some large but non-essential changes in diff summary for readability
2023-04-14 00:35:39 +08:00
billow
676477d465
Optimize TriCore instruction information.
...
- Refactor TriCore instructions
- Simplify operand encoding for better readability
2023-04-14 00:35:39 +08:00
billow
8853900171
refactor: Refactor TriCore instruction classes and operands
2023-04-14 00:35:38 +08:00
billow
c5239815a5
refactor: Improve Architecture Instruction Information.
...
- Refactor TriCore instruction information file
- Simplify and optimize certain instructions
2023-04-14 00:35:37 +08:00
billow
6fe3766434
refactor: Refactor TriCore instruction definitions and mappings
...
- Add new `multiclass mI_MADDRsh_` to handle `MADDR_H` and `MADDRS_H` in `arch/TriCore/TriCoreInstrInfo.td`
2023-04-14 00:35:36 +08:00
billow
8b56ae652b
refactor: Add new TriCore instructions and remove deprecated ones.
...
- Remove deprecated instructions
- Update comments and formatting
2023-04-14 00:35:35 +08:00
billow
d41decd0f0
feat: Add and remove TriCore instructions.
...
- Add 3 new TriCore instructions
- Remove TriCore instruction "TriCore_INS_INIT"
- Alphabetized and rearranged various TriCore instructions
- Commented out code remains in the diff but is not part of the program.
2023-04-14 00:35:34 +08:00
billow
d631ecc723
add `tricore_feature` support
2023-04-14 00:35:33 +08:00
billow
a076fdeb0a
refactor: Refactor TriCore instruction decoding and register definition.
...
- Update TriCore processor register definitions with auto-generated file `TriCoreGenCSRegEnum.inc`
- Add several new TriCore processor instructions with auto-generated file `TriCoreGenCSInsnEnum.inc`
- Update TriCore_OP_GROUP enumeration with auto-generated file `TriCoreGenCSOpGroup.inc`
- Rename and restructure TriCore processor register classes
- Remove unused register class definitions and related code
2023-04-14 00:35:32 +08:00
billow
d58a83c7f1
refactor: Update TriCore instruction requirements
...
- Update `Requires` directives for several instructions to reflect changes in hardware versions
2023-04-14 00:35:32 +08:00
billow
7dbeb5c58f
refactor: Add support for new TriCore instructions and constraints.
...
- Add support for V110 and V120 in various LD instructions
- Define new multiclass for code reuse
- Restructure LD_A_v120 in favor of LD_A with Requires constraint
- Add new defs for LT_U with suffixes for V110 support
2023-04-14 00:35:31 +08:00
billow
2fa188ec5a
refactor: Improve TriCore instruction handling.
...
- Add new instructions for TriCore architecture
- Implement changes to TriCoreInstrInfo.td
2023-04-14 00:35:30 +08:00
billow
d515e62ddc
refactor: Refactor TriCore register names.
...
- Rename TriCore register names for better readability
- Update TriCore instruction information
2023-04-14 00:35:29 +08:00
billow
ad0e18fece
fix `cachea`
2023-04-14 00:35:28 +08:00
billow
4567335c20
add some tricore v1.1 inst
2023-04-14 00:35:27 +08:00
billow
753b6a4ce0
cleanup
2023-04-14 00:35:26 +08:00
billow
b9eba6f1fd
add tricore Predicates
2023-04-14 00:35:25 +08:00
billow
c862106861
just add TriCoreISA enum
2023-04-14 00:35:25 +08:00
billow
d759996f15
fix: `disp` print and fill
2023-04-14 00:35:24 +08:00
billow
878e09db04
fix: decode `j` `call` `loop`
2023-04-14 00:35:22 +08:00
billow
d9e715bc17
feat: Fix bugs and update instructions for TriCore architecture.
...
- Fix bug in `printDisp8Imm` function in `TriCoreInstPrinter.c`
- Add new `CALL_sb` instruction to `TriCoreInstrInfo.td`
- Reorder instruction definitions and operands in `TriCoreInstrInfo.td`
2023-04-14 00:35:21 +08:00
billow
fae62b74bf
refactor: Refactor TriCore instructions and operands
...
- Add new immediate operands and refactor code for better readability in TriCoreInstrInfo
- Update InstPrinter functions to handle new immediate operands and remove unused function
2023-04-14 00:35:20 +08:00
billow
5b7e20ad55
fix: TriCore Instruction Formats and Printing
...
- Add new operand type `off18imm`
- Add `printOff18Imm` function for printing specific immediate value
2023-04-14 00:35:19 +08:00
billow
7e937d10ad
Fix: TriCore instruction operations and decoding.
2023-04-14 00:35:18 +08:00
billow
6bd7b4b894
fix: decode error
2023-04-14 00:35:17 +08:00
billow
9bdd734d0e
fix: TriCore instruction decoding and printing.
...
- Modify TriCore instructions to use bracket syntax and offsets for better clarity
- Add off4_fixup and printSExtImm_n
2023-04-14 00:35:17 +08:00
billow
a78a46a397
fix: TriCore architecture disassembly codes
...
- Rename `ISLR_post_increment` to `ISLR_pos` for clarity
- Fix register decoding for TriCore architecture in `TriCoreDisassembler.c`
- Add new file `LoadStore.s.cs` to `suite/MC/TriCore`
2023-04-14 00:35:16 +08:00
billow
f19a93ad43
add `BO`
2023-04-14 00:35:14 +08:00
billow
6381b0750e
add `MTCR`
2023-04-14 00:35:13 +08:00
billow
1c190c49cc
Whether to call `a10` a `sp`
2023-04-14 00:35:12 +08:00
billow
fc3cf3aa80
fix `imask`
2023-04-14 00:35:11 +08:00
billow
63db2dc804
fix `mov.a` `mov.d`
2023-04-14 00:35:10 +08:00
billow
927e075500
fix
2023-04-14 00:35:09 +08:00
billow
fec75ae36a
fix `RR`
2023-04-14 00:35:09 +08:00
billow
85d2936f87
fix `INSERT_rrpw`
2023-04-14 00:35:08 +08:00
billow
3a6076a6d4
fix `RRPW`
2023-04-14 00:35:07 +08:00
billow
9567b8915d
fix
2023-04-14 00:35:06 +08:00
billow
70058f9104
fix `SRRS`
2023-04-14 00:35:05 +08:00
billow
fd8a2b8dc9
fix `BO` `BOL`
2023-04-14 00:35:04 +08:00
billow
001f3487b1
fix `DecodeRegisterClass`
2023-04-14 00:35:03 +08:00
billow
8fa4d4cb99
fix `DecodeRegisterClass`
...
- `DecodeABSInstruction`
- `DecodeRLCInstruction`
- `DecodeSSRInstruction`
- `DecodeSRCInstruction`
2023-04-14 00:35:02 +08:00
billow
98f0eb61a8
fix
2023-04-14 00:35:01 +08:00
billow
e5b44ff47c
add `sign_ext` `zero_ext`
2023-04-14 00:35:01 +08:00
billow
cffcfdbb4c
fix
2023-04-14 00:34:58 +08:00
billow
564f962146
fix
2023-04-14 00:34:57 +08:00
billow
75c5e26358
fix `DecodeInstruction`
2023-04-14 00:34:54 +08:00
billow
bb16f2d785
`Decode*Instruction`
2023-04-14 00:34:53 +08:00
billow
b1f7cfeb84
fix build
2023-04-14 00:34:52 +08:00
billow
30432c862d
add FPU Instructions
2023-04-14 00:34:52 +08:00
billow
33080bb326
update `TriCore*.inc`
2023-04-14 00:34:51 +08:00
billow
1a148e2b65
ST SUB SYSCALL XOR XNOR
2023-04-14 00:34:50 +08:00
billow
1e44b5346d
SHA* ST*
2023-04-14 00:34:49 +08:00
billow
27e5ef647a
RSUB* SAT* SEL* SH*
2023-04-14 00:34:48 +08:00
billow
093829be2b
modified: arch/TriCore/TriCoreInstrInfo.td
2023-04-14 00:34:47 +08:00
billow
f7aa5d17ff
`MUL*` `NAND*` `NE*` `NOP` `NOR` `OR`
2023-04-14 00:34:46 +08:00
billow
26454fd243
`MSUB*`
2023-04-14 00:34:45 +08:00
billow
248f7c6f14
`MOV*`
2023-04-14 00:34:45 +08:00
billow
86f6a60818
`MAX*` `MFCR` `MIN*`
2023-04-14 00:34:44 +08:00
billow
dae993af5d
fix `MADD*`
2023-04-14 00:34:43 +08:00
billow
7f32015cfb
`MADD*`
2023-04-14 00:34:42 +08:00
billow
3bbb2d5b76
- `LD*`
...
- `LEA*`
- `LHA*`
- `LOOP*`
- `LT*`
2023-04-14 00:34:41 +08:00
billow
16befd3724
`ld*`
2023-04-14 00:34:40 +08:00
billow
30cf8288e8
modified: arch/TriCore/TriCoreInstrInfo.td
2023-04-14 00:34:39 +08:00
billow
59da967a01
Changes to be committed:
...
modified: arch/TriCore/TriCoreInstrFormats.td
modified: arch/TriCore/TriCoreInstrInfo.td
2023-04-14 00:34:38 +08:00
billow
1968699d4d
add:
...
- `DEXTR*`
- `DISABLE*`
- `DSYNC*`
- `DVADJ*`
- `DIV*`
- `DVINIT*`
- `DVSTEP*`
- `ENABLE*`
- `EQ*`
2023-04-14 00:34:38 +08:00
billow
f8c7dc474f
add:
...
- `CALL*`
- `CL*`
- `CMOV*`
- `CMPSWAP_W`
- `CRC*`
- `CSUB*`
- `DEBUG*`
2023-04-14 00:34:37 +08:00
billow
f7175332ba
add `cadd`
2023-04-14 00:34:36 +08:00
billow
688ee6a07c
add `cache` inst
2023-04-14 00:34:35 +08:00
billow
69e051687a
add `AND`
2023-04-14 00:34:34 +08:00
billow
b5b456b4f4
add more `ADD`
2023-04-14 00:34:33 +08:00
billow
96aec6be49
Add more multiclass
2023-04-14 00:34:32 +08:00
billow
ed94f7fcfc
add more `ADD`
2023-04-14 00:34:31 +08:00
billow
175691f2cf
add `ABS`
2023-04-14 00:34:30 +08:00
billow
e6513b26ad
add TriCore tablegen files
2023-04-14 00:34:30 +08:00
billow
d1021f4a6b
Fix build and test
2023-04-14 00:34:28 +08:00
Sidney Pontes Filho
81b1df7f91
Transfer modifications of TriDis/llvm-tricore on Feb, 04 2017
2023-04-14 00:34:25 +08:00
Sidney Pontes Filho
707c57b921
Fix TriCore register mapping
2023-04-14 00:34:23 +08:00
Sidney Pontes Filho
8ea8d69cc5
Fix TriCore Mapping
2023-04-14 00:34:23 +08:00
Sidney Pontes Filho
72cdfdab80
Adjustments in TriCore and add more instructions into tests/test_tricore.c
2023-04-14 00:34:22 +08:00
Sidney Pontes Filho
651aa5a1f1
Fix memory access printing and clean unused functions
2023-04-14 00:34:21 +08:00
Sidney Pontes Filho
4aace70036
Transfer modifications of TriDis/llvm-tricore on Oct 05, 2016
2023-04-14 00:34:20 +08:00
Sidney Pontes Filho
4bc36ec68b
Transfer modifications of TriDis/llvm-tricore on Sep 20, 2016
2023-04-14 00:34:19 +08:00
Sidney Pontes Filho
f855c92b46
Adjust printing of Registers and upgrade TriCore test
2023-04-14 00:34:18 +08:00
Sidney Pontes Filho
3c63df7f45
Fix printing MemSrc
2023-04-14 00:34:17 +08:00
Sidney Pontes Filho
edbd73409c
Remove all compiler warnings
2023-04-14 00:34:17 +08:00
Sidney Pontes Filho
dd4011297b
Fix all compiler errors
2023-04-14 00:34:16 +08:00