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