Author: edelsohn Branch: ppc-jit-backend Changeset: r46710:43ed955340a9 Date: 2011-08-22 16:44 -0400 http://bitbucket.org/pypy/pypy/changeset/43ed955340a9/
Log: Add srd, cmpd and srdi. diff --git a/pypy/jit/backend/ppc/ppcgen/ppc_assembler.py b/pypy/jit/backend/ppc/ppcgen/ppc_assembler.py --- a/pypy/jit/backend/ppc/ppcgen/ppc_assembler.py +++ b/pypy/jit/backend/ppc/ppcgen/ppc_assembler.py @@ -483,6 +483,9 @@ srawi = Form("rA", "rS", "SH", "XO1", "Rc")(31, XO1=824, Rc=0) srawix = Form("rA", "rS", "SH", "XO1", "Rc")(31, XO1=824, Rc=1) + srd = XS(31, XO1=539, Rc=0) + srdx = XS(31, XO1=539, Rc=1) + srw = XS(31, XO1=536, Rc=0) srwx = XS(31, XO1=536, Rc=1) @@ -580,9 +583,13 @@ # F.3 Simplified Mnemonics for Compare Instructions + cmpdi = BA.cmpi(L=1) cmpwi = BA.cmpi(L=0) + cmpldi = BA.cmpli(L=1) cmplwi = BA.cmpli(L=0) + cmpd = BA.cmp(L=1) cmpw = BA.cmp(L=0) + cmpld = BA.cmpl(L=1) cmplw = BA.cmpl(L=0) # F.4 Simplified Mnemonics for Rotate and Shift Instructions @@ -617,6 +624,9 @@ def sldi(self, rA, rS, n): self.rldicr(rA, rS, n, 63-n) + def srdi(self, rA, rS, n): + self.rldicl(rA, rS, 64-n, n) + # F.5 Simplified Mnemonics for Branch Instructions # there's a lot of these! @@ -899,10 +909,10 @@ def load_word(self, rD, word): if IS_PPC_32: - self.addis(rD, 0, hi(word)) + self.lis(rD, hi(word)) self.ori(rD, rD, lo(word)) else: - self.addis(rD, 0, highest(word)) + self.lis(rD, highest(word)) self.ori(rD, rD, higher(word)) self.sldi(rD, rD, 32) self.oris(rD, rD, high(word)) _______________________________________________ pypy-commit mailing list pypy-commit@python.org http://mail.python.org/mailman/listinfo/pypy-commit