1 /* { dg-do compile } */
2 /* { dg-require-effective-target arm_neon } */
3 /* { dg-options "-std=c99 -Os -g -march=armv7-a" } */
4 /* { dg-add-options arm_neon } */
6 typedef unsigned int size_t;
8 typedef signed char int8_t ;
9 typedef signed long long int64_t;
10 typedef int8_t GFC_INTEGER_1
;
11 typedef GFC_INTEGER_1 GFC_LOGICAL_1
;
12 typedef int64_t GFC_INTEGER_8
;
13 typedef GFC_INTEGER_8 GFC_LOGICAL_8
;
14 typedef ptrdiff_t index_type
;
15 typedef struct descriptor_dimension
17 index_type lower_bound
;
21 typedef struct { GFC_LOGICAL_1
*base_addr
; size_t offset
; index_type dtype
; descriptor_dimension dim
[7];} gfc_array_l1
;
22 typedef struct { GFC_LOGICAL_8
*base_addr
; size_t offset
; index_type dtype
; descriptor_dimension dim
[7];} gfc_array_l8
;
24 all_l8 (gfc_array_l8
* const restrict retarray
,
25 gfc_array_l1
* const restrict array
,
26 const index_type
* const restrict pdim
)
28 GFC_LOGICAL_8
* restrict dest
;
34 len
= ((array
)->dim
[dim
]._ubound
+ 1 - (array
)->dim
[dim
].lower_bound
);
35 for (n
= 0; n
< dim
; n
++)
37 const GFC_LOGICAL_1
* restrict src
;
42 for (n
= 0; n
< len
; n
++, src
+= delta
)