MIPS32: Bit rotation intrinsics
- int java.lang.Integer.rotateLeft(int i, int distance)
- int java.lang.Integer.rotateRight(int i, int distance)
- long java.lang.Long.rotateLeft(long i, int distance)
- long java.lang.Long.rotateRight(long i, int distance)
Change-Id: I7620ee12562c0dd55476a1d54e225c5e624cfb5b
diff --git a/compiler/utils/mips/assembler_mips.cc b/compiler/utils/mips/assembler_mips.cc
index 5a4de82..42f21e6 100644
--- a/compiler/utils/mips/assembler_mips.cc
+++ b/compiler/utils/mips/assembler_mips.cc
@@ -387,6 +387,10 @@
EmitR(0, rs, rt, rd, 0, 0x06);
}
+void MipsAssembler::Rotrv(Register rd, Register rt, Register rs) {
+ EmitR(0, rs, rt, rd, 1, 0x06);
+}
+
void MipsAssembler::Srav(Register rd, Register rt, Register rs) {
EmitR(0, rs, rt, rd, 0, 0x07);
}