Last alignment change for MEM tracking

David Edelsohn dje@watson.ibm.com
Tue Nov 13 15:03:00 GMT 2001


	Are things suppose to be working now?  I find that I still need
the following patch to rs6000.c to avoid "too many arguments" error.

David

Index: rs6000.c
===================================================================
RCS file: /cvs/gcc/egcs/gcc/config/rs6000/rs6000.c,v
retrieving revision 1.236
diff -c -p -r1.236 rs6000.c
*** rs6000.c	2001/11/16 01:06:37	1.236
--- rs6000.c	2001/11/19 23:12:32
*************** rs6000_emit_move (dest, source, mode)
*** 1935,1940 ****
--- 1935,1941 ----
  	operands[1] = force_const_mem (mode, operands[1]);
        break;
  
+     case TFmode:
      case DFmode:
      case SFmode:
        if (CONSTANT_P (operands[1]) 
*************** rs6000_emit_eh_toc_restore (stacksize)
*** 6594,6600 ****
    emit_label (loop_start);
    
    do_compare_rtx_and_jump (opcode, tocompare, NE, 1,
! 			   SImode, NULL_RTX, 0, NULL_RTX,
  			   no_toc_restore_needed);
    
    mem = gen_rtx_MEM (Pmode, 
--- 6595,6601 ----
    emit_label (loop_start);
    
    do_compare_rtx_and_jump (opcode, tocompare, NE, 1,
! 			   SImode, NULL_RTX, NULL_RTX,
  			   no_toc_restore_needed);
    
    mem = gen_rtx_MEM (Pmode, 
*************** rs6000_emit_eh_toc_restore (stacksize)
*** 6604,6610 ****
  
    emit_label (no_toc_restore_needed);
    do_compare_rtx_and_jump (top_of_stack, bottom_of_stack, EQ, 1,
! 			   Pmode, NULL_RTX, 0, NULL_RTX,
  			   loop_exit);
  
    mem = gen_rtx_MEM (Pmode, bottom_of_stack);
--- 6605,6611 ----
  
    emit_label (no_toc_restore_needed);
    do_compare_rtx_and_jump (top_of_stack, bottom_of_stack, EQ, 1,
! 			   Pmode, NULL_RTX, NULL_RTX,
  			   loop_exit);
  
    mem = gen_rtx_MEM (Pmode, bottom_of_stack);



More information about the Gcc-patches mailing list