[Bug target/35363] Missing bit field coalescing optimization

2021-11-27 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=35363 Andrew Pinski changed: What|Removed |Added Resolution|--- |FIXED Status|NEW

[Bug target/35363] Missing bit field coalescing optimization

2018-04-17 Thread pinskia at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=35363 --- Comment #8 from Andrew Pinski --- There are two issues here, one is SLOW_BYTE_ACCESS and the second is the lowering of bit-fields. I am going to fix the lower part for GCC 9. The SLOW_BTYE_ACCESS was being looked at by someone else in the r

[Bug target/35363] Missing bit field coalescing optimization

2010-11-02 Thread xinliangli at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35363 davidxl changed: What|Removed |Added CC||xinliangli at gmail dot com Version|

[Bug target/35363] Missing bit field coalescing optimization

2008-02-25 Thread rguenth at gcc dot gnu dot org
--- Comment #6 from rguenth at gcc dot gnu dot org 2008-02-25 18:54 --- The IL after MEM_REF lowering looks like bar () { int D.1193; unsigned int D.1192; unsigned int D.1191; unsigned int D.1190; int D.1189; D.1189 = MEM ; D.1190 = (unsigned int) D.1189; D.1191 = D.119

[Bug target/35363] Missing bit field coalescing optimization

2008-02-25 Thread rguenth at gcc dot gnu dot org
--- Comment #5 from rguenth at gcc dot gnu dot org 2008-02-25 18:51 --- With MEM_REF I get on i686 foo: movla, %eax pushl %ebp movl%esp, %ebp popl%ebp andl$-33554240, %eax orl $2074, %eax movl%eax, a

[Bug target/35363] Missing bit field coalescing optimization

2008-02-25 Thread rguenth at gcc dot gnu dot org
--- Comment #4 from rguenth at gcc dot gnu dot org 2008-02-25 18:49 --- So, the same code should be generated for union { struct { int b1: 3; int b2: 3; int b3: 2; int b4: 17; }a; int b; } a; void foo() { a.a.b1 = 2; a.a.b2 = 3; a.a.b4 = 8; } void bar() { a.b = (a.b

[Bug target/35363] Missing bit field coalescing optimization

2008-02-25 Thread rguenth at gcc dot gnu dot org
--- Comment #3 from rguenth at gcc dot gnu dot org 2008-02-25 18:44 --- I would expect the equivalent of int tmp = a; tmp &= 0x0030; // fix the mask to be correct, all bits of b3 tmp |= 2 | 3 | 8; // constant folded and properly shifted a = tmp; I still see three ORs for ppc64