From f75559131621b330654402ec215961cf14ed71a7 Mon Sep 17 00:00:00 2001 From: Jacob Barthelmeh Date: Fri, 16 Sep 2016 19:43:47 +0000 Subject: [PATCH] ARMv8 : AES-GCM constraint fix --- wolfcrypt/src/port/arm/armv8-aes.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/wolfcrypt/src/port/arm/armv8-aes.c b/wolfcrypt/src/port/arm/armv8-aes.c index 1c599b2ea..d9126bf07 100644 --- a/wolfcrypt/src/port/arm/armv8-aes.c +++ b/wolfcrypt/src/port/arm/armv8-aes.c @@ -1417,7 +1417,7 @@ int wc_AesGcmEncrypt(Aes* aes, byte* out, const byte* in, word32 sz, :[out] "=r" (c), "=r" (keyPt), [ctrOut] "=r" (ctr), "=r" (p) :"0" (c), [Key] "1" (keyPt), [ctr] "2" (ctr), [blocks] "r" (blocks), - [input] "r" (p) + [input] "3" (p) : "cc", "memory", "w11", "v0", "v1", "v2", "v3", "v4", "v5", "v6", "v7", "v8", "v9", "v10", "v11", "v12", "v13", "v14" ); @@ -1694,8 +1694,8 @@ int wc_AesGcmDecrypt(Aes* aes, byte* out, const byte* in, word32 sz, "ST1 {v12.16b}, [%[ctrOut]] \n" :[out] "=r" (p), "=r" (keyPt), [ctrOut] "=r" (ctr), "=r" (c) - :"0" (p), [Key] "1" (keyPt), - [ctr] "2" (ctr), [blocks] "r" (blocks), [input] "r" (c) + :"0" (p), [Key] "1" (keyPt), [ctr] "2" (ctr), [blocks] "r" (blocks), + [input] "3" (c) : "cc", "memory", "w11", "v0", "v1", "v2", "v3", "v4", "v5", "v6", "v7", "v8", "v9", "v10", "v11", "v12", "v13", "v14" ); @@ -1763,8 +1763,8 @@ int wc_AesGcmDecrypt(Aes* aes, byte* out, const byte* in, word32 sz, "ST1 {v14.2d}, [%[ctrOut]] \n" :[out] "=r" (p), "=r" (keyPt), [ctrOut] "=r" (ctr), "=r" (c) - :"0" (p), [Key] "1" (keyPt), - [ctr] "2" (ctr), [blocks] "r" (blocks), [input] "3" (c) + :"0" (p), [Key] "1" (keyPt), [ctr] "2" (ctr), [blocks] "r" (blocks), + [input] "3" (c) : "cc", "memory", "w11", "v0", "v1", "v2", "v3", "v4", "v5", "v6", "v7", "v8", "v9", "v10", "v11", "v12", "v13", "v14", "v15", "v16" @@ -1836,8 +1836,8 @@ int wc_AesGcmDecrypt(Aes* aes, byte* out, const byte* in, word32 sz, "ST1 {v17.2d}, [%[ctrOut]] \n" :[out] "=r" (p), "=r" (keyPt), [ctrOut] "=r" (ctr), "=r" (c) - :"0" (p), [Key] "1" (keyPt), - [ctr] "2" (ctr), [blocks] "r" (blocks), [input] "3" (c) + :"0" (p), [Key] "1" (keyPt), [ctr] "2" (ctr), [blocks] "r" (blocks), + [input] "3" (c) : "cc", "memory", "w11", "v0", "v1", "v2", "v3", "v4", "v5", "v6", "v7", "v8", "v9", "v10", "v11", "v12", "v13", "v14", "v15", "v16", "v17", "v18", "v19"