i386: Adjust rtx cost for imulq and imulw [PR115749]
[official-gcc.git] / gcc / testsuite / gcc.dg / vect / pr43842.c
blob8e12ff2733cf9545da9a2dc77a5b437e9b94986f
1 /* { dg-do compile } */
3 typedef char int8_t;
4 typedef short int int16_t;
5 typedef int int32_t;
6 typedef unsigned char uint8_t;
7 typedef unsigned short int uint16_t;
8 typedef unsigned int uint32_t;
10 static int16_t
11 safe_rshift_func_int16_t_s_u (int16_t left, unsigned int right)
13 return left || right >= 1 * 8 ? left : left >> right;
16 static int8_t
17 safe_rshift_func_int8_t_s_u (int8_t left, unsigned int right)
19 return left || right >= 1 * 8 ? left : left >> right;
23 static uint32_t
24 safe_add_func_uint32_t_u_u (uint32_t ui1, uint16_t ui2)
26 return ui1 + ui2;
29 int16_t g_4;
30 int8_t g_4_8;
31 uint32_t g_9[1];
32 uint32_t g_9_8[2];
33 void
34 int161 (void)
36 int32_t l_2;
38 for (l_2 = -25; l_2; l_2 = safe_add_func_uint32_t_u_u (l_2, 1))
39 g_9[0] ^= safe_rshift_func_int16_t_s_u (g_4, 1);
42 int
43 int81 (void)
45 int32_t l_2;
47 for (l_2 = -25; l_2; l_2 = safe_add_func_uint32_t_u_u (l_2, 1))
49 g_9[0] ^= safe_rshift_func_int8_t_s_u (g_4_8, 1);
50 g_9[1] ^= safe_rshift_func_int8_t_s_u (g_4_8, 1);
53 return 0;