[PATCH] D14390: [mips] Expansion of LI.S and LI.D

Stefan Maksimovic via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Apr 28 02:57:17 PDT 2017


smaksimovic updated this revision to Diff 97068.
smaksimovic added a comment.
Herald added a subscriber: arichardson.

Made additional ABI checks when loading floats to FPRs, doubles to GPRs and doubles to FPRs.
We've mostly compared it to GCC, the caveat being that GCC generates floats using lui/ori in GPRs and then moves them to FPRs with mtc1 if necessary,
whereas we always place constants into .rodata, and have relocations accordingly.

Another difference is that despite invoking GCC without -fpic flag for n64, it generates code that has R_MIPS_GOT16 relocations.
Implemented that part to use %higher, %highest relocations to fetch the address.


https://reviews.llvm.org/D14390

Files:
  lib/Target/Mips/AsmParser/MipsAsmParser.cpp
  lib/Target/Mips/MipsInstrFPU.td
  lib/Target/Mips/MipsRegisterInfo.td
  test/MC/Mips/macro-li.d.s
  test/MC/Mips/macro-li.s.s

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D14390.97068.patch
Type: text/x-patch
Size: 67084 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20170428/069d070b/attachment-0001.bin>


More information about the llvm-commits mailing list