[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