|
From: <sv...@va...> - 2006-03-12 13:38:49
|
Author: sewardj
Date: 2006-03-12 13:38:46 +0000 (Sun, 12 Mar 2006)
New Revision: 5753
Log:
TRASH_IREGS: add enough live variables to make ppc32 spill (not easy)
Modified:
trunk/memcheck/tests/wrap6.c
Modified: trunk/memcheck/tests/wrap6.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/memcheck/tests/wrap6.c 2006-03-12 13:37:19 UTC (rev 5752)
+++ trunk/memcheck/tests/wrap6.c 2006-03-12 13:38:46 UTC (rev 5753)
@@ -16,7 +16,8 @@
#define TRASH_IREGS(_rlval, _vec) \
do { \
register UInt* vec =3D (_vec); \
- /* x86 spills for v > 4, amd64 for v > 12. */ \
+ /* x86 spills for v > 4, amd64 for v > 12. Getting ppc */ \
+ /* to spill is quite difficult, requiring v > 28 or so. */ \
register UInt i, sum =3D 0; \
register UInt v1 =3D vec[1-1]; \
register UInt v2 =3D vec[2-1]; \
@@ -30,19 +31,53 @@
register UInt v10 =3D vec[10-1]; \
register UInt v11 =3D vec[11-1]; \
register UInt v12 =3D vec[12-1]; \
+ register UInt v13 =3D vec[13-1]; \
+ register UInt v14 =3D vec[14-1]; \
+ register UInt v15 =3D vec[15-1]; \
+ register UInt v16 =3D vec[16-1]; \
+ register UInt v17 =3D vec[17-1]; \
+ register UInt v18 =3D vec[18-1]; \
+ register UInt v19 =3D vec[19-1]; \
+ register UInt v20 =3D vec[20-1]; \
+ register UInt v21 =3D vec[21-1]; \
+ register UInt v22 =3D vec[22-1]; \
+ register UInt v23 =3D vec[23-1]; \
+ register UInt v24 =3D vec[24-1]; \
+ register UInt v25 =3D vec[25-1]; \
+ register UInt v26 =3D vec[26-1]; \
+ register UInt v27 =3D vec[27-1]; \
+ register UInt v28 =3D vec[28-1]; \
+ register UInt v29 =3D vec[29-1]; \
for (i =3D 0; i < 50; i++) { \
- v1 =3D ROL(v1,1); \
- v2 =3D ROL(v2,2); \
- v3 =3D ROL(v3,3); \
- v4 =3D ROL(v4,4); \
- v5 =3D ROL(v5,5); \
- v6 =3D ROL(v6,6); \
- v7 =3D ROL(v7,7); \
- v8 =3D ROL(v8,8); \
- v9 =3D ROL(v9,9); \
+ v1 =3D ROL(v1,1); \
+ v2 =3D ROL(v2,2); \
+ v3 =3D ROL(v3,3); \
+ v4 =3D ROL(v4,4); \
+ v5 =3D ROL(v5,5); \
+ v6 =3D ROL(v6,6); \
+ v7 =3D ROL(v7,7); \
+ v8 =3D ROL(v8,8); \
+ v9 =3D ROL(v9,9); \
v10 =3D ROL(v10,10); \
v11 =3D ROL(v11,11); \
v12 =3D ROL(v12,12); \
+ v13 =3D ROL(v13,13); \
+ v14 =3D ROL(v14,14); \
+ v15 =3D ROL(v15,15); \
+ v16 =3D ROL(v16,16); \
+ v17 =3D ROL(v17,17); \
+ v18 =3D ROL(v18,18); \
+ v19 =3D ROL(v19,19); \
+ v20 =3D ROL(v20,20); \
+ v21 =3D ROL(v21,21); \
+ v22 =3D ROL(v22,22); \
+ v23 =3D ROL(v23,23); \
+ v24 =3D ROL(v24,24); \
+ v25 =3D ROL(v25,25); \
+ v26 =3D ROL(v26,26); \
+ v27 =3D ROL(v27,27); \
+ v28 =3D ROL(v28,28); \
+ v29 =3D ROL(v29,29); \
sum ^=3D (v1-v2); \
sum ^=3D (v1-v3); \
sum ^=3D (v1-v4); \
@@ -54,6 +89,23 @@
sum ^=3D (v1-v10); \
sum ^=3D (v1-v11); \
sum ^=3D (v1-v12); \
+ sum ^=3D (v1-v13); \
+ sum ^=3D (v1-v14); \
+ sum ^=3D (v1-v15); \
+ sum ^=3D (v1-v16); \
+ sum ^=3D (v1-v17); \
+ sum ^=3D (v1-v18); \
+ sum ^=3D (v1-v19); \
+ sum ^=3D (v1-v20); \
+ sum ^=3D (v1-v21); \
+ sum ^=3D (v1-v22); \
+ sum ^=3D (v1-v23); \
+ sum ^=3D (v1-v24); \
+ sum ^=3D (v1-v25); \
+ sum ^=3D (v1-v26); \
+ sum ^=3D (v1-v27); \
+ sum ^=3D (v1-v28); \
+ sum ^=3D (v1-v29); \
} \
_rlval =3D sum; \
} while (0)
|