Skip to content

AIX build broken with OpenXL (ibm-clang) #5467

@ayappanec

Description

@ayappanec
/opt/IBM/openxlC/17.1.2/bin/ibm-clang_r -c -O2 -DSMALL_MATRIX_OPT -DGEMM_GEMV_FORWARD -DSBGEMM_GEMV_FORWARD -DMAX_STACK_ALLOC=2048 -fopenmp -DHAVE_P10_SUPPORT -Wall -DF_INTERFACE_IBM -fPIC -DDYNAMIC_ARCH -DSMP_SERVER -DUSE_OPENMP -DNO_WARMUP -DMAX_CPU_NUMBER=16 -DMAX_PARALLEL_NUMBER=1 -DBUILD_BFLOAT16 -DBUILD_SINGLE=1 -DBUILD_DOUBLE=1 -DBUILD_COMPLEX=1 -DBUILD_COMPLEX16=1 -DVERSION=\"0.3.30.dev\" -O3 -mcpu=power8 -mtune=power8 -mvsx  -fno-fast-math -DUSE_OPENMP -fopenmp -fno-integrated-as -m64 -UASMNAME -UASMFNAME -UNAME -UCNAME -UCHAR_NAME -UCHAR_CNAME -DASMNAME=zasum_k_POWER8 -DASMFNAME=zasum_k_POWER8_ -DNAME=zasum_k_POWER8_ -DCNAME=zasum_k_POWER8 -DCHAR_NAME=\"zasum_k_POWER8_\" -DCHAR_CNAME=\"zasum_k_POWER8\" -DNO_AFFINITY -DTS=_POWER8 -I.. -DBUILD_KERNEL -DTABLE_NAME=gotoblas_POWER8 -DDOUBLE  -DCOMPLEX -DCOMPLEX -DDOUBLE ../kernel/power/zasum.c -o zasum_k_POWER8.o

In file included from ../kernel/power/zasum.c:51:
../kernel/power/zasum_microk_power8.c:158:8: error: expected ')'
  158 |        "b" (16),        // 8
      |        ^
