Closed Bug 518759 Opened 16 years ago Closed 16 years ago

NJ merge: LIR_div/LIR_mod on X64

Categories

(Tamarin Graveyard :: Baseline JIT (CodegenLIR), defect)

x86
Linux
defect
Not set
normal

Tracking

(Not tracked)

VERIFIED DUPLICATE of bug 518488

People

(Reporter: n.nethercote, Assigned: edwsmith)

References

Details

Attachments

(1 file)

Attached patch patchSplinter Review
This was TM bug 516898.
Attachment #402757 - Flags: review?(edwsmith)
Comment on attachment 402757 [details] [diff] [review] patch NativeX64.cpp:444 * ultra fine point: GpRegs ^ (rmask(RAX)|rmask(RDX)) will be wrong if RAX and RDX aren't in GpRegs. normally they are but a useful way to stress test the register allocator is to make GpRegs be the minimal set. i admit the minimal set probably has to include RAX|RDX... but this just caught my attention. GpRegs & ~(rmask(RAX)|rmask(RDX)) would be an iota safer. perhaps a static assert when we set up GpRegs, to make sure at least a minimal set of registers are included? (probably RAX,RDX,RCX, since those are all special in one way or another)
Attachment #402757 - Flags: review?(edwsmith) → review+
(In reply to comment #1) > (From update of attachment 402757 [details] [diff] [review]) > NativeX64.cpp:444 > * ultra fine point: GpRegs ^ (rmask(RAX)|rmask(RDX)) will be wrong if RAX and > RDX aren't in GpRegs. normally they are but a useful way to stress test the > register allocator is to make GpRegs be the minimal set. i admit the minimal > set probably has to include RAX|RDX... but this just caught my attention. > GpRegs & ~(rmask(RAX)|rmask(RDX)) would be an iota safer. perhaps a static > assert when we set up GpRegs, to make sure at least a minimal set of registers > are included? > > (probably RAX,RDX,RCX, since those are all special in one way or another) It's true about the XOR, and '~' is used everywhere else for masking so it would be better for consistency. But I know that EAX|EDX|ECX is the minimal set for x86, so I imagine RAX|RDX|RCX is the minimal set for X64. A static assert would be good. I've filed a bug about making the stress testing easier: bug 518928.
I believe this a dup 518488
Status: ASSIGNED → RESOLVED
Closed: 16 years ago
Resolution: --- → DUPLICATE
Status: RESOLVED → VERIFIED
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: