public inbox for gcc-prs@sourceware.org
help / color / mirror / Atom feed
From: Adrian von Bidder <avbidder@acter.ch>
To: nobody@gcc.gnu.org
Cc: gcc-prs@gcc.gnu.org,
Subject: Re: target/4855: arm (thumb) backend generates illegal strb   instruction]
Date: Thu, 15 Nov 2001 12:39:00 -0000	[thread overview]
Message-ID: <20011120152601.15024.qmail@sourceware.cygnus.com> (raw)

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain, Size: 2949 bytes --]

The following reply was made to PR target/4855; it has been noted by GNATS.

From: Adrian von Bidder <avbidder@acter.ch>
To: Nick Clifton <nickc@cambridge.redhat.com>, gcc <gcc@gcc.gnu.org>
Cc:  
Subject: Re: target/4855: arm (thumb) backend generates illegal strb  
 instruction]
Date: Tue, 20 Nov 2001 11:23:20 +0100

 Nick Clifton wrote:
 > 
 > Hi Adrian,
 > 
 > > The bug is quite robust. It occurs with
 > > arm-linux-elf-gcc -mthumb -fpic -mpic-register=r6 -O2
 > 
 > Well the good news, or bad news, depending upon your point of view, is
 > that this bug does not appear to be reproducible with the current CVS
 > sources.  At least not for a toolchain configured with
 > --target=arm-elf rather than --target=arm-linux-elf.
 
 Yo!
 
 Sorry to inform you that this problem has resurfaced and is reproducible
 with both arm-uclinux (my current workdir; don't use the patch I've
 posted some time ago) and arm-elf (from todays unmodified cvs) targets.
 
 It is, of course, highly dependent on the workings of the register
 allocator, so it depends on optimizer flags.
 
 arm-elf-gcc -mthumb -fpic -mpic-register=r6 -Os shouls show it with
 these with the newest cvs.
 
 The code from target/3218 does not seem to have the problem. 'My' code
 (target/4855) does still show the problem, however. [1]
 
 greets from Zürich
 -- vbi
 [1]
 typedef enum
 {
   REG_NOERROR = 0,
   REG_NOMATCH,
   REG_BADPAT,
   REG_ECOLLATE,
   REG_ECTYPE,
   REG_EESCAPE,
   REG_ESUBREG,
   REG_EBRACK,
   REG_EPAREN,
   REG_EBRACE,
   REG_BADBR,
   REG_ERANGE,
   REG_ESPACE,
   REG_BADRPT,
   REG_EEND,
   REG_ESIZE,
   REG_ERPAREN
 }
 reg_errcode_t;
 
 typedef unsigned long int reg_syntax_t;
 
 extern int strcoll (const char *__s1, const char *__s2);
 
 reg_errcode_t
 compile_range (p_ptr, pend, translate, syntax, b)
      const char **p_ptr, *pend;
      char *translate;
      reg_syntax_t syntax;
      unsigned char *b;
 {
   unsigned this_char;
 
   const char *p = *p_ptr;
   reg_errcode_t ret;
   char range_start[2];
   char range_end[2];
   char ch[2];
 
   if (p == pend)
     return REG_ERANGE;
 
   range_start[0] = p[-2];
   range_start[1] = '\0';
   range_end[0] = p[0];
   range_end[1] = '\0';
 
   (*p_ptr)++;
 
 
   ret = syntax & ((((((((((((((((((unsigned long int) 1) << 1) << 1) <<
 1) <<
 			      1) << 1) << 1) << 1) << 1) << 1) << 1) << 1) <<
 		      1) << 1) << 1) << 1) << 1) ? REG_ERANGE : REG_NOERROR;
   ch[1] = '\0';
   for (this_char = 0; this_char <= (unsigned char) -1; ++this_char)
     {
       ch[0] = this_char;
       if (strcoll (range_start, ch) <= 0 && strcoll (ch, range_end) <=
 0)
 	{
 	  (b
 	   [((unsigned
 	      char) ((translate ? (char)
 		      translate[(unsigned char) (this_char)] : (this_char))))
 	    / 8] |=
 	   1 <<
 	   (((unsigned char) (translate ? (char)
 			      translate[(unsigned char) (this_char)]
 			      : (this_char))) % 8));
 	  ret = REG_NOERROR;
 	}
     }
 
   return ret;
 }


                 reply	other threads:[~2001-11-20 15:26 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

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=20011120152601.15024.qmail@sourceware.cygnus.com \
    --to=avbidder@acter.ch \
    --cc=gcc-prs@gcc.gnu.org \
    --cc=nobody@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).