[Bug middle-end/51442] New: volatile bitfields broken on arm

2011-12-06 Thread bconoboy at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51442

 Bug #: 51442
   Summary: volatile bitfields broken on arm
Classification: Unclassified
   Product: gcc
   Version: 4.6.3
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: middle-end
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: bcono...@gmail.com


[Bug middle-end/51442] volatile bitfields broken on arm

2011-12-06 Thread bconoboy at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51442

--- Comment #1 from Brendan Conoboy  2011-12-06 
21:02:22 UTC ---
This bug is in reference to the patch that Diego Novillo accepted into 4.7
about 10 months ago:

http://gcc.gnu.org/ml/gcc-patches/2011-03/msg01477.html

The issue is still present in gcc 4.6.x and the same patch resolves the issue. 
This is a problem for all gcc 4.6-based ARM targets.

In Debian, the discussion and resolution is here:

http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=625825

Linaro and Ubuntu use the same patch.  Discussion here:

https://bugs.launchpad.net/gcc-linaro/+bug/675347

We've been carrying the patch in Fedora-ARM as well.  Without the patch applied
the USB stack is broken on ARM, as are various KDE/Qt builds.


[Bug middle-end/51442] volatile bitfields broken on arm

2011-12-06 Thread bconoboy at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51442

--- Comment #2 from Brendan Conoboy  2011-12-06 
21:12:46 UTC ---
Created attachment 26010
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=26010
Only use BLKmode for volatile accesses which are not naturally aligned.

Per Julian Brown's original email at
http://gcc.gnu.org/ml/gcc-patches/2011-03/msg01477.html:

gcc/
* expr.c (expand_expr_real_1): Only use BLKmode for volatile
accesses which are not naturally aligned.


[Bug middle-end/51442] volatile bitfields broken on arm

2011-12-09 Thread bconoboy at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51442

--- Comment #4 from Brendan Conoboy  2011-12-10 
01:49:25 UTC ---
FYI, I've checked out svn://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch
revision 182172, run and rerun the complete testsuite before and after this
patch (As well as the patch Richard pointed at:
http://gcc.gnu.org/ml/gcc-patches/2011-11/msg01390/volatile-bitfields-1110.patch)
on an x86_64 host.  The results are as follows:

objc, gfortran, libstdc++-v3, libjava, libmudflap, libffi, libgomp: identical
gcc: 2 new passes (These are from the testcase added by the second patch). 
Otherwise identical.

To me this suggests there is very little risk in adding these patches to the
branch.  Likewise, there is a great deal to be gained for ARM users.