[LoongArch] Add codegen support for atomicrmw min/max operation on LA64
authorgonglingqin <gonglingqin@loongson.cn>
Wed, 30 Nov 2022 09:04:25 +0000 (17:04 +0800)
committergonglingqin <gonglingqin@loongson.cn>
Wed, 30 Nov 2022 09:45:18 +0000 (17:45 +0800)
commit5f9b4d8bad22a2cceac5a06e45a0f1d86ce6f0ef
tree29c16d30844e86274f2cffa46441e9f7750206b7
parent7c215a457178174187cb975e6ee7d96105ea0ef8
[LoongArch] Add codegen support for atomicrmw min/max operation on LA64

This patch is required by OpenMP. After applying this patch, OpenMP regression
test passed. To reduce review difficulty caused by too large patches,
atomicrmw min/max operations on LA32 will be added later.

Differential Revision: https://reviews.llvm.org/D138177
llvm/include/llvm/IR/IntrinsicsLoongArch.td
llvm/lib/Target/LoongArch/LoongArchExpandAtomicPseudoInsts.cpp
llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
llvm/lib/Target/LoongArch/LoongArchInstrInfo.td
llvm/test/CodeGen/LoongArch/ir-instruction/atomicrmw-minmax.ll