Home | History | Annotate | Download | only in CodeGen

Lines Matching full:exchange

11 // CHECK:   %[[EXCHANGE:[0-9]+]] = atomicrmw xchg i32* %[[TARGET]], i32 %[[VALUE]] seq_cst
12 // CHECK: %[[RESULT:[0-9]+]] = inttoptr i32 %[[EXCHANGE]] to i8*
17 void *Exchange, void *Comparand) {
18 return _InterlockedCompareExchangePointer(Destination, Exchange, Comparand);
21 // CHECK: define{{.*}}i8* @test_InterlockedCompareExchangePointer(i8** %Destination, i8* %Exchange, i8* %Comparand){{.*}}{
23 // CHECK: %[[EXCHANGE:[0-9]+]] = ptrtoint i8* %Exchange to i32
25 // CHECK: %[[XCHG:[0-9]+]] = cmpxchg volatile i32* %[[DEST:[0-9]+]], i32 %[[COMPARAND:[0-9]+]], i32 %[[EXCHANGE:[0-9]+]] seq_cst seq_cst
36 // CHECK: %[[EXCHANGE:[0-9]+]] = atomicrmw xchg i32* %Target, i32 %Value seq_cst
37 // CHECK: ret i32 %[[EXCHANGE:[0-9]+]]