-
Notifications
You must be signed in to change notification settings - Fork 1.6k
Open
Description
Hello,
I am encountering a build failure when compiling OpenBLAS with Clang 21.1.8, targeting SKYLAKE and using AddressSanitizer. The specific error occurs when building the strsm_kernel_LT.c.o target.
Steps to reproduce:
cmake -G Ninja -DCMAKE_CXX_COMPILER=/opt/clang-21.1.8/bin/clang++ -DTARGET=SKYLAKE -DCCOMMON_OPT="-fsanitize=address" ..
ninja -- kernel/CMakeFiles/kernel.dir/CMakeFiles/strsm_kernel_LT.c.oError message:
OpenBLAS/build_clang21/kernel/CMakeFiles/strsm_kernel_LT.c'
In file included from /home/[nicola.rossi@mavensecurities.com/fix_openmp_clang_ims/OpenBLAS/build_clang21/kernel/CMakeFiles/strsm_kernel_LT.c:9](http://nicola.rossi@mavensecurities.com/fix_openmp_clang_ims/OpenBLAS/build_clang21/kernel/CMakeFiles/strsm_kernel_LT.c:9):
/home/[nicola.rossi@mavensecurities.com/fix_openmp_clang_ims/OpenBLAS/kernel/x86_64/strsm_kernel_8x4_haswell_LT.c:221:32](http://nicola.rossi@mavensecurities.com/fix_openmp_clang_ims/OpenBLAS/kernel/x86_64/strsm_kernel_8x4_haswell_LT.c:221:32): error: inline assembly requires more registers than available
221 | for(;n_count>11;n_count-=12) COMPUTE(12)
| ^
/home/[nicola.rossi@mavensecurities.com/fix_openmp_clang_ims/OpenBLAS/kernel/x86_64/strsm_kernel_8x4_haswell_LT.c:160:5](http://nicola.rossi@mavensecurities.com/fix_openmp_clang_ims/OpenBLAS/kernel/x86_64/strsm_kernel_8x4_haswell_LT.c:160:5): note: expanded from macro 'COMPUTE'
160 | "movq %0,%%r15; movq %1,%%r14; movq %7,%%r13; movq %6,%%r12; salq $2,%%r12; movq %10,%%r11;"
It appears that the inline assembly in strsm_kernel_8x4_haswell_LT.c is requesting more registers than are available when compiling with Clang 21 as C compiler and with AddressSanitizer enabled.
Additional information:
- Compiler: Clang 21.1.8
- AddressSanitizer enabled via -fsanitize=address
- Target: HASWELL
Is there a known workaround or fix for this issue? Any advice for making this kernel build successfully with ASan enabled would be much appreciated.
Thank you!
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels