OSDN Git Service

AMDGPU: Fix i64 global cmpxchg
authorMatt Arsenault <Matthew.Arsenault@amd.com>
Thu, 9 Jun 2016 23:42:48 +0000 (23:42 +0000)
committerMatt Arsenault <Matthew.Arsenault@amd.com>
Thu, 9 Jun 2016 23:42:48 +0000 (23:42 +0000)
commitbada556f731bac667ea2a88679c93b9fbf857a00
tree28272c7a744a63d21068025729c3a57b0468724f
parent003d842e7f244f298f246a203e588c679851b932
AMDGPU: Fix i64 global cmpxchg

This was using extract_subreg sub0 to extract the low register
of the result instead of sub0_sub1, producing an invalid copy.

There doesn't seem to be a way to use the compound subreg indices
in tablegen since those are generated, so manually select it.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@272344 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp
lib/Target/AMDGPU/AMDGPUSubtarget.h
lib/Target/AMDGPU/SIISelLowering.cpp
lib/Target/AMDGPU/SIInstructions.td
test/CodeGen/AMDGPU/global_atomics_i64.ll