Denis Drakhnia
a1a54bb46f
e2k: basic v7 support
2024-04-25 20:09:01 +03:00
Denis Drakhnia
b77953a395
e2k: stmqp v6 unaligned access
2024-04-25 20:09:01 +03:00
Denis Drakhnia
8e133a3e89
e2k: set default procedure stack size to page size
2024-04-25 20:09:01 +03:00
Denis Drakhnia
74976dffcf
e2k: update btag ptr only when tags enabled
2024-04-25 20:09:01 +03:00
Denis Drakhnia
c116f9e4bd
e2k: add probe access cache
2024-04-25 20:09:01 +03:00
Denis Drakhnia
0ff495b4d3
e2k: stmqp probe rw access
2024-04-25 20:09:00 +03:00
Denis Drakhnia
74364cc70f
e2k: use i128 for qp loads and stores
2024-04-25 20:09:00 +03:00
Denis Drakhnia
4a415ddafa
e2k: use pointer to access regs in a window
2024-04-25 20:09:00 +03:00
Denis Drakhnia
627d8add8b
e2k: use pointer for the first based register
2024-04-25 20:09:00 +03:00
Denis Drakhnia
72519cd0d2
e2k: allow qplog for elbrus-v7 in alc2/alc5
2024-04-25 20:09:00 +03:00
Denis Drakhnia
bd5206f3dd
e2k: add gen_staaq
2024-04-25 20:09:00 +03:00
Denis Drakhnia
446abed271
e2k: add helper getf{s,d}_v5
2024-04-25 20:09:00 +03:00
Denis Drakhnia
5e41d8106d
e2k: remove aau state from global mem
2024-04-25 20:09:00 +03:00
Denis Drakhnia
df03a68a6d
e2k: use separate array for global regs
2024-04-25 20:09:00 +03:00
Denis Drakhnia
297d302688
e2k: optimize helper probe_{read,write}_access for user targets
2024-04-25 20:09:00 +03:00
Denis Drakhnia
f1714370c4
e2k: allow getpl write to ctpr
2024-04-25 20:09:00 +03:00
Denis Drakhnia
83b4e4af52
e2k: poison store
2024-04-25 20:09:00 +03:00
Denis Drakhnia
8f19d2e3fa
e2k: movep tags
2024-04-25 20:09:00 +03:00
Denis Drakhnia
6e72472145
e2k: poison result
2024-04-25 20:09:00 +03:00
Denis Drakhnia
9d869d8b4e
e2k: refactor gen_advance_loop_counters
2024-04-25 20:08:59 +03:00
Denis Drakhnia
7458cfadc2
e2k: gettagd write 32-bit result
2024-04-25 20:08:59 +03:00
Denis Drakhnia
bec013fab1
e2k: check mrgc tag
2024-04-25 20:08:59 +03:00
Denis Drakhnia
ca5b13ca4e
e2k: check tag for ct qual
2024-04-25 20:08:59 +03:00
Denis Drakhnia
9044a3bb28
e2k: check predicate registers tags
2024-04-25 20:08:59 +03:00
Denis Drakhnia
b7aa8589e9
e2k: track writes to ctprs in disas context
2024-04-25 20:08:59 +03:00
Denis Drakhnia
624fe3175c
e2k: gen exception if call wbs is greater than wsz
2024-04-25 20:08:59 +03:00
Denis Drakhnia
0db57d1579
e2k: add gen_rrs
2024-04-25 20:08:59 +03:00
Denis Drakhnia
5afa8efc6e
e2k: cpu always spill/fill 32 bytes for every 2 regs
2024-04-25 20:08:59 +03:00
Denis Drakhnia
e381e6d3f5
e2k: remove delayed tag check
2024-04-25 20:08:59 +03:00
Denis Drakhnia
b3baf0539d
e2k: refactor gen stubs
2024-04-25 20:08:59 +03:00
Denis Drakhnia
8a6ee164b5
e2k: remove unused gen_result_init
2024-04-25 20:08:59 +03:00
Denis Drakhnia
6dcaff62e5
e2k: move complex getf{s,d} to helper and optimize for literal
2024-04-25 20:08:59 +03:00
Denis Drakhnia
36ef654ea1
e2k: optimize sxt for imm5 in src1
2024-04-25 20:08:59 +03:00
Denis Drakhnia
1a5aeee39a
e2k: refactor preg read/write
2024-04-25 20:08:59 +03:00
Denis Drakhnia
d4961a8a3e
e2k: refactor GPR reads and writes
2024-04-25 20:08:59 +03:00
Denis Drakhnia
55278b45c5
e2k: use Int128 for X/QP ops
2024-04-25 20:08:59 +03:00
Denis Drakhnia
b78874bdb0
e2k: refactor alop src generation
2024-04-25 20:08:59 +03:00
Denis Drakhnia
d23cf508ba
e2k: gen return only for ctpr3
2024-04-25 20:08:59 +03:00
Denis Drakhnia
335042809b
e2k: illop if pc is not aligned by 8 bytes
2024-04-25 20:08:59 +03:00
Denis Drakhnia
a84db39085
e2k: v9.0.0 fixes
2024-04-25 20:07:04 +03:00
Denis Drakhnia
0cd2e9c69b
e2k: do not dissabmle fake kernel code
...
Signed-off-by: Denis Drakhnia <numas13@gmail.com>
2022-09-07 21:34:01 +03:00
Denis Drakhnia
fb9330bd0e
e2k: Add cctop* insns.
...
Signed-off-by: Denis Drakhnia <numas13@gmail.com>
2022-06-10 11:48:20 +03:00
Denis Drakhnia
bcc04e0c5b
e2k: Increase the number of NR to 224.
...
Signed-off-by: Denis Drakhnya <numas13@gmail.com>
2022-06-10 11:48:20 +03:00
Denis Drakhnia
0a0655109a
e2k: Gen illopc for mirrored ld+st.
...
Signed-off-by: Denis Drakhnya <numas13@gmail.com>
2022-06-10 11:48:20 +03:00
Denis Drakhnia
48290cb80c
e2k: Update get/set state regs.
...
Signed-off-by: Denis Drakhnya <numas13@gmail.com>
2022-06-10 11:48:20 +03:00
Denis Drakhnia
21ff5cbef9
e2k: Remove syscall helper.
...
Signed-off-by: Denis Drakhnya <numas13@gmail.com>
2022-06-10 11:48:20 +03:00
Denis Drakhnia
c8ed74f626
e2k: Add tags and force_save_alc_dst properties.
...
Signed-off-by: Denis Drakhnya <numas13@gmail.com>
2022-06-10 11:48:20 +03:00
Denis Drakhnia
d84636d73a
e2k: Restore basic tags support.
...
Disabled at compile time.
2022-06-10 11:48:20 +03:00
Denis Drakhnia
0c634e952b
e2k: Do not generate loop_end for stores outside of loops.
...
Signed-off-by: Denis Drakhnya <numas13@gmail.com>
2022-06-10 11:48:20 +03:00
Denis Drakhnia
52e67df3a1
e2k: Reorg usage of registers.
...
Till then we had separate stage to write results of
an operations to registers. Now operations will write
result immediately to a destination register. Registers
will be saved to a temporary location if following
operations in a bundle must read them.
The change elliminates additional branches for
conditional operations in the write stage and reduces
data movements.
Signed-off-by: Denis Drakhnya <numas13@gmail.com>
2022-06-10 11:48:20 +03:00