1! { dg-do compile }
2! { dg-options "-O1 -fdump-tree-optimized" }
3!
4! PR middle-end/57073
5! See also PR 57073
6!
7real function f(k)
8  integer, value :: k
9  f = (-1.0)**k
10end
11
12! { dg-final { scan-tree-dump-not "__builtin_powif"  "optimized" } }
13! { dg-final { scan-tree-dump "powi_cond_\[0-9\] = k_\[0-9\]\\(D\\) & 1;"  "optimized" } }
14! { dg-final { scan-tree-dump "powi_\[0-9\] = powi_cond_\[0-9\] \\? -1.0e\\+0 : 1.0e\\+0;"  "optimized" } }
15! { dg-final { cleanup-tree-dump "optimized" } }
16