xtensa: don't use l32r opcode directly
xtensa assembler is capable of representing register loads with either movi + addmi, l32r or const16, depending on the core configuration. Don't use '.literal' and 'l32r' directly in the code, use 'movi' and let the assembler relax them. Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
This commit is contained in:
@@ -59,10 +59,6 @@ ENTRY(_start)
|
||||
|
||||
.align 4
|
||||
.literal_position
|
||||
.Lstartup:
|
||||
.word _startup
|
||||
|
||||
.align 4
|
||||
_SetupOCD:
|
||||
/*
|
||||
* Initialize WB, WS, and clear PS.EXCM (to allow loop instructions).
|
||||
@@ -99,12 +95,12 @@ _SetupMMU:
|
||||
1:
|
||||
#endif
|
||||
#endif
|
||||
.end no-absolute-literals
|
||||
|
||||
l32r a0, .Lstartup
|
||||
movi a0, _startup
|
||||
jx a0
|
||||
|
||||
ENDPROC(_start)
|
||||
.end no-absolute-literals
|
||||
|
||||
__REF
|
||||
.literal_position
|
||||
|
Reference in New Issue
Block a user