[Bug target/38941] CX isn't preserved with shift

2009-01-27 Thread hjl dot tools at gmail dot com
--- Comment #11 from hjl dot tools at gmail dot com 2009-01-28 03:39 --- Fixed. -- hjl dot tools at gmail dot com changed: What|Removed |Added Status|UNCONFI

[Bug target/38941] CX isn't preserved with shift

2009-01-27 Thread hjl at gcc dot gnu dot org
--- Comment #10 from hjl at gcc dot gnu dot org 2009-01-28 03:38 --- Subject: Bug 38941 Author: hjl Date: Wed Jan 28 03:38:41 2009 New Revision: 143719 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=143719 Log: 2009-01-27 H.J. Lu PR target/38941 * doc/extend.

[Bug target/38941] CX isn't preserved with shift

2009-01-23 Thread hjl dot tools at gmail dot com
--- Comment #9 from hjl dot tools at gmail dot com 2009-01-24 01:32 --- >From gcc doc: --- Sometimes you need to make an `asm' operand be a specific register, but there's no matching constraint letter for that register _by itself_. To force the operand into that register, use a local

[Bug target/38941] CX isn't preserved with shift

2009-01-23 Thread hjl dot tools at gmail dot com
--- Comment #8 from hjl dot tools at gmail dot com 2009-01-24 00:08 --- Reload can't deal with: [...@gnu-6 reg-1]$ cat f.i int bar (int g) { register int x __asm__("ecx"); x = 8; if ((1 << g) != x) return 0; return x; } [...@gnu-6 reg-1]$ /export/build/gnu/gcc-work

[Bug target/38941] CX isn't preserved with shift

2009-01-23 Thread vmakarov at redhat dot com
--- Comment #7 from vmakarov at redhat dot com 2009-01-23 15:58 --- If it is a problem, it is not a problem of IRA. The usage of the old RA results in the same abort. Neither the old RA, nor IRA assigns CX to pseudos. CX is started to be used by reload, so I think it is reload respons

[Bug target/38941] CX isn't preserved with shift

2009-01-22 Thread hjl dot tools at gmail dot com
--- Comment #6 from hjl dot tools at gmail dot com 2009-01-23 05:45 --- gcc.target/i386/pr20204.c is another example without asm statement. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38941

[Bug target/38941] CX isn't preserved with shift

2009-01-22 Thread hjl dot tools at gmail dot com
--- Comment #5 from hjl dot tools at gmail dot com 2009-01-23 05:16 --- ./gcc.target/i386/attr-returns_twice-1.c has no asm statements at all. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38941

[Bug target/38941] CX isn't preserved with shift

2009-01-22 Thread hjl dot tools at gmail dot com
--- Comment #4 from hjl dot tools at gmail dot com 2009-01-23 05:14 --- (In reply to comment #3) > Again still undefined because there is still inbetween the assignment > and the inline-asm. > Where is this documented? There is bash-3.2$ cat ./gcc.target/mips/asm-1.c /* PR target/1

[Bug target/38941] CX isn't preserved with shift

2009-01-22 Thread pinskia at gmail dot com
--- Comment #3 from pinskia at gmail dot com 2009-01-23 04:39 --- Subject: Re: CX isn't preserved with shift Sent from my iPhone On Jan 22, 2009, at 8:34 PM, "hjl dot tools at gmail dot com" wrote: > > > --- Comment #2 from hjl dot tools at gmail dot com 2009-01-23 > 04:34

Re: [Bug target/38941] CX isn't preserved with shift

2009-01-22 Thread Andrew Thomas Pinski
Sent from my iPhone On Jan 22, 2009, at 8:34 PM, "hjl dot tools at gmail dot com" > wrote: --- Comment #2 from hjl dot tools at gmail dot com 2009-01-23 04:34 --- How about this one: --- extern void abort (void); void foo (int x) { if (x != 8) abort (); } void bar (int g

[Bug target/38941] CX isn't preserved with shift

2009-01-22 Thread hjl dot tools at gmail dot com
--- Comment #2 from hjl dot tools at gmail dot com 2009-01-23 04:34 --- How about this one: --- extern void abort (void); void foo (int x) { if (x != 8) abort (); } void bar (int g) { register int x __asm__("ecx"); register int y __asm__("eax"); x = 5; foo (1 <<

[Bug target/38941] CX isn't preserved with shift

2009-01-22 Thread pinskia at gmail dot com
--- Comment #1 from pinskia at gmail dot com 2009-01-23 04:24 --- Subject: Re: New: CX isn't preserved with shift Sent from my iPhone On Jan 22, 2009, at 5:54 PM, "hjl dot tools at gmail dot com" wrote: > On x86, CX is used for shift. If CX is used for a variable, it > may not be