public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug inline-asm/56148] New: [4.8 Regression] inline asm matching constraint with different mode
@ 2013-01-30 12:02 jakub at gcc dot gnu.org
  2013-01-30 12:03 ` [Bug inline-asm/56148] " jakub at gcc dot gnu.org
                   ` (15 more replies)
  0 siblings, 16 replies; 17+ messages in thread
From: jakub at gcc dot gnu.org @ 2013-01-30 12:02 UTC (permalink / raw)
  To: gcc-bugs


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

             Bug #: 56148
           Summary: [4.8 Regression] inline asm matching constraint with
                    different mode
    Classification: Unclassified
           Product: gcc
           Version: 4.8.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: inline-asm
        AssignedTo: unassigned@gcc.gnu.org
        ReportedBy: jakub@gcc.gnu.org


void
foo (void)
{
  unsigned char e[16];
  unsigned long a, b, c, d;
  __asm__ __volatile__ ("" : "=d" (a), "=&c" (c), "=&D" (d), "=&a" (b)
               : "0" (-1U), "mr" (e), "1" (128 >> 5), "2" (e), "3" (-1U));
}

is rejected since LRA merge on x86_64-linux at -O2:
rh905862.i: In function ‘foo’:
rh905862.i:6:3: error: ‘asm’ operand has impossible constraints
   __asm__ __volatile__ ("" : "=d" (a), "=&c" (c), "=&D" (d), "=&a" (b)
   ^

The testcase is questionable, because a, c and b are DImode, while -1U, 128 >>
5
and -1U are all SImode using 0/1/3 constraints matching those DImodes.
But we accept it with reload or with -O0 even with LRA.


^ permalink raw reply	[flat|nested] 17+ messages in thread

end of thread, other threads:[~2013-02-22 16:31 UTC | newest]

Thread overview: 17+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-01-30 12:02 [Bug inline-asm/56148] New: [4.8 Regression] inline asm matching constraint with different mode jakub at gcc dot gnu.org
2013-01-30 12:03 ` [Bug inline-asm/56148] " jakub at gcc dot gnu.org
2013-02-04  3:07 ` sergio at serjux dot com
2013-02-04  3:12 ` sergio at serjux dot com
2013-02-04  7:02 ` jakub at gcc dot gnu.org
2013-02-04 19:47 ` sergio at serjux dot com
2013-02-08 15:20 ` rguenth at gcc dot gnu.org
2013-02-12  0:15 ` steven at gcc dot gnu.org
2013-02-12 16:25 ` steven at gcc dot gnu.org
2013-02-12 17:45 ` vmakarov at gcc dot gnu.org
2013-02-12 18:10 ` steven at gcc dot gnu.org
2013-02-12 18:13 ` steven at gcc dot gnu.org
2013-02-12 18:38 ` sergio at serjux dot com
2013-02-12 18:52 ` vmakarov at redhat dot com
2013-02-21 17:46 ` sergio at serjux dot com
2013-02-22 14:40 ` fm3 at os dot inf.tu-dresden.de
2013-02-22 16:31 ` vmakarov at gcc dot gnu.org

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).