Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
home:Ledest:erlang:26
erlang
1136-AArch64-Eliminate-a-branch-in-is_tagged_tu...
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File 1136-AArch64-Eliminate-a-branch-in-is_tagged_tuple.patch of Package erlang
From b85f636a7c50f783ce32ab9852eaba6a10734bf6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B6rn=20Gustavsson?= <bjorn@erlang.org> Date: Wed, 6 Sep 2023 10:08:30 +0200 Subject: [PATCH 06/25] AArch64: Eliminate a branch in is_tagged_tuple --- erts/emulator/beam/jit/arm/instr_common.cpp | 14 +++----------- 1 file changed, 3 insertions(+), 11 deletions(-) diff --git a/erts/emulator/beam/jit/arm/instr_common.cpp b/erts/emulator/beam/jit/arm/instr_common.cpp index 901a60570a..10bd66eeee 100644 --- a/erts/emulator/beam/jit/arm/instr_common.cpp +++ b/erts/emulator/beam/jit/arm/instr_common.cpp @@ -1296,17 +1296,9 @@ void BeamModuleAssembler::emit_i_is_tagged_tuple(const ArgLabel &Fail, * allocated. */ a.ldp(TMP1, TMP2, arm::Mem(ARG1)); - if (Arity.get() < 32) { - cmp_arg(TMP2, Tag); - a.ccmp(TMP1, - imm(Arity.get()), - imm(NZCV::kNone), - imm(arm::CondCode::kEQ)); - } else { - cmp_arg(TMP1, Arity); - a.b_ne(resolve_beam_label(Fail, disp1MB)); - cmp_arg(TMP2, Tag); - } + cmp_arg(TMP2, Tag); + mov_imm(TMP3, Arity.get()); + a.ccmp(TMP1, TMP3, imm(NZCV::kNone), imm(arm::CondCode::kEQ)); a.b_ne(resolve_beam_label(Fail, disp1MB)); } -- 2.35.3
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor