From f621f26cd113090a0305598cfc50f0eac9a263c6 Mon Sep 17 00:00:00 2001 From: Martin Doerr Date: Thu, 7 Nov 2024 22:11:34 +0000 Subject: [PATCH] 8343724: [PPC64] Disallow OptoScheduling Reviewed-by: rrich, mbaesken --- src/hotspot/cpu/ppc/c2_init_ppc.cpp | 18 +----------------- src/hotspot/cpu/ppc/vm_version_ppc.cpp | 22 ++++++++++++++++++++++ 2 files changed, 23 insertions(+), 17 deletions(-) diff --git a/src/hotspot/cpu/ppc/c2_init_ppc.cpp b/src/hotspot/cpu/ppc/c2_init_ppc.cpp index d15f880e413..e517cdf7de1 100644 --- a/src/hotspot/cpu/ppc/c2_init_ppc.cpp +++ b/src/hotspot/cpu/ppc/c2_init_ppc.cpp @@ -34,21 +34,5 @@ // Processor dependent initialization of C2 compiler for ppc. void Compile::pd_compiler2_init() { - - // Power7 and later. - if (PowerArchitecturePPC64 > 6) { - if (FLAG_IS_DEFAULT(UsePopCountInstruction)) { - FLAG_SET_ERGO(UsePopCountInstruction, true); - } - } - - if (!VM_Version::has_isel() && FLAG_IS_DEFAULT(ConditionalMoveLimit)) { - FLAG_SET_ERGO(ConditionalMoveLimit, 0); - } - - if (OptimizeFill) { - warning("OptimizeFill is not supported on this CPU."); - FLAG_SET_DEFAULT(OptimizeFill, false); - } - + guarantee(CodeEntryAlignment >= InteriorEntryAlignment, ""); } diff --git a/src/hotspot/cpu/ppc/vm_version_ppc.cpp b/src/hotspot/cpu/ppc/vm_version_ppc.cpp index 20578ed3b8b..37e15548b4f 100644 --- a/src/hotspot/cpu/ppc/vm_version_ppc.cpp +++ b/src/hotspot/cpu/ppc/vm_version_ppc.cpp @@ -110,6 +110,17 @@ void VM_Version::initialize() { FLAG_SET_ERGO(TrapBasedRangeChecks, false); } + // Power7 and later. + if (PowerArchitecturePPC64 > 6) { + if (FLAG_IS_DEFAULT(UsePopCountInstruction)) { + FLAG_SET_ERGO(UsePopCountInstruction, true); + } + } + + if (!VM_Version::has_isel() && FLAG_IS_DEFAULT(ConditionalMoveLimit)) { + FLAG_SET_ERGO(ConditionalMoveLimit, 0); + } + if (PowerArchitecturePPC64 >= 8) { if (FLAG_IS_DEFAULT(SuperwordUseVSX)) { FLAG_SET_ERGO(SuperwordUseVSX, true); @@ -169,6 +180,17 @@ void VM_Version::initialize() { FLAG_SET_DEFAULT(UseByteReverseInstructions, false); } } + + if (OptimizeFill) { + warning("OptimizeFill is not supported on this CPU."); + FLAG_SET_DEFAULT(OptimizeFill, false); + } + + if (OptoScheduling) { + // The OptoScheduling information is not maintained in ppd.ad. + warning("OptoScheduling is not supported on this CPU."); + FLAG_SET_DEFAULT(OptoScheduling, false); + } #endif // Create and print feature-string.