Reduce arm64 Inst enum size
This reduces the size of the Inst enum from 112 bytes to 48 bytes. Using DHAT on a regex-rs.wasm benchmark, `valgrind --tool=dhat clif-util compile --target aarch64` The total number of allocated bytes, drops by around 170 MB. At t-gmax drops by 3 MB. Using `perf stat clif-util compile --target aarch64`, the instructions count dropped by 0.6%. Cache misses dropped by 6%. Cycles dropped by 2.3%.
This commit is contained in:
@@ -3,6 +3,7 @@ use crate::isa::aarch64::inst::*;
|
||||
use crate::isa::test_utils;
|
||||
use crate::settings;
|
||||
|
||||
use alloc::boxed::Box;
|
||||
use alloc::vec::Vec;
|
||||
|
||||
#[test]
|
||||
@@ -2112,9 +2113,9 @@ fn test_aarch64_binemit() {
|
||||
|
||||
insns.push((
|
||||
Inst::Call {
|
||||
dest: ExternalName::testcase("test0"),
|
||||
uses: Set::empty(),
|
||||
defs: Set::empty(),
|
||||
dest: Box::new(ExternalName::testcase("test0")),
|
||||
uses: Box::new(Set::empty()),
|
||||
defs: Box::new(Set::empty()),
|
||||
loc: SourceLoc::default(),
|
||||
opcode: Opcode::Call,
|
||||
},
|
||||
@@ -2125,8 +2126,8 @@ fn test_aarch64_binemit() {
|
||||
insns.push((
|
||||
Inst::CallInd {
|
||||
rn: xreg(10),
|
||||
uses: Set::empty(),
|
||||
defs: Set::empty(),
|
||||
uses: Box::new(Set::empty()),
|
||||
defs: Box::new(Set::empty()),
|
||||
loc: SourceLoc::default(),
|
||||
opcode: Opcode::CallIndirect,
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user