Home | History | Annotate | Download | only in Analysis
      1 // 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 
      5 bool b;
      6 double d = -1.0;
      7 long double ld = -1.0L;
      8 void 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 }
     44