On Mon, 2 Nov 2026 16:08:28 GMT, Andrew Dinn <[email protected]> wrote:
>> To clarify, the Arm ARM does state that Advanced SIMD is OPTIONAL for Arm >> v8.0, however "standard operating systems" with "rich application >> environments" require Advanced SIMD. Anything that can run OpenJDK can be >> expected to have it.. The AAPCS64 explicitly requires Advanced SIMD, so any >> programs compiled against that can expect it. >> >> The UseIntPolyIntrinsics appears to add UMULL, UMULL2, which are standard >> and don't need to detect Advanced SIMD. >> >> Instructions that are specifically for cryptography (SHA, AES, SM3/4, PMULL) >> should be detected as they aren't guaranteed to be included. >> >> So I agree with the removal of this feature detection for Advanced SIMD, it >> is redundant. > > @stooart-mon Thanks for clarifying. Given that Linux and Windows on AArch64 > both assume AAPCS64 I think we can assume the ASIMD feature is present. In > the RFE mentioned above I recommended adding an assert that the feature is > present (extra braces to augment the security offered by that belt). @adinn agreed, we must assume ASIMD is present. It looks likely that Hotspot would crash before getting to detecting NEON, I see "movi v4.s, #0" executing before VM_Version::Initialize is executed, so I don't have a strong opinion on adding an assert. You could even detect whether "__ARM_NEON" had been defined at compile time and #error if it isn't present, but that would be probably going too far. ------------- PR Comment: https://git.openjdk.org/jdk/pull/33661#issuecomment-6584310591
