https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79545
Bug ID: 79545
Summary: gcc[5/6]: RS6000, xvcvuxdsp and xvcvsxdsp RTL defines
have wrong type
Product: gcc
Version: 6.3.1
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: target
Assignee: unassigned at gcc dot gnu.org
Reporter: carll at gcc dot gnu.org
Target Milestone: ---
The following issue was found in gcc 6.1. It also exists in gcc5.4.
The source and return operand types for xvcvuxdsp and xvcvsxdsp instructions
do not match the instruction definitions from the Power ISA document. The
current code expects a V2DF source and returns V4SI. The two instructions
should take a V2DI source and return V4SF.
Additionally, there is a typo in the instruction generation for the xvcvuxdsp
instruction generates instruction xvcvuxwdp instead of xvcvuxdsp. The issues
are in file gcc/config/rs6000/vsx.md for define_insn "vsx_xvcvsxdsp" and
define_insn "vsx_xvcvuxdsp" RTL statements.