https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65220
--- Comment #6 from Aldy Hernandez <aldyh at gcc dot gnu.org> --- Created attachment 34886 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=34886&action=edit corrected patch I cheated and looked at test results before bootstrap. There I found that gcc.dg/torture/calleesave-sse.c failed because main() was trying to read %rdx uninitialized. This happened because the splitter was reading from operand 0 which had garbage in it. What perhaps was wanted was operand 2. Also, I saw somewhere else that a division by zero was being generated, which later caused an unrecognizable insn ICE. This was easy to fix with "UINTVAL (operands[3]) != 0". Corrected patch attached and being tested.