Dmitry Stogov
|
e4b618ad00
|
Fix fusion of IF(_, CMP(AND(_, _) 0))
|
2023-03-28 19:03:06 +03:00 |
|
Dmitry Stogov
|
54597bc862
|
Clear destination regeister before INT to FP conversion to avoid partial register stall
|
2022-12-28 00:05:23 +03:00 |
|
Dmitry Stogov
|
95729f76bf
|
Use IMUL instead of MUL
|
2022-12-16 12:57:40 +03:00 |
|
Dmitry Stogov
|
daf659a457
|
Fix incorrect conditions
|
2022-12-01 00:43:42 +03:00 |
|
Dmitry Stogov
|
924f5949f2
|
Fixed SSE operands alignment and 32-bit support
|
2022-09-27 20:36:34 +03:00 |
|
Dmitry Stogov
|
0596de2291
|
Fuse LOAD into IMULL/3
|
2022-08-30 11:26:38 +03:00 |
|
Dmitry Stogov
|
fd8539e17d
|
Eliminate TEST after ADD/SUB/AND/OR/XOR
|
2022-08-29 22:22:30 +03:00 |
|
Dmitry Stogov
|
ab8019e0cd
|
Aarch64 back-end (incomplete)
|
2022-06-02 15:12:56 +03:00 |
|
Dmitry Stogov
|
bb842b489c
|
Aarch64 backend support & unification
|
2022-06-01 18:16:32 +03:00 |
|
Dmitry Stogov
|
7e782a291a
|
Extend disassembler to support .rodata section and IP relative data labels
|
2022-05-26 01:17:02 +03:00 |
|
Dmitry Stogov
|
19e93fd3f6
|
Allow multi-target test suite
|
2022-05-25 17:38:22 +03:00 |
|
Dmitry Stogov
|
04667faf22
|
Reorder blocks according to branch probability
|
2022-05-24 12:47:39 +03:00 |
|
Dmitry Stogov
|
6f7f7b1268
|
Implement code generation for type conversion instructions
Register constraints might need to be tweeked.
|
2022-05-20 13:07:41 +03:00 |
|
Dmitry Stogov
|
bae7df6a5f
|
Implement code generation for MIN and MAX instructions
|
2022-05-19 17:03:00 +03:00 |
|
Dmitry Stogov
|
f086da2550
|
Clenaup (remove unnecessary SHIFT case)
|
2022-05-16 14:36:27 +03:00 |
|
Dmitry Stogov
|
896ddb9e77
|
Flexable scratch register constraints (allow MUL %edx)
|
2022-05-13 15:10:15 +03:00 |
|
Dmitry Stogov
|
dd5a3a3b72
|
Add flexible support for temporary registers.
Get rid of hardcoded temporary registers (incomplete)
|
2022-05-05 22:35:39 +03:00 |
|
Dmitry Stogov
|
7de4566498
|
Add tests for 64-bit constants
|
2022-05-04 15:37:07 +03:00 |
|
Dmitry Stogov
|
506e7b658f
|
Implement ABS and NEG
|
2022-04-21 00:31:28 +03:00 |
|
Dmitry Stogov
|
0922b7cd7f
|
Add vreg hints
|
2022-04-15 16:02:23 +03:00 |
|
Dmitry Stogov
|
f04433999f
|
Reload loading to avoid register clobbering
|
2022-04-15 15:22:17 +03:00 |
|
Dmitry Stogov
|
3cb707522f
|
Allocate scratch (caller-saved) registers first
|
2022-04-15 14:22:35 +03:00 |
|
Dmitry Stogov
|
2c2f2dabab
|
Better use placement
|
2022-04-15 00:35:02 +03:00 |
|
Dmitry Stogov
|
3f6a6aa3ea
|
Better CPU constraint model and initial support for live interval splitting (incomplete)
|
2022-04-14 22:40:13 +03:00 |
|
Dmitry Stogov
|
d8e7a8579f
|
Use LEA for 32-bit integers
|
2022-04-14 18:11:43 +03:00 |
|
Dmitry Stogov
|
9ccefcf973
|
Support for more instruction in C backend and BOOL_NOT in x86_86
|
2022-04-08 19:02:11 +03:00 |
|
Dmitry Stogov
|
f1cc9a4ddb
|
Added tests for unary integer instructions
|
2022-04-08 16:40:28 +03:00 |
|
Dmitry Stogov
|
fa7a34c629
|
Support for unordered floating point comparison
|
2022-04-08 15:29:05 +03:00 |
|
Dmitry Stogov
|
552aeec7d5
|
x86_64: Optimize integer comparison with zero
|
2022-04-08 10:49:22 +03:00 |
|
Dmitry Stogov
|
0f92e7dc67
|
Added more x86_64 tests for integer comparison
|
2022-04-08 10:05:42 +03:00 |
|
Dmitry Stogov
|
67b23a95b5
|
Added x86_64 tests for integer comparison
|
2022-04-08 00:59:45 +03:00 |
|
Dmitry Stogov
|
14f4fdf29d
|
Added few more basic x86_64 tests
|
2022-04-08 00:29:49 +03:00 |
|
Dmitry Stogov
|
baf3d31526
|
ws
|
2022-04-07 23:31:03 +03:00 |
|
Dmitry Stogov
|
a28f18a712
|
Added few basic x86_64 tests
|
2022-04-07 23:24:29 +03:00 |
|