R600/SI: Remove duplicate pattern
R600/SI: Promote f32 SELECT to i32
R600/SI: Remove unused instruction
R600/SI: Move tablegen patterns away from instruction defs
R600/SI: Add a PredicateControl class for managing TableGen predicates

This was inspired by the PredicateControl class in the MIPS backend.
R600/SI: Refactor the VOP3_32 tablegen class

This will allow us to use a single MachineInstr to represent
instructions which behave the same but have different encodings
on some subtargets.