def EXTSH : XForm_11<31, 922, (ops GPRC:$rA, GPRC:$rS),
"extsh $rA, $rS", IntGeneral,
[(set GPRC:$rA, (sext_inreg GPRC:$rS, i16))]>;
-def EXTSW : XForm_11<31, 986, (ops GPRC:$rA, GPRC:$rS),
- "extsw $rA, $rS", IntRotateD,
- []>, isPPC64;
+def EXTSW : XForm_11<31, 986, (ops G8RC:$rA, G8RC:$rS),
+ "extsw $rA, $rS", IntGeneral,
+ [(set G8RC:$rA, (sext_inreg G8RC:$rS, i32))]>, isPPC64;
def CMP : XForm_16<31, 0, (ops CRRC:$crD, i1imm:$long, GPRC:$rA, GPRC:$rB),
"cmp $crD, $long, $rA, $rB", IntCompare>;
def CMPL : XForm_16<31, 32, (ops CRRC:$crD, i1imm:$long, GPRC:$rA, GPRC:$rB),
"vxor $vD, $vA, $vB", VecGeneral,
[]>;
-
//===----------------------------------------------------------------------===//
// PowerPC Instruction Patterns
//
def F28 : FPR<28, "f28">; def F29 : FPR<29, "f29">;
def F30 : FPR<30, "f30">; def F31 : FPR<31, "f31">;
-// Floating-point registers
+// Vector registers
def V0 : VR< 0, "v0">; def V1 : VR< 1, "v1">;
def V2 : VR< 2, "v2">; def V3 : VR< 3, "v3">;
def V4 : VR< 4, "v4">; def V5 : VR< 5, "v5">;