1; RUN: llc -O0 < %s | FileCheck %s
2
3target datalayout = "e-m:w-i64:64-f80:128-n8:16:32:64-S128"
4target triple = "x86_64-pc-windows-msvc"
5
6define dso_local i32 @main() #0 {
7entry:
8  %retval = alloca i32, align 4
9  %a = alloca fp128, align 16
10  %b = alloca fp128, align 16
11  %c = alloca fp128, align 16
12  %d = alloca fp128, align 16
13  %e = alloca fp128, align 16
14  %f = alloca fp128, align 16
15  %g = alloca fp128, align 16
16  %h = alloca float, align 4
17  %i = alloca float, align 4
18  %j = alloca float, align 4
19  %k = alloca float, align 4
20  %l = alloca double, align 8
21  %m = alloca double, align 8
22  %n = alloca double, align 8
23  %o = alloca double, align 8
24  store i32 0, i32* %retval, align 4
25
26  store fp128 0xLBB2C11D0AE2E087D73E717A35985531C, fp128* %a, align 16
27  store fp128 0xLBB2C11D0AE2E087D73E717A35985531C, fp128* %b, align 16
28  store fp128 0xL00000000000000004002000000000000, fp128* %c, align 16
29  store fp128 0xL00000000000000007FFF800000000000, fp128* %d, align 16
30  store fp128 0xL00000000000000007FFF000000000000, fp128* %e, align 16
31  store fp128 0xL00000000000000007FFF000000000000, fp128* %f, align 16
32  store fp128 0xL10000000000000003F66244CE242C556, fp128* %g, align 16
33  store float 0x3E212E0BE0000000, float* %h, align 4
34  store float 8.000000e+00, float* %i, align 4
35  store float 0x7FF8000000000000, float* %j, align 4
36  store float 0x7FF0000000000000, float* %k, align 4
37  store double 1.000000e+00, double* %l, align 8
38  store double 8.000000e+00, double* %m, align 8
39  store double 0x7FF8000000000000, double* %n, align 8
40  store double 0x7FF0000000000000, double* %o, align 8
41
42  ret i32 0
43}
44
45attributes #0 = { "target-features"="+mmx" }
46
47; %o
48; CHECK: .globl	__real@7ff0000000000000
49; CHECK: .section	.rdata,"dr",discard,__real@7ff0000000000000
50
51; %n
52; CHECK: .globl	__real@7ff8000000000000
53; CHECK: .section	.rdata,"dr",discard,__real@7ff8000000000000
54
55; %m
56; CHECK: .globl	__real@4020000000000000
57; CHECK: .section	.rdata,"dr",discard,__real@4020000000000000
58
59; %l
60; CHECK: .globl	__real@3ff0000000000000
61; CHECK: .section	.rdata,"dr",discard,__real@3ff0000000000000
62
63; %j
64; CHECK: .globl	__real@7f800000
65; CHECK: .section	.rdata,"dr",discard,__real@7f800000
66
67; %k
68; CHECK: .globl	__real@7fc00000
69; CHECK: .section	.rdata,"dr",discard,__real@7fc00000
70
71; %i
72; CHECK: .globl	__real@41000000
73; CHECK: .section	.rdata,"dr",discard,__real@41000000
74
75; %h
76; CHECK: .globl	__real@3109705f
77; CHECK: .section	.rdata,"dr",discard,__real@3109705f
78
79; %a, %b
80; CHECK: .globl	__xmm@73e717a35985531cbb2c11d0ae2e087d
81; CHECK: .section	.rdata,"dr",discard,__xmm@73e717a35985531cbb2c11d0ae2e087d
82
83; %c
84; CHECK: .globl	__xmm@40020000000000000000000000000000
85; CHECK: .section	.rdata,"dr",discard,__xmm@40020000000000000000000000000000
86
87; %d
88; CHECK: .globl	__xmm@7fff8000000000000000000000000000
89; CHECK: .section	.rdata,"dr",discard,__xmm@7fff8000000000000000000000000000
90
91; %e, %f
92; CHECK: .globl	__xmm@7fff0000000000000000000000000000
93; CHECK: .section	.rdata,"dr",discard,__xmm@7fff0000000000000000000000000000
94
95; %g
96; CHECK: .globl	__xmm@3f66244ce242c5561000000000000000
97; CHECK: .section	.rdata,"dr",discard,__xmm@3f66244ce242c5561000000000000000
98