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