> On Nov. 24, 2014, 10:06 p.m., Gabe Black wrote:
> > Ping.

I was traveling all last week and am on vacation all this week, so it might 
take a bit for me to get to these.


- Steve


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://reviews.gem5.org/r/2506/#review5533
-----------------------------------------------------------


On Nov. 16, 2014, 10:57 p.m., Gabe Black wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> http://reviews.gem5.org/r/2506/
> -----------------------------------------------------------
> 
> (Updated Nov. 16, 2014, 10:57 p.m.)
> 
> 
> Review request for Default.
> 
> 
> Repository: gem5
> 
> 
> Description
> -------
> 
> Changeset 10540:966f0b63a495
> ---------------------------
> x86: Rework opcode parsing to support 3 byte opcodes properly.
> 
> Instead of counting the number of opcode bytes in an instruction and recording
> each byte before the actual opcode, we can represent the path we took to get 
> to
> the actual opcode byte by using a type code. That has a couple of advantages.
> First, we can disambiguate the properties of opcodes of the same length which
> have different properties. Second, it reduces the amount of data stored in an
> ExtMachInst, making them slightly easier/faster to create and process. This
> also adds some flexibility as far as how different types of opcodes are
> handled, which might come in handy if we decide to support VEX or XOP
> instructions.
> 
> This change also adds tables to support properly decoding 3 byte opcodes.
> Before we would fall off the end of some arrays, on top of the ambiguity
> described above.
> 
> This change doesn't measureably affect performance on the twolf benchmark.
> 
> 
> Diffs
> -----
> 
>   src/arch/x86/decoder.hh 1a9e235cab09e37837819876d28fbd2914a47291 
>   src/arch/x86/decoder.cc 1a9e235cab09e37837819876d28fbd2914a47291 
>   src/arch/x86/decoder_tables.cc 1a9e235cab09e37837819876d28fbd2914a47291 
>   src/arch/x86/isa/bitfields.isa 1a9e235cab09e37837819876d28fbd2914a47291 
>   src/arch/x86/isa/decoder/decoder.isa 
> 1a9e235cab09e37837819876d28fbd2914a47291 
>   src/arch/x86/isa/decoder/locked_opcodes.isa 
> 1a9e235cab09e37837819876d28fbd2914a47291 
>   src/arch/x86/isa/decoder/one_byte_opcodes.isa 
> 1a9e235cab09e37837819876d28fbd2914a47291 
>   src/arch/x86/isa/decoder/three_byte_opcodes.isa 
> 1a9e235cab09e37837819876d28fbd2914a47291 
>   src/arch/x86/isa/decoder/three_byte_opcodes.isa 
> 1a9e235cab09e37837819876d28fbd2914a47291 
>   src/arch/x86/isa/decoder/two_byte_opcodes.isa 
> 1a9e235cab09e37837819876d28fbd2914a47291 
>   src/arch/x86/isa_traits.hh 1a9e235cab09e37837819876d28fbd2914a47291 
>   src/arch/x86/types.hh 1a9e235cab09e37837819876d28fbd2914a47291 
>   src/arch/x86/types.cc 1a9e235cab09e37837819876d28fbd2914a47291 
> 
> Diff: http://reviews.gem5.org/r/2506/diff/
> 
> 
> Testing
> -------
> 
> 
> Thanks,
> 
> Gabe Black
> 
>

_______________________________________________
gem5-dev mailing list
[email protected]
http://m5sim.org/mailman/listinfo/gem5-dev

Reply via email to