[mips] Tighten FastISel restrictions
authorSimon Dardis <simon.dardis@imgtec.com>
Tue, 6 Sep 2016 12:36:24 +0000 (12:36 +0000)
committerSimon Dardis <simon.dardis@imgtec.com>
Tue, 6 Sep 2016 12:36:24 +0000 (12:36 +0000)
commitb432a3ed7ee0a6b23e47a0d359ff00b0e84ac131
tree5c94e07d8305042ee2cefacaeb050bbbe35fde88
parent020ec299bff6dbc9a4f8dd1d19e09a3f26441f30
[mips] Tighten FastISel restrictions

LLVM PR/29052 highlighted that FastISel for MIPS attempted to lower
arguments assuming that it was using the paired 32bit registers to
perform operations for f64. This mode of operation is not supported
for MIPSR6.

This patch resolves the reported issue by adding additional checks
for unsupported floating point unit configuration.

Thanks to mike.k for reporting this issue!

Reviewers: seanbruno, vkalintiris

Differential Review: https://reviews.llvm.org/D23795

llvm-svn: 280706
llvm/lib/Target/Mips/MipsFastISel.cpp
llvm/test/CodeGen/Mips/Fast-ISel/double-arg.ll [new file with mode: 0644]