[Bug target/29776] result of ffs/clz/ctz/popcount/parity are already sign-extended

2013-07-04 Thread dean at arctic dot org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29776 --- Comment #10 from dean at arctic dot org --- On Thu, 4 Jul 2013, jakub at gcc dot gnu.org wrote: > I'm not 100% sure about CLZ/CTZ in the patch, because it could return any > value > for argument of 0, but as we document i

[Bug rtl-optimization/17838] spills are not re-used

2013-04-21 Thread dean at arctic dot org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17838 dean at arctic dot org changed: What|Removed |Added Status|NEW |RESOLVED

[Bug target/32803] -Os: shorter load immediates for x86_64

2009-09-17 Thread dean at arctic dot org
--- Comment #7 from dean at arctic dot org 2009-09-17 11:06 --- (In reply to comment #6) > Without accounting for the push/pop in CFI you will not be able to accurately > process asynchronous unwind events. > just to be sure i understand -- you're saying a %rsp mod

[Bug target/32803] -Os: shorter load immediates for x86_64

2009-09-17 Thread dean at arctic dot org
--- Comment #5 from dean at arctic dot org 2009-09-17 10:54 --- (In reply to comment #4) >0: b8 80 ff ff ff mov$0xff80,%eax >5: 6a 80 pushq $0xff80 >7: 58 pop%rax > should be: 0

[Bug target/32803] -Os: shorter load immediates for x86_64

2009-09-17 Thread dean at arctic dot org
--- Comment #4 from dean at arctic dot org 2009-09-17 10:51 --- (In reply to comment #3) > For the push/pop you need to add 2 bytes to the CFI which makes it useless > compared to mov $imm32,reg. > note that my push/pop example said -128..127 and "push $imm8"

[Bug target/32803] -Os: shorter load immediates for x86_64

2009-09-17 Thread dean at arctic dot org
--- Comment #2 from dean at arctic dot org 2009-09-17 10:28 --- stop closing bugs you have no understanding of. -- dean at arctic dot org changed: What|Removed |Added

[Bug target/34653] unnecessary REX prefix

2009-09-17 Thread dean at arctic dot org
--- Comment #4 from dean at arctic dot org 2009-09-17 10:27 --- (In reply to comment #2) > 32bit moves and other instructions _SIGN_EXTEND_ results to 64bits on x86_64 wait i just reread your statement. the amd64 ISA zero-extends 32-bit register writes out to 64-bits. please go r

[Bug target/34653] unnecessary REX prefix

2009-09-17 Thread dean at arctic dot org
--- Comment #3 from dean at arctic dot org 2009-09-17 10:23 --- (In reply to comment #2) > (In reply to comment #1) > > > and in this case the "mov %rdx,%rax" could be "mov %edx,%eax" because of the > > dominating movzbl. > > 32bit moves and

[Bug middle-end/27986] [4.0/4.1/4.2/4.3/4.4 Regression] jump to middle of loop on entry with using old version of an variable

2008-02-19 Thread dean at arctic dot org
--- Comment #11 from dean at arctic dot org 2008-02-19 17:42 --- Subject: Re: [4.0/4.1/4.2/4.3 Regression] jump to middle of loop on entry with using old version of an variable On Mon, 19 Feb 2008, xinliangli at gmail dot com wrote: > Note that assignment of s0 = s in the loop

[Bug target/34653] unnecessary REX prefix

2008-01-03 Thread dean at arctic dot org
--- Comment #1 from dean at arctic dot org 2008-01-03 19:27 --- oops i should have used an "unsigned long" for the tag rather than unsigned long long, not that it matters much. here's an expanded example showing another unnecessary REX: extern unsigned long table[]; un

[Bug target/34653] New: unnecessary REX prefix

2008-01-03 Thread dean at arctic dot org
: unassigned at gcc dot gnu dot org ReportedBy: dean at arctic dot org GCC build triplet: x86_64-unknown-linux-gnu GCC host triplet: x86_64-unknown-linux-gnu GCC target triplet: x86_64-unknown-linux-gnu http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34653

[Bug target/34256] mmx and movd/movq on x86_64

2007-11-27 Thread dean at arctic dot org
--- Comment #1 from dean at arctic dot org 2007-11-28 01:43 --- this appears to be a regression between gcc 4.1.x and 4.2.x. i had to switch the intrinsic to _mm_cvtsi64_si64x but it otherwise generates the same code on 4.3.x... ubuntu 4.1.2: % objdump -dr movq.o movq.o: file

