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