9931b1f7a4785b6a17fb87b81a3546d61d0cbca1 switched this to checking for
the two specific subtargets, instead of the dedicated feature. This
broke supporting functions which force added the feature when emitting
targets that do not actually support them. This stil does not work for
the targets that use the gfx6/7 or gfx10 encodings.
Details
- Reviewers
rampitec
Diff Detail
Event Timeline
We need to produce something. The expectation is the function should be dynamically dead.
The feature itself is not sufficient, you cannot just expand atomicrmw into this without knowledge of other target properties. Unfortunately these has changed since first defined.
What other target properties? This is supposed to be the target property to say the instruction is available
All that interactions with ret/noret flavors and flushing. I am not sure how could you produce this instruction for an unrelated HW. I would say atomicrmw shall be expanded into a CAS loop in this case, at least it will work.
The point is there is no hardware. This is driven purely by the feature, not the specific device. This is the only feature required to handle this case (plus the mode settings for unsafe/flush).