Hi
while compiling magma 1.7 or 2.0 on arm64 platform i m facing this error
sparse-iter/src/ccg_res.cpp: In function ‘magma_int_t magma_ccg_res(magma_c_matrix, magma_c_matrix, magma_c_matrix*, magma_c_solver_par*, magma_queue_t)’:
sparse-iter/src/ccg_res.cpp:209:1: error: insn does not satisfy its constraints:
} /* magma_ccg */
^
(insn 1160 16 17 33 (set (reg:SF 1 x1)
(const_double:SF 1.0e+0 [0x0.8p+1])) sparse-iter/src/ccg_res.cpp:71 37 {*movsf_aarch64}
(nil))
sparse-iter/src/ccg_res.cpp:209:1: internal compiler error: in reload_cse_simplify_operands, at postreload.c:411
Please submit a full bug report,
with preprocessed source if appropriate.
See <file:///usr/share/doc/gcc-4.8/README.Bugs> for instructions.
sparse-iter/src/cbicgstab_merge.cpp: In function ‘magma_int_t magma_cbicgstab_merge(magma_c_matrix, magma_c_matrix, magma_c_matrix*, magma_c_solver_par*, magma_queue_t)’:
sparse-iter/src/cbicgstab_merge.cpp:257:1: error: insn does not satisfy its constraints:
} /* magma_cbicgstab_merge */
^
(insn 1297 483 10 19 (set (reg:SF 1 x1)
(const_double:SF 1.0e+0 [0x0.8p+1])) sparse-iter/src/cbicgstab_merge.cpp:96 37 {*movsf_aarch64}
(nil))
sparse-iter/src/cbicgstab_merge.cpp:257:1: internal compiler error: in reload_cse_simplify_operands, at postreload.c:411
Please submit a full bug report,
with preprocessed source if appropriate.
See <file:///usr/share/doc/gcc-4.8/README.Bugs> for instructions.
sparse-iter/src/cqmr_merge.cpp:394:1: internal compiler error: in reload_cse_simplify_operands, at postreload.c:411
sparse-iter/src/cqmr.cpp: In function ‘magma_int_t magma_cqmr(magma_c_matrix, magma_c_matrix, magma_c_matrix*, magma_c_solver_par*, magma_queue_t)’:
sparse-iter/src/cqmr.cpp:360:1: error: insn does not satisfy its constraints:
} /* magma_cqmr */
^
(insn 3651 12 14 35 (set (reg:SF 0 x0)
(const_double:SF -1.0e+0 [-0x0.8p+1])) sparse-iter/src/cqmr.cpp:72 37 {*movsf_aarch64}
(nil))
sparse-iter/src/cqmr.cpp:360:1: internal compiler error: in reload_cse_simplify_operands, at postreload.c:411
Please submit a full bug report,
with preprocessed source if appropriate.
See <file:///usr/share/doc/gcc-4.8/README.Bugs> for instructions.
sparse-iter/src/ctfqmr.cpp: In function ‘magma_int_t magma_ctfqmr(magma_c_matrix, magma_c_matrix, magma_c_matrix*, magma_c_solver_par*, magma_queue_t)’:
sparse-iter/src/ctfqmr.cpp:267:1: error: insn does not satisfy its constraints:
} /* magma_ctfqmr */
^
(insn 2114 667 12 23 (set (reg:SF 1 x1)
(const_double:SF 1.0e+0 [0x0.8p+1])) sparse-iter/src/ctfqmr.cpp:73 37 {*movsf_aarch64}
(nil))
sparse-iter/src/ctfqmr.cpp:267:1: internal compiler error: in reload_cse_simplify_operands, at postreload.c:411
Please submit a full bug report,
with preprocessed source if appropriate.
See <file:///usr/share/doc/gcc-4.8/README.Bugs> for instructions.
how can i handle this situation. is arm64 a supported platform ? is this a gcc bug ?
thanks for your advice
magma on arm64 gcc-4.8
Re: magma on arm64 gcc-4.8
It appears that the issue is in compiling the sparse routines. Do you need sparse linear algebra, or just dense linear algebra routines? Can you compile just the dense routines (skipping the sparse linear algebra)? Using:
make lib
make test
That should create lib/libmagma.a, lib/libmagma.so (if you have FPIC set), and testing/testing_* testers.
To try compiling the sparse routines:
make sparse-lib
make sparse-test
Also, can you post your make.inc file, which shows us how you are setup.
We have not done extensive testing on ARM platforms.
-mark
make lib
make test
That should create lib/libmagma.a, lib/libmagma.so (if you have FPIC set), and testing/testing_* testers.
To try compiling the sparse routines:
make sparse-lib
make sparse-test
Also, can you post your make.inc file, which shows us how you are setup.
We have not done extensive testing on ARM platforms.
-mark