blob: 8241410be3697ded11bc3df41f42e13a281fea57 [file] [log] [blame]
Simon Pilgrim49f9ba32017-09-05 13:40:29 +00001; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
2; RUN: llc < %s -mtriple=i686-apple-macosx10.13.0 | FileCheck %s --check-prefix=X86
3; RUN: llc < %s -mtriple=x86_64-apple-macosx10.13.0 | FileCheck %s --check-prefix=X64
4
5define void @thread_selfcounts() noimplicitfloat noredzone nounwind {
6; X86-LABEL: thread_selfcounts:
Francis Visoiu Mistrih25528d62017-12-04 17:18:51 +00007; X86: ## %bb.0: ## %entry
Simon Pilgrim49f9ba32017-09-05 13:40:29 +00008; X86-NEXT: subl $44, %esp
9; X86-NEXT: movl {{[0-9]+}}(%esp), %eax
10; X86-NEXT: movl {{[0-9]+}}(%esp), %ecx
11; X86-NEXT: movl %ecx, {{[0-9]+}}(%esp)
12; X86-NEXT: movl %eax, (%esp)
13; X86-NEXT: movl {{[0-9]+}}(%esp), %eax
14; X86-NEXT: movl {{[0-9]+}}(%esp), %ecx
15; X86-NEXT: movl %ecx, {{[0-9]+}}(%esp)
16; X86-NEXT: movl %eax, {{[0-9]+}}(%esp)
17; X86-NEXT: ## -- End function
18;
19; X64-LABEL: thread_selfcounts:
Francis Visoiu Mistrih25528d62017-12-04 17:18:51 +000020; X64: ## %bb.0: ## %entry
Simon Pilgrim49f9ba32017-09-05 13:40:29 +000021; X64-NEXT: subq $40, %rsp
22; X64-NEXT: movq {{[0-9]+}}(%rsp), %rax
23; X64-NEXT: movq {{[0-9]+}}(%rsp), %rcx
24; X64-NEXT: movq %rax, (%rsp)
25; X64-NEXT: movq %rcx, {{[0-9]+}}(%rsp)
26; X64-NEXT: ## -- End function
27entry:
28 %counts = alloca [2 x i64], align 16
29 %thread_counts = alloca [3 x i64], align 16
30 %arraydecay = getelementptr inbounds [3 x i64], [3 x i64]* %thread_counts, i64 0, i64 0
31 %0 = load i64, i64* %arraydecay, align 16
32 %arrayidx3 = getelementptr inbounds [2 x i64], [2 x i64]* %counts, i64 0, i64 0
33 store i64 %0, i64* %arrayidx3, align 16
34 %arrayidx6 = getelementptr inbounds [3 x i64], [3 x i64]* %thread_counts, i64 0, i64 1
35 %1 = load i64, i64* %arrayidx6, align 8
36 %arrayidx10 = getelementptr inbounds [2 x i64], [2 x i64]* %counts, i64 0, i64 1
37 store i64 %1, i64* %arrayidx10, align 8
38 unreachable
39}
40