[Bug target/91043] GCC produces unaligned vmovdqa vector data access

2019-07-02 Thread hhaim at cisco dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91043 Hanoch Haim changed: What|Removed |Added Status|REOPENED|RESOLVED Resolution|---

[Bug target/91043] GCC produces unaligned vmovdqa vector data access

2019-07-02 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91043 --- Comment #24 from Richard Biener --- (In reply to Richard Biener from comment #23) > (In reply to Hanoch Haim from comment #22) > > > > "Of course it does, because without aligning the container you cannot have > > aligned members. Maximum

[Bug target/91043] GCC produces unaligned vmovdqa vector data access

2019-07-02 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91043 --- Comment #23 from Richard Biener --- (In reply to Hanoch Haim from comment #22) > > "Of course it does, because without aligning the container you cannot have > aligned members. Maximum alignment always propagates outwards." > > Sorry,

[Bug target/91043] GCC produces unaligned vmovdqa vector data access

2019-07-02 Thread hhaim at cisco dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91043 --- Comment #22 from Hanoch Haim --- "Of course it does, because without aligning the container you cannot have aligned members. Maximum alignment always propagates outwards." Sorry, your answer is still not clear, so let give a short

[Bug target/91043] GCC produces unaligned vmovdqa vector data access

2019-07-02 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91043 --- Comment #21 from Richard Biener --- (In reply to Hanoch Haim from comment #19) > After some investigation, I think it is not a gcc issue, please verify. > One of the internal object does not include a 64B alignment. > > #define

[Bug target/91043] GCC produces unaligned vmovdqa vector data access

2019-07-01 Thread hhaim at cisco dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91043 --- Comment #20 from Hanoch Haim --- One more thing. I would expect that the issue would be in CTimeHistogram functions (defined as aligned) but the code generation issue was in the parent object ( CCPortLatency) Why the compiler assumed that

[Bug target/91043] GCC produces unaligned vmovdqa vector data access

2019-07-01 Thread hhaim at cisco dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91043 --- Comment #19 from Hanoch Haim --- After some investigation, I think it is not a gcc issue, please verify. One of the internal object does not include a 64B alignment. #define __rte_cache_aligned __attribute__((__aligned__(64))); class

[Bug target/91043] GCC produces unaligned vmovdqa vector data access

2019-07-01 Thread amonakov at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91043 Alexander Monakov changed: What|Removed |Added CC||amonakov at gcc dot gnu.org ---

[Bug target/91043] GCC produces unaligned vmovdqa vector data access

2019-07-01 Thread ubizjak at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91043 --- Comment #17 from Uroš Bizjak --- The asm dump claims that the access is aligned to 32bytes: #(insn 14 31 9 2 (set (mem:V4DI (plus:DI (reg/f:DI 3 bx [orig:90 this ] [90]) #(const_int 64 [0x40])) [6 MEM[(long unsigned int

[Bug target/91043] GCC produces unaligned vmovdqa vector data access

2019-07-01 Thread hhaim at cisco dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91043 --- Comment #16 from Hanoch Haim --- The global/parent object CGlobalTRex is aligned (64B) as expected: (gdb) p _trex $1 = (CGlobalTRex *) 0xc365c0 Could you explain why it is a problem to define the internal objects with the aligment like

[Bug target/91043] GCC produces unaligned vmovdqa vector data access

2019-07-01 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91043 --- Comment #15 from Richard Biener --- (In reply to Richard Biener from comment #14) > (In reply to Hanoch Haim from comment #12) > > Removing __rte_cache_aligned does not solve the issue > > > > > > diff --git a/src/time_histogram.h

[Bug target/91043] GCC produces unaligned vmovdqa vector data access

2019-07-01 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91043 --- Comment #14 from Richard Biener --- (In reply to Hanoch Haim from comment #12) > Removing __rte_cache_aligned does not solve the issue > > > diff --git a/src/time_histogram.h b/src/time_histogram.h > index 07e66b49..26a37248 100755 > ---

[Bug target/91043] GCC produces unaligned vmovdqa vector data access

2019-07-01 Thread hhaim at cisco dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91043 --- Comment #13 from Hanoch Haim --- One more thing, The parent object is defined with 64Byte alignment class CGlobalTRex { .. } __rte_cache_aligned; static CGlobalTRex trex;

[Bug target/91043] GCC produces unaligned vmovdqa vector data access

2019-07-01 Thread hhaim at cisco dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91043 Hanoch Haim changed: What|Removed |Added Status|RESOLVED|REOPENED Resolution|INVALID

[Bug target/91043] GCC produces unaligned vmovdqa vector data access

2019-07-01 Thread hhaim at cisco dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91043 --- Comment #11 from Hanoch Haim --- thanks for the quick answer. The parent object is static (bss) and wasn't dynmicly allocated using new/malloc. gcc set the address of the parent object and the childs. Is there a way to solve it without

[Bug target/91043] GCC produces unaligned vmovdqa vector data access

2019-07-01 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91043 Richard Biener changed: What|Removed |Added Status|WAITING |RESOLVED Resolution|---

[Bug target/91043] GCC produces unaligned vmovdqa vector data access

2019-07-01 Thread hhaim at cisco dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91043 --- Comment #9 from Hanoch Haim --- Attached. I hope this is what you are looking for.

[Bug target/91043] GCC produces unaligned vmovdqa vector data access

2019-07-01 Thread hhaim at cisco dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91043 --- Comment #8 from Hanoch Haim --- Created attachment 46542 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=46542=edit stateful_rx_core.ss

[Bug target/91043] GCC produces unaligned vmovdqa vector data access

2019-07-01 Thread hhaim at cisco dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91043 --- Comment #7 from Hanoch Haim --- Created attachment 46541 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=46541=edit stateful_rx_core.ii compress ii