Hello all,
Picochip has communication instructions that allow one array element to pass data to another. There are 3 such instructions PUT/GET/TSTPORT. Currently, all three of these use UNSPEC_VOLATILE side-effect expressions to make sure they don't get reordered. But, i wonder if it is an overkill to use UNSPEC_VOLATILE for this purpose and whether i should use UNSPEC instead. The only thing we care here is that they don't reordered with respect to each other. It is okay for other instructions to move around the communication instructions (as long as normal scheduler dependencies are taken care of). There are possibly one of two things i can do.

1. Introduce an implicit dependency between all communication instructions by adding a use/clobber of an imaginary register. 2. Introduce explicit dependency between them by using some target hook to add dependency links. I have not found any appropriate target hook to do this.

Can you tell me which one i should try? Has anyone tried doing anything similar? Any pointers/suggestions on this will be greatly appreciated.

Thanks
Hari

Reply via email to