https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117476
--- Comment #12 from David Binderman <dcb314 at hotmail dot com> --- (In reply to Alexey Merzlyakov from comment #11) > To verify the "outside mode N" part, we need to change > > & ~GET_MODE_MASK (mode)) == 0) > > to the: > > & ~GET_MODE_MASK(GET_MODE (op))) == 0) > > as "op" is in "N" mode, not in "mode" (M) itself. A couple of minor points: 1. gcc source code is packed full of random macros ;-| A more stylish solution might be using some sort of an accessor function. That might make generalising this solution across the whole source code file of the bugfix easier. 2. > If this turns out to be true, I will elaborate a patch to fix this issue in > the coming days. For bugfixes of this nature, I can strongly recommend that thousands of runs of csmith are very useful for testing. That's how I found this one. Every gcc build gets 3,000 runs of csmith before going onto more serious testing.