[LLVMdev] anti-dependency breaking and mask/shift dependencies

Hal Finkel
Sun, 10 Jun 2012 05:12:02 -0000

On PowerPC (at least versions which predate the mfocrf instruction),
while there are multiple independent condition registers, the only way
to move those registers into a general-purpose register is to use mfcr,
which transfers all of the (concatenated) condition registers into one
general purpose register, followed by a mask/shift operation to extract
the desired pieces.

I would like to know if there is any way to model this which is
compatible with using anti-dependency breaking on the associated
condition-register class. I might be able to define a late-expanded
pseudo-instruction which represents both the mfcr and the mask/shift
operations, but then those two things would not be independently
schedulable.

Thanks in advance,
Hal

--
Hal Finkel
Postdoctoral Appointee
Leadership Computing Facility
Argonne National Laboratory