From: Dan Gohman Date: Thu, 27 Aug 2009 18:16:24 +0000 (+0000) Subject: Don't mark CMOV_GR8 as two-address, or commutable, since it's a pseudo. X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=a4c5c3304196465d50d3feb15998b39c1b70742e;p=oota-llvm.git Don't mark CMOV_GR8 as two-address, or commutable, since it's a pseudo. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80271 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Target/X86/X86InstrInfo.td b/lib/Target/X86/X86InstrInfo.td index ebd5f96ec12..e7603103952 100644 --- a/lib/Target/X86/X86InstrInfo.td +++ b/lib/Target/X86/X86InstrInfo.td @@ -1034,19 +1034,19 @@ let isTwoAddress = 1 in { // Conditional moves let Uses = [EFLAGS] in { -let isCommutable = 1 in { // X86 doesn't have 8-bit conditional moves. Use a customDAGSchedInserter to // emit control flow. An alternative to this is to mark i8 SELECT as Promote, // however that requires promoting the operands, and can induce additional // i8 register pressure. -let usesCustomDAGSchedInserter = 1 in +let usesCustomDAGSchedInserter = 1, isTwoAddress = 0 in def CMOV_GR8 : I<0, Pseudo, (outs GR8:$dst), (ins GR8:$src1, GR8:$src2, i8imm:$cond), "#CMOV_GR8 PSEUDO!", [(set GR8:$dst, (X86cmov GR8:$src1, GR8:$src2, imm:$cond, EFLAGS))]>; +let isCommutable = 1 in { def CMOVB16rr : I<0x42, MRMSrcReg, // if