diff options
author | Simon Pilgrim <llvm-dev@redking.me.uk> | 2017-08-01 13:12:15 +0000 |
---|---|---|
committer | Simon Pilgrim <llvm-dev@redking.me.uk> | 2017-08-01 13:12:15 +0000 |
commit | 4e0b41450d412d21502c2c53a011ac8937cffc2c (patch) | |
tree | 8b5f37551c1def4d6b8cbdae0f0a4b884b994ee7 | |
parent | 9d8337d8575f3f82de02f50573dbc93db5617f89 (diff) | |
download | bcm5719-llvm-4e0b41450d412d21502c2c53a011ac8937cffc2c.tar.gz bcm5719-llvm-4e0b41450d412d21502c2c53a011ac8937cffc2c.zip |
[X86] Regenerate big structure return test and check on x86_64 as well.
llvm-svn: 309676
-rw-r--r-- | llvm/test/CodeGen/X86/bigstructret.ll | 50 |
1 files changed, 37 insertions, 13 deletions
diff --git a/llvm/test/CodeGen/X86/bigstructret.ll b/llvm/test/CodeGen/X86/bigstructret.ll index 3c499fae820..6231ba3efb3 100644 --- a/llvm/test/CodeGen/X86/bigstructret.ll +++ b/llvm/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 |