Mercurial > hg > CbC > CbC_gcc
view gcc/testsuite/gcc.c-torture/execute/20021024-1.c @ 131:84e7813d76e9
gcc-8.2
author | mir3636 |
---|---|
date | Thu, 25 Oct 2018 07:37:49 +0900 |
parents | 04ced10e8804 |
children |
line wrap: on
line source
/* Origin: PR target/6981 from Mattias Engdegaard <mattias@virtutech.se>. */ /* { dg-require-effective-target int32plus } */ void exit (int); void abort (void); unsigned long long *cp, m; void foo (void) { } void bar (unsigned rop, unsigned long long *r) { unsigned rs1, rs2, rd; top: rs2 = (rop >> 23) & 0x1ff; rs1 = (rop >> 9) & 0x1ff; rd = rop & 0x1ff; *cp = 1; m = r[rs1] + r[rs2]; *cp = 2; foo(); if (!rd) goto top; r[rd] = 1; } int main(void) { static unsigned long long r[64]; unsigned long long cr; cp = &cr; r[4] = 47; r[8] = 11; bar((8 << 23) | (4 << 9) | 15, r); if (m != 47 + 11) abort (); exit (0); }