[PATCH] Fix lrint<mode>2 expander

Richard Guenther rguenther@suse.de
Mon Jul 18 13:16:00 GMT 2005


As out-of-bounds array accesses currently ICE for me in my
work tree I catched this :)

Ok for mainline?

Richard.


2005-07-18  Richard Guenther  <rguenther@suse.de>

	* config/i386/i386.md (lrint<mode>2): Use temporary
	instead of clobbering non-existant memory.

Index: config/i386/i386.md
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/i386/i386.md,v
retrieving revision 1.645
diff -c -3 -p -r1.645 i386.md
*** config/i386/i386.md	12 Jul 2005 09:20:12 -0000	1.645
--- config/i386/i386.md	18 Jul 2005 13:12:18 -0000
***************
*** 16233,16241 ****
      emit_insn (gen_fist<mode>2 (operands[0], operands[1]));
    else
      {
!       operands[2] = assign_386_stack_local (<MODE>mode, SLOT_TEMP);
        emit_insn (gen_fist<mode>2_with_temp (operands[0], operands[1],
! 					    operands[2]));
      }
    DONE;
  })
--- 16233,16241 ----
      emit_insn (gen_fist<mode>2 (operands[0], operands[1]));
    else
      {
!       rtx op = assign_386_stack_local (<MODE>mode, SLOT_TEMP);
        emit_insn (gen_fist<mode>2_with_temp (operands[0], operands[1],
! 					    op));
      }
    DONE;
  })



More information about the Gcc-patches mailing list