florian
|
f6002d8078
|
* ensure make_simple_ref is called, resolves #40851
|
2024-07-10 22:26:09 +02:00 |
|
florian
|
db5e821ead
|
* more change information updates
|
2024-07-02 22:21:24 +02:00 |
|
florian
|
9ce7fbeef0
|
* change information updates
|
2024-06-28 22:45:00 +02:00 |
|
J. Gareth "Curious Kit" Moreton
|
fb66369a3b
|
* x86: CheckJumpMovTransferOpt now also copies over register deallocations to allow better optimisations
|
2024-06-24 20:05:39 +00:00 |
|
florian
|
2fe3955be9
|
+ more change information
|
2024-06-11 23:22:21 +02:00 |
|
florian
|
bdb611c925
|
* small fix of change information
|
2024-06-10 23:10:48 +02:00 |
|
florian
|
15b3f16646
|
* use fld1/fchs regardless of pic
|
2024-06-06 22:36:29 +02:00 |
|
florian
|
aaeefacf85
|
* also optimize loading of -1.0
|
2024-06-05 22:56:45 +02:00 |
|
florian
|
8c2aca6ece
|
* load 2 on x86 stack by fld1/fadd, if pic code is generated. It is more efficient as two memory accesses are saved.
|
2024-06-04 23:21:26 +02:00 |
|
florian
|
c64fae2f89
|
* missing AVX-2 change information fixed
|
2024-06-03 23:29:37 +02:00 |
|
florian
|
73a251410e
|
+ more change information
|
2024-06-02 23:11:14 +02:00 |
|
florian
|
8db51a367e
|
* forgotten part of last commit
|
2024-06-01 18:53:50 +02:00 |
|
florian
|
055681c8b4
|
* correct change information for some instructions where the change
information cannot be modelled in x86ins.dat
|
2024-06-01 18:46:23 +02:00 |
|
J. Gareth "Curious Kit" Moreton
|
2de19f9e66
|
* x86: Reimplemented TAsmNode XML dumping using new framework
|
2024-05-30 20:04:11 +00:00 |
|
florian
|
4eb8f8e565
|
* patch by Marģers
- Rename 3DNow instruction (fixed long lasting typo in mnemonic). PMULHRWA --> PMULHRW
- Add vpclmullqlqdq, vpclmulhqlqdq, vpclmullqhqdq, vpclmulhqhqdq.
- Fix "typo" for SHA1MSG2
|
2024-05-30 21:49:30 +02:00 |
|
florian
|
d5ab671ec3
|
* patch by Marģers: patch to enable ENTER asm instruction
+ test
|
2024-05-29 23:15:09 +02:00 |
|
J. Gareth "Curious Kit" Moreton
|
bba8558a1a
|
* x86: Minor change to lineinfo in "MovAdd2Lea" so debugging is more logical
|
2024-05-20 17:45:29 +00:00 |
|
florian
|
cab3b8c06f
|
* factor out tcgx86.getcopymode
|
2024-05-19 22:56:23 +02:00 |
|
florian
|
e29d1ecda9
|
* reorganize Tcgx86.g_concatcopy
|
2024-05-17 21:39:18 +02:00 |
|
florian
|
b826ad8b7e
|
+ CPUX86_HINT_FAST_SHORT_REP_MOVS
* use FPC_MOVE instead of rep movs if possible, partially fixes #40785
|
2024-05-16 22:59:21 +02:00 |
|
J. Gareth "Curious Kit" Moreton
|
6cc391dfa1
|
* x86: Improved "Test2Bt" peephole optimisation
|
2024-05-02 23:46:20 +01:00 |
|
florian
|
b6da7a799a
|
* regenerated
|
2024-05-02 22:46:49 +02:00 |
|
florian
|
346962beaa
|
* compiler part of #35433
|
2024-05-01 23:05:06 +02:00 |
|
J. Gareth "Curious Kit" Moreton
|
e601156b8c
|
* x86-64: Bug fix where RIP-relative references were made absolute in minmax optimisations by mistake.
|
2024-04-27 16:32:04 +00:00 |
|
J. Gareth "Curious Kit" Moreton
|
17b7782929
|
* i386: Fixed issue where the peephole optimizer entered an infinite loop when building for CPUs older than Pentium II
|
2024-04-26 19:08:00 +00:00 |
|
florian
|
2e86cdb620
|
* allow swapping of operands for three operand instructions if they are commutative
|
2024-04-22 22:25:37 +02:00 |
|
J. Gareth "Curious Kit" Moreton
|
3cae3e7e48
|
* x86: Registers are now allocated properly during a FuncMov2Func
optimisation
|
2024-04-09 20:51:24 +00:00 |
|
J. Gareth "Curious Kit" Moreton
|
18eec3055e
|
* x86: More accurate register tracking in CheckJumpMovTransferOpt
|
2024-04-09 20:51:24 +00:00 |
|
florian
|
fd68d3bfbb
|
* ensure that left and right have a result type set in tx86addnode.pass_1, resolves #40727
|
2024-04-08 22:53:34 +02:00 |
|
florian
|
139f2dfe84
|
* fix internalerror 200502052 with certain min/max optimizations on x86-64, resolves #40730
|
2024-04-06 23:31:37 +02:00 |
|
florian
|
8cdb3deebd
|
* another fix for min/max intrinsics on x86_64 for non constant/reference/register locations, resolves #40724
|
2024-04-03 22:03:30 +02:00 |
|
florian
|
3b8fcfc6eb
|
* fix min/max intrinsics on x86_64 for non constant/reference/register locations, resolves #40721
|
2024-04-01 23:25:24 +02:00 |
|
florian
|
a8d496ade7
|
* i386 uses generic x86 abs(long/int64) code now
|
2024-03-29 20:54:52 +01:00 |
|
florian
|
fea8050457
|
* fix i386 building after fb3c4ff75b
|
2024-03-27 00:04:46 +01:00 |
|
florian
|
fb3c4ff75b
|
* avoid CMPs with constants outside the range of signed 32 bit values
|
2024-03-26 23:53:46 +01:00 |
|
J. Gareth "Curious Kit" Moreton
|
ee1916e919
|
* i8086: Local variables unused in "second_AndOrXorShiftRot_assign" on i8086 are now not defined on this platform
|
2024-03-26 14:18:31 +00:00 |
|
J. Gareth "Curious Kit" Moreton
|
11b341cc97
|
* x86: Added new OptPass1CMOVcc peephole optimisation routine to dust up min/max code
|
2024-03-26 14:18:31 +00:00 |
|
J. Gareth "Curious Kit" Moreton
|
e4a0ce2fb5
|
* x86: Min/max intrinsic support
|
2024-03-26 14:18:31 +00:00 |
|
J. Gareth "Curious Kit" Moreton
|
948766a37a
|
* x86: New Op/TEST optimisation that rearranges register usage for the most efficient execution
|
2024-03-25 22:25:29 +00:00 |
|
florian
|
7c609ee7c4
|
* proper fix for 9056ab8025
|
2024-03-25 22:33:30 +01:00 |
|
Pierre Muller
|
9056ab8025
|
Fix generation of i8086 CPU code, as BTR/BTS instructions require at least 386 CPU
|
2024-03-25 14:29:08 +00:00 |
|
florian
|
12176d3683
|
* avoid to generate bts/r with memory operand
+ thlcgx86.a_bit_set_reg_reg
|
2024-03-24 23:03:33 +01:00 |
|
J. Gareth "Curious Kit" Moreton
|
2b7df4237b
|
* nf_pass1_done, nf_error, nf_processing and nf_do_not_execute
have been moved to a new "transientflags" node field that
isn't stored in PPU files
|
2024-03-24 18:14:49 +00:00 |
|
florian
|
c3b8b51cb5
|
* more overflow checking for abs(...)
|
2024-03-16 21:54:12 +01:00 |
|
florian
|
2a46596edd
|
* overflow check abs(...) for x86
|
2024-03-14 23:14:47 +01:00 |
|
J. Gareth "Curious Kit" Moreton
|
755d221230
|
* x86: Additional optimisation in OptPass2MOV to help with sub-optimal MOV/CMP/MOV triplets (and a minor refactor).
|
2024-03-10 21:09:59 +00:00 |
|
J. Gareth "Curious Kit" Moreton
|
f4e955d04f
|
* x86: Improvement to CMOVcc/Jcc optimisation that attempts to remove temporary registers storing constants
|
2024-03-10 21:09:59 +00:00 |
|
J. Gareth "Curious Kit" Moreton
|
a7fe49f38f
|
* x86: CMOVcc/Jcc pairs are now changed to MOV/Jcc if the register is not used if the jump doesn't branch
|
2024-03-10 21:09:59 +00:00 |
|
J. Gareth "Curious Kit" Moreton
|
b804fc5164
|
* Flags specific to TAddNode have been moved to their own field
|
2024-03-02 21:31:21 +01:00 |
|
florian
|
1966ce7c1c
|
+ Skylake-X for i386
|
2024-02-26 22:41:55 +01:00 |
|