http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52203
--- Comment #8 from Andrey Belevantsev <abel at gcc dot gnu.org> 2012-02-14 06:56:10 UTC --- Sorry, I didn't explain clearly from the start. Regarding the backend, I just wanted to double check that for the given insn not having a reservation is correct. Now that Uros confirmed this, I can proceed with the scheduler patch. Uros and Steven, regarding the big picture, you can read the thread on PR 49014, starting from http://gcc.gnu.org/ml/gcc-patches/2011-05/msg01801.html (our first discussions with Bernd) and initial patch with the remainder of the thread at http://gcc.gnu.org/ml/gcc-patches/2011-07/msg00045.html. Basically, we allow insns that recog as >=0 but do not change the DFA state, such insns do not get counted against issue rate. I was wondering whether we could mark such insns specially in the MD files and then assert that any other real insn should affect the DFA. The reason for this was that at least three real backend bugs (missing DFA attributes) were fixed due to the more strict checking the selective scheduler makes wrt the Haifa scheduler. Suprisingly, I could bootstrap x86-64 with just some hours of work with the patch from http://gcc.gnu.org/ml/gcc-patches/2011-07/msg00045.html (the patch marks the offending insns with the new attribute and adds an assert; Uros, if you can spot any insns there that indeed should have a reservation, I can make a patch fixing those). However, at the time I gave in pursuing this work further, as nobody was very fascinated with the idea and I didn't have much free time.