Forums before death by AOL, social media and spammers... "We can't have nice things"
|    comp.arch    |    Apparently more than just beeps & boops    |    131,241 messages    |
[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]
|    Message 130,602 of 131,241    |
|    Stefan Monnier to All    |
|    Re: Variable-length instructions    |
|    21 Dec 25 17:31:40    |
   
   From: monnier@iro.umontreal.ca   
      
   >> > For argument setup (calling side) one needs MOV {R1..R5},{Rm,Rn,Rj,Rk,Rl}   
   >> > For returning values (calling side) needs MOV {Rm,Rn,Rj},{R1..R3}   
   >> In terms of encoding, these are fairly easy and could each fit within   
   >> a 32bit instruction.   
   > You are going to put 6×5-bit fields in a single 32-bit instruction with   
   > a 6-bit Major OpCode ?!?!   
      
   AFAICT we need "only" 5x 5bit (if we hardcode the destination to be   
   R1..R5 in one instruction and if we hardcode R1..R5 as the source   
   registers in the other instruction).   
      
   > I would like to see it done.   
      
   It's definitely tight (we still need some way to indicate how many   
   registers we want to move), but it seems within the realm of possible.   
   Whether it "pays for its encoding cost" is a separate question.   
      
   > I can see an encoding that would provide a "bunch of MOVs/Renames"   
   > but only if I disobey a principle tenet of ISA encoding {One that RISC-V   
   > threw away on day 1} and that is; the register specification fields are   
   > at fixed locations. It is this tenet that removed some
|
[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]
(c) 1994, bbs@darkrealms.ca