Patch for i386.md to fix SF / DF / XF move inconsistencies.
Jeffrey A Law
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
> Sun Apr 5 15:55:34 EDT 1998 John Wehle (email@example.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
> (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 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
In case you want to do further tuning, 034.mdljdp2 and 047.tomcatv
each run about 5% slower with your patch.
More information about the Gcc-bugs