[LLVMbugs] [Bug 2775] New: ice: invalid register-register move instruction

bugzilla-daemon at cs.uiuc.edu bugzilla-daemon at cs.uiuc.edu
Sat Sep 6 08:52:19 PDT 2008


http://llvm.org/bugs/show_bug.cgi?id=2775

           Summary: ice: invalid register-register move instruction
           Product: new-bugs
           Version: unspecified
          Platform: PC
        OS/Version: Linux
            Status: NEW
          Severity: normal
          Priority: P2
         Component: new bugs
        AssignedTo: unassignedbugs at nondot.org
        ReportedBy: regehr at cs.utah.edu
                CC: llvmbugs at cs.uiuc.edu


Seen using r55870 on Ubuntu Hardy on ia32.

regehr at john-home:~/volatile/tmp25$ llvm-gcc -Os small.c
cc1: X86InstrInfo.cpp:684: virtual bool llvm::X86InstrInfo::isMoveInstr(const
llvm::MachineInstr&, unsigned int&, unsigned int&) const: Assertion
`MI.getNumOperands() >= 2 && MI.getOperand(0).isRegister() &&
MI.getOperand(1).isRegister() && "invalid register-register move instruction"'
failed.
small.c:47: internal compiler error: Aborted
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://developer.apple.com/bugreporter> for instructions.

regehr at john-home:~/volatile/tmp25$ cat small.c

typedef int int32_t;
typedef unsigned char uint8_t;
typedef unsigned int uint32_t;
static inline unsigned int
lshift_u_s (unsigned int left, int right)
{
  return left << right;
}
static inline unsigned int
rshift_u_u (unsigned int left, unsigned int right)
{
  return left >> right;
}
static inline unsigned long int
mod_rhs (long int rhs)
{
  return rhs;
}

uint32_t g_3;
uint8_t g_59;
uint32_t g_75;
uint32_t g_80;
uint32_t g_159;
int32_t func_93 (uint8_t p_94);
uint32_t
func_58 (uint8_t p_60, uint32_t p_61, uint8_t p_63)
{
  uint32_t l_170;
  uint32_t l_180 = 7L;
  for (l_170 = 0; (l_170 == 0); l_170 -= 1)
    if ((1 % mod_rhs (((l_180 > (0 || g_159)) || g_3))))
      l_180 = 1;
  func_93 ((mod_rhs (rshift_u_u (p_61, p_63))));
  if (func_39 (1))
    g_80 = (((p_63 & func_93 (1)) * (lshift_u_s (p_63, l_180))));
}

int32_t
func_93 (uint8_t p_94)
{
  if (p_94)
    return g_59;
  for (0; 1; g_75--)
    {
    }
}


-- 
Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.



More information about the llvm-bugs mailing list