annotate gcc/testsuite/gcc.target/arm/mve/intrinsics/vreinterpretq_s8.c @ 152:2b5abeee2509

update gcc11
author anatofuz
date Mon, 25 May 2020 07:50:57 +0900
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
152
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
1 /* { dg-require-effective-target arm_v8_1m_mve_fp_ok } */
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
2 /* { dg-add-options arm_v8_1m_mve_fp } */
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
3 /* { dg-additional-options "-O2" } */
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
4
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
5 #include "arm_mve.h"
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
6 int16x8_t value1;
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
7 int64x2_t value2;
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
8 int32x4_t value3;
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
9 uint8x16_t value4;
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
10 uint16x8_t value5;
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
11 uint64x2_t value6;
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
12 uint32x4_t value7;
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
13 float16x8_t value8;
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
14 float32x4_t value9;
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
15
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
16 int8x16_t
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
17 foo ()
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
18 {
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
19 int8x16_t r1,r2,r3,r4,r5,r6,r7;
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
20 r1 = vaddq_s8 (vreinterpretq_s8_s16 (value1), vreinterpretq_s8_s64 (value2));
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
21 r2 = vaddq_s8 (r1, vreinterpretq_s8_s32 (value3));
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
22 r3 = vaddq_s8 (r2, vreinterpretq_s8_u8 (value4));
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
23 r4 = vaddq_s8 (r3, vreinterpretq_s8_u16 (value5));
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
24 r5 = vaddq_s8 (r4, vreinterpretq_s8_u64 (value6));
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
25 r6 = vaddq_s8 (r5, vreinterpretq_s8_u32 (value7));
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
26 r7 = vaddq_s8 (r6, vreinterpretq_s8_f16 (value8));
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
27 return vaddq_s8 (r7, vreinterpretq_s8_f32 (value9));
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
28 }
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
29
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
30 int8x16_t
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
31 foo1 ()
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
32 {
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
33 int8x16_t r1,r2,r3,r4,r5,r6,r7;
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
34 r1 = vaddq_s8 (vreinterpretq_s8 (value1), vreinterpretq_s8 (value2));
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
35 r2 = vaddq_s8 (r1, vreinterpretq_s8 (value3));
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
36 r3 = vaddq_s8 (r2, vreinterpretq_s8 (value4));
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
37 r4 = vaddq_s8 (r3, vreinterpretq_s8 (value5));
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
38 r5 = vaddq_s8 (r4, vreinterpretq_s8 (value6));
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
39 r6 = vaddq_s8 (r5, vreinterpretq_s8 (value7));
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
40 r7 = vaddq_s8 (r6, vreinterpretq_s8 (value8));
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
41 return vaddq_s8 (r7, vreinterpretq_s8 (value9));
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
42 }
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
43
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
44 /* { dg-final { scan-assembler-times "vadd.i8" 8 } } */