cps(char * data,short pos)1 char *cps(char *data, short pos)
2 {
3 data += pos;
4 return data;
5 }
6
ipss(int * data,short pos)7 int *ipss(int *data, short pos)
8 {
9 data += pos;
10 return data;
11 }
ipus(int * data,unsigned short pos)12 int *ipus(int *data, unsigned short pos)
13 {
14 data += pos;
15 return data;
16 }
17
cpq(char * data,long long pos)18 char *cpq(char *data, long long pos)
19 {
20 data += pos;
21 return data;
22 }
23
ipq_ref(int * data,long long pos)24 int *ipq_ref(int *data, long long pos)
25 {
26 data = data + pos;
27 return data;
28 }
29
ipq(int * data,long long pos)30 int *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
41 cps:
42 .L0:
43 <entry-point>
44 sext.32 %r2 <- (16) %arg2
45 add.32 %r5 <- %r2, %arg1
46 ret.32 %r5
47
48
49 ipss:
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
58 ipus:
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
67 cpq:
68 .L6:
69 <entry-point>
70 trunc.32 %r28 <- (64) %arg2
71 add.32 %r31 <- %r28, %arg1
72 ret.32 %r31
73
74
75 ipq_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
84 ipq:
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