[LLVMbugs] [Bug 6861] New: possibly bogus asm generation on x64
bugzilla-daemon at llvm.org
bugzilla-daemon at llvm.org
Sat Apr 17 19:54:50 PDT 2010
http://llvm.org/bugs/show_bug.cgi?id=6861
Summary: possibly bogus asm generation on x64
Product: new-bugs
Version: trunk
Platform: PC
OS/Version: Linux
Status: NEW
Severity: normal
Priority: P
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
[regehr at gamow tmp404]$ clang -O2 small.c -c -w
/tmp/cc-ETcUQX.s: Assembler messages:
/tmp/cc-ETcUQX.s:40: Error: suffix or operands invalid for `movsbq'
/tmp/cc-ETcUQX.s:41: Error: suffix or operands invalid for `movq'
/tmp/cc-ETcUQX.s:44: Error: suffix or operands invalid for `xor'
/tmp/cc-ETcUQX.s:49: Error: Incorrect register `%esi' used with `q' suffix
/tmp/cc-ETcUQX.s:51: Error: Incorrect register `%esi' used with `q' suffix
clang: error: assembler command failed with exit code 1 (use -v to see
invocation)
[regehr at gamow tmp404]$ cat small.c
typedef signed char int8_t;
typedef int int32_t;
typedef long int int64_t;
typedef unsigned short int uint16_t;
static int8_t
safe_sub_func_int64_t_s_s (int64_t si1, int8_t si2)
{
return (si1 ^ si2) & (si1 ^ (si1 ^ si2) << 1) - si2 ^ si2 ? : si1 - si2;
}
int8_t g_7;
int8_t *g_19 = &g_7;
int8_t **g_30 = &g_19;
int8_t **const *g_29 = &g_30;
int8_t g_34[2];
int32func (int32_t * **p_50, int8_t p_51)
{
int8_t l_253;
int8_t l_255;
uint16_t l_282[3][4];
int i, j, k, l, m;
for (i = 0; i < 1; i++)
for (i = 0; i < 1; i++)
l_282[i][j];
if (0)
{
}
else
l_253 = ***g_29;
if (l_253)
goto lbl_264;
for (0; p_51; p_51 = safe_sub_func_int64_t_s_s (p_51, 1))
{
for (l; l_255; l_255 = safe_sub_func_int64_t_s_s)
lbl_264:g_34[0] &= 1;
}
}
[regehr at gamow tmp404]$ clang -v
clang version 1.5 (trunk 101534)
Target: x86_64-unknown-linux-gnu
Thread model: posix
--
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