When a ptest is used to set flags from the output of rdffr, the ptest
can be eliminated, using a flags-setting rdffrs instead.
* There is no unpredicated RDFFRS instruction.
* RDFFR_P can take the predicate argument of the PTEST into the mask
argument of the RDFFRS_PP.
* If substituting RDFFR_PP, require that the mask argument of the
PTEST matches that of the RDFFR_PP.
* Move some precondition code up inside optimizePTestInstr, so that it
covers the new code paths for RDFFR which return earlier.
* Only consider RDFFR, PTEST in same basic block.
* Check for other flag setting instructions between the two, abort if
* Drop an old TODO comment about removing dead PTEST instructions.