1 error generated.
make[1]: *** [Makefile.L1:738: zasum_k_POWER8.o] Error 1
make[1]: *** Waiting for unfinished jobs....
1 warning generated.
Assertion failed: IsValid && "Failed to parse output constraint", file  clang/lib/CodeGen/CGStmt.cpp, line 2438, void clang::CodeGen::CodeGenFunction::EmitAsmStmt(const clang::AsmStmt &)()
PLEASE submit a bug report to https://ibm.biz/openxlcpp-support and include the crash backtrace, preprocessed source, and associated run script.
Stack dump:
0.	Program arguments: /opt/IBM/openxlC/17.1.2/bin/.ibm-clang.orig -cc1 -triple powerpc64-ibm-aix7.2.0.0 -S -disable-free -clear-ast-before-backend -main-file-name zcopy.c -mrelocation-model pic -pic-level 2 -mframe-pointer=none -fmath-errno -ffp-contract=on -fno-rounding-math -no-integrated-as -mconstructor-aliases -fxl-pragma-pack -fno-err-pragma-mc-func-aix -target-cpu pwr8 -target-feature +vsx -tune-cpu pwr8 -mfloat-abi hard -gstrict-dwarf -gno-column-info -fno-dwarf-directory-asm -fdata-sections -fcoverage-compilation-dir=/home/buildusr/jenkins/workspace/OpenBLAS-openxl/OpenBLAS/kernel -resource-dir /opt/IBM/openxlC/17.1.2/lib/clang/17 -D SMALL_MATRIX_OPT -D GEMM_GEMV_FORWARD -D SBGEMM_GEMV_FORWARD -D MAX_STACK_ALLOC=2048 -D HAVE_P10_SUPPORT -D F_INTERFACE_IBM -D DYNAMIC_ARCH -D SMP_SERVER -D USE_OPENMP -D NO_WARMUP -D MAX_CPU_NUMBER=16 -D MAX_PARALLEL_NUMBER=1 -D BUILD_BFLOAT16 -D BUILD_SINGLE=1 -D BUILD_DOUBLE=1 -D BUILD_COMPLEX=1 -D BUILD_COMPLEX16=1 -D VERSION=\"0.3.30.dev\" -D USE_OPENMP -U ASMNAME -U ASMFNAME -U NAME -U CNAME -U CHAR_NAME -U CHAR_CNAME -D ASMNAME=zcopy_k_POWER8 -D ASMFNAME=zcopy_k_POWER8_ -D NAME=zcopy_k_POWER8_ -D CNAME=zcopy_k_POWER8 -D CHAR_NAME=\"zcopy_k_POWER8_\" -D CHAR_CNAME=\"zcopy_k_POWER8\" -D NO_AFFINITY -D TS=_POWER8 -I .. -D BUILD_KERNEL -D TABLE_NAME=gotoblas_POWER8 -D DOUBLE -D COMPLEX -D COMPLEX -D DOUBLE -D C_INTERFACE -internal-isystem /opt/IBM/openxlC/17.1.2/lib/clang/17/include/ppc_wrappers -internal-isystem /opt/IBM/openxlC/17.1.2/lib/clang/17/include -internal-isystem /opt/IBM/openxlC/17.1.2/bin/../include/openmp -internal-isystem /usr/include -internal-isystem /opt/IBM/xlmass/10.1.1/include -O3 -Wall -fdebug-compilation-dir=/home/buildusr/jenkins/workspace/OpenBLAS-openxl/OpenBLAS/kernel -ferror-limit 19 -fopenmp -pthread -fno-signed-char -fno-use-cxa-atexit -fgnuc-version=4.2.1 -mnocsect -fexec-charset UTF-8 -vectorize-loops -vectorize-slp -o /tmp/zcopy-39816a.s -x c ../kernel/power/zcopy.c
1.	<eof> parser at end of file
2.	Per-file LLVM IR generation
3.	../kernel/power/zcopy_microk_power8.c:38:13: Generating code for declaration 'zcopy_kernel_16'
  Offset 0x000000c0 pthread_kill
  Offset 0x00000048 _p_raise
  Offset 0x0000004c raise
  Offset 0x000000bc abort
  Offset 0x0000027c __assert_c99
  Offset 0x000049f8 clang::CodeGen::CodeGenFunction::EmitAsmStmt(clang::AsmStmt const&)
  Offset 0x00000260 clang::CodeGen::CodeGenFunction::EmitStmt(clang::Stmt const*, llvm::ArrayRef<clang::Attr const*>)
  Offset 0x000002ac clang::CodeGen::CodeGenFunction::EmitCompoundStmtWithoutScope(clang::CompoundStmt const&, bool, clang::CodeGen::AggValueSlot)
  Offset 0x00000844 clang::CodeGen::CodeGenFunction::GenerateCode(clang::GlobalDecl, llvm::Function*, clang::CodeGen::CGFunctionInfo const&)
  Offset 0x00000204 clang::CodeGen::CodeGenModule::EmitGlobalFunctionDefinition(clang::GlobalDecl, llvm::GlobalValue*)
  Offset 0x00000288 clang::CodeGen::CodeGenModule::EmitGlobalDefinition(clang::GlobalDecl, llvm::GlobalValue*)
  Offset 0x00000364 clang::CodeGen::CodeGenModule::EmitDeferred() (.599_rfcloned)
  Offset 0x00000390 clang::CodeGen::CodeGenModule::EmitDeferred()
  Offset 0x00000090 clang::CodeGen::CodeGenModule::Release()
  Offset 0x0000007c (anonymous namespace)::CodeGeneratorImpl::HandleTranslationUnit(clang::ASTContext&)
  Offset 0x00000128 clang::BackendConsumer::HandleTranslationUnit(clang::ASTContext&)
  Offset 0x00000370 clang::ParseAST(clang::Sema&, bool, bool)
  Offset 0x00000100 clang::ASTFrontendAction::ExecuteAction()
  Offset 0x0000026c clang::CodeGenAction::ExecuteAction()
  Offset 0x000000bc clang::FrontendAction::Execute()
  Offset 0x00000508 clang::CompilerInstance::ExecuteAction(clang::FrontendAction&)
  Offset 0x00000320 clang::ExecuteCompilerInvocation(clang::CompilerInstance*)
  Offset 0x00000690 cc1_main(llvm::ArrayRef<char const*>, char const*, void*)
  Offset 0x000001c4 ExecuteCC1Tool(llvm::SmallVectorImpl<char const*>&, llvm::ToolContext const&)
  Offset 0x00002c80 clang_main(int, char**, llvm::ToolContext const&)
  Offset 0x00000028 main

  --- End of call chain ---
../kernel/power/zdot.c:41:13: warning: unknown pragma ignored [-Wunknown-pragmas]
   41 | #pragma GCC optimize "O1"
      |             ^
In file included from ../kernel/power/zdot.c:42:
../kernel/power/zdot_microk_power8.c:189:26: error: expected expression
  189 |        "=m" (*(double) (*)[4]) dot),
      |                          ^
../kernel/power/zdot_microk_power8.c:189:27: error: expected ')'
  189 |        "=m" (*(double) (*)[4]) dot),
      |                           ^
../kernel/power/zdot_microk_power8.c:189:13: note: to match this '('
  189 |        "=m" (*(double) (*)[4]) dot),
      |             ^
