This is the mail archive of the
gcc-help@gcc.gnu.org
mailing list for the GCC project.
CDImode in reg
- From: Aurelien Buhrig <aurelien dot buhrig dot gcc at gmail dot com>
- To: gcc-help at gcc dot gnu dot org
- Date: Tue, 4 Oct 2011 11:33:38 +0200
- Subject: CDImode in reg
Hi,
I'm trying to get the gcc testsuite passing for my new target port.
The last ICE deals with complex long long (gcc.c-torture/compile/20000804-1.c).
My target has 16-bit wide int, and regs can hold DImode max.
code:
__complex__ long long v;
asm("": "+r" (v) : "r" (0), "r" (1));
Is such the testcase an expected fail or not ?
Operations on complex are often split into DI operations. But the
target cannot hold a whole CDI into one register, but could hold 2 DI
into 2 distinct DI regs.
If it is an xfail, is there a way handle such a case at higher level
to prevent an ICE and generate a more user friendly error message ?
If it is a fail, I have no idea how to fix this (pb with
init_move_cost(CDImode), with a gcc_assert
(have_regs_of_mode[CDImode]))
Thanks,
Aurélien