diff options
author | Tom Musta <tommusta@gmail.com> | 2014-02-12 15:23:02 -0600 |
---|---|---|
committer | Alexander Graf <agraf@suse.de> | 2014-03-05 03:06:54 +0100 |
commit | 953f0f5842a8515fd85ae28ebcdc219f8e7b76fe (patch) | |
tree | 50ab6359c2eea383e9154fb0c1a6c37186e31dd8 /target-ppc/translate.c | |
parent | 63be09365a9a4658060e85ce013cc0beaeac25e5 (diff) | |
download | hqemu-953f0f5842a8515fd85ae28ebcdc219f8e7b76fe.zip hqemu-953f0f5842a8515fd85ae28ebcdc219f8e7b76fe.tar.gz |
target-ppc: Altivec 2.07: vmuluw Instruction
This patch adds the Vector Multiply Unsigned Word Modulo (vmuluwm)
instruction.
The existing VARITH_DO macro is re-used to (trivially) instantiate
the helper code.
Since bits 21-31 of any vmuluwm instruction is 137, the instruction
is coded as a dual to vmulouw (bits 21-31 = 136).
Signed-off-by: Tom Musta <tommusta@gmail.com>
Signed-off-by: Alexander Graf <agraf@suse.de>
Diffstat (limited to 'target-ppc/translate.c')
-rw-r--r-- | target-ppc/translate.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/target-ppc/translate.c b/target-ppc/translate.c index 4d2579d..ca253e0 100644 --- a/target-ppc/translate.c +++ b/target-ppc/translate.c @@ -6964,6 +6964,9 @@ GEN_VXFORM(vmrglw, 6, 6); GEN_VXFORM(vmuloub, 4, 0); GEN_VXFORM(vmulouh, 4, 1); GEN_VXFORM(vmulouw, 4, 2); +GEN_VXFORM(vmuluwm, 4, 2); +GEN_VXFORM_DUAL(vmulouw, PPC_ALTIVEC, PPC_NONE, + vmuluwm, PPC_NONE, PPC2_ALTIVEC_207) GEN_VXFORM(vmulosb, 4, 4); GEN_VXFORM(vmulosh, 4, 5); GEN_VXFORM(vmulosw, 4, 6); @@ -10375,7 +10378,7 @@ GEN_VXFORM(vmrglh, 6, 5), GEN_VXFORM(vmrglw, 6, 6), GEN_VXFORM(vmuloub, 4, 0), GEN_VXFORM(vmulouh, 4, 1), -GEN_VXFORM_207(vmulouw, 4, 2), +GEN_VXFORM_DUAL(vmulouw, vmuluwm, 4, 2, PPC_ALTIVEC, PPC_NONE), GEN_VXFORM(vmulosb, 4, 4), GEN_VXFORM(vmulosh, 4, 5), GEN_VXFORM_207(vmulosw, 4, 6), |