| ; The purpose of this test to verify that the fltused symbol is |
| ; not emitted when purely vector floating point operations are used on Windows. |
| |
| ; RUN: llc < %s -mtriple i686-pc-win32 | FileCheck %s |
| ; RUN: llc < %s -mtriple x86_64-pc-win32 | FileCheck %s |
| |
| @foo = external dso_local global [4 x float], align 16 |
| |
| ; Function Attrs: noinline nounwind optnone sspstrong uwtable |
| define dso_local <4 x float> @func() #0 { |
| entry: |
| %__p.addr.i = alloca ptr, align 8 |
| %vector1 = alloca <4 x float>, align 16 |
| store ptr @foo, ptr %__p.addr.i, align 8 |
| %0 = load ptr, ptr %__p.addr.i, align 8 |
| %1 = load <4 x float>, ptr %0, align 16 |
| store <4 x float> %1, ptr %vector1, align 16 |
| %2 = load <4 x float>, ptr %vector1, align 16 |
| ret <4 x float> %2 |
| } |
| |
| define <4 x float> @mul_vectors(<4 x float> %a, <4 x float> %b) { |
| entry: |
| %result = fmul <4 x float> %a, %b |
| ret <4 x float> %result |
| } |
| |
| ; _fltused is determined at a module level |
| ; CHECK-NOT: .globl {{_?}}_fltused |