[pypy-commit] pypy ppc-vsx-support: (ppc) implemented vec_int_add
plan_rich
pypy.commits at gmail.com
Tue Jun 21 12:30:59 EDT 2016
Author: Richard Plangger <planrichi at gmail.com>
Branch: ppc-vsx-support
Changeset: r85311:771785582074
Date: 2016-06-21 17:09 +0200
http://bitbucket.org/pypy/pypy/changeset/771785582074/
Log: (ppc) implemented vec_int_add
diff --git a/rpython/jit/backend/ppc/codebuilder.py b/rpython/jit/backend/ppc/codebuilder.py
--- a/rpython/jit/backend/ppc/codebuilder.py
+++ b/rpython/jit/backend/ppc/codebuilder.py
@@ -620,6 +620,9 @@
# arith & logic
vaddudm = VX(4, XO8=192)
+ vadduwm = VX(4, XO8=128)
+ vadduhm = VX(4, XO8=64)
+ vaddubm = VX(4, XO8=0)
# shift, perm and select
lvsl = XV(31, XO1=6)
diff --git a/rpython/jit/backend/ppc/vector_ext.py b/rpython/jit/backend/ppc/vector_ext.py
--- a/rpython/jit/backend/ppc/vector_ext.py
+++ b/rpython/jit/backend/ppc/vector_ext.py
@@ -123,11 +123,11 @@
resloc, loc0, loc1, size_loc = arglocs
size = size_loc.value
if size == 1:
- raise NotImplementedError
+ self.mc.vaddubm(resloc.value, loc0.value, loc1.value)
elif size == 2:
- raise NotImplementedError
+ self.mc.vadduhm(resloc.value, loc0.value, loc1.value)
elif size == 4:
- raise NotImplementedError
+ self.mc.vadduwm(resloc.value, loc0.value, loc1.value)
elif size == 8:
self.mc.vaddudm(resloc.value, loc0.value, loc1.value)
More information about the pypy-commit
mailing list