blob: c14fd7ba4a46a58479a85f37f6f1a8ea189dec82 [file] [log] [blame]
Kalle Raiskila702a4042010-11-24 11:42:17 +00001; RUN: llc --march=cellspu %s -o - | FileCheck %s
Scott Michelc9c8b2a2009-01-26 03:31:40 +00002
3; Exercise the floating point comparison operators for f32:
4
5declare double @fabs(double)
6declare float @fabsf(float)
7
8define i1 @fcmp_eq(float %arg1, float %arg2) {
Kalle Raiskila702a4042010-11-24 11:42:17 +00009; CHECK: fceq
10; CHECK: bi $lr
Scott Michelc9c8b2a2009-01-26 03:31:40 +000011 %A = fcmp oeq float %arg1, %arg2
12 ret i1 %A
13}
14
15define i1 @fcmp_mag_eq(float %arg1, float %arg2) {
Kalle Raiskila702a4042010-11-24 11:42:17 +000016; CHECK: fcmeq
17; CHECK: bi $lr
Scott Michelc9c8b2a2009-01-26 03:31:40 +000018 %1 = call float @fabsf(float %arg1)
19 %2 = call float @fabsf(float %arg2)
20 %3 = fcmp oeq float %1, %2
21 ret i1 %3
22}
Kalle Raiskila702a4042010-11-24 11:42:17 +000023
24define i1 @test_ogt(float %a, float %b) {
25; CHECK: fcgt
26; CHECK: bi $lr
27 %cmp = fcmp ogt float %a, %b
28 ret i1 %cmp
29}
30
31define i1 @test_ugt(float %a, float %b) {
32; CHECK: fcgt
33; CHECK: bi $lr
34 %cmp = fcmp ugt float %a, %b
35 ret i1 %cmp
36}