ARCv2: Adhere to Zero Delay loop restriction

Branch insn can't be scheduled as last insn of Zero Overhead loop

Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
This commit is contained in:
Vineet Gupta
2013-10-07 18:10:08 +05:30
parent 1f7e3dc0ba
commit 8922bc3058
3 changed files with 41 additions and 15 deletions

View File

@@ -22,11 +22,10 @@
static inline void __delay(unsigned long loops)
{
__asm__ __volatile__(
"1: sub.f %0, %0, 1 \n"
" jpnz 1b \n"
: "+r"(loops)
:
: "cc");
" lp 1f \n"
" nop \n"
"1: \n"
: "+l"(loops));
}
extern void __bad_udelay(void);