1235537Sgber/* { dg-do run { target *-*-linux* } } */
2235537Sgber/* { dg-require-effective-target ilp32 } */
3235537Sgber/* { dg-require-effective-target sse2 } */
4235537Sgber/* { dg-options "-O2 -fomit-frame-pointer -msse2 -mpush-args -mno-accumulate-outgoing-args" } */
5235537Sgber
6235537Sgber#include "sse2-check.h"
7235537Sgber
8235537Sgbervoid __attribute__((noinline))
9235537Sgberf (__float128 a)
10235537Sgber{
11235537Sgber  if (a != 1.23Q)
12235537Sgber    abort ();
13235537Sgber}
14235537Sgber
15235537Sgberint __attribute__((noinline))
16235537Sgberg (__float128 b)
17235537Sgber{
18235537Sgber  f (b);
19235537Sgber  return 0;
20235537Sgber}
21235537Sgber
22235537Sgberstatic void
23235537Sgbersse2_test (void)
24235537Sgber{
25235537Sgber  g (1.23Q);
26235537Sgber}
27235537Sgber