[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