final_addr_vec_align bug fix

Joern Rennecke amylaar@redhat.com
Tue Dec 5 19:11:00 GMT 2000


The alignment calculated vy final_addr_vec_align is currently
first calculated as a p2align-style alignemnt, and then clipped
to BIGGEST_ALIGNMENT.
It has to be the other way round, since BIGGEST_ALIGNMENT is not
a p2align-style alignment, but a balign-style one.

Wed Dec  6 03:05:43 2000  J"orn Rennecke <amylaar@redhat.com>

	* final.c (final_addr_vec_align): Fix clipping to BIGGEST_ALIGNMENT.

Index: final.c
===================================================================
RCS file: /cvs/cvsfiles/devo/gcc/final.c,v
retrieving revision 1.203
diff -p -r1.203 final.c
*** final.c	2000/11/23 06:37:21	1.203
--- final.c	2000/12/06 03:05:39
*************** static int
*** 811,821 ****
  final_addr_vec_align (addr_vec)
       rtx addr_vec;
  {
!   int align = exact_log2 (GET_MODE_SIZE (GET_MODE (PATTERN (addr_vec))));
  
    if (align > BIGGEST_ALIGNMENT / BITS_PER_UNIT)
      align = BIGGEST_ALIGNMENT / BITS_PER_UNIT;
!   return align;
  
  }
  
--- 811,821 ----
  final_addr_vec_align (addr_vec)
       rtx addr_vec;
  {
!   int align = GET_MODE_SIZE (GET_MODE (PATTERN (addr_vec)));
  
    if (align > BIGGEST_ALIGNMENT / BITS_PER_UNIT)
      align = BIGGEST_ALIGNMENT / BITS_PER_UNIT;
!   return exact_log2 (align);
  
  }
  


More information about the Gcc-patches mailing list