1  /* { dg-do assemble } */
       2  /* { dg-options "-O --save-temps" } */
       3  /* { dg-final { check-function-bodies "**" "" "" } } */
       4  
       5  #pragma GCC target "+nosimd+fp"
       6  
       7  #define TEST_VECTOR(TYPE) \
       8    TYPE \
       9    test_##TYPE (void) \
      10    { \
      11      typedef TYPE v __attribute__((aligned(1))); \
      12      register v *ptr asm ("x0"); \
      13      asm volatile ("" : "=r" (ptr)); \
      14      return *ptr; \
      15    }
      16  
      17  TEST_VECTOR (__Int8x8_t)
      18  TEST_VECTOR (__Int16x4_t)
      19  TEST_VECTOR (__Int32x2_t)
      20  TEST_VECTOR (__Int64x1_t)
      21  TEST_VECTOR (__Bfloat16x4_t)
      22  TEST_VECTOR (__Float16x4_t)
      23  TEST_VECTOR (__Float32x2_t)
      24  TEST_VECTOR (__Float64x1_t)
      25  
      26  /*
      27  ** test___Int8x8_t:
      28  **	ldr	d0, \[x0\]
      29  **	ret
      30  */