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