[Bug target/89482] arm aarch32 inline assembly w constraints generate s registers instead of d

2019-03-03 Thread gccbugzilla at limegreensocks dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89482 --- Comment #11 from David --- (In reply to Ciro Santilli from comment #10) > If I do start work, I'll ping here to avoid work duplication. Do. I have some resources I could email you.

[Bug target/89482] arm aarch32 inline assembly w constraints generate s registers instead of d

2019-02-28 Thread gccbugzilla at limegreensocks dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89482 --- Comment #9 from David --- (In reply to Ciro Santilli from comment #8) - I haven't posted a patch file since I wasn't sure that I was all that close to being done. But I'm certainly not opposed to the idea. Were you volunteering to move

[Bug target/89482] arm aarch32 inline assembly w constraints generate s registers instead of d

2019-02-27 Thread gccbugzilla at limegreensocks dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89482 --- Comment #7 from David --- (In reply to ktkachov from comment #6) > I think David (CC'ed) was interested in this? Well, the news here is mixed. While I attempted to write this (see

[Bug other/68610] configure failure in libssp

2016-09-04 Thread gccbugzilla at limegreensocks dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68610 --- Comment #2 from David --- Yes, this still occurs with trunk Revision 239974. I'm using MSYS2 under Windows and my current configure line is: ../gcctrunk/configure --enable-languages=c,c++ --target=x86_64-w64-mingw32

[Bug inline-asm/68095] "cc" clobber with Flag Output Operands

2016-06-29 Thread gccbugzilla at limegreensocks dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68095 --- Comment #8 from David --- I doubt this patch is ever going anywhere. Now that v6 has shipped, producing an error for both using and clobbering flags would "break backward compatibility." On the plus side it would probably have caught your

[Bug inline-asm/43319] Lack of documentation on asm extension

2016-05-08 Thread gccbugzilla at limegreensocks dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=43319 David changed: What|Removed |Added CC||gccbugzilla@limegreensocks. |

[Bug inline-asm/39440] User Manual: describe asm ("%a0,%c0"::)

2016-05-08 Thread gccbugzilla at limegreensocks dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=39440 --- Comment #5 from David --- This is a duplicate of 30527. A subset of the most commonly needed/used modifiers have been added to the docs as of 5.x (including the %c0 referenced above). For this reason, I recommend this bug be closed. If

[Bug inline-asm/30527] Use of input/output operands in __asm__ templates not fully documented

2016-05-08 Thread gccbugzilla at limegreensocks dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=30527 David changed: What|Removed |Added CC||gccbugzilla@limegreensocks. |

[Bug inline-asm/69899] gcc ICE on invalid code on x86_64-linux-gnu in "replace_reg"

2016-02-24 Thread gccbugzilla at limegreensocks dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69899 David changed: What|Removed |Added CC||gccbugzilla@limegreensocks. |

[Bug inline-asm/68095] "cc" clobber with Flag Output Operands

2016-02-07 Thread gccbugzilla at limegreensocks dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68095 --- Comment #6 from David --- Created attachment 37621 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=37621=edit Patch for missing clobber validations I have created a patch (attached) that does the check I am describing. And while I was

[Bug target/69716] New: asm generates invalid register name

2016-02-07 Thread gccbugzilla at limegreensocks dot com
Assignee: unassigned at gcc dot gnu.org Reporter: gccbugzilla at limegreensocks dot com Target Milestone: --- While this is a problem with inline asm, it seems like it would be target-specific which is why I set component: target. I can produce the problem several ways

[Bug target/62109] __gthr_i486_lock_cmp_xchg missing clobber

2016-02-07 Thread gccbugzilla at limegreensocks dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62109 --- Comment #14 from David --- I understand that stage 3 is now closed too. I don't have svn write access, so I can't check this in myself.

[Bug libstdc++/69562] New: cow-stdexcept.cc compile errors due to __GXX_WEAK__

2016-01-29 Thread gccbugzilla at limegreensocks dot com
: libstdc++ Assignee: unassigned at gcc dot gnu.org Reporter: gccbugzilla at limegreensocks dot com Target Milestone: --- Building gcc trunk (232969) on cygwin64 using this config line: /cygdrive/c/cygwin64/src/gcc-trunk/configure --enable-languages=c,c++ --disable-multilib

[Bug libstdc++/69562] cow-stdexcept.cc compile errors due to __GXX_WEAK__

2016-01-29 Thread gccbugzilla at limegreensocks dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69562 David changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution|---

[Bug bootstrap/69506] [6 Regression] check-in 232454 seems to cause problems with cygwin builds

