[RISCV] Add shrinkwrap test cases showing gaps in current impl
[llvm-project.git] / llvm / test / CodeGen / X86 / zero-remat.ll
blob95a98a5fa636ce08848f6b7d05f4bee3997814c6
1 ; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 4
2 ; REQUIRES: asserts
3 ; RUN: llc < %s -mtriple=x86_64-- | FileCheck %s --check-prefix=X64
4 ; RUN: llc < %s -mtriple=x86_64-- -o /dev/null -stats  -info-output-file - | grep asm-printer  | grep 12
5 ; RUN: llc < %s -mtriple=i686-- | FileCheck %s --check-prefix=X86
7 declare void @bar(double %x)
8 declare void @barf(float %x)
10 define double @foo() nounwind {
11 ; X64-LABEL: foo:
12 ; X64:       # %bb.0:
13 ; X64-NEXT:    pushq %rax
14 ; X64-NEXT:    xorps %xmm0, %xmm0
15 ; X64-NEXT:    callq bar@PLT
16 ; X64-NEXT:    xorps %xmm0, %xmm0
17 ; X64-NEXT:    popq %rax
18 ; X64-NEXT:    retq
20 ; X86-LABEL: foo:
21 ; X86:       # %bb.0:
22 ; X86-NEXT:    subl $8, %esp
23 ; X86-NEXT:    fldz
24 ; X86-NEXT:    fstpl (%esp)
25 ; X86-NEXT:    calll bar@PLT
26 ; X86-NEXT:    fldz
27 ; X86-NEXT:    addl $8, %esp
28 ; X86-NEXT:    retl
29   call void @bar(double 0.0)
30   ret double 0.0
34 define float @foof() nounwind {
35 ; X64-LABEL: foof:
36 ; X64:       # %bb.0:
37 ; X64-NEXT:    pushq %rax
38 ; X64-NEXT:    xorps %xmm0, %xmm0
39 ; X64-NEXT:    callq barf@PLT
40 ; X64-NEXT:    xorps %xmm0, %xmm0
41 ; X64-NEXT:    popq %rax
42 ; X64-NEXT:    retq
44 ; X86-LABEL: foof:
45 ; X86:       # %bb.0:
46 ; X86-NEXT:    pushl $0
47 ; X86-NEXT:    calll barf@PLT
48 ; X86-NEXT:    addl $4, %esp
49 ; X86-NEXT:    fldz
50 ; X86-NEXT:    retl
51   call void @barf(float 0.0)
52   ret float 0.0