Patch for i386.md to fix SF / DF / XF move inconsistencies.

Jeffrey A Law law@cygnus.com
Sun Apr 5 20:35:00 GMT 1998


  In message < 199804052006.QAA07222@jwlab.FEITH.COM >you write:
  > [ This patch has been updated for egcs-980328 and replaces the ones
  >   sent in January. ]
  > 
  > This patch changes the SF / DF / XF move patterns so that they work
  > in a fashion similar to the integer patterns.  These changes seem
  > to be worth about 3-5% speed increase on the BRL-CAD ray tracing
  > benchmark.
  > 
  > ChangeLog:
  > 
  > Sun Apr  5 15:55:34 EDT 1998  John Wehle  (john@feith.com)
  > 
  > 	* i386.md (movsf_push, movsf_mem): Remove.
  > 	(movsf_push): Rename from movsf_push_nomove and move in front of
  > 	movsf.  Use nonmemory_operand predicate and don't bother checking
  > 	TARGET_MOVE.
  > 	(movsf_push_memory): New pattern.
  > 	(movsf): Don't bother checking for push_operand.  If TARGET_MOVE and
  > 	both operands refer to memory then force operand[1] into a register.
  > 	(movsf_normal): Change to unnamed pattern.
  > 	Likewise for movdf, movxf, and friends.
Thanks.  I installed this.

FYI, it turns out to be a 2.5% overall improvement on specfp92 on
my ppro.

In case you want to do further tuning, 034.mdljdp2 and 047.tomcatv
each run about 5% slower with your patch.  

jeff




More information about the Gcc-bugs mailing list