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 */