1char *cps(char *data, short pos)
2{
3	data += pos;
4	return data;
5}
6
7int *ipss(int *data, short pos)
8{
9	data += pos;
10	return data;
11}
12int *ipus(int *data, unsigned short pos)
13{
14	data += pos;
15	return data;
16}
17
18char *cpq(char *data, long long pos)
19{
20	data += pos;
21	return data;
22}
23
24int *ipq_ref(int *data, long long pos)
25{
26	data = data + pos;
27	return data;
28}
29
30int *ipq(int *data, long long pos)
31{
32	data += pos;
33	return data;
34}
35
36/*
37 * check-name: pointer-arith32
38 * check-command: test-linearize -Wno-decl --arch=generic -m32 $file
39 *
40 * check-output-start
41cps:
42.L0:
43	<entry-point>
44	sext.32     %r2 <- (16) %arg2
45	add.32      %r5 <- %r2, %arg1
46	ret.32      %r5
47
48
49ipss:
50.L2:
51	<entry-point>
52	sext.32     %r10 <- (16) %arg2
53	mul.32      %r11 <- %r10, $4
54	add.32      %r14 <- %r11, %arg1
55	ret.32      %r14
56
57
58ipus:
59.L4:
60	<entry-point>
61	zext.32     %r19 <- (16) %arg2
62	mul.32      %r20 <- %r19, $4
63	add.32      %r23 <- %r20, %arg1
64	ret.32      %r23
65
66
67cpq:
68.L6:
69	<entry-point>
70	trunc.32    %r28 <- (64) %arg2
71	add.32      %r31 <- %r28, %arg1
72	ret.32      %r31
73
74
75ipq_ref:
76.L8:
77	<entry-point>
78	trunc.32    %r37 <- (64) %arg2
79	mul.32      %r38 <- %r37, $4
80	add.32      %r39 <- %r38, %arg1
81	ret.32      %r39
82
83
84ipq:
85.L10:
86	<entry-point>
87	trunc.32    %r43 <- (64) %arg2
88	mul.32      %r44 <- %r43, $4
89	add.32      %r47 <- %r44, %arg1
90	ret.32      %r47
91
92
93 * check-output-end
94 */
95