> On April 21, 2012, 8:18 p.m., Gabe Black wrote: > > It shouldn't be necessary to specify two different sets of flags. The > > microops already either read the flags, or write the flags with an implicit > > read to support partial updating, but they don't ever do both (please tell > > me if I'm forgetting one that does). In either of those cases, we can > > automatically figure out what goes in a read set or a write set. If it's a > > microop that reads flags (conditional, in other words) then the flags are > > all reads. If it's a microop that writes flags (an add, subtract, etc.) > > then it writes, and reads anything that isn't completely covered by writes. > > Nilay Vaish wrote: > There are some instructions that do both. For example Adc reads the carry > bit and > then updates the flag bits. I think there a couple more that read some > flag bit > and writes the EZFbit.
Even when they do both, the optional parts are either all reads or all writes. Adc can optionally *write* the carry flag, but it always reads it. - Gabe ----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: http://reviews.gem5.org/r/1161/#review2572 ----------------------------------------------------------- On April 21, 2012, 1:29 p.m., Nilay Vaish wrote: > > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > http://reviews.gem5.org/r/1161/ > ----------------------------------------------------------- > > (Updated April 21, 2012, 1:29 p.m.) > > > Review request for Default. > > > Description > ------- > > Changeset 8963:d6f5887beaf0 > --------------------------- > X86: Break flags in to read and write sets > Currently, each instruction specifies the flags it is going to read, write > as a single set. This patch introduces separate read and write sets. This > is required for reducing the RAW dependencies. If no flag bit needs to be > read (empty read set), and all the flag bits are being written, then there > is no need to read the flagbits register. The dependencies will be reduced > further when the ccflagbits register is split into multiple registers. > > > Diffs > ----- > > src/arch/x86/isa/microops/fpop.isa 0bba1c59b4d1 > src/arch/x86/isa/microops/regop.isa 0bba1c59b4d1 > > Diff: http://reviews.gem5.org/r/1161/diff/ > > > Testing > ------- > > > Thanks, > > Nilay Vaish > > _______________________________________________ gem5-dev mailing list [email protected] http://m5sim.org/mailman/listinfo/gem5-dev
