PR target/19311
	* config/tc-arm.c (encode_arm_immediate): Recode to improve
	efficiency and avoid an LLVM loop optimization bug.
+2016-02-01  Loria  <Loria@phantasia.org>
+
+       PR target/19311
+       * config/tc-arm.c (encode_arm_immediate): Recode to improve
+       efficiency and avoid an LLVM loop optimization bug.
+
 2016-02-01  Nick Clifton  <nickc@redhat.com>
 
        * config/tc-microblaze.c (parse_imm): Fix compile time warning
 
 {
   unsigned int a, i;
 
-  for (i = 0; i < 32; i += 2)
+  if (val <= 0xff)
+    return val;
+
+  for (i = 2; i < 32; i += 2)
     if ((a = rotate_left (val, i)) <= 0xff)
       return a | (i << 7); /* 12-bit pack: [shift-cnt,const].  */