1 int foo(int p, int (*f0)(int), int (*f1)(int), int arg)
   2 {
   3         return (p ? f0 : f1)(arg);
   4 }
   5 
   6 /*
   7  * check-name: call-complex-pointer
   8  * check-command: test-linearize -m64 -Wno-decl $file
   9  * check-assert: sizeof(void *) == 8
  10  *
  11  * check-output-start
  12 foo:
  13 .L0:
  14         <entry-point>
  15         cbr         %arg1, .L2, .L3
  16 
  17 .L2:
  18         phisrc.64   %phi1 <- %arg2
  19         br          .L4
  20 
  21 .L3:
  22         ptrcast.64  %r6 <- (64) %arg3
  23         phisrc.64   %phi2 <- %r6
  24         br          .L4
  25 
  26 .L4:
  27         phi.64      %r7 <- %phi1, %phi2
  28         call.32     %r8 <- %r7, %arg4
  29         ret.32      %r8
  30 
  31 
  32  * check-output-end
  33  */