diff options
| author | Akira Hatanaka <ahatanaka@mips.com> | 2013-05-16 19:48:37 +0000 | 
|---|---|---|
| committer | Akira Hatanaka <ahatanaka@mips.com> | 2013-05-16 19:48:37 +0000 | 
| commit | 39d40f7baf48e10010f421f8eda791c18090a3d8 (patch) | |
| tree | f4201d4bc242e16ffb037ed5e8b132b791391aba /llvm/tools/llvm-objdump/llvm-objdump.cpp | |
| parent | 81250934d7d318ccf8e61dd4f592ad6b20b4a8a5 (diff) | |
| download | llvm-39d40f7baf48e10010f421f8eda791c18090a3d8.zip llvm-39d40f7baf48e10010f421f8eda791c18090a3d8.tar.gz llvm-39d40f7baf48e10010f421f8eda791c18090a3d8.tar.bz2 | |
[mips] Fix instruction selection pattern for sint_to_fp node to avoid emitting an
invalid instruction sequence.
Rather than emitting an int-to-FP move instruction and an int-to-FP conversion
instruction during instruction selection, we emit a pseudo instruction which gets
expanded post-RA. Without this change, register allocation can possibly insert a
floating point register move instruction between the two instructions, which is not
valid according to the ISA manual.
mtc1 $f4, $4         # int-to-fp move instruction.
mov.s $f2, $f4       # move contents of $f4 to $f2.
cvt.s.w $f0, $f2     # int-to-fp conversion.
llvm-svn: 182042
Diffstat (limited to 'llvm/tools/llvm-objdump/llvm-objdump.cpp')
0 files changed, 0 insertions, 0 deletions
