--- trunk/gcc/lra-eliminations.c	2015/02/04 20:00:48	220415
+++ trunk/gcc/lra-eliminations.c	2015/02/04 20:02:21	220416
@@ -182,6 +182,8 @@
   if (! value
       && ep->from == FRAME_POINTER_REGNUM && ep->to == STACK_POINTER_REGNUM)
     frame_pointer_needed = 1;
+  if (!frame_pointer_needed)
+    REGNO_POINTER_ALIGN (HARD_FRAME_POINTER_REGNUM) = 0;
 }
 
 /* Map: eliminable "from" register -> its current elimination,