
7. Optimizing OpenCL Kernels for the ARM Mali-T600 GPUs 337
41 // Compute contribution from third row.
42 lLoad = vload16 (0 , in +(offset + width 2+0));
43 rLoad = vload16 (0 , in +(offset + width 2+2));
44
45 lData = convert short16 ( lLoad );
46 mData = convert short16 (
47 ( uchar16)(lLoad . s12345678 , rLoad . s789abcde ));
48 rData = convert short16 ( rLoad );
49
50 _dx += rData − lData ;
51 _dy −= rData + lData + mData ( short16 )2;
52
53 // Store the r e s u l t s .
54 vstore16 ( convert char16 ( _dx >> 3) , 0 , dx + offset + width +1);
55 vstore16 ( convert char16 ( _dy >> 3) , 0 , dy + offset + width +1);
Listing 7.5. Computing contribution from