From 0758ae7c12df9f857b8609e1eab6ad5dfa0e517d Mon Sep 17 00:00:00 2001 From: Lena Djokic Date: Tue, 23 May 2017 11:06:23 +0200 Subject: Introduce a number of MSA instructions for MIPS32 Added a number of MSA (The MIPS SIMD Architecture) instructions. Added assembler tests for each instruction. Test: mma test-art-host-gtest Change-Id: I1d499309fc08923484f64d1883b9c3f95eadd3be --- compiler/utils/mips/assembler_mips.h | 175 +++++++++++++++++++++++++++++++++++ 1 file changed, 175 insertions(+) (limited to 'compiler/utils/mips/assembler_mips.h') diff --git a/compiler/utils/mips/assembler_mips.h b/compiler/utils/mips/assembler_mips.h index 463daeb5d7..e4c99408f4 100644 --- a/compiler/utils/mips/assembler_mips.h +++ b/compiler/utils/mips/assembler_mips.h @@ -36,6 +36,7 @@ namespace art { namespace mips { +static constexpr size_t kMipsHalfwordSize = 2; static constexpr size_t kMipsWordSize = 4; static constexpr size_t kMipsDoublewordSize = 8; @@ -194,6 +195,7 @@ class MipsAssembler FINAL : public Assembler, public JNIMacroAssemblerHasMsa() : false), isa_features_(instruction_set_features) { cfi().DelayEmittingAdvancePCs(); } @@ -464,6 +466,149 @@ class MipsAssembler FINAL : public Assembler, public JNIMacroAssemblerIsR6(); @@ -1386,6 +1559,8 @@ class MipsAssembler FINAL : public Assembler, public JNIMacroAssembler