diff options
Diffstat (limited to 'gcc/testsuite/gcc.target/i386/pr34312.c')
-rw-r--r-- | gcc/testsuite/gcc.target/i386/pr34312.c | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/gcc/testsuite/gcc.target/i386/pr34312.c b/gcc/testsuite/gcc.target/i386/pr34312.c new file mode 100644 index 000000000..846c28537 --- /dev/null +++ b/gcc/testsuite/gcc.target/i386/pr34312.c @@ -0,0 +1,34 @@ +/* { dg-do compile } */ +/* { dg-require-effective-target ilp32 } */ +/* { dg-require-effective-target fpic } */ +/* { dg-options "-O2 -march=pentium-m -fpic" } */ + +typedef struct +{ + unsigned char seq[3]; +} JamoNormMap; + +static const JamoNormMap * +JamoClusterSearch (JamoNormMap aKey, const JamoNormMap * aClusters, + short aClustersSize) +{ + unsigned short l = 0, u = aClustersSize - 1; + unsigned short h = (l + u) / 2; + + if ((aKey.seq[1] - aClusters[h].seq[1]) < 0) + return JamoClusterSearch (aKey, &(aClusters[l]), h - l); +} + +short +JamoSrchReplace (const JamoNormMap * aClusters, unsigned short aClustersSize, + unsigned short * aIn, unsigned int * aLength, + unsigned short aOffset) +{ + JamoNormMap key; + + key.seq[0] = 0; + key.seq[1] = 1; + key.seq[2] = 2; + + JamoClusterSearch (key, aClusters, aClustersSize); +} |