1f08c3bdfSopenharmony_cichar *cps(char *data, short pos)
2f08c3bdfSopenharmony_ci{
3f08c3bdfSopenharmony_ci	data += pos;
4f08c3bdfSopenharmony_ci	return data;
5f08c3bdfSopenharmony_ci}
6f08c3bdfSopenharmony_ci
7f08c3bdfSopenharmony_ciint *ipss(int *data, short pos)
8f08c3bdfSopenharmony_ci{
9f08c3bdfSopenharmony_ci	data += pos;
10f08c3bdfSopenharmony_ci	return data;
11f08c3bdfSopenharmony_ci}
12f08c3bdfSopenharmony_ciint *ipus(int *data, unsigned short pos)
13f08c3bdfSopenharmony_ci{
14f08c3bdfSopenharmony_ci	data += pos;
15f08c3bdfSopenharmony_ci	return data;
16f08c3bdfSopenharmony_ci}
17f08c3bdfSopenharmony_ci
18f08c3bdfSopenharmony_ciint *ipsi(int *data, int pos)
19f08c3bdfSopenharmony_ci{
20f08c3bdfSopenharmony_ci	data += pos;
21f08c3bdfSopenharmony_ci	return data;
22f08c3bdfSopenharmony_ci}
23f08c3bdfSopenharmony_ciint *ipui(int *data, unsigned int pos)
24f08c3bdfSopenharmony_ci{
25f08c3bdfSopenharmony_ci	data += pos;
26f08c3bdfSopenharmony_ci	return data;
27f08c3bdfSopenharmony_ci}
28f08c3bdfSopenharmony_ci
29f08c3bdfSopenharmony_ci/*
30f08c3bdfSopenharmony_ci * check-name: pointer-arith64
31f08c3bdfSopenharmony_ci * check-command: test-linearize -Wno-decl --arch=generic -m64 $file
32f08c3bdfSopenharmony_ci *
33f08c3bdfSopenharmony_ci * check-output-start
34f08c3bdfSopenharmony_cicps:
35f08c3bdfSopenharmony_ci.L0:
36f08c3bdfSopenharmony_ci	<entry-point>
37f08c3bdfSopenharmony_ci	sext.64     %r2 <- (16) %arg2
38f08c3bdfSopenharmony_ci	add.64      %r5 <- %r2, %arg1
39f08c3bdfSopenharmony_ci	ret.64      %r5
40f08c3bdfSopenharmony_ci
41f08c3bdfSopenharmony_ci
42f08c3bdfSopenharmony_ciipss:
43f08c3bdfSopenharmony_ci.L2:
44f08c3bdfSopenharmony_ci	<entry-point>
45f08c3bdfSopenharmony_ci	sext.64     %r10 <- (16) %arg2
46f08c3bdfSopenharmony_ci	mul.64      %r11 <- %r10, $4
47f08c3bdfSopenharmony_ci	add.64      %r14 <- %r11, %arg1
48f08c3bdfSopenharmony_ci	ret.64      %r14
49f08c3bdfSopenharmony_ci
50f08c3bdfSopenharmony_ci
51f08c3bdfSopenharmony_ciipus:
52f08c3bdfSopenharmony_ci.L4:
53f08c3bdfSopenharmony_ci	<entry-point>
54f08c3bdfSopenharmony_ci	zext.64     %r19 <- (16) %arg2
55f08c3bdfSopenharmony_ci	mul.64      %r20 <- %r19, $4
56f08c3bdfSopenharmony_ci	add.64      %r23 <- %r20, %arg1
57f08c3bdfSopenharmony_ci	ret.64      %r23
58f08c3bdfSopenharmony_ci
59f08c3bdfSopenharmony_ci
60f08c3bdfSopenharmony_ciipsi:
61f08c3bdfSopenharmony_ci.L6:
62f08c3bdfSopenharmony_ci	<entry-point>
63f08c3bdfSopenharmony_ci	sext.64     %r28 <- (32) %arg2
64f08c3bdfSopenharmony_ci	mul.64      %r29 <- %r28, $4
65f08c3bdfSopenharmony_ci	add.64      %r32 <- %r29, %arg1
66f08c3bdfSopenharmony_ci	ret.64      %r32
67f08c3bdfSopenharmony_ci
68f08c3bdfSopenharmony_ci
69f08c3bdfSopenharmony_ciipui:
70f08c3bdfSopenharmony_ci.L8:
71f08c3bdfSopenharmony_ci	<entry-point>
72f08c3bdfSopenharmony_ci	zext.64     %r37 <- (32) %arg2
73f08c3bdfSopenharmony_ci	mul.64      %r38 <- %r37, $4
74f08c3bdfSopenharmony_ci	add.64      %r41 <- %r38, %arg1
75f08c3bdfSopenharmony_ci	ret.64      %r41
76f08c3bdfSopenharmony_ci
77f08c3bdfSopenharmony_ci
78f08c3bdfSopenharmony_ci * check-output-end
79f08c3bdfSopenharmony_ci */
80