• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1; RUN: llc -march=hexagon < %s | FileCheck %s
2
3; CHECK-LABEL: danny
4; CHECK: memw_locked
5define i8 @danny(i8* %a0) unnamed_addr #0 {
6start:
7  %v0 = cmpxchg i8* %a0, i8 0, i8 1 seq_cst seq_cst
8  %v1 = extractvalue { i8, i1 } %v0, 0
9  ret i8 %v1
10}
11
12; CHECK-LABEL: sammy
13; CHECK: memw_locked
14define i16 @sammy(i16* %a0) unnamed_addr #0 {
15start:
16  %v0 = cmpxchg i16* %a0, i16 0, i16 1 seq_cst seq_cst
17  %v1 = extractvalue { i16, i1 } %v0, 0
18  ret i16 %v1
19}
20
21; CHECK-LABEL: kirby
22; CHECK: memw_locked
23define i32 @kirby(i32* %a0) unnamed_addr #0 {
24start:
25  %v0 = cmpxchg i32* %a0, i32 0, i32 1 seq_cst seq_cst
26  %v1 = extractvalue { i32, i1 } %v0, 0
27  ret i32 %v1
28}
29