aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2006-12-06 21:46:13 +0000
committerChris Lattner <sabre@nondot.org>2006-12-06 21:46:13 +0000
commit94c96cc5197f527a8cb9f953be3a2e8f2f5aa9e3 (patch)
treef628c2bee10feb47e3f47554a1f0de42f2ccd89d
parent9f5776bb4dfeb8dda3b6fca9ef982e0f9c28dd59 (diff)
downloadexternal_llvm-94c96cc5197f527a8cb9f953be3a2e8f2f5aa9e3.tar.gz
external_llvm-94c96cc5197f527a8cb9f953be3a2e8f2f5aa9e3.tar.bz2
external_llvm-94c96cc5197f527a8cb9f953be3a2e8f2f5aa9e3.zip
implement sextinreg i8->i64 and i16->i64
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32293 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--lib/Target/PowerPC/PPCInstr64Bit.td8
1 files changed, 8 insertions, 0 deletions
diff --git a/lib/Target/PowerPC/PPCInstr64Bit.td b/lib/Target/PowerPC/PPCInstr64Bit.td
index 7c3355a1d8..f47e92f3dc 100644
--- a/lib/Target/PowerPC/PPCInstr64Bit.td
+++ b/lib/Target/PowerPC/PPCInstr64Bit.td
@@ -224,6 +224,14 @@ def SRD : XForm_6<31, 539, (ops G8RC:$rA, G8RC:$rS, GPRC:$rB),
def SRAD : XForm_6<31, 794, (ops G8RC:$rA, G8RC:$rS, GPRC:$rB),
"srad $rA, $rS, $rB", IntRotateD,
[(set G8RC:$rA, (sra G8RC:$rS, GPRC:$rB))]>, isPPC64;
+
+def EXTSB8 : XForm_11<31, 954, (ops G8RC:$rA, G8RC:$rS),
+ "extsb $rA, $rS", IntGeneral,
+ [(set G8RC:$rA, (sext_inreg G8RC:$rS, i8))]>;
+def EXTSH8 : XForm_11<31, 922, (ops G8RC:$rA, G8RC:$rS),
+ "extsh $rA, $rS", IntGeneral,
+ [(set G8RC:$rA, (sext_inreg G8RC:$rS, i16))]>;
+
def EXTSW : XForm_11<31, 986, (ops G8RC:$rA, G8RC:$rS),
"extsw $rA, $rS", IntGeneral,
[(set G8RC:$rA, (sext_inreg G8RC:$rS, i32))]>, isPPC64;