Commit Graph

495 Commits

Author SHA1 Message Date
Rot127
c14c245986 Set sysop members by their C++ type name.
Prevents build warnings of implicit enum convertions.
2023-07-22 09:08:11 -05:00
Rot127
a96796d090 fix #2101 2023-07-21 04:04:08 -05:00
Rot127
104f693c11 Architecture updater (auto-sync) - Updating ARM (#1949)
* Add auto-sync updater.

* Update Capstone core with auto-sync changes.

* Update ARM via auto-sync.

* Make changes to arch modules which are introduced by auto-sync.

* Update tests for ARM.

* Fix build warnings for make

* Remove meson.build

* Print shift amount in decimal

* Patch non LLVM register alias.

* Change type of immediate operand to unsiged (due to: #771)

* Replace all occurances of a register with its alias.

* Fix printing of signed imms

* Print rotate amount in decimal

* CHange imm type to int64_t to match LLVM imm type.

* Fix search for register names, by completing string first.

* Print ModImm operands always in decimal

* Use number format of previous capstone version.

* Correct implicit writes and update_flags according to SBit.

* Add missing test for RegImmShift

* Reverse incorrect comparision.

* Set shift information for move instructions.

* Set mem access for all memory operands

* Set subtracted flag if offset is negative.

* Add flag for post-index memory operands.

* Add detail op for BX_RET and MOVPCLR

* Use instruction post_index operand.

* Add VPOP and VPUSH as unique CS IDs.

* Add shifting info for MOVsr.

* Add TODOs.

* Add in LLVM hardcoded operands to detail.

* Move detail editing from InstPrinter to Mapping

* Formatting

* Add removed check.

* Add writeback register and constraints to RFEI instructions.

* Translate shift immediate

* Print negative immediates

* Remove duplicate invalid entry

* Add CS groups to instructions

* Fix write attriutes of stores.

* Add missing names of added instructions

* Fix LLVM bug

* Add more post_index flags

* http -> https

* Make generated functions static

* Remove tab prefix for alias instructions.

* Set ValidateMCOperand to NULL.

* Fix AddrMode3Operand operands

* Allow getting system and banked register name via API

* Add writeback to STC/LDC instructions.

* Fix (hopefully) last case where disp is negative and subtracted = true

* Remove accidentially introduced regressions
2023-07-19 17:56:27 +08:00
billow
4241fee7e6 Fix tricore.h 2023-06-23 23:46:19 +08:00
Peace-Maker
cb6b9487f9 Merge branch 'next' into riscv_insn_groups 2023-05-30 16:23:34 +02:00
billow
10a24a9a38 Add operands access support for TriCore 2023-05-30 12:27:38 +08:00
billow
6fc9643161 Add .clang-format and format 2023-05-30 11:09:37 +08:00
Rot127
8920374073 Pull auto-sync's changes from 2ab11ad9bd 2023-05-30 11:08:18 +08:00
Peace-Maker
7c0d3be0f9 RISCV: add more instruction groups
Add call, ret, int and branch_relative instruction groups to riscv
mappings.
2023-05-01 22:55:26 +02:00
billow
114f1ad867 Upper all inc and fix 2023-05-01 22:52:47 +08:00
billow
5111f0e60c Fix tricore.h 2023-04-26 16:06:31 +08:00
billow
2873d3b58c Fix tricore.h and remove inc folder 2023-04-25 09:24:07 +08:00
billow
2785d31399 Format all .(c|h) code 2023-04-20 21:55:37 +08:00
billow
c78a086a55 fix TRICORE_GENERIC inst 2023-04-14 00:36:07 +08:00
billow
e843a8df56 fix tests 2023-04-14 00:36:04 +08:00
billow
3d2a56c2cd fix tc1.6.2 tests 2023-04-14 00:36:02 +08:00
billow
4e75d75e91 fix 2023-04-14 00:35:59 +08:00
billow
67ec2089f1 fix 2023-04-14 00:35:58 +08:00
billow
d31b9cf0b9 fix TriCoreDisassembler.c from tests 2023-04-14 00:35:51 +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
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
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
4567335c20 add some tricore v1.1 inst 2023-04-14 00:35:27 +08:00
billow
927e075500 fix 2023-04-14 00:35:09 +08:00
billow
c4a9694d9e - add tricore to python binding
- try fix `test_corpus.py`
2023-04-14 00:34:59 +08:00
billow
b1f7cfeb84 fix build 2023-04-14 00:34:52 +08:00
billow
33080bb326 update TriCore*.inc 2023-04-14 00:34:51 +08:00
billow
d1021f4a6b Fix build and test 2023-04-14 00:34:28 +08:00
billow
6162515dfe Fix rebase error 2023-04-14 00:34:27 +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
72cdfdab80 Adjustments in TriCore and add more instructions into tests/test_tricore.c 2023-04-14 00:34:22 +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
edbd73409c Remove all compiler warnings 2023-04-14 00:34:17 +08:00
Sidney Pontes Filho
bca9ef7420 Add group name maps 2023-04-14 00:34:12 +08:00
Sidney Pontes Filho
f5687523e3 Modify Makefiles for TriCore architecture 2023-04-14 00:34:08 +08:00
Sidney Pontes Filho
67f3c46f1b Add TriCore Architecture 2023-04-14 00:34:07 +08:00
Wu ChenXu
fe63ddb108 Merge pull request #1927 from ysat0/superh 2023-01-27 14:58:24 +08:00
ζeh Matt
7f51a36732 Update comment 2022-11-22 22:25:22 +02:00
ζeh Matt
1249f05c49 Add post_index to arm 2022-11-22 22:25:08 +02:00
ζeh Matt
b5c865a0cd Add post_index field for cs_arm64 2022-11-22 19:23:32 +02:00
Yoshinori Sato
c2e05f6223 SH: Add missing sh.h
Signed-off-by: Yoshinori Sato <ysato@users.sourceforge.jp>
2022-10-20 13:04:56 +09:00
Yoshinori Sato
586e405a7c Merge remote-tracking branch 'origin/next' into superh 2022-10-13 12:30:15 +09:00
Yoshinori Sato
5b6846c2c8 SH: Add superh support for common part.
Signed-off-by: Yoshinori Sato <ysato@users.sourceforge.jp>
2022-10-12 20:11:05 +09:00
Wu ChenXu
c0e1839d5c Merge pull request #1907 from FinnWilkinson/AArch64-Armv9.2-update 2022-10-06 17:27:20 +08:00
Finn Wilkinson
dfa8c60c91 Updated arm64.h to refelct changes to architecture in Armv9.2 and LLVM
14.0.5, and introduced new arm64 operand types.

New operand type for svcr MSR/MRS/SMSTART/SMSTOP instructions to
facilitate easier cstool printing.

New operand type for SME instructions with a matrix register that is
indexed.
2022-09-30 16:21:58 +01:00
Richard Patel
fa58bc1d62 Add PPC paired-singles ext 2022-07-23 08:50:26 +02:00
Richard Patel
fb34475a1f Add eBPF callx instruction 2022-06-06 11:56:40 +02:00