ref: b6d3f873c625b2c5967b8e51f7b0f1b602185285
parent: b682a02ab5444cf906aaf79adf74e48329ed0cc9
author: gxw <guxiwei-hf@loongson.cn>
date: Wed Jul 10 09:46:53 EDT 2019
codec/common: [loongson] Fix unaligned access in BACKUP_REG. gssqc1/gslqc1 is 16 Bytes alignment instruction, so modify the array __back_temp align to 16 Bytes. If not, the access efficiency is poor. Change-Id: I81c5031c3e7924c13ae32631aead31f266fd03de Signed-off-by: gxw <guxiwei-hf@loongson.cn>
--- a/codec/common/inc/asmdefs_mmi.h
+++ b/codec/common/inc/asmdefs_mmi.h
@@ -289,7 +289,7 @@
* backup register
*/
#define BACKUP_REG \
- double __back_temp[8]; \
+ double __attribute__((aligned(16))) __back_temp[8]; \
if (_MIPS_SIM == _ABI64) \
__asm__ volatile ( \
"gssqc1 $f25, $f24, 0x00(%[temp]) \n\t" \