| Index: src/IceTargetLoweringX8632.h
|
| diff --git a/src/IceTargetLoweringX8632.h b/src/IceTargetLoweringX8632.h
|
| index 4953ffc2a04f38bb04ede0ec851a757407b8a9fb..a384564aab89337167484ee50a4fc9433248662e 100644
|
| --- a/src/IceTargetLoweringX8632.h
|
| +++ b/src/IceTargetLoweringX8632.h
|
| @@ -99,6 +99,8 @@ protected:
|
| Operand *Desired);
|
| void lowerAtomicRMW(Variable *Dest, uint32_t Operation, Operand *Ptr,
|
| Operand *Val);
|
| + void lowerCtlz(Variable *Dest, Operand *Val);
|
| + void lowerCttz(Variable *Dest, Operand *Val);
|
|
|
| typedef void (TargetX8632::*LowerBinOp)(Variable *, Operand *);
|
| void expandAtomicRMWAsCmpxchg(LowerBinOp op_lo, LowerBinOp op_hi,
|
| @@ -163,7 +165,7 @@ protected:
|
| void _and(Variable *Dest, Operand *Src0) {
|
| Context.insert(InstX8632And::create(Func, Dest, Src0));
|
| }
|
| - void _br(InstX8632Br::BrCond Condition, CfgNode *TargetTrue,
|
| + void _br(InstX8632::BrCond Condition, CfgNode *TargetTrue,
|
| CfgNode *TargetFalse) {
|
| Context.insert(
|
| InstX8632Br::create(Func, TargetTrue, TargetFalse, Condition));
|
| @@ -171,15 +173,24 @@ protected:
|
| void _br(CfgNode *Target) {
|
| Context.insert(InstX8632Br::create(Func, Target));
|
| }
|
| - void _br(InstX8632Br::BrCond Condition, CfgNode *Target) {
|
| + void _br(InstX8632::BrCond Condition, CfgNode *Target) {
|
| Context.insert(InstX8632Br::create(Func, Target, Condition));
|
| }
|
| - void _br(InstX8632Br::BrCond Condition, InstX8632Label *Label) {
|
| + void _br(InstX8632::BrCond Condition, InstX8632Label *Label) {
|
| Context.insert(InstX8632Br::create(Func, Label, Condition));
|
| }
|
| + void _bsf(Variable *Dest, Operand *Src0) {
|
| + Context.insert(InstX8632Bsf::create(Func, Dest, Src0));
|
| + }
|
| + void _bsr(Variable *Dest, Operand *Src0) {
|
| + Context.insert(InstX8632Bsr::create(Func, Dest, Src0));
|
| + }
|
| void _cdq(Variable *Dest, Operand *Src0) {
|
| Context.insert(InstX8632Cdq::create(Func, Dest, Src0));
|
| }
|
| + void _cmov(Variable *Dest, Operand *Src0, InstX8632::BrCond Condition) {
|
| + Context.insert(InstX8632Cmov::create(Func, Dest, Src0, Condition));
|
| + }
|
| void _cmp(Operand *Src0, Operand *Src1) {
|
| Context.insert(InstX8632Icmp::create(Func, Src0, Src1));
|
| }
|
|
|