2016-01-29 Thread gccbugzilla at limegreensocks dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69506 David changed: What|Removed |Added CC||gccbugzilla@limegreensocks. |

[Bug inline-asm/68843] ICE with "u" input constraint

2015-12-16 Thread gccbugzilla at limegreensocks dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68843 --- Comment #7 from David --- Would a doc patch be appropriate too?

[Bug inline-asm/68843] ICE with "u" input constraint

2015-12-10 Thread gccbugzilla at limegreensocks dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68843 David changed: What|Removed |Added CC||gccbugzilla@limegreensocks. |

[Bug other/68610] New: configure failure in libssp

2015-11-29 Thread gccbugzilla at limegreensocks dot com
Assignee: unassigned at gcc dot gnu.org Reporter: gccbugzilla at limegreensocks dot com Target Milestone: --- I was trying to figure out why I was getting this warning from ssp.c in libssp when building gcc on i386: warning: visibility attribute not supported in this configuration; ignored

[Bug inline-asm/61692] ICE in extract_insn in recog.c for asm with many parameters

2015-11-25 Thread gccbugzilla at limegreensocks dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61692 --- Comment #4 from David --- (In reply to m...@gcc.gnu.org from comment #3) > This test case isn't portable. If upped to 40 then it would be more > portable. What platform supports more than 30 operands? As near as I can see,

[Bug inline-asm/68095] "cc" clobber with Flag Output Operands

2015-11-15 Thread gccbugzilla at limegreensocks dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68095 --- Comment #5 from David --- > the target code adds a cc clobber always. Agreed. On i386, there is no way to say that an extended asm doesn't clobber "cc", so it only serves as a comment on that specific platform. > There is no conflict. I

[Bug target/62109] __gthr_i486_lock_cmp_xchg missing clobber

2015-11-12 Thread gccbugzilla at limegreensocks dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62109 --- Comment #13 from David --- Rumor has it that Phase 1 may be closing soon. Is there something else I need to do here?

[Bug inline-asm/68095] "cc" clobber with Flag Output Operands

2015-11-08 Thread gccbugzilla at limegreensocks dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68095 --- Comment #3 from David --- > "=@ccc"(r) does not output to the "cc" register, it > outputs to a general register. Actually, I don't believe it does. In v5, you *did* have to use "setc %0" with a general register AND it generated an extra

[Bug inline-asm/10396] Constraint alternatives cause error " `asm' operand requires impossible reload"

2015-11-06 Thread gccbugzilla at limegreensocks dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=10396 David changed: What|Removed |Added CC||gccbugzilla@limegreensocks. |

[Bug inline-asm/68095] "cc" clobber with Flag Output Operands

2015-10-26 Thread gccbugzilla at limegreensocks dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68095 --- Comment #1 from David --- On further reflection, perhaps the best solution is even simpler. It is my understanding that the "cc" clobber is redundant. Internally, the flags are clobbered whether you set this or not. And I can't see how

[Bug inline-asm/68084] Inverted conditions generated for x86 inline assembly "flag output constraints"

2015-10-25 Thread gccbugzilla at limegreensocks dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68084 David changed: What|Removed |Added CC||gccbugzilla@limegreensocks. |

[Bug inline-asm/68014] ICE when using Flag Output Operands

2015-10-25 Thread gccbugzilla at limegreensocks dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68014 David changed: What|Removed |Added Severity|minor |enhancement --- Comment #1 from David --- In

[Bug inline-asm/68095] New: "cc" clobber with Flag Output Operands

2015-10-25 Thread gccbugzilla at limegreensocks dot com
inline-asm Assignee: unassigned at gcc dot gnu.org Reporter: gccbugzilla at limegreensocks dot com Target Milestone: --- Normally when trying to use a register and clobber it at the same time, the compiler kicks out an error (operand has impossible constraints). However th

[Bug target/62109] __gthr_i486_lock_cmp_xchg missing clobber

2015-10-24 Thread gccbugzilla at limegreensocks dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62109 David changed: What|Removed |Added Attachment #33302|0 |1 is obsolete|

[Bug target/62109] __gthr_i486_lock_cmp_xchg missing clobber

2015-10-22 Thread gccbugzilla at limegreensocks dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62109 --- Comment #10 from David --- (In reply to Kai Tietz from comment #5) > This patch is clear stage 1 material. We're in stage 1. Is it time? The patch adds the memory clobber, but I think the conclusion here was to remove

[Bug c/68014] New: ICE when using Flag Output Operands

