This showed up in power9 code for __divkf3 software float support and caused a divd to be emitted where we needed a divdu. OK for trunk if bootstrap/regtest passes?
Index: ../trunk/gcc/config/rs6000/rs6000.md =================================================================== --- ../trunk/gcc/config/rs6000/rs6000.md (revision 245787) +++ ../trunk/gcc/config/rs6000/rs6000.md (working copy) @@ -3161,7 +3161,7 @@ && ! reg_mentioned_p (operands[3], operands[1]) && ! reg_mentioned_p (operands[3], operands[2])" [(set (match_dup 0) - (div:GPR (match_dup 1) + (udiv:GPR (match_dup 1) (match_dup 2))) (set (match_dup 3) (mult:GPR (match_dup 0) 2017-02-28 Aaron Sawdey <acsaw...@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. -- Aaron Sawdey, Ph.D. acsaw...@linux.vnet.ibm.com 050-2/C113 (507) 253-7520 home: 507/263-0782 IBM Linux Technology Center - PPC Toolchain