public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
From: "edwintorok at gmail dot com" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug tree-optimization/37573] gcc-4.4 regression: incorrect code generation with -O1 -ftree-vectorize
Date: Thu, 18 Sep 2008 17:31:00 -0000	[thread overview]
Message-ID: <20080918173042.8681.qmail@sourceware.org> (raw)
In-Reply-To: <bug-37573-15165@http.gcc.gnu.org/bugzilla/>



------- Comment #1 from edwintorok at gmail dot com  2008-09-18 17:30 -------
Testcase:
extern int printf (__const char *__restrict __format, ...);
extern int strcmp (__const char *__s1, __const char *__s2);
extern int puts (__const char *__s);
typedef unsigned char uint8_t;
typedef unsigned int uint32_t;
struct MT
{
  uint32_t *next;
  uint32_t items;
  uint32_t mt[624];
};
static uint8_t
MT_getnext (struct MT *MT)
{
  uint32_t r;
  if (!--MT->items)
    {
      uint32_t *mt = MT->mt;
      unsigned int i;
      MT->next = mt;
      for (i = 0; i < 227; i++)
        mt[i] =
         ((((mt[i] ^ mt[i + 1]) & 0x7ffffffe) ^ mt[i]) >> 1) ^
           ((0 - (mt[i + 1] & 1)) & 0x9908b0df) ^ mt[i + 397];
    }
  r = *(MT->next++);
  r ^= (r >> 11);
  r ^= ((r & 0xff3a58ad) << 7);
  r ^= ((r & 0xffffdf8c) << 15);
  r ^= (r >> 18);
  return (uint8_t) (r >> 1);
}

static void
MT_decrypt (uint8_t * buf, unsigned int size, uint32_t seed)
{
  struct MT MT;
  unsigned int i;
  uint32_t *mt = MT.mt;
  *mt = seed;
  for (i = 1; i < 624; i++)
    mt[i] = i + 0x6c078965 * ((mt[i - 1] >> 30) ^ mt[i - 1]);
  MT.items = 1;
  while (size--)
    *buf++ ^= MT_getnext (&MT);
};

static uint8_t buf[23] = {
  0xc0, 0x49, 0x17, 0x32, 0x62, 0x1e, 0x2e, 0xd5, 0x4c, 0x19, 0x28, 0x49,
    0x91, 0xe4, 0x72, 0x83, 0x91, 0x3d, 0x93, 0x83, 0xb3, 0x61, 0x38
};

int
main (void)
{
  uint32_t s;
  s = 23;
  MT_decrypt (buf, s, s + 0xa25e);
  if (!strcmp (">AUTOIT UNICODE SCRIPT<", buf))
    {
      puts ("OK");
      return 0;
    }
  else
    {
      printf ("Failed:%s\n", buf);
      return 1;
    }
}


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37573


  reply	other threads:[~2008-09-18 17:31 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-09-18 17:31 [Bug tree-optimization/37573] New: " edwintorok at gmail dot com
2008-09-18 17:31 ` edwintorok at gmail dot com [this message]
2008-09-18 17:33 ` [Bug tree-optimization/37573] " edwintorok at gmail dot com
2008-09-18 19:15 ` [Bug tree-optimization/37573] [4.4 Regression] " pinskia at gcc dot gnu dot org
2008-09-19 17:03 ` jakub at gcc dot gnu dot org
2008-09-19 17:53 ` jakub at gcc dot gnu dot org
2008-09-21  7:56 ` irar at il dot ibm dot com
2008-10-15 21:30 ` spop at gcc dot gnu dot org
2008-10-15 21:46 ` rguenth at gcc dot gnu dot org
2008-10-15 21:49 ` rguenth at gcc dot gnu dot org
2008-10-16  0:03 ` spop at gcc dot gnu dot org
2008-10-16  8:16 ` rguenther at suse dot de
2008-10-22 16:10   ` Sebastian Pop
2008-10-22  3:29 ` mmitchel at gcc dot gnu dot org
2008-10-22 16:11 ` sebpop at gmail dot com
2008-10-29 18:49 ` edwintorok at gmail dot com
2008-11-03  9:56 ` rguenth at gcc dot gnu dot org
2008-11-03 12:34 ` rguenth at gcc dot gnu dot org
2008-11-03 12:35 ` rguenth at gcc dot gnu dot org
2008-11-03 17:52 ` edwintorok at gmail dot com

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20080918173042.8681.qmail@sourceware.org \
    --to=gcc-bugzilla@gcc.gnu.org \
    --cc=gcc-bugs@gcc.gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).