Hi All, This is a general question about a specific issue. When we compile our workloads with a cross compiler, cross compiler actually does not know the details about the gem5 as a target platform. Let's assume that the cross compiler generated some instructions which were not implemented in the gem5. During the full system simulation, when gem5 fetches these unimplemented instructions, what would be the reaction? Does it just run nop or fail or return warning or something else?
In my specific case, I'm using _mm_prefetch function which produces PREFETCHT0 instruction for x86 full system simulation. I'm not sure if gem5 executes this instruction properly as I always observe slow down on gem5 while the same workload speeds up like 8% on a real system. Therefore, I need to double check that gem5 executes this instruction or replaces it with a load instruction not with a nop. I'm aware that prefetch instructions are considered as unnecessary by some of you as the hardware prefetchers are good enough. Thus I wanted to ask this question in a more generalized form. I believe that this question will help me (and other newbies) to understand how gem5 works better. Could someone illuminate the issue please? Thanks in advance Giray _______________________________________________ gem5-dev mailing list [email protected] http://m5sim.org/mailman/listinfo/gem5-dev
