rs6000: Fix wrong RTL patterns for vector merge high/low word on LE
[official-gcc.git] / gcc / testsuite / gcc.dg / builtin-apply3.c
blob8fc20030ed76c7cd6e848d584c4d25995cae8686
1 /* PR middle-end/12210 */
2 /* Origin: Ossadchy Yury A. <waspcoder@mail.ru> */
4 /* This used to fail on i686 because the argument was not copied
5 to the right location by __builtin_apply after the direct call. */
7 /* { dg-do run } */
8 /* { dg-require-effective-target untyped_assembly } */
9 /* { dg-xfail-run-if "can cause stack underflow" { amdgcn-*-* } } */
12 #define INTEGER_ARG 5
14 extern void abort(void);
16 void foo(int arg)
18 if (arg != INTEGER_ARG)
19 abort();
22 void bar(int arg)
24 foo(arg);
25 __builtin_apply(foo, __builtin_apply_args(), 16);
28 int main(void)
30 bar(INTEGER_ARG);
32 return 0;