annotate test/CodeGen/Mips/fcmp.ll @ 120:1172e4bd9c6f

update 4.0.0
author mir3636
date Fri, 25 Nov 2016 19:14:25 +0900
parents afa8332a0e37
children 803732b1fca8
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
95
afa8332a0e37 LLVM 3.8
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents: 83
diff changeset
1 ; RUN: llc < %s -march=mips -mcpu=mips32 | \
120
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
2 ; RUN: FileCheck %s -check-prefixes=ALL,32-C
95
afa8332a0e37 LLVM 3.8
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents: 83
diff changeset
3 ; RUN: llc < %s -march=mips -mcpu=mips32r2 | \
120
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
4 ; RUN: FileCheck %s -check-prefixes=ALL,32-C
95
afa8332a0e37 LLVM 3.8
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents: 83
diff changeset
5 ; RUN: llc < %s -march=mips -mcpu=mips32r6 | \
120
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
6 ; RUN: FileCheck %s -check-prefixes=ALL,32-CMP
95
afa8332a0e37 LLVM 3.8
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents: 83
diff changeset
7 ; RUN: llc < %s -march=mips64 -mcpu=mips4 | \
120
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
8 ; RUN: FileCheck %s -check-prefixes=ALL,64-C
95
afa8332a0e37 LLVM 3.8
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents: 83
diff changeset
9 ; RUN: llc < %s -march=mips64 -mcpu=mips64 | \
120
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
10 ; RUN: FileCheck %s -check-prefixes=ALL,64-C
95
afa8332a0e37 LLVM 3.8
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents: 83
diff changeset
11 ; RUN: llc < %s -march=mips64 -mcpu=mips64r2 | \
120
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
12 ; RUN: FileCheck %s -check-prefixes=ALL,64-C
95
afa8332a0e37 LLVM 3.8
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents: 83
diff changeset
13 ; RUN: llc < %s -march=mips64 -mcpu=mips64r6 | \
120
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
14 ; RUN: FileCheck %s -check-prefixes=ALL,64-CMP
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
15 ; RUN: llc < %s -march=mips -mcpu=mips32r3 -mattr=+micromips | FileCheck %s \
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
16 ; RUN: -check-prefixes=ALL,MM,MM32R3
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
17 ; RUN: llc < %s -march=mips -mcpu=mips32r6 -mattr=+micromips | FileCheck %s \
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
18 ; RUN: -check-prefixes=ALL,MM,MMR6,MM32R6
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
19 ; RUN: llc < %s -march=mips64 -mcpu=mips64r6 -mattr=+micromips | FileCheck %s \
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
20 ; RUN: -check-prefixes=ALL,MM,MMR6,MM64R6
77
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
21
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
22 define i32 @false_f32(float %a, float %b) nounwind {
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
23 ; ALL-LABEL: false_f32:
120
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
24 ; 32-C: addiu $2, $zero, 0
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
25
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
26 ; 32-CMP: addiu $2, $zero, 0
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
27
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
28 ; 64-C: addiu $2, $zero, 0
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
29
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
30 ; 64-CMP: addiu $2, $zero, 0
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
31
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
32 ; MM-DAG: li16 $2, 0
77
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
33
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
34 %1 = fcmp false float %a, %b
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
35 %2 = zext i1 %1 to i32
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
36 ret i32 %2
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
37 }
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
38
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
39 define i32 @oeq_f32(float %a, float %b) nounwind {
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
40 ; ALL-LABEL: oeq_f32:
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
41
95
afa8332a0e37 LLVM 3.8
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents: 83
diff changeset
42 ; 32-C-DAG: addiu $2, $zero, 1
77
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
43 ; 32-C-DAG: c.eq.s $f12, $f14
95
afa8332a0e37 LLVM 3.8
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents: 83
diff changeset
44 ; 32-C: movf $2, $zero, $fcc0
77
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
45
95
afa8332a0e37 LLVM 3.8
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents: 83
diff changeset
46 ; 64-C-DAG: addiu $2, $zero, 1
77
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
47 ; 64-C-DAG: c.eq.s $f12, $f13
95
afa8332a0e37 LLVM 3.8
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents: 83
diff changeset
48 ; 64-C: movf $2, $zero, $fcc0
77
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
49
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
50 ; 32-CMP-DAG: cmp.eq.s $[[T0:f[0-9]+]], $f12, $f14
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
51 ; 32-CMP-DAG: mfc1 $[[T1:[0-9]+]], $[[T0]]
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
52 ; 32-CMP-DAG: andi $2, $[[T1]], 1
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
53
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
54 ; 64-CMP-DAG: cmp.eq.s $[[T0:f[0-9]+]], $f12, $f13
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
55 ; 64-CMP-DAG: mfc1 $[[T1:[0-9]+]], $[[T0]]
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
56 ; 64-CMP-DAG: andi $2, $[[T1]], 1
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
57
120
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
58 ; MM32R3-DAG: li16 $[[T0:[0-9]+]], 0
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
59 ; MM32R3-DAG: li16 $[[T1:[0-9]+]], 1
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
60 ; MM32R3-DAG: c.eq.s $f12, $f14
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
61 ; MM32R3-DAG: movf $[[T1]], $[[T0]], $fcc0
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
62
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
63 ; MM32R6-DAG: cmp.eq.s $[[T0:f[0-9]+]], $f12, $f14
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
64 ; MM64R6-DAG: cmp.eq.s $[[T0:f[0-9]+]], $f12, $f13
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
65 ; MMR6-DAG: mfc1 $[[T1:[0-9]+]], $[[T0]]
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
66 ; MMR6-DAG: andi16 $2, $[[T1]], 1
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
67
77
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
68 %1 = fcmp oeq float %a, %b
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
69 %2 = zext i1 %1 to i32
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
70 ret i32 %2
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
71 }
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
72
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
73 define i32 @ogt_f32(float %a, float %b) nounwind {
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
74 ; ALL-LABEL: ogt_f32:
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
75
95
afa8332a0e37 LLVM 3.8
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents: 83
diff changeset
76 ; 32-C-DAG: addiu $2, $zero, 1
77
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
77 ; 32-C-DAG: c.ule.s $f12, $f14
95
afa8332a0e37 LLVM 3.8
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents: 83
diff changeset
78 ; 32-C: movt $2, $zero, $fcc0
77
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
79
95
afa8332a0e37 LLVM 3.8
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents: 83
diff changeset
80 ; 64-C-DAG: addiu $2, $zero, 1
77
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
81 ; 64-C-DAG: c.ule.s $f12, $f13
95
afa8332a0e37 LLVM 3.8
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents: 83
diff changeset
82 ; 64-C: movt $2, $zero, $fcc0
77
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
83
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
84 ; 32-CMP-DAG: cmp.lt.s $[[T0:f[0-9]+]], $f14, $f12
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
85 ; 32-CMP-DAG: mfc1 $[[T1:[0-9]+]], $[[T0]]
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
86 ; 32-CMP-DAG: andi $2, $[[T1]], 1
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
87
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
88 ; 64-CMP-DAG: cmp.lt.s $[[T0:f[0-9]+]], $f13, $f12
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
89 ; 64-CMP-DAG: mfc1 $[[T1:[0-9]+]], $[[T0]]
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
90 ; 64-CMP-DAG: andi $2, $[[T1]], 1
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
91
120
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
92 ; MM32R3-DAG: li16 $[[T0:[0-9]+]], 0
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
93 ; MM32R3-DAG: li16 $[[T1:[0-9]+]], 1
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
94 ; MM32R3-DAG: c.ule.s $f12, $f14
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
95 ; MM32R3-DAG: movt $[[T1]], $[[T0]], $fcc0
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
96
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
97 ; MM32R6-DAG: cmp.lt.s $[[T0:f[0-9]+]], $f14, $f12
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
98 ; MM64R6-DAG: cmp.lt.s $[[T0:f[0-9]+]], $f13, $f12
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
99 ; MMR6-DAG: mfc1 $[[T1:[0-9]+]], $[[T0]]
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
100 ; MMR6-DAG: andi16 $2, $[[T1]], 1
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
101
77
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
102 %1 = fcmp ogt float %a, %b
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
103 %2 = zext i1 %1 to i32
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
104 ret i32 %2
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
105 }
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
106
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
107 define i32 @oge_f32(float %a, float %b) nounwind {
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
108 ; ALL-LABEL: oge_f32:
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
109
95
afa8332a0e37 LLVM 3.8
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents: 83
diff changeset
110 ; 32-C-DAG: addiu $2, $zero, 1
77
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
111 ; 32-C-DAG: c.ult.s $f12, $f14
95
afa8332a0e37 LLVM 3.8
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents: 83
diff changeset
112 ; 32-C: movt $2, $zero, $fcc0
77
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
113
95
afa8332a0e37 LLVM 3.8
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents: 83
diff changeset
114 ; 64-C-DAG: addiu $2, $zero, 1
77
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
115 ; 64-C-DAG: c.ult.s $f12, $f13
95
afa8332a0e37 LLVM 3.8
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents: 83
diff changeset
116 ; 64-C: movt $2, $zero, $fcc0
77
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
117
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
118 ; 32-CMP-DAG: cmp.le.s $[[T0:f[0-9]+]], $f14, $f12
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
119 ; 32-CMP-DAG: mfc1 $[[T1:[0-9]+]], $[[T0]]
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
120 ; 32-CMP-DAG: andi $2, $[[T1]], 1
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
121
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
122 ; 64-CMP-DAG: cmp.le.s $[[T0:f[0-9]+]], $f13, $f12
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
123 ; 64-CMP-DAG: mfc1 $[[T1:[0-9]+]], $[[T0]]
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
124 ; 64-CMP-DAG: andi $2, $[[T1]], 1
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
125
120
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
126 ; MM32R3-DAG: li16 $[[T0:[0-9]+]], 0
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
127 ; MM32R3-DAG: li16 $[[T1:[0-9]+]], 1
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
128 ; MM32R3-DAG: c.ult.s $f12, $f14
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
129 ; MM32R3-DAG: movt $[[T1]], $[[T0]], $fcc0
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
130
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
131 ; MM32R6-DAG: cmp.le.s $[[T0:f[0-9]+]], $f14, $f12
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
132 ; MM64R6-DAG: cmp.le.s $[[T0:f[0-9]+]], $f13, $f12
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
133 ; MMR6-DAG: mfc1 $[[T1:[0-9]+]], $[[T0]]
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
134 ; MMR6-DAG: andi16 $2, $[[T1]], 1
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
135
77
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
136 %1 = fcmp oge float %a, %b
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
137 %2 = zext i1 %1 to i32
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
138 ret i32 %2
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
139 }
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
140
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
141 define i32 @olt_f32(float %a, float %b) nounwind {
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
142 ; ALL-LABEL: olt_f32:
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
143
95
afa8332a0e37 LLVM 3.8
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents: 83
diff changeset
144 ; 32-C-DAG: addiu $2, $zero, 1
77
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
145 ; 32-C-DAG: c.olt.s $f12, $f14
95
afa8332a0e37 LLVM 3.8
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents: 83
diff changeset
146 ; 32-C: movf $2, $zero, $fcc0
77
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
147
95
afa8332a0e37 LLVM 3.8
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents: 83
diff changeset
148 ; 64-C-DAG: addiu $2, $zero, 1
77
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
149 ; 64-C-DAG: c.olt.s $f12, $f13
95
afa8332a0e37 LLVM 3.8
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents: 83
diff changeset
150 ; 64-C: movf $2, $zero, $fcc0
77
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
151
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
152 ; 32-CMP-DAG: cmp.lt.s $[[T0:f[0-9]+]], $f12, $f14
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
153 ; 32-CMP-DAG: mfc1 $[[T1:[0-9]+]], $[[T0]]
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
154 ; 32-CMP-DAG: andi $2, $[[T1]], 1
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
155
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
156 ; 64-CMP-DAG: cmp.lt.s $[[T0:f[0-9]+]], $f12, $f13
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
157 ; 64-CMP-DAG: mfc1 $[[T1:[0-9]+]], $[[T0]]
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
158 ; 64-CMP-DAG: andi $2, $[[T1]], 1
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
159
120
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
160 ; MM32R3-DAG: li16 $[[T0:[0-9]+]], 0
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
161 ; MM32R3-DAG: li16 $[[T1:[0-9]+]], 1
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
162 ; MM32R3-DAG: c.olt.s $f12, $f14
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
163 ; MM32R3-DAG: movf $[[T1]], $[[T0]], $fcc0
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
164
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
165 ; MM32R6-DAG: cmp.lt.s $[[T0:f[0-9]+]], $f12, $f14
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
166 ; MM64R6-DAG: cmp.lt.s $[[T0:f[0-9]+]], $f12, $f13
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
167 ; MMR6-DAG: mfc1 $[[T1:[0-9]+]], $[[T0]]
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
168 ; MMR6-DAG: andi16 $2, $[[T1]], 1
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
169
77
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
170 %1 = fcmp olt float %a, %b
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
171 %2 = zext i1 %1 to i32
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
172 ret i32 %2
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
173 }
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
174
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
175 define i32 @ole_f32(float %a, float %b) nounwind {
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
176 ; ALL-LABEL: ole_f32:
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
177
95
afa8332a0e37 LLVM 3.8
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents: 83
diff changeset
178 ; 32-C-DAG: addiu $2, $zero, 1
77
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
179 ; 32-C-DAG: c.ole.s $f12, $f14
95
afa8332a0e37 LLVM 3.8
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents: 83
diff changeset
180 ; 32-C: movf $2, $zero, $fcc0
77
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
181
95
afa8332a0e37 LLVM 3.8
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents: 83
diff changeset
182 ; 64-C-DAG: addiu $2, $zero, 1
77
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
183 ; 64-C-DAG: c.ole.s $f12, $f13
95
afa8332a0e37 LLVM 3.8
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents: 83
diff changeset
184 ; 64-C: movf $2, $zero, $fcc0
77
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
185
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
186 ; 32-CMP-DAG: cmp.le.s $[[T0:f[0-9]+]], $f12, $f14
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
187 ; 32-CMP-DAG: mfc1 $[[T1:[0-9]+]], $[[T0]]
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
188 ; 32-CMP-DAG: andi $2, $[[T1]], 1
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
189
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
190 ; 64-CMP-DAG: cmp.le.s $[[T0:f[0-9]+]], $f12, $f13
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
191 ; 64-CMP-DAG: mfc1 $[[T1:[0-9]+]], $[[T0]]
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
192 ; 64-CMP-DAG: andi $2, $[[T1]], 1
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
193
120
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
194 ; MM32R3-DAG: li16 $[[T0:[0-9]+]], 0
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
195 ; MM32R3-DAG: li16 $[[T1:[0-9]+]], 1
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
196 ; MM32R3-DAG: c.ole.s $f12, $f14
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
197 ; MM32R3-DAG: movf $[[T1]], $[[T0]], $fcc0
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
198
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
199 ; MM32R6-DAG: cmp.le.s $[[T0:f[0-9]+]], $f12, $f14
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
200 ; MM64R6-DAG: cmp.le.s $[[T0:f[0-9]+]], $f12, $f13
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
201 ; MMR6-DAG: mfc1 $[[T1:[0-9]+]], $[[T0]]
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
202 ; MMR6-DAG: andi16 $2, $[[T1]], 1
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
203
77
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
204 %1 = fcmp ole float %a, %b
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
205 %2 = zext i1 %1 to i32
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
206 ret i32 %2
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
207 }
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
208
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
209 define i32 @one_f32(float %a, float %b) nounwind {
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
210 ; ALL-LABEL: one_f32:
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
211
95
afa8332a0e37 LLVM 3.8
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents: 83
diff changeset
212 ; 32-C-DAG: addiu $2, $zero, 1
77
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
213 ; 32-C-DAG: c.ueq.s $f12, $f14
95
afa8332a0e37 LLVM 3.8
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents: 83
diff changeset
214 ; 32-C: movt $2, $zero, $fcc0
77
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
215
95
afa8332a0e37 LLVM 3.8
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents: 83
diff changeset
216 ; 64-C-DAG: addiu $2, $zero, 1
77
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
217 ; 64-C-DAG: c.ueq.s $f12, $f13
95
afa8332a0e37 LLVM 3.8
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents: 83
diff changeset
218 ; 64-C: movt $2, $zero, $fcc0
77
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
219
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
220 ; 32-CMP-DAG: cmp.ueq.s $[[T0:f[0-9]+]], $f12, $f14
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
221 ; 32-CMP-DAG: mfc1 $[[T1:[0-9]+]], $[[T0]]
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
222 ; 32-CMP-DAG: not $[[T2:[0-9]+]], $[[T1]]
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
223 ; 32-CMP-DAG: andi $2, $[[T2]], 1
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
224
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
225 ; 64-CMP-DAG: cmp.ueq.s $[[T0:f[0-9]+]], $f12, $f13
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
226 ; 64-CMP-DAG: mfc1 $[[T1:[0-9]+]], $[[T0]]
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
227 ; 64-CMP-DAG: not $[[T2:[0-9]+]], $[[T1]]
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
228 ; 64-CMP-DAG: andi $2, $[[T2]], 1
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
229
120
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
230 ; MM32R3-DAG: li16 $[[T0:[0-9]+]], 0
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
231 ; MM32R3-DAG: li16 $[[T1:[0-9]+]], 1
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
232 ; MM32R3-DAG: c.ueq.s $f12, $f14
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
233 ; MM32R3-DAG: movt $[[T1]], $[[T0]], $fcc0
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
234
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
235 ; MM32R6-DAG: cmp.ueq.s $[[T0:f[0-9]+]], $f12, $f14
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
236 ; MM64R6-DAG: cmp.ueq.s $[[T0:f[0-9]+]], $f12, $f13
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
237 ; MMR6-DAG: mfc1 $[[T1:[0-9]+]], $[[T0]]
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
238 ; MMR6-DAG: not $[[T2:[0-9]+]], $[[T1]]
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
239 ; MMR6-DAG: andi16 $2, $[[T2]], 1
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
240
77
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
241 %1 = fcmp one float %a, %b
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
242 %2 = zext i1 %1 to i32
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
243 ret i32 %2
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
244 }
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
245
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
246 define i32 @ord_f32(float %a, float %b) nounwind {
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
247 ; ALL-LABEL: ord_f32:
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
248
95
afa8332a0e37 LLVM 3.8
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents: 83
diff changeset
249 ; 32-C-DAG: addiu $2, $zero, 1
77
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
250 ; 32-C-DAG: c.un.s $f12, $f14
95
afa8332a0e37 LLVM 3.8
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents: 83
diff changeset
251 ; 32-C: movt $2, $zero, $fcc0
77
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
252
95
afa8332a0e37 LLVM 3.8
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents: 83
diff changeset
253 ; 64-C-DAG: addiu $2, $zero, 1
77
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
254 ; 64-C-DAG: c.un.s $f12, $f13
95
afa8332a0e37 LLVM 3.8
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents: 83
diff changeset
255 ; 64-C: movt $2, $zero, $fcc0
77
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
256
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
257 ; 32-CMP-DAG: cmp.un.s $[[T0:f[0-9]+]], $f12, $f14
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
258 ; 32-CMP-DAG: mfc1 $[[T1:[0-9]+]], $[[T0]]
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
259 ; 32-CMP-DAG: not $[[T2:[0-9]+]], $[[T1]]
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
260 ; 32-CMP-DAG: andi $2, $[[T2]], 1
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
261
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
262 ; 64-CMP-DAG: cmp.un.s $[[T0:f[0-9]+]], $f12, $f13
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
263 ; 64-CMP-DAG: mfc1 $[[T1:[0-9]+]], $[[T0]]
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
264 ; 64-CMP-DAG: not $[[T2:[0-9]+]], $[[T1]]
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
265 ; 64-CMP-DAG: andi $2, $[[T2]], 1
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
266
120
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
267 ; MM32R3-DAG: li16 $[[T0:[0-9]+]], 0
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
268 ; MM32R3-DAG: li16 $[[T1:[0-9]+]], 1
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
269 ; MM32R3-DAG: c.un.s $f12, $f14
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
270 ; MM32R3-DAG: movt $[[T1]], $[[T0]], $fcc0
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
271
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
272 ; MM32R6-DAG: cmp.un.s $[[T0:f[0-9]+]], $f12, $f14
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
273 ; MM64R6-DAG: cmp.un.s $[[T0:f[0-9]+]], $f12, $f13
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
274 ; MMR6-DAG: mfc1 $[[T1:[0-9]+]], $[[T0]]
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
275 ; MMR6-DAG: not $[[T2:[0-9]+]], $[[T1]]
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
276 ; MMR6-DAG: andi16 $2, $[[T2]], 1
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
277
77
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
278 %1 = fcmp ord float %a, %b
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
279 %2 = zext i1 %1 to i32
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
280 ret i32 %2
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
281 }
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
282
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
283 define i32 @ueq_f32(float %a, float %b) nounwind {
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
284 ; ALL-LABEL: ueq_f32:
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
285
95
afa8332a0e37 LLVM 3.8
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents: 83
diff changeset
286 ; 32-C-DAG: addiu $2, $zero, 1
77
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
287 ; 32-C-DAG: c.ueq.s $f12, $f14
95
afa8332a0e37 LLVM 3.8
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents: 83
diff changeset
288 ; 32-C: movf $2, $zero, $fcc0
77
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
289
95
afa8332a0e37 LLVM 3.8
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents: 83
diff changeset
290 ; 64-C-DAG: addiu $2, $zero, 1
77
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
291 ; 64-C-DAG: c.ueq.s $f12, $f13
95
afa8332a0e37 LLVM 3.8
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents: 83
diff changeset
292 ; 64-C: movf $2, $zero, $fcc0
77
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
293
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
294 ; 32-CMP-DAG: cmp.ueq.s $[[T0:f[0-9]+]], $f12, $f14
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
295 ; 32-CMP-DAG: mfc1 $[[T1:[0-9]+]], $[[T0]]
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
296 ; 32-CMP-DAG: andi $2, $[[T1]], 1
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
297
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
298 ; 64-CMP-DAG: cmp.ueq.s $[[T0:f[0-9]+]], $f12, $f13
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
299 ; 64-CMP-DAG: mfc1 $[[T1:[0-9]+]], $[[T0]]
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
300 ; 64-CMP-DAG: andi $2, $[[T1]], 1
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
301
120
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
302 ; MM32R3-DAG: li16 $[[T0:[0-9]+]], 0
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
303 ; MM32R3-DAG: li16 $[[T1:[0-9]+]], 1
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
304 ; MM32R3-DAG: c.ueq.s $f12, $f14
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
305 ; MM32R3-DAG: movf $[[T1]], $[[T0]], $fcc0
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
306
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
307 ; MM32R6-DAG: cmp.ueq.s $[[T0:f[0-9]+]], $f12, $f14
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
308 ; MM64R6-DAG: cmp.ueq.s $[[T0:f[0-9]+]], $f12, $f13
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
309 ; MMR6-DAG: mfc1 $[[T1:[0-9]+]], $[[T0]]
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
310 ; MMR6-DAG: andi16 $2, $[[T1]], 1
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
311
77
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
312 %1 = fcmp ueq float %a, %b
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
313 %2 = zext i1 %1 to i32
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
314 ret i32 %2
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
315 }
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
316
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
317 define i32 @ugt_f32(float %a, float %b) nounwind {
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
318 ; ALL-LABEL: ugt_f32:
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
319
95
afa8332a0e37 LLVM 3.8
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents: 83
diff changeset
320 ; 32-C-DAG: addiu $2, $zero, 1
77
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
321 ; 32-C-DAG: c.ole.s $f12, $f14
95
afa8332a0e37 LLVM 3.8
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents: 83
diff changeset
322 ; 32-C: movt $2, $zero, $fcc0
77
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
323
95
afa8332a0e37 LLVM 3.8
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents: 83
diff changeset
324 ; 64-C-DAG: addiu $2, $zero, 1
77
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
325 ; 64-C-DAG: c.ole.s $f12, $f13
95
afa8332a0e37 LLVM 3.8
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents: 83
diff changeset
326 ; 64-C: movt $2, $zero, $fcc0
77
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
327
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
328 ; 32-CMP-DAG: cmp.ult.s $[[T0:f[0-9]+]], $f14, $f12
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
329 ; 32-CMP-DAG: mfc1 $[[T1:[0-9]+]], $[[T0]]
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
330 ; 32-CMP-DAG: andi $2, $[[T1]], 1
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
331
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
332 ; 64-CMP-DAG: cmp.ult.s $[[T0:f[0-9]+]], $f13, $f12
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
333 ; 64-CMP-DAG: mfc1 $[[T1:[0-9]+]], $[[T0]]
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
334 ; 64-CMP-DAG: andi $2, $[[T1]], 1
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
335
120
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
336 ; MM32R3-DAG: li16 $[[T0:[0-9]+]], 0
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
337 ; MM32R3-DAG: li16 $[[T1:[0-9]+]], 1
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
338 ; MM32R3-DAG: c.ole.s $f12, $f14
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
339 ; MM32R3-DAG: movt $[[T1]], $[[T0]], $fcc0
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
340
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
341 ; MM32R6-DAG: cmp.ult.s $[[T0:f[0-9]+]], $f14, $f12
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
342 ; MM64R6-DAG: cmp.ult.s $[[T0:f[0-9]+]], $f13, $f12
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
343 ; MMR6-DAG: mfc1 $[[T1:[0-9]+]], $[[T0]]
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
344 ; MMR6-DAG: andi16 $2, $[[T1]], 1
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
345
77
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
346 %1 = fcmp ugt float %a, %b
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
347 %2 = zext i1 %1 to i32
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
348 ret i32 %2
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
349 }
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
350
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
351 define i32 @uge_f32(float %a, float %b) nounwind {
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
352 ; ALL-LABEL: uge_f32:
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
353
95
afa8332a0e37 LLVM 3.8
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents: 83
diff changeset
354 ; 32-C-DAG: addiu $2, $zero, 1
77
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
355 ; 32-C-DAG: c.olt.s $f12, $f14
95
afa8332a0e37 LLVM 3.8
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents: 83
diff changeset
356 ; 32-C: movt $2, $zero, $fcc0
77
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
357
95
afa8332a0e37 LLVM 3.8
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents: 83
diff changeset
358 ; 64-C-DAG: addiu $2, $zero, 1
77
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
359 ; 64-C-DAG: c.olt.s $f12, $f13
95
afa8332a0e37 LLVM 3.8
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents: 83
diff changeset
360 ; 64-C: movt $2, $zero, $fcc0
77
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
361
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
362 ; 32-CMP-DAG: cmp.ule.s $[[T0:f[0-9]+]], $f14, $f12
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
363 ; 32-CMP-DAG: mfc1 $[[T1:[0-9]+]], $[[T0]]
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
364 ; 32-CMP-DAG: andi $2, $[[T1]], 1
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
365
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
366 ; 64-CMP-DAG: cmp.ule.s $[[T0:f[0-9]+]], $f13, $f12
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
367 ; 64-CMP-DAG: mfc1 $[[T1:[0-9]+]], $[[T0]]
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
368 ; 64-CMP-DAG: andi $2, $[[T1]], 1
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
369
120
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
370 ; MM32R3-DAG: li16 $[[T0:[0-9]+]], 0
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
371 ; MM32R3-DAG: li16 $[[T1:[0-9]+]], 1
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
372 ; MM32R3-DAG: c.olt.s $f12, $f14
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
373 ; MM32R3-DAG: movt $[[T1]], $[[T0]], $fcc0
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
374
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
375 ; MM32R6-DAG: cmp.ule.s $[[T0:f[0-9]+]], $f14, $f12
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
376 ; MM64R6-DAG: cmp.ule.s $[[T0:f[0-9]+]], $f13, $f12
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
377 ; MMR6-DAG: mfc1 $[[T1:[0-9]+]], $[[T0]]
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
378 ; MMR6-DAG: andi16 $2, $[[T1]], 1
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
379
77
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
380 %1 = fcmp uge float %a, %b
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
381 %2 = zext i1 %1 to i32
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
382 ret i32 %2
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
383 }
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
384
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
385 define i32 @ult_f32(float %a, float %b) nounwind {
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
386 ; ALL-LABEL: ult_f32:
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
387
95
afa8332a0e37 LLVM 3.8
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents: 83
diff changeset
388 ; 32-C-DAG: addiu $2, $zero, 1
77
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
389 ; 32-C-DAG: c.ult.s $f12, $f14
95
afa8332a0e37 LLVM 3.8
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents: 83
diff changeset
390 ; 32-C: movf $2, $zero, $fcc0
77
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
391
95
afa8332a0e37 LLVM 3.8
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents: 83
diff changeset
392 ; 64-C-DAG: addiu $2, $zero, 1
77
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
393 ; 64-C-DAG: c.ult.s $f12, $f13
95
afa8332a0e37 LLVM 3.8
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents: 83
diff changeset
394 ; 64-C: movf $2, $zero, $fcc0
77
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
395
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
396 ; 32-CMP-DAG: cmp.ult.s $[[T0:f[0-9]+]], $f12, $f14
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
397 ; 32-CMP-DAG: mfc1 $[[T1:[0-9]+]], $[[T0]]
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
398 ; 32-CMP-DAG: andi $2, $[[T1]], 1
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
399
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
400 ; 64-CMP-DAG: cmp.ult.s $[[T0:f[0-9]+]], $f12, $f13
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
401 ; 64-CMP-DAG: mfc1 $[[T1:[0-9]+]], $[[T0]]
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
402 ; 64-CMP-DAG: andi $2, $[[T1]], 1
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
403
120
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
404 ; MM32R3-DAG: li16 $[[T0:[0-9]+]], 0
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
405 ; MM32R3-DAG: li16 $[[T1:[0-9]+]], 1
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
406 ; MM32R3-DAG: c.ult.s $f12, $f14
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
407 ; MM32R3-DAG: movf $[[T1]], $[[T0]], $fcc0
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
408
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
409 ; MM32R6-DAG: cmp.ult.s $[[T0:f[0-9]+]], $f12, $f14
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
410 ; MM64R6-DAG: cmp.ult.s $[[T0:f[0-9]+]], $f12, $f13
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
411 ; MMR6-DAG: mfc1 $[[T1:[0-9]+]], $[[T0]]
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
412 ; MMR6-DAG: andi16 $2, $[[T1]], 1
95
afa8332a0e37 LLVM 3.8
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents: 83
diff changeset
413
77
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
414 %1 = fcmp ult float %a, %b
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
415 %2 = zext i1 %1 to i32
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
416 ret i32 %2
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
417 }
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
418
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
419 define i32 @ule_f32(float %a, float %b) nounwind {
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
420 ; ALL-LABEL: ule_f32:
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
421
95
afa8332a0e37 LLVM 3.8
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents: 83
diff changeset
422 ; 32-C-DAG: addiu $2, $zero, 1
77
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
423 ; 32-C-DAG: c.ule.s $f12, $f14
95
afa8332a0e37 LLVM 3.8
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents: 83
diff changeset
424 ; 32-C: movf $2, $zero, $fcc0
77
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
425
95
afa8332a0e37 LLVM 3.8
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents: 83
diff changeset
426 ; 64-C-DAG: addiu $2, $zero, 1
77
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
427 ; 64-C-DAG: c.ule.s $f12, $f13
95
afa8332a0e37 LLVM 3.8
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents: 83
diff changeset
428 ; 64-C: movf $2, $zero, $fcc0
77
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
429
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
430 ; 32-CMP-DAG: cmp.ule.s $[[T0:f[0-9]+]], $f12, $f14
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
431 ; 32-CMP-DAG: mfc1 $[[T1:[0-9]+]], $[[T0]]
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
432 ; 32-CMP-DAG: andi $2, $[[T1]], 1
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
433
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
434 ; 64-CMP-DAG: cmp.ule.s $[[T0:f[0-9]+]], $f12, $f13
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
435 ; 64-CMP-DAG: mfc1 $[[T1:[0-9]+]], $[[T0]]
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
436 ; 64-CMP-DAG: andi $2, $[[T1]], 1
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
437
120
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
438 ; MM32R3-DAG: li16 $[[T0:[0-9]+]], 0
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
439 ; MM32R3-DAG: li16 $[[T1:[0-9]+]], 1
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
440 ; MM32R3-DAG: c.ule.s $f12, $f14
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
441 ; MM32R3-DAG: movf $[[T1]], $[[T0]], $fcc0
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
442
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
443 ; MM32R6-DAG: cmp.ule.s $[[T0:f[0-9]+]], $f12, $f14
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
444 ; MM64R6-DAG: cmp.ule.s $[[T0:f[0-9]+]], $f12, $f13
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
445 ; MMR6-DAG: mfc1 $[[T1:[0-9]+]], $[[T0]]
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
446 ; MMR6-DAG: andi16 $2, $[[T1]], 1
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
447
77
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
448 %1 = fcmp ule float %a, %b
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
449 %2 = zext i1 %1 to i32
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
450 ret i32 %2
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
451 }
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
452
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
453 define i32 @une_f32(float %a, float %b) nounwind {
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
454 ; ALL-LABEL: une_f32:
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
455
95
afa8332a0e37 LLVM 3.8
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents: 83
diff changeset
456 ; 32-C-DAG: addiu $2, $zero, 1
77
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
457 ; 32-C-DAG: c.eq.s $f12, $f14
95
afa8332a0e37 LLVM 3.8
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents: 83
diff changeset
458 ; 32-C: movt $2, $zero, $fcc0
77
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
459
95
afa8332a0e37 LLVM 3.8
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents: 83
diff changeset
460 ; 64-C-DAG: addiu $2, $zero, 1
77
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
461 ; 64-C-DAG: c.eq.s $f12, $f13
95
afa8332a0e37 LLVM 3.8
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents: 83
diff changeset
462 ; 64-C: movt $2, $zero, $fcc0
77
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
463
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
464 ; 32-CMP-DAG: cmp.eq.s $[[T0:f[0-9]+]], $f12, $f14
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
465 ; 32-CMP-DAG: mfc1 $[[T1:[0-9]+]], $[[T0]]
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
466 ; 32-CMP-DAG: not $[[T2:[0-9]+]], $[[T1]]
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
467 ; 32-CMP-DAG: andi $2, $[[T2]], 1
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
468
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
469 ; 64-CMP-DAG: cmp.eq.s $[[T0:f[0-9]+]], $f12, $f13
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
470 ; 64-CMP-DAG: mfc1 $[[T1:[0-9]+]], $[[T0]]
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
471 ; 64-CMP-DAG: not $[[T2:[0-9]+]], $[[T1]]
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
472 ; 64-CMP-DAG: andi $2, $[[T2]], 1
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
473
120
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
474 ; MM32R3-DAG: li16 $[[T0:[0-9]+]], 0
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
475 ; MM32R3-DAG: li16 $[[T1:[0-9]+]], 1
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
476 ; MM32R3-DAG: c.eq.s $f12, $f14
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
477 ; MM32R3-DAG: movt $[[T1]], $[[T0]], $fcc0
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
478
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
479 ; MM32R6-DAG: cmp.eq.s $[[T0:f[0-9]+]], $f12, $f14
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
480 ; MM64R6-DAG: cmp.eq.s $[[T0:f[0-9]+]], $f12, $f13
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
481 ; MMR6-DAG: mfc1 $[[T1:[0-9]+]], $[[T0]]
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
482 ; MMR6-DAG: not $[[T2:[0-9]+]], $[[T1]]
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
483 ; MMR6-DAG: andi16 $2, $[[T2]], 1
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
484
77
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
485 %1 = fcmp une float %a, %b
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
486 %2 = zext i1 %1 to i32
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
487 ret i32 %2
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
488 }
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
489
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
490 define i32 @uno_f32(float %a, float %b) nounwind {
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
491 ; ALL-LABEL: uno_f32:
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
492
95
afa8332a0e37 LLVM 3.8
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents: 83
diff changeset
493 ; 32-C-DAG: addiu $2, $zero, 1
77
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
494 ; 32-C-DAG: c.un.s $f12, $f14
95
afa8332a0e37 LLVM 3.8
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents: 83
diff changeset
495 ; 32-C: movf $2, $zero, $fcc0
77
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
496
95
afa8332a0e37 LLVM 3.8
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents: 83
diff changeset
497 ; 64-C-DAG: addiu $2, $zero, 1
77
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
498 ; 64-C-DAG: c.un.s $f12, $f13
95
afa8332a0e37 LLVM 3.8
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents: 83
diff changeset
499 ; 64-C: movf $2, $zero, $fcc0
77
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
500
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
501 ; 32-CMP-DAG: cmp.un.s $[[T0:f[0-9]+]], $f12, $f14
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
502 ; 32-CMP-DAG: mfc1 $[[T1:[0-9]+]], $[[T0]]
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
503 ; 32-CMP-DAG: andi $2, $[[T1]], 1
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
504
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
505 ; 64-CMP-DAG: cmp.un.s $[[T0:f[0-9]+]], $f12, $f13
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
506 ; 64-CMP-DAG: mfc1 $[[T1:[0-9]+]], $[[T0]]
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
507 ; 64-CMP-DAG: andi $2, $[[T1]], 1
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
508
120
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
509 ; MM32R3-DAG: li16 $[[T0:[0-9]+]], 0
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
510 ; MM32R3-DAG: li16 $[[T1:[0-9]+]], 1
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
511 ; MM32R3-DAG: c.un.s $f12, $f14
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
512 ; MM32R3-DAG: movf $[[T1]], $[[T0]], $fcc0
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
513
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
514 ; MM32R6-DAG: cmp.un.s $[[T0:f[0-9]+]], $f12, $f14
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
515 ; MM64R6-DAG: cmp.un.s $[[T0:f[0-9]+]], $f12, $f13
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
516 ; MMR6-DAG: mfc1 $[[T1:[0-9]+]], $[[T0]]
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
517 ; MMR6-DAG: andi16 $2, $[[T1]], 1
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
518
77
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
519 %1 = fcmp uno float %a, %b
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
520 %2 = zext i1 %1 to i32
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
521 ret i32 %2
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
522 }
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
523
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
524 define i32 @true_f32(float %a, float %b) nounwind {
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
525 ; ALL-LABEL: true_f32:
120
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
526 ; 32-C: addiu $2, $zero, 1
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
527
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
528 ; 32-CMP: addiu $2, $zero, 1
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
529
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
530 ; 64-C: addiu $2, $zero, 1
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
531
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
532 ; 64-CMP: addiu $2, $zero, 1
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
533
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
534 ; MM-DAG: li16 $2, 1
77
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
535
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
536 %1 = fcmp true float %a, %b
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
537 %2 = zext i1 %1 to i32
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
538 ret i32 %2
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
539 }
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
540
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
541 define i32 @false_f64(double %a, double %b) nounwind {
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
542 ; ALL-LABEL: false_f64:
120
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
543 ; 32-C: addiu $2, $zero, 0
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
544
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
545 ; 32-CMP: addiu $2, $zero, 0
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
546
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
547 ; 64-C: addiu $2, $zero, 0
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
548
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
549 ; 64-CMP: addiu $2, $zero, 0
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
550
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
551 ; MM-DAG: li16 $2, 0
77
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
552
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
553 %1 = fcmp false double %a, %b
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
554 %2 = zext i1 %1 to i32
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
555 ret i32 %2
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
556 }
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
557
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
558 define i32 @oeq_f64(double %a, double %b) nounwind {
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
559 ; ALL-LABEL: oeq_f64:
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
560
95
afa8332a0e37 LLVM 3.8
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents: 83
diff changeset
561 ; 32-C-DAG: addiu $2, $zero, 1
77
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
562 ; 32-C-DAG: c.eq.d $f12, $f14
95
afa8332a0e37 LLVM 3.8
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents: 83
diff changeset
563 ; 32-C: movf $2, $zero, $fcc0
77
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
564
95
afa8332a0e37 LLVM 3.8
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents: 83
diff changeset
565 ; 64-C-DAG: addiu $2, $zero, 1
77
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
566 ; 64-C-DAG: c.eq.d $f12, $f13
95
afa8332a0e37 LLVM 3.8
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents: 83
diff changeset
567 ; 64-C: movf $2, $zero, $fcc0
77
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
568
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
569 ; 32-CMP-DAG: cmp.eq.d $[[T0:f[0-9]+]], $f12, $f14
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
570 ; 32-CMP-DAG: mfc1 $[[T1:[0-9]+]], $[[T0]]
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
571 ; 32-CMP-DAG: andi $2, $[[T1]], 1
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
572
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
573 ; 64-CMP-DAG: cmp.eq.d $[[T0:f[0-9]+]], $f12, $f13
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
574 ; 64-CMP-DAG: mfc1 $[[T1:[0-9]+]], $[[T0]]
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
575 ; 64-CMP-DAG: andi $2, $[[T1]], 1
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
576
120
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
577 ; MM32R3-DAG: li16 $[[T0:[0-9]+]], 0
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
578 ; MM32R3-DAG: li16 $[[T1:[0-9]+]], 1
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
579 ; MM32R3-DAG: c.eq.d $f12, $f14
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
580 ; MM32R3-DAG: movf $[[T1]], $[[T0]], $fcc0
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
581
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
582 ; MM32R6-DAG: cmp.eq.d $[[T0:f[0-9]+]], $f12, $f14
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
583 ; MM64R6-DAG: cmp.eq.d $[[T0:f[0-9]+]], $f12, $f13
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
584 ; MMR6-DAG: mfc1 $[[T1:[0-9]+]], $[[T0]]
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
585 ; MMR6-DAG: andi16 $2, $[[T1]], 1
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
586
77
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
587 %1 = fcmp oeq double %a, %b
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
588 %2 = zext i1 %1 to i32
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
589 ret i32 %2
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
590 }
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
591
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
592 define i32 @ogt_f64(double %a, double %b) nounwind {
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
593 ; ALL-LABEL: ogt_f64:
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
594
95
afa8332a0e37 LLVM 3.8
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents: 83
diff changeset
595 ; 32-C-DAG: addiu $2, $zero, 1
77
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
596 ; 32-C-DAG: c.ule.d $f12, $f14
95
afa8332a0e37 LLVM 3.8
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents: 83
diff changeset
597 ; 32-C: movt $2, $zero, $fcc0
77
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
598
95
afa8332a0e37 LLVM 3.8
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents: 83
diff changeset
599 ; 64-C-DAG: addiu $2, $zero, 1
77
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
600 ; 64-C-DAG: c.ule.d $f12, $f13
95
afa8332a0e37 LLVM 3.8
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents: 83
diff changeset
601 ; 64-C: movt $2, $zero, $fcc0
77
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
602
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
603 ; 32-CMP-DAG: cmp.lt.d $[[T0:f[0-9]+]], $f14, $f12
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
604 ; 32-CMP-DAG: mfc1 $[[T1:[0-9]+]], $[[T0]]
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
605 ; 32-CMP-DAG: andi $2, $[[T1]], 1
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
606
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
607 ; 64-CMP-DAG: cmp.lt.d $[[T0:f[0-9]+]], $f13, $f12
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
608 ; 64-CMP-DAG: mfc1 $[[T1:[0-9]+]], $[[T0]]
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
609 ; 64-CMP-DAG: andi $2, $[[T1]], 1
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
610
120
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
611 ; MM32R3-DAG: li16 $[[T0:[0-9]+]], 0
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
612 ; MM32R3-DAG: li16 $[[T1:[0-9]+]], 1
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
613 ; MM32R3-DAG: c.ule.d $f12, $f14
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
614 ; MM32R3-DAG: movt $[[T1]], $[[T0]], $fcc0
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
615
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
616 ; MM32R6-DAG: cmp.lt.d $[[T0:f[0-9]+]], $f14, $f12
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
617 ; MM64R6-DAG: cmp.lt.d $[[T0:f[0-9]+]], $f13, $f12
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
618 ; MMR6-DAG: mfc1 $[[T1:[0-9]+]], $[[T0]]
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
619 ; MMR6-DAG: andi16 $2, $[[T1]], 1
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
620
77
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
621 %1 = fcmp ogt double %a, %b
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
622 %2 = zext i1 %1 to i32
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
623 ret i32 %2
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
624 }
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
625
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
626 define i32 @oge_f64(double %a, double %b) nounwind {
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
627 ; ALL-LABEL: oge_f64:
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
628
95
afa8332a0e37 LLVM 3.8
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents: 83
diff changeset
629 ; 32-C-DAG: addiu $2, $zero, 1
77
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
630 ; 32-C-DAG: c.ult.d $f12, $f14
95
afa8332a0e37 LLVM 3.8
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents: 83
diff changeset
631 ; 32-C: movt $2, $zero, $fcc0
77
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
632
95
afa8332a0e37 LLVM 3.8
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents: 83
diff changeset
633 ; 64-C-DAG: addiu $2, $zero, 1
77
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
634 ; 64-C-DAG: c.ult.d $f12, $f13
95
afa8332a0e37 LLVM 3.8
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents: 83
diff changeset
635 ; 64-C: movt $2, $zero, $fcc0
77
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
636
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
637 ; 32-CMP-DAG: cmp.le.d $[[T0:f[0-9]+]], $f14, $f12
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
638 ; 32-CMP-DAG: mfc1 $[[T1:[0-9]+]], $[[T0]]
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
639 ; 32-CMP-DAG: andi $2, $[[T1]], 1
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
640
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
641 ; 64-CMP-DAG: cmp.le.d $[[T0:f[0-9]+]], $f13, $f12
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
642 ; 64-CMP-DAG: mfc1 $[[T1:[0-9]+]], $[[T0]]
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
643 ; 64-CMP-DAG: andi $2, $[[T1]], 1
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
644
120
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
645 ; MM32R3-DAG: li16 $[[T0:[0-9]+]], 0
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
646 ; MM32R3-DAG: li16 $[[T1:[0-9]+]], 1
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
647 ; MM32R3-DAG: c.ult.d $f12, $f14
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
648 ; MM32R3-DAG: movt $[[T1]], $[[T0]], $fcc0
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
649
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
650 ; MM32R6-DAG: cmp.le.d $[[T0:f[0-9]+]], $f14, $f12
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
651 ; MM64R6-DAG: cmp.le.d $[[T0:f[0-9]+]], $f13, $f12
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
652 ; MMR6-DAG: mfc1 $[[T1:[0-9]+]], $[[T0]]
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
653 ; MMR6-DAG: andi16 $2, $[[T1]], 1
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
654
77
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
655 %1 = fcmp oge double %a, %b
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
656 %2 = zext i1 %1 to i32
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
657 ret i32 %2
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
658 }
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
659
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
660 define i32 @olt_f64(double %a, double %b) nounwind {
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
661 ; ALL-LABEL: olt_f64:
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
662
95
afa8332a0e37 LLVM 3.8
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents: 83
diff changeset
663 ; 32-C-DAG: addiu $2, $zero, 1
77
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
664 ; 32-C-DAG: c.olt.d $f12, $f14
95
afa8332a0e37 LLVM 3.8
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents: 83
diff changeset
665 ; 32-C: movf $2, $zero, $fcc0
77
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
666
95
afa8332a0e37 LLVM 3.8
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents: 83
diff changeset
667 ; 64-C-DAG: addiu $2, $zero, 1
77
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
668 ; 64-C-DAG: c.olt.d $f12, $f13
95
afa8332a0e37 LLVM 3.8
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents: 83
diff changeset
669 ; 64-C: movf $2, $zero, $fcc0
77
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
670
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
671 ; 32-CMP-DAG: cmp.lt.d $[[T0:f[0-9]+]], $f12, $f14
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
672 ; 32-CMP-DAG: mfc1 $[[T1:[0-9]+]], $[[T0]]
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
673 ; 32-CMP-DAG: andi $2, $[[T1]], 1
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
674
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
675 ; 64-CMP-DAG: cmp.lt.d $[[T0:f[0-9]+]], $f12, $f13
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
676 ; 64-CMP-DAG: mfc1 $[[T1:[0-9]+]], $[[T0]]
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
677 ; 64-CMP-DAG: andi $2, $[[T1]], 1
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
678
120
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
679 ; MM32R3-DAG: li16 $[[T0:[0-9]+]], 0
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
680 ; MM32R3-DAG: li16 $[[T1:[0-9]+]], 1
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
681 ; MM32R3-DAG: c.olt.d $f12, $f14
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
682 ; MM32R3-DAG: movf $[[T1]], $[[T0]], $fcc0
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
683
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
684 ; MM32R6-DAG: cmp.lt.d $[[T0:f[0-9]+]], $f12, $f14
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
685 ; MM64R6-DAG: cmp.lt.d $[[T0:f[0-9]+]], $f12, $f13
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
686 ; MMR6-DAG: mfc1 $[[T1:[0-9]+]], $[[T0]]
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
687 ; MMR6-DAG: andi16 $2, $[[T1]], 1
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
688
77
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
689 %1 = fcmp olt double %a, %b
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
690 %2 = zext i1 %1 to i32
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
691 ret i32 %2
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
692 }
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
693
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
694 define i32 @ole_f64(double %a, double %b) nounwind {
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
695 ; ALL-LABEL: ole_f64:
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
696
95
afa8332a0e37 LLVM 3.8
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents: 83
diff changeset
697 ; 32-C-DAG: addiu $2, $zero, 1
77
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
698 ; 32-C-DAG: c.ole.d $f12, $f14
95
afa8332a0e37 LLVM 3.8
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents: 83
diff changeset
699 ; 32-C: movf $2, $zero, $fcc0
77
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
700
95
afa8332a0e37 LLVM 3.8
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents: 83
diff changeset
701 ; 64-C-DAG: addiu $2, $zero, 1
77
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
702 ; 64-C-DAG: c.ole.d $f12, $f13
95
afa8332a0e37 LLVM 3.8
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents: 83
diff changeset
703 ; 64-C: movf $2, $zero, $fcc0
77
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
704
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
705 ; 32-CMP-DAG: cmp.le.d $[[T0:f[0-9]+]], $f12, $f14
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
706 ; 32-CMP-DAG: mfc1 $[[T1:[0-9]+]], $[[T0]]
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
707 ; 32-CMP-DAG: andi $2, $[[T1]], 1
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
708
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
709 ; 64-CMP-DAG: cmp.le.d $[[T0:f[0-9]+]], $f12, $f13
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
710 ; 64-CMP-DAG: mfc1 $[[T1:[0-9]+]], $[[T0]]
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
711 ; 64-CMP-DAG: andi $2, $[[T1]], 1
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
712
120
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
713 ; MM32R3-DAG: li16 $[[T0:[0-9]+]], 0
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
714 ; MM32R3-DAG: li16 $[[T1:[0-9]+]], 1
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
715 ; MM32R3-DAG: c.ole.d $f12, $f14
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
716 ; MM32R3-DAG: movf $[[T1]], $[[T0]], $fcc0
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
717
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
718 ; MM32R6-DAG: cmp.le.d $[[T0:f[0-9]+]], $f12, $f14
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
719 ; MM64R6-DAG: cmp.le.d $[[T0:f[0-9]+]], $f12, $f13
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
720 ; MMR6-DAG: mfc1 $[[T1:[0-9]+]], $[[T0]]
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
721 ; MMR6-DAG: andi16 $2, $[[T1]], 1
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
722
77
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
723 %1 = fcmp ole double %a, %b
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
724 %2 = zext i1 %1 to i32
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
725 ret i32 %2
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
726 }
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
727
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
728 define i32 @one_f64(double %a, double %b) nounwind {
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
729 ; ALL-LABEL: one_f64:
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
730
95
afa8332a0e37 LLVM 3.8
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents: 83
diff changeset
731 ; 32-C-DAG: addiu $2, $zero, 1
77
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
732 ; 32-C-DAG: c.ueq.d $f12, $f14
95
afa8332a0e37 LLVM 3.8
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents: 83
diff changeset
733 ; 32-C: movt $2, $zero, $fcc0
77
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
734
95
afa8332a0e37 LLVM 3.8
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents: 83
diff changeset
735 ; 64-C-DAG: addiu $2, $zero, 1
77
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
736 ; 64-C-DAG: c.ueq.d $f12, $f13
95
afa8332a0e37 LLVM 3.8
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents: 83
diff changeset
737 ; 64-C: movt $2, $zero, $fcc0
77
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
738
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
739 ; 32-CMP-DAG: cmp.ueq.d $[[T0:f[0-9]+]], $f12, $f14
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
740 ; 32-CMP-DAG: mfc1 $[[T1:[0-9]+]], $[[T0]]
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
741 ; 32-CMP-DAG: not $[[T2:[0-9]+]], $[[T1]]
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
742 ; 32-CMP-DAG: andi $2, $[[T2]], 1
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
743
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
744 ; 64-CMP-DAG: cmp.ueq.d $[[T0:f[0-9]+]], $f12, $f13
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
745 ; 64-CMP-DAG: mfc1 $[[T1:[0-9]+]], $[[T0]]
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
746 ; 64-CMP-DAG: not $[[T2:[0-9]+]], $[[T1]]
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
747 ; 64-CMP-DAG: andi $2, $[[T2]], 1
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
748
120
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
749 ; MM32R3-DAG: li16 $[[T0:[0-9]+]], 0
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
750 ; MM32R3-DAG: li16 $[[T1:[0-9]+]], 1
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
751 ; MM32R3-DAG: c.ueq.d $f12, $f14
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
752 ; MM32R3-DAG: movt $[[T1]], $[[T0]], $fcc0
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
753
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
754 ; MM32R6-DAG: cmp.ueq.d $[[T0:f[0-9]+]], $f12, $f14
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
755 ; MM64R6-DAG: cmp.ueq.d $[[T0:f[0-9]+]], $f12, $f13
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
756 ; MMR6-DAG: mfc1 $[[T1:[0-9]+]], $[[T0]]
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
757 ; MMR6-DAG: not $[[T2:[0-9]+]], $[[T1]]
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
758 ; MMR6-DAG: andi16 $2, $[[T2]], 1
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
759
77
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
760 %1 = fcmp one double %a, %b
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
761 %2 = zext i1 %1 to i32
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
762 ret i32 %2
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
763 }
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
764
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
765 define i32 @ord_f64(double %a, double %b) nounwind {
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
766 ; ALL-LABEL: ord_f64:
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
767
95
afa8332a0e37 LLVM 3.8
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents: 83
diff changeset
768 ; 32-C-DAG: addiu $2, $zero, 1
77
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
769 ; 32-C-DAG: c.un.d $f12, $f14
95
afa8332a0e37 LLVM 3.8
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents: 83
diff changeset
770 ; 32-C: movt $2, $zero, $fcc0
77
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
771
95
afa8332a0e37 LLVM 3.8
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents: 83
diff changeset
772 ; 64-C-DAG: addiu $2, $zero, 1
77
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
773 ; 64-C-DAG: c.un.d $f12, $f13
95
afa8332a0e37 LLVM 3.8
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents: 83
diff changeset
774 ; 64-C: movt $2, $zero, $fcc0
77
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
775
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
776 ; 32-CMP-DAG: cmp.un.d $[[T0:f[0-9]+]], $f12, $f14
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
777 ; 32-CMP-DAG: mfc1 $[[T1:[0-9]+]], $[[T0]]
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
778 ; 32-CMP-DAG: not $[[T2:[0-9]+]], $[[T1]]
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
779 ; 32-CMP-DAG: andi $2, $[[T2]], 1
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
780
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
781 ; 64-CMP-DAG: cmp.un.d $[[T0:f[0-9]+]], $f12, $f13
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
782 ; 64-CMP-DAG: mfc1 $[[T1:[0-9]+]], $[[T0]]
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
783 ; 64-CMP-DAG: not $[[T2:[0-9]+]], $[[T1]]
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
784 ; 64-CMP-DAG: andi $2, $[[T2]], 1
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
785
120
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
786 ; MM32R3-DAG: li16 $[[T0:[0-9]+]], 0
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
787 ; MM32R3-DAG: li16 $[[T1:[0-9]+]], 1
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
788 ; MM32R3-DAG: c.un.d $f12, $f14
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
789 ; MM32R3-DAG: movt $[[T1]], $[[T0]], $fcc0
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
790
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
791 ; MM32R6-DAG: cmp.un.d $[[T0:f[0-9]+]], $f12, $f14
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
792 ; MM64R6-DAG: cmp.un.d $[[T0:f[0-9]+]], $f12, $f13
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
793 ; MMR6-DAG: mfc1 $[[T1:[0-9]+]], $[[T0]]
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
794 ; MMR6-DAG: not $[[T2:[0-9]+]], $[[T1]]
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
795 ; MMR6-DAG: andi16 $2, $[[T2]], 1
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
796
77
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
797 %1 = fcmp ord double %a, %b
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
798 %2 = zext i1 %1 to i32
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
799 ret i32 %2
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
800 }
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
801
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
802 define i32 @ueq_f64(double %a, double %b) nounwind {
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
803 ; ALL-LABEL: ueq_f64:
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
804
95
afa8332a0e37 LLVM 3.8
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents: 83
diff changeset
805 ; 32-C-DAG: addiu $2, $zero, 1
77
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
806 ; 32-C-DAG: c.ueq.d $f12, $f14
95
afa8332a0e37 LLVM 3.8
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents: 83
diff changeset
807 ; 32-C: movf $2, $zero, $fcc0
77
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
808
95
afa8332a0e37 LLVM 3.8
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents: 83
diff changeset
809 ; 64-C-DAG: addiu $2, $zero, 1
77
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
810 ; 64-C-DAG: c.ueq.d $f12, $f13
95
afa8332a0e37 LLVM 3.8
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents: 83
diff changeset
811 ; 64-C: movf $2, $zero, $fcc0
77
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
812
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
813 ; 32-CMP-DAG: cmp.ueq.d $[[T0:f[0-9]+]], $f12, $f14
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
814 ; 32-CMP-DAG: mfc1 $[[T1:[0-9]+]], $[[T0]]
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
815 ; 32-CMP-DAG: andi $2, $[[T1]], 1
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
816
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
817 ; 64-CMP-DAG: cmp.ueq.d $[[T0:f[0-9]+]], $f12, $f13
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
818 ; 64-CMP-DAG: mfc1 $[[T1:[0-9]+]], $[[T0]]
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
819 ; 64-CMP-DAG: andi $2, $[[T1]], 1
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
820
120
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
821 ; MM32R3-DAG: li16 $[[T0:[0-9]+]], 0
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
822 ; MM32R3-DAG: li16 $[[T1:[0-9]+]], 1
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
823 ; MM32R3-DAG: c.ueq.d $f12, $f14
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
824 ; MM32R3-DAG: movf $[[T1]], $[[T0]], $fcc0
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
825
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
826 ; MM32R6-DAG: cmp.ueq.d $[[T0:f[0-9]+]], $f12, $f14
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
827 ; MM64R6-DAG: cmp.ueq.d $[[T0:f[0-9]+]], $f12, $f13
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
828 ; MMR6-DAG: mfc1 $[[T1:[0-9]+]], $[[T0]]
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
829 ; MMR6-DAG: andi16 $2, $[[T1]], 1
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
830
77
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
831 %1 = fcmp ueq double %a, %b
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
832 %2 = zext i1 %1 to i32
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
833 ret i32 %2
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
834 }
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
835
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
836 define i32 @ugt_f64(double %a, double %b) nounwind {
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
837 ; ALL-LABEL: ugt_f64:
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
838
95
afa8332a0e37 LLVM 3.8
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents: 83
diff changeset
839 ; 32-C-DAG: addiu $2, $zero, 1
77
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
840 ; 32-C-DAG: c.ole.d $f12, $f14
95
afa8332a0e37 LLVM 3.8
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents: 83
diff changeset
841 ; 32-C: movt $2, $zero, $fcc0
77
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
842
95
afa8332a0e37 LLVM 3.8
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents: 83
diff changeset
843 ; 64-C-DAG: addiu $2, $zero, 1
77
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
844 ; 64-C-DAG: c.ole.d $f12, $f13
95
afa8332a0e37 LLVM 3.8
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents: 83
diff changeset
845 ; 64-C: movt $2, $zero, $fcc0
77
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
846
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
847 ; 32-CMP-DAG: cmp.ult.d $[[T0:f[0-9]+]], $f14, $f12
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
848 ; 32-CMP-DAG: mfc1 $[[T1:[0-9]+]], $[[T0]]
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
849 ; 32-CMP-DAG: andi $2, $[[T1]], 1
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
850
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
851 ; 64-CMP-DAG: cmp.ult.d $[[T0:f[0-9]+]], $f13, $f12
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
852 ; 64-CMP-DAG: mfc1 $[[T1:[0-9]+]], $[[T0]]
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
853 ; 64-CMP-DAG: andi $2, $[[T1]], 1
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
854
120
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
855 ; MM32R3-DAG: li16 $[[T0:[0-9]+]], 0
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
856 ; MM32R3-DAG: li16 $[[T1:[0-9]+]], 1
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
857 ; MM32R3-DAG: c.ole.d $f12, $f14
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
858 ; MM32R3-DAG: movt $[[T1]], $[[T0]], $fcc0
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
859
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
860 ; MM32R6-DAG: cmp.ult.d $[[T0:f[0-9]+]], $f14, $f12
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
861 ; MM64R6-DAG: cmp.ult.d $[[T0:f[0-9]+]], $f13, $f12
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
862 ; MMR6-DAG: mfc1 $[[T1:[0-9]+]], $[[T0]]
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
863 ; MMR6-DAG: andi16 $2, $[[T1]], 1
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
864
77
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
865 %1 = fcmp ugt double %a, %b
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
866 %2 = zext i1 %1 to i32
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
867 ret i32 %2
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
868 }
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
869
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
870 define i32 @uge_f64(double %a, double %b) nounwind {
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
871 ; ALL-LABEL: uge_f64:
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
872
95
afa8332a0e37 LLVM 3.8
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents: 83
diff changeset
873 ; 32-C-DAG: addiu $2, $zero, 1
77
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
874 ; 32-C-DAG: c.olt.d $f12, $f14
95
afa8332a0e37 LLVM 3.8
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents: 83
diff changeset
875 ; 32-C: movt $2, $zero, $fcc0
77
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
876
95
afa8332a0e37 LLVM 3.8
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents: 83
diff changeset
877 ; 64-C-DAG: addiu $2, $zero, 1
77
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
878 ; 64-C-DAG: c.olt.d $f12, $f13
95
afa8332a0e37 LLVM 3.8
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents: 83
diff changeset
879 ; 64-C: movt $2, $zero, $fcc0
77
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
880
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
881 ; 32-CMP-DAG: cmp.ule.d $[[T0:f[0-9]+]], $f14, $f12
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
882 ; 32-CMP-DAG: mfc1 $[[T1:[0-9]+]], $[[T0]]
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
883 ; 32-CMP-DAG: andi $2, $[[T1]], 1
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
884
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
885 ; 64-CMP-DAG: cmp.ule.d $[[T0:f[0-9]+]], $f13, $f12
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
886 ; 64-CMP-DAG: mfc1 $[[T1:[0-9]+]], $[[T0]]
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
887 ; 64-CMP-DAG: andi $2, $[[T1]], 1
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
888
120
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
889 ; MM32R3-DAG: li16 $[[T0:[0-9]+]], 0
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
890 ; MM32R3-DAG: li16 $[[T1:[0-9]+]], 1
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
891 ; MM32R3-DAG: c.olt.d $f12, $f14
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
892 ; MM32R3-DAG: movt $[[T1]], $[[T0]], $fcc0
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
893
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
894 ; MM32R6-DAG: cmp.ule.d $[[T0:f[0-9]+]], $f14, $f12
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
895 ; MM64R6-DAG: cmp.ule.d $[[T0:f[0-9]+]], $f13, $f12
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
896 ; MMR6-DAG: mfc1 $[[T1:[0-9]+]], $[[T0]]
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
897 ; MMR6-DAG: andi16 $2, $[[T1]], 1
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
898
77
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
899 %1 = fcmp uge double %a, %b
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
900 %2 = zext i1 %1 to i32
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
901 ret i32 %2
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
902 }
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
903
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
904 define i32 @ult_f64(double %a, double %b) nounwind {
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
905 ; ALL-LABEL: ult_f64:
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
906
95
afa8332a0e37 LLVM 3.8
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents: 83
diff changeset
907 ; 32-C-DAG: addiu $2, $zero, 1
77
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
908 ; 32-C-DAG: c.ult.d $f12, $f14
95
afa8332a0e37 LLVM 3.8
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents: 83
diff changeset
909 ; 32-C: movf $2, $zero, $fcc0
77
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
910
95
afa8332a0e37 LLVM 3.8
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents: 83
diff changeset
911 ; 64-C-DAG: addiu $2, $zero, 1
77
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
912 ; 64-C-DAG: c.ult.d $f12, $f13
95
afa8332a0e37 LLVM 3.8
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents: 83
diff changeset
913 ; 64-C: movf $2, $zero, $fcc0
77
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
914
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
915 ; 32-CMP-DAG: cmp.ult.d $[[T0:f[0-9]+]], $f12, $f14
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
916 ; 32-CMP-DAG: mfc1 $[[T1:[0-9]+]], $[[T0]]
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
917 ; 32-CMP-DAG: andi $2, $[[T1]], 1
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
918
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
919 ; 64-CMP-DAG: cmp.ult.d $[[T0:f[0-9]+]], $f12, $f13
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
920 ; 64-CMP-DAG: mfc1 $[[T1:[0-9]+]], $[[T0]]
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
921 ; 64-CMP-DAG: andi $2, $[[T1]], 1
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
922
120
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
923 ; MM32R3-DAG: li16 $[[T0:[0-9]+]], 0
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
924 ; MM32R3-DAG: li16 $[[T1:[0-9]+]], 1
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
925 ; MM32R3-DAG: c.ult.d $f12, $f14
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
926 ; MM32R3-DAG: movf $[[T1]], $[[T0]], $fcc0
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
927
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
928 ; MM32R6-DAG: cmp.ult.d $[[T0:f[0-9]+]], $f12, $f14
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
929 ; MM64R6-DAG: cmp.ult.d $[[T0:f[0-9]+]], $f12, $f13
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
930 ; MMR6-DAG: mfc1 $[[T1:[0-9]+]], $[[T0]]
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
931 ; MMR6-DAG: andi16 $2, $[[T1]], 1
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
932
77
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
933 %1 = fcmp ult double %a, %b
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
934 %2 = zext i1 %1 to i32
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
935 ret i32 %2
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
936 }
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
937
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
938 define i32 @ule_f64(double %a, double %b) nounwind {
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
939 ; ALL-LABEL: ule_f64:
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
940
95
afa8332a0e37 LLVM 3.8
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents: 83
diff changeset
941 ; 32-C-DAG: addiu $2, $zero, 1
77
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
942 ; 32-C-DAG: c.ule.d $f12, $f14
95
afa8332a0e37 LLVM 3.8
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents: 83
diff changeset
943 ; 32-C: movf $2, $zero, $fcc0
77
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
944
95
afa8332a0e37 LLVM 3.8
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents: 83
diff changeset
945 ; 64-C-DAG: addiu $2, $zero, 1
77
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
946 ; 64-C-DAG: c.ule.d $f12, $f13
95
afa8332a0e37 LLVM 3.8
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents: 83
diff changeset
947 ; 64-C: movf $2, $zero, $fcc0
77
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
948
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
949 ; 32-CMP-DAG: cmp.ule.d $[[T0:f[0-9]+]], $f12, $f14
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
950 ; 32-CMP-DAG: mfc1 $[[T1:[0-9]+]], $[[T0]]
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
951 ; 32-CMP-DAG: andi $2, $[[T1]], 1
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
952
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
953 ; 64-CMP-DAG: cmp.ule.d $[[T0:f[0-9]+]], $f12, $f13
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
954 ; 64-CMP-DAG: mfc1 $[[T1:[0-9]+]], $[[T0]]
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
955 ; 64-CMP-DAG: andi $2, $[[T1]], 1
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
956
120
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
957 ; MM32R3-DAG: li16 $[[T0:[0-9]+]], 0
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
958 ; MM32R3-DAG: li16 $[[T1:[0-9]+]], 1
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
959 ; MM32R3-DAG: c.ule.d $f12, $f14
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
960 ; MM32R3-DAG: movf $[[T1]], $[[T0]], $fcc0
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
961
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
962 ; MM32R6-DAG: cmp.ule.d $[[T0:f[0-9]+]], $f12, $f14
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
963 ; MM64R6-DAG: cmp.ule.d $[[T0:f[0-9]+]], $f12, $f13
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
964 ; MMR6-DAG: mfc1 $[[T1:[0-9]+]], $[[T0]]
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
965 ; MMR6-DAG: andi16 $2, $[[T1]], 1
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
966
77
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
967 %1 = fcmp ule double %a, %b
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
968 %2 = zext i1 %1 to i32
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
969 ret i32 %2
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
970 }
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
971
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
972 define i32 @une_f64(double %a, double %b) nounwind {
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
973 ; ALL-LABEL: une_f64:
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
974
95
afa8332a0e37 LLVM 3.8
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents: 83
diff changeset
975 ; 32-C-DAG: addiu $2, $zero, 1
77
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
976 ; 32-C-DAG: c.eq.d $f12, $f14
95
afa8332a0e37 LLVM 3.8
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents: 83
diff changeset
977 ; 32-C: movt $2, $zero, $fcc0
77
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
978
95
afa8332a0e37 LLVM 3.8
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents: 83
diff changeset
979 ; 64-C-DAG: addiu $2, $zero, 1
77
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
980 ; 64-C-DAG: c.eq.d $f12, $f13
95
afa8332a0e37 LLVM 3.8
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents: 83
diff changeset
981 ; 64-C: movt $2, $zero, $fcc0
77
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
982
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
983 ; 32-CMP-DAG: cmp.eq.d $[[T0:f[0-9]+]], $f12, $f14
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
984 ; 32-CMP-DAG: mfc1 $[[T1:[0-9]+]], $[[T0]]
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
985 ; 32-CMP-DAG: not $[[T2:[0-9]+]], $[[T1]]
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
986 ; 32-CMP-DAG: andi $2, $[[T2]], 1
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
987
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
988 ; 64-CMP-DAG: cmp.eq.d $[[T0:f[0-9]+]], $f12, $f13
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
989 ; 64-CMP-DAG: mfc1 $[[T1:[0-9]+]], $[[T0]]
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
990 ; 64-CMP-DAG: not $[[T2:[0-9]+]], $[[T1]]
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
991 ; 64-CMP-DAG: andi $2, $[[T2]], 1
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
992
120
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
993 ; MM32R3-DAG: li16 $[[T0:[0-9]+]], 0
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
994 ; MM32R3-DAG: li16 $[[T1:[0-9]+]], 1
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
995 ; MM32R3-DAG: c.eq.d $f12, $f14
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
996 ; MM32R3-DAG: movt $[[T1]], $[[T0]], $fcc0
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
997
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
998 ; MM32R6-DAG: cmp.eq.d $[[T0:f[0-9]+]], $f12, $f14
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
999 ; MM64R6-DAG: cmp.eq.d $[[T0:f[0-9]+]], $f12, $f13
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
1000 ; MMR6-DAG: mfc1 $[[T1:[0-9]+]], $[[T0]]
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
1001 ; MMR6-DAG: not $[[T2:[0-9]+]], $[[T1]]
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
1002 ; MMR6-DAG: andi16 $2, $[[T2]], 1
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
1003
77
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
1004 %1 = fcmp une double %a, %b
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
1005 %2 = zext i1 %1 to i32
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
1006 ret i32 %2
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
1007 }
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
1008
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
1009 define i32 @uno_f64(double %a, double %b) nounwind {
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
1010 ; ALL-LABEL: uno_f64:
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
1011
95
afa8332a0e37 LLVM 3.8
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents: 83
diff changeset
1012 ; 32-C-DAG: addiu $2, $zero, 1
77
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
1013 ; 32-C-DAG: c.un.d $f12, $f14
95
afa8332a0e37 LLVM 3.8
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents: 83
diff changeset
1014 ; 32-C: movf $2, $zero, $fcc0
77
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
1015
95
afa8332a0e37 LLVM 3.8
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents: 83
diff changeset
1016 ; 64-C-DAG: addiu $2, $zero, 1
77
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
1017 ; 64-C-DAG: c.un.d $f12, $f13
95
afa8332a0e37 LLVM 3.8
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents: 83
diff changeset
1018 ; 64-C: movf $2, $zero, $fcc0
77
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
1019
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
1020 ; 32-CMP-DAG: cmp.un.d $[[T0:f[0-9]+]], $f12, $f14
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
1021 ; 32-CMP-DAG: mfc1 $[[T1:[0-9]+]], $[[T0]]
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
1022 ; 32-CMP-DAG: andi $2, $[[T1]], 1
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
1023
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
1024 ; 64-CMP-DAG: cmp.un.d $[[T0:f[0-9]+]], $f12, $f13
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
1025 ; 64-CMP-DAG: mfc1 $[[T1:[0-9]+]], $[[T0]]
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
1026 ; 64-CMP-DAG: andi $2, $[[T1]], 1
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
1027
120
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
1028 ; MM32R3-DAG: li16 $[[T0:[0-9]+]], 0
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
1029 ; MM32R3-DAG: li16 $[[T1:[0-9]+]], 1
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
1030 ; MM32R3-DAG: c.un.d $f12, $f14
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
1031 ; MM32R3-DAG: movf $[[T1]], $[[T0]], $fcc0
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
1032
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
1033 ; MM32R6-DAG: cmp.un.d $[[T0:f[0-9]+]], $f12, $f14
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
1034 ; MM64R6-DAG: cmp.un.d $[[T0:f[0-9]+]], $f12, $f13
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
1035 ; MMR6-DAG: mfc1 $[[T1:[0-9]+]], $[[T0]]
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
1036 ; MMR6-DAG: andi16 $2, $[[T1]], 1
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
1037
77
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
1038 %1 = fcmp uno double %a, %b
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
1039 %2 = zext i1 %1 to i32
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
1040 ret i32 %2
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
1041 }
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
1042
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
1043 define i32 @true_f64(double %a, double %b) nounwind {
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
1044 ; ALL-LABEL: true_f64:
120
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
1045 ; 32-C: addiu $2, $zero, 1
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
1046
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
1047 ; 32-CMP: addiu $2, $zero, 1
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
1048
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
1049 ; 64-C: addiu $2, $zero, 1
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
1050
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
1051 ; 64-CMP: addiu $2, $zero, 1
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
1052
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
1053 ; MM-DAG: li16 $2, 1
77
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
1054
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
1055 %1 = fcmp true double %a, %b
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
1056 %2 = zext i1 %1 to i32
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
1057 ret i32 %2
54457678186b LLVM 3.6
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
1058 }
83
60c9769439b8 LLVM 3.7
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
1059
60c9769439b8 LLVM 3.7
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
1060 ; The optimizers sometimes produce setlt instead of setolt/setult.
60c9769439b8 LLVM 3.7
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
1061 define float @bug1_f32(float %angle, float %at) #0 {
60c9769439b8 LLVM 3.7
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
1062 entry:
60c9769439b8 LLVM 3.7
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
1063 ; ALL-LABEL: bug1_f32:
60c9769439b8 LLVM 3.7
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
1064
60c9769439b8 LLVM 3.7
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
1065 ; 32-C-DAG: add.s $[[T0:f[0-9]+]], $f14, $f12
60c9769439b8 LLVM 3.7
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
1066 ; 32-C-DAG: lwc1 $[[T1:f[0-9]+]], %lo($CPI32_0)(
60c9769439b8 LLVM 3.7
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
1067 ; 32-C-DAG: c.ole.s $[[T0]], $[[T1]]
60c9769439b8 LLVM 3.7
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
1068 ; 32-C-DAG: bc1t
60c9769439b8 LLVM 3.7
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
1069
60c9769439b8 LLVM 3.7
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
1070 ; 32-CMP-DAG: add.s $[[T0:f[0-9]+]], $f14, $f12
60c9769439b8 LLVM 3.7
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
1071 ; 32-CMP-DAG: lwc1 $[[T1:f[0-9]+]], %lo($CPI32_0)(
60c9769439b8 LLVM 3.7
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
1072 ; 32-CMP-DAG: cmp.le.s $[[T2:f[0-9]+]], $[[T0]], $[[T1]]
60c9769439b8 LLVM 3.7
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
1073 ; 32-CMP-DAG: mfc1 $[[T3:[0-9]+]], $[[T2]]
60c9769439b8 LLVM 3.7
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
1074 ; FIXME: This instruction is redundant.
60c9769439b8 LLVM 3.7
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
1075 ; 32-CMP-DAG: andi $[[T4:[0-9]+]], $[[T3]], 1
120
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
1076 ; 32-CMP-DAG: bnezc $[[T4]],
83
60c9769439b8 LLVM 3.7
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
1077
60c9769439b8 LLVM 3.7
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
1078 ; 64-C-DAG: add.s $[[T0:f[0-9]+]], $f13, $f12
120
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
1079 ; 64-C-DAG: lwc1 $[[T1:f[0-9]+]], %got_ofst(.LCPI32_0)(
83
60c9769439b8 LLVM 3.7
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
1080 ; 64-C-DAG: c.ole.s $[[T0]], $[[T1]]
60c9769439b8 LLVM 3.7
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
1081 ; 64-C-DAG: bc1t
60c9769439b8 LLVM 3.7
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
1082
60c9769439b8 LLVM 3.7
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
1083 ; 64-CMP-DAG: add.s $[[T0:f[0-9]+]], $f13, $f12
120
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
1084 ; 64-CMP-DAG: lwc1 $[[T1:f[0-9]+]], %got_ofst(.LCPI32_0)(
83
60c9769439b8 LLVM 3.7
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
1085 ; 64-CMP-DAG: cmp.le.s $[[T2:f[0-9]+]], $[[T0]], $[[T1]]
60c9769439b8 LLVM 3.7
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
1086 ; 64-CMP-DAG: mfc1 $[[T3:[0-9]+]], $[[T2]]
60c9769439b8 LLVM 3.7
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
1087 ; FIXME: This instruction is redundant.
60c9769439b8 LLVM 3.7
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
1088 ; 64-CMP-DAG: andi $[[T4:[0-9]+]], $[[T3]], 1
120
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
1089 ; 64-CMP-DAG: bnezc $[[T4]],
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
1090
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
1091 ; MM32R3-DAG: add.s $[[T0:f[0-9]+]], $f14, $f12
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
1092 ; MM32R3-DAG: lui $[[T1:[0-9]+]], %hi($CPI32_0)
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
1093 ; MM32R3-DAG: lwc1 $[[T2:f[0-9]+]], %lo($CPI32_0)($[[T1]])
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
1094 ; MM32R3-DAG: c.ole.s $[[T0]], $[[T2]]
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
1095 ; MM32R3-DAG: bc1t
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
1096
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
1097 ; MM32R6-DAG: add.s $[[T0:f[0-9]+]], $f14, $f12
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
1098 ; MM32R6-DAG: lui $[[T1:[0-9]+]], %hi($CPI32_0)
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
1099 ; MM32R6-DAG: lwc1 $[[T2:f[0-9]+]], %lo($CPI32_0)($[[T1]])
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
1100 ; MM32R6-DAG: cmp.le.s $[[T3:f[0-9]+]], $[[T0]], $[[T2]]
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
1101 ; MM32R6-DAG: mfc1 $[[T4:[0-9]+]], $[[T3:f[0-9]+]]
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
1102 ; MM32R6-DAG: andi16 $[[T5:[0-9]+]], $[[T4]], 1
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
1103 ; MM32R6-DAG: bnez $[[T5]],
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
1104
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
1105 ; MM64R6-DAG: lui $[[T0:[0-9]+]], %hi(%neg(%gp_rel(bug1_f32)))
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
1106 ; MM64R6-DAG: daddu $[[T1:[0-9]+]], $[[T0]], $25
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
1107 ; MM64R6-DAG: daddiu $[[T2:[0-9]+]], $[[T1]], %lo(%neg(%gp_rel(bug1_f32)))
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
1108 ; MM64R6-DAG: add.s $[[T3:f[0-9]+]], $f13, $f12
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
1109 ; MM64R6-DAG: ld $[[T4:[0-9]+]], %got_page(.LCPI32_0)($[[T2]])
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
1110 ; MM64R6-DAG: lwc1 $[[T5:f[0-9]+]], %got_ofst(.LCPI32_0)($[[T4]])
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
1111 ; MM64R6-DAG: cmp.le.s $[[T6:f[0-9]+]], $[[T3]], $[[T5]]
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
1112 ; MM64R6-DAG: mfc1 $[[T7:[0-9]+]], $[[T6]]
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
1113 ; MM64R6-DAG: andi16 $[[T8:[0-9]+]], $[[T7]], 1
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
1114 ; MM64R6-DAG: bnez $[[T8]],
83
60c9769439b8 LLVM 3.7
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
1115
60c9769439b8 LLVM 3.7
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
1116 %add = fadd fast float %at, %angle
60c9769439b8 LLVM 3.7
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
1117 %cmp = fcmp ogt float %add, 1.000000e+00
60c9769439b8 LLVM 3.7
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
1118 br i1 %cmp, label %if.then, label %if.end
60c9769439b8 LLVM 3.7
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
1119
60c9769439b8 LLVM 3.7
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
1120 if.then:
60c9769439b8 LLVM 3.7
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
1121 %sub = fadd fast float %add, -1.000000e+00
60c9769439b8 LLVM 3.7
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
1122 br label %if.end
60c9769439b8 LLVM 3.7
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
1123
60c9769439b8 LLVM 3.7
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
1124 if.end:
60c9769439b8 LLVM 3.7
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
1125 %theta.0 = phi float [ %sub, %if.then ], [ %add, %entry ]
60c9769439b8 LLVM 3.7
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
1126 ret float %theta.0
60c9769439b8 LLVM 3.7
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
1127 }
60c9769439b8 LLVM 3.7
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
1128
60c9769439b8 LLVM 3.7
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
1129 ; The optimizers sometimes produce setlt instead of setolt/setult.
60c9769439b8 LLVM 3.7
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
1130 define double @bug1_f64(double %angle, double %at) #0 {
60c9769439b8 LLVM 3.7
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
1131 entry:
60c9769439b8 LLVM 3.7
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
1132 ; ALL-LABEL: bug1_f64:
60c9769439b8 LLVM 3.7
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
1133
60c9769439b8 LLVM 3.7
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
1134 ; 32-C-DAG: add.d $[[T0:f[0-9]+]], $f14, $f12
60c9769439b8 LLVM 3.7
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
1135 ; 32-C-DAG: ldc1 $[[T1:f[0-9]+]], %lo($CPI33_0)(
60c9769439b8 LLVM 3.7
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
1136 ; 32-C-DAG: c.ole.d $[[T0]], $[[T1]]
60c9769439b8 LLVM 3.7
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
1137 ; 32-C-DAG: bc1t
60c9769439b8 LLVM 3.7
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
1138
60c9769439b8 LLVM 3.7
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
1139 ; 32-CMP-DAG: add.d $[[T0:f[0-9]+]], $f14, $f12
60c9769439b8 LLVM 3.7
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
1140 ; 32-CMP-DAG: ldc1 $[[T1:f[0-9]+]], %lo($CPI33_0)(
60c9769439b8 LLVM 3.7
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
1141 ; 32-CMP-DAG: cmp.le.d $[[T2:f[0-9]+]], $[[T0]], $[[T1]]
60c9769439b8 LLVM 3.7
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
1142 ; 32-CMP-DAG: mfc1 $[[T3:[0-9]+]], $[[T2]]
60c9769439b8 LLVM 3.7
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
1143 ; FIXME: This instruction is redundant.
60c9769439b8 LLVM 3.7
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
1144 ; 32-CMP-DAG: andi $[[T4:[0-9]+]], $[[T3]], 1
120
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
1145 ; 32-CMP-DAG: bnezc $[[T4]],
83
60c9769439b8 LLVM 3.7
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
1146
60c9769439b8 LLVM 3.7
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
1147 ; 64-C-DAG: add.d $[[T0:f[0-9]+]], $f13, $f12
120
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
1148 ; 64-C-DAG: ldc1 $[[T1:f[0-9]+]], %got_ofst(.LCPI33_0)(
83
60c9769439b8 LLVM 3.7
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
1149 ; 64-C-DAG: c.ole.d $[[T0]], $[[T1]]
60c9769439b8 LLVM 3.7
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
1150 ; 64-C-DAG: bc1t
60c9769439b8 LLVM 3.7
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
1151
60c9769439b8 LLVM 3.7
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
1152 ; 64-CMP-DAG: add.d $[[T0:f[0-9]+]], $f13, $f12
120
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
1153 ; 64-CMP-DAG: ldc1 $[[T1:f[0-9]+]], %got_ofst(.LCPI33_0)(
83
60c9769439b8 LLVM 3.7
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
1154 ; 64-CMP-DAG: cmp.le.d $[[T2:f[0-9]+]], $[[T0]], $[[T1]]
60c9769439b8 LLVM 3.7
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
1155 ; 64-CMP-DAG: mfc1 $[[T3:[0-9]+]], $[[T2]]
60c9769439b8 LLVM 3.7
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
1156 ; FIXME: This instruction is redundant.
60c9769439b8 LLVM 3.7
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
1157 ; 64-CMP-DAG: andi $[[T4:[0-9]+]], $[[T3]], 1
120
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
1158 ; 64-CMP-DAG: bnezc $[[T4]],
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
1159
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
1160 ; MM32R3-DAG: add.d $[[T0:f[0-9]+]], $f14, $f12
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
1161 ; MM32R3-DAG: lui $[[T1:[0-9]+]], %hi($CPI33_0)
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
1162 ; MM32R3-DAG: ldc1 $[[T2:f[0-9]+]], %lo($CPI33_0)($[[T1]])
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
1163 ; MM32R3-DAG: c.ole.d $[[T0]], $[[T2]]
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
1164 ; MM32R3-DAG: bc1t
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
1165
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
1166 ; MM32R6-DAG: add.d $[[T0:f[0-9]+]], $f14, $f12
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
1167 ; MM32R6-DAG: lui $[[T1:[0-9]+]], %hi($CPI33_0)
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
1168 ; MM32R6-DAG: ldc1 $[[T2:f[0-9]+]], %lo($CPI33_0)($[[T1]])
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
1169 ; MM32R6-DAG: cmp.le.d $[[T3:f[0-9]+]], $[[T0]], $[[T2]]
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
1170 ; MM32R6-DAG: mfc1 $[[T4:[0-9]+]], $[[T3]]
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
1171 ; MM32R6-DAG: andi16 $[[T5:[0-9]+]], $[[T4]], 1
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
1172 ; MM32R6-DAG: bnez $[[T5]],
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
1173
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
1174 ; MM64R6-DAG: lui $[[T0:[0-9]+]], %hi(%neg(%gp_rel(bug1_f64)))
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
1175 ; MM64R6-DAG: daddu $[[T1:[0-9]+]], $[[T0]], $25
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
1176 ; MM64R6-DAG: daddiu $[[T2:[0-9]+]], $[[T1]], %lo(%neg(%gp_rel(bug1_f64)))
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
1177 ; MM64R6-DAG: add.d $[[T3:f[0-9]+]], $f13, $f12
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
1178 ; MM64R6-DAG: ld $[[T4:[0-9]+]], %got_page(.LCPI33_0)($[[T2]])
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
1179 ; MM64R6-DAG: ldc1 $[[T5:f[0-9]+]], %got_ofst(.LCPI33_0)($[[T4]])
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
1180 ; MM64R6-DAG: cmp.le.d $[[T6:f[0-9]+]], $[[T3]], $[[T5]]
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
1181 ; MM64R6-DAG: mfc1 $[[T7:[0-9]+]], $[[T6]]
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
1182 ; MM64R6-DAG: andi16 $[[T8:[0-9]+]], $[[T7]], 1
1172e4bd9c6f update 4.0.0
mir3636
parents: 95
diff changeset
1183 ; MM64R6-DAG: bnez $[[T8]],
83
60c9769439b8 LLVM 3.7
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
1184
60c9769439b8 LLVM 3.7
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
1185 %add = fadd fast double %at, %angle
60c9769439b8 LLVM 3.7
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
1186 %cmp = fcmp ogt double %add, 1.000000e+00
60c9769439b8 LLVM 3.7
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
1187 br i1 %cmp, label %if.then, label %if.end
60c9769439b8 LLVM 3.7
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
1188
60c9769439b8 LLVM 3.7
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
1189 if.then:
60c9769439b8 LLVM 3.7
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
1190 %sub = fadd fast double %add, -1.000000e+00
60c9769439b8 LLVM 3.7
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
1191 br label %if.end
60c9769439b8 LLVM 3.7
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
1192
60c9769439b8 LLVM 3.7
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
1193 if.end:
60c9769439b8 LLVM 3.7
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
1194 %theta.0 = phi double [ %sub, %if.then ], [ %add, %entry ]
60c9769439b8 LLVM 3.7
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
1195 ret double %theta.0
60c9769439b8 LLVM 3.7
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
1196 }
60c9769439b8 LLVM 3.7
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
1197
60c9769439b8 LLVM 3.7
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
1198 attributes #0 = { nounwind readnone "no-nans-fp-math"="true" }