improve cbc encrypt perf

Signed-off-by: Dave Rodgman <dave.rodgman@gmail.com>
diff --git a/library/aes.c b/library/aes.c
index bfcaf35..e9395d4 100644
--- a/library/aes.c
+++ b/library/aes.c
@@ -1068,8 +1068,6 @@
     }
 #endif
 
-    const unsigned char *ivp = iv;
-
     if (mode == MBEDTLS_AES_DECRYPT) {
         unsigned char temp2[16];
         while (length > 0) {
@@ -1089,19 +1087,18 @@
         }
     } else {
         while (length > 0) {
-            mbedtls_xor(output, input, ivp, 16);
+            mbedtls_xor(temp, input, iv, 16);
 
-            ret = mbedtls_aes_crypt_ecb(ctx, mode, output, output);
+            ret = mbedtls_aes_crypt_ecb(ctx, mode, temp, iv);
+            memcpy(output, iv, 16);
             if (ret != 0) {
                 goto exit;
             }
-            ivp = output;
 
             input  += 16;
             output += 16;
             length -= 16;
         }
-        memcpy(iv, ivp, 16);
     }
     ret = 0;