OSDN Git Service

Add VSX Scalar Move Instructions
authorTom Musta <tommusta@gmail.com>
Fri, 1 Nov 2013 13:21:17 +0000 (08:21 -0500)
committerAlexander Graf <agraf@suse.de>
Fri, 20 Dec 2013 00:58:04 +0000 (01:58 +0100)
commitdf020ce07045413ab3205916a3cde64bb150694c
tree765ac1ef125bd4517597f5b6fc79c81825fddc40
parent582b55a96ac4f66cea64d82e47651bd5ef38a8ec
Add VSX Scalar Move Instructions

This patch adds the VSX scalar move instructions:

  - xsabsdp (Scalar Absolute Value Double-Precision)
  - xsnabspd (Scalar Negative Absolute Value Double-Precision)
  - xsnegdp (Scalar Negate Double-Precision)
  - xscpsgndp (Scalar Copy Sign Double-Precision)

A common generator macro (VSX_SCALAR_MOVE) is added since these
instructions vary only slightly from each other.

Macros to support VSX XX2 and XX3 form opcodes are also added.
These macros handle the overloading of "opcode 2" space (instruction
bits 26:30) caused by AX and BX bits (29 and 30, respectively).

V3: Per feedback from Paolo Bonzini, moved the sign mask into a
temporary and used andc.

Signed-off-by: Tom Musta <tommusta@gmail.com>
Signed-off-by: Alexander Graf <agraf@suse.de>
target-ppc/translate.c