On 27.05.2022 10:57, Uros Bizjak wrote: > On Fri, May 27, 2022 at 10:05 AM Jan Beulich <jbeul...@suse.com> wrote: >> >> It's pretty clear that the operand numbers in the MEM_P() checks are >> off by one, perhaps due to a copy-and-paste oversight (unlike in most >> other places here we're dealing with two outputs). >> --- >> What I don't understand is why operand 2 is "nonimmediate_operand", not >> "register_operand" (which afaict would eliminate the need for these >> MEM_P() checks). This would then also extend to e.g. the subsequent >> umul<mode><dwi>3_1 and mul<mode><dwi>3_1 (and apparently quite a few >> more). > > Because they are commutative (due to % operand modifier) and reload > can put memory operand into each operand. > > Patch is OK with the appropriate ChangeLog entry.
Thanks, and yes, I did notice I failed to add a ChangeLog entry right after sending (being a result of such no longer be required in binutils, which I work more frequently with), sorry. This is what I did add already: gcc/ 2022-05-XX Jan Beulich <jbeul...@suse.com> * config/i386/i386.md (bmi2_umul<mode><dwi>3_1): Correct MEM_P() arguments. Jan