From 1b7afc891a68c0f87b4409bcf59dff18122565b3 Mon Sep 17 00:00:00 2001 From: Simon Pilgrim Date: Tue, 1 Aug 2017 13:12:15 +0000 Subject: [PATCH] [X86] Regenerate big structure return test and check on x86_64 as well. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@309676 91177308-0d34-0410-b5e6-96231b3b80d8 --- test/CodeGen/X86/bigstructret.ll | 50 +++++++++++++++++++++++++++++----------- 1 file changed, 37 insertions(+), 13 deletions(-) diff --git a/test/CodeGen/X86/bigstructret.ll b/test/CodeGen/X86/bigstructret.ll index 3c499fae820..6231ba3efb3 100644 --- a/test/CodeGen/X86/bigstructret.ll +++ b/test/CodeGen/X86/bigstructret.ll @@ -1,15 +1,28 @@ -; RUN: llc < %s -march=x86 | FileCheck %s +; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py +; RUN: llc < %s -mtriple=i686-unknown-unknown | FileCheck %s --check-prefix=X86 +; RUN: llc < %s -mtriple=x86_64-unknown-unknown | FileCheck %s --check-prefix=X64 %0 = type { i32, i32, i32, i32 } %1 = type { i1, i1, i1, i32 } -; CHECK: ReturnBigStruct -; CHECK: movl $24601, 12(%ecx) -; CHECK: movl $48, 8(%ecx) -; CHECK: movl $24, 4(%ecx) -; CHECK: movl $12, (%ecx) - define fastcc %0 @ReturnBigStruct() nounwind readnone { +; X86-LABEL: ReturnBigStruct: +; X86: # BB#0: # %entry +; X86-NEXT: movl $24601, 12(%ecx) # imm = 0x6019 +; X86-NEXT: movl $48, 8(%ecx) +; X86-NEXT: movl $24, 4(%ecx) +; X86-NEXT: movl $12, (%ecx) +; X86-NEXT: movl %ecx, %eax +; X86-NEXT: retl +; +; X64-LABEL: ReturnBigStruct: +; X64: # BB#0: # %entry +; X64-NEXT: movabsq $105660490448944, %rax # imm = 0x601900000030 +; X64-NEXT: movq %rax, 8(%rdi) +; X64-NEXT: movabsq $103079215116, %rax # imm = 0x180000000C +; X64-NEXT: movq %rax, (%rdi) +; X64-NEXT: movq %rdi, %rax +; X64-NEXT: retq entry: %0 = insertvalue %0 zeroinitializer, i32 12, 0 %1 = insertvalue %0 %0, i32 24, 1 @@ -18,13 +31,24 @@ entry: ret %0 %3 } -; CHECK: ReturnBigStruct2 -; CHECK: movl $48, 4(%ecx) -; CHECK: movb $1, 2(%ecx) -; CHECK: movb $1, 1(%ecx) -; CHECK: movb $0, (%ecx) - define fastcc %1 @ReturnBigStruct2() nounwind readnone { +; X86-LABEL: ReturnBigStruct2: +; X86: # BB#0: # %entry +; X86-NEXT: movl $48, 4(%ecx) +; X86-NEXT: movb $1, 2(%ecx) +; X86-NEXT: movb $1, 1(%ecx) +; X86-NEXT: movb $0, (%ecx) +; X86-NEXT: movl %ecx, %eax +; X86-NEXT: retl +; +; X64-LABEL: ReturnBigStruct2: +; X64: # BB#0: # %entry +; X64-NEXT: movl $48, 4(%rdi) +; X64-NEXT: movb $1, 2(%rdi) +; X64-NEXT: movb $1, 1(%rdi) +; X64-NEXT: movb $0, (%rdi) +; X64-NEXT: movq %rdi, %rax +; X64-NEXT: retq entry: %0 = insertvalue %1 zeroinitializer, i1 false, 0 %1 = insertvalue %1 %0, i1 true, 1 -- 2.11.0