[ORC] Add std::tuple support to SimplePackedSerialization.
[llvm-project.git] / llvm / test / CodeGen / ARM / cmpxchg-O0-be.ll
blob29336c2f7ffdf381af49492f7a822c76ec63fa6c
1 ; RUN: llc -verify-machineinstrs -mtriple=armebv8-linux-gnueabi -O0 %s -o - | FileCheck %s
3 @x = global i64 10, align 8
4 @y = global i64 20, align 8
5 @z = global i64 20, align 8
7 ; CHECK_LABEL:  main:
8 ; CHECK:        ldr [[R2:r[0-9]+]], {{\[}}[[R1:r[0-9]+]]{{\]}}
9 ; CHECK-NEXT:   ldr [[R1]], {{\[}}[[R1]], #4]
10 ; CHECK:        mov [[R4:r[0-9]+]], [[R1]]
11 ; CHECK:        ldr [[R5:r[0-9]+]], {{\[}}[[R1]]{{\]}}
12 ; CHECK-NEXT:   ldr [[R6:r[0-9]+]], {{\[}}[[R1]], #4]
13 ; CHECK:        mov [[R7:r[0-9]+]], [[R6]]
15 define arm_aapcs_vfpcc i32 @main() #0 {
16 entry:
17   %retval = alloca i32, align 4
18   store i32 0, i32* %retval, align 4
19   %0 = load i64, i64* @z, align 8
20   %1 = load i64, i64* @x, align 8
21   %2 = cmpxchg i64* @y, i64 %0, i64 %1 seq_cst seq_cst
22   %3 = extractvalue { i64, i1 } %2, 1
23   ret i32 0