2018-06-06 21:56:51 +08:00
|
|
|
; REQUIRES: x86
|
2015-06-09 10:53:09 +08:00
|
|
|
; RUN: llvm-as -o %t.obj %s
|
2015-08-07 00:47:46 +08:00
|
|
|
; RUN: lld-link /out:%t.exe /entry:foo /subsystem:console %t.obj
|
2015-06-09 10:53:09 +08:00
|
|
|
|
2019-09-11 07:15:38 +08:00
|
|
|
target datalayout = "e-m:w-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128"
|
2015-06-09 10:53:09 +08:00
|
|
|
target triple = "x86_64-pc-windows-msvc"
|
|
|
|
|
2019-01-25 05:31:43 +08:00
|
|
|
; Define fltused, since we don't link against the MS C runtime but are
|
|
|
|
; using floats.
|
|
|
|
@_fltused = dllexport global i32 0, align 4
|
|
|
|
|
2015-06-09 10:53:09 +08:00
|
|
|
define void @foo(<4 x i32>* %p, <4 x float>* %q, i1 %t) nounwind {
|
|
|
|
entry:
|
|
|
|
br label %loop
|
|
|
|
loop:
|
|
|
|
store <4 x i32><i32 1073741824, i32 1073741824, i32 1073741824, i32 1073741824>, <4 x i32>* %p
|
|
|
|
store <4 x float><float 2.0, float 2.0, float 2.0, float 2.0>, <4 x float>* %q
|
|
|
|
br i1 %t, label %loop, label %ret
|
|
|
|
ret:
|
|
|
|
ret void
|
|
|
|
}
|