1 /* { dg-do compile } */
2 /* { dg-require-effective-target ia32 } */
3 /* { dg-require-effective-target fpic } */
4 /* { dg-options "-O2 -march=pentium-m -fpic" } */
5 
6 typedef struct
7 {
8   unsigned char seq[3];
9 } JamoNormMap;
10 
11 static const JamoNormMap *
JamoClusterSearch(JamoNormMap aKey,const JamoNormMap * aClusters,short aClustersSize)12 JamoClusterSearch (JamoNormMap aKey, const JamoNormMap * aClusters,
13 		   short aClustersSize)
14 {
15   unsigned short l = 0, u = aClustersSize - 1;
16   unsigned short h = (l + u) / 2;
17 
18   if ((aKey.seq[1] - aClusters[h].seq[1]) < 0)
19     return JamoClusterSearch (aKey, &(aClusters[l]), h - l);
20 }
21 
22 short
JamoSrchReplace(const JamoNormMap * aClusters,unsigned short aClustersSize,unsigned short * aIn,unsigned int * aLength,unsigned short aOffset)23 JamoSrchReplace (const JamoNormMap * aClusters, unsigned short aClustersSize,
24 		 unsigned short * aIn, unsigned int * aLength,
25 		 unsigned short aOffset)
26 {
27   JamoNormMap key;
28 
29   key.seq[0] = 0;
30   key.seq[1] = 1;
31   key.seq[2] = 2;
32 
33   JamoClusterSearch (key, aClusters, aClustersSize);
34 }
35