[mips] Use less instruction to load zero into FPR by li.s / li.d pseudos
authorSimon Atanasyan <simon@atanasyan.com>
Fri, 11 Oct 2019 21:51:23 +0000 (21:51 +0000)
committerSimon Atanasyan <simon@atanasyan.com>
Fri, 11 Oct 2019 21:51:23 +0000 (21:51 +0000)
commit5ebe3511b35d41b9364be62a28966e279fc568b0
tree1ec74c30e0abaf4f92ce788a320f81cf50a2e7df
parentb95d4c3a99794f57b3ac7accd86f5c061f6c69f9
[mips] Use less instruction to load zero into FPR by li.s / li.d pseudos

If `li.s` or `li.d` loads zero into a FPR, it's not necessary to load
zero into `at` GPR register and then move its value into a floating
point register. We can use as a source register the `zero / $0` one.

Differential Revision: https://reviews.llvm.org/D68777

llvm-svn: 374597
llvm/lib/Target/Mips/AsmParser/MipsAsmParser.cpp
llvm/test/MC/Mips/macro-li.d.s
llvm/test/MC/Mips/macro-li.s.s