2015-10-18 Thread gccbugzilla at limegreensocks dot com
Assignee: unassigned at gcc dot gnu.org Reporter: gccbugzilla at limegreensocks dot com Target Milestone: --- This code: #ifndef __GCC_ASM_FLAG_OUTPUTS__ #error Not Defined #else int main() { int x; asm volatile("# %0" : "=@ccc"(x));

[Bug c++/67776] New: Missing warning when using asm labels

2015-09-29 Thread gccbugzilla at limegreensocks dot com
++ Assignee: unassigned at gcc dot gnu.org Reporter: gccbugzilla at limegreensocks dot com Target Milestone: --- When compiling this code: void f(void) { int foo asm("myfoo") = 42; } using: gcc -c sta7.c I (correctly) get the warning message: warning: ignoring asm

[Bug inline-asm/49611] Inline asm should support input/output of flags

2015-07-20 Thread gccbugzilla at limegreensocks dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=49611 --- Comment #16 from David gccbugzilla at limegreensocks dot com --- I've tried it now and it seems to do good things. This code: int main(int argc, char *argv[]) { char x; asm(setc : =@ccc(x)); if (!x) return 6; else

[Bug inline-asm/49611] Inline asm should support input/output of flags

2015-07-17 Thread gccbugzilla at limegreensocks dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=49611 --- Comment #14 from David gccbugzilla at limegreensocks dot com --- (In reply to Jeremy from comment #12) It probably does a setcc on x86 which doesn't really gain much I don't have a 6.0 build to test with yet, but I don't believe that's

[Bug inline-asm/49611] Inline asm should support input/output of flags

2015-07-16 Thread gccbugzilla at limegreensocks dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=49611 --- Comment #10 from David gccbugzilla at limegreensocks dot com --- There was some discussion of this on the gcc mailing list. Not sure what became of it: https://gcc.gnu.org/ml/gcc/2015-05/msg6.html

[Bug inline-asm/49611] Inline asm should support input/output of flags

2015-07-16 Thread gccbugzilla at limegreensocks dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=49611 --- Comment #11 from David gccbugzilla at limegreensocks dot com --- Apparently this feature has been checked in: https://gcc.gnu.org/onlinedocs/gcc/Extended-Asm.html#FlagOutputOperands

[Bug inline-asm/65741] New: Missed loop optimization with asm

