From ee001bf5aaf5a0a5a1668c7866b94e63a5c2c9ee Mon Sep 17 00:00:00 2001 From: Vladimir Marko Date: Thu, 5 Oct 2023 12:16:00 +0000 Subject: riscv64: Implement `art_quick_aput_obj`. And enable some instructions in codegen, mainly `*Set`. Test: # Edit `run-test` to disable checker, then testrunner.py --target --64 --ndebug --optimizing # Ignore 7 pre-existing failures. Bug: 283082089 Change-Id: I4bbc213874317239851c1a9e01b0f86eda7c9da5 --- compiler/optimizing/optimizing_compiler.cc | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'compiler/optimizing/optimizing_compiler.cc') diff --git a/compiler/optimizing/optimizing_compiler.cc b/compiler/optimizing/optimizing_compiler.cc index 040c2449a7..325fb87fc5 100644 --- a/compiler/optimizing/optimizing_compiler.cc +++ b/compiler/optimizing/optimizing_compiler.cc @@ -743,6 +743,10 @@ static bool CanAssembleGraphForRiscv64(HGraph* graph) { UNREACHABLE(); case HInstruction::kExit: case HInstruction::kGoto: + case HInstruction::kPackedSwitch: + case HInstruction::kTryBoundary: + case HInstruction::kClearException: + case HInstruction::kLoadException: case HInstruction::kParameterValue: case HInstruction::kReturn: case HInstruction::kReturnVoid: @@ -757,8 +761,13 @@ static bool CanAssembleGraphForRiscv64(HGraph* graph) { case HInstruction::kLoadMethodHandle: case HInstruction::kLoadMethodType: case HInstruction::kInstanceFieldGet: + case HInstruction::kInstanceFieldSet: case HInstruction::kStaticFieldGet: + case HInstruction::kStaticFieldSet: case HInstruction::kArrayGet: + case HInstruction::kArrayLength: + case HInstruction::kArraySet: + case HInstruction::kBoundsCheck: case HInstruction::kAbove: case HInstruction::kAboveOrEqual: case HInstruction::kBelow: -- cgit v1.2.3-59-g8ed1b