fix the gcc-4.6.0 bug by implementing alternative method

previous functions are a bit faster with gcc-4.8, so we keep them
for now.

Change-Id: I4081e5af66fbf606295d8a83875c1b889729b4dc
Merge "fix the gcc-4.6.0 bug by implementing alternative method"
MIPS: MIPS32r1: Added optimizations for SSE functions.

Change-Id: I1287fa65064192cc2edc5c4be2b1974be665b9b4