1 // https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110359
3 // { dg-options "-fdump-tree-original" }
4 double pow(in double x
, in ulong p
)
6 import gcc
.builtins
: __builtin_expect
;
7 if (__builtin_expect(p
== 0, false))
9 if (__builtin_expect(p
== 1, false))
14 for (ulong i
= p
; i
> 1; i
>>= 1)
16 v
= (i
& 0x1) ? s
* v
: v
;
21 // { dg-final { scan-tree-dump "if \\(__builtin_expect \\(p == 0, 0\\) != 0\\)" "original" } }
22 // { dg-final { scan-tree-dump "if \\(__builtin_expect \\(p == 1, 0\\) != 0\\)" "original" } }