1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-19 11:02:59 +02:00

[X86] Remove unnecessary COPY_TO_REGCLASS(VR128) from the output patterns for FMA instrinsics.

The instructions are already defined as writing a VR128 register.

llvm-svn: 312308
This commit is contained in:
Craig Topper 2017-09-01 07:58:11 +00:00
parent 38e733ac37
commit 8d8891785f

View File

@ -244,12 +244,12 @@ multiclass fma3s<bits<8> opc132, bits<8> opc213, bits<8> opc231,
// operand, not the second.
let Predicates = [HasFMA] in {
def : Pat<(IntF32 VR128:$src1, VR128:$src2, VR128:$src3),
(COPY_TO_REGCLASS(!cast<Instruction>(NAME#"213SSr_Int")
$src1, $src2, $src3), VR128)>;
(!cast<Instruction>(NAME#"213SSr_Int")
VR128:$src1, VR128:$src2, VR128:$src3)>;
def : Pat<(IntF64 VR128:$src1, VR128:$src2, VR128:$src3),
(COPY_TO_REGCLASS(!cast<Instruction>(NAME#"213SDr_Int")
$src1, $src2, $src3), VR128)>;
(!cast<Instruction>(NAME#"213SDr_Int")
VR128:$src1, VR128:$src2, VR128:$src3)>;
}
}