2015-04-11 Thread gccbugzilla at limegreensocks dot com
Assignee: unassigned at gcc dot gnu.org Reporter: gccbugzilla at limegreensocks dot com Trimming the code down to minimal: int main() { int lo; for(int x=0; x 10; x++) { asm ( # asm here : =r (lo)); } return lo; } Compile with: c++.exe -O2 -m64 -S loop.cpp

[Bug inline-asm/65436] Max number of extended asm +output operands currently limited to 15

2015-03-20 Thread gccbugzilla at limegreensocks dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65436 --- Comment #7 from David gccbugzilla at limegreensocks dot com --- While I don't yet see a case here to justify making this change generally, it may be useful to change this for private builds of gcc. For those cases, change this line in gcc

[Bug target/62109] __gthr_i486_lock_cmp_xchg missing clobber

2015-03-19 Thread gccbugzilla at limegreensocks dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62109 --- Comment #8 from David gccbugzilla at limegreensocks dot com --- (In reply to Kai Tietz from comment #7) The first code block in comment #6 is what is in the code now. As you can see, it already has the #define you are describing. I don't

[Bug inline-asm/65436] Max number of extended asm +input operands currently limited to 15

2015-03-17 Thread gccbugzilla at limegreensocks dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65436 David gccbugzilla at limegreensocks dot com changed: What|Removed |Added CC||gccbugzilla

[Bug target/62109] __gthr_i486_lock_cmp_xchg missing clobber

2015-03-17 Thread gccbugzilla at limegreensocks dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62109 --- Comment #6 from David gccbugzilla at limegreensocks dot com --- Actually, the code already uses InterlockedCompareExchange. UNLESS users explicitly tell it not to: #ifdef __GTHREAD_I486_INLINE_LOCK_PRIMITIVES static inline long

[Bug target/62109] __gthr_i486_lock_cmp_xchg missing clobber

2015-03-15 Thread gccbugzilla at limegreensocks dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62109 --- Comment #4 from David gccbugzilla at limegreensocks dot com --- (In reply to Mikael Pettersson from comment #3) Do you have a test case which fails without your patch? I do not. But this is a by definition thing. This instruction

[Bug inline-asm/61692] ICE in extract_insn in recog.c for asm with many parameters

2015-02-23 Thread gccbugzilla at limegreensocks dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61692 David gccbugzilla at limegreensocks dot com changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED

[Bug inline-asm/61740] Fixes for minor problems in asm_fprintf and output_asm_insn

2015-02-23 Thread gccbugzilla at limegreensocks dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61740 David gccbugzilla at limegreensocks dot com changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED

[Bug target/62109] __gthr_i486_lock_cmp_xchg missing clobber

2015-02-22 Thread gccbugzilla at limegreensocks dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62109 --- Comment #2 from David gccbugzilla at limegreensocks dot com --- Attaching a patch was just the clearest way I knew to show the problem. My hope was that posting it here would allow someone who knew how to submit patches to take this the rest

[Bug inline-asm/64681] gcc assign wrong register for arm inline assembly

2015-01-25 Thread gccbugzilla at limegreensocks dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64681 David gccbugzilla at limegreensocks dot com changed: What|Removed |Added CC||gccbugzilla

[Bug inline-asm/63900] memory constrains needlessly doing memory clobber

2014-11-16 Thread gccbugzilla at limegreensocks dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63900 --- Comment #5 from David gccbugzilla at limegreensocks dot com --- I agree that the benefit for 3 bytes isn't going to be a big win. And certainly this sample, created from scratch solely to illustrate the problem, can be better written

[Bug inline-asm/63900] New: memory constrains needlessly doing memory clobber

2014-11-15 Thread gccbugzilla at limegreensocks dot com
: inline-asm Assignee: unassigned at gcc dot gnu.org Reporter: gccbugzilla at limegreensocks dot com Using a constraint like this: =m ( *(struct { char __x[BUFSIZE]; } *)b) only works for very specific sizes of BUFSIZE (1, 2, 4, 8, 16). All other sizes (3, 12, 1000, etc

[Bug target/62109] New: __gthr_i486_lock_cmp_xchg missing clobber

2014-08-12 Thread gccbugzilla at limegreensocks dot com
: target Assignee: unassigned at gcc dot gnu.org Reporter: gccbugzilla at limegreensocks dot com Created attachment 33302 -- https://gcc.gnu.org/bugzilla/attachment.cgi?id=33302action=edit Update __gthr_i486_lock_cmp_xchg to add memory clobber InterlockedCompareExchange

[Bug target/61662] Incorrect value calculated for _lrotl on LLP64 systems

2014-07-15 Thread gccbugzilla at limegreensocks dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61662 --- Comment #2 from David gccbugzilla at limegreensocks dot com --- Sent July 9, 2014: https://gcc.gnu.org/ml/gcc-patches/2014-07/msg00604.html

[Bug inline-asm/61740] New: Fixes for minor problems in asm_fprintf and output_asm_insn

2014-07-07 Thread gccbugzilla at limegreensocks dot com
Priority: P3 Component: inline-asm Assignee: unassigned at gcc dot gnu.org Reporter: gccbugzilla at limegreensocks dot com Created attachment 33087 -- https://gcc.gnu.org/bugzilla/attachment.cgi?id=33087action=edit Proposed patch The attached patch fixes 4 inline asm

[Bug inline-asm/61692] New: ICE in extract_insn in recog.c for asm with many parameters

2014-07-03 Thread gccbugzilla at limegreensocks dot com
Priority: P3 Component: inline-asm Assignee: unassigned at gcc dot gnu.org Reporter: gccbugzilla at limegreensocks dot com There is an ICE coming from recog.c in extract_insn. The problem occurs when you have 30 inputs and 1 goto in an asm instruction. That's 31

[Bug libgcc/61662] New: Incorrect value calculated for _lrotl on LLP64 systems

2014-07-01 Thread gccbugzilla at limegreensocks dot com
Component: libgcc Assignee: unassigned at gcc dot gnu.org Reporter: gccbugzilla at limegreensocks dot com Created attachment 33037 -- https://gcc.gnu.org/bugzilla/attachment.cgi?id=33037action=edit Proposed patch There is a problem in ia32intrin.h. Extracting bits of the code

[Bug middle-end/58670] asm goto miscompilation

2014-06-13 Thread gccbugzilla at limegreensocks dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58670 --- Comment #8 from David gccbugzilla at limegreensocks dot com --- I can confirm what Kai had to say in comment 7. Using a newer build resolves both the original problem reported by Jakub and the problem I saw in comment 5.

[Bug middle-end/58670] asm goto miscompilation

2014-05-27 Thread gccbugzilla at limegreensocks dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58670 David gccbugzilla at limegreensocks dot com changed: What|Removed |Added CC||gccbugzilla

[Bug inline-asm/39440] User Manual: describe asm (%a0,%c0::)

2013-05-11 Thread gccbugzilla at limegreensocks dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39440 David gccbugzilla at limegreensocks dot com changed: What|Removed |Added CC||gccbugzilla