On Mon, 6 Jul 2015, Giacomo Gabrielli wrote:


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


These are my current thoughts about this patch:

1. My impression is that there is still not enough architectural support to 
understand if the new vector register type as it stands can address all the
different corner cases efficiently; I'd leave to the wider gem5 community 
decide where we want to draw that line...

Can you elaborate what corner cases might we run into? I have reimplemented SSE instructions using the new type, and I did not find the new type to be limiting in any sense.


2. Legacy SSE requires merging of upper lanes, while AVX does zeroing;
   also ARMv8 AArch64 scalar FP and NEON instructions perform zeroing.
   Assuming that destination vectors are always read is going to
   introduce unneded serialization for those ISA extensions if they are
   going to be ported to the new scheme, so I'd suggest to avoid to
   implicitly read on write.  Also for cases where merging is required,
   maybe something smarter should be done to avoid unneded
   serialization; without optimizations, any sequence of x86 FP scalar
   instructions could be significantly slow compared to real hw
   implementations.

Instructions for which the whole register would be written should be able to avoid reading the initial register. For scalar operations, I agree that we would be reading and writing many more bytes than required. Do you have any suggestions?

--
Nilay
_______________________________________________
gem5-dev mailing list
gem5-dev@gem5.org
http://m5sim.org/mailman/listinfo/gem5-dev

Reply via email to