]> git.ipfire.org Git - thirdparty/openssl.git/commitdiff
[vpsm4_ex][aarch64] Move constant to .rodata section
authorAlexey Moksyakov <yavtuk@yandex.ru>
Thu, 23 Jan 2025 16:04:00 +0000 (19:04 +0300)
committerTomas Mraz <tomas@openssl.org>
Thu, 13 Feb 2025 08:51:37 +0000 (09:51 +0100)
Reviewed-by: Saša Nedvědický <sashan@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/26509)

crypto/sm4/asm/vpsm4_ex-armv8.pl

index f4bcdbad1bc1f18b3acf88fd4ad503747c7a026e..604026f76d03ef01e4c10c32bc97b21ea82c8d20 100644 (file)
@@ -475,12 +475,13 @@ sub load_sbox () {
        my $data = shift;
 
 $code.=<<___;
-       ldr $MaskQ, .Lsbox_magic
-       ldr $TAHMatQ, .Lsbox_magic+16
-       ldr $TALMatQ, .Lsbox_magic+32
-       ldr $ATAHMatQ, .Lsbox_magic+48
-       ldr $ATALMatQ, .Lsbox_magic+64
-       ldr $ANDMaskQ, .Lsbox_magic+80
+       adrp $xtmp2, .Lsbox_magic
+       ldr $MaskQ, [$xtmp2, #:lo12:.Lsbox_magic]
+       ldr $TAHMatQ, [$xtmp2, #:lo12:.Lsbox_magic+16]
+       ldr $TALMatQ, [$xtmp2, #:lo12:.Lsbox_magic+32]
+       ldr $ATAHMatQ, [$xtmp2, #:lo12:.Lsbox_magic+48]
+       ldr $ATALMatQ, [$xtmp2, #:lo12:.Lsbox_magic+64]
+       ldr $ANDMaskQ, [$xtmp2, #:lo12:.Lsbox_magic+80]
 ___
 }
 
@@ -525,7 +526,8 @@ sub compute_tweak_vec() {
        my $std = shift;
        &rbit(@vtmp[2],$src,$std);
 $code.=<<___;
-       ldr  @qtmp[0], .Lxts_magic
+       adrp  $xtmp2, .Lxts_magic
+       ldr  @qtmp[0], [$xtmp2, #:lo12:.Lxts_magic]
        shl  $des.16b, @vtmp[2].16b, #1
        ext  @vtmp[1].16b, @vtmp[2].16b, @vtmp[2].16b,#15
        ushr @vtmp[1].16b, @vtmp[1].16b, #7
@@ -583,13 +585,16 @@ ___
        &load_sbox();
        &rev32($vkey,$vkey);
 $code.=<<___;
-       adr     $pointer,.Lshuffles
+       adrp    $pointer,.Lshuffles
+       add     $pointer,$pointer,#:lo12:.Lshuffles
        ld1     {$vmap.2d},[$pointer]
-       adr     $pointer,.Lfk
+       adrp    $pointer,.Lfk
+       add     $pointer,$pointer,#:lo12:.Lfk
        ld1     {$vfk.2d},[$pointer]
        eor     $vkey.16b,$vkey.16b,$vfk.16b
        mov     $schedules,#32
-       adr     $pointer,.Lck
+       adrp    $pointer,.Lck
+       add     $pointer,$pointer,#:lo12:.Lck
        movi    @vtmp[0].16b,#64
        cbnz    $enc,1f
        add     $keys,$keys,124