• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download

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