sergei
|
890d757573
+ SPARC: override g_external_wrapper method and emit PIC-safe jump without distance limit. Mantis #25455.
|
11 ani în urmă |
marco
|
104cbc0160
* redundant buttons removed, mantis #25239
|
11 ani în urmă |
marco
|
504ede1834
* add copyright from original header kindly submitted
|
11 ani în urmă |
nickysn
|
fdd36b4603
* on i8086 with regvars on, do not notify the register allocator of moves to BX.
|
11 ani în urmă |
sergei
|
e6a9bfdc1d
* SPARC, g_concatcopy and g_concatcopy_unaligned: removed strange (probably long outdated) comments and unnecessary operations.
|
11 ani în urmă |
sergei
|
c3c682fe3f
* Changed test so it provides different exit codes depending on the failed assertion.
|
11 ani în urmă |
sergei
|
03fb83cc01
* SPARC: fixed PIC interface wrappers for non-virtual methods. The fix uses branching with 8 MB distance limit, but in particular case of interface wrappers this limit applies to code size of a single unit, not to entire program, and is therefore hard enough to reach.
|
11 ani în urmă |
nickysn
|
420f30bacd
* fixed the handling of OS_PAIR/OS_SPAIR-sized parameters in ncgutil.gen_load_cgpara_loc. This fixes 32-bit regvar'd parameters on i8086.
|
11 ani în urmă |
yury
|
eea69a2947
* ppudump: Fixed json and xml output of inline types in array declaration.
|
11 ani în urmă |
nickysn
|
af49e50a3c
* do not cause an internal error when location_reg2string is called on a
|
11 ani în urmă |
nickysn
|
338d72f564
* extracted the code from psub.translate_registers for generating the name of
|
11 ani în urmă |
yury
|
996ee048be
* ppudump: Properly handle type definitions inside a class definition for json and xml output.
|
11 ani în urmă |
nickysn
|
99770d367f
* 16-bit and 8-bit ALU fixes in tcgtempdeletenode.pass_generate_code
|
11 ani în urmă |
nickysn
|
39c54bf077
* handle ait_varloc in the nasm writer. This allows compiling the system unit
|
11 ani în urmă |
yury
|
bc14407ffe
* ppudump: Deref index -1 is valid for absolute symbols. Handle this.
|
11 ani în urmă |
yury
|
90b8e051cb
* Fixed crash during dll loading on android-i386 (Stupid error because I am not comfortable with at&t i386 assembler syntax). Issue #25435.
|
11 ani în urmă |
nickysn
|
4eb9043ac7
* x87 optimized version of math.log2() for i8086, i386 and x86_64
|
11 ani în urmă |
nickysn
|
90b69184f1
* use a {$if defined()} sequence, instead of nested ifdefs for selecting the
|
11 ani în urmă |
sergei
|
65d24e000f
* SPARC: generate PIC prologue as recommended by ABI, it does not require FPC_GETGOT helper.
|
11 ani în urmă |
sergei
|
6469d41e2a
* SPARC: removed 32 bit shift code, and adjusted 64-bit shifts to take advantage of 3-address instructions (a port of r26142 for MIPS)
|
11 ani în urmă |
sergei
|
58cc531dd9
* SPARC: convert from int64/qword to float using genmath helpers. Removes dependency on softfloat code.
|
11 ani în urmă |
sergei
|
5ccdfcf106
* SPARC: optimized a_op_const_reg and a_op_const_reg_reg, take advantage of optimize_op_const functionality.
|
11 ani în urmă |
sergei
|
16156cbcd7
- SPARC RTL: removed assembler PIC/threadvar hacks.
|
11 ani în urmă |
sergei
|
9a486d73ba
+ SPARC: support FNEGd/FNEGq internal instructions, and use them to implement floating-point negation more efficiently.
|
11 ani în urmă |
sergei
|
8ecad469a6
* Reverted r26256 since it produced wrong results if argument of inc/dec is actually unaligned. Added description of the issue and slightly increased node complexity at which address is cached, so operations on record/class fields do not take address.
|
11 ani în urmă |
sergei
|
c3fe0c7379
* On SPARC, using shifts for zero-extending to OS_16 is more efficient than ANDing with 65535 (two instructions and no temp registers vs. three instructions and a temp register).
|
11 ani în urmă |
sergei
|
b376f56bf3
* Use typed pointer to store address of x when processing inc(x)/dec(x) with range checking enabled. This preserves alignment of x and prevents generating unaligned code on alignment-sensitive targets.
|
11 ani în urmă |
sergei
|
5cd0684d45
* tcg.a_load_ref_reg_unaligned: if loading signed 16-bit value, treat upper half as signed 8-bit to ensure that result is properly extended. This routine is used only by SPARC target (other CPUs use specific implementations), and it generates pretty inefficient code, therefore it's probably worth to drop it altogether and implement SPARC-specific version. Mantis #25440.
|
11 ani în urmă |
reiniero
|
48e4fc4bb2
* fcl-db: dbf,bufdataset (and descendents): allow filter using double delimiters inside string. Fixes issue #25432
|
11 ani în urmă |
reiniero
|
4229c6b40f
* fcl-db: additional stringfilter tests
|
11 ani în urmă |