This is the mail archive of the gcc-help@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]