|
@@ -27,9 +27,9 @@
|
|
|
#if __LINUX_ARM_ARCH__ <= 6
|
|
|
ldr \tmp, =elf_hwcap @ may not have MVFR regs
|
|
|
ldr \tmp, [\tmp, #0]
|
|
|
- tst \tmp, #HWCAP_VFPv3D16
|
|
|
- ldceql p11, cr0, [\base],#32*4 @ FLDMIAD \base!, {d16-d31}
|
|
|
- addne \base, \base, #32*4 @ step over unused register space
|
|
|
+ tst \tmp, #HWCAP_VFPD32
|
|
|
+ ldcnel p11, cr0, [\base],#32*4 @ FLDMIAD \base!, {d16-d31}
|
|
|
+ addeq \base, \base, #32*4 @ step over unused register space
|
|
|
#else
|
|
|
VFPFMRX \tmp, MVFR0 @ Media and VFP Feature Register 0
|
|
|
and \tmp, \tmp, #MVFR0_A_SIMD_MASK @ A_SIMD field
|
|
@@ -51,9 +51,9 @@
|
|
|
#if __LINUX_ARM_ARCH__ <= 6
|
|
|
ldr \tmp, =elf_hwcap @ may not have MVFR regs
|
|
|
ldr \tmp, [\tmp, #0]
|
|
|
- tst \tmp, #HWCAP_VFPv3D16
|
|
|
- stceql p11, cr0, [\base],#32*4 @ FSTMIAD \base!, {d16-d31}
|
|
|
- addne \base, \base, #32*4 @ step over unused register space
|
|
|
+ tst \tmp, #HWCAP_VFPD32
|
|
|
+ stcnel p11, cr0, [\base],#32*4 @ FSTMIAD \base!, {d16-d31}
|
|
|
+ addeq \base, \base, #32*4 @ step over unused register space
|
|
|
#else
|
|
|
VFPFMRX \tmp, MVFR0 @ Media and VFP Feature Register 0
|
|
|
and \tmp, \tmp, #MVFR0_A_SIMD_MASK @ A_SIMD field
|