I just briefly glimpsed in the code again: There's code specific for __ARM_ARCH >= 6 and code  for __ARM_ARCH. The latter of which includes the return statement. It's not possible to combine these into a single check.
Maybe the first check should be altered to #if (__ARM_ARCH >= 3) to be more in line with the origianl version. But since I don't know where or when the original ARMV3 would appear I just leave it this way.