summaryrefslogtreecommitdiff
path: root/lib/Target/ARM/ARMISelDAGToDAG.cpp
diff options
context:
space:
mode:
authorSilviu Baranga <silviu.baranga@arm.com>2012-11-29 14:41:25 +0000
committerSilviu Baranga <silviu.baranga@arm.com>2012-11-29 14:41:25 +0000
commit35b3df6e31f9aac70fb471d74e39f899dfbd689f (patch)
tree49a621823b33ca74be2e4c751d693e5223490bf0 /lib/Target/ARM/ARMISelDAGToDAG.cpp
parent5175fd990c898a49708d60b84e7838bead48f2cd (diff)
downloadllvm-35b3df6e31f9aac70fb471d74e39f899dfbd689f.tar.gz
llvm-35b3df6e31f9aac70fb471d74e39f899dfbd689f.tar.bz2
llvm-35b3df6e31f9aac70fb471d74e39f899dfbd689f.tar.xz
Added atomic 64 min/max/umin/umax instrinsics support in the ARM backend.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168886 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/ARM/ARMISelDAGToDAG.cpp')
-rw-r--r--lib/Target/ARM/ARMISelDAGToDAG.cpp9
1 files changed, 9 insertions, 0 deletions
diff --git a/lib/Target/ARM/ARMISelDAGToDAG.cpp b/lib/Target/ARM/ARMISelDAGToDAG.cpp
index 66fb83ca7b..de9c8eb2d8 100644
--- a/lib/Target/ARM/ARMISelDAGToDAG.cpp
+++ b/lib/Target/ARM/ARMISelDAGToDAG.cpp
@@ -3327,6 +3327,15 @@ SDNode *ARMDAGToDAGISel::Select(SDNode *N) {
return SelectAtomic64(N, ARM::ATOMSWAP6432);
case ARMISD::ATOMCMPXCHG64_DAG:
return SelectAtomic64(N, ARM::ATOMCMPXCHG6432);
+
+ case ARMISD::ATOMMIN64_DAG:
+ return SelectAtomic64(N, ARM::ATOMMIN6432);
+ case ARMISD::ATOMUMIN64_DAG:
+ return SelectAtomic64(N, ARM::ATOMUMIN6432);
+ case ARMISD::ATOMMAX64_DAG:
+ return SelectAtomic64(N, ARM::ATOMMAX6432);
+ case ARMISD::ATOMUMAX64_DAG:
+ return SelectAtomic64(N, ARM::ATOMUMAX6432);
}
return SelectCode(N);