case ISD::SETGT: return PPC::BGT;
case ISD::SETUGE:
case ISD::SETGE: return PPC::BGE;
+
+ case ISD::SETO: return PPC::BUN;
+ case ISD::SETUO: return PPC::BNU;
+ case ISD::SETOEQ:
+ case ISD::SETOGT:
+ case ISD::SETOGE:
+ case ISD::SETOLT:
+ case ISD::SETOLE:
+ case ISD::SETONE: assert(0 && "Unknown condition!"); abort();
}
return 0;
}
case ISD::SETLE: Inv = true; return 1;
case ISD::SETEQ: Inv = false; return 2;
case ISD::SETNE: Inv = true; return 2;
+ case ISD::SETO: Inv = true; return 3;
+ case ISD::SETUO: Inv = false; return 3;
+ case ISD::SETOEQ:
+ case ISD::SETOGT:
+ case ISD::SETOGE:
+ case ISD::SETOLT:
+ case ISD::SETOLE:
+ case ISD::SETONE: assert(0 && "Unknown condition!"); abort();
}
return 0;
}
"bgt $crS, $block", BrB>;
def BNE : BForm<16, 0, 0, 4, 2, (ops CRRC:$crS, target:$block),
"bne $crS, $block", BrB>;
+ def BUN : BForm<16, 0, 0, 12, 3, (ops CRRC:$crS, target:$block),
+ "bun $crS, $block", BrB>;
+ def BNU : BForm<16, 0, 0, 4, 3, (ops CRRC:$crS, target:$block),
+ "bnu $crS, $block", BrB>;
}
let isCall = 1,