OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-dev/] [or1k-gcc/] [gcc/] [testsuite/] [gcc.dg/] [pr27363.c] - Blame information for rev 689

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 689 jeremybenn
/* PR27363.  CSE was breaking on the arm store multiple insn used for
2
   structure copies.  */
3
/* { dg-do run } */
4
/* { dg-options "-Os" } */
5
extern void abort (void);
6
 
7
struct snd_mask {
8
    unsigned int bits[6];
9
};
10
 
11
static int __attribute__((noinline))
12
snd_mask_refine(struct snd_mask *mask)
13
{
14
  struct snd_mask old;
15
 
16
  old = *mask;
17
  if (mask->bits[0]==0 && mask->bits[1]==0)
18
    return 1;
19
 
20
  return old.bits[0] != mask->bits[0];
21
}
22
 
23
int main(int argc, char *argv[])
24
{
25
  struct snd_mask mask;
26
 
27
 
28
  mask.bits[0] = 23;
29
  mask.bits[1] = 42;
30
  mask.bits[2] = 0;
31
  mask.bits[3] = 0;
32
  mask.bits[4] = 0;
33
  mask.bits[5] = 0;
34
 
35
 
36
  if (snd_mask_refine(&mask))
37
    abort();
38
  return 0;
39
}

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.