Open
Bug 1117238
Opened 11 years ago
Updated 1 year ago
Use the BMI instruction sets on x86
Categories
(Core :: JavaScript Engine: JIT, enhancement, P5)
Core
JavaScript Engine: JIT
Tracking
()
NEW
People
(Reporter: jandem, Unassigned)
References
(Blocks 1 open bug)
Details
On x86, shift instructions require the RHS to be in ECX if it's not a constant. This is pretty annoying for the register allocators.
The BMI2 instruction set (Haswell+) adds new (ternary) shift instructions (SARX/SHLX/SHRX) that don't have this restriction. It could also avoid some other move instructions because the output can be different from the inputs.
The BZHI instruction could be used to unbox Values on x64:
movb $47, output
bzhiq output, input, output
This might be shorter than:
movq JSVAL_PAYLOAD_MASK, output
andq input, output
| Reporter | ||
Updated•10 years ago
|
Priority: -- → P5
Updated•4 years ago
|
Severity: normal → S3
Updated•2 years ago
|
Type: defect → enhancement
You need to log in
before you can comment on or make changes to this bug.
Description
•