Skip to content
This repository has been archived by the owner on Jan 23, 2023. It is now read-only.

[Arm64] Implement JCC/SETCC nodes #14101

Merged
merged 2 commits into from
Sep 22, 2017
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 4 additions & 8 deletions src/jit/codegenarmarch.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -246,8 +246,6 @@ void CodeGen::genCodeForTreeNode(GenTreePtr treeNode)
genCodeForJumpTrue(treeNode);
break;

#ifdef _TARGET_ARM_

case GT_JCC:
genCodeForJcc(treeNode->AsCC());
break;
Expand All @@ -256,8 +254,6 @@ void CodeGen::genCodeForTreeNode(GenTreePtr treeNode)
genCodeForSetcc(treeNode->AsCC());
break;

#endif // _TARGET_ARM_

case GT_RETURNTRAP:
genCodeForReturnTrap(treeNode->AsOp());
break;
Expand Down Expand Up @@ -3284,8 +3280,6 @@ void CodeGen::genCodeForJumpTrue(GenTreePtr tree)
}
}

#if defined(_TARGET_ARM_)

//------------------------------------------------------------------------
// genCodeForJcc: Produce code for a GT_JCC node.
//
Expand Down Expand Up @@ -3325,6 +3319,9 @@ void CodeGen::genCodeForSetcc(GenTreeCC* setcc)
// Make sure nobody is setting GTF_RELOP_NAN_UN on this node as it is ignored.
assert((setcc->gtFlags & GTF_RELOP_NAN_UN) == 0);

#ifdef _TARGET_ARM64_
inst_SET(jumpKind, dstReg);
#else
// Emit code like that:
Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Arm issue #14100

// ...
// bgt True
Expand All @@ -3346,12 +3343,11 @@ void CodeGen::genCodeForSetcc(GenTreeCC* setcc)
genDefineTempLabel(labelTrue);
getEmitter()->emitIns_R_I(INS_mov, emitActualTypeSize(setcc->TypeGet()), dstReg, 1);
genDefineTempLabel(labelNext);
#endif

genProduceReg(setcc);
}

#endif // defined(_TARGET_ARM_)

//------------------------------------------------------------------------
// genCodeForStoreBlk: Produce code for a GT_STORE_OBJ/GT_STORE_DYN_BLK/GT_STORE_BLK node.
//
Expand Down