From 1fa83a91abb262f6acfcef71e3976ac427dd830c Mon Sep 17 00:00:00 2001
From: florian <florian@freepascal.org>
Date: Sat, 11 May 2024 23:41:33 +0200
Subject: [PATCH]   + cs_opt_consts for sparc64

---
 compiler/optcse.pas          | 4 ++--
 compiler/sparc64/cpuinfo.pas | 2 +-
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/compiler/optcse.pas b/compiler/optcse.pas
index 5f4209e3e8..f9bb0b4403 100644
--- a/compiler/optcse.pas
+++ b/compiler/optcse.pas
@@ -608,9 +608,9 @@ unit optcse;
         Result:=(n.nodetype=loadn) and (tloadnode(n).symtableentry.typ=staticvarsym)
           and ((vo_is_thread_var in tstaticvarsym(tloadnode(n).symtableentry).varoptions) or
             (cs_create_pic in current_settings.moduleswitches)
-{$if defined(aarch64) or defined(sparc)}
+{$if defined(aarch64) or defined(sparc) or defined(sparc64)}
             or (not(tabstractvarsym(tloadnode(n).symtableentry).is_regvar(false)))
-{$endif defined(aarch64) or defined(sparc)}
+{$endif defined(aarch64) or defined(sparc) or defined(sparc64)}
            );
       end;
 
diff --git a/compiler/sparc64/cpuinfo.pas b/compiler/sparc64/cpuinfo.pas
index 9335ecef6a..917109fde9 100644
--- a/compiler/sparc64/cpuinfo.pas
+++ b/compiler/sparc64/cpuinfo.pas
@@ -103,7 +103,7 @@ Const
 
    level1optimizerswitches = genericlevel1optimizerswitches;
    level2optimizerswitches = genericlevel2optimizerswitches + level1optimizerswitches + 
-     [{$ifndef llvm}cs_opt_regvar,{$endif}cs_opt_tailrecursion,cs_opt_nodecse];
+     [{$ifndef llvm}cs_opt_regvar,{$endif}cs_opt_tailrecursion,cs_opt_nodecse,cs_opt_consts];
    level3optimizerswitches = genericlevel3optimizerswitches + level2optimizerswitches;
    level4optimizerswitches = genericlevel4optimizerswitches + level3optimizerswitches + [];