1; RUN: llc < %s -mtriple=x86_64-win32 -mattr=sse2 | FileCheck %s 2target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" 3target triple = "x86_64-pc-windows-msvc" 4 5define double @double() { 6 ret double 0x0000000000800000 7} 8; CHECK: .globl __real@0000000000800000 9; CHECK-NEXT: .section .rdata,"dr",discard,__real@0000000000800000 10; CHECK-NEXT: .align 8 11; CHECK-NEXT: __real@0000000000800000: 12; CHECK-NEXT: .quad 8388608 13; CHECK: double: 14; CHECK: movsd __real@0000000000800000(%rip), %xmm0 15; CHECK-NEXT: ret 16 17define <4 x i32> @vec1() { 18 ret <4 x i32> <i32 3, i32 2, i32 1, i32 0> 19} 20; CHECK: .globl __xmm@00000000000000010000000200000003 21; CHECK-NEXT: .section .rdata,"dr",discard,__xmm@00000000000000010000000200000003 22; CHECK-NEXT: .align 16 23; CHECK-NEXT: __xmm@00000000000000010000000200000003: 24; CHECK-NEXT: .long 3 25; CHECK-NEXT: .long 2 26; CHECK-NEXT: .long 1 27; CHECK-NEXT: .long 0 28; CHECK: vec1: 29; CHECK: movaps __xmm@00000000000000010000000200000003(%rip), %xmm0 30; CHECK-NEXT: ret 31 32define <8 x i16> @vec2() { 33 ret <8 x i16> <i16 7, i16 6, i16 5, i16 4, i16 3, i16 2, i16 1, i16 0> 34} 35; CHECK: .globl __xmm@00000001000200030004000500060007 36; CHECK-NEXT: .section .rdata,"dr",discard,__xmm@00000001000200030004000500060007 37; CHECK-NEXT: .align 16 38; CHECK-NEXT: __xmm@00000001000200030004000500060007: 39; CHECK-NEXT: .short 7 40; CHECK-NEXT: .short 6 41; CHECK-NEXT: .short 5 42; CHECK-NEXT: .short 4 43; CHECK-NEXT: .short 3 44; CHECK-NEXT: .short 2 45; CHECK-NEXT: .short 1 46; CHECK-NEXT: .short 0 47; CHECK: vec2: 48; CHECK: movaps __xmm@00000001000200030004000500060007(%rip), %xmm0 49; CHECK-NEXT: ret 50 51 52define <4 x float> @undef1() { 53 ret <4 x float> <float 1.0, float 1.0, float undef, float undef> 54 55; CHECK: .globl __xmm@00000000000000003f8000003f800000 56; CHECK-NEXT: .section .rdata,"dr",discard,__xmm@00000000000000003f8000003f800000 57; CHECK-NEXT: .align 16 58; CHECK-NEXT: __xmm@00000000000000003f8000003f800000: 59; CHECK-NEXT: .long 1065353216 # float 1 60; CHECK-NEXT: .long 1065353216 # float 1 61; CHECK-NEXT: .zero 4 62; CHECK-NEXT: .zero 4 63; CHECK: undef1: 64; CHECK: movaps __xmm@00000000000000003f8000003f800000(%rip), %xmm0 65; CHECK-NEXT: ret 66} 67