blob: bf91511c43ce8946b1d7f791776ca01f89952cf9 [file] [log] [blame]
Petar Jovanovic73d10442015-11-06 14:52:46 +00001// RUN: %clang -target powerpc-linux-gnu -emit-llvm -S -O0 %s -o - | FileCheck %s --check-prefix=CHECK-BE --check-prefix=CHECK
2// RUN: %clang -target powerpc64-linux-gnu -emit-llvm -S -O0 %s -o - | FileCheck %s --check-prefix=CHECK-BE --check-prefix=CHECK
3// RUN: %clang -target powerpc64le-linux-gnu -emit-llvm -S -O0 %s -o - | FileCheck %s --check-prefix=CHECK-LE --check-prefix=CHECK
4
5bool b;
6double d = -1.0;
7long double ld = -1.0L;
8void test_signbit()
9{
10 b = __builtin_signbit(1.0L);
11 // CHECK: i128
12 // CHECK-LE-NOT: lshr
13 // CHECK-BE: lshr
14 // CHECK: bitcast
15 // CHECK: ppc_fp128
16
17 b = __builtin_signbit(ld);
18 // CHECK: bitcast
19 // CHECK: ppc_fp128
20 // CHECK-LE-NOT: lshr
21 // CHECK-BE: lshr
22
23 b = __builtin_signbitf(1.0);
24 // CHECK: store i8 0
25
26 b = __builtin_signbitf(d);
27 // CHECK: bitcast
28 // CHECK-LE-NOT: lshr
29 // CHECK-BE-NOT: lshr
30
31 b = __builtin_signbitl(1.0L);
32 // CHECK: i128
33 // CHECK-LE-NOT: lshr
34 // CHECK-BE: lshr
35 // CHECK: bitcast
36 // CHECK: ppc_fp128
37
38 b = __builtin_signbitl(ld);
39 // CHECK: bitcast
40 // CHECK: ppc_fp128
41 // CHECK-LE-NOT: lshr
42 // CHECK-BE: lshr
43}