[Bug target/69663] New: [ARM] Implement overflow arithmetic standard names {u,}{add,sub,mul}v4

2016-02-03 Thread michael.collison at linaro dot org
: enhancement Priority: P3 Component: target Assignee: unassigned at gcc dot gnu.org Reporter: michael.collison at linaro dot org Target Milestone: --- Similar to https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68543 for aarch64, implement overflow arithmetic standard

[Bug target/70008] New: [ARM] Reverse subtract with carry can be generated in thumb2 mode

2016-02-28 Thread michael.collison at linaro dot org
Priority: P3 Component: target Assignee: unassigned at gcc dot gnu.org Reporter: michael.collison at linaro dot org Target Milestone: --- The following pattern in arm.md allows the 'rsc' instruction to be generated in thumb2 mode. (define_insn "

[Bug target/70014] New: [ARM] Predicate does not match constraint (*subsi3_carryin_const)

2016-02-28 Thread michael.collison at linaro dot org
Priority: P3 Component: target Assignee: unassigned at gcc dot gnu.org Reporter: michael.collison at linaro dot org Target Milestone: --- The predicate of operand 1 of the "*subsi3_carryin_const" pattern: (define_insn "*subsi3_carryin

[Bug target/70008] [ARM] Reverse subtract with carry can be generated in thumb2 mode

2016-03-02 Thread michael.collison at linaro dot org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70008 --- Comment #2 from Michael Collison --- Richard, As discussed upstream you are correct.

[Bug rtl-optimization/69008] gcc emits unneeded memory access when passing trivial structs by value (ARM)

2016-05-17 Thread michael.collison at linaro dot org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69008 Michael Collison changed: What|Removed |Added Component|target |rtl-optimization --- Comment #3 from

[Bug rtl-optimization/82597] [8 Regression] ICE at -O2 and -O3 x86_64-linux-gnu in the 32-bit mode: in extract_constrain_insn, at recog.c:2207

2017-10-19 Thread michael.collison at linaro dot org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82597 Michael Collison changed: What|Removed |Added CC||michael.collison at linaro dot org

[Bug rtl-optimization/82597] [8 Regression] ICE at -O2 and -O3 x86_64-linux-gnu in the 32-bit mode: in extract_constrain_insn, at recog.c:2207

2017-10-19 Thread michael.collison at linaro dot org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82597 --- Comment #6 from Michael Collison --- Yes I am aware of that report. I have a fix that should be sent to gcc-patches shortly.

[Bug debug/61033] New: Infinite loop in variable tracking

2014-05-01 Thread michael.collison at linaro dot org
Assignee: unassigned at gcc dot gnu.org Reporter: michael.collison at linaro dot org Created attachment 32722 --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=32722&action=edit Preprocssed file to reproduce bug Data flow analysis in variable tracking does not converge and ca

[Bug debug/61033] [4.8/4.9 Regression] Infinite loop in variable tracking

2015-05-20 Thread michael.collison at linaro dot org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61033 Michael Collison changed: What|Removed |Added Assignee|michael.collison at linaro dot org |mkuvyrkov at gcc dot gnu.org

[Bug target/68223] New: [arm] arm_[su]min_cmp pattern fails

2015-11-05 Thread michael.collison at linaro dot org
Assignee: unassigned at gcc dot gnu.org Reporter: michael.collison at linaro dot org Target Milestone: --- The patterns arm_smin_cmp and arm_umin_cmp which were added to optimize code such as #define min(x, y) ((x) <= (y)) ? (x) : (y) unsigned int foo (unsigned int i, unsigned

[Bug target/68223] [arm] arm_[su]min_cmp pattern fails

2015-11-05 Thread michael.collison at linaro dot org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68223 Michael Collison changed: What|Removed |Added Target||armeb-none-linux-gnueabihf --- Commen

[Bug target/68494] New: [ARM] Use vector multiply by lane

2015-11-22 Thread michael.collison at linaro dot org
Assignee: unassigned at gcc dot gnu.org Reporter: michael.collison at linaro dot org Target Milestone: --- The following test case should utilize vector multiply by a single lane. short taps[4]; void fir_t5(int len, short * __restrict p, short *__restrict x, short *__restrict

[Bug target/68494] [ARM] Use vector multiply by lane

2015-11-24 Thread michael.collison at linaro dot org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68494 --- Comment #2 from Michael Collison --- Sorry here is the updated test case. #define NTAPS 4 short taps[NTAPS]; void fir_t5(int len, short * __restrict p, short *__restrict x, short *__restrict taps) { len = len & ~31; for (int i = 0; i <

[Bug target/68532] New: [ARM] Incorrect code result on arm big endian

2015-11-24 Thread michael.collison at linaro dot org
: target Assignee: unassigned at gcc dot gnu.org Reporter: michael.collison at linaro dot org Target Milestone: --- The following test case produces the incorrect answer on arm big endian with the following options: -O2 -ftree-vectorize -fno-vect-cost-model -mcpu=cortex-a8

[Bug debug/61033] [4.8/4.9 Regression] Infinite loop in variable tracking

2014-08-04 Thread michael.collison at linaro dot org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61033 --- Comment #7 from Michael Collison --- Charlie, I still feel that the var tracking pass should be able to protect itself from an infinite loop. On 8/4/2014 11:43 AM, cbaylis at gcc dot gnu.org wrote: > https://gcc.gnu.org/bugzilla/show_bug.c

[Bug rtl-optimization/63365] New: [ARM] Incorrect copy propagation for vclz intrinsic

2014-09-24 Thread michael.collison at linaro dot org
Component: rtl-optimization Assignee: unassigned at gcc dot gnu.org Reporter: michael.collison at linaro dot org Created attachment 33558 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=33558&action=edit Test case demonstrating incorrect code generation for vclz Compil

[Bug target/67322] [Aarch64] Exploit Wide Add operations when appropriate

2015-12-06 Thread michael.collison at linaro dot org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67322 --- Comment #1 from Michael Collison --- Fixed via: URL: https://gcc.gnu.org/viewcvs/gcc?view=revision&revision=230853 r230853 | collison | 2015-11-24 23:51:55 -0700 (Tue, 24 Nov 2015) | 15 lines 2015-11-24 Michael Collison * config

[Bug target/67322] [Aarch64] Exploit Wide Add operations when appropriate

2015-12-06 Thread michael.collison at linaro dot org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67322 Michael Collison changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution|---

[Bug target/68494] [ARM] Use vector multiply by lane

2015-12-06 Thread michael.collison at linaro dot org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68494 --- Comment #3 from Michael Collison --- Previous discussion thread here: https://gcc.gnu.org/ml/gcc/2013-09/msg00061.html

[Bug target/68543] [AArch64] Implement overflow arithmetic standard names {u,}{add,sub,mul}v4 and/or negv3

2015-12-10 Thread michael.collison at linaro dot org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68543 --- Comment #2 from Michael Collison --- Great idea I will look into this. On 12/10/2015 4:02 AM, ktkachov at gcc dot gnu.org wrote: > https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68543 > > --- Comment #1 from ktkachov at gcc dot gnu.org --- > M

[Bug target/68543] [AArch64] Implement overflow arithmetic standard names {u,}{add,sub,mul}v4 and/or negv3

2015-12-11 Thread michael.collison at linaro dot org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68543 --- Comment #4 from Michael Collison --- Okay thanks. After looking into the topic I did not see the direct connection either. On 12/11/2015 7:21 AM, ktkachov at gcc dot gnu.org wrote: > https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68543 > > --

[Bug tree-optimization/67323] Use non-unit stride loads by preference when applicable

2016-01-13 Thread michael.collison at linaro dot org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67323 --- Comment #8 from Michael Collison --- Hi Richard, I tried this with trunk and was unable to generate the vld3. What vectorizer options did you use?

[Bug tree-optimization/67323] Use non-unit stride loads by preference when applicable

2016-01-14 Thread michael.collison at linaro dot org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67323 --- Comment #11 from Michael Collison --- Andrew, It may be the case that is not a win on all microarchitectures however I think we should allow the vectorizer to (optionally) generate the vld3 and deal with the differences via the cost models.

[Bug middle-end/67320] New: Incorrect standard names for wide addition

2015-08-22 Thread michael.collison at linaro dot org
-end Assignee: unassigned at gcc dot gnu.org Reporter: michael.collison at linaro dot org Target Milestone: --- The internals documentation shows the standard names for widen addition as: ssum_widenm3 usum_widenm3 In fact the standard names used by the compiler are

[Bug middle-end/67320] Incorrect standard names for wide addition

2015-08-22 Thread michael.collison at linaro dot org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67320 --- Comment #1 from Michael Collison --- Created attachment 36241 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=36241&action=edit Patch for widening addition doc Proposed patch to fix wide addition documentation errors.

[Bug other/57195] Mode attributes with specific mode iterator can not be used as mode iterators in *.md files

2015-08-22 Thread michael.collison at linaro dot org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=57195 Michael Collison changed: What|Removed |Added CC||michael.collison at linaro dot org

[Bug target/67321] New: [ARM] Exploit Wide Add operations when appropriate

2015-08-22 Thread michael.collison at linaro dot org
: target Assignee: unassigned at gcc dot gnu.org Reporter: michael.collison at linaro dot org Target Milestone: --- Wide add operations are not always being generated for mixed mode adds as shown by the following test case: int wadd_test(int len, void * dummy, short

[Bug target/67321] [ARM] Exploit Wide Add operations when appropriate

2015-08-22 Thread michael.collison at linaro dot org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67321 --- Comment #1 from Michael Collison --- Created attachment 36242 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=36242&action=edit Patch to generate arm vaddw

[Bug target/67322] New: [Aarch64] Exploit Wide Add operations when appropriate

2015-08-22 Thread michael.collison at linaro dot org
Component: target Assignee: unassigned at gcc dot gnu.org Reporter: michael.collison at linaro dot org Target Milestone: --- Wide add operations are not always being generated for mixed mode adds as shown by the following test case: int wadd_test(int len, void * dummy, short

[Bug tree-optimization/67323] New: Use non-unit stride loads by preference when applicable

2015-08-22 Thread michael.collison at linaro dot org
Priority: P3 Component: tree-optimization Assignee: unassigned at gcc dot gnu.org Reporter: michael.collison at linaro dot org Target Milestone: --- On arm targets the following code fails to generate a vld3: struct pixel { char r,g,b; }; void t2(int len, struct pixel

[Bug other/57195] Mode attributes with specific mode iterator can not be used as mode iterators in *.md files

2015-08-23 Thread michael.collison at linaro dot org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=57195 --- Comment #5 from Michael Collison --- On 08/23/2015 04:50 AM, segher at gcc dot gnu.org wrote: > https://gcc.gnu.org/bugzilla/show_bug.cgi?id=57195 > > --- Comment #4 from Segher Boessenkool --- > Hello Michael, Hi Segher, > > Patches should

[Bug tree-optimization/67323] Use non-unit stride loads by preference when applicable

2015-08-25 Thread michael.collison at linaro dot org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67323 --- Comment #2 from Michael Collison --- Richard, Should I create a test case that fails until you resolve this in GCC 6? On 08/25/2015 02:14 AM, rguenth at gcc dot gnu.org wrote: > https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67323 > > Richard

[Bug tree-optimization/67323] Use non-unit stride loads by preference when applicable

2015-08-25 Thread michael.collison at linaro dot org
omment #3 from rguenther at suse dot de --- > On Tue, 25 Aug 2015, michael.collison at linaro dot org wrote: > >> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67323 >> >> --- Comment #2 from Michael Collison --- >> Richard, >> >> Should I create a test ca