From 39007cc8d00c087eb1901a1bf7877d3eacb0c109 Mon Sep 17 00:00:00 2001 From: Craig Topper Date: Fri, 4 Aug 2017 23:36:03 +0000 Subject: [PATCH] [X86] Regenerate the fsin/fcos instruction test using update_llc_test_checks.py. NFC This looks to have been converted from a grep based test at some point in a really strange way. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@310150 91177308-0d34-0410-b5e6-96231b3b80d8 --- test/CodeGen/X86/sincos.ll | 134 +++++++++++++++++++++++++++---------- 1 file changed, 99 insertions(+), 35 deletions(-) diff --git a/test/CodeGen/X86/sincos.ll b/test/CodeGen/X86/sincos.ll index 8f0e6f1edf6..2252b29ccaa 100644 --- a/test/CodeGen/X86/sincos.ll +++ b/test/CodeGen/X86/sincos.ll @@ -1,7 +1,7 @@ +; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py ; Make sure this testcase codegens to the sin and cos instructions, not calls -; RUN: llc < %s -mtriple=i686-apple-macosx -mattr=-sse,-sse2,-sse3 -enable-unsafe-fp-math | FileCheck %s --check-prefix=SIN -; RUN: llc < %s -mtriple=i686-apple-macosx -mattr=-sse,-sse2,-sse3 -enable-unsafe-fp-math | FileCheck %s --check-prefix=COS -; RUN: llc < %s -mtriple=i686-apple-macosx -mattr=-sse,-sse2,-sse3 | FileCheck %s --check-prefix=SAFE +; RUN: llc < %s -mtriple=i686-apple-macosx -mattr=-sse,-sse2,-sse3 -enable-unsafe-fp-math | FileCheck %s --check-prefix=CHECK --check-prefix=UNSAFE +; RUN: llc < %s -mtriple=i686-apple-macosx -mattr=-sse,-sse2,-sse3 | FileCheck %s --check-prefix=CHECK --check-prefix=SAFE declare float @sinf(float) readonly @@ -9,39 +9,69 @@ declare double @sin(double) readonly declare x86_fp80 @sinl(x86_fp80) readonly -; SIN-LABEL: test1: define float @test1(float %X) { +; UNSAFE-LABEL: test1: +; UNSAFE: ## BB#0: +; UNSAFE-NEXT: flds {{[0-9]+}}(%esp) +; UNSAFE-NEXT: fsin +; UNSAFE-NEXT: retl +; +; SAFE-LABEL: test1: +; SAFE: ## BB#0: +; SAFE-NEXT: subl $12, %esp +; SAFE-NEXT: Lcfi0: +; SAFE-NEXT: .cfi_def_cfa_offset 16 +; SAFE-NEXT: flds {{[0-9]+}}(%esp) +; SAFE-NEXT: fstps (%esp) +; SAFE-NEXT: calll _sinf +; SAFE-NEXT: addl $12, %esp +; SAFE-NEXT: retl %Y = call float @sinf(float %X) readonly ret float %Y } -; SIN: {{^[ \t]*fsin$}} -; SIN-NOT: fsin - -; SAFE: test1 -; SAFE-NOT: fsin - -; SIN-LABEL: test2: define double @test2(double %X) { +; UNSAFE-LABEL: test2: +; UNSAFE: ## BB#0: +; UNSAFE-NEXT: fldl {{[0-9]+}}(%esp) +; UNSAFE-NEXT: fsin +; UNSAFE-NEXT: retl +; +; SAFE-LABEL: test2: +; SAFE: ## BB#0: +; SAFE-NEXT: subl $12, %esp +; SAFE-NEXT: Lcfi1: +; SAFE-NEXT: .cfi_def_cfa_offset 16 +; SAFE-NEXT: fldl {{[0-9]+}}(%esp) +; SAFE-NEXT: fstpl (%esp) +; SAFE-NEXT: calll _sin +; SAFE-NEXT: addl $12, %esp +; SAFE-NEXT: retl %Y = call double @sin(double %X) readonly ret double %Y } -; SIN: {{^[ \t]*fsin$}} - -; SIN-NOT: fsin - -; SAFE: test2 -; SAFE-NOT: fsin -; SIN-LABEL: test3: define x86_fp80 @test3(x86_fp80 %X) { +; UNSAFE-LABEL: test3: +; UNSAFE: ## BB#0: +; UNSAFE-NEXT: fldt {{[0-9]+}}(%esp) +; UNSAFE-NEXT: fsin +; UNSAFE-NEXT: retl +; +; SAFE-LABEL: test3: +; SAFE: ## BB#0: +; SAFE-NEXT: subl $28, %esp +; SAFE-NEXT: Lcfi2: +; SAFE-NEXT: .cfi_def_cfa_offset 32 +; SAFE-NEXT: fldt {{[0-9]+}}(%esp) +; SAFE-NEXT: fstpt (%esp) +; SAFE-NEXT: calll _sinl +; SAFE-NEXT: addl $28, %esp +; SAFE-NEXT: retl %Y = call x86_fp80 @sinl(x86_fp80 %X) readonly ret x86_fp80 %Y } -; SIN: {{^[ \t]*fsin$}} -; SIN-NOT: fsin -; COS-NOT: fcos declare float @cosf(float) readonly declare double @cos(double) readonly @@ -49,31 +79,65 @@ declare double @cos(double) readonly declare x86_fp80 @cosl(x86_fp80) readonly -; SIN-LABEL: test4: -; COS-LABEL: test3: define float @test4(float %X) { +; UNSAFE-LABEL: test4: +; UNSAFE: ## BB#0: +; UNSAFE-NEXT: flds {{[0-9]+}}(%esp) +; UNSAFE-NEXT: fcos +; UNSAFE-NEXT: retl +; +; SAFE-LABEL: test4: +; SAFE: ## BB#0: +; SAFE-NEXT: subl $12, %esp +; SAFE-NEXT: Lcfi3: +; SAFE-NEXT: .cfi_def_cfa_offset 16 +; SAFE-NEXT: flds {{[0-9]+}}(%esp) +; SAFE-NEXT: fstps (%esp) +; SAFE-NEXT: calll _cosf +; SAFE-NEXT: addl $12, %esp +; SAFE-NEXT: retl %Y = call float @cosf(float %X) readonly ret float %Y } -; COS: {{^[ \t]*fcos}} - -; SAFE: test4 -; SAFE-NOT: fcos define double @test5(double %X) { +; UNSAFE-LABEL: test5: +; UNSAFE: ## BB#0: +; UNSAFE-NEXT: fldl {{[0-9]+}}(%esp) +; UNSAFE-NEXT: fcos +; UNSAFE-NEXT: retl +; +; SAFE-LABEL: test5: +; SAFE: ## BB#0: +; SAFE-NEXT: subl $12, %esp +; SAFE-NEXT: Lcfi4: +; SAFE-NEXT: .cfi_def_cfa_offset 16 +; SAFE-NEXT: fldl {{[0-9]+}}(%esp) +; SAFE-NEXT: fstpl (%esp) +; SAFE-NEXT: calll _cos +; SAFE-NEXT: addl $12, %esp +; SAFE-NEXT: retl %Y = call double @cos(double %X) readonly ret double %Y } -; COS: {{^[ \t]*fcos}} - -; SAFE: test5 -; SAFE-NOT: fcos define x86_fp80 @test6(x86_fp80 %X) { +; UNSAFE-LABEL: test6: +; UNSAFE: ## BB#0: +; UNSAFE-NEXT: fldt {{[0-9]+}}(%esp) +; UNSAFE-NEXT: fcos +; UNSAFE-NEXT: retl +; +; SAFE-LABEL: test6: +; SAFE: ## BB#0: +; SAFE-NEXT: subl $28, %esp +; SAFE-NEXT: Lcfi5: +; SAFE-NEXT: .cfi_def_cfa_offset 32 +; SAFE-NEXT: fldt {{[0-9]+}}(%esp) +; SAFE-NEXT: fstpt (%esp) +; SAFE-NEXT: calll _cosl +; SAFE-NEXT: addl $28, %esp +; SAFE-NEXT: retl %Y = call x86_fp80 @cosl(x86_fp80 %X) readonly ret x86_fp80 %Y } -; COS: {{^[ \t]*fcos}} - -; SIN-NOT: fsin -; COS-NOT: fcos -- 2.40.0