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:
parent
40287ad370
commit
e5337b35cb
5 changed files with 121 additions and 0 deletions
|
@ -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.
|
||||
|
|
30
gcc/testsuite/gcc.dg/tree-ssa/vrp72.c
Normal file
30
gcc/testsuite/gcc.dg/tree-ssa/vrp72.c
Normal 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;
|
||||
}
|
30
gcc/testsuite/gcc.dg/tree-ssa/vrp73.c
Normal file
30
gcc/testsuite/gcc.dg/tree-ssa/vrp73.c
Normal 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;
|
||||
}
|
23
gcc/testsuite/gcc.dg/tree-ssa/vrp74.c
Normal file
23
gcc/testsuite/gcc.dg/tree-ssa/vrp74.c
Normal 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 ();
|
||||
}
|
||||
|
31
gcc/testsuite/gcc.dg/tree-ssa/vrp75.c
Normal file
31
gcc/testsuite/gcc.dg/tree-ssa/vrp75.c
Normal 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;
|
||||
}
|
Loading…
Add table
Reference in a new issue