r246127 - in /branches/gcc-6-branch/gcc: Change...
acsawdey@gcc.gnu.org
acsawdey@gcc.gnu.org
Tue Mar 14 14:43:00 GMT 2017
Author: acsawdey
Date: Tue Mar 14 14:43:03 2017
New Revision: 246127
URL: https://gcc.gnu.org/viewcvs?rev=246127&root=gcc&view=rev
Log:
This showed up in power9 code for __divkf3 software float support and
caused a divd to be emitted where we needed a divdu.
Index: gcc/config/rs6000/rs6000.md
===================================================================
--- gcc/config/rs6000/rs6000.md (revision 246123)
+++ gcc/config/rs6000/rs6000.md (working copy)
@@ -3063,8 +3063,8 @@
&& ! reg_mentioned_p (operands[3], operands[1])
&& ! reg_mentioned_p (operands[3], operands[2])"
[(set (match_dup 0)
- (div:GPR (match_dup 1)
- (match_dup 2)))
+ (udiv:GPR (match_dup 1)
+ (match_dup 2)))
(set (match_dup 3)
(mult:GPR (match_dup 0)
(match_dup 2)))
2017-03-14 Aaron Sawdey <acsawdey@linux.vnet.ibm.com>
Backport from mainline
2017-02-28 Aaron Sawdey <acsawdey@linux.vnet.ibm.com>
PR target/79752
* config/rs6000/rs6000.md (peephole2 for udiv/umod): Should emit
udiv rather than div since input pattern is unsigned.
Modified:
branches/gcc-6-branch/gcc/ChangeLog
branches/gcc-6-branch/gcc/config/rs6000/rs6000.md
More information about the Gcc-cvs
mailing list