On Thu, 11 Sep 2025 21:16:28 GMT, Erik Joelsson <er...@openjdk.org> wrote:
>> SendaoYan has updated the pull request incrementally with one additional >> commit since the last revision: >> >> Create a seperate macro FLAGS_SETUP_SVE > > make/autoconf/flags-other.m4 line 167: > >> 165: fi >> 166: CFLAGS="$OLD_CFLAGS" >> 167: AC_LANG_POP(C) > > This part should be included in the `IF_ENABLED` block in `UTIL_ARG_ENABLE`. The `FLAGS_COMPILER_CHECK_ARGUMENTS` macro seem do not work normally in `IF_ENABLED:` block. The 'bash configure' command report "Internal error: Argument DEFAULT to UTIL_ARG_ENABLE can only be true, false or auto, was: ARG_DEFAULT". Below is the implementation. AC_DEFUN([FLAGS_SETUP_SVE], [ UTIL_ARG_ENABLE(NAME: aarch64-sve, DEFAULT: auto, RESULT: AARCH64_SVE_ENABLED, DESC: [Use SVE when compiling libsleef], AVAILABLE: false, CHECK_AVAILABLE: [ # Apple Silicon does not support SVE; use macOS as a proxy for that check. if test "x$OPENJDK_TARGET_CPU" = "xaarch64" && test "x$OPENJDK_TARGET_OS" = "xlinux"; then if test "x$TOOLCHAIN_TYPE" = xgcc || test "x$TOOLCHAIN_TYPE" = xclang; then # check the compiler and binutils support sve or not AC_MSG_CHECKING([if Arm SVE ACLE is supported]) AC_LANG_PUSH([C]) saved_cflags="$CFLAGS" saved_cc="$CC" CFLAGS="$CFLAGS -march=armv8-a+sve $CFLAGS_WARNINGS_ARE_ERRORS ARG_ARGUMENT" CC="$ARG_PREFIX[CC]" AC_COMPILE_IFELSE([AC_LANG_PROGRAM( [ #include <arm_sve.h> svfloat64_t a() {} ], [ svint32_t r = svdup_n_s32(1) ])], [AVAILABLE=true], [AVAILABLE=false] ) AC_MSG_RESULT([$AVAILABLE]) CC="$saved_cc" CFLAGS="$saved_cflags" AC_LANG_POP([C]) fi fi ], IF_ENABLED: [ SVE_CFLAGS="-march=armv8-a+sve" # Switching the initialization mode with gcc from 'pattern' to 'zero' # avoids the use of unsupported `__builtin_clear_padding` for variable # length aggregates if test "x$DEBUG_LEVEL" != xrelease && test "x$TOOLCHAIN_TYPE" = xgcc ; then AC_MSG_CHECKING([Switching the initialization mode with gcc from pattern to zero]) INIT_ZERO_FLAG="-ftrivial-auto-var-init=zero" FLAGS_COMPILER_CHECK_ARGUMENTS(ARGUMENT: [$INIT_ZERO_FLAG], IF_TRUE: [SVE_CFLAGS="${SVE_CFLAGS} $INIT_ZERO_FLAG"]) fi ] ) AC_SUBST(SVE_CFLAGS) ]) ------------- PR Review Comment: https://git.openjdk.org/jdk/pull/27073#discussion_r2343202947