https://bugs.llvm.org/show_bug.cgi?id=47543

            Bug ID: 47543
           Summary: [AArch64] Inconsistent running results under O0/O2
           Product: libraries
           Version: trunk
          Hardware: PC
                OS: Windows NT
            Status: NEW
          Severity: enhancement
          Priority: P
         Component: Backend: AArch64
          Assignee: unassignedb...@nondot.org
          Reporter: wweiand...@gmail.com
                CC: arnaud.degrandmai...@arm.com,
                    llvm-bugs@lists.llvm.org, smithp...@googlemail.com,
                    ties.st...@arm.com

Testcase will like below:

#include <bits/types.h>
typedef __int32_t int32_t;
typedef __int64_t int64_t;
typedef __uint32_t uint32_t;
typedef __uint64_t uint64_t;

static uint64_t a = 66296709418;
int b, d, e;

void func2(uint64_t l) {
  a = 0;
  int32_t n = (int32_t)l;
  for (; b != 0; b++) {   
    int64_t *q = e;
    *q = n;
    if (&d) {
      int32_t *s = &n;
      *s = 0; 
    }
  } 
  printf("\n  n = %d\n", (int32_t) (n));
  printf("  n = %llu\n", (uint64_t)(n));
}

main() {
  uint64_t *k = &a;
  func2(*k);
}

-- 
You are receiving this mail because:
You are on the CC list for the bug.
_______________________________________________
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs

Reply via email to