[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=gccview=revrev=143719 Log: 2009-01-27 H.J. Lu hongjiu...@intel.com PR target/38941

[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

[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

[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]$

[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-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 gcc-bugzi...@gcc.gnu.org wrote: On x86, CX is used for shift. If CX is used for a

[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 g);

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 gcc-bugzi...@gcc.gnu.org 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)

[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 gcc-bugzi...@gcc.gnu.org wrote: --- Comment #2 from hjl dot tools at gmail dot com

[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

[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 #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