[Bug target/34256] New: mmx and movd/movq on x86_64

2007-11-27 Thread dean at arctic dot org
64 Product: gcc Version: 4.3.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: target AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: dean at arctic dot org GCC build triplet: x86_64-unknown-linux-gnu GCC ho

[Bug target/32869] _mm_cvtsi64x_si128/_mm_cvtsi64_si128 are valid in 32-bit x86 code as well

2007-10-30 Thread dean at arctic dot org
--- Comment #1 from dean at arctic dot org 2007-10-30 18:43 --- apparently the approved intrinsics for the "movq xmm,m64" / "movq m64,xmm" instructions are _mm_loadl_epi64 and _mm_storel_epi64. i've asked intel to add these to the ISA documentation because they

[Bug target/33944] New: streaming 64-bit integer stores

2007-10-29 Thread dean at arctic dot org
mponent: target AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: dean at arctic dot org GCC build triplet: x86_64-unknown-linux-gnu GCC host triplet: x86_64-unknown-linux-gnu GCC target triplet: x86_64-unknown-linux-gnu http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33944

[Bug target/32869] New: _mm_cvtsi64x_si128/_mm_cvtsi64_si128 are valid in 32-bit x86 code as well

2007-07-23 Thread dean at arctic dot org
nu dot org ReportedBy: dean at arctic dot org GCC build triplet: i686-unknown-linux-gnu GCC host triplet: i686-unknown-linux-gnu GCC target triplet: i686-unknown-linux-gnu http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32869

[Bug target/32803] New: -Os: shorter load immediates for x86_64

2007-07-17 Thread dean at arctic dot org
-- Summary: -Os: shorter load immediates for x86_64 Product: gcc Version: 4.3.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: target AssignedTo: unassigned at gcc dot gnu dot org ReportedB

[Bug tree-optimization/31521] / conversion to >> is not done when the divisor can be zero

2007-04-10 Thread dean at arctic dot org
--- Comment #3 from dean at arctic dot org 2007-04-10 09:38 --- nice... that seems to do the trick on idiv-assert.c: 10: 89 df mov%ebx,%edi 12: 83 c3 01add$0x1,%ebx 15: c1 ff 02sar$0x2,%edi 18: e8 00 00 00 00

[Bug pending/31521] New: strength-reduce idiv given assertion numerator is positive

2007-04-10 Thread dean at arctic dot org
Priority: P3 Component: pending AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: dean at arctic dot org GCC build triplet: x86_64-unknown-linux-gnu GCC host triplet: x86_64-unknown-linux-gnu GCC target triplet: x86_64-unknown-linux-gnu http://gcc.gnu.org/bugzill

[Bug target/30829] New: extra register move to self

2007-02-16 Thread dean at arctic dot org
omponent: target AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: dean at arctic dot org GCC build triplet: x86_64-unknown-linux-gnu GCC host triplet: x86_64-unknown-linux-gnu GCC target triplet: x86_64-unknown-linux-gnu http://gcc.gnu.org/bugzilla/show_bug.cgi?id=30829

[Bug target/29776] New: result of ffs/clz/ctz/popcount/parity are already sign-extended

2006-11-08 Thread dean at arctic dot org
org ReportedBy: dean at arctic dot org GCC build triplet: x86_64-unknown-linux-gnu GCC host triplet: x86_64-unknown-linux-gnu GCC target triplet: x86_64-unknown-linux-gnu http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29776

[Bug target/29775] New: redundant movzbl

2006-11-08 Thread dean at arctic dot org
t gnu dot org ReportedBy: dean at arctic dot org GCC build triplet: x86_64-unknown-linux-gnu GCC host triplet: x86_64-unknown-linux-gnu GCC target triplet: x86_64-unknown-linux-gnu http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29775

[Bug pending/27986] New: unnecessary jump to middle of loop on entry

2006-06-10 Thread dean at arctic dot org
gcc dot gnu dot org ReportedBy: dean at arctic dot org GCC build triplet: x86_64-linux-gnu GCC host triplet: x86_64-linux-gnu GCC target triplet: x86_64-linux-gnu http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27986

gcc-bugs@gcc.gnu.org

2006-06-08 Thread dean at arctic dot org
2.0 Status: UNCONFIRMED Severity: enhancement Priority: P3 Component: pending AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: dean at arctic dot org GCC build triplet: x86_64-linux-gnu GCC host triplet: x86_64-linux-gnu GCC targ