brintos

brintos / llvm-project-archived public Read only

0
0
Text · 3.9 KiB · 1fc05b2 Raw
105 lines · plain
1; Three variants of "MSVC" environments.2; RUN: llc < %s -mattr=sse2 -mattr=avx | FileCheck %s3; RUN: llc < %s -mtriple=x86_64-win32 -mattr=sse2 -mattr=avx | FileCheck %s4; RUN: llc < %s -mtriple=x86_64-windows-msvc -mattr=sse2 -mattr=avx | FileCheck %s5; GNU environment.6; RUN: llc < %s -mtriple=x86_64-win32-gnu -mattr=sse2 -mattr=avx | FileCheck -check-prefix=MINGW %s7target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"8target triple = "x86_64-pc-win32"9 10define double @double() {11  ret double 0x000000000080000012}13; CHECK:              .globl  __real@000000000080000014; CHECK-NEXT:         .section        .rdata,"dr",discard,__real@000000000080000015; CHECK-NEXT:         .p2align  316; CHECK-NEXT: __real@0000000000800000:17; CHECK-NEXT:         .quad   0x000000000080000018; CHECK:      double:19; CHECK:               movsd   __real@0000000000800000(%rip), %xmm020; CHECK-NEXT:          ret21 22; MINGW:              .section        .rdata,"dr"23; MINGW-NEXT:         .p2align  324; MINGW-NEXT: [[LABEL:\.LC.*]]:25; MINGW-NEXT:         .quad   0x000000000080000026; MINGW:      double:27; MINGW:               movsd   [[LABEL]](%rip), %xmm028; MINGW-NEXT:          ret29 30define <4 x i32> @vec1() {31  ret <4 x i32> <i32 3, i32 2, i32 1, i32 0>32}33; CHECK:              .globl  __xmm@0000000000000001000000020000000334; CHECK-NEXT:         .section        .rdata,"dr",discard,__xmm@0000000000000001000000020000000335; CHECK-NEXT:         .p2align  436; CHECK-NEXT: __xmm@00000000000000010000000200000003:37; CHECK-NEXT:         .long   338; CHECK-NEXT:         .long   239; CHECK-NEXT:         .long   140; CHECK-NEXT:         .long   041; CHECK:      vec1:42; CHECK:               movaps  __xmm@00000000000000010000000200000003(%rip), %xmm043; CHECK-NEXT:          ret44 45define <8 x i16> @vec2() {46  ret <8 x i16> <i16 7, i16 6, i16 5, i16 4, i16 3, i16 2, i16 1, i16 0>47}48; CHECK:             .globl  __xmm@0000000100020003000400050006000749; CHECK-NEXT:        .section        .rdata,"dr",discard,__xmm@0000000100020003000400050006000750; CHECK-NEXT:        .p2align  451; CHECK-NEXT: __xmm@00000001000200030004000500060007:52; CHECK-NEXT:        .short  753; CHECK-NEXT:        .short  654; CHECK-NEXT:        .short  555; CHECK-NEXT:        .short  456; CHECK-NEXT:        .short  357; CHECK-NEXT:        .short  258; CHECK-NEXT:        .short  159; CHECK-NEXT:        .short  060; CHECK:      vec2:61; CHECK:               movaps  __xmm@00000001000200030004000500060007(%rip), %xmm062; CHECK-NEXT:          ret63 64 65define <4 x float> @undef1() {66  ret <4 x float> <float 1.0, float 1.0, float undef, float undef>67 68; CHECK:             .globl  __real@3f80000069; CHECK-NEXT:        .section        .rdata,"dr",discard,__real@3f80000070; CHECK-NEXT:        .p2align  271; CHECK-NEXT: __real@3f800000:72; CHECK-NEXT:        .long   0x3f800000              # float 173; CHECK-NEXT:        .text74; CHECK:      undef1:75; CHECK:               vbroadcastss  __real@3f800000(%rip), %xmm076; CHECK-NEXT:          ret77}78 79define float @pr23966(i32 %a) {80  %tobool = icmp ne i32 %a, 081  %sel = select i1 %tobool, float -1.000000e+00, float 1.000000e+0082  ret float %sel83}84 85; CHECK:              .globl  __real@bf8000003f80000086; CHECK-NEXT:         .section        .rdata,"dr",discard,__real@bf8000003f80000087; CHECK-NEXT:         .p2align  388; CHECK-NEXT: __real@bf8000003f800000:89; CHECK-NEXT:         .long   0x3f80000090; CHECK-NEXT:         .long   0xbf80000091 92define <4 x i64> @ymm() {93entry:94  ret <4 x i64> <i64 8589934593, i64 17179869187, i64 8589934593, i64 17179869187>95}96 97; CHECK:	.globl	__ymm@000000040000000300000002000000010000000400000003000000020000000198; CHECK:	.section	.rdata,"dr",discard,__ymm@000000040000000300000002000000010000000400000003000000020000000199; CHECK:	.p2align	5100; CHECK: __ymm@0000000400000003000000020000000100000004000000030000000200000001:101; CHECK: 	.quad	8589934593              # 0x200000001102; CHECK: 	.quad	17179869187             # 0x400000003103; CHECK: 	.quad	8589934593              # 0x200000001104; CHECK: 	.quad	17179869187105