[AArch64,ELF] Restrict MOVZ/MOVK to non-PIC large code model (#70178)
[llvm-project.git] / llvm / test / CodeGen / X86 / zero-remat.ll
blob04d7a2c2c558be6cfb224ff30fb2fb49f391186a
1 ; REQUIRES: asserts
2 ; RUN: llc < %s -mtriple=x86_64-- | FileCheck %s --check-prefix=CHECK-64
3 ; RUN: llc < %s -mtriple=x86_64-- -o /dev/null -stats  -info-output-file - | grep asm-printer  | grep 12
4 ; RUN: llc < %s -mtriple=i686-- | FileCheck %s --check-prefix=CHECK-32
6 declare void @bar(double %x)
7 declare void @barf(float %x)
9 define double @foo() nounwind {
11   call void @bar(double 0.0)
12   ret double 0.0
14 ;CHECK-32-LABEL: foo:
15 ;CHECK-32: call
16 ;CHECK-32: fldz
17 ;CHECK-32: ret
19 ;CHECK-64-LABEL: foo:
20 ;CHECK-64: xorps
21 ;CHECK-64: call
22 ;CHECK-64: xorps
23 ;CHECK-64: ret
27 define float @foof() nounwind {
28   call void @barf(float 0.0)
29   ret float 0.0
31 ;CHECK-32-LABEL: foof:
32 ;CHECK-32: call
33 ;CHECK-32: fldz
34 ;CHECK-32: ret
36 ;CHECK-64-LABEL: foof:
37 ;CHECK-64: xorps
38 ;CHECK-64: call
39 ;CHECK-64: xorps
40 ;CHECK-64: ret