[LLVMbugs] [Bug 2748] New: ice: Invalid extra_subreg instruction!

bugzilla-daemon at cs.uiuc.edu bugzilla-daemon at cs.uiuc.edu
Mon Sep 1 16:32:46 PDT 2008


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

           Summary: ice: Invalid extra_subreg 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 on r55609 on Ubuntu Hardy on ia32.

regehr at john-home:~/volatile/tmp20$ llvm-gcc -Os small.c
small.c:30: warning: overflow in implicit constant conversion
cc1: SimpleRegisterCoalescing.cpp:1032: bool
llvm::SimpleRegisterCoalescing::JoinCopy(llvm::CopyRec&, bool&): Assertion
`RealDstReg && "Invalid extra_subreg instruction!"' failed.
small.c:50: 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/tmp20$ cat small.c

typedef short int int16_t;
typedef int int32_t;
typedef unsigned char uint8_t;
typedef unsigned short int uint16_t;
__extension__ typedef unsigned long long int uint64_t;
static inline int
rshift_s_s (int left, int right)
{
  return left >> right;
}
static inline uint16_t
safe_mod_uint8_t_u_u (uint8_t ui1, uint8_t ui2)
{
  if (ui2)
    return ui1;
  return ui1 % ui2;
}
static inline uint16_t
safe_sub_uint16_t_u_u (uint16_t ui1, uint16_t ui2)
{
}
static inline uint64_t
safe_sub_uint64_t_u_u (uint64_t ui1, uint64_t ui2)
{
  return ui1 - ui2;
}

int32_t g_5;
uint16_t g_24;
int32_t g_73 = 0x2F47D66A4358B9E0LL;
int32_t
func_2 (int32_t p_4)
{
  return g_5;
}

int32_t
func_44 (int16_t p_46)
{
  int32_t l_47;
  func_48 ((0xE1705295536CB472LL
            &&
            (safe_mod_uint8_t_u_u
             ((safe_sub_uint64_t_u_u
               ((safe_sub_uint16_t_u_u (l_47, 1)), p_46)), g_73))),
           (rshift_s_s (func_2 (1), 1)) > 1,
           (safe_div_int32_t_s_s
            (p_46,
             (safe_sub_uint8_t_u_u ((safe_mod_uint8_t_u_u (g_24, 1)), 1)))));
}


-- 
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