Howdy,

I’m trying to understand when and why the IsSerializeAfter Flag is set in X86 
O3 architecture. I ran the PARSEC benchmark suite and I found out that 15 
instructions/micro-ops have set the flag.

Looking through the source code (v21.2.1.1):

src/arch/x86/isa/macroop.isa:
The flag is appended if the “serialize_after” is true. “serialize_after” is 
true if the serializeAfter method is called but the only method I can find is 
in rename.cc which doesn’t set the flag.

src/arch/x86/isa/decoder/two_byte_opcodes.isa:
If it’s LFENCE the flag is set.

src/arch/x86/isa/formats/cpuid.isa:
The flag is set to true but on what condition? As its inside of a constructor.

src/arch/x86/isa/operands.isa:
There are some methods (controlReg, squashCheckReg) that return the flag I 
think but I am not sure how it works.

Any help is more than welcome.

Kind regards,
Chrysanthos Pepi

_______________________________________________
gem5-users mailing list -- gem5-users@gem5.org
To unsubscribe send an email to gem5-users-le...@gem5.org

Reply via email to