J. Gareth "Curious Kit" Moreton
|
40196f4a43
Fixes to ADD/SUB 128 optimisation that didn't check flags properly, and also handling ADC/SBB properly
|
3 years ago |
J. Gareth "Curious Kit" Moreton
|
b4bd15a5c0
Removed incorrect logic in TEST optimisation
|
3 years ago |
J. Gareth "Curious Kit" Moreton
|
be448e29f6
Fixed bug in new TEST optimisation where a FLAGS check always returned "in use"
|
3 years ago |
J. Gareth "Curious Kit" Moreton
|
42c429bf45
New optimisation that merges small constants written to the stack
|
3 years ago |
J. Gareth "Curious Kit" Moreton
|
7a15312b54
Safety checks on TEST removals and better FLAG tracking
|
3 years ago |
J. Gareth "Kit" Moreton
|
f60523a3b9
x86: New TEST optimisations
|
3 years ago |
Yuriy Sydorov
|
7b2cd0bcdc
* Prevent a range check error in case of big unsigned values.
|
3 years ago |
J. Gareth "Curious Kit" Moreton
|
2dc0995067
- Bug fix to new ADD/SUB optimisation where conditions are concerned
|
3 years ago |
J. Gareth "Curious Kit" Moreton
|
9f60628e5b
x86: new optimisation to change add/sub 128,(dest) to sub/add -128,(dest) to reduce binary size
|
3 years ago |
Pierre Muller
|
8e7791ac23
Explicitly disable overflow for offset propagation optimization
|
3 years ago |
florian
|
7fcbd1d7e0
* my last commit hopefully fixed
|
3 years ago |
florian
|
492d75483d
* fix (V)Cvtss2CvtSd(V)Cvtsd2ss2* optmizations for non-avx code, resolves #39416
|
3 years ago |
florian
|
44051b4af3
* corrected accidently made changs in 01a449c8, resolves #39424
|
3 years ago |
J. Gareth "Curious Kit" Moreton
|
284317d877
Fixed OptPass2Lea not honouring symbols
|
3 years ago |
J. Gareth "Curious Kit" Moreton
|
42eb06f5c6
Fixed some range check problems
|
4 years ago |
J. Gareth "Curious Kit" Moreton
|
b58fdc3e58
Improved ADD and SUB optimisations for LEA instructions
|
4 years ago |
florian
|
10fcae34a9
* improved TX86AsmOptimizer.OptPass1MOVXX
|
4 years ago |
florian
|
4610980f2e
* TX86AsmOptimizer.OptPass1MOVXX takes care of volatility
|
4 years ago |
J. Gareth "Curious Kit" Moreton
|
342803532d
Bug fix to MovMov2Mov 6 optimisation exposed by 4012c3dbd47f661805bb7a831c6c687807ede3b4 (and miscellaneous code refactors)
|
4 years ago |
florian
|
ea6529ff63
* manually merged merge request 69 by J. Gareth "Kit" Moreton:
|
4 years ago |
florian
|
4012c3dbd4
* merge request 75 by J. Gareth "Kit" Moreton manually applied:
|
4 years ago |
J. Gareth "Curious Kit" Moreton
|
fd28cc0db0
Better handling of zeroing upper parts of registers
|
4 years ago |
J. Gareth "Curious Kit" Moreton
|
674ed4069a
Expanded MM block move to include YMM registers under AVX
|
4 years ago |
florian
|
d55b2c2a35
+ extend assembler optimization MovxMov2Mov to MovxOp2Op
|
4 years ago |
florian
|
07413be8b5
+ being able to define change information for xmm0
|
4 years ago |
J. Gareth "Curious Kit" Moreton
|
a925522ead
xor optimisation now doesn't check to see if the REX prefix will actually be removed, as it's beneficial for speed reasons to only use the 32-bit register when zeroing the whole thing
|
4 years ago |
florian
|
2c180cf101
* by default, DEBUG_AOPTCPU is only enabled if the compiler is compiled with -dEXTDEBUG
|
4 years ago |
florian
|
b4bf371b34
* generate VMOVAPS for (V)Cvtss2CvtSd(V)Cvtsd2ss optimization, resolves #39360
|
4 years ago |
florian
|
4752230c8f
* use source register as second register in VCVTSD2SS and VCVTSS2SD, this should break
|
4 years ago |
florian
|
ec40db3da7
+ (V)Cvtss2CvtSd(V)Cvtsd2ss2Nop optimization, resolves #39360
|
4 years ago |