2
0
nickysn 94bcb9878a * reimplemented r28329 in a different way, as suggested by Jonas 11 жил өмнө
..
aoptcpu.pas 2fa066b003 * optimize vmovaps/vmovapd after avx instructions 11 жил өмнө
aoptcpub.pas 2f5ce095ce * RefsHaveIndexReg -> cpurefshaveindexreg 13 жил өмнө
aoptcpud.pas 790a4fe2d3 * log and id tags removed 20 жил өмнө
cgcpu.pas d8c0f11ff9 + cs_userbp optimizer switch, so on x86-64 the compiler can make use of rbp if it is not needed as frame pointer 11 жил өмнө
cpubase.inc bfbb0c5b9d * optimize mov/lea 12 жил өмнө
cpuelf.pas 11b72b5515 x86_64 internal ELF linker: 12 жил өмнө
cpuinfo.pas d88d644925 + support for FMA intrinsic: if there is no hardware support, the compiler throws an error. 11 жил өмнө
cpunode.pas b57c95043f + support overriding tdef/tsym methods with target-specific functionality: 11 жил өмнө
cpupara.pas 8c693a3300 * Win64 apparently expects records with single field of floating-point type to be passed the same way as that only field, i.e. in xmm register. Fixes tests/cg/tcalext6.pp. 11 жил өмнө
cpupi.pas 70dda94474 * x86_64-win64: don't allocate outgoing parameter area in nostackframe procedures, it fails compilation if range/overflow/etc checking is enabled (which always sets pi_do_call) due to check introduced in r22677. 12 жил өмнө
cputarg.pas 3327d508ee Enable nasm assembler for x86_64 cpu 11 жил өмнө
hlcgcpu.pas 71deda6f50 + added interface to ncgutil.gen_load_loc_cgpara() to hlcgobj + generic 14 жил өмнө
nx64add.pas 2459518bdd * use IMUL even for unsigned multiplication on x86_64, when overflow checking is 11 жил өмнө
nx64cal.pas b837694207 * factored out releasing an unused return value into 14 жил өмнө
nx64cnv.pas edd42aa42a * moved subsetref/reg and bit_set/test support from cgobj to hlcgobj for 13 жил өмнө
nx64flw.pas 3fb304cbe2 - Removed Win64 SEH code specific to results of managed types returned in registers. Since r26228 managed types are always returned in parameters. 11 жил өмнө
nx64inl.pas 790a4fe2d3 * log and id tags removed 20 жил өмнө
nx64mat.pas b594eee70b * Moved x86_64 mod/div code to x86, with minimal changes to ensure it compiles on i386/i8086. Merging optimized division-by-const code from i386 is pending... 11 жил өмнө
nx64set.pas 859676d7d3 * fixed r26519 for darwin/x86-64, see comments (mantis #25644) 11 жил өмнө
r8664ari.inc 5af873ee5b * x86 targets: Profiling shows that quite a bit of time is spent in findreg_by_number(), despite it uses binary search. Worse, it is repeated for every piece of register information. Trying to get rid of some of these calls: rearranged registers so that their "opcode" matches 3 LSBs of superregister number (with a few exceptions described at the beginning of x86reg.dat). This allows to lookup opcodes in regval() with O(1) complexity, and removes need in rXXXop.inc files. 12 жил өмнө
r8664att.inc 5af873ee5b * x86 targets: Profiling shows that quite a bit of time is spent in findreg_by_number(), despite it uses binary search. Worse, it is repeated for every piece of register information. Trying to get rid of some of these calls: rearranged registers so that their "opcode" matches 3 LSBs of superregister number (with a few exceptions described at the beginning of x86reg.dat). This allows to lookup opcodes in regval() with O(1) complexity, and removes need in rXXXop.inc files. 12 жил өмнө
r8664con.inc 5af873ee5b * x86 targets: Profiling shows that quite a bit of time is spent in findreg_by_number(), despite it uses binary search. Worse, it is repeated for every piece of register information. Trying to get rid of some of these calls: rearranged registers so that their "opcode" matches 3 LSBs of superregister number (with a few exceptions described at the beginning of x86reg.dat). This allows to lookup opcodes in regval() with O(1) complexity, and removes need in rXXXop.inc files. 12 жил өмнө
r8664dwrf.inc 5af873ee5b * x86 targets: Profiling shows that quite a bit of time is spent in findreg_by_number(), despite it uses binary search. Worse, it is repeated for every piece of register information. Trying to get rid of some of these calls: rearranged registers so that their "opcode" matches 3 LSBs of superregister number (with a few exceptions described at the beginning of x86reg.dat). This allows to lookup opcodes in regval() with O(1) complexity, and removes need in rXXXop.inc files. 12 жил өмнө
r8664int.inc 5af873ee5b * x86 targets: Profiling shows that quite a bit of time is spent in findreg_by_number(), despite it uses binary search. Worse, it is repeated for every piece of register information. Trying to get rid of some of these calls: rearranged registers so that their "opcode" matches 3 LSBs of superregister number (with a few exceptions described at the beginning of x86reg.dat). This allows to lookup opcodes in regval() with O(1) complexity, and removes need in rXXXop.inc files. 12 жил өмнө
r8664iri.inc 5af873ee5b * x86 targets: Profiling shows that quite a bit of time is spent in findreg_by_number(), despite it uses binary search. Worse, it is repeated for every piece of register information. Trying to get rid of some of these calls: rearranged registers so that their "opcode" matches 3 LSBs of superregister number (with a few exceptions described at the beginning of x86reg.dat). This allows to lookup opcodes in regval() with O(1) complexity, and removes need in rXXXop.inc files. 12 жил өмнө
r8664nasm.inc 2ec5a649d7 * set Ch_* for more operations 11 жил өмнө
r8664nor.inc 283ff05127 * merged avx support in inline assembler developed by Torsten Grundke 13 жил өмнө
r8664num.inc 5af873ee5b * x86 targets: Profiling shows that quite a bit of time is spent in findreg_by_number(), despite it uses binary search. Worse, it is repeated for every piece of register information. Trying to get rid of some of these calls: rearranged registers so that their "opcode" matches 3 LSBs of superregister number (with a few exceptions described at the beginning of x86reg.dat). This allows to lookup opcodes in regval() with O(1) complexity, and removes need in rXXXop.inc files. 12 жил өмнө
r8664ot.inc 5af873ee5b * x86 targets: Profiling shows that quite a bit of time is spent in findreg_by_number(), despite it uses binary search. Worse, it is repeated for every piece of register information. Trying to get rid of some of these calls: rearranged registers so that their "opcode" matches 3 LSBs of superregister number (with a few exceptions described at the beginning of x86reg.dat). This allows to lookup opcodes in regval() with O(1) complexity, and removes need in rXXXop.inc files. 12 жил өмнө
r8664rni.inc 5af873ee5b * x86 targets: Profiling shows that quite a bit of time is spent in findreg_by_number(), despite it uses binary search. Worse, it is repeated for every piece of register information. Trying to get rid of some of these calls: rearranged registers so that their "opcode" matches 3 LSBs of superregister number (with a few exceptions described at the beginning of x86reg.dat). This allows to lookup opcodes in regval() with O(1) complexity, and removes need in rXXXop.inc files. 12 жил өмнө
r8664sri.inc 5af873ee5b * x86 targets: Profiling shows that quite a bit of time is spent in findreg_by_number(), despite it uses binary search. Worse, it is repeated for every piece of register information. Trying to get rid of some of these calls: rearranged registers so that their "opcode" matches 3 LSBs of superregister number (with a few exceptions described at the beginning of x86reg.dat). This allows to lookup opcodes in regval() with O(1) complexity, and removes need in rXXXop.inc files. 12 жил өмнө
r8664stab.inc 5af873ee5b * x86 targets: Profiling shows that quite a bit of time is spent in findreg_by_number(), despite it uses binary search. Worse, it is repeated for every piece of register information. Trying to get rid of some of these calls: rearranged registers so that their "opcode" matches 3 LSBs of superregister number (with a few exceptions described at the beginning of x86reg.dat). This allows to lookup opcodes in regval() with O(1) complexity, and removes need in rXXXop.inc files. 12 жил өмнө
r8664std.inc 5af873ee5b * x86 targets: Profiling shows that quite a bit of time is spent in findreg_by_number(), despite it uses binary search. Worse, it is repeated for every piece of register information. Trying to get rid of some of these calls: rearranged registers so that their "opcode" matches 3 LSBs of superregister number (with a few exceptions described at the beginning of x86reg.dat). This allows to lookup opcodes in regval() with O(1) complexity, and removes need in rXXXop.inc files. 12 жил өмнө
rax64att.pas 0db44ae108 + Support SEH directives in x86_64 AT&T asmreader. 14 жил өмнө
rax64int.pas f726e1691b * Fixed warnings and notes. 16 жил өмнө
rgcpu.pas a3f58e84be * rbp can be used for normal purpose under certain conditions so it shouldn't interfere with all other registers 11 жил өмнө
symcpu.pas 94bcb9878a * reimplemented r28329 in a different way, as suggested by Jonas 11 жил өмнө
win64unw.pas 6a3fe72de9 + Support .rva directive in AT&T reader. Put it into base class because it generally applies to all targets with COFF output, but enabled for Windows targets only (others need additional testing). 14 жил өмнө
x8664ats.inc dc628b8969 * x86: Completely skip instructions that do not exist for target CPU bit width. The existing behavior of writing mnemonics and properties but no encoding allows an invalid instruction to be recognized by assembler reader or even generated by compiler, but it but won't assemble anyway. 11 жил өмнө
x8664att.inc dc628b8969 * x86: Completely skip instructions that do not exist for target CPU bit width. The existing behavior of writing mnemonics and properties but no encoding allows an invalid instruction to be recognized by assembler reader or even generated by compiler, but it but won't assemble anyway. 11 жил өмнө
x8664int.inc dc628b8969 * x86: Completely skip instructions that do not exist for target CPU bit width. The existing behavior of writing mnemonics and properties but no encoding allows an invalid instruction to be recognized by assembler reader or even generated by compiler, but it but won't assemble anyway. 11 жил өмнө
x8664nop.inc 842e027a9f + prove of concept how FMA4 could be supported in inline assembler 11 жил өмнө
x8664op.inc dc628b8969 * x86: Completely skip instructions that do not exist for target CPU bit width. The existing behavior of writing mnemonics and properties but no encoding allows an invalid instruction to be recognized by assembler reader or even generated by compiler, but it but won't assemble anyway. 11 жил өмнө
x8664pro.inc dc628b8969 * x86: Completely skip instructions that do not exist for target CPU bit width. The existing behavior of writing mnemonics and properties but no encoding allows an invalid instruction to be recognized by assembler reader or even generated by compiler, but it but won't assemble anyway. 11 жил өмнө
x8664tab.inc 842e027a9f + prove of concept how FMA4 could be supported in inline assembler 11 жил өмнө