Mercurial > hg > Members > tobaru > cbc > CbC_llvm
comparison test/CodeGen/R600/fmaxnum.f64.ll @ 83:60c9769439b8
LLVM 3.7
author | Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp> |
---|---|
date | Wed, 18 Feb 2015 14:55:36 +0900 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
78:af83660cff7b | 83:60c9769439b8 |
---|---|
1 ; RUN: llc -march=amdgcn -mcpu=SI < %s | FileCheck -check-prefix=SI -check-prefix=FUNC %s | |
2 ; RUN: llc -march=amdgcn -mcpu=tonga < %s | FileCheck -check-prefix=SI -check-prefix=FUNC %s | |
3 | |
4 declare double @llvm.maxnum.f64(double, double) #0 | |
5 declare <2 x double> @llvm.maxnum.v2f64(<2 x double>, <2 x double>) #0 | |
6 declare <4 x double> @llvm.maxnum.v4f64(<4 x double>, <4 x double>) #0 | |
7 declare <8 x double> @llvm.maxnum.v8f64(<8 x double>, <8 x double>) #0 | |
8 declare <16 x double> @llvm.maxnum.v16f64(<16 x double>, <16 x double>) #0 | |
9 | |
10 ; FUNC-LABEL: @test_fmax_f64 | |
11 ; SI: v_max_f64 | |
12 define void @test_fmax_f64(double addrspace(1)* %out, double %a, double %b) nounwind { | |
13 %val = call double @llvm.maxnum.f64(double %a, double %b) #0 | |
14 store double %val, double addrspace(1)* %out, align 8 | |
15 ret void | |
16 } | |
17 | |
18 ; FUNC-LABEL: @test_fmax_v2f64 | |
19 ; SI: v_max_f64 | |
20 ; SI: v_max_f64 | |
21 define void @test_fmax_v2f64(<2 x double> addrspace(1)* %out, <2 x double> %a, <2 x double> %b) nounwind { | |
22 %val = call <2 x double> @llvm.maxnum.v2f64(<2 x double> %a, <2 x double> %b) #0 | |
23 store <2 x double> %val, <2 x double> addrspace(1)* %out, align 16 | |
24 ret void | |
25 } | |
26 | |
27 ; FUNC-LABEL: @test_fmax_v4f64 | |
28 ; SI: v_max_f64 | |
29 ; SI: v_max_f64 | |
30 ; SI: v_max_f64 | |
31 ; SI: v_max_f64 | |
32 define void @test_fmax_v4f64(<4 x double> addrspace(1)* %out, <4 x double> %a, <4 x double> %b) nounwind { | |
33 %val = call <4 x double> @llvm.maxnum.v4f64(<4 x double> %a, <4 x double> %b) #0 | |
34 store <4 x double> %val, <4 x double> addrspace(1)* %out, align 32 | |
35 ret void | |
36 } | |
37 | |
38 ; FUNC-LABEL: @test_fmax_v8f64 | |
39 ; SI: v_max_f64 | |
40 ; SI: v_max_f64 | |
41 ; SI: v_max_f64 | |
42 ; SI: v_max_f64 | |
43 ; SI: v_max_f64 | |
44 ; SI: v_max_f64 | |
45 ; SI: v_max_f64 | |
46 ; SI: v_max_f64 | |
47 define void @test_fmax_v8f64(<8 x double> addrspace(1)* %out, <8 x double> %a, <8 x double> %b) nounwind { | |
48 %val = call <8 x double> @llvm.maxnum.v8f64(<8 x double> %a, <8 x double> %b) #0 | |
49 store <8 x double> %val, <8 x double> addrspace(1)* %out, align 64 | |
50 ret void | |
51 } | |
52 | |
53 ; FUNC-LABEL: @test_fmax_v16f64 | |
54 ; SI: v_max_f64 | |
55 ; SI: v_max_f64 | |
56 ; SI: v_max_f64 | |
57 ; SI: v_max_f64 | |
58 ; SI: v_max_f64 | |
59 ; SI: v_max_f64 | |
60 ; SI: v_max_f64 | |
61 ; SI: v_max_f64 | |
62 ; SI: v_max_f64 | |
63 ; SI: v_max_f64 | |
64 ; SI: v_max_f64 | |
65 ; SI: v_max_f64 | |
66 ; SI: v_max_f64 | |
67 ; SI: v_max_f64 | |
68 ; SI: v_max_f64 | |
69 ; SI: v_max_f64 | |
70 define void @test_fmax_v16f64(<16 x double> addrspace(1)* %out, <16 x double> %a, <16 x double> %b) nounwind { | |
71 %val = call <16 x double> @llvm.maxnum.v16f64(<16 x double> %a, <16 x double> %b) #0 | |
72 store <16 x double> %val, <16 x double> addrspace(1)* %out, align 128 | |
73 ret void | |
74 } | |
75 | |
76 attributes #0 = { nounwind readnone } |