1 /* Test Thumb1 insn pattern addsi3_cbranch_scratch. */
2 /* { dg-options "-O2" } */
3 /* { dg-skip-if "" { ! { arm_thumb1 } } } */
8 unsigned int decimal
: 1;
10 unsigned int signalling
: 1;
11 unsigned int canonical
: 1;
12 unsigned int uexp
: (32 - 6);
13 unsigned long sig
[((128 + (8 * 4)) / (8 * 4))];
16 enum real_value_class
{
23 extern void exit(int);
24 extern int foo(long long *, int, int);
27 real_to_integer (const struct real_value
*r
, int *fail
, int precision
)
29 long long val
[2 * (((64*(8)) + 64) / 64)];
54 exp
= ((int)((r
)->uexp
^ (unsigned int)(1 << ((32 - 6) - 1))) - (1 << ((32 - 6) - 1)));
61 words
= (precision
+ 64 - 1) / 64;
63 for (int i
= 0; i
< words
; i
++)
65 int j
= ((128 + (8 * 4)) / (8 * 4)) - (words
* 2) + (i
* 2);
72 val
[i
] |= (unsigned long long) r
->sig
[j
] << (8 * 4);
76 result
= foo(val
, words
, w
);