../kernel/power/zdot_microk_power8.c:189:36: error: expected expression
  189 |        "=m" (*(double) (*)[4]) dot),
      |                                    ^
../kernel/power/zdot_microk_power8.c:190:13: error: called object type 'char[3]' is not a function or function pointer
  190 |        "+r" (n),        // 1
      |        ~~~~ ^
../kernel/power/zdot_microk_power8.c:191:13: error: called object type 'char[3]' is not a function or function pointer
  191 |        "+b" (x),        // 2
      |        ~~~~ ^
../kernel/power/zdot_microk_power8.c:192:13: error: called object type 'char[3]' is not a function or function pointer
  192 |        "+b" (y)         // 3
      |        ~~~~ ^
1 warning and 6 errors generated.
make[1]: *** [Makefile.L1:854: zdotc_k_POWER8.o] Error 1
../kernel/power/../arm/znrm2.c:65:8: warning: absolute value function 'abs' given an argument of type 'BLASLONG' (aka 'long') but has parameter of type 'int' which may cause truncation of value [-Wabsolute-value]
   65 |         while(abs(i) < abs(n))
      |               ^
../kernel/power/../arm/znrm2.c:65:8: note: use function 'labs' instead
   65 |         while(abs(i) < abs(n))
      |               ^~~
      |               labs
../kernel/power/../arm/znrm2.c:65:17: warning: absolute value function 'abs' given an argument of type 'BLASLONG' (aka 'long') but has parameter of type 'int' which may cause truncation of value [-Wabsolute-value]
   65 |         while(abs(i) < abs(n))
      |                        ^
../kernel/power/../arm/znrm2.c:65:17: note: use function 'labs' instead
   65 |         while(abs(i) < abs(n))
      |                        ^~~
      |                        labs
../kernel/power/zdot.c:41:13: warning: unknown pragma ignored [-Wunknown-pragmas]
   41 | #pragma GCC optimize "O1"
      |             ^
In file included from ../kernel/power/zdot.c:42:
../kernel/power/zdot_microk_power8.c:189:26: error: expected expression
  189 |        "=m" (*(double) (*)[4]) dot),
      |                          ^
../kernel/power/zdot_microk_power8.c:189:27: error: expected ')'
  189 |        "=m" (*(double) (*)[4]) dot),
      |                           ^
../kernel/power/zdot_microk_power8.c:189:13: note: to match this '('
  189 |        "=m" (*(double) (*)[4]) dot),
      |             ^
../kernel/power/zdot_microk_power8.c:189:36: error: expected expression
  189 |        "=m" (*(double) (*)[4]) dot),
      |                                    ^
../kernel/power/zdot_microk_power8.c:190:13: error: called object type 'char[3]' is not a function or function pointer
  190 |        "+r" (n),        // 1
      |        ~~~~ ^
../kernel/power/zdot_microk_power8.c:191:13: error: called object type 'char[3]' is not a function or function pointer
  191 |        "+b" (x),        // 2
      |        ~~~~ ^
../kernel/power/zdot_microk_power8.c:192:13: error: called object type 'char[3]' is not a function or function pointer
  192 |        "+b" (y)         // 3
      |        ~~~~ ^
1 warning and 6 errors generated.
2 warnings generated.
make[1]: *** [Makefile.L1:851: zdotu_k_POWER8.o] Error 1
../kernel/power/zscal.c:39:13: warning: unknown pragma ignored [-Wunknown-pragmas]
   39 | #pragma GCC optimize "O1"
      |             ^
.ibm-clang: error: unable to execute command: IOT/Abort trap
.ibm-clang: error: clang frontend command failed due to signal (use -v to see invocation)
IBM Open XL C/C++ for AIX 17.1.2 (5725-C72, 5765-J18), version 17.1.2.12, clang version 17.0.6 (build 038d167 038d1671f9374f6559080fed073ed8837f9b34ff)
Target: powerpc64-ibm-aix7.2.0.0
Thread model: posix
InstalledDir: /opt/IBM/openxlC/17.1.2/bin
1 warning generated.
.ibm-clang: note: diagnostic msg: 
********************

PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT:
Preprocessed source(s) and associated run script(s) are located at:
.ibm-clang: note: diagnostic msg: /tmp/zcopy-7066a3.c
.ibm-clang: note: diagnostic msg: /tmp/zcopy-7066a3.sh
.ibm-clang: note: diagnostic msg: 

********************
make[1]: *** [Makefile.L1:803: zcopy_k_POWER8.o] Error 1
make[1]: Leaving directory '/home/buildusr/jenkins/workspace/OpenBLAS-openxl/OpenBLAS/kernel'
make: *** [Makefile:208: libs] Error 1
Build step 'Execute shell' marked build as failure

This looks to be happening after #5448

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions