[Bug inline-asm/22045] can't find a register in class 'GENERAL_REGS'

2005-08-09 Thread macro at linux-mips dot org
--- Additional Comments From macro at linux-mips dot org 2005-08-09 18:23 --- Please make sure you look at the right variant, i.e. "sysdeps/i386/bits/string.h", as there are different versions for different i386 submodels. Still the version in the glibc tree differs a bit indeed, but i

[Bug inline-asm/22045] can't find a register in class 'GENERAL_REGS'

2005-08-09 Thread rth at gcc dot gnu dot org
--- Additional Comments From rth at gcc dot gnu dot org 2005-08-09 17:44 --- Yes, the funny cast is *intended* to alias all memory, and thus force anything that might potentially alias the string to be written back. We don't have the ability to conclude that __d3 won't be affected. As

[Bug inline-asm/22045] can't find a register in class 'GENERAL_REGS'

2005-08-09 Thread macro at linux-mips dot org
--- Additional Comments From macro at linux-mips dot org 2005-08-09 11:38 --- Thanks for your insight. I did some experimenting with the code (including reducing the source file to a somewhat more readable form -- I can post it if interested) and I noticed this *(struct { char __x[0xff

[Bug inline-asm/22045] can't find a register in class 'GENERAL_REGS'

2005-08-08 Thread rth at gcc dot gnu dot org
--- Additional Comments From rth at gcc dot gnu dot org 2005-08-08 22:31 --- I'm calling this one invalid. We've got: eax __d0 early clobber ebx pic ecx __d1 early clobber edx __s input esi __res early clobber edi __d2 early clobber ebp frame p

[Bug inline-asm/22045] can't find a register in class 'GENERAL_REGS'

2005-08-08 Thread rth at gcc dot gnu dot org
--- Additional Comments From rth at gcc dot gnu dot org 2005-08-08 22:10 --- Amusingly, the problem disappears when one translates this: salt_len = (((strcspn (salt, "$"))<(8))?(strcspn (salt, "$")):(8)); to salt_len = strcspn (salt, "$"); if (salt_len > 8) salt_len = 8; No

[Bug inline-asm/22045] can't find a register in class 'GENERAL_REGS'

2005-08-08 Thread rth at gcc dot gnu dot org
--- Additional Comments From rth at gcc dot gnu dot org 2005-08-08 18:11 --- I'm sorry, this is Andrew's fault -- it's not a duplicate. -- What|Removed |Added St

[Bug inline-asm/22045] can't find a register in class 'GENERAL_REGS'

2005-08-08 Thread rth at gcc dot gnu dot org
--- Additional Comments From rth at gcc dot gnu dot org 2005-08-08 18:09 --- (In reply to comment #9) > To summarize, the case does not work as is -- with "=&g" and "g". It does > not work with "=&rm" and "g". Of course not! Have you forgotten what early-clobber means? > Please let m

[Bug inline-asm/22045] can't find a register in class 'GENERAL_REGS'

2005-08-08 Thread macro at linux-mips dot org
-- What|Removed |Added AssignedTo|unassigned at gcc dot gnu |rth at gcc dot gnu dot org |dot org | Status|REOPENED

[Bug inline-asm/22045] can't find a register in class 'GENERAL_REGS'

2005-08-08 Thread macro at linux-mips dot org
--- Additional Comments From macro at linux-mips dot org 2005-08-08 17:42 --- Richard, Thanks for your work (for bug 21291). Unfortunately it's not enough for this case. It doesn't seem to work for the "g" constraint used there, but that might probably be considered just a shortcomin

[Bug inline-asm/22045] can't find a register in class 'GENERAL_REGS'

2005-06-19 Thread pinskia at gcc dot gnu dot org
--- Additional Comments From pinskia at gcc dot gnu dot org 2005-06-19 13:04 --- *** This bug has been marked as a duplicate of 21291 *** -- What|Removed |Added

[Bug inline-asm/22045] can't find a register in class 'GENERAL_REGS'

2005-06-14 Thread vda at port dot imtp dot ilyichevsk dot odessa dot ua
--- Additional Comments From vda at port dot imtp dot ilyichevsk dot odessa dot ua 2005-06-14 07:06 --- If I understand this correctly, older GCCs were able to figure out that when there is 5 registers available, "=&g" (__d3) can olny be matched with memory (on-stack local var) whereas w

[Bug inline-asm/22045] can't find a register in class 'GENERAL_REGS'

2005-06-13 Thread macro at linux-mips dot org
--- Additional Comments From macro at linux-mips dot org 2005-06-13 14:44 --- I haven't written it's an ICE, have I? Unfortunately I can't see a way of rewriting the asm such that an appropriate variant is used depending on whether there are six or five or four (or fewer?) registers a

[Bug inline-asm/22045] can't find a register in class 'GENERAL_REGS'

2005-06-13 Thread pinskia at gcc dot gnu dot org
--- Additional Comments From pinskia at gcc dot gnu dot org 2005-06-13 14:17 --- (In reply to comment #4) > There is no other software involved. What I mean is this is a known non-bug in GCC in that running out registers cause things to wrong with people's inline-asm on x86. If peop

[Bug inline-asm/22045] can't find a register in class 'GENERAL_REGS'

2005-06-13 Thread macro at linux-mips dot org
--- Additional Comments From macro at linux-mips dot org 2005-06-13 14:14 --- There is no other software involved. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22045

[Bug inline-asm/22045] can't find a register in class 'GENERAL_REGS'

2005-06-13 Thread pinskia at gcc dot gnu dot org
--- Additional Comments From pinskia at gcc dot gnu dot org 2005-06-13 13:45 --- This is not really a bug in GCC. -- What|Removed |Added GCC build triplet|i386-linux-gnu

[Bug inline-asm/22045] can't find a register in class 'GENERAL_REGS'

2005-06-13 Thread macro at linux-mips dot org
--- Additional Comments From macro at linux-mips dot org 2005-06-13 13:33 --- Created an attachment (id=9079) --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=9079&action=view) This makes the error go away -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22045

[Bug inline-asm/22045] can't find a register in class 'GENERAL_REGS'

2005-06-13 Thread macro at linux-mips dot org
--- Additional Comments From macro at linux-mips dot org 2005-06-13 13:32 --- Created an attachment (id=9078) --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=9078&action=view) This is the problematic source -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22045