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