------- Comment #15 from steven at gcc dot gnu dot org  2005-10-28 16:59 -------
The trouble appears to come from this:

    case V16QImode:
    case V8HImode:
    case V4SFmode:
    case V4SImode:
    case V4HImode:
    case V2SFmode:
    case V2SImode:
    case V1DImode:
      if (CONSTANT_P (operands[1])
          && !easy_vector_constant (operands[1], mode))
        operands[1] = force_const_mem (mode, operands[1]);
      break;

We get here with:
Breakpoint 14, rs6000_emit_move (dest=0x4010e7f8, source=0x40110670,
mode=V16QImode)
    at rs6000.c:3867
3867          if (CONSTANT_P (operands[1])
(gdb) p debug_rtx(dest)
(reg:V16QI 77 0)
$3 = void
(gdb) p debug_rtx(source)
(const_vector:V16QI [
        (const_int 0 [0x0])
        (const_int 5 [0x5])
        (const_int 0 [0x0])
        (const_int 5 [0x5])
        (const_int 0 [0x0])
        (const_int 5 [0x5])
        (const_int 0 [0x0])
        (const_int 5 [0x5])
        (const_int 0 [0x0])
        (const_int 5 [0x5])
        (const_int 0 [0x0])
        (const_int 5 [0x5])
        (const_int 0 [0x0])
        (const_int 5 [0x5])
        (const_int 0 [0x0])
        (const_int 5 [0x5])
    ])
$4 = void
(gdb)   


And we go to emit_set with:
(gdb) p debug_rtx (operands[0])
(reg:V16QI 77 0)
$5 = void
(gdb) p debug_rtx (operands[1])
(mem/u/c/i:V16QI (symbol_ref/u:SI ("*.LC0") [flags 0x2]) [0 S16 A128])
$6 = void
(gdb)   


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24230

Reply via email to