On Wed, 6 Mar 2013, Alan Lehotsky wrote:
> So, am I constructing my RTL incorrectly?
No.
> Do I need to be
> making the clobbers inside a parallel instead of just emitting
> them sequentially?
Exactly.
> (define_insn "*addsi"
> [(set (match_operand:SI 0 "nonimmediate_operand" "=rm,r
> I emit (clobber (reg:CC CCreg)) with every instruction that can set
> condition codes, but it appears that nearly all of them are removed before
> we reach reorg where mark_referenced_resources() or mark_set_resources()
> would detect a conflict of the CCreg's.
Clobbers shouldn't be removed if
I'm using the CCmode model for condition-code handling in a 4.6.1 based
compiler. Every other port I've done used the CC0 model, so I'm probably doing
something misguided here.
I'm down to just 170 failures in the check-gcc testsuites, so it's looking
pretty solid; of the failures about 30 are