What is the difference between e_lwz and lwz ? e_stw and stw? Apart from one is VLE and other is not? I see huge timing difference when I read or write to memory when using e_stw and stw.
Why is this so?
Could you please provide more details so your question can be investigated?
What software and device are you using?
What are those e_lwz and lwz you refer to?
Sorry about the questions, I'm just trying to help.
I am using MPC56XX device and I am using CodeWarrior. I think they are based on VLE or non VLE
Ok, thanks for sharing that information. I do not have an answer. We can wait for a response or you can always submit a service request if this is critical for you.
indeed e_ prefix represents 32-bit VLE instrction whereas no prefix means BookE instruction.
Regarding e_stw / stw:
both are 32 bit instructions with same operands but different opcodes.I don't think there should be a big timing difference between these two instructions.
In general you can expect VLE code a bit slower in contrast to BookE but on the other hand the code density is much higher.
The higher code density may result in more efficient instruction cache/instruction buffer usage which may improve the code speed too.
Can you describe your observations more in the detail and also test case you use for benchmarking?
Retrieving data ...