[PATCH] Fix sign extension for MIPS64 in makeLibCall function

Strahinja Petrovic strahinja.petrovic at rt-rk.com
Thu Mar 19 05:57:33 PDT 2015


makeLibCall function is patched, now every function argument and return value are sign extended if needed. In MIPS64 architecture all 32 bit arguments (int, unsigned int, float 32) must be sign extended. In makeLibCall function 32 bit arguments are converted to int32, so there is check if is any MIPS64 architecture, soft float ABI, and int 32 type then do sign extension. This patch is only for MIPS64 and doesn't affect other architectures.


REPOSITORY
  rL LLVM

http://reviews.llvm.org/D7791

Files:
  include/llvm/Target/TargetLowering.h
  lib/CodeGen/SelectionDAG/TargetLowering.cpp
  lib/Target/Mips/MipsISelLowering.cpp
  lib/Target/Mips/MipsISelLowering.h
  test/CodeGen/Mips/mips64-f128.ll
  test/CodeGen/Mips/mips64signextendsesf.ll

EMAIL PREFERENCES
  http://reviews.llvm.org/settings/panel/emailpreferences/
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D7791.22252.patch
Type: text/x-patch
Size: 8997 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20150319/4287214d/attachment.bin>


More information about the llvm-commits mailing list