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