vrp72.c: New test.

2012-07-21  Andrew Pinski  <apinski@cavium.com>

	*  gcc.dg/tree-ssa/vrp72.c: New test.
	*  gcc.dg/tree-ssa/vrp73.c: New test.
	*  gcc.dg/tree-ssa/vrp74.c: New test.
	*  gcc.dg/tree-ssa/vrp75.c: New test.

From-SVN: r189753
This commit is contained in:
Andrew Pinski 2012-07-22 05:55:47 +00:00 committed by Andrew Pinski
parent 40287ad370
commit e5337b35cb
5 changed files with 121 additions and 0 deletions

View file

@ -1,3 +1,10 @@
2012-07-21 Andrew Pinski <apinski@cavium.com>
* gcc.dg/tree-ssa/vrp72.c: New test.
* gcc.dg/tree-ssa/vrp73.c: New test.
* gcc.dg/tree-ssa/vrp74.c: New test.
* gcc.dg/tree-ssa/vrp75.c: New test.
2012-07-21 Andrew Pinski <apinski@cavium.com>
* gcc.dg/tree-ssa/alias-21.c: New testcase.

View file

@ -0,0 +1,30 @@
/* { dg-options "-O2" } */
typedef unsigned long long uint64_t;
static inline void cvmx_write64_uint64(uint64_t addr, uint64_t val)
{
*(volatile uint64_t *)(long)addr = val;
};
static inline uint64_t cvmx_read64_uint64(uint64_t addr)
{
return *(volatile uint64_t *)(long)addr;
};
static inline void cvmx_write_csr(uint64_t csr_addr, uint64_t val)
{
cvmx_write64_uint64 (csr_addr, val);
if ((csr_addr >> 40) != 0x800118)
linker_error ();
}
int uart;
int
main ()
{
cvmx_write_csr (((((uint64_t) 2LL) << 62)
| (0x0001180000000808ull+((uart&0xff)*1024))),
0xfff);
return 0;
}

View file

@ -0,0 +1,30 @@
/* { dg-options "-O2" } */
typedef unsigned long long uint64_t;
static inline void cvmx_write64_uint64(uint64_t addr, uint64_t val)
{
*(volatile uint64_t *)(long)addr = val;
};
static inline uint64_t cvmx_read64_uint64(uint64_t addr)
{
return *(volatile uint64_t *)(long)addr;
};
static inline void cvmx_write_csr(uint64_t csr_addr, uint64_t val)
{
cvmx_write64_uint64 (csr_addr, val);
if ((csr_addr >> 40) == 0x800118)
linker_error ();
}
int dest_core, src_core;
int
main ()
{
cvmx_write_csr ((((((uint64_t)2LL) << 62)
| ((0x0001070000000600ull+((dest_core&0xff)*8))))),
1ull << src_core);
return 0;
}

View file

@ -0,0 +1,23 @@
/* { dg-options "-O2" } */
void abort (void);
void exit (int);
__attribute__ ((noinline)) void
f (unsigned long long i)
{
if (i <= 0x1000000000000000ull)
{
unsigned long long j = i | 0x1000000000000000ull;
if (j == 0x1100000000000000ull)
exit (0);
}
}
int
main ()
{
f (0x0100000000000000ull);
abort ();
}

View file

@ -0,0 +1,31 @@
/* { dg-options "-O2" } */
typedef unsigned long long uint64_t;
static inline void cvmx_write64_uint64(uint64_t addr, uint64_t val)
{
*(volatile uint64_t *)(long)addr = val;
};
static inline uint64_t cvmx_read64_uint64(uint64_t addr)
{
return *(volatile uint64_t *)(long)addr;
};
static inline void cvmx_write_csr(uint64_t csr_addr, uint64_t val)
{
cvmx_write64_uint64 (csr_addr, val);
if ((csr_addr >> 40) != 0x800118)
linker_error ();
}
int interface;
int idx;
int
main ()
{
cvmx_write_csr((((((uint64_t) 2LL) << 62)
| ((0x0001180008000208ull
+ (((idx)&3)*2048)
+ (((interface)&1)*0x8000000ull))))), 1);
return 0;
}