[Bug target/88778] Odd Complex value load

crazylht at gmail dot com gcc-bugzilla@gcc.gnu.org
Fri Jan 11 18:10:00 GMT 2019


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88778

--- Comment #4 from 刘袋鼠 <crazylht at gmail dot com> ---
Currently _Complex is classified as SSE_REG_CLASS, and need two 2 hardreg to
handle it. We may need to handle things like TARGET_HARD_REGNO_MODE_OK in
backend. So that ira can work suitable for our complex operation.

static int
classify_argument (machine_mode mode, const_tree type,
                   enum x86_64_reg_class classes[MAX_CLASSES], int bit_offset)
...
    case E_SCmode:
      classes[0] = X86_64_SSE_CLASS;
...


static unsigned int
ix86_hard_regno_nregs (unsigned int regno, machine_mode mode)
{
...
  if (COMPLEX_MODE_P (mode))
    return 2;
...
}


More information about the Gcc-bugs mailing list