summaryrefslogtreecommitdiff
path: root/cglin.c
AgeCommit message (Collapse)AuthorFilesLines
2015-11-02port centry to ARM for integers, string and arrays (reals not yet implemented),John van Groningen1-1/+1
port ccalls with 'G' to ARM, set visibility of symbols to hidden on ARM, except for labels defined by centry
2015-09-01port to ARM (update existing files)John van Groningen1-122/+247
2013-12-03implement position independent code generation on 64 bit linuxJohn van Groningen1-2/+2
2013-06-25use lea to load a descriptor instead of P_DESCRIPTOR_NUMBER when generating ↵John van Groningen1-2/+6
position independent code on 64 bit linux
2013-06-14add ABC instruction load_si32 for AMD64John van Groningen1-0/+28
2011-12-01implement divLU for 32 bit thread safe codeJohn van Groningen1-7/+3
2011-12-01implement mulUUL for 32 bit thread safe codeJohn van Groningen1-4/+33
2011-11-24generate thread safe code on 32 bit windows if THREAD32 is definedJohn van Groningen1-79/+339
2011-11-22generate thread safe code on 64 bit windows if THREAD64 is definedJohn van Groningen1-0/+15
2011-11-15also optimize division by large constants (>32 bits) on 64 bit processorsJohn van Groningen1-12/+25
2011-11-14fix adding large immediate values (>32 bit) on 64 bit processorsJohn van Groningen1-4/+32
2011-04-19add rotl% and rotr% instructions John van Groningen1-5/+8
2011-02-01port to Mac OS X (AMD64)John van Groningen1-2/+2
2010-12-01change scope of function i_fmoves_fr_id from static to externJohn van Groningen1-1/+1
2010-12-01add passing Real parameter as float in ccall for 64 bit windows and linuxJohn van Groningen1-0/+13
2008-12-18add floordiv and modJohn van Groningen1-0/+21
2008-12-18add floordiv and modJohn van Groningen1-17/+162
2008-12-18rename GMOD to GREMJohn van Groningen1-2/+2
2008-12-18rename IMOD to IREMJohn van Groningen1-6/+6
2008-10-31fix compare of constant of more than 32 bits (on 64 bit platforms)John van Groningen1-0/+25
2008-10-03fix code generation for subtract of constant larger than 32 bits on AI64John van Groningen1-0/+14
2007-05-14implement select, update and replace for 32 bit real arrays for IA32John van Groningen1-10/+29
2007-05-11instruction_code of register node should be GREGISTER, not P_REGISTERJohn van Groningen1-6/+6
2007-05-10rename IMOVEW as IMOVEDB,John van Groningen1-28/+496
add sincosR instruction for IA32, add 32 bit integer and real arrays for AI64
2006-05-01add ccall for 64 bit linuxJohn van Groningen1-2/+5
2006-05-01use int_64 instead of __int64, define int_64, include stdint.h on 64 bits linuxJohn van Groningen1-5/+9
2006-04-18fix previous revision by using IBLTU instead of IBLT for unsigned < whenJohn van Groningen1-5/+5
generating code for floating point branch
2006-03-24remove use of scratch register on IA32 for shift instructions (by addingJohn van Groningen1-102/+211
instruction with extra register), IScc, IFScc, IFBcc (by adding IFCcc instructions with extra register), ICMPW (not used anymore) prevent generating FLD and FSTP instructions between FCOMP and FNSTSW instruction
2006-01-20fix bugs in code generation for floating point computations for amd64John van Groningen1-1/+23
2006-01-10port to 64 bit windowsJohn van Groningen1-121/+442
2005-10-06use new apply and new descriptors for IA32,John van Groningen1-12/+98
add addLU and subLU instructions for IA32
2005-04-14add some optimizations for arrays of unboxed records:John van Groningen1-19/+46
on the PowerPC and Sparc if the offset!=0 and the index!=NULL the index now contains the address of array + the offset of the element, the offset computation of r_select can be reused by r_update, r_update tries to avoid unnecessary updates, r_replace recognizes floating point stores, and sometimes floating point loads
2005-01-19implement mulUUL and divLU instructions for IA32,John van Groningen1-7/+260
define acos, asin, exp, ln and log10 instructons only for M68000 platform, add code for jsr_ap and jmp_ap instructions (not yet enabled)
2005-01-13add divU for the PowerPCJohn van Groningen1-1/+1
2004-07-15add absR and negI for sparc, commit not yet used code for new array ↵John van Groningen1-63/+181
representation
2004-07-12implement absR, negI and faster not for the PowerPCJohn van Groningen1-3/+3
2004-07-12add absR, negI, unsigned compare, divU, remU and faster notJohn van Groningen1-23/+104
instructions for IA32 add loop optimization code (speeds up jmp to a cmp and branch instruction), not yet enabled
2004-06-11improve code generation for xor on processors other than the M68000John van Groningen1-0/+6
2004-04-23implement umulIIL instruction on the PowerPCJohn van Groningen1-0/+5
2003-05-16optimize remainder of non power of 2 constant for IA32John van Groningen1-3/+26
2003-05-13optimize remainder of power of 2 for ia32John van Groningen1-1/+1
2003-05-12cglin.cJohn van Groningen1-0/+7827