X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;ds=inline;f=src%2Fcompiler%2Fppc%2Finsts.lisp;fp=src%2Fcompiler%2Fppc%2Finsts.lisp;h=b14927a98d530185b2eeffc550b0ef6751f73c0b;hb=d319b944d934f3efbb01a2a345c46bafd40857d0;hp=9dceec492229453a88af634191813427173e64be;hpb=ef3fa440db906a78b377d694313b2ef9aedda33a;p=sbcl.git diff --git a/src/compiler/ppc/insts.lisp b/src/compiler/ppc/insts.lisp index 9dceec4..b14927a 100644 --- a/src/compiler/ppc/insts.lisp +++ b/src/compiler/ppc/insts.lisp @@ -1828,6 +1828,12 @@ (define-instruction-macro extlwi. (ra rs n b) `(inst rlwinm. ,ra ,rs ,b 0 (1- ,n))) + (define-instruction-macro extrwi (ra rs n b) + `(inst rlwinm ,ra ,rs (mod (+ ,b ,n) 32) (- 32 ,n) 31)) + + (define-instruction-macro extrwi. (ra rs n b) + `(inst rlwinm. ,ra ,rs (mod (+ ,b ,n) 32) (- 32 ,n) 31)) + (define-instruction-macro srwi (ra rs n) `(inst rlwinm ,ra ,rs (- 32 ,n) ,n 31))