For the purpose of this discussion, if an address trigger has both the ld and st bit set, I am considering it to be a load-address trigger.
For AMO instructions, what happens if multiple triggers match the load/store parts of the instruction? In particular:
1. If a load-address trigger matches an AMO instruction (timing=before) and a store-data trigger (timing=before) matches as well. Should the store-data trigger trip? We think that we should not be loading the data in this case and consequently the store-address trigger cannot trip.
2. If a load-address trigger matches an AMO instruction (timing=before) and a store-address trigger (timing=before) matches as well. Should the store-data trigger trip? We would prefer a no answer. Is that legal?
3. If a load-address trigger matches an AMO instruction (timing=before) but there is an exception with the load part of the instruction, then would a matching store-address trigger trip? We would prefer a no answer. Is that legal?