summaryrefslogtreecommitdiff
path: root/mpi
diff options
context:
space:
mode:
authorJussi Kivilinna <jussi.kivilinna@iki.fi>2022-12-14 19:37:37 +0200
committerJussi Kivilinna <jussi.kivilinna@iki.fi>2022-12-14 19:37:49 +0200
commit02d5d1d97b3f281cf9c854d7143e346ab76fa384 (patch)
tree4314612c565c5af2d9d2a6f976579bb9ee95b729 /mpi
parent3d20308cc529b53d49954e9f0b8d10fa14422303 (diff)
downloadlibgcrypt-02d5d1d97b3f281cf9c854d7143e346ab76fa384.tar.gz
Add clang support for ARM 32-bit assembly
* configure.ac (gcry_cv_gcc_arm_platform_as_ok) (gcry_cv_gcc_inline_asm_neon): Remove % prefix from register names. * cipher/cipher-gcm-armv7-neon.S (vmull_p64): Prefix constant values with # character instead of $. * cipher/blowfish-arm.S: Remove % prefix from all register names. * cipher/camellia-arm.S: Likewise. * cipher/cast5-arm.S: Likewise. * cipher/rijndael-arm.S: Likewise. * cipher/rijndael-armv8-aarch32-ce.S: Likewise. * cipher/sha512-arm.S: Likewise. * cipher/sha512-armv7-neon.S: Likewise. * cipher/twofish-arm.S: Likewise. * mpi/arm/mpih-add1.S: Likewise. * mpi/arm/mpih-mul1.S: Likewise. * mpi/arm/mpih-mul2.S: Likewise. * mpi/arm/mpih-mul3.S: Likewise. * mpi/arm/mpih-sub1.S: Likewise. -- Reported-by: Dmytro Kovalov <dmytro.a.kovalov@globallogic.com> Signed-off-by: Jussi Kivilinna <jussi.kivilinna@iki.fi>
Diffstat (limited to 'mpi')
-rw-r--r--mpi/arm/mpih-add1.S50
-rw-r--r--mpi/arm/mpih-mul1.S58
-rw-r--r--mpi/arm/mpih-mul2.S78
-rw-r--r--mpi/arm/mpih-mul3.S88
-rw-r--r--mpi/arm/mpih-sub1.S52
5 files changed, 163 insertions, 163 deletions
diff --git a/mpi/arm/mpih-add1.S b/mpi/arm/mpih-add1.S
index 09e8b3b2..d59d3f3d 100644
--- a/mpi/arm/mpih-add1.S
+++ b/mpi/arm/mpih-add1.S
@@ -29,10 +29,10 @@
/*******************
* mpi_limb_t
- * _gcry_mpih_add_n( mpi_ptr_t res_ptr, %r0
- * mpi_ptr_t s1_ptr, %r1
- * mpi_ptr_t s2_ptr, %r2
- * mpi_size_t size) %r3
+ * _gcry_mpih_add_n( mpi_ptr_t res_ptr, r0
+ * mpi_ptr_t s1_ptr, r1
+ * mpi_ptr_t s2_ptr, r2
+ * mpi_size_t size) r3
*/
.text
@@ -40,37 +40,37 @@
.globl _gcry_mpih_add_n
.type _gcry_mpih_add_n,%function
_gcry_mpih_add_n:
- push {%r4, %r5, %r6, %r7, %r8, %r9, %r10, %lr};
- cmn %r0, #0; /* clear carry flag */
+ push {r4, r5, r6, r7, r8, r9, r10, lr};
+ cmn r0, #0; /* clear carry flag */
- tst %r3, #3;
+ tst r3, #3;
beq .Large_loop;
.Loop:
- ldr %r4, [%r1], #4;
- sub %r3, #1;
- ldr %lr, [%r2], #4;
- adcs %r4, %lr;
- tst %r3, #3;
- str %r4, [%r0], #4;
+ ldr r4, [r1], #4;
+ sub r3, #1;
+ ldr lr, [r2], #4;
+ adcs r4, lr;
+ tst r3, #3;
+ str r4, [r0], #4;
bne .Loop;
- teq %r3, #0;
+ teq r3, #0;
beq .Lend;
.Large_loop:
- ldm %r1!, {%r4, %r6, %r8, %r10};
- ldm %r2!, {%r5, %r7, %r9, %lr};
- sub %r3, #4;
- adcs %r4, %r5;
- adcs %r6, %r7;
- adcs %r8, %r9;
- adcs %r10, %lr;
- teq %r3, #0;
- stm %r0!, {%r4, %r6, %r8, %r10};
+ ldm r1!, {r4, r6, r8, r10};
+ ldm r2!, {r5, r7, r9, lr};
+ sub r3, #4;
+ adcs r4, r5;
+ adcs r6, r7;
+ adcs r8, r9;
+ adcs r10, lr;
+ teq r3, #0;
+ stm r0!, {r4, r6, r8, r10};
bne .Large_loop;
.Lend:
- adc %r0, %r3, #0;
- pop {%r4, %r5, %r6, %r7, %r8, %r9, %r10, %pc};
+ adc r0, r3, #0;
+ pop {r4, r5, r6, r7, r8, r9, r10, pc};
.size _gcry_mpih_add_n,.-_gcry_mpih_add_n;
diff --git a/mpi/arm/mpih-mul1.S b/mpi/arm/mpih-mul1.S
index c2e2854b..ea196e8b 100644
--- a/mpi/arm/mpih-mul1.S
+++ b/mpi/arm/mpih-mul1.S
@@ -29,10 +29,10 @@
/*******************
* mpi_limb_t
- * _gcry_mpih_mul_1( mpi_ptr_t res_ptr, %r0
- * mpi_ptr_t s1_ptr, %r1
- * mpi_size_t s1_size, %r2
- * mpi_limb_t s2_limb) %r3
+ * _gcry_mpih_mul_1( mpi_ptr_t res_ptr, r0
+ * mpi_ptr_t s1_ptr, r1
+ * mpi_size_t s1_size, r2
+ * mpi_limb_t s2_limb) r3
*/
.text
@@ -40,41 +40,41 @@
.globl _gcry_mpih_mul_1
.type _gcry_mpih_mul_1,%function
_gcry_mpih_mul_1:
- push {%r4, %r5, %r6, %r7, %r8, %r9, %r10, %r11, %lr};
- mov %r4, #0;
+ push {r4, r5, r6, r7, r8, r9, r10, r11, lr};
+ mov r4, #0;
- tst %r2, #3;
+ tst r2, #3;
beq .Large_loop;
.Loop:
- ldr %r5, [%r1], #4;
- mov %lr, #0;
- umlal %r4, %lr, %r5, %r3;
- sub %r2, #1;
- str %r4, [%r0], #4;
- tst %r2, #3;
- mov %r4, %lr;
+ ldr r5, [r1], #4;
+ mov lr, #0;
+ umlal r4, lr, r5, r3;
+ sub r2, #1;
+ str r4, [r0], #4;
+ tst r2, #3;
+ mov r4, lr;
bne .Loop;
- teq %r2, #0;
+ teq r2, #0;
beq .Lend;
.Large_loop:
- ldm %r1!, {%r5, %r6, %r7, %r8};
- mov %r9, #0;
- mov %r10, #0;
- umlal %r4, %r9, %r5, %r3;
- mov %r11, #0;
- umlal %r9, %r10, %r6, %r3;
- str %r4, [%r0], #4;
- mov %r4, #0;
- umlal %r10, %r11, %r7, %r3;
- subs %r2, #4;
- umlal %r11, %r4, %r8, %r3;
- stm %r0!, {%r9, %r10, %r11};
+ ldm r1!, {r5, r6, r7, r8};
+ mov r9, #0;
+ mov r10, #0;
+ umlal r4, r9, r5, r3;
+ mov r11, #0;
+ umlal r9, r10, r6, r3;
+ str r4, [r0], #4;
+ mov r4, #0;
+ umlal r10, r11, r7, r3;
+ subs r2, #4;
+ umlal r11, r4, r8, r3;
+ stm r0!, {r9, r10, r11};
bne .Large_loop;
.Lend:
- mov %r0, %r4;
- pop {%r4, %r5, %r6, %r7, %r8, %r9, %r10, %r11, %pc};
+ mov r0, r4;
+ pop {r4, r5, r6, r7, r8, r9, r10, r11, pc};
.size _gcry_mpih_mul_1,.-_gcry_mpih_mul_1;
diff --git a/mpi/arm/mpih-mul2.S b/mpi/arm/mpih-mul2.S
index bce932e9..8793b20f 100644
--- a/mpi/arm/mpih-mul2.S
+++ b/mpi/arm/mpih-mul2.S
@@ -29,10 +29,10 @@
/*******************
* mpi_limb_t
- * _gcry_mpih_addmul_1( mpi_ptr_t res_ptr, %r0
- * mpi_ptr_t s1_ptr, %r1
- * mpi_size_t s1_size, %r2
- * mpi_limb_t s2_limb) %r3
+ * _gcry_mpih_addmul_1( mpi_ptr_t res_ptr, r0
+ * mpi_ptr_t s1_ptr, r1
+ * mpi_size_t s1_size, r2
+ * mpi_limb_t s2_limb) r3
*/
.text
@@ -40,55 +40,55 @@
.globl _gcry_mpih_addmul_1
.type _gcry_mpih_addmul_1,%function
_gcry_mpih_addmul_1:
- push {%r4, %r5, %r6, %r8, %r10, %lr};
- mov %lr, #0;
- cmn %r0, #0; /* clear carry flag */
+ push {r4, r5, r6, r8, r10, lr};
+ mov lr, #0;
+ cmn r0, #0; /* clear carry flag */
- tst %r2, #3;
+ tst r2, #3;
beq .Large_loop;
.Loop:
- ldr %r5, [%r1], #4;
- ldr %r4, [%r0];
- sub %r2, #1;
- adcs %r4, %lr;
- mov %lr, #0;
- umlal %r4, %lr, %r5, %r3;
- tst %r2, #3;
- str %r4, [%r0], #4;
+ ldr r5, [r1], #4;
+ ldr r4, [r0];
+ sub r2, #1;
+ adcs r4, lr;
+ mov lr, #0;
+ umlal r4, lr, r5, r3;
+ tst r2, #3;
+ str r4, [r0], #4;
bne .Loop;
- teq %r2, #0;
+ teq r2, #0;
beq .Lend;
.Large_loop:
- ldr %r5, [%r1], #4;
- ldm %r0, {%r4, %r6, %r8, %r10};
+ ldr r5, [r1], #4;
+ ldm r0, {r4, r6, r8, r10};
- sub %r2, #4;
- adcs %r4, %lr;
- mov %lr, #0;
- umlal %r4, %lr, %r5, %r3;
+ sub r2, #4;
+ adcs r4, lr;
+ mov lr, #0;
+ umlal r4, lr, r5, r3;
- ldr %r5, [%r1], #4;
- adcs %r6, %lr;
- mov %lr, #0;
- umlal %r6, %lr, %r5, %r3;
+ ldr r5, [r1], #4;
+ adcs r6, lr;
+ mov lr, #0;
+ umlal r6, lr, r5, r3;
- ldr %r5, [%r1], #4;
- adcs %r8, %lr;
- mov %lr, #0;
- umlal %r8, %lr, %r5, %r3;
+ ldr r5, [r1], #4;
+ adcs r8, lr;
+ mov lr, #0;
+ umlal r8, lr, r5, r3;
- ldr %r5, [%r1], #4;
- adcs %r10, %lr;
- mov %lr, #0;
- umlal %r10, %lr, %r5, %r3;
+ ldr r5, [r1], #4;
+ adcs r10, lr;
+ mov lr, #0;
+ umlal r10, lr, r5, r3;
- teq %r2, #0;
- stm %r0!, {%r4, %r6, %r8, %r10};
+ teq r2, #0;
+ stm r0!, {r4, r6, r8, r10};
bne .Large_loop;
.Lend:
- adc %r0, %lr, #0;
- pop {%r4, %r5, %r6, %r8, %r10, %pc};
+ adc r0, lr, #0;
+ pop {r4, r5, r6, r8, r10, pc};
.size _gcry_mpih_addmul_1,.-_gcry_mpih_addmul_1;
diff --git a/mpi/arm/mpih-mul3.S b/mpi/arm/mpih-mul3.S
index 33326c78..2477c089 100644
--- a/mpi/arm/mpih-mul3.S
+++ b/mpi/arm/mpih-mul3.S
@@ -29,10 +29,10 @@
/*******************
* mpi_limb_t
- * _gcry_mpih_submul_1( mpi_ptr_t res_ptr, %r0
- * mpi_ptr_t s1_ptr, %r1
- * mpi_size_t s1_size, %r2
- * mpi_limb_t s2_limb) %r3
+ * _gcry_mpih_submul_1( mpi_ptr_t res_ptr, r0
+ * mpi_ptr_t s1_ptr, r1
+ * mpi_size_t s1_size, r2
+ * mpi_limb_t s2_limb) r3
*/
.text
@@ -40,61 +40,61 @@
.globl _gcry_mpih_submul_1
.type _gcry_mpih_submul_1,%function
_gcry_mpih_submul_1:
- push {%r4, %r5, %r6, %r8, %r9, %r10, %lr};
- mov %lr, #0;
- cmp %r0, #0; /* prepare carry flag for sbc */
+ push {r4, r5, r6, r8, r9, r10, lr};
+ mov lr, #0;
+ cmp r0, #0; /* prepare carry flag for sbc */
- tst %r2, #3;
+ tst r2, #3;
beq .Large_loop;
.Loop:
- ldr %r5, [%r1], #4;
- mov %r4, %lr;
- mov %lr, #0;
- ldr %r6, [%r0];
- umlal %r4, %lr, %r5, %r3;
- sub %r2, #1;
- sbcs %r4, %r6, %r4;
- tst %r2, #3;
- str %r4, [%r0], #4;
+ ldr r5, [r1], #4;
+ mov r4, lr;
+ mov lr, #0;
+ ldr r6, [r0];
+ umlal r4, lr, r5, r3;
+ sub r2, #1;
+ sbcs r4, r6, r4;
+ tst r2, #3;
+ str r4, [r0], #4;
bne .Loop;
- teq %r2, #0;
+ teq r2, #0;
beq .Lend;
.Large_loop:
- ldr %r5, [%r1], #4;
- mov %r9, #0;
- ldr %r4, [%r0, #0];
+ ldr r5, [r1], #4;
+ mov r9, #0;
+ ldr r4, [r0, #0];
- umlal %lr, %r9, %r5, %r3;
- ldr %r6, [%r0, #4];
- ldr %r5, [%r1], #4;
- sbcs %r4, %r4, %lr;
+ umlal lr, r9, r5, r3;
+ ldr r6, [r0, #4];
+ ldr r5, [r1], #4;
+ sbcs r4, r4, lr;
- mov %lr, #0;
- umlal %r9, %lr, %r5, %r3;
- ldr %r8, [%r0, #8];
- ldr %r5, [%r1], #4;
- sbcs %r6, %r6, %r9;
+ mov lr, #0;
+ umlal r9, lr, r5, r3;
+ ldr r8, [r0, #8];
+ ldr r5, [r1], #4;
+ sbcs r6, r6, r9;
- mov %r9, #0;
- umlal %lr, %r9, %r5, %r3;
- ldr %r10, [%r0, #12];
- ldr %r5, [%r1], #4;
- sbcs %r8, %r8, %lr;
+ mov r9, #0;
+ umlal lr, r9, r5, r3;
+ ldr r10, [r0, #12];
+ ldr r5, [r1], #4;
+ sbcs r8, r8, lr;
- mov %lr, #0;
- umlal %r9, %lr, %r5, %r3;
- sub %r2, #4;
- sbcs %r10, %r10, %r9;
+ mov lr, #0;
+ umlal r9, lr, r5, r3;
+ sub r2, #4;
+ sbcs r10, r10, r9;
- teq %r2, #0;
- stm %r0!, {%r4, %r6, %r8, %r10};
+ teq r2, #0;
+ stm r0!, {r4, r6, r8, r10};
bne .Large_loop;
.Lend:
it cc
- movcc %r2, #1;
- add %r0, %lr, %r2;
- pop {%r4, %r5, %r6, %r8, %r9, %r10, %pc};
+ movcc r2, #1;
+ add r0, lr, r2;
+ pop {r4, r5, r6, r8, r9, r10, pc};
.size _gcry_mpih_submul_1,.-_gcry_mpih_submul_1;
diff --git a/mpi/arm/mpih-sub1.S b/mpi/arm/mpih-sub1.S
index 593e3cde..476d8a33 100644
--- a/mpi/arm/mpih-sub1.S
+++ b/mpi/arm/mpih-sub1.S
@@ -29,10 +29,10 @@
/*******************
* mpi_limb_t
- * _gcry_mpih_sub_n( mpi_ptr_t res_ptr, %r0
- * mpi_ptr_t s1_ptr, %r1
- * mpi_ptr_t s2_ptr, %r2
- * mpi_size_t size) %r3
+ * _gcry_mpih_sub_n( mpi_ptr_t res_ptr, r0
+ * mpi_ptr_t s1_ptr, r1
+ * mpi_ptr_t s2_ptr, r2
+ * mpi_size_t size) r3
*/
.text
@@ -40,38 +40,38 @@
.globl _gcry_mpih_sub_n
.type _gcry_mpih_sub_n,%function
_gcry_mpih_sub_n:
- push {%r4, %r5, %r6, %r7, %r8, %r9, %r10, %lr};
- cmp %r0, #0; /* prepare carry flag for sub */
+ push {r4, r5, r6, r7, r8, r9, r10, lr};
+ cmp r0, #0; /* prepare carry flag for sub */
- tst %r3, #3;
+ tst r3, #3;
beq .Large_loop;
.Loop:
- ldr %r4, [%r1], #4;
- sub %r3, #1;
- ldr %lr, [%r2], #4;
- sbcs %r4, %lr;
- tst %r3, #3;
- str %r4, [%r0], #4;
+ ldr r4, [r1], #4;
+ sub r3, #1;
+ ldr lr, [r2], #4;
+ sbcs r4, lr;
+ tst r3, #3;
+ str r4, [r0], #4;
bne .Loop;
- teq %r3, #0;
+ teq r3, #0;
beq .Lend;
.Large_loop:
- ldm %r1!, {%r4, %r6, %r8, %r10};
- sub %r3, #4;
- ldm %r2!, {%r5, %r7, %r9, %lr};
- sbcs %r4, %r5;
- sbcs %r6, %r7;
- sbcs %r8, %r9;
- sbcs %r10, %lr;
- teq %r3, #0;
- stm %r0!, {%r4, %r6, %r8, %r10};
+ ldm r1!, {r4, r6, r8, r10};
+ sub r3, #4;
+ ldm r2!, {r5, r7, r9, lr};
+ sbcs r4, r5;
+ sbcs r6, r7;
+ sbcs r8, r9;
+ sbcs r10, lr;
+ teq r3, #0;
+ stm r0!, {r4, r6, r8, r10};
bne .Large_loop;
.Lend:
- sbc %r0, %r3, #0;
- neg %r0, %r0;
- pop {%r4, %r5, %r6, %r7, %r8, %r9, %r10, %pc};
+ sbc r0, r3, #0;
+ neg r0, r0;
+ pop {r4, r5, r6, r7, r8, r9, r10, pc};
.size _gcry_mpih_sub_n,.-_gcry_mpih_sub_n;