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