aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.target/arm/pr79131-1.c
blob: 3bd9e0fd935366dd60646c7d44c21f209e957200 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
/* { dg-do compile } */
/* { dg-options "-O2 -mbig-endian" } */

long long a;
enum { NILFS_SEGMENT_USAGE_ACTIVE, NILFS_SEGMENT_USAGE_DIRTY } b;
void nilfs_sufile_mod_counter(long long p1) {
  long c = p1;
  unsigned d = __builtin_bswap64(a);
  a = __builtin_bswap64(d + c);
}
void nilfs_sufile_do_free() {
  int e, f;
  e = __builtin_bswap32(b) & 1 << NILFS_SEGMENT_USAGE_DIRTY;
  f = e;
  nilfs_sufile_mod_counter(f ? -1 : 0);
}