[LLVMbugs] [Bug 5927] New: error in backend: Cannot yet select

bugzilla-daemon at cs.uiuc.edu bugzilla-daemon at cs.uiuc.edu
Fri Jan 1 15:47:13 PST 2010


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

           Summary: error in backend: Cannot yet select
           Product: new-bugs
           Version: trunk
          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, chenyang at cs.utah.edu


Seen on Ubuntu 9.10 on x86.

regehr at john-home:~/volatile/bugs/tmp251$ clang -w -c -O small.c

fatal error: error in backend: Cannot yet select: 0xa773d8c: i32 = shl
0xa794d14,
      0xa794d98

regehr at john-home:~/volatile/bugs/tmp251$ clang -v

clang version 1.1 (trunk 92359)
Target: i386-pc-linux-gnu
Thread model: posix

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

typedef short int int16_t;
typedef int int32_t;
typedef unsigned char uint8_t;
typedef unsigned int uint32_t;
__extension__ typedef unsigned long long int uint64_t;

static int16_t
safe_mul_func_int16_t_s_s (int16_t si1, uint8_t si2)
{
  return si1 && si2 && si1 > 32767 + si2 || si1 && si2 <= 0 && si2 + si1
    || si1 && si2 && si1 < (1 / si2) || si1 && si2 <= 0 && si1
    && si2 + si1 ? : si1 * si2;
}

static uint8_t
safe_mul_func_uint8_t_u_u (uint8_t ui1, uint8_t ui2)
{
  return ui1 * ui2;
}

static uint32_t
safe_sub_func_uint64_t_u_u (uint64_t ui1, uint64_t ui2)
{
  return ui1 - ui2;
}

struct S1
{
  uint8_t f1;
};

uint8_t *volatile g_19;
uint8_t g_20;

struct S1 g_111 = {
};

void uint81 (void)
{
  uint8_t l;
  uint8_t **l_27 = &g_19;
  uint8_t *l_24 = &g_20;
  int32_t **l_139 = &l_24;
  uint8_t l_161 = 0xF2A7L;
  *l_27 =
    func_79 (&g_111.f1,
             &l < safe_sub_func_uint64_t_u_u (safe (1),
                                              safe_mul_func_int16_t_s_s
                                              (safe_mul_func_uint8_t_u_u
                                               (l_161,
                                                **l_139) ^ **l_27 == *l_24,
                                               0x30AC0004L)));
}


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