Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(18)

Unified Diff: src/IceTargetLoweringMIPS32.cpp

Issue 2354293002: Subzero, MIPS32: Intrinsic call Ctlz for i32 (Closed) Base URL: https://chromium.googlesource.com/native_client/pnacl-subzero.git@master
Patch Set: Addressing review comments Created 4 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « src/IceTargetLoweringMIPS32.h ('k') | tests_lit/assembler/mips32/encoding_intrinsics.ll » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: src/IceTargetLoweringMIPS32.cpp
diff --git a/src/IceTargetLoweringMIPS32.cpp b/src/IceTargetLoweringMIPS32.cpp
index 32656ce4ee9ba008bee7b1f7482b627942c6a49c..f61ba8a862993c3098ebd14d8e0e8447e8a9432c 100644
--- a/src/IceTargetLoweringMIPS32.cpp
+++ b/src/IceTargetLoweringMIPS32.cpp
@@ -2846,8 +2846,25 @@ void TargetMIPS32::lowerIntrinsicCall(const InstIntrinsicCall *Instr) {
return;
}
case Intrinsics::Ctlz: {
- UnimplementedLoweringError(this, Instr);
- return;
+ auto *Src = Instr->getArg(0);
+ const Type SrcTy = Src->getType();
+ assert(SrcTy == IceType_i32 || SrcTy == IceType_i64);
+ switch (SrcTy) {
+ case IceType_i32: {
+ auto *T = I32Reg();
+ auto *SrcR = legalizeToReg(Src);
+ _clz(T, SrcR);
+ _mov(Dest, T);
+ break;
+ }
+ case IceType_i64: {
+ UnimplementedLoweringError(this, Instr);
+ break;
+ }
+ default:
+ llvm::report_fatal_error("Control flow should never have reached here.");
+ }
+ break;
}
case Intrinsics::Cttz: {
UnimplementedLoweringError(this, Instr);
« no previous file with comments | « src/IceTargetLoweringMIPS32.h ('k') | tests_lit/assembler/mips32/encoding_intrinsics.ll » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698