2018-03-15 Steven G. Kargl <kargl@gcc.gnu.org>
[official-gcc.git] / gcc / testsuite / gcc.target / aarch64 / index.c
blob582771ba1c288a98d5bacc6ed6334a9b308fef33
1 /* { dg-do compile } */
2 /* { dg-options "-O2" } */
3 /* { dg-final { scan-assembler-not "\[us\]xtw\t" } } */
4 /* { dg-final { scan-assembler-not "\[us\]bfiz\t" } } */
5 /* { dg-final { scan-assembler-not "lsl\t" } } */
7 int
8 load_scaled_sxtw (int *arr, int i)
10 return arr[arr[i]];
13 unsigned int
14 load_scaled_uxtw (unsigned int *arr, unsigned int i)
16 return arr[arr[i]];
19 void
20 store_scaled_sxtw (int *arr, int i)
22 arr[arr[i]] = 0;
25 void
26 store_scaled_uxtw (unsigned int *arr, unsigned int i)
28 arr[arr[i]] = 0;
31 int
32 load_unscaled_sxtw (signed char *arr, int i)
34 return arr[arr[i]];
37 unsigned int
38 load_unscaled_uxtw (unsigned char *arr, unsigned int i)
40 return arr[arr[i]];
43 void
44 store_unscaled_sxtw (signed char *arr, int i)
46 arr[arr[i]] = 0;
49 void
50 store_unscaled_uxtw (unsigned char *arr, unsigned int i)
52 arr[arr[i]] = 0;
57 int
58 load_scaled_tmp_sxtw (int *arr, int i)
60 int j = arr[i];
61 return arr[j];
64 unsigned int
65 load_scaled_tmp_uxtw (unsigned int *arr, unsigned int i)
67 unsigned int j = arr[i];
68 return arr[j];
71 void
72 store_scaled_tmp_sxtw (int *arr, int i)
74 int j = arr[i];
75 arr[j] = 0;
78 void
79 store_scaled_tmp_uxtw (unsigned int *arr, unsigned int i)
81 unsigned int j = arr[i];
82 arr[j] = 0;
85 int
86 load_unscaled_tmp_sxtw (signed char *arr, int i)
88 signed char j = arr[i];
89 return arr[j];
92 unsigned int
93 load_unscaled_tmp_uxtw (unsigned char *arr, unsigned int i)
95 unsigned char j = arr[i];
96 return arr[j];
99 void
100 store_unscaled_tmp_sxtw (signed char *arr, int i)
102 signed char j = arr[i];
103 arr[j] = 0;
106 void
107 store_unscaled_tmp_uxtw (unsigned char *arr, unsigned int i)
109 unsigned char j = arr[i];
110 arr[j] = 0;