[PATCH] D18893: [mips] Sign-extend i32 values truncated from previously zero-extended i32 values.

Vasileios Kalintiris via llvm-commits llvm-commits at lists.llvm.org
Fri Apr 8 02:44:57 PDT 2016


vkalintiris created this revision.
vkalintiris added a reviewer: dsanders.
vkalintiris added a subscriber: llvm-commits.
Herald added subscribers: sdardis, dsanders.

This is a special case for MIPS64 because the architecture requires
properly 32-bit sign-extended values in the register containers.

Additionaly, we merge consecutive trunc + AssertZExt nodes in order
to avoid unnecessary sign-extensions when the extension comes from a
type smaller than i32.

http://reviews.llvm.org/D18893

Files:
  lib/Target/Mips/Mips64InstrInfo.td
  lib/Target/Mips/MipsISelLowering.cpp
  lib/Target/Mips/MipsSEISelDAGToDAG.cpp
  test/CodeGen/Mips/assertzext-trunc.ll
  test/CodeGen/Mips/divrem.ll
  test/CodeGen/Mips/octeon_popcnt.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D18893.53008.patch
Type: text/x-patch
Size: 6561 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160408/01321fe4/attachment.bin>


More information about the llvm-commits mailing list