diff options
author | 2015-11-18 12:30:20 -0800 | |
---|---|---|
committer | 2015-11-30 17:28:28 -0800 | |
commit | e16ce5a52da4fcbb8c6b5d1ec696863fcf113409 (patch) | |
tree | 89730bfb9928ff70391f57ac42377be20e9e5bba /compiler/utils/mips/assembler_mips.cc | |
parent | 8682960da00c013f8955985b8e9bb6c55b3f3bac (diff) |
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
Diffstat (limited to 'compiler/utils/mips/assembler_mips.cc')
-rw-r--r-- | compiler/utils/mips/assembler_mips.cc | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/compiler/utils/mips/assembler_mips.cc b/compiler/utils/mips/assembler_mips.cc index 5a4de82eaf..42f21e603d 100644 --- a/compiler/utils/mips/assembler_mips.cc +++ b/compiler/utils/mips/assembler_mips.cc @@ -387,6 +387,10 @@ void MipsAssembler::Srlv(Register rd, Register rt, Register rs) { 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); } |