[CIR] Add support for atomic compare-and-swap (#156253)
This patch adds support for atomic compare-and-swap operations,
including the following C/C++ instrinsics:
- `__atomic_compare_exchange`
- `__atomic_compare_exchange_n`
- `__c11_atomic_compare_exchange_strong`
- `__c11_atomic_compare_exchange_weak`