[PATCH] D15047: [Mips64] Fix extension of 32-bit integer types.

Vladimir Radosavljevic via llvm-commits llvm-commits at lists.llvm.org
Mon Nov 30 08:11:42 PST 2015


vradosavljevic added a comment.

In http://reviews.llvm.org/D15047#298514, @dsanders wrote:

> This is the same problem Vasileios ran into when he removed some redundant sign extends. The root of the problem is that the legalized SelectionDAG isn't actually legal for MIPS64 since we don't have any 32-bit comparison operations (setlt and friends compare GPR-width values and produce a GPR-width 0 or 1). The legalizer should be promoting both the operands and result of the setcc to i64 which will result in the following DAG:


I applied D10970 <http://reviews.llvm.org/D10970>, but i got compiler error:
llvm/lib/Target/Mips/Mips64r6InstrInfo.td:134:11: error: Couldn't find multiclass 'Cmp_Pats'

What should we do about the problem where operand for truncate instruction is in another basic block?


Repository:
  rL LLVM

http://reviews.llvm.org/D15047





More information about the llvm-commits mailing list