[Bug middle-end/66110] uint8_t memory access not optimized

2015-05-18 Thread kevin at koconnor dot net
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66110 --- Comment #14 from Kevin OConnor --- (In reply to jos...@codesourcery.com from comment #13) > I concur that it would be valid to define those typedefs to be extended > integer types withing the special aliasing properties. The first > sugges

[Bug middle-end/66110] uint8_t memory access not optimized

2015-05-18 Thread kevin at koconnor dot net
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66110 --- Comment #12 from Kevin OConnor --- (In reply to Andreas Schwab from comment #11) > Since typedef does not create a new type the effect of uint8_t is exactly > the same as the type it is defined from. Thus if uint8_t is defined from > unsigne

[Bug middle-end/66110] uint8_t memory access not optimized

2015-05-18 Thread kevin at koconnor dot net
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66110 --- Comment #10 from Kevin OConnor --- I've looked through the C specs (both C99 and C11) and I don't see anything that requires uint8_t (nor int8_t) to be considered "character types". I do see three relevant sections in the spec which I'm incl

[Bug middle-end/66110] uint8_t memory access not optimized

2015-05-13 Thread kevin at koconnor dot net
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66110 --- Comment #8 from Kevin OConnor --- Thanks! I can confirm the latest trunk performs the desired optimization. However, this test case still isn't fully optimized: void f2(struct s1 *ps1, uint8_t *pi8) { ps1->f1 = 3; *pi8 = 8; ps1

[Bug tree-optimization/66110] uint8_t memory access not optimized

2015-05-11 Thread kevin at koconnor dot net
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66110 Kevin OConnor changed: What|Removed |Added Resolution|INVALID |FIXED --- Comment #2 from Kevin OConnor

[Bug tree-optimization/66110] New: uint8_t memory access not optimized

2015-05-11 Thread kevin at koconnor dot net
-optimization Assignee: unassigned at gcc dot gnu.org Reporter: kevin at koconnor dot net Target Milestone: --- It appears that gcc does not do a good job of optimizing memory accesses to 'uint8_t' variables. In particular, it appears as if "strict aliasing" is

[Bug debug/43557] ICE with -combine and -g

2010-04-03 Thread kevin at koconnor dot net
--- Comment #6 from kevin at koconnor dot net 2010-04-04 03:50 --- I've confirmed this fix (r157942) works (both for the test case and for the underlying program - SeaBIOS). SeaBIOS ( http://seabios.org/ ) does run into pr39959, but using --enable-checking=release gets around

[Bug c/43557] New: ICE with -combine and -g

2010-03-28 Thread kevin at koconnor dot net
bine and -g Product: gcc Version: 4.5.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: kevin at koconnor dot net http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43557

[Bug debug/41893] ICE with -combine and debug

2010-03-28 Thread kevin at koconnor dot net
--- Comment #4 from kevin at koconnor dot net 2010-03-28 14:43 --- This problem has returned. The test case above no longer causes the problem - but simply changing the test case to also assign a value to the variable shows the problem. This is with gcc from svn (r157452). New test