Skip to content

Commit 056b9a9

Browse files
committed
[X86] Autogenerate complete checks. NFC
llvm-svn: 356723
1 parent c10b246 commit 056b9a9

File tree

1 file changed

+44
-5
lines changed

1 file changed

+44
-5
lines changed
Lines changed: 44 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,58 @@
1+
; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
12
; RUN: llc < %s -mcpu=corei7 -mtriple=i686-- -verify-machineinstrs | FileCheck %s
23

34
; 64-bit load/store on x86-32
45
; FIXME: The generated code can be substantially improved.
56

67
define void @test1(i64* %ptr, i64 %val1) {
7-
; CHECK-LABEL: test1
8-
; CHECK: lock cmpxchg8b
9-
; CHECK-NEXT: jne
8+
; CHECK-LABEL: test1:
9+
; CHECK: # %bb.0:
10+
; CHECK-NEXT: pushl %ebx
11+
; CHECK-NEXT: .cfi_def_cfa_offset 8
12+
; CHECK-NEXT: pushl %esi
13+
; CHECK-NEXT: .cfi_def_cfa_offset 12
14+
; CHECK-NEXT: .cfi_offset %esi, -12
15+
; CHECK-NEXT: .cfi_offset %ebx, -8
16+
; CHECK-NEXT: movl {{[0-9]+}}(%esp), %ecx
17+
; CHECK-NEXT: movl {{[0-9]+}}(%esp), %ebx
18+
; CHECK-NEXT: movl {{[0-9]+}}(%esp), %esi
19+
; CHECK-NEXT: movl (%esi), %eax
20+
; CHECK-NEXT: movl 4(%esi), %edx
21+
; CHECK-NEXT: .p2align 4, 0x90
22+
; CHECK-NEXT: .LBB0_1: # %atomicrmw.start
23+
; CHECK-NEXT: # =>This Inner Loop Header: Depth=1
24+
; CHECK-NEXT: lock cmpxchg8b (%esi)
25+
; CHECK-NEXT: jne .LBB0_1
26+
; CHECK-NEXT: # %bb.2: # %atomicrmw.end
27+
; CHECK-NEXT: popl %esi
28+
; CHECK-NEXT: .cfi_def_cfa_offset 8
29+
; CHECK-NEXT: popl %ebx
30+
; CHECK-NEXT: .cfi_def_cfa_offset 4
31+
; CHECK-NEXT: retl
1032
store atomic i64 %val1, i64* %ptr seq_cst, align 8
1133
ret void
1234
}
1335

1436
define i64 @test2(i64* %ptr) {
15-
; CHECK-LABEL: test2
16-
; CHECK: lock cmpxchg8b
37+
; CHECK-LABEL: test2:
38+
; CHECK: # %bb.0:
39+
; CHECK-NEXT: pushl %ebx
40+
; CHECK-NEXT: .cfi_def_cfa_offset 8
41+
; CHECK-NEXT: pushl %esi
42+
; CHECK-NEXT: .cfi_def_cfa_offset 12
43+
; CHECK-NEXT: .cfi_offset %esi, -12
44+
; CHECK-NEXT: .cfi_offset %ebx, -8
45+
; CHECK-NEXT: movl {{[0-9]+}}(%esp), %esi
46+
; CHECK-NEXT: xorl %eax, %eax
47+
; CHECK-NEXT: xorl %edx, %edx
48+
; CHECK-NEXT: xorl %ecx, %ecx
49+
; CHECK-NEXT: xorl %ebx, %ebx
50+
; CHECK-NEXT: lock cmpxchg8b (%esi)
51+
; CHECK-NEXT: popl %esi
52+
; CHECK-NEXT: .cfi_def_cfa_offset 8
53+
; CHECK-NEXT: popl %ebx
54+
; CHECK-NEXT: .cfi_def_cfa_offset 4
55+
; CHECK-NEXT: retl
1756
%val = load atomic i64, i64* %ptr seq_cst, align 8
1857
ret i64 %val
1958
}

0 commit comments

Comments
 (0)