Commit Graph

10 Commits

Author SHA1 Message Date
florian
c7290bfb78 * enclose {$define DEBUG_AOPTCPU} in {$ifdef EXTDEBUG} 2025-03-10 22:50:49 +01:00
florian
b2f6214b33 + a_bit_scan_reg_reg gets a flag if src cannot be zero: this simplifies the generated code 2025-02-08 14:27:48 +01:00
Jinyang He
d1c3ba96f2 LoongArch: Always emit la.got for global symbol 2025-01-15 14:41:18 +08:00
Pierre Muller
462d0eb07c Restrict use of A_MOVE to ufromsize and utosize = OS_INT. (contributed by Jinyang He)
Fix issue #40648
2024-02-18 20:18:50 +00:00
florian
421d67556a + set pi_do_call on loongarch64 as well if we check for fpu exceptions 2024-02-15 22:47:31 +01:00
Pierre Muller
e8a03ac8bc Try to fix crash in loongarch64 compiler
loongarch64 compiler has a specific routine,
  called fixupref that generates some instructions that are
  stored into a tasmlist given as an input parameter.
  This function returns a boolean,
  if the return value is false, the populated list gets
  sometimes discarded.
  This can lead to a later crash, because the unused
  and freed instructions might have been stored
  in live and live_end fields of the reginfo record
  used inside rgobj unit.

  The fix checks if any of the to be discarded instructions
  has been stored inside reginfo records,
  and resets the field in that case.

  The fix might need to be more general,
  because other parts of the compiler,
  like all optimization code, also remove
  instructions...
2023-09-26 18:18:04 +00:00
Pierre Muller
22a1acd610 Applied fix for binutils 2.41 for loongarch64 suggested by Jinyang He
32fa3e9eb1
  with modifications reported in comments.
2023-08-11 08:58:40 +00:00
florian
6e84ee5806 * patch by Jinyang He to fix building loongarch64 with -Oodfa/-O4 2023-02-06 22:26:02 +01:00
Jinyang He
3d2c96ebbf Add loongarch64 linux support to compiler 2023-02-05 19:18:48 +00:00
Jinyang He
12c4290ffe Add loongarch64 architecture support to compiler 2023-02-05 19:18:48 +00:00