This is the mail archive of the
mailing list for the GCC project.
Re: Updated Patch for i386.md to fix SF / DF / XF move inconsistencies.
- To: john at feith dot com (John Wehle)
- Subject: Re: Updated Patch for i386.md to fix SF / DF / XF move inconsistencies.
- From: Jeffrey A Law <law at cygnus dot com>
- Date: Tue, 24 Mar 1998 00:09:24 -0700
- cc: egcs-bugs at cygnus dot com, wilson at cygnus dot com
- Reply-To: law at cygnus dot com
In message <199801190505.AAA20631@jwlab.FEITH.COM>you write:
> [ This patch replaces the one sent on January 17, 1998. ]
> 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
> Sun Jan 18 23:36:51 EST 1998 John Wehle (firstname.lastname@example.org)
> * i386.md (movsf_push, movdf_push, movxf_push): Use
> nonmemory_operand predicate.
> (movsf_push_memory, movdf_push_memory, movxf_push_memory): Move
> after corresponding push pattern.
> (movsf_normal, movdf_normal, movxf_normal): Revert Jan 17 change.
> Also change to unnamed pattern.
> Sat Jan 17 21:48:48 EST 1998 John Wehle (email@example.com)
> * i386.md (movsf_push, movsf_mem): Remove.
> (movsf_push_memory): New pattern.
> (movsf_push): Rename from movsf_push_nomove and move in front of
> movsf. Don't bother checking TARGET_MOVE.
> (movsf): Don't bother checking for push_operand. If TARGET_MOVE and
> both operands refer to memory then force operand into a register.
> (movsf_normal): Don't check for !TARGET_MOVE or GET_CODE (...) != MEM.
> Likewise for movdf, movxf, and friends.
I've got your paperwork now, so we can start to move forward on this
patch. (I'll be making a copy and forwarding it to RMS immediately).
I was going to benchmark it on spec92, but it doesn't apply to the
current egcs sources. Any chance you could update the patch and
Let's get the movXX patterns dealt with first, then move on to the